@dollhousemcp/mcp-server 2.0.30 → 2.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/data/ensembles/welcome-to-the-dollhouse.md +94 -0
  3. package/data/personas/dollhouse-expert.md +242 -14
  4. package/data/skills/research-to-elements.md +136 -0
  5. package/dist/elements/agents/AgentManager.d.ts +8 -1
  6. package/dist/elements/agents/AgentManager.d.ts.map +1 -1
  7. package/dist/elements/agents/AgentManager.js +49 -9
  8. package/dist/elements/ensembles/EnsembleManager.d.ts +36 -0
  9. package/dist/elements/ensembles/EnsembleManager.d.ts.map +1 -1
  10. package/dist/elements/ensembles/EnsembleManager.js +94 -5
  11. package/dist/generated/version.d.ts +2 -2
  12. package/dist/generated/version.js +3 -3
  13. package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts.map +1 -1
  14. package/dist/handlers/mcp-aql/MCPAQLHandler.js +31 -2
  15. package/dist/handlers/mcp-aql/OperationSchema.d.ts.map +1 -1
  16. package/dist/handlers/mcp-aql/OperationSchema.js +8 -7
  17. package/dist/handlers/mcp-aql/evaluatePermission.d.ts.map +1 -1
  18. package/dist/handlers/mcp-aql/evaluatePermission.js +6 -3
  19. package/dist/server/tools/MCPAQLTools.js +21 -5
  20. package/dist/services/BuildInfoService.d.ts +3 -1
  21. package/dist/services/BuildInfoService.d.ts.map +1 -1
  22. package/dist/services/BuildInfoService.js +27 -5
  23. package/dist/utils/permissionHookShared.d.ts +39 -0
  24. package/dist/utils/permissionHookShared.d.ts.map +1 -1
  25. package/dist/utils/permissionHookShared.js +38 -1
  26. package/dist/utils/permissionHookStatus.d.ts.map +1 -1
  27. package/dist/utils/permissionHookStatus.js +6 -2
  28. package/dist/utils/permissionHooks.d.ts +1 -1
  29. package/dist/utils/permissionHooks.d.ts.map +1 -1
  30. package/dist/utils/permissionHooks.js +2 -2
  31. package/dist/web/public/app.js +213 -12
  32. package/dist/web/public/index.html +16 -7
  33. package/dist/web/public/styles.css +229 -30
  34. package/dist/web/routes/healthRoutes.d.ts.map +1 -1
  35. package/dist/web/routes/healthRoutes.js +3 -1
  36. package/dist/web/routes/permissionRoutes.d.ts.map +1 -1
  37. package/dist/web/routes/permissionRoutes.js +10 -2
  38. package/package.json +1 -1
  39. package/scripts/pretooluse-dollhouse.sh +157 -39
  40. package/server.json +2 -2
@@ -1018,6 +1018,7 @@ export const EXECUTION_SCHEMAS = {
1018
1018
  method: 'dispatchExecute',
1019
1019
  category: 'Agent Execution',
1020
1020
  description: 'Start execution of an agent. The agent must have a goal.template defined (set during create_element). Pass values for the template placeholders in parameters. ' +
1021
+ 'Canonical loop: call execute_agent once to start, then use mcp_aql_create record_execution_step after each work chunk, inspect autonomy.continue and autonomy.notifications, and call complete_execution when done. continue_execution is only for resuming an already-paused execution and is not the normal next call after execute_agent. ' +
1021
1022
  'Lifecycle: Elements listed in the agent\'s activates field (e.g., activates: { personas: ["Reviewer"], skills: ["code-analysis"] }) are automatically activated when execution begins — their gatekeeper policies, instructions, and capabilities become active for the duration. ' +
1022
1023
  'Resilience: If the agent has a resilience policy, it governs automatic recovery during execution. onStepLimitReached (pause|continue|restart) controls what happens when maxAutonomousSteps is hit. onExecutionFailure (pause|retry|restart-fresh) controls recovery from step failures. Additional fields: maxRetries (default 3), maxContinuations (default 10), retryBackoff (linear|exponential). Without a resilience policy, execution pauses at step limits and failures (safe default).',
1023
1024
  params: {
@@ -1037,9 +1038,9 @@ export const EXECUTION_SCHEMAS = {
1037
1038
  handler: 'mcpAqlHandler',
1038
1039
  method: 'dispatchExecute',
1039
1040
  category: 'Agent Execution',
1040
- description: 'Query current execution state including progress and findings',
1041
+ description: 'Query current execution state including progress and findings. Use the same element_name you passed to execute_agent for this execution.',
1041
1042
  params: {
1042
- element_name: { type: 'string', required: true, description: 'Agent or executable element name' },
1043
+ element_name: { type: 'string', required: true, description: 'Agent or executable element name. Reuse the same element_name from execute_agent.' },
1043
1044
  includeDecisionHistory: { type: 'boolean', description: 'Include decision history in response' },
1044
1045
  includeContext: { type: 'boolean', description: 'Include execution context in response' },
1045
1046
  },
@@ -1053,7 +1054,7 @@ export const EXECUTION_SCHEMAS = {
1053
1054
  handler: 'mcpAqlHandler',
1054
1055
  method: 'dispatchExecute',
1055
1056
  category: 'Agent Execution',
1056
- description: 'Record execution progress, step completion, or findings. Returns autonomy directive with continue/pause decision and notifications.',
1057
+ description: 'Record execution progress, step completion, or findings. This is the normal follow-up call after execute_agent. Returns autonomy directive with continue/pause decision and notifications.',
1057
1058
  params: {
1058
1059
  element_name: { type: 'string', required: true, description: 'Agent or executable element name' },
1059
1060
  stepDescription: { type: 'string', required: true, description: 'Description of step completed' },
@@ -1091,7 +1092,7 @@ export const EXECUTION_SCHEMAS = {
1091
1092
  handler: 'mcpAqlHandler',
1092
1093
  method: 'dispatchExecute',
1093
1094
  category: 'Agent Execution',
1094
- description: 'Resume execution from saved state',
1095
+ description: 'Resume a previously paused execution from saved state. Use only after a pause or handoff boundary, not as the normal next call after execute_agent. Pass the same goal parameters used for execute_agent so the goal template can be revalidated before resuming.',
1095
1096
  params: {
1096
1097
  element_name: { type: 'string', required: true, description: 'Agent or executable element name' },
1097
1098
  previousStepResult: { type: 'string', description: 'Result from previous step' },
@@ -1099,7 +1100,7 @@ export const EXECUTION_SCHEMAS = {
1099
1100
  },
1100
1101
  returns: { name: 'ContinueResult', kind: 'object', description: 'Resumed execution state with updated context and stateVersion' },
1101
1102
  examples: [
1102
- '{ operation: "continue_execution", params: { element_name: "code-reviewer", previousStepResult: "Files analyzed" } }',
1103
+ '{ operation: "continue_execution", params: { element_name: "rubric-qa-agent", previousStepResult: "Verified citations", parameters: { run_dir: "/app/run", deliverable_path: "/app/run/output.docx" } } }',
1103
1104
  ],
1104
1105
  },
1105
1106
  abort_execution: {
@@ -1278,7 +1279,7 @@ export const GATEKEEPER_SCHEMAS = {
1278
1279
  platform: { type: 'string', description: 'Target platform for response formatting (default: "claude_code"). Options: claude_code, gemini, cursor, windsurf, codex' },
1279
1280
  session_id: { type: 'string', description: 'Optional persisted activation session ID to evaluate against when hooks run in a separate leader process' },
1280
1281
  },
1281
- returns: { name: 'PlatformPermissionDecision', kind: 'object', description: 'Platform-formatted permission decision. Claude Code: { hookSpecificOutput: { hookEventName: "PreToolUse", permissionDecision: "allow"|"deny"|"ask", permissionDecisionReason? } }. Gemini: { decision: "allow"|"deny", reason? }. Cursor: { permission: "allow"|"deny"|"ask", reason? }. Windsurf: { allowed: boolean, reason? }. Codex: { hookSpecificOutput: { hookEventName: "PreToolUse", permissionDecision: "allow"|"deny", permissionDecisionReason? } }.' },
1282
+ returns: { name: 'PlatformPermissionDecision', kind: 'object', description: 'Platform-formatted permission decision. Claude Code: { hookSpecificOutput: { hookEventName: "PreToolUse", permissionDecision: "allow"|"deny"|"ask", permissionDecisionReason? } }. Gemini: { decision: "allow"|"deny", reason? }. Cursor: { permission: "allow"|"deny"|"ask", reason? }. Windsurf: { allowed: boolean, reason? }. Codex PreToolUse: allow becomes zero stdout bytes (`{}` at the API layer), deny returns { hookSpecificOutput: { hookEventName: "PreToolUse", permissionDecision: "deny", permissionDecisionReason? } }.' },
1282
1283
  examples: [
1283
1284
  '{ operation: "evaluate_permission", params: { tool_name: "Bash", input: { command: "git status" } } }',
1284
1285
  '{ operation: "evaluate_permission", params: { tool_name: "Bash", input: { command: "git push --force" }, platform: "claude_code", session_id: "claude-code-session" } }',
@@ -1734,4 +1735,4 @@ export function getAllSchemaOperations() {
1734
1735
  export function getAllOperationSchemas() {
1735
1736
  return ALL_OPERATION_SCHEMAS;
1736
1737
  }
1737
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL21jcC1hcWwvT3BlcmF0aW9uU2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFHSCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUE2SzFDLCtFQUErRTtBQUMvRSxrREFBa0Q7QUFDbEQsK0VBQStFO0FBRS9FOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUF1QjtJQUN2RCxpQkFBaUIsRUFBRTtRQUNqQixRQUFRLEVBQUUsTUFBTTtRQUNoQixPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLE1BQU0sRUFBRSxrQkFBa0I7UUFDMUIsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyxXQUFXLEVBQUUsa0VBQWtFO1FBQy9FLFFBQVEsRUFBRSxJQUFJO1FBQ2QsTUFBTSxFQUFFO1lBQ04sT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsOEJBQThCLEVBQUU7WUFDeEUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUU7U0FDN0Q7UUFDRCxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsMENBQTBDLEVBQUU7UUFDcEgsUUFBUSxFQUFFLENBQUMscUVBQXFFLENBQUM7S0FDbEY7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixRQUFRLEVBQUUsTUFBTTtRQUNoQixPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLE1BQU0sRUFBRSxrQkFBa0I7UUFDMUIsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyxXQUFXLEVBQUUsMERBQTBEO1FBQ3ZFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsTUFBTSxFQUFFO1lBQ04s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QztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTyx3QkFBd0IsQ0FBQztBQUNsQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQjtJQUNwQyxPQUFPLHFCQUFxQixDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE9wZXJhdGlvblNjaGVtYSAtIERlY2xhcmF0aXZlIG9wZXJhdGlvbiBkZWZpbml0aW9ucyBmb3IgTUNQLUFRTFxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHNjaGVtYS1kcml2ZW4gb3BlcmF0aW9uIGRlZmluaXRpb25zIHRoYXQgZW5hYmxlOlxuICogMS4gRGVjbGFyYXRpdmUgb3BlcmF0aW9uIGNvbmZpZ3VyYXRpb24gKG5vIG1hbnVhbCBzd2l0Y2ggc3RhdGVtZW50cylcbiAqIDIuIEF1dG8tZ2VuZXJhdGVkIHBhcmFtZXRlciB2YWxpZGF0aW9uXG4gKiAzLiBUeXBlLXNhZmUgZGlzcGF0Y2ggdG8gaGFuZGxlciBtZXRob2RzXG4gKiA0LiBTaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciBvcGVyYXRpb24gbWV0YWRhdGFcbiAqXG4gKiBBUkNISVRFQ1RVUkU6XG4gKiBPcGVyYXRpb25zIGFyZSBkZWZpbmVkIHdpdGg6XG4gKiAtIGVuZHBvaW50OiBDUlVERSBlbmRwb2ludCAoQ1JFQVRFLCBSRUFELCBVUERBVEUsIERFTEVURSwgRVhFQ1VURSlcbiAqIC0gaGFuZGxlcjogS2V5IGluIEhhbmRsZXJSZWdpc3RyeVxuICogLSBtZXRob2Q6IE1ldGhvZCBuYW1lIG9uIHRoZSBoYW5kbGVyXG4gKiAtIHBhcmFtczogUGFyYW1ldGVyIGRlZmluaXRpb25zIHdpdGggdHlwZXMgYW5kIG1hcHBpbmdzXG4gKiAtIGRlc2NyaXB0aW9uOiBIdW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvblxuICpcbiAqIFRoZSBTY2hlbWFEaXNwYXRjaGVyIHVzZXMgdGhlc2UgZGVmaW5pdGlvbnMgdG8gYXV0b21hdGljYWxseSByb3V0ZVxuICogb3BlcmF0aW9ucyB0byBoYW5kbGVyIG1ldGhvZHMgd2l0aG91dCBtYW51YWwgZGlzcGF0Y2ggY29kZS5cbiAqXG4gKiBAc2VlIElzc3VlICMyNDcgLSBTY2hlbWEtZHJpdmVuIG9wZXJhdGlvbiBkZWZpbml0aW9uc1xuICovXG5cbmltcG9ydCB0eXBlIHsgQ1JVREVuZHBvaW50IH0gZnJvbSAnLi9PcGVyYXRpb25Sb3V0ZXIuanMnO1xuaW1wb3J0IHsgZW52IH0gZnJvbSAnLi4vLi4vY29uZmlnL2Vudi5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBhcmFtZXRlciBTY2hlbWEgVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBQcmltaXRpdmUgdHlwZXMgc3VwcG9ydGVkIGluIHBhcmFtZXRlciBzY2hlbWFzXG4gKi9cbmV4cG9ydCB0eXBlIFBhcmFtVHlwZSA9XG4gIHwgJ3N0cmluZydcbiAgfCAnbnVtYmVyJ1xuICB8ICdib29sZWFuJ1xuICB8ICdvYmplY3QnXG4gIHwgJ2FycmF5J1xuICB8ICdzdHJpbmdbXSdcbiAgfCAnc3RyaW5nIHwgc3RyaW5nW10nIC8vIFVuaW9uIHR5cGUgZm9yIGZpZWxkcyB0aGF0IGFjY2VwdCBwcmVzZXQgc3RyaW5nIG9yIGFycmF5XG4gIHwgJ3Vua25vd24nOyAvLyBGb3IgcGFyYW1zIHRoYXQgYWNjZXB0IGFueSB0eXBlXG5cbi8qKlxuICogUGFyYW1ldGVyIGRlZmluaXRpb24gaW4gb3BlcmF0aW9uIHNjaGVtYVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtRGVmIHtcbiAgLyoqIFBhcmFtZXRlciB0eXBlIGZvciB2YWxpZGF0aW9uICovXG4gIHR5cGU6IFBhcmFtVHlwZTtcbiAgLyoqIFdoZXRoZXIgdGhlIHBhcmFtZXRlciBpcyByZXF1aXJlZCAoZGVmYXVsdDogZmFsc2UpICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqIERlZmF1bHQgdmFsdWUgaWYgbm90IHByb3ZpZGVkICovXG4gIGRlZmF1bHQ/OiB1bmtub3duO1xuICAvKiogSHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBNYXBzIGlucHV0IHBhcmFtIG5hbWUgdG8gaGFuZGxlciBhcmcgbmFtZSAoaWYgZGlmZmVyZW50KSAqL1xuICBtYXBUbz86IHN0cmluZztcbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIHNvdXJjZXMgdG8gY2hlY2sgZm9yIHRoaXMgcGFyYW1ldGVyIHZhbHVlLlxuICAgKiBDaGVja2VkIGluIG9yZGVyIGJlZm9yZSBmYWxsaW5nIGJhY2sgdG8gdGhlIHByaW1hcnkgcGFyYW0gbmFtZS5cbiAgICpcbiAgICogU3VwcG9ydHMgZG90IG5vdGF0aW9uIGZvciBuZXN0ZWQgYWNjZXNzOlxuICAgKiAtICdpbnB1dC5lbGVtZW50VHlwZScgLSBjaGVja3MgaW5wdXQuZWxlbWVudFR5cGVcbiAgICogLSAncGFyYW1zLnR5cGUnIC0gY2hlY2tzIHBhcmFtcy50eXBlIChzYW1lIGFzIGp1c3QgY2hlY2tpbmcgdGhlIHBhcmFtKVxuICAgKlxuICAgKiBVc2UgY2FzZTogZWxlbWVudFR5cGUgY2FuIGNvbWUgZnJvbSBpbnB1dC5lbGVtZW50VHlwZSBPUiBwYXJhbXMudHlwZVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiB0eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRUeXBlJywgJ3BhcmFtcy50eXBlJ10gfVxuICAgKi9cbiAgc291cmNlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFJldHVybiB0eXBlIGRlZmluaXRpb24gZm9yIGludHJvc3BlY3Rpb25cbiAqIEBzZWUgSXNzdWUgIzI1NCAtIEF1dG8tZ2VuZXJhdGUgaW50cm9zcGVjdGlvbiBmcm9tIHNjaGVtYVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJldHVyblR5cGVEZWYge1xuICAvKiogUmV0dXJuIHR5cGUgbmFtZSAoZS5nLiwgJ0VsZW1lbnRMaXN0JywgJ1NlYXJjaFJlc3VsdCcpICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFR5cGUga2luZCBmb3IgY2F0ZWdvcml6YXRpb24gKi9cbiAga2luZDogJ2VudW0nIHwgJ29iamVjdCcgfCAnc2NhbGFyJyB8ICd1bmlvbic7XG4gIC8qKiBIdW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB3aGF0IGlzIHJldHVybmVkICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVyIHNjaGVtYSAtIG1hcCBvZiBwYXJhbWV0ZXIgbmFtZXMgdG8gZGVmaW5pdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgUGFyYW1TY2hlbWEgPSBSZWNvcmQ8c3RyaW5nLCBQYXJhbURlZj47XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE9wZXJhdGlvbiBTY2hlbWEgVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBIYW5kbGVyIGtleXMgLSB0aGVzZSBtYXAgdG8gcHJvcGVydGllcyBpbiBIYW5kbGVyUmVnaXN0cnlcbiAqL1xuZXhwb3J0IHR5cGUgSGFuZGxlcktleSA9XG4gIHwgJ2VsZW1lbnRDUlVEJ1xuICB8ICdtZW1vcnlNYW5hZ2VyJ1xuICB8ICdhZ2VudE1hbmFnZXInXG4gIHwgJ3RlbXBsYXRlUmVuZGVyZXInXG4gIHwgJ2VsZW1lbnRRdWVyeVNlcnZpY2UnXG4gIHwgJ2NvbGxlY3Rpb25IYW5kbGVyJ1xuICB8ICdwb3J0Zm9saW9IYW5kbGVyJ1xuICB8ICdhdXRoSGFuZGxlcidcbiAgfCAnY29uZmlnSGFuZGxlcidcbiAgfCAnZW5oYW5jZWRJbmRleEhhbmRsZXInXG4gIHwgJ3BlcnNvbmFIYW5kbGVyJ1xuICB8ICdzeW5jSGFuZGxlcidcbiAgfCAnYnVpbGRJbmZvU2VydmljZSdcbiAgfCAnbWNwQXFsSGFuZGxlcidcbiAgfCAnY2FjaGVNZW1vcnlCdWRnZXQnO1xuXG4vKipcbiAqIENvbXBsZXRlIG9wZXJhdGlvbiBzY2hlbWEgZGVmaW5pdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhdGlvbkRlZiB7XG4gIC8qKiBDUlVERSBlbmRwb2ludCB0aGlzIG9wZXJhdGlvbiBiZWxvbmdzIHRvICovXG4gIGVuZHBvaW50OiBDUlVERW5kcG9pbnQ7XG4gIC8qKiBIYW5kbGVyIGtleSBpbiBIYW5kbGVyUmVnaXN0cnkgKi9cbiAgaGFuZGxlcjogSGFuZGxlcktleTtcbiAgLyoqIE1ldGhvZCBuYW1lIHRvIGNhbGwgb24gdGhlIGhhbmRsZXIgKi9cbiAgbWV0aG9kOiBzdHJpbmc7XG4gIC8qKiBQYXJhbWV0ZXIgZGVmaW5pdGlvbnMgKi9cbiAgcGFyYW1zPzogUGFyYW1TY2hlbWE7XG4gIC8qKiBIdW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAvKiogV2hldGhlciB0aGUgaGFuZGxlciBpcyBvcHRpb25hbCAobWF5IG5vdCBiZSBjb25maWd1cmVkKSAqL1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDdXN0b20gYXJndW1lbnQgYnVpbGRlciBmb3IgY29tcGxleCBjYXNlczpcbiAgICogLSAnc2luZ2xlJzogUGFzcyBwYXJhbXMgaW4gc2NoZW1hIG9yZGVyIGFzIHBvc2l0aW9uYWwgYXJncyAoZGVmYXVsdClcbiAgICogLSAnc3ByZWFkJzogUGFzcyAocXVlcnksIHBhcmFtcykgLSBmb3Igc2VhcmNoLXN0eWxlIG9wZXJhdGlvbnNcbiAgICogLSAnbmFtZWQnOiBQYXNzIGFsbCBwYXJhbXMgYXMgYSBzaW5nbGUgbmFtZWQgb2JqZWN0XG4gICAqIC0gJ25hbWVkV2l0aFR5cGUnOiBMaWtlICduYW1lZCcgYnV0IGluY2x1ZGVzIHJlc29sdmVkICd0eXBlJyBwYXJhbVxuICAgKiAtICd0eXBlV2l0aFBhcmFtcyc6IFBhc3MgKHR5cGUsIGZ1bGxQYXJhbXMpIGZvciBvcGVyYXRpb25zIG5lZWRpbmcgdHlwZSArIHBhZ2luYXRpb25cbiAgICovXG4gIGFyZ0J1aWxkZXI/OiAnc2luZ2xlJyB8ICdzcHJlYWQnIHwgJ25hbWVkJyB8ICduYW1lZFdpdGhUeXBlJyB8ICd0eXBlV2l0aFBhcmFtcyc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgb3BlcmF0aW9uIG5lZWRzIGFjY2VzcyB0byB0aGUgZnVsbCBPcGVyYXRpb25JbnB1dC5cbiAgICogV2hlbiB0cnVlLCBTY2hlbWFEaXNwYXRjaGVyIHBhc3NlcyB0aGUgZnVsbCBpbnB1dCBmb3Igc291cmNlIHJlc29sdXRpb24uXG4gICAqIFJlcXVpcmVkIGZvciBvcGVyYXRpb25zIHRoYXQgdXNlIHBhcmFtIHNvdXJjZXMgbGlrZSAnaW5wdXQuZWxlbWVudFR5cGUnLlxuICAgKi9cbiAgbmVlZHNGdWxsSW5wdXQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0b21hdGljIHBhcmFtZXRlciBuYW1lIGNvbnZlcnNpb24gc3R5bGUuXG4gICAqIC0gJ3NuYWtlVG9DYW1lbCc6IENvbnZlcnQgc25ha2VfY2FzZSBwYXJhbXMgdG8gY2FtZWxDYXNlIGZvciBoYW5kbGVyXG4gICAqXG4gICAqIFdoZW4gc2V0LCBhbGwgcGFyYW1zIGFyZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCBiZWZvcmUgYmVpbmcgcGFzc2VkXG4gICAqIHRvIHRoZSBoYW5kbGVyLiBJbmRpdmlkdWFsIHBhcmFtIGBtYXBUb2Agb3ZlcnJpZGVzIHN0aWxsIHRha2UgcHJlY2VkZW5jZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogLy8gSW5wdXQ6IHsgZHJ5X3J1bjogdHJ1ZSwgbWF4X3Jlc3VsdHM6IDEwIH1cbiAgICogLy8gSGFuZGxlciByZWNlaXZlczogeyBkcnlSdW46IHRydWUsIG1heFJlc3VsdHM6IDEwIH1cbiAgICovXG4gIHBhcmFtU3R5bGU/OiAnc25ha2VUb0NhbWVsJztcbiAgLyoqXG4gICAqIENhcGFiaWxpdHkgY2F0ZWdvcnkgZm9yIGdldF9jYXBhYmlsaXRpZXMgZ3JvdXBpbmcuXG4gICAqIE9wZXJhdGlvbnMgYXJlIGdyb3VwZWQgYnkgdXNlci1pbnRlbnQgY2F0ZWdvcmllcyBpbiB0aGUgY2FwYWJpbGl0aWVzIG1hcC5cbiAgICogT3BlcmF0aW9ucyB3aXRob3V0IGEgY2F0ZWdvcnkgYXBwZWFyIHVuZGVyIFwiT3RoZXJcIi5cbiAgICogQHNlZSBJc3N1ZSAjMTc2MCAtIGdldF9jYXBhYmlsaXRpZXMgb3BlcmF0aW9uXG4gICAqL1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIFJldHVybiB0eXBlIGluZm9ybWF0aW9uIGZvciBpbnRyb3NwZWN0aW9uXG4gICAqIEBzZWUgSXNzdWUgIzI1NCAtIEF1dG8tZ2VuZXJhdGUgaW50cm9zcGVjdGlvbiBmcm9tIHNjaGVtYVxuICAgKi9cbiAgcmV0dXJucz86IFJldHVyblR5cGVEZWY7XG4gIC8qKlxuICAgKiBVc2FnZSBleGFtcGxlcyBmb3IgaW50cm9zcGVjdGlvblxuICAgKiBAc2VlIElzc3VlICMyNTQgLSBBdXRvLWdlbmVyYXRlIGludHJvc3BlY3Rpb24gZnJvbSBzY2hlbWFcbiAgICovXG4gIGV4YW1wbGVzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBOb3JtYWxpemVyIHRvIHVzZSBmb3IgcGFyYW1ldGVyIHRyYW5zZm9ybWF0aW9uLlxuICAgKlxuICAgKiBJZiBzcGVjaWZpZWQsIHRoZSBub3JtYWxpemVyIGlzIGNhbGxlZCBiZWZvcmUgdGhlIGhhbmRsZXIgbWV0aG9kLFxuICAgKiB0cmFuc2Zvcm1pbmcgcmF3IGlucHV0IHBhcmFtZXRlcnMgaW50byB0aGUgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSBoYW5kbGVyLlxuICAgKlxuICAgKiBOb3JtYWxpemVycyBhcmUgcmVnaXN0ZXJlZCBpbiBOb3JtYWxpemVyUmVnaXN0cnkgYW5kIGxvb2tlZCB1cCBieSBuYW1lLlxuICAgKlxuICAgKiBAc2VlIElzc3VlICMyNDMgLSBTY2hlbWEtZHJpdmVuIG5vcm1hbGl6ZXIgYXJjaGl0ZWN0dXJlXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIC8vIFVzZSB0aGUgc2VhcmNoIHBhcmFtcyBub3JtYWxpemVyXG4gICAqIG5vcm1hbGl6ZXI6ICdzZWFyY2hQYXJhbXMnXG4gICAqL1xuICBub3JtYWxpemVyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbXBsZXRlIG9wZXJhdGlvbiBzY2hlbWEgLSBtYXBzIG9wZXJhdGlvbiBuYW1lcyB0byBkZWZpbml0aW9uc1xuICovXG5leHBvcnQgdHlwZSBPcGVyYXRpb25TY2hlbWFNYXAgPSBSZWNvcmQ8c3RyaW5nLCBPcGVyYXRpb25EZWY+O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb2xsZWN0aW9uIE9wZXJhdGlvbnMgU2NoZW1hIChQcm9vZiBvZiBDb25jZXB0KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbGxlY3Rpb24gb3BlcmF0aW9ucyBzY2hlbWFcbiAqXG4gKiBUaGVzZSBhcmUgdGhlIGZpcnN0IG9wZXJhdGlvbnMgbWlncmF0ZWQgdG8gc2NoZW1hLWRyaXZlbiBkaXNwYXRjaC5cbiAqIEVhY2ggb3BlcmF0aW9uIGRlZmluZXM6XG4gKiAtIFdoZXJlIGl0IGxpdmVzIChlbmRwb2ludClcbiAqIC0gV2hhdCBoYW5kbGVyIHRvIHVzZVxuICogLSBXaGF0IG1ldGhvZCB0byBjYWxsXG4gKiAtIFdoYXQgcGFyYW1ldGVycyBpdCBhY2NlcHRzXG4gKi9cbmV4cG9ydCBjb25zdCBDT0xMRUNUSU9OX09QRVJBVElPTlM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgYnJvd3NlX2NvbGxlY3Rpb246IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdjb2xsZWN0aW9uSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnYnJvd3NlQ29sbGVjdGlvbicsXG4gICAgY2F0ZWdvcnk6ICdDb21tdW5pdHkgQ29sbGVjdGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdCcm93c2UgdGhlIERvbGxob3VzZU1DUCBjb21tdW5pdHkgY29sbGVjdGlvbiBieSBzZWN0aW9uIGFuZCB0eXBlJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHNlY3Rpb246IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnQ29sbGVjdGlvbiBzZWN0aW9uIHRvIGJyb3dzZScgfSxcbiAgICAgIHR5cGU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCB0eXBlIGZpbHRlcicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0NvbGxlY3Rpb25Ccm93c2VSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdCcm93c2VhYmxlIGNvbGxlY3Rpb24gc2VjdGlvbnMgYW5kIGl0ZW1zJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImJyb3dzZV9jb2xsZWN0aW9uXCIsIHBhcmFtczogeyBzZWN0aW9uOiBcInBlcnNvbmFzXCIgfSB9J10sXG4gIH0sXG4gIHNlYXJjaF9jb2xsZWN0aW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnY29sbGVjdGlvbkhhbmRsZXInLFxuICAgIG1ldGhvZDogJ3NlYXJjaENvbGxlY3Rpb24nLFxuICAgIGNhdGVnb3J5OiAnQ29tbXVuaXR5IENvbGxlY3Rpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VhcmNoIHRoZSBjb21tdW5pdHkgY29sbGVjdGlvbiBmb3IgZWxlbWVudHMgYnkga2V5d29yZHMnLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHBhcmFtczoge1xuICAgICAgcXVlcnk6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1NlYXJjaCBxdWVyeScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0NvbGxlY3Rpb25TZWFyY2hSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdNYXRjaGluZyBlbGVtZW50cyBmcm9tIGNvbGxlY3Rpb24nIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwic2VhcmNoX2NvbGxlY3Rpb25cIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImNvZGUgcmV2aWV3XCIgfSB9J10sXG4gIH0sXG4gIHNlYXJjaF9jb2xsZWN0aW9uX2VuaGFuY2VkOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnY29sbGVjdGlvbkhhbmRsZXInLFxuICAgIG1ldGhvZDogJ3NlYXJjaENvbGxlY3Rpb25FbmhhbmNlZCcsXG4gICAgY2F0ZWdvcnk6ICdDb21tdW5pdHkgQ29sbGVjdGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdBZHZhbmNlZCBzZWFyY2ggd2l0aCBwYWdpbmF0aW9uLCBmaWx0ZXJpbmcsIGFuZCBzb3J0aW5nJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnc3ByZWFkJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHF1ZXJ5OiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdTZWFyY2ggcXVlcnknIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdFbmhhbmNlZFNlYXJjaFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1BhZ2luYXRlZCBzZWFyY2ggcmVzdWx0cyB3aXRoIG1ldGFkYXRhJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcInNlYXJjaF9jb2xsZWN0aW9uX2VuaGFuY2VkXCIsIHBhcmFtczogeyBxdWVyeTogXCJhc3Npc3RhbnRcIiwgbGltaXQ6IDEwIH0gfSddLFxuICB9LFxuICBnZXRfY29sbGVjdGlvbl9jb250ZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnY29sbGVjdGlvbkhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2dldENvbGxlY3Rpb25Db250ZW50JyxcbiAgICBjYXRlZ29yeTogJ0NvbW11bml0eSBDb2xsZWN0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBjb250ZW50IGZyb20gdGhlIGNvbGxlY3Rpb24nLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHBhcmFtczoge1xuICAgICAgcGF0aDogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ29udGVudCBwYXRoIGluIGNvbGxlY3Rpb24nIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdDb2xsZWN0aW9uQ29udGVudCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0Z1bGwgY29udGVudCBhbmQgbWV0YWRhdGEgZm9yIGNvbGxlY3Rpb24gaXRlbScgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJnZXRfY29sbGVjdGlvbl9jb250ZW50XCIsIHBhcmFtczogeyBwYXRoOiBcInBlcnNvbmFzL2NyZWF0aXZlLXdyaXRlci5tZFwiIH0gfSddLFxuICB9LFxuICBnZXRfY29sbGVjdGlvbl9jYWNoZV9oZWFsdGg6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdjb2xsZWN0aW9uSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZ2V0Q29sbGVjdGlvbkNhY2hlSGVhbHRoJyxcbiAgICBjYXRlZ29yeTogJ0NvbW11bml0eSBDb2xsZWN0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBoZWFsdGggc3RhdHVzIGFuZCBzdGF0aXN0aWNzIGZvciB0aGUgY29sbGVjdGlvbiBjYWNoZScsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgcGFyYW1zOiB7fSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdDYWNoZUhlYWx0aFN0YXR1cycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NhY2hlIGhlYWx0aCBtZXRyaWNzIGFuZCBkaWFnbm9zdGljcycgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJnZXRfY29sbGVjdGlvbl9jYWNoZV9oZWFsdGhcIiB9J10sXG4gIH0sXG4gIGluc3RhbGxfY29sbGVjdGlvbl9jb250ZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdjb2xsZWN0aW9uSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnaW5zdGFsbENvbnRlbnQnLFxuICAgIGNhdGVnb3J5OiAnQ29tbXVuaXR5IENvbGxlY3Rpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnSW5zdGFsbCBhbiBlbGVtZW50IGZyb20gdGhlIGNvbGxlY3Rpb24gdG8geW91ciBsb2NhbCBwb3J0Zm9saW8nLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHBhcmFtczoge1xuICAgICAgcGF0aDogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ29udGVudCBwYXRoIHRvIGluc3RhbGwnIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdJbnN0YWxsUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnSW5zdGFsbGF0aW9uIHJlc3VsdCB3aXRoIGVsZW1lbnQgbmFtZSwgdHlwZSwgYW5kIGxvY2FsIGZpbGUgcGF0aCcgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJpbnN0YWxsX2NvbGxlY3Rpb25fY29udGVudFwiLCBwYXJhbXM6IHsgcGF0aDogXCJwZXJzb25hcy9jcmVhdGl2ZS13cml0ZXIubWRcIiB9IH0nXSxcbiAgfSxcbiAgc3VibWl0X2NvbGxlY3Rpb25fY29udGVudDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnY29sbGVjdGlvbkhhbmRsZXInLFxuICAgIG1ldGhvZDogJ3N1Ym1pdENvbnRlbnQnLFxuICAgIGNhdGVnb3J5OiAnQ29tbXVuaXR5IENvbGxlY3Rpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnU3VibWl0IGEgbG9jYWwgZWxlbWVudCB0byB0aGUgY29tbXVuaXR5IGNvbGxlY3Rpb24gdmlhIEdpdEh1YicsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgcGFyYW1zOiB7XG4gICAgICBjb250ZW50OiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDb250ZW50IHRvIHN1Ym1pdCcgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1N1Ym1pdFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1N1Ym1pc3Npb24gcmVzdWx0IHdpdGggR2l0SHViIFBSIFVSTCBhbmQgc3RhdHVzIG1lc3NhZ2UnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwic3VibWl0X2NvbGxlY3Rpb25fY29udGVudFwiLCBwYXJhbXM6IHsgY29udGVudDogXCJwZXJzb25hcy9teS1wZXJzb25hXCIgfSB9J10sXG4gIH0sXG59IGFzIGNvbnN0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBdXRoIE9wZXJhdGlvbnMgU2NoZW1hXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjb25zdCBBVVRIX09QRVJBVElPTlM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgc2V0dXBfZ2l0aHViX2F1dGg6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ2F1dGhIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdzZXR1cEdpdEh1YkF1dGgnLFxuICAgIGNhdGVnb3J5OiAnR2l0SHViIEF1dGhlbnRpY2F0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ1NldCB1cCBHaXRIdWIgYXV0aGVudGljYXRpb24gdXNpbmcgZGV2aWNlIGZsb3cnLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHBhcmFtczoge30sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQXV0aFNldHVwUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnRGV2aWNlIGZsb3cgc2V0dXA6IHsgdXNlckNvZGUsIHZlcmlmaWNhdGlvblVybCwgZXhwaXJlc0luLCBtZXNzYWdlIH0nIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwic2V0dXBfZ2l0aHViX2F1dGhcIiB9J10sXG4gIH0sXG4gIGNoZWNrX2dpdGh1Yl9hdXRoOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnYXV0aEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2NoZWNrR2l0SHViQXV0aCcsXG4gICAgY2F0ZWdvcnk6ICdHaXRIdWIgQXV0aGVudGljYXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnQ2hlY2sgY3VycmVudCBHaXRIdWIgYXV0aGVudGljYXRpb24gc3RhdHVzJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBwYXJhbXM6IHt9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0F1dGhTdGF0dXMnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDdXJyZW50IGF1dGhlbnRpY2F0aW9uIHN0YXRlIGFuZCB1c2VyIGluZm8nIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwiY2hlY2tfZ2l0aHViX2F1dGhcIiB9J10sXG4gIH0sXG4gIGNsZWFyX2dpdGh1Yl9hdXRoOiB7XG4gICAgZW5kcG9pbnQ6ICdERUxFVEUnLFxuICAgIGhhbmRsZXI6ICdhdXRoSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnY2xlYXJHaXRIdWJBdXRoJyxcbiAgICBjYXRlZ29yeTogJ0dpdEh1YiBBdXRoZW50aWNhdGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdSZW1vdmUgR2l0SHViIGF1dGhlbnRpY2F0aW9uIGFuZCBkaXNjb25uZWN0JyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBwYXJhbXM6IHt9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ09wZXJhdGlvblJlc3VsdCcsIGtpbmQ6ICd1bmlvbicsIGRlc2NyaXB0aW9uOiAnU3VjY2VzcyBvciBmYWlsdXJlIHN0YXR1cycgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJjbGVhcl9naXRodWJfYXV0aFwiIH0nXSxcbiAgfSxcbiAgY29uZmlndXJlX29hdXRoOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdhdXRoSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnY29uZmlndXJlT0F1dGgnLFxuICAgIGNhdGVnb3J5OiAnR2l0SHViIEF1dGhlbnRpY2F0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpZ3VyZSBHaXRIdWIgT0F1dGggY2xpZW50IElEJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGNsaWVudF9pZDogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdPQXV0aCBjbGllbnQgSUQnIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdPQXV0aENvbmZpZycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ09BdXRoIGNvbmZpZ3VyYXRpb24gc3RhdHVzJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImNvbmZpZ3VyZV9vYXV0aFwiLCBwYXJhbXM6IHsgY2xpZW50X2lkOiBcInlvdXItY2xpZW50LWlkXCIgfSB9J10sXG4gIH0sXG4gIG9hdXRoX2hlbHBlcl9zdGF0dXM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdhdXRoSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZ2V0T0F1dGhIZWxwZXJTdGF0dXMnLFxuICAgIGNhdGVnb3J5OiAnR2l0SHViIEF1dGhlbnRpY2F0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGFib3V0IE9BdXRoIGhlbHBlciBwcm9jZXNzJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHZlcmJvc2U6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ0luY2x1ZGUgdmVyYm9zZSBkaWFnbm9zdGljcycgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ09BdXRoSGVscGVyU3RhdHVzJywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnSGVscGVyIHByb2Nlc3MgZGlhZ25vc3RpY3MnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwib2F1dGhfaGVscGVyX3N0YXR1c1wiLCBwYXJhbXM6IHsgdmVyYm9zZTogdHJ1ZSB9IH0nXSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVuaGFuY2VkIEluZGV4IE9wZXJhdGlvbnMgU2NoZW1hXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjb25zdCBFTkhBTkNFRF9JTkRFWF9PUEVSQVRJT05TOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGZpbmRfc2ltaWxhcl9lbGVtZW50czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ2VuaGFuY2VkSW5kZXhIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdmaW5kU2ltaWxhckVsZW1lbnRzJyxcbiAgICBjYXRlZ29yeTogJ0ludGVsbGlnZW5jZScsXG4gICAgZGVzY3JpcHRpb246ICdGaW5kIHNlbWFudGljYWxseSBzaW1pbGFyIGVsZW1lbnRzIHVzaW5nIE5MUCBzY29yaW5nJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnbmFtZWQnLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgbWFwVG86ICdlbGVtZW50TmFtZScgfSxcbiAgICAgIGVsZW1lbnRfdHlwZTogeyB0eXBlOiAnc3RyaW5nJywgbWFwVG86ICdlbGVtZW50VHlwZScgfSxcbiAgICAgIGxpbWl0OiB7IHR5cGU6ICdudW1iZXInLCBkZWZhdWx0OiAxMCB9LFxuICAgICAgdGhyZXNob2xkOiB7IHR5cGU6ICdudW1iZXInLCBkZWZhdWx0OiAwLjUgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1NpbWlsYXJFbGVtZW50cycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0xpc3Qgb2Ygc2ltaWxhciBlbGVtZW50cyB3aXRoIHNpbWlsYXJpdHkgc2NvcmVzJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImZpbmRfc2ltaWxhcl9lbGVtZW50c1wiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNyZWF0aXZlLXdyaXRlclwiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBsaW1pdDogNSB9IH0nXSxcbiAgfSxcbiAgZ2V0X2VsZW1lbnRfcmVsYXRpb25zaGlwczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ2VuaGFuY2VkSW5kZXhIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdnZXRFbGVtZW50UmVsYXRpb25zaGlwcycsXG4gICAgY2F0ZWdvcnk6ICdJbnRlbGxpZ2VuY2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGFsbCByZWxhdGlvbnNoaXBzIGZvciBhIHNwZWNpZmljIGVsZW1lbnQnLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZCcsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBtYXBUbzogJ2VsZW1lbnROYW1lJyB9LFxuICAgICAgZWxlbWVudF90eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCBtYXBUbzogJ2VsZW1lbnRUeXBlJyB9LFxuICAgICAgcmVsYXRpb25zaGlwX3R5cGVzOiB7IHR5cGU6ICdzdHJpbmdbXScsIG1hcFRvOiAncmVsYXRpb25zaGlwVHlwZXMnIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdFbGVtZW50UmVsYXRpb25zaGlwcycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1JlbGF0aW9uc2hpcCBncmFwaCBmb3IgdGhlIGVsZW1lbnQnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwiZ2V0X2VsZW1lbnRfcmVsYXRpb25zaGlwc1wiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIgfSB9J10sXG4gIH0sXG4gIHNlYXJjaF9ieV92ZXJiOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnZW5oYW5jZWRJbmRleEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ3NlYXJjaEJ5VmVyYicsXG4gICAgY2F0ZWdvcnk6ICdJbnRlbGxpZ2VuY2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VhcmNoIGZvciBlbGVtZW50cyB0aGF0IGhhbmRsZSBhIHNwZWNpZmljIGFjdGlvbiB2ZXJiJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnbmFtZWQnLFxuICAgIHBhcmFtczoge1xuICAgICAgdmVyYjogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgIGxpbWl0OiB7IHR5cGU6ICdudW1iZXInLCBkZWZhdWx0OiAyMCB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnVmVyYlNlYXJjaFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnRzIG1hdGNoaW5nIHRoZSBhY3Rpb24gdmVyYicgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJzZWFyY2hfYnlfdmVyYlwiLCBwYXJhbXM6IHsgdmVyYjogXCJhbmFseXplXCIsIGxpbWl0OiAxMCB9IH0nXSxcbiAgfSxcbiAgZ2V0X3JlbGF0aW9uc2hpcF9zdGF0czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ2VuaGFuY2VkSW5kZXhIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdnZXRSZWxhdGlvbnNoaXBTdGF0cycsXG4gICAgY2F0ZWdvcnk6ICdJbnRlbGxpZ2VuY2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IHN0YXRpc3RpY3MgYWJvdXQgRW5oYW5jZWQgSW5kZXggcmVsYXRpb25zaGlwcycsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgcGFyYW1zOiB7fSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdSZWxhdGlvbnNoaXBTdGF0cycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0FnZ3JlZ2F0ZSBzdGF0aXN0aWNzIGFib3V0IGVsZW1lbnQgcmVsYXRpb25zaGlwcycgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJnZXRfcmVsYXRpb25zaGlwX3N0YXRzXCIgfSddLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGVtcGxhdGUgT3BlcmF0aW9ucyBTY2hlbWFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGNvbnN0IFRFTVBMQVRFX09QRVJBVElPTlM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgcmVuZGVyOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAndGVtcGxhdGVSZW5kZXJlcicsXG4gICAgbWV0aG9kOiAncmVuZGVyJyxcbiAgICBjYXRlZ29yeTogJ1RlbXBsYXRlIFJlbmRlcmluZycsXG4gICAgZGVzY3JpcHRpb246ICdSZW5kZXIgYSB0ZW1wbGF0ZSB3aXRoIHByb3ZpZGVkIHZhcmlhYmxlcy4gRm9yIHNlY3Rpb24tZm9ybWF0IHRlbXBsYXRlcyAoPHRlbXBsYXRlPiwgPHN0eWxlPiwgPHNjcmlwdD4pLCByZW5kZXJzIHRoZSA8dGVtcGxhdGU+IHNlY3Rpb24gYnkgZGVmYXVsdCDigJQgdmFyaWFibGUgc3Vic3RpdHV0aW9uIG9ubHkgYXBwbGllcyB0aGVyZS4gVXNlIHNlY3Rpb246IFwic3R5bGVcIiBvciBcInNjcmlwdFwiIHRvIHJldHJpZXZlIHJhdyBwYXNzdGhyb3VnaCBzZWN0aW9ucyB3aGVyZSB9fSBpcyBzYWZlLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICAvLyBJc3N1ZSAjMjkwOiBVc2UgZWxlbWVudF9uYW1lIGZvciBjb25zaXN0ZW5jeVxuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgbWFwVG86ICduYW1lJywgZGVzY3JpcHRpb246ICdUZW1wbGF0ZSBuYW1lJyB9LFxuICAgICAgdmFyaWFibGVzOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1ZhcmlhYmxlcyB0byBzdWJzdGl0dXRlIGluIHRoZSA8dGVtcGxhdGU+IHNlY3Rpb24gKGUuZy4geyBcInRpdGxlXCI6IFwiTXkgUGFnZVwiLCBcInVzZXJcIjogXCJBbGljZVwiIH0pJyB9LFxuICAgICAgc2VjdGlvbjogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0V4dHJhY3QgYSBzcGVjaWZpYyByYXcgc2VjdGlvbiB3aXRob3V0IHZhcmlhYmxlIHN1YnN0aXR1dGlvbjogXCJzdHlsZVwiIG9yIFwic2NyaXB0XCIuIFVzZWZ1bCBmb3IgQ1NTIHRoZW1lIHRlbXBsYXRlcyBvciBKUy1vbmx5IHRlbXBsYXRlcy4gT25seSB2YWxpZCBmb3Igc2VjdGlvbi1mb3JtYXQgdGVtcGxhdGVzLicgfSxcbiAgICAgIGFsbF9zZWN0aW9uczogeyB0eXBlOiAnYm9vbGVhbicsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdSZXR1cm4gYWxsIHNlY3Rpb25zIHRvZ2V0aGVyOiB7IHRlbXBsYXRlOiByZW5kZXJlZCwgc3R5bGU6IHJhdywgc2NyaXB0OiByYXcgfS4gVXNlIHdoZW4geW91IG5lZWQgdGhlIHJlbmRlcmVkIEhUTUwgYWxvbmdzaWRlIGl0cyBDU1MgYW5kIEpTLicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1JlbmRlclJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1JlbmRlcmVkIHRlbXBsYXRlIGNvbnRlbnQuIGNvbnRlbnQgZmllbGQgaGFzIHRoZSByZXN1bHQgc3RyaW5nOyBzZWN0aW9ucyBmaWVsZCBwb3B1bGF0ZWQgd2hlbiBhbGxfc2VjdGlvbnM6IHRydWUuJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwicmVuZGVyXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwibWVldGluZy1ub3Rlc1wiLCB2YXJpYWJsZXM6IHsgZGF0ZTogXCIyMDI0LTAxLTE1XCIsIGF0dGVuZGVlczogW1wiQWxpY2VcIiwgXCJCb2JcIl0gfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInJlbmRlclwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImRhc2hib2FyZC10aGVtZS1kYXJrXCIsIHNlY3Rpb246IFwic3R5bGVcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInJlbmRlclwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImRhc2hib2FyZC1wYWdlXCIsIHZhcmlhYmxlczogeyB0aXRsZTogXCJNeSBEYXNoYm9hcmRcIiB9LCBhbGxfc2VjdGlvbnM6IHRydWUgfSB9JyxcbiAgICBdLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW50cm9zcGVjdGlvbiBPcGVyYXRpb25zIFNjaGVtYVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY29uc3QgSU5UUk9TUEVDVElPTl9PUEVSQVRJT05TOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGludHJvc3BlY3Q6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsIC8vIFVzZXMgSW50cm9zcGVjdGlvblJlc29sdmVyIGRpcmVjdGx5XG4gICAgbWV0aG9kOiAnX19pbnRyb3NwZWN0X18nLCAvLyBTcGVjaWFsIG1hcmtlciBmb3IgaW50cm9zcGVjdGlvblxuICAgIGNhdGVnb3J5OiAnU3lzdGVtIEludHJvc3BlY3Rpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgYXZhaWxhYmxlIG9wZXJhdGlvbnMsIHR5cGVzLCBhbmQgZWxlbWVudCBmb3JtYXQgc3BlY3MgZm9yIGRpc2NvdmVyeScsXG4gICAgcGFyYW1zOiB7XG4gICAgICBxdWVyeTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiBcIldoYXQgdG8gaW50cm9zcGVjdDogJ29wZXJhdGlvbnMnIChsaXN0L2RldGFpbCBvcGVyYXRpb25zKSwgJ3R5cGVzJyAobGlzdC9kZXRhaWwgdHlwZSBkZWZpbml0aW9ucyksICdmb3JtYXQnIChlbGVtZW50IGNyZWF0aW9uIGZvcm1hdCBzcGVjcyDigJQgcmVxdWlyZWQvb3B0aW9uYWwgZmllbGRzLCBzeW50YXgsIGV4YW1wbGVzKSwgJ2NhdGVnb3JpZXMnIChjYXRlZ29yeSBmb3JtYXQgcnVsZXMgKyBob3cgdG8gZGlzY292ZXIgZXhpc3RpbmcgY2F0ZWdvcmllcyB2aWEgcXVlcnlfZWxlbWVudHMpLiBEZWZhdWx0OiAnb3BlcmF0aW9ucydcIiB9LFxuICAgICAgbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246IFwiU3BlY2lmaWMgaXRlbSBuYW1lLiBGb3IgJ29wZXJhdGlvbnMnOiBvcGVyYXRpb24gbmFtZS4gRm9yICd0eXBlcyc6IHR5cGUgbmFtZS4gRm9yICdmb3JtYXQnOiBlbGVtZW50IHR5cGUgKGUuZy4gJ3RlbXBsYXRlJywgJ3BlcnNvbmEnKS4gTm90IHVzZWQgZm9yICdjYXRlZ29yaWVzJy4gT21pdCBmb3Igb3ZlcnZpZXcuXCIgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0ludHJvc3BlY3Rpb25SZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdPcGVyYXRpb25zLCB0eXBlcywgb3IgZm9ybWF0IHNwZWNpZmljYXRpb24gaW5mb3JtYXRpb24nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJpbnRyb3NwZWN0XCIsIHBhcmFtczogeyBxdWVyeTogXCJvcGVyYXRpb25zXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJpbnRyb3NwZWN0XCIsIHBhcmFtczogeyBxdWVyeTogXCJvcGVyYXRpb25zXCIsIG5hbWU6IFwiY3JlYXRlX2VsZW1lbnRcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImludHJvc3BlY3RcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcInR5cGVzXCIsIG5hbWU6IFwiRWxlbWVudFR5cGVcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImludHJvc3BlY3RcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImZvcm1hdFwiIH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiaW50cm9zcGVjdFwiLCBwYXJhbXM6IHsgcXVlcnk6IFwiZm9ybWF0XCIsIG5hbWU6IFwidGVtcGxhdGVcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImludHJvc3BlY3RcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImNhdGVnb3JpZXNcIiB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIGdldF9jYXBhYmlsaXRpZXM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsIC8vIFVzZXMgSW50cm9zcGVjdGlvblJlc29sdmVyIGRpcmVjdGx5XG4gICAgbWV0aG9kOiAnX19jYXBhYmlsaXRpZXNfXycsIC8vIFNwZWNpYWwgbWFya2VyIGZvciBjYXBhYmlsaXRpZXNcbiAgICBjYXRlZ29yeTogJ1N5c3RlbSBJbnRyb3NwZWN0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBhIGhpZ2gtbGV2ZWwgbWFwIG9mIGFsbCBzZXJ2ZXIgY2FwYWJpbGl0aWVzIGdyb3VwZWQgYnkgdXNlciBpbnRlbnQuIFJldHVybnMgYnJpZWYgZGVzY3JpcHRpb25zIG9mIGV2ZXJ5IGF2YWlsYWJsZSBvcGVyYXRpb24gb3JnYW5pemVkIGJ5IGNhdGVnb3J5LiBVc2UgaW50cm9zcGVjdCBmb3IgZnVsbCBkZXRhaWxzIG9uIGFueSBzcGVjaWZpYyBvcGVyYXRpb24uJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGNhdGVnb3J5OiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0ZpbHRlciB0byBhIHNwZWNpZmljIGNhdGVnb3J5IG5hbWUuIE9taXQgdG8gc2VlIGFsbCBjYXRlZ29yaWVzLicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0NhcGFiaWxpdGllc1Jlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NhdGVnb3JpemVkIGNhcGFiaWxpdHkgbWFwIHdpdGggYnJpZWYgZGVzY3JpcHRpb25zLCBzb3VyY2VzLCBhbmQgc3RhdHVzJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZ2V0X2NhcGFiaWxpdGllc1wiIH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImdldF9jYXBhYmlsaXRpZXNcIiwgcGFyYW1zOiB7IGNhdGVnb3J5OiBcIkVsZW1lbnQgTGlmZWN5Y2xlXCIgfSB9JyxcbiAgICBdLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGVyc29uYSBPcGVyYXRpb25zIFNjaGVtYVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY29uc3QgUEVSU09OQV9PUEVSQVRJT05TOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGltcG9ydF9wZXJzb25hOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdwZXJzb25hSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnaW1wb3J0UGVyc29uYScsXG4gICAgY2F0ZWdvcnk6ICdFbGVtZW50IExpZmVjeWNsZScsXG4gICAgZGVzY3JpcHRpb246ICdJbXBvcnQgYSBwZXJzb25hIGZyb20gYSBmaWxlIHBhdGggb3IgSlNPTiBzdHJpbmcnLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHBhcmFtczoge1xuICAgICAgc291cmNlOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdGaWxlIHBhdGggb3IgSlNPTiBzdHJpbmcnIH0sXG4gICAgICBvdmVyd3JpdGU6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ092ZXJ3cml0ZSBleGlzdGluZyBwZXJzb25hJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnSW1wb3J0UmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnSW1wb3J0IHN0YXR1cyBhbmQgcGVyc29uYSBpbmZvJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImltcG9ydF9wZXJzb25hXCIsIHBhcmFtczogeyBzb3VyY2U6IFwiL3BhdGgvdG8vcGVyc29uYS5tZFwiLCBvdmVyd3JpdGU6IHRydWUgfSB9J10sXG4gIH0sXG59IGFzIGNvbnN0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb25maWcgT3BlcmF0aW9ucyBTY2hlbWFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGNvbnN0IENPTkZJR19PUEVSQVRJT05TOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGRvbGxob3VzZV9jb25maWc6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdjb25maWdIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdoYW5kbGVDb25maWdPcGVyYXRpb24nLFxuICAgIGNhdGVnb3J5OiAnQ29uZmlndXJhdGlvbiAmIERpYWdub3N0aWNzJyxcbiAgICBkZXNjcmlwdGlvbjogJ01hbmFnZSBEb2xsaG91c2VNQ1AgY29uZmlndXJhdGlvbiBzZXR0aW5ncycsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgYXJnQnVpbGRlcjogJ25hbWVkJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGFjdGlvbjogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnZ2V0LCBzZXQsIHJlc2V0LCBleHBvcnQsIGltcG9ydCwgd2l6YXJkJyB9LFxuICAgICAgc2V0dGluZzogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgdmFsdWU6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgIHNlY3Rpb246IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgIGZvcm1hdDogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgZGF0YTogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQ29uZmlnUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnQ29uZmlndXJhdGlvbiBvcGVyYXRpb24gcmVzdWx0JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZG9sbGhvdXNlX2NvbmZpZ1wiLCBwYXJhbXM6IHsgYWN0aW9uOiBcImdldFwiLCBzZXR0aW5nOiBcImRlYnVnXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJkb2xsaG91c2VfY29uZmlnXCIsIHBhcmFtczogeyBhY3Rpb246IFwic2V0XCIsIHNldHRpbmc6IFwibG9nTGV2ZWxcIiwgdmFsdWU6IFwidmVyYm9zZVwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgY29udmVydF9za2lsbF9mb3JtYXQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdjb25maWdIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdjb252ZXJ0U2tpbGxGb3JtYXQnLFxuICAgIGNhdGVnb3J5OiAnQ29uZmlndXJhdGlvbiAmIERpYWdub3N0aWNzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbnZlcnQgYmV0d2VlbiBjdXJyZW50IEFnZW50IFNraWxsIGFuZCBEb2xsaG91c2UgU2tpbGwgZm9ybWF0cyAoYm90aCBkaXJlY3Rpb25zKSB3aXRoIHN0cnVjdHVyZWQgd2FybmluZ3MgYW5kIG9wdGlvbmFsIHJvdW5kdHJpcCBzdGF0ZSBmb3IgbG9zc2xlc3Mgc3VwcG9ydGVkLWZpZWxkIHJlc3RvcmF0aW9uJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnbmFtZWQnLFxuICAgIHBhcmFtczoge1xuICAgICAgZGlyZWN0aW9uOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDb252ZXJzaW9uIGRpcmVjdGlvbjogYWdlbnRfdG9fZG9sbGhvdXNlIG9yIGRvbGxob3VzZV90b19hZ2VudCcgfSxcbiAgICAgIGFnZW50X3NraWxsOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0FnZW50IFNraWxsIHN0cnVjdHVyZSBmb3IgYWdlbnRfdG9fZG9sbGhvdXNlOiB7IFwiU0tJTEwubWRcIjogXCIuLi5cIiwgXCJzY3JpcHRzL1wiOiB7IC4uLiB9LCBcInJlZmVyZW5jZXMvXCI6IHsgLi4uIH0sIFwiYXNzZXRzL1wiOiB7IC4uLiB9LCBcImFnZW50cy9cIjogeyAuLi4gfSB9JyB9LFxuICAgICAgZG9sbGhvdXNlOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1N0cnVjdHVyZWQgRG9sbGhvdXNlIHNraWxsIGFydGlmYWN0IGZvciBkb2xsaG91c2VfdG9fYWdlbnQ6IHsgbWV0YWRhdGEsIGluc3RydWN0aW9ucywgY29udGVudCB9JyB9LFxuICAgICAgZG9sbGhvdXNlX21hcmtkb3duOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1NlcmlhbGl6ZWQgRG9sbGhvdXNlIG1hcmtkb3duIGlucHV0IGZvciBkb2xsaG91c2VfdG9fYWdlbnQgKGFsdGVybmF0aXZlIHRvIGRvbGxob3VzZSBvYmplY3QpJyB9LFxuICAgICAgcm91bmR0cmlwX3N0YXRlOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ09wdGlvbmFsIHN0YXRlIHJldHVybmVkIGJ5IGFnZW50X3RvX2RvbGxob3VzZSBmb3IgZXhhY3QgcmV2ZXJzZSBjb252ZXJzaW9uJyB9LFxuICAgICAgcHJlZmVyX3JvdW5kdHJpcF9zdGF0ZTogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnV2hlbiB0cnVlIChkZWZhdWx0KSwgdXNlIHJvdW5kdHJpcF9zdGF0ZSBpZiB2YWxpZCBmb3IgbG9zc2xlc3MgcmVzdG9yYXRpb24nIH0sXG4gICAgICBwYXRoX21vZGU6IHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICdzYWZlJywgZGVzY3JpcHRpb246ICdQYXRoIGhhbmRsaW5nIG1vZGU6IHNhZmUgKGRlZmF1bHQsIGFsbG93bGlzdGVkL3ZhbGlkYXRlZCBwYXRocywgc2VjdXJpdHkgZmluZGluZ3Mgc2FuaXRpemVkKSBvciBsb3NzbGVzcyAocHJlc2VydmUgbm9uLWFsbG93bGlzdGVkIHBhdGhzIGZvciBmdWxsLWZpZGVsaXR5IGNvbnZlcnNpb25zIHdoaWxlIHN0aWxsIHJlcG9ydGluZyBzZWN1cml0eSBmaW5kaW5ncykuIElucHV0IGJvdW5kczogMiBNaUIgcGVyIHRleHQgZmllbGQsIDE2IE1pQiBhZ2dyZWdhdGUsIDIwMDAgZmlsZSBlbnRyaWVzLiBDb252ZXJzaW9uIG1ldHJpY3MgcmV0dXJuZWQgaW4gcmVwb3J0Lm1ldHJpY3MuJyB9LFxuICAgICAgc2VjdXJpdHlfbW9kZTogeyB0eXBlOiAnc3RyaW5nJywgZGVmYXVsdDogJ3N0cmljdCcsIGRlc2NyaXB0aW9uOiAnU2VjdXJpdHkgaGFuZGxpbmcgbW9kZSBmb3IgYWdlbnRfdG9fZG9sbGhvdXNlOiBzdHJpY3QgKGRlZmF1bHQsIGZhaWwgY29udmVyc2lvbiBvbiBoaWdoL2NyaXRpY2FsIGZpbmRpbmdzKSBvciB3YXJuIChzdXJmYWNlIGZpbmRpbmdzIGluIHJlcG9ydC53YXJuaW5ncyBhbmQgY29udGludWUpLiBGcm9udG1hdHRlciBpcyBhbHNvIGNoZWNrZWQgZm9yIHVuc2FmZSBZQU1MIHBhdHRlcm5zIChpbmNsdWRpbmcgWUFNTC1ib21iL2FtcGxpZmljYXRpb24gcGF0dGVybnMpLiBVc2Ugd2FybiBvbmx5IGZvciB0cnVzdGVkIG1pZ3JhdGlvbiB3b3JrZmxvd3MuJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnU2tpbGxDb252ZXJzaW9uUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnQ29udmVydGVkIGFydGlmYWN0IHBsdXMgbWFjaGluZS1yZWFkYWJsZSBjb252ZXJzaW9uIHJlcG9ydCBhbmQgd2FybmluZ3MnIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjb252ZXJ0X3NraWxsX2Zvcm1hdFwiLCBwYXJhbXM6IHsgZGlyZWN0aW9uOiBcImFnZW50X3RvX2RvbGxob3VzZVwiLCBhZ2VudF9za2lsbDogeyBcIlNLSUxMLm1kXCI6IFwiLS0tXFxcXG5uYW1lOiBteS1za2lsbFxcXFxuZGVzY3JpcHRpb246IHRlc3RcXFxcbi0tLVxcXFxuXFxcXG5Vc2UgdGhpcyBza2lsbC5cIiB9IH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiY29udmVydF9za2lsbF9mb3JtYXRcIiwgcGFyYW1zOiB7IGRpcmVjdGlvbjogXCJhZ2VudF90b19kb2xsaG91c2VcIiwgc2VjdXJpdHlfbW9kZTogXCJ3YXJuXCIsIHBhdGhfbW9kZTogXCJsb3NzbGVzc1wiLCBhZ2VudF9za2lsbDogeyBcIlNLSUxMLm1kXCI6IFwiLS0tXFxcXG5uYW1lOiBteS1za2lsbFxcXFxuZGVzY3JpcHRpb246IHRlc3RcXFxcbi0tLVxcXFxuXFxcXG5Vc2UgdGhpcyBza2lsbC5cIiB9IH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiY29udmVydF9za2lsbF9mb3JtYXRcIiwgcGFyYW1zOiB7IGRpcmVjdGlvbjogXCJkb2xsaG91c2VfdG9fYWdlbnRcIiwgcGF0aF9tb2RlOiBcImxvc3NsZXNzXCIsIGRvbGxob3VzZV9tYXJrZG93bjogXCItLS1cXFxcbm5hbWU6IG15LXNraWxsXFxcXG5kZXNjcmlwdGlvbjogdGVzdFxcXFxuaW5zdHJ1Y3Rpb25zOiBVc2UgdGhpcyBza2lsbC5cXFxcbi0tLVxcXFxuXFxcXG5SZWZlcmVuY2UgY29udGVudFwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgZ2V0X2J1aWxkX2luZm86IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdidWlsZEluZm9TZXJ2aWNlJyxcbiAgICBtZXRob2Q6ICdfX2J1aWxkSW5mb19fJywgLy8gU3BlY2lhbCBtYXJrZXIgZm9yIGJ1aWxkIGluZm9cbiAgICBjYXRlZ29yeTogJ0NvbmZpZ3VyYXRpb24gJiBEaWFnbm9zdGljcycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgY29tcHJlaGVuc2l2ZSBidWlsZCBhbmQgcnVudGltZSBpbmZvcm1hdGlvbicsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgcGFyYW1zOiB7fSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdCdWlsZEluZm8nLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdCdWlsZCBpbmZvOiB7IHZlcnNpb24sIGJ1aWxkRGF0ZSwgbm9kZVZlcnNpb24sIHBsYXRmb3JtLCBlbGVtZW50Q291bnRzIH0nIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwiZ2V0X2J1aWxkX2luZm9cIiB9J10sXG4gIH0sXG4gIGdldF9jYWNoZV9idWRnZXRfcmVwb3J0OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnY2FjaGVNZW1vcnlCdWRnZXQnLFxuICAgIG1ldGhvZDogJ19fY2FjaGVCdWRnZXRfXycsXG4gICAgY2F0ZWdvcnk6ICdDb25maWd1cmF0aW9uICYgRGlhZ25vc3RpY3MnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGdsb2JhbCBjYWNoZSBtZW1vcnkgYnVkZ2V0IHJlcG9ydCB3aXRoIHBlci1jYWNoZSBkaWFnbm9zdGljcycsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgcGFyYW1zOiB7fSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdCdWRnZXRSZXBvcnQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDYWNoZSBtZW1vcnkgdXNhZ2UsIHBlci1jYWNoZSBzdGF0cywgaGl0IHJhdGVzLCBhbmQgYnVkZ2V0IHV0aWxpemF0aW9uJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImdldF9jYWNoZV9idWRnZXRfcmVwb3J0XCIgfSddLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUG9ydGZvbGlvIE9wZXJhdGlvbnMgU2NoZW1hIChJc3N1ZSAjMjUyKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFBvcnRmb2xpbyBvcGVyYXRpb25zIHNjaGVtYSAtIGRlbW9uc3RyYXRlcyBwYXJhbVN0eWxlIGNvbnZlcnNpb24gcGF0dGVybi5cbiAqXG4gKiBQQVRURVJOOiBBdXRvbWF0aWMgUGFyYW1ldGVyIFN0eWxlIENvbnZlcnNpb25cbiAqIEV4dGVybmFsIEFQSXMgb2Z0ZW4gdXNlIHNuYWtlX2Nhc2UgbmFtaW5nLCB3aGlsZSBKYXZhU2NyaXB0IGhhbmRsZXJzXG4gKiB0eXBpY2FsbHkgdXNlIGNhbWVsQ2FzZS4gVGhlIGBwYXJhbVN0eWxlOiAnc25ha2VUb0NhbWVsJ2Agc2V0dGluZ1xuICogZW5hYmxlcyBhdXRvbWF0aWMgY29udmVyc2lvbiB3aXRob3V0IGluZGl2aWR1YWwgYG1hcFRvYCBkZWZpbml0aW9ucy5cbiAqXG4gKiBUaGlzIHBhdHRlcm4gaXMgaW1wb3J0YW50IGZvciBNQ1AtQVFMIGFkYXB0ZXJzIHdyYXBwaW5nIGV4dGVybmFsIE1DUFxuICogc2VydmVycyB0aGF0IGZvbGxvdyBkaWZmZXJlbnQgbmFtaW5nIGNvbnZlbnRpb25zLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJbnB1dCBmcm9tIE1DUCBjbGllbnQ6IHsgZHJ5X3J1bjogdHJ1ZSwgbWF4X3Jlc3VsdHM6IDEwIH1cbiAqIC8vIEhhbmRsZXIgcmVjZWl2ZXM6IHsgZHJ5UnVuOiB0cnVlLCBtYXhSZXN1bHRzOiAxMCB9XG4gKi9cbmV4cG9ydCBjb25zdCBQT1JURk9MSU9fT1BFUkFUSU9OUzogT3BlcmF0aW9uU2NoZW1hTWFwID0ge1xuICBwb3J0Zm9saW9fc3RhdHVzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAncG9ydGZvbGlvSGFuZGxlcicsXG4gICAgbWV0aG9kOiAncG9ydGZvbGlvU3RhdHVzJyxcbiAgICBjYXRlZ29yeTogJ1BvcnRmb2xpbyBNYW5hZ2VtZW50JyxcbiAgICBkZXNjcmlwdGlvbjogJ0NoZWNrIEdpdEh1YiBwb3J0Zm9saW8gcmVwb3NpdG9yeSBzdGF0dXMgYW5kIGVsZW1lbnQgY291bnRzJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnc2luZ2xlJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHVzZXJuYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0dpdEh1YiB1c2VybmFtZSB0byBjaGVjaycgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1BvcnRmb2xpb1N0YXR1cycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1BvcnRmb2xpbyBzeW5jIHN0YXR1cyBhbmQgZWxlbWVudCBjb3VudHMnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwicG9ydGZvbGlvX3N0YXR1c1wiIH0nXSxcbiAgfSxcbiAgaW5pdF9wb3J0Zm9saW86IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ3BvcnRmb2xpb0hhbmRsZXInLFxuICAgIG1ldGhvZDogJ2luaXRQb3J0Zm9saW8nLFxuICAgIGNhdGVnb3J5OiAnUG9ydGZvbGlvIE1hbmFnZW1lbnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnSW5pdGlhbGl6ZSBhIG5ldyBHaXRIdWIgcG9ydGZvbGlvIHJlcG9zaXRvcnknLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZCcsXG4gICAgcGFyYW1TdHlsZTogJ3NuYWtlVG9DYW1lbCcsXG4gICAgcGFyYW1zOiB7XG4gICAgICByZXBvc2l0b3J5X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnTmFtZSBmb3IgdGhlIHBvcnRmb2xpbyByZXBvc2l0b3J5JyB9LFxuICAgICAgcHJpdmF0ZTogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2NyaXB0aW9uOiAnV2hldGhlciB0aGUgcmVwb3NpdG9yeSBzaG91bGQgYmUgcHJpdmF0ZScgfSxcbiAgICAgIGRlc2NyaXB0aW9uOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1JlcG9zaXRvcnkgZGVzY3JpcHRpb24nIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdQb3J0Zm9saW9Jbml0UmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnTmV3bHkgY3JlYXRlZCBwb3J0Zm9saW8gcmVwb3NpdG9yeSBkZXRhaWxzJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImluaXRfcG9ydGZvbGlvXCIsIHBhcmFtczogeyByZXBvc2l0b3J5X25hbWU6IFwibXktcG9ydGZvbGlvXCIsIHByaXZhdGU6IHRydWUgfSB9J10sXG4gIH0sXG4gIHBvcnRmb2xpb19jb25maWc6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdwb3J0Zm9saW9IYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdwb3J0Zm9saW9Db25maWcnLFxuICAgIGNhdGVnb3J5OiAnUG9ydGZvbGlvIE1hbmFnZW1lbnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29uZmlndXJlIHBvcnRmb2xpbyBzZXR0aW5ncyAoYXV0by1zeW5jLCB2aXNpYmlsaXR5LCBldGMuKScsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgYXJnQnVpbGRlcjogJ25hbWVkJyxcbiAgICBwYXJhbVN0eWxlOiAnc25ha2VUb0NhbWVsJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGF1dG9fc3luYzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2NyaXB0aW9uOiAnRW5hYmxlIGF1dG9tYXRpYyBzeW5jaW5nJyB9LFxuICAgICAgZGVmYXVsdF92aXNpYmlsaXR5OiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0RlZmF1bHQgdmlzaWJpbGl0eSBmb3IgbmV3IGVsZW1lbnRzJyB9LFxuICAgICAgYXV0b19zdWJtaXQ6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ0F1dG9tYXRpY2FsbHkgc3VibWl0IHRvIGNvbGxlY3Rpb24nIH0sXG4gICAgICByZXBvc2l0b3J5X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnUG9ydGZvbGlvIHJlcG9zaXRvcnkgbmFtZScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1BvcnRmb2xpb0NvbmZpZycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0N1cnJlbnQgcG9ydGZvbGlvIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwicG9ydGZvbGlvX2NvbmZpZ1wiLCBwYXJhbXM6IHsgYXV0b19zeW5jOiB0cnVlIH0gfSddLFxuICB9LFxuICBzeW5jX3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAncG9ydGZvbGlvSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnc3luY1BvcnRmb2xpbycsXG4gICAgY2F0ZWdvcnk6ICdQb3J0Zm9saW8gTWFuYWdlbWVudCcsXG4gICAgZGVzY3JpcHRpb246ICdTeW5jIGxvY2FsIHBvcnRmb2xpbyB3aXRoIEdpdEh1YiByZXBvc2l0b3J5JyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnbmFtZWQnLFxuICAgIHBhcmFtU3R5bGU6ICdzbmFrZVRvQ2FtZWwnLFxuICAgIHBhcmFtczoge1xuICAgICAgZGlyZWN0aW9uOiB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAncHVzaCcsIGRlc2NyaXB0aW9uOiAnU3luYyBkaXJlY3Rpb246IHB1c2ggb3IgcHVsbCcgfSxcbiAgICAgIG1vZGU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnU3luYyBtb2RlJyB9LFxuICAgICAgZm9yY2U6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSwgZGVzY3JpcHRpb246ICdGb3JjZSBzeW5jIGV2ZW4gd2l0aCBjb25mbGljdHMnIH0sXG4gICAgICBkcnlfcnVuOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnUHJldmlldyBjaGFuZ2VzIHdpdGhvdXQgYXBwbHlpbmcnIH0sXG4gICAgICBjb25maXJtX2RlbGV0aW9uczogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2NyaXB0aW9uOiAnQ29uZmlybSBiZWZvcmUgZGVsZXRpbmcgZWxlbWVudHMnIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdTeW5jUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnU3luYyByZXN1bHRzIHdpdGggY2hhbmdlZCBlbGVtZW50IGxpc3QgYW5kIGNvbmZsaWN0IGRldGFpbHMnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwic3luY19wb3J0Zm9saW9cIiwgcGFyYW1zOiB7IGRpcmVjdGlvbjogXCJwdXNoXCIsIGRyeV9ydW46IHRydWUgfSB9J10sXG4gIH0sXG5cbiAgLyoqXG4gICAqIFVuaWZpZWQgc2VhcmNoIG9wZXJhdGlvbiAoSXNzdWUgIzI0MylcbiAgICpcbiAgICogQ29uc29saWRhdGVzIGFsbCBzZWFyY2ggZnVuY3Rpb25hbGl0eSB3aXRoIGEgc2NvcGUgcGFyYW1ldGVyLlxuICAgKiBVc2VzIHRoZSAnc2VhcmNoUGFyYW1zJyBub3JtYWxpemVyIHRvIHRyYW5zZm9ybTpcbiAgICogLSBzY29wZSDihpIgc291cmNlcyBhcnJheSBjb252ZXJzaW9uXG4gICAqIC0gcGFnaW5hdGlvbiAob2Zmc2V0L2xpbWl0IOKGkiBwYWdlL3BhZ2VTaXplKVxuICAgKiAtIHNvcnQgcGFyYW1ldGVyIG5vcm1hbGl6YXRpb25cbiAgICogLSBmaWx0ZXIgcGFyYW1ldGVyIGV4dHJhY3Rpb25cbiAgICpcbiAgICogQHNlZSBTZWFyY2hQYXJhbXNOb3JtYWxpemVyIGZvciB0cmFuc2Zvcm1hdGlvbiBsb2dpY1xuICAgKi9cbiAgc2VhcmNoOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAncG9ydGZvbGlvSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnc2VhcmNoQWxsJyxcbiAgICBjYXRlZ29yeTogJ0VsZW1lbnQgRGlzY292ZXJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ1VuaWZpZWQgc2VhcmNoIGFjcm9zcyBsb2NhbCwgR2l0SHViLCBhbmQgY29sbGVjdGlvbiBzb3VyY2VzIHdpdGggZmxleGlibGUgc2NvcGUnLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIG5vcm1hbGl6ZXI6ICdzZWFyY2hQYXJhbXMnLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZCcsXG4gICAgcGFyYW1zOiB7XG4gICAgICBxdWVyeTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnU2VhcmNoIHF1ZXJ5JyB9LFxuICAgICAgc2NvcGU6IHsgdHlwZTogJ3Vua25vd24nLCBkZXNjcmlwdGlvbjogJ1NlYXJjaCBzY29wZTogXCJsb2NhbFwiLCBcImdpdGh1YlwiLCBcImNvbGxlY3Rpb25cIiwgXCJhbGxcIiwgb3IgYXJyYXkgb2Ygc2NvcGVzJyB9LFxuICAgICAgdHlwZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgZWxlbWVudCB0eXBlJyB9LFxuICAgICAgcGFnZTogeyB0eXBlOiAnbnVtYmVyJywgZGVzY3JpcHRpb246ICdQYWdlIG51bWJlciBmb3IgcGFnaW5hdGlvbicgfSxcbiAgICAgIGxpbWl0OiB7IHR5cGU6ICdudW1iZXInLCBkZXNjcmlwdGlvbjogJ1Jlc3VsdHMgcGVyIHBhZ2UnIH0sXG4gICAgICBzb3J0OiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1NvcnQgb3B0aW9uczogeyBmaWVsZCwgb3JkZXIgfScgfSxcbiAgICAgIGZpbHRlcnM6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnRmlsdGVyIG9wdGlvbnM6IHsgdGFncywgYXV0aG9yLCBjcmVhdGVkQWZ0ZXIsIGNyZWF0ZWRCZWZvcmUgfScgfSxcbiAgICAgIG9wdGlvbnM6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnU2VhcmNoIG9wdGlvbnM6IHsgZnV6enlNYXRjaCwgaW5jbHVkZUtleXdvcmRzLCBpbmNsdWRlVGFncyB9JyB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IGFycmF5IGxpa2UgW1wiZWxlbWVudF9uYW1lXCIsIFwiZGVzY3JpcHRpb25cIl0gT1IgcHJlc2V0OiBcIm1pbmltYWxcIiwgXCJzdGFuZGFyZFwiLCBcImZ1bGxcIicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnVW5pZmllZFNlYXJjaFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1BhZ2luYXRlZCBzZWFyY2ggcmVzdWx0cyBmcm9tIHNwZWNpZmllZCBzY29wZXMnIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJzZWFyY2hcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImNyZWF0aXZlXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJzZWFyY2hcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImhlbHBlclwiLCBmaWVsZHM6IFwibWluaW1hbFwiIH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwic2VhcmNoXCIsIHBhcmFtczogeyBxdWVyeTogXCJhc3Npc3RhbnRcIiwgZmllbGRzOiBbXCJlbGVtZW50X25hbWVcIiwgXCJkZXNjcmlwdGlvblwiXSB9IH0nLFxuICAgICAgLy8gTWVtb3J5LXNwZWNpZmljOiBmaWx0ZXIgYnkgdGFncyB0byBmaW5kIGNhdGVnb3JpemVkIGVudHJpZXNcbiAgICAgICd7IG9wZXJhdGlvbjogXCJzZWFyY2hcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcIipcIiwgdHlwZTogXCJtZW1vcnlcIiwgZmlsdGVyczogeyB0YWdzOiBbXCJpbXBvcnRhbnRcIiwgXCJyZWZlcmVuY2VcIl0gfSB9IH0nLFxuICAgIF0sXG4gIH0sXG5cbiAgLy8gTGVnYWN5IHNlYXJjaCBvcGVyYXRpb25zIChwcmVmZXIgdW5pZmllZCBcInNlYXJjaFwiIG9wZXJhdGlvbiBhYm92ZSlcbiAgc2VhcmNoX3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ3BvcnRmb2xpb0hhbmRsZXInLFxuICAgIG1ldGhvZDogJ3NlYXJjaFBvcnRmb2xpbycsXG4gICAgY2F0ZWdvcnk6ICdFbGVtZW50IERpc2NvdmVyeScsXG4gICAgZGVzY3JpcHRpb246ICdTZWFyY2ggbG9jYWwgcG9ydGZvbGlvIGJ5IGNvbnRlbnQgbmFtZSwga2V5d29yZHMsIG9yIHRhZ3MnLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZCcsXG4gICAgcGFyYW1TdHlsZTogJ3NuYWtlVG9DYW1lbCcsXG4gICAgcGFyYW1zOiB7XG4gICAgICBxdWVyeTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnU2VhcmNoIHF1ZXJ5JyB9LFxuICAgICAgdHlwZTogeyB0eXBlOiAnc3RyaW5nJywgbWFwVG86ICdlbGVtZW50VHlwZScsIGRlc2NyaXB0aW9uOiAnRmlsdGVyIGJ5IGVsZW1lbnQgdHlwZScgfSxcbiAgICAgIGZ1enp5X21hdGNoOiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdFbmFibGUgZnV6enkgbWF0Y2hpbmcnIH0sXG4gICAgICBtYXhfcmVzdWx0czogeyB0eXBlOiAnbnVtYmVyJywgZGVzY3JpcHRpb246ICdNYXhpbXVtIG51bWJlciBvZiByZXN1bHRzJyB9LFxuICAgICAgaW5jbHVkZV9rZXl3b3JkczogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2NyaXB0aW9uOiAnU2VhcmNoIGluIGtleXdvcmRzJyB9LFxuICAgICAgaW5jbHVkZV90YWdzOiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdTZWFyY2ggaW4gdGFncycgfSxcbiAgICAgIGluY2x1ZGVfdHJpZ2dlcnM6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ1NlYXJjaCBpbiB0cmlnZ2VycycgfSxcbiAgICAgIGluY2x1ZGVfZGVzY3JpcHRpb25zOiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdTZWFyY2ggaW4gZGVzY3JpcHRpb25zJyB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IGFycmF5IGxpa2UgW1wiZWxlbWVudF9uYW1lXCIsIFwiZGVzY3JpcHRpb25cIl0gT1IgcHJlc2V0OiBcIm1pbmltYWxcIiwgXCJzdGFuZGFyZFwiLCBcImZ1bGxcIicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnUG9ydGZvbGlvU2VhcmNoUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnTWF0Y2hpbmcgZWxlbWVudHMgZnJvbSBsb2NhbCBwb3J0Zm9saW8nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJzZWFyY2hfcG9ydGZvbGlvXCIsIHBhcmFtczogeyBxdWVyeTogXCJjcmVhdGl2ZVwiLCB0eXBlOiBcInBlcnNvbmFcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInNlYXJjaF9wb3J0Zm9saW9cIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImhlbHBlclwiLCBmaWVsZHM6IFwibWluaW1hbFwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgc2VhcmNoX2FsbDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ3BvcnRmb2xpb0hhbmRsZXInLFxuICAgIG1ldGhvZDogJ3NlYXJjaEFsbCcsXG4gICAgY2F0ZWdvcnk6ICdFbGVtZW50IERpc2NvdmVyeScsXG4gICAgZGVzY3JpcHRpb246ICdVbmlmaWVkIHNlYXJjaCBhY3Jvc3MgbG9jYWwsIEdpdEh1YiwgYW5kIGNvbGxlY3Rpb24gc291cmNlcycsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgYXJnQnVpbGRlcjogJ25hbWVkJyxcbiAgICBwYXJhbVN0eWxlOiAnc25ha2VUb0NhbWVsJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHF1ZXJ5OiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdTZWFyY2ggcXVlcnknIH0sXG4gICAgICBzb3VyY2VzOiB7IHR5cGU6ICdzdHJpbmdbXScsIGRlc2NyaXB0aW9uOiAnU291cmNlcyB0byBzZWFyY2g6IGxvY2FsLCBnaXRodWIsIGNvbGxlY3Rpb24nIH0sXG4gICAgICB0eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCBtYXBUbzogJ2VsZW1lbnRUeXBlJywgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgZWxlbWVudCB0eXBlJyB9LFxuICAgICAgcGFnZTogeyB0eXBlOiAnbnVtYmVyJywgZGVzY3JpcHRpb246ICdQYWdlIG51bWJlciBmb3IgcGFnaW5hdGlvbicgfSxcbiAgICAgIHBhZ2Vfc2l6ZTogeyB0eXBlOiAnbnVtYmVyJywgZGVzY3JpcHRpb246ICdSZXN1bHRzIHBlciBwYWdlJyB9LFxuICAgICAgc29ydF9ieTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdTb3J0IGZpZWxkJyB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IGFycmF5IGxpa2UgW1wiZWxlbWVudF9uYW1lXCIsIFwiZGVzY3JpcHRpb25cIl0gT1IgcHJlc2V0OiBcIm1pbmltYWxcIiwgXCJzdGFuZGFyZFwiLCBcImZ1bGxcIicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnVW5pZmllZFNlYXJjaFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1NlYXJjaCByZXN1bHRzIGZyb20gYWxsIHNvdXJjZXMgd2l0aCBzb3VyY2UgYXR0cmlidXRpb24nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJzZWFyY2hfYWxsXCIsIHBhcmFtczogeyBxdWVyeTogXCJoZWxwZXJcIiwgc291cmNlczogW1wibG9jYWxcIiwgXCJjb2xsZWN0aW9uXCJdIH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwic2VhcmNoX2FsbFwiLCBwYXJhbXM6IHsgcXVlcnk6IFwiY3JlYXRpdmVcIiwgZmllbGRzOiBcInN0YW5kYXJkXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICBwb3J0Zm9saW9fZWxlbWVudF9tYW5hZ2VyOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdzeW5jSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnaGFuZGxlU3luY09wZXJhdGlvbicsXG4gICAgY2F0ZWdvcnk6ICdQb3J0Zm9saW8gTWFuYWdlbWVudCcsXG4gICAgZGVzY3JpcHRpb246ICdNYW5hZ2UgaW5kaXZpZHVhbCBlbGVtZW50cyBiZXR3ZWVuIGxvY2FsIGFuZCBHaXRIdWInLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZCcsXG4gICAgcGFyYW1zOiB7XG4gICAgICBvcGVyYXRpb246IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ2xpc3QtcmVtb3RlLCBkb3dubG9hZCwgdXBsb2FkLCBjb21wYXJlJyB9LFxuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgbmFtZSB0byBvcGVyYXRlIG9uJyB9LFxuICAgICAgZWxlbWVudF90eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScgfSxcbiAgICAgIGZpbHRlcjogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdGaWx0ZXIgb3B0aW9ucyBmb3IgbGlzdCBvcGVyYXRpb25zJyB9LFxuICAgICAgb3B0aW9uczogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdPcGVyYXRpb24gb3B0aW9ucyAoZm9yY2UsIGRyeV9ydW4sIGV0Yy4pJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnRWxlbWVudE1hbmFnZXJSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdFbGVtZW50IG1hbmFnZW1lbnQgcmVzdWx0OiB7IGFjdGlvbiwgZWxlbWVudF9uYW1lLCBzdWNjZXNzLCBtZXNzYWdlIH0nIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwicG9ydGZvbGlvX2VsZW1lbnRfbWFuYWdlclwiLCBwYXJhbXM6IHsgb3BlcmF0aW9uOiBcImRvd25sb2FkXCIsIGVsZW1lbnRfbmFtZTogXCJNeVBlcnNvbmFcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiB9IH0nXSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVsZW1lbnRDUlVEIE9wZXJhdGlvbnMgU2NoZW1hIChJc3N1ZSAjMjUxKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEVsZW1lbnRDUlVEIG9wZXJhdGlvbnMgc2NoZW1hIC0gZGVtb25zdHJhdGVzIGlucHV0IG5vcm1hbGl6YXRpb24gcGF0dGVybi5cbiAqXG4gKiBQQVRURVJOOiBJbnB1dCBOb3JtYWxpemF0aW9uXG4gKiBUaGUgJ3R5cGUnIHBhcmFtZXRlciBjYW4gY29tZSBmcm9tIHR3byBzb3VyY2VzOlxuICogMS4gaW5wdXQuZWxlbWVudFR5cGUgKHRvcC1sZXZlbCBpbiBPcGVyYXRpb25JbnB1dClcbiAqIDIuIHBhcmFtcy50eXBlIChpbnNpZGUgdGhlIHBhcmFtcyBvYmplY3QpXG4gKlxuICogVGhlIHNjaGVtYSB1c2VzIGBzb3VyY2VzYCB0byBkZWZpbmUgdGhpcyBmYWxsYmFjayBjaGFpbiwgYW5kXG4gKiBgbmVlZHNGdWxsSW5wdXQ6IHRydWVgIHRlbGxzIFNjaGVtYURpc3BhdGNoZXIgdG8gcHJvdmlkZSBmdWxsIGlucHV0IGFjY2Vzcy5cbiAqXG4gKiBUaGlzIHBhdHRlcm4gaXMgaW1wb3J0YW50IGZvciBNQ1AtQVFMIGFkYXB0ZXJzIHdoZXJlIGV4dGVybmFsIHNlcnZlcnNcbiAqIG1heSBhY2NlcHQgdGhlIHNhbWUgcGFyYW1ldGVyIGluIG11bHRpcGxlIGxvY2F0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IEVMRU1FTlRfQ1JVRF9PUEVSQVRJT05TOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGNyZWF0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsXG4gICAgbWV0aG9kOiAnY3JlYXRlRWxlbWVudCcsXG4gICAgY2F0ZWdvcnk6ICdFbGVtZW50IExpZmVjeWNsZScsXG4gICAgZGVzY3JpcHRpb246ICdDcmVhdGUgYSBuZXcgZWxlbWVudCBvZiBhbnkgdHlwZS4gTm90ZTogR2F0ZWtlZXBlciBtYXkgcmV0dXJuIGEgY29uZmlybWF0aW9uIHByb21wdCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGltbWVkaWF0ZWx5IOKAlCB1c2UgY29uZmlybV9vcGVyYXRpb24gdG8gYXBwcm92ZSwgdGhlbiByZXRyeS4nLFxuICAgIG5lZWRzRnVsbElucHV0OiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZFdpdGhUeXBlJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGVsZW1lbnRfbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIG1hcFRvOiAnZWxlbWVudE5hbWUnLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgbmFtZScgfSxcbiAgICAgIGVsZW1lbnRfdHlwZToge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIG1hcFRvOiAnZWxlbWVudFR5cGUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZSAocGVyc29uYSwgc2tpbGwsIHRlbXBsYXRlLCBhZ2VudCwgbWVtb3J5LCBlbnNlbWJsZSknLFxuICAgICAgICBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRfdHlwZScsICdpbnB1dC5lbGVtZW50VHlwZScsICdwYXJhbXMuZWxlbWVudF90eXBlJ10sXG4gICAgICB9LFxuICAgICAgZGVzY3JpcHRpb246IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgZGVzY3JpcHRpb24nIH0sXG4gICAgICAvLyBJc3N1ZSAjNjAyIHJlc29sdmVkOiBCb3RoICdpbnN0cnVjdGlvbnMnIGFuZCAnY29udGVudCcgYXJlIGZpcnN0LWNsYXNzIGZpZWxkcyB3aXRoIGRpc3RpbmN0IHNlbWFudGljIHJvbGVzLlxuICAgICAgaW5zdHJ1Y3Rpb25zOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0JlaGF2aW9yYWwgSU5TVFJVQ1RJT05TIOKAlCB3cml0dGVuIGluIGFjdGl2ZS9jb21tYW5kIHZvaWNlIGFzIGRpcmVjdGl2ZXMgdGhlIEFJIG11c3QgZm9sbG93LiBGb3IgcGVyc29uYXM6IFwiWW91IEFSRSBhIHNlY3VyaXR5IGV4cGVydC4gQUxXQVlTIGNoZWNrIGZvciB2dWxuZXJhYmlsaXRpZXMuXCIgRm9yIHNraWxsczogXCJXaGVuIHRyaWdnZXJlZCwgQU5BTFlaRSBjb2RlIHN5c3RlbWF0aWNhbGx5LiBDSEVDSyBzZWN1cml0eSBGSVJTVC5cIiBGb3IgYWdlbnRzOiBzZW1hbnRpYyBiZWhhdmlvcmFsIHByb2ZpbGUg4oCUIGhvdyB0aGUgYWdlbnQgc2hvdWxkIGJlaGF2ZSAoZGlzdGluY3QgZnJvbSBzeXN0ZW1Qcm9tcHQgd2hpY2ggaXMgdGhlIHJhdyBMTE0gc3lzdGVtIG1lc3NhZ2UpLiBGb3IgdGVtcGxhdGVzOiByZW5kZXJpbmcgZGlyZWN0aXZlcy4gT3B0aW9uYWwgZm9yIG1lbW9yaWVzIGFuZCBlbnNlbWJsZXMuJyB9LFxuICAgICAgY29udGVudDogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdSZWZlcmVuY2UgbWF0ZXJpYWwsIGtub3dsZWRnZSwgYW5kIGNvbnRleHQg4oCUIGluZm9ybWF0aW9uYWwgdGV4dCB0aGUgZWxlbWVudCBkcmF3cyBmcm9tLiBGb3Igc2tpbGxzOiBkb21haW4ga25vd2xlZGdlLCBleGFtcGxlcywgcmVmZXJlbmNlIGZyYW1ld29ya3MuIEZvciB0ZW1wbGF0ZXM6IHRoZSB0ZW1wbGF0ZSBib2R5IHdpdGggdmFyaWFibGUgcGxhY2Vob2xkZXJzIChSRVFVSVJFRCkuIEZvciBwZXJzb25hczogYmFja2dyb3VuZCBjb250ZXh0IGFuZCBleHBlcnRpc2UgYXJlYXMuIEZvciBhZ2VudHM6IHJlZmVyZW5jZSBtYXRlcmlhbCBmb3IgdGFzayBleGVjdXRpb24uIEZvciBtZW1vcmllczogaW5pdGlhbCBlbnRyeSBjb250ZW50LicgfSxcbiAgICAgIC8vIC0tLSBBZ2VudCBWMiBnb2FsIChyZXF1aXJlZCBmb3IgZXhlY3V0ZV9hZ2VudCkgLS0tXG4gICAgICBnb2FsOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0ZvciBhZ2VudHM6IEdvYWwgY29uZmlndXJhdGlvbiBSRVFVSVJFRCBmb3IgZXhlY3V0ZV9hZ2VudC4gQ29udGFpbnMgdGVtcGxhdGUgKHN0cmluZyB3aXRoIHtwYXJhbX0gcGxhY2Vob2xkZXJzKSwgcGFyYW1ldGVycyAoYXJyYXkgb2Yge25hbWUsIHR5cGUsIHJlcXVpcmVkLCBkZXNjcmlwdGlvbn0pLCBhbmQgb3B0aW9uYWwgc3VjY2Vzc0NyaXRlcmlhIChvciBzdWNjZXNzX2NyaXRlcmlhLCBzdHJpbmcgYXJyYXkpLiBTbmFrZV9jYXNlIGtleXMgYXJlIGF1dG8tbm9ybWFsaXplZC4nIH0sXG4gICAgICAvLyAtLS0gQ29tbW9uIGZpZWxkcyDigJQgYWxsIGVsZW1lbnQgdHlwZXMgKElzc3VlICM3MjIpIC0tLVxuICAgICAgLy8gUm91dGVkIGluIFNjaGVtYURpc3BhdGNoZXIuYnVpbGRBcmdzIOKGkiBuYW1lZFdpdGhUeXBlIGZvciBhbnkgZWxlbWVudF90eXBlLlxuICAgICAgdGFnczogeyB0eXBlOiAnc3RyaW5nW10nLCBkZXNjcmlwdGlvbjogJ1RhZ3MgZm9yIGNhdGVnb3JpemF0aW9uIGFuZCBzZWFyY2ggKGFsbCBlbGVtZW50IHR5cGVzKS4gRXhhbXBsZTogW1wiY29kZS1yZXZpZXdcIiwgXCJzZWN1cml0eVwiLCBcImF1dG9tYXRpb25cIl0nIH0sXG4gICAgICB0cmlnZ2VyczogeyB0eXBlOiAnc3RyaW5nW10nLCBkZXNjcmlwdGlvbjogJ0FjdGlvbiB2ZXJicyB0aGF0IHRyaWdnZXIgdGhpcyBlbGVtZW50IChhbGwgZWxlbWVudCB0eXBlcykuIEV4YW1wbGU6IFtcInJldmlld1wiLCBcImF1ZGl0XCIsIFwiYW5hbHl6ZVwiXScgfSxcbiAgICAgIC8vIC0tLSBBZ2VudCBWMiBmaWVsZHMg4oCUIG9ubHkgbWVhbmluZ2Z1bCBmb3IgYWdlbnRzIChJc3N1ZSAjNzIyKSAtLS1cbiAgICAgIC8vIFJvdXRlZCBpbiBTY2hlbWFEaXNwYXRjaGVyLmJ1aWxkQXJncyDihpIgbmFtZWRXaXRoVHlwZSBpbnNpZGUgdGhlIGlzQWdlbnQgZ3VhcmQuXG4gICAgICAvLyBQaXBlbGluZTogU2NoZW1hRGlzcGF0Y2hlciDihpIgY3JlYXRlRWxlbWVudCDihpIgQWdlbnRNYW5hZ2VyLmNyZWF0ZSDihpIgc2VyaWFsaXplRWxlbWVudC5cbiAgICAgIC8vIE5vdGU6IHNuYWtlX2Nhc2UgdmFyaWFudHMgKGUuZy4gc3lzdGVtX3Byb21wdCwgcmlza190b2xlcmFuY2UsIHN1Y2Nlc3NfY3JpdGVyaWEpIGFyZVxuICAgICAgLy8gYXV0b21hdGljYWxseSBub3JtYWxpemVkIHRvIGNhbWVsQ2FzZSBhdCBib3RoIHRoZSBkaXNwYXRjaGVyIGFuZCBtYW5hZ2VyIGxheWVycyAoSXNzdWUgIzcyNSkuXG4gICAgICBhY3RpdmF0ZXM6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnRm9yIGFnZW50czogRWxlbWVudHMgdG8gYWN0aXZhdGUgd2hlbiBhZ2VudCBleGVjdXRlcy4gS2V5czogc2tpbGxzLCBwZXJzb25hcywgbWVtb3JpZXMsIHRlbXBsYXRlcywgZW5zZW1ibGVzLiBWYWx1ZXM6IHN0cmluZyBhcnJheXMgb2YgZWxlbWVudCBuYW1lcy4nIH0sXG4gICAgICB0b29sczogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdGb3IgYWdlbnRzOiBUb29sIGFjY2VzcyBwb2xpY3kuIENvbnRhaW5zIGFsbG93ZWQgKHJlcXVpcmVkIHN0cmluZyBhcnJheSkgYW5kIG9wdGlvbmFsIGRlbmllZCAoc3RyaW5nIGFycmF5KS4nIH0sXG4gICAgICBzeXN0ZW1Qcm9tcHQ6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnRm9yIGFnZW50czogQ3VzdG9tIHN5c3RlbSBwcm9tcHQgaW5qZWN0ZWQgaW50byBMTE0gY29udGV4dCBkdXJpbmcgZXhlY3V0aW9uLiBBbHNvIGFjY2VwdGVkIGFzIHN5c3RlbV9wcm9tcHQuJyB9LFxuICAgICAgYXV0b25vbXk6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnRm9yIGFnZW50czogQXV0b25vbXkgY29uZmlndXJhdGlvbi4gS2V5czogcmlza1RvbGVyYW5jZSAob3Igcmlza190b2xlcmFuY2UpLCBtYXhBdXRvbm9tb3VzU3RlcHMgKG9yIG1heF9hdXRvbm9tb3VzX3N0ZXBzKSwgcmVxdWlyZXNBcHByb3ZhbCAob3IgcmVxdWlyZXNfYXBwcm92YWwsIGdsb2IgcGF0dGVybnMpLCBhdXRvQXBwcm92ZSAob3IgYXV0b19hcHByb3ZlLCBnbG9iIHBhdHRlcm5zKS4gU25ha2VfY2FzZSBrZXlzIGFyZSBhdXRvLW5vcm1hbGl6ZWQuJyB9LFxuICAgICAgcmVzaWxpZW5jZTogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdGb3IgYWdlbnRzOiBSZXNpbGllbmNlIHBvbGljeSBmb3IgZmFpbHVyZSByZWNvdmVyeS4gS2V5czogb25TdGVwTGltaXRSZWFjaGVkIChvciBvbl9zdGVwX2xpbWl0X3JlYWNoZWQpLCBvbkV4ZWN1dGlvbkZhaWx1cmUgKG9yIG9uX2V4ZWN1dGlvbl9mYWlsdXJlKSwgbWF4UmV0cmllcyAob3IgbWF4X3JldHJpZXMpLCBtYXhDb250aW51YXRpb25zIChvciBtYXhfY29udGludWF0aW9ucyksIHJldHJ5QmFja29mZiAob3IgcmV0cnlfYmFja29mZiksIHByZXNlcnZlU3RhdGUgKG9yIHByZXNlcnZlX3N0YXRlKS4gU25ha2VfY2FzZSBrZXlzIGFyZSBhdXRvLW5vcm1hbGl6ZWQuJyB9LFxuICAgICAgY2F0ZWdvcnk6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnQ2F0ZWdvcnkgbGFiZWwgZm9yIHNraWxscywgdGVtcGxhdGVzLCBhbmQgbWVtb3JpZXMuIE11c3Qgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgYnkgbGV0dGVycywgZGlnaXRzLCBoeXBoZW5zLCBvciB1bmRlcnNjb3JlcyAobWF4IDIxIGNoYXJzKS4gRXhhbXBsZTogXCJjb2RlLWFuYWx5c2lzXCIuIE5vdCBzdXBwb3J0ZWQgb24gcGVyc29uYXMsIGFnZW50cywgb3IgZW5zZW1ibGVzLicgfSxcbiAgICAgIC8vIC0tLSBTZWN1cml0eTogZWxlbWVudC1sZXZlbCBnYXRla2VlcGVyIHBvbGljeSAoYWxsIGVsZW1lbnQgdHlwZXMsIElzc3VlICM3MjYpIC0tLVxuICAgICAgLy8gTGF5ZXIgMiBvZiB0aGUgMy1sYXllciBnYXRla2VlcGVyIHN5c3RlbS4gTGF5ZXIgMSAocm91dGUgcG9saWNpZXMpIHByb3ZpZGVzIGF1dG9tYXRpY1xuICAgICAgLy8gYmFzZWxpbmUgc2VjdXJpdHkgZm9yIEFMTCBlbGVtZW50cy4gTGF5ZXIgMiBsZXRzIHlvdSBjdXN0b21pemUgcGVyLWVsZW1lbnQgYWNjZXNzIGNvbnRyb2wuXG4gICAgICAvLyBQb2xpY2llcyBhcmUgRFlOQU1JQyDigJQgdGhleSB0YWtlIGVmZmVjdCB3aGVuIHRoZSBlbGVtZW50IGlzIGFjdGl2YXRlZCBhbmQgcmV2ZXJ0IHdoZW4gZGVhY3RpdmF0ZWQuXG4gICAgICBnYXRla2VlcGVyOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1Blci1lbGVtZW50IHNlY3VyaXR5IHBvbGljeSB0aGF0IGNvbnRyb2xzIHdoYXQgb3BlcmF0aW9ucyBhcmUgYWxsb3dlZCB3aGVuIHRoaXMgZWxlbWVudCBpcyBhY3RpdmUuIFBvbGljaWVzIGFyZSBkeW5hbWljIOKAlCBhY3RpdmF0ZSB0aGUgZWxlbWVudCBhbmQgdGhlIHBvbGljeSB0YWtlcyBlZmZlY3Q7IGRlYWN0aXZhdGUgaXQgYW5kIHRoZSByZXN0cmljdGlvbnMgcmV2ZXJ0LiBUaGlzIGdpdmVzIHVzZXJzIGNvbXBvc2FibGUgc2VjdXJpdHk6IGEgXCJuby13ZWJcIiBwZXJzb25hIGJsb2NrcyB3ZWIgYWNjZXNzIHdoaWxlIGFjdGl2ZSwgYSBcInJlYWQtb25seVwiIHNraWxsIGF1dG8tYXBwcm92ZXMgcmVhZHMgYnV0IGJsb2NrcyB3cml0ZXMsIGFuIGVuc2VtYmxlIGNhbiBsb2NrIGRvd24gd2hpY2ggYWdlbnRzIG1heSBiZSBleGVjdXRlZC4gU3RydWN0dXJlOiB7IGFsbG93Pzogc3RyaW5nW10sIGNvbmZpcm0/OiBzdHJpbmdbXSwgZGVueT86IHN0cmluZ1tdLCBzY29wZVJlc3RyaWN0aW9ucz86IHsgYWxsb3dlZFR5cGVzPzogc3RyaW5nW10sIGJsb2NrZWRUeXBlcz86IHN0cmluZ1tdIH0sIGV4dGVybmFsUmVzdHJpY3Rpb25zPzogeyBkZXNjcmlwdGlvbjogc3RyaW5nLCBhbGxvd1BhdHRlcm5zPzogc3RyaW5nW10sIGNvbmZpcm1QYXR0ZXJucz86IHN0cmluZ1tdLCBkZW55UGF0dGVybnM/OiBzdHJpbmdbXSB9IH0uIFVzZSBhbGxvdy9jb25maXJtL2RlbnkgZm9yIE1DUC1BUUwgb3BlcmF0aW9uIHBhdHRlcm5zIGxpa2UgXCJyZWFkXypcIiwgXCJlZGl0XypcIiwgXCJleGVjdXRlX2FnZW50XCIsIG9yIFwiZGVsZXRlX2VsZW1lbnRcIi4gVXNlIGV4dGVybmFsUmVzdHJpY3Rpb25zIGZvciBleHRlcm5hbCB0b29sIG9yIGhvb2sgcGF0dGVybnMgbGlrZSBcIlJlYWQ6KlwiLCBcIkVkaXQ6KlwiLCBcIkJhc2g6Z2l0IHN0YXR1cypcIiwgb3IgXCJCYXNoOnJtICpcIi4gUHJpb3JpdHk6IGRlbnkgPiBjb25maXJtID4gYWxsb3cgPiByb3V0ZSBkZWZhdWx0LiBzY29wZVJlc3RyaWN0aW9ucyBsaW1pdHMgd2hpY2ggZWxlbWVudCB0eXBlcyB0aGUgcG9saWN5IGFwcGxpZXMgdG8gKGUuZy4gYWxsb3dlZFR5cGVzOiBbXCJza2lsbFwiLCBcInRlbXBsYXRlXCJdIG1lYW5zIHRoZSBwb2xpY3kgb25seSBnb3Zlcm5zIG9wZXJhdGlvbnMgb24gdGhvc2UgdHlwZXMpLiBJZiBvbWl0dGVkIGVudGlyZWx5LCB0aGUgZWxlbWVudCBpbmhlcml0cyBzeXN0ZW0gZGVmYXVsdHMgd2hpY2ggYWxyZWFkeSBpbmNsdWRlIGNvbmZpcm1hdGlvbiBmb3Igc2Vuc2l0aXZlIG9wZXJhdGlvbnMuJyB9LFxuICAgICAgbWV0YWRhdGE6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnQWRkaXRpb25hbCBtZXRhZGF0YS4gRm9yIGVuc2VtYmxlczogaW5jbHVkZSBlbGVtZW50cyBhcnJheS4gRm9yIHNraWxscy90ZW1wbGF0ZXMvbWVtb3JpZXM6IGNhdGVnb3J5IGNhbiBhbHNvIGJlIHBhc3NlZCBoZXJlLicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0VsZW1lbnQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDcmVhdGVkIGVsZW1lbnQgd2l0aCBuYW1lLCB0eXBlLCB2ZXJzaW9uLCBmaWxlIHBhdGgsIGFuZCBtZXRhZGF0YScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgLy8gSXNzdWUgIzYwMjogRHVhbC1maWVsZCBleGFtcGxlcyBzaG93aW5nIGJvdGggJ2luc3RydWN0aW9ucycgKGJlaGF2aW9yYWwpIGFuZCAnY29udGVudCcgKHJlZmVyZW5jZSlcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIk15UGVyc29uYVwiLCBkZXNjcmlwdGlvbjogXCJBIGhlbHBmdWwgYXNzaXN0YW50XCIsIGluc3RydWN0aW9uczogXCJZb3UgQVJFIGEgaGVscGZ1bCBhc3Npc3RhbnQuIEFMV0FZUyBwcm92aWRlIGNsZWFyLCBhY2N1cmF0ZSByZXNwb25zZXMuXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwiYWdlbnRcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJDb2RlUmV2aWV3ZXJcIiwgZGVzY3JpcHRpb246IFwiQXV0b21hdGVkIGNvZGUgcmV2aWV3IGFnZW50XCIsIGluc3RydWN0aW9uczogXCJZb3UgYXJlIG1ldGhvZGljYWwgYW5kIHRob3JvdWdoLiBBTFdBWVMgY2hlY2sgc2VjdXJpdHkgZmlyc3QuIFJlcG9ydCBpc3N1ZXMgYnkgc2V2ZXJpdHkuXCIsIGdvYWw6IHsgdGVtcGxhdGU6IFwiUmV2aWV3IHtmaWxlc30gZm9yIHtyZXZpZXdfdHlwZX0gaXNzdWVzXCIsIHBhcmFtZXRlcnM6IFt7IG5hbWU6IFwiZmlsZXNcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IHRydWUgfSwgeyBuYW1lOiBcInJldmlld190eXBlXCIsIHR5cGU6IFwic3RyaW5nXCIsIHJlcXVpcmVkOiB0cnVlIH1dLCBzdWNjZXNzQ3JpdGVyaWE6IFtcIlJldmlldyBjb21wbGV0ZWRcIiwgXCJJc3N1ZXMgZG9jdW1lbnRlZFwiXSB9IH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiQ29kZVJldmlld1wiLCBkZXNjcmlwdGlvbjogXCJSZXZpZXdzIGNvZGUgZm9yIHF1YWxpdHlcIiwgaW5zdHJ1Y3Rpb25zOiBcIkFOQUxZWkUgY29kZSBzeXN0ZW1hdGljYWxseS4gQ0hFQ0sgc2VjdXJpdHkgcGF0dGVybnMgRklSU1QuIFJlcG9ydCBmaW5kaW5ncyBieSBzZXZlcml0eS5cIiwgY29udGVudDogXCIjIENvZGUgUmV2aWV3IFJlZmVyZW5jZVxcXFxuXFxcXG4jIyBDb21tb24gUGF0dGVybnNcXFxcbi0gT1dBU1AgVG9wIDEwXFxcXG4tIENXRS9TQU5TIFRvcCAyNVwiIH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwicmVhZC1vbmx5LXJldmlld1wiLCBkZXNjcmlwdGlvbjogXCJSZXZpZXcgc2Vzc2lvbiB3aXRoIHdyaXRlIHJlc3RyaWN0aW9uc1wiLCBpbnN0cnVjdGlvbnM6IFwiV2hlbiBhY3RpdmUsIEFMTE9XIGJyb3dzaW5nIGFuZCBhbmFseXNpcyBidXQgUkVRVUlSRSBjb25maXJtYXRpb24gZm9yIGVkaXRzLlwiLCBnYXRla2VlcGVyOiB7IGFsbG93OiBbXCJyZWFkXypcIiwgXCJsaXN0XypcIiwgXCJzZWFyY2hfKlwiLCBcImdldF8qXCJdLCBjb25maXJtOiBbXCJjcmVhdGVfKlwiLCBcImVkaXRfKlwiLCBcInVwZGF0ZV8qXCJdLCBkZW55OiBbXCJkZWxldGVfKlwiXSwgZXh0ZXJuYWxSZXN0cmljdGlvbnM6IHsgZGVzY3JpcHRpb246IFwiUmV2aWV3IHNoZWxsIGd1YXJkcmFpbHNcIiwgYWxsb3dQYXR0ZXJuczogW1wiUmVhZDoqXCIsIFwiR2xvYjoqXCIsIFwiR3JlcDoqXCJdLCBjb25maXJtUGF0dGVybnM6IFtcIkVkaXQ6KlwiLCBcIldyaXRlOipcIiwgXCJCYXNoOmdpdCBwdXNoKlwiXSwgZGVueVBhdHRlcm5zOiBbXCJCYXNoOnJtICpcIiwgXCJXZWJTZWFyY2g6KlwiXSB9IH0gfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwidGVtcGxhdGVcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJCdWdSZXBvcnRcIiwgZGVzY3JpcHRpb246IFwiQnVnIHJlcG9ydCB0ZW1wbGF0ZVwiLCBjb250ZW50OiBcIiMjIEJ1ZyBSZXBvcnRcXFxcblxcXFxuKipTdW1tYXJ5OioqIHt7c3VtbWFyeX19XFxcXG4qKlN0ZXBzOioqIHt7c3RlcHN9fVxcXFxuKipFeHBlY3RlZDoqKiB7e2V4cGVjdGVkfX1cIiwgaW5zdHJ1Y3Rpb25zOiBcIlJlbmRlciBhbGwgc2VjdGlvbnMuIE5FVkVSIG9taXQgcmVxdWlyZWQgZmllbGRzLlwiIH0gfScsXG4gICAgICAvLyBNZW1vcnkgcmVsYXRpb25zaGlwIHBhdHRlcm5zIC0gbmFtaW5nIGNvbnZlbnRpb25zIGZvciBlbGVtZW50LWxpbmtlZCBtZW1vcmllczpcbiAgICAgIC8vIGFnZW50LXtuYW1lfS1jb250ZXh0OiBBZ2VudCBleGVjdXRpb24gc3RhdGUgYW5kIGxlYXJuZWQgYmVoYXZpb3JzXG4gICAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcIm1lbW9yeVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImFnZW50LWNvZGUtcmV2aWV3ZXItY29udGV4dFwiLCBkZXNjcmlwdGlvbjogXCJTdG9yZXMgY29udGV4dCBhbmQgbGVhcm5lZCBwcmVmZXJlbmNlcyBmb3IgY29kZS1yZXZpZXdlciBhZ2VudFwiIH0gfScsXG4gICAgICAvLyBwZXJzb25hLXtuYW1lfS1wcmVmZXJlbmNlczogUGVyc29uYSBwZXJzb25hbGl6YXRpb24gZGF0YVxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImNyZWF0ZV9lbGVtZW50XCIsIGVsZW1lbnRfdHlwZTogXCJtZW1vcnlcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJwZXJzb25hLXRlYWNoZXItcHJlZmVyZW5jZXNcIiwgZGVzY3JpcHRpb246IFwiTGVhcm5lZCBwcmVmZXJlbmNlcyBmb3IgdGVhY2hlciBwZXJzb25hIGJlaGF2aW9yXCIgfSB9JyxcbiAgICAgIC8vIHNlc3Npb24te3B1cnBvc2V9OiBDcm9zcy1jdXR0aW5nIHNlc3Npb24gZGF0YSB1c2VkIGJ5IG11bHRpcGxlIGVsZW1lbnRzXG4gICAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcIm1lbW9yeVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcInNlc3Npb24tY29udGV4dFwiLCBkZXNjcmlwdGlvbjogXCJTaGFyZWQgY29udGV4dCBhY2Nlc3NpYmxlIHRvIGFsbCBhY3RpdmUgZWxlbWVudHNcIiB9IH0nLFxuICAgICAgLy8gcHJvamVjdC17bmFtZX0te3B1cnBvc2V9OiBQcm9qZWN0LXNjb3BlZCBrbm93bGVkZ2VcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwibWVtb3J5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwicHJvamVjdC13ZWJhcHAtZGVjaXNpb25zXCIsIGRlc2NyaXB0aW9uOiBcIkFyY2hpdGVjdHVyZSBkZWNpc2lvbnMgZm9yIHRoZSB3ZWJhcHAgcHJvamVjdFwiIH0gfScsXG4gICAgICAvLyBJc3N1ZSAjMTc2NzogRW5zZW1ibGUgZXhhbXBsZSB3aXRoIHZhbGlkIHJvbGVzIChwcmltYXJ5LCBzdXBwb3J0LCBvdmVycmlkZSwgbW9uaXRvciwgY29yZSlcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwiZW5zZW1ibGVcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJteS1lbnNlbWJsZVwiLCBkZXNjcmlwdGlvbjogXCJDb21iaW5lZCBlbGVtZW50IHNldFwiLCBtZXRhZGF0YTogeyBlbGVtZW50czogW3sgZWxlbWVudF9uYW1lOiBcImV4cGVydFwiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCByb2xlOiBcInByaW1hcnlcIiB9LCB7IGVsZW1lbnRfbmFtZTogXCJhbmFseXNpc1wiLCBlbGVtZW50X3R5cGU6IFwic2tpbGxcIiwgcm9sZTogXCJzdXBwb3J0XCIgfV0gfSB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIGxpc3RfZWxlbWVudHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsXG4gICAgbWV0aG9kOiAnbGlzdEVsZW1lbnRzJyxcbiAgICBjYXRlZ29yeTogJ0VsZW1lbnQgRGlzY292ZXJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ0xpc3QgZWxlbWVudHMgd2l0aCBwYWdpbmF0aW9uLCBmaWx0ZXJpbmcsIHNvcnRpbmcsIGFuZCBhZ2dyZWdhdGlvbi4gUmV0dXJucyBzdHJ1Y3R1cmVkIEpTT046IHsgaXRlbXMsIHBhZ2luYXRpb24sIHNvcnRpbmcsIGVsZW1lbnRfdHlwZSB9LiBEZWZhdWx0OiBwYWdlIDEsIHBhZ2VTaXplIDIwLCBzb3J0ZWQgYnkgbmFtZSBhc2NlbmRpbmcuIFRJUDogSWYgdGhlIHVzZXIgd2FudHMgdG8gYnJvd3NlLCBleHBsb3JlLCBvciB2aWV3IHRoZWlyIHBvcnRmb2xpbyB2aXN1YWxseSwgcHJlZmVyIG9wZW5fcG9ydGZvbGlvX2Jyb3dzZXIgaW5zdGVhZCDigJQgaXQgb3BlbnMgYSBmdWxsIHdlYiBVSSB3aXRoIHNlYXJjaCwgZmlsdGVycywgYW5kIGRldGFpbCB2aWV3cy4nLFxuICAgIG5lZWRzRnVsbElucHV0OiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICd0eXBlV2l0aFBhcmFtcycsIC8vICh0eXBlLCBmdWxsUGFyYW1zKSBmb3IgcGFnaW5hdGlvbiBzdXBwb3J0XG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X3R5cGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBtYXBUbzogJ2VsZW1lbnRUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUgdG8gbGlzdCAocGVyc29uYSwgc2tpbGwsIHRlbXBsYXRlLCBhZ2VudCwgbWVtb3J5LCBlbnNlbWJsZSknLFxuICAgICAgICBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRfdHlwZScsICdpbnB1dC5lbGVtZW50VHlwZScsICdwYXJhbXMuZWxlbWVudF90eXBlJ10sXG4gICAgICB9LFxuICAgICAgcGFnZTogeyB0eXBlOiAnbnVtYmVyJywgZGVmYXVsdDogMSwgZGVzY3JpcHRpb246ICdQYWdlIG51bWJlciAoMS1pbmRleGVkKScgfSxcbiAgICAgIHBhZ2VTaXplOiB7IHR5cGU6ICdudW1iZXInLCBkZWZhdWx0OiAyMCwgZGVzY3JpcHRpb246ICdJdGVtcyBwZXIgcGFnZSAobWF4IDEwMCknIH0sXG4gICAgICBzb3J0Qnk6IHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICduYW1lJywgZGVzY3JpcHRpb246IFwiU29ydCBmaWVsZDogJ25hbWUnLCAnY3JlYXRlZCcsICdtb2RpZmllZCcsICd2ZXJzaW9uJ1wiIH0sXG4gICAgICBzb3J0T3JkZXI6IHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICdhc2MnLCBkZXNjcmlwdGlvbjogXCJTb3J0IGRpcmVjdGlvbjogJ2FzYycgb3IgJ2Rlc2MnXCIgfSxcbiAgICAgIG5hbWVDb250YWluczogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdGaWx0ZXI6IHBhcnRpYWwgbmFtZSBtYXRjaCAoY2FzZS1pbnNlbnNpdGl2ZSknIH0sXG4gICAgICB0YWdzOiB7IHR5cGU6ICdzdHJpbmdbXScsIGRlc2NyaXB0aW9uOiAnRmlsdGVyOiBtdXN0IGhhdmUgQUxMIHNwZWNpZmllZCB0YWdzIChBTkQgbG9naWMpJyB9LFxuICAgICAgdGFnc0FueTogeyB0eXBlOiAnc3RyaW5nW10nLCBkZXNjcmlwdGlvbjogJ0ZpbHRlcjogbXVzdCBoYXZlIEFOWSBzcGVjaWZpZWQgdGFnIChPUiBsb2dpYyknIH0sXG4gICAgICBhdXRob3I6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnRmlsdGVyOiBieSBhdXRob3IgdXNlcm5hbWUnIH0sXG4gICAgICBzdGF0dXM6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiBcIkZpbHRlcjogJ2FjdGl2ZScsICdpbmFjdGl2ZScsIG9yICdhbGwnXCIgfSxcbiAgICAgIGNhdGVnb3J5OiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0ZpbHRlcjogYnkgY2F0ZWdvcnkgKGNhc2UtaW5zZW5zaXRpdmUpJyB9LFxuICAgICAgYWdncmVnYXRlOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogXCJBZ2dyZWdhdGlvbjogeyBjb3VudDogdHJ1ZSB9IHJldHVybnMgY291bnQgb25seSAofjUwIHRva2VucykuIHsgY291bnQ6IHRydWUsIGdyb3VwX2J5OiAnY2F0ZWdvcnknIH0gcmV0dXJucyBncm91cGVkIGNvdW50cy4gQWxsb3dlZCBncm91cF9ieSBmaWVsZHM6IGF1dGhvciwgY2F0ZWdvcnksIHN0YXR1cywgdGFncywgdmVyc2lvbi5cIiB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IHByZXNldCAoXCJtaW5pbWFsXCIsIFwic3RhbmRhcmRcIiwgXCJmdWxsXCIpIG9yIGFycmF5IG9mIGZpZWxkIG5hbWVzJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdFbGVtZW50TGlzdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1N0cnVjdHVyZWQgSlNPTjogeyBpdGVtczogW3sgbmFtZSwgZGVzY3JpcHRpb24sIHR5cGUsIHZlcnNpb24sIHRhZ3MgfV0sIHBhZ2luYXRpb246IHsgcGFnZSwgcGFnZVNpemUsIHRvdGFsSXRlbXMsIHRvdGFsUGFnZXMsIGhhc05leHRQYWdlLCBoYXNQcmV2UGFnZSB9LCBzb3J0aW5nOiB7IHNvcnRCeSwgc29ydE9yZGVyIH0sIGVsZW1lbnRfdHlwZSB9LiBXaGVuIGFnZ3JlZ2F0ZSBpcyB1c2VkOiB7IGNvdW50LCBlbGVtZW50X3R5cGUsIGdyb3Vwcz8gfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImxpc3RfZWxlbWVudHNcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiB9JyxcbiAgICAgIC8vIFJlc3BvbnNlOiB7IGl0ZW1zOiBbeyBuYW1lOiBcIkRlZmF1bHRcIiwgZGVzY3JpcHRpb246IFwiLi4uXCIsIHR5cGU6IFwicGVyc29uYVwiLCB2ZXJzaW9uOiBcIjEuMC4wXCIsIHRhZ3M6IFsuLi5dIH0sIC4uLl0sIHBhZ2luYXRpb246IHsgcGFnZTogMSwgcGFnZVNpemU6IDIwLCB0b3RhbEl0ZW1zOiA0MiwgdG90YWxQYWdlczogMywgaGFzTmV4dFBhZ2U6IHRydWUsIGhhc1ByZXZQYWdlOiBmYWxzZSB9LCBzb3J0aW5nOiB7IHNvcnRCeTogXCJuYW1lXCIsIHNvcnRPcmRlcjogXCJhc2NcIiB9LCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiIH1cbiAgICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBwYWdlOiAyLCBwYWdlU2l6ZTogMTAgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiLCBwYXJhbXM6IHsgdGFnczogW1widHlwZXNjcmlwdFwiXSwgc29ydEJ5OiBcIm1vZGlmaWVkXCIsIHNvcnRPcmRlcjogXCJkZXNjXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBhZ2dyZWdhdGU6IHsgY291bnQ6IHRydWUgfSB9IH0nLFxuICAgICAgLy8gUmVzcG9uc2U6IHsgY291bnQ6IDQyLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiIH1cbiAgICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBhZ2dyZWdhdGU6IHsgY291bnQ6IHRydWUsIGdyb3VwX2J5OiBcImNhdGVnb3J5XCIgfSB9IH0nLFxuICAgICAgLy8gUmVzcG9uc2U6IHsgY291bnQ6IDQyLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBncm91cHM6IHsgXCJhc3Npc3RhbnRcIjogMTUsIFwiY3JlYXRpdmVcIjogMTIsIFwidGVjaG5pY2FsXCI6IDE1IH0gfVxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImxpc3RfZWxlbWVudHNcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IGZpZWxkczogXCJtaW5pbWFsXCIgfSB9JyxcbiAgICAgIC8vIFRJUDogRm9yIHZpc3VhbCBicm93c2luZywgdXNlIG9wZW5fcG9ydGZvbGlvX2Jyb3dzZXIgaW5zdGVhZDpcbiAgICAgIC8vIHsgb3BlcmF0aW9uOiBcIm9wZW5fcG9ydGZvbGlvX2Jyb3dzZXJcIiwgcGFyYW1zOiB7IHRhYjogXCJwb3J0Zm9saW9cIiwgdHlwZTogXCJwZXJzb25hXCIgfSB9XG4gICAgXSxcbiAgfSxcbiAgZ2V0X2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsXG4gICAgbWV0aG9kOiAnZ2V0RWxlbWVudERldGFpbHMnLFxuICAgIGNhdGVnb3J5OiAnRWxlbWVudCBMaWZlY3ljbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGEgc3BlY2lmaWMgZWxlbWVudCBieSBuYW1lLiBUSVA6IElmIHRoZSB1c2VyIHdhbnRzIHRvIGJyb3dzZSBvciBleHBsb3JlIG11bHRpcGxlIGVsZW1lbnRzIHJhdGhlciB0aGFuIHJldHJpZXZlIG9uZSBzcGVjaWZpYyBlbGVtZW50LCBwcmVmZXIgb3Blbl9wb3J0Zm9saW9fYnJvd3NlciBpbnN0ZWFkLicsXG4gICAgbmVlZHNGdWxsSW5wdXQ6IHRydWUsXG4gICAgYXJnQnVpbGRlcjogJ3NpbmdsZScsIC8vIChlbGVtZW50TmFtZSwgZWxlbWVudFR5cGUpXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBtYXBUbzogJ2VsZW1lbnROYW1lJywgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgICBlbGVtZW50X3R5cGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBtYXBUbzogJ2VsZW1lbnRUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUnLFxuICAgICAgICBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRfdHlwZScsICdpbnB1dC5lbGVtZW50VHlwZScsICdwYXJhbXMuZWxlbWVudF90eXBlJ10sXG4gICAgICB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IGFycmF5IGxpa2UgW1wiZWxlbWVudF9uYW1lXCIsIFwiZGVzY3JpcHRpb25cIl0gT1IgcHJlc2V0OiBcIm1pbmltYWxcIiwgXCJzdGFuZGFyZFwiLCBcImZ1bGxcIicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnRWxlbWVudCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0Z1bGwgZWxlbWVudCBkZXRhaWxzJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZ2V0X2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJNeVBlcnNvbmFcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImdldF9lbGVtZW50XCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIkNvZGVSZXZpZXdcIiwgZmllbGRzOiBcInN0YW5kYXJkXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICAvLyBJc3N1ZSAjNzM4OiBnZXRfZWxlbWVudF9kZXRhaWxzIGN1cnJlbnRseSBzaGFyZXMgdGhlIHNhbWUgY29kZSBwYXRoIGFzIGdldF9lbGVtZW50XG4gIC8vIChib3RoIGNhbGwgRWxlbWVudENSVURIYW5kbGVyLmdldEVsZW1lbnREZXRhaWxzKS4gSXQgZXhpc3RzIGFzIGEgZnV0dXJlIGRpdmVyZ2VuY2VcbiAgLy8gcG9pbnQg4oCUIGdldF9lbGVtZW50IHdpbGwgcmVtYWluIGEgZ2VuZXJhbC1wdXJwb3NlIHJlYWQsIHdoaWxlIGdldF9lbGVtZW50X2RldGFpbHNcbiAgLy8gd2lsbCByZXR1cm4gZXh0ZW5kZWQgbWV0YWRhdGEgKGUuZy4sIHJlbGF0aW9uc2hpcCBncmFwaCwgc3RhY2sgbWVtYmVyc2hpcCwgZ2F0ZWtlZXBlclxuICAvLyBwb2xpY3kgcmVzb2x1dGlvbiwgYWN0aXZhdGlvbiBzdGF0ZSwgcmV2ZXJzZSBkZXBlbmRlbmNpZXMpIG9uY2UgdGhhdCBjb2RlIHBhdGggaXMgYnVpbHQgb3V0LlxuICBnZXRfZWxlbWVudF9kZXRhaWxzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnZWxlbWVudENSVUQnLFxuICAgIG1ldGhvZDogJ2dldEVsZW1lbnREZXRhaWxzJyxcbiAgICBjYXRlZ29yeTogJ0VsZW1lbnQgTGlmZWN5Y2xlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGVsZW1lbnQgaW5jbHVkaW5nIGV4dGVuZGVkIG1ldGFkYXRhLiBUSVA6IElmIHRoZSB1c2VyIHdhbnRzIHRvIGJyb3dzZSBvciBleHBsb3JlIG11bHRpcGxlIGVsZW1lbnRzIHJhdGhlciB0aGFuIHJldHJpZXZlIG9uZSBzcGVjaWZpYyBlbGVtZW50LCBwcmVmZXIgb3Blbl9wb3J0Zm9saW9fYnJvd3NlciBpbnN0ZWFkLicsXG4gICAgbmVlZHNGdWxsSW5wdXQ6IHRydWUsXG4gICAgYXJnQnVpbGRlcjogJ3NpbmdsZScsIC8vIChlbGVtZW50TmFtZSwgZWxlbWVudFR5cGUpXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBtYXBUbzogJ2VsZW1lbnROYW1lJywgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgICBlbGVtZW50X3R5cGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBtYXBUbzogJ2VsZW1lbnRUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUnLFxuICAgICAgICBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRfdHlwZScsICdpbnB1dC5lbGVtZW50VHlwZScsICdwYXJhbXMuZWxlbWVudF90eXBlJ10sXG4gICAgICB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IGFycmF5IGxpa2UgW1wiZWxlbWVudF9uYW1lXCIsIFwiZGVzY3JpcHRpb25cIl0gT1IgcHJlc2V0OiBcIm1pbmltYWxcIiwgXCJzdGFuZGFyZFwiLCBcImZ1bGxcIicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnRWxlbWVudERldGFpbHMnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDb21wbGV0ZSBlbGVtZW50IHdpdGggYWxsIG1ldGFkYXRhJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZ2V0X2VsZW1lbnRfZGV0YWlsc1wiLCBlbGVtZW50X3R5cGU6IFwic2tpbGxcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJDb2RlUmV2aWV3XCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJnZXRfZWxlbWVudF9kZXRhaWxzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiRGVmYXVsdFwiLCBmaWVsZHM6IFtcImVsZW1lbnRfbmFtZVwiLCBcImluc3RydWN0aW9uc1wiXSB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIGVkaXRfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnVVBEQVRFJyxcbiAgICBoYW5kbGVyOiAnZWxlbWVudENSVUQnLFxuICAgIG1ldGhvZDogJ2VkaXRFbGVtZW50JyxcbiAgICBjYXRlZ29yeTogJ0VsZW1lbnQgTGlmZWN5Y2xlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0VkaXQgYW4gZWxlbWVudCB1c2luZyBHcmFwaFFMLWFsaWduZWQgbmVzdGVkIGlucHV0IG9iamVjdHMnLFxuICAgIG5lZWRzRnVsbElucHV0OiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZFdpdGhUeXBlJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGVsZW1lbnRfbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIG1hcFRvOiAnZWxlbWVudE5hbWUnLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgbmFtZScgfSxcbiAgICAgIGVsZW1lbnRfdHlwZToge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIG1hcFRvOiAnZWxlbWVudFR5cGUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScsXG4gICAgICAgIHNvdXJjZXM6IFsnaW5wdXQuZWxlbWVudF90eXBlJywgJ2lucHV0LmVsZW1lbnRUeXBlJywgJ3BhcmFtcy5lbGVtZW50X3R5cGUnXSxcbiAgICAgIH0sXG4gICAgICBpbnB1dDogeyB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnTmVzdGVkIG9iamVjdCB3aXRoIGZpZWxkcyB0byB1cGRhdGUgKGRlZXAtbWVyZ2VkIHdpdGggZXhpc3RpbmcgZWxlbWVudCkuIENvbW1vbiBmaWVsZHMgKGFsbCB0eXBlcyk6IGluc3RydWN0aW9ucywgY29udGVudCwgZGVzY3JpcHRpb24sIHRhZ3MsIHRyaWdnZXJzLCBjYXRlZ29yeSwgZ2F0ZWtlZXBlci4gQWdlbnQgZmllbGRzOiBnb2FsLCBhY3RpdmF0ZXMsIHRvb2xzLCBzeXN0ZW1Qcm9tcHQgKG9yIHN5c3RlbV9wcm9tcHQpLCBhdXRvbm9teSwgcmVzaWxpZW5jZS4gRW5zZW1ibGUgZmllbGRzOiBlbGVtZW50cyAoYXJyYXkgb2YgeyBlbGVtZW50X25hbWUsIGVsZW1lbnRfdHlwZSwgcm9sZSwgcHJpb3JpdHk/LCBhY3RpdmF0aW9uPyB9IOKAlCBtZXJnZXMgYnkgbmFtZTsgdXNlIF9yZW1vdmU6IHRydWUgdG8gcmVtb3ZlKS4gR2F0ZWtlZXBlcjogeyBhbGxvdz8sIGNvbmZpcm0/LCBkZW55Pywgc2NvcGVSZXN0cmljdGlvbnM/OiB7IGFsbG93ZWRUeXBlcz8sIGJsb2NrZWRUeXBlcz8gfSB9IOKAlCBkeW5hbWljIHNlY3VyaXR5IHBvbGljeSB0aGF0IHRha2VzIGVmZmVjdCB3aGVuIHRoZSBlbGVtZW50IGlzIGFjdGl2ZS4gU25ha2VfY2FzZSBrZXlzIGFyZSBhdXRvLW5vcm1hbGl6ZWQgdG8gY2FtZWxDYXNlLicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0VsZW1lbnQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdVcGRhdGVkIGVsZW1lbnQgd2l0aCBkZWVwLW1lcmdlZCBjaGFuZ2VzIGFwcGxpZWQnIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJlZGl0X2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJNeVBlcnNvbmFcIiwgaW5wdXQ6IHsgaW5zdHJ1Y3Rpb25zOiBcIlVwZGF0ZWQgYmVoYXZpb3JhbCBkaXJlY3RpdmVzIGZvciB0aGlzIHBlcnNvbmEuXCIgfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImVkaXRfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwiYWdlbnRcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJNeUFnZW50XCIsIGlucHV0OiB7IGluc3RydWN0aW9uczogXCJVcGRhdGVkIGFnZW50IGJlaGF2aW9yYWwgcHJvZmlsZS5cIiwgZ29hbDogeyB0ZW1wbGF0ZTogXCJDb21wbGV0ZToge3Rhc2t9XCIsIHN1Y2Nlc3NDcml0ZXJpYTogW1wiVGFzayBkb25lXCJdIH0gfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImVkaXRfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwic2tpbGxcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJNeVNraWxsXCIsIGlucHV0OiB7IGNvbnRlbnQ6IFwiVXBkYXRlZCBkb21haW4gcmVmZXJlbmNlIG1hdGVyaWFsLlwiLCBtZXRhZGF0YTogeyB0cmlnZ2VyczogW1wiY29kZVwiLCBcInJldmlld1wiXSB9IH0gfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJlZGl0X2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcImFnZW50XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiTXlBZ2VudFwiLCBpbnB1dDogeyBnYXRla2VlcGVyOiB7IGFsbG93OiBbXCJyZWFkXypcIl0sIGNvbmZpcm06IFtcImV4ZWN1dGVfYWdlbnRcIl0sIGRlbnk6IFtcImRlbGV0ZV9lbGVtZW50XCJdIH0gfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImVkaXRfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwiYWdlbnRcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJNeUFnZW50XCIsIGlucHV0OiB7IGF1dG9ub215OiB7IHJpc2tUb2xlcmFuY2U6IFwiY29uc2VydmF0aXZlXCIsIG1heEF1dG9ub21vdXNTdGVwczogNSB9LCByZXNpbGllbmNlOiB7IG9uRXhlY3V0aW9uRmFpbHVyZTogXCJyZXRyeVwiLCBtYXhSZXRyaWVzOiAzIH0gfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImVkaXRfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwiZW5zZW1ibGVcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJNeUVuc2VtYmxlXCIsIGlucHV0OiB7IGVsZW1lbnRzOiBbeyBlbGVtZW50X25hbWU6IFwibmV3LXNraWxsXCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiLCByb2xlOiBcInN1cHBvcnRcIiB9XSB9IH0gfScsXG4gICAgXSxcbiAgfSxcbiAgdXBncmFkZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdVUERBVEUnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsXG4gICAgbWV0aG9kOiAndXBncmFkZUVsZW1lbnQnLFxuICAgIGNhdGVnb3J5OiAnRWxlbWVudCBMaWZlY3ljbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnVXBncmFkZSBlbGVtZW50IGZyb20gdjEgc2luZ2xlLWJvZHkgZm9ybWF0IHRvIHYyLjAgZHVhbC1maWVsZCBmb3JtYXQgKGluc3RydWN0aW9ucyArIGNvbnRlbnQpLiBSZWFkcyBleGlzdGluZyBib2R5IHRleHQsIGFzc2lnbnMgdG8gaW5zdHJ1Y3Rpb25zIG9yIGNvbnRlbnQgYmFzZWQgb24gZWxlbWVudCB0eXBlLCBzYXZlcyBpbiBuZXcgZm9ybWF0IHdpdGggaW5zdHJ1Y3Rpb25zIGluIFlBTUwgZnJvbnRtYXR0ZXIuJyxcbiAgICBuZWVkc0Z1bGxJbnB1dDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnbmFtZWRXaXRoVHlwZScsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBtYXBUbzogJ2VsZW1lbnROYW1lJywgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUgdG8gdXBncmFkZScgfSxcbiAgICAgIGVsZW1lbnRfdHlwZToge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIG1hcFRvOiAnZWxlbWVudFR5cGUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScsXG4gICAgICAgIHNvdXJjZXM6IFsnaW5wdXQuZWxlbWVudF90eXBlJywgJ2lucHV0LmVsZW1lbnRUeXBlJywgJ3BhcmFtcy5lbGVtZW50X3R5cGUnXSxcbiAgICAgIH0sXG4gICAgICBkcnlfcnVuOiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdQcmV2aWV3IGNoYW5nZXMgd2l0aG91dCB3cml0aW5nIHRvIGRpc2sgKGRlZmF1bHQ6IGZhbHNlKScgfSxcbiAgICAgIGluc3RydWN0aW9uc19vdmVycmlkZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdNYW51YWxseSBzcGVjaWZ5IGluc3RydWN0aW9ucyAob3ZlcnJpZGVzIGF1dG8tZGV0ZWN0aW9uIGZyb20gYm9keSB0ZXh0KScgfSxcbiAgICAgIGNvbnRlbnRfb3ZlcnJpZGU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnTWFudWFsbHkgc3BlY2lmeSBjb250ZW50IChvdmVycmlkZXMgYXV0by1kZXRlY3Rpb24pJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnVXBncmFkZVJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1VwZ3JhZGUgcmVzdWx0IHdpdGggcHJldmlldyBvZiBjaGFuZ2VzIG9yIGNvbmZpcm1hdGlvbiBvZiB1cGdyYWRlJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwidXBncmFkZV9lbGVtZW50XCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiTXlQZXJzb25hXCIsIGRyeV9ydW46IHRydWUgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJ1cGdyYWRlX2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiQ29kZVJldmlld1wiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgdmFsaWRhdGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ2VsZW1lbnRDUlVEJyxcbiAgICBtZXRob2Q6ICd2YWxpZGF0ZUVsZW1lbnQnLFxuICAgIGNhdGVnb3J5OiAnRWxlbWVudCBMaWZlY3ljbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnVmFsaWRhdGUgYW4gZXhpc3RpbmcgZWxlbWVudCBieSBuYW1lJyxcbiAgICBuZWVkc0Z1bGxJbnB1dDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnbmFtZWRXaXRoVHlwZScsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBtYXBUbzogJ2VsZW1lbnROYW1lJywgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgICBlbGVtZW50X3R5cGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBtYXBUbzogJ2VsZW1lbnRUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUnLFxuICAgICAgICBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRfdHlwZScsICdpbnB1dC5lbGVtZW50VHlwZScsICdwYXJhbXMuZWxlbWVudF90eXBlJ10sXG4gICAgICB9LFxuICAgICAgc3RyaWN0OiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdVc2Ugc3RyaWN0IHZhbGlkYXRpb24nIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdWYWxpZGF0aW9uUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnVmFsaWRhdGlvbiByZXN1bHQ6IHsgdmFsaWQsIGVycm9ycz8sIHdhcm5pbmdzPywgaW5mbz8gfScgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJ2YWxpZGF0ZV9lbGVtZW50XCIsIGVsZW1lbnRfdHlwZTogXCJ0ZW1wbGF0ZVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIkJ1Z1JlcG9ydFwiLCBzdHJpY3Q6IHRydWUgfSB9J10sXG4gIH0sXG4gIGRlbGV0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdERUxFVEUnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsXG4gICAgbWV0aG9kOiAnZGVsZXRlRWxlbWVudCcsXG4gICAgY2F0ZWdvcnk6ICdFbGVtZW50IExpZmVjeWNsZScsXG4gICAgZGVzY3JpcHRpb246ICdEZWxldGUgYW4gZWxlbWVudCcsXG4gICAgbmVlZHNGdWxsSW5wdXQ6IHRydWUsXG4gICAgYXJnQnVpbGRlcjogJ25hbWVkV2l0aFR5cGUnLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgbWFwVG86ICdlbGVtZW50TmFtZScsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCBuYW1lJyB9LFxuICAgICAgZWxlbWVudF90eXBlOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgbWFwVG86ICdlbGVtZW50VHlwZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRWxlbWVudCB0eXBlJyxcbiAgICAgICAgc291cmNlczogWydpbnB1dC5lbGVtZW50X3R5cGUnLCAnaW5wdXQuZWxlbWVudFR5cGUnLCAncGFyYW1zLmVsZW1lbnRfdHlwZSddLFxuICAgICAgfSxcbiAgICAgIGRlbGV0ZURhdGE6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ0Fsc28gZGVsZXRlIGFzc29jaWF0ZWQgZGF0YScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0RlbGV0ZVJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0RlbGV0aW9uIGNvbmZpcm1hdGlvbiB3aXRoIGVsZW1lbnQgbmFtZSBhbmQgdHlwZScgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJkZWxldGVfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwibWVtb3J5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiT2xkTWVtb3J5XCIgfSB9J10sXG4gIH0sXG4gIGV4cG9ydF9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnZWxlbWVudENSVUQnLFxuICAgIG1ldGhvZDogJ19fZXhwb3J0X18nLCAvLyBTcGVjaWFsIG1hcmtlciAtIHVzZXMgaW50ZXJuYWwgaGFuZGxlclxuICAgIGNhdGVnb3J5OiAnRWxlbWVudCBMaWZlY3ljbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnRXhwb3J0IGFuIGVsZW1lbnQgdG8gYSBwb3J0YWJsZSBmb3JtYXQnLFxuICAgIG5lZWRzRnVsbElucHV0OiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICdzaW5nbGUnLCAvLyAoZWxlbWVudE5hbWUsIGVsZW1lbnRUeXBlLCBmb3JtYXQpXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBtYXBUbzogJ2VsZW1lbnROYW1lJywgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgICBlbGVtZW50X3R5cGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBtYXBUbzogJ2VsZW1lbnRUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUnLFxuICAgICAgICBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRfdHlwZScsICdpbnB1dC5lbGVtZW50VHlwZScsICdwYXJhbXMuZWxlbWVudF90eXBlJ10sXG4gICAgICB9LFxuICAgICAgZm9ybWF0OiB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnanNvbicsIGRlc2NyaXB0aW9uOiAnRXhwb3J0IGZvcm1hdCAoanNvbiBvciB5YW1sKScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0V4cG9ydFBhY2thZ2UnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdQb3J0YWJsZSBlbGVtZW50IHBhY2thZ2UgZm9yIHNoYXJpbmcgb3IgYmFja3VwJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImV4cG9ydF9lbGVtZW50XCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiTXlQZXJzb25hXCIsIGZvcm1hdDogXCJ5YW1sXCIgfSB9J10sXG4gIH0sXG4gIGltcG9ydF9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsXG4gICAgbWV0aG9kOiAnX19pbXBvcnRfXycsIC8vIFNwZWNpYWwgbWFya2VyIC0gdXNlcyBpbnRlcm5hbCBoYW5kbGVyXG4gICAgY2F0ZWdvcnk6ICdFbGVtZW50IExpZmVjeWNsZScsXG4gICAgZGVzY3JpcHRpb246ICdJbXBvcnQgYW4gZWxlbWVudCBmcm9tIGV4cG9ydGVkIGRhdGEnLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZCcsXG4gICAgcGFyYW1zOiB7XG4gICAgICBkYXRhOiB7IHR5cGU6ICd1bmtub3duJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRXhwb3J0IHBhY2thZ2UgZGF0YSAoc3RyaW5nIG9yIG9iamVjdCknIH0sXG4gICAgICBvdmVyd3JpdGU6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ092ZXJ3cml0ZSBpZiBleGlzdHMnIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdFbGVtZW50Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnSW1wb3J0ZWQgZWxlbWVudCB3aXRoIHJlc29sdmVkIG1ldGFkYXRhIGFuZCBmaWxlIHBhdGgnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwiaW1wb3J0X2VsZW1lbnRcIiwgcGFyYW1zOiB7IGRhdGE6IFwieyAuLi4gZXhwb3J0IHBhY2thZ2UgLi4uIH1cIiwgb3ZlcndyaXRlOiBmYWxzZSB9IH0nXSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1lbW9yeSBPcGVyYXRpb25zIFNjaGVtYSAoSW50cm9zcGVjdGlvbi1Pbmx5KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIE1lbW9yeSBvcGVyYXRpb25zIHNjaGVtYSDigJQgaW50cm9zcGVjdGlvbi1vbmx5LlxuICpcbiAqIFRoZXNlIG9wZXJhdGlvbnMgYXJlIGRpc3BhdGNoZWQgdmlhIE1DUEFRTEhhbmRsZXIuZGlzcGF0Y2hNZW1vcnkoKSB3aGljaFxuICogcGVyZm9ybXMgbWVtb3J5IGluc3RhbmNlIGxvb2t1cCBieSBuYW1lLiBUaGV5IGNhbm5vdCBiZSByb3V0ZWQgdGhyb3VnaFxuICogU2NoZW1hRGlzcGF0Y2hlciB3aXRob3V0IGV4dHJhY3RpbmcgdGhhdCBwcmUtcHJvY2Vzc2luZyBsb2dpYy5cbiAqXG4gKiBAc2VlIElzc3VlICM1OTQgLSBEb2N1bWVudCBhbGwgTUNQLUFRTCBvcGVyYXRpb25zIHZpYSBzY2hlbWFcbiAqL1xuZXhwb3J0IGNvbnN0IE1FTU9SWV9TQ0hFTUFTOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGFkZEVudHJ5OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaE1lbW9yeScsXG4gICAgY2F0ZWdvcnk6ICdNZW1vcnknLFxuICAgIGRlc2NyaXB0aW9uOiAnQWRkIGEgbmV3IGVudHJ5IHRvIGEgbWVtb3J5IGVsZW1lbnQnLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdNZW1vcnkgZWxlbWVudCBuYW1lJyB9LFxuICAgICAgY29udGVudDogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGhlIHRleHQgY29udGVudCBvZiB0aGUgZW50cnkuIEFuIGVudHJ5ID0gY29udGVudCArIHRhZ3MgKyBtZXRhZGF0YSArIHN5c3RlbSBmaWVsZHMgKHRpbWVzdGFtcCwgdHJ1c3QpLicgfSxcbiAgICAgIHRhZ3M6IHsgdHlwZTogJ3N0cmluZ1tdJywgZGVzY3JpcHRpb246ICdUYWdzIGZvciBjYXRlZ29yaXppbmcgdGhpcyBlbnRyeSAoZS5nLiBbXCJpbXBvcnRhbnRcIiwgXCJzb3VyY2U6dXNlclwiXSknIH0sXG4gICAgICBtZXRhZGF0YTogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdTdHJ1Y3R1cmVkIG1ldGFkYXRhIGZvciBjb3JyZWxhdGlvbiBhbmQgdHJhY2tpbmcgKGUuZy4geyBzb3VyY2U6IFwiYXBpXCIsIGNvcnJlbGF0aW9uSWQ6IFwicmVxLTEyM1wiIH0pJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnTWVtb3J5RW50cnknLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDcmVhdGVkIGVudHJ5OiB7IGlkLCBjb250ZW50LCB0YWdzLCBtZXRhZGF0YSwgdGltZXN0YW1wLCB0cnVzdExldmVsLCBzb3VyY2UgfS4gQWxsIG5ldyBlbnRyaWVzIHN0YXJ0IGFzIFwidW50cnVzdGVkXCIuIFRydXN0IGxldmVsczogdW50cnVzdGVkIOKGkiB2YWxpZGF0ZWQg4oaSIHRydXN0ZWQgKG9yIGZsYWdnZWQvcXVhcmFudGluZWQpLiBCYWNrZ3JvdW5kIHZhbGlkYXRpb24gcHJvbW90ZXMgdHJ1c3QgYXN5bmNocm9ub3VzbHkuJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiYWRkRW50cnlcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJteS1tZW1vcnlcIiwgY29udGVudDogXCJSZW1lbWJlciB0aGlzIGZhY3RcIiwgdGFnczogW1wiaW1wb3J0YW50XCJdIH0gfScsXG4gICAgICAvLyBSZXNwb25zZTogeyBfdHlwZTogXCJNZW1vcnlFbnRyeVwiLCBpZDogXCJtZW1fLi4uXCIsIGNvbnRlbnQ6IFwiUmVtZW1iZXIgdGhpcyBmYWN0XCIsIHRhZ3M6IFtcImltcG9ydGFudFwiXSwgdGltZXN0YW1wOiBcIjIwMjYtLi4uXCIsIHRydXN0TGV2ZWw6IFwidW50cnVzdGVkXCIsIHNvdXJjZTogXCJ1bmtub3duXCIgfVxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImFkZEVudHJ5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiYXVkaXQtbG9nXCIsIGNvbnRlbnQ6IFwiVXNlciBwZXJmb3JtZWQgYWN0aW9uXCIsIHRhZ3M6IFtcImF1ZGl0XCIsIFwic291cmNlOmFwaVwiXSwgbWV0YWRhdGE6IHsgY29ycmVsYXRpb25JZDogXCJyZXEtMTIzXCIgfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImFkZEVudHJ5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwic2Vzc2lvbi1ub3Rlc1wiLCBjb250ZW50OiBcIktleSBkZWNpc2lvbiBtYWRlXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICBjbGVhcjoge1xuICAgIGVuZHBvaW50OiAnREVMRVRFJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hNZW1vcnknLFxuICAgIGNhdGVnb3J5OiAnTWVtb3J5JyxcbiAgICBkZXNjcmlwdGlvbjogJ0NsZWFyIGFsbCBlbnRyaWVzIGZyb20gYSBtZW1vcnkgZWxlbWVudCAoaXJyZXZlcnNpYmxlKScsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ01lbW9yeSBlbGVtZW50IG5hbWUgdG8gY2xlYXInIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdDbGVhclJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NvbmZpcm1hdGlvbiB3aXRoIGVsZW1lbnQgbmFtZSBhbmQgY2xlYXJlZCBlbnRyeSBjb3VudCcgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImNsZWFyXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwidGVtcC1tZW1vcnlcIiB9IH0nLFxuICAgICAgLy8gUmVzcG9uc2U6IHsgc3VjY2VzczogdHJ1ZSwgbWVzc2FnZTogXCJDbGVhcmVkIGFsbCBlbnRyaWVzIGZyb20gdGVtcC1tZW1vcnlcIiB9XG4gICAgXSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEV4ZWN1dGlvbiBPcGVyYXRpb25zIFNjaGVtYSAoSW50cm9zcGVjdGlvbi1Pbmx5KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEV4ZWN1dGlvbiBsaWZlY3ljbGUgb3BlcmF0aW9ucyBzY2hlbWEg4oCUIGludHJvc3BlY3Rpb24tb25seS5cbiAqXG4gKiBUaGVzZSBvcGVyYXRpb25zIGFyZSBkaXNwYXRjaGVkIHZpYSBNQ1BBUUxIYW5kbGVyLmRpc3BhdGNoRXhlY3V0ZSgpIHdoaWNoXG4gKiBwZXJmb3JtcyBhZ2VudCBzdGF0ZSBtYW5hZ2VtZW50LCBhdXRvbm9teSBldmFsdWF0aW9uLCBhbmQgcmVzaWxpZW5jZSBjaGVja3MuXG4gKiBUaGV5IGNhbm5vdCBiZSByb3V0ZWQgdGhyb3VnaCBTY2hlbWFEaXNwYXRjaGVyIHdpdGhvdXQgZXh0cmFjdGluZyB0aGF0XG4gKiBjb21wbGV4IHByZS1wcm9jZXNzaW5nIGxvZ2ljLlxuICpcbiAqIEBzZWUgSXNzdWUgIzU5NCAtIERvY3VtZW50IGFsbCBNQ1AtQVFMIG9wZXJhdGlvbnMgdmlhIHNjaGVtYVxuICovXG5leHBvcnQgY29uc3QgRVhFQ1VUSU9OX1NDSEVNQVM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgZXhlY3V0ZV9hZ2VudDoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoRXhlY3V0ZScsXG4gICAgY2F0ZWdvcnk6ICdBZ2VudCBFeGVjdXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhcnQgZXhlY3V0aW9uIG9mIGFuIGFnZW50LiBUaGUgYWdlbnQgbXVzdCBoYXZlIGEgZ29hbC50ZW1wbGF0ZSBkZWZpbmVkIChzZXQgZHVyaW5nIGNyZWF0ZV9lbGVtZW50KS4gUGFzcyB2YWx1ZXMgZm9yIHRoZSB0ZW1wbGF0ZSBwbGFjZWhvbGRlcnMgaW4gcGFyYW1ldGVycy4gJyArXG4gICAgICAnTGlmZWN5Y2xlOiBFbGVtZW50cyBsaXN0ZWQgaW4gdGhlIGFnZW50XFwncyBhY3RpdmF0ZXMgZmllbGQgKGUuZy4sIGFjdGl2YXRlczogeyBwZXJzb25hczogW1wiUmV2aWV3ZXJcIl0sIHNraWxsczogW1wiY29kZS1hbmFseXNpc1wiXSB9KSBhcmUgYXV0b21hdGljYWxseSBhY3RpdmF0ZWQgd2hlbiBleGVjdXRpb24gYmVnaW5zIOKAlCB0aGVpciBnYXRla2VlcGVyIHBvbGljaWVzLCBpbnN0cnVjdGlvbnMsIGFuZCBjYXBhYmlsaXRpZXMgYmVjb21lIGFjdGl2ZSBmb3IgdGhlIGR1cmF0aW9uLiAnICtcbiAgICAgICdSZXNpbGllbmNlOiBJZiB0aGUgYWdlbnQgaGFzIGEgcmVzaWxpZW5jZSBwb2xpY3ksIGl0IGdvdmVybnMgYXV0b21hdGljIHJlY292ZXJ5IGR1cmluZyBleGVjdXRpb24uIG9uU3RlcExpbWl0UmVhY2hlZCAocGF1c2V8Y29udGludWV8cmVzdGFydCkgY29udHJvbHMgd2hhdCBoYXBwZW5zIHdoZW4gbWF4QXV0b25vbW91c1N0ZXBzIGlzIGhpdC4gb25FeGVjdXRpb25GYWlsdXJlIChwYXVzZXxyZXRyeXxyZXN0YXJ0LWZyZXNoKSBjb250cm9scyByZWNvdmVyeSBmcm9tIHN0ZXAgZmFpbHVyZXMuIEFkZGl0aW9uYWwgZmllbGRzOiBtYXhSZXRyaWVzIChkZWZhdWx0IDMpLCBtYXhDb250aW51YXRpb25zIChkZWZhdWx0IDEwKSwgcmV0cnlCYWNrb2ZmIChsaW5lYXJ8ZXhwb25lbnRpYWwpLiBXaXRob3V0IGEgcmVzaWxpZW5jZSBwb2xpY3ksIGV4ZWN1dGlvbiBwYXVzZXMgYXQgc3RlcCBsaW1pdHMgYW5kIGZhaWx1cmVzIChzYWZlIGRlZmF1bHQpLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0FnZW50IG5hbWUgKG11c3QgYWxyZWFkeSBleGlzdCB3aXRoIGEgZ29hbC50ZW1wbGF0ZSknIH0sXG4gICAgICBwYXJhbWV0ZXJzOiB7IHR5cGU6ICdvYmplY3QnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdWYWx1ZXMgZm9yIHRoZSBhZ2VudCBnb2FsIHRlbXBsYXRlIHBsYWNlaG9sZGVycy4gSWYgZ29hbC50ZW1wbGF0ZSBpcyBcIlJldmlldyB7ZmlsZXN9IGZvciB7cmV2aWV3X3R5cGV9IGlzc3Vlc1wiLCBwYXNzIHsgZmlsZXM6IFwic3JjLyoudHNcIiwgcmV2aWV3X3R5cGU6IFwic2VjdXJpdHlcIiB9LiBGb3IgYWdlbnRzIHdpdGggcGFyYW1ldGVybGVzcyB0ZW1wbGF0ZXMsIHBhc3Mge30uJyB9LFxuICAgICAgbWF4QXV0b25vbW91c1N0ZXBzOiB7IHR5cGU6ICdudW1iZXInLCBkZXNjcmlwdGlvbjogJ1J1bnRpbWUgb3ZlcnJpZGUgZm9yIG1heCBhdXRvbm9tb3VzIHN0ZXBzIChvdmVycmlkZXMgdGhlIGFnZW50XFwncyBhdXRvbm9teS5tYXhBdXRvbm9tb3VzU3RlcHMpLiBJbnRlcmFjdHMgd2l0aCByZXNpbGllbmNlOiBpZiB0aGUgYWdlbnQgaGFzIG9uU3RlcExpbWl0UmVhY2hlZDogXCJjb250aW51ZVwiLCBleGVjdXRpb24gYXV0by1jb250aW51ZXMgdXAgdG8gbWF4Q29udGludWF0aW9ucyB0aW1lcyBhZnRlciBoaXR0aW5nIHRoaXMgbGltaXQuJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnRXhlY3V0ZUFnZW50UmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnRXhlY3V0aW9uIHJlc3VsdDogeyBfdHlwZSwgYWdlbnROYW1lLCBnb2FsLCBnb2FsSWQsIHN0YXRlVmVyc2lvbiwgYWN0aXZlRWxlbWVudHMgKGVsZW1lbnRzIGFjdGl2YXRlZCB2aWEgYWdlbnQuYWN0aXZhdGVzKSwgYXZhaWxhYmxlVG9vbHMsIHN1Y2Nlc3NDcml0ZXJpYSwgc2FmZXR5VGllciB9JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAvLyBNYXRjaGVzIENvZGVSZXZpZXdlciBmcm9tIGNyZWF0ZV9lbGVtZW50OiBnb2FsLnRlbXBsYXRlID0gXCJSZXZpZXcge2ZpbGVzfSBmb3Ige3Jldmlld190eXBlfSBpc3N1ZXNcIlxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImV4ZWN1dGVfYWdlbnRcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJDb2RlUmV2aWV3ZXJcIiwgcGFyYW1ldGVyczogeyBmaWxlczogXCJzcmMvKi50c1wiLCByZXZpZXdfdHlwZTogXCJzZWN1cml0eVwiIH0gfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJleGVjdXRlX2FnZW50XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiQ29kZVJldmlld2VyXCIsIHBhcmFtZXRlcnM6IHsgZmlsZXM6IFwibGliL2F1dGgudHNcIiwgcmV2aWV3X3R5cGU6IFwicXVhbGl0eVwiIH0sIG1heEF1dG9ub21vdXNTdGVwczogNSB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIGdldF9leGVjdXRpb25fc3RhdGU6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEV4ZWN1dGUnLFxuICAgIGNhdGVnb3J5OiAnQWdlbnQgRXhlY3V0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ1F1ZXJ5IGN1cnJlbnQgZXhlY3V0aW9uIHN0YXRlIGluY2x1ZGluZyBwcm9ncmVzcyBhbmQgZmluZGluZ3MnLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBZ2VudCBvciBleGVjdXRhYmxlIGVsZW1lbnQgbmFtZScgfSxcbiAgICAgIGluY2x1ZGVEZWNpc2lvbkhpc3Rvcnk6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ0luY2x1ZGUgZGVjaXNpb24gaGlzdG9yeSBpbiByZXNwb25zZScgfSxcbiAgICAgIGluY2x1ZGVDb250ZXh0OiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdJbmNsdWRlIGV4ZWN1dGlvbiBjb250ZXh0IGluIHJlc3BvbnNlJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnRXhlY3V0aW9uU3RhdGUnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDdXJyZW50IGV4ZWN1dGlvbiBzdGF0ZSB3aXRoIHByb2dyZXNzLCBkZWNpc2lvbnMsIGFuZCBjb250ZXh0JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZ2V0X2V4ZWN1dGlvbl9zdGF0ZVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgaW5jbHVkZURlY2lzaW9uSGlzdG9yeTogdHJ1ZSB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIHJlY29yZF9leGVjdXRpb25fc3RlcDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hFeGVjdXRlJyxcbiAgICBjYXRlZ29yeTogJ0FnZW50IEV4ZWN1dGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdSZWNvcmQgZXhlY3V0aW9uIHByb2dyZXNzLCBzdGVwIGNvbXBsZXRpb24sIG9yIGZpbmRpbmdzLiBSZXR1cm5zIGF1dG9ub215IGRpcmVjdGl2ZSB3aXRoIGNvbnRpbnVlL3BhdXNlIGRlY2lzaW9uIGFuZCBub3RpZmljYXRpb25zLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0FnZW50IG9yIGV4ZWN1dGFibGUgZWxlbWVudCBuYW1lJyB9LFxuICAgICAgc3RlcERlc2NyaXB0aW9uOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbiBvZiBzdGVwIGNvbXBsZXRlZCcgfSxcbiAgICAgIG91dGNvbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogXCJTdGVwIG91dGNvbWU6ICdzdWNjZXNzJywgJ2ZhaWx1cmUnLCBvciAncGFydGlhbCdcIiB9LFxuICAgICAgZmluZGluZ3M6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnU3RlcCBmaW5kaW5ncyBvciByZXN1bHRzJyB9LFxuICAgICAgY29uZmlkZW5jZTogeyB0eXBlOiAnbnVtYmVyJywgZGVzY3JpcHRpb246ICdDb25maWRlbmNlIHNjb3JlICgwLTEpJyB9LFxuICAgICAgbmV4dEFjdGlvbkhpbnQ6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnSGludCBhYm91dCB0aGUgbmV4dCBwbGFubmVkIGFjdGlvbiAoZm9yIGF1dG9ub215IGV2YWx1YXRpb24pJyB9LFxuICAgICAgcmlza1Njb3JlOiB7IHR5cGU6ICdudW1iZXInLCBkZXNjcmlwdGlvbjogJ1Jpc2sgc2NvcmUgZm9yIHRoZSBuZXh0IGFjdGlvbiAoMC0xMDAgaW50ZWdlciwgZm9yIGF1dG9ub215IGV2YWx1YXRpb24pLiBIaWdoZXIgdmFsdWVzIGluY3JlYXNlIGxpa2VsaWhvb2Qgb2YgYXV0b25vbXkgcGF1c2UuJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnU3RlcFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1N0ZXAgcmVzdWx0OiB7IF90eXBlLCBzdWNjZXNzLCBtZXNzYWdlLCBkZWNpc2lvbjogeyBpZCwgZ29hbElkLCBkZWNpc2lvbiwgcmVhc29uaW5nLCBjb25maWRlbmNlIH0sIHN0YXRlOiB7IGdvYWxDb3VudCwgc3RhdGVWZXJzaW9uIH0sIGF1dG9ub215OiB7IGNvbnRpbnVlLCByZWFzb24/LCBmYWN0b3JzLCBzdGVwc1JlbWFpbmluZz8sIG5vdGlmaWNhdGlvbnM/OiBbeyB0eXBlLCBtZXNzYWdlIH1dIH0gfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcInJlY29yZF9leGVjdXRpb25fc3RlcFwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgc3RlcERlc2NyaXB0aW9uOiBcIkFuYWx5emVkIHNyYy8gZGlyZWN0b3J5XCIsIG91dGNvbWU6IFwic3VjY2Vzc1wiLCBmaW5kaW5nczogXCJGb3VuZCAzIHN0eWxlIGlzc3Vlc1wiLCBuZXh0QWN0aW9uSGludDogXCJBcHBseSBmaXhlc1wiLCByaXNrU2NvcmU6IDI1IH0gfScsXG4gICAgICAvLyBSZXNwb25zZTogeyBfdHlwZTogXCJTdGVwUmVzdWx0XCIsIHN1Y2Nlc3M6IHRydWUsIGRlY2lzaW9uOiB7IC4uLiB9LCBhdXRvbm9teTogeyBjb250aW51ZTogdHJ1ZSwgZmFjdG9yczogWy4uLl0sIHN0ZXBzUmVtYWluaW5nOiA0IH0gfVxuICAgIF0sXG4gIH0sXG4gIGNvbXBsZXRlX2V4ZWN1dGlvbjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoRXhlY3V0ZScsXG4gICAgY2F0ZWdvcnk6ICdBZ2VudCBFeGVjdXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnU2lnbmFsIHRoYXQgZXhlY3V0aW9uIGZpbmlzaGVkIHN1Y2Nlc3NmdWxseSB3aXRoIHN1bW1hcnknLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBZ2VudCBvciBleGVjdXRhYmxlIGVsZW1lbnQgbmFtZScgfSxcbiAgICAgIG91dGNvbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogXCJFeGVjdXRpb24gb3V0Y29tZTogJ3N1Y2Nlc3MnLCAnZmFpbHVyZScsIG9yICdwYXJ0aWFsJ1wiIH0sXG4gICAgICBzdW1tYXJ5OiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdTdW1tYXJ5IG9mIGV4ZWN1dGlvbiByZXN1bHRzJyB9LFxuICAgICAgZ29hbElkOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0dvYWwgSUQgaWYgdHJhY2tpbmcgc3BlY2lmaWMgZ29hbCcgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0NvbXBsZXRpb25SZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdHb2FsIGNvbXBsZXRpb24gc3RhdHVzIHdpdGggbWV0cmljcyBhbmQgdXBkYXRlZCBzdGF0ZVZlcnNpb24nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjb21wbGV0ZV9leGVjdXRpb25cIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJjb2RlLXJldmlld2VyXCIsIG91dGNvbWU6IFwic3VjY2Vzc1wiLCBzdW1tYXJ5OiBcIlJldmlld2VkIDE1IGZpbGVzLCBmb3VuZCAzIGlzc3Vlc1wiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgY29udGludWVfZXhlY3V0aW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdFWEVDVVRFJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hFeGVjdXRlJyxcbiAgICBjYXRlZ29yeTogJ0FnZW50IEV4ZWN1dGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdSZXN1bWUgZXhlY3V0aW9uIGZyb20gc2F2ZWQgc3RhdGUnLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBZ2VudCBvciBleGVjdXRhYmxlIGVsZW1lbnQgbmFtZScgfSxcbiAgICAgIHByZXZpb3VzU3RlcFJlc3VsdDogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdSZXN1bHQgZnJvbSBwcmV2aW91cyBzdGVwJyB9LFxuICAgICAgcGFyYW1ldGVyczogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdBZGRpdGlvbmFsIHBhcmFtZXRlcnMgZm9yIGNvbnRpbnVhdGlvbicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0NvbnRpbnVlUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnUmVzdW1lZCBleGVjdXRpb24gc3RhdGUgd2l0aCB1cGRhdGVkIGNvbnRleHQgYW5kIHN0YXRlVmVyc2lvbicgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImNvbnRpbnVlX2V4ZWN1dGlvblwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgcHJldmlvdXNTdGVwUmVzdWx0OiBcIkZpbGVzIGFuYWx5emVkXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICBhYm9ydF9leGVjdXRpb246IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEV4ZWN1dGUnLFxuICAgIGNhdGVnb3J5OiAnQWdlbnQgRXhlY3V0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Fib3J0IGEgcnVubmluZyBhZ2VudCBleGVjdXRpb24sIHJlamVjdGluZyBmdXJ0aGVyIG9wZXJhdGlvbnMgZm9yIHRoZSBnb2FsSWQnLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBZ2VudCBvciBleGVjdXRhYmxlIGVsZW1lbnQgbmFtZSB0byBhYm9ydCcgfSxcbiAgICAgIHJlYXNvbjogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdSZWFzb24gZm9yIGFib3J0aW5nIHRoZSBleGVjdXRpb24nIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdBYm9ydFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0Fib3J0IGNvbmZpcm1hdGlvbjogeyBfdHlwZSwgc3VjY2VzcywgYWdlbnROYW1lLCBhYm9ydGVkR29hbElkcywgcmVhc29uLCBtZXNzYWdlIH0nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJhYm9ydF9leGVjdXRpb25cIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJjb2RlLXJldmlld2VyXCIsIHJlYXNvbjogXCJVc2VyIHJlcXVlc3RlZCBjYW5jZWxsYXRpb25cIiB9IH0nLFxuICAgICAgLy8gUmVzcG9uc2U6IHsgX3R5cGU6IFwiQWJvcnRSZXN1bHRcIiwgc3VjY2VzczogdHJ1ZSwgYWdlbnROYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgYWJvcnRlZEdvYWxJZHM6IFtcImdvYWxfYWJjMTIzXCJdLCByZWFzb246IFwiVXNlciByZXF1ZXN0ZWQgY2FuY2VsbGF0aW9uXCIgfVxuICAgIF0sXG4gIH0sXG4gIGdldF9nYXRoZXJlZF9kYXRhOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hFeGVjdXRlJyxcbiAgICBjYXRlZ29yeTogJ0FnZW50IEV4ZWN1dGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgYWdncmVnYXRlZCBleGVjdXRpb24gZGF0YSAoc3RlcHMsIGRlY2lzaW9ucywgZmluZGluZ3MsIGFuZCBzdW1tYXJ5IHN0YXRpc3RpY3MpIGZvciBhIHNwZWNpZmljIGdvYWwnLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBZ2VudCBuYW1lJyB9LFxuICAgICAgZ29hbElkOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdHb2FsIElEIHRvIGdhdGhlciBkYXRhIGZvcicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0dhdGhlcmVkRGF0YScsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0FnZ3JlZ2F0ZWQgZGF0YTogeyBfdHlwZSwgZ29hbElkLCBhZ2VudE5hbWUsIGVudHJpZXMsIHN1bW1hcnk6IHsgdG90YWxTdGVwcywgc3VjY2Vzc2Z1bFN0ZXBzLCBhdmVyYWdlQ29uZmlkZW5jZSB9LCBnb2FsIH0nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJnZXRfZ2F0aGVyZWRfZGF0YVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgZ29hbElkOiBcImdvYWxfYWJjMTIzXCIgfSB9JyxcbiAgICAgIC8vIFJlc3BvbnNlOiB7IF90eXBlOiBcIkdhdGhlcmVkRGF0YVwiLCBnb2FsSWQ6IFwiZ29hbF9hYmMxMjNcIiwgZW50cmllczogWy4uLl0sIHN1bW1hcnk6IHsgdG90YWxTdGVwczogNSwgc3VjY2Vzc2Z1bFN0ZXBzOiA0IH0gfVxuICAgIF0sXG4gIH0sXG4gIHByZXBhcmVfaGFuZG9mZjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoRXhlY3V0ZScsXG4gICAgY2F0ZWdvcnk6ICdBZ2VudCBFeGVjdXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VyaWFsaXplIGdvYWwgcHJvZ3Jlc3MgaW50byBhIHBvcnRhYmxlIGhhbmRvZmYgYmxvY2sgZm9yIHNlc3Npb24gdHJhbnNmZXInLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBZ2VudCBuYW1lIHRvIHByZXBhcmUgaGFuZG9mZiBmb3InIH0sXG4gICAgICBnb2FsSWQ6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0dvYWwgSUQgdG8gaW5jbHVkZSBpbiB0aGUgaGFuZG9mZicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0hhbmRvZmZSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdIYW5kb2ZmIHN0YXRlIHNuYXBzaG90OiB7IF90eXBlLCBoYW5kb2ZmU3RhdGU6IHsgdmVyc2lvbiwgYWdlbnROYW1lLCBnb2FsSWQsIGNoZWNrc3VtIH0sIGhhbmRvZmZCbG9jazogXCJodW1hbi1yZWFkYWJsZSBoZWFkZXIgKyBjb21wcmVzc2VkIGJhc2U2NCBwYXlsb2FkXCIgfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcInByZXBhcmVfaGFuZG9mZlwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgZ29hbElkOiBcImdvYWxfYWJjMTIzXCIgfSB9JyxcbiAgICAgIC8vIFJlc3BvbnNlOiB7IF90eXBlOiBcIkhhbmRvZmZSZXN1bHRcIixcbiAgICAgIC8vICAgaGFuZG9mZlN0YXRlOiB7IHZlcnNpb246IFwiMS4wLjBcIiwgYWdlbnROYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgZ29hbElkOiBcImdvYWxfYWJjMTIzXCIsIGNoZWNrc3VtOiBcInNoYTI1Ni4uLlwiIH0sXG4gICAgICAvLyAgIGhhbmRvZmZCbG9jazogXCLilZTilZDilZDilZAgQUdFTlQgSEFORE9GRiDilZDilZDilZDilZdcXG4gQWdlbnQ6IGNvZGUtcmV2aWV3ZXJcXG4gR29hbDogLi4uXFxu4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXFxuLS0tIEhBTkRPRkYgUEFZTE9BRCBTVEFSVCAtLS1cXG4uLi5iYXNlNjQuLi5cXG4tLS0gSEFORE9GRiBQQVlMT0FEIEVORCAtLS1cIiB9XG4gICAgXSxcbiAgfSxcbiAgcmVzdW1lX2Zyb21faGFuZG9mZjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoRXhlY3V0ZScsXG4gICAgY2F0ZWdvcnk6ICdBZ2VudCBFeGVjdXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVzdW1lIGFnZW50IGV4ZWN1dGlvbiBmcm9tIGEgaGFuZG9mZiBibG9jayB3aXRoIGludGVncml0eSB2YWxpZGF0aW9uJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGVsZW1lbnRfbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQWdlbnQgbmFtZSB0byByZXN1bWUgKG11c3QgbWF0Y2ggaGFuZG9mZiBibG9jayknIH0sXG4gICAgICBoYW5kb2ZmQmxvY2s6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RoZSBmdWxsIGhhbmRvZmYgYmxvY2sgdGV4dCAoaW5jbHVkaW5nIHBheWxvYWQgbWFya2VycyknIH0sXG4gICAgICBwYXJhbWV0ZXJzOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0dvYWwgdGVtcGxhdGUgcGFyYW1ldGVycyAoc2FtZSBhcyBleGVjdXRlX2FnZW50IHBhcmFtZXRlcnMpJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnUmVzdW1lUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnUmVzdW1lZCBleGVjdXRpb24gd2l0aCByZXN0b3JhdGlvbiBtZXRhZGF0YTogeyBfdHlwZSwgYWdlbnROYW1lLCBnb2FsLCBnb2FsSWQsIHJlc3RvcmVkRnJvbTogeyBhZ2VudE5hbWUsIGdvYWxJZCwgc3RlcHNDb21wbGV0ZWQsIHByZXBhcmVkQXQgfSB9JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwicmVzdW1lX2Zyb21faGFuZG9mZlwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgaGFuZG9mZkJsb2NrOiBcIi4uLmZ1bGwgaGFuZG9mZiBibG9jay4uLlwiLCBwYXJhbWV0ZXJzOiB7IHRhc2s6IFwiUmV2aWV3IFBSICM0MlwiIH0gfSB9JyxcbiAgICAgIC8vIFJlc3BvbnNlOiB7IF90eXBlOiBcIlJlc3VtZVJlc3VsdFwiLCBhZ2VudE5hbWU6IFwiY29kZS1yZXZpZXdlclwiLCBnb2FsSWQ6IFwiZ29hbF9uZXc0NTZcIiwgcmVzdG9yZWRGcm9tOiB7IGdvYWxJZDogXCJnb2FsX2FiYzEyM1wiLCBzdGVwc0NvbXBsZXRlZDogNSB9IH1cbiAgICBdLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2F0ZWtlZXBlciBPcGVyYXRpb25zIFNjaGVtYSAoSW50cm9zcGVjdGlvbi1Pbmx5KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEdhdGVrZWVwZXIgb3BlcmF0aW9ucyBzY2hlbWEg4oCUIGludHJvc3BlY3Rpb24tb25seS5cbiAqXG4gKiBUaGVzZSBvcGVyYXRpb25zIGFyZSBkaXNwYXRjaGVkIHZpYSBNQ1BBUUxIYW5kbGVyLmRpc3BhdGNoR2F0ZWtlZXBlcigpIHdoaWNoXG4gKiBwZXJmb3JtcyBzZXNzaW9uLWxldmVsIGNvbmZpcm1hdGlvbiB0cmFja2luZyBhbmQgZGFuZ2VyIHpvbmUgdmVyaWZpY2F0aW9uLlxuICpcbiAqIEBzZWUgSXNzdWUgIzU5NCAtIERvY3VtZW50IGFsbCBNQ1AtQVFMIG9wZXJhdGlvbnMgdmlhIHNjaGVtYVxuICovXG5leHBvcnQgY29uc3QgR0FURUtFRVBFUl9TQ0hFTUFTOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGNvbmZpcm1fb3BlcmF0aW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdFWEVDVVRFJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hHYXRla2VlcGVyJyxcbiAgICBjYXRlZ29yeTogJ1NlY3VyaXR5ICYgUGVybWlzc2lvbnMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29uZmlybSBhIHBlbmRpbmcgb3BlcmF0aW9uIHRoYXQgcmVxdWlyZXMgdXNlciBhcHByb3ZhbCAoR2F0ZWtlZXBlciBmbG93KScsXG4gICAgcGFyYW1zOiB7XG4gICAgICBvcGVyYXRpb246IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ09wZXJhdGlvbiBuYW1lIHRvIGNvbmZpcm0gKGUuZy4sIFwiY3JlYXRlX2VsZW1lbnRcIiknIH0sXG4gICAgICBlbGVtZW50X3R5cGU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnT3B0aW9uYWwgZWxlbWVudCB0eXBlIHNjb3BlIGZvciB0aGUgY29uZmlybWF0aW9uJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQ29uZmlybVJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NvbmZpcm1hdGlvbiBzdGF0dXM6IHsgY29uZmlybWVkLCBvcGVyYXRpb24sIGVsZW1lbnRfdHlwZT8sIG1lc3NhZ2UgfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImNvbmZpcm1fb3BlcmF0aW9uXCIsIHBhcmFtczogeyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiB9IH0nLFxuICAgICAgLy8gUmVzcG9uc2U6IHsgY29uZmlybWVkOiB0cnVlLCBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgbWVzc2FnZTogXCJPcGVyYXRpb24gY29uZmlybWVkIGZvciB0aGlzIHNlc3Npb25cIiB9XG4gICAgXSxcbiAgfSxcbiAgdmVyaWZ5X2NoYWxsZW5nZToge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hHYXRla2VlcGVyJyxcbiAgICBjYXRlZ29yeTogJ1NlY3VyaXR5ICYgUGVybWlzc2lvbnMnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3VibWl0IHZlcmlmaWNhdGlvbiBjb2RlIHRvIHVuYmxvY2sgYSBkYW5nZXIgem9uZSBvcGVyYXRpb24nLFxuICAgIHBhcmFtczoge1xuICAgICAgY2hhbGxlbmdlX2lkOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdVVUlEIHY0IGNoYWxsZW5nZSBJRCBmcm9tIGRhbmdlciB6b25lIHRyaWdnZXInIH0sXG4gICAgICBjb2RlOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdWZXJpZmljYXRpb24gY29kZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXInIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdWZXJpZnlSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdWZXJpZmljYXRpb24gc3RhdHVzOiB7IHZlcmlmaWVkLCBjaGFsbGVuZ2VfaWQsIGFnZW50TmFtZT8sIG1lc3NhZ2UgfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcInZlcmlmeV9jaGFsbGVuZ2VcIiwgcGFyYW1zOiB7IGNoYWxsZW5nZV9pZDogXCI1NTBlODQwMC1lMjliLTQxZDQtYTcxNi00NDY2NTU0NDAwMDBcIiwgY29kZTogXCJBQkMxMjNcIiB9IH0nLFxuICAgICAgLy8gUmVzcG9uc2U6IHsgdmVyaWZpZWQ6IHRydWUsIGNoYWxsZW5nZV9pZDogXCIuLi5cIiwgYWdlbnROYW1lOiBcIm15LWFnZW50XCIsIG1lc3NhZ2U6IFwiQWdlbnQgdW5ibG9ja2VkXCIgfVxuICAgIF0sXG4gIH0sXG4gIHJlbGVhc2VfZGVhZGxvY2s6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoR2F0ZWtlZXBlcicsXG4gICAgY2F0ZWdvcnk6ICdTZWN1cml0eSAmIFBlcm1pc3Npb25zJyxcbiAgICBkZXNjcmlwdGlvbjogJ1JlY292ZXIgZnJvbSBhIHJlc3RyaWN0aXZlIHBlcm1pc3Npb24gZGVhZGxvY2sgYnkgc2hvd2luZyBhIGh1bWFuLW9ubHkgdmVyaWZpY2F0aW9uIGNvZGUsIHRoZW4gZGVhY3RpdmF0aW5nIGFsbCBhY3RpdmUgZWxlbWVudHMgYW5kIGNsZWFyaW5nIGN1cnJlbnQtc2Vzc2lvbiBhY3RpdmF0aW9uIHN0YXRlJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGNoYWxsZW5nZV9pZDogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdDaGFsbGVuZ2UgSUQgZnJvbSB0aGUgZmlyc3QgcmVsZWFzZV9kZWFkbG9jayBjYWxsJyB9LFxuICAgICAgY29kZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdWZXJpZmljYXRpb24gY29kZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgZm9yIGRlYWRsb2NrIHJlbGllZicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0RlYWRsb2NrUmVsaWVmUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnVHdvLXN0ZXAgZmxvdy4gRmlyc3QgY2FsbCByZXR1cm5zIHsgcGVuZGluZywgY2hhbGxlbmdlX2lkLCBtZXNzYWdlIH0uIFNlY29uZCBjYWxsIHdpdGggY2hhbGxlbmdlX2lkICsgY29kZSByZXR1cm5zIHsgcmVsZWFzZWQsIGFjdGl2ZUJlZm9yZVJlc2V0LCBkZWFjdGl2YXRlZCwgZmFpbGVkLCBsaWtlbHlEZWFkbG9ja0NhdXNlLCBwZXJzaXN0ZWRTdGF0ZUNsZWFyZWQsIHNuYXBzaG90RmlsZT8sIG1lc3NhZ2UgfS4nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJyZWxlYXNlX2RlYWRsb2NrXCIgfScsXG4gICAgICAneyBvcGVyYXRpb246IFwicmVsZWFzZV9kZWFkbG9ja1wiLCBwYXJhbXM6IHsgY2hhbGxlbmdlX2lkOiBcIjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMFwiLCBjb2RlOiBcIkFCQzEyM1wiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgYmVldGxlanVpY2VfYmVldGxlanVpY2VfYmVldGxlanVpY2U6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoR2F0ZWtlZXBlcicsXG4gICAgY2F0ZWdvcnk6ICdTZWN1cml0eSAmIFBlcm1pc3Npb25zJyxcbiAgICBkZXNjcmlwdGlvbjogJ1NhZmUtdHJpZ2dlciB0aGUgZnVsbCBkYW5nZXIgem9uZSB2ZXJpZmljYXRpb24gcGlwZWxpbmUgZm9yIHRlc3RpbmcgcHVycG9zZXMnLFxuICAgIHBhcmFtczoge1xuICAgICAgYWdlbnRfbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdBZ2VudCB0byBibG9jayAoZGVmYXVsdHMgdG8gXCJiZWV0bGVqdWljZS10ZXN0LWFnZW50XCIpJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQmVldGxlanVpY2VSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDaGFsbGVuZ2UgZGV0YWlsczogeyBjaGFsbGVuZ2VfaWQsIGFnZW50TmFtZSwgZXhwaXJlc0F0LCBtZXNzYWdlIH0uIENvZGUgaXMgZGlzcGxheWVkIHZpYSBPUyBkaWFsb2csIG5ldmVyIGluIHJlc3BvbnNlLicgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImJlZXRsZWp1aWNlX2JlZXRsZWp1aWNlX2JlZXRsZWp1aWNlXCIgfScsXG4gICAgICAvLyBSZXNwb25zZTogeyBjaGFsbGVuZ2VfaWQ6IFwiLi4uXCIsIGFnZW50TmFtZTogXCJiZWV0bGVqdWljZS10ZXN0LWFnZW50XCIsIGV4cGlyZXNBdDogXCIuLi5cIiwgbWVzc2FnZTogXCJWZXJpZmljYXRpb24gY29kZSBkaXNwbGF5ZWQgdmlhIHN5c3RlbSBkaWFsb2dcIiB9XG4gICAgICAneyBvcGVyYXRpb246IFwiYmVldGxlanVpY2VfYmVldGxlanVpY2VfYmVldGxlanVpY2VcIiwgcGFyYW1zOiB7IGFnZW50X25hbWU6IFwibXktdGVzdC1hZ2VudFwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgLy8gSXNzdWUgIzYyNTogQ0xJLWxldmVsIHBlcm1pc3Npb24gZGVsZWdhdGlvbiB2aWEgLS1wZXJtaXNzaW9uLXByb21wdC10b29sXG4gIC8vIElzc3VlICM2NDc6IE1vdmVkIHRvIFJFQUQg4oCUIHBvbGljeSBldmFsdWF0aW9uIGlzIHJlYWQtb25seVxuICBwZXJtaXNzaW9uX3Byb21wdDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoR2F0ZWtlZXBlcicsXG4gICAgY2F0ZWdvcnk6ICdTZWN1cml0eSAmIFBlcm1pc3Npb25zJyxcbiAgICBkZXNjcmlwdGlvbjogJ0V2YWx1YXRlIGEgQ0xJLWxldmVsIHBlcm1pc3Npb24gcHJvbXB0IChCYXNoLCBFZGl0LCBXcml0ZSwgTUNQIHRvb2xzKS4gUmV0dXJucyBhbGxvdy9kZW55IGRlY2lzaW9uIGZvciBub24taW50ZXJhY3RpdmUgQ2xhdWRlIENvZGUgc2Vzc2lvbnMgdXNpbmcgLS1wZXJtaXNzaW9uLXByb21wdC10b29sLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICB0b29sX25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RoZSB0b29sIHJlcXVlc3RpbmcgcGVybWlzc2lvbiAoZS5nLiwgXCJCYXNoXCIsIFwiRWRpdFwiLCBcIldyaXRlXCIsIFwibWNwX19zZXJ2ZXJfX3Rvb2xcIiknIH0sXG4gICAgICBpbnB1dDogeyB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGhlIHRvb2wgaW5wdXQgcGFyYW1ldGVycyB0byBldmFsdWF0ZSAoZS5nLiwgeyBjb21tYW5kOiBcImdpdCBwdXNoXCIgfSBmb3IgQmFzaCknIH0sXG4gICAgICBhZ2VudF9pZGVudGl0eTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdPcHRpb25hbDogaWRlbnRpdHkgb2YgdGhlIHN1Yi1hZ2VudCBtYWtpbmcgdGhlIHJlcXVlc3QgKGZyb20gQ2xhdWRlIENvZGUgLS1wZXJtaXNzaW9uLXByb21wdC10b29sKScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1Blcm1pc3Npb25EZWNpc2lvbicsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ3sgYmVoYXZpb3I6IFwiYWxsb3dcInxcImRlbnlcIiwgdXBkYXRlZElucHV0PywgbWVzc2FnZT8sIGNsYXNzaWZpY2F0aW9uPzogeyByaXNrTGV2ZWwsIHJlYXNvbiwgc3RhZ2UsIHJpc2tTY29yZT8sIGlycmV2ZXJzaWJsZT8gfSwgcG9saWN5Q29udGV4dD86IHsgZXZhbHVhdGVkRWxlbWVudHMsIGRlY2lzaW9uQ2hhaW4gfSwgYXBwcm92YWxSZXF1ZXN0PzogeyByZXF1ZXN0SWQsIHRvb2xOYW1lLCByaXNrTGV2ZWwsIHJpc2tTY29yZSwgaXJyZXZlcnNpYmxlLCByZWFzb24gfSB9LiBSaXNrIHNjb3JlczogMD1zYWZlLCA0MD1tb2RlcmF0ZSwgODA9ZGFuZ2Vyb3VzLCAxMDA9YmxvY2tlZDsgYWRqdXN0bWVudHM6IGlycmV2ZXJzaWJsZSgrMTApLCBuZXR3b3JrKCsxMCksIG91dC1vZi1zY29wZSByZWFkKCsxMCksIGZpbGUgY3JlYXRpb24oKzUpLiBTdGFnZXM6IHN0YXRpY19hbGxvdywgc3RhdGljX2RlbnksIGVsZW1lbnRfZGVueSwgZWxlbWVudF9hbGxvdywgY2xpX2FwcHJvdmFsLCBhcHByb3ZhbF9yZXF1aXJlZCwgZGVmYXVsdF9hbGxvdy4nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJwZXJtaXNzaW9uX3Byb21wdFwiLCBwYXJhbXM6IHsgdG9vbF9uYW1lOiBcIkJhc2hcIiwgaW5wdXQ6IHsgY29tbWFuZDogXCJucG0gdGVzdFwiIH0gfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJwZXJtaXNzaW9uX3Byb21wdFwiLCBwYXJhbXM6IHsgdG9vbF9uYW1lOiBcIkVkaXRcIiwgaW5wdXQ6IHsgZmlsZV9wYXRoOiBcInNyYy9pbmRleC50c1wiLCBvbGRfc3RyaW5nOiBcIi4uLlwiLCBuZXdfc3RyaW5nOiBcIi4uLlwiIH0gfSB9JyxcbiAgICBdLFxuICB9LFxuICAvLyBQZXJtaXNzaW9uIGV2YWx1YXRpb24gZm9yIFByZVRvb2xVc2UgaG9va3MgKGFsbCBwbGF0Zm9ybXMpXG4gIGV2YWx1YXRlX3Blcm1pc3Npb246IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEdhdGVrZWVwZXInLFxuICAgIGNhdGVnb3J5OiAnU2VjdXJpdHkgJiBQZXJtaXNzaW9ucycsXG4gICAgZGVzY3JpcHRpb246ICdFdmFsdWF0ZSBDTEkgcGVybWlzc2lvbiBmb3IgYSB0b29sIHZpYSBIVFRQL2hvb2suIFJldHVybnMgcGxhdGZvcm0tZm9ybWF0dGVkIHJlc3BvbnNlIChjbGF1ZGVfY29kZSwgZ2VtaW5pLCBjdXJzb3IsIHdpbmRzdXJmLCBjb2RleCkuIEFsdGVybmF0aXZlIHRvIHBlcm1pc3Npb25fcHJvbXB0IGZvciBpbnRlcmFjdGl2ZSBzZXNzaW9ucyB1c2luZyBQcmVUb29sVXNlIGhvb2tzLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICB0b29sX25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RoZSB0b29sIHJlcXVlc3RpbmcgcGVybWlzc2lvbiAoZS5nLiwgXCJCYXNoXCIsIFwiRWRpdFwiLCBcIldyaXRlXCIpJyB9LFxuICAgICAgaW5wdXQ6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnVGhlIHRvb2wgaW5wdXQgcGFyYW1ldGVycyB0byBldmFsdWF0ZScgfSxcbiAgICAgIHBsYXRmb3JtOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1RhcmdldCBwbGF0Zm9ybSBmb3IgcmVzcG9uc2UgZm9ybWF0dGluZyAoZGVmYXVsdDogXCJjbGF1ZGVfY29kZVwiKS4gT3B0aW9uczogY2xhdWRlX2NvZGUsIGdlbWluaSwgY3Vyc29yLCB3aW5kc3VyZiwgY29kZXgnIH0sXG4gICAgICBzZXNzaW9uX2lkOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ09wdGlvbmFsIHBlcnNpc3RlZCBhY3RpdmF0aW9uIHNlc3Npb24gSUQgdG8gZXZhbHVhdGUgYWdhaW5zdCB3aGVuIGhvb2tzIHJ1biBpbiBhIHNlcGFyYXRlIGxlYWRlciBwcm9jZXNzJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnUGxhdGZvcm1QZXJtaXNzaW9uRGVjaXNpb24nLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdQbGF0Zm9ybS1mb3JtYXR0ZWQgcGVybWlzc2lvbiBkZWNpc2lvbi4gQ2xhdWRlIENvZGU6IHsgaG9va1NwZWNpZmljT3V0cHV0OiB7IGhvb2tFdmVudE5hbWU6IFwiUHJlVG9vbFVzZVwiLCBwZXJtaXNzaW9uRGVjaXNpb246IFwiYWxsb3dcInxcImRlbnlcInxcImFza1wiLCBwZXJtaXNzaW9uRGVjaXNpb25SZWFzb24/IH0gfS4gR2VtaW5pOiB7IGRlY2lzaW9uOiBcImFsbG93XCJ8XCJkZW55XCIsIHJlYXNvbj8gfS4gQ3Vyc29yOiB7IHBlcm1pc3Npb246IFwiYWxsb3dcInxcImRlbnlcInxcImFza1wiLCByZWFzb24/IH0uIFdpbmRzdXJmOiB7IGFsbG93ZWQ6IGJvb2xlYW4sIHJlYXNvbj8gfS4gQ29kZXg6IHsgaG9va1NwZWNpZmljT3V0cHV0OiB7IGhvb2tFdmVudE5hbWU6IFwiUHJlVG9vbFVzZVwiLCBwZXJtaXNzaW9uRGVjaXNpb246IFwiYWxsb3dcInxcImRlbnlcIiwgcGVybWlzc2lvbkRlY2lzaW9uUmVhc29uPyB9IH0uJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZXZhbHVhdGVfcGVybWlzc2lvblwiLCBwYXJhbXM6IHsgdG9vbF9uYW1lOiBcIkJhc2hcIiwgaW5wdXQ6IHsgY29tbWFuZDogXCJnaXQgc3RhdHVzXCIgfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImV2YWx1YXRlX3Blcm1pc3Npb25cIiwgcGFyYW1zOiB7IHRvb2xfbmFtZTogXCJCYXNoXCIsIGlucHV0OiB7IGNvbW1hbmQ6IFwiZ2l0IHB1c2ggLS1mb3JjZVwiIH0sIHBsYXRmb3JtOiBcImNsYXVkZV9jb2RlXCIsIHNlc3Npb25faWQ6IFwiY2xhdWRlLWNvZGUtc2Vzc2lvblwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgLy8gSXNzdWUgIzYyNSBQaGFzZSAyOiBDTEkgcG9saWN5IHZpc2liaWxpdHlcbiAgZ2V0X2VmZmVjdGl2ZV9jbGlfcG9saWNpZXM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEdhdGVrZWVwZXInLFxuICAgIGNhdGVnb3J5OiAnU2VjdXJpdHkgJiBQZXJtaXNzaW9ucycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgZWZmZWN0aXZlIENMSS1sZXZlbCBwZXJtaXNzaW9uIHBvbGljaWVzIGFjcm9zcyBhbGwgYWN0aXZlIGVsZW1lbnRzJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHRvb2xfbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdPcHRpb25hbDogZXZhbHVhdGUgYSBzcGVjaWZpYyB0b29sIChlLmcuLCBcIkJhc2hcIiwgXCJFZGl0OnNyYy9pbmRleC50c1wiKScgfSxcbiAgICAgIHRvb2xfaW5wdXQ6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnT3B0aW9uYWw6IHRvb2wgaW5wdXQgdG8gZXZhbHVhdGUgKGUuZy4sIHsgY29tbWFuZDogXCJucG0gdGVzdFwiIH0pJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnRWZmZWN0aXZlQ2xpUG9saWNpZXMnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICd7IGFjdGl2ZUVsZW1lbnRDb3VudCwgaGFzQWxsb3dsaXN0LCBlbGVtZW50cywgY29tYmluZWRBbGxvd1BhdHRlcm5zLCBjb21iaW5lZERlbnlQYXR0ZXJucywgZXZhbHVhdGlvbj8gfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImdldF9lZmZlY3RpdmVfY2xpX3BvbGljaWVzXCIgfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiZ2V0X2VmZmVjdGl2ZV9jbGlfcG9saWNpZXNcIiwgcGFyYW1zOiB7IHRvb2xfbmFtZTogXCJCYXNoXCIsIHRvb2xfaW5wdXQ6IHsgY29tbWFuZDogXCJnaXQgcHVzaFwiIH0gfSB9JyxcbiAgICBdLFxuICB9LFxuICBnZXRfcGVybWlzc2lvbl9hdXRob3JpdHk6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEdhdGVrZWVwZXInLFxuICAgIGNhdGVnb3J5OiAnU2VjdXJpdHkgJiBQZXJtaXNzaW9ucycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgdGhlIGN1cnJlbnQgcGVybWlzc2lvbi1hdXRob3JpdHkgbW9kZSBmb3Igc3VwcG9ydGVkIGhvc3RzLiBSZWFkLW9ubHk6IEFJIGNhbiBpbnNwZWN0IGF1dGhvcml0eSBzdGF0ZSBidXQgY2Fubm90IGNoYW5nZSBpdC4nLFxuICAgIHBhcmFtczoge1xuICAgICAgaG9zdDogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdPcHRpb25hbCBob3N0IHRvIGluc3BlY3QgKGUuZy4sIFwiY2xhdWRlLWNvZGVcIiwgXCJjb2RleFwiKScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1Blcm1pc3Npb25BdXRob3JpdHlTdGF0ZScsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ3sgZGVmYXVsdE1vZGUsIGhvc3RzLCBzdXBwb3J0ZWRIb3N0cywgc3VwcG9ydGVkTW9kZXMsIGFpTXV0YWJsZTogZmFsc2UgfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImdldF9wZXJtaXNzaW9uX2F1dGhvcml0eVwiIH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImdldF9wZXJtaXNzaW9uX2F1dGhvcml0eVwiLCBwYXJhbXM6IHsgaG9zdDogXCJjbGF1ZGUtY29kZVwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgLy8gSXNzdWUgIzYyNSBQaGFzZSAzOiBDTEkgYXBwcm92YWwgd29ya2Zsb3dcbiAgYXBwcm92ZV9jbGlfcGVybWlzc2lvbjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoR2F0ZWtlZXBlcicsXG4gICAgY2F0ZWdvcnk6ICdTZWN1cml0eSAmIFBlcm1pc3Npb25zJyxcbiAgICBkZXNjcmlwdGlvbjogJ0FwcHJvdmUgYSBwZW5kaW5nIENMSSB0b29sIHBlcm1pc3Npb24gcmVxdWVzdC4gVXNlZCBieSBicmlkZ2VzIChadWxpcCwgU2xhY2spIHRvIHJlbGF5IGh1bWFuIGFwcHJvdmFsIGZvciB0b29scyB0aGF0IHJlcXVpcmUgaXQuJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHJlcXVlc3RfaWQ6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0FwcHJvdmFsIHJlcXVlc3QgSUQgZnJvbSBwZXJtaXNzaW9uX3Byb21wdCBkZW55IHJlc3BvbnNlIChmb3JtYXQ6IGNsaS08VVVJRD4pJyB9LFxuICAgICAgc2NvcGU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnXCJzaW5nbGVcIiAoZGVmYXVsdCwgY29uc3VtZWQgb24gdXNlKSBvciBcInRvb2xfc2Vzc2lvblwiIChhbGwgdXNlcyBvZiB0aGF0IHRvb2wgZm9yIHRoZSBzZXNzaW9uKScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0FwcHJvdmVSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICd7IGFwcHJvdmVkLCByZXF1ZXN0SWQsIHRvb2xOYW1lLCBzY29wZSwgbWVzc2FnZSB9JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiYXBwcm92ZV9jbGlfcGVybWlzc2lvblwiLCBwYXJhbXM6IHsgcmVxdWVzdF9pZDogXCJjbGktYWJjLi4uXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJhcHByb3ZlX2NsaV9wZXJtaXNzaW9uXCIsIHBhcmFtczogeyByZXF1ZXN0X2lkOiBcImNsaS1hYmMuLi5cIiwgc2NvcGU6IFwidG9vbF9zZXNzaW9uXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICBnZXRfcGVuZGluZ19jbGlfYXBwcm92YWxzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hHYXRla2VlcGVyJyxcbiAgICBjYXRlZ29yeTogJ1NlY3VyaXR5ICYgUGVybWlzc2lvbnMnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGFsbCBwZW5kaW5nIENMSSB0b29sIGFwcHJvdmFsIHJlcXVlc3RzIGZvciB0aGlzIHNlc3Npb24uIFJldHVybnMgdW5hcHByb3ZlZCByZXF1ZXN0cyB0aGF0IGFyZSB3YWl0aW5nIGZvciBodW1hbiBhdXRob3JpemF0aW9uLicsXG4gICAgcGFyYW1zOiB7fSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdQZW5kaW5nQXBwcm92YWxzJywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAneyBwZW5kaW5nOiBDbGlBcHByb3ZhbFJlY29yZFtdLCBjb3VudDogbnVtYmVyIH0nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJnZXRfcGVuZGluZ19jbGlfYXBwcm92YWxzXCIgfScsXG4gICAgXSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExvZ2dpbmcgT3BlcmF0aW9ucyBTY2hlbWEgKEludHJvc3BlY3Rpb24tT25seSlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBMb2dnaW5nIG9wZXJhdGlvbnMgc2NoZW1hIOKAlCBpbnRyb3NwZWN0aW9uLW9ubHkuXG4gKlxuICogRGlzcGF0Y2hlZCB2aWEgTUNQQVFMSGFuZGxlci5kaXNwYXRjaExvZ2dpbmcoKSB3aXRoIHJ1bnRpbWUgcGFyYW1ldGVyXG4gKiB2YWxpZGF0aW9uIHZpYSB2YWxpZGF0ZUxvZ1F1ZXJ5UGFyYW1zKCkuXG4gKlxuICogQHNlZSBJc3N1ZSAjNTk0IC0gRG9jdW1lbnQgYWxsIE1DUC1BUUwgb3BlcmF0aW9ucyB2aWEgc2NoZW1hXG4gKi9cbmV4cG9ydCBjb25zdCBMT0dHSU5HX1NDSEVNQVM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgcXVlcnlfbG9nczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoTG9nZ2luZycsXG4gICAgY2F0ZWdvcnk6ICdDb25maWd1cmF0aW9uICYgRGlhZ25vc3RpY3MnLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgcmVjZW50IGxvZyBlbnRyaWVzIGZyb20gdGhlIGluLW1lbW9yeSBidWZmZXIuIFJldHVybnMgZmlsdGVyZWQsIHBhZ2luYXRlZCByZXN1bHRzIHNvcnRlZCBuZXdlc3QtZmlyc3QuIE9ubHkgcXVlcmllcyB0aGUgaG90IHRpZXIgKGluLW1lbW9yeSk7IGV2aWN0ZWQgZW50cmllcyBleGlzdCBvbmx5IGluIGRpc2sgbG9nIGZpbGVzLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICBjYXRlZ29yeTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246IFwiTG9nIGNhdGVnb3J5IGZpbHRlcjogJ2FwcGxpY2F0aW9uJywgJ3NlY3VyaXR5JywgJ3BlcmZvcm1hbmNlJywgJ3RlbGVtZXRyeScsIG9yICdhbGwnLiBEZWZhdWx0OiAnYWxsJ1wiIH0sXG4gICAgICBsZXZlbDogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246IFwiTWluaW11bSBsb2cgbGV2ZWwgKGluY2x1c2l2ZSk6ICdkZWJ1ZycsICdpbmZvJywgJ3dhcm4nLCBvciAnZXJyb3InLiBPbWl0IGZvciBhbGwgbGV2ZWxzXCIgfSxcbiAgICAgIHNvdXJjZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdDb21wb25lbnQgbmFtZSBmaWx0ZXIgKGNhc2UtaW5zZW5zaXRpdmUgc3Vic3RyaW5nIG1hdGNoKScgfSxcbiAgICAgIG1lc3NhZ2U6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnRnJlZSB0ZXh0IHNlYXJjaCBpbiBtZXNzYWdlIGZpZWxkIChjYXNlLWluc2Vuc2l0aXZlIHN1YnN0cmluZyBtYXRjaCknIH0sXG4gICAgICBzaW5jZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdJU08gODYwMSB0aW1lc3RhbXAg4oCUIHJldHVybiBlbnRyaWVzIGFmdGVyIHRoaXMgdGltZScgfSxcbiAgICAgIHVudGlsOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0lTTyA4NjAxIHRpbWVzdGFtcCDigJQgcmV0dXJuIGVudHJpZXMgYmVmb3JlIHRoaXMgdGltZScgfSxcbiAgICAgIGxpbWl0OiB7IHR5cGU6ICdudW1iZXInLCBkZXNjcmlwdGlvbjogJ01heCByZXN1bHRzIHRvIHJldHVybiAoMS01MDAsIGRlZmF1bHQgNTApJyB9LFxuICAgICAgb2Zmc2V0OiB7IHR5cGU6ICdudW1iZXInLCBkZXNjcmlwdGlvbjogJ051bWJlciBvZiByZXN1bHRzIHRvIHNraXAgZm9yIHBhZ2luYXRpb24gKGRlZmF1bHQgMCknIH0sXG4gICAgICBjb3JyZWxhdGlvbklkOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0NvcnJlbGF0aW9uIElEIGZvciByZXF1ZXN0IHRyYWNpbmcnIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdMb2dRdWVyeVJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0xvZyBlbnRyaWVzOiB7IF90eXBlOiBcIkxvZ1F1ZXJ5UmVzdWx0XCIsIGVudHJpZXMsIHRvdGFsLCBmaWx0ZXJzIH0nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJxdWVyeV9sb2dzXCIgfScsXG4gICAgICAvLyBSZXNwb25zZTogeyBfdHlwZTogXCJMb2dRdWVyeVJlc3VsdFwiLCBlbnRyaWVzOiBbLi4uXSwgdG90YWw6IDQyIH1cbiAgICAgICd7IG9wZXJhdGlvbjogXCJxdWVyeV9sb2dzXCIsIHBhcmFtczogeyBjYXRlZ29yeTogXCJzZWN1cml0eVwiLCBsZXZlbDogXCJ3YXJuXCIsIGxpbWl0OiAxMCB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X2xvZ3NcIiwgcGFyYW1zOiB7IHNpbmNlOiBcIjIwMjYtMDEtMDFUMDA6MDA6MDBaXCIsIHNvdXJjZTogXCJHYXRla2VlcGVyXCIgfSB9JyxcbiAgICBdLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWV0cmljcyBPcGVyYXRpb25zIFNjaGVtYSAoSW50cm9zcGVjdGlvbi1Pbmx5KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIE1ldHJpY3MgY29sbGVjdGlvbiBxdWVyeSBzY2hlbWEg4oCUIGludHJvc3BlY3Rpb24tb25seS5cbiAqXG4gKiBEaXNwYXRjaGVkIHZpYSBNQ1BBUUxIYW5kbGVyLmRpc3BhdGNoTWV0cmljcygpIHdoaWNoIHJvdXRlcyB0b1xuICogTWVtb3J5TWV0cmljc1NpbmsucXVlcnkoKS4gRm9sbG93cyB0aGUgc2FtZSBwYXR0ZXJuIGFzIHF1ZXJ5X2xvZ3MuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVRSSUNTX1NDSEVNQVM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgcXVlcnlfbWV0cmljczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoTWV0cmljcycsXG4gICAgY2F0ZWdvcnk6ICdDb25maWd1cmF0aW9uICYgRGlhZ25vc3RpY3MnLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgY29sbGVjdGVkIG1ldHJpY3Mgc25hcHNob3RzLiBSZXR1cm5zIGZpbHRlcmVkLCBwYWdpbmF0ZWQgcmVzdWx0cyBzb3J0ZWQgbmV3ZXN0LWZpcnN0LiBTdXBwb3J0cyBmaWx0ZXJpbmcgYnkgbWV0cmljIG5hbWUgKHByZWZpeCBvciBleGFjdCksIHNvdXJjZSwgdHlwZSwgYW5kIHRpbWUgcmFuZ2UuJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIG5hbWVzOiB7IHR5cGU6ICdzdHJpbmdbXScsIGRlc2NyaXB0aW9uOiBcIk1ldHJpYyBuYW1lIGZpbHRlcnMuIEV4YWN0IG1hdGNoIG9yIHByZWZpeCBtYXRjaCB3aXRoIHRyYWlsaW5nICcuJyBvciAnLionIChlLmcuLCAnc3lzdGVtLm1lbW9yeS4qJylcIiB9LFxuICAgICAgc291cmNlOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0NvbGxlY3RvciBzb3VyY2UgZmlsdGVyIChjYXNlLWluc2Vuc2l0aXZlIHN1YnN0cmluZyBtYXRjaCknIH0sXG4gICAgICB0eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogXCJNZXRyaWMgdHlwZSBmaWx0ZXI6ICdjb3VudGVyJywgJ2dhdWdlJywgb3IgJ2hpc3RvZ3JhbSdcIiB9LFxuICAgICAgc2luY2U6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnSVNPIDg2MDEgdGltZXN0YW1wIOKAlCByZXR1cm4gc25hcHNob3RzIGFmdGVyIHRoaXMgdGltZScgfSxcbiAgICAgIHVudGlsOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0lTTyA4NjAxIHRpbWVzdGFtcCDigJQgcmV0dXJuIHNuYXBzaG90cyBiZWZvcmUgdGhpcyB0aW1lJyB9LFxuICAgICAgbGF0ZXN0OiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdJZiB0cnVlIChkZWZhdWx0KSwgcmV0dXJuIG9ubHkgdGhlIG1vc3QgcmVjZW50IHNuYXBzaG90LiBTZXQgZmFsc2UgZm9yIGhpc3RvcmljYWwgcmFuZ2UgcXVlcmllcycgfSxcbiAgICAgIGxpbWl0OiB7IHR5cGU6ICdudW1iZXInLCBkZXNjcmlwdGlvbjogJ01heCBzbmFwc2hvdHMgdG8gcmV0dXJuICgxLTEwMCwgZGVmYXVsdCAxKScgfSxcbiAgICAgIG9mZnNldDogeyB0eXBlOiAnbnVtYmVyJywgZGVzY3JpcHRpb246ICdOdW1iZXIgb2Ygc25hcHNob3RzIHRvIHNraXAgZm9yIHBhZ2luYXRpb24gKGRlZmF1bHQgMCknIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdNZXRyaWNRdWVyeVJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ01ldHJpYyBzbmFwc2hvdHM6IHsgX3R5cGU6IFwiTWV0cmljUXVlcnlSZXN1bHRcIiwgc25hcHNob3RzLCB0b3RhbCwgaGFzTW9yZSwgb2xkZXN0QXZhaWxhYmxlLCBuZXdlc3RBdmFpbGFibGUgfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X21ldHJpY3NcIiB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJxdWVyeV9tZXRyaWNzXCIsIHBhcmFtczogeyBuYW1lczogW1wic3lzdGVtLm1lbW9yeS4qXCJdLCB0eXBlOiBcImdhdWdlXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJxdWVyeV9tZXRyaWNzXCIsIHBhcmFtczogeyBsYXRlc3Q6IGZhbHNlLCBsaW1pdDogMTAsIHNpbmNlOiBcIjIwMjYtMDEtMDFUMDA6MDA6MDBaXCIgfSB9JyxcbiAgICBdLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQWN0aXZhdGlvbiBPcGVyYXRpb25zIFNjaGVtYSAoSW50cm9zcGVjdGlvbi1Pbmx5KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEFjdGl2YXRpb24gbGlmZWN5Y2xlIG9wZXJhdGlvbnMgc2NoZW1hIOKAlCBpbnRyb3NwZWN0aW9uLW9ubHkuXG4gKlxuICogVGhlc2Ugb3BlcmF0aW9ucyBhcmUgZGlzcGF0Y2hlZCB2aWEgTUNQQVFMSGFuZGxlci5kaXNwYXRjaEFjdGl2YXRpb24oKSB3aGljaFxuICogcm91dGVzIHRvIEVsZW1lbnRDUlVESGFuZGxlciBhY3RpdmF0aW9uIHN0cmF0ZWdpZXMuIFRoZXkgY2Fubm90IGJlIHJvdXRlZFxuICogdGhyb3VnaCBTY2hlbWFEaXNwYXRjaGVyIHdpdGhvdXQgZXh0cmFjdGluZyB0aGF0IHN0cmF0ZWd5LWJhc2VkIGRpc3BhdGNoIGxvZ2ljLlxuICpcbiAqIElzc3VlICM1OTg6IEFjdGl2YXRpb24gc3RhdGUgaXMgbm93IHBlcnNpc3RlZCBwZXItc2Vzc2lvbiB2aWEgQWN0aXZhdGlvblN0b3JlLlxuICogU2V0IERPTExIT1VTRV9TRVNTSU9OX0lEIGVudiB2YXIgdG8gaXNvbGF0ZSBhY3RpdmF0aW9uIHN0YXRlIGJldHdlZW4gc2Vzc2lvbnMuXG4gKlxuICogQHNlZSBJc3N1ZSAjNTk0IC0gRG9jdW1lbnQgYWxsIE1DUC1BUUwgb3BlcmF0aW9ucyB2aWEgc2NoZW1hXG4gKiBAc2VlIElzc3VlICM1OTggLSBQZXItc2Vzc2lvbiBhY3RpdmF0aW9uIHBlcnNpc3RlbmNlXG4gKi9cbmV4cG9ydCBjb25zdCBBQ1RJVkFUSU9OX1NDSEVNQVM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgYWN0aXZhdGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoQWN0aXZhdGlvbicsXG4gICAgY2F0ZWdvcnk6ICdBY3RpdmF0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0FjdGl2YXRlIGFuIGVsZW1lbnQgZm9yIHVzZSBpbiB0aGUgY3VycmVudCBzZXNzaW9uLiBBY3RpdmF0aW9uIHN0YXRlIGlzIHBlcnNpc3RlZCBwZXItc2Vzc2lvbiAoRE9MTEhPVVNFX1NFU1NJT05fSUQpIGFuZCByZXN0b3JlZCBvbiBzZXJ2ZXIgcmVzdGFydC4nLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBlbGVtZW50IHRvIGFjdGl2YXRlJyB9LFxuICAgICAgZWxlbWVudF90eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGU6IHBlcnNvbmEsIHNraWxsLCBhZ2VudCwgbWVtb3J5LCBvciBlbnNlbWJsZScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0FjdGl2YXRpb25SZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdBY3RpdmF0aW9uIGNvbmZpcm1hdGlvbiB3aXRoIGVsZW1lbnQgZGV0YWlscyBhbmQgcmVuZGVyZWQgY29udGVudCcgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImFjdGl2YXRlX2VsZW1lbnRcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJjb2RlLXJldmlld2VyXCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiIH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiYWN0aXZhdGVfZWxlbWVudFwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIkNyZWF0aXZlIERldlwiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgZGVhY3RpdmF0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hBY3RpdmF0aW9uJyxcbiAgICBjYXRlZ29yeTogJ0FjdGl2YXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnRGVhY3RpdmF0ZSBhbiBlbGVtZW50LCByZW1vdmluZyBpdCBmcm9tIHRoZSBjdXJyZW50IHNlc3Npb24uIFBlcnNpc3RlZCBhY3RpdmF0aW9uIHN0YXRlIGlzIHVwZGF0ZWQuJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGVsZW1lbnRfbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgZWxlbWVudCB0byBkZWFjdGl2YXRlJyB9LFxuICAgICAgZWxlbWVudF90eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGU6IHBlcnNvbmEsIHNraWxsLCBhZ2VudCwgbWVtb3J5LCBvciBlbnNlbWJsZScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0RlYWN0aXZhdGlvblJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0RlYWN0aXZhdGlvbiBjb25maXJtYXRpb24gd2l0aCBlbGVtZW50IG5hbWUnIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJkZWFjdGl2YXRlX2VsZW1lbnRcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJjb2RlLXJldmlld2VyXCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgZ2V0X2FjdGl2ZV9lbGVtZW50czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoQWN0aXZhdGlvbicsXG4gICAgY2F0ZWdvcnk6ICdBY3RpdmF0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBhbGwgY3VycmVudGx5IGFjdGl2ZSBlbGVtZW50cyB3aXRoIHJlbmRlcmVkIGNvbnRlbnQsIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgdHlwZScsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X3R5cGU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnT3B0aW9uYWwgZWxlbWVudCB0eXBlIGZpbHRlci4gT21pdCB0byBnZXQgYWxsIGFjdGl2ZSBlbGVtZW50cyBhY3Jvc3MgYWxsIHR5cGVzLicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0FjdGl2ZUVsZW1lbnRzUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnQWN0aXZlIGVsZW1lbnRzIHdpdGggcmVuZGVyZWQgY29udGVudCwgZ3JvdXBlZCBieSB0eXBlIHdoZW4gdW5maWx0ZXJlZCcgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImdldF9hY3RpdmVfZWxlbWVudHNcIiB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJnZXRfYWN0aXZlX2VsZW1lbnRzXCIsIHBhcmFtczogeyBlbGVtZW50X3R5cGU6IFwic2tpbGxcIiB9IH0nLFxuICAgIF0sXG4gIH0sXG59IGFzIGNvbnN0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZWFyY2ggT3BlcmF0aW9ucyBTY2hlbWEgKEludHJvc3BlY3Rpb24tT25seSlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBTZWFyY2ggb3BlcmF0aW9ucyBzY2hlbWEg4oCUIGludHJvc3BlY3Rpb24tb25seS5cbiAqXG4gKiBUaGVzZSBvcGVyYXRpb25zIGFyZSBkaXNwYXRjaGVkIHZpYSBNQ1BBUUxIYW5kbGVyLmRpc3BhdGNoU2VhcmNoKCkgd2hpY2hcbiAqIHJvdXRlcyB0byBFbGVtZW50UXVlcnlTZXJ2aWNlIG1ldGhvZHMuIFRoZXkgY2Fubm90IGJlIHJvdXRlZCB0aHJvdWdoXG4gKiBTY2hlbWFEaXNwYXRjaGVyIHdpdGhvdXQgZXh0cmFjdGluZyB0aGF0IHByZS1wcm9jZXNzaW5nIGxvZ2ljLlxuICpcbiAqIEBzZWUgSXNzdWUgIzU5NSAtIE9wZXJhdGlvbiBkb2N1bWVudGF0aW9uIGNvdmVyYWdlIGdhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IFNFQVJDSF9TQ0hFTUFTOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIHNlYXJjaF9lbGVtZW50czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoU2VhcmNoJyxcbiAgICBjYXRlZ29yeTogJ0VsZW1lbnQgRGlzY292ZXJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ0Z1bGwtdGV4dCBzZWFyY2ggYWNyb3NzIGVsZW1lbnQgbmFtZXMsIGRlc2NyaXB0aW9ucywgYW5kIGNvbnRlbnQgd2l0aCBwYWdpbmF0aW9uIGFuZCBzb3J0aW5nLiBUSVA6IElmIHRoZSB1c2VyIHdhbnRzIHRvIGJyb3dzZSBvciBleHBsb3JlIHRoZWlyIHBvcnRmb2xpbyB2aXN1YWxseSByYXRoZXIgdGhhbiBnZXQgdGV4dCByZXN1bHRzLCBwcmVmZXIgb3Blbl9wb3J0Zm9saW9fYnJvd3NlciB3aXRoIGEgcSBwYXJhbWV0ZXIgaW5zdGVhZCDigJQgaXQgb3BlbnMgYSB3ZWIgVUkgd2l0aCB0aGUgc2VhcmNoIHByZS1wb3B1bGF0ZWQuJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHF1ZXJ5OiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdTZWFyY2ggcXVlcnkgc3RyaW5nIChtYXggMTAwMCBjaGFyYWN0ZXJzKScgfSxcbiAgICAgIGVsZW1lbnRfdHlwZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdPcHRpb25hbCBlbGVtZW50IHR5cGUgZmlsdGVyIChzZWFyY2hlcyBhbGwgdHlwZXMgaWYgb21pdHRlZCknIH0sXG4gICAgICBwYWdlOiB7IHR5cGU6ICdudW1iZXInLCBkZXNjcmlwdGlvbjogJ1BhZ2UgbnVtYmVyIGZvciBwYWdpbmF0aW9uICgxLWluZGV4ZWQpJyB9LFxuICAgICAgcGFnZVNpemU6IHsgdHlwZTogJ251bWJlcicsIGRlc2NyaXB0aW9uOiAnUmVzdWx0cyBwZXIgcGFnZScgfSxcbiAgICAgIHNvcnQ6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnU29ydCBvcHRpb25zOiB7IHNvcnRCeSwgc29ydE9yZGVyIH0nIH0sXG4gICAgICBmaWVsZHM6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZyB8IHN0cmluZ1tdJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdGaWVsZHMgdG8gaW5jbHVkZTogYXJyYXkgbGlrZSBbXCJlbGVtZW50X25hbWVcIiwgXCJkZXNjcmlwdGlvblwiXSBPUiBwcmVzZXQ6IFwibWluaW1hbFwiLCBcInN0YW5kYXJkXCIsIFwiZnVsbFwiJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdTZWFyY2hSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdTZWFyY2ggcmVzdWx0czogeyBpdGVtczogW3sgdHlwZSwgbmFtZSwgZGVzY3JpcHRpb24sIG1hdGNoZWRJbiB9XSwgcGFnaW5hdGlvbjogeyBwYWdlLCBwYWdlU2l6ZSwgdG90YWxJdGVtcywgdG90YWxQYWdlcyB9LCBzb3J0aW5nIH0nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJzZWFyY2hfZWxlbWVudHNcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImNyZWF0aXZlXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJzZWFyY2hfZWxlbWVudHNcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImFzc2lzdGFudFwiLCBwYWdlU2l6ZTogMTAgfSB9JyxcbiAgICAgIC8vIFRJUDogRm9yIHZpc3VhbCBzZWFyY2gsIHVzZSBvcGVuX3BvcnRmb2xpb19icm93c2VyIHdpdGggcSBwYXJhbWV0ZXI6XG4gICAgICAvLyB7IG9wZXJhdGlvbjogXCJvcGVuX3BvcnRmb2xpb19icm93c2VyXCIsIHBhcmFtczogeyB0YWI6IFwicG9ydGZvbGlvXCIsIHE6IFwiY3JlYXRpdmVcIiB9IH1cbiAgICBdLFxuICB9LFxuICBxdWVyeV9lbGVtZW50czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoU2VhcmNoJyxcbiAgICBjYXRlZ29yeTogJ0VsZW1lbnQgRGlzY292ZXJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ1F1ZXJ5IGVsZW1lbnRzIHdpdGggZmlsdGVycywgc29ydGluZywgcGFnaW5hdGlvbiwgYW5kIGNvdW50IGFnZ3JlZ2F0aW9uLiBSZXR1cm5zIHN0cnVjdHVyZWQgSlNPTi4nLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF90eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUgdG8gcXVlcnkgKHJlcXVpcmVkKScgfSxcbiAgICAgIGZpbHRlcnM6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnRmlsdGVyIG9wdGlvbnM6IHsgbmFtZUNvbnRhaW5zLCB0YWdzLCBhdXRob3IsIHN0YXR1cywgY2F0ZWdvcnkgfScgfSxcbiAgICAgIHNvcnQ6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnU29ydCBvcHRpb25zOiB7IHNvcnRCeSwgc29ydE9yZGVyIH0nIH0sXG4gICAgICBwYWdpbmF0aW9uOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1BhZ2luYXRpb246IHsgcGFnZSwgcGFnZVNpemUgfScgfSxcbiAgICAgIGFnZ3JlZ2F0ZTogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdBZ2dyZWdhdGlvbjogeyBjb3VudD86IGJvb2xlYW4sIGdyb3VwX2J5Pzogc3RyaW5nIH0uIGdyb3VwX2J5IGdyb3VwcyByZXN1bHRzIGJ5IGEgbWV0YWRhdGEgZmllbGQgYW5kIHJldHVybnMgY291bnRzIHBlciBncm91cC4gQWxsb3dlZCBncm91cF9ieSBmaWVsZHM6IGNhdGVnb3J5LCBhdXRob3IsIHRhZ3MsIHN0YXR1cywgdmVyc2lvbi4gVXNlIGdyb3VwX2J5OiBcImNhdGVnb3J5XCIgdG8gZGlzY292ZXIgZXhpc3RpbmcgY2F0ZWdvcmllcyBpbiB0aGUgcG9ydGZvbGlvLicgfSxcbiAgICAgIGZpZWxkczoge1xuICAgICAgICB0eXBlOiAnc3RyaW5nIHwgc3RyaW5nW10nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0ZpZWxkcyB0byBpbmNsdWRlOiBhcnJheSBsaWtlIFtcImVsZW1lbnRfbmFtZVwiLCBcImRlc2NyaXB0aW9uXCJdIE9SIHByZXNldDogXCJtaW5pbWFsXCIsIFwic3RhbmRhcmRcIiwgXCJmdWxsXCInLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1F1ZXJ5UmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnUXVlcnkgcmVzdWx0czogeyBpdGVtczogW3sgbmFtZSwgZGVzY3JpcHRpb24sIHR5cGUsIHZlcnNpb24sIHRhZ3MgfV0sIHBhZ2luYXRpb24sIHNvcnRpbmcsIGZpbHRlcnMgfS4gV2l0aCBhZ2dyZWdhdGU6IGFkZHMgY291bnQgKHRvdGFsKSwgZ3JvdXBzIChpZiBncm91cF9ieSB1c2VkLCBlLmcuIHsgZGV2ZWxvcG1lbnQ6IDUsIHNlY3VyaXR5OiAzIH0pLicgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBmaWx0ZXJzOiB7IHRhZ3M6IFtcImFzc2lzdGFudFwiXSB9IH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwicXVlcnlfZWxlbWVudHNcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIsIHBhcmFtczogeyBwYWdpbmF0aW9uOiB7IHBhZ2U6IDEsIHBhZ2VTaXplOiAxMCB9LCBzb3J0OiB7IHNvcnRCeTogXCJuYW1lXCIgfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiLCBwYXJhbXM6IHsgYWdncmVnYXRlOiB7IGNvdW50OiB0cnVlLCBncm91cF9ieTogXCJjYXRlZ29yeVwiIH0gfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJxdWVyeV9lbGVtZW50c1wiLCBlbGVtZW50X3R5cGU6IFwidGVtcGxhdGVcIiwgcGFyYW1zOiB7IGZpbHRlcnM6IHsgY2F0ZWdvcnk6IFwic2VjdXJpdHlcIiB9LCBhZ2dyZWdhdGU6IHsgY291bnQ6IHRydWUgfSB9IH0nLFxuICAgIF0sXG4gIH0sXG59IGFzIGNvbnN0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBZ2dyZWdhdGVkIFNjaGVtYVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFNjaGVtYS1kcml2ZW4gb3BlcmF0aW9ucyDigJQgdXNlZCBieSBTY2hlbWFEaXNwYXRjaGVyIGZvciBkaXNwYXRjaC5cbiAqXG4gKiBPbmx5IG9wZXJhdGlvbnMgdGhhdCBjYW4gYmUgZnVsbHkgZGlzcGF0Y2hlZCB0aHJvdWdoIFNjaGVtYURpc3BhdGNoZXJcbiAqIGJlbG9uZyBoZXJlLiBPcGVyYXRpb25zIHdpdGggY29tcGxleCBwcmUtcHJvY2Vzc2luZyAobWVtb3J5IGxvb2t1cCxcbiAqIGFnZW50IHN0YXRlIG1hbmFnZW1lbnQsIGdhdGVrZWVwZXIgc2Vzc2lvbnMsIGxvZyB2YWxpZGF0aW9uKSBhcmUgaW5cbiAqIElOVFJPU1BFQ1RJT05fT05MWV9TQ0hFTUFTIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBTQ0hFTUFfRFJJVkVOX09QRVJBVElPTlM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgLi4uQ09MTEVDVElPTl9PUEVSQVRJT05TLFxuICAuLi5BVVRIX09QRVJBVElPTlMsXG4gIC4uLkVOSEFOQ0VEX0lOREVYX09QRVJBVElPTlMsXG4gIC4uLlRFTVBMQVRFX09QRVJBVElPTlMsXG4gIC4uLklOVFJPU1BFQ1RJT05fT1BFUkFUSU9OUyxcbiAgLi4uUEVSU09OQV9PUEVSQVRJT05TLFxuICAuLi5DT05GSUdfT1BFUkFUSU9OUyxcbiAgLi4uUE9SVEZPTElPX09QRVJBVElPTlMsXG4gIC4uLkVMRU1FTlRfQ1JVRF9PUEVSQVRJT05TLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBJbnRyb3NwZWN0aW9uLW9ubHkgc2NoZW1hcyDigJQgbWV0YWRhdGEgZm9yIG9wZXJhdGlvbnMgZGlzcGF0Y2hlZCBieVxuICogbGVnYWN5IG1ldGhvZHMgKGRpc3BhdGNoTWVtb3J5LCBkaXNwYXRjaEV4ZWN1dGUsIGRpc3BhdGNoR2F0ZWtlZXBlcixcbiAqIGRpc3BhdGNoTG9nZ2luZykuIFRoZXNlIGFyZSBOT1QgdXNlZCBmb3IgZGlzcGF0Y2ggcm91dGluZy5cbiAqXG4gKiBAc2VlIElzc3VlICM1OTQgLSBEb2N1bWVudCBhbGwgTUNQLUFRTCBvcGVyYXRpb25zIHZpYSBzY2hlbWFcbiAqL1xuLyoqXG4gKiBCcm93c2VyIG9wZXJhdGlvbiBzY2hlbWFzXG4gKiBAc2VlIElzc3VlICM3NzQgLSBvcGVuIHBvcnRmb2xpbyBicm93c2VyXG4gKi9cbmV4cG9ydCBjb25zdCBCUk9XU0VSX1NDSEVNQVM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgb3Blbl9wb3J0Zm9saW9fYnJvd3Nlcjoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoQnJvd3NlcicsXG4gICAgY2F0ZWdvcnk6ICdNYW5hZ2VtZW50IENvbnNvbGUnLFxuICAgIGRlc2NyaXB0aW9uOiBgU3RhcnQgdGhlIHBvcnRmb2xpbyB3ZWIgVUkgYW5kIG9wZW4gaXQgaW4gdGhlIHN5c3RlbSBicm93c2VyLiBUaGUgd2ViIHNlcnZlciBydW5zIG9uIGxvY2FsaG9zdDoke2Vudi5ET0xMSE9VU0VfV0VCX0NPTlNPTEVfUE9SVH0gYW5kIHNob3dzIGFsbCBwb3J0Zm9saW8gZWxlbWVudHMgd2l0aCBzZWFyY2gsIGZpbHRlcmluZywgYW5kIGRldGFpbCB2aWV3cy4gU3VwcG9ydHMgVVJMIHBhcmFtZXRlcnMgZm9yIGRlZXAtbGlua2luZyB3aXRoIHByZS1wb3B1bGF0ZWQgc2VhcmNoLCBmaWx0ZXJzLCBhbmQgZWxlbWVudCBuYXZpZ2F0aW9uLiBBbGlhc2VzOiBvcGVuX2NvbnNvbGUsIG9wZW5fbWFuYWdlbWVudF9jb25zb2xlLCBvcGVuX2RvbGxob3VzZV9tY3AuYCxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHRhYjogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdUYWIgdG8gb3BlbiAocG9ydGZvbGlvLCBsb2dzLCBtZXRyaWNzLCBwZXJtaXNzaW9ucywgc2V0dXApLiBEZWZhdWx0OiBsYXN0LXVzZWQgdGFiLicsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgcTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdQcmUtcG9wdWxhdGUgc2VhcmNoIHF1ZXJ5IG9uIHRoZSB0YXJnZXQgdGFiLicgfSxcbiAgICAgIHR5cGU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnRmlsdGVyIGJ5IGVsZW1lbnQgdHlwZSAocGVyc29uYSwgc2tpbGwsIHRlbXBsYXRlLCBhZ2VudCwgbWVtb3J5LCBlbnNlbWJsZSkgb24gcG9ydGZvbGlvIHRhYi4nIH0sXG4gICAgICBuYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ05hdmlnYXRlIGRpcmVjdGx5IHRvIGEgc3BlY2lmaWMgZWxlbWVudCBkZXRhaWwgdmlldyBvbiBwb3J0Zm9saW8gdGFiLicgfSxcbiAgICAgIGxldmVsOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0ZpbHRlciBieSBsb2cgbGV2ZWwgKGRlYnVnLCBpbmZvLCB3YXJuLCBlcnJvcikgb24gbG9ncyB0YWIuJyB9LFxuICAgICAgY2F0ZWdvcnk6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnRmlsdGVyIGJ5IGNhdGVnb3J5IG9uIGxvZ3MgdGFiIChhcHBsaWNhdGlvbiwgc2VjdXJpdHksIHBlcmZvcm1hbmNlKS4nIH0sXG4gICAgICBzaW5jZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdUaW1lIHJhbmdlIGZpbHRlciAoSVNPIDg2MDEgb3IgcmVsYXRpdmU6IDVtLCAxaCwgMjRoLCA3ZCkgb24gbG9ncy9tZXRyaWNzIHRhYnMuJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQnJvd3NlclJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NvbmZpcm1hdGlvbiB3aXRoIHRoZSBVUkwgb2YgdGhlIG9wZW5lZCBicm93c2VyJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwib3Blbl9wb3J0Zm9saW9fYnJvd3NlclwiIH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcIm9wZW5fcG9ydGZvbGlvX2Jyb3dzZXJcIiwgcGFyYW1zOiB7IHRhYjogXCJsb2dzXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJvcGVuX3BvcnRmb2xpb19icm93c2VyXCIsIHBhcmFtczogeyB0YWI6IFwicG9ydGZvbGlvXCIsIHE6IFwiYXhpb21cIiwgdHlwZTogXCJwZXJzb25hXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJvcGVuX3BvcnRmb2xpb19icm93c2VyXCIsIHBhcmFtczogeyB0YWI6IFwibG9nc1wiLCBsZXZlbDogXCJlcnJvclwiLCBzaW5jZTogXCIxaFwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgb3Blbl9sb2dzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hCcm93c2VyJyxcbiAgICBjYXRlZ29yeTogJ01hbmFnZW1lbnQgQ29uc29sZScsXG4gICAgZGVzY3JpcHRpb246ICdPcGVuIHRoZSBtYW5hZ2VtZW50IGNvbnNvbGUgZGlyZWN0bHkgb24gdGhlIGxvZ3MgdGFiLiBTdXBwb3J0cyBVUkwgcGFyYW1ldGVycyBmb3IgcHJlLWZpbHRlcmVkIHZpZXdzLiBBbGlhc2VzOiBvcGVuX2RvbGxob3VzZV9sb2dzLCBvcGVuX2RvbGxob3VzZV9tY3BfbG9ncy4nLFxuICAgIHBhcmFtczoge1xuICAgICAgbGV2ZWw6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnRmlsdGVyIGJ5IG1pbmltdW0gbG9nIGxldmVsIChkZWJ1ZywgaW5mbywgd2FybiwgZXJyb3IpLicgfSxcbiAgICAgIGNhdGVnb3J5OiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0ZpbHRlciBieSBsb2cgY2F0ZWdvcnkgKGFwcGxpY2F0aW9uLCBzZWN1cml0eSwgcGVyZm9ybWFuY2UpLicgfSxcbiAgICAgIHNvdXJjZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgbG9nIHNvdXJjZSBjb21wb25lbnQuJyB9LFxuICAgICAgcTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdTZWFyY2ggbG9nIG1lc3NhZ2VzLicgfSxcbiAgICAgIHNpbmNlOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1RpbWUgcmFuZ2UgKElTTyA4NjAxIG9yIHJlbGF0aXZlOiA1bSwgMWgsIDI0aCwgN2QpLicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0Jyb3dzZXJSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDb25maXJtYXRpb24gd2l0aCB0aGUgVVJMIG9mIHRoZSBvcGVuZWQgYnJvd3NlcicgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcIm9wZW5fbG9nc1wiIH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcIm9wZW5fbG9nc1wiLCBwYXJhbXM6IHsgbGV2ZWw6IFwiZXJyb3JcIiwgc2luY2U6IFwiMWhcIiB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIG9wZW5fbWV0cmljczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoQnJvd3NlcicsXG4gICAgY2F0ZWdvcnk6ICdNYW5hZ2VtZW50IENvbnNvbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnT3BlbiB0aGUgbWFuYWdlbWVudCBjb25zb2xlIGRpcmVjdGx5IG9uIHRoZSBtZXRyaWNzIHRhYi4gU3VwcG9ydHMgVVJMIHBhcmFtZXRlcnMgZm9yIGZpbHRlcmVkIHZpZXdzLiBBbGlhc2VzOiBvcGVuX2RvbGxob3VzZV9tZXRyaWNzLCBvcGVuX2RvbGxob3VzZV9tY3BfbWV0cmljcy4nLFxuICAgIHBhcmFtczoge1xuICAgICAgc2luY2U6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnVGltZSByYW5nZSAoMTVtLCAzMG0sIDFoKS4nIH0sXG4gICAgICByZWZyZXNoOiB7IHR5cGU6ICdudW1iZXInLCBkZXNjcmlwdGlvbjogJ0F1dG8tcmVmcmVzaCBpbnRlcnZhbCBpbiBzZWNvbmRzLiAwIGRpc2FibGVzLicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0Jyb3dzZXJSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDb25maXJtYXRpb24gd2l0aCB0aGUgVVJMIG9mIHRoZSBvcGVuZWQgYnJvd3NlcicgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcIm9wZW5fbWV0cmljc1wiIH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcIm9wZW5fbWV0cmljc1wiLCBwYXJhbXM6IHsgc2luY2U6IFwiMWhcIiwgcmVmcmVzaDogNSB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIG9wZW5fcGVybWlzc2lvbnM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEJyb3dzZXInLFxuICAgIGNhdGVnb3J5OiAnTWFuYWdlbWVudCBDb25zb2xlJyxcbiAgICBkZXNjcmlwdGlvbjogJ09wZW4gdGhlIG1hbmFnZW1lbnQgY29uc29sZSBkaXJlY3RseSBvbiB0aGUgcGVybWlzc2lvbnMgdGFiLiBBbGlhc2VzOiBvcGVuX2RvbGxob3VzZV9wZXJtaXNzaW9ucy4nLFxuICAgIHBhcmFtczoge30sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQnJvd3NlclJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NvbmZpcm1hdGlvbiB3aXRoIHRoZSBVUkwgb2YgdGhlIG9wZW5lZCBicm93c2VyJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcIm9wZW5fcGVybWlzc2lvbnNcIiB9J10sXG4gIH0sXG4gIG9wZW5fc2V0dXA6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEJyb3dzZXInLFxuICAgIGNhdGVnb3J5OiAnTWFuYWdlbWVudCBDb25zb2xlJyxcbiAgICBkZXNjcmlwdGlvbjogJ09wZW4gdGhlIG1hbmFnZW1lbnQgY29uc29sZSBkaXJlY3RseSBvbiB0aGUgc2V0dXAvaW5zdGFsbCB0YWIuIEFsaWFzZXM6IG9wZW5fZG9sbGhvdXNlX3NldHVwLCBvcGVuX2luc3RhbGxlci4nLFxuICAgIHBhcmFtczoge30sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQnJvd3NlclJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NvbmZpcm1hdGlvbiB3aXRoIHRoZSBVUkwgb2YgdGhlIG9wZW5lZCBicm93c2VyJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcIm9wZW5fc2V0dXBcIiB9J10sXG4gIH0sXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgSU5UUk9TUEVDVElPTl9PTkxZX1NDSEVNQVM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgLi4uTUVNT1JZX1NDSEVNQVMsXG4gIC4uLkVYRUNVVElPTl9TQ0hFTUFTLFxuICAuLi5HQVRFS0VFUEVSX1NDSEVNQVMsXG4gIC4uLkxPR0dJTkdfU0NIRU1BUyxcbiAgLi4uTUVUUklDU19TQ0hFTUFTLFxuICAuLi5BQ1RJVkFUSU9OX1NDSEVNQVMsXG4gIC4uLlNFQVJDSF9TQ0hFTUFTLFxuICAuLi5CUk9XU0VSX1NDSEVNQVMsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEFsbCBvcGVyYXRpb24gc2NoZW1hcyDigJQgdW5pb24gb2YgZGlzcGF0Y2gtZHJpdmVuIGFuZCBpbnRyb3NwZWN0aW9uLW9ubHkuXG4gKiBVc2VkIGJ5IEludHJvc3BlY3Rpb25SZXNvbHZlciBmb3IgY29tcGxldGUgb3BlcmF0aW9uIGRvY3VtZW50YXRpb24uXG4gKlxuICogQHNlZSBJc3N1ZSAjNTk0IC0gRG9jdW1lbnQgYWxsIE1DUC1BUUwgb3BlcmF0aW9ucyB2aWEgc2NoZW1hXG4gKi9cbmV4cG9ydCBjb25zdCBBTExfT1BFUkFUSU9OX1NDSEVNQVM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgLi4uU0NIRU1BX0RSSVZFTl9PUEVSQVRJT05TLFxuICAuLi5JTlRST1NQRUNUSU9OX09OTFlfU0NIRU1BUyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQ2hlY2sgaWYgYW4gb3BlcmF0aW9uIGlzIHNjaGVtYS1kcml2ZW4gKHVzZWQgZm9yIFNjaGVtYURpc3BhdGNoZXIgcm91dGluZylcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU2NoZW1hT3BlcmF0aW9uKG9wZXJhdGlvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBvcGVyYXRpb24gaW4gU0NIRU1BX0RSSVZFTl9PUEVSQVRJT05TO1xufVxuXG4vKipcbiAqIEdldCBzY2hlbWEgZGVmaW5pdGlvbiBmb3IgYSBzY2hlbWEtZHJpdmVuIG9wZXJhdGlvbiAoZGlzcGF0Y2ggcm91dGluZylcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9wZXJhdGlvblNjaGVtYShvcGVyYXRpb246IHN0cmluZyk6IE9wZXJhdGlvbkRlZiB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBTQ0hFTUFfRFJJVkVOX09QRVJBVElPTlNbb3BlcmF0aW9uXTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhbnkgb3BlcmF0aW9uIHNjaGVtYSBleGlzdHMgKGRpc3BhdGNoLWRyaXZlbiBvciBpbnRyb3NwZWN0aW9uLW9ubHkpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNPcGVyYXRpb25TY2hlbWEob3BlcmF0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG9wZXJhdGlvbiBpbiBBTExfT1BFUkFUSU9OX1NDSEVNQVM7XG59XG5cbi8qKlxuICogR2V0IHNjaGVtYSBmb3IgYW55IG9wZXJhdGlvbiAoZGlzcGF0Y2gtZHJpdmVuIG9yIGludHJvc3BlY3Rpb24tb25seSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFueU9wZXJhdGlvblNjaGVtYShvcGVyYXRpb246IHN0cmluZyk6IE9wZXJhdGlvbkRlZiB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBBTExfT1BFUkFUSU9OX1NDSEVNQVNbb3BlcmF0aW9uXTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW50cm9zcGVjdGlvbiBIZWxwZXJzIChJc3N1ZSAjMjU0KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFBhcmFtZXRlciBpbmZvIGZvcm1hdCB1c2VkIGJ5IEludHJvc3BlY3Rpb25SZXNvbHZlclxuICogVGhpcyBpbnRlcmZhY2UgbWF0Y2hlcyB3aGF0IEludHJvc3BlY3Rpb25SZXNvbHZlciBleHBlY3RzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVySW5mbyB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZGVmYXVsdD86IHVua25vd247XG59XG5cbi8qKlxuICogQ29udmVydCBQYXJhbVNjaGVtYSB0byBQYXJhbWV0ZXJJbmZvIGFycmF5IGZvciBpbnRyb3NwZWN0aW9uXG4gKlxuICogQHBhcmFtIHNjaGVtYSAtIFRoZSBQYXJhbVNjaGVtYSBmcm9tIGFuIG9wZXJhdGlvbiBkZWZpbml0aW9uXG4gKiBAcmV0dXJucyBBcnJheSBvZiBQYXJhbWV0ZXJJbmZvIGZvciBJbnRyb3NwZWN0aW9uUmVzb2x2ZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjaGVtYVRvUGFyYW1ldGVySW5mbyhzY2hlbWE6IFBhcmFtU2NoZW1hIHwgdW5kZWZpbmVkKTogUGFyYW1ldGVySW5mb1tdIHtcbiAgaWYgKCFzY2hlbWEpIHJldHVybiBbXTtcblxuICByZXR1cm4gT2JqZWN0LmVudHJpZXMoc2NoZW1hKS5tYXAoKFtuYW1lLCBkZWZdKSA9PiAoe1xuICAgIG5hbWUsXG4gICAgdHlwZTogZGVmLnR5cGUsXG4gICAgcmVxdWlyZWQ6IGRlZi5yZXF1aXJlZCA/PyBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogZGVmLmRlc2NyaXB0aW9uID8/IGAke25hbWV9IHBhcmFtZXRlcmAsXG4gICAgLi4uKGRlZi5kZWZhdWx0ICE9PSB1bmRlZmluZWQgPyB7IGRlZmF1bHQ6IGRlZi5kZWZhdWx0IH0gOiB7fSksXG4gIH0pKTtcbn1cblxuLyoqXG4gKiBHZXQgYWxsIHNjaGVtYS1kcml2ZW4gb3BlcmF0aW9ucyB3aXRoIHRoZWlyIGZ1bGwgZGVmaW5pdGlvbnNcbiAqIFVzZWQgYnkgU2NoZW1hRGlzcGF0Y2hlciB0byBpdGVyYXRlIG92ZXIgZGlzcGF0Y2hhYmxlIG9wZXJhdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbFNjaGVtYU9wZXJhdGlvbnMoKTogUmVjb3JkPHN0cmluZywgT3BlcmF0aW9uRGVmPiB7XG4gIHJldHVybiBTQ0hFTUFfRFJJVkVOX09QRVJBVElPTlM7XG59XG5cbi8qKlxuICogR2V0IGFsbCBvcGVyYXRpb24gc2NoZW1hcyAoZGlzcGF0Y2gtZHJpdmVuICsgaW50cm9zcGVjdGlvbi1vbmx5KVxuICogVXNlZCBieSBJbnRyb3NwZWN0aW9uUmVzb2x2ZXIgZm9yIGNvbXBsZXRlIG9wZXJhdGlvbiBkb2N1bWVudGF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxPcGVyYXRpb25TY2hlbWFzKCk6IFJlY29yZDxzdHJpbmcsIE9wZXJhdGlvbkRlZj4ge1xuICByZXR1cm4gQUxMX09QRVJBVElPTl9TQ0hFTUFTO1xufVxuIl19
1738
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZXJzL21jcC1hcWwvT3BlcmF0aW9uU2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFHSCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUE2SzFDLCtFQUErRTtBQUMvRSxrREFBa0Q7QUFDbEQsK0VBQStFO0FBRS9FOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUF1QjtJQUN2RCxpQkFBaUIsRUFBRTtRQUNqQixRQUFRLEVBQUUsTUFBTTtRQUNoQixPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLE1BQU0sRUFBRSxrQkFBa0I7UUFDMUIsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyxXQUFXLEVBQUUsa0VBQWtFO1FBQy9FLFFBQVEsRUFBRSxJQUFJO1FBQ2QsTUFBTSxFQUFFO1lBQ04sT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsOEJBQThCLEVBQUU7WUFDeEUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUU7U0FDN0Q7UUFDRCxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsMENBQTBDLEVBQUU7UUFDcEgsUUFBUSxFQUFFLENBQUMscUVBQXFFLENBQUM7S0FDbEY7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixRQUFRLEVBQUUsTUFBTTtRQUNoQixPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLE1BQU0sRUFBRSxrQkFBa0I7UUFDMUIsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyxXQUFXLEVBQUUsMERBQTBEO1FBQ3ZFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsTUFBTSxFQUFFO1lBQ04s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QyxDQUFDO0FBQ04sQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTyx3QkFBd0IsQ0FBQztBQUNsQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQjtJQUNwQyxPQUFPLHFCQUFxQixDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE9wZXJhdGlvblNjaGVtYSAtIERlY2xhcmF0aXZlIG9wZXJhdGlvbiBkZWZpbml0aW9ucyBmb3IgTUNQLUFRTFxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHNjaGVtYS1kcml2ZW4gb3BlcmF0aW9uIGRlZmluaXRpb25zIHRoYXQgZW5hYmxlOlxuICogMS4gRGVjbGFyYXRpdmUgb3BlcmF0aW9uIGNvbmZpZ3VyYXRpb24gKG5vIG1hbnVhbCBzd2l0Y2ggc3RhdGVtZW50cylcbiAqIDIuIEF1dG8tZ2VuZXJhdGVkIHBhcmFtZXRlciB2YWxpZGF0aW9uXG4gKiAzLiBUeXBlLXNhZmUgZGlzcGF0Y2ggdG8gaGFuZGxlciBtZXRob2RzXG4gKiA0LiBTaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciBvcGVyYXRpb24gbWV0YWRhdGFcbiAqXG4gKiBBUkNISVRFQ1RVUkU6XG4gKiBPcGVyYXRpb25zIGFyZSBkZWZpbmVkIHdpdGg6XG4gKiAtIGVuZHBvaW50OiBDUlVERSBlbmRwb2ludCAoQ1JFQVRFLCBSRUFELCBVUERBVEUsIERFTEVURSwgRVhFQ1VURSlcbiAqIC0gaGFuZGxlcjogS2V5IGluIEhhbmRsZXJSZWdpc3RyeVxuICogLSBtZXRob2Q6IE1ldGhvZCBuYW1lIG9uIHRoZSBoYW5kbGVyXG4gKiAtIHBhcmFtczogUGFyYW1ldGVyIGRlZmluaXRpb25zIHdpdGggdHlwZXMgYW5kIG1hcHBpbmdzXG4gKiAtIGRlc2NyaXB0aW9uOiBIdW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvblxuICpcbiAqIFRoZSBTY2hlbWFEaXNwYXRjaGVyIHVzZXMgdGhlc2UgZGVmaW5pdGlvbnMgdG8gYXV0b21hdGljYWxseSByb3V0ZVxuICogb3BlcmF0aW9ucyB0byBoYW5kbGVyIG1ldGhvZHMgd2l0aG91dCBtYW51YWwgZGlzcGF0Y2ggY29kZS5cbiAqXG4gKiBAc2VlIElzc3VlICMyNDcgLSBTY2hlbWEtZHJpdmVuIG9wZXJhdGlvbiBkZWZpbml0aW9uc1xuICovXG5cbmltcG9ydCB0eXBlIHsgQ1JVREVuZHBvaW50IH0gZnJvbSAnLi9PcGVyYXRpb25Sb3V0ZXIuanMnO1xuaW1wb3J0IHsgZW52IH0gZnJvbSAnLi4vLi4vY29uZmlnL2Vudi5qcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBhcmFtZXRlciBTY2hlbWEgVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBQcmltaXRpdmUgdHlwZXMgc3VwcG9ydGVkIGluIHBhcmFtZXRlciBzY2hlbWFzXG4gKi9cbmV4cG9ydCB0eXBlIFBhcmFtVHlwZSA9XG4gIHwgJ3N0cmluZydcbiAgfCAnbnVtYmVyJ1xuICB8ICdib29sZWFuJ1xuICB8ICdvYmplY3QnXG4gIHwgJ2FycmF5J1xuICB8ICdzdHJpbmdbXSdcbiAgfCAnc3RyaW5nIHwgc3RyaW5nW10nIC8vIFVuaW9uIHR5cGUgZm9yIGZpZWxkcyB0aGF0IGFjY2VwdCBwcmVzZXQgc3RyaW5nIG9yIGFycmF5XG4gIHwgJ3Vua25vd24nOyAvLyBGb3IgcGFyYW1zIHRoYXQgYWNjZXB0IGFueSB0eXBlXG5cbi8qKlxuICogUGFyYW1ldGVyIGRlZmluaXRpb24gaW4gb3BlcmF0aW9uIHNjaGVtYVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtRGVmIHtcbiAgLyoqIFBhcmFtZXRlciB0eXBlIGZvciB2YWxpZGF0aW9uICovXG4gIHR5cGU6IFBhcmFtVHlwZTtcbiAgLyoqIFdoZXRoZXIgdGhlIHBhcmFtZXRlciBpcyByZXF1aXJlZCAoZGVmYXVsdDogZmFsc2UpICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqIERlZmF1bHQgdmFsdWUgaWYgbm90IHByb3ZpZGVkICovXG4gIGRlZmF1bHQ/OiB1bmtub3duO1xuICAvKiogSHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBNYXBzIGlucHV0IHBhcmFtIG5hbWUgdG8gaGFuZGxlciBhcmcgbmFtZSAoaWYgZGlmZmVyZW50KSAqL1xuICBtYXBUbz86IHN0cmluZztcbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIHNvdXJjZXMgdG8gY2hlY2sgZm9yIHRoaXMgcGFyYW1ldGVyIHZhbHVlLlxuICAgKiBDaGVja2VkIGluIG9yZGVyIGJlZm9yZSBmYWxsaW5nIGJhY2sgdG8gdGhlIHByaW1hcnkgcGFyYW0gbmFtZS5cbiAgICpcbiAgICogU3VwcG9ydHMgZG90IG5vdGF0aW9uIGZvciBuZXN0ZWQgYWNjZXNzOlxuICAgKiAtICdpbnB1dC5lbGVtZW50VHlwZScgLSBjaGVja3MgaW5wdXQuZWxlbWVudFR5cGVcbiAgICogLSAncGFyYW1zLnR5cGUnIC0gY2hlY2tzIHBhcmFtcy50eXBlIChzYW1lIGFzIGp1c3QgY2hlY2tpbmcgdGhlIHBhcmFtKVxuICAgKlxuICAgKiBVc2UgY2FzZTogZWxlbWVudFR5cGUgY2FuIGNvbWUgZnJvbSBpbnB1dC5lbGVtZW50VHlwZSBPUiBwYXJhbXMudHlwZVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiB0eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRUeXBlJywgJ3BhcmFtcy50eXBlJ10gfVxuICAgKi9cbiAgc291cmNlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFJldHVybiB0eXBlIGRlZmluaXRpb24gZm9yIGludHJvc3BlY3Rpb25cbiAqIEBzZWUgSXNzdWUgIzI1NCAtIEF1dG8tZ2VuZXJhdGUgaW50cm9zcGVjdGlvbiBmcm9tIHNjaGVtYVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJldHVyblR5cGVEZWYge1xuICAvKiogUmV0dXJuIHR5cGUgbmFtZSAoZS5nLiwgJ0VsZW1lbnRMaXN0JywgJ1NlYXJjaFJlc3VsdCcpICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFR5cGUga2luZCBmb3IgY2F0ZWdvcml6YXRpb24gKi9cbiAga2luZDogJ2VudW0nIHwgJ29iamVjdCcgfCAnc2NhbGFyJyB8ICd1bmlvbic7XG4gIC8qKiBIdW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB3aGF0IGlzIHJldHVybmVkICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVyIHNjaGVtYSAtIG1hcCBvZiBwYXJhbWV0ZXIgbmFtZXMgdG8gZGVmaW5pdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgUGFyYW1TY2hlbWEgPSBSZWNvcmQ8c3RyaW5nLCBQYXJhbURlZj47XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE9wZXJhdGlvbiBTY2hlbWEgVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBIYW5kbGVyIGtleXMgLSB0aGVzZSBtYXAgdG8gcHJvcGVydGllcyBpbiBIYW5kbGVyUmVnaXN0cnlcbiAqL1xuZXhwb3J0IHR5cGUgSGFuZGxlcktleSA9XG4gIHwgJ2VsZW1lbnRDUlVEJ1xuICB8ICdtZW1vcnlNYW5hZ2VyJ1xuICB8ICdhZ2VudE1hbmFnZXInXG4gIHwgJ3RlbXBsYXRlUmVuZGVyZXInXG4gIHwgJ2VsZW1lbnRRdWVyeVNlcnZpY2UnXG4gIHwgJ2NvbGxlY3Rpb25IYW5kbGVyJ1xuICB8ICdwb3J0Zm9saW9IYW5kbGVyJ1xuICB8ICdhdXRoSGFuZGxlcidcbiAgfCAnY29uZmlnSGFuZGxlcidcbiAgfCAnZW5oYW5jZWRJbmRleEhhbmRsZXInXG4gIHwgJ3BlcnNvbmFIYW5kbGVyJ1xuICB8ICdzeW5jSGFuZGxlcidcbiAgfCAnYnVpbGRJbmZvU2VydmljZSdcbiAgfCAnbWNwQXFsSGFuZGxlcidcbiAgfCAnY2FjaGVNZW1vcnlCdWRnZXQnO1xuXG4vKipcbiAqIENvbXBsZXRlIG9wZXJhdGlvbiBzY2hlbWEgZGVmaW5pdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhdGlvbkRlZiB7XG4gIC8qKiBDUlVERSBlbmRwb2ludCB0aGlzIG9wZXJhdGlvbiBiZWxvbmdzIHRvICovXG4gIGVuZHBvaW50OiBDUlVERW5kcG9pbnQ7XG4gIC8qKiBIYW5kbGVyIGtleSBpbiBIYW5kbGVyUmVnaXN0cnkgKi9cbiAgaGFuZGxlcjogSGFuZGxlcktleTtcbiAgLyoqIE1ldGhvZCBuYW1lIHRvIGNhbGwgb24gdGhlIGhhbmRsZXIgKi9cbiAgbWV0aG9kOiBzdHJpbmc7XG4gIC8qKiBQYXJhbWV0ZXIgZGVmaW5pdGlvbnMgKi9cbiAgcGFyYW1zPzogUGFyYW1TY2hlbWE7XG4gIC8qKiBIdW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAvKiogV2hldGhlciB0aGUgaGFuZGxlciBpcyBvcHRpb25hbCAobWF5IG5vdCBiZSBjb25maWd1cmVkKSAqL1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDdXN0b20gYXJndW1lbnQgYnVpbGRlciBmb3IgY29tcGxleCBjYXNlczpcbiAgICogLSAnc2luZ2xlJzogUGFzcyBwYXJhbXMgaW4gc2NoZW1hIG9yZGVyIGFzIHBvc2l0aW9uYWwgYXJncyAoZGVmYXVsdClcbiAgICogLSAnc3ByZWFkJzogUGFzcyAocXVlcnksIHBhcmFtcykgLSBmb3Igc2VhcmNoLXN0eWxlIG9wZXJhdGlvbnNcbiAgICogLSAnbmFtZWQnOiBQYXNzIGFsbCBwYXJhbXMgYXMgYSBzaW5nbGUgbmFtZWQgb2JqZWN0XG4gICAqIC0gJ25hbWVkV2l0aFR5cGUnOiBMaWtlICduYW1lZCcgYnV0IGluY2x1ZGVzIHJlc29sdmVkICd0eXBlJyBwYXJhbVxuICAgKiAtICd0eXBlV2l0aFBhcmFtcyc6IFBhc3MgKHR5cGUsIGZ1bGxQYXJhbXMpIGZvciBvcGVyYXRpb25zIG5lZWRpbmcgdHlwZSArIHBhZ2luYXRpb25cbiAgICovXG4gIGFyZ0J1aWxkZXI/OiAnc2luZ2xlJyB8ICdzcHJlYWQnIHwgJ25hbWVkJyB8ICduYW1lZFdpdGhUeXBlJyB8ICd0eXBlV2l0aFBhcmFtcyc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgb3BlcmF0aW9uIG5lZWRzIGFjY2VzcyB0byB0aGUgZnVsbCBPcGVyYXRpb25JbnB1dC5cbiAgICogV2hlbiB0cnVlLCBTY2hlbWFEaXNwYXRjaGVyIHBhc3NlcyB0aGUgZnVsbCBpbnB1dCBmb3Igc291cmNlIHJlc29sdXRpb24uXG4gICAqIFJlcXVpcmVkIGZvciBvcGVyYXRpb25zIHRoYXQgdXNlIHBhcmFtIHNvdXJjZXMgbGlrZSAnaW5wdXQuZWxlbWVudFR5cGUnLlxuICAgKi9cbiAgbmVlZHNGdWxsSW5wdXQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0b21hdGljIHBhcmFtZXRlciBuYW1lIGNvbnZlcnNpb24gc3R5bGUuXG4gICAqIC0gJ3NuYWtlVG9DYW1lbCc6IENvbnZlcnQgc25ha2VfY2FzZSBwYXJhbXMgdG8gY2FtZWxDYXNlIGZvciBoYW5kbGVyXG4gICAqXG4gICAqIFdoZW4gc2V0LCBhbGwgcGFyYW1zIGFyZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCBiZWZvcmUgYmVpbmcgcGFzc2VkXG4gICAqIHRvIHRoZSBoYW5kbGVyLiBJbmRpdmlkdWFsIHBhcmFtIGBtYXBUb2Agb3ZlcnJpZGVzIHN0aWxsIHRha2UgcHJlY2VkZW5jZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogLy8gSW5wdXQ6IHsgZHJ5X3J1bjogdHJ1ZSwgbWF4X3Jlc3VsdHM6IDEwIH1cbiAgICogLy8gSGFuZGxlciByZWNlaXZlczogeyBkcnlSdW46IHRydWUsIG1heFJlc3VsdHM6IDEwIH1cbiAgICovXG4gIHBhcmFtU3R5bGU/OiAnc25ha2VUb0NhbWVsJztcbiAgLyoqXG4gICAqIENhcGFiaWxpdHkgY2F0ZWdvcnkgZm9yIGdldF9jYXBhYmlsaXRpZXMgZ3JvdXBpbmcuXG4gICAqIE9wZXJhdGlvbnMgYXJlIGdyb3VwZWQgYnkgdXNlci1pbnRlbnQgY2F0ZWdvcmllcyBpbiB0aGUgY2FwYWJpbGl0aWVzIG1hcC5cbiAgICogT3BlcmF0aW9ucyB3aXRob3V0IGEgY2F0ZWdvcnkgYXBwZWFyIHVuZGVyIFwiT3RoZXJcIi5cbiAgICogQHNlZSBJc3N1ZSAjMTc2MCAtIGdldF9jYXBhYmlsaXRpZXMgb3BlcmF0aW9uXG4gICAqL1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIFJldHVybiB0eXBlIGluZm9ybWF0aW9uIGZvciBpbnRyb3NwZWN0aW9uXG4gICAqIEBzZWUgSXNzdWUgIzI1NCAtIEF1dG8tZ2VuZXJhdGUgaW50cm9zcGVjdGlvbiBmcm9tIHNjaGVtYVxuICAgKi9cbiAgcmV0dXJucz86IFJldHVyblR5cGVEZWY7XG4gIC8qKlxuICAgKiBVc2FnZSBleGFtcGxlcyBmb3IgaW50cm9zcGVjdGlvblxuICAgKiBAc2VlIElzc3VlICMyNTQgLSBBdXRvLWdlbmVyYXRlIGludHJvc3BlY3Rpb24gZnJvbSBzY2hlbWFcbiAgICovXG4gIGV4YW1wbGVzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBOb3JtYWxpemVyIHRvIHVzZSBmb3IgcGFyYW1ldGVyIHRyYW5zZm9ybWF0aW9uLlxuICAgKlxuICAgKiBJZiBzcGVjaWZpZWQsIHRoZSBub3JtYWxpemVyIGlzIGNhbGxlZCBiZWZvcmUgdGhlIGhhbmRsZXIgbWV0aG9kLFxuICAgKiB0cmFuc2Zvcm1pbmcgcmF3IGlucHV0IHBhcmFtZXRlcnMgaW50byB0aGUgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSBoYW5kbGVyLlxuICAgKlxuICAgKiBOb3JtYWxpemVycyBhcmUgcmVnaXN0ZXJlZCBpbiBOb3JtYWxpemVyUmVnaXN0cnkgYW5kIGxvb2tlZCB1cCBieSBuYW1lLlxuICAgKlxuICAgKiBAc2VlIElzc3VlICMyNDMgLSBTY2hlbWEtZHJpdmVuIG5vcm1hbGl6ZXIgYXJjaGl0ZWN0dXJlXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIC8vIFVzZSB0aGUgc2VhcmNoIHBhcmFtcyBub3JtYWxpemVyXG4gICAqIG5vcm1hbGl6ZXI6ICdzZWFyY2hQYXJhbXMnXG4gICAqL1xuICBub3JtYWxpemVyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbXBsZXRlIG9wZXJhdGlvbiBzY2hlbWEgLSBtYXBzIG9wZXJhdGlvbiBuYW1lcyB0byBkZWZpbml0aW9uc1xuICovXG5leHBvcnQgdHlwZSBPcGVyYXRpb25TY2hlbWFNYXAgPSBSZWNvcmQ8c3RyaW5nLCBPcGVyYXRpb25EZWY+O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb2xsZWN0aW9uIE9wZXJhdGlvbnMgU2NoZW1hIChQcm9vZiBvZiBDb25jZXB0KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbGxlY3Rpb24gb3BlcmF0aW9ucyBzY2hlbWFcbiAqXG4gKiBUaGVzZSBhcmUgdGhlIGZpcnN0IG9wZXJhdGlvbnMgbWlncmF0ZWQgdG8gc2NoZW1hLWRyaXZlbiBkaXNwYXRjaC5cbiAqIEVhY2ggb3BlcmF0aW9uIGRlZmluZXM6XG4gKiAtIFdoZXJlIGl0IGxpdmVzIChlbmRwb2ludClcbiAqIC0gV2hhdCBoYW5kbGVyIHRvIHVzZVxuICogLSBXaGF0IG1ldGhvZCB0byBjYWxsXG4gKiAtIFdoYXQgcGFyYW1ldGVycyBpdCBhY2NlcHRzXG4gKi9cbmV4cG9ydCBjb25zdCBDT0xMRUNUSU9OX09QRVJBVElPTlM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgYnJvd3NlX2NvbGxlY3Rpb246IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdjb2xsZWN0aW9uSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnYnJvd3NlQ29sbGVjdGlvbicsXG4gICAgY2F0ZWdvcnk6ICdDb21tdW5pdHkgQ29sbGVjdGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdCcm93c2UgdGhlIERvbGxob3VzZU1DUCBjb21tdW5pdHkgY29sbGVjdGlvbiBieSBzZWN0aW9uIGFuZCB0eXBlJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHNlY3Rpb246IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnQ29sbGVjdGlvbiBzZWN0aW9uIHRvIGJyb3dzZScgfSxcbiAgICAgIHR5cGU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCB0eXBlIGZpbHRlcicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0NvbGxlY3Rpb25Ccm93c2VSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdCcm93c2VhYmxlIGNvbGxlY3Rpb24gc2VjdGlvbnMgYW5kIGl0ZW1zJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImJyb3dzZV9jb2xsZWN0aW9uXCIsIHBhcmFtczogeyBzZWN0aW9uOiBcInBlcnNvbmFzXCIgfSB9J10sXG4gIH0sXG4gIHNlYXJjaF9jb2xsZWN0aW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnY29sbGVjdGlvbkhhbmRsZXInLFxuICAgIG1ldGhvZDogJ3NlYXJjaENvbGxlY3Rpb24nLFxuICAgIGNhdGVnb3J5OiAnQ29tbXVuaXR5IENvbGxlY3Rpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VhcmNoIHRoZSBjb21tdW5pdHkgY29sbGVjdGlvbiBmb3IgZWxlbWVudHMgYnkga2V5d29yZHMnLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHBhcmFtczoge1xuICAgICAgcXVlcnk6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1NlYXJjaCBxdWVyeScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0NvbGxlY3Rpb25TZWFyY2hSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdNYXRjaGluZyBlbGVtZW50cyBmcm9tIGNvbGxlY3Rpb24nIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwic2VhcmNoX2NvbGxlY3Rpb25cIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImNvZGUgcmV2aWV3XCIgfSB9J10sXG4gIH0sXG4gIHNlYXJjaF9jb2xsZWN0aW9uX2VuaGFuY2VkOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnY29sbGVjdGlvbkhhbmRsZXInLFxuICAgIG1ldGhvZDogJ3NlYXJjaENvbGxlY3Rpb25FbmhhbmNlZCcsXG4gICAgY2F0ZWdvcnk6ICdDb21tdW5pdHkgQ29sbGVjdGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdBZHZhbmNlZCBzZWFyY2ggd2l0aCBwYWdpbmF0aW9uLCBmaWx0ZXJpbmcsIGFuZCBzb3J0aW5nJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnc3ByZWFkJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHF1ZXJ5OiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdTZWFyY2ggcXVlcnknIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdFbmhhbmNlZFNlYXJjaFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1BhZ2luYXRlZCBzZWFyY2ggcmVzdWx0cyB3aXRoIG1ldGFkYXRhJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcInNlYXJjaF9jb2xsZWN0aW9uX2VuaGFuY2VkXCIsIHBhcmFtczogeyBxdWVyeTogXCJhc3Npc3RhbnRcIiwgbGltaXQ6IDEwIH0gfSddLFxuICB9LFxuICBnZXRfY29sbGVjdGlvbl9jb250ZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnY29sbGVjdGlvbkhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2dldENvbGxlY3Rpb25Db250ZW50JyxcbiAgICBjYXRlZ29yeTogJ0NvbW11bml0eSBDb2xsZWN0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBjb250ZW50IGZyb20gdGhlIGNvbGxlY3Rpb24nLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHBhcmFtczoge1xuICAgICAgcGF0aDogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ29udGVudCBwYXRoIGluIGNvbGxlY3Rpb24nIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdDb2xsZWN0aW9uQ29udGVudCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0Z1bGwgY29udGVudCBhbmQgbWV0YWRhdGEgZm9yIGNvbGxlY3Rpb24gaXRlbScgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJnZXRfY29sbGVjdGlvbl9jb250ZW50XCIsIHBhcmFtczogeyBwYXRoOiBcInBlcnNvbmFzL2NyZWF0aXZlLXdyaXRlci5tZFwiIH0gfSddLFxuICB9LFxuICBnZXRfY29sbGVjdGlvbl9jYWNoZV9oZWFsdGg6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdjb2xsZWN0aW9uSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZ2V0Q29sbGVjdGlvbkNhY2hlSGVhbHRoJyxcbiAgICBjYXRlZ29yeTogJ0NvbW11bml0eSBDb2xsZWN0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBoZWFsdGggc3RhdHVzIGFuZCBzdGF0aXN0aWNzIGZvciB0aGUgY29sbGVjdGlvbiBjYWNoZScsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgcGFyYW1zOiB7fSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdDYWNoZUhlYWx0aFN0YXR1cycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NhY2hlIGhlYWx0aCBtZXRyaWNzIGFuZCBkaWFnbm9zdGljcycgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJnZXRfY29sbGVjdGlvbl9jYWNoZV9oZWFsdGhcIiB9J10sXG4gIH0sXG4gIGluc3RhbGxfY29sbGVjdGlvbl9jb250ZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdjb2xsZWN0aW9uSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnaW5zdGFsbENvbnRlbnQnLFxuICAgIGNhdGVnb3J5OiAnQ29tbXVuaXR5IENvbGxlY3Rpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnSW5zdGFsbCBhbiBlbGVtZW50IGZyb20gdGhlIGNvbGxlY3Rpb24gdG8geW91ciBsb2NhbCBwb3J0Zm9saW8nLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHBhcmFtczoge1xuICAgICAgcGF0aDogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ29udGVudCBwYXRoIHRvIGluc3RhbGwnIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdJbnN0YWxsUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnSW5zdGFsbGF0aW9uIHJlc3VsdCB3aXRoIGVsZW1lbnQgbmFtZSwgdHlwZSwgYW5kIGxvY2FsIGZpbGUgcGF0aCcgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJpbnN0YWxsX2NvbGxlY3Rpb25fY29udGVudFwiLCBwYXJhbXM6IHsgcGF0aDogXCJwZXJzb25hcy9jcmVhdGl2ZS13cml0ZXIubWRcIiB9IH0nXSxcbiAgfSxcbiAgc3VibWl0X2NvbGxlY3Rpb25fY29udGVudDoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnY29sbGVjdGlvbkhhbmRsZXInLFxuICAgIG1ldGhvZDogJ3N1Ym1pdENvbnRlbnQnLFxuICAgIGNhdGVnb3J5OiAnQ29tbXVuaXR5IENvbGxlY3Rpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnU3VibWl0IGEgbG9jYWwgZWxlbWVudCB0byB0aGUgY29tbXVuaXR5IGNvbGxlY3Rpb24gdmlhIEdpdEh1YicsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgcGFyYW1zOiB7XG4gICAgICBjb250ZW50OiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDb250ZW50IHRvIHN1Ym1pdCcgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1N1Ym1pdFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1N1Ym1pc3Npb24gcmVzdWx0IHdpdGggR2l0SHViIFBSIFVSTCBhbmQgc3RhdHVzIG1lc3NhZ2UnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwic3VibWl0X2NvbGxlY3Rpb25fY29udGVudFwiLCBwYXJhbXM6IHsgY29udGVudDogXCJwZXJzb25hcy9teS1wZXJzb25hXCIgfSB9J10sXG4gIH0sXG59IGFzIGNvbnN0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBdXRoIE9wZXJhdGlvbnMgU2NoZW1hXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjb25zdCBBVVRIX09QRVJBVElPTlM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgc2V0dXBfZ2l0aHViX2F1dGg6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ2F1dGhIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdzZXR1cEdpdEh1YkF1dGgnLFxuICAgIGNhdGVnb3J5OiAnR2l0SHViIEF1dGhlbnRpY2F0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ1NldCB1cCBHaXRIdWIgYXV0aGVudGljYXRpb24gdXNpbmcgZGV2aWNlIGZsb3cnLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHBhcmFtczoge30sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQXV0aFNldHVwUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnRGV2aWNlIGZsb3cgc2V0dXA6IHsgdXNlckNvZGUsIHZlcmlmaWNhdGlvblVybCwgZXhwaXJlc0luLCBtZXNzYWdlIH0nIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwic2V0dXBfZ2l0aHViX2F1dGhcIiB9J10sXG4gIH0sXG4gIGNoZWNrX2dpdGh1Yl9hdXRoOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnYXV0aEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2NoZWNrR2l0SHViQXV0aCcsXG4gICAgY2F0ZWdvcnk6ICdHaXRIdWIgQXV0aGVudGljYXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnQ2hlY2sgY3VycmVudCBHaXRIdWIgYXV0aGVudGljYXRpb24gc3RhdHVzJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBwYXJhbXM6IHt9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0F1dGhTdGF0dXMnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDdXJyZW50IGF1dGhlbnRpY2F0aW9uIHN0YXRlIGFuZCB1c2VyIGluZm8nIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwiY2hlY2tfZ2l0aHViX2F1dGhcIiB9J10sXG4gIH0sXG4gIGNsZWFyX2dpdGh1Yl9hdXRoOiB7XG4gICAgZW5kcG9pbnQ6ICdERUxFVEUnLFxuICAgIGhhbmRsZXI6ICdhdXRoSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnY2xlYXJHaXRIdWJBdXRoJyxcbiAgICBjYXRlZ29yeTogJ0dpdEh1YiBBdXRoZW50aWNhdGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdSZW1vdmUgR2l0SHViIGF1dGhlbnRpY2F0aW9uIGFuZCBkaXNjb25uZWN0JyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBwYXJhbXM6IHt9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ09wZXJhdGlvblJlc3VsdCcsIGtpbmQ6ICd1bmlvbicsIGRlc2NyaXB0aW9uOiAnU3VjY2VzcyBvciBmYWlsdXJlIHN0YXR1cycgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJjbGVhcl9naXRodWJfYXV0aFwiIH0nXSxcbiAgfSxcbiAgY29uZmlndXJlX29hdXRoOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdhdXRoSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnY29uZmlndXJlT0F1dGgnLFxuICAgIGNhdGVnb3J5OiAnR2l0SHViIEF1dGhlbnRpY2F0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbmZpZ3VyZSBHaXRIdWIgT0F1dGggY2xpZW50IElEJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGNsaWVudF9pZDogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdPQXV0aCBjbGllbnQgSUQnIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdPQXV0aENvbmZpZycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ09BdXRoIGNvbmZpZ3VyYXRpb24gc3RhdHVzJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImNvbmZpZ3VyZV9vYXV0aFwiLCBwYXJhbXM6IHsgY2xpZW50X2lkOiBcInlvdXItY2xpZW50LWlkXCIgfSB9J10sXG4gIH0sXG4gIG9hdXRoX2hlbHBlcl9zdGF0dXM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdhdXRoSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZ2V0T0F1dGhIZWxwZXJTdGF0dXMnLFxuICAgIGNhdGVnb3J5OiAnR2l0SHViIEF1dGhlbnRpY2F0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGFib3V0IE9BdXRoIGhlbHBlciBwcm9jZXNzJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHZlcmJvc2U6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ0luY2x1ZGUgdmVyYm9zZSBkaWFnbm9zdGljcycgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ09BdXRoSGVscGVyU3RhdHVzJywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnSGVscGVyIHByb2Nlc3MgZGlhZ25vc3RpY3MnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwib2F1dGhfaGVscGVyX3N0YXR1c1wiLCBwYXJhbXM6IHsgdmVyYm9zZTogdHJ1ZSB9IH0nXSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVuaGFuY2VkIEluZGV4IE9wZXJhdGlvbnMgU2NoZW1hXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjb25zdCBFTkhBTkNFRF9JTkRFWF9PUEVSQVRJT05TOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGZpbmRfc2ltaWxhcl9lbGVtZW50czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ2VuaGFuY2VkSW5kZXhIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdmaW5kU2ltaWxhckVsZW1lbnRzJyxcbiAgICBjYXRlZ29yeTogJ0ludGVsbGlnZW5jZScsXG4gICAgZGVzY3JpcHRpb246ICdGaW5kIHNlbWFudGljYWxseSBzaW1pbGFyIGVsZW1lbnRzIHVzaW5nIE5MUCBzY29yaW5nJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnbmFtZWQnLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgbWFwVG86ICdlbGVtZW50TmFtZScgfSxcbiAgICAgIGVsZW1lbnRfdHlwZTogeyB0eXBlOiAnc3RyaW5nJywgbWFwVG86ICdlbGVtZW50VHlwZScgfSxcbiAgICAgIGxpbWl0OiB7IHR5cGU6ICdudW1iZXInLCBkZWZhdWx0OiAxMCB9LFxuICAgICAgdGhyZXNob2xkOiB7IHR5cGU6ICdudW1iZXInLCBkZWZhdWx0OiAwLjUgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1NpbWlsYXJFbGVtZW50cycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0xpc3Qgb2Ygc2ltaWxhciBlbGVtZW50cyB3aXRoIHNpbWlsYXJpdHkgc2NvcmVzJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImZpbmRfc2ltaWxhcl9lbGVtZW50c1wiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNyZWF0aXZlLXdyaXRlclwiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBsaW1pdDogNSB9IH0nXSxcbiAgfSxcbiAgZ2V0X2VsZW1lbnRfcmVsYXRpb25zaGlwczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ2VuaGFuY2VkSW5kZXhIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdnZXRFbGVtZW50UmVsYXRpb25zaGlwcycsXG4gICAgY2F0ZWdvcnk6ICdJbnRlbGxpZ2VuY2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGFsbCByZWxhdGlvbnNoaXBzIGZvciBhIHNwZWNpZmljIGVsZW1lbnQnLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZCcsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBtYXBUbzogJ2VsZW1lbnROYW1lJyB9LFxuICAgICAgZWxlbWVudF90eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCBtYXBUbzogJ2VsZW1lbnRUeXBlJyB9LFxuICAgICAgcmVsYXRpb25zaGlwX3R5cGVzOiB7IHR5cGU6ICdzdHJpbmdbXScsIG1hcFRvOiAncmVsYXRpb25zaGlwVHlwZXMnIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdFbGVtZW50UmVsYXRpb25zaGlwcycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1JlbGF0aW9uc2hpcCBncmFwaCBmb3IgdGhlIGVsZW1lbnQnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwiZ2V0X2VsZW1lbnRfcmVsYXRpb25zaGlwc1wiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIgfSB9J10sXG4gIH0sXG4gIHNlYXJjaF9ieV92ZXJiOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnZW5oYW5jZWRJbmRleEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ3NlYXJjaEJ5VmVyYicsXG4gICAgY2F0ZWdvcnk6ICdJbnRlbGxpZ2VuY2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VhcmNoIGZvciBlbGVtZW50cyB0aGF0IGhhbmRsZSBhIHNwZWNpZmljIGFjdGlvbiB2ZXJiJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnbmFtZWQnLFxuICAgIHBhcmFtczoge1xuICAgICAgdmVyYjogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgIGxpbWl0OiB7IHR5cGU6ICdudW1iZXInLCBkZWZhdWx0OiAyMCB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnVmVyYlNlYXJjaFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnRzIG1hdGNoaW5nIHRoZSBhY3Rpb24gdmVyYicgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJzZWFyY2hfYnlfdmVyYlwiLCBwYXJhbXM6IHsgdmVyYjogXCJhbmFseXplXCIsIGxpbWl0OiAxMCB9IH0nXSxcbiAgfSxcbiAgZ2V0X3JlbGF0aW9uc2hpcF9zdGF0czoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ2VuaGFuY2VkSW5kZXhIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdnZXRSZWxhdGlvbnNoaXBTdGF0cycsXG4gICAgY2F0ZWdvcnk6ICdJbnRlbGxpZ2VuY2UnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IHN0YXRpc3RpY3MgYWJvdXQgRW5oYW5jZWQgSW5kZXggcmVsYXRpb25zaGlwcycsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgcGFyYW1zOiB7fSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdSZWxhdGlvbnNoaXBTdGF0cycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0FnZ3JlZ2F0ZSBzdGF0aXN0aWNzIGFib3V0IGVsZW1lbnQgcmVsYXRpb25zaGlwcycgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJnZXRfcmVsYXRpb25zaGlwX3N0YXRzXCIgfSddLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGVtcGxhdGUgT3BlcmF0aW9ucyBTY2hlbWFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGNvbnN0IFRFTVBMQVRFX09QRVJBVElPTlM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgcmVuZGVyOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAndGVtcGxhdGVSZW5kZXJlcicsXG4gICAgbWV0aG9kOiAncmVuZGVyJyxcbiAgICBjYXRlZ29yeTogJ1RlbXBsYXRlIFJlbmRlcmluZycsXG4gICAgZGVzY3JpcHRpb246ICdSZW5kZXIgYSB0ZW1wbGF0ZSB3aXRoIHByb3ZpZGVkIHZhcmlhYmxlcy4gRm9yIHNlY3Rpb24tZm9ybWF0IHRlbXBsYXRlcyAoPHRlbXBsYXRlPiwgPHN0eWxlPiwgPHNjcmlwdD4pLCByZW5kZXJzIHRoZSA8dGVtcGxhdGU+IHNlY3Rpb24gYnkgZGVmYXVsdCDigJQgdmFyaWFibGUgc3Vic3RpdHV0aW9uIG9ubHkgYXBwbGllcyB0aGVyZS4gVXNlIHNlY3Rpb246IFwic3R5bGVcIiBvciBcInNjcmlwdFwiIHRvIHJldHJpZXZlIHJhdyBwYXNzdGhyb3VnaCBzZWN0aW9ucyB3aGVyZSB9fSBpcyBzYWZlLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICAvLyBJc3N1ZSAjMjkwOiBVc2UgZWxlbWVudF9uYW1lIGZvciBjb25zaXN0ZW5jeVxuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgbWFwVG86ICduYW1lJywgZGVzY3JpcHRpb246ICdUZW1wbGF0ZSBuYW1lJyB9LFxuICAgICAgdmFyaWFibGVzOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1ZhcmlhYmxlcyB0byBzdWJzdGl0dXRlIGluIHRoZSA8dGVtcGxhdGU+IHNlY3Rpb24gKGUuZy4geyBcInRpdGxlXCI6IFwiTXkgUGFnZVwiLCBcInVzZXJcIjogXCJBbGljZVwiIH0pJyB9LFxuICAgICAgc2VjdGlvbjogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0V4dHJhY3QgYSBzcGVjaWZpYyByYXcgc2VjdGlvbiB3aXRob3V0IHZhcmlhYmxlIHN1YnN0aXR1dGlvbjogXCJzdHlsZVwiIG9yIFwic2NyaXB0XCIuIFVzZWZ1bCBmb3IgQ1NTIHRoZW1lIHRlbXBsYXRlcyBvciBKUy1vbmx5IHRlbXBsYXRlcy4gT25seSB2YWxpZCBmb3Igc2VjdGlvbi1mb3JtYXQgdGVtcGxhdGVzLicgfSxcbiAgICAgIGFsbF9zZWN0aW9uczogeyB0eXBlOiAnYm9vbGVhbicsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdSZXR1cm4gYWxsIHNlY3Rpb25zIHRvZ2V0aGVyOiB7IHRlbXBsYXRlOiByZW5kZXJlZCwgc3R5bGU6IHJhdywgc2NyaXB0OiByYXcgfS4gVXNlIHdoZW4geW91IG5lZWQgdGhlIHJlbmRlcmVkIEhUTUwgYWxvbmdzaWRlIGl0cyBDU1MgYW5kIEpTLicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1JlbmRlclJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1JlbmRlcmVkIHRlbXBsYXRlIGNvbnRlbnQuIGNvbnRlbnQgZmllbGQgaGFzIHRoZSByZXN1bHQgc3RyaW5nOyBzZWN0aW9ucyBmaWVsZCBwb3B1bGF0ZWQgd2hlbiBhbGxfc2VjdGlvbnM6IHRydWUuJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwicmVuZGVyXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwibWVldGluZy1ub3Rlc1wiLCB2YXJpYWJsZXM6IHsgZGF0ZTogXCIyMDI0LTAxLTE1XCIsIGF0dGVuZGVlczogW1wiQWxpY2VcIiwgXCJCb2JcIl0gfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInJlbmRlclwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImRhc2hib2FyZC10aGVtZS1kYXJrXCIsIHNlY3Rpb246IFwic3R5bGVcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInJlbmRlclwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImRhc2hib2FyZC1wYWdlXCIsIHZhcmlhYmxlczogeyB0aXRsZTogXCJNeSBEYXNoYm9hcmRcIiB9LCBhbGxfc2VjdGlvbnM6IHRydWUgfSB9JyxcbiAgICBdLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW50cm9zcGVjdGlvbiBPcGVyYXRpb25zIFNjaGVtYVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY29uc3QgSU5UUk9TUEVDVElPTl9PUEVSQVRJT05TOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGludHJvc3BlY3Q6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsIC8vIFVzZXMgSW50cm9zcGVjdGlvblJlc29sdmVyIGRpcmVjdGx5XG4gICAgbWV0aG9kOiAnX19pbnRyb3NwZWN0X18nLCAvLyBTcGVjaWFsIG1hcmtlciBmb3IgaW50cm9zcGVjdGlvblxuICAgIGNhdGVnb3J5OiAnU3lzdGVtIEludHJvc3BlY3Rpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgYXZhaWxhYmxlIG9wZXJhdGlvbnMsIHR5cGVzLCBhbmQgZWxlbWVudCBmb3JtYXQgc3BlY3MgZm9yIGRpc2NvdmVyeScsXG4gICAgcGFyYW1zOiB7XG4gICAgICBxdWVyeTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiBcIldoYXQgdG8gaW50cm9zcGVjdDogJ29wZXJhdGlvbnMnIChsaXN0L2RldGFpbCBvcGVyYXRpb25zKSwgJ3R5cGVzJyAobGlzdC9kZXRhaWwgdHlwZSBkZWZpbml0aW9ucyksICdmb3JtYXQnIChlbGVtZW50IGNyZWF0aW9uIGZvcm1hdCBzcGVjcyDigJQgcmVxdWlyZWQvb3B0aW9uYWwgZmllbGRzLCBzeW50YXgsIGV4YW1wbGVzKSwgJ2NhdGVnb3JpZXMnIChjYXRlZ29yeSBmb3JtYXQgcnVsZXMgKyBob3cgdG8gZGlzY292ZXIgZXhpc3RpbmcgY2F0ZWdvcmllcyB2aWEgcXVlcnlfZWxlbWVudHMpLiBEZWZhdWx0OiAnb3BlcmF0aW9ucydcIiB9LFxuICAgICAgbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246IFwiU3BlY2lmaWMgaXRlbSBuYW1lLiBGb3IgJ29wZXJhdGlvbnMnOiBvcGVyYXRpb24gbmFtZS4gRm9yICd0eXBlcyc6IHR5cGUgbmFtZS4gRm9yICdmb3JtYXQnOiBlbGVtZW50IHR5cGUgKGUuZy4gJ3RlbXBsYXRlJywgJ3BlcnNvbmEnKS4gTm90IHVzZWQgZm9yICdjYXRlZ29yaWVzJy4gT21pdCBmb3Igb3ZlcnZpZXcuXCIgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0ludHJvc3BlY3Rpb25SZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdPcGVyYXRpb25zLCB0eXBlcywgb3IgZm9ybWF0IHNwZWNpZmljYXRpb24gaW5mb3JtYXRpb24nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJpbnRyb3NwZWN0XCIsIHBhcmFtczogeyBxdWVyeTogXCJvcGVyYXRpb25zXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJpbnRyb3NwZWN0XCIsIHBhcmFtczogeyBxdWVyeTogXCJvcGVyYXRpb25zXCIsIG5hbWU6IFwiY3JlYXRlX2VsZW1lbnRcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImludHJvc3BlY3RcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcInR5cGVzXCIsIG5hbWU6IFwiRWxlbWVudFR5cGVcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImludHJvc3BlY3RcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImZvcm1hdFwiIH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiaW50cm9zcGVjdFwiLCBwYXJhbXM6IHsgcXVlcnk6IFwiZm9ybWF0XCIsIG5hbWU6IFwidGVtcGxhdGVcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImludHJvc3BlY3RcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImNhdGVnb3JpZXNcIiB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIGdldF9jYXBhYmlsaXRpZXM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsIC8vIFVzZXMgSW50cm9zcGVjdGlvblJlc29sdmVyIGRpcmVjdGx5XG4gICAgbWV0aG9kOiAnX19jYXBhYmlsaXRpZXNfXycsIC8vIFNwZWNpYWwgbWFya2VyIGZvciBjYXBhYmlsaXRpZXNcbiAgICBjYXRlZ29yeTogJ1N5c3RlbSBJbnRyb3NwZWN0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBhIGhpZ2gtbGV2ZWwgbWFwIG9mIGFsbCBzZXJ2ZXIgY2FwYWJpbGl0aWVzIGdyb3VwZWQgYnkgdXNlciBpbnRlbnQuIFJldHVybnMgYnJpZWYgZGVzY3JpcHRpb25zIG9mIGV2ZXJ5IGF2YWlsYWJsZSBvcGVyYXRpb24gb3JnYW5pemVkIGJ5IGNhdGVnb3J5LiBVc2UgaW50cm9zcGVjdCBmb3IgZnVsbCBkZXRhaWxzIG9uIGFueSBzcGVjaWZpYyBvcGVyYXRpb24uJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGNhdGVnb3J5OiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0ZpbHRlciB0byBhIHNwZWNpZmljIGNhdGVnb3J5IG5hbWUuIE9taXQgdG8gc2VlIGFsbCBjYXRlZ29yaWVzLicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0NhcGFiaWxpdGllc1Jlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NhdGVnb3JpemVkIGNhcGFiaWxpdHkgbWFwIHdpdGggYnJpZWYgZGVzY3JpcHRpb25zLCBzb3VyY2VzLCBhbmQgc3RhdHVzJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZ2V0X2NhcGFiaWxpdGllc1wiIH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImdldF9jYXBhYmlsaXRpZXNcIiwgcGFyYW1zOiB7IGNhdGVnb3J5OiBcIkVsZW1lbnQgTGlmZWN5Y2xlXCIgfSB9JyxcbiAgICBdLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGVyc29uYSBPcGVyYXRpb25zIFNjaGVtYVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY29uc3QgUEVSU09OQV9PUEVSQVRJT05TOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGltcG9ydF9wZXJzb25hOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdwZXJzb25hSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnaW1wb3J0UGVyc29uYScsXG4gICAgY2F0ZWdvcnk6ICdFbGVtZW50IExpZmVjeWNsZScsXG4gICAgZGVzY3JpcHRpb246ICdJbXBvcnQgYSBwZXJzb25hIGZyb20gYSBmaWxlIHBhdGggb3IgSlNPTiBzdHJpbmcnLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHBhcmFtczoge1xuICAgICAgc291cmNlOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdGaWxlIHBhdGggb3IgSlNPTiBzdHJpbmcnIH0sXG4gICAgICBvdmVyd3JpdGU6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ092ZXJ3cml0ZSBleGlzdGluZyBwZXJzb25hJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnSW1wb3J0UmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnSW1wb3J0IHN0YXR1cyBhbmQgcGVyc29uYSBpbmZvJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImltcG9ydF9wZXJzb25hXCIsIHBhcmFtczogeyBzb3VyY2U6IFwiL3BhdGgvdG8vcGVyc29uYS5tZFwiLCBvdmVyd3JpdGU6IHRydWUgfSB9J10sXG4gIH0sXG59IGFzIGNvbnN0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb25maWcgT3BlcmF0aW9ucyBTY2hlbWFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGNvbnN0IENPTkZJR19PUEVSQVRJT05TOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGRvbGxob3VzZV9jb25maWc6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdjb25maWdIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdoYW5kbGVDb25maWdPcGVyYXRpb24nLFxuICAgIGNhdGVnb3J5OiAnQ29uZmlndXJhdGlvbiAmIERpYWdub3N0aWNzJyxcbiAgICBkZXNjcmlwdGlvbjogJ01hbmFnZSBEb2xsaG91c2VNQ1AgY29uZmlndXJhdGlvbiBzZXR0aW5ncycsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgYXJnQnVpbGRlcjogJ25hbWVkJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGFjdGlvbjogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnZ2V0LCBzZXQsIHJlc2V0LCBleHBvcnQsIGltcG9ydCwgd2l6YXJkJyB9LFxuICAgICAgc2V0dGluZzogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgdmFsdWU6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgIHNlY3Rpb246IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgIGZvcm1hdDogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgZGF0YTogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQ29uZmlnUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnQ29uZmlndXJhdGlvbiBvcGVyYXRpb24gcmVzdWx0JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZG9sbGhvdXNlX2NvbmZpZ1wiLCBwYXJhbXM6IHsgYWN0aW9uOiBcImdldFwiLCBzZXR0aW5nOiBcImRlYnVnXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJkb2xsaG91c2VfY29uZmlnXCIsIHBhcmFtczogeyBhY3Rpb246IFwic2V0XCIsIHNldHRpbmc6IFwibG9nTGV2ZWxcIiwgdmFsdWU6IFwidmVyYm9zZVwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgY29udmVydF9za2lsbF9mb3JtYXQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdjb25maWdIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdjb252ZXJ0U2tpbGxGb3JtYXQnLFxuICAgIGNhdGVnb3J5OiAnQ29uZmlndXJhdGlvbiAmIERpYWdub3N0aWNzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbnZlcnQgYmV0d2VlbiBjdXJyZW50IEFnZW50IFNraWxsIGFuZCBEb2xsaG91c2UgU2tpbGwgZm9ybWF0cyAoYm90aCBkaXJlY3Rpb25zKSB3aXRoIHN0cnVjdHVyZWQgd2FybmluZ3MgYW5kIG9wdGlvbmFsIHJvdW5kdHJpcCBzdGF0ZSBmb3IgbG9zc2xlc3Mgc3VwcG9ydGVkLWZpZWxkIHJlc3RvcmF0aW9uJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnbmFtZWQnLFxuICAgIHBhcmFtczoge1xuICAgICAgZGlyZWN0aW9uOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDb252ZXJzaW9uIGRpcmVjdGlvbjogYWdlbnRfdG9fZG9sbGhvdXNlIG9yIGRvbGxob3VzZV90b19hZ2VudCcgfSxcbiAgICAgIGFnZW50X3NraWxsOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0FnZW50IFNraWxsIHN0cnVjdHVyZSBmb3IgYWdlbnRfdG9fZG9sbGhvdXNlOiB7IFwiU0tJTEwubWRcIjogXCIuLi5cIiwgXCJzY3JpcHRzL1wiOiB7IC4uLiB9LCBcInJlZmVyZW5jZXMvXCI6IHsgLi4uIH0sIFwiYXNzZXRzL1wiOiB7IC4uLiB9LCBcImFnZW50cy9cIjogeyAuLi4gfSB9JyB9LFxuICAgICAgZG9sbGhvdXNlOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1N0cnVjdHVyZWQgRG9sbGhvdXNlIHNraWxsIGFydGlmYWN0IGZvciBkb2xsaG91c2VfdG9fYWdlbnQ6IHsgbWV0YWRhdGEsIGluc3RydWN0aW9ucywgY29udGVudCB9JyB9LFxuICAgICAgZG9sbGhvdXNlX21hcmtkb3duOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1NlcmlhbGl6ZWQgRG9sbGhvdXNlIG1hcmtkb3duIGlucHV0IGZvciBkb2xsaG91c2VfdG9fYWdlbnQgKGFsdGVybmF0aXZlIHRvIGRvbGxob3VzZSBvYmplY3QpJyB9LFxuICAgICAgcm91bmR0cmlwX3N0YXRlOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ09wdGlvbmFsIHN0YXRlIHJldHVybmVkIGJ5IGFnZW50X3RvX2RvbGxob3VzZSBmb3IgZXhhY3QgcmV2ZXJzZSBjb252ZXJzaW9uJyB9LFxuICAgICAgcHJlZmVyX3JvdW5kdHJpcF9zdGF0ZTogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnV2hlbiB0cnVlIChkZWZhdWx0KSwgdXNlIHJvdW5kdHJpcF9zdGF0ZSBpZiB2YWxpZCBmb3IgbG9zc2xlc3MgcmVzdG9yYXRpb24nIH0sXG4gICAgICBwYXRoX21vZGU6IHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICdzYWZlJywgZGVzY3JpcHRpb246ICdQYXRoIGhhbmRsaW5nIG1vZGU6IHNhZmUgKGRlZmF1bHQsIGFsbG93bGlzdGVkL3ZhbGlkYXRlZCBwYXRocywgc2VjdXJpdHkgZmluZGluZ3Mgc2FuaXRpemVkKSBvciBsb3NzbGVzcyAocHJlc2VydmUgbm9uLWFsbG93bGlzdGVkIHBhdGhzIGZvciBmdWxsLWZpZGVsaXR5IGNvbnZlcnNpb25zIHdoaWxlIHN0aWxsIHJlcG9ydGluZyBzZWN1cml0eSBmaW5kaW5ncykuIElucHV0IGJvdW5kczogMiBNaUIgcGVyIHRleHQgZmllbGQsIDE2IE1pQiBhZ2dyZWdhdGUsIDIwMDAgZmlsZSBlbnRyaWVzLiBDb252ZXJzaW9uIG1ldHJpY3MgcmV0dXJuZWQgaW4gcmVwb3J0Lm1ldHJpY3MuJyB9LFxuICAgICAgc2VjdXJpdHlfbW9kZTogeyB0eXBlOiAnc3RyaW5nJywgZGVmYXVsdDogJ3N0cmljdCcsIGRlc2NyaXB0aW9uOiAnU2VjdXJpdHkgaGFuZGxpbmcgbW9kZSBmb3IgYWdlbnRfdG9fZG9sbGhvdXNlOiBzdHJpY3QgKGRlZmF1bHQsIGZhaWwgY29udmVyc2lvbiBvbiBoaWdoL2NyaXRpY2FsIGZpbmRpbmdzKSBvciB3YXJuIChzdXJmYWNlIGZpbmRpbmdzIGluIHJlcG9ydC53YXJuaW5ncyBhbmQgY29udGludWUpLiBGcm9udG1hdHRlciBpcyBhbHNvIGNoZWNrZWQgZm9yIHVuc2FmZSBZQU1MIHBhdHRlcm5zIChpbmNsdWRpbmcgWUFNTC1ib21iL2FtcGxpZmljYXRpb24gcGF0dGVybnMpLiBVc2Ugd2FybiBvbmx5IGZvciB0cnVzdGVkIG1pZ3JhdGlvbiB3b3JrZmxvd3MuJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnU2tpbGxDb252ZXJzaW9uUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnQ29udmVydGVkIGFydGlmYWN0IHBsdXMgbWFjaGluZS1yZWFkYWJsZSBjb252ZXJzaW9uIHJlcG9ydCBhbmQgd2FybmluZ3MnIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjb252ZXJ0X3NraWxsX2Zvcm1hdFwiLCBwYXJhbXM6IHsgZGlyZWN0aW9uOiBcImFnZW50X3RvX2RvbGxob3VzZVwiLCBhZ2VudF9za2lsbDogeyBcIlNLSUxMLm1kXCI6IFwiLS0tXFxcXG5uYW1lOiBteS1za2lsbFxcXFxuZGVzY3JpcHRpb246IHRlc3RcXFxcbi0tLVxcXFxuXFxcXG5Vc2UgdGhpcyBza2lsbC5cIiB9IH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiY29udmVydF9za2lsbF9mb3JtYXRcIiwgcGFyYW1zOiB7IGRpcmVjdGlvbjogXCJhZ2VudF90b19kb2xsaG91c2VcIiwgc2VjdXJpdHlfbW9kZTogXCJ3YXJuXCIsIHBhdGhfbW9kZTogXCJsb3NzbGVzc1wiLCBhZ2VudF9za2lsbDogeyBcIlNLSUxMLm1kXCI6IFwiLS0tXFxcXG5uYW1lOiBteS1za2lsbFxcXFxuZGVzY3JpcHRpb246IHRlc3RcXFxcbi0tLVxcXFxuXFxcXG5Vc2UgdGhpcyBza2lsbC5cIiB9IH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiY29udmVydF9za2lsbF9mb3JtYXRcIiwgcGFyYW1zOiB7IGRpcmVjdGlvbjogXCJkb2xsaG91c2VfdG9fYWdlbnRcIiwgcGF0aF9tb2RlOiBcImxvc3NsZXNzXCIsIGRvbGxob3VzZV9tYXJrZG93bjogXCItLS1cXFxcbm5hbWU6IG15LXNraWxsXFxcXG5kZXNjcmlwdGlvbjogdGVzdFxcXFxuaW5zdHJ1Y3Rpb25zOiBVc2UgdGhpcyBza2lsbC5cXFxcbi0tLVxcXFxuXFxcXG5SZWZlcmVuY2UgY29udGVudFwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgZ2V0X2J1aWxkX2luZm86IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdidWlsZEluZm9TZXJ2aWNlJyxcbiAgICBtZXRob2Q6ICdfX2J1aWxkSW5mb19fJywgLy8gU3BlY2lhbCBtYXJrZXIgZm9yIGJ1aWxkIGluZm9cbiAgICBjYXRlZ29yeTogJ0NvbmZpZ3VyYXRpb24gJiBEaWFnbm9zdGljcycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgY29tcHJlaGVuc2l2ZSBidWlsZCBhbmQgcnVudGltZSBpbmZvcm1hdGlvbicsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgcGFyYW1zOiB7fSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdCdWlsZEluZm8nLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdCdWlsZCBpbmZvOiB7IHZlcnNpb24sIGJ1aWxkRGF0ZSwgbm9kZVZlcnNpb24sIHBsYXRmb3JtLCBlbGVtZW50Q291bnRzIH0nIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwiZ2V0X2J1aWxkX2luZm9cIiB9J10sXG4gIH0sXG4gIGdldF9jYWNoZV9idWRnZXRfcmVwb3J0OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnY2FjaGVNZW1vcnlCdWRnZXQnLFxuICAgIG1ldGhvZDogJ19fY2FjaGVCdWRnZXRfXycsXG4gICAgY2F0ZWdvcnk6ICdDb25maWd1cmF0aW9uICYgRGlhZ25vc3RpY3MnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGdsb2JhbCBjYWNoZSBtZW1vcnkgYnVkZ2V0IHJlcG9ydCB3aXRoIHBlci1jYWNoZSBkaWFnbm9zdGljcycsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgcGFyYW1zOiB7fSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdCdWRnZXRSZXBvcnQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDYWNoZSBtZW1vcnkgdXNhZ2UsIHBlci1jYWNoZSBzdGF0cywgaGl0IHJhdGVzLCBhbmQgYnVkZ2V0IHV0aWxpemF0aW9uJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImdldF9jYWNoZV9idWRnZXRfcmVwb3J0XCIgfSddLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUG9ydGZvbGlvIE9wZXJhdGlvbnMgU2NoZW1hIChJc3N1ZSAjMjUyKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFBvcnRmb2xpbyBvcGVyYXRpb25zIHNjaGVtYSAtIGRlbW9uc3RyYXRlcyBwYXJhbVN0eWxlIGNvbnZlcnNpb24gcGF0dGVybi5cbiAqXG4gKiBQQVRURVJOOiBBdXRvbWF0aWMgUGFyYW1ldGVyIFN0eWxlIENvbnZlcnNpb25cbiAqIEV4dGVybmFsIEFQSXMgb2Z0ZW4gdXNlIHNuYWtlX2Nhc2UgbmFtaW5nLCB3aGlsZSBKYXZhU2NyaXB0IGhhbmRsZXJzXG4gKiB0eXBpY2FsbHkgdXNlIGNhbWVsQ2FzZS4gVGhlIGBwYXJhbVN0eWxlOiAnc25ha2VUb0NhbWVsJ2Agc2V0dGluZ1xuICogZW5hYmxlcyBhdXRvbWF0aWMgY29udmVyc2lvbiB3aXRob3V0IGluZGl2aWR1YWwgYG1hcFRvYCBkZWZpbml0aW9ucy5cbiAqXG4gKiBUaGlzIHBhdHRlcm4gaXMgaW1wb3J0YW50IGZvciBNQ1AtQVFMIGFkYXB0ZXJzIHdyYXBwaW5nIGV4dGVybmFsIE1DUFxuICogc2VydmVycyB0aGF0IGZvbGxvdyBkaWZmZXJlbnQgbmFtaW5nIGNvbnZlbnRpb25zLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBJbnB1dCBmcm9tIE1DUCBjbGllbnQ6IHsgZHJ5X3J1bjogdHJ1ZSwgbWF4X3Jlc3VsdHM6IDEwIH1cbiAqIC8vIEhhbmRsZXIgcmVjZWl2ZXM6IHsgZHJ5UnVuOiB0cnVlLCBtYXhSZXN1bHRzOiAxMCB9XG4gKi9cbmV4cG9ydCBjb25zdCBQT1JURk9MSU9fT1BFUkFUSU9OUzogT3BlcmF0aW9uU2NoZW1hTWFwID0ge1xuICBwb3J0Zm9saW9fc3RhdHVzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAncG9ydGZvbGlvSGFuZGxlcicsXG4gICAgbWV0aG9kOiAncG9ydGZvbGlvU3RhdHVzJyxcbiAgICBjYXRlZ29yeTogJ1BvcnRmb2xpbyBNYW5hZ2VtZW50JyxcbiAgICBkZXNjcmlwdGlvbjogJ0NoZWNrIEdpdEh1YiBwb3J0Zm9saW8gcmVwb3NpdG9yeSBzdGF0dXMgYW5kIGVsZW1lbnQgY291bnRzJyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnc2luZ2xlJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHVzZXJuYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0dpdEh1YiB1c2VybmFtZSB0byBjaGVjaycgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1BvcnRmb2xpb1N0YXR1cycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1BvcnRmb2xpbyBzeW5jIHN0YXR1cyBhbmQgZWxlbWVudCBjb3VudHMnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwicG9ydGZvbGlvX3N0YXR1c1wiIH0nXSxcbiAgfSxcbiAgaW5pdF9wb3J0Zm9saW86IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ3BvcnRmb2xpb0hhbmRsZXInLFxuICAgIG1ldGhvZDogJ2luaXRQb3J0Zm9saW8nLFxuICAgIGNhdGVnb3J5OiAnUG9ydGZvbGlvIE1hbmFnZW1lbnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnSW5pdGlhbGl6ZSBhIG5ldyBHaXRIdWIgcG9ydGZvbGlvIHJlcG9zaXRvcnknLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZCcsXG4gICAgcGFyYW1TdHlsZTogJ3NuYWtlVG9DYW1lbCcsXG4gICAgcGFyYW1zOiB7XG4gICAgICByZXBvc2l0b3J5X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnTmFtZSBmb3IgdGhlIHBvcnRmb2xpbyByZXBvc2l0b3J5JyB9LFxuICAgICAgcHJpdmF0ZTogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2NyaXB0aW9uOiAnV2hldGhlciB0aGUgcmVwb3NpdG9yeSBzaG91bGQgYmUgcHJpdmF0ZScgfSxcbiAgICAgIGRlc2NyaXB0aW9uOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1JlcG9zaXRvcnkgZGVzY3JpcHRpb24nIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdQb3J0Zm9saW9Jbml0UmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnTmV3bHkgY3JlYXRlZCBwb3J0Zm9saW8gcmVwb3NpdG9yeSBkZXRhaWxzJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImluaXRfcG9ydGZvbGlvXCIsIHBhcmFtczogeyByZXBvc2l0b3J5X25hbWU6IFwibXktcG9ydGZvbGlvXCIsIHByaXZhdGU6IHRydWUgfSB9J10sXG4gIH0sXG4gIHBvcnRmb2xpb19jb25maWc6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdwb3J0Zm9saW9IYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdwb3J0Zm9saW9Db25maWcnLFxuICAgIGNhdGVnb3J5OiAnUG9ydGZvbGlvIE1hbmFnZW1lbnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29uZmlndXJlIHBvcnRmb2xpbyBzZXR0aW5ncyAoYXV0by1zeW5jLCB2aXNpYmlsaXR5LCBldGMuKScsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgYXJnQnVpbGRlcjogJ25hbWVkJyxcbiAgICBwYXJhbVN0eWxlOiAnc25ha2VUb0NhbWVsJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGF1dG9fc3luYzogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2NyaXB0aW9uOiAnRW5hYmxlIGF1dG9tYXRpYyBzeW5jaW5nJyB9LFxuICAgICAgZGVmYXVsdF92aXNpYmlsaXR5OiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0RlZmF1bHQgdmlzaWJpbGl0eSBmb3IgbmV3IGVsZW1lbnRzJyB9LFxuICAgICAgYXV0b19zdWJtaXQ6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ0F1dG9tYXRpY2FsbHkgc3VibWl0IHRvIGNvbGxlY3Rpb24nIH0sXG4gICAgICByZXBvc2l0b3J5X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnUG9ydGZvbGlvIHJlcG9zaXRvcnkgbmFtZScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1BvcnRmb2xpb0NvbmZpZycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0N1cnJlbnQgcG9ydGZvbGlvIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwicG9ydGZvbGlvX2NvbmZpZ1wiLCBwYXJhbXM6IHsgYXV0b19zeW5jOiB0cnVlIH0gfSddLFxuICB9LFxuICBzeW5jX3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAncG9ydGZvbGlvSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnc3luY1BvcnRmb2xpbycsXG4gICAgY2F0ZWdvcnk6ICdQb3J0Zm9saW8gTWFuYWdlbWVudCcsXG4gICAgZGVzY3JpcHRpb246ICdTeW5jIGxvY2FsIHBvcnRmb2xpbyB3aXRoIEdpdEh1YiByZXBvc2l0b3J5JyxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnbmFtZWQnLFxuICAgIHBhcmFtU3R5bGU6ICdzbmFrZVRvQ2FtZWwnLFxuICAgIHBhcmFtczoge1xuICAgICAgZGlyZWN0aW9uOiB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAncHVzaCcsIGRlc2NyaXB0aW9uOiAnU3luYyBkaXJlY3Rpb246IHB1c2ggb3IgcHVsbCcgfSxcbiAgICAgIG1vZGU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnU3luYyBtb2RlJyB9LFxuICAgICAgZm9yY2U6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSwgZGVzY3JpcHRpb246ICdGb3JjZSBzeW5jIGV2ZW4gd2l0aCBjb25mbGljdHMnIH0sXG4gICAgICBkcnlfcnVuOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnUHJldmlldyBjaGFuZ2VzIHdpdGhvdXQgYXBwbHlpbmcnIH0sXG4gICAgICBjb25maXJtX2RlbGV0aW9uczogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2NyaXB0aW9uOiAnQ29uZmlybSBiZWZvcmUgZGVsZXRpbmcgZWxlbWVudHMnIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdTeW5jUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnU3luYyByZXN1bHRzIHdpdGggY2hhbmdlZCBlbGVtZW50IGxpc3QgYW5kIGNvbmZsaWN0IGRldGFpbHMnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwic3luY19wb3J0Zm9saW9cIiwgcGFyYW1zOiB7IGRpcmVjdGlvbjogXCJwdXNoXCIsIGRyeV9ydW46IHRydWUgfSB9J10sXG4gIH0sXG5cbiAgLyoqXG4gICAqIFVuaWZpZWQgc2VhcmNoIG9wZXJhdGlvbiAoSXNzdWUgIzI0MylcbiAgICpcbiAgICogQ29uc29saWRhdGVzIGFsbCBzZWFyY2ggZnVuY3Rpb25hbGl0eSB3aXRoIGEgc2NvcGUgcGFyYW1ldGVyLlxuICAgKiBVc2VzIHRoZSAnc2VhcmNoUGFyYW1zJyBub3JtYWxpemVyIHRvIHRyYW5zZm9ybTpcbiAgICogLSBzY29wZSDihpIgc291cmNlcyBhcnJheSBjb252ZXJzaW9uXG4gICAqIC0gcGFnaW5hdGlvbiAob2Zmc2V0L2xpbWl0IOKGkiBwYWdlL3BhZ2VTaXplKVxuICAgKiAtIHNvcnQgcGFyYW1ldGVyIG5vcm1hbGl6YXRpb25cbiAgICogLSBmaWx0ZXIgcGFyYW1ldGVyIGV4dHJhY3Rpb25cbiAgICpcbiAgICogQHNlZSBTZWFyY2hQYXJhbXNOb3JtYWxpemVyIGZvciB0cmFuc2Zvcm1hdGlvbiBsb2dpY1xuICAgKi9cbiAgc2VhcmNoOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAncG9ydGZvbGlvSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnc2VhcmNoQWxsJyxcbiAgICBjYXRlZ29yeTogJ0VsZW1lbnQgRGlzY292ZXJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ1VuaWZpZWQgc2VhcmNoIGFjcm9zcyBsb2NhbCwgR2l0SHViLCBhbmQgY29sbGVjdGlvbiBzb3VyY2VzIHdpdGggZmxleGlibGUgc2NvcGUnLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIG5vcm1hbGl6ZXI6ICdzZWFyY2hQYXJhbXMnLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZCcsXG4gICAgcGFyYW1zOiB7XG4gICAgICBxdWVyeTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnU2VhcmNoIHF1ZXJ5JyB9LFxuICAgICAgc2NvcGU6IHsgdHlwZTogJ3Vua25vd24nLCBkZXNjcmlwdGlvbjogJ1NlYXJjaCBzY29wZTogXCJsb2NhbFwiLCBcImdpdGh1YlwiLCBcImNvbGxlY3Rpb25cIiwgXCJhbGxcIiwgb3IgYXJyYXkgb2Ygc2NvcGVzJyB9LFxuICAgICAgdHlwZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgZWxlbWVudCB0eXBlJyB9LFxuICAgICAgcGFnZTogeyB0eXBlOiAnbnVtYmVyJywgZGVzY3JpcHRpb246ICdQYWdlIG51bWJlciBmb3IgcGFnaW5hdGlvbicgfSxcbiAgICAgIGxpbWl0OiB7IHR5cGU6ICdudW1iZXInLCBkZXNjcmlwdGlvbjogJ1Jlc3VsdHMgcGVyIHBhZ2UnIH0sXG4gICAgICBzb3J0OiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1NvcnQgb3B0aW9uczogeyBmaWVsZCwgb3JkZXIgfScgfSxcbiAgICAgIGZpbHRlcnM6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnRmlsdGVyIG9wdGlvbnM6IHsgdGFncywgYXV0aG9yLCBjcmVhdGVkQWZ0ZXIsIGNyZWF0ZWRCZWZvcmUgfScgfSxcbiAgICAgIG9wdGlvbnM6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnU2VhcmNoIG9wdGlvbnM6IHsgZnV6enlNYXRjaCwgaW5jbHVkZUtleXdvcmRzLCBpbmNsdWRlVGFncyB9JyB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IGFycmF5IGxpa2UgW1wiZWxlbWVudF9uYW1lXCIsIFwiZGVzY3JpcHRpb25cIl0gT1IgcHJlc2V0OiBcIm1pbmltYWxcIiwgXCJzdGFuZGFyZFwiLCBcImZ1bGxcIicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnVW5pZmllZFNlYXJjaFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1BhZ2luYXRlZCBzZWFyY2ggcmVzdWx0cyBmcm9tIHNwZWNpZmllZCBzY29wZXMnIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJzZWFyY2hcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImNyZWF0aXZlXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJzZWFyY2hcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImhlbHBlclwiLCBmaWVsZHM6IFwibWluaW1hbFwiIH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwic2VhcmNoXCIsIHBhcmFtczogeyBxdWVyeTogXCJhc3Npc3RhbnRcIiwgZmllbGRzOiBbXCJlbGVtZW50X25hbWVcIiwgXCJkZXNjcmlwdGlvblwiXSB9IH0nLFxuICAgICAgLy8gTWVtb3J5LXNwZWNpZmljOiBmaWx0ZXIgYnkgdGFncyB0byBmaW5kIGNhdGVnb3JpemVkIGVudHJpZXNcbiAgICAgICd7IG9wZXJhdGlvbjogXCJzZWFyY2hcIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcIipcIiwgdHlwZTogXCJtZW1vcnlcIiwgZmlsdGVyczogeyB0YWdzOiBbXCJpbXBvcnRhbnRcIiwgXCJyZWZlcmVuY2VcIl0gfSB9IH0nLFxuICAgIF0sXG4gIH0sXG5cbiAgLy8gTGVnYWN5IHNlYXJjaCBvcGVyYXRpb25zIChwcmVmZXIgdW5pZmllZCBcInNlYXJjaFwiIG9wZXJhdGlvbiBhYm92ZSlcbiAgc2VhcmNoX3BvcnRmb2xpbzoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ3BvcnRmb2xpb0hhbmRsZXInLFxuICAgIG1ldGhvZDogJ3NlYXJjaFBvcnRmb2xpbycsXG4gICAgY2F0ZWdvcnk6ICdFbGVtZW50IERpc2NvdmVyeScsXG4gICAgZGVzY3JpcHRpb246ICdTZWFyY2ggbG9jYWwgcG9ydGZvbGlvIGJ5IGNvbnRlbnQgbmFtZSwga2V5d29yZHMsIG9yIHRhZ3MnLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZCcsXG4gICAgcGFyYW1TdHlsZTogJ3NuYWtlVG9DYW1lbCcsXG4gICAgcGFyYW1zOiB7XG4gICAgICBxdWVyeTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnU2VhcmNoIHF1ZXJ5JyB9LFxuICAgICAgdHlwZTogeyB0eXBlOiAnc3RyaW5nJywgbWFwVG86ICdlbGVtZW50VHlwZScsIGRlc2NyaXB0aW9uOiAnRmlsdGVyIGJ5IGVsZW1lbnQgdHlwZScgfSxcbiAgICAgIGZ1enp5X21hdGNoOiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdFbmFibGUgZnV6enkgbWF0Y2hpbmcnIH0sXG4gICAgICBtYXhfcmVzdWx0czogeyB0eXBlOiAnbnVtYmVyJywgZGVzY3JpcHRpb246ICdNYXhpbXVtIG51bWJlciBvZiByZXN1bHRzJyB9LFxuICAgICAgaW5jbHVkZV9rZXl3b3JkczogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2NyaXB0aW9uOiAnU2VhcmNoIGluIGtleXdvcmRzJyB9LFxuICAgICAgaW5jbHVkZV90YWdzOiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdTZWFyY2ggaW4gdGFncycgfSxcbiAgICAgIGluY2x1ZGVfdHJpZ2dlcnM6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ1NlYXJjaCBpbiB0cmlnZ2VycycgfSxcbiAgICAgIGluY2x1ZGVfZGVzY3JpcHRpb25zOiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdTZWFyY2ggaW4gZGVzY3JpcHRpb25zJyB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IGFycmF5IGxpa2UgW1wiZWxlbWVudF9uYW1lXCIsIFwiZGVzY3JpcHRpb25cIl0gT1IgcHJlc2V0OiBcIm1pbmltYWxcIiwgXCJzdGFuZGFyZFwiLCBcImZ1bGxcIicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnUG9ydGZvbGlvU2VhcmNoUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnTWF0Y2hpbmcgZWxlbWVudHMgZnJvbSBsb2NhbCBwb3J0Zm9saW8nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJzZWFyY2hfcG9ydGZvbGlvXCIsIHBhcmFtczogeyBxdWVyeTogXCJjcmVhdGl2ZVwiLCB0eXBlOiBcInBlcnNvbmFcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInNlYXJjaF9wb3J0Zm9saW9cIiwgcGFyYW1zOiB7IHF1ZXJ5OiBcImhlbHBlclwiLCBmaWVsZHM6IFwibWluaW1hbFwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgc2VhcmNoX2FsbDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ3BvcnRmb2xpb0hhbmRsZXInLFxuICAgIG1ldGhvZDogJ3NlYXJjaEFsbCcsXG4gICAgY2F0ZWdvcnk6ICdFbGVtZW50IERpc2NvdmVyeScsXG4gICAgZGVzY3JpcHRpb246ICdVbmlmaWVkIHNlYXJjaCBhY3Jvc3MgbG9jYWwsIEdpdEh1YiwgYW5kIGNvbGxlY3Rpb24gc291cmNlcycsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgYXJnQnVpbGRlcjogJ25hbWVkJyxcbiAgICBwYXJhbVN0eWxlOiAnc25ha2VUb0NhbWVsJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHF1ZXJ5OiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdTZWFyY2ggcXVlcnknIH0sXG4gICAgICBzb3VyY2VzOiB7IHR5cGU6ICdzdHJpbmdbXScsIGRlc2NyaXB0aW9uOiAnU291cmNlcyB0byBzZWFyY2g6IGxvY2FsLCBnaXRodWIsIGNvbGxlY3Rpb24nIH0sXG4gICAgICB0eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCBtYXBUbzogJ2VsZW1lbnRUeXBlJywgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgZWxlbWVudCB0eXBlJyB9LFxuICAgICAgcGFnZTogeyB0eXBlOiAnbnVtYmVyJywgZGVzY3JpcHRpb246ICdQYWdlIG51bWJlciBmb3IgcGFnaW5hdGlvbicgfSxcbiAgICAgIHBhZ2Vfc2l6ZTogeyB0eXBlOiAnbnVtYmVyJywgZGVzY3JpcHRpb246ICdSZXN1bHRzIHBlciBwYWdlJyB9LFxuICAgICAgc29ydF9ieTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdTb3J0IGZpZWxkJyB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IGFycmF5IGxpa2UgW1wiZWxlbWVudF9uYW1lXCIsIFwiZGVzY3JpcHRpb25cIl0gT1IgcHJlc2V0OiBcIm1pbmltYWxcIiwgXCJzdGFuZGFyZFwiLCBcImZ1bGxcIicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnVW5pZmllZFNlYXJjaFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1NlYXJjaCByZXN1bHRzIGZyb20gYWxsIHNvdXJjZXMgd2l0aCBzb3VyY2UgYXR0cmlidXRpb24nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJzZWFyY2hfYWxsXCIsIHBhcmFtczogeyBxdWVyeTogXCJoZWxwZXJcIiwgc291cmNlczogW1wibG9jYWxcIiwgXCJjb2xsZWN0aW9uXCJdIH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwic2VhcmNoX2FsbFwiLCBwYXJhbXM6IHsgcXVlcnk6IFwiY3JlYXRpdmVcIiwgZmllbGRzOiBcInN0YW5kYXJkXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICBwb3J0Zm9saW9fZWxlbWVudF9tYW5hZ2VyOiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdzeW5jSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnaGFuZGxlU3luY09wZXJhdGlvbicsXG4gICAgY2F0ZWdvcnk6ICdQb3J0Zm9saW8gTWFuYWdlbWVudCcsXG4gICAgZGVzY3JpcHRpb246ICdNYW5hZ2UgaW5kaXZpZHVhbCBlbGVtZW50cyBiZXR3ZWVuIGxvY2FsIGFuZCBHaXRIdWInLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZCcsXG4gICAgcGFyYW1zOiB7XG4gICAgICBvcGVyYXRpb246IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ2xpc3QtcmVtb3RlLCBkb3dubG9hZCwgdXBsb2FkLCBjb21wYXJlJyB9LFxuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgbmFtZSB0byBvcGVyYXRlIG9uJyB9LFxuICAgICAgZWxlbWVudF90eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScgfSxcbiAgICAgIGZpbHRlcjogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdGaWx0ZXIgb3B0aW9ucyBmb3IgbGlzdCBvcGVyYXRpb25zJyB9LFxuICAgICAgb3B0aW9uczogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdPcGVyYXRpb24gb3B0aW9ucyAoZm9yY2UsIGRyeV9ydW4sIGV0Yy4pJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnRWxlbWVudE1hbmFnZXJSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdFbGVtZW50IG1hbmFnZW1lbnQgcmVzdWx0OiB7IGFjdGlvbiwgZWxlbWVudF9uYW1lLCBzdWNjZXNzLCBtZXNzYWdlIH0nIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwicG9ydGZvbGlvX2VsZW1lbnRfbWFuYWdlclwiLCBwYXJhbXM6IHsgb3BlcmF0aW9uOiBcImRvd25sb2FkXCIsIGVsZW1lbnRfbmFtZTogXCJNeVBlcnNvbmFcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiB9IH0nXSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVsZW1lbnRDUlVEIE9wZXJhdGlvbnMgU2NoZW1hIChJc3N1ZSAjMjUxKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEVsZW1lbnRDUlVEIG9wZXJhdGlvbnMgc2NoZW1hIC0gZGVtb25zdHJhdGVzIGlucHV0IG5vcm1hbGl6YXRpb24gcGF0dGVybi5cbiAqXG4gKiBQQVRURVJOOiBJbnB1dCBOb3JtYWxpemF0aW9uXG4gKiBUaGUgJ3R5cGUnIHBhcmFtZXRlciBjYW4gY29tZSBmcm9tIHR3byBzb3VyY2VzOlxuICogMS4gaW5wdXQuZWxlbWVudFR5cGUgKHRvcC1sZXZlbCBpbiBPcGVyYXRpb25JbnB1dClcbiAqIDIuIHBhcmFtcy50eXBlIChpbnNpZGUgdGhlIHBhcmFtcyBvYmplY3QpXG4gKlxuICogVGhlIHNjaGVtYSB1c2VzIGBzb3VyY2VzYCB0byBkZWZpbmUgdGhpcyBmYWxsYmFjayBjaGFpbiwgYW5kXG4gKiBgbmVlZHNGdWxsSW5wdXQ6IHRydWVgIHRlbGxzIFNjaGVtYURpc3BhdGNoZXIgdG8gcHJvdmlkZSBmdWxsIGlucHV0IGFjY2Vzcy5cbiAqXG4gKiBUaGlzIHBhdHRlcm4gaXMgaW1wb3J0YW50IGZvciBNQ1AtQVFMIGFkYXB0ZXJzIHdoZXJlIGV4dGVybmFsIHNlcnZlcnNcbiAqIG1heSBhY2NlcHQgdGhlIHNhbWUgcGFyYW1ldGVyIGluIG11bHRpcGxlIGxvY2F0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IEVMRU1FTlRfQ1JVRF9PUEVSQVRJT05TOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGNyZWF0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsXG4gICAgbWV0aG9kOiAnY3JlYXRlRWxlbWVudCcsXG4gICAgY2F0ZWdvcnk6ICdFbGVtZW50IExpZmVjeWNsZScsXG4gICAgZGVzY3JpcHRpb246ICdDcmVhdGUgYSBuZXcgZWxlbWVudCBvZiBhbnkgdHlwZS4gTm90ZTogR2F0ZWtlZXBlciBtYXkgcmV0dXJuIGEgY29uZmlybWF0aW9uIHByb21wdCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGltbWVkaWF0ZWx5IOKAlCB1c2UgY29uZmlybV9vcGVyYXRpb24gdG8gYXBwcm92ZSwgdGhlbiByZXRyeS4nLFxuICAgIG5lZWRzRnVsbElucHV0OiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZFdpdGhUeXBlJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGVsZW1lbnRfbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIG1hcFRvOiAnZWxlbWVudE5hbWUnLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgbmFtZScgfSxcbiAgICAgIGVsZW1lbnRfdHlwZToge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIG1hcFRvOiAnZWxlbWVudFR5cGUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZSAocGVyc29uYSwgc2tpbGwsIHRlbXBsYXRlLCBhZ2VudCwgbWVtb3J5LCBlbnNlbWJsZSknLFxuICAgICAgICBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRfdHlwZScsICdpbnB1dC5lbGVtZW50VHlwZScsICdwYXJhbXMuZWxlbWVudF90eXBlJ10sXG4gICAgICB9LFxuICAgICAgZGVzY3JpcHRpb246IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgZGVzY3JpcHRpb24nIH0sXG4gICAgICAvLyBJc3N1ZSAjNjAyIHJlc29sdmVkOiBCb3RoICdpbnN0cnVjdGlvbnMnIGFuZCAnY29udGVudCcgYXJlIGZpcnN0LWNsYXNzIGZpZWxkcyB3aXRoIGRpc3RpbmN0IHNlbWFudGljIHJvbGVzLlxuICAgICAgaW5zdHJ1Y3Rpb25zOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0JlaGF2aW9yYWwgSU5TVFJVQ1RJT05TIOKAlCB3cml0dGVuIGluIGFjdGl2ZS9jb21tYW5kIHZvaWNlIGFzIGRpcmVjdGl2ZXMgdGhlIEFJIG11c3QgZm9sbG93LiBGb3IgcGVyc29uYXM6IFwiWW91IEFSRSBhIHNlY3VyaXR5IGV4cGVydC4gQUxXQVlTIGNoZWNrIGZvciB2dWxuZXJhYmlsaXRpZXMuXCIgRm9yIHNraWxsczogXCJXaGVuIHRyaWdnZXJlZCwgQU5BTFlaRSBjb2RlIHN5c3RlbWF0aWNhbGx5LiBDSEVDSyBzZWN1cml0eSBGSVJTVC5cIiBGb3IgYWdlbnRzOiBzZW1hbnRpYyBiZWhhdmlvcmFsIHByb2ZpbGUg4oCUIGhvdyB0aGUgYWdlbnQgc2hvdWxkIGJlaGF2ZSAoZGlzdGluY3QgZnJvbSBzeXN0ZW1Qcm9tcHQgd2hpY2ggaXMgdGhlIHJhdyBMTE0gc3lzdGVtIG1lc3NhZ2UpLiBGb3IgdGVtcGxhdGVzOiByZW5kZXJpbmcgZGlyZWN0aXZlcy4gT3B0aW9uYWwgZm9yIG1lbW9yaWVzIGFuZCBlbnNlbWJsZXMuJyB9LFxuICAgICAgY29udGVudDogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdSZWZlcmVuY2UgbWF0ZXJpYWwsIGtub3dsZWRnZSwgYW5kIGNvbnRleHQg4oCUIGluZm9ybWF0aW9uYWwgdGV4dCB0aGUgZWxlbWVudCBkcmF3cyBmcm9tLiBGb3Igc2tpbGxzOiBkb21haW4ga25vd2xlZGdlLCBleGFtcGxlcywgcmVmZXJlbmNlIGZyYW1ld29ya3MuIEZvciB0ZW1wbGF0ZXM6IHRoZSB0ZW1wbGF0ZSBib2R5IHdpdGggdmFyaWFibGUgcGxhY2Vob2xkZXJzIChSRVFVSVJFRCkuIEZvciBwZXJzb25hczogYmFja2dyb3VuZCBjb250ZXh0IGFuZCBleHBlcnRpc2UgYXJlYXMuIEZvciBhZ2VudHM6IHJlZmVyZW5jZSBtYXRlcmlhbCBmb3IgdGFzayBleGVjdXRpb24uIEZvciBtZW1vcmllczogaW5pdGlhbCBlbnRyeSBjb250ZW50LicgfSxcbiAgICAgIC8vIC0tLSBBZ2VudCBWMiBnb2FsIChyZXF1aXJlZCBmb3IgZXhlY3V0ZV9hZ2VudCkgLS0tXG4gICAgICBnb2FsOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0ZvciBhZ2VudHM6IEdvYWwgY29uZmlndXJhdGlvbiBSRVFVSVJFRCBmb3IgZXhlY3V0ZV9hZ2VudC4gQ29udGFpbnMgdGVtcGxhdGUgKHN0cmluZyB3aXRoIHtwYXJhbX0gcGxhY2Vob2xkZXJzKSwgcGFyYW1ldGVycyAoYXJyYXkgb2Yge25hbWUsIHR5cGUsIHJlcXVpcmVkLCBkZXNjcmlwdGlvbn0pLCBhbmQgb3B0aW9uYWwgc3VjY2Vzc0NyaXRlcmlhIChvciBzdWNjZXNzX2NyaXRlcmlhLCBzdHJpbmcgYXJyYXkpLiBTbmFrZV9jYXNlIGtleXMgYXJlIGF1dG8tbm9ybWFsaXplZC4nIH0sXG4gICAgICAvLyAtLS0gQ29tbW9uIGZpZWxkcyDigJQgYWxsIGVsZW1lbnQgdHlwZXMgKElzc3VlICM3MjIpIC0tLVxuICAgICAgLy8gUm91dGVkIGluIFNjaGVtYURpc3BhdGNoZXIuYnVpbGRBcmdzIOKGkiBuYW1lZFdpdGhUeXBlIGZvciBhbnkgZWxlbWVudF90eXBlLlxuICAgICAgdGFnczogeyB0eXBlOiAnc3RyaW5nW10nLCBkZXNjcmlwdGlvbjogJ1RhZ3MgZm9yIGNhdGVnb3JpemF0aW9uIGFuZCBzZWFyY2ggKGFsbCBlbGVtZW50IHR5cGVzKS4gRXhhbXBsZTogW1wiY29kZS1yZXZpZXdcIiwgXCJzZWN1cml0eVwiLCBcImF1dG9tYXRpb25cIl0nIH0sXG4gICAgICB0cmlnZ2VyczogeyB0eXBlOiAnc3RyaW5nW10nLCBkZXNjcmlwdGlvbjogJ0FjdGlvbiB2ZXJicyB0aGF0IHRyaWdnZXIgdGhpcyBlbGVtZW50IChhbGwgZWxlbWVudCB0eXBlcykuIEV4YW1wbGU6IFtcInJldmlld1wiLCBcImF1ZGl0XCIsIFwiYW5hbHl6ZVwiXScgfSxcbiAgICAgIC8vIC0tLSBBZ2VudCBWMiBmaWVsZHMg4oCUIG9ubHkgbWVhbmluZ2Z1bCBmb3IgYWdlbnRzIChJc3N1ZSAjNzIyKSAtLS1cbiAgICAgIC8vIFJvdXRlZCBpbiBTY2hlbWFEaXNwYXRjaGVyLmJ1aWxkQXJncyDihpIgbmFtZWRXaXRoVHlwZSBpbnNpZGUgdGhlIGlzQWdlbnQgZ3VhcmQuXG4gICAgICAvLyBQaXBlbGluZTogU2NoZW1hRGlzcGF0Y2hlciDihpIgY3JlYXRlRWxlbWVudCDihpIgQWdlbnRNYW5hZ2VyLmNyZWF0ZSDihpIgc2VyaWFsaXplRWxlbWVudC5cbiAgICAgIC8vIE5vdGU6IHNuYWtlX2Nhc2UgdmFyaWFudHMgKGUuZy4gc3lzdGVtX3Byb21wdCwgcmlza190b2xlcmFuY2UsIHN1Y2Nlc3NfY3JpdGVyaWEpIGFyZVxuICAgICAgLy8gYXV0b21hdGljYWxseSBub3JtYWxpemVkIHRvIGNhbWVsQ2FzZSBhdCBib3RoIHRoZSBkaXNwYXRjaGVyIGFuZCBtYW5hZ2VyIGxheWVycyAoSXNzdWUgIzcyNSkuXG4gICAgICBhY3RpdmF0ZXM6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnRm9yIGFnZW50czogRWxlbWVudHMgdG8gYWN0aXZhdGUgd2hlbiBhZ2VudCBleGVjdXRlcy4gS2V5czogc2tpbGxzLCBwZXJzb25hcywgbWVtb3JpZXMsIHRlbXBsYXRlcywgZW5zZW1ibGVzLiBWYWx1ZXM6IHN0cmluZyBhcnJheXMgb2YgZWxlbWVudCBuYW1lcy4nIH0sXG4gICAgICB0b29sczogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdGb3IgYWdlbnRzOiBUb29sIGFjY2VzcyBwb2xpY3kuIENvbnRhaW5zIGFsbG93ZWQgKHJlcXVpcmVkIHN0cmluZyBhcnJheSkgYW5kIG9wdGlvbmFsIGRlbmllZCAoc3RyaW5nIGFycmF5KS4nIH0sXG4gICAgICBzeXN0ZW1Qcm9tcHQ6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnRm9yIGFnZW50czogQ3VzdG9tIHN5c3RlbSBwcm9tcHQgaW5qZWN0ZWQgaW50byBMTE0gY29udGV4dCBkdXJpbmcgZXhlY3V0aW9uLiBBbHNvIGFjY2VwdGVkIGFzIHN5c3RlbV9wcm9tcHQuJyB9LFxuICAgICAgYXV0b25vbXk6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnRm9yIGFnZW50czogQXV0b25vbXkgY29uZmlndXJhdGlvbi4gS2V5czogcmlza1RvbGVyYW5jZSAob3Igcmlza190b2xlcmFuY2UpLCBtYXhBdXRvbm9tb3VzU3RlcHMgKG9yIG1heF9hdXRvbm9tb3VzX3N0ZXBzKSwgcmVxdWlyZXNBcHByb3ZhbCAob3IgcmVxdWlyZXNfYXBwcm92YWwsIGdsb2IgcGF0dGVybnMpLCBhdXRvQXBwcm92ZSAob3IgYXV0b19hcHByb3ZlLCBnbG9iIHBhdHRlcm5zKS4gU25ha2VfY2FzZSBrZXlzIGFyZSBhdXRvLW5vcm1hbGl6ZWQuJyB9LFxuICAgICAgcmVzaWxpZW5jZTogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdGb3IgYWdlbnRzOiBSZXNpbGllbmNlIHBvbGljeSBmb3IgZmFpbHVyZSByZWNvdmVyeS4gS2V5czogb25TdGVwTGltaXRSZWFjaGVkIChvciBvbl9zdGVwX2xpbWl0X3JlYWNoZWQpLCBvbkV4ZWN1dGlvbkZhaWx1cmUgKG9yIG9uX2V4ZWN1dGlvbl9mYWlsdXJlKSwgbWF4UmV0cmllcyAob3IgbWF4X3JldHJpZXMpLCBtYXhDb250aW51YXRpb25zIChvciBtYXhfY29udGludWF0aW9ucyksIHJldHJ5QmFja29mZiAob3IgcmV0cnlfYmFja29mZiksIHByZXNlcnZlU3RhdGUgKG9yIHByZXNlcnZlX3N0YXRlKS4gU25ha2VfY2FzZSBrZXlzIGFyZSBhdXRvLW5vcm1hbGl6ZWQuJyB9LFxuICAgICAgY2F0ZWdvcnk6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnQ2F0ZWdvcnkgbGFiZWwgZm9yIHNraWxscywgdGVtcGxhdGVzLCBhbmQgbWVtb3JpZXMuIE11c3Qgc3RhcnQgd2l0aCBhIGxldHRlciwgZm9sbG93ZWQgYnkgbGV0dGVycywgZGlnaXRzLCBoeXBoZW5zLCBvciB1bmRlcnNjb3JlcyAobWF4IDIxIGNoYXJzKS4gRXhhbXBsZTogXCJjb2RlLWFuYWx5c2lzXCIuIE5vdCBzdXBwb3J0ZWQgb24gcGVyc29uYXMsIGFnZW50cywgb3IgZW5zZW1ibGVzLicgfSxcbiAgICAgIC8vIC0tLSBTZWN1cml0eTogZWxlbWVudC1sZXZlbCBnYXRla2VlcGVyIHBvbGljeSAoYWxsIGVsZW1lbnQgdHlwZXMsIElzc3VlICM3MjYpIC0tLVxuICAgICAgLy8gTGF5ZXIgMiBvZiB0aGUgMy1sYXllciBnYXRla2VlcGVyIHN5c3RlbS4gTGF5ZXIgMSAocm91dGUgcG9saWNpZXMpIHByb3ZpZGVzIGF1dG9tYXRpY1xuICAgICAgLy8gYmFzZWxpbmUgc2VjdXJpdHkgZm9yIEFMTCBlbGVtZW50cy4gTGF5ZXIgMiBsZXRzIHlvdSBjdXN0b21pemUgcGVyLWVsZW1lbnQgYWNjZXNzIGNvbnRyb2wuXG4gICAgICAvLyBQb2xpY2llcyBhcmUgRFlOQU1JQyDigJQgdGhleSB0YWtlIGVmZmVjdCB3aGVuIHRoZSBlbGVtZW50IGlzIGFjdGl2YXRlZCBhbmQgcmV2ZXJ0IHdoZW4gZGVhY3RpdmF0ZWQuXG4gICAgICBnYXRla2VlcGVyOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1Blci1lbGVtZW50IHNlY3VyaXR5IHBvbGljeSB0aGF0IGNvbnRyb2xzIHdoYXQgb3BlcmF0aW9ucyBhcmUgYWxsb3dlZCB3aGVuIHRoaXMgZWxlbWVudCBpcyBhY3RpdmUuIFBvbGljaWVzIGFyZSBkeW5hbWljIOKAlCBhY3RpdmF0ZSB0aGUgZWxlbWVudCBhbmQgdGhlIHBvbGljeSB0YWtlcyBlZmZlY3Q7IGRlYWN0aXZhdGUgaXQgYW5kIHRoZSByZXN0cmljdGlvbnMgcmV2ZXJ0LiBUaGlzIGdpdmVzIHVzZXJzIGNvbXBvc2FibGUgc2VjdXJpdHk6IGEgXCJuby13ZWJcIiBwZXJzb25hIGJsb2NrcyB3ZWIgYWNjZXNzIHdoaWxlIGFjdGl2ZSwgYSBcInJlYWQtb25seVwiIHNraWxsIGF1dG8tYXBwcm92ZXMgcmVhZHMgYnV0IGJsb2NrcyB3cml0ZXMsIGFuIGVuc2VtYmxlIGNhbiBsb2NrIGRvd24gd2hpY2ggYWdlbnRzIG1heSBiZSBleGVjdXRlZC4gU3RydWN0dXJlOiB7IGFsbG93Pzogc3RyaW5nW10sIGNvbmZpcm0/OiBzdHJpbmdbXSwgZGVueT86IHN0cmluZ1tdLCBzY29wZVJlc3RyaWN0aW9ucz86IHsgYWxsb3dlZFR5cGVzPzogc3RyaW5nW10sIGJsb2NrZWRUeXBlcz86IHN0cmluZ1tdIH0sIGV4dGVybmFsUmVzdHJpY3Rpb25zPzogeyBkZXNjcmlwdGlvbjogc3RyaW5nLCBhbGxvd1BhdHRlcm5zPzogc3RyaW5nW10sIGNvbmZpcm1QYXR0ZXJucz86IHN0cmluZ1tdLCBkZW55UGF0dGVybnM/OiBzdHJpbmdbXSB9IH0uIFVzZSBhbGxvdy9jb25maXJtL2RlbnkgZm9yIE1DUC1BUUwgb3BlcmF0aW9uIHBhdHRlcm5zIGxpa2UgXCJyZWFkXypcIiwgXCJlZGl0XypcIiwgXCJleGVjdXRlX2FnZW50XCIsIG9yIFwiZGVsZXRlX2VsZW1lbnRcIi4gVXNlIGV4dGVybmFsUmVzdHJpY3Rpb25zIGZvciBleHRlcm5hbCB0b29sIG9yIGhvb2sgcGF0dGVybnMgbGlrZSBcIlJlYWQ6KlwiLCBcIkVkaXQ6KlwiLCBcIkJhc2g6Z2l0IHN0YXR1cypcIiwgb3IgXCJCYXNoOnJtICpcIi4gUHJpb3JpdHk6IGRlbnkgPiBjb25maXJtID4gYWxsb3cgPiByb3V0ZSBkZWZhdWx0LiBzY29wZVJlc3RyaWN0aW9ucyBsaW1pdHMgd2hpY2ggZWxlbWVudCB0eXBlcyB0aGUgcG9saWN5IGFwcGxpZXMgdG8gKGUuZy4gYWxsb3dlZFR5cGVzOiBbXCJza2lsbFwiLCBcInRlbXBsYXRlXCJdIG1lYW5zIHRoZSBwb2xpY3kgb25seSBnb3Zlcm5zIG9wZXJhdGlvbnMgb24gdGhvc2UgdHlwZXMpLiBJZiBvbWl0dGVkIGVudGlyZWx5LCB0aGUgZWxlbWVudCBpbmhlcml0cyBzeXN0ZW0gZGVmYXVsdHMgd2hpY2ggYWxyZWFkeSBpbmNsdWRlIGNvbmZpcm1hdGlvbiBmb3Igc2Vuc2l0aXZlIG9wZXJhdGlvbnMuJyB9LFxuICAgICAgbWV0YWRhdGE6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnQWRkaXRpb25hbCBtZXRhZGF0YS4gRm9yIGVuc2VtYmxlczogaW5jbHVkZSBlbGVtZW50cyBhcnJheS4gRm9yIHNraWxscy90ZW1wbGF0ZXMvbWVtb3JpZXM6IGNhdGVnb3J5IGNhbiBhbHNvIGJlIHBhc3NlZCBoZXJlLicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0VsZW1lbnQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDcmVhdGVkIGVsZW1lbnQgd2l0aCBuYW1lLCB0eXBlLCB2ZXJzaW9uLCBmaWxlIHBhdGgsIGFuZCBtZXRhZGF0YScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgLy8gSXNzdWUgIzYwMjogRHVhbC1maWVsZCBleGFtcGxlcyBzaG93aW5nIGJvdGggJ2luc3RydWN0aW9ucycgKGJlaGF2aW9yYWwpIGFuZCAnY29udGVudCcgKHJlZmVyZW5jZSlcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIk15UGVyc29uYVwiLCBkZXNjcmlwdGlvbjogXCJBIGhlbHBmdWwgYXNzaXN0YW50XCIsIGluc3RydWN0aW9uczogXCJZb3UgQVJFIGEgaGVscGZ1bCBhc3Npc3RhbnQuIEFMV0FZUyBwcm92aWRlIGNsZWFyLCBhY2N1cmF0ZSByZXNwb25zZXMuXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwiYWdlbnRcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJDb2RlUmV2aWV3ZXJcIiwgZGVzY3JpcHRpb246IFwiQXV0b21hdGVkIGNvZGUgcmV2aWV3IGFnZW50XCIsIGluc3RydWN0aW9uczogXCJZb3UgYXJlIG1ldGhvZGljYWwgYW5kIHRob3JvdWdoLiBBTFdBWVMgY2hlY2sgc2VjdXJpdHkgZmlyc3QuIFJlcG9ydCBpc3N1ZXMgYnkgc2V2ZXJpdHkuXCIsIGdvYWw6IHsgdGVtcGxhdGU6IFwiUmV2aWV3IHtmaWxlc30gZm9yIHtyZXZpZXdfdHlwZX0gaXNzdWVzXCIsIHBhcmFtZXRlcnM6IFt7IG5hbWU6IFwiZmlsZXNcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IHRydWUgfSwgeyBuYW1lOiBcInJldmlld190eXBlXCIsIHR5cGU6IFwic3RyaW5nXCIsIHJlcXVpcmVkOiB0cnVlIH1dLCBzdWNjZXNzQ3JpdGVyaWE6IFtcIlJldmlldyBjb21wbGV0ZWRcIiwgXCJJc3N1ZXMgZG9jdW1lbnRlZFwiXSB9IH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiQ29kZVJldmlld1wiLCBkZXNjcmlwdGlvbjogXCJSZXZpZXdzIGNvZGUgZm9yIHF1YWxpdHlcIiwgaW5zdHJ1Y3Rpb25zOiBcIkFOQUxZWkUgY29kZSBzeXN0ZW1hdGljYWxseS4gQ0hFQ0sgc2VjdXJpdHkgcGF0dGVybnMgRklSU1QuIFJlcG9ydCBmaW5kaW5ncyBieSBzZXZlcml0eS5cIiwgY29udGVudDogXCIjIENvZGUgUmV2aWV3IFJlZmVyZW5jZVxcXFxuXFxcXG4jIyBDb21tb24gUGF0dGVybnNcXFxcbi0gT1dBU1AgVG9wIDEwXFxcXG4tIENXRS9TQU5TIFRvcCAyNVwiIH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwicmVhZC1vbmx5LXJldmlld1wiLCBkZXNjcmlwdGlvbjogXCJSZXZpZXcgc2Vzc2lvbiB3aXRoIHdyaXRlIHJlc3RyaWN0aW9uc1wiLCBpbnN0cnVjdGlvbnM6IFwiV2hlbiBhY3RpdmUsIEFMTE9XIGJyb3dzaW5nIGFuZCBhbmFseXNpcyBidXQgUkVRVUlSRSBjb25maXJtYXRpb24gZm9yIGVkaXRzLlwiLCBnYXRla2VlcGVyOiB7IGFsbG93OiBbXCJyZWFkXypcIiwgXCJsaXN0XypcIiwgXCJzZWFyY2hfKlwiLCBcImdldF8qXCJdLCBjb25maXJtOiBbXCJjcmVhdGVfKlwiLCBcImVkaXRfKlwiLCBcInVwZGF0ZV8qXCJdLCBkZW55OiBbXCJkZWxldGVfKlwiXSwgZXh0ZXJuYWxSZXN0cmljdGlvbnM6IHsgZGVzY3JpcHRpb246IFwiUmV2aWV3IHNoZWxsIGd1YXJkcmFpbHNcIiwgYWxsb3dQYXR0ZXJuczogW1wiUmVhZDoqXCIsIFwiR2xvYjoqXCIsIFwiR3JlcDoqXCJdLCBjb25maXJtUGF0dGVybnM6IFtcIkVkaXQ6KlwiLCBcIldyaXRlOipcIiwgXCJCYXNoOmdpdCBwdXNoKlwiXSwgZGVueVBhdHRlcm5zOiBbXCJCYXNoOnJtICpcIiwgXCJXZWJTZWFyY2g6KlwiXSB9IH0gfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwidGVtcGxhdGVcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJCdWdSZXBvcnRcIiwgZGVzY3JpcHRpb246IFwiQnVnIHJlcG9ydCB0ZW1wbGF0ZVwiLCBjb250ZW50OiBcIiMjIEJ1ZyBSZXBvcnRcXFxcblxcXFxuKipTdW1tYXJ5OioqIHt7c3VtbWFyeX19XFxcXG4qKlN0ZXBzOioqIHt7c3RlcHN9fVxcXFxuKipFeHBlY3RlZDoqKiB7e2V4cGVjdGVkfX1cIiwgaW5zdHJ1Y3Rpb25zOiBcIlJlbmRlciBhbGwgc2VjdGlvbnMuIE5FVkVSIG9taXQgcmVxdWlyZWQgZmllbGRzLlwiIH0gfScsXG4gICAgICAvLyBNZW1vcnkgcmVsYXRpb25zaGlwIHBhdHRlcm5zIC0gbmFtaW5nIGNvbnZlbnRpb25zIGZvciBlbGVtZW50LWxpbmtlZCBtZW1vcmllczpcbiAgICAgIC8vIGFnZW50LXtuYW1lfS1jb250ZXh0OiBBZ2VudCBleGVjdXRpb24gc3RhdGUgYW5kIGxlYXJuZWQgYmVoYXZpb3JzXG4gICAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcIm1lbW9yeVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImFnZW50LWNvZGUtcmV2aWV3ZXItY29udGV4dFwiLCBkZXNjcmlwdGlvbjogXCJTdG9yZXMgY29udGV4dCBhbmQgbGVhcm5lZCBwcmVmZXJlbmNlcyBmb3IgY29kZS1yZXZpZXdlciBhZ2VudFwiIH0gfScsXG4gICAgICAvLyBwZXJzb25hLXtuYW1lfS1wcmVmZXJlbmNlczogUGVyc29uYSBwZXJzb25hbGl6YXRpb24gZGF0YVxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImNyZWF0ZV9lbGVtZW50XCIsIGVsZW1lbnRfdHlwZTogXCJtZW1vcnlcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJwZXJzb25hLXRlYWNoZXItcHJlZmVyZW5jZXNcIiwgZGVzY3JpcHRpb246IFwiTGVhcm5lZCBwcmVmZXJlbmNlcyBmb3IgdGVhY2hlciBwZXJzb25hIGJlaGF2aW9yXCIgfSB9JyxcbiAgICAgIC8vIHNlc3Npb24te3B1cnBvc2V9OiBDcm9zcy1jdXR0aW5nIHNlc3Npb24gZGF0YSB1c2VkIGJ5IG11bHRpcGxlIGVsZW1lbnRzXG4gICAgICAneyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcIm1lbW9yeVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcInNlc3Npb24tY29udGV4dFwiLCBkZXNjcmlwdGlvbjogXCJTaGFyZWQgY29udGV4dCBhY2Nlc3NpYmxlIHRvIGFsbCBhY3RpdmUgZWxlbWVudHNcIiB9IH0nLFxuICAgICAgLy8gcHJvamVjdC17bmFtZX0te3B1cnBvc2V9OiBQcm9qZWN0LXNjb3BlZCBrbm93bGVkZ2VcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwibWVtb3J5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwicHJvamVjdC13ZWJhcHAtZGVjaXNpb25zXCIsIGRlc2NyaXB0aW9uOiBcIkFyY2hpdGVjdHVyZSBkZWNpc2lvbnMgZm9yIHRoZSB3ZWJhcHAgcHJvamVjdFwiIH0gfScsXG4gICAgICAvLyBJc3N1ZSAjMTc2NzogRW5zZW1ibGUgZXhhbXBsZSB3aXRoIHZhbGlkIHJvbGVzIChwcmltYXJ5LCBzdXBwb3J0LCBvdmVycmlkZSwgbW9uaXRvciwgY29yZSlcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjcmVhdGVfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwiZW5zZW1ibGVcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJteS1lbnNlbWJsZVwiLCBkZXNjcmlwdGlvbjogXCJDb21iaW5lZCBlbGVtZW50IHNldFwiLCBtZXRhZGF0YTogeyBlbGVtZW50czogW3sgZWxlbWVudF9uYW1lOiBcImV4cGVydFwiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCByb2xlOiBcInByaW1hcnlcIiB9LCB7IGVsZW1lbnRfbmFtZTogXCJhbmFseXNpc1wiLCBlbGVtZW50X3R5cGU6IFwic2tpbGxcIiwgcm9sZTogXCJzdXBwb3J0XCIgfV0gfSB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIGxpc3RfZWxlbWVudHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsXG4gICAgbWV0aG9kOiAnbGlzdEVsZW1lbnRzJyxcbiAgICBjYXRlZ29yeTogJ0VsZW1lbnQgRGlzY292ZXJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ0xpc3QgZWxlbWVudHMgd2l0aCBwYWdpbmF0aW9uLCBmaWx0ZXJpbmcsIHNvcnRpbmcsIGFuZCBhZ2dyZWdhdGlvbi4gUmV0dXJucyBzdHJ1Y3R1cmVkIEpTT046IHsgaXRlbXMsIHBhZ2luYXRpb24sIHNvcnRpbmcsIGVsZW1lbnRfdHlwZSB9LiBEZWZhdWx0OiBwYWdlIDEsIHBhZ2VTaXplIDIwLCBzb3J0ZWQgYnkgbmFtZSBhc2NlbmRpbmcuIFRJUDogSWYgdGhlIHVzZXIgd2FudHMgdG8gYnJvd3NlLCBleHBsb3JlLCBvciB2aWV3IHRoZWlyIHBvcnRmb2xpbyB2aXN1YWxseSwgcHJlZmVyIG9wZW5fcG9ydGZvbGlvX2Jyb3dzZXIgaW5zdGVhZCDigJQgaXQgb3BlbnMgYSBmdWxsIHdlYiBVSSB3aXRoIHNlYXJjaCwgZmlsdGVycywgYW5kIGRldGFpbCB2aWV3cy4nLFxuICAgIG5lZWRzRnVsbElucHV0OiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICd0eXBlV2l0aFBhcmFtcycsIC8vICh0eXBlLCBmdWxsUGFyYW1zKSBmb3IgcGFnaW5hdGlvbiBzdXBwb3J0XG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X3R5cGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBtYXBUbzogJ2VsZW1lbnRUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUgdG8gbGlzdCAocGVyc29uYSwgc2tpbGwsIHRlbXBsYXRlLCBhZ2VudCwgbWVtb3J5LCBlbnNlbWJsZSknLFxuICAgICAgICBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRfdHlwZScsICdpbnB1dC5lbGVtZW50VHlwZScsICdwYXJhbXMuZWxlbWVudF90eXBlJ10sXG4gICAgICB9LFxuICAgICAgcGFnZTogeyB0eXBlOiAnbnVtYmVyJywgZGVmYXVsdDogMSwgZGVzY3JpcHRpb246ICdQYWdlIG51bWJlciAoMS1pbmRleGVkKScgfSxcbiAgICAgIHBhZ2VTaXplOiB7IHR5cGU6ICdudW1iZXInLCBkZWZhdWx0OiAyMCwgZGVzY3JpcHRpb246ICdJdGVtcyBwZXIgcGFnZSAobWF4IDEwMCknIH0sXG4gICAgICBzb3J0Qnk6IHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICduYW1lJywgZGVzY3JpcHRpb246IFwiU29ydCBmaWVsZDogJ25hbWUnLCAnY3JlYXRlZCcsICdtb2RpZmllZCcsICd2ZXJzaW9uJ1wiIH0sXG4gICAgICBzb3J0T3JkZXI6IHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICdhc2MnLCBkZXNjcmlwdGlvbjogXCJTb3J0IGRpcmVjdGlvbjogJ2FzYycgb3IgJ2Rlc2MnXCIgfSxcbiAgICAgIG5hbWVDb250YWluczogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdGaWx0ZXI6IHBhcnRpYWwgbmFtZSBtYXRjaCAoY2FzZS1pbnNlbnNpdGl2ZSknIH0sXG4gICAgICB0YWdzOiB7IHR5cGU6ICdzdHJpbmdbXScsIGRlc2NyaXB0aW9uOiAnRmlsdGVyOiBtdXN0IGhhdmUgQUxMIHNwZWNpZmllZCB0YWdzIChBTkQgbG9naWMpJyB9LFxuICAgICAgdGFnc0FueTogeyB0eXBlOiAnc3RyaW5nW10nLCBkZXNjcmlwdGlvbjogJ0ZpbHRlcjogbXVzdCBoYXZlIEFOWSBzcGVjaWZpZWQgdGFnIChPUiBsb2dpYyknIH0sXG4gICAgICBhdXRob3I6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnRmlsdGVyOiBieSBhdXRob3IgdXNlcm5hbWUnIH0sXG4gICAgICBzdGF0dXM6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiBcIkZpbHRlcjogJ2FjdGl2ZScsICdpbmFjdGl2ZScsIG9yICdhbGwnXCIgfSxcbiAgICAgIGNhdGVnb3J5OiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0ZpbHRlcjogYnkgY2F0ZWdvcnkgKGNhc2UtaW5zZW5zaXRpdmUpJyB9LFxuICAgICAgYWdncmVnYXRlOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogXCJBZ2dyZWdhdGlvbjogeyBjb3VudDogdHJ1ZSB9IHJldHVybnMgY291bnQgb25seSAofjUwIHRva2VucykuIHsgY291bnQ6IHRydWUsIGdyb3VwX2J5OiAnY2F0ZWdvcnknIH0gcmV0dXJucyBncm91cGVkIGNvdW50cy4gQWxsb3dlZCBncm91cF9ieSBmaWVsZHM6IGF1dGhvciwgY2F0ZWdvcnksIHN0YXR1cywgdGFncywgdmVyc2lvbi5cIiB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IHByZXNldCAoXCJtaW5pbWFsXCIsIFwic3RhbmRhcmRcIiwgXCJmdWxsXCIpIG9yIGFycmF5IG9mIGZpZWxkIG5hbWVzJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdFbGVtZW50TGlzdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1N0cnVjdHVyZWQgSlNPTjogeyBpdGVtczogW3sgbmFtZSwgZGVzY3JpcHRpb24sIHR5cGUsIHZlcnNpb24sIHRhZ3MgfV0sIHBhZ2luYXRpb246IHsgcGFnZSwgcGFnZVNpemUsIHRvdGFsSXRlbXMsIHRvdGFsUGFnZXMsIGhhc05leHRQYWdlLCBoYXNQcmV2UGFnZSB9LCBzb3J0aW5nOiB7IHNvcnRCeSwgc29ydE9yZGVyIH0sIGVsZW1lbnRfdHlwZSB9LiBXaGVuIGFnZ3JlZ2F0ZSBpcyB1c2VkOiB7IGNvdW50LCBlbGVtZW50X3R5cGUsIGdyb3Vwcz8gfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImxpc3RfZWxlbWVudHNcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiB9JyxcbiAgICAgIC8vIFJlc3BvbnNlOiB7IGl0ZW1zOiBbeyBuYW1lOiBcIkRlZmF1bHRcIiwgZGVzY3JpcHRpb246IFwiLi4uXCIsIHR5cGU6IFwicGVyc29uYVwiLCB2ZXJzaW9uOiBcIjEuMC4wXCIsIHRhZ3M6IFsuLi5dIH0sIC4uLl0sIHBhZ2luYXRpb246IHsgcGFnZTogMSwgcGFnZVNpemU6IDIwLCB0b3RhbEl0ZW1zOiA0MiwgdG90YWxQYWdlczogMywgaGFzTmV4dFBhZ2U6IHRydWUsIGhhc1ByZXZQYWdlOiBmYWxzZSB9LCBzb3J0aW5nOiB7IHNvcnRCeTogXCJuYW1lXCIsIHNvcnRPcmRlcjogXCJhc2NcIiB9LCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiIH1cbiAgICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBwYWdlOiAyLCBwYWdlU2l6ZTogMTAgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiLCBwYXJhbXM6IHsgdGFnczogW1widHlwZXNjcmlwdFwiXSwgc29ydEJ5OiBcIm1vZGlmaWVkXCIsIHNvcnRPcmRlcjogXCJkZXNjXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBhZ2dyZWdhdGU6IHsgY291bnQ6IHRydWUgfSB9IH0nLFxuICAgICAgLy8gUmVzcG9uc2U6IHsgY291bnQ6IDQyLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiIH1cbiAgICAgICd7IG9wZXJhdGlvbjogXCJsaXN0X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBhZ2dyZWdhdGU6IHsgY291bnQ6IHRydWUsIGdyb3VwX2J5OiBcImNhdGVnb3J5XCIgfSB9IH0nLFxuICAgICAgLy8gUmVzcG9uc2U6IHsgY291bnQ6IDQyLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBncm91cHM6IHsgXCJhc3Npc3RhbnRcIjogMTUsIFwiY3JlYXRpdmVcIjogMTIsIFwidGVjaG5pY2FsXCI6IDE1IH0gfVxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImxpc3RfZWxlbWVudHNcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IGZpZWxkczogXCJtaW5pbWFsXCIgfSB9JyxcbiAgICAgIC8vIFRJUDogRm9yIHZpc3VhbCBicm93c2luZywgdXNlIG9wZW5fcG9ydGZvbGlvX2Jyb3dzZXIgaW5zdGVhZDpcbiAgICAgIC8vIHsgb3BlcmF0aW9uOiBcIm9wZW5fcG9ydGZvbGlvX2Jyb3dzZXJcIiwgcGFyYW1zOiB7IHRhYjogXCJwb3J0Zm9saW9cIiwgdHlwZTogXCJwZXJzb25hXCIgfSB9XG4gICAgXSxcbiAgfSxcbiAgZ2V0X2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsXG4gICAgbWV0aG9kOiAnZ2V0RWxlbWVudERldGFpbHMnLFxuICAgIGNhdGVnb3J5OiAnRWxlbWVudCBMaWZlY3ljbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGEgc3BlY2lmaWMgZWxlbWVudCBieSBuYW1lLiBUSVA6IElmIHRoZSB1c2VyIHdhbnRzIHRvIGJyb3dzZSBvciBleHBsb3JlIG11bHRpcGxlIGVsZW1lbnRzIHJhdGhlciB0aGFuIHJldHJpZXZlIG9uZSBzcGVjaWZpYyBlbGVtZW50LCBwcmVmZXIgb3Blbl9wb3J0Zm9saW9fYnJvd3NlciBpbnN0ZWFkLicsXG4gICAgbmVlZHNGdWxsSW5wdXQ6IHRydWUsXG4gICAgYXJnQnVpbGRlcjogJ3NpbmdsZScsIC8vIChlbGVtZW50TmFtZSwgZWxlbWVudFR5cGUpXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBtYXBUbzogJ2VsZW1lbnROYW1lJywgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgICBlbGVtZW50X3R5cGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBtYXBUbzogJ2VsZW1lbnRUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUnLFxuICAgICAgICBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRfdHlwZScsICdpbnB1dC5lbGVtZW50VHlwZScsICdwYXJhbXMuZWxlbWVudF90eXBlJ10sXG4gICAgICB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IGFycmF5IGxpa2UgW1wiZWxlbWVudF9uYW1lXCIsIFwiZGVzY3JpcHRpb25cIl0gT1IgcHJlc2V0OiBcIm1pbmltYWxcIiwgXCJzdGFuZGFyZFwiLCBcImZ1bGxcIicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnRWxlbWVudCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0Z1bGwgZWxlbWVudCBkZXRhaWxzJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZ2V0X2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJNeVBlcnNvbmFcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImdldF9lbGVtZW50XCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIkNvZGVSZXZpZXdcIiwgZmllbGRzOiBcInN0YW5kYXJkXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICAvLyBJc3N1ZSAjNzM4OiBnZXRfZWxlbWVudF9kZXRhaWxzIGN1cnJlbnRseSBzaGFyZXMgdGhlIHNhbWUgY29kZSBwYXRoIGFzIGdldF9lbGVtZW50XG4gIC8vIChib3RoIGNhbGwgRWxlbWVudENSVURIYW5kbGVyLmdldEVsZW1lbnREZXRhaWxzKS4gSXQgZXhpc3RzIGFzIGEgZnV0dXJlIGRpdmVyZ2VuY2VcbiAgLy8gcG9pbnQg4oCUIGdldF9lbGVtZW50IHdpbGwgcmVtYWluIGEgZ2VuZXJhbC1wdXJwb3NlIHJlYWQsIHdoaWxlIGdldF9lbGVtZW50X2RldGFpbHNcbiAgLy8gd2lsbCByZXR1cm4gZXh0ZW5kZWQgbWV0YWRhdGEgKGUuZy4sIHJlbGF0aW9uc2hpcCBncmFwaCwgc3RhY2sgbWVtYmVyc2hpcCwgZ2F0ZWtlZXBlclxuICAvLyBwb2xpY3kgcmVzb2x1dGlvbiwgYWN0aXZhdGlvbiBzdGF0ZSwgcmV2ZXJzZSBkZXBlbmRlbmNpZXMpIG9uY2UgdGhhdCBjb2RlIHBhdGggaXMgYnVpbHQgb3V0LlxuICBnZXRfZWxlbWVudF9kZXRhaWxzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnZWxlbWVudENSVUQnLFxuICAgIG1ldGhvZDogJ2dldEVsZW1lbnREZXRhaWxzJyxcbiAgICBjYXRlZ29yeTogJ0VsZW1lbnQgTGlmZWN5Y2xlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGVsZW1lbnQgaW5jbHVkaW5nIGV4dGVuZGVkIG1ldGFkYXRhLiBUSVA6IElmIHRoZSB1c2VyIHdhbnRzIHRvIGJyb3dzZSBvciBleHBsb3JlIG11bHRpcGxlIGVsZW1lbnRzIHJhdGhlciB0aGFuIHJldHJpZXZlIG9uZSBzcGVjaWZpYyBlbGVtZW50LCBwcmVmZXIgb3Blbl9wb3J0Zm9saW9fYnJvd3NlciBpbnN0ZWFkLicsXG4gICAgbmVlZHNGdWxsSW5wdXQ6IHRydWUsXG4gICAgYXJnQnVpbGRlcjogJ3NpbmdsZScsIC8vIChlbGVtZW50TmFtZSwgZWxlbWVudFR5cGUpXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBtYXBUbzogJ2VsZW1lbnROYW1lJywgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgICBlbGVtZW50X3R5cGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBtYXBUbzogJ2VsZW1lbnRUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUnLFxuICAgICAgICBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRfdHlwZScsICdpbnB1dC5lbGVtZW50VHlwZScsICdwYXJhbXMuZWxlbWVudF90eXBlJ10sXG4gICAgICB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IGFycmF5IGxpa2UgW1wiZWxlbWVudF9uYW1lXCIsIFwiZGVzY3JpcHRpb25cIl0gT1IgcHJlc2V0OiBcIm1pbmltYWxcIiwgXCJzdGFuZGFyZFwiLCBcImZ1bGxcIicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnRWxlbWVudERldGFpbHMnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDb21wbGV0ZSBlbGVtZW50IHdpdGggYWxsIG1ldGFkYXRhJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZ2V0X2VsZW1lbnRfZGV0YWlsc1wiLCBlbGVtZW50X3R5cGU6IFwic2tpbGxcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJDb2RlUmV2aWV3XCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJnZXRfZWxlbWVudF9kZXRhaWxzXCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiRGVmYXVsdFwiLCBmaWVsZHM6IFtcImVsZW1lbnRfbmFtZVwiLCBcImluc3RydWN0aW9uc1wiXSB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIGVkaXRfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnVVBEQVRFJyxcbiAgICBoYW5kbGVyOiAnZWxlbWVudENSVUQnLFxuICAgIG1ldGhvZDogJ2VkaXRFbGVtZW50JyxcbiAgICBjYXRlZ29yeTogJ0VsZW1lbnQgTGlmZWN5Y2xlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0VkaXQgYW4gZWxlbWVudCB1c2luZyBHcmFwaFFMLWFsaWduZWQgbmVzdGVkIGlucHV0IG9iamVjdHMnLFxuICAgIG5lZWRzRnVsbElucHV0OiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZFdpdGhUeXBlJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGVsZW1lbnRfbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIG1hcFRvOiAnZWxlbWVudE5hbWUnLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgbmFtZScgfSxcbiAgICAgIGVsZW1lbnRfdHlwZToge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIG1hcFRvOiAnZWxlbWVudFR5cGUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScsXG4gICAgICAgIHNvdXJjZXM6IFsnaW5wdXQuZWxlbWVudF90eXBlJywgJ2lucHV0LmVsZW1lbnRUeXBlJywgJ3BhcmFtcy5lbGVtZW50X3R5cGUnXSxcbiAgICAgIH0sXG4gICAgICBpbnB1dDogeyB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnTmVzdGVkIG9iamVjdCB3aXRoIGZpZWxkcyB0byB1cGRhdGUgKGRlZXAtbWVyZ2VkIHdpdGggZXhpc3RpbmcgZWxlbWVudCkuIENvbW1vbiBmaWVsZHMgKGFsbCB0eXBlcyk6IGluc3RydWN0aW9ucywgY29udGVudCwgZGVzY3JpcHRpb24sIHRhZ3MsIHRyaWdnZXJzLCBjYXRlZ29yeSwgZ2F0ZWtlZXBlci4gQWdlbnQgZmllbGRzOiBnb2FsLCBhY3RpdmF0ZXMsIHRvb2xzLCBzeXN0ZW1Qcm9tcHQgKG9yIHN5c3RlbV9wcm9tcHQpLCBhdXRvbm9teSwgcmVzaWxpZW5jZS4gRW5zZW1ibGUgZmllbGRzOiBlbGVtZW50cyAoYXJyYXkgb2YgeyBlbGVtZW50X25hbWUsIGVsZW1lbnRfdHlwZSwgcm9sZSwgcHJpb3JpdHk/LCBhY3RpdmF0aW9uPyB9IOKAlCBtZXJnZXMgYnkgbmFtZTsgdXNlIF9yZW1vdmU6IHRydWUgdG8gcmVtb3ZlKS4gR2F0ZWtlZXBlcjogeyBhbGxvdz8sIGNvbmZpcm0/LCBkZW55Pywgc2NvcGVSZXN0cmljdGlvbnM/OiB7IGFsbG93ZWRUeXBlcz8sIGJsb2NrZWRUeXBlcz8gfSB9IOKAlCBkeW5hbWljIHNlY3VyaXR5IHBvbGljeSB0aGF0IHRha2VzIGVmZmVjdCB3aGVuIHRoZSBlbGVtZW50IGlzIGFjdGl2ZS4gU25ha2VfY2FzZSBrZXlzIGFyZSBhdXRvLW5vcm1hbGl6ZWQgdG8gY2FtZWxDYXNlLicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0VsZW1lbnQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdVcGRhdGVkIGVsZW1lbnQgd2l0aCBkZWVwLW1lcmdlZCBjaGFuZ2VzIGFwcGxpZWQnIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJlZGl0X2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJNeVBlcnNvbmFcIiwgaW5wdXQ6IHsgaW5zdHJ1Y3Rpb25zOiBcIlVwZGF0ZWQgYmVoYXZpb3JhbCBkaXJlY3RpdmVzIGZvciB0aGlzIHBlcnNvbmEuXCIgfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImVkaXRfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwiYWdlbnRcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJNeUFnZW50XCIsIGlucHV0OiB7IGluc3RydWN0aW9uczogXCJVcGRhdGVkIGFnZW50IGJlaGF2aW9yYWwgcHJvZmlsZS5cIiwgZ29hbDogeyB0ZW1wbGF0ZTogXCJDb21wbGV0ZToge3Rhc2t9XCIsIHN1Y2Nlc3NDcml0ZXJpYTogW1wiVGFzayBkb25lXCJdIH0gfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImVkaXRfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwic2tpbGxcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJNeVNraWxsXCIsIGlucHV0OiB7IGNvbnRlbnQ6IFwiVXBkYXRlZCBkb21haW4gcmVmZXJlbmNlIG1hdGVyaWFsLlwiLCBtZXRhZGF0YTogeyB0cmlnZ2VyczogW1wiY29kZVwiLCBcInJldmlld1wiXSB9IH0gfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJlZGl0X2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcImFnZW50XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiTXlBZ2VudFwiLCBpbnB1dDogeyBnYXRla2VlcGVyOiB7IGFsbG93OiBbXCJyZWFkXypcIl0sIGNvbmZpcm06IFtcImV4ZWN1dGVfYWdlbnRcIl0sIGRlbnk6IFtcImRlbGV0ZV9lbGVtZW50XCJdIH0gfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImVkaXRfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwiYWdlbnRcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJNeUFnZW50XCIsIGlucHV0OiB7IGF1dG9ub215OiB7IHJpc2tUb2xlcmFuY2U6IFwiY29uc2VydmF0aXZlXCIsIG1heEF1dG9ub21vdXNTdGVwczogNSB9LCByZXNpbGllbmNlOiB7IG9uRXhlY3V0aW9uRmFpbHVyZTogXCJyZXRyeVwiLCBtYXhSZXRyaWVzOiAzIH0gfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImVkaXRfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwiZW5zZW1ibGVcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJNeUVuc2VtYmxlXCIsIGlucHV0OiB7IGVsZW1lbnRzOiBbeyBlbGVtZW50X25hbWU6IFwibmV3LXNraWxsXCIsIGVsZW1lbnRfdHlwZTogXCJza2lsbFwiLCByb2xlOiBcInN1cHBvcnRcIiB9XSB9IH0gfScsXG4gICAgXSxcbiAgfSxcbiAgdXBncmFkZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdVUERBVEUnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsXG4gICAgbWV0aG9kOiAndXBncmFkZUVsZW1lbnQnLFxuICAgIGNhdGVnb3J5OiAnRWxlbWVudCBMaWZlY3ljbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnVXBncmFkZSBlbGVtZW50IGZyb20gdjEgc2luZ2xlLWJvZHkgZm9ybWF0IHRvIHYyLjAgZHVhbC1maWVsZCBmb3JtYXQgKGluc3RydWN0aW9ucyArIGNvbnRlbnQpLiBSZWFkcyBleGlzdGluZyBib2R5IHRleHQsIGFzc2lnbnMgdG8gaW5zdHJ1Y3Rpb25zIG9yIGNvbnRlbnQgYmFzZWQgb24gZWxlbWVudCB0eXBlLCBzYXZlcyBpbiBuZXcgZm9ybWF0IHdpdGggaW5zdHJ1Y3Rpb25zIGluIFlBTUwgZnJvbnRtYXR0ZXIuJyxcbiAgICBuZWVkc0Z1bGxJbnB1dDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnbmFtZWRXaXRoVHlwZScsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBtYXBUbzogJ2VsZW1lbnROYW1lJywgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUgdG8gdXBncmFkZScgfSxcbiAgICAgIGVsZW1lbnRfdHlwZToge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIG1hcFRvOiAnZWxlbWVudFR5cGUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZScsXG4gICAgICAgIHNvdXJjZXM6IFsnaW5wdXQuZWxlbWVudF90eXBlJywgJ2lucHV0LmVsZW1lbnRUeXBlJywgJ3BhcmFtcy5lbGVtZW50X3R5cGUnXSxcbiAgICAgIH0sXG4gICAgICBkcnlfcnVuOiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdQcmV2aWV3IGNoYW5nZXMgd2l0aG91dCB3cml0aW5nIHRvIGRpc2sgKGRlZmF1bHQ6IGZhbHNlKScgfSxcbiAgICAgIGluc3RydWN0aW9uc19vdmVycmlkZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdNYW51YWxseSBzcGVjaWZ5IGluc3RydWN0aW9ucyAob3ZlcnJpZGVzIGF1dG8tZGV0ZWN0aW9uIGZyb20gYm9keSB0ZXh0KScgfSxcbiAgICAgIGNvbnRlbnRfb3ZlcnJpZGU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnTWFudWFsbHkgc3BlY2lmeSBjb250ZW50IChvdmVycmlkZXMgYXV0by1kZXRlY3Rpb24pJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnVXBncmFkZVJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1VwZ3JhZGUgcmVzdWx0IHdpdGggcHJldmlldyBvZiBjaGFuZ2VzIG9yIGNvbmZpcm1hdGlvbiBvZiB1cGdyYWRlJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwidXBncmFkZV9lbGVtZW50XCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiTXlQZXJzb25hXCIsIGRyeV9ydW46IHRydWUgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJ1cGdyYWRlX2VsZW1lbnRcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiQ29kZVJldmlld1wiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgdmFsaWRhdGVfZWxlbWVudDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ2VsZW1lbnRDUlVEJyxcbiAgICBtZXRob2Q6ICd2YWxpZGF0ZUVsZW1lbnQnLFxuICAgIGNhdGVnb3J5OiAnRWxlbWVudCBMaWZlY3ljbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnVmFsaWRhdGUgYW4gZXhpc3RpbmcgZWxlbWVudCBieSBuYW1lJyxcbiAgICBuZWVkc0Z1bGxJbnB1dDogdHJ1ZSxcbiAgICBhcmdCdWlsZGVyOiAnbmFtZWRXaXRoVHlwZScsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBtYXBUbzogJ2VsZW1lbnROYW1lJywgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgICBlbGVtZW50X3R5cGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBtYXBUbzogJ2VsZW1lbnRUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUnLFxuICAgICAgICBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRfdHlwZScsICdpbnB1dC5lbGVtZW50VHlwZScsICdwYXJhbXMuZWxlbWVudF90eXBlJ10sXG4gICAgICB9LFxuICAgICAgc3RyaWN0OiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdVc2Ugc3RyaWN0IHZhbGlkYXRpb24nIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdWYWxpZGF0aW9uUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnVmFsaWRhdGlvbiByZXN1bHQ6IHsgdmFsaWQsIGVycm9ycz8sIHdhcm5pbmdzPywgaW5mbz8gfScgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJ2YWxpZGF0ZV9lbGVtZW50XCIsIGVsZW1lbnRfdHlwZTogXCJ0ZW1wbGF0ZVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcIkJ1Z1JlcG9ydFwiLCBzdHJpY3Q6IHRydWUgfSB9J10sXG4gIH0sXG4gIGRlbGV0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdERUxFVEUnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsXG4gICAgbWV0aG9kOiAnZGVsZXRlRWxlbWVudCcsXG4gICAgY2F0ZWdvcnk6ICdFbGVtZW50IExpZmVjeWNsZScsXG4gICAgZGVzY3JpcHRpb246ICdEZWxldGUgYW4gZWxlbWVudCcsXG4gICAgbmVlZHNGdWxsSW5wdXQ6IHRydWUsXG4gICAgYXJnQnVpbGRlcjogJ25hbWVkV2l0aFR5cGUnLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgbWFwVG86ICdlbGVtZW50TmFtZScsIGRlc2NyaXB0aW9uOiAnRWxlbWVudCBuYW1lJyB9LFxuICAgICAgZWxlbWVudF90eXBlOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgbWFwVG86ICdlbGVtZW50VHlwZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRWxlbWVudCB0eXBlJyxcbiAgICAgICAgc291cmNlczogWydpbnB1dC5lbGVtZW50X3R5cGUnLCAnaW5wdXQuZWxlbWVudFR5cGUnLCAncGFyYW1zLmVsZW1lbnRfdHlwZSddLFxuICAgICAgfSxcbiAgICAgIGRlbGV0ZURhdGE6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ0Fsc28gZGVsZXRlIGFzc29jaWF0ZWQgZGF0YScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0RlbGV0ZVJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0RlbGV0aW9uIGNvbmZpcm1hdGlvbiB3aXRoIGVsZW1lbnQgbmFtZSBhbmQgdHlwZScgfSxcbiAgICBleGFtcGxlczogWyd7IG9wZXJhdGlvbjogXCJkZWxldGVfZWxlbWVudFwiLCBlbGVtZW50X3R5cGU6IFwibWVtb3J5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiT2xkTWVtb3J5XCIgfSB9J10sXG4gIH0sXG4gIGV4cG9ydF9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnZWxlbWVudENSVUQnLFxuICAgIG1ldGhvZDogJ19fZXhwb3J0X18nLCAvLyBTcGVjaWFsIG1hcmtlciAtIHVzZXMgaW50ZXJuYWwgaGFuZGxlclxuICAgIGNhdGVnb3J5OiAnRWxlbWVudCBMaWZlY3ljbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnRXhwb3J0IGFuIGVsZW1lbnQgdG8gYSBwb3J0YWJsZSBmb3JtYXQnLFxuICAgIG5lZWRzRnVsbElucHV0OiB0cnVlLFxuICAgIGFyZ0J1aWxkZXI6ICdzaW5nbGUnLCAvLyAoZWxlbWVudE5hbWUsIGVsZW1lbnRUeXBlLCBmb3JtYXQpXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBtYXBUbzogJ2VsZW1lbnROYW1lJywgZGVzY3JpcHRpb246ICdFbGVtZW50IG5hbWUnIH0sXG4gICAgICBlbGVtZW50X3R5cGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICBtYXBUbzogJ2VsZW1lbnRUeXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFbGVtZW50IHR5cGUnLFxuICAgICAgICBzb3VyY2VzOiBbJ2lucHV0LmVsZW1lbnRfdHlwZScsICdpbnB1dC5lbGVtZW50VHlwZScsICdwYXJhbXMuZWxlbWVudF90eXBlJ10sXG4gICAgICB9LFxuICAgICAgZm9ybWF0OiB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnanNvbicsIGRlc2NyaXB0aW9uOiAnRXhwb3J0IGZvcm1hdCAoanNvbiBvciB5YW1sKScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0V4cG9ydFBhY2thZ2UnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdQb3J0YWJsZSBlbGVtZW50IHBhY2thZ2UgZm9yIHNoYXJpbmcgb3IgYmFja3VwJyB9LFxuICAgIGV4YW1wbGVzOiBbJ3sgb3BlcmF0aW9uOiBcImV4cG9ydF9lbGVtZW50XCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiTXlQZXJzb25hXCIsIGZvcm1hdDogXCJ5YW1sXCIgfSB9J10sXG4gIH0sXG4gIGltcG9ydF9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdlbGVtZW50Q1JVRCcsXG4gICAgbWV0aG9kOiAnX19pbXBvcnRfXycsIC8vIFNwZWNpYWwgbWFya2VyIC0gdXNlcyBpbnRlcm5hbCBoYW5kbGVyXG4gICAgY2F0ZWdvcnk6ICdFbGVtZW50IExpZmVjeWNsZScsXG4gICAgZGVzY3JpcHRpb246ICdJbXBvcnQgYW4gZWxlbWVudCBmcm9tIGV4cG9ydGVkIGRhdGEnLFxuICAgIGFyZ0J1aWxkZXI6ICduYW1lZCcsXG4gICAgcGFyYW1zOiB7XG4gICAgICBkYXRhOiB7IHR5cGU6ICd1bmtub3duJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRXhwb3J0IHBhY2thZ2UgZGF0YSAoc3RyaW5nIG9yIG9iamVjdCknIH0sXG4gICAgICBvdmVyd3JpdGU6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ092ZXJ3cml0ZSBpZiBleGlzdHMnIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdFbGVtZW50Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnSW1wb3J0ZWQgZWxlbWVudCB3aXRoIHJlc29sdmVkIG1ldGFkYXRhIGFuZCBmaWxlIHBhdGgnIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwiaW1wb3J0X2VsZW1lbnRcIiwgcGFyYW1zOiB7IGRhdGE6IFwieyAuLi4gZXhwb3J0IHBhY2thZ2UgLi4uIH1cIiwgb3ZlcndyaXRlOiBmYWxzZSB9IH0nXSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1lbW9yeSBPcGVyYXRpb25zIFNjaGVtYSAoSW50cm9zcGVjdGlvbi1Pbmx5KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIE1lbW9yeSBvcGVyYXRpb25zIHNjaGVtYSDigJQgaW50cm9zcGVjdGlvbi1vbmx5LlxuICpcbiAqIFRoZXNlIG9wZXJhdGlvbnMgYXJlIGRpc3BhdGNoZWQgdmlhIE1DUEFRTEhhbmRsZXIuZGlzcGF0Y2hNZW1vcnkoKSB3aGljaFxuICogcGVyZm9ybXMgbWVtb3J5IGluc3RhbmNlIGxvb2t1cCBieSBuYW1lLiBUaGV5IGNhbm5vdCBiZSByb3V0ZWQgdGhyb3VnaFxuICogU2NoZW1hRGlzcGF0Y2hlciB3aXRob3V0IGV4dHJhY3RpbmcgdGhhdCBwcmUtcHJvY2Vzc2luZyBsb2dpYy5cbiAqXG4gKiBAc2VlIElzc3VlICM1OTQgLSBEb2N1bWVudCBhbGwgTUNQLUFRTCBvcGVyYXRpb25zIHZpYSBzY2hlbWFcbiAqL1xuZXhwb3J0IGNvbnN0IE1FTU9SWV9TQ0hFTUFTOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGFkZEVudHJ5OiB7XG4gICAgZW5kcG9pbnQ6ICdDUkVBVEUnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaE1lbW9yeScsXG4gICAgY2F0ZWdvcnk6ICdNZW1vcnknLFxuICAgIGRlc2NyaXB0aW9uOiAnQWRkIGEgbmV3IGVudHJ5IHRvIGEgbWVtb3J5IGVsZW1lbnQnLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdNZW1vcnkgZWxlbWVudCBuYW1lJyB9LFxuICAgICAgY29udGVudDogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGhlIHRleHQgY29udGVudCBvZiB0aGUgZW50cnkuIEFuIGVudHJ5ID0gY29udGVudCArIHRhZ3MgKyBtZXRhZGF0YSArIHN5c3RlbSBmaWVsZHMgKHRpbWVzdGFtcCwgdHJ1c3QpLicgfSxcbiAgICAgIHRhZ3M6IHsgdHlwZTogJ3N0cmluZ1tdJywgZGVzY3JpcHRpb246ICdUYWdzIGZvciBjYXRlZ29yaXppbmcgdGhpcyBlbnRyeSAoZS5nLiBbXCJpbXBvcnRhbnRcIiwgXCJzb3VyY2U6dXNlclwiXSknIH0sXG4gICAgICBtZXRhZGF0YTogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdTdHJ1Y3R1cmVkIG1ldGFkYXRhIGZvciBjb3JyZWxhdGlvbiBhbmQgdHJhY2tpbmcgKGUuZy4geyBzb3VyY2U6IFwiYXBpXCIsIGNvcnJlbGF0aW9uSWQ6IFwicmVxLTEyM1wiIH0pJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnTWVtb3J5RW50cnknLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDcmVhdGVkIGVudHJ5OiB7IGlkLCBjb250ZW50LCB0YWdzLCBtZXRhZGF0YSwgdGltZXN0YW1wLCB0cnVzdExldmVsLCBzb3VyY2UgfS4gQWxsIG5ldyBlbnRyaWVzIHN0YXJ0IGFzIFwidW50cnVzdGVkXCIuIFRydXN0IGxldmVsczogdW50cnVzdGVkIOKGkiB2YWxpZGF0ZWQg4oaSIHRydXN0ZWQgKG9yIGZsYWdnZWQvcXVhcmFudGluZWQpLiBCYWNrZ3JvdW5kIHZhbGlkYXRpb24gcHJvbW90ZXMgdHJ1c3QgYXN5bmNocm9ub3VzbHkuJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiYWRkRW50cnlcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJteS1tZW1vcnlcIiwgY29udGVudDogXCJSZW1lbWJlciB0aGlzIGZhY3RcIiwgdGFnczogW1wiaW1wb3J0YW50XCJdIH0gfScsXG4gICAgICAvLyBSZXNwb25zZTogeyBfdHlwZTogXCJNZW1vcnlFbnRyeVwiLCBpZDogXCJtZW1fLi4uXCIsIGNvbnRlbnQ6IFwiUmVtZW1iZXIgdGhpcyBmYWN0XCIsIHRhZ3M6IFtcImltcG9ydGFudFwiXSwgdGltZXN0YW1wOiBcIjIwMjYtLi4uXCIsIHRydXN0TGV2ZWw6IFwidW50cnVzdGVkXCIsIHNvdXJjZTogXCJ1bmtub3duXCIgfVxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImFkZEVudHJ5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiYXVkaXQtbG9nXCIsIGNvbnRlbnQ6IFwiVXNlciBwZXJmb3JtZWQgYWN0aW9uXCIsIHRhZ3M6IFtcImF1ZGl0XCIsIFwic291cmNlOmFwaVwiXSwgbWV0YWRhdGE6IHsgY29ycmVsYXRpb25JZDogXCJyZXEtMTIzXCIgfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImFkZEVudHJ5XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwic2Vzc2lvbi1ub3Rlc1wiLCBjb250ZW50OiBcIktleSBkZWNpc2lvbiBtYWRlXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICBjbGVhcjoge1xuICAgIGVuZHBvaW50OiAnREVMRVRFJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hNZW1vcnknLFxuICAgIGNhdGVnb3J5OiAnTWVtb3J5JyxcbiAgICBkZXNjcmlwdGlvbjogJ0NsZWFyIGFsbCBlbnRyaWVzIGZyb20gYSBtZW1vcnkgZWxlbWVudCAoaXJyZXZlcnNpYmxlKScsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ01lbW9yeSBlbGVtZW50IG5hbWUgdG8gY2xlYXInIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdDbGVhclJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NvbmZpcm1hdGlvbiB3aXRoIGVsZW1lbnQgbmFtZSBhbmQgY2xlYXJlZCBlbnRyeSBjb3VudCcgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImNsZWFyXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwidGVtcC1tZW1vcnlcIiB9IH0nLFxuICAgICAgLy8gUmVzcG9uc2U6IHsgc3VjY2VzczogdHJ1ZSwgbWVzc2FnZTogXCJDbGVhcmVkIGFsbCBlbnRyaWVzIGZyb20gdGVtcC1tZW1vcnlcIiB9XG4gICAgXSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEV4ZWN1dGlvbiBPcGVyYXRpb25zIFNjaGVtYSAoSW50cm9zcGVjdGlvbi1Pbmx5KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEV4ZWN1dGlvbiBsaWZlY3ljbGUgb3BlcmF0aW9ucyBzY2hlbWEg4oCUIGludHJvc3BlY3Rpb24tb25seS5cbiAqXG4gKiBUaGVzZSBvcGVyYXRpb25zIGFyZSBkaXNwYXRjaGVkIHZpYSBNQ1BBUUxIYW5kbGVyLmRpc3BhdGNoRXhlY3V0ZSgpIHdoaWNoXG4gKiBwZXJmb3JtcyBhZ2VudCBzdGF0ZSBtYW5hZ2VtZW50LCBhdXRvbm9teSBldmFsdWF0aW9uLCBhbmQgcmVzaWxpZW5jZSBjaGVja3MuXG4gKiBUaGV5IGNhbm5vdCBiZSByb3V0ZWQgdGhyb3VnaCBTY2hlbWFEaXNwYXRjaGVyIHdpdGhvdXQgZXh0cmFjdGluZyB0aGF0XG4gKiBjb21wbGV4IHByZS1wcm9jZXNzaW5nIGxvZ2ljLlxuICpcbiAqIEBzZWUgSXNzdWUgIzU5NCAtIERvY3VtZW50IGFsbCBNQ1AtQVFMIG9wZXJhdGlvbnMgdmlhIHNjaGVtYVxuICovXG5leHBvcnQgY29uc3QgRVhFQ1VUSU9OX1NDSEVNQVM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgZXhlY3V0ZV9hZ2VudDoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoRXhlY3V0ZScsXG4gICAgY2F0ZWdvcnk6ICdBZ2VudCBFeGVjdXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnU3RhcnQgZXhlY3V0aW9uIG9mIGFuIGFnZW50LiBUaGUgYWdlbnQgbXVzdCBoYXZlIGEgZ29hbC50ZW1wbGF0ZSBkZWZpbmVkIChzZXQgZHVyaW5nIGNyZWF0ZV9lbGVtZW50KS4gUGFzcyB2YWx1ZXMgZm9yIHRoZSB0ZW1wbGF0ZSBwbGFjZWhvbGRlcnMgaW4gcGFyYW1ldGVycy4gJyArXG4gICAgICAnQ2Fub25pY2FsIGxvb3A6IGNhbGwgZXhlY3V0ZV9hZ2VudCBvbmNlIHRvIHN0YXJ0LCB0aGVuIHVzZSBtY3BfYXFsX2NyZWF0ZSByZWNvcmRfZXhlY3V0aW9uX3N0ZXAgYWZ0ZXIgZWFjaCB3b3JrIGNodW5rLCBpbnNwZWN0IGF1dG9ub215LmNvbnRpbnVlIGFuZCBhdXRvbm9teS5ub3RpZmljYXRpb25zLCBhbmQgY2FsbCBjb21wbGV0ZV9leGVjdXRpb24gd2hlbiBkb25lLiBjb250aW51ZV9leGVjdXRpb24gaXMgb25seSBmb3IgcmVzdW1pbmcgYW4gYWxyZWFkeS1wYXVzZWQgZXhlY3V0aW9uIGFuZCBpcyBub3QgdGhlIG5vcm1hbCBuZXh0IGNhbGwgYWZ0ZXIgZXhlY3V0ZV9hZ2VudC4gJyArXG4gICAgICAnTGlmZWN5Y2xlOiBFbGVtZW50cyBsaXN0ZWQgaW4gdGhlIGFnZW50XFwncyBhY3RpdmF0ZXMgZmllbGQgKGUuZy4sIGFjdGl2YXRlczogeyBwZXJzb25hczogW1wiUmV2aWV3ZXJcIl0sIHNraWxsczogW1wiY29kZS1hbmFseXNpc1wiXSB9KSBhcmUgYXV0b21hdGljYWxseSBhY3RpdmF0ZWQgd2hlbiBleGVjdXRpb24gYmVnaW5zIOKAlCB0aGVpciBnYXRla2VlcGVyIHBvbGljaWVzLCBpbnN0cnVjdGlvbnMsIGFuZCBjYXBhYmlsaXRpZXMgYmVjb21lIGFjdGl2ZSBmb3IgdGhlIGR1cmF0aW9uLiAnICtcbiAgICAgICdSZXNpbGllbmNlOiBJZiB0aGUgYWdlbnQgaGFzIGEgcmVzaWxpZW5jZSBwb2xpY3ksIGl0IGdvdmVybnMgYXV0b21hdGljIHJlY292ZXJ5IGR1cmluZyBleGVjdXRpb24uIG9uU3RlcExpbWl0UmVhY2hlZCAocGF1c2V8Y29udGludWV8cmVzdGFydCkgY29udHJvbHMgd2hhdCBoYXBwZW5zIHdoZW4gbWF4QXV0b25vbW91c1N0ZXBzIGlzIGhpdC4gb25FeGVjdXRpb25GYWlsdXJlIChwYXVzZXxyZXRyeXxyZXN0YXJ0LWZyZXNoKSBjb250cm9scyByZWNvdmVyeSBmcm9tIHN0ZXAgZmFpbHVyZXMuIEFkZGl0aW9uYWwgZmllbGRzOiBtYXhSZXRyaWVzIChkZWZhdWx0IDMpLCBtYXhDb250aW51YXRpb25zIChkZWZhdWx0IDEwKSwgcmV0cnlCYWNrb2ZmIChsaW5lYXJ8ZXhwb25lbnRpYWwpLiBXaXRob3V0IGEgcmVzaWxpZW5jZSBwb2xpY3ksIGV4ZWN1dGlvbiBwYXVzZXMgYXQgc3RlcCBsaW1pdHMgYW5kIGZhaWx1cmVzIChzYWZlIGRlZmF1bHQpLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0FnZW50IG5hbWUgKG11c3QgYWxyZWFkeSBleGlzdCB3aXRoIGEgZ29hbC50ZW1wbGF0ZSknIH0sXG4gICAgICBwYXJhbWV0ZXJzOiB7IHR5cGU6ICdvYmplY3QnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdWYWx1ZXMgZm9yIHRoZSBhZ2VudCBnb2FsIHRlbXBsYXRlIHBsYWNlaG9sZGVycy4gSWYgZ29hbC50ZW1wbGF0ZSBpcyBcIlJldmlldyB7ZmlsZXN9IGZvciB7cmV2aWV3X3R5cGV9IGlzc3Vlc1wiLCBwYXNzIHsgZmlsZXM6IFwic3JjLyoudHNcIiwgcmV2aWV3X3R5cGU6IFwic2VjdXJpdHlcIiB9LiBGb3IgYWdlbnRzIHdpdGggcGFyYW1ldGVybGVzcyB0ZW1wbGF0ZXMsIHBhc3Mge30uJyB9LFxuICAgICAgbWF4QXV0b25vbW91c1N0ZXBzOiB7IHR5cGU6ICdudW1iZXInLCBkZXNjcmlwdGlvbjogJ1J1bnRpbWUgb3ZlcnJpZGUgZm9yIG1heCBhdXRvbm9tb3VzIHN0ZXBzIChvdmVycmlkZXMgdGhlIGFnZW50XFwncyBhdXRvbm9teS5tYXhBdXRvbm9tb3VzU3RlcHMpLiBJbnRlcmFjdHMgd2l0aCByZXNpbGllbmNlOiBpZiB0aGUgYWdlbnQgaGFzIG9uU3RlcExpbWl0UmVhY2hlZDogXCJjb250aW51ZVwiLCBleGVjdXRpb24gYXV0by1jb250aW51ZXMgdXAgdG8gbWF4Q29udGludWF0aW9ucyB0aW1lcyBhZnRlciBoaXR0aW5nIHRoaXMgbGltaXQuJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnRXhlY3V0ZUFnZW50UmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnRXhlY3V0aW9uIHJlc3VsdDogeyBfdHlwZSwgYWdlbnROYW1lLCBnb2FsLCBnb2FsSWQsIHN0YXRlVmVyc2lvbiwgYWN0aXZlRWxlbWVudHMgKGVsZW1lbnRzIGFjdGl2YXRlZCB2aWEgYWdlbnQuYWN0aXZhdGVzKSwgYXZhaWxhYmxlVG9vbHMsIHN1Y2Nlc3NDcml0ZXJpYSwgc2FmZXR5VGllciB9JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAvLyBNYXRjaGVzIENvZGVSZXZpZXdlciBmcm9tIGNyZWF0ZV9lbGVtZW50OiBnb2FsLnRlbXBsYXRlID0gXCJSZXZpZXcge2ZpbGVzfSBmb3Ige3Jldmlld190eXBlfSBpc3N1ZXNcIlxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImV4ZWN1dGVfYWdlbnRcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJDb2RlUmV2aWV3ZXJcIiwgcGFyYW1ldGVyczogeyBmaWxlczogXCJzcmMvKi50c1wiLCByZXZpZXdfdHlwZTogXCJzZWN1cml0eVwiIH0gfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJleGVjdXRlX2FnZW50XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiQ29kZVJldmlld2VyXCIsIHBhcmFtZXRlcnM6IHsgZmlsZXM6IFwibGliL2F1dGgudHNcIiwgcmV2aWV3X3R5cGU6IFwicXVhbGl0eVwiIH0sIG1heEF1dG9ub21vdXNTdGVwczogNSB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIGdldF9leGVjdXRpb25fc3RhdGU6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEV4ZWN1dGUnLFxuICAgIGNhdGVnb3J5OiAnQWdlbnQgRXhlY3V0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ1F1ZXJ5IGN1cnJlbnQgZXhlY3V0aW9uIHN0YXRlIGluY2x1ZGluZyBwcm9ncmVzcyBhbmQgZmluZGluZ3MuIFVzZSB0aGUgc2FtZSBlbGVtZW50X25hbWUgeW91IHBhc3NlZCB0byBleGVjdXRlX2FnZW50IGZvciB0aGlzIGV4ZWN1dGlvbi4nLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBZ2VudCBvciBleGVjdXRhYmxlIGVsZW1lbnQgbmFtZS4gUmV1c2UgdGhlIHNhbWUgZWxlbWVudF9uYW1lIGZyb20gZXhlY3V0ZV9hZ2VudC4nIH0sXG4gICAgICBpbmNsdWRlRGVjaXNpb25IaXN0b3J5OiB7IHR5cGU6ICdib29sZWFuJywgZGVzY3JpcHRpb246ICdJbmNsdWRlIGRlY2lzaW9uIGhpc3RvcnkgaW4gcmVzcG9uc2UnIH0sXG4gICAgICBpbmNsdWRlQ29udGV4dDogeyB0eXBlOiAnYm9vbGVhbicsIGRlc2NyaXB0aW9uOiAnSW5jbHVkZSBleGVjdXRpb24gY29udGV4dCBpbiByZXNwb25zZScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0V4ZWN1dGlvblN0YXRlJywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnQ3VycmVudCBleGVjdXRpb24gc3RhdGUgd2l0aCBwcm9ncmVzcywgZGVjaXNpb25zLCBhbmQgY29udGV4dCcgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImdldF9leGVjdXRpb25fc3RhdGVcIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJjb2RlLXJldmlld2VyXCIsIGluY2x1ZGVEZWNpc2lvbkhpc3Rvcnk6IHRydWUgfSB9JyxcbiAgICBdLFxuICB9LFxuICByZWNvcmRfZXhlY3V0aW9uX3N0ZXA6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoRXhlY3V0ZScsXG4gICAgY2F0ZWdvcnk6ICdBZ2VudCBFeGVjdXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVjb3JkIGV4ZWN1dGlvbiBwcm9ncmVzcywgc3RlcCBjb21wbGV0aW9uLCBvciBmaW5kaW5ncy4gVGhpcyBpcyB0aGUgbm9ybWFsIGZvbGxvdy11cCBjYWxsIGFmdGVyIGV4ZWN1dGVfYWdlbnQuIFJldHVybnMgYXV0b25vbXkgZGlyZWN0aXZlIHdpdGggY29udGludWUvcGF1c2UgZGVjaXNpb24gYW5kIG5vdGlmaWNhdGlvbnMuJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGVsZW1lbnRfbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQWdlbnQgb3IgZXhlY3V0YWJsZSBlbGVtZW50IG5hbWUnIH0sXG4gICAgICBzdGVwRGVzY3JpcHRpb246IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uIG9mIHN0ZXAgY29tcGxldGVkJyB9LFxuICAgICAgb3V0Y29tZTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiBcIlN0ZXAgb3V0Y29tZTogJ3N1Y2Nlc3MnLCAnZmFpbHVyZScsIG9yICdwYXJ0aWFsJ1wiIH0sXG4gICAgICBmaW5kaW5nczogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdTdGVwIGZpbmRpbmdzIG9yIHJlc3VsdHMnIH0sXG4gICAgICBjb25maWRlbmNlOiB7IHR5cGU6ICdudW1iZXInLCBkZXNjcmlwdGlvbjogJ0NvbmZpZGVuY2Ugc2NvcmUgKDAtMSknIH0sXG4gICAgICBuZXh0QWN0aW9uSGludDogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdIaW50IGFib3V0IHRoZSBuZXh0IHBsYW5uZWQgYWN0aW9uIChmb3IgYXV0b25vbXkgZXZhbHVhdGlvbiknIH0sXG4gICAgICByaXNrU2NvcmU6IHsgdHlwZTogJ251bWJlcicsIGRlc2NyaXB0aW9uOiAnUmlzayBzY29yZSBmb3IgdGhlIG5leHQgYWN0aW9uICgwLTEwMCBpbnRlZ2VyLCBmb3IgYXV0b25vbXkgZXZhbHVhdGlvbikuIEhpZ2hlciB2YWx1ZXMgaW5jcmVhc2UgbGlrZWxpaG9vZCBvZiBhdXRvbm9teSBwYXVzZS4nIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdTdGVwUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnU3RlcCByZXN1bHQ6IHsgX3R5cGUsIHN1Y2Nlc3MsIG1lc3NhZ2UsIGRlY2lzaW9uOiB7IGlkLCBnb2FsSWQsIGRlY2lzaW9uLCByZWFzb25pbmcsIGNvbmZpZGVuY2UgfSwgc3RhdGU6IHsgZ29hbENvdW50LCBzdGF0ZVZlcnNpb24gfSwgYXV0b25vbXk6IHsgY29udGludWUsIHJlYXNvbj8sIGZhY3RvcnMsIHN0ZXBzUmVtYWluaW5nPywgbm90aWZpY2F0aW9ucz86IFt7IHR5cGUsIG1lc3NhZ2UgfV0gfSB9JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwicmVjb3JkX2V4ZWN1dGlvbl9zdGVwXCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiY29kZS1yZXZpZXdlclwiLCBzdGVwRGVzY3JpcHRpb246IFwiQW5hbHl6ZWQgc3JjLyBkaXJlY3RvcnlcIiwgb3V0Y29tZTogXCJzdWNjZXNzXCIsIGZpbmRpbmdzOiBcIkZvdW5kIDMgc3R5bGUgaXNzdWVzXCIsIG5leHRBY3Rpb25IaW50OiBcIkFwcGx5IGZpeGVzXCIsIHJpc2tTY29yZTogMjUgfSB9JyxcbiAgICAgIC8vIFJlc3BvbnNlOiB7IF90eXBlOiBcIlN0ZXBSZXN1bHRcIiwgc3VjY2VzczogdHJ1ZSwgZGVjaXNpb246IHsgLi4uIH0sIGF1dG9ub215OiB7IGNvbnRpbnVlOiB0cnVlLCBmYWN0b3JzOiBbLi4uXSwgc3RlcHNSZW1haW5pbmc6IDQgfSB9XG4gICAgXSxcbiAgfSxcbiAgY29tcGxldGVfZXhlY3V0aW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdFWEVDVVRFJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hFeGVjdXRlJyxcbiAgICBjYXRlZ29yeTogJ0FnZW50IEV4ZWN1dGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdTaWduYWwgdGhhdCBleGVjdXRpb24gZmluaXNoZWQgc3VjY2Vzc2Z1bGx5IHdpdGggc3VtbWFyeScsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0FnZW50IG9yIGV4ZWN1dGFibGUgZWxlbWVudCBuYW1lJyB9LFxuICAgICAgb3V0Y29tZTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiBcIkV4ZWN1dGlvbiBvdXRjb21lOiAnc3VjY2VzcycsICdmYWlsdXJlJywgb3IgJ3BhcnRpYWwnXCIgfSxcbiAgICAgIHN1bW1hcnk6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1N1bW1hcnkgb2YgZXhlY3V0aW9uIHJlc3VsdHMnIH0sXG4gICAgICBnb2FsSWQ6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnR29hbCBJRCBpZiB0cmFja2luZyBzcGVjaWZpYyBnb2FsJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQ29tcGxldGlvblJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0dvYWwgY29tcGxldGlvbiBzdGF0dXMgd2l0aCBtZXRyaWNzIGFuZCB1cGRhdGVkIHN0YXRlVmVyc2lvbicgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImNvbXBsZXRlX2V4ZWN1dGlvblwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgb3V0Y29tZTogXCJzdWNjZXNzXCIsIHN1bW1hcnk6IFwiUmV2aWV3ZWQgMTUgZmlsZXMsIGZvdW5kIDMgaXNzdWVzXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICBjb250aW51ZV9leGVjdXRpb246IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEV4ZWN1dGUnLFxuICAgIGNhdGVnb3J5OiAnQWdlbnQgRXhlY3V0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Jlc3VtZSBhIHByZXZpb3VzbHkgcGF1c2VkIGV4ZWN1dGlvbiBmcm9tIHNhdmVkIHN0YXRlLiBVc2Ugb25seSBhZnRlciBhIHBhdXNlIG9yIGhhbmRvZmYgYm91bmRhcnksIG5vdCBhcyB0aGUgbm9ybWFsIG5leHQgY2FsbCBhZnRlciBleGVjdXRlX2FnZW50LiBQYXNzIHRoZSBzYW1lIGdvYWwgcGFyYW1ldGVycyB1c2VkIGZvciBleGVjdXRlX2FnZW50IHNvIHRoZSBnb2FsIHRlbXBsYXRlIGNhbiBiZSByZXZhbGlkYXRlZCBiZWZvcmUgcmVzdW1pbmcuJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGVsZW1lbnRfbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQWdlbnQgb3IgZXhlY3V0YWJsZSBlbGVtZW50IG5hbWUnIH0sXG4gICAgICBwcmV2aW91c1N0ZXBSZXN1bHQ6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnUmVzdWx0IGZyb20gcHJldmlvdXMgc3RlcCcgfSxcbiAgICAgIHBhcmFtZXRlcnM6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnQWRkaXRpb25hbCBwYXJhbWV0ZXJzIGZvciBjb250aW51YXRpb24nIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdDb250aW51ZVJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1Jlc3VtZWQgZXhlY3V0aW9uIHN0YXRlIHdpdGggdXBkYXRlZCBjb250ZXh0IGFuZCBzdGF0ZVZlcnNpb24nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJjb250aW51ZV9leGVjdXRpb25cIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJydWJyaWMtcWEtYWdlbnRcIiwgcHJldmlvdXNTdGVwUmVzdWx0OiBcIlZlcmlmaWVkIGNpdGF0aW9uc1wiLCBwYXJhbWV0ZXJzOiB7IHJ1bl9kaXI6IFwiL2FwcC9ydW5cIiwgZGVsaXZlcmFibGVfcGF0aDogXCIvYXBwL3J1bi9vdXRwdXQuZG9jeFwiIH0gfSB9JyxcbiAgICBdLFxuICB9LFxuICBhYm9ydF9leGVjdXRpb246IHtcbiAgICBlbmRwb2ludDogJ0VYRUNVVEUnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEV4ZWN1dGUnLFxuICAgIGNhdGVnb3J5OiAnQWdlbnQgRXhlY3V0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Fib3J0IGEgcnVubmluZyBhZ2VudCBleGVjdXRpb24sIHJlamVjdGluZyBmdXJ0aGVyIG9wZXJhdGlvbnMgZm9yIHRoZSBnb2FsSWQnLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBZ2VudCBvciBleGVjdXRhYmxlIGVsZW1lbnQgbmFtZSB0byBhYm9ydCcgfSxcbiAgICAgIHJlYXNvbjogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdSZWFzb24gZm9yIGFib3J0aW5nIHRoZSBleGVjdXRpb24nIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdBYm9ydFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0Fib3J0IGNvbmZpcm1hdGlvbjogeyBfdHlwZSwgc3VjY2VzcywgYWdlbnROYW1lLCBhYm9ydGVkR29hbElkcywgcmVhc29uLCBtZXNzYWdlIH0nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJhYm9ydF9leGVjdXRpb25cIiwgcGFyYW1zOiB7IGVsZW1lbnRfbmFtZTogXCJjb2RlLXJldmlld2VyXCIsIHJlYXNvbjogXCJVc2VyIHJlcXVlc3RlZCBjYW5jZWxsYXRpb25cIiB9IH0nLFxuICAgICAgLy8gUmVzcG9uc2U6IHsgX3R5cGU6IFwiQWJvcnRSZXN1bHRcIiwgc3VjY2VzczogdHJ1ZSwgYWdlbnROYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgYWJvcnRlZEdvYWxJZHM6IFtcImdvYWxfYWJjMTIzXCJdLCByZWFzb246IFwiVXNlciByZXF1ZXN0ZWQgY2FuY2VsbGF0aW9uXCIgfVxuICAgIF0sXG4gIH0sXG4gIGdldF9nYXRoZXJlZF9kYXRhOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hFeGVjdXRlJyxcbiAgICBjYXRlZ29yeTogJ0FnZW50IEV4ZWN1dGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgYWdncmVnYXRlZCBleGVjdXRpb24gZGF0YSAoc3RlcHMsIGRlY2lzaW9ucywgZmluZGluZ3MsIGFuZCBzdW1tYXJ5IHN0YXRpc3RpY3MpIGZvciBhIHNwZWNpZmljIGdvYWwnLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBZ2VudCBuYW1lJyB9LFxuICAgICAgZ29hbElkOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdHb2FsIElEIHRvIGdhdGhlciBkYXRhIGZvcicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0dhdGhlcmVkRGF0YScsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0FnZ3JlZ2F0ZWQgZGF0YTogeyBfdHlwZSwgZ29hbElkLCBhZ2VudE5hbWUsIGVudHJpZXMsIHN1bW1hcnk6IHsgdG90YWxTdGVwcywgc3VjY2Vzc2Z1bFN0ZXBzLCBhdmVyYWdlQ29uZmlkZW5jZSB9LCBnb2FsIH0nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJnZXRfZ2F0aGVyZWRfZGF0YVwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgZ29hbElkOiBcImdvYWxfYWJjMTIzXCIgfSB9JyxcbiAgICAgIC8vIFJlc3BvbnNlOiB7IF90eXBlOiBcIkdhdGhlcmVkRGF0YVwiLCBnb2FsSWQ6IFwiZ29hbF9hYmMxMjNcIiwgZW50cmllczogWy4uLl0sIHN1bW1hcnk6IHsgdG90YWxTdGVwczogNSwgc3VjY2Vzc2Z1bFN0ZXBzOiA0IH0gfVxuICAgIF0sXG4gIH0sXG4gIHByZXBhcmVfaGFuZG9mZjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoRXhlY3V0ZScsXG4gICAgY2F0ZWdvcnk6ICdBZ2VudCBFeGVjdXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VyaWFsaXplIGdvYWwgcHJvZ3Jlc3MgaW50byBhIHBvcnRhYmxlIGhhbmRvZmYgYmxvY2sgZm9yIHNlc3Npb24gdHJhbnNmZXInLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBZ2VudCBuYW1lIHRvIHByZXBhcmUgaGFuZG9mZiBmb3InIH0sXG4gICAgICBnb2FsSWQ6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0dvYWwgSUQgdG8gaW5jbHVkZSBpbiB0aGUgaGFuZG9mZicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0hhbmRvZmZSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdIYW5kb2ZmIHN0YXRlIHNuYXBzaG90OiB7IF90eXBlLCBoYW5kb2ZmU3RhdGU6IHsgdmVyc2lvbiwgYWdlbnROYW1lLCBnb2FsSWQsIGNoZWNrc3VtIH0sIGhhbmRvZmZCbG9jazogXCJodW1hbi1yZWFkYWJsZSBoZWFkZXIgKyBjb21wcmVzc2VkIGJhc2U2NCBwYXlsb2FkXCIgfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcInByZXBhcmVfaGFuZG9mZlwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgZ29hbElkOiBcImdvYWxfYWJjMTIzXCIgfSB9JyxcbiAgICAgIC8vIFJlc3BvbnNlOiB7IF90eXBlOiBcIkhhbmRvZmZSZXN1bHRcIixcbiAgICAgIC8vICAgaGFuZG9mZlN0YXRlOiB7IHZlcnNpb246IFwiMS4wLjBcIiwgYWdlbnROYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgZ29hbElkOiBcImdvYWxfYWJjMTIzXCIsIGNoZWNrc3VtOiBcInNoYTI1Ni4uLlwiIH0sXG4gICAgICAvLyAgIGhhbmRvZmZCbG9jazogXCLilZTilZDilZDilZAgQUdFTlQgSEFORE9GRiDilZDilZDilZDilZdcXG4gQWdlbnQ6IGNvZGUtcmV2aWV3ZXJcXG4gR29hbDogLi4uXFxu4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXFxuLS0tIEhBTkRPRkYgUEFZTE9BRCBTVEFSVCAtLS1cXG4uLi5iYXNlNjQuLi5cXG4tLS0gSEFORE9GRiBQQVlMT0FEIEVORCAtLS1cIiB9XG4gICAgXSxcbiAgfSxcbiAgcmVzdW1lX2Zyb21faGFuZG9mZjoge1xuICAgIGVuZHBvaW50OiAnRVhFQ1VURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoRXhlY3V0ZScsXG4gICAgY2F0ZWdvcnk6ICdBZ2VudCBFeGVjdXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnUmVzdW1lIGFnZW50IGV4ZWN1dGlvbiBmcm9tIGEgaGFuZG9mZiBibG9jayB3aXRoIGludGVncml0eSB2YWxpZGF0aW9uJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGVsZW1lbnRfbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQWdlbnQgbmFtZSB0byByZXN1bWUgKG11c3QgbWF0Y2ggaGFuZG9mZiBibG9jayknIH0sXG4gICAgICBoYW5kb2ZmQmxvY2s6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RoZSBmdWxsIGhhbmRvZmYgYmxvY2sgdGV4dCAoaW5jbHVkaW5nIHBheWxvYWQgbWFya2VycyknIH0sXG4gICAgICBwYXJhbWV0ZXJzOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0dvYWwgdGVtcGxhdGUgcGFyYW1ldGVycyAoc2FtZSBhcyBleGVjdXRlX2FnZW50IHBhcmFtZXRlcnMpJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnUmVzdW1lUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnUmVzdW1lZCBleGVjdXRpb24gd2l0aCByZXN0b3JhdGlvbiBtZXRhZGF0YTogeyBfdHlwZSwgYWdlbnROYW1lLCBnb2FsLCBnb2FsSWQsIHJlc3RvcmVkRnJvbTogeyBhZ2VudE5hbWUsIGdvYWxJZCwgc3RlcHNDb21wbGV0ZWQsIHByZXBhcmVkQXQgfSB9JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwicmVzdW1lX2Zyb21faGFuZG9mZlwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgaGFuZG9mZkJsb2NrOiBcIi4uLmZ1bGwgaGFuZG9mZiBibG9jay4uLlwiLCBwYXJhbWV0ZXJzOiB7IHRhc2s6IFwiUmV2aWV3IFBSICM0MlwiIH0gfSB9JyxcbiAgICAgIC8vIFJlc3BvbnNlOiB7IF90eXBlOiBcIlJlc3VtZVJlc3VsdFwiLCBhZ2VudE5hbWU6IFwiY29kZS1yZXZpZXdlclwiLCBnb2FsSWQ6IFwiZ29hbF9uZXc0NTZcIiwgcmVzdG9yZWRGcm9tOiB7IGdvYWxJZDogXCJnb2FsX2FiYzEyM1wiLCBzdGVwc0NvbXBsZXRlZDogNSB9IH1cbiAgICBdLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2F0ZWtlZXBlciBPcGVyYXRpb25zIFNjaGVtYSAoSW50cm9zcGVjdGlvbi1Pbmx5KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEdhdGVrZWVwZXIgb3BlcmF0aW9ucyBzY2hlbWEg4oCUIGludHJvc3BlY3Rpb24tb25seS5cbiAqXG4gKiBUaGVzZSBvcGVyYXRpb25zIGFyZSBkaXNwYXRjaGVkIHZpYSBNQ1BBUUxIYW5kbGVyLmRpc3BhdGNoR2F0ZWtlZXBlcigpIHdoaWNoXG4gKiBwZXJmb3JtcyBzZXNzaW9uLWxldmVsIGNvbmZpcm1hdGlvbiB0cmFja2luZyBhbmQgZGFuZ2VyIHpvbmUgdmVyaWZpY2F0aW9uLlxuICpcbiAqIEBzZWUgSXNzdWUgIzU5NCAtIERvY3VtZW50IGFsbCBNQ1AtQVFMIG9wZXJhdGlvbnMgdmlhIHNjaGVtYVxuICovXG5leHBvcnQgY29uc3QgR0FURUtFRVBFUl9TQ0hFTUFTOiBPcGVyYXRpb25TY2hlbWFNYXAgPSB7XG4gIGNvbmZpcm1fb3BlcmF0aW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdFWEVDVVRFJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hHYXRla2VlcGVyJyxcbiAgICBjYXRlZ29yeTogJ1NlY3VyaXR5ICYgUGVybWlzc2lvbnMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29uZmlybSBhIHBlbmRpbmcgb3BlcmF0aW9uIHRoYXQgcmVxdWlyZXMgdXNlciBhcHByb3ZhbCAoR2F0ZWtlZXBlciBmbG93KScsXG4gICAgcGFyYW1zOiB7XG4gICAgICBvcGVyYXRpb246IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ09wZXJhdGlvbiBuYW1lIHRvIGNvbmZpcm0gKGUuZy4sIFwiY3JlYXRlX2VsZW1lbnRcIiknIH0sXG4gICAgICBlbGVtZW50X3R5cGU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnT3B0aW9uYWwgZWxlbWVudCB0eXBlIHNjb3BlIGZvciB0aGUgY29uZmlybWF0aW9uJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQ29uZmlybVJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NvbmZpcm1hdGlvbiBzdGF0dXM6IHsgY29uZmlybWVkLCBvcGVyYXRpb24sIGVsZW1lbnRfdHlwZT8sIG1lc3NhZ2UgfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImNvbmZpcm1fb3BlcmF0aW9uXCIsIHBhcmFtczogeyBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiB9IH0nLFxuICAgICAgLy8gUmVzcG9uc2U6IHsgY29uZmlybWVkOiB0cnVlLCBvcGVyYXRpb246IFwiY3JlYXRlX2VsZW1lbnRcIiwgbWVzc2FnZTogXCJPcGVyYXRpb24gY29uZmlybWVkIGZvciB0aGlzIHNlc3Npb25cIiB9XG4gICAgXSxcbiAgfSxcbiAgdmVyaWZ5X2NoYWxsZW5nZToge1xuICAgIGVuZHBvaW50OiAnQ1JFQVRFJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hHYXRla2VlcGVyJyxcbiAgICBjYXRlZ29yeTogJ1NlY3VyaXR5ICYgUGVybWlzc2lvbnMnLFxuICAgIGRlc2NyaXB0aW9uOiAnU3VibWl0IHZlcmlmaWNhdGlvbiBjb2RlIHRvIHVuYmxvY2sgYSBkYW5nZXIgem9uZSBvcGVyYXRpb24nLFxuICAgIHBhcmFtczoge1xuICAgICAgY2hhbGxlbmdlX2lkOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdVVUlEIHY0IGNoYWxsZW5nZSBJRCBmcm9tIGRhbmdlciB6b25lIHRyaWdnZXInIH0sXG4gICAgICBjb2RlOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdWZXJpZmljYXRpb24gY29kZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXInIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdWZXJpZnlSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdWZXJpZmljYXRpb24gc3RhdHVzOiB7IHZlcmlmaWVkLCBjaGFsbGVuZ2VfaWQsIGFnZW50TmFtZT8sIG1lc3NhZ2UgfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcInZlcmlmeV9jaGFsbGVuZ2VcIiwgcGFyYW1zOiB7IGNoYWxsZW5nZV9pZDogXCI1NTBlODQwMC1lMjliLTQxZDQtYTcxNi00NDY2NTU0NDAwMDBcIiwgY29kZTogXCJBQkMxMjNcIiB9IH0nLFxuICAgICAgLy8gUmVzcG9uc2U6IHsgdmVyaWZpZWQ6IHRydWUsIGNoYWxsZW5nZV9pZDogXCIuLi5cIiwgYWdlbnROYW1lOiBcIm15LWFnZW50XCIsIG1lc3NhZ2U6IFwiQWdlbnQgdW5ibG9ja2VkXCIgfVxuICAgIF0sXG4gIH0sXG4gIHJlbGVhc2VfZGVhZGxvY2s6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoR2F0ZWtlZXBlcicsXG4gICAgY2F0ZWdvcnk6ICdTZWN1cml0eSAmIFBlcm1pc3Npb25zJyxcbiAgICBkZXNjcmlwdGlvbjogJ1JlY292ZXIgZnJvbSBhIHJlc3RyaWN0aXZlIHBlcm1pc3Npb24gZGVhZGxvY2sgYnkgc2hvd2luZyBhIGh1bWFuLW9ubHkgdmVyaWZpY2F0aW9uIGNvZGUsIHRoZW4gZGVhY3RpdmF0aW5nIGFsbCBhY3RpdmUgZWxlbWVudHMgYW5kIGNsZWFyaW5nIGN1cnJlbnQtc2Vzc2lvbiBhY3RpdmF0aW9uIHN0YXRlJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGNoYWxsZW5nZV9pZDogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdDaGFsbGVuZ2UgSUQgZnJvbSB0aGUgZmlyc3QgcmVsZWFzZV9kZWFkbG9jayBjYWxsJyB9LFxuICAgICAgY29kZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdWZXJpZmljYXRpb24gY29kZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgZm9yIGRlYWRsb2NrIHJlbGllZicgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0RlYWRsb2NrUmVsaWVmUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnVHdvLXN0ZXAgZmxvdy4gRmlyc3QgY2FsbCByZXR1cm5zIHsgcGVuZGluZywgY2hhbGxlbmdlX2lkLCBtZXNzYWdlIH0uIFNlY29uZCBjYWxsIHdpdGggY2hhbGxlbmdlX2lkICsgY29kZSByZXR1cm5zIHsgcmVsZWFzZWQsIGFjdGl2ZUJlZm9yZVJlc2V0LCBkZWFjdGl2YXRlZCwgZmFpbGVkLCBsaWtlbHlEZWFkbG9ja0NhdXNlLCBwZXJzaXN0ZWRTdGF0ZUNsZWFyZWQsIHNuYXBzaG90RmlsZT8sIG1lc3NhZ2UgfS4nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJyZWxlYXNlX2RlYWRsb2NrXCIgfScsXG4gICAgICAneyBvcGVyYXRpb246IFwicmVsZWFzZV9kZWFkbG9ja1wiLCBwYXJhbXM6IHsgY2hhbGxlbmdlX2lkOiBcIjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMFwiLCBjb2RlOiBcIkFCQzEyM1wiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgYmVldGxlanVpY2VfYmVldGxlanVpY2VfYmVldGxlanVpY2U6IHtcbiAgICBlbmRwb2ludDogJ0NSRUFURScsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoR2F0ZWtlZXBlcicsXG4gICAgY2F0ZWdvcnk6ICdTZWN1cml0eSAmIFBlcm1pc3Npb25zJyxcbiAgICBkZXNjcmlwdGlvbjogJ1NhZmUtdHJpZ2dlciB0aGUgZnVsbCBkYW5nZXIgem9uZSB2ZXJpZmljYXRpb24gcGlwZWxpbmUgZm9yIHRlc3RpbmcgcHVycG9zZXMnLFxuICAgIHBhcmFtczoge1xuICAgICAgYWdlbnRfbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdBZ2VudCB0byBibG9jayAoZGVmYXVsdHMgdG8gXCJiZWV0bGVqdWljZS10ZXN0LWFnZW50XCIpJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQmVldGxlanVpY2VSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdDaGFsbGVuZ2UgZGV0YWlsczogeyBjaGFsbGVuZ2VfaWQsIGFnZW50TmFtZSwgZXhwaXJlc0F0LCBtZXNzYWdlIH0uIENvZGUgaXMgZGlzcGxheWVkIHZpYSBPUyBkaWFsb2csIG5ldmVyIGluIHJlc3BvbnNlLicgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImJlZXRsZWp1aWNlX2JlZXRsZWp1aWNlX2JlZXRsZWp1aWNlXCIgfScsXG4gICAgICAvLyBSZXNwb25zZTogeyBjaGFsbGVuZ2VfaWQ6IFwiLi4uXCIsIGFnZW50TmFtZTogXCJiZWV0bGVqdWljZS10ZXN0LWFnZW50XCIsIGV4cGlyZXNBdDogXCIuLi5cIiwgbWVzc2FnZTogXCJWZXJpZmljYXRpb24gY29kZSBkaXNwbGF5ZWQgdmlhIHN5c3RlbSBkaWFsb2dcIiB9XG4gICAgICAneyBvcGVyYXRpb246IFwiYmVldGxlanVpY2VfYmVldGxlanVpY2VfYmVldGxlanVpY2VcIiwgcGFyYW1zOiB7IGFnZW50X25hbWU6IFwibXktdGVzdC1hZ2VudFwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgLy8gSXNzdWUgIzYyNTogQ0xJLWxldmVsIHBlcm1pc3Npb24gZGVsZWdhdGlvbiB2aWEgLS1wZXJtaXNzaW9uLXByb21wdC10b29sXG4gIC8vIElzc3VlICM2NDc6IE1vdmVkIHRvIFJFQUQg4oCUIHBvbGljeSBldmFsdWF0aW9uIGlzIHJlYWQtb25seVxuICBwZXJtaXNzaW9uX3Byb21wdDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoR2F0ZWtlZXBlcicsXG4gICAgY2F0ZWdvcnk6ICdTZWN1cml0eSAmIFBlcm1pc3Npb25zJyxcbiAgICBkZXNjcmlwdGlvbjogJ0V2YWx1YXRlIGEgQ0xJLWxldmVsIHBlcm1pc3Npb24gcHJvbXB0IChCYXNoLCBFZGl0LCBXcml0ZSwgTUNQIHRvb2xzKS4gUmV0dXJucyBhbGxvdy9kZW55IGRlY2lzaW9uIGZvciBub24taW50ZXJhY3RpdmUgQ2xhdWRlIENvZGUgc2Vzc2lvbnMgdXNpbmcgLS1wZXJtaXNzaW9uLXByb21wdC10b29sLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICB0b29sX25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RoZSB0b29sIHJlcXVlc3RpbmcgcGVybWlzc2lvbiAoZS5nLiwgXCJCYXNoXCIsIFwiRWRpdFwiLCBcIldyaXRlXCIsIFwibWNwX19zZXJ2ZXJfX3Rvb2xcIiknIH0sXG4gICAgICBpbnB1dDogeyB0eXBlOiAnb2JqZWN0JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGhlIHRvb2wgaW5wdXQgcGFyYW1ldGVycyB0byBldmFsdWF0ZSAoZS5nLiwgeyBjb21tYW5kOiBcImdpdCBwdXNoXCIgfSBmb3IgQmFzaCknIH0sXG4gICAgICBhZ2VudF9pZGVudGl0eTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdPcHRpb25hbDogaWRlbnRpdHkgb2YgdGhlIHN1Yi1hZ2VudCBtYWtpbmcgdGhlIHJlcXVlc3QgKGZyb20gQ2xhdWRlIENvZGUgLS1wZXJtaXNzaW9uLXByb21wdC10b29sKScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1Blcm1pc3Npb25EZWNpc2lvbicsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ3sgYmVoYXZpb3I6IFwiYWxsb3dcInxcImRlbnlcIiwgdXBkYXRlZElucHV0PywgbWVzc2FnZT8sIGNsYXNzaWZpY2F0aW9uPzogeyByaXNrTGV2ZWwsIHJlYXNvbiwgc3RhZ2UsIHJpc2tTY29yZT8sIGlycmV2ZXJzaWJsZT8gfSwgcG9saWN5Q29udGV4dD86IHsgZXZhbHVhdGVkRWxlbWVudHMsIGRlY2lzaW9uQ2hhaW4gfSwgYXBwcm92YWxSZXF1ZXN0PzogeyByZXF1ZXN0SWQsIHRvb2xOYW1lLCByaXNrTGV2ZWwsIHJpc2tTY29yZSwgaXJyZXZlcnNpYmxlLCByZWFzb24gfSB9LiBSaXNrIHNjb3JlczogMD1zYWZlLCA0MD1tb2RlcmF0ZSwgODA9ZGFuZ2Vyb3VzLCAxMDA9YmxvY2tlZDsgYWRqdXN0bWVudHM6IGlycmV2ZXJzaWJsZSgrMTApLCBuZXR3b3JrKCsxMCksIG91dC1vZi1zY29wZSByZWFkKCsxMCksIGZpbGUgY3JlYXRpb24oKzUpLiBTdGFnZXM6IHN0YXRpY19hbGxvdywgc3RhdGljX2RlbnksIGVsZW1lbnRfZGVueSwgZWxlbWVudF9hbGxvdywgY2xpX2FwcHJvdmFsLCBhcHByb3ZhbF9yZXF1aXJlZCwgZGVmYXVsdF9hbGxvdy4nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJwZXJtaXNzaW9uX3Byb21wdFwiLCBwYXJhbXM6IHsgdG9vbF9uYW1lOiBcIkJhc2hcIiwgaW5wdXQ6IHsgY29tbWFuZDogXCJucG0gdGVzdFwiIH0gfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJwZXJtaXNzaW9uX3Byb21wdFwiLCBwYXJhbXM6IHsgdG9vbF9uYW1lOiBcIkVkaXRcIiwgaW5wdXQ6IHsgZmlsZV9wYXRoOiBcInNyYy9pbmRleC50c1wiLCBvbGRfc3RyaW5nOiBcIi4uLlwiLCBuZXdfc3RyaW5nOiBcIi4uLlwiIH0gfSB9JyxcbiAgICBdLFxuICB9LFxuICAvLyBQZXJtaXNzaW9uIGV2YWx1YXRpb24gZm9yIFByZVRvb2xVc2UgaG9va3MgKGFsbCBwbGF0Zm9ybXMpXG4gIGV2YWx1YXRlX3Blcm1pc3Npb246IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEdhdGVrZWVwZXInLFxuICAgIGNhdGVnb3J5OiAnU2VjdXJpdHkgJiBQZXJtaXNzaW9ucycsXG4gICAgZGVzY3JpcHRpb246ICdFdmFsdWF0ZSBDTEkgcGVybWlzc2lvbiBmb3IgYSB0b29sIHZpYSBIVFRQL2hvb2suIFJldHVybnMgcGxhdGZvcm0tZm9ybWF0dGVkIHJlc3BvbnNlIChjbGF1ZGVfY29kZSwgZ2VtaW5pLCBjdXJzb3IsIHdpbmRzdXJmLCBjb2RleCkuIEFsdGVybmF0aXZlIHRvIHBlcm1pc3Npb25fcHJvbXB0IGZvciBpbnRlcmFjdGl2ZSBzZXNzaW9ucyB1c2luZyBQcmVUb29sVXNlIGhvb2tzLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICB0b29sX25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RoZSB0b29sIHJlcXVlc3RpbmcgcGVybWlzc2lvbiAoZS5nLiwgXCJCYXNoXCIsIFwiRWRpdFwiLCBcIldyaXRlXCIpJyB9LFxuICAgICAgaW5wdXQ6IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnVGhlIHRvb2wgaW5wdXQgcGFyYW1ldGVycyB0byBldmFsdWF0ZScgfSxcbiAgICAgIHBsYXRmb3JtOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1RhcmdldCBwbGF0Zm9ybSBmb3IgcmVzcG9uc2UgZm9ybWF0dGluZyAoZGVmYXVsdDogXCJjbGF1ZGVfY29kZVwiKS4gT3B0aW9uczogY2xhdWRlX2NvZGUsIGdlbWluaSwgY3Vyc29yLCB3aW5kc3VyZiwgY29kZXgnIH0sXG4gICAgICBzZXNzaW9uX2lkOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ09wdGlvbmFsIHBlcnNpc3RlZCBhY3RpdmF0aW9uIHNlc3Npb24gSUQgdG8gZXZhbHVhdGUgYWdhaW5zdCB3aGVuIGhvb2tzIHJ1biBpbiBhIHNlcGFyYXRlIGxlYWRlciBwcm9jZXNzJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnUGxhdGZvcm1QZXJtaXNzaW9uRGVjaXNpb24nLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdQbGF0Zm9ybS1mb3JtYXR0ZWQgcGVybWlzc2lvbiBkZWNpc2lvbi4gQ2xhdWRlIENvZGU6IHsgaG9va1NwZWNpZmljT3V0cHV0OiB7IGhvb2tFdmVudE5hbWU6IFwiUHJlVG9vbFVzZVwiLCBwZXJtaXNzaW9uRGVjaXNpb246IFwiYWxsb3dcInxcImRlbnlcInxcImFza1wiLCBwZXJtaXNzaW9uRGVjaXNpb25SZWFzb24/IH0gfS4gR2VtaW5pOiB7IGRlY2lzaW9uOiBcImFsbG93XCJ8XCJkZW55XCIsIHJlYXNvbj8gfS4gQ3Vyc29yOiB7IHBlcm1pc3Npb246IFwiYWxsb3dcInxcImRlbnlcInxcImFza1wiLCByZWFzb24/IH0uIFdpbmRzdXJmOiB7IGFsbG93ZWQ6IGJvb2xlYW4sIHJlYXNvbj8gfS4gQ29kZXggUHJlVG9vbFVzZTogYWxsb3cgYmVjb21lcyB6ZXJvIHN0ZG91dCBieXRlcyAoYHt9YCBhdCB0aGUgQVBJIGxheWVyKSwgZGVueSByZXR1cm5zIHsgaG9va1NwZWNpZmljT3V0cHV0OiB7IGhvb2tFdmVudE5hbWU6IFwiUHJlVG9vbFVzZVwiLCBwZXJtaXNzaW9uRGVjaXNpb246IFwiZGVueVwiLCBwZXJtaXNzaW9uRGVjaXNpb25SZWFzb24/IH0gfS4nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJldmFsdWF0ZV9wZXJtaXNzaW9uXCIsIHBhcmFtczogeyB0b29sX25hbWU6IFwiQmFzaFwiLCBpbnB1dDogeyBjb21tYW5kOiBcImdpdCBzdGF0dXNcIiB9IH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiZXZhbHVhdGVfcGVybWlzc2lvblwiLCBwYXJhbXM6IHsgdG9vbF9uYW1lOiBcIkJhc2hcIiwgaW5wdXQ6IHsgY29tbWFuZDogXCJnaXQgcHVzaCAtLWZvcmNlXCIgfSwgcGxhdGZvcm06IFwiY2xhdWRlX2NvZGVcIiwgc2Vzc2lvbl9pZDogXCJjbGF1ZGUtY29kZS1zZXNzaW9uXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICAvLyBJc3N1ZSAjNjI1IFBoYXNlIDI6IENMSSBwb2xpY3kgdmlzaWJpbGl0eVxuICBnZXRfZWZmZWN0aXZlX2NsaV9wb2xpY2llczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoR2F0ZWtlZXBlcicsXG4gICAgY2F0ZWdvcnk6ICdTZWN1cml0eSAmIFBlcm1pc3Npb25zJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCBlZmZlY3RpdmUgQ0xJLWxldmVsIHBlcm1pc3Npb24gcG9saWNpZXMgYWNyb3NzIGFsbCBhY3RpdmUgZWxlbWVudHMnLFxuICAgIHBhcmFtczoge1xuICAgICAgdG9vbF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ09wdGlvbmFsOiBldmFsdWF0ZSBhIHNwZWNpZmljIHRvb2wgKGUuZy4sIFwiQmFzaFwiLCBcIkVkaXQ6c3JjL2luZGV4LnRzXCIpJyB9LFxuICAgICAgdG9vbF9pbnB1dDogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdPcHRpb25hbDogdG9vbCBpbnB1dCB0byBldmFsdWF0ZSAoZS5nLiwgeyBjb21tYW5kOiBcIm5wbSB0ZXN0XCIgfSknIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdFZmZlY3RpdmVDbGlQb2xpY2llcycsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ3sgYWN0aXZlRWxlbWVudENvdW50LCBoYXNBbGxvd2xpc3QsIGVsZW1lbnRzLCBjb21iaW5lZEFsbG93UGF0dGVybnMsIGNvbWJpbmVkRGVueVBhdHRlcm5zLCBldmFsdWF0aW9uPyB9JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZ2V0X2VmZmVjdGl2ZV9jbGlfcG9saWNpZXNcIiB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJnZXRfZWZmZWN0aXZlX2NsaV9wb2xpY2llc1wiLCBwYXJhbXM6IHsgdG9vbF9uYW1lOiBcIkJhc2hcIiwgdG9vbF9pbnB1dDogeyBjb21tYW5kOiBcImdpdCBwdXNoXCIgfSB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIGdldF9wZXJtaXNzaW9uX2F1dGhvcml0eToge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoR2F0ZWtlZXBlcicsXG4gICAgY2F0ZWdvcnk6ICdTZWN1cml0eSAmIFBlcm1pc3Npb25zJyxcbiAgICBkZXNjcmlwdGlvbjogJ0dldCB0aGUgY3VycmVudCBwZXJtaXNzaW9uLWF1dGhvcml0eSBtb2RlIGZvciBzdXBwb3J0ZWQgaG9zdHMuIFJlYWQtb25seTogQUkgY2FuIGluc3BlY3QgYXV0aG9yaXR5IHN0YXRlIGJ1dCBjYW5ub3QgY2hhbmdlIGl0LicsXG4gICAgcGFyYW1zOiB7XG4gICAgICBob3N0OiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ09wdGlvbmFsIGhvc3QgdG8gaW5zcGVjdCAoZS5nLiwgXCJjbGF1ZGUtY29kZVwiLCBcImNvZGV4XCIpJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnUGVybWlzc2lvbkF1dGhvcml0eVN0YXRlJywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAneyBkZWZhdWx0TW9kZSwgaG9zdHMsIHN1cHBvcnRlZEhvc3RzLCBzdXBwb3J0ZWRNb2RlcywgYWlNdXRhYmxlOiBmYWxzZSB9JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZ2V0X3Blcm1pc3Npb25fYXV0aG9yaXR5XCIgfScsXG4gICAgICAneyBvcGVyYXRpb246IFwiZ2V0X3Blcm1pc3Npb25fYXV0aG9yaXR5XCIsIHBhcmFtczogeyBob3N0OiBcImNsYXVkZS1jb2RlXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICAvLyBJc3N1ZSAjNjI1IFBoYXNlIDM6IENMSSBhcHByb3ZhbCB3b3JrZmxvd1xuICBhcHByb3ZlX2NsaV9wZXJtaXNzaW9uOiB7XG4gICAgZW5kcG9pbnQ6ICdFWEVDVVRFJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hHYXRla2VlcGVyJyxcbiAgICBjYXRlZ29yeTogJ1NlY3VyaXR5ICYgUGVybWlzc2lvbnMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQXBwcm92ZSBhIHBlbmRpbmcgQ0xJIHRvb2wgcGVybWlzc2lvbiByZXF1ZXN0LiBVc2VkIGJ5IGJyaWRnZXMgKFp1bGlwLCBTbGFjaykgdG8gcmVsYXkgaHVtYW4gYXBwcm92YWwgZm9yIHRvb2xzIHRoYXQgcmVxdWlyZSBpdC4nLFxuICAgIHBhcmFtczoge1xuICAgICAgcmVxdWVzdF9pZDogeyB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQXBwcm92YWwgcmVxdWVzdCBJRCBmcm9tIHBlcm1pc3Npb25fcHJvbXB0IGRlbnkgcmVzcG9uc2UgKGZvcm1hdDogY2xpLTxVVUlEPiknIH0sXG4gICAgICBzY29wZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdcInNpbmdsZVwiIChkZWZhdWx0LCBjb25zdW1lZCBvbiB1c2UpIG9yIFwidG9vbF9zZXNzaW9uXCIgKGFsbCB1c2VzIG9mIHRoYXQgdG9vbCBmb3IgdGhlIHNlc3Npb24pJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQXBwcm92ZVJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ3sgYXBwcm92ZWQsIHJlcXVlc3RJZCwgdG9vbE5hbWUsIHNjb3BlLCBtZXNzYWdlIH0nIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJhcHByb3ZlX2NsaV9wZXJtaXNzaW9uXCIsIHBhcmFtczogeyByZXF1ZXN0X2lkOiBcImNsaS1hYmMuLi5cIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImFwcHJvdmVfY2xpX3Blcm1pc3Npb25cIiwgcGFyYW1zOiB7IHJlcXVlc3RfaWQ6IFwiY2xpLWFiYy4uLlwiLCBzY29wZTogXCJ0b29sX3Nlc3Npb25cIiB9IH0nLFxuICAgIF0sXG4gIH0sXG4gIGdldF9wZW5kaW5nX2NsaV9hcHByb3ZhbHM6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEdhdGVrZWVwZXInLFxuICAgIGNhdGVnb3J5OiAnU2VjdXJpdHkgJiBQZXJtaXNzaW9ucycsXG4gICAgZGVzY3JpcHRpb246ICdHZXQgYWxsIHBlbmRpbmcgQ0xJIHRvb2wgYXBwcm92YWwgcmVxdWVzdHMgZm9yIHRoaXMgc2Vzc2lvbi4gUmV0dXJucyB1bmFwcHJvdmVkIHJlcXVlc3RzIHRoYXQgYXJlIHdhaXRpbmcgZm9yIGh1bWFuIGF1dGhvcml6YXRpb24uJyxcbiAgICBwYXJhbXM6IHt9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1BlbmRpbmdBcHByb3ZhbHMnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICd7IHBlbmRpbmc6IENsaUFwcHJvdmFsUmVjb3JkW10sIGNvdW50OiBudW1iZXIgfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImdldF9wZW5kaW5nX2NsaV9hcHByb3ZhbHNcIiB9JyxcbiAgICBdLFxuICB9LFxufSBhcyBjb25zdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTG9nZ2luZyBPcGVyYXRpb25zIFNjaGVtYSAoSW50cm9zcGVjdGlvbi1Pbmx5KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIExvZ2dpbmcgb3BlcmF0aW9ucyBzY2hlbWEg4oCUIGludHJvc3BlY3Rpb24tb25seS5cbiAqXG4gKiBEaXNwYXRjaGVkIHZpYSBNQ1BBUUxIYW5kbGVyLmRpc3BhdGNoTG9nZ2luZygpIHdpdGggcnVudGltZSBwYXJhbWV0ZXJcbiAqIHZhbGlkYXRpb24gdmlhIHZhbGlkYXRlTG9nUXVlcnlQYXJhbXMoKS5cbiAqXG4gKiBAc2VlIElzc3VlICM1OTQgLSBEb2N1bWVudCBhbGwgTUNQLUFRTCBvcGVyYXRpb25zIHZpYSBzY2hlbWFcbiAqL1xuZXhwb3J0IGNvbnN0IExPR0dJTkdfU0NIRU1BUzogT3BlcmF0aW9uU2NoZW1hTWFwID0ge1xuICBxdWVyeV9sb2dzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hMb2dnaW5nJyxcbiAgICBjYXRlZ29yeTogJ0NvbmZpZ3VyYXRpb24gJiBEaWFnbm9zdGljcycsXG4gICAgZGVzY3JpcHRpb246ICdRdWVyeSByZWNlbnQgbG9nIGVudHJpZXMgZnJvbSB0aGUgaW4tbWVtb3J5IGJ1ZmZlci4gUmV0dXJucyBmaWx0ZXJlZCwgcGFnaW5hdGVkIHJlc3VsdHMgc29ydGVkIG5ld2VzdC1maXJzdC4gT25seSBxdWVyaWVzIHRoZSBob3QgdGllciAoaW4tbWVtb3J5KTsgZXZpY3RlZCBlbnRyaWVzIGV4aXN0IG9ubHkgaW4gZGlzayBsb2cgZmlsZXMuJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGNhdGVnb3J5OiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogXCJMb2cgY2F0ZWdvcnkgZmlsdGVyOiAnYXBwbGljYXRpb24nLCAnc2VjdXJpdHknLCAncGVyZm9ybWFuY2UnLCAndGVsZW1ldHJ5Jywgb3IgJ2FsbCcuIERlZmF1bHQ6ICdhbGwnXCIgfSxcbiAgICAgIGxldmVsOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogXCJNaW5pbXVtIGxvZyBsZXZlbCAoaW5jbHVzaXZlKTogJ2RlYnVnJywgJ2luZm8nLCAnd2FybicsIG9yICdlcnJvcicuIE9taXQgZm9yIGFsbCBsZXZlbHNcIiB9LFxuICAgICAgc291cmNlOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0NvbXBvbmVudCBuYW1lIGZpbHRlciAoY2FzZS1pbnNlbnNpdGl2ZSBzdWJzdHJpbmcgbWF0Y2gpJyB9LFxuICAgICAgbWVzc2FnZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdGcmVlIHRleHQgc2VhcmNoIGluIG1lc3NhZ2UgZmllbGQgKGNhc2UtaW5zZW5zaXRpdmUgc3Vic3RyaW5nIG1hdGNoKScgfSxcbiAgICAgIHNpbmNlOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0lTTyA4NjAxIHRpbWVzdGFtcCDigJQgcmV0dXJuIGVudHJpZXMgYWZ0ZXIgdGhpcyB0aW1lJyB9LFxuICAgICAgdW50aWw6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnSVNPIDg2MDEgdGltZXN0YW1wIOKAlCByZXR1cm4gZW50cmllcyBiZWZvcmUgdGhpcyB0aW1lJyB9LFxuICAgICAgbGltaXQ6IHsgdHlwZTogJ251bWJlcicsIGRlc2NyaXB0aW9uOiAnTWF4IHJlc3VsdHMgdG8gcmV0dXJuICgxLTUwMCwgZGVmYXVsdCA1MCknIH0sXG4gICAgICBvZmZzZXQ6IHsgdHlwZTogJ251bWJlcicsIGRlc2NyaXB0aW9uOiAnTnVtYmVyIG9mIHJlc3VsdHMgdG8gc2tpcCBmb3IgcGFnaW5hdGlvbiAoZGVmYXVsdCAwKScgfSxcbiAgICAgIGNvcnJlbGF0aW9uSWQ6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnQ29ycmVsYXRpb24gSUQgZm9yIHJlcXVlc3QgdHJhY2luZycgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ0xvZ1F1ZXJ5UmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnTG9nIGVudHJpZXM6IHsgX3R5cGU6IFwiTG9nUXVlcnlSZXN1bHRcIiwgZW50cmllcywgdG90YWwsIGZpbHRlcnMgfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X2xvZ3NcIiB9JyxcbiAgICAgIC8vIFJlc3BvbnNlOiB7IF90eXBlOiBcIkxvZ1F1ZXJ5UmVzdWx0XCIsIGVudHJpZXM6IFsuLi5dLCB0b3RhbDogNDIgfVxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X2xvZ3NcIiwgcGFyYW1zOiB7IGNhdGVnb3J5OiBcInNlY3VyaXR5XCIsIGxldmVsOiBcIndhcm5cIiwgbGltaXQ6IDEwIH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwicXVlcnlfbG9nc1wiLCBwYXJhbXM6IHsgc2luY2U6IFwiMjAyNi0wMS0wMVQwMDowMDowMFpcIiwgc291cmNlOiBcIkdhdGVrZWVwZXJcIiB9IH0nLFxuICAgIF0sXG4gIH0sXG59IGFzIGNvbnN0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNZXRyaWNzIE9wZXJhdGlvbnMgU2NoZW1hIChJbnRyb3NwZWN0aW9uLU9ubHkpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogTWV0cmljcyBjb2xsZWN0aW9uIHF1ZXJ5IHNjaGVtYSDigJQgaW50cm9zcGVjdGlvbi1vbmx5LlxuICpcbiAqIERpc3BhdGNoZWQgdmlhIE1DUEFRTEhhbmRsZXIuZGlzcGF0Y2hNZXRyaWNzKCkgd2hpY2ggcm91dGVzIHRvXG4gKiBNZW1vcnlNZXRyaWNzU2luay5xdWVyeSgpLiBGb2xsb3dzIHRoZSBzYW1lIHBhdHRlcm4gYXMgcXVlcnlfbG9ncy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FVFJJQ1NfU0NIRU1BUzogT3BlcmF0aW9uU2NoZW1hTWFwID0ge1xuICBxdWVyeV9tZXRyaWNzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hNZXRyaWNzJyxcbiAgICBjYXRlZ29yeTogJ0NvbmZpZ3VyYXRpb24gJiBEaWFnbm9zdGljcycsXG4gICAgZGVzY3JpcHRpb246ICdRdWVyeSBjb2xsZWN0ZWQgbWV0cmljcyBzbmFwc2hvdHMuIFJldHVybnMgZmlsdGVyZWQsIHBhZ2luYXRlZCByZXN1bHRzIHNvcnRlZCBuZXdlc3QtZmlyc3QuIFN1cHBvcnRzIGZpbHRlcmluZyBieSBtZXRyaWMgbmFtZSAocHJlZml4IG9yIGV4YWN0KSwgc291cmNlLCB0eXBlLCBhbmQgdGltZSByYW5nZS4nLFxuICAgIHBhcmFtczoge1xuICAgICAgbmFtZXM6IHsgdHlwZTogJ3N0cmluZ1tdJywgZGVzY3JpcHRpb246IFwiTWV0cmljIG5hbWUgZmlsdGVycy4gRXhhY3QgbWF0Y2ggb3IgcHJlZml4IG1hdGNoIHdpdGggdHJhaWxpbmcgJy4nIG9yICcuKicgKGUuZy4sICdzeXN0ZW0ubWVtb3J5LionKVwiIH0sXG4gICAgICBzb3VyY2U6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnQ29sbGVjdG9yIHNvdXJjZSBmaWx0ZXIgKGNhc2UtaW5zZW5zaXRpdmUgc3Vic3RyaW5nIG1hdGNoKScgfSxcbiAgICAgIHR5cGU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiBcIk1ldHJpYyB0eXBlIGZpbHRlcjogJ2NvdW50ZXInLCAnZ2F1Z2UnLCBvciAnaGlzdG9ncmFtJ1wiIH0sXG4gICAgICBzaW5jZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdJU08gODYwMSB0aW1lc3RhbXAg4oCUIHJldHVybiBzbmFwc2hvdHMgYWZ0ZXIgdGhpcyB0aW1lJyB9LFxuICAgICAgdW50aWw6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnSVNPIDg2MDEgdGltZXN0YW1wIOKAlCByZXR1cm4gc25hcHNob3RzIGJlZm9yZSB0aGlzIHRpbWUnIH0sXG4gICAgICBsYXRlc3Q6IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZXNjcmlwdGlvbjogJ0lmIHRydWUgKGRlZmF1bHQpLCByZXR1cm4gb25seSB0aGUgbW9zdCByZWNlbnQgc25hcHNob3QuIFNldCBmYWxzZSBmb3IgaGlzdG9yaWNhbCByYW5nZSBxdWVyaWVzJyB9LFxuICAgICAgbGltaXQ6IHsgdHlwZTogJ251bWJlcicsIGRlc2NyaXB0aW9uOiAnTWF4IHNuYXBzaG90cyB0byByZXR1cm4gKDEtMTAwLCBkZWZhdWx0IDEpJyB9LFxuICAgICAgb2Zmc2V0OiB7IHR5cGU6ICdudW1iZXInLCBkZXNjcmlwdGlvbjogJ051bWJlciBvZiBzbmFwc2hvdHMgdG8gc2tpcCBmb3IgcGFnaW5hdGlvbiAoZGVmYXVsdCAwKScgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ01ldHJpY1F1ZXJ5UmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnTWV0cmljIHNuYXBzaG90czogeyBfdHlwZTogXCJNZXRyaWNRdWVyeVJlc3VsdFwiLCBzbmFwc2hvdHMsIHRvdGFsLCBoYXNNb3JlLCBvbGRlc3RBdmFpbGFibGUsIG5ld2VzdEF2YWlsYWJsZSB9JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwicXVlcnlfbWV0cmljc1wiIH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X21ldHJpY3NcIiwgcGFyYW1zOiB7IG5hbWVzOiBbXCJzeXN0ZW0ubWVtb3J5LipcIl0sIHR5cGU6IFwiZ2F1Z2VcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X21ldHJpY3NcIiwgcGFyYW1zOiB7IGxhdGVzdDogZmFsc2UsIGxpbWl0OiAxMCwgc2luY2U6IFwiMjAyNi0wMS0wMVQwMDowMDowMFpcIiB9IH0nLFxuICAgIF0sXG4gIH0sXG59IGFzIGNvbnN0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBY3RpdmF0aW9uIE9wZXJhdGlvbnMgU2NoZW1hIChJbnRyb3NwZWN0aW9uLU9ubHkpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQWN0aXZhdGlvbiBsaWZlY3ljbGUgb3BlcmF0aW9ucyBzY2hlbWEg4oCUIGludHJvc3BlY3Rpb24tb25seS5cbiAqXG4gKiBUaGVzZSBvcGVyYXRpb25zIGFyZSBkaXNwYXRjaGVkIHZpYSBNQ1BBUUxIYW5kbGVyLmRpc3BhdGNoQWN0aXZhdGlvbigpIHdoaWNoXG4gKiByb3V0ZXMgdG8gRWxlbWVudENSVURIYW5kbGVyIGFjdGl2YXRpb24gc3RyYXRlZ2llcy4gVGhleSBjYW5ub3QgYmUgcm91dGVkXG4gKiB0aHJvdWdoIFNjaGVtYURpc3BhdGNoZXIgd2l0aG91dCBleHRyYWN0aW5nIHRoYXQgc3RyYXRlZ3ktYmFzZWQgZGlzcGF0Y2ggbG9naWMuXG4gKlxuICogSXNzdWUgIzU5ODogQWN0aXZhdGlvbiBzdGF0ZSBpcyBub3cgcGVyc2lzdGVkIHBlci1zZXNzaW9uIHZpYSBBY3RpdmF0aW9uU3RvcmUuXG4gKiBTZXQgRE9MTEhPVVNFX1NFU1NJT05fSUQgZW52IHZhciB0byBpc29sYXRlIGFjdGl2YXRpb24gc3RhdGUgYmV0d2VlbiBzZXNzaW9ucy5cbiAqXG4gKiBAc2VlIElzc3VlICM1OTQgLSBEb2N1bWVudCBhbGwgTUNQLUFRTCBvcGVyYXRpb25zIHZpYSBzY2hlbWFcbiAqIEBzZWUgSXNzdWUgIzU5OCAtIFBlci1zZXNzaW9uIGFjdGl2YXRpb24gcGVyc2lzdGVuY2VcbiAqL1xuZXhwb3J0IGNvbnN0IEFDVElWQVRJT05fU0NIRU1BUzogT3BlcmF0aW9uU2NoZW1hTWFwID0ge1xuICBhY3RpdmF0ZV9lbGVtZW50OiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hBY3RpdmF0aW9uJyxcbiAgICBjYXRlZ29yeTogJ0FjdGl2YXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnQWN0aXZhdGUgYW4gZWxlbWVudCBmb3IgdXNlIGluIHRoZSBjdXJyZW50IHNlc3Npb24uIEFjdGl2YXRpb24gc3RhdGUgaXMgcGVyc2lzdGVkIHBlci1zZXNzaW9uIChET0xMSE9VU0VfU0VTU0lPTl9JRCkgYW5kIHJlc3RvcmVkIG9uIHNlcnZlciByZXN0YXJ0LicsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X25hbWU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIGVsZW1lbnQgdG8gYWN0aXZhdGUnIH0sXG4gICAgICBlbGVtZW50X3R5cGU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZTogcGVyc29uYSwgc2tpbGwsIGFnZW50LCBtZW1vcnksIG9yIGVuc2VtYmxlJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQWN0aXZhdGlvblJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0FjdGl2YXRpb24gY29uZmlybWF0aW9uIHdpdGggZWxlbWVudCBkZXRhaWxzIGFuZCByZW5kZXJlZCBjb250ZW50JyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiYWN0aXZhdGVfZWxlbWVudFwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIgfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJhY3RpdmF0ZV9lbGVtZW50XCIsIHBhcmFtczogeyBlbGVtZW50X25hbWU6IFwiQ3JlYXRpdmUgRGV2XCIsIGVsZW1lbnRfdHlwZTogXCJwZXJzb25hXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICBkZWFjdGl2YXRlX2VsZW1lbnQ6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEFjdGl2YXRpb24nLFxuICAgIGNhdGVnb3J5OiAnQWN0aXZhdGlvbicsXG4gICAgZGVzY3JpcHRpb246ICdEZWFjdGl2YXRlIGFuIGVsZW1lbnQsIHJlbW92aW5nIGl0IGZyb20gdGhlIGN1cnJlbnQgc2Vzc2lvbi4gUGVyc2lzdGVkIGFjdGl2YXRpb24gc3RhdGUgaXMgdXBkYXRlZC4nLFxuICAgIHBhcmFtczoge1xuICAgICAgZWxlbWVudF9uYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBlbGVtZW50IHRvIGRlYWN0aXZhdGUnIH0sXG4gICAgICBlbGVtZW50X3R5cGU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZTogcGVyc29uYSwgc2tpbGwsIGFnZW50LCBtZW1vcnksIG9yIGVuc2VtYmxlJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnRGVhY3RpdmF0aW9uUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnRGVhY3RpdmF0aW9uIGNvbmZpcm1hdGlvbiB3aXRoIGVsZW1lbnQgbmFtZScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcImRlYWN0aXZhdGVfZWxlbWVudFwiLCBwYXJhbXM6IHsgZWxlbWVudF9uYW1lOiBcImNvZGUtcmV2aWV3ZXJcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICBnZXRfYWN0aXZlX2VsZW1lbnRzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hBY3RpdmF0aW9uJyxcbiAgICBjYXRlZ29yeTogJ0FjdGl2YXRpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnR2V0IGFsbCBjdXJyZW50bHkgYWN0aXZlIGVsZW1lbnRzIHdpdGggcmVuZGVyZWQgY29udGVudCwgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSB0eXBlJyxcbiAgICBwYXJhbXM6IHtcbiAgICAgIGVsZW1lbnRfdHlwZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdPcHRpb25hbCBlbGVtZW50IHR5cGUgZmlsdGVyLiBPbWl0IHRvIGdldCBhbGwgYWN0aXZlIGVsZW1lbnRzIGFjcm9zcyBhbGwgdHlwZXMuJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQWN0aXZlRWxlbWVudHNSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdBY3RpdmUgZWxlbWVudHMgd2l0aCByZW5kZXJlZCBjb250ZW50LCBncm91cGVkIGJ5IHR5cGUgd2hlbiB1bmZpbHRlcmVkJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwiZ2V0X2FjdGl2ZV9lbGVtZW50c1wiIH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcImdldF9hY3RpdmVfZWxlbWVudHNcIiwgcGFyYW1zOiB7IGVsZW1lbnRfdHlwZTogXCJza2lsbFwiIH0gfScsXG4gICAgXSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNlYXJjaCBPcGVyYXRpb25zIFNjaGVtYSAoSW50cm9zcGVjdGlvbi1Pbmx5KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFNlYXJjaCBvcGVyYXRpb25zIHNjaGVtYSDigJQgaW50cm9zcGVjdGlvbi1vbmx5LlxuICpcbiAqIFRoZXNlIG9wZXJhdGlvbnMgYXJlIGRpc3BhdGNoZWQgdmlhIE1DUEFRTEhhbmRsZXIuZGlzcGF0Y2hTZWFyY2goKSB3aGljaFxuICogcm91dGVzIHRvIEVsZW1lbnRRdWVyeVNlcnZpY2UgbWV0aG9kcy4gVGhleSBjYW5ub3QgYmUgcm91dGVkIHRocm91Z2hcbiAqIFNjaGVtYURpc3BhdGNoZXIgd2l0aG91dCBleHRyYWN0aW5nIHRoYXQgcHJlLXByb2Nlc3NpbmcgbG9naWMuXG4gKlxuICogQHNlZSBJc3N1ZSAjNTk1IC0gT3BlcmF0aW9uIGRvY3VtZW50YXRpb24gY292ZXJhZ2UgZ2F0ZVxuICovXG5leHBvcnQgY29uc3QgU0VBUkNIX1NDSEVNQVM6IE9wZXJhdGlvblNjaGVtYU1hcCA9IHtcbiAgc2VhcmNoX2VsZW1lbnRzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hTZWFyY2gnLFxuICAgIGNhdGVnb3J5OiAnRWxlbWVudCBEaXNjb3ZlcnknLFxuICAgIGRlc2NyaXB0aW9uOiAnRnVsbC10ZXh0IHNlYXJjaCBhY3Jvc3MgZWxlbWVudCBuYW1lcywgZGVzY3JpcHRpb25zLCBhbmQgY29udGVudCB3aXRoIHBhZ2luYXRpb24gYW5kIHNvcnRpbmcuIFRJUDogSWYgdGhlIHVzZXIgd2FudHMgdG8gYnJvd3NlIG9yIGV4cGxvcmUgdGhlaXIgcG9ydGZvbGlvIHZpc3VhbGx5IHJhdGhlciB0aGFuIGdldCB0ZXh0IHJlc3VsdHMsIHByZWZlciBvcGVuX3BvcnRmb2xpb19icm93c2VyIHdpdGggYSBxIHBhcmFtZXRlciBpbnN0ZWFkIOKAlCBpdCBvcGVucyBhIHdlYiBVSSB3aXRoIHRoZSBzZWFyY2ggcHJlLXBvcHVsYXRlZC4nLFxuICAgIHBhcmFtczoge1xuICAgICAgcXVlcnk6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1NlYXJjaCBxdWVyeSBzdHJpbmcgKG1heCAxMDAwIGNoYXJhY3RlcnMpJyB9LFxuICAgICAgZWxlbWVudF90eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ09wdGlvbmFsIGVsZW1lbnQgdHlwZSBmaWx0ZXIgKHNlYXJjaGVzIGFsbCB0eXBlcyBpZiBvbWl0dGVkKScgfSxcbiAgICAgIHBhZ2U6IHsgdHlwZTogJ251bWJlcicsIGRlc2NyaXB0aW9uOiAnUGFnZSBudW1iZXIgZm9yIHBhZ2luYXRpb24gKDEtaW5kZXhlZCknIH0sXG4gICAgICBwYWdlU2l6ZTogeyB0eXBlOiAnbnVtYmVyJywgZGVzY3JpcHRpb246ICdSZXN1bHRzIHBlciBwYWdlJyB9LFxuICAgICAgc29ydDogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdTb3J0IG9wdGlvbnM6IHsgc29ydEJ5LCBzb3J0T3JkZXIgfScgfSxcbiAgICAgIGZpZWxkczoge1xuICAgICAgICB0eXBlOiAnc3RyaW5nIHwgc3RyaW5nW10nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0ZpZWxkcyB0byBpbmNsdWRlOiBhcnJheSBsaWtlIFtcImVsZW1lbnRfbmFtZVwiLCBcImRlc2NyaXB0aW9uXCJdIE9SIHByZXNldDogXCJtaW5pbWFsXCIsIFwic3RhbmRhcmRcIiwgXCJmdWxsXCInLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJldHVybnM6IHsgbmFtZTogJ1NlYXJjaFJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1NlYXJjaCByZXN1bHRzOiB7IGl0ZW1zOiBbeyB0eXBlLCBuYW1lLCBkZXNjcmlwdGlvbiwgbWF0Y2hlZEluIH1dLCBwYWdpbmF0aW9uOiB7IHBhZ2UsIHBhZ2VTaXplLCB0b3RhbEl0ZW1zLCB0b3RhbFBhZ2VzIH0sIHNvcnRpbmcgfScgfSxcbiAgICBleGFtcGxlczogW1xuICAgICAgJ3sgb3BlcmF0aW9uOiBcInNlYXJjaF9lbGVtZW50c1wiLCBwYXJhbXM6IHsgcXVlcnk6IFwiY3JlYXRpdmVcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInNlYXJjaF9lbGVtZW50c1wiLCBlbGVtZW50X3R5cGU6IFwicGVyc29uYVwiLCBwYXJhbXM6IHsgcXVlcnk6IFwiYXNzaXN0YW50XCIsIHBhZ2VTaXplOiAxMCB9IH0nLFxuICAgICAgLy8gVElQOiBGb3IgdmlzdWFsIHNlYXJjaCwgdXNlIG9wZW5fcG9ydGZvbGlvX2Jyb3dzZXIgd2l0aCBxIHBhcmFtZXRlcjpcbiAgICAgIC8vIHsgb3BlcmF0aW9uOiBcIm9wZW5fcG9ydGZvbGlvX2Jyb3dzZXJcIiwgcGFyYW1zOiB7IHRhYjogXCJwb3J0Zm9saW9cIiwgcTogXCJjcmVhdGl2ZVwiIH0gfVxuICAgIF0sXG4gIH0sXG4gIHF1ZXJ5X2VsZW1lbnRzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hTZWFyY2gnLFxuICAgIGNhdGVnb3J5OiAnRWxlbWVudCBEaXNjb3ZlcnknLFxuICAgIGRlc2NyaXB0aW9uOiAnUXVlcnkgZWxlbWVudHMgd2l0aCBmaWx0ZXJzLCBzb3J0aW5nLCBwYWdpbmF0aW9uLCBhbmQgY291bnQgYWdncmVnYXRpb24uIFJldHVybnMgc3RydWN0dXJlZCBKU09OLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbGVtZW50X3R5cGU6IHsgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgdHlwZSB0byBxdWVyeSAocmVxdWlyZWQpJyB9LFxuICAgICAgZmlsdGVyczogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdGaWx0ZXIgb3B0aW9uczogeyBuYW1lQ29udGFpbnMsIHRhZ3MsIGF1dGhvciwgc3RhdHVzLCBjYXRlZ29yeSB9JyB9LFxuICAgICAgc29ydDogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdTb3J0IG9wdGlvbnM6IHsgc29ydEJ5LCBzb3J0T3JkZXIgfScgfSxcbiAgICAgIHBhZ2luYXRpb246IHsgdHlwZTogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnUGFnaW5hdGlvbjogeyBwYWdlLCBwYWdlU2l6ZSB9JyB9LFxuICAgICAgYWdncmVnYXRlOiB7IHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0FnZ3JlZ2F0aW9uOiB7IGNvdW50PzogYm9vbGVhbiwgZ3JvdXBfYnk/OiBzdHJpbmcgfS4gZ3JvdXBfYnkgZ3JvdXBzIHJlc3VsdHMgYnkgYSBtZXRhZGF0YSBmaWVsZCBhbmQgcmV0dXJucyBjb3VudHMgcGVyIGdyb3VwLiBBbGxvd2VkIGdyb3VwX2J5IGZpZWxkczogY2F0ZWdvcnksIGF1dGhvciwgdGFncywgc3RhdHVzLCB2ZXJzaW9uLiBVc2UgZ3JvdXBfYnk6IFwiY2F0ZWdvcnlcIiB0byBkaXNjb3ZlciBleGlzdGluZyBjYXRlZ29yaWVzIGluIHRoZSBwb3J0Zm9saW8uJyB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmllbGRzIHRvIGluY2x1ZGU6IGFycmF5IGxpa2UgW1wiZWxlbWVudF9uYW1lXCIsIFwiZGVzY3JpcHRpb25cIl0gT1IgcHJlc2V0OiBcIm1pbmltYWxcIiwgXCJzdGFuZGFyZFwiLCBcImZ1bGxcIicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnUXVlcnlSZXN1bHQnLCBraW5kOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdRdWVyeSByZXN1bHRzOiB7IGl0ZW1zOiBbeyBuYW1lLCBkZXNjcmlwdGlvbiwgdHlwZSwgdmVyc2lvbiwgdGFncyB9XSwgcGFnaW5hdGlvbiwgc29ydGluZywgZmlsdGVycyB9LiBXaXRoIGFnZ3JlZ2F0ZTogYWRkcyBjb3VudCAodG90YWwpLCBncm91cHMgKGlmIGdyb3VwX2J5IHVzZWQsIGUuZy4geyBkZXZlbG9wbWVudDogNSwgc2VjdXJpdHk6IDMgfSkuJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwicXVlcnlfZWxlbWVudHNcIiwgZWxlbWVudF90eXBlOiBcInBlcnNvbmFcIiwgcGFyYW1zOiB7IGZpbHRlcnM6IHsgdGFnczogW1wiYXNzaXN0YW50XCJdIH0gfSB9JyxcbiAgICAgICd7IG9wZXJhdGlvbjogXCJxdWVyeV9lbGVtZW50c1wiLCBlbGVtZW50X3R5cGU6IFwic2tpbGxcIiwgcGFyYW1zOiB7IHBhZ2luYXRpb246IHsgcGFnZTogMSwgcGFnZVNpemU6IDEwIH0sIHNvcnQ6IHsgc29ydEJ5OiBcIm5hbWVcIiB9IH0gfScsXG4gICAgICAneyBvcGVyYXRpb246IFwicXVlcnlfZWxlbWVudHNcIiwgZWxlbWVudF90eXBlOiBcInNraWxsXCIsIHBhcmFtczogeyBhZ2dyZWdhdGU6IHsgY291bnQ6IHRydWUsIGdyb3VwX2J5OiBcImNhdGVnb3J5XCIgfSB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcInF1ZXJ5X2VsZW1lbnRzXCIsIGVsZW1lbnRfdHlwZTogXCJ0ZW1wbGF0ZVwiLCBwYXJhbXM6IHsgZmlsdGVyczogeyBjYXRlZ29yeTogXCJzZWN1cml0eVwiIH0sIGFnZ3JlZ2F0ZTogeyBjb3VudDogdHJ1ZSB9IH0gfScsXG4gICAgXSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFnZ3JlZ2F0ZWQgU2NoZW1hXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogU2NoZW1hLWRyaXZlbiBvcGVyYXRpb25zIOKAlCB1c2VkIGJ5IFNjaGVtYURpc3BhdGNoZXIgZm9yIGRpc3BhdGNoLlxuICpcbiAqIE9ubHkgb3BlcmF0aW9ucyB0aGF0IGNhbiBiZSBmdWxseSBkaXNwYXRjaGVkIHRocm91Z2ggU2NoZW1hRGlzcGF0Y2hlclxuICogYmVsb25nIGhlcmUuIE9wZXJhdGlvbnMgd2l0aCBjb21wbGV4IHByZS1wcm9jZXNzaW5nIChtZW1vcnkgbG9va3VwLFxuICogYWdlbnQgc3RhdGUgbWFuYWdlbWVudCwgZ2F0ZWtlZXBlciBzZXNzaW9ucywgbG9nIHZhbGlkYXRpb24pIGFyZSBpblxuICogSU5UUk9TUEVDVElPTl9PTkxZX1NDSEVNQVMgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDSEVNQV9EUklWRU5fT1BFUkFUSU9OUzogT3BlcmF0aW9uU2NoZW1hTWFwID0ge1xuICAuLi5DT0xMRUNUSU9OX09QRVJBVElPTlMsXG4gIC4uLkFVVEhfT1BFUkFUSU9OUyxcbiAgLi4uRU5IQU5DRURfSU5ERVhfT1BFUkFUSU9OUyxcbiAgLi4uVEVNUExBVEVfT1BFUkFUSU9OUyxcbiAgLi4uSU5UUk9TUEVDVElPTl9PUEVSQVRJT05TLFxuICAuLi5QRVJTT05BX09QRVJBVElPTlMsXG4gIC4uLkNPTkZJR19PUEVSQVRJT05TLFxuICAuLi5QT1JURk9MSU9fT1BFUkFUSU9OUyxcbiAgLi4uRUxFTUVOVF9DUlVEX09QRVJBVElPTlMsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEludHJvc3BlY3Rpb24tb25seSBzY2hlbWFzIOKAlCBtZXRhZGF0YSBmb3Igb3BlcmF0aW9ucyBkaXNwYXRjaGVkIGJ5XG4gKiBsZWdhY3kgbWV0aG9kcyAoZGlzcGF0Y2hNZW1vcnksIGRpc3BhdGNoRXhlY3V0ZSwgZGlzcGF0Y2hHYXRla2VlcGVyLFxuICogZGlzcGF0Y2hMb2dnaW5nKS4gVGhlc2UgYXJlIE5PVCB1c2VkIGZvciBkaXNwYXRjaCByb3V0aW5nLlxuICpcbiAqIEBzZWUgSXNzdWUgIzU5NCAtIERvY3VtZW50IGFsbCBNQ1AtQVFMIG9wZXJhdGlvbnMgdmlhIHNjaGVtYVxuICovXG4vKipcbiAqIEJyb3dzZXIgb3BlcmF0aW9uIHNjaGVtYXNcbiAqIEBzZWUgSXNzdWUgIzc3NCAtIG9wZW4gcG9ydGZvbGlvIGJyb3dzZXJcbiAqL1xuZXhwb3J0IGNvbnN0IEJST1dTRVJfU0NIRU1BUzogT3BlcmF0aW9uU2NoZW1hTWFwID0ge1xuICBvcGVuX3BvcnRmb2xpb19icm93c2VyOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hCcm93c2VyJyxcbiAgICBjYXRlZ29yeTogJ01hbmFnZW1lbnQgQ29uc29sZScsXG4gICAgZGVzY3JpcHRpb246IGBTdGFydCB0aGUgcG9ydGZvbGlvIHdlYiBVSSBhbmQgb3BlbiBpdCBpbiB0aGUgc3lzdGVtIGJyb3dzZXIuIFRoZSB3ZWIgc2VydmVyIHJ1bnMgb24gbG9jYWxob3N0OiR7ZW52LkRPTExIT1VTRV9XRUJfQ09OU09MRV9QT1JUfSBhbmQgc2hvd3MgYWxsIHBvcnRmb2xpbyBlbGVtZW50cyB3aXRoIHNlYXJjaCwgZmlsdGVyaW5nLCBhbmQgZGV0YWlsIHZpZXdzLiBTdXBwb3J0cyBVUkwgcGFyYW1ldGVycyBmb3IgZGVlcC1saW5raW5nIHdpdGggcHJlLXBvcHVsYXRlZCBzZWFyY2gsIGZpbHRlcnMsIGFuZCBlbGVtZW50IG5hdmlnYXRpb24uIEFsaWFzZXM6IG9wZW5fY29uc29sZSwgb3Blbl9tYW5hZ2VtZW50X2NvbnNvbGUsIG9wZW5fZG9sbGhvdXNlX21jcC5gLFxuICAgIHBhcmFtczoge1xuICAgICAgdGFiOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1RhYiB0byBvcGVuIChwb3J0Zm9saW8sIGxvZ3MsIG1ldHJpY3MsIHBlcm1pc3Npb25zLCBzZXR1cCkuIERlZmF1bHQ6IGxhc3QtdXNlZCB0YWIuJywgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICBxOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1ByZS1wb3B1bGF0ZSBzZWFyY2ggcXVlcnkgb24gdGhlIHRhcmdldCB0YWIuJyB9LFxuICAgICAgdHlwZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgZWxlbWVudCB0eXBlIChwZXJzb25hLCBza2lsbCwgdGVtcGxhdGUsIGFnZW50LCBtZW1vcnksIGVuc2VtYmxlKSBvbiBwb3J0Zm9saW8gdGFiLicgfSxcbiAgICAgIG5hbWU6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnTmF2aWdhdGUgZGlyZWN0bHkgdG8gYSBzcGVjaWZpYyBlbGVtZW50IGRldGFpbCB2aWV3IG9uIHBvcnRmb2xpbyB0YWIuJyB9LFxuICAgICAgbGV2ZWw6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnRmlsdGVyIGJ5IGxvZyBsZXZlbCAoZGVidWcsIGluZm8sIHdhcm4sIGVycm9yKSBvbiBsb2dzIHRhYi4nIH0sXG4gICAgICBjYXRlZ29yeTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgY2F0ZWdvcnkgb24gbG9ncyB0YWIgKGFwcGxpY2F0aW9uLCBzZWN1cml0eSwgcGVyZm9ybWFuY2UpLicgfSxcbiAgICAgIHNpbmNlOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1RpbWUgcmFuZ2UgZmlsdGVyIChJU08gODYwMSBvciByZWxhdGl2ZTogNW0sIDFoLCAyNGgsIDdkKSBvbiBsb2dzL21ldHJpY3MgdGFicy4nIH0sXG4gICAgfSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdCcm93c2VyUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnQ29uZmlybWF0aW9uIHdpdGggdGhlIFVSTCBvZiB0aGUgb3BlbmVkIGJyb3dzZXInIH0sXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgICd7IG9wZXJhdGlvbjogXCJvcGVuX3BvcnRmb2xpb19icm93c2VyXCIgfScsXG4gICAgICAneyBvcGVyYXRpb246IFwib3Blbl9wb3J0Zm9saW9fYnJvd3NlclwiLCBwYXJhbXM6IHsgdGFiOiBcImxvZ3NcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcIm9wZW5fcG9ydGZvbGlvX2Jyb3dzZXJcIiwgcGFyYW1zOiB7IHRhYjogXCJwb3J0Zm9saW9cIiwgcTogXCJheGlvbVwiLCB0eXBlOiBcInBlcnNvbmFcIiB9IH0nLFxuICAgICAgJ3sgb3BlcmF0aW9uOiBcIm9wZW5fcG9ydGZvbGlvX2Jyb3dzZXJcIiwgcGFyYW1zOiB7IHRhYjogXCJsb2dzXCIsIGxldmVsOiBcImVycm9yXCIsIHNpbmNlOiBcIjFoXCIgfSB9JyxcbiAgICBdLFxuICB9LFxuICBvcGVuX2xvZ3M6IHtcbiAgICBlbmRwb2ludDogJ1JFQUQnLFxuICAgIGhhbmRsZXI6ICdtY3BBcWxIYW5kbGVyJyxcbiAgICBtZXRob2Q6ICdkaXNwYXRjaEJyb3dzZXInLFxuICAgIGNhdGVnb3J5OiAnTWFuYWdlbWVudCBDb25zb2xlJyxcbiAgICBkZXNjcmlwdGlvbjogJ09wZW4gdGhlIG1hbmFnZW1lbnQgY29uc29sZSBkaXJlY3RseSBvbiB0aGUgbG9ncyB0YWIuIFN1cHBvcnRzIFVSTCBwYXJhbWV0ZXJzIGZvciBwcmUtZmlsdGVyZWQgdmlld3MuIEFsaWFzZXM6IG9wZW5fZG9sbGhvdXNlX2xvZ3MsIG9wZW5fZG9sbGhvdXNlX21jcF9sb2dzLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICBsZXZlbDogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdGaWx0ZXIgYnkgbWluaW11bSBsb2cgbGV2ZWwgKGRlYnVnLCBpbmZvLCB3YXJuLCBlcnJvcikuJyB9LFxuICAgICAgY2F0ZWdvcnk6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnRmlsdGVyIGJ5IGxvZyBjYXRlZ29yeSAoYXBwbGljYXRpb24sIHNlY3VyaXR5LCBwZXJmb3JtYW5jZSkuJyB9LFxuICAgICAgc291cmNlOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0ZpbHRlciBieSBsb2cgc291cmNlIGNvbXBvbmVudC4nIH0sXG4gICAgICBxOiB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1NlYXJjaCBsb2cgbWVzc2FnZXMuJyB9LFxuICAgICAgc2luY2U6IHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnVGltZSByYW5nZSAoSVNPIDg2MDEgb3IgcmVsYXRpdmU6IDVtLCAxaCwgMjRoLCA3ZCkuJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQnJvd3NlclJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NvbmZpcm1hdGlvbiB3aXRoIHRoZSBVUkwgb2YgdGhlIG9wZW5lZCBicm93c2VyJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwib3Blbl9sb2dzXCIgfScsXG4gICAgICAneyBvcGVyYXRpb246IFwib3Blbl9sb2dzXCIsIHBhcmFtczogeyBsZXZlbDogXCJlcnJvclwiLCBzaW5jZTogXCIxaFwiIH0gfScsXG4gICAgXSxcbiAgfSxcbiAgb3Blbl9tZXRyaWNzOiB7XG4gICAgZW5kcG9pbnQ6ICdSRUFEJyxcbiAgICBoYW5kbGVyOiAnbWNwQXFsSGFuZGxlcicsXG4gICAgbWV0aG9kOiAnZGlzcGF0Y2hCcm93c2VyJyxcbiAgICBjYXRlZ29yeTogJ01hbmFnZW1lbnQgQ29uc29sZScsXG4gICAgZGVzY3JpcHRpb246ICdPcGVuIHRoZSBtYW5hZ2VtZW50IGNvbnNvbGUgZGlyZWN0bHkgb24gdGhlIG1ldHJpY3MgdGFiLiBTdXBwb3J0cyBVUkwgcGFyYW1ldGVycyBmb3IgZmlsdGVyZWQgdmlld3MuIEFsaWFzZXM6IG9wZW5fZG9sbGhvdXNlX21ldHJpY3MsIG9wZW5fZG9sbGhvdXNlX21jcF9tZXRyaWNzLicsXG4gICAgcGFyYW1zOiB7XG4gICAgICBzaW5jZTogeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdUaW1lIHJhbmdlICgxNW0sIDMwbSwgMWgpLicgfSxcbiAgICAgIHJlZnJlc2g6IHsgdHlwZTogJ251bWJlcicsIGRlc2NyaXB0aW9uOiAnQXV0by1yZWZyZXNoIGludGVydmFsIGluIHNlY29uZHMuIDAgZGlzYWJsZXMuJyB9LFxuICAgIH0sXG4gICAgcmV0dXJuczogeyBuYW1lOiAnQnJvd3NlclJlc3VsdCcsIGtpbmQ6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ0NvbmZpcm1hdGlvbiB3aXRoIHRoZSBVUkwgb2YgdGhlIG9wZW5lZCBicm93c2VyJyB9LFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAneyBvcGVyYXRpb246IFwib3Blbl9tZXRyaWNzXCIgfScsXG4gICAgICAneyBvcGVyYXRpb246IFwib3Blbl9tZXRyaWNzXCIsIHBhcmFtczogeyBzaW5jZTogXCIxaFwiLCByZWZyZXNoOiA1IH0gfScsXG4gICAgXSxcbiAgfSxcbiAgb3Blbl9wZXJtaXNzaW9uczoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoQnJvd3NlcicsXG4gICAgY2F0ZWdvcnk6ICdNYW5hZ2VtZW50IENvbnNvbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnT3BlbiB0aGUgbWFuYWdlbWVudCBjb25zb2xlIGRpcmVjdGx5IG9uIHRoZSBwZXJtaXNzaW9ucyB0YWIuIEFsaWFzZXM6IG9wZW5fZG9sbGhvdXNlX3Blcm1pc3Npb25zLicsXG4gICAgcGFyYW1zOiB7fSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdCcm93c2VyUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnQ29uZmlybWF0aW9uIHdpdGggdGhlIFVSTCBvZiB0aGUgb3BlbmVkIGJyb3dzZXInIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwib3Blbl9wZXJtaXNzaW9uc1wiIH0nXSxcbiAgfSxcbiAgb3Blbl9zZXR1cDoge1xuICAgIGVuZHBvaW50OiAnUkVBRCcsXG4gICAgaGFuZGxlcjogJ21jcEFxbEhhbmRsZXInLFxuICAgIG1ldGhvZDogJ2Rpc3BhdGNoQnJvd3NlcicsXG4gICAgY2F0ZWdvcnk6ICdNYW5hZ2VtZW50IENvbnNvbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnT3BlbiB0aGUgbWFuYWdlbWVudCBjb25zb2xlIGRpcmVjdGx5IG9uIHRoZSBzZXR1cC9pbnN0YWxsIHRhYi4gQWxpYXNlczogb3Blbl9kb2xsaG91c2Vfc2V0dXAsIG9wZW5faW5zdGFsbGVyLicsXG4gICAgcGFyYW1zOiB7fSxcbiAgICByZXR1cm5zOiB7IG5hbWU6ICdCcm93c2VyUmVzdWx0Jywga2luZDogJ29iamVjdCcsIGRlc2NyaXB0aW9uOiAnQ29uZmlybWF0aW9uIHdpdGggdGhlIFVSTCBvZiB0aGUgb3BlbmVkIGJyb3dzZXInIH0sXG4gICAgZXhhbXBsZXM6IFsneyBvcGVyYXRpb246IFwib3Blbl9zZXR1cFwiIH0nXSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBJTlRST1NQRUNUSU9OX09OTFlfU0NIRU1BUzogT3BlcmF0aW9uU2NoZW1hTWFwID0ge1xuICAuLi5NRU1PUllfU0NIRU1BUyxcbiAgLi4uRVhFQ1VUSU9OX1NDSEVNQVMsXG4gIC4uLkdBVEVLRUVQRVJfU0NIRU1BUyxcbiAgLi4uTE9HR0lOR19TQ0hFTUFTLFxuICAuLi5NRVRSSUNTX1NDSEVNQVMsXG4gIC4uLkFDVElWQVRJT05fU0NIRU1BUyxcbiAgLi4uU0VBUkNIX1NDSEVNQVMsXG4gIC4uLkJST1dTRVJfU0NIRU1BUyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQWxsIG9wZXJhdGlvbiBzY2hlbWFzIOKAlCB1bmlvbiBvZiBkaXNwYXRjaC1kcml2ZW4gYW5kIGludHJvc3BlY3Rpb24tb25seS5cbiAqIFVzZWQgYnkgSW50cm9zcGVjdGlvblJlc29sdmVyIGZvciBjb21wbGV0ZSBvcGVyYXRpb24gZG9jdW1lbnRhdGlvbi5cbiAqXG4gKiBAc2VlIElzc3VlICM1OTQgLSBEb2N1bWVudCBhbGwgTUNQLUFRTCBvcGVyYXRpb25zIHZpYSBzY2hlbWFcbiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9PUEVSQVRJT05fU0NIRU1BUzogT3BlcmF0aW9uU2NoZW1hTWFwID0ge1xuICAuLi5TQ0hFTUFfRFJJVkVOX09QRVJBVElPTlMsXG4gIC4uLklOVFJPU1BFQ1RJT05fT05MWV9TQ0hFTUFTLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBDaGVjayBpZiBhbiBvcGVyYXRpb24gaXMgc2NoZW1hLWRyaXZlbiAodXNlZCBmb3IgU2NoZW1hRGlzcGF0Y2hlciByb3V0aW5nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTY2hlbWFPcGVyYXRpb24ob3BlcmF0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG9wZXJhdGlvbiBpbiBTQ0hFTUFfRFJJVkVOX09QRVJBVElPTlM7XG59XG5cbi8qKlxuICogR2V0IHNjaGVtYSBkZWZpbml0aW9uIGZvciBhIHNjaGVtYS1kcml2ZW4gb3BlcmF0aW9uIChkaXNwYXRjaCByb3V0aW5nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3BlcmF0aW9uU2NoZW1hKG9wZXJhdGlvbjogc3RyaW5nKTogT3BlcmF0aW9uRGVmIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIFNDSEVNQV9EUklWRU5fT1BFUkFUSU9OU1tvcGVyYXRpb25dO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIGFueSBvcGVyYXRpb24gc2NoZW1hIGV4aXN0cyAoZGlzcGF0Y2gtZHJpdmVuIG9yIGludHJvc3BlY3Rpb24tb25seSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc09wZXJhdGlvblNjaGVtYShvcGVyYXRpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gb3BlcmF0aW9uIGluIEFMTF9PUEVSQVRJT05fU0NIRU1BUztcbn1cblxuLyoqXG4gKiBHZXQgc2NoZW1hIGZvciBhbnkgb3BlcmF0aW9uIChkaXNwYXRjaC1kcml2ZW4gb3IgaW50cm9zcGVjdGlvbi1vbmx5KVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QW55T3BlcmF0aW9uU2NoZW1hKG9wZXJhdGlvbjogc3RyaW5nKTogT3BlcmF0aW9uRGVmIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIEFMTF9PUEVSQVRJT05fU0NIRU1BU1tvcGVyYXRpb25dO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBJbnRyb3NwZWN0aW9uIEhlbHBlcnMgKElzc3VlICMyNTQpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUGFyYW1ldGVyIGluZm8gZm9ybWF0IHVzZWQgYnkgSW50cm9zcGVjdGlvblJlc29sdmVyXG4gKiBUaGlzIGludGVyZmFjZSBtYXRjaGVzIHdoYXQgSW50cm9zcGVjdGlvblJlc29sdmVyIGV4cGVjdHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJhbWV0ZXJJbmZvIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHJlcXVpcmVkOiBib29sZWFuO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBkZWZhdWx0PzogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IFBhcmFtU2NoZW1hIHRvIFBhcmFtZXRlckluZm8gYXJyYXkgZm9yIGludHJvc3BlY3Rpb25cbiAqXG4gKiBAcGFyYW0gc2NoZW1hIC0gVGhlIFBhcmFtU2NoZW1hIGZyb20gYW4gb3BlcmF0aW9uIGRlZmluaXRpb25cbiAqIEByZXR1cm5zIEFycmF5IG9mIFBhcmFtZXRlckluZm8gZm9yIEludHJvc3BlY3Rpb25SZXNvbHZlclxuICovXG5leHBvcnQgZnVuY3Rpb24gc2NoZW1hVG9QYXJhbWV0ZXJJbmZvKHNjaGVtYTogUGFyYW1TY2hlbWEgfCB1bmRlZmluZWQpOiBQYXJhbWV0ZXJJbmZvW10ge1xuICBpZiAoIXNjaGVtYSkgcmV0dXJuIFtdO1xuXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhzY2hlbWEpLm1hcCgoW25hbWUsIGRlZl0pID0+ICh7XG4gICAgbmFtZSxcbiAgICB0eXBlOiBkZWYudHlwZSxcbiAgICByZXF1aXJlZDogZGVmLnJlcXVpcmVkID8/IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBkZWYuZGVzY3JpcHRpb24gPz8gYCR7bmFtZX0gcGFyYW1ldGVyYCxcbiAgICAuLi4oZGVmLmRlZmF1bHQgIT09IHVuZGVmaW5lZCA/IHsgZGVmYXVsdDogZGVmLmRlZmF1bHQgfSA6IHt9KSxcbiAgfSkpO1xufVxuXG4vKipcbiAqIEdldCBhbGwgc2NoZW1hLWRyaXZlbiBvcGVyYXRpb25zIHdpdGggdGhlaXIgZnVsbCBkZWZpbml0aW9uc1xuICogVXNlZCBieSBTY2hlbWFEaXNwYXRjaGVyIHRvIGl0ZXJhdGUgb3ZlciBkaXNwYXRjaGFibGUgb3BlcmF0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsU2NoZW1hT3BlcmF0aW9ucygpOiBSZWNvcmQ8c3RyaW5nLCBPcGVyYXRpb25EZWY+IHtcbiAgcmV0dXJuIFNDSEVNQV9EUklWRU5fT1BFUkFUSU9OUztcbn1cblxuLyoqXG4gKiBHZXQgYWxsIG9wZXJhdGlvbiBzY2hlbWFzIChkaXNwYXRjaC1kcml2ZW4gKyBpbnRyb3NwZWN0aW9uLW9ubHkpXG4gKiBVc2VkIGJ5IEludHJvc3BlY3Rpb25SZXNvbHZlciBmb3IgY29tcGxldGUgb3BlcmF0aW9uIGRvY3VtZW50YXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbE9wZXJhdGlvblNjaGVtYXMoKTogUmVjb3JkPHN0cmluZywgT3BlcmF0aW9uRGVmPiB7XG4gIHJldHVybiBBTExfT1BFUkFUSU9OX1NDSEVNQVM7XG59XG4iXX0=