diff --git a/package.json b/package.json index bee50f5..397a254 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@wharfkit/session", "description": "Create account-based sessions, perform transactions, and allow users to login using Antelope-based blockchains.", - "version": "2.0.0-rc4", + "version": "2.0.0-rc5", "homepage": "https://github.com/wharfkit/session", "license": "BSD-3-Clause", "main": "lib/session.js", diff --git a/src/kit.ts b/src/kit.ts index 35612dc..2bea071 100644 --- a/src/kit.ts +++ b/src/kit.ts @@ -20,6 +20,7 @@ import {BrowserLocalStorage, SessionStorage} from './storage' import { AbstractTransactPlugin, BaseTransactPlugin, + BroadcastOptions, TransactABIDef, TransactPlugin, TransactPluginsOptions, @@ -86,6 +87,8 @@ export interface SessionKitOptions { storage?: SessionStorage transactPlugins?: TransactPlugin[] transactPluginsOptions?: TransactPluginsOptions + awaitIrreversible?: boolean + broadcastOptions?: BroadcastOptions accountCreationPlugins?: AccountCreationPlugin[] sessionKey?: SessionKeyConfig } @@ -97,6 +100,8 @@ export class SessionKit { readonly abis: TransactABIDef[] = [] readonly allowModify: boolean = true readonly appName: string + readonly awaitIrreversible: boolean = false + readonly broadcastOptions?: BroadcastOptions readonly expireSeconds: number = 120 readonly fetch: Fetch readonly loginPlugins: AbstractLoginPlugin[] @@ -153,6 +158,12 @@ export class SessionKit { if (typeof options.allowModify !== 'undefined') { this.allowModify = options.allowModify } + if (options.awaitIrreversible !== undefined) { + this.awaitIrreversible = options.awaitIrreversible + } + if (options.broadcastOptions !== undefined) { + this.broadcastOptions = options.broadcastOptions + } // Override default expireSeconds for all sessions if specified if (options.expireSeconds) { this.expireSeconds = options.expireSeconds @@ -790,6 +801,8 @@ export class SessionKit { storage: this.storage, transactPlugins: options?.transactPlugins || this.transactPlugins, transactPluginsOptions: options?.transactPluginsOptions || this.transactPluginsOptions, + awaitIrreversible: this.awaitIrreversible, + broadcastOptions: this.broadcastOptions, ui: this.ui, sessionKeyManager: this.sessionKeyManager, onPersist: (session: Session) => this.persistSession(session), diff --git a/src/session.ts b/src/session.ts index d87b324..cb96b7d 100644 --- a/src/session.ts +++ b/src/session.ts @@ -31,6 +31,7 @@ import {ABICache, ABICacheInterface} from '@wharfkit/abicache' import { AbstractTransactPlugin, BaseTransactPlugin, + BroadcastOptions, TransactABIDef, TransactArgs, TransactContext, @@ -44,6 +45,7 @@ import { import {SessionStorage} from './storage' import { actionMatchesPermission, + buildSendTransaction2Options, extractActions, getFetch, getPluginTranslations, @@ -87,6 +89,8 @@ export interface SessionOptions { transactPlugins?: AbstractTransactPlugin[] transactPluginsOptions?: TransactPluginsOptions ui?: UserInterface + awaitIrreversible?: boolean + broadcastOptions?: BroadcastOptions sessionKeyManager?: SessionKeyManager onPersist?: (session: Session) => Promise } @@ -108,7 +112,9 @@ export class Session { readonly abis: TransactABIDef[] = [] readonly abiCache: ABICacheInterface readonly allowModify: boolean = true + readonly awaitIrreversible: boolean = false readonly broadcast: boolean = true + readonly broadcastOptions?: BroadcastOptions readonly chain: ChainDefinition readonly expireSeconds: number = 120 readonly fetch: Fetch @@ -201,6 +207,12 @@ export class Session { if (options.broadcast !== undefined) { this.broadcast = options.broadcast } + if (options.awaitIrreversible !== undefined) { + this.awaitIrreversible = options.awaitIrreversible + } + if (options.broadcastOptions !== undefined) { + this.broadcastOptions = options.broadcastOptions + } if (options.expireSeconds) { this.expireSeconds = options.expireSeconds } @@ -448,6 +460,16 @@ export class Session { ? options.broadcast : this.broadcast + const awaitIrreversible = + options && options.awaitIrreversible !== undefined + ? options.awaitIrreversible + : this.awaitIrreversible + + const broadcastOptions = + options && options.broadcastOptions !== undefined + ? options.broadcastOptions + : this.broadcastOptions + // The abi provider to use for this transaction, falling back to the session instance const abiCache = this.getMergedAbiCache(args, options) @@ -596,8 +618,19 @@ export class Session { signatures: result.signatures, }) - // Broadcast the SignedTransaction and save the API response to the TransactResult - result.response = await context.client.v1.chain.send_transaction(signed) + const tx2Options = buildSendTransaction2Options(awaitIrreversible, broadcastOptions) + try { + result.response = await context.client.v1.chain.send_transaction2( + signed, + tx2Options + ) + } catch (error: any) { + if (error?.response?.status === 404) { + result.response = await context.client.v1.chain.send_transaction(signed) + } else { + throw error + } + } // Find and process any return values from the transaction if (result.response.processed && result.response.processed.action_traces) { diff --git a/src/sessionkey/login.ts b/src/sessionkey/login.ts index aa40404..af7a824 100644 --- a/src/sessionkey/login.ts +++ b/src/sessionkey/login.ts @@ -51,24 +51,25 @@ export class SessionKeyLoginPlugin extends AbstractLoginPlugin { })), }) - if (choice === 'update') { - await manager.updateLinks(session) + if (choice !== 'update') { + return } + } else { + return } - return - } - - if (!manager.config.skipConsent && context.ui?.onSessionKeyConsent) { - const consent = await context.ui.onSessionKeyConsent({ - appName: String(session.appName || 'this app'), - whitelist: manager.whitelist.map((e) => ({ - contract: String(e.contract), - actions: e.actions?.map((a) => String(a)), - })), - }) + } else { + if (!manager.config.skipConsent && context.ui?.onSessionKeyConsent) { + const consent = await context.ui.onSessionKeyConsent({ + appName: String(session.appName || 'this app'), + whitelist: manager.whitelist.map((e) => ({ + contract: String(e.contract), + actions: e.actions?.map((a) => String(a)), + })), + }) - if (!consent) { - return + if (!consent) { + return + } } } diff --git a/src/transact.ts b/src/transact.ts index bfc324a..1e57ec3 100644 --- a/src/transact.ts +++ b/src/transact.ts @@ -247,6 +247,22 @@ export interface TransactOptions { * Optional parameter to control whether signatures returned from plugins are validated. */ validatePluginSignatures?: boolean + /** + * Wait for the transaction to become irreversible before returning. + * Uses send_transaction2 with retry enabled and no block limit (waits for LIB). + */ + awaitIrreversible?: boolean + /** + * Advanced options for send_transaction2. Provides fine-grained control over + * retry behavior and failure tracing. + */ + broadcastOptions?: BroadcastOptions +} + +export interface BroadcastOptions { + returnFailureTrace?: boolean + retryTrx?: boolean + retryTrxNumBlocks?: number } export interface TransactABIDef { diff --git a/src/utils.ts b/src/utils.ts index eb0814c..352d8b9 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -9,7 +9,7 @@ import { } from '@wharfkit/antelope' import type {Fetch, LocaleDefinitions} from '@wharfkit/common' import {PlaceholderAuth, SigningRequest} from '@wharfkit/signing-request' -import {TransactArgs, TransactPlugin} from './transact' +import {BroadcastOptions, TransactArgs, TransactPlugin} from './transact' import {WalletPlugin} from './wallet' /** @@ -215,3 +215,28 @@ export function rewriteAuthorizations( return args } + +export interface SendTransaction2Options { + return_failure_trace?: boolean + retry_trx?: boolean + retry_trx_num_blocks?: number +} + +export function buildSendTransaction2Options( + awaitIrreversible: boolean, + broadcastOptions?: BroadcastOptions +): SendTransaction2Options { + const options: SendTransaction2Options = { + return_failure_trace: broadcastOptions?.returnFailureTrace ?? true, + } + if (awaitIrreversible) { + options.retry_trx = true + options.retry_trx_num_blocks = undefined + } else if (broadcastOptions) { + options.retry_trx = broadcastOptions.retryTrx ?? true + if (broadcastOptions.retryTrxNumBlocks !== undefined) { + options.retry_trx_num_blocks = broadcastOptions.retryTrxNumBlocks + } + } + return options +} diff --git a/test/data/0672555e54e5f8adde3a189f52eed3ae86b4d3e5.json b/test/data/0672555e54e5f8adde3a189f52eed3ae86b4d3e5.json deleted file mode 100644 index b0bb68b..0000000 --- a/test/data/0672555e54e5f8adde3a189f52eed3ae86b4d3e5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/resource_provider/request_transaction", - "params": { - "method": "POST", - "body": "{\"request\":\"esr://gmNgZlJdtDtt7prJE76aMgABI4hgeGUQ2nDZNCb2pY8LY4ALx82Dpb6PwRITNp7iaNg4MS5WrfcUSC0A\",\"signer\":{\"actor\":\"wharfkit1125\",\"permission\":\"test\"}}" - } - }, - "status": 400, - "json": { - "code": 400, - "message": "Unexpected error while processing request.", - "data": { - "error": "FetchError: request to http://jungle4.greymass.com/v1/chain/get_abi failed, reason: connect ETIMEDOUT 144.217.253.32:80", - "url": "/v1/resource_provider/request_transaction" - } - }, - "text": "{\"code\":400,\"message\":\"Unexpected error while processing request.\",\"data\":{\"error\":\"FetchError: request to http://jungle4.greymass.com/v1/chain/get_abi failed, reason: connect ETIMEDOUT 144.217.253.32:80\",\"url\":\"/v1/resource_provider/request_transaction\"}}" -} \ No newline at end of file diff --git a/test/data/13f91e065ce7f8668600e9171cb3f39cb182d9d8.json b/test/data/13f91e065ce7f8668600e9171cb3f39cb182d9d8.json index 25da382..d6308c5 100644 --- a/test/data/13f91e065ce7f8668600e9171cb3f39cb182d9d8.json +++ b/test/data/13f91e065ce7f8668600e9171cb3f39cb182d9d8.json @@ -10,9 +10,9 @@ "status": 200, "json": { "account_name": "eosio.evm", - "code_hash": "e36159c5f13eb7738b8dd5633be2a30b5e1474c72e2c72be360010c355e3ecd7", - "abi_hash": "52e3b893e23f3d44dcc1b9f979973a82345b535679be05f03500f07226650184", - "abi": "DmVvc2lvOjphYmkvMS4yAh1jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZSN2YXJpYW50X2NvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV92MApldm10eF90eXBlEHZhcmlhbnRfZXZtdHhfdjAxB2FjY291bnQABgJpZAZ1aW50NjQLZXRoX2FkZHJlc3MFYnl0ZXMFbm9uY2UGdWludDY0B2JhbGFuY2UFYnl0ZXMHY29kZV9pZAd1aW50NjQ/BWZsYWdzB3VpbnQzMiQMYWNjb3VudF9jb2RlAAQCaWQGdWludDY0CXJlZl9jb3VudAZ1aW50MzIEY29kZQVieXRlcwljb2RlX2hhc2gFYnl0ZXMJYWRkZWdyZXNzAAEIYWNjb3VudHMGbmFtZVtdCWFkZGV2bWJhbAADAmlkBnVpbnQ2NAVkZWx0YQVieXRlcwhzdWJ0cmFjdARib29sCmFkZG9wZW5iYWwAAwdhY2NvdW50BG5hbWUFZGVsdGEFYnl0ZXMIc3VidHJhY3QEYm9vbAlhZG1pbmNhbGwABQRmcm9tBWJ5dGVzAnRvBWJ5dGVzBXZhbHVlBWJ5dGVzBGRhdGEFYnl0ZXMJZ2FzX2xpbWl0BnVpbnQ2NBZhbGxvd2VkX2VncmVzc19hY2NvdW50AAEHYWNjb3VudARuYW1lC2Fzc2VydG5vbmNlAAIHYWNjb3VudARuYW1lCm5leHRfbm9uY2UGdWludDY0B2JhbGFuY2UAAgVvd25lcgRuYW1lB2JhbGFuY2URYmFsYW5jZV93aXRoX2R1c3QRYmFsYW5jZV93aXRoX2R1c3QAAgdiYWxhbmNlBWFzc2V0BGR1c3QGdWludDY0CWJyaWRnZXJlZwADCHJlY2VpdmVyBG5hbWUHaGFuZGxlcgRuYW1lB21pbl9mZWUFYXNzZXQLYnJpZGdldW5yZWcAAQhyZWNlaXZlcgRuYW1lBGNhbGwABQRmcm9tBG5hbWUCdG8FYnl0ZXMFdmFsdWUFYnl0ZXMEZGF0YQVieXRlcwlnYXNfbGltaXQGdWludDY0BWNsb3NlAAEFb3duZXIEbmFtZQZjb25maWcACwd2ZXJzaW9uCXZhcnVpbnQzMgdjaGFpbmlkBnVpbnQ2NAxnZW5lc2lzX3RpbWUOdGltZV9wb2ludF9zZWMSaW5ncmVzc19icmlkZ2VfZmVlBWFzc2V0CWdhc19wcmljZQZ1aW50NjQJbWluZXJfY3V0BnVpbnQzMgZzdGF0dXMGdWludDMyC2V2bV92ZXJzaW9uEWV2bV92ZXJzaW9uX3R5cGUkE2NvbnNlbnN1c19wYXJhbWV0ZXIZY29uc2Vuc3VzX3BhcmFtZXRlcl90eXBlJA50b2tlbl9jb250cmFjdAVuYW1lJBFxdWV1ZV9mcm9udF9ibG9jawd1aW50MzIkB2NvbmZpZzIAAQ9uZXh0X2FjY291bnRfaWQGdWludDY0DGNvbmZpZ2NoYW5nZQABGGNvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YR1jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZRtjb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdjAAAQ1nYXNfcGFyYW1ldGVyEmdhc19wYXJhbWV0ZXJfdHlwZRhjb25zZW5zdXNfcGFyYW1ldGVyX3R5cGUAAgdjdXJyZW50HWNvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV90eXBlB3BlbmRpbmcmcGVuZGluZ19jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZT8QZXZtX3ZlcnNpb25fdHlwZQACD3BlbmRpbmdfdmVyc2lvbghwZW5kaW5nPw5jYWNoZWRfdmVyc2lvbgZ1aW50NjQFZXZtdHgAAQVldmVudApldm10eF90eXBlCGV2bXR4X3YwAAMPZW9zX2V2bV92ZXJzaW9uBnVpbnQ2NAVybHB0eAVieXRlcxBiYXNlX2ZlZV9wZXJfZ2FzBnVpbnQ2NARleGVjAAIFaW5wdXQKZXhlY19pbnB1dAhjYWxsYmFjaw5leGVjX2NhbGxiYWNrPw1leGVjX2NhbGxiYWNrAAIIY29udHJhY3QEbmFtZQZhY3Rpb24EbmFtZQpleGVjX2lucHV0AAUHY29udGV4dAZieXRlcz8EZnJvbQZieXRlcz8CdG8FYnl0ZXMEZGF0YQVieXRlcwV2YWx1ZQZieXRlcz8OZmVlX3BhcmFtZXRlcnMAAwlnYXNfcHJpY2UHdWludDY0PwltaW5lcl9jdXQHdWludDMyPxJpbmdyZXNzX2JyaWRnZV9mZWUGYXNzZXQ/BmZyZWV6ZQABBXZhbHVlBGJvb2wLZnJlZXplYWNjbnQAAgJpZAZ1aW50NjQFdmFsdWUEYm9vbBJnYXNfcGFyYW1ldGVyX3R5cGUABRBnYXNfdHhuZXdhY2NvdW50BnVpbnQ2NA5nYXNfbmV3YWNjb3VudAZ1aW50NjQMZ2FzX3R4Y3JlYXRlBnVpbnQ2NA9nYXNfY29kZWRlcG9zaXQGdWludDY0CGdhc19zc2V0BnVpbnQ2NAJnYwABA21heAZ1aW50MzIHZ2NzdG9yZQACAmlkBnVpbnQ2NApzdG9yYWdlX2lkBnVpbnQ2NARpbml0AAMHY2hhaW5pZAZ1aW50NjQKZmVlX3BhcmFtcw5mZWVfcGFyYW1ldGVycw50b2tlbl9jb250cmFjdAVuYW1lJBBtZXNzYWdlX3JlY2VpdmVyAAQHYWNjb3VudARuYW1lB2hhbmRsZXIEbmFtZQdtaW5fZmVlBWFzc2V0BWZsYWdzBnVpbnQzMgluZXh0bm9uY2UAAgVvd25lcgRuYW1lCm5leHRfbm9uY2UGdWludDY0BG9wZW4AAQVvd25lcgRuYW1lB3BlbmRpbmcAAgd2ZXJzaW9uBnVpbnQ2NAR0aW1lCnRpbWVfcG9pbnQlcGVuZGluZ19jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZQACBGRhdGEdY29uc2Vuc3VzX3BhcmFtZXRlcl9kYXRhX3R5cGUMcGVuZGluZ190aW1lCnRpbWVfcG9pbnQLcHJpY2VfcXVldWUAAgVibG9jawZ1aW50NjQFcHJpY2UGdWludDY0BnB1c2h0eAADBW1pbmVyBG5hbWUFcmxwdHgFYnl0ZXMTbWluX2luY2x1c2lvbl9wcmljZQd1aW50NjQkDHJlbW92ZWVncmVzcwABCGFjY291bnRzBm5hbWVbXQlybWFjY291bnQAAQJpZAZ1aW50NjQJcm1nY3N0b3JlAAECaWQGdWludDY0DHNldGZlZXBhcmFtcwABCmZlZV9wYXJhbXMOZmVlX3BhcmFtZXRlcnMLc2V0Z2FzcGFyYW0ABRBnYXNfdHhuZXdhY2NvdW50BnVpbnQ2NA5nYXNfbmV3YWNjb3VudAZ1aW50NjQMZ2FzX3R4Y3JlYXRlBnVpbnQ2NA9nYXNfY29kZWRlcG9zaXQGdWludDY0CGdhc19zc2V0BnVpbnQ2NApzZXRrdnN0b3JlAAMKYWNjb3VudF9pZAZ1aW50NjQDa2V5BWJ5dGVzBXZhbHVlBmJ5dGVzPwpzZXR2ZXJzaW9uAAEHdmVyc2lvbgZ1aW50NjQHc3RvcmFnZQADAmlkBnVpbnQ2NANrZXkFYnl0ZXMFdmFsdWUFYnl0ZXMMdXBkdGdhc3BhcmFtAAIMcmFtX3ByaWNlX21iBWFzc2V0CWdhc19wcmljZQZ1aW50NjQId2l0aGRyYXcAAwVvd25lcgRuYW1lCHF1YW50aXR5BWFzc2V0AnRvBW5hbWUkGwAAwFhdplIyCWFkZGVncmVzcwAAAIjmyK1SMglhZGRldm1iYWwAAEA0Z6pKUzIKYWRkb3BlbmJhbAAAAIjRoOlkMglhZG1pbmNhbGwAABSadOarMDYLYXNzZXJ0bm9uY2UAAABg6iqW3D0JYnJpZGdlcmVnAACYulMrltw9C2JyaWRnZXVucmVnAAAAAAAAEKNBBGNhbGwAAAAAAACFaUQFY2xvc2UAoNg0DTG3JkUMY29uZmlnY2hhbmdlAAAAAACAnuVWBWV2bXR4AAAAAAAAgFRXBGV4ZWMAAAAAAKiv1F0GZnJlZXplAADyRMior9RdC2ZyZWV6ZWFjY250AAAAAAAAAABiAmdjAAAAAAAAkN10BGluaXQAAAAAAAAwVaUEb3BlbgAAAAAA9NywrgZwdXNodHgAgLG6TKlNpboMcmVtb3ZlZWdyZXNzAAAAyFNThIy8CXJtYWNjb3VudAAAAFCXZoyYvAlybWdjc3RvcmUAgKW5piq1ssIMc2V0ZmVlcGFyYW1zAACkuaZiw7LCC3NldGdhc3BhcmFtAACAujTjDbPCCnNldGt2c3RvcmUAAMCkDl+1s8IKc2V0dmVyc2lvbgAgzTUVG5ZT1Qx1cGR0Z2FzcGFyYW0AAAAA3NzUsuMId2l0aGRyYXcADAAAACBPTREyA2k2NAAAB2FjY291bnQAVKIoT00RMgNpNjQAAAxhY2NvdW50X2NvZGUAAABYoWmiOQNpNjQAAAdiYWxhbmNlAAAAADC3JkUDaTY0AAAGY29uZmlnAAAAQDC3JkUDaTY0AAAHY29uZmlnMgBAxi5irC5TA2k2NAAAFmFsbG93ZWRfZWdyZXNzX2FjY291bnQAAABAXZoxYgNpNjQAAAdnY3N0b3JlAAAAAAC51XQDaTY0AAARYmFsYW5jZV93aXRoX2R1c3QArtpOIXUZlgNpNjQAABBtZXNzYWdlX3JlY2VpdmVyAABWaNKZu5oDaTY0AAAJbmV4dG5vbmNlAIDSSluF3K0DaTY0AAALcHJpY2VfcXVldWUAAABAMXNpxgNpNjQAAAdzdG9yYWdlAAAAAiN2YXJpYW50X2NvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV92MAEbY29uc2Vuc3VzX3BhcmFtZXRlcl9kYXRhX3YwEHZhcmlhbnRfZXZtdHhfdjABCGV2bXR4X3YwAQAAAAAAAABiBGJvb2w=" + "code_hash": "6ba6867a6a791db805aa9d01b970a38e6e7fbca638386cb3707ab221f5d59f64", + "abi_hash": "08b4be0a20bb6c71ef1c95e226b7c8b3788a9e44eb725d31dd68471325036e78", + "abi": "DmVvc2lvOjphYmkvMS4yAx1jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZSN2YXJpYW50X2NvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV92MBBldm1fdmVyc2lvbl90eXBlBnVpbnQ2NApldm10eF90eXBlGXZhcmlhbnRfZXZtdHhfdjFfZXZtdHhfdjM7B2FjY291bnQABgJpZAZ1aW50NjQLZXRoX2FkZHJlc3MFYnl0ZXMFbm9uY2UGdWludDY0B2JhbGFuY2UFYnl0ZXMHY29kZV9pZAd1aW50NjQ/BWZsYWdzB3VpbnQzMiQMYWNjb3VudF9jb2RlAAQCaWQGdWludDY0CXJlZl9jb3VudAZ1aW50MzIEY29kZQVieXRlcwljb2RlX2hhc2gFYnl0ZXMJYWRkZWdyZXNzAAEIYWNjb3VudHMGbmFtZVtdCWFkZGV2bWJhbAADAmlkBnVpbnQ2NAVkZWx0YQVieXRlcwhzdWJ0cmFjdARib29sCmFkZG9wZW5iYWwAAwdhY2NvdW50BG5hbWUFZGVsdGEFYnl0ZXMIc3VidHJhY3QEYm9vbAlhZG1pbmNhbGwABQRmcm9tBWJ5dGVzAnRvBWJ5dGVzBXZhbHVlBWJ5dGVzBGRhdGEFYnl0ZXMJZ2FzX2xpbWl0BnVpbnQ2NBZhbGxvd2VkX2VncmVzc19hY2NvdW50AAEHYWNjb3VudARuYW1lC2Fzc2VydG5vbmNlAAIHYWNjb3VudARuYW1lCm5leHRfbm9uY2UGdWludDY0B2JhbGFuY2UAAgVvd25lcgRuYW1lB2JhbGFuY2URYmFsYW5jZV93aXRoX2R1c3QRYmFsYW5jZV93aXRoX2R1c3QAAgdiYWxhbmNlBWFzc2V0BGR1c3QGdWludDY0CWJyaWRnZXJlZwADCHJlY2VpdmVyBG5hbWUHaGFuZGxlcgRuYW1lB21pbl9mZWUFYXNzZXQLYnJpZGdldW5yZWcAAQhyZWNlaXZlcgRuYW1lBGNhbGwABQRmcm9tBG5hbWUCdG8FYnl0ZXMFdmFsdWUFYnl0ZXMEZGF0YQVieXRlcwlnYXNfbGltaXQGdWludDY0DGNhbGxvdGhlcnBheQAGBXBheWVyBG5hbWUEZnJvbQRuYW1lAnRvBWJ5dGVzBXZhbHVlBWJ5dGVzBGRhdGEFYnl0ZXMJZ2FzX2xpbWl0BnVpbnQ2NAVjbG9zZQABBW93bmVyBG5hbWUGY29uZmlnAA0HdmVyc2lvbgl2YXJ1aW50MzIHY2hhaW5pZAZ1aW50NjQMZ2VuZXNpc190aW1lDnRpbWVfcG9pbnRfc2VjEmluZ3Jlc3NfYnJpZGdlX2ZlZQVhc3NldAlnYXNfcHJpY2UGdWludDY0CW1pbmVyX2N1dAZ1aW50MzIGc3RhdHVzBnVpbnQzMgtldm1fdmVyc2lvbiB2YWx1ZV9wcm9tb3Rlcl9ldm1fdmVyc2lvbl90eXBlJBNjb25zZW5zdXNfcGFyYW1ldGVyLXZhbHVlX3Byb21vdGVyX2NvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV90eXBlJA50b2tlbl9jb250cmFjdAVuYW1lJBFxdWV1ZV9mcm9udF9ibG9jawd1aW50MzIkEWluZ3Jlc3NfZ2FzX2xpbWl0B3VpbnQ2NCQKZ2FzX3ByaWNlcxBnYXNfcHJpY2VzX3R5cGUkB2NvbmZpZzIAAQ9uZXh0X2FjY291bnRfaWQGdWludDY0DGNvbmZpZ2NoYW5nZQABGGNvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YR1jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZSVjb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZV9wZW5kaW5nAAIFdmFsdWUdY29uc2Vuc3VzX3BhcmFtZXRlcl9kYXRhX3R5cGUEdGltZQp0aW1lX3BvaW50G2NvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV92MAABDWdhc19wYXJhbWV0ZXISZ2FzX3BhcmFtZXRlcl90eXBlGGV2bV92ZXJzaW9uX3R5cGVfcGVuZGluZwACBXZhbHVlEGV2bV92ZXJzaW9uX3R5cGUEdGltZQp0aW1lX3BvaW50BWV2bXR4AAEFZXZlbnQKZXZtdHhfdHlwZQpldm10eF9iYXNlAAIPZW9zX2V2bV92ZXJzaW9uBnVpbnQ2NAVybHB0eAVieXRlcwhldm10eF92MQpldm10eF9iYXNlARBiYXNlX2ZlZV9wZXJfZ2FzBnVpbnQ2NAhldm10eF92Mwpldm10eF9iYXNlAg5vdmVyaGVhZF9wcmljZQZ1aW50NjQNc3RvcmFnZV9wcmljZQZ1aW50NjQEZXhlYwACBWlucHV0CmV4ZWNfaW5wdXQIY2FsbGJhY2sOZXhlY19jYWxsYmFjaz8NZXhlY19jYWxsYmFjawACCGNvbnRyYWN0BG5hbWUGYWN0aW9uBG5hbWUKZXhlY19pbnB1dAAFB2NvbnRleHQGYnl0ZXM/BGZyb20GYnl0ZXM/AnRvBWJ5dGVzBGRhdGEFYnl0ZXMFdmFsdWUGYnl0ZXM/DmZlZV9wYXJhbWV0ZXJzAAMJZ2FzX3ByaWNlB3VpbnQ2ND8JbWluZXJfY3V0B3VpbnQzMj8SaW5ncmVzc19icmlkZ2VfZmVlBmFzc2V0PwZmcmVlemUAAQV2YWx1ZQRib29sC2ZyZWV6ZWFjY250AAICaWQGdWludDY0BXZhbHVlBGJvb2wSZ2FzX3BhcmFtZXRlcl90eXBlAAUQZ2FzX3R4bmV3YWNjb3VudAZ1aW50NjQOZ2FzX25ld2FjY291bnQGdWludDY0DGdhc190eGNyZWF0ZQZ1aW50NjQPZ2FzX2NvZGVkZXBvc2l0BnVpbnQ2NAhnYXNfc3NldAZ1aW50NjQPZ2FzX3ByaWNlc190eXBlAAIOb3ZlcmhlYWRfcHJpY2UHdWludDY0Pw1zdG9yYWdlX3ByaWNlB3VpbnQ2ND8CZ2MAAQNtYXgGdWludDMyB2djc3RvcmUAAgJpZAZ1aW50NjQKc3RvcmFnZV9pZAZ1aW50NjQEaW5pdAADB2NoYWluaWQGdWludDY0CmZlZV9wYXJhbXMOZmVlX3BhcmFtZXRlcnMOdG9rZW5fY29udHJhY3QFbmFtZSQQbWVzc2FnZV9yZWNlaXZlcgAEB2FjY291bnQEbmFtZQdoYW5kbGVyBG5hbWUHbWluX2ZlZQVhc3NldAVmbGFncwZ1aW50MzIKbWlncmF0ZWJhbAACCWZyb21fbmFtZQRuYW1lBWxpbWl0BWludDMyCW5leHRub25jZQACBW93bmVyBG5hbWUKbmV4dF9ub25jZQZ1aW50NjQEb3BlbgABBW93bmVyBG5hbWULcHJpY2VfcXVldWUAAgVibG9jawZ1aW50NjQFcHJpY2UGdWludDY0DHByaWNlc19xdWV1ZQACBWJsb2NrBnVpbnQ2NAZwcmljZXMPZ2FzX3ByaWNlc190eXBlBnB1c2h0eAADBW1pbmVyBG5hbWUFcmxwdHgFYnl0ZXMTbWluX2luY2x1c2lvbl9wcmljZQd1aW50NjQkDHJlbW92ZWVncmVzcwABCGFjY291bnRzBm5hbWVbXQlybWFjY291bnQAAQJpZAZ1aW50NjQJcm1nY3N0b3JlAAECaWQGdWludDY0DHNldGZlZXBhcmFtcwABCmZlZV9wYXJhbXMOZmVlX3BhcmFtZXRlcnMLc2V0Z2FzbGltaXQAARFpbmdyZXNzX2dhc19saW1pdAZ1aW50NjQLc2V0Z2FzcGFyYW0ABRBnYXNfdHhuZXdhY2NvdW50BnVpbnQ2NA5nYXNfbmV3YWNjb3VudAZ1aW50NjQMZ2FzX3R4Y3JlYXRlBnVpbnQ2NA9nYXNfY29kZWRlcG9zaXQGdWludDY0CGdhc19zc2V0BnVpbnQ2NAxzZXRnYXNwcmljZXMAAQZwcmljZXMPZ2FzX3ByaWNlc190eXBlCnNldGt2c3RvcmUAAwphY2NvdW50X2lkBnVpbnQ2NANrZXkFYnl0ZXMFdmFsdWUGYnl0ZXM/CnNldHZlcnNpb24AAQd2ZXJzaW9uBnVpbnQ2NApzdGF0aXN0aWNzAAMHdmVyc2lvbgl2YXJ1aW50MzIOZ2FzX2ZlZV9pbmNvbWURYmFsYW5jZV93aXRoX2R1c3QZaW5ncmVzc19icmlkZ2VfZmVlX2luY29tZRFiYWxhbmNlX3dpdGhfZHVzdAdzdG9yYWdlAAMCaWQGdWludDY0A2tleQVieXRlcwV2YWx1ZQVieXRlcwxzd2FwZ2FzdG9rZW4ABBJuZXdfdG9rZW5fY29udHJhY3QEbmFtZQpuZXdfc3ltYm9sBnN5bWJvbBFzd2FwX2Rlc3RfYWNjb3VudARuYW1lCXN3YXBfbWVtbwZzdHJpbmcMdXBkdGdhc3BhcmFtAAIMcmFtX3ByaWNlX21iBWFzc2V0CWdhc19wcmljZQZ1aW50NjQsdmFsdWVfcHJvbW90ZXJfY29uc2Vuc3VzX3BhcmFtZXRlcl9kYXRhX3R5cGUAAgxjYWNoZWRfdmFsdWUdY29uc2Vuc3VzX3BhcmFtZXRlcl9kYXRhX3R5cGUNcGVuZGluZ192YWx1ZSZjb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZV9wZW5kaW5nPx92YWx1ZV9wcm9tb3Rlcl9ldm1fdmVyc2lvbl90eXBlAAINcGVuZGluZ192YWx1ZRlldm1fdmVyc2lvbl90eXBlX3BlbmRpbmc/DGNhY2hlZF92YWx1ZRBldm1fdmVyc2lvbl90eXBlCHdpdGhkcmF3AAMFb3duZXIEbmFtZQhxdWFudGl0eQVhc3NldAJ0bwVuYW1lJCAAAMBYXaZSMglhZGRlZ3Jlc3MAAACI5sitUjIJYWRkZXZtYmFsAABANGeqSlMyCmFkZG9wZW5iYWwAAACI0aDpZDIJYWRtaW5jYWxsAAAUmnTmqzA2C2Fzc2VydG5vbmNlAAAAYOoqltw9CWJyaWRnZXJlZwAAmLpTK5bcPQticmlkZ2V1bnJlZwAAAAAAABCjQQRjYWxsAOBNvaplGqNBDGNhbGxvdGhlcnBheQAAAAAAAIVpRAVjbG9zZQCg2DQNMbcmRQxjb25maWdjaGFuZ2UAAAAAAICe5VYFZXZtdHgAAAAAAACAVFcEZXhlYwAAAAAAqK/UXQZmcmVlemUAAPJEyKiv1F0LZnJlZXplYWNjbnQAAAAAAAAAAGICZ2MAAAAAAACQ3XQEaW5pdAAAQDRHZXOZkwptaWdyYXRlYmFsAAAAAAAAMFWlBG9wZW4AAAAAAPTcsK4GcHVzaHR4AICxukypTaW6DHJlbW92ZWVncmVzcwAAAMhTU4SMvAlybWFjY291bnQAAABQl2aMmLwJcm1nY3N0b3JlAICluaYqtbLCDHNldGZlZXBhcmFtcwAAspMuYsOywgtzZXRnYXNsaW1pdAAApLmmYsOywgtzZXRnYXNwYXJhbQCAFXK3YsOywgxzZXRnYXNwcmljZXMAAIC6NOMNs8IKc2V0a3ZzdG9yZQAAwKQOX7WzwgpzZXR2ZXJzaW9uADAVpBkbVg3HDHN3YXBnYXN0b2tlbgAgzTUVG5ZT1Qx1cGR0Z2FzcGFyYW0AAAAA3NzUsuMId2l0aGRyYXcADgAAACBPTREyA2k2NAAAB2FjY291bnQAVKIoT00RMgNpNjQAAAxhY2NvdW50X2NvZGUAAABYoWmiOQNpNjQAAAdiYWxhbmNlAAAAADC3JkUDaTY0AAAGY29uZmlnAAAAQDC3JkUDaTY0AAAHY29uZmlnMgBAxi5irC5TA2k2NAAAFmFsbG93ZWRfZWdyZXNzX2FjY291bnQAAABAXZoxYgNpNjQAAAdnY3N0b3JlAAAAAAC51XQDaTY0AAARYmFsYW5jZV93aXRoX2R1c3QArtpOIXUZlgNpNjQAABBtZXNzYWdlX3JlY2VpdmVyAABWaNKZu5oDaTY0AAAJbmV4dG5vbmNlAIDSSluF3K0DaTY0AAALcHJpY2VfcXVldWUAlFbaYoXcrQNpNjQAAAxwcmljZXNfcXVldWUAAEYuY5dNxgNpNjQAAApzdGF0aXN0aWNzAAAAQDFzacYDaTY0AAAHc3RvcmFnZQAAAAIjdmFyaWFudF9jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdjABG2NvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV92MBl2YXJpYW50X2V2bXR4X3YxX2V2bXR4X3YzAghldm10eF92MQhldm10eF92MwEAAAAAAAAAYgRib29sAA==" }, - "text": "{\"account_name\":\"eosio.evm\",\"code_hash\":\"e36159c5f13eb7738b8dd5633be2a30b5e1474c72e2c72be360010c355e3ecd7\",\"abi_hash\":\"52e3b893e23f3d44dcc1b9f979973a82345b535679be05f03500f07226650184\",\"abi\":\"DmVvc2lvOjphYmkvMS4yAh1jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZSN2YXJpYW50X2NvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV92MApldm10eF90eXBlEHZhcmlhbnRfZXZtdHhfdjAxB2FjY291bnQABgJpZAZ1aW50NjQLZXRoX2FkZHJlc3MFYnl0ZXMFbm9uY2UGdWludDY0B2JhbGFuY2UFYnl0ZXMHY29kZV9pZAd1aW50NjQ/BWZsYWdzB3VpbnQzMiQMYWNjb3VudF9jb2RlAAQCaWQGdWludDY0CXJlZl9jb3VudAZ1aW50MzIEY29kZQVieXRlcwljb2RlX2hhc2gFYnl0ZXMJYWRkZWdyZXNzAAEIYWNjb3VudHMGbmFtZVtdCWFkZGV2bWJhbAADAmlkBnVpbnQ2NAVkZWx0YQVieXRlcwhzdWJ0cmFjdARib29sCmFkZG9wZW5iYWwAAwdhY2NvdW50BG5hbWUFZGVsdGEFYnl0ZXMIc3VidHJhY3QEYm9vbAlhZG1pbmNhbGwABQRmcm9tBWJ5dGVzAnRvBWJ5dGVzBXZhbHVlBWJ5dGVzBGRhdGEFYnl0ZXMJZ2FzX2xpbWl0BnVpbnQ2NBZhbGxvd2VkX2VncmVzc19hY2NvdW50AAEHYWNjb3VudARuYW1lC2Fzc2VydG5vbmNlAAIHYWNjb3VudARuYW1lCm5leHRfbm9uY2UGdWludDY0B2JhbGFuY2UAAgVvd25lcgRuYW1lB2JhbGFuY2URYmFsYW5jZV93aXRoX2R1c3QRYmFsYW5jZV93aXRoX2R1c3QAAgdiYWxhbmNlBWFzc2V0BGR1c3QGdWludDY0CWJyaWRnZXJlZwADCHJlY2VpdmVyBG5hbWUHaGFuZGxlcgRuYW1lB21pbl9mZWUFYXNzZXQLYnJpZGdldW5yZWcAAQhyZWNlaXZlcgRuYW1lBGNhbGwABQRmcm9tBG5hbWUCdG8FYnl0ZXMFdmFsdWUFYnl0ZXMEZGF0YQVieXRlcwlnYXNfbGltaXQGdWludDY0BWNsb3NlAAEFb3duZXIEbmFtZQZjb25maWcACwd2ZXJzaW9uCXZhcnVpbnQzMgdjaGFpbmlkBnVpbnQ2NAxnZW5lc2lzX3RpbWUOdGltZV9wb2ludF9zZWMSaW5ncmVzc19icmlkZ2VfZmVlBWFzc2V0CWdhc19wcmljZQZ1aW50NjQJbWluZXJfY3V0BnVpbnQzMgZzdGF0dXMGdWludDMyC2V2bV92ZXJzaW9uEWV2bV92ZXJzaW9uX3R5cGUkE2NvbnNlbnN1c19wYXJhbWV0ZXIZY29uc2Vuc3VzX3BhcmFtZXRlcl90eXBlJA50b2tlbl9jb250cmFjdAVuYW1lJBFxdWV1ZV9mcm9udF9ibG9jawd1aW50MzIkB2NvbmZpZzIAAQ9uZXh0X2FjY291bnRfaWQGdWludDY0DGNvbmZpZ2NoYW5nZQABGGNvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YR1jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZRtjb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdjAAAQ1nYXNfcGFyYW1ldGVyEmdhc19wYXJhbWV0ZXJfdHlwZRhjb25zZW5zdXNfcGFyYW1ldGVyX3R5cGUAAgdjdXJyZW50HWNvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV90eXBlB3BlbmRpbmcmcGVuZGluZ19jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZT8QZXZtX3ZlcnNpb25fdHlwZQACD3BlbmRpbmdfdmVyc2lvbghwZW5kaW5nPw5jYWNoZWRfdmVyc2lvbgZ1aW50NjQFZXZtdHgAAQVldmVudApldm10eF90eXBlCGV2bXR4X3YwAAMPZW9zX2V2bV92ZXJzaW9uBnVpbnQ2NAVybHB0eAVieXRlcxBiYXNlX2ZlZV9wZXJfZ2FzBnVpbnQ2NARleGVjAAIFaW5wdXQKZXhlY19pbnB1dAhjYWxsYmFjaw5leGVjX2NhbGxiYWNrPw1leGVjX2NhbGxiYWNrAAIIY29udHJhY3QEbmFtZQZhY3Rpb24EbmFtZQpleGVjX2lucHV0AAUHY29udGV4dAZieXRlcz8EZnJvbQZieXRlcz8CdG8FYnl0ZXMEZGF0YQVieXRlcwV2YWx1ZQZieXRlcz8OZmVlX3BhcmFtZXRlcnMAAwlnYXNfcHJpY2UHdWludDY0PwltaW5lcl9jdXQHdWludDMyPxJpbmdyZXNzX2JyaWRnZV9mZWUGYXNzZXQ/BmZyZWV6ZQABBXZhbHVlBGJvb2wLZnJlZXplYWNjbnQAAgJpZAZ1aW50NjQFdmFsdWUEYm9vbBJnYXNfcGFyYW1ldGVyX3R5cGUABRBnYXNfdHhuZXdhY2NvdW50BnVpbnQ2NA5nYXNfbmV3YWNjb3VudAZ1aW50NjQMZ2FzX3R4Y3JlYXRlBnVpbnQ2NA9nYXNfY29kZWRlcG9zaXQGdWludDY0CGdhc19zc2V0BnVpbnQ2NAJnYwABA21heAZ1aW50MzIHZ2NzdG9yZQACAmlkBnVpbnQ2NApzdG9yYWdlX2lkBnVpbnQ2NARpbml0AAMHY2hhaW5pZAZ1aW50NjQKZmVlX3BhcmFtcw5mZWVfcGFyYW1ldGVycw50b2tlbl9jb250cmFjdAVuYW1lJBBtZXNzYWdlX3JlY2VpdmVyAAQHYWNjb3VudARuYW1lB2hhbmRsZXIEbmFtZQdtaW5fZmVlBWFzc2V0BWZsYWdzBnVpbnQzMgluZXh0bm9uY2UAAgVvd25lcgRuYW1lCm5leHRfbm9uY2UGdWludDY0BG9wZW4AAQVvd25lcgRuYW1lB3BlbmRpbmcAAgd2ZXJzaW9uBnVpbnQ2NAR0aW1lCnRpbWVfcG9pbnQlcGVuZGluZ19jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZQACBGRhdGEdY29uc2Vuc3VzX3BhcmFtZXRlcl9kYXRhX3R5cGUMcGVuZGluZ190aW1lCnRpbWVfcG9pbnQLcHJpY2VfcXVldWUAAgVibG9jawZ1aW50NjQFcHJpY2UGdWludDY0BnB1c2h0eAADBW1pbmVyBG5hbWUFcmxwdHgFYnl0ZXMTbWluX2luY2x1c2lvbl9wcmljZQd1aW50NjQkDHJlbW92ZWVncmVzcwABCGFjY291bnRzBm5hbWVbXQlybWFjY291bnQAAQJpZAZ1aW50NjQJcm1nY3N0b3JlAAECaWQGdWludDY0DHNldGZlZXBhcmFtcwABCmZlZV9wYXJhbXMOZmVlX3BhcmFtZXRlcnMLc2V0Z2FzcGFyYW0ABRBnYXNfdHhuZXdhY2NvdW50BnVpbnQ2NA5nYXNfbmV3YWNjb3VudAZ1aW50NjQMZ2FzX3R4Y3JlYXRlBnVpbnQ2NA9nYXNfY29kZWRlcG9zaXQGdWludDY0CGdhc19zc2V0BnVpbnQ2NApzZXRrdnN0b3JlAAMKYWNjb3VudF9pZAZ1aW50NjQDa2V5BWJ5dGVzBXZhbHVlBmJ5dGVzPwpzZXR2ZXJzaW9uAAEHdmVyc2lvbgZ1aW50NjQHc3RvcmFnZQADAmlkBnVpbnQ2NANrZXkFYnl0ZXMFdmFsdWUFYnl0ZXMMdXBkdGdhc3BhcmFtAAIMcmFtX3ByaWNlX21iBWFzc2V0CWdhc19wcmljZQZ1aW50NjQId2l0aGRyYXcAAwVvd25lcgRuYW1lCHF1YW50aXR5BWFzc2V0AnRvBW5hbWUkGwAAwFhdplIyCWFkZGVncmVzcwAAAIjmyK1SMglhZGRldm1iYWwAAEA0Z6pKUzIKYWRkb3BlbmJhbAAAAIjRoOlkMglhZG1pbmNhbGwAABSadOarMDYLYXNzZXJ0bm9uY2UAAABg6iqW3D0JYnJpZGdlcmVnAACYulMrltw9C2JyaWRnZXVucmVnAAAAAAAAEKNBBGNhbGwAAAAAAACFaUQFY2xvc2UAoNg0DTG3JkUMY29uZmlnY2hhbmdlAAAAAACAnuVWBWV2bXR4AAAAAAAAgFRXBGV4ZWMAAAAAAKiv1F0GZnJlZXplAADyRMior9RdC2ZyZWV6ZWFjY250AAAAAAAAAABiAmdjAAAAAAAAkN10BGluaXQAAAAAAAAwVaUEb3BlbgAAAAAA9NywrgZwdXNodHgAgLG6TKlNpboMcmVtb3ZlZWdyZXNzAAAAyFNThIy8CXJtYWNjb3VudAAAAFCXZoyYvAlybWdjc3RvcmUAgKW5piq1ssIMc2V0ZmVlcGFyYW1zAACkuaZiw7LCC3NldGdhc3BhcmFtAACAujTjDbPCCnNldGt2c3RvcmUAAMCkDl+1s8IKc2V0dmVyc2lvbgAgzTUVG5ZT1Qx1cGR0Z2FzcGFyYW0AAAAA3NzUsuMId2l0aGRyYXcADAAAACBPTREyA2k2NAAAB2FjY291bnQAVKIoT00RMgNpNjQAAAxhY2NvdW50X2NvZGUAAABYoWmiOQNpNjQAAAdiYWxhbmNlAAAAADC3JkUDaTY0AAAGY29uZmlnAAAAQDC3JkUDaTY0AAAHY29uZmlnMgBAxi5irC5TA2k2NAAAFmFsbG93ZWRfZWdyZXNzX2FjY291bnQAAABAXZoxYgNpNjQAAAdnY3N0b3JlAAAAAAC51XQDaTY0AAARYmFsYW5jZV93aXRoX2R1c3QArtpOIXUZlgNpNjQAABBtZXNzYWdlX3JlY2VpdmVyAABWaNKZu5oDaTY0AAAJbmV4dG5vbmNlAIDSSluF3K0DaTY0AAALcHJpY2VfcXVldWUAAABAMXNpxgNpNjQAAAdzdG9yYWdlAAAAAiN2YXJpYW50X2NvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV92MAEbY29uc2Vuc3VzX3BhcmFtZXRlcl9kYXRhX3YwEHZhcmlhbnRfZXZtdHhfdjABCGV2bXR4X3YwAQAAAAAAAABiBGJvb2w=\"}" + "text": "{\"account_name\":\"eosio.evm\",\"code_hash\":\"6ba6867a6a791db805aa9d01b970a38e6e7fbca638386cb3707ab221f5d59f64\",\"abi_hash\":\"08b4be0a20bb6c71ef1c95e226b7c8b3788a9e44eb725d31dd68471325036e78\",\"abi\":\"DmVvc2lvOjphYmkvMS4yAx1jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZSN2YXJpYW50X2NvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV92MBBldm1fdmVyc2lvbl90eXBlBnVpbnQ2NApldm10eF90eXBlGXZhcmlhbnRfZXZtdHhfdjFfZXZtdHhfdjM7B2FjY291bnQABgJpZAZ1aW50NjQLZXRoX2FkZHJlc3MFYnl0ZXMFbm9uY2UGdWludDY0B2JhbGFuY2UFYnl0ZXMHY29kZV9pZAd1aW50NjQ/BWZsYWdzB3VpbnQzMiQMYWNjb3VudF9jb2RlAAQCaWQGdWludDY0CXJlZl9jb3VudAZ1aW50MzIEY29kZQVieXRlcwljb2RlX2hhc2gFYnl0ZXMJYWRkZWdyZXNzAAEIYWNjb3VudHMGbmFtZVtdCWFkZGV2bWJhbAADAmlkBnVpbnQ2NAVkZWx0YQVieXRlcwhzdWJ0cmFjdARib29sCmFkZG9wZW5iYWwAAwdhY2NvdW50BG5hbWUFZGVsdGEFYnl0ZXMIc3VidHJhY3QEYm9vbAlhZG1pbmNhbGwABQRmcm9tBWJ5dGVzAnRvBWJ5dGVzBXZhbHVlBWJ5dGVzBGRhdGEFYnl0ZXMJZ2FzX2xpbWl0BnVpbnQ2NBZhbGxvd2VkX2VncmVzc19hY2NvdW50AAEHYWNjb3VudARuYW1lC2Fzc2VydG5vbmNlAAIHYWNjb3VudARuYW1lCm5leHRfbm9uY2UGdWludDY0B2JhbGFuY2UAAgVvd25lcgRuYW1lB2JhbGFuY2URYmFsYW5jZV93aXRoX2R1c3QRYmFsYW5jZV93aXRoX2R1c3QAAgdiYWxhbmNlBWFzc2V0BGR1c3QGdWludDY0CWJyaWRnZXJlZwADCHJlY2VpdmVyBG5hbWUHaGFuZGxlcgRuYW1lB21pbl9mZWUFYXNzZXQLYnJpZGdldW5yZWcAAQhyZWNlaXZlcgRuYW1lBGNhbGwABQRmcm9tBG5hbWUCdG8FYnl0ZXMFdmFsdWUFYnl0ZXMEZGF0YQVieXRlcwlnYXNfbGltaXQGdWludDY0DGNhbGxvdGhlcnBheQAGBXBheWVyBG5hbWUEZnJvbQRuYW1lAnRvBWJ5dGVzBXZhbHVlBWJ5dGVzBGRhdGEFYnl0ZXMJZ2FzX2xpbWl0BnVpbnQ2NAVjbG9zZQABBW93bmVyBG5hbWUGY29uZmlnAA0HdmVyc2lvbgl2YXJ1aW50MzIHY2hhaW5pZAZ1aW50NjQMZ2VuZXNpc190aW1lDnRpbWVfcG9pbnRfc2VjEmluZ3Jlc3NfYnJpZGdlX2ZlZQVhc3NldAlnYXNfcHJpY2UGdWludDY0CW1pbmVyX2N1dAZ1aW50MzIGc3RhdHVzBnVpbnQzMgtldm1fdmVyc2lvbiB2YWx1ZV9wcm9tb3Rlcl9ldm1fdmVyc2lvbl90eXBlJBNjb25zZW5zdXNfcGFyYW1ldGVyLXZhbHVlX3Byb21vdGVyX2NvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV90eXBlJA50b2tlbl9jb250cmFjdAVuYW1lJBFxdWV1ZV9mcm9udF9ibG9jawd1aW50MzIkEWluZ3Jlc3NfZ2FzX2xpbWl0B3VpbnQ2NCQKZ2FzX3ByaWNlcxBnYXNfcHJpY2VzX3R5cGUkB2NvbmZpZzIAAQ9uZXh0X2FjY291bnRfaWQGdWludDY0DGNvbmZpZ2NoYW5nZQABGGNvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YR1jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZSVjb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZV9wZW5kaW5nAAIFdmFsdWUdY29uc2Vuc3VzX3BhcmFtZXRlcl9kYXRhX3R5cGUEdGltZQp0aW1lX3BvaW50G2NvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV92MAABDWdhc19wYXJhbWV0ZXISZ2FzX3BhcmFtZXRlcl90eXBlGGV2bV92ZXJzaW9uX3R5cGVfcGVuZGluZwACBXZhbHVlEGV2bV92ZXJzaW9uX3R5cGUEdGltZQp0aW1lX3BvaW50BWV2bXR4AAEFZXZlbnQKZXZtdHhfdHlwZQpldm10eF9iYXNlAAIPZW9zX2V2bV92ZXJzaW9uBnVpbnQ2NAVybHB0eAVieXRlcwhldm10eF92MQpldm10eF9iYXNlARBiYXNlX2ZlZV9wZXJfZ2FzBnVpbnQ2NAhldm10eF92Mwpldm10eF9iYXNlAg5vdmVyaGVhZF9wcmljZQZ1aW50NjQNc3RvcmFnZV9wcmljZQZ1aW50NjQEZXhlYwACBWlucHV0CmV4ZWNfaW5wdXQIY2FsbGJhY2sOZXhlY19jYWxsYmFjaz8NZXhlY19jYWxsYmFjawACCGNvbnRyYWN0BG5hbWUGYWN0aW9uBG5hbWUKZXhlY19pbnB1dAAFB2NvbnRleHQGYnl0ZXM/BGZyb20GYnl0ZXM/AnRvBWJ5dGVzBGRhdGEFYnl0ZXMFdmFsdWUGYnl0ZXM/DmZlZV9wYXJhbWV0ZXJzAAMJZ2FzX3ByaWNlB3VpbnQ2ND8JbWluZXJfY3V0B3VpbnQzMj8SaW5ncmVzc19icmlkZ2VfZmVlBmFzc2V0PwZmcmVlemUAAQV2YWx1ZQRib29sC2ZyZWV6ZWFjY250AAICaWQGdWludDY0BXZhbHVlBGJvb2wSZ2FzX3BhcmFtZXRlcl90eXBlAAUQZ2FzX3R4bmV3YWNjb3VudAZ1aW50NjQOZ2FzX25ld2FjY291bnQGdWludDY0DGdhc190eGNyZWF0ZQZ1aW50NjQPZ2FzX2NvZGVkZXBvc2l0BnVpbnQ2NAhnYXNfc3NldAZ1aW50NjQPZ2FzX3ByaWNlc190eXBlAAIOb3ZlcmhlYWRfcHJpY2UHdWludDY0Pw1zdG9yYWdlX3ByaWNlB3VpbnQ2ND8CZ2MAAQNtYXgGdWludDMyB2djc3RvcmUAAgJpZAZ1aW50NjQKc3RvcmFnZV9pZAZ1aW50NjQEaW5pdAADB2NoYWluaWQGdWludDY0CmZlZV9wYXJhbXMOZmVlX3BhcmFtZXRlcnMOdG9rZW5fY29udHJhY3QFbmFtZSQQbWVzc2FnZV9yZWNlaXZlcgAEB2FjY291bnQEbmFtZQdoYW5kbGVyBG5hbWUHbWluX2ZlZQVhc3NldAVmbGFncwZ1aW50MzIKbWlncmF0ZWJhbAACCWZyb21fbmFtZQRuYW1lBWxpbWl0BWludDMyCW5leHRub25jZQACBW93bmVyBG5hbWUKbmV4dF9ub25jZQZ1aW50NjQEb3BlbgABBW93bmVyBG5hbWULcHJpY2VfcXVldWUAAgVibG9jawZ1aW50NjQFcHJpY2UGdWludDY0DHByaWNlc19xdWV1ZQACBWJsb2NrBnVpbnQ2NAZwcmljZXMPZ2FzX3ByaWNlc190eXBlBnB1c2h0eAADBW1pbmVyBG5hbWUFcmxwdHgFYnl0ZXMTbWluX2luY2x1c2lvbl9wcmljZQd1aW50NjQkDHJlbW92ZWVncmVzcwABCGFjY291bnRzBm5hbWVbXQlybWFjY291bnQAAQJpZAZ1aW50NjQJcm1nY3N0b3JlAAECaWQGdWludDY0DHNldGZlZXBhcmFtcwABCmZlZV9wYXJhbXMOZmVlX3BhcmFtZXRlcnMLc2V0Z2FzbGltaXQAARFpbmdyZXNzX2dhc19saW1pdAZ1aW50NjQLc2V0Z2FzcGFyYW0ABRBnYXNfdHhuZXdhY2NvdW50BnVpbnQ2NA5nYXNfbmV3YWNjb3VudAZ1aW50NjQMZ2FzX3R4Y3JlYXRlBnVpbnQ2NA9nYXNfY29kZWRlcG9zaXQGdWludDY0CGdhc19zc2V0BnVpbnQ2NAxzZXRnYXNwcmljZXMAAQZwcmljZXMPZ2FzX3ByaWNlc190eXBlCnNldGt2c3RvcmUAAwphY2NvdW50X2lkBnVpbnQ2NANrZXkFYnl0ZXMFdmFsdWUGYnl0ZXM/CnNldHZlcnNpb24AAQd2ZXJzaW9uBnVpbnQ2NApzdGF0aXN0aWNzAAMHdmVyc2lvbgl2YXJ1aW50MzIOZ2FzX2ZlZV9pbmNvbWURYmFsYW5jZV93aXRoX2R1c3QZaW5ncmVzc19icmlkZ2VfZmVlX2luY29tZRFiYWxhbmNlX3dpdGhfZHVzdAdzdG9yYWdlAAMCaWQGdWludDY0A2tleQVieXRlcwV2YWx1ZQVieXRlcwxzd2FwZ2FzdG9rZW4ABBJuZXdfdG9rZW5fY29udHJhY3QEbmFtZQpuZXdfc3ltYm9sBnN5bWJvbBFzd2FwX2Rlc3RfYWNjb3VudARuYW1lCXN3YXBfbWVtbwZzdHJpbmcMdXBkdGdhc3BhcmFtAAIMcmFtX3ByaWNlX21iBWFzc2V0CWdhc19wcmljZQZ1aW50NjQsdmFsdWVfcHJvbW90ZXJfY29uc2Vuc3VzX3BhcmFtZXRlcl9kYXRhX3R5cGUAAgxjYWNoZWRfdmFsdWUdY29uc2Vuc3VzX3BhcmFtZXRlcl9kYXRhX3R5cGUNcGVuZGluZ192YWx1ZSZjb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdHlwZV9wZW5kaW5nPx92YWx1ZV9wcm9tb3Rlcl9ldm1fdmVyc2lvbl90eXBlAAINcGVuZGluZ192YWx1ZRlldm1fdmVyc2lvbl90eXBlX3BlbmRpbmc/DGNhY2hlZF92YWx1ZRBldm1fdmVyc2lvbl90eXBlCHdpdGhkcmF3AAMFb3duZXIEbmFtZQhxdWFudGl0eQVhc3NldAJ0bwVuYW1lJCAAAMBYXaZSMglhZGRlZ3Jlc3MAAACI5sitUjIJYWRkZXZtYmFsAABANGeqSlMyCmFkZG9wZW5iYWwAAACI0aDpZDIJYWRtaW5jYWxsAAAUmnTmqzA2C2Fzc2VydG5vbmNlAAAAYOoqltw9CWJyaWRnZXJlZwAAmLpTK5bcPQticmlkZ2V1bnJlZwAAAAAAABCjQQRjYWxsAOBNvaplGqNBDGNhbGxvdGhlcnBheQAAAAAAAIVpRAVjbG9zZQCg2DQNMbcmRQxjb25maWdjaGFuZ2UAAAAAAICe5VYFZXZtdHgAAAAAAACAVFcEZXhlYwAAAAAAqK/UXQZmcmVlemUAAPJEyKiv1F0LZnJlZXplYWNjbnQAAAAAAAAAAGICZ2MAAAAAAACQ3XQEaW5pdAAAQDRHZXOZkwptaWdyYXRlYmFsAAAAAAAAMFWlBG9wZW4AAAAAAPTcsK4GcHVzaHR4AICxukypTaW6DHJlbW92ZWVncmVzcwAAAMhTU4SMvAlybWFjY291bnQAAABQl2aMmLwJcm1nY3N0b3JlAICluaYqtbLCDHNldGZlZXBhcmFtcwAAspMuYsOywgtzZXRnYXNsaW1pdAAApLmmYsOywgtzZXRnYXNwYXJhbQCAFXK3YsOywgxzZXRnYXNwcmljZXMAAIC6NOMNs8IKc2V0a3ZzdG9yZQAAwKQOX7WzwgpzZXR2ZXJzaW9uADAVpBkbVg3HDHN3YXBnYXN0b2tlbgAgzTUVG5ZT1Qx1cGR0Z2FzcGFyYW0AAAAA3NzUsuMId2l0aGRyYXcADgAAACBPTREyA2k2NAAAB2FjY291bnQAVKIoT00RMgNpNjQAAAxhY2NvdW50X2NvZGUAAABYoWmiOQNpNjQAAAdiYWxhbmNlAAAAADC3JkUDaTY0AAAGY29uZmlnAAAAQDC3JkUDaTY0AAAHY29uZmlnMgBAxi5irC5TA2k2NAAAFmFsbG93ZWRfZWdyZXNzX2FjY291bnQAAABAXZoxYgNpNjQAAAdnY3N0b3JlAAAAAAC51XQDaTY0AAARYmFsYW5jZV93aXRoX2R1c3QArtpOIXUZlgNpNjQAABBtZXNzYWdlX3JlY2VpdmVyAABWaNKZu5oDaTY0AAAJbmV4dG5vbmNlAIDSSluF3K0DaTY0AAALcHJpY2VfcXVldWUAlFbaYoXcrQNpNjQAAAxwcmljZXNfcXVldWUAAEYuY5dNxgNpNjQAAApzdGF0aXN0aWNzAAAAQDFzacYDaTY0AAAHc3RvcmFnZQAAAAIjdmFyaWFudF9jb25zZW5zdXNfcGFyYW1ldGVyX2RhdGFfdjABG2NvbnNlbnN1c19wYXJhbWV0ZXJfZGF0YV92MBl2YXJpYW50X2V2bXR4X3YxX2V2bXR4X3YzAghldm10eF92MQhldm10eF92MwEAAAAAAAAAYgRib29sAA==\"}" } \ No newline at end of file diff --git a/test/data/13a75998dc1734b37df46bd096a98523c13aa468.json b/test/data/1473f63bb3d4b4764c0f101b5463a94ff314d420.json similarity index 70% rename from test/data/13a75998dc1734b37df46bd096a98523c13aa468.json rename to test/data/1473f63bb3d4b4764c0f101b5463a94ff314d420.json index eeb9946..e4fe00a 100644 --- a/test/data/13a75998dc1734b37df46bd096a98523c13aa468.json +++ b/test/data/1473f63bb3d4b4764c0f101b5463a94ff314d420.json @@ -1,26 +1,26 @@ { "request": { - "path": "https://jungle4.greymass.com/v1/chain/send_transaction", + "path": "https://jungle4.greymass.com/v1/chain/send_transaction2", "params": { "method": "POST", - "body": "{\"signatures\":[\"SIG_K1_KBqxPZWzXEUgTUqLFdZVZWFwstSFxpFnpQ9GNjh8FCLWp4psopeZywuddHuTsQeucPJx6iYjGkFqLhmzyrRZg6kVnykhni\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c535db43b6dee9ac913be9a32000123c3b22613e65706a14076b8aecdd9b38c024e1c370f96fa3e06c9324cd878ca0426d0b071625cac5aef294b56b014038bab7f3088162e492d2ec9cc4b57484c2b492d52c8c94fcfcc630000dfbc20b9\"}", + "body": "{\"return_failure_trace\":true,\"retry_trx\":false,\"retry_trx_num_blocks\":0,\"transaction\":{\"signatures\":[\"SIG_K1_K8S2QMpmcrzhZqGvXAYpCavpMk8ZYB46RLX34FvfzehCLppSBx6hMMJ3p8eoHFJdTZ2wV66yxiBmizUahP5jRj9omZ4Bj8\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c0b57efcdfcbef9d0b7e3d60c40c0c8b0acc984f9954128901dae6b73f62ca38013c7cd83a5be8f41b20c13369e328109346c9c1817abd67bca92152cc5c0e2ea1f0ca2854b528b4b32f3d21512d34a528b1472f2d333f3180000402113\"}}", "headers": {} } }, "status": 202, "json": { - "transaction_id": "5cca59bd6b8253b541fbb125a2f970a0b4cb5348df32fc33fbdb9816a6397181", + "transaction_id": "5184e003ecdd061cfac4674cc7660c65fd67b0a8720cd5394ea5ee1037dc11ec", "processed": { - "id": "5cca59bd6b8253b541fbb125a2f970a0b4cb5348df32fc33fbdb9816a6397181", - "block_num": 155561466, - "block_time": "2024-08-13T18:11:00.000", + "id": "5184e003ecdd061cfac4674cc7660c65fd67b0a8720cd5394ea5ee1037dc11ec", + "block_num": 250000388, + "block_time": "2026-02-12T01:03:32.500", "producer_block_id": null, "receipt": { "status": "executed", - "cpu_usage_us": 134, + "cpu_usage_us": 130, "net_usage_words": 18 }, - "elapsed": 134, + "elapsed": 130, "net_usage": 144, "scheduled": false, "action_traces": [ @@ -31,12 +31,12 @@ "receipt": { "receiver": "eosio.token", "act_digest": "e2e171b0b40fc636d8786c5d178349fe72a61a3668fbbadbb7f957e440c2c9e1", - "global_sequence": 216057421, - "recv_sequence": 8401127, + "global_sequence": 326018627, + "recv_sequence": 8610915, "auth_sequence": [ [ "wharfkit1111", - 2730 + 3087 ] ], "code_sequence": 4, @@ -61,11 +61,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001374657374696e67206166746572206c6f67696e" }, "context_free": false, - "elapsed": 47, + "elapsed": 45, "console": "", - "trx_id": "5cca59bd6b8253b541fbb125a2f970a0b4cb5348df32fc33fbdb9816a6397181", - "block_num": 155561466, - "block_time": "2024-08-13T18:11:00.000", + "trx_id": "5184e003ecdd061cfac4674cc7660c65fd67b0a8720cd5394ea5ee1037dc11ec", + "block_num": 250000388, + "block_time": "2026-02-12T01:03:32.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -79,12 +79,12 @@ "receipt": { "receiver": "wharfkit1111", "act_digest": "e2e171b0b40fc636d8786c5d178349fe72a61a3668fbbadbb7f957e440c2c9e1", - "global_sequence": 216057422, - "recv_sequence": 700, + "global_sequence": 326018628, + "recv_sequence": 821, "auth_sequence": [ [ "wharfkit1111", - 2731 + 3088 ] ], "code_sequence": 4, @@ -111,9 +111,9 @@ "context_free": false, "elapsed": 4, "console": "", - "trx_id": "5cca59bd6b8253b541fbb125a2f970a0b4cb5348df32fc33fbdb9816a6397181", - "block_num": 155561466, - "block_time": "2024-08-13T18:11:00.000", + "trx_id": "5184e003ecdd061cfac4674cc7660c65fd67b0a8720cd5394ea5ee1037dc11ec", + "block_num": 250000388, + "block_time": "2026-02-12T01:03:32.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -127,12 +127,12 @@ "receipt": { "receiver": "teamgreymass", "act_digest": "e2e171b0b40fc636d8786c5d178349fe72a61a3668fbbadbb7f957e440c2c9e1", - "global_sequence": 216057423, - "recv_sequence": 1455, + "global_sequence": 326018629, + "recv_sequence": 1724, "auth_sequence": [ [ "wharfkit1111", - 2732 + 3089 ] ], "code_sequence": 4, @@ -157,11 +157,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001374657374696e67206166746572206c6f67696e" }, "context_free": false, - "elapsed": 5, + "elapsed": 4, "console": "", - "trx_id": "5cca59bd6b8253b541fbb125a2f970a0b4cb5348df32fc33fbdb9816a6397181", - "block_num": 155561466, - "block_time": "2024-08-13T18:11:00.000", + "trx_id": "5184e003ecdd061cfac4674cc7660c65fd67b0a8720cd5394ea5ee1037dc11ec", + "block_num": 250000388, + "block_time": "2026-02-12T01:03:32.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -174,5 +174,5 @@ "error_code": null } }, - "text": "{\"transaction_id\":\"5cca59bd6b8253b541fbb125a2f970a0b4cb5348df32fc33fbdb9816a6397181\",\"processed\":{\"id\":\"5cca59bd6b8253b541fbb125a2f970a0b4cb5348df32fc33fbdb9816a6397181\",\"block_num\":155561466,\"block_time\":\"2024-08-13T18:11:00.000\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":134,\"net_usage_words\":18},\"elapsed\":134,\"net_usage\":144,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"e2e171b0b40fc636d8786c5d178349fe72a61a3668fbbadbb7f957e440c2c9e1\",\"global_sequence\":216057421,\"recv_sequence\":8401127,\"auth_sequence\":[[\"wharfkit1111\",2730]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"testing after login\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001374657374696e67206166746572206c6f67696e\"},\"context_free\":false,\"elapsed\":47,\"console\":\"\",\"trx_id\":\"5cca59bd6b8253b541fbb125a2f970a0b4cb5348df32fc33fbdb9816a6397181\",\"block_num\":155561466,\"block_time\":\"2024-08-13T18:11:00.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"e2e171b0b40fc636d8786c5d178349fe72a61a3668fbbadbb7f957e440c2c9e1\",\"global_sequence\":216057422,\"recv_sequence\":700,\"auth_sequence\":[[\"wharfkit1111\",2731]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"testing after login\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001374657374696e67206166746572206c6f67696e\"},\"context_free\":false,\"elapsed\":4,\"console\":\"\",\"trx_id\":\"5cca59bd6b8253b541fbb125a2f970a0b4cb5348df32fc33fbdb9816a6397181\",\"block_num\":155561466,\"block_time\":\"2024-08-13T18:11:00.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"e2e171b0b40fc636d8786c5d178349fe72a61a3668fbbadbb7f957e440c2c9e1\",\"global_sequence\":216057423,\"recv_sequence\":1455,\"auth_sequence\":[[\"wharfkit1111\",2732]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"testing after login\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001374657374696e67206166746572206c6f67696e\"},\"context_free\":false,\"elapsed\":5,\"console\":\"\",\"trx_id\":\"5cca59bd6b8253b541fbb125a2f970a0b4cb5348df32fc33fbdb9816a6397181\",\"block_num\":155561466,\"block_time\":\"2024-08-13T18:11:00.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" + "text": "{\"transaction_id\":\"5184e003ecdd061cfac4674cc7660c65fd67b0a8720cd5394ea5ee1037dc11ec\",\"processed\":{\"id\":\"5184e003ecdd061cfac4674cc7660c65fd67b0a8720cd5394ea5ee1037dc11ec\",\"block_num\":250000388,\"block_time\":\"2026-02-12T01:03:32.500\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":130,\"net_usage_words\":18},\"elapsed\":130,\"net_usage\":144,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"e2e171b0b40fc636d8786c5d178349fe72a61a3668fbbadbb7f957e440c2c9e1\",\"global_sequence\":326018627,\"recv_sequence\":8610915,\"auth_sequence\":[[\"wharfkit1111\",3087]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"testing after login\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001374657374696e67206166746572206c6f67696e\"},\"context_free\":false,\"elapsed\":45,\"console\":\"\",\"trx_id\":\"5184e003ecdd061cfac4674cc7660c65fd67b0a8720cd5394ea5ee1037dc11ec\",\"block_num\":250000388,\"block_time\":\"2026-02-12T01:03:32.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"e2e171b0b40fc636d8786c5d178349fe72a61a3668fbbadbb7f957e440c2c9e1\",\"global_sequence\":326018628,\"recv_sequence\":821,\"auth_sequence\":[[\"wharfkit1111\",3088]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"testing after login\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001374657374696e67206166746572206c6f67696e\"},\"context_free\":false,\"elapsed\":4,\"console\":\"\",\"trx_id\":\"5184e003ecdd061cfac4674cc7660c65fd67b0a8720cd5394ea5ee1037dc11ec\",\"block_num\":250000388,\"block_time\":\"2026-02-12T01:03:32.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"e2e171b0b40fc636d8786c5d178349fe72a61a3668fbbadbb7f957e440c2c9e1\",\"global_sequence\":326018629,\"recv_sequence\":1724,\"auth_sequence\":[[\"wharfkit1111\",3089]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"testing after login\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001374657374696e67206166746572206c6f67696e\"},\"context_free\":false,\"elapsed\":4,\"console\":\"\",\"trx_id\":\"5184e003ecdd061cfac4674cc7660c65fd67b0a8720cd5394ea5ee1037dc11ec\",\"block_num\":250000388,\"block_time\":\"2026-02-12T01:03:32.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" } \ No newline at end of file diff --git a/test/data/456b6841118698d7a926ef7a25f574cbaf767466.json b/test/data/216b26458e227a3566080d4760b15d4306ef91bd.json similarity index 51% rename from test/data/456b6841118698d7a926ef7a25f574cbaf767466.json rename to test/data/216b26458e227a3566080d4760b15d4306ef91bd.json index dd1be01..2848b67 100644 --- a/test/data/456b6841118698d7a926ef7a25f574cbaf767466.json +++ b/test/data/216b26458e227a3566080d4760b15d4306ef91bd.json @@ -1,26 +1,26 @@ { "request": { - "path": "https://jungle4.greymass.com/v1/chain/send_transaction", + "path": "https://jungle4.greymass.com/v1/chain/send_transaction2", "params": { "method": "POST", - "body": "{\"signatures\":[\"SIG_K1_JveQDCfKfQtVmaHemdqdAAzoTTrbmFNza8u9agkrPwbbd67BWw3ToK5BUaUJnfwJKNjsUgpL7dA2ofpwzMu315DPAHdMMz\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c535db43b6dee9ac913be9a32000123c3b22613e65706a14076b8aecdd9b38c024e1c370f96fa3e06c9324cd878ca0226d0b071625cac5aef294b56b014038bab7f3088162fcf482c4acbce2c51c82c5628c94855484a2d2e51b031660000647e2172\"}", + "body": "{\"return_failure_trace\":true,\"retry_trx\":false,\"retry_trx_num_blocks\":0,\"transaction\":{\"signatures\":[\"SIG_K1_JvfoQTS9azLeoyR5mLRHsYK7VTBRcsQRUgjeW4VBytSgnpvhipuW23E6KkqC9Rx23L5FjHFZk31iJ2gVeQnc9jKmQpBawG\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c0b57efcdfcbef9d0b7e3d60c40c0c8b0acc984f9954128901dae6b73f62ca38013c7cd83a5be8f41b20c13369eb28009346c9c1817abd67bca92152cc5c0e2ea1f0ca2c5cb33128bd2b2334b14328b154a32521592528b4b146c8c1900865b21cc\"}}", "headers": {} } }, "status": 202, "json": { - "transaction_id": "196e64f645521fe6687d0245d4d43df9fb44157ff5d81c8e032d387a8d867281", + "transaction_id": "eb2cc357c1a6fcc56bac2131eff3e8e1d526a9476bf4339c84aec81eb93325f0", "processed": { - "id": "196e64f645521fe6687d0245d4d43df9fb44157ff5d81c8e032d387a8d867281", - "block_num": 155561455, - "block_time": "2024-08-13T18:10:54.500", + "id": "eb2cc357c1a6fcc56bac2131eff3e8e1d526a9476bf4339c84aec81eb93325f0", + "block_num": 250000380, + "block_time": "2026-02-12T01:03:28.500", "producer_block_id": null, "receipt": { "status": "executed", - "cpu_usage_us": 1640, + "cpu_usage_us": 135, "net_usage_words": 18 }, - "elapsed": 1640, + "elapsed": 135, "net_usage": 144, "scheduled": false, "action_traces": [ @@ -31,12 +31,12 @@ "receipt": { "receiver": "eosio.token", "act_digest": "c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8", - "global_sequence": 216057398, - "recv_sequence": 8401123, + "global_sequence": 326018599, + "recv_sequence": 8610910, "auth_sequence": [ [ "wharfkit1111", - 2721 + 3072 ] ], "code_sequence": 4, @@ -61,11 +61,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33" }, "context_free": false, - "elapsed": 1069, + "elapsed": 47, "console": "", - "trx_id": "196e64f645521fe6687d0245d4d43df9fb44157ff5d81c8e032d387a8d867281", - "block_num": 155561455, - "block_time": "2024-08-13T18:10:54.500", + "trx_id": "eb2cc357c1a6fcc56bac2131eff3e8e1d526a9476bf4339c84aec81eb93325f0", + "block_num": 250000380, + "block_time": "2026-02-12T01:03:28.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -79,12 +79,12 @@ "receipt": { "receiver": "wharfkit1111", "act_digest": "c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8", - "global_sequence": 216057399, - "recv_sequence": 697, + "global_sequence": 326018600, + "recv_sequence": 816, "auth_sequence": [ [ "wharfkit1111", - 2722 + 3073 ] ], "code_sequence": 4, @@ -109,11 +109,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33" }, "context_free": false, - "elapsed": 4, + "elapsed": 3, "console": "", - "trx_id": "196e64f645521fe6687d0245d4d43df9fb44157ff5d81c8e032d387a8d867281", - "block_num": 155561455, - "block_time": "2024-08-13T18:10:54.500", + "trx_id": "eb2cc357c1a6fcc56bac2131eff3e8e1d526a9476bf4339c84aec81eb93325f0", + "block_num": 250000380, + "block_time": "2026-02-12T01:03:28.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -127,12 +127,12 @@ "receipt": { "receiver": "teamgreymass", "act_digest": "c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8", - "global_sequence": 216057400, - "recv_sequence": 1452, + "global_sequence": 326018601, + "recv_sequence": 1719, "auth_sequence": [ [ "wharfkit1111", - 2723 + 3074 ] ], "code_sequence": 4, @@ -157,11 +157,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33" }, "context_free": false, - "elapsed": 450, + "elapsed": 5, "console": "", - "trx_id": "196e64f645521fe6687d0245d4d43df9fb44157ff5d81c8e032d387a8d867281", - "block_num": 155561455, - "block_time": "2024-08-13T18:10:54.500", + "trx_id": "eb2cc357c1a6fcc56bac2131eff3e8e1d526a9476bf4339c84aec81eb93325f0", + "block_num": 250000380, + "block_time": "2026-02-12T01:03:28.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -174,5 +174,5 @@ "error_code": null } }, - "text": "{\"transaction_id\":\"196e64f645521fe6687d0245d4d43df9fb44157ff5d81c8e032d387a8d867281\",\"processed\":{\"id\":\"196e64f645521fe6687d0245d4d43df9fb44157ff5d81c8e032d387a8d867281\",\"block_num\":155561455,\"block_time\":\"2024-08-13T18:10:54.500\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":1640,\"net_usage_words\":18},\"elapsed\":1640,\"net_usage\":144,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8\",\"global_sequence\":216057398,\"recv_sequence\":8401123,\"auth_sequence\":[[\"wharfkit1111\",2721]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":1069,\"console\":\"\",\"trx_id\":\"196e64f645521fe6687d0245d4d43df9fb44157ff5d81c8e032d387a8d867281\",\"block_num\":155561455,\"block_time\":\"2024-08-13T18:10:54.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8\",\"global_sequence\":216057399,\"recv_sequence\":697,\"auth_sequence\":[[\"wharfkit1111\",2722]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":4,\"console\":\"\",\"trx_id\":\"196e64f645521fe6687d0245d4d43df9fb44157ff5d81c8e032d387a8d867281\",\"block_num\":155561455,\"block_time\":\"2024-08-13T18:10:54.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8\",\"global_sequence\":216057400,\"recv_sequence\":1452,\"auth_sequence\":[[\"wharfkit1111\",2723]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":450,\"console\":\"\",\"trx_id\":\"196e64f645521fe6687d0245d4d43df9fb44157ff5d81c8e032d387a8d867281\",\"block_num\":155561455,\"block_time\":\"2024-08-13T18:10:54.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" + "text": "{\"transaction_id\":\"eb2cc357c1a6fcc56bac2131eff3e8e1d526a9476bf4339c84aec81eb93325f0\",\"processed\":{\"id\":\"eb2cc357c1a6fcc56bac2131eff3e8e1d526a9476bf4339c84aec81eb93325f0\",\"block_num\":250000380,\"block_time\":\"2026-02-12T01:03:28.500\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":135,\"net_usage_words\":18},\"elapsed\":135,\"net_usage\":144,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8\",\"global_sequence\":326018599,\"recv_sequence\":8610910,\"auth_sequence\":[[\"wharfkit1111\",3072]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":47,\"console\":\"\",\"trx_id\":\"eb2cc357c1a6fcc56bac2131eff3e8e1d526a9476bf4339c84aec81eb93325f0\",\"block_num\":250000380,\"block_time\":\"2026-02-12T01:03:28.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8\",\"global_sequence\":326018600,\"recv_sequence\":816,\"auth_sequence\":[[\"wharfkit1111\",3073]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":3,\"console\":\"\",\"trx_id\":\"eb2cc357c1a6fcc56bac2131eff3e8e1d526a9476bf4339c84aec81eb93325f0\",\"block_num\":250000380,\"block_time\":\"2026-02-12T01:03:28.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8\",\"global_sequence\":326018601,\"recv_sequence\":1719,\"auth_sequence\":[[\"wharfkit1111\",3074]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":5,\"console\":\"\",\"trx_id\":\"eb2cc357c1a6fcc56bac2131eff3e8e1d526a9476bf4339c84aec81eb93325f0\",\"block_num\":250000380,\"block_time\":\"2026-02-12T01:03:28.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" } \ No newline at end of file diff --git a/test/data/672537d2b230fea64f5094ff2875edec8cb30df5.json b/test/data/21bc7a9284e7457fed8e57f0d47698585ad0bb8e.json similarity index 71% rename from test/data/672537d2b230fea64f5094ff2875edec8cb30df5.json rename to test/data/21bc7a9284e7457fed8e57f0d47698585ad0bb8e.json index 863a145..82b2b9a 100644 --- a/test/data/672537d2b230fea64f5094ff2875edec8cb30df5.json +++ b/test/data/21bc7a9284e7457fed8e57f0d47698585ad0bb8e.json @@ -1,26 +1,26 @@ { "request": { - "path": "https://jungle4.greymass.com/v1/chain/send_transaction", + "path": "https://jungle4.greymass.com/v1/chain/send_transaction2", "params": { "method": "POST", - "body": "{\"signatures\":[\"SIG_K1_KhTJxbkoYwB2eLmsPgUabF2Aat84njVMvuEGeQwRa1yP1BjYCWkmNRyjhJanjELXCMxXguSZUf16qChH5fjK8ZHaVEgfA6\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c535db43b6dee9ac913be9a32000123c3b22613e65706a14076b8aecdd9b38c024e1c370f96fa3e06c9324cd878ca0226d0b071625cac5aef294b56b014038bab7f3088162f294acc2b4e4c2e51482aca4f4c494e2c2e5128292a4d6500006aa9226b\"}", + "body": "{\"return_failure_trace\":true,\"retry_trx\":false,\"retry_trx_num_blocks\":0,\"transaction\":{\"signatures\":[\"SIG_K1_K9ptuXmnTavH65YeTJAGGLNWr6f1UhEtmHnvUyeUGeTyaSbTEr6PxGXfAYpQsiARgoHBy2aUs76c8b3ZFWqg4PdUWMVuJK\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c0b57efcdfcbef9d0b7e3d60c40c0c8b0acc984f9954128901dae6b73f62ca38013c7cd83a5be8f41b20c13369eb28009346c9c1817abd67bca92152cc5c0e2ea1f0ca2c54b8a12f38a13934b14928af2135392138b4b144a8a4a5319008c8622c5\"}}", "headers": {} } }, "status": 202, "json": { - "transaction_id": "7215fd53e7d91375e05cbc96cb46b271271bd0fabae6e14b8e7766f98e039b66", + "transaction_id": "d7cb3b630626a5879c104b500aab62624838e1e2dee6fd4fac7f5108e2e6287f", "processed": { - "id": "7215fd53e7d91375e05cbc96cb46b271271bd0fabae6e14b8e7766f98e039b66", - "block_num": 155561466, - "block_time": "2024-08-13T18:11:00.000", + "id": "d7cb3b630626a5879c104b500aab62624838e1e2dee6fd4fac7f5108e2e6287f", + "block_num": 250000387, + "block_time": "2026-02-12T01:03:32.000", "producer_block_id": null, "receipt": { "status": "executed", - "cpu_usage_us": 151, + "cpu_usage_us": 144, "net_usage_words": 18 }, - "elapsed": 151, + "elapsed": 144, "net_usage": 144, "scheduled": false, "action_traces": [ @@ -31,12 +31,12 @@ "receipt": { "receiver": "eosio.token", "act_digest": "5b830cdd478f53ad88eb7d1c1fa3e9491777f41e9eaf9b016afb9b04742c6120", - "global_sequence": 216057421, - "recv_sequence": 8401127, + "global_sequence": 326018615, + "recv_sequence": 8610913, "auth_sequence": [ [ "wharfkit1111", - 2730 + 3081 ] ], "code_sequence": 4, @@ -61,11 +61,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f5300000000177472616e736163742062726f6164636173742074727565" }, "context_free": false, - "elapsed": 46, + "elapsed": 50, "console": "", - "trx_id": "7215fd53e7d91375e05cbc96cb46b271271bd0fabae6e14b8e7766f98e039b66", - "block_num": 155561466, - "block_time": "2024-08-13T18:11:00.000", + "trx_id": "d7cb3b630626a5879c104b500aab62624838e1e2dee6fd4fac7f5108e2e6287f", + "block_num": 250000387, + "block_time": "2026-02-12T01:03:32.000", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -79,12 +79,12 @@ "receipt": { "receiver": "wharfkit1111", "act_digest": "5b830cdd478f53ad88eb7d1c1fa3e9491777f41e9eaf9b016afb9b04742c6120", - "global_sequence": 216057422, - "recv_sequence": 700, + "global_sequence": 326018616, + "recv_sequence": 819, "auth_sequence": [ [ "wharfkit1111", - 2731 + 3082 ] ], "code_sequence": 4, @@ -109,11 +109,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f5300000000177472616e736163742062726f6164636173742074727565" }, "context_free": false, - "elapsed": 4, + "elapsed": 5, "console": "", - "trx_id": "7215fd53e7d91375e05cbc96cb46b271271bd0fabae6e14b8e7766f98e039b66", - "block_num": 155561466, - "block_time": "2024-08-13T18:11:00.000", + "trx_id": "d7cb3b630626a5879c104b500aab62624838e1e2dee6fd4fac7f5108e2e6287f", + "block_num": 250000387, + "block_time": "2026-02-12T01:03:32.000", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -127,12 +127,12 @@ "receipt": { "receiver": "teamgreymass", "act_digest": "5b830cdd478f53ad88eb7d1c1fa3e9491777f41e9eaf9b016afb9b04742c6120", - "global_sequence": 216057423, - "recv_sequence": 1455, + "global_sequence": 326018617, + "recv_sequence": 1722, "auth_sequence": [ [ "wharfkit1111", - 2732 + 3083 ] ], "code_sequence": 4, @@ -157,11 +157,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f5300000000177472616e736163742062726f6164636173742074727565" }, "context_free": false, - "elapsed": 4, + "elapsed": 5, "console": "", - "trx_id": "7215fd53e7d91375e05cbc96cb46b271271bd0fabae6e14b8e7766f98e039b66", - "block_num": 155561466, - "block_time": "2024-08-13T18:11:00.000", + "trx_id": "d7cb3b630626a5879c104b500aab62624838e1e2dee6fd4fac7f5108e2e6287f", + "block_num": 250000387, + "block_time": "2026-02-12T01:03:32.000", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -174,5 +174,5 @@ "error_code": null } }, - "text": "{\"transaction_id\":\"7215fd53e7d91375e05cbc96cb46b271271bd0fabae6e14b8e7766f98e039b66\",\"processed\":{\"id\":\"7215fd53e7d91375e05cbc96cb46b271271bd0fabae6e14b8e7766f98e039b66\",\"block_num\":155561466,\"block_time\":\"2024-08-13T18:11:00.000\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":151,\"net_usage_words\":18},\"elapsed\":151,\"net_usage\":144,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"5b830cdd478f53ad88eb7d1c1fa3e9491777f41e9eaf9b016afb9b04742c6120\",\"global_sequence\":216057421,\"recv_sequence\":8401127,\"auth_sequence\":[[\"wharfkit1111\",2730]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"transact broadcast true\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f5300000000177472616e736163742062726f6164636173742074727565\"},\"context_free\":false,\"elapsed\":46,\"console\":\"\",\"trx_id\":\"7215fd53e7d91375e05cbc96cb46b271271bd0fabae6e14b8e7766f98e039b66\",\"block_num\":155561466,\"block_time\":\"2024-08-13T18:11:00.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"5b830cdd478f53ad88eb7d1c1fa3e9491777f41e9eaf9b016afb9b04742c6120\",\"global_sequence\":216057422,\"recv_sequence\":700,\"auth_sequence\":[[\"wharfkit1111\",2731]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"transact broadcast true\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f5300000000177472616e736163742062726f6164636173742074727565\"},\"context_free\":false,\"elapsed\":4,\"console\":\"\",\"trx_id\":\"7215fd53e7d91375e05cbc96cb46b271271bd0fabae6e14b8e7766f98e039b66\",\"block_num\":155561466,\"block_time\":\"2024-08-13T18:11:00.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"5b830cdd478f53ad88eb7d1c1fa3e9491777f41e9eaf9b016afb9b04742c6120\",\"global_sequence\":216057423,\"recv_sequence\":1455,\"auth_sequence\":[[\"wharfkit1111\",2732]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"transact broadcast true\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f5300000000177472616e736163742062726f6164636173742074727565\"},\"context_free\":false,\"elapsed\":4,\"console\":\"\",\"trx_id\":\"7215fd53e7d91375e05cbc96cb46b271271bd0fabae6e14b8e7766f98e039b66\",\"block_num\":155561466,\"block_time\":\"2024-08-13T18:11:00.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" + "text": "{\"transaction_id\":\"d7cb3b630626a5879c104b500aab62624838e1e2dee6fd4fac7f5108e2e6287f\",\"processed\":{\"id\":\"d7cb3b630626a5879c104b500aab62624838e1e2dee6fd4fac7f5108e2e6287f\",\"block_num\":250000387,\"block_time\":\"2026-02-12T01:03:32.000\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":144,\"net_usage_words\":18},\"elapsed\":144,\"net_usage\":144,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"5b830cdd478f53ad88eb7d1c1fa3e9491777f41e9eaf9b016afb9b04742c6120\",\"global_sequence\":326018615,\"recv_sequence\":8610913,\"auth_sequence\":[[\"wharfkit1111\",3081]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"transact broadcast true\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f5300000000177472616e736163742062726f6164636173742074727565\"},\"context_free\":false,\"elapsed\":50,\"console\":\"\",\"trx_id\":\"d7cb3b630626a5879c104b500aab62624838e1e2dee6fd4fac7f5108e2e6287f\",\"block_num\":250000387,\"block_time\":\"2026-02-12T01:03:32.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"5b830cdd478f53ad88eb7d1c1fa3e9491777f41e9eaf9b016afb9b04742c6120\",\"global_sequence\":326018616,\"recv_sequence\":819,\"auth_sequence\":[[\"wharfkit1111\",3082]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"transact broadcast true\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f5300000000177472616e736163742062726f6164636173742074727565\"},\"context_free\":false,\"elapsed\":5,\"console\":\"\",\"trx_id\":\"d7cb3b630626a5879c104b500aab62624838e1e2dee6fd4fac7f5108e2e6287f\",\"block_num\":250000387,\"block_time\":\"2026-02-12T01:03:32.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"5b830cdd478f53ad88eb7d1c1fa3e9491777f41e9eaf9b016afb9b04742c6120\",\"global_sequence\":326018617,\"recv_sequence\":1722,\"auth_sequence\":[[\"wharfkit1111\",3083]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"transact broadcast true\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f5300000000177472616e736163742062726f6164636173742074727565\"},\"context_free\":false,\"elapsed\":5,\"console\":\"\",\"trx_id\":\"d7cb3b630626a5879c104b500aab62624838e1e2dee6fd4fac7f5108e2e6287f\",\"block_num\":250000387,\"block_time\":\"2026-02-12T01:03:32.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" } \ No newline at end of file diff --git a/test/data/2a237f8e3cd994f8e1a79351abbcd72f902a0163.json b/test/data/2a237f8e3cd994f8e1a79351abbcd72f902a0163.json deleted file mode 100644 index e080164..0000000 --- a/test/data/2a237f8e3cd994f8e1a79351abbcd72f902a0163.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/chain/get_account", - "params": { - "method": "POST", - "body": "{\"account_name\":\"wharfkit1111\"}", - "headers": {} - } - }, - "status": 200, - "json": { - "account_name": "wharfkit1111", - "head_block_num": 155561454, - "head_block_time": "2024-08-13T18:10:54.000", - "privileged": false, - "last_code_update": "1970-01-01T00:00:00.000", - "created": "2022-12-07T01:11:58.500", - "core_liquid_balance": "988.8338 EOS", - "ram_quota": 13477, - "net_weight": 1010000, - "cpu_weight": 500010000, - "net_limit": { - "used": 153, - "available": 1556785, - "max": 1556938, - "last_usage_update_time": "2024-08-08T08:19:26.000", - "current_used": 0 - }, - "cpu_limit": { - "used": 235, - "available": 143317711, - "max": 143317946, - "last_usage_update_time": "2024-08-08T08:19:26.000", - "current_used": 0 - }, - "ram_usage": 3750, - "permissions": [ - { - "perm_name": "active", - "parent": "owner", - "required_auth": { - "threshold": 1, - "keys": [ - { - "key": "EOS6XXTaRpWhPwnb7CTV9zVsCBrvCpYMMPSk8E8hsJxhf6VFW9DYN", - "weight": 1 - } - ], - "accounts": [], - "waits": [] - }, - "linked_actions": [] - }, - { - "perm_name": "owner", - "parent": "", - "required_auth": { - "threshold": 1, - "keys": [ - { - "key": "EOS6XXTaRpWhPwnb7CTV9zVsCBrvCpYMMPSk8E8hsJxhf6VFW9DYN", - "weight": 1 - } - ], - "accounts": [], - "waits": [] - }, - "linked_actions": [] - }, - { - "perm_name": "test", - "parent": "active", - "required_auth": { - "threshold": 1, - "keys": [ - { - "key": "EOS6RMS3nvoN9StPzZizve6WdovaDkE5KkEcCDXW7LbepyAioMiK6", - "weight": 1 - } - ], - "accounts": [], - "waits": [] - }, - "linked_actions": [ - { - "account": "eosio.token", - "action": "transfer" - }, - { - "account": "todoapp12345", - "action": "add" - } - ] - } - ], - "total_resources": { - "owner": "wharfkit1111", - "net_weight": "101.0000 EOS", - "cpu_weight": "50001.0000 EOS", - "ram_bytes": 12077 - }, - "self_delegated_bandwidth": null, - "refund_request": null, - "voter_info": null, - "rex_info": null, - "subjective_cpu_bill_limit": { - "used": 0, - "available": 0, - "max": 0, - "last_usage_update_time": "2000-01-01T00:00:00.000", - "current_used": 0 - }, - "eosio_any_linked_actions": [] - }, - "text": "{\"account_name\":\"wharfkit1111\",\"head_block_num\":155561454,\"head_block_time\":\"2024-08-13T18:10:54.000\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2022-12-07T01:11:58.500\",\"core_liquid_balance\":\"988.8338 EOS\",\"ram_quota\":13477,\"net_weight\":1010000,\"cpu_weight\":500010000,\"net_limit\":{\"used\":153,\"available\":1556785,\"max\":1556938,\"last_usage_update_time\":\"2024-08-08T08:19:26.000\",\"current_used\":0},\"cpu_limit\":{\"used\":235,\"available\":143317711,\"max\":143317946,\"last_usage_update_time\":\"2024-08-08T08:19:26.000\",\"current_used\":0},\"ram_usage\":3750,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6XXTaRpWhPwnb7CTV9zVsCBrvCpYMMPSk8E8hsJxhf6VFW9DYN\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6XXTaRpWhPwnb7CTV9zVsCBrvCpYMMPSk8E8hsJxhf6VFW9DYN\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"test\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6RMS3nvoN9StPzZizve6WdovaDkE5KkEcCDXW7LbepyAioMiK6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio.token\",\"action\":\"transfer\"},{\"account\":\"todoapp12345\",\"action\":\"add\"}]}],\"total_resources\":{\"owner\":\"wharfkit1111\",\"net_weight\":\"101.0000 EOS\",\"cpu_weight\":\"50001.0000 EOS\",\"ram_bytes\":12077},\"self_delegated_bandwidth\":null,\"refund_request\":null,\"voter_info\":null,\"rex_info\":null,\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0,\"last_usage_update_time\":\"2000-01-01T00:00:00.000\",\"current_used\":0},\"eosio_any_linked_actions\":[]}" -} \ No newline at end of file diff --git a/test/data/39ad21858b5790c6700689f24e5edae9b8e384bf.json b/test/data/39ad21858b5790c6700689f24e5edae9b8e384bf.json new file mode 100644 index 0000000..a801e31 --- /dev/null +++ b/test/data/39ad21858b5790c6700689f24e5edae9b8e384bf.json @@ -0,0 +1,57 @@ +{ + "request": { + "path": "https://jungle4.greymass.com/v1/resource_provider/request_transaction", + "params": { + "method": "POST", + "body": "{\"request\":\"esr://gmNgZApX7838vvnQt-PWDEDACCIYXhmENlw2jYl96ePCGODCcfNgqe9jsMSEjac4GjZOjItV6z0FUgsA\",\"signer\":{\"actor\":\"wharfkit1125\",\"permission\":\"test\"}}" + } + }, + "status": 200, + "json": { + "code": 200, + "data": { + "request": [ + "transaction", + { + "expiration": "2026-02-12T01:05:27", + "ref_block_num": 46071, + "ref_block_prefix": 1002960578, + "max_net_usage_words": 0, + "max_cpu_usage_ms": 0, + "delay_sec": 0, + "context_free_actions": [], + "actions": [ + { + "account": "greymassnoop", + "name": "noop", + "authorization": [ + { + "actor": "greymassfuel", + "permission": "cosign" + } + ], + "data": "" + }, + { + "account": "eosio", + "name": "claimrewards", + "authorization": [ + { + "actor": "wharfkit1125", + "permission": "test" + } + ], + "data": "80b1915e5d268dca" + } + ], + "transaction_extensions": [] + } + ], + "signatures": [ + "SIG_K1_K2JfY1zV4214Tv6QqSY8aQiikvqysy5xCi4eRPvM6KijjyVdTykA8sn2R6noermWWmua1NXxF9FiRho4YBmKAMF6XQnpTf" + ], + "version": null + } + }, + "text": "{\"code\":200,\"data\":{\"request\":[\"transaction\",{\"expiration\":\"2026-02-12T01:05:27\",\"ref_block_num\":46071,\"ref_block_prefix\":1002960578,\"max_net_usage_words\":0,\"max_cpu_usage_ms\":0,\"delay_sec\":0,\"context_free_actions\":[],\"actions\":[{\"account\":\"greymassnoop\",\"name\":\"noop\",\"authorization\":[{\"actor\":\"greymassfuel\",\"permission\":\"cosign\"}],\"data\":\"\"},{\"account\":\"eosio\",\"name\":\"claimrewards\",\"authorization\":[{\"actor\":\"wharfkit1125\",\"permission\":\"test\"}],\"data\":\"80b1915e5d268dca\"}],\"transaction_extensions\":[]}],\"signatures\":[\"SIG_K1_K2JfY1zV4214Tv6QqSY8aQiikvqysy5xCi4eRPvM6KijjyVdTykA8sn2R6noermWWmua1NXxF9FiRho4YBmKAMF6XQnpTf\"],\"version\":null}}" +} \ No newline at end of file diff --git a/test/data/3d824f209c07ad0b7516ac2e4e06ef27df168e71.json b/test/data/3d824f209c07ad0b7516ac2e4e06ef27df168e71.json deleted file mode 100644 index aa4920e..0000000 --- a/test/data/3d824f209c07ad0b7516ac2e4e06ef27df168e71.json +++ /dev/null @@ -1,178 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/chain/send_transaction", - "params": { - "method": "POST", - "body": "{\"signatures\":[\"SIG_K1_KVy2VPSWEFrz67241Hpbscj2XtDiPGPKq4rzsgMaEb9h8TqebWWYxU5dQyCtXUPCBaFcM6Kd5ELdyVPLonQFzXrYcqeacJ\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c535db43b6dee9ac913be9a32000123c3b22613e65706a14076b8aecdd9b38c026e1c370f96fa3e06c9324cd878ca0226006483694606086071f50f06d1e2e519894569d999250a99c50a2519a90a49a9c5250a36c60c0098e5228d\"}", - "headers": {} - } - }, - "status": 202, - "json": { - "transaction_id": "e2fb79781a5460fb062392aec0a3da75237a89c4755ca9156beebb0ccc25c48d", - "processed": { - "id": "e2fb79781a5460fb062392aec0a3da75237a89c4755ca9156beebb0ccc25c48d", - "block_num": 155561460, - "block_time": "2024-08-13T18:10:57.000", - "producer_block_id": null, - "receipt": { - "status": "executed", - "cpu_usage_us": 135, - "net_usage_words": 18 - }, - "elapsed": 135, - "net_usage": 144, - "scheduled": false, - "action_traces": [ - { - "action_ordinal": 1, - "creator_action_ordinal": 0, - "closest_unnotified_ancestor_action_ordinal": 0, - "receipt": { - "receiver": "eosio.token", - "act_digest": "1857230261daaec7550bdf7b841708fd94a3c2027fa67c47033d582da956ea7c", - "global_sequence": 216057412, - "recv_sequence": 8401126, - "auth_sequence": [ - [ - "wharfkit1131", - 206 - ] - ], - "code_sequence": 4, - "abi_sequence": 5 - }, - "receiver": "eosio.token", - "act": { - "account": "eosio.token", - "name": "transfer", - "authorization": [ - { - "actor": "wharfkit1131", - "permission": "test" - } - ], - "data": { - "from": "wharfkit1131", - "to": "wharfkittest", - "quantity": "0.0001 EOS", - "memo": "wharfkit is the best <3" - }, - "hex_data": "104608d9c1754de390b1cad9c1754de3010000000000000004454f53000000001777686172666b6974206973207468652062657374203c33" - }, - "context_free": false, - "elapsed": 42, - "console": "", - "trx_id": "e2fb79781a5460fb062392aec0a3da75237a89c4755ca9156beebb0ccc25c48d", - "block_num": 155561460, - "block_time": "2024-08-13T18:10:57.000", - "producer_block_id": null, - "account_ram_deltas": [], - "except": null, - "error_code": null, - "return_value_hex_data": "" - }, - { - "action_ordinal": 2, - "creator_action_ordinal": 1, - "closest_unnotified_ancestor_action_ordinal": 1, - "receipt": { - "receiver": "wharfkit1131", - "act_digest": "1857230261daaec7550bdf7b841708fd94a3c2027fa67c47033d582da956ea7c", - "global_sequence": 216057413, - "recv_sequence": 70, - "auth_sequence": [ - [ - "wharfkit1131", - 207 - ] - ], - "code_sequence": 4, - "abi_sequence": 5 - }, - "receiver": "wharfkit1131", - "act": { - "account": "eosio.token", - "name": "transfer", - "authorization": [ - { - "actor": "wharfkit1131", - "permission": "test" - } - ], - "data": { - "from": "wharfkit1131", - "to": "wharfkittest", - "quantity": "0.0001 EOS", - "memo": "wharfkit is the best <3" - }, - "hex_data": "104608d9c1754de390b1cad9c1754de3010000000000000004454f53000000001777686172666b6974206973207468652062657374203c33" - }, - "context_free": false, - "elapsed": 4, - "console": "", - "trx_id": "e2fb79781a5460fb062392aec0a3da75237a89c4755ca9156beebb0ccc25c48d", - "block_num": 155561460, - "block_time": "2024-08-13T18:10:57.000", - "producer_block_id": null, - "account_ram_deltas": [], - "except": null, - "error_code": null, - "return_value_hex_data": "" - }, - { - "action_ordinal": 3, - "creator_action_ordinal": 1, - "closest_unnotified_ancestor_action_ordinal": 1, - "receipt": { - "receiver": "wharfkittest", - "act_digest": "1857230261daaec7550bdf7b841708fd94a3c2027fa67c47033d582da956ea7c", - "global_sequence": 216057414, - "recv_sequence": 12594, - "auth_sequence": [ - [ - "wharfkit1131", - 208 - ] - ], - "code_sequence": 4, - "abi_sequence": 5 - }, - "receiver": "wharfkittest", - "act": { - "account": "eosio.token", - "name": "transfer", - "authorization": [ - { - "actor": "wharfkit1131", - "permission": "test" - } - ], - "data": { - "from": "wharfkit1131", - "to": "wharfkittest", - "quantity": "0.0001 EOS", - "memo": "wharfkit is the best <3" - }, - "hex_data": "104608d9c1754de390b1cad9c1754de3010000000000000004454f53000000001777686172666b6974206973207468652062657374203c33" - }, - "context_free": false, - "elapsed": 3, - "console": "", - "trx_id": "e2fb79781a5460fb062392aec0a3da75237a89c4755ca9156beebb0ccc25c48d", - "block_num": 155561460, - "block_time": "2024-08-13T18:10:57.000", - "producer_block_id": null, - "account_ram_deltas": [], - "except": null, - "error_code": null, - "return_value_hex_data": "" - } - ], - "account_ram_delta": null, - "except": null, - "error_code": null - } - }, - "text": "{\"transaction_id\":\"e2fb79781a5460fb062392aec0a3da75237a89c4755ca9156beebb0ccc25c48d\",\"processed\":{\"id\":\"e2fb79781a5460fb062392aec0a3da75237a89c4755ca9156beebb0ccc25c48d\",\"block_num\":155561460,\"block_time\":\"2024-08-13T18:10:57.000\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":135,\"net_usage_words\":18},\"elapsed\":135,\"net_usage\":144,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"1857230261daaec7550bdf7b841708fd94a3c2027fa67c47033d582da956ea7c\",\"global_sequence\":216057412,\"recv_sequence\":8401126,\"auth_sequence\":[[\"wharfkit1131\",206]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1131\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1131\",\"to\":\"wharfkittest\",\"quantity\":\"0.0001 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104608d9c1754de390b1cad9c1754de3010000000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":42,\"console\":\"\",\"trx_id\":\"e2fb79781a5460fb062392aec0a3da75237a89c4755ca9156beebb0ccc25c48d\",\"block_num\":155561460,\"block_time\":\"2024-08-13T18:10:57.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1131\",\"act_digest\":\"1857230261daaec7550bdf7b841708fd94a3c2027fa67c47033d582da956ea7c\",\"global_sequence\":216057413,\"recv_sequence\":70,\"auth_sequence\":[[\"wharfkit1131\",207]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1131\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1131\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1131\",\"to\":\"wharfkittest\",\"quantity\":\"0.0001 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104608d9c1754de390b1cad9c1754de3010000000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":4,\"console\":\"\",\"trx_id\":\"e2fb79781a5460fb062392aec0a3da75237a89c4755ca9156beebb0ccc25c48d\",\"block_num\":155561460,\"block_time\":\"2024-08-13T18:10:57.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkittest\",\"act_digest\":\"1857230261daaec7550bdf7b841708fd94a3c2027fa67c47033d582da956ea7c\",\"global_sequence\":216057414,\"recv_sequence\":12594,\"auth_sequence\":[[\"wharfkit1131\",208]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkittest\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1131\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1131\",\"to\":\"wharfkittest\",\"quantity\":\"0.0001 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104608d9c1754de390b1cad9c1754de3010000000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":3,\"console\":\"\",\"trx_id\":\"e2fb79781a5460fb062392aec0a3da75237a89c4755ca9156beebb0ccc25c48d\",\"block_num\":155561460,\"block_time\":\"2024-08-13T18:10:57.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" -} \ No newline at end of file diff --git a/test/data/51e26047944128524f75770ddb3b02ae26b3cde0.json b/test/data/51e26047944128524f75770ddb3b02ae26b3cde0.json deleted file mode 100644 index a3a0926..0000000 --- a/test/data/51e26047944128524f75770ddb3b02ae26b3cde0.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/chain/send_transaction", - "params": { - "method": "POST", - "body": "{\"signatures\":[\"SIG_K1_KWRaP24idkchDH9eDrQz3qvyhmGY1wXVMMXPPwPYUaZTSc78ie6qJKX9iHfXyv4wgJNHFCawv6Rd7z852KD6E13BVHerei\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c535db43b6dee9ac913be9a32000163c009818561cec26719c020c88851c089e3e6c152dfc760fe848da78460029cb9f9c9d90a25a9c5250c00fa581629\"}", - "headers": {} - } - }, - "status": 202, - "json": { - "transaction_id": "e9a53f3fb795e5f6393d8b3098ec6a43544e2083bd1bd30764af62ccd8e49c40", - "processed": { - "id": "e9a53f3fb795e5f6393d8b3098ec6a43544e2083bd1bd30764af62ccd8e49c40", - "block_num": 155561468, - "block_time": "2024-08-13T18:11:01.000", - "producer_block_id": null, - "receipt": { - "status": "executed", - "cpu_usage_us": 4900, - "net_usage_words": 14 - }, - "elapsed": 4900, - "net_usage": 112, - "scheduled": false, - "action_traces": [ - { - "action_ordinal": 1, - "creator_action_ordinal": 0, - "closest_unnotified_ancestor_action_ordinal": 0, - "receipt": { - "receiver": "todoapp12345", - "act_digest": "6cddbc086f921b9490ee8d7acc74b501d849928fd8bc6d11a8843ded1b5828f7", - "global_sequence": 216057434, - "recv_sequence": 213, - "auth_sequence": [ - [ - "wharfkit1111", - 2739 - ] - ], - "code_sequence": 8, - "abi_sequence": 5 - }, - "receiver": "todoapp12345", - "act": { - "account": "todoapp12345", - "name": "add", - "authorization": [ - { - "actor": "wharfkit1111", - "permission": "test" - } - ], - "data": { - "author": "wharfkit1111", - "description": "mock test" - }, - "hex_data": "104208d9c1754de3096d6f636b2074657374" - }, - "context_free": false, - "elapsed": 4628, - "console": "", - "trx_id": "e9a53f3fb795e5f6393d8b3098ec6a43544e2083bd1bd30764af62ccd8e49c40", - "block_num": 155561468, - "block_time": "2024-08-13T18:11:01.000", - "producer_block_id": null, - "account_ram_deltas": [ - { - "account": "todoapp12345", - "delta": 282 - } - ], - "except": null, - "error_code": null, - "return_value_hex_data": "0900000000000000104208d9c1754de340173488941f0600096d6f636b20746573740000000000000000", - "return_value_data": { - "id": 9, - "author": "wharfkit1111", - "timestamp": "2024-08-13T18:11:01.000", - "description": "mock test", - "completed": 0 - } - } - ], - "account_ram_delta": null, - "except": null, - "error_code": null - } - }, - "text": "{\"transaction_id\":\"e9a53f3fb795e5f6393d8b3098ec6a43544e2083bd1bd30764af62ccd8e49c40\",\"processed\":{\"id\":\"e9a53f3fb795e5f6393d8b3098ec6a43544e2083bd1bd30764af62ccd8e49c40\",\"block_num\":155561468,\"block_time\":\"2024-08-13T18:11:01.000\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":4900,\"net_usage_words\":14},\"elapsed\":4900,\"net_usage\":112,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"todoapp12345\",\"act_digest\":\"6cddbc086f921b9490ee8d7acc74b501d849928fd8bc6d11a8843ded1b5828f7\",\"global_sequence\":216057434,\"recv_sequence\":213,\"auth_sequence\":[[\"wharfkit1111\",2739]],\"code_sequence\":8,\"abi_sequence\":5},\"receiver\":\"todoapp12345\",\"act\":{\"account\":\"todoapp12345\",\"name\":\"add\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"author\":\"wharfkit1111\",\"description\":\"mock test\"},\"hex_data\":\"104208d9c1754de3096d6f636b2074657374\"},\"context_free\":false,\"elapsed\":4628,\"console\":\"\",\"trx_id\":\"e9a53f3fb795e5f6393d8b3098ec6a43544e2083bd1bd30764af62ccd8e49c40\",\"block_num\":155561468,\"block_time\":\"2024-08-13T18:11:01.000\",\"producer_block_id\":null,\"account_ram_deltas\":[{\"account\":\"todoapp12345\",\"delta\":282}],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"0900000000000000104208d9c1754de340173488941f0600096d6f636b20746573740000000000000000\",\"return_value_data\":{\"id\":9,\"author\":\"wharfkit1111\",\"timestamp\":\"2024-08-13T18:11:01.000\",\"description\":\"mock test\",\"completed\":0}}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" -} \ No newline at end of file diff --git a/test/data/66ff1b3ac20001845f729dda5debe2551211b2b0.json b/test/data/66ff1b3ac20001845f729dda5debe2551211b2b0.json new file mode 100644 index 0000000..2b63356 --- /dev/null +++ b/test/data/66ff1b3ac20001845f729dda5debe2551211b2b0.json @@ -0,0 +1,92 @@ +{ + "request": { + "path": "https://jungle4.greymass.com/v1/chain/send_transaction2", + "params": { + "method": "POST", + "body": "{\"return_failure_trace\":true,\"retry_trx\":false,\"retry_trx_num_blocks\":0,\"transaction\":{\"signatures\":[\"SIG_K1_KUrRxXEhcTFWLARtHLxSdsQJX1bhvCRcjT4o2p3G4e4DQVFY8VQ5Cyy9A1UsuatykvN8hQ1CaW7wCJ1sqFLxwyUiQYocGb\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c0b57efcdfcbef9d0b7e3d60c40c0187042606198b3f05906300832621470e2b879b0d4f731983f61e329219800676e7e72b642496a710903000ee81683\"}}", + "headers": {} + } + }, + "status": 202, + "json": { + "transaction_id": "c822eb332ba882ebabf6d13dfddb67ff7452a6ac62c0c6dac2fa1f46263d2514", + "processed": { + "id": "c822eb332ba882ebabf6d13dfddb67ff7452a6ac62c0c6dac2fa1f46263d2514", + "block_num": 250000389, + "block_time": "2026-02-12T01:03:33.000", + "producer_block_id": null, + "receipt": { + "status": "executed", + "cpu_usage_us": 147, + "net_usage_words": 14 + }, + "elapsed": 147, + "net_usage": 112, + "scheduled": false, + "action_traces": [ + { + "action_ordinal": 1, + "creator_action_ordinal": 0, + "closest_unnotified_ancestor_action_ordinal": 0, + "receipt": { + "receiver": "todoapp12345", + "act_digest": "5e2102b818dc355407d492057e6960e91c5cc9a6ae09e19e94663d2e92669c48", + "global_sequence": 326018633, + "recv_sequence": 223, + "auth_sequence": [ + [ + "wharfkit1111", + 3090 + ] + ], + "code_sequence": 8, + "abi_sequence": 5 + }, + "receiver": "todoapp12345", + "act": { + "account": "todoapp12345", + "name": "add", + "authorization": [ + { + "actor": "wharfkit1111", + "permission": "test" + } + ], + "data": { + "author": "wharfkit1111", + "description": "mock test" + }, + "hex_data": "104208d9c1754de3096d6f636b2074657374" + }, + "context_free": false, + "elapsed": 61, + "console": "", + "trx_id": "c822eb332ba882ebabf6d13dfddb67ff7452a6ac62c0c6dac2fa1f46263d2514", + "block_num": 250000389, + "block_time": "2026-02-12T01:03:33.000", + "producer_block_id": null, + "account_ram_deltas": [ + { + "account": "todoapp12345", + "delta": 282 + } + ], + "except": null, + "error_code": null, + "return_value_hex_data": "0c00000000000000104208d9c1754de340c3bb0e964a0600096d6f636b20746573740000000000000000", + "return_value_data": { + "id": 12, + "author": "wharfkit1111", + "timestamp": "2026-02-12T01:03:33.000", + "description": "mock test", + "completed": 0 + } + } + ], + "account_ram_delta": null, + "except": null, + "error_code": null + } + }, + "text": "{\"transaction_id\":\"c822eb332ba882ebabf6d13dfddb67ff7452a6ac62c0c6dac2fa1f46263d2514\",\"processed\":{\"id\":\"c822eb332ba882ebabf6d13dfddb67ff7452a6ac62c0c6dac2fa1f46263d2514\",\"block_num\":250000389,\"block_time\":\"2026-02-12T01:03:33.000\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":147,\"net_usage_words\":14},\"elapsed\":147,\"net_usage\":112,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"todoapp12345\",\"act_digest\":\"5e2102b818dc355407d492057e6960e91c5cc9a6ae09e19e94663d2e92669c48\",\"global_sequence\":326018633,\"recv_sequence\":223,\"auth_sequence\":[[\"wharfkit1111\",3090]],\"code_sequence\":8,\"abi_sequence\":5},\"receiver\":\"todoapp12345\",\"act\":{\"account\":\"todoapp12345\",\"name\":\"add\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"author\":\"wharfkit1111\",\"description\":\"mock test\"},\"hex_data\":\"104208d9c1754de3096d6f636b2074657374\"},\"context_free\":false,\"elapsed\":61,\"console\":\"\",\"trx_id\":\"c822eb332ba882ebabf6d13dfddb67ff7452a6ac62c0c6dac2fa1f46263d2514\",\"block_num\":250000389,\"block_time\":\"2026-02-12T01:03:33.000\",\"producer_block_id\":null,\"account_ram_deltas\":[{\"account\":\"todoapp12345\",\"delta\":282}],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"0c00000000000000104208d9c1754de340c3bb0e964a0600096d6f636b20746573740000000000000000\",\"return_value_data\":{\"id\":12,\"author\":\"wharfkit1111\",\"timestamp\":\"2026-02-12T01:03:33.000\",\"description\":\"mock test\",\"completed\":0}}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" +} \ No newline at end of file diff --git a/test/data/0d292ea70eecc1d25c88c76c8102964ceb52205a.json b/test/data/672860f08ddb94891625440658c51043f5f81634.json similarity index 71% rename from test/data/0d292ea70eecc1d25c88c76c8102964ceb52205a.json rename to test/data/672860f08ddb94891625440658c51043f5f81634.json index 63664c9..d4e3a96 100644 --- a/test/data/0d292ea70eecc1d25c88c76c8102964ceb52205a.json +++ b/test/data/672860f08ddb94891625440658c51043f5f81634.json @@ -1,26 +1,26 @@ { "request": { - "path": "https://jungle4.greymass.com/v1/chain/send_transaction", + "path": "https://jungle4.greymass.com/v1/chain/send_transaction2", "params": { "method": "POST", - "body": "{\"signatures\":[\"SIG_K1_JwQbphCG9jc3scTL2jhjFzTSeENEyPyFACRYosjA7nMCUMbz91WZDpYEiWga71oFkVooNyiBYCjqVi7uKBSZmTfrsyEXFR\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c535db43b6dee9ac913be9a32000123c3b22613e65706a14076b8aecdd9b38c024e1c370f96fa3e06c9324cd878ca1a26d0b071625cac5aef294b56b014038bab7f3088962a294acc2b4e4c2e51482aca4f4c494e2c2e5148494d4b2ccd29610000d5ac2396\"}", + "body": "{\"return_failure_trace\":true,\"retry_trx\":false,\"retry_trx_num_blocks\":0,\"transaction\":{\"signatures\":[\"SIG_K1_KceC65PJVyK5ZvJvkjYKuVsKXXm2vmbKiRnBrfmndfa97LzjrHGvvZoGvRcGyy1AFYP451vAqa3rdfHDbLQ88gKqKJg1qM\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c0b57efcdfcbef9d0b7e3d60c40c0c8b0acc984f9954128901dae6b73f62ca38013c7cd83a5be8f41b20c13369eb28609346c9c1817abd67bca92152cc5c0e2ea1f0ca2a54a8a12f38a13934b14928af2135392138b4b145252d3124b734a1800f89723f0\"}}", "headers": {} } }, "status": 202, "json": { - "transaction_id": "5e466ae37c0b9beec81767f4d92990ab95e1c2dbc5f9055b8ecbc03892679629", + "transaction_id": "66e4a4e635f70029db258e1b569dd7731629e4808a342765a20ade86e8361f93", "processed": { - "id": "5e466ae37c0b9beec81767f4d92990ab95e1c2dbc5f9055b8ecbc03892679629", - "block_num": 155561466, - "block_time": "2024-08-13T18:11:00.000", + "id": "66e4a4e635f70029db258e1b569dd7731629e4808a342765a20ade86e8361f93", + "block_num": 250000386, + "block_time": "2026-02-12T01:03:31.500", "producer_block_id": null, "receipt": { "status": "executed", - "cpu_usage_us": 166, + "cpu_usage_us": 132, "net_usage_words": 19 }, - "elapsed": 166, + "elapsed": 132, "net_usage": 152, "scheduled": false, "action_traces": [ @@ -31,12 +31,12 @@ "receipt": { "receiver": "eosio.token", "act_digest": "5f45811f2ebbe6cf269da0bbd422227d6297a6c567ebf688d86739ee91b5fa2b", - "global_sequence": 216057421, - "recv_sequence": 8401127, + "global_sequence": 326018614, + "recv_sequence": 8610913, "auth_sequence": [ [ "wharfkit1111", - 2730 + 3081 ] ], "code_sequence": 4, @@ -61,11 +61,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001a7472616e736163742062726f6164636173742064656661756c74" }, "context_free": false, - "elapsed": 46, + "elapsed": 47, "console": "", - "trx_id": "5e466ae37c0b9beec81767f4d92990ab95e1c2dbc5f9055b8ecbc03892679629", - "block_num": 155561466, - "block_time": "2024-08-13T18:11:00.000", + "trx_id": "66e4a4e635f70029db258e1b569dd7731629e4808a342765a20ade86e8361f93", + "block_num": 250000386, + "block_time": "2026-02-12T01:03:31.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -79,12 +79,12 @@ "receipt": { "receiver": "wharfkit1111", "act_digest": "5f45811f2ebbe6cf269da0bbd422227d6297a6c567ebf688d86739ee91b5fa2b", - "global_sequence": 216057422, - "recv_sequence": 700, + "global_sequence": 326018615, + "recv_sequence": 819, "auth_sequence": [ [ "wharfkit1111", - 2731 + 3082 ] ], "code_sequence": 4, @@ -109,11 +109,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001a7472616e736163742062726f6164636173742064656661756c74" }, "context_free": false, - "elapsed": 5, + "elapsed": 4, "console": "", - "trx_id": "5e466ae37c0b9beec81767f4d92990ab95e1c2dbc5f9055b8ecbc03892679629", - "block_num": 155561466, - "block_time": "2024-08-13T18:11:00.000", + "trx_id": "66e4a4e635f70029db258e1b569dd7731629e4808a342765a20ade86e8361f93", + "block_num": 250000386, + "block_time": "2026-02-12T01:03:31.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -127,12 +127,12 @@ "receipt": { "receiver": "teamgreymass", "act_digest": "5f45811f2ebbe6cf269da0bbd422227d6297a6c567ebf688d86739ee91b5fa2b", - "global_sequence": 216057423, - "recv_sequence": 1455, + "global_sequence": 326018616, + "recv_sequence": 1722, "auth_sequence": [ [ "wharfkit1111", - 2732 + 3083 ] ], "code_sequence": 4, @@ -157,11 +157,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001a7472616e736163742062726f6164636173742064656661756c74" }, "context_free": false, - "elapsed": 5, + "elapsed": 4, "console": "", - "trx_id": "5e466ae37c0b9beec81767f4d92990ab95e1c2dbc5f9055b8ecbc03892679629", - "block_num": 155561466, - "block_time": "2024-08-13T18:11:00.000", + "trx_id": "66e4a4e635f70029db258e1b569dd7731629e4808a342765a20ade86e8361f93", + "block_num": 250000386, + "block_time": "2026-02-12T01:03:31.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -174,5 +174,5 @@ "error_code": null } }, - "text": "{\"transaction_id\":\"5e466ae37c0b9beec81767f4d92990ab95e1c2dbc5f9055b8ecbc03892679629\",\"processed\":{\"id\":\"5e466ae37c0b9beec81767f4d92990ab95e1c2dbc5f9055b8ecbc03892679629\",\"block_num\":155561466,\"block_time\":\"2024-08-13T18:11:00.000\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":166,\"net_usage_words\":19},\"elapsed\":166,\"net_usage\":152,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"5f45811f2ebbe6cf269da0bbd422227d6297a6c567ebf688d86739ee91b5fa2b\",\"global_sequence\":216057421,\"recv_sequence\":8401127,\"auth_sequence\":[[\"wharfkit1111\",2730]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"transact broadcast default\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001a7472616e736163742062726f6164636173742064656661756c74\"},\"context_free\":false,\"elapsed\":46,\"console\":\"\",\"trx_id\":\"5e466ae37c0b9beec81767f4d92990ab95e1c2dbc5f9055b8ecbc03892679629\",\"block_num\":155561466,\"block_time\":\"2024-08-13T18:11:00.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"5f45811f2ebbe6cf269da0bbd422227d6297a6c567ebf688d86739ee91b5fa2b\",\"global_sequence\":216057422,\"recv_sequence\":700,\"auth_sequence\":[[\"wharfkit1111\",2731]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"transact broadcast default\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001a7472616e736163742062726f6164636173742064656661756c74\"},\"context_free\":false,\"elapsed\":5,\"console\":\"\",\"trx_id\":\"5e466ae37c0b9beec81767f4d92990ab95e1c2dbc5f9055b8ecbc03892679629\",\"block_num\":155561466,\"block_time\":\"2024-08-13T18:11:00.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"5f45811f2ebbe6cf269da0bbd422227d6297a6c567ebf688d86739ee91b5fa2b\",\"global_sequence\":216057423,\"recv_sequence\":1455,\"auth_sequence\":[[\"wharfkit1111\",2732]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"transact broadcast default\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001a7472616e736163742062726f6164636173742064656661756c74\"},\"context_free\":false,\"elapsed\":5,\"console\":\"\",\"trx_id\":\"5e466ae37c0b9beec81767f4d92990ab95e1c2dbc5f9055b8ecbc03892679629\",\"block_num\":155561466,\"block_time\":\"2024-08-13T18:11:00.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" + "text": "{\"transaction_id\":\"66e4a4e635f70029db258e1b569dd7731629e4808a342765a20ade86e8361f93\",\"processed\":{\"id\":\"66e4a4e635f70029db258e1b569dd7731629e4808a342765a20ade86e8361f93\",\"block_num\":250000386,\"block_time\":\"2026-02-12T01:03:31.500\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":132,\"net_usage_words\":19},\"elapsed\":132,\"net_usage\":152,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"5f45811f2ebbe6cf269da0bbd422227d6297a6c567ebf688d86739ee91b5fa2b\",\"global_sequence\":326018614,\"recv_sequence\":8610913,\"auth_sequence\":[[\"wharfkit1111\",3081]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"transact broadcast default\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001a7472616e736163742062726f6164636173742064656661756c74\"},\"context_free\":false,\"elapsed\":47,\"console\":\"\",\"trx_id\":\"66e4a4e635f70029db258e1b569dd7731629e4808a342765a20ade86e8361f93\",\"block_num\":250000386,\"block_time\":\"2026-02-12T01:03:31.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"5f45811f2ebbe6cf269da0bbd422227d6297a6c567ebf688d86739ee91b5fa2b\",\"global_sequence\":326018615,\"recv_sequence\":819,\"auth_sequence\":[[\"wharfkit1111\",3082]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"transact broadcast default\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001a7472616e736163742062726f6164636173742064656661756c74\"},\"context_free\":false,\"elapsed\":4,\"console\":\"\",\"trx_id\":\"66e4a4e635f70029db258e1b569dd7731629e4808a342765a20ade86e8361f93\",\"block_num\":250000386,\"block_time\":\"2026-02-12T01:03:31.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"5f45811f2ebbe6cf269da0bbd422227d6297a6c567ebf688d86739ee91b5fa2b\",\"global_sequence\":326018616,\"recv_sequence\":1722,\"auth_sequence\":[[\"wharfkit1111\",3083]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"transact broadcast default\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001a7472616e736163742062726f6164636173742064656661756c74\"},\"context_free\":false,\"elapsed\":4,\"console\":\"\",\"trx_id\":\"66e4a4e635f70029db258e1b569dd7731629e4808a342765a20ade86e8361f93\",\"block_num\":250000386,\"block_time\":\"2026-02-12T01:03:31.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" } \ No newline at end of file diff --git a/test/data/6a69dc4c4f403595cdebdfb480983216f8ac82ed.json b/test/data/6a69dc4c4f403595cdebdfb480983216f8ac82ed.json index 163703b..8b82448 100644 --- a/test/data/6a69dc4c4f403595cdebdfb480983216f8ac82ed.json +++ b/test/data/6a69dc4c4f403595cdebdfb480983216f8ac82ed.json @@ -10,9 +10,9 @@ "status": 200, "json": { "account_name": "eosio", - "code_hash": "ad12d594b75bdb4ab84c568f29d97f1ce82f50cca55a1f8a7d0406d4728d0e4b", - "abi_hash": "b4863a5af178fdd17a453eed6843f23b27bf4014cba65974c1eab92bd78222f9", - "abi": "DmVvc2lvOjphYmkvMS4yAhdibG9ja19zaWduaW5nX2F1dGhvcml0eSJ2YXJpYW50X2Jsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwF2Jsb2NrY2hhaW5fcGFyYW1ldGVyc190GGJsb2NrY2hhaW5fcGFyYW1ldGVyc192MXsIYWJpX2hhc2gAAgVvd25lcgRuYW1lBGhhc2gLY2hlY2tzdW0yNTYUYWN0aW9uX3JldHVybl9idXlyYW0ABgVwYXllcgRuYW1lCHJlY2VpdmVyBG5hbWUIcXVhbnRpdHkFYXNzZXQPYnl0ZXNfcHVyY2hhc2VkBWludDY0CXJhbV9ieXRlcwVpbnQ2NANmZWUFYXNzZXQZYWN0aW9uX3JldHVybl9yYW10cmFuc2ZlcgAFBGZyb20EbmFtZQJ0bwRuYW1lBWJ5dGVzBWludDY0DmZyb21fcmFtX2J5dGVzBWludDY0DHRvX3JhbV9ieXRlcwVpbnQ2NBVhY3Rpb25fcmV0dXJuX3NlbGxyYW0ABQdhY2NvdW50BG5hbWUIcXVhbnRpdHkFYXNzZXQKYnl0ZXNfc29sZAVpbnQ2NAlyYW1fYnl0ZXMFaW50NjQDZmVlBWFzc2V0CGFjdGl2YXRlAAEOZmVhdHVyZV9kaWdlc3QLY2hlY2tzdW0yNTYJYXV0aG9yaXR5AAQJdGhyZXNob2xkBnVpbnQzMgRrZXlzDGtleV93ZWlnaHRbXQhhY2NvdW50cxlwZXJtaXNzaW9uX2xldmVsX3dlaWdodFtdBXdhaXRzDXdhaXRfd2VpZ2h0W10KYmlkX3JlZnVuZAACBmJpZGRlcgRuYW1lBmFtb3VudAVhc3NldAdiaWRuYW1lAAMGYmlkZGVyBG5hbWUHbmV3bmFtZQRuYW1lA2JpZAVhc3NldAliaWRyZWZ1bmQAAgZiaWRkZXIEbmFtZQduZXduYW1lBG5hbWUMYmxvY2tfaGVhZGVyAAgJdGltZXN0YW1wBnVpbnQzMghwcm9kdWNlcgRuYW1lCWNvbmZpcm1lZAZ1aW50MTYIcHJldmlvdXMLY2hlY2tzdW0yNTYRdHJhbnNhY3Rpb25fbXJvb3QLY2hlY2tzdW0yNTYMYWN0aW9uX21yb290C2NoZWNrc3VtMjU2EHNjaGVkdWxlX3ZlcnNpb24GdWludDMyDW5ld19wcm9kdWNlcnMScHJvZHVjZXJfc2NoZWR1bGU/EWJsb2NrX2luZm9fcmVjb3JkAAMHdmVyc2lvbgV1aW50OAxibG9ja19oZWlnaHQGdWludDMyD2Jsb2NrX3RpbWVzdGFtcAp0aW1lX3BvaW50GmJsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwAAIJdGhyZXNob2xkBnVpbnQzMgRrZXlzDGtleV93ZWlnaHRbXRVibG9ja2NoYWluX3BhcmFtZXRlcnMAERNtYXhfYmxvY2tfbmV0X3VzYWdlBnVpbnQ2NBp0YXJnZXRfYmxvY2tfbmV0X3VzYWdlX3BjdAZ1aW50MzIZbWF4X3RyYW5zYWN0aW9uX25ldF91c2FnZQZ1aW50MzIeYmFzZV9wZXJfdHJhbnNhY3Rpb25fbmV0X3VzYWdlBnVpbnQzMhBuZXRfdXNhZ2VfbGVld2F5BnVpbnQzMiNjb250ZXh0X2ZyZWVfZGlzY291bnRfbmV0X3VzYWdlX251bQZ1aW50MzIjY29udGV4dF9mcmVlX2Rpc2NvdW50X25ldF91c2FnZV9kZW4GdWludDMyE21heF9ibG9ja19jcHVfdXNhZ2UGdWludDMyGnRhcmdldF9ibG9ja19jcHVfdXNhZ2VfcGN0BnVpbnQzMhltYXhfdHJhbnNhY3Rpb25fY3B1X3VzYWdlBnVpbnQzMhltaW5fdHJhbnNhY3Rpb25fY3B1X3VzYWdlBnVpbnQzMhhtYXhfdHJhbnNhY3Rpb25fbGlmZXRpbWUGdWludDMyHmRlZmVycmVkX3RyeF9leHBpcmF0aW9uX3dpbmRvdwZ1aW50MzIVbWF4X3RyYW5zYWN0aW9uX2RlbGF5BnVpbnQzMhZtYXhfaW5saW5lX2FjdGlvbl9zaXplBnVpbnQzMhdtYXhfaW5saW5lX2FjdGlvbl9kZXB0aAZ1aW50MTYTbWF4X2F1dGhvcml0eV9kZXB0aAZ1aW50MTYYYmxvY2tjaGFpbl9wYXJhbWV0ZXJzX3YxFWJsb2NrY2hhaW5fcGFyYW1ldGVycwEcbWF4X2FjdGlvbl9yZXR1cm5fdmFsdWVfc2l6ZQd1aW50MzIkBmJ1eXJhbQADBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQVxdWFudAVhc3NldApidXlyYW1idXJuAAMFcGF5ZXIEbmFtZQhxdWFudGl0eQVhc3NldARtZW1vBnN0cmluZwtidXlyYW1ieXRlcwADBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQVieXRlcwZ1aW50MzIKYnV5cmFtc2VsZgACB2FjY291bnQEbmFtZQVxdWFudAVhc3NldAZidXlyZXgAAgRmcm9tBG5hbWUGYW1vdW50BWFzc2V0C2NhbmNlbGRlbGF5AAIOY2FuY2VsaW5nX2F1dGgQcGVybWlzc2lvbl9sZXZlbAZ0cnhfaWQLY2hlY2tzdW0yNTYKY2ZncG93ZXJ1cAABBGFyZ3MOcG93ZXJ1cF9jb25maWcMY2xhaW1yZXdhcmRzAAEFb3duZXIEbmFtZQhjbG9zZXJleAABBW93bmVyBG5hbWUMY25jbHJleG9yZGVyAAEFb3duZXIEbmFtZQljb25uZWN0b3IAAgdiYWxhbmNlBWFzc2V0BndlaWdodAdmbG9hdDY0C2NvbnNvbGlkYXRlAAEFb3duZXIEbmFtZQpkZWZjcHVsb2FuAAMEZnJvbQRuYW1lCGxvYW5fbnVtBnVpbnQ2NAZhbW91bnQFYXNzZXQKZGVmbmV0bG9hbgADBGZyb20EbmFtZQhsb2FuX251bQZ1aW50NjQGYW1vdW50BWFzc2V0CmRlbGVnYXRlYncABQRmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZRJzdGFrZV9uZXRfcXVhbnRpdHkFYXNzZXQSc3Rha2VfY3B1X3F1YW50aXR5BWFzc2V0CHRyYW5zZmVyBGJvb2wTZGVsZWdhdGVkX2JhbmR3aWR0aAAEBGZyb20EbmFtZQJ0bwRuYW1lCm5ldF93ZWlnaHQFYXNzZXQKY3B1X3dlaWdodAVhc3NldApkZWxldGVhdXRoAAMHYWNjb3VudARuYW1lCnBlcm1pc3Npb24EbmFtZQ1hdXRob3JpemVkX2J5BW5hbWUkC2RlbHNjaGVkdWxlAAEKc3RhcnRfdGltZQ50aW1lX3BvaW50X3NlYwdkZXBvc2l0AAIFb3duZXIEbmFtZQZhbW91bnQFYXNzZXQLZG9uYXRldG9yZXgAAwVwYXllcgRuYW1lCHF1YW50aXR5BWFzc2V0BG1lbW8Gc3RyaW5nEmVvc2lvX2dsb2JhbF9zdGF0ZRVibG9ja2NoYWluX3BhcmFtZXRlcnMNDG1heF9yYW1fc2l6ZQZ1aW50NjQYdG90YWxfcmFtX2J5dGVzX3Jlc2VydmVkBnVpbnQ2NA90b3RhbF9yYW1fc3Rha2UFaW50NjQdbGFzdF9wcm9kdWNlcl9zY2hlZHVsZV91cGRhdGUUYmxvY2tfdGltZXN0YW1wX3R5cGUYbGFzdF9wZXJ2b3RlX2J1Y2tldF9maWxsCnRpbWVfcG9pbnQOcGVydm90ZV9idWNrZXQFaW50NjQPcGVyYmxvY2tfYnVja2V0BWludDY0E3RvdGFsX3VucGFpZF9ibG9ja3MGdWludDMyFXRvdGFsX2FjdGl2YXRlZF9zdGFrZQVpbnQ2NBt0aHJlc2hfYWN0aXZhdGVkX3N0YWtlX3RpbWUKdGltZV9wb2ludBtsYXN0X3Byb2R1Y2VyX3NjaGVkdWxlX3NpemUGdWludDE2GnRvdGFsX3Byb2R1Y2VyX3ZvdGVfd2VpZ2h0B2Zsb2F0NjQPbGFzdF9uYW1lX2Nsb3NlFGJsb2NrX3RpbWVzdGFtcF90eXBlE2Vvc2lvX2dsb2JhbF9zdGF0ZTIABRFuZXdfcmFtX3Blcl9ibG9jawZ1aW50MTYRbGFzdF9yYW1faW5jcmVhc2UUYmxvY2tfdGltZXN0YW1wX3R5cGUObGFzdF9ibG9ja19udW0UYmxvY2tfdGltZXN0YW1wX3R5cGUcdG90YWxfcHJvZHVjZXJfdm90ZXBheV9zaGFyZQdmbG9hdDY0CHJldmlzaW9uBXVpbnQ4E2Vvc2lvX2dsb2JhbF9zdGF0ZTMAAhZsYXN0X3ZwYXlfc3RhdGVfdXBkYXRlCnRpbWVfcG9pbnQcdG90YWxfdnBheV9zaGFyZV9jaGFuZ2VfcmF0ZQdmbG9hdDY0E2Vvc2lvX2dsb2JhbF9zdGF0ZTQAAw9jb250aW51b3VzX3JhdGUHZmxvYXQ2NBRpbmZsYXRpb25fcGF5X2ZhY3RvcgVpbnQ2NA52b3RlcGF5X2ZhY3RvcgVpbnQ2NA5leGNoYW5nZV9zdGF0ZQADBnN1cHBseQVhc3NldARiYXNlCWNvbm5lY3RvcgVxdW90ZQljb25uZWN0b3IMZXhlY3NjaGVkdWxlAAALZnVuZGNwdWxvYW4AAwRmcm9tBG5hbWUIbG9hbl9udW0GdWludDY0B3BheW1lbnQFYXNzZXQLZnVuZG5ldGxvYW4AAwRmcm9tBG5hbWUIbG9hbl9udW0GdWludDY0B3BheW1lbnQFYXNzZXQEaW5pdAACB3ZlcnNpb24JdmFydWludDMyBGNvcmUGc3ltYm9sCmtleV93ZWlnaHQAAgNrZXkKcHVibGljX2tleQZ3ZWlnaHQGdWludDE2DGxpbWl0YXV0aGNoZwADB2FjY291bnQEbmFtZQthbGxvd19wZXJtcwZuYW1lW10OZGlzYWxsb3dfcGVybXMGbmFtZVtdCGxpbmthdXRoAAUHYWNjb3VudARuYW1lBGNvZGUEbmFtZQR0eXBlBG5hbWULcmVxdWlyZW1lbnQEbmFtZQ1hdXRob3JpemVkX2J5BW5hbWUkCWxvZ2J1eXJhbQAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQhxdWFudGl0eQVhc3NldAVieXRlcwVpbnQ2NAlyYW1fYnl0ZXMFaW50NjQDZmVlBWFzc2V0DGxvZ3JhbWNoYW5nZQADBW93bmVyBG5hbWUFYnl0ZXMFaW50NjQJcmFtX2J5dGVzBWludDY0CmxvZ3NlbGxyYW0ABQdhY2NvdW50BG5hbWUIcXVhbnRpdHkFYXNzZXQFYnl0ZXMFaW50NjQJcmFtX2J5dGVzBWludDY0A2ZlZQVhc3NldAxsb2dzeXN0ZW1mZWUAAwhwcm90b2NvbARuYW1lA2ZlZQVhc3NldARtZW1vBnN0cmluZwttdmZyc2F2aW5ncwACBW93bmVyBG5hbWUDcmV4BWFzc2V0C212dG9zYXZpbmdzAAIFb3duZXIEbmFtZQNyZXgFYXNzZXQIbmFtZV9iaWQABAduZXduYW1lBG5hbWULaGlnaF9iaWRkZXIEbmFtZQhoaWdoX2JpZAVpbnQ2NA1sYXN0X2JpZF90aW1lCnRpbWVfcG9pbnQKbmV3YWNjb3VudAAEB2NyZWF0b3IEbmFtZQRuYW1lBG5hbWUFb3duZXIJYXV0aG9yaXR5BmFjdGl2ZQlhdXRob3JpdHkHb25ibG9jawABBmhlYWRlcgxibG9ja19oZWFkZXIHb25lcnJvcgACCXNlbmRlcl9pZAd1aW50MTI4CHNlbnRfdHJ4BWJ5dGVzGXBhaXJfdGltZV9wb2ludF9zZWNfaW50NjQAAgVmaXJzdA50aW1lX3BvaW50X3NlYwZzZWNvbmQFaW50NjQQcGVybWlzc2lvbl9sZXZlbAACBWFjdG9yBG5hbWUKcGVybWlzc2lvbgRuYW1lF3Blcm1pc3Npb25fbGV2ZWxfd2VpZ2h0AAIKcGVybWlzc2lvbhBwZXJtaXNzaW9uX2xldmVsBndlaWdodAZ1aW50MTYHcG93ZXJ1cAAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQRkYXlzBnVpbnQzMghuZXRfZnJhYwVpbnQ2NAhjcHVfZnJhYwVpbnQ2NAttYXhfcGF5bWVudAVhc3NldA5wb3dlcnVwX2NvbmZpZwAEA25ldBdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQNjcHUXcG93ZXJ1cF9jb25maWdfcmVzb3VyY2UMcG93ZXJ1cF9kYXlzB3VpbnQzMj8PbWluX3Bvd2VydXBfZmVlBmFzc2V0Pxdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQAIFGN1cnJlbnRfd2VpZ2h0X3JhdGlvBmludDY0PxN0YXJnZXRfd2VpZ2h0X3JhdGlvBmludDY0PxRhc3N1bWVkX3N0YWtlX3dlaWdodAZpbnQ2ND8QdGFyZ2V0X3RpbWVzdGFtcA90aW1lX3BvaW50X3NlYz8IZXhwb25lbnQIZmxvYXQ2ND8KZGVjYXlfc2Vjcwd1aW50MzI/CW1pbl9wcmljZQZhc3NldD8JbWF4X3ByaWNlBmFzc2V0Pw1wb3dlcnVwX29yZGVyAAYHdmVyc2lvbgV1aW50OAJpZAZ1aW50NjQFb3duZXIEbmFtZQpuZXRfd2VpZ2h0BWludDY0CmNwdV93ZWlnaHQFaW50NjQHZXhwaXJlcw50aW1lX3BvaW50X3NlYw1wb3dlcnVwX3N0YXRlAAUHdmVyc2lvbgV1aW50OANuZXQWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQNjcHUWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQxwb3dlcnVwX2RheXMGdWludDMyD21pbl9wb3dlcnVwX2ZlZQVhc3NldBZwb3dlcnVwX3N0YXRlX3Jlc291cmNlAA8HdmVyc2lvbgV1aW50OAZ3ZWlnaHQFaW50NjQMd2VpZ2h0X3JhdGlvBWludDY0FGFzc3VtZWRfc3Rha2Vfd2VpZ2h0BWludDY0FGluaXRpYWxfd2VpZ2h0X3JhdGlvBWludDY0E3RhcmdldF93ZWlnaHRfcmF0aW8FaW50NjQRaW5pdGlhbF90aW1lc3RhbXAOdGltZV9wb2ludF9zZWMQdGFyZ2V0X3RpbWVzdGFtcA50aW1lX3BvaW50X3NlYwhleHBvbmVudAdmbG9hdDY0CmRlY2F5X3NlY3MGdWludDMyCW1pbl9wcmljZQVhc3NldAltYXhfcHJpY2UFYXNzZXQLdXRpbGl6YXRpb24FaW50NjQUYWRqdXN0ZWRfdXRpbGl6YXRpb24FaW50NjQVdXRpbGl6YXRpb25fdGltZXN0YW1wDnRpbWVfcG9pbnRfc2VjC3Bvd2VydXBleGVjAAIEdXNlcgRuYW1lA21heAZ1aW50MTYNcHJvZHVjZXJfaW5mbwAJBW93bmVyBG5hbWULdG90YWxfdm90ZXMHZmxvYXQ2NAxwcm9kdWNlcl9rZXkKcHVibGljX2tleQlpc19hY3RpdmUEYm9vbAN1cmwGc3RyaW5nDXVucGFpZF9ibG9ja3MGdWludDMyD2xhc3RfY2xhaW1fdGltZQp0aW1lX3BvaW50CGxvY2F0aW9uBnVpbnQxNhJwcm9kdWNlcl9hdXRob3JpdHkYYmxvY2tfc2lnbmluZ19hdXRob3JpdHkkDnByb2R1Y2VyX2luZm8yAAMFb3duZXIEbmFtZQ12b3RlcGF5X3NoYXJlB2Zsb2F0NjQZbGFzdF92b3RlcGF5X3NoYXJlX3VwZGF0ZQp0aW1lX3BvaW50DHByb2R1Y2VyX2tleQACDXByb2R1Y2VyX25hbWUEbmFtZRFibG9ja19zaWduaW5nX2tleQpwdWJsaWNfa2V5EXByb2R1Y2VyX3NjaGVkdWxlAAIHdmVyc2lvbgZ1aW50MzIJcHJvZHVjZXJzDnByb2R1Y2VyX2tleVtdB3JhbWJ1cm4AAwVvd25lcgRuYW1lBWJ5dGVzBWludDY0BG1lbW8Gc3RyaW5nC3JhbXRyYW5zZmVyAAQEZnJvbQRuYW1lAnRvBG5hbWUFYnl0ZXMFaW50NjQEbWVtbwZzdHJpbmcGcmVmdW5kAAEFb3duZXIEbmFtZQ5yZWZ1bmRfcmVxdWVzdAAEBW93bmVyBG5hbWUMcmVxdWVzdF90aW1lDnRpbWVfcG9pbnRfc2VjCm5ldF9hbW91bnQFYXNzZXQKY3B1X2Ftb3VudAVhc3NldAtyZWdwcm9kdWNlcgAECHByb2R1Y2VyBG5hbWUMcHJvZHVjZXJfa2V5CnB1YmxpY19rZXkDdXJsBnN0cmluZwhsb2NhdGlvbgZ1aW50MTYMcmVncHJvZHVjZXIyAAQIcHJvZHVjZXIEbmFtZRJwcm9kdWNlcl9hdXRob3JpdHkXYmxvY2tfc2lnbmluZ19hdXRob3JpdHkDdXJsBnN0cmluZwhsb2NhdGlvbgZ1aW50MTYIcmVncHJveHkAAgVwcm94eQRuYW1lB2lzcHJveHkEYm9vbAdyZW50Y3B1AAQEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUMbG9hbl9wYXltZW50BWFzc2V0CWxvYW5fZnVuZAVhc3NldAdyZW50bmV0AAQEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUMbG9hbl9wYXltZW50BWFzc2V0CWxvYW5fZnVuZAVhc3NldAtyZXhfYmFsYW5jZQAGB3ZlcnNpb24FdWludDgFb3duZXIEbmFtZQp2b3RlX3N0YWtlBWFzc2V0C3JleF9iYWxhbmNlBWFzc2V0C21hdHVyZWRfcmV4BWludDY0DnJleF9tYXR1cml0aWVzG3BhaXJfdGltZV9wb2ludF9zZWNfaW50NjRbXQhyZXhfZnVuZAADB3ZlcnNpb24FdWludDgFb3duZXIEbmFtZQdiYWxhbmNlBWFzc2V0CHJleF9sb2FuAAgHdmVyc2lvbgV1aW50OARmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZQdwYXltZW50BWFzc2V0B2JhbGFuY2UFYXNzZXQMdG90YWxfc3Rha2VkBWFzc2V0CGxvYW5fbnVtBnVpbnQ2NApleHBpcmF0aW9uCnRpbWVfcG9pbnQMcmV4X21hdHVyaXR5AAMXbnVtX29mX21hdHVyaXR5X2J1Y2tldHMGdWludDMyEHNlbGxfbWF0dXJlZF9yZXgEYm9vbBJidXlfcmV4X3RvX3NhdmluZ3MEYm9vbAlyZXhfb3JkZXIABwd2ZXJzaW9uBXVpbnQ4BW93bmVyBG5hbWUNcmV4X3JlcXVlc3RlZAVhc3NldAhwcm9jZWVkcwVhc3NldAxzdGFrZV9jaGFuZ2UFYXNzZXQKb3JkZXJfdGltZQp0aW1lX3BvaW50B2lzX29wZW4EYm9vbAhyZXhfcG9vbAAIB3ZlcnNpb24FdWludDgKdG90YWxfbGVudAVhc3NldAx0b3RhbF91bmxlbnQFYXNzZXQKdG90YWxfcmVudAVhc3NldA50b3RhbF9sZW5kYWJsZQVhc3NldAl0b3RhbF9yZXgFYXNzZXQQbmFtZWJpZF9wcm9jZWVkcwVhc3NldAhsb2FuX251bQZ1aW50NjQScmV4X3JldHVybl9idWNrZXRzAAIHdmVyc2lvbgV1aW50OA5yZXR1cm5fYnVja2V0cxtwYWlyX3RpbWVfcG9pbnRfc2VjX2ludDY0W10PcmV4X3JldHVybl9wb29sAAcHdmVyc2lvbgV1aW50OA5sYXN0X2Rpc3RfdGltZQ50aW1lX3BvaW50X3NlYxNwZW5kaW5nX2J1Y2tldF90aW1lDnRpbWVfcG9pbnRfc2VjEm9sZGVzdF9idWNrZXRfdGltZQ50aW1lX3BvaW50X3NlYxdwZW5kaW5nX2J1Y2tldF9wcm9jZWVkcwVpbnQ2NBhjdXJyZW50X3JhdGVfb2ZfaW5jcmVhc2UFaW50NjQIcHJvY2VlZHMFaW50NjQHcmV4ZXhlYwACBHVzZXIEbmFtZQNtYXgGdWludDE2C3JtdnByb2R1Y2VyAAEIcHJvZHVjZXIEbmFtZQ5zY2hlZHVsZXNfaW5mbwACCnN0YXJ0X3RpbWUOdGltZV9wb2ludF9zZWMPY29udGludW91c19yYXRlB2Zsb2F0NjQHc2VsbHJhbQACB2FjY291bnQEbmFtZQVieXRlcwVpbnQ2NAdzZWxscmV4AAIEZnJvbQRuYW1lA3JleAVhc3NldAZzZXRhYmkAAwdhY2NvdW50BG5hbWUDYWJpBWJ5dGVzBG1lbW8Hc3RyaW5nJApzZXRhY2N0Y3B1AAIHYWNjb3VudARuYW1lCmNwdV93ZWlnaHQGaW50NjQ/CnNldGFjY3RuZXQAAgdhY2NvdW50BG5hbWUKbmV0X3dlaWdodAZpbnQ2ND8Kc2V0YWNjdHJhbQACB2FjY291bnQEbmFtZQlyYW1fYnl0ZXMGaW50NjQ/CnNldGFsaW1pdHMABAdhY2NvdW50BG5hbWUJcmFtX2J5dGVzBWludDY0Cm5ldF93ZWlnaHQFaW50NjQKY3B1X3dlaWdodAVpbnQ2NAdzZXRjb2RlAAUHYWNjb3VudARuYW1lBnZtdHlwZQV1aW50OAl2bXZlcnNpb24FdWludDgEY29kZQVieXRlcwRtZW1vB3N0cmluZyQMc2V0aW5mbGF0aW9uAAMLYW5udWFsX3JhdGUFaW50NjQUaW5mbGF0aW9uX3BheV9mYWN0b3IFaW50NjQOdm90ZXBheV9mYWN0b3IFaW50NjQJc2V0cGFyYW1zAAEGcGFyYW1zF2Jsb2NrY2hhaW5fcGFyYW1ldGVyc190DHNldHBheWZhY3RvcgACFGluZmxhdGlvbl9wYXlfZmFjdG9yBWludDY0DnZvdGVwYXlfZmFjdG9yBWludDY0B3NldHByaXYAAgdhY2NvdW50BG5hbWUHaXNfcHJpdgV1aW50OAZzZXRyYW0AAQxtYXhfcmFtX3NpemUGdWludDY0CnNldHJhbXJhdGUAAQ9ieXRlc19wZXJfYmxvY2sGdWludDE2BnNldHJleAABB2JhbGFuY2UFYXNzZXQMc2V0cmV4bWF0dXJlAAMXbnVtX29mX21hdHVyaXR5X2J1Y2tldHMHdWludDMyPxBzZWxsX21hdHVyZWRfcmV4BWJvb2w/EmJ1eV9yZXhfdG9fc2F2aW5ncwVib29sPwtzZXRzY2hlZHVsZQACCnN0YXJ0X3RpbWUOdGltZV9wb2ludF9zZWMPY29udGludW91c19yYXRlB2Zsb2F0NjQMdW5kZWxlZ2F0ZWJ3AAQEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUUdW5zdGFrZV9uZXRfcXVhbnRpdHkFYXNzZXQUdW5zdGFrZV9jcHVfcXVhbnRpdHkFYXNzZXQKdW5saW5rYXV0aAAEB2FjY291bnQEbmFtZQRjb2RlBG5hbWUEdHlwZQRuYW1lDWF1dGhvcml6ZWRfYnkFbmFtZSQJdW5yZWdwcm9kAAEIcHJvZHVjZXIEbmFtZQx1bnN0YWtldG9yZXgABAVvd25lcgRuYW1lCHJlY2VpdmVyBG5hbWUIZnJvbV9uZXQFYXNzZXQIZnJvbV9jcHUFYXNzZXQGdW52ZXN0AAMHYWNjb3VudARuYW1lE3VudmVzdF9uZXRfcXVhbnRpdHkFYXNzZXQTdW52ZXN0X2NwdV9xdWFudGl0eQVhc3NldAp1cGRhdGVhdXRoAAUHYWNjb3VudARuYW1lCnBlcm1pc3Npb24EbmFtZQZwYXJlbnQEbmFtZQRhdXRoCWF1dGhvcml0eQ1hdXRob3JpemVkX2J5BW5hbWUkCXVwZGF0ZXJleAABBW93bmVyBG5hbWUMdXBkdHJldmlzaW9uAAEIcmV2aXNpb24FdWludDgOdXNlcl9yZXNvdXJjZXMABAVvd25lcgRuYW1lCm5ldF93ZWlnaHQFYXNzZXQKY3B1X3dlaWdodAVhc3NldAlyYW1fYnl0ZXMFaW50NjQMdm90ZXByb2R1Y2VyAAMFdm90ZXIEbmFtZQVwcm94eQRuYW1lCXByb2R1Y2VycwZuYW1lW10Kdm90ZXJfaW5mbwAKBW93bmVyBG5hbWUFcHJveHkEbmFtZQlwcm9kdWNlcnMGbmFtZVtdBnN0YWtlZAVpbnQ2NBBsYXN0X3ZvdGVfd2VpZ2h0B2Zsb2F0NjQTcHJveGllZF92b3RlX3dlaWdodAdmbG9hdDY0CGlzX3Byb3h5BGJvb2wGZmxhZ3MxBnVpbnQzMglyZXNlcnZlZDIGdWludDMyCXJlc2VydmVkMwVhc3NldAp2b3RldXBkYXRlAAEKdm90ZXJfbmFtZQRuYW1lC3dhaXRfd2VpZ2h0AAIId2FpdF9zZWMGdWludDMyBndlaWdodAZ1aW50MTYHd2FzbWNmZwABCHNldHRpbmdzBG5hbWUId2l0aGRyYXcAAgVvd25lcgRuYW1lBmFtb3VudAVhc3NldBFsaW1pdF9hdXRoX2NoYW5nZQAEB3ZlcnNpb24FdWludDgHYWNjb3VudARuYW1lC2FsbG93X3Blcm1zBm5hbWVbXQ5kaXNhbGxvd19wZXJtcwZuYW1lW11NAAAAKpvtMjIIYWN0aXZhdGWIAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEFjdGl2YXRlIFByb3RvY29sIEZlYXR1cmUKc3VtbWFyeTogJ0FjdGl2YXRlIHByb3RvY29sIGZlYXR1cmUge3tub3dyYXAgZmVhdHVyZV9kaWdlc3R9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBhY3RpdmF0ZXMgdGhlIHByb3RvY29sIGZlYXR1cmUgd2l0aCBhIGRpZ2VzdCBvZiB7e2ZlYXR1cmVfZGlnZXN0fX0uAAAAQEkzkzsHYmlkbmFtZakOLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQmlkIE9uIGEgUHJlbWl1bSBBY2NvdW50IE5hbWUKc3VtbWFyeTogJ3t7bm93cmFwIGJpZGRlcn19IGJpZHMgb24gdGhlIHByZW1pdW0gYWNjb3VudCBuYW1lIHt7bm93cmFwIG5ld25hbWV9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgp7e2JpZGRlcn19IGJpZHMge3tiaWR9fSBvbiBhbiBhdWN0aW9uIHRvIG93biB0aGUgcHJlbWl1bSBhY2NvdW50IG5hbWUge3tuZXduYW1lfX0uCgp7e2JpZGRlcn19IHRyYW5zZmVycyB7e2JpZH19IHRvIHRoZSBzeXN0ZW0gdG8gY292ZXIgdGhlIGNvc3Qgb2YgdGhlIGJpZCwgd2hpY2ggd2lsbCBiZSByZXR1cm5lZCB0byB7e2JpZGRlcn19IG9ubHkgaWYge3tiaWRkZXJ9fSBpcyBsYXRlciBvdXRiaWQgaW4gdGhlIGF1Y3Rpb24gZm9yIHt7bmV3bmFtZX19IGJ5IGFub3RoZXIgYWNjb3VudC4KCklmIHRoZSBhdWN0aW9uIGZvciB7e25ld25hbWV9fSBjbG9zZXMgd2l0aCB7e2JpZGRlcn19IHJlbWFpbmluZyBhcyB0aGUgaGlnaGVzdCBiaWRkZXIsIHt7YmlkZGVyfX0gd2lsbCBiZSBhdXRob3JpemVkIHRvIGNyZWF0ZSB0aGUgYWNjb3VudCB3aXRoIG5hbWUge3tuZXduYW1lfX0uCgojIyBCaWQgcmVmdW5kIGJlaGF2aW9yCgpJZiB7e2JpZGRlcn194oCZcyBiaWQgb24ge3tuZXduYW1lfX0gaXMgbGF0ZXIgb3V0YmlkIGJ5IGFub3RoZXIgYWNjb3VudCwge3tiaWRkZXJ9fSB3aWxsIGJlIGFibGUgdG8gY2xhaW0gYmFjayB0aGUgdHJhbnNmZXJyZWQgYW1vdW50IG9mIHt7YmlkfX0uIFRoZSBzeXN0ZW0gd2lsbCBhdHRlbXB0IHRvIGF1dG9tYXRpY2FsbHkgZG8gdGhpcyBvbiBiZWhhbGYgb2Yge3tiaWRkZXJ9fSwgYnV0IHRoZSBhdXRvbWF0aWMgcmVmdW5kIG1heSBvY2Nhc2lvbmFsbHkgZmFpbCB3aGljaCB3aWxsIHRoZW4gcmVxdWlyZSB7e2JpZGRlcn19IHRvIG1hbnVhbGx5IGNsYWltIHRoZSByZWZ1bmQgd2l0aCB0aGUgYmlkcmVmdW5kIGFjdGlvbi4KCiMjIEF1Y3Rpb24gY2xvc2UgY3JpdGVyaWEKClRoZSBzeXN0ZW0gc2hvdWxkIGF1dG9tYXRpY2FsbHkgY2xvc2UgdGhlIGF1Y3Rpb24gZm9yIHt7bmV3bmFtZX19IGlmIGl0IHNhdGlzZmllcyB0aGUgY29uZGl0aW9uIHRoYXQgb3ZlciBhIHBlcmlvZCBvZiB0d28gbWludXRlcyB0aGUgZm9sbG93aW5nIHR3byBwcm9wZXJ0aWVzIGNvbnRpbnVvdXNseSBob2xkOgoKLSBubyBvbmUgaGFzIGJpZCBvbiB7e25ld25hbWV9fSB3aXRoaW4gdGhlIGxhc3QgMjQgaG91cnM7Ci0gYW5kLCB0aGUgdmFsdWUgb2YgdGhlIGxhdGVzdCBiaWQgb24ge3tuZXduYW1lfX0gaXMgZ3JlYXRlciB0aGFuIHRoZSB2YWx1ZSBvZiB0aGUgYmlkcyBvbiBlYWNoIG9mIHRoZSBvdGhlciBvcGVuIGF1Y3Rpb25zLgoKQmUgYXdhcmUgdGhhdCB0aGUgY29uZGl0aW9uIHRvIGNsb3NlIHRoZSBhdWN0aW9uIGRlc2NyaWJlZCBhYm92ZSBhcmUgc3VmZmljaWVudCBidXQgbm90IG5lY2Vzc2FyeS4gVGhlIGF1Y3Rpb24gZm9yIHt7bmV3bmFtZX19IGNhbm5vdCBjbG9zZSB1bmxlc3MgYm90aCBvZiB0aGUgcHJvcGVydGllcyBhcmUgc2ltdWx0YW5lb3VzbHkgc2F0aXNmaWVkLCBidXQgaXQgbWF5IGJlIGNsb3NlZCB3aXRob3V0IHJlcXVpcmluZyB0aGUgcHJvcGVydGllcyB0byBob2xkIGZvciBhIHBlcmlvZCBvZiAyIG1pbnV0ZXMuAABIUy91kzsJYmlkcmVmdW5k9AItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGFpbSBSZWZ1bmQgb24gTmFtZSBCaWQKc3VtbWFyeTogJ0NsYWltIHJlZnVuZCBvbiB7e25vd3JhcCBuZXduYW1lfX0gYmlkJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCnt7YmlkZGVyfX0gY2xhaW1zIHJlZnVuZCBvbiB7e25ld25hbWV9fSBiaWQgYWZ0ZXIgYmVpbmcgb3V0YmlkIGJ5IHNvbWVvbmUgZWxzZS4AAAAASHO9PgZidXlyYW36Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEJ1eSBSQU0Kc3VtbWFyeTogJ3t7bm93cmFwIHBheWVyfX0gYnV5cyBSQU0gb24gYmVoYWxmIG9mIHt7bm93cmFwIHJlY2VpdmVyfX0gYnkgcGF5aW5nIHt7bm93cmFwIHF1YW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KCnt7cGF5ZXJ9fSBidXlzIFJBTSBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGJ5IHBheWluZyB7e3F1YW50fX0uIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG91dCBvZiB7e3F1YW50fX0gYW5kIHRoZSBhbW91bnQgb2YgUkFNIGRlbGl2ZXJlZCB3aWxsIGRlcGVuZCBvbiBtYXJrZXQgcmF0ZXMuAMC8+khzvT4KYnV5cmFtYnVybsADLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQnV5IGFuZCBCdXJuIFJBTQpzdW1tYXJ5OiAnQnV5IGFuZCBpbW1lZGlhdGVseSBCdXJuIHt7cXVhbnRpdHl9fSBvZiBSQU0gZnJvbSB7e25vd3JhcCBwYXllcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpCdXkgYW5kIEJ1cm4ge3txdWFudGl0eX19IG9mIFJBTSBmcm9tIGFjY291bnQge3twYXllcn19LgoKe3sjaWYgbWVtb319VGhlcmUgaXMgYSBtZW1vIGF0dGFjaGVkIHRvIHRoZSBhY3Rpb24gc3RhdGluZzoKe3ttZW1vfX0Ke3svaWZ9fQCwyv5Ic70+C2J1eXJhbWJ5dGVzgQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNCnN1bW1hcnk6ICd7e25vd3JhcCBwYXllcn19IGJ1eXMge3tub3dyYXAgYnl0ZXN9fSBieXRlcyBvZiBSQU0gb24gYmVoYWxmIG9mIHt7bm93cmFwIHJlY2VpdmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KCnt7cGF5ZXJ9fSBidXlzIGFwcHJveGltYXRlbHkge3tieXRlc319IGJ5dGVzIG9mIFJBTSBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGJ5IHBheWluZyBtYXJrZXQgcmF0ZXMgZm9yIFJBTS4gVGhpcyB0cmFuc2FjdGlvbiB3aWxsIGluY3VyIGEgMC41JSBmZWUgYW5kIHRoZSBjb3N0IHdpbGwgZGVwZW5kIG9uIG1hcmtldCByYXRlcy4AwIoKS3O9PgpidXlyYW1zZWxm2AMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNIHNlbGYKc3VtbWFyeTogJ3t7bm93cmFwIGFjY291bnR9fSBidXlzIFJBTSB0byBzZWxmIGJ5IHBheWluZyB7e25vd3JhcCBxdWFudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7e2FjY291bnR9fSBidXlzIFJBTSB0byBzZWxmIGJ5IHBheWluZyB7e3F1YW50fX0uIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG91dCBvZiB7e3F1YW50fX0gYW5kIHRoZSBhbW91bnQgb2YgUkFNIGRlbGl2ZXJlZCB3aWxsIGRlcGVuZCBvbiBtYXJrZXQgcmF0ZXMuAAAAAHR1vT4GYnV5cmV41wYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkVYIFRva2VucwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IGJ1eXMgUkVYIHRva2VucyBpbiBleGNoYW5nZSBmb3Ige3tub3dyYXAgYW1vdW50fX0gYW5kIHRoZWlyIHZvdGUgc3Rha2UgaW5jcmVhc2VzIGJ5IHt7bm93cmFwIGFtb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3thbW91bnR9fSBpcyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kIGFuZCB1c2VkIHRvIHB1cmNoYXNlIFJFWCB0b2tlbnMgYXQgdGhlIGN1cnJlbnQgbWFya2V0IGV4Y2hhbmdlIHJhdGUuIEluIG9yZGVyIGZvciB0aGUgYWN0aW9uIHRvIHN1Y2NlZWQsIHt7ZnJvbX19IG11c3QgaGF2ZSB2b3RlZCBmb3IgYSBwcm94eSBvciBhdCBsZWFzdCAyMSBibG9jayBwcm9kdWNlcnMuIHt7YW1vdW50fX0gaXMgYWRkZWQgdG8ge3tmcm9tfX3igJlzIHZvdGUgc3Rha2UuCgpBIHNlbGwgb3JkZXIgb2YgdGhlIHB1cmNoYXNlZCBhbW91bnQgY2FuIG9ubHkgYmUgaW5pdGlhdGVkIGFmdGVyIHdhaXRpbmcgZm9yIHRoZSBtYXR1cml0eSBwZXJpb2Qgb2YgNCB0byA1IGRheXMgdG8gcGFzcy4gRXZlbiB0aGVuLCBkZXBlbmRpbmcgb24gdGhlIG1hcmtldCBjb25kaXRpb25zLCB0aGUgaW5pdGlhdGVkIHNlbGwgb3JkZXIgbWF5IG5vdCBiZSBleGVjdXRlZCBpbW1lZGlhdGVseS4AvIkqRYWmQQtjYW5jZWxkZWxheYoDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ2FuY2VsIERlbGF5ZWQgVHJhbnNhY3Rpb24Kc3VtbWFyeTogJ3t7bm93cmFwIGNhbmNlbGluZ19hdXRoLmFjdG9yfX0gY2FuY2VscyBhIGRlbGF5ZWQgdHJhbnNhY3Rpb24nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKe3tjYW5jZWxpbmdfYXV0aC5hY3Rvcn19IGNhbmNlbHMgdGhlIGRlbGF5ZWQgdHJhbnNhY3Rpb24gd2l0aCBpZCB7e3RyeF9pZH19LgBA1VdxWtlCCmNmZ3Bvd2VydXAAgNM1XF3pTEQMY2xhaW1yZXdhcmRz5wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGFpbSBCbG9jayBQcm9kdWNlciBSZXdhcmRzCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGNsYWltcyBibG9jayBhbmQgdm90ZSByZXdhcmRzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7e293bmVyfX0gY2xhaW1zIGJsb2NrIGFuZCB2b3RlIHJld2FyZHMgZnJvbSB0aGUgc3lzdGVtLgAAAF1dhWlECGNsb3NlcmV4lAQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGVhbnVwIFVudXNlZCBSRVggRGF0YQpzdW1tYXJ5OiAnRGVsZXRlIFJFWCByZWxhdGVkIERCIGVudHJpZXMgYW5kIGZyZWUgYXNzb2NpYXRlZCBSQU0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpEZWxldGUgUkVYIHJlbGF0ZWQgREIgZW50cmllcyBhbmQgZnJlZSBhc3NvY2lhdGVkIFJBTSBmb3Ige3tvd25lcn19LgoKVG8gZnVsbHkgZGVsZXRlIGFsbCBSRVggcmVsYXRlZCBEQiBlbnRyaWVzLCB7e293bmVyfX0gbXVzdCBlbnN1cmUgdGhhdCB0aGVpciBSRVggYmFsYW5jZSBhbmQgUkVYIGZ1bmQgYW1vdW50cyBhcmUgYm90aCB6ZXJvIGFuZCB0aGV5IGhhdmUgbm8gb3V0c3RhbmRpbmcgbG9hbnMucFW6tKsb0UQMY25jbHJleG9yZGVy6wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDYW5jZWwgU2NoZWR1bGVkIFJFWCBTZWxsIE9yZGVyCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGNhbmNlbHMgYSBzY2hlZHVsZWQgc2VsbCBvcmRlciBpZiBub3QgeWV0IGZpbGxlZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7b3duZXJ9fSBjYW5jZWxzIHRoZWlyIG9wZW4gc2VsbCBvcmRlci4AVDbJRYonRQtjb25zb2xpZGF0ZaYDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ29uc29saWRhdGUgUkVYIE1hdHVyaXR5IEJ1Y2tldHMgSW50byBPbmUKc3VtbWFyeTogJ0NvbnNvbGlkYXRlIFJFWCBtYXR1cml0eSBidWNrZXRzIGludG8gb25lJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKQ29uc29saWRhdGUgUkVYIG1hdHVyaXR5IGJ1Y2tldHMgaW50byBvbmUgYnVja2V0IHRoYXQge3tvd25lcn19IHdpbGwgbm90IGJlIGFibGUgdG8gc2VsbCB1bnRpbCA0IHRvIDUgZGF5cyBsYXRlci4AwDQ06oqWSgpkZWZjcHVsb2Fu3gMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBXaXRoZHJhdyBmcm9tIHRoZSBGdW5kIG9mIGEgU3BlY2lmaWMgQ1BVIExvYW4Kc3VtbWFyeTogJ3t7bm93cmFwIGZyb219fSB0cmFuc2ZlcnMge3tub3dyYXAgYW1vdW50fX0gZnJvbSB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tub3dyYXAgbG9hbl9udW19fSBiYWNrIHRvIFJFWCBmdW5kJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gdHJhbnNmZXJzIHt7YW1vdW50fX0gZnJvbSB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tsb2FuX251bX19IGJhY2sgdG8gUkVYIGZ1bmQuAMA0NGY1l0oKZGVmbmV0bG9hbt4DLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogV2l0aGRyYXcgZnJvbSB0aGUgRnVuZCBvZiBhIFNwZWNpZmljIE5FVCBMb2FuCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gdHJhbnNmZXJzIHt7bm93cmFwIGFtb3VudH19IGZyb20gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bm93cmFwIGxvYW5fbnVtfX0gYmFjayB0byBSRVggZnVuZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHRyYW5zZmVycyB7e2Ftb3VudH19IGZyb20gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bG9hbl9udW19fSBiYWNrIHRvIFJFWCBmdW5kLgAAPyobpqJKCmRlbGVnYXRlYnfzBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFN0YWtlIFRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUKc3VtbWFyeTogJ1N0YWtlIHRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUgYW5kIG9wdGlvbmFsbHkgdHJhbnNmZXIgb3duZXJzaGlwJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7eyNpZiB0cmFuc2Zlcn19IHt7ZnJvbX19IHN0YWtlcyBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IHt7c3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7c3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpTdGFrZWQgdG9rZW5zIHdpbGwgYWxzbyBiZSB0cmFuc2ZlcnJlZCB0byB7e3JlY2VpdmVyfX0uIFRoZSBzdW0gb2YgdGhlc2UgdHdvIHF1YW50aXRpZXMgd2lsbCBiZSBkZWR1Y3RlZCBmcm9tIHt7ZnJvbX194oCZcyBsaXF1aWQgYmFsYW5jZSBhbmQgYWRkIHRvIHRoZSB2b3RlIHdlaWdodCBvZiB7e3JlY2VpdmVyfX0uCnt7ZWxzZX19Cnt7ZnJvbX19IHN0YWtlcyB0byBzZWxmIGFuZCBkZWxlZ2F0ZXMgdG8ge3tyZWNlaXZlcn19IHt7c3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7c3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpUaGUgc3VtIG9mIHRoZXNlIHR3byBxdWFudGl0aWVzIGFkZCB0byB0aGUgdm90ZSB3ZWlnaHQgb2Yge3tmcm9tfX0uCnt7L2lmfX0AQMvaqKyiSgpkZWxldGVhdXRo9QItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZWxldGUgQWNjb3VudCBQZXJtaXNzaW9uCnN1bW1hcnk6ICdEZWxldGUgdGhlIHt7bm93cmFwIHBlcm1pc3Npb259fSBwZXJtaXNzaW9uIG9mIHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpEZWxldGUgdGhlIHt7cGVybWlzc2lvbn19IHBlcm1pc3Npb24gb2Yge3thY2NvdW50fX0uAFTUSTWEo0oLZGVsc2NoZWR1bGX8Ai0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERlbGV0ZSBBbm51YWwgUmF0ZSBTY2hlZHVsZQpzdW1tYXJ5OiAnRGVsZXRlIGFubnVhbCByYXRlIHNjaGVkdWxlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHRvIGRlbGV0ZSBhIHByZS1kZXRlcm1pbmVkIGluZmxhdGlvbiBzY2hlZHVsZSBmcm9tIHt7c3RhcnRfdGltZX19IHN0YXJ0IHRpbWUuAAAAIDtMq0oHZGVwb3NpdIgELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRGVwb3NpdCBJbnRvIFJFWCBGdW5kCnN1bW1hcnk6ICdBZGQgdG8ge3tub3dyYXAgb3duZXJ9feKAmXMgUkVYIGZ1bmQgYnkgdHJhbnNmZXJyaW5nIHt7bm93cmFwIGFtb3VudH19IGZyb20ge3tub3dyYXAgb3duZXJ9feKAmXMgbGlxdWlkIGJhbGFuY2UnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpUcmFuc2ZlciB7e2Ftb3VudH19IGZyb20ge3tvd25lcn194oCZcyBsaXF1aWQgYmFsYW5jZSB0byB7e293bmVyfX3igJlzIFJFWCBmdW5kLiBBbGwgcHJvY2VlZHMgYW5kIGV4cGVuc2VzIHJlbGF0ZWQgdG8gUkVYIGFyZSBhZGRlZCB0byBvciB0YWtlbiBvdXQgb2YgdGhpcyBmdW5kLgC6ujSrbCZNC2RvbmF0ZXRvcmV4pQMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEb25hdGUgc3lzdGVtIHRva2VucyB0byBSRVgKc3VtbWFyeTogJ3t7bm93cmFwIHBheWVyfX0gZG9uYXRlcyB7e25vd3JhcCBxdWFudGl0eX19IHRva2VucyB0byBSRVgnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e3F1YW50aXR5fX0gaXMgdGFrZW4gb3V0IG9mIHt7cGF5ZXJ9feKAmXMgdG9rZW4gYmFsYW5jZSBhbmQgZ2l2ZW4gdG8gUkVYIHdpdGggdGhlIGluY2x1ZGVkIG1lbW86ICJ7e21lbW99fSIuoKJOqiGMVFcMZXhlY3NjaGVkdWxl7QItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBFeGVjdXRlIE5leHQgQW5udWFsIFJhdGUgU2NoZWR1bGUKc3VtbWFyeTogJ0V4ZWN1dGUgbmV4dCBhbm51YWwgcmF0ZSBzY2hlZHVsZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSB0byBleGVjdXRlIHRoZSBuZXh0IHVwY29taW5nIGFubnVhbCByYXRlIHNjaGVkdWxlLgCmoVFXlKZeC2Z1bmRjcHVsb2Fu/AMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZXBvc2l0IGludG8gdGhlIEZ1bmQgb2YgYSBTcGVjaWZpYyBDUFUgTG9hbgpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IGZ1bmRzIGEgQ1BVIGxvYW4nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e2Zyb219fSB0cmFuc2ZlcnMge3twYXltZW50fX0gZnJvbSBSRVggZnVuZCB0byB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tsb2FuX251bX19IGluIG9yZGVyIHRvIGJlIHVzZWQgaW4gbG9hbiByZW5ld2FsIGF0IGV4cGlyeS4ge3tmcm9tfX0gY2FuIHdpdGhkcmF3IHRoZSB0b3RhbCBiYWxhbmNlIG9mIHRoZSBsb2FuIGZ1bmQgYXQgYW55IHRpbWUuAKahMauZpl4LZnVuZG5ldGxvYW78Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERlcG9zaXQgaW50byB0aGUgRnVuZCBvZiBhIFNwZWNpZmljIE5FVCBMb2FuCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gZnVuZHMgYSBORVQgbG9hbicKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHRyYW5zZmVycyB7e3BheW1lbnR9fSBmcm9tIFJFWCBmdW5kIHRvIHRoZSBmdW5kIG9mIE5FVCBsb2FuIG51bWJlciB7e2xvYW5fbnVtfX0gaW4gb3JkZXIgdG8gYmUgdXNlZCBpbiBsb2FuIHJlbmV3YWwgYXQgZXhwaXJ5LiB7e2Zyb219fSBjYW4gd2l0aGRyYXcgdGhlIHRvdGFsIGJhbGFuY2Ugb2YgdGhlIGxvYW4gZnVuZCBhdCBhbnkgdGltZS4AAAAAAJDddARpbml04wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBJbml0aWFsaXplIFN5c3RlbSBDb250cmFjdApzdW1tYXJ5OiAnSW5pdGlhbGl6ZSBzeXN0ZW0gY29udHJhY3QnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCkluaXRpYWxpemUgc3lzdGVtIGNvbnRyYWN0LiBUaGUgY29yZSB0b2tlbiBzeW1ib2wgd2lsbCBiZSBzZXQgdG8ge3tjb3JlfX0uwBpqWZvspIsMbGltaXRhdXRoY2hnAAAAAC1rA6eLCGxpbmthdXRonQUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBMaW5rIEFjdGlvbiB0byBQZXJtaXNzaW9uCnN1bW1hcnk6ICd7e25vd3JhcCBhY2NvdW50fX0gc2V0cyB0aGUgbWluaW11bSByZXF1aXJlZCBwZXJtaXNzaW9uIGZvciB0aGUge3sjaWYgdHlwZX19e3tub3dyYXAgdHlwZX19IGFjdGlvbiBvZiB0aGV7ey9pZn19IHt7bm93cmFwIGNvZGV9fSBjb250cmFjdCB0byB7e25vd3JhcCByZXF1aXJlbWVudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCnt7YWNjb3VudH19IHNldHMgdGhlIG1pbmltdW0gcmVxdWlyZWQgcGVybWlzc2lvbiBmb3IgdGhlIHt7I2lmIHR5cGV9fXt7dHlwZX19IGFjdGlvbiBvZiB0aGV7ey9pZn19IHt7Y29kZX19IGNvbnRyYWN0IHRvIHt7cmVxdWlyZW1lbnR9fS4KCnt7I2lmIHR5cGV9fXt7ZWxzZX19QW55IGxpbmtzIGV4cGxpY2l0bHkgYXNzb2NpYXRlZCB0byBzcGVjaWZpYyBhY3Rpb25zIG9mIHt7Y29kZX19IHdpbGwgdGFrZSBwcmVjZWRlbmNlLnt7L2lmfX0AAJDmen0YjQlsb2didXlyYW0AoNg0DUlzGY0MbG9ncmFtY2hhbmdlAACANDdGhRmNCmxvZ3NlbGxyYW0AoNSSKmOPGY0MbG9nc3lzdGVtZmVlAAAwm24bfNeWC212ZnJzYXZpbmdznAMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBVbmxvY2sgUkVYIFRva2VucwpzdW1tYXJ5OiAne3tub3dyYXAgb3duZXJ9fSB1bmxvY2tzIFJFWCBUb2tlbnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e293bmVyfX0gdW5sb2NrcyB7e3JleH19IGJ5IG1vdmluZyBpdCBvdXQgb2YgdGhlIFJFWCBzYXZpbmdzIGJ1Y2tldC4gVGhlIHVubG9ja2VkIFJFWCB0b2tlbnMgY2Fubm90IGJlIHNvbGQgdW50aWwgNCB0byA1IGRheXMgbGF0ZXIuADCbbhtM85YLbXZ0b3NhdmluZ3O6Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IExvY2sgUkVYIFRva2VucwpzdW1tYXJ5OiAne3tub3dyYXAgb3duZXJ9fSBsb2NrcyBSRVggVG9rZW5zJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tvd25lcn19IGxvY2tzIHt7cmV4fX0gYnkgbW92aW5nIGl0IGludG8gdGhlIFJFWCBzYXZpbmdzIGJ1Y2tldC4gVGhlIGxvY2tlZCBSRVggdG9rZW5zIGNhbm5vdCBiZSBzb2xkIGRpcmVjdGx5IGFuZCB3aWxsIGhhdmUgdG8gYmUgdW5sb2NrZWQgZXhwbGljaXRseSBiZWZvcmUgc2VsbGluZy4AQJ6aImS4mgpuZXdhY2NvdW50gAQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDcmVhdGUgTmV3IEFjY291bnQKc3VtbWFyeTogJ3t7bm93cmFwIGNyZWF0b3J9fSBjcmVhdGVzIGEgbmV3IGFjY291bnQgd2l0aCB0aGUgbmFtZSB7e25vd3JhcCBuYW1lfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKe3tjcmVhdG9yfX0gY3JlYXRlcyBhIG5ldyBhY2NvdW50IHdpdGggdGhlIG5hbWUge3tuYW1lfX0gYW5kIHRoZSBmb2xsb3dpbmcgcGVybWlzc2lvbnM6Cgpvd25lciBwZXJtaXNzaW9uIHdpdGggYXV0aG9yaXR5Ogp7e3RvX2pzb24gb3duZXJ9fQoKYWN0aXZlIHBlcm1pc3Npb24gd2l0aCBhdXRob3JpdHk6Cnt7dG9fanNvbiBhY3RpdmV9fQAAAAAiGs+kB29uYmxvY2sAAAAA4NJ71aQHb25lcnJvcgAAAACg6qs4rQdwb3dlcnVw1AItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBQb3dlcnVwIHJlc291cmNlcwpzdW1tYXJ5OiAnVXNlciBtYXkgcG93ZXJ1cCB0byByZXNlcnZlIHJlc291cmNlcycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Jlc291cmNlLnBuZyMzODMwZjFjZThjYjA3Zjc3NTdkYmNmMzgzYjFlYzFiMTE5MTRhYzM0YTFmOWQ4YjA2NWYwNzYwMGZhOWRhYzE5Ci0tLQoKVXNlcnMgbWF5IHVzZSB0aGUgcG93ZXJ1cCBhY3Rpb24gdG8gcmVzZXJ2ZSByZXNvdXJjZXMuAJDqquqrOK0LcG93ZXJ1cGV4ZWMAAAAAYF59pLkHcmFtYnVybqgDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQnVybiBSQU0gZnJvbSBBY2NvdW50CnN1bW1hcnk6ICdCdXJuIHVudXNlZCBSQU0gZnJvbSB7e25vd3JhcCBvd25lcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpCdXJuIHt7Ynl0ZXN9fSBieXRlcyBvZiB1bnVzZWQgUkFNIGZyb20gYWNjb3VudCB7e293bmVyfX0uCgp7eyNpZiBtZW1vfX1UaGVyZSBpcyBhIG1lbW8gYXR0YWNoZWQgdG8gdGhlIGJ1cm4gc3RhdGluZzoKe3ttZW1vfX0Ke3svaWZ9fQCuWniam6W5C3JhbXRyYW5zZmVy2QMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBUcmFuc2ZlciBSQU0gZnJvbSBBY2NvdW50CnN1bW1hcnk6ICdUcmFuc2ZlciB1bnVzZWQgUkFNIGZyb20ge3tub3dyYXAgZnJvbX19IHRvIHt7bm93cmFwIHRvfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KClRyYW5zZmVyIHt7Ynl0ZXN9fSBieXRlcyBvZiB1bnVzZWQgUkFNIGZyb20gYWNjb3VudCB7e2Zyb219fSB0byBhY2NvdW50IHt7dG99fS4KCnt7I2lmIG1lbW99fVRoZXJlIGlzIGEgbWVtbyBhdHRhY2hlZCB0byB0aGUgdHJhbnNmZXIgc3RhdGluZzoKe3ttZW1vfX0Ke3svaWZ9fQAAAACkqZe6BnJlZnVuZIcDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ2xhaW0gVW5zdGFrZWQgVG9rZW5zCnN1bW1hcnk6ICdSZXR1cm4gcHJldmlvdXNseSB1bnN0YWtlZCB0b2tlbnMgdG8ge3tub3dyYXAgb3duZXJ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpSZXR1cm4gcHJldmlvdXNseSB1bnN0YWtlZCB0b2tlbnMgdG8ge3tvd25lcn19IGFmdGVyIHRoZSB1bnN0YWtpbmcgcGVyaW9kIGhhcyBlbGFwc2VkLgCuQjrRW5m6C3JlZ3Byb2R1Y2VymQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBSZWdpc3RlciBhcyBhIEJsb2NrIFByb2R1Y2VyIENhbmRpZGF0ZQpzdW1tYXJ5OiAnUmVnaXN0ZXIge3tub3dyYXAgcHJvZHVjZXJ9fSBhY2NvdW50IGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvdm90aW5nLnBuZyNkYjI4Y2QzZGI2ZTYyZDQ1MDlhZjM2NDRjZTdkMzc3MzI5NDgyYTE0YmI0YmZhY2EyYWE1ZjE0MDBkOGU4YTg0Ci0tLQoKUmVnaXN0ZXIge3twcm9kdWNlcn19IGFjY291bnQgYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUuCgpVUkw6IHt7dXJsfX0KTG9jYXRpb24gY29kZToge3tsb2NhdGlvbn19CkJsb2NrIHNpZ25pbmcga2V5OiB7e3Byb2R1Y2VyX2tleX19CgojIyBCbG9jayBQcm9kdWNlciBBZ3JlZW1lbnQKe3skY2xhdXNlcy5CbG9ja1Byb2R1Y2VyQWdyZWVtZW50fX0grkI60VuZugxyZWdwcm9kdWNlcjKtBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlZ2lzdGVyIGFzIGEgQmxvY2sgUHJvZHVjZXIgQ2FuZGlkYXRlCnN1bW1hcnk6ICdSZWdpc3RlciB7e25vd3JhcCBwcm9kdWNlcn19IGFjY291bnQgYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy92b3RpbmcucG5nI2RiMjhjZDNkYjZlNjJkNDUwOWFmMzY0NGNlN2QzNzczMjk0ODJhMTRiYjRiZmFjYTJhYTVmMTQwMGQ4ZThhODQKLS0tCgpSZWdpc3RlciB7e3Byb2R1Y2VyfX0gYWNjb3VudCBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4KClVSTDoge3t1cmx9fQpMb2NhdGlvbiBjb2RlOiB7e2xvY2F0aW9ufX0KQmxvY2sgc2lnbmluZyBhdXRob3JpdHk6Cnt7dG9fanNvbiBwcm9kdWNlcl9hdXRob3JpdHl9fQoKIyMgQmxvY2sgUHJvZHVjZXIgQWdyZWVtZW50Cnt7JGNsYXVzZXMuQmxvY2tQcm9kdWNlckFncmVlbWVudH19AAAAvtNbmboIcmVncHJveHmjBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlZ2lzdGVyL3VucmVnaXN0ZXIgYXMgYSBQcm94eQpzdW1tYXJ5OiAnUmVnaXN0ZXIvdW5yZWdpc3RlciB7e25vd3JhcCBwcm94eX19IGFzIGEgcHJveHkgYWNjb3VudCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3ZvdGluZy5wbmcjZGIyOGNkM2RiNmU2MmQ0NTA5YWYzNjQ0Y2U3ZDM3NzMyOTQ4MmExNGJiNGJmYWNhMmFhNWYxNDAwZDhlOGE4NAotLS0KCnt7I2lmIGlzcHJveHl9fQp7e3Byb3h5fX0gcmVnaXN0ZXJzIGFzIGEgcHJveHkgdGhhdCBjYW4gdm90ZSBvbiBiZWhhbGYgb2YgYWNjb3VudHMgdGhhdCBhcHBvaW50IGl0IGFzIHRoZWlyIHByb3h5Lgp7e2Vsc2V9fQp7e3Byb3h5fX0gdW5yZWdpc3RlcnMgYXMgYSBwcm94eSB0aGF0IGNhbiB2b3RlIG9uIGJlaGFsZiBvZiBhY2NvdW50cyB0aGF0IGFwcG9pbnQgaXQgYXMgdGhlaXIgcHJveHkuCnt7L2lmfX0AAABAV5SnugdyZW50Y3B13AktLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBSZW50IENQVSBCYW5kd2lkdGggZm9yIDMwIERheXMKc3VtbWFyeTogJ3t7bm93cmFwIGZyb219fSBwYXlzIHt7bm93cmFwIGxvYW5fcGF5bWVudH19IHRvIHJlbnQgQ1BVIGJhbmR3aWR0aCBmb3Ige3tub3dyYXAgcmVjZWl2ZXJ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHBheXMge3tsb2FuX3BheW1lbnR9fSB0byByZW50IENQVSBiYW5kd2lkdGggb24gYmVoYWxmIG9mIHt7cmVjZWl2ZXJ9fSBmb3IgYSBwZXJpb2Qgb2YgMzAgZGF5cy4KCnt7bG9hbl9wYXltZW50fX0gaXMgdGFrZW4gb3V0IG9mIHt7ZnJvbX194oCZcyBSRVggZnVuZC4gVGhlIG1hcmtldCBwcmljZSBkZXRlcm1pbmVzIHRoZSBudW1iZXIgb2YgdG9rZW5zIHRvIGJlIHN0YWtlZCB0byB7e3JlY2VpdmVyfX3igJlzIENQVSByZXNvdXJjZXMuIEluIGFkZGl0aW9uLCB7e2Zyb219fSBwcm92aWRlcyB7e2xvYW5fZnVuZH19LCB3aGljaCBpcyBhbHNvIHRha2VuIG91dCBvZiB7e2Zyb219feKAmXMgUkVYIGZ1bmQsIHRvIGJlIHVzZWQgZm9yIGF1dG9tYXRpYyByZW5ld2FsIG9mIHRoZSBsb2FuLgoKQXQgZXhwaXJhdGlvbiwgaWYgdGhlIGxvYW4gaGFzIGxlc3MgZnVuZHMgdGhhbiB7e2xvYW5fcGF5bWVudH19LCBpdCBpcyBjbG9zZWQgYW5kIGxlbnQgdG9rZW5zIHRoYXQgaGF2ZSBiZWVuIHN0YWtlZCBhcmUgdGFrZW4gb3V0IG9mIHt7cmVjZWl2ZXJ9feKAmXMgQ1BVIGJhbmR3aWR0aC4gT3RoZXJ3aXNlLCBpdCBpcyByZW5ld2VkIGF0IHRoZSBtYXJrZXQgcHJpY2UgYXQgdGhlIHRpbWUgb2YgcmVuZXdhbCwgdGhhdCBpcywgdGhlIG51bWJlciBvZiBzdGFrZWQgdG9rZW5zIGlzIHJlY2FsY3VsYXRlZCBhbmQge3tyZWNlaXZlcn194oCZcyBDUFUgYmFuZHdpZHRoIGlzIHVwZGF0ZWQgYWNjb3JkaW5nbHkuIHt7ZnJvbX19IGNhbiBmdW5kIG9yIGRlZnVuZCBhIGxvYW4gYXQgYW55IHRpbWUgYmVmb3JlIGV4cGlyYXRpb24uIFdoZW4gdGhlIGxvYW4gaXMgY2xvc2VkLCB7e2Zyb219fSBpcyByZWZ1bmRlZCBhbnkgdG9rZW5zIHJlbWFpbmluZyBpbiB0aGUgbG9hbiBmdW5kLgAAACCrmae6B3JlbnRuZXToCS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlbnQgTkVUIEJhbmR3aWR0aCBmb3IgMzAgRGF5cwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IHBheXMge3tub3dyYXAgbG9hbl9wYXltZW50fX0gdG8gcmVudCBORVQgYmFuZHdpZHRoIGZvciB7e25vd3JhcCByZWNlaXZlcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gcGF5cyB7e2xvYW5fcGF5bWVudH19IHRvIHJlbnQgTkVUIGJhbmR3aWR0aCBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGZvciBhIHBlcmlvZCBvZiAzMCBkYXlzLgoKe3tsb2FuX3BheW1lbnR9fSBpcyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kLiBUaGUgbWFya2V0IHByaWNlIGRldGVybWluZXMgdGhlIG51bWJlciBvZiB0b2tlbnMgdG8gYmUgc3Rha2VkIHRvIHt7cmVjZWl2ZXJ9feKAmXMgTkVUIHJlc291cmNlcyBmb3IgMzAgZGF5cy4gSW4gYWRkaXRpb24sIHt7ZnJvbX19IHByb3ZpZGVzIHt7bG9hbl9mdW5kfX0sIHdoaWNoIGlzIGFsc28gdGFrZW4gb3V0IG9mIHt7ZnJvbX194oCZcyBSRVggZnVuZCwgdG8gYmUgdXNlZCBmb3IgYXV0b21hdGljIHJlbmV3YWwgb2YgdGhlIGxvYW4uCgpBdCBleHBpcmF0aW9uLCBpZiB0aGUgbG9hbiBoYXMgbGVzcyBmdW5kcyB0aGFuIHt7bG9hbl9wYXltZW50fX0sIGl0IGlzIGNsb3NlZCBhbmQgbGVudCB0b2tlbnMgdGhhdCBoYXZlIGJlZW4gc3Rha2VkIGFyZSB0YWtlbiBvdXQgb2Yge3tyZWNlaXZlcn194oCZcyBORVQgYmFuZHdpZHRoLiBPdGhlcndpc2UsIGl0IGlzIHJlbmV3ZWQgYXQgdGhlIG1hcmtldCBwcmljZSBhdCB0aGUgdGltZSBvZiByZW5ld2FsLCB0aGF0IGlzLCB0aGUgbnVtYmVyIG9mIHN0YWtlZCB0b2tlbnMgaXMgcmVjYWxjdWxhdGVkIGFuZCB7e3JlY2VpdmVyfX3igJlzIE5FVCBiYW5kd2lkdGggaXMgdXBkYXRlZCBhY2NvcmRpbmdseS4ge3tmcm9tfX0gY2FuIGZ1bmQgb3IgZGVmdW5kIGEgbG9hbiBhdCBhbnkgdGltZSBiZWZvcmUgZXhwaXJhdGlvbi4gV2hlbiB0aGUgbG9hbiBpcyBjbG9zZWQsIHt7ZnJvbX19IGlzIHJlZnVuZGVkIGFueSB0b2tlbnMgcmVtYWluaW5nIGluIHRoZSBsb2FuIGZ1bmQuAAAAAKmuuroHcmV4ZXhlY6IDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUGVyZm9ybSBSRVggTWFpbnRlbmFuY2UKc3VtbWFyeTogJ1Byb2Nlc3Mgc2VsbCBvcmRlcnMgYW5kIGV4cGlyZWQgbG9hbnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpQZXJmb3JtcyBSRVggbWFpbnRlbmFuY2UgYnkgcHJvY2Vzc2luZyBhIG1heGltdW0gb2Yge3ttYXh9fSBSRVggc2VsbCBvcmRlcnMgYW5kIGV4cGlyZWQgbG9hbnMuIEFueSBhY2NvdW50IGNhbiBleGVjdXRlIHRoaXMgYWN0aW9uLgCuQjrRW7e8C3JtdnByb2R1Y2VyggUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBGb3JjaWJseSBVbnJlZ2lzdGVyIGEgQmxvY2sgUHJvZHVjZXIgQ2FuZGlkYXRlCnN1bW1hcnk6ICd7e25vd3JhcCBwcm9kdWNlcn19IGlzIHVucmVnaXN0ZXJlZCBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSB1bnJlZ2lzdGVycyB7e3Byb2R1Y2VyfX0gYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUuIHt7cHJvZHVjZXJ9fSBhY2NvdW50IHdpbGwgcmV0YWluIGl0cyB2b3RlcyBhbmQgdGhvc2Ugdm90ZXMgY2FuIGNoYW5nZSBiYXNlZCBvbiB2b3RlciBzdGFrZSBjaGFuZ2VzIG9yIHZvdGVzIHJlbW92ZWQgZnJvbSB7e3Byb2R1Y2VyfX0uIEhvd2V2ZXIgbmV3IHZvdGVycyB3aWxsIG5vdCBiZSBhYmxlIHRvIHZvdGUgZm9yIHt7cHJvZHVjZXJ9fSB3aGlsZSBpdCByZW1haW5zIHVucmVnaXN0ZXJlZC4AAABAmhujwgdzZWxscmFtxQMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZWxsIFJBTSBGcm9tIEFjY291bnQKc3VtbWFyeTogJ1NlbGwgdW51c2VkIFJBTSBmcm9tIHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Jlc291cmNlLnBuZyMzODMwZjFjZThjYjA3Zjc3NTdkYmNmMzgzYjFlYzFiMTE5MTRhYzM0YTFmOWQ4YjA2NWYwNzYwMGZhOWRhYzE5Ci0tLQoKU2VsbCB7e2J5dGVzfX0gYnl0ZXMgb2YgdW51c2VkIFJBTSBmcm9tIGFjY291bnQge3thY2NvdW50fX0gYXQgbWFya2V0IHByaWNlLiBUaGlzIHRyYW5zYWN0aW9uIHdpbGwgaW5jdXIgYSAwLjUlIGZlZSBvbiB0aGUgcHJvY2VlZHMgd2hpY2ggZGVwZW5kIG9uIG1hcmtldCByYXRlcy4AAACgqxujwgdzZWxscmV47AotLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZWxsIFJFWCBUb2tlbnMgaW4gRXhjaGFuZ2UgZm9yIEVPUwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IHNlbGxzIHt7bm93cmFwIHJleH19IHRva2VucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KClRoZSAncmV4JyBwYXJhbWV0ZXIgbm8gbG9uZ2VyIGhhcyBhbiBlZmZlY3QuCgp7e2Zyb219fSBpbml0aWF0ZXMgYSBzZWxsIG9yZGVyIHRvIHNlbGwgYWxsIG9mIHRoZWlyIG1hdHVyZWQgUkVYIHRva2VucyBhdCB0aGUgbWFya2V0IGV4Y2hhbmdlIHJhdGUgZHVyaW5nIHRoZSB0aW1lIGF0IHdoaWNoIHRoZSBvcmRlciBpcyB1bHRpbWF0ZWx5IGV4ZWN1dGVkLiAKSWYge3tmcm9tfX0gYWxyZWFkeSBoYXMgYW4gb3BlbiBzZWxsIG9yZGVyIGluIHRoZSBzZWxsIHF1ZXVlLCB7e3JleH19IHdpbGwgYmUgYWRkZWQgdG8gdGhlIGFtb3VudCBvZiB0aGUgc2VsbCBvcmRlciB3aXRob3V0IGNoYW5nZSB0aGUgcG9zaXRpb24gb2YgdGhlIHNlbGwgb3JkZXIgd2l0aGluIHRoZSBxdWV1ZS4gCk9uY2UgdGhlIHNlbGwgb3JkZXIgaXMgZXhlY3V0ZWQsIHByb2NlZWRzIGFyZSBhZGRlZCB0byB7e2Zyb219feKAmXMgUkVYIGZ1bmQsIHRoZSB2YWx1ZSBvZiBzb2xkIFJFWCB0b2tlbnMgaXMgZGVkdWN0ZWQgZnJvbSB7e2Zyb219feKAmXMgdm90ZSBzdGFrZSwgYW5kIHZvdGVzIGFyZSB1cGRhdGVkIGFjY29yZGluZ2x5LgoKRGVwZW5kaW5nIG9uIHRoZSBtYXJrZXQgY29uZGl0aW9ucywgaXQgbWF5IG5vdCBiZSBwb3NzaWJsZSB0byBmaWxsIHRoZSBlbnRpcmUgc2VsbCBvcmRlciBpbW1lZGlhdGVseS4gSW4gc3VjaCBhIGNhc2UsIHRoZSBzZWxsIG9yZGVyIGlzIGFkZGVkIHRvIHRoZSBiYWNrIG9mIGEgc2VsbCBxdWV1ZS4gCkEgc2VsbCBvcmRlciBhdCB0aGUgZnJvbnQgb2YgdGhlIHNlbGwgcXVldWUgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGV4ZWN1dGVkIHdoZW4gdGhlIG1hcmtldCBjb25kaXRpb25zIGFsbG93IGZvciB0aGUgZW50aXJlIG9yZGVyIHRvIGJlIGZpbGxlZC4gUmVnYXJkbGVzcyBvZiB0aGUgbWFya2V0IGNvbmRpdGlvbnMsIAp0aGUgc3lzdGVtIGlzIGRlc2lnbmVkIHRvIGV4ZWN1dGUgdGhpcyBzZWxsIG9yZGVyIHdpdGhpbiAzMCBkYXlzLiB7e2Zyb219fSBjYW4gY2FuY2VsIHRoZSBvcmRlciBhdCBhbnkgdGltZSBiZWZvcmUgaXQgaXMgZmlsbGVkIHVzaW5nIHRoZSBjbmNscmV4b3JkZXIgYWN0aW9uLgAAAAC4Y7LCBnNldGFiafMCLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRGVwbG95IENvbnRyYWN0IEFCSQpzdW1tYXJ5OiAnRGVwbG95IGNvbnRyYWN0IEFCSSBvbiBhY2NvdW50IHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpEZXBsb3kgdGhlIEFCSSBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29udHJhY3Qgb24gYWNjb3VudCB7e2FjY291bnR9fS4AgK4oI2SywgpzZXRhY2N0Y3B1ngYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBFeHBsaWNpdGx5IE1hbmFnZSB0aGUgQ1BVIFF1b3RhIG9mIEFjY291bnQKc3VtbWFyeTogJ0V4cGxpY2l0bHkgbWFuYWdlIHRoZSBDUFUgYmFuZHdpZHRoIHF1b3RhIG9mIGFjY291bnQge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyNpZl9oYXNfdmFsdWUgY3B1X3dlaWdodH19CkV4cGxpY2l0bHkgbWFuYWdlIHRoZSBDUFUgYmFuZHdpZHRoIHF1b3RhIG9mIGFjY291bnQge3thY2NvdW50fX0gYnkgcGlubmluZyBpdCB0byBhIHdlaWdodCBvZiB7e2NwdV93ZWlnaHR9fS4KCnt7YWNjb3VudH19IGNhbiBzdGFrZSBhbmQgdW5zdGFrZSwgaG93ZXZlciwgaXQgd2lsbCBub3QgY2hhbmdlIHRoZWlyIENQVSBiYW5kd2lkdGggcXVvdGEgYXMgbG9uZyBhcyBpdCByZW1haW5zIHBpbm5lZC4Ke3tlbHNlfX0KVW5waW4gdGhlIENQVSBiYW5kd2lkdGggcXVvdGEgb2YgYWNjb3VudCB7e2FjY291bnR9fS4gVGhlIENQVSBiYW5kd2lkdGggcXVvdGEgb2Yge3thY2NvdW50fX0gd2lsbCBiZSBkcml2ZW4gYnkgdGhlIGN1cnJlbnQgdG9rZW5zIHN0YWtlZCBmb3IgQ1BVIGJhbmR3aWR0aCBieSB7e2FjY291bnR9fS4Ke3svaWZfaGFzX3ZhbHVlfX0AQFYzI2SywgpzZXRhY2N0bmV0ogYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBFeHBsaWNpdGx5IE1hbmFnZSB0aGUgTkVUIFF1b3RhIG9mIEFjY291bnQKc3VtbWFyeTogJ0V4cGxpY2l0bHkgbWFuYWdlIHRoZSBORVQgYmFuZHdpZHRoIHF1b3RhIG9mIGFjY291bnQge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyNpZl9oYXNfdmFsdWUgbmV0X3dlaWdodH19CkV4cGxpY2l0bHkgbWFuYWdlIHRoZSBuZXR3b3JrIGJhbmR3aWR0aCBxdW90YSBvZiBhY2NvdW50IHt7YWNjb3VudH19IGJ5IHBpbm5pbmcgaXQgdG8gYSB3ZWlnaHQgb2Yge3tuZXRfd2VpZ2h0fX0uCgp7e2FjY291bnR9fSBjYW4gc3Rha2UgYW5kIHVuc3Rha2UsIGhvd2V2ZXIsIGl0IHdpbGwgbm90IGNoYW5nZSB0aGVpciBORVQgYmFuZHdpZHRoIHF1b3RhIGFzIGxvbmcgYXMgaXQgcmVtYWlucyBwaW5uZWQuCnt7ZWxzZX19ClVucGluIHRoZSBORVQgYmFuZHdpZHRoIHF1b3RhIG9mIGFjY291bnQge3thY2NvdW50fX0uIFRoZSBORVQgYmFuZHdpZHRoIHF1b3RhIG9mIHt7YWNjb3VudH19IHdpbGwgYmUgZHJpdmVuIGJ5IHRoZSBjdXJyZW50IHRva2VucyBzdGFrZWQgZm9yIE5FVCBiYW5kd2lkdGggYnkge3thY2NvdW50fX0uCnt7L2lmX2hhc192YWx1ZX19AIA0NyNkssIKc2V0YWNjdHJhbdAFLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRXhwbGljaXRseSBNYW5hZ2UgdGhlIFJBTSBRdW90YSBvZiBBY2NvdW50CnN1bW1hcnk6ICdFeHBsaWNpdGx5IG1hbmFnZSB0aGUgUkFNIHF1b3RhIG9mIGFjY291bnQge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyNpZl9oYXNfdmFsdWUgcmFtX2J5dGVzfX0KRXhwbGljaXRseSBtYW5hZ2UgdGhlIFJBTSBxdW90YSBvZiBhY2NvdW50IHt7YWNjb3VudH19IGJ5IHBpbm5pbmcgaXQgdG8ge3tyYW1fYnl0ZXN9fSBieXRlcy4KCnt7YWNjb3VudH19IGNhbiBidXkgYW5kIHNlbGwgUkFNLCBob3dldmVyLCBpdCB3aWxsIG5vdCBjaGFuZ2UgdGhlaXIgUkFNIHF1b3RhIGFzIGxvbmcgYXMgaXQgcmVtYWlucyBwaW5uZWQuCnt7ZWxzZX19ClVucGluIHRoZSBSQU0gcXVvdGEgb2YgYWNjb3VudCB7e2FjY291bnR9fS4gVGhlIFJBTSBxdW90YSBvZiB7e2FjY291bnR9fSB3aWxsIGJlIGRyaXZlbiBieSB0aGUgY3VycmVudCBSQU0gaG9sZGluZ3Mgb2Yge3thY2NvdW50fX0uCnt7L2lmX2hhc192YWx1ZX19AADOTrpossIKc2V0YWxpbWl0c/YDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQWRqdXN0IFJlc291cmNlIExpbWl0cyBvZiBBY2NvdW50CnN1bW1hcnk6ICdBZGp1c3QgcmVzb3VyY2UgbGltaXRzIG9mIGFjY291bnQge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHVwZGF0ZXMge3thY2NvdW50fX3igJlzIHJlc291cmNlIGxpbWl0cyB0byBoYXZlIGEgUkFNIHF1b3RhIG9mIHt7cmFtX2J5dGVzfX0gYnl0ZXMsIGEgTkVUIGJhbmR3aWR0aCBxdW90YSBvZiB7e25ldF93ZWlnaHR9fSBhbmQgYSBDUFUgYmFuZHdpZHRoIHF1b3RhIG9mIHt7Y3B1X3dlaWdodH19LgAAAEAlirLCB3NldGNvZGXmAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERlcGxveSBDb250cmFjdCBDb2RlCnN1bW1hcnk6ICdEZXBsb3kgY29udHJhY3QgY29kZSBvbiBhY2NvdW50IHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpEZXBsb3kgY29tcGlsZWQgY29udHJhY3QgY29kZSB0byB0aGUgYWNjb3VudCB7e2FjY291bnR9fS4wqcsmrumywgxzZXRpbmZsYXRpb27rBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNldCBJbmZsYXRpb24gUGFyYW1ldGVycwpzdW1tYXJ5OiAnU2V0IGluZmxhdGlvbiBwYXJhbWV0ZXJzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHNldHMgdGhlIGluZmxhdGlvbiBwYXJhbWV0ZXJzIGFzIGZvbGxvd3M6CgoqIEFubnVhbCBpbmZsYXRpb24gcmF0ZSAoaW4gdW5pdHMgb2YgYSBodW5kcmVkdGggb2YgYSBwZXJjZW50KToge3thbm51YWxfcmF0ZX19CiogRnJhY3Rpb24gb2YgaW5mbGF0aW9uIHVzZWQgdG8gcmV3YXJkIGJsb2NrIHByb2R1Y2VyczogMTAwMDAve3tpbmZsYXRpb25fcGF5X2ZhY3Rvcn19CiogRnJhY3Rpb24gb2YgYmxvY2sgcHJvZHVjZXIgcmV3YXJkcyB0byBiZSBkaXN0cmlidXRlZCBwcm9wb3J0aW9uYWwgdG8gYmxvY2tzIHByb2R1Y2VkOiAxMDAwMC97e3ZvdGVwYXlfZmFjdG9yfX0AAMDSXFOzwglzZXRwYXJhbXPQAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNldCBTeXN0ZW0gUGFyYW1ldGVycwpzdW1tYXJ5OiAnU2V0IFN5c3RlbSBQYXJhbWV0ZXJzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHNldHMgc3lzdGVtIHBhcmFtZXRlcnMgdG86Cnt7dG9fanNvbiBwYXJhbXN9fXBpRmZ5U7PCDHNldHBheWZhY3RvcokELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogU2V0IFBheSBGYWN0b3JzCnN1bW1hcnk6ICdTZXQgcGF5IGZhY3RvcnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gc2V0cyB0aGUgaW5mbGF0aW9uIHBhcmFtZXRlcnMgYXMgZm9sbG93czoKCiogRnJhY3Rpb24gb2YgaW5mbGF0aW9uIHVzZWQgdG8gcmV3YXJkIGJsb2NrIHByb2R1Y2VyczogMTAwMDAve3tpbmZsYXRpb25fcGF5X2ZhY3Rvcn19CiogRnJhY3Rpb24gb2YgYmxvY2sgcHJvZHVjZXIgcmV3YXJkcyB0byBiZSBkaXN0cmlidXRlZCBwcm9wb3J0aW9uYWwgdG8gYmxvY2tzIHByb2R1Y2VkOiAxMDAwMC97e3ZvdGVwYXlfZmFjdG9yfX0AAABgu1uzwgdzZXRwcml2jQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBNYWtlIGFuIEFjY291bnQgUHJpdmlsZWdlZCBvciBVbnByaXZpbGVnZWQKc3VtbWFyeTogJ3t7I2lmIGlzX3ByaXZ9fU1ha2Uge3tub3dyYXAgYWNjb3VudH19IHByaXZpbGVnZWR7e2Vsc2V9fVJlbW92ZSBwcml2aWxlZ2VkIHN0YXR1cyBvZiB7e25vd3JhcCBhY2NvdW50fX17ey9pZn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyNpZiBpc19wcml2fX0Ke3skYWN0aW9uLmFjY291bnR9fSBtYWtlcyB7e2FjY291bnR9fSBwcml2aWxlZ2VkLgp7e2Vsc2V9fQp7eyRhY3Rpb24uYWNjb3VudH19IHJlbW92ZXMgcHJpdmlsZWdlZCBzdGF0dXMgb2Yge3thY2NvdW50fX0uCnt7L2lmfX0AAAAASHOzwgZzZXRyYW3mAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IENvbmZpZ3VyZSB0aGUgQXZhaWxhYmxlIFJBTQpzdW1tYXJ5OiAnQ29uZmlndXJlIHRoZSBhdmFpbGFibGUgUkFNJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IGNvbmZpZ3VyZXMgdGhlIGF2YWlsYWJsZSBSQU0gdG8ge3ttYXhfcmFtX3NpemV9fSBieXRlcy4AgMrmSnOzwgpzZXRyYW1yYXRlhQMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgdGhlIFJhdGUgb2YgSW5jcmVhc2Ugb2YgUkFNCnN1bW1hcnk6ICdTZXQgdGhlIHJhdGUgb2YgaW5jcmVhc2Ugb2YgUkFNIHBlciBibG9jaycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBzZXRzIHRoZSByYXRlIG9mIGluY3JlYXNlIG9mIFJBTSB0byB7e2J5dGVzX3Blcl9ibG9ja319IGJ5dGVzL2Jsb2NrLgAAAAB0dbPCBnNldHJleLcDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQWRqdXN0IFJFWCBQb29sIFZpcnR1YWwgQmFsYW5jZQpzdW1tYXJ5OiAnQWRqdXN0IFJFWCBQb29sIFZpcnR1YWwgQmFsYW5jZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBhZGp1c3RzIFJFWCBsb2FuIHJhdGUgYnkgc2V0dGluZyBSRVggcG9vbCB2aXJ0dWFsIGJhbGFuY2UgdG8ge3tiYWxhbmNlfX0uIE5vIHRva2VuIHRyYW5zZmVyIG9yIGlzc3VlIGlzIGV4ZWN1dGVkIGluIHRoaXMgYWN0aW9uLqCuzkZ2dbPCDHNldHJleG1hdHVyZYkFLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogU2V0IFJFWCBNYXR1cml0eSBTZXR0aW5ncwpzdW1tYXJ5OiAnU2V0cyB0aGUgb3B0aW9ucyBmb3IgUkVYIG1hdHVyaXR5IGJ1Y2tldHMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7eyNpZiBudW1fb2ZfbWF0dXJpdHlfYnVja2V0c319CiAgU2V0cyB0aGUgbnVtYmVycyBvZiBtYXR1cml0eSBidWNrZXRzIHRvICd7e251bV9vZl9tYXR1cml0eV9idWNrZXRzfX0nCnt7L2lmfX0KCnt7I2lmIHNlbGxfbWF0dXJlZF9yZXh9fQogIFNldHMgd2hldGhlciBvciBub3QgdG8gaW1tZWRpYXRlbHkgc2VsbCBtYXR1cmVkIFJFWCB0byAne3tzZWxsX21hdHVyZWRfcmV4fX0nCnt7L2lmfX0KCnt7I2lmIGJ1eV9yZXhfdG9fc2F2aW5nc319CiAgU2V0cyB3aGV0aGVyIG9yIG5vdCB0byBpbW1lZGlhdGVseSBtb3ZlIHB1cmNoYXNlZCBSRVggdG8gc2F2aW5ncyB0byAne3tidXlfcmV4X3RvX3NhdmluZ3N9fScKe3svaWZ9fQBU1Ek1hLPCC3NldHNjaGVkdWxl2gMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgQW5udWFsIFJhdGUgU2NoZWR1bGUKc3VtbWFyeTogJ1NldCBhbm51YWwgcmF0ZSBwYXJhbWV0ZXJzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHNldHMgYSBwcmUtZGV0ZXJtaW5lZCBpbmZsYXRpb24gc2NoZWR1bGUgdG8gYWRqdXN0IHBhcmFtZXRlcnMgYXMgZm9sbG93czoKCiogU3RhcnQgdGltZSBvZiB0aGUgc2NoZWR1bGU6IHt7c3RhcnRfdGltZX19CiogVGhlIGNvbnRpbnVvdXMgcmF0ZSBvZiBpbmZsYXRpb246IHt7Y29udGludW91c19yYXRlfX3Aj8qGqajS1Ax1bmRlbGVnYXRlYnehBy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVuc3Rha2UgVG9rZW5zIGZvciBORVQgYW5kL29yIENQVQpzdW1tYXJ5OiAnVW5zdGFrZSB0b2tlbnMgZm9yIE5FVCBhbmQvb3IgQ1BVIGZyb20ge3tub3dyYXAgcmVjZWl2ZXJ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Jlc291cmNlLnBuZyMzODMwZjFjZThjYjA3Zjc3NTdkYmNmMzgzYjFlYzFiMTE5MTRhYzM0YTFmOWQ4YjA2NWYwNzYwMGZhOWRhYzE5Ci0tLQoKe3tmcm9tfX0gdW5zdGFrZXMgZnJvbSB7e3JlY2VpdmVyfX0ge3t1bnN0YWtlX25ldF9xdWFudGl0eX19IGZvciBORVQgYmFuZHdpZHRoIGFuZCB7e3Vuc3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpUaGUgc3VtIG9mIHRoZXNlIHR3byBxdWFudGl0aWVzIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSB2b3RlIHdlaWdodCBvZiB7e3JlY2VpdmVyfX0gYW5kIHdpbGwgYmUgbWFkZSBhdmFpbGFibGUgdG8ge3tmcm9tfX0gYWZ0ZXIgYW4gdW5pbnRlcnJ1cHRlZCAzIGRheSBwZXJpb2Qgd2l0aG91dCBmdXJ0aGVyIHVuc3Rha2luZyBieSB7e2Zyb219fS4gQWZ0ZXIgdGhlIHVuaW50ZXJydXB0ZWQgMyBkYXkgcGVyaW9kIHBhc3NlcywgdGhlIHN5c3RlbSB3aWxsIGF0dGVtcHQgdG8gYXV0b21hdGljYWxseSByZXR1cm4gdGhlIGZ1bmRzIHRvIHt7ZnJvbX194oCZcyByZWd1bGFyIHRva2VuIGJhbGFuY2UuIEhvd2V2ZXIsIHRoaXMgYXV0b21hdGljIHJlZnVuZCBtYXkgb2NjYXNpb25hbGx5IGZhaWwgd2hpY2ggd2lsbCB0aGVuIHJlcXVpcmUge3tmcm9tfX0gdG8gbWFudWFsbHkgY2xhaW0gdGhlIGZ1bmRzIHdpdGggdGhlIHJlZnVuZCBhY3Rpb24uAEDL2sDp4tQKdW5saW5rYXV0aJEFLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVW5saW5rIEFjdGlvbiBmcm9tIFBlcm1pc3Npb24Kc3VtbWFyeTogJ3t7bm93cmFwIGFjY291bnR9fSB1bnNldHMgdGhlIG1pbmltdW0gcmVxdWlyZWQgcGVybWlzc2lvbiBmb3IgdGhlIHt7I2lmIHR5cGV9fXt7bm93cmFwIHR5cGV9fSBhY3Rpb24gb2YgdGhle3svaWZ9fSB7e25vd3JhcCBjb2RlfX0gY29udHJhY3QnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKe3thY2NvdW50fX0gcmVtb3ZlcyB0aGUgYXNzb2NpYXRpb24gYmV0d2VlbiB0aGUge3sjaWYgdHlwZX19e3t0eXBlfX0gYWN0aW9uIG9mIHRoZXt7L2lmfX0ge3tjb2RlfX0gY29udHJhY3QgYW5kIGl0cyBtaW5pbXVtIHJlcXVpcmVkIHBlcm1pc3Npb24uCgp7eyNpZiB0eXBlfX17e2Vsc2V9fVRoaXMgd2lsbCBub3QgcmVtb3ZlIGFueSBsaW5rcyBleHBsaWNpdGx5IGFzc29jaWF0ZWQgdG8gc3BlY2lmaWMgYWN0aW9ucyBvZiB7e2NvZGV9fS57ey9pZn19AABI9Fam7tQJdW5yZWdwcm9k5QQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBVbnJlZ2lzdGVyIGFzIGEgQmxvY2sgUHJvZHVjZXIgQ2FuZGlkYXRlCnN1bW1hcnk6ICd7e25vd3JhcCBwcm9kdWNlcn19IHVucmVnaXN0ZXJzIGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvdm90aW5nLnBuZyNkYjI4Y2QzZGI2ZTYyZDQ1MDlhZjM2NDRjZTdkMzc3MzI5NDgyYTE0YmI0YmZhY2EyYWE1ZjE0MDBkOGU4YTg0Ci0tLQoKe3twcm9kdWNlcn19IHVucmVnaXN0ZXJzIGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlLiB7e3Byb2R1Y2VyfX0gYWNjb3VudCB3aWxsIHJldGFpbiBpdHMgdm90ZXMgYW5kIHRob3NlIHZvdGVzIGNhbiBjaGFuZ2UgYmFzZWQgb24gdm90ZXIgc3Rha2UgY2hhbmdlcyBvciB2b3RlcyByZW1vdmVkIGZyb20ge3twcm9kdWNlcn19LiBIb3dldmVyIG5ldyB2b3RlcnMgd2lsbCBub3QgYmUgYWJsZSB0byB2b3RlIGZvciB7e3Byb2R1Y2VyfX0gd2hpbGUgaXQgcmVtYWlucyB1bnJlZ2lzdGVyZWQu0NWlWUGT8dQMdW5zdGFrZXRvcmV44wYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkVYIFRva2VucyBVc2luZyBTdGFrZWQgVG9rZW5zCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGJ1eXMgUkVYIHRva2VucyBpbiBleGNoYW5nZSBmb3IgdG9rZW5zIGN1cnJlbnRseSBzdGFrZWQgdG8gTkVUIGFuZC9vciBDUFUnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e2Zyb21fbmV0fX0gYW5kIHt7ZnJvbV9jcHV9fSBhcmUgd2l0aGRyYXduIGZyb20ge3tyZWNlaXZlcn194oCZcyBORVQgYW5kIENQVSBiYW5kd2lkdGhzIHJlc3BlY3RpdmVseS4gVGhlc2UgZnVuZHMgYXJlIHVzZWQgdG8gcHVyY2hhc2UgUkVYIHRva2VucyBhdCB0aGUgY3VycmVudCBtYXJrZXQgZXhjaGFuZ2UgcmF0ZS4gSW4gb3JkZXIgZm9yIHRoZSBhY3Rpb24gdG8gc3VjY2VlZCwge3tvd25lcn19IG11c3QgaGF2ZSB2b3RlZCBmb3IgYSBwcm94eSBvciBhdCBsZWFzdCAyMSBibG9jayBwcm9kdWNlcnMuCgpBIHNlbGwgb3JkZXIgb2YgdGhlIHB1cmNoYXNlZCBhbW91bnQgY2FuIG9ubHkgYmUgaW5pdGlhdGVkIGFmdGVyIHdhaXRpbmcgZm9yIHRoZSBtYXR1cml0eSBwZXJpb2Qgb2YgNCB0byA1IGRheXMgdG8gcGFzcy4gRXZlbiB0aGVuLCBkZXBlbmRpbmcgb24gdGhlIG1hcmtldCBjb25kaXRpb25zLCB0aGUgaW5pdGlhdGVkIHNlbGwgb3JkZXIgbWF5IG5vdCBiZSBleGVjdXRlZCBpbW1lZGlhdGVseS4AAAAAZKz21AZ1bnZlc3SpAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVudmVzdCBUb2tlbnMKc3VtbWFyeTogJ1JlY2xhaW0gYW5kIHJldGlyZSB1bnZlc3RlZCB0b2tlbnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KClJlY2xhaW0gYW5kIHJldGlyZSB7eyRhY3Rpb24udW52ZXN0X25ldF9xdWFudGl0eX19IGFuZCB7eyRhY3Rpb24udW52ZXN0X2NwdV9xdWFudGl0eX19IHdvcnRoIG9mIHVudmVzdGVkIHRva2VucyBmcm9tIHRoZSBhY2NvdW50IHt7JGFjdGlvbi5hY2NvdW50fX0uAEDL2qhsUtUKdXBkYXRlYXV0aO0DLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogTW9kaWZ5IEFjY291bnQgUGVybWlzc2lvbgpzdW1tYXJ5OiAnQWRkIG9yIHVwZGF0ZSB0aGUge3tub3dyYXAgcGVybWlzc2lvbn19IHBlcm1pc3Npb24gb2Yge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCk1vZGlmeSwgYW5kIGNyZWF0ZSBpZiBuZWNlc3NhcnksIHRoZSB7e3Blcm1pc3Npb259fSBwZXJtaXNzaW9uIG9mIHt7YWNjb3VudH19IHRvIGhhdmUgYSBwYXJlbnQgcGVybWlzc2lvbiBvZiB7e3BhcmVudH19IGFuZCB0aGUgZm9sbG93aW5nIGF1dGhvcml0eToKe3t0b19qc29uIGF1dGh9fQAA6OqqbFLVCXVwZGF0ZXJleIEDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVXBkYXRlIFJFWCBPd25lciBWb3RlIFdlaWdodApzdW1tYXJ5OiAnVXBkYXRlIHZvdGUgd2VpZ2h0IHRvIGN1cnJlbnQgdmFsdWUgb2YgaGVsZCBSRVggdG9rZW5zJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKVXBkYXRlIHZvdGUgd2VpZ2h0IG9mIHt7b3duZXJ9fSBhY2NvdW50IHRvIGN1cnJlbnQgdmFsdWUgb2YgaGVsZCBSRVggdG9rZW5zLjCpw26rm1PVDHVwZHRyZXZpc2lvboIDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVXBkYXRlIFN5c3RlbSBDb250cmFjdCBSZXZpc2lvbiBOdW1iZXIKc3VtbWFyeTogJ1VwZGF0ZSBzeXN0ZW0gY29udHJhY3QgcmV2aXNpb24gbnVtYmVyJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IGFkdmFuY2VzIHRoZSBzeXN0ZW0gY29udHJhY3QgcmV2aXNpb24gbnVtYmVyIHRvIHt7cmV2aXNpb259fS5wFdKJ3qoy3Qx2b3RlcHJvZHVjZXKtBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFZvdGUgZm9yIEJsb2NrIFByb2R1Y2VycwpzdW1tYXJ5OiAne3tub3dyYXAgdm90ZXJ9fSB2b3RlcyBmb3Ige3sjaWYgcHJveHl9fXRoZSBwcm94eSB7e25vd3JhcCBwcm94eX19e3tlbHNlfX11cCB0byAzMCBibG9jayBwcm9kdWNlciBjYW5kaWRhdGVze3svaWZ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3ZvdGluZy5wbmcjZGIyOGNkM2RiNmU2MmQ0NTA5YWYzNjQ0Y2U3ZDM3NzMyOTQ4MmExNGJiNGJmYWNhMmFhNWYxNDAwZDhlOGE4NAotLS0KCnt7I2lmIHByb3h5fX0Ke3t2b3Rlcn19IHZvdGVzIGZvciB0aGUgcHJveHkge3twcm94eX19LgpBdCB0aGUgdGltZSBvZiB2b3RpbmcgdGhlIGZ1bGwgd2VpZ2h0IG9mIHZvdGVy4oCZcyBzdGFrZWQgKENQVSArIE5FVCkgdG9rZW5zIHdpbGwgYmUgY2FzdCB0b3dhcmRzIGVhY2ggb2YgdGhlIHByb2R1Y2VycyB2b3RlZCBieSB7e3Byb3h5fX0uCnt7ZWxzZX19Cnt7dm90ZXJ9fSB2b3RlcyBmb3IgdGhlIGZvbGxvd2luZyBibG9jayBwcm9kdWNlciBjYW5kaWRhdGVzOgoKe3sjZWFjaCBwcm9kdWNlcnN9fQogICsge3t0aGlzfX0Ke3svZWFjaH19CgpBdCB0aGUgdGltZSBvZiB2b3RpbmcgdGhlIGZ1bGwgd2VpZ2h0IG9mIHZvdGVy4oCZcyBzdGFrZWQgKENQVSArIE5FVCkgdG9rZW5zIHdpbGwgYmUgY2FzdCB0b3dhcmRzIGVhY2ggb2YgdGhlIGFib3ZlIHByb2R1Y2Vycy4Ke3svaWZ9fQCAyiZVrTLdCnZvdGV1cGRhdGUAAAAAgC0kseEHd2FzbWNmZwAAAADc3NSy4wh3aXRoZHJhd8kDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogV2l0aGRyYXcgZnJvbSBSRVggRnVuZApzdW1tYXJ5OiAnV2l0aGRyYXcge3tub3dyYXAgYW1vdW50fX0gZnJvbSB7e25vd3JhcCBvd25lcn194oCZcyBSRVggZnVuZCBieSB0cmFuc2ZlcnJpbmcgdG8ge3tvd25lcn194oCZcyBsaXF1aWQgYmFsYW5jZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCldpdGhkcmF3cyB7e2Ftb3VudH19IGZyb20ge3tvd25lcn194oCZcyBSRVggZnVuZCBhbmQgdHJhbnNmZXIgdGhlbSB0byB7e293bmVyfX3igJlzIGxpcXVpZCBiYWxhbmNlLhwAAACgYdPcMQNpNjQAAAhhYmlfaGFzaAAATlMvdZM7A2k2NAAACmJpZF9yZWZ1bmQAAKBrOohoPANpNjQAABFibG9ja19pbmZvX3JlY29yZAAAAGAaGnVFA2k2NAAACHJleF9sb2FuAAAAIE1zokoDaTY0AAATZGVsZWdhdGVkX2JhbmR3aWR0aAAAAABEc2hkA2k2NAAAEmVvc2lvX2dsb2JhbF9zdGF0ZQAAAEBEc2hkA2k2NAAAE2Vvc2lvX2dsb2JhbF9zdGF0ZTIAAABgRHNoZANpNjQAABNlb3Npb19nbG9iYWxfc3RhdGUzAAAAgERzaGQDaTY0AAATZW9zaW9fZ2xvYmFsX3N0YXRlNAAAADi5o6SZA2k2NAAACG5hbWVfYmlkAAAAYBoas5oDaTY0AAAIcmV4X2xvYW4ArkqXgqo5rQNpNjQAAA1wb3dlcnVwX29yZGVyAFQ2GYOqOa0DaTY0AAANcG93ZXJ1cF9zdGF0ZQAAwFchneitA2k2NAAADXByb2R1Y2VyX2luZm8AgMBXIZ3orQNpNjQAAA5wcm9kdWNlcl9pbmZvMgAAyApeI6W5A2k2NAAADmV4Y2hhbmdlX3N0YXRlAAAAAKepl7oDaTY0AAAOcmVmdW5kX3JlcXVlc3QAAM4KIn2yugNpNjQAABJyZXhfcmV0dXJuX2J1Y2tldHMAAAAARHO6ugNpNjQAAAtyZXhfYmFsYW5jZQAAACBNvbq6A2k2NAAACHJleF9mdW5kAHx2V2cju7oDaTY0AAAMcmV4X21hdHVyaXR5AAAAIFJau7oDaTY0AAAIcmV4X3Bvb2wAAABKK227ugNpNjQAAAlyZXhfb3JkZXIAQKS0ZnW7ugNpNjQAAA9yZXhfcmV0dXJuX3Bvb2wAAMAq6qQawgNpNjQAAA5zY2hlZHVsZXNfaW5mbwAAAACrexXWA2k2NAAADnVzZXJfcmVzb3VyY2VzAAAAAOCrMt0DaTY0AAAKdm90ZXJfaW5mb8Aaalmb7KSLA2k2NAAAEWxpbWl0X2F1dGhfY2hhbmdlAg1Vc2VyQWdyZWVtZW507H8jIEVPUyBVc2VyIEFncmVlbWVudAoKIyMgRGVmaW5pdGlvbnMKCiBBbGwgY2FwaXRhbGl6ZWQsIGl0YWxpY2l6ZWQsIG9yIGlubGluZSBjb2RlIHRlcm1zIGluICpUaGUgRU9TIFVzZXIgQWdyZWVtZW50KiB3aWxsIGJlIGdpdmVuIHRoZSBzYW1lIGVmZmVjdCBhbmQgbWVhbmluZyBhcyBpbiAqRGVmaW5pdGlvbnMqLgoKKiBFT1MgVXNlciBBZ3JlZW1lbnQ6IFRoaXMgZG9jdW1lbnQgKCpFVUEqKQoKKiBDaGFpbiBJRDogYGNoYWluX2lkYOKAii3igIphY2EzNzZmMjA2YjhmYzI1YTZlZDQ0ZGJkYzY2NTQ3YzM2YzZjMzNlM2ExMTlmZmJlYWVmOTQzNjQyZjBlOTA2CgoqIFVzZXI6IEFueSBwZXJzb24gb3Igb3JnYW5pemF0aW9uIG9mIHBlcnNvbnMgd2hvIG1haW50YWluKHMpIGRpcmVjdCBvciBpbmRpcmVjdCBvd25lcnNoaXAgb2YgYW4gRU9TIGFjY291bnQsIG9yIEVPUy1iYXNlZCBwcm9wZXJ0eSBjb25uZWN0ZWQgdG8gYW4gRU9TIGFjY291bnQuCgoqIE93bmVyc2hpcDogRGlyZWN0IG9yIGluZGlyZWN0IGFjY2VzcyB0byBhbiBFT1MgYWNjb3VudCB0aHJvdWdoIG9uZSBvciBtb3JlIHZhbGlkIHBlcm1pc3Npb25zIGNoZWNrcy4gT3duZXJzaGlwIG1heSBiZSBwYXJ0aWFsbHkgc2hhcmVkIGJldHdlZW4gVXNlcnMgdGhyb3VnaCB0aGUgdXNlIG9mIG11bHRpLXNpZ25hdHVyZSBwZXJtaXNzaW9ucy4KCiogQmxvY2sgUHJvZHVjZXI6IFVzZXJzIHdobyBoYXZlIGNhbGxlZCBgcmVncHJvZHVjZXJgIGFuZCByZWNlaXZlIHJld2FyZHMgZnJvbSBlb3Npby52cGF5LgoKKiBgZW9zaW8ucHJvZHNgOiBBbiBFT1MgYWNjb3VudCB3aXRoIGEgZHluYW1pYyBwZXJtaXNzaW9ucyBzdHJ1Y3R1cmUgdGhhdCBjYW4gYXNzdW1lIHRoZSBwcml2aWxlZ2VzIG9mIHRoZSBgZW9zaW9gIGFjY291bnQgd2hlbiAxNS8yMSBCbG9jayBQcm9kdWNlcnMgYWdyZWUgdG8gZG8gc28uCgoqIE5ldHdvcmsgRnVuZHM6IFRva2VucyBjb250YWluZWQgd2l0aGluIHRoZSBmb2xsb3dpbmcgYWNjb3VudHM6IGBlb3Npby5uYW1lc2AsIGBlb3Npby5yYW1mZWVgLCBgZW9zaW8uc2F2aW5nYC4KCiogR292ZXJuaW5nIERvY3VtZW50czogKnJlZ3Byb2R1Y2VyKiBpcyBjb25zaWRlcmVkIGEgZ292ZXJuaW5nIGRvY3VtZW50LgoKKiBPbi1DaGFpbjogQW55IHRyYW5zYWN0aW9uLCBzbWFydCBjb250cmFjdCwgb3IgUmljYXJkaWFuIGNvbnRyYWN0IHdoaWNoIGlzIGxvY2F0ZWQgd2l0aGluIGEgYmxvY2sgdGhhdCBpcyBpcnJldmVyc2libGUgYW5kIGFwcGVuZGVkIHRvIHRoZSBFT1MgYmxvY2tjaGFpbiBgY2hhaW5faWRgLgoKKiBFT1MtYmFzZWQgUHJvcGVydHk6IEFueXRoaW5nIHRoYXQgcmVxdWlyZXMgYSB2YWxpZCBwZXJtaXNzaW9uIGluIG9yZGVyIHRvIGRpcmVjdGx5IG1hbmlwdWxhdGUsIGFsdGVyLCB0cmFuc2ZlciwgaW5mbHVlbmNlLCBvciBvdGhlcndpc2UgZWZmZWN0IG9uIHRoZSBFT1MgQmxvY2tjaGFpbgoKKiBDYWxsOiBUbyBzdWJtaXQgYW4gYWN0aW9uIHRvIHRoZSBFT1MgQmxvY2tjaGFpbiBgY2hhaW5faWRgLgoKKiBBdXRob3JpemF0aW9ucyAmIFBlcm1pc3Npb25zOiBQZXJtaXNzaW9ucyBhcmUgYXJiaXRyYXJ5IG5hbWVzIHVzZWQgdG8gZGVmaW5lIHRoZSByZXF1aXJlbWVudHMgZm9yIGEgdHJhbnNhY3Rpb24gc2VudCBvbiBiZWhhbGYgb2YgdGhhdCBwZXJtaXNzaW9uLiBQZXJtaXNzaW9ucyBjYW4gYmUgYXNzaWduZWQgZm9yIGF1dGhvcml0eSBvdmVyIHNwZWNpZmljIGNvbnRyYWN0IGFjdGlvbnMuCgoqIFJpY2FyZGlhbiBDb250cmFjdDogQSBjb250cmFjdCB0aGF0IHBsYWNlcyB0aGUgZGVmaW5pbmcgZWxlbWVudHMgb2YgYSBsZWdhbCBhZ3JlZW1lbnQgaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgZXhwcmVzc2VkIGFuZCBleGVjdXRlZCBpbiBzb2Z0d2FyZS4KCiMjIEFydGljbGUgSSAt4oCKIFVzZXIgQWNrbm93bGVkZ2VtZW50IG9mIFJpc2tzCklmIFVzZXIgbG9zZXMgYWNjZXNzIHRvIHRoZWlyIEVPUyBhY2NvdW50IG9uIGBjaGFpbl9pZGAgYW5kIGhhcyBub3QgdGFrZW4gYXBwcm9wcmlhdGUgbWVhc3VyZXMgdG8gc2VjdXJlIGFjY2VzcyB0byB0aGVpciBFT1MgYWNjb3VudCBieSBvdGhlciBtZWFucywgdGhlIFVzZXIgYWNrbm93bGVkZ2VzIGFuZCBhZ3JlZXMgdGhhdCB0aGF0IEVPUyBhY2NvdW50IHdpbGwgYmVjb21lIGluYWNjZXNzaWJsZS4gVXNlcnMgYWNrbm93bGVkZ2UgdGhhdCB0aGUgVXNlciBoYXMgYW4gYWRlcXVhdGUgdW5kZXJzdGFuZGluZyBvZiB0aGUgcmlza3MsIHVzYWdlIGFuZCBpbnRyaWNhY2llcyBvZiBjcnlwdG9ncmFwaGljIHRva2VucyBhbmQgYmxvY2tjaGFpbi1iYXNlZCBzb2Z0d2FyZS4gVGhlIFVzZXIgYWNrbm93bGVkZ2VzIGFuZCBhZ3JlZXMgdGhhdCB0aGUgVXNlciBpcyB1c2luZyB0aGUgRU9TIGJsb2NrY2hhaW4gYXQgdGhlaXIgc29sZSByaXNrLgoKIyMgQXJ0aWNsZSBJSeKAii3igIpTcGVjaWFsIFVzZXIgVHlwZXMKVXNlcnMgd2hvIGNhbGwgYHJlZ3Byb2R1Y2VyYCBhZ3JlZSB0bywgYW5kIGFyZSBib3VuZCBieSwgdGhlICpyZWdwcm9kdWNlciogUmljYXJkaWFuIENvbnRyYWN0LgoKIyMgQXJ0aWNsZSBJSUnigIot4oCKQ29uc2VudCBvZiB0aGUgRVVBClRoZSBuYXR1cmUgb2YgdGhlICpFT1MgVXNlciBBZ3JlZW1lbnQqIGlzIHN1Y2ggdGhhdCBpdCBzZXJ2ZXMgYXMgYSBkZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCBFT1MgTWFpbm5ldCBnb3Zlcm5hbmNlIGZ1bmN0aW9ucyB0aGF0IGFyZSBpbiBwbGFjZS4gVGhlc2UgZnVuY3Rpb25zLCBlbmZvcmNlZCBieSBjb2RlLCBkbyBub3QgcmVxdWlyZSB0aGUgY29uc2VudCBvZiBVc2VycyBhcyB0aGVzZSBmdW5jdGlvbnMgYXJlIGluaGVyZW50IGFuZCBzeXN0ZW1pYyB0byB0aGUgRU9TIE1haW5uZXQgaXRzZWxmLgoKIyMgQXJ0aWNsZSBJVuKAii3igIpHb3Zlcm5pbmcgRG9jdW1lbnRzCkFueSBtb2RpZmljYXRpb25zIHRvIHRoZSAqRVVBKiBhbmQgKmdvdmVybmluZyBkb2N1bWVudHMqIG1heSBiZSBtYWRlIGJ5IGBlb3Npby5wcm9kc2AuIEl0IGlzIGFkbW9uaXNoZWQgdGhhdCBhIHN0YXRlbWVudCBiZSBjcmFmdGVkIGFuZCBpc3N1ZWQgdGhyb3VnaCBgZW9zaW8ucHJvZHNgIHZpYSBlb3Npby5mb3J1bSByZWZlcmVuZHVtIGNvbnRyYWN0IGRlc2NyaWJpbmcgc3VjaCBhIG1vZGlmaWNhdGlvbiBpbiBhZHZhbmNlLgoKIyMgQXJ0aWNsZSBW4oCKLeKAik5hdGl2ZSBVbml0IG9mIFZhbHVlClRoZSBuYXRpdmUgdW5pdCBvZiB2YWx1ZSBvbiBFT1MgY2hhaW5faWQgc2hhbGwgYmUgdGhlIEVPUyB0b2tlbiBhcyBkZWZpbmVkIGFuZCBjcmVhdGVkIGJ5IHRoZSBgZW9zaW8udG9rZW5gIHNtYXJ0IGNvbnRyYWN0LgoKIyMgQXJ0aWNsZSBWSeKAii3igIpNYWludGFpbmluZyB0aGUgRU9TIGJsb2NrY2hhaW4KYGVvc2lvLnByb2RzYCB3aWxsIG1haW50YWluIHRoZSBhY3RpdmUgYmxvY2tjaGFpbiBjb2RlYmFzZSB3aGljaCBpbmNsdWRlcywgYnV0IGlzIG5vdCBsaW1pdGVkIHRvLCB0aGUgaW1wbGVtZW50YXRpb24gb2YgYWxsIG1vZGlmaWNhdGlvbnMgb2YgYWxsIGZlYXR1cmVzLCBvcHRpbWl6YXRpb25zLCBhbmQgdXBncmFkZXM6IHByZXNlbnQgYW5kIGZ1dHVyZS4KCiMjIEFydGljbGUgVklJ4oCKLeKAik5ldHdvcmsgRnVuZHMKSXQgaXMgYWRtb25pc2hlZCB0aGF0IGFueSBhbHRlcmluZyBvZiB0aGUgc3RhdGUgb2YgYW55IHRva2VucyBjb250YWluZWQgd2l0aGluIG5ldHdvcmsgZnVuZCBhY2NvdW50cywgb3IgYWx0ZXJpbmcgYW55IHByZS1leGlzdGluZyBjb2RlIHRoYXQgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBnb3Zlcm5zIHRoZSBhbGxvY2F0aW9uLCBmdWxmaWxsbWVudCwgb3IgZGlzdHJpYnV0aW9uIG9mIGFueSAqbmV0d29yayBmdW5kcyogYmUgcHJlY2VkZWQgYnkgYSBzdGF0ZW1lbnQgY3JhZnRlZCBhbmQgaXNzdWVkIGJ5IGBlb3Npby5wcm9kc2AgdG8gdGhlICplb3Npby5mb3J1bSogcmVmZXJlbmR1bSBzeXN0ZW0gY29udHJhY3QgZGVzY3JpYmluZyB0aGUgZWZmZWN0IGluIGFkdmFuY2UuCgojIyBBcnRpY2xlIFZJSUnigIot4oCKRnJlZWRvbSBvZiBBY2NvdW50IENyZWF0aW9uCkFueSBjdXJyZW50IG9yIGZ1dHVyZSBVc2VyIGlzIGFibGUgdG8gY3JlYXRlIGFuIEVPUyBBY2NvdW50IHdpdGhvdXQgdGhlIHBlcm1pc3Npb24gYnkgYW55IG90aGVyIFVzZXIuIGBlb3Npby5wcm9kc2AgbWF5IG5ldmVyIGFmZmVjdCBhbiBFT1MgVXNlciBBY2NvdW50KHMpIHdpdGhvdXQgdmFsaWQgcGVybWlzc2lvbihzKSB3aGljaCBoYXZlIGJlZW4gc2hhcmVkIHdpdGggYGVvc2lvLnByb2RzYCBieSBhbiBFT1MgYWNjb3VudC4gYGVvc2lvLnByb2RzYCBtYXkgY2hhcmdlIGEgZmVlIGZvciBhbnkgYWN0aW9ucyB0aGF0IGFyZSByZXF1ZXN0ZWQgYnkgb3RoZXIgVXNlcnMgcGVydGFpbmluZyB0byBhbiBFT1MgYWNjb3VudCB3aGVyZSBwZXJtaXNzaW9ucyBhcmUgc2hhcmVkLgoKIyMgQXJ0aWNsZSBJWOKAii3igIpObyBGaWR1Y2lhcnkKTm8gVXNlciBzaGFsbCBoYXZlIGEgZmlkdWNpYXJ5IHB1cnBvc2UgdG8gc3VwcG9ydCB0aGUgdmFsdWUgb2YgdGhlIEVPUyB0b2tlbi4gTm8gVXNlciBjYW4gYXV0aG9yaXplIGFueW9uZSB0byBob2xkIGFzc2V0cywgYm9ycm93LCBzcGVhaywgY29udHJhY3Qgb24gYmVoYWxmIG9mIG90aGVyIEVPUyBVc2VycyBvciB0aGUgRU9TIGJsb2NrY2hhaW4gYGNoYWluX2lkYCBjb2xsZWN0aXZlbHkuIFRoaXMgRU9TIGJsb2NrY2hhaW4gc2hhbGwgaGF2ZSBubyBvd25lcnMsIG1hbmFnZXJzLCBvciBmaWR1Y2lhcmllcy4KCiMjIEFydGljbGUgWOKAii3igIpVc2VyIFNlY3VyaXR5CkFsbCBpdGVtcyBwZXJ0YWluaW5nIHRvIHBlcnNvbmFsIGFjY291bnQgc2VjdXJpdHksIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gdGhlIHNhZmVrZWVwaW5nIG9mIHByaXZhdGUga2V5cywgaXMgc29sZWx5IHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgVXNlciB0byBzZWN1cmUuCgojIyBBcnRpY2xlIFhJIC0gYGVvc2lvLnByb2RzYCBMaW1pdGVkIExpYWJpbGl0eQpUaGUgVXNlciBhY2tub3dsZWRnZXMgYW5kIGFncmVlcyB0aGF0LCB0byB0aGUgZnVsbGVzdCBleHRlbnQgcGVybWl0dGVkIGJ5IGFueSBhcHBsaWNhYmxlIGxhdywgdGhpcyBkaXNjbGFpbWVyIG9mIGxpYWJpbGl0eSBhcHBsaWVzIHRvIGFueSBhbmQgYWxsIGRhbWFnZXMgb3IgaW5qdXJ5IHdoYXRzb2V2ZXIgY2F1c2VkIGJ5IG9yIHJlbGF0ZWQgdG8gcmlza3Mgb2YsIHVzZSBvZiwgb3IgaW5hYmlsaXR5IHRvIHVzZSwgdGhlIEVPUyB0b2tlbiBvciB0aGUgRU9TIGJsb2NrY2hhaW4gYGNoYWluX2lkYCB1bmRlciBhbnkgY2F1c2Ugb2YgYWN0aW9uIHdoYXRzb2V2ZXIgb2YgYW55IGtpbmQgaW4gYW55IGp1cmlzZGljdGlvbiwgaW5jbHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIGFjdGlvbnMgZm9yIGJyZWFjaCBvZiB3YXJyYW50eSwgYnJlYWNoIG9mIGNvbnRyYWN0IG9yIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSBhbmQgdGhhdCBgZW9zaW8ucHJvZHNgLCBub3IgdGhlIGluZGl2aWR1YWwgcGVybWlzc2lvbnMgdGhhdCBvcGVyYXRlIGl0LCBzaGFsbCBub3QgYmUgbGlhYmxlIGZvciBhbnkgaW5kaXJlY3QsIGluY2lkZW50YWwsIHNwZWNpYWwsIGV4ZW1wbGFyeSBvciBjb25zZXF1ZW50aWFsIGRhbWFnZXMsIGluY2x1ZGluZyBmb3IgbG9zcyBvZiBwcm9maXRzLCBnb29kd2lsbCBvciBkYXRhLgoKIyBFT1Mg7IKs7Jqp7J6QIOuPmeydmOyEnAoKIyMg7KCV7J2YCgpFT1Mg7IKs7Jqp7J6QIOuPmeydmOyEnOydmCDrqqjrk6Ag64yA66y47J6QLCDquLDsmrjsnoQg6ry0LCDrmJDripQg7J2465287J24IOy9lOuTnCDsmqnslrTripQg7KCV7J2Y7JeQ7ISc7JmAIOuPmeydvO2VnCDtmqjqs7zsmYAg7J2Y66+46rCAIOu2gOyXrOuQqeuLiOuLpC4KCi0gICBFT1Mg7IKs7Jqp7J6QIOuPmeydmOyEnDog67O4IOusuOyEnCAoRVVBKQotICAg7LK07J24IElEOiBjaGFpbl9pZOKAii0tLeKAimFjYTM3NmYyMDZiOGZjMjVhNmVkNDRkYmRjNjY1NDdjMzZjNmMzM2UzYTExOWZmYmVhZWY5NDM2NDJmMGU5MDYKLSAgIOyCrOyaqeyekDogRU9TIOqzhOygleydhCDsp4HsoJEg65iQ64qUIOqwhOygkeyggeycvOuhnCDshozsnKDtlZjqsbDrgpggRU9TIOqzhOygleyXkCDsl7DqsrDrkJwgRU9TIOq4sOuwmCDsho3shLHsnYQg7Jyg7KeA7ZWY6rGw64KYIOq0gOumrO2VmOuKlCDsgqzrnowsIOyhsOyngSwg65iQ64qUIOyhsOyngeydmCDrqqjrk6Ag7IKs656MLgotICAg7IaM7Jyg6raMOiDtlZjrgpgg7J207IOB7J2YIOycoO2aqO2VnCDsgqzsmqnqtoztlZwg7ZmV7J247J2EIO2Gte2VtCBFT1Mg6rOE7KCV7JeQIOyngeygkSDrmJDripQg6rCE7KCR7KCB7Jy866GcIOygkeq3vO2VqeuLiOuLpC4g7IaM7Jyg6raM7J2AIOuLpOykkSDshJzrqoXqtoztlZzsnYQg7IKs7Jqp7ZWY7JesIOyCrOyaqeyekOqwhOyXkCDrtoDrtoTsoIHsnLzroZwg6rO17JygIOuQoCDsiJgg7J6I7Iq164uI64ukLgotICAg67iU66GdIO2UhOuhnOuTgOyEnDogcmVncHJvZHVjZXLrpbwg7Iuk7ZaJ7ZWY6rOgIGVvc2lvLnZwYXnroZzrtoDthLAg67O07IOB7J2EIOuwm+uKlCDsgqzsmqnsnpAuCi0gICBlb3Npby5wcm9kczogMTUvMjEg67iU66GdIO2UhOuhnOuTgOyEnOuTpOydtCDrj5nsnZgg7ZWgIOuVjCBlb3NpbyDqs4TsoJXsnZgg6raM7ZWc7J2EIOqwgOyniCDsiJgg7J6I64qUIOuPmeyggSDqtoztlZwg6rWs7KGw66W8IOqwgOynhCBFT1Mg6rOE7KCVLgotICAg64Sk7Yq47JuM7YGsIOyekOq4iDog64uk7J2MIOqzhOygleyXkCDtj6ztlagg65CcIO2GoO2BsDogZW9zaW8ubmFtZXMsIGVvc2lvLnJhbWZlZSwgZW9zaW8uc2F2aW5nLgotICAg6rSA66asIOusuOyEnDogcmVncHJvZHVjZXLripQg6rSA66asIOusuOyEnOuhnCDqsITso7zrkKnri4jri6QuCi0gICDsmKjssrTsnbg6IEVPUyDruJTroZ3ssrTsnbggY2hhaW5faWTsl5Ag67mE6rCA7Jet7KCB7J2066mwIOy2lOqwgCDtlaAg7IiYIOyeiOuKlCDruJTroZ0g64K07JeQIOychOy5mO2VnCDrqqjrk6Ag6rGw656YLCDsiqTrp4jtirgg6rOE7JW9IOuYkOuKlCDrpqzsubTrpbTrlJTslYgg6rOE7JW9LgotICAgRU9TIOq4sOuwmCDsho3shLE6IEVPUyDruJTroZ3ssrTsnbjsnYQg7KeB7KCRIOyhsOyekSwg67OA6rK9LCDsoITshqEsIOyYge2WpSDrmJDripQg64us66asIOyggeyaqe2VmOq4sCDsnITtlbQg7Jyg7Zqo7ZWcIOyCrOyaqSDqtoztlZzsnbQg7ZWE7JqU7ZWcIOuqqOuToCDqsoMKLSAgIOy9nDogRU9TIOu4lOuhneyytOyduCBjaGFpbl9pZOyXkCDsnpHsl4XsnYQg7Iug7LKt7ZWY64qUIOqygy4KLSAgIO2XiOqwgCDrsI8g6raM7ZWcOiAn7ZeI6rCAJ+uKlCDtlbTri7kg6raM7ZWc7J2EIOuMgOyLoO2VmOyXrCDsoITshqHrkJjripQg7Yq4656c7J6t7IWY7J2YIOyalOq1rOyCrO2VreydhCDsoJXsnZjtlZjripQg642wIOyCrOyaqeuQqeuLiOuLpC4gJ+q2jO2VnCfsnYAg7Yq57KCVIOqzhOyVvSDsobDsuZjsl5Ag64yA7ZWcIOq2jO2VnOydhCDrtoDsl6ztlanri4jri6QuCi0gICDrpqzsubTrpbTrlJTslYgg6rOE7JW9OiDtlanrspXsoIEg6rOE7JW97J2YIOygleydmCDsmpTshozrpbwg7IaM7ZSE7Yq47Juo7Ja066GcIO2RnO2YhO2VmOqzoCDsi6TtlontlaAg7IiYIOyeiOuKlCDtmJXsi53snLzroZwg67Cw7LmY7ZWY64qUIOqzhOyVvS4KCiMjIOygnCAx7KGw4oCKLS0t4oCK7JyE7ZeY7JeQIOuMgO2VnCDsgqzsmqnsnpDrk6TsnZgg7J247KeACgrsgqzsmqnsnpDqsIAgY2hhaW5faWTsl5DshJwgRU9TIOqzhOygleyXkCDrjIDtlZwg7KCR6re8IOq2jO2VnOydhCDsnoPqs6AsIOuLpOuluCDrsKnrspXsnLzroZwgRU9TIOqzhOygleyXkCDrjIDtlZwg7KCR6re87J2EIOuztO2YuO2VmOq4sCDsnITtlbQg7KCB7KCI7ZWcIOyhsOy5mOulvCDst6jtlZjsp4Ag7JWK64qUIOqyveyasOyXkOuKlCBFT1Mg6rOE7KCV7JeQIOygkeq3vO2VoCDsiJgg7JeG6rKMIOuQnOuLpOuKlCDqsoPsnYQg7J247KCV7ZWY6rOgIOuPmeydmO2VqeuLiOuLpC4g7IKs7Jqp7J6Q64qUIOyVlO2YuO2ZlCDthqDtgbDqs7wg67iU66Gd7LK07J24IOq4sOuwmCDshoztlITtirjsm6jslrTsnZgg7JyE7ZeYLCDsgqzsmqnrspUsIOq3uOumrOqzoCDrs7XsnqHshLHsl5Ag64yA7ZW0IOy2qeu2hO2eiCDsnbTtlbTtlZjqs6Ag7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4g7IKs7Jqp7J6Q64qUIEVPUyDruJTroZ3ssrTsnbjsnZgg7IKs7Jqp7JeQIOuMgO2VnCDsoITsoIHsnbgg7LGF7J6E7J2EIOynhOuLpOuKlCDqsoPsl5Ag7J247KCV7ZWY6rOgIOuPmeydmO2VqeuLiOuLpC4KCiMjIOygnCAy7KGw4oCKLS0t4oCK7Yq567OE7ZWcIOyCrOyaqeyekCDsnKDtmJUKCnJlZ3Byb2R1Y2Vy66W8IOyLpO2Wie2VmOuKlCDsgqzsmqnsnpDripQgcmVncHJvZHVjZXIg66as7Lm066W065SU7JWIIOqzhOyVveyXkCDrj5nsnZjtlZjqs6AsIOydtOyXkCDqtazsho3rkKnri4jri6QuCgojIyDsoJwgM+yhsOKAii0tLeKAikVVQeydmCDrj5nsnZgKCkVPUyDsgqzsmqnsnpAg64+Z7J2Y7ISc64qUIO2YhOyerCDsi5ztlonspJHsnbggRU9TIOuplOyduOuEtyDqsbDrsoTrhIzsiqTsl5Ag64yA7ZWcIOyEpOuqheycvOuhnCDsgqzsmqnrkKnri4jri6QuIOy9lOuTnOyXkCDsnZjtlbQg7Iuc7ZaJ65CY64qUIOydtOufrO2VnCDquLDriqXsnYAgRU9TIOuplOyduOuEtyDsnpDssrTsnZgg7LK06rOE7KCB7J206rOgIOqzoOycoO2VnCDquLDriqXsnbTrr4DroZwg7IKs7Jqp7J6Q7J2YIOuPmeydmOulvCDtlYTsmpTroZwg7ZWY7KeAIOyViuyKteuLiOuLpC4KCiMjIOygnCA07KGw4oCKLS0t4oCK6rSA66asIOusuOyEnAoKRVVB7JmAIOq0gOumrCDrrLjshJzripQgZW9zaW8ucHJvZHPrpbwg7Ya17ZW0IOyImOygleydtCDqsIDriqXtlanri4jri6QuIO2KueyglSDrs4Dqsr3sgqztla3snYQg7IKs7KCE7JeQIOyEpOuqhe2VmOuKlCBlb3Npby5mb3J1bSDtiKztkZwg6rOE7JW97J2EIO2Gte2VtCBlb3Npby5wcm9kc+qwgCDshLHrqoXshJzrpbwg7J6R7ISx7ZWY6rOgIOuwnOq4ie2VoCDqsoPsnYQg6raM6rOg7ZWp64uI64ukLgoKIyMg7KCcIDXsobDigIotLS3igIrqsIDsuZjsnZgg6riw67O4IOuLqOychAoKRU9TIGNoYWluX2lk7J2YIOq4sOuzuCDri6jsnITripQgZW9zaW8udG9rZW4g7Iqk66eI7Yq4IOqzhOyVveyXkCDsnZjtlbQg7KCV7J2Y65CY6rOgIOyekeyEseuQnCBFT1Mg7Yag7YGw7J6F64uI64ukLgoKIyMg7KCcIDbsobDigIotLS3igIpFT1Mg67iU66Gd7LK07J24IOycoOyngAoKZW9zaW8ucHJvZHPripQg66qo65OgIOq4sOuKpSwg7LWc7KCB7ZmULCDqt7jrpqzqs6Ag7JeF6re466CI7J2065Oc7J2YIO2YhOyerOyZgCDrr7jrnpjsnZgg66qo65OgIOyImOygleyCrO2VreydhCDqtaztmITtlZjripQg6rKD7J2EIO2PrO2VqO2VmOuQmCwg7J207JeQIOq1re2VnOuQmOyngCDslYrripQg7Zmc7ISx7ZmU65CcIOu4lOuhneyytOyduCDsvZTrk5zrsqDsnbTsiqTrpbwg7Jyg7KeA7ZWp64uI64ukCgojIyDsoJwgN+yhsOKAii0tLeKAiuuEpO2KuOybjO2BrCDsnpDquIgKCuuEpO2KuOybjO2BrCDsnpDquIgg6rOE7KCV7JeQIO2PrO2VqOuQnCDthqDtgbDsnZgg7IOB7YOc66W8IOuzgOqyve2VmOqxsOuCmCwg64Sk7Yq47JuM7YGsIOyekOq4iOydmCDrsLDrtoQsIOydtO2WiSwg65iQ64qUIOuwsO2PrOulvCDsp4Ev6rCE7KCR7KCB7Jy866GcIOq0gOumrO2VmOuKlCDquLDsobQg7L2U65Oc66W8IOuzgOqyve2VmOuKlCDqsr3smrDsl5DripQgZW9zaW8ucHJvZHPrpbwgZW9zaW8uZm9ydW0g7LSdIO2IrO2RnCDsi5zsiqTthZwg6rOE7JW97JeQIOy2lOqwgO2VmOyXrCDsgqzsoITsl5Ag7Lap67aE7ZWcIOyEpOuqheydtCDsnbTro6jslrTsoLjslbwg7ZWp64uI64ukLgoKIyMg7KCcIDjsobDigIotLS3igIrqs4TsoJUg7IOd7ISx7J2YIOyekOycoAoK7ZiE7J6sLCDrmJDripQg66+4656Y7J2YIOyCrOyaqeyekOuKlCDri6Trpbgg7IKs7Jqp7J6Q7J2YIO2XiOqwgCDsl4bsnbQgRU9TIOqzhOygleydhCDrp4zrk6Qg7IiYIOyeiOyKteuLiOuLpC4gZW9zaW8ucHJvZHPripQgRU9TIOqzhOygleyXkCDsnZjtlbQg6rO17Jyg65CcIOycoO2aqO2VnCDtl4jqsIAg7JeG7J2064qUIEVPUyDsgqzsmqnsnpAg6rOE7KCV7JeQIOyYge2WpeydhCDspIQg7IiYIOyXhuyKteuLiOuLpC4gZW9zaW8ucHJvZHPripQg6raM7ZWc7J20IOqzteycoOuQmOuKlCBFT1Mg6rOE7KCV6rO8IOq0gOugqO2VmOyXrCDri6Trpbgg7IKs7Jqp7J6Q6rCAIOyalOyyre2VnCDrqqjrk6Ag7J6R7JeF7JeQIOuMgO2VtCDsmpTquIjsnYQg67aA6rO87ZWgIOyImCDsnojsirXri4jri6QuCgojIyDsoJwgOeyhsOKAii0tLeKAiuyLoO2DgSDrtojqsIAKCuyCrOyaqeyekOuKlCBFT1Mg7Yag7YGw7J2YIOqwgOy5mOulvCDrkrfrsJvsuajtlaAg7IiYIOyeiOuKlCDsi6Dtg4Eg66qp7KCB7J2EIOqwgOyguOyEnOuKlCDslYjrkKnri4jri6QuIOyCrOyaqeyekOuKlCBFT1Mg7IKs7Jqp7J6QIOuYkOuKlCBFT1Mg67iU66Gd7LK07J24IGNoYWluX2lk66W8IOuMgO2RnO2VmOyXrCDriITqtazsl5Dqsozrj4Qg7J6Q7IKw7J2EIOuztOycoO2VmOqxsOuCmCwg64yA7Jes7ZWY6rGw64KYLCDsnpDsgrDsl5Ag64yA7ZW0IOyWmOq4sO2VmOqxsOuCmCwg6rOE7JW97J2EIOunuuydhCDqtoztlZzsnYQg67aA7Jes7ZWgIOyImCDsl4bsirXri4jri6QuIEVPUyDruJTroZ3ssrTsnbjsl5DripQg7IaM7Jyg7J6QLCDqtIDrpqzsnpAsIOq3uOumrOqzoCDsiJjtg4HsnpDqsIAg7JeG7Ja07JW8IO2VqeuLiOuLpC4KCiMjIOygnCAxMOyhsOKAii0tLeKAiuyCrOyaqeyekCDrs7TslYgKCuu5hOqzteqwnCDtgqTsnZgg67O06rSA7J2EIO2PrO2VqO2VmOuQmCwg7J207JeQIOq1re2VnOuQmOyngCDslYrripQg6rCc7J24IOqzhOyijCDrs7TslYjqs7wg6rSA66Co65CcIOuqqOuToCDtla3rqqnrk6Qg65iQ7ZWcIOyghOyggeycvOuhnCDsgqzsmqnsnpDqsIAg7JWI7KCE7ZWY6rKMIOuztOq0gO2VtOyVvCDtlanri4jri6QuCgojIyDsoJwgMTHsobDigIotLS3igIplb3Npby5wcm9kcyDsnKDtlZzssYXsnoQKCuyCrOyaqeyekOuKlCDrspXrpaDsnbQg7ZeI7Jqp7ZWY64qUIO2VnOuPhCDrgrTsl5DshJwgRU9TIO2GoO2BsOydmCDsnITtl5gsIOyCrOyaqSwg65iQ64qUIOyCrOyaqSDrtojqsIDroZwg7J247ZW0IOuwnOyDne2VmOuKlCDrqqjrk6Ag7IaQ7ZW07JeQIOuMgO2VtCDssYXsnoTsnZgg66m07LGFIOyhsO2VreydtCDsoIHsmqnrkJzri6TripQg6rKD7J2EIOyduOygle2VmOqzoCwg64+Z7J2Y7ZWp64uI64ukLiDqs4Tslb0g7JyE67CYLCDrtojrspUg7ZaJ7JyELCDqt7jrpqzqs6Ag7JyE67CYIO2WieychCAo6rSA66asIO2DnOunjCDtj6ztlagp7JmAIGVvc2lvLnByb2RzIOuYkOuKlCDsnbTrpbwg7Jq07JiB7ZWY64qUIOqwnOuzhCDsgqzsmqkg6raM7ZWc7J2EIO2PrO2VqO2VmOuQmCwg7J207JeQIOq1re2VnO2VmOyngCDslYrqs6Ag66qo65OgIOq0gO2VoCDsp4Dsl63sl5DshJzsnZgg66qo65OgIOyiheulmOydmCDsgqzsnKDroZwg7J247ZWcIEVPUyDruJTroZ3ssrTsnbggY2hhaW5faWQg7J207J21LCDsmIHsl4XqtowsIOuYkOuKlCDrjbDsnbTthLDsnZgg7IaQ7Iuk7J2EIO2PrO2VqO2VmOyXrCDqsITsoJHsoIEsIOyasOuwnOyggSwg7Yq57IiY7ZWcLCDrjIDtkZzsoIEsIOq3uOumrOqzoCDtjIzsg53soIHsnbgg7IaQ7ZW07JeQIOuMgO2VnCDssYXsnoTsnYQg7KeA7KeAIOyViuyKteuLiOuLpC4KCiMgRU9T55So5oi35Y2P6K6uCgojIyAqKuWumuS5iSoqCgpFT1PnlKjmiLfljY/orq7kuK3nmoTmiYDmnInlpKflhpnvvIzmlpzkvZPmiJblhoXogZTku6PnoIHmnK/or63lsIblhbfmnInkuI7ku6XkuIvlrprkuYnnm7jlkIznmoTmlYjmnpzlkozlkKvkuYnjgIIKCi0gRU9T55So5oi35Y2P6K6u77ya5Y2z5pys5paH5qGj77yIRVVB77yJCgotIOmTvuS4iklEOiBjaGFpbl9pZCAtIGFjYTM3NmYyMDZiOGZjMjVhNmVkNDRkYmRjNjY1NDdjMzZjNmMzM2UzYTExOWZmYmVhZWY5NDM2NDJmMGU5MDYKCi0g55So5oi377ya5Lu75oSP5ruh6Laz5LiL5YiX6KaB5rGC55qE5Liq5Lq65oiW57uE57uH77ya55u05o6l5oiW6ICF6Ze05o6l5oul5pyJRU9T6LSm5oi35oiW5LiORU9T6LSm5oi35YWz6IGU55qE5Z+65LqORU9T5Y+R6KGM55qE6LSi5Lqn44CCCgotIOaJgOacieadg++8muebtOaOpeaIluiAhemXtOaOpemAmui/h+S4gOS4quaIluWkmuS4quacieaViOeahOadg+mZkOajgOafpeiuv+mXruS4gOS4qkVPU+i0puaIt+OAguaJgOacieadg+WPr+S7pemAmui/h+Wkmuetvuadg+mZkOiuuOWPr+WcqOeUqOaIt+mXtOWFseS6q+OAggoKLSDmiafooYzkuoZyZWdwcm9kdWNl77yM5bm25LiU5LuOZW9zaW8udnBheemihuWPluaUtuWFpeeahOeUqOaIt+OAggoKLSBlb3Npby5wcm9kczrlhbfmnInliqjmgIHmnYPpmZDnu5PmnoTnmoRFT1PluJDmiLfvvIzlvZMxNS8yMSBCbG9jayBQcm9kdWNlcnPlkIzmhI/ml7bvvIzor6XluJDmiLflj6/ku6Xmib/mi4Vlb3Npb+W4kOaIt+eahOadg+mZkOOAggoKLSDnvZHnu5zotYTkuqfvvJrljIXlkKvlnKjku6XkuIvotKbmiLfkuK3nmoTku6PluIHvvJplb3Npby5uYW1lc+OAgWVvc2lvLnJhbWZlZeOAgSAgZW9zaW8uc2F2aW5n44CCCgotIOayu+eQhuaWh+aho++8mnJlZ3Byb2R1Y2Vy5piv5rK755CG5paH5qGj44CCCgotIOS7u+S9leS6pOaYk+OAgeaZuuiDveWQiOe6puaIluiAheadjuWYieWbvuWQiOe6pu+8jOWug+S7rOW3sue7j+S9jeS6juS4gOS4quWMuuWdl+S4re+8jOW5tuS4lOi/meS4quWMuuWdl+aYr+S4jeWPr+mAhui9rOeahOOAgeW3sumZhOWKoOWIsOWQjeS4umNoYWluX2lk55qERU9T5Yy65Z2X6ZO+5Lit44CCCgotIOWfuuS6jkVPU+i1hOS6p++8muS7u+S9lemcgOimgeacieaViOiuuOWPr+adpeaTjeS9nOOAgeaUueWPmOOAgei9rOenu+OAgeW9seWTjeaIluiAhei/m+ihjOWFtuS7luaTjeS9nOeahOS4nOilv+OAggoKLSDmiafooYzvvJrlnKjlkI3kuLpjaGFpbl9pZOeahEVPU+WMuuWdl+mTvuS4reaPkOS6pOS4gOS4quihjOWKqOOAggoKLSDmjojmnYPlkozmnYPpmZDvvJrmnYPpmZDvvIhQZXJtaXNzaW9uc++8ieaYr+eUqOadpeWumuS5ieS7o+ihqOivpeadg+mZkOWPkemAgeeahOS6pOaYk+eahOimgeaxgueahOS7u+aEj+WQjeWtl+OAguWPr+S7pee7meeJueWumueahOWQiOe6puaTjeS9nOeahOaOiOadg++8iEF1dGhvcml6YXRpb25z77yJ5YiG6YWN5p2D6ZmQ77yIUGVybWlzc2lvbnPvvInjgIIKCi0g5p2O5ZiJ5Zu+5ZCI57qm77ya5bCG5rOV5b6L5Y2P6K6u5Lit55qE5a6a5LmJ6KaB57Sg5Lul6IO95Zyo6L2v5Lu25Lit6KGo6L6+5ZKM5omn6KGM55qE5qC85byP6KGo6L6+55qE5ZCI57qm44CCCgojIyAqKuadoeasvuS4gCoqKirnlKgqKioq5oi36aOO6Zmp56Gu6K6kKioKCuWmguaenOeUqOaIt+S4ouWksei0puaIt+iuv+mXruadg+mZkOaIluiAheayoeaciemHh+WPluWQiOmAgueahOaWueW8j+S/neaKpOi0puaIt+iuv+mXruadg+mZkO+8jOeUqOaIt+W6lOefpeaCieW5tuWQjOaEj++8jEVPU+i0puaIt+WwhuaXoOazleiuv+mXruOAgueUqOaIt+W6lOehruiupOeUqOaIt+WvueWKoOWvhuS7o+W4geWSjOWMuuWdl+mTvui9r+S7tueahOmjjumZqeOAgeeUqOazleWSjOWkjeadguaAp+acieWFheWIhuS6huino+OAgueUqOaIt+aJv+iupOW5tuWQjOaEj+eUqOaIt+iHquihjOaJv+aLheS9v+eUqEVPU+WMuuWdl+mTvueahOmjjumZqeOAggoKIyMgKirmnaHmrL7kuowqKioq54m55q6K55SoKioqKuaIt+exu+WeiyoqCgrmiafooYxyZWdwcm9kdWNl77yM5ZCM5oSP5bm25LiU5Y+XcmVncHJvZHVjZXLmnY7lmInlm77lkIjnuqbnuqbmnZ/nmoTnlKjmiLfjgIIKCiMjICoq5p2h5qy+5LiJKioqKuWQjOaEjyoqKipFT1MqKioq55SoKioqKuaIt+WNj+iurioqCgpFT1PnlKjmiLfljY/orq7nmoTlrp7otKjmmK/lr7nlvZPliY1FT1PkuLvnvZHmsrvnkIblip/og73nmoTmj4/ov7DjgILnlLHku6PnoIHlvLrliLbmiafooYznmoTlip/og73kuI3pnIDopoHnlKjmiLfnmoTlkIzmhI/vvIzlm6DkuLrov5nkupvlip/og73mmK9FT1PkuLvnvZHns7vnu5/oh6rluKbnmoTjgIIKCiMjICoq5p2h5qy+5ZubKiogLSAqKuayu+eQhuaWh+ahoyoqCgplb3Npby5wcm9kc+WPr+S7peWvuUVPU+eUqOaIt+WNj+iuruWSjOayu+eQhuaWh+aho+i/m+ihjOS7u+S9leS/ruaUueOAguS4peato+aPkOmGku+8jOaPkOWJjeeUqGVvc2lvLmZvcnVt5YWs5oqV5ZCI57qm77yM6YCa6L+HZW9zaW8ucHJvZHPnvJblhpnjgIHlj5HluIPkuIDkuKrlo7DmmI7mnaXmj4/ov7DpgqPkuKrkv67mlLnjgIIKCiMjICoq5p2h5qy+5LqUKioqKuWOn+eUn+S7tyoqKirlgLzljZXkvY0qKgoKRU9T5YWs6ZO+5LiK55qE5Y6f55Sf5Lu35YC85Y2V5L2N5bqU5Li6ZW9zaW8udG9rZW7mmbrog73lkIjnuqblrprkuYnlkozliJvlu7rnmoRFT1PpgJror4HjgIIKCiMjICoq5p2h5qy+5YWtKioqKue7tOaKpCoqKipFT1MqKioq5Yy6KioqKuWdl+mTvioqCgrml6DorrrnjrDlnKjmiJblsIbmnaXlsIbmnaXvvIxlb3Npby5wcm9kc+Wwhue7tOaKpOa0u+i3g+eahOWMuuWdl+mTvuS7o+eggeW6k++8jOWMheaLrOS9huS4jemZkOS6juaJgOacieWKn+iDveOAgeS8mOWMluOAgeWNh+e6p+eahOaJgOacieS/ruaUueOAgeWunueOsOOAggoKIyMg5p2h5qy+5LiDIC0gKioqKuWumioqKirkuYkqKioqRU9TKioqKue9kee7nOi1hOS6pwoK5pu05pS5572R57uc6LWE5Lqn6LSm5oi35Lit55qE5Lu75L2V5Luj5biB55qE54q25oCB77yM5pu05pS55Lu75L2V546w5a2Y55qE55u05o6l5oiW6Ze05o6l566h55CG5Lu75L2V572R57uc6LWE5Lqn55qE5YiG6YWN44CB5a6e546w5oiW5YiG5Y+R55qE5Luj56CB77yM6ZyA6KaB5LqL5YWI55SoZW9zaW8ucHJvZHPlnKhlb3Npby5mb3J1beWFrOaKleWQiOe6puS4iue8luWGmeWSjOWPkeW4g+aViOaenOaPj+i/sOeahOWjsOaYjuOAggoKIyMgKirmnaHmrL7lhast5Yib5bu66LSm5oi36Ieq55SxKioKCuS7u+S9leeOsOWcqOaIluWwhuadpeeahOeUqOaIt+mDveWPr+S7peWcqOacque7j+S7u+S9leWFtuS7lueUqOaIt+iuuOWPr+eahOaDheWGteS4i+WIm+W7ukVPU+W4kOaIt+OAgiAg5aaC5L2V5rKh5pyJ5pS25YiwRU9T5biQ5oi355qE5pyJ5pWI6K645Y+v77yIcGVybWlzc2lvbu+8ie+8jGVvc2lvLnByb2Rz5rC46L+c5LiN5Lya5b2x5ZONRU9T55So5oi35biQ5oi344CCICDlr7nkuo7lhbHkuqvmnYPpmZDnmoRFT1PluJDmiLfnmoTlhbbku5bnlKjmiLfor7fmsYLnmoTku7vkvZXmk43kvZzvvIxlb3Npby5wcm9kc+WPr+iDveS8muaUtuWPlui0ueeUqOOAggoKIyMgKirmnaHmrL7kuZ3msqHmnInlj5fmiZjkuroqKgoK5rKh5pyJ55So5oi35om/5ouF5L+h5omY6LSj5Lu75p2l57u05oyBRU9T5Luj5biB55qE5Lu35YC844CC5rKh5pyJ55So5oi35Y+v5Lul5Luj6KGoRU9T55So5oi35oiW6ICF5Luj6KGo5ZCN5Li6Y2hhaW5fSUTnmoRFT1PljLrlnZfpk77mjojmnYPku7vkvZXkurrlhbHlkIzmjIHmnInotYTkuqfjgIHlgJ/mrL7jgIHlj5HoqIDmiJblrprlkIjlkIzjgILmraTljLrlnZfpk77kuI3lrZjlnKjmi6XmnInogIXjgIHnrqHnkIbogIXmiJbogIXlj5fmiZjkurrjgIIKCiMjICoq5p2h5qy+5Y2B5Liq5Lq65a6J5YWoKioKCuaJgOacieacieWFs+S4quS6uui0puaIt+WuieWFqOeahOS6i+mhue+8jOWMheaLrOS9huS4jemZkOS6juengemSpeeahOWuieWFqOS/neWtmO+8jOmDveeUseeUqOaIt+iHquW3sei0n+i0o+OAggoKIyMgKirmnaHmrL7ljYHkuIAgZW9zaW8ucHJvZHPnmoTmnInpmZDotKPku7sqKgoK55So5oi35bqU55+l5oKJ5ZKM5ZCM5oSP77yM5Zyo5Lu75L2V6YCC55So5rOV5b6L5YWB6K6455qE5pyA5aSn6IyD5Zu05YaF77yM5pys5YWN6LSj5aOw5piO6YCC55So5LqO5LiORU9T5Luj5biB6aOO6Zmp77yM5L2/55So5oiW5peg5rOV5L2/55SoRU9T5Luj5biB5pyJ5YWz5oiW5a+86Ie055qE5Lu75L2V5oiW5omA5pyJ5o2f5a6z5oiW5Lyk5a6z77yM5Lmf6YCC55So5LqO5Lu75L2V5Y+45rOV566h6L6W5Yy65YaF55qE5Lu75L2V5Lu75L2V6KGM5Li65LiL55qERU9T5Yy65Z2X6ZO+Y2hhaW5faWTvvIzljIXmi6zkvYbkuI3pmZDkuo7ov53lj43mi4Xkv53jgIHov53lj43lkIjlkIzmiJbkvrXmnYPooYzkuLrvvIjljIXmi6znlo/lv73vvInjgIJlb3Npby5wcm9kc+S7peWPiuaTjeS9nOWug+eahOS4quS6uuadg+mZkOWvueS6juS7u+S9lemXtOaOpeeahO+8jOWBtueEtueahO+8jOeJueauiueahO+8jOekuuS+i+aAp+eahOaIluWQjuaenOaAp+eahOaNn+Wus++8jOWMheaLrOWIqea2puaNn+Wkse+8jOWVhuiqieaIluaVsOaNru+8jOS4jeaJv+aLheS7u+S9lei0o+S7u+OAghZCbG9ja1Byb2R1Y2VyQWdyZWVtZW50xmwjIyMgMS4gVGhlIGludGVudCBvZiByZWdwcm9kdWNlcgoKVGhlIGludGVudCBvZiB0aGUgYHJlZ3Byb2R1Y2VyYCBhY3Rpb24gaXMgdG8gcmVnaXN0ZXIgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhY3kuIFRoaXMgY29udHJhY3QgaXMgY29uc2lkZXJlZCBhIGdvdmVybmluZyBkb2N1bWVudCBhcyBkZWZpbmVkIGJ5IHRoZSBFT1MgVXNlciBBZ3JlZW1lbnQgKEVVQSkuCgpyZWdwcm9kdWNlcuydmCDrqqnsoIEKCmByZWdwcm9kdWNlcmAg7J6R7JeF7J2YIOuqqeyggeydgCDruJTroZ3sg53sgrDsnpAg7J6F7ZuE67O0IOuTseuhneydhCDtlZjripQg6rKD7J6F64uI64ukLiDsnbQg6rOE7JW97J2AIEVPUyDsgqzsmqnsnpAg6rOE7JW97IScIChFVUEp7JeQIOygleydmOuQnCDrsJTsmYAg6rCZ7J20IOq0gOumrCDrrLjshJzroZwg6rCE7KO865Cp64uI64ukLgoKcmVncHJvZHVjZXIg55qE55uu55qECgpgcmVncHJvZHVjZXJg5pON5L2c55qE55uu55qE5piv5rOo5YaM5oiQ5Li65Ye65Z2X6IqC54K55YCZ6YCJ6ICF44CC5qC55o2uIEVPUyDnlKjmiLfljY/orq4oRVVBKeeahOWumuS5ie+8jOacrOWQiOe6puWxnuS6juayu+eQhuaWh+acrChnb3Zlcm5pbmcgZG9jdW1lbnQpCgojIyMgMi4gTm9taW5hdGlvbgoKSSwge3sgcHJvZHVjZXIgfX0sIGhlcmVieSBub21pbmF0ZSBteXNlbGYgZm9yIGNvbnNpZGVyYXRpb24gYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUuIFRoaXMgbm9taW5hdGlvbiBpbmNsdWRlcyBhZ3JlZW1lbnQgdG8gdGhlIHRlcm1zIG9mIHRoaXMgY29udHJhY3QgYnkgbXkgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlIGVudGl0eSwgaW5jbHVkaW5nIGFsbCBvZiBpdHMgc2hhcmVob2xkZXJzLCBvd25lcnMsIGVtcGxveWVlcywgc3RhZmYsIG1lbWJlcnMsIGFuZCBhbnkgaW5kaXZpZHVhbCB3b3JraW5nIGluIG9mZmljaWFsLCBkaXJlY3QsIG9yIGFmZmlsaWF0ZWQgY2FwYWNpdHkgZm9yIG15IEJsb2NrIFByb2R1Y2VyIGVudGl0eS4KCuyngOuqhQoK64KYLCB7eyBwcm9kdWNlciB9feuKlCDruJTroZ3tlITroZzrk4DshJwg7ZuE67O066GcIOqzoOugpOuQmOuPhOuhnSDsnpDsi6DsnYQg7KeA66qF7ZWp64uI64ukLiDsnbQg7KeA66qF7JeQ64qUIOu4lOuhne2UhOuhnOuTgOyEnO2ajOyCrOydmCDrqqjrk6Ag7KO87KO8LCDshozsnKDsnpAsIOyngeybkCwg66mk67KELCDtmozsm5Ag67CPIOqzteyLneyduOybkCwg7KeB7KCRIOuYkOuKlCDqs4Tsl7Tsgqzsl5DshJwg7J287ZWY64qUIOuqqOuToCDqsJzsnbjsnYQg7Y+s7ZWo7ZWcIOu4lOuhne2UhOuhnOuTgOyEnCDtmozsgqzqsIAg6rOE7JW9IOyhsOqxtOyXkCDrjIDtlbQg64+Z7J2Y7ZWo7J2EIOyduOygle2VqeuLiOuLpC4KCuaPkOWQjQoK5pys5Lq677yMe3sgcHJvZHVjZXIgfX3vvIznibnmraTmj5DlkI3mnKzkurrkuLrlh7rlnZfoioLngrnlgJnpgInkurrjgILmnKzmj5DlkI3ljIXmi6zkuobmnKzlh7rlnZfoioLngrnlgJnpgInkurrlrp7kvZPlr7nmnKzlkIjnuqbkuK3miYDmnInmnaHmrL7nmoTmmI7noa7lkIzmhI/vvIzljIXlkKvlhbbmiYDmnInogIXjgIHpm4flkZjjgIHlkZjlt6XjgIHmiJDlkZjvvIzku6Xlj4rku7vkvZXku6XmraPlvI/mlrnlvI/jgIHnm7TmjqXmiJbpmYTlsZ7mlrnlvI/kuLrmnKzlh7rlnZfoioLngrnlrp7kvZPlt6XkvZznmoTkuKrkurrjgIIKCiMjIyAzLiBSZXNpZ25hdGlvbiBhbmQgUmVtb3ZhbCBmb3IgSW5hYmlsaXR5IHRvIFBlcmZvcm0gT2JsaWdhdGlvbnMuCgpJZiBJLCB7eyBwcm9kdWNlciB9fSwgYW0gdW5hYmxlIHRvIHBlcmZvcm0gYW55IG9mIHRoZSBvYmxpZ2F0aW9ucyBzdGlwdWxhdGVkIGluIHRoaXMgY29udHJhY3QsIEkgd2lsbCByZXNpZ24gbXkgcG9zaXRpb24gYnkgY2FsbGluZyB0aGUgYHVucmVncHJvZGAgYWN0aW9uLgoKSWYgSSwge3sgcHJvZHVjZXIgfX0sIGZhaWwgdG8gcmVzaWduIHdoZW4gdW5hYmxlIHRvIHBlcmZvcm0gc2FpZCBvYmxpZ2F0aW9ucywgSSB1bmRlcnN0YW5kIHRoYXQgcHJvY2VkdXJlcyBlbnVtZXJhdGVkIGluIHRoaXMgY29udHJhY3Qgc2hhbGwgYmUgZW5hY3RlZC4KCuydmOustOydmCDrtojsnbTtlonsl5Ag64yA7ZWcIOyCrOyehCDrsI8g7LKg7ZqMCgp7eyBwcm9kdWNlciB9feqwgCDrs7gg6rOE7JW97ISc7JeQIOuqheyLnOuQnCDsnZjrrLTrpbwg7IiY7ZaJIO2VoCDsiJgg7JeG64qUIOqyveyasCwg7IOd7IKw7J6QIO2CpOulvCBudWxsIOuhnCDtlajsnLzroZzsjagg67O47J247J2YIOyngOychOulvCDsgqzsnoTtlanri4jri6QuCgrrp4zslb0g64K06rCAIHt7cHJvZHVjZXJ9feydmCDsnZjrrLTrpbwg7J207ZaJIO2VoCDsiJgg7JeG7J2EIOuVjCDsgqzsnoTtlZjsp4Ag7JWK64qU64uk66m0LCDrgpjripQg67O4IOqzhOyVveyXkCDsl7TqsbDrkJwg7KCI7LCo6rCAIOynke2WieuQqOydhCDrj5nsnZjtlanri4jri6QuCgrlm6DkuI3og73lsaXooYzkuYnliqHogIzpgIDlh7rmiJbooqvlj5bmtojlh7rlnZfotYTmoLwKCuWmguaenOaIke+8jHt7IHByb2R1Y2VyIH1977yM5LiN6IO95bGl6KGM5pys5ZCI57qm5Lit5omA6KeE5a6a55qE5omA5pyJ5LmJ5Yqh77yM5oiR5bCG5L2/55SoIGB1bnJlZ3Byb2RgIOaTjeS9nOadpeiHquaIkemAgOWHuu+8iHJlc2lnbu+8ieOAggoK5aaC5p6c5oiRIHt7IHByb2R1Y2VyIH19LCDlnKjml6Dms5XlsaXooYzkuIrov7DkuYnliqHml7bmnKrog73pgIDlh7oocmVzaWduKe+8jOaIkeefpeaZk+acrOWQiOe6puWwhuS8muaMieeFp+aJgOacieWIl+S4vueahOeoi+W6j+WvueaIkeWunuihjOWItuijgeaIluWkhOe9mueoi+W6j+OAggoKIyMjIDQuIEVPUyBBY2NvdW50cwoKQmxvY2sgUHJvZHVjZXJzIG1heSBuZXZlciBhZmZlY3QgYW4gYWNjb3VudCBvbiB0aGUgRU9TIGJsb2NrY2hhaW4sIGV4Y2VwdCBmb3IgdGhlIHJlYXNvbnMgc3BlY2lmaWNhbGx5IGNpdGVkIGluIHRoaXMgY29udHJhY3QgdGhhdCBwZXJ0YWluIHRvIEJsb2NrIFByb2R1Y2VyIGFjY291bnRzLiBVc2VyIGFjY291bnRzIGNhbiBvbmx5IGJlIGFmZmVjdGVkIG9uIHRoZSBiYXNpcyBvZiBBcnRpY2xlIFZJSUkgaW4gdGhlIEVPUyBVc2VyIEFncmVlbWVudC4KCkVPUyDqs4TsoJUKCuu4lOuhne2UhOuhnOuTgOyEnOuKlCDrs7gg6rOE7JW97JeQ7IScIO2VtOuLue2VmOuKlCDruJTroZ3tlITroZzrk4DshJzsnZgg6rOE7KCVIOywqOuLqOyXkCDqtIDroKjtlZjsl6wg7Yq567OE7Z6IIOyWuOq4ie2VnCDsnbTsnKDrpbwg7KCc7Jm47ZWY6rOg64qUIEVPUyDruJTroZ3ssrTsnbjsnZgg6rOE7KCV7JeQIOqysOy9lCDsmIHtlqXsnYQg66+47LmY7KeAIOyViuyKteuLiOuLpC4g7IKs7Jqp7J6QIOqzhOygleydgCBFT1Mg7IKs7Jqp7J6QIOqzhOyVveyEnOydmCA47KGw7JeQIOq3vOqxsO2VoCDrlYzrp4wg7JiB7Zal7J2EIOuwm+ydhCDsiJgg7J6I7Iq164uI64ukLgoKRU9TIOi0puWPtwoK5Ye65Z2X6IqC54K55rC46L+c5LiN5Lya5a+5IEVPUyDljLrlnZfpk77kuIrnmoTluJDmiLfpgKDmiJDlvbHlk43vvIzpmaTpnZ7mmK/mnKzlkIjnuqbkuK3nibnliKvmj5DliLDkuI7lh7rlnZfoioLngrnluJDmiLfmnInlhbPnmoTljp/lm6DjgILlj6rmnInln7rkuo4gRU9T55So5oi35Y2P6K6u5Lit55qE56ys5YWr5p2h55qE5oOF5b2i5LiL77yM55So5oi355qE6LSm5Y+35omN5Lya5Y+X5Yiw5b2x5ZONLgoKIyMjIDUuIFByb2R1Y2VyIEtleQoKSSwge3sgcHJvZHVjZXIgfX0sIHdpbGwgc2lnbiBibG9ja3Mgd2l0aCB7eyBwcm9kdWNlcl9rZXkgfX0KCklmIEksIHt7IHByb2R1Y2VyIH19IHN1c3BlY3QgbXkga2V5IGhhcyBiZWVuIGNvbXByb21pc2VkIEkgd2lsbCBhbGVydCB0aGUgb3RoZXIgQmxvY2sgUHJvZHVjZXJzIGltbWVkaWF0ZWx5LgoKSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgYW55IGFuZCBhbGwgYWN0aW9ucyBleGVjdXRlZCB3aXRoIG15IHt7IHByb2R1Y2VyX2tleSB9fSBpcyBteSByZXNwb25zaWJpbGl0eSwgcmVnYXJkbGVzcyBvZiB0aGUgYWNjb3VudCBiZWluZyBjb21wcm9taXNlZC4KCu2UhOuhnOuTgOyEnCDtgqQKCuuCmCwge3sgcHJvZHVjZXIgfX3ripQge3sgcHJvZHVjZXIgXyBrZXkgfX0g66GcIOu4lOuhneyXkCDshJzrqoUg7ZWgIOqyg+yeheuLiOuLpC4K66eM7JW9IOuCtCwge3twcm9kdWNlcn19IOqwgCDrs7jsnbjsnZgg7YKk6rCAIOyGkOyDgeuQmOyXiOuLpOqzoCDsnZjsi6zrkJjrqbQg7KaJ7IucIOuLpOuluCDruJTroZ3tlITroZzrk4DshJzsl5Dqsowg7JWM66Ck7KSEIOqyg+yeheuLiOuLpC4K64KYLCB7e3Byb2R1Y2VyfX3ripQgRU9TIOu4lOuhneyytOyduOyXkOyEnCDrs7jsnbjsnZgg67iU66Gd7ZSE66Gc65OA7IScIOqzhOygleydtCDsi6TtlontlZjripQg66qo65OgIOyekeyXheyXkCDrjIDtlbQsIOqzhOyglSDsnbTsg4Eg7Jyg66y07JmAIOq0gOugqCDsl4bsnbQsIOyxheyehOydtCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLgoK5Ye65Z2X6IqC54K55YWs6ZKlCgog5oiRLCB7eyBwcm9kdWNlciB9fSwg5bCG5L2/55SoIHt7IHByb2R1Y2VyX2tleSB9fSDlr7nljLrlnZfnrb7lkI3jgIIK5aaC5p6c5oiRLCB7eyBwcm9kdWNlciB9fSwg5oCA55aR5oiR55qE5a+G6ZKl5bey6KKr5rOE6Zyy77yM5oiR5bCG56uL5Y2z6YCa55+l5YW25LuW6IqC54K544CCCuaIke+8jHt7IHByb2R1Y2VyIH1977yM5om/6K6k5oiR55qE5Ye65Z2X6IqC54K55biQ5oi35ZyoRU9T5Yy65Z2X6ZO+5LiK5omA5omn6KGM55qE5Lu75L2V5pON5L2c6YO95piv5oiR55qE6LSj5Lu777yM5peg6K666K+l5biQ5oi35piv5ZCm6KKr55uX44CCCgojIyMgNi4gQVBJIEVuZHBvaW50cwoKSWYgSSwge3sgcHJvZHVjZXIgfX0sIHF1YWxpZnkgZm9yLCBhbmQgY2hvb3NlIHRvIGNsYWltIHJld2FyZHMgZHVlIHRvIHZvdGVzIHJlY2VpdmVkLCBhbmQvb3IgYmxvY2tzIHByb2R1Y2VkLCBJLCB7eyBwcm9kdWNlciB9fSwgd2lsbCBwcm92aWRlIGZ1bmN0aW9uaW5nIGFuZCBxdWVyeWFibGUgcHVibGljIFAyUCBhbmQgQVBJIGVuZHBvaW50cyB0byBtYWludGFpbiBzeW5jaHJvbml6YXRpb24gd2l0aCB0aGUgYmxvY2tjaGFpbiBhbmQgc3VibWl0IHRyYW5zYWN0aW9ucyB0byBiZSBpbmNsdWRlZC4gQVBJIGVuZHBvaW50cyBtdXN0IGJlIHVwZGF0ZWQgdG8gYSByZWNlbnQgZnVuY3Rpb25hbCB2ZXJzaW9uIHRoYXQgZG9lcyBub3QgaGF2ZSBrbm93biBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMuCgpJLCB7eyBwcm9kdWNlciB9fSwgaGVyZWJ5IGFja25vd2xlZGdlIHRoYXQgaWYgSSBhbSB1bmFibGUgdG8gZG8gc28gd2l0aGluIDMwIG1pbnV0ZXMgb2YgYmVpbmcgYWxlcnRlZCBieSBhbm90aGVyIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZSwgSSBjYW4gYmUgcmVtb3ZlZCBieSB1c2Ugb2YgdGhlIGBybXZwcm9kdWNlcmAgYWN0aW9uLgoKQVBJIOyXlOuTnO2PrOyduO2KuAoK66eM7JW9IOuCtCwge3sgcHJvZHVjZXIgfX0g6rCAIO2IrO2RnOulvCDrsJvslYQg67iU66GdIOuztOyDgeydhCDssq3qtaztlaAg7IiYIOyeiOuKlCDsnpDqsqnsnYQg7Ja77Jy866m0LCDrgpgge3sgcHJvZHVjZXIgfX3ripQg7J6R64+ZIOuwjyDsv7zrpqwg6rCA64ql7ZWcIOqzteqwnCBQMlAg67CPIEFQSSDsl5Trk5ztj6zsnbjtirjrpbwg67iU66Gd7LK07J246rO87J2YIOuPmeq4sO2ZlCDrsI8g7Yq4656c7J6t7IWY7J2EIOygnOy2nO2VoCDsiJgg7J6I6rKMIOycoOyngOq0gOumrO2VqeuLiOuLpC4gQVBJIOyXlOuTnO2PrOyduO2KuOuKlCDslYzroKTsp4Qg67O07JWIIOy3qOyVveyEseydtCDsl4bripQg7LWc7Iug67KE7KCE7Jy866GcIOyXheuNsOydtO2KuO2VtOyVvCDtlanri4jri6QuCgrrgpgsIHt7IHByb2R1Y2VyIH19IOuKlCDri6TrpbggYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlIOqwgCDqsr3qs6Ag4oCL4oCL7ZWcIO2bhCwgMzDrtoQg7J2064K07JeQIOuwlOuhnOyeoeydhCDsiJgg7JeG64uk66m0IGBybXZwcm9kdWNlcmAg7KGw7LmY66W8IO2Gte2VtCDsnpDqsqnsnbQg7KCc6rGwIOuQoCDsiJgg7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4KCkFQSSDnq6/ngrkKCuWmguaenOaIke+8jHt7IHByb2R1Y2VyIH19IOeUseS6juW+l+WIsOaKleelqOWSjC/miJblh7rlnZfnmoTljp/lm6DvvIznrKblkIjpooblj5blpZblirHnmoTmnaHku7blubbpgInmi6nmjqXlj5flpZblirHvvIzpgqPkuYjmiJHvvIwge3sgcHJvZHVjZXIgfX3vvIzlsIbmj5Dkvpvlip/og73mraPluLjnmoTlhazlhbEgUDJQIOWSjCBBUEkg56uv54K55p2l57u05oqk5LiO5Yy65Z2X6ZO+55qE5ZCM5q2l77yM5bm25o+Q5Lqk6KaB5omT5YyF5YWl5Z2X55qE5LqL5Yqh44CCQVBJIOerr+eCueW/hemhu+abtOaWsOWIsOacgOaWsOeahOWPr+eUqOeJiOacrO+8jOW5tuS4lOivpeeJiOacrOayoeacieW3suefpeeahOWuieWFqOa8j+a0ngoK5oiR77yMe3twcm9kdWNlcn1977yM5Zyo5q2k56Gu6K6k77yM5aaC5p6c5oiR5Zyo5pS25Yiw5Y+m5LiA5LiqIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZeeahOitpuWRiuWQjjMw5YiG6ZKf5YaF5LuN5LiN6IO956ym5ZCI5LiK6L+w6KaB5rGC77yM5Y+v5Lul5L2/55SoYHJtdnByb2R1Y2VyYOaTjeS9nOenu+mZpOaIkeeahOi0puaIt+OAggoKIyMjIDcuIEV4ZWN1dGlvbiB0aW1lCgpJLCB7eyBwcm9kdWNlciB9fSwgd2lsbCBkZXBsb3kgYW5kIHJ1biBuZXR3b3JrIGluZnJhc3RydWN0dXJlIGNhcGFibGUgb2YgbWFpbnRhaW5pbmcgMm1zIG9yIGxlc3MgQ1BVIGV4ZWN1dGlvbiB0aW1lcy4KCkksIHt7IHByb2R1Y2VyIH19LCBoZXJlYnkgYWNrbm93bGVkZ2UgdGhhdCBpZiBJIGFtIHVuYWJsZSB0byBkbyBzbyB3aXRoaW4gMzAgbWludXRlcyBvZiBiZWluZyBhbGVydGVkIGJ5IGFub3RoZXIgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlLCBJIGNhbiBiZSByZW1vdmVkIGJ5IHVzZSBvZiB0aGUgYHJtdnByb2R1Y2VyYCBhY3Rpb24uCgrsi6Ttlokg7Iuc6rCECgrrgpgsIHt7IHByb2R1Y2VyIH1964qUIDJtcyDrmJDripQg6re4IOydtO2VmOydmCBDUFUg7Iuk7ZaJIOyLnOqwhOydhCDsnKDsp4DtlaAg7IiYIOyeiOuKlCDrhKTtirjsm4ztgawg7J247ZSE652866W8IOuwsO2PrO2VmOqzoCDsi6Ttlontlanri4jri6QuCgog64KYLCB7eyBwcm9kdWNlciB9fSDripQg64uk66W4IGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZeqwgCDqsr3qs6Ag4oCL4oCL7ZWcIO2bhCwgMzDrtoQg7J2064K07JeQIOuwlOuhnOyeoeydhCDsiJgg7JeG64uk66m0IGBybXZwcm9kdWNlcmAg7KGw7LmY66W8IO2Gte2VtCDsnpDqsqnsnbQg7KCc6rGwIOuQoCDsiJgg7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4KCuaJp+ihjOaXtumXtAoK5oiR77yMIHt7IHByb2R1Y2VyIH1977yM5bCG6YOo572y5ZKM6L+Q6KGM572R57uc5Z+656GA6K6+5pa977yM6IO95aSf5bCGIENQVSDmiafooYzml7bpl7Tnu7TmjIHlnKggMm1zIOaIluabtOWwkeeahOawtOW5s+OAggoK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIzlnKjmraTnoa7orqTvvIzlpoLmnpzmiJHlnKjmlLbliLDlj6bkuIDkuKpibG9jayBwcm9kdWNlciBjYW5kaWRhdGXnmoTorablkYrlkI4zMOWIhumSn+WGheS4jeiDveespuWQiOS4iui/sOadoeS7tu+8jOWPr+S7peS9v+eUqCBgcm12cHJvZHVjZXJgIOaTjeS9nOWwhuaIkeenu+mZpOOAggoKIyMjIDguIE9yZGVyaW5nCgpJIHt7IHByb2R1Y2VyIH19IGFncmVlIHRvIHByb2Nlc3MgdHJhbnNhY3Rpb25zIG9uIGEgZmlyc3QtaW4tZmlyc3Qtb3V0IChGSUZPKSBiYXNpcywgYW5kIG5vdCB0byBtYW5pcHVsYXRlIHRoZSBjb250ZW50cyBvZiBibG9ja3MgaW4gb3JkZXIgdG8gZGVyaXZlIHByb2ZpdCBmcm9tIHRoZSBvcmRlciBpbiB3aGljaCB0cmFuc2FjdGlvbnMgYXJlIGluY2x1ZGVkOiB0aGUgaGFzaCBvZiB0aGUgYmxvY2sgdGhhdCBpcyBwcm9kdWNlZC4KCuyDneyCsArrgpgsIHt7IHByb2R1Y2VyIH1964qUIOyEoOyehSDshKDstpzrspUgKEZJRk8pIOuwqeyLneycvOuhnCDqsbDrnpjrpbwg7LKY66as7ZWY6rOgIOqxsOuemOqwgCDruJTroZ3snZgg7ZW07Iuc7JeQIO2PrO2VqOuQmOuKlCDsiJzshJzsl5DshJwg7J207J217J2EIOyWu+ycvOugpOuKlCDrqqnsoIHsnLzroZwg7IOd7IKw7ZWY64qUIOu4lOuhneydmCDrgrTsmqnsnYQg7KGw7J6R7ZWY7KeAIOyViuq4sOuhnCDrj5nsnZjtlanri4jri6QuCgrpobrluo8KCuaIke+8jCB7eyBwcm9kdWNlciB9fSDvvIzlkIzmhI/moLnmja7lhYjov5vlhYjlh7ooRklGTynnmoTmlrnlvI/lpITnkIbkuovliqHvvIzlubbkuJTnu53kuI3kvJrkuLrkuobniZ/liKnogIzliKnnlKjljLrlnZflhoXlrrnjgIHmk43nurXljLrlnZfkuK3kuqTmmJPlpITnkIbnmoTpobrluo/jgIIKCiMjIyA5LiBSYW5kb20gUm90YXRpb24gb2YgU3RhbmRieXMKCkksIHt7IHByb2R1Y2VyIH19LCBhZ3JlZSB0aGF0IGlmIEkgYW0gaW4gYSBwYWlkIHN0YW5kYnkgcG9zaXRpb24sIEkgY2FuIGJlIHJhbmRvbWx5IGNhbGxlZCBpbnRvIGEgcHJvZHVjaW5nIHBvc2l0aW9uLiBVcG9uIGZhaWx1cmUgdG8gcHJvZHVjZSBibG9ja3MsIGNvZGUgbWF5IHNlbGYtZXhlY3V0ZSBwZW5hbHRpZXMgcmVnYXJkaW5nIGZ1dHVyZSB2cGF5IHJld2FyZHMuCgrsnKDquIkg64yA6riwIOu4lOuhne2UhOuhnOuTgOyEnOydmCDrrLTsnpHsnIQg66Gc7YWM7J207IWYCgrrgpgsIHt7IHByb2R1Y2VyIH1964qUIOuzuOyduOydtCDsnKDquIkg64yA6riw7KeB7JeQIOyeiOydhCDrlYwsIOustOyekeychOuhnCDsg53sgrDsp4HsnLzroZwg67aA66aEIOuwm+ydhCDsiJgg7J6I64uk64qUIOqyg+yXkCDrj5nsnZjtlanri4jri6QuIOydtOuVjCDruJTroZ3snYQg7IOd7ISx7ZWY7KeAIOuqu+2VmOuptCDsvZTrk5zripQg7Zal7ZuEIHZwYXkg67O07IOB7JeQIOuMgO2VnCDsspjrsozsnYQg7KeR7ZaJ7ZWgIOyImCDsnojsirXri4jri6QuCgrlpIfpgInoioLngrnpmo/mnLrova7mjaIKCuaIke+8jHt7IHByb2R1Y2VyIH1977yM5ZCM5oSP6Iul5pys6IqC54K55aSE5LqO5pyJ5YG/5aSH6YCJ54q25oCB77yM5Y+v6KKr6ZqP5py66LCD5YWl5Ye65Z2X54q25oCB44CC5aaC5p6c5oiR5peg5rOV5Ye65Z2X77yM5ZCI57qm5Luj56CB5Y+v6IO95Lya6Ieq5Yqo5omn6KGM5bCx5pyq5p2l55qEIHZwYXkg5oql6YWs6L+b6KGM5aSE572a44CCCgojIyMgMTAuIE1pc3NpbmcgVHdvIG9yIE1vcmUgUm91bmRzIG9mIEJsb2NrcwoKSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgaWYgYWZ0ZXIgbWlzc2luZyAyIG9yIG1vcmUgcm91bmRzIG9mIGJsb2NrcyBpbiBzdWNjZXNzaW9uIEkgYW0gdW5hYmxlIHRvIGJlIGNvbnRhY3RlZCB3aXRoaW4gMjAgbWludXRlcywgSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgSSBtYXkgYmUgcmVtb3ZlZCBmcm9tIGEgcHJvZHVjaW5nIHBvc2l0aW9uIGJ5IHVzZSBvZiB0aGUgYHJtdnByb2R1Y2VyYCBhY3Rpb24uCgpJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBhZnRlciBtaXNzaW5nIHR3byBvciBtb3JlIHJvdW5kcyBvZiBibG9ja3MgaW4gc3VjY2Vzc2lvbiwgc3RhbmRhcmQgcHJhY3RpY2Ugc3RpcHVsYXRlcyByZW1vdmluZyBteSBwcm9kdWNlciBieSB1c2luZyB0aGUgYHVucmVncHJvZGAgYWN0aW9uIHVudGlsIHRoZSBnaXZlbiBpc3N1ZSBpcyByZXNvbHZlZC4KCuuRkCDrnbzsmrTrk5wg7J207IOB7J2YIOu4lOuhnSDriITrnb0KCuuCmCwge3sgcHJvZHVjZXIgfX3ripQg65GQIOudvOyatOuTnCDsnbTsg4Eg7Jew7IaN7ZWY7JesIOu4lOuhneydhCDriITrnb0g7ZWcIO2bhCwgMjDrtoQg7J2064K07JeQIOyXsOudvSDtlaAg7IiYIOyXhuuLpOuptCB7eyBwcm9kdWNlciB9fSDqsIAgYHJtdnByb2R1Y2VyYCDslaHshZjsnZgg7IKs7Jqp65CY7Ja0IOyDneyCsCDsnITsuZjsl5DshJwg7KCc6rGwIOuQoCDsiJgg7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4KCnt7IHByb2R1Y2VyIH1964qUIOuRkCDrnbzsmrTrk5wg7J207IOB7Jy866GcIOu4lOuhneydhCDsl7Dsho3soIHsnLzroZwg64iE65297ZWc64uk66m0LCDso7zslrTsp4Qg66y47KCc6rCAIO2VtOqysCDrkKAg65WM6rmM7KeAIGB1bnJlZ3Byb2RgIOyekeyXheydhCDsgqzsmqntlZjsl6wg67O47J247J20IOyDneyCsCDsnITsuZjsl5DshJwg7KCc6rGw65Co7J20IO2RnOykgCDqtIDtlonsnLzroZwg6rec7KCV65CY7Ja0IOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuCgrkuKTova7miJbmm7TlpJrova7kuKLlnZfnmoTmg4XlvaIKCuaIke+8jHt7IHByb2R1Y2VyIH19LCDnoa7orqTlpoLmnpzov57nu63kuKTova7miJbmm7TlpJrova7kuKLlnZfkuJTml6Dms5XlnKgyMOWIhumSn+WGheiBlOezu+WIsOaIke+8jOaIke+8jHt7IHByb2R1Y2VyIH19LCDlkIzmhI/lj6/og73kvJrnlKggYHJtdnByb2R1Y2VyYCDmk43kvZzlsIbmiJHnp7vpmaTjgIIK5oiR77yMe3sgcHJvZHVjZXIgfX0sIOWmguaenOi/nue7reS4pOi9ruaIluabtOWkmui9ruS4ouWdl++8jOagueaNruagh+WHhuWunui3teS8muWPkei1tyBgdW5yZWdwcm9kYCDmk43kvZzlsIbmiJHnp7vpmaTlh7rlnZfotYTmoLzvvIznm7TliLDpl67popjop6PlhrPjgIIKCiMjIyAxMS4gVXJnZW50IFNlY3VyaXR5IFBhdGNoZXMKCkksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IGlmIEkgYW0gbm90IGFibGUgdG8gYmUgY29udGFjdGVkIGluIGFueSBmb3JtIGFmdGVyIGFuIHVyZ2VudCBzZWN1cml0eSBwYXRjaCBpcyBhbm5vdW5jZWQsIEkgbWF5IGJlIHJlbW92ZWQgYnkgdXNlIG9mIHRoZSBgcm12cHJvZHVjZXJgIGFjdGlvbi4KCuq4tOq4iSDrs7TslYgg7Yyo7LmYCuq4tOq4iSDrs7TslYgg7Yyo7LmY6rCAIOuwnO2RnCDrkJwg7ZuELCDslrTrlqQg7ZiV7YOc66Gc65OgIOyXsOudvSDtlaAg7IiYIOyXhuuKlCDqsr3smrAgYHJtdnByb2R1Y2VyYCDsnpHsl4XsnYQg7IKs7Jqp7ZWY7JesIOygnOqxsCDrkKAg7IiYIOyeiOydjOydhCDrgpgsIHt7IHByb2R1Y2VyIH1964qUIOyduOygle2VqeuLiOuLpC4KCue0p+aApeWuieWFqOihpeS4gQoK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIznoa7orqTlpoLmnpzlnKjntKfmgKXlronlhajooaXkuIHlj5HluIPlkI7nlKjku7vkvZXmlrnlvI/pg73ml6Dms5XogZTns7vliLDmiJHvvIzlj6/og73kvJrnlKggYHJtdnByb2R1Y2VyYCDmjIfku6TlsIbmiJHnp7vpmaTjgIIKCiMjIyAxMi4gRGlzY2xvc3VyZSBvZiBFbnRpdHkgYW5kIFNlcnZlciBJbmZvcm1hdGlvbgoKSSwge3sgcHJvZHVjZXIgfX0sIGF0dGVzdCB0aGF0IEkgaGF2ZSBkaXNjbG9zZWQgdGhlIGFwcHJveGltYXRlIGdlb2xvY2F0aW9uIGZvciBteSBtYWluIHByb2R1Y3Rpb24gbm9kZSBhcyBiZWluZyB7eyBsb2NhdGlvbiB9fS4KCuuyleyduCDrsI8g7ISc67KEIOygleuztOydmCDqs7XqsJwKCuuCmCwge3sgcHJvZHVjZXIgfX0g64qUIOyjvCDsg53sgrAg64W465Oc7JeQIOuMgO2VnCDsnITsuZgg7KCV67O066W8IOqzteqwnO2WiOydjOydhCDspp3rqoXtlanri4jri6QuCgrlrp7kvZPlkozmnI3liqHlmajnmoTkv6Hmga/miqvpnLIKCuaIke+8jHt7IHByb2R1Y2VyIH1977yM56Gu6K6k5oiR5bey57uP5oqr6Zyy5LqG5Li75Ye65Z2X6IqC54K55pyN5Yqh5Zmo5Zyw55CG5L2N572u55qE5YeG56Gu5L+h5oGv44CC5YW25Zyw5Z2A5Li6IHt7IGxvY2F0aW9uIH1944CCCgojIyMgMTMuIEVzdGFibGlzaGVzIHRoZSBwZW5hbHR5IGFuZCBwcm9jZWR1cmUgZm9yIHVud2lsbGluZ25lc3MgdG8gY29tcGx5IHdpdGggcGVuYWx0aWVzIG9yIHByb2NlZHVyZXMKCkksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IGZhaWxpbmcgdG8gY29tcGx5IHdpdGggcGVuYWx0aWVzIG9yIHByb2NlZHVyZXMgZW5hY3RlZCBhZ2FpbnN0IG1lIHdpbGwgcmVzdWx0IGluIEJsb2NrIFByb2R1Y2VycyBleGVjdXRpbmcgdGhlIGBybXZwcm9kdWNlcmAgY29udHJhY3QgdG8gcmVtb3ZlIG1lLgoKSSwge3sgcHJvZHVjZXIgfX0sIHdpbGwgbm90IGV4ZWN1dGUgdGhlIGByZWdwcm9kdWNlcmAgY29udHJhY3QgdW50aWwgc2VydmluZyBvciBmdWxmaWxsaW5nIHRoZSByZXF1aXJlbWVudHMgZnJvbSBhIHBlbmFsdHkgb3IgcHJvY2VkdXJlIHRoYXQgcmVzdWx0cyBpbiBoYXZpbmcgdGhlIGBybXZwcm9kdWNlcmAgY29udHJhY3QgZXhlY3V0ZWQgdG8gcmVtb3ZlIG1lLgoKSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgaWYgSSBjb250aW51ZSB0byBjYWxsIHRoZSBgcmVncHJvZHVjZXJgIGFjdGlvbiB3aXRob3V0IHNlcnZpbmcgb3IgZnVsZmlsbGluZyB0aGUgcmVxdWlyZW1lbnRzIGZyb20gYnJlYWNoIG9mIGByZWdwcm9kdWNlcmAsIG15IGFjY291bnQga2V5cyBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZ2lzdGVyZWQgQmxvY2sgUHJvZHVjZXIgaW4gcXVlc3Rpb24gbWF5IGJlIG51bGxlZCBieSBCbG9jayBQcm9kdWNlcnMgYnkgdXNpbmcgYGVvc2lvLndyYXBgLgoK7Y6Y64SQ7Yuw66W8IOykgOyImO2VmOyngCDslYrsnYQg6rK97JqwIOuyjOy5mQoK64KYLCB7eyBwcm9kdWNlciB9fSDripQg64KY7JeQ6rKMIOygnOyerOuQnCDsspjrsozsnYQg7KSA7IiY7ZWY7KeAIOyViuycvOuptCDruJTroZ3tlITroZzrk4DshJzrk6TsnbQgYHJtdnByb2R1Y2VyYCDqs4Tslb3snYQg7KeR7ZaJ7ZWY6rKMIOuQoCDqsoPsnbTrnbzqs6Ag7J247KCV7ZWp64uI64ukLiDrgpgsIHt7IHByb2R1Y2VyIH19IOuKlCBgcm12cHJvZHVjZXJgIOqzhOyVveydtCDsp5HtlonrkJzri6TrqbQg7JqU6rWsIOyCrO2VreydhCDstqnsobHrkKAg65WM6rmM7KeAIGByZWdwcm9kdWNlcmAg6rOE7JW97J2EIOydtO2Wie2VmOyngCDslYrsnYQg6rKD7J6F64uI64ukLgpgcmVncHJvZHVjZXJgIOqzhOyVvSDsnITrsJjsnLzroZwg7J247ZWcIOyalOq1rCDsgqztla3snYQg7Lap7KGx7Iuc7YKk7KeAIOyViuqzoCBgcmVncHJvZHVjZXJgIOqzhOyVveydhCDqs4Tsho0g7Zi47Lac7ZWY66m0IO2VtOuLuSDruJTroZ3tlITroZzrk4DshJzsmYAg6rSA66Co65CcIOqzhOyglSDtgqTqsIAgYGVvc2lvLndyYXBgIOydhCDsgqzsmqntlZjsl6wg67iU66Gd7ZSE66Gc65OA7ISc65Ok7JeQIOydmO2VtCDrrLTtmqjtmZQg65CgIOyImCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLgoK5a+55LiN5oS/6YG15a6I5aSE572a55qE6KGM5Li65LqI5Lul5aSE572aCgrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOaJv+iupOiLpeS4jemBteWuiOWvueacrOS6uuWItuijgeeahOWkhOe9mu+8jEJQIOWPr+S7peWunuaWvSBgcm12cHJvZHVjZXJgIOWQiOe6pu+8jOaIkeaOpeWPl+aKleelqOeahOi1hOagvOWwhuiiq+WPlua2iOOAguiLpeaciemSiOWvueaIkeWunuaWvSBgcm12cHJvZHVjZXJgIOWQiOe6pueahOaDheWGteWPkeeUn++8jOaIkSwge3sgcHJvZHVjZXIgfX0g5Zyo6YG15a6IL+WxpeihjOaJgOaUtuWIsOeahOWkhOe9muS5i+WJje+8jOS4jeS8muWGjeasoeaJp+ihjCBgcmVncHJvZHVjZXJgIOWQiOe6puOAggoK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIzlnKjlsaXooYzmg6nnvZrnqIvluo/nmoTopoHmsYLkuYvliY3vvIzkuI3kvJrmiafooYwgYHJlZ3Byb2R1Y2VyYCDlkIjlkIzjgILmiJHnn6XmmZPlpoLkuI3lsaXooYzmraTnqIvluo/vvIwgYHJtdnByb2R1Y2VyYCDlkIjlkIzlsIbkvJrlho3mrKHlsIbmiJHnp7vpmaTjgIIKCuaIkSx7eyBwcm9kdWNlciB9fSwg5om/6K6k5aaC5p6c5rKh5pyJ6YG15a6I5oiW5bGl6KGM5Zug6L+d5Y+NIGByZWdwcm9kdWNlcmAg6ICM5Y+X5Yiw55qE5oOp572a6KaB5rGC5Y2057un57ut6LCD55SoYHJlZ3Byb2R1Y2VyYOaTjeS9nO+8jEJQIOWPr+S7peiwg+eUqCBgZW9zaW8ud3JhcGAg5ZCI57qm5bCG5oiR55So5p2l5rOo5YaM5Ye65Z2X6IqC54K555qE6LSm5Y+35a+G6ZKl6K6+572u5Li65peg5pWI5YC844CCAAABInZhcmlhbnRfYmxvY2tfc2lnbmluZ19hdXRob3JpdHlfdjABGmJsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwBwAAAABIc70+FGFjdGlvbl9yZXR1cm5fYnV5cmFtAMC8+khzvT4UYWN0aW9uX3JldHVybl9idXlyYW0AsMr+SHO9PhRhY3Rpb25fcmV0dXJuX2J1eXJhbQDAigpLc70+FGFjdGlvbl9yZXR1cm5fYnV5cmFtAAAAYF59pLkZYWN0aW9uX3JldHVybl9yYW10cmFuc2ZlcgCuWniam6W5GWFjdGlvbl9yZXR1cm5fcmFtdHJhbnNmZXIAAABAmhujwhVhY3Rpb25fcmV0dXJuX3NlbGxyYW0=" + "code_hash": "34cbdf2a9c41b0a182f235018753110ca2cdcdd4c274b17dd8b7ea9f444fd043", + "abi_hash": "dbd704dd1b7df115cf9a4c31eb98dd1336476ea5642445aa00dc8f8bb4910abc", + "abi": "DmVvc2lvOjphYmkvMS4yAxdibG9ja19zaWduaW5nX2F1dGhvcml0eSJ2YXJpYW50X2Jsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwF2Jsb2NrY2hhaW5fcGFyYW1ldGVyc190GGJsb2NrY2hhaW5fcGFyYW1ldGVyc192MRFnZXRwZWVya2V5c19yZXNfdAxwZWVya2V5c190W12VAQhhYmlfaGFzaAACBW93bmVyBG5hbWUEaGFzaAtjaGVja3N1bTI1NhZhY2NvdW50X25hbWVfYmxhY2tsaXN0AAEKZGlzYWxsb3dlZAZuYW1lW10JYWN0Zmlua2V5AAIOZmluYWxpemVyX25hbWUEbmFtZQ1maW5hbGl6ZXJfa2V5BnN0cmluZxRhY3Rpb25fcmV0dXJuX2J1eXJhbQAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQhxdWFudGl0eQVhc3NldA9ieXRlc19wdXJjaGFzZWQFaW50NjQJcmFtX2J5dGVzBWludDY0A2ZlZQVhc3NldBlhY3Rpb25fcmV0dXJuX3JhbXRyYW5zZmVyAAUEZnJvbQRuYW1lAnRvBG5hbWUFYnl0ZXMFaW50NjQOZnJvbV9yYW1fYnl0ZXMFaW50NjQMdG9fcmFtX2J5dGVzBWludDY0FWFjdGlvbl9yZXR1cm5fc2VsbHJhbQAFB2FjY291bnQEbmFtZQhxdWFudGl0eQVhc3NldApieXRlc19zb2xkBWludDY0CXJhbV9ieXRlcwVpbnQ2NANmZWUFYXNzZXQIYWN0aXZhdGUAAQ5mZWF0dXJlX2RpZ2VzdAtjaGVja3N1bTI1NglhdXRob3JpdHkABAl0aHJlc2hvbGQGdWludDMyBGtleXMMa2V5X3dlaWdodFtdCGFjY291bnRzGXBlcm1pc3Npb25fbGV2ZWxfd2VpZ2h0W10Fd2FpdHMNd2FpdF93ZWlnaHRbXQpiaWRfcmVmdW5kAAIGYmlkZGVyBG5hbWUGYW1vdW50BWFzc2V0B2JpZG5hbWUAAwZiaWRkZXIEbmFtZQduZXduYW1lBG5hbWUDYmlkBWFzc2V0CWJpZHJlZnVuZAACBmJpZGRlcgRuYW1lB25ld25hbWUEbmFtZQxibG9ja19oZWFkZXIACAl0aW1lc3RhbXAGdWludDMyCHByb2R1Y2VyBG5hbWUJY29uZmlybWVkBnVpbnQxNghwcmV2aW91cwtjaGVja3N1bTI1NhF0cmFuc2FjdGlvbl9tcm9vdAtjaGVja3N1bTI1NgxhY3Rpb25fbXJvb3QLY2hlY2tzdW0yNTYQc2NoZWR1bGVfdmVyc2lvbgZ1aW50MzINbmV3X3Byb2R1Y2VycxJwcm9kdWNlcl9zY2hlZHVsZT8RYmxvY2tfaW5mb19yZWNvcmQAAwd2ZXJzaW9uBXVpbnQ4DGJsb2NrX2hlaWdodAZ1aW50MzIPYmxvY2tfdGltZXN0YW1wCnRpbWVfcG9pbnQaYmxvY2tfc2lnbmluZ19hdXRob3JpdHlfdjAAAgl0aHJlc2hvbGQGdWludDMyBGtleXMMa2V5X3dlaWdodFtdFWJsb2NrY2hhaW5fcGFyYW1ldGVycwARE21heF9ibG9ja19uZXRfdXNhZ2UGdWludDY0GnRhcmdldF9ibG9ja19uZXRfdXNhZ2VfcGN0BnVpbnQzMhltYXhfdHJhbnNhY3Rpb25fbmV0X3VzYWdlBnVpbnQzMh5iYXNlX3Blcl90cmFuc2FjdGlvbl9uZXRfdXNhZ2UGdWludDMyEG5ldF91c2FnZV9sZWV3YXkGdWludDMyI2NvbnRleHRfZnJlZV9kaXNjb3VudF9uZXRfdXNhZ2VfbnVtBnVpbnQzMiNjb250ZXh0X2ZyZWVfZGlzY291bnRfbmV0X3VzYWdlX2RlbgZ1aW50MzITbWF4X2Jsb2NrX2NwdV91c2FnZQZ1aW50MzIadGFyZ2V0X2Jsb2NrX2NwdV91c2FnZV9wY3QGdWludDMyGW1heF90cmFuc2FjdGlvbl9jcHVfdXNhZ2UGdWludDMyGW1pbl90cmFuc2FjdGlvbl9jcHVfdXNhZ2UGdWludDMyGG1heF90cmFuc2FjdGlvbl9saWZldGltZQZ1aW50MzIeZGVmZXJyZWRfdHJ4X2V4cGlyYXRpb25fd2luZG93BnVpbnQzMhVtYXhfdHJhbnNhY3Rpb25fZGVsYXkGdWludDMyFm1heF9pbmxpbmVfYWN0aW9uX3NpemUGdWludDMyF21heF9pbmxpbmVfYWN0aW9uX2RlcHRoBnVpbnQxNhNtYXhfYXV0aG9yaXR5X2RlcHRoBnVpbnQxNhhibG9ja2NoYWluX3BhcmFtZXRlcnNfdjEVYmxvY2tjaGFpbl9wYXJhbWV0ZXJzARxtYXhfYWN0aW9uX3JldHVybl92YWx1ZV9zaXplB3VpbnQzMiQGYnV5cmFtAAMFcGF5ZXIEbmFtZQhyZWNlaXZlcgRuYW1lBXF1YW50BWFzc2V0CmJ1eXJhbWJ1cm4AAwVwYXllcgRuYW1lCHF1YW50aXR5BWFzc2V0BG1lbW8Gc3RyaW5nC2J1eXJhbWJ5dGVzAAMFcGF5ZXIEbmFtZQhyZWNlaXZlcgRuYW1lBWJ5dGVzBnVpbnQzMgpidXlyYW1zZWxmAAIHYWNjb3VudARuYW1lBXF1YW50BWFzc2V0BmJ1eXJleAACBGZyb20EbmFtZQZhbW91bnQFYXNzZXQLY2FuY2VsZGVsYXkAAg5jYW5jZWxpbmdfYXV0aBBwZXJtaXNzaW9uX2xldmVsBnRyeF9pZAtjaGVja3N1bTI1NgpjZmdwb3dlcnVwAAEEYXJncw5wb3dlcnVwX2NvbmZpZwxjbGFpbXJld2FyZHMAAQVvd25lcgRuYW1lCGNsb3NlcmV4AAEFb3duZXIEbmFtZQxjbmNscmV4b3JkZXIAAQVvd25lcgRuYW1lCWNvbm5lY3RvcgACB2JhbGFuY2UFYXNzZXQGd2VpZ2h0B2Zsb2F0NjQLY29uc29saWRhdGUAAQVvd25lcgRuYW1lCmRlZmNwdWxvYW4AAwRmcm9tBG5hbWUIbG9hbl9udW0GdWludDY0BmFtb3VudAVhc3NldApkZWZuZXRsb2FuAAMEZnJvbQRuYW1lCGxvYW5fbnVtBnVpbnQ2NAZhbW91bnQFYXNzZXQKZGVsZWdhdGVidwAFBGZyb20EbmFtZQhyZWNlaXZlcgRuYW1lEnN0YWtlX25ldF9xdWFudGl0eQVhc3NldBJzdGFrZV9jcHVfcXVhbnRpdHkFYXNzZXQIdHJhbnNmZXIEYm9vbBNkZWxlZ2F0ZWRfYmFuZHdpZHRoAAQEZnJvbQRuYW1lAnRvBG5hbWUKbmV0X3dlaWdodAVhc3NldApjcHVfd2VpZ2h0BWFzc2V0CmRlbGV0ZWF1dGgAAwdhY2NvdW50BG5hbWUKcGVybWlzc2lvbgRuYW1lDWF1dGhvcml6ZWRfYnkFbmFtZSQJZGVsZmlua2V5AAIOZmluYWxpemVyX25hbWUEbmFtZQ1maW5hbGl6ZXJfa2V5BnN0cmluZwtkZWxzY2hlZHVsZQABCnN0YXJ0X3RpbWUOdGltZV9wb2ludF9zZWMJZGVueV9oYXNoAAICaWQGdWludDY0BGhhc2gLY2hlY2tzdW0yNTYLZGVueWhhc2hhZGQAAQRoYXNoC2NoZWNrc3VtMjU2DGRlbnloYXNoY2FsYwABCHBhdHRlcm5zBm5hbWVbXQpkZW55aGFzaHJtAAEEaGFzaAtjaGVja3N1bTI1NglkZW55bmFtZXMAAQhwYXR0ZXJucwZuYW1lW10HZGVwb3NpdAACBW93bmVyBG5hbWUGYW1vdW50BWFzc2V0C2RvbmF0ZXRvcmV4AAMFcGF5ZXIEbmFtZQhxdWFudGl0eQVhc3NldARtZW1vBnN0cmluZxJlb3Npb19nbG9iYWxfc3RhdGUVYmxvY2tjaGFpbl9wYXJhbWV0ZXJzDQxtYXhfcmFtX3NpemUGdWludDY0GHRvdGFsX3JhbV9ieXRlc19yZXNlcnZlZAZ1aW50NjQPdG90YWxfcmFtX3N0YWtlBWludDY0HWxhc3RfcHJvZHVjZXJfc2NoZWR1bGVfdXBkYXRlFGJsb2NrX3RpbWVzdGFtcF90eXBlGGxhc3RfcGVydm90ZV9idWNrZXRfZmlsbAp0aW1lX3BvaW50DnBlcnZvdGVfYnVja2V0BWludDY0D3BlcmJsb2NrX2J1Y2tldAVpbnQ2NBN0b3RhbF91bnBhaWRfYmxvY2tzBnVpbnQzMhV0b3RhbF9hY3RpdmF0ZWRfc3Rha2UFaW50NjQbdGhyZXNoX2FjdGl2YXRlZF9zdGFrZV90aW1lCnRpbWVfcG9pbnQbbGFzdF9wcm9kdWNlcl9zY2hlZHVsZV9zaXplBnVpbnQxNhp0b3RhbF9wcm9kdWNlcl92b3RlX3dlaWdodAdmbG9hdDY0D2xhc3RfbmFtZV9jbG9zZRRibG9ja190aW1lc3RhbXBfdHlwZRNlb3Npb19nbG9iYWxfc3RhdGUyAAURbmV3X3JhbV9wZXJfYmxvY2sGdWludDE2EWxhc3RfcmFtX2luY3JlYXNlFGJsb2NrX3RpbWVzdGFtcF90eXBlDmxhc3RfYmxvY2tfbnVtFGJsb2NrX3RpbWVzdGFtcF90eXBlHHRvdGFsX3Byb2R1Y2VyX3ZvdGVwYXlfc2hhcmUHZmxvYXQ2NAhyZXZpc2lvbgV1aW50OBNlb3Npb19nbG9iYWxfc3RhdGUzAAIWbGFzdF92cGF5X3N0YXRlX3VwZGF0ZQp0aW1lX3BvaW50HHRvdGFsX3ZwYXlfc2hhcmVfY2hhbmdlX3JhdGUHZmxvYXQ2NBNlb3Npb19nbG9iYWxfc3RhdGU0AAMPY29udGludW91c19yYXRlB2Zsb2F0NjQUaW5mbGF0aW9uX3BheV9mYWN0b3IFaW50NjQOdm90ZXBheV9mYWN0b3IFaW50NjQOZXhjaGFuZ2Vfc3RhdGUAAwZzdXBwbHkFYXNzZXQEYmFzZQljb25uZWN0b3IFcXVvdGUJY29ubmVjdG9yDGV4ZWNzY2hlZHVsZQAAGWZpbl9rZXlfaWRfZ2VuZXJhdG9yX2luZm8AARVuZXh0X2ZpbmFsaXplcl9rZXlfaWQGdWludDY0E2ZpbmFsaXplcl9hdXRoX2luZm8AAgZrZXlfaWQGdWludDY0DWZpbl9hdXRob3JpdHkTZmluYWxpemVyX2F1dGhvcml0eRNmaW5hbGl6ZXJfYXV0aG9yaXR5AAMLZGVzY3JpcHRpb24Gc3RyaW5nBndlaWdodAZ1aW50NjQKcHVibGljX2tleQVieXRlcw5maW5hbGl6ZXJfaW5mbwAEDmZpbmFsaXplcl9uYW1lBG5hbWUNYWN0aXZlX2tleV9pZAZ1aW50NjQRYWN0aXZlX2tleV9iaW5hcnkFYnl0ZXMTZmluYWxpemVyX2tleV9jb3VudAZ1aW50MzISZmluYWxpemVyX2tleV9pbmZvAAQCaWQGdWludDY0DmZpbmFsaXplcl9uYW1lBG5hbWUNZmluYWxpemVyX2tleQZzdHJpbmcUZmluYWxpemVyX2tleV9iaW5hcnkFYnl0ZXMLZnVuZGNwdWxvYW4AAwRmcm9tBG5hbWUIbG9hbl9udW0GdWludDY0B3BheW1lbnQFYXNzZXQLZnVuZG5ldGxvYW4AAwRmcm9tBG5hbWUIbG9hbl9udW0GdWludDY0B3BheW1lbnQFYXNzZXQKZ2lmdGVkX3JhbQADBmdpZnRlZQRuYW1lBmdpZnRlcgRuYW1lCXJhbV9ieXRlcwVpbnQ2NAdnaWZ0cmFtAAQEZnJvbQRuYW1lAnRvBG5hbWUFYnl0ZXMFaW50NjQEbWVtbwZzdHJpbmcEaW5pdAACB3ZlcnNpb24JdmFydWludDMyBGNvcmUGc3ltYm9sCmtleV93ZWlnaHQAAgNrZXkKcHVibGljX2tleQZ3ZWlnaHQGdWludDE2GWxhc3RfcHJvcF9maW5hbGl6ZXJzX2luZm8AARhsYXN0X3Byb3Bvc2VkX2ZpbmFsaXplcnMVZmluYWxpemVyX2F1dGhfaW5mb1tdDGxpbWl0YXV0aGNoZwADB2FjY291bnQEbmFtZQthbGxvd19wZXJtcwZuYW1lW10OZGlzYWxsb3dfcGVybXMGbmFtZVtdCGxpbmthdXRoAAUHYWNjb3VudARuYW1lBGNvZGUEbmFtZQR0eXBlBG5hbWULcmVxdWlyZW1lbnQEbmFtZQ1hdXRob3JpemVkX2J5BW5hbWUkCWxvZ2J1eXJhbQAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQhxdWFudGl0eQVhc3NldAVieXRlcwVpbnQ2NAlyYW1fYnl0ZXMFaW50NjQDZmVlBWFzc2V0DGxvZ3JhbWNoYW5nZQADBW93bmVyBG5hbWUFYnl0ZXMFaW50NjQJcmFtX2J5dGVzBWludDY0CmxvZ3NlbGxyYW0ABQdhY2NvdW50BG5hbWUIcXVhbnRpdHkFYXNzZXQFYnl0ZXMFaW50NjQJcmFtX2J5dGVzBWludDY0A2ZlZQVhc3NldAxsb2dzeXN0ZW1mZWUAAwhwcm90b2NvbARuYW1lA2ZlZQVhc3NldARtZW1vBnN0cmluZwttdmZyc2F2aW5ncwACBW93bmVyBG5hbWUDcmV4BWFzc2V0C212dG9zYXZpbmdzAAIFb3duZXIEbmFtZQNyZXgFYXNzZXQIbmFtZV9iaWQABAduZXduYW1lBG5hbWULaGlnaF9iaWRkZXIEbmFtZQhoaWdoX2JpZAVpbnQ2NA1sYXN0X2JpZF90aW1lCnRpbWVfcG9pbnQKbmV3YWNjb3VudAAEB2NyZWF0b3IEbmFtZQRuYW1lBG5hbWUFb3duZXIJYXV0aG9yaXR5BmFjdGl2ZQlhdXRob3JpdHkHb25ibG9jawABBmhlYWRlcgxibG9ja19oZWFkZXIHb25lcnJvcgACCXNlbmRlcl9pZAd1aW50MTI4CHNlbnRfdHJ4BWJ5dGVzGXBhaXJfdGltZV9wb2ludF9zZWNfaW50NjQAAgVmaXJzdA50aW1lX3BvaW50X3NlYwZzZWNvbmQFaW50NjQQcGVybWlzc2lvbl9sZXZlbAACBWFjdG9yBG5hbWUKcGVybWlzc2lvbgRuYW1lF3Blcm1pc3Npb25fbGV2ZWxfd2VpZ2h0AAIKcGVybWlzc2lvbhBwZXJtaXNzaW9uX2xldmVsBndlaWdodAZ1aW50MTYHcG93ZXJ1cAAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQRkYXlzBnVpbnQzMghuZXRfZnJhYwVpbnQ2NAhjcHVfZnJhYwVpbnQ2NAttYXhfcGF5bWVudAVhc3NldA5wb3dlcnVwX2NvbmZpZwAEA25ldBdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQNjcHUXcG93ZXJ1cF9jb25maWdfcmVzb3VyY2UMcG93ZXJ1cF9kYXlzB3VpbnQzMj8PbWluX3Bvd2VydXBfZmVlBmFzc2V0Pxdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQAIFGN1cnJlbnRfd2VpZ2h0X3JhdGlvBmludDY0PxN0YXJnZXRfd2VpZ2h0X3JhdGlvBmludDY0PxRhc3N1bWVkX3N0YWtlX3dlaWdodAZpbnQ2ND8QdGFyZ2V0X3RpbWVzdGFtcA90aW1lX3BvaW50X3NlYz8IZXhwb25lbnQIZmxvYXQ2ND8KZGVjYXlfc2Vjcwd1aW50MzI/CW1pbl9wcmljZQZhc3NldD8JbWF4X3ByaWNlBmFzc2V0Pw1wb3dlcnVwX29yZGVyAAYHdmVyc2lvbgV1aW50OAJpZAZ1aW50NjQFb3duZXIEbmFtZQpuZXRfd2VpZ2h0BWludDY0CmNwdV93ZWlnaHQFaW50NjQHZXhwaXJlcw50aW1lX3BvaW50X3NlYw1wb3dlcnVwX3N0YXRlAAUHdmVyc2lvbgV1aW50OANuZXQWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQNjcHUWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQxwb3dlcnVwX2RheXMGdWludDMyD21pbl9wb3dlcnVwX2ZlZQVhc3NldBZwb3dlcnVwX3N0YXRlX3Jlc291cmNlAA8HdmVyc2lvbgV1aW50OAZ3ZWlnaHQFaW50NjQMd2VpZ2h0X3JhdGlvBWludDY0FGFzc3VtZWRfc3Rha2Vfd2VpZ2h0BWludDY0FGluaXRpYWxfd2VpZ2h0X3JhdGlvBWludDY0E3RhcmdldF93ZWlnaHRfcmF0aW8FaW50NjQRaW5pdGlhbF90aW1lc3RhbXAOdGltZV9wb2ludF9zZWMQdGFyZ2V0X3RpbWVzdGFtcA50aW1lX3BvaW50X3NlYwhleHBvbmVudAdmbG9hdDY0CmRlY2F5X3NlY3MGdWludDMyCW1pbl9wcmljZQVhc3NldAltYXhfcHJpY2UFYXNzZXQLdXRpbGl6YXRpb24FaW50NjQUYWRqdXN0ZWRfdXRpbGl6YXRpb24FaW50NjQVdXRpbGl6YXRpb25fdGltZXN0YW1wDnRpbWVfcG9pbnRfc2VjC3Bvd2VydXBleGVjAAIEdXNlcgRuYW1lA21heAZ1aW50MTYNcHJvZHVjZXJfaW5mbwAJBW93bmVyBG5hbWULdG90YWxfdm90ZXMHZmxvYXQ2NAxwcm9kdWNlcl9rZXkKcHVibGljX2tleQlpc19hY3RpdmUEYm9vbAN1cmwGc3RyaW5nDXVucGFpZF9ibG9ja3MGdWludDMyD2xhc3RfY2xhaW1fdGltZQp0aW1lX3BvaW50CGxvY2F0aW9uBnVpbnQxNhJwcm9kdWNlcl9hdXRob3JpdHkYYmxvY2tfc2lnbmluZ19hdXRob3JpdHkkDnByb2R1Y2VyX2luZm8yAAMFb3duZXIEbmFtZQ12b3RlcGF5X3NoYXJlB2Zsb2F0NjQZbGFzdF92b3RlcGF5X3NoYXJlX3VwZGF0ZQp0aW1lX3BvaW50DHByb2R1Y2VyX2tleQACDXByb2R1Y2VyX25hbWUEbmFtZRFibG9ja19zaWduaW5nX2tleQpwdWJsaWNfa2V5EXByb2R1Y2VyX3NjaGVkdWxlAAIHdmVyc2lvbgZ1aW50MzIJcHJvZHVjZXJzDnByb2R1Y2VyX2tleVtdB3JhbWJ1cm4AAwVvd25lcgRuYW1lBWJ5dGVzBWludDY0BG1lbW8Gc3RyaW5nC3JhbXRyYW5zZmVyAAQEZnJvbQRuYW1lAnRvBG5hbWUFYnl0ZXMFaW50NjQEbWVtbwZzdHJpbmcGcmVmdW5kAAEFb3duZXIEbmFtZQ5yZWZ1bmRfcmVxdWVzdAAEBW93bmVyBG5hbWUMcmVxdWVzdF90aW1lDnRpbWVfcG9pbnRfc2VjCm5ldF9hbW91bnQFYXNzZXQKY3B1X2Ftb3VudAVhc3NldAlyZWdmaW5rZXkAAw5maW5hbGl6ZXJfbmFtZQRuYW1lDWZpbmFsaXplcl9rZXkGc3RyaW5nE3Byb29mX29mX3Bvc3Nlc3Npb24Gc3RyaW5nC3JlZ3Byb2R1Y2VyAAQIcHJvZHVjZXIEbmFtZQxwcm9kdWNlcl9rZXkKcHVibGljX2tleQN1cmwGc3RyaW5nCGxvY2F0aW9uBnVpbnQxNgxyZWdwcm9kdWNlcjIABAhwcm9kdWNlcgRuYW1lEnByb2R1Y2VyX2F1dGhvcml0eRdibG9ja19zaWduaW5nX2F1dGhvcml0eQN1cmwGc3RyaW5nCGxvY2F0aW9uBnVpbnQxNghyZWdwcm94eQACBXByb3h5BG5hbWUHaXNwcm94eQRib29sB3JlbnRjcHUABARmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZQxsb2FuX3BheW1lbnQFYXNzZXQJbG9hbl9mdW5kBWFzc2V0B3JlbnRuZXQABARmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZQxsb2FuX3BheW1lbnQFYXNzZXQJbG9hbl9mdW5kBWFzc2V0C3JleF9iYWxhbmNlAAYHdmVyc2lvbgV1aW50OAVvd25lcgRuYW1lCnZvdGVfc3Rha2UFYXNzZXQLcmV4X2JhbGFuY2UFYXNzZXQLbWF0dXJlZF9yZXgFaW50NjQOcmV4X21hdHVyaXRpZXMbcGFpcl90aW1lX3BvaW50X3NlY19pbnQ2NFtdCHJleF9mdW5kAAMHdmVyc2lvbgV1aW50OAVvd25lcgRuYW1lB2JhbGFuY2UFYXNzZXQIcmV4X2xvYW4ACAd2ZXJzaW9uBXVpbnQ4BGZyb20EbmFtZQhyZWNlaXZlcgRuYW1lB3BheW1lbnQFYXNzZXQHYmFsYW5jZQVhc3NldAx0b3RhbF9zdGFrZWQFYXNzZXQIbG9hbl9udW0GdWludDY0CmV4cGlyYXRpb24KdGltZV9wb2ludAxyZXhfbWF0dXJpdHkAAxdudW1fb2ZfbWF0dXJpdHlfYnVja2V0cwZ1aW50MzIQc2VsbF9tYXR1cmVkX3JleARib29sEmJ1eV9yZXhfdG9fc2F2aW5ncwRib29sCXJleF9vcmRlcgAHB3ZlcnNpb24FdWludDgFb3duZXIEbmFtZQ1yZXhfcmVxdWVzdGVkBWFzc2V0CHByb2NlZWRzBWFzc2V0DHN0YWtlX2NoYW5nZQVhc3NldApvcmRlcl90aW1lCnRpbWVfcG9pbnQHaXNfb3BlbgRib29sCHJleF9wb29sAAgHdmVyc2lvbgV1aW50OAp0b3RhbF9sZW50BWFzc2V0DHRvdGFsX3VubGVudAVhc3NldAp0b3RhbF9yZW50BWFzc2V0DnRvdGFsX2xlbmRhYmxlBWFzc2V0CXRvdGFsX3JleAVhc3NldBBuYW1lYmlkX3Byb2NlZWRzBWFzc2V0CGxvYW5fbnVtBnVpbnQ2NBJyZXhfcmV0dXJuX2J1Y2tldHMAAgd2ZXJzaW9uBXVpbnQ4DnJldHVybl9idWNrZXRzG3BhaXJfdGltZV9wb2ludF9zZWNfaW50NjRbXQ9yZXhfcmV0dXJuX3Bvb2wABwd2ZXJzaW9uBXVpbnQ4Dmxhc3RfZGlzdF90aW1lDnRpbWVfcG9pbnRfc2VjE3BlbmRpbmdfYnVja2V0X3RpbWUOdGltZV9wb2ludF9zZWMSb2xkZXN0X2J1Y2tldF90aW1lDnRpbWVfcG9pbnRfc2VjF3BlbmRpbmdfYnVja2V0X3Byb2NlZWRzBWludDY0GGN1cnJlbnRfcmF0ZV9vZl9pbmNyZWFzZQVpbnQ2NAhwcm9jZWVkcwVpbnQ2NAdyZXhleGVjAAIEdXNlcgRuYW1lA21heAZ1aW50MTYLcm12cHJvZHVjZXIAAQhwcm9kdWNlcgRuYW1lDnNjaGVkdWxlc19pbmZvAAIKc3RhcnRfdGltZQ50aW1lX3BvaW50X3NlYw9jb250aW51b3VzX3JhdGUHZmxvYXQ2NAdzZWxscmFtAAIHYWNjb3VudARuYW1lBWJ5dGVzBWludDY0B3NlbGxyZXgAAgRmcm9tBG5hbWUDcmV4BWFzc2V0BnNldGFiaQADB2FjY291bnQEbmFtZQNhYmkFYnl0ZXMEbWVtbwdzdHJpbmckCnNldGFjY3RjcHUAAgdhY2NvdW50BG5hbWUKY3B1X3dlaWdodAZpbnQ2ND8Kc2V0YWNjdG5ldAACB2FjY291bnQEbmFtZQpuZXRfd2VpZ2h0BmludDY0PwpzZXRhY2N0cmFtAAIHYWNjb3VudARuYW1lCXJhbV9ieXRlcwZpbnQ2ND8Kc2V0YWxpbWl0cwAEB2FjY291bnQEbmFtZQlyYW1fYnl0ZXMFaW50NjQKbmV0X3dlaWdodAVpbnQ2NApjcHVfd2VpZ2h0BWludDY0B3NldGNvZGUABQdhY2NvdW50BG5hbWUGdm10eXBlBXVpbnQ4CXZtdmVyc2lvbgV1aW50OARjb2RlBWJ5dGVzBG1lbW8Hc3RyaW5nJAxzZXRpbmZsYXRpb24AAwthbm51YWxfcmF0ZQVpbnQ2NBRpbmZsYXRpb25fcGF5X2ZhY3RvcgVpbnQ2NA52b3RlcGF5X2ZhY3RvcgVpbnQ2NAlzZXRwYXJhbXMAAQZwYXJhbXMXYmxvY2tjaGFpbl9wYXJhbWV0ZXJzX3QMc2V0cGF5ZmFjdG9yAAIUaW5mbGF0aW9uX3BheV9mYWN0b3IFaW50NjQOdm90ZXBheV9mYWN0b3IFaW50NjQHc2V0cHJpdgACB2FjY291bnQEbmFtZQdpc19wcml2BXVpbnQ4BnNldHJhbQABDG1heF9yYW1fc2l6ZQZ1aW50NjQKc2V0cmFtcmF0ZQABD2J5dGVzX3Blcl9ibG9jawZ1aW50MTYGc2V0cmV4AAEHYmFsYW5jZQVhc3NldAxzZXRyZXhtYXR1cmUAAxdudW1fb2ZfbWF0dXJpdHlfYnVja2V0cwd1aW50MzI/EHNlbGxfbWF0dXJlZF9yZXgFYm9vbD8SYnV5X3JleF90b19zYXZpbmdzBWJvb2w/C3NldHNjaGVkdWxlAAIKc3RhcnRfdGltZQ50aW1lX3BvaW50X3NlYw9jb250aW51b3VzX3JhdGUHZmxvYXQ2NAxzd2l0Y2h0b3N2bm4AAAx1bmRlbGVnYXRlYncABARmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZRR1bnN0YWtlX25ldF9xdWFudGl0eQVhc3NldBR1bnN0YWtlX2NwdV9xdWFudGl0eQVhc3NldAt1bmRlbnluYW1lcwABCHBhdHRlcm5zBm5hbWVbXQl1bmdpZnRyYW0AAwRmcm9tBG5hbWUCdG8EbmFtZQRtZW1vBnN0cmluZwp1bmxpbmthdXRoAAQHYWNjb3VudARuYW1lBGNvZGUEbmFtZQR0eXBlBG5hbWUNYXV0aG9yaXplZF9ieQVuYW1lJAl1bnJlZ3Byb2QAAQhwcm9kdWNlcgRuYW1lDHVuc3Rha2V0b3JleAAEBW93bmVyBG5hbWUIcmVjZWl2ZXIEbmFtZQhmcm9tX25ldAVhc3NldAhmcm9tX2NwdQVhc3NldAZ1bnZlc3QAAwdhY2NvdW50BG5hbWUTdW52ZXN0X25ldF9xdWFudGl0eQVhc3NldBN1bnZlc3RfY3B1X3F1YW50aXR5BWFzc2V0CnVwZGF0ZWF1dGgABQdhY2NvdW50BG5hbWUKcGVybWlzc2lvbgRuYW1lBnBhcmVudARuYW1lBGF1dGgJYXV0aG9yaXR5DWF1dGhvcml6ZWRfYnkFbmFtZSQJdXBkYXRlcmV4AAEFb3duZXIEbmFtZQx1cGR0cmV2aXNpb24AAQhyZXZpc2lvbgV1aW50OA51c2VyX3Jlc291cmNlcwAEBW93bmVyBG5hbWUKbmV0X3dlaWdodAVhc3NldApjcHVfd2VpZ2h0BWFzc2V0CXJhbV9ieXRlcwVpbnQ2NAx2b3RlcHJvZHVjZXIAAwV2b3RlcgRuYW1lBXByb3h5BG5hbWUJcHJvZHVjZXJzBm5hbWVbXQp2b3Rlcl9pbmZvAAoFb3duZXIEbmFtZQVwcm94eQRuYW1lCXByb2R1Y2VycwZuYW1lW10Gc3Rha2VkBWludDY0EGxhc3Rfdm90ZV93ZWlnaHQHZmxvYXQ2NBNwcm94aWVkX3ZvdGVfd2VpZ2h0B2Zsb2F0NjQIaXNfcHJveHkEYm9vbAZmbGFnczEGdWludDMyCXJlc2VydmVkMgZ1aW50MzIJcmVzZXJ2ZWQzBWFzc2V0CnZvdGV1cGRhdGUAAQp2b3Rlcl9uYW1lBG5hbWULd2FpdF93ZWlnaHQAAgh3YWl0X3NlYwZ1aW50MzIGd2VpZ2h0BnVpbnQxNgd3YXNtY2ZnAAEIc2V0dGluZ3MEbmFtZQh3aXRoZHJhdwACBW93bmVyBG5hbWUGYW1vdW50BWFzc2V0CmRlbHBlZXJrZXkAAhdwcm9wb3Nlcl9maW5hbGl6ZXJfbmFtZQRuYW1lA2tleQpwdWJsaWNfa2V5C2dldHBlZXJrZXlzAAAIcGVlcl9rZXkAAgdhY2NvdW50BG5hbWUEZGF0YQ92YXJpYW50X3YwX2RhdGEKcGVlcmtleXNfdAACDXByb2R1Y2VyX25hbWUEbmFtZQhwZWVyX2tleQtwdWJsaWNfa2V5PwpyZWdwZWVya2V5AAIXcHJvcG9zZXJfZmluYWxpemVyX25hbWUEbmFtZQNrZXkKcHVibGljX2tleQd2MF9kYXRhAAEGcHVia2V5C3B1YmxpY19rZXk/EWxpbWl0X2F1dGhfY2hhbmdlAAQHdmVyc2lvbgV1aW50OAdhY2NvdW50BG5hbWULYWxsb3dfcGVybXMGbmFtZVtdDmRpc2FsbG93X3Blcm1zBm5hbWVbXVsAAPAKTrcyMglhY3RmaW5rZXkAAAAAKpvtMjIIYWN0aXZhdGWIAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEFjdGl2YXRlIFByb3RvY29sIEZlYXR1cmUKc3VtbWFyeTogJ0FjdGl2YXRlIHByb3RvY29sIGZlYXR1cmUge3tub3dyYXAgZmVhdHVyZV9kaWdlc3R9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBhY3RpdmF0ZXMgdGhlIHByb3RvY29sIGZlYXR1cmUgd2l0aCBhIGRpZ2VzdCBvZiB7e2ZlYXR1cmVfZGlnZXN0fX0uAAAAQEkzkzsHYmlkbmFtZakOLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQmlkIE9uIGEgUHJlbWl1bSBBY2NvdW50IE5hbWUKc3VtbWFyeTogJ3t7bm93cmFwIGJpZGRlcn19IGJpZHMgb24gdGhlIHByZW1pdW0gYWNjb3VudCBuYW1lIHt7bm93cmFwIG5ld25hbWV9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgp7e2JpZGRlcn19IGJpZHMge3tiaWR9fSBvbiBhbiBhdWN0aW9uIHRvIG93biB0aGUgcHJlbWl1bSBhY2NvdW50IG5hbWUge3tuZXduYW1lfX0uCgp7e2JpZGRlcn19IHRyYW5zZmVycyB7e2JpZH19IHRvIHRoZSBzeXN0ZW0gdG8gY292ZXIgdGhlIGNvc3Qgb2YgdGhlIGJpZCwgd2hpY2ggd2lsbCBiZSByZXR1cm5lZCB0byB7e2JpZGRlcn19IG9ubHkgaWYge3tiaWRkZXJ9fSBpcyBsYXRlciBvdXRiaWQgaW4gdGhlIGF1Y3Rpb24gZm9yIHt7bmV3bmFtZX19IGJ5IGFub3RoZXIgYWNjb3VudC4KCklmIHRoZSBhdWN0aW9uIGZvciB7e25ld25hbWV9fSBjbG9zZXMgd2l0aCB7e2JpZGRlcn19IHJlbWFpbmluZyBhcyB0aGUgaGlnaGVzdCBiaWRkZXIsIHt7YmlkZGVyfX0gd2lsbCBiZSBhdXRob3JpemVkIHRvIGNyZWF0ZSB0aGUgYWNjb3VudCB3aXRoIG5hbWUge3tuZXduYW1lfX0uCgojIyBCaWQgcmVmdW5kIGJlaGF2aW9yCgpJZiB7e2JpZGRlcn194oCZcyBiaWQgb24ge3tuZXduYW1lfX0gaXMgbGF0ZXIgb3V0YmlkIGJ5IGFub3RoZXIgYWNjb3VudCwge3tiaWRkZXJ9fSB3aWxsIGJlIGFibGUgdG8gY2xhaW0gYmFjayB0aGUgdHJhbnNmZXJyZWQgYW1vdW50IG9mIHt7YmlkfX0uIFRoZSBzeXN0ZW0gd2lsbCBhdHRlbXB0IHRvIGF1dG9tYXRpY2FsbHkgZG8gdGhpcyBvbiBiZWhhbGYgb2Yge3tiaWRkZXJ9fSwgYnV0IHRoZSBhdXRvbWF0aWMgcmVmdW5kIG1heSBvY2Nhc2lvbmFsbHkgZmFpbCB3aGljaCB3aWxsIHRoZW4gcmVxdWlyZSB7e2JpZGRlcn19IHRvIG1hbnVhbGx5IGNsYWltIHRoZSByZWZ1bmQgd2l0aCB0aGUgYmlkcmVmdW5kIGFjdGlvbi4KCiMjIEF1Y3Rpb24gY2xvc2UgY3JpdGVyaWEKClRoZSBzeXN0ZW0gc2hvdWxkIGF1dG9tYXRpY2FsbHkgY2xvc2UgdGhlIGF1Y3Rpb24gZm9yIHt7bmV3bmFtZX19IGlmIGl0IHNhdGlzZmllcyB0aGUgY29uZGl0aW9uIHRoYXQgb3ZlciBhIHBlcmlvZCBvZiB0d28gbWludXRlcyB0aGUgZm9sbG93aW5nIHR3byBwcm9wZXJ0aWVzIGNvbnRpbnVvdXNseSBob2xkOgoKLSBubyBvbmUgaGFzIGJpZCBvbiB7e25ld25hbWV9fSB3aXRoaW4gdGhlIGxhc3QgMjQgaG91cnM7Ci0gYW5kLCB0aGUgdmFsdWUgb2YgdGhlIGxhdGVzdCBiaWQgb24ge3tuZXduYW1lfX0gaXMgZ3JlYXRlciB0aGFuIHRoZSB2YWx1ZSBvZiB0aGUgYmlkcyBvbiBlYWNoIG9mIHRoZSBvdGhlciBvcGVuIGF1Y3Rpb25zLgoKQmUgYXdhcmUgdGhhdCB0aGUgY29uZGl0aW9uIHRvIGNsb3NlIHRoZSBhdWN0aW9uIGRlc2NyaWJlZCBhYm92ZSBhcmUgc3VmZmljaWVudCBidXQgbm90IG5lY2Vzc2FyeS4gVGhlIGF1Y3Rpb24gZm9yIHt7bmV3bmFtZX19IGNhbm5vdCBjbG9zZSB1bmxlc3MgYm90aCBvZiB0aGUgcHJvcGVydGllcyBhcmUgc2ltdWx0YW5lb3VzbHkgc2F0aXNmaWVkLCBidXQgaXQgbWF5IGJlIGNsb3NlZCB3aXRob3V0IHJlcXVpcmluZyB0aGUgcHJvcGVydGllcyB0byBob2xkIGZvciBhIHBlcmlvZCBvZiAyIG1pbnV0ZXMuAABIUy91kzsJYmlkcmVmdW5k9AItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGFpbSBSZWZ1bmQgb24gTmFtZSBCaWQKc3VtbWFyeTogJ0NsYWltIHJlZnVuZCBvbiB7e25vd3JhcCBuZXduYW1lfX0gYmlkJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCnt7YmlkZGVyfX0gY2xhaW1zIHJlZnVuZCBvbiB7e25ld25hbWV9fSBiaWQgYWZ0ZXIgYmVpbmcgb3V0YmlkIGJ5IHNvbWVvbmUgZWxzZS4AAAAASHO9PgZidXlyYW36Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEJ1eSBSQU0Kc3VtbWFyeTogJ3t7bm93cmFwIHBheWVyfX0gYnV5cyBSQU0gb24gYmVoYWxmIG9mIHt7bm93cmFwIHJlY2VpdmVyfX0gYnkgcGF5aW5nIHt7bm93cmFwIHF1YW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KCnt7cGF5ZXJ9fSBidXlzIFJBTSBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGJ5IHBheWluZyB7e3F1YW50fX0uIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG91dCBvZiB7e3F1YW50fX0gYW5kIHRoZSBhbW91bnQgb2YgUkFNIGRlbGl2ZXJlZCB3aWxsIGRlcGVuZCBvbiBtYXJrZXQgcmF0ZXMuAMC8+khzvT4KYnV5cmFtYnVybsADLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQnV5IGFuZCBCdXJuIFJBTQpzdW1tYXJ5OiAnQnV5IGFuZCBpbW1lZGlhdGVseSBCdXJuIHt7cXVhbnRpdHl9fSBvZiBSQU0gZnJvbSB7e25vd3JhcCBwYXllcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpCdXkgYW5kIEJ1cm4ge3txdWFudGl0eX19IG9mIFJBTSBmcm9tIGFjY291bnQge3twYXllcn19LgoKe3sjaWYgbWVtb319VGhlcmUgaXMgYSBtZW1vIGF0dGFjaGVkIHRvIHRoZSBhY3Rpb24gc3RhdGluZzoKe3ttZW1vfX0Ke3svaWZ9fQCwyv5Ic70+C2J1eXJhbWJ5dGVzgQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNCnN1bW1hcnk6ICd7e25vd3JhcCBwYXllcn19IGJ1eXMge3tub3dyYXAgYnl0ZXN9fSBieXRlcyBvZiBSQU0gb24gYmVoYWxmIG9mIHt7bm93cmFwIHJlY2VpdmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KCnt7cGF5ZXJ9fSBidXlzIGFwcHJveGltYXRlbHkge3tieXRlc319IGJ5dGVzIG9mIFJBTSBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGJ5IHBheWluZyBtYXJrZXQgcmF0ZXMgZm9yIFJBTS4gVGhpcyB0cmFuc2FjdGlvbiB3aWxsIGluY3VyIGEgMC41JSBmZWUgYW5kIHRoZSBjb3N0IHdpbGwgZGVwZW5kIG9uIG1hcmtldCByYXRlcy4AwIoKS3O9PgpidXlyYW1zZWxm2AMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNIHNlbGYKc3VtbWFyeTogJ3t7bm93cmFwIGFjY291bnR9fSBidXlzIFJBTSB0byBzZWxmIGJ5IHBheWluZyB7e25vd3JhcCBxdWFudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7e2FjY291bnR9fSBidXlzIFJBTSB0byBzZWxmIGJ5IHBheWluZyB7e3F1YW50fX0uIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG91dCBvZiB7e3F1YW50fX0gYW5kIHRoZSBhbW91bnQgb2YgUkFNIGRlbGl2ZXJlZCB3aWxsIGRlcGVuZCBvbiBtYXJrZXQgcmF0ZXMuAAAAAHR1vT4GYnV5cmV41wYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkVYIFRva2VucwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IGJ1eXMgUkVYIHRva2VucyBpbiBleGNoYW5nZSBmb3Ige3tub3dyYXAgYW1vdW50fX0gYW5kIHRoZWlyIHZvdGUgc3Rha2UgaW5jcmVhc2VzIGJ5IHt7bm93cmFwIGFtb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3thbW91bnR9fSBpcyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kIGFuZCB1c2VkIHRvIHB1cmNoYXNlIFJFWCB0b2tlbnMgYXQgdGhlIGN1cnJlbnQgbWFya2V0IGV4Y2hhbmdlIHJhdGUuIEluIG9yZGVyIGZvciB0aGUgYWN0aW9uIHRvIHN1Y2NlZWQsIHt7ZnJvbX19IG11c3QgaGF2ZSB2b3RlZCBmb3IgYSBwcm94eSBvciBhdCBsZWFzdCAyMSBibG9jayBwcm9kdWNlcnMuIHt7YW1vdW50fX0gaXMgYWRkZWQgdG8ge3tmcm9tfX3igJlzIHZvdGUgc3Rha2UuCgpBIHNlbGwgb3JkZXIgb2YgdGhlIHB1cmNoYXNlZCBhbW91bnQgY2FuIG9ubHkgYmUgaW5pdGlhdGVkIGFmdGVyIHdhaXRpbmcgZm9yIHRoZSBtYXR1cml0eSBwZXJpb2Qgb2YgNCB0byA1IGRheXMgdG8gcGFzcy4gRXZlbiB0aGVuLCBkZXBlbmRpbmcgb24gdGhlIG1hcmtldCBjb25kaXRpb25zLCB0aGUgaW5pdGlhdGVkIHNlbGwgb3JkZXIgbWF5IG5vdCBiZSBleGVjdXRlZCBpbW1lZGlhdGVseS4AvIkqRYWmQQtjYW5jZWxkZWxheYoDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ2FuY2VsIERlbGF5ZWQgVHJhbnNhY3Rpb24Kc3VtbWFyeTogJ3t7bm93cmFwIGNhbmNlbGluZ19hdXRoLmFjdG9yfX0gY2FuY2VscyBhIGRlbGF5ZWQgdHJhbnNhY3Rpb24nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKe3tjYW5jZWxpbmdfYXV0aC5hY3Rvcn19IGNhbmNlbHMgdGhlIGRlbGF5ZWQgdHJhbnNhY3Rpb24gd2l0aCBpZCB7e3RyeF9pZH19LgBA1VdxWtlCCmNmZ3Bvd2VydXAAgNM1XF3pTEQMY2xhaW1yZXdhcmRz5wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGFpbSBCbG9jayBQcm9kdWNlciBSZXdhcmRzCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGNsYWltcyBibG9jayBhbmQgdm90ZSByZXdhcmRzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7e293bmVyfX0gY2xhaW1zIGJsb2NrIGFuZCB2b3RlIHJld2FyZHMgZnJvbSB0aGUgc3lzdGVtLgAAAF1dhWlECGNsb3NlcmV4lAQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGVhbnVwIFVudXNlZCBSRVggRGF0YQpzdW1tYXJ5OiAnRGVsZXRlIFJFWCByZWxhdGVkIERCIGVudHJpZXMgYW5kIGZyZWUgYXNzb2NpYXRlZCBSQU0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpEZWxldGUgUkVYIHJlbGF0ZWQgREIgZW50cmllcyBhbmQgZnJlZSBhc3NvY2lhdGVkIFJBTSBmb3Ige3tvd25lcn19LgoKVG8gZnVsbHkgZGVsZXRlIGFsbCBSRVggcmVsYXRlZCBEQiBlbnRyaWVzLCB7e293bmVyfX0gbXVzdCBlbnN1cmUgdGhhdCB0aGVpciBSRVggYmFsYW5jZSBhbmQgUkVYIGZ1bmQgYW1vdW50cyBhcmUgYm90aCB6ZXJvIGFuZCB0aGV5IGhhdmUgbm8gb3V0c3RhbmRpbmcgbG9hbnMucFW6tKsb0UQMY25jbHJleG9yZGVy6wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDYW5jZWwgU2NoZWR1bGVkIFJFWCBTZWxsIE9yZGVyCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGNhbmNlbHMgYSBzY2hlZHVsZWQgc2VsbCBvcmRlciBpZiBub3QgeWV0IGZpbGxlZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7b3duZXJ9fSBjYW5jZWxzIHRoZWlyIG9wZW4gc2VsbCBvcmRlci4AVDbJRYonRQtjb25zb2xpZGF0ZaYDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ29uc29saWRhdGUgUkVYIE1hdHVyaXR5IEJ1Y2tldHMgSW50byBPbmUKc3VtbWFyeTogJ0NvbnNvbGlkYXRlIFJFWCBtYXR1cml0eSBidWNrZXRzIGludG8gb25lJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKQ29uc29saWRhdGUgUkVYIG1hdHVyaXR5IGJ1Y2tldHMgaW50byBvbmUgYnVja2V0IHRoYXQge3tvd25lcn19IHdpbGwgbm90IGJlIGFibGUgdG8gc2VsbCB1bnRpbCA0IHRvIDUgZGF5cyBsYXRlci4AwDQ06oqWSgpkZWZjcHVsb2Fu3gMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBXaXRoZHJhdyBmcm9tIHRoZSBGdW5kIG9mIGEgU3BlY2lmaWMgQ1BVIExvYW4Kc3VtbWFyeTogJ3t7bm93cmFwIGZyb219fSB0cmFuc2ZlcnMge3tub3dyYXAgYW1vdW50fX0gZnJvbSB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tub3dyYXAgbG9hbl9udW19fSBiYWNrIHRvIFJFWCBmdW5kJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gdHJhbnNmZXJzIHt7YW1vdW50fX0gZnJvbSB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tsb2FuX251bX19IGJhY2sgdG8gUkVYIGZ1bmQuAMA0NGY1l0oKZGVmbmV0bG9hbt4DLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogV2l0aGRyYXcgZnJvbSB0aGUgRnVuZCBvZiBhIFNwZWNpZmljIE5FVCBMb2FuCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gdHJhbnNmZXJzIHt7bm93cmFwIGFtb3VudH19IGZyb20gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bm93cmFwIGxvYW5fbnVtfX0gYmFjayB0byBSRVggZnVuZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHRyYW5zZmVycyB7e2Ftb3VudH19IGZyb20gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bG9hbl9udW19fSBiYWNrIHRvIFJFWCBmdW5kLgAAPyobpqJKCmRlbGVnYXRlYnfzBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFN0YWtlIFRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUKc3VtbWFyeTogJ1N0YWtlIHRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUgYW5kIG9wdGlvbmFsbHkgdHJhbnNmZXIgb3duZXJzaGlwJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7eyNpZiB0cmFuc2Zlcn19IHt7ZnJvbX19IHN0YWtlcyBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IHt7c3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7c3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpTdGFrZWQgdG9rZW5zIHdpbGwgYWxzbyBiZSB0cmFuc2ZlcnJlZCB0byB7e3JlY2VpdmVyfX0uIFRoZSBzdW0gb2YgdGhlc2UgdHdvIHF1YW50aXRpZXMgd2lsbCBiZSBkZWR1Y3RlZCBmcm9tIHt7ZnJvbX194oCZcyBsaXF1aWQgYmFsYW5jZSBhbmQgYWRkIHRvIHRoZSB2b3RlIHdlaWdodCBvZiB7e3JlY2VpdmVyfX0uCnt7ZWxzZX19Cnt7ZnJvbX19IHN0YWtlcyB0byBzZWxmIGFuZCBkZWxlZ2F0ZXMgdG8ge3tyZWNlaXZlcn19IHt7c3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7c3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpUaGUgc3VtIG9mIHRoZXNlIHR3byBxdWFudGl0aWVzIGFkZCB0byB0aGUgdm90ZSB3ZWlnaHQgb2Yge3tmcm9tfX0uCnt7L2lmfX0AQMvaqKyiSgpkZWxldGVhdXRo9QItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZWxldGUgQWNjb3VudCBQZXJtaXNzaW9uCnN1bW1hcnk6ICdEZWxldGUgdGhlIHt7bm93cmFwIHBlcm1pc3Npb259fSBwZXJtaXNzaW9uIG9mIHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpEZWxldGUgdGhlIHt7cGVybWlzc2lvbn19IHBlcm1pc3Npb24gb2Yge3thY2NvdW50fX0uAADwCk63okoJZGVsZmlua2V5AABU1Ek1hKNKC2RlbHNjaGVkdWxl/AItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZWxldGUgQW5udWFsIFJhdGUgU2NoZWR1bGUKc3VtbWFyeTogJ0RlbGV0ZSBhbm51YWwgcmF0ZSBzY2hlZHVsZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSB0byBkZWxldGUgYSBwcmUtZGV0ZXJtaW5lZCBpbmZsYXRpb24gc2NoZWR1bGUgZnJvbSB7e3N0YXJ0X3RpbWV9fSBzdGFydCB0aW1lLgBSMg2b5qdKC2RlbnloYXNoYWRkAICiQQ2b5qdKDGRlbnloYXNoY2FsYwAAgLwNm+anSgpkZW55aGFzaHJtAAAAwEqa6adKCWRlbnluYW1lcwAAAAAgO0yrSgdkZXBvc2l0iAQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZXBvc2l0IEludG8gUkVYIEZ1bmQKc3VtbWFyeTogJ0FkZCB0byB7e25vd3JhcCBvd25lcn194oCZcyBSRVggZnVuZCBieSB0cmFuc2ZlcnJpbmcge3tub3dyYXAgYW1vdW50fX0gZnJvbSB7e25vd3JhcCBvd25lcn194oCZcyBsaXF1aWQgYmFsYW5jZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KClRyYW5zZmVyIHt7YW1vdW50fX0gZnJvbSB7e293bmVyfX3igJlzIGxpcXVpZCBiYWxhbmNlIHRvIHt7b3duZXJ9feKAmXMgUkVYIGZ1bmQuIEFsbCBwcm9jZWVkcyBhbmQgZXhwZW5zZXMgcmVsYXRlZCB0byBSRVggYXJlIGFkZGVkIHRvIG9yIHRha2VuIG91dCBvZiB0aGlzIGZ1bmQuALq6NKtsJk0LZG9uYXRldG9yZXilAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERvbmF0ZSBzeXN0ZW0gdG9rZW5zIHRvIFJFWApzdW1tYXJ5OiAne3tub3dyYXAgcGF5ZXJ9fSBkb25hdGVzIHt7bm93cmFwIHF1YW50aXR5fX0gdG9rZW5zIHRvIFJFWCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7cXVhbnRpdHl9fSBpcyB0YWtlbiBvdXQgb2Yge3twYXllcn194oCZcyB0b2tlbiBiYWxhbmNlIGFuZCBnaXZlbiB0byBSRVggd2l0aCB0aGUgaW5jbHVkZWQgbWVtbzogInt7bWVtb319Ii6gok6qIYxUVwxleGVjc2NoZWR1bGXtAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEV4ZWN1dGUgTmV4dCBBbm51YWwgUmF0ZSBTY2hlZHVsZQpzdW1tYXJ5OiAnRXhlY3V0ZSBuZXh0IGFubnVhbCByYXRlIHNjaGVkdWxlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHRvIGV4ZWN1dGUgdGhlIG5leHQgdXBjb21pbmcgYW5udWFsIHJhdGUgc2NoZWR1bGUuAKahUVeUpl4LZnVuZGNwdWxvYW78Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERlcG9zaXQgaW50byB0aGUgRnVuZCBvZiBhIFNwZWNpZmljIENQVSBMb2FuCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gZnVuZHMgYSBDUFUgbG9hbicKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHRyYW5zZmVycyB7e3BheW1lbnR9fSBmcm9tIFJFWCBmdW5kIHRvIHRoZSBmdW5kIG9mIENQVSBsb2FuIG51bWJlciB7e2xvYW5fbnVtfX0gaW4gb3JkZXIgdG8gYmUgdXNlZCBpbiBsb2FuIHJlbmV3YWwgYXQgZXhwaXJ5LiB7e2Zyb219fSBjYW4gd2l0aGRyYXcgdGhlIHRvdGFsIGJhbGFuY2Ugb2YgdGhlIGxvYW4gZnVuZCBhdCBhbnkgdGltZS4ApqExq5mmXgtmdW5kbmV0bG9hbvwDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRGVwb3NpdCBpbnRvIHRoZSBGdW5kIG9mIGEgU3BlY2lmaWMgTkVUIExvYW4Kc3VtbWFyeTogJ3t7bm93cmFwIGZyb219fSBmdW5kcyBhIE5FVCBsb2FuJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gdHJhbnNmZXJzIHt7cGF5bWVudH19IGZyb20gUkVYIGZ1bmQgdG8gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bG9hbl9udW19fSBpbiBvcmRlciB0byBiZSB1c2VkIGluIGxvYW4gcmVuZXdhbCBhdCBleHBpcnkuIHt7ZnJvbX19IGNhbiB3aXRoZHJhdyB0aGUgdG90YWwgYmFsYW5jZSBvZiB0aGUgbG9hbiBmdW5kIGF0IGFueSB0aW1lLgAAAECam5djB2dpZnRyYW0AAAAAAACQ3XQEaW5pdOMCLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogSW5pdGlhbGl6ZSBTeXN0ZW0gQ29udHJhY3QKc3VtbWFyeTogJ0luaXRpYWxpemUgc3lzdGVtIGNvbnRyYWN0JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgpJbml0aWFsaXplIHN5c3RlbSBjb250cmFjdC4gVGhlIGNvcmUgdG9rZW4gc3ltYm9sIHdpbGwgYmUgc2V0IHRvIHt7Y29yZX19LsAaalmb7KSLDGxpbWl0YXV0aGNoZwAAAAAtawOniwhsaW5rYXV0aJ0FLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogTGluayBBY3Rpb24gdG8gUGVybWlzc2lvbgpzdW1tYXJ5OiAne3tub3dyYXAgYWNjb3VudH19IHNldHMgdGhlIG1pbmltdW0gcmVxdWlyZWQgcGVybWlzc2lvbiBmb3IgdGhlIHt7I2lmIHR5cGV9fXt7bm93cmFwIHR5cGV9fSBhY3Rpb24gb2YgdGhle3svaWZ9fSB7e25vd3JhcCBjb2RlfX0gY29udHJhY3QgdG8ge3tub3dyYXAgcmVxdWlyZW1lbnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgp7e2FjY291bnR9fSBzZXRzIHRoZSBtaW5pbXVtIHJlcXVpcmVkIHBlcm1pc3Npb24gZm9yIHRoZSB7eyNpZiB0eXBlfX17e3R5cGV9fSBhY3Rpb24gb2YgdGhle3svaWZ9fSB7e2NvZGV9fSBjb250cmFjdCB0byB7e3JlcXVpcmVtZW50fX0uCgp7eyNpZiB0eXBlfX17e2Vsc2V9fUFueSBsaW5rcyBleHBsaWNpdGx5IGFzc29jaWF0ZWQgdG8gc3BlY2lmaWMgYWN0aW9ucyBvZiB7e2NvZGV9fSB3aWxsIHRha2UgcHJlY2VkZW5jZS57ey9pZn19AACQ5np9GI0JbG9nYnV5cmFtAKDYNA1JcxmNDGxvZ3JhbWNoYW5nZQAAgDQ3RoUZjQpsb2dzZWxscmFtAKDUkipjjxmNDGxvZ3N5c3RlbWZlZQAAMJtuG3zXlgttdmZyc2F2aW5nc5wDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVW5sb2NrIFJFWCBUb2tlbnMKc3VtbWFyeTogJ3t7bm93cmFwIG93bmVyfX0gdW5sb2NrcyBSRVggVG9rZW5zJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tvd25lcn19IHVubG9ja3Mge3tyZXh9fSBieSBtb3ZpbmcgaXQgb3V0IG9mIHRoZSBSRVggc2F2aW5ncyBidWNrZXQuIFRoZSB1bmxvY2tlZCBSRVggdG9rZW5zIGNhbm5vdCBiZSBzb2xkIHVudGlsIDQgdG8gNSBkYXlzIGxhdGVyLgAwm24bTPOWC212dG9zYXZpbmdzugMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBMb2NrIFJFWCBUb2tlbnMKc3VtbWFyeTogJ3t7bm93cmFwIG93bmVyfX0gbG9ja3MgUkVYIFRva2VucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7b3duZXJ9fSBsb2NrcyB7e3JleH19IGJ5IG1vdmluZyBpdCBpbnRvIHRoZSBSRVggc2F2aW5ncyBidWNrZXQuIFRoZSBsb2NrZWQgUkVYIHRva2VucyBjYW5ub3QgYmUgc29sZCBkaXJlY3RseSBhbmQgd2lsbCBoYXZlIHRvIGJlIHVubG9ja2VkIGV4cGxpY2l0bHkgYmVmb3JlIHNlbGxpbmcuAECemiJkuJoKbmV3YWNjb3VudIAELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ3JlYXRlIE5ldyBBY2NvdW50CnN1bW1hcnk6ICd7e25vd3JhcCBjcmVhdG9yfX0gY3JlYXRlcyBhIG5ldyBhY2NvdW50IHdpdGggdGhlIG5hbWUge3tub3dyYXAgbmFtZX19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCnt7Y3JlYXRvcn19IGNyZWF0ZXMgYSBuZXcgYWNjb3VudCB3aXRoIHRoZSBuYW1lIHt7bmFtZX19IGFuZCB0aGUgZm9sbG93aW5nIHBlcm1pc3Npb25zOgoKb3duZXIgcGVybWlzc2lvbiB3aXRoIGF1dGhvcml0eToKe3t0b19qc29uIG93bmVyfX0KCmFjdGl2ZSBwZXJtaXNzaW9uIHdpdGggYXV0aG9yaXR5Ogp7e3RvX2pzb24gYWN0aXZlfX0AAAAAIhrPpAdvbmJsb2NrAAAAAODSe9WkB29uZXJyb3IAAAAAoOqrOK0HcG93ZXJ1cNQCLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUG93ZXJ1cCByZXNvdXJjZXMKc3VtbWFyeTogJ1VzZXIgbWF5IHBvd2VydXAgdG8gcmVzZXJ2ZSByZXNvdXJjZXMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KClVzZXJzIG1heSB1c2UgdGhlIHBvd2VydXAgYWN0aW9uIHRvIHJlc2VydmUgcmVzb3VyY2VzLgCQ6qrqqzitC3Bvd2VydXBleGVjAAAAAGBefaS5B3JhbWJ1cm6oAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEJ1cm4gUkFNIGZyb20gQWNjb3VudApzdW1tYXJ5OiAnQnVybiB1bnVzZWQgUkFNIGZyb20ge3tub3dyYXAgb3duZXJ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Jlc291cmNlLnBuZyMzODMwZjFjZThjYjA3Zjc3NTdkYmNmMzgzYjFlYzFiMTE5MTRhYzM0YTFmOWQ4YjA2NWYwNzYwMGZhOWRhYzE5Ci0tLQoKQnVybiB7e2J5dGVzfX0gYnl0ZXMgb2YgdW51c2VkIFJBTSBmcm9tIGFjY291bnQge3tvd25lcn19LgoKe3sjaWYgbWVtb319VGhlcmUgaXMgYSBtZW1vIGF0dGFjaGVkIHRvIHRoZSBidXJuIHN0YXRpbmc6Cnt7bWVtb319Cnt7L2lmfX0Arlp4mpuluQtyYW10cmFuc2ZlctkDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVHJhbnNmZXIgUkFNIGZyb20gQWNjb3VudApzdW1tYXJ5OiAnVHJhbnNmZXIgdW51c2VkIFJBTSBmcm9tIHt7bm93cmFwIGZyb219fSB0byB7e25vd3JhcCB0b319JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpUcmFuc2ZlciB7e2J5dGVzfX0gYnl0ZXMgb2YgdW51c2VkIFJBTSBmcm9tIGFjY291bnQge3tmcm9tfX0gdG8gYWNjb3VudCB7e3RvfX0uCgp7eyNpZiBtZW1vfX1UaGVyZSBpcyBhIG1lbW8gYXR0YWNoZWQgdG8gdGhlIHRyYW5zZmVyIHN0YXRpbmc6Cnt7bWVtb319Cnt7L2lmfX0AAAAApKmXugZyZWZ1bmSHAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IENsYWltIFVuc3Rha2VkIFRva2VucwpzdW1tYXJ5OiAnUmV0dXJuIHByZXZpb3VzbHkgdW5zdGFrZWQgdG9rZW5zIHRvIHt7bm93cmFwIG93bmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKUmV0dXJuIHByZXZpb3VzbHkgdW5zdGFrZWQgdG9rZW5zIHRvIHt7b3duZXJ9fSBhZnRlciB0aGUgdW5zdGFraW5nIHBlcmlvZCBoYXMgZWxhcHNlZC4AAPAKTreYuglyZWdmaW5rZXkAAK5COtFbmboLcmVncHJvZHVjZXKZBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlZ2lzdGVyIGFzIGEgQmxvY2sgUHJvZHVjZXIgQ2FuZGlkYXRlCnN1bW1hcnk6ICdSZWdpc3RlciB7e25vd3JhcCBwcm9kdWNlcn19IGFjY291bnQgYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy92b3RpbmcucG5nI2RiMjhjZDNkYjZlNjJkNDUwOWFmMzY0NGNlN2QzNzczMjk0ODJhMTRiYjRiZmFjYTJhYTVmMTQwMGQ4ZThhODQKLS0tCgpSZWdpc3RlciB7e3Byb2R1Y2VyfX0gYWNjb3VudCBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4KClVSTDoge3t1cmx9fQpMb2NhdGlvbiBjb2RlOiB7e2xvY2F0aW9ufX0KQmxvY2sgc2lnbmluZyBrZXk6IHt7cHJvZHVjZXJfa2V5fX0KCiMjIEJsb2NrIFByb2R1Y2VyIEFncmVlbWVudAp7eyRjbGF1c2VzLkJsb2NrUHJvZHVjZXJBZ3JlZW1lbnR9fSCuQjrRW5m6DHJlZ3Byb2R1Y2VyMq0ELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUmVnaXN0ZXIgYXMgYSBCbG9jayBQcm9kdWNlciBDYW5kaWRhdGUKc3VtbWFyeTogJ1JlZ2lzdGVyIHt7bm93cmFwIHByb2R1Y2VyfX0gYWNjb3VudCBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3ZvdGluZy5wbmcjZGIyOGNkM2RiNmU2MmQ0NTA5YWYzNjQ0Y2U3ZDM3NzMyOTQ4MmExNGJiNGJmYWNhMmFhNWYxNDAwZDhlOGE4NAotLS0KClJlZ2lzdGVyIHt7cHJvZHVjZXJ9fSBhY2NvdW50IGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlLgoKVVJMOiB7e3VybH19CkxvY2F0aW9uIGNvZGU6IHt7bG9jYXRpb259fQpCbG9jayBzaWduaW5nIGF1dGhvcml0eToKe3t0b19qc29uIHByb2R1Y2VyX2F1dGhvcml0eX19CgojIyBCbG9jayBQcm9kdWNlciBBZ3JlZW1lbnQKe3skY2xhdXNlcy5CbG9ja1Byb2R1Y2VyQWdyZWVtZW50fX0AAAC+01uZughyZWdwcm94eaMELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUmVnaXN0ZXIvdW5yZWdpc3RlciBhcyBhIFByb3h5CnN1bW1hcnk6ICdSZWdpc3Rlci91bnJlZ2lzdGVyIHt7bm93cmFwIHByb3h5fX0gYXMgYSBwcm94eSBhY2NvdW50JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvdm90aW5nLnBuZyNkYjI4Y2QzZGI2ZTYyZDQ1MDlhZjM2NDRjZTdkMzc3MzI5NDgyYTE0YmI0YmZhY2EyYWE1ZjE0MDBkOGU4YTg0Ci0tLQoKe3sjaWYgaXNwcm94eX19Cnt7cHJveHl9fSByZWdpc3RlcnMgYXMgYSBwcm94eSB0aGF0IGNhbiB2b3RlIG9uIGJlaGFsZiBvZiBhY2NvdW50cyB0aGF0IGFwcG9pbnQgaXQgYXMgdGhlaXIgcHJveHkuCnt7ZWxzZX19Cnt7cHJveHl9fSB1bnJlZ2lzdGVycyBhcyBhIHByb3h5IHRoYXQgY2FuIHZvdGUgb24gYmVoYWxmIG9mIGFjY291bnRzIHRoYXQgYXBwb2ludCBpdCBhcyB0aGVpciBwcm94eS4Ke3svaWZ9fQAAAEBXlKe6B3JlbnRjcHXcCS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlbnQgQ1BVIEJhbmR3aWR0aCBmb3IgMzAgRGF5cwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IHBheXMge3tub3dyYXAgbG9hbl9wYXltZW50fX0gdG8gcmVudCBDUFUgYmFuZHdpZHRoIGZvciB7e25vd3JhcCByZWNlaXZlcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gcGF5cyB7e2xvYW5fcGF5bWVudH19IHRvIHJlbnQgQ1BVIGJhbmR3aWR0aCBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGZvciBhIHBlcmlvZCBvZiAzMCBkYXlzLgoKe3tsb2FuX3BheW1lbnR9fSBpcyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kLiBUaGUgbWFya2V0IHByaWNlIGRldGVybWluZXMgdGhlIG51bWJlciBvZiB0b2tlbnMgdG8gYmUgc3Rha2VkIHRvIHt7cmVjZWl2ZXJ9feKAmXMgQ1BVIHJlc291cmNlcy4gSW4gYWRkaXRpb24sIHt7ZnJvbX19IHByb3ZpZGVzIHt7bG9hbl9mdW5kfX0sIHdoaWNoIGlzIGFsc28gdGFrZW4gb3V0IG9mIHt7ZnJvbX194oCZcyBSRVggZnVuZCwgdG8gYmUgdXNlZCBmb3IgYXV0b21hdGljIHJlbmV3YWwgb2YgdGhlIGxvYW4uCgpBdCBleHBpcmF0aW9uLCBpZiB0aGUgbG9hbiBoYXMgbGVzcyBmdW5kcyB0aGFuIHt7bG9hbl9wYXltZW50fX0sIGl0IGlzIGNsb3NlZCBhbmQgbGVudCB0b2tlbnMgdGhhdCBoYXZlIGJlZW4gc3Rha2VkIGFyZSB0YWtlbiBvdXQgb2Yge3tyZWNlaXZlcn194oCZcyBDUFUgYmFuZHdpZHRoLiBPdGhlcndpc2UsIGl0IGlzIHJlbmV3ZWQgYXQgdGhlIG1hcmtldCBwcmljZSBhdCB0aGUgdGltZSBvZiByZW5ld2FsLCB0aGF0IGlzLCB0aGUgbnVtYmVyIG9mIHN0YWtlZCB0b2tlbnMgaXMgcmVjYWxjdWxhdGVkIGFuZCB7e3JlY2VpdmVyfX3igJlzIENQVSBiYW5kd2lkdGggaXMgdXBkYXRlZCBhY2NvcmRpbmdseS4ge3tmcm9tfX0gY2FuIGZ1bmQgb3IgZGVmdW5kIGEgbG9hbiBhdCBhbnkgdGltZSBiZWZvcmUgZXhwaXJhdGlvbi4gV2hlbiB0aGUgbG9hbiBpcyBjbG9zZWQsIHt7ZnJvbX19IGlzIHJlZnVuZGVkIGFueSB0b2tlbnMgcmVtYWluaW5nIGluIHRoZSBsb2FuIGZ1bmQuAAAAIKuZp7oHcmVudG5ldOgJLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUmVudCBORVQgQmFuZHdpZHRoIGZvciAzMCBEYXlzCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gcGF5cyB7e25vd3JhcCBsb2FuX3BheW1lbnR9fSB0byByZW50IE5FVCBiYW5kd2lkdGggZm9yIHt7bm93cmFwIHJlY2VpdmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e2Zyb219fSBwYXlzIHt7bG9hbl9wYXltZW50fX0gdG8gcmVudCBORVQgYmFuZHdpZHRoIG9uIGJlaGFsZiBvZiB7e3JlY2VpdmVyfX0gZm9yIGEgcGVyaW9kIG9mIDMwIGRheXMuCgp7e2xvYW5fcGF5bWVudH19IGlzIHRha2VuIG91dCBvZiB7e2Zyb219feKAmXMgUkVYIGZ1bmQuIFRoZSBtYXJrZXQgcHJpY2UgZGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIHRva2VucyB0byBiZSBzdGFrZWQgdG8ge3tyZWNlaXZlcn194oCZcyBORVQgcmVzb3VyY2VzIGZvciAzMCBkYXlzLiBJbiBhZGRpdGlvbiwge3tmcm9tfX0gcHJvdmlkZXMge3tsb2FuX2Z1bmR9fSwgd2hpY2ggaXMgYWxzbyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kLCB0byBiZSB1c2VkIGZvciBhdXRvbWF0aWMgcmVuZXdhbCBvZiB0aGUgbG9hbi4KCkF0IGV4cGlyYXRpb24sIGlmIHRoZSBsb2FuIGhhcyBsZXNzIGZ1bmRzIHRoYW4ge3tsb2FuX3BheW1lbnR9fSwgaXQgaXMgY2xvc2VkIGFuZCBsZW50IHRva2VucyB0aGF0IGhhdmUgYmVlbiBzdGFrZWQgYXJlIHRha2VuIG91dCBvZiB7e3JlY2VpdmVyfX3igJlzIE5FVCBiYW5kd2lkdGguIE90aGVyd2lzZSwgaXQgaXMgcmVuZXdlZCBhdCB0aGUgbWFya2V0IHByaWNlIGF0IHRoZSB0aW1lIG9mIHJlbmV3YWwsIHRoYXQgaXMsIHRoZSBudW1iZXIgb2Ygc3Rha2VkIHRva2VucyBpcyByZWNhbGN1bGF0ZWQgYW5kIHt7cmVjZWl2ZXJ9feKAmXMgTkVUIGJhbmR3aWR0aCBpcyB1cGRhdGVkIGFjY29yZGluZ2x5LiB7e2Zyb219fSBjYW4gZnVuZCBvciBkZWZ1bmQgYSBsb2FuIGF0IGFueSB0aW1lIGJlZm9yZSBleHBpcmF0aW9uLiBXaGVuIHRoZSBsb2FuIGlzIGNsb3NlZCwge3tmcm9tfX0gaXMgcmVmdW5kZWQgYW55IHRva2VucyByZW1haW5pbmcgaW4gdGhlIGxvYW4gZnVuZC4AAAAAqa66ugdyZXhleGVjogMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBQZXJmb3JtIFJFWCBNYWludGVuYW5jZQpzdW1tYXJ5OiAnUHJvY2VzcyBzZWxsIG9yZGVycyBhbmQgZXhwaXJlZCBsb2FucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KClBlcmZvcm1zIFJFWCBtYWludGVuYW5jZSBieSBwcm9jZXNzaW5nIGEgbWF4aW11bSBvZiB7e21heH19IFJFWCBzZWxsIG9yZGVycyBhbmQgZXhwaXJlZCBsb2Fucy4gQW55IGFjY291bnQgY2FuIGV4ZWN1dGUgdGhpcyBhY3Rpb24uAK5COtFbt7wLcm12cHJvZHVjZXKCBS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEZvcmNpYmx5IFVucmVnaXN0ZXIgYSBCbG9jayBQcm9kdWNlciBDYW5kaWRhdGUKc3VtbWFyeTogJ3t7bm93cmFwIHByb2R1Y2VyfX0gaXMgdW5yZWdpc3RlcmVkIGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHVucmVnaXN0ZXJzIHt7cHJvZHVjZXJ9fSBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4ge3twcm9kdWNlcn19IGFjY291bnQgd2lsbCByZXRhaW4gaXRzIHZvdGVzIGFuZCB0aG9zZSB2b3RlcyBjYW4gY2hhbmdlIGJhc2VkIG9uIHZvdGVyIHN0YWtlIGNoYW5nZXMgb3Igdm90ZXMgcmVtb3ZlZCBmcm9tIHt7cHJvZHVjZXJ9fS4gSG93ZXZlciBuZXcgdm90ZXJzIHdpbGwgbm90IGJlIGFibGUgdG8gdm90ZSBmb3Ige3twcm9kdWNlcn19IHdoaWxlIGl0IHJlbWFpbnMgdW5yZWdpc3RlcmVkLgAAAECaG6PCB3NlbGxyYW3FAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNlbGwgUkFNIEZyb20gQWNjb3VudApzdW1tYXJ5OiAnU2VsbCB1bnVzZWQgUkFNIGZyb20ge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpTZWxsIHt7Ynl0ZXN9fSBieXRlcyBvZiB1bnVzZWQgUkFNIGZyb20gYWNjb3VudCB7e2FjY291bnR9fSBhdCBtYXJrZXQgcHJpY2UuIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG9uIHRoZSBwcm9jZWVkcyB3aGljaCBkZXBlbmQgb24gbWFya2V0IHJhdGVzLgAAAKCrG6PCB3NlbGxyZXjsCi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNlbGwgUkVYIFRva2VucyBpbiBFeGNoYW5nZSBmb3IgRU9TCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gc2VsbHMge3tub3dyYXAgcmV4fX0gdG9rZW5zJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKVGhlICdyZXgnIHBhcmFtZXRlciBubyBsb25nZXIgaGFzIGFuIGVmZmVjdC4KCnt7ZnJvbX19IGluaXRpYXRlcyBhIHNlbGwgb3JkZXIgdG8gc2VsbCBhbGwgb2YgdGhlaXIgbWF0dXJlZCBSRVggdG9rZW5zIGF0IHRoZSBtYXJrZXQgZXhjaGFuZ2UgcmF0ZSBkdXJpbmcgdGhlIHRpbWUgYXQgd2hpY2ggdGhlIG9yZGVyIGlzIHVsdGltYXRlbHkgZXhlY3V0ZWQuIApJZiB7e2Zyb219fSBhbHJlYWR5IGhhcyBhbiBvcGVuIHNlbGwgb3JkZXIgaW4gdGhlIHNlbGwgcXVldWUsIHt7cmV4fX0gd2lsbCBiZSBhZGRlZCB0byB0aGUgYW1vdW50IG9mIHRoZSBzZWxsIG9yZGVyIHdpdGhvdXQgY2hhbmdlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc2VsbCBvcmRlciB3aXRoaW4gdGhlIHF1ZXVlLiAKT25jZSB0aGUgc2VsbCBvcmRlciBpcyBleGVjdXRlZCwgcHJvY2VlZHMgYXJlIGFkZGVkIHRvIHt7ZnJvbX194oCZcyBSRVggZnVuZCwgdGhlIHZhbHVlIG9mIHNvbGQgUkVYIHRva2VucyBpcyBkZWR1Y3RlZCBmcm9tIHt7ZnJvbX194oCZcyB2b3RlIHN0YWtlLCBhbmQgdm90ZXMgYXJlIHVwZGF0ZWQgYWNjb3JkaW5nbHkuCgpEZXBlbmRpbmcgb24gdGhlIG1hcmtldCBjb25kaXRpb25zLCBpdCBtYXkgbm90IGJlIHBvc3NpYmxlIHRvIGZpbGwgdGhlIGVudGlyZSBzZWxsIG9yZGVyIGltbWVkaWF0ZWx5LiBJbiBzdWNoIGEgY2FzZSwgdGhlIHNlbGwgb3JkZXIgaXMgYWRkZWQgdG8gdGhlIGJhY2sgb2YgYSBzZWxsIHF1ZXVlLiAKQSBzZWxsIG9yZGVyIGF0IHRoZSBmcm9udCBvZiB0aGUgc2VsbCBxdWV1ZSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgZXhlY3V0ZWQgd2hlbiB0aGUgbWFya2V0IGNvbmRpdGlvbnMgYWxsb3cgZm9yIHRoZSBlbnRpcmUgb3JkZXIgdG8gYmUgZmlsbGVkLiBSZWdhcmRsZXNzIG9mIHRoZSBtYXJrZXQgY29uZGl0aW9ucywgCnRoZSBzeXN0ZW0gaXMgZGVzaWduZWQgdG8gZXhlY3V0ZSB0aGlzIHNlbGwgb3JkZXIgd2l0aGluIDMwIGRheXMuIHt7ZnJvbX19IGNhbiBjYW5jZWwgdGhlIG9yZGVyIGF0IGFueSB0aW1lIGJlZm9yZSBpdCBpcyBmaWxsZWQgdXNpbmcgdGhlIGNuY2xyZXhvcmRlciBhY3Rpb24uAAAAALhjssIGc2V0YWJp8wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZXBsb3kgQ29udHJhY3QgQUJJCnN1bW1hcnk6ICdEZXBsb3kgY29udHJhY3QgQUJJIG9uIGFjY291bnQge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCkRlcGxveSB0aGUgQUJJIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb250cmFjdCBvbiBhY2NvdW50IHt7YWNjb3VudH19LgCArigjZLLCCnNldGFjY3RjcHWeBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEV4cGxpY2l0bHkgTWFuYWdlIHRoZSBDUFUgUXVvdGEgb2YgQWNjb3VudApzdW1tYXJ5OiAnRXhwbGljaXRseSBtYW5hZ2UgdGhlIENQVSBiYW5kd2lkdGggcXVvdGEgb2YgYWNjb3VudCB7e25vd3JhcCBhY2NvdW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7I2lmX2hhc192YWx1ZSBjcHVfd2VpZ2h0fX0KRXhwbGljaXRseSBtYW5hZ2UgdGhlIENQVSBiYW5kd2lkdGggcXVvdGEgb2YgYWNjb3VudCB7e2FjY291bnR9fSBieSBwaW5uaW5nIGl0IHRvIGEgd2VpZ2h0IG9mIHt7Y3B1X3dlaWdodH19LgoKe3thY2NvdW50fX0gY2FuIHN0YWtlIGFuZCB1bnN0YWtlLCBob3dldmVyLCBpdCB3aWxsIG5vdCBjaGFuZ2UgdGhlaXIgQ1BVIGJhbmR3aWR0aCBxdW90YSBhcyBsb25nIGFzIGl0IHJlbWFpbnMgcGlubmVkLgp7e2Vsc2V9fQpVbnBpbiB0aGUgQ1BVIGJhbmR3aWR0aCBxdW90YSBvZiBhY2NvdW50IHt7YWNjb3VudH19LiBUaGUgQ1BVIGJhbmR3aWR0aCBxdW90YSBvZiB7e2FjY291bnR9fSB3aWxsIGJlIGRyaXZlbiBieSB0aGUgY3VycmVudCB0b2tlbnMgc3Rha2VkIGZvciBDUFUgYmFuZHdpZHRoIGJ5IHt7YWNjb3VudH19Lgp7ey9pZl9oYXNfdmFsdWV9fQBAVjMjZLLCCnNldGFjY3RuZXSiBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEV4cGxpY2l0bHkgTWFuYWdlIHRoZSBORVQgUXVvdGEgb2YgQWNjb3VudApzdW1tYXJ5OiAnRXhwbGljaXRseSBtYW5hZ2UgdGhlIE5FVCBiYW5kd2lkdGggcXVvdGEgb2YgYWNjb3VudCB7e25vd3JhcCBhY2NvdW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7I2lmX2hhc192YWx1ZSBuZXRfd2VpZ2h0fX0KRXhwbGljaXRseSBtYW5hZ2UgdGhlIG5ldHdvcmsgYmFuZHdpZHRoIHF1b3RhIG9mIGFjY291bnQge3thY2NvdW50fX0gYnkgcGlubmluZyBpdCB0byBhIHdlaWdodCBvZiB7e25ldF93ZWlnaHR9fS4KCnt7YWNjb3VudH19IGNhbiBzdGFrZSBhbmQgdW5zdGFrZSwgaG93ZXZlciwgaXQgd2lsbCBub3QgY2hhbmdlIHRoZWlyIE5FVCBiYW5kd2lkdGggcXVvdGEgYXMgbG9uZyBhcyBpdCByZW1haW5zIHBpbm5lZC4Ke3tlbHNlfX0KVW5waW4gdGhlIE5FVCBiYW5kd2lkdGggcXVvdGEgb2YgYWNjb3VudCB7e2FjY291bnR9fS4gVGhlIE5FVCBiYW5kd2lkdGggcXVvdGEgb2Yge3thY2NvdW50fX0gd2lsbCBiZSBkcml2ZW4gYnkgdGhlIGN1cnJlbnQgdG9rZW5zIHN0YWtlZCBmb3IgTkVUIGJhbmR3aWR0aCBieSB7e2FjY291bnR9fS4Ke3svaWZfaGFzX3ZhbHVlfX0AgDQ3I2SywgpzZXRhY2N0cmFt0AUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBFeHBsaWNpdGx5IE1hbmFnZSB0aGUgUkFNIFF1b3RhIG9mIEFjY291bnQKc3VtbWFyeTogJ0V4cGxpY2l0bHkgbWFuYWdlIHRoZSBSQU0gcXVvdGEgb2YgYWNjb3VudCB7e25vd3JhcCBhY2NvdW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7I2lmX2hhc192YWx1ZSByYW1fYnl0ZXN9fQpFeHBsaWNpdGx5IG1hbmFnZSB0aGUgUkFNIHF1b3RhIG9mIGFjY291bnQge3thY2NvdW50fX0gYnkgcGlubmluZyBpdCB0byB7e3JhbV9ieXRlc319IGJ5dGVzLgoKe3thY2NvdW50fX0gY2FuIGJ1eSBhbmQgc2VsbCBSQU0sIGhvd2V2ZXIsIGl0IHdpbGwgbm90IGNoYW5nZSB0aGVpciBSQU0gcXVvdGEgYXMgbG9uZyBhcyBpdCByZW1haW5zIHBpbm5lZC4Ke3tlbHNlfX0KVW5waW4gdGhlIFJBTSBxdW90YSBvZiBhY2NvdW50IHt7YWNjb3VudH19LiBUaGUgUkFNIHF1b3RhIG9mIHt7YWNjb3VudH19IHdpbGwgYmUgZHJpdmVuIGJ5IHRoZSBjdXJyZW50IFJBTSBob2xkaW5ncyBvZiB7e2FjY291bnR9fS4Ke3svaWZfaGFzX3ZhbHVlfX0AAM5OumiywgpzZXRhbGltaXRz9gMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBBZGp1c3QgUmVzb3VyY2UgTGltaXRzIG9mIEFjY291bnQKc3VtbWFyeTogJ0FkanVzdCByZXNvdXJjZSBsaW1pdHMgb2YgYWNjb3VudCB7e25vd3JhcCBhY2NvdW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gdXBkYXRlcyB7e2FjY291bnR9feKAmXMgcmVzb3VyY2UgbGltaXRzIHRvIGhhdmUgYSBSQU0gcXVvdGEgb2Yge3tyYW1fYnl0ZXN9fSBieXRlcywgYSBORVQgYmFuZHdpZHRoIHF1b3RhIG9mIHt7bmV0X3dlaWdodH19IGFuZCBhIENQVSBiYW5kd2lkdGggcXVvdGEgb2Yge3tjcHVfd2VpZ2h0fX0uAAAAQCWKssIHc2V0Y29kZeYCLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRGVwbG95IENvbnRyYWN0IENvZGUKc3VtbWFyeTogJ0RlcGxveSBjb250cmFjdCBjb2RlIG9uIGFjY291bnQge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCkRlcGxveSBjb21waWxlZCBjb250cmFjdCBjb2RlIHRvIHRoZSBhY2NvdW50IHt7YWNjb3VudH19LjCpyyau6bLCDHNldGluZmxhdGlvbusELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogU2V0IEluZmxhdGlvbiBQYXJhbWV0ZXJzCnN1bW1hcnk6ICdTZXQgaW5mbGF0aW9uIHBhcmFtZXRlcnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gc2V0cyB0aGUgaW5mbGF0aW9uIHBhcmFtZXRlcnMgYXMgZm9sbG93czoKCiogQW5udWFsIGluZmxhdGlvbiByYXRlIChpbiB1bml0cyBvZiBhIGh1bmRyZWR0aCBvZiBhIHBlcmNlbnQpOiB7e2FubnVhbF9yYXRlfX0KKiBGcmFjdGlvbiBvZiBpbmZsYXRpb24gdXNlZCB0byByZXdhcmQgYmxvY2sgcHJvZHVjZXJzOiAxMDAwMC97e2luZmxhdGlvbl9wYXlfZmFjdG9yfX0KKiBGcmFjdGlvbiBvZiBibG9jayBwcm9kdWNlciByZXdhcmRzIHRvIGJlIGRpc3RyaWJ1dGVkIHByb3BvcnRpb25hbCB0byBibG9ja3MgcHJvZHVjZWQ6IDEwMDAwL3t7dm90ZXBheV9mYWN0b3J9fQAAwNJcU7PCCXNldHBhcmFtc9ACLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogU2V0IFN5c3RlbSBQYXJhbWV0ZXJzCnN1bW1hcnk6ICdTZXQgU3lzdGVtIFBhcmFtZXRlcnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gc2V0cyBzeXN0ZW0gcGFyYW1ldGVycyB0bzoKe3t0b19qc29uIHBhcmFtc319cGlGZnlTs8IMc2V0cGF5ZmFjdG9yiQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgUGF5IEZhY3RvcnMKc3VtbWFyeTogJ1NldCBwYXkgZmFjdG9ycycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBzZXRzIHRoZSBpbmZsYXRpb24gcGFyYW1ldGVycyBhcyBmb2xsb3dzOgoKKiBGcmFjdGlvbiBvZiBpbmZsYXRpb24gdXNlZCB0byByZXdhcmQgYmxvY2sgcHJvZHVjZXJzOiAxMDAwMC97e2luZmxhdGlvbl9wYXlfZmFjdG9yfX0KKiBGcmFjdGlvbiBvZiBibG9jayBwcm9kdWNlciByZXdhcmRzIHRvIGJlIGRpc3RyaWJ1dGVkIHByb3BvcnRpb25hbCB0byBibG9ja3MgcHJvZHVjZWQ6IDEwMDAwL3t7dm90ZXBheV9mYWN0b3J9fQAAAGC7W7PCB3NldHByaXaNBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IE1ha2UgYW4gQWNjb3VudCBQcml2aWxlZ2VkIG9yIFVucHJpdmlsZWdlZApzdW1tYXJ5OiAne3sjaWYgaXNfcHJpdn19TWFrZSB7e25vd3JhcCBhY2NvdW50fX0gcHJpdmlsZWdlZHt7ZWxzZX19UmVtb3ZlIHByaXZpbGVnZWQgc3RhdHVzIG9mIHt7bm93cmFwIGFjY291bnR9fXt7L2lmfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7I2lmIGlzX3ByaXZ9fQp7eyRhY3Rpb24uYWNjb3VudH19IG1ha2VzIHt7YWNjb3VudH19IHByaXZpbGVnZWQuCnt7ZWxzZX19Cnt7JGFjdGlvbi5hY2NvdW50fX0gcmVtb3ZlcyBwcml2aWxlZ2VkIHN0YXR1cyBvZiB7e2FjY291bnR9fS4Ke3svaWZ9fQAAAABIc7PCBnNldHJhbeYCLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ29uZmlndXJlIHRoZSBBdmFpbGFibGUgUkFNCnN1bW1hcnk6ICdDb25maWd1cmUgdGhlIGF2YWlsYWJsZSBSQU0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gY29uZmlndXJlcyB0aGUgYXZhaWxhYmxlIFJBTSB0byB7e21heF9yYW1fc2l6ZX19IGJ5dGVzLgCAyuZKc7PCCnNldHJhbXJhdGWFAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNldCB0aGUgUmF0ZSBvZiBJbmNyZWFzZSBvZiBSQU0Kc3VtbWFyeTogJ1NldCB0aGUgcmF0ZSBvZiBpbmNyZWFzZSBvZiBSQU0gcGVyIGJsb2NrJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHNldHMgdGhlIHJhdGUgb2YgaW5jcmVhc2Ugb2YgUkFNIHRvIHt7Ynl0ZXNfcGVyX2Jsb2NrfX0gYnl0ZXMvYmxvY2suAAAAAHR1s8IGc2V0cmV4twMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBBZGp1c3QgUkVYIFBvb2wgVmlydHVhbCBCYWxhbmNlCnN1bW1hcnk6ICdBZGp1c3QgUkVYIFBvb2wgVmlydHVhbCBCYWxhbmNlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IGFkanVzdHMgUkVYIGxvYW4gcmF0ZSBieSBzZXR0aW5nIFJFWCBwb29sIHZpcnR1YWwgYmFsYW5jZSB0byB7e2JhbGFuY2V9fS4gTm8gdG9rZW4gdHJhbnNmZXIgb3IgaXNzdWUgaXMgZXhlY3V0ZWQgaW4gdGhpcyBhY3Rpb24uoK7ORnZ1s8IMc2V0cmV4bWF0dXJliQUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgUkVYIE1hdHVyaXR5IFNldHRpbmdzCnN1bW1hcnk6ICdTZXRzIHRoZSBvcHRpb25zIGZvciBSRVggbWF0dXJpdHkgYnVja2V0cycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7I2lmIG51bV9vZl9tYXR1cml0eV9idWNrZXRzfX0KICBTZXRzIHRoZSBudW1iZXJzIG9mIG1hdHVyaXR5IGJ1Y2tldHMgdG8gJ3t7bnVtX29mX21hdHVyaXR5X2J1Y2tldHN9fScKe3svaWZ9fQoKe3sjaWYgc2VsbF9tYXR1cmVkX3JleH19CiAgU2V0cyB3aGV0aGVyIG9yIG5vdCB0byBpbW1lZGlhdGVseSBzZWxsIG1hdHVyZWQgUkVYIHRvICd7e3NlbGxfbWF0dXJlZF9yZXh9fScKe3svaWZ9fQoKe3sjaWYgYnV5X3JleF90b19zYXZpbmdzfX0KICBTZXRzIHdoZXRoZXIgb3Igbm90IHRvIGltbWVkaWF0ZWx5IG1vdmUgcHVyY2hhc2VkIFJFWCB0byBzYXZpbmdzIHRvICd7e2J1eV9yZXhfdG9fc2F2aW5nc319Jwp7ey9pZn19AFTUSTWEs8ILc2V0c2NoZWR1bGXaAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNldCBBbm51YWwgUmF0ZSBTY2hlZHVsZQpzdW1tYXJ5OiAnU2V0IGFubnVhbCByYXRlIHBhcmFtZXRlcnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gc2V0cyBhIHByZS1kZXRlcm1pbmVkIGluZmxhdGlvbiBzY2hlZHVsZSB0byBhZGp1c3QgcGFyYW1ldGVycyBhcyBmb2xsb3dzOgoKKiBTdGFydCB0aW1lIG9mIHRoZSBzY2hlZHVsZToge3tzdGFydF90aW1lfX0KKiBUaGUgY29udGludW91cyByYXRlIG9mIGluZmxhdGlvbjoge3tjb250aW51b3VzX3JhdGV9fTDnxjQ3lB3HDHN3aXRjaHRvc3ZubgDAj8qGqajS1Ax1bmRlbGVnYXRlYnehBy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVuc3Rha2UgVG9rZW5zIGZvciBORVQgYW5kL29yIENQVQpzdW1tYXJ5OiAnVW5zdGFrZSB0b2tlbnMgZm9yIE5FVCBhbmQvb3IgQ1BVIGZyb20ge3tub3dyYXAgcmVjZWl2ZXJ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Jlc291cmNlLnBuZyMzODMwZjFjZThjYjA3Zjc3NTdkYmNmMzgzYjFlYzFiMTE5MTRhYzM0YTFmOWQ4YjA2NWYwNzYwMGZhOWRhYzE5Ci0tLQoKe3tmcm9tfX0gdW5zdGFrZXMgZnJvbSB7e3JlY2VpdmVyfX0ge3t1bnN0YWtlX25ldF9xdWFudGl0eX19IGZvciBORVQgYmFuZHdpZHRoIGFuZCB7e3Vuc3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpUaGUgc3VtIG9mIHRoZXNlIHR3byBxdWFudGl0aWVzIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSB2b3RlIHdlaWdodCBvZiB7e3JlY2VpdmVyfX0gYW5kIHdpbGwgYmUgbWFkZSBhdmFpbGFibGUgdG8ge3tmcm9tfX0gYWZ0ZXIgYW4gdW5pbnRlcnJ1cHRlZCAzIGRheSBwZXJpb2Qgd2l0aG91dCBmdXJ0aGVyIHVuc3Rha2luZyBieSB7e2Zyb219fS4gQWZ0ZXIgdGhlIHVuaW50ZXJydXB0ZWQgMyBkYXkgcGVyaW9kIHBhc3NlcywgdGhlIHN5c3RlbSB3aWxsIGF0dGVtcHQgdG8gYXV0b21hdGljYWxseSByZXR1cm4gdGhlIGZ1bmRzIHRvIHt7ZnJvbX194oCZcyByZWd1bGFyIHRva2VuIGJhbGFuY2UuIEhvd2V2ZXIsIHRoaXMgYXV0b21hdGljIHJlZnVuZCBtYXkgb2NjYXNpb25hbGx5IGZhaWwgd2hpY2ggd2lsbCB0aGVuIHJlcXVpcmUge3tmcm9tfX0gdG8gbWFudWFsbHkgY2xhaW0gdGhlIGZ1bmRzIHdpdGggdGhlIHJlZnVuZCBhY3Rpb24uALCSZvqp0tQLdW5kZW55bmFtZXMAAACQ5ubl2NQJdW5naWZ0cmFtAABAy9rA6eLUCnVubGlua2F1dGiRBS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVubGluayBBY3Rpb24gZnJvbSBQZXJtaXNzaW9uCnN1bW1hcnk6ICd7e25vd3JhcCBhY2NvdW50fX0gdW5zZXRzIHRoZSBtaW5pbXVtIHJlcXVpcmVkIHBlcm1pc3Npb24gZm9yIHRoZSB7eyNpZiB0eXBlfX17e25vd3JhcCB0eXBlfX0gYWN0aW9uIG9mIHRoZXt7L2lmfX0ge3tub3dyYXAgY29kZX19IGNvbnRyYWN0JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCnt7YWNjb3VudH19IHJlbW92ZXMgdGhlIGFzc29jaWF0aW9uIGJldHdlZW4gdGhlIHt7I2lmIHR5cGV9fXt7dHlwZX19IGFjdGlvbiBvZiB0aGV7ey9pZn19IHt7Y29kZX19IGNvbnRyYWN0IGFuZCBpdHMgbWluaW11bSByZXF1aXJlZCBwZXJtaXNzaW9uLgoKe3sjaWYgdHlwZX19e3tlbHNlfX1UaGlzIHdpbGwgbm90IHJlbW92ZSBhbnkgbGlua3MgZXhwbGljaXRseSBhc3NvY2lhdGVkIHRvIHNwZWNpZmljIGFjdGlvbnMgb2Yge3tjb2RlfX0ue3svaWZ9fQAASPRWpu7UCXVucmVncHJvZOUELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVW5yZWdpc3RlciBhcyBhIEJsb2NrIFByb2R1Y2VyIENhbmRpZGF0ZQpzdW1tYXJ5OiAne3tub3dyYXAgcHJvZHVjZXJ9fSB1bnJlZ2lzdGVycyBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3ZvdGluZy5wbmcjZGIyOGNkM2RiNmU2MmQ0NTA5YWYzNjQ0Y2U3ZDM3NzMyOTQ4MmExNGJiNGJmYWNhMmFhNWYxNDAwZDhlOGE4NAotLS0KCnt7cHJvZHVjZXJ9fSB1bnJlZ2lzdGVycyBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4ge3twcm9kdWNlcn19IGFjY291bnQgd2lsbCByZXRhaW4gaXRzIHZvdGVzIGFuZCB0aG9zZSB2b3RlcyBjYW4gY2hhbmdlIGJhc2VkIG9uIHZvdGVyIHN0YWtlIGNoYW5nZXMgb3Igdm90ZXMgcmVtb3ZlZCBmcm9tIHt7cHJvZHVjZXJ9fS4gSG93ZXZlciBuZXcgdm90ZXJzIHdpbGwgbm90IGJlIGFibGUgdG8gdm90ZSBmb3Ige3twcm9kdWNlcn19IHdoaWxlIGl0IHJlbWFpbnMgdW5yZWdpc3RlcmVkLtDVpVlBk/HUDHVuc3Rha2V0b3JleOMGLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQnV5IFJFWCBUb2tlbnMgVXNpbmcgU3Rha2VkIFRva2VucwpzdW1tYXJ5OiAne3tub3dyYXAgb3duZXJ9fSBidXlzIFJFWCB0b2tlbnMgaW4gZXhjaGFuZ2UgZm9yIHRva2VucyBjdXJyZW50bHkgc3Rha2VkIHRvIE5FVCBhbmQvb3IgQ1BVJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tX25ldH19IGFuZCB7e2Zyb21fY3B1fX0gYXJlIHdpdGhkcmF3biBmcm9tIHt7cmVjZWl2ZXJ9feKAmXMgTkVUIGFuZCBDUFUgYmFuZHdpZHRocyByZXNwZWN0aXZlbHkuIFRoZXNlIGZ1bmRzIGFyZSB1c2VkIHRvIHB1cmNoYXNlIFJFWCB0b2tlbnMgYXQgdGhlIGN1cnJlbnQgbWFya2V0IGV4Y2hhbmdlIHJhdGUuIEluIG9yZGVyIGZvciB0aGUgYWN0aW9uIHRvIHN1Y2NlZWQsIHt7b3duZXJ9fSBtdXN0IGhhdmUgdm90ZWQgZm9yIGEgcHJveHkgb3IgYXQgbGVhc3QgMjEgYmxvY2sgcHJvZHVjZXJzLgoKQSBzZWxsIG9yZGVyIG9mIHRoZSBwdXJjaGFzZWQgYW1vdW50IGNhbiBvbmx5IGJlIGluaXRpYXRlZCBhZnRlciB3YWl0aW5nIGZvciB0aGUgbWF0dXJpdHkgcGVyaW9kIG9mIDQgdG8gNSBkYXlzIHRvIHBhc3MuIEV2ZW4gdGhlbiwgZGVwZW5kaW5nIG9uIHRoZSBtYXJrZXQgY29uZGl0aW9ucywgdGhlIGluaXRpYXRlZCBzZWxsIG9yZGVyIG1heSBub3QgYmUgZXhlY3V0ZWQgaW1tZWRpYXRlbHkuAAAAAGSs9tQGdW52ZXN0qQMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBVbnZlc3QgVG9rZW5zCnN1bW1hcnk6ICdSZWNsYWltIGFuZCByZXRpcmUgdW52ZXN0ZWQgdG9rZW5zJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgpSZWNsYWltIGFuZCByZXRpcmUge3skYWN0aW9uLnVudmVzdF9uZXRfcXVhbnRpdHl9fSBhbmQge3skYWN0aW9uLnVudmVzdF9jcHVfcXVhbnRpdHl9fSB3b3J0aCBvZiB1bnZlc3RlZCB0b2tlbnMgZnJvbSB0aGUgYWNjb3VudCB7eyRhY3Rpb24uYWNjb3VudH19LgBAy9qobFLVCnVwZGF0ZWF1dGjtAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IE1vZGlmeSBBY2NvdW50IFBlcm1pc3Npb24Kc3VtbWFyeTogJ0FkZCBvciB1cGRhdGUgdGhlIHt7bm93cmFwIHBlcm1pc3Npb259fSBwZXJtaXNzaW9uIG9mIHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpNb2RpZnksIGFuZCBjcmVhdGUgaWYgbmVjZXNzYXJ5LCB0aGUge3twZXJtaXNzaW9ufX0gcGVybWlzc2lvbiBvZiB7e2FjY291bnR9fSB0byBoYXZlIGEgcGFyZW50IHBlcm1pc3Npb24gb2Yge3twYXJlbnR9fSBhbmQgdGhlIGZvbGxvd2luZyBhdXRob3JpdHk6Cnt7dG9fanNvbiBhdXRofX0AAOjqqmxS1Ql1cGRhdGVyZXiBAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVwZGF0ZSBSRVggT3duZXIgVm90ZSBXZWlnaHQKc3VtbWFyeTogJ1VwZGF0ZSB2b3RlIHdlaWdodCB0byBjdXJyZW50IHZhbHVlIG9mIGhlbGQgUkVYIHRva2VucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KClVwZGF0ZSB2b3RlIHdlaWdodCBvZiB7e293bmVyfX0gYWNjb3VudCB0byBjdXJyZW50IHZhbHVlIG9mIGhlbGQgUkVYIHRva2Vucy4wqcNuq5tT1Qx1cGR0cmV2aXNpb26CAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVwZGF0ZSBTeXN0ZW0gQ29udHJhY3QgUmV2aXNpb24gTnVtYmVyCnN1bW1hcnk6ICdVcGRhdGUgc3lzdGVtIGNvbnRyYWN0IHJldmlzaW9uIG51bWJlcicKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBhZHZhbmNlcyB0aGUgc3lzdGVtIGNvbnRyYWN0IHJldmlzaW9uIG51bWJlciB0byB7e3JldmlzaW9ufX0ucBXSid6qMt0Mdm90ZXByb2R1Y2VyrQYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBWb3RlIGZvciBCbG9jayBQcm9kdWNlcnMKc3VtbWFyeTogJ3t7bm93cmFwIHZvdGVyfX0gdm90ZXMgZm9yIHt7I2lmIHByb3h5fX10aGUgcHJveHkge3tub3dyYXAgcHJveHl9fXt7ZWxzZX19dXAgdG8gMzAgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlc3t7L2lmfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy92b3RpbmcucG5nI2RiMjhjZDNkYjZlNjJkNDUwOWFmMzY0NGNlN2QzNzczMjk0ODJhMTRiYjRiZmFjYTJhYTVmMTQwMGQ4ZThhODQKLS0tCgp7eyNpZiBwcm94eX19Cnt7dm90ZXJ9fSB2b3RlcyBmb3IgdGhlIHByb3h5IHt7cHJveHl9fS4KQXQgdGhlIHRpbWUgb2Ygdm90aW5nIHRoZSBmdWxsIHdlaWdodCBvZiB2b3RlcuKAmXMgc3Rha2VkIChDUFUgKyBORVQpIHRva2VucyB3aWxsIGJlIGNhc3QgdG93YXJkcyBlYWNoIG9mIHRoZSBwcm9kdWNlcnMgdm90ZWQgYnkge3twcm94eX19Lgp7e2Vsc2V9fQp7e3ZvdGVyfX0gdm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlczoKCnt7I2VhY2ggcHJvZHVjZXJzfX0KICArIHt7dGhpc319Cnt7L2VhY2h9fQoKQXQgdGhlIHRpbWUgb2Ygdm90aW5nIHRoZSBmdWxsIHdlaWdodCBvZiB2b3RlcuKAmXMgc3Rha2VkIChDUFUgKyBORVQpIHRva2VucyB3aWxsIGJlIGNhc3QgdG93YXJkcyBlYWNoIG9mIHRoZSBhYm92ZSBwcm9kdWNlcnMuCnt7L2lmfX0AgMomVa0y3Qp2b3RldXBkYXRlAAAAAIAtJLHhB3dhc21jZmcAAAAA3NzUsuMId2l0aGRyYXfJAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFdpdGhkcmF3IGZyb20gUkVYIEZ1bmQKc3VtbWFyeTogJ1dpdGhkcmF3IHt7bm93cmFwIGFtb3VudH19IGZyb20ge3tub3dyYXAgb3duZXJ9feKAmXMgUkVYIGZ1bmQgYnkgdHJhbnNmZXJyaW5nIHRvIHt7b3duZXJ9feKAmXMgbGlxdWlkIGJhbGFuY2UnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpXaXRoZHJhd3Mge3thbW91bnR9fSBmcm9tIHt7b3duZXJ9feKAmXMgUkVYIGZ1bmQgYW5kIHRyYW5zZmVyIHRoZW0gdG8ge3tvd25lcn194oCZcyBsaXF1aWQgYmFsYW5jZS4AgFfwKlWjSgpkZWxwZWVya2V5AACwV/AqVbNiC2dldHBlZXJrZXlzAACAV/AqVZm6CnJlZ3BlZXJrZXkAJAAAAKBh09wxA2k2NAAACGFiaV9oYXNokLGLfqqUETIDaTY0AAAWYWNjb3VudF9uYW1lX2JsYWNrbGlzdAAATlMvdZM7A2k2NAAACmJpZF9yZWZ1bmQAAKBrOohoPANpNjQAABFibG9ja19pbmZvX3JlY29yZAAAAGAaGnVFA2k2NAAACHJleF9sb2FuAAAAIE1zokoDaTY0AAATZGVsZWdhdGVkX2JhbmR3aWR0aJCxiw2b5qdKA2k2NAAACWRlbnlfaGFzaAAAvuq7aKZbA2k2NAAADmZpbmFsaXplcl9pbmZvAKZiyXkFp1sDaTY0AAAZZmluX2tleV9pZF9nZW5lcmF0b3JfaW5mbwAAAAB7BadbA2k2NAAAEmZpbmFsaXplcl9rZXlfaW5mbwAAkOYmlZdjA2k2NAAACmdpZnRlZF9yYW0AAAAARHNoZANpNjQAABJlb3Npb19nbG9iYWxfc3RhdGUAAABARHNoZANpNjQAABNlb3Npb19nbG9iYWxfc3RhdGUyAAAAYERzaGQDaTY0AAATZW9zaW9fZ2xvYmFsX3N0YXRlMwAAAIBEc2hkA2k2NAAAE2Vvc2lvX2dsb2JhbF9zdGF0ZTSAp1uV3pqxiQNpNjQAABlsYXN0X3Byb3BfZmluYWxpemVyc19pbmZvAAAAOLmjpJkDaTY0AAAIbmFtZV9iaWQAAABgGhqzmgNpNjQAAAhyZXhfbG9hbgCuSpeCqjmtA2k2NAAADXBvd2VydXBfb3JkZXIAVDYZg6o5rQNpNjQAAA1wb3dlcnVwX3N0YXRlAADAVyGd6K0DaTY0AAANcHJvZHVjZXJfaW5mbwCAwFchneitA2k2NAAADnByb2R1Y2VyX2luZm8yAADICl4jpbkDaTY0AAAOZXhjaGFuZ2Vfc3RhdGUAAAAAp6mXugNpNjQAAA5yZWZ1bmRfcmVxdWVzdAAAzgoifbK6A2k2NAAAEnJleF9yZXR1cm5fYnVja2V0cwAAAABEc7q6A2k2NAAAC3JleF9iYWxhbmNlAAAAIE29uroDaTY0AAAIcmV4X2Z1bmQAfHZXZyO7ugNpNjQAAAxyZXhfbWF0dXJpdHkAAAAgUlq7ugNpNjQAAAhyZXhfcG9vbAAAAEorbbu6A2k2NAAACXJleF9vcmRlcgBApLRmdbu6A2k2NAAAD3JleF9yZXR1cm5fcG9vbAAAwCrqpBrCA2k2NAAADnNjaGVkdWxlc19pbmZvAAAAAKt7FdYDaTY0AAAOdXNlcl9yZXNvdXJjZXMAAAAA4Ksy3QNpNjQAAAp2b3Rlcl9pbmZvAAAA2Ct4laoDaTY0AAAIcGVlcl9rZXnAGmpZm+ykiwNpNjQAABFsaW1pdF9hdXRoX2NoYW5nZQINVXNlckFncmVlbWVudOx/IyBFT1MgVXNlciBBZ3JlZW1lbnQKCiMjIERlZmluaXRpb25zCgogQWxsIGNhcGl0YWxpemVkLCBpdGFsaWNpemVkLCBvciBpbmxpbmUgY29kZSB0ZXJtcyBpbiAqVGhlIEVPUyBVc2VyIEFncmVlbWVudCogd2lsbCBiZSBnaXZlbiB0aGUgc2FtZSBlZmZlY3QgYW5kIG1lYW5pbmcgYXMgaW4gKkRlZmluaXRpb25zKi4KCiogRU9TIFVzZXIgQWdyZWVtZW50OiBUaGlzIGRvY3VtZW50ICgqRVVBKikKCiogQ2hhaW4gSUQ6IGBjaGFpbl9pZGDigIot4oCKYWNhMzc2ZjIwNmI4ZmMyNWE2ZWQ0NGRiZGM2NjU0N2MzNmM2YzMzZTNhMTE5ZmZiZWFlZjk0MzY0MmYwZTkwNgoKKiBVc2VyOiBBbnkgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiBvZiBwZXJzb25zIHdobyBtYWludGFpbihzKSBkaXJlY3Qgb3IgaW5kaXJlY3Qgb3duZXJzaGlwIG9mIGFuIEVPUyBhY2NvdW50LCBvciBFT1MtYmFzZWQgcHJvcGVydHkgY29ubmVjdGVkIHRvIGFuIEVPUyBhY2NvdW50LgoKKiBPd25lcnNoaXA6IERpcmVjdCBvciBpbmRpcmVjdCBhY2Nlc3MgdG8gYW4gRU9TIGFjY291bnQgdGhyb3VnaCBvbmUgb3IgbW9yZSB2YWxpZCBwZXJtaXNzaW9ucyBjaGVja3MuIE93bmVyc2hpcCBtYXkgYmUgcGFydGlhbGx5IHNoYXJlZCBiZXR3ZWVuIFVzZXJzIHRocm91Z2ggdGhlIHVzZSBvZiBtdWx0aS1zaWduYXR1cmUgcGVybWlzc2lvbnMuCgoqIEJsb2NrIFByb2R1Y2VyOiBVc2VycyB3aG8gaGF2ZSBjYWxsZWQgYHJlZ3Byb2R1Y2VyYCBhbmQgcmVjZWl2ZSByZXdhcmRzIGZyb20gZW9zaW8udnBheS4KCiogYGVvc2lvLnByb2RzYDogQW4gRU9TIGFjY291bnQgd2l0aCBhIGR5bmFtaWMgcGVybWlzc2lvbnMgc3RydWN0dXJlIHRoYXQgY2FuIGFzc3VtZSB0aGUgcHJpdmlsZWdlcyBvZiB0aGUgYGVvc2lvYCBhY2NvdW50IHdoZW4gMTUvMjEgQmxvY2sgUHJvZHVjZXJzIGFncmVlIHRvIGRvIHNvLgoKKiBOZXR3b3JrIEZ1bmRzOiBUb2tlbnMgY29udGFpbmVkIHdpdGhpbiB0aGUgZm9sbG93aW5nIGFjY291bnRzOiBgZW9zaW8ubmFtZXNgLCBgZW9zaW8ucmFtZmVlYCwgYGVvc2lvLnNhdmluZ2AuCgoqIEdvdmVybmluZyBEb2N1bWVudHM6ICpyZWdwcm9kdWNlciogaXMgY29uc2lkZXJlZCBhIGdvdmVybmluZyBkb2N1bWVudC4KCiogT24tQ2hhaW46IEFueSB0cmFuc2FjdGlvbiwgc21hcnQgY29udHJhY3QsIG9yIFJpY2FyZGlhbiBjb250cmFjdCB3aGljaCBpcyBsb2NhdGVkIHdpdGhpbiBhIGJsb2NrIHRoYXQgaXMgaXJyZXZlcnNpYmxlIGFuZCBhcHBlbmRlZCB0byB0aGUgRU9TIGJsb2NrY2hhaW4gYGNoYWluX2lkYC4KCiogRU9TLWJhc2VkIFByb3BlcnR5OiBBbnl0aGluZyB0aGF0IHJlcXVpcmVzIGEgdmFsaWQgcGVybWlzc2lvbiBpbiBvcmRlciB0byBkaXJlY3RseSBtYW5pcHVsYXRlLCBhbHRlciwgdHJhbnNmZXIsIGluZmx1ZW5jZSwgb3Igb3RoZXJ3aXNlIGVmZmVjdCBvbiB0aGUgRU9TIEJsb2NrY2hhaW4KCiogQ2FsbDogVG8gc3VibWl0IGFuIGFjdGlvbiB0byB0aGUgRU9TIEJsb2NrY2hhaW4gYGNoYWluX2lkYC4KCiogQXV0aG9yaXphdGlvbnMgJiBQZXJtaXNzaW9uczogUGVybWlzc2lvbnMgYXJlIGFyYml0cmFyeSBuYW1lcyB1c2VkIHRvIGRlZmluZSB0aGUgcmVxdWlyZW1lbnRzIGZvciBhIHRyYW5zYWN0aW9uIHNlbnQgb24gYmVoYWxmIG9mIHRoYXQgcGVybWlzc2lvbi4gUGVybWlzc2lvbnMgY2FuIGJlIGFzc2lnbmVkIGZvciBhdXRob3JpdHkgb3ZlciBzcGVjaWZpYyBjb250cmFjdCBhY3Rpb25zLgoKKiBSaWNhcmRpYW4gQ29udHJhY3Q6IEEgY29udHJhY3QgdGhhdCBwbGFjZXMgdGhlIGRlZmluaW5nIGVsZW1lbnRzIG9mIGEgbGVnYWwgYWdyZWVtZW50IGluIGEgZm9ybWF0IHRoYXQgY2FuIGJlIGV4cHJlc3NlZCBhbmQgZXhlY3V0ZWQgaW4gc29mdHdhcmUuCgojIyBBcnRpY2xlIEkgLeKAiiBVc2VyIEFja25vd2xlZGdlbWVudCBvZiBSaXNrcwpJZiBVc2VyIGxvc2VzIGFjY2VzcyB0byB0aGVpciBFT1MgYWNjb3VudCBvbiBgY2hhaW5faWRgIGFuZCBoYXMgbm90IHRha2VuIGFwcHJvcHJpYXRlIG1lYXN1cmVzIHRvIHNlY3VyZSBhY2Nlc3MgdG8gdGhlaXIgRU9TIGFjY291bnQgYnkgb3RoZXIgbWVhbnMsIHRoZSBVc2VyIGFja25vd2xlZGdlcyBhbmQgYWdyZWVzIHRoYXQgdGhhdCBFT1MgYWNjb3VudCB3aWxsIGJlY29tZSBpbmFjY2Vzc2libGUuIFVzZXJzIGFja25vd2xlZGdlIHRoYXQgdGhlIFVzZXIgaGFzIGFuIGFkZXF1YXRlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHJpc2tzLCB1c2FnZSBhbmQgaW50cmljYWNpZXMgb2YgY3J5cHRvZ3JhcGhpYyB0b2tlbnMgYW5kIGJsb2NrY2hhaW4tYmFzZWQgc29mdHdhcmUuIFRoZSBVc2VyIGFja25vd2xlZGdlcyBhbmQgYWdyZWVzIHRoYXQgdGhlIFVzZXIgaXMgdXNpbmcgdGhlIEVPUyBibG9ja2NoYWluIGF0IHRoZWlyIHNvbGUgcmlzay4KCiMjIEFydGljbGUgSUnigIot4oCKU3BlY2lhbCBVc2VyIFR5cGVzClVzZXJzIHdobyBjYWxsIGByZWdwcm9kdWNlcmAgYWdyZWUgdG8sIGFuZCBhcmUgYm91bmQgYnksIHRoZSAqcmVncHJvZHVjZXIqIFJpY2FyZGlhbiBDb250cmFjdC4KCiMjIEFydGljbGUgSUlJ4oCKLeKAikNvbnNlbnQgb2YgdGhlIEVVQQpUaGUgbmF0dXJlIG9mIHRoZSAqRU9TIFVzZXIgQWdyZWVtZW50KiBpcyBzdWNoIHRoYXQgaXQgc2VydmVzIGFzIGEgZGVzY3JpcHRpb24gb2YgdGhlIGN1cnJlbnQgRU9TIE1haW5uZXQgZ292ZXJuYW5jZSBmdW5jdGlvbnMgdGhhdCBhcmUgaW4gcGxhY2UuIFRoZXNlIGZ1bmN0aW9ucywgZW5mb3JjZWQgYnkgY29kZSwgZG8gbm90IHJlcXVpcmUgdGhlIGNvbnNlbnQgb2YgVXNlcnMgYXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBpbmhlcmVudCBhbmQgc3lzdGVtaWMgdG8gdGhlIEVPUyBNYWlubmV0IGl0c2VsZi4KCiMjIEFydGljbGUgSVbigIot4oCKR292ZXJuaW5nIERvY3VtZW50cwpBbnkgbW9kaWZpY2F0aW9ucyB0byB0aGUgKkVVQSogYW5kICpnb3Zlcm5pbmcgZG9jdW1lbnRzKiBtYXkgYmUgbWFkZSBieSBgZW9zaW8ucHJvZHNgLiBJdCBpcyBhZG1vbmlzaGVkIHRoYXQgYSBzdGF0ZW1lbnQgYmUgY3JhZnRlZCBhbmQgaXNzdWVkIHRocm91Z2ggYGVvc2lvLnByb2RzYCB2aWEgZW9zaW8uZm9ydW0gcmVmZXJlbmR1bSBjb250cmFjdCBkZXNjcmliaW5nIHN1Y2ggYSBtb2RpZmljYXRpb24gaW4gYWR2YW5jZS4KCiMjIEFydGljbGUgVuKAii3igIpOYXRpdmUgVW5pdCBvZiBWYWx1ZQpUaGUgbmF0aXZlIHVuaXQgb2YgdmFsdWUgb24gRU9TIGNoYWluX2lkIHNoYWxsIGJlIHRoZSBFT1MgdG9rZW4gYXMgZGVmaW5lZCBhbmQgY3JlYXRlZCBieSB0aGUgYGVvc2lvLnRva2VuYCBzbWFydCBjb250cmFjdC4KCiMjIEFydGljbGUgVknigIot4oCKTWFpbnRhaW5pbmcgdGhlIEVPUyBibG9ja2NoYWluCmBlb3Npby5wcm9kc2Agd2lsbCBtYWludGFpbiB0aGUgYWN0aXZlIGJsb2NrY2hhaW4gY29kZWJhc2Ugd2hpY2ggaW5jbHVkZXMsIGJ1dCBpcyBub3QgbGltaXRlZCB0bywgdGhlIGltcGxlbWVudGF0aW9uIG9mIGFsbCBtb2RpZmljYXRpb25zIG9mIGFsbCBmZWF0dXJlcywgb3B0aW1pemF0aW9ucywgYW5kIHVwZ3JhZGVzOiBwcmVzZW50IGFuZCBmdXR1cmUuCgojIyBBcnRpY2xlIFZJSeKAii3igIpOZXR3b3JrIEZ1bmRzCkl0IGlzIGFkbW9uaXNoZWQgdGhhdCBhbnkgYWx0ZXJpbmcgb2YgdGhlIHN0YXRlIG9mIGFueSB0b2tlbnMgY29udGFpbmVkIHdpdGhpbiBuZXR3b3JrIGZ1bmQgYWNjb3VudHMsIG9yIGFsdGVyaW5nIGFueSBwcmUtZXhpc3RpbmcgY29kZSB0aGF0IGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgZ292ZXJucyB0aGUgYWxsb2NhdGlvbiwgZnVsZmlsbG1lbnQsIG9yIGRpc3RyaWJ1dGlvbiBvZiBhbnkgKm5ldHdvcmsgZnVuZHMqIGJlIHByZWNlZGVkIGJ5IGEgc3RhdGVtZW50IGNyYWZ0ZWQgYW5kIGlzc3VlZCBieSBgZW9zaW8ucHJvZHNgIHRvIHRoZSAqZW9zaW8uZm9ydW0qIHJlZmVyZW5kdW0gc3lzdGVtIGNvbnRyYWN0IGRlc2NyaWJpbmcgdGhlIGVmZmVjdCBpbiBhZHZhbmNlLgoKIyMgQXJ0aWNsZSBWSUlJ4oCKLeKAikZyZWVkb20gb2YgQWNjb3VudCBDcmVhdGlvbgpBbnkgY3VycmVudCBvciBmdXR1cmUgVXNlciBpcyBhYmxlIHRvIGNyZWF0ZSBhbiBFT1MgQWNjb3VudCB3aXRob3V0IHRoZSBwZXJtaXNzaW9uIGJ5IGFueSBvdGhlciBVc2VyLiBgZW9zaW8ucHJvZHNgIG1heSBuZXZlciBhZmZlY3QgYW4gRU9TIFVzZXIgQWNjb3VudChzKSB3aXRob3V0IHZhbGlkIHBlcm1pc3Npb24ocykgd2hpY2ggaGF2ZSBiZWVuIHNoYXJlZCB3aXRoIGBlb3Npby5wcm9kc2AgYnkgYW4gRU9TIGFjY291bnQuIGBlb3Npby5wcm9kc2AgbWF5IGNoYXJnZSBhIGZlZSBmb3IgYW55IGFjdGlvbnMgdGhhdCBhcmUgcmVxdWVzdGVkIGJ5IG90aGVyIFVzZXJzIHBlcnRhaW5pbmcgdG8gYW4gRU9TIGFjY291bnQgd2hlcmUgcGVybWlzc2lvbnMgYXJlIHNoYXJlZC4KCiMjIEFydGljbGUgSVjigIot4oCKTm8gRmlkdWNpYXJ5Ck5vIFVzZXIgc2hhbGwgaGF2ZSBhIGZpZHVjaWFyeSBwdXJwb3NlIHRvIHN1cHBvcnQgdGhlIHZhbHVlIG9mIHRoZSBFT1MgdG9rZW4uIE5vIFVzZXIgY2FuIGF1dGhvcml6ZSBhbnlvbmUgdG8gaG9sZCBhc3NldHMsIGJvcnJvdywgc3BlYWssIGNvbnRyYWN0IG9uIGJlaGFsZiBvZiBvdGhlciBFT1MgVXNlcnMgb3IgdGhlIEVPUyBibG9ja2NoYWluIGBjaGFpbl9pZGAgY29sbGVjdGl2ZWx5LiBUaGlzIEVPUyBibG9ja2NoYWluIHNoYWxsIGhhdmUgbm8gb3duZXJzLCBtYW5hZ2Vycywgb3IgZmlkdWNpYXJpZXMuCgojIyBBcnRpY2xlIFjigIot4oCKVXNlciBTZWN1cml0eQpBbGwgaXRlbXMgcGVydGFpbmluZyB0byBwZXJzb25hbCBhY2NvdW50IHNlY3VyaXR5LCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHRoZSBzYWZla2VlcGluZyBvZiBwcml2YXRlIGtleXMsIGlzIHNvbGVseSB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIFVzZXIgdG8gc2VjdXJlLgoKIyMgQXJ0aWNsZSBYSSAtIGBlb3Npby5wcm9kc2AgTGltaXRlZCBMaWFiaWxpdHkKVGhlIFVzZXIgYWNrbm93bGVkZ2VzIGFuZCBhZ3JlZXMgdGhhdCwgdG8gdGhlIGZ1bGxlc3QgZXh0ZW50IHBlcm1pdHRlZCBieSBhbnkgYXBwbGljYWJsZSBsYXcsIHRoaXMgZGlzY2xhaW1lciBvZiBsaWFiaWxpdHkgYXBwbGllcyB0byBhbnkgYW5kIGFsbCBkYW1hZ2VzIG9yIGluanVyeSB3aGF0c29ldmVyIGNhdXNlZCBieSBvciByZWxhdGVkIHRvIHJpc2tzIG9mLCB1c2Ugb2YsIG9yIGluYWJpbGl0eSB0byB1c2UsIHRoZSBFT1MgdG9rZW4gb3IgdGhlIEVPUyBibG9ja2NoYWluIGBjaGFpbl9pZGAgdW5kZXIgYW55IGNhdXNlIG9mIGFjdGlvbiB3aGF0c29ldmVyIG9mIGFueSBraW5kIGluIGFueSBqdXJpc2RpY3Rpb24sIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBhY3Rpb25zIGZvciBicmVhY2ggb2Ygd2FycmFudHksIGJyZWFjaCBvZiBjb250cmFjdCBvciB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSkgYW5kIHRoYXQgYGVvc2lvLnByb2RzYCwgbm9yIHRoZSBpbmRpdmlkdWFsIHBlcm1pc3Npb25zIHRoYXQgb3BlcmF0ZSBpdCwgc2hhbGwgbm90IGJlIGxpYWJsZSBmb3IgYW55IGluZGlyZWN0LCBpbmNpZGVudGFsLCBzcGVjaWFsLCBleGVtcGxhcnkgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzLCBpbmNsdWRpbmcgZm9yIGxvc3Mgb2YgcHJvZml0cywgZ29vZHdpbGwgb3IgZGF0YS4KCiMgRU9TIOyCrOyaqeyekCDrj5nsnZjshJwKCiMjIOygleydmAoKRU9TIOyCrOyaqeyekCDrj5nsnZjshJzsnZgg66qo65OgIOuMgOusuOyekCwg6riw7Jq47J6EIOq8tCwg65iQ64qUIOyduOudvOyduCDsvZTrk5wg7Jqp7Ja064qUIOygleydmOyXkOyEnOyZgCDrj5nsnbztlZwg7Zqo6rO87JmAIOydmOuvuOqwgCDrtoDsl6zrkKnri4jri6QuCgotICAgRU9TIOyCrOyaqeyekCDrj5nsnZjshJw6IOuzuCDrrLjshJwgKEVVQSkKLSAgIOyytOyduCBJRDogY2hhaW5faWTigIotLS3igIphY2EzNzZmMjA2YjhmYzI1YTZlZDQ0ZGJkYzY2NTQ3YzM2YzZjMzNlM2ExMTlmZmJlYWVmOTQzNjQyZjBlOTA2Ci0gICDsgqzsmqnsnpA6IEVPUyDqs4TsoJXsnYQg7KeB7KCRIOuYkOuKlCDqsITsoJHsoIHsnLzroZwg7IaM7Jyg7ZWY6rGw64KYIEVPUyDqs4TsoJXsl5Ag7Jew6rKw65CcIEVPUyDquLDrsJgg7IaN7ISx7J2EIOycoOyngO2VmOqxsOuCmCDqtIDrpqztlZjripQg7IKs656MLCDsobDsp4EsIOuYkOuKlCDsobDsp4HsnZgg66qo65OgIOyCrOuejC4KLSAgIOyGjOycoOq2jDog7ZWY64KYIOydtOyDgeydmCDsnKDtmqjtlZwg7IKs7Jqp6raM7ZWcIO2ZleyduOydhCDthrXtlbQgRU9TIOqzhOygleyXkCDsp4HsoJEg65iQ64qUIOqwhOygkeyggeycvOuhnCDsoJHqt7ztlanri4jri6QuIOyGjOycoOq2jOydgCDri6TspJEg7ISc66qF6raM7ZWc7J2EIOyCrOyaqe2VmOyXrCDsgqzsmqnsnpDqsITsl5Ag67aA67aE7KCB7Jy866GcIOqzteycoCDrkKAg7IiYIOyeiOyKteuLiOuLpC4KLSAgIOu4lOuhnSDtlITroZzrk4DshJw6IHJlZ3Byb2R1Y2Vy66W8IOyLpO2Wie2VmOqzoCBlb3Npby52cGF566Gc67aA7YSwIOuztOyDgeydhCDrsJvripQg7IKs7Jqp7J6QLgotICAgZW9zaW8ucHJvZHM6IDE1LzIxIOu4lOuhnSDtlITroZzrk4DshJzrk6TsnbQg64+Z7J2YIO2VoCDrlYwgZW9zaW8g6rOE7KCV7J2YIOq2jO2VnOydhCDqsIDsp4gg7IiYIOyeiOuKlCDrj5nsoIEg6raM7ZWcIOq1rOyhsOulvCDqsIDsp4QgRU9TIOqzhOyglS4KLSAgIOuEpO2KuOybjO2BrCDsnpDquIg6IOuLpOydjCDqs4TsoJXsl5Ag7Y+s7ZWoIOuQnCDthqDtgbA6IGVvc2lvLm5hbWVzLCBlb3Npby5yYW1mZWUsIGVvc2lvLnNhdmluZy4KLSAgIOq0gOumrCDrrLjshJw6IHJlZ3Byb2R1Y2Vy64qUIOq0gOumrCDrrLjshJzroZwg6rCE7KO865Cp64uI64ukLgotICAg7Jio7LK07J24OiBFT1Mg67iU66Gd7LK07J24IGNoYWluX2lk7JeQIOu5hOqwgOyXreyggeydtOupsCDstpTqsIAg7ZWgIOyImCDsnojripQg67iU66GdIOuCtOyXkCDsnITsuZjtlZwg66qo65OgIOqxsOuemCwg7Iqk66eI7Yq4IOqzhOyVvSDrmJDripQg66as7Lm066W065SU7JWIIOqzhOyVvS4KLSAgIEVPUyDquLDrsJgg7IaN7ISxOiBFT1Mg67iU66Gd7LK07J247J2EIOyngeygkSDsobDsnpEsIOuzgOqyvSwg7KCE7IahLCDsmIHtlqUg65iQ64qUIOuLrOumrCDsoIHsmqntlZjquLAg7JyE7ZW0IOycoO2aqO2VnCDsgqzsmqkg6raM7ZWc7J20IO2VhOyalO2VnCDrqqjrk6Ag6rKDCi0gICDsvZw6IEVPUyDruJTroZ3ssrTsnbggY2hhaW5faWTsl5Ag7J6R7JeF7J2EIOyLoOyyre2VmOuKlCDqsoMuCi0gICDtl4jqsIAg67CPIOq2jO2VnDogJ+2XiOqwgCfripQg7ZW064u5IOq2jO2VnOydhCDrjIDsi6DtlZjsl6wg7KCE7Iah65CY64qUIO2KuOuenOyereyFmOydmCDsmpTqtazsgqztla3snYQg7KCV7J2Y7ZWY64qUIOuNsCDsgqzsmqnrkKnri4jri6QuICfqtoztlZwn7J2AIO2KueyglSDqs4Tslb0g7KGw7LmY7JeQIOuMgO2VnCDqtoztlZzsnYQg67aA7Jes7ZWp64uI64ukLgotICAg66as7Lm066W065SU7JWIIOqzhOyVvTog7ZWp67KV7KCBIOqzhOyVveydmCDsoJXsnZgg7JqU7IaM66W8IOyGjO2UhO2KuOybqOyWtOuhnCDtkZztmITtlZjqs6Ag7Iuk7ZaJ7ZWgIOyImCDsnojripQg7ZiV7Iud7Jy866GcIOuwsOy5mO2VmOuKlCDqs4Tslb0uCgojIyDsoJwgMeyhsOKAii0tLeKAiuychO2XmOyXkCDrjIDtlZwg7IKs7Jqp7J6Q65Ok7J2YIOyduOyngAoK7IKs7Jqp7J6Q6rCAIGNoYWluX2lk7JeQ7IScIEVPUyDqs4TsoJXsl5Ag64yA7ZWcIOygkeq3vCDqtoztlZzsnYQg7J6D6rOgLCDri6Trpbgg67Cp67KV7Jy866GcIEVPUyDqs4TsoJXsl5Ag64yA7ZWcIOygkeq3vOydhCDrs7TtmLjtlZjquLAg7JyE7ZW0IOyggeygiO2VnCDsobDsuZjrpbwg7Leo7ZWY7KeAIOyViuuKlCDqsr3smrDsl5DripQgRU9TIOqzhOygleyXkCDsoJHqt7ztlaAg7IiYIOyXhuqyjCDrkJzri6TripQg6rKD7J2EIOyduOygle2VmOqzoCDrj5nsnZjtlanri4jri6QuIOyCrOyaqeyekOuKlCDslZTtmLjtmZQg7Yag7YGw6rO8IOu4lOuhneyytOyduCDquLDrsJgg7IaM7ZSE7Yq47Juo7Ja07J2YIOychO2XmCwg7IKs7Jqp67KVLCDqt7jrpqzqs6Ag67O17J6h7ISx7JeQIOuMgO2VtCDstqnrtoTtnogg7J207ZW07ZWY6rOgIOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuIOyCrOyaqeyekOuKlCBFT1Mg67iU66Gd7LK07J247J2YIOyCrOyaqeyXkCDrjIDtlZwg7KCE7KCB7J24IOyxheyehOydhCDsp4Tri6TripQg6rKD7JeQIOyduOygle2VmOqzoCDrj5nsnZjtlanri4jri6QuCgojIyDsoJwgMuyhsOKAii0tLeKAiu2KueuzhO2VnCDsgqzsmqnsnpAg7Jyg7ZiVCgpyZWdwcm9kdWNlcuulvCDsi6TtlontlZjripQg7IKs7Jqp7J6Q64qUIHJlZ3Byb2R1Y2VyIOumrOy5tOultOuUlOyViCDqs4Tslb3sl5Ag64+Z7J2Y7ZWY6rOgLCDsnbTsl5Ag6rWs7IaN65Cp64uI64ukLgoKIyMg7KCcIDPsobDigIotLS3igIpFVUHsnZgg64+Z7J2YCgpFT1Mg7IKs7Jqp7J6QIOuPmeydmOyEnOuKlCDtmITsnqwg7Iuc7ZaJ7KSR7J24IEVPUyDrqZTsnbjrhLcg6rGw67KE64SM7Iqk7JeQIOuMgO2VnCDshKTrqoXsnLzroZwg7IKs7Jqp65Cp64uI64ukLiDsvZTrk5zsl5Ag7J2Y7ZW0IOyLnO2WieuQmOuKlCDsnbTrn6ztlZwg6riw64ql7J2AIEVPUyDrqZTsnbjrhLcg7J6Q7LK07J2YIOyytOqzhOyggeydtOqzoCDqs6DsnKDtlZwg6riw64ql7J2066+A66GcIOyCrOyaqeyekOydmCDrj5nsnZjrpbwg7ZWE7JqU66GcIO2VmOyngCDslYrsirXri4jri6QuCgojIyDsoJwgNOyhsOKAii0tLeKAiuq0gOumrCDrrLjshJwKCkVVQeyZgCDqtIDrpqwg66y47ISc64qUIGVvc2lvLnByb2Rz66W8IO2Gte2VtCDsiJjsoJXsnbQg6rCA64ql7ZWp64uI64ukLiDtirnsoJUg67OA6rK97IKs7ZWt7J2EIOyCrOyghOyXkCDshKTrqoXtlZjripQgZW9zaW8uZm9ydW0g7Yis7ZGcIOqzhOyVveydhCDthrXtlbQgZW9zaW8ucHJvZHPqsIAg7ISx66qF7ISc66W8IOyekeyEse2VmOqzoCDrsJzquIntlaAg6rKD7J2EIOq2jOqzoO2VqeuLiOuLpC4KCiMjIOygnCA17KGw4oCKLS0t4oCK6rCA7LmY7J2YIOq4sOuzuCDri6jsnIQKCkVPUyBjaGFpbl9pZOydmCDquLDrs7gg64uo7JyE64qUIGVvc2lvLnRva2VuIOyKpOuniO2KuCDqs4Tslb3sl5Ag7J2Y7ZW0IOygleydmOuQmOqzoCDsnpHshLHrkJwgRU9TIO2GoO2BsOyeheuLiOuLpC4KCiMjIOygnCA27KGw4oCKLS0t4oCKRU9TIOu4lOuhneyytOyduCDsnKDsp4AKCmVvc2lvLnByb2Rz64qUIOuqqOuToCDquLDriqUsIOy1nOygge2ZlCwg6re466as6rOgIOyXheq3uOugiOydtOuTnOydmCDtmITsnqzsmYAg66+4656Y7J2YIOuqqOuToCDsiJjsoJXsgqztla3snYQg6rWs7ZiE7ZWY64qUIOqyg+ydhCDtj6ztlajtlZjrkJgsIOydtOyXkCDqta3tlZzrkJjsp4Ag7JWK64qUIO2ZnOyEse2ZlOuQnCDruJTroZ3ssrTsnbgg7L2U65Oc67Kg7J207Iqk66W8IOycoOyngO2VqeuLiOuLpAoKIyMg7KCcIDfsobDigIotLS3igIrrhKTtirjsm4ztgawg7J6Q6riICgrrhKTtirjsm4ztgawg7J6Q6riIIOqzhOygleyXkCDtj6ztlajrkJwg7Yag7YGw7J2YIOyDge2DnOulvCDrs4Dqsr3tlZjqsbDrgpgsIOuEpO2KuOybjO2BrCDsnpDquIjsnZgg67Cw67aELCDsnbTtloksIOuYkOuKlCDrsLDtj6zrpbwg7KeBL+qwhOygkeyggeycvOuhnCDqtIDrpqztlZjripQg6riw7KG0IOy9lOuTnOulvCDrs4Dqsr3tlZjripQg6rK97Jqw7JeQ64qUIGVvc2lvLnByb2Rz66W8IGVvc2lvLmZvcnVtIOy0nSDtiKztkZwg7Iuc7Iqk7YWcIOqzhOyVveyXkCDstpTqsIDtlZjsl6wg7IKs7KCE7JeQIOy2qeu2hO2VnCDshKTrqoXsnbQg7J2066Oo7Ja07KC47JW8IO2VqeuLiOuLpC4KCiMjIOygnCA47KGw4oCKLS0t4oCK6rOE7KCVIOyDneyEseydmCDsnpDsnKAKCu2YhOyerCwg65iQ64qUIOuvuOuemOydmCDsgqzsmqnsnpDripQg64uk66W4IOyCrOyaqeyekOydmCDtl4jqsIAg7JeG7J20IEVPUyDqs4TsoJXsnYQg66eM65OkIOyImCDsnojsirXri4jri6QuIGVvc2lvLnByb2Rz64qUIEVPUyDqs4TsoJXsl5Ag7J2Y7ZW0IOqzteycoOuQnCDsnKDtmqjtlZwg7ZeI6rCAIOyXhuydtOuKlCBFT1Mg7IKs7Jqp7J6QIOqzhOygleyXkCDsmIHtlqXsnYQg7KSEIOyImCDsl4bsirXri4jri6QuIGVvc2lvLnByb2Rz64qUIOq2jO2VnOydtCDqs7XsnKDrkJjripQgRU9TIOqzhOygleqzvCDqtIDroKjtlZjsl6wg64uk66W4IOyCrOyaqeyekOqwgCDsmpTssq3tlZwg66qo65OgIOyekeyXheyXkCDrjIDtlbQg7JqU6riI7J2EIOu2gOqzvO2VoCDsiJgg7J6I7Iq164uI64ukLgoKIyMg7KCcIDnsobDigIotLS3igIrsi6Dtg4Eg67aI6rCACgrsgqzsmqnsnpDripQgRU9TIO2GoO2BsOydmCDqsIDsuZjrpbwg65K367Cb7Lmo7ZWgIOyImCDsnojripQg7Iug7YOBIOuqqeyggeydhCDqsIDsoLjshJzripQg7JWI65Cp64uI64ukLiDsgqzsmqnsnpDripQgRU9TIOyCrOyaqeyekCDrmJDripQgRU9TIOu4lOuhneyytOyduCBjaGFpbl9pZOulvCDrjIDtkZztlZjsl6wg64iE6rWs7JeQ6rKM64+EIOyekOyCsOydhCDrs7TsnKDtlZjqsbDrgpgsIOuMgOyXrO2VmOqxsOuCmCwg7J6Q7IKw7JeQIOuMgO2VtCDslpjquLDtlZjqsbDrgpgsIOqzhOyVveydhCDrp7rsnYQg6raM7ZWc7J2EIOu2gOyXrO2VoCDsiJgg7JeG7Iq164uI64ukLiBFT1Mg67iU66Gd7LK07J247JeQ64qUIOyGjOycoOyekCwg6rSA66as7J6QLCDqt7jrpqzqs6Ag7IiY7YOB7J6Q6rCAIOyXhuyWtOyVvCDtlanri4jri6QuCgojIyDsoJwgMTDsobDigIotLS3igIrsgqzsmqnsnpAg67O07JWICgrruYTqs7XqsJwg7YKk7J2YIOuztOq0gOydhCDtj6ztlajtlZjrkJgsIOydtOyXkCDqta3tlZzrkJjsp4Ag7JWK64qUIOqwnOyduCDqs4Tsoowg67O07JWI6rO8IOq0gOugqOuQnCDrqqjrk6Ag7ZWt66qp65OkIOuYkO2VnCDsoITsoIHsnLzroZwg7IKs7Jqp7J6Q6rCAIOyViOyghO2VmOqyjCDrs7TqtIDtlbTslbwg7ZWp64uI64ukLgoKIyMg7KCcIDEx7KGw4oCKLS0t4oCKZW9zaW8ucHJvZHMg7Jyg7ZWc7LGF7J6ECgrsgqzsmqnsnpDripQg67KV66Wg7J20IO2XiOyaqe2VmOuKlCDtlZzrj4Qg64K07JeQ7IScIEVPUyDthqDtgbDsnZgg7JyE7ZeYLCDsgqzsmqksIOuYkOuKlCDsgqzsmqkg67aI6rCA66GcIOyduO2VtCDrsJzsg53tlZjripQg66qo65OgIOyGkO2VtOyXkCDrjIDtlbQg7LGF7J6E7J2YIOuptOyxhSDsobDtla3snbQg7KCB7Jqp65Cc64uk64qUIOqyg+ydhCDsnbjsoJXtlZjqs6AsIOuPmeydmO2VqeuLiOuLpC4g6rOE7JW9IOychOuwmCwg67aI67KVIO2WieychCwg6re466as6rOgIOychOuwmCDtlonsnIQgKOq0gOumrCDtg5zrp4wg7Y+s7ZWoKeyZgCBlb3Npby5wcm9kcyDrmJDripQg7J2066W8IOyatOyYge2VmOuKlCDqsJzrs4Qg7IKs7JqpIOq2jO2VnOydhCDtj6ztlajtlZjrkJgsIOydtOyXkCDqta3tlZztlZjsp4Ag7JWK6rOgIOuqqOuToCDqtIDtlaAg7KeA7Jet7JeQ7ISc7J2YIOuqqOuToCDsooXrpZjsnZgg7IKs7Jyg66GcIOyduO2VnCBFT1Mg67iU66Gd7LK07J24IGNoYWluX2lkIOydtOydtSwg7JiB7JeF6raMLCDrmJDripQg642w7J207YSw7J2YIOyGkOyLpOydhCDtj6ztlajtlZjsl6wg6rCE7KCR7KCBLCDsmrDrsJzsoIEsIO2KueyImO2VnCwg64yA7ZGc7KCBLCDqt7jrpqzqs6Ag7YyM7IOd7KCB7J24IOyGkO2VtOyXkCDrjIDtlZwg7LGF7J6E7J2EIOyngOyngCDslYrsirXri4jri6QuCgojIEVPU+eUqOaIt+WNj+iurgoKIyMgKirlrprkuYkqKgoKRU9T55So5oi35Y2P6K6u5Lit55qE5omA5pyJ5aSn5YaZ77yM5pac5L2T5oiW5YaF6IGU5Luj56CB5pyv6K+t5bCG5YW35pyJ5LiO5Lul5LiL5a6a5LmJ55u45ZCM55qE5pWI5p6c5ZKM5ZCr5LmJ44CCCgotIEVPU+eUqOaIt+WNj+iuru+8muWNs+acrOaWh+aho++8iEVVQe+8iQoKLSDpk77kuIpJRDogY2hhaW5faWQgLSBhY2EzNzZmMjA2YjhmYzI1YTZlZDQ0ZGJkYzY2NTQ3YzM2YzZjMzNlM2ExMTlmZmJlYWVmOTQzNjQyZjBlOTA2CgotIOeUqOaIt++8muS7u+aEj+a7oei2s+S4i+WIl+imgeaxgueahOS4quS6uuaIlue7hOe7h++8muebtOaOpeaIluiAhemXtOaOpeaLpeaciUVPU+i0puaIt+aIluS4jkVPU+i0puaIt+WFs+iBlOeahOWfuuS6jkVPU+WPkeihjOeahOi0ouS6p+OAggoKLSDmiYDmnInmnYPvvJrnm7TmjqXmiJbogIXpl7TmjqXpgJrov4fkuIDkuKrmiJblpJrkuKrmnInmlYjnmoTmnYPpmZDmo4Dmn6Xorr/pl67kuIDkuKpFT1PotKbmiLfjgILmiYDmnInmnYPlj6/ku6XpgJrov4flpJrnrb7mnYPpmZDorrjlj6/lnKjnlKjmiLfpl7TlhbHkuqvjgIIKCi0g5omn6KGM5LqGcmVncHJvZHVjZe+8jOW5tuS4lOS7jmVvc2lvLnZwYXnpooblj5bmlLblhaXnmoTnlKjmiLfjgIIKCi0gZW9zaW8ucHJvZHM65YW35pyJ5Yqo5oCB5p2D6ZmQ57uT5p6E55qERU9T5biQ5oi377yM5b2TMTUvMjEgQmxvY2sgUHJvZHVjZXJz5ZCM5oSP5pe277yM6K+l5biQ5oi35Y+v5Lul5om/5ouFZW9zaW/luJDmiLfnmoTmnYPpmZDjgIIKCi0g572R57uc6LWE5Lqn77ya5YyF5ZCr5Zyo5Lul5LiL6LSm5oi35Lit55qE5Luj5biB77yaZW9zaW8ubmFtZXPjgIFlb3Npby5yYW1mZWXjgIEgIGVvc2lvLnNhdmluZ+OAggoKLSDmsrvnkIbmlofmoaPvvJpyZWdwcm9kdWNlcuaYr+ayu+eQhuaWh+aho+OAggoKLSDku7vkvZXkuqTmmJPjgIHmmbrog73lkIjnuqbmiJbogIXmnY7lmInlm77lkIjnuqbvvIzlroPku6zlt7Lnu4/kvY3kuo7kuIDkuKrljLrlnZfkuK3vvIzlubbkuJTov5nkuKrljLrlnZfmmK/kuI3lj6/pgIbovaznmoTjgIHlt7LpmYTliqDliLDlkI3kuLpjaGFpbl9pZOeahEVPU+WMuuWdl+mTvuS4reOAggoKLSDln7rkuo5FT1PotYTkuqfvvJrku7vkvZXpnIDopoHmnInmlYjorrjlj6/mnaXmk43kvZzjgIHmlLnlj5jjgIHovaznp7vjgIHlvbHlk43miJbogIXov5vooYzlhbbku5bmk43kvZznmoTkuJzopb/jgIIKCi0g5omn6KGM77ya5Zyo5ZCN5Li6Y2hhaW5faWTnmoRFT1PljLrlnZfpk77kuK3mj5DkuqTkuIDkuKrooYzliqjjgIIKCi0g5o6I5p2D5ZKM5p2D6ZmQ77ya5p2D6ZmQ77yIUGVybWlzc2lvbnPvvInmmK/nlKjmnaXlrprkuYnku6Pooajor6XmnYPpmZDlj5HpgIHnmoTkuqTmmJPnmoTopoHmsYLnmoTku7vmhI/lkI3lrZfjgILlj6/ku6Xnu5nnibnlrprnmoTlkIjnuqbmk43kvZznmoTmjojmnYPvvIhBdXRob3JpemF0aW9uc++8ieWIhumFjeadg+mZkO+8iFBlcm1pc3Npb25z77yJ44CCCgotIOadjuWYieWbvuWQiOe6pu+8muWwhuazleW+i+WNj+iuruS4reeahOWumuS5ieimgee0oOS7peiDveWcqOi9r+S7tuS4reihqOi+vuWSjOaJp+ihjOeahOagvOW8j+ihqOi+vueahOWQiOe6puOAggoKIyMgKirmnaHmrL7kuIAqKioq55SoKioqKuaIt+mjjumZqeehruiupCoqCgrlpoLmnpznlKjmiLfkuKLlpLHotKbmiLforr/pl67mnYPpmZDmiJbogIXmsqHmnInph4flj5blkIjpgILnmoTmlrnlvI/kv53miqTotKbmiLforr/pl67mnYPpmZDvvIznlKjmiLflupTnn6XmgonlubblkIzmhI/vvIxFT1PotKbmiLflsIbml6Dms5Xorr/pl67jgILnlKjmiLflupTnoa7orqTnlKjmiLflr7nliqDlr4bku6PluIHlkozljLrlnZfpk77ova/ku7bnmoTpo47pmanjgIHnlKjms5XlkozlpI3mnYLmgKfmnInlhYXliIbkuobop6PjgILnlKjmiLfmib/orqTlubblkIzmhI/nlKjmiLfoh6rooYzmib/mi4Xkvb/nlKhFT1PljLrlnZfpk77nmoTpo47pmanjgIIKCiMjICoq5p2h5qy+5LqMKioqKueJueauiueUqCoqKirmiLfnsbvlnosqKgoK5omn6KGMcmVncHJvZHVjZe+8jOWQjOaEj+W5tuS4lOWPl3JlZ3Byb2R1Y2Vy5p2O5ZiJ5Zu+5ZCI57qm57qm5p2f55qE55So5oi344CCCgojIyAqKuadoeasvuS4iSoqKirlkIzmhI8qKioqRU9TKioqKueUqCoqKirmiLfljY/orq4qKgoKRU9T55So5oi35Y2P6K6u55qE5a6e6LSo5piv5a+55b2T5YmNRU9T5Li7572R5rK755CG5Yqf6IO955qE5o+P6L+w44CC55Sx5Luj56CB5by65Yi25omn6KGM55qE5Yqf6IO95LiN6ZyA6KaB55So5oi355qE5ZCM5oSP77yM5Zug5Li66L+Z5Lqb5Yqf6IO95pivRU9T5Li7572R57O757uf6Ieq5bim55qE44CCCgojIyAqKuadoeasvuWbmyoqIC0gKirmsrvnkIbmlofmoaMqKgoKZW9zaW8ucHJvZHPlj6/ku6Xlr7lFT1PnlKjmiLfljY/orq7lkozmsrvnkIbmlofmoaPov5vooYzku7vkvZXkv67mlLnjgILkuKXmraPmj5DphpLvvIzmj5DliY3nlKhlb3Npby5mb3J1beWFrOaKleWQiOe6pu+8jOmAmui/h2Vvc2lvLnByb2Rz57yW5YaZ44CB5Y+R5biD5LiA5Liq5aOw5piO5p2l5o+P6L+w6YKj5Liq5L+u5pS544CCCgojIyAqKuadoeasvuS6lCoqKirljp/nlJ/ku7cqKioq5YC85Y2V5L2NKioKCkVPU+WFrOmTvuS4iueahOWOn+eUn+S7t+WAvOWNleS9jeW6lOS4umVvc2lvLnRva2Vu5pm66IO95ZCI57qm5a6a5LmJ5ZKM5Yib5bu655qERU9T6YCa6K+B44CCCgojIyAqKuadoeasvuWFrSoqKirnu7TmiqQqKioqRU9TKioqKuWMuioqKirlnZfpk74qKgoK5peg6K66546w5Zyo5oiW5bCG5p2l5bCG5p2l77yMZW9zaW8ucHJvZHPlsIbnu7TmiqTmtLvot4PnmoTljLrlnZfpk77ku6PnoIHlupPvvIzljIXmi6zkvYbkuI3pmZDkuo7miYDmnInlip/og73jgIHkvJjljJbjgIHljYfnuqfnmoTmiYDmnInkv67mlLnjgIHlrp7njrDjgIIKCiMjIOadoeasvuS4gyAtICoqKirlrpoqKioq5LmJKioqKkVPUyoqKirnvZHnu5zotYTkuqcKCuabtOaUuee9kee7nOi1hOS6p+i0puaIt+S4reeahOS7u+S9leS7o+W4geeahOeKtuaAge+8jOabtOaUueS7u+S9leeOsOWtmOeahOebtOaOpeaIlumXtOaOpeeuoeeQhuS7u+S9lee9kee7nOi1hOS6p+eahOWIhumFjeOAgeWunueOsOaIluWIhuWPkeeahOS7o+egge+8jOmcgOimgeS6i+WFiOeUqGVvc2lvLnByb2Rz5ZyoZW9zaW8uZm9ydW3lhazmipXlkIjnuqbkuIrnvJblhpnlkozlj5HluIPmlYjmnpzmj4/ov7DnmoTlo7DmmI7jgIIKCiMjICoq5p2h5qy+5YWrLeWIm+W7uui0puaIt+iHqueUsSoqCgrku7vkvZXnjrDlnKjmiJblsIbmnaXnmoTnlKjmiLfpg73lj6/ku6XlnKjmnKrnu4/ku7vkvZXlhbbku5bnlKjmiLforrjlj6/nmoTmg4XlhrXkuIvliJvlu7pFT1PluJDmiLfjgIIgIOWmguS9leayoeacieaUtuWIsEVPU+W4kOaIt+eahOacieaViOiuuOWPr++8iHBlcm1pc3Npb27vvInvvIxlb3Npby5wcm9kc+awuOi/nOS4jeS8muW9seWTjUVPU+eUqOaIt+W4kOaIt+OAgiAg5a+55LqO5YWx5Lqr5p2D6ZmQ55qERU9T5biQ5oi355qE5YW25LuW55So5oi36K+35rGC55qE5Lu75L2V5pON5L2c77yMZW9zaW8ucHJvZHPlj6/og73kvJrmlLblj5botLnnlKjjgIIKCiMjICoq5p2h5qy+5Lmd5rKh5pyJ5Y+X5omY5Lq6KioKCuayoeacieeUqOaIt+aJv+aLheS/oeaJmOi0o+S7u+adpee7tOaMgUVPU+S7o+W4geeahOS7t+WAvOOAguayoeacieeUqOaIt+WPr+S7peS7o+ihqEVPU+eUqOaIt+aIluiAheS7o+ihqOWQjeS4umNoYWluX0lE55qERU9T5Yy65Z2X6ZO+5o6I5p2D5Lu75L2V5Lq65YWx5ZCM5oyB5pyJ6LWE5Lqn44CB5YCf5qy+44CB5Y+R6KiA5oiW5a6a5ZCI5ZCM44CC5q2k5Yy65Z2X6ZO+5LiN5a2Y5Zyo5oul5pyJ6ICF44CB566h55CG6ICF5oiW6ICF5Y+X5omY5Lq644CCCgojIyAqKuadoeasvuWNgeS4quS6uuWuieWFqCoqCgrmiYDmnInmnInlhbPkuKrkurrotKbmiLflronlhajnmoTkuovpobnvvIzljIXmi6zkvYbkuI3pmZDkuo7np4HpkqXnmoTlronlhajkv53lrZjvvIzpg73nlLHnlKjmiLfoh6rlt7HotJ/otKPjgIIKCiMjICoq5p2h5qy+5Y2B5LiAIGVvc2lvLnByb2Rz55qE5pyJ6ZmQ6LSj5Lu7KioKCueUqOaIt+W6lOefpeaCieWSjOWQjOaEj++8jOWcqOS7u+S9lemAgueUqOazleW+i+WFgeiuuOeahOacgOWkp+iMg+WbtOWGhe+8jOacrOWFjei0o+WjsOaYjumAgueUqOS6juS4jkVPU+S7o+W4gemjjumZqe+8jOS9v+eUqOaIluaXoOazleS9v+eUqEVPU+S7o+W4geacieWFs+aIluWvvOiHtOeahOS7u+S9leaIluaJgOacieaNn+Wus+aIluS8pOWus++8jOS5n+mAgueUqOS6juS7u+S9leWPuOazleeuoei+luWMuuWGheeahOS7u+S9leS7u+S9leihjOS4uuS4i+eahEVPU+WMuuWdl+mTvmNoYWluX2lk77yM5YyF5ous5L2G5LiN6ZmQ5LqO6L+d5Y+N5ouF5L+d44CB6L+d5Y+N5ZCI5ZCM5oiW5L615p2D6KGM5Li677yI5YyF5ous55aP5b+977yJ44CCZW9zaW8ucHJvZHPku6Xlj4rmk43kvZzlroPnmoTkuKrkurrmnYPpmZDlr7nkuo7ku7vkvZXpl7TmjqXnmoTvvIzlgbbnhLbnmoTvvIznibnmrornmoTvvIznpLrkvovmgKfnmoTmiJblkI7mnpzmgKfnmoTmjZ/lrrPvvIzljIXmi6zliKnmtqbmjZ/lpLHvvIzllYboqonmiJbmlbDmja7vvIzkuI3mib/mi4Xku7vkvZXotKPku7vjgIIWQmxvY2tQcm9kdWNlckFncmVlbWVudMZsIyMjIDEuIFRoZSBpbnRlbnQgb2YgcmVncHJvZHVjZXIKClRoZSBpbnRlbnQgb2YgdGhlIGByZWdwcm9kdWNlcmAgYWN0aW9uIGlzIHRvIHJlZ2lzdGVyIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYWN5LiBUaGlzIGNvbnRyYWN0IGlzIGNvbnNpZGVyZWQgYSBnb3Zlcm5pbmcgZG9jdW1lbnQgYXMgZGVmaW5lZCBieSB0aGUgRU9TIFVzZXIgQWdyZWVtZW50IChFVUEpLgoKcmVncHJvZHVjZXLsnZgg66qp7KCBCgpgcmVncHJvZHVjZXJgIOyekeyXheydmCDrqqnsoIHsnYAg67iU66Gd7IOd7IKw7J6QIOyehe2bhOuztCDrk7HroZ3snYQg7ZWY64qUIOqyg+yeheuLiOuLpC4g7J20IOqzhOyVveydgCBFT1Mg7IKs7Jqp7J6QIOqzhOyVveyEnCAoRVVBKeyXkCDsoJXsnZjrkJwg67CU7JmAIOqwmeydtCDqtIDrpqwg66y47ISc66GcIOqwhOyjvOuQqeuLiOuLpC4KCnJlZ3Byb2R1Y2VyIOeahOebrueahAoKYHJlZ3Byb2R1Y2VyYOaTjeS9nOeahOebrueahOaYr+azqOWGjOaIkOS4uuWHuuWdl+iKgueCueWAmemAieiAheOAguagueaNriBFT1Mg55So5oi35Y2P6K6uKEVVQSnnmoTlrprkuYnvvIzmnKzlkIjnuqblsZ7kuo7msrvnkIbmlofmnKwoZ292ZXJuaW5nIGRvY3VtZW50KQoKIyMjIDIuIE5vbWluYXRpb24KCkksIHt7IHByb2R1Y2VyIH19LCBoZXJlYnkgbm9taW5hdGUgbXlzZWxmIGZvciBjb25zaWRlcmF0aW9uIGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlLiBUaGlzIG5vbWluYXRpb24gaW5jbHVkZXMgYWdyZWVtZW50IHRvIHRoZSB0ZXJtcyBvZiB0aGlzIGNvbnRyYWN0IGJ5IG15IGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZSBlbnRpdHksIGluY2x1ZGluZyBhbGwgb2YgaXRzIHNoYXJlaG9sZGVycywgb3duZXJzLCBlbXBsb3llZXMsIHN0YWZmLCBtZW1iZXJzLCBhbmQgYW55IGluZGl2aWR1YWwgd29ya2luZyBpbiBvZmZpY2lhbCwgZGlyZWN0LCBvciBhZmZpbGlhdGVkIGNhcGFjaXR5IGZvciBteSBCbG9jayBQcm9kdWNlciBlbnRpdHkuCgrsp4DrqoUKCuuCmCwge3sgcHJvZHVjZXIgfX3ripQg67iU66Gd7ZSE66Gc65OA7IScIO2bhOuztOuhnCDqs6DroKTrkJjrj4TroZ0g7J6Q7Iug7J2EIOyngOuqhe2VqeuLiOuLpC4g7J20IOyngOuqheyXkOuKlCDruJTroZ3tlITroZzrk4DshJztmozsgqzsnZgg66qo65OgIOyjvOyjvCwg7IaM7Jyg7J6QLCDsp4Hsm5AsIOuppOuyhCwg7ZqM7JuQIOuwjyDqs7Xsi53snbjsm5AsIOyngeygkSDrmJDripQg6rOE7Je07IKs7JeQ7IScIOydvO2VmOuKlCDrqqjrk6Ag6rCc7J247J2EIO2PrO2VqO2VnCDruJTroZ3tlITroZzrk4DshJwg7ZqM7IKs6rCAIOqzhOyVvSDsobDqsbTsl5Ag64yA7ZW0IOuPmeydmO2VqOydhCDsnbjsoJXtlanri4jri6QuCgrmj5DlkI0KCuacrOS6uu+8jHt7IHByb2R1Y2VyIH1977yM54m55q2k5o+Q5ZCN5pys5Lq65Li65Ye65Z2X6IqC54K55YCZ6YCJ5Lq644CC5pys5o+Q5ZCN5YyF5ous5LqG5pys5Ye65Z2X6IqC54K55YCZ6YCJ5Lq65a6e5L2T5a+55pys5ZCI57qm5Lit5omA5pyJ5p2h5qy+55qE5piO56Gu5ZCM5oSP77yM5YyF5ZCr5YW25omA5pyJ6ICF44CB6ZuH5ZGY44CB5ZGY5bel44CB5oiQ5ZGY77yM5Lul5Y+K5Lu75L2V5Lul5q2j5byP5pa55byP44CB55u05o6l5oiW6ZmE5bGe5pa55byP5Li65pys5Ye65Z2X6IqC54K55a6e5L2T5bel5L2c55qE5Liq5Lq644CCCgojIyMgMy4gUmVzaWduYXRpb24gYW5kIFJlbW92YWwgZm9yIEluYWJpbGl0eSB0byBQZXJmb3JtIE9ibGlnYXRpb25zLgoKSWYgSSwge3sgcHJvZHVjZXIgfX0sIGFtIHVuYWJsZSB0byBwZXJmb3JtIGFueSBvZiB0aGUgb2JsaWdhdGlvbnMgc3RpcHVsYXRlZCBpbiB0aGlzIGNvbnRyYWN0LCBJIHdpbGwgcmVzaWduIG15IHBvc2l0aW9uIGJ5IGNhbGxpbmcgdGhlIGB1bnJlZ3Byb2RgIGFjdGlvbi4KCklmIEksIHt7IHByb2R1Y2VyIH19LCBmYWlsIHRvIHJlc2lnbiB3aGVuIHVuYWJsZSB0byBwZXJmb3JtIHNhaWQgb2JsaWdhdGlvbnMsIEkgdW5kZXJzdGFuZCB0aGF0IHByb2NlZHVyZXMgZW51bWVyYXRlZCBpbiB0aGlzIGNvbnRyYWN0IHNoYWxsIGJlIGVuYWN0ZWQuCgrsnZjrrLTsnZgg67aI7J207ZaJ7JeQIOuMgO2VnCDsgqzsnoQg67CPIOyyoO2ajAoKe3sgcHJvZHVjZXIgfX3qsIAg67O4IOqzhOyVveyEnOyXkCDrqoXsi5zrkJwg7J2Y66y066W8IOyImO2WiSDtlaAg7IiYIOyXhuuKlCDqsr3smrAsIOyDneyCsOyekCDtgqTrpbwgbnVsbCDroZwg7ZWo7Jy866Gc7I2oIOuzuOyduOydmCDsp4DsnITrpbwg7IKs7J6E7ZWp64uI64ukLgoK66eM7JW9IOuCtOqwgCB7e3Byb2R1Y2VyfX3snZgg7J2Y66y066W8IOydtO2WiSDtlaAg7IiYIOyXhuydhCDrlYwg7IKs7J6E7ZWY7KeAIOyViuuKlOuLpOuptCwg64KY64qUIOuzuCDqs4Tslb3sl5Ag7Je06rGw65CcIOygiOywqOqwgCDsp5HtlonrkKjsnYQg64+Z7J2Y7ZWp64uI64ukLgoK5Zug5LiN6IO95bGl6KGM5LmJ5Yqh6ICM6YCA5Ye65oiW6KKr5Y+W5raI5Ye65Z2X6LWE5qC8CgrlpoLmnpzmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOS4jeiDveWxpeihjOacrOWQiOe6puS4reaJgOinhOWumueahOaJgOacieS5ieWKoe+8jOaIkeWwhuS9v+eUqCBgdW5yZWdwcm9kYCDmk43kvZzmnaXoh6rmiJHpgIDlh7rvvIhyZXNpZ27vvInjgIIKCuWmguaenOaIkSB7eyBwcm9kdWNlciB9fSwg5Zyo5peg5rOV5bGl6KGM5LiK6L+w5LmJ5Yqh5pe25pyq6IO96YCA5Ye6KHJlc2lnbinvvIzmiJHnn6XmmZPmnKzlkIjnuqblsIbkvJrmjInnhafmiYDmnInliJfkuL7nmoTnqIvluo/lr7nmiJHlrp7ooYzliLboo4HmiJblpITnvZrnqIvluo/jgIIKCiMjIyA0LiBFT1MgQWNjb3VudHMKCkJsb2NrIFByb2R1Y2VycyBtYXkgbmV2ZXIgYWZmZWN0IGFuIGFjY291bnQgb24gdGhlIEVPUyBibG9ja2NoYWluLCBleGNlcHQgZm9yIHRoZSByZWFzb25zIHNwZWNpZmljYWxseSBjaXRlZCBpbiB0aGlzIGNvbnRyYWN0IHRoYXQgcGVydGFpbiB0byBCbG9jayBQcm9kdWNlciBhY2NvdW50cy4gVXNlciBhY2NvdW50cyBjYW4gb25seSBiZSBhZmZlY3RlZCBvbiB0aGUgYmFzaXMgb2YgQXJ0aWNsZSBWSUlJIGluIHRoZSBFT1MgVXNlciBBZ3JlZW1lbnQuCgpFT1Mg6rOE7KCVCgrruJTroZ3tlITroZzrk4DshJzripQg67O4IOqzhOyVveyXkOyEnCDtlbTri7ntlZjripQg67iU66Gd7ZSE66Gc65OA7ISc7J2YIOqzhOyglSDssKjri6jsl5Ag6rSA66Co7ZWY7JesIO2KueuzhO2eiCDslrjquIntlZwg7J207Jyg66W8IOygnOyZuO2VmOqzoOuKlCBFT1Mg67iU66Gd7LK07J247J2YIOqzhOygleyXkCDqsrDsvZQg7JiB7Zal7J2EIOuvuOy5mOyngCDslYrsirXri4jri6QuIOyCrOyaqeyekCDqs4TsoJXsnYAgRU9TIOyCrOyaqeyekCDqs4Tslb3shJzsnZggOOyhsOyXkCDqt7zqsbDtlaAg65WM66eMIOyYge2WpeydhCDrsJvsnYQg7IiYIOyeiOyKteuLiOuLpC4KCkVPUyDotKblj7cKCuWHuuWdl+iKgueCueawuOi/nOS4jeS8muWvuSBFT1Mg5Yy65Z2X6ZO+5LiK55qE5biQ5oi36YCg5oiQ5b2x5ZON77yM6Zmk6Z2e5piv5pys5ZCI57qm5Lit54m55Yir5o+Q5Yiw5LiO5Ye65Z2X6IqC54K55biQ5oi35pyJ5YWz55qE5Y6f5Zug44CC5Y+q5pyJ5Z+65LqOIEVPU+eUqOaIt+WNj+iuruS4reeahOesrOWFq+adoeeahOaDheW9ouS4i++8jOeUqOaIt+eahOi0puWPt+aJjeS8muWPl+WIsOW9seWTjS4KCiMjIyA1LiBQcm9kdWNlciBLZXkKCkksIHt7IHByb2R1Y2VyIH19LCB3aWxsIHNpZ24gYmxvY2tzIHdpdGgge3sgcHJvZHVjZXJfa2V5IH19CgpJZiBJLCB7eyBwcm9kdWNlciB9fSBzdXNwZWN0IG15IGtleSBoYXMgYmVlbiBjb21wcm9taXNlZCBJIHdpbGwgYWxlcnQgdGhlIG90aGVyIEJsb2NrIFByb2R1Y2VycyBpbW1lZGlhdGVseS4KCkksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IGFueSBhbmQgYWxsIGFjdGlvbnMgZXhlY3V0ZWQgd2l0aCBteSB7eyBwcm9kdWNlcl9rZXkgfX0gaXMgbXkgcmVzcG9uc2liaWxpdHksIHJlZ2FyZGxlc3Mgb2YgdGhlIGFjY291bnQgYmVpbmcgY29tcHJvbWlzZWQuCgrtlITroZzrk4DshJwg7YKkCgrrgpgsIHt7IHByb2R1Y2VyIH1964qUIHt7IHByb2R1Y2VyIF8ga2V5IH19IOuhnCDruJTroZ3sl5Ag7ISc66qFIO2VoCDqsoPsnoXri4jri6QuCuunjOyVvSDrgrQsIHt7cHJvZHVjZXJ9fSDqsIAg67O47J247J2YIO2CpOqwgCDshpDsg4HrkJjsl4jri6Tqs6Ag7J2Y7Ius65CY66m0IOymieyLnCDri6Trpbgg67iU66Gd7ZSE66Gc65OA7ISc7JeQ6rKMIOyVjOugpOykhCDqsoPsnoXri4jri6QuCuuCmCwge3twcm9kdWNlcn1964qUIEVPUyDruJTroZ3ssrTsnbjsl5DshJwg67O47J247J2YIOu4lOuhne2UhOuhnOuTgOyEnCDqs4TsoJXsnbQg7Iuk7ZaJ7ZWY64qUIOuqqOuToCDsnpHsl4Xsl5Ag64yA7ZW0LCDqs4TsoJUg7J207IOBIOycoOustOyZgCDqtIDroKgg7JeG7J20LCDssYXsnoTsnbQg7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4KCuWHuuWdl+iKgueCueWFrOmSpQoKIOaIkSwge3sgcHJvZHVjZXIgfX0sIOWwhuS9v+eUqCB7eyBwcm9kdWNlcl9rZXkgfX0g5a+55Yy65Z2X562+5ZCN44CCCuWmguaenOaIkSwge3sgcHJvZHVjZXIgfX0sIOaAgOeWkeaIkeeahOWvhumSpeW3suiiq+azhOmcsu+8jOaIkeWwhueri+WNs+mAmuefpeWFtuS7luiKgueCueOAggrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOaJv+iupOaIkeeahOWHuuWdl+iKgueCueW4kOaIt+WcqEVPU+WMuuWdl+mTvuS4iuaJgOaJp+ihjOeahOS7u+S9leaTjeS9nOmDveaYr+aIkeeahOi0o+S7u++8jOaXoOiuuuivpeW4kOaIt+aYr+WQpuiiq+ebl+OAggoKIyMjIDYuIEFQSSBFbmRwb2ludHMKCklmIEksIHt7IHByb2R1Y2VyIH19LCBxdWFsaWZ5IGZvciwgYW5kIGNob29zZSB0byBjbGFpbSByZXdhcmRzIGR1ZSB0byB2b3RlcyByZWNlaXZlZCwgYW5kL29yIGJsb2NrcyBwcm9kdWNlZCwgSSwge3sgcHJvZHVjZXIgfX0sIHdpbGwgcHJvdmlkZSBmdW5jdGlvbmluZyBhbmQgcXVlcnlhYmxlIHB1YmxpYyBQMlAgYW5kIEFQSSBlbmRwb2ludHMgdG8gbWFpbnRhaW4gc3luY2hyb25pemF0aW9uIHdpdGggdGhlIGJsb2NrY2hhaW4gYW5kIHN1Ym1pdCB0cmFuc2FjdGlvbnMgdG8gYmUgaW5jbHVkZWQuIEFQSSBlbmRwb2ludHMgbXVzdCBiZSB1cGRhdGVkIHRvIGEgcmVjZW50IGZ1bmN0aW9uYWwgdmVyc2lvbiB0aGF0IGRvZXMgbm90IGhhdmUga25vd24gc2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzLgoKSSwge3sgcHJvZHVjZXIgfX0sIGhlcmVieSBhY2tub3dsZWRnZSB0aGF0IGlmIEkgYW0gdW5hYmxlIHRvIGRvIHNvIHdpdGhpbiAzMCBtaW51dGVzIG9mIGJlaW5nIGFsZXJ0ZWQgYnkgYW5vdGhlciBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUsIEkgY2FuIGJlIHJlbW92ZWQgYnkgdXNlIG9mIHRoZSBgcm12cHJvZHVjZXJgIGFjdGlvbi4KCkFQSSDsl5Trk5ztj6zsnbjtirgKCuunjOyVvSDrgrQsIHt7IHByb2R1Y2VyIH19IOqwgCDtiKztkZzrpbwg67Cb7JWEIOu4lOuhnSDrs7Tsg4HsnYQg7LKt6rWs7ZWgIOyImCDsnojripQg7J6Q6rKp7J2EIOyWu+ycvOuptCwg64KYIHt7IHByb2R1Y2VyIH1964qUIOyekeuPmSDrsI8g7L+866asIOqwgOuKpe2VnCDqs7XqsJwgUDJQIOuwjyBBUEkg7JeU65Oc7Y+s7J247Yq466W8IOu4lOuhneyytOyduOqzvOydmCDrj5nquLDtmZQg67CPIO2KuOuenOyereyFmOydhCDsoJzstpztlaAg7IiYIOyeiOqyjCDsnKDsp4DqtIDrpqztlanri4jri6QuIEFQSSDsl5Trk5ztj6zsnbjtirjripQg7JWM66Ck7KeEIOuztOyViCDst6jslb3shLHsnbQg7JeG64qUIOy1nOyLoOuyhOyghOycvOuhnCDsl4XrjbDsnbTtirjtlbTslbwg7ZWp64uI64ukLgoK64KYLCB7eyBwcm9kdWNlciB9fSDripQg64uk66W4IGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZSDqsIAg6rK96rOgIOKAi+KAi+2VnCDtm4QsIDMw67aEIOydtOuCtOyXkCDrsJTroZzsnqHsnYQg7IiYIOyXhuuLpOuptCBgcm12cHJvZHVjZXJgIOyhsOy5mOulvCDthrXtlbQg7J6Q6rKp7J20IOygnOqxsCDrkKAg7IiYIOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuCgpBUEkg56uv54K5CgrlpoLmnpzmiJHvvIx7eyBwcm9kdWNlciB9fSDnlLHkuo7lvpfliLDmipXnpajlkowv5oiW5Ye65Z2X55qE5Y6f5Zug77yM56ym5ZCI6aKG5Y+W5aWW5Yqx55qE5p2h5Lu25bm26YCJ5oup5o6l5Y+X5aWW5Yqx77yM6YKj5LmI5oiR77yMIHt7IHByb2R1Y2VyIH1977yM5bCG5o+Q5L6b5Yqf6IO95q2j5bi455qE5YWs5YWxIFAyUCDlkowgQVBJIOerr+eCueadpee7tOaKpOS4juWMuuWdl+mTvueahOWQjOatpe+8jOW5tuaPkOS6pOimgeaJk+WMheWFpeWdl+eahOS6i+WKoeOAgkFQSSDnq6/ngrnlv4Xpobvmm7TmlrDliLDmnIDmlrDnmoTlj6/nlKjniYjmnKzvvIzlubbkuJTor6XniYjmnKzmsqHmnInlt7Lnn6XnmoTlronlhajmvI/mtJ4KCuaIke+8jHt7cHJvZHVjZXJ9fe+8jOWcqOatpOehruiupO+8jOWmguaenOaIkeWcqOaUtuWIsOWPpuS4gOS4qiBibG9jayBwcm9kdWNlciBjYW5kaWRhdGXnmoTorablkYrlkI4zMOWIhumSn+WGheS7jeS4jeiDveespuWQiOS4iui/sOimgeaxgu+8jOWPr+S7peS9v+eUqGBybXZwcm9kdWNlcmDmk43kvZznp7vpmaTmiJHnmoTotKbmiLfjgIIKCiMjIyA3LiBFeGVjdXRpb24gdGltZQoKSSwge3sgcHJvZHVjZXIgfX0sIHdpbGwgZGVwbG95IGFuZCBydW4gbmV0d29yayBpbmZyYXN0cnVjdHVyZSBjYXBhYmxlIG9mIG1haW50YWluaW5nIDJtcyBvciBsZXNzIENQVSBleGVjdXRpb24gdGltZXMuCgpJLCB7eyBwcm9kdWNlciB9fSwgaGVyZWJ5IGFja25vd2xlZGdlIHRoYXQgaWYgSSBhbSB1bmFibGUgdG8gZG8gc28gd2l0aGluIDMwIG1pbnV0ZXMgb2YgYmVpbmcgYWxlcnRlZCBieSBhbm90aGVyIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZSwgSSBjYW4gYmUgcmVtb3ZlZCBieSB1c2Ugb2YgdGhlIGBybXZwcm9kdWNlcmAgYWN0aW9uLgoK7Iuk7ZaJIOyLnOqwhAoK64KYLCB7eyBwcm9kdWNlciB9feuKlCAybXMg65iQ64qUIOq3uCDsnbTtlZjsnZggQ1BVIOyLpO2WiSDsi5zqsITsnYQg7Jyg7KeA7ZWgIOyImCDsnojripQg64Sk7Yq47JuM7YGsIOyduO2UhOudvOulvCDrsLDtj6ztlZjqs6Ag7Iuk7ZaJ7ZWp64uI64ukLgoKIOuCmCwge3sgcHJvZHVjZXIgfX0g64qUIOuLpOuluCBibG9jayBwcm9kdWNlciBjYW5kaWRhdGXqsIAg6rK96rOgIOKAi+KAi+2VnCDtm4QsIDMw67aEIOydtOuCtOyXkCDrsJTroZzsnqHsnYQg7IiYIOyXhuuLpOuptCBgcm12cHJvZHVjZXJgIOyhsOy5mOulvCDthrXtlbQg7J6Q6rKp7J20IOygnOqxsCDrkKAg7IiYIOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuCgrmiafooYzml7bpl7QKCuaIke+8jCB7eyBwcm9kdWNlciB9fe+8jOWwhumDqOe9suWSjOi/kOihjOe9kee7nOWfuuehgOiuvuaWve+8jOiDveWkn+WwhiBDUFUg5omn6KGM5pe26Ze057u05oyB5ZyoIDJtcyDmiJbmm7TlsJHnmoTmsLTlubPjgIIKCuaIke+8jHt7IHByb2R1Y2VyIH1977yM5Zyo5q2k56Gu6K6k77yM5aaC5p6c5oiR5Zyo5pS25Yiw5Y+m5LiA5LiqYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRl55qE6K2m5ZGK5ZCOMzDliIbpkp/lhoXkuI3og73nrKblkIjkuIrov7DmnaHku7bvvIzlj6/ku6Xkvb/nlKggYHJtdnByb2R1Y2VyYCDmk43kvZzlsIbmiJHnp7vpmaTjgIIKCiMjIyA4LiBPcmRlcmluZwoKSSB7eyBwcm9kdWNlciB9fSBhZ3JlZSB0byBwcm9jZXNzIHRyYW5zYWN0aW9ucyBvbiBhIGZpcnN0LWluLWZpcnN0LW91dCAoRklGTykgYmFzaXMsIGFuZCBub3QgdG8gbWFuaXB1bGF0ZSB0aGUgY29udGVudHMgb2YgYmxvY2tzIGluIG9yZGVyIHRvIGRlcml2ZSBwcm9maXQgZnJvbSB0aGUgb3JkZXIgaW4gd2hpY2ggdHJhbnNhY3Rpb25zIGFyZSBpbmNsdWRlZDogdGhlIGhhc2ggb2YgdGhlIGJsb2NrIHRoYXQgaXMgcHJvZHVjZWQuCgrsg53sgrAK64KYLCB7eyBwcm9kdWNlciB9feuKlCDshKDsnoUg7ISg7Lac67KVIChGSUZPKSDrsKnsi53snLzroZwg6rGw656Y66W8IOyymOumrO2VmOqzoCDqsbDrnpjqsIAg67iU66Gd7J2YIO2VtOyLnOyXkCDtj6ztlajrkJjripQg7Iic7ISc7JeQ7IScIOydtOydteydhCDslrvsnLzroKTripQg66qp7KCB7Jy866GcIOyDneyCsO2VmOuKlCDruJTroZ3snZgg64K07Jqp7J2EIOyhsOyeke2VmOyngCDslYrquLDroZwg64+Z7J2Y7ZWp64uI64ukLgoK6aG65bqPCgrmiJHvvIwge3sgcHJvZHVjZXIgfX0g77yM5ZCM5oSP5qC55o2u5YWI6L+b5YWI5Ye6KEZJRk8p55qE5pa55byP5aSE55CG5LqL5Yqh77yM5bm25LiU57ud5LiN5Lya5Li65LqG54mf5Yip6ICM5Yip55So5Yy65Z2X5YaF5a6544CB5pON57q15Yy65Z2X5Lit5Lqk5piT5aSE55CG55qE6aG65bqP44CCCgojIyMgOS4gUmFuZG9tIFJvdGF0aW9uIG9mIFN0YW5kYnlzCgpJLCB7eyBwcm9kdWNlciB9fSwgYWdyZWUgdGhhdCBpZiBJIGFtIGluIGEgcGFpZCBzdGFuZGJ5IHBvc2l0aW9uLCBJIGNhbiBiZSByYW5kb21seSBjYWxsZWQgaW50byBhIHByb2R1Y2luZyBwb3NpdGlvbi4gVXBvbiBmYWlsdXJlIHRvIHByb2R1Y2UgYmxvY2tzLCBjb2RlIG1heSBzZWxmLWV4ZWN1dGUgcGVuYWx0aWVzIHJlZ2FyZGluZyBmdXR1cmUgdnBheSByZXdhcmRzLgoK7Jyg6riJIOuMgOq4sCDruJTroZ3tlITroZzrk4DshJzsnZgg66y07J6R7JyEIOuhnO2FjOydtOyFmAoK64KYLCB7eyBwcm9kdWNlciB9feuKlCDrs7jsnbjsnbQg7Jyg6riJIOuMgOq4sOyngeyXkCDsnojsnYQg65WMLCDrrLTsnpHsnITroZwg7IOd7IKw7KeB7Jy866GcIOu2gOumhCDrsJvsnYQg7IiYIOyeiOuLpOuKlCDqsoPsl5Ag64+Z7J2Y7ZWp64uI64ukLiDsnbTrlYwg67iU66Gd7J2EIOyDneyEse2VmOyngCDrqrvtlZjrqbQg7L2U65Oc64qUIO2Wpe2bhCB2cGF5IOuztOyDgeyXkCDrjIDtlZwg7LKY67KM7J2EIOynke2Wie2VoCDsiJgg7J6I7Iq164uI64ukLgoK5aSH6YCJ6IqC54K56ZqP5py66L2u5o2iCgrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOWQjOaEj+iLpeacrOiKgueCueWkhOS6juacieWBv+Wkh+mAieeKtuaAge+8jOWPr+iiq+maj+acuuiwg+WFpeWHuuWdl+eKtuaAgeOAguWmguaenOaIkeaXoOazleWHuuWdl++8jOWQiOe6puS7o+eggeWPr+iDveS8muiHquWKqOaJp+ihjOWwseacquadpeeahCB2cGF5IOaKpemFrOi/m+ihjOWkhOe9muOAggoKIyMjIDEwLiBNaXNzaW5nIFR3byBvciBNb3JlIFJvdW5kcyBvZiBCbG9ja3MKCkksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IGlmIGFmdGVyIG1pc3NpbmcgMiBvciBtb3JlIHJvdW5kcyBvZiBibG9ja3MgaW4gc3VjY2Vzc2lvbiBJIGFtIHVuYWJsZSB0byBiZSBjb250YWN0ZWQgd2l0aGluIDIwIG1pbnV0ZXMsIEksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IEkgbWF5IGJlIHJlbW92ZWQgZnJvbSBhIHByb2R1Y2luZyBwb3NpdGlvbiBieSB1c2Ugb2YgdGhlIGBybXZwcm9kdWNlcmAgYWN0aW9uLgoKSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgYWZ0ZXIgbWlzc2luZyB0d28gb3IgbW9yZSByb3VuZHMgb2YgYmxvY2tzIGluIHN1Y2Nlc3Npb24sIHN0YW5kYXJkIHByYWN0aWNlIHN0aXB1bGF0ZXMgcmVtb3ZpbmcgbXkgcHJvZHVjZXIgYnkgdXNpbmcgdGhlIGB1bnJlZ3Byb2RgIGFjdGlvbiB1bnRpbCB0aGUgZ2l2ZW4gaXNzdWUgaXMgcmVzb2x2ZWQuCgrrkZAg65287Jq065OcIOydtOyDgeydmCDruJTroZ0g64iE6529CgrrgpgsIHt7IHByb2R1Y2VyIH1964qUIOuRkCDrnbzsmrTrk5wg7J207IOBIOyXsOyGje2VmOyXrCDruJTroZ3snYQg64iE6529IO2VnCDtm4QsIDIw67aEIOydtOuCtOyXkCDsl7Drnb0g7ZWgIOyImCDsl4bri6TrqbQge3sgcHJvZHVjZXIgfX0g6rCAIGBybXZwcm9kdWNlcmAg7JWh7IWY7J2YIOyCrOyaqeuQmOyWtCDsg53sgrAg7JyE7LmY7JeQ7IScIOygnOqxsCDrkKAg7IiYIOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuCgp7eyBwcm9kdWNlciB9feuKlCDrkZAg65287Jq065OcIOydtOyDgeycvOuhnCDruJTroZ3snYQg7Jew7IaN7KCB7Jy866GcIOuIhOudve2VnOuLpOuptCwg7KO87Ja07KeEIOusuOygnOqwgCDtlbTqsrAg65CgIOuVjOq5jOyngCBgdW5yZWdwcm9kYCDsnpHsl4XsnYQg7IKs7Jqp7ZWY7JesIOuzuOyduOydtCDsg53sgrAg7JyE7LmY7JeQ7IScIOygnOqxsOuQqOydtCDtkZzspIAg6rSA7ZaJ7Jy866GcIOq3nOygleuQmOyWtCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLgoK5Lik6L2u5oiW5pu05aSa6L2u5Lii5Z2X55qE5oOF5b2iCgrmiJHvvIx7eyBwcm9kdWNlciB9fSwg56Gu6K6k5aaC5p6c6L+e57ut5Lik6L2u5oiW5pu05aSa6L2u5Lii5Z2X5LiU5peg5rOV5ZyoMjDliIbpkp/lhoXogZTns7vliLDmiJHvvIzmiJHvvIx7eyBwcm9kdWNlciB9fSwg5ZCM5oSP5Y+v6IO95Lya55SoIGBybXZwcm9kdWNlcmAg5pON5L2c5bCG5oiR56e76Zmk44CCCuaIke+8jHt7IHByb2R1Y2VyIH19LCDlpoLmnpzov57nu63kuKTova7miJbmm7TlpJrova7kuKLlnZfvvIzmoLnmja7moIflh4blrp7ot7XkvJrlj5HotbcgYHVucmVncHJvZGAg5pON5L2c5bCG5oiR56e76Zmk5Ye65Z2X6LWE5qC877yM55u05Yiw6Zeu6aKY6Kej5Yaz44CCCgojIyMgMTEuIFVyZ2VudCBTZWN1cml0eSBQYXRjaGVzCgpJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBpZiBJIGFtIG5vdCBhYmxlIHRvIGJlIGNvbnRhY3RlZCBpbiBhbnkgZm9ybSBhZnRlciBhbiB1cmdlbnQgc2VjdXJpdHkgcGF0Y2ggaXMgYW5ub3VuY2VkLCBJIG1heSBiZSByZW1vdmVkIGJ5IHVzZSBvZiB0aGUgYHJtdnByb2R1Y2VyYCBhY3Rpb24uCgrquLTquIkg67O07JWIIO2MqOy5mArquLTquIkg67O07JWIIO2MqOy5mOqwgCDrsJztkZwg65CcIO2bhCwg7Ja065akIO2Yle2DnOuhnOuToCDsl7Drnb0g7ZWgIOyImCDsl4bripQg6rK97JqwIGBybXZwcm9kdWNlcmAg7J6R7JeF7J2EIOyCrOyaqe2VmOyXrCDsoJzqsbAg65CgIOyImCDsnojsnYzsnYQg64KYLCB7eyBwcm9kdWNlciB9feuKlCDsnbjsoJXtlanri4jri6QuCgrntKfmgKXlronlhajooaXkuIEKCuaIke+8jHt7IHByb2R1Y2VyIH1977yM56Gu6K6k5aaC5p6c5Zyo57Sn5oCl5a6J5YWo6KGl5LiB5Y+R5biD5ZCO55So5Lu75L2V5pa55byP6YO95peg5rOV6IGU57O75Yiw5oiR77yM5Y+v6IO95Lya55SoIGBybXZwcm9kdWNlcmAg5oyH5Luk5bCG5oiR56e76Zmk44CCCgojIyMgMTIuIERpc2Nsb3N1cmUgb2YgRW50aXR5IGFuZCBTZXJ2ZXIgSW5mb3JtYXRpb24KCkksIHt7IHByb2R1Y2VyIH19LCBhdHRlc3QgdGhhdCBJIGhhdmUgZGlzY2xvc2VkIHRoZSBhcHByb3hpbWF0ZSBnZW9sb2NhdGlvbiBmb3IgbXkgbWFpbiBwcm9kdWN0aW9uIG5vZGUgYXMgYmVpbmcge3sgbG9jYXRpb24gfX0uCgrrspXsnbgg67CPIOyEnOuyhCDsoJXrs7TsnZgg6rO16rCcCgrrgpgsIHt7IHByb2R1Y2VyIH19IOuKlCDso7wg7IOd7IKwIOuFuOuTnOyXkCDrjIDtlZwg7JyE7LmYIOygleuztOulvCDqs7XqsJztlojsnYzsnYQg7Kad66qF7ZWp64uI64ukLgoK5a6e5L2T5ZKM5pyN5Yqh5Zmo55qE5L+h5oGv5oqr6ZyyCgrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOehruiupOaIkeW3sue7j+aKq+mcsuS6huS4u+WHuuWdl+iKgueCueacjeWKoeWZqOWcsOeQhuS9jee9rueahOWHhuehruS/oeaBr+OAguWFtuWcsOWdgOS4uiB7eyBsb2NhdGlvbiB9feOAggoKIyMjIDEzLiBFc3RhYmxpc2hlcyB0aGUgcGVuYWx0eSBhbmQgcHJvY2VkdXJlIGZvciB1bndpbGxpbmduZXNzIHRvIGNvbXBseSB3aXRoIHBlbmFsdGllcyBvciBwcm9jZWR1cmVzCgpJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBmYWlsaW5nIHRvIGNvbXBseSB3aXRoIHBlbmFsdGllcyBvciBwcm9jZWR1cmVzIGVuYWN0ZWQgYWdhaW5zdCBtZSB3aWxsIHJlc3VsdCBpbiBCbG9jayBQcm9kdWNlcnMgZXhlY3V0aW5nIHRoZSBgcm12cHJvZHVjZXJgIGNvbnRyYWN0IHRvIHJlbW92ZSBtZS4KCkksIHt7IHByb2R1Y2VyIH19LCB3aWxsIG5vdCBleGVjdXRlIHRoZSBgcmVncHJvZHVjZXJgIGNvbnRyYWN0IHVudGlsIHNlcnZpbmcgb3IgZnVsZmlsbGluZyB0aGUgcmVxdWlyZW1lbnRzIGZyb20gYSBwZW5hbHR5IG9yIHByb2NlZHVyZSB0aGF0IHJlc3VsdHMgaW4gaGF2aW5nIHRoZSBgcm12cHJvZHVjZXJgIGNvbnRyYWN0IGV4ZWN1dGVkIHRvIHJlbW92ZSBtZS4KCkksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IGlmIEkgY29udGludWUgdG8gY2FsbCB0aGUgYHJlZ3Byb2R1Y2VyYCBhY3Rpb24gd2l0aG91dCBzZXJ2aW5nIG9yIGZ1bGZpbGxpbmcgdGhlIHJlcXVpcmVtZW50cyBmcm9tIGJyZWFjaCBvZiBgcmVncHJvZHVjZXJgLCBteSBhY2NvdW50IGtleXMgYXNzb2NpYXRlZCB3aXRoIHRoZSByZWdpc3RlcmVkIEJsb2NrIFByb2R1Y2VyIGluIHF1ZXN0aW9uIG1heSBiZSBudWxsZWQgYnkgQmxvY2sgUHJvZHVjZXJzIGJ5IHVzaW5nIGBlb3Npby53cmFwYC4KCu2OmOuEkO2LsOulvCDspIDsiJjtlZjsp4Ag7JWK7J2EIOqyveyasCDrsozsuZkKCuuCmCwge3sgcHJvZHVjZXIgfX0g64qUIOuCmOyXkOqyjCDsoJzsnqzrkJwg7LKY67KM7J2EIOykgOyImO2VmOyngCDslYrsnLzrqbQg67iU66Gd7ZSE66Gc65OA7ISc65Ok7J20IGBybXZwcm9kdWNlcmAg6rOE7JW97J2EIOynke2Wie2VmOqyjCDrkKAg6rKD7J2065286rOgIOyduOygle2VqeuLiOuLpC4g64KYLCB7eyBwcm9kdWNlciB9fSDripQgYHJtdnByb2R1Y2VyYCDqs4Tslb3snbQg7KeR7ZaJ65Cc64uk66m0IOyalOq1rCDsgqztla3snYQg7Lap7KGx65CgIOuVjOq5jOyngCBgcmVncHJvZHVjZXJgIOqzhOyVveydhCDsnbTtlontlZjsp4Ag7JWK7J2EIOqyg+yeheuLiOuLpC4KYHJlZ3Byb2R1Y2VyYCDqs4Tslb0g7JyE67CY7Jy866GcIOyduO2VnCDsmpTqtawg7IKs7ZWt7J2EIOy2qeyhseyLnO2CpOyngCDslYrqs6AgYHJlZ3Byb2R1Y2VyYCDqs4Tslb3snYQg6rOE7IaNIO2YuOy2nO2VmOuptCDtlbTri7kg67iU66Gd7ZSE66Gc65OA7ISc7JmAIOq0gOugqOuQnCDqs4TsoJUg7YKk6rCAIGBlb3Npby53cmFwYCDsnYQg7IKs7Jqp7ZWY7JesIOu4lOuhne2UhOuhnOuTgOyEnOuTpOyXkCDsnZjtlbQg66y07Zqo7ZmUIOuQoCDsiJgg7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4KCuWvueS4jeaEv+mBteWuiOWkhOe9mueahOihjOS4uuS6iOS7peWkhOe9mgoK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIzmib/orqToi6XkuI3pgbXlrojlr7nmnKzkurrliLboo4HnmoTlpITnvZrvvIxCUCDlj6/ku6Xlrp7mlr0gYHJtdnByb2R1Y2VyYCDlkIjnuqbvvIzmiJHmjqXlj5fmipXnpajnmoTotYTmoLzlsIbooqvlj5bmtojjgILoi6XmnInpkojlr7nmiJHlrp7mlr0gYHJtdnByb2R1Y2VyYCDlkIjnuqbnmoTmg4XlhrXlj5HnlJ/vvIzmiJEsIHt7IHByb2R1Y2VyIH19IOWcqOmBteWuiC/lsaXooYzmiYDmlLbliLDnmoTlpITnvZrkuYvliY3vvIzkuI3kvJrlho3mrKHmiafooYwgYHJlZ3Byb2R1Y2VyYCDlkIjnuqbjgIIKCuaIke+8jHt7IHByb2R1Y2VyIH1977yM5Zyo5bGl6KGM5oOp572a56iL5bqP55qE6KaB5rGC5LmL5YmN77yM5LiN5Lya5omn6KGMIGByZWdwcm9kdWNlcmAg5ZCI5ZCM44CC5oiR55+l5pmT5aaC5LiN5bGl6KGM5q2k56iL5bqP77yMIGBybXZwcm9kdWNlcmAg5ZCI5ZCM5bCG5Lya5YaN5qyh5bCG5oiR56e76Zmk44CCCgrmiJEse3sgcHJvZHVjZXIgfX0sIOaJv+iupOWmguaenOayoeaciemBteWuiOaIluWxpeihjOWboOi/neWPjSBgcmVncHJvZHVjZXJgIOiAjOWPl+WIsOeahOaDqee9muimgeaxguWNtOe7p+e7reiwg+eUqGByZWdwcm9kdWNlcmDmk43kvZzvvIxCUCDlj6/ku6XosIPnlKggYGVvc2lvLndyYXBgIOWQiOe6puWwhuaIkeeUqOadpeazqOWGjOWHuuWdl+iKgueCueeahOi0puWPt+WvhumSpeiuvue9ruS4uuaXoOaViOWAvOOAggAAAiJ2YXJpYW50X2Jsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwARpibG9ja19zaWduaW5nX2F1dGhvcml0eV92MA92YXJpYW50X3YwX2RhdGEBB3YwX2RhdGELAAAAAEhzvT4UYWN0aW9uX3JldHVybl9idXlyYW0AwLz6SHO9PhRhY3Rpb25fcmV0dXJuX2J1eXJhbQCwyv5Ic70+FGFjdGlvbl9yZXR1cm5fYnV5cmFtAMCKCktzvT4UYWN0aW9uX3JldHVybl9idXlyYW2AokENm+anSgtjaGVja3N1bTI1NgAAAECam5djGWFjdGlvbl9yZXR1cm5fcmFtdHJhbnNmZXIAAABgXn2kuRlhY3Rpb25fcmV0dXJuX3JhbXRyYW5zZmVyAK5aeJqbpbkZYWN0aW9uX3JldHVybl9yYW10cmFuc2ZlcgAAAECaG6PCFWFjdGlvbl9yZXR1cm5fc2VsbHJhbQAAkObm5djUGWFjdGlvbl9yZXR1cm5fcmFtdHJhbnNmZXIAsFfwKlWzYhFnZXRwZWVya2V5c19yZXNfdA==" }, - "text": "{\"account_name\":\"eosio\",\"code_hash\":\"ad12d594b75bdb4ab84c568f29d97f1ce82f50cca55a1f8a7d0406d4728d0e4b\",\"abi_hash\":\"b4863a5af178fdd17a453eed6843f23b27bf4014cba65974c1eab92bd78222f9\",\"abi\":\"DmVvc2lvOjphYmkvMS4yAhdibG9ja19zaWduaW5nX2F1dGhvcml0eSJ2YXJpYW50X2Jsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwF2Jsb2NrY2hhaW5fcGFyYW1ldGVyc190GGJsb2NrY2hhaW5fcGFyYW1ldGVyc192MXsIYWJpX2hhc2gAAgVvd25lcgRuYW1lBGhhc2gLY2hlY2tzdW0yNTYUYWN0aW9uX3JldHVybl9idXlyYW0ABgVwYXllcgRuYW1lCHJlY2VpdmVyBG5hbWUIcXVhbnRpdHkFYXNzZXQPYnl0ZXNfcHVyY2hhc2VkBWludDY0CXJhbV9ieXRlcwVpbnQ2NANmZWUFYXNzZXQZYWN0aW9uX3JldHVybl9yYW10cmFuc2ZlcgAFBGZyb20EbmFtZQJ0bwRuYW1lBWJ5dGVzBWludDY0DmZyb21fcmFtX2J5dGVzBWludDY0DHRvX3JhbV9ieXRlcwVpbnQ2NBVhY3Rpb25fcmV0dXJuX3NlbGxyYW0ABQdhY2NvdW50BG5hbWUIcXVhbnRpdHkFYXNzZXQKYnl0ZXNfc29sZAVpbnQ2NAlyYW1fYnl0ZXMFaW50NjQDZmVlBWFzc2V0CGFjdGl2YXRlAAEOZmVhdHVyZV9kaWdlc3QLY2hlY2tzdW0yNTYJYXV0aG9yaXR5AAQJdGhyZXNob2xkBnVpbnQzMgRrZXlzDGtleV93ZWlnaHRbXQhhY2NvdW50cxlwZXJtaXNzaW9uX2xldmVsX3dlaWdodFtdBXdhaXRzDXdhaXRfd2VpZ2h0W10KYmlkX3JlZnVuZAACBmJpZGRlcgRuYW1lBmFtb3VudAVhc3NldAdiaWRuYW1lAAMGYmlkZGVyBG5hbWUHbmV3bmFtZQRuYW1lA2JpZAVhc3NldAliaWRyZWZ1bmQAAgZiaWRkZXIEbmFtZQduZXduYW1lBG5hbWUMYmxvY2tfaGVhZGVyAAgJdGltZXN0YW1wBnVpbnQzMghwcm9kdWNlcgRuYW1lCWNvbmZpcm1lZAZ1aW50MTYIcHJldmlvdXMLY2hlY2tzdW0yNTYRdHJhbnNhY3Rpb25fbXJvb3QLY2hlY2tzdW0yNTYMYWN0aW9uX21yb290C2NoZWNrc3VtMjU2EHNjaGVkdWxlX3ZlcnNpb24GdWludDMyDW5ld19wcm9kdWNlcnMScHJvZHVjZXJfc2NoZWR1bGU/EWJsb2NrX2luZm9fcmVjb3JkAAMHdmVyc2lvbgV1aW50OAxibG9ja19oZWlnaHQGdWludDMyD2Jsb2NrX3RpbWVzdGFtcAp0aW1lX3BvaW50GmJsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwAAIJdGhyZXNob2xkBnVpbnQzMgRrZXlzDGtleV93ZWlnaHRbXRVibG9ja2NoYWluX3BhcmFtZXRlcnMAERNtYXhfYmxvY2tfbmV0X3VzYWdlBnVpbnQ2NBp0YXJnZXRfYmxvY2tfbmV0X3VzYWdlX3BjdAZ1aW50MzIZbWF4X3RyYW5zYWN0aW9uX25ldF91c2FnZQZ1aW50MzIeYmFzZV9wZXJfdHJhbnNhY3Rpb25fbmV0X3VzYWdlBnVpbnQzMhBuZXRfdXNhZ2VfbGVld2F5BnVpbnQzMiNjb250ZXh0X2ZyZWVfZGlzY291bnRfbmV0X3VzYWdlX251bQZ1aW50MzIjY29udGV4dF9mcmVlX2Rpc2NvdW50X25ldF91c2FnZV9kZW4GdWludDMyE21heF9ibG9ja19jcHVfdXNhZ2UGdWludDMyGnRhcmdldF9ibG9ja19jcHVfdXNhZ2VfcGN0BnVpbnQzMhltYXhfdHJhbnNhY3Rpb25fY3B1X3VzYWdlBnVpbnQzMhltaW5fdHJhbnNhY3Rpb25fY3B1X3VzYWdlBnVpbnQzMhhtYXhfdHJhbnNhY3Rpb25fbGlmZXRpbWUGdWludDMyHmRlZmVycmVkX3RyeF9leHBpcmF0aW9uX3dpbmRvdwZ1aW50MzIVbWF4X3RyYW5zYWN0aW9uX2RlbGF5BnVpbnQzMhZtYXhfaW5saW5lX2FjdGlvbl9zaXplBnVpbnQzMhdtYXhfaW5saW5lX2FjdGlvbl9kZXB0aAZ1aW50MTYTbWF4X2F1dGhvcml0eV9kZXB0aAZ1aW50MTYYYmxvY2tjaGFpbl9wYXJhbWV0ZXJzX3YxFWJsb2NrY2hhaW5fcGFyYW1ldGVycwEcbWF4X2FjdGlvbl9yZXR1cm5fdmFsdWVfc2l6ZQd1aW50MzIkBmJ1eXJhbQADBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQVxdWFudAVhc3NldApidXlyYW1idXJuAAMFcGF5ZXIEbmFtZQhxdWFudGl0eQVhc3NldARtZW1vBnN0cmluZwtidXlyYW1ieXRlcwADBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQVieXRlcwZ1aW50MzIKYnV5cmFtc2VsZgACB2FjY291bnQEbmFtZQVxdWFudAVhc3NldAZidXlyZXgAAgRmcm9tBG5hbWUGYW1vdW50BWFzc2V0C2NhbmNlbGRlbGF5AAIOY2FuY2VsaW5nX2F1dGgQcGVybWlzc2lvbl9sZXZlbAZ0cnhfaWQLY2hlY2tzdW0yNTYKY2ZncG93ZXJ1cAABBGFyZ3MOcG93ZXJ1cF9jb25maWcMY2xhaW1yZXdhcmRzAAEFb3duZXIEbmFtZQhjbG9zZXJleAABBW93bmVyBG5hbWUMY25jbHJleG9yZGVyAAEFb3duZXIEbmFtZQljb25uZWN0b3IAAgdiYWxhbmNlBWFzc2V0BndlaWdodAdmbG9hdDY0C2NvbnNvbGlkYXRlAAEFb3duZXIEbmFtZQpkZWZjcHVsb2FuAAMEZnJvbQRuYW1lCGxvYW5fbnVtBnVpbnQ2NAZhbW91bnQFYXNzZXQKZGVmbmV0bG9hbgADBGZyb20EbmFtZQhsb2FuX251bQZ1aW50NjQGYW1vdW50BWFzc2V0CmRlbGVnYXRlYncABQRmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZRJzdGFrZV9uZXRfcXVhbnRpdHkFYXNzZXQSc3Rha2VfY3B1X3F1YW50aXR5BWFzc2V0CHRyYW5zZmVyBGJvb2wTZGVsZWdhdGVkX2JhbmR3aWR0aAAEBGZyb20EbmFtZQJ0bwRuYW1lCm5ldF93ZWlnaHQFYXNzZXQKY3B1X3dlaWdodAVhc3NldApkZWxldGVhdXRoAAMHYWNjb3VudARuYW1lCnBlcm1pc3Npb24EbmFtZQ1hdXRob3JpemVkX2J5BW5hbWUkC2RlbHNjaGVkdWxlAAEKc3RhcnRfdGltZQ50aW1lX3BvaW50X3NlYwdkZXBvc2l0AAIFb3duZXIEbmFtZQZhbW91bnQFYXNzZXQLZG9uYXRldG9yZXgAAwVwYXllcgRuYW1lCHF1YW50aXR5BWFzc2V0BG1lbW8Gc3RyaW5nEmVvc2lvX2dsb2JhbF9zdGF0ZRVibG9ja2NoYWluX3BhcmFtZXRlcnMNDG1heF9yYW1fc2l6ZQZ1aW50NjQYdG90YWxfcmFtX2J5dGVzX3Jlc2VydmVkBnVpbnQ2NA90b3RhbF9yYW1fc3Rha2UFaW50NjQdbGFzdF9wcm9kdWNlcl9zY2hlZHVsZV91cGRhdGUUYmxvY2tfdGltZXN0YW1wX3R5cGUYbGFzdF9wZXJ2b3RlX2J1Y2tldF9maWxsCnRpbWVfcG9pbnQOcGVydm90ZV9idWNrZXQFaW50NjQPcGVyYmxvY2tfYnVja2V0BWludDY0E3RvdGFsX3VucGFpZF9ibG9ja3MGdWludDMyFXRvdGFsX2FjdGl2YXRlZF9zdGFrZQVpbnQ2NBt0aHJlc2hfYWN0aXZhdGVkX3N0YWtlX3RpbWUKdGltZV9wb2ludBtsYXN0X3Byb2R1Y2VyX3NjaGVkdWxlX3NpemUGdWludDE2GnRvdGFsX3Byb2R1Y2VyX3ZvdGVfd2VpZ2h0B2Zsb2F0NjQPbGFzdF9uYW1lX2Nsb3NlFGJsb2NrX3RpbWVzdGFtcF90eXBlE2Vvc2lvX2dsb2JhbF9zdGF0ZTIABRFuZXdfcmFtX3Blcl9ibG9jawZ1aW50MTYRbGFzdF9yYW1faW5jcmVhc2UUYmxvY2tfdGltZXN0YW1wX3R5cGUObGFzdF9ibG9ja19udW0UYmxvY2tfdGltZXN0YW1wX3R5cGUcdG90YWxfcHJvZHVjZXJfdm90ZXBheV9zaGFyZQdmbG9hdDY0CHJldmlzaW9uBXVpbnQ4E2Vvc2lvX2dsb2JhbF9zdGF0ZTMAAhZsYXN0X3ZwYXlfc3RhdGVfdXBkYXRlCnRpbWVfcG9pbnQcdG90YWxfdnBheV9zaGFyZV9jaGFuZ2VfcmF0ZQdmbG9hdDY0E2Vvc2lvX2dsb2JhbF9zdGF0ZTQAAw9jb250aW51b3VzX3JhdGUHZmxvYXQ2NBRpbmZsYXRpb25fcGF5X2ZhY3RvcgVpbnQ2NA52b3RlcGF5X2ZhY3RvcgVpbnQ2NA5leGNoYW5nZV9zdGF0ZQADBnN1cHBseQVhc3NldARiYXNlCWNvbm5lY3RvcgVxdW90ZQljb25uZWN0b3IMZXhlY3NjaGVkdWxlAAALZnVuZGNwdWxvYW4AAwRmcm9tBG5hbWUIbG9hbl9udW0GdWludDY0B3BheW1lbnQFYXNzZXQLZnVuZG5ldGxvYW4AAwRmcm9tBG5hbWUIbG9hbl9udW0GdWludDY0B3BheW1lbnQFYXNzZXQEaW5pdAACB3ZlcnNpb24JdmFydWludDMyBGNvcmUGc3ltYm9sCmtleV93ZWlnaHQAAgNrZXkKcHVibGljX2tleQZ3ZWlnaHQGdWludDE2DGxpbWl0YXV0aGNoZwADB2FjY291bnQEbmFtZQthbGxvd19wZXJtcwZuYW1lW10OZGlzYWxsb3dfcGVybXMGbmFtZVtdCGxpbmthdXRoAAUHYWNjb3VudARuYW1lBGNvZGUEbmFtZQR0eXBlBG5hbWULcmVxdWlyZW1lbnQEbmFtZQ1hdXRob3JpemVkX2J5BW5hbWUkCWxvZ2J1eXJhbQAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQhxdWFudGl0eQVhc3NldAVieXRlcwVpbnQ2NAlyYW1fYnl0ZXMFaW50NjQDZmVlBWFzc2V0DGxvZ3JhbWNoYW5nZQADBW93bmVyBG5hbWUFYnl0ZXMFaW50NjQJcmFtX2J5dGVzBWludDY0CmxvZ3NlbGxyYW0ABQdhY2NvdW50BG5hbWUIcXVhbnRpdHkFYXNzZXQFYnl0ZXMFaW50NjQJcmFtX2J5dGVzBWludDY0A2ZlZQVhc3NldAxsb2dzeXN0ZW1mZWUAAwhwcm90b2NvbARuYW1lA2ZlZQVhc3NldARtZW1vBnN0cmluZwttdmZyc2F2aW5ncwACBW93bmVyBG5hbWUDcmV4BWFzc2V0C212dG9zYXZpbmdzAAIFb3duZXIEbmFtZQNyZXgFYXNzZXQIbmFtZV9iaWQABAduZXduYW1lBG5hbWULaGlnaF9iaWRkZXIEbmFtZQhoaWdoX2JpZAVpbnQ2NA1sYXN0X2JpZF90aW1lCnRpbWVfcG9pbnQKbmV3YWNjb3VudAAEB2NyZWF0b3IEbmFtZQRuYW1lBG5hbWUFb3duZXIJYXV0aG9yaXR5BmFjdGl2ZQlhdXRob3JpdHkHb25ibG9jawABBmhlYWRlcgxibG9ja19oZWFkZXIHb25lcnJvcgACCXNlbmRlcl9pZAd1aW50MTI4CHNlbnRfdHJ4BWJ5dGVzGXBhaXJfdGltZV9wb2ludF9zZWNfaW50NjQAAgVmaXJzdA50aW1lX3BvaW50X3NlYwZzZWNvbmQFaW50NjQQcGVybWlzc2lvbl9sZXZlbAACBWFjdG9yBG5hbWUKcGVybWlzc2lvbgRuYW1lF3Blcm1pc3Npb25fbGV2ZWxfd2VpZ2h0AAIKcGVybWlzc2lvbhBwZXJtaXNzaW9uX2xldmVsBndlaWdodAZ1aW50MTYHcG93ZXJ1cAAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQRkYXlzBnVpbnQzMghuZXRfZnJhYwVpbnQ2NAhjcHVfZnJhYwVpbnQ2NAttYXhfcGF5bWVudAVhc3NldA5wb3dlcnVwX2NvbmZpZwAEA25ldBdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQNjcHUXcG93ZXJ1cF9jb25maWdfcmVzb3VyY2UMcG93ZXJ1cF9kYXlzB3VpbnQzMj8PbWluX3Bvd2VydXBfZmVlBmFzc2V0Pxdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQAIFGN1cnJlbnRfd2VpZ2h0X3JhdGlvBmludDY0PxN0YXJnZXRfd2VpZ2h0X3JhdGlvBmludDY0PxRhc3N1bWVkX3N0YWtlX3dlaWdodAZpbnQ2ND8QdGFyZ2V0X3RpbWVzdGFtcA90aW1lX3BvaW50X3NlYz8IZXhwb25lbnQIZmxvYXQ2ND8KZGVjYXlfc2Vjcwd1aW50MzI/CW1pbl9wcmljZQZhc3NldD8JbWF4X3ByaWNlBmFzc2V0Pw1wb3dlcnVwX29yZGVyAAYHdmVyc2lvbgV1aW50OAJpZAZ1aW50NjQFb3duZXIEbmFtZQpuZXRfd2VpZ2h0BWludDY0CmNwdV93ZWlnaHQFaW50NjQHZXhwaXJlcw50aW1lX3BvaW50X3NlYw1wb3dlcnVwX3N0YXRlAAUHdmVyc2lvbgV1aW50OANuZXQWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQNjcHUWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQxwb3dlcnVwX2RheXMGdWludDMyD21pbl9wb3dlcnVwX2ZlZQVhc3NldBZwb3dlcnVwX3N0YXRlX3Jlc291cmNlAA8HdmVyc2lvbgV1aW50OAZ3ZWlnaHQFaW50NjQMd2VpZ2h0X3JhdGlvBWludDY0FGFzc3VtZWRfc3Rha2Vfd2VpZ2h0BWludDY0FGluaXRpYWxfd2VpZ2h0X3JhdGlvBWludDY0E3RhcmdldF93ZWlnaHRfcmF0aW8FaW50NjQRaW5pdGlhbF90aW1lc3RhbXAOdGltZV9wb2ludF9zZWMQdGFyZ2V0X3RpbWVzdGFtcA50aW1lX3BvaW50X3NlYwhleHBvbmVudAdmbG9hdDY0CmRlY2F5X3NlY3MGdWludDMyCW1pbl9wcmljZQVhc3NldAltYXhfcHJpY2UFYXNzZXQLdXRpbGl6YXRpb24FaW50NjQUYWRqdXN0ZWRfdXRpbGl6YXRpb24FaW50NjQVdXRpbGl6YXRpb25fdGltZXN0YW1wDnRpbWVfcG9pbnRfc2VjC3Bvd2VydXBleGVjAAIEdXNlcgRuYW1lA21heAZ1aW50MTYNcHJvZHVjZXJfaW5mbwAJBW93bmVyBG5hbWULdG90YWxfdm90ZXMHZmxvYXQ2NAxwcm9kdWNlcl9rZXkKcHVibGljX2tleQlpc19hY3RpdmUEYm9vbAN1cmwGc3RyaW5nDXVucGFpZF9ibG9ja3MGdWludDMyD2xhc3RfY2xhaW1fdGltZQp0aW1lX3BvaW50CGxvY2F0aW9uBnVpbnQxNhJwcm9kdWNlcl9hdXRob3JpdHkYYmxvY2tfc2lnbmluZ19hdXRob3JpdHkkDnByb2R1Y2VyX2luZm8yAAMFb3duZXIEbmFtZQ12b3RlcGF5X3NoYXJlB2Zsb2F0NjQZbGFzdF92b3RlcGF5X3NoYXJlX3VwZGF0ZQp0aW1lX3BvaW50DHByb2R1Y2VyX2tleQACDXByb2R1Y2VyX25hbWUEbmFtZRFibG9ja19zaWduaW5nX2tleQpwdWJsaWNfa2V5EXByb2R1Y2VyX3NjaGVkdWxlAAIHdmVyc2lvbgZ1aW50MzIJcHJvZHVjZXJzDnByb2R1Y2VyX2tleVtdB3JhbWJ1cm4AAwVvd25lcgRuYW1lBWJ5dGVzBWludDY0BG1lbW8Gc3RyaW5nC3JhbXRyYW5zZmVyAAQEZnJvbQRuYW1lAnRvBG5hbWUFYnl0ZXMFaW50NjQEbWVtbwZzdHJpbmcGcmVmdW5kAAEFb3duZXIEbmFtZQ5yZWZ1bmRfcmVxdWVzdAAEBW93bmVyBG5hbWUMcmVxdWVzdF90aW1lDnRpbWVfcG9pbnRfc2VjCm5ldF9hbW91bnQFYXNzZXQKY3B1X2Ftb3VudAVhc3NldAtyZWdwcm9kdWNlcgAECHByb2R1Y2VyBG5hbWUMcHJvZHVjZXJfa2V5CnB1YmxpY19rZXkDdXJsBnN0cmluZwhsb2NhdGlvbgZ1aW50MTYMcmVncHJvZHVjZXIyAAQIcHJvZHVjZXIEbmFtZRJwcm9kdWNlcl9hdXRob3JpdHkXYmxvY2tfc2lnbmluZ19hdXRob3JpdHkDdXJsBnN0cmluZwhsb2NhdGlvbgZ1aW50MTYIcmVncHJveHkAAgVwcm94eQRuYW1lB2lzcHJveHkEYm9vbAdyZW50Y3B1AAQEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUMbG9hbl9wYXltZW50BWFzc2V0CWxvYW5fZnVuZAVhc3NldAdyZW50bmV0AAQEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUMbG9hbl9wYXltZW50BWFzc2V0CWxvYW5fZnVuZAVhc3NldAtyZXhfYmFsYW5jZQAGB3ZlcnNpb24FdWludDgFb3duZXIEbmFtZQp2b3RlX3N0YWtlBWFzc2V0C3JleF9iYWxhbmNlBWFzc2V0C21hdHVyZWRfcmV4BWludDY0DnJleF9tYXR1cml0aWVzG3BhaXJfdGltZV9wb2ludF9zZWNfaW50NjRbXQhyZXhfZnVuZAADB3ZlcnNpb24FdWludDgFb3duZXIEbmFtZQdiYWxhbmNlBWFzc2V0CHJleF9sb2FuAAgHdmVyc2lvbgV1aW50OARmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZQdwYXltZW50BWFzc2V0B2JhbGFuY2UFYXNzZXQMdG90YWxfc3Rha2VkBWFzc2V0CGxvYW5fbnVtBnVpbnQ2NApleHBpcmF0aW9uCnRpbWVfcG9pbnQMcmV4X21hdHVyaXR5AAMXbnVtX29mX21hdHVyaXR5X2J1Y2tldHMGdWludDMyEHNlbGxfbWF0dXJlZF9yZXgEYm9vbBJidXlfcmV4X3RvX3NhdmluZ3MEYm9vbAlyZXhfb3JkZXIABwd2ZXJzaW9uBXVpbnQ4BW93bmVyBG5hbWUNcmV4X3JlcXVlc3RlZAVhc3NldAhwcm9jZWVkcwVhc3NldAxzdGFrZV9jaGFuZ2UFYXNzZXQKb3JkZXJfdGltZQp0aW1lX3BvaW50B2lzX29wZW4EYm9vbAhyZXhfcG9vbAAIB3ZlcnNpb24FdWludDgKdG90YWxfbGVudAVhc3NldAx0b3RhbF91bmxlbnQFYXNzZXQKdG90YWxfcmVudAVhc3NldA50b3RhbF9sZW5kYWJsZQVhc3NldAl0b3RhbF9yZXgFYXNzZXQQbmFtZWJpZF9wcm9jZWVkcwVhc3NldAhsb2FuX251bQZ1aW50NjQScmV4X3JldHVybl9idWNrZXRzAAIHdmVyc2lvbgV1aW50OA5yZXR1cm5fYnVja2V0cxtwYWlyX3RpbWVfcG9pbnRfc2VjX2ludDY0W10PcmV4X3JldHVybl9wb29sAAcHdmVyc2lvbgV1aW50OA5sYXN0X2Rpc3RfdGltZQ50aW1lX3BvaW50X3NlYxNwZW5kaW5nX2J1Y2tldF90aW1lDnRpbWVfcG9pbnRfc2VjEm9sZGVzdF9idWNrZXRfdGltZQ50aW1lX3BvaW50X3NlYxdwZW5kaW5nX2J1Y2tldF9wcm9jZWVkcwVpbnQ2NBhjdXJyZW50X3JhdGVfb2ZfaW5jcmVhc2UFaW50NjQIcHJvY2VlZHMFaW50NjQHcmV4ZXhlYwACBHVzZXIEbmFtZQNtYXgGdWludDE2C3JtdnByb2R1Y2VyAAEIcHJvZHVjZXIEbmFtZQ5zY2hlZHVsZXNfaW5mbwACCnN0YXJ0X3RpbWUOdGltZV9wb2ludF9zZWMPY29udGludW91c19yYXRlB2Zsb2F0NjQHc2VsbHJhbQACB2FjY291bnQEbmFtZQVieXRlcwVpbnQ2NAdzZWxscmV4AAIEZnJvbQRuYW1lA3JleAVhc3NldAZzZXRhYmkAAwdhY2NvdW50BG5hbWUDYWJpBWJ5dGVzBG1lbW8Hc3RyaW5nJApzZXRhY2N0Y3B1AAIHYWNjb3VudARuYW1lCmNwdV93ZWlnaHQGaW50NjQ/CnNldGFjY3RuZXQAAgdhY2NvdW50BG5hbWUKbmV0X3dlaWdodAZpbnQ2ND8Kc2V0YWNjdHJhbQACB2FjY291bnQEbmFtZQlyYW1fYnl0ZXMGaW50NjQ/CnNldGFsaW1pdHMABAdhY2NvdW50BG5hbWUJcmFtX2J5dGVzBWludDY0Cm5ldF93ZWlnaHQFaW50NjQKY3B1X3dlaWdodAVpbnQ2NAdzZXRjb2RlAAUHYWNjb3VudARuYW1lBnZtdHlwZQV1aW50OAl2bXZlcnNpb24FdWludDgEY29kZQVieXRlcwRtZW1vB3N0cmluZyQMc2V0aW5mbGF0aW9uAAMLYW5udWFsX3JhdGUFaW50NjQUaW5mbGF0aW9uX3BheV9mYWN0b3IFaW50NjQOdm90ZXBheV9mYWN0b3IFaW50NjQJc2V0cGFyYW1zAAEGcGFyYW1zF2Jsb2NrY2hhaW5fcGFyYW1ldGVyc190DHNldHBheWZhY3RvcgACFGluZmxhdGlvbl9wYXlfZmFjdG9yBWludDY0DnZvdGVwYXlfZmFjdG9yBWludDY0B3NldHByaXYAAgdhY2NvdW50BG5hbWUHaXNfcHJpdgV1aW50OAZzZXRyYW0AAQxtYXhfcmFtX3NpemUGdWludDY0CnNldHJhbXJhdGUAAQ9ieXRlc19wZXJfYmxvY2sGdWludDE2BnNldHJleAABB2JhbGFuY2UFYXNzZXQMc2V0cmV4bWF0dXJlAAMXbnVtX29mX21hdHVyaXR5X2J1Y2tldHMHdWludDMyPxBzZWxsX21hdHVyZWRfcmV4BWJvb2w/EmJ1eV9yZXhfdG9fc2F2aW5ncwVib29sPwtzZXRzY2hlZHVsZQACCnN0YXJ0X3RpbWUOdGltZV9wb2ludF9zZWMPY29udGludW91c19yYXRlB2Zsb2F0NjQMdW5kZWxlZ2F0ZWJ3AAQEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUUdW5zdGFrZV9uZXRfcXVhbnRpdHkFYXNzZXQUdW5zdGFrZV9jcHVfcXVhbnRpdHkFYXNzZXQKdW5saW5rYXV0aAAEB2FjY291bnQEbmFtZQRjb2RlBG5hbWUEdHlwZQRuYW1lDWF1dGhvcml6ZWRfYnkFbmFtZSQJdW5yZWdwcm9kAAEIcHJvZHVjZXIEbmFtZQx1bnN0YWtldG9yZXgABAVvd25lcgRuYW1lCHJlY2VpdmVyBG5hbWUIZnJvbV9uZXQFYXNzZXQIZnJvbV9jcHUFYXNzZXQGdW52ZXN0AAMHYWNjb3VudARuYW1lE3VudmVzdF9uZXRfcXVhbnRpdHkFYXNzZXQTdW52ZXN0X2NwdV9xdWFudGl0eQVhc3NldAp1cGRhdGVhdXRoAAUHYWNjb3VudARuYW1lCnBlcm1pc3Npb24EbmFtZQZwYXJlbnQEbmFtZQRhdXRoCWF1dGhvcml0eQ1hdXRob3JpemVkX2J5BW5hbWUkCXVwZGF0ZXJleAABBW93bmVyBG5hbWUMdXBkdHJldmlzaW9uAAEIcmV2aXNpb24FdWludDgOdXNlcl9yZXNvdXJjZXMABAVvd25lcgRuYW1lCm5ldF93ZWlnaHQFYXNzZXQKY3B1X3dlaWdodAVhc3NldAlyYW1fYnl0ZXMFaW50NjQMdm90ZXByb2R1Y2VyAAMFdm90ZXIEbmFtZQVwcm94eQRuYW1lCXByb2R1Y2VycwZuYW1lW10Kdm90ZXJfaW5mbwAKBW93bmVyBG5hbWUFcHJveHkEbmFtZQlwcm9kdWNlcnMGbmFtZVtdBnN0YWtlZAVpbnQ2NBBsYXN0X3ZvdGVfd2VpZ2h0B2Zsb2F0NjQTcHJveGllZF92b3RlX3dlaWdodAdmbG9hdDY0CGlzX3Byb3h5BGJvb2wGZmxhZ3MxBnVpbnQzMglyZXNlcnZlZDIGdWludDMyCXJlc2VydmVkMwVhc3NldAp2b3RldXBkYXRlAAEKdm90ZXJfbmFtZQRuYW1lC3dhaXRfd2VpZ2h0AAIId2FpdF9zZWMGdWludDMyBndlaWdodAZ1aW50MTYHd2FzbWNmZwABCHNldHRpbmdzBG5hbWUId2l0aGRyYXcAAgVvd25lcgRuYW1lBmFtb3VudAVhc3NldBFsaW1pdF9hdXRoX2NoYW5nZQAEB3ZlcnNpb24FdWludDgHYWNjb3VudARuYW1lC2FsbG93X3Blcm1zBm5hbWVbXQ5kaXNhbGxvd19wZXJtcwZuYW1lW11NAAAAKpvtMjIIYWN0aXZhdGWIAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEFjdGl2YXRlIFByb3RvY29sIEZlYXR1cmUKc3VtbWFyeTogJ0FjdGl2YXRlIHByb3RvY29sIGZlYXR1cmUge3tub3dyYXAgZmVhdHVyZV9kaWdlc3R9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBhY3RpdmF0ZXMgdGhlIHByb3RvY29sIGZlYXR1cmUgd2l0aCBhIGRpZ2VzdCBvZiB7e2ZlYXR1cmVfZGlnZXN0fX0uAAAAQEkzkzsHYmlkbmFtZakOLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQmlkIE9uIGEgUHJlbWl1bSBBY2NvdW50IE5hbWUKc3VtbWFyeTogJ3t7bm93cmFwIGJpZGRlcn19IGJpZHMgb24gdGhlIHByZW1pdW0gYWNjb3VudCBuYW1lIHt7bm93cmFwIG5ld25hbWV9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgp7e2JpZGRlcn19IGJpZHMge3tiaWR9fSBvbiBhbiBhdWN0aW9uIHRvIG93biB0aGUgcHJlbWl1bSBhY2NvdW50IG5hbWUge3tuZXduYW1lfX0uCgp7e2JpZGRlcn19IHRyYW5zZmVycyB7e2JpZH19IHRvIHRoZSBzeXN0ZW0gdG8gY292ZXIgdGhlIGNvc3Qgb2YgdGhlIGJpZCwgd2hpY2ggd2lsbCBiZSByZXR1cm5lZCB0byB7e2JpZGRlcn19IG9ubHkgaWYge3tiaWRkZXJ9fSBpcyBsYXRlciBvdXRiaWQgaW4gdGhlIGF1Y3Rpb24gZm9yIHt7bmV3bmFtZX19IGJ5IGFub3RoZXIgYWNjb3VudC4KCklmIHRoZSBhdWN0aW9uIGZvciB7e25ld25hbWV9fSBjbG9zZXMgd2l0aCB7e2JpZGRlcn19IHJlbWFpbmluZyBhcyB0aGUgaGlnaGVzdCBiaWRkZXIsIHt7YmlkZGVyfX0gd2lsbCBiZSBhdXRob3JpemVkIHRvIGNyZWF0ZSB0aGUgYWNjb3VudCB3aXRoIG5hbWUge3tuZXduYW1lfX0uCgojIyBCaWQgcmVmdW5kIGJlaGF2aW9yCgpJZiB7e2JpZGRlcn194oCZcyBiaWQgb24ge3tuZXduYW1lfX0gaXMgbGF0ZXIgb3V0YmlkIGJ5IGFub3RoZXIgYWNjb3VudCwge3tiaWRkZXJ9fSB3aWxsIGJlIGFibGUgdG8gY2xhaW0gYmFjayB0aGUgdHJhbnNmZXJyZWQgYW1vdW50IG9mIHt7YmlkfX0uIFRoZSBzeXN0ZW0gd2lsbCBhdHRlbXB0IHRvIGF1dG9tYXRpY2FsbHkgZG8gdGhpcyBvbiBiZWhhbGYgb2Yge3tiaWRkZXJ9fSwgYnV0IHRoZSBhdXRvbWF0aWMgcmVmdW5kIG1heSBvY2Nhc2lvbmFsbHkgZmFpbCB3aGljaCB3aWxsIHRoZW4gcmVxdWlyZSB7e2JpZGRlcn19IHRvIG1hbnVhbGx5IGNsYWltIHRoZSByZWZ1bmQgd2l0aCB0aGUgYmlkcmVmdW5kIGFjdGlvbi4KCiMjIEF1Y3Rpb24gY2xvc2UgY3JpdGVyaWEKClRoZSBzeXN0ZW0gc2hvdWxkIGF1dG9tYXRpY2FsbHkgY2xvc2UgdGhlIGF1Y3Rpb24gZm9yIHt7bmV3bmFtZX19IGlmIGl0IHNhdGlzZmllcyB0aGUgY29uZGl0aW9uIHRoYXQgb3ZlciBhIHBlcmlvZCBvZiB0d28gbWludXRlcyB0aGUgZm9sbG93aW5nIHR3byBwcm9wZXJ0aWVzIGNvbnRpbnVvdXNseSBob2xkOgoKLSBubyBvbmUgaGFzIGJpZCBvbiB7e25ld25hbWV9fSB3aXRoaW4gdGhlIGxhc3QgMjQgaG91cnM7Ci0gYW5kLCB0aGUgdmFsdWUgb2YgdGhlIGxhdGVzdCBiaWQgb24ge3tuZXduYW1lfX0gaXMgZ3JlYXRlciB0aGFuIHRoZSB2YWx1ZSBvZiB0aGUgYmlkcyBvbiBlYWNoIG9mIHRoZSBvdGhlciBvcGVuIGF1Y3Rpb25zLgoKQmUgYXdhcmUgdGhhdCB0aGUgY29uZGl0aW9uIHRvIGNsb3NlIHRoZSBhdWN0aW9uIGRlc2NyaWJlZCBhYm92ZSBhcmUgc3VmZmljaWVudCBidXQgbm90IG5lY2Vzc2FyeS4gVGhlIGF1Y3Rpb24gZm9yIHt7bmV3bmFtZX19IGNhbm5vdCBjbG9zZSB1bmxlc3MgYm90aCBvZiB0aGUgcHJvcGVydGllcyBhcmUgc2ltdWx0YW5lb3VzbHkgc2F0aXNmaWVkLCBidXQgaXQgbWF5IGJlIGNsb3NlZCB3aXRob3V0IHJlcXVpcmluZyB0aGUgcHJvcGVydGllcyB0byBob2xkIGZvciBhIHBlcmlvZCBvZiAyIG1pbnV0ZXMuAABIUy91kzsJYmlkcmVmdW5k9AItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGFpbSBSZWZ1bmQgb24gTmFtZSBCaWQKc3VtbWFyeTogJ0NsYWltIHJlZnVuZCBvbiB7e25vd3JhcCBuZXduYW1lfX0gYmlkJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCnt7YmlkZGVyfX0gY2xhaW1zIHJlZnVuZCBvbiB7e25ld25hbWV9fSBiaWQgYWZ0ZXIgYmVpbmcgb3V0YmlkIGJ5IHNvbWVvbmUgZWxzZS4AAAAASHO9PgZidXlyYW36Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEJ1eSBSQU0Kc3VtbWFyeTogJ3t7bm93cmFwIHBheWVyfX0gYnV5cyBSQU0gb24gYmVoYWxmIG9mIHt7bm93cmFwIHJlY2VpdmVyfX0gYnkgcGF5aW5nIHt7bm93cmFwIHF1YW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KCnt7cGF5ZXJ9fSBidXlzIFJBTSBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGJ5IHBheWluZyB7e3F1YW50fX0uIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG91dCBvZiB7e3F1YW50fX0gYW5kIHRoZSBhbW91bnQgb2YgUkFNIGRlbGl2ZXJlZCB3aWxsIGRlcGVuZCBvbiBtYXJrZXQgcmF0ZXMuAMC8+khzvT4KYnV5cmFtYnVybsADLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQnV5IGFuZCBCdXJuIFJBTQpzdW1tYXJ5OiAnQnV5IGFuZCBpbW1lZGlhdGVseSBCdXJuIHt7cXVhbnRpdHl9fSBvZiBSQU0gZnJvbSB7e25vd3JhcCBwYXllcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpCdXkgYW5kIEJ1cm4ge3txdWFudGl0eX19IG9mIFJBTSBmcm9tIGFjY291bnQge3twYXllcn19LgoKe3sjaWYgbWVtb319VGhlcmUgaXMgYSBtZW1vIGF0dGFjaGVkIHRvIHRoZSBhY3Rpb24gc3RhdGluZzoKe3ttZW1vfX0Ke3svaWZ9fQCwyv5Ic70+C2J1eXJhbWJ5dGVzgQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNCnN1bW1hcnk6ICd7e25vd3JhcCBwYXllcn19IGJ1eXMge3tub3dyYXAgYnl0ZXN9fSBieXRlcyBvZiBSQU0gb24gYmVoYWxmIG9mIHt7bm93cmFwIHJlY2VpdmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KCnt7cGF5ZXJ9fSBidXlzIGFwcHJveGltYXRlbHkge3tieXRlc319IGJ5dGVzIG9mIFJBTSBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGJ5IHBheWluZyBtYXJrZXQgcmF0ZXMgZm9yIFJBTS4gVGhpcyB0cmFuc2FjdGlvbiB3aWxsIGluY3VyIGEgMC41JSBmZWUgYW5kIHRoZSBjb3N0IHdpbGwgZGVwZW5kIG9uIG1hcmtldCByYXRlcy4AwIoKS3O9PgpidXlyYW1zZWxm2AMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNIHNlbGYKc3VtbWFyeTogJ3t7bm93cmFwIGFjY291bnR9fSBidXlzIFJBTSB0byBzZWxmIGJ5IHBheWluZyB7e25vd3JhcCBxdWFudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7e2FjY291bnR9fSBidXlzIFJBTSB0byBzZWxmIGJ5IHBheWluZyB7e3F1YW50fX0uIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG91dCBvZiB7e3F1YW50fX0gYW5kIHRoZSBhbW91bnQgb2YgUkFNIGRlbGl2ZXJlZCB3aWxsIGRlcGVuZCBvbiBtYXJrZXQgcmF0ZXMuAAAAAHR1vT4GYnV5cmV41wYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkVYIFRva2VucwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IGJ1eXMgUkVYIHRva2VucyBpbiBleGNoYW5nZSBmb3Ige3tub3dyYXAgYW1vdW50fX0gYW5kIHRoZWlyIHZvdGUgc3Rha2UgaW5jcmVhc2VzIGJ5IHt7bm93cmFwIGFtb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3thbW91bnR9fSBpcyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kIGFuZCB1c2VkIHRvIHB1cmNoYXNlIFJFWCB0b2tlbnMgYXQgdGhlIGN1cnJlbnQgbWFya2V0IGV4Y2hhbmdlIHJhdGUuIEluIG9yZGVyIGZvciB0aGUgYWN0aW9uIHRvIHN1Y2NlZWQsIHt7ZnJvbX19IG11c3QgaGF2ZSB2b3RlZCBmb3IgYSBwcm94eSBvciBhdCBsZWFzdCAyMSBibG9jayBwcm9kdWNlcnMuIHt7YW1vdW50fX0gaXMgYWRkZWQgdG8ge3tmcm9tfX3igJlzIHZvdGUgc3Rha2UuCgpBIHNlbGwgb3JkZXIgb2YgdGhlIHB1cmNoYXNlZCBhbW91bnQgY2FuIG9ubHkgYmUgaW5pdGlhdGVkIGFmdGVyIHdhaXRpbmcgZm9yIHRoZSBtYXR1cml0eSBwZXJpb2Qgb2YgNCB0byA1IGRheXMgdG8gcGFzcy4gRXZlbiB0aGVuLCBkZXBlbmRpbmcgb24gdGhlIG1hcmtldCBjb25kaXRpb25zLCB0aGUgaW5pdGlhdGVkIHNlbGwgb3JkZXIgbWF5IG5vdCBiZSBleGVjdXRlZCBpbW1lZGlhdGVseS4AvIkqRYWmQQtjYW5jZWxkZWxheYoDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ2FuY2VsIERlbGF5ZWQgVHJhbnNhY3Rpb24Kc3VtbWFyeTogJ3t7bm93cmFwIGNhbmNlbGluZ19hdXRoLmFjdG9yfX0gY2FuY2VscyBhIGRlbGF5ZWQgdHJhbnNhY3Rpb24nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKe3tjYW5jZWxpbmdfYXV0aC5hY3Rvcn19IGNhbmNlbHMgdGhlIGRlbGF5ZWQgdHJhbnNhY3Rpb24gd2l0aCBpZCB7e3RyeF9pZH19LgBA1VdxWtlCCmNmZ3Bvd2VydXAAgNM1XF3pTEQMY2xhaW1yZXdhcmRz5wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGFpbSBCbG9jayBQcm9kdWNlciBSZXdhcmRzCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGNsYWltcyBibG9jayBhbmQgdm90ZSByZXdhcmRzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7e293bmVyfX0gY2xhaW1zIGJsb2NrIGFuZCB2b3RlIHJld2FyZHMgZnJvbSB0aGUgc3lzdGVtLgAAAF1dhWlECGNsb3NlcmV4lAQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGVhbnVwIFVudXNlZCBSRVggRGF0YQpzdW1tYXJ5OiAnRGVsZXRlIFJFWCByZWxhdGVkIERCIGVudHJpZXMgYW5kIGZyZWUgYXNzb2NpYXRlZCBSQU0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpEZWxldGUgUkVYIHJlbGF0ZWQgREIgZW50cmllcyBhbmQgZnJlZSBhc3NvY2lhdGVkIFJBTSBmb3Ige3tvd25lcn19LgoKVG8gZnVsbHkgZGVsZXRlIGFsbCBSRVggcmVsYXRlZCBEQiBlbnRyaWVzLCB7e293bmVyfX0gbXVzdCBlbnN1cmUgdGhhdCB0aGVpciBSRVggYmFsYW5jZSBhbmQgUkVYIGZ1bmQgYW1vdW50cyBhcmUgYm90aCB6ZXJvIGFuZCB0aGV5IGhhdmUgbm8gb3V0c3RhbmRpbmcgbG9hbnMucFW6tKsb0UQMY25jbHJleG9yZGVy6wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDYW5jZWwgU2NoZWR1bGVkIFJFWCBTZWxsIE9yZGVyCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGNhbmNlbHMgYSBzY2hlZHVsZWQgc2VsbCBvcmRlciBpZiBub3QgeWV0IGZpbGxlZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7b3duZXJ9fSBjYW5jZWxzIHRoZWlyIG9wZW4gc2VsbCBvcmRlci4AVDbJRYonRQtjb25zb2xpZGF0ZaYDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ29uc29saWRhdGUgUkVYIE1hdHVyaXR5IEJ1Y2tldHMgSW50byBPbmUKc3VtbWFyeTogJ0NvbnNvbGlkYXRlIFJFWCBtYXR1cml0eSBidWNrZXRzIGludG8gb25lJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKQ29uc29saWRhdGUgUkVYIG1hdHVyaXR5IGJ1Y2tldHMgaW50byBvbmUgYnVja2V0IHRoYXQge3tvd25lcn19IHdpbGwgbm90IGJlIGFibGUgdG8gc2VsbCB1bnRpbCA0IHRvIDUgZGF5cyBsYXRlci4AwDQ06oqWSgpkZWZjcHVsb2Fu3gMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBXaXRoZHJhdyBmcm9tIHRoZSBGdW5kIG9mIGEgU3BlY2lmaWMgQ1BVIExvYW4Kc3VtbWFyeTogJ3t7bm93cmFwIGZyb219fSB0cmFuc2ZlcnMge3tub3dyYXAgYW1vdW50fX0gZnJvbSB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tub3dyYXAgbG9hbl9udW19fSBiYWNrIHRvIFJFWCBmdW5kJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gdHJhbnNmZXJzIHt7YW1vdW50fX0gZnJvbSB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tsb2FuX251bX19IGJhY2sgdG8gUkVYIGZ1bmQuAMA0NGY1l0oKZGVmbmV0bG9hbt4DLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogV2l0aGRyYXcgZnJvbSB0aGUgRnVuZCBvZiBhIFNwZWNpZmljIE5FVCBMb2FuCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gdHJhbnNmZXJzIHt7bm93cmFwIGFtb3VudH19IGZyb20gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bm93cmFwIGxvYW5fbnVtfX0gYmFjayB0byBSRVggZnVuZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHRyYW5zZmVycyB7e2Ftb3VudH19IGZyb20gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bG9hbl9udW19fSBiYWNrIHRvIFJFWCBmdW5kLgAAPyobpqJKCmRlbGVnYXRlYnfzBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFN0YWtlIFRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUKc3VtbWFyeTogJ1N0YWtlIHRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUgYW5kIG9wdGlvbmFsbHkgdHJhbnNmZXIgb3duZXJzaGlwJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7eyNpZiB0cmFuc2Zlcn19IHt7ZnJvbX19IHN0YWtlcyBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IHt7c3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7c3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpTdGFrZWQgdG9rZW5zIHdpbGwgYWxzbyBiZSB0cmFuc2ZlcnJlZCB0byB7e3JlY2VpdmVyfX0uIFRoZSBzdW0gb2YgdGhlc2UgdHdvIHF1YW50aXRpZXMgd2lsbCBiZSBkZWR1Y3RlZCBmcm9tIHt7ZnJvbX194oCZcyBsaXF1aWQgYmFsYW5jZSBhbmQgYWRkIHRvIHRoZSB2b3RlIHdlaWdodCBvZiB7e3JlY2VpdmVyfX0uCnt7ZWxzZX19Cnt7ZnJvbX19IHN0YWtlcyB0byBzZWxmIGFuZCBkZWxlZ2F0ZXMgdG8ge3tyZWNlaXZlcn19IHt7c3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7c3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpUaGUgc3VtIG9mIHRoZXNlIHR3byBxdWFudGl0aWVzIGFkZCB0byB0aGUgdm90ZSB3ZWlnaHQgb2Yge3tmcm9tfX0uCnt7L2lmfX0AQMvaqKyiSgpkZWxldGVhdXRo9QItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZWxldGUgQWNjb3VudCBQZXJtaXNzaW9uCnN1bW1hcnk6ICdEZWxldGUgdGhlIHt7bm93cmFwIHBlcm1pc3Npb259fSBwZXJtaXNzaW9uIG9mIHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpEZWxldGUgdGhlIHt7cGVybWlzc2lvbn19IHBlcm1pc3Npb24gb2Yge3thY2NvdW50fX0uAFTUSTWEo0oLZGVsc2NoZWR1bGX8Ai0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERlbGV0ZSBBbm51YWwgUmF0ZSBTY2hlZHVsZQpzdW1tYXJ5OiAnRGVsZXRlIGFubnVhbCByYXRlIHNjaGVkdWxlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHRvIGRlbGV0ZSBhIHByZS1kZXRlcm1pbmVkIGluZmxhdGlvbiBzY2hlZHVsZSBmcm9tIHt7c3RhcnRfdGltZX19IHN0YXJ0IHRpbWUuAAAAIDtMq0oHZGVwb3NpdIgELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRGVwb3NpdCBJbnRvIFJFWCBGdW5kCnN1bW1hcnk6ICdBZGQgdG8ge3tub3dyYXAgb3duZXJ9feKAmXMgUkVYIGZ1bmQgYnkgdHJhbnNmZXJyaW5nIHt7bm93cmFwIGFtb3VudH19IGZyb20ge3tub3dyYXAgb3duZXJ9feKAmXMgbGlxdWlkIGJhbGFuY2UnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpUcmFuc2ZlciB7e2Ftb3VudH19IGZyb20ge3tvd25lcn194oCZcyBsaXF1aWQgYmFsYW5jZSB0byB7e293bmVyfX3igJlzIFJFWCBmdW5kLiBBbGwgcHJvY2VlZHMgYW5kIGV4cGVuc2VzIHJlbGF0ZWQgdG8gUkVYIGFyZSBhZGRlZCB0byBvciB0YWtlbiBvdXQgb2YgdGhpcyBmdW5kLgC6ujSrbCZNC2RvbmF0ZXRvcmV4pQMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEb25hdGUgc3lzdGVtIHRva2VucyB0byBSRVgKc3VtbWFyeTogJ3t7bm93cmFwIHBheWVyfX0gZG9uYXRlcyB7e25vd3JhcCBxdWFudGl0eX19IHRva2VucyB0byBSRVgnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e3F1YW50aXR5fX0gaXMgdGFrZW4gb3V0IG9mIHt7cGF5ZXJ9feKAmXMgdG9rZW4gYmFsYW5jZSBhbmQgZ2l2ZW4gdG8gUkVYIHdpdGggdGhlIGluY2x1ZGVkIG1lbW86ICJ7e21lbW99fSIuoKJOqiGMVFcMZXhlY3NjaGVkdWxl7QItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBFeGVjdXRlIE5leHQgQW5udWFsIFJhdGUgU2NoZWR1bGUKc3VtbWFyeTogJ0V4ZWN1dGUgbmV4dCBhbm51YWwgcmF0ZSBzY2hlZHVsZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSB0byBleGVjdXRlIHRoZSBuZXh0IHVwY29taW5nIGFubnVhbCByYXRlIHNjaGVkdWxlLgCmoVFXlKZeC2Z1bmRjcHVsb2Fu/AMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZXBvc2l0IGludG8gdGhlIEZ1bmQgb2YgYSBTcGVjaWZpYyBDUFUgTG9hbgpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IGZ1bmRzIGEgQ1BVIGxvYW4nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e2Zyb219fSB0cmFuc2ZlcnMge3twYXltZW50fX0gZnJvbSBSRVggZnVuZCB0byB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tsb2FuX251bX19IGluIG9yZGVyIHRvIGJlIHVzZWQgaW4gbG9hbiByZW5ld2FsIGF0IGV4cGlyeS4ge3tmcm9tfX0gY2FuIHdpdGhkcmF3IHRoZSB0b3RhbCBiYWxhbmNlIG9mIHRoZSBsb2FuIGZ1bmQgYXQgYW55IHRpbWUuAKahMauZpl4LZnVuZG5ldGxvYW78Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERlcG9zaXQgaW50byB0aGUgRnVuZCBvZiBhIFNwZWNpZmljIE5FVCBMb2FuCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gZnVuZHMgYSBORVQgbG9hbicKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHRyYW5zZmVycyB7e3BheW1lbnR9fSBmcm9tIFJFWCBmdW5kIHRvIHRoZSBmdW5kIG9mIE5FVCBsb2FuIG51bWJlciB7e2xvYW5fbnVtfX0gaW4gb3JkZXIgdG8gYmUgdXNlZCBpbiBsb2FuIHJlbmV3YWwgYXQgZXhwaXJ5LiB7e2Zyb219fSBjYW4gd2l0aGRyYXcgdGhlIHRvdGFsIGJhbGFuY2Ugb2YgdGhlIGxvYW4gZnVuZCBhdCBhbnkgdGltZS4AAAAAAJDddARpbml04wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBJbml0aWFsaXplIFN5c3RlbSBDb250cmFjdApzdW1tYXJ5OiAnSW5pdGlhbGl6ZSBzeXN0ZW0gY29udHJhY3QnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCkluaXRpYWxpemUgc3lzdGVtIGNvbnRyYWN0LiBUaGUgY29yZSB0b2tlbiBzeW1ib2wgd2lsbCBiZSBzZXQgdG8ge3tjb3JlfX0uwBpqWZvspIsMbGltaXRhdXRoY2hnAAAAAC1rA6eLCGxpbmthdXRonQUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBMaW5rIEFjdGlvbiB0byBQZXJtaXNzaW9uCnN1bW1hcnk6ICd7e25vd3JhcCBhY2NvdW50fX0gc2V0cyB0aGUgbWluaW11bSByZXF1aXJlZCBwZXJtaXNzaW9uIGZvciB0aGUge3sjaWYgdHlwZX19e3tub3dyYXAgdHlwZX19IGFjdGlvbiBvZiB0aGV7ey9pZn19IHt7bm93cmFwIGNvZGV9fSBjb250cmFjdCB0byB7e25vd3JhcCByZXF1aXJlbWVudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCnt7YWNjb3VudH19IHNldHMgdGhlIG1pbmltdW0gcmVxdWlyZWQgcGVybWlzc2lvbiBmb3IgdGhlIHt7I2lmIHR5cGV9fXt7dHlwZX19IGFjdGlvbiBvZiB0aGV7ey9pZn19IHt7Y29kZX19IGNvbnRyYWN0IHRvIHt7cmVxdWlyZW1lbnR9fS4KCnt7I2lmIHR5cGV9fXt7ZWxzZX19QW55IGxpbmtzIGV4cGxpY2l0bHkgYXNzb2NpYXRlZCB0byBzcGVjaWZpYyBhY3Rpb25zIG9mIHt7Y29kZX19IHdpbGwgdGFrZSBwcmVjZWRlbmNlLnt7L2lmfX0AAJDmen0YjQlsb2didXlyYW0AoNg0DUlzGY0MbG9ncmFtY2hhbmdlAACANDdGhRmNCmxvZ3NlbGxyYW0AoNSSKmOPGY0MbG9nc3lzdGVtZmVlAAAwm24bfNeWC212ZnJzYXZpbmdznAMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBVbmxvY2sgUkVYIFRva2VucwpzdW1tYXJ5OiAne3tub3dyYXAgb3duZXJ9fSB1bmxvY2tzIFJFWCBUb2tlbnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e293bmVyfX0gdW5sb2NrcyB7e3JleH19IGJ5IG1vdmluZyBpdCBvdXQgb2YgdGhlIFJFWCBzYXZpbmdzIGJ1Y2tldC4gVGhlIHVubG9ja2VkIFJFWCB0b2tlbnMgY2Fubm90IGJlIHNvbGQgdW50aWwgNCB0byA1IGRheXMgbGF0ZXIuADCbbhtM85YLbXZ0b3NhdmluZ3O6Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IExvY2sgUkVYIFRva2VucwpzdW1tYXJ5OiAne3tub3dyYXAgb3duZXJ9fSBsb2NrcyBSRVggVG9rZW5zJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tvd25lcn19IGxvY2tzIHt7cmV4fX0gYnkgbW92aW5nIGl0IGludG8gdGhlIFJFWCBzYXZpbmdzIGJ1Y2tldC4gVGhlIGxvY2tlZCBSRVggdG9rZW5zIGNhbm5vdCBiZSBzb2xkIGRpcmVjdGx5IGFuZCB3aWxsIGhhdmUgdG8gYmUgdW5sb2NrZWQgZXhwbGljaXRseSBiZWZvcmUgc2VsbGluZy4AQJ6aImS4mgpuZXdhY2NvdW50gAQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDcmVhdGUgTmV3IEFjY291bnQKc3VtbWFyeTogJ3t7bm93cmFwIGNyZWF0b3J9fSBjcmVhdGVzIGEgbmV3IGFjY291bnQgd2l0aCB0aGUgbmFtZSB7e25vd3JhcCBuYW1lfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKe3tjcmVhdG9yfX0gY3JlYXRlcyBhIG5ldyBhY2NvdW50IHdpdGggdGhlIG5hbWUge3tuYW1lfX0gYW5kIHRoZSBmb2xsb3dpbmcgcGVybWlzc2lvbnM6Cgpvd25lciBwZXJtaXNzaW9uIHdpdGggYXV0aG9yaXR5Ogp7e3RvX2pzb24gb3duZXJ9fQoKYWN0aXZlIHBlcm1pc3Npb24gd2l0aCBhdXRob3JpdHk6Cnt7dG9fanNvbiBhY3RpdmV9fQAAAAAiGs+kB29uYmxvY2sAAAAA4NJ71aQHb25lcnJvcgAAAACg6qs4rQdwb3dlcnVw1AItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBQb3dlcnVwIHJlc291cmNlcwpzdW1tYXJ5OiAnVXNlciBtYXkgcG93ZXJ1cCB0byByZXNlcnZlIHJlc291cmNlcycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Jlc291cmNlLnBuZyMzODMwZjFjZThjYjA3Zjc3NTdkYmNmMzgzYjFlYzFiMTE5MTRhYzM0YTFmOWQ4YjA2NWYwNzYwMGZhOWRhYzE5Ci0tLQoKVXNlcnMgbWF5IHVzZSB0aGUgcG93ZXJ1cCBhY3Rpb24gdG8gcmVzZXJ2ZSByZXNvdXJjZXMuAJDqquqrOK0LcG93ZXJ1cGV4ZWMAAAAAYF59pLkHcmFtYnVybqgDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQnVybiBSQU0gZnJvbSBBY2NvdW50CnN1bW1hcnk6ICdCdXJuIHVudXNlZCBSQU0gZnJvbSB7e25vd3JhcCBvd25lcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpCdXJuIHt7Ynl0ZXN9fSBieXRlcyBvZiB1bnVzZWQgUkFNIGZyb20gYWNjb3VudCB7e293bmVyfX0uCgp7eyNpZiBtZW1vfX1UaGVyZSBpcyBhIG1lbW8gYXR0YWNoZWQgdG8gdGhlIGJ1cm4gc3RhdGluZzoKe3ttZW1vfX0Ke3svaWZ9fQCuWniam6W5C3JhbXRyYW5zZmVy2QMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBUcmFuc2ZlciBSQU0gZnJvbSBBY2NvdW50CnN1bW1hcnk6ICdUcmFuc2ZlciB1bnVzZWQgUkFNIGZyb20ge3tub3dyYXAgZnJvbX19IHRvIHt7bm93cmFwIHRvfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KClRyYW5zZmVyIHt7Ynl0ZXN9fSBieXRlcyBvZiB1bnVzZWQgUkFNIGZyb20gYWNjb3VudCB7e2Zyb219fSB0byBhY2NvdW50IHt7dG99fS4KCnt7I2lmIG1lbW99fVRoZXJlIGlzIGEgbWVtbyBhdHRhY2hlZCB0byB0aGUgdHJhbnNmZXIgc3RhdGluZzoKe3ttZW1vfX0Ke3svaWZ9fQAAAACkqZe6BnJlZnVuZIcDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ2xhaW0gVW5zdGFrZWQgVG9rZW5zCnN1bW1hcnk6ICdSZXR1cm4gcHJldmlvdXNseSB1bnN0YWtlZCB0b2tlbnMgdG8ge3tub3dyYXAgb3duZXJ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpSZXR1cm4gcHJldmlvdXNseSB1bnN0YWtlZCB0b2tlbnMgdG8ge3tvd25lcn19IGFmdGVyIHRoZSB1bnN0YWtpbmcgcGVyaW9kIGhhcyBlbGFwc2VkLgCuQjrRW5m6C3JlZ3Byb2R1Y2VymQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBSZWdpc3RlciBhcyBhIEJsb2NrIFByb2R1Y2VyIENhbmRpZGF0ZQpzdW1tYXJ5OiAnUmVnaXN0ZXIge3tub3dyYXAgcHJvZHVjZXJ9fSBhY2NvdW50IGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvdm90aW5nLnBuZyNkYjI4Y2QzZGI2ZTYyZDQ1MDlhZjM2NDRjZTdkMzc3MzI5NDgyYTE0YmI0YmZhY2EyYWE1ZjE0MDBkOGU4YTg0Ci0tLQoKUmVnaXN0ZXIge3twcm9kdWNlcn19IGFjY291bnQgYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUuCgpVUkw6IHt7dXJsfX0KTG9jYXRpb24gY29kZToge3tsb2NhdGlvbn19CkJsb2NrIHNpZ25pbmcga2V5OiB7e3Byb2R1Y2VyX2tleX19CgojIyBCbG9jayBQcm9kdWNlciBBZ3JlZW1lbnQKe3skY2xhdXNlcy5CbG9ja1Byb2R1Y2VyQWdyZWVtZW50fX0grkI60VuZugxyZWdwcm9kdWNlcjKtBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlZ2lzdGVyIGFzIGEgQmxvY2sgUHJvZHVjZXIgQ2FuZGlkYXRlCnN1bW1hcnk6ICdSZWdpc3RlciB7e25vd3JhcCBwcm9kdWNlcn19IGFjY291bnQgYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy92b3RpbmcucG5nI2RiMjhjZDNkYjZlNjJkNDUwOWFmMzY0NGNlN2QzNzczMjk0ODJhMTRiYjRiZmFjYTJhYTVmMTQwMGQ4ZThhODQKLS0tCgpSZWdpc3RlciB7e3Byb2R1Y2VyfX0gYWNjb3VudCBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4KClVSTDoge3t1cmx9fQpMb2NhdGlvbiBjb2RlOiB7e2xvY2F0aW9ufX0KQmxvY2sgc2lnbmluZyBhdXRob3JpdHk6Cnt7dG9fanNvbiBwcm9kdWNlcl9hdXRob3JpdHl9fQoKIyMgQmxvY2sgUHJvZHVjZXIgQWdyZWVtZW50Cnt7JGNsYXVzZXMuQmxvY2tQcm9kdWNlckFncmVlbWVudH19AAAAvtNbmboIcmVncHJveHmjBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlZ2lzdGVyL3VucmVnaXN0ZXIgYXMgYSBQcm94eQpzdW1tYXJ5OiAnUmVnaXN0ZXIvdW5yZWdpc3RlciB7e25vd3JhcCBwcm94eX19IGFzIGEgcHJveHkgYWNjb3VudCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3ZvdGluZy5wbmcjZGIyOGNkM2RiNmU2MmQ0NTA5YWYzNjQ0Y2U3ZDM3NzMyOTQ4MmExNGJiNGJmYWNhMmFhNWYxNDAwZDhlOGE4NAotLS0KCnt7I2lmIGlzcHJveHl9fQp7e3Byb3h5fX0gcmVnaXN0ZXJzIGFzIGEgcHJveHkgdGhhdCBjYW4gdm90ZSBvbiBiZWhhbGYgb2YgYWNjb3VudHMgdGhhdCBhcHBvaW50IGl0IGFzIHRoZWlyIHByb3h5Lgp7e2Vsc2V9fQp7e3Byb3h5fX0gdW5yZWdpc3RlcnMgYXMgYSBwcm94eSB0aGF0IGNhbiB2b3RlIG9uIGJlaGFsZiBvZiBhY2NvdW50cyB0aGF0IGFwcG9pbnQgaXQgYXMgdGhlaXIgcHJveHkuCnt7L2lmfX0AAABAV5SnugdyZW50Y3B13AktLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBSZW50IENQVSBCYW5kd2lkdGggZm9yIDMwIERheXMKc3VtbWFyeTogJ3t7bm93cmFwIGZyb219fSBwYXlzIHt7bm93cmFwIGxvYW5fcGF5bWVudH19IHRvIHJlbnQgQ1BVIGJhbmR3aWR0aCBmb3Ige3tub3dyYXAgcmVjZWl2ZXJ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHBheXMge3tsb2FuX3BheW1lbnR9fSB0byByZW50IENQVSBiYW5kd2lkdGggb24gYmVoYWxmIG9mIHt7cmVjZWl2ZXJ9fSBmb3IgYSBwZXJpb2Qgb2YgMzAgZGF5cy4KCnt7bG9hbl9wYXltZW50fX0gaXMgdGFrZW4gb3V0IG9mIHt7ZnJvbX194oCZcyBSRVggZnVuZC4gVGhlIG1hcmtldCBwcmljZSBkZXRlcm1pbmVzIHRoZSBudW1iZXIgb2YgdG9rZW5zIHRvIGJlIHN0YWtlZCB0byB7e3JlY2VpdmVyfX3igJlzIENQVSByZXNvdXJjZXMuIEluIGFkZGl0aW9uLCB7e2Zyb219fSBwcm92aWRlcyB7e2xvYW5fZnVuZH19LCB3aGljaCBpcyBhbHNvIHRha2VuIG91dCBvZiB7e2Zyb219feKAmXMgUkVYIGZ1bmQsIHRvIGJlIHVzZWQgZm9yIGF1dG9tYXRpYyByZW5ld2FsIG9mIHRoZSBsb2FuLgoKQXQgZXhwaXJhdGlvbiwgaWYgdGhlIGxvYW4gaGFzIGxlc3MgZnVuZHMgdGhhbiB7e2xvYW5fcGF5bWVudH19LCBpdCBpcyBjbG9zZWQgYW5kIGxlbnQgdG9rZW5zIHRoYXQgaGF2ZSBiZWVuIHN0YWtlZCBhcmUgdGFrZW4gb3V0IG9mIHt7cmVjZWl2ZXJ9feKAmXMgQ1BVIGJhbmR3aWR0aC4gT3RoZXJ3aXNlLCBpdCBpcyByZW5ld2VkIGF0IHRoZSBtYXJrZXQgcHJpY2UgYXQgdGhlIHRpbWUgb2YgcmVuZXdhbCwgdGhhdCBpcywgdGhlIG51bWJlciBvZiBzdGFrZWQgdG9rZW5zIGlzIHJlY2FsY3VsYXRlZCBhbmQge3tyZWNlaXZlcn194oCZcyBDUFUgYmFuZHdpZHRoIGlzIHVwZGF0ZWQgYWNjb3JkaW5nbHkuIHt7ZnJvbX19IGNhbiBmdW5kIG9yIGRlZnVuZCBhIGxvYW4gYXQgYW55IHRpbWUgYmVmb3JlIGV4cGlyYXRpb24uIFdoZW4gdGhlIGxvYW4gaXMgY2xvc2VkLCB7e2Zyb219fSBpcyByZWZ1bmRlZCBhbnkgdG9rZW5zIHJlbWFpbmluZyBpbiB0aGUgbG9hbiBmdW5kLgAAACCrmae6B3JlbnRuZXToCS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlbnQgTkVUIEJhbmR3aWR0aCBmb3IgMzAgRGF5cwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IHBheXMge3tub3dyYXAgbG9hbl9wYXltZW50fX0gdG8gcmVudCBORVQgYmFuZHdpZHRoIGZvciB7e25vd3JhcCByZWNlaXZlcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gcGF5cyB7e2xvYW5fcGF5bWVudH19IHRvIHJlbnQgTkVUIGJhbmR3aWR0aCBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGZvciBhIHBlcmlvZCBvZiAzMCBkYXlzLgoKe3tsb2FuX3BheW1lbnR9fSBpcyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kLiBUaGUgbWFya2V0IHByaWNlIGRldGVybWluZXMgdGhlIG51bWJlciBvZiB0b2tlbnMgdG8gYmUgc3Rha2VkIHRvIHt7cmVjZWl2ZXJ9feKAmXMgTkVUIHJlc291cmNlcyBmb3IgMzAgZGF5cy4gSW4gYWRkaXRpb24sIHt7ZnJvbX19IHByb3ZpZGVzIHt7bG9hbl9mdW5kfX0sIHdoaWNoIGlzIGFsc28gdGFrZW4gb3V0IG9mIHt7ZnJvbX194oCZcyBSRVggZnVuZCwgdG8gYmUgdXNlZCBmb3IgYXV0b21hdGljIHJlbmV3YWwgb2YgdGhlIGxvYW4uCgpBdCBleHBpcmF0aW9uLCBpZiB0aGUgbG9hbiBoYXMgbGVzcyBmdW5kcyB0aGFuIHt7bG9hbl9wYXltZW50fX0sIGl0IGlzIGNsb3NlZCBhbmQgbGVudCB0b2tlbnMgdGhhdCBoYXZlIGJlZW4gc3Rha2VkIGFyZSB0YWtlbiBvdXQgb2Yge3tyZWNlaXZlcn194oCZcyBORVQgYmFuZHdpZHRoLiBPdGhlcndpc2UsIGl0IGlzIHJlbmV3ZWQgYXQgdGhlIG1hcmtldCBwcmljZSBhdCB0aGUgdGltZSBvZiByZW5ld2FsLCB0aGF0IGlzLCB0aGUgbnVtYmVyIG9mIHN0YWtlZCB0b2tlbnMgaXMgcmVjYWxjdWxhdGVkIGFuZCB7e3JlY2VpdmVyfX3igJlzIE5FVCBiYW5kd2lkdGggaXMgdXBkYXRlZCBhY2NvcmRpbmdseS4ge3tmcm9tfX0gY2FuIGZ1bmQgb3IgZGVmdW5kIGEgbG9hbiBhdCBhbnkgdGltZSBiZWZvcmUgZXhwaXJhdGlvbi4gV2hlbiB0aGUgbG9hbiBpcyBjbG9zZWQsIHt7ZnJvbX19IGlzIHJlZnVuZGVkIGFueSB0b2tlbnMgcmVtYWluaW5nIGluIHRoZSBsb2FuIGZ1bmQuAAAAAKmuuroHcmV4ZXhlY6IDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUGVyZm9ybSBSRVggTWFpbnRlbmFuY2UKc3VtbWFyeTogJ1Byb2Nlc3Mgc2VsbCBvcmRlcnMgYW5kIGV4cGlyZWQgbG9hbnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpQZXJmb3JtcyBSRVggbWFpbnRlbmFuY2UgYnkgcHJvY2Vzc2luZyBhIG1heGltdW0gb2Yge3ttYXh9fSBSRVggc2VsbCBvcmRlcnMgYW5kIGV4cGlyZWQgbG9hbnMuIEFueSBhY2NvdW50IGNhbiBleGVjdXRlIHRoaXMgYWN0aW9uLgCuQjrRW7e8C3JtdnByb2R1Y2VyggUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBGb3JjaWJseSBVbnJlZ2lzdGVyIGEgQmxvY2sgUHJvZHVjZXIgQ2FuZGlkYXRlCnN1bW1hcnk6ICd7e25vd3JhcCBwcm9kdWNlcn19IGlzIHVucmVnaXN0ZXJlZCBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSB1bnJlZ2lzdGVycyB7e3Byb2R1Y2VyfX0gYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUuIHt7cHJvZHVjZXJ9fSBhY2NvdW50IHdpbGwgcmV0YWluIGl0cyB2b3RlcyBhbmQgdGhvc2Ugdm90ZXMgY2FuIGNoYW5nZSBiYXNlZCBvbiB2b3RlciBzdGFrZSBjaGFuZ2VzIG9yIHZvdGVzIHJlbW92ZWQgZnJvbSB7e3Byb2R1Y2VyfX0uIEhvd2V2ZXIgbmV3IHZvdGVycyB3aWxsIG5vdCBiZSBhYmxlIHRvIHZvdGUgZm9yIHt7cHJvZHVjZXJ9fSB3aGlsZSBpdCByZW1haW5zIHVucmVnaXN0ZXJlZC4AAABAmhujwgdzZWxscmFtxQMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZWxsIFJBTSBGcm9tIEFjY291bnQKc3VtbWFyeTogJ1NlbGwgdW51c2VkIFJBTSBmcm9tIHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Jlc291cmNlLnBuZyMzODMwZjFjZThjYjA3Zjc3NTdkYmNmMzgzYjFlYzFiMTE5MTRhYzM0YTFmOWQ4YjA2NWYwNzYwMGZhOWRhYzE5Ci0tLQoKU2VsbCB7e2J5dGVzfX0gYnl0ZXMgb2YgdW51c2VkIFJBTSBmcm9tIGFjY291bnQge3thY2NvdW50fX0gYXQgbWFya2V0IHByaWNlLiBUaGlzIHRyYW5zYWN0aW9uIHdpbGwgaW5jdXIgYSAwLjUlIGZlZSBvbiB0aGUgcHJvY2VlZHMgd2hpY2ggZGVwZW5kIG9uIG1hcmtldCByYXRlcy4AAACgqxujwgdzZWxscmV47AotLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZWxsIFJFWCBUb2tlbnMgaW4gRXhjaGFuZ2UgZm9yIEVPUwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IHNlbGxzIHt7bm93cmFwIHJleH19IHRva2VucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KClRoZSAncmV4JyBwYXJhbWV0ZXIgbm8gbG9uZ2VyIGhhcyBhbiBlZmZlY3QuCgp7e2Zyb219fSBpbml0aWF0ZXMgYSBzZWxsIG9yZGVyIHRvIHNlbGwgYWxsIG9mIHRoZWlyIG1hdHVyZWQgUkVYIHRva2VucyBhdCB0aGUgbWFya2V0IGV4Y2hhbmdlIHJhdGUgZHVyaW5nIHRoZSB0aW1lIGF0IHdoaWNoIHRoZSBvcmRlciBpcyB1bHRpbWF0ZWx5IGV4ZWN1dGVkLiAKSWYge3tmcm9tfX0gYWxyZWFkeSBoYXMgYW4gb3BlbiBzZWxsIG9yZGVyIGluIHRoZSBzZWxsIHF1ZXVlLCB7e3JleH19IHdpbGwgYmUgYWRkZWQgdG8gdGhlIGFtb3VudCBvZiB0aGUgc2VsbCBvcmRlciB3aXRob3V0IGNoYW5nZSB0aGUgcG9zaXRpb24gb2YgdGhlIHNlbGwgb3JkZXIgd2l0aGluIHRoZSBxdWV1ZS4gCk9uY2UgdGhlIHNlbGwgb3JkZXIgaXMgZXhlY3V0ZWQsIHByb2NlZWRzIGFyZSBhZGRlZCB0byB7e2Zyb219feKAmXMgUkVYIGZ1bmQsIHRoZSB2YWx1ZSBvZiBzb2xkIFJFWCB0b2tlbnMgaXMgZGVkdWN0ZWQgZnJvbSB7e2Zyb219feKAmXMgdm90ZSBzdGFrZSwgYW5kIHZvdGVzIGFyZSB1cGRhdGVkIGFjY29yZGluZ2x5LgoKRGVwZW5kaW5nIG9uIHRoZSBtYXJrZXQgY29uZGl0aW9ucywgaXQgbWF5IG5vdCBiZSBwb3NzaWJsZSB0byBmaWxsIHRoZSBlbnRpcmUgc2VsbCBvcmRlciBpbW1lZGlhdGVseS4gSW4gc3VjaCBhIGNhc2UsIHRoZSBzZWxsIG9yZGVyIGlzIGFkZGVkIHRvIHRoZSBiYWNrIG9mIGEgc2VsbCBxdWV1ZS4gCkEgc2VsbCBvcmRlciBhdCB0aGUgZnJvbnQgb2YgdGhlIHNlbGwgcXVldWUgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGV4ZWN1dGVkIHdoZW4gdGhlIG1hcmtldCBjb25kaXRpb25zIGFsbG93IGZvciB0aGUgZW50aXJlIG9yZGVyIHRvIGJlIGZpbGxlZC4gUmVnYXJkbGVzcyBvZiB0aGUgbWFya2V0IGNvbmRpdGlvbnMsIAp0aGUgc3lzdGVtIGlzIGRlc2lnbmVkIHRvIGV4ZWN1dGUgdGhpcyBzZWxsIG9yZGVyIHdpdGhpbiAzMCBkYXlzLiB7e2Zyb219fSBjYW4gY2FuY2VsIHRoZSBvcmRlciBhdCBhbnkgdGltZSBiZWZvcmUgaXQgaXMgZmlsbGVkIHVzaW5nIHRoZSBjbmNscmV4b3JkZXIgYWN0aW9uLgAAAAC4Y7LCBnNldGFiafMCLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRGVwbG95IENvbnRyYWN0IEFCSQpzdW1tYXJ5OiAnRGVwbG95IGNvbnRyYWN0IEFCSSBvbiBhY2NvdW50IHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpEZXBsb3kgdGhlIEFCSSBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29udHJhY3Qgb24gYWNjb3VudCB7e2FjY291bnR9fS4AgK4oI2SywgpzZXRhY2N0Y3B1ngYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBFeHBsaWNpdGx5IE1hbmFnZSB0aGUgQ1BVIFF1b3RhIG9mIEFjY291bnQKc3VtbWFyeTogJ0V4cGxpY2l0bHkgbWFuYWdlIHRoZSBDUFUgYmFuZHdpZHRoIHF1b3RhIG9mIGFjY291bnQge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyNpZl9oYXNfdmFsdWUgY3B1X3dlaWdodH19CkV4cGxpY2l0bHkgbWFuYWdlIHRoZSBDUFUgYmFuZHdpZHRoIHF1b3RhIG9mIGFjY291bnQge3thY2NvdW50fX0gYnkgcGlubmluZyBpdCB0byBhIHdlaWdodCBvZiB7e2NwdV93ZWlnaHR9fS4KCnt7YWNjb3VudH19IGNhbiBzdGFrZSBhbmQgdW5zdGFrZSwgaG93ZXZlciwgaXQgd2lsbCBub3QgY2hhbmdlIHRoZWlyIENQVSBiYW5kd2lkdGggcXVvdGEgYXMgbG9uZyBhcyBpdCByZW1haW5zIHBpbm5lZC4Ke3tlbHNlfX0KVW5waW4gdGhlIENQVSBiYW5kd2lkdGggcXVvdGEgb2YgYWNjb3VudCB7e2FjY291bnR9fS4gVGhlIENQVSBiYW5kd2lkdGggcXVvdGEgb2Yge3thY2NvdW50fX0gd2lsbCBiZSBkcml2ZW4gYnkgdGhlIGN1cnJlbnQgdG9rZW5zIHN0YWtlZCBmb3IgQ1BVIGJhbmR3aWR0aCBieSB7e2FjY291bnR9fS4Ke3svaWZfaGFzX3ZhbHVlfX0AQFYzI2SywgpzZXRhY2N0bmV0ogYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBFeHBsaWNpdGx5IE1hbmFnZSB0aGUgTkVUIFF1b3RhIG9mIEFjY291bnQKc3VtbWFyeTogJ0V4cGxpY2l0bHkgbWFuYWdlIHRoZSBORVQgYmFuZHdpZHRoIHF1b3RhIG9mIGFjY291bnQge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyNpZl9oYXNfdmFsdWUgbmV0X3dlaWdodH19CkV4cGxpY2l0bHkgbWFuYWdlIHRoZSBuZXR3b3JrIGJhbmR3aWR0aCBxdW90YSBvZiBhY2NvdW50IHt7YWNjb3VudH19IGJ5IHBpbm5pbmcgaXQgdG8gYSB3ZWlnaHQgb2Yge3tuZXRfd2VpZ2h0fX0uCgp7e2FjY291bnR9fSBjYW4gc3Rha2UgYW5kIHVuc3Rha2UsIGhvd2V2ZXIsIGl0IHdpbGwgbm90IGNoYW5nZSB0aGVpciBORVQgYmFuZHdpZHRoIHF1b3RhIGFzIGxvbmcgYXMgaXQgcmVtYWlucyBwaW5uZWQuCnt7ZWxzZX19ClVucGluIHRoZSBORVQgYmFuZHdpZHRoIHF1b3RhIG9mIGFjY291bnQge3thY2NvdW50fX0uIFRoZSBORVQgYmFuZHdpZHRoIHF1b3RhIG9mIHt7YWNjb3VudH19IHdpbGwgYmUgZHJpdmVuIGJ5IHRoZSBjdXJyZW50IHRva2VucyBzdGFrZWQgZm9yIE5FVCBiYW5kd2lkdGggYnkge3thY2NvdW50fX0uCnt7L2lmX2hhc192YWx1ZX19AIA0NyNkssIKc2V0YWNjdHJhbdAFLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRXhwbGljaXRseSBNYW5hZ2UgdGhlIFJBTSBRdW90YSBvZiBBY2NvdW50CnN1bW1hcnk6ICdFeHBsaWNpdGx5IG1hbmFnZSB0aGUgUkFNIHF1b3RhIG9mIGFjY291bnQge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyNpZl9oYXNfdmFsdWUgcmFtX2J5dGVzfX0KRXhwbGljaXRseSBtYW5hZ2UgdGhlIFJBTSBxdW90YSBvZiBhY2NvdW50IHt7YWNjb3VudH19IGJ5IHBpbm5pbmcgaXQgdG8ge3tyYW1fYnl0ZXN9fSBieXRlcy4KCnt7YWNjb3VudH19IGNhbiBidXkgYW5kIHNlbGwgUkFNLCBob3dldmVyLCBpdCB3aWxsIG5vdCBjaGFuZ2UgdGhlaXIgUkFNIHF1b3RhIGFzIGxvbmcgYXMgaXQgcmVtYWlucyBwaW5uZWQuCnt7ZWxzZX19ClVucGluIHRoZSBSQU0gcXVvdGEgb2YgYWNjb3VudCB7e2FjY291bnR9fS4gVGhlIFJBTSBxdW90YSBvZiB7e2FjY291bnR9fSB3aWxsIGJlIGRyaXZlbiBieSB0aGUgY3VycmVudCBSQU0gaG9sZGluZ3Mgb2Yge3thY2NvdW50fX0uCnt7L2lmX2hhc192YWx1ZX19AADOTrpossIKc2V0YWxpbWl0c/YDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQWRqdXN0IFJlc291cmNlIExpbWl0cyBvZiBBY2NvdW50CnN1bW1hcnk6ICdBZGp1c3QgcmVzb3VyY2UgbGltaXRzIG9mIGFjY291bnQge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHVwZGF0ZXMge3thY2NvdW50fX3igJlzIHJlc291cmNlIGxpbWl0cyB0byBoYXZlIGEgUkFNIHF1b3RhIG9mIHt7cmFtX2J5dGVzfX0gYnl0ZXMsIGEgTkVUIGJhbmR3aWR0aCBxdW90YSBvZiB7e25ldF93ZWlnaHR9fSBhbmQgYSBDUFUgYmFuZHdpZHRoIHF1b3RhIG9mIHt7Y3B1X3dlaWdodH19LgAAAEAlirLCB3NldGNvZGXmAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERlcGxveSBDb250cmFjdCBDb2RlCnN1bW1hcnk6ICdEZXBsb3kgY29udHJhY3QgY29kZSBvbiBhY2NvdW50IHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpEZXBsb3kgY29tcGlsZWQgY29udHJhY3QgY29kZSB0byB0aGUgYWNjb3VudCB7e2FjY291bnR9fS4wqcsmrumywgxzZXRpbmZsYXRpb27rBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNldCBJbmZsYXRpb24gUGFyYW1ldGVycwpzdW1tYXJ5OiAnU2V0IGluZmxhdGlvbiBwYXJhbWV0ZXJzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHNldHMgdGhlIGluZmxhdGlvbiBwYXJhbWV0ZXJzIGFzIGZvbGxvd3M6CgoqIEFubnVhbCBpbmZsYXRpb24gcmF0ZSAoaW4gdW5pdHMgb2YgYSBodW5kcmVkdGggb2YgYSBwZXJjZW50KToge3thbm51YWxfcmF0ZX19CiogRnJhY3Rpb24gb2YgaW5mbGF0aW9uIHVzZWQgdG8gcmV3YXJkIGJsb2NrIHByb2R1Y2VyczogMTAwMDAve3tpbmZsYXRpb25fcGF5X2ZhY3Rvcn19CiogRnJhY3Rpb24gb2YgYmxvY2sgcHJvZHVjZXIgcmV3YXJkcyB0byBiZSBkaXN0cmlidXRlZCBwcm9wb3J0aW9uYWwgdG8gYmxvY2tzIHByb2R1Y2VkOiAxMDAwMC97e3ZvdGVwYXlfZmFjdG9yfX0AAMDSXFOzwglzZXRwYXJhbXPQAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNldCBTeXN0ZW0gUGFyYW1ldGVycwpzdW1tYXJ5OiAnU2V0IFN5c3RlbSBQYXJhbWV0ZXJzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHNldHMgc3lzdGVtIHBhcmFtZXRlcnMgdG86Cnt7dG9fanNvbiBwYXJhbXN9fXBpRmZ5U7PCDHNldHBheWZhY3RvcokELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogU2V0IFBheSBGYWN0b3JzCnN1bW1hcnk6ICdTZXQgcGF5IGZhY3RvcnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gc2V0cyB0aGUgaW5mbGF0aW9uIHBhcmFtZXRlcnMgYXMgZm9sbG93czoKCiogRnJhY3Rpb24gb2YgaW5mbGF0aW9uIHVzZWQgdG8gcmV3YXJkIGJsb2NrIHByb2R1Y2VyczogMTAwMDAve3tpbmZsYXRpb25fcGF5X2ZhY3Rvcn19CiogRnJhY3Rpb24gb2YgYmxvY2sgcHJvZHVjZXIgcmV3YXJkcyB0byBiZSBkaXN0cmlidXRlZCBwcm9wb3J0aW9uYWwgdG8gYmxvY2tzIHByb2R1Y2VkOiAxMDAwMC97e3ZvdGVwYXlfZmFjdG9yfX0AAABgu1uzwgdzZXRwcml2jQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBNYWtlIGFuIEFjY291bnQgUHJpdmlsZWdlZCBvciBVbnByaXZpbGVnZWQKc3VtbWFyeTogJ3t7I2lmIGlzX3ByaXZ9fU1ha2Uge3tub3dyYXAgYWNjb3VudH19IHByaXZpbGVnZWR7e2Vsc2V9fVJlbW92ZSBwcml2aWxlZ2VkIHN0YXR1cyBvZiB7e25vd3JhcCBhY2NvdW50fX17ey9pZn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyNpZiBpc19wcml2fX0Ke3skYWN0aW9uLmFjY291bnR9fSBtYWtlcyB7e2FjY291bnR9fSBwcml2aWxlZ2VkLgp7e2Vsc2V9fQp7eyRhY3Rpb24uYWNjb3VudH19IHJlbW92ZXMgcHJpdmlsZWdlZCBzdGF0dXMgb2Yge3thY2NvdW50fX0uCnt7L2lmfX0AAAAASHOzwgZzZXRyYW3mAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IENvbmZpZ3VyZSB0aGUgQXZhaWxhYmxlIFJBTQpzdW1tYXJ5OiAnQ29uZmlndXJlIHRoZSBhdmFpbGFibGUgUkFNJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IGNvbmZpZ3VyZXMgdGhlIGF2YWlsYWJsZSBSQU0gdG8ge3ttYXhfcmFtX3NpemV9fSBieXRlcy4AgMrmSnOzwgpzZXRyYW1yYXRlhQMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgdGhlIFJhdGUgb2YgSW5jcmVhc2Ugb2YgUkFNCnN1bW1hcnk6ICdTZXQgdGhlIHJhdGUgb2YgaW5jcmVhc2Ugb2YgUkFNIHBlciBibG9jaycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBzZXRzIHRoZSByYXRlIG9mIGluY3JlYXNlIG9mIFJBTSB0byB7e2J5dGVzX3Blcl9ibG9ja319IGJ5dGVzL2Jsb2NrLgAAAAB0dbPCBnNldHJleLcDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQWRqdXN0IFJFWCBQb29sIFZpcnR1YWwgQmFsYW5jZQpzdW1tYXJ5OiAnQWRqdXN0IFJFWCBQb29sIFZpcnR1YWwgQmFsYW5jZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBhZGp1c3RzIFJFWCBsb2FuIHJhdGUgYnkgc2V0dGluZyBSRVggcG9vbCB2aXJ0dWFsIGJhbGFuY2UgdG8ge3tiYWxhbmNlfX0uIE5vIHRva2VuIHRyYW5zZmVyIG9yIGlzc3VlIGlzIGV4ZWN1dGVkIGluIHRoaXMgYWN0aW9uLqCuzkZ2dbPCDHNldHJleG1hdHVyZYkFLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogU2V0IFJFWCBNYXR1cml0eSBTZXR0aW5ncwpzdW1tYXJ5OiAnU2V0cyB0aGUgb3B0aW9ucyBmb3IgUkVYIG1hdHVyaXR5IGJ1Y2tldHMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7eyNpZiBudW1fb2ZfbWF0dXJpdHlfYnVja2V0c319CiAgU2V0cyB0aGUgbnVtYmVycyBvZiBtYXR1cml0eSBidWNrZXRzIHRvICd7e251bV9vZl9tYXR1cml0eV9idWNrZXRzfX0nCnt7L2lmfX0KCnt7I2lmIHNlbGxfbWF0dXJlZF9yZXh9fQogIFNldHMgd2hldGhlciBvciBub3QgdG8gaW1tZWRpYXRlbHkgc2VsbCBtYXR1cmVkIFJFWCB0byAne3tzZWxsX21hdHVyZWRfcmV4fX0nCnt7L2lmfX0KCnt7I2lmIGJ1eV9yZXhfdG9fc2F2aW5nc319CiAgU2V0cyB3aGV0aGVyIG9yIG5vdCB0byBpbW1lZGlhdGVseSBtb3ZlIHB1cmNoYXNlZCBSRVggdG8gc2F2aW5ncyB0byAne3tidXlfcmV4X3RvX3NhdmluZ3N9fScKe3svaWZ9fQBU1Ek1hLPCC3NldHNjaGVkdWxl2gMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgQW5udWFsIFJhdGUgU2NoZWR1bGUKc3VtbWFyeTogJ1NldCBhbm51YWwgcmF0ZSBwYXJhbWV0ZXJzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHNldHMgYSBwcmUtZGV0ZXJtaW5lZCBpbmZsYXRpb24gc2NoZWR1bGUgdG8gYWRqdXN0IHBhcmFtZXRlcnMgYXMgZm9sbG93czoKCiogU3RhcnQgdGltZSBvZiB0aGUgc2NoZWR1bGU6IHt7c3RhcnRfdGltZX19CiogVGhlIGNvbnRpbnVvdXMgcmF0ZSBvZiBpbmZsYXRpb246IHt7Y29udGludW91c19yYXRlfX3Aj8qGqajS1Ax1bmRlbGVnYXRlYnehBy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVuc3Rha2UgVG9rZW5zIGZvciBORVQgYW5kL29yIENQVQpzdW1tYXJ5OiAnVW5zdGFrZSB0b2tlbnMgZm9yIE5FVCBhbmQvb3IgQ1BVIGZyb20ge3tub3dyYXAgcmVjZWl2ZXJ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Jlc291cmNlLnBuZyMzODMwZjFjZThjYjA3Zjc3NTdkYmNmMzgzYjFlYzFiMTE5MTRhYzM0YTFmOWQ4YjA2NWYwNzYwMGZhOWRhYzE5Ci0tLQoKe3tmcm9tfX0gdW5zdGFrZXMgZnJvbSB7e3JlY2VpdmVyfX0ge3t1bnN0YWtlX25ldF9xdWFudGl0eX19IGZvciBORVQgYmFuZHdpZHRoIGFuZCB7e3Vuc3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpUaGUgc3VtIG9mIHRoZXNlIHR3byBxdWFudGl0aWVzIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSB2b3RlIHdlaWdodCBvZiB7e3JlY2VpdmVyfX0gYW5kIHdpbGwgYmUgbWFkZSBhdmFpbGFibGUgdG8ge3tmcm9tfX0gYWZ0ZXIgYW4gdW5pbnRlcnJ1cHRlZCAzIGRheSBwZXJpb2Qgd2l0aG91dCBmdXJ0aGVyIHVuc3Rha2luZyBieSB7e2Zyb219fS4gQWZ0ZXIgdGhlIHVuaW50ZXJydXB0ZWQgMyBkYXkgcGVyaW9kIHBhc3NlcywgdGhlIHN5c3RlbSB3aWxsIGF0dGVtcHQgdG8gYXV0b21hdGljYWxseSByZXR1cm4gdGhlIGZ1bmRzIHRvIHt7ZnJvbX194oCZcyByZWd1bGFyIHRva2VuIGJhbGFuY2UuIEhvd2V2ZXIsIHRoaXMgYXV0b21hdGljIHJlZnVuZCBtYXkgb2NjYXNpb25hbGx5IGZhaWwgd2hpY2ggd2lsbCB0aGVuIHJlcXVpcmUge3tmcm9tfX0gdG8gbWFudWFsbHkgY2xhaW0gdGhlIGZ1bmRzIHdpdGggdGhlIHJlZnVuZCBhY3Rpb24uAEDL2sDp4tQKdW5saW5rYXV0aJEFLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVW5saW5rIEFjdGlvbiBmcm9tIFBlcm1pc3Npb24Kc3VtbWFyeTogJ3t7bm93cmFwIGFjY291bnR9fSB1bnNldHMgdGhlIG1pbmltdW0gcmVxdWlyZWQgcGVybWlzc2lvbiBmb3IgdGhlIHt7I2lmIHR5cGV9fXt7bm93cmFwIHR5cGV9fSBhY3Rpb24gb2YgdGhle3svaWZ9fSB7e25vd3JhcCBjb2RlfX0gY29udHJhY3QnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKe3thY2NvdW50fX0gcmVtb3ZlcyB0aGUgYXNzb2NpYXRpb24gYmV0d2VlbiB0aGUge3sjaWYgdHlwZX19e3t0eXBlfX0gYWN0aW9uIG9mIHRoZXt7L2lmfX0ge3tjb2RlfX0gY29udHJhY3QgYW5kIGl0cyBtaW5pbXVtIHJlcXVpcmVkIHBlcm1pc3Npb24uCgp7eyNpZiB0eXBlfX17e2Vsc2V9fVRoaXMgd2lsbCBub3QgcmVtb3ZlIGFueSBsaW5rcyBleHBsaWNpdGx5IGFzc29jaWF0ZWQgdG8gc3BlY2lmaWMgYWN0aW9ucyBvZiB7e2NvZGV9fS57ey9pZn19AABI9Fam7tQJdW5yZWdwcm9k5QQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBVbnJlZ2lzdGVyIGFzIGEgQmxvY2sgUHJvZHVjZXIgQ2FuZGlkYXRlCnN1bW1hcnk6ICd7e25vd3JhcCBwcm9kdWNlcn19IHVucmVnaXN0ZXJzIGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvdm90aW5nLnBuZyNkYjI4Y2QzZGI2ZTYyZDQ1MDlhZjM2NDRjZTdkMzc3MzI5NDgyYTE0YmI0YmZhY2EyYWE1ZjE0MDBkOGU4YTg0Ci0tLQoKe3twcm9kdWNlcn19IHVucmVnaXN0ZXJzIGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlLiB7e3Byb2R1Y2VyfX0gYWNjb3VudCB3aWxsIHJldGFpbiBpdHMgdm90ZXMgYW5kIHRob3NlIHZvdGVzIGNhbiBjaGFuZ2UgYmFzZWQgb24gdm90ZXIgc3Rha2UgY2hhbmdlcyBvciB2b3RlcyByZW1vdmVkIGZyb20ge3twcm9kdWNlcn19LiBIb3dldmVyIG5ldyB2b3RlcnMgd2lsbCBub3QgYmUgYWJsZSB0byB2b3RlIGZvciB7e3Byb2R1Y2VyfX0gd2hpbGUgaXQgcmVtYWlucyB1bnJlZ2lzdGVyZWQu0NWlWUGT8dQMdW5zdGFrZXRvcmV44wYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkVYIFRva2VucyBVc2luZyBTdGFrZWQgVG9rZW5zCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGJ1eXMgUkVYIHRva2VucyBpbiBleGNoYW5nZSBmb3IgdG9rZW5zIGN1cnJlbnRseSBzdGFrZWQgdG8gTkVUIGFuZC9vciBDUFUnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e2Zyb21fbmV0fX0gYW5kIHt7ZnJvbV9jcHV9fSBhcmUgd2l0aGRyYXduIGZyb20ge3tyZWNlaXZlcn194oCZcyBORVQgYW5kIENQVSBiYW5kd2lkdGhzIHJlc3BlY3RpdmVseS4gVGhlc2UgZnVuZHMgYXJlIHVzZWQgdG8gcHVyY2hhc2UgUkVYIHRva2VucyBhdCB0aGUgY3VycmVudCBtYXJrZXQgZXhjaGFuZ2UgcmF0ZS4gSW4gb3JkZXIgZm9yIHRoZSBhY3Rpb24gdG8gc3VjY2VlZCwge3tvd25lcn19IG11c3QgaGF2ZSB2b3RlZCBmb3IgYSBwcm94eSBvciBhdCBsZWFzdCAyMSBibG9jayBwcm9kdWNlcnMuCgpBIHNlbGwgb3JkZXIgb2YgdGhlIHB1cmNoYXNlZCBhbW91bnQgY2FuIG9ubHkgYmUgaW5pdGlhdGVkIGFmdGVyIHdhaXRpbmcgZm9yIHRoZSBtYXR1cml0eSBwZXJpb2Qgb2YgNCB0byA1IGRheXMgdG8gcGFzcy4gRXZlbiB0aGVuLCBkZXBlbmRpbmcgb24gdGhlIG1hcmtldCBjb25kaXRpb25zLCB0aGUgaW5pdGlhdGVkIHNlbGwgb3JkZXIgbWF5IG5vdCBiZSBleGVjdXRlZCBpbW1lZGlhdGVseS4AAAAAZKz21AZ1bnZlc3SpAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVudmVzdCBUb2tlbnMKc3VtbWFyeTogJ1JlY2xhaW0gYW5kIHJldGlyZSB1bnZlc3RlZCB0b2tlbnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KClJlY2xhaW0gYW5kIHJldGlyZSB7eyRhY3Rpb24udW52ZXN0X25ldF9xdWFudGl0eX19IGFuZCB7eyRhY3Rpb24udW52ZXN0X2NwdV9xdWFudGl0eX19IHdvcnRoIG9mIHVudmVzdGVkIHRva2VucyBmcm9tIHRoZSBhY2NvdW50IHt7JGFjdGlvbi5hY2NvdW50fX0uAEDL2qhsUtUKdXBkYXRlYXV0aO0DLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogTW9kaWZ5IEFjY291bnQgUGVybWlzc2lvbgpzdW1tYXJ5OiAnQWRkIG9yIHVwZGF0ZSB0aGUge3tub3dyYXAgcGVybWlzc2lvbn19IHBlcm1pc3Npb24gb2Yge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCk1vZGlmeSwgYW5kIGNyZWF0ZSBpZiBuZWNlc3NhcnksIHRoZSB7e3Blcm1pc3Npb259fSBwZXJtaXNzaW9uIG9mIHt7YWNjb3VudH19IHRvIGhhdmUgYSBwYXJlbnQgcGVybWlzc2lvbiBvZiB7e3BhcmVudH19IGFuZCB0aGUgZm9sbG93aW5nIGF1dGhvcml0eToKe3t0b19qc29uIGF1dGh9fQAA6OqqbFLVCXVwZGF0ZXJleIEDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVXBkYXRlIFJFWCBPd25lciBWb3RlIFdlaWdodApzdW1tYXJ5OiAnVXBkYXRlIHZvdGUgd2VpZ2h0IHRvIGN1cnJlbnQgdmFsdWUgb2YgaGVsZCBSRVggdG9rZW5zJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKVXBkYXRlIHZvdGUgd2VpZ2h0IG9mIHt7b3duZXJ9fSBhY2NvdW50IHRvIGN1cnJlbnQgdmFsdWUgb2YgaGVsZCBSRVggdG9rZW5zLjCpw26rm1PVDHVwZHRyZXZpc2lvboIDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVXBkYXRlIFN5c3RlbSBDb250cmFjdCBSZXZpc2lvbiBOdW1iZXIKc3VtbWFyeTogJ1VwZGF0ZSBzeXN0ZW0gY29udHJhY3QgcmV2aXNpb24gbnVtYmVyJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IGFkdmFuY2VzIHRoZSBzeXN0ZW0gY29udHJhY3QgcmV2aXNpb24gbnVtYmVyIHRvIHt7cmV2aXNpb259fS5wFdKJ3qoy3Qx2b3RlcHJvZHVjZXKtBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFZvdGUgZm9yIEJsb2NrIFByb2R1Y2VycwpzdW1tYXJ5OiAne3tub3dyYXAgdm90ZXJ9fSB2b3RlcyBmb3Ige3sjaWYgcHJveHl9fXRoZSBwcm94eSB7e25vd3JhcCBwcm94eX19e3tlbHNlfX11cCB0byAzMCBibG9jayBwcm9kdWNlciBjYW5kaWRhdGVze3svaWZ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3ZvdGluZy5wbmcjZGIyOGNkM2RiNmU2MmQ0NTA5YWYzNjQ0Y2U3ZDM3NzMyOTQ4MmExNGJiNGJmYWNhMmFhNWYxNDAwZDhlOGE4NAotLS0KCnt7I2lmIHByb3h5fX0Ke3t2b3Rlcn19IHZvdGVzIGZvciB0aGUgcHJveHkge3twcm94eX19LgpBdCB0aGUgdGltZSBvZiB2b3RpbmcgdGhlIGZ1bGwgd2VpZ2h0IG9mIHZvdGVy4oCZcyBzdGFrZWQgKENQVSArIE5FVCkgdG9rZW5zIHdpbGwgYmUgY2FzdCB0b3dhcmRzIGVhY2ggb2YgdGhlIHByb2R1Y2VycyB2b3RlZCBieSB7e3Byb3h5fX0uCnt7ZWxzZX19Cnt7dm90ZXJ9fSB2b3RlcyBmb3IgdGhlIGZvbGxvd2luZyBibG9jayBwcm9kdWNlciBjYW5kaWRhdGVzOgoKe3sjZWFjaCBwcm9kdWNlcnN9fQogICsge3t0aGlzfX0Ke3svZWFjaH19CgpBdCB0aGUgdGltZSBvZiB2b3RpbmcgdGhlIGZ1bGwgd2VpZ2h0IG9mIHZvdGVy4oCZcyBzdGFrZWQgKENQVSArIE5FVCkgdG9rZW5zIHdpbGwgYmUgY2FzdCB0b3dhcmRzIGVhY2ggb2YgdGhlIGFib3ZlIHByb2R1Y2Vycy4Ke3svaWZ9fQCAyiZVrTLdCnZvdGV1cGRhdGUAAAAAgC0kseEHd2FzbWNmZwAAAADc3NSy4wh3aXRoZHJhd8kDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogV2l0aGRyYXcgZnJvbSBSRVggRnVuZApzdW1tYXJ5OiAnV2l0aGRyYXcge3tub3dyYXAgYW1vdW50fX0gZnJvbSB7e25vd3JhcCBvd25lcn194oCZcyBSRVggZnVuZCBieSB0cmFuc2ZlcnJpbmcgdG8ge3tvd25lcn194oCZcyBsaXF1aWQgYmFsYW5jZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCldpdGhkcmF3cyB7e2Ftb3VudH19IGZyb20ge3tvd25lcn194oCZcyBSRVggZnVuZCBhbmQgdHJhbnNmZXIgdGhlbSB0byB7e293bmVyfX3igJlzIGxpcXVpZCBiYWxhbmNlLhwAAACgYdPcMQNpNjQAAAhhYmlfaGFzaAAATlMvdZM7A2k2NAAACmJpZF9yZWZ1bmQAAKBrOohoPANpNjQAABFibG9ja19pbmZvX3JlY29yZAAAAGAaGnVFA2k2NAAACHJleF9sb2FuAAAAIE1zokoDaTY0AAATZGVsZWdhdGVkX2JhbmR3aWR0aAAAAABEc2hkA2k2NAAAEmVvc2lvX2dsb2JhbF9zdGF0ZQAAAEBEc2hkA2k2NAAAE2Vvc2lvX2dsb2JhbF9zdGF0ZTIAAABgRHNoZANpNjQAABNlb3Npb19nbG9iYWxfc3RhdGUzAAAAgERzaGQDaTY0AAATZW9zaW9fZ2xvYmFsX3N0YXRlNAAAADi5o6SZA2k2NAAACG5hbWVfYmlkAAAAYBoas5oDaTY0AAAIcmV4X2xvYW4ArkqXgqo5rQNpNjQAAA1wb3dlcnVwX29yZGVyAFQ2GYOqOa0DaTY0AAANcG93ZXJ1cF9zdGF0ZQAAwFchneitA2k2NAAADXByb2R1Y2VyX2luZm8AgMBXIZ3orQNpNjQAAA5wcm9kdWNlcl9pbmZvMgAAyApeI6W5A2k2NAAADmV4Y2hhbmdlX3N0YXRlAAAAAKepl7oDaTY0AAAOcmVmdW5kX3JlcXVlc3QAAM4KIn2yugNpNjQAABJyZXhfcmV0dXJuX2J1Y2tldHMAAAAARHO6ugNpNjQAAAtyZXhfYmFsYW5jZQAAACBNvbq6A2k2NAAACHJleF9mdW5kAHx2V2cju7oDaTY0AAAMcmV4X21hdHVyaXR5AAAAIFJau7oDaTY0AAAIcmV4X3Bvb2wAAABKK227ugNpNjQAAAlyZXhfb3JkZXIAQKS0ZnW7ugNpNjQAAA9yZXhfcmV0dXJuX3Bvb2wAAMAq6qQawgNpNjQAAA5zY2hlZHVsZXNfaW5mbwAAAACrexXWA2k2NAAADnVzZXJfcmVzb3VyY2VzAAAAAOCrMt0DaTY0AAAKdm90ZXJfaW5mb8Aaalmb7KSLA2k2NAAAEWxpbWl0X2F1dGhfY2hhbmdlAg1Vc2VyQWdyZWVtZW507H8jIEVPUyBVc2VyIEFncmVlbWVudAoKIyMgRGVmaW5pdGlvbnMKCiBBbGwgY2FwaXRhbGl6ZWQsIGl0YWxpY2l6ZWQsIG9yIGlubGluZSBjb2RlIHRlcm1zIGluICpUaGUgRU9TIFVzZXIgQWdyZWVtZW50KiB3aWxsIGJlIGdpdmVuIHRoZSBzYW1lIGVmZmVjdCBhbmQgbWVhbmluZyBhcyBpbiAqRGVmaW5pdGlvbnMqLgoKKiBFT1MgVXNlciBBZ3JlZW1lbnQ6IFRoaXMgZG9jdW1lbnQgKCpFVUEqKQoKKiBDaGFpbiBJRDogYGNoYWluX2lkYOKAii3igIphY2EzNzZmMjA2YjhmYzI1YTZlZDQ0ZGJkYzY2NTQ3YzM2YzZjMzNlM2ExMTlmZmJlYWVmOTQzNjQyZjBlOTA2CgoqIFVzZXI6IEFueSBwZXJzb24gb3Igb3JnYW5pemF0aW9uIG9mIHBlcnNvbnMgd2hvIG1haW50YWluKHMpIGRpcmVjdCBvciBpbmRpcmVjdCBvd25lcnNoaXAgb2YgYW4gRU9TIGFjY291bnQsIG9yIEVPUy1iYXNlZCBwcm9wZXJ0eSBjb25uZWN0ZWQgdG8gYW4gRU9TIGFjY291bnQuCgoqIE93bmVyc2hpcDogRGlyZWN0IG9yIGluZGlyZWN0IGFjY2VzcyB0byBhbiBFT1MgYWNjb3VudCB0aHJvdWdoIG9uZSBvciBtb3JlIHZhbGlkIHBlcm1pc3Npb25zIGNoZWNrcy4gT3duZXJzaGlwIG1heSBiZSBwYXJ0aWFsbHkgc2hhcmVkIGJldHdlZW4gVXNlcnMgdGhyb3VnaCB0aGUgdXNlIG9mIG11bHRpLXNpZ25hdHVyZSBwZXJtaXNzaW9ucy4KCiogQmxvY2sgUHJvZHVjZXI6IFVzZXJzIHdobyBoYXZlIGNhbGxlZCBgcmVncHJvZHVjZXJgIGFuZCByZWNlaXZlIHJld2FyZHMgZnJvbSBlb3Npby52cGF5LgoKKiBgZW9zaW8ucHJvZHNgOiBBbiBFT1MgYWNjb3VudCB3aXRoIGEgZHluYW1pYyBwZXJtaXNzaW9ucyBzdHJ1Y3R1cmUgdGhhdCBjYW4gYXNzdW1lIHRoZSBwcml2aWxlZ2VzIG9mIHRoZSBgZW9zaW9gIGFjY291bnQgd2hlbiAxNS8yMSBCbG9jayBQcm9kdWNlcnMgYWdyZWUgdG8gZG8gc28uCgoqIE5ldHdvcmsgRnVuZHM6IFRva2VucyBjb250YWluZWQgd2l0aGluIHRoZSBmb2xsb3dpbmcgYWNjb3VudHM6IGBlb3Npby5uYW1lc2AsIGBlb3Npby5yYW1mZWVgLCBgZW9zaW8uc2F2aW5nYC4KCiogR292ZXJuaW5nIERvY3VtZW50czogKnJlZ3Byb2R1Y2VyKiBpcyBjb25zaWRlcmVkIGEgZ292ZXJuaW5nIGRvY3VtZW50LgoKKiBPbi1DaGFpbjogQW55IHRyYW5zYWN0aW9uLCBzbWFydCBjb250cmFjdCwgb3IgUmljYXJkaWFuIGNvbnRyYWN0IHdoaWNoIGlzIGxvY2F0ZWQgd2l0aGluIGEgYmxvY2sgdGhhdCBpcyBpcnJldmVyc2libGUgYW5kIGFwcGVuZGVkIHRvIHRoZSBFT1MgYmxvY2tjaGFpbiBgY2hhaW5faWRgLgoKKiBFT1MtYmFzZWQgUHJvcGVydHk6IEFueXRoaW5nIHRoYXQgcmVxdWlyZXMgYSB2YWxpZCBwZXJtaXNzaW9uIGluIG9yZGVyIHRvIGRpcmVjdGx5IG1hbmlwdWxhdGUsIGFsdGVyLCB0cmFuc2ZlciwgaW5mbHVlbmNlLCBvciBvdGhlcndpc2UgZWZmZWN0IG9uIHRoZSBFT1MgQmxvY2tjaGFpbgoKKiBDYWxsOiBUbyBzdWJtaXQgYW4gYWN0aW9uIHRvIHRoZSBFT1MgQmxvY2tjaGFpbiBgY2hhaW5faWRgLgoKKiBBdXRob3JpemF0aW9ucyAmIFBlcm1pc3Npb25zOiBQZXJtaXNzaW9ucyBhcmUgYXJiaXRyYXJ5IG5hbWVzIHVzZWQgdG8gZGVmaW5lIHRoZSByZXF1aXJlbWVudHMgZm9yIGEgdHJhbnNhY3Rpb24gc2VudCBvbiBiZWhhbGYgb2YgdGhhdCBwZXJtaXNzaW9uLiBQZXJtaXNzaW9ucyBjYW4gYmUgYXNzaWduZWQgZm9yIGF1dGhvcml0eSBvdmVyIHNwZWNpZmljIGNvbnRyYWN0IGFjdGlvbnMuCgoqIFJpY2FyZGlhbiBDb250cmFjdDogQSBjb250cmFjdCB0aGF0IHBsYWNlcyB0aGUgZGVmaW5pbmcgZWxlbWVudHMgb2YgYSBsZWdhbCBhZ3JlZW1lbnQgaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgZXhwcmVzc2VkIGFuZCBleGVjdXRlZCBpbiBzb2Z0d2FyZS4KCiMjIEFydGljbGUgSSAt4oCKIFVzZXIgQWNrbm93bGVkZ2VtZW50IG9mIFJpc2tzCklmIFVzZXIgbG9zZXMgYWNjZXNzIHRvIHRoZWlyIEVPUyBhY2NvdW50IG9uIGBjaGFpbl9pZGAgYW5kIGhhcyBub3QgdGFrZW4gYXBwcm9wcmlhdGUgbWVhc3VyZXMgdG8gc2VjdXJlIGFjY2VzcyB0byB0aGVpciBFT1MgYWNjb3VudCBieSBvdGhlciBtZWFucywgdGhlIFVzZXIgYWNrbm93bGVkZ2VzIGFuZCBhZ3JlZXMgdGhhdCB0aGF0IEVPUyBhY2NvdW50IHdpbGwgYmVjb21lIGluYWNjZXNzaWJsZS4gVXNlcnMgYWNrbm93bGVkZ2UgdGhhdCB0aGUgVXNlciBoYXMgYW4gYWRlcXVhdGUgdW5kZXJzdGFuZGluZyBvZiB0aGUgcmlza3MsIHVzYWdlIGFuZCBpbnRyaWNhY2llcyBvZiBjcnlwdG9ncmFwaGljIHRva2VucyBhbmQgYmxvY2tjaGFpbi1iYXNlZCBzb2Z0d2FyZS4gVGhlIFVzZXIgYWNrbm93bGVkZ2VzIGFuZCBhZ3JlZXMgdGhhdCB0aGUgVXNlciBpcyB1c2luZyB0aGUgRU9TIGJsb2NrY2hhaW4gYXQgdGhlaXIgc29sZSByaXNrLgoKIyMgQXJ0aWNsZSBJSeKAii3igIpTcGVjaWFsIFVzZXIgVHlwZXMKVXNlcnMgd2hvIGNhbGwgYHJlZ3Byb2R1Y2VyYCBhZ3JlZSB0bywgYW5kIGFyZSBib3VuZCBieSwgdGhlICpyZWdwcm9kdWNlciogUmljYXJkaWFuIENvbnRyYWN0LgoKIyMgQXJ0aWNsZSBJSUnigIot4oCKQ29uc2VudCBvZiB0aGUgRVVBClRoZSBuYXR1cmUgb2YgdGhlICpFT1MgVXNlciBBZ3JlZW1lbnQqIGlzIHN1Y2ggdGhhdCBpdCBzZXJ2ZXMgYXMgYSBkZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCBFT1MgTWFpbm5ldCBnb3Zlcm5hbmNlIGZ1bmN0aW9ucyB0aGF0IGFyZSBpbiBwbGFjZS4gVGhlc2UgZnVuY3Rpb25zLCBlbmZvcmNlZCBieSBjb2RlLCBkbyBub3QgcmVxdWlyZSB0aGUgY29uc2VudCBvZiBVc2VycyBhcyB0aGVzZSBmdW5jdGlvbnMgYXJlIGluaGVyZW50IGFuZCBzeXN0ZW1pYyB0byB0aGUgRU9TIE1haW5uZXQgaXRzZWxmLgoKIyMgQXJ0aWNsZSBJVuKAii3igIpHb3Zlcm5pbmcgRG9jdW1lbnRzCkFueSBtb2RpZmljYXRpb25zIHRvIHRoZSAqRVVBKiBhbmQgKmdvdmVybmluZyBkb2N1bWVudHMqIG1heSBiZSBtYWRlIGJ5IGBlb3Npby5wcm9kc2AuIEl0IGlzIGFkbW9uaXNoZWQgdGhhdCBhIHN0YXRlbWVudCBiZSBjcmFmdGVkIGFuZCBpc3N1ZWQgdGhyb3VnaCBgZW9zaW8ucHJvZHNgIHZpYSBlb3Npby5mb3J1bSByZWZlcmVuZHVtIGNvbnRyYWN0IGRlc2NyaWJpbmcgc3VjaCBhIG1vZGlmaWNhdGlvbiBpbiBhZHZhbmNlLgoKIyMgQXJ0aWNsZSBW4oCKLeKAik5hdGl2ZSBVbml0IG9mIFZhbHVlClRoZSBuYXRpdmUgdW5pdCBvZiB2YWx1ZSBvbiBFT1MgY2hhaW5faWQgc2hhbGwgYmUgdGhlIEVPUyB0b2tlbiBhcyBkZWZpbmVkIGFuZCBjcmVhdGVkIGJ5IHRoZSBgZW9zaW8udG9rZW5gIHNtYXJ0IGNvbnRyYWN0LgoKIyMgQXJ0aWNsZSBWSeKAii3igIpNYWludGFpbmluZyB0aGUgRU9TIGJsb2NrY2hhaW4KYGVvc2lvLnByb2RzYCB3aWxsIG1haW50YWluIHRoZSBhY3RpdmUgYmxvY2tjaGFpbiBjb2RlYmFzZSB3aGljaCBpbmNsdWRlcywgYnV0IGlzIG5vdCBsaW1pdGVkIHRvLCB0aGUgaW1wbGVtZW50YXRpb24gb2YgYWxsIG1vZGlmaWNhdGlvbnMgb2YgYWxsIGZlYXR1cmVzLCBvcHRpbWl6YXRpb25zLCBhbmQgdXBncmFkZXM6IHByZXNlbnQgYW5kIGZ1dHVyZS4KCiMjIEFydGljbGUgVklJ4oCKLeKAik5ldHdvcmsgRnVuZHMKSXQgaXMgYWRtb25pc2hlZCB0aGF0IGFueSBhbHRlcmluZyBvZiB0aGUgc3RhdGUgb2YgYW55IHRva2VucyBjb250YWluZWQgd2l0aGluIG5ldHdvcmsgZnVuZCBhY2NvdW50cywgb3IgYWx0ZXJpbmcgYW55IHByZS1leGlzdGluZyBjb2RlIHRoYXQgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBnb3Zlcm5zIHRoZSBhbGxvY2F0aW9uLCBmdWxmaWxsbWVudCwgb3IgZGlzdHJpYnV0aW9uIG9mIGFueSAqbmV0d29yayBmdW5kcyogYmUgcHJlY2VkZWQgYnkgYSBzdGF0ZW1lbnQgY3JhZnRlZCBhbmQgaXNzdWVkIGJ5IGBlb3Npby5wcm9kc2AgdG8gdGhlICplb3Npby5mb3J1bSogcmVmZXJlbmR1bSBzeXN0ZW0gY29udHJhY3QgZGVzY3JpYmluZyB0aGUgZWZmZWN0IGluIGFkdmFuY2UuCgojIyBBcnRpY2xlIFZJSUnigIot4oCKRnJlZWRvbSBvZiBBY2NvdW50IENyZWF0aW9uCkFueSBjdXJyZW50IG9yIGZ1dHVyZSBVc2VyIGlzIGFibGUgdG8gY3JlYXRlIGFuIEVPUyBBY2NvdW50IHdpdGhvdXQgdGhlIHBlcm1pc3Npb24gYnkgYW55IG90aGVyIFVzZXIuIGBlb3Npby5wcm9kc2AgbWF5IG5ldmVyIGFmZmVjdCBhbiBFT1MgVXNlciBBY2NvdW50KHMpIHdpdGhvdXQgdmFsaWQgcGVybWlzc2lvbihzKSB3aGljaCBoYXZlIGJlZW4gc2hhcmVkIHdpdGggYGVvc2lvLnByb2RzYCBieSBhbiBFT1MgYWNjb3VudC4gYGVvc2lvLnByb2RzYCBtYXkgY2hhcmdlIGEgZmVlIGZvciBhbnkgYWN0aW9ucyB0aGF0IGFyZSByZXF1ZXN0ZWQgYnkgb3RoZXIgVXNlcnMgcGVydGFpbmluZyB0byBhbiBFT1MgYWNjb3VudCB3aGVyZSBwZXJtaXNzaW9ucyBhcmUgc2hhcmVkLgoKIyMgQXJ0aWNsZSBJWOKAii3igIpObyBGaWR1Y2lhcnkKTm8gVXNlciBzaGFsbCBoYXZlIGEgZmlkdWNpYXJ5IHB1cnBvc2UgdG8gc3VwcG9ydCB0aGUgdmFsdWUgb2YgdGhlIEVPUyB0b2tlbi4gTm8gVXNlciBjYW4gYXV0aG9yaXplIGFueW9uZSB0byBob2xkIGFzc2V0cywgYm9ycm93LCBzcGVhaywgY29udHJhY3Qgb24gYmVoYWxmIG9mIG90aGVyIEVPUyBVc2VycyBvciB0aGUgRU9TIGJsb2NrY2hhaW4gYGNoYWluX2lkYCBjb2xsZWN0aXZlbHkuIFRoaXMgRU9TIGJsb2NrY2hhaW4gc2hhbGwgaGF2ZSBubyBvd25lcnMsIG1hbmFnZXJzLCBvciBmaWR1Y2lhcmllcy4KCiMjIEFydGljbGUgWOKAii3igIpVc2VyIFNlY3VyaXR5CkFsbCBpdGVtcyBwZXJ0YWluaW5nIHRvIHBlcnNvbmFsIGFjY291bnQgc2VjdXJpdHksIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gdGhlIHNhZmVrZWVwaW5nIG9mIHByaXZhdGUga2V5cywgaXMgc29sZWx5IHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgVXNlciB0byBzZWN1cmUuCgojIyBBcnRpY2xlIFhJIC0gYGVvc2lvLnByb2RzYCBMaW1pdGVkIExpYWJpbGl0eQpUaGUgVXNlciBhY2tub3dsZWRnZXMgYW5kIGFncmVlcyB0aGF0LCB0byB0aGUgZnVsbGVzdCBleHRlbnQgcGVybWl0dGVkIGJ5IGFueSBhcHBsaWNhYmxlIGxhdywgdGhpcyBkaXNjbGFpbWVyIG9mIGxpYWJpbGl0eSBhcHBsaWVzIHRvIGFueSBhbmQgYWxsIGRhbWFnZXMgb3IgaW5qdXJ5IHdoYXRzb2V2ZXIgY2F1c2VkIGJ5IG9yIHJlbGF0ZWQgdG8gcmlza3Mgb2YsIHVzZSBvZiwgb3IgaW5hYmlsaXR5IHRvIHVzZSwgdGhlIEVPUyB0b2tlbiBvciB0aGUgRU9TIGJsb2NrY2hhaW4gYGNoYWluX2lkYCB1bmRlciBhbnkgY2F1c2Ugb2YgYWN0aW9uIHdoYXRzb2V2ZXIgb2YgYW55IGtpbmQgaW4gYW55IGp1cmlzZGljdGlvbiwgaW5jbHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIGFjdGlvbnMgZm9yIGJyZWFjaCBvZiB3YXJyYW50eSwgYnJlYWNoIG9mIGNvbnRyYWN0IG9yIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSBhbmQgdGhhdCBgZW9zaW8ucHJvZHNgLCBub3IgdGhlIGluZGl2aWR1YWwgcGVybWlzc2lvbnMgdGhhdCBvcGVyYXRlIGl0LCBzaGFsbCBub3QgYmUgbGlhYmxlIGZvciBhbnkgaW5kaXJlY3QsIGluY2lkZW50YWwsIHNwZWNpYWwsIGV4ZW1wbGFyeSBvciBjb25zZXF1ZW50aWFsIGRhbWFnZXMsIGluY2x1ZGluZyBmb3IgbG9zcyBvZiBwcm9maXRzLCBnb29kd2lsbCBvciBkYXRhLgoKIyBFT1Mg7IKs7Jqp7J6QIOuPmeydmOyEnAoKIyMg7KCV7J2YCgpFT1Mg7IKs7Jqp7J6QIOuPmeydmOyEnOydmCDrqqjrk6Ag64yA66y47J6QLCDquLDsmrjsnoQg6ry0LCDrmJDripQg7J2465287J24IOy9lOuTnCDsmqnslrTripQg7KCV7J2Y7JeQ7ISc7JmAIOuPmeydvO2VnCDtmqjqs7zsmYAg7J2Y66+46rCAIOu2gOyXrOuQqeuLiOuLpC4KCi0gICBFT1Mg7IKs7Jqp7J6QIOuPmeydmOyEnDog67O4IOusuOyEnCAoRVVBKQotICAg7LK07J24IElEOiBjaGFpbl9pZOKAii0tLeKAimFjYTM3NmYyMDZiOGZjMjVhNmVkNDRkYmRjNjY1NDdjMzZjNmMzM2UzYTExOWZmYmVhZWY5NDM2NDJmMGU5MDYKLSAgIOyCrOyaqeyekDogRU9TIOqzhOygleydhCDsp4HsoJEg65iQ64qUIOqwhOygkeyggeycvOuhnCDshozsnKDtlZjqsbDrgpggRU9TIOqzhOygleyXkCDsl7DqsrDrkJwgRU9TIOq4sOuwmCDsho3shLHsnYQg7Jyg7KeA7ZWY6rGw64KYIOq0gOumrO2VmOuKlCDsgqzrnowsIOyhsOyngSwg65iQ64qUIOyhsOyngeydmCDrqqjrk6Ag7IKs656MLgotICAg7IaM7Jyg6raMOiDtlZjrgpgg7J207IOB7J2YIOycoO2aqO2VnCDsgqzsmqnqtoztlZwg7ZmV7J247J2EIO2Gte2VtCBFT1Mg6rOE7KCV7JeQIOyngeygkSDrmJDripQg6rCE7KCR7KCB7Jy866GcIOygkeq3vO2VqeuLiOuLpC4g7IaM7Jyg6raM7J2AIOuLpOykkSDshJzrqoXqtoztlZzsnYQg7IKs7Jqp7ZWY7JesIOyCrOyaqeyekOqwhOyXkCDrtoDrtoTsoIHsnLzroZwg6rO17JygIOuQoCDsiJgg7J6I7Iq164uI64ukLgotICAg67iU66GdIO2UhOuhnOuTgOyEnDogcmVncHJvZHVjZXLrpbwg7Iuk7ZaJ7ZWY6rOgIGVvc2lvLnZwYXnroZzrtoDthLAg67O07IOB7J2EIOuwm+uKlCDsgqzsmqnsnpAuCi0gICBlb3Npby5wcm9kczogMTUvMjEg67iU66GdIO2UhOuhnOuTgOyEnOuTpOydtCDrj5nsnZgg7ZWgIOuVjCBlb3NpbyDqs4TsoJXsnZgg6raM7ZWc7J2EIOqwgOyniCDsiJgg7J6I64qUIOuPmeyggSDqtoztlZwg6rWs7KGw66W8IOqwgOynhCBFT1Mg6rOE7KCVLgotICAg64Sk7Yq47JuM7YGsIOyekOq4iDog64uk7J2MIOqzhOygleyXkCDtj6ztlagg65CcIO2GoO2BsDogZW9zaW8ubmFtZXMsIGVvc2lvLnJhbWZlZSwgZW9zaW8uc2F2aW5nLgotICAg6rSA66asIOusuOyEnDogcmVncHJvZHVjZXLripQg6rSA66asIOusuOyEnOuhnCDqsITso7zrkKnri4jri6QuCi0gICDsmKjssrTsnbg6IEVPUyDruJTroZ3ssrTsnbggY2hhaW5faWTsl5Ag67mE6rCA7Jet7KCB7J2066mwIOy2lOqwgCDtlaAg7IiYIOyeiOuKlCDruJTroZ0g64K07JeQIOychOy5mO2VnCDrqqjrk6Ag6rGw656YLCDsiqTrp4jtirgg6rOE7JW9IOuYkOuKlCDrpqzsubTrpbTrlJTslYgg6rOE7JW9LgotICAgRU9TIOq4sOuwmCDsho3shLE6IEVPUyDruJTroZ3ssrTsnbjsnYQg7KeB7KCRIOyhsOyekSwg67OA6rK9LCDsoITshqEsIOyYge2WpSDrmJDripQg64us66asIOyggeyaqe2VmOq4sCDsnITtlbQg7Jyg7Zqo7ZWcIOyCrOyaqSDqtoztlZzsnbQg7ZWE7JqU7ZWcIOuqqOuToCDqsoMKLSAgIOy9nDogRU9TIOu4lOuhneyytOyduCBjaGFpbl9pZOyXkCDsnpHsl4XsnYQg7Iug7LKt7ZWY64qUIOqygy4KLSAgIO2XiOqwgCDrsI8g6raM7ZWcOiAn7ZeI6rCAJ+uKlCDtlbTri7kg6raM7ZWc7J2EIOuMgOyLoO2VmOyXrCDsoITshqHrkJjripQg7Yq4656c7J6t7IWY7J2YIOyalOq1rOyCrO2VreydhCDsoJXsnZjtlZjripQg642wIOyCrOyaqeuQqeuLiOuLpC4gJ+q2jO2VnCfsnYAg7Yq57KCVIOqzhOyVvSDsobDsuZjsl5Ag64yA7ZWcIOq2jO2VnOydhCDrtoDsl6ztlanri4jri6QuCi0gICDrpqzsubTrpbTrlJTslYgg6rOE7JW9OiDtlanrspXsoIEg6rOE7JW97J2YIOygleydmCDsmpTshozrpbwg7IaM7ZSE7Yq47Juo7Ja066GcIO2RnO2YhO2VmOqzoCDsi6TtlontlaAg7IiYIOyeiOuKlCDtmJXsi53snLzroZwg67Cw7LmY7ZWY64qUIOqzhOyVvS4KCiMjIOygnCAx7KGw4oCKLS0t4oCK7JyE7ZeY7JeQIOuMgO2VnCDsgqzsmqnsnpDrk6TsnZgg7J247KeACgrsgqzsmqnsnpDqsIAgY2hhaW5faWTsl5DshJwgRU9TIOqzhOygleyXkCDrjIDtlZwg7KCR6re8IOq2jO2VnOydhCDsnoPqs6AsIOuLpOuluCDrsKnrspXsnLzroZwgRU9TIOqzhOygleyXkCDrjIDtlZwg7KCR6re87J2EIOuztO2YuO2VmOq4sCDsnITtlbQg7KCB7KCI7ZWcIOyhsOy5mOulvCDst6jtlZjsp4Ag7JWK64qUIOqyveyasOyXkOuKlCBFT1Mg6rOE7KCV7JeQIOygkeq3vO2VoCDsiJgg7JeG6rKMIOuQnOuLpOuKlCDqsoPsnYQg7J247KCV7ZWY6rOgIOuPmeydmO2VqeuLiOuLpC4g7IKs7Jqp7J6Q64qUIOyVlO2YuO2ZlCDthqDtgbDqs7wg67iU66Gd7LK07J24IOq4sOuwmCDshoztlITtirjsm6jslrTsnZgg7JyE7ZeYLCDsgqzsmqnrspUsIOq3uOumrOqzoCDrs7XsnqHshLHsl5Ag64yA7ZW0IOy2qeu2hO2eiCDsnbTtlbTtlZjqs6Ag7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4g7IKs7Jqp7J6Q64qUIEVPUyDruJTroZ3ssrTsnbjsnZgg7IKs7Jqp7JeQIOuMgO2VnCDsoITsoIHsnbgg7LGF7J6E7J2EIOynhOuLpOuKlCDqsoPsl5Ag7J247KCV7ZWY6rOgIOuPmeydmO2VqeuLiOuLpC4KCiMjIOygnCAy7KGw4oCKLS0t4oCK7Yq567OE7ZWcIOyCrOyaqeyekCDsnKDtmJUKCnJlZ3Byb2R1Y2Vy66W8IOyLpO2Wie2VmOuKlCDsgqzsmqnsnpDripQgcmVncHJvZHVjZXIg66as7Lm066W065SU7JWIIOqzhOyVveyXkCDrj5nsnZjtlZjqs6AsIOydtOyXkCDqtazsho3rkKnri4jri6QuCgojIyDsoJwgM+yhsOKAii0tLeKAikVVQeydmCDrj5nsnZgKCkVPUyDsgqzsmqnsnpAg64+Z7J2Y7ISc64qUIO2YhOyerCDsi5ztlonspJHsnbggRU9TIOuplOyduOuEtyDqsbDrsoTrhIzsiqTsl5Ag64yA7ZWcIOyEpOuqheycvOuhnCDsgqzsmqnrkKnri4jri6QuIOy9lOuTnOyXkCDsnZjtlbQg7Iuc7ZaJ65CY64qUIOydtOufrO2VnCDquLDriqXsnYAgRU9TIOuplOyduOuEtyDsnpDssrTsnZgg7LK06rOE7KCB7J206rOgIOqzoOycoO2VnCDquLDriqXsnbTrr4DroZwg7IKs7Jqp7J6Q7J2YIOuPmeydmOulvCDtlYTsmpTroZwg7ZWY7KeAIOyViuyKteuLiOuLpC4KCiMjIOygnCA07KGw4oCKLS0t4oCK6rSA66asIOusuOyEnAoKRVVB7JmAIOq0gOumrCDrrLjshJzripQgZW9zaW8ucHJvZHPrpbwg7Ya17ZW0IOyImOygleydtCDqsIDriqXtlanri4jri6QuIO2KueyglSDrs4Dqsr3sgqztla3snYQg7IKs7KCE7JeQIOyEpOuqhe2VmOuKlCBlb3Npby5mb3J1bSDtiKztkZwg6rOE7JW97J2EIO2Gte2VtCBlb3Npby5wcm9kc+qwgCDshLHrqoXshJzrpbwg7J6R7ISx7ZWY6rOgIOuwnOq4ie2VoCDqsoPsnYQg6raM6rOg7ZWp64uI64ukLgoKIyMg7KCcIDXsobDigIotLS3igIrqsIDsuZjsnZgg6riw67O4IOuLqOychAoKRU9TIGNoYWluX2lk7J2YIOq4sOuzuCDri6jsnITripQgZW9zaW8udG9rZW4g7Iqk66eI7Yq4IOqzhOyVveyXkCDsnZjtlbQg7KCV7J2Y65CY6rOgIOyekeyEseuQnCBFT1Mg7Yag7YGw7J6F64uI64ukLgoKIyMg7KCcIDbsobDigIotLS3igIpFT1Mg67iU66Gd7LK07J24IOycoOyngAoKZW9zaW8ucHJvZHPripQg66qo65OgIOq4sOuKpSwg7LWc7KCB7ZmULCDqt7jrpqzqs6Ag7JeF6re466CI7J2065Oc7J2YIO2YhOyerOyZgCDrr7jrnpjsnZgg66qo65OgIOyImOygleyCrO2VreydhCDqtaztmITtlZjripQg6rKD7J2EIO2PrO2VqO2VmOuQmCwg7J207JeQIOq1re2VnOuQmOyngCDslYrripQg7Zmc7ISx7ZmU65CcIOu4lOuhneyytOyduCDsvZTrk5zrsqDsnbTsiqTrpbwg7Jyg7KeA7ZWp64uI64ukCgojIyDsoJwgN+yhsOKAii0tLeKAiuuEpO2KuOybjO2BrCDsnpDquIgKCuuEpO2KuOybjO2BrCDsnpDquIgg6rOE7KCV7JeQIO2PrO2VqOuQnCDthqDtgbDsnZgg7IOB7YOc66W8IOuzgOqyve2VmOqxsOuCmCwg64Sk7Yq47JuM7YGsIOyekOq4iOydmCDrsLDrtoQsIOydtO2WiSwg65iQ64qUIOuwsO2PrOulvCDsp4Ev6rCE7KCR7KCB7Jy866GcIOq0gOumrO2VmOuKlCDquLDsobQg7L2U65Oc66W8IOuzgOqyve2VmOuKlCDqsr3smrDsl5DripQgZW9zaW8ucHJvZHPrpbwgZW9zaW8uZm9ydW0g7LSdIO2IrO2RnCDsi5zsiqTthZwg6rOE7JW97JeQIOy2lOqwgO2VmOyXrCDsgqzsoITsl5Ag7Lap67aE7ZWcIOyEpOuqheydtCDsnbTro6jslrTsoLjslbwg7ZWp64uI64ukLgoKIyMg7KCcIDjsobDigIotLS3igIrqs4TsoJUg7IOd7ISx7J2YIOyekOycoAoK7ZiE7J6sLCDrmJDripQg66+4656Y7J2YIOyCrOyaqeyekOuKlCDri6Trpbgg7IKs7Jqp7J6Q7J2YIO2XiOqwgCDsl4bsnbQgRU9TIOqzhOygleydhCDrp4zrk6Qg7IiYIOyeiOyKteuLiOuLpC4gZW9zaW8ucHJvZHPripQgRU9TIOqzhOygleyXkCDsnZjtlbQg6rO17Jyg65CcIOycoO2aqO2VnCDtl4jqsIAg7JeG7J2064qUIEVPUyDsgqzsmqnsnpAg6rOE7KCV7JeQIOyYge2WpeydhCDspIQg7IiYIOyXhuyKteuLiOuLpC4gZW9zaW8ucHJvZHPripQg6raM7ZWc7J20IOqzteycoOuQmOuKlCBFT1Mg6rOE7KCV6rO8IOq0gOugqO2VmOyXrCDri6Trpbgg7IKs7Jqp7J6Q6rCAIOyalOyyre2VnCDrqqjrk6Ag7J6R7JeF7JeQIOuMgO2VtCDsmpTquIjsnYQg67aA6rO87ZWgIOyImCDsnojsirXri4jri6QuCgojIyDsoJwgOeyhsOKAii0tLeKAiuyLoO2DgSDrtojqsIAKCuyCrOyaqeyekOuKlCBFT1Mg7Yag7YGw7J2YIOqwgOy5mOulvCDrkrfrsJvsuajtlaAg7IiYIOyeiOuKlCDsi6Dtg4Eg66qp7KCB7J2EIOqwgOyguOyEnOuKlCDslYjrkKnri4jri6QuIOyCrOyaqeyekOuKlCBFT1Mg7IKs7Jqp7J6QIOuYkOuKlCBFT1Mg67iU66Gd7LK07J24IGNoYWluX2lk66W8IOuMgO2RnO2VmOyXrCDriITqtazsl5Dqsozrj4Qg7J6Q7IKw7J2EIOuztOycoO2VmOqxsOuCmCwg64yA7Jes7ZWY6rGw64KYLCDsnpDsgrDsl5Ag64yA7ZW0IOyWmOq4sO2VmOqxsOuCmCwg6rOE7JW97J2EIOunuuydhCDqtoztlZzsnYQg67aA7Jes7ZWgIOyImCDsl4bsirXri4jri6QuIEVPUyDruJTroZ3ssrTsnbjsl5DripQg7IaM7Jyg7J6QLCDqtIDrpqzsnpAsIOq3uOumrOqzoCDsiJjtg4HsnpDqsIAg7JeG7Ja07JW8IO2VqeuLiOuLpC4KCiMjIOygnCAxMOyhsOKAii0tLeKAiuyCrOyaqeyekCDrs7TslYgKCuu5hOqzteqwnCDtgqTsnZgg67O06rSA7J2EIO2PrO2VqO2VmOuQmCwg7J207JeQIOq1re2VnOuQmOyngCDslYrripQg6rCc7J24IOqzhOyijCDrs7TslYjqs7wg6rSA66Co65CcIOuqqOuToCDtla3rqqnrk6Qg65iQ7ZWcIOyghOyggeycvOuhnCDsgqzsmqnsnpDqsIAg7JWI7KCE7ZWY6rKMIOuztOq0gO2VtOyVvCDtlanri4jri6QuCgojIyDsoJwgMTHsobDigIotLS3igIplb3Npby5wcm9kcyDsnKDtlZzssYXsnoQKCuyCrOyaqeyekOuKlCDrspXrpaDsnbQg7ZeI7Jqp7ZWY64qUIO2VnOuPhCDrgrTsl5DshJwgRU9TIO2GoO2BsOydmCDsnITtl5gsIOyCrOyaqSwg65iQ64qUIOyCrOyaqSDrtojqsIDroZwg7J247ZW0IOuwnOyDne2VmOuKlCDrqqjrk6Ag7IaQ7ZW07JeQIOuMgO2VtCDssYXsnoTsnZgg66m07LGFIOyhsO2VreydtCDsoIHsmqnrkJzri6TripQg6rKD7J2EIOyduOygle2VmOqzoCwg64+Z7J2Y7ZWp64uI64ukLiDqs4Tslb0g7JyE67CYLCDrtojrspUg7ZaJ7JyELCDqt7jrpqzqs6Ag7JyE67CYIO2WieychCAo6rSA66asIO2DnOunjCDtj6ztlagp7JmAIGVvc2lvLnByb2RzIOuYkOuKlCDsnbTrpbwg7Jq07JiB7ZWY64qUIOqwnOuzhCDsgqzsmqkg6raM7ZWc7J2EIO2PrO2VqO2VmOuQmCwg7J207JeQIOq1re2VnO2VmOyngCDslYrqs6Ag66qo65OgIOq0gO2VoCDsp4Dsl63sl5DshJzsnZgg66qo65OgIOyiheulmOydmCDsgqzsnKDroZwg7J247ZWcIEVPUyDruJTroZ3ssrTsnbggY2hhaW5faWQg7J207J21LCDsmIHsl4XqtowsIOuYkOuKlCDrjbDsnbTthLDsnZgg7IaQ7Iuk7J2EIO2PrO2VqO2VmOyXrCDqsITsoJHsoIEsIOyasOuwnOyggSwg7Yq57IiY7ZWcLCDrjIDtkZzsoIEsIOq3uOumrOqzoCDtjIzsg53soIHsnbgg7IaQ7ZW07JeQIOuMgO2VnCDssYXsnoTsnYQg7KeA7KeAIOyViuyKteuLiOuLpC4KCiMgRU9T55So5oi35Y2P6K6uCgojIyAqKuWumuS5iSoqCgpFT1PnlKjmiLfljY/orq7kuK3nmoTmiYDmnInlpKflhpnvvIzmlpzkvZPmiJblhoXogZTku6PnoIHmnK/or63lsIblhbfmnInkuI7ku6XkuIvlrprkuYnnm7jlkIznmoTmlYjmnpzlkozlkKvkuYnjgIIKCi0gRU9T55So5oi35Y2P6K6u77ya5Y2z5pys5paH5qGj77yIRVVB77yJCgotIOmTvuS4iklEOiBjaGFpbl9pZCAtIGFjYTM3NmYyMDZiOGZjMjVhNmVkNDRkYmRjNjY1NDdjMzZjNmMzM2UzYTExOWZmYmVhZWY5NDM2NDJmMGU5MDYKCi0g55So5oi377ya5Lu75oSP5ruh6Laz5LiL5YiX6KaB5rGC55qE5Liq5Lq65oiW57uE57uH77ya55u05o6l5oiW6ICF6Ze05o6l5oul5pyJRU9T6LSm5oi35oiW5LiORU9T6LSm5oi35YWz6IGU55qE5Z+65LqORU9T5Y+R6KGM55qE6LSi5Lqn44CCCgotIOaJgOacieadg++8muebtOaOpeaIluiAhemXtOaOpemAmui/h+S4gOS4quaIluWkmuS4quacieaViOeahOadg+mZkOajgOafpeiuv+mXruS4gOS4qkVPU+i0puaIt+OAguaJgOacieadg+WPr+S7pemAmui/h+Wkmuetvuadg+mZkOiuuOWPr+WcqOeUqOaIt+mXtOWFseS6q+OAggoKLSDmiafooYzkuoZyZWdwcm9kdWNl77yM5bm25LiU5LuOZW9zaW8udnBheemihuWPluaUtuWFpeeahOeUqOaIt+OAggoKLSBlb3Npby5wcm9kczrlhbfmnInliqjmgIHmnYPpmZDnu5PmnoTnmoRFT1PluJDmiLfvvIzlvZMxNS8yMSBCbG9jayBQcm9kdWNlcnPlkIzmhI/ml7bvvIzor6XluJDmiLflj6/ku6Xmib/mi4Vlb3Npb+W4kOaIt+eahOadg+mZkOOAggoKLSDnvZHnu5zotYTkuqfvvJrljIXlkKvlnKjku6XkuIvotKbmiLfkuK3nmoTku6PluIHvvJplb3Npby5uYW1lc+OAgWVvc2lvLnJhbWZlZeOAgSAgZW9zaW8uc2F2aW5n44CCCgotIOayu+eQhuaWh+aho++8mnJlZ3Byb2R1Y2Vy5piv5rK755CG5paH5qGj44CCCgotIOS7u+S9leS6pOaYk+OAgeaZuuiDveWQiOe6puaIluiAheadjuWYieWbvuWQiOe6pu+8jOWug+S7rOW3sue7j+S9jeS6juS4gOS4quWMuuWdl+S4re+8jOW5tuS4lOi/meS4quWMuuWdl+aYr+S4jeWPr+mAhui9rOeahOOAgeW3sumZhOWKoOWIsOWQjeS4umNoYWluX2lk55qERU9T5Yy65Z2X6ZO+5Lit44CCCgotIOWfuuS6jkVPU+i1hOS6p++8muS7u+S9lemcgOimgeacieaViOiuuOWPr+adpeaTjeS9nOOAgeaUueWPmOOAgei9rOenu+OAgeW9seWTjeaIluiAhei/m+ihjOWFtuS7luaTjeS9nOeahOS4nOilv+OAggoKLSDmiafooYzvvJrlnKjlkI3kuLpjaGFpbl9pZOeahEVPU+WMuuWdl+mTvuS4reaPkOS6pOS4gOS4quihjOWKqOOAggoKLSDmjojmnYPlkozmnYPpmZDvvJrmnYPpmZDvvIhQZXJtaXNzaW9uc++8ieaYr+eUqOadpeWumuS5ieS7o+ihqOivpeadg+mZkOWPkemAgeeahOS6pOaYk+eahOimgeaxgueahOS7u+aEj+WQjeWtl+OAguWPr+S7pee7meeJueWumueahOWQiOe6puaTjeS9nOeahOaOiOadg++8iEF1dGhvcml6YXRpb25z77yJ5YiG6YWN5p2D6ZmQ77yIUGVybWlzc2lvbnPvvInjgIIKCi0g5p2O5ZiJ5Zu+5ZCI57qm77ya5bCG5rOV5b6L5Y2P6K6u5Lit55qE5a6a5LmJ6KaB57Sg5Lul6IO95Zyo6L2v5Lu25Lit6KGo6L6+5ZKM5omn6KGM55qE5qC85byP6KGo6L6+55qE5ZCI57qm44CCCgojIyAqKuadoeasvuS4gCoqKirnlKgqKioq5oi36aOO6Zmp56Gu6K6kKioKCuWmguaenOeUqOaIt+S4ouWksei0puaIt+iuv+mXruadg+mZkOaIluiAheayoeaciemHh+WPluWQiOmAgueahOaWueW8j+S/neaKpOi0puaIt+iuv+mXruadg+mZkO+8jOeUqOaIt+W6lOefpeaCieW5tuWQjOaEj++8jEVPU+i0puaIt+WwhuaXoOazleiuv+mXruOAgueUqOaIt+W6lOehruiupOeUqOaIt+WvueWKoOWvhuS7o+W4geWSjOWMuuWdl+mTvui9r+S7tueahOmjjumZqeOAgeeUqOazleWSjOWkjeadguaAp+acieWFheWIhuS6huino+OAgueUqOaIt+aJv+iupOW5tuWQjOaEj+eUqOaIt+iHquihjOaJv+aLheS9v+eUqEVPU+WMuuWdl+mTvueahOmjjumZqeOAggoKIyMgKirmnaHmrL7kuowqKioq54m55q6K55SoKioqKuaIt+exu+WeiyoqCgrmiafooYxyZWdwcm9kdWNl77yM5ZCM5oSP5bm25LiU5Y+XcmVncHJvZHVjZXLmnY7lmInlm77lkIjnuqbnuqbmnZ/nmoTnlKjmiLfjgIIKCiMjICoq5p2h5qy+5LiJKioqKuWQjOaEjyoqKipFT1MqKioq55SoKioqKuaIt+WNj+iurioqCgpFT1PnlKjmiLfljY/orq7nmoTlrp7otKjmmK/lr7nlvZPliY1FT1PkuLvnvZHmsrvnkIblip/og73nmoTmj4/ov7DjgILnlLHku6PnoIHlvLrliLbmiafooYznmoTlip/og73kuI3pnIDopoHnlKjmiLfnmoTlkIzmhI/vvIzlm6DkuLrov5nkupvlip/og73mmK9FT1PkuLvnvZHns7vnu5/oh6rluKbnmoTjgIIKCiMjICoq5p2h5qy+5ZubKiogLSAqKuayu+eQhuaWh+ahoyoqCgplb3Npby5wcm9kc+WPr+S7peWvuUVPU+eUqOaIt+WNj+iuruWSjOayu+eQhuaWh+aho+i/m+ihjOS7u+S9leS/ruaUueOAguS4peato+aPkOmGku+8jOaPkOWJjeeUqGVvc2lvLmZvcnVt5YWs5oqV5ZCI57qm77yM6YCa6L+HZW9zaW8ucHJvZHPnvJblhpnjgIHlj5HluIPkuIDkuKrlo7DmmI7mnaXmj4/ov7DpgqPkuKrkv67mlLnjgIIKCiMjICoq5p2h5qy+5LqUKioqKuWOn+eUn+S7tyoqKirlgLzljZXkvY0qKgoKRU9T5YWs6ZO+5LiK55qE5Y6f55Sf5Lu35YC85Y2V5L2N5bqU5Li6ZW9zaW8udG9rZW7mmbrog73lkIjnuqblrprkuYnlkozliJvlu7rnmoRFT1PpgJror4HjgIIKCiMjICoq5p2h5qy+5YWtKioqKue7tOaKpCoqKipFT1MqKioq5Yy6KioqKuWdl+mTvioqCgrml6DorrrnjrDlnKjmiJblsIbmnaXlsIbmnaXvvIxlb3Npby5wcm9kc+Wwhue7tOaKpOa0u+i3g+eahOWMuuWdl+mTvuS7o+eggeW6k++8jOWMheaLrOS9huS4jemZkOS6juaJgOacieWKn+iDveOAgeS8mOWMluOAgeWNh+e6p+eahOaJgOacieS/ruaUueOAgeWunueOsOOAggoKIyMg5p2h5qy+5LiDIC0gKioqKuWumioqKirkuYkqKioqRU9TKioqKue9kee7nOi1hOS6pwoK5pu05pS5572R57uc6LWE5Lqn6LSm5oi35Lit55qE5Lu75L2V5Luj5biB55qE54q25oCB77yM5pu05pS55Lu75L2V546w5a2Y55qE55u05o6l5oiW6Ze05o6l566h55CG5Lu75L2V572R57uc6LWE5Lqn55qE5YiG6YWN44CB5a6e546w5oiW5YiG5Y+R55qE5Luj56CB77yM6ZyA6KaB5LqL5YWI55SoZW9zaW8ucHJvZHPlnKhlb3Npby5mb3J1beWFrOaKleWQiOe6puS4iue8luWGmeWSjOWPkeW4g+aViOaenOaPj+i/sOeahOWjsOaYjuOAggoKIyMgKirmnaHmrL7lhast5Yib5bu66LSm5oi36Ieq55SxKioKCuS7u+S9leeOsOWcqOaIluWwhuadpeeahOeUqOaIt+mDveWPr+S7peWcqOacque7j+S7u+S9leWFtuS7lueUqOaIt+iuuOWPr+eahOaDheWGteS4i+WIm+W7ukVPU+W4kOaIt+OAgiAg5aaC5L2V5rKh5pyJ5pS25YiwRU9T5biQ5oi355qE5pyJ5pWI6K645Y+v77yIcGVybWlzc2lvbu+8ie+8jGVvc2lvLnByb2Rz5rC46L+c5LiN5Lya5b2x5ZONRU9T55So5oi35biQ5oi344CCICDlr7nkuo7lhbHkuqvmnYPpmZDnmoRFT1PluJDmiLfnmoTlhbbku5bnlKjmiLfor7fmsYLnmoTku7vkvZXmk43kvZzvvIxlb3Npby5wcm9kc+WPr+iDveS8muaUtuWPlui0ueeUqOOAggoKIyMgKirmnaHmrL7kuZ3msqHmnInlj5fmiZjkuroqKgoK5rKh5pyJ55So5oi35om/5ouF5L+h5omY6LSj5Lu75p2l57u05oyBRU9T5Luj5biB55qE5Lu35YC844CC5rKh5pyJ55So5oi35Y+v5Lul5Luj6KGoRU9T55So5oi35oiW6ICF5Luj6KGo5ZCN5Li6Y2hhaW5fSUTnmoRFT1PljLrlnZfpk77mjojmnYPku7vkvZXkurrlhbHlkIzmjIHmnInotYTkuqfjgIHlgJ/mrL7jgIHlj5HoqIDmiJblrprlkIjlkIzjgILmraTljLrlnZfpk77kuI3lrZjlnKjmi6XmnInogIXjgIHnrqHnkIbogIXmiJbogIXlj5fmiZjkurrjgIIKCiMjICoq5p2h5qy+5Y2B5Liq5Lq65a6J5YWoKioKCuaJgOacieacieWFs+S4quS6uui0puaIt+WuieWFqOeahOS6i+mhue+8jOWMheaLrOS9huS4jemZkOS6juengemSpeeahOWuieWFqOS/neWtmO+8jOmDveeUseeUqOaIt+iHquW3sei0n+i0o+OAggoKIyMgKirmnaHmrL7ljYHkuIAgZW9zaW8ucHJvZHPnmoTmnInpmZDotKPku7sqKgoK55So5oi35bqU55+l5oKJ5ZKM5ZCM5oSP77yM5Zyo5Lu75L2V6YCC55So5rOV5b6L5YWB6K6455qE5pyA5aSn6IyD5Zu05YaF77yM5pys5YWN6LSj5aOw5piO6YCC55So5LqO5LiORU9T5Luj5biB6aOO6Zmp77yM5L2/55So5oiW5peg5rOV5L2/55SoRU9T5Luj5biB5pyJ5YWz5oiW5a+86Ie055qE5Lu75L2V5oiW5omA5pyJ5o2f5a6z5oiW5Lyk5a6z77yM5Lmf6YCC55So5LqO5Lu75L2V5Y+45rOV566h6L6W5Yy65YaF55qE5Lu75L2V5Lu75L2V6KGM5Li65LiL55qERU9T5Yy65Z2X6ZO+Y2hhaW5faWTvvIzljIXmi6zkvYbkuI3pmZDkuo7ov53lj43mi4Xkv53jgIHov53lj43lkIjlkIzmiJbkvrXmnYPooYzkuLrvvIjljIXmi6znlo/lv73vvInjgIJlb3Npby5wcm9kc+S7peWPiuaTjeS9nOWug+eahOS4quS6uuadg+mZkOWvueS6juS7u+S9lemXtOaOpeeahO+8jOWBtueEtueahO+8jOeJueauiueahO+8jOekuuS+i+aAp+eahOaIluWQjuaenOaAp+eahOaNn+Wus++8jOWMheaLrOWIqea2puaNn+Wkse+8jOWVhuiqieaIluaVsOaNru+8jOS4jeaJv+aLheS7u+S9lei0o+S7u+OAghZCbG9ja1Byb2R1Y2VyQWdyZWVtZW50xmwjIyMgMS4gVGhlIGludGVudCBvZiByZWdwcm9kdWNlcgoKVGhlIGludGVudCBvZiB0aGUgYHJlZ3Byb2R1Y2VyYCBhY3Rpb24gaXMgdG8gcmVnaXN0ZXIgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhY3kuIFRoaXMgY29udHJhY3QgaXMgY29uc2lkZXJlZCBhIGdvdmVybmluZyBkb2N1bWVudCBhcyBkZWZpbmVkIGJ5IHRoZSBFT1MgVXNlciBBZ3JlZW1lbnQgKEVVQSkuCgpyZWdwcm9kdWNlcuydmCDrqqnsoIEKCmByZWdwcm9kdWNlcmAg7J6R7JeF7J2YIOuqqeyggeydgCDruJTroZ3sg53sgrDsnpAg7J6F7ZuE67O0IOuTseuhneydhCDtlZjripQg6rKD7J6F64uI64ukLiDsnbQg6rOE7JW97J2AIEVPUyDsgqzsmqnsnpAg6rOE7JW97IScIChFVUEp7JeQIOygleydmOuQnCDrsJTsmYAg6rCZ7J20IOq0gOumrCDrrLjshJzroZwg6rCE7KO865Cp64uI64ukLgoKcmVncHJvZHVjZXIg55qE55uu55qECgpgcmVncHJvZHVjZXJg5pON5L2c55qE55uu55qE5piv5rOo5YaM5oiQ5Li65Ye65Z2X6IqC54K55YCZ6YCJ6ICF44CC5qC55o2uIEVPUyDnlKjmiLfljY/orq4oRVVBKeeahOWumuS5ie+8jOacrOWQiOe6puWxnuS6juayu+eQhuaWh+acrChnb3Zlcm5pbmcgZG9jdW1lbnQpCgojIyMgMi4gTm9taW5hdGlvbgoKSSwge3sgcHJvZHVjZXIgfX0sIGhlcmVieSBub21pbmF0ZSBteXNlbGYgZm9yIGNvbnNpZGVyYXRpb24gYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUuIFRoaXMgbm9taW5hdGlvbiBpbmNsdWRlcyBhZ3JlZW1lbnQgdG8gdGhlIHRlcm1zIG9mIHRoaXMgY29udHJhY3QgYnkgbXkgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlIGVudGl0eSwgaW5jbHVkaW5nIGFsbCBvZiBpdHMgc2hhcmVob2xkZXJzLCBvd25lcnMsIGVtcGxveWVlcywgc3RhZmYsIG1lbWJlcnMsIGFuZCBhbnkgaW5kaXZpZHVhbCB3b3JraW5nIGluIG9mZmljaWFsLCBkaXJlY3QsIG9yIGFmZmlsaWF0ZWQgY2FwYWNpdHkgZm9yIG15IEJsb2NrIFByb2R1Y2VyIGVudGl0eS4KCuyngOuqhQoK64KYLCB7eyBwcm9kdWNlciB9feuKlCDruJTroZ3tlITroZzrk4DshJwg7ZuE67O066GcIOqzoOugpOuQmOuPhOuhnSDsnpDsi6DsnYQg7KeA66qF7ZWp64uI64ukLiDsnbQg7KeA66qF7JeQ64qUIOu4lOuhne2UhOuhnOuTgOyEnO2ajOyCrOydmCDrqqjrk6Ag7KO87KO8LCDshozsnKDsnpAsIOyngeybkCwg66mk67KELCDtmozsm5Ag67CPIOqzteyLneyduOybkCwg7KeB7KCRIOuYkOuKlCDqs4Tsl7Tsgqzsl5DshJwg7J287ZWY64qUIOuqqOuToCDqsJzsnbjsnYQg7Y+s7ZWo7ZWcIOu4lOuhne2UhOuhnOuTgOyEnCDtmozsgqzqsIAg6rOE7JW9IOyhsOqxtOyXkCDrjIDtlbQg64+Z7J2Y7ZWo7J2EIOyduOygle2VqeuLiOuLpC4KCuaPkOWQjQoK5pys5Lq677yMe3sgcHJvZHVjZXIgfX3vvIznibnmraTmj5DlkI3mnKzkurrkuLrlh7rlnZfoioLngrnlgJnpgInkurrjgILmnKzmj5DlkI3ljIXmi6zkuobmnKzlh7rlnZfoioLngrnlgJnpgInkurrlrp7kvZPlr7nmnKzlkIjnuqbkuK3miYDmnInmnaHmrL7nmoTmmI7noa7lkIzmhI/vvIzljIXlkKvlhbbmiYDmnInogIXjgIHpm4flkZjjgIHlkZjlt6XjgIHmiJDlkZjvvIzku6Xlj4rku7vkvZXku6XmraPlvI/mlrnlvI/jgIHnm7TmjqXmiJbpmYTlsZ7mlrnlvI/kuLrmnKzlh7rlnZfoioLngrnlrp7kvZPlt6XkvZznmoTkuKrkurrjgIIKCiMjIyAzLiBSZXNpZ25hdGlvbiBhbmQgUmVtb3ZhbCBmb3IgSW5hYmlsaXR5IHRvIFBlcmZvcm0gT2JsaWdhdGlvbnMuCgpJZiBJLCB7eyBwcm9kdWNlciB9fSwgYW0gdW5hYmxlIHRvIHBlcmZvcm0gYW55IG9mIHRoZSBvYmxpZ2F0aW9ucyBzdGlwdWxhdGVkIGluIHRoaXMgY29udHJhY3QsIEkgd2lsbCByZXNpZ24gbXkgcG9zaXRpb24gYnkgY2FsbGluZyB0aGUgYHVucmVncHJvZGAgYWN0aW9uLgoKSWYgSSwge3sgcHJvZHVjZXIgfX0sIGZhaWwgdG8gcmVzaWduIHdoZW4gdW5hYmxlIHRvIHBlcmZvcm0gc2FpZCBvYmxpZ2F0aW9ucywgSSB1bmRlcnN0YW5kIHRoYXQgcHJvY2VkdXJlcyBlbnVtZXJhdGVkIGluIHRoaXMgY29udHJhY3Qgc2hhbGwgYmUgZW5hY3RlZC4KCuydmOustOydmCDrtojsnbTtlonsl5Ag64yA7ZWcIOyCrOyehCDrsI8g7LKg7ZqMCgp7eyBwcm9kdWNlciB9feqwgCDrs7gg6rOE7JW97ISc7JeQIOuqheyLnOuQnCDsnZjrrLTrpbwg7IiY7ZaJIO2VoCDsiJgg7JeG64qUIOqyveyasCwg7IOd7IKw7J6QIO2CpOulvCBudWxsIOuhnCDtlajsnLzroZzsjagg67O47J247J2YIOyngOychOulvCDsgqzsnoTtlanri4jri6QuCgrrp4zslb0g64K06rCAIHt7cHJvZHVjZXJ9feydmCDsnZjrrLTrpbwg7J207ZaJIO2VoCDsiJgg7JeG7J2EIOuVjCDsgqzsnoTtlZjsp4Ag7JWK64qU64uk66m0LCDrgpjripQg67O4IOqzhOyVveyXkCDsl7TqsbDrkJwg7KCI7LCo6rCAIOynke2WieuQqOydhCDrj5nsnZjtlanri4jri6QuCgrlm6DkuI3og73lsaXooYzkuYnliqHogIzpgIDlh7rmiJbooqvlj5bmtojlh7rlnZfotYTmoLwKCuWmguaenOaIke+8jHt7IHByb2R1Y2VyIH1977yM5LiN6IO95bGl6KGM5pys5ZCI57qm5Lit5omA6KeE5a6a55qE5omA5pyJ5LmJ5Yqh77yM5oiR5bCG5L2/55SoIGB1bnJlZ3Byb2RgIOaTjeS9nOadpeiHquaIkemAgOWHuu+8iHJlc2lnbu+8ieOAggoK5aaC5p6c5oiRIHt7IHByb2R1Y2VyIH19LCDlnKjml6Dms5XlsaXooYzkuIrov7DkuYnliqHml7bmnKrog73pgIDlh7oocmVzaWduKe+8jOaIkeefpeaZk+acrOWQiOe6puWwhuS8muaMieeFp+aJgOacieWIl+S4vueahOeoi+W6j+WvueaIkeWunuihjOWItuijgeaIluWkhOe9mueoi+W6j+OAggoKIyMjIDQuIEVPUyBBY2NvdW50cwoKQmxvY2sgUHJvZHVjZXJzIG1heSBuZXZlciBhZmZlY3QgYW4gYWNjb3VudCBvbiB0aGUgRU9TIGJsb2NrY2hhaW4sIGV4Y2VwdCBmb3IgdGhlIHJlYXNvbnMgc3BlY2lmaWNhbGx5IGNpdGVkIGluIHRoaXMgY29udHJhY3QgdGhhdCBwZXJ0YWluIHRvIEJsb2NrIFByb2R1Y2VyIGFjY291bnRzLiBVc2VyIGFjY291bnRzIGNhbiBvbmx5IGJlIGFmZmVjdGVkIG9uIHRoZSBiYXNpcyBvZiBBcnRpY2xlIFZJSUkgaW4gdGhlIEVPUyBVc2VyIEFncmVlbWVudC4KCkVPUyDqs4TsoJUKCuu4lOuhne2UhOuhnOuTgOyEnOuKlCDrs7gg6rOE7JW97JeQ7IScIO2VtOuLue2VmOuKlCDruJTroZ3tlITroZzrk4DshJzsnZgg6rOE7KCVIOywqOuLqOyXkCDqtIDroKjtlZjsl6wg7Yq567OE7Z6IIOyWuOq4ie2VnCDsnbTsnKDrpbwg7KCc7Jm47ZWY6rOg64qUIEVPUyDruJTroZ3ssrTsnbjsnZgg6rOE7KCV7JeQIOqysOy9lCDsmIHtlqXsnYQg66+47LmY7KeAIOyViuyKteuLiOuLpC4g7IKs7Jqp7J6QIOqzhOygleydgCBFT1Mg7IKs7Jqp7J6QIOqzhOyVveyEnOydmCA47KGw7JeQIOq3vOqxsO2VoCDrlYzrp4wg7JiB7Zal7J2EIOuwm+ydhCDsiJgg7J6I7Iq164uI64ukLgoKRU9TIOi0puWPtwoK5Ye65Z2X6IqC54K55rC46L+c5LiN5Lya5a+5IEVPUyDljLrlnZfpk77kuIrnmoTluJDmiLfpgKDmiJDlvbHlk43vvIzpmaTpnZ7mmK/mnKzlkIjnuqbkuK3nibnliKvmj5DliLDkuI7lh7rlnZfoioLngrnluJDmiLfmnInlhbPnmoTljp/lm6DjgILlj6rmnInln7rkuo4gRU9T55So5oi35Y2P6K6u5Lit55qE56ys5YWr5p2h55qE5oOF5b2i5LiL77yM55So5oi355qE6LSm5Y+35omN5Lya5Y+X5Yiw5b2x5ZONLgoKIyMjIDUuIFByb2R1Y2VyIEtleQoKSSwge3sgcHJvZHVjZXIgfX0sIHdpbGwgc2lnbiBibG9ja3Mgd2l0aCB7eyBwcm9kdWNlcl9rZXkgfX0KCklmIEksIHt7IHByb2R1Y2VyIH19IHN1c3BlY3QgbXkga2V5IGhhcyBiZWVuIGNvbXByb21pc2VkIEkgd2lsbCBhbGVydCB0aGUgb3RoZXIgQmxvY2sgUHJvZHVjZXJzIGltbWVkaWF0ZWx5LgoKSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgYW55IGFuZCBhbGwgYWN0aW9ucyBleGVjdXRlZCB3aXRoIG15IHt7IHByb2R1Y2VyX2tleSB9fSBpcyBteSByZXNwb25zaWJpbGl0eSwgcmVnYXJkbGVzcyBvZiB0aGUgYWNjb3VudCBiZWluZyBjb21wcm9taXNlZC4KCu2UhOuhnOuTgOyEnCDtgqQKCuuCmCwge3sgcHJvZHVjZXIgfX3ripQge3sgcHJvZHVjZXIgXyBrZXkgfX0g66GcIOu4lOuhneyXkCDshJzrqoUg7ZWgIOqyg+yeheuLiOuLpC4K66eM7JW9IOuCtCwge3twcm9kdWNlcn19IOqwgCDrs7jsnbjsnZgg7YKk6rCAIOyGkOyDgeuQmOyXiOuLpOqzoCDsnZjsi6zrkJjrqbQg7KaJ7IucIOuLpOuluCDruJTroZ3tlITroZzrk4DshJzsl5Dqsowg7JWM66Ck7KSEIOqyg+yeheuLiOuLpC4K64KYLCB7e3Byb2R1Y2VyfX3ripQgRU9TIOu4lOuhneyytOyduOyXkOyEnCDrs7jsnbjsnZgg67iU66Gd7ZSE66Gc65OA7IScIOqzhOygleydtCDsi6TtlontlZjripQg66qo65OgIOyekeyXheyXkCDrjIDtlbQsIOqzhOyglSDsnbTsg4Eg7Jyg66y07JmAIOq0gOugqCDsl4bsnbQsIOyxheyehOydtCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLgoK5Ye65Z2X6IqC54K55YWs6ZKlCgog5oiRLCB7eyBwcm9kdWNlciB9fSwg5bCG5L2/55SoIHt7IHByb2R1Y2VyX2tleSB9fSDlr7nljLrlnZfnrb7lkI3jgIIK5aaC5p6c5oiRLCB7eyBwcm9kdWNlciB9fSwg5oCA55aR5oiR55qE5a+G6ZKl5bey6KKr5rOE6Zyy77yM5oiR5bCG56uL5Y2z6YCa55+l5YW25LuW6IqC54K544CCCuaIke+8jHt7IHByb2R1Y2VyIH1977yM5om/6K6k5oiR55qE5Ye65Z2X6IqC54K55biQ5oi35ZyoRU9T5Yy65Z2X6ZO+5LiK5omA5omn6KGM55qE5Lu75L2V5pON5L2c6YO95piv5oiR55qE6LSj5Lu777yM5peg6K666K+l5biQ5oi35piv5ZCm6KKr55uX44CCCgojIyMgNi4gQVBJIEVuZHBvaW50cwoKSWYgSSwge3sgcHJvZHVjZXIgfX0sIHF1YWxpZnkgZm9yLCBhbmQgY2hvb3NlIHRvIGNsYWltIHJld2FyZHMgZHVlIHRvIHZvdGVzIHJlY2VpdmVkLCBhbmQvb3IgYmxvY2tzIHByb2R1Y2VkLCBJLCB7eyBwcm9kdWNlciB9fSwgd2lsbCBwcm92aWRlIGZ1bmN0aW9uaW5nIGFuZCBxdWVyeWFibGUgcHVibGljIFAyUCBhbmQgQVBJIGVuZHBvaW50cyB0byBtYWludGFpbiBzeW5jaHJvbml6YXRpb24gd2l0aCB0aGUgYmxvY2tjaGFpbiBhbmQgc3VibWl0IHRyYW5zYWN0aW9ucyB0byBiZSBpbmNsdWRlZC4gQVBJIGVuZHBvaW50cyBtdXN0IGJlIHVwZGF0ZWQgdG8gYSByZWNlbnQgZnVuY3Rpb25hbCB2ZXJzaW9uIHRoYXQgZG9lcyBub3QgaGF2ZSBrbm93biBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMuCgpJLCB7eyBwcm9kdWNlciB9fSwgaGVyZWJ5IGFja25vd2xlZGdlIHRoYXQgaWYgSSBhbSB1bmFibGUgdG8gZG8gc28gd2l0aGluIDMwIG1pbnV0ZXMgb2YgYmVpbmcgYWxlcnRlZCBieSBhbm90aGVyIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZSwgSSBjYW4gYmUgcmVtb3ZlZCBieSB1c2Ugb2YgdGhlIGBybXZwcm9kdWNlcmAgYWN0aW9uLgoKQVBJIOyXlOuTnO2PrOyduO2KuAoK66eM7JW9IOuCtCwge3sgcHJvZHVjZXIgfX0g6rCAIO2IrO2RnOulvCDrsJvslYQg67iU66GdIOuztOyDgeydhCDssq3qtaztlaAg7IiYIOyeiOuKlCDsnpDqsqnsnYQg7Ja77Jy866m0LCDrgpgge3sgcHJvZHVjZXIgfX3ripQg7J6R64+ZIOuwjyDsv7zrpqwg6rCA64ql7ZWcIOqzteqwnCBQMlAg67CPIEFQSSDsl5Trk5ztj6zsnbjtirjrpbwg67iU66Gd7LK07J246rO87J2YIOuPmeq4sO2ZlCDrsI8g7Yq4656c7J6t7IWY7J2EIOygnOy2nO2VoCDsiJgg7J6I6rKMIOycoOyngOq0gOumrO2VqeuLiOuLpC4gQVBJIOyXlOuTnO2PrOyduO2KuOuKlCDslYzroKTsp4Qg67O07JWIIOy3qOyVveyEseydtCDsl4bripQg7LWc7Iug67KE7KCE7Jy866GcIOyXheuNsOydtO2KuO2VtOyVvCDtlanri4jri6QuCgrrgpgsIHt7IHByb2R1Y2VyIH19IOuKlCDri6TrpbggYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlIOqwgCDqsr3qs6Ag4oCL4oCL7ZWcIO2bhCwgMzDrtoQg7J2064K07JeQIOuwlOuhnOyeoeydhCDsiJgg7JeG64uk66m0IGBybXZwcm9kdWNlcmAg7KGw7LmY66W8IO2Gte2VtCDsnpDqsqnsnbQg7KCc6rGwIOuQoCDsiJgg7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4KCkFQSSDnq6/ngrkKCuWmguaenOaIke+8jHt7IHByb2R1Y2VyIH19IOeUseS6juW+l+WIsOaKleelqOWSjC/miJblh7rlnZfnmoTljp/lm6DvvIznrKblkIjpooblj5blpZblirHnmoTmnaHku7blubbpgInmi6nmjqXlj5flpZblirHvvIzpgqPkuYjmiJHvvIwge3sgcHJvZHVjZXIgfX3vvIzlsIbmj5Dkvpvlip/og73mraPluLjnmoTlhazlhbEgUDJQIOWSjCBBUEkg56uv54K55p2l57u05oqk5LiO5Yy65Z2X6ZO+55qE5ZCM5q2l77yM5bm25o+Q5Lqk6KaB5omT5YyF5YWl5Z2X55qE5LqL5Yqh44CCQVBJIOerr+eCueW/hemhu+abtOaWsOWIsOacgOaWsOeahOWPr+eUqOeJiOacrO+8jOW5tuS4lOivpeeJiOacrOayoeacieW3suefpeeahOWuieWFqOa8j+a0ngoK5oiR77yMe3twcm9kdWNlcn1977yM5Zyo5q2k56Gu6K6k77yM5aaC5p6c5oiR5Zyo5pS25Yiw5Y+m5LiA5LiqIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZeeahOitpuWRiuWQjjMw5YiG6ZKf5YaF5LuN5LiN6IO956ym5ZCI5LiK6L+w6KaB5rGC77yM5Y+v5Lul5L2/55SoYHJtdnByb2R1Y2VyYOaTjeS9nOenu+mZpOaIkeeahOi0puaIt+OAggoKIyMjIDcuIEV4ZWN1dGlvbiB0aW1lCgpJLCB7eyBwcm9kdWNlciB9fSwgd2lsbCBkZXBsb3kgYW5kIHJ1biBuZXR3b3JrIGluZnJhc3RydWN0dXJlIGNhcGFibGUgb2YgbWFpbnRhaW5pbmcgMm1zIG9yIGxlc3MgQ1BVIGV4ZWN1dGlvbiB0aW1lcy4KCkksIHt7IHByb2R1Y2VyIH19LCBoZXJlYnkgYWNrbm93bGVkZ2UgdGhhdCBpZiBJIGFtIHVuYWJsZSB0byBkbyBzbyB3aXRoaW4gMzAgbWludXRlcyBvZiBiZWluZyBhbGVydGVkIGJ5IGFub3RoZXIgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlLCBJIGNhbiBiZSByZW1vdmVkIGJ5IHVzZSBvZiB0aGUgYHJtdnByb2R1Y2VyYCBhY3Rpb24uCgrsi6Ttlokg7Iuc6rCECgrrgpgsIHt7IHByb2R1Y2VyIH1964qUIDJtcyDrmJDripQg6re4IOydtO2VmOydmCBDUFUg7Iuk7ZaJIOyLnOqwhOydhCDsnKDsp4DtlaAg7IiYIOyeiOuKlCDrhKTtirjsm4ztgawg7J247ZSE652866W8IOuwsO2PrO2VmOqzoCDsi6Ttlontlanri4jri6QuCgog64KYLCB7eyBwcm9kdWNlciB9fSDripQg64uk66W4IGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZeqwgCDqsr3qs6Ag4oCL4oCL7ZWcIO2bhCwgMzDrtoQg7J2064K07JeQIOuwlOuhnOyeoeydhCDsiJgg7JeG64uk66m0IGBybXZwcm9kdWNlcmAg7KGw7LmY66W8IO2Gte2VtCDsnpDqsqnsnbQg7KCc6rGwIOuQoCDsiJgg7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4KCuaJp+ihjOaXtumXtAoK5oiR77yMIHt7IHByb2R1Y2VyIH1977yM5bCG6YOo572y5ZKM6L+Q6KGM572R57uc5Z+656GA6K6+5pa977yM6IO95aSf5bCGIENQVSDmiafooYzml7bpl7Tnu7TmjIHlnKggMm1zIOaIluabtOWwkeeahOawtOW5s+OAggoK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIzlnKjmraTnoa7orqTvvIzlpoLmnpzmiJHlnKjmlLbliLDlj6bkuIDkuKpibG9jayBwcm9kdWNlciBjYW5kaWRhdGXnmoTorablkYrlkI4zMOWIhumSn+WGheS4jeiDveespuWQiOS4iui/sOadoeS7tu+8jOWPr+S7peS9v+eUqCBgcm12cHJvZHVjZXJgIOaTjeS9nOWwhuaIkeenu+mZpOOAggoKIyMjIDguIE9yZGVyaW5nCgpJIHt7IHByb2R1Y2VyIH19IGFncmVlIHRvIHByb2Nlc3MgdHJhbnNhY3Rpb25zIG9uIGEgZmlyc3QtaW4tZmlyc3Qtb3V0IChGSUZPKSBiYXNpcywgYW5kIG5vdCB0byBtYW5pcHVsYXRlIHRoZSBjb250ZW50cyBvZiBibG9ja3MgaW4gb3JkZXIgdG8gZGVyaXZlIHByb2ZpdCBmcm9tIHRoZSBvcmRlciBpbiB3aGljaCB0cmFuc2FjdGlvbnMgYXJlIGluY2x1ZGVkOiB0aGUgaGFzaCBvZiB0aGUgYmxvY2sgdGhhdCBpcyBwcm9kdWNlZC4KCuyDneyCsArrgpgsIHt7IHByb2R1Y2VyIH1964qUIOyEoOyehSDshKDstpzrspUgKEZJRk8pIOuwqeyLneycvOuhnCDqsbDrnpjrpbwg7LKY66as7ZWY6rOgIOqxsOuemOqwgCDruJTroZ3snZgg7ZW07Iuc7JeQIO2PrO2VqOuQmOuKlCDsiJzshJzsl5DshJwg7J207J217J2EIOyWu+ycvOugpOuKlCDrqqnsoIHsnLzroZwg7IOd7IKw7ZWY64qUIOu4lOuhneydmCDrgrTsmqnsnYQg7KGw7J6R7ZWY7KeAIOyViuq4sOuhnCDrj5nsnZjtlanri4jri6QuCgrpobrluo8KCuaIke+8jCB7eyBwcm9kdWNlciB9fSDvvIzlkIzmhI/moLnmja7lhYjov5vlhYjlh7ooRklGTynnmoTmlrnlvI/lpITnkIbkuovliqHvvIzlubbkuJTnu53kuI3kvJrkuLrkuobniZ/liKnogIzliKnnlKjljLrlnZflhoXlrrnjgIHmk43nurXljLrlnZfkuK3kuqTmmJPlpITnkIbnmoTpobrluo/jgIIKCiMjIyA5LiBSYW5kb20gUm90YXRpb24gb2YgU3RhbmRieXMKCkksIHt7IHByb2R1Y2VyIH19LCBhZ3JlZSB0aGF0IGlmIEkgYW0gaW4gYSBwYWlkIHN0YW5kYnkgcG9zaXRpb24sIEkgY2FuIGJlIHJhbmRvbWx5IGNhbGxlZCBpbnRvIGEgcHJvZHVjaW5nIHBvc2l0aW9uLiBVcG9uIGZhaWx1cmUgdG8gcHJvZHVjZSBibG9ja3MsIGNvZGUgbWF5IHNlbGYtZXhlY3V0ZSBwZW5hbHRpZXMgcmVnYXJkaW5nIGZ1dHVyZSB2cGF5IHJld2FyZHMuCgrsnKDquIkg64yA6riwIOu4lOuhne2UhOuhnOuTgOyEnOydmCDrrLTsnpHsnIQg66Gc7YWM7J207IWYCgrrgpgsIHt7IHByb2R1Y2VyIH1964qUIOuzuOyduOydtCDsnKDquIkg64yA6riw7KeB7JeQIOyeiOydhCDrlYwsIOustOyekeychOuhnCDsg53sgrDsp4HsnLzroZwg67aA66aEIOuwm+ydhCDsiJgg7J6I64uk64qUIOqyg+yXkCDrj5nsnZjtlanri4jri6QuIOydtOuVjCDruJTroZ3snYQg7IOd7ISx7ZWY7KeAIOuqu+2VmOuptCDsvZTrk5zripQg7Zal7ZuEIHZwYXkg67O07IOB7JeQIOuMgO2VnCDsspjrsozsnYQg7KeR7ZaJ7ZWgIOyImCDsnojsirXri4jri6QuCgrlpIfpgInoioLngrnpmo/mnLrova7mjaIKCuaIke+8jHt7IHByb2R1Y2VyIH1977yM5ZCM5oSP6Iul5pys6IqC54K55aSE5LqO5pyJ5YG/5aSH6YCJ54q25oCB77yM5Y+v6KKr6ZqP5py66LCD5YWl5Ye65Z2X54q25oCB44CC5aaC5p6c5oiR5peg5rOV5Ye65Z2X77yM5ZCI57qm5Luj56CB5Y+v6IO95Lya6Ieq5Yqo5omn6KGM5bCx5pyq5p2l55qEIHZwYXkg5oql6YWs6L+b6KGM5aSE572a44CCCgojIyMgMTAuIE1pc3NpbmcgVHdvIG9yIE1vcmUgUm91bmRzIG9mIEJsb2NrcwoKSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgaWYgYWZ0ZXIgbWlzc2luZyAyIG9yIG1vcmUgcm91bmRzIG9mIGJsb2NrcyBpbiBzdWNjZXNzaW9uIEkgYW0gdW5hYmxlIHRvIGJlIGNvbnRhY3RlZCB3aXRoaW4gMjAgbWludXRlcywgSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgSSBtYXkgYmUgcmVtb3ZlZCBmcm9tIGEgcHJvZHVjaW5nIHBvc2l0aW9uIGJ5IHVzZSBvZiB0aGUgYHJtdnByb2R1Y2VyYCBhY3Rpb24uCgpJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBhZnRlciBtaXNzaW5nIHR3byBvciBtb3JlIHJvdW5kcyBvZiBibG9ja3MgaW4gc3VjY2Vzc2lvbiwgc3RhbmRhcmQgcHJhY3RpY2Ugc3RpcHVsYXRlcyByZW1vdmluZyBteSBwcm9kdWNlciBieSB1c2luZyB0aGUgYHVucmVncHJvZGAgYWN0aW9uIHVudGlsIHRoZSBnaXZlbiBpc3N1ZSBpcyByZXNvbHZlZC4KCuuRkCDrnbzsmrTrk5wg7J207IOB7J2YIOu4lOuhnSDriITrnb0KCuuCmCwge3sgcHJvZHVjZXIgfX3ripQg65GQIOudvOyatOuTnCDsnbTsg4Eg7Jew7IaN7ZWY7JesIOu4lOuhneydhCDriITrnb0g7ZWcIO2bhCwgMjDrtoQg7J2064K07JeQIOyXsOudvSDtlaAg7IiYIOyXhuuLpOuptCB7eyBwcm9kdWNlciB9fSDqsIAgYHJtdnByb2R1Y2VyYCDslaHshZjsnZgg7IKs7Jqp65CY7Ja0IOyDneyCsCDsnITsuZjsl5DshJwg7KCc6rGwIOuQoCDsiJgg7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4KCnt7IHByb2R1Y2VyIH1964qUIOuRkCDrnbzsmrTrk5wg7J207IOB7Jy866GcIOu4lOuhneydhCDsl7Dsho3soIHsnLzroZwg64iE65297ZWc64uk66m0LCDso7zslrTsp4Qg66y47KCc6rCAIO2VtOqysCDrkKAg65WM6rmM7KeAIGB1bnJlZ3Byb2RgIOyekeyXheydhCDsgqzsmqntlZjsl6wg67O47J247J20IOyDneyCsCDsnITsuZjsl5DshJwg7KCc6rGw65Co7J20IO2RnOykgCDqtIDtlonsnLzroZwg6rec7KCV65CY7Ja0IOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuCgrkuKTova7miJbmm7TlpJrova7kuKLlnZfnmoTmg4XlvaIKCuaIke+8jHt7IHByb2R1Y2VyIH19LCDnoa7orqTlpoLmnpzov57nu63kuKTova7miJbmm7TlpJrova7kuKLlnZfkuJTml6Dms5XlnKgyMOWIhumSn+WGheiBlOezu+WIsOaIke+8jOaIke+8jHt7IHByb2R1Y2VyIH19LCDlkIzmhI/lj6/og73kvJrnlKggYHJtdnByb2R1Y2VyYCDmk43kvZzlsIbmiJHnp7vpmaTjgIIK5oiR77yMe3sgcHJvZHVjZXIgfX0sIOWmguaenOi/nue7reS4pOi9ruaIluabtOWkmui9ruS4ouWdl++8jOagueaNruagh+WHhuWunui3teS8muWPkei1tyBgdW5yZWdwcm9kYCDmk43kvZzlsIbmiJHnp7vpmaTlh7rlnZfotYTmoLzvvIznm7TliLDpl67popjop6PlhrPjgIIKCiMjIyAxMS4gVXJnZW50IFNlY3VyaXR5IFBhdGNoZXMKCkksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IGlmIEkgYW0gbm90IGFibGUgdG8gYmUgY29udGFjdGVkIGluIGFueSBmb3JtIGFmdGVyIGFuIHVyZ2VudCBzZWN1cml0eSBwYXRjaCBpcyBhbm5vdW5jZWQsIEkgbWF5IGJlIHJlbW92ZWQgYnkgdXNlIG9mIHRoZSBgcm12cHJvZHVjZXJgIGFjdGlvbi4KCuq4tOq4iSDrs7TslYgg7Yyo7LmYCuq4tOq4iSDrs7TslYgg7Yyo7LmY6rCAIOuwnO2RnCDrkJwg7ZuELCDslrTrlqQg7ZiV7YOc66Gc65OgIOyXsOudvSDtlaAg7IiYIOyXhuuKlCDqsr3smrAgYHJtdnByb2R1Y2VyYCDsnpHsl4XsnYQg7IKs7Jqp7ZWY7JesIOygnOqxsCDrkKAg7IiYIOyeiOydjOydhCDrgpgsIHt7IHByb2R1Y2VyIH1964qUIOyduOygle2VqeuLiOuLpC4KCue0p+aApeWuieWFqOihpeS4gQoK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIznoa7orqTlpoLmnpzlnKjntKfmgKXlronlhajooaXkuIHlj5HluIPlkI7nlKjku7vkvZXmlrnlvI/pg73ml6Dms5XogZTns7vliLDmiJHvvIzlj6/og73kvJrnlKggYHJtdnByb2R1Y2VyYCDmjIfku6TlsIbmiJHnp7vpmaTjgIIKCiMjIyAxMi4gRGlzY2xvc3VyZSBvZiBFbnRpdHkgYW5kIFNlcnZlciBJbmZvcm1hdGlvbgoKSSwge3sgcHJvZHVjZXIgfX0sIGF0dGVzdCB0aGF0IEkgaGF2ZSBkaXNjbG9zZWQgdGhlIGFwcHJveGltYXRlIGdlb2xvY2F0aW9uIGZvciBteSBtYWluIHByb2R1Y3Rpb24gbm9kZSBhcyBiZWluZyB7eyBsb2NhdGlvbiB9fS4KCuuyleyduCDrsI8g7ISc67KEIOygleuztOydmCDqs7XqsJwKCuuCmCwge3sgcHJvZHVjZXIgfX0g64qUIOyjvCDsg53sgrAg64W465Oc7JeQIOuMgO2VnCDsnITsuZgg7KCV67O066W8IOqzteqwnO2WiOydjOydhCDspp3rqoXtlanri4jri6QuCgrlrp7kvZPlkozmnI3liqHlmajnmoTkv6Hmga/miqvpnLIKCuaIke+8jHt7IHByb2R1Y2VyIH1977yM56Gu6K6k5oiR5bey57uP5oqr6Zyy5LqG5Li75Ye65Z2X6IqC54K55pyN5Yqh5Zmo5Zyw55CG5L2N572u55qE5YeG56Gu5L+h5oGv44CC5YW25Zyw5Z2A5Li6IHt7IGxvY2F0aW9uIH1944CCCgojIyMgMTMuIEVzdGFibGlzaGVzIHRoZSBwZW5hbHR5IGFuZCBwcm9jZWR1cmUgZm9yIHVud2lsbGluZ25lc3MgdG8gY29tcGx5IHdpdGggcGVuYWx0aWVzIG9yIHByb2NlZHVyZXMKCkksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IGZhaWxpbmcgdG8gY29tcGx5IHdpdGggcGVuYWx0aWVzIG9yIHByb2NlZHVyZXMgZW5hY3RlZCBhZ2FpbnN0IG1lIHdpbGwgcmVzdWx0IGluIEJsb2NrIFByb2R1Y2VycyBleGVjdXRpbmcgdGhlIGBybXZwcm9kdWNlcmAgY29udHJhY3QgdG8gcmVtb3ZlIG1lLgoKSSwge3sgcHJvZHVjZXIgfX0sIHdpbGwgbm90IGV4ZWN1dGUgdGhlIGByZWdwcm9kdWNlcmAgY29udHJhY3QgdW50aWwgc2VydmluZyBvciBmdWxmaWxsaW5nIHRoZSByZXF1aXJlbWVudHMgZnJvbSBhIHBlbmFsdHkgb3IgcHJvY2VkdXJlIHRoYXQgcmVzdWx0cyBpbiBoYXZpbmcgdGhlIGBybXZwcm9kdWNlcmAgY29udHJhY3QgZXhlY3V0ZWQgdG8gcmVtb3ZlIG1lLgoKSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgaWYgSSBjb250aW51ZSB0byBjYWxsIHRoZSBgcmVncHJvZHVjZXJgIGFjdGlvbiB3aXRob3V0IHNlcnZpbmcgb3IgZnVsZmlsbGluZyB0aGUgcmVxdWlyZW1lbnRzIGZyb20gYnJlYWNoIG9mIGByZWdwcm9kdWNlcmAsIG15IGFjY291bnQga2V5cyBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZ2lzdGVyZWQgQmxvY2sgUHJvZHVjZXIgaW4gcXVlc3Rpb24gbWF5IGJlIG51bGxlZCBieSBCbG9jayBQcm9kdWNlcnMgYnkgdXNpbmcgYGVvc2lvLndyYXBgLgoK7Y6Y64SQ7Yuw66W8IOykgOyImO2VmOyngCDslYrsnYQg6rK97JqwIOuyjOy5mQoK64KYLCB7eyBwcm9kdWNlciB9fSDripQg64KY7JeQ6rKMIOygnOyerOuQnCDsspjrsozsnYQg7KSA7IiY7ZWY7KeAIOyViuycvOuptCDruJTroZ3tlITroZzrk4DshJzrk6TsnbQgYHJtdnByb2R1Y2VyYCDqs4Tslb3snYQg7KeR7ZaJ7ZWY6rKMIOuQoCDqsoPsnbTrnbzqs6Ag7J247KCV7ZWp64uI64ukLiDrgpgsIHt7IHByb2R1Y2VyIH19IOuKlCBgcm12cHJvZHVjZXJgIOqzhOyVveydtCDsp5HtlonrkJzri6TrqbQg7JqU6rWsIOyCrO2VreydhCDstqnsobHrkKAg65WM6rmM7KeAIGByZWdwcm9kdWNlcmAg6rOE7JW97J2EIOydtO2Wie2VmOyngCDslYrsnYQg6rKD7J6F64uI64ukLgpgcmVncHJvZHVjZXJgIOqzhOyVvSDsnITrsJjsnLzroZwg7J247ZWcIOyalOq1rCDsgqztla3snYQg7Lap7KGx7Iuc7YKk7KeAIOyViuqzoCBgcmVncHJvZHVjZXJgIOqzhOyVveydhCDqs4Tsho0g7Zi47Lac7ZWY66m0IO2VtOuLuSDruJTroZ3tlITroZzrk4DshJzsmYAg6rSA66Co65CcIOqzhOyglSDtgqTqsIAgYGVvc2lvLndyYXBgIOydhCDsgqzsmqntlZjsl6wg67iU66Gd7ZSE66Gc65OA7ISc65Ok7JeQIOydmO2VtCDrrLTtmqjtmZQg65CgIOyImCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLgoK5a+55LiN5oS/6YG15a6I5aSE572a55qE6KGM5Li65LqI5Lul5aSE572aCgrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOaJv+iupOiLpeS4jemBteWuiOWvueacrOS6uuWItuijgeeahOWkhOe9mu+8jEJQIOWPr+S7peWunuaWvSBgcm12cHJvZHVjZXJgIOWQiOe6pu+8jOaIkeaOpeWPl+aKleelqOeahOi1hOagvOWwhuiiq+WPlua2iOOAguiLpeaciemSiOWvueaIkeWunuaWvSBgcm12cHJvZHVjZXJgIOWQiOe6pueahOaDheWGteWPkeeUn++8jOaIkSwge3sgcHJvZHVjZXIgfX0g5Zyo6YG15a6IL+WxpeihjOaJgOaUtuWIsOeahOWkhOe9muS5i+WJje+8jOS4jeS8muWGjeasoeaJp+ihjCBgcmVncHJvZHVjZXJgIOWQiOe6puOAggoK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIzlnKjlsaXooYzmg6nnvZrnqIvluo/nmoTopoHmsYLkuYvliY3vvIzkuI3kvJrmiafooYwgYHJlZ3Byb2R1Y2VyYCDlkIjlkIzjgILmiJHnn6XmmZPlpoLkuI3lsaXooYzmraTnqIvluo/vvIwgYHJtdnByb2R1Y2VyYCDlkIjlkIzlsIbkvJrlho3mrKHlsIbmiJHnp7vpmaTjgIIKCuaIkSx7eyBwcm9kdWNlciB9fSwg5om/6K6k5aaC5p6c5rKh5pyJ6YG15a6I5oiW5bGl6KGM5Zug6L+d5Y+NIGByZWdwcm9kdWNlcmAg6ICM5Y+X5Yiw55qE5oOp572a6KaB5rGC5Y2057un57ut6LCD55SoYHJlZ3Byb2R1Y2VyYOaTjeS9nO+8jEJQIOWPr+S7peiwg+eUqCBgZW9zaW8ud3JhcGAg5ZCI57qm5bCG5oiR55So5p2l5rOo5YaM5Ye65Z2X6IqC54K555qE6LSm5Y+35a+G6ZKl6K6+572u5Li65peg5pWI5YC844CCAAABInZhcmlhbnRfYmxvY2tfc2lnbmluZ19hdXRob3JpdHlfdjABGmJsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwBwAAAABIc70+FGFjdGlvbl9yZXR1cm5fYnV5cmFtAMC8+khzvT4UYWN0aW9uX3JldHVybl9idXlyYW0AsMr+SHO9PhRhY3Rpb25fcmV0dXJuX2J1eXJhbQDAigpLc70+FGFjdGlvbl9yZXR1cm5fYnV5cmFtAAAAYF59pLkZYWN0aW9uX3JldHVybl9yYW10cmFuc2ZlcgCuWniam6W5GWFjdGlvbl9yZXR1cm5fcmFtdHJhbnNmZXIAAABAmhujwhVhY3Rpb25fcmV0dXJuX3NlbGxyYW0=\"}" + "text": "{\"account_name\":\"eosio\",\"code_hash\":\"34cbdf2a9c41b0a182f235018753110ca2cdcdd4c274b17dd8b7ea9f444fd043\",\"abi_hash\":\"dbd704dd1b7df115cf9a4c31eb98dd1336476ea5642445aa00dc8f8bb4910abc\",\"abi\":\"DmVvc2lvOjphYmkvMS4yAxdibG9ja19zaWduaW5nX2F1dGhvcml0eSJ2YXJpYW50X2Jsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwF2Jsb2NrY2hhaW5fcGFyYW1ldGVyc190GGJsb2NrY2hhaW5fcGFyYW1ldGVyc192MRFnZXRwZWVya2V5c19yZXNfdAxwZWVya2V5c190W12VAQhhYmlfaGFzaAACBW93bmVyBG5hbWUEaGFzaAtjaGVja3N1bTI1NhZhY2NvdW50X25hbWVfYmxhY2tsaXN0AAEKZGlzYWxsb3dlZAZuYW1lW10JYWN0Zmlua2V5AAIOZmluYWxpemVyX25hbWUEbmFtZQ1maW5hbGl6ZXJfa2V5BnN0cmluZxRhY3Rpb25fcmV0dXJuX2J1eXJhbQAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQhxdWFudGl0eQVhc3NldA9ieXRlc19wdXJjaGFzZWQFaW50NjQJcmFtX2J5dGVzBWludDY0A2ZlZQVhc3NldBlhY3Rpb25fcmV0dXJuX3JhbXRyYW5zZmVyAAUEZnJvbQRuYW1lAnRvBG5hbWUFYnl0ZXMFaW50NjQOZnJvbV9yYW1fYnl0ZXMFaW50NjQMdG9fcmFtX2J5dGVzBWludDY0FWFjdGlvbl9yZXR1cm5fc2VsbHJhbQAFB2FjY291bnQEbmFtZQhxdWFudGl0eQVhc3NldApieXRlc19zb2xkBWludDY0CXJhbV9ieXRlcwVpbnQ2NANmZWUFYXNzZXQIYWN0aXZhdGUAAQ5mZWF0dXJlX2RpZ2VzdAtjaGVja3N1bTI1NglhdXRob3JpdHkABAl0aHJlc2hvbGQGdWludDMyBGtleXMMa2V5X3dlaWdodFtdCGFjY291bnRzGXBlcm1pc3Npb25fbGV2ZWxfd2VpZ2h0W10Fd2FpdHMNd2FpdF93ZWlnaHRbXQpiaWRfcmVmdW5kAAIGYmlkZGVyBG5hbWUGYW1vdW50BWFzc2V0B2JpZG5hbWUAAwZiaWRkZXIEbmFtZQduZXduYW1lBG5hbWUDYmlkBWFzc2V0CWJpZHJlZnVuZAACBmJpZGRlcgRuYW1lB25ld25hbWUEbmFtZQxibG9ja19oZWFkZXIACAl0aW1lc3RhbXAGdWludDMyCHByb2R1Y2VyBG5hbWUJY29uZmlybWVkBnVpbnQxNghwcmV2aW91cwtjaGVja3N1bTI1NhF0cmFuc2FjdGlvbl9tcm9vdAtjaGVja3N1bTI1NgxhY3Rpb25fbXJvb3QLY2hlY2tzdW0yNTYQc2NoZWR1bGVfdmVyc2lvbgZ1aW50MzINbmV3X3Byb2R1Y2VycxJwcm9kdWNlcl9zY2hlZHVsZT8RYmxvY2tfaW5mb19yZWNvcmQAAwd2ZXJzaW9uBXVpbnQ4DGJsb2NrX2hlaWdodAZ1aW50MzIPYmxvY2tfdGltZXN0YW1wCnRpbWVfcG9pbnQaYmxvY2tfc2lnbmluZ19hdXRob3JpdHlfdjAAAgl0aHJlc2hvbGQGdWludDMyBGtleXMMa2V5X3dlaWdodFtdFWJsb2NrY2hhaW5fcGFyYW1ldGVycwARE21heF9ibG9ja19uZXRfdXNhZ2UGdWludDY0GnRhcmdldF9ibG9ja19uZXRfdXNhZ2VfcGN0BnVpbnQzMhltYXhfdHJhbnNhY3Rpb25fbmV0X3VzYWdlBnVpbnQzMh5iYXNlX3Blcl90cmFuc2FjdGlvbl9uZXRfdXNhZ2UGdWludDMyEG5ldF91c2FnZV9sZWV3YXkGdWludDMyI2NvbnRleHRfZnJlZV9kaXNjb3VudF9uZXRfdXNhZ2VfbnVtBnVpbnQzMiNjb250ZXh0X2ZyZWVfZGlzY291bnRfbmV0X3VzYWdlX2RlbgZ1aW50MzITbWF4X2Jsb2NrX2NwdV91c2FnZQZ1aW50MzIadGFyZ2V0X2Jsb2NrX2NwdV91c2FnZV9wY3QGdWludDMyGW1heF90cmFuc2FjdGlvbl9jcHVfdXNhZ2UGdWludDMyGW1pbl90cmFuc2FjdGlvbl9jcHVfdXNhZ2UGdWludDMyGG1heF90cmFuc2FjdGlvbl9saWZldGltZQZ1aW50MzIeZGVmZXJyZWRfdHJ4X2V4cGlyYXRpb25fd2luZG93BnVpbnQzMhVtYXhfdHJhbnNhY3Rpb25fZGVsYXkGdWludDMyFm1heF9pbmxpbmVfYWN0aW9uX3NpemUGdWludDMyF21heF9pbmxpbmVfYWN0aW9uX2RlcHRoBnVpbnQxNhNtYXhfYXV0aG9yaXR5X2RlcHRoBnVpbnQxNhhibG9ja2NoYWluX3BhcmFtZXRlcnNfdjEVYmxvY2tjaGFpbl9wYXJhbWV0ZXJzARxtYXhfYWN0aW9uX3JldHVybl92YWx1ZV9zaXplB3VpbnQzMiQGYnV5cmFtAAMFcGF5ZXIEbmFtZQhyZWNlaXZlcgRuYW1lBXF1YW50BWFzc2V0CmJ1eXJhbWJ1cm4AAwVwYXllcgRuYW1lCHF1YW50aXR5BWFzc2V0BG1lbW8Gc3RyaW5nC2J1eXJhbWJ5dGVzAAMFcGF5ZXIEbmFtZQhyZWNlaXZlcgRuYW1lBWJ5dGVzBnVpbnQzMgpidXlyYW1zZWxmAAIHYWNjb3VudARuYW1lBXF1YW50BWFzc2V0BmJ1eXJleAACBGZyb20EbmFtZQZhbW91bnQFYXNzZXQLY2FuY2VsZGVsYXkAAg5jYW5jZWxpbmdfYXV0aBBwZXJtaXNzaW9uX2xldmVsBnRyeF9pZAtjaGVja3N1bTI1NgpjZmdwb3dlcnVwAAEEYXJncw5wb3dlcnVwX2NvbmZpZwxjbGFpbXJld2FyZHMAAQVvd25lcgRuYW1lCGNsb3NlcmV4AAEFb3duZXIEbmFtZQxjbmNscmV4b3JkZXIAAQVvd25lcgRuYW1lCWNvbm5lY3RvcgACB2JhbGFuY2UFYXNzZXQGd2VpZ2h0B2Zsb2F0NjQLY29uc29saWRhdGUAAQVvd25lcgRuYW1lCmRlZmNwdWxvYW4AAwRmcm9tBG5hbWUIbG9hbl9udW0GdWludDY0BmFtb3VudAVhc3NldApkZWZuZXRsb2FuAAMEZnJvbQRuYW1lCGxvYW5fbnVtBnVpbnQ2NAZhbW91bnQFYXNzZXQKZGVsZWdhdGVidwAFBGZyb20EbmFtZQhyZWNlaXZlcgRuYW1lEnN0YWtlX25ldF9xdWFudGl0eQVhc3NldBJzdGFrZV9jcHVfcXVhbnRpdHkFYXNzZXQIdHJhbnNmZXIEYm9vbBNkZWxlZ2F0ZWRfYmFuZHdpZHRoAAQEZnJvbQRuYW1lAnRvBG5hbWUKbmV0X3dlaWdodAVhc3NldApjcHVfd2VpZ2h0BWFzc2V0CmRlbGV0ZWF1dGgAAwdhY2NvdW50BG5hbWUKcGVybWlzc2lvbgRuYW1lDWF1dGhvcml6ZWRfYnkFbmFtZSQJZGVsZmlua2V5AAIOZmluYWxpemVyX25hbWUEbmFtZQ1maW5hbGl6ZXJfa2V5BnN0cmluZwtkZWxzY2hlZHVsZQABCnN0YXJ0X3RpbWUOdGltZV9wb2ludF9zZWMJZGVueV9oYXNoAAICaWQGdWludDY0BGhhc2gLY2hlY2tzdW0yNTYLZGVueWhhc2hhZGQAAQRoYXNoC2NoZWNrc3VtMjU2DGRlbnloYXNoY2FsYwABCHBhdHRlcm5zBm5hbWVbXQpkZW55aGFzaHJtAAEEaGFzaAtjaGVja3N1bTI1NglkZW55bmFtZXMAAQhwYXR0ZXJucwZuYW1lW10HZGVwb3NpdAACBW93bmVyBG5hbWUGYW1vdW50BWFzc2V0C2RvbmF0ZXRvcmV4AAMFcGF5ZXIEbmFtZQhxdWFudGl0eQVhc3NldARtZW1vBnN0cmluZxJlb3Npb19nbG9iYWxfc3RhdGUVYmxvY2tjaGFpbl9wYXJhbWV0ZXJzDQxtYXhfcmFtX3NpemUGdWludDY0GHRvdGFsX3JhbV9ieXRlc19yZXNlcnZlZAZ1aW50NjQPdG90YWxfcmFtX3N0YWtlBWludDY0HWxhc3RfcHJvZHVjZXJfc2NoZWR1bGVfdXBkYXRlFGJsb2NrX3RpbWVzdGFtcF90eXBlGGxhc3RfcGVydm90ZV9idWNrZXRfZmlsbAp0aW1lX3BvaW50DnBlcnZvdGVfYnVja2V0BWludDY0D3BlcmJsb2NrX2J1Y2tldAVpbnQ2NBN0b3RhbF91bnBhaWRfYmxvY2tzBnVpbnQzMhV0b3RhbF9hY3RpdmF0ZWRfc3Rha2UFaW50NjQbdGhyZXNoX2FjdGl2YXRlZF9zdGFrZV90aW1lCnRpbWVfcG9pbnQbbGFzdF9wcm9kdWNlcl9zY2hlZHVsZV9zaXplBnVpbnQxNhp0b3RhbF9wcm9kdWNlcl92b3RlX3dlaWdodAdmbG9hdDY0D2xhc3RfbmFtZV9jbG9zZRRibG9ja190aW1lc3RhbXBfdHlwZRNlb3Npb19nbG9iYWxfc3RhdGUyAAURbmV3X3JhbV9wZXJfYmxvY2sGdWludDE2EWxhc3RfcmFtX2luY3JlYXNlFGJsb2NrX3RpbWVzdGFtcF90eXBlDmxhc3RfYmxvY2tfbnVtFGJsb2NrX3RpbWVzdGFtcF90eXBlHHRvdGFsX3Byb2R1Y2VyX3ZvdGVwYXlfc2hhcmUHZmxvYXQ2NAhyZXZpc2lvbgV1aW50OBNlb3Npb19nbG9iYWxfc3RhdGUzAAIWbGFzdF92cGF5X3N0YXRlX3VwZGF0ZQp0aW1lX3BvaW50HHRvdGFsX3ZwYXlfc2hhcmVfY2hhbmdlX3JhdGUHZmxvYXQ2NBNlb3Npb19nbG9iYWxfc3RhdGU0AAMPY29udGludW91c19yYXRlB2Zsb2F0NjQUaW5mbGF0aW9uX3BheV9mYWN0b3IFaW50NjQOdm90ZXBheV9mYWN0b3IFaW50NjQOZXhjaGFuZ2Vfc3RhdGUAAwZzdXBwbHkFYXNzZXQEYmFzZQljb25uZWN0b3IFcXVvdGUJY29ubmVjdG9yDGV4ZWNzY2hlZHVsZQAAGWZpbl9rZXlfaWRfZ2VuZXJhdG9yX2luZm8AARVuZXh0X2ZpbmFsaXplcl9rZXlfaWQGdWludDY0E2ZpbmFsaXplcl9hdXRoX2luZm8AAgZrZXlfaWQGdWludDY0DWZpbl9hdXRob3JpdHkTZmluYWxpemVyX2F1dGhvcml0eRNmaW5hbGl6ZXJfYXV0aG9yaXR5AAMLZGVzY3JpcHRpb24Gc3RyaW5nBndlaWdodAZ1aW50NjQKcHVibGljX2tleQVieXRlcw5maW5hbGl6ZXJfaW5mbwAEDmZpbmFsaXplcl9uYW1lBG5hbWUNYWN0aXZlX2tleV9pZAZ1aW50NjQRYWN0aXZlX2tleV9iaW5hcnkFYnl0ZXMTZmluYWxpemVyX2tleV9jb3VudAZ1aW50MzISZmluYWxpemVyX2tleV9pbmZvAAQCaWQGdWludDY0DmZpbmFsaXplcl9uYW1lBG5hbWUNZmluYWxpemVyX2tleQZzdHJpbmcUZmluYWxpemVyX2tleV9iaW5hcnkFYnl0ZXMLZnVuZGNwdWxvYW4AAwRmcm9tBG5hbWUIbG9hbl9udW0GdWludDY0B3BheW1lbnQFYXNzZXQLZnVuZG5ldGxvYW4AAwRmcm9tBG5hbWUIbG9hbl9udW0GdWludDY0B3BheW1lbnQFYXNzZXQKZ2lmdGVkX3JhbQADBmdpZnRlZQRuYW1lBmdpZnRlcgRuYW1lCXJhbV9ieXRlcwVpbnQ2NAdnaWZ0cmFtAAQEZnJvbQRuYW1lAnRvBG5hbWUFYnl0ZXMFaW50NjQEbWVtbwZzdHJpbmcEaW5pdAACB3ZlcnNpb24JdmFydWludDMyBGNvcmUGc3ltYm9sCmtleV93ZWlnaHQAAgNrZXkKcHVibGljX2tleQZ3ZWlnaHQGdWludDE2GWxhc3RfcHJvcF9maW5hbGl6ZXJzX2luZm8AARhsYXN0X3Byb3Bvc2VkX2ZpbmFsaXplcnMVZmluYWxpemVyX2F1dGhfaW5mb1tdDGxpbWl0YXV0aGNoZwADB2FjY291bnQEbmFtZQthbGxvd19wZXJtcwZuYW1lW10OZGlzYWxsb3dfcGVybXMGbmFtZVtdCGxpbmthdXRoAAUHYWNjb3VudARuYW1lBGNvZGUEbmFtZQR0eXBlBG5hbWULcmVxdWlyZW1lbnQEbmFtZQ1hdXRob3JpemVkX2J5BW5hbWUkCWxvZ2J1eXJhbQAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQhxdWFudGl0eQVhc3NldAVieXRlcwVpbnQ2NAlyYW1fYnl0ZXMFaW50NjQDZmVlBWFzc2V0DGxvZ3JhbWNoYW5nZQADBW93bmVyBG5hbWUFYnl0ZXMFaW50NjQJcmFtX2J5dGVzBWludDY0CmxvZ3NlbGxyYW0ABQdhY2NvdW50BG5hbWUIcXVhbnRpdHkFYXNzZXQFYnl0ZXMFaW50NjQJcmFtX2J5dGVzBWludDY0A2ZlZQVhc3NldAxsb2dzeXN0ZW1mZWUAAwhwcm90b2NvbARuYW1lA2ZlZQVhc3NldARtZW1vBnN0cmluZwttdmZyc2F2aW5ncwACBW93bmVyBG5hbWUDcmV4BWFzc2V0C212dG9zYXZpbmdzAAIFb3duZXIEbmFtZQNyZXgFYXNzZXQIbmFtZV9iaWQABAduZXduYW1lBG5hbWULaGlnaF9iaWRkZXIEbmFtZQhoaWdoX2JpZAVpbnQ2NA1sYXN0X2JpZF90aW1lCnRpbWVfcG9pbnQKbmV3YWNjb3VudAAEB2NyZWF0b3IEbmFtZQRuYW1lBG5hbWUFb3duZXIJYXV0aG9yaXR5BmFjdGl2ZQlhdXRob3JpdHkHb25ibG9jawABBmhlYWRlcgxibG9ja19oZWFkZXIHb25lcnJvcgACCXNlbmRlcl9pZAd1aW50MTI4CHNlbnRfdHJ4BWJ5dGVzGXBhaXJfdGltZV9wb2ludF9zZWNfaW50NjQAAgVmaXJzdA50aW1lX3BvaW50X3NlYwZzZWNvbmQFaW50NjQQcGVybWlzc2lvbl9sZXZlbAACBWFjdG9yBG5hbWUKcGVybWlzc2lvbgRuYW1lF3Blcm1pc3Npb25fbGV2ZWxfd2VpZ2h0AAIKcGVybWlzc2lvbhBwZXJtaXNzaW9uX2xldmVsBndlaWdodAZ1aW50MTYHcG93ZXJ1cAAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQRkYXlzBnVpbnQzMghuZXRfZnJhYwVpbnQ2NAhjcHVfZnJhYwVpbnQ2NAttYXhfcGF5bWVudAVhc3NldA5wb3dlcnVwX2NvbmZpZwAEA25ldBdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQNjcHUXcG93ZXJ1cF9jb25maWdfcmVzb3VyY2UMcG93ZXJ1cF9kYXlzB3VpbnQzMj8PbWluX3Bvd2VydXBfZmVlBmFzc2V0Pxdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQAIFGN1cnJlbnRfd2VpZ2h0X3JhdGlvBmludDY0PxN0YXJnZXRfd2VpZ2h0X3JhdGlvBmludDY0PxRhc3N1bWVkX3N0YWtlX3dlaWdodAZpbnQ2ND8QdGFyZ2V0X3RpbWVzdGFtcA90aW1lX3BvaW50X3NlYz8IZXhwb25lbnQIZmxvYXQ2ND8KZGVjYXlfc2Vjcwd1aW50MzI/CW1pbl9wcmljZQZhc3NldD8JbWF4X3ByaWNlBmFzc2V0Pw1wb3dlcnVwX29yZGVyAAYHdmVyc2lvbgV1aW50OAJpZAZ1aW50NjQFb3duZXIEbmFtZQpuZXRfd2VpZ2h0BWludDY0CmNwdV93ZWlnaHQFaW50NjQHZXhwaXJlcw50aW1lX3BvaW50X3NlYw1wb3dlcnVwX3N0YXRlAAUHdmVyc2lvbgV1aW50OANuZXQWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQNjcHUWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQxwb3dlcnVwX2RheXMGdWludDMyD21pbl9wb3dlcnVwX2ZlZQVhc3NldBZwb3dlcnVwX3N0YXRlX3Jlc291cmNlAA8HdmVyc2lvbgV1aW50OAZ3ZWlnaHQFaW50NjQMd2VpZ2h0X3JhdGlvBWludDY0FGFzc3VtZWRfc3Rha2Vfd2VpZ2h0BWludDY0FGluaXRpYWxfd2VpZ2h0X3JhdGlvBWludDY0E3RhcmdldF93ZWlnaHRfcmF0aW8FaW50NjQRaW5pdGlhbF90aW1lc3RhbXAOdGltZV9wb2ludF9zZWMQdGFyZ2V0X3RpbWVzdGFtcA50aW1lX3BvaW50X3NlYwhleHBvbmVudAdmbG9hdDY0CmRlY2F5X3NlY3MGdWludDMyCW1pbl9wcmljZQVhc3NldAltYXhfcHJpY2UFYXNzZXQLdXRpbGl6YXRpb24FaW50NjQUYWRqdXN0ZWRfdXRpbGl6YXRpb24FaW50NjQVdXRpbGl6YXRpb25fdGltZXN0YW1wDnRpbWVfcG9pbnRfc2VjC3Bvd2VydXBleGVjAAIEdXNlcgRuYW1lA21heAZ1aW50MTYNcHJvZHVjZXJfaW5mbwAJBW93bmVyBG5hbWULdG90YWxfdm90ZXMHZmxvYXQ2NAxwcm9kdWNlcl9rZXkKcHVibGljX2tleQlpc19hY3RpdmUEYm9vbAN1cmwGc3RyaW5nDXVucGFpZF9ibG9ja3MGdWludDMyD2xhc3RfY2xhaW1fdGltZQp0aW1lX3BvaW50CGxvY2F0aW9uBnVpbnQxNhJwcm9kdWNlcl9hdXRob3JpdHkYYmxvY2tfc2lnbmluZ19hdXRob3JpdHkkDnByb2R1Y2VyX2luZm8yAAMFb3duZXIEbmFtZQ12b3RlcGF5X3NoYXJlB2Zsb2F0NjQZbGFzdF92b3RlcGF5X3NoYXJlX3VwZGF0ZQp0aW1lX3BvaW50DHByb2R1Y2VyX2tleQACDXByb2R1Y2VyX25hbWUEbmFtZRFibG9ja19zaWduaW5nX2tleQpwdWJsaWNfa2V5EXByb2R1Y2VyX3NjaGVkdWxlAAIHdmVyc2lvbgZ1aW50MzIJcHJvZHVjZXJzDnByb2R1Y2VyX2tleVtdB3JhbWJ1cm4AAwVvd25lcgRuYW1lBWJ5dGVzBWludDY0BG1lbW8Gc3RyaW5nC3JhbXRyYW5zZmVyAAQEZnJvbQRuYW1lAnRvBG5hbWUFYnl0ZXMFaW50NjQEbWVtbwZzdHJpbmcGcmVmdW5kAAEFb3duZXIEbmFtZQ5yZWZ1bmRfcmVxdWVzdAAEBW93bmVyBG5hbWUMcmVxdWVzdF90aW1lDnRpbWVfcG9pbnRfc2VjCm5ldF9hbW91bnQFYXNzZXQKY3B1X2Ftb3VudAVhc3NldAlyZWdmaW5rZXkAAw5maW5hbGl6ZXJfbmFtZQRuYW1lDWZpbmFsaXplcl9rZXkGc3RyaW5nE3Byb29mX29mX3Bvc3Nlc3Npb24Gc3RyaW5nC3JlZ3Byb2R1Y2VyAAQIcHJvZHVjZXIEbmFtZQxwcm9kdWNlcl9rZXkKcHVibGljX2tleQN1cmwGc3RyaW5nCGxvY2F0aW9uBnVpbnQxNgxyZWdwcm9kdWNlcjIABAhwcm9kdWNlcgRuYW1lEnByb2R1Y2VyX2F1dGhvcml0eRdibG9ja19zaWduaW5nX2F1dGhvcml0eQN1cmwGc3RyaW5nCGxvY2F0aW9uBnVpbnQxNghyZWdwcm94eQACBXByb3h5BG5hbWUHaXNwcm94eQRib29sB3JlbnRjcHUABARmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZQxsb2FuX3BheW1lbnQFYXNzZXQJbG9hbl9mdW5kBWFzc2V0B3JlbnRuZXQABARmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZQxsb2FuX3BheW1lbnQFYXNzZXQJbG9hbl9mdW5kBWFzc2V0C3JleF9iYWxhbmNlAAYHdmVyc2lvbgV1aW50OAVvd25lcgRuYW1lCnZvdGVfc3Rha2UFYXNzZXQLcmV4X2JhbGFuY2UFYXNzZXQLbWF0dXJlZF9yZXgFaW50NjQOcmV4X21hdHVyaXRpZXMbcGFpcl90aW1lX3BvaW50X3NlY19pbnQ2NFtdCHJleF9mdW5kAAMHdmVyc2lvbgV1aW50OAVvd25lcgRuYW1lB2JhbGFuY2UFYXNzZXQIcmV4X2xvYW4ACAd2ZXJzaW9uBXVpbnQ4BGZyb20EbmFtZQhyZWNlaXZlcgRuYW1lB3BheW1lbnQFYXNzZXQHYmFsYW5jZQVhc3NldAx0b3RhbF9zdGFrZWQFYXNzZXQIbG9hbl9udW0GdWludDY0CmV4cGlyYXRpb24KdGltZV9wb2ludAxyZXhfbWF0dXJpdHkAAxdudW1fb2ZfbWF0dXJpdHlfYnVja2V0cwZ1aW50MzIQc2VsbF9tYXR1cmVkX3JleARib29sEmJ1eV9yZXhfdG9fc2F2aW5ncwRib29sCXJleF9vcmRlcgAHB3ZlcnNpb24FdWludDgFb3duZXIEbmFtZQ1yZXhfcmVxdWVzdGVkBWFzc2V0CHByb2NlZWRzBWFzc2V0DHN0YWtlX2NoYW5nZQVhc3NldApvcmRlcl90aW1lCnRpbWVfcG9pbnQHaXNfb3BlbgRib29sCHJleF9wb29sAAgHdmVyc2lvbgV1aW50OAp0b3RhbF9sZW50BWFzc2V0DHRvdGFsX3VubGVudAVhc3NldAp0b3RhbF9yZW50BWFzc2V0DnRvdGFsX2xlbmRhYmxlBWFzc2V0CXRvdGFsX3JleAVhc3NldBBuYW1lYmlkX3Byb2NlZWRzBWFzc2V0CGxvYW5fbnVtBnVpbnQ2NBJyZXhfcmV0dXJuX2J1Y2tldHMAAgd2ZXJzaW9uBXVpbnQ4DnJldHVybl9idWNrZXRzG3BhaXJfdGltZV9wb2ludF9zZWNfaW50NjRbXQ9yZXhfcmV0dXJuX3Bvb2wABwd2ZXJzaW9uBXVpbnQ4Dmxhc3RfZGlzdF90aW1lDnRpbWVfcG9pbnRfc2VjE3BlbmRpbmdfYnVja2V0X3RpbWUOdGltZV9wb2ludF9zZWMSb2xkZXN0X2J1Y2tldF90aW1lDnRpbWVfcG9pbnRfc2VjF3BlbmRpbmdfYnVja2V0X3Byb2NlZWRzBWludDY0GGN1cnJlbnRfcmF0ZV9vZl9pbmNyZWFzZQVpbnQ2NAhwcm9jZWVkcwVpbnQ2NAdyZXhleGVjAAIEdXNlcgRuYW1lA21heAZ1aW50MTYLcm12cHJvZHVjZXIAAQhwcm9kdWNlcgRuYW1lDnNjaGVkdWxlc19pbmZvAAIKc3RhcnRfdGltZQ50aW1lX3BvaW50X3NlYw9jb250aW51b3VzX3JhdGUHZmxvYXQ2NAdzZWxscmFtAAIHYWNjb3VudARuYW1lBWJ5dGVzBWludDY0B3NlbGxyZXgAAgRmcm9tBG5hbWUDcmV4BWFzc2V0BnNldGFiaQADB2FjY291bnQEbmFtZQNhYmkFYnl0ZXMEbWVtbwdzdHJpbmckCnNldGFjY3RjcHUAAgdhY2NvdW50BG5hbWUKY3B1X3dlaWdodAZpbnQ2ND8Kc2V0YWNjdG5ldAACB2FjY291bnQEbmFtZQpuZXRfd2VpZ2h0BmludDY0PwpzZXRhY2N0cmFtAAIHYWNjb3VudARuYW1lCXJhbV9ieXRlcwZpbnQ2ND8Kc2V0YWxpbWl0cwAEB2FjY291bnQEbmFtZQlyYW1fYnl0ZXMFaW50NjQKbmV0X3dlaWdodAVpbnQ2NApjcHVfd2VpZ2h0BWludDY0B3NldGNvZGUABQdhY2NvdW50BG5hbWUGdm10eXBlBXVpbnQ4CXZtdmVyc2lvbgV1aW50OARjb2RlBWJ5dGVzBG1lbW8Hc3RyaW5nJAxzZXRpbmZsYXRpb24AAwthbm51YWxfcmF0ZQVpbnQ2NBRpbmZsYXRpb25fcGF5X2ZhY3RvcgVpbnQ2NA52b3RlcGF5X2ZhY3RvcgVpbnQ2NAlzZXRwYXJhbXMAAQZwYXJhbXMXYmxvY2tjaGFpbl9wYXJhbWV0ZXJzX3QMc2V0cGF5ZmFjdG9yAAIUaW5mbGF0aW9uX3BheV9mYWN0b3IFaW50NjQOdm90ZXBheV9mYWN0b3IFaW50NjQHc2V0cHJpdgACB2FjY291bnQEbmFtZQdpc19wcml2BXVpbnQ4BnNldHJhbQABDG1heF9yYW1fc2l6ZQZ1aW50NjQKc2V0cmFtcmF0ZQABD2J5dGVzX3Blcl9ibG9jawZ1aW50MTYGc2V0cmV4AAEHYmFsYW5jZQVhc3NldAxzZXRyZXhtYXR1cmUAAxdudW1fb2ZfbWF0dXJpdHlfYnVja2V0cwd1aW50MzI/EHNlbGxfbWF0dXJlZF9yZXgFYm9vbD8SYnV5X3JleF90b19zYXZpbmdzBWJvb2w/C3NldHNjaGVkdWxlAAIKc3RhcnRfdGltZQ50aW1lX3BvaW50X3NlYw9jb250aW51b3VzX3JhdGUHZmxvYXQ2NAxzd2l0Y2h0b3N2bm4AAAx1bmRlbGVnYXRlYncABARmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZRR1bnN0YWtlX25ldF9xdWFudGl0eQVhc3NldBR1bnN0YWtlX2NwdV9xdWFudGl0eQVhc3NldAt1bmRlbnluYW1lcwABCHBhdHRlcm5zBm5hbWVbXQl1bmdpZnRyYW0AAwRmcm9tBG5hbWUCdG8EbmFtZQRtZW1vBnN0cmluZwp1bmxpbmthdXRoAAQHYWNjb3VudARuYW1lBGNvZGUEbmFtZQR0eXBlBG5hbWUNYXV0aG9yaXplZF9ieQVuYW1lJAl1bnJlZ3Byb2QAAQhwcm9kdWNlcgRuYW1lDHVuc3Rha2V0b3JleAAEBW93bmVyBG5hbWUIcmVjZWl2ZXIEbmFtZQhmcm9tX25ldAVhc3NldAhmcm9tX2NwdQVhc3NldAZ1bnZlc3QAAwdhY2NvdW50BG5hbWUTdW52ZXN0X25ldF9xdWFudGl0eQVhc3NldBN1bnZlc3RfY3B1X3F1YW50aXR5BWFzc2V0CnVwZGF0ZWF1dGgABQdhY2NvdW50BG5hbWUKcGVybWlzc2lvbgRuYW1lBnBhcmVudARuYW1lBGF1dGgJYXV0aG9yaXR5DWF1dGhvcml6ZWRfYnkFbmFtZSQJdXBkYXRlcmV4AAEFb3duZXIEbmFtZQx1cGR0cmV2aXNpb24AAQhyZXZpc2lvbgV1aW50OA51c2VyX3Jlc291cmNlcwAEBW93bmVyBG5hbWUKbmV0X3dlaWdodAVhc3NldApjcHVfd2VpZ2h0BWFzc2V0CXJhbV9ieXRlcwVpbnQ2NAx2b3RlcHJvZHVjZXIAAwV2b3RlcgRuYW1lBXByb3h5BG5hbWUJcHJvZHVjZXJzBm5hbWVbXQp2b3Rlcl9pbmZvAAoFb3duZXIEbmFtZQVwcm94eQRuYW1lCXByb2R1Y2VycwZuYW1lW10Gc3Rha2VkBWludDY0EGxhc3Rfdm90ZV93ZWlnaHQHZmxvYXQ2NBNwcm94aWVkX3ZvdGVfd2VpZ2h0B2Zsb2F0NjQIaXNfcHJveHkEYm9vbAZmbGFnczEGdWludDMyCXJlc2VydmVkMgZ1aW50MzIJcmVzZXJ2ZWQzBWFzc2V0CnZvdGV1cGRhdGUAAQp2b3Rlcl9uYW1lBG5hbWULd2FpdF93ZWlnaHQAAgh3YWl0X3NlYwZ1aW50MzIGd2VpZ2h0BnVpbnQxNgd3YXNtY2ZnAAEIc2V0dGluZ3MEbmFtZQh3aXRoZHJhdwACBW93bmVyBG5hbWUGYW1vdW50BWFzc2V0CmRlbHBlZXJrZXkAAhdwcm9wb3Nlcl9maW5hbGl6ZXJfbmFtZQRuYW1lA2tleQpwdWJsaWNfa2V5C2dldHBlZXJrZXlzAAAIcGVlcl9rZXkAAgdhY2NvdW50BG5hbWUEZGF0YQ92YXJpYW50X3YwX2RhdGEKcGVlcmtleXNfdAACDXByb2R1Y2VyX25hbWUEbmFtZQhwZWVyX2tleQtwdWJsaWNfa2V5PwpyZWdwZWVya2V5AAIXcHJvcG9zZXJfZmluYWxpemVyX25hbWUEbmFtZQNrZXkKcHVibGljX2tleQd2MF9kYXRhAAEGcHVia2V5C3B1YmxpY19rZXk/EWxpbWl0X2F1dGhfY2hhbmdlAAQHdmVyc2lvbgV1aW50OAdhY2NvdW50BG5hbWULYWxsb3dfcGVybXMGbmFtZVtdDmRpc2FsbG93X3Blcm1zBm5hbWVbXVsAAPAKTrcyMglhY3RmaW5rZXkAAAAAKpvtMjIIYWN0aXZhdGWIAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEFjdGl2YXRlIFByb3RvY29sIEZlYXR1cmUKc3VtbWFyeTogJ0FjdGl2YXRlIHByb3RvY29sIGZlYXR1cmUge3tub3dyYXAgZmVhdHVyZV9kaWdlc3R9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBhY3RpdmF0ZXMgdGhlIHByb3RvY29sIGZlYXR1cmUgd2l0aCBhIGRpZ2VzdCBvZiB7e2ZlYXR1cmVfZGlnZXN0fX0uAAAAQEkzkzsHYmlkbmFtZakOLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQmlkIE9uIGEgUHJlbWl1bSBBY2NvdW50IE5hbWUKc3VtbWFyeTogJ3t7bm93cmFwIGJpZGRlcn19IGJpZHMgb24gdGhlIHByZW1pdW0gYWNjb3VudCBuYW1lIHt7bm93cmFwIG5ld25hbWV9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgp7e2JpZGRlcn19IGJpZHMge3tiaWR9fSBvbiBhbiBhdWN0aW9uIHRvIG93biB0aGUgcHJlbWl1bSBhY2NvdW50IG5hbWUge3tuZXduYW1lfX0uCgp7e2JpZGRlcn19IHRyYW5zZmVycyB7e2JpZH19IHRvIHRoZSBzeXN0ZW0gdG8gY292ZXIgdGhlIGNvc3Qgb2YgdGhlIGJpZCwgd2hpY2ggd2lsbCBiZSByZXR1cm5lZCB0byB7e2JpZGRlcn19IG9ubHkgaWYge3tiaWRkZXJ9fSBpcyBsYXRlciBvdXRiaWQgaW4gdGhlIGF1Y3Rpb24gZm9yIHt7bmV3bmFtZX19IGJ5IGFub3RoZXIgYWNjb3VudC4KCklmIHRoZSBhdWN0aW9uIGZvciB7e25ld25hbWV9fSBjbG9zZXMgd2l0aCB7e2JpZGRlcn19IHJlbWFpbmluZyBhcyB0aGUgaGlnaGVzdCBiaWRkZXIsIHt7YmlkZGVyfX0gd2lsbCBiZSBhdXRob3JpemVkIHRvIGNyZWF0ZSB0aGUgYWNjb3VudCB3aXRoIG5hbWUge3tuZXduYW1lfX0uCgojIyBCaWQgcmVmdW5kIGJlaGF2aW9yCgpJZiB7e2JpZGRlcn194oCZcyBiaWQgb24ge3tuZXduYW1lfX0gaXMgbGF0ZXIgb3V0YmlkIGJ5IGFub3RoZXIgYWNjb3VudCwge3tiaWRkZXJ9fSB3aWxsIGJlIGFibGUgdG8gY2xhaW0gYmFjayB0aGUgdHJhbnNmZXJyZWQgYW1vdW50IG9mIHt7YmlkfX0uIFRoZSBzeXN0ZW0gd2lsbCBhdHRlbXB0IHRvIGF1dG9tYXRpY2FsbHkgZG8gdGhpcyBvbiBiZWhhbGYgb2Yge3tiaWRkZXJ9fSwgYnV0IHRoZSBhdXRvbWF0aWMgcmVmdW5kIG1heSBvY2Nhc2lvbmFsbHkgZmFpbCB3aGljaCB3aWxsIHRoZW4gcmVxdWlyZSB7e2JpZGRlcn19IHRvIG1hbnVhbGx5IGNsYWltIHRoZSByZWZ1bmQgd2l0aCB0aGUgYmlkcmVmdW5kIGFjdGlvbi4KCiMjIEF1Y3Rpb24gY2xvc2UgY3JpdGVyaWEKClRoZSBzeXN0ZW0gc2hvdWxkIGF1dG9tYXRpY2FsbHkgY2xvc2UgdGhlIGF1Y3Rpb24gZm9yIHt7bmV3bmFtZX19IGlmIGl0IHNhdGlzZmllcyB0aGUgY29uZGl0aW9uIHRoYXQgb3ZlciBhIHBlcmlvZCBvZiB0d28gbWludXRlcyB0aGUgZm9sbG93aW5nIHR3byBwcm9wZXJ0aWVzIGNvbnRpbnVvdXNseSBob2xkOgoKLSBubyBvbmUgaGFzIGJpZCBvbiB7e25ld25hbWV9fSB3aXRoaW4gdGhlIGxhc3QgMjQgaG91cnM7Ci0gYW5kLCB0aGUgdmFsdWUgb2YgdGhlIGxhdGVzdCBiaWQgb24ge3tuZXduYW1lfX0gaXMgZ3JlYXRlciB0aGFuIHRoZSB2YWx1ZSBvZiB0aGUgYmlkcyBvbiBlYWNoIG9mIHRoZSBvdGhlciBvcGVuIGF1Y3Rpb25zLgoKQmUgYXdhcmUgdGhhdCB0aGUgY29uZGl0aW9uIHRvIGNsb3NlIHRoZSBhdWN0aW9uIGRlc2NyaWJlZCBhYm92ZSBhcmUgc3VmZmljaWVudCBidXQgbm90IG5lY2Vzc2FyeS4gVGhlIGF1Y3Rpb24gZm9yIHt7bmV3bmFtZX19IGNhbm5vdCBjbG9zZSB1bmxlc3MgYm90aCBvZiB0aGUgcHJvcGVydGllcyBhcmUgc2ltdWx0YW5lb3VzbHkgc2F0aXNmaWVkLCBidXQgaXQgbWF5IGJlIGNsb3NlZCB3aXRob3V0IHJlcXVpcmluZyB0aGUgcHJvcGVydGllcyB0byBob2xkIGZvciBhIHBlcmlvZCBvZiAyIG1pbnV0ZXMuAABIUy91kzsJYmlkcmVmdW5k9AItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGFpbSBSZWZ1bmQgb24gTmFtZSBCaWQKc3VtbWFyeTogJ0NsYWltIHJlZnVuZCBvbiB7e25vd3JhcCBuZXduYW1lfX0gYmlkJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCnt7YmlkZGVyfX0gY2xhaW1zIHJlZnVuZCBvbiB7e25ld25hbWV9fSBiaWQgYWZ0ZXIgYmVpbmcgb3V0YmlkIGJ5IHNvbWVvbmUgZWxzZS4AAAAASHO9PgZidXlyYW36Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEJ1eSBSQU0Kc3VtbWFyeTogJ3t7bm93cmFwIHBheWVyfX0gYnV5cyBSQU0gb24gYmVoYWxmIG9mIHt7bm93cmFwIHJlY2VpdmVyfX0gYnkgcGF5aW5nIHt7bm93cmFwIHF1YW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KCnt7cGF5ZXJ9fSBidXlzIFJBTSBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGJ5IHBheWluZyB7e3F1YW50fX0uIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG91dCBvZiB7e3F1YW50fX0gYW5kIHRoZSBhbW91bnQgb2YgUkFNIGRlbGl2ZXJlZCB3aWxsIGRlcGVuZCBvbiBtYXJrZXQgcmF0ZXMuAMC8+khzvT4KYnV5cmFtYnVybsADLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQnV5IGFuZCBCdXJuIFJBTQpzdW1tYXJ5OiAnQnV5IGFuZCBpbW1lZGlhdGVseSBCdXJuIHt7cXVhbnRpdHl9fSBvZiBSQU0gZnJvbSB7e25vd3JhcCBwYXllcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpCdXkgYW5kIEJ1cm4ge3txdWFudGl0eX19IG9mIFJBTSBmcm9tIGFjY291bnQge3twYXllcn19LgoKe3sjaWYgbWVtb319VGhlcmUgaXMgYSBtZW1vIGF0dGFjaGVkIHRvIHRoZSBhY3Rpb24gc3RhdGluZzoKe3ttZW1vfX0Ke3svaWZ9fQCwyv5Ic70+C2J1eXJhbWJ5dGVzgQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNCnN1bW1hcnk6ICd7e25vd3JhcCBwYXllcn19IGJ1eXMge3tub3dyYXAgYnl0ZXN9fSBieXRlcyBvZiBSQU0gb24gYmVoYWxmIG9mIHt7bm93cmFwIHJlY2VpdmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KCnt7cGF5ZXJ9fSBidXlzIGFwcHJveGltYXRlbHkge3tieXRlc319IGJ5dGVzIG9mIFJBTSBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGJ5IHBheWluZyBtYXJrZXQgcmF0ZXMgZm9yIFJBTS4gVGhpcyB0cmFuc2FjdGlvbiB3aWxsIGluY3VyIGEgMC41JSBmZWUgYW5kIHRoZSBjb3N0IHdpbGwgZGVwZW5kIG9uIG1hcmtldCByYXRlcy4AwIoKS3O9PgpidXlyYW1zZWxm2AMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNIHNlbGYKc3VtbWFyeTogJ3t7bm93cmFwIGFjY291bnR9fSBidXlzIFJBTSB0byBzZWxmIGJ5IHBheWluZyB7e25vd3JhcCBxdWFudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7e2FjY291bnR9fSBidXlzIFJBTSB0byBzZWxmIGJ5IHBheWluZyB7e3F1YW50fX0uIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG91dCBvZiB7e3F1YW50fX0gYW5kIHRoZSBhbW91bnQgb2YgUkFNIGRlbGl2ZXJlZCB3aWxsIGRlcGVuZCBvbiBtYXJrZXQgcmF0ZXMuAAAAAHR1vT4GYnV5cmV41wYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkVYIFRva2VucwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IGJ1eXMgUkVYIHRva2VucyBpbiBleGNoYW5nZSBmb3Ige3tub3dyYXAgYW1vdW50fX0gYW5kIHRoZWlyIHZvdGUgc3Rha2UgaW5jcmVhc2VzIGJ5IHt7bm93cmFwIGFtb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3thbW91bnR9fSBpcyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kIGFuZCB1c2VkIHRvIHB1cmNoYXNlIFJFWCB0b2tlbnMgYXQgdGhlIGN1cnJlbnQgbWFya2V0IGV4Y2hhbmdlIHJhdGUuIEluIG9yZGVyIGZvciB0aGUgYWN0aW9uIHRvIHN1Y2NlZWQsIHt7ZnJvbX19IG11c3QgaGF2ZSB2b3RlZCBmb3IgYSBwcm94eSBvciBhdCBsZWFzdCAyMSBibG9jayBwcm9kdWNlcnMuIHt7YW1vdW50fX0gaXMgYWRkZWQgdG8ge3tmcm9tfX3igJlzIHZvdGUgc3Rha2UuCgpBIHNlbGwgb3JkZXIgb2YgdGhlIHB1cmNoYXNlZCBhbW91bnQgY2FuIG9ubHkgYmUgaW5pdGlhdGVkIGFmdGVyIHdhaXRpbmcgZm9yIHRoZSBtYXR1cml0eSBwZXJpb2Qgb2YgNCB0byA1IGRheXMgdG8gcGFzcy4gRXZlbiB0aGVuLCBkZXBlbmRpbmcgb24gdGhlIG1hcmtldCBjb25kaXRpb25zLCB0aGUgaW5pdGlhdGVkIHNlbGwgb3JkZXIgbWF5IG5vdCBiZSBleGVjdXRlZCBpbW1lZGlhdGVseS4AvIkqRYWmQQtjYW5jZWxkZWxheYoDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ2FuY2VsIERlbGF5ZWQgVHJhbnNhY3Rpb24Kc3VtbWFyeTogJ3t7bm93cmFwIGNhbmNlbGluZ19hdXRoLmFjdG9yfX0gY2FuY2VscyBhIGRlbGF5ZWQgdHJhbnNhY3Rpb24nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKe3tjYW5jZWxpbmdfYXV0aC5hY3Rvcn19IGNhbmNlbHMgdGhlIGRlbGF5ZWQgdHJhbnNhY3Rpb24gd2l0aCBpZCB7e3RyeF9pZH19LgBA1VdxWtlCCmNmZ3Bvd2VydXAAgNM1XF3pTEQMY2xhaW1yZXdhcmRz5wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGFpbSBCbG9jayBQcm9kdWNlciBSZXdhcmRzCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGNsYWltcyBibG9jayBhbmQgdm90ZSByZXdhcmRzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7e293bmVyfX0gY2xhaW1zIGJsb2NrIGFuZCB2b3RlIHJld2FyZHMgZnJvbSB0aGUgc3lzdGVtLgAAAF1dhWlECGNsb3NlcmV4lAQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGVhbnVwIFVudXNlZCBSRVggRGF0YQpzdW1tYXJ5OiAnRGVsZXRlIFJFWCByZWxhdGVkIERCIGVudHJpZXMgYW5kIGZyZWUgYXNzb2NpYXRlZCBSQU0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpEZWxldGUgUkVYIHJlbGF0ZWQgREIgZW50cmllcyBhbmQgZnJlZSBhc3NvY2lhdGVkIFJBTSBmb3Ige3tvd25lcn19LgoKVG8gZnVsbHkgZGVsZXRlIGFsbCBSRVggcmVsYXRlZCBEQiBlbnRyaWVzLCB7e293bmVyfX0gbXVzdCBlbnN1cmUgdGhhdCB0aGVpciBSRVggYmFsYW5jZSBhbmQgUkVYIGZ1bmQgYW1vdW50cyBhcmUgYm90aCB6ZXJvIGFuZCB0aGV5IGhhdmUgbm8gb3V0c3RhbmRpbmcgbG9hbnMucFW6tKsb0UQMY25jbHJleG9yZGVy6wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDYW5jZWwgU2NoZWR1bGVkIFJFWCBTZWxsIE9yZGVyCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGNhbmNlbHMgYSBzY2hlZHVsZWQgc2VsbCBvcmRlciBpZiBub3QgeWV0IGZpbGxlZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7b3duZXJ9fSBjYW5jZWxzIHRoZWlyIG9wZW4gc2VsbCBvcmRlci4AVDbJRYonRQtjb25zb2xpZGF0ZaYDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ29uc29saWRhdGUgUkVYIE1hdHVyaXR5IEJ1Y2tldHMgSW50byBPbmUKc3VtbWFyeTogJ0NvbnNvbGlkYXRlIFJFWCBtYXR1cml0eSBidWNrZXRzIGludG8gb25lJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKQ29uc29saWRhdGUgUkVYIG1hdHVyaXR5IGJ1Y2tldHMgaW50byBvbmUgYnVja2V0IHRoYXQge3tvd25lcn19IHdpbGwgbm90IGJlIGFibGUgdG8gc2VsbCB1bnRpbCA0IHRvIDUgZGF5cyBsYXRlci4AwDQ06oqWSgpkZWZjcHVsb2Fu3gMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBXaXRoZHJhdyBmcm9tIHRoZSBGdW5kIG9mIGEgU3BlY2lmaWMgQ1BVIExvYW4Kc3VtbWFyeTogJ3t7bm93cmFwIGZyb219fSB0cmFuc2ZlcnMge3tub3dyYXAgYW1vdW50fX0gZnJvbSB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tub3dyYXAgbG9hbl9udW19fSBiYWNrIHRvIFJFWCBmdW5kJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gdHJhbnNmZXJzIHt7YW1vdW50fX0gZnJvbSB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tsb2FuX251bX19IGJhY2sgdG8gUkVYIGZ1bmQuAMA0NGY1l0oKZGVmbmV0bG9hbt4DLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogV2l0aGRyYXcgZnJvbSB0aGUgRnVuZCBvZiBhIFNwZWNpZmljIE5FVCBMb2FuCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gdHJhbnNmZXJzIHt7bm93cmFwIGFtb3VudH19IGZyb20gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bm93cmFwIGxvYW5fbnVtfX0gYmFjayB0byBSRVggZnVuZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHRyYW5zZmVycyB7e2Ftb3VudH19IGZyb20gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bG9hbl9udW19fSBiYWNrIHRvIFJFWCBmdW5kLgAAPyobpqJKCmRlbGVnYXRlYnfzBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFN0YWtlIFRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUKc3VtbWFyeTogJ1N0YWtlIHRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUgYW5kIG9wdGlvbmFsbHkgdHJhbnNmZXIgb3duZXJzaGlwJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7eyNpZiB0cmFuc2Zlcn19IHt7ZnJvbX19IHN0YWtlcyBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IHt7c3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7c3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpTdGFrZWQgdG9rZW5zIHdpbGwgYWxzbyBiZSB0cmFuc2ZlcnJlZCB0byB7e3JlY2VpdmVyfX0uIFRoZSBzdW0gb2YgdGhlc2UgdHdvIHF1YW50aXRpZXMgd2lsbCBiZSBkZWR1Y3RlZCBmcm9tIHt7ZnJvbX194oCZcyBsaXF1aWQgYmFsYW5jZSBhbmQgYWRkIHRvIHRoZSB2b3RlIHdlaWdodCBvZiB7e3JlY2VpdmVyfX0uCnt7ZWxzZX19Cnt7ZnJvbX19IHN0YWtlcyB0byBzZWxmIGFuZCBkZWxlZ2F0ZXMgdG8ge3tyZWNlaXZlcn19IHt7c3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7c3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpUaGUgc3VtIG9mIHRoZXNlIHR3byBxdWFudGl0aWVzIGFkZCB0byB0aGUgdm90ZSB3ZWlnaHQgb2Yge3tmcm9tfX0uCnt7L2lmfX0AQMvaqKyiSgpkZWxldGVhdXRo9QItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZWxldGUgQWNjb3VudCBQZXJtaXNzaW9uCnN1bW1hcnk6ICdEZWxldGUgdGhlIHt7bm93cmFwIHBlcm1pc3Npb259fSBwZXJtaXNzaW9uIG9mIHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpEZWxldGUgdGhlIHt7cGVybWlzc2lvbn19IHBlcm1pc3Npb24gb2Yge3thY2NvdW50fX0uAADwCk63okoJZGVsZmlua2V5AABU1Ek1hKNKC2RlbHNjaGVkdWxl/AItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZWxldGUgQW5udWFsIFJhdGUgU2NoZWR1bGUKc3VtbWFyeTogJ0RlbGV0ZSBhbm51YWwgcmF0ZSBzY2hlZHVsZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSB0byBkZWxldGUgYSBwcmUtZGV0ZXJtaW5lZCBpbmZsYXRpb24gc2NoZWR1bGUgZnJvbSB7e3N0YXJ0X3RpbWV9fSBzdGFydCB0aW1lLgBSMg2b5qdKC2RlbnloYXNoYWRkAICiQQ2b5qdKDGRlbnloYXNoY2FsYwAAgLwNm+anSgpkZW55aGFzaHJtAAAAwEqa6adKCWRlbnluYW1lcwAAAAAgO0yrSgdkZXBvc2l0iAQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZXBvc2l0IEludG8gUkVYIEZ1bmQKc3VtbWFyeTogJ0FkZCB0byB7e25vd3JhcCBvd25lcn194oCZcyBSRVggZnVuZCBieSB0cmFuc2ZlcnJpbmcge3tub3dyYXAgYW1vdW50fX0gZnJvbSB7e25vd3JhcCBvd25lcn194oCZcyBsaXF1aWQgYmFsYW5jZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KClRyYW5zZmVyIHt7YW1vdW50fX0gZnJvbSB7e293bmVyfX3igJlzIGxpcXVpZCBiYWxhbmNlIHRvIHt7b3duZXJ9feKAmXMgUkVYIGZ1bmQuIEFsbCBwcm9jZWVkcyBhbmQgZXhwZW5zZXMgcmVsYXRlZCB0byBSRVggYXJlIGFkZGVkIHRvIG9yIHRha2VuIG91dCBvZiB0aGlzIGZ1bmQuALq6NKtsJk0LZG9uYXRldG9yZXilAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERvbmF0ZSBzeXN0ZW0gdG9rZW5zIHRvIFJFWApzdW1tYXJ5OiAne3tub3dyYXAgcGF5ZXJ9fSBkb25hdGVzIHt7bm93cmFwIHF1YW50aXR5fX0gdG9rZW5zIHRvIFJFWCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7cXVhbnRpdHl9fSBpcyB0YWtlbiBvdXQgb2Yge3twYXllcn194oCZcyB0b2tlbiBiYWxhbmNlIGFuZCBnaXZlbiB0byBSRVggd2l0aCB0aGUgaW5jbHVkZWQgbWVtbzogInt7bWVtb319Ii6gok6qIYxUVwxleGVjc2NoZWR1bGXtAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEV4ZWN1dGUgTmV4dCBBbm51YWwgUmF0ZSBTY2hlZHVsZQpzdW1tYXJ5OiAnRXhlY3V0ZSBuZXh0IGFubnVhbCByYXRlIHNjaGVkdWxlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHRvIGV4ZWN1dGUgdGhlIG5leHQgdXBjb21pbmcgYW5udWFsIHJhdGUgc2NoZWR1bGUuAKahUVeUpl4LZnVuZGNwdWxvYW78Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERlcG9zaXQgaW50byB0aGUgRnVuZCBvZiBhIFNwZWNpZmljIENQVSBMb2FuCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gZnVuZHMgYSBDUFUgbG9hbicKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHRyYW5zZmVycyB7e3BheW1lbnR9fSBmcm9tIFJFWCBmdW5kIHRvIHRoZSBmdW5kIG9mIENQVSBsb2FuIG51bWJlciB7e2xvYW5fbnVtfX0gaW4gb3JkZXIgdG8gYmUgdXNlZCBpbiBsb2FuIHJlbmV3YWwgYXQgZXhwaXJ5LiB7e2Zyb219fSBjYW4gd2l0aGRyYXcgdGhlIHRvdGFsIGJhbGFuY2Ugb2YgdGhlIGxvYW4gZnVuZCBhdCBhbnkgdGltZS4ApqExq5mmXgtmdW5kbmV0bG9hbvwDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRGVwb3NpdCBpbnRvIHRoZSBGdW5kIG9mIGEgU3BlY2lmaWMgTkVUIExvYW4Kc3VtbWFyeTogJ3t7bm93cmFwIGZyb219fSBmdW5kcyBhIE5FVCBsb2FuJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gdHJhbnNmZXJzIHt7cGF5bWVudH19IGZyb20gUkVYIGZ1bmQgdG8gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bG9hbl9udW19fSBpbiBvcmRlciB0byBiZSB1c2VkIGluIGxvYW4gcmVuZXdhbCBhdCBleHBpcnkuIHt7ZnJvbX19IGNhbiB3aXRoZHJhdyB0aGUgdG90YWwgYmFsYW5jZSBvZiB0aGUgbG9hbiBmdW5kIGF0IGFueSB0aW1lLgAAAECam5djB2dpZnRyYW0AAAAAAACQ3XQEaW5pdOMCLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogSW5pdGlhbGl6ZSBTeXN0ZW0gQ29udHJhY3QKc3VtbWFyeTogJ0luaXRpYWxpemUgc3lzdGVtIGNvbnRyYWN0JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgpJbml0aWFsaXplIHN5c3RlbSBjb250cmFjdC4gVGhlIGNvcmUgdG9rZW4gc3ltYm9sIHdpbGwgYmUgc2V0IHRvIHt7Y29yZX19LsAaalmb7KSLDGxpbWl0YXV0aGNoZwAAAAAtawOniwhsaW5rYXV0aJ0FLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogTGluayBBY3Rpb24gdG8gUGVybWlzc2lvbgpzdW1tYXJ5OiAne3tub3dyYXAgYWNjb3VudH19IHNldHMgdGhlIG1pbmltdW0gcmVxdWlyZWQgcGVybWlzc2lvbiBmb3IgdGhlIHt7I2lmIHR5cGV9fXt7bm93cmFwIHR5cGV9fSBhY3Rpb24gb2YgdGhle3svaWZ9fSB7e25vd3JhcCBjb2RlfX0gY29udHJhY3QgdG8ge3tub3dyYXAgcmVxdWlyZW1lbnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgp7e2FjY291bnR9fSBzZXRzIHRoZSBtaW5pbXVtIHJlcXVpcmVkIHBlcm1pc3Npb24gZm9yIHRoZSB7eyNpZiB0eXBlfX17e3R5cGV9fSBhY3Rpb24gb2YgdGhle3svaWZ9fSB7e2NvZGV9fSBjb250cmFjdCB0byB7e3JlcXVpcmVtZW50fX0uCgp7eyNpZiB0eXBlfX17e2Vsc2V9fUFueSBsaW5rcyBleHBsaWNpdGx5IGFzc29jaWF0ZWQgdG8gc3BlY2lmaWMgYWN0aW9ucyBvZiB7e2NvZGV9fSB3aWxsIHRha2UgcHJlY2VkZW5jZS57ey9pZn19AACQ5np9GI0JbG9nYnV5cmFtAKDYNA1JcxmNDGxvZ3JhbWNoYW5nZQAAgDQ3RoUZjQpsb2dzZWxscmFtAKDUkipjjxmNDGxvZ3N5c3RlbWZlZQAAMJtuG3zXlgttdmZyc2F2aW5nc5wDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVW5sb2NrIFJFWCBUb2tlbnMKc3VtbWFyeTogJ3t7bm93cmFwIG93bmVyfX0gdW5sb2NrcyBSRVggVG9rZW5zJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tvd25lcn19IHVubG9ja3Mge3tyZXh9fSBieSBtb3ZpbmcgaXQgb3V0IG9mIHRoZSBSRVggc2F2aW5ncyBidWNrZXQuIFRoZSB1bmxvY2tlZCBSRVggdG9rZW5zIGNhbm5vdCBiZSBzb2xkIHVudGlsIDQgdG8gNSBkYXlzIGxhdGVyLgAwm24bTPOWC212dG9zYXZpbmdzugMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBMb2NrIFJFWCBUb2tlbnMKc3VtbWFyeTogJ3t7bm93cmFwIG93bmVyfX0gbG9ja3MgUkVYIFRva2VucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7b3duZXJ9fSBsb2NrcyB7e3JleH19IGJ5IG1vdmluZyBpdCBpbnRvIHRoZSBSRVggc2F2aW5ncyBidWNrZXQuIFRoZSBsb2NrZWQgUkVYIHRva2VucyBjYW5ub3QgYmUgc29sZCBkaXJlY3RseSBhbmQgd2lsbCBoYXZlIHRvIGJlIHVubG9ja2VkIGV4cGxpY2l0bHkgYmVmb3JlIHNlbGxpbmcuAECemiJkuJoKbmV3YWNjb3VudIAELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ3JlYXRlIE5ldyBBY2NvdW50CnN1bW1hcnk6ICd7e25vd3JhcCBjcmVhdG9yfX0gY3JlYXRlcyBhIG5ldyBhY2NvdW50IHdpdGggdGhlIG5hbWUge3tub3dyYXAgbmFtZX19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCnt7Y3JlYXRvcn19IGNyZWF0ZXMgYSBuZXcgYWNjb3VudCB3aXRoIHRoZSBuYW1lIHt7bmFtZX19IGFuZCB0aGUgZm9sbG93aW5nIHBlcm1pc3Npb25zOgoKb3duZXIgcGVybWlzc2lvbiB3aXRoIGF1dGhvcml0eToKe3t0b19qc29uIG93bmVyfX0KCmFjdGl2ZSBwZXJtaXNzaW9uIHdpdGggYXV0aG9yaXR5Ogp7e3RvX2pzb24gYWN0aXZlfX0AAAAAIhrPpAdvbmJsb2NrAAAAAODSe9WkB29uZXJyb3IAAAAAoOqrOK0HcG93ZXJ1cNQCLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUG93ZXJ1cCByZXNvdXJjZXMKc3VtbWFyeTogJ1VzZXIgbWF5IHBvd2VydXAgdG8gcmVzZXJ2ZSByZXNvdXJjZXMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KClVzZXJzIG1heSB1c2UgdGhlIHBvd2VydXAgYWN0aW9uIHRvIHJlc2VydmUgcmVzb3VyY2VzLgCQ6qrqqzitC3Bvd2VydXBleGVjAAAAAGBefaS5B3JhbWJ1cm6oAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEJ1cm4gUkFNIGZyb20gQWNjb3VudApzdW1tYXJ5OiAnQnVybiB1bnVzZWQgUkFNIGZyb20ge3tub3dyYXAgb3duZXJ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Jlc291cmNlLnBuZyMzODMwZjFjZThjYjA3Zjc3NTdkYmNmMzgzYjFlYzFiMTE5MTRhYzM0YTFmOWQ4YjA2NWYwNzYwMGZhOWRhYzE5Ci0tLQoKQnVybiB7e2J5dGVzfX0gYnl0ZXMgb2YgdW51c2VkIFJBTSBmcm9tIGFjY291bnQge3tvd25lcn19LgoKe3sjaWYgbWVtb319VGhlcmUgaXMgYSBtZW1vIGF0dGFjaGVkIHRvIHRoZSBidXJuIHN0YXRpbmc6Cnt7bWVtb319Cnt7L2lmfX0Arlp4mpuluQtyYW10cmFuc2ZlctkDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVHJhbnNmZXIgUkFNIGZyb20gQWNjb3VudApzdW1tYXJ5OiAnVHJhbnNmZXIgdW51c2VkIFJBTSBmcm9tIHt7bm93cmFwIGZyb219fSB0byB7e25vd3JhcCB0b319JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpUcmFuc2ZlciB7e2J5dGVzfX0gYnl0ZXMgb2YgdW51c2VkIFJBTSBmcm9tIGFjY291bnQge3tmcm9tfX0gdG8gYWNjb3VudCB7e3RvfX0uCgp7eyNpZiBtZW1vfX1UaGVyZSBpcyBhIG1lbW8gYXR0YWNoZWQgdG8gdGhlIHRyYW5zZmVyIHN0YXRpbmc6Cnt7bWVtb319Cnt7L2lmfX0AAAAApKmXugZyZWZ1bmSHAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IENsYWltIFVuc3Rha2VkIFRva2VucwpzdW1tYXJ5OiAnUmV0dXJuIHByZXZpb3VzbHkgdW5zdGFrZWQgdG9rZW5zIHRvIHt7bm93cmFwIG93bmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKUmV0dXJuIHByZXZpb3VzbHkgdW5zdGFrZWQgdG9rZW5zIHRvIHt7b3duZXJ9fSBhZnRlciB0aGUgdW5zdGFraW5nIHBlcmlvZCBoYXMgZWxhcHNlZC4AAPAKTreYuglyZWdmaW5rZXkAAK5COtFbmboLcmVncHJvZHVjZXKZBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlZ2lzdGVyIGFzIGEgQmxvY2sgUHJvZHVjZXIgQ2FuZGlkYXRlCnN1bW1hcnk6ICdSZWdpc3RlciB7e25vd3JhcCBwcm9kdWNlcn19IGFjY291bnQgYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy92b3RpbmcucG5nI2RiMjhjZDNkYjZlNjJkNDUwOWFmMzY0NGNlN2QzNzczMjk0ODJhMTRiYjRiZmFjYTJhYTVmMTQwMGQ4ZThhODQKLS0tCgpSZWdpc3RlciB7e3Byb2R1Y2VyfX0gYWNjb3VudCBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4KClVSTDoge3t1cmx9fQpMb2NhdGlvbiBjb2RlOiB7e2xvY2F0aW9ufX0KQmxvY2sgc2lnbmluZyBrZXk6IHt7cHJvZHVjZXJfa2V5fX0KCiMjIEJsb2NrIFByb2R1Y2VyIEFncmVlbWVudAp7eyRjbGF1c2VzLkJsb2NrUHJvZHVjZXJBZ3JlZW1lbnR9fSCuQjrRW5m6DHJlZ3Byb2R1Y2VyMq0ELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUmVnaXN0ZXIgYXMgYSBCbG9jayBQcm9kdWNlciBDYW5kaWRhdGUKc3VtbWFyeTogJ1JlZ2lzdGVyIHt7bm93cmFwIHByb2R1Y2VyfX0gYWNjb3VudCBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3ZvdGluZy5wbmcjZGIyOGNkM2RiNmU2MmQ0NTA5YWYzNjQ0Y2U3ZDM3NzMyOTQ4MmExNGJiNGJmYWNhMmFhNWYxNDAwZDhlOGE4NAotLS0KClJlZ2lzdGVyIHt7cHJvZHVjZXJ9fSBhY2NvdW50IGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlLgoKVVJMOiB7e3VybH19CkxvY2F0aW9uIGNvZGU6IHt7bG9jYXRpb259fQpCbG9jayBzaWduaW5nIGF1dGhvcml0eToKe3t0b19qc29uIHByb2R1Y2VyX2F1dGhvcml0eX19CgojIyBCbG9jayBQcm9kdWNlciBBZ3JlZW1lbnQKe3skY2xhdXNlcy5CbG9ja1Byb2R1Y2VyQWdyZWVtZW50fX0AAAC+01uZughyZWdwcm94eaMELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUmVnaXN0ZXIvdW5yZWdpc3RlciBhcyBhIFByb3h5CnN1bW1hcnk6ICdSZWdpc3Rlci91bnJlZ2lzdGVyIHt7bm93cmFwIHByb3h5fX0gYXMgYSBwcm94eSBhY2NvdW50JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvdm90aW5nLnBuZyNkYjI4Y2QzZGI2ZTYyZDQ1MDlhZjM2NDRjZTdkMzc3MzI5NDgyYTE0YmI0YmZhY2EyYWE1ZjE0MDBkOGU4YTg0Ci0tLQoKe3sjaWYgaXNwcm94eX19Cnt7cHJveHl9fSByZWdpc3RlcnMgYXMgYSBwcm94eSB0aGF0IGNhbiB2b3RlIG9uIGJlaGFsZiBvZiBhY2NvdW50cyB0aGF0IGFwcG9pbnQgaXQgYXMgdGhlaXIgcHJveHkuCnt7ZWxzZX19Cnt7cHJveHl9fSB1bnJlZ2lzdGVycyBhcyBhIHByb3h5IHRoYXQgY2FuIHZvdGUgb24gYmVoYWxmIG9mIGFjY291bnRzIHRoYXQgYXBwb2ludCBpdCBhcyB0aGVpciBwcm94eS4Ke3svaWZ9fQAAAEBXlKe6B3JlbnRjcHXcCS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlbnQgQ1BVIEJhbmR3aWR0aCBmb3IgMzAgRGF5cwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IHBheXMge3tub3dyYXAgbG9hbl9wYXltZW50fX0gdG8gcmVudCBDUFUgYmFuZHdpZHRoIGZvciB7e25vd3JhcCByZWNlaXZlcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gcGF5cyB7e2xvYW5fcGF5bWVudH19IHRvIHJlbnQgQ1BVIGJhbmR3aWR0aCBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGZvciBhIHBlcmlvZCBvZiAzMCBkYXlzLgoKe3tsb2FuX3BheW1lbnR9fSBpcyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kLiBUaGUgbWFya2V0IHByaWNlIGRldGVybWluZXMgdGhlIG51bWJlciBvZiB0b2tlbnMgdG8gYmUgc3Rha2VkIHRvIHt7cmVjZWl2ZXJ9feKAmXMgQ1BVIHJlc291cmNlcy4gSW4gYWRkaXRpb24sIHt7ZnJvbX19IHByb3ZpZGVzIHt7bG9hbl9mdW5kfX0sIHdoaWNoIGlzIGFsc28gdGFrZW4gb3V0IG9mIHt7ZnJvbX194oCZcyBSRVggZnVuZCwgdG8gYmUgdXNlZCBmb3IgYXV0b21hdGljIHJlbmV3YWwgb2YgdGhlIGxvYW4uCgpBdCBleHBpcmF0aW9uLCBpZiB0aGUgbG9hbiBoYXMgbGVzcyBmdW5kcyB0aGFuIHt7bG9hbl9wYXltZW50fX0sIGl0IGlzIGNsb3NlZCBhbmQgbGVudCB0b2tlbnMgdGhhdCBoYXZlIGJlZW4gc3Rha2VkIGFyZSB0YWtlbiBvdXQgb2Yge3tyZWNlaXZlcn194oCZcyBDUFUgYmFuZHdpZHRoLiBPdGhlcndpc2UsIGl0IGlzIHJlbmV3ZWQgYXQgdGhlIG1hcmtldCBwcmljZSBhdCB0aGUgdGltZSBvZiByZW5ld2FsLCB0aGF0IGlzLCB0aGUgbnVtYmVyIG9mIHN0YWtlZCB0b2tlbnMgaXMgcmVjYWxjdWxhdGVkIGFuZCB7e3JlY2VpdmVyfX3igJlzIENQVSBiYW5kd2lkdGggaXMgdXBkYXRlZCBhY2NvcmRpbmdseS4ge3tmcm9tfX0gY2FuIGZ1bmQgb3IgZGVmdW5kIGEgbG9hbiBhdCBhbnkgdGltZSBiZWZvcmUgZXhwaXJhdGlvbi4gV2hlbiB0aGUgbG9hbiBpcyBjbG9zZWQsIHt7ZnJvbX19IGlzIHJlZnVuZGVkIGFueSB0b2tlbnMgcmVtYWluaW5nIGluIHRoZSBsb2FuIGZ1bmQuAAAAIKuZp7oHcmVudG5ldOgJLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUmVudCBORVQgQmFuZHdpZHRoIGZvciAzMCBEYXlzCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gcGF5cyB7e25vd3JhcCBsb2FuX3BheW1lbnR9fSB0byByZW50IE5FVCBiYW5kd2lkdGggZm9yIHt7bm93cmFwIHJlY2VpdmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e2Zyb219fSBwYXlzIHt7bG9hbl9wYXltZW50fX0gdG8gcmVudCBORVQgYmFuZHdpZHRoIG9uIGJlaGFsZiBvZiB7e3JlY2VpdmVyfX0gZm9yIGEgcGVyaW9kIG9mIDMwIGRheXMuCgp7e2xvYW5fcGF5bWVudH19IGlzIHRha2VuIG91dCBvZiB7e2Zyb219feKAmXMgUkVYIGZ1bmQuIFRoZSBtYXJrZXQgcHJpY2UgZGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIHRva2VucyB0byBiZSBzdGFrZWQgdG8ge3tyZWNlaXZlcn194oCZcyBORVQgcmVzb3VyY2VzIGZvciAzMCBkYXlzLiBJbiBhZGRpdGlvbiwge3tmcm9tfX0gcHJvdmlkZXMge3tsb2FuX2Z1bmR9fSwgd2hpY2ggaXMgYWxzbyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kLCB0byBiZSB1c2VkIGZvciBhdXRvbWF0aWMgcmVuZXdhbCBvZiB0aGUgbG9hbi4KCkF0IGV4cGlyYXRpb24sIGlmIHRoZSBsb2FuIGhhcyBsZXNzIGZ1bmRzIHRoYW4ge3tsb2FuX3BheW1lbnR9fSwgaXQgaXMgY2xvc2VkIGFuZCBsZW50IHRva2VucyB0aGF0IGhhdmUgYmVlbiBzdGFrZWQgYXJlIHRha2VuIG91dCBvZiB7e3JlY2VpdmVyfX3igJlzIE5FVCBiYW5kd2lkdGguIE90aGVyd2lzZSwgaXQgaXMgcmVuZXdlZCBhdCB0aGUgbWFya2V0IHByaWNlIGF0IHRoZSB0aW1lIG9mIHJlbmV3YWwsIHRoYXQgaXMsIHRoZSBudW1iZXIgb2Ygc3Rha2VkIHRva2VucyBpcyByZWNhbGN1bGF0ZWQgYW5kIHt7cmVjZWl2ZXJ9feKAmXMgTkVUIGJhbmR3aWR0aCBpcyB1cGRhdGVkIGFjY29yZGluZ2x5LiB7e2Zyb219fSBjYW4gZnVuZCBvciBkZWZ1bmQgYSBsb2FuIGF0IGFueSB0aW1lIGJlZm9yZSBleHBpcmF0aW9uLiBXaGVuIHRoZSBsb2FuIGlzIGNsb3NlZCwge3tmcm9tfX0gaXMgcmVmdW5kZWQgYW55IHRva2VucyByZW1haW5pbmcgaW4gdGhlIGxvYW4gZnVuZC4AAAAAqa66ugdyZXhleGVjogMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBQZXJmb3JtIFJFWCBNYWludGVuYW5jZQpzdW1tYXJ5OiAnUHJvY2VzcyBzZWxsIG9yZGVycyBhbmQgZXhwaXJlZCBsb2FucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KClBlcmZvcm1zIFJFWCBtYWludGVuYW5jZSBieSBwcm9jZXNzaW5nIGEgbWF4aW11bSBvZiB7e21heH19IFJFWCBzZWxsIG9yZGVycyBhbmQgZXhwaXJlZCBsb2Fucy4gQW55IGFjY291bnQgY2FuIGV4ZWN1dGUgdGhpcyBhY3Rpb24uAK5COtFbt7wLcm12cHJvZHVjZXKCBS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEZvcmNpYmx5IFVucmVnaXN0ZXIgYSBCbG9jayBQcm9kdWNlciBDYW5kaWRhdGUKc3VtbWFyeTogJ3t7bm93cmFwIHByb2R1Y2VyfX0gaXMgdW5yZWdpc3RlcmVkIGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHVucmVnaXN0ZXJzIHt7cHJvZHVjZXJ9fSBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4ge3twcm9kdWNlcn19IGFjY291bnQgd2lsbCByZXRhaW4gaXRzIHZvdGVzIGFuZCB0aG9zZSB2b3RlcyBjYW4gY2hhbmdlIGJhc2VkIG9uIHZvdGVyIHN0YWtlIGNoYW5nZXMgb3Igdm90ZXMgcmVtb3ZlZCBmcm9tIHt7cHJvZHVjZXJ9fS4gSG93ZXZlciBuZXcgdm90ZXJzIHdpbGwgbm90IGJlIGFibGUgdG8gdm90ZSBmb3Ige3twcm9kdWNlcn19IHdoaWxlIGl0IHJlbWFpbnMgdW5yZWdpc3RlcmVkLgAAAECaG6PCB3NlbGxyYW3FAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNlbGwgUkFNIEZyb20gQWNjb3VudApzdW1tYXJ5OiAnU2VsbCB1bnVzZWQgUkFNIGZyb20ge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpTZWxsIHt7Ynl0ZXN9fSBieXRlcyBvZiB1bnVzZWQgUkFNIGZyb20gYWNjb3VudCB7e2FjY291bnR9fSBhdCBtYXJrZXQgcHJpY2UuIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG9uIHRoZSBwcm9jZWVkcyB3aGljaCBkZXBlbmQgb24gbWFya2V0IHJhdGVzLgAAAKCrG6PCB3NlbGxyZXjsCi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNlbGwgUkVYIFRva2VucyBpbiBFeGNoYW5nZSBmb3IgRU9TCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gc2VsbHMge3tub3dyYXAgcmV4fX0gdG9rZW5zJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKVGhlICdyZXgnIHBhcmFtZXRlciBubyBsb25nZXIgaGFzIGFuIGVmZmVjdC4KCnt7ZnJvbX19IGluaXRpYXRlcyBhIHNlbGwgb3JkZXIgdG8gc2VsbCBhbGwgb2YgdGhlaXIgbWF0dXJlZCBSRVggdG9rZW5zIGF0IHRoZSBtYXJrZXQgZXhjaGFuZ2UgcmF0ZSBkdXJpbmcgdGhlIHRpbWUgYXQgd2hpY2ggdGhlIG9yZGVyIGlzIHVsdGltYXRlbHkgZXhlY3V0ZWQuIApJZiB7e2Zyb219fSBhbHJlYWR5IGhhcyBhbiBvcGVuIHNlbGwgb3JkZXIgaW4gdGhlIHNlbGwgcXVldWUsIHt7cmV4fX0gd2lsbCBiZSBhZGRlZCB0byB0aGUgYW1vdW50IG9mIHRoZSBzZWxsIG9yZGVyIHdpdGhvdXQgY2hhbmdlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc2VsbCBvcmRlciB3aXRoaW4gdGhlIHF1ZXVlLiAKT25jZSB0aGUgc2VsbCBvcmRlciBpcyBleGVjdXRlZCwgcHJvY2VlZHMgYXJlIGFkZGVkIHRvIHt7ZnJvbX194oCZcyBSRVggZnVuZCwgdGhlIHZhbHVlIG9mIHNvbGQgUkVYIHRva2VucyBpcyBkZWR1Y3RlZCBmcm9tIHt7ZnJvbX194oCZcyB2b3RlIHN0YWtlLCBhbmQgdm90ZXMgYXJlIHVwZGF0ZWQgYWNjb3JkaW5nbHkuCgpEZXBlbmRpbmcgb24gdGhlIG1hcmtldCBjb25kaXRpb25zLCBpdCBtYXkgbm90IGJlIHBvc3NpYmxlIHRvIGZpbGwgdGhlIGVudGlyZSBzZWxsIG9yZGVyIGltbWVkaWF0ZWx5LiBJbiBzdWNoIGEgY2FzZSwgdGhlIHNlbGwgb3JkZXIgaXMgYWRkZWQgdG8gdGhlIGJhY2sgb2YgYSBzZWxsIHF1ZXVlLiAKQSBzZWxsIG9yZGVyIGF0IHRoZSBmcm9udCBvZiB0aGUgc2VsbCBxdWV1ZSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgZXhlY3V0ZWQgd2hlbiB0aGUgbWFya2V0IGNvbmRpdGlvbnMgYWxsb3cgZm9yIHRoZSBlbnRpcmUgb3JkZXIgdG8gYmUgZmlsbGVkLiBSZWdhcmRsZXNzIG9mIHRoZSBtYXJrZXQgY29uZGl0aW9ucywgCnRoZSBzeXN0ZW0gaXMgZGVzaWduZWQgdG8gZXhlY3V0ZSB0aGlzIHNlbGwgb3JkZXIgd2l0aGluIDMwIGRheXMuIHt7ZnJvbX19IGNhbiBjYW5jZWwgdGhlIG9yZGVyIGF0IGFueSB0aW1lIGJlZm9yZSBpdCBpcyBmaWxsZWQgdXNpbmcgdGhlIGNuY2xyZXhvcmRlciBhY3Rpb24uAAAAALhjssIGc2V0YWJp8wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZXBsb3kgQ29udHJhY3QgQUJJCnN1bW1hcnk6ICdEZXBsb3kgY29udHJhY3QgQUJJIG9uIGFjY291bnQge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCkRlcGxveSB0aGUgQUJJIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb250cmFjdCBvbiBhY2NvdW50IHt7YWNjb3VudH19LgCArigjZLLCCnNldGFjY3RjcHWeBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEV4cGxpY2l0bHkgTWFuYWdlIHRoZSBDUFUgUXVvdGEgb2YgQWNjb3VudApzdW1tYXJ5OiAnRXhwbGljaXRseSBtYW5hZ2UgdGhlIENQVSBiYW5kd2lkdGggcXVvdGEgb2YgYWNjb3VudCB7e25vd3JhcCBhY2NvdW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7I2lmX2hhc192YWx1ZSBjcHVfd2VpZ2h0fX0KRXhwbGljaXRseSBtYW5hZ2UgdGhlIENQVSBiYW5kd2lkdGggcXVvdGEgb2YgYWNjb3VudCB7e2FjY291bnR9fSBieSBwaW5uaW5nIGl0IHRvIGEgd2VpZ2h0IG9mIHt7Y3B1X3dlaWdodH19LgoKe3thY2NvdW50fX0gY2FuIHN0YWtlIGFuZCB1bnN0YWtlLCBob3dldmVyLCBpdCB3aWxsIG5vdCBjaGFuZ2UgdGhlaXIgQ1BVIGJhbmR3aWR0aCBxdW90YSBhcyBsb25nIGFzIGl0IHJlbWFpbnMgcGlubmVkLgp7e2Vsc2V9fQpVbnBpbiB0aGUgQ1BVIGJhbmR3aWR0aCBxdW90YSBvZiBhY2NvdW50IHt7YWNjb3VudH19LiBUaGUgQ1BVIGJhbmR3aWR0aCBxdW90YSBvZiB7e2FjY291bnR9fSB3aWxsIGJlIGRyaXZlbiBieSB0aGUgY3VycmVudCB0b2tlbnMgc3Rha2VkIGZvciBDUFUgYmFuZHdpZHRoIGJ5IHt7YWNjb3VudH19Lgp7ey9pZl9oYXNfdmFsdWV9fQBAVjMjZLLCCnNldGFjY3RuZXSiBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEV4cGxpY2l0bHkgTWFuYWdlIHRoZSBORVQgUXVvdGEgb2YgQWNjb3VudApzdW1tYXJ5OiAnRXhwbGljaXRseSBtYW5hZ2UgdGhlIE5FVCBiYW5kd2lkdGggcXVvdGEgb2YgYWNjb3VudCB7e25vd3JhcCBhY2NvdW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7I2lmX2hhc192YWx1ZSBuZXRfd2VpZ2h0fX0KRXhwbGljaXRseSBtYW5hZ2UgdGhlIG5ldHdvcmsgYmFuZHdpZHRoIHF1b3RhIG9mIGFjY291bnQge3thY2NvdW50fX0gYnkgcGlubmluZyBpdCB0byBhIHdlaWdodCBvZiB7e25ldF93ZWlnaHR9fS4KCnt7YWNjb3VudH19IGNhbiBzdGFrZSBhbmQgdW5zdGFrZSwgaG93ZXZlciwgaXQgd2lsbCBub3QgY2hhbmdlIHRoZWlyIE5FVCBiYW5kd2lkdGggcXVvdGEgYXMgbG9uZyBhcyBpdCByZW1haW5zIHBpbm5lZC4Ke3tlbHNlfX0KVW5waW4gdGhlIE5FVCBiYW5kd2lkdGggcXVvdGEgb2YgYWNjb3VudCB7e2FjY291bnR9fS4gVGhlIE5FVCBiYW5kd2lkdGggcXVvdGEgb2Yge3thY2NvdW50fX0gd2lsbCBiZSBkcml2ZW4gYnkgdGhlIGN1cnJlbnQgdG9rZW5zIHN0YWtlZCBmb3IgTkVUIGJhbmR3aWR0aCBieSB7e2FjY291bnR9fS4Ke3svaWZfaGFzX3ZhbHVlfX0AgDQ3I2SywgpzZXRhY2N0cmFt0AUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBFeHBsaWNpdGx5IE1hbmFnZSB0aGUgUkFNIFF1b3RhIG9mIEFjY291bnQKc3VtbWFyeTogJ0V4cGxpY2l0bHkgbWFuYWdlIHRoZSBSQU0gcXVvdGEgb2YgYWNjb3VudCB7e25vd3JhcCBhY2NvdW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7I2lmX2hhc192YWx1ZSByYW1fYnl0ZXN9fQpFeHBsaWNpdGx5IG1hbmFnZSB0aGUgUkFNIHF1b3RhIG9mIGFjY291bnQge3thY2NvdW50fX0gYnkgcGlubmluZyBpdCB0byB7e3JhbV9ieXRlc319IGJ5dGVzLgoKe3thY2NvdW50fX0gY2FuIGJ1eSBhbmQgc2VsbCBSQU0sIGhvd2V2ZXIsIGl0IHdpbGwgbm90IGNoYW5nZSB0aGVpciBSQU0gcXVvdGEgYXMgbG9uZyBhcyBpdCByZW1haW5zIHBpbm5lZC4Ke3tlbHNlfX0KVW5waW4gdGhlIFJBTSBxdW90YSBvZiBhY2NvdW50IHt7YWNjb3VudH19LiBUaGUgUkFNIHF1b3RhIG9mIHt7YWNjb3VudH19IHdpbGwgYmUgZHJpdmVuIGJ5IHRoZSBjdXJyZW50IFJBTSBob2xkaW5ncyBvZiB7e2FjY291bnR9fS4Ke3svaWZfaGFzX3ZhbHVlfX0AAM5OumiywgpzZXRhbGltaXRz9gMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBBZGp1c3QgUmVzb3VyY2UgTGltaXRzIG9mIEFjY291bnQKc3VtbWFyeTogJ0FkanVzdCByZXNvdXJjZSBsaW1pdHMgb2YgYWNjb3VudCB7e25vd3JhcCBhY2NvdW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gdXBkYXRlcyB7e2FjY291bnR9feKAmXMgcmVzb3VyY2UgbGltaXRzIHRvIGhhdmUgYSBSQU0gcXVvdGEgb2Yge3tyYW1fYnl0ZXN9fSBieXRlcywgYSBORVQgYmFuZHdpZHRoIHF1b3RhIG9mIHt7bmV0X3dlaWdodH19IGFuZCBhIENQVSBiYW5kd2lkdGggcXVvdGEgb2Yge3tjcHVfd2VpZ2h0fX0uAAAAQCWKssIHc2V0Y29kZeYCLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRGVwbG95IENvbnRyYWN0IENvZGUKc3VtbWFyeTogJ0RlcGxveSBjb250cmFjdCBjb2RlIG9uIGFjY291bnQge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCkRlcGxveSBjb21waWxlZCBjb250cmFjdCBjb2RlIHRvIHRoZSBhY2NvdW50IHt7YWNjb3VudH19LjCpyyau6bLCDHNldGluZmxhdGlvbusELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogU2V0IEluZmxhdGlvbiBQYXJhbWV0ZXJzCnN1bW1hcnk6ICdTZXQgaW5mbGF0aW9uIHBhcmFtZXRlcnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gc2V0cyB0aGUgaW5mbGF0aW9uIHBhcmFtZXRlcnMgYXMgZm9sbG93czoKCiogQW5udWFsIGluZmxhdGlvbiByYXRlIChpbiB1bml0cyBvZiBhIGh1bmRyZWR0aCBvZiBhIHBlcmNlbnQpOiB7e2FubnVhbF9yYXRlfX0KKiBGcmFjdGlvbiBvZiBpbmZsYXRpb24gdXNlZCB0byByZXdhcmQgYmxvY2sgcHJvZHVjZXJzOiAxMDAwMC97e2luZmxhdGlvbl9wYXlfZmFjdG9yfX0KKiBGcmFjdGlvbiBvZiBibG9jayBwcm9kdWNlciByZXdhcmRzIHRvIGJlIGRpc3RyaWJ1dGVkIHByb3BvcnRpb25hbCB0byBibG9ja3MgcHJvZHVjZWQ6IDEwMDAwL3t7dm90ZXBheV9mYWN0b3J9fQAAwNJcU7PCCXNldHBhcmFtc9ACLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogU2V0IFN5c3RlbSBQYXJhbWV0ZXJzCnN1bW1hcnk6ICdTZXQgU3lzdGVtIFBhcmFtZXRlcnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gc2V0cyBzeXN0ZW0gcGFyYW1ldGVycyB0bzoKe3t0b19qc29uIHBhcmFtc319cGlGZnlTs8IMc2V0cGF5ZmFjdG9yiQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgUGF5IEZhY3RvcnMKc3VtbWFyeTogJ1NldCBwYXkgZmFjdG9ycycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBzZXRzIHRoZSBpbmZsYXRpb24gcGFyYW1ldGVycyBhcyBmb2xsb3dzOgoKKiBGcmFjdGlvbiBvZiBpbmZsYXRpb24gdXNlZCB0byByZXdhcmQgYmxvY2sgcHJvZHVjZXJzOiAxMDAwMC97e2luZmxhdGlvbl9wYXlfZmFjdG9yfX0KKiBGcmFjdGlvbiBvZiBibG9jayBwcm9kdWNlciByZXdhcmRzIHRvIGJlIGRpc3RyaWJ1dGVkIHByb3BvcnRpb25hbCB0byBibG9ja3MgcHJvZHVjZWQ6IDEwMDAwL3t7dm90ZXBheV9mYWN0b3J9fQAAAGC7W7PCB3NldHByaXaNBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IE1ha2UgYW4gQWNjb3VudCBQcml2aWxlZ2VkIG9yIFVucHJpdmlsZWdlZApzdW1tYXJ5OiAne3sjaWYgaXNfcHJpdn19TWFrZSB7e25vd3JhcCBhY2NvdW50fX0gcHJpdmlsZWdlZHt7ZWxzZX19UmVtb3ZlIHByaXZpbGVnZWQgc3RhdHVzIG9mIHt7bm93cmFwIGFjY291bnR9fXt7L2lmfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7I2lmIGlzX3ByaXZ9fQp7eyRhY3Rpb24uYWNjb3VudH19IG1ha2VzIHt7YWNjb3VudH19IHByaXZpbGVnZWQuCnt7ZWxzZX19Cnt7JGFjdGlvbi5hY2NvdW50fX0gcmVtb3ZlcyBwcml2aWxlZ2VkIHN0YXR1cyBvZiB7e2FjY291bnR9fS4Ke3svaWZ9fQAAAABIc7PCBnNldHJhbeYCLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ29uZmlndXJlIHRoZSBBdmFpbGFibGUgUkFNCnN1bW1hcnk6ICdDb25maWd1cmUgdGhlIGF2YWlsYWJsZSBSQU0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gY29uZmlndXJlcyB0aGUgYXZhaWxhYmxlIFJBTSB0byB7e21heF9yYW1fc2l6ZX19IGJ5dGVzLgCAyuZKc7PCCnNldHJhbXJhdGWFAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNldCB0aGUgUmF0ZSBvZiBJbmNyZWFzZSBvZiBSQU0Kc3VtbWFyeTogJ1NldCB0aGUgcmF0ZSBvZiBpbmNyZWFzZSBvZiBSQU0gcGVyIGJsb2NrJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHNldHMgdGhlIHJhdGUgb2YgaW5jcmVhc2Ugb2YgUkFNIHRvIHt7Ynl0ZXNfcGVyX2Jsb2NrfX0gYnl0ZXMvYmxvY2suAAAAAHR1s8IGc2V0cmV4twMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBBZGp1c3QgUkVYIFBvb2wgVmlydHVhbCBCYWxhbmNlCnN1bW1hcnk6ICdBZGp1c3QgUkVYIFBvb2wgVmlydHVhbCBCYWxhbmNlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IGFkanVzdHMgUkVYIGxvYW4gcmF0ZSBieSBzZXR0aW5nIFJFWCBwb29sIHZpcnR1YWwgYmFsYW5jZSB0byB7e2JhbGFuY2V9fS4gTm8gdG9rZW4gdHJhbnNmZXIgb3IgaXNzdWUgaXMgZXhlY3V0ZWQgaW4gdGhpcyBhY3Rpb24uoK7ORnZ1s8IMc2V0cmV4bWF0dXJliQUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgUkVYIE1hdHVyaXR5IFNldHRpbmdzCnN1bW1hcnk6ICdTZXRzIHRoZSBvcHRpb25zIGZvciBSRVggbWF0dXJpdHkgYnVja2V0cycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7I2lmIG51bV9vZl9tYXR1cml0eV9idWNrZXRzfX0KICBTZXRzIHRoZSBudW1iZXJzIG9mIG1hdHVyaXR5IGJ1Y2tldHMgdG8gJ3t7bnVtX29mX21hdHVyaXR5X2J1Y2tldHN9fScKe3svaWZ9fQoKe3sjaWYgc2VsbF9tYXR1cmVkX3JleH19CiAgU2V0cyB3aGV0aGVyIG9yIG5vdCB0byBpbW1lZGlhdGVseSBzZWxsIG1hdHVyZWQgUkVYIHRvICd7e3NlbGxfbWF0dXJlZF9yZXh9fScKe3svaWZ9fQoKe3sjaWYgYnV5X3JleF90b19zYXZpbmdzfX0KICBTZXRzIHdoZXRoZXIgb3Igbm90IHRvIGltbWVkaWF0ZWx5IG1vdmUgcHVyY2hhc2VkIFJFWCB0byBzYXZpbmdzIHRvICd7e2J1eV9yZXhfdG9fc2F2aW5nc319Jwp7ey9pZn19AFTUSTWEs8ILc2V0c2NoZWR1bGXaAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNldCBBbm51YWwgUmF0ZSBTY2hlZHVsZQpzdW1tYXJ5OiAnU2V0IGFubnVhbCByYXRlIHBhcmFtZXRlcnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gc2V0cyBhIHByZS1kZXRlcm1pbmVkIGluZmxhdGlvbiBzY2hlZHVsZSB0byBhZGp1c3QgcGFyYW1ldGVycyBhcyBmb2xsb3dzOgoKKiBTdGFydCB0aW1lIG9mIHRoZSBzY2hlZHVsZToge3tzdGFydF90aW1lfX0KKiBUaGUgY29udGludW91cyByYXRlIG9mIGluZmxhdGlvbjoge3tjb250aW51b3VzX3JhdGV9fTDnxjQ3lB3HDHN3aXRjaHRvc3ZubgDAj8qGqajS1Ax1bmRlbGVnYXRlYnehBy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVuc3Rha2UgVG9rZW5zIGZvciBORVQgYW5kL29yIENQVQpzdW1tYXJ5OiAnVW5zdGFrZSB0b2tlbnMgZm9yIE5FVCBhbmQvb3IgQ1BVIGZyb20ge3tub3dyYXAgcmVjZWl2ZXJ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Jlc291cmNlLnBuZyMzODMwZjFjZThjYjA3Zjc3NTdkYmNmMzgzYjFlYzFiMTE5MTRhYzM0YTFmOWQ4YjA2NWYwNzYwMGZhOWRhYzE5Ci0tLQoKe3tmcm9tfX0gdW5zdGFrZXMgZnJvbSB7e3JlY2VpdmVyfX0ge3t1bnN0YWtlX25ldF9xdWFudGl0eX19IGZvciBORVQgYmFuZHdpZHRoIGFuZCB7e3Vuc3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpUaGUgc3VtIG9mIHRoZXNlIHR3byBxdWFudGl0aWVzIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSB2b3RlIHdlaWdodCBvZiB7e3JlY2VpdmVyfX0gYW5kIHdpbGwgYmUgbWFkZSBhdmFpbGFibGUgdG8ge3tmcm9tfX0gYWZ0ZXIgYW4gdW5pbnRlcnJ1cHRlZCAzIGRheSBwZXJpb2Qgd2l0aG91dCBmdXJ0aGVyIHVuc3Rha2luZyBieSB7e2Zyb219fS4gQWZ0ZXIgdGhlIHVuaW50ZXJydXB0ZWQgMyBkYXkgcGVyaW9kIHBhc3NlcywgdGhlIHN5c3RlbSB3aWxsIGF0dGVtcHQgdG8gYXV0b21hdGljYWxseSByZXR1cm4gdGhlIGZ1bmRzIHRvIHt7ZnJvbX194oCZcyByZWd1bGFyIHRva2VuIGJhbGFuY2UuIEhvd2V2ZXIsIHRoaXMgYXV0b21hdGljIHJlZnVuZCBtYXkgb2NjYXNpb25hbGx5IGZhaWwgd2hpY2ggd2lsbCB0aGVuIHJlcXVpcmUge3tmcm9tfX0gdG8gbWFudWFsbHkgY2xhaW0gdGhlIGZ1bmRzIHdpdGggdGhlIHJlZnVuZCBhY3Rpb24uALCSZvqp0tQLdW5kZW55bmFtZXMAAACQ5ubl2NQJdW5naWZ0cmFtAABAy9rA6eLUCnVubGlua2F1dGiRBS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVubGluayBBY3Rpb24gZnJvbSBQZXJtaXNzaW9uCnN1bW1hcnk6ICd7e25vd3JhcCBhY2NvdW50fX0gdW5zZXRzIHRoZSBtaW5pbXVtIHJlcXVpcmVkIHBlcm1pc3Npb24gZm9yIHRoZSB7eyNpZiB0eXBlfX17e25vd3JhcCB0eXBlfX0gYWN0aW9uIG9mIHRoZXt7L2lmfX0ge3tub3dyYXAgY29kZX19IGNvbnRyYWN0JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCnt7YWNjb3VudH19IHJlbW92ZXMgdGhlIGFzc29jaWF0aW9uIGJldHdlZW4gdGhlIHt7I2lmIHR5cGV9fXt7dHlwZX19IGFjdGlvbiBvZiB0aGV7ey9pZn19IHt7Y29kZX19IGNvbnRyYWN0IGFuZCBpdHMgbWluaW11bSByZXF1aXJlZCBwZXJtaXNzaW9uLgoKe3sjaWYgdHlwZX19e3tlbHNlfX1UaGlzIHdpbGwgbm90IHJlbW92ZSBhbnkgbGlua3MgZXhwbGljaXRseSBhc3NvY2lhdGVkIHRvIHNwZWNpZmljIGFjdGlvbnMgb2Yge3tjb2RlfX0ue3svaWZ9fQAASPRWpu7UCXVucmVncHJvZOUELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVW5yZWdpc3RlciBhcyBhIEJsb2NrIFByb2R1Y2VyIENhbmRpZGF0ZQpzdW1tYXJ5OiAne3tub3dyYXAgcHJvZHVjZXJ9fSB1bnJlZ2lzdGVycyBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3ZvdGluZy5wbmcjZGIyOGNkM2RiNmU2MmQ0NTA5YWYzNjQ0Y2U3ZDM3NzMyOTQ4MmExNGJiNGJmYWNhMmFhNWYxNDAwZDhlOGE4NAotLS0KCnt7cHJvZHVjZXJ9fSB1bnJlZ2lzdGVycyBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4ge3twcm9kdWNlcn19IGFjY291bnQgd2lsbCByZXRhaW4gaXRzIHZvdGVzIGFuZCB0aG9zZSB2b3RlcyBjYW4gY2hhbmdlIGJhc2VkIG9uIHZvdGVyIHN0YWtlIGNoYW5nZXMgb3Igdm90ZXMgcmVtb3ZlZCBmcm9tIHt7cHJvZHVjZXJ9fS4gSG93ZXZlciBuZXcgdm90ZXJzIHdpbGwgbm90IGJlIGFibGUgdG8gdm90ZSBmb3Ige3twcm9kdWNlcn19IHdoaWxlIGl0IHJlbWFpbnMgdW5yZWdpc3RlcmVkLtDVpVlBk/HUDHVuc3Rha2V0b3JleOMGLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQnV5IFJFWCBUb2tlbnMgVXNpbmcgU3Rha2VkIFRva2VucwpzdW1tYXJ5OiAne3tub3dyYXAgb3duZXJ9fSBidXlzIFJFWCB0b2tlbnMgaW4gZXhjaGFuZ2UgZm9yIHRva2VucyBjdXJyZW50bHkgc3Rha2VkIHRvIE5FVCBhbmQvb3IgQ1BVJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tX25ldH19IGFuZCB7e2Zyb21fY3B1fX0gYXJlIHdpdGhkcmF3biBmcm9tIHt7cmVjZWl2ZXJ9feKAmXMgTkVUIGFuZCBDUFUgYmFuZHdpZHRocyByZXNwZWN0aXZlbHkuIFRoZXNlIGZ1bmRzIGFyZSB1c2VkIHRvIHB1cmNoYXNlIFJFWCB0b2tlbnMgYXQgdGhlIGN1cnJlbnQgbWFya2V0IGV4Y2hhbmdlIHJhdGUuIEluIG9yZGVyIGZvciB0aGUgYWN0aW9uIHRvIHN1Y2NlZWQsIHt7b3duZXJ9fSBtdXN0IGhhdmUgdm90ZWQgZm9yIGEgcHJveHkgb3IgYXQgbGVhc3QgMjEgYmxvY2sgcHJvZHVjZXJzLgoKQSBzZWxsIG9yZGVyIG9mIHRoZSBwdXJjaGFzZWQgYW1vdW50IGNhbiBvbmx5IGJlIGluaXRpYXRlZCBhZnRlciB3YWl0aW5nIGZvciB0aGUgbWF0dXJpdHkgcGVyaW9kIG9mIDQgdG8gNSBkYXlzIHRvIHBhc3MuIEV2ZW4gdGhlbiwgZGVwZW5kaW5nIG9uIHRoZSBtYXJrZXQgY29uZGl0aW9ucywgdGhlIGluaXRpYXRlZCBzZWxsIG9yZGVyIG1heSBub3QgYmUgZXhlY3V0ZWQgaW1tZWRpYXRlbHkuAAAAAGSs9tQGdW52ZXN0qQMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBVbnZlc3QgVG9rZW5zCnN1bW1hcnk6ICdSZWNsYWltIGFuZCByZXRpcmUgdW52ZXN0ZWQgdG9rZW5zJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgpSZWNsYWltIGFuZCByZXRpcmUge3skYWN0aW9uLnVudmVzdF9uZXRfcXVhbnRpdHl9fSBhbmQge3skYWN0aW9uLnVudmVzdF9jcHVfcXVhbnRpdHl9fSB3b3J0aCBvZiB1bnZlc3RlZCB0b2tlbnMgZnJvbSB0aGUgYWNjb3VudCB7eyRhY3Rpb24uYWNjb3VudH19LgBAy9qobFLVCnVwZGF0ZWF1dGjtAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IE1vZGlmeSBBY2NvdW50IFBlcm1pc3Npb24Kc3VtbWFyeTogJ0FkZCBvciB1cGRhdGUgdGhlIHt7bm93cmFwIHBlcm1pc3Npb259fSBwZXJtaXNzaW9uIG9mIHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpNb2RpZnksIGFuZCBjcmVhdGUgaWYgbmVjZXNzYXJ5LCB0aGUge3twZXJtaXNzaW9ufX0gcGVybWlzc2lvbiBvZiB7e2FjY291bnR9fSB0byBoYXZlIGEgcGFyZW50IHBlcm1pc3Npb24gb2Yge3twYXJlbnR9fSBhbmQgdGhlIGZvbGxvd2luZyBhdXRob3JpdHk6Cnt7dG9fanNvbiBhdXRofX0AAOjqqmxS1Ql1cGRhdGVyZXiBAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVwZGF0ZSBSRVggT3duZXIgVm90ZSBXZWlnaHQKc3VtbWFyeTogJ1VwZGF0ZSB2b3RlIHdlaWdodCB0byBjdXJyZW50IHZhbHVlIG9mIGhlbGQgUkVYIHRva2VucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KClVwZGF0ZSB2b3RlIHdlaWdodCBvZiB7e293bmVyfX0gYWNjb3VudCB0byBjdXJyZW50IHZhbHVlIG9mIGhlbGQgUkVYIHRva2Vucy4wqcNuq5tT1Qx1cGR0cmV2aXNpb26CAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVwZGF0ZSBTeXN0ZW0gQ29udHJhY3QgUmV2aXNpb24gTnVtYmVyCnN1bW1hcnk6ICdVcGRhdGUgc3lzdGVtIGNvbnRyYWN0IHJldmlzaW9uIG51bWJlcicKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBhZHZhbmNlcyB0aGUgc3lzdGVtIGNvbnRyYWN0IHJldmlzaW9uIG51bWJlciB0byB7e3JldmlzaW9ufX0ucBXSid6qMt0Mdm90ZXByb2R1Y2VyrQYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBWb3RlIGZvciBCbG9jayBQcm9kdWNlcnMKc3VtbWFyeTogJ3t7bm93cmFwIHZvdGVyfX0gdm90ZXMgZm9yIHt7I2lmIHByb3h5fX10aGUgcHJveHkge3tub3dyYXAgcHJveHl9fXt7ZWxzZX19dXAgdG8gMzAgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlc3t7L2lmfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy92b3RpbmcucG5nI2RiMjhjZDNkYjZlNjJkNDUwOWFmMzY0NGNlN2QzNzczMjk0ODJhMTRiYjRiZmFjYTJhYTVmMTQwMGQ4ZThhODQKLS0tCgp7eyNpZiBwcm94eX19Cnt7dm90ZXJ9fSB2b3RlcyBmb3IgdGhlIHByb3h5IHt7cHJveHl9fS4KQXQgdGhlIHRpbWUgb2Ygdm90aW5nIHRoZSBmdWxsIHdlaWdodCBvZiB2b3RlcuKAmXMgc3Rha2VkIChDUFUgKyBORVQpIHRva2VucyB3aWxsIGJlIGNhc3QgdG93YXJkcyBlYWNoIG9mIHRoZSBwcm9kdWNlcnMgdm90ZWQgYnkge3twcm94eX19Lgp7e2Vsc2V9fQp7e3ZvdGVyfX0gdm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlczoKCnt7I2VhY2ggcHJvZHVjZXJzfX0KICArIHt7dGhpc319Cnt7L2VhY2h9fQoKQXQgdGhlIHRpbWUgb2Ygdm90aW5nIHRoZSBmdWxsIHdlaWdodCBvZiB2b3RlcuKAmXMgc3Rha2VkIChDUFUgKyBORVQpIHRva2VucyB3aWxsIGJlIGNhc3QgdG93YXJkcyBlYWNoIG9mIHRoZSBhYm92ZSBwcm9kdWNlcnMuCnt7L2lmfX0AgMomVa0y3Qp2b3RldXBkYXRlAAAAAIAtJLHhB3dhc21jZmcAAAAA3NzUsuMId2l0aGRyYXfJAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFdpdGhkcmF3IGZyb20gUkVYIEZ1bmQKc3VtbWFyeTogJ1dpdGhkcmF3IHt7bm93cmFwIGFtb3VudH19IGZyb20ge3tub3dyYXAgb3duZXJ9feKAmXMgUkVYIGZ1bmQgYnkgdHJhbnNmZXJyaW5nIHRvIHt7b3duZXJ9feKAmXMgbGlxdWlkIGJhbGFuY2UnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpXaXRoZHJhd3Mge3thbW91bnR9fSBmcm9tIHt7b3duZXJ9feKAmXMgUkVYIGZ1bmQgYW5kIHRyYW5zZmVyIHRoZW0gdG8ge3tvd25lcn194oCZcyBsaXF1aWQgYmFsYW5jZS4AgFfwKlWjSgpkZWxwZWVya2V5AACwV/AqVbNiC2dldHBlZXJrZXlzAACAV/AqVZm6CnJlZ3BlZXJrZXkAJAAAAKBh09wxA2k2NAAACGFiaV9oYXNokLGLfqqUETIDaTY0AAAWYWNjb3VudF9uYW1lX2JsYWNrbGlzdAAATlMvdZM7A2k2NAAACmJpZF9yZWZ1bmQAAKBrOohoPANpNjQAABFibG9ja19pbmZvX3JlY29yZAAAAGAaGnVFA2k2NAAACHJleF9sb2FuAAAAIE1zokoDaTY0AAATZGVsZWdhdGVkX2JhbmR3aWR0aJCxiw2b5qdKA2k2NAAACWRlbnlfaGFzaAAAvuq7aKZbA2k2NAAADmZpbmFsaXplcl9pbmZvAKZiyXkFp1sDaTY0AAAZZmluX2tleV9pZF9nZW5lcmF0b3JfaW5mbwAAAAB7BadbA2k2NAAAEmZpbmFsaXplcl9rZXlfaW5mbwAAkOYmlZdjA2k2NAAACmdpZnRlZF9yYW0AAAAARHNoZANpNjQAABJlb3Npb19nbG9iYWxfc3RhdGUAAABARHNoZANpNjQAABNlb3Npb19nbG9iYWxfc3RhdGUyAAAAYERzaGQDaTY0AAATZW9zaW9fZ2xvYmFsX3N0YXRlMwAAAIBEc2hkA2k2NAAAE2Vvc2lvX2dsb2JhbF9zdGF0ZTSAp1uV3pqxiQNpNjQAABlsYXN0X3Byb3BfZmluYWxpemVyc19pbmZvAAAAOLmjpJkDaTY0AAAIbmFtZV9iaWQAAABgGhqzmgNpNjQAAAhyZXhfbG9hbgCuSpeCqjmtA2k2NAAADXBvd2VydXBfb3JkZXIAVDYZg6o5rQNpNjQAAA1wb3dlcnVwX3N0YXRlAADAVyGd6K0DaTY0AAANcHJvZHVjZXJfaW5mbwCAwFchneitA2k2NAAADnByb2R1Y2VyX2luZm8yAADICl4jpbkDaTY0AAAOZXhjaGFuZ2Vfc3RhdGUAAAAAp6mXugNpNjQAAA5yZWZ1bmRfcmVxdWVzdAAAzgoifbK6A2k2NAAAEnJleF9yZXR1cm5fYnVja2V0cwAAAABEc7q6A2k2NAAAC3JleF9iYWxhbmNlAAAAIE29uroDaTY0AAAIcmV4X2Z1bmQAfHZXZyO7ugNpNjQAAAxyZXhfbWF0dXJpdHkAAAAgUlq7ugNpNjQAAAhyZXhfcG9vbAAAAEorbbu6A2k2NAAACXJleF9vcmRlcgBApLRmdbu6A2k2NAAAD3JleF9yZXR1cm5fcG9vbAAAwCrqpBrCA2k2NAAADnNjaGVkdWxlc19pbmZvAAAAAKt7FdYDaTY0AAAOdXNlcl9yZXNvdXJjZXMAAAAA4Ksy3QNpNjQAAAp2b3Rlcl9pbmZvAAAA2Ct4laoDaTY0AAAIcGVlcl9rZXnAGmpZm+ykiwNpNjQAABFsaW1pdF9hdXRoX2NoYW5nZQINVXNlckFncmVlbWVudOx/IyBFT1MgVXNlciBBZ3JlZW1lbnQKCiMjIERlZmluaXRpb25zCgogQWxsIGNhcGl0YWxpemVkLCBpdGFsaWNpemVkLCBvciBpbmxpbmUgY29kZSB0ZXJtcyBpbiAqVGhlIEVPUyBVc2VyIEFncmVlbWVudCogd2lsbCBiZSBnaXZlbiB0aGUgc2FtZSBlZmZlY3QgYW5kIG1lYW5pbmcgYXMgaW4gKkRlZmluaXRpb25zKi4KCiogRU9TIFVzZXIgQWdyZWVtZW50OiBUaGlzIGRvY3VtZW50ICgqRVVBKikKCiogQ2hhaW4gSUQ6IGBjaGFpbl9pZGDigIot4oCKYWNhMzc2ZjIwNmI4ZmMyNWE2ZWQ0NGRiZGM2NjU0N2MzNmM2YzMzZTNhMTE5ZmZiZWFlZjk0MzY0MmYwZTkwNgoKKiBVc2VyOiBBbnkgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiBvZiBwZXJzb25zIHdobyBtYWludGFpbihzKSBkaXJlY3Qgb3IgaW5kaXJlY3Qgb3duZXJzaGlwIG9mIGFuIEVPUyBhY2NvdW50LCBvciBFT1MtYmFzZWQgcHJvcGVydHkgY29ubmVjdGVkIHRvIGFuIEVPUyBhY2NvdW50LgoKKiBPd25lcnNoaXA6IERpcmVjdCBvciBpbmRpcmVjdCBhY2Nlc3MgdG8gYW4gRU9TIGFjY291bnQgdGhyb3VnaCBvbmUgb3IgbW9yZSB2YWxpZCBwZXJtaXNzaW9ucyBjaGVja3MuIE93bmVyc2hpcCBtYXkgYmUgcGFydGlhbGx5IHNoYXJlZCBiZXR3ZWVuIFVzZXJzIHRocm91Z2ggdGhlIHVzZSBvZiBtdWx0aS1zaWduYXR1cmUgcGVybWlzc2lvbnMuCgoqIEJsb2NrIFByb2R1Y2VyOiBVc2VycyB3aG8gaGF2ZSBjYWxsZWQgYHJlZ3Byb2R1Y2VyYCBhbmQgcmVjZWl2ZSByZXdhcmRzIGZyb20gZW9zaW8udnBheS4KCiogYGVvc2lvLnByb2RzYDogQW4gRU9TIGFjY291bnQgd2l0aCBhIGR5bmFtaWMgcGVybWlzc2lvbnMgc3RydWN0dXJlIHRoYXQgY2FuIGFzc3VtZSB0aGUgcHJpdmlsZWdlcyBvZiB0aGUgYGVvc2lvYCBhY2NvdW50IHdoZW4gMTUvMjEgQmxvY2sgUHJvZHVjZXJzIGFncmVlIHRvIGRvIHNvLgoKKiBOZXR3b3JrIEZ1bmRzOiBUb2tlbnMgY29udGFpbmVkIHdpdGhpbiB0aGUgZm9sbG93aW5nIGFjY291bnRzOiBgZW9zaW8ubmFtZXNgLCBgZW9zaW8ucmFtZmVlYCwgYGVvc2lvLnNhdmluZ2AuCgoqIEdvdmVybmluZyBEb2N1bWVudHM6ICpyZWdwcm9kdWNlciogaXMgY29uc2lkZXJlZCBhIGdvdmVybmluZyBkb2N1bWVudC4KCiogT24tQ2hhaW46IEFueSB0cmFuc2FjdGlvbiwgc21hcnQgY29udHJhY3QsIG9yIFJpY2FyZGlhbiBjb250cmFjdCB3aGljaCBpcyBsb2NhdGVkIHdpdGhpbiBhIGJsb2NrIHRoYXQgaXMgaXJyZXZlcnNpYmxlIGFuZCBhcHBlbmRlZCB0byB0aGUgRU9TIGJsb2NrY2hhaW4gYGNoYWluX2lkYC4KCiogRU9TLWJhc2VkIFByb3BlcnR5OiBBbnl0aGluZyB0aGF0IHJlcXVpcmVzIGEgdmFsaWQgcGVybWlzc2lvbiBpbiBvcmRlciB0byBkaXJlY3RseSBtYW5pcHVsYXRlLCBhbHRlciwgdHJhbnNmZXIsIGluZmx1ZW5jZSwgb3Igb3RoZXJ3aXNlIGVmZmVjdCBvbiB0aGUgRU9TIEJsb2NrY2hhaW4KCiogQ2FsbDogVG8gc3VibWl0IGFuIGFjdGlvbiB0byB0aGUgRU9TIEJsb2NrY2hhaW4gYGNoYWluX2lkYC4KCiogQXV0aG9yaXphdGlvbnMgJiBQZXJtaXNzaW9uczogUGVybWlzc2lvbnMgYXJlIGFyYml0cmFyeSBuYW1lcyB1c2VkIHRvIGRlZmluZSB0aGUgcmVxdWlyZW1lbnRzIGZvciBhIHRyYW5zYWN0aW9uIHNlbnQgb24gYmVoYWxmIG9mIHRoYXQgcGVybWlzc2lvbi4gUGVybWlzc2lvbnMgY2FuIGJlIGFzc2lnbmVkIGZvciBhdXRob3JpdHkgb3ZlciBzcGVjaWZpYyBjb250cmFjdCBhY3Rpb25zLgoKKiBSaWNhcmRpYW4gQ29udHJhY3Q6IEEgY29udHJhY3QgdGhhdCBwbGFjZXMgdGhlIGRlZmluaW5nIGVsZW1lbnRzIG9mIGEgbGVnYWwgYWdyZWVtZW50IGluIGEgZm9ybWF0IHRoYXQgY2FuIGJlIGV4cHJlc3NlZCBhbmQgZXhlY3V0ZWQgaW4gc29mdHdhcmUuCgojIyBBcnRpY2xlIEkgLeKAiiBVc2VyIEFja25vd2xlZGdlbWVudCBvZiBSaXNrcwpJZiBVc2VyIGxvc2VzIGFjY2VzcyB0byB0aGVpciBFT1MgYWNjb3VudCBvbiBgY2hhaW5faWRgIGFuZCBoYXMgbm90IHRha2VuIGFwcHJvcHJpYXRlIG1lYXN1cmVzIHRvIHNlY3VyZSBhY2Nlc3MgdG8gdGhlaXIgRU9TIGFjY291bnQgYnkgb3RoZXIgbWVhbnMsIHRoZSBVc2VyIGFja25vd2xlZGdlcyBhbmQgYWdyZWVzIHRoYXQgdGhhdCBFT1MgYWNjb3VudCB3aWxsIGJlY29tZSBpbmFjY2Vzc2libGUuIFVzZXJzIGFja25vd2xlZGdlIHRoYXQgdGhlIFVzZXIgaGFzIGFuIGFkZXF1YXRlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHJpc2tzLCB1c2FnZSBhbmQgaW50cmljYWNpZXMgb2YgY3J5cHRvZ3JhcGhpYyB0b2tlbnMgYW5kIGJsb2NrY2hhaW4tYmFzZWQgc29mdHdhcmUuIFRoZSBVc2VyIGFja25vd2xlZGdlcyBhbmQgYWdyZWVzIHRoYXQgdGhlIFVzZXIgaXMgdXNpbmcgdGhlIEVPUyBibG9ja2NoYWluIGF0IHRoZWlyIHNvbGUgcmlzay4KCiMjIEFydGljbGUgSUnigIot4oCKU3BlY2lhbCBVc2VyIFR5cGVzClVzZXJzIHdobyBjYWxsIGByZWdwcm9kdWNlcmAgYWdyZWUgdG8sIGFuZCBhcmUgYm91bmQgYnksIHRoZSAqcmVncHJvZHVjZXIqIFJpY2FyZGlhbiBDb250cmFjdC4KCiMjIEFydGljbGUgSUlJ4oCKLeKAikNvbnNlbnQgb2YgdGhlIEVVQQpUaGUgbmF0dXJlIG9mIHRoZSAqRU9TIFVzZXIgQWdyZWVtZW50KiBpcyBzdWNoIHRoYXQgaXQgc2VydmVzIGFzIGEgZGVzY3JpcHRpb24gb2YgdGhlIGN1cnJlbnQgRU9TIE1haW5uZXQgZ292ZXJuYW5jZSBmdW5jdGlvbnMgdGhhdCBhcmUgaW4gcGxhY2UuIFRoZXNlIGZ1bmN0aW9ucywgZW5mb3JjZWQgYnkgY29kZSwgZG8gbm90IHJlcXVpcmUgdGhlIGNvbnNlbnQgb2YgVXNlcnMgYXMgdGhlc2UgZnVuY3Rpb25zIGFyZSBpbmhlcmVudCBhbmQgc3lzdGVtaWMgdG8gdGhlIEVPUyBNYWlubmV0IGl0c2VsZi4KCiMjIEFydGljbGUgSVbigIot4oCKR292ZXJuaW5nIERvY3VtZW50cwpBbnkgbW9kaWZpY2F0aW9ucyB0byB0aGUgKkVVQSogYW5kICpnb3Zlcm5pbmcgZG9jdW1lbnRzKiBtYXkgYmUgbWFkZSBieSBgZW9zaW8ucHJvZHNgLiBJdCBpcyBhZG1vbmlzaGVkIHRoYXQgYSBzdGF0ZW1lbnQgYmUgY3JhZnRlZCBhbmQgaXNzdWVkIHRocm91Z2ggYGVvc2lvLnByb2RzYCB2aWEgZW9zaW8uZm9ydW0gcmVmZXJlbmR1bSBjb250cmFjdCBkZXNjcmliaW5nIHN1Y2ggYSBtb2RpZmljYXRpb24gaW4gYWR2YW5jZS4KCiMjIEFydGljbGUgVuKAii3igIpOYXRpdmUgVW5pdCBvZiBWYWx1ZQpUaGUgbmF0aXZlIHVuaXQgb2YgdmFsdWUgb24gRU9TIGNoYWluX2lkIHNoYWxsIGJlIHRoZSBFT1MgdG9rZW4gYXMgZGVmaW5lZCBhbmQgY3JlYXRlZCBieSB0aGUgYGVvc2lvLnRva2VuYCBzbWFydCBjb250cmFjdC4KCiMjIEFydGljbGUgVknigIot4oCKTWFpbnRhaW5pbmcgdGhlIEVPUyBibG9ja2NoYWluCmBlb3Npby5wcm9kc2Agd2lsbCBtYWludGFpbiB0aGUgYWN0aXZlIGJsb2NrY2hhaW4gY29kZWJhc2Ugd2hpY2ggaW5jbHVkZXMsIGJ1dCBpcyBub3QgbGltaXRlZCB0bywgdGhlIGltcGxlbWVudGF0aW9uIG9mIGFsbCBtb2RpZmljYXRpb25zIG9mIGFsbCBmZWF0dXJlcywgb3B0aW1pemF0aW9ucywgYW5kIHVwZ3JhZGVzOiBwcmVzZW50IGFuZCBmdXR1cmUuCgojIyBBcnRpY2xlIFZJSeKAii3igIpOZXR3b3JrIEZ1bmRzCkl0IGlzIGFkbW9uaXNoZWQgdGhhdCBhbnkgYWx0ZXJpbmcgb2YgdGhlIHN0YXRlIG9mIGFueSB0b2tlbnMgY29udGFpbmVkIHdpdGhpbiBuZXR3b3JrIGZ1bmQgYWNjb3VudHMsIG9yIGFsdGVyaW5nIGFueSBwcmUtZXhpc3RpbmcgY29kZSB0aGF0IGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgZ292ZXJucyB0aGUgYWxsb2NhdGlvbiwgZnVsZmlsbG1lbnQsIG9yIGRpc3RyaWJ1dGlvbiBvZiBhbnkgKm5ldHdvcmsgZnVuZHMqIGJlIHByZWNlZGVkIGJ5IGEgc3RhdGVtZW50IGNyYWZ0ZWQgYW5kIGlzc3VlZCBieSBgZW9zaW8ucHJvZHNgIHRvIHRoZSAqZW9zaW8uZm9ydW0qIHJlZmVyZW5kdW0gc3lzdGVtIGNvbnRyYWN0IGRlc2NyaWJpbmcgdGhlIGVmZmVjdCBpbiBhZHZhbmNlLgoKIyMgQXJ0aWNsZSBWSUlJ4oCKLeKAikZyZWVkb20gb2YgQWNjb3VudCBDcmVhdGlvbgpBbnkgY3VycmVudCBvciBmdXR1cmUgVXNlciBpcyBhYmxlIHRvIGNyZWF0ZSBhbiBFT1MgQWNjb3VudCB3aXRob3V0IHRoZSBwZXJtaXNzaW9uIGJ5IGFueSBvdGhlciBVc2VyLiBgZW9zaW8ucHJvZHNgIG1heSBuZXZlciBhZmZlY3QgYW4gRU9TIFVzZXIgQWNjb3VudChzKSB3aXRob3V0IHZhbGlkIHBlcm1pc3Npb24ocykgd2hpY2ggaGF2ZSBiZWVuIHNoYXJlZCB3aXRoIGBlb3Npby5wcm9kc2AgYnkgYW4gRU9TIGFjY291bnQuIGBlb3Npby5wcm9kc2AgbWF5IGNoYXJnZSBhIGZlZSBmb3IgYW55IGFjdGlvbnMgdGhhdCBhcmUgcmVxdWVzdGVkIGJ5IG90aGVyIFVzZXJzIHBlcnRhaW5pbmcgdG8gYW4gRU9TIGFjY291bnQgd2hlcmUgcGVybWlzc2lvbnMgYXJlIHNoYXJlZC4KCiMjIEFydGljbGUgSVjigIot4oCKTm8gRmlkdWNpYXJ5Ck5vIFVzZXIgc2hhbGwgaGF2ZSBhIGZpZHVjaWFyeSBwdXJwb3NlIHRvIHN1cHBvcnQgdGhlIHZhbHVlIG9mIHRoZSBFT1MgdG9rZW4uIE5vIFVzZXIgY2FuIGF1dGhvcml6ZSBhbnlvbmUgdG8gaG9sZCBhc3NldHMsIGJvcnJvdywgc3BlYWssIGNvbnRyYWN0IG9uIGJlaGFsZiBvZiBvdGhlciBFT1MgVXNlcnMgb3IgdGhlIEVPUyBibG9ja2NoYWluIGBjaGFpbl9pZGAgY29sbGVjdGl2ZWx5LiBUaGlzIEVPUyBibG9ja2NoYWluIHNoYWxsIGhhdmUgbm8gb3duZXJzLCBtYW5hZ2Vycywgb3IgZmlkdWNpYXJpZXMuCgojIyBBcnRpY2xlIFjigIot4oCKVXNlciBTZWN1cml0eQpBbGwgaXRlbXMgcGVydGFpbmluZyB0byBwZXJzb25hbCBhY2NvdW50IHNlY3VyaXR5LCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHRoZSBzYWZla2VlcGluZyBvZiBwcml2YXRlIGtleXMsIGlzIHNvbGVseSB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIFVzZXIgdG8gc2VjdXJlLgoKIyMgQXJ0aWNsZSBYSSAtIGBlb3Npby5wcm9kc2AgTGltaXRlZCBMaWFiaWxpdHkKVGhlIFVzZXIgYWNrbm93bGVkZ2VzIGFuZCBhZ3JlZXMgdGhhdCwgdG8gdGhlIGZ1bGxlc3QgZXh0ZW50IHBlcm1pdHRlZCBieSBhbnkgYXBwbGljYWJsZSBsYXcsIHRoaXMgZGlzY2xhaW1lciBvZiBsaWFiaWxpdHkgYXBwbGllcyB0byBhbnkgYW5kIGFsbCBkYW1hZ2VzIG9yIGluanVyeSB3aGF0c29ldmVyIGNhdXNlZCBieSBvciByZWxhdGVkIHRvIHJpc2tzIG9mLCB1c2Ugb2YsIG9yIGluYWJpbGl0eSB0byB1c2UsIHRoZSBFT1MgdG9rZW4gb3IgdGhlIEVPUyBibG9ja2NoYWluIGBjaGFpbl9pZGAgdW5kZXIgYW55IGNhdXNlIG9mIGFjdGlvbiB3aGF0c29ldmVyIG9mIGFueSBraW5kIGluIGFueSBqdXJpc2RpY3Rpb24sIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBhY3Rpb25zIGZvciBicmVhY2ggb2Ygd2FycmFudHksIGJyZWFjaCBvZiBjb250cmFjdCBvciB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSkgYW5kIHRoYXQgYGVvc2lvLnByb2RzYCwgbm9yIHRoZSBpbmRpdmlkdWFsIHBlcm1pc3Npb25zIHRoYXQgb3BlcmF0ZSBpdCwgc2hhbGwgbm90IGJlIGxpYWJsZSBmb3IgYW55IGluZGlyZWN0LCBpbmNpZGVudGFsLCBzcGVjaWFsLCBleGVtcGxhcnkgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzLCBpbmNsdWRpbmcgZm9yIGxvc3Mgb2YgcHJvZml0cywgZ29vZHdpbGwgb3IgZGF0YS4KCiMgRU9TIOyCrOyaqeyekCDrj5nsnZjshJwKCiMjIOygleydmAoKRU9TIOyCrOyaqeyekCDrj5nsnZjshJzsnZgg66qo65OgIOuMgOusuOyekCwg6riw7Jq47J6EIOq8tCwg65iQ64qUIOyduOudvOyduCDsvZTrk5wg7Jqp7Ja064qUIOygleydmOyXkOyEnOyZgCDrj5nsnbztlZwg7Zqo6rO87JmAIOydmOuvuOqwgCDrtoDsl6zrkKnri4jri6QuCgotICAgRU9TIOyCrOyaqeyekCDrj5nsnZjshJw6IOuzuCDrrLjshJwgKEVVQSkKLSAgIOyytOyduCBJRDogY2hhaW5faWTigIotLS3igIphY2EzNzZmMjA2YjhmYzI1YTZlZDQ0ZGJkYzY2NTQ3YzM2YzZjMzNlM2ExMTlmZmJlYWVmOTQzNjQyZjBlOTA2Ci0gICDsgqzsmqnsnpA6IEVPUyDqs4TsoJXsnYQg7KeB7KCRIOuYkOuKlCDqsITsoJHsoIHsnLzroZwg7IaM7Jyg7ZWY6rGw64KYIEVPUyDqs4TsoJXsl5Ag7Jew6rKw65CcIEVPUyDquLDrsJgg7IaN7ISx7J2EIOycoOyngO2VmOqxsOuCmCDqtIDrpqztlZjripQg7IKs656MLCDsobDsp4EsIOuYkOuKlCDsobDsp4HsnZgg66qo65OgIOyCrOuejC4KLSAgIOyGjOycoOq2jDog7ZWY64KYIOydtOyDgeydmCDsnKDtmqjtlZwg7IKs7Jqp6raM7ZWcIO2ZleyduOydhCDthrXtlbQgRU9TIOqzhOygleyXkCDsp4HsoJEg65iQ64qUIOqwhOygkeyggeycvOuhnCDsoJHqt7ztlanri4jri6QuIOyGjOycoOq2jOydgCDri6TspJEg7ISc66qF6raM7ZWc7J2EIOyCrOyaqe2VmOyXrCDsgqzsmqnsnpDqsITsl5Ag67aA67aE7KCB7Jy866GcIOqzteycoCDrkKAg7IiYIOyeiOyKteuLiOuLpC4KLSAgIOu4lOuhnSDtlITroZzrk4DshJw6IHJlZ3Byb2R1Y2Vy66W8IOyLpO2Wie2VmOqzoCBlb3Npby52cGF566Gc67aA7YSwIOuztOyDgeydhCDrsJvripQg7IKs7Jqp7J6QLgotICAgZW9zaW8ucHJvZHM6IDE1LzIxIOu4lOuhnSDtlITroZzrk4DshJzrk6TsnbQg64+Z7J2YIO2VoCDrlYwgZW9zaW8g6rOE7KCV7J2YIOq2jO2VnOydhCDqsIDsp4gg7IiYIOyeiOuKlCDrj5nsoIEg6raM7ZWcIOq1rOyhsOulvCDqsIDsp4QgRU9TIOqzhOyglS4KLSAgIOuEpO2KuOybjO2BrCDsnpDquIg6IOuLpOydjCDqs4TsoJXsl5Ag7Y+s7ZWoIOuQnCDthqDtgbA6IGVvc2lvLm5hbWVzLCBlb3Npby5yYW1mZWUsIGVvc2lvLnNhdmluZy4KLSAgIOq0gOumrCDrrLjshJw6IHJlZ3Byb2R1Y2Vy64qUIOq0gOumrCDrrLjshJzroZwg6rCE7KO865Cp64uI64ukLgotICAg7Jio7LK07J24OiBFT1Mg67iU66Gd7LK07J24IGNoYWluX2lk7JeQIOu5hOqwgOyXreyggeydtOupsCDstpTqsIAg7ZWgIOyImCDsnojripQg67iU66GdIOuCtOyXkCDsnITsuZjtlZwg66qo65OgIOqxsOuemCwg7Iqk66eI7Yq4IOqzhOyVvSDrmJDripQg66as7Lm066W065SU7JWIIOqzhOyVvS4KLSAgIEVPUyDquLDrsJgg7IaN7ISxOiBFT1Mg67iU66Gd7LK07J247J2EIOyngeygkSDsobDsnpEsIOuzgOqyvSwg7KCE7IahLCDsmIHtlqUg65iQ64qUIOuLrOumrCDsoIHsmqntlZjquLAg7JyE7ZW0IOycoO2aqO2VnCDsgqzsmqkg6raM7ZWc7J20IO2VhOyalO2VnCDrqqjrk6Ag6rKDCi0gICDsvZw6IEVPUyDruJTroZ3ssrTsnbggY2hhaW5faWTsl5Ag7J6R7JeF7J2EIOyLoOyyre2VmOuKlCDqsoMuCi0gICDtl4jqsIAg67CPIOq2jO2VnDogJ+2XiOqwgCfripQg7ZW064u5IOq2jO2VnOydhCDrjIDsi6DtlZjsl6wg7KCE7Iah65CY64qUIO2KuOuenOyereyFmOydmCDsmpTqtazsgqztla3snYQg7KCV7J2Y7ZWY64qUIOuNsCDsgqzsmqnrkKnri4jri6QuICfqtoztlZwn7J2AIO2KueyglSDqs4Tslb0g7KGw7LmY7JeQIOuMgO2VnCDqtoztlZzsnYQg67aA7Jes7ZWp64uI64ukLgotICAg66as7Lm066W065SU7JWIIOqzhOyVvTog7ZWp67KV7KCBIOqzhOyVveydmCDsoJXsnZgg7JqU7IaM66W8IOyGjO2UhO2KuOybqOyWtOuhnCDtkZztmITtlZjqs6Ag7Iuk7ZaJ7ZWgIOyImCDsnojripQg7ZiV7Iud7Jy866GcIOuwsOy5mO2VmOuKlCDqs4Tslb0uCgojIyDsoJwgMeyhsOKAii0tLeKAiuychO2XmOyXkCDrjIDtlZwg7IKs7Jqp7J6Q65Ok7J2YIOyduOyngAoK7IKs7Jqp7J6Q6rCAIGNoYWluX2lk7JeQ7IScIEVPUyDqs4TsoJXsl5Ag64yA7ZWcIOygkeq3vCDqtoztlZzsnYQg7J6D6rOgLCDri6Trpbgg67Cp67KV7Jy866GcIEVPUyDqs4TsoJXsl5Ag64yA7ZWcIOygkeq3vOydhCDrs7TtmLjtlZjquLAg7JyE7ZW0IOyggeygiO2VnCDsobDsuZjrpbwg7Leo7ZWY7KeAIOyViuuKlCDqsr3smrDsl5DripQgRU9TIOqzhOygleyXkCDsoJHqt7ztlaAg7IiYIOyXhuqyjCDrkJzri6TripQg6rKD7J2EIOyduOygle2VmOqzoCDrj5nsnZjtlanri4jri6QuIOyCrOyaqeyekOuKlCDslZTtmLjtmZQg7Yag7YGw6rO8IOu4lOuhneyytOyduCDquLDrsJgg7IaM7ZSE7Yq47Juo7Ja07J2YIOychO2XmCwg7IKs7Jqp67KVLCDqt7jrpqzqs6Ag67O17J6h7ISx7JeQIOuMgO2VtCDstqnrtoTtnogg7J207ZW07ZWY6rOgIOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuIOyCrOyaqeyekOuKlCBFT1Mg67iU66Gd7LK07J247J2YIOyCrOyaqeyXkCDrjIDtlZwg7KCE7KCB7J24IOyxheyehOydhCDsp4Tri6TripQg6rKD7JeQIOyduOygle2VmOqzoCDrj5nsnZjtlanri4jri6QuCgojIyDsoJwgMuyhsOKAii0tLeKAiu2KueuzhO2VnCDsgqzsmqnsnpAg7Jyg7ZiVCgpyZWdwcm9kdWNlcuulvCDsi6TtlontlZjripQg7IKs7Jqp7J6Q64qUIHJlZ3Byb2R1Y2VyIOumrOy5tOultOuUlOyViCDqs4Tslb3sl5Ag64+Z7J2Y7ZWY6rOgLCDsnbTsl5Ag6rWs7IaN65Cp64uI64ukLgoKIyMg7KCcIDPsobDigIotLS3igIpFVUHsnZgg64+Z7J2YCgpFT1Mg7IKs7Jqp7J6QIOuPmeydmOyEnOuKlCDtmITsnqwg7Iuc7ZaJ7KSR7J24IEVPUyDrqZTsnbjrhLcg6rGw67KE64SM7Iqk7JeQIOuMgO2VnCDshKTrqoXsnLzroZwg7IKs7Jqp65Cp64uI64ukLiDsvZTrk5zsl5Ag7J2Y7ZW0IOyLnO2WieuQmOuKlCDsnbTrn6ztlZwg6riw64ql7J2AIEVPUyDrqZTsnbjrhLcg7J6Q7LK07J2YIOyytOqzhOyggeydtOqzoCDqs6DsnKDtlZwg6riw64ql7J2066+A66GcIOyCrOyaqeyekOydmCDrj5nsnZjrpbwg7ZWE7JqU66GcIO2VmOyngCDslYrsirXri4jri6QuCgojIyDsoJwgNOyhsOKAii0tLeKAiuq0gOumrCDrrLjshJwKCkVVQeyZgCDqtIDrpqwg66y47ISc64qUIGVvc2lvLnByb2Rz66W8IO2Gte2VtCDsiJjsoJXsnbQg6rCA64ql7ZWp64uI64ukLiDtirnsoJUg67OA6rK97IKs7ZWt7J2EIOyCrOyghOyXkCDshKTrqoXtlZjripQgZW9zaW8uZm9ydW0g7Yis7ZGcIOqzhOyVveydhCDthrXtlbQgZW9zaW8ucHJvZHPqsIAg7ISx66qF7ISc66W8IOyekeyEse2VmOqzoCDrsJzquIntlaAg6rKD7J2EIOq2jOqzoO2VqeuLiOuLpC4KCiMjIOygnCA17KGw4oCKLS0t4oCK6rCA7LmY7J2YIOq4sOuzuCDri6jsnIQKCkVPUyBjaGFpbl9pZOydmCDquLDrs7gg64uo7JyE64qUIGVvc2lvLnRva2VuIOyKpOuniO2KuCDqs4Tslb3sl5Ag7J2Y7ZW0IOygleydmOuQmOqzoCDsnpHshLHrkJwgRU9TIO2GoO2BsOyeheuLiOuLpC4KCiMjIOygnCA27KGw4oCKLS0t4oCKRU9TIOu4lOuhneyytOyduCDsnKDsp4AKCmVvc2lvLnByb2Rz64qUIOuqqOuToCDquLDriqUsIOy1nOygge2ZlCwg6re466as6rOgIOyXheq3uOugiOydtOuTnOydmCDtmITsnqzsmYAg66+4656Y7J2YIOuqqOuToCDsiJjsoJXsgqztla3snYQg6rWs7ZiE7ZWY64qUIOqyg+ydhCDtj6ztlajtlZjrkJgsIOydtOyXkCDqta3tlZzrkJjsp4Ag7JWK64qUIO2ZnOyEse2ZlOuQnCDruJTroZ3ssrTsnbgg7L2U65Oc67Kg7J207Iqk66W8IOycoOyngO2VqeuLiOuLpAoKIyMg7KCcIDfsobDigIotLS3igIrrhKTtirjsm4ztgawg7J6Q6riICgrrhKTtirjsm4ztgawg7J6Q6riIIOqzhOygleyXkCDtj6ztlajrkJwg7Yag7YGw7J2YIOyDge2DnOulvCDrs4Dqsr3tlZjqsbDrgpgsIOuEpO2KuOybjO2BrCDsnpDquIjsnZgg67Cw67aELCDsnbTtloksIOuYkOuKlCDrsLDtj6zrpbwg7KeBL+qwhOygkeyggeycvOuhnCDqtIDrpqztlZjripQg6riw7KG0IOy9lOuTnOulvCDrs4Dqsr3tlZjripQg6rK97Jqw7JeQ64qUIGVvc2lvLnByb2Rz66W8IGVvc2lvLmZvcnVtIOy0nSDtiKztkZwg7Iuc7Iqk7YWcIOqzhOyVveyXkCDstpTqsIDtlZjsl6wg7IKs7KCE7JeQIOy2qeu2hO2VnCDshKTrqoXsnbQg7J2066Oo7Ja07KC47JW8IO2VqeuLiOuLpC4KCiMjIOygnCA47KGw4oCKLS0t4oCK6rOE7KCVIOyDneyEseydmCDsnpDsnKAKCu2YhOyerCwg65iQ64qUIOuvuOuemOydmCDsgqzsmqnsnpDripQg64uk66W4IOyCrOyaqeyekOydmCDtl4jqsIAg7JeG7J20IEVPUyDqs4TsoJXsnYQg66eM65OkIOyImCDsnojsirXri4jri6QuIGVvc2lvLnByb2Rz64qUIEVPUyDqs4TsoJXsl5Ag7J2Y7ZW0IOqzteycoOuQnCDsnKDtmqjtlZwg7ZeI6rCAIOyXhuydtOuKlCBFT1Mg7IKs7Jqp7J6QIOqzhOygleyXkCDsmIHtlqXsnYQg7KSEIOyImCDsl4bsirXri4jri6QuIGVvc2lvLnByb2Rz64qUIOq2jO2VnOydtCDqs7XsnKDrkJjripQgRU9TIOqzhOygleqzvCDqtIDroKjtlZjsl6wg64uk66W4IOyCrOyaqeyekOqwgCDsmpTssq3tlZwg66qo65OgIOyekeyXheyXkCDrjIDtlbQg7JqU6riI7J2EIOu2gOqzvO2VoCDsiJgg7J6I7Iq164uI64ukLgoKIyMg7KCcIDnsobDigIotLS3igIrsi6Dtg4Eg67aI6rCACgrsgqzsmqnsnpDripQgRU9TIO2GoO2BsOydmCDqsIDsuZjrpbwg65K367Cb7Lmo7ZWgIOyImCDsnojripQg7Iug7YOBIOuqqeyggeydhCDqsIDsoLjshJzripQg7JWI65Cp64uI64ukLiDsgqzsmqnsnpDripQgRU9TIOyCrOyaqeyekCDrmJDripQgRU9TIOu4lOuhneyytOyduCBjaGFpbl9pZOulvCDrjIDtkZztlZjsl6wg64iE6rWs7JeQ6rKM64+EIOyekOyCsOydhCDrs7TsnKDtlZjqsbDrgpgsIOuMgOyXrO2VmOqxsOuCmCwg7J6Q7IKw7JeQIOuMgO2VtCDslpjquLDtlZjqsbDrgpgsIOqzhOyVveydhCDrp7rsnYQg6raM7ZWc7J2EIOu2gOyXrO2VoCDsiJgg7JeG7Iq164uI64ukLiBFT1Mg67iU66Gd7LK07J247JeQ64qUIOyGjOycoOyekCwg6rSA66as7J6QLCDqt7jrpqzqs6Ag7IiY7YOB7J6Q6rCAIOyXhuyWtOyVvCDtlanri4jri6QuCgojIyDsoJwgMTDsobDigIotLS3igIrsgqzsmqnsnpAg67O07JWICgrruYTqs7XqsJwg7YKk7J2YIOuztOq0gOydhCDtj6ztlajtlZjrkJgsIOydtOyXkCDqta3tlZzrkJjsp4Ag7JWK64qUIOqwnOyduCDqs4Tsoowg67O07JWI6rO8IOq0gOugqOuQnCDrqqjrk6Ag7ZWt66qp65OkIOuYkO2VnCDsoITsoIHsnLzroZwg7IKs7Jqp7J6Q6rCAIOyViOyghO2VmOqyjCDrs7TqtIDtlbTslbwg7ZWp64uI64ukLgoKIyMg7KCcIDEx7KGw4oCKLS0t4oCKZW9zaW8ucHJvZHMg7Jyg7ZWc7LGF7J6ECgrsgqzsmqnsnpDripQg67KV66Wg7J20IO2XiOyaqe2VmOuKlCDtlZzrj4Qg64K07JeQ7IScIEVPUyDthqDtgbDsnZgg7JyE7ZeYLCDsgqzsmqksIOuYkOuKlCDsgqzsmqkg67aI6rCA66GcIOyduO2VtCDrsJzsg53tlZjripQg66qo65OgIOyGkO2VtOyXkCDrjIDtlbQg7LGF7J6E7J2YIOuptOyxhSDsobDtla3snbQg7KCB7Jqp65Cc64uk64qUIOqyg+ydhCDsnbjsoJXtlZjqs6AsIOuPmeydmO2VqeuLiOuLpC4g6rOE7JW9IOychOuwmCwg67aI67KVIO2WieychCwg6re466as6rOgIOychOuwmCDtlonsnIQgKOq0gOumrCDtg5zrp4wg7Y+s7ZWoKeyZgCBlb3Npby5wcm9kcyDrmJDripQg7J2066W8IOyatOyYge2VmOuKlCDqsJzrs4Qg7IKs7JqpIOq2jO2VnOydhCDtj6ztlajtlZjrkJgsIOydtOyXkCDqta3tlZztlZjsp4Ag7JWK6rOgIOuqqOuToCDqtIDtlaAg7KeA7Jet7JeQ7ISc7J2YIOuqqOuToCDsooXrpZjsnZgg7IKs7Jyg66GcIOyduO2VnCBFT1Mg67iU66Gd7LK07J24IGNoYWluX2lkIOydtOydtSwg7JiB7JeF6raMLCDrmJDripQg642w7J207YSw7J2YIOyGkOyLpOydhCDtj6ztlajtlZjsl6wg6rCE7KCR7KCBLCDsmrDrsJzsoIEsIO2KueyImO2VnCwg64yA7ZGc7KCBLCDqt7jrpqzqs6Ag7YyM7IOd7KCB7J24IOyGkO2VtOyXkCDrjIDtlZwg7LGF7J6E7J2EIOyngOyngCDslYrsirXri4jri6QuCgojIEVPU+eUqOaIt+WNj+iurgoKIyMgKirlrprkuYkqKgoKRU9T55So5oi35Y2P6K6u5Lit55qE5omA5pyJ5aSn5YaZ77yM5pac5L2T5oiW5YaF6IGU5Luj56CB5pyv6K+t5bCG5YW35pyJ5LiO5Lul5LiL5a6a5LmJ55u45ZCM55qE5pWI5p6c5ZKM5ZCr5LmJ44CCCgotIEVPU+eUqOaIt+WNj+iuru+8muWNs+acrOaWh+aho++8iEVVQe+8iQoKLSDpk77kuIpJRDogY2hhaW5faWQgLSBhY2EzNzZmMjA2YjhmYzI1YTZlZDQ0ZGJkYzY2NTQ3YzM2YzZjMzNlM2ExMTlmZmJlYWVmOTQzNjQyZjBlOTA2CgotIOeUqOaIt++8muS7u+aEj+a7oei2s+S4i+WIl+imgeaxgueahOS4quS6uuaIlue7hOe7h++8muebtOaOpeaIluiAhemXtOaOpeaLpeaciUVPU+i0puaIt+aIluS4jkVPU+i0puaIt+WFs+iBlOeahOWfuuS6jkVPU+WPkeihjOeahOi0ouS6p+OAggoKLSDmiYDmnInmnYPvvJrnm7TmjqXmiJbogIXpl7TmjqXpgJrov4fkuIDkuKrmiJblpJrkuKrmnInmlYjnmoTmnYPpmZDmo4Dmn6Xorr/pl67kuIDkuKpFT1PotKbmiLfjgILmiYDmnInmnYPlj6/ku6XpgJrov4flpJrnrb7mnYPpmZDorrjlj6/lnKjnlKjmiLfpl7TlhbHkuqvjgIIKCi0g5omn6KGM5LqGcmVncHJvZHVjZe+8jOW5tuS4lOS7jmVvc2lvLnZwYXnpooblj5bmlLblhaXnmoTnlKjmiLfjgIIKCi0gZW9zaW8ucHJvZHM65YW35pyJ5Yqo5oCB5p2D6ZmQ57uT5p6E55qERU9T5biQ5oi377yM5b2TMTUvMjEgQmxvY2sgUHJvZHVjZXJz5ZCM5oSP5pe277yM6K+l5biQ5oi35Y+v5Lul5om/5ouFZW9zaW/luJDmiLfnmoTmnYPpmZDjgIIKCi0g572R57uc6LWE5Lqn77ya5YyF5ZCr5Zyo5Lul5LiL6LSm5oi35Lit55qE5Luj5biB77yaZW9zaW8ubmFtZXPjgIFlb3Npby5yYW1mZWXjgIEgIGVvc2lvLnNhdmluZ+OAggoKLSDmsrvnkIbmlofmoaPvvJpyZWdwcm9kdWNlcuaYr+ayu+eQhuaWh+aho+OAggoKLSDku7vkvZXkuqTmmJPjgIHmmbrog73lkIjnuqbmiJbogIXmnY7lmInlm77lkIjnuqbvvIzlroPku6zlt7Lnu4/kvY3kuo7kuIDkuKrljLrlnZfkuK3vvIzlubbkuJTov5nkuKrljLrlnZfmmK/kuI3lj6/pgIbovaznmoTjgIHlt7LpmYTliqDliLDlkI3kuLpjaGFpbl9pZOeahEVPU+WMuuWdl+mTvuS4reOAggoKLSDln7rkuo5FT1PotYTkuqfvvJrku7vkvZXpnIDopoHmnInmlYjorrjlj6/mnaXmk43kvZzjgIHmlLnlj5jjgIHovaznp7vjgIHlvbHlk43miJbogIXov5vooYzlhbbku5bmk43kvZznmoTkuJzopb/jgIIKCi0g5omn6KGM77ya5Zyo5ZCN5Li6Y2hhaW5faWTnmoRFT1PljLrlnZfpk77kuK3mj5DkuqTkuIDkuKrooYzliqjjgIIKCi0g5o6I5p2D5ZKM5p2D6ZmQ77ya5p2D6ZmQ77yIUGVybWlzc2lvbnPvvInmmK/nlKjmnaXlrprkuYnku6Pooajor6XmnYPpmZDlj5HpgIHnmoTkuqTmmJPnmoTopoHmsYLnmoTku7vmhI/lkI3lrZfjgILlj6/ku6Xnu5nnibnlrprnmoTlkIjnuqbmk43kvZznmoTmjojmnYPvvIhBdXRob3JpemF0aW9uc++8ieWIhumFjeadg+mZkO+8iFBlcm1pc3Npb25z77yJ44CCCgotIOadjuWYieWbvuWQiOe6pu+8muWwhuazleW+i+WNj+iuruS4reeahOWumuS5ieimgee0oOS7peiDveWcqOi9r+S7tuS4reihqOi+vuWSjOaJp+ihjOeahOagvOW8j+ihqOi+vueahOWQiOe6puOAggoKIyMgKirmnaHmrL7kuIAqKioq55SoKioqKuaIt+mjjumZqeehruiupCoqCgrlpoLmnpznlKjmiLfkuKLlpLHotKbmiLforr/pl67mnYPpmZDmiJbogIXmsqHmnInph4flj5blkIjpgILnmoTmlrnlvI/kv53miqTotKbmiLforr/pl67mnYPpmZDvvIznlKjmiLflupTnn6XmgonlubblkIzmhI/vvIxFT1PotKbmiLflsIbml6Dms5Xorr/pl67jgILnlKjmiLflupTnoa7orqTnlKjmiLflr7nliqDlr4bku6PluIHlkozljLrlnZfpk77ova/ku7bnmoTpo47pmanjgIHnlKjms5XlkozlpI3mnYLmgKfmnInlhYXliIbkuobop6PjgILnlKjmiLfmib/orqTlubblkIzmhI/nlKjmiLfoh6rooYzmib/mi4Xkvb/nlKhFT1PljLrlnZfpk77nmoTpo47pmanjgIIKCiMjICoq5p2h5qy+5LqMKioqKueJueauiueUqCoqKirmiLfnsbvlnosqKgoK5omn6KGMcmVncHJvZHVjZe+8jOWQjOaEj+W5tuS4lOWPl3JlZ3Byb2R1Y2Vy5p2O5ZiJ5Zu+5ZCI57qm57qm5p2f55qE55So5oi344CCCgojIyAqKuadoeasvuS4iSoqKirlkIzmhI8qKioqRU9TKioqKueUqCoqKirmiLfljY/orq4qKgoKRU9T55So5oi35Y2P6K6u55qE5a6e6LSo5piv5a+55b2T5YmNRU9T5Li7572R5rK755CG5Yqf6IO955qE5o+P6L+w44CC55Sx5Luj56CB5by65Yi25omn6KGM55qE5Yqf6IO95LiN6ZyA6KaB55So5oi355qE5ZCM5oSP77yM5Zug5Li66L+Z5Lqb5Yqf6IO95pivRU9T5Li7572R57O757uf6Ieq5bim55qE44CCCgojIyAqKuadoeasvuWbmyoqIC0gKirmsrvnkIbmlofmoaMqKgoKZW9zaW8ucHJvZHPlj6/ku6Xlr7lFT1PnlKjmiLfljY/orq7lkozmsrvnkIbmlofmoaPov5vooYzku7vkvZXkv67mlLnjgILkuKXmraPmj5DphpLvvIzmj5DliY3nlKhlb3Npby5mb3J1beWFrOaKleWQiOe6pu+8jOmAmui/h2Vvc2lvLnByb2Rz57yW5YaZ44CB5Y+R5biD5LiA5Liq5aOw5piO5p2l5o+P6L+w6YKj5Liq5L+u5pS544CCCgojIyAqKuadoeasvuS6lCoqKirljp/nlJ/ku7cqKioq5YC85Y2V5L2NKioKCkVPU+WFrOmTvuS4iueahOWOn+eUn+S7t+WAvOWNleS9jeW6lOS4umVvc2lvLnRva2Vu5pm66IO95ZCI57qm5a6a5LmJ5ZKM5Yib5bu655qERU9T6YCa6K+B44CCCgojIyAqKuadoeasvuWFrSoqKirnu7TmiqQqKioqRU9TKioqKuWMuioqKirlnZfpk74qKgoK5peg6K66546w5Zyo5oiW5bCG5p2l5bCG5p2l77yMZW9zaW8ucHJvZHPlsIbnu7TmiqTmtLvot4PnmoTljLrlnZfpk77ku6PnoIHlupPvvIzljIXmi6zkvYbkuI3pmZDkuo7miYDmnInlip/og73jgIHkvJjljJbjgIHljYfnuqfnmoTmiYDmnInkv67mlLnjgIHlrp7njrDjgIIKCiMjIOadoeasvuS4gyAtICoqKirlrpoqKioq5LmJKioqKkVPUyoqKirnvZHnu5zotYTkuqcKCuabtOaUuee9kee7nOi1hOS6p+i0puaIt+S4reeahOS7u+S9leS7o+W4geeahOeKtuaAge+8jOabtOaUueS7u+S9leeOsOWtmOeahOebtOaOpeaIlumXtOaOpeeuoeeQhuS7u+S9lee9kee7nOi1hOS6p+eahOWIhumFjeOAgeWunueOsOaIluWIhuWPkeeahOS7o+egge+8jOmcgOimgeS6i+WFiOeUqGVvc2lvLnByb2Rz5ZyoZW9zaW8uZm9ydW3lhazmipXlkIjnuqbkuIrnvJblhpnlkozlj5HluIPmlYjmnpzmj4/ov7DnmoTlo7DmmI7jgIIKCiMjICoq5p2h5qy+5YWrLeWIm+W7uui0puaIt+iHqueUsSoqCgrku7vkvZXnjrDlnKjmiJblsIbmnaXnmoTnlKjmiLfpg73lj6/ku6XlnKjmnKrnu4/ku7vkvZXlhbbku5bnlKjmiLforrjlj6/nmoTmg4XlhrXkuIvliJvlu7pFT1PluJDmiLfjgIIgIOWmguS9leayoeacieaUtuWIsEVPU+W4kOaIt+eahOacieaViOiuuOWPr++8iHBlcm1pc3Npb27vvInvvIxlb3Npby5wcm9kc+awuOi/nOS4jeS8muW9seWTjUVPU+eUqOaIt+W4kOaIt+OAgiAg5a+55LqO5YWx5Lqr5p2D6ZmQ55qERU9T5biQ5oi355qE5YW25LuW55So5oi36K+35rGC55qE5Lu75L2V5pON5L2c77yMZW9zaW8ucHJvZHPlj6/og73kvJrmlLblj5botLnnlKjjgIIKCiMjICoq5p2h5qy+5Lmd5rKh5pyJ5Y+X5omY5Lq6KioKCuayoeacieeUqOaIt+aJv+aLheS/oeaJmOi0o+S7u+adpee7tOaMgUVPU+S7o+W4geeahOS7t+WAvOOAguayoeacieeUqOaIt+WPr+S7peS7o+ihqEVPU+eUqOaIt+aIluiAheS7o+ihqOWQjeS4umNoYWluX0lE55qERU9T5Yy65Z2X6ZO+5o6I5p2D5Lu75L2V5Lq65YWx5ZCM5oyB5pyJ6LWE5Lqn44CB5YCf5qy+44CB5Y+R6KiA5oiW5a6a5ZCI5ZCM44CC5q2k5Yy65Z2X6ZO+5LiN5a2Y5Zyo5oul5pyJ6ICF44CB566h55CG6ICF5oiW6ICF5Y+X5omY5Lq644CCCgojIyAqKuadoeasvuWNgeS4quS6uuWuieWFqCoqCgrmiYDmnInmnInlhbPkuKrkurrotKbmiLflronlhajnmoTkuovpobnvvIzljIXmi6zkvYbkuI3pmZDkuo7np4HpkqXnmoTlronlhajkv53lrZjvvIzpg73nlLHnlKjmiLfoh6rlt7HotJ/otKPjgIIKCiMjICoq5p2h5qy+5Y2B5LiAIGVvc2lvLnByb2Rz55qE5pyJ6ZmQ6LSj5Lu7KioKCueUqOaIt+W6lOefpeaCieWSjOWQjOaEj++8jOWcqOS7u+S9lemAgueUqOazleW+i+WFgeiuuOeahOacgOWkp+iMg+WbtOWGhe+8jOacrOWFjei0o+WjsOaYjumAgueUqOS6juS4jkVPU+S7o+W4gemjjumZqe+8jOS9v+eUqOaIluaXoOazleS9v+eUqEVPU+S7o+W4geacieWFs+aIluWvvOiHtOeahOS7u+S9leaIluaJgOacieaNn+Wus+aIluS8pOWus++8jOS5n+mAgueUqOS6juS7u+S9leWPuOazleeuoei+luWMuuWGheeahOS7u+S9leS7u+S9leihjOS4uuS4i+eahEVPU+WMuuWdl+mTvmNoYWluX2lk77yM5YyF5ous5L2G5LiN6ZmQ5LqO6L+d5Y+N5ouF5L+d44CB6L+d5Y+N5ZCI5ZCM5oiW5L615p2D6KGM5Li677yI5YyF5ous55aP5b+977yJ44CCZW9zaW8ucHJvZHPku6Xlj4rmk43kvZzlroPnmoTkuKrkurrmnYPpmZDlr7nkuo7ku7vkvZXpl7TmjqXnmoTvvIzlgbbnhLbnmoTvvIznibnmrornmoTvvIznpLrkvovmgKfnmoTmiJblkI7mnpzmgKfnmoTmjZ/lrrPvvIzljIXmi6zliKnmtqbmjZ/lpLHvvIzllYboqonmiJbmlbDmja7vvIzkuI3mib/mi4Xku7vkvZXotKPku7vjgIIWQmxvY2tQcm9kdWNlckFncmVlbWVudMZsIyMjIDEuIFRoZSBpbnRlbnQgb2YgcmVncHJvZHVjZXIKClRoZSBpbnRlbnQgb2YgdGhlIGByZWdwcm9kdWNlcmAgYWN0aW9uIGlzIHRvIHJlZ2lzdGVyIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYWN5LiBUaGlzIGNvbnRyYWN0IGlzIGNvbnNpZGVyZWQgYSBnb3Zlcm5pbmcgZG9jdW1lbnQgYXMgZGVmaW5lZCBieSB0aGUgRU9TIFVzZXIgQWdyZWVtZW50IChFVUEpLgoKcmVncHJvZHVjZXLsnZgg66qp7KCBCgpgcmVncHJvZHVjZXJgIOyekeyXheydmCDrqqnsoIHsnYAg67iU66Gd7IOd7IKw7J6QIOyehe2bhOuztCDrk7HroZ3snYQg7ZWY64qUIOqyg+yeheuLiOuLpC4g7J20IOqzhOyVveydgCBFT1Mg7IKs7Jqp7J6QIOqzhOyVveyEnCAoRVVBKeyXkCDsoJXsnZjrkJwg67CU7JmAIOqwmeydtCDqtIDrpqwg66y47ISc66GcIOqwhOyjvOuQqeuLiOuLpC4KCnJlZ3Byb2R1Y2VyIOeahOebrueahAoKYHJlZ3Byb2R1Y2VyYOaTjeS9nOeahOebrueahOaYr+azqOWGjOaIkOS4uuWHuuWdl+iKgueCueWAmemAieiAheOAguagueaNriBFT1Mg55So5oi35Y2P6K6uKEVVQSnnmoTlrprkuYnvvIzmnKzlkIjnuqblsZ7kuo7msrvnkIbmlofmnKwoZ292ZXJuaW5nIGRvY3VtZW50KQoKIyMjIDIuIE5vbWluYXRpb24KCkksIHt7IHByb2R1Y2VyIH19LCBoZXJlYnkgbm9taW5hdGUgbXlzZWxmIGZvciBjb25zaWRlcmF0aW9uIGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlLiBUaGlzIG5vbWluYXRpb24gaW5jbHVkZXMgYWdyZWVtZW50IHRvIHRoZSB0ZXJtcyBvZiB0aGlzIGNvbnRyYWN0IGJ5IG15IGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZSBlbnRpdHksIGluY2x1ZGluZyBhbGwgb2YgaXRzIHNoYXJlaG9sZGVycywgb3duZXJzLCBlbXBsb3llZXMsIHN0YWZmLCBtZW1iZXJzLCBhbmQgYW55IGluZGl2aWR1YWwgd29ya2luZyBpbiBvZmZpY2lhbCwgZGlyZWN0LCBvciBhZmZpbGlhdGVkIGNhcGFjaXR5IGZvciBteSBCbG9jayBQcm9kdWNlciBlbnRpdHkuCgrsp4DrqoUKCuuCmCwge3sgcHJvZHVjZXIgfX3ripQg67iU66Gd7ZSE66Gc65OA7IScIO2bhOuztOuhnCDqs6DroKTrkJjrj4TroZ0g7J6Q7Iug7J2EIOyngOuqhe2VqeuLiOuLpC4g7J20IOyngOuqheyXkOuKlCDruJTroZ3tlITroZzrk4DshJztmozsgqzsnZgg66qo65OgIOyjvOyjvCwg7IaM7Jyg7J6QLCDsp4Hsm5AsIOuppOuyhCwg7ZqM7JuQIOuwjyDqs7Xsi53snbjsm5AsIOyngeygkSDrmJDripQg6rOE7Je07IKs7JeQ7IScIOydvO2VmOuKlCDrqqjrk6Ag6rCc7J247J2EIO2PrO2VqO2VnCDruJTroZ3tlITroZzrk4DshJwg7ZqM7IKs6rCAIOqzhOyVvSDsobDqsbTsl5Ag64yA7ZW0IOuPmeydmO2VqOydhCDsnbjsoJXtlanri4jri6QuCgrmj5DlkI0KCuacrOS6uu+8jHt7IHByb2R1Y2VyIH1977yM54m55q2k5o+Q5ZCN5pys5Lq65Li65Ye65Z2X6IqC54K55YCZ6YCJ5Lq644CC5pys5o+Q5ZCN5YyF5ous5LqG5pys5Ye65Z2X6IqC54K55YCZ6YCJ5Lq65a6e5L2T5a+55pys5ZCI57qm5Lit5omA5pyJ5p2h5qy+55qE5piO56Gu5ZCM5oSP77yM5YyF5ZCr5YW25omA5pyJ6ICF44CB6ZuH5ZGY44CB5ZGY5bel44CB5oiQ5ZGY77yM5Lul5Y+K5Lu75L2V5Lul5q2j5byP5pa55byP44CB55u05o6l5oiW6ZmE5bGe5pa55byP5Li65pys5Ye65Z2X6IqC54K55a6e5L2T5bel5L2c55qE5Liq5Lq644CCCgojIyMgMy4gUmVzaWduYXRpb24gYW5kIFJlbW92YWwgZm9yIEluYWJpbGl0eSB0byBQZXJmb3JtIE9ibGlnYXRpb25zLgoKSWYgSSwge3sgcHJvZHVjZXIgfX0sIGFtIHVuYWJsZSB0byBwZXJmb3JtIGFueSBvZiB0aGUgb2JsaWdhdGlvbnMgc3RpcHVsYXRlZCBpbiB0aGlzIGNvbnRyYWN0LCBJIHdpbGwgcmVzaWduIG15IHBvc2l0aW9uIGJ5IGNhbGxpbmcgdGhlIGB1bnJlZ3Byb2RgIGFjdGlvbi4KCklmIEksIHt7IHByb2R1Y2VyIH19LCBmYWlsIHRvIHJlc2lnbiB3aGVuIHVuYWJsZSB0byBwZXJmb3JtIHNhaWQgb2JsaWdhdGlvbnMsIEkgdW5kZXJzdGFuZCB0aGF0IHByb2NlZHVyZXMgZW51bWVyYXRlZCBpbiB0aGlzIGNvbnRyYWN0IHNoYWxsIGJlIGVuYWN0ZWQuCgrsnZjrrLTsnZgg67aI7J207ZaJ7JeQIOuMgO2VnCDsgqzsnoQg67CPIOyyoO2ajAoKe3sgcHJvZHVjZXIgfX3qsIAg67O4IOqzhOyVveyEnOyXkCDrqoXsi5zrkJwg7J2Y66y066W8IOyImO2WiSDtlaAg7IiYIOyXhuuKlCDqsr3smrAsIOyDneyCsOyekCDtgqTrpbwgbnVsbCDroZwg7ZWo7Jy866Gc7I2oIOuzuOyduOydmCDsp4DsnITrpbwg7IKs7J6E7ZWp64uI64ukLgoK66eM7JW9IOuCtOqwgCB7e3Byb2R1Y2VyfX3snZgg7J2Y66y066W8IOydtO2WiSDtlaAg7IiYIOyXhuydhCDrlYwg7IKs7J6E7ZWY7KeAIOyViuuKlOuLpOuptCwg64KY64qUIOuzuCDqs4Tslb3sl5Ag7Je06rGw65CcIOygiOywqOqwgCDsp5HtlonrkKjsnYQg64+Z7J2Y7ZWp64uI64ukLgoK5Zug5LiN6IO95bGl6KGM5LmJ5Yqh6ICM6YCA5Ye65oiW6KKr5Y+W5raI5Ye65Z2X6LWE5qC8CgrlpoLmnpzmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOS4jeiDveWxpeihjOacrOWQiOe6puS4reaJgOinhOWumueahOaJgOacieS5ieWKoe+8jOaIkeWwhuS9v+eUqCBgdW5yZWdwcm9kYCDmk43kvZzmnaXoh6rmiJHpgIDlh7rvvIhyZXNpZ27vvInjgIIKCuWmguaenOaIkSB7eyBwcm9kdWNlciB9fSwg5Zyo5peg5rOV5bGl6KGM5LiK6L+w5LmJ5Yqh5pe25pyq6IO96YCA5Ye6KHJlc2lnbinvvIzmiJHnn6XmmZPmnKzlkIjnuqblsIbkvJrmjInnhafmiYDmnInliJfkuL7nmoTnqIvluo/lr7nmiJHlrp7ooYzliLboo4HmiJblpITnvZrnqIvluo/jgIIKCiMjIyA0LiBFT1MgQWNjb3VudHMKCkJsb2NrIFByb2R1Y2VycyBtYXkgbmV2ZXIgYWZmZWN0IGFuIGFjY291bnQgb24gdGhlIEVPUyBibG9ja2NoYWluLCBleGNlcHQgZm9yIHRoZSByZWFzb25zIHNwZWNpZmljYWxseSBjaXRlZCBpbiB0aGlzIGNvbnRyYWN0IHRoYXQgcGVydGFpbiB0byBCbG9jayBQcm9kdWNlciBhY2NvdW50cy4gVXNlciBhY2NvdW50cyBjYW4gb25seSBiZSBhZmZlY3RlZCBvbiB0aGUgYmFzaXMgb2YgQXJ0aWNsZSBWSUlJIGluIHRoZSBFT1MgVXNlciBBZ3JlZW1lbnQuCgpFT1Mg6rOE7KCVCgrruJTroZ3tlITroZzrk4DshJzripQg67O4IOqzhOyVveyXkOyEnCDtlbTri7ntlZjripQg67iU66Gd7ZSE66Gc65OA7ISc7J2YIOqzhOyglSDssKjri6jsl5Ag6rSA66Co7ZWY7JesIO2KueuzhO2eiCDslrjquIntlZwg7J207Jyg66W8IOygnOyZuO2VmOqzoOuKlCBFT1Mg67iU66Gd7LK07J247J2YIOqzhOygleyXkCDqsrDsvZQg7JiB7Zal7J2EIOuvuOy5mOyngCDslYrsirXri4jri6QuIOyCrOyaqeyekCDqs4TsoJXsnYAgRU9TIOyCrOyaqeyekCDqs4Tslb3shJzsnZggOOyhsOyXkCDqt7zqsbDtlaAg65WM66eMIOyYge2WpeydhCDrsJvsnYQg7IiYIOyeiOyKteuLiOuLpC4KCkVPUyDotKblj7cKCuWHuuWdl+iKgueCueawuOi/nOS4jeS8muWvuSBFT1Mg5Yy65Z2X6ZO+5LiK55qE5biQ5oi36YCg5oiQ5b2x5ZON77yM6Zmk6Z2e5piv5pys5ZCI57qm5Lit54m55Yir5o+Q5Yiw5LiO5Ye65Z2X6IqC54K55biQ5oi35pyJ5YWz55qE5Y6f5Zug44CC5Y+q5pyJ5Z+65LqOIEVPU+eUqOaIt+WNj+iuruS4reeahOesrOWFq+adoeeahOaDheW9ouS4i++8jOeUqOaIt+eahOi0puWPt+aJjeS8muWPl+WIsOW9seWTjS4KCiMjIyA1LiBQcm9kdWNlciBLZXkKCkksIHt7IHByb2R1Y2VyIH19LCB3aWxsIHNpZ24gYmxvY2tzIHdpdGgge3sgcHJvZHVjZXJfa2V5IH19CgpJZiBJLCB7eyBwcm9kdWNlciB9fSBzdXNwZWN0IG15IGtleSBoYXMgYmVlbiBjb21wcm9taXNlZCBJIHdpbGwgYWxlcnQgdGhlIG90aGVyIEJsb2NrIFByb2R1Y2VycyBpbW1lZGlhdGVseS4KCkksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IGFueSBhbmQgYWxsIGFjdGlvbnMgZXhlY3V0ZWQgd2l0aCBteSB7eyBwcm9kdWNlcl9rZXkgfX0gaXMgbXkgcmVzcG9uc2liaWxpdHksIHJlZ2FyZGxlc3Mgb2YgdGhlIGFjY291bnQgYmVpbmcgY29tcHJvbWlzZWQuCgrtlITroZzrk4DshJwg7YKkCgrrgpgsIHt7IHByb2R1Y2VyIH1964qUIHt7IHByb2R1Y2VyIF8ga2V5IH19IOuhnCDruJTroZ3sl5Ag7ISc66qFIO2VoCDqsoPsnoXri4jri6QuCuunjOyVvSDrgrQsIHt7cHJvZHVjZXJ9fSDqsIAg67O47J247J2YIO2CpOqwgCDshpDsg4HrkJjsl4jri6Tqs6Ag7J2Y7Ius65CY66m0IOymieyLnCDri6Trpbgg67iU66Gd7ZSE66Gc65OA7ISc7JeQ6rKMIOyVjOugpOykhCDqsoPsnoXri4jri6QuCuuCmCwge3twcm9kdWNlcn1964qUIEVPUyDruJTroZ3ssrTsnbjsl5DshJwg67O47J247J2YIOu4lOuhne2UhOuhnOuTgOyEnCDqs4TsoJXsnbQg7Iuk7ZaJ7ZWY64qUIOuqqOuToCDsnpHsl4Xsl5Ag64yA7ZW0LCDqs4TsoJUg7J207IOBIOycoOustOyZgCDqtIDroKgg7JeG7J20LCDssYXsnoTsnbQg7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4KCuWHuuWdl+iKgueCueWFrOmSpQoKIOaIkSwge3sgcHJvZHVjZXIgfX0sIOWwhuS9v+eUqCB7eyBwcm9kdWNlcl9rZXkgfX0g5a+55Yy65Z2X562+5ZCN44CCCuWmguaenOaIkSwge3sgcHJvZHVjZXIgfX0sIOaAgOeWkeaIkeeahOWvhumSpeW3suiiq+azhOmcsu+8jOaIkeWwhueri+WNs+mAmuefpeWFtuS7luiKgueCueOAggrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOaJv+iupOaIkeeahOWHuuWdl+iKgueCueW4kOaIt+WcqEVPU+WMuuWdl+mTvuS4iuaJgOaJp+ihjOeahOS7u+S9leaTjeS9nOmDveaYr+aIkeeahOi0o+S7u++8jOaXoOiuuuivpeW4kOaIt+aYr+WQpuiiq+ebl+OAggoKIyMjIDYuIEFQSSBFbmRwb2ludHMKCklmIEksIHt7IHByb2R1Y2VyIH19LCBxdWFsaWZ5IGZvciwgYW5kIGNob29zZSB0byBjbGFpbSByZXdhcmRzIGR1ZSB0byB2b3RlcyByZWNlaXZlZCwgYW5kL29yIGJsb2NrcyBwcm9kdWNlZCwgSSwge3sgcHJvZHVjZXIgfX0sIHdpbGwgcHJvdmlkZSBmdW5jdGlvbmluZyBhbmQgcXVlcnlhYmxlIHB1YmxpYyBQMlAgYW5kIEFQSSBlbmRwb2ludHMgdG8gbWFpbnRhaW4gc3luY2hyb25pemF0aW9uIHdpdGggdGhlIGJsb2NrY2hhaW4gYW5kIHN1Ym1pdCB0cmFuc2FjdGlvbnMgdG8gYmUgaW5jbHVkZWQuIEFQSSBlbmRwb2ludHMgbXVzdCBiZSB1cGRhdGVkIHRvIGEgcmVjZW50IGZ1bmN0aW9uYWwgdmVyc2lvbiB0aGF0IGRvZXMgbm90IGhhdmUga25vd24gc2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzLgoKSSwge3sgcHJvZHVjZXIgfX0sIGhlcmVieSBhY2tub3dsZWRnZSB0aGF0IGlmIEkgYW0gdW5hYmxlIHRvIGRvIHNvIHdpdGhpbiAzMCBtaW51dGVzIG9mIGJlaW5nIGFsZXJ0ZWQgYnkgYW5vdGhlciBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUsIEkgY2FuIGJlIHJlbW92ZWQgYnkgdXNlIG9mIHRoZSBgcm12cHJvZHVjZXJgIGFjdGlvbi4KCkFQSSDsl5Trk5ztj6zsnbjtirgKCuunjOyVvSDrgrQsIHt7IHByb2R1Y2VyIH19IOqwgCDtiKztkZzrpbwg67Cb7JWEIOu4lOuhnSDrs7Tsg4HsnYQg7LKt6rWs7ZWgIOyImCDsnojripQg7J6Q6rKp7J2EIOyWu+ycvOuptCwg64KYIHt7IHByb2R1Y2VyIH1964qUIOyekeuPmSDrsI8g7L+866asIOqwgOuKpe2VnCDqs7XqsJwgUDJQIOuwjyBBUEkg7JeU65Oc7Y+s7J247Yq466W8IOu4lOuhneyytOyduOqzvOydmCDrj5nquLDtmZQg67CPIO2KuOuenOyereyFmOydhCDsoJzstpztlaAg7IiYIOyeiOqyjCDsnKDsp4DqtIDrpqztlanri4jri6QuIEFQSSDsl5Trk5ztj6zsnbjtirjripQg7JWM66Ck7KeEIOuztOyViCDst6jslb3shLHsnbQg7JeG64qUIOy1nOyLoOuyhOyghOycvOuhnCDsl4XrjbDsnbTtirjtlbTslbwg7ZWp64uI64ukLgoK64KYLCB7eyBwcm9kdWNlciB9fSDripQg64uk66W4IGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZSDqsIAg6rK96rOgIOKAi+KAi+2VnCDtm4QsIDMw67aEIOydtOuCtOyXkCDrsJTroZzsnqHsnYQg7IiYIOyXhuuLpOuptCBgcm12cHJvZHVjZXJgIOyhsOy5mOulvCDthrXtlbQg7J6Q6rKp7J20IOygnOqxsCDrkKAg7IiYIOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuCgpBUEkg56uv54K5CgrlpoLmnpzmiJHvvIx7eyBwcm9kdWNlciB9fSDnlLHkuo7lvpfliLDmipXnpajlkowv5oiW5Ye65Z2X55qE5Y6f5Zug77yM56ym5ZCI6aKG5Y+W5aWW5Yqx55qE5p2h5Lu25bm26YCJ5oup5o6l5Y+X5aWW5Yqx77yM6YKj5LmI5oiR77yMIHt7IHByb2R1Y2VyIH1977yM5bCG5o+Q5L6b5Yqf6IO95q2j5bi455qE5YWs5YWxIFAyUCDlkowgQVBJIOerr+eCueadpee7tOaKpOS4juWMuuWdl+mTvueahOWQjOatpe+8jOW5tuaPkOS6pOimgeaJk+WMheWFpeWdl+eahOS6i+WKoeOAgkFQSSDnq6/ngrnlv4Xpobvmm7TmlrDliLDmnIDmlrDnmoTlj6/nlKjniYjmnKzvvIzlubbkuJTor6XniYjmnKzmsqHmnInlt7Lnn6XnmoTlronlhajmvI/mtJ4KCuaIke+8jHt7cHJvZHVjZXJ9fe+8jOWcqOatpOehruiupO+8jOWmguaenOaIkeWcqOaUtuWIsOWPpuS4gOS4qiBibG9jayBwcm9kdWNlciBjYW5kaWRhdGXnmoTorablkYrlkI4zMOWIhumSn+WGheS7jeS4jeiDveespuWQiOS4iui/sOimgeaxgu+8jOWPr+S7peS9v+eUqGBybXZwcm9kdWNlcmDmk43kvZznp7vpmaTmiJHnmoTotKbmiLfjgIIKCiMjIyA3LiBFeGVjdXRpb24gdGltZQoKSSwge3sgcHJvZHVjZXIgfX0sIHdpbGwgZGVwbG95IGFuZCBydW4gbmV0d29yayBpbmZyYXN0cnVjdHVyZSBjYXBhYmxlIG9mIG1haW50YWluaW5nIDJtcyBvciBsZXNzIENQVSBleGVjdXRpb24gdGltZXMuCgpJLCB7eyBwcm9kdWNlciB9fSwgaGVyZWJ5IGFja25vd2xlZGdlIHRoYXQgaWYgSSBhbSB1bmFibGUgdG8gZG8gc28gd2l0aGluIDMwIG1pbnV0ZXMgb2YgYmVpbmcgYWxlcnRlZCBieSBhbm90aGVyIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZSwgSSBjYW4gYmUgcmVtb3ZlZCBieSB1c2Ugb2YgdGhlIGBybXZwcm9kdWNlcmAgYWN0aW9uLgoK7Iuk7ZaJIOyLnOqwhAoK64KYLCB7eyBwcm9kdWNlciB9feuKlCAybXMg65iQ64qUIOq3uCDsnbTtlZjsnZggQ1BVIOyLpO2WiSDsi5zqsITsnYQg7Jyg7KeA7ZWgIOyImCDsnojripQg64Sk7Yq47JuM7YGsIOyduO2UhOudvOulvCDrsLDtj6ztlZjqs6Ag7Iuk7ZaJ7ZWp64uI64ukLgoKIOuCmCwge3sgcHJvZHVjZXIgfX0g64qUIOuLpOuluCBibG9jayBwcm9kdWNlciBjYW5kaWRhdGXqsIAg6rK96rOgIOKAi+KAi+2VnCDtm4QsIDMw67aEIOydtOuCtOyXkCDrsJTroZzsnqHsnYQg7IiYIOyXhuuLpOuptCBgcm12cHJvZHVjZXJgIOyhsOy5mOulvCDthrXtlbQg7J6Q6rKp7J20IOygnOqxsCDrkKAg7IiYIOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuCgrmiafooYzml7bpl7QKCuaIke+8jCB7eyBwcm9kdWNlciB9fe+8jOWwhumDqOe9suWSjOi/kOihjOe9kee7nOWfuuehgOiuvuaWve+8jOiDveWkn+WwhiBDUFUg5omn6KGM5pe26Ze057u05oyB5ZyoIDJtcyDmiJbmm7TlsJHnmoTmsLTlubPjgIIKCuaIke+8jHt7IHByb2R1Y2VyIH1977yM5Zyo5q2k56Gu6K6k77yM5aaC5p6c5oiR5Zyo5pS25Yiw5Y+m5LiA5LiqYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRl55qE6K2m5ZGK5ZCOMzDliIbpkp/lhoXkuI3og73nrKblkIjkuIrov7DmnaHku7bvvIzlj6/ku6Xkvb/nlKggYHJtdnByb2R1Y2VyYCDmk43kvZzlsIbmiJHnp7vpmaTjgIIKCiMjIyA4LiBPcmRlcmluZwoKSSB7eyBwcm9kdWNlciB9fSBhZ3JlZSB0byBwcm9jZXNzIHRyYW5zYWN0aW9ucyBvbiBhIGZpcnN0LWluLWZpcnN0LW91dCAoRklGTykgYmFzaXMsIGFuZCBub3QgdG8gbWFuaXB1bGF0ZSB0aGUgY29udGVudHMgb2YgYmxvY2tzIGluIG9yZGVyIHRvIGRlcml2ZSBwcm9maXQgZnJvbSB0aGUgb3JkZXIgaW4gd2hpY2ggdHJhbnNhY3Rpb25zIGFyZSBpbmNsdWRlZDogdGhlIGhhc2ggb2YgdGhlIGJsb2NrIHRoYXQgaXMgcHJvZHVjZWQuCgrsg53sgrAK64KYLCB7eyBwcm9kdWNlciB9feuKlCDshKDsnoUg7ISg7Lac67KVIChGSUZPKSDrsKnsi53snLzroZwg6rGw656Y66W8IOyymOumrO2VmOqzoCDqsbDrnpjqsIAg67iU66Gd7J2YIO2VtOyLnOyXkCDtj6ztlajrkJjripQg7Iic7ISc7JeQ7IScIOydtOydteydhCDslrvsnLzroKTripQg66qp7KCB7Jy866GcIOyDneyCsO2VmOuKlCDruJTroZ3snZgg64K07Jqp7J2EIOyhsOyeke2VmOyngCDslYrquLDroZwg64+Z7J2Y7ZWp64uI64ukLgoK6aG65bqPCgrmiJHvvIwge3sgcHJvZHVjZXIgfX0g77yM5ZCM5oSP5qC55o2u5YWI6L+b5YWI5Ye6KEZJRk8p55qE5pa55byP5aSE55CG5LqL5Yqh77yM5bm25LiU57ud5LiN5Lya5Li65LqG54mf5Yip6ICM5Yip55So5Yy65Z2X5YaF5a6544CB5pON57q15Yy65Z2X5Lit5Lqk5piT5aSE55CG55qE6aG65bqP44CCCgojIyMgOS4gUmFuZG9tIFJvdGF0aW9uIG9mIFN0YW5kYnlzCgpJLCB7eyBwcm9kdWNlciB9fSwgYWdyZWUgdGhhdCBpZiBJIGFtIGluIGEgcGFpZCBzdGFuZGJ5IHBvc2l0aW9uLCBJIGNhbiBiZSByYW5kb21seSBjYWxsZWQgaW50byBhIHByb2R1Y2luZyBwb3NpdGlvbi4gVXBvbiBmYWlsdXJlIHRvIHByb2R1Y2UgYmxvY2tzLCBjb2RlIG1heSBzZWxmLWV4ZWN1dGUgcGVuYWx0aWVzIHJlZ2FyZGluZyBmdXR1cmUgdnBheSByZXdhcmRzLgoK7Jyg6riJIOuMgOq4sCDruJTroZ3tlITroZzrk4DshJzsnZgg66y07J6R7JyEIOuhnO2FjOydtOyFmAoK64KYLCB7eyBwcm9kdWNlciB9feuKlCDrs7jsnbjsnbQg7Jyg6riJIOuMgOq4sOyngeyXkCDsnojsnYQg65WMLCDrrLTsnpHsnITroZwg7IOd7IKw7KeB7Jy866GcIOu2gOumhCDrsJvsnYQg7IiYIOyeiOuLpOuKlCDqsoPsl5Ag64+Z7J2Y7ZWp64uI64ukLiDsnbTrlYwg67iU66Gd7J2EIOyDneyEse2VmOyngCDrqrvtlZjrqbQg7L2U65Oc64qUIO2Wpe2bhCB2cGF5IOuztOyDgeyXkCDrjIDtlZwg7LKY67KM7J2EIOynke2Wie2VoCDsiJgg7J6I7Iq164uI64ukLgoK5aSH6YCJ6IqC54K56ZqP5py66L2u5o2iCgrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOWQjOaEj+iLpeacrOiKgueCueWkhOS6juacieWBv+Wkh+mAieeKtuaAge+8jOWPr+iiq+maj+acuuiwg+WFpeWHuuWdl+eKtuaAgeOAguWmguaenOaIkeaXoOazleWHuuWdl++8jOWQiOe6puS7o+eggeWPr+iDveS8muiHquWKqOaJp+ihjOWwseacquadpeeahCB2cGF5IOaKpemFrOi/m+ihjOWkhOe9muOAggoKIyMjIDEwLiBNaXNzaW5nIFR3byBvciBNb3JlIFJvdW5kcyBvZiBCbG9ja3MKCkksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IGlmIGFmdGVyIG1pc3NpbmcgMiBvciBtb3JlIHJvdW5kcyBvZiBibG9ja3MgaW4gc3VjY2Vzc2lvbiBJIGFtIHVuYWJsZSB0byBiZSBjb250YWN0ZWQgd2l0aGluIDIwIG1pbnV0ZXMsIEksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IEkgbWF5IGJlIHJlbW92ZWQgZnJvbSBhIHByb2R1Y2luZyBwb3NpdGlvbiBieSB1c2Ugb2YgdGhlIGBybXZwcm9kdWNlcmAgYWN0aW9uLgoKSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgYWZ0ZXIgbWlzc2luZyB0d28gb3IgbW9yZSByb3VuZHMgb2YgYmxvY2tzIGluIHN1Y2Nlc3Npb24sIHN0YW5kYXJkIHByYWN0aWNlIHN0aXB1bGF0ZXMgcmVtb3ZpbmcgbXkgcHJvZHVjZXIgYnkgdXNpbmcgdGhlIGB1bnJlZ3Byb2RgIGFjdGlvbiB1bnRpbCB0aGUgZ2l2ZW4gaXNzdWUgaXMgcmVzb2x2ZWQuCgrrkZAg65287Jq065OcIOydtOyDgeydmCDruJTroZ0g64iE6529CgrrgpgsIHt7IHByb2R1Y2VyIH1964qUIOuRkCDrnbzsmrTrk5wg7J207IOBIOyXsOyGje2VmOyXrCDruJTroZ3snYQg64iE6529IO2VnCDtm4QsIDIw67aEIOydtOuCtOyXkCDsl7Drnb0g7ZWgIOyImCDsl4bri6TrqbQge3sgcHJvZHVjZXIgfX0g6rCAIGBybXZwcm9kdWNlcmAg7JWh7IWY7J2YIOyCrOyaqeuQmOyWtCDsg53sgrAg7JyE7LmY7JeQ7IScIOygnOqxsCDrkKAg7IiYIOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuCgp7eyBwcm9kdWNlciB9feuKlCDrkZAg65287Jq065OcIOydtOyDgeycvOuhnCDruJTroZ3snYQg7Jew7IaN7KCB7Jy866GcIOuIhOudve2VnOuLpOuptCwg7KO87Ja07KeEIOusuOygnOqwgCDtlbTqsrAg65CgIOuVjOq5jOyngCBgdW5yZWdwcm9kYCDsnpHsl4XsnYQg7IKs7Jqp7ZWY7JesIOuzuOyduOydtCDsg53sgrAg7JyE7LmY7JeQ7IScIOygnOqxsOuQqOydtCDtkZzspIAg6rSA7ZaJ7Jy866GcIOq3nOygleuQmOyWtCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLgoK5Lik6L2u5oiW5pu05aSa6L2u5Lii5Z2X55qE5oOF5b2iCgrmiJHvvIx7eyBwcm9kdWNlciB9fSwg56Gu6K6k5aaC5p6c6L+e57ut5Lik6L2u5oiW5pu05aSa6L2u5Lii5Z2X5LiU5peg5rOV5ZyoMjDliIbpkp/lhoXogZTns7vliLDmiJHvvIzmiJHvvIx7eyBwcm9kdWNlciB9fSwg5ZCM5oSP5Y+v6IO95Lya55SoIGBybXZwcm9kdWNlcmAg5pON5L2c5bCG5oiR56e76Zmk44CCCuaIke+8jHt7IHByb2R1Y2VyIH19LCDlpoLmnpzov57nu63kuKTova7miJbmm7TlpJrova7kuKLlnZfvvIzmoLnmja7moIflh4blrp7ot7XkvJrlj5HotbcgYHVucmVncHJvZGAg5pON5L2c5bCG5oiR56e76Zmk5Ye65Z2X6LWE5qC877yM55u05Yiw6Zeu6aKY6Kej5Yaz44CCCgojIyMgMTEuIFVyZ2VudCBTZWN1cml0eSBQYXRjaGVzCgpJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBpZiBJIGFtIG5vdCBhYmxlIHRvIGJlIGNvbnRhY3RlZCBpbiBhbnkgZm9ybSBhZnRlciBhbiB1cmdlbnQgc2VjdXJpdHkgcGF0Y2ggaXMgYW5ub3VuY2VkLCBJIG1heSBiZSByZW1vdmVkIGJ5IHVzZSBvZiB0aGUgYHJtdnByb2R1Y2VyYCBhY3Rpb24uCgrquLTquIkg67O07JWIIO2MqOy5mArquLTquIkg67O07JWIIO2MqOy5mOqwgCDrsJztkZwg65CcIO2bhCwg7Ja065akIO2Yle2DnOuhnOuToCDsl7Drnb0g7ZWgIOyImCDsl4bripQg6rK97JqwIGBybXZwcm9kdWNlcmAg7J6R7JeF7J2EIOyCrOyaqe2VmOyXrCDsoJzqsbAg65CgIOyImCDsnojsnYzsnYQg64KYLCB7eyBwcm9kdWNlciB9feuKlCDsnbjsoJXtlanri4jri6QuCgrntKfmgKXlronlhajooaXkuIEKCuaIke+8jHt7IHByb2R1Y2VyIH1977yM56Gu6K6k5aaC5p6c5Zyo57Sn5oCl5a6J5YWo6KGl5LiB5Y+R5biD5ZCO55So5Lu75L2V5pa55byP6YO95peg5rOV6IGU57O75Yiw5oiR77yM5Y+v6IO95Lya55SoIGBybXZwcm9kdWNlcmAg5oyH5Luk5bCG5oiR56e76Zmk44CCCgojIyMgMTIuIERpc2Nsb3N1cmUgb2YgRW50aXR5IGFuZCBTZXJ2ZXIgSW5mb3JtYXRpb24KCkksIHt7IHByb2R1Y2VyIH19LCBhdHRlc3QgdGhhdCBJIGhhdmUgZGlzY2xvc2VkIHRoZSBhcHByb3hpbWF0ZSBnZW9sb2NhdGlvbiBmb3IgbXkgbWFpbiBwcm9kdWN0aW9uIG5vZGUgYXMgYmVpbmcge3sgbG9jYXRpb24gfX0uCgrrspXsnbgg67CPIOyEnOuyhCDsoJXrs7TsnZgg6rO16rCcCgrrgpgsIHt7IHByb2R1Y2VyIH19IOuKlCDso7wg7IOd7IKwIOuFuOuTnOyXkCDrjIDtlZwg7JyE7LmYIOygleuztOulvCDqs7XqsJztlojsnYzsnYQg7Kad66qF7ZWp64uI64ukLgoK5a6e5L2T5ZKM5pyN5Yqh5Zmo55qE5L+h5oGv5oqr6ZyyCgrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOehruiupOaIkeW3sue7j+aKq+mcsuS6huS4u+WHuuWdl+iKgueCueacjeWKoeWZqOWcsOeQhuS9jee9rueahOWHhuehruS/oeaBr+OAguWFtuWcsOWdgOS4uiB7eyBsb2NhdGlvbiB9feOAggoKIyMjIDEzLiBFc3RhYmxpc2hlcyB0aGUgcGVuYWx0eSBhbmQgcHJvY2VkdXJlIGZvciB1bndpbGxpbmduZXNzIHRvIGNvbXBseSB3aXRoIHBlbmFsdGllcyBvciBwcm9jZWR1cmVzCgpJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBmYWlsaW5nIHRvIGNvbXBseSB3aXRoIHBlbmFsdGllcyBvciBwcm9jZWR1cmVzIGVuYWN0ZWQgYWdhaW5zdCBtZSB3aWxsIHJlc3VsdCBpbiBCbG9jayBQcm9kdWNlcnMgZXhlY3V0aW5nIHRoZSBgcm12cHJvZHVjZXJgIGNvbnRyYWN0IHRvIHJlbW92ZSBtZS4KCkksIHt7IHByb2R1Y2VyIH19LCB3aWxsIG5vdCBleGVjdXRlIHRoZSBgcmVncHJvZHVjZXJgIGNvbnRyYWN0IHVudGlsIHNlcnZpbmcgb3IgZnVsZmlsbGluZyB0aGUgcmVxdWlyZW1lbnRzIGZyb20gYSBwZW5hbHR5IG9yIHByb2NlZHVyZSB0aGF0IHJlc3VsdHMgaW4gaGF2aW5nIHRoZSBgcm12cHJvZHVjZXJgIGNvbnRyYWN0IGV4ZWN1dGVkIHRvIHJlbW92ZSBtZS4KCkksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IGlmIEkgY29udGludWUgdG8gY2FsbCB0aGUgYHJlZ3Byb2R1Y2VyYCBhY3Rpb24gd2l0aG91dCBzZXJ2aW5nIG9yIGZ1bGZpbGxpbmcgdGhlIHJlcXVpcmVtZW50cyBmcm9tIGJyZWFjaCBvZiBgcmVncHJvZHVjZXJgLCBteSBhY2NvdW50IGtleXMgYXNzb2NpYXRlZCB3aXRoIHRoZSByZWdpc3RlcmVkIEJsb2NrIFByb2R1Y2VyIGluIHF1ZXN0aW9uIG1heSBiZSBudWxsZWQgYnkgQmxvY2sgUHJvZHVjZXJzIGJ5IHVzaW5nIGBlb3Npby53cmFwYC4KCu2OmOuEkO2LsOulvCDspIDsiJjtlZjsp4Ag7JWK7J2EIOqyveyasCDrsozsuZkKCuuCmCwge3sgcHJvZHVjZXIgfX0g64qUIOuCmOyXkOqyjCDsoJzsnqzrkJwg7LKY67KM7J2EIOykgOyImO2VmOyngCDslYrsnLzrqbQg67iU66Gd7ZSE66Gc65OA7ISc65Ok7J20IGBybXZwcm9kdWNlcmAg6rOE7JW97J2EIOynke2Wie2VmOqyjCDrkKAg6rKD7J2065286rOgIOyduOygle2VqeuLiOuLpC4g64KYLCB7eyBwcm9kdWNlciB9fSDripQgYHJtdnByb2R1Y2VyYCDqs4Tslb3snbQg7KeR7ZaJ65Cc64uk66m0IOyalOq1rCDsgqztla3snYQg7Lap7KGx65CgIOuVjOq5jOyngCBgcmVncHJvZHVjZXJgIOqzhOyVveydhCDsnbTtlontlZjsp4Ag7JWK7J2EIOqyg+yeheuLiOuLpC4KYHJlZ3Byb2R1Y2VyYCDqs4Tslb0g7JyE67CY7Jy866GcIOyduO2VnCDsmpTqtawg7IKs7ZWt7J2EIOy2qeyhseyLnO2CpOyngCDslYrqs6AgYHJlZ3Byb2R1Y2VyYCDqs4Tslb3snYQg6rOE7IaNIO2YuOy2nO2VmOuptCDtlbTri7kg67iU66Gd7ZSE66Gc65OA7ISc7JmAIOq0gOugqOuQnCDqs4TsoJUg7YKk6rCAIGBlb3Npby53cmFwYCDsnYQg7IKs7Jqp7ZWY7JesIOu4lOuhne2UhOuhnOuTgOyEnOuTpOyXkCDsnZjtlbQg66y07Zqo7ZmUIOuQoCDsiJgg7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4KCuWvueS4jeaEv+mBteWuiOWkhOe9mueahOihjOS4uuS6iOS7peWkhOe9mgoK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIzmib/orqToi6XkuI3pgbXlrojlr7nmnKzkurrliLboo4HnmoTlpITnvZrvvIxCUCDlj6/ku6Xlrp7mlr0gYHJtdnByb2R1Y2VyYCDlkIjnuqbvvIzmiJHmjqXlj5fmipXnpajnmoTotYTmoLzlsIbooqvlj5bmtojjgILoi6XmnInpkojlr7nmiJHlrp7mlr0gYHJtdnByb2R1Y2VyYCDlkIjnuqbnmoTmg4XlhrXlj5HnlJ/vvIzmiJEsIHt7IHByb2R1Y2VyIH19IOWcqOmBteWuiC/lsaXooYzmiYDmlLbliLDnmoTlpITnvZrkuYvliY3vvIzkuI3kvJrlho3mrKHmiafooYwgYHJlZ3Byb2R1Y2VyYCDlkIjnuqbjgIIKCuaIke+8jHt7IHByb2R1Y2VyIH1977yM5Zyo5bGl6KGM5oOp572a56iL5bqP55qE6KaB5rGC5LmL5YmN77yM5LiN5Lya5omn6KGMIGByZWdwcm9kdWNlcmAg5ZCI5ZCM44CC5oiR55+l5pmT5aaC5LiN5bGl6KGM5q2k56iL5bqP77yMIGBybXZwcm9kdWNlcmAg5ZCI5ZCM5bCG5Lya5YaN5qyh5bCG5oiR56e76Zmk44CCCgrmiJEse3sgcHJvZHVjZXIgfX0sIOaJv+iupOWmguaenOayoeaciemBteWuiOaIluWxpeihjOWboOi/neWPjSBgcmVncHJvZHVjZXJgIOiAjOWPl+WIsOeahOaDqee9muimgeaxguWNtOe7p+e7reiwg+eUqGByZWdwcm9kdWNlcmDmk43kvZzvvIxCUCDlj6/ku6XosIPnlKggYGVvc2lvLndyYXBgIOWQiOe6puWwhuaIkeeUqOadpeazqOWGjOWHuuWdl+iKgueCueeahOi0puWPt+WvhumSpeiuvue9ruS4uuaXoOaViOWAvOOAggAAAiJ2YXJpYW50X2Jsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwARpibG9ja19zaWduaW5nX2F1dGhvcml0eV92MA92YXJpYW50X3YwX2RhdGEBB3YwX2RhdGELAAAAAEhzvT4UYWN0aW9uX3JldHVybl9idXlyYW0AwLz6SHO9PhRhY3Rpb25fcmV0dXJuX2J1eXJhbQCwyv5Ic70+FGFjdGlvbl9yZXR1cm5fYnV5cmFtAMCKCktzvT4UYWN0aW9uX3JldHVybl9idXlyYW2AokENm+anSgtjaGVja3N1bTI1NgAAAECam5djGWFjdGlvbl9yZXR1cm5fcmFtdHJhbnNmZXIAAABgXn2kuRlhY3Rpb25fcmV0dXJuX3JhbXRyYW5zZmVyAK5aeJqbpbkZYWN0aW9uX3JldHVybl9yYW10cmFuc2ZlcgAAAECaG6PCFWFjdGlvbl9yZXR1cm5fc2VsbHJhbQAAkObm5djUGWFjdGlvbl9yZXR1cm5fcmFtdHJhbnNmZXIAsFfwKlWzYhFnZXRwZWVya2V5c19yZXNfdA==\"}" } \ No newline at end of file diff --git a/test/data/6fcc0ace9b8565f3617baf26276c72490e8b03a1.json b/test/data/6fcc0ace9b8565f3617baf26276c72490e8b03a1.json new file mode 100644 index 0000000..1a6c448 --- /dev/null +++ b/test/data/6fcc0ace9b8565f3617baf26276c72490e8b03a1.json @@ -0,0 +1,57 @@ +{ + "request": { + "path": "https://jungle4.greymass.com/v1/resource_provider/request_transaction", + "params": { + "method": "POST", + "body": "{\"request\":\"esr://gmMsfmIRpc7x7DpLh8nvg-zz9VdvrLYRihbJ-mIxXW5CYY4vU7h6b-b3zYe-HbdmAAJGEMHwyiC04bJpTOxLHxfGABeOmwdLfR-DJSZsPMXRsHFiXKxa7ymQWgA\",\"signer\":{\"actor\":\"wharfkit1125\",\"permission\":\"test\"}}" + } + }, + "status": 200, + "json": { + "code": 200, + "data": { + "request": [ + "transaction", + { + "expiration": "2026-02-12T01:05:27", + "ref_block_num": 46071, + "ref_block_prefix": 1002960578, + "max_net_usage_words": 0, + "max_cpu_usage_ms": 0, + "delay_sec": 0, + "context_free_actions": [], + "actions": [ + { + "account": "greymassnoop", + "name": "noop", + "authorization": [ + { + "actor": "greymassfuel", + "permission": "cosign" + } + ], + "data": "" + }, + { + "account": "eosio", + "name": "claimrewards", + "authorization": [ + { + "actor": "wharfkit1125", + "permission": "test" + } + ], + "data": "80b1915e5d268dca" + } + ], + "transaction_extensions": [] + } + ], + "signatures": [ + "SIG_K1_K2JfY1zV4214Tv6QqSY8aQiikvqysy5xCi4eRPvM6KijjyVdTykA8sn2R6noermWWmua1NXxF9FiRho4YBmKAMF6XQnpTf" + ], + "version": null + } + }, + "text": "{\"code\":200,\"data\":{\"request\":[\"transaction\",{\"expiration\":\"2026-02-12T01:05:27\",\"ref_block_num\":46071,\"ref_block_prefix\":1002960578,\"max_net_usage_words\":0,\"max_cpu_usage_ms\":0,\"delay_sec\":0,\"context_free_actions\":[],\"actions\":[{\"account\":\"greymassnoop\",\"name\":\"noop\",\"authorization\":[{\"actor\":\"greymassfuel\",\"permission\":\"cosign\"}],\"data\":\"\"},{\"account\":\"eosio\",\"name\":\"claimrewards\",\"authorization\":[{\"actor\":\"wharfkit1125\",\"permission\":\"test\"}],\"data\":\"80b1915e5d268dca\"}],\"transaction_extensions\":[]}],\"signatures\":[\"SIG_K1_K2JfY1zV4214Tv6QqSY8aQiikvqysy5xCi4eRPvM6KijjyVdTykA8sn2R6noermWWmua1NXxF9FiRho4YBmKAMF6XQnpTf\"],\"version\":null}}" +} \ No newline at end of file diff --git a/test/data/750338c6437c6e0f3e0a67c8362a6c9839e5f6ea.json b/test/data/750338c6437c6e0f3e0a67c8362a6c9839e5f6ea.json deleted file mode 100644 index 8c95cb6..0000000 --- a/test/data/750338c6437c6e0f3e0a67c8362a6c9839e5f6ea.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/resource_provider/request_transaction", - "params": { - "method": "POST", - "body": "{\"ref\":\"unittest\",\"request\":\"esr://gmMsfmIRpc7x7DpLh8nvg-zz9VdvrLYRihbJ-mIxXW5CYY4vA8OyJhPmVwahDAwM4bo2Z88yCrhx3DxY6vuYAQQmbDxlARMAssE0IwMEsLj6B4No8fKMxKK07MwShcxihZKMVIWk1OISBRtjoBQA\",\"signer\":{\"actor\":\"wharfkit1131\",\"permission\":\"test\"}}" - } - }, - "status": 400, - "json": { - "code": 400, - "message": "Network resources not required by this account.", - "data": {} - }, - "text": "{\"code\":400,\"message\":\"Network resources not required by this account.\",\"data\":{}}" -} \ No newline at end of file diff --git a/test/data/a041de03f2a7ee6c133465c8c6b2b286704a5d8f.json b/test/data/a041de03f2a7ee6c133465c8c6b2b286704a5d8f.json index a8fe56f..2d0f351 100644 --- a/test/data/a041de03f2a7ee6c133465c8c6b2b286704a5d8f.json +++ b/test/data/a041de03f2a7ee6c133465c8c6b2b286704a5d8f.json @@ -8,26 +8,26 @@ }, "status": 200, "json": { - "server_version": "17b89a28", + "server_version": "13356212", "chain_id": "73e4385a2708e6d7048834fbc1079f2fabb17b3c125b146af438971e90716c4d", - "head_block_num": 155561452, - "last_irreversible_block_num": 155561117, - "last_irreversible_block_id": "0945ac9d18a40f0d9390f535992d51ccef16d98cefa47baec16bc7c68443e6b9", - "head_block_id": "0945adeca063d5b459e8ef6a905aa1c17c32f07af3a360e80bc3cf89efd4e06b", - "head_block_time": "2024-08-13T18:10:53.000", - "head_block_producer": "funnyhamster", + "head_block_num": 250000377, + "last_irreversible_block_num": 250000375, + "last_irreversible_block_id": "0ee6b3f7c50ae406c2f6c73b8bc0d5b8a6cdcb2ee6e5f508212457471697322f", + "head_block_id": "0ee6b3f979431d8159982a6c8752dedfc967bf0c4bac09afe9779ad7dbe6181a", + "head_block_time": "2026-02-12T01:03:27.000", + "head_block_producer": "ivote4eosusa", "virtual_block_cpu_limit": 200000000, "virtual_block_net_limit": 1048576000, "block_cpu_limit": 200000, "block_net_limit": 1048576, - "server_version_string": "v1.0.0-beta2.1", - "fork_db_head_block_num": 155561452, - "fork_db_head_block_id": "0945adeca063d5b459e8ef6a905aa1c17c32f07af3a360e80bc3cf89efd4e06b", - "server_full_version_string": "v1.0.0-beta2.1-17b89a28b525826db2986bc20106a6e8202b22a9", - "total_cpu_weight": "120573494453233", - "total_net_weight": "117542106831577", - "earliest_available_block_num": 155380105, - "last_irreversible_block_time": "2024-08-13T18:08:05.500" + "server_version_string": "v1.1.5", + "fork_db_head_block_num": 250000377, + "fork_db_head_block_id": "0ee6b3f979431d8159982a6c8752dedfc967bf0c4bac09afe9779ad7dbe6181a", + "server_full_version_string": "v1.1.5-13356212245054c35b1e1e7e20a9bd43ced48c4d", + "total_cpu_weight": "120571829921299", + "total_net_weight": "117540127482123", + "earliest_available_block_num": 249818828, + "last_irreversible_block_time": "2026-02-12T01:03:26.000" }, - "text": "{\"server_version\":\"17b89a28\",\"chain_id\":\"73e4385a2708e6d7048834fbc1079f2fabb17b3c125b146af438971e90716c4d\",\"head_block_num\":155561452,\"last_irreversible_block_num\":155561117,\"last_irreversible_block_id\":\"0945ac9d18a40f0d9390f535992d51ccef16d98cefa47baec16bc7c68443e6b9\",\"head_block_id\":\"0945adeca063d5b459e8ef6a905aa1c17c32f07af3a360e80bc3cf89efd4e06b\",\"head_block_time\":\"2024-08-13T18:10:53.000\",\"head_block_producer\":\"funnyhamster\",\"virtual_block_cpu_limit\":200000000,\"virtual_block_net_limit\":1048576000,\"block_cpu_limit\":200000,\"block_net_limit\":1048576,\"server_version_string\":\"v1.0.0-beta2.1\",\"fork_db_head_block_num\":155561452,\"fork_db_head_block_id\":\"0945adeca063d5b459e8ef6a905aa1c17c32f07af3a360e80bc3cf89efd4e06b\",\"server_full_version_string\":\"v1.0.0-beta2.1-17b89a28b525826db2986bc20106a6e8202b22a9\",\"total_cpu_weight\":\"120573494453233\",\"total_net_weight\":\"117542106831577\",\"earliest_available_block_num\":155380105,\"last_irreversible_block_time\":\"2024-08-13T18:08:05.500\"}" + "text": "{\"server_version\":\"13356212\",\"chain_id\":\"73e4385a2708e6d7048834fbc1079f2fabb17b3c125b146af438971e90716c4d\",\"head_block_num\":250000377,\"last_irreversible_block_num\":250000375,\"last_irreversible_block_id\":\"0ee6b3f7c50ae406c2f6c73b8bc0d5b8a6cdcb2ee6e5f508212457471697322f\",\"head_block_id\":\"0ee6b3f979431d8159982a6c8752dedfc967bf0c4bac09afe9779ad7dbe6181a\",\"head_block_time\":\"2026-02-12T01:03:27.000\",\"head_block_producer\":\"ivote4eosusa\",\"virtual_block_cpu_limit\":200000000,\"virtual_block_net_limit\":1048576000,\"block_cpu_limit\":200000,\"block_net_limit\":1048576,\"server_version_string\":\"v1.1.5\",\"fork_db_head_block_num\":250000377,\"fork_db_head_block_id\":\"0ee6b3f979431d8159982a6c8752dedfc967bf0c4bac09afe9779ad7dbe6181a\",\"server_full_version_string\":\"v1.1.5-13356212245054c35b1e1e7e20a9bd43ced48c4d\",\"total_cpu_weight\":\"120571829921299\",\"total_net_weight\":\"117540127482123\",\"earliest_available_block_num\":249818828,\"last_irreversible_block_time\":\"2026-02-12T01:03:26.000\"}" } \ No newline at end of file diff --git a/test/data/a187842e606d3b1cfcbe54cc187320c15c740c14.json b/test/data/a187842e606d3b1cfcbe54cc187320c15c740c14.json deleted file mode 100644 index b739cdf..0000000 --- a/test/data/a187842e606d3b1cfcbe54cc187320c15c740c14.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/resource_provider/request_transaction", - "params": { - "method": "POST", - "body": "{\"request\":\"esr://gmMsfmIRpc7x7DpLh8nvg-zz9VdvrLYRihbJ-mIxXW5CYY4vk-qi3Wlz10ye8NWUAQgYQQTDK4PQhsumMbEvfVwYA1w4bh4s9X0Mlpiw8RRHw8aJcbFqvadAagE\",\"signer\":{\"actor\":\"wharfkit1125\",\"permission\":\"test\"}}" - } - }, - "status": 400, - "json": { - "code": 400, - "message": "Unexpected error while processing request.", - "data": { - "error": "FetchError: request to http://jungle4.greymass.com/v1/chain/get_abi failed, reason: connect ETIMEDOUT 144.217.253.32:80", - "url": "/v1/resource_provider/request_transaction" - } - }, - "text": "{\"code\":400,\"message\":\"Unexpected error while processing request.\",\"data\":{\"error\":\"FetchError: request to http://jungle4.greymass.com/v1/chain/get_abi failed, reason: connect ETIMEDOUT 144.217.253.32:80\",\"url\":\"/v1/resource_provider/request_transaction\"}}" -} \ No newline at end of file diff --git a/test/data/a9f4566036d0cf934c312d5957f6e3cc4c819875.json b/test/data/a9f4566036d0cf934c312d5957f6e3cc4c819875.json deleted file mode 100644 index 4c12f19..0000000 --- a/test/data/a9f4566036d0cf934c312d5957f6e3cc4c819875.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/resource_provider/request_transaction", - "params": { - "method": "POST", - "body": "{\"request\":\"esr://gmNgZFJdtDtt7prJE76aMgABI4hgeGUQ2nDZNCb2pY8LY4ALx82Dpb6PwRITNp7iaNg4MS5WrfcUSC0A\",\"signer\":{\"actor\":\"wharfkit1125\",\"permission\":\"test\"}}" - } - }, - "status": 400, - "json": { - "code": 400, - "message": "Unexpected error while processing request.", - "data": { - "error": "FetchError: request to http://jungle4.greymass.com/v1/chain/get_abi failed, reason: connect ETIMEDOUT 144.217.253.32:80", - "url": "/v1/resource_provider/request_transaction" - } - }, - "text": "{\"code\":400,\"message\":\"Unexpected error while processing request.\",\"data\":{\"error\":\"FetchError: request to http://jungle4.greymass.com/v1/chain/get_abi failed, reason: connect ETIMEDOUT 144.217.253.32:80\",\"url\":\"/v1/resource_provider/request_transaction\"}}" -} \ No newline at end of file diff --git a/test/data/c777cc76e71ace7183688611fc515d1775900664.json b/test/data/c777cc76e71ace7183688611fc515d1775900664.json deleted file mode 100644 index 334b37a..0000000 --- a/test/data/c777cc76e71ace7183688611fc515d1775900664.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/resource_provider/request_transaction", - "params": { - "method": "POST", - "body": "{\"ref\":\"unittest\",\"request\":\"esr://gmNgZFJdtDtt7prJE76aMgABI4hgeGUQ2nDZNCb2pY8LY4ALx82Dpb6PwRITNp7iaNg4MS5WrfcUSC0A\",\"signer\":{\"actor\":\"wharfkit1125\",\"permission\":\"test\"}}" - } - }, - "status": 400, - "json": { - "code": 400, - "message": "Unable to process and sample transaction", - "data": { - "request": "esr://gmNgZFJdtDtt7prJE76aMgABI4hgeGUQ2nDZNCb2pY8LY4ALx82Dpb6PwRITNp7iaNg4MS5WrfcUSC0A", - "error": { - "path": "/v1/chain/compute_transaction", - "response": { - "headers": { - "access-control-allow-headers": "X-Requested-With,Accept,Content-Type,Origin", - "access-control-allow-methods": "GET, POST, OPTIONS", - "access-control-allow-origin": "*", - "connection": "close", - "content-length": "425", - "content-type": "application/json", - "date": "Tue, 13 Aug 2024 18:10:58 GMT", - "server": "nginx/1.18.0 (Ubuntu)" - }, - "status": 500, - "json": { - "code": 500, - "message": "Internal Service Error", - "error": { - "code": 3090005, - "name": "irrelevant_auth_exception", - "what": "Irrelevant authority included", - "details": [ - { - "message": "action declares irrelevant authority '{\"actor\":\"wharfkit1125\",\"permission\":\"test\"}'; minimum authority is {\"actor\":\"wharfkit1125\",\"permission\":\"active\"}", - "file": "authorization_manager.cpp", - "line_number": 527, - "method": "check_authorization" - } - ] - } - }, - "text": "{\"code\":500,\"message\":\"Internal Service Error\",\"error\":{\"code\":3090005,\"name\":\"irrelevant_auth_exception\",\"what\":\"Irrelevant authority included\",\"details\":[{\"message\":\"action declares irrelevant authority '{\\\"actor\\\":\\\"wharfkit1125\\\",\\\"permission\\\":\\\"test\\\"}'; minimum authority is {\\\"actor\\\":\\\"wharfkit1125\\\",\\\"permission\\\":\\\"active\\\"}\",\"file\":\"authorization_manager.cpp\",\"line_number\":527,\"method\":\"check_authorization\"}]}}" - } - } - } - }, - "text": "{\"code\":400,\"message\":\"Unable to process and sample transaction\",\"data\":{\"request\":\"esr://gmNgZFJdtDtt7prJE76aMgABI4hgeGUQ2nDZNCb2pY8LY4ALx82Dpb6PwRITNp7iaNg4MS5WrfcUSC0A\",\"error\":{\"path\":\"/v1/chain/compute_transaction\",\"response\":{\"headers\":{\"access-control-allow-headers\":\"X-Requested-With,Accept,Content-Type,Origin\",\"access-control-allow-methods\":\"GET, POST, OPTIONS\",\"access-control-allow-origin\":\"*\",\"connection\":\"close\",\"content-length\":\"425\",\"content-type\":\"application/json\",\"date\":\"Tue, 13 Aug 2024 18:10:58 GMT\",\"server\":\"nginx/1.18.0 (Ubuntu)\"},\"status\":500,\"json\":{\"code\":500,\"message\":\"Internal Service Error\",\"error\":{\"code\":3090005,\"name\":\"irrelevant_auth_exception\",\"what\":\"Irrelevant authority included\",\"details\":[{\"message\":\"action declares irrelevant authority '{\\\"actor\\\":\\\"wharfkit1125\\\",\\\"permission\\\":\\\"test\\\"}'; minimum authority is {\\\"actor\\\":\\\"wharfkit1125\\\",\\\"permission\\\":\\\"active\\\"}\",\"file\":\"authorization_manager.cpp\",\"line_number\":527,\"method\":\"check_authorization\"}]}},\"text\":\"{\\\"code\\\":500,\\\"message\\\":\\\"Internal Service Error\\\",\\\"error\\\":{\\\"code\\\":3090005,\\\"name\\\":\\\"irrelevant_auth_exception\\\",\\\"what\\\":\\\"Irrelevant authority included\\\",\\\"details\\\":[{\\\"message\\\":\\\"action declares irrelevant authority '{\\\\\\\"actor\\\\\\\":\\\\\\\"wharfkit1125\\\\\\\",\\\\\\\"permission\\\\\\\":\\\\\\\"test\\\\\\\"}'; minimum authority is {\\\\\\\"actor\\\\\\\":\\\\\\\"wharfkit1125\\\\\\\",\\\\\\\"permission\\\\\\\":\\\\\\\"active\\\\\\\"}\\\",\\\"file\\\":\\\"authorization_manager.cpp\\\",\\\"line_number\\\":527,\\\"method\\\":\\\"check_authorization\\\"}]}}\"}}}}" -} \ No newline at end of file diff --git a/test/data/d20a18f45ddab825975401b19c9d95b50fc9357a.json b/test/data/d20a18f45ddab825975401b19c9d95b50fc9357a.json deleted file mode 100644 index 580589a..0000000 --- a/test/data/d20a18f45ddab825975401b19c9d95b50fc9357a.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/resource_provider/request_transaction", - "params": { - "method": "POST", - "body": "{\"ref\":\"unittest\",\"request\":\"esr://gmMsfmIRpc7x7DpLh8nvg-zz9VdvrLYRihbJ-mIxXW5CYY4vk-qi3Wlz10ye8NWUAQgYQQTDK4PQhsumMbEvfVwYA1w4bh4s9X0Mlpiw8RRHw8aJcbFqvadAagE\",\"signer\":{\"actor\":\"wharfkit1125\",\"permission\":\"test\"}}" - } - }, - "status": 400, - "json": { - "code": 400, - "message": "Unable to process and sample transaction", - "data": { - "request": "esr://gmMsfmIRpc7x7DpLh8nvg-zz9VdvrLYRihbJ-mIxXW5CYY4vk-qi3Wlz10ye8NWUAQgYQQTDK4PQhsumMbEvfVwYA1w4bh4s9X0Mlpiw8RRHw8aJcbFqvadAagE", - "error": { - "path": "/v1/chain/compute_transaction", - "response": { - "headers": { - "access-control-allow-headers": "X-Requested-With,Accept,Content-Type,Origin", - "access-control-allow-methods": "GET, POST, OPTIONS", - "access-control-allow-origin": "*", - "connection": "close", - "content-length": "425", - "content-type": "application/json", - "date": "Tue, 13 Aug 2024 18:10:58 GMT", - "server": "nginx/1.18.0 (Ubuntu)" - }, - "status": 500, - "json": { - "code": 500, - "message": "Internal Service Error", - "error": { - "code": 3090005, - "name": "irrelevant_auth_exception", - "what": "Irrelevant authority included", - "details": [ - { - "message": "action declares irrelevant authority '{\"actor\":\"wharfkit1125\",\"permission\":\"test\"}'; minimum authority is {\"actor\":\"wharfkit1125\",\"permission\":\"active\"}", - "file": "authorization_manager.cpp", - "line_number": 527, - "method": "check_authorization" - } - ] - } - }, - "text": "{\"code\":500,\"message\":\"Internal Service Error\",\"error\":{\"code\":3090005,\"name\":\"irrelevant_auth_exception\",\"what\":\"Irrelevant authority included\",\"details\":[{\"message\":\"action declares irrelevant authority '{\\\"actor\\\":\\\"wharfkit1125\\\",\\\"permission\\\":\\\"test\\\"}'; minimum authority is {\\\"actor\\\":\\\"wharfkit1125\\\",\\\"permission\\\":\\\"active\\\"}\",\"file\":\"authorization_manager.cpp\",\"line_number\":527,\"method\":\"check_authorization\"}]}}" - } - } - } - }, - "text": "{\"code\":400,\"message\":\"Unable to process and sample transaction\",\"data\":{\"request\":\"esr://gmMsfmIRpc7x7DpLh8nvg-zz9VdvrLYRihbJ-mIxXW5CYY4vk-qi3Wlz10ye8NWUAQgYQQTDK4PQhsumMbEvfVwYA1w4bh4s9X0Mlpiw8RRHw8aJcbFqvadAagE\",\"error\":{\"path\":\"/v1/chain/compute_transaction\",\"response\":{\"headers\":{\"access-control-allow-headers\":\"X-Requested-With,Accept,Content-Type,Origin\",\"access-control-allow-methods\":\"GET, POST, OPTIONS\",\"access-control-allow-origin\":\"*\",\"connection\":\"close\",\"content-length\":\"425\",\"content-type\":\"application/json\",\"date\":\"Tue, 13 Aug 2024 18:10:58 GMT\",\"server\":\"nginx/1.18.0 (Ubuntu)\"},\"status\":500,\"json\":{\"code\":500,\"message\":\"Internal Service Error\",\"error\":{\"code\":3090005,\"name\":\"irrelevant_auth_exception\",\"what\":\"Irrelevant authority included\",\"details\":[{\"message\":\"action declares irrelevant authority '{\\\"actor\\\":\\\"wharfkit1125\\\",\\\"permission\\\":\\\"test\\\"}'; minimum authority is {\\\"actor\\\":\\\"wharfkit1125\\\",\\\"permission\\\":\\\"active\\\"}\",\"file\":\"authorization_manager.cpp\",\"line_number\":527,\"method\":\"check_authorization\"}]}},\"text\":\"{\\\"code\\\":500,\\\"message\\\":\\\"Internal Service Error\\\",\\\"error\\\":{\\\"code\\\":3090005,\\\"name\\\":\\\"irrelevant_auth_exception\\\",\\\"what\\\":\\\"Irrelevant authority included\\\",\\\"details\\\":[{\\\"message\\\":\\\"action declares irrelevant authority '{\\\\\\\"actor\\\\\\\":\\\\\\\"wharfkit1125\\\\\\\",\\\\\\\"permission\\\\\\\":\\\\\\\"test\\\\\\\"}'; minimum authority is {\\\\\\\"actor\\\\\\\":\\\\\\\"wharfkit1125\\\\\\\",\\\\\\\"permission\\\\\\\":\\\\\\\"active\\\\\\\"}\\\",\\\"file\\\":\\\"authorization_manager.cpp\\\",\\\"line_number\\\":527,\\\"method\\\":\\\"check_authorization\\\"}]}}\"}}}}" -} \ No newline at end of file diff --git a/test/data/4547ebc6ee899e3d2a2ab2d34747835102ce8749.json b/test/data/ddc90f97b300aa7a395d0a049a34569c8c145d45.json similarity index 70% rename from test/data/4547ebc6ee899e3d2a2ab2d34747835102ce8749.json rename to test/data/ddc90f97b300aa7a395d0a049a34569c8c145d45.json index 48bfb49..29bef3a 100644 --- a/test/data/4547ebc6ee899e3d2a2ab2d34747835102ce8749.json +++ b/test/data/ddc90f97b300aa7a395d0a049a34569c8c145d45.json @@ -1,26 +1,26 @@ { "request": { - "path": "https://jungle4.greymass.com/v1/chain/send_transaction", + "path": "https://jungle4.greymass.com/v1/chain/send_transaction2", "params": { "method": "POST", - "body": "{\"signatures\":[\"SIG_K1_KY852S6AqEh6EbDbvGWQJVEJNftepNsMv4QmYSt3eneXuJfmQ1dgBRCgeNMNjn4UrhNqDxEgQCCWyA4zpx8Sv2VzjN4ofP\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c535db43b6dee9ac913be9a323030300a4c8d93907e79359501040234e702851896359930bf3208050a84ebda9c3dcb28e0c471f360a9ef63b09a091b4f59c0041a364e8c8b55eb3d65c90a96626071f50f06d1e2e519894569d999250a99c50a2519a90a49a9c5250a36c60c0091d725e2\"}", + "body": "{\"return_failure_trace\":true,\"retry_trx\":false,\"retry_trx_num_blocks\":0,\"transaction\":{\"signatures\":[\"SIG_K1_K3dvsK1T6h843KKtDkN4Y7XhYCCFEAXeZ8HbjoXhTdhfqCNtJ3ynok5yQXRcSyJ6qTfrhW4f44NPQnXiiSKeNDE2wGuABh\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c0b57efcdfcbef9d0b7e3d60c0c0c8c0253e324a45f5e4d65008100cdb9402186654d26ccaf0c428102e1ba3667cf320a3871dc3c58eafb18ac66c2c653163081868d13e362d57a4f59b282a518585cfd8341b478794662515a7666894266b1424946aa42526a7189828d310300ba08263c\"}}", "headers": {} } }, "status": 202, "json": { - "transaction_id": "d185d7d577450312bb3b339c29cf27ae73dd71550dd7c1e8462e8a7770aae210", + "transaction_id": "894632267390b46fbcab7ddbe1ce8ba10b8d0b95cc5c4e3b550048e841b3fd3e", "processed": { - "id": "d185d7d577450312bb3b339c29cf27ae73dd71550dd7c1e8462e8a7770aae210", - "block_num": 155561469, - "block_time": "2024-08-13T18:11:01.500", + "id": "894632267390b46fbcab7ddbe1ce8ba10b8d0b95cc5c4e3b550048e841b3fd3e", + "block_num": 250000390, + "block_time": "2026-02-12T01:03:33.500", "producer_block_id": null, "receipt": { "status": "executed", - "cpu_usage_us": 163, + "cpu_usage_us": 159, "net_usage_words": 20 }, - "elapsed": 163, + "elapsed": 159, "net_usage": 160, "scheduled": false, "action_traces": [ @@ -31,8 +31,8 @@ "receipt": { "receiver": "greymassfuel", "act_digest": "12eba2f654e20e3eb922a51bf34dcaebd507680d36d95c46195e015d563a2c10", - "global_sequence": 216057436, - "recv_sequence": 107, + "global_sequence": 326018635, + "recv_sequence": 1959, "auth_sequence": [], "code_sequence": 0, "abi_sequence": 0 @@ -46,11 +46,11 @@ "hex_data": "" }, "context_free": true, - "elapsed": 22, + "elapsed": 9, "console": "", - "trx_id": "d185d7d577450312bb3b339c29cf27ae73dd71550dd7c1e8462e8a7770aae210", - "block_num": 155561469, - "block_time": "2024-08-13T18:11:01.500", + "trx_id": "894632267390b46fbcab7ddbe1ce8ba10b8d0b95cc5c4e3b550048e841b3fd3e", + "block_num": 250000390, + "block_time": "2026-02-12T01:03:33.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -64,12 +64,12 @@ "receipt": { "receiver": "eosio.token", "act_digest": "c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8", - "global_sequence": 216057437, - "recv_sequence": 8401130, + "global_sequence": 326018636, + "recv_sequence": 8610916, "auth_sequence": [ [ "wharfkit1111", - 2740 + 3091 ] ], "code_sequence": 4, @@ -94,11 +94,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33" }, "context_free": false, - "elapsed": 42, + "elapsed": 45, "console": "", - "trx_id": "d185d7d577450312bb3b339c29cf27ae73dd71550dd7c1e8462e8a7770aae210", - "block_num": 155561469, - "block_time": "2024-08-13T18:11:01.500", + "trx_id": "894632267390b46fbcab7ddbe1ce8ba10b8d0b95cc5c4e3b550048e841b3fd3e", + "block_num": 250000390, + "block_time": "2026-02-12T01:03:33.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -112,12 +112,12 @@ "receipt": { "receiver": "wharfkit1111", "act_digest": "c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8", - "global_sequence": 216057438, - "recv_sequence": 703, + "global_sequence": 326018637, + "recv_sequence": 822, "auth_sequence": [ [ "wharfkit1111", - 2741 + 3092 ] ], "code_sequence": 4, @@ -142,11 +142,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33" }, "context_free": false, - "elapsed": 4, + "elapsed": 3, "console": "", - "trx_id": "d185d7d577450312bb3b339c29cf27ae73dd71550dd7c1e8462e8a7770aae210", - "block_num": 155561469, - "block_time": "2024-08-13T18:11:01.500", + "trx_id": "894632267390b46fbcab7ddbe1ce8ba10b8d0b95cc5c4e3b550048e841b3fd3e", + "block_num": 250000390, + "block_time": "2026-02-12T01:03:33.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -160,12 +160,12 @@ "receipt": { "receiver": "teamgreymass", "act_digest": "c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8", - "global_sequence": 216057439, - "recv_sequence": 1458, + "global_sequence": 326018638, + "recv_sequence": 1725, "auth_sequence": [ [ "wharfkit1111", - 2742 + 3093 ] ], "code_sequence": 4, @@ -190,11 +190,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33" }, "context_free": false, - "elapsed": 7, + "elapsed": 5, "console": "", - "trx_id": "d185d7d577450312bb3b339c29cf27ae73dd71550dd7c1e8462e8a7770aae210", - "block_num": 155561469, - "block_time": "2024-08-13T18:11:01.500", + "trx_id": "894632267390b46fbcab7ddbe1ce8ba10b8d0b95cc5c4e3b550048e841b3fd3e", + "block_num": 250000390, + "block_time": "2026-02-12T01:03:33.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -207,5 +207,5 @@ "error_code": null } }, - "text": "{\"transaction_id\":\"d185d7d577450312bb3b339c29cf27ae73dd71550dd7c1e8462e8a7770aae210\",\"processed\":{\"id\":\"d185d7d577450312bb3b339c29cf27ae73dd71550dd7c1e8462e8a7770aae210\",\"block_num\":155561469,\"block_time\":\"2024-08-13T18:11:01.500\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":163,\"net_usage_words\":20},\"elapsed\":163,\"net_usage\":160,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"greymassfuel\",\"act_digest\":\"12eba2f654e20e3eb922a51bf34dcaebd507680d36d95c46195e015d563a2c10\",\"global_sequence\":216057436,\"recv_sequence\":107,\"auth_sequence\":[],\"code_sequence\":0,\"abi_sequence\":0},\"receiver\":\"greymassfuel\",\"act\":{\"account\":\"greymassfuel\",\"name\":\"noop\",\"authorization\":[],\"data\":\"\",\"hex_data\":\"\"},\"context_free\":true,\"elapsed\":22,\"console\":\"\",\"trx_id\":\"d185d7d577450312bb3b339c29cf27ae73dd71550dd7c1e8462e8a7770aae210\",\"block_num\":155561469,\"block_time\":\"2024-08-13T18:11:01.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8\",\"global_sequence\":216057437,\"recv_sequence\":8401130,\"auth_sequence\":[[\"wharfkit1111\",2740]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":42,\"console\":\"\",\"trx_id\":\"d185d7d577450312bb3b339c29cf27ae73dd71550dd7c1e8462e8a7770aae210\",\"block_num\":155561469,\"block_time\":\"2024-08-13T18:11:01.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":2,\"closest_unnotified_ancestor_action_ordinal\":2,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8\",\"global_sequence\":216057438,\"recv_sequence\":703,\"auth_sequence\":[[\"wharfkit1111\",2741]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":4,\"console\":\"\",\"trx_id\":\"d185d7d577450312bb3b339c29cf27ae73dd71550dd7c1e8462e8a7770aae210\",\"block_num\":155561469,\"block_time\":\"2024-08-13T18:11:01.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":4,\"creator_action_ordinal\":2,\"closest_unnotified_ancestor_action_ordinal\":2,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8\",\"global_sequence\":216057439,\"recv_sequence\":1458,\"auth_sequence\":[[\"wharfkit1111\",2742]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":7,\"console\":\"\",\"trx_id\":\"d185d7d577450312bb3b339c29cf27ae73dd71550dd7c1e8462e8a7770aae210\",\"block_num\":155561469,\"block_time\":\"2024-08-13T18:11:01.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" + "text": "{\"transaction_id\":\"894632267390b46fbcab7ddbe1ce8ba10b8d0b95cc5c4e3b550048e841b3fd3e\",\"processed\":{\"id\":\"894632267390b46fbcab7ddbe1ce8ba10b8d0b95cc5c4e3b550048e841b3fd3e\",\"block_num\":250000390,\"block_time\":\"2026-02-12T01:03:33.500\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":159,\"net_usage_words\":20},\"elapsed\":159,\"net_usage\":160,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"greymassfuel\",\"act_digest\":\"12eba2f654e20e3eb922a51bf34dcaebd507680d36d95c46195e015d563a2c10\",\"global_sequence\":326018635,\"recv_sequence\":1959,\"auth_sequence\":[],\"code_sequence\":0,\"abi_sequence\":0},\"receiver\":\"greymassfuel\",\"act\":{\"account\":\"greymassfuel\",\"name\":\"noop\",\"authorization\":[],\"data\":\"\",\"hex_data\":\"\"},\"context_free\":true,\"elapsed\":9,\"console\":\"\",\"trx_id\":\"894632267390b46fbcab7ddbe1ce8ba10b8d0b95cc5c4e3b550048e841b3fd3e\",\"block_num\":250000390,\"block_time\":\"2026-02-12T01:03:33.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8\",\"global_sequence\":326018636,\"recv_sequence\":8610916,\"auth_sequence\":[[\"wharfkit1111\",3091]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":45,\"console\":\"\",\"trx_id\":\"894632267390b46fbcab7ddbe1ce8ba10b8d0b95cc5c4e3b550048e841b3fd3e\",\"block_num\":250000390,\"block_time\":\"2026-02-12T01:03:33.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":2,\"closest_unnotified_ancestor_action_ordinal\":2,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8\",\"global_sequence\":326018637,\"recv_sequence\":822,\"auth_sequence\":[[\"wharfkit1111\",3092]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":3,\"console\":\"\",\"trx_id\":\"894632267390b46fbcab7ddbe1ce8ba10b8d0b95cc5c4e3b550048e841b3fd3e\",\"block_num\":250000390,\"block_time\":\"2026-02-12T01:03:33.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":4,\"creator_action_ordinal\":2,\"closest_unnotified_ancestor_action_ordinal\":2,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"c2f86a0c8286083bb52db5e87893c5c6d0873746cf099d82d97e216bec6cdcf8\",\"global_sequence\":326018638,\"recv_sequence\":1725,\"auth_sequence\":[[\"wharfkit1111\",3093]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"wharfkit is the best <3\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f53000000001777686172666b6974206973207468652062657374203c33\"},\"context_free\":false,\"elapsed\":5,\"console\":\"\",\"trx_id\":\"894632267390b46fbcab7ddbe1ce8ba10b8d0b95cc5c4e3b550048e841b3fd3e\",\"block_num\":250000390,\"block_time\":\"2026-02-12T01:03:33.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" } \ No newline at end of file diff --git a/test/data/2091a5dce7bfbb6ddb065768e480870883010c87.json b/test/data/de1ff0868c80abd93a2e3616f13af708270479f7.json similarity index 70% rename from test/data/2091a5dce7bfbb6ddb065768e480870883010c87.json rename to test/data/de1ff0868c80abd93a2e3616f13af708270479f7.json index cee42e6..cf26505 100644 --- a/test/data/2091a5dce7bfbb6ddb065768e480870883010c87.json +++ b/test/data/de1ff0868c80abd93a2e3616f13af708270479f7.json @@ -1,26 +1,26 @@ { "request": { - "path": "https://jungle4.greymass.com/v1/chain/send_transaction", + "path": "https://jungle4.greymass.com/v1/chain/send_transaction2", "params": { "method": "POST", - "body": "{\"signatures\":[\"SIG_K1_KZYU6KuxJTshYUjCR839pGQVU9s3CAkTSPHXw3AXepriuzFezPzctDE3UdksQh2x2VT6iVtMsjfuRaaVQAWgbGzCkhtvsh\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c535db43b6dee9ac913be9a32000123c3b22613e65706a14076b8aecdd9b38c024e1c370f96fa3e06c9324cd878ca0426d0b071625cac5aef294b56b014038bab7f3088162e492d2e51482aca4f4c494e04b24a8a4a531900df1420c3\"}", + "body": "{\"return_failure_trace\":true,\"retry_trx\":false,\"retry_trx_num_blocks\":0,\"transaction\":{\"signatures\":[\"SIG_K1_K8qc8dBi45mbFKWDkMX3rm6v4zJYnC8iLt2CE3Quwsp779AdPKGcJtVJiYuDeFr46oPJ4khw2hpe3VhZit6kFtq8P91DBH\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c0b57efcdfcbef9d0b7e3d60c40c0c8b0acc984f9954128901dae6b73f62ca38013c7cd83a5be8f41b20c13369e328109346c9c1817abd67bca92152cc5c0e2ea1f0ca2854b528b4b14928af21353921381ac92a2d2540600ff89211d\"}}", "headers": {} } }, "status": 202, "json": { - "transaction_id": "fe49bd5fb2fc269f2d3581b5d620fbcc47abb6e015265fbb352c8bd6a648b21c", + "transaction_id": "3985604e763dd3dcf559f1684230328250db30739bc5b261eb51e51c174e8c2a", "processed": { - "id": "fe49bd5fb2fc269f2d3581b5d620fbcc47abb6e015265fbb352c8bd6a648b21c", - "block_num": 155561458, - "block_time": "2024-08-13T18:10:56.000", + "id": "3985604e763dd3dcf559f1684230328250db30739bc5b261eb51e51c174e8c2a", + "block_num": 250000382, + "block_time": "2026-02-12T01:03:29.500", "producer_block_id": null, "receipt": { "status": "executed", - "cpu_usage_us": 133, + "cpu_usage_us": 157, "net_usage_words": 18 }, - "elapsed": 133, + "elapsed": 157, "net_usage": 144, "scheduled": false, "action_traces": [ @@ -31,12 +31,12 @@ "receipt": { "receiver": "eosio.token", "act_digest": "ae813a8f17a5804a9f5f2e75a883d7a624bcfbe73d7e72b06446822881cee0d7", - "global_sequence": 216057407, - "recv_sequence": 8401125, + "global_sequence": 326018604, + "recv_sequence": 8610911, "auth_sequence": [ [ "wharfkit1111", - 2727 + 3075 ] ], "code_sequence": 4, @@ -61,11 +61,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f530000000013746573742062726f6164636173742074727565" }, "context_free": false, - "elapsed": 44, + "elapsed": 55, "console": "", - "trx_id": "fe49bd5fb2fc269f2d3581b5d620fbcc47abb6e015265fbb352c8bd6a648b21c", - "block_num": 155561458, - "block_time": "2024-08-13T18:10:56.000", + "trx_id": "3985604e763dd3dcf559f1684230328250db30739bc5b261eb51e51c174e8c2a", + "block_num": 250000382, + "block_time": "2026-02-12T01:03:29.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -79,12 +79,12 @@ "receipt": { "receiver": "wharfkit1111", "act_digest": "ae813a8f17a5804a9f5f2e75a883d7a624bcfbe73d7e72b06446822881cee0d7", - "global_sequence": 216057408, - "recv_sequence": 699, + "global_sequence": 326018605, + "recv_sequence": 817, "auth_sequence": [ [ "wharfkit1111", - 2728 + 3076 ] ], "code_sequence": 4, @@ -109,11 +109,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f530000000013746573742062726f6164636173742074727565" }, "context_free": false, - "elapsed": 2, + "elapsed": 4, "console": "", - "trx_id": "fe49bd5fb2fc269f2d3581b5d620fbcc47abb6e015265fbb352c8bd6a648b21c", - "block_num": 155561458, - "block_time": "2024-08-13T18:10:56.000", + "trx_id": "3985604e763dd3dcf559f1684230328250db30739bc5b261eb51e51c174e8c2a", + "block_num": 250000382, + "block_time": "2026-02-12T01:03:29.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -127,12 +127,12 @@ "receipt": { "receiver": "teamgreymass", "act_digest": "ae813a8f17a5804a9f5f2e75a883d7a624bcfbe73d7e72b06446822881cee0d7", - "global_sequence": 216057409, - "recv_sequence": 1454, + "global_sequence": 326018606, + "recv_sequence": 1720, "auth_sequence": [ [ "wharfkit1111", - 2729 + 3077 ] ], "code_sequence": 4, @@ -159,9 +159,9 @@ "context_free": false, "elapsed": 5, "console": "", - "trx_id": "fe49bd5fb2fc269f2d3581b5d620fbcc47abb6e015265fbb352c8bd6a648b21c", - "block_num": 155561458, - "block_time": "2024-08-13T18:10:56.000", + "trx_id": "3985604e763dd3dcf559f1684230328250db30739bc5b261eb51e51c174e8c2a", + "block_num": 250000382, + "block_time": "2026-02-12T01:03:29.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -174,5 +174,5 @@ "error_code": null } }, - "text": "{\"transaction_id\":\"fe49bd5fb2fc269f2d3581b5d620fbcc47abb6e015265fbb352c8bd6a648b21c\",\"processed\":{\"id\":\"fe49bd5fb2fc269f2d3581b5d620fbcc47abb6e015265fbb352c8bd6a648b21c\",\"block_num\":155561458,\"block_time\":\"2024-08-13T18:10:56.000\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":133,\"net_usage_words\":18},\"elapsed\":133,\"net_usage\":144,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"ae813a8f17a5804a9f5f2e75a883d7a624bcfbe73d7e72b06446822881cee0d7\",\"global_sequence\":216057407,\"recv_sequence\":8401125,\"auth_sequence\":[[\"wharfkit1111\",2727]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"test broadcast true\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f530000000013746573742062726f6164636173742074727565\"},\"context_free\":false,\"elapsed\":44,\"console\":\"\",\"trx_id\":\"fe49bd5fb2fc269f2d3581b5d620fbcc47abb6e015265fbb352c8bd6a648b21c\",\"block_num\":155561458,\"block_time\":\"2024-08-13T18:10:56.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"ae813a8f17a5804a9f5f2e75a883d7a624bcfbe73d7e72b06446822881cee0d7\",\"global_sequence\":216057408,\"recv_sequence\":699,\"auth_sequence\":[[\"wharfkit1111\",2728]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"test broadcast true\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f530000000013746573742062726f6164636173742074727565\"},\"context_free\":false,\"elapsed\":2,\"console\":\"\",\"trx_id\":\"fe49bd5fb2fc269f2d3581b5d620fbcc47abb6e015265fbb352c8bd6a648b21c\",\"block_num\":155561458,\"block_time\":\"2024-08-13T18:10:56.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"ae813a8f17a5804a9f5f2e75a883d7a624bcfbe73d7e72b06446822881cee0d7\",\"global_sequence\":216057409,\"recv_sequence\":1454,\"auth_sequence\":[[\"wharfkit1111\",2729]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"test broadcast true\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f530000000013746573742062726f6164636173742074727565\"},\"context_free\":false,\"elapsed\":5,\"console\":\"\",\"trx_id\":\"fe49bd5fb2fc269f2d3581b5d620fbcc47abb6e015265fbb352c8bd6a648b21c\",\"block_num\":155561458,\"block_time\":\"2024-08-13T18:10:56.000\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" + "text": "{\"transaction_id\":\"3985604e763dd3dcf559f1684230328250db30739bc5b261eb51e51c174e8c2a\",\"processed\":{\"id\":\"3985604e763dd3dcf559f1684230328250db30739bc5b261eb51e51c174e8c2a\",\"block_num\":250000382,\"block_time\":\"2026-02-12T01:03:29.500\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":157,\"net_usage_words\":18},\"elapsed\":157,\"net_usage\":144,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"ae813a8f17a5804a9f5f2e75a883d7a624bcfbe73d7e72b06446822881cee0d7\",\"global_sequence\":326018604,\"recv_sequence\":8610911,\"auth_sequence\":[[\"wharfkit1111\",3075]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"test broadcast true\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f530000000013746573742062726f6164636173742074727565\"},\"context_free\":false,\"elapsed\":55,\"console\":\"\",\"trx_id\":\"3985604e763dd3dcf559f1684230328250db30739bc5b261eb51e51c174e8c2a\",\"block_num\":250000382,\"block_time\":\"2026-02-12T01:03:29.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"ae813a8f17a5804a9f5f2e75a883d7a624bcfbe73d7e72b06446822881cee0d7\",\"global_sequence\":326018605,\"recv_sequence\":817,\"auth_sequence\":[[\"wharfkit1111\",3076]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"test broadcast true\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f530000000013746573742062726f6164636173742074727565\"},\"context_free\":false,\"elapsed\":4,\"console\":\"\",\"trx_id\":\"3985604e763dd3dcf559f1684230328250db30739bc5b261eb51e51c174e8c2a\",\"block_num\":250000382,\"block_time\":\"2026-02-12T01:03:29.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"ae813a8f17a5804a9f5f2e75a883d7a624bcfbe73d7e72b06446822881cee0d7\",\"global_sequence\":326018606,\"recv_sequence\":1720,\"auth_sequence\":[[\"wharfkit1111\",3077]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"test broadcast true\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f530000000013746573742062726f6164636173742074727565\"},\"context_free\":false,\"elapsed\":5,\"console\":\"\",\"trx_id\":\"3985604e763dd3dcf559f1684230328250db30739bc5b261eb51e51c174e8c2a\",\"block_num\":250000382,\"block_time\":\"2026-02-12T01:03:29.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" } \ No newline at end of file diff --git a/test/data/e5cbbeb20fb62fa71120735e6a5f43e855eb3f63.json b/test/data/e5cbbeb20fb62fa71120735e6a5f43e855eb3f63.json index ca937d3..1303a3d 100644 --- a/test/data/e5cbbeb20fb62fa71120735e6a5f43e855eb3f63.json +++ b/test/data/e5cbbeb20fb62fa71120735e6a5f43e855eb3f63.json @@ -19,11 +19,11 @@ { "message": "unable to retrieve account abi (unknown key (eosio::chain::name): )", "file": "chain_plugin.cpp", - "line_number": 2380, + "line_number": 2416, "method": "get_raw_abi" } ] } }, - "text": "{\"code\":400,\"message\":\"Account lookup\",\"error\":{\"code\":3060002,\"name\":\"account_query_exception\",\"what\":\"Account Query Exception\",\"details\":[{\"message\":\"unable to retrieve account abi (unknown key (eosio::chain::name): )\",\"file\":\"chain_plugin.cpp\",\"line_number\":2380,\"method\":\"get_raw_abi\"}]}}" + "text": "{\"code\":400,\"message\":\"Account lookup\",\"error\":{\"code\":3060002,\"name\":\"account_query_exception\",\"what\":\"Account Query Exception\",\"details\":[{\"message\":\"unable to retrieve account abi (unknown key (eosio::chain::name): )\",\"file\":\"chain_plugin.cpp\",\"line_number\":2416,\"method\":\"get_raw_abi\"}]}}" } \ No newline at end of file diff --git a/test/data/7d46e485afdf932655d825d9065ddf38d1d238af.json b/test/data/ead7cc6653ea17b1a67549aae3d4c26aebbb360f.json similarity index 73% rename from test/data/7d46e485afdf932655d825d9065ddf38d1d238af.json rename to test/data/ead7cc6653ea17b1a67549aae3d4c26aebbb360f.json index 5d6e031..384a244 100644 --- a/test/data/7d46e485afdf932655d825d9065ddf38d1d238af.json +++ b/test/data/ead7cc6653ea17b1a67549aae3d4c26aebbb360f.json @@ -1,19 +1,19 @@ { "request": { - "path": "https://jungle4.greymass.com/v1/chain/send_transaction", + "path": "https://jungle4.greymass.com/v1/chain/send_transaction2", "params": { "method": "POST", - "body": "{\"signatures\":[\"SIG_K1_JzSrLRHzCdawJLhT7UtMPUa9JjetWT8J3iyLXt38hQ652LPfPnDTBnnYeMwXbrz7aaPP3AqkwmUWmG26ZZ4sm3jHp8UWzy\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c535db43b6dee9ac913be9a32000123c3b22613e65706a14076b8aecdd9b38c024e1c370f96fa3e06c9324cd878ca1c26d0b071625cac5aef294b56b014038bab7f3088162b492d2e51482aca4f4c494e04b25252d3124b734a1800451621ee\"}", + "body": "{\"return_failure_trace\":true,\"retry_trx\":false,\"retry_trx_num_blocks\":0,\"transaction\":{\"signatures\":[\"SIG_K1_K3JSye23FrgQY8BcC9YuAqSx1VbpGxte4UjVSKU69JouVaVCdaatSBbC1y26qJ8aUhpt1Dzuu84jV562vQMmBE3eYA7aFY\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789c0b57efcdfcbef9d0b7e3d60c40c0c8b0acc984f9954128901dae6b73f62ca38013c7cd83a5be8f41b20c13369e328709346c9c1817abd67bca92152cc5c0e2ea1f0ca2c54a528b4b14928af21353921381ac94d4b4c4d29c12060066992248\"}}", "headers": {} } }, "status": 202, "json": { - "transaction_id": "5e2577c33655a37b3f28589069bebfc299019f387400b89d0838071f96cda97f", + "transaction_id": "50ad5ef6617642405bbf0366f4f22a75a706026ee2f270b67983743286165a3e", "processed": { - "id": "5e2577c33655a37b3f28589069bebfc299019f387400b89d0838071f96cda97f", - "block_num": 155561457, - "block_time": "2024-08-13T18:10:55.500", + "id": "50ad5ef6617642405bbf0366f4f22a75a706026ee2f270b67983743286165a3e", + "block_num": 250000382, + "block_time": "2026-02-12T01:03:29.500", "producer_block_id": null, "receipt": { "status": "executed", @@ -31,12 +31,12 @@ "receipt": { "receiver": "eosio.token", "act_digest": "ec08c7a0a760e3bbaf8736fcf6c5b1d999a7d2d8295c052c0f4e1ae989403872", - "global_sequence": 216057403, - "recv_sequence": 8401124, + "global_sequence": 326018604, + "recv_sequence": 8610911, "auth_sequence": [ [ "wharfkit1111", - 2724 + 3075 ] ], "code_sequence": 4, @@ -63,9 +63,9 @@ "context_free": false, "elapsed": 47, "console": "", - "trx_id": "5e2577c33655a37b3f28589069bebfc299019f387400b89d0838071f96cda97f", - "block_num": 155561457, - "block_time": "2024-08-13T18:10:55.500", + "trx_id": "50ad5ef6617642405bbf0366f4f22a75a706026ee2f270b67983743286165a3e", + "block_num": 250000382, + "block_time": "2026-02-12T01:03:29.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -79,12 +79,12 @@ "receipt": { "receiver": "wharfkit1111", "act_digest": "ec08c7a0a760e3bbaf8736fcf6c5b1d999a7d2d8295c052c0f4e1ae989403872", - "global_sequence": 216057404, - "recv_sequence": 698, + "global_sequence": 326018605, + "recv_sequence": 817, "auth_sequence": [ [ "wharfkit1111", - 2725 + 3076 ] ], "code_sequence": 4, @@ -109,11 +109,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f530000000016746573742062726f6164636173742064656661756c74" }, "context_free": false, - "elapsed": 3, + "elapsed": 5, "console": "", - "trx_id": "5e2577c33655a37b3f28589069bebfc299019f387400b89d0838071f96cda97f", - "block_num": 155561457, - "block_time": "2024-08-13T18:10:55.500", + "trx_id": "50ad5ef6617642405bbf0366f4f22a75a706026ee2f270b67983743286165a3e", + "block_num": 250000382, + "block_time": "2026-02-12T01:03:29.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -127,12 +127,12 @@ "receipt": { "receiver": "teamgreymass", "act_digest": "ec08c7a0a760e3bbaf8736fcf6c5b1d999a7d2d8295c052c0f4e1ae989403872", - "global_sequence": 216057405, - "recv_sequence": 1453, + "global_sequence": 326018606, + "recv_sequence": 1720, "auth_sequence": [ [ "wharfkit1111", - 2726 + 3077 ] ], "code_sequence": 4, @@ -157,11 +157,11 @@ "hex_data": "104208d9c1754de380b1915e5d268dca390500000000000004454f530000000016746573742062726f6164636173742064656661756c74" }, "context_free": false, - "elapsed": 6, + "elapsed": 5, "console": "", - "trx_id": "5e2577c33655a37b3f28589069bebfc299019f387400b89d0838071f96cda97f", - "block_num": 155561457, - "block_time": "2024-08-13T18:10:55.500", + "trx_id": "50ad5ef6617642405bbf0366f4f22a75a706026ee2f270b67983743286165a3e", + "block_num": 250000382, + "block_time": "2026-02-12T01:03:29.500", "producer_block_id": null, "account_ram_deltas": [], "except": null, @@ -174,5 +174,5 @@ "error_code": null } }, - "text": "{\"transaction_id\":\"5e2577c33655a37b3f28589069bebfc299019f387400b89d0838071f96cda97f\",\"processed\":{\"id\":\"5e2577c33655a37b3f28589069bebfc299019f387400b89d0838071f96cda97f\",\"block_num\":155561457,\"block_time\":\"2024-08-13T18:10:55.500\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":153,\"net_usage_words\":18},\"elapsed\":153,\"net_usage\":144,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"ec08c7a0a760e3bbaf8736fcf6c5b1d999a7d2d8295c052c0f4e1ae989403872\",\"global_sequence\":216057403,\"recv_sequence\":8401124,\"auth_sequence\":[[\"wharfkit1111\",2724]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"test broadcast default\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f530000000016746573742062726f6164636173742064656661756c74\"},\"context_free\":false,\"elapsed\":47,\"console\":\"\",\"trx_id\":\"5e2577c33655a37b3f28589069bebfc299019f387400b89d0838071f96cda97f\",\"block_num\":155561457,\"block_time\":\"2024-08-13T18:10:55.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"ec08c7a0a760e3bbaf8736fcf6c5b1d999a7d2d8295c052c0f4e1ae989403872\",\"global_sequence\":216057404,\"recv_sequence\":698,\"auth_sequence\":[[\"wharfkit1111\",2725]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"test broadcast default\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f530000000016746573742062726f6164636173742064656661756c74\"},\"context_free\":false,\"elapsed\":3,\"console\":\"\",\"trx_id\":\"5e2577c33655a37b3f28589069bebfc299019f387400b89d0838071f96cda97f\",\"block_num\":155561457,\"block_time\":\"2024-08-13T18:10:55.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"ec08c7a0a760e3bbaf8736fcf6c5b1d999a7d2d8295c052c0f4e1ae989403872\",\"global_sequence\":216057405,\"recv_sequence\":1453,\"auth_sequence\":[[\"wharfkit1111\",2726]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"test broadcast default\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f530000000016746573742062726f6164636173742064656661756c74\"},\"context_free\":false,\"elapsed\":6,\"console\":\"\",\"trx_id\":\"5e2577c33655a37b3f28589069bebfc299019f387400b89d0838071f96cda97f\",\"block_num\":155561457,\"block_time\":\"2024-08-13T18:10:55.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" + "text": "{\"transaction_id\":\"50ad5ef6617642405bbf0366f4f22a75a706026ee2f270b67983743286165a3e\",\"processed\":{\"id\":\"50ad5ef6617642405bbf0366f4f22a75a706026ee2f270b67983743286165a3e\",\"block_num\":250000382,\"block_time\":\"2026-02-12T01:03:29.500\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":153,\"net_usage_words\":18},\"elapsed\":153,\"net_usage\":144,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio.token\",\"act_digest\":\"ec08c7a0a760e3bbaf8736fcf6c5b1d999a7d2d8295c052c0f4e1ae989403872\",\"global_sequence\":326018604,\"recv_sequence\":8610911,\"auth_sequence\":[[\"wharfkit1111\",3075]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"eosio.token\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"test broadcast default\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f530000000016746573742062726f6164636173742064656661756c74\"},\"context_free\":false,\"elapsed\":47,\"console\":\"\",\"trx_id\":\"50ad5ef6617642405bbf0366f4f22a75a706026ee2f270b67983743286165a3e\",\"block_num\":250000382,\"block_time\":\"2026-02-12T01:03:29.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":2,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"wharfkit1111\",\"act_digest\":\"ec08c7a0a760e3bbaf8736fcf6c5b1d999a7d2d8295c052c0f4e1ae989403872\",\"global_sequence\":326018605,\"recv_sequence\":817,\"auth_sequence\":[[\"wharfkit1111\",3076]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"wharfkit1111\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"test broadcast default\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f530000000016746573742062726f6164636173742064656661756c74\"},\"context_free\":false,\"elapsed\":5,\"console\":\"\",\"trx_id\":\"50ad5ef6617642405bbf0366f4f22a75a706026ee2f270b67983743286165a3e\",\"block_num\":250000382,\"block_time\":\"2026-02-12T01:03:29.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"},{\"action_ordinal\":3,\"creator_action_ordinal\":1,\"closest_unnotified_ancestor_action_ordinal\":1,\"receipt\":{\"receiver\":\"teamgreymass\",\"act_digest\":\"ec08c7a0a760e3bbaf8736fcf6c5b1d999a7d2d8295c052c0f4e1ae989403872\",\"global_sequence\":326018606,\"recv_sequence\":1720,\"auth_sequence\":[[\"wharfkit1111\",3077]],\"code_sequence\":4,\"abi_sequence\":5},\"receiver\":\"teamgreymass\",\"act\":{\"account\":\"eosio.token\",\"name\":\"transfer\",\"authorization\":[{\"actor\":\"wharfkit1111\",\"permission\":\"test\"}],\"data\":{\"from\":\"wharfkit1111\",\"to\":\"teamgreymass\",\"quantity\":\"0.1337 EOS\",\"memo\":\"test broadcast default\"},\"hex_data\":\"104208d9c1754de380b1915e5d268dca390500000000000004454f530000000016746573742062726f6164636173742064656661756c74\"},\"context_free\":false,\"elapsed\":5,\"console\":\"\",\"trx_id\":\"50ad5ef6617642405bbf0366f4f22a75a706026ee2f270b67983743286165a3e\",\"block_num\":250000382,\"block_time\":\"2026-02-12T01:03:29.500\",\"producer_block_id\":null,\"account_ram_deltas\":[],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" } \ No newline at end of file diff --git a/test/tests/kit.ts b/test/tests/kit.ts index f7da168..30cc54e 100644 --- a/test/tests/kit.ts +++ b/test/tests/kit.ts @@ -155,6 +155,59 @@ suite('kit', function () { ) }) }) + suite('awaitIrreversible', function () { + test('default', function () { + assert.equal(sessionKit.awaitIrreversible, false) + }) + test('override', function () { + const kit = new SessionKit(mockSessionKitArgs, { + ...mockSessionKitOptions, + awaitIrreversible: true, + }) + assert.equal(kit.awaitIrreversible, true) + }) + test('propagates to session via login', async function () { + const kit = new SessionKit(mockSessionKitArgs, { + ...mockSessionKitOptions, + awaitIrreversible: true, + }) + const {session} = await kit.login(defaultLoginOptions) + assert.equal(session.awaitIrreversible, true) + }) + test('propagates to session via restore', async function () { + const kit = new SessionKit(mockSessionKitArgs, { + ...mockSessionKitOptions, + awaitIrreversible: true, + }) + await kit.login(defaultLoginOptions) + const session = await kit.restore() + assert.isDefined(session) + assert.equal(session!.awaitIrreversible, true) + }) + }) + suite('broadcastOptions', function () { + test('default', function () { + assert.isUndefined(sessionKit.broadcastOptions) + }) + test('override', function () { + const kit = new SessionKit(mockSessionKitArgs, { + ...mockSessionKitOptions, + broadcastOptions: {retryTrx: true, retryTrxNumBlocks: 10}, + }) + assert.deepEqual(kit.broadcastOptions, { + retryTrx: true, + retryTrxNumBlocks: 10, + }) + }) + test('propagates to session via login', async function () { + const kit = new SessionKit(mockSessionKitArgs, { + ...mockSessionKitOptions, + broadcastOptions: {retryTrx: true}, + }) + const {session} = await kit.login(defaultLoginOptions) + assert.deepEqual(session.broadcastOptions, {retryTrx: true}) + }) + }) suite('transactPlugins', function () { test('default', async function () { assert.lengthOf(sessionKit.transactPlugins, 1) diff --git a/test/tests/session.ts b/test/tests/session.ts index 418e52c..f1d3815 100644 --- a/test/tests/session.ts +++ b/test/tests/session.ts @@ -160,7 +160,7 @@ suite('session', function () { test('default: true', async function () { const action = makeMockAction('test broadcast default') const testSession = new Session(mockSessionArgs, { - fetch: mockSessionOptions.fetch, + fetch: mockFetch, }) const result = await testSession.transact({action}) assert.isDefined(result.response) @@ -169,6 +169,7 @@ suite('session', function () { const action = makeMockAction('test broadcast true') const testSession = new Session(mockSessionArgs, { ...mockSessionOptions, + fetch: mockFetch, broadcast: true, }) const result = await testSession.transact({action}, {broadcast: true}) diff --git a/test/tests/transact.ts b/test/tests/transact.ts index 2bd7310..dbe8183 100644 --- a/test/tests/transact.ts +++ b/test/tests/transact.ts @@ -30,7 +30,6 @@ import {mockSessionArgs, mockSessionOptions} from '@wharfkit/mock-data' import {MockStorage} from '@wharfkit/mock-data' import {MockUserInterface} from '@wharfkit/mock-data' import {ContractKit} from '@wharfkit/contract' -import {TransactPluginResourceProvider} from '@wharfkit/transact-plugin-resource-provider' const client = makeClient() const wallet = makeWallet() @@ -93,10 +92,7 @@ suite('transact', function () { ) const contract = await kit.load('eosio') const action = contract.action('claimrewards', {owner: 'teamgreymass'}) - const result = await session.transact( - {action}, - {transactPlugins: [new TransactPluginResourceProvider()]} - ) + const result = await session.transact({action}, {broadcast: false}) assert.isTrue( result.transaction?.actions[0].authorization[0].actor.equals('wharfkit1125') ) @@ -132,10 +128,7 @@ suite('transact', function () { ...header, actions: [action], }) - const result = await session.transact( - {transaction}, - {transactPlugins: [new TransactPluginResourceProvider()]} - ) + const result = await session.transact({transaction}, {broadcast: false}) assert.isTrue( result.transaction?.actions[0].authorization[0].actor.equals('wharfkit1125') ) @@ -380,15 +373,18 @@ suite('transact', function () { test('default: true', async function () { const action = makeMockAction('transact broadcast default') const session = new Session(mockSessionArgs, { - fetch: mockSessionOptions.fetch, + fetch: mockFetch, }) const result = await session.transact({action}) assert.isDefined(result.response) assetValidTransactResponse(result) }) test('true', async function () { - const {session} = await mockData() const action = makeMockAction('transact broadcast true') + const session = new Session(mockSessionArgs, { + ...mockSessionOptions, + fetch: mockFetch, + }) const result = await session.transact({action}, {broadcast: true}) assert.isDefined(result.response) assetValidTransactResponse(result) @@ -400,6 +396,66 @@ suite('transact', function () { assetValidTransactResponse(result) }) }) + suite('send_transaction2', function () { + test('falls back to send_transaction on 404', async function () { + const txCalls: Array<{path: string}> = [] + const fetch = async (path: string, params?: any) => { + const url = String(path) + if (url.includes('/v1/chain/send_transaction2')) { + const text = JSON.stringify({ + error: { + code: 404, + what: 'Not Found', + details: [], + }, + }) + return { + status: 404, + ok: false, + text: async () => text, + headers: new Map(), + } + } + if ( + url.includes('/v1/chain/send_transaction') && + !url.includes('send_transaction2') + ) { + txCalls.push({path: url}) + const json = { + transaction_id: 'mock_fallback_id', + processed: { + id: 'mock_fallback_id', + block_num: 100, + block_time: '2024-01-01T00:00:00.000', + receipt: { + status: 'executed', + cpu_usage_us: 100, + net_usage_words: 10, + }, + elapsed: 50, + net_usage: 80, + scheduled: false, + action_traces: [], + account_ram_delta: null, + }, + } + const text = JSON.stringify(json) + return { + status: 202, + ok: true, + text: async () => text, + headers: new Map(), + } + } + return mockFetch(url, params) + } + const action = makeMockAction('tx2 fallback') + const session = new Session(mockSessionArgs, {fetch}) + const result = await session.transact({action}) + assert.isDefined(result.response) + assert.lengthOf(txCalls, 1) + }) + }) suite('expireSeconds', function () { test('override: 60', async function () { const {action} = await mockData() @@ -538,7 +594,7 @@ suite('transact', function () { walletPlugins: [makeWallet()], }, { - fetch: mockFetch, // Required for unit tests + fetch: mockFetch, storage: new MockStorage(), transactPlugins: [new MockTransactResourceProviderPlugin()], transactPluginsOptions: { @@ -572,7 +628,7 @@ suite('transact', function () { walletPlugins: [makeWallet()], }, { - fetch: mockFetch, // Required for unit tests + fetch: mockFetch, storage: new MockStorage(), transactPlugins: [new MockTransactResourceProviderPlugin()], } @@ -718,7 +774,10 @@ suite('transact', function () { } }) test('return values', async function () { - const {session} = await mockData() + const session = new Session(mockSessionArgs, { + ...mockSessionOptions, + fetch: mockFetch, + }) const action = { account: 'todoapp12345', name: 'add', @@ -739,7 +798,11 @@ suite('transact', function () { }) suite('context_free_actions', function () { test('transact w/ action', async function () { - const {session, action} = await mockData() + const action = await makeMockAction() + const session = new Session(mockSessionArgs, { + ...mockSessionOptions, + fetch: mockFetch, + }) const result = await session.transact( { action, @@ -761,7 +824,11 @@ suite('transact', function () { } }) test('transact w/ actions', async function () { - const {session, action} = await mockData() + const action = await makeMockAction() + const session = new Session(mockSessionArgs, { + ...mockSessionOptions, + fetch: mockFetch, + }) const result = await session.transact( { actions: [action], diff --git a/test/tests/utils.ts b/test/tests/utils.ts index b3ba975..33cef63 100644 --- a/test/tests/utils.ts +++ b/test/tests/utils.ts @@ -5,7 +5,7 @@ import zlib from 'pako' import {ChainDefinition, Logo, SigningRequest, Transaction} from '$lib' import {makeMockAction} from '@wharfkit/mock-data' -import {appendAction, prependAction} from 'src/utils' +import {appendAction, buildSendTransaction2Options, prependAction} from 'src/utils' import {mockData} from '@wharfkit/mock-data' import {mockChainId} from '@wharfkit/mock-data' @@ -164,6 +164,45 @@ suite('utils', function () { assert.isTrue(originalTransaction.actions[0].equals(modifiedTransaction.actions[1])) }) }) + suite('buildSendTransaction2Options', function () { + test('defaults', function () { + const options = buildSendTransaction2Options(false) + assert.equal(options.return_failure_trace, true) + assert.isUndefined(options.retry_trx) + assert.isUndefined(options.retry_trx_num_blocks) + }) + test('awaitIrreversible', function () { + const options = buildSendTransaction2Options(true) + assert.equal(options.retry_trx, true) + assert.equal(options.return_failure_trace, true) + assert.isUndefined(options.retry_trx_num_blocks) + }) + test('broadcastOptions', function () { + const options = buildSendTransaction2Options(false, { + retryTrx: true, + retryTrxNumBlocks: 10, + returnFailureTrace: false, + }) + assert.equal(options.retry_trx, true) + assert.equal(options.retry_trx_num_blocks, 10) + assert.equal(options.return_failure_trace, false) + }) + test('awaitIrreversible takes precedence over broadcastOptions', function () { + const options = buildSendTransaction2Options(true, { + retryTrxNumBlocks: 5, + returnFailureTrace: false, + }) + assert.equal(options.retry_trx, true) + assert.isUndefined(options.retry_trx_num_blocks) + assert.equal(options.return_failure_trace, false) + }) + test('empty broadcastOptions uses defaults', function () { + const options = buildSendTransaction2Options(false, {}) + assert.equal(options.return_failure_trace, true) + assert.equal(options.retry_trx, true) + assert.isUndefined(options.retry_trx_num_blocks) + }) + }) suite('logo', function () { test('returns light when stringified', function () { const logo = Logo.from('foo')