@galacticcouncil/descriptors 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.js CHANGED
@@ -29,7 +29,7 @@ var minified, commonTrees, tokens, replaceTokens, tokenizedCommonTrees, unwrap,
29
29
  var init_descriptors = __esm({
30
30
  ".papi/descriptors/src/descriptors.ts"() {
31
31
  "use strict";
32
- [minified, commonTrees, tokens] = JSON.parse(`[{"hydration":{"storage":{"0":{"Account":0,"Number":1},"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"20":{"19":7,"AssetLocations":8},"21":0,"22":{"19":9,"HubAssetTradability":1},"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":{"AssetFee":17},"31":0,"32":{"Pools":20,"AssetTradability":21},"33":{"33":23},"34":0,"35":{"PoolData":24},"36":{"PoolAssets":26},"37":0,"38":0,"39":{"TotalIssuance":28,"Accounts":29},"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":{"ValidationData":31},"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0},"tx":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"20":0,"21":0,"22":{"60":11,"61":12},"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":{"60":15,"61":16},"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0},"events":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":{"Log":30},"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0},"constants":{"0":{"BlockWeights":2,"BlockLength":3,"BlockHashCount":1,"DbWeight":4,"Version":5,"SS58Prefix":1},"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"20":0,"21":0,"22":{"62":10,"63":10,"HdxAssetId":1,"HubAssetId":1,"MinWithdrawalFee":1,"MinimumTradingLimit":10,"MinimumPoolLiquidity":10,"NFTCollectionId":10,"BurnProtocolFee":1},"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":{"AssetFeeParameters":18,"ProtocolFeeParameters":18},"31":0,"32":{"64":10,"65":10,"AmplificationRange":22},"33":0,"34":0,"35":{"62":10,"63":10,"64":10,"65":10,"repay_fee":25},"36":{"62":10,"63":10,"64":10,"65":10,"NativeAssetId":1,"GetExchangeFee":25,"OracleSource":27},"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0},"apis":{"CurrenciesApi":{"account":32,"accounts":33,"free_balance":34},"DryRunApi":{"dry_run_call":35,"dry_run_xcm":36}}}},[{}],["System","Balances","MultiTransactionPayment","Treasury","Utility","Preimage","Identity","Democracy","Elections","Council","TechnicalCommittee","Tips","Proxy","Multisig","Uniques","StateTrieMigration","ConvictionVoting","Referenda","Whitelist","Assets","AssetRegistry","Claims","Omnipool","TransactionPause","Duster","OmnipoolWarehouseLM","OmnipoolLiquidityMining","OTC","CircuitBreaker","Router","DynamicFees","Staking","Stableswap","Bonds","OtcSettlements","LBP","XYK","Referrals","Liquidation","Tokens","Currencies","Vesting","EVM","Ethereum","EVMAccounts","XYKLiquidityMining","XYKWarehouseLM","DCA","Scheduler","ParachainSystem","PolkadotXcm","XcmpQueue","MessageQueue","OrmlXcm","XTokens","UnknownTokens","CollatorSelection","Session","EmaOracle","Broadcast","sell","buy","MaxInRatio","MaxOutRatio","MinPoolLiquidity","MinTradingLimit"]]`);
32
+ [minified, commonTrees, tokens] = JSON.parse(`[{"hydration":{"storage":{"0":{"Account":0,"Number":1},"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"21":{"20":10,"AssetLocations":11},"22":0,"23":{"20":12,"HubAssetTradability":1},"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":{"AssetFee":22},"32":0,"33":{"Pools":25,"AssetTradability":26},"34":{"34":28},"35":0,"36":{"PoolData":29},"37":{"PoolAssets":31},"38":0,"39":0,"40":{"TotalIssuance":33,"Accounts":34},"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":{"ValidationData":39},"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0},"tx":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":{"dispatch_as_treasury":7,"dispatch_as_aave_manager":7,"note_aave_manager":8,"dispatch_with_extra_gas":9},"21":0,"22":0,"23":{"62":14,"63":15},"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":{"62":18,"63":19,"sell_all":20},"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":{"schedule":37,"terminate":38},"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0},"events":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":{"Executed":21},"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":{"Log":35},"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0},"constants":{"0":{"BlockWeights":2,"BlockLength":3,"BlockHashCount":1,"DbWeight":4,"Version":5,"SS58Prefix":1},"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"21":0,"22":0,"23":{"64":13,"65":13,"66":13,"HdxAssetId":1,"HubAssetId":1,"MinWithdrawalFee":1,"MinimumPoolLiquidity":13,"NFTCollectionId":13,"BurnProtocolFee":1},"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":{"AssetFeeParameters":23,"ProtocolFeeParameters":23},"32":0,"33":{"67":13,"68":13,"AmplificationRange":27},"34":0,"35":0,"36":{"65":13,"66":13,"67":13,"68":13,"repay_fee":30},"37":{"65":13,"66":13,"67":13,"68":13,"69":1,"GetExchangeFee":30,"OracleSource":32},"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":{"64":13,"69":1,"MaxPriceDifferenceBetweenBlocks":1,"MaxConfigurablePriceDifferenceBetweenBlocks":1,"MaxSchedulePerBlock":1,"MaxNumberOfRetriesOnError":1,"MinimalPeriod":1,"BumpChance":1,"PolkadotNativeAssetId":1,"MinBudgetInNativeCurrency":13,"FeeReceiver":36,"NamedReserveId":32},"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":{"SlotDuration":13},"60":0,"61":0},"viewFns":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0},"apis":{"CurrenciesApi":{"account":40,"accounts":41,"free_balance":42},"DryRunApi":{"dry_run_call":43,"dry_run_xcm":44},"AaveTradeExecutor":{"pairs":45,"liquidity_depth":46,"pool":47,"pools":48}}}},[{}],["System","Balances","MultiTransactionPayment","Treasury","Utility","Preimage","Identity","Democracy","Elections","Council","TechnicalCommittee","Tips","Proxy","Multisig","Uniques","StateTrieMigration","ConvictionVoting","Referenda","Whitelist","Dispatcher","Assets","AssetRegistry","Claims","Omnipool","TransactionPause","Duster","OmnipoolWarehouseLM","OmnipoolLiquidityMining","OTC","CircuitBreaker","Router","DynamicFees","Staking","Stableswap","Bonds","OtcSettlements","LBP","XYK","Referrals","Liquidation","Tokens","Currencies","Vesting","EVM","Ethereum","EVMAccounts","XYKLiquidityMining","XYKWarehouseLM","DCA","Scheduler","ParachainSystem","PolkadotXcm","XcmpQueue","MessageQueue","OrmlXcm","XTokens","UnknownTokens","CollatorSelection","Session","Aura","EmaOracle","Broadcast","sell","buy","MinimumTradingLimit","MaxInRatio","MaxOutRatio","MinPoolLiquidity","MinTradingLimit","NativeAssetId"]]`);
33
33
  replaceTokens = (obj) => Object.fromEntries(
34
34
  Object.entries(obj).map(([key, value]) => {
35
35
  const unwrappedValue = typeof value === "object" ? replaceTokens(value) : value;
@@ -64,7 +64,7 @@ var content, metadataTypes_default;
64
64
  var init_metadataTypes = __esm({
65
65
  ".papi/descriptors/src/metadataTypes.ts"() {
66
66
  "use strict";
67
- content = "lAAAABABAQUABAEBBQAkAQEFACgBAQUALAEBBQBAAQEFAQEFAAQAXAAEAIQABACIAQEFAAgBABAgYXNzZXRfaW4EJGFzc2V0X291dAQYYW1vdW50CDhtaW5fYnV5X2Ftb3VudAgBAQUBABAkYXNzZXRfb3V0BCBhc3NldF9pbgQYYW1vdW50CDxtYXhfc2VsbF9hbW91bnQIAQEFAQEFAIwBAQUAkAEAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IOG1pbl9hbW91bnRfb3V0CBRyb3V0ZZwBAQUBABQgYXNzZXRfaW4EJGFzc2V0X291dAQoYW1vdW50X291dAg0bWF4X2Ftb3VudF9pbggUcm91dGWcAQEFAAQAoAEBBQCkAQEFAKgABACwALQABAEBBQC4AAQAvAAAAMQBAQUAtAAAALQBAQUANAAEAAgAyADMAQEFAQAEDGxvZ9QBAQUA2AEDCAQAAMwBAwQAAOABAwgEAAAIAQMIAQFZBADlBgEDCHkDIQQA7QbxBgEBAQIBAwAQEGZyZWUIIHJlc2VydmVkCBhmcm96ZW4IFGZsYWdzCAAUFG5vbmNlBCRjb25zdW1lcnMEJHByb3ZpZGVycwQsc3VmZmljaWVudHMEEGRhdGEMAAggcmVmX3RpbWUIKHByb29mX3NpemUIBhQAEDhiYXNlX2V4dHJpbnNpYxQ0bWF4X2V4dHJpbnNpYxgkbWF4X3RvdGFsGCByZXNlcnZlZBgADBhub3JtYWwcLG9wZXJhdGlvbmFsHCRtYW5kYXRvcnkcAAwoYmFzZV9ibG9jaxQkbWF4X2Jsb2NrFCRwZXJfY2xhc3MgAAwYbm9ybWFsBCxvcGVyYXRpb25hbAQkbWFuZGF0b3J5BAAIEHJlYWQIFHdyaXRlCAEBBQEgAwg0BAQ4AAAgJHNwZWNfbmFtZTAkaW1wbF9uYW1lMERhdXRob3JpbmdfdmVyc2lvbgQwc3BlY192ZXJzaW9uBDBpbXBsX3ZlcnNpb24EEGFwaXM8THRyYW5zYWN0aW9uX3ZlcnNpb24ENHN0YXRlX3ZlcnNpb24EBQAGRAIYFFRva2VuAAEFDFhZSwABBShTdGFibGVTd2FwAAEFEEJvbmQAAQUgRXh0ZXJuYWwAAQUURXJjMjAAAQUGBAYIAQAAHBBuYW1lSChhc3NldF90eXBlTExleGlzdGVudGlhbF9kZXBvc2l0CBhzeW1ib2xIIGRlY2ltYWxzUDh4Y21fcmF0ZV9saW1pdFQ0aXNfc3VmZmljaWVudFgFAYACLCRCeUdlbmVzaXMBYBhCeUZvcmsAAAgwYmxvY2tfbnVtYmVyCChibG9ja19oYXNoYCBQb2xrYWRvdAABBRhLdXNhbWEAAQUcV2VzdGVuZAABBRhSb2NvY28AAQUYV29jb2NvAAEFIEV0aGVyZXVtAAAEIGNoYWluX2lkCCxCaXRjb2luQ29yZQABBSxCaXRjb2luQ2FzaAABBUBQb2xrYWRvdEJ1bGxldGluAAEFBmQFAVAFARACKBBVbml0AAEFHE1vbmlrZXIBcBRJbmRleAEEJEV4ZWN1dGl2ZQABBSRUZWNobmljYWwAAQUsTGVnaXNsYXRpdmUAAQUgSnVkaWNpYWwAAQUcRGVmZW5zZQABBThBZG1pbmlzdHJhdGlvbgABBSBUcmVhc3VyeQABBQIUFFZvaWNlAAEFHE1lbWJlcnMAAAQUY291bnQEIEZyYWN0aW9uAAAIDG5vbQQUZGVub20EREF0TGVhc3RQcm9wb3J0aW9uAAAIDG5vbQQUZGVub20ESE1vcmVUaGFuUHJvcG9ydGlvbgAACAxub20EFGRlbm9tBAIoJFBhcmFjaGFpbgEELEFjY291bnRJZDMyAAAIHG5ldHdvcmtoCGlkYDhBY2NvdW50SW5kZXg2NAAACBxuZXR3b3JraBRpbmRleAgwQWNjb3VudEtleTIwAAAIHG5ldHdvcmtoDGtleWw4UGFsbGV0SW5zdGFuY2UBBDBHZW5lcmFsSW5kZXgBCChHZW5lcmFsS2V5AAAIGGxlbmd0aAQQZGF0YWAkT25seUNoaWxkAAEFJFBsdXJhbGl0eQAACAhpZHQQcGFydHg8R2xvYmFsQ29uc2Vuc3VzAWQCJBBIZXJlAAEFCFgxAXwIWDIABHwBCAhYMwAEfAEMCFg0AAR8ARAIWDUABHwBFAhYNgAEfAEYCFg3AAR8ARwIWDgABHwBIAAIHHBhcmVudHMEIGludGVyaW9ygAAULGh1Yl9yZXNlcnZlCBhzaGFyZXMIPHByb3RvY29sX3NoYXJlcwgMY2FwCCB0cmFkYWJsZQQCRERZaWVsZEZhcm1Ob3RGb3VuZAABBUhHbG9iYWxGYXJtTm90Rm91bmQAAQVQTGlxdWlkaXR5SXNOb3RBY3RpdmUAAQVUR2xvYmFsRmFybUlzTm90QWN0aXZlAAEFPERlcG9zaXROb3RGb3VuZAABBTRJbnZhbGlkUGVyaW9kAAEFbE5vdEVub3VnaFJld2FyZHNJbllpZWxkRmFybQABBWRJbnZhbGlkTGl2ZVlpZWxGYXJtc0NvdW50AAEFbEludmFsaWRUb3RhbFlpZWxkRmFybXNDb3VudAABBXBJbnZhbGlkWWllbGRGYXJtRW50cmllc0NvdW50AAEFSEludmFsaWRUb3RhbFNoYXJlcwABBUxJbnZhbGlkVmFsdWVkU2hhcmVzAAEFTEludmFsaWRUb3RhbFNoYXJlc1oAAQV0SW52YWxpZFBhaWRBY2N1bXVsYXRlZFJld2FyZHMAAQU0SW52YWxpZEZhcm1JZAABBWBJbnZhbGlkTG95YWx0eU11bHRpcGxpZXIAAQVwTm9FeGlzdGVudGlhbERlcG9zaXRGb3JBc3NldAABBQIIRE1pc3NpbmdMcFBvc2l0aW9uAAEFTERlcG9zaXREYXRhTm90Rm91bmQAAQUCFAxYWUsAAQUMTEJQAAEFKFN0YWJsZXN3YXABBCBPbW5pcG9vbAABBRBBYXZlAAEFAAwQcG9vbJQgYXNzZXRfaW4EJGFzc2V0X291dAQEmAAADCRhc3NldF9mZWUEMHByb3RvY29sX2ZlZQQkdGltZXN0YW1wBAAQHG1pbl9mZWUEHG1heF9mZWUEFGRlY2F5CDRhbXBsaWZpY2F0aW9uCAIUQFBvc2l0aW9uTm90Rm91bmQAAQVYTmVnYXRpdmVQZW5kaW5nUmV3YXJkcwABBVROZWdhdGl2ZVVucGFpZFJld2FyZHMAAQVAVG9vTWFueVBvc2l0aW9ucwABBShBcml0aG1ldGljAAEFBAQAABgYYXNzZXRzrFRpbml0aWFsX2FtcGxpZmljYXRpb24ETGZpbmFsX2FtcGxpZmljYXRpb24ENGluaXRpYWxfYmxvY2sELGZpbmFsX2Jsb2NrBAxmZWUEBAQBCAAIFHN0YXJ0BAxlbmQEAwgECAIEGExpbmVhcgABBQAoFG93bmVyABRzdGFydFAMZW5kUBhhc3NldHO0OGluaXRpYWxfd2VpZ2h0BDBmaW5hbF93ZWlnaHQEMHdlaWdodF9jdXJ2ZcAMZmVltDRmZWVfY29sbGVjdG9yADByZXBheV90YXJnZXQIAwgABAAMEGZyZWUIIHJlc2VydmVkCBhmcm96ZW4IBGAAAAwcYWRkcmVzc2wYdG9waWNz0BBkYXRhRAAQLHBhcmVudF9oZWFkRExyZWxheV9wYXJlbnRfbnVtYmVyBGRyZWxheV9wYXJlbnRfc3RvcmFnZV9yb290YDBtYXhfcG92X3NpemUEAwgEzATcAAIMEFJvb3QAAQUYU2lnbmVkAQAQTm9uZQABBQIMHE1lbWJlcnMABAQBCBhNZW1iZXIBACBfUGhhbnRvbQABBQIkRFdoaXRlbGlzdGVkQ2FsbGVyAAEFTFJlZmVyZW5kdW1DYW5jZWxsZXIAAQVAUmVmZXJlbmR1bUtpbGxlcgABBTBHZW5lcmFsQWRtaW4AAQU0T21uaXBvb2xBZG1pbgABBSRUcmVhc3VyZXIAAQUcU3BlbmRlcgABBRhUaXBwZXIAAQVIRWNvbm9taWNQYXJhbWV0ZXJzAAEFAgRMRXRoZXJldW1UcmFuc2FjdGlvbgFsAggMWGNtAYQgUmVzcG9uc2UBhAIIFFJlbGF5AAEFQFNpYmxpbmdQYXJhY2hhaW4BBAEFAiAYc3lzdGVtAeQcQ291bmNpbAHoSFRlY2huaWNhbENvbW1pdHRlZQHoHE9yaWdpbnMB7CBFdGhlcmV1bQHwLFBvbGthZG90WGNtAfQoQ3VtdWx1c1hjbQH4EFZvaWQB/AREAQgEBQEABEQAAiwYcmVtYXJrAAAEGHJlbWFya0Q4c2V0X2hlYXBfcGFnZXMAAAQUcGFnZXMIIHNldF9jb2RlAAAEEGNvZGVEXHNldF9jb2RlX3dpdGhvdXRfY2hlY2tzAAAEEGNvZGVELHNldF9zdG9yYWdlAAAEFGl0ZW1zCQEwa2lsbF9zdG9yYWdlAAAEEGtleXMNASxraWxsX3ByZWZpeAAACBhwcmVmaXhEHHN1YmtleXMERHJlbWFya193aXRoX2V2ZW50AAAEGHJlbWFya0REYXV0aG9yaXplX3VwZ3JhZGUAAAQkY29kZV9oYXNoYIBhdXRob3JpemVfdXBncmFkZV93aXRob3V0X2NoZWNrcwAABCRjb2RlX2hhc2hgYGFwcGx5X2F1dGhvcml6ZWRfdXBncmFkZQAABBBjb2RlRAIEDHNldAAABAxub3cIBAAAAgggSW5jcmVhc2UAAQUgRGVjcmVhc2UAAQUCJFB0cmFuc2Zlcl9hbGxvd19kZWF0aAAACBBkZXN0ABR2YWx1ZQg4Zm9yY2VfdHJhbnNmZXIAAAwYc291cmNlABBkZXN0ABR2YWx1ZQhMdHJhbnNmZXJfa2VlcF9hbGl2ZQAACBBkZXN0ABR2YWx1ZQgwdHJhbnNmZXJfYWxsAAAIEGRlc3QAKGtlZXBfYWxpdmVYPGZvcmNlX3VucmVzZXJ2ZQAACAx3aG8AGGFtb3VudAhAdXBncmFkZV9hY2NvdW50cwAABAx3aG8ZAURmb3JjZV9zZXRfYmFsYW5jZQAACAx3aG8AIG5ld19mcmVlCGxmb3JjZV9hZGp1c3RfdG90YWxfaXNzdWFuY2UAAAgkZGlyZWN0aW9uHQEUZGVsdGEIEGJ1cm4AAAgUdmFsdWUIKGtlZXBfYWxpdmVYBAgBEAIUMHNldF9jdXJyZW5jeQAABCBjdXJyZW5jeQQwYWRkX2N1cnJlbmN5AAAIIGN1cnJlbmN5BBRwcmljZQg8cmVtb3ZlX2N1cnJlbmN5AAAEIGN1cnJlbmN5BFhyZXNldF9wYXltZW50X2N1cnJlbmN5AAAEKGFjY291bnRfaWQAPGRpc3BhdGNoX3Blcm1pdAAAJBBmcm9tbAh0b2wUdmFsdWUlARBkYXRhRCRnYXNfbGltaXQIIGRlYWRsaW5lJQEEdgQEcmAEc2ACGCxzcGVuZF9sb2NhbAAACBhhbW91bnQILGJlbmVmaWNpYXJ5ADxyZW1vdmVfYXBwcm92YWwAAAQscHJvcG9zYWxfaWQEFHNwZW5kAAAMGGFtb3VudAgsYmVuZWZpY2lhcnkAKHZhbGlkX2Zyb21QGHBheW91dAAABBRpbmRleAQwY2hlY2tfc3RhdHVzAAAEFGluZGV4BCh2b2lkX3NwZW5kAAAEFGluZGV4BARZBAACGBRiYXRjaAAABBRjYWxsczEBNGFzX2Rlcml2YXRpdmUAAAgUaW5kZXgEEGNhbGxZBCRiYXRjaF9hbGwAAAQUY2FsbHMxASxkaXNwYXRjaF9hcwAACCRhc19vcmlnaW4BARBjYWxsWQQsZm9yY2VfYmF0Y2gAAAQUY2FsbHMxASx3aXRoX3dlaWdodAAACBBjYWxsWQQYd2VpZ2h0FAIUNG5vdGVfcHJlaW1hZ2UAAAQUYnl0ZXNEPHVubm90ZV9wcmVpbWFnZQAABBBoYXNoYEByZXF1ZXN0X3ByZWltYWdlAAAEEGhhc2hgSHVucmVxdWVzdF9wcmVpbWFnZQAABBBoYXNoYDhlbnN1cmVfdXBkYXRlZAAABBhoYXNoZXPQBQEIBQEMBQEUBQEYBQEcBQEkBQEoBQEsBQEwBQE0BQE4BQE8BQFABQFEBQFIBQFMBQFUBQFYBQFcBQFgBQFkBQFoBQFsBQFwBQF0BQF4BQF8ApgQTm9uZQABBRBSYXcwAfwQUmF3MQEEEFJhdzIBPQEQUmF3MwFBARBSYXc0AXAQUmF3NQFFARBSYXc2AUkBEFJhdzcBTQEQUmF3OAE0EFJhdzkBUQEUUmF3MTABVQEUUmF3MTEBWQEUUmF3MTIBXQEUUmF3MTMBYQEUUmF3MTQBZQEUUmF3MTUBaQEUUmF3MTYBbQEUUmF3MTcBcQEUUmF3MTgBdQEUUmF3MTkBeQEUUmF3MjABbBRSYXcyMQF9ARRSYXcyMgGBARRSYXcyMwGFARRSYXcyNAGJARRSYXcyNQGNARRSYXcyNgGRARRSYXcyNwGVARRSYXcyOAGZARRSYXcyOQGdARRSYXczMAGhARRSYXczMQGlARRSYXczMgFgLEJsYWtlVHdvMjU2AWAYU2hhMjU2AWAkS2VjY2FrMjU2AWAsU2hhVGhyZWUyNTYBYASpAQEIBK0BAAZsACQoYWRkaXRpb25hbLEBHGRpc3BsYXmpARRsZWdhbKkBDHdlYqkBEHJpb3SpARRlbWFpbKkBPHBncF9maW5nZXJwcmludLUBFGltYWdlqQEcdHdpdHRlcqkBAwgAqQEEvQEAAhwcVW5rbm93bgABBRxGZWVQYWlkAQgoUmVhc29uYWJsZQABBSRLbm93bkdvb2QAAQUkT3V0T2ZEYXRlAAEFKExvd1F1YWxpdHkAAQUkRXJyb25lb3VzAAEFBQEBAQUBBQECDBxFZDI1NTE5AckBHFNyMjU1MTkByQEURWNkc2EBzQEG0QECWDRhZGRfcmVnaXN0cmFyAAAEHGFjY291bnQAMHNldF9pZGVudGl0eQAABBBpbmZvuQEgc2V0X3N1YnMAAAQQc3Vic8EBOGNsZWFyX2lkZW50aXR5AAEFRHJlcXVlc3RfanVkZ2VtZW50AAAIJHJlZ19pbmRleAQcbWF4X2ZlZQg4Y2FuY2VsX3JlcXVlc3QAAAQkcmVnX2luZGV4BBxzZXRfZmVlAAAIFGluZGV4BAxmZWUIOHNldF9hY2NvdW50X2lkAAAIFGluZGV4BAxuZXcAKHNldF9maWVsZHMAAAgUaW5kZXgEGGZpZWxkcwhEcHJvdmlkZV9qdWRnZW1lbnQAABAkcmVnX2luZGV4BBh0YXJnZXQAJGp1ZGdlbWVudMUBIGlkZW50aXR5YDRraWxsX2lkZW50aXR5AAAEGHRhcmdldAAcYWRkX3N1YgAACAxzdWIAEGRhdGGpAShyZW5hbWVfc3ViAAAIDHN1YgAQZGF0YakBKHJlbW92ZV9zdWIAAAQMc3ViACBxdWl0X3N1YgABBVhhZGRfdXNlcm5hbWVfYXV0aG9yaXR5AAAMJGF1dGhvcml0eQAYc3VmZml4RChhbGxvY2F0aW9uBGRyZW1vdmVfdXNlcm5hbWVfYXV0aG9yaXR5AAAEJGF1dGhvcml0eQBAc2V0X3VzZXJuYW1lX2ZvcgAADAx3aG8AIHVzZXJuYW1lRCRzaWduYXR1cmXVATxhY2NlcHRfdXNlcm5hbWUAAAQgdXNlcm5hbWVEXHJlbW92ZV9leHBpcmVkX2FwcHJvdmFsAAAEIHVzZXJuYW1lRFBzZXRfcHJpbWFyeV91c2VybmFtZQAABCB1c2VybmFtZURgcmVtb3ZlX2RhbmdsaW5nX3VzZXJuYW1lAAAEIHVzZXJuYW1lRAIMGExlZ2FjeQAABBBoYXNoYBhJbmxpbmUBRBhMb29rdXAAAAgQaGFzaGAMbGVuBAIIIFN0YW5kYXJkAAAIEHZvdGUEHGJhbGFuY2UIFFNwbGl0AAAIDGF5ZQgMbmF5CAIcEE5vbmUAAQUgTG9ja2VkMXgAAQUgTG9ja2VkMngAAQUgTG9ja2VkM3gAAQUgTG9ja2VkNHgAAQUgTG9ja2VkNXgAAQUgTG9ja2VkNngAAQUCDCBFeHRlcm5hbAABBSBQcm9wb3NhbAEEKFJlZmVyZW5kdW0BBAZgAlAccHJvcG9zZQAACCBwcm9wb3NhbN0BFHZhbHVlCBhzZWNvbmQAAAQgcHJvcG9zYWwEEHZvdGUAAAgkcmVmX2luZGV4BBB2b3Rl4QFAZW1lcmdlbmN5X2NhbmNlbAAABCRyZWZfaW5kZXgEQGV4dGVybmFsX3Byb3Bvc2UAAAQgcHJvcG9zYWzdAWRleHRlcm5hbF9wcm9wb3NlX21ham9yaXR5AAAEIHByb3Bvc2Fs3QFgZXh0ZXJuYWxfcHJvcG9zZV9kZWZhdWx0AAAEIHByb3Bvc2Fs3QEoZmFzdF90cmFjawAADDRwcm9wb3NhbF9oYXNoYDR2b3RpbmdfcGVyaW9kBBRkZWxheQQ0dmV0b19leHRlcm5hbAAABDRwcm9wb3NhbF9oYXNoYERjYW5jZWxfcmVmZXJlbmR1bQAABCRyZWZfaW5kZXgEIGRlbGVnYXRlAAAMCHRvAChjb252aWN0aW9u5QEcYmFsYW5jZQgodW5kZWxlZ2F0ZQABBVhjbGVhcl9wdWJsaWNfcHJvcG9zYWxzAAEFGHVubG9jawAABBh0YXJnZXQALHJlbW92ZV92b3RlAAAEFGluZGV4BERyZW1vdmVfb3RoZXJfdm90ZQAACBh0YXJnZXQAFGluZGV4BCRibGFja2xpc3QAAAg0cHJvcG9zYWxfaGFzaGA8bWF5YmVfcmVmX2luZGV4UDxjYW5jZWxfcHJvcG9zYWwAAAQocHJvcF9pbmRleAQwc2V0X21ldGFkYXRhAAAIFG93bmVy6QEobWF5YmVfaGFzaO0BRGZvcmNlX3JlbW92ZV92b3RlAAAIGHRhcmdldAAUaW5kZXgEAgwYTWVtYmVyAAEFIFJ1bm5lclVwAAEFJENhbmRpZGF0ZQEEAhgQdm90ZQAACBR2b3RlcxkBFHZhbHVlCDByZW1vdmVfdm90ZXIAAQVAc3VibWl0X2NhbmRpZGFjeQAABDxjYW5kaWRhdGVfY291bnQESHJlbm91bmNlX2NhbmRpZGFjeQAABChyZW5vdW5jaW5n9QE0cmVtb3ZlX21lbWJlcgAADAx3aG8AKHNsYXNoX2JvbmRYOHJlcnVuX2VsZWN0aW9uWFBjbGVhbl9kZWZ1bmN0X3ZvdGVycwAACChudW1fdm90ZXJzBCxudW1fZGVmdW5jdAQGAAIYLHNldF9tZW1iZXJzAAAMLG5ld19tZW1iZXJzGQEUcHJpbWX9ASRvbGRfY291bnQEHGV4ZWN1dGUAAAggcHJvcG9zYWxZBDBsZW5ndGhfYm91bmQEHHByb3Bvc2UAAAwkdGhyZXNob2xkBCBwcm9wb3NhbFkEMGxlbmd0aF9ib3VuZAQQdm90ZQAADCBwcm9wb3NhbGAUaW5kZXgEHGFwcHJvdmVYTGRpc2FwcHJvdmVfcHJvcG9zYWwAAAQ0cHJvcG9zYWxfaGFzaGAUY2xvc2UAABA0cHJvcG9zYWxfaGFzaGAUaW5kZXgEVHByb3Bvc2FsX3dlaWdodF9ib3VuZBQwbGVuZ3RoX2JvdW5kBAIYOHJlcG9ydF9hd2Vzb21lAAAIGHJlYXNvbkQMd2hvACxyZXRyYWN0X3RpcAAABBBoYXNoYBx0aXBfbmV3AAAMGHJlYXNvbkQMd2hvACR0aXBfdmFsdWUIDHRpcAAACBBoYXNoYCR0aXBfdmFsdWUIJGNsb3NlX3RpcAAABBBoYXNoYCRzbGFzaF90aXAAAAQQaGFzaGACGAxBbnkAAQUsQ2FuY2VsUHJveHkAAQUoR292ZXJuYW5jZQABBSBUcmFuc2ZlcgABBSRMaXF1aWRpdHkAAQU8TGlxdWlkaXR5TWluaW5nAAEFBgkCAigUcHJveHkAAAwQcmVhbABAZm9yY2VfcHJveHlfdHlwZQ0CEGNhbGxZBCRhZGRfcHJveHkAAAwgZGVsZWdhdGUAKHByb3h5X3R5cGUJAhRkZWxheQQwcmVtb3ZlX3Byb3h5AAAMIGRlbGVnYXRlAChwcm94eV90eXBlCQIUZGVsYXkEOHJlbW92ZV9wcm94aWVzAAEFLGNyZWF0ZV9wdXJlAAAMKHByb3h5X3R5cGUJAhRkZWxheQQUaW5kZXgEJGtpbGxfcHVyZQAAFBxzcGF3bmVyAChwcm94eV90eXBlCQIUaW5kZXgEGGhlaWdodAQkZXh0X2luZGV4BCBhbm5vdW5jZQAACBByZWFsACRjYWxsX2hhc2hgTHJlbW92ZV9hbm5vdW5jZW1lbnQAAAgQcmVhbAAkY2FsbF9oYXNoYExyZWplY3RfYW5ub3VuY2VtZW50AAAIIGRlbGVnYXRlACRjYWxsX2hhc2hgPHByb3h5X2Fubm91bmNlZAAAECBkZWxlZ2F0ZQAQcmVhbABAZm9yY2VfcHJveHlfdHlwZQ0CEGNhbGxZBAAIGGhlaWdodAQUaW5kZXgEBhUCAhBQYXNfbXVsdGlfdGhyZXNob2xkXzEAAAhEb3RoZXJfc2lnbmF0b3JpZXMZARBjYWxsWQQgYXNfbXVsdGkAABQkdGhyZXNob2xkBERvdGhlcl9zaWduYXRvcmllcxkBPG1heWJlX3RpbWVwb2ludBkCEGNhbGxZBChtYXhfd2VpZ2h0FEBhcHByb3ZlX2FzX211bHRpAAAUJHRocmVzaG9sZAREb3RoZXJfc2lnbmF0b3JpZXMZATxtYXliZV90aW1lcG9pbnQZAiRjYWxsX2hhc2hgKG1heF93ZWlnaHQUPGNhbmNlbF9hc19tdWx0aQAAECR0aHJlc2hvbGQERG90aGVyX3NpZ25hdG9yaWVzGQEkdGltZXBvaW50FQIkY2FsbF9oYXNoYAAMFGl0ZW1zBDhpdGVtX21ldGFkYXRhcwQoYXR0cmlidXRlcwQECAACaBhjcmVhdGUAAAgoY29sbGVjdGlvbggUYWRtaW4AMGZvcmNlX2NyZWF0ZQAADChjb2xsZWN0aW9uCBRvd25lcgAwZnJlZV9ob2xkaW5nWBxkZXN0cm95AAAIKGNvbGxlY3Rpb24IHHdpdG5lc3MhAhBtaW50AAAMKGNvbGxlY3Rpb24IEGl0ZW0IFG93bmVyABBidXJuAAAMKGNvbGxlY3Rpb24IEGl0ZW0ILGNoZWNrX293bmVy/QEgdHJhbnNmZXIAAAwoY29sbGVjdGlvbggQaXRlbQgQZGVzdAAkcmVkZXBvc2l0AAAIKGNvbGxlY3Rpb24IFGl0ZW1zJQIYZnJlZXplAAAIKGNvbGxlY3Rpb24IEGl0ZW0IEHRoYXcAAAgoY29sbGVjdGlvbggQaXRlbQhEZnJlZXplX2NvbGxlY3Rpb24AAAQoY29sbGVjdGlvbgg8dGhhd19jb2xsZWN0aW9uAAAEKGNvbGxlY3Rpb24ISHRyYW5zZmVyX293bmVyc2hpcAAACChjb2xsZWN0aW9uCCRuZXdfb3duZXIAIHNldF90ZWFtAAAQKGNvbGxlY3Rpb24IGGlzc3VlcgAUYWRtaW4AHGZyZWV6ZXIAQGFwcHJvdmVfdHJhbnNmZXIAAAwoY29sbGVjdGlvbggQaXRlbQggZGVsZWdhdGUAPGNhbmNlbF9hcHByb3ZhbAAADChjb2xsZWN0aW9uCBBpdGVtCFBtYXliZV9jaGVja19kZWxlZ2F0Zf0BRGZvcmNlX2l0ZW1fc3RhdHVzAAAcKGNvbGxlY3Rpb24IFG93bmVyABhpc3N1ZXIAFGFkbWluABxmcmVlemVyADBmcmVlX2hvbGRpbmdYJGlzX2Zyb3plblg0c2V0X2F0dHJpYnV0ZQAAEChjb2xsZWN0aW9uCChtYXliZV9pdGVtVAxrZXlEFHZhbHVlRDxjbGVhcl9hdHRyaWJ1dGUAAAwoY29sbGVjdGlvbggobWF5YmVfaXRlbVQMa2V5RDBzZXRfbWV0YWRhdGEAABAoY29sbGVjdGlvbggQaXRlbQgQZGF0YUQkaXNfZnJvemVuWDhjbGVhcl9tZXRhZGF0YQAACChjb2xsZWN0aW9uCBBpdGVtCFxzZXRfY29sbGVjdGlvbl9tZXRhZGF0YQAADChjb2xsZWN0aW9uCBBkYXRhRCRpc19mcm96ZW5YZGNsZWFyX2NvbGxlY3Rpb25fbWV0YWRhdGEAAAQoY29sbGVjdGlvbghQc2V0X2FjY2VwdF9vd25lcnNoaXAAAARAbWF5YmVfY29sbGVjdGlvblRkc2V0X2NvbGxlY3Rpb25fbWF4X3N1cHBseQAACChjb2xsZWN0aW9uCChtYXhfc3VwcGx5BCRzZXRfcHJpY2UAABAoY29sbGVjdGlvbggQaXRlbQgUcHJpY2VURHdoaXRlbGlzdGVkX2J1eWVy/QEgYnV5X2l0ZW0AAAwoY29sbGVjdGlvbggQaXRlbQgkYmlkX3ByaWNlCAAIEHNpemUEEGl0ZW0EBi0CAgwcVG9TdGFydAABBRxMYXN0S2V5AUQgQ29tcGxldGUAAQUAFDBwcm9ncmVzc190b3A1Ajhwcm9ncmVzc19jaGlsZDUCEHNpemUEJHRvcF9pdGVtcwQsY2hpbGRfaXRlbXMEAhhYY29udHJvbF9hdXRvX21pZ3JhdGlvbgAABDBtYXliZV9jb25maWcxAkBjb250aW51ZV9taWdyYXRlAAAMGGxpbWl0cy0CPHJlYWxfc2l6ZV91cHBlcgQwd2l0bmVzc190YXNrOQJIbWlncmF0ZV9jdXN0b21fdG9wAAAIEGtleXMNATB3aXRuZXNzX3NpemUEUG1pZ3JhdGVfY3VzdG9tX2NoaWxkAAAMEHJvb3REKGNoaWxkX2tleXMNASh0b3RhbF9zaXplBFRzZXRfc2lnbmVkX21heF9saW1pdHMAAAQYbGltaXRzLQJIZm9yY2Vfc2V0X3Byb2dyZXNzAAAIMHByb2dyZXNzX3RvcDUCOHByb2dyZXNzX2NoaWxkNQICDCBTdGFuZGFyZAAACBB2b3RlBBxiYWxhbmNlCBRTcGxpdAAACAxheWUIDG5heQgwU3BsaXRBYnN0YWluAAAMDGF5ZQgMbmF5CBxhYnN0YWluCAIcEHZvdGUAAAgocG9sbF9pbmRleAQQdm90ZUECIGRlbGVnYXRlAAAQFGNsYXNzBAh0bwAoY29udmljdGlvbuUBHGJhbGFuY2UIKHVuZGVsZWdhdGUAAAQUY2xhc3MEGHVubG9jawAACBRjbGFzcwQYdGFyZ2V0ACxyZW1vdmVfdm90ZQAACBRjbGFzc1AUaW5kZXgERHJlbW92ZV9vdGhlcl92b3RlAAAMGHRhcmdldAAUY2xhc3MEFGluZGV4BERmb3JjZV9yZW1vdmVfdm90ZQAADBh0YXJnZXQAFGNsYXNzBBRpbmRleAQCCAhBdAEEFEFmdGVyAQQCJBhzdWJtaXQAAAw8cHJvcG9zYWxfb3JpZ2luAQEgcHJvcG9zYWzdAUBlbmFjdG1lbnRfbW9tZW50SQJYcGxhY2VfZGVjaXNpb25fZGVwb3NpdAAABBRpbmRleARccmVmdW5kX2RlY2lzaW9uX2RlcG9zaXQAAAQUaW5kZXgEGGNhbmNlbAAABBRpbmRleAQQa2lsbAAABBRpbmRleARAbnVkZ2VfcmVmZXJlbmR1bQAABBRpbmRleARIb25lX2Zld2VyX2RlY2lkaW5nAAAEFHRyYWNrBGRyZWZ1bmRfc3VibWlzc2lvbl9kZXBvc2l0AAAEFGluZGV4BDBzZXRfbWV0YWRhdGEAAAgUaW5kZXgEKG1heWJlX2hhc2jtAQIQOHdoaXRlbGlzdF9jYWxsAAAEJGNhbGxfaGFzaGBccmVtb3ZlX3doaXRlbGlzdGVkX2NhbGwAAAQkY2FsbF9oYXNoYGRkaXNwYXRjaF93aGl0ZWxpc3RlZF9jYWxsAAAMJGNhbGxfaGFzaGBAY2FsbF9lbmNvZGVkX2xlbgRMY2FsbF93ZWlnaHRfd2l0bmVzcxScZGlzcGF0Y2hfd2hpdGVsaXN0ZWRfY2FsbF93aXRoX3ByZWltYWdlAAAEEGNhbGxZBAIMUGRpc3BhdGNoX2FzX3RyZWFzdXJ5AAAEEGNhbGxZBGBkaXNwYXRjaF9hc19hYXZlX21hbmFnZXIAAAQQY2FsbFkERG5vdGVfYWF2ZV9tYW5hZ2VyAAAEHGFjY291bnQABoQGTAZYAhQgcmVnaXN0ZXIAACQgYXNzZXRfaWRQEG5hbWVIKGFzc2V0X3R5cGVMTGV4aXN0ZW50aWFsX2RlcG9zaXRUGHN5bWJvbEggZGVjaW1hbHNQIGxvY2F0aW9uWQI4eGNtX3JhdGVfbGltaXRUNGlzX3N1ZmZpY2llbnRYGHVwZGF0ZQAAJCBhc3NldF9pZAQQbmFtZUgoYXNzZXRfdHlwZV0CTGV4aXN0ZW50aWFsX2RlcG9zaXRUOHhjbV9yYXRlX2xpbWl0VDRpc19zdWZmaWNpZW50YQIYc3ltYm9sSCBkZWNpbWFsc1AgbG9jYXRpb25ZAkRyZWdpc3Rlcl9leHRlcm5hbAAABCBsb2NhdGlvboQkYmFuX2Fzc2V0AAAEIGFzc2V0X2lkBCx1bmJhbl9hc3NldAAABCBhc3NldF9pZAQCBBRjbGFpbQAABEhldGhlcmV1bV9zaWduYXR1cmXNAQQIAQgCNCRhZGRfdG9rZW4AABAUYXNzZXQENGluaXRpYWxfcHJpY2UIKHdlaWdodF9jYXAEOHBvc2l0aW9uX293bmVyADRhZGRfbGlxdWlkaXR5AAAIFGFzc2V0BBhhbW91bnQIYGFkZF9saXF1aWRpdHlfd2l0aF9saW1pdAAADBRhc3NldAQYYW1vdW50CEBtaW5fc2hhcmVzX2xpbWl0CEByZW1vdmVfbGlxdWlkaXR5AAAILHBvc2l0aW9uX2lkCBhhbW91bnQIbHJlbW92ZV9saXF1aWRpdHlfd2l0aF9saW1pdAAADCxwb3NpdGlvbl9pZAgYYW1vdW50CCRtaW5fbGltaXQISHNhY3JpZmljZV9wb3NpdGlvbgAABCxwb3NpdGlvbl9pZAgQc2VsbAAAECBhc3NldF9pbgQkYXNzZXRfb3V0BBhhbW91bnQIOG1pbl9idXlfYW1vdW50CAxidXkAABAkYXNzZXRfb3V0BCBhc3NldF9pbgQYYW1vdW50CDxtYXhfc2VsbF9hbW91bnQIYHNldF9hc3NldF90cmFkYWJsZV9zdGF0ZQAACCBhc3NldF9pZAQUc3RhdGUEUHJlZnVuZF9yZWZ1c2VkX2Fzc2V0AAAMIGFzc2V0X2lkBBhhbW91bnQIJHJlY2lwaWVudABQc2V0X2Fzc2V0X3dlaWdodF9jYXAAAAggYXNzZXRfaWQEDGNhcARsd2l0aGRyYXdfcHJvdG9jb2xfbGlxdWlkaXR5AAAQIGFzc2V0X2lkBBhhbW91bnQIFHByaWNlbQIQZGVzdAAwcmVtb3ZlX3Rva2VuAAAIIGFzc2V0X2lkBCxiZW5lZmljaWFyeQACCERwYXVzZV90cmFuc2FjdGlvbgAACCxwYWxsZXRfbmFtZUQ0ZnVuY3Rpb25fbmFtZURMdW5wYXVzZV90cmFuc2FjdGlvbgAACCxwYWxsZXRfbmFtZUQ0ZnVuY3Rpb25fbmFtZUQCDDBkdXN0X2FjY291bnQAAAgcYWNjb3VudAAsY3VycmVuY3lfaWQEXGFkZF9ub25kdXN0YWJsZV9hY2NvdW50AAAEHGFjY291bnQAaHJlbW92ZV9ub25kdXN0YWJsZV9hY2NvdW50AAAEHGFjY291bnQAAAhkaW5pdGlhbF9yZXdhcmRfcGVyY2VudGFnZQgoc2NhbGVfY29lZgQGfQIEtAAACCBhc3NldF9pZAQYYW1vdW50CASJAgAGhQICQEhjcmVhdGVfZ2xvYmFsX2Zhcm0AACA0dG90YWxfcmV3YXJkcwhgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzBERibG9ja3NfcGVyX3BlcmlvZAQ8cmV3YXJkX2N1cnJlbmN5BBRvd25lcgBAeWllbGRfcGVyX3BlcmlvZAgsbWluX2RlcG9zaXQIVGxybmFfcHJpY2VfYWRqdXN0bWVudAhUdGVybWluYXRlX2dsb2JhbF9mYXJtAAAEOGdsb2JhbF9mYXJtX2lkBERjcmVhdGVfeWllbGRfZmFybQAAEDhnbG9iYWxfZmFybV9pZAQgYXNzZXRfaWQEKG11bHRpcGxpZXIINGxveWFsdHlfY3VydmWBAkR1cGRhdGVfeWllbGRfZmFybQAADDhnbG9iYWxfZmFybV9pZAQgYXNzZXRfaWQEKG11bHRpcGxpZXIIPHN0b3BfeWllbGRfZmFybQAACDhnbG9iYWxfZmFybV9pZAQgYXNzZXRfaWQERHJlc3VtZV95aWVsZF9mYXJtAAAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQobXVsdGlwbGllcghQdGVybWluYXRlX3lpZWxkX2Zhcm0AAAw4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBDhkZXBvc2l0X3NoYXJlcwAADDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQscG9zaXRpb25faWQIQHJlZGVwb3NpdF9zaGFyZXMAAAw4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGRlcG9zaXRfaWQINGNsYWltX3Jld2FyZHMAAAgoZGVwb3NpdF9pZAg0eWllbGRfZmFybV9pZAQ8d2l0aGRyYXdfc2hhcmVzAAAIKGRlcG9zaXRfaWQINHlpZWxkX2Zhcm1faWQESHVwZGF0ZV9nbG9iYWxfZmFybQAAEDhnbG9iYWxfZmFybV9pZARgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzBEB5aWVsZF9wZXJfcGVyaW9kCCxtaW5fZGVwb3NpdAgoam9pbl9mYXJtcwAACDBmYXJtX2VudHJpZXOFAixwb3NpdGlvbl9pZAhwYWRkX2xpcXVpZGl0eV9hbmRfam9pbl9mYXJtcwAAEDBmYXJtX2VudHJpZXOFAhRhc3NldAQYYW1vdW50CEBtaW5fc2hhcmVzX2xpbWl0VChleGl0X2Zhcm1zAAAIKGRlcG9zaXRfaWQIOHlpZWxkX2Zhcm1faWRzrMBhZGRfbGlxdWlkaXR5X3N0YWJsZXN3YXBfb21uaXBvb2xfYW5kX2pvaW5fZmFybXMAAAw4c3RhYmxlX3Bvb2xfaWQEUHN0YWJsZV9hc3NldF9hbW91bnRzjQIwZmFybV9lbnRyaWVzkQICECxwbGFjZV9vcmRlcgAAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQISHBhcnRpYWxseV9maWxsYWJsZVhIcGFydGlhbF9maWxsX29yZGVyAAAIIG9yZGVyX2lkBCRhbW91bnRfaW4IKGZpbGxfb3JkZXIAAAQgb3JkZXJfaWQEMGNhbmNlbF9vcmRlcgAABCBvcmRlcl9pZAQGtAIMWHNldF90cmFkZV92b2x1bWVfbGltaXQAAAggYXNzZXRfaWQESHRyYWRlX3ZvbHVtZV9saW1pdLRcc2V0X2FkZF9saXF1aWRpdHlfbGltaXQAAAggYXNzZXRfaWQEPGxpcXVpZGl0eV9saW1pdJ0CaHNldF9yZW1vdmVfbGlxdWlkaXR5X2xpbWl0AAAIIGFzc2V0X2lkBDxsaXF1aWRpdHlfbGltaXSdAgAIIGFzc2V0X2luBCRhc3NldF9vdXQEAhQQc2VsbAAAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IOG1pbl9hbW91bnRfb3V0CBRyb3V0ZZwMYnV5AAAUIGFzc2V0X2luBCRhc3NldF9vdXQEKGFtb3VudF9vdXQING1heF9hbW91bnRfaW4IFHJvdXRlnCRzZXRfcm91dGUAAAgoYXNzZXRfcGFpcqUCJG5ld19yb3V0ZZxIZm9yY2VfaW5zZXJ0X3JvdXRlAAAIKGFzc2V0X3BhaXKlAiRuZXdfcm91dGWcIHNlbGxfYWxsAAAQIGFzc2V0X2luBCRhc3NldF9vdXQEOG1pbl9hbW91bnRfb3V0CBRyb3V0ZZwCFEhpbml0aWFsaXplX3N0YWtpbmcAAQUUc3Rha2UAAAQYYW1vdW50CDhpbmNyZWFzZV9zdGFrZQAACCxwb3NpdGlvbl9pZAgYYW1vdW50CBRjbGFpbQAABCxwb3NpdGlvbl9pZAgcdW5zdGFrZQAABCxwb3NpdGlvbl9pZAgCGCRMYXN0QmxvY2sAAQUUU2hvcnQAAQUoVGVuTWludXRlcwABBRBIb3VyAAEFDERheQABBRBXZWVrAAEFAww0sQIEAggUVmFsdWUBbQIYT3JhY2xlAbUCBLkCAAI0LGNyZWF0ZV9wb29sAAAQLHNoYXJlX2Fzc2V0BBhhc3NldHOsNGFtcGxpZmljYXRpb24EDGZlZQQ8dXBkYXRlX3Bvb2xfZmVlAAAIHHBvb2xfaWQEDGZlZQRQdXBkYXRlX2FtcGxpZmljYXRpb24AABAccG9vbF9pZARMZmluYWxfYW1wbGlmaWNhdGlvbgQsc3RhcnRfYmxvY2sEJGVuZF9ibG9jawQ0YWRkX2xpcXVpZGl0eQAACBxwb29sX2lkBBhhc3NldHONAlBhZGRfbGlxdWlkaXR5X3NoYXJlcwAAEBxwb29sX2lkBBhzaGFyZXMIIGFzc2V0X2lkBEBtYXhfYXNzZXRfYW1vdW50CGhyZW1vdmVfbGlxdWlkaXR5X29uZV9hc3NldAAAEBxwb29sX2lkBCBhc3NldF9pZAQwc2hhcmVfYW1vdW50CDhtaW5fYW1vdW50X291dAhUd2l0aGRyYXdfYXNzZXRfYW1vdW50AAAQHHBvb2xfaWQEIGFzc2V0X2lkBBhhbW91bnQIQG1heF9zaGFyZV9hbW91bnQIEHNlbGwAABQccG9vbF9pZAQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCDhtaW5fYnV5X2Ftb3VudAgMYnV5AAAUHHBvb2xfaWQEJGFzc2V0X291dAQgYXNzZXRfaW4EKGFtb3VudF9vdXQIPG1heF9zZWxsX2Ftb3VudAhgc2V0X2Fzc2V0X3RyYWRhYmxlX3N0YXRlAAAMHHBvb2xfaWQEIGFzc2V0X2lkBBRzdGF0ZQRAcmVtb3ZlX2xpcXVpZGl0eQAADBxwb29sX2lkBDBzaGFyZV9hbW91bnQIPG1pbl9hbW91bnRzX291dI0CVGNyZWF0ZV9wb29sX3dpdGhfcGVncwAAGCxzaGFyZV9hc3NldAQYYXNzZXRzrDRhbXBsaWZpY2F0aW9uBAxmZWUEKHBlZ19zb3VyY2W9AjhtYXhfcGVnX3VwZGF0ZQRQYWRkX2Fzc2V0c19saXF1aWRpdHkAAAwccG9vbF9pZAQYYXNzZXRzjQIobWluX3NoYXJlcwgCCBRpc3N1ZQAADCBhc3NldF9pZAQYYW1vdW50CCBtYXR1cml0eQgYcmVkZWVtAAAIHGJvbmRfaWQEGGFtb3VudAgCBEBzZXR0bGVfb3RjX29yZGVyAAAMGG90Y19pZAQYYW1vdW50CBRyb3V0ZZwCGCxjcmVhdGVfcG9vbAAALChwb29sX293bmVyABxhc3NldF9hBDhhc3NldF9hX2Ftb3VudAgcYXNzZXRfYgQ4YXNzZXRfYl9hbW91bnQIOGluaXRpYWxfd2VpZ2h0BDBmaW5hbF93ZWlnaHQEMHdlaWdodF9jdXJ2ZcAMZmVltDRmZWVfY29sbGVjdG9yADByZXBheV90YXJnZXQIQHVwZGF0ZV9wb29sX2RhdGEAACQccG9vbF9pZAAocG9vbF9vd25lcv0BFHN0YXJ0UAxlbmRQOGluaXRpYWxfd2VpZ2h0UDBmaW5hbF93ZWlnaHRQDGZlZZ0CNGZlZV9jb2xsZWN0b3L9ATByZXBheV90YXJnZXRUNGFkZF9saXF1aWRpdHkAAAggYW1vdW50X2G8IGFtb3VudF9ivEByZW1vdmVfbGlxdWlkaXR5AAAEHHBvb2xfaWQAEHNlbGwAABAgYXNzZXRfaW4EJGFzc2V0X291dAQYYW1vdW50CCRtYXhfbGltaXQIDGJ1eQAAECRhc3NldF9vdXQEIGFzc2V0X2luBBhhbW91bnQIJG1heF9saW1pdAgCFCxjcmVhdGVfcG9vbAAAEBxhc3NldF9hBCBhbW91bnRfYQgcYXNzZXRfYgQgYW1vdW50X2IINGFkZF9saXF1aWRpdHkAABAcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EISGFtb3VudF9iX21heF9saW1pdAhAcmVtb3ZlX2xpcXVpZGl0eQAADBxhc3NldF9hBBxhc3NldF9iBEBsaXF1aWRpdHlfYW1vdW50CBBzZWxsAAAUIGFzc2V0X2luBCRhc3NldF9vdXQEGGFtb3VudAgkbWF4X2xpbWl0CCBkaXNjb3VudFgMYnV5AAAUJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAgkbWF4X2xpbWl0CCBkaXNjb3VudFgCGBBOb25lAAEFFFRpZXIwAAEFFFRpZXIxAAEFFFRpZXIyAAEFFFRpZXIzAAEFFFRpZXI0AAEFAAwgcmVmZXJyZXIEGHRyYWRlcgQgZXh0ZXJuYWwEAhQ0cmVnaXN0ZXJfY29kZQAABBBjb2RlRCRsaW5rX2NvZGUAAAQQY29kZUQcY29udmVydAAABCBhc3NldF9pZAQ0Y2xhaW1fcmV3YXJkcwABBVRzZXRfcmV3YXJkX3BlcmNlbnRhZ2UAAAwgYXNzZXRfaWQEFGxldmVs1QIccmV3YXJkc9kCAggkbGlxdWlkYXRlAAAUQGNvbGxhdGVyYWxfYXNzZXQEKGRlYnRfYXNzZXQEEHVzZXJsNGRlYnRfdG9fY292ZXIIFHJvdXRlnFhzZXRfYm9ycm93aW5nX2NvbnRyYWN0AAAEIGNvbnRyYWN0bAIUIHRyYW5zZmVyAAAMEGRlc3QALGN1cnJlbmN5X2lkBBhhbW91bnQIMHRyYW5zZmVyX2FsbAAADBBkZXN0ACxjdXJyZW5jeV9pZAQoa2VlcF9hbGl2ZVhMdHJhbnNmZXJfa2VlcF9hbGl2ZQAADBBkZXN0ACxjdXJyZW5jeV9pZAQYYW1vdW50CDhmb3JjZV90cmFuc2ZlcgAAEBhzb3VyY2UAEGRlc3QALGN1cnJlbmN5X2lkBBhhbW91bnQILHNldF9iYWxhbmNlAAAQDHdobwAsY3VycmVuY3lfaWQEIG5ld19mcmVlCDBuZXdfcmVzZXJ2ZWQIAgwgdHJhbnNmZXIAAAwQZGVzdAAsY3VycmVuY3lfaWQEGGFtb3VudAhgdHJhbnNmZXJfbmF0aXZlX2N1cnJlbmN5AAAIEGRlc3QAGGFtb3VudAg4dXBkYXRlX2JhbGFuY2UAAAwMd2hvACxjdXJyZW5jeV9pZAQYYW1vdW50CAAQFHN0YXJ0BBhwZXJpb2QEMHBlcmlvZF9jb3VudAQocGVyX3BlcmlvZAgE7QIAAhAUY2xhaW0AAQU8dmVzdGVkX3RyYW5zZmVyAAAIEGRlc3QAIHNjaGVkdWxl7QJgdXBkYXRlX3Zlc3Rpbmdfc2NoZWR1bGVzAAAIDHdobwBEdmVzdGluZ19zY2hlZHVsZXPxAiRjbGFpbV9mb3IAAAQQZGVzdAAGJQEDCGzQBP0CAAIQIHdpdGhkcmF3AAAIHGFkZHJlc3NsFHZhbHVlCBBjYWxsAAAkGHNvdXJjZWwYdGFyZ2V0bBRpbnB1dEQUdmFsdWUlASRnYXNfbGltaXQIPG1heF9mZWVfcGVyX2dhcyUBYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhc/kCFG5vbmNl+QIsYWNjZXNzX2xpc3QBAxhjcmVhdGUAACAYc291cmNlbBBpbml0RBR2YWx1ZSUBJGdhc19saW1pdAg8bWF4X2ZlZV9wZXJfZ2FzJQFgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2Fz+QIUbm9uY2X5AixhY2Nlc3NfbGlzdAEDHGNyZWF0ZTIAACQYc291cmNlbBBpbml0RBBzYWx0YBR2YWx1ZSUBJGdhc19saW1pdAg8bWF4X2ZlZV9wZXJfZ2FzJQFgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2Fz+QIUbm9uY2X5AixhY2Nlc3NfbGlzdAEDAggQQ2FsbAFsGENyZWF0ZQABBQAMBHYIBHJgBHNgABwUbm9uY2UlASRnYXNfcHJpY2UlASRnYXNfbGltaXQlARhhY3Rpb24JAxR2YWx1ZSUBFGlucHV0RCRzaWduYXR1cmUNAwAIHGFkZHJlc3NsMHN0b3JhZ2Vfa2V5c9AEFQMAACwgY2hhaW5faWQIFG5vbmNlJQEkZ2FzX3ByaWNlJQEkZ2FzX2xpbWl0JQEYYWN0aW9uCQMUdmFsdWUlARRpbnB1dEQsYWNjZXNzX2xpc3QZAzBvZGRfeV9wYXJpdHlYBHJgBHNgADAgY2hhaW5faWQIFG5vbmNlJQFgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2FzJQE8bWF4X2ZlZV9wZXJfZ2FzJQEkZ2FzX2xpbWl0JQEYYWN0aW9uCQMUdmFsdWUlARRpbnB1dEQsYWNjZXNzX2xpc3QZAzBvZGRfeV9wYXJpdHlYBHJgBHNgAgwYTGVnYWN5AREDHEVJUDI5MzABHQMcRUlQMTU1OQEhAwIEIHRyYW5zYWN0AAAELHRyYW5zYWN0aW9uJQMCGEBiaW5kX2V2bV9hZGRyZXNzAAEFVGFkZF9jb250cmFjdF9kZXBsb3llcgAABBxhZGRyZXNzbGByZW1vdmVfY29udHJhY3RfZGVwbG95ZXIAAAQcYWRkcmVzc2xocmVub3VuY2VfY29udHJhY3RfZGVwbG95ZXIAAQVAYXBwcm92ZV9jb250cmFjdAAABBxhZGRyZXNzbExkaXNhcHByb3ZlX2NvbnRyYWN0AAAEHGFkZHJlc3NsAjxIY3JlYXRlX2dsb2JhbF9mYXJtAAAkNHRvdGFsX3Jld2FyZHMIYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcwREYmxvY2tzX3Blcl9wZXJpb2QESGluY2VudGl2aXplZF9hc3NldAQ8cmV3YXJkX2N1cnJlbmN5BBRvd25lcgBAeWllbGRfcGVyX3BlcmlvZAgsbWluX2RlcG9zaXQIQHByaWNlX2FkanVzdG1lbnQISHVwZGF0ZV9nbG9iYWxfZmFybQAACDhnbG9iYWxfZmFybV9pZARAcHJpY2VfYWRqdXN0bWVudAhUdGVybWluYXRlX2dsb2JhbF9mYXJtAAAEOGdsb2JhbF9mYXJtX2lkBERjcmVhdGVfeWllbGRfZmFybQAAEDhnbG9iYWxfZmFybV9pZAQoYXNzZXRfcGFpcqUCKG11bHRpcGxpZXIINGxveWFsdHlfY3VydmWBAkR1cGRhdGVfeWllbGRfZmFybQAADDhnbG9iYWxfZmFybV9pZAQoYXNzZXRfcGFpcqUCKG11bHRpcGxpZXIIPHN0b3BfeWllbGRfZmFybQAACDhnbG9iYWxfZmFybV9pZAQoYXNzZXRfcGFpcqUCRHJlc3VtZV95aWVsZF9mYXJtAAAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChhc3NldF9wYWlypQIobXVsdGlwbGllcghQdGVybWluYXRlX3lpZWxkX2Zhcm0AAAw4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGFzc2V0X3BhaXKlAjhkZXBvc2l0X3NoYXJlcwAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoYXNzZXRfcGFpcqUCNHNoYXJlc19hbW91bnQIKGpvaW5fZmFybXMAAAwwZmFybV9lbnRyaWVzhQIoYXNzZXRfcGFpcqUCNHNoYXJlc19hbW91bnQIcGFkZF9saXF1aWRpdHlfYW5kX2pvaW5fZmFybXMAABQcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EISGFtb3VudF9iX21heF9saW1pdAgwZmFybV9lbnRyaWVzhQJAcmVkZXBvc2l0X3NoYXJlcwAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoYXNzZXRfcGFpcqUCKGRlcG9zaXRfaWQINGNsYWltX3Jld2FyZHMAAAgoZGVwb3NpdF9pZAg0eWllbGRfZmFybV9pZAQ8d2l0aGRyYXdfc2hhcmVzAAAMKGRlcG9zaXRfaWQINHlpZWxkX2Zhcm1faWQEKGFzc2V0X3BhaXKlAihleGl0X2Zhcm1zAAAMKGRlcG9zaXRfaWQIKGFzc2V0X3BhaXKlAjBmYXJtX2VudHJpZXOsAggQU2VsbAAAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IOG1pbl9hbW91bnRfb3V0CBRyb3V0ZZwMQnV5AAAUIGFzc2V0X2luBCRhc3NldF9vdXQEKGFtb3VudF9vdXQING1heF9hbW91bnRfaW4IFHJvdXRlnAAcFG93bmVyABhwZXJpb2QEMHRvdGFsX2Ftb3VudAgsbWF4X3JldHJpZXNQTHN0YWJpbGl0eV90aHJlc2hvbGRQIHNsaXBwYWdlUBRvcmRlcjUDAgggc2NoZWR1bGUAAAggc2NoZWR1bGU5A1RzdGFydF9leGVjdXRpb25fYmxvY2tQJHRlcm1pbmF0ZQAACCxzY2hlZHVsZV9pZARQbmV4dF9leGVjdXRpb25fYmxvY2tQAiggc2NoZWR1bGUAABAQd2hlbgQ4bWF5YmVfcGVyaW9kaWOdAiBwcmlvcml0eQQQY2FsbFkEGGNhbmNlbAAACBB3aGVuBBRpbmRleAQ4c2NoZWR1bGVfbmFtZWQAABQIaWRgEHdoZW4EOG1heWJlX3BlcmlvZGljnQIgcHJpb3JpdHkEEGNhbGxZBDBjYW5jZWxfbmFtZWQAAAQIaWRgOHNjaGVkdWxlX2FmdGVyAAAQFGFmdGVyBDhtYXliZV9wZXJpb2RpY50CIHByaW9yaXR5BBBjYWxsWQRQc2NoZWR1bGVfbmFtZWRfYWZ0ZXIAABQIaWRgFGFmdGVyBDhtYXliZV9wZXJpb2RpY50CIHByaW9yaXR5BBBjYWxsWQQkc2V0X3JldHJ5AAAMEHRhc2u0HHJldHJpZXMEGHBlcmlvZAQ8c2V0X3JldHJ5X25hbWVkAAAMCGlkYBxyZXRyaWVzBBhwZXJpb2QEMGNhbmNlbF9yZXRyeQAABBB0YXNrtEhjYW5jZWxfcmV0cnlfbmFtZWQAAAQIaWRgAAgcc2VudF9hdAQMbXNnRARFAwAACBxzZW50X2F0BBBkYXRhRARNAwADCARRAwRVAwAAEDx2YWxpZGF0aW9uX2RhdGHYRHJlbGF5X2NoYWluX3N0YXRlDQFEZG93bndhcmRfbWVzc2FnZXNJA0xob3Jpem9udGFsX21lc3NhZ2VzWQMCCExzZXRfdmFsaWRhdGlvbl9kYXRhAAAEEGRhdGFdA2BzdWRvX3NlbmRfdXB3YXJkX21lc3NhZ2UAAAQcbWVzc2FnZUQCEAxBbnkAAQUUTmFtZWQBRCBQb2xrYWRvdAABBRhLdXNhbWEAAQUCKBBVbml0AAEFFE5hbWVkAUQUSW5kZXgBBCRFeGVjdXRpdmUAAQUkVGVjaG5pY2FsAAEFLExlZ2lzbGF0aXZlAAEFIEp1ZGljaWFsAAEFHERlZmVuc2UAAQU4QWRtaW5pc3RyYXRpb24AAQUgVHJlYXN1cnkAAQUCJCRQYXJhY2hhaW4BBCxBY2NvdW50SWQzMgAACBxuZXR3b3JrZQMIaWRgOEFjY291bnRJbmRleDY0AAAIHG5ldHdvcmtlAxRpbmRleAgwQWNjb3VudEtleTIwAAAIHG5ldHdvcmtlAwxrZXlsOFBhbGxldEluc3RhbmNlAQQwR2VuZXJhbEluZGV4AQgoR2VuZXJhbEtleQFEJE9ubHlDaGlsZAABBSRQbHVyYWxpdHkAAAgIaWRpAxBwYXJ0eAIkEEhlcmUAAQUIWDEBbQMIWDIABG0DAQgIWDMABG0DAQwIWDQABG0DARAIWDUABG0DARQIWDYABG0DARgIWDcABG0DARwIWDgABG0DASAACBxwYXJlbnRzBCBpbnRlcmlvcnEDAgwIVjIBdQMIVjMBhAhWNAGEAgggQ29uY3JldGUBdQMgQWJzdHJhY3QBRAIcJFVuZGVmaW5lZAABBRRJbmRleAEIGEFycmF5NAFwGEFycmF5OAE0HEFycmF5MTYBbQEcQXJyYXkzMgFgEEJsb2IBRAIIIEZ1bmdpYmxlAQgsTm9uRnVuZ2libGUBgQMACAhpZH0DDGZ1boUDBIkDAAJoIE92ZXJmbG93AAEFNFVuaW1wbGVtZW50ZWQAAQVgVW50cnVzdGVkUmVzZXJ2ZUxvY2F0aW9uAAEFZFVudHJ1c3RlZFRlbGVwb3J0TG9jYXRpb24AAQVETXVsdGlMb2NhdGlvbkZ1bGwAAQVoTXVsdGlMb2NhdGlvbk5vdEludmVydGlibGUAAQUkQmFkT3JpZ2luAAEFPEludmFsaWRMb2NhdGlvbgABBTRBc3NldE5vdEZvdW5kAAEFVEZhaWxlZFRvVHJhbnNhY3RBc3NldAABBTxOb3RXaXRoZHJhd2FibGUAAQVITG9jYXRpb25DYW5ub3RIb2xkAAEFVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQABBVhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAAEFJFRyYW5zcG9ydAABBShVbnJvdXRhYmxlAAEFMFVua25vd25DbGFpbQABBThGYWlsZWRUb0RlY29kZQABBUBNYXhXZWlnaHRJbnZhbGlkAAEFOE5vdEhvbGRpbmdGZWVzAAEFMFRvb0V4cGVuc2l2ZQABBRBUcmFwAQhMVW5oYW5kbGVkWGNtVmVyc2lvbgABBUhXZWlnaHRMaW1pdFJlYWNoZWQBCBxCYXJyaWVyAAEFTFdlaWdodE5vdENvbXB1dGFibGUAAQUDCASRAwaVAwIQEE51bGwAAQUYQXNzZXRzAY0DPEV4ZWN1dGlvblJlc3VsdAGZAxxWZXJzaW9uAQQCEBhOYXRpdmUAAQVAU292ZXJlaWduQWNjb3VudAABBSRTdXBlcnVzZXIAAQUMWGNtAAEFAgggRnVuZ2libGUAAQUsTm9uRnVuZ2libGUAAQUCCAxBbGwAAQUUQWxsT2YAAAgIaWR9AwxmdW6lAwIIIERlZmluaXRlAY0DEFdpbGQBqQMCCCRVbmxpbWl0ZWQAAQUcTGltaXRlZAEIAnA0V2l0aGRyYXdBc3NldAGNA1RSZXNlcnZlQXNzZXREZXBvc2l0ZWQBjQNYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAGNAzRRdWVyeVJlc3BvbnNlAAAMIHF1ZXJ5X2lkCCByZXNwb25zZZ0DKG1heF93ZWlnaHQINFRyYW5zZmVyQXNzZXQAAAgYYXNzZXRzjQMsYmVuZWZpY2lhcnl1A1BUcmFuc2ZlclJlc2VydmVBc3NldAAADBhhc3NldHONAxBkZXN0dQMMeGNtuQMgVHJhbnNhY3QAAAwsb3JpZ2luX3R5cGWhA1hyZXF1aXJlX3dlaWdodF9hdF9tb3N0CBBjYWxsRGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0AAAMGHNlbmRlcgRAbWF4X21lc3NhZ2Vfc2l6ZQQwbWF4X2NhcGFjaXR5BExIcm1wQ2hhbm5lbEFjY2VwdGVkAAAEJHJlY2lwaWVudARISHJtcENoYW5uZWxDbG9zaW5nAAAMJGluaXRpYXRvcgQYc2VuZGVyBCRyZWNpcGllbnQELENsZWFyT3JpZ2luAAEFNERlc2NlbmRPcmlnaW4BcQMsUmVwb3J0RXJyb3IAAAwgcXVlcnlfaWQIEGRlc3R1A0xtYXhfcmVzcG9uc2Vfd2VpZ2h0CDBEZXBvc2l0QXNzZXQAAAwYYXNzZXRzrQMobWF4X2Fzc2V0cwQsYmVuZWZpY2lhcnl1A0xEZXBvc2l0UmVzZXJ2ZUFzc2V0AAAQGGFzc2V0c60DKG1heF9hc3NldHMEEGRlc3R1Awx4Y225AzRFeGNoYW5nZUFzc2V0AAAIEGdpdmWtAxxyZWNlaXZljQNcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcAAAwYYXNzZXRzrQMccmVzZXJ2ZXUDDHhjbbkDQEluaXRpYXRlVGVsZXBvcnQAAAwYYXNzZXRzrQMQZGVzdHUDDHhjbbkDMFF1ZXJ5SG9sZGluZwAAECBxdWVyeV9pZAgQZGVzdHUDGGFzc2V0c60DTG1heF9yZXNwb25zZV93ZWlnaHQIMEJ1eUV4ZWN1dGlvbgAACBBmZWVziQMwd2VpZ2h0X2xpbWl0sQM0UmVmdW5kU3VycGx1cwABBTxTZXRFcnJvckhhbmRsZXIBuQMsU2V0QXBwZW5kaXgBuQMoQ2xlYXJFcnJvcgABBShDbGFpbUFzc2V0AAAIGGFzc2V0c40DGHRpY2tldHUDEFRyYXABCEBTdWJzY3JpYmVWZXJzaW9uAAAIIHF1ZXJ5X2lkCExtYXhfcmVzcG9uc2Vfd2VpZ2h0CEhVbnN1YnNjcmliZVZlcnNpb24AAQUEtQMAAgggQ29uY3JldGUBhCBBYnN0cmFjdAFgAhgkVW5kZWZpbmVkAAEFFEluZGV4AQgYQXJyYXk0AXAYQXJyYXk4ATQcQXJyYXkxNgFtARxBcnJheTMyAWACCCBGdW5naWJsZQEILE5vbkZ1bmdpYmxlAcEDAAgIaWS9AwxmdW7FAwTJAwACoCBPdmVyZmxvdwABBTRVbmltcGxlbWVudGVkAAEFYFVudHJ1c3RlZFJlc2VydmVMb2NhdGlvbgABBWRVbnRydXN0ZWRUZWxlcG9ydExvY2F0aW9uAAEFMExvY2F0aW9uRnVsbAABBVRMb2NhdGlvbk5vdEludmVydGlibGUAAQUkQmFkT3JpZ2luAAEFPEludmFsaWRMb2NhdGlvbgABBTRBc3NldE5vdEZvdW5kAAEFVEZhaWxlZFRvVHJhbnNhY3RBc3NldAABBTxOb3RXaXRoZHJhd2FibGUAAQVITG9jYXRpb25DYW5ub3RIb2xkAAEFVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQABBVhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAAEFJFRyYW5zcG9ydAABBShVbnJvdXRhYmxlAAEFMFVua25vd25DbGFpbQABBThGYWlsZWRUb0RlY29kZQABBUBNYXhXZWlnaHRJbnZhbGlkAAEFOE5vdEhvbGRpbmdGZWVzAAEFMFRvb0V4cGVuc2l2ZQABBRBUcmFwAQhARXhwZWN0YXRpb25GYWxzZQABBThQYWxsZXROb3RGb3VuZAABBTBOYW1lTWlzbWF0Y2gAAQVMVmVyc2lvbkluY29tcGF0aWJsZQABBVBIb2xkaW5nV291bGRPdmVyZmxvdwABBSxFeHBvcnRFcnJvcgABBThSZWFuY2hvckZhaWxlZAABBRhOb0RlYWwAAQUoRmVlc05vdE1ldAABBSRMb2NrRXJyb3IAAQUwTm9QZXJtaXNzaW9uAAEFKFVuYW5jaG9yZWQAAQU4Tm90RGVwb3NpdGFibGUAAQVMVW5oYW5kbGVkWGNtVmVyc2lvbgABBUhXZWlnaHRMaW1pdFJlYWNoZWQBFBxCYXJyaWVyAAEFTFdlaWdodE5vdENvbXB1dGFibGUAAQVERXhjZWVkc1N0YWNrTGltaXQAAQUDCATRAwbVAwAYFGluZGV4BBBuYW1lRCxtb2R1bGVfbmFtZUQUbWFqb3IEFG1pbm9yBBRwYXRjaAQE3QMAAgwcU3VjY2VzcwABBRRFcnJvcgFEOFRydW5jYXRlZEVycm9yAUQCGBBOdWxsAAEFGEFzc2V0cwHNAzxFeGVjdXRpb25SZXN1bHQB2QMcVmVyc2lvbgEELFBhbGxldHNJbmZvAeEDOERpc3BhdGNoUmVzdWx0AeUDAAwsZGVzdGluYXRpb26EIHF1ZXJ5X2lkCChtYXhfd2VpZ2h0FAIQDEFsbAABBRRBbGxPZgAACAhpZL0DDGZ1bqUDKEFsbENvdW50ZWQBBDBBbGxPZkNvdW50ZWQAAAwIaWS9AwxmdW6lAxRjb3VudAQCCCBEZWZpbml0ZQHNAxBXaWxkAfEDAggkVW5saW1pdGVkAAEFHExpbWl0ZWQBFALANFdpdGhkcmF3QXNzZXQBzQNUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkAc0DWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQBzQM0UXVlcnlSZXNwb25zZQAAECBxdWVyeV9pZAggcmVzcG9uc2XpAyhtYXhfd2VpZ2h0FBxxdWVyaWVyWQI0VHJhbnNmZXJBc3NldAAACBhhc3NldHPNAyxiZW5lZmljaWFyeYRQVHJhbnNmZXJSZXNlcnZlQXNzZXQAAAwYYXNzZXRzzQMQZGVzdIQMeGNtAQQgVHJhbnNhY3QAAAwsb3JpZ2luX2tpbmShA1hyZXF1aXJlX3dlaWdodF9hdF9tb3N0FBBjYWxsRGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0AAAMGHNlbmRlcgRAbWF4X21lc3NhZ2Vfc2l6ZQQwbWF4X2NhcGFjaXR5BExIcm1wQ2hhbm5lbEFjY2VwdGVkAAAEJHJlY2lwaWVudARISHJtcENoYW5uZWxDbG9zaW5nAAAMJGluaXRpYXRvcgQYc2VuZGVyBCRyZWNpcGllbnQELENsZWFyT3JpZ2luAAEFNERlc2NlbmRPcmlnaW4BgCxSZXBvcnRFcnJvcgHtAzBEZXBvc2l0QXNzZXQAAAgYYXNzZXRz9QMsYmVuZWZpY2lhcnmETERlcG9zaXRSZXNlcnZlQXNzZXQAAAwYYXNzZXRz9QMQZGVzdIQMeGNtAQQ0RXhjaGFuZ2VBc3NldAAADBBnaXZl9QMQd2FudM0DHG1heGltYWxYXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3AAAMGGFzc2V0c/UDHHJlc2VydmWEDHhjbQEEQEluaXRpYXRlVGVsZXBvcnQAAAwYYXNzZXRz9QMQZGVzdIQMeGNtAQQ0UmVwb3J0SG9sZGluZwAACDRyZXNwb25zZV9pbmZv7QMYYXNzZXRz9QMwQnV5RXhlY3V0aW9uAAAIEGZlZXPJAzB3ZWlnaHRfbGltaXT5AzRSZWZ1bmRTdXJwbHVzAAEFPFNldEVycm9ySGFuZGxlcgEBBCxTZXRBcHBlbmRpeAEBBChDbGVhckVycm9yAAEFKENsYWltQXNzZXQAAAgYYXNzZXRzzQMYdGlja2V0hBBUcmFwAQhAU3Vic2NyaWJlVmVyc2lvbgAACCBxdWVyeV9pZAhMbWF4X3Jlc3BvbnNlX3dlaWdodBRIVW5zdWJzY3JpYmVWZXJzaW9uAAEFJEJ1cm5Bc3NldAHNAyxFeHBlY3RBc3NldAHNAzBFeHBlY3RPcmlnaW4BWQIsRXhwZWN0RXJyb3IB2QNQRXhwZWN0VHJhbnNhY3RTdGF0dXMB5QMsUXVlcnlQYWxsZXQAAAgsbW9kdWxlX25hbWVENHJlc3BvbnNlX2luZm/tAzBFeHBlY3RQYWxsZXQAABQUaW5kZXgEEG5hbWVELG1vZHVsZV9uYW1lRCxjcmF0ZV9tYWpvcgQ8bWluX2NyYXRlX21pbm9yBFBSZXBvcnRUcmFuc2FjdFN0YXR1cwHtA0xDbGVhclRyYW5zYWN0U3RhdHVzAAEFPFVuaXZlcnNhbE9yaWdpbgF8NEV4cG9ydE1lc3NhZ2UAAAwcbmV0d29ya2QsZGVzdGluYXRpb26ADHhjbQEEJExvY2tBc3NldAAACBRhc3NldMkDIHVubG9ja2VyhCxVbmxvY2tBc3NldAAACBRhc3NldMkDGHRhcmdldIQ4Tm90ZVVubG9ja2FibGUAAAgUYXNzZXTJAxRvd25lcoQ0UmVxdWVzdFVubG9jawAACBRhc3NldMkDGGxvY2tlcoQsU2V0RmVlc01vZGUAAAQwaml0X3dpdGhkcmF3WCBTZXRUb3BpYwFgKENsZWFyVG9waWMAAQUsQWxpYXNPcmlnaW4BhDxVbnBhaWRFeGVjdXRpb24AAAgwd2VpZ2h0X2xpbWl0+QMwY2hlY2tfb3JpZ2luWQIE/QMAAAgIaWSEDGZ1bsUDBAUEAAIYEE51bGwAAQUYQXNzZXRzAQkEPEV4ZWN1dGlvblJlc3VsdAHZAxxWZXJzaW9uAQQsUGFsbGV0c0luZm8B4QM4RGlzcGF0Y2hSZXN1bHQB5QMCEAxBbGwAAQUUQWxsT2YAAAgIaWSEDGZ1bqUDKEFsbENvdW50ZWQBBDBBbGxPZkNvdW50ZWQAAAwIaWSEDGZ1bqUDFGNvdW50BAIIIERlZmluaXRlAQkEEFdpbGQBEQQCwDRXaXRoZHJhd0Fzc2V0AQkEVFJlc2VydmVBc3NldERlcG9zaXRlZAEJBFhSZWNlaXZlVGVsZXBvcnRlZEFzc2V0AQkENFF1ZXJ5UmVzcG9uc2UAABAgcXVlcnlfaWQIIHJlc3BvbnNlDQQobWF4X3dlaWdodBQccXVlcmllclkCNFRyYW5zZmVyQXNzZXQAAAgYYXNzZXRzCQQsYmVuZWZpY2lhcnmEUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0AAAMGGFzc2V0cwkEEGRlc3SEDHhjbR0EIFRyYW5zYWN0AAAMLG9yaWdpbl9raW5koQNYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdBQQY2FsbERkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAAADBhzZW5kZXIEQG1heF9tZXNzYWdlX3NpemUEMG1heF9jYXBhY2l0eQRMSHJtcENoYW5uZWxBY2NlcHRlZAAABCRyZWNpcGllbnQESEhybXBDaGFubmVsQ2xvc2luZwAADCRpbml0aWF0b3IEGHNlbmRlcgQkcmVjaXBpZW50BCxDbGVhck9yaWdpbgABBTREZXNjZW5kT3JpZ2luAYAsUmVwb3J0RXJyb3IB7QMwRGVwb3NpdEFzc2V0AAAIGGFzc2V0cxUELGJlbmVmaWNpYXJ5hExEZXBvc2l0UmVzZXJ2ZUFzc2V0AAAMGGFzc2V0cxUEEGRlc3SEDHhjbR0ENEV4Y2hhbmdlQXNzZXQAAAwQZ2l2ZRUEEHdhbnQJBBxtYXhpbWFsWFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwAADBhhc3NldHMVBBxyZXNlcnZlhAx4Y20dBEBJbml0aWF0ZVRlbGVwb3J0AAAMGGFzc2V0cxUEEGRlc3SEDHhjbR0ENFJlcG9ydEhvbGRpbmcAAAg0cmVzcG9uc2VfaW5mb+0DGGFzc2V0cxUEMEJ1eUV4ZWN1dGlvbgAACBBmZWVzBQQwd2VpZ2h0X2xpbWl0+QM0UmVmdW5kU3VycGx1cwABBTxTZXRFcnJvckhhbmRsZXIBHQQsU2V0QXBwZW5kaXgBHQQoQ2xlYXJFcnJvcgABBShDbGFpbUFzc2V0AAAIGGFzc2V0cwkEGHRpY2tldIQQVHJhcAEIQFN1YnNjcmliZVZlcnNpb24AAAggcXVlcnlfaWQITG1heF9yZXNwb25zZV93ZWlnaHQUSFVuc3Vic2NyaWJlVmVyc2lvbgABBSRCdXJuQXNzZXQBCQQsRXhwZWN0QXNzZXQBCQQwRXhwZWN0T3JpZ2luAVkCLEV4cGVjdEVycm9yAdkDUEV4cGVjdFRyYW5zYWN0U3RhdHVzAeUDLFF1ZXJ5UGFsbGV0AAAILG1vZHVsZV9uYW1lRDRyZXNwb25zZV9pbmZv7QMwRXhwZWN0UGFsbGV0AAAUFGluZGV4BBBuYW1lRCxtb2R1bGVfbmFtZUQsY3JhdGVfbWFqb3IEPG1pbl9jcmF0ZV9taW5vcgRQUmVwb3J0VHJhbnNhY3RTdGF0dXMB7QNMQ2xlYXJUcmFuc2FjdFN0YXR1cwABBTxVbml2ZXJzYWxPcmlnaW4BfDRFeHBvcnRNZXNzYWdlAAAMHG5ldHdvcmtkLGRlc3RpbmF0aW9ugAx4Y20dBCRMb2NrQXNzZXQAAAgUYXNzZXQFBCB1bmxvY2tlcoQsVW5sb2NrQXNzZXQAAAgUYXNzZXQFBBh0YXJnZXSEOE5vdGVVbmxvY2thYmxlAAAIFGFzc2V0BQQUb3duZXKENFJlcXVlc3RVbmxvY2sAAAgUYXNzZXQFBBhsb2NrZXKELFNldEZlZXNNb2RlAAAEMGppdF93aXRoZHJhd1ggU2V0VG9waWMBYChDbGVhclRvcGljAAEFLEFsaWFzT3JpZ2luAYQ8VW5wYWlkRXhlY3V0aW9uAAAIMHdlaWdodF9saW1pdPkDMGNoZWNrX29yaWdpblkCBBkEAAIMCFYyAbkDCFYzAQEECFY0AR0EAgwIVjIBjQMIVjMBzQMIVjQBCQQCECBUZWxlcG9ydAABBTBMb2NhbFJlc2VydmUAAQVIRGVzdGluYXRpb25SZXNlcnZlAAEFNFJlbW90ZVJlc2VydmUBeQMCCAhWMwG9AwhWNAGEAjgQc2VuZAAACBBkZXN0eQMcbWVzc2FnZSEEPHRlbGVwb3J0X2Fzc2V0cwAAEBBkZXN0eQMsYmVuZWZpY2lhcnl5Axhhc3NldHMlBDhmZWVfYXNzZXRfaXRlbQRccmVzZXJ2ZV90cmFuc2Zlcl9hc3NldHMAABAQZGVzdHkDLGJlbmVmaWNpYXJ5eQMYYXNzZXRzJQQ4ZmVlX2Fzc2V0X2l0ZW0EHGV4ZWN1dGUAAAgcbWVzc2FnZSEEKG1heF93ZWlnaHQURGZvcmNlX3hjbV92ZXJzaW9uAAAIIGxvY2F0aW9uhBx2ZXJzaW9uBGRmb3JjZV9kZWZhdWx0X3hjbV92ZXJzaW9uAAAERG1heWJlX3hjbV92ZXJzaW9uUHhmb3JjZV9zdWJzY3JpYmVfdmVyc2lvbl9ub3RpZnkAAAQgbG9jYXRpb255A4Bmb3JjZV91bnN1YnNjcmliZV92ZXJzaW9uX25vdGlmeQAABCBsb2NhdGlvbnkDfGxpbWl0ZWRfcmVzZXJ2ZV90cmFuc2Zlcl9hc3NldHMAABQQZGVzdHkDLGJlbmVmaWNpYXJ5eQMYYXNzZXRzJQQ4ZmVlX2Fzc2V0X2l0ZW0EMHdlaWdodF9saW1pdPkDXGxpbWl0ZWRfdGVsZXBvcnRfYXNzZXRzAAAUEGRlc3R5AyxiZW5lZmljaWFyeXkDGGFzc2V0cyUEOGZlZV9hc3NldF9pdGVtBDB3ZWlnaHRfbGltaXT5A0Bmb3JjZV9zdXNwZW5zaW9uAAAEJHN1c3BlbmRlZFg8dHJhbnNmZXJfYXNzZXRzAAAUEGRlc3R5AyxiZW5lZmljaWFyeXkDGGFzc2V0cyUEOGZlZV9hc3NldF9pdGVtBDB3ZWlnaHRfbGltaXT5AzBjbGFpbV9hc3NldHMAAAgYYXNzZXRzJQQsYmVuZWZpY2lhcnl5A4x0cmFuc2Zlcl9hc3NldHNfdXNpbmdfdHlwZV9hbmRfdGhlbgAAHBBkZXN0eQMYYXNzZXRzJQRQYXNzZXRzX3RyYW5zZmVyX3R5cGUpBDhyZW1vdGVfZmVlc19pZC0ESGZlZXNfdHJhbnNmZXJfdHlwZSkESGN1c3RvbV94Y21fb25fZGVzdCEEMHdlaWdodF9saW1pdPkDAgwQSGVyZQABBRhQYXJlbnQAAQUcU2libGluZwEEAggkcmVhcF9wYWdlAAAIOG1lc3NhZ2Vfb3JpZ2luNQQocGFnZV9pbmRleARIZXhlY3V0ZV9vdmVyd2VpZ2h0AAAQOG1lc3NhZ2Vfb3JpZ2luNQQQcGFnZQQUaW5kZXgEMHdlaWdodF9saW1pdBQCBERzZW5kX2FzX3NvdmVyZWlnbgAACBBkZXN0eQMcbWVzc2FnZSEEAgwIVjIBiQMIVjMByQMIVjQBBQQEvAACGCB0cmFuc2ZlcgAAECxjdXJyZW5jeV9pZAQYYW1vdW50CBBkZXN0eQNEZGVzdF93ZWlnaHRfbGltaXT5A0x0cmFuc2Zlcl9tdWx0aWFzc2V0AAAMFGFzc2V0QQQQZGVzdHkDRGRlc3Rfd2VpZ2h0X2xpbWl0+QNEdHJhbnNmZXJfd2l0aF9mZWUAABQsY3VycmVuY3lfaWQEGGFtb3VudAgMZmVlCBBkZXN0eQNEZGVzdF93ZWlnaHRfbGltaXT5A3B0cmFuc2Zlcl9tdWx0aWFzc2V0X3dpdGhfZmVlAAAQFGFzc2V0QQQMZmVlQQQQZGVzdHkDRGRlc3Rfd2VpZ2h0X2xpbWl0+QNgdHJhbnNmZXJfbXVsdGljdXJyZW5jaWVzAAAQKGN1cnJlbmNpZXNFBCBmZWVfaXRlbQQQZGVzdHkDRGRlc3Rfd2VpZ2h0X2xpbWl0+QNQdHJhbnNmZXJfbXVsdGlhc3NldHMAABAYYXNzZXRzJQQgZmVlX2l0ZW0EEGRlc3R5A0RkZXN0X3dlaWdodF9saW1pdPkDAiREc2V0X2ludnVsbmVyYWJsZXMAAAQMbmV3GQFYc2V0X2Rlc2lyZWRfY2FuZGlkYXRlcwAABAxtYXgESHNldF9jYW5kaWRhY3lfYm9uZAAABBBib25kCFRyZWdpc3Rlcl9hc19jYW5kaWRhdGUAAQUwbGVhdmVfaW50ZW50AAEFQGFkZF9pbnZ1bG5lcmFibGUAAAQMd2hvAExyZW1vdmVfaW52dWxuZXJhYmxlAAAEDHdobwAsdXBkYXRlX2JvbmQAAAQsbmV3X2RlcG9zaXQITHRha2VfY2FuZGlkYXRlX3Nsb3QAAAgcZGVwb3NpdAgYdGFyZ2V0AAIIIHNldF9rZXlzAAAIEGtleXNgFHByb29mRChwdXJnZV9rZXlzAAEFAgwoYWRkX29yYWNsZQAACBhzb3VyY2U0GGFzc2V0c7Q0cmVtb3ZlX29yYWNsZQAACBhzb3VyY2U0GGFzc2V0c7RUdXBkYXRlX2JpZnJvc3Rfb3JhY2xlAAAMHGFzc2V0X2F5Axxhc3NldF9ieQMUcHJpY2VtAgL8GFN5c3RlbQERASRUaW1lc3RhbXABFQEgQmFsYW5jZXMBIQFcTXVsdGlUcmFuc2FjdGlvblBheW1lbnQBKQEgVHJlYXN1cnkBLQEcVXRpbGl0eQE1ASBQcmVpbWFnZQE5ASBJZGVudGl0eQHZASREZW1vY3JhY3kB8QEkRWxlY3Rpb25zAfkBHENvdW5jaWwBAQJIVGVjaG5pY2FsQ29tbWl0dGVlAQECEFRpcHMBBQIUUHJveHkBEQIgTXVsdGlzaWcBHQIcVW5pcXVlcwEpAkhTdGF0ZVRyaWVNaWdyYXRpb24BPQJAQ29udmljdGlvblZvdGluZwFFAiRSZWZlcmVuZGEBTQIkV2hpdGVsaXN0AVECKERpc3BhdGNoZXIBVQI0QXNzZXRSZWdpc3RyeQFlAhhDbGFpbXMBaQI4R2VuZXNpc0hpc3RvcnkB/CBPbW5pcG9vbAFxAkBUcmFuc2FjdGlvblBhdXNlAXUCGER1c3RlcgF5AkxPbW5pcG9vbFdhcmVob3VzZUxNAfxcT21uaXBvb2xMaXF1aWRpdHlNaW5pbmcBlQIMT1RDAZkCOENpcmN1aXRCcmVha2VyAaECGFJvdXRlcgGpAixEeW5hbWljRmVlcwH8HFN0YWtpbmcBrQIoU3RhYmxlc3dhcAHBAhRCb25kcwHFAjhPdGNTZXR0bGVtZW50cwHJAgxMQlABzQIMWFlLAdECJFJlZmVycmFscwHdAixMaXF1aWRhdGlvbgHhAhhUb2tlbnMB5QIoQ3VycmVuY2llcwHpAhxWZXN0aW5nAfUCDEVWTQEFAyBFdGhlcmV1bQEpAyxFVk1BY2NvdW50cwEtA0hYWUtMaXF1aWRpdHlNaW5pbmcBMQM4WFlLV2FyZWhvdXNlTE0B/DhSZWxheUNoYWluSW5mbwH8DERDQQE9AyRTY2hlZHVsZXIBQQM8UGFyYWNoYWluU3lzdGVtAWEDNFBhcmFjaGFpbkluZm8B/CxQb2xrYWRvdFhjbQExBChDdW11bHVzWGNtAfwwTWVzc2FnZVF1ZXVlATkEHE9ybWxYY20BPQQcWFRva2VucwFJBERDb2xsYXRvclNlbGVjdGlvbgFNBBxTZXNzaW9uAVEEJEVtYU9yYWNsZQFVBCRCcm9hZGNhc3QB/AIIDFllcwABBQhObwABBQAINGFjdHVhbF93ZWlnaHQYIHBheXNfZmVlXQQCJDxJbnZhbGlkU3BlY05hbWUAAQVoU3BlY1ZlcnNpb25OZWVkc1RvSW5jcmVhc2UAAQV0RmFpbGVkVG9FeHRyYWN0UnVudGltZVZlcnNpb24AAQVMTm9uRGVmYXVsdENvbXBvc2l0ZQABBTxOb25aZXJvUmVmQ291bnQAAQUwQ2FsbEZpbHRlcmVkAAEFbE11bHRpQmxvY2tNaWdyYXRpb25zT25nb2luZwABBUROb3RoaW5nQXV0aG9yaXplZAABBTBVbmF1dGhvcml6ZWQAAQUCMDhWZXN0aW5nQmFsYW5jZQABBVRMaXF1aWRpdHlSZXN0cmljdGlvbnMAAQVMSW5zdWZmaWNpZW50QmFsYW5jZQABBUhFeGlzdGVudGlhbERlcG9zaXQAAQU0RXhwZW5kYWJpbGl0eQABBVxFeGlzdGluZ1Zlc3RpbmdTY2hlZHVsZQABBSxEZWFkQWNjb3VudAABBTxUb29NYW55UmVzZXJ2ZXMAAQUwVG9vTWFueUhvbGRzAAEFOFRvb01hbnlGcmVlemVzAAEFTElzc3VhbmNlRGVhY3RpdmF0ZWQAAQUkRGVsdGFaZXJvAAEFAjBMVW5zdXBwb3J0ZWRDdXJyZW5jeQABBSxaZXJvQmFsYW5jZQABBTxBbHJlYWR5QWNjZXB0ZWQAAQVMQ29yZUFzc2V0Tm90QWxsb3dlZAABBSRaZXJvUHJpY2UAAQVURmFsbGJhY2tQcmljZU5vdEZvdW5kAAEFIE92ZXJmbG93AAEFUEV2bUFjY291bnROb3RBbGxvd2VkAAEFQEV2bVBlcm1pdEV4cGlyZWQAAQVARXZtUGVybWl0SW52YWxpZAABBWxFdm1QZXJtaXRDYWxsRXhlY3V0aW9uRXJyb3IAAQVQRXZtUGVybWl0UnVubmVyRXJyb3IAAQUCLDBJbnZhbGlkSW5kZXgAAQVAVG9vTWFueUFwcHJvdmFscwABBVhJbnN1ZmZpY2llbnRQZXJtaXNzaW9uAAEFTFByb3Bvc2FsTm90QXBwcm92ZWQAAQVYRmFpbGVkVG9Db252ZXJ0QmFsYW5jZQABBTBTcGVuZEV4cGlyZWQAAQUsRWFybHlQYXlvdXQAAQVAQWxyZWFkeUF0dGVtcHRlZAABBSxQYXlvdXRFcnJvcgABBTBOb3RBdHRlbXB0ZWQAAQUwSW5jb25jbHVzaXZlAAEFAgQwVG9vTWFueUNhbGxzAAEFAiAYVG9vQmlnAAEFMEFscmVhZHlOb3RlZAABBTROb3RBdXRob3JpemVkAAEFIE5vdE5vdGVkAAEFJFJlcXVlc3RlZAABBTBOb3RSZXF1ZXN0ZWQAAQUcVG9vTWFueQABBRhUb29GZXcAAQUCaEhUb29NYW55U3ViQWNjb3VudHMAAQUgTm90Rm91bmQAAQUgTm90TmFtZWQAAQUoRW1wdHlJbmRleAABBShGZWVDaGFuZ2VkAAEFKE5vSWRlbnRpdHkAAQU8U3RpY2t5SnVkZ2VtZW50AAEFOEp1ZGdlbWVudEdpdmVuAAEFQEludmFsaWRKdWRnZW1lbnQAAQUwSW52YWxpZEluZGV4AAEFNEludmFsaWRUYXJnZXQAAQVEVG9vTWFueVJlZ2lzdHJhcnMAAQU4QWxyZWFkeUNsYWltZWQAAQUYTm90U3ViAAEFIE5vdE93bmVkAAEFdEp1ZGdlbWVudEZvckRpZmZlcmVudElkZW50aXR5AAEFWEp1ZGdlbWVudFBheW1lbnRGYWlsZWQAAQU0SW52YWxpZFN1ZmZpeAABBVBOb3RVc2VybmFtZUF1dGhvcml0eQABBTBOb0FsbG9jYXRpb24AAQVASW52YWxpZFNpZ25hdHVyZQABBURSZXF1aXJlc1NpZ25hdHVyZQABBTxJbnZhbGlkVXNlcm5hbWUAAQU0VXNlcm5hbWVUYWtlbgABBShOb1VzZXJuYW1lAAEFKE5vdEV4cGlyZWQAAQUCYCBWYWx1ZUxvdwABBTxQcm9wb3NhbE1pc3NpbmcAAQU8QWxyZWFkeUNhbmNlbGVkAAEFRER1cGxpY2F0ZVByb3Bvc2FsAAEFTFByb3Bvc2FsQmxhY2tsaXN0ZWQAAQVETm90U2ltcGxlTWFqb3JpdHkAAQUsSW52YWxpZEhhc2gAAQUoTm9Qcm9wb3NhbAABBTRBbHJlYWR5VmV0b2VkAAEFRFJlZmVyZW5kdW1JbnZhbGlkAAEFLE5vbmVXYWl0aW5nAAEFIE5vdFZvdGVyAAEFME5vUGVybWlzc2lvbgABBURBbHJlYWR5RGVsZWdhdGluZwABBURJbnN1ZmZpY2llbnRGdW5kcwABBTROb3REZWxlZ2F0aW5nAAEFKFZvdGVzRXhpc3QAAQVESW5zdGFudE5vdEFsbG93ZWQAAQUgTm9uc2Vuc2UAAQU8V3JvbmdVcHBlckJvdW5kAAEFPE1heFZvdGVzUmVhY2hlZAABBRxUb29NYW55AAEFPFZvdGluZ1BlcmlvZExvdwABBUBQcmVpbWFnZU5vdEV4aXN0AAEFAkQwVW5hYmxlVG9Wb3RlAAEFHE5vVm90ZXMAAQUwVG9vTWFueVZvdGVzAAEFUE1heGltdW1Wb3Rlc0V4Y2VlZGVkAAEFKExvd0JhbGFuY2UAAQU8VW5hYmxlVG9QYXlCb25kAAEFLE11c3RCZVZvdGVyAAEFTER1cGxpY2F0ZWRDYW5kaWRhdGUAAQVEVG9vTWFueUNhbmRpZGF0ZXMAAQUwTWVtYmVyU3VibWl0AAEFOFJ1bm5lclVwU3VibWl0AAEFaEluc3VmZmljaWVudENhbmRpZGF0ZUZ1bmRzAAEFJE5vdE1lbWJlcgABBUhJbnZhbGlkV2l0bmVzc0RhdGEAAQVASW52YWxpZFZvdGVDb3VudAABBURJbnZhbGlkUmVub3VuY2luZwABBUhJbnZhbGlkUmVwbGFjZW1lbnQAAQUCLCROb3RNZW1iZXIAAQVERHVwbGljYXRlUHJvcG9zYWwAAQU8UHJvcG9zYWxNaXNzaW5nAAEFKFdyb25nSW5kZXgAAQU0RHVwbGljYXRlVm90ZQABBUhBbHJlYWR5SW5pdGlhbGl6ZWQAAQUgVG9vRWFybHkAAQVAVG9vTWFueVByb3Bvc2FscwABBUxXcm9uZ1Byb3Bvc2FsV2VpZ2h0AAEFTFdyb25nUHJvcG9zYWxMZW5ndGgAAQVUUHJpbWVBY2NvdW50Tm90TWVtYmVyAAEFAhwwUmVhc29uVG9vQmlnAAEFMEFscmVhZHlLbm93bgABBShVbmtub3duVGlwAAEFUE1heFRpcEFtb3VudEV4Y2VlZGVkAAEFJE5vdEZpbmRlcgABBSRTdGlsbE9wZW4AAQUkUHJlbWF0dXJlAAEFAiAcVG9vTWFueQABBSBOb3RGb3VuZAABBSBOb3RQcm94eQABBSxVbnByb3h5YWJsZQABBSREdXBsaWNhdGUAAQUwTm9QZXJtaXNzaW9uAAEFLFVuYW5ub3VuY2VkAAEFLE5vU2VsZlByb3h5AAEFAjhATWluaW11bVRocmVzaG9sZAABBTxBbHJlYWR5QXBwcm92ZWQAAQVETm9BcHByb3ZhbHNOZWVkZWQAAQVEVG9vRmV3U2lnbmF0b3JpZXMAAQVIVG9vTWFueVNpZ25hdG9yaWVzAAEFVFNpZ25hdG9yaWVzT3V0T2ZPcmRlcgABBUxTZW5kZXJJblNpZ25hdG9yaWVzAAEFIE5vdEZvdW5kAAEFIE5vdE93bmVyAAEFLE5vVGltZXBvaW50AAEFOFdyb25nVGltZXBvaW50AAEFTFVuZXhwZWN0ZWRUaW1lcG9pbnQAAQU8TWF4V2VpZ2h0VG9vTG93AAEFNEFscmVhZHlTdG9yZWQAAQUCSDBOb1Blcm1pc3Npb24AAQVEVW5rbm93bkNvbGxlY3Rpb24AAQU0QWxyZWFkeUV4aXN0cwABBShXcm9uZ093bmVyAAEFKEJhZFdpdG5lc3MAAQUUSW5Vc2UAAQUYRnJvemVuAAEFNFdyb25nRGVsZWdhdGUAAQUoTm9EZWxlZ2F0ZQABBShVbmFwcHJvdmVkAAEFKFVuYWNjZXB0ZWQAAQUYTG9ja2VkAAEFQE1heFN1cHBseVJlYWNoZWQAAQVMTWF4U3VwcGx5QWxyZWFkeVNldAABBURNYXhTdXBwbHlUb29TbWFsbAABBSxVbmtub3duSXRlbQABBShOb3RGb3JTYWxlAAEFJEJpZFRvb0xvdwABBQIYPE1heFNpZ25lZExpbWl0cwABBShLZXlUb29Mb25nAAEFOE5vdEVub3VnaEZ1bmRzAAEFKEJhZFdpdG5lc3MAAQVkU2lnbmVkTWlncmF0aW9uTm90QWxsb3dlZAABBTBCYWRDaGlsZFJvb3QAAQUCMChOb3RPbmdvaW5nAAEFIE5vdFZvdGVyAAEFME5vUGVybWlzc2lvbgABBTxOb1Blcm1pc3Npb25ZZXQAAQVEQWxyZWFkeURlbGVnYXRpbmcAAQU0QWxyZWFkeVZvdGluZwABBURJbnN1ZmZpY2llbnRGdW5kcwABBTROb3REZWxlZ2F0aW5nAAEFIE5vbnNlbnNlAAEFPE1heFZvdGVzUmVhY2hlZAABBSxDbGFzc05lZWRlZAABBSBCYWRDbGFzcwABBQI4KE5vdE9uZ29pbmcAAQUoSGFzRGVwb3NpdAABBSBCYWRUcmFjawABBRBGdWxsAAEFKFF1ZXVlRW1wdHkAAQU0QmFkUmVmZXJlbmR1bQABBSxOb3RoaW5nVG9EbwABBRxOb1RyYWNrAAEFKFVuZmluaXNoZWQAAQUwTm9QZXJtaXNzaW9uAAEFJE5vRGVwb3NpdAABBSRCYWRTdGF0dXMAAQVAUHJlaW1hZ2VOb3RFeGlzdAABBYRQcmVpbWFnZVN0b3JlZFdpdGhEaWZmZXJlbnRMZW5ndGgAAQUCFExVbmF2YWlsYWJsZVByZUltYWdlAAEFPFVuZGVjb2RhYmxlQ2FsbAABBWBJbnZhbGlkQ2FsbFdlaWdodFdpdG5lc3MAAQVQQ2FsbElzTm90V2hpdGVsaXN0ZWQAAQVYQ2FsbEFscmVhZHlXaGl0ZWxpc3RlZAABBQI8NE5vSWRBdmFpbGFibGUAAQU0QXNzZXROb3RGb3VuZAABBSBUb29TaG9ydAABBTRJbnZhbGlkU3ltYm9sAAEFSEFzc2V0Tm90UmVnaXN0ZXJlZAABBVhBc3NldEFscmVhZHlSZWdpc3RlcmVkAAEFVEludmFsaWRTaGFyZWRBc3NldExlbgABBVBDYW5ub3RVcGRhdGVMb2NhdGlvbgABBUhOb3RJblJlc2VydmVkUmFuZ2UAAQVkTG9jYXRpb25BbHJlYWR5UmVnaXN0ZXJlZAABBSRGb3JiaWRkZW4AAQVMSW5zdWZmaWNpZW50QmFsYW5jZQABBWhGb3JiaWRkZW5TdWZmaWNpZW5jeUNoYW5nZQABBUhBc3NldEFscmVhZHlCYW5uZWQAAQU4QXNzZXROb3RCYW5uZWQAAQUCDGBJbnZhbGlkRXRoZXJldW1TaWduYXR1cmUAAQVcTm9DbGFpbU9yQWxyZWFkeUNsYWltZWQAAQU8QmFsYW5jZU92ZXJmbG93AAEFAoBMSW5zdWZmaWNpZW50QmFsYW5jZQABBURBc3NldEFscmVhZHlBZGRlZAABBTRBc3NldE5vdEZvdW5kAAEFOE1pc3NpbmdCYWxhbmNlAAEFYEludmFsaWRJbml0aWFsQXNzZXRQcmljZQABBUhCdXlMaW1pdE5vdFJlYWNoZWQAAQVEU2VsbExpbWl0RXhjZWVkZWQAAQVAUG9zaXRpb25Ob3RGb3VuZAABBUhJbnN1ZmZpY2llbnRTaGFyZXMAAQUoTm90QWxsb3dlZAABBSRGb3JiaWRkZW4AAQVYQXNzZXRXZWlnaHRDYXBFeGNlZWRlZAABBUhBc3NldE5vdFJlZ2lzdGVyZWQAAQVUSW5zdWZmaWNpZW50TGlxdWlkaXR5AAEFZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQAAQVgU2FtZUFzc2V0VHJhZGVOb3RBbGxvd2VkAAEFTEh1YkFzc2V0VXBkYXRlRXJyb3IAAQVMSW52YWxpZFNoYXJlc0Ftb3VudAABBXBJbnZhbGlkSHViQXNzZXRUcmFkYWJsZVN0YXRlAAEFVEFzc2V0UmVmdW5kTm90QWxsb3dlZAABBUxNYXhPdXRSYXRpb0V4Y2VlZGVkAAEFSE1heEluUmF0aW9FeGNlZWRlZAABBVhQcmljZURpZmZlcmVuY2VUb29IaWdoAAEFSEludmFsaWRPcmFjbGVQcmljZQABBVBJbnZhbGlkV2l0aGRyYXdhbEZlZQABBTBGZWVPdmVyZHJhZnQAAQU8U2hhcmVzUmVtYWluaW5nAAEFOEFzc2V0Tm90RnJvemVuAAEFNFplcm9BbW91bnRPdXQAAQV4RXhpc3RlbnRpYWxEZXBvc2l0Tm90QXZhaWxhYmxlAAEFNFNsaXBwYWdlTGltaXQAAQVYUHJvdG9jb2xGZWVOb3RDb25zdW1lZAABBQIMLENhbm5vdFBhdXNlAAEFQEludmFsaWRDaGFyYWN0ZXIAAQUsTmFtZVRvb0xvbmcAAQUCGEhBY2NvdW50QmxhY2tsaXN0ZWQAAQVUQWNjb3VudE5vdEJsYWNrbGlzdGVkAAEFLFplcm9CYWxhbmNlAAEFREJhbGFuY2VTdWZmaWNpZW50AAEFRER1c3RBY2NvdW50Tm90U2V0AAEFUFJlc2VydmVBY2NvdW50Tm90U2V0AAEFAnRIR2xvYmFsRmFybU5vdEZvdW5kAAEFRFlpZWxkRmFybU5vdEZvdW5kAAEFTERvdWJsZUNsYWltSW5QZXJpb2QAAQVcTGlxdWlkaXR5TWluaW5nQ2FuY2VsZWQAAQVcTGlxdWlkaXR5TWluaW5nSXNBY3RpdmUAAQVsTGlxdWlkaXR5TWluaW5nSXNOb3RTdG9wcGVkAAEFUEludmFsaWREZXBvc2l0QW1vdW50AAEFJEZvcmJpZGRlbgABBURJbnZhbGlkTXVsdGlwbGllcgABBVhZaWVsZEZhcm1BbHJlYWR5RXhpc3RzAAEFeEludmFsaWRJbml0aWFsUmV3YXJkUGVyY2VudGFnZQABBVBHbG9iYWxGYXJtSXNOb3RFbXB0eQABBWBNaXNzaW5nSW5jZW50aXZpemVkQXNzZXQAAQWESW5zdWZmaWNpZW50UmV3YXJkQ3VycmVuY3lCYWxhbmNlAAEFWEludmFsaWRCbG9ja3NQZXJQZXJpb2QAAQVUSW52YWxpZFlpZWxkUGVyUGVyaW9kAAEFTEludmFsaWRUb3RhbFJld2FyZHMAAQV0SW52YWxpZFBsYW5uZWRZaWVsZGluZ1BlcmlvZHMAAQVQTWF4RW50cmllc1BlckRlcG9zaXQAAQUoRG91YmxlTG9jawABBVhZaWVsZEZhcm1FbnRyeU5vdEZvdW5kAAEFQEdsb2JhbEZhcm1Jc0Z1bGwAAQVESW52YWxpZE1pbkRlcG9zaXQAAQVYSW52YWxpZFByaWNlQWRqdXN0bWVudAABBURFcnJvckdldEFjY291bnRJZAABBVRJbmNvcnJlY3RWYWx1ZWRTaGFyZXMAAQVsUmV3YXJkQ3VycmVuY3lOb3RSZWdpc3RlcmVkAAEFeEluY2VudGl2aXplZEFzc2V0Tm90UmVnaXN0ZXJlZAABBURJbmNvbnNpc3RlbnRTdGF0ZQGMAhw0QXNzZXROb3RGb3VuZAABBSRGb3JiaWRkZW4AAQVIWmVyb0NsYWltZWRSZXdhcmRzAAEFREluY29uc2lzdGVudFN0YXRlAZBIT3JhY2xlTm90QXZhaWxhYmxlAAEFbFByaWNlQWRqdXN0bWVudE5vdEF2YWlsYWJsZQABBVhOb0Zhcm1FbnRyaWVzU3BlY2lmaWVkAAEFAiBIQXNzZXROb3RSZWdpc3RlcmVkAAEFNE9yZGVyTm90Rm91bmQAAQVET3JkZXJJZE91dE9mQm91bmQAAQVkT3JkZXJOb3RQYXJ0aWFsbHlGaWxsYWJsZQABBUxPcmRlckFtb3VudFRvb1NtYWxsAAEFJE1hdGhFcnJvcgABBSRGb3JiaWRkZW4AAQVoSW5zdWZmaWNpZW50UmVzZXJ2ZWRBbW91bnQAAQUCGERJbnZhbGlkTGltaXRWYWx1ZQABBXxMaXF1aWRpdHlMaW1pdE5vdFN0b3JlZEZvckFzc2V0AAEFYFRva2VuT3V0Zmxvd0xpbWl0UmVhY2hlZAABBVxUb2tlbkluZmx1eExpbWl0UmVhY2hlZAABBYBNYXhMaXF1aWRpdHlMaW1pdFBlckJsb2NrUmVhY2hlZAABBShOb3RBbGxvd2VkAAEFAihMVHJhZGluZ0xpbWl0UmVhY2hlZAABBURNYXhUcmFkZXNFeGNlZWRlZAABBUBQb29sTm90U3VwcG9ydGVkAAEFTEluc3VmZmljaWVudEJhbGFuY2UAAQVYUm91dGVDYWxjdWxhdGlvbkZhaWxlZAABBTBJbnZhbGlkUm91dGUAAQVoUm91dGVVcGRhdGVJc05vdFN1Y2Nlc3NmdWwAAQVAUm91dGVIYXNOb09yYWNsZQABBVRJbnZhbGlkUm91dGVFeGVjdXRpb24AAQUoTm90QWxsb3dlZAABBQI0TEluc3VmZmljaWVudEJhbGFuY2UAAQVESW5zdWZmaWNpZW50U3Rha2UAAQVAUG9zaXRpb25Ob3RGb3VuZAABBTxNYXhWb3Rlc1JlYWNoZWQAAQU4Tm90SW5pdGlhbGl6ZWQAAQVIQWxyZWFkeUluaXRpYWxpemVkAAEFKEFyaXRobWV0aWMAAQVETWlzc2luZ1BvdEJhbGFuY2UAAQVUUG9zaXRpb25BbHJlYWR5RXhpc3RzAAEFJEZvcmJpZGRlbgABBTRFeGlzdGluZ1ZvdGVzAAEFWEV4aXN0aW5nUHJvY2Vzc2VkVm90ZXMAAQVESW5jb25zaXN0ZW50U3RhdGUBqAJsPEluY29ycmVjdEFzc2V0cwABBURNYXhBc3NldHNFeGNlZWRlZAABBTBQb29sTm90Rm91bmQAAQUoUG9vbEV4aXN0cwABBThBc3NldE5vdEluUG9vbAABBVxTaGFyZUFzc2V0Tm90UmVnaXN0ZXJlZAABBVhTaGFyZUFzc2V0SW5Qb29sQXNzZXRzAAEFSEFzc2V0Tm90UmVnaXN0ZXJlZAABBUhJbnZhbGlkQXNzZXRBbW91bnQAAQVMSW5zdWZmaWNpZW50QmFsYW5jZQABBUhJbnN1ZmZpY2llbnRTaGFyZXMAAQVUSW5zdWZmaWNpZW50TGlxdWlkaXR5AAEFeEluc3VmZmljaWVudExpcXVpZGl0eVJlbWFpbmluZwABBWRJbnN1ZmZpY2llbnRUcmFkaW5nQW1vdW50AAEFSEJ1eUxpbWl0Tm90UmVhY2hlZAABBURTZWxsTGltaXRFeGNlZWRlZAABBVxJbnZhbGlkSW5pdGlhbExpcXVpZGl0eQABBVBJbnZhbGlkQW1wbGlmaWNhdGlvbgABBWBJbnN1ZmZpY2llbnRTaGFyZUJhbGFuY2UAAQUoTm90QWxsb3dlZAABBSRQYXN0QmxvY2sAAQVEU2FtZUFtcGxpZmljYXRpb24AAQU0U2xpcHBhZ2VMaW1pdAABBTxVbmtub3duRGVjaW1hbHMAAQVQSW5jb3JyZWN0SW5pdGlhbFBlZ3MAAQVYTWlzc2luZ1RhcmdldFBlZ09yYWNsZQABBVhJbmNvcnJlY3RBc3NldERlY2ltYWxzAAEFAhw0Tm90UmVnaXN0ZXJlZAABBSROb3RNYXR1cmUAAQU8SW52YWxpZE1hdHVyaXR5AAEFPERpc2FsbG93ZWRBc3NldAABBTRBc3NldE5vdEZvdW5kAAEFPEludmFsaWRCb25kTmFtZQABBTxGYWlsVG9QYXJzZU5hbWUAAQUCHDRPcmRlck5vdEZvdW5kAAEFUE5vdFBhcnRpYWxseUZpbGxhYmxlAAEFMEludmFsaWRSb3V0ZQABBVBCYWxhbmNlSW5jb25zaXN0ZW5jeQABBUhUcmFkZUFtb3VudFRvb0hpZ2gAAQVEVHJhZGVBbW91bnRUb29Mb3cAAQVEUHJpY2VOb3RBdmFpbGFibGUAAQUCXHhDYW5ub3RDcmVhdGVQb29sV2l0aFNhbWVBc3NldHMAAQUgTm90T3duZXIAAQUsU2FsZVN0YXJ0ZWQAAQUwU2FsZU5vdEVuZGVkAAEFQFNhbGVJc05vdFJ1bm5pbmcAAQVcTWF4U2FsZUR1cmF0aW9uRXhjZWVkZWQAAQVYQ2Fubm90QWRkWmVyb0xpcXVpZGl0eQABBWBJbnN1ZmZpY2llbnRBc3NldEJhbGFuY2UAAQUwUG9vbE5vdEZvdW5kAAEFRFBvb2xBbHJlYWR5RXhpc3RzAAEFREludmFsaWRCbG9ja1JhbmdlAAEFWFdlaWdodENhbGN1bGF0aW9uRXJyb3IAAQU0SW52YWxpZFdlaWdodAABBShaZXJvQW1vdW50AAEFSE1heEluUmF0aW9FeGNlZWRlZAABBUxNYXhPdXRSYXRpb0V4Y2VlZGVkAAEFQEZlZUFtb3VudEludmFsaWQAAQVMVHJhZGluZ0xpbWl0UmVhY2hlZAABBSBPdmVyZmxvdwABBTxOb3RoaW5nVG9VcGRhdGUAAQVUSW5zdWZmaWNpZW50TGlxdWlkaXR5AAEFZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQAAQWARmVlQ29sbGVjdG9yV2l0aEFzc2V0QWxyZWFkeVVzZWQAAQUCZHhDYW5ub3RDcmVhdGVQb29sV2l0aFNhbWVBc3NldHMAAQVUSW5zdWZmaWNpZW50TGlxdWlkaXR5AAEFZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQAAQU0WmVyb0xpcXVpZGl0eQABBUBaZXJvSW5pdGlhbFByaWNlAAEFcENyZWF0ZVBvb2xBc3NldEFtb3VudEludmFsaWQAAQVYSW52YWxpZE1pbnRlZExpcXVpZGl0eQABBVhJbnZhbGlkTGlxdWlkaXR5QW1vdW50AAEFYEFzc2V0QW1vdW50RXhjZWVkZWRMaW1pdAABBWhBc3NldEFtb3VudE5vdFJlYWNoZWRMaW1pdAABBWBJbnN1ZmZpY2llbnRBc3NldEJhbGFuY2UAAQVwSW5zdWZmaWNpZW50UG9vbEFzc2V0QmFsYW5jZQABBYRJbnN1ZmZpY2llbnROYXRpdmVDdXJyZW5jeUJhbGFuY2UAAQVEVG9rZW5Qb29sTm90Rm91bmQAAQVYVG9rZW5Qb29sQWxyZWFkeUV4aXN0cwABBVRBZGRBc3NldEFtb3VudEludmFsaWQAAQVgUmVtb3ZlQXNzZXRBbW91bnRJbnZhbGlkAAEFWFNlbGxBc3NldEFtb3VudEludmFsaWQAAQVUQnV5QXNzZXRBbW91bnRJbnZhbGlkAAEFQEZlZUFtb3VudEludmFsaWQAAQVMQ2Fubm90QXBwbHlEaXNjb3VudAABBUxNYXhPdXRSYXRpb0V4Y2VlZGVkAAEFSE1heEluUmF0aW9FeGNlZWRlZAABBSBPdmVyZmxvdwABBUBDYW5ub3RDcmVhdGVQb29sAAEFAjgcVG9vTG9uZwABBSBUb29TaG9ydAABBUBJbnZhbGlkQ2hhcmFjdGVyAAEFNEFscmVhZHlFeGlzdHMAAQUsSW52YWxpZENvZGUAAQU0QWxyZWFkeUxpbmtlZAABBShaZXJvQW1vdW50AAEFOExpbmtOb3RBbGxvd2VkAAEFaEluY29ycmVjdFJld2FyZENhbGN1bGF0aW9uAAEFZEluY29ycmVjdFJld2FyZFBlcmNlbnRhZ2UAAQVEQWxyZWFkeVJlZ2lzdGVyZWQAAQU0UHJpY2VOb3RGb3VuZAABBZBDb252ZXJzaW9uTWluVHJhZGluZ0Ftb3VudE5vdFJlYWNoZWQAAQVwQ29udmVyc2lvblplcm9BbW91bnRSZWNlaXZlZAABBQIQVEFzc2V0Q29udmVyc2lvbkZhaWxlZAABBVRMaXF1aWRhdGlvbkNhbGxGYWlsZWQAAQUwSW52YWxpZFJvdXRlAAEFNE5vdFByb2ZpdGFibGUAAQUCIDRCYWxhbmNlVG9vTG93AAEFXEFtb3VudEludG9CYWxhbmNlRmFpbGVkAAEFVExpcXVpZGl0eVJlc3RyaWN0aW9ucwABBUBNYXhMb2Nrc0V4Y2VlZGVkAAEFJEtlZXBBbGl2ZQABBUhFeGlzdGVudGlhbERlcG9zaXQAAQUsRGVhZEFjY291bnQAAQU8VG9vTWFueVJlc2VydmVzAAEFAhBcQW1vdW50SW50b0JhbGFuY2VGYWlsZWQAAQU0QmFsYW5jZVRvb0xvdwABBTREZXBvc2l0RmFpbGVkAAEFME5vdFN1cHBvcnRlZAABBQIYRFplcm9WZXN0aW5nUGVyaW9kAAEFWFplcm9WZXN0aW5nUGVyaW9kQ291bnQAAQVkSW5zdWZmaWNpZW50QmFsYW5jZVRvTG9jawABBVxUb29NYW55VmVzdGluZ1NjaGVkdWxlcwABBSRBbW91bnRMb3cAAQVsTWF4VmVzdGluZ1NjaGVkdWxlc0V4Y2VlZGVkAAEFAjQoQmFsYW5jZUxvdwABBSxGZWVPdmVyZmxvdwABBTxQYXltZW50T3ZlcmZsb3cAAQU4V2l0aGRyYXdGYWlsZWQAAQU4R2FzUHJpY2VUb29Mb3cAAQUwSW52YWxpZE5vbmNlAAEFOEdhc0xpbWl0VG9vTG93AAEFPEdhc0xpbWl0VG9vSGlnaAABBThJbnZhbGlkQ2hhaW5JZAABBUBJbnZhbGlkU2lnbmF0dXJlAAEFKFJlZW50cmFuY3kAAQVoVHJhbnNhY3Rpb25NdXN0Q29tZUZyb21FT0EAAQUkVW5kZWZpbmVkAAEFAghASW52YWxpZFNpZ25hdHVyZQABBTBQcmVMb2dFeGlzdHMAAQUCEGxUcnVuY2F0ZWRBY2NvdW50QWxyZWFkeVVzZWQAAQVMQWRkcmVzc0FscmVhZHlCb3VuZAABBWBCb3VuZEFkZHJlc3NDYW5ub3RCZVVzZWQAAQVUQWRkcmVzc05vdFdoaXRlbGlzdGVkAAEFAjBQQ2FudEZpbmREZXBvc2l0T3duZXIAAQVwSW5zdWZmaWNpZW50WHlrU2hhcmVzQmFsYW5jZQABBUhYeWtQb29sRG9lc250RXhpc3QAAQU8Tm90RGVwb3NpdE93bmVyAAEFQENhbnRHZXRYeWtBc3NldHMAAQVMRGVwb3NpdERhdGFOb3RGb3VuZAABBUhaZXJvQ2xhaW1lZFJld2FyZHMAAQVMQXNzZXROb3RJbkFzc2V0UGFpcgABBUBJbnZhbGlkQXNzZXRQYWlyAAEFSEFzc2V0Tm90UmVnaXN0ZXJlZAABBThGYWlsVG9HZXRQb3RJZAABBUBOb0Zhcm1zU3BlY2lmaWVkAAEFAkhAU2NoZWR1bGVOb3RGb3VuZAABBWBNaW5UcmFkZUFtb3VudE5vdFJlYWNoZWQAAQUkRm9yYmlkZGVuAAEFYEJsb2NrTnVtYmVySXNOb3RJbkZ1dHVyZQABBTRQcmljZVVuc3RhYmxlAAEFGEJ1bXBlZAABBVRDYWxjdWxhdGluZ1ByaWNlRXJyb3IAAQWEVG90YWxBbW91bnRJc1NtYWxsZXJUaGFuTWluQnVkZ2V0AAEFMEJ1ZGdldFRvb0xvdwABBUBOb0ZyZWVCbG9ja0ZvdW5kAAEFSE1hbnVhbGx5VGVybWluYXRlZAABBTxNYXhSZXRyeVJlYWNoZWQAAQVEVHJhZGVMaW1pdFJlYWNoZWQAAQVQU2xpcHBhZ2VMaW1pdFJlYWNoZWQAAQVETm9QYXJlbnRIYXNoRm91bmQAAQUwSW52YWxpZFN0YXRlAAEFOFBlcmlvZFRvb1Nob3J0AAEFZFN0YWJpbGl0eVRocmVzaG9sZFRvb0hpZ2gAAQUCFEBGYWlsZWRUb1NjaGVkdWxlAAEFIE5vdEZvdW5kAAEFXFRhcmdldEJsb2NrTnVtYmVySW5QYXN0AAEFSFJlc2NoZWR1bGVOb0NoYW5nZQABBRROYW1lZAABBQIgTE92ZXJsYXBwaW5nVXBncmFkZXMAAQVQUHJvaGliaXRlZEJ5UG9sa2Fkb3QAAQUYVG9vQmlnAAEFaFZhbGlkYXRpb25EYXRhTm90QXZhaWxhYmxlAAEFdEhvc3RDb25maWd1cmF0aW9uTm90QXZhaWxhYmxlAAEFME5vdFNjaGVkdWxlZAABBUROb3RoaW5nQXV0aG9yaXplZAABBTBVbmF1dGhvcml6ZWQAAQUCYCxVbnJlYWNoYWJsZQABBSxTZW5kRmFpbHVyZQABBSBGaWx0ZXJlZAABBUhVbndlaWdoYWJsZU1lc3NhZ2UAAQVgRGVzdGluYXRpb25Ob3RJbnZlcnRpYmxlAAEFFEVtcHR5AAEFOENhbm5vdFJlYW5jaG9yAAEFNFRvb01hbnlBc3NldHMAAQU0SW52YWxpZE9yaWdpbgABBShCYWRWZXJzaW9uAAEFLEJhZExvY2F0aW9uAAEFOE5vU3Vic2NyaXB0aW9uAAEFREFscmVhZHlTdWJzY3JpYmVkAAEFWENhbm5vdENoZWNrT3V0VGVsZXBvcnQAAQUoTG93QmFsYW5jZQABBTBUb29NYW55TG9ja3MAAQVMQWNjb3VudE5vdFNvdmVyZWlnbgABBShGZWVzTm90TWV0AAEFMExvY2tOb3RGb3VuZAABBRRJblVzZQABBWhJbnZhbGlkQXNzZXRVbmtub3duUmVzZXJ2ZQABBXhJbnZhbGlkQXNzZXRVbnN1cHBvcnRlZFJlc2VydmUAAQU8VG9vTWFueVJlc2VydmVzAAEFYExvY2FsRXhlY3V0aW9uSW5jb21wbGV0ZQABBQIUOEJhZFF1ZXVlQ29uZmlnAAEFQEFscmVhZHlTdXNwZW5kZWQAAQU4QWxyZWFkeVJlc3VtZWQAAQV0VG9vTWFueUFjdGl2ZU91dGJvdW5kQ2hhbm5lbHMAAQUYVG9vQmlnAAEFAiQsTm90UmVhcGFibGUAAQUYTm9QYWdlAAEFJE5vTWVzc2FnZQABBUBBbHJlYWR5UHJvY2Vzc2VkAAEFGFF1ZXVlZAABBUhJbnN1ZmZpY2llbnRXZWlnaHQAAQVgVGVtcG9yYXJpbHlVbnByb2Nlc3NhYmxlAAEFLFF1ZXVlUGF1c2VkAAEFTFJlY3Vyc2l2ZURpc2FsbG93ZWQAAQUCDCxVbnJlYWNoYWJsZQABBSxTZW5kRmFpbHVyZQABBShCYWRWZXJzaW9uAAEFAlBEQXNzZXRIYXNOb1Jlc2VydmUAAQVUTm90Q3Jvc3NDaGFpblRyYW5zZmVyAAEFLEludmFsaWREZXN0AAEFhE5vdENyb3NzQ2hhaW5UcmFuc2ZlcmFibGVDdXJyZW5jeQABBUhVbndlaWdoYWJsZU1lc3NhZ2UAAQVIWGNtRXhlY3V0aW9uRmFpbGVkAAEFOENhbm5vdFJlYW5jaG9yAAEFPEludmFsaWRBbmNlc3RyeQABBTBJbnZhbGlkQXNzZXQAAQVgRGVzdGluYXRpb25Ob3RJbnZlcnRpYmxlAAEFKEJhZFZlcnNpb24AAQV0RGlzdGluY3RSZXNlcnZlRm9yQXNzZXRBbmRGZWUAAQUcWmVyb0ZlZQABBShaZXJvQW1vdW50AAEFWFRvb01hbnlBc3NldHNCZWluZ1NlbnQAAQVUQXNzZXRJbmRleE5vbkV4aXN0ZW50AAEFMEZlZU5vdEVub3VnaAABBVBOb3RTdXBwb3J0ZWRMb2NhdGlvbgABBUxNaW5YY21GZWVOb3REZWZpbmVkAAEFLFJhdGVMaW1pdGVkAAEFAgw0QmFsYW5jZVRvb0xvdwABBTxCYWxhbmNlT3ZlcmZsb3cAAQU4VW5oYW5kbGVkQXNzZXQAAQUCRERUb29NYW55Q2FuZGlkYXRlcwABBVxUb29GZXdFbGlnaWJsZUNvbGxhdG9ycwABBUBBbHJlYWR5Q2FuZGlkYXRlAAEFME5vdENhbmRpZGF0ZQABBVBUb29NYW55SW52dWxuZXJhYmxlcwABBUxBbHJlYWR5SW52dWxuZXJhYmxlAAEFPE5vdEludnVsbmVyYWJsZQABBVxOb0Fzc29jaWF0ZWRWYWxpZGF0b3JJZAABBVhWYWxpZGF0b3JOb3RSZWdpc3RlcmVkAAEFbEluc2VydFRvQ2FuZGlkYXRlTGlzdEZhaWxlZAABBXRSZW1vdmVGcm9tQ2FuZGlkYXRlTGlzdEZhaWxlZAABBTREZXBvc2l0VG9vTG93AAEFZFVwZGF0ZUNhbmRpZGF0ZUxpc3RGYWlsZWQAAQVASW5zdWZmaWNpZW50Qm9uZAABBVBUYXJnZXRJc05vdENhbmRpZGF0ZQABBUBJZGVudGljYWxEZXBvc2l0AAEFQEludmFsaWRVbnJlc2VydmUAAQUCFDBJbnZhbGlkUHJvb2YAAQVcTm9Bc3NvY2lhdGVkVmFsaWRhdG9ySWQAAQU0RHVwbGljYXRlZEtleQABBRhOb0tleXMAAQUkTm9BY2NvdW50AAEFAhRQVG9vTWFueVVuaXF1ZUVudHJpZXMAAQVAT25UcmFkZVZhbHVlWmVybwABBThPcmFjbGVOb3RGb3VuZAABBTRBc3NldE5vdEZvdW5kAAEFYFByaWNlT3V0c2lkZUFsbG93ZWRSYW5nZQABBQIIaEV4ZWN1dGlvbkNhbGxTdGFja092ZXJmbG93AAEFbEV4ZWN1dGlvbkNhbGxTdGFja1VuZGVyZmxvdwABBQLsGFN5c3RlbQFlBCBCYWxhbmNlcwFpBFxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudAFtBCBUcmVhc3VyeQFxBBxVdGlsaXR5AXUEIFByZWltYWdlAXkEIElkZW50aXR5AX0EJERlbW9jcmFjeQGBBCRFbGVjdGlvbnMBhQQcQ291bmNpbAGJBEhUZWNobmljYWxDb21taXR0ZWUBiQQQVGlwcwGNBBRQcm94eQGRBCBNdWx0aXNpZwGVBBxVbmlxdWVzAZkESFN0YXRlVHJpZU1pZ3JhdGlvbgGdBEBDb252aWN0aW9uVm90aW5nAaEEJFJlZmVyZW5kYQGlBCRXaGl0ZWxpc3QBqQQ0QXNzZXRSZWdpc3RyeQGtBBhDbGFpbXMBsQQgT21uaXBvb2wBtQRAVHJhbnNhY3Rpb25QYXVzZQG5BBhEdXN0ZXIBvQRMT21uaXBvb2xXYXJlaG91c2VMTQHBBFxPbW5pcG9vbExpcXVpZGl0eU1pbmluZwHFBAxPVEMByQQ4Q2lyY3VpdEJyZWFrZXIBzQQYUm91dGVyAdEELER5bmFtaWNGZWVzAfwcU3Rha2luZwHVBChTdGFibGVzd2FwAdkEFEJvbmRzAd0EOE90Y1NldHRsZW1lbnRzAeEEDExCUAHlBAxYWUsB6QQkUmVmZXJyYWxzAe0ELExpcXVpZGF0aW9uAfEEGFRva2VucwH1BChDdXJyZW5jaWVzAfkEHFZlc3RpbmcB/QQMRVZNAQEFIEV0aGVyZXVtAQUFLEVWTUFjY291bnRzAQkFSFhZS0xpcXVpZGl0eU1pbmluZwENBThYWUtXYXJlaG91c2VMTQHBBAxEQ0EBEQUkU2NoZWR1bGVyARUFPFBhcmFjaGFpblN5c3RlbQEZBSxQb2xrYWRvdFhjbQEdBSRYY21wUXVldWUBIQUwTWVzc2FnZVF1ZXVlASUFHE9ybWxYY20BKQUcWFRva2VucwEtBTRVbmtub3duVG9rZW5zATEFRENvbGxhdG9yU2VsZWN0aW9uATUFHFNlc3Npb24BOQUkRW1hT3JhY2xlAT0FJEJyb2FkY2FzdAFBBQIoQEZ1bmRzVW5hdmFpbGFibGUAAQUwT25seVByb3ZpZGVyAAEFMEJlbG93TWluaW11bQABBTBDYW5ub3RDcmVhdGUAAQUwVW5rbm93bkFzc2V0AAEFGEZyb3plbgABBSxVbnN1cHBvcnRlZAABBUBDYW5ub3RDcmVhdGVIb2xkAAEFNE5vdEV4cGVuZGFibGUAAQUcQmxvY2tlZAABBQIMJFVuZGVyZmxvdwABBSBPdmVyZmxvdwABBThEaXZpc2lvbkJ5WmVybwABBQIIMExpbWl0UmVhY2hlZAABBRxOb0xheWVyAAEFAjgUT3RoZXIAAQUwQ2Fubm90TG9va3VwAAEFJEJhZE9yaWdpbgABBRhNb2R1bGUBRQVEQ29uc3VtZXJSZW1haW5pbmcAAQUsTm9Qcm92aWRlcnMAAQVAVG9vTWFueUNvbnN1bWVycwABBRRUb2tlbgFJBShBcml0aG1ldGljAU0FNFRyYW5zYWN0aW9uYWwBUQUkRXhoYXVzdGVkAAEFKENvcnJ1cHRpb24AAQUsVW5hdmFpbGFibGUAAQU4Um9vdE5vdEFsbG93ZWQAAQUACCRwb3N0X2luZm9hBBRlcnJvclUFB2EEWQUCDBhOb3JtYWwAAQUsT3BlcmF0aW9uYWwAAQUkTWFuZGF0b3J5AAEFAAwYd2VpZ2h0FBRjbGFzc2EFIHBheXNfZmVlXQQCHEBFeHRyaW5zaWNTdWNjZXNzAAAENGRpc3BhdGNoX2luZm9lBTxFeHRyaW5zaWNGYWlsZWQAAAg4ZGlzcGF0Y2hfZXJyb3JVBTRkaXNwYXRjaF9pbmZvZQUsQ29kZVVwZGF0ZWQAAQUoTmV3QWNjb3VudAAABBxhY2NvdW50ADRLaWxsZWRBY2NvdW50AAAEHGFjY291bnQAIFJlbWFya2VkAAAIGHNlbmRlcgAQaGFzaGBEVXBncmFkZUF1dGhvcml6ZWQAAAgkY29kZV9oYXNoYDRjaGVja192ZXJzaW9uWAIIEEZyZWUAAQUgUmVzZXJ2ZWQAAQUCWBxFbmRvd2VkAAAIHGFjY291bnQAMGZyZWVfYmFsYW5jZQggRHVzdExvc3QAAAgcYWNjb3VudAAYYW1vdW50CCBUcmFuc2ZlcgAADBBmcm9tAAh0bwAYYW1vdW50CChCYWxhbmNlU2V0AAAIDHdobwAQZnJlZQggUmVzZXJ2ZWQAAAgMd2hvABhhbW91bnQIKFVucmVzZXJ2ZWQAAAgMd2hvABhhbW91bnQISFJlc2VydmVSZXBhdHJpYXRlZAAAEBBmcm9tAAh0bwAYYW1vdW50CEhkZXN0aW5hdGlvbl9zdGF0dXNtBRxEZXBvc2l0AAAIDHdobwAYYW1vdW50CCBXaXRoZHJhdwAACAx3aG8AGGFtb3VudAgcU2xhc2hlZAAACAx3aG8AGGFtb3VudAgYTWludGVkAAAIDHdobwAYYW1vdW50CBhCdXJuZWQAAAgMd2hvABhhbW91bnQIJFN1c3BlbmRlZAAACAx3aG8AGGFtb3VudAggUmVzdG9yZWQAAAgMd2hvABhhbW91bnQIIFVwZ3JhZGVkAAAEDHdobwAYSXNzdWVkAAAEGGFtb3VudAgkUmVzY2luZGVkAAAEGGFtb3VudAgYTG9ja2VkAAAIDHdobwAYYW1vdW50CCBVbmxvY2tlZAAACAx3aG8AGGFtb3VudAgYRnJvemVuAAAIDHdobwAYYW1vdW50CBhUaGF3ZWQAAAgMd2hvABhhbW91bnQITFRvdGFsSXNzdWFuY2VGb3JjZWQAAAgMb2xkCAxuZXcIAgRIVHJhbnNhY3Rpb25GZWVQYWlkAAAMDHdobwAoYWN0dWFsX2ZlZQgMdGlwCAIQLEN1cnJlbmN5U2V0AAAIKGFjY291bnRfaWQAIGFzc2V0X2lkBDRDdXJyZW5jeUFkZGVkAAAEIGFzc2V0X2lkBDxDdXJyZW5jeVJlbW92ZWQAAAQgYXNzZXRfaWQEMEZlZVdpdGhkcmF3bgAAFChhY2NvdW50X2lkACBhc3NldF9pZAREbmF0aXZlX2ZlZV9hbW91bnQIVG5vbl9uYXRpdmVfZmVlX2Ftb3VudAhYZGVzdGluYXRpb25fYWNjb3VudF9pZAACMCBTcGVuZGluZwAABEBidWRnZXRfcmVtYWluaW5nCBxBd2FyZGVkAAAMOHByb3Bvc2FsX2luZGV4BBRhd2FyZAgcYWNjb3VudAAUQnVybnQAAAQsYnVybnRfZnVuZHMIIFJvbGxvdmVyAAAEQHJvbGxvdmVyX2JhbGFuY2UIHERlcG9zaXQAAAQUdmFsdWUINFNwZW5kQXBwcm92ZWQAAAw4cHJvcG9zYWxfaW5kZXgEGGFtb3VudAgsYmVuZWZpY2lhcnkAPFVwZGF0ZWRJbmFjdGl2ZQAACCxyZWFjdGl2YXRlZAgsZGVhY3RpdmF0ZWQISEFzc2V0U3BlbmRBcHByb3ZlZAAAFBRpbmRleAQYYW1vdW50CCxiZW5lZmljaWFyeQAodmFsaWRfZnJvbQQkZXhwaXJlX2F0BEBBc3NldFNwZW5kVm9pZGVkAAAEFGluZGV4BBBQYWlkAAAEFGluZGV4BDRQYXltZW50RmFpbGVkAAAEFGluZGV4BDhTcGVuZFByb2Nlc3NlZAAABBRpbmRleAQH/FUFAhhAQmF0Y2hJbnRlcnJ1cHRlZAAACBRpbmRleAQUZXJyb3JVBThCYXRjaENvbXBsZXRlZAABBWBCYXRjaENvbXBsZXRlZFdpdGhFcnJvcnMAAQU0SXRlbUNvbXBsZXRlZAABBShJdGVtRmFpbGVkAAAEFGVycm9yVQUwRGlzcGF0Y2hlZEFzAAAEGHJlc3VsdIEFAgwUTm90ZWQAAAQQaGFzaGAkUmVxdWVzdGVkAAAEEGhhc2hgHENsZWFyZWQAAAQQaGFzaGACRCxJZGVudGl0eVNldAAABAx3aG8APElkZW50aXR5Q2xlYXJlZAAACAx3aG8AHGRlcG9zaXQIOElkZW50aXR5S2lsbGVkAAAIDHdobwAcZGVwb3NpdAhISnVkZ2VtZW50UmVxdWVzdGVkAAAIDHdobwA8cmVnaXN0cmFyX2luZGV4BFBKdWRnZW1lbnRVbnJlcXVlc3RlZAAACAx3aG8APHJlZ2lzdHJhcl9pbmRleAQ4SnVkZ2VtZW50R2l2ZW4AAAgYdGFyZ2V0ADxyZWdpc3RyYXJfaW5kZXgEOFJlZ2lzdHJhckFkZGVkAAAEPHJlZ2lzdHJhcl9pbmRleARAU3ViSWRlbnRpdHlBZGRlZAAADAxzdWIAEG1haW4AHGRlcG9zaXQISFN1YklkZW50aXR5UmVtb3ZlZAAADAxzdWIAEG1haW4AHGRlcG9zaXQISFN1YklkZW50aXR5UmV2b2tlZAAADAxzdWIAEG1haW4AHGRlcG9zaXQIOEF1dGhvcml0eUFkZGVkAAAEJGF1dGhvcml0eQBAQXV0aG9yaXR5UmVtb3ZlZAAABCRhdXRob3JpdHkALFVzZXJuYW1lU2V0AAAIDHdobwAgdXNlcm5hbWVEOFVzZXJuYW1lUXVldWVkAAAMDHdobwAgdXNlcm5hbWVEKGV4cGlyYXRpb24ESFByZWFwcHJvdmFsRXhwaXJlZAAABBR3aG9zZQBIUHJpbWFyeVVzZXJuYW1lU2V0AAAIDHdobwAgdXNlcm5hbWVEXERhbmdsaW5nVXNlcm5hbWVSZW1vdmVkAAAIDHdobwAgdXNlcm5hbWVEAgxQU3VwZXJNYWpvcml0eUFwcHJvdmUAAQVQU3VwZXJNYWpvcml0eUFnYWluc3QAAQU4U2ltcGxlTWFqb3JpdHkAAQUCRCBQcm9wb3NlZAAACDhwcm9wb3NhbF9pbmRleAQcZGVwb3NpdAgYVGFibGVkAAAIOHByb3Bvc2FsX2luZGV4BBxkZXBvc2l0CDhFeHRlcm5hbFRhYmxlZAABBRxTdGFydGVkAAAIJHJlZl9pbmRleAQkdGhyZXNob2xkkQUYUGFzc2VkAAAEJHJlZl9pbmRleAQkTm90UGFzc2VkAAAEJHJlZl9pbmRleAQkQ2FuY2VsbGVkAAAEJHJlZl9pbmRleAQkRGVsZWdhdGVkAAAIDHdobwAYdGFyZ2V0ACxVbmRlbGVnYXRlZAAABBxhY2NvdW50ABhWZXRvZWQAAAwMd2hvADRwcm9wb3NhbF9oYXNoYBR1bnRpbAQsQmxhY2tsaXN0ZWQAAAQ0cHJvcG9zYWxfaGFzaGAUVm90ZWQAAAwUdm90ZXIAJHJlZl9pbmRleAQQdm90ZeEBIFNlY29uZGVkAAAIIHNlY29uZGVyAChwcm9wX2luZGV4BEBQcm9wb3NhbENhbmNlbGVkAAAEKHByb3BfaW5kZXgELE1ldGFkYXRhU2V0AAAIFG93bmVy6QEQaGFzaGA8TWV0YWRhdGFDbGVhcmVkAAAIFG93bmVy6QEQaGFzaGBMTWV0YWRhdGFUcmFuc2ZlcnJlZAAADChwcmV2X293bmVy6QEUb3duZXLpARBoYXNoYAMIAAgEmQUAAhwcTmV3VGVybQAABCxuZXdfbWVtYmVyc50FJEVtcHR5VGVybQABBTRFbGVjdGlvbkVycm9yAAEFME1lbWJlcktpY2tlZAAABBhtZW1iZXIAJFJlbm91bmNlZAAABCRjYW5kaWRhdGUAQENhbmRpZGF0ZVNsYXNoZWQAAAgkY2FuZGlkYXRlABhhbW91bnQIRFNlYXRIb2xkZXJTbGFzaGVkAAAILHNlYXRfaG9sZGVyABhhbW91bnQIAhwgUHJvcG9zZWQAABAcYWNjb3VudAA4cHJvcG9zYWxfaW5kZXgENHByb3Bvc2FsX2hhc2hgJHRocmVzaG9sZAQUVm90ZWQAABQcYWNjb3VudAA0cHJvcG9zYWxfaGFzaGAUdm90ZWRYDHllcwQIbm8EIEFwcHJvdmVkAAAENHByb3Bvc2FsX2hhc2hgLERpc2FwcHJvdmVkAAAENHByb3Bvc2FsX2hhc2hgIEV4ZWN1dGVkAAAINHByb3Bvc2FsX2hhc2hgGHJlc3VsdIEFOE1lbWJlckV4ZWN1dGVkAAAINHByb3Bvc2FsX2hhc2hgGHJlc3VsdIEFGENsb3NlZAAADDRwcm9wb3NhbF9oYXNoYAx5ZXMECG5vBAIUGE5ld1RpcAAABCB0aXBfaGFzaGAoVGlwQ2xvc2luZwAABCB0aXBfaGFzaGAkVGlwQ2xvc2VkAAAMIHRpcF9oYXNoYAx3aG8AGHBheW91dAgwVGlwUmV0cmFjdGVkAAAEIHRpcF9oYXNoYChUaXBTbGFzaGVkAAAMIHRpcF9oYXNoYBhmaW5kZXIAHGRlcG9zaXQIAhQ0UHJveHlFeGVjdXRlZAAABBhyZXN1bHSBBSxQdXJlQ3JlYXRlZAAAEBBwdXJlAAx3aG8AKHByb3h5X3R5cGUJAlBkaXNhbWJpZ3VhdGlvbl9pbmRleAQkQW5ub3VuY2VkAAAMEHJlYWwAFHByb3h5ACRjYWxsX2hhc2hgKFByb3h5QWRkZWQAABAkZGVsZWdhdG9yACRkZWxlZ2F0ZWUAKHByb3h5X3R5cGUJAhRkZWxheQQwUHJveHlSZW1vdmVkAAAQJGRlbGVnYXRvcgAkZGVsZWdhdGVlAChwcm94eV90eXBlCQIUZGVsYXkEAhAsTmV3TXVsdGlzaWcAAAwkYXBwcm92aW5nACBtdWx0aXNpZwAkY2FsbF9oYXNoYEBNdWx0aXNpZ0FwcHJvdmFsAAAQJGFwcHJvdmluZwAkdGltZXBvaW50FQIgbXVsdGlzaWcAJGNhbGxfaGFzaGBATXVsdGlzaWdFeGVjdXRlZAAAFCRhcHByb3ZpbmcAJHRpbWVwb2ludBUCIG11bHRpc2lnACRjYWxsX2hhc2hgGHJlc3VsdIEFRE11bHRpc2lnQ2FuY2VsbGVkAAAQKGNhbmNlbGxpbmcAJHRpbWVwb2ludBUCIG11bHRpc2lnACRjYWxsX2hhc2hgAmwcQ3JlYXRlZAAADChjb2xsZWN0aW9uCBxjcmVhdG9yABRvd25lcgAwRm9yY2VDcmVhdGVkAAAIKGNvbGxlY3Rpb24IFG93bmVyACREZXN0cm95ZWQAAAQoY29sbGVjdGlvbggYSXNzdWVkAAAMKGNvbGxlY3Rpb24IEGl0ZW0IFG93bmVyACxUcmFuc2ZlcnJlZAAAEChjb2xsZWN0aW9uCBBpdGVtCBBmcm9tAAh0bwAYQnVybmVkAAAMKGNvbGxlY3Rpb24IEGl0ZW0IFG93bmVyABhGcm96ZW4AAAgoY29sbGVjdGlvbggQaXRlbQgYVGhhd2VkAAAIKGNvbGxlY3Rpb24IEGl0ZW0IQENvbGxlY3Rpb25Gcm96ZW4AAAQoY29sbGVjdGlvbghAQ29sbGVjdGlvblRoYXdlZAAABChjb2xsZWN0aW9uCDBPd25lckNoYW5nZWQAAAgoY29sbGVjdGlvbggkbmV3X293bmVyACxUZWFtQ2hhbmdlZAAAEChjb2xsZWN0aW9uCBhpc3N1ZXIAFGFkbWluABxmcmVlemVyAEBBcHByb3ZlZFRyYW5zZmVyAAAQKGNvbGxlY3Rpb24IEGl0ZW0IFG93bmVyACBkZWxlZ2F0ZQBEQXBwcm92YWxDYW5jZWxsZWQAABAoY29sbGVjdGlvbggQaXRlbQgUb3duZXIAIGRlbGVnYXRlAERJdGVtU3RhdHVzQ2hhbmdlZAAABChjb2xsZWN0aW9uCFRDb2xsZWN0aW9uTWV0YWRhdGFTZXQAAAwoY29sbGVjdGlvbggQZGF0YUQkaXNfZnJvemVuWGRDb2xsZWN0aW9uTWV0YWRhdGFDbGVhcmVkAAAEKGNvbGxlY3Rpb24ILE1ldGFkYXRhU2V0AAAQKGNvbGxlY3Rpb24IEGl0ZW0IEGRhdGFEJGlzX2Zyb3plblg8TWV0YWRhdGFDbGVhcmVkAAAIKGNvbGxlY3Rpb24IEGl0ZW0ILFJlZGVwb3NpdGVkAAAIKGNvbGxlY3Rpb24IQHN1Y2Nlc3NmdWxfaXRlbXMlAjBBdHRyaWJ1dGVTZXQAABAoY29sbGVjdGlvbggobWF5YmVfaXRlbVQMa2V5RBR2YWx1ZURAQXR0cmlidXRlQ2xlYXJlZAAADChjb2xsZWN0aW9uCChtYXliZV9pdGVtVAxrZXlEaE93bmVyc2hpcEFjY2VwdGFuY2VDaGFuZ2VkAAAIDHdobwBAbWF5YmVfY29sbGVjdGlvblRYQ29sbGVjdGlvbk1heFN1cHBseVNldAAACChjb2xsZWN0aW9uCChtYXhfc3VwcGx5BDBJdGVtUHJpY2VTZXQAABAoY29sbGVjdGlvbggQaXRlbQgUcHJpY2UIRHdoaXRlbGlzdGVkX2J1eWVy/QFASXRlbVByaWNlUmVtb3ZlZAAACChjb2xsZWN0aW9uCBBpdGVtCChJdGVtQm91Z2h0AAAUKGNvbGxlY3Rpb24IEGl0ZW0IFHByaWNlCBhzZWxsZXIAFGJ1eWVyAAIIGFNpZ25lZAABBRBBdXRvAAEFAhAgTWlncmF0ZWQAAAwMdG9wBBRjaGlsZAQcY29tcHV0ZbkFHFNsYXNoZWQAAAgMd2hvABhhbW91bnQIVEF1dG9NaWdyYXRpb25GaW5pc2hlZAABBRhIYWx0ZWQAAAQUZXJyb3KdBAIQJERlbGVnYXRlZAAEAAEILFVuZGVsZWdhdGVkAQAUVm90ZWQAAAgMd2hvABB2b3RlQQIsVm90ZVJlbW92ZWQAAAgMd2hvABB2b3RlQQIADBBheWVzCBBuYXlzCBxzdXBwb3J0CAJAJFN1Ym1pdHRlZAAADBRpbmRleAQUdHJhY2sEIHByb3Bvc2Fs3QFURGVjaXNpb25EZXBvc2l0UGxhY2VkAAAMFGluZGV4BAx3aG8AGGFtb3VudAhcRGVjaXNpb25EZXBvc2l0UmVmdW5kZWQAAAwUaW5kZXgEDHdobwAYYW1vdW50CDhEZXBvc2l0U2xhc2hlZAAACAx3aG8AGGFtb3VudAg8RGVjaXNpb25TdGFydGVkAAAQFGluZGV4BBR0cmFjawQgcHJvcG9zYWzdARR0YWxsecUFOENvbmZpcm1TdGFydGVkAAAEFGluZGV4BDhDb25maXJtQWJvcnRlZAAABBRpbmRleAQkQ29uZmlybWVkAAAIFGluZGV4BBR0YWxsecUFIEFwcHJvdmVkAAAEFGluZGV4BCBSZWplY3RlZAAACBRpbmRleAQUdGFsbHnFBSBUaW1lZE91dAAACBRpbmRleAQUdGFsbHnFBSRDYW5jZWxsZWQAAAgUaW5kZXgEFHRhbGx5xQUYS2lsbGVkAAAIFGluZGV4BBR0YWxsecUFZFN1Ym1pc3Npb25EZXBvc2l0UmVmdW5kZWQAAAwUaW5kZXgEDHdobwAYYW1vdW50CCxNZXRhZGF0YVNldAAACBRpbmRleAQQaGFzaGA8TWV0YWRhdGFDbGVhcmVkAAAIFGluZGV4BBBoYXNoYAIMPENhbGxXaGl0ZWxpc3RlZAAABCRjYWxsX2hhc2hgWFdoaXRlbGlzdGVkQ2FsbFJlbW92ZWQAAAQkY2FsbF9oYXNoYGRXaGl0ZWxpc3RlZENhbGxEaXNwYXRjaGVkAAAIJGNhbGxfaGFzaGAYcmVzdWx0XQUCCHRUcmVhc3VyeU1hbmFnZXJDYWxsRGlzcGF0Y2hlZAAACCRjYWxsX2hhc2hgGHJlc3VsdF0FZEFhdmVNYW5hZ2VyQ2FsbERpc3BhdGNoZWQAAAgkY2FsbF9oYXNoYBhyZXN1bHRdBQIYWEV4aXN0ZW50aWFsRGVwb3NpdFBhaWQAAAwMd2hvACRmZWVfYXNzZXQEGGFtb3VudAgoUmVnaXN0ZXJlZAAAICBhc3NldF9pZAQoYXNzZXRfbmFtZUgoYXNzZXRfdHlwZUxMZXhpc3RlbnRpYWxfZGVwb3NpdAg4eGNtX3JhdGVfbGltaXRUGHN5bWJvbEggZGVjaW1hbHNQNGlzX3N1ZmZpY2llbnRYHFVwZGF0ZWQAACAgYXNzZXRfaWQEKGFzc2V0X25hbWVIKGFzc2V0X3R5cGVMTGV4aXN0ZW50aWFsX2RlcG9zaXQIOHhjbV9yYXRlX2xpbWl0VBhzeW1ib2xIIGRlY2ltYWxzUDRpc19zdWZmaWNpZW50WCxMb2NhdGlvblNldAAACCBhc3NldF9pZAQgbG9jYXRpb26ELEFzc2V0QmFubmVkAAAEIGFzc2V0X2lkBDRBc3NldFVuYmFubmVkAAAEIGFzc2V0X2lkBAIEFENsYWltAAMMAGwIAgRAQ29sbGF0b3JSZXdhcmRlZAAADAx3aG8AGGFtb3VudAggY3VycmVuY3kEAjQoVG9rZW5BZGRlZAAADCBhc3NldF9pZAQ4aW5pdGlhbF9hbW91bnQINGluaXRpYWxfcHJpY2UIMFRva2VuUmVtb3ZlZAAADCBhc3NldF9pZAQYYW1vdW50CDRodWJfd2l0aGRyYXduCDhMaXF1aWRpdHlBZGRlZAAAEAx3aG8AIGFzc2V0X2lkBBhhbW91bnQILHBvc2l0aW9uX2lkCEBMaXF1aWRpdHlSZW1vdmVkAAAUDHdobwAscG9zaXRpb25faWQIIGFzc2V0X2lkBDhzaGFyZXNfcmVtb3ZlZAgMZmVlCGBQcm90b2NvbExpcXVpZGl0eVJlbW92ZWQAABQMd2hvACBhc3NldF9pZAQYYW1vdW50CChodWJfYW1vdW50CDhzaGFyZXNfcmVtb3ZlZAgwU2VsbEV4ZWN1dGVkAAAkDHdobwAgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CDRodWJfYW1vdW50X2luCDhodWJfYW1vdW50X291dAhAYXNzZXRfZmVlX2Ftb3VudAhMcHJvdG9jb2xfZmVlX2Ftb3VudAgsQnV5RXhlY3V0ZWQAACQMd2hvACBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQINGh1Yl9hbW91bnRfaW4IOGh1Yl9hbW91bnRfb3V0CEBhc3NldF9mZWVfYW1vdW50CExwcm90b2NvbF9mZWVfYW1vdW50CDxQb3NpdGlvbkNyZWF0ZWQAABgscG9zaXRpb25faWQIFG93bmVyABRhc3NldAQYYW1vdW50CBhzaGFyZXMIFHByaWNlCERQb3NpdGlvbkRlc3Ryb3llZAAACCxwb3NpdGlvbl9pZAgUb3duZXIAPFBvc2l0aW9uVXBkYXRlZAAAGCxwb3NpdGlvbl9pZAgUb3duZXIAFGFzc2V0BBhhbW91bnQIGHNoYXJlcwgUcHJpY2UIUFRyYWRhYmxlU3RhdGVVcGRhdGVkAAAIIGFzc2V0X2lkBBRzdGF0ZQQ0QXNzZXRSZWZ1bmRlZAAADCBhc3NldF9pZAQYYW1vdW50CCRyZWNpcGllbnQAVEFzc2V0V2VpZ2h0Q2FwVXBkYXRlZAAACCBhc3NldF9pZAQMY2FwBAIIRFRyYW5zYWN0aW9uUGF1c2VkAAAIRHBhbGxldF9uYW1lX2J5dGVzRExmdW5jdGlvbl9uYW1lX2J5dGVzRExUcmFuc2FjdGlvblVucGF1c2VkAAAIRHBhbGxldF9uYW1lX2J5dGVzRExmdW5jdGlvbl9uYW1lX2J5dGVzRAIMGER1c3RlZAAACAx3aG8AGGFtb3VudAgUQWRkZWQAAAQMd2hvABxSZW1vdmVkAAAEDHdobwACDFxHbG9iYWxGYXJtQWNjUlBaVXBkYXRlZAAADDhnbG9iYWxfZmFybV9pZAQ8YWNjdW11bGF0ZWRfcnB6CDh0b3RhbF9zaGFyZXNfeghcWWllbGRGYXJtQWNjUlBWU1VwZGF0ZWQAABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEQGFjY3VtdWxhdGVkX3JwdnMITHRvdGFsX3ZhbHVlZF9zaGFyZXMIVEFsbFJld2FyZHNEaXN0cmlidXRlZAAABDhnbG9iYWxfZmFybV9pZAQCNERHbG9iYWxGYXJtQ3JlYXRlZAAAKAhpZAQUb3duZXIANHRvdGFsX3Jld2FyZHMIPHJld2FyZF9jdXJyZW5jeQRAeWllbGRfcGVyX3BlcmlvZAhgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzBERibG9ja3NfcGVyX3BlcmlvZARUbWF4X3Jld2FyZF9wZXJfcGVyaW9kCCxtaW5fZGVwb3NpdAhUbHJuYV9wcmljZV9hZGp1c3RtZW50CERHbG9iYWxGYXJtVXBkYXRlZAAAEAhpZARgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzBEB5aWVsZF9wZXJfcGVyaW9kCCxtaW5fZGVwb3NpdAhQR2xvYmFsRmFybVRlcm1pbmF0ZWQAABA4Z2xvYmFsX2Zhcm1faWQEDHdobwA8cmV3YXJkX2N1cnJlbmN5BFR1bmRpc3RyaWJ1dGVkX3Jld2FyZHMIQFlpZWxkRmFybUNyZWF0ZWQAABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBChtdWx0aXBsaWVyCDRsb3lhbHR5X2N1cnZlgQJAWWllbGRGYXJtVXBkYXRlZAAAFDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQgYXNzZXRfaWQEDHdobwAobXVsdGlwbGllcghAWWllbGRGYXJtU3RvcHBlZAAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQgYXNzZXRfaWQEDHdobwBAWWllbGRGYXJtUmVzdW1lZAAAFDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQgYXNzZXRfaWQEDHdobwAobXVsdGlwbGllcghMWWllbGRGYXJtVGVybWluYXRlZAAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQgYXNzZXRfaWQEDHdobwA8U2hhcmVzRGVwb3NpdGVkAAAcOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChkZXBvc2l0X2lkCCBhc3NldF9pZAQMd2hvADRzaGFyZXNfYW1vdW50CCxwb3NpdGlvbl9pZAhEU2hhcmVzUmVkZXBvc2l0ZWQAABw4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGRlcG9zaXRfaWQIIGFzc2V0X2lkBAx3aG8ANHNoYXJlc19hbW91bnQILHBvc2l0aW9uX2lkCDRSZXdhcmRDbGFpbWVkAAAYOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AHGNsYWltZWQIPHJld2FyZF9jdXJyZW5jeQQoZGVwb3NpdF9pZAg8U2hhcmVzV2l0aGRyYXduAAAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AGGFtb3VudAgoZGVwb3NpdF9pZAhARGVwb3NpdERlc3Ryb3llZAAACAx3aG8AKGRlcG9zaXRfaWQIAhAkQ2FuY2VsbGVkAAAEIG9yZGVyX2lkBBhGaWxsZWQAABQgb3JkZXJfaWQEDHdobwAkYW1vdW50X2luCChhbW91bnRfb3V0CAxmZWUIPFBhcnRpYWxseUZpbGxlZAAAFCBvcmRlcl9pZAQMd2hvACRhbW91bnRfaW4IKGFtb3VudF9vdXQIDGZlZQgYUGxhY2VkAAAYIG9yZGVyX2lkBCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQISHBhcnRpYWxseV9maWxsYWJsZVgCDFxUcmFkZVZvbHVtZUxpbWl0Q2hhbmdlZAAACCBhc3NldF9pZARIdHJhZGVfdm9sdW1lX2xpbWl0tGBBZGRMaXF1aWRpdHlMaW1pdENoYW5nZWQAAAggYXNzZXRfaWQEPGxpcXVpZGl0eV9saW1pdJ0CbFJlbW92ZUxpcXVpZGl0eUxpbWl0Q2hhbmdlZAAACCBhc3NldF9pZAQ8bGlxdWlkaXR5X2xpbWl0nQICCCBFeGVjdXRlZAAAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQIIGV2ZW50X2lkBDBSb3V0ZVVwZGF0ZWQAAAQkYXNzZXRfaWRzrAIYPFBvc2l0aW9uQ3JlYXRlZAAADAx3aG8ALHBvc2l0aW9uX2lkCBRzdGFrZQgoU3Rha2VBZGRlZAAAHAx3aG8ALHBvc2l0aW9uX2lkCBRzdGFrZQgsdG90YWxfc3Rha2UIOGxvY2tlZF9yZXdhcmRzCDhzbGFzaGVkX3BvaW50cwhIcGF5YWJsZV9wZXJjZW50YWdlCDhSZXdhcmRzQ2xhaW1lZAAAHAx3aG8ALHBvc2l0aW9uX2lkCDBwYWlkX3Jld2FyZHMIQHVubG9ja2VkX3Jld2FyZHMIOHNsYXNoZWRfcG9pbnRzCFhzbGFzaGVkX3VucGFpZF9yZXdhcmRzCEhwYXlhYmxlX3BlcmNlbnRhZ2UIIFVuc3Rha2VkAAAMDHdobwAscG9zaXRpb25faWQIOHVubG9ja2VkX3N0YWtlCEhTdGFraW5nSW5pdGlhbGl6ZWQAAARQbm9uX2R1c3RhYmxlX2JhbGFuY2UIVEFjY3VtdWxhdGVkUnBzVXBkYXRlZAAACDxhY2N1bXVsYXRlZF9ycHMILHRvdGFsX3N0YWtlCARtAgAADBhzb3VyY2W9AjhtYXhfcGVnX3VwZGF0ZQQcY3VycmVudAUGBgkGAiQsUG9vbENyZWF0ZWQAABQccG9vbF9pZAQYYXNzZXRzrDRhbXBsaWZpY2F0aW9uBAxmZWUEDHBlZw0GKEZlZVVwZGF0ZWQAAAgccG9vbF9pZAQMZmVlBDhMaXF1aWRpdHlBZGRlZAAAEBxwb29sX2lkBAx3aG8AGHNoYXJlcwgYYXNzZXRzjQJATGlxdWlkaXR5UmVtb3ZlZAAAFBxwb29sX2lkBAx3aG8AGHNoYXJlcwgcYW1vdW50c40CDGZlZQgwU2VsbEV4ZWN1dGVkAAAcDHdobwAccG9vbF9pZAQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CAxmZWUILEJ1eUV4ZWN1dGVkAAAcDHdobwAccG9vbF9pZAQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCChhbW91bnRfb3V0CAxmZWUIUFRyYWRhYmxlU3RhdGVVcGRhdGVkAAAMHHBvb2xfaWQEIGFzc2V0X2lkBBRzdGF0ZQRUQW1wbGlmaWNhdGlvbkNoYW5naW5nAAAUHHBvb2xfaWQEVGN1cnJlbnRfYW1wbGlmaWNhdGlvbgRMZmluYWxfYW1wbGlmaWNhdGlvbgQsc3RhcnRfYmxvY2sEJGVuZF9ibG9jawQ0UG9vbERlc3Ryb3llZAAABBxwb29sX2lkBAIMMFRva2VuQ3JlYXRlZAAAEBhpc3N1ZXIAIGFzc2V0X2lkBBxib25kX2lkBCBtYXR1cml0eQgYSXNzdWVkAAAQGGlzc3VlcgAcYm9uZF9pZAQYYW1vdW50CAxmZWUIIFJlZGVlbWVkAAAMDHdobwAcYm9uZF9pZAQYYW1vdW50CAIEIEV4ZWN1dGVkAAAIIGFzc2V0X2lkBBhwcm9maXQIAhgsUG9vbENyZWF0ZWQAAAgQcG9vbAAQZGF0YcQsUG9vbFVwZGF0ZWQAAAgQcG9vbAAQZGF0YcQ4TGlxdWlkaXR5QWRkZWQAABQMd2hvABxhc3NldF9hBBxhc3NldF9iBCBhbW91bnRfYQggYW1vdW50X2IIQExpcXVpZGl0eVJlbW92ZWQAABQMd2hvABxhc3NldF9hBBxhc3NldF9iBCBhbW91bnRfYQggYW1vdW50X2IIMFNlbGxFeGVjdXRlZAAAHAx3aG8AIGFzc2V0X2luBCRhc3NldF9vdXQEGGFtb3VudAgoc2FsZV9wcmljZQgkZmVlX2Fzc2V0BChmZWVfYW1vdW50CCxCdXlFeGVjdXRlZAAAHAx3aG8AJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAgkYnV5X3ByaWNlCCRmZWVfYXNzZXQEKGZlZV9hbW91bnQIAhg4TGlxdWlkaXR5QWRkZWQAABQMd2hvABxhc3NldF9hBBxhc3NldF9iBCBhbW91bnRfYQggYW1vdW50X2IIQExpcXVpZGl0eVJlbW92ZWQAABAMd2hvABxhc3NldF9hBBxhc3NldF9iBBhzaGFyZXMILFBvb2xDcmVhdGVkAAAYDHdobwAcYXNzZXRfYQQcYXNzZXRfYgRUaW5pdGlhbF9zaGFyZXNfYW1vdW50CCxzaGFyZV90b2tlbgQQcG9vbAA0UG9vbERlc3Ryb3llZAAAFAx3aG8AHGFzc2V0X2EEHGFzc2V0X2IELHNoYXJlX3Rva2VuBBBwb29sADBTZWxsRXhlY3V0ZWQAACAMd2hvACBhc3NldF9pbgQkYXNzZXRfb3V0BBhhbW91bnQIKHNhbGVfcHJpY2UIJGZlZV9hc3NldAQoZmVlX2Ftb3VudAgQcG9vbAAsQnV5RXhlY3V0ZWQAACAMd2hvACRhc3NldF9vdXQEIGFzc2V0X2luBBhhbW91bnQIJGJ1eV9wcmljZQgkZmVlX2Fzc2V0BChmZWVfYW1vdW50CBBwb29sAAIYOENvZGVSZWdpc3RlcmVkAAAIEGNvZGVEHGFjY291bnQAKENvZGVMaW5rZWQAAAwcYWNjb3VudAAQY29kZURAcmVmZXJyYWxfYWNjb3VudAAkQ29udmVydGVkAAAIEGZyb22JAgh0b4kCHENsYWltZWQAAAwMd2hvAEByZWZlcnJlcl9yZXdhcmRzCDR0cmFkZV9yZXdhcmRzCExBc3NldFJld2FyZHNVcGRhdGVkAAAMIGFzc2V0X2lkBBRsZXZlbNUCHHJld2FyZHPZAhxMZXZlbFVwAAAIDHdobwAUbGV2ZWzVAgIEKExpcXVpZGF0ZWQAABgobGlxdWlkYXRvcgAsZXZtX2FkZHJlc3NsQGNvbGxhdGVyYWxfYXNzZXQEKGRlYnRfYXNzZXQENGRlYnRfdG9fY292ZXIIGHByb2ZpdAgCRBxFbmRvd2VkAAAMLGN1cnJlbmN5X2lkBAx3aG8AGGFtb3VudAggRHVzdExvc3QAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CCBUcmFuc2ZlcgAAECxjdXJyZW5jeV9pZAQQZnJvbQAIdG8AGGFtb3VudAggUmVzZXJ2ZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CChVbnJlc2VydmVkAAAMLGN1cnJlbmN5X2lkBAx3aG8AGGFtb3VudAhIUmVzZXJ2ZVJlcGF0cmlhdGVkAAAULGN1cnJlbmN5X2lkBBBmcm9tAAh0bwAYYW1vdW50CBhzdGF0dXNtBShCYWxhbmNlU2V0AAAQLGN1cnJlbmN5X2lkBAx3aG8AEGZyZWUIIHJlc2VydmVkCEBUb3RhbElzc3VhbmNlU2V0AAAILGN1cnJlbmN5X2lkBBhhbW91bnQIJFdpdGhkcmF3bgAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIHFNsYXNoZWQAABAsY3VycmVuY3lfaWQEDHdobwAsZnJlZV9hbW91bnQIPHJlc2VydmVkX2Ftb3VudAgkRGVwb3NpdGVkAAAMLGN1cnJlbmN5X2lkBAx3aG8AGGFtb3VudAgcTG9ja1NldAAAEBxsb2NrX2lkNCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQILExvY2tSZW1vdmVkAAAMHGxvY2tfaWQ0LGN1cnJlbmN5X2lkBAx3aG8AGExvY2tlZAAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIIFVubG9ja2VkAAAMLGN1cnJlbmN5X2lkBAx3aG8AGGFtb3VudAgYSXNzdWVkAAAILGN1cnJlbmN5X2lkBBhhbW91bnQIJFJlc2NpbmRlZAAACCxjdXJyZW5jeV9pZAQYYW1vdW50CAIQLFRyYW5zZmVycmVkAAAQLGN1cnJlbmN5X2lkBBBmcm9tAAh0bwAYYW1vdW50CDhCYWxhbmNlVXBkYXRlZAAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIJERlcG9zaXRlZAAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIJFdpdGhkcmF3bgAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIAgxQVmVzdGluZ1NjaGVkdWxlQWRkZWQAAAwQZnJvbQAIdG8AQHZlc3Rpbmdfc2NoZWR1bGXtAhxDbGFpbWVkAAAIDHdobwAYYW1vdW50CFxWZXN0aW5nU2NoZWR1bGVzVXBkYXRlZAAABAx3aG8AAhQMTG9nAAAEDGxvZ9QcQ3JlYXRlZAAABBxhZGRyZXNzbDRDcmVhdGVkRmFpbGVkAAAEHGFkZHJlc3NsIEV4ZWN1dGVkAAAEHGFkZHJlc3NsOEV4ZWN1dGVkRmFpbGVkAAAEHGFkZHJlc3NsAgwcU3RvcHBlZAABBSBSZXR1cm5lZAABBSBTdWljaWRlZAABBQJAOFN0YWNrVW5kZXJmbG93AAEFNFN0YWNrT3ZlcmZsb3cAAQUsSW52YWxpZEp1bXAAAQUwSW52YWxpZFJhbmdlAAEFRERlc2lnbmF0ZWRJbnZhbGlkAAEFLENhbGxUb29EZWVwAAEFPENyZWF0ZUNvbGxpc2lvbgABBUxDcmVhdGVDb250cmFjdExpbWl0AAEFLEludmFsaWRDb2RlAQQsT3V0T2ZPZmZzZXQAAQUgT3V0T2ZHYXMAAQUkT3V0T2ZGdW5kAAEFLFBDVW5kZXJmbG93AAEFLENyZWF0ZUVtcHR5AAEFFE90aGVyATAgTWF4Tm9uY2UAAQUCBCBSZXZlcnRlZAABBQIQME5vdFN1cHBvcnRlZAABBUhVbmhhbmRsZWRJbnRlcnJ1cHQAAQVAQ2FsbEVycm9yQXNGYXRhbAFBBhRPdGhlcgEwAhAcU3VjY2VlZAE9BhRFcnJvcgFBBhhSZXZlcnQBRQYURmF0YWwBSQYCBCBFeGVjdXRlZAAAFBBmcm9tbAh0b2xAdHJhbnNhY3Rpb25faGFzaGAsZXhpdF9yZWFzb25NBihleHRyYV9kYXRhRAIUFEJvdW5kAAAIHGFjY291bnQAHGFkZHJlc3NsNERlcGxveWVyQWRkZWQAAAQMd2hvbDxEZXBsb3llclJlbW92ZWQAAAQMd2hvbEBDb250cmFjdEFwcHJvdmVkAAAEHGFkZHJlc3NsTENvbnRyYWN0RGlzYXBwcm92ZWQAAAQcYWRkcmVzc2wCNERHbG9iYWxGYXJtQ3JlYXRlZAAALAhpZAQUb3duZXIANHRvdGFsX3Jld2FyZHMIPHJld2FyZF9jdXJyZW5jeQRAeWllbGRfcGVyX3BlcmlvZAhgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzBERibG9ja3NfcGVyX3BlcmlvZARIaW5jZW50aXZpemVkX2Fzc2V0BFRtYXhfcmV3YXJkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CEBwcmljZV9hZGp1c3RtZW50CERHbG9iYWxGYXJtVXBkYXRlZAAACAhpZARAcHJpY2VfYWRqdXN0bWVudAhAWWllbGRGYXJtQ3JlYXRlZAAAFDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQobXVsdGlwbGllcggoYXNzZXRfcGFpcqUCNGxveWFsdHlfY3VydmWBAlBHbG9iYWxGYXJtVGVybWluYXRlZAAAEDhnbG9iYWxfZmFybV9pZAQMd2hvADxyZXdhcmRfY3VycmVuY3kEVHVuZGlzdHJpYnV0ZWRfcmV3YXJkcwg8U2hhcmVzRGVwb3NpdGVkAAAYOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AGGFtb3VudAggbHBfdG9rZW4EKGRlcG9zaXRfaWQIRFNoYXJlc1JlZGVwb3NpdGVkAAAYOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AGGFtb3VudAggbHBfdG9rZW4EKGRlcG9zaXRfaWQINFJld2FyZENsYWltZWQAABg4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAcY2xhaW1lZAg8cmV3YXJkX2N1cnJlbmN5BChkZXBvc2l0X2lkCDxTaGFyZXNXaXRoZHJhd24AABg4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAgbHBfdG9rZW4EGGFtb3VudAgoZGVwb3NpdF9pZAhAWWllbGRGYXJtU3RvcHBlZAAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvAChhc3NldF9wYWlypQJAWWllbGRGYXJtUmVzdW1lZAAAFDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvAChhc3NldF9wYWlypQIobXVsdGlwbGllcghMWWllbGRGYXJtVGVybWluYXRlZAAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvAChhc3NldF9wYWlypQJAWWllbGRGYXJtVXBkYXRlZAAAFDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvAChhc3NldF9wYWlypQIobXVsdGlwbGllcghARGVwb3NpdERlc3Ryb3llZAAACAx3aG8AKGRlcG9zaXRfaWQIAgRMQ3VycmVudEJsb2NrTnVtYmVycwAACFhwYXJhY2hhaW5fYmxvY2tfbnVtYmVyBFxyZWxheWNoYWluX2Jsb2NrX251bWJlcgQCIEBFeGVjdXRpb25TdGFydGVkAAAICGlkBBRibG9jawQkU2NoZWR1bGVkAAAUCGlkBAx3aG8AGHBlcmlvZAQwdG90YWxfYW1vdW50CBRvcmRlcjUDQEV4ZWN1dGlvblBsYW5uZWQAAAwIaWQEDHdobwAUYmxvY2sENFRyYWRlRXhlY3V0ZWQAABAIaWQEDHdobwAkYW1vdW50X2luCChhbW91bnRfb3V0CCxUcmFkZUZhaWxlZAAADAhpZAQMd2hvABRlcnJvclUFKFRlcm1pbmF0ZWQAAAwIaWQEDHdobwAUZXJyb3JVBSRDb21wbGV0ZWQAAAgIaWQEDHdobwBoUmFuZG9tbmVzc0dlbmVyYXRpb25GYWlsZWQAAAgUYmxvY2sEFGVycm9yVQUCJCRTY2hlZHVsZWQAAAgQd2hlbgQUaW5kZXgEIENhbmNlbGVkAAAIEHdoZW4EFGluZGV4BChEaXNwYXRjaGVkAAAMEHRhc2u0CGlk7QEYcmVzdWx0gQUgUmV0cnlTZXQAABAQdGFza7QIaWTtARhwZXJpb2QEHHJldHJpZXMEOFJldHJ5Q2FuY2VsbGVkAAAIEHRhc2u0CGlk7QE8Q2FsbFVuYXZhaWxhYmxlAAAIEHRhc2u0CGlk7QE4UGVyaW9kaWNGYWlsZWQAAAgQdGFza7QIaWTtASxSZXRyeUZhaWxlZAAACBB0YXNrtAhpZO0BVFBlcm1hbmVudGx5T3ZlcndlaWdodAAACBB0YXNrtAhpZO0BAhhgVmFsaWRhdGlvbkZ1bmN0aW9uU3RvcmVkAAEFZFZhbGlkYXRpb25GdW5jdGlvbkFwcGxpZWQAAARUcmVsYXlfY2hhaW5fYmxvY2tfbnVtBGxWYWxpZGF0aW9uRnVuY3Rpb25EaXNjYXJkZWQAAQVgRG93bndhcmRNZXNzYWdlc1JlY2VpdmVkAAAEFGNvdW50BGREb3dud2FyZE1lc3NhZ2VzUHJvY2Vzc2VkAAAILHdlaWdodF91c2VkFCBkbXFfaGVhZGBEVXB3YXJkTWVzc2FnZVNlbnQAAAQwbWVzc2FnZV9oYXNo7QECDCBDb21wbGV0ZQAABBB1c2VkFChJbmNvbXBsZXRlAAAIEHVzZWQUFGVycm9y0QMURXJyb3IAAAQUZXJyb3LRAwJgJEF0dGVtcHRlZAAABBxvdXRjb21lbQYQU2VudAAAEBhvcmlnaW6ELGRlc3RpbmF0aW9uhBxtZXNzYWdlHQQobWVzc2FnZV9pZGBIVW5leHBlY3RlZFJlc3BvbnNlAAAIGG9yaWdpboQgcXVlcnlfaWQINFJlc3BvbnNlUmVhZHkAAAggcXVlcnlfaWQIIHJlc3BvbnNlDQQgTm90aWZpZWQAAAwgcXVlcnlfaWQIMHBhbGxldF9pbmRleAQoY2FsbF9pbmRleARATm90aWZ5T3ZlcndlaWdodAAAFCBxdWVyeV9pZAgwcGFsbGV0X2luZGV4BChjYWxsX2luZGV4BDRhY3R1YWxfd2VpZ2h0FExtYXhfYnVkZ2V0ZWRfd2VpZ2h0FExOb3RpZnlEaXNwYXRjaEVycm9yAAAMIHF1ZXJ5X2lkCDBwYWxsZXRfaW5kZXgEKGNhbGxfaW5kZXgESE5vdGlmeURlY29kZUZhaWxlZAAADCBxdWVyeV9pZAgwcGFsbGV0X2luZGV4BChjYWxsX2luZGV4BEBJbnZhbGlkUmVzcG9uZGVyAAAMGG9yaWdpboQgcXVlcnlfaWQIRGV4cGVjdGVkX2xvY2F0aW9uWQJcSW52YWxpZFJlc3BvbmRlclZlcnNpb24AAAgYb3JpZ2luhCBxdWVyeV9pZAg0UmVzcG9uc2VUYWtlbgAABCBxdWVyeV9pZAg0QXNzZXRzVHJhcHBlZAAADBBoYXNoYBhvcmlnaW6EGGFzc2V0cyUEVFZlcnNpb25DaGFuZ2VOb3RpZmllZAAAECxkZXN0aW5hdGlvboQYcmVzdWx0BBBjb3N0CQQobWVzc2FnZV9pZGBcU3VwcG9ydGVkVmVyc2lvbkNoYW5nZWQAAAggbG9jYXRpb26EHHZlcnNpb24EUE5vdGlmeVRhcmdldFNlbmRGYWlsAAAMIGxvY2F0aW9uhCBxdWVyeV9pZAgUZXJyb3LRA2ROb3RpZnlUYXJnZXRNaWdyYXRpb25GYWlsAAAIIGxvY2F0aW9ueQMgcXVlcnlfaWQIVEludmFsaWRRdWVyaWVyVmVyc2lvbgAACBhvcmlnaW6EIHF1ZXJ5X2lkCDhJbnZhbGlkUXVlcmllcgAAEBhvcmlnaW6EIHF1ZXJ5X2lkCEBleHBlY3RlZF9xdWVyaWVyhFBtYXliZV9hY3R1YWxfcXVlcmllclkCUFZlcnNpb25Ob3RpZnlTdGFydGVkAAAMLGRlc3RpbmF0aW9uhBBjb3N0CQQobWVzc2FnZV9pZGBYVmVyc2lvbk5vdGlmeVJlcXVlc3RlZAAADCxkZXN0aW5hdGlvboQQY29zdAkEKG1lc3NhZ2VfaWRgYFZlcnNpb25Ob3RpZnlVbnJlcXVlc3RlZAAADCxkZXN0aW5hdGlvboQQY29zdAkEKG1lc3NhZ2VfaWRgIEZlZXNQYWlkAAAIGHBheWluZ4QQZmVlcwkENEFzc2V0c0NsYWltZWQAAAwQaGFzaGAYb3JpZ2luhBhhc3NldHMlBGBWZXJzaW9uTWlncmF0aW9uRmluaXNoZWQAAAQcdmVyc2lvbgQCDDRJbnZhbGlkRm9ybWF0AWBIVW5zdXBwb3J0ZWRWZXJzaW9uAWBARXhlY3V0ZWREb3dud2FyZAADCGBtBgIEPFhjbXBNZXNzYWdlU2VudAAABDBtZXNzYWdlX2hhc2hgAhgkQmFkRm9ybWF0AAEFHENvcnJ1cHQAAQUsVW5zdXBwb3J0ZWQAAQUoT3ZlcndlaWdodAEUFFlpZWxkAAEFRFN0YWNrTGltaXRSZWFjaGVkAAEFAhBAUHJvY2Vzc2luZ0ZhaWxlZAAADAhpZGAYb3JpZ2luNQQUZXJyb3J9BiRQcm9jZXNzZWQAABAIaWRgGG9yaWdpbjUELHdlaWdodF91c2VkFBxzdWNjZXNzWEhPdmVyd2VpZ2h0RW5xdWV1ZWQAABAIaWRgGG9yaWdpbjUEKHBhZ2VfaW5kZXgENG1lc3NhZ2VfaW5kZXgEKFBhZ2VSZWFwZWQAAAgYb3JpZ2luNQQUaW5kZXgEAgQQU2VudAAACAh0b4QcbWVzc2FnZR0EAgREVHJhbnNmZXJyZWRBc3NldHMAABAYc2VuZGVyABhhc3NldHMJBAxmZWUFBBBkZXN0hAIIJERlcG9zaXRlZAAACBRhc3NldAUEDHdob4QkV2l0aGRyYXduAAAIFGFzc2V0BQQMd2hvhAIoQE5ld0ludnVsbmVyYWJsZXMAAAQ0aW52dWxuZXJhYmxlcxkBREludnVsbmVyYWJsZUFkZGVkAAAEKGFjY291bnRfaWQATEludnVsbmVyYWJsZVJlbW92ZWQAAAQoYWNjb3VudF9pZABQTmV3RGVzaXJlZENhbmRpZGF0ZXMAAARIZGVzaXJlZF9jYW5kaWRhdGVzBEBOZXdDYW5kaWRhY3lCb25kAAAELGJvbmRfYW1vdW50CDhDYW5kaWRhdGVBZGRlZAAACChhY2NvdW50X2lkABxkZXBvc2l0CFBDYW5kaWRhdGVCb25kVXBkYXRlZAAACChhY2NvdW50X2lkABxkZXBvc2l0CEBDYW5kaWRhdGVSZW1vdmVkAAAEKGFjY291bnRfaWQARENhbmRpZGF0ZVJlcGxhY2VkAAAMDG9sZAAMbmV3ABxkZXBvc2l0CGhJbnZhbGlkSW52dWxuZXJhYmxlU2tpcHBlZAAABChhY2NvdW50X2lkAAIEKE5ld1Nlc3Npb24AAAQ0c2Vzc2lvbl9pbmRleAQCCEBBZGRlZFRvV2hpdGVsaXN0AAAIGHNvdXJjZTQYYXNzZXRztFBSZW1vdmVkRnJvbVdoaXRlbGlzdAAACBhzb3VyY2U0GGFzc2V0c7QCGCBPbW5pcG9vbAABBShTdGFibGVzd2FwAQQMWFlLAQQMTEJQAAEFDE9UQwEEEEFBVkUAAQUCFBxFeGFjdEluAAEFIEV4YWN0T3V0AAEFFExpbWl0AAEFMExpcXVpZGl0eUFkZAABBTxMaXF1aWRpdHlSZW1vdmUAAQUACBRhc3NldAQYYW1vdW50CASlBgACCBxBY2NvdW50AQAYQnVybmVkAAEFAAwUYXNzZXQEGGFtb3VudAgsZGVzdGluYXRpb26tBgSxBgACGBhSb3V0ZXIBBAxEQ0EABAQBCBRCYXRjaAEEIE9tbmlwb29sAQQsWGNtRXhjaGFuZ2UBBAxYY20AAwhgBAS5BgACBCBTd2FwcGVkMgAAIBxzd2FwcGVyABhmaWxsZXIALGZpbGxlcl90eXBlnQYkb3BlcmF0aW9uoQYYaW5wdXRzqQYcb3V0cHV0c6kGEGZlZXO1BjxvcGVyYXRpb25fc3RhY2u9BgIBARhTeXN0ZW0BaQUgQmFsYW5jZXMBcQVIVHJhbnNhY3Rpb25QYXltZW50AXUFXE11bHRpVHJhbnNhY3Rpb25QYXltZW50AXkFIFRyZWFzdXJ5AX0FHFV0aWxpdHkBhQUgUHJlaW1hZ2UBiQUgSWRlbnRpdHkBjQUkRGVtb2NyYWN5AZUFJEVsZWN0aW9ucwGhBRxDb3VuY2lsAaUFSFRlY2huaWNhbENvbW1pdHRlZQGlBRBUaXBzAakFFFByb3h5Aa0FIE11bHRpc2lnAbEFHFVuaXF1ZXMBtQVIU3RhdGVUcmllTWlncmF0aW9uAb0FQENvbnZpY3Rpb25Wb3RpbmcBwQUkUmVmZXJlbmRhAckFJFdoaXRlbGlzdAHNBShEaXNwYXRjaGVyAdEFNEFzc2V0UmVnaXN0cnkB1QUYQ2xhaW1zAdkFPENvbGxhdG9yUmV3YXJkcwHdBSBPbW5pcG9vbAHhBUBUcmFuc2FjdGlvblBhdXNlAeUFGER1c3RlcgHpBUxPbW5pcG9vbFdhcmVob3VzZUxNAe0FXE9tbmlwb29sTGlxdWlkaXR5TWluaW5nAfEFDE9UQwH1BThDaXJjdWl0QnJlYWtlcgH5BRhSb3V0ZXIB/QUsRHluYW1pY0ZlZXMB/BxTdGFraW5nAQEGKFN0YWJsZXN3YXABEQYUQm9uZHMBFQY4T3RjU2V0dGxlbWVudHMBGQYMTEJQAR0GDFhZSwEhBiRSZWZlcnJhbHMBJQYsTGlxdWlkYXRpb24BKQYYVG9rZW5zAS0GKEN1cnJlbmNpZXMBMQYcVmVzdGluZwE1BgxFVk0BOQYgRXRoZXJldW0BUQYsRVZNQWNjb3VudHMBVQZIWFlLTGlxdWlkaXR5TWluaW5nAVkGOFhZS1dhcmVob3VzZUxNAe0FOFJlbGF5Q2hhaW5JbmZvAV0GDERDQQFhBiRTY2hlZHVsZXIBZQY8UGFyYWNoYWluU3lzdGVtAWkGLFBvbGthZG90WGNtAXEGKEN1bXVsdXNYY20BdQYkWGNtcFF1ZXVlAXkGME1lc3NhZ2VRdWV1ZQGBBhxPcm1sWGNtAYUGHFhUb2tlbnMBiQY0VW5rbm93blRva2VucwGNBkRDb2xsYXRvclNlbGVjdGlvbgGRBhxTZXNzaW9uAZUGJEVtYU9yYWNsZQGZBiRCcm9hZGNhc3QBwQYExQYABiEEBCEEAAMIeQPRBgTVBgAAEEBleGVjdXRpb25fcmVzdWx0XQU4ZW1pdHRlZF9ldmVudHPJBiRsb2NhbF94Y23NBjhmb3J3YXJkZWRfeGNtc9kGAgg0VW5pbXBsZW1lbnRlZAABBWRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEFB90G4QYADEBleGVjdXRpb25fcmVzdWx0bQY4ZW1pdHRlZF9ldmVudHPJBjhmb3J3YXJkZWRfeGNtc9kGB+kG4QY=";
67
+ content = "xAAAABABAQUABAEBBQAkAQEFACgBAQUALAEBBQBAAQEFAQEFAQAEEGNhbGw5BAEBBQEABBxhY2NvdW50AAEBBQEACBBjYWxsOQQkZXh0cmFfZ2FzCAEBBQAEAD0EAAQA0AAEAEEEAQEFAAgBABAgYXNzZXRfaW4EJGFzc2V0X291dAQYYW1vdW50CDhtaW5fYnV5X2Ftb3VudAgBAQUBABAkYXNzZXRfb3V0BCBhc3NldF9pbgQYYW1vdW50CDxtYXhfc2VsbF9hbW91bnQIAQEFAQEFAEUEAQEFAEkEAQAUIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbgg4bWluX2Ftb3VudF9vdXQIFHJvdXRldQIBAQUBABQgYXNzZXRfaW4EJGFzc2V0X291dAQoYW1vdW50X291dAg0bWF4X2Ftb3VudF9pbggUcm91dGV1AgEBBQEAECBhc3NldF9pbgQkYXNzZXRfb3V0BDhtaW5fYW1vdW50X291dAgUcm91dGV1AgEBBQEBBQEAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQIIGV2ZW50X2lkBAAEAE0EAQEFAFEEAQEFAFUEAAQAWQQARQIABAEBBQBdBAAEAKUCAAAAYQQBAQUARQIAAABFAgEBBQA0AAQACABlBABpBAEBBQEABAxsb2dtBAEBBQAAAQAIIHNjaGVkdWxlFQNUc3RhcnRfZXhlY3V0aW9uX2Jsb2NrfAEBBQEACCxzY2hlZHVsZV9pZARQbmV4dF9leGVjdXRpb25fYmxvY2t8AQEFAQEFACEDAQMIBAAAaQQBAwQAAHUEAQMIBAAACAEDCOA5BAABBwEDCFkDAQQACQcBAwAASQIBAwgEBADdAQEDCAQEAA0HAQMAABEHFQcBAQECAQMAEBBmcmVlCCByZXNlcnZlZAgYZnJvemVuCBRmbGFncwgAFBRub25jZQQkY29uc3VtZXJzBCRwcm92aWRlcnMELHN1ZmZpY2llbnRzBBBkYXRhDAAIIHJlZl90aW1lCChwcm9vZl9zaXplCAYUABA4YmFzZV9leHRyaW5zaWMUNG1heF9leHRyaW5zaWMYJG1heF90b3RhbBggcmVzZXJ2ZWQYAAwYbm9ybWFsHCxvcGVyYXRpb25hbBwkbWFuZGF0b3J5HAAMKGJhc2VfYmxvY2sUJG1heF9ibG9jaxQkcGVyX2NsYXNzIAAMGG5vcm1hbAQsb3BlcmF0aW9uYWwEJG1hbmRhdG9yeQQACBByZWFkCBR3cml0ZQgBAQUBIAMINAQEOAAAICRzcGVjX25hbWUwJGltcGxfbmFtZTBEYXV0aG9yaW5nX3ZlcnNpb24EMHNwZWNfdmVyc2lvbgQwaW1wbF92ZXJzaW9uBBBhcGlzPEx0cmFuc2FjdGlvbl92ZXJzaW9uBDRzdGF0ZV92ZXJzaW9uBAUABEQBCARIAAREAAUBgAIsGHJlbWFyawAABBhyZW1hcmtEOHNldF9oZWFwX3BhZ2VzAAAEFHBhZ2VzCCBzZXRfY29kZQAABBBjb2RlRFxzZXRfY29kZV93aXRob3V0X2NoZWNrcwAABBBjb2RlRCxzZXRfc3RvcmFnZQAABBRpdGVtc0wwa2lsbF9zdG9yYWdlAAAEEGtleXNQLGtpbGxfcHJlZml4AAAIGHByZWZpeEQcc3Via2V5cwREcmVtYXJrX3dpdGhfZXZlbnQAAAQYcmVtYXJrRERhdXRob3JpemVfdXBncmFkZQAABCRjb2RlX2hhc2hUgGF1dGhvcml6ZV91cGdyYWRlX3dpdGhvdXRfY2hlY2tzAAAEJGNvZGVfaGFzaFRgYXBwbHlfYXV0aG9yaXplZF91cGdyYWRlAAAEEGNvZGVEAgQMc2V0AAAEDG5vdwgBAAQAAAIIIEluY3JlYXNlAAEFIERlY3JlYXNlAAEFAiRQdHJhbnNmZXJfYWxsb3dfZGVhdGgAAAgQZGVzdAAUdmFsdWUIOGZvcmNlX3RyYW5zZmVyAAAMGHNvdXJjZQAQZGVzdAAUdmFsdWUITHRyYW5zZmVyX2tlZXBfYWxpdmUAAAgQZGVzdAAUdmFsdWUIMHRyYW5zZmVyX2FsbAAACBBkZXN0AChrZWVwX2FsaXZlYDxmb3JjZV91bnJlc2VydmUAAAgMd2hvABhhbW91bnQIQHVwZ3JhZGVfYWNjb3VudHMAAAQMd2hvZERmb3JjZV9zZXRfYmFsYW5jZQAACAx3aG8AIG5ld19mcmVlCGxmb3JjZV9hZGp1c3RfdG90YWxfaXNzdWFuY2UAAAgkZGlyZWN0aW9uaBRkZWx0YQgQYnVybgAACBR2YWx1ZQgoa2VlcF9hbGl2ZWAFAVAECAEQAhQwc2V0X2N1cnJlbmN5AAAEIGN1cnJlbmN5BDBhZGRfY3VycmVuY3kAAAggY3VycmVuY3kEFHByaWNlCDxyZW1vdmVfY3VycmVuY3kAAAQgY3VycmVuY3kEWHJlc2V0X3BheW1lbnRfY3VycmVuY3kAAAQoYWNjb3VudF9pZAA8ZGlzcGF0Y2hfcGVybWl0AAAkEGZyb21wCHRvcBR2YWx1ZXQQZGF0YUQkZ2FzX2xpbWl0CCBkZWFkbGluZXQEdgQEclQEc1QGBAIYLHNwZW5kX2xvY2FsAAAIGGFtb3VudAgsYmVuZWZpY2lhcnkAPHJlbW92ZV9hcHByb3ZhbAAABCxwcm9wb3NhbF9pZAQUc3BlbmQAAAwYYW1vdW50CCxiZW5lZmljaWFyeQAodmFsaWRfZnJvbXwYcGF5b3V0AAAEFGluZGV4BDBjaGVja19zdGF0dXMAAAQUaW5kZXgEKHZvaWRfc3BlbmQAAAQUaW5kZXgEBDkEAAIMEFJvb3QAAQUYU2lnbmVkAQAQTm9uZQABBQIMHE1lbWJlcnMABAQBCBhNZW1iZXIBACBfUGhhbnRvbQABBQIkRFdoaXRlbGlzdGVkQ2FsbGVyAAEFTFJlZmVyZW5kdW1DYW5jZWxsZXIAAQVAUmVmZXJlbmR1bUtpbGxlcgABBTBHZW5lcmFsQWRtaW4AAQU0T21uaXBvb2xBZG1pbgABBSRUcmVhc3VyZXIAAQUcU3BlbmRlcgABBRhUaXBwZXIAAQVIRWNvbm9taWNQYXJhbWV0ZXJzAAEFAgRMRXRoZXJldW1UcmFuc2FjdGlvbgFwAiwkQnlHZW5lc2lzAVQYQnlGb3JrAAAIMGJsb2NrX251bWJlcggoYmxvY2tfaGFzaFQgUG9sa2Fkb3QAAQUYS3VzYW1hAAEFHFdlc3RlbmQAAQUYUm9jb2NvAAEFGFdvY29jbwABBSBFdGhlcmV1bQAABCBjaGFpbl9pZAgsQml0Y29pbkNvcmUAAQUsQml0Y29pbkNhc2gAAQVAUG9sa2Fkb3RCdWxsZXRpbgABBQaYBQEQAigQVW5pdAABBRxNb25pa2VyAaAUSW5kZXgBBCRFeGVjdXRpdmUAAQUkVGVjaG5pY2FsAAEFLExlZ2lzbGF0aXZlAAEFIEp1ZGljaWFsAAEFHERlZmVuc2UAAQU4QWRtaW5pc3RyYXRpb24AAQUgVHJlYXN1cnkAAQUCFBRWb2ljZQABBRxNZW1iZXJzAAAEFGNvdW50BCBGcmFjdGlvbgAACAxub20EFGRlbm9tBERBdExlYXN0UHJvcG9ydGlvbgAACAxub20EFGRlbm9tBEhNb3JlVGhhblByb3BvcnRpb24AAAgMbm9tBBRkZW5vbQQCKCRQYXJhY2hhaW4BBCxBY2NvdW50SWQzMgAACBxuZXR3b3JrnAhpZFQ4QWNjb3VudEluZGV4NjQAAAgcbmV0d29ya5wUaW5kZXgIMEFjY291bnRLZXkyMAAACBxuZXR3b3JrnAxrZXlwOFBhbGxldEluc3RhbmNlAQQwR2VuZXJhbEluZGV4AQgoR2VuZXJhbEtleQAACBhsZW5ndGgEEGRhdGFUJE9ubHlDaGlsZAABBSRQbHVyYWxpdHkAAAgIaWSkEHBhcnSoPEdsb2JhbENvbnNlbnN1cwGYBKwBCASsAQwErAEQBKwBFASsARgErAEcBKwBIAIkEEhlcmUAAQUIWDEBrAhYMgGwCFgzAbQIWDQBuAhYNQG8CFg2AcAIWDcBxAhYOAHIAAgccGFyZW50cwQgaW50ZXJpb3LMAggMWGNtAdAgUmVzcG9uc2UB0AIIFFJlbGF5AAEFQFNpYmxpbmdQYXJhY2hhaW4BBAEFAiAYc3lzdGVtAYgcQ291bmNpbAGMSFRlY2huaWNhbENvbW1pdHRlZQGMHE9yaWdpbnMBkCBFdGhlcmV1bQGULFBvbGthZG90WGNtAdQoQ3VtdWx1c1hjbQHYEFZvaWQB3AIYFGJhdGNoAAAEFGNhbGxzhDRhc19kZXJpdmF0aXZlAAAIFGluZGV4BBBjYWxsOQQkYmF0Y2hfYWxsAAAEFGNhbGxzhCxkaXNwYXRjaF9hcwAACCRhc19vcmlnaW7gEGNhbGw5BCxmb3JjZV9iYXRjaAAABBRjYWxsc4Qsd2l0aF93ZWlnaHQAAAgQY2FsbDkEGHdlaWdodBQEVAACFDRub3RlX3ByZWltYWdlAAAEFGJ5dGVzRDx1bm5vdGVfcHJlaW1hZ2UAAAQQaGFzaFRAcmVxdWVzdF9wcmVpbWFnZQAABBBoYXNoVEh1bnJlcXVlc3RfcHJlaW1hZ2UAAAQQaGFzaFQ4ZW5zdXJlX3VwZGF0ZWQAAAQYaGFzaGVz6AUBCAUBDAUBFAUBGAUBHAUBJAUBKAUBLAUBMAUBNAUBOAUBPAUBQAUBRAUBSAUBTAUBVAUBWAUBXAUBYAUBZAUBaAUBbAUBcAUBdAUBeAUBfAKYEE5vbmUAAQUQUmF3MAHcEFJhdzEBBBBSYXcyAfAQUmF3MwH0EFJhdzQBoBBSYXc1AfgQUmF3NgH8EFJhdzcBAQEQUmF3OAE0EFJhdzkBBQEUUmF3MTABCQEUUmF3MTEBDQEUUmF3MTIBEQEUUmF3MTMBFQEUUmF3MTQBGQEUUmF3MTUBHQEUUmF3MTYBIQEUUmF3MTcBJQEUUmF3MTgBKQEUUmF3MTkBLQEUUmF3MjABcBRSYXcyMQExARRSYXcyMgE1ARRSYXcyMwE5ARRSYXcyNAE9ARRSYXcyNQFBARRSYXcyNgFFARRSYXcyNwFJARRSYXcyOAFNARRSYXcyOQFRARRSYXczMAFVARRSYXczMQFZARRSYXczMgFULEJsYWtlVHdvMjU2AVQYU2hhMjU2AVQkS2VjY2FrMjU2AVQsU2hhVGhyZWUyNTYBVARdAQEIBGEBAAZwACQoYWRkaXRpb25hbGUBHGRpc3BsYXldARRsZWdhbF0BDHdlYl0BEHJpb3RdARRlbWFpbF0BPHBncF9maW5nZXJwcmludGkBFGltYWdlXQEcdHdpdHRlcl0BAwgAXQEEcQEAAhwcVW5rbm93bgABBRxGZWVQYWlkAQgoUmVhc29uYWJsZQABBSRLbm93bkdvb2QAAQUkT3V0T2ZEYXRlAAEFKExvd1F1YWxpdHkAAQUkRXJyb25lb3VzAAEFBQEBAQUBBQECDBxFZDI1NTE5AX0BHFNyMjU1MTkBfQEURWNkc2EBgQEGhQECWDRhZGRfcmVnaXN0cmFyAAAEHGFjY291bnQAMHNldF9pZGVudGl0eQAABBBpbmZvbQEgc2V0X3N1YnMAAAQQc3Vic3UBOGNsZWFyX2lkZW50aXR5AAEFRHJlcXVlc3RfanVkZ2VtZW50AAAIJHJlZ19pbmRleAQcbWF4X2ZlZQg4Y2FuY2VsX3JlcXVlc3QAAAQkcmVnX2luZGV4BBxzZXRfZmVlAAAIFGluZGV4BAxmZWUIOHNldF9hY2NvdW50X2lkAAAIFGluZGV4BAxuZXcAKHNldF9maWVsZHMAAAgUaW5kZXgEGGZpZWxkcwhEcHJvdmlkZV9qdWRnZW1lbnQAABAkcmVnX2luZGV4BBh0YXJnZXQAJGp1ZGdlbWVudHkBIGlkZW50aXR5VDRraWxsX2lkZW50aXR5AAAEGHRhcmdldAAcYWRkX3N1YgAACAxzdWIAEGRhdGFdAShyZW5hbWVfc3ViAAAIDHN1YgAQZGF0YV0BKHJlbW92ZV9zdWIAAAQMc3ViACBxdWl0X3N1YgABBVhhZGRfdXNlcm5hbWVfYXV0aG9yaXR5AAAMJGF1dGhvcml0eQAYc3VmZml4RChhbGxvY2F0aW9uBGRyZW1vdmVfdXNlcm5hbWVfYXV0aG9yaXR5AAAEJGF1dGhvcml0eQBAc2V0X3VzZXJuYW1lX2ZvcgAADAx3aG8AIHVzZXJuYW1lRCRzaWduYXR1cmWJATxhY2NlcHRfdXNlcm5hbWUAAAQgdXNlcm5hbWVEXHJlbW92ZV9leHBpcmVkX2FwcHJvdmFsAAAEIHVzZXJuYW1lRFBzZXRfcHJpbWFyeV91c2VybmFtZQAABCB1c2VybmFtZURgcmVtb3ZlX2RhbmdsaW5nX3VzZXJuYW1lAAAEIHVzZXJuYW1lRAIMGExlZ2FjeQAABBBoYXNoVBhJbmxpbmUBRBhMb29rdXAAAAgQaGFzaFQMbGVuBAIIIFN0YW5kYXJkAAAIEHZvdGUEHGJhbGFuY2UIFFNwbGl0AAAIDGF5ZQgMbmF5CAIcEE5vbmUAAQUgTG9ja2VkMXgAAQUgTG9ja2VkMngAAQUgTG9ja2VkM3gAAQUgTG9ja2VkNHgAAQUgTG9ja2VkNXgAAQUgTG9ja2VkNngAAQUCDCBFeHRlcm5hbAABBSBQcm9wb3NhbAEEKFJlZmVyZW5kdW0BBAZUAlAccHJvcG9zZQAACCBwcm9wb3NhbJEBFHZhbHVlCBhzZWNvbmQAAAQgcHJvcG9zYWwEEHZvdGUAAAgkcmVmX2luZGV4BBB2b3RllQFAZW1lcmdlbmN5X2NhbmNlbAAABCRyZWZfaW5kZXgEQGV4dGVybmFsX3Byb3Bvc2UAAAQgcHJvcG9zYWyRAWRleHRlcm5hbF9wcm9wb3NlX21ham9yaXR5AAAEIHByb3Bvc2FskQFgZXh0ZXJuYWxfcHJvcG9zZV9kZWZhdWx0AAAEIHByb3Bvc2FskQEoZmFzdF90cmFjawAADDRwcm9wb3NhbF9oYXNoVDR2b3RpbmdfcGVyaW9kBBRkZWxheQQ0dmV0b19leHRlcm5hbAAABDRwcm9wb3NhbF9oYXNoVERjYW5jZWxfcmVmZXJlbmR1bQAABCRyZWZfaW5kZXgEIGRlbGVnYXRlAAAMCHRvAChjb252aWN0aW9umQEcYmFsYW5jZQgodW5kZWxlZ2F0ZQABBVhjbGVhcl9wdWJsaWNfcHJvcG9zYWxzAAEFGHVubG9jawAABBh0YXJnZXQALHJlbW92ZV92b3RlAAAEFGluZGV4BERyZW1vdmVfb3RoZXJfdm90ZQAACBh0YXJnZXQAFGluZGV4BCRibGFja2xpc3QAAAg0cHJvcG9zYWxfaGFzaFQ8bWF5YmVfcmVmX2luZGV4fDxjYW5jZWxfcHJvcG9zYWwAAAQocHJvcF9pbmRleAQwc2V0X21ldGFkYXRhAAAIFG93bmVynQEobWF5YmVfaGFzaKEBRGZvcmNlX3JlbW92ZV92b3RlAAAIGHRhcmdldAAUaW5kZXgEAgwYTWVtYmVyAAEFIFJ1bm5lclVwAAEFJENhbmRpZGF0ZQEEAhgQdm90ZQAACBR2b3Rlc2QUdmFsdWUIMHJlbW92ZV92b3RlcgABBUBzdWJtaXRfY2FuZGlkYWN5AAAEPGNhbmRpZGF0ZV9jb3VudARIcmVub3VuY2VfY2FuZGlkYWN5AAAEKHJlbm91bmNpbmepATRyZW1vdmVfbWVtYmVyAAAMDHdobwAoc2xhc2hfYm9uZGA4cmVydW5fZWxlY3Rpb25gUGNsZWFuX2RlZnVuY3Rfdm90ZXJzAAAIKG51bV92b3RlcnMELG51bV9kZWZ1bmN0BAYAAhgsc2V0X21lbWJlcnMAAAwsbmV3X21lbWJlcnNkFHByaW1lsQEkb2xkX2NvdW50BBxleGVjdXRlAAAIIHByb3Bvc2FsOQQwbGVuZ3RoX2JvdW5kBBxwcm9wb3NlAAAMJHRocmVzaG9sZAQgcHJvcG9zYWw5BDBsZW5ndGhfYm91bmQEEHZvdGUAAAwgcHJvcG9zYWxUFGluZGV4BBxhcHByb3ZlYExkaXNhcHByb3ZlX3Byb3Bvc2FsAAAENHByb3Bvc2FsX2hhc2hUFGNsb3NlAAAQNHByb3Bvc2FsX2hhc2hUFGluZGV4BFRwcm9wb3NhbF93ZWlnaHRfYm91bmQUMGxlbmd0aF9ib3VuZAQCGDhyZXBvcnRfYXdlc29tZQAACBhyZWFzb25EDHdobwAscmV0cmFjdF90aXAAAAQQaGFzaFQcdGlwX25ldwAADBhyZWFzb25EDHdobwAkdGlwX3ZhbHVlCAx0aXAAAAgQaGFzaFQkdGlwX3ZhbHVlCCRjbG9zZV90aXAAAAQQaGFzaFQkc2xhc2hfdGlwAAAEEGhhc2hUAhgMQW55AAEFLENhbmNlbFByb3h5AAEFKEdvdmVybmFuY2UAAQUgVHJhbnNmZXIAAQUkTGlxdWlkaXR5AAEFPExpcXVpZGl0eU1pbmluZwABBQa9AQIoFHByb3h5AAAMEHJlYWwAQGZvcmNlX3Byb3h5X3R5cGXBARBjYWxsOQQkYWRkX3Byb3h5AAAMIGRlbGVnYXRlAChwcm94eV90eXBlvQEUZGVsYXkEMHJlbW92ZV9wcm94eQAADCBkZWxlZ2F0ZQAocHJveHlfdHlwZb0BFGRlbGF5BDhyZW1vdmVfcHJveGllcwABBSxjcmVhdGVfcHVyZQAADChwcm94eV90eXBlvQEUZGVsYXkEFGluZGV4BCRraWxsX3B1cmUAABQcc3Bhd25lcgAocHJveHlfdHlwZb0BFGluZGV4BBhoZWlnaHQEJGV4dF9pbmRleAQgYW5ub3VuY2UAAAgQcmVhbAAkY2FsbF9oYXNoVExyZW1vdmVfYW5ub3VuY2VtZW50AAAIEHJlYWwAJGNhbGxfaGFzaFRMcmVqZWN0X2Fubm91bmNlbWVudAAACCBkZWxlZ2F0ZQAkY2FsbF9oYXNoVDxwcm94eV9hbm5vdW5jZWQAABAgZGVsZWdhdGUAEHJlYWwAQGZvcmNlX3Byb3h5X3R5cGXBARBjYWxsOQQACBhoZWlnaHQEFGluZGV4BAbJAQIQUGFzX211bHRpX3RocmVzaG9sZF8xAAAIRG90aGVyX3NpZ25hdG9yaWVzZBBjYWxsOQQgYXNfbXVsdGkAABQkdGhyZXNob2xkBERvdGhlcl9zaWduYXRvcmllc2Q8bWF5YmVfdGltZXBvaW50zQEQY2FsbDkEKG1heF93ZWlnaHQUQGFwcHJvdmVfYXNfbXVsdGkAABQkdGhyZXNob2xkBERvdGhlcl9zaWduYXRvcmllc2Q8bWF5YmVfdGltZXBvaW50zQEkY2FsbF9oYXNoVChtYXhfd2VpZ2h0FDxjYW5jZWxfYXNfbXVsdGkAABAkdGhyZXNob2xkBERvdGhlcl9zaWduYXRvcmllc2QkdGltZXBvaW50yQEkY2FsbF9oYXNoVAAMFGl0ZW1zBDhpdGVtX21ldGFkYXRhcwQoYXR0cmlidXRlcwQECAAGCAJoGGNyZWF0ZQAACChjb2xsZWN0aW9uCBRhZG1pbgAwZm9yY2VfY3JlYXRlAAAMKGNvbGxlY3Rpb24IFG93bmVyADBmcmVlX2hvbGRpbmdgHGRlc3Ryb3kAAAgoY29sbGVjdGlvbggcd2l0bmVzc9UBEG1pbnQAAAwoY29sbGVjdGlvbggQaXRlbQgUb3duZXIAEGJ1cm4AAAwoY29sbGVjdGlvbggQaXRlbQgsY2hlY2tfb3duZXKxASB0cmFuc2ZlcgAADChjb2xsZWN0aW9uCBBpdGVtCBBkZXN0ACRyZWRlcG9zaXQAAAgoY29sbGVjdGlvbggUaXRlbXPZARhmcmVlemUAAAgoY29sbGVjdGlvbggQaXRlbQgQdGhhdwAACChjb2xsZWN0aW9uCBBpdGVtCERmcmVlemVfY29sbGVjdGlvbgAABChjb2xsZWN0aW9uCDx0aGF3X2NvbGxlY3Rpb24AAAQoY29sbGVjdGlvbghIdHJhbnNmZXJfb3duZXJzaGlwAAAIKGNvbGxlY3Rpb24IJG5ld19vd25lcgAgc2V0X3RlYW0AABAoY29sbGVjdGlvbggYaXNzdWVyABRhZG1pbgAcZnJlZXplcgBAYXBwcm92ZV90cmFuc2ZlcgAADChjb2xsZWN0aW9uCBBpdGVtCCBkZWxlZ2F0ZQA8Y2FuY2VsX2FwcHJvdmFsAAAMKGNvbGxlY3Rpb24IEGl0ZW0IUG1heWJlX2NoZWNrX2RlbGVnYXRlsQFEZm9yY2VfaXRlbV9zdGF0dXMAABwoY29sbGVjdGlvbggUb3duZXIAGGlzc3VlcgAUYWRtaW4AHGZyZWV6ZXIAMGZyZWVfaG9sZGluZ2AkaXNfZnJvemVuYDRzZXRfYXR0cmlidXRlAAAQKGNvbGxlY3Rpb24IKG1heWJlX2l0ZW3dAQxrZXlEFHZhbHVlRDxjbGVhcl9hdHRyaWJ1dGUAAAwoY29sbGVjdGlvbggobWF5YmVfaXRlbd0BDGtleUQwc2V0X21ldGFkYXRhAAAQKGNvbGxlY3Rpb24IEGl0ZW0IEGRhdGFEJGlzX2Zyb3plbmA4Y2xlYXJfbWV0YWRhdGEAAAgoY29sbGVjdGlvbggQaXRlbQhcc2V0X2NvbGxlY3Rpb25fbWV0YWRhdGEAAAwoY29sbGVjdGlvbggQZGF0YUQkaXNfZnJvemVuYGRjbGVhcl9jb2xsZWN0aW9uX21ldGFkYXRhAAAEKGNvbGxlY3Rpb24IUHNldF9hY2NlcHRfb3duZXJzaGlwAAAEQG1heWJlX2NvbGxlY3Rpb27dAWRzZXRfY29sbGVjdGlvbl9tYXhfc3VwcGx5AAAIKGNvbGxlY3Rpb24IKG1heF9zdXBwbHkEJHNldF9wcmljZQAAEChjb2xsZWN0aW9uCBBpdGVtCBRwcmljZd0BRHdoaXRlbGlzdGVkX2J1eWVysQEgYnV5X2l0ZW0AAAwoY29sbGVjdGlvbggQaXRlbQgkYmlkX3ByaWNlCAAIEHNpemUEEGl0ZW0EBuUBAgwcVG9TdGFydAABBRxMYXN0S2V5AUQgQ29tcGxldGUAAQUAFDBwcm9ncmVzc190b3DtAThwcm9ncmVzc19jaGlsZO0BEHNpemUEJHRvcF9pdGVtcwQsY2hpbGRfaXRlbXMEAhhYY29udHJvbF9hdXRvX21pZ3JhdGlvbgAABDBtYXliZV9jb25maWfpAUBjb250aW51ZV9taWdyYXRlAAAMGGxpbWl0c+UBPHJlYWxfc2l6ZV91cHBlcgQwd2l0bmVzc190YXNr8QFIbWlncmF0ZV9jdXN0b21fdG9wAAAIEGtleXNQMHdpdG5lc3Nfc2l6ZQRQbWlncmF0ZV9jdXN0b21fY2hpbGQAAAwQcm9vdEQoY2hpbGRfa2V5c1AodG90YWxfc2l6ZQRUc2V0X3NpZ25lZF9tYXhfbGltaXRzAAAEGGxpbWl0c+UBSGZvcmNlX3NldF9wcm9ncmVzcwAACDBwcm9ncmVzc190b3DtAThwcm9ncmVzc19jaGlsZO0BAgwgU3RhbmRhcmQAAAgQdm90ZQQcYmFsYW5jZQgUU3BsaXQAAAgMYXllCAxuYXkIMFNwbGl0QWJzdGFpbgAADAxheWUIDG5heQgcYWJzdGFpbggCHBB2b3RlAAAIKHBvbGxfaW5kZXgEEHZvdGX5ASBkZWxlZ2F0ZQAAEBRjbGFzcwQIdG8AKGNvbnZpY3Rpb26ZARxiYWxhbmNlCCh1bmRlbGVnYXRlAAAEFGNsYXNzBBh1bmxvY2sAAAgUY2xhc3MEGHRhcmdldAAscmVtb3ZlX3ZvdGUAAAgUY2xhc3N8FGluZGV4BERyZW1vdmVfb3RoZXJfdm90ZQAADBh0YXJnZXQAFGNsYXNzBBRpbmRleAREZm9yY2VfcmVtb3ZlX3ZvdGUAAAwYdGFyZ2V0ABRjbGFzcwQUaW5kZXgEAggIQXQBBBRBZnRlcgEEAiQYc3VibWl0AAAMPHByb3Bvc2FsX29yaWdpbuAgcHJvcG9zYWyRAUBlbmFjdG1lbnRfbW9tZW50AQJYcGxhY2VfZGVjaXNpb25fZGVwb3NpdAAABBRpbmRleARccmVmdW5kX2RlY2lzaW9uX2RlcG9zaXQAAAQUaW5kZXgEGGNhbmNlbAAABBRpbmRleAQQa2lsbAAABBRpbmRleARAbnVkZ2VfcmVmZXJlbmR1bQAABBRpbmRleARIb25lX2Zld2VyX2RlY2lkaW5nAAAEFHRyYWNrBGRyZWZ1bmRfc3VibWlzc2lvbl9kZXBvc2l0AAAEFGluZGV4BDBzZXRfbWV0YWRhdGEAAAgUaW5kZXgEKG1heWJlX2hhc2ihAQIQOHdoaXRlbGlzdF9jYWxsAAAEJGNhbGxfaGFzaFRccmVtb3ZlX3doaXRlbGlzdGVkX2NhbGwAAAQkY2FsbF9oYXNoVGRkaXNwYXRjaF93aGl0ZWxpc3RlZF9jYWxsAAAMJGNhbGxfaGFzaFRAY2FsbF9lbmNvZGVkX2xlbgRMY2FsbF93ZWlnaHRfd2l0bmVzcxScZGlzcGF0Y2hfd2hpdGVsaXN0ZWRfY2FsbF93aXRoX3ByZWltYWdlAAAEEGNhbGw5BAIQUGRpc3BhdGNoX2FzX3RyZWFzdXJ5AAAEEGNhbGw5BGBkaXNwYXRjaF9hc19hYXZlX21hbmFnZXIAAAQQY2FsbDkERG5vdGVfYWF2ZV9tYW5hZ2VyAAAEHGFjY291bnQAXGRpc3BhdGNoX3dpdGhfZXh0cmFfZ2FzAAAIEGNhbGw5BCRleHRyYV9nYXMIBkQCGBRUb2tlbgABBQxYWUsAAQUoU3RhYmxlU3dhcAABBRBCb25kAAEFIEV4dGVybmFsAAEFFEVyYzIwAAEFBtAGFQIGYAIUIHJlZ2lzdGVyAAAkIGFzc2V0X2lkfBBuYW1lEQIoYXNzZXRfdHlwZRUCTGV4aXN0ZW50aWFsX2RlcG9zaXTdARhzeW1ib2wRAiBkZWNpbWFsc3wgbG9jYXRpb24ZAjh4Y21fcmF0ZV9saW1pdN0BNGlzX3N1ZmZpY2llbnRgGHVwZGF0ZQAAJCBhc3NldF9pZAQQbmFtZRECKGFzc2V0X3R5cGUdAkxleGlzdGVudGlhbF9kZXBvc2l03QE4eGNtX3JhdGVfbGltaXTdATRpc19zdWZmaWNpZW50IQIYc3ltYm9sEQIgZGVjaW1hbHN8IGxvY2F0aW9uGQJEcmVnaXN0ZXJfZXh0ZXJuYWwAAAQgbG9jYXRpb27QJGJhbl9hc3NldAAABCBhc3NldF9pZAQsdW5iYW5fYXNzZXQAAAQgYXNzZXRfaWQEAgQUY2xhaW0AAARIZXRoZXJldW1fc2lnbmF0dXJlgQEECAEIAjQkYWRkX3Rva2VuAAAQFGFzc2V0BDRpbml0aWFsX3ByaWNlCCh3ZWlnaHRfY2FwBDhwb3NpdGlvbl9vd25lcgA0YWRkX2xpcXVpZGl0eQAACBRhc3NldAQYYW1vdW50CGBhZGRfbGlxdWlkaXR5X3dpdGhfbGltaXQAAAwUYXNzZXQEGGFtb3VudAhAbWluX3NoYXJlc19saW1pdAhAcmVtb3ZlX2xpcXVpZGl0eQAACCxwb3NpdGlvbl9pZAgYYW1vdW50CGxyZW1vdmVfbGlxdWlkaXR5X3dpdGhfbGltaXQAAAwscG9zaXRpb25faWQIGGFtb3VudAgkbWluX2xpbWl0CEhzYWNyaWZpY2VfcG9zaXRpb24AAAQscG9zaXRpb25faWQIEHNlbGwAABAgYXNzZXRfaW4EJGFzc2V0X291dAQYYW1vdW50CDhtaW5fYnV5X2Ftb3VudAgMYnV5AAAQJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAg8bWF4X3NlbGxfYW1vdW50CGBzZXRfYXNzZXRfdHJhZGFibGVfc3RhdGUAAAggYXNzZXRfaWQEFHN0YXRlBFByZWZ1bmRfcmVmdXNlZF9hc3NldAAADCBhc3NldF9pZAQYYW1vdW50CCRyZWNpcGllbnQAUHNldF9hc3NldF93ZWlnaHRfY2FwAAAIIGFzc2V0X2lkBAxjYXAEbHdpdGhkcmF3X3Byb3RvY29sX2xpcXVpZGl0eQAAECBhc3NldF9pZAQYYW1vdW50CBRwcmljZS0CEGRlc3QAMHJlbW92ZV90b2tlbgAACCBhc3NldF9pZAQsYmVuZWZpY2lhcnkAAghEcGF1c2VfdHJhbnNhY3Rpb24AAAgscGFsbGV0X25hbWVENGZ1bmN0aW9uX25hbWVETHVucGF1c2VfdHJhbnNhY3Rpb24AAAgscGFsbGV0X25hbWVENGZ1bmN0aW9uX25hbWVEAgwwZHVzdF9hY2NvdW50AAAIHGFjY291bnQALGN1cnJlbmN5X2lkBFxhZGRfbm9uZHVzdGFibGVfYWNjb3VudAAABBxhY2NvdW50AGhyZW1vdmVfbm9uZHVzdGFibGVfYWNjb3VudAAABBxhY2NvdW50AAAIZGluaXRpYWxfcmV3YXJkX3BlcmNlbnRhZ2UIKHNjYWxlX2NvZWYEBj0CBAQBCARFAgAEBAAACCBhc3NldF9pZAQYYW1vdW50CARRAgAGSQICQEhjcmVhdGVfZ2xvYmFsX2Zhcm0AACA0dG90YWxfcmV3YXJkcwhgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzBERibG9ja3NfcGVyX3BlcmlvZAQ8cmV3YXJkX2N1cnJlbmN5BBRvd25lcgBAeWllbGRfcGVyX3BlcmlvZAgsbWluX2RlcG9zaXQIVGxybmFfcHJpY2VfYWRqdXN0bWVudAhUdGVybWluYXRlX2dsb2JhbF9mYXJtAAAEOGdsb2JhbF9mYXJtX2lkBERjcmVhdGVfeWllbGRfZmFybQAAEDhnbG9iYWxfZmFybV9pZAQgYXNzZXRfaWQEKG11bHRpcGxpZXIINGxveWFsdHlfY3VydmVBAkR1cGRhdGVfeWllbGRfZmFybQAADDhnbG9iYWxfZmFybV9pZAQgYXNzZXRfaWQEKG11bHRpcGxpZXIIPHN0b3BfeWllbGRfZmFybQAACDhnbG9iYWxfZmFybV9pZAQgYXNzZXRfaWQERHJlc3VtZV95aWVsZF9mYXJtAAAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQobXVsdGlwbGllcghQdGVybWluYXRlX3lpZWxkX2Zhcm0AAAw4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEIGFzc2V0X2lkBDhkZXBvc2l0X3NoYXJlcwAADDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQscG9zaXRpb25faWQIQHJlZGVwb3NpdF9zaGFyZXMAAAw4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGRlcG9zaXRfaWQINGNsYWltX3Jld2FyZHMAAAgoZGVwb3NpdF9pZAg0eWllbGRfZmFybV9pZAQ8d2l0aGRyYXdfc2hhcmVzAAAIKGRlcG9zaXRfaWQINHlpZWxkX2Zhcm1faWQESHVwZGF0ZV9nbG9iYWxfZmFybQAAEDhnbG9iYWxfZmFybV9pZARgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzBEB5aWVsZF9wZXJfcGVyaW9kCCxtaW5fZGVwb3NpdAgoam9pbl9mYXJtcwAACDBmYXJtX2VudHJpZXNJAixwb3NpdGlvbl9pZAhwYWRkX2xpcXVpZGl0eV9hbmRfam9pbl9mYXJtcwAAEDBmYXJtX2VudHJpZXNJAhRhc3NldAQYYW1vdW50CEBtaW5fc2hhcmVzX2xpbWl03QEoZXhpdF9mYXJtcwAACChkZXBvc2l0X2lkCDh5aWVsZF9mYXJtX2lkc00CwGFkZF9saXF1aWRpdHlfc3RhYmxlc3dhcF9vbW5pcG9vbF9hbmRfam9pbl9mYXJtcwAADDhzdGFibGVfcG9vbF9pZARQc3RhYmxlX2Fzc2V0X2Ftb3VudHNVAjBmYXJtX2VudHJpZXNZAgIQLHBsYWNlX29yZGVyAAAUIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbggoYW1vdW50X291dAhIcGFydGlhbGx5X2ZpbGxhYmxlYEhwYXJ0aWFsX2ZpbGxfb3JkZXIAAAggb3JkZXJfaWQEJGFtb3VudF9pbggoZmlsbF9vcmRlcgAABCBvcmRlcl9pZAQwY2FuY2VsX29yZGVyAAAEIG9yZGVyX2lkBAZFAgIMWHNldF90cmFkZV92b2x1bWVfbGltaXQAAAggYXNzZXRfaWQESHRyYWRlX3ZvbHVtZV9saW1pdEUCXHNldF9hZGRfbGlxdWlkaXR5X2xpbWl0AAAIIGFzc2V0X2lkBDxsaXF1aWRpdHlfbGltaXRlAmhzZXRfcmVtb3ZlX2xpcXVpZGl0eV9saW1pdAAACCBhc3NldF9pZAQ8bGlxdWlkaXR5X2xpbWl0ZQICFAxYWUsAAQUMTEJQAAEFKFN0YWJsZXN3YXABBCBPbW5pcG9vbAABBRBBYXZlAAEFAAwQcG9vbG0CIGFzc2V0X2luBCRhc3NldF9vdXQEBHECAAAIIGFzc2V0X2luBCRhc3NldF9vdXQEAhQQc2VsbAAAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IOG1pbl9hbW91bnRfb3V0CBRyb3V0ZXUCDGJ1eQAAFCBhc3NldF9pbgQkYXNzZXRfb3V0BChhbW91bnRfb3V0CDRtYXhfYW1vdW50X2luCBRyb3V0ZXUCJHNldF9yb3V0ZQAACChhc3NldF9wYWlyeQIkbmV3X3JvdXRldQJIZm9yY2VfaW5zZXJ0X3JvdXRlAAAIKGFzc2V0X3BhaXJ5AiRuZXdfcm91dGV1AiBzZWxsX2FsbAAAECBhc3NldF9pbgQkYXNzZXRfb3V0BDhtaW5fYW1vdW50X291dAgUcm91dGV1AgIUSGluaXRpYWxpemVfc3Rha2luZwABBRRzdGFrZQAABBhhbW91bnQIOGluY3JlYXNlX3N0YWtlAAAILHBvc2l0aW9uX2lkCBhhbW91bnQIFGNsYWltAAAELHBvc2l0aW9uX2lkCBx1bnN0YWtlAAAELHBvc2l0aW9uX2lkCAIYJExhc3RCbG9jawABBRRTaG9ydAABBShUZW5NaW51dGVzAAEFEEhvdXIAAQUMRGF5AAEFEFdlZWsAAQUDDDSFAgQCCBRWYWx1ZQEtAhhPcmFjbGUBiQIEjQIAAjQsY3JlYXRlX3Bvb2wAABAsc2hhcmVfYXNzZXQEGGFzc2V0c00CNGFtcGxpZmljYXRpb24EDGZlZQQ8dXBkYXRlX3Bvb2xfZmVlAAAIHHBvb2xfaWQEDGZlZQRQdXBkYXRlX2FtcGxpZmljYXRpb24AABAccG9vbF9pZARMZmluYWxfYW1wbGlmaWNhdGlvbgQsc3RhcnRfYmxvY2sEJGVuZF9ibG9jawQ0YWRkX2xpcXVpZGl0eQAACBxwb29sX2lkBBhhc3NldHNVAlBhZGRfbGlxdWlkaXR5X3NoYXJlcwAAEBxwb29sX2lkBBhzaGFyZXMIIGFzc2V0X2lkBEBtYXhfYXNzZXRfYW1vdW50CGhyZW1vdmVfbGlxdWlkaXR5X29uZV9hc3NldAAAEBxwb29sX2lkBCBhc3NldF9pZAQwc2hhcmVfYW1vdW50CDhtaW5fYW1vdW50X291dAhUd2l0aGRyYXdfYXNzZXRfYW1vdW50AAAQHHBvb2xfaWQEIGFzc2V0X2lkBBhhbW91bnQIQG1heF9zaGFyZV9hbW91bnQIEHNlbGwAABQccG9vbF9pZAQgYXNzZXRfaW4EJGFzc2V0X291dAQkYW1vdW50X2luCDhtaW5fYnV5X2Ftb3VudAgMYnV5AAAUHHBvb2xfaWQEJGFzc2V0X291dAQgYXNzZXRfaW4EKGFtb3VudF9vdXQIPG1heF9zZWxsX2Ftb3VudAhgc2V0X2Fzc2V0X3RyYWRhYmxlX3N0YXRlAAAMHHBvb2xfaWQEIGFzc2V0X2lkBBRzdGF0ZQRAcmVtb3ZlX2xpcXVpZGl0eQAADBxwb29sX2lkBDBzaGFyZV9hbW91bnQIPG1pbl9hbW91bnRzX291dFUCVGNyZWF0ZV9wb29sX3dpdGhfcGVncwAAGCxzaGFyZV9hc3NldAQYYXNzZXRzTQI0YW1wbGlmaWNhdGlvbgQMZmVlBChwZWdfc291cmNlkQI4bWF4X3BlZ191cGRhdGUEUGFkZF9hc3NldHNfbGlxdWlkaXR5AAAMHHBvb2xfaWQEGGFzc2V0c1UCKG1pbl9zaGFyZXMIAggUaXNzdWUAAAwgYXNzZXRfaWQEGGFtb3VudAggbWF0dXJpdHkIGHJlZGVlbQAACBxib25kX2lkBBhhbW91bnQIAgRAc2V0dGxlX290Y19vcmRlcgAADBhvdGNfaWQEGGFtb3VudAgUcm91dGV1AgIEGExpbmVhcgABBQMIBAgCGCxjcmVhdGVfcG9vbAAALChwb29sX293bmVyABxhc3NldF9hBDhhc3NldF9hX2Ftb3VudAgcYXNzZXRfYgQ4YXNzZXRfYl9hbW91bnQIOGluaXRpYWxfd2VpZ2h0BDBmaW5hbF93ZWlnaHQEMHdlaWdodF9jdXJ2ZaECDGZlZUUCNGZlZV9jb2xsZWN0b3IAMHJlcGF5X3RhcmdldAhAdXBkYXRlX3Bvb2xfZGF0YQAAJBxwb29sX2lkAChwb29sX293bmVysQEUc3RhcnR8DGVuZHw4aW5pdGlhbF93ZWlnaHR8MGZpbmFsX3dlaWdodHwMZmVlZQI0ZmVlX2NvbGxlY3RvcrEBMHJlcGF5X3RhcmdldN0BNGFkZF9saXF1aWRpdHkAAAggYW1vdW50X2GlAiBhbW91bnRfYqUCQHJlbW92ZV9saXF1aWRpdHkAAAQccG9vbF9pZAAQc2VsbAAAECBhc3NldF9pbgQkYXNzZXRfb3V0BBhhbW91bnQIJG1heF9saW1pdAgMYnV5AAAQJGFzc2V0X291dAQgYXNzZXRfaW4EGGFtb3VudAgkbWF4X2xpbWl0CAIcLGNyZWF0ZV9wb29sAAAQHGFzc2V0X2EEIGFtb3VudF9hCBxhc3NldF9iBCBhbW91bnRfYgg0YWRkX2xpcXVpZGl0eQAAEBxhc3NldF9hBBxhc3NldF9iBCBhbW91bnRfYQhIYW1vdW50X2JfbWF4X2xpbWl0CGRhZGRfbGlxdWlkaXR5X3dpdGhfbGltaXRzAAAUHGFzc2V0X2EEHGFzc2V0X2IEIGFtb3VudF9hCEhhbW91bnRfYl9tYXhfbGltaXQIKG1pbl9zaGFyZXMIQHJlbW92ZV9saXF1aWRpdHkAAAwcYXNzZXRfYQQcYXNzZXRfYgQwc2hhcmVfYW1vdW50CHByZW1vdmVfbGlxdWlkaXR5X3dpdGhfbGltaXRzAAAUHGFzc2V0X2EEHGFzc2V0X2IEMHNoYXJlX2Ftb3VudAgwbWluX2Ftb3VudF9hCDBtaW5fYW1vdW50X2IIEHNlbGwAABQgYXNzZXRfaW4EJGFzc2V0X291dAQYYW1vdW50CCRtYXhfbGltaXQIIGRpc2NvdW50YAxidXkAABQkYXNzZXRfb3V0BCBhc3NldF9pbgQYYW1vdW50CCRtYXhfbGltaXQIIGRpc2NvdW50YAIYEE5vbmUAAQUUVGllcjAAAQUUVGllcjEAAQUUVGllcjIAAQUUVGllcjMAAQUUVGllcjQAAQUADCByZWZlcnJlcgQYdHJhZGVyBCBleHRlcm5hbAQCFDRyZWdpc3Rlcl9jb2RlAAAEEGNvZGVEJGxpbmtfY29kZQAABBBjb2RlRBxjb252ZXJ0AAAEIGFzc2V0X2lkBDRjbGFpbV9yZXdhcmRzAAEFVHNldF9yZXdhcmRfcGVyY2VudGFnZQAADCBhc3NldF9pZAQUbGV2ZWyxAhxyZXdhcmRztQICCCRsaXF1aWRhdGUAABRAY29sbGF0ZXJhbF9hc3NldAQoZGVidF9hc3NldAQQdXNlcnA0ZGVidF90b19jb3ZlcggUcm91dGV1AlhzZXRfYm9ycm93aW5nX2NvbnRyYWN0AAAEIGNvbnRyYWN0cAIUIHRyYW5zZmVyAAAMEGRlc3QALGN1cnJlbmN5X2lkBBhhbW91bnQIMHRyYW5zZmVyX2FsbAAADBBkZXN0ACxjdXJyZW5jeV9pZAQoa2VlcF9hbGl2ZWBMdHJhbnNmZXJfa2VlcF9hbGl2ZQAADBBkZXN0ACxjdXJyZW5jeV9pZAQYYW1vdW50CDhmb3JjZV90cmFuc2ZlcgAAEBhzb3VyY2UAEGRlc3QALGN1cnJlbmN5X2lkBBhhbW91bnQILHNldF9iYWxhbmNlAAAQDHdobwAsY3VycmVuY3lfaWQEIG5ld19mcmVlCDBuZXdfcmVzZXJ2ZWQIAgwgdHJhbnNmZXIAAAwQZGVzdAAsY3VycmVuY3lfaWQEGGFtb3VudAhgdHJhbnNmZXJfbmF0aXZlX2N1cnJlbmN5AAAIEGRlc3QAGGFtb3VudAg4dXBkYXRlX2JhbGFuY2UAAAwMd2hvACxjdXJyZW5jeV9pZAQYYW1vdW50CAAQFHN0YXJ0BBhwZXJpb2QEMHBlcmlvZF9jb3VudAQocGVyX3BlcmlvZAgEyQIAAhAUY2xhaW0AAQU8dmVzdGVkX3RyYW5zZmVyAAAIEGRlc3QAIHNjaGVkdWxlyQJgdXBkYXRlX3Zlc3Rpbmdfc2NoZWR1bGVzAAAIDHdobwBEdmVzdGluZ19zY2hlZHVsZXPNAiRjbGFpbV9mb3IAAAQQZGVzdAAGdAMIcOgE2QIAAhAgd2l0aGRyYXcAAAgcYWRkcmVzc3AUdmFsdWUIEGNhbGwAACQYc291cmNlcBh0YXJnZXRwFGlucHV0RBR2YWx1ZXQkZ2FzX2xpbWl0CDxtYXhfZmVlX3Blcl9nYXN0YG1heF9wcmlvcml0eV9mZWVfcGVyX2dhc9UCFG5vbmNl1QIsYWNjZXNzX2xpc3TdAhhjcmVhdGUAACAYc291cmNlcBBpbml0RBR2YWx1ZXQkZ2FzX2xpbWl0CDxtYXhfZmVlX3Blcl9nYXN0YG1heF9wcmlvcml0eV9mZWVfcGVyX2dhc9UCFG5vbmNl1QIsYWNjZXNzX2xpc3TdAhxjcmVhdGUyAAAkGHNvdXJjZXAQaW5pdEQQc2FsdFQUdmFsdWV0JGdhc19saW1pdAg8bWF4X2ZlZV9wZXJfZ2FzdGBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXPVAhRub25jZdUCLGFjY2Vzc19saXN03QICCBBDYWxsAXAYQ3JlYXRlAAEFAAwEdggEclQEc1QAHBRub25jZXQkZ2FzX3ByaWNldCRnYXNfbGltaXR0GGFjdGlvbuUCFHZhbHVldBRpbnB1dEQkc2lnbmF0dXJl6QIACBxhZGRyZXNzcDBzdG9yYWdlX2tleXPoBPECAAAsIGNoYWluX2lkCBRub25jZXQkZ2FzX3ByaWNldCRnYXNfbGltaXR0GGFjdGlvbuUCFHZhbHVldBRpbnB1dEQsYWNjZXNzX2xpc3T1AjBvZGRfeV9wYXJpdHlgBHJUBHNUADAgY2hhaW5faWQIFG5vbmNldGBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXN0PG1heF9mZWVfcGVyX2dhc3QkZ2FzX2xpbWl0dBhhY3Rpb27lAhR2YWx1ZXQUaW5wdXRELGFjY2Vzc19saXN09QIwb2RkX3lfcGFyaXR5YARyVARzVAIMGExlZ2FjeQHtAhxFSVAyOTMwAfkCHEVJUDE1NTkB/QICBCB0cmFuc2FjdAAABCx0cmFuc2FjdGlvbgEDAhhAYmluZF9ldm1fYWRkcmVzcwABBVRhZGRfY29udHJhY3RfZGVwbG95ZXIAAAQcYWRkcmVzc3BgcmVtb3ZlX2NvbnRyYWN0X2RlcGxveWVyAAAEHGFkZHJlc3NwaHJlbm91bmNlX2NvbnRyYWN0X2RlcGxveWVyAAEFQGFwcHJvdmVfY29udHJhY3QAAAQcYWRkcmVzc3BMZGlzYXBwcm92ZV9jb250cmFjdAAABBxhZGRyZXNzcAI8SGNyZWF0ZV9nbG9iYWxfZmFybQAAJDR0b3RhbF9yZXdhcmRzCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBEhpbmNlbnRpdml6ZWRfYXNzZXQEPHJld2FyZF9jdXJyZW5jeQQUb3duZXIAQHlpZWxkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CEBwcmljZV9hZGp1c3RtZW50CEh1cGRhdGVfZ2xvYmFsX2Zhcm0AAAg4Z2xvYmFsX2Zhcm1faWQEQHByaWNlX2FkanVzdG1lbnQIVHRlcm1pbmF0ZV9nbG9iYWxfZmFybQAABDhnbG9iYWxfZmFybV9pZAREY3JlYXRlX3lpZWxkX2Zhcm0AABA4Z2xvYmFsX2Zhcm1faWQEKGFzc2V0X3BhaXJ5AihtdWx0aXBsaWVyCDRsb3lhbHR5X2N1cnZlQQJEdXBkYXRlX3lpZWxkX2Zhcm0AAAw4Z2xvYmFsX2Zhcm1faWQEKGFzc2V0X3BhaXJ5AihtdWx0aXBsaWVyCDxzdG9wX3lpZWxkX2Zhcm0AAAg4Z2xvYmFsX2Zhcm1faWQEKGFzc2V0X3BhaXJ5AkRyZXN1bWVfeWllbGRfZmFybQAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoYXNzZXRfcGFpcnkCKG11bHRpcGxpZXIIUHRlcm1pbmF0ZV95aWVsZF9mYXJtAAAMOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBChhc3NldF9wYWlyeQI4ZGVwb3NpdF9zaGFyZXMAABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGFzc2V0X3BhaXJ5AjRzaGFyZXNfYW1vdW50CChqb2luX2Zhcm1zAAAMMGZhcm1fZW50cmllc0kCKGFzc2V0X3BhaXJ5AjRzaGFyZXNfYW1vdW50CHBhZGRfbGlxdWlkaXR5X2FuZF9qb2luX2Zhcm1zAAAUHGFzc2V0X2EEHGFzc2V0X2IEIGFtb3VudF9hCEhhbW91bnRfYl9tYXhfbGltaXQIMGZhcm1fZW50cmllc0kCQHJlZGVwb3NpdF9zaGFyZXMAABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGFzc2V0X3BhaXJ5AihkZXBvc2l0X2lkCDRjbGFpbV9yZXdhcmRzAAAIKGRlcG9zaXRfaWQINHlpZWxkX2Zhcm1faWQEPHdpdGhkcmF3X3NoYXJlcwAADChkZXBvc2l0X2lkCDR5aWVsZF9mYXJtX2lkBChhc3NldF9wYWlyeQIoZXhpdF9mYXJtcwAADChkZXBvc2l0X2lkCChhc3NldF9wYWlyeQIwZmFybV9lbnRyaWVzTQICCBBTZWxsAAAUIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbgg4bWluX2Ftb3VudF9vdXQIFHJvdXRldQIMQnV5AAAUIGFzc2V0X2luBCRhc3NldF9vdXQEKGFtb3VudF9vdXQING1heF9hbW91bnRfaW4IFHJvdXRldQIAHBRvd25lcgAYcGVyaW9kBDB0b3RhbF9hbW91bnQILG1heF9yZXRyaWVzfExzdGFiaWxpdHlfdGhyZXNob2xkfCBzbGlwcGFnZXwUb3JkZXIRAwIIIHNjaGVkdWxlAAAIIHNjaGVkdWxlFQNUc3RhcnRfZXhlY3V0aW9uX2Jsb2NrfCR0ZXJtaW5hdGUAAAgsc2NoZWR1bGVfaWQEUG5leHRfZXhlY3V0aW9uX2Jsb2NrfAIoIHNjaGVkdWxlAAAQEHdoZW4EOG1heWJlX3BlcmlvZGljZQIgcHJpb3JpdHkEEGNhbGw5BBhjYW5jZWwAAAgQd2hlbgQUaW5kZXgEOHNjaGVkdWxlX25hbWVkAAAUCGlkVBB3aGVuBDhtYXliZV9wZXJpb2RpY2UCIHByaW9yaXR5BBBjYWxsOQQwY2FuY2VsX25hbWVkAAAECGlkVDhzY2hlZHVsZV9hZnRlcgAAEBRhZnRlcgQ4bWF5YmVfcGVyaW9kaWNlAiBwcmlvcml0eQQQY2FsbDkEUHNjaGVkdWxlX25hbWVkX2FmdGVyAAAUCGlkVBRhZnRlcgQ4bWF5YmVfcGVyaW9kaWNlAiBwcmlvcml0eQQQY2FsbDkEJHNldF9yZXRyeQAADBB0YXNrRQIccmV0cmllcwQYcGVyaW9kBDxzZXRfcmV0cnlfbmFtZWQAAAwIaWRUHHJldHJpZXMEGHBlcmlvZAQwY2FuY2VsX3JldHJ5AAAEEHRhc2tFAkhjYW5jZWxfcmV0cnlfbmFtZWQAAAQIaWRUABAscGFyZW50X2hlYWRETHJlbGF5X3BhcmVudF9udW1iZXIEZHJlbGF5X3BhcmVudF9zdG9yYWdlX3Jvb3RUMG1heF9wb3Zfc2l6ZQQACBxzZW50X2F0BAxtc2dEBCUDAAAIHHNlbnRfYXQEEGRhdGFEBC0DAAMIBDEDBDUDAAAQPHZhbGlkYXRpb25fZGF0YSEDRHJlbGF5X2NoYWluX3N0YXRlUERkb3dud2FyZF9tZXNzYWdlcykDTGhvcml6b250YWxfbWVzc2FnZXM5AwIITHNldF92YWxpZGF0aW9uX2RhdGEAAAQQZGF0YT0DYHN1ZG9fc2VuZF91cHdhcmRfbWVzc2FnZQAABBxtZXNzYWdlRAIQDEFueQABBRROYW1lZAFEIFBvbGthZG90AAEFGEt1c2FtYQABBQIoEFVuaXQAAQUUTmFtZWQBRBRJbmRleAEEJEV4ZWN1dGl2ZQABBSRUZWNobmljYWwAAQUsTGVnaXNsYXRpdmUAAQUgSnVkaWNpYWwAAQUcRGVmZW5zZQABBThBZG1pbmlzdHJhdGlvbgABBSBUcmVhc3VyeQABBQIkJFBhcmFjaGFpbgEELEFjY291bnRJZDMyAAAIHG5ldHdvcmtFAwhpZFQ4QWNjb3VudEluZGV4NjQAAAgcbmV0d29ya0UDFGluZGV4CDBBY2NvdW50S2V5MjAAAAgcbmV0d29ya0UDDGtleXA4UGFsbGV0SW5zdGFuY2UBBDBHZW5lcmFsSW5kZXgBCChHZW5lcmFsS2V5AUQkT25seUNoaWxkAAEFJFBsdXJhbGl0eQAACAhpZEkDEHBhcnSoAiQQSGVyZQABBQhYMQFNAwhYMgAETQMBCAhYMwAETQMBDAhYNAAETQMBEAhYNQAETQMBFAhYNgAETQMBGAhYNwAETQMBHAhYOAAETQMBIAAIHHBhcmVudHMEIGludGVyaW9yUQMCDAhWMgFVAwhWMwHQCFY0AdACCCBDb25jcmV0ZQFVAyBBYnN0cmFjdAFEAhwkVW5kZWZpbmVkAAEFFEluZGV4AQgYQXJyYXk0AaAYQXJyYXk4ATQcQXJyYXkxNgEhARxBcnJheTMyAVQQQmxvYgFEAgggRnVuZ2libGUBCCxOb25GdW5naWJsZQFhAwAICGlkXQMMZnVuZQMEaQMAAmggT3ZlcmZsb3cAAQU0VW5pbXBsZW1lbnRlZAABBWBVbnRydXN0ZWRSZXNlcnZlTG9jYXRpb24AAQVkVW50cnVzdGVkVGVsZXBvcnRMb2NhdGlvbgABBURNdWx0aUxvY2F0aW9uRnVsbAABBWhNdWx0aUxvY2F0aW9uTm90SW52ZXJ0aWJsZQABBSRCYWRPcmlnaW4AAQU8SW52YWxpZExvY2F0aW9uAAEFNEFzc2V0Tm90Rm91bmQAAQVURmFpbGVkVG9UcmFuc2FjdEFzc2V0AAEFPE5vdFdpdGhkcmF3YWJsZQABBUhMb2NhdGlvbkNhbm5vdEhvbGQAAQVURXhjZWVkc01heE1lc3NhZ2VTaXplAAEFWERlc3RpbmF0aW9uVW5zdXBwb3J0ZWQAAQUkVHJhbnNwb3J0AAEFKFVucm91dGFibGUAAQUwVW5rbm93bkNsYWltAAEFOEZhaWxlZFRvRGVjb2RlAAEFQE1heFdlaWdodEludmFsaWQAAQU4Tm90SG9sZGluZ0ZlZXMAAQUwVG9vRXhwZW5zaXZlAAEFEFRyYXABCExVbmhhbmRsZWRYY21WZXJzaW9uAAEFSFdlaWdodExpbWl0UmVhY2hlZAEIHEJhcnJpZXIAAQVMV2VpZ2h0Tm90Q29tcHV0YWJsZQABBQMIBHEDBnUDAhAQTnVsbAABBRhBc3NldHMBbQM8RXhlY3V0aW9uUmVzdWx0AXkDHFZlcnNpb24BBAIQGE5hdGl2ZQABBUBTb3ZlcmVpZ25BY2NvdW50AAEFJFN1cGVydXNlcgABBQxYY20AAQUCCCBGdW5naWJsZQABBSxOb25GdW5naWJsZQABBQIIDEFsbAABBRRBbGxPZgAACAhpZF0DDGZ1boUDAgggRGVmaW5pdGUBbQMQV2lsZAGJAwIIJFVubGltaXRlZAABBRxMaW1pdGVkAQgCcDRXaXRoZHJhd0Fzc2V0AW0DVFJlc2VydmVBc3NldERlcG9zaXRlZAFtA1hSZWNlaXZlVGVsZXBvcnRlZEFzc2V0AW0DNFF1ZXJ5UmVzcG9uc2UAAAwgcXVlcnlfaWQIIHJlc3BvbnNlfQMobWF4X3dlaWdodAg0VHJhbnNmZXJBc3NldAAACBhhc3NldHNtAyxiZW5lZmljaWFyeVUDUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0AAAMGGFzc2V0c20DEGRlc3RVAwx4Y22ZAyBUcmFuc2FjdAAADCxvcmlnaW5fdHlwZYEDWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QIEGNhbGxEZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QAAAwYc2VuZGVyBEBtYXhfbWVzc2FnZV9zaXplBDBtYXhfY2FwYWNpdHkETEhybXBDaGFubmVsQWNjZXB0ZWQAAAQkcmVjaXBpZW50BEhIcm1wQ2hhbm5lbENsb3NpbmcAAAwkaW5pdGlhdG9yBBhzZW5kZXIEJHJlY2lwaWVudAQsQ2xlYXJPcmlnaW4AAQU0RGVzY2VuZE9yaWdpbgFRAyxSZXBvcnRFcnJvcgAADCBxdWVyeV9pZAgQZGVzdFUDTG1heF9yZXNwb25zZV93ZWlnaHQIMERlcG9zaXRBc3NldAAADBhhc3NldHONAyhtYXhfYXNzZXRzBCxiZW5lZmljaWFyeVUDTERlcG9zaXRSZXNlcnZlQXNzZXQAABAYYXNzZXRzjQMobWF4X2Fzc2V0cwQQZGVzdFUDDHhjbZkDNEV4Y2hhbmdlQXNzZXQAAAgQZ2l2ZY0DHHJlY2VpdmVtA1xJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwAADBhhc3NldHONAxxyZXNlcnZlVQMMeGNtmQNASW5pdGlhdGVUZWxlcG9ydAAADBhhc3NldHONAxBkZXN0VQMMeGNtmQMwUXVlcnlIb2xkaW5nAAAQIHF1ZXJ5X2lkCBBkZXN0VQMYYXNzZXRzjQNMbWF4X3Jlc3BvbnNlX3dlaWdodAgwQnV5RXhlY3V0aW9uAAAIEGZlZXNpAzB3ZWlnaHRfbGltaXSRAzRSZWZ1bmRTdXJwbHVzAAEFPFNldEVycm9ySGFuZGxlcgGZAyxTZXRBcHBlbmRpeAGZAyhDbGVhckVycm9yAAEFKENsYWltQXNzZXQAAAgYYXNzZXRzbQMYdGlja2V0VQMQVHJhcAEIQFN1YnNjcmliZVZlcnNpb24AAAggcXVlcnlfaWQITG1heF9yZXNwb25zZV93ZWlnaHQISFVuc3Vic2NyaWJlVmVyc2lvbgABBQSVAwACCCBDb25jcmV0ZQHQIEFic3RyYWN0AVQCGCRVbmRlZmluZWQAAQUUSW5kZXgBCBhBcnJheTQBoBhBcnJheTgBNBxBcnJheTE2ASEBHEFycmF5MzIBVAIIIEZ1bmdpYmxlAQgsTm9uRnVuZ2libGUBoQMACAhpZJ0DDGZ1bqUDBKkDAAKgIE92ZXJmbG93AAEFNFVuaW1wbGVtZW50ZWQAAQVgVW50cnVzdGVkUmVzZXJ2ZUxvY2F0aW9uAAEFZFVudHJ1c3RlZFRlbGVwb3J0TG9jYXRpb24AAQUwTG9jYXRpb25GdWxsAAEFVExvY2F0aW9uTm90SW52ZXJ0aWJsZQABBSRCYWRPcmlnaW4AAQU8SW52YWxpZExvY2F0aW9uAAEFNEFzc2V0Tm90Rm91bmQAAQVURmFpbGVkVG9UcmFuc2FjdEFzc2V0AAEFPE5vdFdpdGhkcmF3YWJsZQABBUhMb2NhdGlvbkNhbm5vdEhvbGQAAQVURXhjZWVkc01heE1lc3NhZ2VTaXplAAEFWERlc3RpbmF0aW9uVW5zdXBwb3J0ZWQAAQUkVHJhbnNwb3J0AAEFKFVucm91dGFibGUAAQUwVW5rbm93bkNsYWltAAEFOEZhaWxlZFRvRGVjb2RlAAEFQE1heFdlaWdodEludmFsaWQAAQU4Tm90SG9sZGluZ0ZlZXMAAQUwVG9vRXhwZW5zaXZlAAEFEFRyYXABCEBFeHBlY3RhdGlvbkZhbHNlAAEFOFBhbGxldE5vdEZvdW5kAAEFME5hbWVNaXNtYXRjaAABBUxWZXJzaW9uSW5jb21wYXRpYmxlAAEFUEhvbGRpbmdXb3VsZE92ZXJmbG93AAEFLEV4cG9ydEVycm9yAAEFOFJlYW5jaG9yRmFpbGVkAAEFGE5vRGVhbAABBShGZWVzTm90TWV0AAEFJExvY2tFcnJvcgABBTBOb1Blcm1pc3Npb24AAQUoVW5hbmNob3JlZAABBThOb3REZXBvc2l0YWJsZQABBUxVbmhhbmRsZWRYY21WZXJzaW9uAAEFSFdlaWdodExpbWl0UmVhY2hlZAEUHEJhcnJpZXIAAQVMV2VpZ2h0Tm90Q29tcHV0YWJsZQABBURFeGNlZWRzU3RhY2tMaW1pdAABBQMIBLEDBrUDABgUaW5kZXgEEG5hbWVELG1vZHVsZV9uYW1lRBRtYWpvcgQUbWlub3IEFHBhdGNoBAS9AwACDBxTdWNjZXNzAAEFFEVycm9yAUQ4VHJ1bmNhdGVkRXJyb3IBRAIYEE51bGwAAQUYQXNzZXRzAa0DPEV4ZWN1dGlvblJlc3VsdAG5AxxWZXJzaW9uAQQsUGFsbGV0c0luZm8BwQM4RGlzcGF0Y2hSZXN1bHQBxQMADCxkZXN0aW5hdGlvbtAgcXVlcnlfaWQIKG1heF93ZWlnaHQUAhAMQWxsAAEFFEFsbE9mAAAICGlknQMMZnVuhQMoQWxsQ291bnRlZAEEMEFsbE9mQ291bnRlZAAADAhpZJ0DDGZ1boUDFGNvdW50BAIIIERlZmluaXRlAa0DEFdpbGQB0QMCCCRVbmxpbWl0ZWQAAQUcTGltaXRlZAEUAsA0V2l0aGRyYXdBc3NldAGtA1RSZXNlcnZlQXNzZXREZXBvc2l0ZWQBrQNYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAGtAzRRdWVyeVJlc3BvbnNlAAAQIHF1ZXJ5X2lkCCByZXNwb25zZckDKG1heF93ZWlnaHQUHHF1ZXJpZXIZAjRUcmFuc2ZlckFzc2V0AAAIGGFzc2V0c60DLGJlbmVmaWNpYXJ50FBUcmFuc2ZlclJlc2VydmVBc3NldAAADBhhc3NldHOtAxBkZXN00Ax4Y23hAyBUcmFuc2FjdAAADCxvcmlnaW5fa2luZIEDWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QUEGNhbGxEZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QAAAwYc2VuZGVyBEBtYXhfbWVzc2FnZV9zaXplBDBtYXhfY2FwYWNpdHkETEhybXBDaGFubmVsQWNjZXB0ZWQAAAQkcmVjaXBpZW50BEhIcm1wQ2hhbm5lbENsb3NpbmcAAAwkaW5pdGlhdG9yBBhzZW5kZXIEJHJlY2lwaWVudAQsQ2xlYXJPcmlnaW4AAQU0RGVzY2VuZE9yaWdpbgHMLFJlcG9ydEVycm9yAc0DMERlcG9zaXRBc3NldAAACBhhc3NldHPVAyxiZW5lZmljaWFyedBMRGVwb3NpdFJlc2VydmVBc3NldAAADBhhc3NldHPVAxBkZXN00Ax4Y23hAzRFeGNoYW5nZUFzc2V0AAAMEGdpdmXVAxB3YW50rQMcbWF4aW1hbGBcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcAAAwYYXNzZXRz1QMccmVzZXJ2ZdAMeGNt4QNASW5pdGlhdGVUZWxlcG9ydAAADBhhc3NldHPVAxBkZXN00Ax4Y23hAzRSZXBvcnRIb2xkaW5nAAAINHJlc3BvbnNlX2luZm/NAxhhc3NldHPVAzBCdXlFeGVjdXRpb24AAAgQZmVlc6kDMHdlaWdodF9saW1pdNkDNFJlZnVuZFN1cnBsdXMAAQU8U2V0RXJyb3JIYW5kbGVyAeEDLFNldEFwcGVuZGl4AeEDKENsZWFyRXJyb3IAAQUoQ2xhaW1Bc3NldAAACBhhc3NldHOtAxh0aWNrZXTQEFRyYXABCEBTdWJzY3JpYmVWZXJzaW9uAAAIIHF1ZXJ5X2lkCExtYXhfcmVzcG9uc2Vfd2VpZ2h0FEhVbnN1YnNjcmliZVZlcnNpb24AAQUkQnVybkFzc2V0Aa0DLEV4cGVjdEFzc2V0Aa0DMEV4cGVjdE9yaWdpbgEZAixFeHBlY3RFcnJvcgG5A1BFeHBlY3RUcmFuc2FjdFN0YXR1cwHFAyxRdWVyeVBhbGxldAAACCxtb2R1bGVfbmFtZUQ0cmVzcG9uc2VfaW5mb80DMEV4cGVjdFBhbGxldAAAFBRpbmRleAQQbmFtZUQsbW9kdWxlX25hbWVELGNyYXRlX21ham9yBDxtaW5fY3JhdGVfbWlub3IEUFJlcG9ydFRyYW5zYWN0U3RhdHVzAc0DTENsZWFyVHJhbnNhY3RTdGF0dXMAAQU8VW5pdmVyc2FsT3JpZ2luAaw0RXhwb3J0TWVzc2FnZQAADBxuZXR3b3JrmCxkZXN0aW5hdGlvbswMeGNt4QMkTG9ja0Fzc2V0AAAIFGFzc2V0qQMgdW5sb2NrZXLQLFVubG9ja0Fzc2V0AAAIFGFzc2V0qQMYdGFyZ2V00DhOb3RlVW5sb2NrYWJsZQAACBRhc3NldKkDFG93bmVy0DRSZXF1ZXN0VW5sb2NrAAAIFGFzc2V0qQMYbG9ja2Vy0CxTZXRGZWVzTW9kZQAABDBqaXRfd2l0aGRyYXdgIFNldFRvcGljAVQoQ2xlYXJUb3BpYwABBSxBbGlhc09yaWdpbgHQPFVucGFpZEV4ZWN1dGlvbgAACDB3ZWlnaHRfbGltaXTZAzBjaGVja19vcmlnaW4ZAgTdAwAACAhpZNAMZnVupQME5QMAAhgQTnVsbAABBRhBc3NldHMB6QM8RXhlY3V0aW9uUmVzdWx0AbkDHFZlcnNpb24BBCxQYWxsZXRzSW5mbwHBAzhEaXNwYXRjaFJlc3VsdAHFAwIQDEFsbAABBRRBbGxPZgAACAhpZNAMZnVuhQMoQWxsQ291bnRlZAEEMEFsbE9mQ291bnRlZAAADAhpZNAMZnVuhQMUY291bnQEAgggRGVmaW5pdGUB6QMQV2lsZAHxAwLANFdpdGhkcmF3QXNzZXQB6QNUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkAekDWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQB6QM0UXVlcnlSZXNwb25zZQAAECBxdWVyeV9pZAggcmVzcG9uc2XtAyhtYXhfd2VpZ2h0FBxxdWVyaWVyGQI0VHJhbnNmZXJBc3NldAAACBhhc3NldHPpAyxiZW5lZmljaWFyedBQVHJhbnNmZXJSZXNlcnZlQXNzZXQAAAwYYXNzZXRz6QMQZGVzdNAMeGNt/QMgVHJhbnNhY3QAAAwsb3JpZ2luX2tpbmSBA1hyZXF1aXJlX3dlaWdodF9hdF9tb3N0FBBjYWxsRGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0AAAMGHNlbmRlcgRAbWF4X21lc3NhZ2Vfc2l6ZQQwbWF4X2NhcGFjaXR5BExIcm1wQ2hhbm5lbEFjY2VwdGVkAAAEJHJlY2lwaWVudARISHJtcENoYW5uZWxDbG9zaW5nAAAMJGluaXRpYXRvcgQYc2VuZGVyBCRyZWNpcGllbnQELENsZWFyT3JpZ2luAAEFNERlc2NlbmRPcmlnaW4BzCxSZXBvcnRFcnJvcgHNAzBEZXBvc2l0QXNzZXQAAAgYYXNzZXRz9QMsYmVuZWZpY2lhcnnQTERlcG9zaXRSZXNlcnZlQXNzZXQAAAwYYXNzZXRz9QMQZGVzdNAMeGNt/QM0RXhjaGFuZ2VBc3NldAAADBBnaXZl9QMQd2FudOkDHG1heGltYWxgXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3AAAMGGFzc2V0c/UDHHJlc2VydmXQDHhjbf0DQEluaXRpYXRlVGVsZXBvcnQAAAwYYXNzZXRz9QMQZGVzdNAMeGNt/QM0UmVwb3J0SG9sZGluZwAACDRyZXNwb25zZV9pbmZvzQMYYXNzZXRz9QMwQnV5RXhlY3V0aW9uAAAIEGZlZXPlAzB3ZWlnaHRfbGltaXTZAzRSZWZ1bmRTdXJwbHVzAAEFPFNldEVycm9ySGFuZGxlcgH9AyxTZXRBcHBlbmRpeAH9AyhDbGVhckVycm9yAAEFKENsYWltQXNzZXQAAAgYYXNzZXRz6QMYdGlja2V00BBUcmFwAQhAU3Vic2NyaWJlVmVyc2lvbgAACCBxdWVyeV9pZAhMbWF4X3Jlc3BvbnNlX3dlaWdodBRIVW5zdWJzY3JpYmVWZXJzaW9uAAEFJEJ1cm5Bc3NldAHpAyxFeHBlY3RBc3NldAHpAzBFeHBlY3RPcmlnaW4BGQIsRXhwZWN0RXJyb3IBuQNQRXhwZWN0VHJhbnNhY3RTdGF0dXMBxQMsUXVlcnlQYWxsZXQAAAgsbW9kdWxlX25hbWVENHJlc3BvbnNlX2luZm/NAzBFeHBlY3RQYWxsZXQAABQUaW5kZXgEEG5hbWVELG1vZHVsZV9uYW1lRCxjcmF0ZV9tYWpvcgQ8bWluX2NyYXRlX21pbm9yBFBSZXBvcnRUcmFuc2FjdFN0YXR1cwHNA0xDbGVhclRyYW5zYWN0U3RhdHVzAAEFPFVuaXZlcnNhbE9yaWdpbgGsNEV4cG9ydE1lc3NhZ2UAAAwcbmV0d29ya5gsZGVzdGluYXRpb27MDHhjbf0DJExvY2tBc3NldAAACBRhc3NldOUDIHVubG9ja2Vy0CxVbmxvY2tBc3NldAAACBRhc3NldOUDGHRhcmdldNA4Tm90ZVVubG9ja2FibGUAAAgUYXNzZXTlAxRvd25lctA0UmVxdWVzdFVubG9jawAACBRhc3NldOUDGGxvY2tlctAsU2V0RmVlc01vZGUAAAQwaml0X3dpdGhkcmF3YCBTZXRUb3BpYwFUKENsZWFyVG9waWMAAQUsQWxpYXNPcmlnaW4B0DxVbnBhaWRFeGVjdXRpb24AAAgwd2VpZ2h0X2xpbWl02QMwY2hlY2tfb3JpZ2luGQIE+QMAAgwIVjIBmQMIVjMB4QMIVjQB/QMCDAhWMgFtAwhWMwGtAwhWNAHpAwIQIFRlbGVwb3J0AAEFMExvY2FsUmVzZXJ2ZQABBUhEZXN0aW5hdGlvblJlc2VydmUAAQU0UmVtb3RlUmVzZXJ2ZQFZAwIICFYzAZ0DCFY0AdACOBBzZW5kAAAIEGRlc3RZAxxtZXNzYWdlAQQ8dGVsZXBvcnRfYXNzZXRzAAAQEGRlc3RZAyxiZW5lZmljaWFyeVkDGGFzc2V0cwUEOGZlZV9hc3NldF9pdGVtBFxyZXNlcnZlX3RyYW5zZmVyX2Fzc2V0cwAAEBBkZXN0WQMsYmVuZWZpY2lhcnlZAxhhc3NldHMFBDhmZWVfYXNzZXRfaXRlbQQcZXhlY3V0ZQAACBxtZXNzYWdlAQQobWF4X3dlaWdodBREZm9yY2VfeGNtX3ZlcnNpb24AAAggbG9jYXRpb27QHHZlcnNpb24EZGZvcmNlX2RlZmF1bHRfeGNtX3ZlcnNpb24AAAREbWF5YmVfeGNtX3ZlcnNpb258eGZvcmNlX3N1YnNjcmliZV92ZXJzaW9uX25vdGlmeQAABCBsb2NhdGlvblkDgGZvcmNlX3Vuc3Vic2NyaWJlX3ZlcnNpb25fbm90aWZ5AAAEIGxvY2F0aW9uWQN8bGltaXRlZF9yZXNlcnZlX3RyYW5zZmVyX2Fzc2V0cwAAFBBkZXN0WQMsYmVuZWZpY2lhcnlZAxhhc3NldHMFBDhmZWVfYXNzZXRfaXRlbQQwd2VpZ2h0X2xpbWl02QNcbGltaXRlZF90ZWxlcG9ydF9hc3NldHMAABQQZGVzdFkDLGJlbmVmaWNpYXJ5WQMYYXNzZXRzBQQ4ZmVlX2Fzc2V0X2l0ZW0EMHdlaWdodF9saW1pdNkDQGZvcmNlX3N1c3BlbnNpb24AAAQkc3VzcGVuZGVkYDx0cmFuc2Zlcl9hc3NldHMAABQQZGVzdFkDLGJlbmVmaWNpYXJ5WQMYYXNzZXRzBQQ4ZmVlX2Fzc2V0X2l0ZW0EMHdlaWdodF9saW1pdNkDMGNsYWltX2Fzc2V0cwAACBhhc3NldHMFBCxiZW5lZmljaWFyeVkDjHRyYW5zZmVyX2Fzc2V0c191c2luZ190eXBlX2FuZF90aGVuAAAcEGRlc3RZAxhhc3NldHMFBFBhc3NldHNfdHJhbnNmZXJfdHlwZQkEOHJlbW90ZV9mZWVzX2lkDQRIZmVlc190cmFuc2Zlcl90eXBlCQRIY3VzdG9tX3hjbV9vbl9kZXN0AQQwd2VpZ2h0X2xpbWl02QMCDBBIZXJlAAEFGFBhcmVudAABBRxTaWJsaW5nAQQCCCRyZWFwX3BhZ2UAAAg4bWVzc2FnZV9vcmlnaW4VBChwYWdlX2luZGV4BEhleGVjdXRlX292ZXJ3ZWlnaHQAABA4bWVzc2FnZV9vcmlnaW4VBBBwYWdlBBRpbmRleAQwd2VpZ2h0X2xpbWl0FAIERHNlbmRfYXNfc292ZXJlaWduAAAIEGRlc3RZAxxtZXNzYWdlAQQCDAhWMgFpAwhWMwGpAwhWNAHlAwSlAgACGCB0cmFuc2ZlcgAAECxjdXJyZW5jeV9pZAQYYW1vdW50CBBkZXN0WQNEZGVzdF93ZWlnaHRfbGltaXTZA0x0cmFuc2Zlcl9tdWx0aWFzc2V0AAAMFGFzc2V0IQQQZGVzdFkDRGRlc3Rfd2VpZ2h0X2xpbWl02QNEdHJhbnNmZXJfd2l0aF9mZWUAABQsY3VycmVuY3lfaWQEGGFtb3VudAgMZmVlCBBkZXN0WQNEZGVzdF93ZWlnaHRfbGltaXTZA3B0cmFuc2Zlcl9tdWx0aWFzc2V0X3dpdGhfZmVlAAAQFGFzc2V0IQQMZmVlIQQQZGVzdFkDRGRlc3Rfd2VpZ2h0X2xpbWl02QNgdHJhbnNmZXJfbXVsdGljdXJyZW5jaWVzAAAQKGN1cnJlbmNpZXMlBCBmZWVfaXRlbQQQZGVzdFkDRGRlc3Rfd2VpZ2h0X2xpbWl02QNQdHJhbnNmZXJfbXVsdGlhc3NldHMAABAYYXNzZXRzBQQgZmVlX2l0ZW0EEGRlc3RZA0RkZXN0X3dlaWdodF9saW1pdNkDAiREc2V0X2ludnVsbmVyYWJsZXMAAAQMbmV3ZFhzZXRfZGVzaXJlZF9jYW5kaWRhdGVzAAAEDG1heARIc2V0X2NhbmRpZGFjeV9ib25kAAAEEGJvbmQIVHJlZ2lzdGVyX2FzX2NhbmRpZGF0ZQABBTBsZWF2ZV9pbnRlbnQAAQVAYWRkX2ludnVsbmVyYWJsZQAABAx3aG8ATHJlbW92ZV9pbnZ1bG5lcmFibGUAAAQMd2hvACx1cGRhdGVfYm9uZAAABCxuZXdfZGVwb3NpdAhMdGFrZV9jYW5kaWRhdGVfc2xvdAAACBxkZXBvc2l0CBh0YXJnZXQAAgggc2V0X2tleXMAAAgQa2V5c1QUcHJvb2ZEKHB1cmdlX2tleXMAAQUCDChhZGRfb3JhY2xlAAAIGHNvdXJjZTQYYXNzZXRzRQI0cmVtb3ZlX29yYWNsZQAACBhzb3VyY2U0GGFzc2V0c0UCVHVwZGF0ZV9iaWZyb3N0X29yYWNsZQAADBxhc3NldF9hWQMcYXNzZXRfYlkDFHByaWNlLQIC/BhTeXN0ZW0BWCRUaW1lc3RhbXABXCBCYWxhbmNlcwFsXE11bHRpVHJhbnNhY3Rpb25QYXltZW50AXggVHJlYXN1cnkBgBxVdGlsaXR5AeQgUHJlaW1hZ2UB7CBJZGVudGl0eQGNASREZW1vY3JhY3kBpQEkRWxlY3Rpb25zAa0BHENvdW5jaWwBtQFIVGVjaG5pY2FsQ29tbWl0dGVlAbUBEFRpcHMBuQEUUHJveHkBxQEgTXVsdGlzaWcB0QEcVW5pcXVlcwHhAUhTdGF0ZVRyaWVNaWdyYXRpb24B9QFAQ29udmljdGlvblZvdGluZwH9ASRSZWZlcmVuZGEBBQIkV2hpdGVsaXN0AQkCKERpc3BhdGNoZXIBDQI0QXNzZXRSZWdpc3RyeQElAhhDbGFpbXMBKQI4R2VuZXNpc0hpc3RvcnkB3CBPbW5pcG9vbAExAkBUcmFuc2FjdGlvblBhdXNlATUCGER1c3RlcgE5AkxPbW5pcG9vbFdhcmVob3VzZUxNAdxcT21uaXBvb2xMaXF1aWRpdHlNaW5pbmcBXQIMT1RDAWECOENpcmN1aXRCcmVha2VyAWkCGFJvdXRlcgF9AixEeW5hbWljRmVlcwHcHFN0YWtpbmcBgQIoU3RhYmxlc3dhcAGVAhRCb25kcwGZAjhPdGNTZXR0bGVtZW50cwGdAgxMQlABqQIMWFlLAa0CJFJlZmVycmFscwG5AixMaXF1aWRhdGlvbgG9AhhUb2tlbnMBwQIoQ3VycmVuY2llcwHFAhxWZXN0aW5nAdECDEVWTQHhAiBFdGhlcmV1bQEFAyxFVk1BY2NvdW50cwEJA0hYWUtMaXF1aWRpdHlNaW5pbmcBDQM4WFlLV2FyZWhvdXNlTE0B3DhSZWxheUNoYWluSW5mbwHcDERDQQEZAyRTY2hlZHVsZXIBHQM8UGFyYWNoYWluU3lzdGVtAUEDNFBhcmFjaGFpbkluZm8B3CxQb2xrYWRvdFhjbQERBChDdW11bHVzWGNtAdwwTWVzc2FnZVF1ZXVlARkEHE9ybWxYY20BHQQcWFRva2VucwEpBERDb2xsYXRvclNlbGVjdGlvbgEtBBxTZXNzaW9uATEEJEVtYU9yYWNsZQE1BCRCcm9hZGNhc3QB3AAcEG5hbWURAihhc3NldF90eXBlFQJMZXhpc3RlbnRpYWxfZGVwb3NpdAgYc3ltYm9sEQIgZGVjaW1hbHN8OHhjbV9yYXRlX2xpbWl03QE0aXNfc3VmZmljaWVudGAAFCxodWJfcmVzZXJ2ZQgYc2hhcmVzCDxwcm90b2NvbF9zaGFyZXMIDGNhcAggdHJhZGFibGUEAkREWWllbGRGYXJtTm90Rm91bmQAAQVIR2xvYmFsRmFybU5vdEZvdW5kAAEFUExpcXVpZGl0eUlzTm90QWN0aXZlAAEFVEdsb2JhbEZhcm1Jc05vdEFjdGl2ZQABBTxEZXBvc2l0Tm90Rm91bmQAAQU0SW52YWxpZFBlcmlvZAABBWxOb3RFbm91Z2hSZXdhcmRzSW5ZaWVsZEZhcm0AAQVkSW52YWxpZExpdmVZaWVsRmFybXNDb3VudAABBWxJbnZhbGlkVG90YWxZaWVsZEZhcm1zQ291bnQAAQVwSW52YWxpZFlpZWxkRmFybUVudHJpZXNDb3VudAABBUhJbnZhbGlkVG90YWxTaGFyZXMAAQVMSW52YWxpZFZhbHVlZFNoYXJlcwABBUxJbnZhbGlkVG90YWxTaGFyZXNaAAEFdEludmFsaWRQYWlkQWNjdW11bGF0ZWRSZXdhcmRzAAEFNEludmFsaWRGYXJtSWQAAQVgSW52YWxpZExveWFsdHlNdWx0aXBsaWVyAAEFcE5vRXhpc3RlbnRpYWxEZXBvc2l0Rm9yQXNzZXQAAQUCCERNaXNzaW5nTHBQb3NpdGlvbgABBUxEZXBvc2l0RGF0YU5vdEZvdW5kAAEFAAwkYXNzZXRfZmVlBDBwcm90b2NvbF9mZWUEJHRpbWVzdGFtcAQAEBxtaW5fZmVlBBxtYXhfZmVlBBRkZWNheQg0YW1wbGlmaWNhdGlvbggCFEBQb3NpdGlvbk5vdEZvdW5kAAEFWE5lZ2F0aXZlUGVuZGluZ1Jld2FyZHMAAQVUTmVnYXRpdmVVbnBhaWRSZXdhcmRzAAEFQFRvb01hbnlQb3NpdGlvbnMAAQUoQXJpdGhtZXRpYwABBQAYGGFzc2V0c00CVGluaXRpYWxfYW1wbGlmaWNhdGlvbgRMZmluYWxfYW1wbGlmaWNhdGlvbgQ0aW5pdGlhbF9ibG9jawQsZmluYWxfYmxvY2sEDGZlZQQACBRzdGFydAQMZW5kBAAoFG93bmVyABRzdGFydHwMZW5kfBhhc3NldHNFAjhpbml0aWFsX3dlaWdodAQwZmluYWxfd2VpZ2h0BDB3ZWlnaHRfY3VydmWhAgxmZWVFAjRmZWVfY29sbGVjdG9yADByZXBheV90YXJnZXQIAwgABAAMEGZyZWUIIHJlc2VydmVkCBhmcm96ZW4IAAwcYWRkcmVzc3AYdG9waWNz6BBkYXRhRAMIBGkEBHEEAAIIDFllcwABBQhObwABBQAINGFjdHVhbF93ZWlnaHQYIHBheXNfZmVleQQCJDxJbnZhbGlkU3BlY05hbWUAAQVoU3BlY1ZlcnNpb25OZWVkc1RvSW5jcmVhc2UAAQV0RmFpbGVkVG9FeHRyYWN0UnVudGltZVZlcnNpb24AAQVMTm9uRGVmYXVsdENvbXBvc2l0ZQABBTxOb25aZXJvUmVmQ291bnQAAQUwQ2FsbEZpbHRlcmVkAAEFbE11bHRpQmxvY2tNaWdyYXRpb25zT25nb2luZwABBUROb3RoaW5nQXV0aG9yaXplZAABBTBVbmF1dGhvcml6ZWQAAQUCMDhWZXN0aW5nQmFsYW5jZQABBVRMaXF1aWRpdHlSZXN0cmljdGlvbnMAAQVMSW5zdWZmaWNpZW50QmFsYW5jZQABBUhFeGlzdGVudGlhbERlcG9zaXQAAQU0RXhwZW5kYWJpbGl0eQABBVxFeGlzdGluZ1Zlc3RpbmdTY2hlZHVsZQABBSxEZWFkQWNjb3VudAABBTxUb29NYW55UmVzZXJ2ZXMAAQUwVG9vTWFueUhvbGRzAAEFOFRvb01hbnlGcmVlemVzAAEFTElzc3VhbmNlRGVhY3RpdmF0ZWQAAQUkRGVsdGFaZXJvAAEFAjBMVW5zdXBwb3J0ZWRDdXJyZW5jeQABBSxaZXJvQmFsYW5jZQABBTxBbHJlYWR5QWNjZXB0ZWQAAQVMQ29yZUFzc2V0Tm90QWxsb3dlZAABBSRaZXJvUHJpY2UAAQVURmFsbGJhY2tQcmljZU5vdEZvdW5kAAEFIE92ZXJmbG93AAEFUEV2bUFjY291bnROb3RBbGxvd2VkAAEFQEV2bVBlcm1pdEV4cGlyZWQAAQVARXZtUGVybWl0SW52YWxpZAABBWxFdm1QZXJtaXRDYWxsRXhlY3V0aW9uRXJyb3IAAQVQRXZtUGVybWl0UnVubmVyRXJyb3IAAQUCLDBJbnZhbGlkSW5kZXgAAQVAVG9vTWFueUFwcHJvdmFscwABBVhJbnN1ZmZpY2llbnRQZXJtaXNzaW9uAAEFTFByb3Bvc2FsTm90QXBwcm92ZWQAAQVYRmFpbGVkVG9Db252ZXJ0QmFsYW5jZQABBTBTcGVuZEV4cGlyZWQAAQUsRWFybHlQYXlvdXQAAQVAQWxyZWFkeUF0dGVtcHRlZAABBSxQYXlvdXRFcnJvcgABBTBOb3RBdHRlbXB0ZWQAAQUwSW5jb25jbHVzaXZlAAEFAgQwVG9vTWFueUNhbGxzAAEFAiAYVG9vQmlnAAEFMEFscmVhZHlOb3RlZAABBTROb3RBdXRob3JpemVkAAEFIE5vdE5vdGVkAAEFJFJlcXVlc3RlZAABBTBOb3RSZXF1ZXN0ZWQAAQUcVG9vTWFueQABBRhUb29GZXcAAQUCaEhUb29NYW55U3ViQWNjb3VudHMAAQUgTm90Rm91bmQAAQUgTm90TmFtZWQAAQUoRW1wdHlJbmRleAABBShGZWVDaGFuZ2VkAAEFKE5vSWRlbnRpdHkAAQU8U3RpY2t5SnVkZ2VtZW50AAEFOEp1ZGdlbWVudEdpdmVuAAEFQEludmFsaWRKdWRnZW1lbnQAAQUwSW52YWxpZEluZGV4AAEFNEludmFsaWRUYXJnZXQAAQVEVG9vTWFueVJlZ2lzdHJhcnMAAQU4QWxyZWFkeUNsYWltZWQAAQUYTm90U3ViAAEFIE5vdE93bmVkAAEFdEp1ZGdlbWVudEZvckRpZmZlcmVudElkZW50aXR5AAEFWEp1ZGdlbWVudFBheW1lbnRGYWlsZWQAAQU0SW52YWxpZFN1ZmZpeAABBVBOb3RVc2VybmFtZUF1dGhvcml0eQABBTBOb0FsbG9jYXRpb24AAQVASW52YWxpZFNpZ25hdHVyZQABBURSZXF1aXJlc1NpZ25hdHVyZQABBTxJbnZhbGlkVXNlcm5hbWUAAQU0VXNlcm5hbWVUYWtlbgABBShOb1VzZXJuYW1lAAEFKE5vdEV4cGlyZWQAAQUCYCBWYWx1ZUxvdwABBTxQcm9wb3NhbE1pc3NpbmcAAQU8QWxyZWFkeUNhbmNlbGVkAAEFRER1cGxpY2F0ZVByb3Bvc2FsAAEFTFByb3Bvc2FsQmxhY2tsaXN0ZWQAAQVETm90U2ltcGxlTWFqb3JpdHkAAQUsSW52YWxpZEhhc2gAAQUoTm9Qcm9wb3NhbAABBTRBbHJlYWR5VmV0b2VkAAEFRFJlZmVyZW5kdW1JbnZhbGlkAAEFLE5vbmVXYWl0aW5nAAEFIE5vdFZvdGVyAAEFME5vUGVybWlzc2lvbgABBURBbHJlYWR5RGVsZWdhdGluZwABBURJbnN1ZmZpY2llbnRGdW5kcwABBTROb3REZWxlZ2F0aW5nAAEFKFZvdGVzRXhpc3QAAQVESW5zdGFudE5vdEFsbG93ZWQAAQUgTm9uc2Vuc2UAAQU8V3JvbmdVcHBlckJvdW5kAAEFPE1heFZvdGVzUmVhY2hlZAABBRxUb29NYW55AAEFPFZvdGluZ1BlcmlvZExvdwABBUBQcmVpbWFnZU5vdEV4aXN0AAEFAkQwVW5hYmxlVG9Wb3RlAAEFHE5vVm90ZXMAAQUwVG9vTWFueVZvdGVzAAEFUE1heGltdW1Wb3Rlc0V4Y2VlZGVkAAEFKExvd0JhbGFuY2UAAQU8VW5hYmxlVG9QYXlCb25kAAEFLE11c3RCZVZvdGVyAAEFTER1cGxpY2F0ZWRDYW5kaWRhdGUAAQVEVG9vTWFueUNhbmRpZGF0ZXMAAQUwTWVtYmVyU3VibWl0AAEFOFJ1bm5lclVwU3VibWl0AAEFaEluc3VmZmljaWVudENhbmRpZGF0ZUZ1bmRzAAEFJE5vdE1lbWJlcgABBUhJbnZhbGlkV2l0bmVzc0RhdGEAAQVASW52YWxpZFZvdGVDb3VudAABBURJbnZhbGlkUmVub3VuY2luZwABBUhJbnZhbGlkUmVwbGFjZW1lbnQAAQUCLCROb3RNZW1iZXIAAQVERHVwbGljYXRlUHJvcG9zYWwAAQU8UHJvcG9zYWxNaXNzaW5nAAEFKFdyb25nSW5kZXgAAQU0RHVwbGljYXRlVm90ZQABBUhBbHJlYWR5SW5pdGlhbGl6ZWQAAQUgVG9vRWFybHkAAQVAVG9vTWFueVByb3Bvc2FscwABBUxXcm9uZ1Byb3Bvc2FsV2VpZ2h0AAEFTFdyb25nUHJvcG9zYWxMZW5ndGgAAQVUUHJpbWVBY2NvdW50Tm90TWVtYmVyAAEFAhwwUmVhc29uVG9vQmlnAAEFMEFscmVhZHlLbm93bgABBShVbmtub3duVGlwAAEFUE1heFRpcEFtb3VudEV4Y2VlZGVkAAEFJE5vdEZpbmRlcgABBSRTdGlsbE9wZW4AAQUkUHJlbWF0dXJlAAEFAiAcVG9vTWFueQABBSBOb3RGb3VuZAABBSBOb3RQcm94eQABBSxVbnByb3h5YWJsZQABBSREdXBsaWNhdGUAAQUwTm9QZXJtaXNzaW9uAAEFLFVuYW5ub3VuY2VkAAEFLE5vU2VsZlByb3h5AAEFAjhATWluaW11bVRocmVzaG9sZAABBTxBbHJlYWR5QXBwcm92ZWQAAQVETm9BcHByb3ZhbHNOZWVkZWQAAQVEVG9vRmV3U2lnbmF0b3JpZXMAAQVIVG9vTWFueVNpZ25hdG9yaWVzAAEFVFNpZ25hdG9yaWVzT3V0T2ZPcmRlcgABBUxTZW5kZXJJblNpZ25hdG9yaWVzAAEFIE5vdEZvdW5kAAEFIE5vdE93bmVyAAEFLE5vVGltZXBvaW50AAEFOFdyb25nVGltZXBvaW50AAEFTFVuZXhwZWN0ZWRUaW1lcG9pbnQAAQU8TWF4V2VpZ2h0VG9vTG93AAEFNEFscmVhZHlTdG9yZWQAAQUCSDBOb1Blcm1pc3Npb24AAQVEVW5rbm93bkNvbGxlY3Rpb24AAQU0QWxyZWFkeUV4aXN0cwABBShXcm9uZ093bmVyAAEFKEJhZFdpdG5lc3MAAQUUSW5Vc2UAAQUYRnJvemVuAAEFNFdyb25nRGVsZWdhdGUAAQUoTm9EZWxlZ2F0ZQABBShVbmFwcHJvdmVkAAEFKFVuYWNjZXB0ZWQAAQUYTG9ja2VkAAEFQE1heFN1cHBseVJlYWNoZWQAAQVMTWF4U3VwcGx5QWxyZWFkeVNldAABBURNYXhTdXBwbHlUb29TbWFsbAABBSxVbmtub3duSXRlbQABBShOb3RGb3JTYWxlAAEFJEJpZFRvb0xvdwABBQIYPE1heFNpZ25lZExpbWl0cwABBShLZXlUb29Mb25nAAEFOE5vdEVub3VnaEZ1bmRzAAEFKEJhZFdpdG5lc3MAAQVkU2lnbmVkTWlncmF0aW9uTm90QWxsb3dlZAABBTBCYWRDaGlsZFJvb3QAAQUCMChOb3RPbmdvaW5nAAEFIE5vdFZvdGVyAAEFME5vUGVybWlzc2lvbgABBTxOb1Blcm1pc3Npb25ZZXQAAQVEQWxyZWFkeURlbGVnYXRpbmcAAQU0QWxyZWFkeVZvdGluZwABBURJbnN1ZmZpY2llbnRGdW5kcwABBTROb3REZWxlZ2F0aW5nAAEFIE5vbnNlbnNlAAEFPE1heFZvdGVzUmVhY2hlZAABBSxDbGFzc05lZWRlZAABBSBCYWRDbGFzcwABBQI4KE5vdE9uZ29pbmcAAQUoSGFzRGVwb3NpdAABBSBCYWRUcmFjawABBRBGdWxsAAEFKFF1ZXVlRW1wdHkAAQU0QmFkUmVmZXJlbmR1bQABBSxOb3RoaW5nVG9EbwABBRxOb1RyYWNrAAEFKFVuZmluaXNoZWQAAQUwTm9QZXJtaXNzaW9uAAEFJE5vRGVwb3NpdAABBSRCYWRTdGF0dXMAAQVAUHJlaW1hZ2VOb3RFeGlzdAABBYRQcmVpbWFnZVN0b3JlZFdpdGhEaWZmZXJlbnRMZW5ndGgAAQUCFExVbmF2YWlsYWJsZVByZUltYWdlAAEFPFVuZGVjb2RhYmxlQ2FsbAABBWBJbnZhbGlkQ2FsbFdlaWdodFdpdG5lc3MAAQVQQ2FsbElzTm90V2hpdGVsaXN0ZWQAAQVYQ2FsbEFscmVhZHlXaGl0ZWxpc3RlZAABBQI8NE5vSWRBdmFpbGFibGUAAQU0QXNzZXROb3RGb3VuZAABBSBUb29TaG9ydAABBTRJbnZhbGlkU3ltYm9sAAEFSEFzc2V0Tm90UmVnaXN0ZXJlZAABBVhBc3NldEFscmVhZHlSZWdpc3RlcmVkAAEFVEludmFsaWRTaGFyZWRBc3NldExlbgABBVBDYW5ub3RVcGRhdGVMb2NhdGlvbgABBUhOb3RJblJlc2VydmVkUmFuZ2UAAQVkTG9jYXRpb25BbHJlYWR5UmVnaXN0ZXJlZAABBSRGb3JiaWRkZW4AAQVMSW5zdWZmaWNpZW50QmFsYW5jZQABBWhGb3JiaWRkZW5TdWZmaWNpZW5jeUNoYW5nZQABBUhBc3NldEFscmVhZHlCYW5uZWQAAQU4QXNzZXROb3RCYW5uZWQAAQUCDGBJbnZhbGlkRXRoZXJldW1TaWduYXR1cmUAAQVcTm9DbGFpbU9yQWxyZWFkeUNsYWltZWQAAQU8QmFsYW5jZU92ZXJmbG93AAEFAoBMSW5zdWZmaWNpZW50QmFsYW5jZQABBURBc3NldEFscmVhZHlBZGRlZAABBTRBc3NldE5vdEZvdW5kAAEFOE1pc3NpbmdCYWxhbmNlAAEFYEludmFsaWRJbml0aWFsQXNzZXRQcmljZQABBUhCdXlMaW1pdE5vdFJlYWNoZWQAAQVEU2VsbExpbWl0RXhjZWVkZWQAAQVAUG9zaXRpb25Ob3RGb3VuZAABBUhJbnN1ZmZpY2llbnRTaGFyZXMAAQUoTm90QWxsb3dlZAABBSRGb3JiaWRkZW4AAQVYQXNzZXRXZWlnaHRDYXBFeGNlZWRlZAABBUhBc3NldE5vdFJlZ2lzdGVyZWQAAQVUSW5zdWZmaWNpZW50TGlxdWlkaXR5AAEFZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQAAQVgU2FtZUFzc2V0VHJhZGVOb3RBbGxvd2VkAAEFTEh1YkFzc2V0VXBkYXRlRXJyb3IAAQVMSW52YWxpZFNoYXJlc0Ftb3VudAABBXBJbnZhbGlkSHViQXNzZXRUcmFkYWJsZVN0YXRlAAEFVEFzc2V0UmVmdW5kTm90QWxsb3dlZAABBUxNYXhPdXRSYXRpb0V4Y2VlZGVkAAEFSE1heEluUmF0aW9FeGNlZWRlZAABBVhQcmljZURpZmZlcmVuY2VUb29IaWdoAAEFSEludmFsaWRPcmFjbGVQcmljZQABBVBJbnZhbGlkV2l0aGRyYXdhbEZlZQABBTBGZWVPdmVyZHJhZnQAAQU8U2hhcmVzUmVtYWluaW5nAAEFOEFzc2V0Tm90RnJvemVuAAEFNFplcm9BbW91bnRPdXQAAQV4RXhpc3RlbnRpYWxEZXBvc2l0Tm90QXZhaWxhYmxlAAEFNFNsaXBwYWdlTGltaXQAAQVYUHJvdG9jb2xGZWVOb3RDb25zdW1lZAABBQIMLENhbm5vdFBhdXNlAAEFQEludmFsaWRDaGFyYWN0ZXIAAQUsTmFtZVRvb0xvbmcAAQUCGEhBY2NvdW50QmxhY2tsaXN0ZWQAAQVUQWNjb3VudE5vdEJsYWNrbGlzdGVkAAEFLFplcm9CYWxhbmNlAAEFREJhbGFuY2VTdWZmaWNpZW50AAEFRER1c3RBY2NvdW50Tm90U2V0AAEFUFJlc2VydmVBY2NvdW50Tm90U2V0AAEFAnRIR2xvYmFsRmFybU5vdEZvdW5kAAEFRFlpZWxkRmFybU5vdEZvdW5kAAEFTERvdWJsZUNsYWltSW5QZXJpb2QAAQVcTGlxdWlkaXR5TWluaW5nQ2FuY2VsZWQAAQVcTGlxdWlkaXR5TWluaW5nSXNBY3RpdmUAAQVsTGlxdWlkaXR5TWluaW5nSXNOb3RTdG9wcGVkAAEFUEludmFsaWREZXBvc2l0QW1vdW50AAEFJEZvcmJpZGRlbgABBURJbnZhbGlkTXVsdGlwbGllcgABBVhZaWVsZEZhcm1BbHJlYWR5RXhpc3RzAAEFeEludmFsaWRJbml0aWFsUmV3YXJkUGVyY2VudGFnZQABBVBHbG9iYWxGYXJtSXNOb3RFbXB0eQABBWBNaXNzaW5nSW5jZW50aXZpemVkQXNzZXQAAQWESW5zdWZmaWNpZW50UmV3YXJkQ3VycmVuY3lCYWxhbmNlAAEFWEludmFsaWRCbG9ja3NQZXJQZXJpb2QAAQVUSW52YWxpZFlpZWxkUGVyUGVyaW9kAAEFTEludmFsaWRUb3RhbFJld2FyZHMAAQV0SW52YWxpZFBsYW5uZWRZaWVsZGluZ1BlcmlvZHMAAQVQTWF4RW50cmllc1BlckRlcG9zaXQAAQUoRG91YmxlTG9jawABBVhZaWVsZEZhcm1FbnRyeU5vdEZvdW5kAAEFQEdsb2JhbEZhcm1Jc0Z1bGwAAQVESW52YWxpZE1pbkRlcG9zaXQAAQVYSW52YWxpZFByaWNlQWRqdXN0bWVudAABBURFcnJvckdldEFjY291bnRJZAABBVRJbmNvcnJlY3RWYWx1ZWRTaGFyZXMAAQVsUmV3YXJkQ3VycmVuY3lOb3RSZWdpc3RlcmVkAAEFeEluY2VudGl2aXplZEFzc2V0Tm90UmVnaXN0ZXJlZAABBURJbmNvbnNpc3RlbnRTdGF0ZQFFBAIcNEFzc2V0Tm90Rm91bmQAAQUkRm9yYmlkZGVuAAEFSFplcm9DbGFpbWVkUmV3YXJkcwABBURJbmNvbnNpc3RlbnRTdGF0ZQFJBEhPcmFjbGVOb3RBdmFpbGFibGUAAQVsUHJpY2VBZGp1c3RtZW50Tm90QXZhaWxhYmxlAAEFWE5vRmFybUVudHJpZXNTcGVjaWZpZWQAAQUCIEhBc3NldE5vdFJlZ2lzdGVyZWQAAQU0T3JkZXJOb3RGb3VuZAABBURPcmRlcklkT3V0T2ZCb3VuZAABBWRPcmRlck5vdFBhcnRpYWxseUZpbGxhYmxlAAEFTE9yZGVyQW1vdW50VG9vU21hbGwAAQUkTWF0aEVycm9yAAEFJEZvcmJpZGRlbgABBWhJbnN1ZmZpY2llbnRSZXNlcnZlZEFtb3VudAABBQIYREludmFsaWRMaW1pdFZhbHVlAAEFfExpcXVpZGl0eUxpbWl0Tm90U3RvcmVkRm9yQXNzZXQAAQVgVG9rZW5PdXRmbG93TGltaXRSZWFjaGVkAAEFXFRva2VuSW5mbHV4TGltaXRSZWFjaGVkAAEFgE1heExpcXVpZGl0eUxpbWl0UGVyQmxvY2tSZWFjaGVkAAEFKE5vdEFsbG93ZWQAAQUCKExUcmFkaW5nTGltaXRSZWFjaGVkAAEFRE1heFRyYWRlc0V4Y2VlZGVkAAEFQFBvb2xOb3RTdXBwb3J0ZWQAAQVMSW5zdWZmaWNpZW50QmFsYW5jZQABBVhSb3V0ZUNhbGN1bGF0aW9uRmFpbGVkAAEFMEludmFsaWRSb3V0ZQABBWhSb3V0ZVVwZGF0ZUlzTm90U3VjY2Vzc2Z1bAABBUBSb3V0ZUhhc05vT3JhY2xlAAEFVEludmFsaWRSb3V0ZUV4ZWN1dGlvbgABBShOb3RBbGxvd2VkAAEFAjRMSW5zdWZmaWNpZW50QmFsYW5jZQABBURJbnN1ZmZpY2llbnRTdGFrZQABBUBQb3NpdGlvbk5vdEZvdW5kAAEFPE1heFZvdGVzUmVhY2hlZAABBThOb3RJbml0aWFsaXplZAABBUhBbHJlYWR5SW5pdGlhbGl6ZWQAAQUoQXJpdGhtZXRpYwABBURNaXNzaW5nUG90QmFsYW5jZQABBVRQb3NpdGlvbkFscmVhZHlFeGlzdHMAAQUkRm9yYmlkZGVuAAEFNEV4aXN0aW5nVm90ZXMAAQVYRXhpc3RpbmdQcm9jZXNzZWRWb3RlcwABBURJbmNvbnNpc3RlbnRTdGF0ZQFVBAJsPEluY29ycmVjdEFzc2V0cwABBURNYXhBc3NldHNFeGNlZWRlZAABBTBQb29sTm90Rm91bmQAAQUoUG9vbEV4aXN0cwABBThBc3NldE5vdEluUG9vbAABBVxTaGFyZUFzc2V0Tm90UmVnaXN0ZXJlZAABBVhTaGFyZUFzc2V0SW5Qb29sQXNzZXRzAAEFSEFzc2V0Tm90UmVnaXN0ZXJlZAABBUhJbnZhbGlkQXNzZXRBbW91bnQAAQVMSW5zdWZmaWNpZW50QmFsYW5jZQABBUhJbnN1ZmZpY2llbnRTaGFyZXMAAQVUSW5zdWZmaWNpZW50TGlxdWlkaXR5AAEFeEluc3VmZmljaWVudExpcXVpZGl0eVJlbWFpbmluZwABBWRJbnN1ZmZpY2llbnRUcmFkaW5nQW1vdW50AAEFSEJ1eUxpbWl0Tm90UmVhY2hlZAABBURTZWxsTGltaXRFeGNlZWRlZAABBVxJbnZhbGlkSW5pdGlhbExpcXVpZGl0eQABBVBJbnZhbGlkQW1wbGlmaWNhdGlvbgABBWBJbnN1ZmZpY2llbnRTaGFyZUJhbGFuY2UAAQUoTm90QWxsb3dlZAABBSRQYXN0QmxvY2sAAQVEU2FtZUFtcGxpZmljYXRpb24AAQU0U2xpcHBhZ2VMaW1pdAABBTxVbmtub3duRGVjaW1hbHMAAQVQSW5jb3JyZWN0SW5pdGlhbFBlZ3MAAQVYTWlzc2luZ1RhcmdldFBlZ09yYWNsZQABBVhJbmNvcnJlY3RBc3NldERlY2ltYWxzAAEFAhw0Tm90UmVnaXN0ZXJlZAABBSROb3RNYXR1cmUAAQU8SW52YWxpZE1hdHVyaXR5AAEFPERpc2FsbG93ZWRBc3NldAABBTRBc3NldE5vdEZvdW5kAAEFPEludmFsaWRCb25kTmFtZQABBTxGYWlsVG9QYXJzZU5hbWUAAQUCHDRPcmRlck5vdEZvdW5kAAEFUE5vdFBhcnRpYWxseUZpbGxhYmxlAAEFMEludmFsaWRSb3V0ZQABBVBCYWxhbmNlSW5jb25zaXN0ZW5jeQABBUhUcmFkZUFtb3VudFRvb0hpZ2gAAQVEVHJhZGVBbW91bnRUb29Mb3cAAQVEUHJpY2VOb3RBdmFpbGFibGUAAQUCXHhDYW5ub3RDcmVhdGVQb29sV2l0aFNhbWVBc3NldHMAAQUgTm90T3duZXIAAQUsU2FsZVN0YXJ0ZWQAAQUwU2FsZU5vdEVuZGVkAAEFQFNhbGVJc05vdFJ1bm5pbmcAAQVcTWF4U2FsZUR1cmF0aW9uRXhjZWVkZWQAAQVYQ2Fubm90QWRkWmVyb0xpcXVpZGl0eQABBWBJbnN1ZmZpY2llbnRBc3NldEJhbGFuY2UAAQUwUG9vbE5vdEZvdW5kAAEFRFBvb2xBbHJlYWR5RXhpc3RzAAEFREludmFsaWRCbG9ja1JhbmdlAAEFWFdlaWdodENhbGN1bGF0aW9uRXJyb3IAAQU0SW52YWxpZFdlaWdodAABBShaZXJvQW1vdW50AAEFSE1heEluUmF0aW9FeGNlZWRlZAABBUxNYXhPdXRSYXRpb0V4Y2VlZGVkAAEFQEZlZUFtb3VudEludmFsaWQAAQVMVHJhZGluZ0xpbWl0UmVhY2hlZAABBSBPdmVyZmxvdwABBTxOb3RoaW5nVG9VcGRhdGUAAQVUSW5zdWZmaWNpZW50TGlxdWlkaXR5AAEFZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQAAQWARmVlQ29sbGVjdG9yV2l0aEFzc2V0QWxyZWFkeVVzZWQAAQUCaHhDYW5ub3RDcmVhdGVQb29sV2l0aFNhbWVBc3NldHMAAQVUSW5zdWZmaWNpZW50TGlxdWlkaXR5AAEFZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQAAQU0WmVyb0xpcXVpZGl0eQABBUBaZXJvSW5pdGlhbFByaWNlAAEFcENyZWF0ZVBvb2xBc3NldEFtb3VudEludmFsaWQAAQVYSW52YWxpZE1pbnRlZExpcXVpZGl0eQABBVhJbnZhbGlkTGlxdWlkaXR5QW1vdW50AAEFYEFzc2V0QW1vdW50RXhjZWVkZWRMaW1pdAABBWhBc3NldEFtb3VudE5vdFJlYWNoZWRMaW1pdAABBWBJbnN1ZmZpY2llbnRBc3NldEJhbGFuY2UAAQVwSW5zdWZmaWNpZW50UG9vbEFzc2V0QmFsYW5jZQABBYRJbnN1ZmZpY2llbnROYXRpdmVDdXJyZW5jeUJhbGFuY2UAAQVEVG9rZW5Qb29sTm90Rm91bmQAAQVYVG9rZW5Qb29sQWxyZWFkeUV4aXN0cwABBVRBZGRBc3NldEFtb3VudEludmFsaWQAAQVgUmVtb3ZlQXNzZXRBbW91bnRJbnZhbGlkAAEFWFNlbGxBc3NldEFtb3VudEludmFsaWQAAQVUQnV5QXNzZXRBbW91bnRJbnZhbGlkAAEFQEZlZUFtb3VudEludmFsaWQAAQVMQ2Fubm90QXBwbHlEaXNjb3VudAABBUxNYXhPdXRSYXRpb0V4Y2VlZGVkAAEFSE1heEluUmF0aW9FeGNlZWRlZAABBSBPdmVyZmxvdwABBUBDYW5ub3RDcmVhdGVQb29sAAEFNFNsaXBwYWdlTGltaXQAAQUCOBxUb29Mb25nAAEFIFRvb1Nob3J0AAEFQEludmFsaWRDaGFyYWN0ZXIAAQU0QWxyZWFkeUV4aXN0cwABBSxJbnZhbGlkQ29kZQABBTRBbHJlYWR5TGlua2VkAAEFKFplcm9BbW91bnQAAQU4TGlua05vdEFsbG93ZWQAAQVoSW5jb3JyZWN0UmV3YXJkQ2FsY3VsYXRpb24AAQVkSW5jb3JyZWN0UmV3YXJkUGVyY2VudGFnZQABBURBbHJlYWR5UmVnaXN0ZXJlZAABBTRQcmljZU5vdEZvdW5kAAEFkENvbnZlcnNpb25NaW5UcmFkaW5nQW1vdW50Tm90UmVhY2hlZAABBXBDb252ZXJzaW9uWmVyb0Ftb3VudFJlY2VpdmVkAAEFAhBUQXNzZXRDb252ZXJzaW9uRmFpbGVkAAEFVExpcXVpZGF0aW9uQ2FsbEZhaWxlZAABBTBJbnZhbGlkUm91dGUAAQU0Tm90UHJvZml0YWJsZQABBQIgNEJhbGFuY2VUb29Mb3cAAQVcQW1vdW50SW50b0JhbGFuY2VGYWlsZWQAAQVUTGlxdWlkaXR5UmVzdHJpY3Rpb25zAAEFQE1heExvY2tzRXhjZWVkZWQAAQUkS2VlcEFsaXZlAAEFSEV4aXN0ZW50aWFsRGVwb3NpdAABBSxEZWFkQWNjb3VudAABBTxUb29NYW55UmVzZXJ2ZXMAAQUCEFxBbW91bnRJbnRvQmFsYW5jZUZhaWxlZAABBTRCYWxhbmNlVG9vTG93AAEFNERlcG9zaXRGYWlsZWQAAQUwTm90U3VwcG9ydGVkAAEFAhhEWmVyb1Zlc3RpbmdQZXJpb2QAAQVYWmVyb1Zlc3RpbmdQZXJpb2RDb3VudAABBWRJbnN1ZmZpY2llbnRCYWxhbmNlVG9Mb2NrAAEFXFRvb01hbnlWZXN0aW5nU2NoZWR1bGVzAAEFJEFtb3VudExvdwABBWxNYXhWZXN0aW5nU2NoZWR1bGVzRXhjZWVkZWQAAQUCNChCYWxhbmNlTG93AAEFLEZlZU92ZXJmbG93AAEFPFBheW1lbnRPdmVyZmxvdwABBThXaXRoZHJhd0ZhaWxlZAABBThHYXNQcmljZVRvb0xvdwABBTBJbnZhbGlkTm9uY2UAAQU4R2FzTGltaXRUb29Mb3cAAQU8R2FzTGltaXRUb29IaWdoAAEFOEludmFsaWRDaGFpbklkAAEFQEludmFsaWRTaWduYXR1cmUAAQUoUmVlbnRyYW5jeQABBWhUcmFuc2FjdGlvbk11c3RDb21lRnJvbUVPQQABBSRVbmRlZmluZWQAAQUCCEBJbnZhbGlkU2lnbmF0dXJlAAEFMFByZUxvZ0V4aXN0cwABBQIQbFRydW5jYXRlZEFjY291bnRBbHJlYWR5VXNlZAABBUxBZGRyZXNzQWxyZWFkeUJvdW5kAAEFYEJvdW5kQWRkcmVzc0Nhbm5vdEJlVXNlZAABBVRBZGRyZXNzTm90V2hpdGVsaXN0ZWQAAQUCMFBDYW50RmluZERlcG9zaXRPd25lcgABBXBJbnN1ZmZpY2llbnRYeWtTaGFyZXNCYWxhbmNlAAEFSFh5a1Bvb2xEb2VzbnRFeGlzdAABBTxOb3REZXBvc2l0T3duZXIAAQVAQ2FudEdldFh5a0Fzc2V0cwABBUxEZXBvc2l0RGF0YU5vdEZvdW5kAAEFSFplcm9DbGFpbWVkUmV3YXJkcwABBUxBc3NldE5vdEluQXNzZXRQYWlyAAEFQEludmFsaWRBc3NldFBhaXIAAQVIQXNzZXROb3RSZWdpc3RlcmVkAAEFOEZhaWxUb0dldFBvdElkAAEFQE5vRmFybXNTcGVjaWZpZWQAAQUCSEBTY2hlZHVsZU5vdEZvdW5kAAEFYE1pblRyYWRlQW1vdW50Tm90UmVhY2hlZAABBSRGb3JiaWRkZW4AAQVgQmxvY2tOdW1iZXJJc05vdEluRnV0dXJlAAEFNFByaWNlVW5zdGFibGUAAQUYQnVtcGVkAAEFVENhbGN1bGF0aW5nUHJpY2VFcnJvcgABBYRUb3RhbEFtb3VudElzU21hbGxlclRoYW5NaW5CdWRnZXQAAQUwQnVkZ2V0VG9vTG93AAEFQE5vRnJlZUJsb2NrRm91bmQAAQVITWFudWFsbHlUZXJtaW5hdGVkAAEFPE1heFJldHJ5UmVhY2hlZAABBURUcmFkZUxpbWl0UmVhY2hlZAABBVBTbGlwcGFnZUxpbWl0UmVhY2hlZAABBUROb1BhcmVudEhhc2hGb3VuZAABBTBJbnZhbGlkU3RhdGUAAQU4UGVyaW9kVG9vU2hvcnQAAQVkU3RhYmlsaXR5VGhyZXNob2xkVG9vSGlnaAABBQIUQEZhaWxlZFRvU2NoZWR1bGUAAQUgTm90Rm91bmQAAQVcVGFyZ2V0QmxvY2tOdW1iZXJJblBhc3QAAQVIUmVzY2hlZHVsZU5vQ2hhbmdlAAEFFE5hbWVkAAEFAiBMT3ZlcmxhcHBpbmdVcGdyYWRlcwABBVBQcm9oaWJpdGVkQnlQb2xrYWRvdAABBRhUb29CaWcAAQVoVmFsaWRhdGlvbkRhdGFOb3RBdmFpbGFibGUAAQV0SG9zdENvbmZpZ3VyYXRpb25Ob3RBdmFpbGFibGUAAQUwTm90U2NoZWR1bGVkAAEFRE5vdGhpbmdBdXRob3JpemVkAAEFMFVuYXV0aG9yaXplZAABBQJgLFVucmVhY2hhYmxlAAEFLFNlbmRGYWlsdXJlAAEFIEZpbHRlcmVkAAEFSFVud2VpZ2hhYmxlTWVzc2FnZQABBWBEZXN0aW5hdGlvbk5vdEludmVydGlibGUAAQUURW1wdHkAAQU4Q2Fubm90UmVhbmNob3IAAQU0VG9vTWFueUFzc2V0cwABBTRJbnZhbGlkT3JpZ2luAAEFKEJhZFZlcnNpb24AAQUsQmFkTG9jYXRpb24AAQU4Tm9TdWJzY3JpcHRpb24AAQVEQWxyZWFkeVN1YnNjcmliZWQAAQVYQ2Fubm90Q2hlY2tPdXRUZWxlcG9ydAABBShMb3dCYWxhbmNlAAEFMFRvb01hbnlMb2NrcwABBUxBY2NvdW50Tm90U292ZXJlaWduAAEFKEZlZXNOb3RNZXQAAQUwTG9ja05vdEZvdW5kAAEFFEluVXNlAAEFaEludmFsaWRBc3NldFVua25vd25SZXNlcnZlAAEFeEludmFsaWRBc3NldFVuc3VwcG9ydGVkUmVzZXJ2ZQABBTxUb29NYW55UmVzZXJ2ZXMAAQVgTG9jYWxFeGVjdXRpb25JbmNvbXBsZXRlAAEFAhQ4QmFkUXVldWVDb25maWcAAQVAQWxyZWFkeVN1c3BlbmRlZAABBThBbHJlYWR5UmVzdW1lZAABBXRUb29NYW55QWN0aXZlT3V0Ym91bmRDaGFubmVscwABBRhUb29CaWcAAQUCJCxOb3RSZWFwYWJsZQABBRhOb1BhZ2UAAQUkTm9NZXNzYWdlAAEFQEFscmVhZHlQcm9jZXNzZWQAAQUYUXVldWVkAAEFSEluc3VmZmljaWVudFdlaWdodAABBWBUZW1wb3JhcmlseVVucHJvY2Vzc2FibGUAAQUsUXVldWVQYXVzZWQAAQVMUmVjdXJzaXZlRGlzYWxsb3dlZAABBQIMLFVucmVhY2hhYmxlAAEFLFNlbmRGYWlsdXJlAAEFKEJhZFZlcnNpb24AAQUCUERBc3NldEhhc05vUmVzZXJ2ZQABBVROb3RDcm9zc0NoYWluVHJhbnNmZXIAAQUsSW52YWxpZERlc3QAAQWETm90Q3Jvc3NDaGFpblRyYW5zZmVyYWJsZUN1cnJlbmN5AAEFSFVud2VpZ2hhYmxlTWVzc2FnZQABBUhYY21FeGVjdXRpb25GYWlsZWQAAQU4Q2Fubm90UmVhbmNob3IAAQU8SW52YWxpZEFuY2VzdHJ5AAEFMEludmFsaWRBc3NldAABBWBEZXN0aW5hdGlvbk5vdEludmVydGlibGUAAQUoQmFkVmVyc2lvbgABBXREaXN0aW5jdFJlc2VydmVGb3JBc3NldEFuZEZlZQABBRxaZXJvRmVlAAEFKFplcm9BbW91bnQAAQVYVG9vTWFueUFzc2V0c0JlaW5nU2VudAABBVRBc3NldEluZGV4Tm9uRXhpc3RlbnQAAQUwRmVlTm90RW5vdWdoAAEFUE5vdFN1cHBvcnRlZExvY2F0aW9uAAEFTE1pblhjbUZlZU5vdERlZmluZWQAAQUsUmF0ZUxpbWl0ZWQAAQUCDDRCYWxhbmNlVG9vTG93AAEFPEJhbGFuY2VPdmVyZmxvdwABBThVbmhhbmRsZWRBc3NldAABBQJERFRvb01hbnlDYW5kaWRhdGVzAAEFXFRvb0Zld0VsaWdpYmxlQ29sbGF0b3JzAAEFQEFscmVhZHlDYW5kaWRhdGUAAQUwTm90Q2FuZGlkYXRlAAEFUFRvb01hbnlJbnZ1bG5lcmFibGVzAAEFTEFscmVhZHlJbnZ1bG5lcmFibGUAAQU8Tm90SW52dWxuZXJhYmxlAAEFXE5vQXNzb2NpYXRlZFZhbGlkYXRvcklkAAEFWFZhbGlkYXRvck5vdFJlZ2lzdGVyZWQAAQVsSW5zZXJ0VG9DYW5kaWRhdGVMaXN0RmFpbGVkAAEFdFJlbW92ZUZyb21DYW5kaWRhdGVMaXN0RmFpbGVkAAEFNERlcG9zaXRUb29Mb3cAAQVkVXBkYXRlQ2FuZGlkYXRlTGlzdEZhaWxlZAABBUBJbnN1ZmZpY2llbnRCb25kAAEFUFRhcmdldElzTm90Q2FuZGlkYXRlAAEFQElkZW50aWNhbERlcG9zaXQAAQVASW52YWxpZFVucmVzZXJ2ZQABBQIUMEludmFsaWRQcm9vZgABBVxOb0Fzc29jaWF0ZWRWYWxpZGF0b3JJZAABBTREdXBsaWNhdGVkS2V5AAEFGE5vS2V5cwABBSROb0FjY291bnQAAQUCFFBUb29NYW55VW5pcXVlRW50cmllcwABBUBPblRyYWRlVmFsdWVaZXJvAAEFOE9yYWNsZU5vdEZvdW5kAAEFNEFzc2V0Tm90Rm91bmQAAQVgUHJpY2VPdXRzaWRlQWxsb3dlZFJhbmdlAAEFAghoRXhlY3V0aW9uQ2FsbFN0YWNrT3ZlcmZsb3cAAQVsRXhlY3V0aW9uQ2FsbFN0YWNrVW5kZXJmbG93AAEFAvQYU3lzdGVtAYEEIEJhbGFuY2VzAYUEXE11bHRpVHJhbnNhY3Rpb25QYXltZW50AYkEIFRyZWFzdXJ5AY0EHFV0aWxpdHkBkQQgUHJlaW1hZ2UBlQQgSWRlbnRpdHkBmQQkRGVtb2NyYWN5AZ0EJEVsZWN0aW9ucwGhBBxDb3VuY2lsAaUESFRlY2huaWNhbENvbW1pdHRlZQGlBBBUaXBzAakEFFByb3h5Aa0EIE11bHRpc2lnAbEEHFVuaXF1ZXMBtQRIU3RhdGVUcmllTWlncmF0aW9uAbkEQENvbnZpY3Rpb25Wb3RpbmcBvQQkUmVmZXJlbmRhAcEEJFdoaXRlbGlzdAHFBChEaXNwYXRjaGVyAAEFNEFzc2V0UmVnaXN0cnkByQQYQ2xhaW1zAc0EIE9tbmlwb29sAdEEQFRyYW5zYWN0aW9uUGF1c2UB1QQYRHVzdGVyAdkETE9tbmlwb29sV2FyZWhvdXNlTE0B3QRcT21uaXBvb2xMaXF1aWRpdHlNaW5pbmcB4QQMT1RDAeUEOENpcmN1aXRCcmVha2VyAekEGFJvdXRlcgHtBCxEeW5hbWljRmVlcwHcHFN0YWtpbmcB8QQoU3RhYmxlc3dhcAH1BBRCb25kcwH5BDhPdGNTZXR0bGVtZW50cwH9BAxMQlABAQUMWFlLAQUFJFJlZmVycmFscwEJBSxMaXF1aWRhdGlvbgENBRhUb2tlbnMBEQUoQ3VycmVuY2llcwEVBRxWZXN0aW5nARkFDEVWTQEdBSBFdGhlcmV1bQEhBSxFVk1BY2NvdW50cwElBUhYWUtMaXF1aWRpdHlNaW5pbmcBKQU4WFlLV2FyZWhvdXNlTE0B3QQMRENBAS0FJFNjaGVkdWxlcgExBTxQYXJhY2hhaW5TeXN0ZW0BNQUsUG9sa2Fkb3RYY20BOQUkWGNtcFF1ZXVlAT0FME1lc3NhZ2VRdWV1ZQFBBRxPcm1sWGNtAUUFHFhUb2tlbnMBSQU0VW5rbm93blRva2VucwFNBURDb2xsYXRvclNlbGVjdGlvbgFRBRxTZXNzaW9uAVUFEEF1cmEAAQUkRW1hT3JhY2xlAVkFJEJyb2FkY2FzdAFdBQIoQEZ1bmRzVW5hdmFpbGFibGUAAQUwT25seVByb3ZpZGVyAAEFMEJlbG93TWluaW11bQABBTBDYW5ub3RDcmVhdGUAAQUwVW5rbm93bkFzc2V0AAEFGEZyb3plbgABBSxVbnN1cHBvcnRlZAABBUBDYW5ub3RDcmVhdGVIb2xkAAEFNE5vdEV4cGVuZGFibGUAAQUcQmxvY2tlZAABBQIMJFVuZGVyZmxvdwABBSBPdmVyZmxvdwABBThEaXZpc2lvbkJ5WmVybwABBQIIMExpbWl0UmVhY2hlZAABBRxOb0xheWVyAAEFAjgUT3RoZXIAAQUwQ2Fubm90TG9va3VwAAEFJEJhZE9yaWdpbgABBRhNb2R1bGUBYQVEQ29uc3VtZXJSZW1haW5pbmcAAQUsTm9Qcm92aWRlcnMAAQVAVG9vTWFueUNvbnN1bWVycwABBRRUb2tlbgFlBShBcml0aG1ldGljAWkFNFRyYW5zYWN0aW9uYWwBbQUkRXhoYXVzdGVkAAEFKENvcnJ1cHRpb24AAQUsVW5hdmFpbGFibGUAAQU4Um9vdE5vdEFsbG93ZWQAAQUACCRwb3N0X2luZm99BBRlcnJvcnEFB30EdQUCDBhOb3JtYWwAAQUsT3BlcmF0aW9uYWwAAQUkTWFuZGF0b3J5AAEFAAwYd2VpZ2h0FBRjbGFzc30FIHBheXNfZmVleQQCHEBFeHRyaW5zaWNTdWNjZXNzAAAENGRpc3BhdGNoX2luZm+BBTxFeHRyaW5zaWNGYWlsZWQAAAg4ZGlzcGF0Y2hfZXJyb3JxBTRkaXNwYXRjaF9pbmZvgQUsQ29kZVVwZGF0ZWQAAQUoTmV3QWNjb3VudAAABBxhY2NvdW50ADRLaWxsZWRBY2NvdW50AAAEHGFjY291bnQAIFJlbWFya2VkAAAIGHNlbmRlcgAQaGFzaFREVXBncmFkZUF1dGhvcml6ZWQAAAgkY29kZV9oYXNoVDRjaGVja192ZXJzaW9uYAIIEEZyZWUAAQUgUmVzZXJ2ZWQAAQUCWBxFbmRvd2VkAAAIHGFjY291bnQAMGZyZWVfYmFsYW5jZQggRHVzdExvc3QAAAgcYWNjb3VudAAYYW1vdW50CCBUcmFuc2ZlcgAADBBmcm9tAAh0bwAYYW1vdW50CChCYWxhbmNlU2V0AAAIDHdobwAQZnJlZQggUmVzZXJ2ZWQAAAgMd2hvABhhbW91bnQIKFVucmVzZXJ2ZWQAAAgMd2hvABhhbW91bnQISFJlc2VydmVSZXBhdHJpYXRlZAAAEBBmcm9tAAh0bwAYYW1vdW50CEhkZXN0aW5hdGlvbl9zdGF0dXOJBRxEZXBvc2l0AAAIDHdobwAYYW1vdW50CCBXaXRoZHJhdwAACAx3aG8AGGFtb3VudAgcU2xhc2hlZAAACAx3aG8AGGFtb3VudAgYTWludGVkAAAIDHdobwAYYW1vdW50CBhCdXJuZWQAAAgMd2hvABhhbW91bnQIJFN1c3BlbmRlZAAACAx3aG8AGGFtb3VudAggUmVzdG9yZWQAAAgMd2hvABhhbW91bnQIIFVwZ3JhZGVkAAAEDHdobwAYSXNzdWVkAAAEGGFtb3VudAgkUmVzY2luZGVkAAAEGGFtb3VudAgYTG9ja2VkAAAIDHdobwAYYW1vdW50CCBVbmxvY2tlZAAACAx3aG8AGGFtb3VudAgYRnJvemVuAAAIDHdobwAYYW1vdW50CBhUaGF3ZWQAAAgMd2hvABhhbW91bnQITFRvdGFsSXNzdWFuY2VGb3JjZWQAAAgMb2xkCAxuZXcIAgRIVHJhbnNhY3Rpb25GZWVQYWlkAAAMDHdobwAoYWN0dWFsX2ZlZQgMdGlwCAIQLEN1cnJlbmN5U2V0AAAIKGFjY291bnRfaWQAIGFzc2V0X2lkBDRDdXJyZW5jeUFkZGVkAAAEIGFzc2V0X2lkBDxDdXJyZW5jeVJlbW92ZWQAAAQgYXNzZXRfaWQEMEZlZVdpdGhkcmF3bgAAFChhY2NvdW50X2lkACBhc3NldF9pZAREbmF0aXZlX2ZlZV9hbW91bnQIVG5vbl9uYXRpdmVfZmVlX2Ftb3VudAhYZGVzdGluYXRpb25fYWNjb3VudF9pZAACMCBTcGVuZGluZwAABEBidWRnZXRfcmVtYWluaW5nCBxBd2FyZGVkAAAMOHByb3Bvc2FsX2luZGV4BBRhd2FyZAgcYWNjb3VudAAUQnVybnQAAAQsYnVybnRfZnVuZHMIIFJvbGxvdmVyAAAEQHJvbGxvdmVyX2JhbGFuY2UIHERlcG9zaXQAAAQUdmFsdWUINFNwZW5kQXBwcm92ZWQAAAw4cHJvcG9zYWxfaW5kZXgEGGFtb3VudAgsYmVuZWZpY2lhcnkAPFVwZGF0ZWRJbmFjdGl2ZQAACCxyZWFjdGl2YXRlZAgsZGVhY3RpdmF0ZWQISEFzc2V0U3BlbmRBcHByb3ZlZAAAFBRpbmRleAQYYW1vdW50CCxiZW5lZmljaWFyeQAodmFsaWRfZnJvbQQkZXhwaXJlX2F0BEBBc3NldFNwZW5kVm9pZGVkAAAEFGluZGV4BBBQYWlkAAAEFGluZGV4BDRQYXltZW50RmFpbGVkAAAEFGluZGV4BDhTcGVuZFByb2Nlc3NlZAAABBRpbmRleAQH3HEFAhhAQmF0Y2hJbnRlcnJ1cHRlZAAACBRpbmRleAQUZXJyb3JxBThCYXRjaENvbXBsZXRlZAABBWBCYXRjaENvbXBsZXRlZFdpdGhFcnJvcnMAAQU0SXRlbUNvbXBsZXRlZAABBShJdGVtRmFpbGVkAAAEFGVycm9ycQUwRGlzcGF0Y2hlZEFzAAAEGHJlc3VsdJ0FAgwUTm90ZWQAAAQQaGFzaFQkUmVxdWVzdGVkAAAEEGhhc2hUHENsZWFyZWQAAAQQaGFzaFQCRCxJZGVudGl0eVNldAAABAx3aG8APElkZW50aXR5Q2xlYXJlZAAACAx3aG8AHGRlcG9zaXQIOElkZW50aXR5S2lsbGVkAAAIDHdobwAcZGVwb3NpdAhISnVkZ2VtZW50UmVxdWVzdGVkAAAIDHdobwA8cmVnaXN0cmFyX2luZGV4BFBKdWRnZW1lbnRVbnJlcXVlc3RlZAAACAx3aG8APHJlZ2lzdHJhcl9pbmRleAQ4SnVkZ2VtZW50R2l2ZW4AAAgYdGFyZ2V0ADxyZWdpc3RyYXJfaW5kZXgEOFJlZ2lzdHJhckFkZGVkAAAEPHJlZ2lzdHJhcl9pbmRleARAU3ViSWRlbnRpdHlBZGRlZAAADAxzdWIAEG1haW4AHGRlcG9zaXQISFN1YklkZW50aXR5UmVtb3ZlZAAADAxzdWIAEG1haW4AHGRlcG9zaXQISFN1YklkZW50aXR5UmV2b2tlZAAADAxzdWIAEG1haW4AHGRlcG9zaXQIOEF1dGhvcml0eUFkZGVkAAAEJGF1dGhvcml0eQBAQXV0aG9yaXR5UmVtb3ZlZAAABCRhdXRob3JpdHkALFVzZXJuYW1lU2V0AAAIDHdobwAgdXNlcm5hbWVEOFVzZXJuYW1lUXVldWVkAAAMDHdobwAgdXNlcm5hbWVEKGV4cGlyYXRpb24ESFByZWFwcHJvdmFsRXhwaXJlZAAABBR3aG9zZQBIUHJpbWFyeVVzZXJuYW1lU2V0AAAIDHdobwAgdXNlcm5hbWVEXERhbmdsaW5nVXNlcm5hbWVSZW1vdmVkAAAIDHdobwAgdXNlcm5hbWVEAgxQU3VwZXJNYWpvcml0eUFwcHJvdmUAAQVQU3VwZXJNYWpvcml0eUFnYWluc3QAAQU4U2ltcGxlTWFqb3JpdHkAAQUCRCBQcm9wb3NlZAAACDhwcm9wb3NhbF9pbmRleAQcZGVwb3NpdAgYVGFibGVkAAAIOHByb3Bvc2FsX2luZGV4BBxkZXBvc2l0CDhFeHRlcm5hbFRhYmxlZAABBRxTdGFydGVkAAAIJHJlZl9pbmRleAQkdGhyZXNob2xkrQUYUGFzc2VkAAAEJHJlZl9pbmRleAQkTm90UGFzc2VkAAAEJHJlZl9pbmRleAQkQ2FuY2VsbGVkAAAEJHJlZl9pbmRleAQkRGVsZWdhdGVkAAAIDHdobwAYdGFyZ2V0ACxVbmRlbGVnYXRlZAAABBxhY2NvdW50ABhWZXRvZWQAAAwMd2hvADRwcm9wb3NhbF9oYXNoVBR1bnRpbAQsQmxhY2tsaXN0ZWQAAAQ0cHJvcG9zYWxfaGFzaFQUVm90ZWQAAAwUdm90ZXIAJHJlZl9pbmRleAQQdm90ZZUBIFNlY29uZGVkAAAIIHNlY29uZGVyAChwcm9wX2luZGV4BEBQcm9wb3NhbENhbmNlbGVkAAAEKHByb3BfaW5kZXgELE1ldGFkYXRhU2V0AAAIFG93bmVynQEQaGFzaFQ8TWV0YWRhdGFDbGVhcmVkAAAIFG93bmVynQEQaGFzaFRMTWV0YWRhdGFUcmFuc2ZlcnJlZAAADChwcmV2X293bmVynQEUb3duZXKdARBoYXNoVAMIAAgEtQUAAhwcTmV3VGVybQAABCxuZXdfbWVtYmVyc7kFJEVtcHR5VGVybQABBTRFbGVjdGlvbkVycm9yAAEFME1lbWJlcktpY2tlZAAABBhtZW1iZXIAJFJlbm91bmNlZAAABCRjYW5kaWRhdGUAQENhbmRpZGF0ZVNsYXNoZWQAAAgkY2FuZGlkYXRlABhhbW91bnQIRFNlYXRIb2xkZXJTbGFzaGVkAAAILHNlYXRfaG9sZGVyABhhbW91bnQIAhwgUHJvcG9zZWQAABAcYWNjb3VudAA4cHJvcG9zYWxfaW5kZXgENHByb3Bvc2FsX2hhc2hUJHRocmVzaG9sZAQUVm90ZWQAABQcYWNjb3VudAA0cHJvcG9zYWxfaGFzaFQUdm90ZWRgDHllcwQIbm8EIEFwcHJvdmVkAAAENHByb3Bvc2FsX2hhc2hULERpc2FwcHJvdmVkAAAENHByb3Bvc2FsX2hhc2hUIEV4ZWN1dGVkAAAINHByb3Bvc2FsX2hhc2hUGHJlc3VsdJ0FOE1lbWJlckV4ZWN1dGVkAAAINHByb3Bvc2FsX2hhc2hUGHJlc3VsdJ0FGENsb3NlZAAADDRwcm9wb3NhbF9oYXNoVAx5ZXMECG5vBAIUGE5ld1RpcAAABCB0aXBfaGFzaFQoVGlwQ2xvc2luZwAABCB0aXBfaGFzaFQkVGlwQ2xvc2VkAAAMIHRpcF9oYXNoVAx3aG8AGHBheW91dAgwVGlwUmV0cmFjdGVkAAAEIHRpcF9oYXNoVChUaXBTbGFzaGVkAAAMIHRpcF9oYXNoVBhmaW5kZXIAHGRlcG9zaXQIAhQ0UHJveHlFeGVjdXRlZAAABBhyZXN1bHSdBSxQdXJlQ3JlYXRlZAAAEBBwdXJlAAx3aG8AKHByb3h5X3R5cGW9AVBkaXNhbWJpZ3VhdGlvbl9pbmRleAQkQW5ub3VuY2VkAAAMEHJlYWwAFHByb3h5ACRjYWxsX2hhc2hUKFByb3h5QWRkZWQAABAkZGVsZWdhdG9yACRkZWxlZ2F0ZWUAKHByb3h5X3R5cGW9ARRkZWxheQQwUHJveHlSZW1vdmVkAAAQJGRlbGVnYXRvcgAkZGVsZWdhdGVlAChwcm94eV90eXBlvQEUZGVsYXkEAhAsTmV3TXVsdGlzaWcAAAwkYXBwcm92aW5nACBtdWx0aXNpZwAkY2FsbF9oYXNoVEBNdWx0aXNpZ0FwcHJvdmFsAAAQJGFwcHJvdmluZwAkdGltZXBvaW50yQEgbXVsdGlzaWcAJGNhbGxfaGFzaFRATXVsdGlzaWdFeGVjdXRlZAAAFCRhcHByb3ZpbmcAJHRpbWVwb2ludMkBIG11bHRpc2lnACRjYWxsX2hhc2hUGHJlc3VsdJ0FRE11bHRpc2lnQ2FuY2VsbGVkAAAQKGNhbmNlbGxpbmcAJHRpbWVwb2ludMkBIG11bHRpc2lnACRjYWxsX2hhc2hUAmwcQ3JlYXRlZAAADChjb2xsZWN0aW9uCBxjcmVhdG9yABRvd25lcgAwRm9yY2VDcmVhdGVkAAAIKGNvbGxlY3Rpb24IFG93bmVyACREZXN0cm95ZWQAAAQoY29sbGVjdGlvbggYSXNzdWVkAAAMKGNvbGxlY3Rpb24IEGl0ZW0IFG93bmVyACxUcmFuc2ZlcnJlZAAAEChjb2xsZWN0aW9uCBBpdGVtCBBmcm9tAAh0bwAYQnVybmVkAAAMKGNvbGxlY3Rpb24IEGl0ZW0IFG93bmVyABhGcm96ZW4AAAgoY29sbGVjdGlvbggQaXRlbQgYVGhhd2VkAAAIKGNvbGxlY3Rpb24IEGl0ZW0IQENvbGxlY3Rpb25Gcm96ZW4AAAQoY29sbGVjdGlvbghAQ29sbGVjdGlvblRoYXdlZAAABChjb2xsZWN0aW9uCDBPd25lckNoYW5nZWQAAAgoY29sbGVjdGlvbggkbmV3X293bmVyACxUZWFtQ2hhbmdlZAAAEChjb2xsZWN0aW9uCBhpc3N1ZXIAFGFkbWluABxmcmVlemVyAEBBcHByb3ZlZFRyYW5zZmVyAAAQKGNvbGxlY3Rpb24IEGl0ZW0IFG93bmVyACBkZWxlZ2F0ZQBEQXBwcm92YWxDYW5jZWxsZWQAABAoY29sbGVjdGlvbggQaXRlbQgUb3duZXIAIGRlbGVnYXRlAERJdGVtU3RhdHVzQ2hhbmdlZAAABChjb2xsZWN0aW9uCFRDb2xsZWN0aW9uTWV0YWRhdGFTZXQAAAwoY29sbGVjdGlvbggQZGF0YUQkaXNfZnJvemVuYGRDb2xsZWN0aW9uTWV0YWRhdGFDbGVhcmVkAAAEKGNvbGxlY3Rpb24ILE1ldGFkYXRhU2V0AAAQKGNvbGxlY3Rpb24IEGl0ZW0IEGRhdGFEJGlzX2Zyb3plbmA8TWV0YWRhdGFDbGVhcmVkAAAIKGNvbGxlY3Rpb24IEGl0ZW0ILFJlZGVwb3NpdGVkAAAIKGNvbGxlY3Rpb24IQHN1Y2Nlc3NmdWxfaXRlbXPZATBBdHRyaWJ1dGVTZXQAABAoY29sbGVjdGlvbggobWF5YmVfaXRlbd0BDGtleUQUdmFsdWVEQEF0dHJpYnV0ZUNsZWFyZWQAAAwoY29sbGVjdGlvbggobWF5YmVfaXRlbd0BDGtleURoT3duZXJzaGlwQWNjZXB0YW5jZUNoYW5nZWQAAAgMd2hvAEBtYXliZV9jb2xsZWN0aW9u3QFYQ29sbGVjdGlvbk1heFN1cHBseVNldAAACChjb2xsZWN0aW9uCChtYXhfc3VwcGx5BDBJdGVtUHJpY2VTZXQAABAoY29sbGVjdGlvbggQaXRlbQgUcHJpY2UIRHdoaXRlbGlzdGVkX2J1eWVysQFASXRlbVByaWNlUmVtb3ZlZAAACChjb2xsZWN0aW9uCBBpdGVtCChJdGVtQm91Z2h0AAAUKGNvbGxlY3Rpb24IEGl0ZW0IFHByaWNlCBhzZWxsZXIAFGJ1eWVyAAIIGFNpZ25lZAABBRBBdXRvAAEFAhAgTWlncmF0ZWQAAAwMdG9wBBRjaGlsZAQcY29tcHV0ZdUFHFNsYXNoZWQAAAgMd2hvABhhbW91bnQIVEF1dG9NaWdyYXRpb25GaW5pc2hlZAABBRhIYWx0ZWQAAAQUZXJyb3K5BAIQJERlbGVnYXRlZAAEAAEILFVuZGVsZWdhdGVkAQAUVm90ZWQAAAgMd2hvABB2b3Rl+QEsVm90ZVJlbW92ZWQAAAgMd2hvABB2b3Rl+QEADBBheWVzCBBuYXlzCBxzdXBwb3J0CAJAJFN1Ym1pdHRlZAAADBRpbmRleAQUdHJhY2sEIHByb3Bvc2FskQFURGVjaXNpb25EZXBvc2l0UGxhY2VkAAAMFGluZGV4BAx3aG8AGGFtb3VudAhcRGVjaXNpb25EZXBvc2l0UmVmdW5kZWQAAAwUaW5kZXgEDHdobwAYYW1vdW50CDhEZXBvc2l0U2xhc2hlZAAACAx3aG8AGGFtb3VudAg8RGVjaXNpb25TdGFydGVkAAAQFGluZGV4BBR0cmFjawQgcHJvcG9zYWyRARR0YWxseeEFOENvbmZpcm1TdGFydGVkAAAEFGluZGV4BDhDb25maXJtQWJvcnRlZAAABBRpbmRleAQkQ29uZmlybWVkAAAIFGluZGV4BBR0YWxseeEFIEFwcHJvdmVkAAAEFGluZGV4BCBSZWplY3RlZAAACBRpbmRleAQUdGFsbHnhBSBUaW1lZE91dAAACBRpbmRleAQUdGFsbHnhBSRDYW5jZWxsZWQAAAgUaW5kZXgEFHRhbGx54QUYS2lsbGVkAAAIFGluZGV4BBR0YWxseeEFZFN1Ym1pc3Npb25EZXBvc2l0UmVmdW5kZWQAAAwUaW5kZXgEDHdobwAYYW1vdW50CCxNZXRhZGF0YVNldAAACBRpbmRleAQQaGFzaFQ8TWV0YWRhdGFDbGVhcmVkAAAIFGluZGV4BBBoYXNoVAIMPENhbGxXaGl0ZWxpc3RlZAAABCRjYWxsX2hhc2hUWFdoaXRlbGlzdGVkQ2FsbFJlbW92ZWQAAAQkY2FsbF9oYXNoVGRXaGl0ZWxpc3RlZENhbGxEaXNwYXRjaGVkAAAIJGNhbGxfaGFzaFQYcmVzdWx0eQUCCHRUcmVhc3VyeU1hbmFnZXJDYWxsRGlzcGF0Y2hlZAAACCRjYWxsX2hhc2hUGHJlc3VsdHkFZEFhdmVNYW5hZ2VyQ2FsbERpc3BhdGNoZWQAAAgkY2FsbF9oYXNoVBhyZXN1bHR5BQIYWEV4aXN0ZW50aWFsRGVwb3NpdFBhaWQAAAwMd2hvACRmZWVfYXNzZXQEGGFtb3VudAgoUmVnaXN0ZXJlZAAAICBhc3NldF9pZAQoYXNzZXRfbmFtZRECKGFzc2V0X3R5cGUVAkxleGlzdGVudGlhbF9kZXBvc2l0CDh4Y21fcmF0ZV9saW1pdN0BGHN5bWJvbBECIGRlY2ltYWxzfDRpc19zdWZmaWNpZW50YBxVcGRhdGVkAAAgIGFzc2V0X2lkBChhc3NldF9uYW1lEQIoYXNzZXRfdHlwZRUCTGV4aXN0ZW50aWFsX2RlcG9zaXQIOHhjbV9yYXRlX2xpbWl03QEYc3ltYm9sEQIgZGVjaW1hbHN8NGlzX3N1ZmZpY2llbnRgLExvY2F0aW9uU2V0AAAIIGFzc2V0X2lkBCBsb2NhdGlvbtAsQXNzZXRCYW5uZWQAAAQgYXNzZXRfaWQENEFzc2V0VW5iYW5uZWQAAAQgYXNzZXRfaWQEAgQUQ2xhaW0AAwwAcAgCBEBDb2xsYXRvclJld2FyZGVkAAAMDHdobwAYYW1vdW50CCBjdXJyZW5jeQQCNChUb2tlbkFkZGVkAAAMIGFzc2V0X2lkBDhpbml0aWFsX2Ftb3VudAg0aW5pdGlhbF9wcmljZQgwVG9rZW5SZW1vdmVkAAAMIGFzc2V0X2lkBBhhbW91bnQINGh1Yl93aXRoZHJhd24IOExpcXVpZGl0eUFkZGVkAAAQDHdobwAgYXNzZXRfaWQEGGFtb3VudAgscG9zaXRpb25faWQIQExpcXVpZGl0eVJlbW92ZWQAABQMd2hvACxwb3NpdGlvbl9pZAggYXNzZXRfaWQEOHNoYXJlc19yZW1vdmVkCAxmZWUIYFByb3RvY29sTGlxdWlkaXR5UmVtb3ZlZAAAFAx3aG8AIGFzc2V0X2lkBBhhbW91bnQIKGh1Yl9hbW91bnQIOHNoYXJlc19yZW1vdmVkCDBTZWxsRXhlY3V0ZWQAACQMd2hvACBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQINGh1Yl9hbW91bnRfaW4IOGh1Yl9hbW91bnRfb3V0CEBhc3NldF9mZWVfYW1vdW50CExwcm90b2NvbF9mZWVfYW1vdW50CCxCdXlFeGVjdXRlZAAAJAx3aG8AIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbggoYW1vdW50X291dAg0aHViX2Ftb3VudF9pbgg4aHViX2Ftb3VudF9vdXQIQGFzc2V0X2ZlZV9hbW91bnQITHByb3RvY29sX2ZlZV9hbW91bnQIPFBvc2l0aW9uQ3JlYXRlZAAAGCxwb3NpdGlvbl9pZAgUb3duZXIAFGFzc2V0BBhhbW91bnQIGHNoYXJlcwgUcHJpY2UIRFBvc2l0aW9uRGVzdHJveWVkAAAILHBvc2l0aW9uX2lkCBRvd25lcgA8UG9zaXRpb25VcGRhdGVkAAAYLHBvc2l0aW9uX2lkCBRvd25lcgAUYXNzZXQEGGFtb3VudAgYc2hhcmVzCBRwcmljZQhQVHJhZGFibGVTdGF0ZVVwZGF0ZWQAAAggYXNzZXRfaWQEFHN0YXRlBDRBc3NldFJlZnVuZGVkAAAMIGFzc2V0X2lkBBhhbW91bnQIJHJlY2lwaWVudABUQXNzZXRXZWlnaHRDYXBVcGRhdGVkAAAIIGFzc2V0X2lkBAxjYXAEAghEVHJhbnNhY3Rpb25QYXVzZWQAAAhEcGFsbGV0X25hbWVfYnl0ZXNETGZ1bmN0aW9uX25hbWVfYnl0ZXNETFRyYW5zYWN0aW9uVW5wYXVzZWQAAAhEcGFsbGV0X25hbWVfYnl0ZXNETGZ1bmN0aW9uX25hbWVfYnl0ZXNEAgwYRHVzdGVkAAAIDHdobwAYYW1vdW50CBRBZGRlZAAABAx3aG8AHFJlbW92ZWQAAAQMd2hvAAIMXEdsb2JhbEZhcm1BY2NSUFpVcGRhdGVkAAAMOGdsb2JhbF9mYXJtX2lkBDxhY2N1bXVsYXRlZF9ycHoIOHRvdGFsX3NoYXJlc196CFxZaWVsZEZhcm1BY2NSUFZTVXBkYXRlZAAAEDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZARAYWNjdW11bGF0ZWRfcnB2cwhMdG90YWxfdmFsdWVkX3NoYXJlcwhUQWxsUmV3YXJkc0Rpc3RyaWJ1dGVkAAAEOGdsb2JhbF9mYXJtX2lkBAI0REdsb2JhbEZhcm1DcmVhdGVkAAAoCGlkBBRvd25lcgA0dG90YWxfcmV3YXJkcwg8cmV3YXJkX2N1cnJlbmN5BEB5aWVsZF9wZXJfcGVyaW9kCGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMERGJsb2Nrc19wZXJfcGVyaW9kBFRtYXhfcmV3YXJkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CFRscm5hX3ByaWNlX2FkanVzdG1lbnQIREdsb2JhbEZhcm1VcGRhdGVkAAAQCGlkBGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMEQHlpZWxkX3Blcl9wZXJpb2QILG1pbl9kZXBvc2l0CFBHbG9iYWxGYXJtVGVybWluYXRlZAAAEDhnbG9iYWxfZmFybV9pZAQMd2hvADxyZXdhcmRfY3VycmVuY3kEVHVuZGlzdHJpYnV0ZWRfcmV3YXJkcwhAWWllbGRGYXJtQ3JlYXRlZAAAFDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQgYXNzZXRfaWQEKG11bHRpcGxpZXIINGxveWFsdHlfY3VydmVBAkBZaWVsZEZhcm1VcGRhdGVkAAAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQMd2hvAChtdWx0aXBsaWVyCEBZaWVsZEZhcm1TdG9wcGVkAAAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQMd2hvAEBZaWVsZEZhcm1SZXN1bWVkAAAUOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQMd2hvAChtdWx0aXBsaWVyCExZaWVsZEZhcm1UZXJtaW5hdGVkAAAQOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBCBhc3NldF9pZAQMd2hvADxTaGFyZXNEZXBvc2l0ZWQAABw4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKGRlcG9zaXRfaWQIIGFzc2V0X2lkBAx3aG8ANHNoYXJlc19hbW91bnQILHBvc2l0aW9uX2lkCERTaGFyZXNSZWRlcG9zaXRlZAAAHDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQoZGVwb3NpdF9pZAggYXNzZXRfaWQEDHdobwA0c2hhcmVzX2Ftb3VudAgscG9zaXRpb25faWQINFJld2FyZENsYWltZWQAABg4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAcY2xhaW1lZAg8cmV3YXJkX2N1cnJlbmN5BChkZXBvc2l0X2lkCDxTaGFyZXNXaXRoZHJhd24AABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAYYW1vdW50CChkZXBvc2l0X2lkCEBEZXBvc2l0RGVzdHJveWVkAAAIDHdobwAoZGVwb3NpdF9pZAgCECRDYW5jZWxsZWQAAAQgb3JkZXJfaWQEGEZpbGxlZAAAFCBvcmRlcl9pZAQMd2hvACRhbW91bnRfaW4IKGFtb3VudF9vdXQIDGZlZQg8UGFydGlhbGx5RmlsbGVkAAAUIG9yZGVyX2lkBAx3aG8AJGFtb3VudF9pbggoYW1vdW50X291dAgMZmVlCBhQbGFjZWQAABggb3JkZXJfaWQEIGFzc2V0X2luBCRhc3NldF9vdXQEJGFtb3VudF9pbggoYW1vdW50X291dAhIcGFydGlhbGx5X2ZpbGxhYmxlYAIMXFRyYWRlVm9sdW1lTGltaXRDaGFuZ2VkAAAIIGFzc2V0X2lkBEh0cmFkZV92b2x1bWVfbGltaXRFAmBBZGRMaXF1aWRpdHlMaW1pdENoYW5nZWQAAAggYXNzZXRfaWQEPGxpcXVpZGl0eV9saW1pdGUCbFJlbW92ZUxpcXVpZGl0eUxpbWl0Q2hhbmdlZAAACCBhc3NldF9pZAQ8bGlxdWlkaXR5X2xpbWl0ZQICCCBFeGVjdXRlZAAAFCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQIIGV2ZW50X2lkBDBSb3V0ZVVwZGF0ZWQAAAQkYXNzZXRfaWRzTQICGDxQb3NpdGlvbkNyZWF0ZWQAAAwMd2hvACxwb3NpdGlvbl9pZAgUc3Rha2UIKFN0YWtlQWRkZWQAABwMd2hvACxwb3NpdGlvbl9pZAgUc3Rha2UILHRvdGFsX3N0YWtlCDhsb2NrZWRfcmV3YXJkcwg4c2xhc2hlZF9wb2ludHMISHBheWFibGVfcGVyY2VudGFnZQg4UmV3YXJkc0NsYWltZWQAABwMd2hvACxwb3NpdGlvbl9pZAgwcGFpZF9yZXdhcmRzCEB1bmxvY2tlZF9yZXdhcmRzCDhzbGFzaGVkX3BvaW50cwhYc2xhc2hlZF91bnBhaWRfcmV3YXJkcwhIcGF5YWJsZV9wZXJjZW50YWdlCCBVbnN0YWtlZAAADAx3aG8ALHBvc2l0aW9uX2lkCDh1bmxvY2tlZF9zdGFrZQhIU3Rha2luZ0luaXRpYWxpemVkAAAEUG5vbl9kdXN0YWJsZV9iYWxhbmNlCFRBY2N1bXVsYXRlZFJwc1VwZGF0ZWQAAAg8YWNjdW11bGF0ZWRfcnBzCCx0b3RhbF9zdGFrZQgELQIAAAwYc291cmNlkQI4bWF4X3BlZ191cGRhdGUEHGN1cnJlbnQhBgYlBgIkLFBvb2xDcmVhdGVkAAAUHHBvb2xfaWQEGGFzc2V0c00CNGFtcGxpZmljYXRpb24EDGZlZQQMcGVnKQYoRmVlVXBkYXRlZAAACBxwb29sX2lkBAxmZWUEOExpcXVpZGl0eUFkZGVkAAAQHHBvb2xfaWQEDHdobwAYc2hhcmVzCBhhc3NldHNVAkBMaXF1aWRpdHlSZW1vdmVkAAAUHHBvb2xfaWQEDHdobwAYc2hhcmVzCBxhbW91bnRzVQIMZmVlCDBTZWxsRXhlY3V0ZWQAABwMd2hvABxwb29sX2lkBCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQIDGZlZQgsQnV5RXhlY3V0ZWQAABwMd2hvABxwb29sX2lkBCBhc3NldF9pbgQkYXNzZXRfb3V0BCRhbW91bnRfaW4IKGFtb3VudF9vdXQIDGZlZQhQVHJhZGFibGVTdGF0ZVVwZGF0ZWQAAAwccG9vbF9pZAQgYXNzZXRfaWQEFHN0YXRlBFRBbXBsaWZpY2F0aW9uQ2hhbmdpbmcAABQccG9vbF9pZARUY3VycmVudF9hbXBsaWZpY2F0aW9uBExmaW5hbF9hbXBsaWZpY2F0aW9uBCxzdGFydF9ibG9jawQkZW5kX2Jsb2NrBDRQb29sRGVzdHJveWVkAAAEHHBvb2xfaWQEAgwwVG9rZW5DcmVhdGVkAAAQGGlzc3VlcgAgYXNzZXRfaWQEHGJvbmRfaWQEIG1hdHVyaXR5CBhJc3N1ZWQAABAYaXNzdWVyABxib25kX2lkBBhhbW91bnQIDGZlZQggUmVkZWVtZWQAAAwMd2hvABxib25kX2lkBBhhbW91bnQIAgQgRXhlY3V0ZWQAAAggYXNzZXRfaWQEGHByb2ZpdAgCGCxQb29sQ3JlYXRlZAAACBBwb29sABBkYXRhYQQsUG9vbFVwZGF0ZWQAAAgQcG9vbAAQZGF0YWEEOExpcXVpZGl0eUFkZGVkAAAUDHdobwAcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EIIGFtb3VudF9iCEBMaXF1aWRpdHlSZW1vdmVkAAAUDHdobwAcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EIIGFtb3VudF9iCDBTZWxsRXhlY3V0ZWQAABwMd2hvACBhc3NldF9pbgQkYXNzZXRfb3V0BBhhbW91bnQIKHNhbGVfcHJpY2UIJGZlZV9hc3NldAQoZmVlX2Ftb3VudAgsQnV5RXhlY3V0ZWQAABwMd2hvACRhc3NldF9vdXQEIGFzc2V0X2luBBhhbW91bnQIJGJ1eV9wcmljZQgkZmVlX2Fzc2V0BChmZWVfYW1vdW50CAIYOExpcXVpZGl0eUFkZGVkAAAUDHdobwAcYXNzZXRfYQQcYXNzZXRfYgQgYW1vdW50X2EIIGFtb3VudF9iCEBMaXF1aWRpdHlSZW1vdmVkAAAQDHdobwAcYXNzZXRfYQQcYXNzZXRfYgQYc2hhcmVzCCxQb29sQ3JlYXRlZAAAGAx3aG8AHGFzc2V0X2EEHGFzc2V0X2IEVGluaXRpYWxfc2hhcmVzX2Ftb3VudAgsc2hhcmVfdG9rZW4EEHBvb2wANFBvb2xEZXN0cm95ZWQAABQMd2hvABxhc3NldF9hBBxhc3NldF9iBCxzaGFyZV90b2tlbgQQcG9vbAAwU2VsbEV4ZWN1dGVkAAAgDHdobwAgYXNzZXRfaW4EJGFzc2V0X291dAQYYW1vdW50CChzYWxlX3ByaWNlCCRmZWVfYXNzZXQEKGZlZV9hbW91bnQIEHBvb2wALEJ1eUV4ZWN1dGVkAAAgDHdobwAkYXNzZXRfb3V0BCBhc3NldF9pbgQYYW1vdW50CCRidXlfcHJpY2UIJGZlZV9hc3NldAQoZmVlX2Ftb3VudAgQcG9vbAACGDhDb2RlUmVnaXN0ZXJlZAAACBBjb2RlRBxhY2NvdW50AChDb2RlTGlua2VkAAAMHGFjY291bnQAEGNvZGVEQHJlZmVycmFsX2FjY291bnQAJENvbnZlcnRlZAAACBBmcm9tUQIIdG9RAhxDbGFpbWVkAAAMDHdobwBAcmVmZXJyZXJfcmV3YXJkcwg0dHJhZGVfcmV3YXJkcwhMQXNzZXRSZXdhcmRzVXBkYXRlZAAADCBhc3NldF9pZAQUbGV2ZWyxAhxyZXdhcmRztQIcTGV2ZWxVcAAACAx3aG8AFGxldmVssQICBChMaXF1aWRhdGVkAAAUEHVzZXJwQGNvbGxhdGVyYWxfYXNzZXQEKGRlYnRfYXNzZXQENGRlYnRfdG9fY292ZXIIGHByb2ZpdAgCRBxFbmRvd2VkAAAMLGN1cnJlbmN5X2lkBAx3aG8AGGFtb3VudAggRHVzdExvc3QAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CCBUcmFuc2ZlcgAAECxjdXJyZW5jeV9pZAQQZnJvbQAIdG8AGGFtb3VudAggUmVzZXJ2ZWQAAAwsY3VycmVuY3lfaWQEDHdobwAYYW1vdW50CChVbnJlc2VydmVkAAAMLGN1cnJlbmN5X2lkBAx3aG8AGGFtb3VudAhIUmVzZXJ2ZVJlcGF0cmlhdGVkAAAULGN1cnJlbmN5X2lkBBBmcm9tAAh0bwAYYW1vdW50CBhzdGF0dXOJBShCYWxhbmNlU2V0AAAQLGN1cnJlbmN5X2lkBAx3aG8AEGZyZWUIIHJlc2VydmVkCEBUb3RhbElzc3VhbmNlU2V0AAAILGN1cnJlbmN5X2lkBBhhbW91bnQIJFdpdGhkcmF3bgAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIHFNsYXNoZWQAABAsY3VycmVuY3lfaWQEDHdobwAsZnJlZV9hbW91bnQIPHJlc2VydmVkX2Ftb3VudAgkRGVwb3NpdGVkAAAMLGN1cnJlbmN5X2lkBAx3aG8AGGFtb3VudAgcTG9ja1NldAAAEBxsb2NrX2lkNCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQILExvY2tSZW1vdmVkAAAMHGxvY2tfaWQ0LGN1cnJlbmN5X2lkBAx3aG8AGExvY2tlZAAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIIFVubG9ja2VkAAAMLGN1cnJlbmN5X2lkBAx3aG8AGGFtb3VudAgYSXNzdWVkAAAILGN1cnJlbmN5X2lkBBhhbW91bnQIJFJlc2NpbmRlZAAACCxjdXJyZW5jeV9pZAQYYW1vdW50CAIQLFRyYW5zZmVycmVkAAAQLGN1cnJlbmN5X2lkBBBmcm9tAAh0bwAYYW1vdW50CDhCYWxhbmNlVXBkYXRlZAAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIJERlcG9zaXRlZAAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIJFdpdGhkcmF3bgAADCxjdXJyZW5jeV9pZAQMd2hvABhhbW91bnQIAgxQVmVzdGluZ1NjaGVkdWxlQWRkZWQAAAwQZnJvbQAIdG8AQHZlc3Rpbmdfc2NoZWR1bGXJAhxDbGFpbWVkAAAIDHdobwAYYW1vdW50CFxWZXN0aW5nU2NoZWR1bGVzVXBkYXRlZAAABAx3aG8AAhQMTG9nAAAEDGxvZ20EHENyZWF0ZWQAAAQcYWRkcmVzc3A0Q3JlYXRlZEZhaWxlZAAABBxhZGRyZXNzcCBFeGVjdXRlZAAABBxhZGRyZXNzcDhFeGVjdXRlZEZhaWxlZAAABBxhZGRyZXNzcAIMHFN0b3BwZWQAAQUgUmV0dXJuZWQAAQUgU3VpY2lkZWQAAQUCQDhTdGFja1VuZGVyZmxvdwABBTRTdGFja092ZXJmbG93AAEFLEludmFsaWRKdW1wAAEFMEludmFsaWRSYW5nZQABBUREZXNpZ25hdGVkSW52YWxpZAABBSxDYWxsVG9vRGVlcAABBTxDcmVhdGVDb2xsaXNpb24AAQVMQ3JlYXRlQ29udHJhY3RMaW1pdAABBSxJbnZhbGlkQ29kZQEELE91dE9mT2Zmc2V0AAEFIE91dE9mR2FzAAEFJE91dE9mRnVuZAABBSxQQ1VuZGVyZmxvdwABBSxDcmVhdGVFbXB0eQABBRRPdGhlcgEwIE1heE5vbmNlAAEFAgQgUmV2ZXJ0ZWQAAQUCEDBOb3RTdXBwb3J0ZWQAAQVIVW5oYW5kbGVkSW50ZXJydXB0AAEFQENhbGxFcnJvckFzRmF0YWwBXQYUT3RoZXIBMAIQHFN1Y2NlZWQBWQYURXJyb3IBXQYYUmV2ZXJ0AWEGFEZhdGFsAWUGAgQgRXhlY3V0ZWQAABQQZnJvbXAIdG9wQHRyYW5zYWN0aW9uX2hhc2hULGV4aXRfcmVhc29uaQYoZXh0cmFfZGF0YUQCFBRCb3VuZAAACBxhY2NvdW50ABxhZGRyZXNzcDREZXBsb3llckFkZGVkAAAEDHdob3A8RGVwbG95ZXJSZW1vdmVkAAAEDHdob3BAQ29udHJhY3RBcHByb3ZlZAAABBxhZGRyZXNzcExDb250cmFjdERpc2FwcHJvdmVkAAAEHGFkZHJlc3NwAjRER2xvYmFsRmFybUNyZWF0ZWQAACwIaWQEFG93bmVyADR0b3RhbF9yZXdhcmRzCDxyZXdhcmRfY3VycmVuY3kEQHlpZWxkX3Blcl9wZXJpb2QIYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcwREYmxvY2tzX3Blcl9wZXJpb2QESGluY2VudGl2aXplZF9hc3NldARUbWF4X3Jld2FyZF9wZXJfcGVyaW9kCCxtaW5fZGVwb3NpdAhAcHJpY2VfYWRqdXN0bWVudAhER2xvYmFsRmFybVVwZGF0ZWQAAAgIaWQEQHByaWNlX2FkanVzdG1lbnQIQFlpZWxkRmFybUNyZWF0ZWQAABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEKG11bHRpcGxpZXIIKGFzc2V0X3BhaXJ5AjRsb3lhbHR5X2N1cnZlQQJQR2xvYmFsRmFybVRlcm1pbmF0ZWQAABA4Z2xvYmFsX2Zhcm1faWQEDHdobwA8cmV3YXJkX2N1cnJlbmN5BFR1bmRpc3RyaWJ1dGVkX3Jld2FyZHMIPFNoYXJlc0RlcG9zaXRlZAAAGDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvABhhbW91bnQIIGxwX3Rva2VuBChkZXBvc2l0X2lkCERTaGFyZXNSZWRlcG9zaXRlZAAAGDhnbG9iYWxfZmFybV9pZAQ0eWllbGRfZmFybV9pZAQMd2hvABhhbW91bnQIIGxwX3Rva2VuBChkZXBvc2l0X2lkCDRSZXdhcmRDbGFpbWVkAAAYOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AHGNsYWltZWQIPHJld2FyZF9jdXJyZW5jeQQoZGVwb3NpdF9pZAg8U2hhcmVzV2l0aGRyYXduAAAYOGdsb2JhbF9mYXJtX2lkBDR5aWVsZF9mYXJtX2lkBAx3aG8AIGxwX3Rva2VuBBhhbW91bnQIKGRlcG9zaXRfaWQIQFlpZWxkRmFybVN0b3BwZWQAABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAoYXNzZXRfcGFpcnkCQFlpZWxkRmFybVJlc3VtZWQAABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAoYXNzZXRfcGFpcnkCKG11bHRpcGxpZXIITFlpZWxkRmFybVRlcm1pbmF0ZWQAABA4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAoYXNzZXRfcGFpcnkCQFlpZWxkRmFybVVwZGF0ZWQAABQ4Z2xvYmFsX2Zhcm1faWQENHlpZWxkX2Zhcm1faWQEDHdobwAoYXNzZXRfcGFpcnkCKG11bHRpcGxpZXIIQERlcG9zaXREZXN0cm95ZWQAAAgMd2hvAChkZXBvc2l0X2lkCAIETEN1cnJlbnRCbG9ja051bWJlcnMAAAhYcGFyYWNoYWluX2Jsb2NrX251bWJlcgRccmVsYXljaGFpbl9ibG9ja19udW1iZXIEAiBARXhlY3V0aW9uU3RhcnRlZAAACAhpZAQUYmxvY2sEJFNjaGVkdWxlZAAAFAhpZAQMd2hvABhwZXJpb2QEMHRvdGFsX2Ftb3VudAgUb3JkZXIRA0BFeGVjdXRpb25QbGFubmVkAAAMCGlkBAx3aG8AFGJsb2NrBDRUcmFkZUV4ZWN1dGVkAAAQCGlkBAx3aG8AJGFtb3VudF9pbggoYW1vdW50X291dAgsVHJhZGVGYWlsZWQAAAwIaWQEDHdobwAUZXJyb3JxBShUZXJtaW5hdGVkAAAMCGlkBAx3aG8AFGVycm9ycQUkQ29tcGxldGVkAAAICGlkBAx3aG8AaFJhbmRvbW5lc3NHZW5lcmF0aW9uRmFpbGVkAAAIFGJsb2NrBBRlcnJvcnEFAiQkU2NoZWR1bGVkAAAIEHdoZW4EFGluZGV4BCBDYW5jZWxlZAAACBB3aGVuBBRpbmRleAQoRGlzcGF0Y2hlZAAADBB0YXNrRQIIaWShARhyZXN1bHSdBSBSZXRyeVNldAAAEBB0YXNrRQIIaWShARhwZXJpb2QEHHJldHJpZXMEOFJldHJ5Q2FuY2VsbGVkAAAIEHRhc2tFAghpZKEBPENhbGxVbmF2YWlsYWJsZQAACBB0YXNrRQIIaWShAThQZXJpb2RpY0ZhaWxlZAAACBB0YXNrRQIIaWShASxSZXRyeUZhaWxlZAAACBB0YXNrRQIIaWShAVRQZXJtYW5lbnRseU92ZXJ3ZWlnaHQAAAgQdGFza0UCCGlkoQECGGBWYWxpZGF0aW9uRnVuY3Rpb25TdG9yZWQAAQVkVmFsaWRhdGlvbkZ1bmN0aW9uQXBwbGllZAAABFRyZWxheV9jaGFpbl9ibG9ja19udW0EbFZhbGlkYXRpb25GdW5jdGlvbkRpc2NhcmRlZAABBWBEb3dud2FyZE1lc3NhZ2VzUmVjZWl2ZWQAAAQUY291bnQEZERvd253YXJkTWVzc2FnZXNQcm9jZXNzZWQAAAgsd2VpZ2h0X3VzZWQUIGRtcV9oZWFkVERVcHdhcmRNZXNzYWdlU2VudAAABDBtZXNzYWdlX2hhc2ihAQIMIENvbXBsZXRlAAAEEHVzZWQUKEluY29tcGxldGUAAAgQdXNlZBQUZXJyb3KxAxRFcnJvcgAABBRlcnJvcrEDAmAkQXR0ZW1wdGVkAAAEHG91dGNvbWWJBhBTZW50AAAQGG9yaWdpbtAsZGVzdGluYXRpb27QHG1lc3NhZ2X9AyhtZXNzYWdlX2lkVEhVbmV4cGVjdGVkUmVzcG9uc2UAAAgYb3JpZ2lu0CBxdWVyeV9pZAg0UmVzcG9uc2VSZWFkeQAACCBxdWVyeV9pZAggcmVzcG9uc2XtAyBOb3RpZmllZAAADCBxdWVyeV9pZAgwcGFsbGV0X2luZGV4BChjYWxsX2luZGV4BEBOb3RpZnlPdmVyd2VpZ2h0AAAUIHF1ZXJ5X2lkCDBwYWxsZXRfaW5kZXgEKGNhbGxfaW5kZXgENGFjdHVhbF93ZWlnaHQUTG1heF9idWRnZXRlZF93ZWlnaHQUTE5vdGlmeURpc3BhdGNoRXJyb3IAAAwgcXVlcnlfaWQIMHBhbGxldF9pbmRleAQoY2FsbF9pbmRleARITm90aWZ5RGVjb2RlRmFpbGVkAAAMIHF1ZXJ5X2lkCDBwYWxsZXRfaW5kZXgEKGNhbGxfaW5kZXgEQEludmFsaWRSZXNwb25kZXIAAAwYb3JpZ2lu0CBxdWVyeV9pZAhEZXhwZWN0ZWRfbG9jYXRpb24ZAlxJbnZhbGlkUmVzcG9uZGVyVmVyc2lvbgAACBhvcmlnaW7QIHF1ZXJ5X2lkCDRSZXNwb25zZVRha2VuAAAEIHF1ZXJ5X2lkCDRBc3NldHNUcmFwcGVkAAAMEGhhc2hUGG9yaWdpbtAYYXNzZXRzBQRUVmVyc2lvbkNoYW5nZU5vdGlmaWVkAAAQLGRlc3RpbmF0aW9u0BhyZXN1bHQEEGNvc3TpAyhtZXNzYWdlX2lkVFxTdXBwb3J0ZWRWZXJzaW9uQ2hhbmdlZAAACCBsb2NhdGlvbtAcdmVyc2lvbgRQTm90aWZ5VGFyZ2V0U2VuZEZhaWwAAAwgbG9jYXRpb27QIHF1ZXJ5X2lkCBRlcnJvcrEDZE5vdGlmeVRhcmdldE1pZ3JhdGlvbkZhaWwAAAggbG9jYXRpb25ZAyBxdWVyeV9pZAhUSW52YWxpZFF1ZXJpZXJWZXJzaW9uAAAIGG9yaWdpbtAgcXVlcnlfaWQIOEludmFsaWRRdWVyaWVyAAAQGG9yaWdpbtAgcXVlcnlfaWQIQGV4cGVjdGVkX3F1ZXJpZXLQUG1heWJlX2FjdHVhbF9xdWVyaWVyGQJQVmVyc2lvbk5vdGlmeVN0YXJ0ZWQAAAwsZGVzdGluYXRpb27QEGNvc3TpAyhtZXNzYWdlX2lkVFhWZXJzaW9uTm90aWZ5UmVxdWVzdGVkAAAMLGRlc3RpbmF0aW9u0BBjb3N06QMobWVzc2FnZV9pZFRgVmVyc2lvbk5vdGlmeVVucmVxdWVzdGVkAAAMLGRlc3RpbmF0aW9u0BBjb3N06QMobWVzc2FnZV9pZFQgRmVlc1BhaWQAAAgYcGF5aW5n0BBmZWVz6QM0QXNzZXRzQ2xhaW1lZAAADBBoYXNoVBhvcmlnaW7QGGFzc2V0cwUEYFZlcnNpb25NaWdyYXRpb25GaW5pc2hlZAAABBx2ZXJzaW9uBAIMNEludmFsaWRGb3JtYXQBVEhVbnN1cHBvcnRlZFZlcnNpb24BVEBFeGVjdXRlZERvd253YXJkAAMIVIkGAgQ8WGNtcE1lc3NhZ2VTZW50AAAEMG1lc3NhZ2VfaGFzaFQCGCRCYWRGb3JtYXQAAQUcQ29ycnVwdAABBSxVbnN1cHBvcnRlZAABBShPdmVyd2VpZ2h0ARQUWWllbGQAAQVEU3RhY2tMaW1pdFJlYWNoZWQAAQUCEEBQcm9jZXNzaW5nRmFpbGVkAAAMCGlkVBhvcmlnaW4VBBRlcnJvcpkGJFByb2Nlc3NlZAAAEAhpZFQYb3JpZ2luFQQsd2VpZ2h0X3VzZWQUHHN1Y2Nlc3NgSE92ZXJ3ZWlnaHRFbnF1ZXVlZAAAEAhpZFQYb3JpZ2luFQQocGFnZV9pbmRleAQ0bWVzc2FnZV9pbmRleAQoUGFnZVJlYXBlZAAACBhvcmlnaW4VBBRpbmRleAQCBBBTZW50AAAICHRv0BxtZXNzYWdl/QMCBERUcmFuc2ZlcnJlZEFzc2V0cwAAEBhzZW5kZXIAGGFzc2V0c+kDDGZlZeUDEGRlc3TQAggkRGVwb3NpdGVkAAAIFGFzc2V05QMMd2hv0CRXaXRoZHJhd24AAAgUYXNzZXTlAwx3aG/QAihATmV3SW52dWxuZXJhYmxlcwAABDRpbnZ1bG5lcmFibGVzZERJbnZ1bG5lcmFibGVBZGRlZAAABChhY2NvdW50X2lkAExJbnZ1bG5lcmFibGVSZW1vdmVkAAAEKGFjY291bnRfaWQAUE5ld0Rlc2lyZWRDYW5kaWRhdGVzAAAESGRlc2lyZWRfY2FuZGlkYXRlcwRATmV3Q2FuZGlkYWN5Qm9uZAAABCxib25kX2Ftb3VudAg4Q2FuZGlkYXRlQWRkZWQAAAgoYWNjb3VudF9pZAAcZGVwb3NpdAhQQ2FuZGlkYXRlQm9uZFVwZGF0ZWQAAAgoYWNjb3VudF9pZAAcZGVwb3NpdAhAQ2FuZGlkYXRlUmVtb3ZlZAAABChhY2NvdW50X2lkAERDYW5kaWRhdGVSZXBsYWNlZAAADAxvbGQADG5ldwAcZGVwb3NpdAhoSW52YWxpZEludnVsbmVyYWJsZVNraXBwZWQAAAQoYWNjb3VudF9pZAACBChOZXdTZXNzaW9uAAAENHNlc3Npb25faW5kZXgEAghAQWRkZWRUb1doaXRlbGlzdAAACBhzb3VyY2U0GGFzc2V0c0UCUFJlbW92ZWRGcm9tV2hpdGVsaXN0AAAIGHNvdXJjZTQYYXNzZXRzRQICGCBPbW5pcG9vbAABBShTdGFibGVzd2FwAQQMWFlLAQQMTEJQAAEFDE9UQwEEEEFBVkUAAQUCFBxFeGFjdEluAAEFIEV4YWN0T3V0AAEFFExpbWl0AAEFMExpcXVpZGl0eUFkZAABBTxMaXF1aWRpdHlSZW1vdmUAAQUACBRhc3NldAQYYW1vdW50CATBBgACCBxBY2NvdW50AQAYQnVybmVkAAEFAAwUYXNzZXQEGGFtb3VudAgsZGVzdGluYXRpb27JBgTNBgACGBhSb3V0ZXIBBAxEQ0EABAQBCBRCYXRjaAEEIE9tbmlwb29sAQQsWGNtRXhjaGFuZ2UBBAxYY20AAwhUBATVBgACBCBTd2FwcGVkMwAAIBxzd2FwcGVyABhmaWxsZXIALGZpbGxlcl90eXBluQYkb3BlcmF0aW9uvQYYaW5wdXRzxQYcb3V0cHV0c8UGEGZlZXPRBjxvcGVyYXRpb25fc3RhY2vZBgIBARhTeXN0ZW0BhQUgQmFsYW5jZXMBjQVIVHJhbnNhY3Rpb25QYXltZW50AZEFXE11bHRpVHJhbnNhY3Rpb25QYXltZW50AZUFIFRyZWFzdXJ5AZkFHFV0aWxpdHkBoQUgUHJlaW1hZ2UBpQUgSWRlbnRpdHkBqQUkRGVtb2NyYWN5AbEFJEVsZWN0aW9ucwG9BRxDb3VuY2lsAcEFSFRlY2huaWNhbENvbW1pdHRlZQHBBRBUaXBzAcUFFFByb3h5AckFIE11bHRpc2lnAc0FHFVuaXF1ZXMB0QVIU3RhdGVUcmllTWlncmF0aW9uAdkFQENvbnZpY3Rpb25Wb3RpbmcB3QUkUmVmZXJlbmRhAeUFJFdoaXRlbGlzdAHpBShEaXNwYXRjaGVyAe0FNEFzc2V0UmVnaXN0cnkB8QUYQ2xhaW1zAfUFPENvbGxhdG9yUmV3YXJkcwH5BSBPbW5pcG9vbAH9BUBUcmFuc2FjdGlvblBhdXNlAQEGGER1c3RlcgEFBkxPbW5pcG9vbFdhcmVob3VzZUxNAQkGXE9tbmlwb29sTGlxdWlkaXR5TWluaW5nAQ0GDE9UQwERBjhDaXJjdWl0QnJlYWtlcgEVBhhSb3V0ZXIBGQYsRHluYW1pY0ZlZXMB3BxTdGFraW5nAR0GKFN0YWJsZXN3YXABLQYUQm9uZHMBMQY4T3RjU2V0dGxlbWVudHMBNQYMTEJQATkGDFhZSwE9BiRSZWZlcnJhbHMBQQYsTGlxdWlkYXRpb24BRQYYVG9rZW5zAUkGKEN1cnJlbmNpZXMBTQYcVmVzdGluZwFRBgxFVk0BVQYgRXRoZXJldW0BbQYsRVZNQWNjb3VudHMBcQZIWFlLTGlxdWlkaXR5TWluaW5nAXUGOFhZS1dhcmVob3VzZUxNAQkGOFJlbGF5Q2hhaW5JbmZvAXkGDERDQQF9BiRTY2hlZHVsZXIBgQY8UGFyYWNoYWluU3lzdGVtAYUGLFBvbGthZG90WGNtAY0GKEN1bXVsdXNYY20BkQYkWGNtcFF1ZXVlAZUGME1lc3NhZ2VRdWV1ZQGdBhxPcm1sWGNtAaEGHFhUb2tlbnMBpQY0VW5rbm93blRva2VucwGpBkRDb2xsYXRvclNlbGVjdGlvbgGtBhxTZXNzaW9uAbEGJEVtYU9yYWNsZQG1BiRCcm9hZGNhc3QB3QYE4QYABgEEBAEEAAMIWQPtBgTxBgAAEEBleGVjdXRpb25fcmVzdWx0eQU4ZW1pdHRlZF9ldmVudHPlBiRsb2NhbF94Y23pBjhmb3J3YXJkZWRfeGNtc/UGAgg0VW5pbXBsZW1lbnRlZAABBWRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEFB/kG/QYADEBleGVjdXRpb25fcmVzdWx0iQY4ZW1pdHRlZF9ldmVudHPlBjhmb3J3YXJkZWRfeGNtc/UGBwUH/QYAEBxyZXNlcnZlBBhhdG9rZW4ELGxpcXVkaXR5X2luCDBsaXF1ZGl0eV9vdXQIBA0HAA==";
68
68
  metadataTypes_default = content;
69
69
  }
70
70
  });
@@ -78,7 +78,7 @@ var binMeta, hydration_metadata_default;
78
78
  var init_hydration_metadata = __esm({
79
79
  ".papi/descriptors/src/hydration_metadata.ts"() {
80
80
  "use strict";
81
- binMeta = "bWV0YQ+JDgAMHHNwX2NvcmUYY3J5cHRvLEFjY291bnRJZDMyAAAEAAQBIFt1ODsgMzJdAAAEAAADIAAAAAgACAAABQMADAgwZnJhbWVfc3lzdGVtLEFjY291bnRJbmZvCBROb25jZQEQLEFjY291bnREYXRhARQAFAEUbm9uY2UQARROb25jZQABJGNvbnN1bWVycxABIFJlZkNvdW50AAEkcHJvdmlkZXJzEAEgUmVmQ291bnQAASxzdWZmaWNpZW50cxABIFJlZkNvdW50AAEQZGF0YRQBLEFjY291bnREYXRhAAAQAAAFBQAUDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXMsQWNjb3VudERhdGEEHEJhbGFuY2UBGAAQARBmcmVlGAEcQmFsYW5jZQABIHJlc2VydmVkGAEcQmFsYW5jZQABGGZyb3plbhgBHEJhbGFuY2UAARRmbGFncxwBKEV4dHJhRmxhZ3MAABgAAAUHABwMPHBhbGxldF9iYWxhbmNlcxR0eXBlcyhFeHRyYUZsYWdzAAAEABgBEHUxMjgAACAAAAUAACQMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUGVyRGlzcGF0Y2hDbGFzcwQEVAEoAAwBGG5vcm1hbCgBBFQAASxvcGVyYXRpb25hbCgBBFQAASRtYW5kYXRvcnkoAQRUAAAoDChzcF93ZWlnaHRzJHdlaWdodF92MhhXZWlnaHQAAAgBIHJlZl90aW1lLAEMdTY0AAEocHJvb2Zfc2l6ZSwBDHU2NAAALAAABjAAMAAABQYANAg8cHJpbWl0aXZlX3R5cGVzEEgyNTYAAAQABAEgW3U4OyAzMl0AADgAAAIIADwQKHNwX3J1bnRpbWUcZ2VuZXJpYxhkaWdlc3QYRGlnZXN0AAAEARBsb2dzQAE8VmVjPERpZ2VzdEl0ZW0+AABAAAACRABEEChzcF9ydW50aW1lHGdlbmVyaWMYZGlnZXN0KERpZ2VzdEl0ZW0AARQoUHJlUnVudGltZQgASAFEQ29uc2Vuc3VzRW5naW5lSWQAADgBHFZlYzx1OD4ABgAkQ29uc2Vuc3VzCABIAURDb25zZW5zdXNFbmdpbmVJZAAAOAEcVmVjPHU4PgAEABBTZWFsCABIAURDb25zZW5zdXNFbmdpbmVJZAAAOAEcVmVjPHU4PgAFABRPdGhlcgQAOAEcVmVjPHU4PgAAAGRSdW50aW1lRW52aXJvbm1lbnRVcGRhdGVkAAgAAEgAAAMEAAAACABMAAACUABQCDBmcmFtZV9zeXN0ZW0sRXZlbnRSZWNvcmQIBEUBVARUATQADAEUcGhhc2WdBwEUUGhhc2UAARRldmVudFQBBEUAARh0b3BpY3PhAQEYVmVjPFQ+AABUCDxoeWRyYWR4X3J1bnRpbWUwUnVudGltZUV2ZW50AAEBARhTeXN0ZW0EAFgBcGZyYW1lX3N5c3RlbTo6RXZlbnQ8UnVudGltZT4AAQAgQmFsYW5jZXMEAHwBfHBhbGxldF9iYWxhbmNlczo6RXZlbnQ8UnVudGltZT4ABwBIVHJhbnNhY3Rpb25QYXltZW50BACEAahwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudDo6RXZlbnQ8UnVudGltZT4ACQBcTXVsdGlUcmFuc2FjdGlvblBheW1lbnQEAIgBwHBhbGxldF90cmFuc2FjdGlvbl9tdWx0aV9wYXltZW50OjpFdmVudDxSdW50aW1lPgDLACBUcmVhc3VyeQQAjAF8cGFsbGV0X3RyZWFzdXJ5OjpFdmVudDxSdW50aW1lPgALABxVdGlsaXR5BACUAVRwYWxsZXRfdXRpbGl0eTo6RXZlbnQADQAgUHJlaW1hZ2UEAJwBfHBhbGxldF9wcmVpbWFnZTo6RXZlbnQ8UnVudGltZT4ADwAgSWRlbnRpdHkEAKABfHBhbGxldF9pZGVudGl0eTo6RXZlbnQ8UnVudGltZT4AEQAkRGVtb2NyYWN5BACoAYBwYWxsZXRfZGVtb2NyYWN5OjpFdmVudDxSdW50aW1lPgATACRFbGVjdGlvbnMEALwBpHBhbGxldF9lbGVjdGlvbnNfcGhyYWdtZW46OkV2ZW50PFJ1bnRpbWU+ABUAHENvdW5jaWwEAMgB/HBhbGxldF9jb2xsZWN0aXZlOjpFdmVudDxSdW50aW1lLCBwYWxsZXRfY29sbGVjdGl2ZTo6SW5zdGFuY2UxPgAXAEhUZWNobmljYWxDb21taXR0ZWUEAMwB/HBhbGxldF9jb2xsZWN0aXZlOjpFdmVudDxSdW50aW1lLCBwYWxsZXRfY29sbGVjdGl2ZTo6SW5zdGFuY2UyPgAZABBUaXBzBADQAWxwYWxsZXRfdGlwczo6RXZlbnQ8UnVudGltZT4AGwAUUHJveHkEANQBcHBhbGxldF9wcm94eTo6RXZlbnQ8UnVudGltZT4AHQAgTXVsdGlzaWcEAOABfHBhbGxldF9tdWx0aXNpZzo6RXZlbnQ8UnVudGltZT4AHwAcVW5pcXVlcwQA6AF4cGFsbGV0X3VuaXF1ZXM6OkV2ZW50PFJ1bnRpbWU+ACAASFN0YXRlVHJpZU1pZ3JhdGlvbgQABQEBrHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbjo6RXZlbnQ8UnVudGltZT4AIwBAQ29udmljdGlvblZvdGluZwQAEQEBoHBhbGxldF9jb252aWN0aW9uX3ZvdGluZzo6RXZlbnQ8UnVudGltZT4AJAAkUmVmZXJlbmRhBAAdAQGAcGFsbGV0X3JlZmVyZW5kYTo6RXZlbnQ8UnVudGltZT4AJQAkV2hpdGVsaXN0BABlBgGAcGFsbGV0X3doaXRlbGlzdDo6RXZlbnQ8UnVudGltZT4AJwAoRGlzcGF0Y2hlcgQAeQYBhHBhbGxldF9kaXNwYXRjaGVyOjpFdmVudDxSdW50aW1lPgAoADRBc3NldFJlZ2lzdHJ5BAB9BgGUcGFsbGV0X2Fzc2V0X3JlZ2lzdHJ5OjpFdmVudDxSdW50aW1lPgAzABhDbGFpbXMEAIEGAXRwYWxsZXRfY2xhaW1zOjpFdmVudDxSdW50aW1lPgA1ADxDb2xsYXRvclJld2FyZHMEAIkGAZxwYWxsZXRfY29sbGF0b3JfcmV3YXJkczo6RXZlbnQ8UnVudGltZT4AOQAgT21uaXBvb2wEAI0GAXxwYWxsZXRfb21uaXBvb2w6OkV2ZW50PFJ1bnRpbWU+ADsAQFRyYW5zYWN0aW9uUGF1c2UEAJEGAaBwYWxsZXRfdHJhbnNhY3Rpb25fcGF1c2U6OkV2ZW50PFJ1bnRpbWU+ADwAGER1c3RlcgQAlQYBdHBhbGxldF9kdXN0ZXI6OkV2ZW50PFJ1bnRpbWU+AD0ATE9tbmlwb29sV2FyZWhvdXNlTE0EAJkGAUkBd2FyZWhvdXNlX2xpcXVpZGl0eV9taW5pbmc6OkV2ZW50PFJ1bnRpbWUsIHdhcmVob3VzZV9saXF1aWRpdHlfbWluaW5nOjoKSW5zdGFuY2UxPgA+AFxPbW5pcG9vbExpcXVpZGl0eU1pbmluZwQAnQYBwHBhbGxldF9vbW5pcG9vbF9saXF1aWRpdHlfbWluaW5nOjpFdmVudDxSdW50aW1lPgA/AAxPVEMEAKEGAWhwYWxsZXRfb3RjOjpFdmVudDxSdW50aW1lPgBAADhDaXJjdWl0QnJlYWtlcgQApQYBmHBhbGxldF9jaXJjdWl0X2JyZWFrZXI6OkV2ZW50PFJ1bnRpbWU+AEEAGFJvdXRlcgQAqQYBlHBhbGxldF9yb3V0ZV9leGVjdXRvcjo6RXZlbnQ8UnVudGltZT4AQwAsRHluYW1pY0ZlZXMEAK0GAYxwYWxsZXRfZHluYW1pY19mZWVzOjpFdmVudDxSdW50aW1lPgBEABxTdGFraW5nBACxBgF4cGFsbGV0X3N0YWtpbmc6OkV2ZW50PFJ1bnRpbWU+AEUAKFN0YWJsZXN3YXAEALUGAYRwYWxsZXRfc3RhYmxlc3dhcDo6RXZlbnQ8UnVudGltZT4ARgAUQm9uZHMEAM0GAXBwYWxsZXRfYm9uZHM6OkV2ZW50PFJ1bnRpbWU+AEcAOE90Y1NldHRsZW1lbnRzBADRBgGYcGFsbGV0X290Y19zZXR0bGVtZW50czo6RXZlbnQ8UnVudGltZT4ASAAMTEJQBADVBgFocGFsbGV0X2xicDo6RXZlbnQ8UnVudGltZT4ASQAMWFlLBADdBgFocGFsbGV0X3h5azo6RXZlbnQ8UnVudGltZT4ASgAkUmVmZXJyYWxzBADhBgGAcGFsbGV0X3JlZmVycmFsczo6RXZlbnQ8UnVudGltZT4ASwAsTGlxdWlkYXRpb24EAOkGAYhwYWxsZXRfbGlxdWlkYXRpb246OkV2ZW50PFJ1bnRpbWU+AEwAGFRva2VucwQA7QYBbG9ybWxfdG9rZW5zOjpFdmVudDxSdW50aW1lPgBNAChDdXJyZW5jaWVzBADxBgGEcGFsbGV0X2N1cnJlbmNpZXM6OkV2ZW50PFJ1bnRpbWU+AE8AHFZlc3RpbmcEAPUGAXBvcm1sX3Zlc3Rpbmc6OkV2ZW50PFJ1bnRpbWU+AFEADEVWTQQA+QYBaHBhbGxldF9ldm06OkV2ZW50PFJ1bnRpbWU+AFoAIEV0aGVyZXVtBAABBwFYcGFsbGV0X2V0aGVyZXVtOjpFdmVudABcACxFVk1BY2NvdW50cwQAJQcBjHBhbGxldF9ldm1fYWNjb3VudHM6OkV2ZW50PFJ1bnRpbWU+AF0ASFhZS0xpcXVpZGl0eU1pbmluZwQAKQcBrHBhbGxldF94eWtfbGlxdWlkaXR5X21pbmluZzo6RXZlbnQ8UnVudGltZT4AXwA4WFlLV2FyZWhvdXNlTE0EAC0HAUkBd2FyZWhvdXNlX2xpcXVpZGl0eV9taW5pbmc6OkV2ZW50PFJ1bnRpbWUsIHdhcmVob3VzZV9saXF1aWRpdHlfbWluaW5nOjoKSW5zdGFuY2UyPgBgADhSZWxheUNoYWluSW5mbwQAMQcBmHBhbGxldF9yZWxheWNoYWluX2luZm86OkV2ZW50PFJ1bnRpbWU+AMkADERDQQQANQcBaHBhbGxldF9kY2E6OkV2ZW50PFJ1bnRpbWU+AEIAJFNjaGVkdWxlcgQAOQcBgHBhbGxldF9zY2hlZHVsZXI6OkV2ZW50PFJ1bnRpbWU+AAUAPFBhcmFjaGFpblN5c3RlbQQAQQcBvGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW06OkV2ZW50PFJ1bnRpbWU+AGcALFBvbGthZG90WGNtBABFBwFocGFsbGV0X3hjbTo6RXZlbnQ8UnVudGltZT4AawAoQ3VtdWx1c1hjbQQATQcBiGN1bXVsdXNfcGFsbGV0X3hjbTo6RXZlbnQ8UnVudGltZT4AbQAkWGNtcFF1ZXVlBABRBwGkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZTo6RXZlbnQ8UnVudGltZT4AbwAwTWVzc2FnZVF1ZXVlBABVBwGQcGFsbGV0X21lc3NhZ2VfcXVldWU6OkV2ZW50PFJ1bnRpbWU+AHIAHE9ybWxYY20EAF0HAWBvcm1sX3hjbTo6RXZlbnQ8UnVudGltZT4AhwAcWFRva2VucwQAYQcBcG9ybWxfeHRva2Vuczo6RXZlbnQ8UnVudGltZT4AiQA0VW5rbm93blRva2VucwQAZQcBaG9ybWxfdW5rbm93bl90b2tlbnM6OkV2ZW50AIsARENvbGxhdG9yU2VsZWN0aW9uBABpBwGkcGFsbGV0X2NvbGxhdG9yX3NlbGVjdGlvbjo6RXZlbnQ8UnVudGltZT4AowAcU2Vzc2lvbgQAbQcBVHBhbGxldF9zZXNzaW9uOjpFdmVudAClACRFbWFPcmFjbGUEAHEHAYRwYWxsZXRfZW1hX29yYWNsZTo6RXZlbnQ8UnVudGltZT4AygAkQnJvYWRjYXN0BAB1BwGAcGFsbGV0X2Jyb2FkY2FzdDo6RXZlbnQ8UnVudGltZT4AzAAAWAwwZnJhbWVfc3lzdGVtGHBhbGxldBRFdmVudAQEVAABHEBFeHRyaW5zaWNTdWNjZXNzBAE0ZGlzcGF0Y2hfaW5mb1wBMERpc3BhdGNoSW5mbwAABJBBbiBleHRyaW5zaWMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS48RXh0cmluc2ljRmFpbGVkCAE4ZGlzcGF0Y2hfZXJyb3JoATREaXNwYXRjaEVycm9yAAE0ZGlzcGF0Y2hfaW5mb1wBMERpc3BhdGNoSW5mbwABBFBBbiBleHRyaW5zaWMgZmFpbGVkLixDb2RlVXBkYXRlZAACBFBgOmNvZGVgIHdhcyB1cGRhdGVkLihOZXdBY2NvdW50BAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAADBGhBIG5ldyBhY2NvdW50IHdhcyBjcmVhdGVkLjRLaWxsZWRBY2NvdW50BAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAAEBFhBbiBhY2NvdW50IHdhcyByZWFwZWQuIFJlbWFya2VkCAEYc2VuZGVyAAEwVDo6QWNjb3VudElkAAEQaGFzaDQBHFQ6Okhhc2gABQRwT24gb24tY2hhaW4gcmVtYXJrIGhhcHBlbmVkLkRVcGdyYWRlQXV0aG9yaXplZAgBJGNvZGVfaGFzaDQBHFQ6Okhhc2gAATRjaGVja192ZXJzaW9uIAEQYm9vbAAGBGhBbiB1cGdyYWRlIHdhcyBhdXRob3JpemVkLgRwRXZlbnQgZm9yIHRoZSBTeXN0ZW0gcGFsbGV0LlwMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2gwRGlzcGF0Y2hJbmZvAAAMARh3ZWlnaHQoARhXZWlnaHQAARRjbGFzc2ABNERpc3BhdGNoQ2xhc3MAASBwYXlzX2ZlZWQBEFBheXMAAGAMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2g0RGlzcGF0Y2hDbGFzcwABDBhOb3JtYWwAAAAsT3BlcmF0aW9uYWwAAQAkTWFuZGF0b3J5AAIAAGQMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2gQUGF5cwABCAxZZXMAAAAITm8AAQAAaAgoc3BfcnVudGltZTREaXNwYXRjaEVycm9yAAE4FE90aGVyAAAAMENhbm5vdExvb2t1cAABACRCYWRPcmlnaW4AAgAYTW9kdWxlBABsASxNb2R1bGVFcnJvcgADAERDb25zdW1lclJlbWFpbmluZwAEACxOb1Byb3ZpZGVycwAFAEBUb29NYW55Q29uc3VtZXJzAAYAFFRva2VuBABwAShUb2tlbkVycm9yAAcAKEFyaXRobWV0aWMEAHQBPEFyaXRobWV0aWNFcnJvcgAIADRUcmFuc2FjdGlvbmFsBAB4AUhUcmFuc2FjdGlvbmFsRXJyb3IACQAkRXhoYXVzdGVkAAoAKENvcnJ1cHRpb24ACwAsVW5hdmFpbGFibGUADAA4Um9vdE5vdEFsbG93ZWQADQAAbAgoc3BfcnVudGltZSxNb2R1bGVFcnJvcgAACAEUaW5kZXgIAQh1OAABFGVycm9ySAGMW3U4OyBNQVhfTU9EVUxFX0VSUk9SX0VOQ09ERURfU0laRV0AAHAIKHNwX3J1bnRpbWUoVG9rZW5FcnJvcgABKEBGdW5kc1VuYXZhaWxhYmxlAAAAME9ubHlQcm92aWRlcgABADBCZWxvd01pbmltdW0AAgAwQ2Fubm90Q3JlYXRlAAMAMFVua25vd25Bc3NldAAEABhGcm96ZW4ABQAsVW5zdXBwb3J0ZWQABgBAQ2Fubm90Q3JlYXRlSG9sZAAHADROb3RFeHBlbmRhYmxlAAgAHEJsb2NrZWQACQAAdAg0c3BfYXJpdGhtZXRpYzxBcml0aG1ldGljRXJyb3IAAQwkVW5kZXJmbG93AAAAIE92ZXJmbG93AAEAOERpdmlzaW9uQnlaZXJvAAIAAHgIKHNwX3J1bnRpbWVIVHJhbnNhY3Rpb25hbEVycm9yAAEIMExpbWl0UmVhY2hlZAAAABxOb0xheWVyAAEAAHwMPHBhbGxldF9iYWxhbmNlcxhwYWxsZXQURXZlbnQIBFQABEkAAVgcRW5kb3dlZAgBHGFjY291bnQAATBUOjpBY2NvdW50SWQAATBmcmVlX2JhbGFuY2UYAShUOjpCYWxhbmNlAAAEuEFuIGFjY291bnQgd2FzIGNyZWF0ZWQgd2l0aCBzb21lIGZyZWUgYmFsYW5jZS4gRHVzdExvc3QIARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABCD0BQW4gYWNjb3VudCB3YXMgcmVtb3ZlZCB3aG9zZSBiYWxhbmNlIHdhcyBub24temVybyBidXQgYmVsb3cgRXhpc3RlbnRpYWxEZXBvc2l0LHhyZXN1bHRpbmcgaW4gYW4gb3V0cmlnaHQgbG9zcy4gVHJhbnNmZXIMARBmcm9tAAEwVDo6QWNjb3VudElkAAEIdG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAIETFRyYW5zZmVyIHN1Y2NlZWRlZC4oQmFsYW5jZVNldAgBDHdobwABMFQ6OkFjY291bnRJZAABEGZyZWUYAShUOjpCYWxhbmNlAAMEaEEgYmFsYW5jZSB3YXMgc2V0IGJ5IHJvb3QuIFJlc2VydmVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAEBOBTb21lIGJhbGFuY2Ugd2FzIHJlc2VydmVkIChtb3ZlZCBmcm9tIGZyZWUgdG8gcmVzZXJ2ZWQpLihVbnJlc2VydmVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAFBOhTb21lIGJhbGFuY2Ugd2FzIHVucmVzZXJ2ZWQgKG1vdmVkIGZyb20gcmVzZXJ2ZWQgdG8gZnJlZSkuSFJlc2VydmVSZXBhdHJpYXRlZBABEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAUhkZXN0aW5hdGlvbl9zdGF0dXOAARhTdGF0dXMABghNAVNvbWUgYmFsYW5jZSB3YXMgbW92ZWQgZnJvbSB0aGUgcmVzZXJ2ZSBvZiB0aGUgZmlyc3QgYWNjb3VudCB0byB0aGUgc2Vjb25kIGFjY291bnQu2EZpbmFsIGFyZ3VtZW50IGluZGljYXRlcyB0aGUgZGVzdGluYXRpb24gYmFsYW5jZSB0eXBlLhxEZXBvc2l0CAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAHBNhTb21lIGFtb3VudCB3YXMgZGVwb3NpdGVkIChlLmcuIGZvciB0cmFuc2FjdGlvbiBmZWVzKS4gV2l0aGRyYXcIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAgEHQFTb21lIGFtb3VudCB3YXMgd2l0aGRyYXduIGZyb20gdGhlIGFjY291bnQgKGUuZy4gZm9yIHRyYW5zYWN0aW9uIGZlZXMpLhxTbGFzaGVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAJBAEBU29tZSBhbW91bnQgd2FzIHJlbW92ZWQgZnJvbSB0aGUgYWNjb3VudCAoZS5nLiBmb3IgbWlzYmVoYXZpb3IpLhhNaW50ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAoEnFNvbWUgYW1vdW50IHdhcyBtaW50ZWQgaW50byBhbiBhY2NvdW50LhhCdXJuZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAsEnFNvbWUgYW1vdW50IHdhcyBidXJuZWQgZnJvbSBhbiBhY2NvdW50LiRTdXNwZW5kZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAwEFQFTb21lIGFtb3VudCB3YXMgc3VzcGVuZGVkIGZyb20gYW4gYWNjb3VudCAoaXQgY2FuIGJlIHJlc3RvcmVkIGxhdGVyKS4gUmVzdG9yZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAA0EpFNvbWUgYW1vdW50IHdhcyByZXN0b3JlZCBpbnRvIGFuIGFjY291bnQuIFVwZ3JhZGVkBAEMd2hvAAEwVDo6QWNjb3VudElkAA4EYEFuIGFjY291bnQgd2FzIHVwZ3JhZGVkLhhJc3N1ZWQEARhhbW91bnQYAShUOjpCYWxhbmNlAA8ELQFUb3RhbCBpc3N1YW5jZSB3YXMgaW5jcmVhc2VkIGJ5IGBhbW91bnRgLCBjcmVhdGluZyBhIGNyZWRpdCB0byBiZSBiYWxhbmNlZC4kUmVzY2luZGVkBAEYYW1vdW50GAEoVDo6QmFsYW5jZQAQBCUBVG90YWwgaXNzdWFuY2Ugd2FzIGRlY3JlYXNlZCBieSBgYW1vdW50YCwgY3JlYXRpbmcgYSBkZWJ0IHRvIGJlIGJhbGFuY2VkLhhMb2NrZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlABEEYFNvbWUgYmFsYW5jZSB3YXMgbG9ja2VkLiBVbmxvY2tlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAEgRoU29tZSBiYWxhbmNlIHdhcyB1bmxvY2tlZC4YRnJvemVuCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQATBGBTb21lIGJhbGFuY2Ugd2FzIGZyb3plbi4YVGhhd2VkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAUBGBTb21lIGJhbGFuY2Ugd2FzIHRoYXdlZC5MVG90YWxJc3N1YW5jZUZvcmNlZAgBDG9sZBgBKFQ6OkJhbGFuY2UAAQxuZXcYAShUOjpCYWxhbmNlABUErFRoZSBgVG90YWxJc3N1YW5jZWAgd2FzIGZvcmNlZnVsbHkgY2hhbmdlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSAFDRmcmFtZV9zdXBwb3J0GHRyYWl0cxh0b2tlbnMQbWlzYzRCYWxhbmNlU3RhdHVzAAEIEEZyZWUAAAAgUmVzZXJ2ZWQAAQAAhAxocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQYcGFsbGV0FEV2ZW50BARUAAEESFRyYW5zYWN0aW9uRmVlUGFpZAwBDHdobwABMFQ6OkFjY291bnRJZAABKGFjdHVhbF9mZWUYATBCYWxhbmNlT2Y8VD4AAQx0aXAYATBCYWxhbmNlT2Y8VD4AAAhZAUEgdHJhbnNhY3Rpb24gZmVlIGBhY3R1YWxfZmVlYCwgb2Ygd2hpY2ggYHRpcGAgd2FzIGFkZGVkIHRvIHRoZSBtaW5pbXVtIGluY2x1c2lvbiBmZWUsXGhhcyBiZWVuIHBhaWQgYnkgYHdob2AuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0iAyAcGFsbGV0X3RyYW5zYWN0aW9uX211bHRpX3BheW1lbnQYcGFsbGV0FEV2ZW50BARUAAEQLEN1cnJlbmN5U2V0CAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAABIGFzc2V0X2lkEAEwQXNzZXRJZE9mPFQ+AAAILEN1cnJlbmN5U2V0PFt3aG8sIGN1cnJlbmN5XTRDdXJyZW5jeUFkZGVkBAEgYXNzZXRfaWQQATBBc3NldElkT2Y8VD4AAQhsTmV3IGFjY2VwdGVkIGN1cnJlbmN5IGFkZGVkKFtjdXJyZW5jeV08Q3VycmVuY3lSZW1vdmVkBAEgYXNzZXRfaWQQATBBc3NldElkT2Y8VD4AAghkQWNjZXB0ZWQgY3VycmVuY3kgcmVtb3ZlZChbY3VycmVuY3ldMEZlZVdpdGhkcmF3bhQBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQAASBhc3NldF9pZBABMEFzc2V0SWRPZjxUPgABRG5hdGl2ZV9mZWVfYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAFUbm9uX25hdGl2ZV9mZWVfYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAFYZGVzdGluYXRpb25fYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAADCKxUcmFuc2FjdGlvbiBmZWUgcGFpZCBpbiBub24tbmF0aXZlIGN1cnJlbmN5SQFbQWNjb3VudCwgQ3VycmVuY3ksIE5hdGl2ZSBmZWUgYW1vdW50LCBOb24tbmF0aXZlIGZlZSBhbW91bnQsIERlc3RpbmF0aW9uIGFjY291bnRdBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0jAw8cGFsbGV0X3RyZWFzdXJ5GHBhbGxldBRFdmVudAgEVAAESQABMCBTcGVuZGluZwQBQGJ1ZGdldF9yZW1haW5pbmcYATxCYWxhbmNlT2Y8VCwgST4AAATkV2UgaGF2ZSBlbmRlZCBhIHNwZW5kIHBlcmlvZCBhbmQgd2lsbCBub3cgYWxsb2NhdGUgZnVuZHMuHEF3YXJkZWQMAThwcm9wb3NhbF9pbmRleBABNFByb3Bvc2FsSW5kZXgAARRhd2FyZBgBPEJhbGFuY2VPZjxULCBJPgABHGFjY291bnQAATBUOjpBY2NvdW50SWQAAQR8U29tZSBmdW5kcyBoYXZlIGJlZW4gYWxsb2NhdGVkLhRCdXJudAQBLGJ1cm50X2Z1bmRzGAE8QmFsYW5jZU9mPFQsIEk+AAIEiFNvbWUgb2Ygb3VyIGZ1bmRzIGhhdmUgYmVlbiBidXJudC4gUm9sbG92ZXIEAUByb2xsb3Zlcl9iYWxhbmNlGAE8QmFsYW5jZU9mPFQsIEk+AAMELQFTcGVuZGluZyBoYXMgZmluaXNoZWQ7IHRoaXMgaXMgdGhlIGFtb3VudCB0aGF0IHJvbGxzIG92ZXIgdW50aWwgbmV4dCBzcGVuZC4cRGVwb3NpdAQBFHZhbHVlGAE8QmFsYW5jZU9mPFQsIEk+AAQEfFNvbWUgZnVuZHMgaGF2ZSBiZWVuIGRlcG9zaXRlZC40U3BlbmRBcHByb3ZlZAwBOHByb3Bvc2FsX2luZGV4EAE0UHJvcG9zYWxJbmRleAABGGFtb3VudBgBPEJhbGFuY2VPZjxULCBJPgABLGJlbmVmaWNpYXJ5AAEwVDo6QWNjb3VudElkAAUEnEEgbmV3IHNwZW5kIHByb3Bvc2FsIGhhcyBiZWVuIGFwcHJvdmVkLjxVcGRhdGVkSW5hY3RpdmUIASxyZWFjdGl2YXRlZBgBPEJhbGFuY2VPZjxULCBJPgABLGRlYWN0aXZhdGVkGAE8QmFsYW5jZU9mPFQsIEk+AAYEzFRoZSBpbmFjdGl2ZSBmdW5kcyBvZiB0aGUgcGFsbGV0IGhhdmUgYmVlbiB1cGRhdGVkLkhBc3NldFNwZW5kQXBwcm92ZWQYARRpbmRleBABKFNwZW5kSW5kZXgAAShhc3NldF9raW5kkAEwVDo6QXNzZXRLaW5kAAEYYW1vdW50GAFQQXNzZXRCYWxhbmNlT2Y8VCwgST4AASxiZW5lZmljaWFyeQABOFQ6OkJlbmVmaWNpYXJ5AAEodmFsaWRfZnJvbRABREJsb2NrTnVtYmVyRm9yPFQ+AAEkZXhwaXJlX2F0EAFEQmxvY2tOdW1iZXJGb3I8VD4ABwS0QSBuZXcgYXNzZXQgc3BlbmQgcHJvcG9zYWwgaGFzIGJlZW4gYXBwcm92ZWQuQEFzc2V0U3BlbmRWb2lkZWQEARRpbmRleBABKFNwZW5kSW5kZXgACAR0QW4gYXBwcm92ZWQgc3BlbmQgd2FzIHZvaWRlZC4QUGFpZAgBFGluZGV4EAEoU3BlbmRJbmRleAABKHBheW1lbnRfaWSQAWQ8VDo6UGF5bWFzdGVyIGFzIFBheT46OklkAAkETEEgcGF5bWVudCBoYXBwZW5lZC40UGF5bWVudEZhaWxlZAgBFGluZGV4EAEoU3BlbmRJbmRleAABKHBheW1lbnRfaWSQAWQ8VDo6UGF5bWFzdGVyIGFzIFBheT46OklkAAoEkEEgcGF5bWVudCBmYWlsZWQgYW5kIGNhbiBiZSByZXRyaWVkLjhTcGVuZFByb2Nlc3NlZAQBFGluZGV4EAEoU3BlbmRJbmRleAALCE0BQSBzcGVuZCB3YXMgcHJvY2Vzc2VkIGFuZCByZW1vdmVkIGZyb20gdGhlIHN0b3JhZ2UuIEl0IG1pZ2h0IGhhdmUgYmVlbiBzdWNjZXNzZnVsbHlwcGFpZCBvciBpdCBtYXkgaGF2ZSBleHBpcmVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldJAAAAQAAJQMOHBhbGxldF91dGlsaXR5GHBhbGxldBRFdmVudAABGEBCYXRjaEludGVycnVwdGVkCAEUaW5kZXgQAQx1MzIAARRlcnJvcmgBNERpc3BhdGNoRXJyb3IAAAhVAUJhdGNoIG9mIGRpc3BhdGNoZXMgZGlkIG5vdCBjb21wbGV0ZSBmdWxseS4gSW5kZXggb2YgZmlyc3QgZmFpbGluZyBkaXNwYXRjaCBnaXZlbiwgYXNId2VsbCBhcyB0aGUgZXJyb3IuOEJhdGNoQ29tcGxldGVkAAEEyEJhdGNoIG9mIGRpc3BhdGNoZXMgY29tcGxldGVkIGZ1bGx5IHdpdGggbm8gZXJyb3IuYEJhdGNoQ29tcGxldGVkV2l0aEVycm9ycwACBLRCYXRjaCBvZiBkaXNwYXRjaGVzIGNvbXBsZXRlZCBidXQgaGFzIGVycm9ycy40SXRlbUNvbXBsZXRlZAADBB0BQSBzaW5nbGUgaXRlbSB3aXRoaW4gYSBCYXRjaCBvZiBkaXNwYXRjaGVzIGhhcyBjb21wbGV0ZWQgd2l0aCBubyBlcnJvci4oSXRlbUZhaWxlZAQBFGVycm9yaAE0RGlzcGF0Y2hFcnJvcgAEBBEBQSBzaW5nbGUgaXRlbSB3aXRoaW4gYSBCYXRjaCBvZiBkaXNwYXRjaGVzIGhhcyBjb21wbGV0ZWQgd2l0aCBlcnJvci4wRGlzcGF0Y2hlZEFzBAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQABQRYQSBjYWxsIHdhcyBkaXNwYXRjaGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldJgEGFJlc3VsdAgEVAGQBEUBaAEICE9rBACQAAAAAAxFcnIEAGgAAAEAAJwMPHBhbGxldF9wcmVpbWFnZRhwYWxsZXQURXZlbnQEBFQAAQwUTm90ZWQEARBoYXNoNAEcVDo6SGFzaAAABGhBIHByZWltYWdlIGhhcyBiZWVuIG5vdGVkLiRSZXF1ZXN0ZWQEARBoYXNoNAEcVDo6SGFzaAABBHhBIHByZWltYWdlIGhhcyBiZWVuIHJlcXVlc3RlZC4cQ2xlYXJlZAQBEGhhc2g0ARxUOjpIYXNoAAIEbEEgcHJlaW1hZ2UgaGFzIGJlbiBjbGVhcmVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldKAMPHBhbGxldF9pZGVudGl0eRhwYWxsZXQURXZlbnQEBFQAAUQsSWRlbnRpdHlTZXQEAQx3aG8AATBUOjpBY2NvdW50SWQAAATsQSBuYW1lIHdhcyBzZXQgb3IgcmVzZXQgKHdoaWNoIHdpbGwgcmVtb3ZlIGFsbCBqdWRnZW1lbnRzKS48SWRlbnRpdHlDbGVhcmVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgABBMxBIG5hbWUgd2FzIGNsZWFyZWQsIGFuZCB0aGUgZ2l2ZW4gYmFsYW5jZSByZXR1cm5lZC44SWRlbnRpdHlLaWxsZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAIExEEgbmFtZSB3YXMgcmVtb3ZlZCBhbmQgdGhlIGdpdmVuIGJhbGFuY2Ugc2xhc2hlZC5ISnVkZ2VtZW50UmVxdWVzdGVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAE8cmVnaXN0cmFyX2luZGV4EAE4UmVnaXN0cmFySW5kZXgAAwScQSBqdWRnZW1lbnQgd2FzIGFza2VkIGZyb20gYSByZWdpc3RyYXIuUEp1ZGdlbWVudFVucmVxdWVzdGVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAE8cmVnaXN0cmFyX2luZGV4EAE4UmVnaXN0cmFySW5kZXgABASIQSBqdWRnZW1lbnQgcmVxdWVzdCB3YXMgcmV0cmFjdGVkLjhKdWRnZW1lbnRHaXZlbggBGHRhcmdldAABMFQ6OkFjY291bnRJZAABPHJlZ2lzdHJhcl9pbmRleBABOFJlZ2lzdHJhckluZGV4AAUElEEganVkZ2VtZW50IHdhcyBnaXZlbiBieSBhIHJlZ2lzdHJhci44UmVnaXN0cmFyQWRkZWQEATxyZWdpc3RyYXJfaW5kZXgQAThSZWdpc3RyYXJJbmRleAAGBFhBIHJlZ2lzdHJhciB3YXMgYWRkZWQuQFN1YklkZW50aXR5QWRkZWQMAQxzdWIAATBUOjpBY2NvdW50SWQAARBtYWluAAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgAHBPRBIHN1Yi1pZGVudGl0eSB3YXMgYWRkZWQgdG8gYW4gaWRlbnRpdHkgYW5kIHRoZSBkZXBvc2l0IHBhaWQuSFN1YklkZW50aXR5UmVtb3ZlZAwBDHN1YgABMFQ6OkFjY291bnRJZAABEG1haW4AATBUOjpBY2NvdW50SWQAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAgECQFBIHN1Yi1pZGVudGl0eSB3YXMgcmVtb3ZlZCBmcm9tIGFuIGlkZW50aXR5IGFuZCB0aGUgZGVwb3NpdCBmcmVlZC5IU3ViSWRlbnRpdHlSZXZva2VkDAEMc3ViAAEwVDo6QWNjb3VudElkAAEQbWFpbgABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4ACQgZAUEgc3ViLWlkZW50aXR5IHdhcyBjbGVhcmVkLCBhbmQgdGhlIGdpdmVuIGRlcG9zaXQgcmVwYXRyaWF0ZWQgZnJvbSB0aGXIbWFpbiBpZGVudGl0eSBhY2NvdW50IHRvIHRoZSBzdWItaWRlbnRpdHkgYWNjb3VudC44QXV0aG9yaXR5QWRkZWQEASRhdXRob3JpdHkAATBUOjpBY2NvdW50SWQACgR8QSB1c2VybmFtZSBhdXRob3JpdHkgd2FzIGFkZGVkLkBBdXRob3JpdHlSZW1vdmVkBAEkYXV0aG9yaXR5AAEwVDo6QWNjb3VudElkAAsEhEEgdXNlcm5hbWUgYXV0aG9yaXR5IHdhcyByZW1vdmVkLixVc2VybmFtZVNldAgBDHdobwABMFQ6OkFjY291bnRJZAABIHVzZXJuYW1lpAEsVXNlcm5hbWU8VD4ADAR0QSB1c2VybmFtZSB3YXMgc2V0IGZvciBgd2hvYC44VXNlcm5hbWVRdWV1ZWQMAQx3aG8AATBUOjpBY2NvdW50SWQAASB1c2VybmFtZaQBLFVzZXJuYW1lPFQ+AAEoZXhwaXJhdGlvbhABREJsb2NrTnVtYmVyRm9yPFQ+AA0EGQFBIHVzZXJuYW1lIHdhcyBxdWV1ZWQsIGJ1dCBgd2hvYCBtdXN0IGFjY2VwdCBpdCBwcmlvciB0byBgZXhwaXJhdGlvbmAuSFByZWFwcHJvdmFsRXhwaXJlZAQBFHdob3NlAAEwVDo6QWNjb3VudElkAA4EOQFBIHF1ZXVlZCB1c2VybmFtZSBwYXNzZWQgaXRzIGV4cGlyYXRpb24gd2l0aG91dCBiZWluZyBjbGFpbWVkIGFuZCB3YXMgcmVtb3ZlZC5IUHJpbWFyeVVzZXJuYW1lU2V0CAEMd2hvAAEwVDo6QWNjb3VudElkAAEgdXNlcm5hbWWkASxVc2VybmFtZTxUPgAPBAEBQSB1c2VybmFtZSB3YXMgc2V0IGFzIGEgcHJpbWFyeSBhbmQgY2FuIGJlIGxvb2tlZCB1cCBmcm9tIGB3aG9gLlxEYW5nbGluZ1VzZXJuYW1lUmVtb3ZlZAgBDHdobwABMFQ6OkFjY291bnRJZAABIHVzZXJuYW1lpAEsVXNlcm5hbWU8VD4AEAhdAUEgZGFuZ2xpbmcgdXNlcm5hbWUgKGFzIGluLCBhIHVzZXJuYW1lIGNvcnJlc3BvbmRpbmcgdG8gYW4gYWNjb3VudCB0aGF0IGhhcyByZW1vdmVkIGl0c2xpZGVudGl0eSkgaGFzIGJlZW4gcmVtb3ZlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSkDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAqAxAcGFsbGV0X2RlbW9jcmFjeRhwYWxsZXQURXZlbnQEBFQAAUQgUHJvcG9zZWQIAThwcm9wb3NhbF9pbmRleBABJFByb3BJbmRleAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4AAAS8QSBtb3Rpb24gaGFzIGJlZW4gcHJvcG9zZWQgYnkgYSBwdWJsaWMgYWNjb3VudC4YVGFibGVkCAE4cHJvcG9zYWxfaW5kZXgQASRQcm9wSW5kZXgAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAEE2EEgcHVibGljIHByb3Bvc2FsIGhhcyBiZWVuIHRhYmxlZCBmb3IgcmVmZXJlbmR1bSB2b3RlLjhFeHRlcm5hbFRhYmxlZAACBJRBbiBleHRlcm5hbCBwcm9wb3NhbCBoYXMgYmVlbiB0YWJsZWQuHFN0YXJ0ZWQIASRyZWZfaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgAASR0aHJlc2hvbGSsATRWb3RlVGhyZXNob2xkAAMEXEEgcmVmZXJlbmR1bSBoYXMgYmVndW4uGFBhc3NlZAQBJHJlZl9pbmRleBABPFJlZmVyZW5kdW1JbmRleAAEBKxBIHByb3Bvc2FsIGhhcyBiZWVuIGFwcHJvdmVkIGJ5IHJlZmVyZW5kdW0uJE5vdFBhc3NlZAQBJHJlZl9pbmRleBABPFJlZmVyZW5kdW1JbmRleAAFBKxBIHByb3Bvc2FsIGhhcyBiZWVuIHJlamVjdGVkIGJ5IHJlZmVyZW5kdW0uJENhbmNlbGxlZAQBJHJlZl9pbmRleBABPFJlZmVyZW5kdW1JbmRleAAGBIBBIHJlZmVyZW5kdW0gaGFzIGJlZW4gY2FuY2VsbGVkLiREZWxlZ2F0ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARh0YXJnZXQAATBUOjpBY2NvdW50SWQABwTcQW4gYWNjb3VudCBoYXMgZGVsZWdhdGVkIHRoZWlyIHZvdGUgdG8gYW5vdGhlciBhY2NvdW50LixVbmRlbGVnYXRlZAQBHGFjY291bnQAATBUOjpBY2NvdW50SWQACATkQW4gYWNjb3VudCBoYXMgY2FuY2VsbGVkIGEgcHJldmlvdXMgZGVsZWdhdGlvbiBvcGVyYXRpb24uGFZldG9lZAwBDHdobwABMFQ6OkFjY291bnRJZAABNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEUdW50aWwQAURCbG9ja051bWJlckZvcjxUPgAJBJRBbiBleHRlcm5hbCBwcm9wb3NhbCBoYXMgYmVlbiB2ZXRvZWQuLEJsYWNrbGlzdGVkBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gACgTEQSBwcm9wb3NhbF9oYXNoIGhhcyBiZWVuIGJsYWNrbGlzdGVkIHBlcm1hbmVudGx5LhRWb3RlZAwBFHZvdGVyAAEwVDo6QWNjb3VudElkAAEkcmVmX2luZGV4EAE8UmVmZXJlbmR1bUluZGV4AAEQdm90ZbABZEFjY291bnRWb3RlPEJhbGFuY2VPZjxUPj4ACwSQQW4gYWNjb3VudCBoYXMgdm90ZWQgaW4gYSByZWZlcmVuZHVtIFNlY29uZGVkCAEgc2Vjb25kZXIAATBUOjpBY2NvdW50SWQAAShwcm9wX2luZGV4EAEkUHJvcEluZGV4AAwEjEFuIGFjY291bnQgaGFzIHNlY2NvbmRlZCBhIHByb3Bvc2FsQFByb3Bvc2FsQ2FuY2VsZWQEAShwcm9wX2luZGV4EAEkUHJvcEluZGV4AA0EYEEgcHJvcG9zYWwgZ290IGNhbmNlbGVkLixNZXRhZGF0YVNldAgBFG93bmVyuAE0TWV0YWRhdGFPd25lcgQ8TWV0YWRhdGEgb3duZXIuARBoYXNoNAEcVDo6SGFzaAQ4UHJlaW1hZ2UgaGFzaC4OBNRNZXRhZGF0YSBmb3IgYSBwcm9wb3NhbCBvciBhIHJlZmVyZW5kdW0gaGFzIGJlZW4gc2V0LjxNZXRhZGF0YUNsZWFyZWQIARRvd25lcrgBNE1ldGFkYXRhT3duZXIEPE1ldGFkYXRhIG93bmVyLgEQaGFzaDQBHFQ6Okhhc2gEOFByZWltYWdlIGhhc2guDwTkTWV0YWRhdGEgZm9yIGEgcHJvcG9zYWwgb3IgYSByZWZlcmVuZHVtIGhhcyBiZWVuIGNsZWFyZWQuTE1ldGFkYXRhVHJhbnNmZXJyZWQMAShwcmV2X293bmVyuAE0TWV0YWRhdGFPd25lcgRgUHJldmlvdXMgbWV0YWRhdGEgb3duZXIuARRvd25lcrgBNE1ldGFkYXRhT3duZXIETE5ldyBtZXRhZGF0YSBvd25lci4BEGhhc2g0ARxUOjpIYXNoBDhQcmVpbWFnZSBoYXNoLhAErE1ldGFkYXRhIGhhcyBiZWVuIHRyYW5zZmVycmVkIHRvIG5ldyBvd25lci4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSsDEBwYWxsZXRfZGVtb2NyYWN5OHZvdGVfdGhyZXNob2xkNFZvdGVUaHJlc2hvbGQAAQxQU3VwZXJNYWpvcml0eUFwcHJvdmUAAABQU3VwZXJNYWpvcml0eUFnYWluc3QAAQA4U2ltcGxlTWFqb3JpdHkAAgAAsAxAcGFsbGV0X2RlbW9jcmFjeRB2b3RlLEFjY291bnRWb3RlBBxCYWxhbmNlARgBCCBTdGFuZGFyZAgBEHZvdGW0ARBWb3RlAAEcYmFsYW5jZRgBHEJhbGFuY2UAAAAUU3BsaXQIAQxheWUYARxCYWxhbmNlAAEMbmF5GAEcQmFsYW5jZQABAAC0DEBwYWxsZXRfZGVtb2NyYWN5EHZvdGUQVm90ZQAABAAIAAAAuAxAcGFsbGV0X2RlbW9jcmFjeRR0eXBlczRNZXRhZGF0YU93bmVyAAEMIEV4dGVybmFsAAAAIFByb3Bvc2FsBAAQASRQcm9wSW5kZXgAAQAoUmVmZXJlbmR1bQQAEAE8UmVmZXJlbmR1bUluZGV4AAIAALwMZHBhbGxldF9lbGVjdGlvbnNfcGhyYWdtZW4YcGFsbGV0FEV2ZW50BARUAAEcHE5ld1Rlcm0EASxuZXdfbWVtYmVyc8AB7FZlYzwoPFQgYXMgZnJhbWVfc3lzdGVtOjpDb25maWc+OjpBY2NvdW50SWQsIEJhbGFuY2VPZjxUPik+AAAURQFBIG5ldyB0ZXJtIHdpdGggbmV3X21lbWJlcnMuIFRoaXMgaW5kaWNhdGVzIHRoYXQgZW5vdWdoIGNhbmRpZGF0ZXMgZXhpc3RlZCB0byBydW5VAXRoZSBlbGVjdGlvbiwgbm90IHRoYXQgZW5vdWdoIGhhdmUgaGFzIGJlZW4gZWxlY3RlZC4gVGhlIGlubmVyIHZhbHVlIG11c3QgYmUgZXhhbWluZWRFAWZvciB0aGlzIHB1cnBvc2UuIEEgYE5ld1Rlcm0oXFtcXSlgIGluZGljYXRlcyB0aGF0IHNvbWUgY2FuZGlkYXRlcyBnb3QgdGhlaXIgYm9uZFUBc2xhc2hlZCBhbmQgbm9uZSB3ZXJlIGVsZWN0ZWQsIHdoaWxzdCBgRW1wdHlUZXJtYCBtZWFucyB0aGF0IG5vIGNhbmRpZGF0ZXMgZXhpc3RlZCB0byxiZWdpbiB3aXRoLiRFbXB0eVRlcm0AAQgxAU5vIChvciBub3QgZW5vdWdoKSBjYW5kaWRhdGVzIGV4aXN0ZWQgZm9yIHRoaXMgcm91bmQuIFRoaXMgaXMgZGlmZmVyZW50IGZyb23IYE5ld1Rlcm0oXFtcXSlgLiBTZWUgdGhlIGRlc2NyaXB0aW9uIG9mIGBOZXdUZXJtYC40RWxlY3Rpb25FcnJvcgACBORJbnRlcm5hbCBlcnJvciBoYXBwZW5lZCB3aGlsZSB0cnlpbmcgdG8gcGVyZm9ybSBlbGVjdGlvbi4wTWVtYmVyS2lja2VkBAEYbWVtYmVyAAGYPFQgYXMgZnJhbWVfc3lzdGVtOjpDb25maWc+OjpBY2NvdW50SWQAAwhBAUEgbWVtYmVyIGhhcyBiZWVuIHJlbW92ZWQuIFRoaXMgc2hvdWxkIGFsd2F5cyBiZSBmb2xsb3dlZCBieSBlaXRoZXIgYE5ld1Rlcm1gIG9yMGBFbXB0eVRlcm1gLiRSZW5vdW5jZWQEASRjYW5kaWRhdGUAAZg8VCBhcyBmcmFtZV9zeXN0ZW06OkNvbmZpZz46OkFjY291bnRJZAAEBJhTb21lb25lIGhhcyByZW5vdW5jZWQgdGhlaXIgY2FuZGlkYWN5LkBDYW5kaWRhdGVTbGFzaGVkCAEkY2FuZGlkYXRlAAGYPFQgYXMgZnJhbWVfc3lzdGVtOjpDb25maWc+OjpBY2NvdW50SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4ABRA5AUEgY2FuZGlkYXRlIHdhcyBzbGFzaGVkIGJ5IGFtb3VudCBkdWUgdG8gZmFpbGluZyB0byBvYnRhaW4gYSBzZWF0IGFzIG1lbWJlciBvcihydW5uZXItdXAuAOROb3RlIHRoYXQgb2xkIG1lbWJlcnMgYW5kIHJ1bm5lcnMtdXAgYXJlIGFsc28gY2FuZGlkYXRlcy5EU2VhdEhvbGRlclNsYXNoZWQIASxzZWF0X2hvbGRlcgABmDxUIGFzIGZyYW1lX3N5c3RlbTo6Q29uZmlnPjo6QWNjb3VudElkAAEYYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAYENQFBIHNlYXQgaG9sZGVyIHdhcyBzbGFzaGVkIGJ5IGFtb3VudCBieSBiZWluZyBmb3JjZWZ1bGx5IHJlbW92ZWQgZnJvbSB0aGUgc2V0LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldMAAAALEAMQAAAQIABgAyAxEcGFsbGV0X2NvbGxlY3RpdmUYcGFsbGV0FEV2ZW50CARUAARJAAEcIFByb3Bvc2VkEAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABOHByb3Bvc2FsX2luZGV4EAE0UHJvcG9zYWxJbmRleAABNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEkdGhyZXNob2xkEAEsTWVtYmVyQ291bnQAAAhJAUEgbW90aW9uIChnaXZlbiBoYXNoKSBoYXMgYmVlbiBwcm9wb3NlZCAoYnkgZ2l2ZW4gYWNjb3VudCkgd2l0aCBhIHRocmVzaG9sZCAoZ2l2ZW48YE1lbWJlckNvdW50YCkuFFZvdGVkFAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEUdm90ZWQgARBib29sAAEMeWVzEAEsTWVtYmVyQ291bnQAAQhubxABLE1lbWJlckNvdW50AAEIBQFBIG1vdGlvbiAoZ2l2ZW4gaGFzaCkgaGFzIGJlZW4gdm90ZWQgb24gYnkgZ2l2ZW4gYWNjb3VudCwgbGVhdmluZxUBYSB0YWxseSAoeWVzIHZvdGVzIGFuZCBubyB2b3RlcyBnaXZlbiByZXNwZWN0aXZlbHkgYXMgYE1lbWJlckNvdW50YCkuIEFwcHJvdmVkBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAAgTAQSBtb3Rpb24gd2FzIGFwcHJvdmVkIGJ5IHRoZSByZXF1aXJlZCB0aHJlc2hvbGQuLERpc2FwcHJvdmVkBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAAwTQQSBtb3Rpb24gd2FzIG5vdCBhcHByb3ZlZCBieSB0aGUgcmVxdWlyZWQgdGhyZXNob2xkLiBFeGVjdXRlZAgBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQABAQhAUEgbW90aW9uIHdhcyBleGVjdXRlZDsgcmVzdWx0IHdpbGwgYmUgYE9rYCBpZiBpdCByZXR1cm5lZCB3aXRob3V0IGVycm9yLjhNZW1iZXJFeGVjdXRlZAgBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQABQRJAUEgc2luZ2xlIG1lbWJlciBkaWQgc29tZSBhY3Rpb247IHJlc3VsdCB3aWxsIGJlIGBPa2AgaWYgaXQgcmV0dXJuZWQgd2l0aG91dCBlcnJvci4YQ2xvc2VkDAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAAQx5ZXMQASxNZW1iZXJDb3VudAABCG5vEAEsTWVtYmVyQ291bnQABgRVAUEgcHJvcG9zYWwgd2FzIGNsb3NlZCBiZWNhdXNlIGl0cyB0aHJlc2hvbGQgd2FzIHJlYWNoZWQgb3IgYWZ0ZXIgaXRzIGR1cmF0aW9uIHdhcyB1cC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTMDERwYWxsZXRfY29sbGVjdGl2ZRhwYWxsZXQURXZlbnQIBFQABEkAARwgUHJvcG9zZWQQARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAE4cHJvcG9zYWxfaW5kZXgQATRQcm9wb3NhbEluZGV4AAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAASR0aHJlc2hvbGQQASxNZW1iZXJDb3VudAAACEkBQSBtb3Rpb24gKGdpdmVuIGhhc2gpIGhhcyBiZWVuIHByb3Bvc2VkIChieSBnaXZlbiBhY2NvdW50KSB3aXRoIGEgdGhyZXNob2xkIChnaXZlbjxgTWVtYmVyQ291bnRgKS4UVm90ZWQUARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAARR2b3RlZCABEGJvb2wAAQx5ZXMQASxNZW1iZXJDb3VudAABCG5vEAEsTWVtYmVyQ291bnQAAQgFAUEgbW90aW9uIChnaXZlbiBoYXNoKSBoYXMgYmVlbiB2b3RlZCBvbiBieSBnaXZlbiBhY2NvdW50LCBsZWF2aW5nFQFhIHRhbGx5ICh5ZXMgdm90ZXMgYW5kIG5vIHZvdGVzIGdpdmVuIHJlc3BlY3RpdmVseSBhcyBgTWVtYmVyQ291bnRgKS4gQXBwcm92ZWQEATRwcm9wb3NhbF9oYXNoNAEcVDo6SGFzaAACBMBBIG1vdGlvbiB3YXMgYXBwcm92ZWQgYnkgdGhlIHJlcXVpcmVkIHRocmVzaG9sZC4sRGlzYXBwcm92ZWQEATRwcm9wb3NhbF9oYXNoNAEcVDo6SGFzaAADBNBBIG1vdGlvbiB3YXMgbm90IGFwcHJvdmVkIGJ5IHRoZSByZXF1aXJlZCB0aHJlc2hvbGQuIEV4ZWN1dGVkCAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAARhyZXN1bHSYAThEaXNwYXRjaFJlc3VsdAAEBCEBQSBtb3Rpb24gd2FzIGV4ZWN1dGVkOyByZXN1bHQgd2lsbCBiZSBgT2tgIGlmIGl0IHJldHVybmVkIHdpdGhvdXQgZXJyb3IuOE1lbWJlckV4ZWN1dGVkCAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAARhyZXN1bHSYAThEaXNwYXRjaFJlc3VsdAAFBEkBQSBzaW5nbGUgbWVtYmVyIGRpZCBzb21lIGFjdGlvbjsgcmVzdWx0IHdpbGwgYmUgYE9rYCBpZiBpdCByZXR1cm5lZCB3aXRob3V0IGVycm9yLhhDbG9zZWQMATRwcm9wb3NhbF9oYXNoNAEcVDo6SGFzaAABDHllcxABLE1lbWJlckNvdW50AAEIbm8QASxNZW1iZXJDb3VudAAGBFUBQSBwcm9wb3NhbCB3YXMgY2xvc2VkIGJlY2F1c2UgaXRzIHRocmVzaG9sZCB3YXMgcmVhY2hlZCBvciBhZnRlciBpdHMgZHVyYXRpb24gd2FzIHVwLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldNAMLHBhbGxldF90aXBzGHBhbGxldBRFdmVudAgEVAAESQABFBhOZXdUaXAEASB0aXBfaGFzaDQBHFQ6Okhhc2gAAASUQSBuZXcgdGlwIHN1Z2dlc3Rpb24gaGFzIGJlZW4gb3BlbmVkLihUaXBDbG9zaW5nBAEgdGlwX2hhc2g0ARxUOjpIYXNoAAEE2EEgdGlwIHN1Z2dlc3Rpb24gaGFzIHJlYWNoZWQgdGhyZXNob2xkIGFuZCBpcyBjbG9zaW5nLiRUaXBDbG9zZWQMASB0aXBfaGFzaDQBHFQ6Okhhc2gAAQx3aG8AATBUOjpBY2NvdW50SWQAARhwYXlvdXQYATxCYWxhbmNlT2Y8VCwgST4AAgSEQSB0aXAgc3VnZ2VzdGlvbiBoYXMgYmVlbiBjbG9zZWQuMFRpcFJldHJhY3RlZAQBIHRpcF9oYXNoNAEcVDo6SGFzaAADBJBBIHRpcCBzdWdnZXN0aW9uIGhhcyBiZWVuIHJldHJhY3RlZC4oVGlwU2xhc2hlZAwBIHRpcF9oYXNoNAEcVDo6SGFzaAABGGZpbmRlcgABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATxCYWxhbmNlT2Y8VCwgST4ABASIQSB0aXAgc3VnZ2VzdGlvbiBoYXMgYmVlbiBzbGFzaGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldNQMMHBhbGxldF9wcm94eRhwYWxsZXQURXZlbnQEBFQAARQ0UHJveHlFeGVjdXRlZAQBGHJlc3VsdJgBOERpc3BhdGNoUmVzdWx0AAAEvEEgcHJveHkgd2FzIGV4ZWN1dGVkIGNvcnJlY3RseSwgd2l0aCB0aGUgZ2l2ZW4uLFB1cmVDcmVhdGVkEAEQcHVyZQABMFQ6OkFjY291bnRJZAABDHdobwABMFQ6OkFjY291bnRJZAABKHByb3h5X3R5cGXYATBUOjpQcm94eVR5cGUAAVBkaXNhbWJpZ3VhdGlvbl9pbmRleNwBDHUxNgABCNxBIHB1cmUgYWNjb3VudCBoYXMgYmVlbiBjcmVhdGVkIGJ5IG5ldyBwcm94eSB3aXRoIGdpdmVukGRpc2FtYmlndWF0aW9uIGluZGV4IGFuZCBwcm94eSB0eXBlLiRBbm5vdW5jZWQMARByZWFsAAEwVDo6QWNjb3VudElkAAEUcHJveHkAATBUOjpBY2NvdW50SWQAASRjYWxsX2hhc2g0ATRDYWxsSGFzaE9mPFQ+AAIE4EFuIGFubm91bmNlbWVudCB3YXMgcGxhY2VkIHRvIG1ha2UgYSBjYWxsIGluIHRoZSBmdXR1cmUuKFByb3h5QWRkZWQQASRkZWxlZ2F0b3IAATBUOjpBY2NvdW50SWQAASRkZWxlZ2F0ZWUAATBUOjpBY2NvdW50SWQAAShwcm94eV90eXBl2AEwVDo6UHJveHlUeXBlAAEUZGVsYXkQAURCbG9ja051bWJlckZvcjxUPgADBEhBIHByb3h5IHdhcyBhZGRlZC4wUHJveHlSZW1vdmVkEAEkZGVsZWdhdG9yAAEwVDo6QWNjb3VudElkAAEkZGVsZWdhdGVlAAEwVDo6QWNjb3VudElkAAEocHJveHlfdHlwZdgBMFQ6OlByb3h5VHlwZQABFGRlbGF5EAFEQmxvY2tOdW1iZXJGb3I8VD4ABARQQSBwcm94eSB3YXMgcmVtb3ZlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTYDDxoeWRyYWR4X3J1bnRpbWUYc3lzdGVtJFByb3h5VHlwZQABGAxBbnkAAAAsQ2FuY2VsUHJveHkAAQAoR292ZXJuYW5jZQACACBUcmFuc2ZlcgADACRMaXF1aWRpdHkABAA8TGlxdWlkaXR5TWluaW5nAAUAANwAAAUEAOAMPHBhbGxldF9tdWx0aXNpZxhwYWxsZXQURXZlbnQEBFQAARAsTmV3TXVsdGlzaWcMASRhcHByb3ZpbmcAATBUOjpBY2NvdW50SWQAASBtdWx0aXNpZwABMFQ6OkFjY291bnRJZAABJGNhbGxfaGFzaAQBIENhbGxIYXNoAAAEjEEgbmV3IG11bHRpc2lnIG9wZXJhdGlvbiBoYXMgYmVndW4uQE11bHRpc2lnQXBwcm92YWwQASRhcHByb3ZpbmcAATBUOjpBY2NvdW50SWQAASR0aW1lcG9pbnTkAXBUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+AAEgbXVsdGlzaWcAATBUOjpBY2NvdW50SWQAASRjYWxsX2hhc2gEASBDYWxsSGFzaAABBMhBIG11bHRpc2lnIG9wZXJhdGlvbiBoYXMgYmVlbiBhcHByb3ZlZCBieSBzb21lb25lLkBNdWx0aXNpZ0V4ZWN1dGVkFAEkYXBwcm92aW5nAAEwVDo6QWNjb3VudElkAAEkdGltZXBvaW505AFwVGltZXBvaW50PEJsb2NrTnVtYmVyRm9yPFQ+PgABIG11bHRpc2lnAAEwVDo6QWNjb3VudElkAAEkY2FsbF9oYXNoBAEgQ2FsbEhhc2gAARhyZXN1bHSYAThEaXNwYXRjaFJlc3VsdAACBJxBIG11bHRpc2lnIG9wZXJhdGlvbiBoYXMgYmVlbiBleGVjdXRlZC5ETXVsdGlzaWdDYW5jZWxsZWQQAShjYW5jZWxsaW5nAAEwVDo6QWNjb3VudElkAAEkdGltZXBvaW505AFwVGltZXBvaW50PEJsb2NrTnVtYmVyRm9yPFQ+PgABIG11bHRpc2lnAAEwVDo6QWNjb3VudElkAAEkY2FsbF9oYXNoBAEgQ2FsbEhhc2gAAwSgQSBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZW4gY2FuY2VsbGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldOQIPHBhbGxldF9tdWx0aXNpZyRUaW1lcG9pbnQELEJsb2NrTnVtYmVyARAACAEYaGVpZ2h0EAEsQmxvY2tOdW1iZXIAARRpbmRleBABDHUzMgAA6Aw4cGFsbGV0X3VuaXF1ZXMYcGFsbGV0FEV2ZW50CARUAARJAAFsHENyZWF0ZWQMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEcY3JlYXRvcgABMFQ6OkFjY291bnRJZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAAEbEEgYGNvbGxlY3Rpb25gIHdhcyBjcmVhdGVkLjBGb3JjZUNyZWF0ZWQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAAQSEQSBgY29sbGVjdGlvbmAgd2FzIGZvcmNlLWNyZWF0ZWQuJERlc3Ryb3llZAQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAAgR0QSBgY29sbGVjdGlvbmAgd2FzIGRlc3Ryb3llZC4YSXNzdWVkDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAADBFRBbiBgaXRlbWAgd2FzIGlzc3VlZC4sVHJhbnNmZXJyZWQQAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAAEBGhBbiBgaXRlbWAgd2FzIHRyYW5zZmVycmVkLhhCdXJuZWQMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAUEYEFuIGBpdGVtYCB3YXMgZGVzdHJveWVkLhhGcm96ZW4IAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAAGBFxTb21lIGBpdGVtYCB3YXMgZnJvemVuLhhUaGF3ZWQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAAHBFxTb21lIGBpdGVtYCB3YXMgdGhhd2VkLkBDb2xsZWN0aW9uRnJvemVuBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAIBHRTb21lIGBjb2xsZWN0aW9uYCB3YXMgZnJvemVuLkBDb2xsZWN0aW9uVGhhd2VkBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAJBHRTb21lIGBjb2xsZWN0aW9uYCB3YXMgdGhhd2VkLjBPd25lckNoYW5nZWQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEkbmV3X293bmVyAAEwVDo6QWNjb3VudElkAAoESFRoZSBvd25lciBjaGFuZ2VkLixUZWFtQ2hhbmdlZBABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARhpc3N1ZXIAATBUOjpBY2NvdW50SWQAARRhZG1pbgABMFQ6OkFjY291bnRJZAABHGZyZWV6ZXIAATBUOjpBY2NvdW50SWQACwRwVGhlIG1hbmFnZW1lbnQgdGVhbSBjaGFuZ2VkLkBBcHByb3ZlZFRyYW5zZmVyEAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABIGRlbGVnYXRlAAEwVDo6QWNjb3VudElkAAwIMQFBbiBgaXRlbWAgb2YgYSBgY29sbGVjdGlvbmAgaGFzIGJlZW4gYXBwcm92ZWQgYnkgdGhlIGBvd25lcmAgZm9yIHRyYW5zZmVyIGJ5NGEgYGRlbGVnYXRlYC5EQXBwcm92YWxDYW5jZWxsZWQQAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAEgZGVsZWdhdGUAATBUOjpBY2NvdW50SWQADQgZAUFuIGFwcHJvdmFsIGZvciBhIGBkZWxlZ2F0ZWAgYWNjb3VudCB0byB0cmFuc2ZlciB0aGUgYGl0ZW1gIG9mIGFuIGl0ZW2oYGNvbGxlY3Rpb25gIHdhcyBjYW5jZWxsZWQgYnkgaXRzIGBvd25lcmAuREl0ZW1TdGF0dXNDaGFuZ2VkBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAOBBEBQSBgY29sbGVjdGlvbmAgaGFzIGhhZCBpdHMgYXR0cmlidXRlcyBjaGFuZ2VkIGJ5IHRoZSBgRm9yY2VgIG9yaWdpbi5UQ29sbGVjdGlvbk1ldGFkYXRhU2V0DAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGRhdGHsAXhCb3VuZGVkVmVjPHU4LCBUOjpTdHJpbmdMaW1pdD4AASRpc19mcm96ZW4gARBib29sAA8EtE5ldyBtZXRhZGF0YSBoYXMgYmVlbiBzZXQgZm9yIGEgYGNvbGxlY3Rpb25gLmRDb2xsZWN0aW9uTWV0YWRhdGFDbGVhcmVkBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAQBLRNZXRhZGF0YSBoYXMgYmVlbiBjbGVhcmVkIGZvciBhIGBjb2xsZWN0aW9uYC4sTWV0YWRhdGFTZXQQAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABEGRhdGHsAXhCb3VuZGVkVmVjPHU4LCBUOjpTdHJpbmdMaW1pdD4AASRpc19mcm96ZW4gARBib29sABEEmE5ldyBtZXRhZGF0YSBoYXMgYmVlbiBzZXQgZm9yIGFuIGl0ZW0uPE1ldGFkYXRhQ2xlYXJlZAgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkABIEmE1ldGFkYXRhIGhhcyBiZWVuIGNsZWFyZWQgZm9yIGFuIGl0ZW0uLFJlZGVwb3NpdGVkCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABQHN1Y2Nlc3NmdWxfaXRlbXPwAThWZWM8VDo6SXRlbUlkPgATBJhNZXRhZGF0YSBoYXMgYmVlbiBjbGVhcmVkIGZvciBhbiBpdGVtLjBBdHRyaWJ1dGVTZXQQAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEobWF5YmVfaXRlbfQBRE9wdGlvbjxUOjpJdGVtSWQ+AAEMa2V5+AFsQm91bmRlZFZlYzx1OCwgVDo6S2V5TGltaXQ+AAEUdmFsdWX8AXRCb3VuZGVkVmVjPHU4LCBUOjpWYWx1ZUxpbWl0PgAUBAUBTmV3IGF0dHJpYnV0ZSBtZXRhZGF0YSBoYXMgYmVlbiBzZXQgZm9yIGEgYGNvbGxlY3Rpb25gIG9yIGBpdGVtYC5AQXR0cmlidXRlQ2xlYXJlZAwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAAShtYXliZV9pdGVt9AFET3B0aW9uPFQ6Okl0ZW1JZD4AAQxrZXn4AWxCb3VuZGVkVmVjPHU4LCBUOjpLZXlMaW1pdD4AFQQFAUF0dHJpYnV0ZSBtZXRhZGF0YSBoYXMgYmVlbiBjbGVhcmVkIGZvciBhIGBjb2xsZWN0aW9uYCBvciBgaXRlbWAuaE93bmVyc2hpcEFjY2VwdGFuY2VDaGFuZ2VkCAEMd2hvAAEwVDo6QWNjb3VudElkAAFAbWF5YmVfY29sbGVjdGlvbvQBXE9wdGlvbjxUOjpDb2xsZWN0aW9uSWQ+ABYEwE93bmVyc2hpcCBhY2NlcHRhbmNlIGhhcyBjaGFuZ2VkIGZvciBhbiBhY2NvdW50LlhDb2xsZWN0aW9uTWF4U3VwcGx5U2V0CAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABKG1heF9zdXBwbHkQAQx1MzIAFwSkTWF4IHN1cHBseSBoYXMgYmVlbiBzZXQgZm9yIGEgY29sbGVjdGlvbi4wSXRlbVByaWNlU2V0EAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRwcmljZRgBPEl0ZW1QcmljZTxULCBJPgABRHdoaXRlbGlzdGVkX2J1eWVyAQEBUE9wdGlvbjxUOjpBY2NvdW50SWQ+ABgEjFRoZSBwcmljZSB3YXMgc2V0IGZvciB0aGUgaW5zdGFuY2UuQEl0ZW1QcmljZVJlbW92ZWQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAAZBJxUaGUgcHJpY2UgZm9yIHRoZSBpbnN0YW5jZSB3YXMgcmVtb3ZlZC4oSXRlbUJvdWdodBQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUcHJpY2UYATxJdGVtUHJpY2U8VCwgST4AARhzZWxsZXIAATBUOjpBY2NvdW50SWQAARRidXllcgABMFQ6OkFjY291bnRJZAAaBExBbiBpdGVtIHdhcyBib3VnaHQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV07AxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAPAAAAIYAPQEGE9wdGlvbgQEVAEYAQgQTm9uZQAAABBTb21lBAAYAAABAAD4DExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAA/AxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAAEBBBhPcHRpb24EBFQBAAEIEE5vbmUAAAAQU29tZQQAAAAAAQAABQEMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQURXZlbnQEBFQAARAgTWlncmF0ZWQMAQx0b3AQAQx1MzIAARRjaGlsZBABDHUzMgABHGNvbXB1dGUJAQFATWlncmF0aW9uQ29tcHV0ZQAACDkBR2l2ZW4gbnVtYmVyIG9mIGAodG9wLCBjaGlsZClgIGtleXMgd2VyZSBtaWdyYXRlZCByZXNwZWN0aXZlbHksIHdpdGggdGhlIGdpdmVuKGBjb21wdXRlYC4cU2xhc2hlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgABBLRTb21lIGFjY291bnQgZ290IHNsYXNoZWQgYnkgdGhlIGdpdmVuIGFtb3VudC5UQXV0b01pZ3JhdGlvbkZpbmlzaGVkAAIEhFRoZSBhdXRvIG1pZ3JhdGlvbiB0YXNrIGZpbmlzaGVkLhhIYWx0ZWQEARRlcnJvcg0BASBFcnJvcjxUPgADBOxNaWdyYXRpb24gZ290IGhhbHRlZCBkdWUgdG8gYW4gZXJyb3Igb3IgbWlzcy1jb25maWd1cmF0aW9uLgRwSW5uZXIgZXZlbnRzIG9mIHRoaXMgcGFsbGV0LgkBDGxwYWxsZXRfc3RhdGVfdHJpZV9taWdyYXRpb24YcGFsbGV0QE1pZ3JhdGlvbkNvbXB1dGUAAQgYU2lnbmVkAAAAEEF1dG8AAQAADQEMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQURXJyb3IEBFQAARg8TWF4U2lnbmVkTGltaXRzAAAEgE1heCBzaWduZWQgbGltaXRzIG5vdCByZXNwZWN0ZWQuKEtleVRvb0xvbmcAARy0QSBrZXkgd2FzIGxvbmdlciB0aGFuIHRoZSBjb25maWd1cmVkIG1heGltdW0uABEBVGhpcyBtZWFucyB0aGF0IHRoZSBtaWdyYXRpb24gaGFsdGVkIGF0IHRoZSBjdXJyZW50IFtgUHJvZ3Jlc3NgXSBhbmQBAWNhbiBiZSByZXN1bWVkIHdpdGggYSBsYXJnZXIgW2BjcmF0ZTo6Q29uZmlnOjpNYXhLZXlMZW5gXSB2YWx1ZS4hAVJldHJ5aW5nIHdpdGggdGhlIHNhbWUgW2BjcmF0ZTo6Q29uZmlnOjpNYXhLZXlMZW5gXSB2YWx1ZSB3aWxsIG5vdCB3b3JrLkUBVGhlIHZhbHVlIHNob3VsZCBvbmx5IGJlIGluY3JlYXNlZCB0byBhdm9pZCBhIHN0b3JhZ2UgbWlncmF0aW9uIGZvciB0aGUgY3VycmVudGx5kHN0b3JlZCBbYGNyYXRlOjpQcm9ncmVzczo6TGFzdEtleWBdLjhOb3RFbm91Z2hGdW5kcwACBJRzdWJtaXR0ZXIgZG9lcyBub3QgaGF2ZSBlbm91Z2ggZnVuZHMuKEJhZFdpdG5lc3MAAwRoQmFkIHdpdG5lc3MgZGF0YSBwcm92aWRlZC5kU2lnbmVkTWlncmF0aW9uTm90QWxsb3dlZAAEBCUBU2lnbmVkIG1pZ3JhdGlvbiBpcyBub3QgYWxsb3dlZCBiZWNhdXNlIHRoZSBtYXhpbXVtIGxpbWl0IGlzIG5vdCBzZXQgeWV0LjBCYWRDaGlsZFJvb3QABQRgQmFkIGNoaWxkIHJvb3QgcHJvdmlkZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LhEBDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcYcGFsbGV0FEV2ZW50CARUAARJAAEQJERlbGVnYXRlZAgAAAEwVDo6QWNjb3VudElkAAAAATBUOjpBY2NvdW50SWQAAAQdAUFuIGFjY291bnQgaGFzIGRlbGVnYXRlZCB0aGVpciB2b3RlIHRvIGFub3RoZXIgYWNjb3VudC4gXFt3aG8sIHRhcmdldFxdLFVuZGVsZWdhdGVkBAAAATBUOjpBY2NvdW50SWQAAQT0QW4gXFthY2NvdW50XF0gaGFzIGNhbmNlbGxlZCBhIHByZXZpb3VzIGRlbGVnYXRpb24gb3BlcmF0aW9uLhRWb3RlZAgBDHdobwABMFQ6OkFjY291bnRJZAABEHZvdGUVAQFwQWNjb3VudFZvdGU8QmFsYW5jZU9mPFQsIEk+PgACBGRBbiBhY2NvdW50IHRoYXQgaGFzIHZvdGVkLFZvdGVSZW1vdmVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEQdm90ZRUBAXBBY2NvdW50Vm90ZTxCYWxhbmNlT2Y8VCwgST4+AAMEYEEgdm90ZSB0aGF0IGJlZW4gcmVtb3ZlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldBUBDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcQdm90ZSxBY2NvdW50Vm90ZQQcQmFsYW5jZQEYAQwgU3RhbmRhcmQIARB2b3RlGQEBEFZvdGUAARxiYWxhbmNlGAEcQmFsYW5jZQAAABRTcGxpdAgBDGF5ZRgBHEJhbGFuY2UAAQxuYXkYARxCYWxhbmNlAAEAMFNwbGl0QWJzdGFpbgwBDGF5ZRgBHEJhbGFuY2UAAQxuYXkYARxCYWxhbmNlAAEcYWJzdGFpbhgBHEJhbGFuY2UAAgAAGQEMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxB2b3RlEFZvdGUAAAQACAAAAB0BDEBwYWxsZXRfcmVmZXJlbmRhGHBhbGxldBRFdmVudAgEVAAESQABQCRTdWJtaXR0ZWQMARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uARR0cmFja9wBPFRyYWNrSWRPZjxULCBJPgQlAVRoZSB0cmFjayAoYW5kIGJ5IGV4dGVuc2lvbiBwcm9wb3NhbCBkaXNwYXRjaCBvcmlnaW4pIG9mIHRoaXMgcmVmZXJlbmR1bS4BIHByb3Bvc2FsIQEBTEJvdW5kZWRDYWxsT2Y8VCwgST4EgFRoZSBwcm9wb3NhbCBmb3IgdGhlIHJlZmVyZW5kdW0uAASAQSByZWZlcmVuZHVtIGhhcyBiZWVuIHN1Ym1pdHRlZC5URGVjaXNpb25EZXBvc2l0UGxhY2VkDAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEMd2hvAAEwVDo6QWNjb3VudElkBIxUaGUgYWNjb3VudCB3aG8gcGxhY2VkIHRoZSBkZXBvc2l0LgEYYW1vdW50GAE8QmFsYW5jZU9mPFQsIEk+BIRUaGUgYW1vdW50IHBsYWNlZCBieSB0aGUgYWNjb3VudC4BBJRUaGUgZGVjaXNpb24gZGVwb3NpdCBoYXMgYmVlbiBwbGFjZWQuXERlY2lzaW9uRGVwb3NpdFJlZnVuZGVkDAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEMd2hvAAEwVDo6QWNjb3VudElkBIxUaGUgYWNjb3VudCB3aG8gcGxhY2VkIHRoZSBkZXBvc2l0LgEYYW1vdW50GAE8QmFsYW5jZU9mPFQsIEk+BIRUaGUgYW1vdW50IHBsYWNlZCBieSB0aGUgYWNjb3VudC4CBJxUaGUgZGVjaXNpb24gZGVwb3NpdCBoYXMgYmVlbiByZWZ1bmRlZC44RGVwb3NpdFNsYXNoZWQIAQx3aG8AATBUOjpBY2NvdW50SWQEjFRoZSBhY2NvdW50IHdobyBwbGFjZWQgdGhlIGRlcG9zaXQuARhhbW91bnQYATxCYWxhbmNlT2Y8VCwgST4EhFRoZSBhbW91bnQgcGxhY2VkIGJ5IHRoZSBhY2NvdW50LgMEbEEgZGVwb3NpdCBoYXMgYmVlbiBzbGFzaGVkLjxEZWNpc2lvblN0YXJ0ZWQQARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uARR0cmFja9wBPFRyYWNrSWRPZjxULCBJPgQlAVRoZSB0cmFjayAoYW5kIGJ5IGV4dGVuc2lvbiBwcm9wb3NhbCBkaXNwYXRjaCBvcmlnaW4pIG9mIHRoaXMgcmVmZXJlbmR1bS4BIHByb3Bvc2FsIQEBTEJvdW5kZWRDYWxsT2Y8VCwgST4EgFRoZSBwcm9wb3NhbCBmb3IgdGhlIHJlZmVyZW5kdW0uARR0YWxseWEGASBUOjpUYWxseQS4VGhlIGN1cnJlbnQgdGFsbHkgb2Ygdm90ZXMgaW4gdGhpcyByZWZlcmVuZHVtLgQEvEEgcmVmZXJlbmR1bSBoYXMgbW92ZWQgaW50byB0aGUgZGVjaWRpbmcgcGhhc2UuOENvbmZpcm1TdGFydGVkBAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgUAOENvbmZpcm1BYm9ydGVkBAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgYAJENvbmZpcm1lZAgBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BFHRhbGx5YQYBIFQ6OlRhbGx5BLBUaGUgZmluYWwgdGFsbHkgb2Ygdm90ZXMgaW4gdGhpcyByZWZlcmVuZHVtLgcEIQFBIHJlZmVyZW5kdW0gaGFzIGVuZGVkIGl0cyBjb25maXJtYXRpb24gcGhhc2UgYW5kIGlzIHJlYWR5IGZvciBhcHByb3ZhbC4gQXBwcm92ZWQEARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uCAQNAUEgcmVmZXJlbmR1bSBoYXMgYmVlbiBhcHByb3ZlZCBhbmQgaXRzIHByb3Bvc2FsIGhhcyBiZWVuIHNjaGVkdWxlZC4gUmVqZWN0ZWQIARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uARR0YWxseWEGASBUOjpUYWxseQSwVGhlIGZpbmFsIHRhbGx5IG9mIHZvdGVzIGluIHRoaXMgcmVmZXJlbmR1bS4JBKxBIHByb3Bvc2FsIGhhcyBiZWVuIHJlamVjdGVkIGJ5IHJlZmVyZW5kdW0uIFRpbWVkT3V0CAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEUdGFsbHlhBgEgVDo6VGFsbHkEsFRoZSBmaW5hbCB0YWxseSBvZiB2b3RlcyBpbiB0aGlzIHJlZmVyZW5kdW0uCgTYQSByZWZlcmVuZHVtIGhhcyBiZWVuIHRpbWVkIG91dCB3aXRob3V0IGJlaW5nIGRlY2lkZWQuJENhbmNlbGxlZAgBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BFHRhbGx5YQYBIFQ6OlRhbGx5BLBUaGUgZmluYWwgdGFsbHkgb2Ygdm90ZXMgaW4gdGhpcyByZWZlcmVuZHVtLgsEgEEgcmVmZXJlbmR1bSBoYXMgYmVlbiBjYW5jZWxsZWQuGEtpbGxlZAgBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BFHRhbGx5YQYBIFQ6OlRhbGx5BLBUaGUgZmluYWwgdGFsbHkgb2Ygdm90ZXMgaW4gdGhpcyByZWZlcmVuZHVtLgwEdEEgcmVmZXJlbmR1bSBoYXMgYmVlbiBraWxsZWQuZFN1Ym1pc3Npb25EZXBvc2l0UmVmdW5kZWQMARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uAQx3aG8AATBUOjpBY2NvdW50SWQEjFRoZSBhY2NvdW50IHdobyBwbGFjZWQgdGhlIGRlcG9zaXQuARhhbW91bnQYATxCYWxhbmNlT2Y8VCwgST4EhFRoZSBhbW91bnQgcGxhY2VkIGJ5IHRoZSBhY2NvdW50Lg0EpFRoZSBzdWJtaXNzaW9uIGRlcG9zaXQgaGFzIGJlZW4gcmVmdW5kZWQuLE1ldGFkYXRhU2V0CAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEQaGFzaDQBHFQ6Okhhc2gEOFByZWltYWdlIGhhc2guDgScTWV0YWRhdGEgZm9yIGEgcmVmZXJlbmR1bSBoYXMgYmVlbiBzZXQuPE1ldGFkYXRhQ2xlYXJlZAgBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BEGhhc2g0ARxUOjpIYXNoBDhQcmVpbWFnZSBoYXNoLg8ErE1ldGFkYXRhIGZvciBhIHJlZmVyZW5kdW0gaGFzIGJlZW4gY2xlYXJlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQhARA0ZnJhbWVfc3VwcG9ydBh0cmFpdHMkcHJlaW1hZ2VzHEJvdW5kZWQIBFQBJQEESAFZBgEMGExlZ2FjeQQBEGhhc2g0ASRIOjpPdXRwdXQAAAAYSW5saW5lBABdBgE0Qm91bmRlZElubGluZQABABhMb29rdXAIARBoYXNoNAEkSDo6T3V0cHV0AAEMbGVuEAEMdTMyAAIAACUBCDxoeWRyYWR4X3J1bnRpbWUsUnVudGltZUNhbGwAAfwYU3lzdGVtBAApAQGtAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxTeXN0ZW0sIFJ1bnRpbWU+AAEAJFRpbWVzdGFtcAQAOQEBuQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8VGltZXN0YW1wLCBSdW50aW1lPgADACBCYWxhbmNlcwQAPQEBtQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8QmFsYW5jZXMsIFJ1bnRpbWU+AAcAXE11bHRpVHJhbnNhY3Rpb25QYXltZW50BABNAQHxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudCwgUnVudGltZT4AywAgVHJlYXN1cnkEAGUBAbUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFRyZWFzdXJ5LCBSdW50aW1lPgALABxVdGlsaXR5BABxAQGxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxVdGlsaXR5LCBSdW50aW1lPgANACBQcmVpbWFnZQQA3QEBtQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8UHJlaW1hZ2UsIFJ1bnRpbWU+AA8AIElkZW50aXR5BADlAQG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxJZGVudGl0eSwgUnVudGltZT4AEQAkRGVtb2NyYWN5BACVAgG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxEZW1vY3JhY3ksIFJ1bnRpbWU+ABMAJEVsZWN0aW9ucwQAoQIBuQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RWxlY3Rpb25zLCBSdW50aW1lPgAVABxDb3VuY2lsBACpAgGxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxDb3VuY2lsLCBSdW50aW1lPgAXAEhUZWNobmljYWxDb21taXR0ZWUEAK0CAd0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFRlY2huaWNhbENvbW1pdHRlZSwgUnVudGltZT4AGQAQVGlwcwQAsQIBpQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8VGlwcywgUnVudGltZT4AGwAUUHJveHkEALUCAakBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFByb3h5LCBSdW50aW1lPgAdACBNdWx0aXNpZwQAvQIBtQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8TXVsdGlzaWcsIFJ1bnRpbWU+AB8AHFVuaXF1ZXMEAMUCAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFVuaXF1ZXMsIFJ1bnRpbWU+ACAASFN0YXRlVHJpZU1pZ3JhdGlvbgQAzQIB3QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8U3RhdGVUcmllTWlncmF0aW9uLCBSdW50aW1lPgAjAEBDb252aWN0aW9uVm90aW5nBADlAgHVAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxDb252aWN0aW9uVm90aW5nLCBSdW50aW1lPgAkACRSZWZlcmVuZGEEAPECAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFJlZmVyZW5kYSwgUnVudGltZT4AJQAkV2hpdGVsaXN0BAD5AgG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxXaGl0ZWxpc3QsIFJ1bnRpbWU+ACcAKERpc3BhdGNoZXIEAP0CAb0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPERpc3BhdGNoZXIsIFJ1bnRpbWU+ACgANEFzc2V0UmVnaXN0cnkEAAEDAckBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEFzc2V0UmVnaXN0cnksIFJ1bnRpbWU+ADMAGENsYWltcwQAOQMBrQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q2xhaW1zLCBSdW50aW1lPgA1ADhHZW5lc2lzSGlzdG9yeQQAQQMBzQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8R2VuZXNpc0hpc3RvcnksIFJ1bnRpbWU+ADcAIE9tbmlwb29sBABFAwG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxPbW5pcG9vbCwgUnVudGltZT4AOwBAVHJhbnNhY3Rpb25QYXVzZQQAVQMB1QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8VHJhbnNhY3Rpb25QYXVzZSwgUnVudGltZT4APAAYRHVzdGVyBABZAwGtAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxEdXN0ZXIsIFJ1bnRpbWU+AD0ATE9tbmlwb29sV2FyZWhvdXNlTE0EAF0DAeEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPE9tbmlwb29sV2FyZWhvdXNlTE0sIFJ1bnRpbWU+AD4AXE9tbmlwb29sTGlxdWlkaXR5TWluaW5nBABhAwHxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxPbW5pcG9vbExpcXVpZGl0eU1pbmluZywgUnVudGltZT4APwAMT1RDBACVAwGhAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxPVEMsIFJ1bnRpbWU+AEAAOENpcmN1aXRCcmVha2VyBACZAwHNAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxDaXJjdWl0QnJlYWtlciwgUnVudGltZT4AQQAYUm91dGVyBAChAwGtAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxSb3V0ZXIsIFJ1bnRpbWU+AEMALER5bmFtaWNGZWVzBAC5AwHBAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxEeW5hbWljRmVlcywgUnVudGltZT4ARAAcU3Rha2luZwQAvQMBsQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8U3Rha2luZywgUnVudGltZT4ARQAoU3RhYmxlc3dhcAQAwQMBvQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8U3RhYmxlc3dhcCwgUnVudGltZT4ARgAUQm9uZHMEAOEDAakBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEJvbmRzLCBSdW50aW1lPgBHADhPdGNTZXR0bGVtZW50cwQA5QMBzQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8T3RjU2V0dGxlbWVudHMsIFJ1bnRpbWU+AEgADExCUAQA6QMBoQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8TEJQLCBSdW50aW1lPgBJAAxYWUsEAPUDAaEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFhZSywgUnVudGltZT4ASgAkUmVmZXJyYWxzBAD5AwG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxSZWZlcnJhbHMsIFJ1bnRpbWU+AEsALExpcXVpZGF0aW9uBAAJBAHBAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxMaXF1aWRhdGlvbiwgUnVudGltZT4ATAAYVG9rZW5zBAANBAGtAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxUb2tlbnMsIFJ1bnRpbWU+AE0AKEN1cnJlbmNpZXMEABEEAb0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEN1cnJlbmNpZXMsIFJ1bnRpbWU+AE8AHFZlc3RpbmcEABkEAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFZlc3RpbmcsIFJ1bnRpbWU+AFEADEVWTQQAJQQBoQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RVZNLCBSdW50aW1lPgBaACBFdGhlcmV1bQQANQQBtQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RXRoZXJldW0sIFJ1bnRpbWU+AFwALEVWTUFjY291bnRzBABdBAHBAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxFVk1BY2NvdW50cywgUnVudGltZT4AXQBIWFlLTGlxdWlkaXR5TWluaW5nBABhBAHdAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxYWUtMaXF1aWRpdHlNaW5pbmcsIFJ1bnRpbWU+AF8AOFhZS1dhcmVob3VzZUxNBABxBAHNAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxYWUtXYXJlaG91c2VMTSwgUnVudGltZT4AYAA4UmVsYXlDaGFpbkluZm8EAHUEAc0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFJlbGF5Q2hhaW5JbmZvLCBSdW50aW1lPgDJAAxEQ0EEAHkEAaEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPERDQSwgUnVudGltZT4AQgAkU2NoZWR1bGVyBACJBAG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxTY2hlZHVsZXIsIFJ1bnRpbWU+AAUAPFBhcmFjaGFpblN5c3RlbQQAjQQB0QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8UGFyYWNoYWluU3lzdGVtLCBSdW50aW1lPgBnADRQYXJhY2hhaW5JbmZvBADBBAHJAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQYXJhY2hhaW5JbmZvLCBSdW50aW1lPgBpACxQb2xrYWRvdFhjbQQAxQQBwQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8UG9sa2Fkb3RYY20sIFJ1bnRpbWU+AGsAKEN1bXVsdXNYY20EACUGAb0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEN1bXVsdXNYY20sIFJ1bnRpbWU+AG0AME1lc3NhZ2VRdWV1ZQQAKQYBxQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8TWVzc2FnZVF1ZXVlLCBSdW50aW1lPgByABxPcm1sWGNtBAAxBgGxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxPcm1sWGNtLCBSdW50aW1lPgCHABxYVG9rZW5zBAA1BgGxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxYVG9rZW5zLCBSdW50aW1lPgCJAERDb2xsYXRvclNlbGVjdGlvbgQAQQYB2QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q29sbGF0b3JTZWxlY3Rpb24sIFJ1bnRpbWU+AKMAHFNlc3Npb24EAEUGAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFNlc3Npb24sIFJ1bnRpbWU+AKUAJEVtYU9yYWNsZQQAUQYBuQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RW1hT3JhY2xlLCBSdW50aW1lPgDKACRCcm9hZGNhc3QEAFUGAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEJyb2FkY2FzdCwgUnVudGltZT4AzAAAKQEMMGZyYW1lX3N5c3RlbRhwYWxsZXQQQ2FsbAQEVAABLBhyZW1hcmsEARhyZW1hcms4ARxWZWM8dTg+AAAMaE1ha2Ugc29tZSBvbi1jaGFpbiByZW1hcmsuAIhDYW4gYmUgZXhlY3V0ZWQgYnkgZXZlcnkgYG9yaWdpbmAuOHNldF9oZWFwX3BhZ2VzBAEUcGFnZXMwAQx1NjQAAQT4U2V0IHRoZSBudW1iZXIgb2YgcGFnZXMgaW4gdGhlIFdlYkFzc2VtYmx5IGVudmlyb25tZW50J3MgaGVhcC4gc2V0X2NvZGUEARBjb2RlOAEcVmVjPHU4PgACBGRTZXQgdGhlIG5ldyBydW50aW1lIGNvZGUuXHNldF9jb2RlX3dpdGhvdXRfY2hlY2tzBAEQY29kZTgBHFZlYzx1OD4AAxAZAVNldCB0aGUgbmV3IHJ1bnRpbWUgY29kZSB3aXRob3V0IGRvaW5nIGFueSBjaGVja3Mgb2YgdGhlIGdpdmVuIGBjb2RlYC4AUQFOb3RlIHRoYXQgcnVudGltZSB1cGdyYWRlcyB3aWxsIG5vdCBydW4gaWYgdGhpcyBpcyBjYWxsZWQgd2l0aCBhIG5vdC1pbmNyZWFzaW5nIHNwZWMgdmVyc2lvbiEsc2V0X3N0b3JhZ2UEARRpdGVtcy0BATRWZWM8S2V5VmFsdWU+AAQEaFNldCBzb21lIGl0ZW1zIG9mIHN0b3JhZ2UuMGtpbGxfc3RvcmFnZQQBEGtleXM1AQEgVmVjPEtleT4ABQR0S2lsbCBzb21lIGl0ZW1zIGZyb20gc3RvcmFnZS4sa2lsbF9wcmVmaXgIARhwcmVmaXg4AQxLZXkAARxzdWJrZXlzEAEMdTMyAAYQEQFLaWxsIGFsbCBzdG9yYWdlIGl0ZW1zIHdpdGggYSBrZXkgdGhhdCBzdGFydHMgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4LgA5ASoqTk9URToqKiBXZSByZWx5IG9uIHRoZSBSb290IG9yaWdpbiB0byBwcm92aWRlIHVzIHRoZSBudW1iZXIgb2Ygc3Via2V5cyB1bmRlcj0BdGhlIHByZWZpeCB3ZSBhcmUgcmVtb3ZpbmcgdG8gYWNjdXJhdGVseSBjYWxjdWxhdGUgdGhlIHdlaWdodCBvZiB0aGlzIGZ1bmN0aW9uLkRyZW1hcmtfd2l0aF9ldmVudAQBGHJlbWFyazgBHFZlYzx1OD4ABwSkTWFrZSBzb21lIG9uLWNoYWluIHJlbWFyayBhbmQgZW1pdCBldmVudC5EYXV0aG9yaXplX3VwZ3JhZGUEASRjb2RlX2hhc2g0ARxUOjpIYXNoAAkQYQFBdXRob3JpemUgYW4gdXBncmFkZSB0byBhIGdpdmVuIGBjb2RlX2hhc2hgIGZvciB0aGUgcnVudGltZS4gVGhlIHJ1bnRpbWUgY2FuIGJlIHN1cHBsaWVkGGxhdGVyLgB8VGhpcyBjYWxsIHJlcXVpcmVzIFJvb3Qgb3JpZ2luLoBhdXRob3JpemVfdXBncmFkZV93aXRob3V0X2NoZWNrcwQBJGNvZGVfaGFzaDQBHFQ6Okhhc2gACiBhAUF1dGhvcml6ZSBhbiB1cGdyYWRlIHRvIGEgZ2l2ZW4gYGNvZGVfaGFzaGAgZm9yIHRoZSBydW50aW1lLiBUaGUgcnVudGltZSBjYW4gYmUgc3VwcGxpZWQYbGF0ZXIuAF0BV0FSTklORzogVGhpcyBhdXRob3JpemVzIGFuIHVwZ3JhZGUgdGhhdCB3aWxsIHRha2UgcGxhY2Ugd2l0aG91dCBhbnkgc2FmZXR5IGNoZWNrcywgZm9yWQFleGFtcGxlIHRoYXQgdGhlIHNwZWMgbmFtZSByZW1haW5zIHRoZSBzYW1lIGFuZCB0aGF0IHRoZSB2ZXJzaW9uIG51bWJlciBpbmNyZWFzZXMuIE5vdPByZWNvbW1lbmRlZCBmb3Igbm9ybWFsIHVzZS4gVXNlIGBhdXRob3JpemVfdXBncmFkZWAgaW5zdGVhZC4AfFRoaXMgY2FsbCByZXF1aXJlcyBSb290IG9yaWdpbi5gYXBwbHlfYXV0aG9yaXplZF91cGdyYWRlBAEQY29kZTgBHFZlYzx1OD4ACyRVAVByb3ZpZGUgdGhlIHByZWltYWdlIChydW50aW1lIGJpbmFyeSkgYGNvZGVgIGZvciBhbiB1cGdyYWRlIHRoYXQgaGFzIGJlZW4gYXV0aG9yaXplZC4ASQFJZiB0aGUgYXV0aG9yaXphdGlvbiByZXF1aXJlZCBhIHZlcnNpb24gY2hlY2ssIHRoaXMgY2FsbCB3aWxsIGVuc3VyZSB0aGUgc3BlYyBuYW1l6HJlbWFpbnMgdW5jaGFuZ2VkIGFuZCB0aGF0IHRoZSBzcGVjIHZlcnNpb24gaGFzIGluY3JlYXNlZC4AWQFEZXBlbmRpbmcgb24gdGhlIHJ1bnRpbWUncyBgT25TZXRDb2RlYCBjb25maWd1cmF0aW9uLCB0aGlzIGZ1bmN0aW9uIG1heSBkaXJlY3RseSBhcHBseREBdGhlIG5ldyBgY29kZWAgaW4gdGhlIHNhbWUgYmxvY2sgb3IgYXR0ZW1wdCB0byBzY2hlZHVsZSB0aGUgdXBncmFkZS4AYEFsbCBvcmlnaW5zIGFyZSBhbGxvd2VkLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4tAQAAAjEBADEBAAAECDg4ADUBAAACOAA5AQxAcGFsbGV0X3RpbWVzdGFtcBhwYWxsZXQQQ2FsbAQEVAABBAxzZXQEAQxub3csASRUOjpNb21lbnQAAExUU2V0IHRoZSBjdXJyZW50IHRpbWUuAFUBVGhpcyBjYWxsIHNob3VsZCBiZSBpbnZva2VkIGV4YWN0bHkgb25jZSBwZXIgYmxvY2suIEl0IHdpbGwgcGFuaWMgYXQgdGhlIGZpbmFsaXphdGlvbtRwaGFzZSwgaWYgdGhpcyBjYWxsIGhhc24ndCBiZWVuIGludm9rZWQgYnkgdGhhdCB0aW1lLgBBAVRoZSB0aW1lc3RhbXAgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aGUgcHJldmlvdXMgb25lIGJ5IHRoZSBhbW91bnQgc3BlY2lmaWVkIGJ5aFtgQ29uZmlnOjpNaW5pbXVtUGVyaW9kYF0uAMRUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfTm9uZV8uAFEBVGhpcyBkaXNwYXRjaCBjbGFzcyBpcyBfTWFuZGF0b3J5XyB0byBlbnN1cmUgaXQgZ2V0cyBleGVjdXRlZCBpbiB0aGUgYmxvY2suIEJlIGF3YXJlUQF0aGF0IGNoYW5naW5nIHRoZSBjb21wbGV4aXR5IG9mIHRoaXMgY2FsbCBjb3VsZCByZXN1bHQgZXhoYXVzdGluZyB0aGUgcmVzb3VyY2VzIGluIGGEYmxvY2sgdG8gZXhlY3V0ZSBhbnkgb3RoZXIgY2FsbHMuADQjIyBDb21wbGV4aXR5MQEtIGBPKDEpYCAoTm90ZSB0aGF0IGltcGxlbWVudGF0aW9ucyBvZiBgT25UaW1lc3RhbXBTZXRgIG11c3QgYWxzbyBiZSBgTygxKWApVQEtIDEgc3RvcmFnZSByZWFkIGFuZCAxIHN0b3JhZ2UgbXV0YXRpb24gKGNvZGVjIGBPKDEpYCBiZWNhdXNlIG9mIGBEaWRVcGRhdGU6OnRha2VgIGluQCAgYG9uX2ZpbmFsaXplYCnULSAxIGV2ZW50IGhhbmRsZXIgYG9uX3RpbWVzdGFtcF9zZXRgLiBNdXN0IGJlIGBPKDEpYC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuPQEMPHBhbGxldF9iYWxhbmNlcxhwYWxsZXQQQ2FsbAgEVAAESQABJFB0cmFuc2Zlcl9hbGxvd19kZWF0aAgBEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFHZhbHVlQQEBKFQ6OkJhbGFuY2UAABzUVHJhbnNmZXIgc29tZSBsaXF1aWQgZnJlZSBiYWxhbmNlIHRvIGFub3RoZXIgYWNjb3VudC4ANQFgdHJhbnNmZXJfYWxsb3dfZGVhdGhgIHdpbGwgc2V0IHRoZSBgRnJlZUJhbGFuY2VgIG9mIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyLhEBSWYgdGhlIHNlbmRlcidzIGFjY291bnQgaXMgYmVsb3cgdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXQgYXMgYSByZXN1bHSwb2YgdGhlIHRyYW5zZmVyLCB0aGUgYWNjb3VudCB3aWxsIGJlIHJlYXBlZC4AFQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgU2lnbmVkYCBieSB0aGUgdHJhbnNhY3Rvci44Zm9yY2VfdHJhbnNmZXIMARhzb3VyY2UAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFHZhbHVlQQEBKFQ6OkJhbGFuY2UAAghhAUV4YWN0bHkgYXMgYHRyYW5zZmVyX2FsbG93X2RlYXRoYCwgZXhjZXB0IHRoZSBvcmlnaW4gbXVzdCBiZSByb290IGFuZCB0aGUgc291cmNlIGFjY291bnREbWF5IGJlIHNwZWNpZmllZC5MdHJhbnNmZXJfa2VlcF9hbGl2ZQgBEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFHZhbHVlQQEBKFQ6OkJhbGFuY2UAAxhZAVNhbWUgYXMgdGhlIFtgdHJhbnNmZXJfYWxsb3dfZGVhdGhgXSBjYWxsLCBidXQgd2l0aCBhIGNoZWNrIHRoYXQgdGhlIHRyYW5zZmVyIHdpbGwgbm90YGtpbGwgdGhlIG9yaWdpbiBhY2NvdW50LgDoOTklIG9mIHRoZSB0aW1lIHlvdSB3YW50IFtgdHJhbnNmZXJfYWxsb3dfZGVhdGhgXSBpbnN0ZWFkLgDwW2B0cmFuc2Zlcl9hbGxvd19kZWF0aGBdOiBzdHJ1Y3QuUGFsbGV0Lmh0bWwjbWV0aG9kLnRyYW5zZmVyMHRyYW5zZmVyX2FsbAgBEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKGtlZXBfYWxpdmUgARBib29sAAQ8BQFUcmFuc2ZlciB0aGUgZW50aXJlIHRyYW5zZmVyYWJsZSBiYWxhbmNlIGZyb20gdGhlIGNhbGxlciBhY2NvdW50LgBZAU5PVEU6IFRoaXMgZnVuY3Rpb24gb25seSBhdHRlbXB0cyB0byB0cmFuc2ZlciBfdHJhbnNmZXJhYmxlXyBiYWxhbmNlcy4gVGhpcyBtZWFucyB0aGF0YQFhbnkgbG9ja2VkLCByZXNlcnZlZCwgb3IgZXhpc3RlbnRpYWwgZGVwb3NpdHMgKHdoZW4gYGtlZXBfYWxpdmVgIGlzIGB0cnVlYCksIHdpbGwgbm90IGJlXQF0cmFuc2ZlcnJlZCBieSB0aGlzIGZ1bmN0aW9uLiBUbyBlbnN1cmUgdGhhdCB0aGlzIGZ1bmN0aW9uIHJlc3VsdHMgaW4gYSBraWxsZWQgYWNjb3VudCxFAXlvdSBtaWdodCBuZWVkIHRvIHByZXBhcmUgdGhlIGFjY291bnQgYnkgcmVtb3ZpbmcgYW55IHJlZmVyZW5jZSBjb3VudGVycywgc3RvcmFnZUBkZXBvc2l0cywgZXRjLi4uAMBUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIFNpZ25lZC4AoC0gYGRlc3RgOiBUaGUgcmVjaXBpZW50IG9mIHRoZSB0cmFuc2Zlci5ZAS0gYGtlZXBfYWxpdmVgOiBBIGJvb2xlYW4gdG8gZGV0ZXJtaW5lIGlmIHRoZSBgdHJhbnNmZXJfYWxsYCBvcGVyYXRpb24gc2hvdWxkIHNlbmQgYWxsTQEgIG9mIHRoZSBmdW5kcyB0aGUgYWNjb3VudCBoYXMsIGNhdXNpbmcgdGhlIHNlbmRlciBhY2NvdW50IHRvIGJlIGtpbGxlZCAoZmFsc2UpLCBvclkBICB0cmFuc2ZlciBldmVyeXRoaW5nIGV4Y2VwdCBhdCBsZWFzdCB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdCwgd2hpY2ggd2lsbCBndWFyYW50ZWUgdG+cICBrZWVwIHRoZSBzZW5kZXIgYWNjb3VudCBhbGl2ZSAodHJ1ZSkuPGZvcmNlX3VucmVzZXJ2ZQgBDHdobwABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEYYW1vdW50GAEoVDo6QmFsYW5jZQAFDLBVbnJlc2VydmUgc29tZSBiYWxhbmNlIGZyb20gYSB1c2VyIGJ5IGZvcmNlLgBsQ2FuIG9ubHkgYmUgY2FsbGVkIGJ5IFJPT1QuQHVwZ3JhZGVfYWNjb3VudHMEAQx3aG9FAQFEVmVjPFQ6OkFjY291bnRJZD4ABiBwVXBncmFkZSBhIHNwZWNpZmllZCBhY2NvdW50LgB0LSBgb3JpZ2luYDogTXVzdCBiZSBgU2lnbmVkYC6QLSBgd2hvYDogVGhlIGFjY291bnQgdG8gYmUgdXBncmFkZWQuAFUBVGhpcyB3aWxsIHdhaXZlIHRoZSB0cmFuc2FjdGlvbiBmZWUgaWYgYXQgbGVhc3QgYWxsIGJ1dCAxMCUgb2YgdGhlIGFjY291bnRzIG5lZWRlZCB0b0EBYmUgdXBncmFkZWQuIChXZSBsZXQgc29tZSBub3QgaGF2ZSB0byBiZSB1cGdyYWRlZCBqdXN0IGluIG9yZGVyIHRvIGFsbG93IGZvciB0aGVYcG9zc2liaWxpdHkgb2YgY2h1cm4pLkRmb3JjZV9zZXRfYmFsYW5jZQgBDHdobwABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEgbmV3X2ZyZWVBAQEoVDo6QmFsYW5jZQAIDKxTZXQgdGhlIHJlZ3VsYXIgYmFsYW5jZSBvZiBhIGdpdmVuIGFjY291bnQuALBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgaXMgYHJvb3RgLmxmb3JjZV9hZGp1c3RfdG90YWxfaXNzdWFuY2UIASRkaXJlY3Rpb25JAQFMQWRqdXN0bWVudERpcmVjdGlvbgABFGRlbHRhQQEBKFQ6OkJhbGFuY2UACRS4QWRqdXN0IHRoZSB0b3RhbCBpc3N1YW5jZSBpbiBhIHNhdHVyYXRpbmcgd2F5LgD8Q2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHJvb3QgYW5kIGFsd2F5cyBuZWVkcyBhIHBvc2l0aXZlIGBkZWx0YWAuACQjIEV4YW1wbGUQYnVybggBFHZhbHVlQQEBKFQ6OkJhbGFuY2UAAShrZWVwX2FsaXZlIAEQYm9vbAAKHPxCdXJuIHRoZSBzcGVjaWZpZWQgbGlxdWlkIGZyZWUgYmFsYW5jZSBmcm9tIHRoZSBvcmlnaW4gYWNjb3VudC4AJQFJZiB0aGUgb3JpZ2luJ3MgYWNjb3VudCBlbmRzIHVwIGJlbG93IHRoZSBleGlzdGVudGlhbCBkZXBvc2l0IGFzIGEgcmVzdWx0CQFvZiB0aGUgYnVybiBhbmQgYGtlZXBfYWxpdmVgIGlzIGZhbHNlLCB0aGUgYWNjb3VudCB3aWxsIGJlIHJlYXBlZC4AUQFVbmxpa2Ugc2VuZGluZyBmdW5kcyB0byBhIF9idXJuXyBhZGRyZXNzLCB3aGljaCBtZXJlbHkgbWFrZXMgdGhlIGZ1bmRzIGluYWNjZXNzaWJsZSwhAXRoaXMgYGJ1cm5gIG9wZXJhdGlvbiB3aWxsIHJlZHVjZSB0b3RhbCBpc3N1YW5jZSBieSB0aGUgYW1vdW50IF9idXJuZWRfLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5BAQAABhgARQEAAAIAAEkBDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXNMQWRqdXN0bWVudERpcmVjdGlvbgABCCBJbmNyZWFzZQAAACBEZWNyZWFzZQABAABNAQyAcGFsbGV0X3RyYW5zYWN0aW9uX211bHRpX3BheW1lbnQYcGFsbGV0EENhbGwEBFQAARQwc2V0X2N1cnJlbmN5BAEgY3VycmVuY3kQATBBc3NldElkT2Y8VD4AADSgU2V0IHNlbGVjdGVkIGN1cnJlbmN5IGZvciBnaXZlbiBhY2NvdW50LgBhAVRoaXMgYWxsb3dzIHRvIHNldCBhIGN1cnJlbmN5IGZvciBhbiBhY2NvdW50IGluIHdoaWNoIGFsbCB0cmFuc2FjdGlvbiBmZWVzIHdpbGwgYmUgcGFpZC58QWNjb3VudCBiYWxhbmNlIGNhbm5vdCBiZSB6ZXJvLgBtAUluIGNhc2Ugb2Ygc3VmZmljaWVudCBhc3NldCwgdGhlIGNob3NlbiBjdXJyZW5jeSBtdXN0IGJlIGluIHRoZSBsaXN0IG9mIGFjY2VwdGVkIGN1cnJlbmNpZXNBAUluIGNhc2Ugb2YgaW5zdWZmaWNpZW50IGFzc2V0LCB0aGUgY2hvc2VuIGN1cnJlbmN5IG11c3QgaGF2ZSBhIFhZSyBwb29sIHdpdGggRE9UAHEBV2hlbiBjdXJyZW5jeSBpcyBzZXQsIGZpeGVkIGZlZSBpcyB3aXRoZHJhd24gZnJvbSB0aGUgYWNjb3VudCB0byBwYXkgZm9yIHRoZSBjdXJyZW5jeSBjaGFuZ2UA+EVWTSBhY2NvdW50cyBhcmUgbm93IGFsbG93ZWQgdG8gY2hhbmdlIHRoaWVyIHBheW1lbnQgY3VycmVuY3kuAKhFbWl0cyBgQ3VycmVuY3lTZXRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4wYWRkX2N1cnJlbmN5CAEgY3VycmVuY3kQATBBc3NldElkT2Y8VD4AARRwcmljZVEBARRQcmljZQABHMhBZGQgYSBjdXJyZW5jeSB0byB0aGUgbGlzdCBvZiBhY2NlcHRlZCBjdXJyZW5jaWVzLgCQT25seSBtZW1iZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uAEEBQ3VycmVuY3kgbXVzdCBub3QgYmUgYWxyZWFkeSBhY2NlcHRlZC4gQ29yZSBhc3NldCBpZCBjYW5ub3QgYmUgZXhwbGljaXRseSBhZGRlZC4AsEVtaXRzIGBDdXJyZW5jeUFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuPHJlbW92ZV9jdXJyZW5jeQQBIGN1cnJlbmN5EAEwQXNzZXRJZE9mPFQ+AAIY1FJlbW92ZSBjdXJyZW5jeSBmcm9tIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBjdXJyZW5jaWVztE9ubHkgc2VsZWN0ZWQgbWVtYmVycyBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbgB0Q29yZSBhc3NldCBjYW5ub3QgYmUgcmVtb3ZlZC4AoEVtaXRzIGBDdXJyZW5jeVJlbW92ZWRgIHdoZW4gc3VjY2Vzc2Z1bC5YcmVzZXRfcGF5bWVudF9jdXJyZW5jeQQBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQAAxS8UmVzZXQgY3VycmVuY3kgb2YgdGhlIHNwZWNpZmllZCBhY2NvdW50IHRvIEhEWC4VAUlmIHRoZSBhY2NvdW50IGlzIEVWTSBhY2NvdW50LCB0aGUgcGF5bWVudCBjdXJyZW5jeSBpcyByZXNldCB0byBXRVRILrhPbmx5IHNlbGVjdGVkIG1lbWJlcnMgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uAJBFbWl0cyBgQ3VycmVuY3lTZXRgIHdoZW4gc3VjY2Vzc2Z1bC48ZGlzcGF0Y2hfcGVybWl0JAEQZnJvbVUBARBIMTYwAAEIdG9VAQEQSDE2MAABFHZhbHVlXQEBEFUyNTYAARBkYXRhOAEcVmVjPHU4PgABJGdhc19saW1pdDABDHU2NAABIGRlYWRsaW5lXQEBEFUyNTYAAQR2CAEIdTgAAQRyNAEQSDI1NgABBHM0ARBIMjU2AAQQUERpc3BhdGNoIEVWTSBwZXJtaXQuwQFUaGUgbWFpbiBwdXJwb3NlIG9mIHRoaXMgZnVuY3Rpb24gaXMgdG8gYWxsb3cgRVZNIGFjY291bnRzIHRvIHBheSBmb3IgdGhlIHRyYW5zYWN0aW9uIGZlZSBpbiBub24tbmF0aXZlIGN1cnJlbmN50GJ5IGFsbG93aW5nIHRoZW0gdG8gc2VsZi1kaXNwYXRjaCBwcmUtc2lnbmVkIHBlcm1pdC7gVGhlIEVWTSBmZWUgaXMgcGFpZCBpbiB0aGUgY3VycmVuY3kgc2V0IGZvciB0aGUgYWNjb3VudC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuUQEMNHNwX2FyaXRobWV0aWMsZml4ZWRfcG9pbnQkRml4ZWRVMTI4AAAEABgBEHUxMjgAAFUBCDxwcmltaXRpdmVfdHlwZXMQSDE2MAAABABZAQEgW3U4OyAyMF0AAFkBAAADFAAAAAgAXQEIPHByaW1pdGl2ZV90eXBlcxBVMjU2AAAEAGEBASBbdTY0OyA0XQAAYQEAAAMEAAAAMABlAQw8cGFsbGV0X3RyZWFzdXJ5GHBhbGxldBBDYWxsCARUAARJAAEYLHNwZW5kX2xvY2FsCAEYYW1vdW50QQEBPEJhbGFuY2VPZjxULCBJPgABLGJlbmVmaWNpYXJ5AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AA0S4UHJvcG9zZSBhbmQgYXBwcm92ZSBhIHNwZW5kIG9mIHRyZWFzdXJ5IGZ1bmRzLgBIIyMgRGlzcGF0Y2ggT3JpZ2luAEUBTXVzdCBiZSBbYENvbmZpZzo6U3BlbmRPcmlnaW5gXSB3aXRoIHRoZSBgU3VjY2Vzc2AgdmFsdWUgYmVpbmcgYXQgbGVhc3QgYGFtb3VudGAuACwjIyMgRGV0YWlsc0UBTk9URTogRm9yIHJlY29yZC1rZWVwaW5nIHB1cnBvc2VzLCB0aGUgcHJvcG9zZXIgaXMgZGVlbWVkIHRvIGJlIGVxdWl2YWxlbnQgdG8gdGhlMGJlbmVmaWNpYXJ5LgA4IyMjIFBhcmFtZXRlcnNBAS0gYGFtb3VudGA6IFRoZSBhbW91bnQgdG8gYmUgdHJhbnNmZXJyZWQgZnJvbSB0aGUgdHJlYXN1cnkgdG8gdGhlIGBiZW5lZmljaWFyeWAu6C0gYGJlbmVmaWNpYXJ5YDogVGhlIGRlc3RpbmF0aW9uIGFjY291bnQgZm9yIHRoZSB0cmFuc2Zlci4AJCMjIEV2ZW50cwC0RW1pdHMgW2BFdmVudDo6U3BlbmRBcHByb3ZlZGBdIGlmIHN1Y2Nlc3NmdWwuPHJlbW92ZV9hcHByb3ZhbAQBLHByb3Bvc2FsX2lkaQEBNFByb3Bvc2FsSW5kZXgABFQtAUZvcmNlIGEgcHJldmlvdXNseSBhcHByb3ZlZCBwcm9wb3NhbCB0byBiZSByZW1vdmVkIGZyb20gdGhlIGFwcHJvdmFsIHF1ZXVlLgBIIyMgRGlzcGF0Y2ggT3JpZ2luAIRNdXN0IGJlIFtgQ29uZmlnOjpSZWplY3RPcmlnaW5gXS4AKCMjIERldGFpbHMAwFRoZSBvcmlnaW5hbCBkZXBvc2l0IHdpbGwgbm8gbG9uZ2VyIGJlIHJldHVybmVkLgA4IyMjIFBhcmFtZXRlcnOgLSBgcHJvcG9zYWxfaWRgOiBUaGUgaW5kZXggb2YgYSBwcm9wb3NhbAA4IyMjIENvbXBsZXhpdHmsLSBPKEEpIHdoZXJlIGBBYCBpcyB0aGUgbnVtYmVyIG9mIGFwcHJvdmFscwAoIyMjIEVycm9yc0UBLSBbYEVycm9yOjpQcm9wb3NhbE5vdEFwcHJvdmVkYF06IFRoZSBgcHJvcG9zYWxfaWRgIHN1cHBsaWVkIHdhcyBub3QgZm91bmQgaW4gdGhlUQEgIGFwcHJvdmFsIHF1ZXVlLCBpLmUuLCB0aGUgcHJvcG9zYWwgaGFzIG5vdCBiZWVuIGFwcHJvdmVkLiBUaGlzIGNvdWxkIGFsc28gbWVhbiB0aGVZASAgcHJvcG9zYWwgZG9lcyBub3QgZXhpc3QgYWx0b2dldGhlciwgdGh1cyB0aGVyZSBpcyBubyB3YXkgaXQgd291bGQgaGF2ZSBiZWVuIGFwcHJvdmVkVCAgaW4gdGhlIGZpcnN0IHBsYWNlLhRzcGVuZBABKGFzc2V0X2tpbmSQAURCb3g8VDo6QXNzZXRLaW5kPgABGGFtb3VudEEBAVBBc3NldEJhbGFuY2VPZjxULCBJPgABLGJlbmVmaWNpYXJ5AAF4Qm94PEJlbmVmaWNpYXJ5TG9va3VwT2Y8VCwgST4+AAEodmFsaWRfZnJvbW0BAWRPcHRpb248QmxvY2tOdW1iZXJGb3I8VD4+AAVouFByb3Bvc2UgYW5kIGFwcHJvdmUgYSBzcGVuZCBvZiB0cmVhc3VyeSBmdW5kcy4ASCMjIERpc3BhdGNoIE9yaWdpbgAdAU11c3QgYmUgW2BDb25maWc6OlNwZW5kT3JpZ2luYF0gd2l0aCB0aGUgYFN1Y2Nlc3NgIHZhbHVlIGJlaW5nIGF0IGxlYXN0VQFgYW1vdW50YCBvZiBgYXNzZXRfa2luZGAgaW4gdGhlIG5hdGl2ZSBhc3NldC4gVGhlIGFtb3VudCBvZiBgYXNzZXRfa2luZGAgaXMgY29udmVydGVk1GZvciBhc3NlcnRpb24gdXNpbmcgdGhlIFtgQ29uZmlnOjpCYWxhbmNlQ29udmVydGVyYF0uACgjIyBEZXRhaWxzAEkBQ3JlYXRlIGFuIGFwcHJvdmVkIHNwZW5kIGZvciB0cmFuc2ZlcnJpbmcgYSBzcGVjaWZpYyBgYW1vdW50YCBvZiBgYXNzZXRfa2luZGAgdG8gYWEBZGVzaWduYXRlZCBiZW5lZmljaWFyeS4gVGhlIHNwZW5kIG11c3QgYmUgY2xhaW1lZCB1c2luZyB0aGUgYHBheW91dGAgZGlzcGF0Y2hhYmxlIHdpdGhpbnR0aGUgW2BDb25maWc6OlBheW91dFBlcmlvZGBdLgA4IyMjIFBhcmFtZXRlcnMVAS0gYGFzc2V0X2tpbmRgOiBBbiBpbmRpY2F0b3Igb2YgdGhlIHNwZWNpZmljIGFzc2V0IGNsYXNzIHRvIGJlIHNwZW50LkEBLSBgYW1vdW50YDogVGhlIGFtb3VudCB0byBiZSB0cmFuc2ZlcnJlZCBmcm9tIHRoZSB0cmVhc3VyeSB0byB0aGUgYGJlbmVmaWNpYXJ5YC64LSBgYmVuZWZpY2lhcnlgOiBUaGUgYmVuZWZpY2lhcnkgb2YgdGhlIHNwZW5kLlUBLSBgdmFsaWRfZnJvbWA6IFRoZSBibG9jayBudW1iZXIgZnJvbSB3aGljaCB0aGUgc3BlbmQgY2FuIGJlIGNsYWltZWQuIEl0IGNhbiByZWZlciB0bxkBICB0aGUgcGFzdCBpZiB0aGUgcmVzdWx0aW5nIHNwZW5kIGhhcyBub3QgeWV0IGV4cGlyZWQgYWNjb3JkaW5nIHRvIHRoZUUBICBbYENvbmZpZzo6UGF5b3V0UGVyaW9kYF0uIElmIGBOb25lYCwgdGhlIHNwZW5kIGNhbiBiZSBjbGFpbWVkIGltbWVkaWF0ZWx5IGFmdGVyLCAgYXBwcm92YWwuACQjIyBFdmVudHMAyEVtaXRzIFtgRXZlbnQ6OkFzc2V0U3BlbmRBcHByb3ZlZGBdIGlmIHN1Y2Nlc3NmdWwuGHBheW91dAQBFGluZGV4EAEoU3BlbmRJbmRleAAGTDhDbGFpbSBhIHNwZW5kLgBIIyMgRGlzcGF0Y2ggT3JpZ2luADhNdXN0IGJlIHNpZ25lZAAoIyMgRGV0YWlscwBVAVNwZW5kcyBtdXN0IGJlIGNsYWltZWQgd2l0aGluIHNvbWUgdGVtcG9yYWwgYm91bmRzLiBBIHNwZW5kIG1heSBiZSBjbGFpbWVkIHdpdGhpbiBvbmXUW2BDb25maWc6OlBheW91dFBlcmlvZGBdIGZyb20gdGhlIGB2YWxpZF9mcm9tYCBibG9jay5VAUluIGNhc2Ugb2YgYSBwYXlvdXQgZmFpbHVyZSwgdGhlIHNwZW5kIHN0YXR1cyBtdXN0IGJlIHVwZGF0ZWQgd2l0aCB0aGUgYGNoZWNrX3N0YXR1c2DcZGlzcGF0Y2hhYmxlIGJlZm9yZSByZXRyeWluZyB3aXRoIHRoZSBjdXJyZW50IGZ1bmN0aW9uLgA4IyMjIFBhcmFtZXRlcnNsLSBgaW5kZXhgOiBUaGUgc3BlbmQgaW5kZXguACQjIyBFdmVudHMAkEVtaXRzIFtgRXZlbnQ6OlBhaWRgXSBpZiBzdWNjZXNzZnVsLjBjaGVja19zdGF0dXMEARRpbmRleBABKFNwZW5kSW5kZXgAB0wpAUNoZWNrIHRoZSBzdGF0dXMgb2YgdGhlIHNwZW5kIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgc3RvcmFnZSBpZiBwcm9jZXNzZWQuAEgjIyBEaXNwYXRjaCBPcmlnaW4APE11c3QgYmUgc2lnbmVkLgAoIyMgRGV0YWlscwABAVRoZSBzdGF0dXMgY2hlY2sgaXMgYSBwcmVyZXF1aXNpdGUgZm9yIHJldHJ5aW5nIGEgZmFpbGVkIHBheW91dC5JAUlmIGEgc3BlbmQgaGFzIGVpdGhlciBzdWNjZWVkZWQgb3IgZXhwaXJlZCwgaXQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBzdG9yYWdlIGJ5IHRoaXPsZnVuY3Rpb24uIEluIHN1Y2ggaW5zdGFuY2VzLCB0cmFuc2FjdGlvbiBmZWVzIGFyZSByZWZ1bmRlZC4AOCMjIyBQYXJhbWV0ZXJzbC0gYGluZGV4YDogVGhlIHNwZW5kIGluZGV4LgAkIyMgRXZlbnRzAPhFbWl0cyBbYEV2ZW50OjpQYXltZW50RmFpbGVkYF0gaWYgdGhlIHNwZW5kIHBheW91dCBoYXMgZmFpbGVkLgEBRW1pdHMgW2BFdmVudDo6U3BlbmRQcm9jZXNzZWRgXSBpZiB0aGUgc3BlbmQgcGF5b3V0IGhhcyBzdWNjZWVkLih2b2lkX3NwZW5kBAEUaW5kZXgQAShTcGVuZEluZGV4AAhAfFZvaWQgcHJldmlvdXNseSBhcHByb3ZlZCBzcGVuZC4ASCMjIERpc3BhdGNoIE9yaWdpbgCETXVzdCBiZSBbYENvbmZpZzo6UmVqZWN0T3JpZ2luYF0uACgjIyBEZXRhaWxzAB0BQSBzcGVuZCB2b2lkIGlzIG9ubHkgcG9zc2libGUgaWYgdGhlIHBheW91dCBoYXMgbm90IGJlZW4gYXR0ZW1wdGVkIHlldC4AOCMjIyBQYXJhbWV0ZXJzbC0gYGluZGV4YDogVGhlIHNwZW5kIGluZGV4LgAkIyMgRXZlbnRzAMBFbWl0cyBbYEV2ZW50OjpBc3NldFNwZW5kVm9pZGVkYF0gaWYgc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuaQEAAAYQAG0BBBhPcHRpb24EBFQBEAEIEE5vbmUAAAAQU29tZQQAEAAAAQAAcQEMOHBhbGxldF91dGlsaXR5GHBhbGxldBBDYWxsBARUAAEYFGJhdGNoBAEUY2FsbHN1AQF8VmVjPDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgAASHxTZW5kIGEgYmF0Y2ggb2YgZGlzcGF0Y2ggY2FsbHMuALBNYXkgYmUgY2FsbGVkIGZyb20gYW55IG9yaWdpbiBleGNlcHQgYE5vbmVgLgBdAS0gYGNhbGxzYDogVGhlIGNhbGxzIHRvIGJlIGRpc3BhdGNoZWQgZnJvbSB0aGUgc2FtZSBvcmlnaW4uIFRoZSBudW1iZXIgb2YgY2FsbCBtdXN0IG5vdDkBICBleGNlZWQgdGhlIGNvbnN0YW50OiBgYmF0Y2hlZF9jYWxsc19saW1pdGAgKGF2YWlsYWJsZSBpbiBjb25zdGFudCBtZXRhZGF0YSkuAFUBSWYgb3JpZ2luIGlzIHJvb3QgdGhlbiB0aGUgY2FsbHMgYXJlIGRpc3BhdGNoZWQgd2l0aG91dCBjaGVja2luZyBvcmlnaW4gZmlsdGVyLiAoVGhpc+xpbmNsdWRlcyBieXBhc3NpbmcgYGZyYW1lX3N5c3RlbTo6Q29uZmlnOjpCYXNlQ2FsbEZpbHRlcmApLgA0IyMgQ29tcGxleGl0edAtIE8oQykgd2hlcmUgQyBpcyB0aGUgbnVtYmVyIG9mIGNhbGxzIHRvIGJlIGJhdGNoZWQuAFUBVGhpcyB3aWxsIHJldHVybiBgT2tgIGluIGFsbCBjaXJjdW1zdGFuY2VzLiBUbyBkZXRlcm1pbmUgdGhlIHN1Y2Nlc3Mgb2YgdGhlIGJhdGNoLCBhbjEBZXZlbnQgaXMgZGVwb3NpdGVkLiBJZiBhIGNhbGwgZmFpbGVkIGFuZCB0aGUgYmF0Y2ggd2FzIGludGVycnVwdGVkLCB0aGVuIHRoZVUBYEJhdGNoSW50ZXJydXB0ZWRgIGV2ZW50IGlzIGRlcG9zaXRlZCwgYWxvbmcgd2l0aCB0aGUgbnVtYmVyIG9mIHN1Y2Nlc3NmdWwgY2FsbHMgbWFkZU0BYW5kIHRoZSBlcnJvciBvZiB0aGUgZmFpbGVkIGNhbGwuIElmIGFsbCB3ZXJlIHN1Y2Nlc3NmdWwsIHRoZW4gdGhlIGBCYXRjaENvbXBsZXRlZGBMZXZlbnQgaXMgZGVwb3NpdGVkLjRhc19kZXJpdmF0aXZlCAEUaW5kZXjcAQx1MTYAARBjYWxsJQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AATTcU2VuZCBhIGNhbGwgdGhyb3VnaCBhbiBpbmRleGVkIHBzZXVkb255bSBvZiB0aGUgc2VuZGVyLgBVAUZpbHRlciBmcm9tIG9yaWdpbiBhcmUgcGFzc2VkIGFsb25nLiBUaGUgY2FsbCB3aWxsIGJlIGRpc3BhdGNoZWQgd2l0aCBhbiBvcmlnaW4gd2hpY2i8dXNlIHRoZSBzYW1lIGZpbHRlciBhcyB0aGUgb3JpZ2luIG9mIHRoaXMgY2FsbC4ARQFOT1RFOiBJZiB5b3UgbmVlZCB0byBlbnN1cmUgdGhhdCBhbnkgYWNjb3VudC1iYXNlZCBmaWx0ZXJpbmcgaXMgbm90IGhvbm9yZWQgKGkuZS5hAWJlY2F1c2UgeW91IGV4cGVjdCBgcHJveHlgIHRvIGhhdmUgYmVlbiB1c2VkIHByaW9yIGluIHRoZSBjYWxsIHN0YWNrIGFuZCB5b3UgZG8gbm90IHdhbnRRAXRoZSBjYWxsIHJlc3RyaWN0aW9ucyB0byBhcHBseSB0byBhbnkgc3ViLWFjY291bnRzKSwgdGhlbiB1c2UgYGFzX211bHRpX3RocmVzaG9sZF8xYHxpbiB0aGUgTXVsdGlzaWcgcGFsbGV0IGluc3RlYWQuAPROT1RFOiBQcmlvciB0byB2ZXJzaW9uICoxMiwgdGhpcyB3YXMgY2FsbGVkIGBhc19saW1pdGVkX3N1YmAuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4kYmF0Y2hfYWxsBAEUY2FsbHN1AQF8VmVjPDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgACNOxTZW5kIGEgYmF0Y2ggb2YgZGlzcGF0Y2ggY2FsbHMgYW5kIGF0b21pY2FsbHkgZXhlY3V0ZSB0aGVtLiEBVGhlIHdob2xlIHRyYW5zYWN0aW9uIHdpbGwgcm9sbGJhY2sgYW5kIGZhaWwgaWYgYW55IG9mIHRoZSBjYWxscyBmYWlsZWQuALBNYXkgYmUgY2FsbGVkIGZyb20gYW55IG9yaWdpbiBleGNlcHQgYE5vbmVgLgBdAS0gYGNhbGxzYDogVGhlIGNhbGxzIHRvIGJlIGRpc3BhdGNoZWQgZnJvbSB0aGUgc2FtZSBvcmlnaW4uIFRoZSBudW1iZXIgb2YgY2FsbCBtdXN0IG5vdDkBICBleGNlZWQgdGhlIGNvbnN0YW50OiBgYmF0Y2hlZF9jYWxsc19saW1pdGAgKGF2YWlsYWJsZSBpbiBjb25zdGFudCBtZXRhZGF0YSkuAFUBSWYgb3JpZ2luIGlzIHJvb3QgdGhlbiB0aGUgY2FsbHMgYXJlIGRpc3BhdGNoZWQgd2l0aG91dCBjaGVja2luZyBvcmlnaW4gZmlsdGVyLiAoVGhpc+xpbmNsdWRlcyBieXBhc3NpbmcgYGZyYW1lX3N5c3RlbTo6Q29uZmlnOjpCYXNlQ2FsbEZpbHRlcmApLgA0IyMgQ29tcGxleGl0edAtIE8oQykgd2hlcmUgQyBpcyB0aGUgbnVtYmVyIG9mIGNhbGxzIHRvIGJlIGJhdGNoZWQuLGRpc3BhdGNoX2FzCAEkYXNfb3JpZ2lueQEBVEJveDxUOjpQYWxsZXRzT3JpZ2luPgABEGNhbGwlAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgADGMhEaXNwYXRjaGVzIGEgZnVuY3Rpb24gY2FsbCB3aXRoIGEgcHJvdmlkZWQgb3JpZ2luLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgA0IyMgQ29tcGxleGl0eRwtIE8oMSkuLGZvcmNlX2JhdGNoBAEUY2FsbHN1AQF8VmVjPDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgAENHxTZW5kIGEgYmF0Y2ggb2YgZGlzcGF0Y2ggY2FsbHMu1FVubGlrZSBgYmF0Y2hgLCBpdCBhbGxvd3MgZXJyb3JzIGFuZCB3b24ndCBpbnRlcnJ1cHQuALBNYXkgYmUgY2FsbGVkIGZyb20gYW55IG9yaWdpbiBleGNlcHQgYE5vbmVgLgBdAS0gYGNhbGxzYDogVGhlIGNhbGxzIHRvIGJlIGRpc3BhdGNoZWQgZnJvbSB0aGUgc2FtZSBvcmlnaW4uIFRoZSBudW1iZXIgb2YgY2FsbCBtdXN0IG5vdDkBICBleGNlZWQgdGhlIGNvbnN0YW50OiBgYmF0Y2hlZF9jYWxsc19saW1pdGAgKGF2YWlsYWJsZSBpbiBjb25zdGFudCBtZXRhZGF0YSkuAE0BSWYgb3JpZ2luIGlzIHJvb3QgdGhlbiB0aGUgY2FsbHMgYXJlIGRpc3BhdGNoIHdpdGhvdXQgY2hlY2tpbmcgb3JpZ2luIGZpbHRlci4gKFRoaXPsaW5jbHVkZXMgYnlwYXNzaW5nIGBmcmFtZV9zeXN0ZW06OkNvbmZpZzo6QmFzZUNhbGxGaWx0ZXJgKS4ANCMjIENvbXBsZXhpdHnQLSBPKEMpIHdoZXJlIEMgaXMgdGhlIG51bWJlciBvZiBjYWxscyB0byBiZSBiYXRjaGVkLix3aXRoX3dlaWdodAgBEGNhbGwlAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgABGHdlaWdodCgBGFdlaWdodAAFGMREaXNwYXRjaCBhIGZ1bmN0aW9uIGNhbGwgd2l0aCBhIHNwZWNpZmllZCB3ZWlnaHQuAC0BVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBjaGVjayB0aGUgd2VpZ2h0IG9mIHRoZSBjYWxsLCBhbmQgaW5zdGVhZCBhbGxvd3MgdGhluFJvb3Qgb3JpZ2luIHRvIHNwZWNpZnkgdGhlIHdlaWdodCBvZiB0aGUgY2FsbC4AxFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9Sb290Xy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMudQEAAAIlAQB5AQg8aHlkcmFkeF9ydW50aW1lME9yaWdpbkNhbGxlcgABIBhzeXN0ZW0EAH0BAXRmcmFtZV9zeXN0ZW06Ok9yaWdpbjxSdW50aW1lPgABABxDb3VuY2lsBACBAQEBAXBhbGxldF9jb2xsZWN0aXZlOjpPcmlnaW48UnVudGltZSwgcGFsbGV0X2NvbGxlY3RpdmU6Okluc3RhbmNlMT4AFwBIVGVjaG5pY2FsQ29tbWl0dGVlBACFAQEBAXBhbGxldF9jb2xsZWN0aXZlOjpPcmlnaW48UnVudGltZSwgcGFsbGV0X2NvbGxlY3RpdmU6Okluc3RhbmNlMj4AGQAcT3JpZ2lucwQAiQEBdHBhbGxldF9jdXN0b21fb3JpZ2luczo6T3JpZ2luACYAIEV0aGVyZXVtBACNAQFccGFsbGV0X2V0aGVyZXVtOjpPcmlnaW4AXAAsUG9sa2Fkb3RYY20EAJEBAUhwYWxsZXRfeGNtOjpPcmlnaW4AawAoQ3VtdWx1c1hjbQQA0QEBaGN1bXVsdXNfcGFsbGV0X3hjbTo6T3JpZ2luAG0AEFZvaWQEANkBAUEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OgpfX3ByaXZhdGU6OlZvaWQABwAAfQEMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2gkUmF3T3JpZ2luBCRBY2NvdW50SWQBAAEMEFJvb3QAAAAYU2lnbmVkBAAAASRBY2NvdW50SWQAAQAQTm9uZQACAACBAQhEcGFsbGV0X2NvbGxlY3RpdmUkUmF3T3JpZ2luCCRBY2NvdW50SWQBAARJAAEMHE1lbWJlcnMIABABLE1lbWJlckNvdW50AAAQASxNZW1iZXJDb3VudAAAABhNZW1iZXIEAAABJEFjY291bnRJZAABACBfUGhhbnRvbQACAACFAQhEcGFsbGV0X2NvbGxlY3RpdmUkUmF3T3JpZ2luCCRBY2NvdW50SWQBAARJAAEMHE1lbWJlcnMIABABLE1lbWJlckNvdW50AAAQASxNZW1iZXJDb3VudAAAABhNZW1iZXIEAAABJEFjY291bnRJZAABACBfUGhhbnRvbQACAACJARQ8aHlkcmFkeF9ydW50aW1lKGdvdmVybmFuY2Ucb3JpZ2luc1RwYWxsZXRfY3VzdG9tX29yaWdpbnMYT3JpZ2luAAEkRFdoaXRlbGlzdGVkQ2FsbGVyAAAATFJlZmVyZW5kdW1DYW5jZWxsZXIAAQBAUmVmZXJlbmR1bUtpbGxlcgACADBHZW5lcmFsQWRtaW4AAwA0T21uaXBvb2xBZG1pbgAEACRUcmVhc3VyZXIABQAcU3BlbmRlcgAGABhUaXBwZXIABwBIRWNvbm9taWNQYXJhbWV0ZXJzAAgAAI0BCDxwYWxsZXRfZXRoZXJldW0kUmF3T3JpZ2luAAEETEV0aGVyZXVtVHJhbnNhY3Rpb24EAFUBARBIMTYwAAAAAJEBDChwYWxsZXRfeGNtGHBhbGxldBhPcmlnaW4AAQgMWGNtBACVAQEgTG9jYXRpb24AAAAgUmVzcG9uc2UEAJUBASBMb2NhdGlvbgABAACVARAsc3RhZ2luZ194Y20IdjQgbG9jYXRpb24gTG9jYXRpb24AAAgBHHBhcmVudHMIAQh1OAABIGludGVyaW9ymQEBJEp1bmN0aW9ucwAAmQEQLHN0YWdpbmdfeGNtCHY0JGp1bmN0aW9ucyRKdW5jdGlvbnMAASQQSGVyZQAAAAhYMQQAnQEBSEFyYzxbSnVuY3Rpb247IDFdPgABAAhYMgQAtQEBSEFyYzxbSnVuY3Rpb247IDJdPgACAAhYMwQAuQEBSEFyYzxbSnVuY3Rpb247IDNdPgADAAhYNAQAvQEBSEFyYzxbSnVuY3Rpb247IDRdPgAEAAhYNQQAwQEBSEFyYzxbSnVuY3Rpb247IDVdPgAFAAhYNgQAxQEBSEFyYzxbSnVuY3Rpb247IDZdPgAGAAhYNwQAyQEBSEFyYzxbSnVuY3Rpb247IDddPgAHAAhYOAQAzQEBSEFyYzxbSnVuY3Rpb247IDhdPgAIAACdAQAAAwEAAAChAQChARAsc3RhZ2luZ194Y20IdjQganVuY3Rpb24gSnVuY3Rpb24AASgkUGFyYWNoYWluBABpAQEMdTMyAAAALEFjY291bnRJZDMyCAEcbmV0d29ya6UBAURPcHRpb248TmV0d29ya0lkPgABCGlkBAEgW3U4OyAzMl0AAQA4QWNjb3VudEluZGV4NjQIARxuZXR3b3JrpQEBRE9wdGlvbjxOZXR3b3JrSWQ+AAEUaW5kZXgsAQx1NjQAAgAwQWNjb3VudEtleTIwCAEcbmV0d29ya6UBAURPcHRpb248TmV0d29ya0lkPgABDGtleVkBASBbdTg7IDIwXQADADhQYWxsZXRJbnN0YW5jZQQACAEIdTgABAAwR2VuZXJhbEluZGV4BABBAQEQdTEyOAAFAChHZW5lcmFsS2V5CAEYbGVuZ3RoCAEIdTgAARBkYXRhBAEgW3U4OyAzMl0ABgAkT25seUNoaWxkAAcAJFBsdXJhbGl0eQgBCGlkrQEBGEJvZHlJZAABEHBhcnSxAQEgQm9keVBhcnQACAA8R2xvYmFsQ29uc2Vuc3VzBACpAQEkTmV0d29ya0lkAAkAAKUBBBhPcHRpb24EBFQBqQEBCBBOb25lAAAAEFNvbWUEAKkBAAABAACpARAsc3RhZ2luZ194Y20IdjQganVuY3Rpb24kTmV0d29ya0lkAAEsJEJ5R2VuZXNpcwQABAEgW3U4OyAzMl0AAAAYQnlGb3JrCAEwYmxvY2tfbnVtYmVyMAEMdTY0AAEoYmxvY2tfaGFzaAQBIFt1ODsgMzJdAAEAIFBvbGthZG90AAIAGEt1c2FtYQADABxXZXN0ZW5kAAQAGFJvY29jbwAFABhXb2NvY28ABgAgRXRoZXJldW0EASBjaGFpbl9pZCwBDHU2NAAHACxCaXRjb2luQ29yZQAIACxCaXRjb2luQ2FzaAAJAEBQb2xrYWRvdEJ1bGxldGluAAoAAK0BEAx4Y20IdjMganVuY3Rpb24YQm9keUlkAAEoEFVuaXQAAAAcTW9uaWtlcgQASAEcW3U4OyA0XQABABRJbmRleAQAaQEBDHUzMgACACRFeGVjdXRpdmUAAwAkVGVjaG5pY2FsAAQALExlZ2lzbGF0aXZlAAUAIEp1ZGljaWFsAAYAHERlZmVuc2UABwA4QWRtaW5pc3RyYXRpb24ACAAgVHJlYXN1cnkACQAAsQEQDHhjbQh2MyBqdW5jdGlvbiBCb2R5UGFydAABFBRWb2ljZQAAABxNZW1iZXJzBAEUY291bnRpAQEMdTMyAAEAIEZyYWN0aW9uCAEMbm9taQEBDHUzMgABFGRlbm9taQEBDHUzMgACAERBdExlYXN0UHJvcG9ydGlvbggBDG5vbWkBAQx1MzIAARRkZW5vbWkBAQx1MzIAAwBITW9yZVRoYW5Qcm9wb3J0aW9uCAEMbm9taQEBDHUzMgABFGRlbm9taQEBDHUzMgAEAAC1AQAAAwIAAAChAQC5AQAAAwMAAAChAQC9AQAAAwQAAAChAQDBAQAAAwUAAAChAQDFAQAAAwYAAAChAQDJAQAAAwcAAAChAQDNAQAAAwgAAAChAQDRAQxIY3VtdWx1c19wYWxsZXRfeGNtGHBhbGxldBhPcmlnaW4AAQgUUmVsYXkAAABAU2libGluZ1BhcmFjaGFpbgQA1QEBGFBhcmFJZAABAADVAQx0cG9sa2Fkb3RfcGFyYWNoYWluX3ByaW1pdGl2ZXMocHJpbWl0aXZlcwhJZAAABAAQAQx1MzIAANkBCBxzcF9jb3JlEFZvaWQAAQAA3QEMPHBhbGxldF9wcmVpbWFnZRhwYWxsZXQQQ2FsbAQEVAABFDRub3RlX3ByZWltYWdlBAEUYnl0ZXM4ARxWZWM8dTg+AAAQdFJlZ2lzdGVyIGEgcHJlaW1hZ2Ugb24tY2hhaW4uAFUBSWYgdGhlIHByZWltYWdlIHdhcyBwcmV2aW91c2x5IHJlcXVlc3RlZCwgbm8gZmVlcyBvciBkZXBvc2l0cyBhcmUgdGFrZW4gZm9yIHByb3ZpZGluZ1UBdGhlIHByZWltYWdlLiBPdGhlcndpc2UsIGEgZGVwb3NpdCBpcyB0YWtlbiBwcm9wb3J0aW9uYWwgdG8gdGhlIHNpemUgb2YgdGhlIHByZWltYWdlLjx1bm5vdGVfcHJlaW1hZ2UEARBoYXNoNAEcVDo6SGFzaAABGNxDbGVhciBhbiB1bnJlcXVlc3RlZCBwcmVpbWFnZSBmcm9tIHRoZSBydW50aW1lIHN0b3JhZ2UuAPxJZiBgbGVuYCBpcyBwcm92aWRlZCwgdGhlbiBpdCB3aWxsIGJlIGEgbXVjaCBjaGVhcGVyIG9wZXJhdGlvbi4AAQEtIGBoYXNoYDogVGhlIGhhc2ggb2YgdGhlIHByZWltYWdlIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgc3RvcmUuuC0gYGxlbmA6IFRoZSBsZW5ndGggb2YgdGhlIHByZWltYWdlIG9mIGBoYXNoYC5AcmVxdWVzdF9wcmVpbWFnZQQBEGhhc2g0ARxUOjpIYXNoAAIQQQFSZXF1ZXN0IGEgcHJlaW1hZ2UgYmUgdXBsb2FkZWQgdG8gdGhlIGNoYWluIHdpdGhvdXQgcGF5aW5nIGFueSBmZWVzIG9yIGRlcG9zaXRzLgBVAUlmIHRoZSBwcmVpbWFnZSByZXF1ZXN0cyBoYXMgYWxyZWFkeSBiZWVuIHByb3ZpZGVkIG9uLWNoYWluLCB3ZSB1bnJlc2VydmUgYW55IGRlcG9zaXQ5AWEgdXNlciBtYXkgaGF2ZSBwYWlkLCBhbmQgdGFrZSB0aGUgY29udHJvbCBvZiB0aGUgcHJlaW1hZ2Ugb3V0IG9mIHRoZWlyIGhhbmRzLkh1bnJlcXVlc3RfcHJlaW1hZ2UEARBoYXNoNAEcVDo6SGFzaAADDLxDbGVhciBhIHByZXZpb3VzbHkgbWFkZSByZXF1ZXN0IGZvciBhIHByZWltYWdlLgAtAU5PVEU6IFRISVMgTVVTVCBOT1QgQkUgQ0FMTEVEIE9OIGBoYXNoYCBNT1JFIFRJTUVTIFRIQU4gYHJlcXVlc3RfcHJlaW1hZ2VgLjhlbnN1cmVfdXBkYXRlZAQBGGhhc2hlc+EBATBWZWM8VDo6SGFzaD4ABAzERW5zdXJlIHRoYXQgdGhlIGEgYnVsayBvZiBwcmUtaW1hZ2VzIGlzIHVwZ3JhZGVkLgA9AVRoZSBjYWxsZXIgcGF5cyBubyBmZWUgaWYgYXQgbGVhc3QgOTAlIG9mIHByZS1pbWFnZXMgd2VyZSBzdWNjZXNzZnVsbHkgdXBkYXRlZC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu4QEAAAI0AOUBDDxwYWxsZXRfaWRlbnRpdHkYcGFsbGV0EENhbGwEBFQAAVg0YWRkX3JlZ2lzdHJhcgQBHGFjY291bnQAAVBBY2NvdW50SWRMb29rdXBPZjxUPgAAHHhBZGQgYSByZWdpc3RyYXIgdG8gdGhlIHN5c3RlbS4A/FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBUOjpSZWdpc3RyYXJPcmlnaW5gLgCoLSBgYWNjb3VudGA6IHRoZSBhY2NvdW50IG9mIHRoZSByZWdpc3RyYXIuAJRFbWl0cyBgUmVnaXN0cmFyQWRkZWRgIGlmIHN1Y2Nlc3NmdWwuMHNldF9pZGVudGl0eQQBEGluZm/pAQFsQm94PFQ6OklkZW50aXR5SW5mb3JtYXRpb24+AAEoKQFTZXQgYW4gYWNjb3VudCdzIGlkZW50aXR5IGluZm9ybWF0aW9uIGFuZCByZXNlcnZlIHRoZSBhcHByb3ByaWF0ZSBkZXBvc2l0LgBVAUlmIHRoZSBhY2NvdW50IGFscmVhZHkgaGFzIGlkZW50aXR5IGluZm9ybWF0aW9uLCB0aGUgZGVwb3NpdCBpcyB0YWtlbiBhcyBwYXJ0IHBheW1lbnRQZm9yIHRoZSBuZXcgZGVwb3NpdC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgCMLSBgaW5mb2A6IFRoZSBpZGVudGl0eSBpbmZvcm1hdGlvbi4AiEVtaXRzIGBJZGVudGl0eVNldGAgaWYgc3VjY2Vzc2Z1bC4gc2V0X3N1YnMEARBzdWJzeQIBZFZlYzwoVDo6QWNjb3VudElkLCBEYXRhKT4AAiSMU2V0IHRoZSBzdWItYWNjb3VudHMgb2YgdGhlIHNlbmRlci4AVQFQYXltZW50OiBBbnkgYWdncmVnYXRlIGJhbGFuY2UgcmVzZXJ2ZWQgYnkgcHJldmlvdXMgYHNldF9zdWJzYCBjYWxscyB3aWxsIGJlIHJldHVybmVkLQFhbmQgYW4gYW1vdW50IGBTdWJBY2NvdW50RGVwb3NpdGAgd2lsbCBiZSByZXNlcnZlZCBmb3IgZWFjaCBpdGVtIGluIGBzdWJzYC4AYQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYSByZWdpc3RlcmVkJGlkZW50aXR5LgCwLSBgc3Vic2A6IFRoZSBpZGVudGl0eSdzIChuZXcpIHN1Yi1hY2NvdW50cy44Y2xlYXJfaWRlbnRpdHkAAyA5AUNsZWFyIGFuIGFjY291bnQncyBpZGVudGl0eSBpbmZvIGFuZCBhbGwgc3ViLWFjY291bnRzIGFuZCByZXR1cm4gYWxsIGRlcG9zaXRzLgDsUGF5bWVudDogQWxsIHJlc2VydmVkIGJhbGFuY2VzIG9uIHRoZSBhY2NvdW50IGFyZSByZXR1cm5lZC4AYQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYSByZWdpc3RlcmVkJGlkZW50aXR5LgCYRW1pdHMgYElkZW50aXR5Q2xlYXJlZGAgaWYgc3VjY2Vzc2Z1bC5EcmVxdWVzdF9qdWRnZW1lbnQIASRyZWdfaW5kZXhpAQE4UmVnaXN0cmFySW5kZXgAARxtYXhfZmVlQQEBMEJhbGFuY2VPZjxUPgAEQJRSZXF1ZXN0IGEganVkZ2VtZW50IGZyb20gYSByZWdpc3RyYXIuAFUBUGF5bWVudDogQXQgbW9zdCBgbWF4X2ZlZWAgd2lsbCBiZSByZXNlcnZlZCBmb3IgcGF5bWVudCB0byB0aGUgcmVnaXN0cmFyIGlmIGp1ZGdlbWVudBhnaXZlbi4ANQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYVByZWdpc3RlcmVkIGlkZW50aXR5LgAdAS0gYHJlZ19pbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGp1ZGdlbWVudCBpcyByZXF1ZXN0ZWQuVQEtIGBtYXhfZmVlYDogVGhlIG1heGltdW0gZmVlIHRoYXQgbWF5IGJlIHBhaWQuIFRoaXMgc2hvdWxkIGp1c3QgYmUgYXV0by1wb3B1bGF0ZWQgYXM6ADBgYGBub2NvbXBpbGXIUmVnaXN0cmFyczo6PFQ+OjpnZXQoKS5nZXQocmVnX2luZGV4KS51bndyYXAoKS5mZWUMYGBgAKRFbWl0cyBgSnVkZ2VtZW50UmVxdWVzdGVkYCBpZiBzdWNjZXNzZnVsLjhjYW5jZWxfcmVxdWVzdAQBJHJlZ19pbmRleBABOFJlZ2lzdHJhckluZGV4AAUoaENhbmNlbCBhIHByZXZpb3VzIHJlcXVlc3QuAPhQYXltZW50OiBBIHByZXZpb3VzbHkgcmVzZXJ2ZWQgZGVwb3NpdCBpcyByZXR1cm5lZCBvbiBzdWNjZXNzLgA1AVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3QgaGF2ZSBhUHJlZ2lzdGVyZWQgaWRlbnRpdHkuAEUBLSBgcmVnX2luZGV4YDogVGhlIGluZGV4IG9mIHRoZSByZWdpc3RyYXIgd2hvc2UganVkZ2VtZW50IGlzIG5vIGxvbmdlciByZXF1ZXN0ZWQuAKxFbWl0cyBgSnVkZ2VtZW50VW5yZXF1ZXN0ZWRgIGlmIHN1Y2Nlc3NmdWwuHHNldF9mZWUIARRpbmRleGkBAThSZWdpc3RyYXJJbmRleAABDGZlZUEBATBCYWxhbmNlT2Y8VD4ABhwZAVNldCB0aGUgZmVlIHJlcXVpcmVkIGZvciBhIGp1ZGdlbWVudCB0byBiZSByZXF1ZXN0ZWQgZnJvbSBhIHJlZ2lzdHJhci4AVQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGJlIHRoZSBhY2NvdW50oG9mIHRoZSByZWdpc3RyYXIgd2hvc2UgaW5kZXggaXMgYGluZGV4YC4A9C0gYGluZGV4YDogdGhlIGluZGV4IG9mIHRoZSByZWdpc3RyYXIgd2hvc2UgZmVlIGlzIHRvIGJlIHNldC5ULSBgZmVlYDogdGhlIG5ldyBmZWUuOHNldF9hY2NvdW50X2lkCAEUaW5kZXhpAQE4UmVnaXN0cmFySW5kZXgAAQxuZXcAAVBBY2NvdW50SWRMb29rdXBPZjxUPgAHHLxDaGFuZ2UgdGhlIGFjY291bnQgYXNzb2NpYXRlZCB3aXRoIGEgcmVnaXN0cmFyLgBVAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3QgYmUgdGhlIGFjY291bnSgb2YgdGhlIHJlZ2lzdHJhciB3aG9zZSBpbmRleCBpcyBgaW5kZXhgLgD0LSBgaW5kZXhgOiB0aGUgaW5kZXggb2YgdGhlIHJlZ2lzdHJhciB3aG9zZSBmZWUgaXMgdG8gYmUgc2V0LnAtIGBuZXdgOiB0aGUgbmV3IGFjY291bnQgSUQuKHNldF9maWVsZHMIARRpbmRleGkBAThSZWdpc3RyYXJJbmRleAABGGZpZWxkczABKQE8VDo6SWRlbnRpdHlJbmZvcm1hdGlvbiBhcyBJZGVudGl0eUluZm9ybWF0aW9uUHJvdmlkZXI+OjoKRmllbGRzSWRlbnRpZmllcgAIHKhTZXQgdGhlIGZpZWxkIGluZm9ybWF0aW9uIGZvciBhIHJlZ2lzdHJhci4AVQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGJlIHRoZSBhY2NvdW50oG9mIHRoZSByZWdpc3RyYXIgd2hvc2UgaW5kZXggaXMgYGluZGV4YC4A9C0gYGluZGV4YDogdGhlIGluZGV4IG9mIHRoZSByZWdpc3RyYXIgd2hvc2UgZmVlIGlzIHRvIGJlIHNldC4NAS0gYGZpZWxkc2A6IHRoZSBmaWVsZHMgdGhhdCB0aGUgcmVnaXN0cmFyIGNvbmNlcm5zIHRoZW1zZWx2ZXMgd2l0aC5EcHJvdmlkZV9qdWRnZW1lbnQQASRyZWdfaW5kZXhpAQE4UmVnaXN0cmFySW5kZXgAARh0YXJnZXQAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABJGp1ZGdlbWVudIECAVxKdWRnZW1lbnQ8QmFsYW5jZU9mPFQ+PgABIGlkZW50aXR5NAEcVDo6SGFzaAAJPLhQcm92aWRlIGEganVkZ2VtZW50IGZvciBhbiBhY2NvdW50J3MgaWRlbnRpdHkuAFUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBiZSB0aGUgYWNjb3VudLBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGluZGV4IGlzIGByZWdfaW5kZXhgLgAhAS0gYHJlZ19pbmRleGA6IHRoZSBpbmRleCBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGp1ZGdlbWVudCBpcyBiZWluZyBtYWRlLlUBLSBgdGFyZ2V0YDogdGhlIGFjY291bnQgd2hvc2UgaWRlbnRpdHkgdGhlIGp1ZGdlbWVudCBpcyB1cG9uLiBUaGlzIG11c3QgYmUgYW4gYWNjb3VudHQgIHdpdGggYSByZWdpc3RlcmVkIGlkZW50aXR5LkkBLSBganVkZ2VtZW50YDogdGhlIGp1ZGdlbWVudCBvZiB0aGUgcmVnaXN0cmFyIG9mIGluZGV4IGByZWdfaW5kZXhgIGFib3V0IGB0YXJnZXRgLl0BLSBgaWRlbnRpdHlgOiBUaGUgaGFzaCBvZiB0aGUgW2BJZGVudGl0eUluZm9ybWF0aW9uUHJvdmlkZXJgXSBmb3IgdGhhdCB0aGUganVkZ2VtZW50IGlzLCAgcHJvdmlkZWQuALBOb3RlOiBKdWRnZW1lbnRzIGRvIG5vdCBhcHBseSB0byBhIHVzZXJuYW1lLgCURW1pdHMgYEp1ZGdlbWVudEdpdmVuYCBpZiBzdWNjZXNzZnVsLjRraWxsX2lkZW50aXR5BAEYdGFyZ2V0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4ACjBBAVJlbW92ZSBhbiBhY2NvdW50J3MgaWRlbnRpdHkgYW5kIHN1Yi1hY2NvdW50IGluZm9ybWF0aW9uIGFuZCBzbGFzaCB0aGUgZGVwb3NpdHMuAGEBUGF5bWVudDogUmVzZXJ2ZWQgYmFsYW5jZXMgZnJvbSBgc2V0X3N1YnNgIGFuZCBgc2V0X2lkZW50aXR5YCBhcmUgc2xhc2hlZCBhbmQgaGFuZGxlZCBieUUBYFNsYXNoYC4gVmVyaWZpY2F0aW9uIHJlcXVlc3QgZGVwb3NpdHMgYXJlIG5vdCByZXR1cm5lZDsgdGhleSBzaG91bGQgYmUgY2FuY2VsbGVkgG1hbnVhbGx5IHVzaW5nIGBjYW5jZWxfcmVxdWVzdGAuAPhUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBtYXRjaCBgVDo6Rm9yY2VPcmlnaW5gLgBVAS0gYHRhcmdldGA6IHRoZSBhY2NvdW50IHdob3NlIGlkZW50aXR5IHRoZSBqdWRnZW1lbnQgaXMgdXBvbi4gVGhpcyBtdXN0IGJlIGFuIGFjY291bnR0ICB3aXRoIGEgcmVnaXN0ZXJlZCBpZGVudGl0eS4AlEVtaXRzIGBJZGVudGl0eUtpbGxlZGAgaWYgc3VjY2Vzc2Z1bC4cYWRkX3N1YggBDHN1YgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEQZGF0YfUBARBEYXRhAAscrEFkZCB0aGUgZ2l2ZW4gYWNjb3VudCB0byB0aGUgc2VuZGVyJ3Mgc3Vicy4AXQFQYXltZW50OiBCYWxhbmNlIHJlc2VydmVkIGJ5IGEgcHJldmlvdXMgYHNldF9zdWJzYCBjYWxsIGZvciBvbmUgc3ViIHdpbGwgYmUgcmVwYXRyaWF0ZWQ4dG8gdGhlIHNlbmRlci4AYQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYSByZWdpc3RlcmVkWHN1YiBpZGVudGl0eSBvZiBgc3ViYC4ocmVuYW1lX3N1YggBDHN1YgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEQZGF0YfUBARBEYXRhAAwQzEFsdGVyIHRoZSBhc3NvY2lhdGVkIG5hbWUgb2YgdGhlIGdpdmVuIHN1Yi1hY2NvdW50LgBhAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3QgaGF2ZSBhIHJlZ2lzdGVyZWRYc3ViIGlkZW50aXR5IG9mIGBzdWJgLihyZW1vdmVfc3ViBAEMc3ViAAFQQWNjb3VudElkTG9va3VwT2Y8VD4ADRzAUmVtb3ZlIHRoZSBnaXZlbiBhY2NvdW50IGZyb20gdGhlIHNlbmRlcidzIHN1YnMuAF0BUGF5bWVudDogQmFsYW5jZSByZXNlcnZlZCBieSBhIHByZXZpb3VzIGBzZXRfc3Vic2AgY2FsbCBmb3Igb25lIHN1YiB3aWxsIGJlIHJlcGF0cmlhdGVkOHRvIHRoZSBzZW5kZXIuAGEBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBoYXZlIGEgcmVnaXN0ZXJlZFhzdWIgaWRlbnRpdHkgb2YgYHN1YmAuIHF1aXRfc3ViAA4ojFJlbW92ZSB0aGUgc2VuZGVyIGFzIGEgc3ViLWFjY291bnQuAF0BUGF5bWVudDogQmFsYW5jZSByZXNlcnZlZCBieSBhIHByZXZpb3VzIGBzZXRfc3Vic2AgY2FsbCBmb3Igb25lIHN1YiB3aWxsIGJlIHJlcGF0cmlhdGVktHRvIHRoZSBzZW5kZXIgKCpub3QqIHRoZSBvcmlnaW5hbCBkZXBvc2l0b3IpLgBhAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3QgaGF2ZSBhIHJlZ2lzdGVyZWQ8c3VwZXItaWRlbnRpdHkuAEUBTk9URTogVGhpcyBzaG91bGQgbm90IG5vcm1hbGx5IGJlIHVzZWQsIGJ1dCBpcyBwcm92aWRlZCBpbiB0aGUgY2FzZSB0aGF0IHRoZSBub24tEQFjb250cm9sbGVyIG9mIGFuIGFjY291bnQgaXMgbWFsaWNpb3VzbHkgcmVnaXN0ZXJlZCBhcyBhIHN1Yi1hY2NvdW50LlhhZGRfdXNlcm5hbWVfYXV0aG9yaXR5DAEkYXV0aG9yaXR5AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARhzdWZmaXg4ARxWZWM8dTg+AAEoYWxsb2NhdGlvbhABDHUzMgAPEFUBQWRkIGFuIGBBY2NvdW50SWRgIHdpdGggcGVybWlzc2lvbiB0byBncmFudCB1c2VybmFtZXMgd2l0aCBhIGdpdmVuIGBzdWZmaXhgIGFwcGVuZGVkLgBZAVRoZSBhdXRob3JpdHkgY2FuIGdyYW50IHVwIHRvIGBhbGxvY2F0aW9uYCB1c2VybmFtZXMuIFRvIHRvcCB1cCB0aGVpciBhbGxvY2F0aW9uLCB0aGV5SQFzaG91bGQganVzdCBpc3N1ZSAob3IgcmVxdWVzdCB2aWEgZ292ZXJuYW5jZSkgYSBuZXcgYGFkZF91c2VybmFtZV9hdXRob3JpdHlgIGNhbGwuZHJlbW92ZV91c2VybmFtZV9hdXRob3JpdHkEASRhdXRob3JpdHkAAVBBY2NvdW50SWRMb29rdXBPZjxUPgAQBMRSZW1vdmUgYGF1dGhvcml0eWAgZnJvbSB0aGUgdXNlcm5hbWUgYXV0aG9yaXRpZXMuQHNldF91c2VybmFtZV9mb3IMAQx3aG8AAVBBY2NvdW50SWRMb29rdXBPZjxUPgABIHVzZXJuYW1lOAEcVmVjPHU4PgABJHNpZ25hdHVyZYUCAXBPcHRpb248VDo6T2ZmY2hhaW5TaWduYXR1cmU+ABEkDQFTZXQgdGhlIHVzZXJuYW1lIGZvciBgd2hvYC4gTXVzdCBiZSBjYWxsZWQgYnkgYSB1c2VybmFtZSBhdXRob3JpdHkuAFUBVGhlIGF1dGhvcml0eSBtdXN0IGhhdmUgYW4gYGFsbG9jYXRpb25gLiBVc2VycyBjYW4gZWl0aGVyIHByZS1zaWduIHRoZWlyIHVzZXJuYW1lcyBvckhhY2NlcHQgdGhlbSBsYXRlci4APFVzZXJuYW1lcyBtdXN0OtggIC0gT25seSBjb250YWluIGxvd2VyY2FzZSBBU0NJSSBjaGFyYWN0ZXJzIG9yIGRpZ2l0cy41ASAgLSBXaGVuIGNvbWJpbmVkIHdpdGggdGhlIHN1ZmZpeCBvZiB0aGUgaXNzdWluZyBhdXRob3JpdHkgYmUgX2xlc3MgdGhhbl8gdGhlYCAgICBgTWF4VXNlcm5hbWVMZW5ndGhgLjxhY2NlcHRfdXNlcm5hbWUEASB1c2VybmFtZaQBLFVzZXJuYW1lPFQ+ABIITQFBY2NlcHQgYSBnaXZlbiB1c2VybmFtZSB0aGF0IGFuIGBhdXRob3JpdHlgIGdyYW50ZWQuIFRoZSBjYWxsIG11c3QgaW5jbHVkZSB0aGUgZnVsbIh1c2VybmFtZSwgYXMgaW4gYHVzZXJuYW1lLnN1ZmZpeGAuXHJlbW92ZV9leHBpcmVkX2FwcHJvdmFsBAEgdXNlcm5hbWWkASxVc2VybmFtZTxUPgATDGEBUmVtb3ZlIGFuIGV4cGlyZWQgdXNlcm5hbWUgYXBwcm92YWwuIFRoZSB1c2VybmFtZSB3YXMgYXBwcm92ZWQgYnkgYW4gYXV0aG9yaXR5IGJ1dCBuZXZlclUBYWNjZXB0ZWQgYnkgdGhlIHVzZXIgYW5kIG11c3Qgbm93IGJlIGJleW9uZCBpdHMgZXhwaXJhdGlvbi4gVGhlIGNhbGwgbXVzdCBpbmNsdWRlIHRoZZxmdWxsIHVzZXJuYW1lLCBhcyBpbiBgdXNlcm5hbWUuc3VmZml4YC5Qc2V0X3ByaW1hcnlfdXNlcm5hbWUEASB1c2VybmFtZaQBLFVzZXJuYW1lPFQ+ABQEMQFTZXQgYSBnaXZlbiB1c2VybmFtZSBhcyB0aGUgcHJpbWFyeS4gVGhlIHVzZXJuYW1lIHNob3VsZCBpbmNsdWRlIHRoZSBzdWZmaXguYHJlbW92ZV9kYW5nbGluZ191c2VybmFtZQQBIHVzZXJuYW1lpAEsVXNlcm5hbWU8VD4AFQhVAVJlbW92ZSBhIHVzZXJuYW1lIHRoYXQgY29ycmVzcG9uZHMgdG8gYW4gYWNjb3VudCB3aXRoIG5vIGlkZW50aXR5LiBFeGlzdHMgd2hlbiBhIHVzZXLAZ2V0cyBhIHVzZXJuYW1lIGJ1dCB0aGVuIGNhbGxzIGBjbGVhcl9pZGVudGl0eWAuBHBJZGVudGl0eSBwYWxsZXQgZGVjbGFyYXRpb24u6QEMPHBhbGxldF9pZGVudGl0eRhsZWdhY3kwSWRlbnRpdHlJbmZvBChGaWVsZExpbWl0AAAkAShhZGRpdGlvbmFs7QEBkEJvdW5kZWRWZWM8KERhdGEsIERhdGEpLCBGaWVsZExpbWl0PgABHGRpc3BsYXn1AQEQRGF0YQABFGxlZ2Fs9QEBEERhdGEAAQx3ZWL1AQEQRGF0YQABEHJpb3T1AQEQRGF0YQABFGVtYWls9QEBEERhdGEAATxwZ3BfZmluZ2VycHJpbnR1AgFAT3B0aW9uPFt1ODsgMjBdPgABFGltYWdl9QEBEERhdGEAARx0d2l0dGVy9QEBEERhdGEAAO0BDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQB8QEEUwAABABxAgEYVmVjPFQ+AADxAQAABAj1AfUBAPUBDDxwYWxsZXRfaWRlbnRpdHkUdHlwZXMQRGF0YQABmBBOb25lAAAAEFJhdzAEAPkBAAABABBSYXcxBAD9AQAAAgAQUmF3MgQAAQIAAAMAEFJhdzMEAAUCAAAEABBSYXc0BABIAAAFABBSYXc1BAAJAgAABgAQUmF3NgQADQIAAAcAEFJhdzcEABECAAAIABBSYXc4BAAVAgAACQAQUmF3OQQAGQIAAAoAFFJhdzEwBAAdAgAACwAUUmF3MTEEACECAAAMABRSYXcxMgQAJQIAAA0AFFJhdzEzBAApAgAADgAUUmF3MTQEAC0CAAAPABRSYXcxNQQAMQIAABAAFFJhdzE2BAA1AgAAEQAUUmF3MTcEADkCAAASABRSYXcxOAQAPQIAABMAFFJhdzE5BABBAgAAFAAUUmF3MjAEAFkBAAAVABRSYXcyMQQARQIAABYAFFJhdzIyBABJAgAAFwAUUmF3MjMEAE0CAAAYABRSYXcyNAQAUQIAABkAFFJhdzI1BABVAgAAGgAUUmF3MjYEAFkCAAAbABRSYXcyNwQAXQIAABwAFFJhdzI4BABhAgAAHQAUUmF3MjkEAGUCAAAeABRSYXczMAQAaQIAAB8AFFJhdzMxBABtAgAAIAAUUmF3MzIEAAQAACEALEJsYWtlVHdvMjU2BAAEAAAiABhTaGEyNTYEAAQAACMAJEtlY2NhazI1NgQABAAAJAAsU2hhVGhyZWUyNTYEAAQAACUAAPkBAAADAAAAAAgA/QEAAAMBAAAACAABAgAAAwIAAAAIAAUCAAADAwAAAAgACQIAAAMFAAAACAANAgAAAwYAAAAIABECAAADBwAAAAgAFQIAAAMIAAAACAAZAgAAAwkAAAAIAB0CAAADCgAAAAgAIQIAAAMLAAAACAAlAgAAAwwAAAAIACkCAAADDQAAAAgALQIAAAMOAAAACAAxAgAAAw8AAAAIADUCAAADEAAAAAgAOQIAAAMRAAAACAA9AgAAAxIAAAAIAEECAAADEwAAAAgARQIAAAMVAAAACABJAgAAAxYAAAAIAE0CAAADFwAAAAgAUQIAAAMYAAAACABVAgAAAxkAAAAIAFkCAAADGgAAAAgAXQIAAAMbAAAACABhAgAAAxwAAAAIAGUCAAADHQAAAAgAaQIAAAMeAAAACABtAgAAAx8AAAAIAHECAAAC8QEAdQIEGE9wdGlvbgQEVAFZAQEIEE5vbmUAAAAQU29tZQQAWQEAAAEAAHkCAAACfQIAfQIAAAQIAPUBAIECDDxwYWxsZXRfaWRlbnRpdHkUdHlwZXMkSnVkZ2VtZW50BBxCYWxhbmNlARgBHBxVbmtub3duAAAAHEZlZVBhaWQEABgBHEJhbGFuY2UAAQAoUmVhc29uYWJsZQACACRLbm93bkdvb2QAAwAkT3V0T2ZEYXRlAAQAKExvd1F1YWxpdHkABQAkRXJyb25lb3VzAAYAAIUCBBhPcHRpb24EBFQBiQIBCBBOb25lAAAAEFNvbWUEAIkCAAABAACJAggoc3BfcnVudGltZThNdWx0aVNpZ25hdHVyZQABDBxFZDI1NTE5BACNAgFIZWQyNTUxOTo6U2lnbmF0dXJlAAAAHFNyMjU1MTkEAI0CAUhzcjI1NTE5OjpTaWduYXR1cmUAAQAURWNkc2EEAJECAUBlY2RzYTo6U2lnbmF0dXJlAAIAAI0CAAADQAAAAAgAkQIAAANBAAAACACVAgxAcGFsbGV0X2RlbW9jcmFjeRhwYWxsZXQQQ2FsbAQEVAABUBxwcm9wb3NlCAEgcHJvcG9zYWwhAQFAQm91bmRlZENhbGxPZjxUPgABFHZhbHVlQQEBMEJhbGFuY2VPZjxUPgAAJJxQcm9wb3NlIGEgc2Vuc2l0aXZlIGFjdGlvbiB0byBiZSB0YWtlbi4AFQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3SAaGF2ZSBmdW5kcyB0byBjb3ZlciB0aGUgZGVwb3NpdC4A1C0gYHByb3Bvc2FsX2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgcHJvcG9zYWwgcHJlaW1hZ2UuFQEtIGB2YWx1ZWA6IFRoZSBhbW91bnQgb2YgZGVwb3NpdCAobXVzdCBiZSBhdCBsZWFzdCBgTWluaW11bURlcG9zaXRgKS4AREVtaXRzIGBQcm9wb3NlZGAuGHNlY29uZAQBIHByb3Bvc2FsaQEBJFByb3BJbmRleAABGLRTaWduYWxzIGFncmVlbWVudCB3aXRoIGEgcGFydGljdWxhciBwcm9wb3NhbC4AAQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyEQFtdXN0IGhhdmUgZnVuZHMgdG8gY292ZXIgdGhlIGRlcG9zaXQsIGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBkZXBvc2l0LgDILSBgcHJvcG9zYWxgOiBUaGUgaW5kZXggb2YgdGhlIHByb3Bvc2FsIHRvIHNlY29uZC4Qdm90ZQgBJHJlZl9pbmRleGkBATxSZWZlcmVuZHVtSW5kZXgAARB2b3RlsAFkQWNjb3VudFZvdGU8QmFsYW5jZU9mPFQ+PgACHDEBVm90ZSBpbiBhIHJlZmVyZW5kdW0uIElmIGB2b3RlLmlzX2F5ZSgpYCwgdGhlIHZvdGUgaXMgdG8gZW5hY3QgdGhlIHByb3Bvc2FsO7hvdGhlcndpc2UgaXQgaXMgYSB2b3RlIHRvIGtlZXAgdGhlIHN0YXR1cyBxdW8uAMhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgDcLSBgcmVmX2luZGV4YDogVGhlIGluZGV4IG9mIHRoZSByZWZlcmVuZHVtIHRvIHZvdGUgZm9yLoQtIGB2b3RlYDogVGhlIHZvdGUgY29uZmlndXJhdGlvbi5AZW1lcmdlbmN5X2NhbmNlbAQBJHJlZl9pbmRleBABPFJlZmVyZW5kdW1JbmRleAADIE0BU2NoZWR1bGUgYW4gZW1lcmdlbmN5IGNhbmNlbGxhdGlvbiBvZiBhIHJlZmVyZW5kdW0uIENhbm5vdCBoYXBwZW4gdHdpY2UgdG8gdGhlIHNhbWUscmVmZXJlbmR1bS4A+FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYENhbmNlbGxhdGlvbk9yaWdpbmAuANAtYHJlZl9pbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVmZXJlbmR1bSB0byBjYW5jZWwuADxXZWlnaHQ6IGBPKDEpYC5AZXh0ZXJuYWxfcHJvcG9zZQQBIHByb3Bvc2FsIQEBQEJvdW5kZWRDYWxsT2Y8VD4ABBgtAVNjaGVkdWxlIGEgcmVmZXJlbmR1bSB0byBiZSB0YWJsZWQgb25jZSBpdCBpcyBsZWdhbCB0byBzY2hlZHVsZSBhbiBleHRlcm5hbCxyZWZlcmVuZHVtLgDoVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgRXh0ZXJuYWxPcmlnaW5gLgDULSBgcHJvcG9zYWxfaGFzaGA6IFRoZSBwcmVpbWFnZSBoYXNoIG9mIHRoZSBwcm9wb3NhbC5kZXh0ZXJuYWxfcHJvcG9zZV9tYWpvcml0eQQBIHByb3Bvc2FsIQEBQEJvdW5kZWRDYWxsT2Y8VD4ABSxVAVNjaGVkdWxlIGEgbWFqb3JpdHktY2FycmllcyByZWZlcmVuZHVtIHRvIGJlIHRhYmxlZCBuZXh0IG9uY2UgaXQgaXMgbGVnYWwgdG8gc2NoZWR1bGVcYW4gZXh0ZXJuYWwgcmVmZXJlbmR1bS4A7FRoZSBkaXNwYXRjaCBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgRXh0ZXJuYWxNYWpvcml0eU9yaWdpbmAuANQtIGBwcm9wb3NhbF9oYXNoYDogVGhlIHByZWltYWdlIGhhc2ggb2YgdGhlIHByb3Bvc2FsLgBJAVVubGlrZSBgZXh0ZXJuYWxfcHJvcG9zZWAsIGJsYWNrbGlzdGluZyBoYXMgbm8gZWZmZWN0IG9uIHRoaXMgYW5kIGl0IG1heSByZXBsYWNlIGGYcHJlLXNjaGVkdWxlZCBgZXh0ZXJuYWxfcHJvcG9zZWAgY2FsbC4AOFdlaWdodDogYE8oMSlgYGV4dGVybmFsX3Byb3Bvc2VfZGVmYXVsdAQBIHByb3Bvc2FsIQEBQEJvdW5kZWRDYWxsT2Y8VD4ABixFAVNjaGVkdWxlIGEgbmVnYXRpdmUtdHVybm91dC1iaWFzIHJlZmVyZW5kdW0gdG8gYmUgdGFibGVkIG5leHQgb25jZSBpdCBpcyBsZWdhbCB0b4BzY2hlZHVsZSBhbiBleHRlcm5hbCByZWZlcmVuZHVtLgDoVGhlIGRpc3BhdGNoIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBFeHRlcm5hbERlZmF1bHRPcmlnaW5gLgDULSBgcHJvcG9zYWxfaGFzaGA6IFRoZSBwcmVpbWFnZSBoYXNoIG9mIHRoZSBwcm9wb3NhbC4ASQFVbmxpa2UgYGV4dGVybmFsX3Byb3Bvc2VgLCBibGFja2xpc3RpbmcgaGFzIG5vIGVmZmVjdCBvbiB0aGlzIGFuZCBpdCBtYXkgcmVwbGFjZSBhmHByZS1zY2hlZHVsZWQgYGV4dGVybmFsX3Byb3Bvc2VgIGNhbGwuADhXZWlnaHQ6IGBPKDEpYChmYXN0X3RyYWNrDAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAATR2b3RpbmdfcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AARRkZWxheRABREJsb2NrTnVtYmVyRm9yPFQ+AAdATQFTY2hlZHVsZSB0aGUgY3VycmVudGx5IGV4dGVybmFsbHktcHJvcG9zZWQgbWFqb3JpdHktY2FycmllcyByZWZlcmVuZHVtIHRvIGJlIHRhYmxlZGEBaW1tZWRpYXRlbHkuIElmIHRoZXJlIGlzIG5vIGV4dGVybmFsbHktcHJvcG9zZWQgcmVmZXJlbmR1bSBjdXJyZW50bHksIG9yIGlmIHRoZXJlIGlzIG9uZehidXQgaXQgaXMgbm90IGEgbWFqb3JpdHktY2FycmllcyByZWZlcmVuZHVtIHRoZW4gaXQgZmFpbHMuANBUaGUgZGlzcGF0Y2ggb2YgdGhpcyBjYWxsIG11c3QgYmUgYEZhc3RUcmFja09yaWdpbmAuAPQtIGBwcm9wb3NhbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIGN1cnJlbnQgZXh0ZXJuYWwgcHJvcG9zYWwuXQEtIGB2b3RpbmdfcGVyaW9kYDogVGhlIHBlcmlvZCB0aGF0IGlzIGFsbG93ZWQgZm9yIHZvdGluZyBvbiB0aGlzIHByb3Bvc2FsLiBJbmNyZWFzZWQgdG+ICU11c3QgYmUgYWx3YXlzIGdyZWF0ZXIgdGhhbiB6ZXJvLjUBCUZvciBgRmFzdFRyYWNrT3JpZ2luYCBtdXN0IGJlIGVxdWFsIG9yIGdyZWF0ZXIgdGhhbiBgRmFzdFRyYWNrVm90aW5nUGVyaW9kYC5RAS0gYGRlbGF5YDogVGhlIG51bWJlciBvZiBibG9jayBhZnRlciB2b3RpbmcgaGFzIGVuZGVkIGluIGFwcHJvdmFsIGFuZCB0aGlzIHNob3VsZCBiZbggIGVuYWN0ZWQuIFRoaXMgZG9lc24ndCBoYXZlIGEgbWluaW11bSBhbW91bnQuAEBFbWl0cyBgU3RhcnRlZGAuADhXZWlnaHQ6IGBPKDEpYDR2ZXRvX2V4dGVybmFsBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gACCS4VmV0byBhbmQgYmxhY2tsaXN0IHRoZSBleHRlcm5hbCBwcm9wb3NhbCBoYXNoLgDYVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgVmV0b09yaWdpbmAuAC0BLSBgcHJvcG9zYWxfaGFzaGA6IFRoZSBwcmVpbWFnZSBoYXNoIG9mIHRoZSBwcm9wb3NhbCB0byB2ZXRvIGFuZCBibGFja2xpc3QuADxFbWl0cyBgVmV0b2VkYC4A/FdlaWdodDogYE8oViArIGxvZyhWKSlgIHdoZXJlIFYgaXMgbnVtYmVyIG9mIGBleGlzdGluZyB2ZXRvZXJzYERjYW5jZWxfcmVmZXJlbmR1bQQBJHJlZl9pbmRleGkBATxSZWZlcmVuZHVtSW5kZXgACRxQUmVtb3ZlIGEgcmVmZXJlbmR1bS4AwFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgDULSBgcmVmX2luZGV4YDogVGhlIGluZGV4IG9mIHRoZSByZWZlcmVuZHVtIHRvIGNhbmNlbC4ARCMgV2VpZ2h0OiBgTygxKWAuIGRlbGVnYXRlDAEIdG8AAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKGNvbnZpY3Rpb26ZAgEoQ29udmljdGlvbgABHGJhbGFuY2UYATBCYWxhbmNlT2Y8VD4AClA5AURlbGVnYXRlIHRoZSB2b3RpbmcgcG93ZXIgKHdpdGggc29tZSBnaXZlbiBjb252aWN0aW9uKSBvZiB0aGUgc2VuZGluZyBhY2NvdW50LgBVAVRoZSBiYWxhbmNlIGRlbGVnYXRlZCBpcyBsb2NrZWQgZm9yIGFzIGxvbmcgYXMgaXQncyBkZWxlZ2F0ZWQsIGFuZCB0aGVyZWFmdGVyIGZvciB0aGXIdGltZSBhcHByb3ByaWF0ZSBmb3IgdGhlIGNvbnZpY3Rpb24ncyBsb2NrIHBlcmlvZC4AXQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLCBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGVpdGhlcjp0ICAtIGJlIGRlbGVnYXRpbmcgYWxyZWFkeTsgb3JZASAgLSBoYXZlIG5vIHZvdGluZyBhY3Rpdml0eSAoaWYgdGhlcmUgaXMsIHRoZW4gaXQgd2lsbCBuZWVkIHRvIGJlIHJlbW92ZWQvY29uc29saWRhdGVklCAgICB0aHJvdWdoIGByZWFwX3ZvdGVgIG9yIGB1bnZvdGVgKS4ARQEtIGB0b2A6IFRoZSBhY2NvdW50IHdob3NlIHZvdGluZyB0aGUgYHRhcmdldGAgYWNjb3VudCdzIHZvdGluZyBwb3dlciB3aWxsIGZvbGxvdy5VAS0gYGNvbnZpY3Rpb25gOiBUaGUgY29udmljdGlvbiB0aGF0IHdpbGwgYmUgYXR0YWNoZWQgdG8gdGhlIGRlbGVnYXRlZCB2b3Rlcy4gV2hlbiB0aGVBASAgYWNjb3VudCBpcyB1bmRlbGVnYXRlZCwgdGhlIGZ1bmRzIHdpbGwgYmUgbG9ja2VkIGZvciB0aGUgY29ycmVzcG9uZGluZyBwZXJpb2QuYQEtIGBiYWxhbmNlYDogVGhlIGFtb3VudCBvZiB0aGUgYWNjb3VudCdzIGJhbGFuY2UgdG8gYmUgdXNlZCBpbiBkZWxlZ2F0aW5nLiBUaGlzIG11c3Qgbm90tCAgYmUgbW9yZSB0aGFuIHRoZSBhY2NvdW50J3MgY3VycmVudCBiYWxhbmNlLgBIRW1pdHMgYERlbGVnYXRlZGAuAD0BV2VpZ2h0OiBgTyhSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kdW1zIHRoZSB2b3RlciBkZWxlZ2F0aW5nIHRvIGhhc8ggIHZvdGVkIG9uLiBXZWlnaHQgaXMgY2hhcmdlZCBhcyBpZiBtYXhpbXVtIHZvdGVzLih1bmRlbGVnYXRlAAswzFVuZGVsZWdhdGUgdGhlIHZvdGluZyBwb3dlciBvZiB0aGUgc2VuZGluZyBhY2NvdW50LgBdAVRva2VucyBtYXkgYmUgdW5sb2NrZWQgZm9sbG93aW5nIG9uY2UgYW4gYW1vdW50IG9mIHRpbWUgY29uc2lzdGVudCB3aXRoIHRoZSBsb2NrIHBlcmlvZNxvZiB0aGUgY29udmljdGlvbiB3aXRoIHdoaWNoIHRoZSBkZWxlZ2F0aW9uIHdhcyBpc3N1ZWQuAEUBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGJlVGN1cnJlbnRseSBkZWxlZ2F0aW5nLgBQRW1pdHMgYFVuZGVsZWdhdGVkYC4APQFXZWlnaHQ6IGBPKFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcmVmZXJlbmR1bXMgdGhlIHZvdGVyIGRlbGVnYXRpbmcgdG8gaGFzyCAgdm90ZWQgb24uIFdlaWdodCBpcyBjaGFyZ2VkIGFzIGlmIG1heGltdW0gdm90ZXMuWGNsZWFyX3B1YmxpY19wcm9wb3NhbHMADBRwQ2xlYXJzIGFsbCBwdWJsaWMgcHJvcG9zYWxzLgDAVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfUm9vdF8uADxXZWlnaHQ6IGBPKDEpYC4YdW5sb2NrBAEYdGFyZ2V0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4ADRygVW5sb2NrIHRva2VucyB0aGF0IGhhdmUgYW4gZXhwaXJlZCBsb2NrLgDIVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AuC0gYHRhcmdldGA6IFRoZSBhY2NvdW50IHRvIHJlbW92ZSB0aGUgbG9jayBvbi4AvFdlaWdodDogYE8oUilgIHdpdGggUiBudW1iZXIgb2Ygdm90ZSBvZiB0YXJnZXQuLHJlbW92ZV92b3RlBAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgADmx8UmVtb3ZlIGEgdm90ZSBmb3IgYSByZWZlcmVuZHVtLgAMSWY6iC0gdGhlIHJlZmVyZW5kdW0gd2FzIGNhbmNlbGxlZCwgb3J8LSB0aGUgcmVmZXJlbmR1bSBpcyBvbmdvaW5nLCBvcpAtIHRoZSByZWZlcmVuZHVtIGhhcyBlbmRlZCBzdWNoIHRoYXT8ICAtIHRoZSB2b3RlIG9mIHRoZSBhY2NvdW50IHdhcyBpbiBvcHBvc2l0aW9uIHRvIHRoZSByZXN1bHQ7IG9y1CAgLSB0aGVyZSB3YXMgbm8gY29udmljdGlvbiB0byB0aGUgYWNjb3VudCdzIHZvdGU7IG9yhCAgLSB0aGUgYWNjb3VudCBtYWRlIGEgc3BsaXQgdm90ZV0BLi4udGhlbiB0aGUgdm90ZSBpcyByZW1vdmVkIGNsZWFubHkgYW5kIGEgZm9sbG93aW5nIGNhbGwgdG8gYHVubG9ja2AgbWF5IHJlc3VsdCBpbiBtb3JlWGZ1bmRzIGJlaW5nIGF2YWlsYWJsZS4AqElmLCBob3dldmVyLCB0aGUgcmVmZXJlbmR1bSBoYXMgZW5kZWQgYW5kOuwtIGl0IGZpbmlzaGVkIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHZvdGUgb2YgdGhlIGFjY291bnQsIGFuZNwtIHRoZSBhY2NvdW50IG1hZGUgYSBzdGFuZGFyZCB2b3RlIHdpdGggY29udmljdGlvbiwgYW5kvC0gdGhlIGxvY2sgcGVyaW9kIG9mIHRoZSBjb252aWN0aW9uIGlzIG5vdCBvdmVyWQEuLi50aGVuIHRoZSBsb2NrIHdpbGwgYmUgYWdncmVnYXRlZCBpbnRvIHRoZSBvdmVyYWxsIGFjY291bnQncyBsb2NrLCB3aGljaCBtYXkgaW52b2x2ZVkBKm92ZXJsb2NraW5nKiAod2hlcmUgdGhlIHR3byBsb2NrcyBhcmUgY29tYmluZWQgaW50byBhIHNpbmdsZSBsb2NrIHRoYXQgaXMgdGhlIG1heGltdW3kb2YgYm90aCB0aGUgYW1vdW50IGxvY2tlZCBhbmQgdGhlIHRpbWUgaXMgaXQgbG9ja2VkIGZvcikuAEkBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXywgYW5kIHRoZSBzaWduZXIgbXVzdCBoYXZlIGEgdm90ZYhyZWdpc3RlcmVkIGZvciByZWZlcmVuZHVtIGBpbmRleGAuAPQtIGBpbmRleGA6IFRoZSBpbmRleCBvZiByZWZlcmVuZHVtIG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQuAFUBV2VpZ2h0OiBgTyhSICsgbG9nIFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcmVmZXJlbmRhIHRoYXQgYHRhcmdldGAgaGFzIHZvdGVkIG9uLtggIFdlaWdodCBpcyBjYWxjdWxhdGVkIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZS5EcmVtb3ZlX290aGVyX3ZvdGUIARh0YXJnZXQAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AA88fFJlbW92ZSBhIHZvdGUgZm9yIGEgcmVmZXJlbmR1bS4ATQFJZiB0aGUgYHRhcmdldGAgaXMgZXF1YWwgdG8gdGhlIHNpZ25lciwgdGhlbiB0aGlzIGZ1bmN0aW9uIGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0by0BYHJlbW92ZV92b3RlYC4gSWYgbm90IGVxdWFsIHRvIHRoZSBzaWduZXIsIHRoZW4gdGhlIHZvdGUgbXVzdCBoYXZlIGV4cGlyZWQsVQFlaXRoZXIgYmVjYXVzZSB0aGUgcmVmZXJlbmR1bSB3YXMgY2FuY2VsbGVkLCBiZWNhdXNlIHRoZSB2b3RlciBsb3N0IHRoZSByZWZlcmVuZHVtIG9ymGJlY2F1c2UgdGhlIGNvbnZpY3Rpb24gcGVyaW9kIGlzIG92ZXIuAMhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBNAS0gYHRhcmdldGA6IFRoZSBhY2NvdW50IG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQ7IHRoaXMgYWNjb3VudCBtdXN0IGhhdmUgdm90ZWQgZm9yVCAgcmVmZXJlbmR1bSBgaW5kZXhgLvQtIGBpbmRleGA6IFRoZSBpbmRleCBvZiByZWZlcmVuZHVtIG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQuAFUBV2VpZ2h0OiBgTyhSICsgbG9nIFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcmVmZXJlbmRhIHRoYXQgYHRhcmdldGAgaGFzIHZvdGVkIG9uLtggIFdlaWdodCBpcyBjYWxjdWxhdGVkIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZS4kYmxhY2tsaXN0CAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAATxtYXliZV9yZWZfaW5kZXhtAQFcT3B0aW9uPFJlZmVyZW5kdW1JbmRleD4AEDxFAVBlcm1hbmVudGx5IHBsYWNlIGEgcHJvcG9zYWwgaW50byB0aGUgYmxhY2tsaXN0LiBUaGlzIHByZXZlbnRzIGl0IGZyb20gZXZlciBiZWluZzxwcm9wb3NlZCBhZ2Fpbi4AUQFJZiBjYWxsZWQgb24gYSBxdWV1ZWQgcHVibGljIG9yIGV4dGVybmFsIHByb3Bvc2FsLCB0aGVuIHRoaXMgd2lsbCByZXN1bHQgaW4gaXQgYmVpbmdRAXJlbW92ZWQuIElmIHRoZSBgcmVmX2luZGV4YCBzdXBwbGllZCBpcyBhbiBhY3RpdmUgcmVmZXJlbmR1bSB3aXRoIHRoZSBwcm9wb3NhbCBoYXNoLGh0aGVuIGl0IHdpbGwgYmUgY2FuY2VsbGVkLgDsVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgQmxhY2tsaXN0T3JpZ2luYC4A+C0gYHByb3Bvc2FsX2hhc2hgOiBUaGUgcHJvcG9zYWwgaGFzaCB0byBibGFja2xpc3QgcGVybWFuZW50bHkuRQEtIGByZWZfaW5kZXhgOiBBbiBvbmdvaW5nIHJlZmVyZW5kdW0gd2hvc2UgaGFzaCBpcyBgcHJvcG9zYWxfaGFzaGAsIHdoaWNoIHdpbGwgYmUoY2FuY2VsbGVkLgBBAVdlaWdodDogYE8ocClgICh0aG91Z2ggYXMgdGhpcyBpcyBhbiBoaWdoLXByaXZpbGVnZSBkaXNwYXRjaCwgd2UgYXNzdW1lIGl0IGhhcyBhUCAgcmVhc29uYWJsZSB2YWx1ZSkuPGNhbmNlbF9wcm9wb3NhbAQBKHByb3BfaW5kZXhpAQEkUHJvcEluZGV4ABEcSFJlbW92ZSBhIHByb3Bvc2FsLgABAVRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYENhbmNlbFByb3Bvc2FsT3JpZ2luYC4A0C0gYHByb3BfaW5kZXhgOiBUaGUgaW5kZXggb2YgdGhlIHByb3Bvc2FsIHRvIGNhbmNlbC4A5FdlaWdodDogYE8ocClgIHdoZXJlIGBwID0gUHVibGljUHJvcHM6OjxUPjo6ZGVjb2RlX2xlbigpYDBzZXRfbWV0YWRhdGEIARRvd25lcrgBNE1ldGFkYXRhT3duZXIAAShtYXliZV9oYXNonQIBPE9wdGlvbjxUOjpIYXNoPgASPNhTZXQgb3IgY2xlYXIgYSBtZXRhZGF0YSBvZiBhIHByb3Bvc2FsIG9yIGEgcmVmZXJlbmR1bS4ALFBhcmFtZXRlcnM6zC0gYG9yaWdpbmA6IE11c3QgY29ycmVzcG9uZCB0byB0aGUgYE1ldGFkYXRhT3duZXJgLj0BICAgIC0gYEV4dGVybmFsT3JpZ2luYCBmb3IgYW4gZXh0ZXJuYWwgcHJvcG9zYWwgd2l0aCB0aGUgYFN1cGVyTWFqb3JpdHlBcHByb3ZlYEAgICAgICB0aHJlc2hvbGQuWQEgICAgLSBgRXh0ZXJuYWxEZWZhdWx0T3JpZ2luYCBmb3IgYW4gZXh0ZXJuYWwgcHJvcG9zYWwgd2l0aCB0aGUgYFN1cGVyTWFqb3JpdHlBZ2FpbnN0YEAgICAgICB0aHJlc2hvbGQuRQEgICAgLSBgRXh0ZXJuYWxNYWpvcml0eU9yaWdpbmAgZm9yIGFuIGV4dGVybmFsIHByb3Bvc2FsIHdpdGggdGhlIGBTaW1wbGVNYWpvcml0eWBAICAgICAgdGhyZXNob2xkLsggICAgLSBgU2lnbmVkYCBieSBhIGNyZWF0b3IgZm9yIGEgcHVibGljIHByb3Bvc2FsLvQgICAgLSBgU2lnbmVkYCB0byBjbGVhciBhIG1ldGFkYXRhIGZvciBhIGZpbmlzaGVkIHJlZmVyZW5kdW0u5CAgICAtIGBSb290YCB0byBzZXQgYSBtZXRhZGF0YSBmb3IgYW4gb25nb2luZyByZWZlcmVuZHVtLrQtIGBvd25lcmA6IGFuIGlkZW50aWZpZXIgb2YgYSBtZXRhZGF0YSBvd25lci5RAS0gYG1heWJlX2hhc2hgOiBUaGUgaGFzaCBvZiBhbiBvbi1jaGFpbiBzdG9yZWQgcHJlaW1hZ2UuIGBOb25lYCB0byBjbGVhciBhIG1ldGFkYXRhLkRmb3JjZV9yZW1vdmVfdm90ZQgBGHRhcmdldAABbGNyYXRlOjpBY2NvdW50SWRMb29rdXBPZjxUPgABFGluZGV4EAF0Y3JhdGU6OnR5cGVzOjpSZWZlcmVuZHVtSW5kZXgAEzy4QWxsb3cgdG8gZm9yY2UgcmVtb3ZlIGEgdm90ZSBmb3IgYSByZWZlcmVuZHVtLgApAVNhbWUgYXMgYHJlbW92ZV9vdGhlcl92b3RlYCwgZXhjZXB0IHRoZSBzY29wZSBpcyBvdmVycmlkZW4gYnkgZm9yY2VkIGZsYWcu9FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYFZvdGVSZW1vdmFsT3JpZ2luYC4ArE9ubHkgYWxsb3dlZCBpZiB0aGUgcmVmZXJlbmR1bSBpcyBmaW5pc2hlZC4AyFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAE0BLSBgdGFyZ2V0YDogVGhlIGFjY291bnQgb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZDsgdGhpcyBhY2NvdW50IG11c3QgaGF2ZSB2b3RlZCBmb3JUICByZWZlcmVuZHVtIGBpbmRleGAu9C0gYGluZGV4YDogVGhlIGluZGV4IG9mIHJlZmVyZW5kdW0gb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZC4AVQFXZWlnaHQ6IGBPKFIgKyBsb2cgUilgIHdoZXJlIFIgaXMgdGhlIG51bWJlciBvZiByZWZlcmVuZGEgdGhhdCBgdGFyZ2V0YCBoYXMgdm90ZWQgb24u2CAgV2VpZ2h0IGlzIGNhbGN1bGF0ZWQgZm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiB2b3RlLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6ZAgxAcGFsbGV0X2RlbW9jcmFjeShjb252aWN0aW9uKENvbnZpY3Rpb24AARwQTm9uZQAAACBMb2NrZWQxeAABACBMb2NrZWQyeAACACBMb2NrZWQzeAADACBMb2NrZWQ0eAAEACBMb2NrZWQ1eAAFACBMb2NrZWQ2eAAGAACdAgQYT3B0aW9uBARUATQBCBBOb25lAAAAEFNvbWUEADQAAAEAAKECDGRwYWxsZXRfZWxlY3Rpb25zX3BocmFnbWVuGHBhbGxldBBDYWxsBARUAAEYEHZvdGUIARR2b3Rlc0UBAURWZWM8VDo6QWNjb3VudElkPgABFHZhbHVlQQEBMEJhbGFuY2VPZjxUPgAATFkBVm90ZSBmb3IgYSBzZXQgb2YgY2FuZGlkYXRlcyBmb3IgdGhlIHVwY29taW5nIHJvdW5kIG9mIGVsZWN0aW9uLiBUaGlzIGNhbiBiZSBjYWxsZWQgdG/gc2V0IHRoZSBpbml0aWFsIHZvdGVzLCBvciB1cGRhdGUgYWxyZWFkeSBleGlzdGluZyB2b3Rlcy4AXQFVcG9uIGluaXRpYWwgdm90aW5nLCBgdmFsdWVgIHVuaXRzIG9mIGB3aG9gJ3MgYmFsYW5jZSBpcyBsb2NrZWQgYW5kIGEgZGVwb3NpdCBhbW91bnQgaXNNAXJlc2VydmVkLiBUaGUgZGVwb3NpdCBpcyBiYXNlZCBvbiB0aGUgbnVtYmVyIG9mIHZvdGVzIGFuZCBjYW4gYmUgdXBkYXRlZCBvdmVyIHRpbWUuAExUaGUgYHZvdGVzYCBzaG91bGQ6RCAgLSBub3QgYmUgZW1wdHkuVQEgIC0gYmUgbGVzcyB0aGFuIHRoZSBudW1iZXIgb2YgcG9zc2libGUgY2FuZGlkYXRlcy4gTm90ZSB0aGF0IGFsbCBjdXJyZW50IG1lbWJlcnMgYW5kEQEgICAgcnVubmVycy11cCBhcmUgYWxzbyBhdXRvbWF0aWNhbGx5IGNhbmRpZGF0ZXMgZm9yIHRoZSBuZXh0IHJvdW5kLgBJAUlmIGB2YWx1ZWAgaXMgbW9yZSB0aGFuIGB3aG9gJ3MgZnJlZSBiYWxhbmNlLCB0aGVuIHRoZSBtYXhpbXVtIG9mIHRoZSB0d28gaXMgdXNlZC4AwFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgc2lnbmVkLgAsIyMjIFdhcm5pbmcAVQFJdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGNhbGxlciB0byAqKk5PVCoqIHBsYWNlIGFsbCBvZiB0aGVpciBiYWxhbmNlIGludG8gdGhlqGxvY2sgYW5kIGtlZXAgc29tZSBmb3IgZnVydGhlciBvcGVyYXRpb25zLjByZW1vdmVfdm90ZXIAARRsUmVtb3ZlIGBvcmlnaW5gIGFzIGEgdm90ZXIuALhUaGlzIHJlbW92ZXMgdGhlIGxvY2sgYW5kIHJldHVybnMgdGhlIGRlcG9zaXQuAPxUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIHNpZ25lZCBhbmQgYmUgYSB2b3Rlci5Ac3VibWl0X2NhbmRpZGFjeQQBPGNhbmRpZGF0ZV9jb3VudGkBAQx1MzIAAjwRAVN1Ym1pdCBvbmVzZWxmIGZvciBjYW5kaWRhY3kuIEEgZml4ZWQgYW1vdW50IG9mIGRlcG9zaXQgaXMgcmVjb3JkZWQuAF0BQWxsIGNhbmRpZGF0ZXMgYXJlIHdpcGVkIGF0IHRoZSBlbmQgb2YgdGhlIHRlcm0uIFRoZXkgZWl0aGVyIGJlY29tZSBhIG1lbWJlci9ydW5uZXItdXAszG9yIGxlYXZlIHRoZSBzeXN0ZW0gd2hpbGUgdGhlaXIgZGVwb3NpdCBpcyBzbGFzaGVkLgDAVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBzaWduZWQuACwjIyMgV2FybmluZwBdAUV2ZW4gaWYgYSBjYW5kaWRhdGUgZW5kcyB1cCBiZWluZyBhIG1lbWJlciwgdGhleSBtdXN0IGNhbGwgW2BDYWxsOjpyZW5vdW5jZV9jYW5kaWRhY3lgXVkBdG8gZ2V0IHRoZWlyIGRlcG9zaXQgYmFjay4gTG9zaW5nIHRoZSBzcG90IGluIGFuIGVsZWN0aW9uIHdpbGwgYWx3YXlzIGxlYWQgdG8gYSBzbGFzaC4ACQFUaGUgbnVtYmVyIG9mIGN1cnJlbnQgY2FuZGlkYXRlcyBtdXN0IGJlIHByb3ZpZGVkIGFzIHdpdG5lc3MgZGF0YS40IyMgQ29tcGxleGl0eaRPKEMgKyBsb2coQykpIHdoZXJlIEMgaXMgY2FuZGlkYXRlX2NvdW50LkhyZW5vdW5jZV9jYW5kaWRhY3kEAShyZW5vdW5jaW5npQIBKFJlbm91bmNpbmcAA1BNAVJlbm91bmNlIG9uZSdzIGludGVudGlvbiB0byBiZSBhIGNhbmRpZGF0ZSBmb3IgdGhlIG5leHQgZWxlY3Rpb24gcm91bmQuIDMgcG90ZW50aWFsPG91dGNvbWVzIGV4aXN0OgBJAS0gYG9yaWdpbmAgaXMgYSBjYW5kaWRhdGUgYW5kIG5vdCBlbGVjdGVkIGluIGFueSBzZXQuIEluIHRoaXMgY2FzZSwgdGhlIGRlcG9zaXQgaXPwICB1bnJlc2VydmVkLCByZXR1cm5lZCBhbmQgb3JpZ2luIGlzIHJlbW92ZWQgYXMgYSBjYW5kaWRhdGUuYQEtIGBvcmlnaW5gIGlzIGEgY3VycmVudCBydW5uZXItdXAuIEluIHRoaXMgY2FzZSwgdGhlIGRlcG9zaXQgaXMgdW5yZXNlcnZlZCwgcmV0dXJuZWQgYW5kjCAgb3JpZ2luIGlzIHJlbW92ZWQgYXMgYSBydW5uZXItdXAuVQEtIGBvcmlnaW5gIGlzIGEgY3VycmVudCBtZW1iZXIuIEluIHRoaXMgY2FzZSwgdGhlIGRlcG9zaXQgaXMgdW5yZXNlcnZlZCBhbmQgb3JpZ2luIGlzVQEgIHJlbW92ZWQgYXMgYSBtZW1iZXIsIGNvbnNlcXVlbnRseSBub3QgYmVpbmcgYSBjYW5kaWRhdGUgZm9yIHRoZSBuZXh0IHJvdW5kIGFueW1vcmUuYQEgIFNpbWlsYXIgdG8gW2ByZW1vdmVfbWVtYmVyYF0oU2VsZjo6cmVtb3ZlX21lbWJlciksIGlmIHJlcGxhY2VtZW50IHJ1bm5lcnMgZXhpc3RzLCB0aGV5WQEgIGFyZSBpbW1lZGlhdGVseSB1c2VkLiBJZiB0aGUgcHJpbWUgaXMgcmVub3VuY2luZywgdGhlbiBubyBwcmltZSB3aWxsIGV4aXN0IHVudGlsIHRoZTQgIG5leHQgcm91bmQuAEUBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBzaWduZWQsIGFuZCBoYXZlIG9uZSBvZiB0aGUgYWJvdmUgcm9sZXMu4FRoZSB0eXBlIG9mIHJlbm91bmNpbmcgbXVzdCBiZSBwcm92aWRlZCBhcyB3aXRuZXNzIGRhdGEuADQjIyBDb21wbGV4aXR53CAgLSBSZW5vdW5jaW5nOjpDYW5kaWRhdGUoY291bnQpOiBPKGNvdW50ICsgbG9nKGNvdW50KSlwICAtIFJlbm91bmNpbmc6Ok1lbWJlcjogTygxKXggIC0gUmVub3VuY2luZzo6UnVubmVyVXA6IE8oMSk0cmVtb3ZlX21lbWJlcgwBDHdobwABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEoc2xhc2hfYm9uZCABEGJvb2wAAThyZXJ1bl9lbGVjdGlvbiABEGJvb2wABEBZAVJlbW92ZSBhIHBhcnRpY3VsYXIgbWVtYmVyIGZyb20gdGhlIHNldC4gVGhpcyBpcyBlZmZlY3RpdmUgaW1tZWRpYXRlbHkgYW5kIHRoZSBib25kIG9mfHRoZSBvdXRnb2luZyBtZW1iZXIgaXMgc2xhc2hlZC4AVQFJZiBhIHJ1bm5lci11cCBpcyBhdmFpbGFibGUsIHRoZW4gdGhlIGJlc3QgcnVubmVyLXVwIHdpbGwgYmUgcmVtb3ZlZCBhbmQgcmVwbGFjZXMgdGhlVQFvdXRnb2luZyBtZW1iZXIuIE90aGVyd2lzZSwgaWYgYHJlcnVuX2VsZWN0aW9uYCBpcyBgdHJ1ZWAsIGEgbmV3IHBocmFnbWVuIGVsZWN0aW9uIGlzfHN0YXJ0ZWQsIGVsc2UsIG5vdGhpbmcgaGFwcGVucy4AWQFJZiBgc2xhc2hfYm9uZGAgaXMgc2V0IHRvIHRydWUsIHRoZSBib25kIG9mIHRoZSBtZW1iZXIgYmVpbmcgcmVtb3ZlZCBpcyBzbGFzaGVkLiBFbHNlLDxpdCBpcyByZXR1cm5lZC4AuFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgcm9vdC4AQQFOb3RlIHRoYXQgdGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGRlc2lnbmF0ZWQgYmxvY2sgbnVtYmVyIG9mIHRoZSBuZXh0IGVsZWN0aW9uLgA0IyMgQ29tcGxleGl0eQUBLSBDaGVjayBkZXRhaWxzIG9mIHJlbW92ZV9hbmRfcmVwbGFjZV9tZW1iZXIoKSBhbmQgZG9fcGhyYWdtZW4oKS5QY2xlYW5fZGVmdW5jdF92b3RlcnMIAShudW1fdm90ZXJzEAEMdTMyAAEsbnVtX2RlZnVuY3QQAQx1MzIABSRFAUNsZWFuIGFsbCB2b3RlcnMgd2hvIGFyZSBkZWZ1bmN0IChpLmUuIHRoZXkgZG8gbm90IHNlcnZlIGFueSBwdXJwb3NlIGF0IGFsbCkuIFRoZaxkZXBvc2l0IG9mIHRoZSByZW1vdmVkIHZvdGVycyBhcmUgcmV0dXJuZWQuAAEBVGhpcyBpcyBhbiByb290IGZ1bmN0aW9uIHRvIGJlIHVzZWQgb25seSBmb3IgY2xlYW5pbmcgdGhlIHN0YXRlLgC4VGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSByb290LgA0IyMgQ29tcGxleGl0eYwtIENoZWNrIGlzX2RlZnVuY3Rfdm90ZXIoKSBkZXRhaWxzLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6lAghkcGFsbGV0X2VsZWN0aW9uc19waHJhZ21lbihSZW5vdW5jaW5nAAEMGE1lbWJlcgAAACBSdW5uZXJVcAABACRDYW5kaWRhdGUEAGkBAQx1MzIAAgAAqQIMRHBhbGxldF9jb2xsZWN0aXZlGHBhbGxldBBDYWxsCARUAARJAAEYLHNldF9tZW1iZXJzDAEsbmV3X21lbWJlcnNFAQFEVmVjPFQ6OkFjY291bnRJZD4AARRwcmltZQEBAVBPcHRpb248VDo6QWNjb3VudElkPgABJG9sZF9jb3VudBABLE1lbWJlckNvdW50AABggFNldCB0aGUgY29sbGVjdGl2ZSdzIG1lbWJlcnNoaXAuAEUBLSBgbmV3X21lbWJlcnNgOiBUaGUgbmV3IG1lbWJlciBsaXN0LiBCZSBuaWNlIHRvIHRoZSBjaGFpbiBhbmQgcHJvdmlkZSBpdCBzb3J0ZWQu4C0gYHByaW1lYDogVGhlIHByaW1lIG1lbWJlciB3aG9zZSB2b3RlIHNldHMgdGhlIGRlZmF1bHQuWQEtIGBvbGRfY291bnRgOiBUaGUgdXBwZXIgYm91bmQgZm9yIHRoZSBwcmV2aW91cyBudW1iZXIgb2YgbWVtYmVycyBpbiBzdG9yYWdlLiBVc2VkIGZvclAgIHdlaWdodCBlc3RpbWF0aW9uLgDUVGhlIGRpc3BhdGNoIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBTZXRNZW1iZXJzT3JpZ2luYC4AUQFOT1RFOiBEb2VzIG5vdCBlbmZvcmNlIHRoZSBleHBlY3RlZCBgTWF4TWVtYmVyc2AgbGltaXQgb24gdGhlIGFtb3VudCBvZiBtZW1iZXJzLCBidXQhASAgICAgIHRoZSB3ZWlnaHQgZXN0aW1hdGlvbnMgcmVseSBvbiBpdCB0byBlc3RpbWF0ZSBkaXNwYXRjaGFibGUgd2VpZ2h0LgAoIyBXQVJOSU5HOgBZAVRoZSBgcGFsbGV0LWNvbGxlY3RpdmVgIGNhbiBhbHNvIGJlIG1hbmFnZWQgYnkgbG9naWMgb3V0c2lkZSBvZiB0aGUgcGFsbGV0IHRocm91Z2ggdGhluGltcGxlbWVudGF0aW9uIG9mIHRoZSB0cmFpdCBbYENoYW5nZU1lbWJlcnNgXS5VAUFueSBjYWxsIHRvIGBzZXRfbWVtYmVyc2AgbXVzdCBiZSBjYXJlZnVsIHRoYXQgdGhlIG1lbWJlciBzZXQgZG9lc24ndCBnZXQgb3V0IG9mIHN5bmOkd2l0aCBvdGhlciBsb2dpYyBtYW5hZ2luZyB0aGUgbWVtYmVyIHNldC4AOCMjIENvbXBsZXhpdHk6UC0gYE8oTVAgKyBOKWAgd2hlcmU64CAgLSBgTWAgb2xkLW1lbWJlcnMtY291bnQgKGNvZGUtIGFuZCBnb3Zlcm5hbmNlLWJvdW5kZWQp4CAgLSBgTmAgbmV3LW1lbWJlcnMtY291bnQgKGNvZGUtIGFuZCBnb3Zlcm5hbmNlLWJvdW5kZWQpmCAgLSBgUGAgcHJvcG9zYWxzLWNvdW50IChjb2RlLWJvdW5kZWQpHGV4ZWN1dGUIASBwcm9wb3NhbCUBAXxCb3g8PFQgYXMgQ29uZmlnPEk+Pjo6UHJvcG9zYWw+AAEwbGVuZ3RoX2JvdW5kaQEBDHUzMgABJPBEaXNwYXRjaCBhIHByb3Bvc2FsIGZyb20gYSBtZW1iZXIgdXNpbmcgdGhlIGBNZW1iZXJgIG9yaWdpbi4AqE9yaWdpbiBtdXN0IGJlIGEgbWVtYmVyIG9mIHRoZSBjb2xsZWN0aXZlLgA4IyMgQ29tcGxleGl0eTpcLSBgTyhCICsgTSArIFApYCB3aGVyZTrYLSBgQmAgaXMgYHByb3Bvc2FsYCBzaXplIGluIGJ5dGVzIChsZW5ndGgtZmVlLWJvdW5kZWQpiC0gYE1gIG1lbWJlcnMtY291bnQgKGNvZGUtYm91bmRlZCmoLSBgUGAgY29tcGxleGl0eSBvZiBkaXNwYXRjaGluZyBgcHJvcG9zYWxgHHByb3Bvc2UMASR0aHJlc2hvbGRpAQEsTWVtYmVyQ291bnQAASBwcm9wb3NhbCUBAXxCb3g8PFQgYXMgQ29uZmlnPEk+Pjo6UHJvcG9zYWw+AAEwbGVuZ3RoX2JvdW5kaQEBDHUzMgACOPhBZGQgYSBuZXcgcHJvcG9zYWwgdG8gZWl0aGVyIGJlIHZvdGVkIG9uIG9yIGV4ZWN1dGVkIGRpcmVjdGx5LgCEUmVxdWlyZXMgdGhlIHNlbmRlciB0byBiZSBtZW1iZXIuAEEBYHRocmVzaG9sZGAgZGV0ZXJtaW5lcyB3aGV0aGVyIGBwcm9wb3NhbGAgaXMgZXhlY3V0ZWQgZGlyZWN0bHkgKGB0aHJlc2hvbGQgPCAyYClUb3IgcHV0IHVwIGZvciB2b3RpbmcuADQjIyBDb21wbGV4aXR5rC0gYE8oQiArIE0gKyBQMSlgIG9yIGBPKEIgKyBNICsgUDIpYCB3aGVyZTrgICAtIGBCYCBpcyBgcHJvcG9zYWxgIHNpemUgaW4gYnl0ZXMgKGxlbmd0aC1mZWUtYm91bmRlZCncICAtIGBNYCBpcyBtZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKcQgIC0gYnJhbmNoaW5nIGlzIGluZmx1ZW5jZWQgYnkgYHRocmVzaG9sZGAgd2hlcmU69CAgICAtIGBQMWAgaXMgcHJvcG9zYWwgZXhlY3V0aW9uIGNvbXBsZXhpdHkgKGB0aHJlc2hvbGQgPCAyYCn8ICAgIC0gYFAyYCBpcyBwcm9wb3NhbHMtY291bnQgKGNvZGUtYm91bmRlZCkgKGB0aHJlc2hvbGQgPj0gMmApEHZvdGUMASBwcm9wb3NhbDQBHFQ6Okhhc2gAARRpbmRleGkBATRQcm9wb3NhbEluZGV4AAEcYXBwcm92ZSABEGJvb2wAAyTwQWRkIGFuIGF5ZSBvciBuYXkgdm90ZSBmb3IgdGhlIHNlbmRlciB0byB0aGUgZ2l2ZW4gcHJvcG9zYWwuAIxSZXF1aXJlcyB0aGUgc2VuZGVyIHRvIGJlIGEgbWVtYmVyLgBJAVRyYW5zYWN0aW9uIGZlZXMgd2lsbCBiZSB3YWl2ZWQgaWYgdGhlIG1lbWJlciBpcyB2b3Rpbmcgb24gYW55IHBhcnRpY3VsYXIgcHJvcG9zYWxRAWZvciB0aGUgZmlyc3QgdGltZSBhbmQgdGhlIGNhbGwgaXMgc3VjY2Vzc2Z1bC4gU3Vic2VxdWVudCB2b3RlIGNoYW5nZXMgd2lsbCBjaGFyZ2UgYRBmZWUuNCMjIENvbXBsZXhpdHkJAS0gYE8oTSlgIHdoZXJlIGBNYCBpcyBtZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKUxkaXNhcHByb3ZlX3Byb3Bvc2FsBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gABShZAURpc2FwcHJvdmUgYSBwcm9wb3NhbCwgY2xvc2UsIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgc3lzdGVtLCByZWdhcmRsZXNzIG9mIGl0cyBjdXJyZW50GHN0YXRlLgCITXVzdCBiZSBjYWxsZWQgYnkgdGhlIFJvb3Qgb3JpZ2luLgAsUGFyYW1ldGVyczodASogYHByb3Bvc2FsX2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgcHJvcG9zYWwgdGhhdCBzaG91bGQgYmUgZGlzYXBwcm92ZWQuADQjIyBDb21wbGV4aXR5rE8oUCkgd2hlcmUgUCBpcyB0aGUgbnVtYmVyIG9mIG1heCBwcm9wb3NhbHMUY2xvc2UQATRwcm9wb3NhbF9oYXNoNAEcVDo6SGFzaAABFGluZGV4aQEBNFByb3Bvc2FsSW5kZXgAAVRwcm9wb3NhbF93ZWlnaHRfYm91bmQoARhXZWlnaHQAATBsZW5ndGhfYm91bmRpAQEMdTMyAAZgTQFDbG9zZSBhIHZvdGUgdGhhdCBpcyBlaXRoZXIgYXBwcm92ZWQsIGRpc2FwcHJvdmVkIG9yIHdob3NlIHZvdGluZyBwZXJpb2QgaGFzIGVuZGVkLgBVAU1heSBiZSBjYWxsZWQgYnkgYW55IHNpZ25lZCBhY2NvdW50IGluIG9yZGVyIHRvIGZpbmlzaCB2b3RpbmcgYW5kIGNsb3NlIHRoZSBwcm9wb3NhbC4ASQFJZiBjYWxsZWQgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIHZvdGluZyBwZXJpb2QgaXQgd2lsbCBvbmx5IGNsb3NlIHRoZSB2b3RlIGlmIGl0IGlzvGhhcyBlbm91Z2ggdm90ZXMgdG8gYmUgYXBwcm92ZWQgb3IgZGlzYXBwcm92ZWQuAEkBSWYgY2FsbGVkIGFmdGVyIHRoZSBlbmQgb2YgdGhlIHZvdGluZyBwZXJpb2QgYWJzdGVudGlvbnMgYXJlIGNvdW50ZWQgYXMgcmVqZWN0aW9ucyUBdW5sZXNzIHRoZXJlIGlzIGEgcHJpbWUgbWVtYmVyIHNldCBhbmQgdGhlIHByaW1lIG1lbWJlciBjYXN0IGFuIGFwcHJvdmFsLgBhAUlmIHRoZSBjbG9zZSBvcGVyYXRpb24gY29tcGxldGVzIHN1Y2Nlc3NmdWxseSB3aXRoIGRpc2FwcHJvdmFsLCB0aGUgdHJhbnNhY3Rpb24gZmVlIHdpbGxdAWJlIHdhaXZlZC4gT3RoZXJ3aXNlIGV4ZWN1dGlvbiBvZiB0aGUgYXBwcm92ZWQgb3BlcmF0aW9uIHdpbGwgYmUgY2hhcmdlZCB0byB0aGUgY2FsbGVyLgBhASsgYHByb3Bvc2FsX3dlaWdodF9ib3VuZGA6IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB3ZWlnaHQgY29uc3VtZWQgYnkgZXhlY3V0aW5nIHRoZSBjbG9zZWQkcHJvcG9zYWwuYQErIGBsZW5ndGhfYm91bmRgOiBUaGUgdXBwZXIgYm91bmQgZm9yIHRoZSBsZW5ndGggb2YgdGhlIHByb3Bvc2FsIGluIHN0b3JhZ2UuIENoZWNrZWQgdmlhNQFgc3RvcmFnZTo6cmVhZGAgc28gaXQgaXMgYHNpemVfb2Y6Ojx1MzI+KCkgPT0gNGAgbGFyZ2VyIHRoYW4gdGhlIHB1cmUgbGVuZ3RoLgA0IyMgQ29tcGxleGl0eXQtIGBPKEIgKyBNICsgUDEgKyBQMilgIHdoZXJlOuAgIC0gYEJgIGlzIGBwcm9wb3NhbGAgc2l6ZSBpbiBieXRlcyAobGVuZ3RoLWZlZS1ib3VuZGVkKdwgIC0gYE1gIGlzIG1lbWJlcnMtY291bnQgKGNvZGUtIGFuZCBnb3Zlcm5hbmNlLWJvdW5kZWQpyCAgLSBgUDFgIGlzIHRoZSBjb21wbGV4aXR5IG9mIGBwcm9wb3NhbGAgcHJlaW1hZ2UupCAgLSBgUDJgIGlzIHByb3Bvc2FsLWNvdW50IChjb2RlLWJvdW5kZWQpBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLq0CDERwYWxsZXRfY29sbGVjdGl2ZRhwYWxsZXQQQ2FsbAgEVAAESQABGCxzZXRfbWVtYmVycwwBLG5ld19tZW1iZXJzRQEBRFZlYzxUOjpBY2NvdW50SWQ+AAEUcHJpbWUBAQFQT3B0aW9uPFQ6OkFjY291bnRJZD4AASRvbGRfY291bnQQASxNZW1iZXJDb3VudAAAYIBTZXQgdGhlIGNvbGxlY3RpdmUncyBtZW1iZXJzaGlwLgBFAS0gYG5ld19tZW1iZXJzYDogVGhlIG5ldyBtZW1iZXIgbGlzdC4gQmUgbmljZSB0byB0aGUgY2hhaW4gYW5kIHByb3ZpZGUgaXQgc29ydGVkLuAtIGBwcmltZWA6IFRoZSBwcmltZSBtZW1iZXIgd2hvc2Ugdm90ZSBzZXRzIHRoZSBkZWZhdWx0LlkBLSBgb2xkX2NvdW50YDogVGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgcHJldmlvdXMgbnVtYmVyIG9mIG1lbWJlcnMgaW4gc3RvcmFnZS4gVXNlZCBmb3JQICB3ZWlnaHQgZXN0aW1hdGlvbi4A1FRoZSBkaXNwYXRjaCBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgU2V0TWVtYmVyc09yaWdpbmAuAFEBTk9URTogRG9lcyBub3QgZW5mb3JjZSB0aGUgZXhwZWN0ZWQgYE1heE1lbWJlcnNgIGxpbWl0IG9uIHRoZSBhbW91bnQgb2YgbWVtYmVycywgYnV0IQEgICAgICB0aGUgd2VpZ2h0IGVzdGltYXRpb25zIHJlbHkgb24gaXQgdG8gZXN0aW1hdGUgZGlzcGF0Y2hhYmxlIHdlaWdodC4AKCMgV0FSTklORzoAWQFUaGUgYHBhbGxldC1jb2xsZWN0aXZlYCBjYW4gYWxzbyBiZSBtYW5hZ2VkIGJ5IGxvZ2ljIG91dHNpZGUgb2YgdGhlIHBhbGxldCB0aHJvdWdoIHRoZbhpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdHJhaXQgW2BDaGFuZ2VNZW1iZXJzYF0uVQFBbnkgY2FsbCB0byBgc2V0X21lbWJlcnNgIG11c3QgYmUgY2FyZWZ1bCB0aGF0IHRoZSBtZW1iZXIgc2V0IGRvZXNuJ3QgZ2V0IG91dCBvZiBzeW5jpHdpdGggb3RoZXIgbG9naWMgbWFuYWdpbmcgdGhlIG1lbWJlciBzZXQuADgjIyBDb21wbGV4aXR5OlAtIGBPKE1QICsgTilgIHdoZXJlOuAgIC0gYE1gIG9sZC1tZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKeAgIC0gYE5gIG5ldy1tZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKZggIC0gYFBgIHByb3Bvc2Fscy1jb3VudCAoY29kZS1ib3VuZGVkKRxleGVjdXRlCAEgcHJvcG9zYWwlAQF8Qm94PDxUIGFzIENvbmZpZzxJPj46OlByb3Bvc2FsPgABMGxlbmd0aF9ib3VuZGkBAQx1MzIAASTwRGlzcGF0Y2ggYSBwcm9wb3NhbCBmcm9tIGEgbWVtYmVyIHVzaW5nIHRoZSBgTWVtYmVyYCBvcmlnaW4uAKhPcmlnaW4gbXVzdCBiZSBhIG1lbWJlciBvZiB0aGUgY29sbGVjdGl2ZS4AOCMjIENvbXBsZXhpdHk6XC0gYE8oQiArIE0gKyBQKWAgd2hlcmU62C0gYEJgIGlzIGBwcm9wb3NhbGAgc2l6ZSBpbiBieXRlcyAobGVuZ3RoLWZlZS1ib3VuZGVkKYgtIGBNYCBtZW1iZXJzLWNvdW50IChjb2RlLWJvdW5kZWQpqC0gYFBgIGNvbXBsZXhpdHkgb2YgZGlzcGF0Y2hpbmcgYHByb3Bvc2FsYBxwcm9wb3NlDAEkdGhyZXNob2xkaQEBLE1lbWJlckNvdW50AAEgcHJvcG9zYWwlAQF8Qm94PDxUIGFzIENvbmZpZzxJPj46OlByb3Bvc2FsPgABMGxlbmd0aF9ib3VuZGkBAQx1MzIAAjj4QWRkIGEgbmV3IHByb3Bvc2FsIHRvIGVpdGhlciBiZSB2b3RlZCBvbiBvciBleGVjdXRlZCBkaXJlY3RseS4AhFJlcXVpcmVzIHRoZSBzZW5kZXIgdG8gYmUgbWVtYmVyLgBBAWB0aHJlc2hvbGRgIGRldGVybWluZXMgd2hldGhlciBgcHJvcG9zYWxgIGlzIGV4ZWN1dGVkIGRpcmVjdGx5IChgdGhyZXNob2xkIDwgMmApVG9yIHB1dCB1cCBmb3Igdm90aW5nLgA0IyMgQ29tcGxleGl0eawtIGBPKEIgKyBNICsgUDEpYCBvciBgTyhCICsgTSArIFAyKWAgd2hlcmU64CAgLSBgQmAgaXMgYHByb3Bvc2FsYCBzaXplIGluIGJ5dGVzIChsZW5ndGgtZmVlLWJvdW5kZWQp3CAgLSBgTWAgaXMgbWVtYmVycy1jb3VudCAoY29kZS0gYW5kIGdvdmVybmFuY2UtYm91bmRlZCnEICAtIGJyYW5jaGluZyBpcyBpbmZsdWVuY2VkIGJ5IGB0aHJlc2hvbGRgIHdoZXJlOvQgICAgLSBgUDFgIGlzIHByb3Bvc2FsIGV4ZWN1dGlvbiBjb21wbGV4aXR5IChgdGhyZXNob2xkIDwgMmAp/CAgICAtIGBQMmAgaXMgcHJvcG9zYWxzLWNvdW50IChjb2RlLWJvdW5kZWQpIChgdGhyZXNob2xkID49IDJgKRB2b3RlDAEgcHJvcG9zYWw0ARxUOjpIYXNoAAEUaW5kZXhpAQE0UHJvcG9zYWxJbmRleAABHGFwcHJvdmUgARBib29sAAMk8EFkZCBhbiBheWUgb3IgbmF5IHZvdGUgZm9yIHRoZSBzZW5kZXIgdG8gdGhlIGdpdmVuIHByb3Bvc2FsLgCMUmVxdWlyZXMgdGhlIHNlbmRlciB0byBiZSBhIG1lbWJlci4ASQFUcmFuc2FjdGlvbiBmZWVzIHdpbGwgYmUgd2FpdmVkIGlmIHRoZSBtZW1iZXIgaXMgdm90aW5nIG9uIGFueSBwYXJ0aWN1bGFyIHByb3Bvc2FsUQFmb3IgdGhlIGZpcnN0IHRpbWUgYW5kIHRoZSBjYWxsIGlzIHN1Y2Nlc3NmdWwuIFN1YnNlcXVlbnQgdm90ZSBjaGFuZ2VzIHdpbGwgY2hhcmdlIGEQZmVlLjQjIyBDb21wbGV4aXR5CQEtIGBPKE0pYCB3aGVyZSBgTWAgaXMgbWVtYmVycy1jb3VudCAoY29kZS0gYW5kIGdvdmVybmFuY2UtYm91bmRlZClMZGlzYXBwcm92ZV9wcm9wb3NhbAQBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAUoWQFEaXNhcHByb3ZlIGEgcHJvcG9zYWwsIGNsb3NlLCBhbmQgcmVtb3ZlIGl0IGZyb20gdGhlIHN5c3RlbSwgcmVnYXJkbGVzcyBvZiBpdHMgY3VycmVudBhzdGF0ZS4AiE11c3QgYmUgY2FsbGVkIGJ5IHRoZSBSb290IG9yaWdpbi4ALFBhcmFtZXRlcnM6HQEqIGBwcm9wb3NhbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIHByb3Bvc2FsIHRoYXQgc2hvdWxkIGJlIGRpc2FwcHJvdmVkLgA0IyMgQ29tcGxleGl0eaxPKFApIHdoZXJlIFAgaXMgdGhlIG51bWJlciBvZiBtYXggcHJvcG9zYWxzFGNsb3NlEAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAARRpbmRleGkBATRQcm9wb3NhbEluZGV4AAFUcHJvcG9zYWxfd2VpZ2h0X2JvdW5kKAEYV2VpZ2h0AAEwbGVuZ3RoX2JvdW5kaQEBDHUzMgAGYE0BQ2xvc2UgYSB2b3RlIHRoYXQgaXMgZWl0aGVyIGFwcHJvdmVkLCBkaXNhcHByb3ZlZCBvciB3aG9zZSB2b3RpbmcgcGVyaW9kIGhhcyBlbmRlZC4AVQFNYXkgYmUgY2FsbGVkIGJ5IGFueSBzaWduZWQgYWNjb3VudCBpbiBvcmRlciB0byBmaW5pc2ggdm90aW5nIGFuZCBjbG9zZSB0aGUgcHJvcG9zYWwuAEkBSWYgY2FsbGVkIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSB2b3RpbmcgcGVyaW9kIGl0IHdpbGwgb25seSBjbG9zZSB0aGUgdm90ZSBpZiBpdCBpc7xoYXMgZW5vdWdoIHZvdGVzIHRvIGJlIGFwcHJvdmVkIG9yIGRpc2FwcHJvdmVkLgBJAUlmIGNhbGxlZCBhZnRlciB0aGUgZW5kIG9mIHRoZSB2b3RpbmcgcGVyaW9kIGFic3RlbnRpb25zIGFyZSBjb3VudGVkIGFzIHJlamVjdGlvbnMlAXVubGVzcyB0aGVyZSBpcyBhIHByaW1lIG1lbWJlciBzZXQgYW5kIHRoZSBwcmltZSBtZW1iZXIgY2FzdCBhbiBhcHByb3ZhbC4AYQFJZiB0aGUgY2xvc2Ugb3BlcmF0aW9uIGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkgd2l0aCBkaXNhcHByb3ZhbCwgdGhlIHRyYW5zYWN0aW9uIGZlZSB3aWxsXQFiZSB3YWl2ZWQuIE90aGVyd2lzZSBleGVjdXRpb24gb2YgdGhlIGFwcHJvdmVkIG9wZXJhdGlvbiB3aWxsIGJlIGNoYXJnZWQgdG8gdGhlIGNhbGxlci4AYQErIGBwcm9wb3NhbF93ZWlnaHRfYm91bmRgOiBUaGUgbWF4aW11bSBhbW91bnQgb2Ygd2VpZ2h0IGNvbnN1bWVkIGJ5IGV4ZWN1dGluZyB0aGUgY2xvc2VkJHByb3Bvc2FsLmEBKyBgbGVuZ3RoX2JvdW5kYDogVGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgbGVuZ3RoIG9mIHRoZSBwcm9wb3NhbCBpbiBzdG9yYWdlLiBDaGVja2VkIHZpYTUBYHN0b3JhZ2U6OnJlYWRgIHNvIGl0IGlzIGBzaXplX29mOjo8dTMyPigpID09IDRgIGxhcmdlciB0aGFuIHRoZSBwdXJlIGxlbmd0aC4ANCMjIENvbXBsZXhpdHl0LSBgTyhCICsgTSArIFAxICsgUDIpYCB3aGVyZTrgICAtIGBCYCBpcyBgcHJvcG9zYWxgIHNpemUgaW4gYnl0ZXMgKGxlbmd0aC1mZWUtYm91bmRlZCncICAtIGBNYCBpcyBtZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKcggIC0gYFAxYCBpcyB0aGUgY29tcGxleGl0eSBvZiBgcHJvcG9zYWxgIHByZWltYWdlLqQgIC0gYFAyYCBpcyBwcm9wb3NhbC1jb3VudCAoY29kZS1ib3VuZGVkKQQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6xAgwscGFsbGV0X3RpcHMYcGFsbGV0EENhbGwIBFQABEkAARg4cmVwb3J0X2F3ZXNvbWUIARhyZWFzb244ARxWZWM8dTg+AAEMd2hvAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAEBZAVJlcG9ydCBzb21ldGhpbmcgYHJlYXNvbmAgdGhhdCBkZXNlcnZlcyBhIHRpcCBhbmQgY2xhaW0gYW55IGV2ZW50dWFsIHRoZSBmaW5kZXIncyBmZWUuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AUQFQYXltZW50OiBgVGlwUmVwb3J0RGVwb3NpdEJhc2VgIHdpbGwgYmUgcmVzZXJ2ZWQgZnJvbSB0aGUgb3JpZ2luIGFjY291bnQsIGFzIHdlbGwgYXO8YERhdGFEZXBvc2l0UGVyQnl0ZWAgZm9yIGVhY2ggYnl0ZSBpbiBgcmVhc29uYC4AXQEtIGByZWFzb25gOiBUaGUgcmVhc29uIGZvciwgb3IgdGhlIHRoaW5nIHRoYXQgZGVzZXJ2ZXMsIHRoZSB0aXA7IGdlbmVyYWxseSB0aGlzIHdpbGwgYmVYICBhIFVURi04LWVuY29kZWQgVVJMLugtIGB3aG9gOiBUaGUgYWNjb3VudCB3aGljaCBzaG91bGQgYmUgY3JlZGl0ZWQgZm9yIHRoZSB0aXAuAHRFbWl0cyBgTmV3VGlwYCBpZiBzdWNjZXNzZnVsLgA0IyMgQ29tcGxleGl0eZgtIGBPKFIpYCB3aGVyZSBgUmAgbGVuZ3RoIG9mIGByZWFzb25gLpAgIC0gZW5jb2RpbmcgYW5kIGhhc2hpbmcgb2YgJ3JlYXNvbicscmV0cmFjdF90aXAEARBoYXNoNAEcVDo6SGFzaAABQFEBUmV0cmFjdCBhIHByaW9yIHRpcC1yZXBvcnQgZnJvbSBgcmVwb3J0X2F3ZXNvbWVgLCBhbmQgY2FuY2VsIHRoZSBwcm9jZXNzIG9mIHRpcHBpbmcuANxJZiBzdWNjZXNzZnVsLCB0aGUgb3JpZ2luYWwgZGVwb3NpdCB3aWxsIGJlIHVucmVzZXJ2ZWQuAE0BVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSB0aXAgaWRlbnRpZmllZCBieSBgaGFzaGBBAW11c3QgaGF2ZSBiZWVuIHJlcG9ydGVkIGJ5IHRoZSBzaWduaW5nIGFjY291bnQgdGhyb3VnaCBgcmVwb3J0X2F3ZXNvbWVgIChhbmQgbm90THRocm91Z2ggYHRpcF9uZXdgKS4AYQEtIGBoYXNoYDogVGhlIGlkZW50aXR5IG9mIHRoZSBvcGVuIHRpcCBmb3Igd2hpY2ggYSB0aXAgdmFsdWUgaXMgZGVjbGFyZWQuIFRoaXMgaXMgZm9ybWVkXQEgIGFzIHRoZSBoYXNoIG9mIHRoZSB0dXBsZSBvZiB0aGUgb3JpZ2luYWwgdGlwIGByZWFzb25gIGFuZCB0aGUgYmVuZWZpY2lhcnkgYWNjb3VudCBJRC4AjEVtaXRzIGBUaXBSZXRyYWN0ZWRgIGlmIHN1Y2Nlc3NmdWwuADQjIyBDb21wbGV4aXR5IC0gYE8oMSlg2CAgLSBEZXBlbmRzIG9uIHRoZSBsZW5ndGggb2YgYFQ6Okhhc2hgIHdoaWNoIGlzIGZpeGVkLhx0aXBfbmV3DAEYcmVhc29uOAEcVmVjPHU4PgABDHdobwABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEkdGlwX3ZhbHVlQQEBPEJhbGFuY2VPZjxULCBJPgACTPBHaXZlIGEgdGlwIGZvciBzb21ldGhpbmcgbmV3OyBubyBmaW5kZXIncyBmZWUgd2lsbCBiZSB0YWtlbi4AUQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGJlIGFwbWVtYmVyIG9mIHRoZSBgVGlwcGVyc2Agc2V0LgBdAS0gYHJlYXNvbmA6IFRoZSByZWFzb24gZm9yLCBvciB0aGUgdGhpbmcgdGhhdCBkZXNlcnZlcywgdGhlIHRpcDsgZ2VuZXJhbGx5IHRoaXMgd2lsbCBiZVggIGEgVVRGLTgtZW5jb2RlZCBVUkwu6C0gYHdob2A6IFRoZSBhY2NvdW50IHdoaWNoIHNob3VsZCBiZSBjcmVkaXRlZCBmb3IgdGhlIHRpcC5NAS0gYHRpcF92YWx1ZWA6IFRoZSBhbW91bnQgb2YgdGlwIHRoYXQgdGhlIHNlbmRlciB3b3VsZCBsaWtlIHRvIGdpdmUuIFRoZSBtZWRpYW4gdGlw1CAgdmFsdWUgb2YgYWN0aXZlIHRpcHBlcnMgd2lsbCBiZSBnaXZlbiB0byB0aGUgYHdob2AuAHRFbWl0cyBgTmV3VGlwYCBpZiBzdWNjZXNzZnVsLgA0IyMgQ29tcGxleGl0eSEBLSBgTyhSICsgVClgIHdoZXJlIGBSYCBsZW5ndGggb2YgYHJlYXNvbmAsIGBUYCBpcyB0aGUgbnVtYmVyIG9mIHRpcHBlcnMuXQEgIC0gYE8oVClgOiBkZWNvZGluZyBgVGlwcGVyYCB2ZWMgb2YgbGVuZ3RoIGBUYC4gYFRgIGlzIGNoYXJnZWQgYXMgdXBwZXIgYm91bmQgZ2l2ZW4gYnktASAgICBgQ29udGFpbnNMZW5ndGhCb3VuZGAuIFRoZSBhY3R1YWwgY29zdCBkZXBlbmRzIG9uIHRoZSBpbXBsZW1lbnRhdGlvbiBvZkQgICAgYFQ6OlRpcHBlcnNgLuAgIC0gYE8oUilgOiBoYXNoaW5nIGFuZCBlbmNvZGluZyBvZiByZWFzb24gb2YgbGVuZ3RoIGBSYAx0aXAIARBoYXNoNAEcVDo6SGFzaAABJHRpcF92YWx1ZUEBATxCYWxhbmNlT2Y8VCwgST4AA1SwRGVjbGFyZSBhIHRpcCB2YWx1ZSBmb3IgYW4gYWxyZWFkeS1vcGVuIHRpcC4AUQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGJlIGFwbWVtYmVyIG9mIHRoZSBgVGlwcGVyc2Agc2V0LgBhAS0gYGhhc2hgOiBUaGUgaWRlbnRpdHkgb2YgdGhlIG9wZW4gdGlwIGZvciB3aGljaCBhIHRpcCB2YWx1ZSBpcyBkZWNsYXJlZC4gVGhpcyBpcyBmb3JtZWRdASAgYXMgdGhlIGhhc2ggb2YgdGhlIHR1cGxlIG9mIHRoZSBoYXNoIG9mIHRoZSBvcmlnaW5hbCB0aXAgYHJlYXNvbmAgYW5kIHRoZSBiZW5lZmljaWFyeTQgIGFjY291bnQgSUQuTQEtIGB0aXBfdmFsdWVgOiBUaGUgYW1vdW50IG9mIHRpcCB0aGF0IHRoZSBzZW5kZXIgd291bGQgbGlrZSB0byBnaXZlLiBUaGUgbWVkaWFuIHRpcNQgIHZhbHVlIG9mIGFjdGl2ZSB0aXBwZXJzIHdpbGwgYmUgZ2l2ZW4gdG8gdGhlIGB3aG9gLgBhAUVtaXRzIGBUaXBDbG9zaW5nYCBpZiB0aGUgdGhyZXNob2xkIG9mIHRpcHBlcnMgaGFzIGJlZW4gcmVhY2hlZCBhbmQgdGhlIGNvdW50ZG93biBwZXJpb2QwaGFzIHN0YXJ0ZWQuADQjIyBDb21wbGV4aXR5YQEtIGBPKFQpYCB3aGVyZSBgVGAgaXMgdGhlIG51bWJlciBvZiB0aXBwZXJzLiBkZWNvZGluZyBgVGlwcGVyYCB2ZWMgb2YgbGVuZ3RoIGBUYCwgaW5zZXJ0WQEgIHRpcCBhbmQgY2hlY2sgY2xvc2luZywgYFRgIGlzIGNoYXJnZWQgYXMgdXBwZXIgYm91bmQgZ2l2ZW4gYnkgYENvbnRhaW5zTGVuZ3RoQm91bmRgLgEBICBUaGUgYWN0dWFsIGNvc3QgZGVwZW5kcyBvbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgYFQ6OlRpcHBlcnNgLgBdASAgQWN0dWFsbHkgd2VpZ2h0IGNvdWxkIGJlIGxvd2VyIGFzIGl0IGRlcGVuZHMgb24gaG93IG1hbnkgdGlwcyBhcmUgaW4gYE9wZW5UaXBgIGJ1dCBpdNAgIGlzIHdlaWdodGVkIGFzIGlmIGFsbW9zdCBmdWxsIGkuZSBvZiBsZW5ndGggYFQtMWAuJGNsb3NlX3RpcAQBEGhhc2g0ARxUOjpIYXNoAAQ0XENsb3NlIGFuZCBwYXlvdXQgYSB0aXAuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AFQFUaGUgdGlwIGlkZW50aWZpZWQgYnkgYGhhc2hgIG11c3QgaGF2ZSBmaW5pc2hlZCBpdHMgY291bnRkb3duIHBlcmlvZC4AYQEtIGBoYXNoYDogVGhlIGlkZW50aXR5IG9mIHRoZSBvcGVuIHRpcCBmb3Igd2hpY2ggYSB0aXAgdmFsdWUgaXMgZGVjbGFyZWQuIFRoaXMgaXMgZm9ybWVkXQEgIGFzIHRoZSBoYXNoIG9mIHRoZSB0dXBsZSBvZiB0aGUgb3JpZ2luYWwgdGlwIGByZWFzb25gIGFuZCB0aGUgYmVuZWZpY2lhcnkgYWNjb3VudCBJRC4ANCMjIENvbXBsZXhpdHldAS0gOiBgTyhUKWAgd2hlcmUgYFRgIGlzIHRoZSBudW1iZXIgb2YgdGlwcGVycy4gZGVjb2RpbmcgYFRpcHBlcmAgdmVjIG9mIGxlbmd0aCBgVGAuIGBUYFkBICBpcyBjaGFyZ2VkIGFzIHVwcGVyIGJvdW5kIGdpdmVuIGJ5IGBDb250YWluc0xlbmd0aEJvdW5kYC4gVGhlIGFjdHVhbCBjb3N0IGRlcGVuZHMgb26UICB0aGUgaW1wbGVtZW50YXRpb24gb2YgYFQ6OlRpcHBlcnNgLiRzbGFzaF90aXAEARBoYXNoNAEcVDo6SGFzaAAFKJRSZW1vdmUgYW5kIHNsYXNoIGFuIGFscmVhZHktb3BlbiB0aXAuAKhNYXkgb25seSBiZSBjYWxsZWQgZnJvbSBgVDo6UmVqZWN0T3JpZ2luYC4A9EFzIGEgcmVzdWx0LCB0aGUgZmluZGVyIGlzIHNsYXNoZWQgYW5kIHRoZSBkZXBvc2l0cyBhcmUgbG9zdC4AhEVtaXRzIGBUaXBTbGFzaGVkYCBpZiBzdWNjZXNzZnVsLgA0IyMgQ29tcGxleGl0eRwtIE8oMSkuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLrUCDDBwYWxsZXRfcHJveHkYcGFsbGV0EENhbGwEBFQAASgUcHJveHkMARByZWFsAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAUBmb3JjZV9wcm94eV90eXBluQIBUE9wdGlvbjxUOjpQcm94eVR5cGU+AAEQY2FsbCUBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAAkTQFEaXNwYXRjaCB0aGUgZ2l2ZW4gYGNhbGxgIGZyb20gYW4gYWNjb3VudCB0aGF0IHRoZSBzZW5kZXIgaXMgYXV0aG9yaXNlZCBmb3IgdGhyb3VnaDBgYWRkX3Byb3h5YC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgAsUGFyYW1ldGVyczoNAS0gYHJlYWxgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBwcm94eSB3aWxsIG1ha2UgYSBjYWxsIG9uIGJlaGFsZiBvZi5hAS0gYGZvcmNlX3Byb3h5X3R5cGVgOiBTcGVjaWZ5IHRoZSBleGFjdCBwcm94eSB0eXBlIHRvIGJlIHVzZWQgYW5kIGNoZWNrZWQgZm9yIHRoaXMgY2FsbC7QLSBgY2FsbGA6IFRoZSBjYWxsIHRvIGJlIG1hZGUgYnkgdGhlIGByZWFsYCBhY2NvdW50LiRhZGRfcHJveHkMASBkZWxlZ2F0ZQABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEocHJveHlfdHlwZdgBMFQ6OlByb3h5VHlwZQABFGRlbGF5EAFEQmxvY2tOdW1iZXJGb3I8VD4AASRFAVJlZ2lzdGVyIGEgcHJveHkgYWNjb3VudCBmb3IgdGhlIHNlbmRlciB0aGF0IGlzIGFibGUgdG8gbWFrZSBjYWxscyBvbiBpdHMgYmVoYWxmLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uACxQYXJhbWV0ZXJzOhEBLSBgcHJveHlgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBgY2FsbGVyYCB3b3VsZCBsaWtlIHRvIG1ha2UgYSBwcm94eS78LSBgcHJveHlfdHlwZWA6IFRoZSBwZXJtaXNzaW9ucyBhbGxvd2VkIGZvciB0aGlzIHByb3h5IGFjY291bnQuTQEtIGBkZWxheWA6IFRoZSBhbm5vdW5jZW1lbnQgcGVyaW9kIHJlcXVpcmVkIG9mIHRoZSBpbml0aWFsIHByb3h5LiBXaWxsIGdlbmVyYWxseSBiZRR6ZXJvLjByZW1vdmVfcHJveHkMASBkZWxlZ2F0ZQABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEocHJveHlfdHlwZdgBMFQ6OlByb3h5VHlwZQABFGRlbGF5EAFEQmxvY2tOdW1iZXJGb3I8VD4AAhyoVW5yZWdpc3RlciBhIHByb3h5IGFjY291bnQgZm9yIHRoZSBzZW5kZXIuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM6JQEtIGBwcm94eWA6IFRoZSBhY2NvdW50IHRoYXQgdGhlIGBjYWxsZXJgIHdvdWxkIGxpa2UgdG8gcmVtb3ZlIGFzIGEgcHJveHkuQQEtIGBwcm94eV90eXBlYDogVGhlIHBlcm1pc3Npb25zIGN1cnJlbnRseSBlbmFibGVkIGZvciB0aGUgcmVtb3ZlZCBwcm94eSBhY2NvdW50LjhyZW1vdmVfcHJveGllcwADGLRVbnJlZ2lzdGVyIGFsbCBwcm94eSBhY2NvdW50cyBmb3IgdGhlIHNlbmRlci4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBBAVdBUk5JTkc6IFRoaXMgbWF5IGJlIGNhbGxlZCBvbiBhY2NvdW50cyBjcmVhdGVkIGJ5IGBwdXJlYCwgaG93ZXZlciBpZiBkb25lLCB0aGVuWQF0aGUgdW5yZXNlcnZlZCBmZWVzIHdpbGwgYmUgaW5hY2Nlc3NpYmxlLiAqKkFsbCBhY2Nlc3MgdG8gdGhpcyBhY2NvdW50IHdpbGwgYmUgbG9zdC4qKixjcmVhdGVfcHVyZQwBKHByb3h5X3R5cGXYATBUOjpQcm94eVR5cGUAARRkZWxheRABREJsb2NrTnVtYmVyRm9yPFQ+AAEUaW5kZXjcAQx1MTYABEg5AVNwYXduIGEgZnJlc2ggbmV3IGFjY291bnQgdGhhdCBpcyBndWFyYW50ZWVkIHRvIGJlIG90aGVyd2lzZSBpbmFjY2Vzc2libGUsIGFuZPxpbml0aWFsaXplIGl0IHdpdGggYSBwcm94eSBvZiBgcHJveHlfdHlwZWAgZm9yIGBvcmlnaW5gIHNlbmRlci4AbFJlcXVpcmVzIGEgYFNpZ25lZGAgb3JpZ2luLgBRAS0gYHByb3h5X3R5cGVgOiBUaGUgdHlwZSBvZiB0aGUgcHJveHkgdGhhdCB0aGUgc2VuZGVyIHdpbGwgYmUgcmVnaXN0ZXJlZCBhcyBvdmVyIHRoZU0BbmV3IGFjY291bnQuIFRoaXMgd2lsbCBhbG1vc3QgYWx3YXlzIGJlIHRoZSBtb3N0IHBlcm1pc3NpdmUgYFByb3h5VHlwZWAgcG9zc2libGUgdG94YWxsb3cgZm9yIG1heGltdW0gZmxleGliaWxpdHkuUQEtIGBpbmRleGA6IEEgZGlzYW1iaWd1YXRpb24gaW5kZXgsIGluIGNhc2UgdGhpcyBpcyBjYWxsZWQgbXVsdGlwbGUgdGltZXMgaW4gdGhlIHNhbWVdAXRyYW5zYWN0aW9uIChlLmcuIHdpdGggYHV0aWxpdHk6OmJhdGNoYCkuIFVubGVzcyB5b3UncmUgdXNpbmcgYGJhdGNoYCB5b3UgcHJvYmFibHkganVzdEB3YW50IHRvIHVzZSBgMGAuTQEtIGBkZWxheWA6IFRoZSBhbm5vdW5jZW1lbnQgcGVyaW9kIHJlcXVpcmVkIG9mIHRoZSBpbml0aWFsIHByb3h5LiBXaWxsIGdlbmVyYWxseSBiZRR6ZXJvLgBRAUZhaWxzIHdpdGggYER1cGxpY2F0ZWAgaWYgdGhpcyBoYXMgYWxyZWFkeSBiZWVuIGNhbGxlZCBpbiB0aGlzIHRyYW5zYWN0aW9uLCBmcm9tIHRoZZhzYW1lIHNlbmRlciwgd2l0aCB0aGUgc2FtZSBwYXJhbWV0ZXJzLgDkRmFpbHMgaWYgdGhlcmUgYXJlIGluc3VmZmljaWVudCBmdW5kcyB0byBwYXkgZm9yIGRlcG9zaXQuJGtpbGxfcHVyZRQBHHNwYXduZXIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKHByb3h5X3R5cGXYATBUOjpQcm94eVR5cGUAARRpbmRleNwBDHUxNgABGGhlaWdodGkBAURCbG9ja051bWJlckZvcjxUPgABJGV4dF9pbmRleGkBAQx1MzIABUCgUmVtb3ZlcyBhIHByZXZpb3VzbHkgc3Bhd25lZCBwdXJlIHByb3h5LgBJAVdBUk5JTkc6ICoqQWxsIGFjY2VzcyB0byB0aGlzIGFjY291bnQgd2lsbCBiZSBsb3N0LioqIEFueSBmdW5kcyBoZWxkIGluIGl0IHdpbGwgYmU0aW5hY2Nlc3NpYmxlLgBZAVJlcXVpcmVzIGEgYFNpZ25lZGAgb3JpZ2luLCBhbmQgdGhlIHNlbmRlciBhY2NvdW50IG11c3QgaGF2ZSBiZWVuIGNyZWF0ZWQgYnkgYSBjYWxsIHRvlGBwdXJlYCB3aXRoIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVycy4AOQEtIGBzcGF3bmVyYDogVGhlIGFjY291bnQgdGhhdCBvcmlnaW5hbGx5IGNhbGxlZCBgcHVyZWAgdG8gY3JlYXRlIHRoaXMgYWNjb3VudC45AS0gYGluZGV4YDogVGhlIGRpc2FtYmlndWF0aW9uIGluZGV4IG9yaWdpbmFsbHkgcGFzc2VkIHRvIGBwdXJlYC4gUHJvYmFibHkgYDBgLuwtIGBwcm94eV90eXBlYDogVGhlIHByb3h5IHR5cGUgb3JpZ2luYWxseSBwYXNzZWQgdG8gYHB1cmVgLikBLSBgaGVpZ2h0YDogVGhlIGhlaWdodCBvZiB0aGUgY2hhaW4gd2hlbiB0aGUgY2FsbCB0byBgcHVyZWAgd2FzIHByb2Nlc3NlZC41AS0gYGV4dF9pbmRleGA6IFRoZSBleHRyaW5zaWMgaW5kZXggaW4gd2hpY2ggdGhlIGNhbGwgdG8gYHB1cmVgIHdhcyBwcm9jZXNzZWQuADUBRmFpbHMgd2l0aCBgTm9QZXJtaXNzaW9uYCBpbiBjYXNlIHRoZSBjYWxsZXIgaXMgbm90IGEgcHJldmlvdXNseSBjcmVhdGVkIHB1cmXcYWNjb3VudCB3aG9zZSBgcHVyZWAgY2FsbCBoYXMgY29ycmVzcG9uZGluZyBwYXJhbWV0ZXJzLiBhbm5vdW5jZQgBEHJlYWwAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABJGNhbGxfaGFzaDQBNENhbGxIYXNoT2Y8VD4ABjwFAVB1Ymxpc2ggdGhlIGhhc2ggb2YgYSBwcm94eS1jYWxsIHRoYXQgd2lsbCBiZSBtYWRlIGluIHRoZSBmdXR1cmUuAF0BVGhpcyBtdXN0IGJlIGNhbGxlZCBzb21lIG51bWJlciBvZiBibG9ja3MgYmVmb3JlIHRoZSBjb3JyZXNwb25kaW5nIGBwcm94eWAgaXMgYXR0ZW1wdGVkJQFpZiB0aGUgZGVsYXkgYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm94eSByZWxhdGlvbnNoaXAgaXMgZ3JlYXRlciB0aGFuIHplcm8uABEBTm8gbW9yZSB0aGFuIGBNYXhQZW5kaW5nYCBhbm5vdW5jZW1lbnRzIG1heSBiZSBtYWRlIGF0IGFueSBvbmUgdGltZS4ACQFUaGlzIHdpbGwgdGFrZSBhIGRlcG9zaXQgb2YgYEFubm91bmNlbWVudERlcG9zaXRGYWN0b3JgIGFzIHdlbGwgYXMZAWBBbm5vdW5jZW1lbnREZXBvc2l0QmFzZWAgaWYgdGhlcmUgYXJlIG5vIG90aGVyIHBlbmRpbmcgYW5ub3VuY2VtZW50cy4AJQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgYSBwcm94eSBvZiBgcmVhbGAuACxQYXJhbWV0ZXJzOg0BLSBgcmVhbGA6IFRoZSBhY2NvdW50IHRoYXQgdGhlIHByb3h5IHdpbGwgbWFrZSBhIGNhbGwgb24gYmVoYWxmIG9mLhUBLSBgY2FsbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIGNhbGwgdG8gYmUgbWFkZSBieSB0aGUgYHJlYWxgIGFjY291bnQuTHJlbW92ZV9hbm5vdW5jZW1lbnQIARByZWFsAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASRjYWxsX2hhc2g0ATRDYWxsSGFzaE9mPFQ+AAcocFJlbW92ZSBhIGdpdmVuIGFubm91bmNlbWVudC4AWQFNYXkgYmUgY2FsbGVkIGJ5IGEgcHJveHkgYWNjb3VudCB0byByZW1vdmUgYSBjYWxsIHRoZXkgcHJldmlvdXNseSBhbm5vdW5jZWQgYW5kIHJldHVybjB0aGUgZGVwb3NpdC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgAsUGFyYW1ldGVyczoNAS0gYHJlYWxgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBwcm94eSB3aWxsIG1ha2UgYSBjYWxsIG9uIGJlaGFsZiBvZi4VAS0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIG1hZGUgYnkgdGhlIGByZWFsYCBhY2NvdW50LkxyZWplY3RfYW5ub3VuY2VtZW50CAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABJGNhbGxfaGFzaDQBNENhbGxIYXNoT2Y8VD4ACCiwUmVtb3ZlIHRoZSBnaXZlbiBhbm5vdW5jZW1lbnQgb2YgYSBkZWxlZ2F0ZS4AYQFNYXkgYmUgY2FsbGVkIGJ5IGEgdGFyZ2V0IChwcm94aWVkKSBhY2NvdW50IHRvIHJlbW92ZSBhIGNhbGwgdGhhdCBvbmUgb2YgdGhlaXIgZGVsZWdhdGVzJQEoYGRlbGVnYXRlYCkgaGFzIGFubm91bmNlZCB0aGV5IHdhbnQgdG8gZXhlY3V0ZS4gVGhlIGRlcG9zaXQgaXMgcmV0dXJuZWQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM69C0gYGRlbGVnYXRlYDogVGhlIGFjY291bnQgdGhhdCBwcmV2aW91c2x5IGFubm91bmNlZCB0aGUgY2FsbC68LSBgY2FsbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIGNhbGwgdG8gYmUgbWFkZS48cHJveHlfYW5ub3VuY2VkEAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABEHJlYWwAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABQGZvcmNlX3Byb3h5X3R5cGW5AgFQT3B0aW9uPFQ6OlByb3h5VHlwZT4AARBjYWxsJQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4ACSxNAURpc3BhdGNoIHRoZSBnaXZlbiBgY2FsbGAgZnJvbSBhbiBhY2NvdW50IHRoYXQgdGhlIHNlbmRlciBpcyBhdXRob3JpemVkIGZvciB0aHJvdWdoMGBhZGRfcHJveHlgLgCoUmVtb3ZlcyBhbnkgY29ycmVzcG9uZGluZyBhbm5vdW5jZW1lbnQocykuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM6DQEtIGByZWFsYDogVGhlIGFjY291bnQgdGhhdCB0aGUgcHJveHkgd2lsbCBtYWtlIGEgY2FsbCBvbiBiZWhhbGYgb2YuYQEtIGBmb3JjZV9wcm94eV90eXBlYDogU3BlY2lmeSB0aGUgZXhhY3QgcHJveHkgdHlwZSB0byBiZSB1c2VkIGFuZCBjaGVja2VkIGZvciB0aGlzIGNhbGwu0C0gYGNhbGxgOiBUaGUgY2FsbCB0byBiZSBtYWRlIGJ5IHRoZSBgcmVhbGAgYWNjb3VudC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuuQIEGE9wdGlvbgQEVAHYAQgQTm9uZQAAABBTb21lBADYAAABAAC9Agw8cGFsbGV0X211bHRpc2lnGHBhbGxldBBDYWxsBARUAAEQUGFzX211bHRpX3RocmVzaG9sZF8xCAFEb3RoZXJfc2lnbmF0b3JpZXNFAQFEVmVjPFQ6OkFjY291bnRJZD4AARBjYWxsJQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AADBRAUltbWVkaWF0ZWx5IGRpc3BhdGNoIGEgbXVsdGktc2lnbmF0dXJlIGNhbGwgdXNpbmcgYSBzaW5nbGUgYXBwcm92YWwgZnJvbSB0aGUgY2FsbGVyLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAD0BLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGFyZSBwYXJ0IG9mIHRoZQEBbXVsdGktc2lnbmF0dXJlLCBidXQgZG8gbm90IHBhcnRpY2lwYXRlIGluIHRoZSBhcHByb3ZhbCBwcm9jZXNzLogtIGBjYWxsYDogVGhlIGNhbGwgdG8gYmUgZXhlY3V0ZWQuALhSZXN1bHQgaXMgZXF1aXZhbGVudCB0byB0aGUgZGlzcGF0Y2hlZCByZXN1bHQuADQjIyBDb21wbGV4aXR5GQFPKFogKyBDKSB3aGVyZSBaIGlzIHRoZSBsZW5ndGggb2YgdGhlIGNhbGwgYW5kIEMgaXRzIGV4ZWN1dGlvbiB3ZWlnaHQuIGFzX211bHRpFAEkdGhyZXNob2xk3AEMdTE2AAFEb3RoZXJfc2lnbmF0b3JpZXNFAQFEVmVjPFQ6OkFjY291bnRJZD4AATxtYXliZV90aW1lcG9pbnTBAgGQT3B0aW9uPFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4+AAEQY2FsbCUBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAEobWF4X3dlaWdodCgBGFdlaWdodAABnFUBUmVnaXN0ZXIgYXBwcm92YWwgZm9yIGEgZGlzcGF0Y2ggdG8gYmUgbWFkZSBmcm9tIGEgZGV0ZXJtaW5pc3RpYyBjb21wb3NpdGUgYWNjb3VudCBpZvhhcHByb3ZlZCBieSBhIHRvdGFsIG9mIGB0aHJlc2hvbGQgLSAxYCBvZiBgb3RoZXJfc2lnbmF0b3JpZXNgLgCwSWYgdGhlcmUgYXJlIGVub3VnaCwgdGhlbiBkaXNwYXRjaCB0aGUgY2FsbC4ALQFQYXltZW50OiBgRGVwb3NpdEJhc2VgIHdpbGwgYmUgcmVzZXJ2ZWQgaWYgdGhpcyBpcyB0aGUgZmlyc3QgYXBwcm92YWwsIHBsdXM9AWB0aHJlc2hvbGRgIHRpbWVzIGBEZXBvc2l0RmFjdG9yYC4gSXQgaXMgcmV0dXJuZWQgb25jZSB0aGlzIGRpc3BhdGNoIGhhcHBlbnMgb3I0aXMgY2FuY2VsbGVkLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAFUBLSBgdGhyZXNob2xkYDogVGhlIHRvdGFsIG51bWJlciBvZiBhcHByb3ZhbHMgZm9yIHRoaXMgZGlzcGF0Y2ggYmVmb3JlIGl0IGlzIGV4ZWN1dGVkLkEBLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGNhbiBhcHByb3ZlIHRoaXNsZGlzcGF0Y2guIE1heSBub3QgYmUgZW1wdHkuWQEtIGBtYXliZV90aW1lcG9pbnRgOiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBhcHByb3ZhbCwgdGhlbiB0aGlzIG11c3QgYmUgYE5vbmVgLiBJZiBpdCBpc1EBbm90IHRoZSBmaXJzdCBhcHByb3ZhbCwgdGhlbiBpdCBtdXN0IGJlIGBTb21lYCwgd2l0aCB0aGUgdGltZXBvaW50IChibG9jayBudW1iZXIgYW5k1HRyYW5zYWN0aW9uIGluZGV4KSBvZiB0aGUgZmlyc3QgYXBwcm92YWwgdHJhbnNhY3Rpb24uiC0gYGNhbGxgOiBUaGUgY2FsbCB0byBiZSBleGVjdXRlZC4AHQFOT1RFOiBVbmxlc3MgdGhpcyBpcyB0aGUgZmluYWwgYXBwcm92YWwsIHlvdSB3aWxsIGdlbmVyYWxseSB3YW50IHRvIHVzZRkBYGFwcHJvdmVfYXNfbXVsdGlgIGluc3RlYWQsIHNpbmNlIGl0IG9ubHkgcmVxdWlyZXMgYSBoYXNoIG9mIHRoZSBjYWxsLgBZAVJlc3VsdCBpcyBlcXVpdmFsZW50IHRvIHRoZSBkaXNwYXRjaGVkIHJlc3VsdCBpZiBgdGhyZXNob2xkYCBpcyBleGFjdGx5IGAxYC4gT3RoZXJ3aXNlVQFvbiBzdWNjZXNzLCByZXN1bHQgaXMgYE9rYCBhbmQgdGhlIHJlc3VsdCBmcm9tIHRoZSBpbnRlcmlvciBjYWxsLCBpZiBpdCB3YXMgZXhlY3V0ZWQs3G1heSBiZSBmb3VuZCBpbiB0aGUgZGVwb3NpdGVkIGBNdWx0aXNpZ0V4ZWN1dGVkYCBldmVudC4ANCMjIENvbXBsZXhpdHlQLSBgTyhTICsgWiArIENhbGwpYC7MLSBVcCB0byBvbmUgYmFsYW5jZS1yZXNlcnZlIG9yIHVucmVzZXJ2ZSBvcGVyYXRpb24uPQEtIE9uZSBwYXNzdGhyb3VnaCBvcGVyYXRpb24sIG9uZSBpbnNlcnQsIGJvdGggYE8oUylgIHdoZXJlIGBTYCBpcyB0aGUgbnVtYmVyIG9mRQEgIHNpZ25hdG9yaWVzLiBgU2AgaXMgY2FwcGVkIGJ5IGBNYXhTaWduYXRvcmllc2AsIHdpdGggd2VpZ2h0IGJlaW5nIHByb3BvcnRpb25hbC4hAS0gT25lIGNhbGwgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFopYCB3aGVyZSBgWmAgaXMgdHgtbGVuLrwtIE9uZSBlbmNvZGUgJiBoYXNoLCBib3RoIG9mIGNvbXBsZXhpdHkgYE8oUylgLtQtIFVwIHRvIG9uZSBiaW5hcnkgc2VhcmNoIGFuZCBpbnNlcnQgKGBPKGxvZ1MgKyBTKWApLvgtIEkvTzogMSByZWFkIGBPKFMpYCwgdXAgdG8gMSBtdXRhdGUgYE8oUylgLiBVcCB0byBvbmUgcmVtb3ZlLjAtIE9uZSBldmVudC5sLSBUaGUgd2VpZ2h0IG9mIHRoZSBgY2FsbGAuTQEtIFN0b3JhZ2U6IGluc2VydHMgb25lIGl0ZW0sIHZhbHVlIHNpemUgYm91bmRlZCBieSBgTWF4U2lnbmF0b3JpZXNgLCB3aXRoIGEgZGVwb3NpdBkBICB0YWtlbiBmb3IgaXRzIGxpZmV0aW1lIG9mIGBEZXBvc2l0QmFzZSArIHRocmVzaG9sZCAqIERlcG9zaXRGYWN0b3JgLkBhcHByb3ZlX2FzX211bHRpFAEkdGhyZXNob2xk3AEMdTE2AAFEb3RoZXJfc2lnbmF0b3JpZXNFAQFEVmVjPFQ6OkFjY291bnRJZD4AATxtYXliZV90aW1lcG9pbnTBAgGQT3B0aW9uPFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4+AAEkY2FsbF9oYXNoBAEgW3U4OyAzMl0AAShtYXhfd2VpZ2h0KAEYV2VpZ2h0AAJ4VQFSZWdpc3RlciBhcHByb3ZhbCBmb3IgYSBkaXNwYXRjaCB0byBiZSBtYWRlIGZyb20gYSBkZXRlcm1pbmlzdGljIGNvbXBvc2l0ZSBhY2NvdW50IGlm+GFwcHJvdmVkIGJ5IGEgdG90YWwgb2YgYHRocmVzaG9sZCAtIDFgIG9mIGBvdGhlcl9zaWduYXRvcmllc2AuAC0BUGF5bWVudDogYERlcG9zaXRCYXNlYCB3aWxsIGJlIHJlc2VydmVkIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGFwcHJvdmFsLCBwbHVzPQFgdGhyZXNob2xkYCB0aW1lcyBgRGVwb3NpdEZhY3RvcmAuIEl0IGlzIHJldHVybmVkIG9uY2UgdGhpcyBkaXNwYXRjaCBoYXBwZW5zIG9yNGlzIGNhbmNlbGxlZC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBVAS0gYHRocmVzaG9sZGA6IFRoZSB0b3RhbCBudW1iZXIgb2YgYXBwcm92YWxzIGZvciB0aGlzIGRpc3BhdGNoIGJlZm9yZSBpdCBpcyBleGVjdXRlZC5BAS0gYG90aGVyX3NpZ25hdG9yaWVzYDogVGhlIGFjY291bnRzIChvdGhlciB0aGFuIHRoZSBzZW5kZXIpIHdobyBjYW4gYXBwcm92ZSB0aGlzbGRpc3BhdGNoLiBNYXkgbm90IGJlIGVtcHR5LlkBLSBgbWF5YmVfdGltZXBvaW50YDogSWYgdGhpcyBpcyB0aGUgZmlyc3QgYXBwcm92YWwsIHRoZW4gdGhpcyBtdXN0IGJlIGBOb25lYC4gSWYgaXQgaXNRAW5vdCB0aGUgZmlyc3QgYXBwcm92YWwsIHRoZW4gaXQgbXVzdCBiZSBgU29tZWAsIHdpdGggdGhlIHRpbWVwb2ludCAoYmxvY2sgbnVtYmVyIGFuZNR0cmFuc2FjdGlvbiBpbmRleCkgb2YgdGhlIGZpcnN0IGFwcHJvdmFsIHRyYW5zYWN0aW9uLswtIGBjYWxsX2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgY2FsbCB0byBiZSBleGVjdXRlZC4ANQFOT1RFOiBJZiB0aGlzIGlzIHRoZSBmaW5hbCBhcHByb3ZhbCwgeW91IHdpbGwgd2FudCB0byB1c2UgYGFzX211bHRpYCBpbnN0ZWFkLgA0IyMgQ29tcGxleGl0eSQtIGBPKFMpYC7MLSBVcCB0byBvbmUgYmFsYW5jZS1yZXNlcnZlIG9yIHVucmVzZXJ2ZSBvcGVyYXRpb24uPQEtIE9uZSBwYXNzdGhyb3VnaCBvcGVyYXRpb24sIG9uZSBpbnNlcnQsIGJvdGggYE8oUylgIHdoZXJlIGBTYCBpcyB0aGUgbnVtYmVyIG9mRQEgIHNpZ25hdG9yaWVzLiBgU2AgaXMgY2FwcGVkIGJ5IGBNYXhTaWduYXRvcmllc2AsIHdpdGggd2VpZ2h0IGJlaW5nIHByb3BvcnRpb25hbC68LSBPbmUgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFMpYC7ULSBVcCB0byBvbmUgYmluYXJ5IHNlYXJjaCBhbmQgaW5zZXJ0IChgTyhsb2dTICsgUylgKS74LSBJL086IDEgcmVhZCBgTyhTKWAsIHVwIHRvIDEgbXV0YXRlIGBPKFMpYC4gVXAgdG8gb25lIHJlbW92ZS4wLSBPbmUgZXZlbnQuTQEtIFN0b3JhZ2U6IGluc2VydHMgb25lIGl0ZW0sIHZhbHVlIHNpemUgYm91bmRlZCBieSBgTWF4U2lnbmF0b3JpZXNgLCB3aXRoIGEgZGVwb3NpdBkBICB0YWtlbiBmb3IgaXRzIGxpZmV0aW1lIG9mIGBEZXBvc2l0QmFzZSArIHRocmVzaG9sZCAqIERlcG9zaXRGYWN0b3JgLjxjYW5jZWxfYXNfbXVsdGkQASR0aHJlc2hvbGTcAQx1MTYAAURvdGhlcl9zaWduYXRvcmllc0UBAURWZWM8VDo6QWNjb3VudElkPgABJHRpbWVwb2ludOQBcFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4AASRjYWxsX2hhc2gEASBbdTg7IDMyXQADVFUBQ2FuY2VsIGEgcHJlLWV4aXN0aW5nLCBvbi1nb2luZyBtdWx0aXNpZyB0cmFuc2FjdGlvbi4gQW55IGRlcG9zaXQgcmVzZXJ2ZWQgcHJldmlvdXNsecRmb3IgdGhpcyBvcGVyYXRpb24gd2lsbCBiZSB1bnJlc2VydmVkIG9uIHN1Y2Nlc3MuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AVQEtIGB0aHJlc2hvbGRgOiBUaGUgdG90YWwgbnVtYmVyIG9mIGFwcHJvdmFscyBmb3IgdGhpcyBkaXNwYXRjaCBiZWZvcmUgaXQgaXMgZXhlY3V0ZWQuQQEtIGBvdGhlcl9zaWduYXRvcmllc2A6IFRoZSBhY2NvdW50cyAob3RoZXIgdGhhbiB0aGUgc2VuZGVyKSB3aG8gY2FuIGFwcHJvdmUgdGhpc2xkaXNwYXRjaC4gTWF5IG5vdCBiZSBlbXB0eS5dAS0gYHRpbWVwb2ludGA6IFRoZSB0aW1lcG9pbnQgKGJsb2NrIG51bWJlciBhbmQgdHJhbnNhY3Rpb24gaW5kZXgpIG9mIHRoZSBmaXJzdCBhcHByb3ZhbHh0cmFuc2FjdGlvbiBmb3IgdGhpcyBkaXNwYXRjaC7MLSBgY2FsbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIGNhbGwgdG8gYmUgZXhlY3V0ZWQuADQjIyBDb21wbGV4aXR5JC0gYE8oUylgLswtIFVwIHRvIG9uZSBiYWxhbmNlLXJlc2VydmUgb3IgdW5yZXNlcnZlIG9wZXJhdGlvbi49AS0gT25lIHBhc3N0aHJvdWdoIG9wZXJhdGlvbiwgb25lIGluc2VydCwgYm90aCBgTyhTKWAgd2hlcmUgYFNgIGlzIHRoZSBudW1iZXIgb2ZFASAgc2lnbmF0b3JpZXMuIGBTYCBpcyBjYXBwZWQgYnkgYE1heFNpZ25hdG9yaWVzYCwgd2l0aCB3ZWlnaHQgYmVpbmcgcHJvcG9ydGlvbmFsLrwtIE9uZSBlbmNvZGUgJiBoYXNoLCBib3RoIG9mIGNvbXBsZXhpdHkgYE8oUylgLjAtIE9uZSBldmVudC6ELSBJL086IDEgcmVhZCBgTyhTKWAsIG9uZSByZW1vdmUucC0gU3RvcmFnZTogcmVtb3ZlcyBvbmUgaXRlbS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuwQIEGE9wdGlvbgQEVAHkAQgQTm9uZQAAABBTb21lBADkAAABAADFAgw4cGFsbGV0X3VuaXF1ZXMYcGFsbGV0EENhbGwIBFQABEkAAWgYY3JlYXRlCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABFGFkbWluAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAEAJAUlzc3VlIGEgbmV3IGNvbGxlY3Rpb24gb2Ygbm9uLWZ1bmdpYmxlIGl0ZW1zIGZyb20gYSBwdWJsaWMgb3JpZ2luLgAdAVRoaXMgbmV3IGNvbGxlY3Rpb24gaGFzIG5vIGl0ZW1zIGluaXRpYWxseSBhbmQgaXRzIG93bmVyIGlzIHRoZSBvcmlnaW4uAGEBVGhlIG9yaWdpbiBtdXN0IGNvbmZvcm0gdG8gdGhlIGNvbmZpZ3VyZWQgYENyZWF0ZU9yaWdpbmAgYW5kIGhhdmUgc3VmZmljaWVudCBmdW5kcyBmcmVlLgCsYEl0ZW1EZXBvc2l0YCBmdW5kcyBvZiBzZW5kZXIgYXJlIHJlc2VydmVkLgAsUGFyYW1ldGVyczphAS0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgbmV3IGNvbGxlY3Rpb24uIFRoaXMgbXVzdCBub3QgYmUgY3VycmVudGx5IGluIHVzZS5FAS0gYGFkbWluYDogVGhlIGFkbWluIG9mIHRoaXMgY29sbGVjdGlvbi4gVGhlIGFkbWluIGlzIHRoZSBpbml0aWFsIGFkZHJlc3Mgb2YgZWFjaJhtZW1iZXIgb2YgdGhlIGNvbGxlY3Rpb24ncyBhZG1pbiB0ZWFtLgCYRW1pdHMgYENyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AOFdlaWdodDogYE8oMSlgMGZvcmNlX2NyZWF0ZQwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARRvd25lcgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEwZnJlZV9ob2xkaW5nIAEQYm9vbAABRBkBSXNzdWUgYSBuZXcgY29sbGVjdGlvbiBvZiBub24tZnVuZ2libGUgaXRlbXMgZnJvbSBhIHByaXZpbGVnZWQgb3JpZ2luLgCsVGhpcyBuZXcgY29sbGVjdGlvbiBoYXMgbm8gaXRlbXMgaW5pdGlhbGx5LgCkVGhlIG9yaWdpbiBtdXN0IGNvbmZvcm0gdG8gYEZvcmNlT3JpZ2luYC4AnFVubGlrZSBgY3JlYXRlYCwgbm8gZnVuZHMgYXJlIHJlc2VydmVkLgBJAS0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgbmV3IGl0ZW0uIFRoaXMgbXVzdCBub3QgYmUgY3VycmVudGx5IGluIHVzZS45AS0gYG93bmVyYDogVGhlIG93bmVyIG9mIHRoaXMgY29sbGVjdGlvbiBvZiBpdGVtcy4gVGhlIG93bmVyIGhhcyBmdWxsIHN1cGVydXNlcjQgIHBlcm1pc3Npb25zIQFvdmVyIHRoaXMgaXRlbSwgYnV0IG1heSBsYXRlciBjaGFuZ2UgYW5kIGNvbmZpZ3VyZSB0aGUgcGVybWlzc2lvbnMgdXNpbmeQYHRyYW5zZmVyX293bmVyc2hpcGAgYW5kIGBzZXRfdGVhbWAuAKxFbWl0cyBgRm9yY2VDcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADhXZWlnaHQ6IGBPKDEpYBxkZXN0cm95CAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABHHdpdG5lc3PJAgE4RGVzdHJveVdpdG5lc3MAAjycRGVzdHJveSBhIGNvbGxlY3Rpb24gb2YgZnVuZ2libGUgaXRlbXMuAF0BVGhlIG9yaWdpbiBtdXN0IGNvbmZvcm0gdG8gYEZvcmNlT3JpZ2luYCBvciBtdXN0IGJlIGBTaWduZWRgIGFuZCB0aGUgc2VuZGVyIG11c3QgYmUgdGhlaG93bmVyIG9mIHRoZSBgY29sbGVjdGlvbmAuAAUBLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHRvIGJlIGRlc3Ryb3llZC4xAS0gYHdpdG5lc3NgOiBJbmZvcm1hdGlvbiBvbiB0aGUgaXRlbXMgbWludGVkIGluIHRoZSBjb2xsZWN0aW9uLiBUaGlzIG11c3QgYmUgY29ycmVjdC4AoEVtaXRzIGBEZXN0cm95ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AZFdlaWdodDogYE8obiArIG0pYCB3aGVyZTpULSBgbiA9IHdpdG5lc3MuaXRlbXNgeC0gYG0gPSB3aXRuZXNzLml0ZW1fbWV0YWRhdGFzYGgtIGBhID0gd2l0bmVzcy5hdHRyaWJ1dGVzYBBtaW50DAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRvd25lcgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAMsoE1pbnQgYW4gaXRlbSBvZiBhIHBhcnRpY3VsYXIgY29sbGVjdGlvbi4AQQFUaGUgb3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIG11c3QgYmUgdGhlIElzc3VlciBvZiB0aGUgYGNvbGxlY3Rpb25gLgDgLSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIHRvIGJlIG1pbnRlZC7ILSBgaXRlbWA6IFRoZSBpdGVtIHZhbHVlIG9mIHRoZSBpdGVtIHRvIGJlIG1pbnRlZC7YLSBgYmVuZWZpY2lhcnlgOiBUaGUgaW5pdGlhbCBvd25lciBvZiB0aGUgbWludGVkIGl0ZW0uAJRFbWl0cyBgSXNzdWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADhXZWlnaHQ6IGBPKDEpYBBidXJuDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAASxjaGVja19vd25lcgEBAXBPcHRpb248QWNjb3VudElkTG9va3VwT2Y8VD4+AAQ8WERlc3Ryb3kgYSBzaW5nbGUgaXRlbS4A9E9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGJlIGVpdGhlcjqALSB0aGUgQWRtaW4gb2YgdGhlIGBjb2xsZWN0aW9uYDtoLSB0aGUgT3duZXIgb2YgdGhlIGBpdGVtYDsA4C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbSB0byBiZSBidXJuZWQusC0gYGl0ZW1gOiBUaGUgaXRlbSBvZiB0aGUgaXRlbSB0byBiZSBidXJuZWQuUQEtIGBjaGVja19vd25lcmA6IElmIGBTb21lYCB0aGVuIHRoZSBvcGVyYXRpb24gd2lsbCBmYWlsIHdpdGggYFdyb25nT3duZXJgIHVubGVzcyB0aGV4ICBpdGVtIGlzIG93bmVkIGJ5IHRoaXMgdmFsdWUuALRFbWl0cyBgQnVybmVkYCB3aXRoIHRoZSBhY3R1YWwgYW1vdW50IGJ1cm5lZC4AOFdlaWdodDogYE8oMSlgfE1vZGVzOiBgY2hlY2tfb3duZXIuaXNfc29tZSgpYC4gdHJhbnNmZXIMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgAFRMBNb3ZlIGFuIGl0ZW0gZnJvbSB0aGUgc2VuZGVyIGFjY291bnQgdG8gYW5vdGhlci4AtFRoaXMgcmVzZXRzIHRoZSBhcHByb3ZlZCBhY2NvdW50IG9mIHRoZSBpdGVtLgD0T3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2lnbmluZyBhY2NvdW50IG11c3QgYmUgZWl0aGVyOoAtIHRoZSBBZG1pbiBvZiB0aGUgYGNvbGxlY3Rpb25gO2gtIHRoZSBPd25lciBvZiB0aGUgYGl0ZW1gOzUBLSB0aGUgYXBwcm92ZWQgZGVsZWdhdGUgZm9yIHRoZSBgaXRlbWAgKGluIHRoaXMgY2FzZSwgdGhlIGFwcHJvdmFsIGlzIHJlc2V0KS4AKEFyZ3VtZW50czr0LSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIHRvIGJlIHRyYW5zZmVycmVkLsQtIGBpdGVtYDogVGhlIGl0ZW0gb2YgdGhlIGl0ZW0gdG8gYmUgdHJhbnNmZXJyZWQu3C0gYGRlc3RgOiBUaGUgYWNjb3VudCB0byByZWNlaXZlIG93bmVyc2hpcCBvZiB0aGUgaXRlbS4AUEVtaXRzIGBUcmFuc2ZlcnJlZGAuADhXZWlnaHQ6IGBPKDEpYCRyZWRlcG9zaXQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEUaXRlbXPwAThWZWM8VDo6SXRlbUlkPgAGRJhSZWV2YWx1YXRlIHRoZSBkZXBvc2l0cyBvbiBzb21lIGl0ZW1zLgA1AU9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIE93bmVyIG9mIHRoZSBgY29sbGVjdGlvbmAuALAtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gdG8gYmUgZnJvemVuLikBLSBgaXRlbXNgOiBUaGUgaXRlbXMgb2YgdGhlIGNvbGxlY3Rpb24gd2hvc2UgZGVwb3NpdHMgd2lsbCBiZSByZWV2YWx1YXRlZC4ALQFOT1RFOiBUaGlzIGV4aXN0cyBhcyBhIGJlc3QtZWZmb3J0IGZ1bmN0aW9uLiBBbnkgaXRlbXMgd2hpY2ggYXJlIHVua25vd24gb3I5AWluIHRoZSBjYXNlIHRoYXQgdGhlIG93bmVyIGFjY291bnQgZG9lcyBub3QgaGF2ZSByZXNlcnZhYmxlIGZ1bmRzIHRvIHBheSBmb3IgYU0BZGVwb3NpdCBpbmNyZWFzZSBhcmUgaWdub3JlZC4gR2VuZXJhbGx5IHRoZSBvd25lciBpc24ndCBnb2luZyB0byBjYWxsIHRoaXMgb24gaXRlbXNVAXdob3NlIGV4aXN0aW5nIGRlcG9zaXQgaXMgbGVzcyB0aGFuIHRoZSByZWZyZXNoZWQgZGVwb3NpdCBhcyBpdCB3b3VsZCBvbmx5IGNvc3QgdGhlbSx4c28gaXQncyBvZiBsaXR0bGUgY29uc2VxdWVuY2UuAFkBSXQgd2lsbCBzdGlsbCByZXR1cm4gYW4gZXJyb3IgaW4gdGhlIGNhc2UgdGhhdCB0aGUgY29sbGVjdGlvbiBpcyB1bmtub3duIG9mIHRoZSBzaWduZXJwaXMgbm90IHBlcm1pdHRlZCB0byBjYWxsIGl0LgBgV2VpZ2h0OiBgTyhpdGVtcy5sZW4oKSlgGGZyZWV6ZQgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAcoyERpc2FsbG93IGZ1cnRoZXIgdW5wcml2aWxlZ2VkIHRyYW5zZmVyIG9mIGFuIGl0ZW0uAD0BT3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgRnJlZXplciBvZiB0aGUgYGNvbGxlY3Rpb25gLgDgLSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIHRvIGJlIGZyb3plbi6wLSBgaXRlbWA6IFRoZSBpdGVtIG9mIHRoZSBpdGVtIHRvIGJlIGZyb3plbi4APEVtaXRzIGBGcm96ZW5gLgA4V2VpZ2h0OiBgTygxKWAQdGhhdwgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAgoqFJlLWFsbG93IHVucHJpdmlsZWdlZCB0cmFuc2ZlciBvZiBhbiBpdGVtLgA9AU9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIEZyZWV6ZXIgb2YgdGhlIGBjb2xsZWN0aW9uYC4A4C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbSB0byBiZSB0aGF3ZWQusC0gYGl0ZW1gOiBUaGUgaXRlbSBvZiB0aGUgaXRlbSB0byBiZSB0aGF3ZWQuADxFbWl0cyBgVGhhd2VkYC4AOFdlaWdodDogYE8oMSlgRGZyZWV6ZV9jb2xsZWN0aW9uBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAJJPxEaXNhbGxvdyBmdXJ0aGVyIHVucHJpdmlsZWdlZCB0cmFuc2ZlcnMgZm9yIGEgd2hvbGUgY29sbGVjdGlvbi4APQFPcmlnaW4gbXVzdCBiZSBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBGcmVlemVyIG9mIHRoZSBgY29sbGVjdGlvbmAuALAtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gdG8gYmUgZnJvemVuLgBkRW1pdHMgYENvbGxlY3Rpb25Gcm96ZW5gLgA4V2VpZ2h0OiBgTygxKWA8dGhhd19jb2xsZWN0aW9uBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAKJNxSZS1hbGxvdyB1bnByaXZpbGVnZWQgdHJhbnNmZXJzIGZvciBhIHdob2xlIGNvbGxlY3Rpb24uADUBT3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgQWRtaW4gb2YgdGhlIGBjb2xsZWN0aW9uYC4AsC0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiB0byBiZSB0aGF3ZWQuAGRFbWl0cyBgQ29sbGVjdGlvblRoYXdlZGAuADhXZWlnaHQ6IGBPKDEpYEh0cmFuc2Zlcl9vd25lcnNoaXAIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEkbmV3X293bmVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4ACyyEQ2hhbmdlIHRoZSBPd25lciBvZiBhIGNvbGxlY3Rpb24uADUBT3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgT3duZXIgb2YgdGhlIGBjb2xsZWN0aW9uYC4A9C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiB3aG9zZSBvd25lciBzaG91bGQgYmUgY2hhbmdlZC4JAS0gYG93bmVyYDogVGhlIG5ldyBPd25lciBvZiB0aGlzIGNvbGxlY3Rpb24uIFRoZXkgbXVzdCBoYXZlIGNhbGxlZEkBICBgc2V0X2FjY2VwdF9vd25lcnNoaXBgIHdpdGggYGNvbGxlY3Rpb25gIGluIG9yZGVyIGZvciB0aGlzIG9wZXJhdGlvbiB0byBzdWNjZWVkLgBURW1pdHMgYE93bmVyQ2hhbmdlZGAuADhXZWlnaHQ6IGBPKDEpYCBzZXRfdGVhbRABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARhpc3N1ZXIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFGFkbWluAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARxmcmVlemVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4ADDDUQ2hhbmdlIHRoZSBJc3N1ZXIsIEFkbWluIGFuZCBGcmVlemVyIG9mIGEgY29sbGVjdGlvbi4ANQFPcmlnaW4gbXVzdCBiZSBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZiB0aGUgYGNvbGxlY3Rpb25gLgDwLSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIHdob3NlIHRlYW0gc2hvdWxkIGJlIGNoYW5nZWQuuC0gYGlzc3VlcmA6IFRoZSBuZXcgSXNzdWVyIG9mIHRoaXMgY29sbGVjdGlvbi6wLSBgYWRtaW5gOiBUaGUgbmV3IEFkbWluIG9mIHRoaXMgY29sbGVjdGlvbi7ALSBgZnJlZXplcmA6IFRoZSBuZXcgRnJlZXplciBvZiB0aGlzIGNvbGxlY3Rpb24uAFBFbWl0cyBgVGVhbUNoYW5nZWRgLgA4V2VpZ2h0OiBgTygxKWBAYXBwcm92ZV90cmFuc2ZlcgwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgANOBUBQXBwcm92ZSBhbiBpdGVtIHRvIGJlIHRyYW5zZmVycmVkIGJ5IGEgZGVsZWdhdGVkIHRoaXJkLXBhcnR5IGFjY291bnQuAE0BVGhlIG9yaWdpbiBtdXN0IGNvbmZvcm0gdG8gYEZvcmNlT3JpZ2luYCBvciBtdXN0IGJlIGBTaWduZWRgIGFuZCB0aGUgc2VuZGVyIG11c3QgYmX4ZWl0aGVyIHRoZSBvd25lciBvZiB0aGUgYGl0ZW1gIG9yIHRoZSBhZG1pbiBvZiB0aGUgY29sbGVjdGlvbi4ARQEtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gb2YgdGhlIGl0ZW0gdG8gYmUgYXBwcm92ZWQgZm9yIGRlbGVnYXRlZCB0cmFuc2Zlci4VAS0gYGl0ZW1gOiBUaGUgaXRlbSBvZiB0aGUgaXRlbSB0byBiZSBhcHByb3ZlZCBmb3IgZGVsZWdhdGVkIHRyYW5zZmVyLhkBLSBgZGVsZWdhdGVgOiBUaGUgYWNjb3VudCB0byBkZWxlZ2F0ZSBwZXJtaXNzaW9uIHRvIHRyYW5zZmVyIHRoZSBpdGVtLgAZAUltcG9ydGFudCBOT1RFOiBUaGUgYGFwcHJvdmVkYCBhY2NvdW50IGdldHMgcmVzZXQgYWZ0ZXIgZWFjaCB0cmFuc2Zlci4AkEVtaXRzIGBBcHByb3ZlZFRyYW5zZmVyYCBvbiBzdWNjZXNzLgA4V2VpZ2h0OiBgTygxKWA8Y2FuY2VsX2FwcHJvdmFsDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAAVBtYXliZV9jaGVja19kZWxlZ2F0ZQEBAXBPcHRpb248QWNjb3VudElkTG9va3VwT2Y8VD4+AA5AEQFDYW5jZWwgdGhlIHByaW9yIGFwcHJvdmFsIGZvciB0aGUgdHJhbnNmZXIgb2YgYW4gaXRlbSBieSBhIGRlbGVnYXRlLgBYT3JpZ2luIG11c3QgYmUgZWl0aGVyOlQtIHRoZSBgRm9yY2VgIG9yaWdpbjv8LSBgU2lnbmVkYCB3aXRoIHRoZSBzaWduZXIgYmVpbmcgdGhlIEFkbWluIG9mIHRoZSBgY29sbGVjdGlvbmA75C0gYFNpZ25lZGAgd2l0aCB0aGUgc2lnbmVyIGJlaW5nIHRoZSBPd25lciBvZiB0aGUgYGl0ZW1gOwAoQXJndW1lbnRzOj0BLSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIG9mIHdob3NlIGFwcHJvdmFsIHdpbGwgYmUgY2FuY2VsbGVkLg0BLSBgaXRlbWA6IFRoZSBpdGVtIG9mIHRoZSBpdGVtIG9mIHdob3NlIGFwcHJvdmFsIHdpbGwgYmUgY2FuY2VsbGVkLlEBLSBgbWF5YmVfY2hlY2tfZGVsZWdhdGVgOiBJZiBgU29tZWAgd2lsbCBlbnN1cmUgdGhhdCB0aGUgZ2l2ZW4gYWNjb3VudCBpcyB0aGUgb25lIHRvsCAgd2hpY2ggcGVybWlzc2lvbiBvZiB0cmFuc2ZlciBpcyBkZWxlZ2F0ZWQuAJRFbWl0cyBgQXBwcm92YWxDYW5jZWxsZWRgIG9uIHN1Y2Nlc3MuADhXZWlnaHQ6IGBPKDEpYERmb3JjZV9pdGVtX3N0YXR1cxwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARRvd25lcgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEYaXNzdWVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARRhZG1pbgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEcZnJlZXplcgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEwZnJlZV9ob2xkaW5nIAEQYm9vbAABJGlzX2Zyb3plbiABEGJvb2wAD0CUQWx0ZXIgdGhlIGF0dHJpYnV0ZXMgb2YgYSBnaXZlbiBpdGVtLgB0T3JpZ2luIG11c3QgYmUgYEZvcmNlT3JpZ2luYC4ArC0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgaXRlbS6YLSBgb3duZXJgOiBUaGUgbmV3IE93bmVyIG9mIHRoaXMgaXRlbS6gLSBgaXNzdWVyYDogVGhlIG5ldyBJc3N1ZXIgb2YgdGhpcyBpdGVtLpgtIGBhZG1pbmA6IFRoZSBuZXcgQWRtaW4gb2YgdGhpcyBpdGVtLqgtIGBmcmVlemVyYDogVGhlIG5ldyBGcmVlemVyIG9mIHRoaXMgaXRlbS5RAS0gYGZyZWVfaG9sZGluZ2A6IFdoZXRoZXIgYSBkZXBvc2l0IGlzIHRha2VuIGZvciBob2xkaW5nIGFuIGl0ZW0gb2YgdGhpcyBjb2xsZWN0aW9uLjkBLSBgaXNfZnJvemVuYDogV2hldGhlciB0aGlzIGNvbGxlY3Rpb24gaXMgZnJvemVuIGV4Y2VwdCBmb3IgcGVybWlzc2lvbmVkL2FkbWluNGluc3RydWN0aW9ucy4A4EVtaXRzIGBJdGVtU3RhdHVzQ2hhbmdlZGAgd2l0aCB0aGUgaWRlbnRpdHkgb2YgdGhlIGl0ZW0uADhXZWlnaHQ6IGBPKDEpYDRzZXRfYXR0cmlidXRlEAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABKG1heWJlX2l0ZW30AURPcHRpb248VDo6SXRlbUlkPgABDGtlefgBbEJvdW5kZWRWZWM8dTgsIFQ6OktleUxpbWl0PgABFHZhbHVl/AF0Qm91bmRlZFZlYzx1OCwgVDo6VmFsdWVMaW1pdD4AEESoU2V0IGFuIGF0dHJpYnV0ZSBmb3IgYSBjb2xsZWN0aW9uIG9yIGl0ZW0uAF0BT3JpZ2luIG11c3QgYmUgZWl0aGVyIGBGb3JjZU9yaWdpbmAgb3IgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgT3duZXIgb2YgdGhlNGBjb2xsZWN0aW9uYC4AUQFJZiB0aGUgb3JpZ2luIGlzIFNpZ25lZCwgdGhlbiBmdW5kcyBvZiBzaWduZXIgYXJlIHJlc2VydmVkIGFjY29yZGluZyB0byB0aGUgZm9ybXVsYTopAWBNZXRhZGF0YURlcG9zaXRCYXNlICsgRGVwb3NpdFBlckJ5dGUgKiAoa2V5LmxlbiArIHZhbHVlLmxlbilgIHRha2luZyBpbnRvjGFjY291bnQgYW55IGFscmVhZHkgcmVzZXJ2ZWQgZnVuZHMuADkBLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHdob3NlIGl0ZW0ncyBtZXRhZGF0YSB0byBzZXQuBQEtIGBtYXliZV9pdGVtYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0gd2hvc2UgbWV0YWRhdGEgdG8gc2V0LogtIGBrZXlgOiBUaGUga2V5IG9mIHRoZSBhdHRyaWJ1dGUuzC0gYHZhbHVlYDogVGhlIHZhbHVlIHRvIHdoaWNoIHRvIHNldCB0aGUgYXR0cmlidXRlLgBURW1pdHMgYEF0dHJpYnV0ZVNldGAuADhXZWlnaHQ6IGBPKDEpYDxjbGVhcl9hdHRyaWJ1dGUMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEobWF5YmVfaXRlbfQBRE9wdGlvbjxUOjpJdGVtSWQ+AAEMa2V5+AFsQm91bmRlZFZlYzx1OCwgVDo6S2V5TGltaXQ+ABE4sENsZWFyIGFuIGF0dHJpYnV0ZSBmb3IgYSBjb2xsZWN0aW9uIG9yIGl0ZW0uAF0BT3JpZ2luIG11c3QgYmUgZWl0aGVyIGBGb3JjZU9yaWdpbmAgb3IgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgT3duZXIgb2YgdGhlNGBjb2xsZWN0aW9uYC4AwEFueSBkZXBvc2l0IGlzIGZyZWVkIGZvciB0aGUgY29sbGVjdGlvbidzIG93bmVyLgBBAS0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgY29sbGVjdGlvbiB3aG9zZSBpdGVtJ3MgbWV0YWRhdGEgdG8gY2xlYXIuDQEtIGBtYXliZV9pdGVtYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0gd2hvc2UgbWV0YWRhdGEgdG8gY2xlYXIuiC0gYGtleWA6IFRoZSBrZXkgb2YgdGhlIGF0dHJpYnV0ZS4AZEVtaXRzIGBBdHRyaWJ1dGVDbGVhcmVkYC4AOFdlaWdodDogYE8oMSlgMHNldF9tZXRhZGF0YRABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEQZGF0YewBeEJvdW5kZWRWZWM8dTgsIFQ6OlN0cmluZ0xpbWl0PgABJGlzX2Zyb3plbiABEGJvb2wAEkR0U2V0IHRoZSBtZXRhZGF0YSBmb3IgYW4gaXRlbS4AXQFPcmlnaW4gbXVzdCBiZSBlaXRoZXIgYEZvcmNlT3JpZ2luYCBvciBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZiB0aGU0YGNvbGxlY3Rpb25gLgBRAUlmIHRoZSBvcmlnaW4gaXMgU2lnbmVkLCB0aGVuIGZ1bmRzIG9mIHNpZ25lciBhcmUgcmVzZXJ2ZWQgYWNjb3JkaW5nIHRvIHRoZSBmb3JtdWxhOvRgTWV0YWRhdGFEZXBvc2l0QmFzZSArIERlcG9zaXRQZXJCeXRlICogZGF0YS5sZW5gIHRha2luZyBpbnRvjGFjY291bnQgYW55IGFscmVhZHkgcmVzZXJ2ZWQgZnVuZHMuADkBLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHdob3NlIGl0ZW0ncyBtZXRhZGF0YSB0byBzZXQu7C0gYGl0ZW1gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aG9zZSBtZXRhZGF0YSB0byBzZXQuTQEtIGBkYXRhYDogVGhlIGdlbmVyYWwgaW5mb3JtYXRpb24gb2YgdGhpcyBpdGVtLiBMaW1pdGVkIGluIGxlbmd0aCBieSBgU3RyaW5nTGltaXRgLjUBLSBgaXNfZnJvemVuYDogV2hldGhlciB0aGUgbWV0YWRhdGEgc2hvdWxkIGJlIGZyb3plbiBhZ2FpbnN0IGZ1cnRoZXIgY2hhbmdlcy4AUEVtaXRzIGBNZXRhZGF0YVNldGAuADhXZWlnaHQ6IGBPKDEpYDhjbGVhcl9tZXRhZGF0YQgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkABM0fENsZWFyIHRoZSBtZXRhZGF0YSBmb3IgYW4gaXRlbS4AXQFPcmlnaW4gbXVzdCBiZSBlaXRoZXIgYEZvcmNlT3JpZ2luYCBvciBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZiB0aGUcYGl0ZW1gLgDAQW55IGRlcG9zaXQgaXMgZnJlZWQgZm9yIHRoZSBjb2xsZWN0aW9uJ3Mgb3duZXIuAEEBLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHdob3NlIGl0ZW0ncyBtZXRhZGF0YSB0byBjbGVhci70LSBgaXRlbWA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtIHdob3NlIG1ldGFkYXRhIHRvIGNsZWFyLgBgRW1pdHMgYE1ldGFkYXRhQ2xlYXJlZGAuADhXZWlnaHQ6IGBPKDEpYFxzZXRfY29sbGVjdGlvbl9tZXRhZGF0YQwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBkYXRh7AF4Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+AAEkaXNfZnJvemVuIAEQYm9vbAAUQIhTZXQgdGhlIG1ldGFkYXRhIGZvciBhIGNvbGxlY3Rpb24uAFUBT3JpZ2luIG11c3QgYmUgZWl0aGVyIGBGb3JjZU9yaWdpbmAgb3IgYFNpZ25lZGAgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZkR0aGUgYGNvbGxlY3Rpb25gLgBZAUlmIHRoZSBvcmlnaW4gaXMgYFNpZ25lZGAsIHRoZW4gZnVuZHMgb2Ygc2lnbmVyIGFyZSByZXNlcnZlZCBhY2NvcmRpbmcgdG8gdGhlIGZvcm11bGE69GBNZXRhZGF0YURlcG9zaXRCYXNlICsgRGVwb3NpdFBlckJ5dGUgKiBkYXRhLmxlbmAgdGFraW5nIGludG+MYWNjb3VudCBhbnkgYWxyZWFkeSByZXNlcnZlZCBmdW5kcy4AEQEtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0gd2hvc2UgbWV0YWRhdGEgdG8gdXBkYXRlLk0BLSBgZGF0YWA6IFRoZSBnZW5lcmFsIGluZm9ybWF0aW9uIG9mIHRoaXMgaXRlbS4gTGltaXRlZCBpbiBsZW5ndGggYnkgYFN0cmluZ0xpbWl0YC41AS0gYGlzX2Zyb3plbmA6IFdoZXRoZXIgdGhlIG1ldGFkYXRhIHNob3VsZCBiZSBmcm96ZW4gYWdhaW5zdCBmdXJ0aGVyIGNoYW5nZXMuAHhFbWl0cyBgQ29sbGVjdGlvbk1ldGFkYXRhU2V0YC4AOFdlaWdodDogYE8oMSlgZGNsZWFyX2NvbGxlY3Rpb25fbWV0YWRhdGEEAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkABUwkENsZWFyIHRoZSBtZXRhZGF0YSBmb3IgYSBjb2xsZWN0aW9uLgBVAU9yaWdpbiBtdXN0IGJlIGVpdGhlciBgRm9yY2VPcmlnaW5gIG9yIGBTaWduZWRgIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgT3duZXIgb2ZEdGhlIGBjb2xsZWN0aW9uYC4AwEFueSBkZXBvc2l0IGlzIGZyZWVkIGZvciB0aGUgY29sbGVjdGlvbidzIG93bmVyLgAlAS0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgY29sbGVjdGlvbiB3aG9zZSBtZXRhZGF0YSB0byBjbGVhci4AiEVtaXRzIGBDb2xsZWN0aW9uTWV0YWRhdGFDbGVhcmVkYC4AOFdlaWdodDogYE8oMSlgUHNldF9hY2NlcHRfb3duZXJzaGlwBAFAbWF5YmVfY29sbGVjdGlvbvQBXE9wdGlvbjxUOjpDb2xsZWN0aW9uSWQ+ABYoEQFTZXQgKG9yIHJlc2V0KSB0aGUgYWNjZXB0YW5jZSBvZiBvd25lcnNoaXAgZm9yIGEgcGFydGljdWxhciBhY2NvdW50LgBhAU9yaWdpbiBtdXN0IGJlIGBTaWduZWRgIGFuZCBpZiBgbWF5YmVfY29sbGVjdGlvbmAgaXMgYFNvbWVgLCB0aGVuIHRoZSBzaWduZXIgbXVzdCBoYXZlIGFMcHJvdmlkZXIgcmVmZXJlbmNlLgBRAS0gYG1heWJlX2NvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgY29sbGVjdGlvbiB3aG9zZSBvd25lcnNoaXAgdGhlIHNpZ25lciBpc2EBICB3aWxsaW5nIHRvIGFjY2VwdCwgb3IgaWYgYE5vbmVgLCBhbiBpbmRpY2F0aW9uIHRoYXQgdGhlIHNpZ25lciBpcyB3aWxsaW5nIHRvIGFjY2VwdCBub1wgIG93bmVyc2hpcCB0cmFuc2ZlcmFsLgCMRW1pdHMgYE93bmVyc2hpcEFjY2VwdGFuY2VDaGFuZ2VkYC5kc2V0X2NvbGxlY3Rpb25fbWF4X3N1cHBseQgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAAShtYXhfc3VwcGx5EAEMdTMyABcs4FNldCB0aGUgbWF4aW11bSBhbW91bnQgb2YgaXRlbXMgYSBjb2xsZWN0aW9uIGNvdWxkIGhhdmUuAFUBT3JpZ2luIG11c3QgYmUgZWl0aGVyIGBGb3JjZU9yaWdpbmAgb3IgYFNpZ25lZGAgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZkR0aGUgYGNvbGxlY3Rpb25gLgDkTm90ZTogVGhpcyBmdW5jdGlvbiBjYW4gb25seSBzdWNjZWVkIG9uY2UgcGVyIGNvbGxlY3Rpb24uAOwtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGNvbGxlY3Rpb24gdG8gY2hhbmdlLhEBLSBgbWF4X3N1cHBseWA6IFRoZSBtYXhpbXVtIGFtb3VudCBvZiBpdGVtcyBhIGNvbGxlY3Rpb24gY291bGQgaGF2ZS4A1EVtaXRzIGBDb2xsZWN0aW9uTWF4U3VwcGx5U2V0YCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuJHNldF9wcmljZRABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUcHJpY2X0AVxPcHRpb248SXRlbVByaWNlPFQsIEk+PgABRHdoaXRlbGlzdGVkX2J1eWVyAQEBcE9wdGlvbjxBY2NvdW50SWRMb29rdXBPZjxUPj4AGCyUU2V0IChvciByZXNldCkgdGhlIHByaWNlIGZvciBhbiBpdGVtLgABAU9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgbXVzdCBiZSB0aGUgb3duZXIgb2YgdGhlIGFzc2V0IGBpdGVtYC4ArC0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbS6gLSBgaXRlbWA6IFRoZSBpdGVtIHRvIHNldCB0aGUgcHJpY2UgZm9yLg0BLSBgcHJpY2VgOiBUaGUgcHJpY2UgZm9yIHRoZSBpdGVtLiBQYXNzIGBOb25lYCwgdG8gcmVzZXQgdGhlIHByaWNlLvQtIGBidXllcmA6IFJlc3RyaWN0cyB0aGUgYnV5IG9wZXJhdGlvbiB0byBhIHNwZWNpZmljIGFjY291bnQuAOxFbWl0cyBgSXRlbVByaWNlU2V0YCBvbiBzdWNjZXNzIGlmIHRoZSBwcmljZSBpcyBub3QgYE5vbmVgLuxFbWl0cyBgSXRlbVByaWNlUmVtb3ZlZGAgb24gc3VjY2VzcyBpZiB0aGUgcHJpY2UgaXMgYE5vbmVgLiBidXlfaXRlbQwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEkYmlkX3ByaWNlGAE8SXRlbVByaWNlPFQsIEk+ABkkqEFsbG93cyB0byBidXkgYW4gaXRlbSBpZiBpdCdzIHVwIGZvciBzYWxlLgD4T3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCBtdXN0IG5vdCBiZSB0aGUgb3duZXIgb2YgdGhlIGBpdGVtYC4ArC0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbS6sLSBgaXRlbWA6IFRoZSBpdGVtIHRoZSBzZW5kZXIgd2FudHMgdG8gYnV5LtgtIGBiaWRfcHJpY2VgOiBUaGUgcHJpY2UgdGhlIHNlbmRlciBpcyB3aWxsaW5nIHRvIHBheS4AeEVtaXRzIGBJdGVtQm91Z2h0YCBvbiBzdWNjZXNzLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7JAgw4cGFsbGV0X3VuaXF1ZXMUdHlwZXM4RGVzdHJveVdpdG5lc3MAAAwBFGl0ZW1zaQEBDHUzMgABOGl0ZW1fbWV0YWRhdGFzaQEBDHUzMgABKGF0dHJpYnV0ZXNpAQEMdTMyAADNAgxscGFsbGV0X3N0YXRlX3RyaWVfbWlncmF0aW9uGHBhbGxldBBDYWxsBARUAAEYWGNvbnRyb2xfYXV0b19taWdyYXRpb24EATBtYXliZV9jb25maWfRAgFcT3B0aW9uPE1pZ3JhdGlvbkxpbWl0cz4AAAyAQ29udHJvbCB0aGUgYXV0b21hdGljIG1pZ3JhdGlvbi4ADQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIFtgQ29uZmlnOjpDb250cm9sT3JpZ2luYF0uQGNvbnRpbnVlX21pZ3JhdGUMARhsaW1pdHPVAgE8TWlncmF0aW9uTGltaXRzAAE8cmVhbF9zaXplX3VwcGVyEAEMdTMyAAEwd2l0bmVzc190YXNr2QIBQE1pZ3JhdGlvblRhc2s8VD4AAVS4Q29udGludWUgdGhlIG1pZ3JhdGlvbiBmb3IgdGhlIGdpdmVuIGBsaW1pdHNgLgDsVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgY2FuIGJlIGFueSBzaWduZWQgYWNjb3VudC4AXQFUaGlzIHRyYW5zYWN0aW9uIGhhcyBOTyBNT05FVEFSWSBJTkNFTlRJVkVTLiBjYWxsaW5nIGl0IHdpbGwgbm90IHJld2FyZCBhbnlvbmUuIEFsYmVpdCzsVXBvbiBzdWNjZXNzZnVsIGV4ZWN1dGlvbiwgdGhlIHRyYW5zYWN0aW9uIGZlZSBpcyByZXR1cm5lZC4AQQFUaGUgKHBvdGVudGlhbGx5IG92ZXItZXN0aW1hdGVkKSBvZiB0aGUgYnl0ZSBsZW5ndGggb2YgYWxsIHRoZSBkYXRhIHJlYWQgbXVzdCBiZVkBcHJvdmlkZWQgZm9yIHVwLWZyb250IGZlZS1wYXltZW50IGFuZCB3ZWlnaGluZy4gSW4gZXNzZW5jZSwgdGhlIGNhbGxlciBpcyBndWFyYW50ZWVpbmdJAXRoYXQgZXhlY3V0aW5nIHRoZSBjdXJyZW50IGBNaWdyYXRpb25UYXNrYCB3aXRoIHRoZSBnaXZlbiBgbGltaXRzYCB3aWxsIG5vdCBleGNlZWSUYHJlYWxfc2l6ZV91cHBlcmAgYnl0ZXMgb2YgcmVhZCBkYXRhLgBFAVRoZSBgd2l0bmVzc190YXNrYCBpcyBtZXJlbHkgYSBoZWxwZXIgdG8gcHJldmVudCB0aGUgY2FsbGVyIGZyb20gYmVpbmcgc2xhc2hlZCBvcl0BZ2VuZXJhbGx5IHRyaWdnZXIgYSBtaWdyYXRpb24gdGhhdCB0aGV5IGRvIG5vdCBpbnRlbmQuIFRoaXMgcGFyYW1ldGVyIGlzIGp1c3QgYSBtZXNzYWdlPQFmcm9tIGNhbGxlciwgc2F5aW5nIHRoYXQgdGhleSBiZWxpZXZlZCBgd2l0bmVzc190YXNrYCB3YXMgdGhlIGxhc3Qgc3RhdGUgb2YgdGhlWQFtaWdyYXRpb24sIGFuZCB0aGV5IG9ubHkgd2lzaCBmb3IgdGhlaXIgdHJhbnNhY3Rpb24gdG8gZG8gYW55dGhpbmcsIGlmIHRoaXMgYXNzdW1wdGlvbhEBaG9sZHMuIEluIGNhc2UgYHdpdG5lc3NfdGFza2AgZG9lcyBub3QgbWF0Y2gsIHRoZSB0cmFuc2FjdGlvbiBmYWlscy4AOQFCYXNlZCBvbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiBbYE1pZ3JhdGlvblRhc2s6Om1pZ3JhdGVfdW50aWxfZXhoYXVzdGlvbmBdLCB0aGVNAXJlY29tbWVuZGVkIHdheSBvZiBkb2luZyB0aGlzIGlzIHRvIHBhc3MgYSBgbGltaXRgIHRoYXQgb25seSBib3VuZHMgYGNvdW50YCwgYXMgdGhlnGBzaXplYCBsaW1pdCBjYW4gYWx3YXlzIGJlIG92ZXJ3cml0dGVuLkhtaWdyYXRlX2N1c3RvbV90b3AIARBrZXlzNQEBMFZlYzxWZWM8dTg+PgABMHdpdG5lc3Nfc2l6ZRABDHUzMgACEAkBTWlncmF0ZSB0aGUgbGlzdCBvZiB0b3Aga2V5cyBieSBpdGVyYXRpbmcgZWFjaCBvZiB0aGVtIG9uZSBieSBvbmUuAFUBVGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGdsb2JhbCBtaWdyYXRpb24gcHJvY2VzcyB0cmFja2VyIChbYE1pZ3JhdGlvblByb2Nlc3NgXSksIGFuZPxzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2UgYW55IGtleXMgYXJlIGxlZnRvdmVyIGR1ZSB0byBhIGJ1Zy5QbWlncmF0ZV9jdXN0b21fY2hpbGQMARByb290OAEcVmVjPHU4PgABKGNoaWxkX2tleXM1AQEwVmVjPFZlYzx1OD4+AAEodG90YWxfc2l6ZRABDHUzMgADGBEBTWlncmF0ZSB0aGUgbGlzdCBvZiBjaGlsZCBrZXlzIGJ5IGl0ZXJhdGluZyBlYWNoIG9mIHRoZW0gb25lIGJ5IG9uZS4ADQFBbGwgb2YgdGhlIGdpdmVuIGNoaWxkIGtleXMgbXVzdCBiZSBwcmVzZW50IHVuZGVyIG9uZSBgY2hpbGRfcm9vdGAuAFUBVGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGdsb2JhbCBtaWdyYXRpb24gcHJvY2VzcyB0cmFja2VyIChbYE1pZ3JhdGlvblByb2Nlc3NgXSksIGFuZPxzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2UgYW55IGtleXMgYXJlIGxlZnRvdmVyIGR1ZSB0byBhIGJ1Zy5Uc2V0X3NpZ25lZF9tYXhfbGltaXRzBAEYbGltaXRz1QIBPE1pZ3JhdGlvbkxpbWl0cwAEBLhTZXQgdGhlIG1heGltdW0gbGltaXQgb2YgdGhlIHNpZ25lZCBtaWdyYXRpb24uSGZvcmNlX3NldF9wcm9ncmVzcwgBMHByb2dyZXNzX3RvcN0CATRQcm9ncmVzc09mPFQ+AAE4cHJvZ3Jlc3NfY2hpbGTdAgE0UHJvZ3Jlc3NPZjxUPgAFJMhGb3JjZWZ1bGx5IHNldCB0aGUgcHJvZ3Jlc3MgdGhlIHJ1bm5pbmcgbWlncmF0aW9uLgBdAVRoaXMgaXMgb25seSB1c2VmdWwgaW4gb25lIGNhc2U6IHRoZSBuZXh0IGtleSB0byBtaWdyYXRlIGlzIHRvbyBiaWcgdG8gYmUgbWlncmF0ZWQgd2l0aFUBYSBzaWduZWQgYWNjb3VudCwgaW4gYSBwYXJhY2hhaW4gY29udGV4dCwgYW5kIHdlIHNpbXBseSB3YW50IHRvIHNraXAgaXQuIEEgcmVhc29uYWJsZWEBZXhhbXBsZSBvZiB0aGlzIHdvdWxkIGJlIGA6Y29kZTpgLCB3aGljaCBpcyBib3RoIHZlcnkgZXhwZW5zaXZlIHRvIG1pZ3JhdGUsIGFuZCBjb21tb25seaR1c2VkLCBzbyBwcm9iYWJseSBpdCBpcyBhbHJlYWR5IG1pZ3JhdGVkLgBdAUluIGNhc2UgeW91IG1lc3MgdGhpbmdzIHVwLCB5b3UgY2FuIGFsc28sIGluIHByaW5jaXBsZSwgdXNlIHRoaXMgdG8gcmVzZXQgdGhlIG1pZ3JhdGlvbiBwcm9jZXNzLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7RAgQYT3B0aW9uBARUAdUCAQgQTm9uZQAAABBTb21lBADVAgAAAQAA1QIMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQ8TWlncmF0aW9uTGltaXRzAAAIARBzaXplEAEMdTMyAAEQaXRlbRABDHUzMgAA2QIMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQ0TWlncmF0aW9uVGFzawQEVAAAFAEwcHJvZ3Jlc3NfdG9w3QIBNFByb2dyZXNzT2Y8VD4AAThwcm9ncmVzc19jaGlsZN0CATRQcm9ncmVzc09mPFQ+AAEQc2l6ZRABDHUzMgABJHRvcF9pdGVtcxABDHUzMgABLGNoaWxkX2l0ZW1zEAEMdTMyAADdAgxscGFsbGV0X3N0YXRlX3RyaWVfbWlncmF0aW9uGHBhbGxldCBQcm9ncmVzcwQkTWF4S2V5TGVuAAEMHFRvU3RhcnQAAAAcTGFzdEtleQQA4QIBZEJvdW5kZWRWZWM8dTgsIE1heEtleUxlbj4AAQAgQ29tcGxldGUAAgAA4QIMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AADlAgxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nGHBhbGxldBBDYWxsCARUAARJAAEcEHZvdGUIAShwb2xsX2luZGV4aQEBRFBvbGxJbmRleE9mPFQsIEk+AAEQdm90ZRUBAXBBY2NvdW50Vm90ZTxCYWxhbmNlT2Y8VCwgST4+AAAkGQFWb3RlIGluIGEgcG9sbC4gSWYgYHZvdGUuaXNfYXllKClgLCB0aGUgdm90ZSBpcyB0byBlbmFjdCB0aGUgcHJvcG9zYWw7uG90aGVyd2lzZSBpdCBpcyBhIHZvdGUgdG8ga2VlcCB0aGUgc3RhdHVzIHF1by4AyFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAMgtIGBwb2xsX2luZGV4YDogVGhlIGluZGV4IG9mIHRoZSBwb2xsIHRvIHZvdGUgZm9yLoQtIGB2b3RlYDogVGhlIHZvdGUgY29uZmlndXJhdGlvbi4AFQFXZWlnaHQ6IGBPKFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcG9sbHMgdGhlIHZvdGVyIGhhcyB2b3RlZCBvbi4gZGVsZWdhdGUQARRjbGFzc9wBNENsYXNzT2Y8VCwgST4AAQh0bwABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEoY29udmljdGlvbukCAShDb252aWN0aW9uAAEcYmFsYW5jZRgBPEJhbGFuY2VPZjxULCBJPgABXE0BRGVsZWdhdGUgdGhlIHZvdGluZyBwb3dlciAod2l0aCBzb21lIGdpdmVuIGNvbnZpY3Rpb24pIG9mIHRoZSBzZW5kaW5nIGFjY291bnQgZm9yIGFocGFydGljdWxhciBjbGFzcyBvZiBwb2xscy4AVQFUaGUgYmFsYW5jZSBkZWxlZ2F0ZWQgaXMgbG9ja2VkIGZvciBhcyBsb25nIGFzIGl0J3MgZGVsZWdhdGVkLCBhbmQgdGhlcmVhZnRlciBmb3IgdGhlyHRpbWUgYXBwcm9wcmlhdGUgZm9yIHRoZSBjb252aWN0aW9uJ3MgbG9jayBwZXJpb2QuAF0BVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXywgYW5kIHRoZSBzaWduaW5nIGFjY291bnQgbXVzdCBlaXRoZXI6dCAgLSBiZSBkZWxlZ2F0aW5nIGFscmVhZHk7IG9yRQEgIC0gaGF2ZSBubyB2b3RpbmcgYWN0aXZpdHkgKGlmIHRoZXJlIGlzLCB0aGVuIGl0IHdpbGwgbmVlZCB0byBiZSByZW1vdmVkIHRocm91Z2hMICAgIGByZW1vdmVfdm90ZWApLgBFAS0gYHRvYDogVGhlIGFjY291bnQgd2hvc2Ugdm90aW5nIHRoZSBgdGFyZ2V0YCBhY2NvdW50J3Mgdm90aW5nIHBvd2VyIHdpbGwgZm9sbG93Ll0BLSBgY2xhc3NgOiBUaGUgY2xhc3Mgb2YgcG9sbHMgdG8gZGVsZWdhdGUuIFRvIGRlbGVnYXRlIG11bHRpcGxlIGNsYXNzZXMsIG11bHRpcGxlIGNhbGxzgCAgdG8gdGhpcyBmdW5jdGlvbiBhcmUgcmVxdWlyZWQuVQEtIGBjb252aWN0aW9uYDogVGhlIGNvbnZpY3Rpb24gdGhhdCB3aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBkZWxlZ2F0ZWQgdm90ZXMuIFdoZW4gdGhlQQEgIGFjY291bnQgaXMgdW5kZWxlZ2F0ZWQsIHRoZSBmdW5kcyB3aWxsIGJlIGxvY2tlZCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgcGVyaW9kLmEBLSBgYmFsYW5jZWA6IFRoZSBhbW91bnQgb2YgdGhlIGFjY291bnQncyBiYWxhbmNlIHRvIGJlIHVzZWQgaW4gZGVsZWdhdGluZy4gVGhpcyBtdXN0IG5vdLQgIGJlIG1vcmUgdGhhbiB0aGUgYWNjb3VudCdzIGN1cnJlbnQgYmFsYW5jZS4ASEVtaXRzIGBEZWxlZ2F0ZWRgLgAlAVdlaWdodDogYE8oUilgIHdoZXJlIFIgaXMgdGhlIG51bWJlciBvZiBwb2xscyB0aGUgdm90ZXIgZGVsZWdhdGluZyB0byBoYXNNASAgdm90ZWQgb24uIFdlaWdodCBpcyBpbml0aWFsbHkgY2hhcmdlZCBhcyBpZiBtYXhpbXVtIHZvdGVzLCBidXQgaXMgcmVmdW5kZWQgbGF0ZXIuKHVuZGVsZWdhdGUEARRjbGFzc9wBNENsYXNzT2Y8VCwgST4AAjhNAVVuZGVsZWdhdGUgdGhlIHZvdGluZyBwb3dlciBvZiB0aGUgc2VuZGluZyBhY2NvdW50IGZvciBhIHBhcnRpY3VsYXIgY2xhc3Mgb2YgcG9sbHMuAF0BVG9rZW5zIG1heSBiZSB1bmxvY2tlZCBmb2xsb3dpbmcgb25jZSBhbiBhbW91bnQgb2YgdGltZSBjb25zaXN0ZW50IHdpdGggdGhlIGxvY2sgcGVyaW9kCQFvZiB0aGUgY29udmljdGlvbiB3aXRoIHdoaWNoIHRoZSBkZWxlZ2F0aW9uIHdhcyBpc3N1ZWQgaGFzIHBhc3NlZC4ARQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2lnbmluZyBhY2NvdW50IG11c3QgYmVUY3VycmVudGx5IGRlbGVnYXRpbmcuAPAtIGBjbGFzc2A6IFRoZSBjbGFzcyBvZiBwb2xscyB0byByZW1vdmUgdGhlIGRlbGVnYXRpb24gZnJvbS4AUEVtaXRzIGBVbmRlbGVnYXRlZGAuACUBV2VpZ2h0OiBgTyhSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHBvbGxzIHRoZSB2b3RlciBkZWxlZ2F0aW5nIHRvIGhhc00BICB2b3RlZCBvbi4gV2VpZ2h0IGlzIGluaXRpYWxseSBjaGFyZ2VkIGFzIGlmIG1heGltdW0gdm90ZXMsIGJ1dCBpcyByZWZ1bmRlZCBsYXRlci4YdW5sb2NrCAEUY2xhc3PcATRDbGFzc09mPFQsIEk+AAEYdGFyZ2V0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAyRdAVJlbW92ZSB0aGUgbG9jayBjYXVzZWQgYnkgcHJpb3Igdm90aW5nL2RlbGVnYXRpbmcgd2hpY2ggaGFzIGV4cGlyZWQgd2l0aGluIGEgcGFydGljdWxhchhjbGFzcy4AyFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAKAtIGBjbGFzc2A6IFRoZSBjbGFzcyBvZiBwb2xscyB0byB1bmxvY2suuC0gYHRhcmdldGA6IFRoZSBhY2NvdW50IHRvIHJlbW92ZSB0aGUgbG9jayBvbi4AvFdlaWdodDogYE8oUilgIHdpdGggUiBudW1iZXIgb2Ygdm90ZSBvZiB0YXJnZXQuLHJlbW92ZV92b3RlCAEUY2xhc3PtAgFUT3B0aW9uPENsYXNzT2Y8VCwgST4+AAEUaW5kZXgQAURQb2xsSW5kZXhPZjxULCBJPgAEdGRSZW1vdmUgYSB2b3RlIGZvciBhIHBvbGwuAAxJZjpwLSB0aGUgcG9sbCB3YXMgY2FuY2VsbGVkLCBvcmQtIHRoZSBwb2xsIGlzIG9uZ29pbmcsIG9yeC0gdGhlIHBvbGwgaGFzIGVuZGVkIHN1Y2ggdGhhdPwgIC0gdGhlIHZvdGUgb2YgdGhlIGFjY291bnQgd2FzIGluIG9wcG9zaXRpb24gdG8gdGhlIHJlc3VsdDsgb3LUICAtIHRoZXJlIHdhcyBubyBjb252aWN0aW9uIHRvIHRoZSBhY2NvdW50J3Mgdm90ZTsgb3KEICAtIHRoZSBhY2NvdW50IG1hZGUgYSBzcGxpdCB2b3RlXQEuLi50aGVuIHRoZSB2b3RlIGlzIHJlbW92ZWQgY2xlYW5seSBhbmQgYSBmb2xsb3dpbmcgY2FsbCB0byBgdW5sb2NrYCBtYXkgcmVzdWx0IGluIG1vcmVYZnVuZHMgYmVpbmcgYXZhaWxhYmxlLgCQSWYsIGhvd2V2ZXIsIHRoZSBwb2xsIGhhcyBlbmRlZCBhbmQ67C0gaXQgZmluaXNoZWQgY29ycmVzcG9uZGluZyB0byB0aGUgdm90ZSBvZiB0aGUgYWNjb3VudCwgYW5k3C0gdGhlIGFjY291bnQgbWFkZSBhIHN0YW5kYXJkIHZvdGUgd2l0aCBjb252aWN0aW9uLCBhbmS8LSB0aGUgbG9jayBwZXJpb2Qgb2YgdGhlIGNvbnZpY3Rpb24gaXMgbm90IG92ZXJZAS4uLnRoZW4gdGhlIGxvY2sgd2lsbCBiZSBhZ2dyZWdhdGVkIGludG8gdGhlIG92ZXJhbGwgYWNjb3VudCdzIGxvY2ssIHdoaWNoIG1heSBpbnZvbHZlWQEqb3ZlcmxvY2tpbmcqICh3aGVyZSB0aGUgdHdvIGxvY2tzIGFyZSBjb21iaW5lZCBpbnRvIGEgc2luZ2xlIGxvY2sgdGhhdCBpcyB0aGUgbWF4aW11beRvZiBib3RoIHRoZSBhbW91bnQgbG9ja2VkIGFuZCB0aGUgdGltZSBpcyBpdCBsb2NrZWQgZm9yKS4ASQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLCBhbmQgdGhlIHNpZ25lciBtdXN0IGhhdmUgYSB2b3RlcHJlZ2lzdGVyZWQgZm9yIHBvbGwgYGluZGV4YC4A3C0gYGluZGV4YDogVGhlIGluZGV4IG9mIHBvbGwgb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZC5VAS0gYGNsYXNzYDogT3B0aW9uYWwgcGFyYW1ldGVyLCBpZiBnaXZlbiBpdCBpbmRpY2F0ZXMgdGhlIGNsYXNzIG9mIHRoZSBwb2xsLiBGb3IgcG9sbHPwICB3aGljaCBoYXZlIGZpbmlzaGVkIG9yIGFyZSBjYW5jZWxsZWQsIHRoaXMgbXVzdCBiZSBgU29tZWAuAEUBV2VpZ2h0OiBgTyhSICsgbG9nIFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcG9sbHMgdGhhdCBgdGFyZ2V0YCBoYXMgdm90ZWQgb24u2CAgV2VpZ2h0IGlzIGNhbGN1bGF0ZWQgZm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiB2b3RlLkRyZW1vdmVfb3RoZXJfdm90ZQwBGHRhcmdldAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUY2xhc3PcATRDbGFzc09mPFQsIEk+AAEUaW5kZXgQAURQb2xsSW5kZXhPZjxULCBJPgAFQGRSZW1vdmUgYSB2b3RlIGZvciBhIHBvbGwuAE0BSWYgdGhlIGB0YXJnZXRgIGlzIGVxdWFsIHRvIHRoZSBzaWduZXIsIHRoZW4gdGhpcyBmdW5jdGlvbiBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8tAWByZW1vdmVfdm90ZWAuIElmIG5vdCBlcXVhbCB0byB0aGUgc2lnbmVyLCB0aGVuIHRoZSB2b3RlIG11c3QgaGF2ZSBleHBpcmVkLCUBZWl0aGVyIGJlY2F1c2UgdGhlIHBvbGwgd2FzIGNhbmNlbGxlZCwgYmVjYXVzZSB0aGUgdm90ZXIgbG9zdCB0aGUgcG9sbCBvcphiZWNhdXNlIHRoZSBjb252aWN0aW9uIHBlcmlvZCBpcyBvdmVyLgDIVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AYQEtIGB0YXJnZXRgOiBUaGUgYWNjb3VudCBvZiB0aGUgdm90ZSB0byBiZSByZW1vdmVkOyB0aGlzIGFjY291bnQgbXVzdCBoYXZlIHZvdGVkIGZvciBwb2xsKCAgYGluZGV4YC7cLSBgaW5kZXhgOiBUaGUgaW5kZXggb2YgcG9sbCBvZiB0aGUgdm90ZSB0byBiZSByZW1vdmVkLoQtIGBjbGFzc2A6IFRoZSBjbGFzcyBvZiB0aGUgcG9sbC4ARQFXZWlnaHQ6IGBPKFIgKyBsb2cgUilgIHdoZXJlIFIgaXMgdGhlIG51bWJlciBvZiBwb2xscyB0aGF0IGB0YXJnZXRgIGhhcyB2b3RlZCBvbi7YICBXZWlnaHQgaXMgY2FsY3VsYXRlZCBmb3IgdGhlIG1heGltdW0gbnVtYmVyIG9mIHZvdGUuRGZvcmNlX3JlbW92ZV92b3RlDAEYdGFyZ2V0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARRjbGFzc9wBNENsYXNzT2Y8VCwgST4AARRpbmRleBABRFBvbGxJbmRleE9mPFQsIEk+ABM4uEFsbG93IHRvIGZvcmNlIHJlbW92ZSBhIHZvdGUgZm9yIGEgcmVmZXJlbmR1bS4A9FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYFZvdGVSZW1vdmFsT3JpZ2luYC4ArE9ubHkgYWxsb3dlZCBpZiB0aGUgcmVmZXJlbmR1bSBpcyBmaW5pc2hlZC4AyFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAE0BLSBgdGFyZ2V0YDogVGhlIGFjY291bnQgb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZDsgdGhpcyBhY2NvdW50IG11c3QgaGF2ZSB2b3RlZCBmb3JUICByZWZlcmVuZHVtIGBpbmRleGAu9C0gYGluZGV4YDogVGhlIGluZGV4IG9mIHJlZmVyZW5kdW0gb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZC4AVQFXZWlnaHQ6IGBPKFIgKyBsb2cgUilgIHdoZXJlIFIgaXMgdGhlIG51bWJlciBvZiByZWZlcmVuZGEgdGhhdCBgdGFyZ2V0YCBoYXMgdm90ZWQgb24u2CAgV2VpZ2h0IGlzIGNhbGN1bGF0ZWQgZm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiB2b3RlLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7pAgxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nKGNvbnZpY3Rpb24oQ29udmljdGlvbgABHBBOb25lAAAAIExvY2tlZDF4AAEAIExvY2tlZDJ4AAIAIExvY2tlZDN4AAMAIExvY2tlZDR4AAQAIExvY2tlZDV4AAUAIExvY2tlZDZ4AAYAAO0CBBhPcHRpb24EBFQB3AEIEE5vbmUAAAAQU29tZQQA3AAAAQAA8QIMQHBhbGxldF9yZWZlcmVuZGEYcGFsbGV0EENhbGwIBFQABEkAASQYc3VibWl0DAE8cHJvcG9zYWxfb3JpZ2lueQEBXEJveDxQYWxsZXRzT3JpZ2luT2Y8VD4+AAEgcHJvcG9zYWwhAQFMQm91bmRlZENhbGxPZjxULCBJPgABQGVuYWN0bWVudF9tb21lbnT1AgF8RGlzcGF0Y2hUaW1lPEJsb2NrTnVtYmVyRm9yPFQ+PgAAJLBQcm9wb3NlIGEgcmVmZXJlbmR1bSBvbiBhIHByaXZpbGVnZWQgYWN0aW9uLgBZAS0gYG9yaWdpbmA6IG11c3QgYmUgYFN1Ym1pdE9yaWdpbmAgYW5kIHRoZSBhY2NvdW50IG11c3QgaGF2ZSBgU3VibWlzc2lvbkRlcG9zaXRgIGZ1bmRzMCAgYXZhaWxhYmxlLi0BLSBgcHJvcG9zYWxfb3JpZ2luYDogVGhlIG9yaWdpbiBmcm9tIHdoaWNoIHRoZSBwcm9wb3NhbCBzaG91bGQgYmUgZXhlY3V0ZWQubC0gYHByb3Bvc2FsYDogVGhlIHByb3Bvc2FsLhUBLSBgZW5hY3RtZW50X21vbWVudGA6IFRoZSBtb21lbnQgdGhhdCB0aGUgcHJvcG9zYWwgc2hvdWxkIGJlIGVuYWN0ZWQuAEhFbWl0cyBgU3VibWl0dGVkYC5YcGxhY2VfZGVjaXNpb25fZGVwb3NpdAQBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AAEgrFBvc3QgdGhlIERlY2lzaW9uIERlcG9zaXQgZm9yIGEgcmVmZXJlbmR1bS4AOQEtIGBvcmlnaW5gOiBtdXN0IGJlIGBTaWduZWRgIGFuZCB0aGUgYWNjb3VudCBtdXN0IGhhdmUgZnVuZHMgYXZhaWxhYmxlIGZvciB0aGWgICByZWZlcmVuZHVtJ3MgdHJhY2sncyBEZWNpc2lvbiBEZXBvc2l0LlEBLSBgaW5kZXhgOiBUaGUgaW5kZXggb2YgdGhlIHN1Ym1pdHRlZCByZWZlcmVuZHVtIHdob3NlIERlY2lzaW9uIERlcG9zaXQgaXMgeWV0IHRvIGJlJCAgcG9zdGVkLgB4RW1pdHMgYERlY2lzaW9uRGVwb3NpdFBsYWNlZGAuXHJlZnVuZF9kZWNpc2lvbl9kZXBvc2l0BAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgAAhwpAVJlZnVuZCB0aGUgRGVjaXNpb24gRGVwb3NpdCBmb3IgYSBjbG9zZWQgcmVmZXJlbmR1bSBiYWNrIHRvIHRoZSBkZXBvc2l0b3IuAJwtIGBvcmlnaW5gOiBtdXN0IGJlIGBTaWduZWRgIG9yIGBSb290YC5NAS0gYGluZGV4YDogVGhlIGluZGV4IG9mIGEgY2xvc2VkIHJlZmVyZW5kdW0gd2hvc2UgRGVjaXNpb24gRGVwb3NpdCBoYXMgbm90IHlldCBiZWVuLCAgcmVmdW5kZWQuAIBFbWl0cyBgRGVjaXNpb25EZXBvc2l0UmVmdW5kZWRgLhhjYW5jZWwEARRpbmRleBABPFJlZmVyZW5kdW1JbmRleAADGHRDYW5jZWwgYW4gb25nb2luZyByZWZlcmVuZHVtLgCcLSBgb3JpZ2luYDogbXVzdCBiZSB0aGUgYENhbmNlbE9yaWdpbmAu3C0gYGluZGV4YDogVGhlIGluZGV4IG9mIHRoZSByZWZlcmVuZHVtIHRvIGJlIGNhbmNlbGxlZC4ASEVtaXRzIGBDYW5jZWxsZWRgLhBraWxsBAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgABBjQQ2FuY2VsIGFuIG9uZ29pbmcgcmVmZXJlbmR1bSBhbmQgc2xhc2ggdGhlIGRlcG9zaXRzLgCULSBgb3JpZ2luYDogbXVzdCBiZSB0aGUgYEtpbGxPcmlnaW5gLtwtIGBpbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVmZXJlbmR1bSB0byBiZSBjYW5jZWxsZWQuAJBFbWl0cyBgS2lsbGVkYCBhbmQgYERlcG9zaXRTbGFzaGVkYC5AbnVkZ2VfcmVmZXJlbmR1bQQBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AAUQHQFBZHZhbmNlIGEgcmVmZXJlbmR1bSBvbnRvIGl0cyBuZXh0IGxvZ2ljYWwgc3RhdGUuIE9ubHkgdXNlZCBpbnRlcm5hbGx5LgBsLSBgb3JpZ2luYDogbXVzdCBiZSBgUm9vdGAupC0gYGluZGV4YDogdGhlIHJlZmVyZW5kdW0gdG8gYmUgYWR2YW5jZWQuSG9uZV9mZXdlcl9kZWNpZGluZwQBFHRyYWNr3AE8VHJhY2tJZE9mPFQsIEk+AAYkCQFBZHZhbmNlIGEgdHJhY2sgb250byBpdHMgbmV4dCBsb2dpY2FsIHN0YXRlLiBPbmx5IHVzZWQgaW50ZXJuYWxseS4AbC0gYG9yaWdpbmA6IG11c3QgYmUgYFJvb3RgLpAtIGB0cmFja2A6IHRoZSB0cmFjayB0byBiZSBhZHZhbmNlZC4AUQFBY3Rpb24gaXRlbSBmb3Igd2hlbiB0aGVyZSBpcyBub3cgb25lIGZld2VyIHJlZmVyZW5kdW0gaW4gdGhlIGRlY2lkaW5nIHBoYXNlIGFuZCB0aGUVAWBEZWNpZGluZ0NvdW50YCBpcyBub3QgeWV0IHVwZGF0ZWQuIFRoaXMgbWVhbnMgdGhhdCB3ZSBzaG91bGQgZWl0aGVyOiUBLSBiZWdpbiBkZWNpZGluZyBhbm90aGVyIHJlZmVyZW5kdW0gKGFuZCBsZWF2ZSBgRGVjaWRpbmdDb3VudGAgYWxvbmUpOyBvcnAtIGRlY3JlbWVudCBgRGVjaWRpbmdDb3VudGAuZHJlZnVuZF9zdWJtaXNzaW9uX2RlcG9zaXQEARRpbmRleBABPFJlZmVyZW5kdW1JbmRleAAHHDEBUmVmdW5kIHRoZSBTdWJtaXNzaW9uIERlcG9zaXQgZm9yIGEgY2xvc2VkIHJlZmVyZW5kdW0gYmFjayB0byB0aGUgZGVwb3NpdG9yLgCcLSBgb3JpZ2luYDogbXVzdCBiZSBgU2lnbmVkYCBvciBgUm9vdGAuVQEtIGBpbmRleGA6IFRoZSBpbmRleCBvZiBhIGNsb3NlZCByZWZlcmVuZHVtIHdob3NlIFN1Ym1pc3Npb24gRGVwb3NpdCBoYXMgbm90IHlldCBiZWVuLCAgcmVmdW5kZWQuAIhFbWl0cyBgU3VibWlzc2lvbkRlcG9zaXRSZWZ1bmRlZGAuMHNldF9tZXRhZGF0YQgBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AAEobWF5YmVfaGFzaJ0CATxPcHRpb248VDo6SGFzaD4ACByYU2V0IG9yIGNsZWFyIG1ldGFkYXRhIG9mIGEgcmVmZXJlbmR1bS4ALFBhcmFtZXRlcnM6RQEtIGBvcmlnaW5gOiBNdXN0IGJlIGBTaWduZWRgIGJ5IGEgY3JlYXRvciBvZiBhIHJlZmVyZW5kdW0gb3IgYnkgYW55b25lIHRvIGNsZWFyIGGQICBtZXRhZGF0YSBvZiBhIGZpbmlzaGVkIHJlZmVyZW5kdW0uDQEtIGBpbmRleGA6ICBUaGUgaW5kZXggb2YgYSByZWZlcmVuZHVtIHRvIHNldCBvciBjbGVhciBtZXRhZGF0YSBmb3IuUQEtIGBtYXliZV9oYXNoYDogVGhlIGhhc2ggb2YgYW4gb24tY2hhaW4gc3RvcmVkIHByZWltYWdlLiBgTm9uZWAgdG8gY2xlYXIgYSBtZXRhZGF0YS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu9QIQNGZyYW1lX3N1cHBvcnQYdHJhaXRzIHNjaGVkdWxlMERpc3BhdGNoVGltZQQsQmxvY2tOdW1iZXIBEAEICEF0BAAQASxCbG9ja051bWJlcgAAABRBZnRlcgQAEAEsQmxvY2tOdW1iZXIAAQAA+QIMQHBhbGxldF93aGl0ZWxpc3QYcGFsbGV0EENhbGwEBFQAARA4d2hpdGVsaXN0X2NhbGwEASRjYWxsX2hhc2g0ARxUOjpIYXNoAAAAXHJlbW92ZV93aGl0ZWxpc3RlZF9jYWxsBAEkY2FsbF9oYXNoNAEcVDo6SGFzaAABAGRkaXNwYXRjaF93aGl0ZWxpc3RlZF9jYWxsDAEkY2FsbF9oYXNoNAEcVDo6SGFzaAABQGNhbGxfZW5jb2RlZF9sZW4QAQx1MzIAAUxjYWxsX3dlaWdodF93aXRuZXNzKAEYV2VpZ2h0AAIAnGRpc3BhdGNoX3doaXRlbGlzdGVkX2NhbGxfd2l0aF9wcmVpbWFnZQQBEGNhbGwlAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgADAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy79AgxEcGFsbGV0X2Rpc3BhdGNoZXIYcGFsbGV0EENhbGwEBFQAAQxQZGlzcGF0Y2hfYXNfdHJlYXN1cnkEARBjYWxsJQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAABgZGlzcGF0Y2hfYXNfYWF2ZV9tYW5hZ2VyBAEQY2FsbCUBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAEARG5vdGVfYWF2ZV9tYW5hZ2VyBAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAACGCUBU2V0cyB0aGUgQWF2ZSBtYW5hZ2VyIGFjY291bnQgdG8gYmUgdXNlZCBhcyBvcmlnaW4gZm9yIGRpc3BhdGNoaW5nIGNhbGxzLgDIVGhpcyBkb2Vzbid0IGFjdHVhbGx5IGNoYW5nZXMgYW55IEFDTCBpbiB0aGUgcG9vbC4AVQFUaGlzIGlzIGludGVudGVkIHRvIGJlIG1haW5seSB1c2VkIGluIHRlc3RuZXQgZW52aXJvbm1lbnRzLCB3aGVyZSB0aGUgbWFuYWdlciBhY2NvdW50RGNhbiBiZSBkaWZmZXJlbnQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLgEDDFRwYWxsZXRfYXNzZXRfcmVnaXN0cnkYcGFsbGV0EENhbGwEBFQAARQgcmVnaXN0ZXIkASBhc3NldF9pZG0BAUhPcHRpb248VDo6QXNzZXRJZD4AARBuYW1lBQMBcE9wdGlvbjxOYW1lPFQ6OlN0cmluZ0xpbWl0Pj4AAShhc3NldF90eXBlDQMBJEFzc2V0VHlwZQABTGV4aXN0ZW50aWFsX2RlcG9zaXT0ATxPcHRpb248QmFsYW5jZT4AARhzeW1ib2wFAwF4T3B0aW9uPFN5bWJvbDxUOjpTdHJpbmdMaW1pdD4+AAEgZGVjaW1hbHMRAwEoT3B0aW9uPHU4PgABIGxvY2F0aW9uFQMBeE9wdGlvbjxUOjpBc3NldE5hdGl2ZUxvY2F0aW9uPgABOHhjbV9yYXRlX2xpbWl09AE8T3B0aW9uPEJhbGFuY2U+AAE0aXNfc3VmZmljaWVudCABEGJvb2wAADBUUmVnaXN0ZXIgYSBuZXcgYXNzZXQuANhOZXcgYXNzZXQgaXMgZ2l2ZW4gYE5leHRBc3NldElkYCAtIHNlcXVlbnRpYWwgYXNzZXQgaWQAOQFBc3NldCdzIGlkIGlzIG9wdGlvbmFsIGFuZCBpdCBjYW4ndCBiZSB1c2VkIGJ5IGFub3RoZXIgYXNzZXQgaWYgaXQncyBwcm92aWRlZC7cUHJvdmlkZWQgYGFzc2V0X2lkYCBtdXN0IGJlIGZyb20gd2l0aGluIHJlc2VydmVkIHJhbmdlLgkBSWYgYGFzc2V0X2lkYCBpcyBgTm9uZWAsIG5ldyBhc3NldCBpcyBnaXZlbiBpZCBmb3Igc2VxdWVudGlhbCBpZHMuAEEBQXNzZXQncyBuYW1lIGlzIG9wdGlvbmFsIGFuZCBpdCBjYW4ndCBiZSB1c2VkIGJ5IGFub3RoZXIgYXNzZXQgaWYgaXQncyBwcm92aWRlZC5ZAkFkZHMgbWFwcGluZyBiZXR3ZWVuIGBuYW1lYCBhbmQgYXNzaWduZWQgYGFzc2V0X2lkYCBzbyBhc3NldCBpZCBjYW4gYmUgcmV0cmlldmVkIGJ5IG5hbWUgdG9vIChOb3RlOiB0aGlzIGFwcHJvYWNoIGlzIHVzZWQgaW4gQU1NIGltcGxlbWVudGF0aW9uICh4eWspKQCkRW1pdHMgJ1JlZ2lzdGVyZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4YdXBkYXRlJAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEQbmFtZQUDAXBPcHRpb248TmFtZTxUOjpTdHJpbmdMaW1pdD4+AAEoYXNzZXRfdHlwZTEDAURPcHRpb248QXNzZXRUeXBlPgABTGV4aXN0ZW50aWFsX2RlcG9zaXT0ATxPcHRpb248QmFsYW5jZT4AATh4Y21fcmF0ZV9saW1pdPQBPE9wdGlvbjxCYWxhbmNlPgABNGlzX3N1ZmZpY2llbnQ1AwEwT3B0aW9uPGJvb2w+AAEYc3ltYm9sBQMBeE9wdGlvbjxTeW1ib2w8VDo6U3RyaW5nTGltaXQ+PgABIGRlY2ltYWxzEQMBKE9wdGlvbjx1OD4AASBsb2NhdGlvbhUDAXhPcHRpb248VDo6QXNzZXROYXRpdmVMb2NhdGlvbj4AAShgVXBkYXRlIHJlZ2lzdGVyZWQgYXNzZXQuACUBQWxsIHBhcmFtZXRlcmVzIGFyZSBvcHRpb25hbCBhbmQgdmFsdWUgaXMgbm90IHVwZGF0ZWQgaWYgcGFyYW0gaXMgYE5vbmVgLgAxAWBkZWNpbWFsc2AgLSBjYW4gYmUgdXBkYXRlIGJ5IGBVcGRhdGVPcmlnaW5gIG9ubHkgaWYgaXQgd2Fzbid0IHNldCB5ZXQuIE9ubHkBAWBSZWdpc3RyeU9yaWdpbmAgY2FuIHVwZGF0ZSBgZGVjaW1hbHNgIGlmIGl0IHdhcyBwcmV2aW91c2x5IHNldC4A1GBsb2NhdGlvbmAgLSBjYW4gYmUgdXBkYXRlZCBvbmx5IGJ5IGBSZWdpc3RyeU9yaWdpbmAuAJhFbWl0cyBgVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLkRyZWdpc3Rlcl9leHRlcm5hbAQBIGxvY2F0aW9uGQMBWFQ6OkFzc2V0TmF0aXZlTG9jYXRpb24ABAAkYmFuX2Fzc2V0BAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAUALHVuYmFuX2Fzc2V0BAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAYABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLgUDBBhPcHRpb24EBFQBCQMBCBBOb25lAAAAEFNvbWUEAAkDAAABAAAJAwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAA0DDFRwYWxsZXRfYXNzZXRfcmVnaXN0cnkUdHlwZXMkQXNzZXRUeXBlAAEYFFRva2VuAAAADFhZSwABAChTdGFibGVTd2FwAAIAEEJvbmQAAwAgRXh0ZXJuYWwABAAURXJjMjAABQAAEQMEGE9wdGlvbgQEVAEIAQgQTm9uZQAAABBTb21lBAAIAAABAAAVAwQYT3B0aW9uBARUARkDAQgQTm9uZQAAABBTb21lBAAZAwAAAQAAGQMMPGh5ZHJhZHhfcnVudGltZQx4Y200QXNzZXRMb2NhdGlvbgAABAAdAwFocG9sa2Fkb3RfeGNtOjp2Mzo6TG9jYXRpb24AAB0DECxzdGFnaW5nX3hjbQh2MzRtdWx0aWxvY2F0aW9uNE11bHRpTG9jYXRpb24AAAgBHHBhcmVudHMIAQh1OAABIGludGVyaW9yIQMBJEp1bmN0aW9ucwAAIQMQDHhjbQh2MyRqdW5jdGlvbnMkSnVuY3Rpb25zAAEkEEhlcmUAAAAIWDEEACUDASBKdW5jdGlvbgABAAhYMggAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AAgAIWDMMACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AAwAIWDQQACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAEAAhYNRQAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24ABQAIWDYYACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24ABgAIWDccACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAHAAhYOCAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24ACAAAJQMQDHhjbQh2MyBqdW5jdGlvbiBKdW5jdGlvbgABKCRQYXJhY2hhaW4EAGkBAQx1MzIAAAAsQWNjb3VudElkMzIIARxuZXR3b3JrKQMBRE9wdGlvbjxOZXR3b3JrSWQ+AAEIaWQEASBbdTg7IDMyXQABADhBY2NvdW50SW5kZXg2NAgBHG5ldHdvcmspAwFET3B0aW9uPE5ldHdvcmtJZD4AARRpbmRleCwBDHU2NAACADBBY2NvdW50S2V5MjAIARxuZXR3b3JrKQMBRE9wdGlvbjxOZXR3b3JrSWQ+AAEMa2V5WQEBIFt1ODsgMjBdAAMAOFBhbGxldEluc3RhbmNlBAAIAQh1OAAEADBHZW5lcmFsSW5kZXgEAEEBARB1MTI4AAUAKEdlbmVyYWxLZXkIARhsZW5ndGgIAQh1OAABEGRhdGEEASBbdTg7IDMyXQAGACRPbmx5Q2hpbGQABwAkUGx1cmFsaXR5CAEIaWStAQEYQm9keUlkAAEQcGFydLEBASBCb2R5UGFydAAIADxHbG9iYWxDb25zZW5zdXMEAC0DASROZXR3b3JrSWQACQAAKQMEGE9wdGlvbgQEVAEtAwEIEE5vbmUAAAAQU29tZQQALQMAAAEAAC0DEAx4Y20IdjMganVuY3Rpb24kTmV0d29ya0lkAAEsJEJ5R2VuZXNpcwQABAEgW3U4OyAzMl0AAAAYQnlGb3JrCAEwYmxvY2tfbnVtYmVyMAEMdTY0AAEoYmxvY2tfaGFzaAQBIFt1ODsgMzJdAAEAIFBvbGthZG90AAIAGEt1c2FtYQADABxXZXN0ZW5kAAQAGFJvY29jbwAFABhXb2NvY28ABgAgRXRoZXJldW0EASBjaGFpbl9pZCwBDHU2NAAHACxCaXRjb2luQ29yZQAIACxCaXRjb2luQ2FzaAAJAEBQb2xrYWRvdEJ1bGxldGluAAoAADEDBBhPcHRpb24EBFQBDQMBCBBOb25lAAAAEFNvbWUEAA0DAAABAAA1AwQYT3B0aW9uBARUASABCBBOb25lAAAAEFNvbWUEACAAAAEAADkDDDRwYWxsZXRfY2xhaW1zGHBhbGxldBBDYWxsBARUAAEEFGNsYWltBAFIZXRoZXJldW1fc2lnbmF0dXJlPQMBOEVjZHNhU2lnbmF0dXJlAAAE9ENsYWltIHhIRFggYnkgcHJvdmlkaW5nIHNpZ25lZCBtZXNzYWdlIHdpdGggRXRoZXJldW0gYWRkcmVzcy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuPQMMNHBhbGxldF9jbGFpbXMYdHJhaXRzOEVjZHNhU2lnbmF0dXJlAAAEAJECASBbdTg7IDY1XQAAQQMMWHBhbGxldF9nZW5lc2lzX2hpc3RvcnkYcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuRQMMPHBhbGxldF9vbW5pcG9vbBhwYWxsZXQQQ2FsbAQEVAABNCRhZGRfdG9rZW4QARRhc3NldBABKFQ6OkFzc2V0SWQAATRpbml0aWFsX3ByaWNlUQEBFFByaWNlAAEod2VpZ2h0X2NhcEkDARxQZXJtaWxsAAE4cG9zaXRpb25fb3duZXIAATBUOjpBY2NvdW50SWQAAUAdAUFkZCBuZXcgdG9rZW4gdG8gb21uaXBvb2wgaW4gcXVhbnRpdHkgYGFtb3VudGAgYXQgcHJpY2UgYGluaXRpYWxfcHJpY2VgAMUBSW5pdGlhbCBsaXF1aWRpdHkgbXVzdCBiZSB0cmFuc2ZlcnJlZCB0byBwb29sJ3MgYWNjb3VudCBmb3IgdGhpcyBuZXcgdG9rZW4gbWFudWFsbHkgcHJpb3IgdG8gY2FsbGluZyBgYWRkX3Rva2VuYC4A5EluaXRpYWwgbGlxdWlkaXR5IGlzIHBvb2wncyBhY2NvdW50IGJhbGFuY2Ugb2YgdGhlIHRva2VuLgDIUG9zaXRpb24gTkZUIHRva2VuIGlzIG1pbnRlZCBmb3IgYHBvc2l0aW9uX293bmVyYC4ALFBhcmFtZXRlcnM6iQEtIGBhc3NldGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBuZXcgYXNzZXQgYWRkZWQgdG8gdGhlIHBvb2wuIE11c3QgYmUgcmVnaXN0ZXJlZCBpbiBBc3NldCByZWdpc3RyeYAtIGBpbml0aWFsX3ByaWNlYDogSW5pdGlhbCBwcmljZTUBLSBgcG9zaXRpb25fb3duZXJgOiBhY2NvdW50IGlkIGZvciB3aGljaCBzaGFyZSBhcmUgZGlzdHJpYnV0ZWQgaW4gZm9ybSBvbiBORlSALSBgd2VpZ2h0X2NhcGA6IGFzc2V0IHdlaWdodCBjYXAApEVtaXRzIGBUb2tlbkFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADRhZGRfbGlxdWlkaXR5CAEUYXNzZXQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQACUPxBZGQgbGlxdWlkaXR5IG9mIGFzc2V0IGBhc3NldGAgaW4gcXVhbnRpdHkgYGFtb3VudGAgdG8gT21uaXBvb2wAYQFgYWRkX2xpcXVpZGl0eWAgYWRkcyBzcGVjaWZpZWQgYXNzZXQgYW1vdW50IHRvIE9tbmlwb29sIGFuZCBpbiBleGNoYW5nZSBnaXZlcyB0aGUgb3JpZ2lu8GNvcnJlc3BvbmRpbmcgc2hhcmVzIGFtb3VudCBpbiBmb3JtIG9mIE5GVCBhdCBjdXJyZW50IHByaWNlLgCFAUFzc2V0J3MgdHJhZGFibGUgc3RhdGUgbXVzdCBjb250YWluIEFERF9MSVFVSURJVFkgZmxhZywgb3RoZXJ3aXNlIGBOb3RBbGxvd2VkYCBlcnJvciBpcyByZXR1cm5lZC4AYQFORlQgaXMgbWludGVkIHVzaW5nIE5URkhhbmRsZXIgd2hpY2ggaW1wbGVtZW50cyBub24tZnVuZ2libGVzIHRyYWl0cyBmcm9tIGZyYW1lX3N1cHBvcnQuAFkBQXNzZXQgd2VpZ2h0IGNhcCBtdXN0IGJlIHJlc3BlY3RlZCwgb3RoZXJ3aXNlIGBBc3NldFdlaWdodEV4Y2VlZGVkYCBlcnJvciBpcyByZXR1cm5lZC55AUFzc2V0IHdlaWdodCBpcyByYXRpbyBiZXR3ZWVuIG5ldyBIdWJBc3NldCByZXNlcnZlIGFuZCB0b3RhbCByZXNlcnZlIG9mIEh1YiBhc3NldCBpbiBPbW5pcG9vbC4A1QFBZGQgbGlxdWlkaXR5IGZhaWxzIGlmIHByaWNlIGRpZmZlcmVuY2UgYmV0d2VlbiBzcG90IHByaWNlIGFuZCBvcmFjbGUgcHJpY2UgaXMgaGlnaGVyIHRoYW4gYWxsb3dlZCBieSBgUHJpY2VCYXJyaWVyYC4ALFBhcmFtZXRlcnM6ZQEtIGBhc3NldGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBuZXcgYXNzZXQgYWRkZWQgdG8gdGhlIHBvb2wuIE11c3QgYmUgYWxyZWFkeSBpbiB0aGUgcG9vbLQtIGBhbW91bnRgOiBBbW91bnQgb2YgYXNzZXQgYWRkZWQgdG8gb21uaXBvb2wAtEVtaXRzIGBMaXF1aWRpdHlBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBgYWRkX2xpcXVpZGl0eV93aXRoX2xpbWl0DAEUYXNzZXQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABQG1pbl9zaGFyZXNfbGltaXQYARxCYWxhbmNlAA1cAQFBZGQgbGlxdWlkaXR5IG9mIGFzc2V0IGBhc3NldGAgaW4gcXVhbnRpdHkgYGFtb3VudGAgdG8gT21uaXBvb2wuAHBMaW1pdCBwcm90ZWN0aW9uIGlzIGFwcGxpZWQuAGEBYGFkZF9saXF1aWRpdHlgIGFkZHMgc3BlY2lmaWVkIGFzc2V0IGFtb3VudCB0byBPbW5pcG9vbCBhbmQgaW4gZXhjaGFuZ2UgZ2l2ZXMgdGhlIG9yaWdpbvBjb3JyZXNwb25kaW5nIHNoYXJlcyBhbW91bnQgaW4gZm9ybSBvZiBORlQgYXQgY3VycmVudCBwcmljZS4AhQFBc3NldCdzIHRyYWRhYmxlIHN0YXRlIG11c3QgY29udGFpbiBBRERfTElRVUlESVRZIGZsYWcsIG90aGVyd2lzZSBgTm90QWxsb3dlZGAgZXJyb3IgaXMgcmV0dXJuZWQuAGEBTkZUIGlzIG1pbnRlZCB1c2luZyBOVEZIYW5kbGVyIHdoaWNoIGltcGxlbWVudHMgbm9uLWZ1bmdpYmxlcyB0cmFpdHMgZnJvbSBmcmFtZV9zdXBwb3J0LgBZAUFzc2V0IHdlaWdodCBjYXAgbXVzdCBiZSByZXNwZWN0ZWQsIG90aGVyd2lzZSBgQXNzZXRXZWlnaHRFeGNlZWRlZGAgZXJyb3IgaXMgcmV0dXJuZWQueQFBc3NldCB3ZWlnaHQgaXMgcmF0aW8gYmV0d2VlbiBuZXcgSHViQXNzZXQgcmVzZXJ2ZSBhbmQgdG90YWwgcmVzZXJ2ZSBvZiBIdWIgYXNzZXQgaW4gT21uaXBvb2wuANUBQWRkIGxpcXVpZGl0eSBmYWlscyBpZiBwcmljZSBkaWZmZXJlbmNlIGJldHdlZW4gc3BvdCBwcmljZSBhbmQgb3JhY2xlIHByaWNlIGlzIGhpZ2hlciB0aGFuIGFsbG93ZWQgYnkgYFByaWNlQmFycmllcmAuACxQYXJhbWV0ZXJzOmUBLSBgYXNzZXRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgbmV3IGFzc2V0IGFkZGVkIHRvIHRoZSBwb29sLiBNdXN0IGJlIGFscmVhZHkgaW4gdGhlIHBvb2y0LSBgYW1vdW50YDogQW1vdW50IG9mIGFzc2V0IGFkZGVkIHRvIG9tbmlwb29shQEtIGBtaW5fc2hhcmVzX2xpbWl0YDogVGhlIG1pbiBhbW91bnQgb2YgZGVsdGEgc2hhcmUgYXNzZXQgdGhlIHVzZXIgc2hvdWxkIHJlY2VpdmUgaW4gdGhlIHBvc2l0aW9uALRFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AQHJlbW92ZV9saXF1aWRpdHkIASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEYYW1vdW50GAEcQmFsYW5jZQADTBEBUmVtb3ZlIGxpcXVpZGl0eSBvZiBhc3NldCBgYXNzZXRgIGluIHF1YW50aXR5IGBhbW91bnRgIGZyb20gT21uaXBvb2wAYQFgcmVtb3ZlX2xpcXVpZGl0eWAgcmVtb3ZlcyBzcGVjaWZpZWQgc2hhcmVzIGFtb3VudCBmcm9tIGdpdmVuIFBvc2l0aW9uSWQgKE5GVCBpbnN0YW5jZSkuAJEBQXNzZXQncyB0cmFkYWJsZSBzdGF0ZSBtdXN0IGNvbnRhaW4gUkVNT1ZFX0xJUVVJRElUWSBmbGFnLCBvdGhlcndpc2UgYE5vdEFsbG93ZWRgIGVycm9yIGlzIHJldHVybmVkLgBdAWlmIGFsbCBzaGFyZXMgZnJvbSBnaXZlbiBwb3NpdGlvbiBhcmUgcmVtb3ZlZCwgcG9zaXRpb24gaXMgZGVzdHJveWVkIGFuZCBORlQgaXMgYnVybmVkLgDhAVJlbW92ZSBsaXF1aWRpdHkgZmFpbHMgaWYgcHJpY2UgZGlmZmVyZW5jZSBiZXR3ZWVuIHNwb3QgcHJpY2UgYW5kIG9yYWNsZSBwcmljZSBpcyBoaWdoZXIgdGhhbiBhbGxvd2VkIGJ5IGBQcmljZUJhcnJpZXJgLgDlAUR5bmFtaWMgd2l0aGRyYXdhbCBmZWUgaXMgYXBwbGllZCBpZiB3aXRoZHJhd2FsIGlzIG5vdCBzYWZlLiBJdCBpcyBjYWxjdWxhdGVkIHVzaW5nIHNwb3QgcHJpY2UgYW5kIGV4dGVybmFsIHByaWNlIG9yYWNsZS7cV2l0aGRyYXdhbCBpcyBjb25zaWRlcmVkIHNhZmUgd2hlbiB0cmFkaW5nIGlzIGRpc2FibGVkLgAsUGFyYW1ldGVyczoxAS0gYHBvc2l0aW9uX2lkYDogVGhlIGlkZW50aWZpZXIgb2YgcG9zaXRpb24gd2hpY2ggbGlxdWlkaXR5IGlzIHJlbW92ZWQgZnJvbS7ILSBgYW1vdW50YDogQW1vdW50IG9mIHNoYXJlcyByZW1vdmVkIGZyb20gb21uaXBvb2wAvEVtaXRzIGBMaXF1aWRpdHlSZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAGxyZW1vdmVfbGlxdWlkaXR5X3dpdGhfbGltaXQMASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEYYW1vdW50GAEcQmFsYW5jZQABJG1pbl9saW1pdBgBHEJhbGFuY2UADlgRAVJlbW92ZSBsaXF1aWRpdHkgb2YgYXNzZXQgYGFzc2V0YCBpbiBxdWFudGl0eSBgYW1vdW50YCBmcm9tIE9tbmlwb29sAHBMaW1pdCBwcm90ZWN0aW9uIGlzIGFwcGxpZWQuAGEBYHJlbW92ZV9saXF1aWRpdHlgIHJlbW92ZXMgc3BlY2lmaWVkIHNoYXJlcyBhbW91bnQgZnJvbSBnaXZlbiBQb3NpdGlvbklkIChORlQgaW5zdGFuY2UpLgCRAUFzc2V0J3MgdHJhZGFibGUgc3RhdGUgbXVzdCBjb250YWluIFJFTU9WRV9MSVFVSURJVFkgZmxhZywgb3RoZXJ3aXNlIGBOb3RBbGxvd2VkYCBlcnJvciBpcyByZXR1cm5lZC4AXQFpZiBhbGwgc2hhcmVzIGZyb20gZ2l2ZW4gcG9zaXRpb24gYXJlIHJlbW92ZWQsIHBvc2l0aW9uIGlzIGRlc3Ryb3llZCBhbmQgTkZUIGlzIGJ1cm5lZC4A4QFSZW1vdmUgbGlxdWlkaXR5IGZhaWxzIGlmIHByaWNlIGRpZmZlcmVuY2UgYmV0d2VlbiBzcG90IHByaWNlIGFuZCBvcmFjbGUgcHJpY2UgaXMgaGlnaGVyIHRoYW4gYWxsb3dlZCBieSBgUHJpY2VCYXJyaWVyYC4A5QFEeW5hbWljIHdpdGhkcmF3YWwgZmVlIGlzIGFwcGxpZWQgaWYgd2l0aGRyYXdhbCBpcyBub3Qgc2FmZS4gSXQgaXMgY2FsY3VsYXRlZCB1c2luZyBzcG90IHByaWNlIGFuZCBleHRlcm5hbCBwcmljZSBvcmFjbGUu3FdpdGhkcmF3YWwgaXMgY29uc2lkZXJlZCBzYWZlIHdoZW4gdHJhZGluZyBpcyBkaXNhYmxlZC4ALFBhcmFtZXRlcnM6MQEtIGBwb3NpdGlvbl9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIHBvc2l0aW9uIHdoaWNoIGxpcXVpZGl0eSBpcyByZW1vdmVkIGZyb20uyC0gYGFtb3VudGA6IEFtb3VudCBvZiBzaGFyZXMgcmVtb3ZlZCBmcm9tIG9tbmlwb29sBQEtIGBtaW5fbGltaXRgOiBUaGUgbWluIGFtb3VudCBvZiBhc3NldCB0byBiZSByZW1vdmVkIGZvciB0aGUgdXNlcgC8RW1pdHMgYExpcXVpZGl0eVJlbW92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ASHNhY3JpZmljZV9wb3NpdGlvbgQBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQABBycU2FjcmlmaWNlIExQIHBvc2l0aW9uIGluIGZhdm9yIG9mIHBvb2wuAD0BQSBwb3NpdGlvbiBpcyBkZXN0cm95ZWQgYW5kIGxpcXVpZGl0eSBvd25lZCBieSBMUCBiZWNvbWVzIHBvb2wgb3duZWQgbGlxdWlkaXR5LgC8T25seSBvd25lciBvZiBwb3NpdGlvbiBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4AaEVtaXRzIGBQb3NpdGlvbkRlc3Ryb3llZGAuEHNlbGwQASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABOG1pbl9idXlfYW1vdW50GAEcQmFsYW5jZQAFRLRFeGVjdXRlIGEgc3dhcCBvZiBgYXNzZXRfaW5gIGZvciBgYXNzZXRfb3V0YC4AkFByaWNlIGlzIGRldGVybWluZWQgYnkgdGhlIE9tbmlwb29sLgB8SHViIGFzc2V0IGlzIHRyYWRlZCBzZXBhcmF0ZWx5LgAFAkFzc2V0J3MgdHJhZGFibGUgc3RhdGVzIG11c3QgY29udGFpbiBTRUxMIGZsYWcgZm9yIGFzc2V0X2luIGFuZCBCVVkgZmxhZyBmb3IgYXNzZXRfb3V0LCBvdGhlcndpc2UgYE5vdEFsbG93ZWRgIGVycm9yIGlzIHJldHVybmVkLgAsUGFyYW1ldGVyczqoLSBgYXNzZXRfaW5gOiBJRCBvZiBhc3NldCBzb2xkIHRvIHRoZSBwb29svC0gYGFzc2V0X291dGA6IElEIG9mIGFzc2V0IGJvdWdodCBmcm9tIHRoZSBwb29sgC0gYGFtb3VudGA6IEFtb3VudCBvZiBhc3NldCBzb2xk2C0gYG1pbl9idXlfYW1vdW50YDogTWluaW11bSBhbW91bnQgcmVxdWlyZWQgdG8gcmVjZWl2ZQDcRW1pdHMgYFNlbGxFeGVjdXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAMYnV5EAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAATxtYXhfc2VsbF9hbW91bnQYARxCYWxhbmNlAAZEtEV4ZWN1dGUgYSBzd2FwIG9mIGBhc3NldF9vdXRgIGZvciBgYXNzZXRfaW5gLgCQUHJpY2UgaXMgZGV0ZXJtaW5lZCBieSB0aGUgT21uaXBvb2wuAHxIdWIgYXNzZXQgaXMgdHJhZGVkIHNlcGFyYXRlbHkuAAUCQXNzZXQncyB0cmFkYWJsZSBzdGF0ZXMgbXVzdCBjb250YWluIFNFTEwgZmxhZyBmb3IgYXNzZXRfaW4gYW5kIEJVWSBmbGFnIGZvciBhc3NldF9vdXQsIG90aGVyd2lzZSBgTm90QWxsb3dlZGAgZXJyb3IgaXMgcmV0dXJuZWQuACxQYXJhbWV0ZXJzOqgtIGBhc3NldF9pbmA6IElEIG9mIGFzc2V0IHNvbGQgdG8gdGhlIHBvb2y8LSBgYXNzZXRfb3V0YDogSUQgb2YgYXNzZXQgYm91Z2h0IGZyb20gdGhlIHBvb2yALSBgYW1vdW50YDogQW1vdW50IG9mIGFzc2V0IHNvbGS8LSBgbWF4X3NlbGxfYW1vdW50YDogTWF4aW11bSBhbW91bnQgdG8gYmUgc29sZC4A2EVtaXRzIGBCdXlFeGVjdXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBgc2V0X2Fzc2V0X3RyYWRhYmxlX3N0YXRlCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEUc3RhdGVNAwEsVHJhZGFiaWxpdHkAByB4VXBkYXRlIGFzc2V0J3MgdHJhZGFibGUgc3RhdGUuACxQYXJhbWV0ZXJzOlgtIGBhc3NldF9pZGA6IGFzc2V0IGlkUC0gYHN0YXRlYDogbmV3IHN0YXRlAMxFbWl0cyBgVHJhZGFibGVTdGF0ZVVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AUHJlZnVuZF9yZWZ1c2VkX2Fzc2V0DAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABJHJlY2lwaWVudAABMFQ6OkFjY291bnRJZAAIJLBSZWZ1bmQgZ2l2ZW4gYW1vdW50IG9mIGFzc2V0IHRvIGEgcmVjaXBpZW50LgBZAkEgcmVmdW5kIGlzIG5lZWRlZCB3aGVuIGEgdG9rZW4gaXMgcmVmdXNlZCB0byBiZSBhZGRlZCB0byBPbW5pcG9vbCwgYW5kIGluaXRpYWwgbGlxdWlkaXR5IG9mIHRoZSBhc3NldCBoYXMgYmVlbiBhbHJlYWR5IHRyYW5zZmVycmVkIHRvIHBvb2wncyBhY2NvdW50LgCNAVRyYW5zZmVyIGNhbiBiZSBleGVjdXRlZCBvbmx5IGlmIGFzc2V0IGlzIG5vdCBpbiBPbW5pcG9vbCBhbmQgcG9vbCdzIGJhbGFuY2UgaGFzIHN1ZmZpY2llbnQgYW1vdW50LgDIT25seSBgQXV0aG9yaXR5T3JpZ2luYCBjYW4gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbi4AVEVtaXRzIGBBc3NldFJlZnVuZGVkYFBzZXRfYXNzZXRfd2VpZ2h0X2NhcAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABDGNhcEkDARxQZXJtaWxsAAkgZFVwZGF0ZSBhc3NldCdzIHdlaWdodCBjYXAALFBhcmFtZXRlcnM6WC0gYGFzc2V0X2lkYDogYXNzZXQgaWRcLSBgY2FwYDogbmV3IHdlaWdodCBjYXAA0EVtaXRzIGBBc3NldFdlaWdodENhcFVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AbHdpdGhkcmF3X3Byb3RvY29sX2xpcXVpZGl0eRABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAARRwcmljZVEDAUgoQmFsYW5jZSwgQmFsYW5jZSkAARBkZXN0AAEwVDo6QWNjb3VudElkAAssbFJlbW92ZXMgcHJvdG9jb2wgbGlxdWlkaXR5LgCFAVByb3RvY29sIGxpcXVpZGl0eSBpcyBsaXF1aWRpdHkgZnJvbSBzYWNyaWZpY2VkIHBvc2l0aW9ucy4gSW4gb3JkZXIgdG8gcmVtb3ZlIHByb3RvY29sIGxpcXVpZGl0eSx5AXdlIG5lZWQgdGhlIGtub3cgdGhlIHByaWNlIG9mIHRoZSBwb3NpdGlvbiBhdCB0aGUgdGltZSBvZiBzYWNyaWZpY2UuIEhlbmNlIHRoaXMgc3BlY2lmaWMgY2FsbC4AtE9ubHkgYEF1dGhvcml0eU9yaWdpbmAgY2FuIHBlcmZvcm0gdGhpcyBjYWxsLgB5AU5vdGUgdGhhdCBzYWNyaWZpY2UgcG9zaXRpb24gd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZS4gVGhlcmUgaXMgbm8gbG9uZ2VyIGEgbmVlZCBmb3IgdGhhdC4AYQFJdCB3b3JrcyB0aGUgc2FtZSB3YXkgYXMgcmVtb3ZlIGxpcXVpZGl0eSBjYWxsLCBidXQgcG9zaXRpb24gaXMgdGVtcG9yYXJ5IHJlY29uc3RydWN0ZWQuADByZW1vdmVfdG9rZW4IASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAASxiZW5lZmljaWFyeQABMFQ6OkFjY291bnRJZAAMLHBSZW1vdmVzIHRva2VuIGZyb20gT21uaXBvb2wuAEUBQXNzZXQncyB0cmFkYWJpbGl0eSBtdXN0IGJlIEZST1pFTiwgb3RoZXJ3aXNlIGBBc3NldE5vdEZyb3plbmAgZXJyb3IgaXMgcmV0dXJuZWQuAGEBUmVtYWluaW5nIHNoYXJlcyBtdXN0IGJlbG9uZyB0byBwcm90b2NvbCwgb3RoZXJ3aXNlIGBTaGFyZXNSZW1haW5pbmdgIGVycm9yIGlzIHJldHVybmVkLgB5AVByb3RvY29sJ3MgbGlxdWlkaXR5IGlzIHRyYW5zZmVycmVkIHRvIHRoZSBiZW5lZmljaWFyeSBhY2NvdW50IGFuZCBodWIgYXNzZXQgYW1vdW50IGlzIGJ1cm5lZC4AtE9ubHkgYEF1dGhvcml0eU9yaWdpbmAgY2FuIHBlcmZvcm0gdGhpcyBjYWxsLgCsRW1pdHMgYFRva2VuUmVtb3ZlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5JAww0c3BfYXJpdGhtZXRpYyhwZXJfdGhpbmdzHFBlcm1pbGwAAAQAEAEMdTMyAABNAww8cGFsbGV0X29tbmlwb29sFHR5cGVzLFRyYWRhYmlsaXR5AAAEARBiaXRzCAEIdTgAAFEDAAAECBgYAFUDDGBwYWxsZXRfdHJhbnNhY3Rpb25fcGF1c2UYcGFsbGV0EENhbGwEBFQAAQhEcGF1c2VfdHJhbnNhY3Rpb24IASxwYWxsZXRfbmFtZTgBHFZlYzx1OD4AATRmdW5jdGlvbl9uYW1lOAEcVmVjPHU4PgAAAEx1bnBhdXNlX3RyYW5zYWN0aW9uCAEscGFsbGV0X25hbWU4ARxWZWM8dTg+AAE0ZnVuY3Rpb25fbmFtZTgBHFZlYzx1OD4AAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuWQMMNHBhbGxldF9kdXN0ZXIYcGFsbGV0EENhbGwEBFQAAQwwZHVzdF9hY2NvdW50CAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAAAFFxEdXN0IHNwZWNpZmllZCBhY2NvdW50LnUBSUYgYWNjb3VudCBiYWxhbmNlIGlzIDwgbWluLiBleGlzdGVudGlhbCBkZXBvc2l0IG9mIGdpdmVuIGN1cnJlbmN5LCBhbmQgYWNjb3VudCBpcyBhbGxvd2VkIHRvXQFiZSBkdXN0ZWQsIHRoZSByZW1haW5pbmcgYmFsYW5jZSBpcyB0cmFuc2ZlcnJlZCB0byBzZWxlY3RlZCBhY2NvdW50ICh1c3VhbGx5IHRyZWFzdXJ5KS4A5ENhbGxlciBpcyByZXdhcmRlZCB3aXRoIGNob3NlbiByZXdhcmQgaW4gbmF0aXZlIGN1cnJlbmN5LlxhZGRfbm9uZHVzdGFibGVfYWNjb3VudAQBHGFjY291bnQAATBUOjpBY2NvdW50SWQAAQxVAUFkZCBhY2NvdW50IHRvIGxpc3Qgb2Ygbm9uLWR1c3RhYmxlIGFjY291bnQuIEFjY291bnQgd2hpaGMgYXJlIGV4Y2x1ZGVkIGZyb20gdWRzdGluZy4pAUlmIHN1Y2ggYWNjb3VudCBzaG91bGQgYmUgZHVzdGVkIC0gYEFjY291bnRCbGFja2xpc3RlZGAgZXJyb3IgaXMgcmV0dXJuZWQuiE9ubHkgcm9vdCBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi5ocmVtb3ZlX25vbmR1c3RhYmxlX2FjY291bnQEARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAIEaQFSZW1vdmUgYWNjb3VudCBmcm9tIGxpc3Qgb2Ygbm9uLWR1c3RhYmxlIGFjY291bnRzLiBUaGF0IG1lYW5zIGFjY291bnQgY2FuIGJlIGR1c3RlZCBhZ2Fpbi4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuXQMMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBBDYWxsCARUAARJAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLmEDDIBwYWxsZXRfb21uaXBvb2xfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQQQ2FsbAQEVAABQEhjcmVhdGVfZ2xvYmFsX2Zhcm0gATR0b3RhbF9yZXdhcmRzGAEcQmFsYW5jZQABYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcxABLFBlcmlvZE9mPFQ+AAFEYmxvY2tzX3Blcl9wZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgABPHJld2FyZF9jdXJyZW5jeRABKFQ6OkFzc2V0SWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABQHlpZWxkX3Blcl9wZXJpb2RlAwEsUGVycXVpbnRpbGwAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UAAVRscm5hX3ByaWNlX2FkanVzdG1lbnRRAQEkRml4ZWRVMTI4AABw/ENyZWF0ZSBhIG5ldyBsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0gd2l0aCBwcm92aWRlZCBwYXJhbWV0ZXJzLgBFAWBvd25lcmAgYWNjb3VudCBoYXMgdG8gaGF2ZSBhdCBsZWFzdCBgdG90YWxfcmV3YXJkc2AgYmFsYW5jZS4gVGhlc2UgZnVuZHMgd2lsbCBiZaR0cmFuc2ZlcnJlZCBmcm9tIGBvd25lcmAgdG8gZmFybSBhY2NvdW50LgDwVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFQ6OkNyZWF0ZU9yaWdpbmAuVQEhISFXQVJOOiBgVDo6Q3JlYXRlT3JpZ2luYCBoYXMgcG93ZXIgb3ZlciBmdW5kcyBvZiBgb3duZXJgJ3MgYWNjb3VudCBhbmQgaXQgc2hvdWxkIGJl0GNvbmZpZ3VyZWQgdG8gdHJ1c3RlZCBvcmlnaW4gZS5nIFN1ZG8gb3IgR292ZXJuYW5jZS4ALFBhcmFtZXRlcnM6VQEtIGBvcmlnaW5gOiBhY2NvdW50IGFsbG93ZWQgdG8gY3JlYXRlIG5ldyBsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0ocm9vdCwgZ292ZXJuYW5jZSkuNQEtIGB0b3RhbF9yZXdhcmRzYDogdG90YWwgcmV3YXJkcyBwbGFubmVkIHRvIGRpc3RyaWJ1dGUuIFRoZXNlIHJld2FyZHMgd2lsbCBiZdxkaXN0cmlidXRlZCBiZXR3ZWVuIGFsbCB5aWVsZCBmYXJtcyBpbiB0aGUgZ2xvYmFsIGZhcm0uWQEtIGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHNgOiBwbGFubmVkIG51bWJlciBvZiBwZXJpb2RzIHRvIGRpc3RyaWJ1dGUgYHRvdGFsX3Jld2FyZHNgLikBV0FSTjogVEhJUyBJUyBOT1QgSEFSRCBERUFETElORS4gTm90IGFsbCByZXdhcmRzIGhhdmUgdG8gYmUgZGlzdHJpYnV0ZWQgaW5dAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHNgLiBSZXdhcmRzIGFyZSBkaXN0cmlidXRlZCBiYXNlZCBvbiB0aGUgc2l0dWF0aW9uIGluIHRoZSB5aWVsZEEBZmFybXMgYW5kIGNhbiBiZSBkaXN0cmlidXRlZCBpbiBhIGxvbmdlciwgdGhvdWdoIG5ldmVyIGluIGEgc2hvcnRlciwgdGltZSBmcmFtZS5ZAS0gYGJsb2Nrc19wZXJfcGVyaW9kYDogIG51bWJlciBvZiBibG9ja3MgaW4gYSBzaW5nbGUgcGVyaW9kLiBNaW4uIG51bWJlciBvZiBibG9ja3MgcGVyMHBlcmlvZCBpcyAxLsAtIGByZXdhcmRfY3VycmVuY3lgOiBwYXlvZmYgY3VycmVuY3kgb2YgcmV3YXJkcy45AS0gYG93bmVyYDogbGlxLiBtaW5pbmcgZmFybSBvd25lci4gVGhpcyBhY2NvdW50IHdpbGwgYmUgYWJsZSB0byBtYW5hZ2UgY3JlYXRlZGRsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0uKQEtIGB5aWVsZF9wZXJfcGVyaW9kYDogcGVyY2VudGFnZSByZXR1cm4gb24gYHJld2FyZF9jdXJyZW5jeWAgb2YgYWxsIGZhcm1zLpEBLSBgbWluX2RlcG9zaXRgOiBtaW5pbXVtIGFtb3VudCBvZiBMUCBzaGFyZXMgdG8gYmUgZGVwb3NpdGVkIGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcgYnkgZWFjaCB1c2VyLk0BLSBgbHJuYV9wcmljZV9hZGp1c3RtZW50YDogcHJpY2UgYWRqdXN0bWVudCBiZXR3ZWVuIGBbTFJOQV1gIGFuZCBgcmV3YXJkX2N1cnJlbmN5YC4AqEVtaXRzIGBHbG9iYWxGYXJtQ3JlYXRlZGAgd2hlbiBzdWNjZXNzZnVsLgBUdGVybWluYXRlX2dsb2JhbF9mYXJtBAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAjScVGVybWluYXRlIGV4aXN0aW5nIGxpcS4gbWluaW5nIHByb2dyYW0uAKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uABEBV0FSTjogVG8gc3VjY2Vzc2Z1bGx5IHRlcm1pbmF0ZSBhIGdsb2JhbCBmYXJtLCBmYXJtIGhhdmUgdG8gYmUgZW1wdHngKGFsbCB5aWVsZCBmYXJtcyBpbiB0aGUgZ2xvYmFsIGZhcm0gbXVzdCBiZSB0ZXJtaW5hdGVkKS4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIu3C0gYGdsb2JhbF9mYXJtX2lkYDogaWQgb2YgZ2xvYmFsIGZhcm0gdG8gYmUgdGVybWluYXRlZC4AzEVtaXRzIGBHbG9iYWxGYXJtVGVybWluYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBEY3JlYXRlX3lpZWxkX2Zhcm0QAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABKG11bHRpcGxpZXJRAQE4RmFybU11bHRpcGxpZXIAATRsb3lhbHR5X2N1cnZlaQMBUE9wdGlvbjxMb3lhbHR5Q3VydmU+AANI3ENyZWF0ZSB5aWVsZCBmYXJtIGZvciBnaXZlbiBgYXNzZXRfaWRgIGluIHRoZSBvbW5pcG9vbC4EIKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uAOxBc3NldCB3aXRoIGBhc3NldF9pZGAgaGFzIHRvIGJlIHJlZ2lzdGVyZWQgaW4gdGhlIG9tbmlwb29sLlUBQXQgbW9zdCBvbmUgYGFjdGl2ZWAgeWllbGQgZmFybSBjYW4gZXhpc3QgaW4gb25lIGdsb2JhbCBmYXJtIGZvciB0aGUgc2FtZSBgYXNzZXRfaWRgLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4dAS0gYGdsb2JhbF9mYXJtX2lkYDogZ2xvYmFsIGZhcm0gaWQgdG8gd2hpY2ggYSB5aWVsZCBmYXJtIHdpbGwgYmUgYWRkZWQuHQEtIGBhc3NldF9pZGA6IGlkIG9mIGEgYXNzZXQgaW4gdGhlIG9tbmlwb29sLiBZaWVsZCBmYXJtIHdpbGwgYmUgY3JlYXRlZGEBZm9yIHRoaXMgYXNzZXQgYW5kIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGxvY2sgTFAgc2hhcmVzIGludG8gdGhpcyB5aWVsZCBmYXJtIGltbWVkaWF0ZWx5LqAtIGBtdWx0aXBsaWVyYDogeWllbGQgZmFybSdzIG11bHRpcGxpZXIuXQEtIGBsb3lhbHR5X2N1cnZlYDogY3VydmUgdG8gY2FsY3VsYXRlIGxveWFsdHkgbXVsdGlwbGllciB0byBkaXN0cmlidXRlIHJld2FyZHMgdG8gdXNlcnPgd2l0aCB0aW1lIGluY2VudGl2ZS4gYE5vbmVgIG1lYW5zIG5vIGxveWFsdHkgbXVsdGlwbGllci4AvEVtaXRzIGBZaWVsZEZhcm1DcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAER1cGRhdGVfeWllbGRfZmFybQwBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEobXVsdGlwbGllclEBAThGYXJtTXVsdGlwbGllcgAEMHxVcGRhdGUgeWllbGQgZmFybSdzIG11bHRpcGxpZXIuBCCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4dAS0gYGdsb2JhbF9mYXJtX2lkYDogZ2xvYmFsIGZhcm0gaWQgaW4gd2hpY2ggeWllbGQgZmFybSB3aWxsIGJlIHVwZGF0ZWQuIQEtIGBhc3NldF9pZGA6IGlkIG9mIHRoZSBhc3NldCBpZGVudGlmeWluZyB5aWVsZCBmYXJtIGluIHRoZSBnbG9iYWwgZmFybS6wLSBgbXVsdGlwbGllcmA6IG5ldyB5aWVsZCBmYXJtJ3MgbXVsdGlwbGllci4AvEVtaXRzIGBZaWVsZEZhcm1VcGRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADxzdG9wX3lpZWxkX2Zhcm0IAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAAFQLhTdG9wIGxpcXVpZGl0eSBtaW1pbmcgZm9yIHNwZWNpZmljIHlpZWxkIGZhcm0uADEBVGhpcyBmdW5jdGlvbiBjbGFpbXMgcmV3YXJkcyBmcm9tIGBHbG9iYWxGYXJtYCBsYXN0IHRpbWUgYW5kIHN0b3AgeWllbGQgZmFybSEBaW5jZW50aXZpemF0aW9uIGZyb20gYSBgR2xvYmFsRmFybWAuIFVzZXJzIHdpbGwgYmUgYWJsZSB0byBvbmx5IHdpdGhkcmF3yHNoYXJlcyh3aXRoIGNsYWltaW5nKSBhZnRlciBjYWxsaW5nIHRoaXMgZnVuY3Rpb24u4GBkZXBvc2l0X3NoYXJlcygpYCBpcyBub3QgYWxsb3dlZCBvbiBzdG9wcGVkIHlpZWxkIGZhcm0uBCCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4FAS0gYGdsb2JhbF9mYXJtX2lkYDogZmFybSBpZCBpbiB3aGljaCB5aWVsZCBmYXJtIHdpbGwgYmUgY2FuY2VsZWQuIQEtIGBhc3NldF9pZGA6IGlkIG9mIHRoZSBhc3NldCBpZGVudGlmeWluZyB5aWVsZCBmYXJtIGluIHRoZSBnbG9iYWwgZmFybS4AvEVtaXRzIGBZaWVsZEZhcm1TdG9wcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAERyZXN1bWVfeWllbGRfZmFybRABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEobXVsdGlwbGllclEBAThGYXJtTXVsdGlwbGllcgAGTPhSZXN1bWUgaW5jZW50aXZpemF0aW9uIG9mIHRoZSBhc3NldCByZXByZXNlbnRlZCBieSB5aWVsZCBmYXJtLgAtAVRoaXMgZnVuY3Rpb24gcmVzdW1lIGluY2VudGl2aXphdGlvbiBvZiB0aGUgYXNzZXQgZnJvbSB0aGUgYEdsb2JhbEZhcm1gIGFuZDEBcmVzdG9yZSBmdWxsIGZ1bmN0aW9uYWxpdHkgb3IgdGhlIHlpZWxkIGZhcm0uIFVzZXJzIHdpbGwgYmUgYWJsZSB0byBkZXBvc2l0LGRjbGFpbSBhbmQgd2l0aGRyYXcgYWdhaW4uABEBV0FSTjogWWllbGQgZmFybShhbmQgdXNlcnMpIGlzIE5PVCByZXdhcmRlZCBmb3IgdGltZSBpdCB3YXMgc3RvcHBlZC4AoE9ubHkgZmFybSBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuHQEtIGBnbG9iYWxfZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkIGluIHdoaWNoIHlpZWxkIGZhcm0gd2lsbCBiZSByZXN1bWVkLtgtIGB5aWVsZF9mYXJtX2lkYDogaWQgb2YgdGhlIHlpZWxkIGZhcm0gdG8gYmUgcmVzdW1lZC4hAS0gYGFzc2V0X2lkYDogaWQgb2YgdGhlIGFzc2V0IGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0gaW4gdGhlIGdsb2JhbCBmYXJtLpgtIGBtdWx0aXBsaWVyYDogeWllbGQgZmFybSBtdWx0aXBsaWVyLgC8RW1pdHMgYFlpZWxkRmFybVJlc3VtZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AUHRlcm1pbmF0ZV95aWVsZF9mYXJtDAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAB1BUVGVybWluYXRlIHlpZWxkIGZhcm0uAIEBVGhpcyBmdW5jdGlvbiBtYXJrcyBhIHlpZWxkIGZhcm0gYXMgcmVhZHkgdG8gYmUgcmVtb3ZlZCBmcm9tIHN0b3JhZ2Ugd2hlbiBpdCdzIGVtcHR5LiBVc2VycyB3aWxsZQFiZSBhYmxlIHRvIG9ubHkgd2l0aGRyYXcgc2hhcmVzKHdpdGhvdXQgY2xhaW1pbmcgcmV3YXJkcyBmcm9tIHlpZWxkIGZhcm0pLiBVbnBhaWQgcmV3YXJkc30Bd2lsbCBiZSB0cmFuc2ZlcnJlZCBiYWNrIHRvIGdsb2JhbCBmYXJtIGFuZCBpdCB3aWxsIGJlIHVzZWQgdG8gZGlzdHJpYnV0ZSB0byBvdGhlciB5aWVsZCBmYXJtcy4A3FlpZWxkIGZhcm0gbXVzdCBiZSBzdG9wcGVkIGJlZm9yZSBpdCBjYW4gYmUgdGVybWluYXRlZC4AcQFPbmx5IGdsb2JhbCBmYXJtJ3Mgb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uIFlpZWxkIGZhcm0gc3RheXMgaW4gdGhlIHN0b3JhZ2UgdW50aWwgaXQnc20BZW1wdHkoYWxsIGZhcm0gZW50cmllcyBhcmUgd2l0aGRyYXduKS4gTGFzdCB3aXRoZHJhd24gZnJvbSB5aWVsZCBmYXJtIHRyaWdnZXIgcmVtb3ZpbmcgZnJvbTB0aGUgc3RvcmFnZS4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuMQEtIGBnbG9iYWxfZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkIGluIHdoaWNoIHlpZWxkIGZhcm0gc2hvdWxkIGJlIHRlcm1pbmF0ZWQu1C0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB5aWVsZCBmYXJtIHRvIGJlIHRlcm1pbmF0ZWQu1C0gYGFzc2V0X2lkYDogaWQgb2YgdGhlIGFzc2V0IGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0uAMhFbWl0cyBgWWllbGRGYXJtVGVybWluYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgA4ZGVwb3NpdF9zaGFyZXMMAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQACDjsRGVwb3NpdCBvbW5pcG9vbCBwb3NpdGlvbihMUCBzaGFyZXMpIHRvIGEgbGlxdWlkaXR5IG1pbmluZy4AcQFUaGlzIGZ1bmN0aW9uIHRyYW5zZmVycyBvbW5pcG9vbCBwb3NpdGlvbiBmcm9tIGBvcmlnaW5gIHRvIHBhbGxldCdzIGFjY291bnQgYW5kIG1pbnQgTkZUIGZvckUBYG9yaWdpbmAgYWNjb3VudC4gTWludGVkIE5GVCByZXByZXNlbnRzIGRlcG9zaXQgaW4gdGhlIGxpcXVpZGl0eSBtaW5pbmcuIFVzZXIgY2FuIQFkZXBvc2l0IG9tbmlwb29sIHBvc2l0aW9uIGFzIGEgd2hvbGUoYWxsIHRoZSBMUCBzaGFyZXMgaW4gdGhlIHBvc2l0aW9uKS4ALFBhcmFtZXRlcnM6QQEtIGBvcmlnaW5gOiBvd25lciBvZiB0aGUgb21uaXBvb2wgcG9zaXRpb24gdG8gZGVwb3NpdCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nLj0BLSBgZ2xvYmFsX2Zhcm1faWRgOiBpZCBvZiBnbG9iYWwgZmFybSB0byB3aGljaCB1c2VyIHdhbnRzIHRvIGRlcG9zaXQgTFAgc2hhcmVzLsgtIGB5aWVsZF9mYXJtX2lkYDogaWQgb2YgeWllbGQgZmFybSB0byBkZXBvc2l0IHRvLl0BLSBgcG9zaXRpb25faWRgOiBpZCBvZiB0aGUgb21uaXBvb2wgcG9zaXRpb24gdG8gYmUgZGVwb3NpdGVkIGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcuALhFbWl0cyBgU2hhcmVzRGVwb3NpdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAEByZWRlcG9zaXRfc2hhcmVzDAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAk88FJlZGVwb3NpdCBMUCBzaGFyZXMgaW4gdGhlIGFscmVhZHkgbG9ja2VkIG9tbmlwb29sIHBvc2l0aW9uLgBRAVRoaXMgZnVuY3Rpb24gY3JlYXRlIHlpZWxkIGZhcm0gZW50cnkgZm9yIGV4aXN0aW5nIGRlcG9zaXQuIEFtb3VudCBvZiByZWRlcG9zaXRlZCBMUC0Bc2hhcmVzIGlzIHNhbWUgYXMgYW1vdW50IHNoYXJlcyB3aGljaCBhcmUgYWxyZWFkeSBkZXBvc2l0ZWQgaW4gdGhlIGRlcG9zaXQuALhUaGlzIGZ1bmN0aW9uIERPRVNOJ1QgY3JlYXRlIG5ldyBkZXBvc2l0KE5GVCkuACxQYXJhbWV0ZXJzOrgtIGBvcmlnaW5gOiBvd25lciBvZiB0aGUgZGVwb3NpdCB0byByZWRlcG9zaXQuVQEtIGBnbG9iYWxfZmFybV9pZGA6IGlkIG9mIHRoZSBnbG9iYWwgZmFybSB0byB3aGljaCB1c2VyIHdhbnRzIHRvIHJlZGVwb3NpdCBMUCBzaGFyZXMu4C0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB0aGUgeWllbGQgZmFybSB0byByZWRlcG9zaXQgdG8u3C0gYGRlcG9zaXRfaWRgOiBpZGVudGlmaWVyIG9mIHRoZSBkZXBvc2l0IHRvIHJlZGVwb3NpdC4AwEVtaXRzIGBTaGFyZXNSZWRlcG9zaXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgA0Y2xhaW1fcmV3YXJkcwgBKGRlcG9zaXRfaWQYASREZXBvc2l0SWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQACjBhAUNsYWltIHJld2FyZHMgZnJvbSBsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0gZm9yIGRlcG9zaXQgcmVwcmVzZW50ZWQgYnkgdGhlIGBkZXBvc2l0X2lkYC4AbQFUaGlzIGZ1bmN0aW9uIGNhbGN1bGF0ZSB1c2VyIHJld2FyZHMgZnJvbSBsaXF1aWRpdHkgbWluaW5nIGFuZCB0cmFuc2ZlciByZXdhcmRzIHRvIGBvcmlnaW5g/GFjY291bnQuIENsYWltaW5nIG11bHRpcGxlIHRpbWUgdGhlIHNhbWUgcGVyaW9kIGlzIG5vdCBhbGxvd2VkLgAsUGFyYW1ldGVyczp0LSBgb3JpZ2luYDogb3duZXIgb2YgZGVwb3NpdC7cLSBgZGVwb3NpdF9pZGA6IGlkIG9mIHRoZSBkZXBvc2l0IHRvIGNsYWltIHJld2FyZHMgZm9yLvgtIGB5aWVsZF9mYXJtX2lkYDogaWQgb2YgdGhlIHlpZWxkIGZhcm0gdG8gY2xhaW0gcmV3YXJkcyBmcm9tLgCwRW1pdHMgYFJld2FyZENsYWltZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4APHdpdGhkcmF3X3NoYXJlcwgBKGRlcG9zaXRfaWQYASREZXBvc2l0SWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAC1BVAVRoaXMgZnVuY3Rpb24gY2xhaW0gcmV3YXJkcyBhbmQgd2l0aGRyYXcgTFAgc2hhcmVzIGZyb20geWllbGQgZmFybS4gT21uaXBvb2wgcG9zaXRpb25RAWlzIHRyYW5zZmVycmVkIHRvIG9yaWdpbiBvbmx5IGlmIHRoaXMgaXMgbGFzdCB3aXRoZHJhdyBpbiB0aGUgZGVwb3NpdCBhbmQgZGVwb3NpdCBpc1EBZGVzdHJveWVkLiBUaGlzIGZ1bmN0aW9uIGNsYWltIHJld2FyZHMgb25seSBpZiB5aWVsZCBmYXJtIGlzIG5vdCB0ZXJtaW5hdGVkIGFuZCB1c2VyvGRpZG4ndCBhbHJlYWR5IGNsYWltIHJld2FyZHMgaW4gY3VycmVudCBwZXJpb2QuAE0BVW5jbGFpbWFibGUgcmV3YXJkcyByZXByZXNlbnRzIHJld2FyZHMgd2hpY2ggdXNlciB3b24ndCBiZSBhYmxlIHRvIGNsYWltIGJlY2F1c2Ugb2ZJAWV4aXRpbmcgZWFybHkgYW5kIHRoZXNlIHJld2FyZHMgd2lsbCBiZSB0cmFuc2ZlcnJlZCBiYWNrIHRvIGdsb2JhbCBmYXJtIGZvciBmdXR1cmU8cmVkaXN0cmlidXRpb24uACxQYXJhbWV0ZXJzOnQtIGBvcmlnaW5gOiBvd25lciBvZiBkZXBvc2l0LtwtIGBkZXBvc2l0X2lkYDogaWQgb2YgdGhlIGRlcG9zaXQgdG8gY2xhaW0gcmV3YXJkcyBmb3Iu+C0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB0aGUgeWllbGQgZmFybSB0byBjbGFpbSByZXdhcmRzIGZyb20uABhFbWl0czrEKiBgUmV3YXJkQ2xhaW1lZGAgZXZlbnQgaWYgY2xhaW1lZCByZXdhcmRzIGlzID4gMKQqIGBTaGFyZXNXaXRoZHJhd25gIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bF0BKiBgRGVwb3NpdERlc3Ryb3llZGAgZXZlbnQgd2hlbiB0aGlzIHdhcyBsYXN0IHdpdGhkcmF3IGZyb20gdGhlIGRlcG9zaXQgYW5kIGRlcG9zaXQgd2FzKGRlc3Ryb3llZC4ASHVwZGF0ZV9nbG9iYWxfZmFybRABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzEAFIY3JhdGU6OlBlcmlvZE9mPFQ+AAFAeWllbGRfcGVyX3BlcmlvZGUDASxQZXJxdWludGlsbAABLG1pbl9kZXBvc2l0GAEcQmFsYW5jZQAMONRUaGlzIGV4dHJpbnNpYyB1cGRhdGVzIGdsb2JhbCBmYXJtJ3MgbWFpbiBwYXJhbWV0ZXJzLgDwVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFQ6OkNyZWF0ZU9yaWdpbmAuVQEhISFXQVJOOiBgVDo6Q3JlYXRlT3JpZ2luYCBoYXMgcG93ZXIgb3ZlciBmdW5kcyBvZiBgb3duZXJgJ3MgYWNjb3VudCBhbmQgaXQgc2hvdWxkIGJl0GNvbmZpZ3VyZWQgdG8gdHJ1c3RlZCBvcmlnaW4gZS5nIFN1ZG8gb3IgR292ZXJuYW5jZS4ALFBhcmFtZXRlcnM6VQEtIGBvcmlnaW5gOiBhY2NvdW50IGFsbG93ZWQgdG8gY3JlYXRlIG5ldyBsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0ocm9vdCwgZ292ZXJuYW5jZSku0C0gYGdsb2JhbF9mYXJtX2lkYDogaWQgb2YgdGhlIGdsb2JhbCBmYXJtIHRvIHVwZGF0ZS5ZAS0gYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kc2A6IHBsYW5uZWQgbnVtYmVyIG9mIHBlcmlvZHMgdG8gZGlzdHJpYnV0ZSBgdG90YWxfcmV3YXJkc2AuKQEtIGB5aWVsZF9wZXJfcGVyaW9kYDogcGVyY2VudGFnZSByZXR1cm4gb24gYHJld2FyZF9jdXJyZW5jeWAgb2YgYWxsIGZhcm1zLpEBLSBgbWluX2RlcG9zaXRgOiBtaW5pbXVtIGFtb3VudCBvZiBMUCBzaGFyZXMgdG8gYmUgZGVwb3NpdGVkIGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcgYnkgZWFjaCB1c2VyLgDARW1pdHMgYEdsb2JhbEZhcm1VcGRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuKGpvaW5fZmFybXMIATBmYXJtX2VudHJpZXNxAwERAUJvdW5kZWRWZWM8KEdsb2JhbEZhcm1JZCwgWWllbGRGYXJtSWQpLCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAANJEUBVGhpcyBmdW5jdGlvbiBhbGxvd3MgdXNlciB0byBqb2luIG11bHRpcGxlIGZhcm1zIHdpdGggYSBzaW5nbGUgb21uaXBvb2wgcG9zaXRpb24uACxQYXJhbWV0ZXJzOkEBLSBgb3JpZ2luYDogb3duZXIgb2YgdGhlIG9tbmlwb29sIHBvc2l0aW9uIHRvIGRlcG9zaXQgaW50byB0aGUgbGlxdWlkaXR5IG1pbmluZy6gLSBgZmFybV9lbnRyaWVzYDogbGlzdCBvZiBmYXJtcyB0byBqb2luLl0BLSBgcG9zaXRpb25faWRgOiBpZCBvZiB0aGUgb21uaXBvb2wgcG9zaXRpb24gdG8gYmUgZGVwb3NpdGVkIGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcuANhFbWl0cyBgU2hhcmVzRGVwb3NpdGVkYCBldmVudCBmb3IgdGhlIGZpcnN0IGZhcm0gZW50cnkdAUVtaXRzIGBTaGFyZXNSZWRlcG9zaXRlZGAgZXZlbnQgZm9yIGVhY2ggZmFybSBlbnRyeSBhZnRlciB0aGUgZmlyc3Qgb25lcGFkZF9saXF1aWRpdHlfYW5kX2pvaW5fZmFybXMQATBmYXJtX2VudHJpZXNxAwERAUJvdW5kZWRWZWM8KEdsb2JhbEZhcm1JZCwgWWllbGRGYXJtSWQpLCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AAEUYXNzZXQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABQG1pbl9zaGFyZXNfbGltaXT0ATxPcHRpb248QmFsYW5jZT4ADixdAVRoaXMgZnVuY3Rpb24gYWxsb3dzIHVzZXIgdG8gYWRkIGxpcXVpZGl0eSB0aGVuIHVzZSB0aGF0IHNoYXJlcyB0byBqb2luIG11bHRpcGxlIGZhcm1zLgAsUGFyYW1ldGVyczpBAS0gYG9yaWdpbmA6IG93bmVyIG9mIHRoZSBvbW5pcG9vbCBwb3NpdGlvbiB0byBkZXBvc2l0IGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcuoC0gYGZhcm1fZW50cmllc2A6IGxpc3Qgb2YgZmFybXMgdG8gam9pbi4VAS0gYGFzc2V0YDogaWQgb2YgdGhlIGFzc2V0IHRvIGJlIGRlcG9zaXRlZCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nLikBLSBgYW1vdW50YDogYW1vdW50IG9mIHRoZSBhc3NldCB0byBiZSBkZXBvc2l0ZWQgaW50byB0aGUgbGlxdWlkaXR5IG1pbmluZy6FAS0gYG1pbl9zaGFyZXNfbGltaXRgOiBUaGUgbWluIGFtb3VudCBvZiBkZWx0YSBzaGFyZSBhc3NldCB0aGUgdXNlciBzaG91bGQgcmVjZWl2ZSBpbiB0aGUgcG9zaXRpb24A2EVtaXRzIGBTaGFyZXNEZXBvc2l0ZWRgIGV2ZW50IGZvciB0aGUgZmlyc3QgZmFybSBlbnRyeR0BRW1pdHMgYFNoYXJlc1JlZGVwb3NpdGVkYCBldmVudCBmb3IgZWFjaCBmYXJtIGVudHJ5IGFmdGVyIHRoZSBmaXJzdCBvbmUoZXhpdF9mYXJtcwgBKGRlcG9zaXRfaWQYASREZXBvc2l0SWQAATh5aWVsZF9mYXJtX2lkc30DAdBCb3VuZGVkVmVjPFlpZWxkRmFybUlkLCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AA88jEV4aXQgZnJvbSBhbGwgc3BlY2lmaWVkIHlpZWxkIGZhcm1zAF0BVGhpcyBmdW5jdGlvbiB3aWxsIGF0dGVtcHQgdG8gd2l0aGRyYXcgc2hhcmVzIGFuZCBjbGFpbSByZXdhcmRzIChpZiBhdmFpbGFibGUpIGZyb20gYWxsqHNwZWNpZmllZCB5aWVsZCBmYXJtcyBmb3IgYSBnaXZlbiBkZXBvc2l0LgAsUGFyYW1ldGVyczqoLSBgb3JpZ2luYDogYWNjb3VudCBvd25lciBvZiBkZXBvc2l0KG5mdCku3C0gYGRlcG9zaXRfaWRgOiBpZCBvZiB0aGUgZGVwb3NpdCB0byBjbGFpbSByZXdhcmRzIGZvci7gLSBgeWllbGRfZmFybV9pZHNgOiBpZChzKSBvZiB5aWVsZCBmYXJtKHMpIHRvIGV4aXQgZnJvbS4AGEVtaXRzOqwqIGBSZXdhcmRDbGFpbWVkYCBmb3IgZWFjaCBzdWNjZXNzZnVsIGNsYWltyCogYFNoYXJlc1dpdGhkcmF3bmAgZm9yIGVhY2ggc3VjY2Vzc2Z1bCB3aXRoZHJhd2Fs2CogYERlcG9zaXREZXN0cm95ZWRgIGlmIHRoZSBkZXBvc2l0IGlzIGZ1bGx5IHdpdGhkcmF3bgDAYWRkX2xpcXVpZGl0eV9zdGFibGVzd2FwX29tbmlwb29sX2FuZF9qb2luX2Zhcm1zDAE4c3RhYmxlX3Bvb2xfaWQQAShUOjpBc3NldElkAAFQc3RhYmxlX2Fzc2V0X2Ftb3VudHOFAwEFAUJvdW5kZWRWZWM8QXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4sIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AAEwZmFybV9lbnRyaWVzkQMBNQFPcHRpb248Qm91bmRlZFZlYzwoR2xvYmFsRmFybUlkLCBZaWVsZEZhcm1JZCksIFQ6OgpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+PgAQQPhUaGlzIGZ1bmN0aW9uIGFsbG93cyB1c2VyIHRvIGFkZCBsaXF1aWRpdHkgdG8gc3RhYmxlc3dhcCBwb29sLNh0aGVuIGFkZGluZyB0aGUgc3RhYmxlIHNoYXJlcyBhcyBsaXF1aWRpdHkgdG8gb21uaXBvb2zUdGhlbiB1c2UgdGhhdCBvbW5pcG9vbCBzaGFyZXMgdG8gam9pbiBtdWx0aXBsZSBmYXJtcy4AjQFJZiBmYXJtIGVudHJpZXMgYXJlIG5vdCBzcGVjaWZpZWQgKGVtcHR5IHZlY3RvbyksIHRoZW4gdGhlIGxpcXVpZGl0aWVzIGFyZSBzdGlsbCBhZGRlZCB0byB0aGUgcG9vbHMALFBhcmFtZXRlcnM6QQEtIGBvcmlnaW5gOiBvd25lciBvZiB0aGUgb21uaXBvb2wgcG9zaXRpb24gdG8gZGVwb3NpdCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nLgkBLSBgc3RhYmxlX3Bvb2xfaWRgOiBpZCBvZiB0aGUgc3RhYmxlc3dhcCBwb29sIHRvIGFkZCBsaXF1aWRpdHkgdG8uYQEtIGBzdGFibGVfYXNzZXRfYW1vdW50c2A6IGFtb3VudCBvZiBlYWNoIGFzc2V0IHRvIGJlIGRlcG9zaXRlZCBpbnRvIHRoZSBzdGFibGVzd2FwIHBvb2wuoC0gYGZhcm1fZW50cmllc2A6IGxpc3Qgb2YgZmFybXMgdG8gam9pbi4AsEVtaXRzIGBMaXF1aWRpdHlBZGRlZGAgZXZlbnRzIGZyb20gYm90aCBwb29s2EVtaXRzIGBTaGFyZXNEZXBvc2l0ZWRgIGV2ZW50IGZvciB0aGUgZmlyc3QgZmFybSBlbnRyeR0BRW1pdHMgYFNoYXJlc1JlZGVwb3NpdGVkYCBldmVudCBmb3IgZWFjaCBmYXJtIGVudHJ5IGFmdGVyIHRoZSBmaXJzdCBvbmUABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLmUDDDRzcF9hcml0aG1ldGljKHBlcl90aGluZ3MsUGVycXVpbnRpbGwAAAQAMAEMdTY0AABpAwQYT3B0aW9uBARUAW0DAQgQTm9uZQAAABBTb21lBABtAwAAAQAAbQMMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nFHR5cGVzMExveWFsdHlDdXJ2ZQAACAFkaW5pdGlhbF9yZXdhcmRfcGVyY2VudGFnZVEBASRGaXhlZFUxMjgAAShzY2FsZV9jb2VmEAEMdTMyAABxAwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAXUDBFMAAAQAeQMBGFZlYzxUPgAAdQMAAAQIEBAAeQMAAAJ1AwB9AwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUARAEUwAABACBAwEYVmVjPFQ+AACBAwAAAhAAhQMMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGJAwRTAAAEAI0DARhWZWM8VD4AAIkDDDhoeWRyYWR4X3RyYWl0cyhzdGFibGVzd2FwLEFzc2V0QW1vdW50BBxBc3NldElkARAACAEgYXNzZXRfaWQQARxBc3NldElkAAEYYW1vdW50GAEQdTEyOAAAjQMAAAKJAwCRAwQYT3B0aW9uBARUAXEDAQgQTm9uZQAAABBTb21lBABxAwAAAQAAlQMMKHBhbGxldF9vdGMYcGFsbGV0EENhbGwEBFQAARAscGxhY2Vfb3JkZXIUASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAFIcGFydGlhbGx5X2ZpbGxhYmxlIAEQYm9vbAAASFhDcmVhdGUgYSBuZXcgT1RDIG9yZGVyBCAsUGFyYW1ldGVyczqkLSBgYXNzZXRfaW5gOiBBc3NldCB3aGljaCBpcyBiZWluZyBib3VnaHSgLSBgYXNzZXRfb3V0YDogQXNzZXQgd2hpY2ggaXMgYmVpbmcgc29sZNgtIGBhbW91bnRfaW5gOiBBbW91bnQgdGhhdCB0aGUgb3JkZXIgaXMgc2Vla2luZyB0byBidXnALSBgYW1vdW50X291dGA6IEFtb3VudCB0aGF0IHRoZSBvcmRlciBpcyBzZWxsaW5nSQEtIGBwYXJ0aWFsbHlfZmlsbGFibGVgOiBGbGFnIGluZGljYXRpbmcgd2hldGhlciB1c2VycyBjYW4gZmlsbCB0aGUgb3JkZXIgcGFydGlhbGx5ADBWYWxpZGF0aW9uczp0LSBhc3NldF9pbiBtdXN0IGJlIHJlZ2lzdGVyZWRFAS0gYW1vdW50X2luIG11c3QgYmUgaGlnaGVyIHRoYW4gdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXQgb2YgYXNzZXRfaW4gbXVsdGlwbGllZCBieXggIEV4aXN0ZW50aWFsRGVwb3NpdE11bHRpcGxpZXJNAS0gYW1vdW50X291dCBtdXN0IGJlIGhpZ2hlciB0aGFuIHRoZSBleGlzdGVudGlhbCBkZXBvc2l0IG9mIGFzc2V0X291dCBtdWx0aXBsaWVkIGJ5eCAgRXhpc3RlbnRpYWxEZXBvc2l0TXVsdGlwbGllcgAcRXZlbnRzOoQtIGBQbGFjZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5IcGFydGlhbF9maWxsX29yZGVyCAEgb3JkZXJfaWQQARxPcmRlcklkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABQHRGaWxsIGFuIE9UQyBvcmRlciAocGFydGlhbGx5KQQgLFBhcmFtZXRlcnM6dC0gYG9yZGVyX2lkYDogSUQgb2YgdGhlIG9yZGVy6C0gYGFtb3VudF9pbmA6IEFtb3VudCB3aXRoIHdoaWNoIHRoZSBvcmRlciBpcyBiZWluZyBmaWxsZWQAMFZhbGlkYXRpb25zOogtIG9yZGVyIG11c3QgYmUgcGFydGlhbGx5X2ZpbGxhYmxljQEtIGFmdGVyIHRoZSBwYXJ0aWFsX2ZpbGwsIHRoZSByZW1haW5pbmcgb3JkZXIuYW1vdW50X2luIG11c3QgYmUgaGlnaGVyIHRoYW4gdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXTgICBvZiBhc3NldF9pbiBtdWx0aXBsaWVkIGJ5IEV4aXN0ZW50aWFsRGVwb3NpdE11bHRpcGxpZXKRAS0gYWZ0ZXIgdGhlIHBhcnRpYWxfZmlsbCwgdGhlIHJlbWFpbmluZyBvcmRlci5hbW91bnRfb3V0IG11c3QgYmUgaGlnaGVyIHRoYW4gdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXTkICBvZiBhc3NldF9vdXQgbXVsdGlwbGllZCBieSBFeGlzdGVudGlhbERlcG9zaXRNdWx0aXBsaWVyABxFdmVudHM60GBQYXJ0aWFsbHlGaWxsZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7IYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4oZmlsbF9vcmRlcgQBIG9yZGVyX2lkEAEcT3JkZXJJZAACIHhGaWxsIGFuIE9UQyBvcmRlciAoY29tcGxldGVseSkEICxQYXJhbWV0ZXJzOnQtIGBvcmRlcl9pZGA6IElEIG9mIHRoZSBvcmRlcgAcRXZlbnRzOqxgRmlsbGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuIERlcHJlY2F0ZWQuyGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuMGNhbmNlbF9vcmRlcgQBIG9yZGVyX2lkEAEcT3JkZXJJZAADLGBDYW5jZWwgYW4gb3BlbiBPVEMgb3JkZXIEICxQYXJhbWV0ZXJzOnQtIGBvcmRlcl9pZGA6IElEIG9mIHRoZSBvcmRlcpgtIGBhc3NldGA6IEFzc2V0IHdoaWNoIGlzIGJlaW5nIGZpbGxlZKAtIGBhbW91bnRgOiBBbW91bnQgd2hpY2ggaXMgYmVpbmcgZmlsbGVkADBWYWxpZGF0aW9uczpcLSBjYWxsZXIgaXMgb3JkZXIgb3duZXIAoEVtaXRzIGBDYW5jZWxsZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMumQMMWHBhbGxldF9jaXJjdWl0X2JyZWFrZXIYcGFsbGV0EENhbGwEBFQAAQxYc2V0X3RyYWRlX3ZvbHVtZV9saW1pdAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABSHRyYWRlX3ZvbHVtZV9saW1pdHUDASgodTMyLCB1MzIpAAAkkFNldCB0cmFkZSB2b2x1bWUgbGltaXQgZm9yIGFuIGFzc2V0LgAsUGFyYW1ldGVyczotAS0gYG9yaWdpbmA6IFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbC4gTXVzdCBiZSBgVXBkYXRlTGltaXRzT3JpZ2luYKAtIGBhc3NldF9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIGFuIGFzc2V0KQEtIGB0cmFkZV92b2x1bWVfbGltaXRgOiBOZXcgdHJhZGUgdm9sdW1lIGxpbWl0IHJlcHJlc2VudGVkIGFzIGEgcGVyY2VudGFnZQDYRW1pdHMgYFRyYWRlVm9sdW1lTGltaXRDaGFuZ2VkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAFxzZXRfYWRkX2xpcXVpZGl0eV9saW1pdAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABPGxpcXVpZGl0eV9saW1pdJ0DAUhPcHRpb248KHUzMiwgdTMyKT4AASSUU2V0IGFkZCBsaXF1aWRpdHkgbGltaXQgZm9yIGFuIGFzc2V0LgAsUGFyYW1ldGVyczotAS0gYG9yaWdpbmA6IFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbC4gTXVzdCBiZSBgVXBkYXRlTGltaXRzT3JpZ2luYKAtIGBhc3NldF9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIGFuIGFzc2V0NQEtIGBsaXF1aWRpdHlfbGltaXRgOiBPcHRpb25hbCBhZGQgbGlxdWlkaXR5IGxpbWl0IHJlcHJlc2VudGVkIGFzIGEgcGVyY2VudGFnZQDcRW1pdHMgYEFkZExpcXVpZGl0eUxpbWl0Q2hhbmdlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBoc2V0X3JlbW92ZV9saXF1aWRpdHlfbGltaXQIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAATxsaXF1aWRpdHlfbGltaXSdAwFIT3B0aW9uPCh1MzIsIHUzMik+AAIkoFNldCByZW1vdmUgbGlxdWlkaXR5IGxpbWl0IGZvciBhbiBhc3NldC4ALFBhcmFtZXRlcnM6LQEtIGBvcmlnaW5gOiBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwuIE11c3QgYmUgYFVwZGF0ZUxpbWl0c09yaWdpbmCgLSBgYXNzZXRfaWRgOiBUaGUgaWRlbnRpZmllciBvZiBhbiBhc3NldEEBLSBgbGlxdWlkaXR5X2xpbWl0YDogT3B0aW9uYWwgcmVtb3ZlIGxpcXVpZGl0eSBsaW1pdCByZXByZXNlbnRlZCBhcyBhIHBlcmNlbnRhZ2UA6EVtaXRzIGBSZW1vdmVMaXF1aWRpdHlMaW1pdENoYW5nZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLp0DBBhPcHRpb24EBFQBdQMBCBBOb25lAAAAEFNvbWUEAHUDAAABAAChAwxUcGFsbGV0X3JvdXRlX2V4ZWN1dG9yGHBhbGxldBBDYWxsBARUAAEUEHNlbGwUASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEoVDo6QmFsYW5jZQABOG1pbl9hbW91bnRfb3V0GAEoVDo6QmFsYW5jZQABFHJvdXRlpQMBRFJvdXRlPFQ6OkFzc2V0SWQ+AAA0/EV4ZWN1dGVzIGEgc2VsbCB3aXRoIGEgc2VyaWVzIG9mIHRyYWRlcyBzcGVjaWZpZWQgaW4gdGhlIHJvdXRlLgEBVGhlIHByaWNlIGZvciBlYWNoIHRyYWRlIGlzIGRldGVybWluZWQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgQU1NLgCULSBgb3JpZ2luYDogVGhlIGV4ZWN1dG9yIG9mIHRoZSB0cmFkZcQtIGBhc3NldF9pbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCB0byBzZWxs1C0gYGFzc2V0X291dGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCB0byByZWNlaXZlvC0gYGFtb3VudF9pbmA6IFRoZSBhbW91bnQgb2YgYGFzc2V0X2luYCB0byBzZWxsBQEtIGBtaW5fYW1vdW50X291dGA6IFRoZSBtaW5pbXVtIGFtb3VudCBvZiBgYXNzZXRfb3V0YCB0byByZWNlaXZlLtECLSBgcm91dGVgOiBTZXJpZXMgb2YgW2BUcmFkZTxBc3NldElkPmBdIHRvIGJlIGV4ZWN1dGVkLiBBIFtgVHJhZGU8QXNzZXRJZD5gXSBzcGVjaWZpZXMgdGhlIGFzc2V0IHBhaXIgKGBhc3NldF9pbmAsIGBhc3NldF9vdXRgKSBhbmQgdGhlIEFNTSAoYHBvb2xgKSBpbiB3aGljaCB0aGUgdHJhZGUgaXMgZXhlY3V0ZWQu3AkJICAgSWYgbm90IHNwZWNpZmllZCwgdGhhbiB0aGUgb24tY2hhaW4gcm91dGUgaXMgdXNlZC4ZAQkJICAgSWYgbm8gb24tY2hhaW4gaXMgcHJlc2VudCwgdGhlbiBvbW5pcG9vbCByb3V0ZSBpcyB1c2VkIGFzIGRlZmF1bHQAmEVtaXRzIGBSb3V0ZUV4ZWN1dGVkYCB3aGVuIHN1Y2Nlc3NmdWwuDGJ1eRQBIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAAShhbW91bnRfb3V0GAEoVDo6QmFsYW5jZQABNG1heF9hbW91bnRfaW4YAShUOjpCYWxhbmNlAAEUcm91dGWlAwFEUm91dGU8VDo6QXNzZXRJZD4AATT4RXhlY3V0ZXMgYSBidXkgd2l0aCBhIHNlcmllcyBvZiB0cmFkZXMgc3BlY2lmaWVkIGluIHRoZSByb3V0ZS4BAVRoZSBwcmljZSBmb3IgZWFjaCB0cmFkZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBjb3JyZXNwb25kaW5nIEFNTS4AlC0gYG9yaWdpbmA6IFRoZSBleGVjdXRvciBvZiB0aGUgdHJhZGUpAS0gYGFzc2V0X2luYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IHRvIGJlIHN3YXBwZWQgdG8gYnV5IGBhc3NldF9vdXRgxC0gYGFzc2V0X291dGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCB0byBidXnALSBgYW1vdW50X291dGA6IFRoZSBhbW91bnQgb2YgYGFzc2V0X291dGAgdG8gYnV5EQEtIGBtYXhfYW1vdW50X2luYDogVGhlIG1heCBhbW91bnQgb2YgYGFzc2V0X2luYCB0byBzcGVuZCBvbiB0aGUgYnV5LtECLSBgcm91dGVgOiBTZXJpZXMgb2YgW2BUcmFkZTxBc3NldElkPmBdIHRvIGJlIGV4ZWN1dGVkLiBBIFtgVHJhZGU8QXNzZXRJZD5gXSBzcGVjaWZpZXMgdGhlIGFzc2V0IHBhaXIgKGBhc3NldF9pbmAsIGBhc3NldF9vdXRgKSBhbmQgdGhlIEFNTSAoYHBvb2xgKSBpbiB3aGljaCB0aGUgdHJhZGUgaXMgZXhlY3V0ZWQu3AkJICAgSWYgbm90IHNwZWNpZmllZCwgdGhhbiB0aGUgb24tY2hhaW4gcm91dGUgaXMgdXNlZC4ZAQkJICAgSWYgbm8gb24tY2hhaW4gaXMgcHJlc2VudCwgdGhlbiBvbW5pcG9vbCByb3V0ZSBpcyB1c2VkIGFzIGRlZmF1bHQAmEVtaXRzIGBSb3V0ZUV4ZWN1dGVkYCB3aGVuIHN1Y2Nlc3NmdWwuJHNldF9yb3V0ZQgBKGFzc2V0X3BhaXK1AwFUQXNzZXRQYWlyPFQ6OkFzc2V0SWQ+AAEkbmV3X3JvdXRlpQMBRFJvdXRlPFQ6OkFzc2V0SWQ+AAJUvFNldHMgdGhlIG9uLWNoYWluIHJvdXRlIGZvciBhIGdpdmVuIGFzc2V0IHBhaXIuAPhUaGUgbmV3IHJvdXRlIGlzIHZhbGlkYXRlZCBieSBiZWluZyBleGVjdXRlZCBpbiBhIGRyeS1ydW4gbW9kZQCFAUlmIHRoZXJlIGlzIG5vIHJvdXRlIGV4cGxpY2l0bHkgc2V0IGZvciBhbiBhc3NldCBwYWlyLCB0aGVuIHdlIHVzZSB0aGUgb21uaXBvb2wgcm91dGUgYXMgZGVmYXVsdC4AKQFXaGVuIGEgbmV3IHJvdXRlIGlzIHNldCwgd2UgY29tcGFyZSBpdCB0byB0aGUgZXhpc3RpbmcgKG9yIGRlZmF1bHQpIHJvdXRlLqEBVGhlIGNvbXBhcmlzb24gaGFwcGVucyBieSBjYWxjdWxhdGluZyBzZWxsIGFtb3VudF9vdXRzIGZvciB0aGUgcm91dGVzLCBidXQgYWxzbyBmb3IgdGhlIGludmVyc2VkIHJvdXRlcy4AZQFUaGUgcm91dGUgaXMgc3RvcmVkIGluIGFuIG9yZGVyZWQgbWFubmVyLCBiYXNlZCBvbiB0aGUgb2RlciBvZiB0aGUgaWRzIGluIHRoZSBhc3NldCBwYWlyLgD0SWYgdGhlIHJvdXRlIGlzIHNldCBzdWNjZXNzZnVsbHksIHRoZW4gdGhlIGZlZSBpcyBwYXllZCBiYWNrLgCoLSBgb3JpZ2luYDogVGhlIG9yaWdpbiBvZiB0aGUgcm91dGUgc2V0dGVyLQEtIGBhc3NldF9wYWlyYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0LXBhaXIgZm9yIHdoaWNoIHRoZSByb3V0ZSBpcyBzZXThAi0gYG5ld19yb3V0ZWA6IFNlcmllcyBvZiBbYFRyYWRlPEFzc2V0SWQ+YF0gdG8gYmUgZXhlY3V0ZWQuIEEgW2BUcmFkZTxBc3NldElkPmBdIHNwZWNpZmllcyB0aGUgYXNzZXQgcGFpciAoYGFzc2V0X2luYCwgYGFzc2V0X291dGApIGFuZCB0aGUgQU1NIChgcG9vbGApIGluIHdoaWNoIHRoZSB0cmFkZSBpcyBleGVjdXRlZC4AlEVtaXRzIGBSb3V0ZVVwZGF0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4AKQFGYWlscyB3aXRoIGBSb3V0ZVVwZGF0ZUlzTm90U3VjY2Vzc2Z1bGAgZXJyb3Igd2hlbiBmYWlsZWQgdG8gc2V0IHRoZSByb3V0ZQBIZm9yY2VfaW5zZXJ0X3JvdXRlCAEoYXNzZXRfcGFpcrUDAVRBc3NldFBhaXI8VDo6QXNzZXRJZD4AASRuZXdfcm91dGWlAwFEUm91dGU8VDo6QXNzZXRJZD4AAziRAUZvcmNlIGluc2VydHMgdGhlIG9uLWNoYWluIHJvdXRlIGZvciBhIGdpdmVuIGFzc2V0IHBhaXIsIHNvIHRoZXJlIGlzIG5vIGFueSB2YWxpZGF0aW9uIGZvciB0aGUgcm91dGUAqENhbiBvbmx5IGJlIGNhbGxlZCBieSBUOjpGb3JjZUluc2VydE9yaWdpbgBlAVRoZSByb3V0ZSBpcyBzdG9yZWQgaW4gYW4gb3JkZXJlZCBtYW5uZXIsIGJhc2VkIG9uIHRoZSBvZGVyIG9mIHRoZSBpZHMgaW4gdGhlIGFzc2V0IHBhaXIuAPRJZiB0aGUgcm91dGUgaXMgc2V0IHN1Y2Nlc3NmdWxseSwgdGhlbiB0aGUgZmVlIGlzIHBheWVkIGJhY2suAKgtIGBvcmlnaW5gOiBUaGUgb3JpZ2luIG9mIHRoZSByb3V0ZSBzZXR0ZXItAS0gYGFzc2V0X3BhaXJgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQtcGFpciBmb3Igd2hpY2ggdGhlIHJvdXRlIGlzIHNldOECLSBgbmV3X3JvdXRlYDogU2VyaWVzIG9mIFtgVHJhZGU8QXNzZXRJZD5gXSB0byBiZSBleGVjdXRlZC4gQSBbYFRyYWRlPEFzc2V0SWQ+YF0gc3BlY2lmaWVzIHRoZSBhc3NldCBwYWlyIChgYXNzZXRfaW5gLCBgYXNzZXRfb3V0YCkgYW5kIHRoZSBBTU0gKGBwb29sYCkgaW4gd2hpY2ggdGhlIHRyYWRlIGlzIGV4ZWN1dGVkLgCURW1pdHMgYFJvdXRlVXBkYXRlZGAgd2hlbiBzdWNjZXNzZnVsLgAgc2VsbF9hbGwQASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAE4bWluX2Ftb3VudF9vdXQYAShUOjpCYWxhbmNlAAEUcm91dGWlAwFEUm91dGU8VDo6QXNzZXRJZD4ABDj8RXhlY3V0ZXMgYSBzZWxsIHdpdGggYSBzZXJpZXMgb2YgdHJhZGVzIHNwZWNpZmllZCBpbiB0aGUgcm91dGUuxEl0IHNlbGxzIGFsbCByZWR1Y2libGUgdXNlciBiYWxhbmNlIG9mIGBhc3NldF9pbmABAVRoZSBwcmljZSBmb3IgZWFjaCB0cmFkZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBjb3JyZXNwb25kaW5nIEFNTS4AlC0gYG9yaWdpbmA6IFRoZSBleGVjdXRvciBvZiB0aGUgdHJhZGXELSBgYXNzZXRfaW5gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgdG8gc2VsbNQtIGBhc3NldF9vdXRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgdG8gcmVjZWl2ZQUBLSBgbWluX2Ftb3VudF9vdXRgOiBUaGUgbWluaW11bSBhbW91bnQgb2YgYGFzc2V0X291dGAgdG8gcmVjZWl2ZS7RAi0gYHJvdXRlYDogU2VyaWVzIG9mIFtgVHJhZGU8QXNzZXRJZD5gXSB0byBiZSBleGVjdXRlZC4gQSBbYFRyYWRlPEFzc2V0SWQ+YF0gc3BlY2lmaWVzIHRoZSBhc3NldCBwYWlyIChgYXNzZXRfaW5gLCBgYXNzZXRfb3V0YCkgYW5kIHRoZSBBTU0gKGBwb29sYCkgaW4gd2hpY2ggdGhlIHRyYWRlIGlzIGV4ZWN1dGVkLtwJCSAgIElmIG5vdCBzcGVjaWZpZWQsIHRoYW4gdGhlIG9uLWNoYWluIHJvdXRlIGlzIHVzZWQuGQEJCSAgIElmIG5vIG9uLWNoYWluIGlzIHByZXNlbnQsIHRoZW4gb21uaXBvb2wgcm91dGUgaXMgdXNlZCBhcyBkZWZhdWx0AJhFbWl0cyBgUm91dGVFeGVjdXRlZGAgd2hlbiBzdWNjZXNzZnVsLgAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMupQMMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGpAwRTAAAEALEDARhWZWM8VD4AAKkDDDhoeWRyYWR4X3RyYWl0cxhyb3V0ZXIUVHJhZGUEHEFzc2V0SWQBEAAMARBwb29srQMBRFBvb2xUeXBlPEFzc2V0SWQ+AAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAAArQMMOGh5ZHJhZHhfdHJhaXRzGHJvdXRlciBQb29sVHlwZQQcQXNzZXRJZAEQARQMWFlLAAAADExCUAABAChTdGFibGVzd2FwBAAQARxBc3NldElkAAIAIE9tbmlwb29sAAMAEEFhdmUABAAAsQMAAAKpAwC1Aww4aHlkcmFkeF90cmFpdHMYcm91dGVyJEFzc2V0UGFpcgQcQXNzZXRJZAEQAAgBIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAALkDDExwYWxsZXRfZHluYW1pY19mZWVzGHBhbGxldBBDYWxsBARUAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLr0DDDhwYWxsZXRfc3Rha2luZxhwYWxsZXQQQ2FsbAQEVAABFEhpbml0aWFsaXplX3N0YWtpbmcAABxFAVN0YWtpbmcgcGFsbGV0IGluaXRpYWxpemF0aW9uLiBUaGlzIGNhbGwgd2lsbCByZXNlcnZlZCBgcG90YCdzIGJhbGFuY2UgdG8gcHJldmVudAUBYWNjb3VudCBkdXN0aW5nIGFuZCBzdGFydCBjb2xsZWN0aW5nIGZlZXMgZnJvbSB0cmFkZXMgYXMgcmV3YXJkcy4AaQFgcG90YOKAmXMgYWNjb3VudCBoYXMgdG8gaGF2ZSBhIGJhbGFuY2Ugd2hpY2ggd2lsbCBiZSByZXNlcnZlZCB0byBwcmV2ZW50IGFjY291bnQgZHVzdGluZy4AxEVtaXRzIGBTdGFraW5nSW5pdGlhbGl6ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AFHN0YWtlBAEYYW1vdW50GAEcQmFsYW5jZQABOKxTdGFrZSBgYW1vdW50YCBpbnRvIGEgbmV3IHN0YWtpbmcgcG9zaXRpb24uAFkBYHN0YWtlYCBsb2NrcyBzcGVjaWZpZWQgYGFtb3VudGAgaW50byBzdGFraW5nIGFuZCBjcmVhdGVzIG5ldyBORlQgcmVwcmVzZW50aW5nIHN0YWtpbmckcG9zaXRpb24uOQFVc2VycyBjYW4gc3Rha2UgYE5hdGl2ZUFzc2V0SWRgIGJhbGFuY2Ugd2hpY2ggaXMgbm90IHZlc3RlZCBvciBhbHJlYWR5IHN0YWtlZC4AMQFTdGFraW5nIHBhbGxldCBtdXN0IGJlIGluaXRpYWxpemVkIG90aGVyd2lzZSBleHRyaW5zaWMgd2lsbCBmYWlsIHdpdGggZXJyb3IuACxQYXJhbWV0ZXJzOlEBLSBgYW1vdW50YDogQW1vdW50IG9mIG5hdGl2ZSBhc3NldCB0byBiZSBzdGFrZWQuIGBhbW91bnRgIGNhbid0IGJlIHZlc3RlZCBvciBhbHJlYWR5GHN0YWtlZAC4RW1pdHMgYFBvc2l0aW9uQ3JlYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgA4aW5jcmVhc2Vfc3Rha2UIASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEYYW1vdW50GAEcQmFsYW5jZQACQF0BRXh0cmluc2ljIHRvIGluY3JlYXNlIHN0YWtlZCBhbW91bnQgb2YgZXhpc3Rpbmcgc3Rha2luZyBwb3NpdGlvbiBieSBzcGVjaWZpZWQgYGFtb3VudGAuAFUBYGluY3JlYXNlX3N0YWtlYCBpbmNyZWFzZXMgc3Rha2VkIGFtb3VudCBvZiBwb3NpdGlvbiBzcGVjaWZpZWQgYnkgYHBvc3Rpb25faWRgIGJ5IHRoZXxgYW1vdW50YCBzcGVjaWZpZWQgYnkgdGhlIHVzZXIuNQFTdGFraW5nIHBvc2l0aW9uIG11c3QgZXhpc3QgYW5kIGBvcmlnaW5gIGhhcyB0byBiZSB0aGUgb3duZXIgb2YgdGhlIHBvc2l0aW9uLvhVc2VycyBjYW4gc3Rha2UgdG9rZW5zIHdoaWNoIGFyZSBub3QgdmVzdGVkIG9yIGFscmVhZHkgc3Rha2VkLjUBUG9zaXRpb24ncyBwYXJhbXMgZS5nIHBvaW50cyBhcmUgdXBkYXRlZCB0byBvZmZzZXQgc3Rha2UgaW5jcmVhc2UgYW5kIHJld2FyZHP0YWNjdW11bGF0ZWQgdW50aWwgdGhpcyBwb2ludCBhcmUgcGFpZCBhbmQgbG9ja2VkIHRvIHRoZSB1c2VyLgAsUGFyYW1ldGVyczo5AS0gYHBvc2l0aW9uX2lkYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHBvc2l0aW9uIHdoaWNoIHN0YWtlIHdpbGwgYmUgaW5jcmVhc2VkLnEBLSBgYW1vdW50YDogQW1vdW50IG9mIG5hdGl2ZSBhc3NldCB0byBiZSBhZGRlZCB0byBzdGFrZWQgYW1vdW50LiBgYW1vdW50YCBjYW4ndCBiZSB2ZXN0ZWQgb3I4YWxyZWFkeSBzdGFrZWQApEVtaXRzIGBTdGFrZUFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuABRjbGFpbQQBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAAzjgQ2xhaW0gcmV3YXJkcyBhY2N1bXVsYXRlZCBmb3Igc3BlY2lmaWMgc3Rha2luZyBwb3NpdGlvbi4AUQFGdW5jdGlvbiBjYWxjdWxhdGVzIGFtb3VudCBvZiByZXdhcmRzIHRvIHBheSBmb3Igc3BlY2lmaWVkIHN0YWtpbmcgcG9zaXRpb24gYmFzZWQgb25dAXRoZSBhbW91bnQgb2YgcG9pbnRzIHBvc2l0aW9uIGFjY3VtdWxhdGVkLiBGdW5jdGlvbiBhbHNvIHVubG9ja3MgYWxsIHRoZSByZXdhcmRzIGxvY2tlZOBmcm9tIGBpbmNyZWFzZV9zdGFrZWAgYmFzZWQgb24gdGhlIGFtb3VudCBvZiB0aGUgcG9pbnRzLgBpAVRoaXMgYWN0aW9uIGlzIHBlbmFsaXplZCBieSByZW1vdmluZyBhbGwgdGhlIHBvaW50cyBhbmQgcmV0dXJuaW5nIGFsbG9jYXRlZCB1bnBhaWQgcmV3YXJkc0xmb3IgcmVkaXN0cmlidXRpb24uACxQYXJhbWV0ZXJzOhUBLSBgcG9zaXRpb25faWRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgcG9zaXRpb24gdG8gY2xhaW0gcmV3YXJkcyBmb3IuALRFbWl0cyBgUmV3YXJkc0NsYWltZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AHHVuc3Rha2UEASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAQwSQFGdW5jdGlvbiBwYXlzIHJld2FyZHMsIHVubG9ja3MgYWxsIHRoZSBzdGFrZWQgYXNzZXRzIGFuZCBkZXN0cm95cyBzdGFraW5nIHBvc2l0aW9ubHNwZWNpZmllZCBieSBgcG9zaXRpb25faWRgLgBZAUZ1bmN0aW9uIGNhbGN1bGF0ZXMgYW5kIHBheXMgbGF0ZXN0IHJld2FyZHMsIHVubG9ja3MgYWxsIHRoZSBsb2NrZWQgcmV3YXJkcyBhbmQgc3Rha2VkIQF0b2tlbnMgZm9yIHN0YWtpbmcgcG9zaXRpb24gYW5kIGJ1cm5zIE5GVCByZXByZXNlbnRpbmcgc3Rha2luZyBwb3NpdGlvbi4hAVVucGFpZCBhbGxvY2F0ZWQgcmV3YXJkcyBhcmUgcmV0dXJuZWQgdG8gdGhlIFN0YWtpbmcgZm9yIHJlZGlzdHJpYnV0aW9uLgAsUGFyYW1ldGVyczoBAS0gYHBvc2l0aW9uX2lkYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHBvc2l0aW9uIHRvIGJlIGRlc3Ryb3llZC4A9EVtaXRzIGBSZXdhcmRzQ2xhaW1lZGAgYW5kIGBVbnN0YWtlZGAgZXZlbnRzIHdoZW4gc3VjY2Vzc2Z1bC4ABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLsEDDERwYWxsZXRfc3RhYmxlc3dhcBhwYWxsZXQQQ2FsbAQEVAABNCxjcmVhdGVfcG9vbBABLHNoYXJlX2Fzc2V0EAEoVDo6QXNzZXRJZAABGGFzc2V0c8UDAdBCb3VuZGVkVmVjPFQ6OkFzc2V0SWQsIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AAE0YW1wbGlmaWNhdGlvbtwBDHUxNgABDGZlZUkDARxQZXJtaWxsAAA4vENyZWF0ZSBhIHN0YWJsZSBwb29sIHdpdGggZ2l2ZW4gbGlzdCBvZiBhc3NldHMuAPhBbGwgYXNzZXRzIG11c3QgYmUgY29ycmVjdGx5IHJlZ2lzdGVyZWQgaW4gYFQ6OkFzc2V0UmVnaXN0cnlgLm0BTm90ZSB0aGF0IHRoaXMgZG9lcyBub3Qgc2VlZCB0aGUgcG9vbCB3aXRoIGxpcXVpZGl0eS4gVXNlIGBhZGRfYXNzZXRzX2xpcXVpZGl0eWAgdG8gcHJvdmlkZUhpbml0aWFsIGxpcXVpZGl0eS4ALFBhcmFtZXRlcnM6mC0gYG9yaWdpbmA6IE11c3QgYmUgVDo6QXV0aG9yaXR5T3JpZ2lu1C0gYHNoYXJlX2Fzc2V0YDogUHJlcmVnaXN0ZXJlZCBzaGFyZSBhc3NldCBpZGVudGlmaWVydC0gYGFzc2V0c2A6IExpc3Qgb2YgQXNzZXQgaWRzlC0gYGFtcGxpZmljYXRpb25gOiBQb29sIGFtcGxpZmljYXRpb27wLSBgZmVlYDogZmVlIHRvIGJlIGFwcGxpZWQgb24gdHJhZGUgYW5kIGxpcXVpZGl0eSBvcGVyYXRpb25zAKBFbWl0cyBgUG9vbENyZWF0ZWRgIGV2ZW50IGlmIHN1Y2Nlc3NmdWwuPHVwZGF0ZV9wb29sX2ZlZQgBHHBvb2xfaWQQAShUOjpBc3NldElkAAEMZmVlSQMBHFBlcm1pbGwAAShIVXBkYXRlIHBvb2wncyBmZWUuAMxpZiBwb29sIGRvZXMgbm90IGV4aXN0LCBgUG9vbE5vdEZvdW5kYCBpcyByZXR1cm5lZC4ALFBhcmFtZXRlcnM6mC0gYG9yaWdpbmA6IE11c3QgYmUgVDo6QXV0aG9yaXR5T3JpZ2lubC0gYHBvb2xfaWRgOiBwb29sIHRvIHVwZGF0ZVQtIGBmZWVgOiBuZXcgcG9vbCBmZWUAnEVtaXRzIGBGZWVVcGRhdGVkYCBldmVudCBpZiBzdWNjZXNzZnVsLlB1cGRhdGVfYW1wbGlmaWNhdGlvbhABHHBvb2xfaWQQAShUOjpBc3NldElkAAFMZmluYWxfYW1wbGlmaWNhdGlvbtwBDHUxNgABLHN0YXJ0X2Jsb2NrEAFEQmxvY2tOdW1iZXJGb3I8VD4AASRlbmRfYmxvY2sQAURCbG9ja051bWJlckZvcjxUPgACKHBVcGRhdGUgcG9vbCdzIGFtcGxpZmljYXRpb24uACxQYXJhbWV0ZXJzOpgtIGBvcmlnaW5gOiBNdXN0IGJlIFQ6OkF1dGhvcml0eU9yaWdpbmwtIGBwb29sX2lkYDogcG9vbCB0byB1cGRhdGXcLSBgZmluYWxfYW1wbGlmaWNhdGlvbmA6IG5ldyBkZXNpcmVkIHBvb2wgYW1wbGlmaWNhdGlvbnUBLSBgc3RhcnRfYmxvY2tgOiBibG9jayBudW1iZXIgd2hlbiB0aGUgYW1wbGlmaWNhdGlvbiBzdGFydHMgdG8gbW92ZSB0b3dhcmRzIGZpbmFsX2FtcGxpY2F0aW9uOQEtIGBlbmRfYmxvY2tgOiBibG9jayBudW1iZXIgd2hlbiB0aGUgYW1wbGlmaWNhdGlvbiByZWFjaGVzIGZpbmFsX2FtcGxpZmljYXRpb24AxEVtaXRzIGBBbXBsaWZpY2F0aW9uVXBkYXRlZGAgZXZlbnQgaWYgc3VjY2Vzc2Z1bC40YWRkX2xpcXVpZGl0eQgBHHBvb2xfaWQQAShUOjpBc3NldElkAAEYYXNzZXRzhQMBBQFCb3VuZGVkVmVjPEFzc2V0QW1vdW50PFQ6OkFzc2V0SWQ+LCBDb25zdFUzMjxNQVhfQVNTRVRTX0lOX1BPT0w+PgADUHxBZGQgbGlxdWlkaXR5IHRvIHNlbGVjdGVkIHBvb2wuAIxVc2UgYGFkZF9hc3NldHNfbGlxdWlkaXR5YCBpbnN0ZWFkLrhUaGlzIGV4dHJpbnNpY3Mgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBmdXR1cmUuADUBRmlyc3QgY2FsbCBvZiBgYWRkX2xpcXVpZGl0eWAgbXVzdCBwcm92aWRlICJpbml0aWFsIGxpcXVpZGl0eSIgb2YgYWxsIGFzc2V0cy4AhQFJZiB0aGVyZSBpcyBsaXF1aWRpdHkgYWxyZWFkeSBpbiB0aGUgcG9vbCwgTFAgY2FuIHByb3ZpZGUgbGlxdWlkaXR5IG9mIGFueSBudW1iZXIgb2YgcG9vbCBhc3NldHMuALRMUCBtdXN0IGhhdmUgc3VmZmljaWVudCBhbW91bnQgb2YgZWFjaCBhc3NldC4AvE9yaWdpbiBpcyBnaXZlbiBjb3JyZXNwb25kaW5nIGFtb3VudCBvZiBzaGFyZXMuACxQYXJhbWV0ZXJzOngtIGBvcmlnaW5gOiBsaXF1aWRpdHkgcHJvdmlkZXJQLSBgcG9vbF9pZGA6IFBvb2wgSWTILSBgYXNzZXRzYDogYXNzZXQgaWQgYW5kIGxpcXVpZGl0eSBhbW91bnQgcHJvdmlkZWQAtEVtaXRzIGBMaXF1aWRpdHlBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLlBhZGRfbGlxdWlkaXR5X3NoYXJlcxABHHBvb2xfaWQQAShUOjpBc3NldElkAAEYc2hhcmVzGAEcQmFsYW5jZQABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABQG1heF9hc3NldF9hbW91bnQYARxCYWxhbmNlAAQ8HQFBZGQgbGlxdWlkaXR5IHRvIHNlbGVjdGVkIHBvb2wgZ2l2ZW4gZXhhY3QgYW1vdW50IG9mIHNoYXJlcyB0byByZWNlaXZlLgA5AVNpbWlsYXIgdG8gYGFkZF9saXF1aWRpdHlgIGJ1dCBMUCBzcGVjaWZpZXMgZXhhY3QgYW1vdW50IG9mIHNoYXJlcyB0byByZWNlaXZlLgDdAVRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1c2VkIG1haW5seSBieSBvbi1jaGFpbiByb3V0aW5nIHdoZW4gYSBzd2FwIGJldHdlZW4gT21uaXBvb2wgYXNzZXQgYW5kIHN0YWJsZSBhc3NldCBpcyBwZXJmb3JtZWQuACxQYXJhbWV0ZXJzOngtIGBvcmlnaW5gOiBsaXF1aWRpdHkgcHJvdmlkZXJQLSBgcG9vbF9pZGA6IFBvb2wgSWScLSBgc2hhcmVzYDogYW1vdW50IG9mIHNoYXJlcyB0byByZWNlaXZl6C0gYGFzc2V0X2lkYDogYXNzZXQgaWQgb2YgYW4gYXNzZXQgdG8gcHJvdmlkZSBhcyBsaXF1aWRpdHnoLSBgbWF4X2Fzc2V0X2Ftb3VudGA6IHNsaXBwYWdlIGxpbWl0LiBNYXggYW1vdW50IG9mIGFzc2V0LgC0RW1pdHMgYExpcXVpZGl0eUFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuaHJlbW92ZV9saXF1aWRpdHlfb25lX2Fzc2V0EAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAATBzaGFyZV9hbW91bnQYARxCYWxhbmNlAAE4bWluX2Ftb3VudF9vdXQYARxCYWxhbmNlAAVEkFJlbW92ZSBsaXF1aWRpdHkgZnJvbSBzZWxlY3RlZCBwb29sLgDIV2l0aGRyYXdzIGxpcXVpZGl0eSBvZiBzZWxlY3RlZCBhc3NldCBmcm9tIGEgcG9vbC4AMQFTaGFyZSBhbW91bnQgaXMgYnVybmVkIGFuZCBMUCByZWNlaXZlcyBjb3JyZXNwb25kaW5nIGFtb3VudCBvZiBjaG9zZW4gYXNzZXQuALBXaXRoZHJhdyBmZWUgaXMgYXBwbGllZCB0byB0aGUgYXNzZXQgYW1vdW50LgAsUGFyYW1ldGVyczp4LSBgb3JpZ2luYDogbGlxdWlkaXR5IHByb3ZpZGVyUC0gYHBvb2xfaWRgOiBQb29sIElkkC0gYGFzc2V0X2lkYDogaWQgb2YgYXNzZXQgdG8gcmVjZWl2ZbgtICdzaGFyZV9hbW91bnQnOiBhbW91bnQgb2Ygc2hhcmVzIHRvIHdpdGhkcmF3tC0gJ21pbl9hbW91bnRfb3V0JzogbWluaW11bSBhbW91bnQgdG8gcmVjZWl2ZQC8RW1pdHMgYExpcXVpZGl0eVJlbW92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC7gRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5Ud2l0aGRyYXdfYXNzZXRfYW1vdW50EAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAFAbWF4X3NoYXJlX2Ftb3VudBgBHEJhbGFuY2UABjRNAVJlbW92ZSBsaXF1aWRpdHkgZnJvbSBzZWxlY3RlZCBwb29sIGJ5IHNwZWNpZnlpbmcgZXhhY3QgYW1vdW50IG9mIGFzc2V0IHRvIHJlY2VpdmUuAMkBU2ltaWxhciB0byBgcmVtb3ZlX2xpcXVpZGl0eV9vbmVfYXNzZXRgIGJ1dCBMUCBzcGVjaWZpZXMgZXhhY3QgYW1vdW50IG9mIGFzc2V0IHRvIHJlY2VpdmUgaW5zdGVhZCBvZiBzaGFyZSBhbW91bnQuACxQYXJhbWV0ZXJzOngtIGBvcmlnaW5gOiBsaXF1aWRpdHkgcHJvdmlkZXJQLSBgcG9vbF9pZGA6IFBvb2wgSWSQLSBgYXNzZXRfaWRgOiBpZCBvZiBhc3NldCB0byByZWNlaXZlmC0gJ2Ftb3VudCc6IGFtb3VudCBvZiBhc3NldCB0byByZWNlaXZlDQEtICdtYXhfc2hhcmVfYW1vdW50JzogU2xpcHBhZ2UgbGltaXQuIE1heCBhbW91bnQgb2Ygc2hhcmVzIHRvIGJ1cm4uALxFbWl0cyBgTGlxdWlkaXR5UmVtb3ZlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLhBzZWxsFAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABOG1pbl9idXlfYW1vdW50GAEcQmFsYW5jZQAHNLRFeGVjdXRlIGEgc3dhcCBvZiBgYXNzZXRfaW5gIGZvciBgYXNzZXRfb3V0YC4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IG9yaWdpbiBvZiB0aGUgY2FsbGVyZC0gYHBvb2xfaWRgOiBJZCBvZiBhIHBvb2yoLSBgYXNzZXRfaW5gOiBJRCBvZiBhc3NldCBzb2xkIHRvIHRoZSBwb29svC0gYGFzc2V0X291dGA6IElEIG9mIGFzc2V0IGJvdWdodCBmcm9tIHRoZSBwb29s1C0gYGFtb3VudF9pbmA6IEFtb3VudCBvZiBhc3NldCB0byBiZSBzb2xkIHRvIHRoZSBwb29s2C0gYG1pbl9idXlfYW1vdW50YDogTWluaW11bSBhbW91bnQgcmVxdWlyZWQgdG8gcmVjZWl2ZQDcRW1pdHMgYFNlbGxFeGVjdXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAMYnV5FAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEoYW1vdW50X291dBgBHEJhbGFuY2UAATxtYXhfc2VsbF9hbW91bnQYARxCYWxhbmNlAAg0tEV4ZWN1dGUgYSBzd2FwIG9mIGBhc3NldF9vdXRgIGZvciBgYXNzZXRfaW5gLgAsUGFyYW1ldGVyczosLSBgb3JpZ2luYDpkLSBgcG9vbF9pZGA6IElkIG9mIGEgcG9vbLwtIGBhc3NldF9vdXRgOiBJRCBvZiBhc3NldCBib3VnaHQgZnJvbSB0aGUgcG9vbKgtIGBhc3NldF9pbmA6IElEIG9mIGFzc2V0IHNvbGQgdG8gdGhlIHBvb2zgLSBgYW1vdW50X291dGA6IEFtb3VudCBvZiBhc3NldCB0byByZWNlaXZlIGZyb20gdGhlIHBvb2zYLSBgbWF4X3NlbGxfYW1vdW50YDogTWF4aW11bSBhbW91bnQgYWxsb3dlZCB0byBiZSBzb2xkANhFbWl0cyBgQnV5RXhlY3V0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7gRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AYHNldF9hc3NldF90cmFkYWJsZV9zdGF0ZQwBHHBvb2xfaWQQAShUOjpBc3NldElkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEUc3RhdGXJAwEsVHJhZGFiaWxpdHkACUDgVXBkYXRlIHRoZSB0cmFkYWJsZSBzdGF0ZSBvZiBhIHNwZWNpZmljIGFzc2V0IGluIGEgcG9vbC4AnQNUaGlzIGZ1bmN0aW9uIGFsbG93cyB1cGRhdGluZyB0aGUgdHJhZGFiaWxpdHkgc3RhdGUgb2YgYW4gYXNzZXQgd2l0aGluIGEgcG9vbC4gVGhlIHRyYWRhYmlsaXR5IHN0YXRlIGRldGVybWluZXMgd2hldGhlciB0aGUgYXNzZXQgY2FuIGJlIHVzZWQgZm9yIHNwZWNpZmljIG9wZXJhdGlvbnMgc3VjaCBhcyBhZGRpbmcgbGlxdWlkaXR5LCByZW1vdmluZyBsaXF1aWRpdHksIGJ1eWluZywgb3Igc2VsbGluZy4ALFBhcmFtZXRlcnM6xC0gYG9yaWdpbmA6IE11c3QgYmUgYFQ6OlVwZGF0ZVRyYWRhYmlsaXR5T3JpZ2luYC7ULSBgcG9vbF9pZGA6IFRoZSBJRCBvZiB0aGUgcG9vbCBjb250YWluaW5nIHRoZSBhc3NldC4tAS0gYGFzc2V0X2lkYDogVGhlIElEIG9mIHRoZSBhc3NldCB3aG9zZSB0cmFkYWJpbGl0eSBzdGF0ZSBpcyB0byBiZSB1cGRhdGVkLsgtIGBzdGF0ZWA6IFRoZSBuZXcgdHJhZGFiaWxpdHkgc3RhdGUgb2YgdGhlIGFzc2V0LgDMRW1pdHMgYFRyYWRhYmxlU3RhdGVVcGRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuACAjIEVycm9yc9wtIGBQb29sTm90Rm91bmRgOiBJZiB0aGUgc3BlY2lmaWVkIHBvb2wgZG9lcyBub3QgZXhpc3QuDQEtIGBBc3NldE5vdEluUG9vbGA6IElmIHRoZSBzcGVjaWZpZWQgYXNzZXQgaXMgbm90IHBhcnQgb2YgdGhlIHBvb2wuAEByZW1vdmVfbGlxdWlkaXR5DAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAATBzaGFyZV9hbW91bnQYARxCYWxhbmNlAAE8bWluX2Ftb3VudHNfb3V0hQMBBQFCb3VuZGVkVmVjPEFzc2V0QW1vdW50PFQ6OkFzc2V0SWQ+LCBDb25zdFUzMjxNQVhfQVNTRVRTX0lOX1BPT0w+PgAKbMBSZW1vdmUgbGlxdWlkaXR5IGZyb20gYSBzZWxlY3RlZCBwb29sIHVuaWZvcm1seS4AMQFUaGlzIGZ1bmN0aW9uIGFsbG93cyBhIGxpcXVpZGl0eSBwcm92aWRlciB0byB3aXRoZHJhdyBsaXF1aWRpdHkgZnJvbSBhIHBvb2wulQFUaGUgcHJvdmlkZXIgc3BlY2lmaWVzIHRoZSBhbW91bnQgb2Ygc2hhcmVzIHRvIGJ1cm4gYW5kIHRoZSBtaW5pbXVtIGFtb3VudHMgb2YgZWFjaCBhc3NldCB0byByZWNlaXZlLgAsUGFyYW1ldGVyczqMLSBgb3JpZ2luYDogVGhlIGxpcXVpZGl0eSBwcm92aWRlci78LSBgcG9vbF9pZGA6IFRoZSBJRCBvZiB0aGUgcG9vbCBmcm9tIHdoaWNoIHRvIHJlbW92ZSBsaXF1aWRpdHkuvC0gYHNoYXJlX2Ftb3VudGA6IFRoZSBhbW91bnQgb2Ygc2hhcmVzIHRvIGJ1cm4ueQEtIGBtaW5fYW1vdW50c19vdXRgOiBBIGJvdW5kZWQgdmVjdG9yIHNwZWNpZnlpbmcgdGhlIG1pbmltdW0gYW1vdW50cyBvZiBlYWNoIGFzc2V0IHRvIHJlY2VpdmUuALxFbWl0cyBgTGlxdWlkaXR5UmVtb3ZlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAgIyBFcnJvcnPYLSBgSW52YWxpZEFzc2V0QW1vdW50YDogSWYgdGhlIGBzaGFyZV9hbW91bnRgIGlzIHplcm8uEQEtIGBJbnN1ZmZpY2llbnRTaGFyZXNgOiBJZiB0aGUgcHJvdmlkZXIgZG9lcyBub3QgaGF2ZSBlbm91Z2ggc2hhcmVzLtwtIGBQb29sTm90Rm91bmRgOiBJZiB0aGUgc3BlY2lmaWVkIHBvb2wgZG9lcyBub3QgZXhpc3Qu/C0gYFVua25vd25EZWNpbWFsc2A6IElmIHRoZSBhc3NldCBkZWNpbWFscyBjYW5ub3QgYmUgcmV0cmlldmVkLlkBLSBgSW5jb3JyZWN0QXNzZXRzYDogSWYgdGhlIHByb3ZpZGVkIGBtaW5fYW1vdW50c19vdXRgIGRvZXMgbm90IG1hdGNoIHRoZSBwb29sIGFzc2V0cy74LSBgTm90QWxsb3dlZGA6IElmIHRoZSBhc3NldCBpcyBub3QgYWxsb3dlZCBmb3IgdGhlIG9wZXJhdGlvbi5RAS0gYFNsaXBwYWdlTGltaXRgOiBJZiB0aGUgYW1vdW50IHJlY2VpdmVkIGlzIGxlc3MgdGhhbiB0aGUgc3BlY2lmaWVkIG1pbmltdW0gYW1vdW50LqUBLSBgSW5zdWZmaWNpZW50TGlxdWlkaXR5UmVtYWluaW5nYDogSWYgdGhlIHJlbWFpbmluZyBsaXF1aWRpdHkgaW4gdGhlIHBvb2wgaXMgYmVsb3cgdGhlIG1pbmltdW0gcmVxdWlyZWQuADAjIEludmFyaWFudHNFAS0gRW5zdXJlcyB0aGF0IHRoZSBwb29sJ3MgcmVzZXJ2ZXMgYXJlIHVwZGF0ZWQgY29ycmVjdGx5IGFmdGVyIGxpcXVpZGl0eSByZW1vdmFsLsgtIEVuc3VyZXMgdGhhdCB0aGUgcG9vbCdzIGludmFyaWFudCBpcyBtYWludGFpbmVkLlRjcmVhdGVfcG9vbF93aXRoX3BlZ3MYASxzaGFyZV9hc3NldBABKFQ6OkFzc2V0SWQAARhhc3NldHPFAwHQQm91bmRlZFZlYzxUOjpBc3NldElkLCBDb25zdFUzMjxNQVhfQVNTRVRTX0lOX1BPT0w+PgABNGFtcGxpZmljYXRpb27cAQx1MTYAAQxmZWVJAwEcUGVybWlsbAABKHBlZ19zb3VyY2XNAwF0Qm91bmRlZFBlZ1NvdXJjZXM8VDo6QXNzZXRJZD4AAThtYXhfcGVnX3VwZGF0ZUkDARxQZXJtaWxsAAt06ENyZWF0ZSBhIHN0YWJsZSBwb29sIHdpdGggYSBnaXZlbiBsaXN0IG9mIGFzc2V0cyBhbmQgcGVncy4AbQJUaGlzIGZ1bmN0aW9uIGFsbG93cyB0aGUgY3JlYXRpb24gb2YgYSBuZXcgc3RhYmxlIHBvb2wgd2l0aCBzcGVjaWZpZWQgYXNzZXRzLCBhbXBsaWZpY2F0aW9uLCBmZWUsIGFuZCBwZWcgc291cmNlcy4gVGhlIHBvb2wgaXMgaWRlbnRpZmllZCBieSBhIHNoYXJlIGFzc2V0LgCNAlBlZyB0YXJnZXQgcHJpY2UgaXMgZGV0ZXJtaW5lZCBieSByZXRyaWV2aW5nIHRoZSB0YXJnZXQgcGVnIGZyb20gdGhlIG9yYWNsZSAtIGl0IGlzIHRoZSBwcmljZSBvZiB0aGUgYXNzZXQgZnJvbSB0aGUgcGVnIHNvdXJjZWRlbm9taW5hdGVkIGluIHRoZSBvdGhlciBwb29sIGFzc2V0cy4ALFBhcmFtZXRlcnM6pC0gYG9yaWdpbmA6IE11c3QgYmUgYFQ6OkF1dGhvcml0eU9yaWdpbmAu2C0gYHNoYXJlX2Fzc2V0YDogUHJlcmVnaXN0ZXJlZCBzaGFyZSBhc3NldCBpZGVudGlmaWVyLuQtIGBhc3NldHNgOiBMaXN0IG9mIGFzc2V0IElEcyB0byBiZSBpbmNsdWRlZCBpbiB0aGUgcG9vbC7ALSBgYW1wbGlmaWNhdGlvbmA6IFBvb2wgYW1wbGlmaWNhdGlvbiBwYXJhbWV0ZXIu9C0gYGZlZWA6IEZlZSB0byBiZSBhcHBsaWVkIG9uIHRyYWRlIGFuZCBsaXF1aWRpdHkgb3BlcmF0aW9ucy49AS0gYHBlZ19zb3VyY2VgOiBCb3VuZGVkIHZlY3RvciBzcGVjaWZ5aW5nIHRoZSBzb3VyY2Ugb2YgdGhlIHBlZyBmb3IgZWFjaCBhc3NldC7kLSBgbWF4X3BlZ191cGRhdGVgOiBNYXhpbXVtIGFsbG93ZWQgcGVnIHVwZGF0ZSBwZXIgYmxvY2suAKBFbWl0cyBgUG9vbENyZWF0ZWRgIGV2ZW50IGlmIHN1Y2Nlc3NmdWwuyEVtaXRzIGBBbXBsaWZpY2F0aW9uQ2hhbmdpbmdgIGV2ZW50IGlmIHN1Y2Nlc3NmdWwuACAjIEVycm9yc00BLSBgSW5jb3JyZWN0QXNzZXRzYDogSWYgdGhlIGFzc2V0cyBhcmUgdGhlIHNhbWUgb3IgbGVzcyB0aGFuIDIgYXNzZXRzIGFyZSBwcm92aWRlZC4NAS0gYE1heEFzc2V0c0V4Y2VlZGVkYDogSWYgdGhlIG1heGltdW0gbnVtYmVyIG9mIGFzc2V0cyBpcyBleGNlZWRlZC78LSBgUG9vbEV4aXN0c2A6IElmIGEgcG9vbCB3aXRoIHRoZSBnaXZlbiBhc3NldHMgYWxyZWFkeSBleGlzdHMuIQEtIGBTaGFyZUFzc2V0SW5Qb29sQXNzZXRzYDogSWYgdGhlIHNoYXJlIGFzc2V0IGlzIGFtb25nIHRoZSBwb29sIGFzc2V0cy5ZAS0gYEFzc2V0Tm90UmVnaXN0ZXJlZGA6IElmIG9uZSBvciBtb3JlIGFzc2V0cyBhcmUgbm90IHJlZ2lzdGVyZWQgaW4gdGhlIEFzc2V0UmVnaXN0cnkuEQEtIGBJbnZhbGlkQW1wbGlmaWNhdGlvbmA6IElmIHRoZSBhbXBsaWZpY2F0aW9uIHBhcmFtZXRlciBpcyBpbnZhbGlkLvAtIGBJbmNvcnJlY3RJbml0aWFsUGVnc2A6IElmIHRoZSBpbml0aWFsIHBlZ3MgYXJlIGluY29ycmVjdC4ZAS0gYE1pc3NpbmdUYXJnZXRQZWdPcmFjbGVgOiBJZiB0aGUgdGFyZ2V0IHBlZyBvcmFjbGUgZW50cnkgaXMgbWlzc2luZy4JAS0gYEluY29ycmVjdEFzc2V0RGVjaW1hbHNgOiBJZiB0aGUgYXNzZXRzIGhhdmUgZGlmZmVyZW50IGRlY2ltYWxzLgBQYWRkX2Fzc2V0c19saXF1aWRpdHkMARxwb29sX2lkEAEoVDo6QXNzZXRJZAABGGFzc2V0c4UDAQUBQm91bmRlZFZlYzxBc3NldEFtb3VudDxUOjpBc3NldElkPiwgQ29uc3RVMzI8TUFYX0FTU0VUU19JTl9QT09MPj4AAShtaW5fc2hhcmVzGAEcQmFsYW5jZQAMSHxBZGQgbGlxdWlkaXR5IHRvIHNlbGVjdGVkIHBvb2wuAFEBRmlyc3QgY2FsbCBvZiBgYWRkX2Fzc2V0c19saXF1aWRpdHlgIG11c3QgcHJvdmlkZSAiaW5pdGlhbCBsaXF1aWRpdHkiIG9mIGFsbCBhc3NldHMuAIUBSWYgdGhlcmUgaXMgbGlxdWlkaXR5IGFscmVhZHkgaW4gdGhlIHBvb2wsIExQIGNhbiBwcm92aWRlIGxpcXVpZGl0eSBvZiBhbnkgbnVtYmVyIG9mIHBvb2wgYXNzZXRzLgC0TFAgbXVzdCBoYXZlIHN1ZmZpY2llbnQgYW1vdW50IG9mIGVhY2ggYXNzZXQuALxPcmlnaW4gaXMgZ2l2ZW4gY29ycmVzcG9uZGluZyBhbW91bnQgb2Ygc2hhcmVzLgAsUGFyYW1ldGVyczp4LSBgb3JpZ2luYDogbGlxdWlkaXR5IHByb3ZpZGVyUC0gYHBvb2xfaWRgOiBQb29sIElkyC0gYGFzc2V0c2A6IGFzc2V0IGlkIGFuZCBsaXF1aWRpdHkgYW1vdW50IHByb3ZpZGVkzC0gYG1pbl9zaGFyZXNgOiBtaW5pbXVtIGFtb3VudCBvZiBzaGFyZXMgdG8gcmVjZWl2ZQC0RW1pdHMgYExpcXVpZGl0eUFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLsUDDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBEARTAAAEAIEDARhWZWM8VD4AAMkDDERwYWxsZXRfc3RhYmxlc3dhcBR0eXBlcyxUcmFkYWJpbGl0eQAABAEQYml0cwgBCHU4AADNAwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAdEDBFMAAAQA3QMBGFZlYzxUPgAA0QMMRHBhbGxldF9zdGFibGVzd2FwFHR5cGVzJFBlZ1NvdXJjZQQcQXNzZXRJZAEQAQgUVmFsdWUEAFEDARxQZWdUeXBlAAAAGE9yYWNsZQQA1QMBfChTb3VyY2UsIE9yYWNsZVBlcmlvZCwgQXNzZXRJZCkAAQAA1QMAAAQMFQLZAxAA2QMMOGh5ZHJhZHhfdHJhaXRzGG9yYWNsZTBPcmFjbGVQZXJpb2QAARgkTGFzdEJsb2NrAAAAFFNob3J0AAEAKFRlbk1pbnV0ZXMAAgAQSG91cgADAAxEYXkABAAQV2VlawAFAADdAwAAAtEDAOEDDDBwYWxsZXRfYm9uZHMYcGFsbGV0EENhbGwEBFQAAQgUaXNzdWUMASBhc3NldF9pZBABHEFzc2V0SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEgbWF0dXJpdHkwARhNb21lbnQAAFRkSXNzdWUgbmV3IGZ1bmdpYmxlIGJvbmRzLtROZXcgYXNzZXQgaWQgaXMgcmVnaXN0ZXJlZCBhbmQgYXNzaWduZWQgdG8gdGhlIGJvbmRzLlkBVGhlIG51bWJlciBvZiBib25kcyB0aGUgaXNzdWVyIHJlY2VpdmVzIGlzIDE6MSB0byB0aGUgYGFtb3VudGAgb2YgdGhlIHVuZGVybHlpbmcgYXNzZXRcbWludXMgdGhlIHByb3RvY29sIGZlZS4ZAVRoZSBib25kIGFzc2V0IGlzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgZW1wdHkgc3RyaW5nIGZvciB0aGUgYXNzZXQgbmFtZSwFAWFuZCB3aXRoIHRoZSBzYW1lIGV4aXN0ZW50aWFsIGRlcG9zaXQgYXMgb2YgdGhlIHVuZGVybHlpbmcgYXNzZXQu7EJvbmRzIGNhbiBiZSByZWRlZW1lZCBmb3IgdGhlIHVuZGVybHlpbmcgYXNzZXQgb25jZSBtYXR1cmUuLQFQcm90b2NvbCBmZWUgaXMgYXBwbGllZCB0byB0aGUgYW1vdW50LCBhbmQgdHJhbnNmZXJyZWQgdG8gYFQ6OkZlZVJlY2VpdmVyYC5pAVdoZW4gaXNzdWluZyBuZXcgYm9uZHMgd2l0aCB0aGUgdW5kZXJseWluZyBhc3NldCBhbmQgbWF0dXJpdHkgdGhhdCBtYXRjaGVzIGV4aXN0aW5nIGJvbmRzLD0BbmV3IGFtb3VudCBvZiB0aGVzZSBleGlzdGluZyBib25kcyBpcyBpc3N1ZWQsIGluc3RlYWQgb2YgcmVnaXN0ZXJpbmcgbmV3IGJvbmRzLg0BSXQncyBwb3NzaWJsZSB0byBpc3N1ZSBuZXcgYm9uZHMgZm9yIGJvbmRzIHRoYXQgYXJlIGFscmVhZHkgbWF0dXJlLgAsUGFyYW1ldGVyczr0LSBgb3JpZ2luYDogaXNzdWVyIG9mIG5ldyBib25kcywgbmVlZHMgdG8gYmUgYFQ6Oklzc3VlT3JpZ2luYIQtIGBhc3NldF9pZGA6IHVuZGVybHlpbmcgYXNzZXQgaWS4LSBgYW1vdW50YDogdGhlIGFtb3VudCBvZiB0aGUgdW5kZXJseWluZyBhc3NldB0BLSBgbWF0dXJpdHlgOiBVbml4IHRpbWUgaW4gbWlsbGlzZWNvbmRzLCB3aGVuIHRoZSBib25kcyB3aWxsIGJlIG1hdHVyZS4ANQFFbWl0cyBgQm9uZFRva2VuQ3JlYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsIGFuZCBuZXcgYm9uZHMgd2VyZSByZWdpc3RlcmVkLqhFbWl0cyBgQm9uZHNJc3N1ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AGHJlZGVlbQgBHGJvbmRfaWQQARxBc3NldElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABMJhSZWRlZW0gYm9uZHMgZm9yIHRoZSB1bmRlcmx5aW5nIGFzc2V0LnUBVGhlIGFtb3VudCBvZiB0aGUgdW5kZXJseWluZyBhc3NldCB0aGUgYG9yaWdpbmAgcmVjZWl2ZXMgaXMgMToxIHRvIHRoZSBgYW1vdW50YCBvZiB0aGUgYm9uZHMuyEFueW9uZSB3aG8gaG9sZHMgdGhlIGJvbmRzIGlzIGFibGUgdG8gcmVkZWVtIHRoZW0uuEJvbmRzIGNhbiBiZSBib3RoIHBhcnRpYWxseSBvciBmdWxseSByZWRlZW1lZC4ALFBhcmFtZXRlcnM6WC0gYG9yaWdpbmA6IGFjY291bnQgaWRsLSBgYXNzZXRfaWRgOiBib25kIGFzc2V0IGlkGQEtIGBhbW91bnRgOiB0aGUgYW1vdW50IG9mIHRoZSBib25kcyB0byByZWRlZW0gZm9yIHRoZSB1bmRlcmx5aW5nIGFzc2V0ALBFbWl0cyBgQm9uZHNSZWRlZW1lZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu5QMMWHBhbGxldF9vdGNfc2V0dGxlbWVudHMYcGFsbGV0EENhbGwEBFQAAQRAc2V0dGxlX290Y19vcmRlcgwBGG90Y19pZBABHE9yZGVySWQAARhhbW91bnQYARxCYWxhbmNlAAEUcm91dGWlAwFMUm91dGU8QXNzZXRJZE9mPFQ+PgAAULBDbG9zZSBhbiBleGlzdGluZyBPVEMgYXJiaXRyYWdlIG9wcG9ydHVuaXR5LgDURXhlY3V0ZXMgYSB0cmFkZSBiZXR3ZWVuIGFuIE9UQyBvcmRlciBhbmQgc29tZSByb3V0ZS5VAUlmIHRoZSBPVEMgb3JkZXIgaXMgcGFydGlhbGx5IGZpbGxhYmxlLCB0aGUgZXh0cmluc2ljIGZhaWxzIGlmIHRoZSBleGlzdGluZyBhcmJpdHJhZ2XUb3Bwb3J0dW5pdHkgaXMgbm90IGNsb3NlZCBvciByZWR1Y2VkIGFmdGVyIHRoZSB0cmFkZS5hAUlmIHRoZSBPVEMgb3JkZXIgaXMgbm90IHBhcnRpYWxseSBmaWxsYWJsZSwgZmFpbHMgaWYgdGhlcmUgaXMgbm8gcHJvZml0IGFmdGVyIHRoZSB0cmFkZS4AEQFgT3JpZ2luYCBjYWxsaW5nIHRoaXMgZXh0cmluc2ljIGlzIG5vdCBwYXlpbmcgb3IgcmVjZWl2aW5nIGFueXRoaW5nLgAlAVRoZSBwcm9maXQgbWFkZSBieSBjbG9zaW5nIHRoZSBhcmJpdHJhZ2UgaXMgdHJhbnNmZXJyZWQgdG8gYEZlZVJlY2VpdmVyYC4ALFBhcmFtZXRlcnM6OQEtIGBvcmlnaW5gOiBTaWduZWQgb3IgdW5zaWduZWQgb3JpZ2luLiBVbnNpZ25lZCBvcmlnaW4gZG9lc24ndCBwYXkgdGhlIFRYIGZlZSysCQkJYnV0IGNhbiBiZSBzdWJtaXR0ZWQgb25seSBieSBhIGNvbGxhdG9yLhEBLSBgb3RjX2lkYDogSUQgb2YgdGhlIE9UQyBvcmRlciB3aXRoIGV4aXN0aW5nIGFyYml0cmFnZSBvcHBvcnR1bml0eS64LSBgYW1vdW50YDogQW1vdW50IG5lY2Vzc2FyeSB0byBjbG9zZSB0aGUgYXJiLiEBLSBgcm91dGVgOiBUaGUgcm91dGUgd2UgdHJhZGUgYWdhaW5zdC4gUmVxdWlyZWQgZm9yIHRoZSBmZWUgY2FsY3VsYXRpb24uAJxFbWl0cyBgRXhlY3V0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLukDDChwYWxsZXRfbGJwGHBhbGxldBBDYWxsBARUAAEYLGNyZWF0ZV9wb29sLAEocG9vbF9vd25lcgABMFQ6OkFjY291bnRJZAABHGFzc2V0X2EQARxBc3NldElkAAE4YXNzZXRfYV9hbW91bnQYARxCYWxhbmNlAAEcYXNzZXRfYhABHEFzc2V0SWQAAThhc3NldF9iX2Ftb3VudBgBHEJhbGFuY2UAAThpbml0aWFsX3dlaWdodBABJExCUFdlaWdodAABMGZpbmFsX3dlaWdodBABJExCUFdlaWdodAABMHdlaWdodF9jdXJ2Ze0DATxXZWlnaHRDdXJ2ZVR5cGUAAQxmZWV1AwEoKHUzMiwgdTMyKQABNGZlZV9jb2xsZWN0b3IAATBUOjpBY2NvdW50SWQAATByZXBheV90YXJnZXQYARxCYWxhbmNlAACE/ENyZWF0ZSBhIG5ldyBsaXF1aWRpdHkgYm9vdHN0cmFwcGluZyBwb29sIGZvciBnaXZlbiBhc3NldCBwYWlyLgDYRm9yIGFueSBhc3NldCBwYWlyLCBvbmx5IG9uZSBwb29sIGNhbiBleGlzdCBhdCBhIHRpbWUuAAEBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFQ6OkNyZWF0ZVBvb2xPcmlnaW5gLlUBVGhlIHBvb2wgaXMgY3JlYXRlZCB3aXRoIGluaXRpYWwgbGlxdWlkaXR5IHByb3ZpZGVkIGJ5IHRoZSBgcG9vbF9vd25lcmAgd2hvIG11c3QgaGF2ZVhzdWZmaWNpZW50IGZ1bmRzIGZyZWUuAKEBVGhlIHBvb2wgc3RhcnRzIHVuaW5pdGlhbGl6ZWQgYW5kIHVwZGF0ZV9wb29sIGNhbGwgc2hvdWxkIGJlIGNhbGxlZCBvbmNlIGNyZWF0ZWQgdG8gc2V0IHRoZSBzdGFydCBibG9jay4AOQFUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBkaXNwYXRjaGVkIGZyb20gZ292ZXJuaW5nIGVudGl0eSBgVDo6Q3JlYXRlUG9vbE9yaWdpbmAALFBhcmFtZXRlcnM6xC0gYHBvb2xfb3duZXJgOiB0aGUgZnV0dXJlIG93bmVyIG9mIHRoZSBuZXcgcG9vbC4hAS0gYGFzc2V0X2FgOiB7IGFzc2V0X2lkLCBhbW91bnQgfSBBc3NldCBJRCBhbmQgaW5pdGlhbCBsaXF1aWRpdHkgYW1vdW50LiEBLSBgYXNzZXRfYmA6IHsgYXNzZXRfaWQsIGFtb3VudCB9IEFzc2V0IElEIGFuZCBpbml0aWFsIGxpcXVpZGl0eSBhbW91bnQuoQEtIGBpbml0aWFsX3dlaWdodGA6IEluaXRpYWwgd2VpZ2h0IG9mIHRoZSBhc3NldF9hLiAxXzAwMF8wMDAgY29ycmVzcG9uZGluZyB0byAxJSBhbmQgMTAwXzAwMF8wMDAgdG8gMTAwJZx0aGlzIHNob3VsZCBiZSBoaWdoZXIgdGhhbiBmaW5hbCB3ZWlnaHSRAS0gYGZpbmFsX3dlaWdodGA6IEZpbmFsIHdlaWdodCBvZiB0aGUgYXNzZXRfYS4gMV8wMDBfMDAwIGNvcnJlc3BvbmRpbmcgdG8gMSUgYW5kIDEwMF8wMDBfMDAwIHRvIDEwMCWgdGhpcyBzaG91bGQgYmUgbG93ZXIgdGhhbiBpbml0aWFsIHdlaWdodEEBLSBgd2VpZ2h0X2N1cnZlYDogVGhlIHdlaWdodCBmdW5jdGlvbiB1c2VkIHRvIHVwZGF0ZSB0aGUgTEJQIHdlaWdodHMuIEN1cnJlbnRseSwNAXRoZXJlIGlzIG9ubHkgb25lIHdlaWdodCBmdW5jdGlvbiBpbXBsZW1lbnRlZCwgdGhlIGxpbmVhciBmdW5jdGlvbi49AS0gYGZlZWA6IFRoZSB0cmFkaW5nIGZlZSBjaGFyZ2VkIG9uIGV2ZXJ5IHRyYWRlIGRpc3RyaWJ1dGVkIHRvIGBmZWVfY29sbGVjdG9yYC4lAS0gYGZlZV9jb2xsZWN0b3JgOiBUaGUgYWNjb3VudCB0byB3aGljaCB0cmFkaW5nIGZlZXMgd2lsbCBiZSB0cmFuc2ZlcnJlZC6dAS0gYHJlcGF5X3RhcmdldGA6IFRoZSBhbW91bnQgb2YgdG9rZW5zIHRvIHJlcGF5IHRvIHNlcGFyYXRlIGZlZV9jb2xsZWN0b3IgYWNjb3VudC4gVW50aWwgdGhpcyBhbW91bnQgaXP0cmVhY2hlZCwgZmVlIHdpbGwgYmUgaW5jcmVhc2VkIHRvIDIwJSBhbmQgdGFrZW4gZnJvbSB0aGUgcG9vbACoRW1pdHMgYFBvb2xDcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAJ0BQkVXQVJFOiBXZSBhcmUgdGFraW5nIHRoZSBmZWUgZnJvbSB0aGUgYWNjdW11bGF0ZWQgYXNzZXQuIElmIHRoZSBhY2N1bXVsYXRlZCBhc3NldCBpcyBzb2xkIHRvIHRoZSBwb29sLHkBdGhlIGZlZSBjb3N0IGlzIHRyYW5zZmVycmVkIHRvIHRoZSBwb29sLiBJZiBpdHMgYm91Z2h0IGZyb20gdGhlIHBvb2wgdGhlIGJ1eWVyIGJlYXJzIHRoZSBjb3N0LmkBVGhpcyBpbmNyZWFzZXMgdGhlIHByaWNlIG9mIHRoZSBzb2xkIGFzc2V0IG9uIGV2ZXJ5IHRyYWRlLiBNYWtlIHN1cmUgdG8gb25seSBydW4gdGhpcyB3aXRobHByZXZpb3VzbHkgaWxsaXF1aWQgYXNzZXRzLkB1cGRhdGVfcG9vbF9kYXRhJAEccG9vbF9pZAABJFBvb2xJZDxUPgABKHBvb2xfb3duZXIBAQFQT3B0aW9uPFQ6OkFjY291bnRJZD4AARRzdGFydG0BAWRPcHRpb248QmxvY2tOdW1iZXJGb3I8VD4+AAEMZW5kbQEBZE9wdGlvbjxCbG9ja051bWJlckZvcjxUPj4AAThpbml0aWFsX3dlaWdodG0BAURPcHRpb248TEJQV2VpZ2h0PgABMGZpbmFsX3dlaWdodG0BAURPcHRpb248TEJQV2VpZ2h0PgABDGZlZZ0DAUhPcHRpb248KHUzMiwgdTMyKT4AATRmZWVfY29sbGVjdG9yAQEBUE9wdGlvbjxUOjpBY2NvdW50SWQ+AAEwcmVwYXlfdGFyZ2V09AE8T3B0aW9uPEJhbGFuY2U+AAFIbFVwZGF0ZSBwb29sIGRhdGEgb2YgYSBwb29sLgANAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHNpZ25lZCBieSB0aGUgcG9vbCBvd25lci4ABQFUaGUgcG9vbCBjYW4gYmUgdXBkYXRlZCBvbmx5IGlmIHRoZSBzYWxlIGhhcyBub3QgYWxyZWFkeSBzdGFydGVkLgAZAUF0IGxlYXN0IG9uZSBvZiB0aGUgZm9sbG93aW5nIG9wdGlvbmFsIHBhcmFtZXRlcnMgaGFzIHRvIGJlIHNwZWNpZmllZC4ALFBhcmFtZXRlcnM62C0gYHBvb2xfaWRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgcG9vbCB0byBiZSB1cGRhdGVkLiUBLSBgc3RhcnRgOiBUaGUgbmV3IHN0YXJ0aW5nIHRpbWUgb2YgdGhlIHNhbGUuIFRoaXMgcGFyYW1ldGVyIGlzIG9wdGlvbmFsLhUBLSBgZW5kYDogVGhlIG5ldyBlbmRpbmcgdGltZSBvZiB0aGUgc2FsZS4gVGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuHQEtIGBpbml0aWFsX3dlaWdodGA6IFRoZSBuZXcgaW5pdGlhbCB3ZWlnaHQuIFRoaXMgcGFyYW1ldGVyIGlzIG9wdGlvbmFsLg0BLSBgZmluYWxfd2VpZ2h0YDogVGhlIG5ldyBmaW5hbCB3ZWlnaHQuIFRoaXMgcGFyYW1ldGVyIGlzIG9wdGlvbmFsLkEBLSBgZmVlYDogVGhlIG5ldyB0cmFkaW5nIGZlZSBjaGFyZ2VkIG9uIGV2ZXJ5IHRyYWRlLiBUaGlzIHBhcmFtZXRlciBpcyBvcHRpb25hbC5BAS0gYGZlZV9jb2xsZWN0b3JgOiBUaGUgbmV3IHJlY2VpdmVyIG9mIHRyYWRpbmcgZmVlcy4gVGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuAKhFbWl0cyBgUG9vbFVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC40YWRkX2xpcXVpZGl0eQgBIGFtb3VudF9h8QMBXChBc3NldElkLCBCYWxhbmNlT2Y8VD4pAAEgYW1vdW50X2LxAwFcKEFzc2V0SWQsIEJhbGFuY2VPZjxUPikAAjBgQWRkIGxpcXVpZGl0eSB0byBhIHBvb2wuAE0BQXNzZXRzIHRvIGFkZCBoYXMgdG8gbWF0Y2ggdGhlIHBvb2wgYXNzZXRzLiBBdCBsZWFzdCBvbmUgYW1vdW50IGhhcyB0byBiZSBub24temVyby4ADQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBzaWduZWQgYnkgdGhlIHBvb2wgb3duZXIuACxQYXJhbWV0ZXJzOpwtIGBwb29sX2lkYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHBvb2wBAS0gYGFtb3VudF9hYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IGFuZCB0aGUgYW1vdW50IHRvIGFkZC4dAS0gYGFtb3VudF9iYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHNlY29uZCBhc3NldCBhbmQgdGhlIGFtb3VudCB0byBhZGQuALRFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5AcmVtb3ZlX2xpcXVpZGl0eQQBHHBvb2xfaWQAASRQb29sSWQ8VD4AAyxNAVRyYW5zZmVyIGFsbCB0aGUgbGlxdWlkaXR5IGZyb20gYSBwb29sIGJhY2sgdG8gdGhlIHBvb2wgb3duZXIgYW5kIGRlc3Ryb3kgdGhlIHBvb2wuwFRoZSBwb29sIGRhdGEgYXJlIGFsc28gcmVtb3ZlZCBmcm9tIHRoZSBzdG9yYWdlLgCwVGhlIHBvb2wgY2FuJ3QgYmUgZGVzdHJveWVkIGR1cmluZyB0aGUgc2FsZS4ADQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBzaWduZWQgYnkgdGhlIHBvb2wgb3duZXIuACxQYXJhbWV0ZXJzOgEBLSBgYW1vdW50X2FgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgYW5kIHRoZSBhbW91bnQgdG8gYWRkLgCkRW1pdHMgJ0xpcXVpZGl0eVJlbW92ZWQnIHdoZW4gc3VjY2Vzc2Z1bC4Qc2VsbBABIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4AASRtYXhfbGltaXQYATBCYWxhbmNlT2Y8VD4ABDyEVHJhZGUgYGFzc2V0X2luYCBmb3IgYGFzc2V0X291dGAuAFUBRXhlY3V0ZXMgYSBzd2FwIG9mIGBhc3NldF9pbmAgZm9yIGBhc3NldF9vdXRgLiBQcmljZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBwb29sIGFuZCBpcyUBYWZmZWN0ZWQgYnkgdGhlIGFtb3VudCBhbmQgcHJvcG9ydGlvbiBvZiB0aGUgcG9vbCBhc3NldHMgYW5kIHRoZSB3ZWlnaHRzLgDQVHJhZGluZyBgZmVlYCBpcyBkaXN0cmlidXRlZCB0byB0aGUgYGZlZV9jb2xsZWN0b3JgLgAsUGFyYW1ldGVyczplAS0gYGFzc2V0X2luYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IGJlaW5nIHRyYW5zZmVycmVkIGZyb20gdGhlIGFjY291bnQgdG8gdGhlIHBvb2wuaQEtIGBhc3NldF9vdXRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgYmVpbmcgdHJhbnNmZXJyZWQgZnJvbSB0aGUgcG9vbCB0byB0aGUgYWNjb3VudC6QLSBgYW1vdW50YDogVGhlIGFtb3VudCBvZiBgYXNzZXRfaW5g7QEtIGBtYXhfbGltaXRgOiBtaW5pbXVtIGFtb3VudCBvZiBgYXNzZXRfb3V0YCAvIGFtb3VudCBvZiBhc3NldF9vdXQgdG8gYmUgb2J0YWluZWQgZnJvbSB0aGUgcG9vbCBpbiBleGNoYW5nZSBmb3IgYGFzc2V0X2luYC4AxEVtaXRzIGBTZWxsRXhlY3V0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7IRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIHdoZW4gc3VjY2Vzc2Z1bC4MYnV5EAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABIGFzc2V0X2luEAEcQXNzZXRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgABJG1heF9saW1pdBgBMEJhbGFuY2VPZjxUPgAFPIRUcmFkZSBgYXNzZXRfaW5gIGZvciBgYXNzZXRfb3V0YC4AVQFFeGVjdXRlcyBhIHN3YXAgb2YgYGFzc2V0X2luYCBmb3IgYGFzc2V0X291dGAuIFByaWNlIGlzIGRldGVybWluZWQgYnkgdGhlIHBvb2wgYW5kIGlzNQFhZmZlY3RlZCBieSB0aGUgYW1vdW50IGFuZCB0aGUgcHJvcG9ydGlvbiBvZiB0aGUgcG9vbCBhc3NldHMgYW5kIHRoZSB3ZWlnaHRzLgDQVHJhZGluZyBgZmVlYCBpcyBkaXN0cmlidXRlZCB0byB0aGUgYGZlZV9jb2xsZWN0b3JgLgAsUGFyYW1ldGVyczplAS0gYGFzc2V0X2luYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IGJlaW5nIHRyYW5zZmVycmVkIGZyb20gdGhlIGFjY291bnQgdG8gdGhlIHBvb2wuaQEtIGBhc3NldF9vdXRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgYmVpbmcgdHJhbnNmZXJyZWQgZnJvbSB0aGUgcG9vbCB0byB0aGUgYWNjb3VudC6YLSBgYW1vdW50YDogVGhlIGFtb3VudCBvZiBgYXNzZXRfb3V0YC5NAS0gYG1heF9saW1pdGA6IG1heGltdW0gYW1vdW50IG9mIGBhc3NldF9pbmAgdG8gYmUgc29sZCBpbiBleGNoYW5nZSBmb3IgYGFzc2V0X291dGAuAMBFbWl0cyBgQnV5RXhlY3V0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7IRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIHdoZW4gc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu7QMIKHBhbGxldF9sYnA8V2VpZ2h0Q3VydmVUeXBlAAEEGExpbmVhcgAAAADxAwAABAgQGAD1AwwocGFsbGV0X3h5axhwYWxsZXQQQ2FsbAQEVAABFCxjcmVhdGVfcG9vbBABHGFzc2V0X2EQARxBc3NldElkAAEgYW1vdW50X2EYARxCYWxhbmNlAAEcYXNzZXRfYhABHEFzc2V0SWQAASBhbW91bnRfYhgBHEJhbGFuY2UAACSUQ3JlYXRlIG5ldyBwb29sIGZvciBnaXZlbiBhc3NldCBwYWlyLgBRAVJlZ2lzdGVycyBuZXcgcG9vbCBmb3IgZ2l2ZW4gYXNzZXQgcGFpciAoYGFzc2V0IGFgIGFuZCBgYXNzZXQgYmApIGluIGFzc2V0IHJlZ2lzdHJ5LnEBQXNzZXQgcmVnaXN0cnkgY3JlYXRlcyBuZXcgaWQgb3IgcmV0dXJucyBwcmV2aW91c2x5IGNyZWF0ZWQgb25lIGlmIHN1Y2ggcG9vbCBleGlzdGVkIGJlZm9yZS4A8FBvb2wgaXMgY3JlYXRlZCB3aXRoIGluaXRpYWwgbGlxdWlkaXR5IHByb3ZpZGVkIGJ5IGBvcmlnaW5gLnkBU2hhcmVzIGFyZSBpc3N1ZWQgd2l0aCBzcGVjaWZpZWQgaW5pdGlhbCBwcmljZSBhbmQgcmVwcmVzZW50cyBwcm9wb3J0aW9uIG9mIGFzc2V0IGluIHRoZSBwb29sLgCoRW1pdHMgYFBvb2xDcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuNGFkZF9saXF1aWRpdHkQARxhc3NldF9hEAEcQXNzZXRJZAABHGFzc2V0X2IQARxBc3NldElkAAEgYW1vdW50X2EYARxCYWxhbmNlAAFIYW1vdW50X2JfbWF4X2xpbWl0GAEcQmFsYW5jZQABFNBBZGQgbGlxdWlkaXR5IHRvIHByZXZpb3VzbHkgY3JlYXRlZCBhc3NldCBwYWlyIHBvb2wuAJRTaGFyZXMgYXJlIGlzc3VlZCB3aXRoIGN1cnJlbnQgcHJpY2UuALRFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5AcmVtb3ZlX2xpcXVpZGl0eQwBHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAAUBsaXF1aWRpdHlfYW1vdW50GAEcQmFsYW5jZQACGDEBUmVtb3ZlIGxpcXVpZGl0eSBmcm9tIHNwZWNpZmljIGxpcXVpZGl0eSBwb29sIGluIHRoZSBmb3JtIG9mIGJ1cm5pbmcgc2hhcmVzLgDQSWYgbGlxdWlkaXR5IGluIHRoZSBwb29sIHJlYWNoZXMgMCwgaXQgaXMgZGVzdHJveWVkLgCkRW1pdHMgJ0xpcXVpZGl0eVJlbW92ZWQnIHdoZW4gc3VjY2Vzc2Z1bC60RW1pdHMgJ1Bvb2xEZXN0cm95ZWQnIHdoZW4gcG9vbCBpcyBkZXN0cm95ZWQuEHNlbGwUASBhc3NldF9pbhABHEFzc2V0SWQAASRhc3NldF9vdXQQARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABJG1heF9saW1pdBgBHEJhbGFuY2UAASBkaXNjb3VudCABEGJvb2wAAyB0VHJhZGUgYXNzZXQgaW4gZm9yIGFzc2V0IG91dC4AZQFFeGVjdXRlcyBhIHN3YXAgb2YgYGFzc2V0X2luYCBmb3IgYGFzc2V0X291dGAuIFByaWNlIGlzIGRldGVybWluZWQgYnkgdGhlIGxpcXVpZGl0eSBwb29sLgDpAWBtYXhfbGltaXRgIC0gbWluaW11bSBhbW91bnQgb2YgYGFzc2V0X291dGAgLyBhbW91bnQgb2YgYXNzZXRfb3V0IHRvIGJlIG9idGFpbmVkIGZyb20gdGhlIHBvb2wgaW4gZXhjaGFuZ2UgZm9yIGBhc3NldF9pbmAuAMRFbWl0cyBgU2VsbEV4ZWN1dGVkYCB3aGVuIHN1Y2Nlc3NmdWwuIERlcHJlY2F0ZWQuyEVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCB3aGVuIHN1Y2Nlc3NmdWwuDGJ1eRQBJGFzc2V0X291dBABHEFzc2V0SWQAASBhc3NldF9pbhABHEFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEkbWF4X2xpbWl0GAEcQmFsYW5jZQABIGRpc2NvdW50IAEQYm9vbAAEHHRUcmFkZSBhc3NldCBpbiBmb3IgYXNzZXQgb3V0LgBlAUV4ZWN1dGVzIGEgc3dhcCBvZiBgYXNzZXRfaW5gIGZvciBgYXNzZXRfb3V0YC4gUHJpY2UgaXMgZGV0ZXJtaW5lZCBieSB0aGUgbGlxdWlkaXR5IHBvb2wuAEkBYG1heF9saW1pdGAgLSBtYXhpbXVtIGFtb3VudCBvZiBgYXNzZXRfaW5gIHRvIGJlIHNvbGQgaW4gZXhjaGFuZ2UgZm9yIGBhc3NldF9vdXRgLsBFbWl0cyBgQnV5RXhlY3V0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7IRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIHdoZW4gc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu+QMMQHBhbGxldF9yZWZlcnJhbHMYcGFsbGV0EENhbGwEBFQAARQ0cmVnaXN0ZXJfY29kZQQBEGNvZGX9AwFsUmVmZXJyYWxDb2RlPFQ6OkNvZGVMZW5ndGg+AAA0bFJlZ2lzdGVyIG5ldyByZWZlcnJhbCBjb2RlLgCMYG9yaWdpbmAgcGF5cyB0aGUgcmVnaXN0cmF0aW9uIGZlZS6oYGNvZGVgIGlzIGFzc2lnbmVkIHRvIHRoZSBnaXZlbiBgYWNjb3VudGAuAORMZW5ndGggb2YgdGhlIGBjb2RlYCBtdXN0IGJlIGF0IGxlYXN0IGBUOjpNaW5Db2RlTGVuZ3RoYC60TWF4aW11bSBsZW5ndGggaXMgbGltaXRlZCB0byBgVDo6Q29kZUxlbmd0aGAukQFgY29kZWAgbXVzdCBjb250YWluIG9ubHkgYWxmYS1udW1lcmljIGNoYXJhY3RlcnMgYW5kIGFsbCBjaGFyYWN0ZXJzIHdpbGwgYmUgY29udmVydGVkIHRvIHVwcGVyIGNhc2UuACxQYXJhbWV0ZXJzOuQtIGBjb2RlYDogQ29kZSB0byByZWdpc3Rlci4gTXVzdCBmb2xsb3cgdGhlIHJlc3RyaWN0aW9ucy4AtEVtaXRzIGBDb2RlUmVnaXN0ZXJlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLiRsaW5rX2NvZGUEARBjb2Rl/QMBbFJlZmVycmFsQ29kZTxUOjpDb2RlTGVuZ3RoPgABKGhMaW5rIGEgY29kZSB0byBhbiBhY2NvdW50LgApAWBDb2RlYCBtdXN0IGJlIHZhbGlkIHJlZ2lzdGVyZWQgY29kZS4gT3RoZXJ3aXNlIGBJbnZhbGlkQ29kZWAgaXMgcmV0dXJuZWQuAPRTaWduZXIgYWNjb3VudCBpcyBsaW5rZWQgdG8gdGhlIHJlZmVycmFsIGFjY291bnQgb2YgdGhlIGNvZGUuACxQYXJhbWV0ZXJzOtAtIGBjb2RlYDogQ29kZSB0byB1c2UgdG8gbGluayB0aGUgc2lnbmVyIGFjY291bnQgdG8uAKRFbWl0cyBgQ29kZUxpbmtlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLhxjb252ZXJ0BAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAIYwENvbnZlcnQgYWNjcnVlZCBhc3NldCBhbW91bnQgdG8gcmV3YXJkIGN1cnJlbmN5LgAsUGFyYW1ldGVyczrcLSBgYXNzZXRfaWRgOiBJZCBvZiBhbiBhc3NldCB0byBjb252ZXJ0IHRvIFJld2FyZEFzc2V0LgCgRW1pdHMgYENvbnZlcnRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjRjbGFpbV9yZXdhcmRzAAMkZENsYWltIGFjY3VtdWxhdGVkIHJld2FyZHMASQFJRiB0aGVyZSBpcyBhbnkgYXNzZXQgaW4gdGhlIHJld2FyZCBwb3QsIGFsbCBpcyBjb252ZXJ0ZWQgdG8gUmV3YXJkQ3VycmVuY3kgZmlyc3QuABkBUmV3YXJkIGFtb3VudCBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBzaGFyZXMgb2YgdGhlIHNpZ25lciBhY2NvdW50LgDVAWlmIHRoZSBzaWduZXIgYWNjb3VudCBpcyByZWZlcnJlciBhY2NvdW50LCB0b3RhbCBhY2N1bXVsYXRlZCByZXdhcmRzIGlzIHVwZGF0ZWQgYXMgd2VsbCBhcyByZWZlcnJlciBsZXZlbCBpZiByZWFjaGVkLgCYRW1pdHMgYENsYWltZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5Uc2V0X3Jld2FyZF9wZXJjZW50YWdlDAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEUbGV2ZWwBBAEUTGV2ZWwAARxyZXdhcmRzBQQBPEZlZURpc3RyaWJ1dGlvbgAEIHBTZXQgYXNzZXQgcmV3YXJkIHBlcmNlbnRhZ2VzACxQYXJhbWV0ZXJzOlgtIGBhc3NldF9pZGA6IGFzc2V0IGlkQC0gYGxldmVsYDogbGV2ZWyMLSBgcmV3YXJkc2A6IHJld2FyZCBmZWUgcGVyY2VudGFnZXMAyEVtaXRzIGBBc3NldFJld2FyZHNVcGRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLv0DDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAAQQIQHBhbGxldF9yZWZlcnJhbHMUTGV2ZWwAARgQTm9uZQAAABRUaWVyMAABABRUaWVyMQACABRUaWVyMgADABRUaWVyMwAEABRUaWVyNAAFAAAFBAhAcGFsbGV0X3JlZmVycmFsczxGZWVEaXN0cmlidXRpb24AAAwBIHJlZmVycmVySQMBHFBlcm1pbGwAARh0cmFkZXJJAwEcUGVybWlsbAABIGV4dGVybmFsSQMBHFBlcm1pbGwAAAkEDEhwYWxsZXRfbGlxdWlkYXRpb24YcGFsbGV0EENhbGwEBFQAAQgkbGlxdWlkYXRlFAFAY29sbGF0ZXJhbF9hc3NldBABHEFzc2V0SWQAAShkZWJ0X2Fzc2V0EAEcQXNzZXRJZAABEHVzZXJVAQEoRXZtQWRkcmVzcwABNGRlYnRfdG9fY292ZXIYARxCYWxhbmNlAAEUcm91dGWlAwE4Um91dGU8QXNzZXRJZD4AADy0TGlxdWlkYXRlcyBhbiBleGlzdGluZyBtb25leSBtYXJrZXQgcG9zaXRpb24uANxQZXJmb3JtcyBhIGZsYXNoIGxvYW4gdG8gZ2V0IGZ1bmRzIHRvIHBheSBmb3IgdGhlIGRlYnQuOQFSZWNlaXZlZCBjb2xsYXRlcmFsIGlzIHN3YXBwZWQgYW5kIHRoZSBwcm9maXQgaXMgdHJhbnNmZXJyZWQgdG8gYEZlZVJlY2VpdmVyYC4ALFBhcmFtZXRlcnM6aC0gYG9yaWdpbmA6IFNpZ25lZCBvcmlnaW4uFQEtIGBjb2xsYXRlcmFsX2Fzc2V0YDogQXNzZXQgSUQgdXNlZCBhcyBjb2xsYXRlcmFsIGluIHRoZSBNTSBwb3NpdGlvbi7kLSBgZGVidF9hc3NldGA6IEFzc2V0IElEIHVzZWQgYXMgZGVidCBpbiB0aGUgTU0gcG9zaXRpb24uDQEtIGB1c2VyYDogRVZNIGFkZHJlc3Mgb2YgdGhlIE1NIHBvc2l0aW9uIHRoYXQgd2Ugd2FudCB0byBsaXF1aWRhdGUu3C0gYGRlYnRfdG9fY292ZXJgOiBBbW91bnQgb2YgZGVidCB3ZSB3YW50IHRvIGxpcXVpZGF0ZS4hAS0gYHJvdXRlYDogVGhlIHJvdXRlIHdlIHRyYWRlIGFnYWluc3QuIFJlcXVpcmVkIGZvciB0aGUgZmVlIGNhbGN1bGF0aW9uLgCkRW1pdHMgYExpcXVpZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AWHNldF9ib3Jyb3dpbmdfY29udHJhY3QEASBjb250cmFjdFUBAShFdm1BZGRyZXNzAAEEqFNldCB0aGUgYm9ycm93aW5nIG1hcmtldCBjb250cmFjdCBhZGRyZXNzLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4NBAwsb3JtbF90b2tlbnMYbW9kdWxlEENhbGwEBFQAARQgdHJhbnNmZXIMARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARhhbW91bnRBAQEoVDo6QmFsYW5jZQAANNRUcmFuc2ZlciBzb21lIGxpcXVpZCBmcmVlIGJhbGFuY2UgdG8gYW5vdGhlciBhY2NvdW50LgAFAWB0cmFuc2ZlcmAgd2lsbCBzZXQgdGhlIGBGcmVlQmFsYW5jZWAgb2YgdGhlIHNlbmRlciBhbmQgcmVjZWl2ZXIu4El0IHdpbGwgZGVjcmVhc2UgdGhlIHRvdGFsIGlzc3VhbmNlIG9mIHRoZSBzeXN0ZW0gYnkgdGhl/GBUcmFuc2ZlckZlZWAuIElmIHRoZSBzZW5kZXIncyBhY2NvdW50IGlzIGJlbG93IHRoZSBleGlzdGVudGlhbAEBZGVwb3NpdCBhcyBhIHJlc3VsdCBvZiB0aGUgdHJhbnNmZXIsIHRoZSBhY2NvdW50IHdpbGwgYmUgcmVhcGVkLgDkVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFNpZ25lZGAgYnkgdGhlLHRyYW5zYWN0b3IuAKAtIGBkZXN0YDogVGhlIHJlY2lwaWVudCBvZiB0aGUgdHJhbnNmZXIufC0gYGN1cnJlbmN5X2lkYDogY3VycmVuY3kgdHlwZS6sLSBgYW1vdW50YDogZnJlZSBiYWxhbmNlIGFtb3VudCB0byB0cmFuZmVyLjB0cmFuc2Zlcl9hbGwMARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAShrZWVwX2FsaXZlIAEQYm9vbAABTNBUcmFuc2ZlciBhbGwgcmVtYWluaW5nIGJhbGFuY2UgdG8gdGhlIGdpdmVuIGFjY291bnQuAPBOT1RFOiBUaGlzIGZ1bmN0aW9uIG9ubHkgYXR0ZW1wdHMgdG8gdHJhbnNmZXIgX3RyYW5zZmVyYWJsZV/4YmFsYW5jZXMuIFRoaXMgbWVhbnMgdGhhdCBhbnkgbG9ja2VkLCByZXNlcnZlZCwgb3IgZXhpc3RlbnRpYWwJAWRlcG9zaXRzICh3aGVuIGBrZWVwX2FsaXZlYCBpcyBgdHJ1ZWApLCB3aWxsIG5vdCBiZSB0cmFuc2ZlcnJlZCBiefx0aGlzIGZ1bmN0aW9uLiBUbyBlbnN1cmUgdGhhdCB0aGlzIGZ1bmN0aW9uIHJlc3VsdHMgaW4gYSBraWxsZWT4YWNjb3VudCwgeW91IG1pZ2h0IG5lZWQgdG8gcHJlcGFyZSB0aGUgYWNjb3VudCBieSByZW1vdmluZyBhbnmwcmVmZXJlbmNlIGNvdW50ZXJzLCBzdG9yYWdlIGRlcG9zaXRzLCBldGMuLi4A5FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBTaWduZWRgIGJ5IHRoZSx0cmFuc2FjdG9yLgCgLSBgZGVzdGA6IFRoZSByZWNpcGllbnQgb2YgdGhlIHRyYW5zZmVyLnwtIGBjdXJyZW5jeV9pZGA6IGN1cnJlbmN5IHR5cGUu8C0gYGtlZXBfYWxpdmVgOiBBIGJvb2xlYW4gdG8gZGV0ZXJtaW5lIGlmIHRoZSBgdHJhbnNmZXJfYWxsYAUBICBvcGVyYXRpb24gc2hvdWxkIHNlbmQgYWxsIG9mIHRoZSBmdW5kcyB0aGUgYWNjb3VudCBoYXMsIGNhdXNpbmcFASAgdGhlIHNlbmRlciBhY2NvdW50IHRvIGJlIGtpbGxlZCAoZmFsc2UpLCBvciB0cmFuc2ZlciBldmVyeXRoaW5nCQEgIGV4Y2VwdCBhdCBsZWFzdCB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdCwgd2hpY2ggd2lsbCBndWFyYW50ZWUgdG+cICBrZWVwIHRoZSBzZW5kZXIgYWNjb3VudCBhbGl2ZSAodHJ1ZSkuTHRyYW5zZmVyX2tlZXBfYWxpdmUMARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARhhbW91bnRBAQEoVDo6QmFsYW5jZQACLAUBU2FtZSBhcyB0aGUgW2B0cmFuc2ZlcmBdIGNhbGwsIGJ1dCB3aXRoIGEgY2hlY2sgdGhhdCB0aGUgdHJhbnNmZXKEd2lsbCBub3Qga2lsbCB0aGUgb3JpZ2luIGFjY291bnQuALg5OSUgb2YgdGhlIHRpbWUgeW91IHdhbnQgW2B0cmFuc2ZlcmBdIGluc3RlYWQuAORUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgU2lnbmVkYCBieSB0aGUsdHJhbnNhY3Rvci4AoC0gYGRlc3RgOiBUaGUgcmVjaXBpZW50IG9mIHRoZSB0cmFuc2Zlci58LSBgY3VycmVuY3lfaWRgOiBjdXJyZW5jeSB0eXBlLqwtIGBhbW91bnRgOiBmcmVlIGJhbGFuY2UgYW1vdW50IHRvIHRyYW5mZXIuOGZvcmNlX3RyYW5zZmVyEAEYc291cmNlAAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARhhbW91bnRBAQEoVDo6QmFsYW5jZQADJBEBRXhhY3RseSBhcyBgdHJhbnNmZXJgLCBleGNlcHQgdGhlIG9yaWdpbiBtdXN0IGJlIHJvb3QgYW5kIHRoZSBzb3VyY2VkYWNjb3VudCBtYXkgYmUgc3BlY2lmaWVkLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgCcLSBgc291cmNlYDogVGhlIHNlbmRlciBvZiB0aGUgdHJhbnNmZXIuoC0gYGRlc3RgOiBUaGUgcmVjaXBpZW50IG9mIHRoZSB0cmFuc2Zlci58LSBgY3VycmVuY3lfaWRgOiBjdXJyZW5jeSB0eXBlLqwtIGBhbW91bnRgOiBmcmVlIGJhbGFuY2UgYW1vdW50IHRvIHRyYW5mZXIuLHNldF9iYWxhbmNlEAEMd2hvAAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAASBuZXdfZnJlZUEBAShUOjpCYWxhbmNlAAEwbmV3X3Jlc2VydmVkQQEBKFQ6OkJhbGFuY2UABCCQU2V0IHRoZSBiYWxhbmNlcyBvZiBhIGdpdmVuIGFjY291bnQuAAkBVGhpcyB3aWxsIGFsdGVyIGBGcmVlQmFsYW5jZWAgYW5kIGBSZXNlcnZlZEJhbGFuY2VgIGluIHN0b3JhZ2UuIGl0zHdpbGwgYWxzbyBkZWNyZWFzZSB0aGUgdG90YWwgaXNzdWFuY2Ugb2YgdGhlIHN5c3RlbQ0BKGBUb3RhbElzc3VhbmNlYCkuIElmIHRoZSBuZXcgZnJlZSBvciByZXNlcnZlZCBiYWxhbmNlIGlzIGJlbG93IHRoZdBleGlzdGVudGlhbCBkZXBvc2l0LCBpdCB3aWxsIHJlYXAgdGhlIGBBY2NvdW50SW5mb2AuALBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgaXMgYHJvb3RgLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4RBAxEcGFsbGV0X2N1cnJlbmNpZXMYbW9kdWxlEENhbGwEBFQAAQwgdHJhbnNmZXIMARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABPEN1cnJlbmN5SWRPZjxUPgABGGFtb3VudEEBATBCYWxhbmNlT2Y8VD4AABD0VHJhbnNmZXIgc29tZSBiYWxhbmNlIHRvIGFub3RoZXIgYWNjb3VudCB1bmRlciBgY3VycmVuY3lfaWRgLgDkVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFNpZ25lZGAgYnkgdGhlLHRyYW5zYWN0b3IuYHRyYW5zZmVyX25hdGl2ZV9jdXJyZW5jeQgBEGRlc3QAAYw8VDo6TG9va3VwIGFzIFN0YXRpY0xvb2t1cD46OlNvdXJjZQABGGFtb3VudEEBATBCYWxhbmNlT2Y8VD4AARDEVHJhbnNmZXIgc29tZSBuYXRpdmUgY3VycmVuY3kgdG8gYW5vdGhlciBhY2NvdW50LgDkVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFNpZ25lZGAgYnkgdGhlLHRyYW5zYWN0b3IuOHVwZGF0ZV9iYWxhbmNlDAEMd2hvAAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASxjdXJyZW5jeV9pZBABPEN1cnJlbmN5SWRPZjxUPgABGGFtb3VudBUEASxBbW91bnRPZjxUPgACDMx1cGRhdGUgYW1vdW50IG9mIGFjY291bnQgYHdob2AgdW5kZXIgYGN1cnJlbmN5X2lkYC4AwFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4VBAAABQ0AGQQMMG9ybWxfdmVzdGluZxhtb2R1bGUQQ2FsbAQEVAABEBRjbGFpbQAAADx2ZXN0ZWRfdHJhbnNmZXIIARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAASBzY2hlZHVsZR0EAVBWZXN0aW5nU2NoZWR1bGVPZjxUPgABAGB1cGRhdGVfdmVzdGluZ19zY2hlZHVsZXMIAQx3aG8AAYw8VDo6TG9va3VwIGFzIFN0YXRpY0xvb2t1cD46OlNvdXJjZQABRHZlc3Rpbmdfc2NoZWR1bGVzIQQBZFZlYzxWZXN0aW5nU2NoZWR1bGVPZjxUPj4AAgAkY2xhaW1fZm9yBAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAMABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLh0ECDBvcm1sX3Zlc3Rpbmc8VmVzdGluZ1NjaGVkdWxlCCxCbG9ja051bWJlcgEQHEJhbGFuY2UBGAAQARRzdGFydBABLEJsb2NrTnVtYmVyAAEYcGVyaW9kEAEsQmxvY2tOdW1iZXIAATBwZXJpb2RfY291bnQQAQx1MzIAAShwZXJfcGVyaW9kQQEBHEJhbGFuY2UAACEEAAACHQQAJQQMKHBhbGxldF9ldm0YcGFsbGV0EENhbGwEBFQAARAgd2l0aGRyYXcIARxhZGRyZXNzVQEBEEgxNjAAARR2YWx1ZRgBMEJhbGFuY2VPZjxUPgAABOBXaXRoZHJhdyBiYWxhbmNlIGZyb20gRVZNIGludG8gY3VycmVuY3kvYmFsYW5jZXMgcGFsbGV0LhBjYWxsJAEYc291cmNlVQEBEEgxNjAAARh0YXJnZXRVAQEQSDE2MAABFGlucHV0OAEcVmVjPHU4PgABFHZhbHVlXQEBEFUyNTYAASRnYXNfbGltaXQwAQx1NjQAATxtYXhfZmVlX3Blcl9nYXNdAQEQVTI1NgABYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhcykEATBPcHRpb248VTI1Nj4AARRub25jZSkEATBPcHRpb248VTI1Nj4AASxhY2Nlc3NfbGlzdC0EAVhWZWM8KEgxNjAsIFZlYzxIMjU2Pik+AAEEXQFJc3N1ZSBhbiBFVk0gY2FsbCBvcGVyYXRpb24uIFRoaXMgaXMgc2ltaWxhciB0byBhIG1lc3NhZ2UgY2FsbCB0cmFuc2FjdGlvbiBpbiBFdGhlcmV1bS4YY3JlYXRlIAEYc291cmNlVQEBEEgxNjAAARBpbml0OAEcVmVjPHU4PgABFHZhbHVlXQEBEFUyNTYAASRnYXNfbGltaXQwAQx1NjQAATxtYXhfZmVlX3Blcl9nYXNdAQEQVTI1NgABYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhcykEATBPcHRpb248VTI1Nj4AARRub25jZSkEATBPcHRpb248VTI1Nj4AASxhY2Nlc3NfbGlzdC0EAVhWZWM8KEgxNjAsIFZlYzxIMjU2Pik+AAIIUQFJc3N1ZSBhbiBFVk0gY3JlYXRlIG9wZXJhdGlvbi4gVGhpcyBpcyBzaW1pbGFyIHRvIGEgY29udHJhY3QgY3JlYXRpb24gdHJhbnNhY3Rpb24gaW4kRXRoZXJldW0uHGNyZWF0ZTIkARhzb3VyY2VVAQEQSDE2MAABEGluaXQ4ARxWZWM8dTg+AAEQc2FsdDQBEEgyNTYAARR2YWx1ZV0BARBVMjU2AAEkZ2FzX2xpbWl0MAEMdTY0AAE8bWF4X2ZlZV9wZXJfZ2FzXQEBEFUyNTYAAWBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMpBAEwT3B0aW9uPFUyNTY+AAEUbm9uY2UpBAEwT3B0aW9uPFUyNTY+AAEsYWNjZXNzX2xpc3QtBAFYVmVjPChIMTYwLCBWZWM8SDI1Nj4pPgADBHxJc3N1ZSBhbiBFVk0gY3JlYXRlMiBvcGVyYXRpb24uBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLikEBBhPcHRpb24EBFQBXQEBCBBOb25lAAAAEFNvbWUEAF0BAAABAAAtBAAAAjEEADEEAAAECFUB4QEANQQMPHBhbGxldF9ldGhlcmV1bRhwYWxsZXQQQ2FsbAQEVAABBCB0cmFuc2FjdAQBLHRyYW5zYWN0aW9uOQQBLFRyYW5zYWN0aW9uAAAEhFRyYW5zYWN0IGFuIEV0aGVyZXVtIHRyYW5zYWN0aW9uLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy45BAwgZXRoZXJldW0sdHJhbnNhY3Rpb240VHJhbnNhY3Rpb25WMgABDBhMZWdhY3kEAD0EAURMZWdhY3lUcmFuc2FjdGlvbgAAABxFSVAyOTMwBABNBAFIRUlQMjkzMFRyYW5zYWN0aW9uAAEAHEVJUDE1NTkEAFkEAUhFSVAxNTU5VHJhbnNhY3Rpb24AAgAAPQQMIGV0aGVyZXVtLHRyYW5zYWN0aW9uRExlZ2FjeVRyYW5zYWN0aW9uAAAcARRub25jZV0BARBVMjU2AAEkZ2FzX3ByaWNlXQEBEFUyNTYAASRnYXNfbGltaXRdAQEQVTI1NgABGGFjdGlvbkEEAURUcmFuc2FjdGlvbkFjdGlvbgABFHZhbHVlXQEBEFUyNTYAARRpbnB1dDgBFEJ5dGVzAAEkc2lnbmF0dXJlRQQBUFRyYW5zYWN0aW9uU2lnbmF0dXJlAABBBAwgZXRoZXJldW0sdHJhbnNhY3Rpb25EVHJhbnNhY3Rpb25BY3Rpb24AAQgQQ2FsbAQAVQEBEEgxNjAAAAAYQ3JlYXRlAAEAAEUEDCBldGhlcmV1bSx0cmFuc2FjdGlvblBUcmFuc2FjdGlvblNpZ25hdHVyZQAADAEEdkkEAVRUcmFuc2FjdGlvblJlY292ZXJ5SWQAAQRyNAEQSDI1NgABBHM0ARBIMjU2AABJBAwgZXRoZXJldW0sdHJhbnNhY3Rpb25UVHJhbnNhY3Rpb25SZWNvdmVyeUlkAAAEADABDHU2NAAATQQMIGV0aGVyZXVtLHRyYW5zYWN0aW9uSEVJUDI5MzBUcmFuc2FjdGlvbgAALAEgY2hhaW5faWQwAQx1NjQAARRub25jZV0BARBVMjU2AAEkZ2FzX3ByaWNlXQEBEFUyNTYAASRnYXNfbGltaXRdAQEQVTI1NgABGGFjdGlvbkEEAURUcmFuc2FjdGlvbkFjdGlvbgABFHZhbHVlXQEBEFUyNTYAARRpbnB1dDgBFEJ5dGVzAAEsYWNjZXNzX2xpc3RRBAEoQWNjZXNzTGlzdAABMG9kZF95X3Bhcml0eSABEGJvb2wAAQRyNAEQSDI1NgABBHM0ARBIMjU2AABRBAAAAlUEAFUEDCBldGhlcmV1bSx0cmFuc2FjdGlvbjhBY2Nlc3NMaXN0SXRlbQAACAEcYWRkcmVzc1UBARxBZGRyZXNzAAEwc3RvcmFnZV9rZXlz4QEBJFZlYzxIMjU2PgAAWQQMIGV0aGVyZXVtLHRyYW5zYWN0aW9uSEVJUDE1NTlUcmFuc2FjdGlvbgAAMAEgY2hhaW5faWQwAQx1NjQAARRub25jZV0BARBVMjU2AAFgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2FzXQEBEFUyNTYAATxtYXhfZmVlX3Blcl9nYXNdAQEQVTI1NgABJGdhc19saW1pdF0BARBVMjU2AAEYYWN0aW9uQQQBRFRyYW5zYWN0aW9uQWN0aW9uAAEUdmFsdWVdAQEQVTI1NgABFGlucHV0OAEUQnl0ZXMAASxhY2Nlc3NfbGlzdFEEAShBY2Nlc3NMaXN0AAEwb2RkX3lfcGFyaXR5IAEQYm9vbAABBHI0ARBIMjU2AAEEczQBEEgyNTYAAF0EDExwYWxsZXRfZXZtX2FjY291bnRzGHBhbGxldBBDYWxsBARUAAEYQGJpbmRfZXZtX2FkZHJlc3MAACykQmluZHMgYSBTdWJzdHJhdGUgYWRkcmVzcyB0byBFVk0gYWRkcmVzcy5tAUFmdGVyIGJpbmRpbmcsIHRoZSBFVk0gaXMgYWJsZSB0byBjb252ZXJ0IGFuIEVWTSBhZGRyZXNzIHRvIHRoZSBvcmlnaW5hbCBTdWJzdHJhdGUgYWRkcmVzcy6tAVdpdGhvdXQgYmluZGluZywgdGhlIEVWTSBjb252ZXJ0cyBhbiBFVk0gYWRkcmVzcyB0byBhIHRydW5jYXRlZCBTdWJzdHJhdGUgYWRkcmVzcywgd2hpY2ggZG9lc24ndCBjb3JyZXNwb25kWHRvIHRoZSBvcmlnaW4gYWRkcmVzcy4ABQFCaW5kaW5nIGFuIGFkZHJlc3MgaXMgbm90IG5lY2Vzc2FyeSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgRVZNLgAsUGFyYW1ldGVyczrALSBgb3JpZ2luYDogU3Vic3RyYXRlIGFjY291bnQgYmluZGluZyBhbiBhZGRyZXNzALhFbWl0cyBgRXZtQWNjb3VudEJvdW5kYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuVGFkZF9jb250cmFjdF9kZXBsb3llcgQBHGFkZHJlc3NVAQEoRXZtQWRkcmVzcwABHGEBQWRkcyBhbiBFVk0gYWRkcmVzcyB0byB0aGUgbGlzdCBvZiBhZGRyZXNzZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBkZXBsb3kgc21hcnQgY29udHJhY3RzLgAsUGFyYW1ldGVyczpJAS0gYG9yaWdpbmA6IFN1YnN0cmF0ZSBhY2NvdW50IHdoaXRlbGlzdGluZyBhbiBhZGRyZXNzLiBNdXN0IGJlIGBDb250cm9sbGVyT3JpZ2luYC6wLSBgYWRkcmVzc2A6IEVWTSBhZGRyZXNzIHRoYXQgaXMgd2hpdGVsaXN0ZWQAsEVtaXRzIGBEZXBsb3llckFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuYHJlbW92ZV9jb250cmFjdF9kZXBsb3llcgQBHGFkZHJlc3NVAQEoRXZtQWRkcmVzcwACHHUBUmVtb3ZlcyBhbiBFVk0gYWRkcmVzcyBmcm9tIHRoZSBsaXN0IG9mIGFkZHJlc3NlcyB0aGF0IGFyZSBhbGxvd2VkIHRvIGRlcGxveSBzbWFydCBjb250cmFjdHMuACxQYXJhbWV0ZXJzOpkBLSBgb3JpZ2luYDogU3Vic3RyYXRlIGFjY291bnQgcmVtb3ZpbmcgdGhlIEVWTSBhZGRyZXNzIGZyb20gdGhlIHdoaXRlbGlzdC4gTXVzdCBiZSBgQ29udHJvbGxlck9yaWdpbmAu7C0gYGFkZHJlc3NgOiBFVk0gYWRkcmVzcyB0aGF0IGlzIHJlbW92ZWQgZnJvbSB0aGUgd2hpdGVsaXN0ALhFbWl0cyBgRGVwbG95ZXJSZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuaHJlbm91bmNlX2NvbnRyYWN0X2RlcGxveWVyAAMcoQFSZW1vdmVzIHRoZSBhY2NvdW50J3MgRVZNIGFkZHJlc3MgZnJvbSB0aGUgbGlzdCBvZiBhZGRyZXNzZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBkZXBsb3kgc21hcnQgY29udHJhY3RzLtkBQmFzZWQgb24gdGhlIGJlc3QgcHJhY3RpY2VzLCB0aGlzIGV4dHJpbnNpYyBjYW4gYmUgY2FsbGVkIGJ5IGFueSB3aGl0ZWxpc3RlZCBhY2NvdW50IHRvIHJlbm91bmNlIHRoZWlyIG93biBwZXJtaXNzaW9uLgAsUGFyYW1ldGVyczoxAS0gYG9yaWdpbmA6IFN1YnN0cmF0ZSBhY2NvdW50IHJlbW92aW5nIHRoZWlyIEVWTSBhZGRyZXNzIGZyb20gdGhlIHdoaXRlbGlzdC4AuEVtaXRzIGBEZXBsb3llclJlbW92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5AYXBwcm92ZV9jb250cmFjdAQBHGFkZHJlc3NVAQEoRXZtQWRkcmVzcwAEJEkBQWRkcyBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byB0aGUgbGlzdCBvZiBhcHByb3ZlZCBjb250cmFjdHMgdG8gbWFuYWdlIGJhbGFuY2VzLgD8RWZmZWN0aXZlbHkgZ2l2aW5nIGl0IGFsbG93YW5jZSB0byBmb3IgYW55IGJhbGFuY2VzIGFuZCB0b2tlbnMuACxQYXJhbWV0ZXJzOqAtIGBvcmlnaW5gOiAgTXVzdCBiZSBgQ29udHJvbGxlck9yaWdpbmAuzC0gYGFkZHJlc3NgOiBDb250cmFjdCBhZGRyZXNzIHRoYXQgd2lsbCBiZSBhcHByb3ZlZAC8RW1pdHMgYENvbnRyYWN0QXBwcm92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5MZGlzYXBwcm92ZV9jb250cmFjdAQBHGFkZHJlc3NVAQEoRXZtQWRkcmVzcwAFHF0BUmVtb3ZlcyBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCBmcm9tIHRoZSBsaXN0IG9mIGFwcHJvdmVkIGNvbnRyYWN0cyB0byBtYW5hZ2UgYmFsYW5jZXMuACxQYXJhbWV0ZXJzOqAtIGBvcmlnaW5gOiAgTXVzdCBiZSBgQ29udHJvbGxlck9yaWdpbmAu2C0gYGFkZHJlc3NgOiBDb250cmFjdCBhZGRyZXNzIHRoYXQgd2lsbCBiZSBkaXNhcHByb3ZlZADIRW1pdHMgYENvbnRyYWN0RGlzYXBwcm92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuYQQMbHBhbGxldF94eWtfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQQQ2FsbAQEVAABPEhjcmVhdGVfZ2xvYmFsX2Zhcm0kATR0b3RhbF9yZXdhcmRzGAEcQmFsYW5jZQABYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcxABLFBlcmlvZE9mPFQ+AAFEYmxvY2tzX3Blcl9wZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgABSGluY2VudGl2aXplZF9hc3NldBABHEFzc2V0SWQAATxyZXdhcmRfY3VycmVuY3kQARxBc3NldElkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAAUB5aWVsZF9wZXJfcGVyaW9kZQMBLFBlcnF1aW50aWxsAAEsbWluX2RlcG9zaXQYARxCYWxhbmNlAAFAcHJpY2VfYWRqdXN0bWVudFEBASRGaXhlZFUxMjgAAHT0Q3JlYXRlIG5ldyBsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0gd2l0aCBwcm92aWRlZCBwYXJhbWV0ZXJzLgA9AWBvd25lcmAgYWNjb3VudCBoYXMgdG8gaGF2ZSBhdCBsZWFzdCBgdG90YWxfcmV3YXJkc2AgYmFsYW5jZS4gVGhpcyBmdW5kIHdpbGwgYmWkdHJhbnNmZXJyZWQgZnJvbSBgb3duZXJgIHRvIGZhcm0gYWNjb3VudC5lAUluIGNhc2Ugb2YgYHJld2FyZF9jdXJyZW5jeWAgaXMgaW5zdWZmaWNpZW50IGFzc2V0LCBmYXJtJ3MgYG93bmVyYCBoYXMgdG8gcGF5IGV4aXN0ZW50aWFsHQFkZXBvc2l0IGZvciBnbG9iYWwgZmFybSBhY2NvdW50IGFuZCBmb3IgbGlxdWlkaXR5IG1pbmluZyBgcG90YCBhY2NvdW50LgDwVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFQ6OkNyZWF0ZU9yaWdpbmAuVQEhISFXQVJOOiBgVDo6Q3JlYXRlT3JpZ2luYCBoYXMgcG93ZXIgb3ZlciBmdW5kcyBvZiBgb3duZXJgJ3MgYWNjb3VudCBhbmQgaXQgc2hvdWxkIGJl0GNvbmZpZ3VyZWQgdG8gdHJ1c3RlZCBvcmlnaW4gZS5nIFN1ZG8gb3IgR292ZXJuYW5jZS4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuMQEtIGB0b3RhbF9yZXdhcmRzYDogdG90YWwgcmV3YXJkcyBwbGFubmVkIHRvIGRpc3RyaWJ1dGUuIFRoaXMgcmV3YXJkcyB3aWxsIGJl3GRpc3RyaWJ1dGVkIGJldHdlZW4gYWxsIHlpZWxkIGZhcm1zIGluIHRoZSBnbG9iYWwgZmFybS5ZAS0gYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kc2A6IHBsYW5uZWQgbnVtYmVyIG9mIHBlcmlvZHMgdG8gZGlzdHJpYnV0ZSBgdG90YWxfcmV3YXJkc2AuKQFXQVJOOiBUSElTIElTIE5PVCBIQVJEIERFQURMSU5FLiBOb3QgYWxsIHJld2FyZHMgaGF2ZSB0byBiZSBkaXN0cmlidXRlZCBpbl0BYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kc2AuIFJld2FyZHMgYXJlIGRpc3RyaWJ1dGVkIGJhc2VkIG9uIHRoZSBzaXR1YXRpb24gaW4gdGhlIHlpZWxkYQFmYXJtcyBhbmQgY2FuIGJlIGRpc3RyaWJ1dGVkIGluIGEgbG9uZ2VyIHRpbWUgZnJhbWUgYnV0IG5ldmVyIGluIHRoZSBzaG9ydGVyIHRpbWUgZnJhbWUuWQEtIGBibG9ja3NfcGVyX3BlcmlvZGA6ICBudW1iZXIgb2YgYmxvY2tzIGluIGEgc2luZ2xlIHBlcmlvZC4gTWluLiBudW1iZXIgb2YgYmxvY2tzIHBlcjBwZXJpb2QgaXMgMS5lAS0gYGluY2VudGl2aXplZF9hc3NldGA6IGFzc2V0IHRvIGJlIGluY2VudGl2aXplZCBpbiBYWUsgcG9vbHMuIEFsbCB5aWVsZCBmYXJtcyBhZGRlZCBpbnRvEQFsaXEuIG1pbmluZyBwcm9ncmFtIGhhdmUgdG8gaGF2ZSBgaW5jZW50aXZpemVkX2Fzc2V0YCBpbiB0aGVpciBwYWlyLsAtIGByZXdhcmRfY3VycmVuY3lgOiBwYXlvZmYgY3VycmVuY3kgb2YgcmV3YXJkcy6ULSBgb3duZXJgOiBsaXEuIG1pbmluZyBwcm9ncmFtIG93bmVyLjkBLSBgeWllbGRfcGVyX3BlcmlvZGA6IHBlcmNlbnRhZ2UgcmV0dXJuIG9uIGByZXdhcmRfY3VycmVuY3lgIG9mIGFsbCBmYXJtcyBwLmEuCQEtIGBtaW5fZGVwb3NpdGA6IG1pbmltdW0gYW1vdW50IHdoaWNoIGNhbiBiZSBkZXBvc2l0ZWQgdG8gdGhlIGZhcm1ULSBgcHJpY2VfYWRqdXN0bWVudGA6wEVtaXRzIGBHbG9iYWxGYXJtQ3JlYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLkh1cGRhdGVfZ2xvYmFsX2Zhcm0IAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABQHByaWNlX2FkanVzdG1lbnRRAQEkRml4ZWRVMTI4AAEonFVwZGF0ZSBnbG9iYWwgZmFybSdzIHByaWNlcyBhZGp1c3RtZW50LgCoT25seSBmYXJtJ3Mgb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLswtIGBnbG9iYWxfZmFybV9pZGA6IGlkIG9mIHRoZSBnbG9iYWwgZmFybSB0byB1cGRhdGXQLSBgcHJpY2VfYWRqdXN0bWVudGA6IG5ldyB2YWx1ZSBmb3IgcHJpY2UgYWRqdXN0bWVudADARW1pdHMgYEdsb2JhbEZhcm1VcGRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuVHRlcm1pbmF0ZV9nbG9iYWxfZmFybQQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAIsnFRlcm1pbmF0ZSBleGlzdGluZyBsaXEuIG1pbmluZyBwcm9ncmFtLgCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgDRAVdBUk46IFRvIHN1Y2Nlc3NmdWxseSB0ZXJtaW5hdGUgYSBmYXJtLCBmYXJtIGhhdmUgdG8gYmUgZW1wdHkoYWxsIHlpZWxkIGZhcm1zIGluIGhlIGdsb2JhbCBmYXJtIG11c3QgYmUgdGVybWluYXRlZCkuACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLtwtIGBnbG9iYWxfZmFybV9pZGA6IGlkIG9mIGdsb2JhbCBmYXJtIHRvIGJlIHRlcm1pbmF0ZWQuAMxFbWl0cyBgR2xvYmFsRmFybVRlcm1pbmF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5EY3JlYXRlX3lpZWxkX2Zhcm0QAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABKGFzc2V0X3BhaXJlBAEkQXNzZXRQYWlyAAEobXVsdGlwbGllclEBAThGYXJtTXVsdGlwbGllcgABNGxveWFsdHlfY3VydmVpAwFQT3B0aW9uPExveWFsdHlDdXJ2ZT4AA0i8QWRkIHlpZWxkIGZhcm0gZm9yIGdpdmVuIGBhc3NldF9wYWlyYCBYWUsgcG9vbC4EIKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uAFUBT25seSBYWUtzIHdpdGggYGFzc2V0X3BhaXJgIHdpdGggYGluY2VudGl2aXplZF9hc3NldGAgY2FuIGJlIGFkZGVkIGludG8gdGhlIGZhcm0uIFhZSxUBcG9vbCBmb3IgYGFzc2V0X3BhaXJgIGhhcyB0byBleGlzdCB0byBzdWNjZXNzZnVsbHkgY3JlYXRlIHlpZWxkIGZhcm0uIQFZaWVsZCBmYXJtIGZvciBzYW1lIGBhc3NldF9wYWlyYCBjYW4gZXhpc3Qgb25seSBvbmNlIGluIHRoZSBnbG9iYWwgZmFybS4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuAQEtIGBmYXJtX2lkYDogZ2xvYmFsIGZhcm0gaWQgdG8gd2hpY2ggYSB5aWVsZCBmYXJtIHdpbGwgYmUgYWRkZWQuXQEtIGBhc3NldF9wYWlyYDogYXNzZXQgcGFpciBpZGVudGlmeWluZyB5aWVsZCBmYXJtLiBMaXEuIG1pbmluZyB3aWxsIGJlIGFsbG93ZWQgZm9yIHRoaXMxAWBhc3NldF9wYWlyYCBhbmQgb25lIG9mIHRoZSBhc3NldHMgaW4gdGhlIHBhaXIgbXVzdCBiZSBgaW5jZW50aXZpemVkX2Fzc2V0YC6YLSBgbXVsdGlwbGllcmA6IHlpZWxkIGZhcm0gbXVsdGlwbGllci5dAS0gYGxveWFsdHlfY3VydmVgOiBjdXJ2ZSB0byBjYWxjdWxhdGUgbG95YWx0eSBtdWx0aXBsaWVyIHRvIGRpc3RyaWJ1dGUgcmV3YXJkcyB0byB1c2Vyc+B3aXRoIHRpbWUgaW5jZW50aXZlLiBgTm9uZWAgbWVhbnMgbm8gbG95YWx0eSBtdWx0aXBsaWVyLgC8RW1pdHMgYFlpZWxkRmFybUNyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5EdXBkYXRlX3lpZWxkX2Zhcm0MAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABKGFzc2V0X3BhaXJlBAEkQXNzZXRQYWlyAAEobXVsdGlwbGllclEBAThGYXJtTXVsdGlwbGllcgAELHRVcGRhdGUgeWllbGQgZmFybSBtdWx0aXBsaWVyLgQgoE9ubHkgZmFybSBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuHQEtIGBnbG9iYWxfZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkIGluIHdoaWNoIHlpZWxkIGZhcm0gd2lsbCBiZSB1cGRhdGVkLgUBLSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgeWllbGQgZmFybSBpbiBnbG9iYWwgZmFybS6oLSBgbXVsdGlwbGllcmA6IG5ldyB5aWVsZCBmYXJtIG11bHRpcGxpZXIuALxFbWl0cyBgWWllbGRGYXJtVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjxzdG9wX3lpZWxkX2Zhcm0IAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABKGFzc2V0X3BhaXJlBAEkQXNzZXRQYWlyAAU8pFN0b3AgbGlxLiBtaW1pbmcgZm9yIHNwZWNpZmljIHlpZWxkIGZhcm0uADUBVGhpcyBmdW5jdGlvbiBjbGFpbXMgcmV3YXJkcyBmcm9tIGBHbG9iYWxGYXJtYCBsYXN0IHRpbWUgYW5kIHN0b3BzIHlpZWxkIGZhcm0hAWluY2VudGl2aXphdGlvbiBmcm9tIGEgYEdsb2JhbEZhcm1gLiBVc2VycyB3aWxsIGJlIGFibGUgdG8gb25seSB3aXRoZHJhd8hzaGFyZXMod2l0aCBjbGFpbWluZykgYWZ0ZXIgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLkEBYGRlcG9zaXRfc2hhcmVzKClgIGFuZCBgY2xhaW1fcmV3YXJkcygpYCBhcmUgbm90IGFsbG93ZWQgb24gY2FuY2VsZWQgeWllbGQgZmFybS4EIKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLgUBLSBgZ2xvYmFsX2Zhcm1faWRgOiBmYXJtIGlkIGluIHdoaWNoIHlpZWxkIGZhcm0gd2lsbCBiZSBjYW5jZWxlZC74LSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgeWllbGQgZmFybSBpbiB0aGUgZmFybS4AvEVtaXRzIGBZaWVsZEZhcm1TdG9wcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuRHJlc3VtZV95aWVsZF9mYXJtEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgABKG11bHRpcGxpZXJRAQE4RmFybU11bHRpcGxpZXIABkSkUmVzdW1lIHlpZWxkIGZhcm0gZm9yIHN0b3BwZWQgeWllbGQgZmFybS4AVQFUaGlzIGZ1bmN0aW9uIHJlc3VtZSBpbmNlbnRpdml6YXRpb24gZnJvbSBgR2xvYmFsRmFybWAgYW5kIHJlc3RvcmUgZnVsbCBmdW5jdGlvbmFsaXR5IQFmb3IgeWllbGQgZmFybS4gVXNlcnMgd2lsbCBiZSBhYmxlIHRvIGRlcG9zaXQsIGNsYWltIGFuZCB3aXRoZHJhdyBhZ2Fpbi4A5FdBUk46IFlpZWxkIGZhcm0gaXMgTk9UIHJld2FyZGVkIGZvciB0aW1lIGl0IHdhcyBzdG9wcGVkLgCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4dAS0gYGdsb2JhbF9mYXJtX2lkYDogZ2xvYmFsIGZhcm0gaWQgaW4gd2hpY2ggeWllbGQgZmFybSB3aWxsIGJlIHJlc3VtZWQuyC0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB5aWVsZCBmYXJtIHRvIGJlIHJlc3VtZWQuBQEtIGBhc3NldF9wYWlyYDogYXNzZXQgcGFpciBpZGVudGlmeWluZyB5aWVsZCBmYXJtIGluIGdsb2JhbCBmYXJtLsgtIGBtdWx0aXBsaWVyYDogeWllbGQgZmFybSBtdWx0aXBsaWVyIGluIHRoZSBmYXJtLgC8RW1pdHMgYFlpZWxkRmFybVJlc3VtZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5QdGVybWluYXRlX3lpZWxkX2Zhcm0MAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABKGFzc2V0X3BhaXJlBAEkQXNzZXRQYWlyAAdMRFJlbW92ZSB5aWVsZCBmYXJtAIEBVGhpcyBmdW5jdGlvbiBtYXJrcyBhIHlpZWxkIGZhcm0gYXMgcmVhZHkgdG8gYmUgcmVtb3ZlZCBmcm9tIHN0b3JhZ2Ugd2hlbiBpdCdzIGVtcHR5LiBVc2VycyB3aWxsZQFiZSBhYmxlIHRvIG9ubHkgd2l0aGRyYXcgc2hhcmVzKHdpdGhvdXQgY2xhaW1pbmcgcmV3YXJkcyBmcm9tIHlpZWxkIGZhcm0pLiBVbnBhaWQgcmV3YXJkc3EBd2lsbCBiZSB0cmFuc2ZlcnJlZCBiYWNrIHRvIGdsb2JhbCBmYXJtIGFuZCB3aWxsIGJlIHVzZWQgdG8gZGlzdHJpYnV0ZSB0byBvdGhlciB5aWVsZCBmYXJtcy4A4FlpZWxkIGZhcm0gbXVzdCBiZSBzdG9wcGVkIGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uAHEBT25seSBnbG9iYWwgZmFybSdzIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLiBZaWVsZCBmYXJtIHN0YXlzIGluIHRoZSBzdG9yYWdlIHVudGlsIGl0J3NtAWVtcHR5KGFsbCBmYXJtIGVudHJpZXMgYXJlIHdpdGhkcmF3bikuIExhc3Qgd2l0aGRyYXduIGZyb20geWllbGQgZmFybSB0cmlnZ2VyIHJlbW92aW5nIGZyb20wdGhlIHN0b3JhZ2UuACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLh0BLSBgZ2xvYmFsX2Zhcm1faWRgOiBmYXJtIGlkIGZyb20gd2hpY2ggeWllbGQgZmFybSBzaG91bGQgYmUgdGVybWluYXRlZC7ULSBgeWllbGRfZmFybV9pZGA6IGlkIG9mIHlpZWxkIGZhcm0gdG8gYmUgdGVybWluYXRlZC4VAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0gaW4gdGhlIGdsb2JhbCBmYXJtLgDIRW1pdHMgYFlpZWxkRmFybVRlcm1pbmF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC44ZGVwb3NpdF9zaGFyZXMQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABKGFzc2V0X3BhaXJlBAEkQXNzZXRQYWlyAAE0c2hhcmVzX2Ftb3VudBgBHEJhbGFuY2UACDiMRGVwb3NpdCBMUCBzaGFyZXMgdG8gYSBsaXEuIG1pbmluZy4AUQFUaGlzIGZ1bmN0aW9uIHRyYW5zZmVycyBMUCBzaGFyZXMgZnJvbSBgb3JpZ2luYCB0byBwYWxsZXQncyBhY2NvdW50IGFuZCBtaW50IG5mdCBmb3INAWBvcmlnaW5gIGFjY291bnQuIE1pbnRlZCBuZnQgcmVwcmVzZW50cyBkZXBvc2l0IGluIHRoZSBsaXEuIG1pbmluZy4ALFBhcmFtZXRlcnM6LQEtIGBvcmlnaW5gOiBhY2NvdW50IGRlcG9zaXRpbmcgTFAgc2hhcmVzLiBUaGlzIGFjY291bnQgaGFzIHRvIGhhdmUgYXQgbGVhc3R0YHNoYXJlc19hbW91bnRgIG9mIExQIHNoYXJlcy49AS0gYGdsb2JhbF9mYXJtX2lkYDogaWQgb2YgZ2xvYmFsIGZhcm0gdG8gd2hpY2ggdXNlciB3YW50cyB0byBkZXBvc2l0IExQIHNoYXJlcy7ILSBgeWllbGRfZmFybV9pZGA6IGlkIG9mIHlpZWxkIGZhcm0gdG8gZGVwb3NpdCB0by4dAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIExQIHNoYXJlcyB1c2VyIHdhbnRzIHRvIGRlcG9zaXQu9C0gYHNoYXJlc19hbW91bnRgOiBhbW91bnQgb2YgTFAgc2hhcmVzIHVzZXIgd2FudHMgdG8gZGVwb3NpdC4AuEVtaXRzIGBTaGFyZXNEZXBvc2l0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4oam9pbl9mYXJtcwwBMGZhcm1fZW50cmllc2kEAREBQm91bmRlZFZlYzwoR2xvYmFsRmFybUlkLCBZaWVsZEZhcm1JZCksIFQ6Ok1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdD4AAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgABNHNoYXJlc19hbW91bnQYARxCYWxhbmNlAAw0tEpvaW4gbXVsdGlwbGUgZmFybXMgd2l0aCBhIGdpdmVuIHNoYXJlIGFtb3VudAD8VGhlIHNoYXJlIGlzIGRlcG9zaXRlZCB0byB0aGUgZmlyc3QgZmFybSBvZiB0aGUgc3BlY2lmaWVkIGZhbXMs0GFuZCB0aGVuIHJlZGVwb3NpdCB0aGUgc2hhcmVzIHRvIHRoZSByZW1haW5pbmcgZmFybXMALFBhcmFtZXRlcnM6LQEtIGBvcmlnaW5gOiBhY2NvdW50IGRlcG9zaXRpbmcgTFAgc2hhcmVzLiBUaGlzIGFjY291bnQgaGFzIHRvIGhhdmUgYXQgbGVhc3QhAS0gYGZhcm1fZW50cmllc2A6IGxpc3Qgb2YgZ2xvYmFsIGZhcm0gaWQgYW5kIHlpZWxkIGZhcm0gaWQgcGFpcnMgdG8gam9pbh0BLSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgTFAgc2hhcmVzIHVzZXIgd2FudHMgdG8gZGVwb3NpdC70LSBgc2hhcmVzX2Ftb3VudGA6IGFtb3VudCBvZiBMUCBzaGFyZXMgdXNlciB3YW50cyB0byBkZXBvc2l0LgDYRW1pdHMgYFNoYXJlc0RlcG9zaXRlZGAgZXZlbnQgZm9yIHRoZSBmaXJzdCBmYXJtIGVudHJ5HQFFbWl0cyBgU2hhcmVzUmVkZXBvc2l0ZWRgIGV2ZW50IGZvciBlYWNoIGZhcm0gZW50cnkgYWZ0ZXIgdGhlIGZpcnN0IG9uZXBhZGRfbGlxdWlkaXR5X2FuZF9qb2luX2Zhcm1zFAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABIGFtb3VudF9hGAEcQmFsYW5jZQABSGFtb3VudF9iX21heF9saW1pdBgBHEJhbGFuY2UAATBmYXJtX2VudHJpZXNpBAERAUJvdW5kZWRWZWM8KEdsb2JhbEZhcm1JZCwgWWllbGRGYXJtSWQpLCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AA08LQFBZGQgbGlxdWlkaXR5IHRvIFhZSyBwb29sIGFuZCBqb2luIG11bHRpcGxlIGZhcm1zIHdpdGggYSBnaXZlbiBzaGFyZSBhbW91bnQACQFUaGUgc2hhcmUgaXMgZGVwb3NpdGVkIHRvIHRoZSBmaXJzdCBmYXJtIG9mIHRoZSBzcGVjaWZpZWQgZW50cmllcyzQYW5kIHRoZW4gcmVkZXBvc2l0IHRoZSBzaGFyZXMgdG8gdGhlIHJlbWFpbmluZyBmYXJtcwAsUGFyYW1ldGVyczotAS0gYG9yaWdpbmA6IGFjY291bnQgZGVwb3NpdGluZyBMUCBzaGFyZXMuIFRoaXMgYWNjb3VudCBoYXMgdG8gaGF2ZSBhdCBsZWFzdNAtIGBhc3NldF9hYDogYXNzZXQgaWQgb2YgdGhlIGZpcnN0IGFzc2V0IGluIHRoZSBwYWly1C0gYGFzc2V0X2JgOiBhc3NldCBpZCBvZiB0aGUgc2Vjb25kIGFzc2V0IGluIHRoZSBwYWlyyC0gYGFtb3VudF9hYDogYW1vdW50IG9mIHRoZSBmaXJzdCBhc3NldCB0byBkZXBvc2l0FQEtIGBhbW91bnRfYl9tYXhfbGltaXRgOiBtYXhpbXVtIGFtb3VudCBvZiB0aGUgc2Vjb25kIGFzc2V0IHRvIGRlcG9zaXQhAS0gYGZhcm1fZW50cmllc2A6IGxpc3Qgb2YgZ2xvYmFsIGZhcm0gaWQgYW5kIHlpZWxkIGZhcm0gaWQgcGFpcnMgdG8gam9pbgDYRW1pdHMgYFNoYXJlc0RlcG9zaXRlZGAgZXZlbnQgZm9yIHRoZSBmaXJzdCBmYXJtIGVudHJ5HQFFbWl0cyBgU2hhcmVzUmVkZXBvc2l0ZWRgIGV2ZW50IGZvciBlYWNoIGZhcm0gZW50cnkgYWZ0ZXIgdGhlIGZpcnN0IG9uZUByZWRlcG9zaXRfc2hhcmVzEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQACTzkUmVkZXBvc2l0IGFscmVhZHkgbG9ja2VkIExQIHNoYXJlcyB0byBhbm90aGVyIHlpZWxkIGZhcm0uAGUBVGhpcyBmdW5jdGlvbiBjcmVhdGUgeWllbGQgZmFybSBlbnRyeSBmb3IgZXhpc3RpbmcgZGVwb3NpdC4gTFAgc2hhcmVzIGFyZSBub3QgdHJhbnNmZXJyZWTUYW5kIGFtb3VudCBvZiBMUCBzaGFyZXMgaXMgYmFzZWQgb24gZXhpc3RpbmcgZGVwb3NpdC4ApFRoaXMgZnVuY3Rpb24gRE9FU04nVCBjcmVhdGUgbmV3IGRlcG9zaXQuACxQYXJhbWV0ZXJzOjEBLSBgb3JpZ2luYDogYWNjb3VudCBkZXBvc2l0aW5nIExQIHNoYXJlcy4gVGhpcyBhY2NvdW50IGhhdmUgdG8gaGF2ZSBhdCBsZWFzdKwtIGBnbG9iYWxfZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkZW50aWZpZXIu5C0gYHlpZWxkX2Zhcm1faWRgOiB5aWVsZCBmYXJtIGlkZW50aWZpZXIgcmVkZXBvc2l0aW5nIHRvLhkBLSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgTFAgc2hhcmVzIHVzZXIgd2FudCB0byBkZXBvc2l0LqgtIGBkZXBvc2l0X2lkYDogaWRlbnRpZmllciBvZiB0aGUgZGVwb3NpdC4AwEVtaXRzIGBTaGFyZXNSZWRlcG9zaXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjRjbGFpbV9yZXdhcmRzCAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAAKLA0BQ2xhaW0gcmV3YXJkcyBmcm9tIGxpcS4gbWluaW5nIGZvciBkZXBvc2l0IHJlcHJlc2VudGVkIGJ5IGBuZnRfaWRgLgBZAVRoaXMgZnVuY3Rpb24gY2FsY3VsYXRlIHVzZXIgcmV3YXJkcyBmcm9tIGxpcS4gbWluaW5nIGFuZCB0cmFuc2ZlciByZXdhcmRzIHRvIGBvcmlnaW5g6GFjY291bnQuIENsYWltaW5nIGluIHRoZSBzYW1lIHBlcmlvZCBpcyBhbGxvd2VkIG9ubHkgb25jZS4ALFBhcmFtZXRlcnM6qC0gYG9yaWdpbmA6IGFjY291bnQgb3duZXIgb2YgZGVwb3NpdChuZnQpLvgtIGBkZXBvc2l0X2lkYDogbmZ0IGlkIHJlcHJlc2VudGluZyBkZXBvc2l0IGluIHRoZSB5aWVsZCBmYXJtLvwtIGB5aWVsZF9mYXJtX2lkYDogeWllbGQgZmFybSBpZGVudGlmaWVyIHRvIGNsYWltIHJld2FyZHMgZnJvbS4AsEVtaXRzIGBSZXdhcmRDbGFpbWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuPHdpdGhkcmF3X3NoYXJlcwwBKGRlcG9zaXRfaWQYASREZXBvc2l0SWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgALWBUBV2l0aGRyYXcgTFAgc2hhcmVzIGZyb20gbGlxLiBtaW5pbmcgd2l0aCByZXdhcmQgY2xhaW1pbmcgaWYgcG9zc2libGUuABUBTGlzdCBvZiBwb3NzaWJsZSBjYXNlcyBvZiB0cmFuc2ZlcnMgb2YgTFAgc2hhcmVzIGFuZCBjbGFpbWVkIHJld2FyZHM6AFEBKiB5aWVsZCBmYXJtIGlzIGFjdGl2ZSh5aWVsZCBmYXJtIGlzIG5vdCBzdG9wcGVkKSAtIGNsYWltIGFuZCB0cmFuc2ZlciByZXdhcmRzKGlmIGl02Hdhc24ndCBjbGFpbWVkIGluIHRoaXMgcGVyaW9kKSBhbmQgdHJhbnNmZXIgTFAgc2hhcmVzLuwqIGxpcS4gbWluaW5nIGlzIHN0b3BwZWQgLSBjbGFpbSBhbmQgdHJhbnNmZXIgcmV3YXJkcyhpZiBpdNh3YXNuJ3QgY2xhaW1lZCBpbiB0aGlzIHBlcmlvZCkgYW5kIHRyYW5zZmVyIExQIHNoYXJlcy4FASogeWllbGQgZmFybSB3YXMgdGVybWluYXRlZCAtIG9ubHkgTFAgc2hhcmVzIHdpbGwgYmUgdHJhbnNmZXJyZWQu7CogZmFybSB3YXMgdGVybWluYXRlZCAtIG9ubHkgTFAgc2hhcmVzIHdpbGwgYmUgdHJhbnNmZXJyZWQuADUBVXNlcidzIHVuY2xhaW1hYmxlIHJld2FyZHMgd2lsbCBiZSB0cmFuc2ZlcnJlZCBiYWNrIHRvIGdsb2JhbCBmYXJtJ3MgYWNjb3VudC4ALFBhcmFtZXRlcnM6qC0gYG9yaWdpbmA6IGFjY291bnQgb3duZXIgb2YgZGVwb3NpdChuZnQpLvgtIGBkZXBvc2l0X2lkYDogbmZ0IGlkIHJlcHJlc2VudGluZyBkZXBvc2l0IGluIHRoZSB5aWVsZCBmYXJtLgUBLSBgeWllbGRfZmFybV9pZGA6IHlpZWxkIGZhcm0gaWRlbnRpZmllciB0byBkaXRoZHJhdyBzaGFyZXMgZnJvbS4FAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0gaW4gZ2xvYmFsIGZhcm0uABhFbWl0czqEKiBgUmV3YXJkQ2xhaW1lZGAgaWYgY2xhaW0gaGFwcGVupCogYFNoYXJlc1dpdGhkcmF3bmAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsKGV4aXRfZmFybXMMAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAEoYXNzZXRfcGFpcmUEASRBc3NldFBhaXIAATBmYXJtX2VudHJpZXNtBAHQQm91bmRlZFZlYzxZaWVsZEZhcm1JZCwgVDo6TWF4RmFybUVudHJpZXNQZXJEZXBvc2l0PgAOQIxFeGl0IGZyb20gYWxsIHNwZWNpZmllZCB5aWVsZCBmYXJtcwBdAVRoaXMgZnVuY3Rpb24gd2lsbCBhdHRlbXB0IHRvIHdpdGhkcmF3IHNoYXJlcyBhbmQgY2xhaW0gcmV3YXJkcyAoaWYgYXZhaWxhYmxlKSBmcm9tIGFsbKhzcGVjaWZpZWQgeWllbGQgZmFybXMgZm9yIGEgZ2l2ZW4gZGVwb3NpdC4ALFBhcmFtZXRlcnM6qC0gYG9yaWdpbmA6IGFjY291bnQgb3duZXIgb2YgZGVwb3NpdChuZnQpLvgtIGBkZXBvc2l0X2lkYDogbmZ0IGlkIHJlcHJlc2VudGluZyBkZXBvc2l0IGluIHRoZSB5aWVsZCBmYXJtLh0BLSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgeWllbGQgZmFybShzKSBpbiBnbG9iYWwgZmFybShzKS7YLSBgZmFybV9lbnRyaWVzYDogaWQocykgb2YgeWllbGQgZmFybShzKSB0byBleGl0IGZyb20uABhFbWl0czqsKiBgUmV3YXJkQ2xhaW1lZGAgZm9yIGVhY2ggc3VjY2Vzc2Z1bCBjbGFpbcgqIGBTaGFyZXNXaXRoZHJhd25gIGZvciBlYWNoIHN1Y2Nlc3NmdWwgd2l0aGRyYXdhbNgqIGBEZXBvc2l0RGVzdHJveWVkYCBpZiB0aGUgZGVwb3NpdCBpcyBmdWxseSB3aXRoZHJhd24ABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLmUEDChwYWxsZXRfeHlrFHR5cGVzJEFzc2V0UGFpcgAACAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAAAaQQMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAF1AwRTAAAEAHkDARhWZWM8VD4AAG0EDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBEARTAAAEAIEDARhWZWM8VD4AAHEEDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQQQ2FsbAgEVAAESQABAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy51BAxYcGFsbGV0X3JlbGF5Y2hhaW5faW5mbxhwYWxsZXQQQ2FsbAQEVAABAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy55BAwocGFsbGV0X2RjYRhwYWxsZXQQQ2FsbAQEVAABCCBzY2hlZHVsZQgBIHNjaGVkdWxlfQQB1FNjaGVkdWxlPFQ6OkFjY291bnRJZCwgVDo6QXNzZXRJZCwgQmxvY2tOdW1iZXJGb3I8VD4+AAFUc3RhcnRfZXhlY3V0aW9uX2Jsb2NrbQEBZE9wdGlvbjxCbG9ja051bWJlckZvcjxUPj4AAGQ9AUNyZWF0ZXMgYSBuZXcgRENBIChEb2xsYXItQ29zdCBBdmVyYWdpbmcpIHNjaGVkdWxlIGFuZCBwbGFucyB0aGUgbmV4dCBleGVjdXRpb25gZm9yIHRoZSBzcGVjaWZpZWQgYmxvY2suAC0BSWYgdGhlIGJsb2NrIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBleGVjdXRpb24gaXMgcGxhbm5lZCBmb3IgdGhlIG5leHQgYmxvY2suSQFJZiB0aGUgZ2l2ZW4gYmxvY2sgaXMgZnVsbCwgdGhlIGV4ZWN1dGlvbiB3aWxsIGJlIHBsYW5uZWQgaW4gdGhlIHN1YnNlcXVlbnQgYmxvY2suAFEBT25jZSB0aGUgc2NoZWR1bGUgaXMgY3JlYXRlZCwgdGhlIHNwZWNpZmllZCBgdG90YWxfYW1vdW50YCB3aWxsIGJlIHJlc2VydmVkIGZvciBEQ0EuHQFUaGUgcmVzZXJ2YXRpb24gY3VycmVuY3kgd2lsbCBiZSB0aGUgYGFtb3VudF9pbmAgY3VycmVuY3kgb2YgdGhlIG9yZGVyLgDgVHJhZGVzIGFyZSBleGVjdXRlZCBhcyBsb25nIGFzIHRoZXJlIGlzIGJ1ZGdldCByZW1haW5pbmdNAWZyb20gdGhlIGluaXRpYWwgYHRvdGFsX2Ftb3VudGAgYWxsb2NhdGlvbiwgdW5sZXNzIGB0b3RhbF9hbW91bnRgIGlzIDAsIHRoZW4gdHJhZGVzqGFyZSBleGVjdXRlZCB1bnRpbCBzY2hlZHVsZSBpcyB0ZXJtaW5hdGVkLgBVAUlmIGEgdHJhZGUgZmFpbHMgZHVlIHRvIHNsaXBwYWdlIGxpbWl0IG9yIHByaWNlIHN0YWJpbGl0eSBlcnJvcnMsIGl0IHdpbGwgYmUgcmV0cmllZC7USWYgdGhlIG51bWJlciBvZiByZXRyaWVzIHJlYWNoZXMgdGhlIG1heGltdW0gYWxsb3dlZCywdGhlIHNjaGVkdWxlIHdpbGwgYmUgdGVybWluYXRlZCBwZXJtYW5lbnRseS74SW4gdGhlIGNhc2Ugb2YgYSBzdWNjZXNzZnVsIHRyYWRlLCB0aGUgcmV0cnkgY291bnRlciBpcyByZXNldC4ALFBhcmFtZXRlcnM6aC0gYG9yaWdpbmA6IHNjaGVkdWxlIG93bmVyeC0gYHNjaGVkdWxlYDogc2NoZWR1bGUgZGV0YWlscykBLSBgc3RhcnRfZXhlY3V0aW9uX2Jsb2NrYDogZmlyc3QgcG9zc2libGUgZXhlY3V0aW9uIGJsb2NrIGZvciB0aGUgc2NoZWR1bGUA/EVtaXRzIGBTY2hlZHVsZWRgIGFuZCBgRXhlY3V0aW9uUGxhbm5lZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAkdGVybWluYXRlCAEsc2NoZWR1bGVfaWQQAShTY2hlZHVsZUlkAAFQbmV4dF9leGVjdXRpb25fYmxvY2ttAQFkT3B0aW9uPEJsb2NrTnVtYmVyRm9yPFQ+PgABLAkBVGVybWluYXRlcyBhIERDQSBzY2hlZHVsZSBhbmQgcmVtb3ZlIGl0IGNvbXBsZXRlbHkgZnJvbSB0aGUgY2hhaW4uAEEBVGhpcyBjYW4gYmUgY2FsbGVkIGJ5IGJvdGggc2NoZWR1bGUgb3duZXIgb3IgdGhlIGNvbmZpZ3VyZWQgYFQ6OlRlcm1pbmF0ZU9yaWdpbmAALFBhcmFtZXRlcnM6aC0gYG9yaWdpbmA6IHNjaGVkdWxlIG93bmVycC0gYHNjaGVkdWxlX2lkYDogc2NoZWR1bGUgaWQVAS0gYG5leHRfZXhlY3V0aW9uX2Jsb2NrYDogYmxvY2sgbnVtYmVyIHdoZXJlIHRoZSBzY2hlZHVsZSBpcyBwbGFubmVkLgCkRW1pdHMgYFRlcm1pbmF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLn0EDChwYWxsZXRfZGNhFHR5cGVzIFNjaGVkdWxlDCRBY2NvdW50SWQBABxBc3NldElkARAsQmxvY2tOdW1iZXIBEAAcARRvd25lcgABJEFjY291bnRJZAABGHBlcmlvZBABLEJsb2NrTnVtYmVyAAEwdG90YWxfYW1vdW50GAEcQmFsYW5jZQABLG1heF9yZXRyaWVzEQMBKE9wdGlvbjx1OD4AAUxzdGFiaWxpdHlfdGhyZXNob2xkgQQBPE9wdGlvbjxQZXJtaWxsPgABIHNsaXBwYWdlgQQBPE9wdGlvbjxQZXJtaWxsPgABFG9yZGVyhQQBOE9yZGVyPEFzc2V0SWQ+AACBBAQYT3B0aW9uBARUAUkDAQgQTm9uZQAAABBTb21lBABJAwAAAQAAhQQMKHBhbGxldF9kY2EUdHlwZXMUT3JkZXIEHEFzc2V0SWQBEAEIEFNlbGwUASBhc3NldF9pbhABHEFzc2V0SWQAASRhc3NldF9vdXQQARxBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABOG1pbl9hbW91bnRfb3V0GAEcQmFsYW5jZQABFHJvdXRlpQMB6EJvdW5kZWRWZWM8VHJhZGU8QXNzZXRJZD4sIENvbnN0VTMyPE1BWF9OVU1CRVJfT0ZfVFJBREVTPj4AAAAMQnV5FAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABKGFtb3VudF9vdXQYARxCYWxhbmNlAAE0bWF4X2Ftb3VudF9pbhgBHEJhbGFuY2UAARRyb3V0ZaUDAehCb3VuZGVkVmVjPFRyYWRlPEFzc2V0SWQ+LCBDb25zdFUzMjxNQVhfTlVNQkVSX09GX1RSQURFUz4+AAEAAIkEDEBwYWxsZXRfc2NoZWR1bGVyGHBhbGxldBBDYWxsBARUAAEoIHNjaGVkdWxlEAEQd2hlbhABREJsb2NrTnVtYmVyRm9yPFQ+AAE4bWF5YmVfcGVyaW9kaWOdAwGsT3B0aW9uPHNjaGVkdWxlOjpQZXJpb2Q8QmxvY2tOdW1iZXJGb3I8VD4+PgABIHByaW9yaXR5CAFIc2NoZWR1bGU6OlByaW9yaXR5AAEQY2FsbCUBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAAEcEFub255bW91c2x5IHNjaGVkdWxlIGEgdGFzay4YY2FuY2VsCAEQd2hlbhABREJsb2NrTnVtYmVyRm9yPFQ+AAEUaW5kZXgQAQx1MzIAAQSUQ2FuY2VsIGFuIGFub255bW91c2x5IHNjaGVkdWxlZCB0YXNrLjhzY2hlZHVsZV9uYW1lZBQBCGlkBAEgVGFza05hbWUAARB3aGVuEAFEQmxvY2tOdW1iZXJGb3I8VD4AAThtYXliZV9wZXJpb2RpY50DAaxPcHRpb248c2NoZWR1bGU6OlBlcmlvZDxCbG9ja051bWJlckZvcjxUPj4+AAEgcHJpb3JpdHkIAUhzY2hlZHVsZTo6UHJpb3JpdHkAARBjYWxsJQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAgRYU2NoZWR1bGUgYSBuYW1lZCB0YXNrLjBjYW5jZWxfbmFtZWQEAQhpZAQBIFRhc2tOYW1lAAMEeENhbmNlbCBhIG5hbWVkIHNjaGVkdWxlZCB0YXNrLjhzY2hlZHVsZV9hZnRlchABFGFmdGVyEAFEQmxvY2tOdW1iZXJGb3I8VD4AAThtYXliZV9wZXJpb2RpY50DAaxPcHRpb248c2NoZWR1bGU6OlBlcmlvZDxCbG9ja051bWJlckZvcjxUPj4+AAEgcHJpb3JpdHkIAUhzY2hlZHVsZTo6UHJpb3JpdHkAARBjYWxsJQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4ABASoQW5vbnltb3VzbHkgc2NoZWR1bGUgYSB0YXNrIGFmdGVyIGEgZGVsYXkuUHNjaGVkdWxlX25hbWVkX2FmdGVyFAEIaWQEASBUYXNrTmFtZQABFGFmdGVyEAFEQmxvY2tOdW1iZXJGb3I8VD4AAThtYXliZV9wZXJpb2RpY50DAaxPcHRpb248c2NoZWR1bGU6OlBlcmlvZDxCbG9ja051bWJlckZvcjxUPj4+AAEgcHJpb3JpdHkIAUhzY2hlZHVsZTo6UHJpb3JpdHkAARBjYWxsJQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4ABQSQU2NoZWR1bGUgYSBuYW1lZCB0YXNrIGFmdGVyIGEgZGVsYXkuJHNldF9yZXRyeQwBEHRhc2t1AwF4VGFza0FkZHJlc3M8QmxvY2tOdW1iZXJGb3I8VD4+AAEccmV0cmllcwgBCHU4AAEYcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4ABjBZAVNldCBhIHJldHJ5IGNvbmZpZ3VyYXRpb24gZm9yIGEgdGFzayBzbyB0aGF0LCBpbiBjYXNlIGl0cyBzY2hlZHVsZWQgcnVuIGZhaWxzLCBpdCB3aWxsVQFiZSByZXRyaWVkIGFmdGVyIGBwZXJpb2RgIGJsb2NrcywgZm9yIGEgdG90YWwgYW1vdW50IG9mIGByZXRyaWVzYCByZXRyaWVzIG9yIHVudGlsIGl0JHN1Y2NlZWRzLgBVAVRhc2tzIHdoaWNoIG5lZWQgdG8gYmUgc2NoZWR1bGVkIGZvciBhIHJldHJ5IGFyZSBzdGlsbCBzdWJqZWN0IHRvIHdlaWdodCBtZXRlcmluZyBhbmRRAWFnZW5kYSBzcGFjZSwgc2FtZSBhcyBhIHJlZ3VsYXIgdGFzay4gSWYgYSBwZXJpb2RpYyB0YXNrIGZhaWxzLCBpdCB3aWxsIGJlIHNjaGVkdWxlZJBub3JtYWxseSB3aGlsZSB0aGUgdGFzayBpcyByZXRyeWluZy4AUQFUYXNrcyBzY2hlZHVsZWQgYXMgYSByZXN1bHQgb2YgYSByZXRyeSBmb3IgYSBwZXJpb2RpYyB0YXNrIGFyZSB1bm5hbWVkLCBub24tcGVyaW9kaWM9AWNsb25lcyBvZiB0aGUgb3JpZ2luYWwgdGFzay4gVGhlaXIgcmV0cnkgY29uZmlndXJhdGlvbiB3aWxsIGJlIGRlcml2ZWQgZnJvbSB0aGVNAW9yaWdpbmFsIHRhc2sncyBjb25maWd1cmF0aW9uLCBidXQgd2lsbCBoYXZlIGEgbG93ZXIgdmFsdWUgZm9yIGByZW1haW5pbmdgIHRoYW4gdGhlZG9yaWdpbmFsIGB0b3RhbF9yZXRyaWVzYC48c2V0X3JldHJ5X25hbWVkDAEIaWQEASBUYXNrTmFtZQABHHJldHJpZXMIAQh1OAABGHBlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAcwXQFTZXQgYSByZXRyeSBjb25maWd1cmF0aW9uIGZvciBhIG5hbWVkIHRhc2sgc28gdGhhdCwgaW4gY2FzZSBpdHMgc2NoZWR1bGVkIHJ1biBmYWlscywgaXRdAXdpbGwgYmUgcmV0cmllZCBhZnRlciBgcGVyaW9kYCBibG9ja3MsIGZvciBhIHRvdGFsIGFtb3VudCBvZiBgcmV0cmllc2AgcmV0cmllcyBvciB1bnRpbDBpdCBzdWNjZWVkcy4AVQFUYXNrcyB3aGljaCBuZWVkIHRvIGJlIHNjaGVkdWxlZCBmb3IgYSByZXRyeSBhcmUgc3RpbGwgc3ViamVjdCB0byB3ZWlnaHQgbWV0ZXJpbmcgYW5kUQFhZ2VuZGEgc3BhY2UsIHNhbWUgYXMgYSByZWd1bGFyIHRhc2suIElmIGEgcGVyaW9kaWMgdGFzayBmYWlscywgaXQgd2lsbCBiZSBzY2hlZHVsZWSQbm9ybWFsbHkgd2hpbGUgdGhlIHRhc2sgaXMgcmV0cnlpbmcuAFEBVGFza3Mgc2NoZWR1bGVkIGFzIGEgcmVzdWx0IG9mIGEgcmV0cnkgZm9yIGEgcGVyaW9kaWMgdGFzayBhcmUgdW5uYW1lZCwgbm9uLXBlcmlvZGljPQFjbG9uZXMgb2YgdGhlIG9yaWdpbmFsIHRhc2suIFRoZWlyIHJldHJ5IGNvbmZpZ3VyYXRpb24gd2lsbCBiZSBkZXJpdmVkIGZyb20gdGhlTQFvcmlnaW5hbCB0YXNrJ3MgY29uZmlndXJhdGlvbiwgYnV0IHdpbGwgaGF2ZSBhIGxvd2VyIHZhbHVlIGZvciBgcmVtYWluaW5nYCB0aGFuIHRoZWRvcmlnaW5hbCBgdG90YWxfcmV0cmllc2AuMGNhbmNlbF9yZXRyeQQBEHRhc2t1AwF4VGFza0FkZHJlc3M8QmxvY2tOdW1iZXJGb3I8VD4+AAgEqFJlbW92ZXMgdGhlIHJldHJ5IGNvbmZpZ3VyYXRpb24gb2YgYSB0YXNrLkhjYW5jZWxfcmV0cnlfbmFtZWQEAQhpZAQBIFRhc2tOYW1lAAkEvENhbmNlbCB0aGUgcmV0cnkgY29uZmlndXJhdGlvbiBvZiBhIG5hbWVkIHRhc2suBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLo0EDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtGHBhbGxldBBDYWxsBARUAAEITHNldF92YWxpZGF0aW9uX2RhdGEEARBkYXRhkQQBVFBhcmFjaGFpbkluaGVyZW50RGF0YQAAJIBTZXQgdGhlIGN1cnJlbnQgdmFsaWRhdGlvbiBkYXRhLgBBAVRoaXMgc2hvdWxkIGJlIGludm9rZWQgZXhhY3RseSBvbmNlIHBlciBibG9jay4gSXQgd2lsbCBwYW5pYyBhdCB0aGUgZmluYWxpemF0aW9uiHBoYXNlIGlmIHRoZSBjYWxsIHdhcyBub3QgaW52b2tlZC4A0FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBJbmhlcmVudGAAIQFBcyBhIHNpZGUgZWZmZWN0LCB0aGlzIGZ1bmN0aW9uIHVwZ3JhZGVzIHRoZSBjdXJyZW50IHZhbGlkYXRpb24gZnVuY3Rpb26EaWYgdGhlIGFwcHJvcHJpYXRlIHRpbWUgaGFzIGNvbWUuYHN1ZG9fc2VuZF91cHdhcmRfbWVzc2FnZQQBHG1lc3NhZ2U4ATRVcHdhcmRNZXNzYWdlAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLpEECJRjdW11bHVzX3ByaW1pdGl2ZXNfcGFyYWNoYWluX2luaGVyZW50VFBhcmFjaGFpbkluaGVyZW50RGF0YQAAEAE8dmFsaWRhdGlvbl9kYXRhlQQBXFBlcnNpc3RlZFZhbGlkYXRpb25EYXRhAAFEcmVsYXlfY2hhaW5fc3RhdGWdBAFUc3BfdHJpZTo6U3RvcmFnZVByb29mAAFEZG93bndhcmRfbWVzc2FnZXOlBAFsVmVjPEluYm91bmREb3dud2FyZE1lc3NhZ2U+AAFMaG9yaXpvbnRhbF9tZXNzYWdlc60EAaRCVHJlZU1hcDxQYXJhSWQsIFZlYzxJbmJvdW5kSHJtcE1lc3NhZ2U+PgAAlQQMTHBvbGthZG90X3ByaW1pdGl2ZXMIdjhcUGVyc2lzdGVkVmFsaWRhdGlvbkRhdGEIBEgBNAROARAAEAEscGFyZW50X2hlYWSZBAEgSGVhZERhdGEAAUxyZWxheV9wYXJlbnRfbnVtYmVyEAEETgABZHJlbGF5X3BhcmVudF9zdG9yYWdlX3Jvb3Q0AQRIAAEwbWF4X3Bvdl9zaXplEAEMdTMyAACZBAx0cG9sa2Fkb3RfcGFyYWNoYWluX3ByaW1pdGl2ZXMocHJpbWl0aXZlcyBIZWFkRGF0YQAABAA4ARxWZWM8dTg+AACdBAwcc3BfdHJpZTRzdG9yYWdlX3Byb29mMFN0b3JhZ2VQcm9vZgAABAEodHJpZV9ub2Rlc6EEAURCVHJlZVNldDxWZWM8dTg+PgAAoQQEIEJUcmVlU2V0BARUATgABAA1AQAAAKUEAAACqQQAqQQIYHBvbGthZG90X2NvcmVfcHJpbWl0aXZlc1hJbmJvdW5kRG93bndhcmRNZXNzYWdlBCxCbG9ja051bWJlcgEQAAgBHHNlbnRfYXQQASxCbG9ja051bWJlcgABDG1zZzgBPERvd253YXJkTWVzc2FnZQAArQQEIEJUcmVlTWFwCARLAdUBBFYBsQQABAC5BAAAALEEAAACtQQAtQQIYHBvbGthZG90X2NvcmVfcHJpbWl0aXZlc0hJbmJvdW5kSHJtcE1lc3NhZ2UELEJsb2NrTnVtYmVyARAACAEcc2VudF9hdBABLEJsb2NrTnVtYmVyAAEQZGF0YTgBTGFsbG9jOjp2ZWM6OlZlYzx1OD4AALkEAAACvQQAvQQAAAQI1QGxBADBBAxYc3RhZ2luZ19wYXJhY2hhaW5faW5mbxhwYWxsZXQQQ2FsbAQEVAABAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7FBAwocGFsbGV0X3hjbRhwYWxsZXQQQ2FsbAQEVAABOBBzZW5kCAEQZGVzdMkEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEcbWVzc2FnZekEAVRCb3g8VmVyc2lvbmVkWGNtPCgpPj4AAAA8dGVsZXBvcnRfYXNzZXRzEAEQZGVzdMkEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c+0FAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABOGZlZV9hc3NldF9pdGVtEAEMdTMyAAFIEQFUZWxlcG9ydCBzb21lIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byBzb21lIGRlc3RpbmF0aW9uIGNoYWluLgAdASoqVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkOiBVc2UgYGxpbWl0ZWRfdGVsZXBvcnRfYXNzZXRzYCBpbnN0ZWFkLioqAFEBRmVlIHBheW1lbnQgb24gdGhlIGRlc3RpbmF0aW9uIHNpZGUgaXMgbWFkZSBmcm9tIHRoZSBhc3NldCBpbiB0aGUgYGFzc2V0c2AgdmVjdG9yIG9mYQFpbmRleCBgZmVlX2Fzc2V0X2l0ZW1gLiBUaGUgd2VpZ2h0IGxpbWl0IGZvciBmZWVzIGlzIG5vdCBwcm92aWRlZCBhbmQgdGh1cyBpcyB1bmxpbWl0ZWQstHdpdGggYWxsIGZlZXMgdGFrZW4gYXMgbmVlZGVkIGZyb20gdGhlIGFzc2V0LgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uJQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFtQYXJlbnQsYQEgIFBhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFtQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tVCAgcmVsYXkgdG8gcGFyYWNoYWluLlUBLSBgYmVuZWZpY2lhcnlgOiBBIGJlbmVmaWNpYXJ5IGxvY2F0aW9uIGZvciB0aGUgYXNzZXRzIGluIHRoZSBjb250ZXh0IG9mIGBkZXN0YC4gV2lsbJggIGdlbmVyYWxseSBiZSBhbiBgQWNjb3VudElkMzJgIHZhbHVlLlkBLSBgYXNzZXRzYDogVGhlIGFzc2V0cyB0byBiZSB3aXRoZHJhd24uIFRoaXMgc2hvdWxkIGluY2x1ZGUgdGhlIGFzc2V0cyB1c2VkIHRvIHBheSB0aGVoICBmZWUgb24gdGhlIGBkZXN0YCBjaGFpbi5NAS0gYGZlZV9hc3NldF9pdGVtYDogVGhlIGluZGV4IGludG8gYGFzc2V0c2Agb2YgdGhlIGl0ZW0gd2hpY2ggc2hvdWxkIGJlIHVzZWQgdG8gcGF5HCAgZmVlcy5ccmVzZXJ2ZV90cmFuc2Zlcl9hc3NldHMQARBkZXN0yQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AASxiZW5lZmljaWFyeckEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRz7QUBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW0QAQx1MzIAAnhdAVRyYW5zZmVyIHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB0aHJvdWdoIHRoZWlyIGxvY2FsLHhkZXN0aW5hdGlvbiBvciByZW1vdGUgcmVzZXJ2ZS4APQFgYXNzZXRzYCBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIGFuZCBtYXkgbm90IGJlIHRlbGVwb3J0YWJsZSB0byBgZGVzdGAuTQEgLSBgYXNzZXRzYCBoYXZlIGxvY2FsIHJlc2VydmU6IHRyYW5zZmVyIGFzc2V0cyB0byBzb3ZlcmVpZ24gYWNjb3VudCBvZiBkZXN0aW5hdGlvbk0BICAgY2hhaW4gYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWRsICAgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuVQEgLSBgYXNzZXRzYCBoYXZlIGRlc3RpbmF0aW9uIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvWQEgICBgZGVzdGAgY2hhaW4gdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZIQgICBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC5hASAtIGBhc3NldHNgIGhhdmUgcmVtb3RlIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzLCBmb3J3YXJkIFhDTSB0byByZXNlcnZlIGNoYWluIHRvIG1vdmVhASAgIHJlc2VydmVzIGZyb20gdGhpcyBjaGFpbidzIFNBIHRvIGBkZXN0YCBjaGFpbidzIFNBLCBhbmQgZm9yd2FyZCBhbm90aGVyIFhDTSB0byBgZGVzdGD0ICAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLgA9ASoqVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkOiBVc2UgYGxpbWl0ZWRfcmVzZXJ2ZV90cmFuc2Zlcl9hc3NldHNgIGluc3RlYWQuKioAUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2ZhAWluZGV4IGBmZWVfYXNzZXRfaXRlbWAuIFRoZSB3ZWlnaHQgbGltaXQgZm9yIGZlZXMgaXMgbm90IHByb3ZpZGVkIGFuZCB0aHVzIGlzIHVubGltaXRlZCy0d2l0aCBhbGwgZmVlcyB0YWtlbiBhcyBuZWVkZWQgZnJvbSB0aGUgYXNzZXQuACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb21UICByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZcggIGZlZSBvbiB0aGUgYGRlc3RgIChhbmQgcG9zc2libHkgcmVzZXJ2ZSkgY2hhaW5zLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLhxleGVjdXRlCAEcbWVzc2FnZfEFAbRCb3g8VmVyc2lvbmVkWGNtPDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPj4AAShtYXhfd2VpZ2h0KAEYV2VpZ2h0AAMg0EV4ZWN1dGUgYW4gWENNIG1lc3NhZ2UgZnJvbSBhIGxvY2FsLCBzaWduZWQsIG9yaWdpbi4ATQFBbiBldmVudCBpcyBkZXBvc2l0ZWQgaW5kaWNhdGluZyB3aGV0aGVyIGBtc2dgIGNvdWxkIGJlIGV4ZWN1dGVkIGNvbXBsZXRlbHkgb3Igb25seShwYXJ0aWFsbHkuAF0BTm8gbW9yZSB0aGFuIGBtYXhfd2VpZ2h0YCB3aWxsIGJlIHVzZWQgaW4gaXRzIGF0dGVtcHRlZCBleGVjdXRpb24uIElmIHRoaXMgaXMgbGVzcyB0aGFuQQF0aGUgbWF4aW11bSBhbW91bnQgb2Ygd2VpZ2h0IHRoYXQgdGhlIG1lc3NhZ2UgY291bGQgdGFrZSB0byBiZSBleGVjdXRlZCwgdGhlbiBub3xleGVjdXRpb24gYXR0ZW1wdCB3aWxsIGJlIG1hZGUuRGZvcmNlX3hjbV92ZXJzaW9uCAEgbG9jYXRpb26VAQE0Qm94PExvY2F0aW9uPgABHHZlcnNpb24QAShYY21WZXJzaW9uAAQYSQFFeHRvbGwgdGhhdCBhIHBhcnRpY3VsYXIgZGVzdGluYXRpb24gY2FuIGJlIGNvbW11bmljYXRlZCB3aXRoIHRocm91Z2ggYSBwYXJ0aWN1bGFyPHZlcnNpb24gb2YgWENNLgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLtgtIGBsb2NhdGlvbmA6IFRoZSBkZXN0aW5hdGlvbiB0aGF0IGlzIGJlaW5nIGRlc2NyaWJlZC4RAS0gYHhjbV92ZXJzaW9uYDogVGhlIGxhdGVzdCB2ZXJzaW9uIG9mIFhDTSB0aGF0IGBsb2NhdGlvbmAgc3VwcG9ydHMuZGZvcmNlX2RlZmF1bHRfeGNtX3ZlcnNpb24EAURtYXliZV94Y21fdmVyc2lvbm0BAUhPcHRpb248WGNtVmVyc2lvbj4ABRRZAVNldCBhIHNhZmUgWENNIHZlcnNpb24gKHRoZSB2ZXJzaW9uIHRoYXQgWENNIHNob3VsZCBiZSBlbmNvZGVkIHdpdGggaWYgdGhlIG1vc3QgcmVjZW50tHZlcnNpb24gYSBkZXN0aW5hdGlvbiBjYW4gYWNjZXB0IGlzIHVua25vd24pLgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLjkBLSBgbWF5YmVfeGNtX3ZlcnNpb25gOiBUaGUgZGVmYXVsdCBYQ00gZW5jb2RpbmcgdmVyc2lvbiwgb3IgYE5vbmVgIHRvIGRpc2FibGUueGZvcmNlX3N1YnNjcmliZV92ZXJzaW9uX25vdGlmeQQBIGxvY2F0aW9uyQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4ABhA5AUFzayBhIGxvY2F0aW9uIHRvIG5vdGlmeSB1cyByZWdhcmRpbmcgdGhlaXIgWENNIHZlcnNpb24gYW5kIGFueSBjaGFuZ2VzIHRvIGl0LgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLlkBLSBgbG9jYXRpb25gOiBUaGUgbG9jYXRpb24gdG8gd2hpY2ggd2Ugc2hvdWxkIHN1YnNjcmliZSBmb3IgWENNIHZlcnNpb24gbm90aWZpY2F0aW9ucy6AZm9yY2VfdW5zdWJzY3JpYmVfdmVyc2lvbl9ub3RpZnkEASBsb2NhdGlvbskEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAcYSQFSZXF1aXJlIHRoYXQgYSBwYXJ0aWN1bGFyIGRlc3RpbmF0aW9uIHNob3VsZCBubyBsb25nZXIgbm90aWZ5IHVzIHJlZ2FyZGluZyBhbnkgWENNQHZlcnNpb24gY2hhbmdlcy4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi49AS0gYGxvY2F0aW9uYDogVGhlIGxvY2F0aW9uIHRvIHdoaWNoIHdlIGFyZSBjdXJyZW50bHkgc3Vic2NyaWJlZCBmb3IgWENNIHZlcnNpb26oICBub3RpZmljYXRpb25zIHdoaWNoIHdlIG5vIGxvbmdlciBkZXNpcmUufGxpbWl0ZWRfcmVzZXJ2ZV90cmFuc2Zlcl9hc3NldHMUARBkZXN0yQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AASxiZW5lZmljaWFyeckEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRz7QUBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW0QAQx1MzIAATB3ZWlnaHRfbGltaXSdBQEsV2VpZ2h0TGltaXQACHhdAVRyYW5zZmVyIHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB0aHJvdWdoIHRoZWlyIGxvY2FsLHhkZXN0aW5hdGlvbiBvciByZW1vdGUgcmVzZXJ2ZS4APQFgYXNzZXRzYCBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIGFuZCBtYXkgbm90IGJlIHRlbGVwb3J0YWJsZSB0byBgZGVzdGAuTQEgLSBgYXNzZXRzYCBoYXZlIGxvY2FsIHJlc2VydmU6IHRyYW5zZmVyIGFzc2V0cyB0byBzb3ZlcmVpZ24gYWNjb3VudCBvZiBkZXN0aW5hdGlvbk0BICAgY2hhaW4gYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWRsICAgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuVQEgLSBgYXNzZXRzYCBoYXZlIGRlc3RpbmF0aW9uIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvWQEgICBgZGVzdGAgY2hhaW4gdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZIQgICBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC5hASAtIGBhc3NldHNgIGhhdmUgcmVtb3RlIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzLCBmb3J3YXJkIFhDTSB0byByZXNlcnZlIGNoYWluIHRvIG1vdmVhASAgIHJlc2VydmVzIGZyb20gdGhpcyBjaGFpbidzIFNBIHRvIGBkZXN0YCBjaGFpbidzIFNBLCBhbmQgZm9yd2FyZCBhbm90aGVyIFhDTSB0byBgZGVzdGD0ICAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLgBRAUZlZSBwYXltZW50IG9uIHRoZSBkZXN0aW5hdGlvbiBzaWRlIGlzIG1hZGUgZnJvbSB0aGUgYXNzZXQgaW4gdGhlIGBhc3NldHNgIHZlY3RvciBvZmEBaW5kZXggYGZlZV9hc3NldF9pdGVtYCwgdXAgdG8gZW5vdWdoIHRvIHBheSBmb3IgYHdlaWdodF9saW1pdGAgb2Ygd2VpZ2h0LiBJZiBtb3JlIHdlaWdodFkBaXMgbmVlZGVkIHRoYW4gYHdlaWdodF9saW1pdGAsIHRoZW4gdGhlIG9wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBzZW50IGFzc2V0cyBtYXkgYmUgYXQgcmlzay4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLiUBLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBbUGFyZW50LGEBICBQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBbUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbVQgIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlyCAgZmVlIG9uIHRoZSBgZGVzdGAgKGFuZCBwb3NzaWJseSByZXNlcnZlKSBjaGFpbnMuTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS5cbGltaXRlZF90ZWxlcG9ydF9hc3NldHMUARBkZXN0yQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AASxiZW5lZmljaWFyeckEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRz7QUBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW0QAQx1MzIAATB3ZWlnaHRfbGltaXSdBQEsV2VpZ2h0TGltaXQACUgRAVRlbGVwb3J0IHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHNvbWUgZGVzdGluYXRpb24gY2hhaW4uAFEBRmVlIHBheW1lbnQgb24gdGhlIGRlc3RpbmF0aW9uIHNpZGUgaXMgbWFkZSBmcm9tIHRoZSBhc3NldCBpbiB0aGUgYGFzc2V0c2AgdmVjdG9yIG9mYQFpbmRleCBgZmVlX2Fzc2V0X2l0ZW1gLCB1cCB0byBlbm91Z2ggdG8gcGF5IGZvciBgd2VpZ2h0X2xpbWl0YCBvZiB3ZWlnaHQuIElmIG1vcmUgd2VpZ2h0WQFpcyBuZWVkZWQgdGhhbiBgd2VpZ2h0X2xpbWl0YCwgdGhlbiB0aGUgb3BlcmF0aW9uIHdpbGwgZmFpbCBhbmQgdGhlIHNlbnQgYXNzZXRzIG1heSBiZSBhdCByaXNrLgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uJQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFtQYXJlbnQsYQEgIFBhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFtQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tVCAgcmVsYXkgdG8gcGFyYWNoYWluLlUBLSBgYmVuZWZpY2lhcnlgOiBBIGJlbmVmaWNpYXJ5IGxvY2F0aW9uIGZvciB0aGUgYXNzZXRzIGluIHRoZSBjb250ZXh0IG9mIGBkZXN0YC4gV2lsbJggIGdlbmVyYWxseSBiZSBhbiBgQWNjb3VudElkMzJgIHZhbHVlLlkBLSBgYXNzZXRzYDogVGhlIGFzc2V0cyB0byBiZSB3aXRoZHJhd24uIFRoaXMgc2hvdWxkIGluY2x1ZGUgdGhlIGFzc2V0cyB1c2VkIHRvIHBheSB0aGVoICBmZWUgb24gdGhlIGBkZXN0YCBjaGFpbi5NAS0gYGZlZV9hc3NldF9pdGVtYDogVGhlIGluZGV4IGludG8gYGFzc2V0c2Agb2YgdGhlIGl0ZW0gd2hpY2ggc2hvdWxkIGJlIHVzZWQgdG8gcGF5HCAgZmVlcy5FAS0gYHdlaWdodF9saW1pdGA6IFRoZSByZW1vdGUtc2lkZSB3ZWlnaHQgbGltaXQsIGlmIGFueSwgZm9yIHRoZSBYQ00gZmVlIHB1cmNoYXNlLkBmb3JjZV9zdXNwZW5zaW9uBAEkc3VzcGVuZGVkIAEQYm9vbAAKEPRTZXQgb3IgdW5zZXQgdGhlIGdsb2JhbCBzdXNwZW5zaW9uIHN0YXRlIG9mIHRoZSBYQ00gZXhlY3V0b3IuANwtIGBvcmlnaW5gOiBNdXN0IGJlIGFuIG9yaWdpbiBzcGVjaWZpZWQgYnkgQWRtaW5PcmlnaW4u0C0gYHN1c3BlbmRlZGA6IGB0cnVlYCB0byBzdXNwZW5kLCBgZmFsc2VgIHRvIHJlc3VtZS48dHJhbnNmZXJfYXNzZXRzFAEQZGVzdMkEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c+0FAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABOGZlZV9hc3NldF9pdGVtEAEMdTMyAAEwd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0AAuEXQFUcmFuc2ZlciBzb21lIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byB0aGUgZGVzdGluYXRpb24gY2hhaW4gdGhyb3VnaCB0aGVpciBsb2NhbCzQZGVzdGluYXRpb24gb3IgcmVtb3RlIHJlc2VydmUsIG9yIHRocm91Z2ggdGVsZXBvcnRzLgBRAUZlZSBwYXltZW50IG9uIHRoZSBkZXN0aW5hdGlvbiBzaWRlIGlzIG1hZGUgZnJvbSB0aGUgYXNzZXQgaW4gdGhlIGBhc3NldHNgIHZlY3RvciBvZjUBaW5kZXggYGZlZV9hc3NldF9pdGVtYCAoaGVuY2UgcmVmZXJyZWQgdG8gYXMgYGZlZXNgKSwgdXAgdG8gZW5vdWdoIHRvIHBheSBmb3JBAWB3ZWlnaHRfbGltaXRgIG9mIHdlaWdodC4gSWYgbW9yZSB3ZWlnaHQgaXMgbmVlZGVkIHRoYW4gYHdlaWdodF9saW1pdGAsIHRoZW4gdGhl3G9wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBzZW50IGFzc2V0cyBtYXkgYmUgYXQgcmlzay4AYQFgYXNzZXRzYCAoZXhjbHVkaW5nIGBmZWVzYCkgbXVzdCBoYXZlIHNhbWUgcmVzZXJ2ZSBsb2NhdGlvbiBvciBvdGhlcndpc2UgYmUgdGVsZXBvcnRhYmxlsHRvIGBkZXN0YCwgbm8gbGltaXRhdGlvbnMgaW1wb3NlZCBvbiBgZmVlc2AuTQEgLSBmb3IgbG9jYWwgcmVzZXJ2ZTogdHJhbnNmZXIgYXNzZXRzIHRvIHNvdmVyZWlnbiBhY2NvdW50IG9mIGRlc3RpbmF0aW9uIGNoYWluIGFuZE0BICAgZm9yd2FyZCBhIG5vdGlmaWNhdGlvbiBYQ00gdG8gYGRlc3RgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZCBhc3NldHMgdG9EICAgYGJlbmVmaWNpYXJ5YC5hASAtIGZvciBkZXN0aW5hdGlvbiByZXNlcnZlOiBidXJuIGxvY2FsIGFzc2V0cyBhbmQgZm9yd2FyZCBhIG5vdGlmaWNhdGlvbiB0byBgZGVzdGAgY2hhaW5ZASAgIHRvIHdpdGhkcmF3IHRoZSByZXNlcnZlIGFzc2V0cyBmcm9tIHRoaXMgY2hhaW4ncyBzb3ZlcmVpZ24gYWNjb3VudCBhbmQgZGVwb3NpdCB0aGVtUCAgIHRvIGBiZW5lZmljaWFyeWAuXQEgLSBmb3IgcmVtb3RlIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzLCBmb3J3YXJkIFhDTSB0byByZXNlcnZlIGNoYWluIHRvIG1vdmUgcmVzZXJ2ZXNdASAgIGZyb20gdGhpcyBjaGFpbidzIFNBIHRvIGBkZXN0YCBjaGFpbidzIFNBLCBhbmQgZm9yd2FyZCBhbm90aGVyIFhDTSB0byBgZGVzdGAgdG8gbWludNQgICBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLlEBIC0gZm9yIHRlbGVwb3J0czogYnVybiBsb2NhbCBhc3NldHMgYW5kIGZvcndhcmQgWENNIHRvIGBkZXN0YCBjaGFpbiB0byBtaW50L3RlbGVwb3J0sCAgIGFzc2V0cyBhbmQgZGVwb3NpdCB0aGVtIHRvIGBiZW5lZmljaWFyeWAuACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4tAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgWDIoUGFyZW50LFUBICBQYXJhY2hhaW4oLi4pKWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBYMShQYXJhY2hhaW4oLi4pKWAgdG8gc2VuZGggIGZyb20gcmVsYXkgdG8gcGFyYWNoYWluLlUBLSBgYmVuZWZpY2lhcnlgOiBBIGJlbmVmaWNpYXJ5IGxvY2F0aW9uIGZvciB0aGUgYXNzZXRzIGluIHRoZSBjb250ZXh0IG9mIGBkZXN0YC4gV2lsbJggIGdlbmVyYWxseSBiZSBhbiBgQWNjb3VudElkMzJgIHZhbHVlLlkBLSBgYXNzZXRzYDogVGhlIGFzc2V0cyB0byBiZSB3aXRoZHJhd24uIFRoaXMgc2hvdWxkIGluY2x1ZGUgdGhlIGFzc2V0cyB1c2VkIHRvIHBheSB0aGXIICBmZWUgb24gdGhlIGBkZXN0YCAoYW5kIHBvc3NpYmx5IHJlc2VydmUpIGNoYWlucy5NAS0gYGZlZV9hc3NldF9pdGVtYDogVGhlIGluZGV4IGludG8gYGFzc2V0c2Agb2YgdGhlIGl0ZW0gd2hpY2ggc2hvdWxkIGJlIHVzZWQgdG8gcGF5HCAgZmVlcy5FAS0gYHdlaWdodF9saW1pdGA6IFRoZSByZW1vdGUtc2lkZSB3ZWlnaHQgbGltaXQsIGlmIGFueSwgZm9yIHRoZSBYQ00gZmVlIHB1cmNoYXNlLjBjbGFpbV9hc3NldHMIARhhc3NldHPtBQFQQm94PFZlcnNpb25lZEFzc2V0cz4AASxiZW5lZmljaWFyeckEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAwYVQFDbGFpbXMgYXNzZXRzIHRyYXBwZWQgb24gdGhpcyBwYWxsZXQgYmVjYXVzZSBvZiBsZWZ0b3ZlciBhc3NldHMgZHVyaW5nIFhDTSBleGVjdXRpb24uAKwtIGBvcmlnaW5gOiBBbnlvbmUgY2FuIGNhbGwgdGhpcyBleHRyaW5zaWMuXQEtIGBhc3NldHNgOiBUaGUgZXhhY3QgYXNzZXRzIHRoYXQgd2VyZSB0cmFwcGVkLiBVc2UgdGhlIHZlcnNpb24gdG8gc3BlY2lmeSB3aGF0IHZlcnNpb26Yd2FzIHRoZSBsYXRlc3Qgd2hlbiB0aGV5IHdlcmUgdHJhcHBlZC5FAS0gYGJlbmVmaWNpYXJ5YDogVGhlIGxvY2F0aW9uL2FjY291bnQgd2hlcmUgdGhlIGNsYWltZWQgYXNzZXRzIHdpbGwgYmUgZGVwb3NpdGVkLox0cmFuc2Zlcl9hc3NldHNfdXNpbmdfdHlwZV9hbmRfdGhlbhwBEGRlc3TJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c+0FAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABUGFzc2V0c190cmFuc2Zlcl90eXBlHQYBREJveDxUcmFuc2ZlclR5cGU+AAE4cmVtb3RlX2ZlZXNfaWQhBgFUQm94PFZlcnNpb25lZEFzc2V0SWQ+AAFIZmVlc190cmFuc2Zlcl90eXBlHQYBREJveDxUcmFuc2ZlclR5cGU+AAFIY3VzdG9tX3hjbV9vbl9kZXN06QQBVEJveDxWZXJzaW9uZWRYY208KCk+PgABMHdlaWdodF9saW1pdJ0FASxXZWlnaHRMaW1pdAANwFUBVHJhbnNmZXIgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB1c2luZyBleHBsaWNpdCB0cmFuc2Zlcmh0eXBlcyBmb3IgYXNzZXRzIGFuZCBmZWVzLgBZAWBhc3NldHNgIG11c3QgaGF2ZSBzYW1lIHJlc2VydmUgbG9jYXRpb24gb3IgbWF5IGJlIHRlbGVwb3J0YWJsZSB0byBgZGVzdGAuIENhbGxlciBtdXN07HByb3ZpZGUgdGhlIGBhc3NldHNfdHJhbnNmZXJfdHlwZWAgdG8gYmUgdXNlZCBmb3IgYGFzc2V0c2A6UQEgLSBgVHJhbnNmZXJUeXBlOjpMb2NhbFJlc2VydmVgOiB0cmFuc2ZlciBhc3NldHMgdG8gc292ZXJlaWduIGFjY291bnQgb2YgZGVzdGluYXRpb25NASAgIGNoYWluIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkbCAgIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLlkBIC0gYFRyYW5zZmVyVHlwZTo6RGVzdGluYXRpb25SZXNlcnZlYDogYnVybiBsb2NhbCBhc3NldHMgYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gdG9ZASAgIGBkZXN0YCBjaGFpbiB0byB3aXRoZHJhdyB0aGUgcmVzZXJ2ZSBhc3NldHMgZnJvbSB0aGlzIGNoYWluJ3Mgc292ZXJlaWduIGFjY291bnQgYW5khCAgIGRlcG9zaXQgdGhlbSB0byBgYmVuZWZpY2lhcnlgLlkBIC0gYFRyYW5zZmVyVHlwZTo6UmVtb3RlUmVzZXJ2ZShyZXNlcnZlKWA6IGJ1cm4gbG9jYWwgYXNzZXRzLCBmb3J3YXJkIFhDTSB0byBgcmVzZXJ2ZWBhASAgIGNoYWluIHRvIG1vdmUgcmVzZXJ2ZXMgZnJvbSB0aGlzIGNoYWluJ3MgU0EgdG8gYGRlc3RgIGNoYWluJ3MgU0EsIGFuZCBmb3J3YXJkIGFub3RoZXJVASAgIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLiBUeXBpY2FsbHmUICAgdGhlIHJlbW90ZSBgcmVzZXJ2ZWAgaXMgQXNzZXQgSHViLkUBIC0gYFRyYW5zZmVyVHlwZTo6VGVsZXBvcnRgOiBidXJuIGxvY2FsIGFzc2V0cyBhbmQgZm9yd2FyZCBYQ00gdG8gYGRlc3RgIGNoYWluIHRv6CAgIG1pbnQvdGVsZXBvcnQgYXNzZXRzIGFuZCBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC4AVQFPbiB0aGUgZGVzdGluYXRpb24gY2hhaW4sIGFzIHdlbGwgYXMgYW55IGludGVybWVkaWFyeSBob3BzLCBgQnV5RXhlY3V0aW9uYCBpcyB1c2VkIHRvIQFidXkgZXhlY3V0aW9uIHVzaW5nIHRyYW5zZmVycmVkIGBhc3NldHNgIGlkZW50aWZpZWQgYnkgYHJlbW90ZV9mZWVzX2lkYC5ZAU1ha2Ugc3VyZSBlbm91Z2ggb2YgdGhlIHNwZWNpZmllZCBgcmVtb3RlX2ZlZXNfaWRgIGFzc2V0IGlzIGluY2x1ZGVkIGluIHRoZSBnaXZlbiBsaXN0YQFvZiBgYXNzZXRzYC4gYHJlbW90ZV9mZWVzX2lkYCBzaG91bGQgYmUgZW5vdWdoIHRvIHBheSBmb3IgYHdlaWdodF9saW1pdGAuIElmIG1vcmUgd2VpZ2h0WQFpcyBuZWVkZWQgdGhhbiBgd2VpZ2h0X2xpbWl0YCwgdGhlbiB0aGUgb3BlcmF0aW9uIHdpbGwgZmFpbCBhbmQgdGhlIHNlbnQgYXNzZXRzIG1heSBiZSBhdCByaXNrLgBFAWByZW1vdGVfZmVlc19pZGAgbWF5IHVzZSBkaWZmZXJlbnQgdHJhbnNmZXIgdHlwZSB0aGFuIHJlc3Qgb2YgYGFzc2V0c2AgYW5kIGNhbiBiZZxzcGVjaWZpZWQgdGhyb3VnaCBgZmVlc190cmFuc2Zlcl90eXBlYC4AYQFUaGUgY2FsbGVyIG5lZWRzIHRvIHNwZWNpZnkgd2hhdCBzaG91bGQgaGFwcGVuIHRvIHRoZSB0cmFuc2ZlcnJlZCBhc3NldHMgb25jZSB0aGV5IHJlYWNoQQF0aGUgYGRlc3RgIGNoYWluLiBUaGlzIGlzIGRvbmUgdGhyb3VnaCB0aGUgYGN1c3RvbV94Y21fb25fZGVzdGAgcGFyYW1ldGVyLCB3aGljaPxjb250YWlucyB0aGUgaW5zdHJ1Y3Rpb25zIHRvIGV4ZWN1dGUgb24gYGRlc3RgIGFzIGEgZmluYWwgc3RlcC58ICBUaGlzIGlzIHVzdWFsbHkgYXMgc2ltcGxlIGFzOlEBICBgWGNtKHZlYyFbRGVwb3NpdEFzc2V0IHsgYXNzZXRzOiBXaWxkKEFsbENvdW50ZWQoYXNzZXRzLmxlbigpKSksIGJlbmVmaWNpYXJ5IH1dKWAsMQEgIGJ1dCBjb3VsZCBiZSBzb21ldGhpbmcgbW9yZSBleG90aWMgbGlrZSBzZW5kaW5nIHRoZSBgYXNzZXRzYCBldmVuIGZ1cnRoZXIuACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb209ASAgcmVsYXkgdG8gcGFyYWNoYWluLCBvciBgKHBhcmVudHM6IDIsIChHbG9iYWxDb25zZW5zdXMoLi4pLCAuLikpYCB0byBzZW5kIGZyb230ICBwYXJhY2hhaW4gYWNyb3NzIGEgYnJpZGdlIHRvIGFub3RoZXIgZWNvc3lzdGVtIGRlc3RpbmF0aW9uLlkBLSBgYXNzZXRzYDogVGhlIGFzc2V0cyB0byBiZSB3aXRoZHJhd24uIFRoaXMgc2hvdWxkIGluY2x1ZGUgdGhlIGFzc2V0cyB1c2VkIHRvIHBheSB0aGXIICBmZWUgb24gdGhlIGBkZXN0YCAoYW5kIHBvc3NpYmx5IHJlc2VydmUpIGNoYWlucy49AS0gYGFzc2V0c190cmFuc2Zlcl90eXBlYDogVGhlIFhDTSBgVHJhbnNmZXJUeXBlYCB1c2VkIHRvIHRyYW5zZmVyIHRoZSBgYXNzZXRzYC4hAS0gYHJlbW90ZV9mZWVzX2lkYDogT25lIG9mIHRoZSBpbmNsdWRlZCBgYXNzZXRzYCB0byBiZSB1c2VkIHRvIHBheSBmZWVzLkkBLSBgZmVlc190cmFuc2Zlcl90eXBlYDogVGhlIFhDTSBgVHJhbnNmZXJUeXBlYCB1c2VkIHRvIHRyYW5zZmVyIHRoZSBgZmVlc2AgYXNzZXRzLlkBLSBgY3VzdG9tX3hjbV9vbl9kZXN0YDogVGhlIFhDTSB0byBiZSBleGVjdXRlZCBvbiBgZGVzdGAgY2hhaW4gYXMgdGhlIGxhc3Qgc3RlcCBvZiB0aGVZASAgdHJhbnNmZXIsIHdoaWNoIGFsc28gZGV0ZXJtaW5lcyB3aGF0IGhhcHBlbnMgdG8gdGhlIGFzc2V0cyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuyQQIDHhjbURWZXJzaW9uZWRMb2NhdGlvbgABDAhWMgQAzQQBRHYyOjpNdWx0aUxvY2F0aW9uAAEACFYzBAAdAwFEdjM6Ok11bHRpTG9jYXRpb24AAwAIVjQEAJUBATB2NDo6TG9jYXRpb24ABAAAzQQQDHhjbQh2MjRtdWx0aWxvY2F0aW9uNE11bHRpTG9jYXRpb24AAAgBHHBhcmVudHMIAQh1OAABIGludGVyaW9y0QQBJEp1bmN0aW9ucwAA0QQQDHhjbQh2MjRtdWx0aWxvY2F0aW9uJEp1bmN0aW9ucwABJBBIZXJlAAAACFgxBADVBAEgSnVuY3Rpb24AAQAIWDIIANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAAIACFgzDADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAAMACFg0EADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24ABAAIWDUUANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAAUACFg2GADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAAYACFg3HADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24ABwAIWDggANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAAgAANUEEAx4Y20IdjIganVuY3Rpb24gSnVuY3Rpb24AASQkUGFyYWNoYWluBABpAQEMdTMyAAAALEFjY291bnRJZDMyCAEcbmV0d29ya9kEASROZXR3b3JrSWQAAQhpZAQBIFt1ODsgMzJdAAEAOEFjY291bnRJbmRleDY0CAEcbmV0d29ya9kEASROZXR3b3JrSWQAARRpbmRleCwBDHU2NAACADBBY2NvdW50S2V5MjAIARxuZXR3b3Jr2QQBJE5ldHdvcmtJZAABDGtleVkBASBbdTg7IDIwXQADADhQYWxsZXRJbnN0YW5jZQQACAEIdTgABAAwR2VuZXJhbEluZGV4BABBAQEQdTEyOAAFAChHZW5lcmFsS2V5BADdBAGAV2Vha0JvdW5kZWRWZWM8dTgsIENvbnN0VTMyPDMyPj4ABgAkT25seUNoaWxkAAcAJFBsdXJhbGl0eQgBCGlk4QQBGEJvZHlJZAABEHBhcnTlBAEgQm9keVBhcnQACAAA2QQMDHhjbQh2MiROZXR3b3JrSWQAARAMQW55AAAAFE5hbWVkBADdBAGAV2Vha0JvdW5kZWRWZWM8dTgsIENvbnN0VTMyPDMyPj4AAQAgUG9sa2Fkb3QAAgAYS3VzYW1hAAMAAN0EDExib3VuZGVkX2NvbGxlY3Rpb25zQHdlYWtfYm91bmRlZF92ZWM4V2Vha0JvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAA4QQMDHhjbQh2MhhCb2R5SWQAASgQVW5pdAAAABROYW1lZAQA3QQBgFdlYWtCb3VuZGVkVmVjPHU4LCBDb25zdFUzMjwzMj4+AAEAFEluZGV4BABpAQEMdTMyAAIAJEV4ZWN1dGl2ZQADACRUZWNobmljYWwABAAsTGVnaXNsYXRpdmUABQAgSnVkaWNpYWwABgAcRGVmZW5zZQAHADhBZG1pbmlzdHJhdGlvbgAIACBUcmVhc3VyeQAJAADlBAwMeGNtCHYyIEJvZHlQYXJ0AAEUFFZvaWNlAAAAHE1lbWJlcnMEARRjb3VudGkBAQx1MzIAAQAgRnJhY3Rpb24IAQxub21pAQEMdTMyAAEUZGVub21pAQEMdTMyAAIAREF0TGVhc3RQcm9wb3J0aW9uCAEMbm9taQEBDHUzMgABFGRlbm9taQEBDHUzMgADAEhNb3JlVGhhblByb3BvcnRpb24IAQxub21pAQEMdTMyAAEUZGVub21pAQEMdTMyAAQAAOkECAx4Y20wVmVyc2lvbmVkWGNtBCxSdW50aW1lQ2FsbAABDAhWMgQA7QQBUHYyOjpYY208UnVudGltZUNhbGw+AAIACFYzBAA5BQFQdjM6OlhjbTxSdW50aW1lQ2FsbD4AAwAIVjQEAKEFAVB2NDo6WGNtPFJ1bnRpbWVDYWxsPgAEAADtBAwMeGNtCHYyDFhjbQQsUnVudGltZUNhbGwAAAQA8QQBdFZlYzxJbnN0cnVjdGlvbjxSdW50aW1lQ2FsbD4+AADxBAAAAvUEAPUEDAx4Y20IdjIsSW5zdHJ1Y3Rpb24ELFJ1bnRpbWVDYWxsAAFwNFdpdGhkcmF3QXNzZXQEAPkEASxNdWx0aUFzc2V0cwAAAFRSZXNlcnZlQXNzZXREZXBvc2l0ZWQEAPkEASxNdWx0aUFzc2V0cwABAFhSZWNlaXZlVGVsZXBvcnRlZEFzc2V0BAD5BAEsTXVsdGlBc3NldHMAAgA0UXVlcnlSZXNwb25zZQwBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABIHJlc3BvbnNlEQUBIFJlc3BvbnNlAAEobWF4X3dlaWdodCwBDHU2NAADADRUcmFuc2ZlckFzc2V0CAEYYXNzZXRz+QQBLE11bHRpQXNzZXRzAAEsYmVuZWZpY2lhcnnNBAE0TXVsdGlMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c/kEASxNdWx0aUFzc2V0cwABEGRlc3TNBAE0TXVsdGlMb2NhdGlvbgABDHhjbe0EARxYY208KCk+AAUAIFRyYW5zYWN0DAEsb3JpZ2luX3R5cGUhBQEoT3JpZ2luS2luZAABWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QsAQx1NjQAARBjYWxsJQUBaERvdWJsZUVuY29kZWQ8UnVudGltZUNhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJpAQEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZWkBAQx1MzIAATBtYXhfY2FwYWNpdHlpAQEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRpAQEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvcmkBAQx1MzIAARhzZW5kZXJpAQEMdTMyAAEkcmVjaXBpZW50aQEBDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBADRBAFUSW50ZXJpb3JNdWx0aUxvY2F0aW9uAAsALFJlcG9ydEVycm9yDAEgcXVlcnlfaWQsARxRdWVyeUlkAAEQZGVzdM0EATRNdWx0aUxvY2F0aW9uAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCwBDHU2NAAMADBEZXBvc2l0QXNzZXQMARhhc3NldHMpBQFATXVsdGlBc3NldEZpbHRlcgABKG1heF9hc3NldHNpAQEMdTMyAAEsYmVuZWZpY2lhcnnNBAE0TXVsdGlMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0EAEYYXNzZXRzKQUBQE11bHRpQXNzZXRGaWx0ZXIAAShtYXhfYXNzZXRzaQEBDHUzMgABEGRlc3TNBAE0TXVsdGlMb2NhdGlvbgABDHhjbe0EARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQIARBnaXZlKQUBQE11bHRpQXNzZXRGaWx0ZXIAARxyZWNlaXZl+QQBLE11bHRpQXNzZXRzAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRzKQUBQE11bHRpQXNzZXRGaWx0ZXIAARxyZXNlcnZlzQQBNE11bHRpTG9jYXRpb24AAQx4Y23tBAEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRzKQUBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN0zQQBNE11bHRpTG9jYXRpb24AAQx4Y23tBAEcWGNtPCgpPgARADBRdWVyeUhvbGRpbmcQASBxdWVyeV9pZCwBHFF1ZXJ5SWQAARBkZXN0zQQBNE11bHRpTG9jYXRpb24AARhhc3NldHMpBQFATXVsdGlBc3NldEZpbHRlcgABTG1heF9yZXNwb25zZV93ZWlnaHQsAQx1NjQAEgAwQnV5RXhlY3V0aW9uCAEQZmVlcwEFAShNdWx0aUFzc2V0AAEwd2VpZ2h0X2xpbWl0NQUBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBADtBAFAWGNtPFJ1bnRpbWVDYWxsPgAVACxTZXRBcHBlbmRpeAQA7QQBQFhjbTxSdW50aW1lQ2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRz+QQBLE11bHRpQXNzZXRzAAEYdGlja2V0zQQBNE11bHRpTG9jYXRpb24AGAAQVHJhcAQALAEMdTY0ABkAQFN1YnNjcmliZVZlcnNpb24IASBxdWVyeV9pZCwBHFF1ZXJ5SWQAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0LAEMdTY0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbAAD5BBAMeGNtCHYyKG11bHRpYXNzZXQsTXVsdGlBc3NldHMAAAQA/QQBPFZlYzxNdWx0aUFzc2V0PgAA/QQAAAIBBQABBRAMeGNtCHYyKG11bHRpYXNzZXQoTXVsdGlBc3NldAAACAEIaWQFBQEcQXNzZXRJZAABDGZ1bgkFASxGdW5naWJpbGl0eQAABQUQDHhjbQh2MihtdWx0aWFzc2V0HEFzc2V0SWQAAQggQ29uY3JldGUEAM0EATRNdWx0aUxvY2F0aW9uAAAAIEFic3RyYWN0BAA4ARxWZWM8dTg+AAEAAAkFEAx4Y20IdjIobXVsdGlhc3NldCxGdW5naWJpbGl0eQABCCBGdW5naWJsZQQAQQEBEHUxMjgAAAAsTm9uRnVuZ2libGUEAA0FATRBc3NldEluc3RhbmNlAAEAAA0FEAx4Y20IdjIobXVsdGlhc3NldDRBc3NldEluc3RhbmNlAAEcJFVuZGVmaW5lZAAAABRJbmRleAQAQQEBEHUxMjgAAQAYQXJyYXk0BABIARxbdTg7IDRdAAIAGEFycmF5OAQAFQIBHFt1ODsgOF0AAwAcQXJyYXkxNgQANQIBIFt1ODsgMTZdAAQAHEFycmF5MzIEAAQBIFt1ODsgMzJdAAUAEEJsb2IEADgBHFZlYzx1OD4ABgAAEQUMDHhjbQh2MiBSZXNwb25zZQABEBBOdWxsAAAAGEFzc2V0cwQA+QQBLE11bHRpQXNzZXRzAAEAPEV4ZWN1dGlvblJlc3VsdAQAFQUBUE9wdGlvbjwodTMyLCBFcnJvcik+AAIAHFZlcnNpb24EABABOHN1cGVyOjpWZXJzaW9uAAMAABUFBBhPcHRpb24EBFQBGQUBCBBOb25lAAAAEFNvbWUEABkFAAABAAAZBQAABAgQHQUAHQUQDHhjbQh2Mhh0cmFpdHMURXJyb3IAAWggT3ZlcmZsb3cAAAA0VW5pbXBsZW1lbnRlZAABAGBVbnRydXN0ZWRSZXNlcnZlTG9jYXRpb24AAgBkVW50cnVzdGVkVGVsZXBvcnRMb2NhdGlvbgADAERNdWx0aUxvY2F0aW9uRnVsbAAEAGhNdWx0aUxvY2F0aW9uTm90SW52ZXJ0aWJsZQAFACRCYWRPcmlnaW4ABgA8SW52YWxpZExvY2F0aW9uAAcANEFzc2V0Tm90Rm91bmQACABURmFpbGVkVG9UcmFuc2FjdEFzc2V0AAkAPE5vdFdpdGhkcmF3YWJsZQAKAEhMb2NhdGlvbkNhbm5vdEhvbGQACwBURXhjZWVkc01heE1lc3NhZ2VTaXplAAwAWERlc3RpbmF0aW9uVW5zdXBwb3J0ZWQADQAkVHJhbnNwb3J0AA4AKFVucm91dGFibGUADwAwVW5rbm93bkNsYWltABAAOEZhaWxlZFRvRGVjb2RlABEAQE1heFdlaWdodEludmFsaWQAEgA4Tm90SG9sZGluZ0ZlZXMAEwAwVG9vRXhwZW5zaXZlABQAEFRyYXAEADABDHU2NAAVAExVbmhhbmRsZWRYY21WZXJzaW9uABYASFdlaWdodExpbWl0UmVhY2hlZAQAMAEYV2VpZ2h0ABcAHEJhcnJpZXIAGABMV2VpZ2h0Tm90Q29tcHV0YWJsZQAZAAAhBQwMeGNtCHYyKE9yaWdpbktpbmQAARAYTmF0aXZlAAAAQFNvdmVyZWlnbkFjY291bnQAAQAkU3VwZXJ1c2VyAAIADFhjbQADAAAlBQwMeGNtOGRvdWJsZV9lbmNvZGVkNERvdWJsZUVuY29kZWQEBFQAAAQBHGVuY29kZWQ4ARxWZWM8dTg+AAApBRAMeGNtCHYyKG11bHRpYXNzZXRATXVsdGlBc3NldEZpbHRlcgABCCBEZWZpbml0ZQQA+QQBLE11bHRpQXNzZXRzAAAAEFdpbGQEAC0FAThXaWxkTXVsdGlBc3NldAABAAAtBRAMeGNtCHYyKG11bHRpYXNzZXQ4V2lsZE11bHRpQXNzZXQAAQgMQWxsAAAAFEFsbE9mCAEIaWQFBQEcQXNzZXRJZAABDGZ1bjEFATxXaWxkRnVuZ2liaWxpdHkAAQAAMQUQDHhjbQh2MihtdWx0aWFzc2V0PFdpbGRGdW5naWJpbGl0eQABCCBGdW5naWJsZQAAACxOb25GdW5naWJsZQABAAA1BQwMeGNtCHYyLFdlaWdodExpbWl0AAEIJFVubGltaXRlZAAAABxMaW1pdGVkBAAsAQx1NjQAAQAAOQUMDHhjbQh2MwxYY20EEENhbGwAAAQAPQUBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AAD0FAAACQQUAQQUMDHhjbQh2MyxJbnN0cnVjdGlvbgQQQ2FsbAABwDRXaXRoZHJhd0Fzc2V0BABFBQEsTXVsdGlBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBABFBQEsTXVsdGlBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQARQUBLE11bHRpQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UQASBxdWVyeV9pZCwBHFF1ZXJ5SWQAASByZXNwb25zZV0FASBSZXNwb25zZQABKG1heF93ZWlnaHQoARhXZWlnaHQAARxxdWVyaWVyhQUBVE9wdGlvbjxNdWx0aUxvY2F0aW9uPgADADRUcmFuc2ZlckFzc2V0CAEYYXNzZXRzRQUBLE11bHRpQXNzZXRzAAEsYmVuZWZpY2lhcnkdAwE0TXVsdGlMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c0UFASxNdWx0aUFzc2V0cwABEGRlc3QdAwE0TXVsdGlMb2NhdGlvbgABDHhjbTkFARxYY208KCk+AAUAIFRyYW5zYWN0DAEsb3JpZ2luX2tpbmSJBQEoT3JpZ2luS2luZAABWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QoARhXZWlnaHQAARBjYWxsJQUBTERvdWJsZUVuY29kZWQ8Q2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlcmkBAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplaQEBDHUzMgABMG1heF9jYXBhY2l0eWkBAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudGkBAQx1MzIACABISHJtcENoYW5uZWxDbG9zaW5nDAEkaW5pdGlhdG9yaQEBDHUzMgABGHNlbmRlcmkBAQx1MzIAASRyZWNpcGllbnRpAQEMdTMyAAkALENsZWFyT3JpZ2luAAoANERlc2NlbmRPcmlnaW4EACEDAVRJbnRlcmlvck11bHRpTG9jYXRpb24ACwAsUmVwb3J0RXJyb3IEAI0FAURRdWVyeVJlc3BvbnNlSW5mbwAMADBEZXBvc2l0QXNzZXQIARhhc3NldHORBQFATXVsdGlBc3NldEZpbHRlcgABLGJlbmVmaWNpYXJ5HQMBNE11bHRpTG9jYXRpb24ADQBMRGVwb3NpdFJlc2VydmVBc3NldAwBGGFzc2V0c5EFAUBNdWx0aUFzc2V0RmlsdGVyAAEQZGVzdB0DATRNdWx0aUxvY2F0aW9uAAEMeGNtOQUBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAwBEGdpdmWRBQFATXVsdGlBc3NldEZpbHRlcgABEHdhbnRFBQEsTXVsdGlBc3NldHMAARxtYXhpbWFsIAEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0c5EFAUBNdWx0aUFzc2V0RmlsdGVyAAEccmVzZXJ2ZR0DATRNdWx0aUxvY2F0aW9uAAEMeGNtOQUBHFhjbTwoKT4AEABASW5pdGlhdGVUZWxlcG9ydAwBGGFzc2V0c5EFAUBNdWx0aUFzc2V0RmlsdGVyAAEQZGVzdB0DATRNdWx0aUxvY2F0aW9uAAEMeGNtOQUBHFhjbTwoKT4AEQA0UmVwb3J0SG9sZGluZwgBNHJlc3BvbnNlX2luZm+NBQFEUXVlcnlSZXNwb25zZUluZm8AARhhc3NldHORBQFATXVsdGlBc3NldEZpbHRlcgASADBCdXlFeGVjdXRpb24IARBmZWVzTQUBKE11bHRpQXNzZXQAATB3ZWlnaHRfbGltaXSdBQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEADkFASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEADkFASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRzRQUBLE11bHRpQXNzZXRzAAEYdGlja2V0HQMBNE11bHRpTG9jYXRpb24AGAAQVHJhcAQALAEMdTY0ABkAQFN1YnNjcmliZVZlcnNpb24IASBxdWVyeV9pZCwBHFF1ZXJ5SWQAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0KAEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEAEUFASxNdWx0aUFzc2V0cwAcACxFeHBlY3RBc3NldAQARQUBLE11bHRpQXNzZXRzAB0AMEV4cGVjdE9yaWdpbgQAhQUBVE9wdGlvbjxNdWx0aUxvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQAYQUBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBAB9BQE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZTgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZvjQUBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4aQEBDHUzMgABEG5hbWU4ARxWZWM8dTg+AAEsbW9kdWxlX25hbWU4ARxWZWM8dTg+AAEsY3JhdGVfbWFqb3JpAQEMdTMyAAE8bWluX2NyYXRlX21pbm9yaQEBDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQAjQUBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBAAlAwEgSnVuY3Rpb24AJQA0RXhwb3J0TWVzc2FnZQwBHG5ldHdvcmstAwEkTmV0d29ya0lkAAEsZGVzdGluYXRpb24hAwFUSW50ZXJpb3JNdWx0aUxvY2F0aW9uAAEMeGNtOQUBHFhjbTwoKT4AJgAkTG9ja0Fzc2V0CAEUYXNzZXRNBQEoTXVsdGlBc3NldAABIHVubG9ja2VyHQMBNE11bHRpTG9jYXRpb24AJwAsVW5sb2NrQXNzZXQIARRhc3NldE0FAShNdWx0aUFzc2V0AAEYdGFyZ2V0HQMBNE11bHRpTG9jYXRpb24AKAA4Tm90ZVVubG9ja2FibGUIARRhc3NldE0FAShNdWx0aUFzc2V0AAEUb3duZXIdAwE0TXVsdGlMb2NhdGlvbgApADRSZXF1ZXN0VW5sb2NrCAEUYXNzZXRNBQEoTXVsdGlBc3NldAABGGxvY2tlch0DATRNdWx0aUxvY2F0aW9uACoALFNldEZlZXNNb2RlBAEwaml0X3dpdGhkcmF3IAEQYm9vbAArACBTZXRUb3BpYwQABAEgW3U4OyAzMl0ALAAoQ2xlYXJUb3BpYwAtACxBbGlhc09yaWdpbgQAHQMBNE11bHRpTG9jYXRpb24ALgA8VW5wYWlkRXhlY3V0aW9uCAEwd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0AAEwY2hlY2tfb3JpZ2luhQUBVE9wdGlvbjxNdWx0aUxvY2F0aW9uPgAvAABFBRAMeGNtCHYzKG11bHRpYXNzZXQsTXVsdGlBc3NldHMAAAQASQUBPFZlYzxNdWx0aUFzc2V0PgAASQUAAAJNBQBNBRAMeGNtCHYzKG11bHRpYXNzZXQoTXVsdGlBc3NldAAACAEIaWRRBQEcQXNzZXRJZAABDGZ1blUFASxGdW5naWJpbGl0eQAAUQUQDHhjbQh2MyhtdWx0aWFzc2V0HEFzc2V0SWQAAQggQ29uY3JldGUEAB0DATRNdWx0aUxvY2F0aW9uAAAAIEFic3RyYWN0BAAEASBbdTg7IDMyXQABAABVBRAMeGNtCHYzKG11bHRpYXNzZXQsRnVuZ2liaWxpdHkAAQggRnVuZ2libGUEAEEBARB1MTI4AAAALE5vbkZ1bmdpYmxlBABZBQE0QXNzZXRJbnN0YW5jZQABAABZBRAMeGNtCHYzKG11bHRpYXNzZXQ0QXNzZXRJbnN0YW5jZQABGCRVbmRlZmluZWQAAAAUSW5kZXgEAEEBARB1MTI4AAEAGEFycmF5NAQASAEcW3U4OyA0XQACABhBcnJheTgEABUCARxbdTg7IDhdAAMAHEFycmF5MTYEADUCASBbdTg7IDE2XQAEABxBcnJheTMyBAAEASBbdTg7IDMyXQAFAABdBQwMeGNtCHYzIFJlc3BvbnNlAAEYEE51bGwAAAAYQXNzZXRzBABFBQEsTXVsdGlBc3NldHMAAQA8RXhlY3V0aW9uUmVzdWx0BABhBQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AAgAcVmVyc2lvbgQAEAE4c3VwZXI6OlZlcnNpb24AAwAsUGFsbGV0c0luZm8EAG0FAZhCb3VuZGVkVmVjPFBhbGxldEluZm8sIE1heFBhbGxldHNJbmZvPgAEADhEaXNwYXRjaFJlc3VsdAQAfQUBOE1heWJlRXJyb3JDb2RlAAUAAGEFBBhPcHRpb24EBFQBZQUBCBBOb25lAAAAEFNvbWUEAGUFAAABAABlBQAABAgQaQUAaQUQDHhjbQh2Mxh0cmFpdHMURXJyb3IAAaAgT3ZlcmZsb3cAAAA0VW5pbXBsZW1lbnRlZAABAGBVbnRydXN0ZWRSZXNlcnZlTG9jYXRpb24AAgBkVW50cnVzdGVkVGVsZXBvcnRMb2NhdGlvbgADADBMb2NhdGlvbkZ1bGwABABUTG9jYXRpb25Ob3RJbnZlcnRpYmxlAAUAJEJhZE9yaWdpbgAGADxJbnZhbGlkTG9jYXRpb24ABwA0QXNzZXROb3RGb3VuZAAIAFRGYWlsZWRUb1RyYW5zYWN0QXNzZXQACQA8Tm90V2l0aGRyYXdhYmxlAAoASExvY2F0aW9uQ2Fubm90SG9sZAALAFRFeGNlZWRzTWF4TWVzc2FnZVNpemUADABYRGVzdGluYXRpb25VbnN1cHBvcnRlZAANACRUcmFuc3BvcnQADgAoVW5yb3V0YWJsZQAPADBVbmtub3duQ2xhaW0AEAA4RmFpbGVkVG9EZWNvZGUAEQBATWF4V2VpZ2h0SW52YWxpZAASADhOb3RIb2xkaW5nRmVlcwATADBUb29FeHBlbnNpdmUAFAAQVHJhcAQAMAEMdTY0ABUAQEV4cGVjdGF0aW9uRmFsc2UAFgA4UGFsbGV0Tm90Rm91bmQAFwAwTmFtZU1pc21hdGNoABgATFZlcnNpb25JbmNvbXBhdGlibGUAGQBQSG9sZGluZ1dvdWxkT3ZlcmZsb3cAGgAsRXhwb3J0RXJyb3IAGwA4UmVhbmNob3JGYWlsZWQAHAAYTm9EZWFsAB0AKEZlZXNOb3RNZXQAHgAkTG9ja0Vycm9yAB8AME5vUGVybWlzc2lvbgAgAChVbmFuY2hvcmVkACEAOE5vdERlcG9zaXRhYmxlACIATFVuaGFuZGxlZFhjbVZlcnNpb24AIwBIV2VpZ2h0TGltaXRSZWFjaGVkBAAoARhXZWlnaHQAJAAcQmFycmllcgAlAExXZWlnaHROb3RDb21wdXRhYmxlACYAREV4Y2VlZHNTdGFja0xpbWl0ACcAAG0FDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBcQUEUwAABAB5BQEYVmVjPFQ+AABxBQwMeGNtCHYzKFBhbGxldEluZm8AABgBFGluZGV4aQEBDHUzMgABEG5hbWV1BQGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AASxtb2R1bGVfbmFtZXUFAYBCb3VuZGVkVmVjPHU4LCBNYXhQYWxsZXROYW1lTGVuPgABFG1ham9yaQEBDHUzMgABFG1pbm9yaQEBDHUzMgABFHBhdGNoaQEBDHUzMgAAdQUMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AAB5BQAAAnEFAH0FDAx4Y20IdjM4TWF5YmVFcnJvckNvZGUAAQwcU3VjY2VzcwAAABRFcnJvcgQAgQUBjEJvdW5kZWRWZWM8dTgsIE1heERpc3BhdGNoRXJyb3JMZW4+AAEAOFRydW5jYXRlZEVycm9yBACBBQGMQm91bmRlZFZlYzx1OCwgTWF4RGlzcGF0Y2hFcnJvckxlbj4AAgAAgQUMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AACFBQQYT3B0aW9uBARUAR0DAQgQTm9uZQAAABBTb21lBAAdAwAAAQAAiQUMDHhjbQh2MyhPcmlnaW5LaW5kAAEQGE5hdGl2ZQAAAEBTb3ZlcmVpZ25BY2NvdW50AAEAJFN1cGVydXNlcgACAAxYY20AAwAAjQUMDHhjbQh2M0RRdWVyeVJlc3BvbnNlSW5mbwAADAEsZGVzdGluYXRpb24dAwE0TXVsdGlMb2NhdGlvbgABIHF1ZXJ5X2lkLAEcUXVlcnlJZAABKG1heF93ZWlnaHQoARhXZWlnaHQAAJEFEAx4Y20IdjMobXVsdGlhc3NldEBNdWx0aUFzc2V0RmlsdGVyAAEIIERlZmluaXRlBABFBQEsTXVsdGlBc3NldHMAAAAQV2lsZAQAlQUBOFdpbGRNdWx0aUFzc2V0AAEAAJUFEAx4Y20IdjMobXVsdGlhc3NldDhXaWxkTXVsdGlBc3NldAABEAxBbGwAAAAUQWxsT2YIAQhpZFEFARxBc3NldElkAAEMZnVumQUBPFdpbGRGdW5naWJpbGl0eQABAChBbGxDb3VudGVkBABpAQEMdTMyAAIAMEFsbE9mQ291bnRlZAwBCGlkUQUBHEFzc2V0SWQAAQxmdW6ZBQE8V2lsZEZ1bmdpYmlsaXR5AAEUY291bnRpAQEMdTMyAAMAAJkFEAx4Y20IdjMobXVsdGlhc3NldDxXaWxkRnVuZ2liaWxpdHkAAQggRnVuZ2libGUAAAAsTm9uRnVuZ2libGUAAQAAnQUMDHhjbQh2MyxXZWlnaHRMaW1pdAABCCRVbmxpbWl0ZWQAAAAcTGltaXRlZAQAKAEYV2VpZ2h0AAEAAKEFDCxzdGFnaW5nX3hjbQh2NAxYY20EEENhbGwAAAQApQUBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AAKUFAAACqQUAqQUMLHN0YWdpbmdfeGNtCHY0LEluc3RydWN0aW9uBBBDYWxsAAHANFdpdGhkcmF3QXNzZXQEAK0FARhBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBACtBQEYQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAK0FARhBc3NldHMAAgA0UXVlcnlSZXNwb25zZRABIHF1ZXJ5X2lkLAEcUXVlcnlJZAABIHJlc3BvbnNlxQUBIFJlc3BvbnNlAAEobWF4X3dlaWdodCgBGFdlaWdodAABHHF1ZXJpZXLZBQFAT3B0aW9uPExvY2F0aW9uPgADADRUcmFuc2ZlckFzc2V0CAEYYXNzZXRzrQUBGEFzc2V0cwABLGJlbmVmaWNpYXJ5lQEBIExvY2F0aW9uAAQAUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0DAEYYXNzZXRzrQUBGEFzc2V0cwABEGRlc3SVAQEgTG9jYXRpb24AAQx4Y22hBQEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl9raW5kiQUBKE9yaWdpbktpbmQAAVhyZXF1aXJlX3dlaWdodF9hdF9tb3N0KAEYV2VpZ2h0AAEQY2FsbCUFAUxEb3VibGVFbmNvZGVkPENhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJpAQEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZWkBAQx1MzIAATBtYXhfY2FwYWNpdHlpAQEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRpAQEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvcmkBAQx1MzIAARhzZW5kZXJpAQEMdTMyAAEkcmVjaXBpZW50aQEBDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBACZAQFASW50ZXJpb3JMb2NhdGlvbgALACxSZXBvcnRFcnJvcgQA3QUBRFF1ZXJ5UmVzcG9uc2VJbmZvAAwAMERlcG9zaXRBc3NldAgBGGFzc2V0c+EFASxBc3NldEZpbHRlcgABLGJlbmVmaWNpYXJ5lQEBIExvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHPhBQEsQXNzZXRGaWx0ZXIAARBkZXN0lQEBIExvY2F0aW9uAAEMeGNtoQUBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAwBEGdpdmXhBQEsQXNzZXRGaWx0ZXIAARB3YW50rQUBGEFzc2V0cwABHG1heGltYWwgARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRz4QUBLEFzc2V0RmlsdGVyAAEccmVzZXJ2ZZUBASBMb2NhdGlvbgABDHhjbaEFARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHPhBQEsQXNzZXRGaWx0ZXIAARBkZXN0lQEBIExvY2F0aW9uAAEMeGNtoQUBHFhjbTwoKT4AEQA0UmVwb3J0SG9sZGluZwgBNHJlc3BvbnNlX2luZm/dBQFEUXVlcnlSZXNwb25zZUluZm8AARhhc3NldHPhBQEsQXNzZXRGaWx0ZXIAEgAwQnV5RXhlY3V0aW9uCAEQZmVlc7UFARRBc3NldAABMHdlaWdodF9saW1pdJ0FASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQAoQUBJFhjbTxDYWxsPgAVACxTZXRBcHBlbmRpeAQAoQUBJFhjbTxDYWxsPgAWAChDbGVhckVycm9yABcAKENsYWltQXNzZXQIARhhc3NldHOtBQEYQXNzZXRzAAEYdGlja2V0lQEBIExvY2F0aW9uABgAEFRyYXAEACwBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWQsARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCgBGFdlaWdodAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAkQnVybkFzc2V0BACtBQEYQXNzZXRzABwALEV4cGVjdEFzc2V0BACtBQEYQXNzZXRzAB0AMEV4cGVjdE9yaWdpbgQA2QUBQE9wdGlvbjxMb2NhdGlvbj4AHgAsRXhwZWN0RXJyb3IEAGEFAVBPcHRpb248KHUzMiwgRXJyb3IpPgAfAFBFeHBlY3RUcmFuc2FjdFN0YXR1cwQAfQUBOE1heWJlRXJyb3JDb2RlACAALFF1ZXJ5UGFsbGV0CAEsbW9kdWxlX25hbWU4ARxWZWM8dTg+AAE0cmVzcG9uc2VfaW5mb90FAURRdWVyeVJlc3BvbnNlSW5mbwAhADBFeHBlY3RQYWxsZXQUARRpbmRleGkBAQx1MzIAARBuYW1lOAEcVmVjPHU4PgABLG1vZHVsZV9uYW1lOAEcVmVjPHU4PgABLGNyYXRlX21ham9yaQEBDHUzMgABPG1pbl9jcmF0ZV9taW5vcmkBAQx1MzIAIgBQUmVwb3J0VHJhbnNhY3RTdGF0dXMEAN0FAURRdWVyeVJlc3BvbnNlSW5mbwAjAExDbGVhclRyYW5zYWN0U3RhdHVzACQAPFVuaXZlcnNhbE9yaWdpbgQAoQEBIEp1bmN0aW9uACUANEV4cG9ydE1lc3NhZ2UMARxuZXR3b3JrqQEBJE5ldHdvcmtJZAABLGRlc3RpbmF0aW9umQEBQEludGVyaW9yTG9jYXRpb24AAQx4Y22hBQEcWGNtPCgpPgAmACRMb2NrQXNzZXQIARRhc3NldLUFARRBc3NldAABIHVubG9ja2VylQEBIExvY2F0aW9uACcALFVubG9ja0Fzc2V0CAEUYXNzZXS1BQEUQXNzZXQAARh0YXJnZXSVAQEgTG9jYXRpb24AKAA4Tm90ZVVubG9ja2FibGUIARRhc3NldLUFARRBc3NldAABFG93bmVylQEBIExvY2F0aW9uACkANFJlcXVlc3RVbmxvY2sIARRhc3NldLUFARRBc3NldAABGGxvY2tlcpUBASBMb2NhdGlvbgAqACxTZXRGZWVzTW9kZQQBMGppdF93aXRoZHJhdyABEGJvb2wAKwAgU2V0VG9waWMEAAQBIFt1ODsgMzJdACwAKENsZWFyVG9waWMALQAsQWxpYXNPcmlnaW4EAJUBASBMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXSdBQEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW7ZBQFAT3B0aW9uPExvY2F0aW9uPgAvAACtBRAsc3RhZ2luZ194Y20IdjQUYXNzZXQYQXNzZXRzAAAEALEFAShWZWM8QXNzZXQ+AACxBQAAArUFALUFECxzdGFnaW5nX3hjbQh2NBRhc3NldBRBc3NldAAACAEIaWS5BQEcQXNzZXRJZAABDGZ1br0FASxGdW5naWJpbGl0eQAAuQUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0HEFzc2V0SWQAAAQAlQEBIExvY2F0aW9uAAC9BRAsc3RhZ2luZ194Y20IdjQUYXNzZXQsRnVuZ2liaWxpdHkAAQggRnVuZ2libGUEAEEBARB1MTI4AAAALE5vbkZ1bmdpYmxlBADBBQE0QXNzZXRJbnN0YW5jZQABAADBBRAsc3RhZ2luZ194Y20IdjQUYXNzZXQ0QXNzZXRJbnN0YW5jZQABGCRVbmRlZmluZWQAAAAUSW5kZXgEAEEBARB1MTI4AAEAGEFycmF5NAQASAEcW3U4OyA0XQACABhBcnJheTgEABUCARxbdTg7IDhdAAMAHEFycmF5MTYEADUCASBbdTg7IDE2XQAEABxBcnJheTMyBAAEASBbdTg7IDMyXQAFAADFBQwsc3RhZ2luZ194Y20IdjQgUmVzcG9uc2UAARgQTnVsbAAAABhBc3NldHMEAK0FARhBc3NldHMAAQA8RXhlY3V0aW9uUmVzdWx0BABhBQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AAgAcVmVyc2lvbgQAEAE4c3VwZXI6OlZlcnNpb24AAwAsUGFsbGV0c0luZm8EAMkFAZhCb3VuZGVkVmVjPFBhbGxldEluZm8sIE1heFBhbGxldHNJbmZvPgAEADhEaXNwYXRjaFJlc3VsdAQAfQUBOE1heWJlRXJyb3JDb2RlAAUAAMkFDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBzQUEUwAABADVBQEYVmVjPFQ+AADNBQwsc3RhZ2luZ194Y20IdjQoUGFsbGV0SW5mbwAAGAEUaW5kZXhpAQEMdTMyAAEQbmFtZdEFAYBCb3VuZGVkVmVjPHU4LCBNYXhQYWxsZXROYW1lTGVuPgABLG1vZHVsZV9uYW1l0QUBgEJvdW5kZWRWZWM8dTgsIE1heFBhbGxldE5hbWVMZW4+AAEUbWFqb3JpAQEMdTMyAAEUbWlub3JpAQEMdTMyAAEUcGF0Y2hpAQEMdTMyAADRBQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AANUFAAACzQUA2QUEGE9wdGlvbgQEVAGVAQEIEE5vbmUAAAAQU29tZQQAlQEAAAEAAN0FDCxzdGFnaW5nX3hjbQh2NERRdWVyeVJlc3BvbnNlSW5mbwAADAEsZGVzdGluYXRpb26VAQEgTG9jYXRpb24AASBxdWVyeV9pZCwBHFF1ZXJ5SWQAAShtYXhfd2VpZ2h0KAEYV2VpZ2h0AADhBRAsc3RhZ2luZ194Y20IdjQUYXNzZXQsQXNzZXRGaWx0ZXIAAQggRGVmaW5pdGUEAK0FARhBc3NldHMAAAAQV2lsZAQA5QUBJFdpbGRBc3NldAABAADlBRAsc3RhZ2luZ194Y20IdjQUYXNzZXQkV2lsZEFzc2V0AAEQDEFsbAAAABRBbGxPZggBCGlkuQUBHEFzc2V0SWQAAQxmdW7pBQE8V2lsZEZ1bmdpYmlsaXR5AAEAKEFsbENvdW50ZWQEAGkBAQx1MzIAAgAwQWxsT2ZDb3VudGVkDAEIaWS5BQEcQXNzZXRJZAABDGZ1bukFATxXaWxkRnVuZ2liaWxpdHkAARRjb3VudGkBAQx1MzIAAwAA6QUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0PFdpbGRGdW5naWJpbGl0eQABCCBGdW5naWJsZQAAACxOb25GdW5naWJsZQABAADtBQgMeGNtPFZlcnNpb25lZEFzc2V0cwABDAhWMgQA+QQBPHYyOjpNdWx0aUFzc2V0cwABAAhWMwQARQUBPHYzOjpNdWx0aUFzc2V0cwADAAhWNAQArQUBKHY0OjpBc3NldHMABAAA8QUIDHhjbTBWZXJzaW9uZWRYY20ELFJ1bnRpbWVDYWxsAAEMCFYyBAD1BQFQdjI6OlhjbTxSdW50aW1lQ2FsbD4AAgAIVjMEAAUGAVB2Mzo6WGNtPFJ1bnRpbWVDYWxsPgADAAhWNAQAEQYBUHY0OjpYY208UnVudGltZUNhbGw+AAQAAPUFDAx4Y20IdjIMWGNtBCxSdW50aW1lQ2FsbAAABAD5BQF0VmVjPEluc3RydWN0aW9uPFJ1bnRpbWVDYWxsPj4AAPkFAAAC/QUA/QUMDHhjbQh2MixJbnN0cnVjdGlvbgQsUnVudGltZUNhbGwAAXA0V2l0aGRyYXdBc3NldAQA+QQBLE11bHRpQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQA+QQBLE11bHRpQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAPkEASxNdWx0aUFzc2V0cwACADRRdWVyeVJlc3BvbnNlDAEgcXVlcnlfaWQsARxRdWVyeUlkAAEgcmVzcG9uc2URBQEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0LAEMdTY0AAMANFRyYW5zZmVyQXNzZXQIARhhc3NldHP5BAEsTXVsdGlBc3NldHMAASxiZW5lZmljaWFyec0EATRNdWx0aUxvY2F0aW9uAAQAUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0DAEYYXNzZXRz+QQBLE11bHRpQXNzZXRzAAEQZGVzdM0EATRNdWx0aUxvY2F0aW9uAAEMeGNt7QQBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fdHlwZSEFAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdCwBDHU2NAABEGNhbGwBBgFoRG91YmxlRW5jb2RlZDxSdW50aW1lQ2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlcmkBAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplaQEBDHUzMgABMG1heF9jYXBhY2l0eWkBAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudGkBAQx1MzIACABISHJtcENoYW5uZWxDbG9zaW5nDAEkaW5pdGlhdG9yaQEBDHUzMgABGHNlbmRlcmkBAQx1MzIAASRyZWNpcGllbnRpAQEMdTMyAAkALENsZWFyT3JpZ2luAAoANERlc2NlbmRPcmlnaW4EANEEAVRJbnRlcmlvck11bHRpTG9jYXRpb24ACwAsUmVwb3J0RXJyb3IMASBxdWVyeV9pZCwBHFF1ZXJ5SWQAARBkZXN0zQQBNE11bHRpTG9jYXRpb24AAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0LAEMdTY0AAwAMERlcG9zaXRBc3NldAwBGGFzc2V0cykFAUBNdWx0aUFzc2V0RmlsdGVyAAEobWF4X2Fzc2V0c2kBAQx1MzIAASxiZW5lZmljaWFyec0EATRNdWx0aUxvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQQARhhc3NldHMpBQFATXVsdGlBc3NldEZpbHRlcgABKG1heF9hc3NldHNpAQEMdTMyAAEQZGVzdM0EATRNdWx0aUxvY2F0aW9uAAEMeGNt7QQBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAgBEGdpdmUpBQFATXVsdGlBc3NldEZpbHRlcgABHHJlY2VpdmX5BAEsTXVsdGlBc3NldHMADwBcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcMARhhc3NldHMpBQFATXVsdGlBc3NldEZpbHRlcgABHHJlc2VydmXNBAE0TXVsdGlMb2NhdGlvbgABDHhjbe0EARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHMpBQFATXVsdGlBc3NldEZpbHRlcgABEGRlc3TNBAE0TXVsdGlMb2NhdGlvbgABDHhjbe0EARxYY208KCk+ABEAMFF1ZXJ5SG9sZGluZxABIHF1ZXJ5X2lkLAEcUXVlcnlJZAABEGRlc3TNBAE0TXVsdGlMb2NhdGlvbgABGGFzc2V0cykFAUBNdWx0aUFzc2V0RmlsdGVyAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCwBDHU2NAASADBCdXlFeGVjdXRpb24IARBmZWVzAQUBKE11bHRpQXNzZXQAATB3ZWlnaHRfbGltaXQ1BQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEAPUFAUBYY208UnVudGltZUNhbGw+ABUALFNldEFwcGVuZGl4BAD1BQFAWGNtPFJ1bnRpbWVDYWxsPgAWAChDbGVhckVycm9yABcAKENsYWltQXNzZXQIARhhc3NldHP5BAEsTXVsdGlBc3NldHMAARh0aWNrZXTNBAE0TXVsdGlMb2NhdGlvbgAYABBUcmFwBAAsAQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHQsAQx1NjQAGgBIVW5zdWJzY3JpYmVWZXJzaW9uABsAAAEGDAx4Y204ZG91YmxlX2VuY29kZWQ0RG91YmxlRW5jb2RlZAQEVAAABAEcZW5jb2RlZDgBHFZlYzx1OD4AAAUGDAx4Y20IdjMMWGNtBBBDYWxsAAAEAAkGAVhWZWM8SW5zdHJ1Y3Rpb248Q2FsbD4+AAAJBgAAAg0GAA0GDAx4Y20IdjMsSW5zdHJ1Y3Rpb24EEENhbGwAAcA0V2l0aGRyYXdBc3NldAQARQUBLE11bHRpQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQARQUBLE11bHRpQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAEUFASxNdWx0aUFzc2V0cwACADRRdWVyeVJlc3BvbnNlEAEgcXVlcnlfaWQsARxRdWVyeUlkAAEgcmVzcG9uc2VdBQEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0KAEYV2VpZ2h0AAEccXVlcmllcoUFAVRPcHRpb248TXVsdGlMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c0UFASxNdWx0aUFzc2V0cwABLGJlbmVmaWNpYXJ5HQMBNE11bHRpTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHNFBQEsTXVsdGlBc3NldHMAARBkZXN0HQMBNE11bHRpTG9jYXRpb24AAQx4Y205BQEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl9raW5kiQUBKE9yaWdpbktpbmQAAVhyZXF1aXJlX3dlaWdodF9hdF9tb3N0KAEYV2VpZ2h0AAEQY2FsbAEGAUxEb3VibGVFbmNvZGVkPENhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJpAQEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZWkBAQx1MzIAATBtYXhfY2FwYWNpdHlpAQEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRpAQEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvcmkBAQx1MzIAARhzZW5kZXJpAQEMdTMyAAEkcmVjaXBpZW50aQEBDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBAAhAwFUSW50ZXJpb3JNdWx0aUxvY2F0aW9uAAsALFJlcG9ydEVycm9yBACNBQFEUXVlcnlSZXNwb25zZUluZm8ADAAwRGVwb3NpdEFzc2V0CAEYYXNzZXRzkQUBQE11bHRpQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyeR0DATRNdWx0aUxvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHORBQFATXVsdGlBc3NldEZpbHRlcgABEGRlc3QdAwE0TXVsdGlMb2NhdGlvbgABDHhjbTkFARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQMARBnaXZlkQUBQE11bHRpQXNzZXRGaWx0ZXIAARB3YW50RQUBLE11bHRpQXNzZXRzAAEcbWF4aW1hbCABEGJvb2wADwBcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcMARhhc3NldHORBQFATXVsdGlBc3NldEZpbHRlcgABHHJlc2VydmUdAwE0TXVsdGlMb2NhdGlvbgABDHhjbTkFARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHORBQFATXVsdGlBc3NldEZpbHRlcgABEGRlc3QdAwE0TXVsdGlMb2NhdGlvbgABDHhjbTkFARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZvjQUBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRzkQUBQE11bHRpQXNzZXRGaWx0ZXIAEgAwQnV5RXhlY3V0aW9uCAEQZmVlc00FAShNdWx0aUFzc2V0AAEwd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBAAFBgEkWGNtPENhbGw+ABUALFNldEFwcGVuZGl4BAAFBgEkWGNtPENhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0c0UFASxNdWx0aUFzc2V0cwABGHRpY2tldB0DATRNdWx0aUxvY2F0aW9uABgAEFRyYXAEACwBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWQsARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCgBGFdlaWdodAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAkQnVybkFzc2V0BABFBQEsTXVsdGlBc3NldHMAHAAsRXhwZWN0QXNzZXQEAEUFASxNdWx0aUFzc2V0cwAdADBFeHBlY3RPcmlnaW4EAIUFAVRPcHRpb248TXVsdGlMb2NhdGlvbj4AHgAsRXhwZWN0RXJyb3IEAGEFAVBPcHRpb248KHUzMiwgRXJyb3IpPgAfAFBFeHBlY3RUcmFuc2FjdFN0YXR1cwQAfQUBOE1heWJlRXJyb3JDb2RlACAALFF1ZXJ5UGFsbGV0CAEsbW9kdWxlX25hbWU4ARxWZWM8dTg+AAE0cmVzcG9uc2VfaW5mb40FAURRdWVyeVJlc3BvbnNlSW5mbwAhADBFeHBlY3RQYWxsZXQUARRpbmRleGkBAQx1MzIAARBuYW1lOAEcVmVjPHU4PgABLG1vZHVsZV9uYW1lOAEcVmVjPHU4PgABLGNyYXRlX21ham9yaQEBDHUzMgABPG1pbl9jcmF0ZV9taW5vcmkBAQx1MzIAIgBQUmVwb3J0VHJhbnNhY3RTdGF0dXMEAI0FAURRdWVyeVJlc3BvbnNlSW5mbwAjAExDbGVhclRyYW5zYWN0U3RhdHVzACQAPFVuaXZlcnNhbE9yaWdpbgQAJQMBIEp1bmN0aW9uACUANEV4cG9ydE1lc3NhZ2UMARxuZXR3b3JrLQMBJE5ldHdvcmtJZAABLGRlc3RpbmF0aW9uIQMBVEludGVyaW9yTXVsdGlMb2NhdGlvbgABDHhjbTkFARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0TQUBKE11bHRpQXNzZXQAASB1bmxvY2tlch0DATRNdWx0aUxvY2F0aW9uACcALFVubG9ja0Fzc2V0CAEUYXNzZXRNBQEoTXVsdGlBc3NldAABGHRhcmdldB0DATRNdWx0aUxvY2F0aW9uACgAOE5vdGVVbmxvY2thYmxlCAEUYXNzZXRNBQEoTXVsdGlBc3NldAABFG93bmVyHQMBNE11bHRpTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0TQUBKE11bHRpQXNzZXQAARhsb2NrZXIdAwE0TXVsdGlMb2NhdGlvbgAqACxTZXRGZWVzTW9kZQQBMGppdF93aXRoZHJhdyABEGJvb2wAKwAgU2V0VG9waWMEAAQBIFt1ODsgMzJdACwAKENsZWFyVG9waWMALQAsQWxpYXNPcmlnaW4EAB0DATRNdWx0aUxvY2F0aW9uAC4APFVucGFpZEV4ZWN1dGlvbggBMHdlaWdodF9saW1pdJ0FASxXZWlnaHRMaW1pdAABMGNoZWNrX29yaWdpboUFAVRPcHRpb248TXVsdGlMb2NhdGlvbj4ALwAAEQYMLHN0YWdpbmdfeGNtCHY0DFhjbQQQQ2FsbAAABAAVBgFYVmVjPEluc3RydWN0aW9uPENhbGw+PgAAFQYAAAIZBgAZBgwsc3RhZ2luZ194Y20IdjQsSW5zdHJ1Y3Rpb24EEENhbGwAAcA0V2l0aGRyYXdBc3NldAQArQUBGEFzc2V0cwAAAFRSZXNlcnZlQXNzZXREZXBvc2l0ZWQEAK0FARhBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQArQUBGEFzc2V0cwACADRRdWVyeVJlc3BvbnNlEAEgcXVlcnlfaWQsARxRdWVyeUlkAAEgcmVzcG9uc2XFBQEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0KAEYV2VpZ2h0AAEccXVlcmllctkFAUBPcHRpb248TG9jYXRpb24+AAMANFRyYW5zZmVyQXNzZXQIARhhc3NldHOtBQEYQXNzZXRzAAEsYmVuZWZpY2lhcnmVAQEgTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHOtBQEYQXNzZXRzAAEQZGVzdJUBASBMb2NhdGlvbgABDHhjbaEFARxYY208KCk+AAUAIFRyYW5zYWN0DAEsb3JpZ2luX2tpbmSJBQEoT3JpZ2luS2luZAABWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QoARhXZWlnaHQAARBjYWxsAQYBTERvdWJsZUVuY29kZWQ8Q2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlcmkBAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplaQEBDHUzMgABMG1heF9jYXBhY2l0eWkBAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudGkBAQx1MzIACABISHJtcENoYW5uZWxDbG9zaW5nDAEkaW5pdGlhdG9yaQEBDHUzMgABGHNlbmRlcmkBAQx1MzIAASRyZWNpcGllbnRpAQEMdTMyAAkALENsZWFyT3JpZ2luAAoANERlc2NlbmRPcmlnaW4EAJkBAUBJbnRlcmlvckxvY2F0aW9uAAsALFJlcG9ydEVycm9yBADdBQFEUXVlcnlSZXNwb25zZUluZm8ADAAwRGVwb3NpdEFzc2V0CAEYYXNzZXRz4QUBLEFzc2V0RmlsdGVyAAEsYmVuZWZpY2lhcnmVAQEgTG9jYXRpb24ADQBMRGVwb3NpdFJlc2VydmVBc3NldAwBGGFzc2V0c+EFASxBc3NldEZpbHRlcgABEGRlc3SVAQEgTG9jYXRpb24AAQx4Y22hBQEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0DAEQZ2l2ZeEFASxBc3NldEZpbHRlcgABEHdhbnStBQEYQXNzZXRzAAEcbWF4aW1hbCABEGJvb2wADwBcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcMARhhc3NldHPhBQEsQXNzZXRGaWx0ZXIAARxyZXNlcnZllQEBIExvY2F0aW9uAAEMeGNtoQUBHFhjbTwoKT4AEABASW5pdGlhdGVUZWxlcG9ydAwBGGFzc2V0c+EFASxBc3NldEZpbHRlcgABEGRlc3SVAQEgTG9jYXRpb24AAQx4Y22hBQEcWGNtPCgpPgARADRSZXBvcnRIb2xkaW5nCAE0cmVzcG9uc2VfaW5mb90FAURRdWVyeVJlc3BvbnNlSW5mbwABGGFzc2V0c+EFASxBc3NldEZpbHRlcgASADBCdXlFeGVjdXRpb24IARBmZWVztQUBFEFzc2V0AAEwd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBAARBgEkWGNtPENhbGw+ABUALFNldEFwcGVuZGl4BAARBgEkWGNtPENhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0c60FARhBc3NldHMAARh0aWNrZXSVAQEgTG9jYXRpb24AGAAQVHJhcAQALAEMdTY0ABkAQFN1YnNjcmliZVZlcnNpb24IASBxdWVyeV9pZCwBHFF1ZXJ5SWQAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0KAEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEAK0FARhBc3NldHMAHAAsRXhwZWN0QXNzZXQEAK0FARhBc3NldHMAHQAwRXhwZWN0T3JpZ2luBADZBQFAT3B0aW9uPExvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQAYQUBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBAB9BQE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZTgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZv3QUBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4aQEBDHUzMgABEG5hbWU4ARxWZWM8dTg+AAEsbW9kdWxlX25hbWU4ARxWZWM8dTg+AAEsY3JhdGVfbWFqb3JpAQEMdTMyAAE8bWluX2NyYXRlX21pbm9yaQEBDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQA3QUBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBAChAQEgSnVuY3Rpb24AJQA0RXhwb3J0TWVzc2FnZQwBHG5ldHdvcmupAQEkTmV0d29ya0lkAAEsZGVzdGluYXRpb26ZAQFASW50ZXJpb3JMb2NhdGlvbgABDHhjbaEFARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0tQUBFEFzc2V0AAEgdW5sb2NrZXKVAQEgTG9jYXRpb24AJwAsVW5sb2NrQXNzZXQIARRhc3NldLUFARRBc3NldAABGHRhcmdldJUBASBMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0tQUBFEFzc2V0AAEUb3duZXKVAQEgTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0tQUBFEFzc2V0AAEYbG9ja2VylQEBIExvY2F0aW9uACoALFNldEZlZXNNb2RlBAEwaml0X3dpdGhkcmF3IAEQYm9vbAArACBTZXRUb3BpYwQABAEgW3U4OyAzMl0ALAAoQ2xlYXJUb3BpYwAtACxBbGlhc09yaWdpbgQAlQEBIExvY2F0aW9uAC4APFVucGFpZEV4ZWN1dGlvbggBMHdlaWdodF9saW1pdJ0FASxXZWlnaHRMaW1pdAABMGNoZWNrX29yaWdpbtkFAUBPcHRpb248TG9jYXRpb24+AC8AAB0GEFBzdGFnaW5nX3hjbV9leGVjdXRvchh0cmFpdHM4YXNzZXRfdHJhbnNmZXIwVHJhbnNmZXJUeXBlAAEQIFRlbGVwb3J0AAAAMExvY2FsUmVzZXJ2ZQABAEhEZXN0aW5hdGlvblJlc2VydmUAAgA0UmVtb3RlUmVzZXJ2ZQQAyQQBRFZlcnNpb25lZExvY2F0aW9uAAMAACEGCAx4Y21AVmVyc2lvbmVkQXNzZXRJZAABCAhWMwQAUQUBLHYzOjpBc3NldElkAAMACFY0BAC5BQEsdjQ6OkFzc2V0SWQABAAAJQYMSGN1bXVsdXNfcGFsbGV0X3hjbRhwYWxsZXQQQ2FsbAQEVAABAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4pBgxQcGFsbGV0X21lc3NhZ2VfcXVldWUYcGFsbGV0EENhbGwEBFQAAQgkcmVhcF9wYWdlCAE4bWVzc2FnZV9vcmlnaW4tBgFITWVzc2FnZU9yaWdpbk9mPFQ+AAEocGFnZV9pbmRleBABJFBhZ2VJbmRleAAABD0BUmVtb3ZlIGEgcGFnZSB3aGljaCBoYXMgbm8gbW9yZSBtZXNzYWdlcyByZW1haW5pbmcgdG8gYmUgcHJvY2Vzc2VkIG9yIGlzIHN0YWxlLkhleGVjdXRlX292ZXJ3ZWlnaHQQAThtZXNzYWdlX29yaWdpbi0GAUhNZXNzYWdlT3JpZ2luT2Y8VD4AARBwYWdlEAEkUGFnZUluZGV4AAEUaW5kZXgQARxUOjpTaXplAAEwd2VpZ2h0X2xpbWl0KAEYV2VpZ2h0AAE0eEV4ZWN1dGUgYW4gb3ZlcndlaWdodCBtZXNzYWdlLgBNAVRlbXBvcmFyeSBwcm9jZXNzaW5nIGVycm9ycyB3aWxsIGJlIHByb3BhZ2F0ZWQgd2hlcmVhcyBwZXJtYW5lbnQgZXJyb3JzIGFyZSB0cmVhdGVkVGFzIHN1Y2Nlc3MgY29uZGl0aW9uLgB0LSBgb3JpZ2luYDogTXVzdCBiZSBgU2lnbmVkYC41AS0gYG1lc3NhZ2Vfb3JpZ2luYDogVGhlIG9yaWdpbiBmcm9tIHdoaWNoIHRoZSBtZXNzYWdlIHRvIGJlIGV4ZWN1dGVkIGFycml2ZWQuPQEtIGBwYWdlYDogVGhlIHBhZ2UgaW4gdGhlIHF1ZXVlIGluIHdoaWNoIHRoZSBtZXNzYWdlIHRvIGJlIGV4ZWN1dGVkIGlzIHNpdHRpbmcuCQEtIGBpbmRleGA6IFRoZSBpbmRleCBpbnRvIHRoZSBxdWV1ZSBvZiB0aGUgbWVzc2FnZSB0byBiZSBleGVjdXRlZC5ZAS0gYHdlaWdodF9saW1pdGA6IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB3ZWlnaHQgYWxsb3dlZCB0byBiZSBjb25zdW1lZCBpbiB0aGUgZXhlY3V0aW9uRCAgb2YgdGhlIG1lc3NhZ2UuAPRCZW5jaG1hcmsgY29tcGxleGl0eSBjb25zaWRlcmF0aW9uczogTyhpbmRleCArIHdlaWdodF9saW1pdCkuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLi0GCFxjdW11bHVzX3ByaW1pdGl2ZXNfY29yZVhBZ2dyZWdhdGVNZXNzYWdlT3JpZ2luAAEMEEhlcmUAAAAYUGFyZW50AAEAHFNpYmxpbmcEANUBARhQYXJhSWQAAgAAMQYMIG9ybWxfeGNtGG1vZHVsZRBDYWxsBARUAAEERHNlbmRfYXNfc292ZXJlaWduCAEQZGVzdMkEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEcbWVzc2FnZekEAVRCb3g8VmVyc2lvbmVkWGNtPCgpPj4AAASsU2VuZCBhbiBYQ00gbWVzc2FnZSBhcyBwYXJhY2hhaW4gc292ZXJlaWduLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy41Bgwwb3JtbF94dG9rZW5zGG1vZHVsZRBDYWxsBARUAAEYIHRyYW5zZmVyEAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABEGRlc3TJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABRGRlc3Rfd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0AAAwbFRyYW5zZmVyIG5hdGl2ZSBjdXJyZW5jaWVzLgD8YGRlc3Rfd2VpZ2h0X2xpbWl0YCBpcyB0aGUgd2VpZ2h0IGZvciBYQ00gZXhlY3V0aW9uIG9uIHRoZSBkZXN0CQFjaGFpbiwgYW5kIGl0IHdvdWxkIGJlIGNoYXJnZWQgZnJvbSB0aGUgdHJhbnNmZXJyZWQgYXNzZXRzLiBJZiBzZXQFAWJlbG93IHJlcXVpcmVtZW50cywgdGhlIGV4ZWN1dGlvbiBtYXkgZmFpbCBhbmQgYXNzZXRzIHdvdWxkbid0IGJlJHJlY2VpdmVkLgARAUl0J3MgYSBuby1vcCBpZiBhbnkgZXJyb3Igb24gbG9jYWwgWENNIGV4ZWN1dGlvbiBvciBtZXNzYWdlIHNlbmRpbmcu+E5vdGUgc2VuZGluZyBhc3NldHMgb3V0IHBlciBzZSBkb2Vzbid0IGd1YXJhbnRlZSB0aGV5IHdvdWxkIGJlEQFyZWNlaXZlZC4gUmVjZWl2aW5nIGRlcGVuZHMgb24gaWYgdGhlIFhDTSBtZXNzYWdlIGNvdWxkIGJlIGRlbGl2ZXJlZNxieSB0aGUgbmV0d29yaywgYW5kIGlmIHRoZSByZWNlaXZpbmcgY2hhaW4gd291bGQgaGFuZGxlTG1lc3NhZ2VzIGNvcnJlY3RseS5MdHJhbnNmZXJfbXVsdGlhc3NldAwBFGFzc2V0OQYBTEJveDxWZXJzaW9uZWRBc3NldD4AARBkZXN0yQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AAURkZXN0X3dlaWdodF9saW1pdJ0FASxXZWlnaHRMaW1pdAABMERUcmFuc2ZlciBgQXNzZXRgLgD8YGRlc3Rfd2VpZ2h0X2xpbWl0YCBpcyB0aGUgd2VpZ2h0IGZvciBYQ00gZXhlY3V0aW9uIG9uIHRoZSBkZXN0CQFjaGFpbiwgYW5kIGl0IHdvdWxkIGJlIGNoYXJnZWQgZnJvbSB0aGUgdHJhbnNmZXJyZWQgYXNzZXRzLiBJZiBzZXQFAWJlbG93IHJlcXVpcmVtZW50cywgdGhlIGV4ZWN1dGlvbiBtYXkgZmFpbCBhbmQgYXNzZXRzIHdvdWxkbid0IGJlJHJlY2VpdmVkLgARAUl0J3MgYSBuby1vcCBpZiBhbnkgZXJyb3Igb24gbG9jYWwgWENNIGV4ZWN1dGlvbiBvciBtZXNzYWdlIHNlbmRpbmcu+E5vdGUgc2VuZGluZyBhc3NldHMgb3V0IHBlciBzZSBkb2Vzbid0IGd1YXJhbnRlZSB0aGV5IHdvdWxkIGJlEQFyZWNlaXZlZC4gUmVjZWl2aW5nIGRlcGVuZHMgb24gaWYgdGhlIFhDTSBtZXNzYWdlIGNvdWxkIGJlIGRlbGl2ZXJlZNxieSB0aGUgbmV0d29yaywgYW5kIGlmIHRoZSByZWNlaXZpbmcgY2hhaW4gd291bGQgaGFuZGxlTG1lc3NhZ2VzIGNvcnJlY3RseS5EdHJhbnNmZXJfd2l0aF9mZWUUASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEMZmVlGAEoVDo6QmFsYW5jZQABEGRlc3TJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABRGRlc3Rfd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0AAJU7FRyYW5zZmVyIG5hdGl2ZSBjdXJyZW5jaWVzIHNwZWNpZnlpbmcgdGhlIGZlZSBhbmQgYW1vdW50IGFzJHNlcGFyYXRlLgD8YGRlc3Rfd2VpZ2h0X2xpbWl0YCBpcyB0aGUgd2VpZ2h0IGZvciBYQ00gZXhlY3V0aW9uIG9uIHRoZSBkZXN0CQFjaGFpbiwgYW5kIGl0IHdvdWxkIGJlIGNoYXJnZWQgZnJvbSB0aGUgdHJhbnNmZXJyZWQgYXNzZXRzLiBJZiBzZXQFAWJlbG93IHJlcXVpcmVtZW50cywgdGhlIGV4ZWN1dGlvbiBtYXkgZmFpbCBhbmQgYXNzZXRzIHdvdWxkbid0IGJlJHJlY2VpdmVkLgANAWBmZWVgIGlzIHRoZSBhbW91bnQgdG8gYmUgc3BlbnQgdG8gcGF5IGZvciBleGVjdXRpb24gaW4gZGVzdGluYXRpb274Y2hhaW4uIEJvdGggZmVlIGFuZCBhbW91bnQgd2lsbCBiZSBzdWJ0cmFjdGVkIGZvcm0gdGhlIGNhbGxlcnMgYmFsYW5jZS4ADQFJZiBgZmVlYCBpcyBub3QgaGlnaCBlbm91Z2ggdG8gY292ZXIgZm9yIHRoZSBleGVjdXRpb24gY29zdHMgaW4gdGhl5GRlc3RpbmF0aW9uIGNoYWluLCB0aGVuIHRoZSBhc3NldHMgd2lsbCBiZSB0cmFwcGVkIGluIHRoZURkZXN0aW5hdGlvbiBjaGFpbgARAUl0J3MgYSBuby1vcCBpZiBhbnkgZXJyb3Igb24gbG9jYWwgWENNIGV4ZWN1dGlvbiBvciBtZXNzYWdlIHNlbmRpbmcu+E5vdGUgc2VuZGluZyBhc3NldHMgb3V0IHBlciBzZSBkb2Vzbid0IGd1YXJhbnRlZSB0aGV5IHdvdWxkIGJlEQFyZWNlaXZlZC4gUmVjZWl2aW5nIGRlcGVuZHMgb24gaWYgdGhlIFhDTSBtZXNzYWdlIGNvdWxkIGJlIGRlbGl2ZXJlZNxieSB0aGUgbmV0d29yaywgYW5kIGlmIHRoZSByZWNlaXZpbmcgY2hhaW4gd291bGQgaGFuZGxlTG1lc3NhZ2VzIGNvcnJlY3RseS5wdHJhbnNmZXJfbXVsdGlhc3NldF93aXRoX2ZlZRABFGFzc2V0OQYBTEJveDxWZXJzaW9uZWRBc3NldD4AAQxmZWU5BgFMQm94PFZlcnNpb25lZEFzc2V0PgABEGRlc3TJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABRGRlc3Rfd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0AANU7FRyYW5zZmVyIGBBc3NldGAgc3BlY2lmeWluZyB0aGUgZmVlIGFuZCBhbW91bnQgYXMgc2VwYXJhdGUuAPxgZGVzdF93ZWlnaHRfbGltaXRgIGlzIHRoZSB3ZWlnaHQgZm9yIFhDTSBleGVjdXRpb24gb24gdGhlIGRlc3QJAWNoYWluLCBhbmQgaXQgd291bGQgYmUgY2hhcmdlZCBmcm9tIHRoZSB0cmFuc2ZlcnJlZCBhc3NldHMuIElmIHNldAUBYmVsb3cgcmVxdWlyZW1lbnRzLCB0aGUgZXhlY3V0aW9uIG1heSBmYWlsIGFuZCBhc3NldHMgd291bGRuJ3QgYmUkcmVjZWl2ZWQuANhgZmVlYCBpcyB0aGUgQXNzZXQgdG8gYmUgc3BlbnQgdG8gcGF5IGZvciBleGVjdXRpb24gaW4JAWRlc3RpbmF0aW9uIGNoYWluLiBCb3RoIGZlZSBhbmQgYW1vdW50IHdpbGwgYmUgc3VidHJhY3RlZCBmb3JtIHRoZREBY2FsbGVycyBiYWxhbmNlIEZvciBub3cgd2Ugb25seSBhY2NlcHQgZmVlIGFuZCBhc3NldCBoYXZpbmcgdGhlIHNhbWU4YExvY2F0aW9uYCBpZC4ADQFJZiBgZmVlYCBpcyBub3QgaGlnaCBlbm91Z2ggdG8gY292ZXIgZm9yIHRoZSBleGVjdXRpb24gY29zdHMgaW4gdGhl5GRlc3RpbmF0aW9uIGNoYWluLCB0aGVuIHRoZSBhc3NldHMgd2lsbCBiZSB0cmFwcGVkIGluIHRoZURkZXN0aW5hdGlvbiBjaGFpbgARAUl0J3MgYSBuby1vcCBpZiBhbnkgZXJyb3Igb24gbG9jYWwgWENNIGV4ZWN1dGlvbiBvciBtZXNzYWdlIHNlbmRpbmcu+E5vdGUgc2VuZGluZyBhc3NldHMgb3V0IHBlciBzZSBkb2Vzbid0IGd1YXJhbnRlZSB0aGV5IHdvdWxkIGJlEQFyZWNlaXZlZC4gUmVjZWl2aW5nIGRlcGVuZHMgb24gaWYgdGhlIFhDTSBtZXNzYWdlIGNvdWxkIGJlIGRlbGl2ZXJlZNxieSB0aGUgbmV0d29yaywgYW5kIGlmIHRoZSByZWNlaXZpbmcgY2hhaW4gd291bGQgaGFuZGxlTG1lc3NhZ2VzIGNvcnJlY3RseS5gdHJhbnNmZXJfbXVsdGljdXJyZW5jaWVzEAEoY3VycmVuY2llcz0GAYBWZWM8KFQ6OkN1cnJlbmN5SWQsIFQ6OkJhbGFuY2UpPgABIGZlZV9pdGVtEAEMdTMyAAEQZGVzdMkEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAFEZGVzdF93ZWlnaHRfbGltaXSdBQEsV2VpZ2h0TGltaXQABDwFAVRyYW5zZmVyIHNldmVyYWwgY3VycmVuY2llcyBzcGVjaWZ5aW5nIHRoZSBpdGVtIHRvIGJlIHVzZWQgYXMgZmVlAPxgZGVzdF93ZWlnaHRfbGltaXRgIGlzIHRoZSB3ZWlnaHQgZm9yIFhDTSBleGVjdXRpb24gb24gdGhlIGRlc3QJAWNoYWluLCBhbmQgaXQgd291bGQgYmUgY2hhcmdlZCBmcm9tIHRoZSB0cmFuc2ZlcnJlZCBhc3NldHMuIElmIHNldAUBYmVsb3cgcmVxdWlyZW1lbnRzLCB0aGUgZXhlY3V0aW9uIG1heSBmYWlsIGFuZCBhc3NldHMgd291bGRuJ3QgYmUkcmVjZWl2ZWQuAA0BYGZlZV9pdGVtYCBpcyBpbmRleCBvZiB0aGUgY3VycmVuY2llcyB0dXBsZSB0aGF0IHdlIHdhbnQgdG8gdXNlIGZvchxwYXltZW50ABEBSXQncyBhIG5vLW9wIGlmIGFueSBlcnJvciBvbiBsb2NhbCBYQ00gZXhlY3V0aW9uIG9yIG1lc3NhZ2Ugc2VuZGluZy74Tm90ZSBzZW5kaW5nIGFzc2V0cyBvdXQgcGVyIHNlIGRvZXNuJ3QgZ3VhcmFudGVlIHRoZXkgd291bGQgYmURAXJlY2VpdmVkLiBSZWNlaXZpbmcgZGVwZW5kcyBvbiBpZiB0aGUgWENNIG1lc3NhZ2UgY291bGQgYmUgZGVsaXZlcmVk3GJ5IHRoZSBuZXR3b3JrLCBhbmQgaWYgdGhlIHJlY2VpdmluZyBjaGFpbiB3b3VsZCBoYW5kbGVMbWVzc2FnZXMgY29ycmVjdGx5LlB0cmFuc2Zlcl9tdWx0aWFzc2V0cxABGGFzc2V0c+0FAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABIGZlZV9pdGVtEAEMdTMyAAEQZGVzdMkEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAFEZGVzdF93ZWlnaHRfbGltaXSdBQEsV2VpZ2h0TGltaXQABTz4VHJhbnNmZXIgc2V2ZXJhbCBgQXNzZXRgIHNwZWNpZnlpbmcgdGhlIGl0ZW0gdG8gYmUgdXNlZCBhcyBmZWUA/GBkZXN0X3dlaWdodF9saW1pdGAgaXMgdGhlIHdlaWdodCBmb3IgWENNIGV4ZWN1dGlvbiBvbiB0aGUgZGVzdAkBY2hhaW4sIGFuZCBpdCB3b3VsZCBiZSBjaGFyZ2VkIGZyb20gdGhlIHRyYW5zZmVycmVkIGFzc2V0cy4gSWYgc2V0BQFiZWxvdyByZXF1aXJlbWVudHMsIHRoZSBleGVjdXRpb24gbWF5IGZhaWwgYW5kIGFzc2V0cyB3b3VsZG4ndCBiZSRyZWNlaXZlZC4A5GBmZWVfaXRlbWAgaXMgaW5kZXggb2YgdGhlIEFzc2V0cyB0aGF0IHdlIHdhbnQgdG8gdXNlIGZvchxwYXltZW50ABEBSXQncyBhIG5vLW9wIGlmIGFueSBlcnJvciBvbiBsb2NhbCBYQ00gZXhlY3V0aW9uIG9yIG1lc3NhZ2Ugc2VuZGluZy74Tm90ZSBzZW5kaW5nIGFzc2V0cyBvdXQgcGVyIHNlIGRvZXNuJ3QgZ3VhcmFudGVlIHRoZXkgd291bGQgYmURAXJlY2VpdmVkLiBSZWNlaXZpbmcgZGVwZW5kcyBvbiBpZiB0aGUgWENNIG1lc3NhZ2UgY291bGQgYmUgZGVsaXZlcmVk3GJ5IHRoZSBuZXR3b3JrLCBhbmQgaWYgdGhlIHJlY2VpdmluZyBjaGFpbiB3b3VsZCBoYW5kbGVMbWVzc2FnZXMgY29ycmVjdGx5LgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy45BggMeGNtOFZlcnNpb25lZEFzc2V0AAEMCFYyBAABBQE4djI6Ok11bHRpQXNzZXQAAQAIVjMEAE0FATh2Mzo6TXVsdGlBc3NldAADAAhWNAQAtQUBJHY0OjpBc3NldAAEAAA9BgAAAvEDAEEGDGRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uGHBhbGxldBBDYWxsBARUAAEkRHNldF9pbnZ1bG5lcmFibGVzBAEMbmV3RQEBRFZlYzxUOjpBY2NvdW50SWQ+AAA0MQFTZXQgdGhlIGxpc3Qgb2YgaW52dWxuZXJhYmxlIChmaXhlZCkgY29sbGF0b3JzLiBUaGVzZSBjb2xsYXRvcnMgbXVzdCBkbyBzb21l0HByZXBhcmF0aW9uLCBuYW1lbHkgdG8gaGF2ZSByZWdpc3RlcmVkIHNlc3Npb24ga2V5cy4AWQFUaGUgY2FsbCB3aWxsIHJlbW92ZSBhbnkgYWNjb3VudHMgdGhhdCBoYXZlIG5vdCByZWdpc3RlcmVkIGtleXMgZnJvbSB0aGUgc2V0LiBUaGF0IGlzLF0BaXQgaXMgbm9uLWF0b21pYzsgdGhlIGNhbGxlciBhY2NlcHRzIGFsbCBgQWNjb3VudElkYHMgcGFzc2VkIGluIGBuZXdgIF9pbmRpdmlkdWFsbHlfIGFzMQFhY2NlcHRhYmxlIEludnVsbmVyYWJsZXMsIGFuZCBpcyBub3QgcHJvcG9zaW5nIGEgX3NldF8gb2YgbmV3IEludnVsbmVyYWJsZXMuAFkBVGhpcyBjYWxsIGRvZXMgbm90IG1haW50YWluIG11dHVhbCBleGNsdXNpdml0eSBvZiBgSW52dWxuZXJhYmxlc2AgYW5kIGBDYW5kaWRhdGVzYC4gSXRhAWlzIHJlY29tbWVuZGVkIHRvIHVzZSBhIGJhdGNoIG9mIGBhZGRfaW52dWxuZXJhYmxlYCBhbmQgYHJlbW92ZV9pbnZ1bG5lcmFibGVgIGluc3RlYWQuIEFRAWBiYXRjaF9hbGxgIGNhbiBhbHNvIGJlIHVzZWQgdG8gZW5mb3JjZSBhdG9taWNpdHkuIElmIGFueSBjYW5kaWRhdGVzIGFyZSBpbmNsdWRlZCBpbk0BYG5ld2AsIHRoZXkgc2hvdWxkIGJlIHJlbW92ZWQgd2l0aCBgcmVtb3ZlX2ludnVsbmVyYWJsZV9jYW5kaWRhdGVgIGFmdGVyIGV4ZWN1dGlvbi4AlE11c3QgYmUgY2FsbGVkIGJ5IHRoZSBgVXBkYXRlT3JpZ2luYC5Yc2V0X2Rlc2lyZWRfY2FuZGlkYXRlcwQBDG1heBABDHUzMgABFFUBU2V0IHRoZSBpZGVhbCBudW1iZXIgb2Ygbm9uLWludnVsbmVyYWJsZSBjb2xsYXRvcnMuIElmIGxvd2VyaW5nIHRoaXMgbnVtYmVyLCB0aGVuIHRoZWEBbnVtYmVyIG9mIHJ1bm5pbmcgY29sbGF0b3JzIGNvdWxkIGJlIGhpZ2hlciB0aGFuIHRoaXMgZmlndXJlLiBBc2lkZSBmcm9tIHRoYXQgZWRnZSBjYXNlLDUBdGhlcmUgc2hvdWxkIGJlIG5vIG90aGVyIHdheSB0byBoYXZlIG1vcmUgY2FuZGlkYXRlcyB0aGFuIHRoZSBkZXNpcmVkIG51bWJlci4A0FRoZSBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHRoZSBgVXBkYXRlT3JpZ2luYC5Ic2V0X2NhbmRpZGFjeV9ib25kBAEQYm9uZBgBMEJhbGFuY2VPZjxUPgACHHhTZXQgdGhlIGNhbmRpZGFjeSBib25kIGFtb3VudC4AUQFJZiB0aGUgY2FuZGlkYWN5IGJvbmQgaXMgaW5jcmVhc2VkIGJ5IHRoaXMgY2FsbCwgYWxsIGN1cnJlbnQgY2FuZGlkYXRlcyB3aGljaCBoYXZlIGFNAWRlcG9zaXQgbG93ZXIgdGhhbiB0aGUgbmV3IGJvbmQgd2lsbCBiZSBraWNrZWQgZnJvbSB0aGUgbGlzdCBhbmQgZ2V0IHRoZWlyIGRlcG9zaXRzFGJhY2suANBUaGUgb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSB0aGUgYFVwZGF0ZU9yaWdpbmAuVHJlZ2lzdGVyX2FzX2NhbmRpZGF0ZQADEEEBUmVnaXN0ZXIgdGhpcyBhY2NvdW50IGFzIGEgY29sbGF0b3IgY2FuZGlkYXRlLiBUaGUgYWNjb3VudCBtdXN0IChhKSBhbHJlYWR5IGhhdmUdAXJlZ2lzdGVyZWQgc2Vzc2lvbiBrZXlzIGFuZCAoYikgYmUgYWJsZSB0byByZXNlcnZlIHRoZSBgQ2FuZGlkYWN5Qm9uZGAuANxUaGlzIGNhbGwgaXMgbm90IGF2YWlsYWJsZSB0byBgSW52dWxuZXJhYmxlYCBjb2xsYXRvcnMuMGxlYXZlX2ludGVudAAEFFUBRGVyZWdpc3RlciBgb3JpZ2luYCBhcyBhIGNvbGxhdG9yIGNhbmRpZGF0ZS4gTm90ZSB0aGF0IHRoZSBjb2xsYXRvciBjYW4gb25seSBsZWF2ZSBvbg0Bc2Vzc2lvbiBjaGFuZ2UuIFRoZSBgQ2FuZGlkYWN5Qm9uZGAgd2lsbCBiZSB1bnJlc2VydmVkIGltbWVkaWF0ZWx5LgAZAVRoaXMgY2FsbCB3aWxsIGZhaWwgaWYgdGhlIHRvdGFsIG51bWJlciBvZiBjYW5kaWRhdGVzIHdvdWxkIGRyb3AgYmVsb3dcYE1pbkVsaWdpYmxlQ29sbGF0b3JzYC5AYWRkX2ludnVsbmVyYWJsZQQBDHdobwABMFQ6OkFjY291bnRJZAAFEEUBQWRkIGEgbmV3IGFjY291bnQgYHdob2AgdG8gdGhlIGxpc3Qgb2YgYEludnVsbmVyYWJsZXNgIGNvbGxhdG9ycy4gYHdob2AgbXVzdCBoYXZlHQFyZWdpc3RlcmVkIHNlc3Npb24ga2V5cy4gSWYgYHdob2AgaXMgYSBjYW5kaWRhdGUsIHRoZXkgd2lsbCBiZSByZW1vdmVkLgDQVGhlIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgdGhlIGBVcGRhdGVPcmlnaW5gLkxyZW1vdmVfaW52dWxuZXJhYmxlBAEMd2hvAAEwVDo6QWNjb3VudElkAAYQYQFSZW1vdmUgYW4gYWNjb3VudCBgd2hvYCBmcm9tIHRoZSBsaXN0IG9mIGBJbnZ1bG5lcmFibGVzYCBjb2xsYXRvcnMuIGBJbnZ1bG5lcmFibGVzYCBtdXN0KGJlIHNvcnRlZC4A0FRoZSBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHRoZSBgVXBkYXRlT3JpZ2luYC4sdXBkYXRlX2JvbmQEASxuZXdfZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgAHHF0BVXBkYXRlIHRoZSBjYW5kaWRhY3kgYm9uZCBvZiBjb2xsYXRvciBjYW5kaWRhdGUgYG9yaWdpbmAgdG8gYSBuZXcgYW1vdW50IGBuZXdfZGVwb3NpdGAuAEEBU2V0dGluZyBhIGBuZXdfZGVwb3NpdGAgdGhhdCBpcyBsb3dlciB0aGFuIHRoZSBjdXJyZW50IGRlcG9zaXQgd2hpbGUgYG9yaWdpbmAgaXPgb2NjdXB5aW5nIGEgdG9wLWBEZXNpcmVkQ2FuZGlkYXRlc2Agc2xvdCBpcyBub3QgYWxsb3dlZC4AWQFUaGlzIGNhbGwgd2lsbCBmYWlsIGlmIGBvcmlnaW5gIGlzIG5vdCBhIGNvbGxhdG9yIGNhbmRpZGF0ZSwgdGhlIHVwZGF0ZWQgYm9uZCBpcyBsb3dlchkBdGhhbiB0aGUgbWluaW11bSBjYW5kaWRhY3kgYm9uZCwgYW5kL29yIHRoZSBhbW91bnQgY2Fubm90IGJlIHJlc2VydmVkLkx0YWtlX2NhbmRpZGF0ZV9zbG90CAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgABGHRhcmdldAABMFQ6OkFjY291bnRJZAAIHE0BVGhlIGNhbGxlciBgb3JpZ2luYCByZXBsYWNlcyBhIGNhbmRpZGF0ZSBgdGFyZ2V0YCBpbiB0aGUgY29sbGF0b3IgY2FuZGlkYXRlIGxpc3QgYnlVAXJlc2VydmluZyBgZGVwb3NpdGAuIFRoZSBhbW91bnQgYGRlcG9zaXRgIHJlc2VydmVkIGJ5IHRoZSBjYWxsZXIgbXVzdCBiZSBncmVhdGVyIHRoYW7gdGhlIGV4aXN0aW5nIGJvbmQgb2YgdGhlIHRhcmdldCBpdCBpcyB0cnlpbmcgdG8gcmVwbGFjZS4AWQFUaGlzIGNhbGwgd2lsbCBmYWlsIGlmIHRoZSBjYWxsZXIgaXMgYWxyZWFkeSBhIGNvbGxhdG9yIGNhbmRpZGF0ZSBvciBpbnZ1bG5lcmFibGUsIHRoZVUBY2FsbGVyIGRvZXMgbm90IGhhdmUgcmVnaXN0ZXJlZCBzZXNzaW9uIGtleXMsIHRoZSB0YXJnZXQgaXMgbm90IGEgY29sbGF0b3IgY2FuZGlkYXRlLLxhbmQvb3IgdGhlIGBkZXBvc2l0YCBhbW91bnQgY2Fubm90IGJlIHJlc2VydmVkLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5FBgw4cGFsbGV0X3Nlc3Npb24YcGFsbGV0EENhbGwEBFQAAQggc2V0X2tleXMIARBrZXlzSQYBHFQ6OktleXMAARRwcm9vZjgBHFZlYzx1OD4AACTkU2V0cyB0aGUgc2Vzc2lvbiBrZXkocykgb2YgdGhlIGZ1bmN0aW9uIGNhbGxlciB0byBga2V5c2AuHQFBbGxvd3MgYW4gYWNjb3VudCB0byBzZXQgaXRzIHNlc3Npb24ga2V5IHByaW9yIHRvIGJlY29taW5nIGEgdmFsaWRhdG9yLsBUaGlzIGRvZXNuJ3QgdGFrZSBlZmZlY3QgdW50aWwgdGhlIG5leHQgc2Vzc2lvbi4A0FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBmdW5jdGlvbiBtdXN0IGJlIHNpZ25lZC4ANCMjIENvbXBsZXhpdHlZAS0gYE8oMSlgLiBBY3R1YWwgY29zdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgbGVuZ3RoIG9mIGBUOjpLZXlzOjprZXlfaWRzKClgIHdoaWNoIGlzICAgZml4ZWQuKHB1cmdlX2tleXMAATDIUmVtb3ZlcyBhbnkgc2Vzc2lvbiBrZXkocykgb2YgdGhlIGZ1bmN0aW9uIGNhbGxlci4AwFRoaXMgZG9lc24ndCB0YWtlIGVmZmVjdCB1bnRpbCB0aGUgbmV4dCBzZXNzaW9uLgBVAVRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBmdW5jdGlvbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIGFjY291bnQgbXVzdCBiZSBlaXRoZXIgYmVdAWNvbnZlcnRpYmxlIHRvIGEgdmFsaWRhdG9yIElEIHVzaW5nIHRoZSBjaGFpbidzIHR5cGljYWwgYWRkcmVzc2luZyBzeXN0ZW0gKHRoaXMgdXN1YWxseVEBbWVhbnMgYmVpbmcgYSBjb250cm9sbGVyIGFjY291bnQpIG9yIGRpcmVjdGx5IGNvbnZlcnRpYmxlIGludG8gYSB2YWxpZGF0b3IgSUQgKHdoaWNolHVzdWFsbHkgbWVhbnMgYmVpbmcgYSBzdGFzaCBhY2NvdW50KS4ANCMjIENvbXBsZXhpdHk9AS0gYE8oMSlgIGluIG51bWJlciBvZiBrZXkgdHlwZXMuIEFjdHVhbCBjb3N0IGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBsZW5ndGggb2aYICBgVDo6S2V5czo6a2V5X2lkcygpYCB3aGljaCBpcyBmaXhlZC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuSQYMPGh5ZHJhZHhfcnVudGltZRhvcGFxdWUsU2Vzc2lvbktleXMAAAQBEGF1cmFNBgHEPEF1cmEgYXMgJGNyYXRlOjpCb3VuZFRvUnVudGltZUFwcFB1YmxpYz46OlB1YmxpYwAATQYQRHNwX2NvbnNlbnN1c19hdXJhHHNyMjU1MTksYXBwX3NyMjU1MTkYUHVibGljAAAEAAQBPHNyMjU1MTk6OlB1YmxpYwAAUQYMRHBhbGxldF9lbWFfb3JhY2xlGHBhbGxldBBDYWxsBARUAAEMKGFkZF9vcmFjbGUIARhzb3VyY2UVAgEYU291cmNlAAEYYXNzZXRzdQMBSChBc3NldElkLCBBc3NldElkKQAAADRyZW1vdmVfb3JhY2xlCAEYc291cmNlFQIBGFNvdXJjZQABGGFzc2V0c3UDAUgoQXNzZXRJZCwgQXNzZXRJZCkAAQBUdXBkYXRlX2JpZnJvc3Rfb3JhY2xlDAEcYXNzZXRfYckEAZBCb3g8cG9sa2Fkb3RfeGNtOjpWZXJzaW9uZWRMb2NhdGlvbj4AARxhc3NldF9iyQQBkEJveDxwb2xrYWRvdF94Y206OlZlcnNpb25lZExvY2F0aW9uPgABFHByaWNlUQMBSChCYWxhbmNlLCBCYWxhbmNlKQACAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5VBgxAcGFsbGV0X2Jyb2FkY2FzdBhwYWxsZXQQQ2FsbAQEVAABAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5ZBgwoc3BfcnVudGltZRh0cmFpdHMsQmxha2VUd28yNTYAAAAAXQYMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AABhBgxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nFHR5cGVzFFRhbGx5CBRWb3RlcwEYFFRvdGFsAAAMARBheWVzGAEUVm90ZXMAARBuYXlzGAEUVm90ZXMAARxzdXBwb3J0GAEUVm90ZXMAAGUGDEBwYWxsZXRfd2hpdGVsaXN0GHBhbGxldBRFdmVudAQEVAABDDxDYWxsV2hpdGVsaXN0ZWQEASRjYWxsX2hhc2g0ARxUOjpIYXNoAAAAWFdoaXRlbGlzdGVkQ2FsbFJlbW92ZWQEASRjYWxsX2hhc2g0ARxUOjpIYXNoAAEAZFdoaXRlbGlzdGVkQ2FsbERpc3BhdGNoZWQIASRjYWxsX2hhc2g0ARxUOjpIYXNoAAEYcmVzdWx0aQYBaERpc3BhdGNoUmVzdWx0V2l0aFBvc3RJbmZvAAIABHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0aQYEGFJlc3VsdAgEVAFtBgRFAXUGAQgIT2sEAG0GAAAAAAxFcnIEAHUGAAABAABtBgw0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaEBQb3N0RGlzcGF0Y2hJbmZvAAAIATRhY3R1YWxfd2VpZ2h0cQYBOE9wdGlvbjxXZWlnaHQ+AAEgcGF5c19mZWVkARBQYXlzAABxBgQYT3B0aW9uBARUASgBCBBOb25lAAAAEFNvbWUEACgAAAEAAHUGCChzcF9ydW50aW1lZERpc3BhdGNoRXJyb3JXaXRoUG9zdEluZm8EEEluZm8BbQYACAEkcG9zdF9pbmZvbQYBEEluZm8AARRlcnJvcmgBNERpc3BhdGNoRXJyb3IAAHkGDERwYWxsZXRfZGlzcGF0Y2hlchhwYWxsZXQURXZlbnQEBFQAAQh0VHJlYXN1cnlNYW5hZ2VyQ2FsbERpc3BhdGNoZWQIASRjYWxsX2hhc2g0ARxUOjpIYXNoAAEYcmVzdWx0aQYBaERpc3BhdGNoUmVzdWx0V2l0aFBvc3RJbmZvAAAAZEFhdmVNYW5hZ2VyQ2FsbERpc3BhdGNoZWQIASRjYWxsX2hhc2g0ARxUOjpIYXNoAAEYcmVzdWx0aQYBaERpc3BhdGNoUmVzdWx0V2l0aFBvc3RJbmZvAAEABHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0fQYMVHBhbGxldF9hc3NldF9yZWdpc3RyeRhwYWxsZXQURXZlbnQEBFQAARhYRXhpc3RlbnRpYWxEZXBvc2l0UGFpZAwBDHdobwABMFQ6OkFjY291bnRJZAABJGZlZV9hc3NldBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAAI0EV4aXN0ZW50aWFsIGRlcG9zaXQgZm9yIGluc3VmZmljaW5ldCBhc3NldCB3YXMgcGFpZC6cYFN1ZmZpY2llbmN5Q2hlY2tgIHRyaWdnZXJzIHRoaXMgZXZlbnQuKFJlZ2lzdGVyZWQgASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAShhc3NldF9uYW1lBQMBmE9wdGlvbjxCb3VuZGVkVmVjPHU4LCBUOjpTdHJpbmdMaW1pdD4+AAEoYXNzZXRfdHlwZQ0DASRBc3NldFR5cGUAAUxleGlzdGVudGlhbF9kZXBvc2l0GAEcQmFsYW5jZQABOHhjbV9yYXRlX2xpbWl09AE8T3B0aW9uPEJhbGFuY2U+AAEYc3ltYm9sBQMBmE9wdGlvbjxCb3VuZGVkVmVjPHU4LCBUOjpTdHJpbmdMaW1pdD4+AAEgZGVjaW1hbHMRAwEoT3B0aW9uPHU4PgABNGlzX3N1ZmZpY2llbnQgARBib29sAAEEVEFzc2V0IHdhcyByZWdpc3RlcmVkLhxVcGRhdGVkIAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEoYXNzZXRfbmFtZQUDAZhPcHRpb248Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+PgABKGFzc2V0X3R5cGUNAwEkQXNzZXRUeXBlAAFMZXhpc3RlbnRpYWxfZGVwb3NpdBgBHEJhbGFuY2UAATh4Y21fcmF0ZV9saW1pdPQBPE9wdGlvbjxCYWxhbmNlPgABGHN5bWJvbAUDAZhPcHRpb248Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+PgABIGRlY2ltYWxzEQMBKE9wdGlvbjx1OD4AATRpc19zdWZmaWNpZW50IAEQYm9vbAACBEhBc3NldCB3YXMgdXBkYXRlZC4sTG9jYXRpb25TZXQIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAASBsb2NhdGlvbhkDAVhUOjpBc3NldE5hdGl2ZUxvY2F0aW9uAAMEhE5hdGl2ZSBsb2NhdGlvbiBzZXQgZm9yIGFuIGFzc2V0LixBc3NldEJhbm5lZAQBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAAEBERBc3NldCB3YXMgYmFubmVkLjRBc3NldFVuYmFubmVkBAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAUEYEFzc2V0J3MgYmFuIHdhcyByZW1vdmVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldIEGDDRwYWxsZXRfY2xhaW1zGHBhbGxldBRFdmVudAQEVAABBBRDbGFpbQwAAAEwVDo6QWNjb3VudElkAACFBgE8RXRoZXJldW1BZGRyZXNzAAAYATBCYWxhbmNlT2Y8VD4AAAAEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSFBgw0cGFsbGV0X2NsYWltcxh0cmFpdHM8RXRoZXJldW1BZGRyZXNzAAAEAFkBASBbdTg7IDIwXQAAiQYMXHBhbGxldF9jb2xsYXRvcl9yZXdhcmRzGHBhbGxldBRFdmVudAQEVAABBEBDb2xsYXRvclJld2FyZGVkDAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABIGN1cnJlbmN5EAE0VDo6Q3VycmVuY3lJZAAABFhDb2xsYXRvciB3YXMgcmV3YXJkZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0jQYMPHBhbGxldF9vbW5pcG9vbBhwYWxsZXQURXZlbnQEBFQAATQoVG9rZW5BZGRlZAwBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABOGluaXRpYWxfYW1vdW50GAEcQmFsYW5jZQABNGluaXRpYWxfcHJpY2VRAQEUUHJpY2UAAAR4QW4gYXNzZXQgd2FzIGFkZGVkIHRvIE9tbmlwb29sMFRva2VuUmVtb3ZlZAwBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAATRodWJfd2l0aGRyYXduGAEcQmFsYW5jZQABBIhBbiBhc3NldCB3YXMgcmVtb3ZlZCBmcm9tIE9tbmlwb29sOExpcXVpZGl0eUFkZGVkEAEMd2hvAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAAgSwTGlxdWlkaXR5IG9mIGFuIGFzc2V0IHdhcyBhZGRlZCB0byBPbW5pcG9vbC5ATGlxdWlkaXR5UmVtb3ZlZBQBDHdobwABMFQ6OkFjY291bnRJZAABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAThzaGFyZXNfcmVtb3ZlZBgBHEJhbGFuY2UAAQxmZWVRAQEkRml4ZWRVMTI4AAMEwExpcXVpZGl0eSBvZiBhbiBhc3NldCB3YXMgcmVtb3ZlZCBmcm9tIE9tbmlwb29sLmBQcm90b2NvbExpcXVpZGl0eVJlbW92ZWQUAQx3aG8AATBUOjpBY2NvdW50SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEoaHViX2Ftb3VudBgBHEJhbGFuY2UAAThzaGFyZXNfcmVtb3ZlZBgBHEJhbGFuY2UABAS0UFJvdG9jb2wgTGlxdWlkaXR5IHdhcyByZW1vdmVkIGZyb20gT21uaXBvb2wuMFNlbGxFeGVjdXRlZCQBDHdobwABMFQ6OkFjY291bnRJZAABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAEoYW1vdW50X291dBgBHEJhbGFuY2UAATRodWJfYW1vdW50X2luGAEcQmFsYW5jZQABOGh1Yl9hbW91bnRfb3V0GAEcQmFsYW5jZQABQGFzc2V0X2ZlZV9hbW91bnQYARxCYWxhbmNlAAFMcHJvdG9jb2xfZmVlX2Ftb3VudBgBHEJhbGFuY2UABQhQU2VsbCB0cmFkZSBleGVjdXRlZC7ERGVwcmVjYXRlZC4gUmVwbGFjZWQgYnkgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZCxCdXlFeGVjdXRlZCQBDHdobwABMFQ6OkFjY291bnRJZAABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAEoYW1vdW50X291dBgBHEJhbGFuY2UAATRodWJfYW1vdW50X2luGAEcQmFsYW5jZQABOGh1Yl9hbW91bnRfb3V0GAEcQmFsYW5jZQABQGFzc2V0X2ZlZV9hbW91bnQYARxCYWxhbmNlAAFMcHJvdG9jb2xfZmVlX2Ftb3VudBgBHEJhbGFuY2UABghMQnV5IHRyYWRlIGV4ZWN1dGVkLsREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkPFBvc2l0aW9uQ3JlYXRlZBgBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABFGFzc2V0EAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAARhzaGFyZXMYARxCYWxhbmNlAAEUcHJpY2VRAQEUUHJpY2UABwTATFAgUG9zaXRpb24gd2FzIGNyZWF0ZWQgYW5kIE5GVCBpbnN0YW5jZSBtaW50ZWQuRFBvc2l0aW9uRGVzdHJveWVkCAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAgEyExQIFBvc2l0aW9uIHdhcyBkZXN0cm95ZWQgYW5kIE5GVCBpbnN0YW5jZSBidXJuZWQuPFBvc2l0aW9uVXBkYXRlZBgBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABFGFzc2V0EAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAARhzaGFyZXMYARxCYWxhbmNlAAEUcHJpY2VRAQEUUHJpY2UACQRgTFAgUG9zaXRpb24gd2FzIHVwZGF0ZWQuUFRyYWRhYmxlU3RhdGVVcGRhdGVkCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEUc3RhdGVNAwEsVHJhZGFiaWxpdHkACgSgQXNzZXQncyB0cmFkYWJsZSBzdGF0ZSBoYXMgYmVlbiB1cGRhdGVkLjRBc3NldFJlZnVuZGVkDAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABJHJlY2lwaWVudAABMFQ6OkFjY291bnRJZAALBEkBQW1vdW50IGhhcyBiZWVuIHJlZnVuZGVkIGZvciBhc3NldCB3aGljaCBoYXMgbm90IGJlZW4gYWNjZXB0ZWQgdG8gYWRkIHRvIG9tbmlwb29sLlRBc3NldFdlaWdodENhcFVwZGF0ZWQIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAQxjYXBJAwEcUGVybWlsbAAMBJBBc3NldCdzIHdlaWdodCBjYXAgaGFzIGJlZW4gdXBkYXRlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSRBgxgcGFsbGV0X3RyYW5zYWN0aW9uX3BhdXNlGHBhbGxldBRFdmVudAQEVAABCERUcmFuc2FjdGlvblBhdXNlZAgBRHBhbGxldF9uYW1lX2J5dGVzOAEcVmVjPHU4PgABTGZ1bmN0aW9uX25hbWVfYnl0ZXM4ARxWZWM8dTg+AAAESFBhdXNlZCB0cmFuc2FjdGlvbkxUcmFuc2FjdGlvblVucGF1c2VkCAFEcGFsbGV0X25hbWVfYnl0ZXM4ARxWZWM8dTg+AAFMZnVuY3Rpb25fbmFtZV9ieXRlczgBHFZlYzx1OD4AAQRQVW5wYXVzZWQgdHJhbnNhY3Rpb24EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSVBgw0cGFsbGV0X2R1c3RlchhwYWxsZXQURXZlbnQEBFQAAQwYRHVzdGVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAABDxBY2NvdW50IGR1c3RlZC4UQWRkZWQEAQx3aG8AATBUOjpBY2NvdW50SWQAAQSMQWNjb3VudCBhZGRlZCB0byBub24tZHVzdGFibGUgbGlzdC4cUmVtb3ZlZAQBDHdobwABMFQ6OkFjY291bnRJZAACBJxBY2NvdW50IHJlbW92ZWQgZnJvbSBub24tZHVzdGFibGUgbGlzdC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSZBgxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0FEV2ZW50CARUAARJAAEMXEdsb2JhbEZhcm1BY2NSUFpVcGRhdGVkDAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATxhY2N1bXVsYXRlZF9ycHpRAQEkRml4ZWRVMTI4AAE4dG90YWxfc2hhcmVzX3oYARxCYWxhbmNlAAAE1Edsb2JhbCBmYXJtIGFjY3VtdWxhdGVkIHJld2FyZCBwZXIgc2hhcmUgd2FzIHVwZGF0ZWQuXFlpZWxkRmFybUFjY1JQVlNVcGRhdGVkEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAUBhY2N1bXVsYXRlZF9ycHZzUQEBJEZpeGVkVTEyOAABTHRvdGFsX3ZhbHVlZF9zaGFyZXMYARxCYWxhbmNlAAEE7FlpZWxkIGZhcm0gYWNjdW11bGF0ZWQgcmV3YXJkIHBlciB2YWx1ZWQgc2hhcmUgd2FzIHVwZGF0ZWQuVEFsbFJld2FyZHNEaXN0cmlidXRlZAQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAIE8Edsb2JhbCBmYXJtIGhhcyBubyBtb3JlIHJld2FyZHMgdG8gZGlzdHJpYnV0ZSBpbiB0aGUgbW9tZW50LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldJ0GDIBwYWxsZXRfb21uaXBvb2xfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQURXZlbnQEBFQAATRER2xvYmFsRmFybUNyZWF0ZWQoAQhpZBABMEdsb2JhbEZhcm1JZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAE0dG90YWxfcmV3YXJkcxgBHEJhbGFuY2UAATxyZXdhcmRfY3VycmVuY3kQAShUOjpBc3NldElkAAFAeWllbGRfcGVyX3BlcmlvZGUDASxQZXJxdWludGlsbAABYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcxABLFBlcmlvZE9mPFQ+AAFEYmxvY2tzX3Blcl9wZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgABVG1heF9yZXdhcmRfcGVyX3BlcmlvZBgBHEJhbGFuY2UAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UAAVRscm5hX3ByaWNlX2FkanVzdG1lbnRRAQEkRml4ZWRVMTI4AAAEcE5ldyBnbG9iYWwgZmFybSB3YXMgY3JlYXRlZC5ER2xvYmFsRmFybVVwZGF0ZWQQAQhpZBABMEdsb2JhbEZhcm1JZAABYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcxABLFBlcmlvZE9mPFQ+AAFAeWllbGRfcGVyX3BlcmlvZGUDASxQZXJxdWludGlsbAABLG1pbl9kZXBvc2l0GAEcQmFsYW5jZQABBFxHbG9iYWwgZmFybSB3YXMgdXBkYXRlZFBHbG9iYWxGYXJtVGVybWluYXRlZBABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAE8cmV3YXJkX2N1cnJlbmN5EAEoVDo6QXNzZXRJZAABVHVuZGlzdHJpYnV0ZWRfcmV3YXJkcxgBHEJhbGFuY2UAAgRsR2xvYmFsIGZhcm0gd2FzIHRlcm1pbmF0ZWQuQFlpZWxkRmFybUNyZWF0ZWQUAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABKG11bHRpcGxpZXJRAQE4RmFybU11bHRpcGxpZXIAATRsb3lhbHR5X2N1cnZlaQMBUE9wdGlvbjxMb3lhbHR5Q3VydmU+AAMElE5ldyB5aWVsZCBmYXJtIHdhcyBhZGRlZCB0byB0aGUgZmFybS5AWWllbGRGYXJtVXBkYXRlZBQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEobXVsdGlwbGllclEBAThGYXJtTXVsdGlwbGllcgAEBIhZaWVsZCBmYXJtIG11bHRpcGxpZXIgd2FzIHVwZGF0ZWQuQFlpZWxkRmFybVN0b3BwZWQQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABDHdobwABMFQ6OkFjY291bnRJZAAFBJhZaWVsZCBmYXJtIGZvciBgYXNzZXRfaWRgIHdhcyBzdG9wcGVkLkBZaWVsZEZhcm1SZXN1bWVkFAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAAShtdWx0aXBsaWVyUQEBOEZhcm1NdWx0aXBsaWVyAAYEmFlpZWxkIGZhcm0gZm9yIGBhc3NldF9pZGAgd2FzIHJlc3VtZWQuTFlpZWxkRmFybVRlcm1pbmF0ZWQQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABDHdobwABMFQ6OkFjY291bnRJZAAHBLxZaWVsZCBmYXJtIHdhcyB0ZXJtaW5hdGVkIGZyb20gdGhlIGdsb2JhbCBmYXJtLjxTaGFyZXNEZXBvc2l0ZWQcAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAATRzaGFyZXNfYW1vdW50GAEcQmFsYW5jZQABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQACASoTmV3IExQIHNoYXJlcyhMUCBwb3NpdGlvbikgd2VyZSBkZXBvc2l0ZWQuRFNoYXJlc1JlZGVwb3NpdGVkHAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEMd2hvAAEwVDo6QWNjb3VudElkAAE0c2hhcmVzX2Ftb3VudBgBHEJhbGFuY2UAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAkEAQFBbHJlYWR5IGxvY2tlZCBMUCBzaGFyZXMgd2VyZSByZWRlcG9zaXRlZCB0byBhbm90aGVyIHlpZWxkIGZhcm0uNFJld2FyZENsYWltZWQYAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABHGNsYWltZWQYARxCYWxhbmNlAAE8cmV3YXJkX2N1cnJlbmN5EAEoVDo6QXNzZXRJZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQACgRUUmV3YXJkcyB3ZXJlIGNsYWltZWQuPFNoYXJlc1dpdGhkcmF3bhQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEcQmFsYW5jZQABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQACwRkTFAgc2hhcmVzIHdlcmUgd2l0aGRyYXduLkBEZXBvc2l0RGVzdHJveWVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAAMBB0BQWxsIExQIHNoYXJlcyB3ZXJlIHVubG9ja2VkIGFuZCBORlQgcmVwcmVzZW50aW5nIGRlcG9zaXQgd2FzIGRlc3Ryb3llZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXShBgwocGFsbGV0X290YxhwYWxsZXQURXZlbnQEBFQAARAkQ2FuY2VsbGVkBAEgb3JkZXJfaWQQARxPcmRlcklkAAAEbEFuIE9yZGVyIGhhcyBiZWVuIGNhbmNlbGxlZBhGaWxsZWQUASBvcmRlcl9pZBABHE9yZGVySWQAAQx3aG8AATBUOjpBY2NvdW50SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAEoYW1vdW50X291dBgBHEJhbGFuY2UAAQxmZWUYARxCYWxhbmNlAAEIjEFuIE9yZGVyIGhhcyBiZWVuIGNvbXBsZXRlbHkgZmlsbGVkxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWQ8UGFydGlhbGx5RmlsbGVkFAEgb3JkZXJfaWQQARxPcmRlcklkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAEMZmVlGAEcQmFsYW5jZQACCIhBbiBPcmRlciBoYXMgYmVlbiBwYXJ0aWFsbHkgZmlsbGVkxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWQYUGxhY2VkGAEgb3JkZXJfaWQQARxPcmRlcklkAAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABSHBhcnRpYWxseV9maWxsYWJsZSABEGJvb2wAAwRgQW4gT3JkZXIgaGFzIGJlZW4gcGxhY2VkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0pQYMWHBhbGxldF9jaXJjdWl0X2JyZWFrZXIYcGFsbGV0FEV2ZW50BARUAAEMXFRyYWRlVm9sdW1lTGltaXRDaGFuZ2VkCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAFIdHJhZGVfdm9sdW1lX2xpbWl0dQMBKCh1MzIsIHUzMikAAASsVHJhZGUgdm9sdW1lIGxpbWl0IG9mIGFuIGFzc2V0IHdhcyBjaGFuZ2VkLmBBZGRMaXF1aWRpdHlMaW1pdENoYW5nZWQIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAATxsaXF1aWRpdHlfbGltaXSdAwFIT3B0aW9uPCh1MzIsIHUzMik+AAEEsEFkZCBsaXF1aWRpdHkgbGltaXQgb2YgYW4gYXNzZXQgd2FzIGNoYW5nZWQubFJlbW92ZUxpcXVpZGl0eUxpbWl0Q2hhbmdlZAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABPGxpcXVpZGl0eV9saW1pdJ0DAUhPcHRpb248KHUzMiwgdTMyKT4AAgS8UmVtb3ZlIGxpcXVpZGl0eSBsaW1pdCBvZiBhbiBhc3NldCB3YXMgY2hhbmdlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSpBgxUcGFsbGV0X3JvdXRlX2V4ZWN1dG9yGHBhbGxldBRFdmVudAQEVAABCCBFeGVjdXRlZBQBIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YAShUOjpCYWxhbmNlAAEoYW1vdW50X291dBgBKFQ6OkJhbGFuY2UAASBldmVudF9pZBABREluY3JlbWVudGFsSWRUeXBlAAAE0FRoZSByb3V0ZSB3aXRoIHRyYWRlcyBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgZXhlY3V0ZWQwUm91dGVVcGRhdGVkBAEkYXNzZXRfaWRzgQMBPFZlYzxUOjpBc3NldElkPgABBNBUaGUgcm91dGUgd2l0aCB0cmFkZXMgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGV4ZWN1dGVkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0rQYMTHBhbGxldF9keW5hbWljX2ZlZXMYcGFsbGV0FEV2ZW50BARUAAEABHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0sQYMOHBhbGxldF9zdGFraW5nGHBhbGxldBRFdmVudAQEVAABGDxQb3NpdGlvbkNyZWF0ZWQMAQx3aG8AATBUOjpBY2NvdW50SWQAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEUc3Rha2UYARxCYWxhbmNlAAAE0E5ldyBzdGFraW5nIHBvc2l0aW9uIHdhcyBjcmVhdGVkIGFuZCBORlQgd2FzIG1pbnRlZC4oU3Rha2VBZGRlZBwBDHdobwABMFQ6OkFjY291bnRJZAABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAARRzdGFrZRgBHEJhbGFuY2UAASx0b3RhbF9zdGFrZRgBHEJhbGFuY2UAAThsb2NrZWRfcmV3YXJkcxgBHEJhbGFuY2UAAThzbGFzaGVkX3BvaW50cxgBFFBvaW50AAFIcGF5YWJsZV9wZXJjZW50YWdlUQEBJEZpeGVkVTEyOAABBMhTdGFrZWQgYW1vdW50IGZvciBleGlzdGluZyBwb3NpdGlvbiB3YXMgaW5jcmVhc2VkLjhSZXdhcmRzQ2xhaW1lZBwBDHdobwABMFQ6OkFjY291bnRJZAABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAATBwYWlkX3Jld2FyZHMYARxCYWxhbmNlAAFAdW5sb2NrZWRfcmV3YXJkcxgBHEJhbGFuY2UAAThzbGFzaGVkX3BvaW50cxgBFFBvaW50AAFYc2xhc2hlZF91bnBhaWRfcmV3YXJkcxgBHEJhbGFuY2UAAUhwYXlhYmxlX3BlcmNlbnRhZ2VRAQEkRml4ZWRVMTI4AAIEVFJld2FyZHMgd2VyZSBjbGFpbWVkLiBVbnN0YWtlZAwBDHdobwABMFQ6OkFjY291bnRJZAABLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAATh1bmxvY2tlZF9zdGFrZRgBHEJhbGFuY2UAAwS8U3Rha2VkIGFtb3VudCB3YXMgd2l0aGRyYXduIGFuZCBORlQgd2FzIGJ1cm5lZC5IU3Rha2luZ0luaXRpYWxpemVkBAFQbm9uX2R1c3RhYmxlX2JhbGFuY2UYARxCYWxhbmNlAAQEYFN0YWtpbmcgd2FzIGluaXRpYWxpemVkLlRBY2N1bXVsYXRlZFJwc1VwZGF0ZWQIATxhY2N1bXVsYXRlZF9ycHNRAQEkRml4ZWRVMTI4AAEsdG90YWxfc3Rha2UYARxCYWxhbmNlAAUE1FN0YWtpbmcncyBgYWNjdW11bGF0ZWRfcmV3YXJkX3Blcl9zdGFrZWAgd2FzIHVwZGF0ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0tQYMRHBhbGxldF9zdGFibGVzd2FwGHBhbGxldBRFdmVudAQEVAABJCxQb29sQ3JlYXRlZBQBHHBvb2xfaWQQAShUOjpBc3NldElkAAEYYXNzZXRzgQMBPFZlYzxUOjpBc3NldElkPgABNGFtcGxpZmljYXRpb265BgEoTm9uWmVyb1UxNgABDGZlZUkDARxQZXJtaWxsAAEMcGVnvQYBfE9wdGlvbjxQb29sUGVnSW5mbzxUOjpBc3NldElkPj4AAARMQSBwb29sIHdhcyBjcmVhdGVkLihGZWVVcGRhdGVkCAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAAQxmZWVJAwEcUGVybWlsbAABBGhQb29sIGZlZSBoYXMgYmVlbiB1cGRhdGVkLjhMaXF1aWRpdHlBZGRlZBABHHBvb2xfaWQQAShUOjpBc3NldElkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYc2hhcmVzGAEcQmFsYW5jZQABGGFzc2V0c40DAXBWZWM8QXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4+AAIEqExpcXVpZGl0eSBvZiBhbiBhc3NldCB3YXMgYWRkZWQgdG8gYSBwb29sLkBMaXF1aWRpdHlSZW1vdmVkFAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhzaGFyZXMYARxCYWxhbmNlAAEcYW1vdW50c40DAXBWZWM8QXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4+AAEMZmVlGAEcQmFsYW5jZQADBEhMaXF1aWRpdHkgcmVtb3ZlZC4wU2VsbEV4ZWN1dGVkHAEMd2hvAAEwVDo6QWNjb3VudElkAAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAEMZmVlGAEcQmFsYW5jZQAECI0BU2VsbCB0cmFkZSBleGVjdXRlZC4gVHJhZGUgZmVlIHBhaWQgaW4gYXNzZXQgbGVhdmluZyB0aGUgcG9vbCAoYWxyZWFkeSBzdWJ0cmFjdGVkIGZyb20gYW1vdW50X291dCkuxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWQsQnV5RXhlY3V0ZWQcAQx3aG8AATBUOjpBY2NvdW50SWQAARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAEoYW1vdW50X291dBgBHEJhbGFuY2UAAQxmZWUYARxCYWxhbmNlAAUIeQFCdXkgdHJhZGUgZXhlY3V0ZWQuIFRyYWRlIGZlZSBwYWlkIGluIGFzc2V0IGVudGVyaW5nIHRoZSBwb29sIChhbHJlYWR5IGluY2x1ZGVkIGluIGFtb3VudF9pbikuxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRQVHJhZGFibGVTdGF0ZVVwZGF0ZWQMARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABFHN0YXRlyQMBLFRyYWRhYmlsaXR5AAYEoEFzc2V0J3MgdHJhZGFibGUgc3RhdGUgaGFzIGJlZW4gdXBkYXRlZC5UQW1wbGlmaWNhdGlvbkNoYW5naW5nFAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAAVRjdXJyZW50X2FtcGxpZmljYXRpb265BgEoTm9uWmVyb1UxNgABTGZpbmFsX2FtcGxpZmljYXRpb265BgEoTm9uWmVyb1UxNgABLHN0YXJ0X2Jsb2NrEAFEQmxvY2tOdW1iZXJGb3I8VD4AASRlbmRfYmxvY2sQAURCbG9ja051bWJlckZvcjxUPgAHBNRBbXBsaWZpY2F0aW9uIG9mIGEgcG9vbCBoYXMgYmVlbiBzY2hlZHVsZWQgdG8gY2hhbmdlLjRQb29sRGVzdHJveWVkBAEccG9vbF9pZBABKFQ6OkFzc2V0SWQACARoQSBwb29sIGhhcyBiZWVuIGRlc3Ryb3llZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXS5BgQoTm9uWmVyb1UxNgAABADcAAAAvQYEGE9wdGlvbgQEVAHBBgEIEE5vbmUAAAAQU29tZQQAwQYAAAEAAMEGDERwYWxsZXRfc3RhYmxlc3dhcBR0eXBlcyxQb29sUGVnSW5mbwQcQXNzZXRJZAEQAAwBGHNvdXJjZc0DAWhCb3VuZGVkUGVnU291cmNlczxBc3NldElkPgABOG1heF9wZWdfdXBkYXRlSQMBHFBlcm1pbGwAARxjdXJyZW50xQYBLEJvdW5kZWRQZWdzAADFBgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAVEDBFMAAAQAyQYBGFZlYzxUPgAAyQYAAAJRAwDNBgwwcGFsbGV0X2JvbmRzGHBhbGxldBRFdmVudAQEVAABDDBUb2tlbkNyZWF0ZWQQARhpc3N1ZXIAATBUOjpBY2NvdW50SWQAASBhc3NldF9pZBABHEFzc2V0SWQAARxib25kX2lkEAEcQXNzZXRJZAABIG1hdHVyaXR5MAEYTW9tZW50AAAEbEEgYm9uZCBhc3NldCB3YXMgcmVnaXN0ZXJlZBhJc3N1ZWQQARhpc3N1ZXIAATBUOjpBY2NvdW50SWQAARxib25kX2lkEAEcQXNzZXRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAQxmZWUYAShUOjpCYWxhbmNlAAEEUE5ldyBib25kIHdlcmUgaXNzdWVkIFJlZGVlbWVkDAEMd2hvAAEwVDo6QWNjb3VudElkAAEcYm9uZF9pZBABHEFzc2V0SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAIETEJvbmRzIHdlcmUgcmVkZWVtZWQEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTRBgxYcGFsbGV0X290Y19zZXR0bGVtZW50cxhwYWxsZXQURXZlbnQEBFQAAQQgRXhlY3V0ZWQIASBhc3NldF9pZBABMEFzc2V0SWRPZjxUPgABGHByb2ZpdBgBHEJhbGFuY2UAAARkQSB0cmFkZSBoYXMgYmVlbiBleGVjdXRlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldNUGDChwYWxsZXRfbGJwGHBhbGxldBRFdmVudAQEVAABGCxQb29sQ3JlYXRlZAgBEHBvb2wAASRQb29sSWQ8VD4AARBkYXRh2QYBlFBvb2w8VDo6QWNjb3VudElkLCBCbG9ja051bWJlckZvcjxUPj4AAASwUG9vbCB3YXMgY3JlYXRlZCBieSB0aGUgYENyZWF0ZVBvb2xgIG9yaWdpbi4sUG9vbFVwZGF0ZWQIARBwb29sAAEkUG9vbElkPFQ+AAEQZGF0YdkGAZRQb29sPFQ6OkFjY291bnRJZCwgQmxvY2tOdW1iZXJGb3I8VD4+AAEEXFBvb2wgZGF0YSB3ZXJlIHVwZGF0ZWQuOExpcXVpZGl0eUFkZGVkFAEMd2hvAAEwVDo6QWNjb3VudElkAAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABIGFtb3VudF9hGAEwQmFsYW5jZU9mPFQ+AAEgYW1vdW50X2IYATBCYWxhbmNlT2Y8VD4AAgScTmV3IGxpcXVpZGl0eSB3YXMgcHJvdmlkZWQgdG8gdGhlIHBvb2wuQExpcXVpZGl0eVJlbW92ZWQUAQx3aG8AATBUOjpBY2NvdW50SWQAARxhc3NldF9hEAEcQXNzZXRJZAABHGFzc2V0X2IQARxBc3NldElkAAEgYW1vdW50X2EYATBCYWxhbmNlT2Y8VD4AASBhbW91bnRfYhgBMEJhbGFuY2VPZjxUPgADBPxMaXF1aWRpdHkgd2FzIHJlbW92ZWQgZnJvbSB0aGUgcG9vbCBhbmQgdGhlIHBvb2wgd2FzIGRlc3Ryb3llZC4wU2VsbEV4ZWN1dGVkHAEMd2hvAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgABKHNhbGVfcHJpY2UYATBCYWxhbmNlT2Y8VD4AASRmZWVfYXNzZXQQARxBc3NldElkAAEoZmVlX2Ftb3VudBgBMEJhbGFuY2VPZjxUPgAECDhTYWxlIGV4ZWN1dGVkLsREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkLEJ1eUV4ZWN1dGVkHAEMd2hvAAEwVDo6QWNjb3VudElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABIGFzc2V0X2luEAEcQXNzZXRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgABJGJ1eV9wcmljZRgBMEJhbGFuY2VPZjxUPgABJGZlZV9hc3NldBABHEFzc2V0SWQAAShmZWVfYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAUISFB1cmNoYXNlIGV4ZWN1dGVkLsREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV02QYIKHBhbGxldF9sYnAQUG9vbAgkQWNjb3VudElkAQAsQmxvY2tOdW1iZXIBEAAoARRvd25lcgABJEFjY291bnRJZAABFHN0YXJ0bQEBTE9wdGlvbjxCbG9ja051bWJlcj4AAQxlbmRtAQFMT3B0aW9uPEJsb2NrTnVtYmVyPgABGGFzc2V0c3UDAUgoQXNzZXRJZCwgQXNzZXRJZCkAAThpbml0aWFsX3dlaWdodBABJExCUFdlaWdodAABMGZpbmFsX3dlaWdodBABJExCUFdlaWdodAABMHdlaWdodF9jdXJ2Ze0DATxXZWlnaHRDdXJ2ZVR5cGUAAQxmZWV1AwEoKHUzMiwgdTMyKQABNGZlZV9jb2xsZWN0b3IAASRBY2NvdW50SWQAATByZXBheV90YXJnZXQYARxCYWxhbmNlAADdBgwocGFsbGV0X3h5axhwYWxsZXQURXZlbnQEBFQAARg4TGlxdWlkaXR5QWRkZWQUAQx3aG8AATBUOjpBY2NvdW50SWQAARxhc3NldF9hEAEcQXNzZXRJZAABHGFzc2V0X2IQARxBc3NldElkAAEgYW1vdW50X2EYARxCYWxhbmNlAAEgYW1vdW50X2IYARxCYWxhbmNlAAAEnE5ldyBsaXF1aWRpdHkgd2FzIHByb3ZpZGVkIHRvIHRoZSBwb29sLkBMaXF1aWRpdHlSZW1vdmVkEAEMd2hvAAEwVDo6QWNjb3VudElkAAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABGHNoYXJlcxgBHEJhbGFuY2UAAQSQTGlxdWlkaXR5IHdhcyByZW1vdmVkIGZyb20gdGhlIHBvb2wuLFBvb2xDcmVhdGVkGAEMd2hvAAEwVDo6QWNjb3VudElkAAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABVGluaXRpYWxfc2hhcmVzX2Ftb3VudBgBHEJhbGFuY2UAASxzaGFyZV90b2tlbhABHEFzc2V0SWQAARBwb29sAAEwVDo6QWNjb3VudElkAAIERFBvb2wgd2FzIGNyZWF0ZWQuNFBvb2xEZXN0cm95ZWQUAQx3aG8AATBUOjpBY2NvdW50SWQAARxhc3NldF9hEAEcQXNzZXRJZAABHGFzc2V0X2IQARxBc3NldElkAAEsc2hhcmVfdG9rZW4QARxBc3NldElkAAEQcG9vbAABMFQ6OkFjY291bnRJZAADBExQb29sIHdhcyBkZXN0cm95ZWQuMFNlbGxFeGVjdXRlZCABDHdobwABMFQ6OkFjY291bnRJZAABIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEoc2FsZV9wcmljZRgBHEJhbGFuY2UAASRmZWVfYXNzZXQQARxBc3NldElkAAEoZmVlX2Ftb3VudBgBHEJhbGFuY2UAARBwb29sAAEwVDo6QWNjb3VudElkAAQIUEFzc2V0IHNhbGUgZXhlY3V0ZWQuxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWQsQnV5RXhlY3V0ZWQgAQx3aG8AATBUOjpBY2NvdW50SWQAASRhc3NldF9vdXQQARxBc3NldElkAAEgYXNzZXRfaW4QARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABJGJ1eV9wcmljZRgBHEJhbGFuY2UAASRmZWVfYXNzZXQQARxBc3NldElkAAEoZmVlX2Ftb3VudBgBHEJhbGFuY2UAARBwb29sAAEwVDo6QWNjb3VudElkAAUIYEFzc2V0IHB1cmNoYXNlIGV4ZWN1dGVkLsREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV04QYMQHBhbGxldF9yZWZlcnJhbHMYcGFsbGV0FEV2ZW50BARUAAEYOENvZGVSZWdpc3RlcmVkCAEQY29kZf0DAWxSZWZlcnJhbENvZGU8VDo6Q29kZUxlbmd0aD4AARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAAEiFJlZmVycmFsIGNvZGUgaGFzIGJlZW4gcmVnaXN0ZXJlZC4oQ29kZUxpbmtlZAwBHGFjY291bnQAATBUOjpBY2NvdW50SWQAARBjb2Rl/QMBbFJlZmVycmFsQ29kZTxUOjpDb2RlTGVuZ3RoPgABQHJlZmVycmFsX2FjY291bnQAATBUOjpBY2NvdW50SWQAAQSwUmVmZXJyYWwgY29kZSBoYXMgYmVlbiBsaW5rZWQgdG8gYW4gYWNjb3VudC4kQ29udmVydGVkCAEQZnJvbeUGAVxBc3NldEFtb3VudDxUOjpBc3NldElkPgABCHRv5QYBXEFzc2V0QW1vdW50PFQ6OkFzc2V0SWQ+AAIEoEFzc2V0IGhhcyBiZWVuIGNvbnZlcnRlZCB0byBSZXdhcmRBc3NldC4cQ2xhaW1lZAwBDHdobwABMFQ6OkFjY291bnRJZAABQHJlZmVycmVyX3Jld2FyZHMYARxCYWxhbmNlAAE0dHJhZGVfcmV3YXJkcxgBHEJhbGFuY2UAAwRAUmV3YXJkcyBjbGFpbWVkLkxBc3NldFJld2FyZHNVcGRhdGVkDAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEUbGV2ZWwBBAEUTGV2ZWwAARxyZXdhcmRzBQQBPEZlZURpc3RyaWJ1dGlvbgAEBHxOZXcgYXNzZXQgcmV3YXJkcyBoYXMgYmVlbiBzZXQuHExldmVsVXAIAQx3aG8AATBUOjpBY2NvdW50SWQAARRsZXZlbAEEARRMZXZlbAAFBGxSZWZlcnJlciByZWFjaGVkIG5ldyBsZXZlbC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTlBghAcGFsbGV0X3JlZmVycmFscyxBc3NldEFtb3VudAQcQXNzZXRJZAEQAAgBIGFzc2V0X2lkEAEcQXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAOkGDEhwYWxsZXRfbGlxdWlkYXRpb24YcGFsbGV0FEV2ZW50BARUAAEEKExpcXVpZGF0ZWQYAShsaXF1aWRhdG9yAAEwVDo6QWNjb3VudElkAAEsZXZtX2FkZHJlc3NVAQEoRXZtQWRkcmVzcwABQGNvbGxhdGVyYWxfYXNzZXQQARxBc3NldElkAAEoZGVidF9hc3NldBABHEFzc2V0SWQAATRkZWJ0X3RvX2NvdmVyGAEcQmFsYW5jZQABGHByb2ZpdBgBHEJhbGFuY2UAAASkTW9uZXkgbWFya2V0IHBvc2l0aW9uIGhhcyBiZWVuIGxpcXVpZGF0ZWQEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTtBgwsb3JtbF90b2tlbnMYbW9kdWxlFEV2ZW50BARUAAFEHEVuZG93ZWQMASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAAEuEFuIGFjY291bnQgd2FzIGNyZWF0ZWQgd2l0aCBzb21lIGZyZWUgYmFsYW5jZS4gRHVzdExvc3QMASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEI7EFuIGFjY291bnQgd2FzIHJlbW92ZWQgd2hvc2UgYmFsYW5jZSB3YXMgbm9uLXplcm8gYnV0IGJlbG93yEV4aXN0ZW50aWFsRGVwb3NpdCwgcmVzdWx0aW5nIGluIGFuIG91dHJpZ2h0IGxvc3MuIFRyYW5zZmVyEAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEQZnJvbQABMFQ6OkFjY291bnRJZAABCHRvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQACBExUcmFuc2ZlciBzdWNjZWVkZWQuIFJlc2VydmVkDAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQADBOBTb21lIGJhbGFuY2Ugd2FzIHJlc2VydmVkIChtb3ZlZCBmcm9tIGZyZWUgdG8gcmVzZXJ2ZWQpLihVbnJlc2VydmVkDAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAEBOhTb21lIGJhbGFuY2Ugd2FzIHVucmVzZXJ2ZWQgKG1vdmVkIGZyb20gcmVzZXJ2ZWQgdG8gZnJlZSkuSFJlc2VydmVSZXBhdHJpYXRlZBQBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAARhzdGF0dXOAATRCYWxhbmNlU3RhdHVzAAUI9FNvbWUgcmVzZXJ2ZWQgYmFsYW5jZSB3YXMgcmVwYXRyaWF0ZWQgKG1vdmVkIGZyb20gcmVzZXJ2ZWQgdG9EYW5vdGhlciBhY2NvdW50KS4oQmFsYW5jZVNldBABLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABEGZyZWUYAShUOjpCYWxhbmNlAAEgcmVzZXJ2ZWQYAShUOjpCYWxhbmNlAAYEaEEgYmFsYW5jZSB3YXMgc2V0IGJ5IHJvb3QuQFRvdGFsSXNzdWFuY2VTZXQIASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAcEuFRoZSB0b3RhbCBpc3N1YW5jZSBvZiBhbiBjdXJyZW5jeSBoYXMgYmVlbiBzZXQkV2l0aGRyYXduDAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAIBOxTb21lIGJhbGFuY2VzIHdlcmUgd2l0aGRyYXduIChlLmcuIHBheSBmb3IgdHJhbnNhY3Rpb24gZmVlKRxTbGFzaGVkEAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEsZnJlZV9hbW91bnQYAShUOjpCYWxhbmNlAAE8cmVzZXJ2ZWRfYW1vdW50GAEoVDo6QmFsYW5jZQAJBNRTb21lIGJhbGFuY2VzIHdlcmUgc2xhc2hlZCAoZS5nLiBkdWUgdG8gbWlzLWJlaGF2aW9yKSREZXBvc2l0ZWQMASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAoEmERlcG9zaXRlZCBzb21lIGJhbGFuY2UgaW50byBhbiBhY2NvdW50HExvY2tTZXQQARxsb2NrX2lkFQIBOExvY2tJZGVudGlmaWVyAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQALBFRTb21lIGZ1bmRzIGFyZSBsb2NrZWQsTG9ja1JlbW92ZWQMARxsb2NrX2lkFQIBOExvY2tJZGVudGlmaWVyAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAwEfFNvbWUgbG9ja2VkIGZ1bmRzIHdlcmUgdW5sb2NrZWQYTG9ja2VkDAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQANBHRTb21lIGZyZWUgYmFsYW5jZSB3YXMgbG9ja2VkLiBVbmxvY2tlZAwBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UADgR4U29tZSBsb2NrZWQgYmFsYW5jZSB3YXMgZnJlZWQuGElzc3VlZAgBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UADwAkUmVzY2luZGVkCAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAQAAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldPEGDERwYWxsZXRfY3VycmVuY2llcxhtb2R1bGUURXZlbnQEBFQAARAsVHJhbnNmZXJyZWQQASxjdXJyZW5jeV9pZBABPEN1cnJlbmN5SWRPZjxUPgABEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgAABGhDdXJyZW5jeSB0cmFuc2ZlciBzdWNjZXNzLjhCYWxhbmNlVXBkYXRlZAwBLGN1cnJlbmN5X2lkEAE8Q3VycmVuY3lJZE9mPFQ+AAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50FQQBLEFtb3VudE9mPFQ+AAEEXFVwZGF0ZSBiYWxhbmNlIHN1Y2Nlc3MuJERlcG9zaXRlZAwBLGN1cnJlbmN5X2lkEAE8Q3VycmVuY3lJZE9mPFQ+AAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAIEQERlcG9zaXQgc3VjY2Vzcy4kV2l0aGRyYXduDAEsY3VycmVuY3lfaWQQATxDdXJyZW5jeUlkT2Y8VD4AAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4AAwREV2l0aGRyYXcgc3VjY2Vzcy4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXT1Bgwwb3JtbF92ZXN0aW5nGG1vZHVsZRRFdmVudAQEVAABDFBWZXN0aW5nU2NoZWR1bGVBZGRlZAwBEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAABQHZlc3Rpbmdfc2NoZWR1bGUdBAFQVmVzdGluZ1NjaGVkdWxlT2Y8VD4AAARsQWRkZWQgbmV3IHZlc3Rpbmcgc2NoZWR1bGUuHENsYWltZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4AAQRAQ2xhaW1lZCB2ZXN0aW5nLlxWZXN0aW5nU2NoZWR1bGVzVXBkYXRlZAQBDHdobwABMFQ6OkFjY291bnRJZAACBGhVcGRhdGVkIHZlc3Rpbmcgc2NoZWR1bGVzLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldPkGDChwYWxsZXRfZXZtGHBhbGxldBRFdmVudAQEVAABFAxMb2cEAQxsb2f9BgEMTG9nAAAEfEV0aGVyZXVtIGV2ZW50cyBmcm9tIGNvbnRyYWN0cy4cQ3JlYXRlZAQBHGFkZHJlc3NVAQEQSDE2MAABBLRBIGNvbnRyYWN0IGhhcyBiZWVuIGNyZWF0ZWQgYXQgZ2l2ZW4gYWRkcmVzcy40Q3JlYXRlZEZhaWxlZAQBHGFkZHJlc3NVAQEQSDE2MAACBAUBQSBjb250cmFjdCB3YXMgYXR0ZW1wdGVkIHRvIGJlIGNyZWF0ZWQsIGJ1dCB0aGUgZXhlY3V0aW9uIGZhaWxlZC4gRXhlY3V0ZWQEARxhZGRyZXNzVQEBEEgxNjAAAwT4QSBjb250cmFjdCBoYXMgYmVlbiBleGVjdXRlZCBzdWNjZXNzZnVsbHkgd2l0aCBzdGF0ZXMgYXBwbGllZC44RXhlY3V0ZWRGYWlsZWQEARxhZGRyZXNzVQEBEEgxNjAABARlAUEgY29udHJhY3QgaGFzIGJlZW4gZXhlY3V0ZWQgd2l0aCBlcnJvcnMuIFN0YXRlcyBhcmUgcmV2ZXJ0ZWQgd2l0aCBvbmx5IGdhcyBmZWVzIGFwcGxpZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0/QYMIGV0aGVyZXVtDGxvZwxMb2cAAAwBHGFkZHJlc3NVAQEQSDE2MAABGHRvcGljc+EBASRWZWM8SDI1Nj4AARBkYXRhOAEUQnl0ZXMAAAEHDDxwYWxsZXRfZXRoZXJldW0YcGFsbGV0FEV2ZW50AAEEIEV4ZWN1dGVkFAEQZnJvbVUBARBIMTYwAAEIdG9VAQEQSDE2MAABQHRyYW5zYWN0aW9uX2hhc2g0ARBIMjU2AAEsZXhpdF9yZWFzb24FBwEoRXhpdFJlYXNvbgABKGV4dHJhX2RhdGE4ARxWZWM8dTg+AAAEyEFuIGV0aGVyZXVtIHRyYW5zYWN0aW9uIHdhcyBzdWNjZXNzZnVsbHkgZXhlY3V0ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0BQcMIGV2bV9jb3JlFGVycm9yKEV4aXRSZWFzb24AARAcU3VjY2VlZAQACQcBLEV4aXRTdWNjZWVkAAAAFEVycm9yBAANBwEkRXhpdEVycm9yAAEAGFJldmVydAQAHQcBKEV4aXRSZXZlcnQAAgAURmF0YWwEACEHASRFeGl0RmF0YWwAAwAACQcMIGV2bV9jb3JlFGVycm9yLEV4aXRTdWNjZWVkAAEMHFN0b3BwZWQAAAAgUmV0dXJuZWQAAQAgU3VpY2lkZWQAAgAADQcMIGV2bV9jb3JlFGVycm9yJEV4aXRFcnJvcgABQDhTdGFja1VuZGVyZmxvdwAAADRTdGFja092ZXJmbG93AAEALEludmFsaWRKdW1wAAIAMEludmFsaWRSYW5nZQADAEREZXNpZ25hdGVkSW52YWxpZAAEACxDYWxsVG9vRGVlcAAFADxDcmVhdGVDb2xsaXNpb24ABgBMQ3JlYXRlQ29udHJhY3RMaW1pdAAHACxJbnZhbGlkQ29kZQQAEQcBGE9wY29kZQAPACxPdXRPZk9mZnNldAAIACBPdXRPZkdhcwAJACRPdXRPZkZ1bmQACgAsUENVbmRlcmZsb3cACwAsQ3JlYXRlRW1wdHkADAAUT3RoZXIEABUHAURDb3c8J3N0YXRpYywgc3RyPgANACBNYXhOb25jZQAOAAARBwwgZXZtX2NvcmUYb3Bjb2RlGE9wY29kZQAABAAIAQh1OAAAFQcEDENvdwQEVAEZBwAEABkHAAAAGQcAAAUCAB0HDCBldm1fY29yZRRlcnJvcihFeGl0UmV2ZXJ0AAEEIFJldmVydGVkAAAAACEHDCBldm1fY29yZRRlcnJvciRFeGl0RmF0YWwAARAwTm90U3VwcG9ydGVkAAAASFVuaGFuZGxlZEludGVycnVwdAABAEBDYWxsRXJyb3JBc0ZhdGFsBAANBwEkRXhpdEVycm9yAAIAFE90aGVyBAAVBwFEQ293PCdzdGF0aWMsIHN0cj4AAwAAJQcMTHBhbGxldF9ldm1fYWNjb3VudHMYcGFsbGV0FEV2ZW50BARUAAEUFEJvdW5kCAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABHGFkZHJlc3NVAQEoRXZtQWRkcmVzcwAABFBCaW5kaW5nIHdhcyBjcmVhdGVkLjREZXBsb3llckFkZGVkBAEMd2hvVQEBKEV2bUFkZHJlc3MAAQRMRGVwbG95ZXIgd2FzIGFkZGVkLjxEZXBsb3llclJlbW92ZWQEAQx3aG9VAQEoRXZtQWRkcmVzcwACBFREZXBsb3llciB3YXMgcmVtb3ZlZC5AQ29udHJhY3RBcHByb3ZlZAQBHGFkZHJlc3NVAQEoRXZtQWRkcmVzcwADBFhDb250cmFjdCB3YXMgYXBwcm92ZWQuTENvbnRyYWN0RGlzYXBwcm92ZWQEARxhZGRyZXNzVQEBKEV2bUFkZHJlc3MABARkQ29udHJhY3Qgd2FzIGRpc2FwcHJvdmVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldCkHDGxwYWxsZXRfeHlrX2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0FEV2ZW50BARUAAE0REdsb2JhbEZhcm1DcmVhdGVkLAEIaWQQATBHbG9iYWxGYXJtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABNHRvdGFsX3Jld2FyZHMYARxCYWxhbmNlAAE8cmV3YXJkX2N1cnJlbmN5EAEcQXNzZXRJZAABQHlpZWxkX3Blcl9wZXJpb2RlAwEsUGVycXVpbnRpbGwAAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMQASxQZXJpb2RPZjxUPgABRGJsb2Nrc19wZXJfcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AAUhpbmNlbnRpdml6ZWRfYXNzZXQQARxBc3NldElkAAFUbWF4X3Jld2FyZF9wZXJfcGVyaW9kGAEcQmFsYW5jZQABLG1pbl9kZXBvc2l0GAEcQmFsYW5jZQABQHByaWNlX2FkanVzdG1lbnRRAQEkRml4ZWRVMTI4AAAEcE5ldyBnbG9iYWwgZmFybSB3YXMgY3JlYXRlZC5ER2xvYmFsRmFybVVwZGF0ZWQIAQhpZBABMEdsb2JhbEZhcm1JZAABQHByaWNlX2FkanVzdG1lbnRRAQEkRml4ZWRVMTI4AAEEtEdsb2JhbCBmYXJtJ3MgYHByaWNlX2FkanVzdG1lbnRgIHdhcyB1cGRhdGVkLkBZaWVsZEZhcm1DcmVhdGVkFAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShtdWx0aXBsaWVyUQEBOEZhcm1NdWx0aXBsaWVyAAEoYXNzZXRfcGFpcmUEASRBc3NldFBhaXIAATRsb3lhbHR5X2N1cnZlaQMBUE9wdGlvbjxMb3lhbHR5Q3VydmU+AAIEnE5ldyB5aWVsZCBmYXJtIHdhcyBhZGRlZCBpbnRvIHRoZSBmYXJtLlBHbG9iYWxGYXJtVGVybWluYXRlZBABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAE8cmV3YXJkX2N1cnJlbmN5EAEcQXNzZXRJZAABVHVuZGlzdHJpYnV0ZWRfcmV3YXJkcxgBHEJhbGFuY2UAAwRsR2xvYmFsIGZhcm0gd2FzIHRlcm1pbmF0ZWQuPFNoYXJlc0RlcG9zaXRlZBgBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEcQmFsYW5jZQABIGxwX3Rva2VuEAEcQXNzZXRJZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQABARwTmV3IExQIHRva2VucyB3YXMgZGVwb3NpdGVkLkRTaGFyZXNSZWRlcG9zaXRlZBgBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEcQmFsYW5jZQABIGxwX3Rva2VuEAEcQXNzZXRJZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQABQTMTFAgdG9rZW4gd2FzIHJlZGVwb3NpdGVkIGZvciBhIG5ldyB5aWVsZCBmYXJtIGVudHJ5NFJld2FyZENsYWltZWQYAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABHGNsYWltZWQYARxCYWxhbmNlAAE8cmV3YXJkX2N1cnJlbmN5EAEcQXNzZXRJZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQABgRQUmV3YXJkcyB3YXMgY2xhaW1lZC48U2hhcmVzV2l0aGRyYXduGAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAASBscF90b2tlbhABHEFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAAHBGBMUCB0b2tlbnMgd2FzIHdpdGhkcmF3bi5AWWllbGRGYXJtU3RvcHBlZBABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEoYXNzZXRfcGFpcmUEASRBc3NldFBhaXIACASYWWllbGQgZmFybSBmb3IgYXNzZXQgcGFpciB3YXMgc3RvcHBlZC5AWWllbGRGYXJtUmVzdW1lZBQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEoYXNzZXRfcGFpcmUEASRBc3NldFBhaXIAAShtdWx0aXBsaWVyUQEBOEZhcm1NdWx0aXBsaWVyAAkEmFlpZWxkIGZhcm0gZm9yIGFzc2V0IHBhaXIgd2FzIHJlc3VtZWQuTFlpZWxkRmFybVRlcm1pbmF0ZWQQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABKGFzc2V0X3BhaXJlBAEkQXNzZXRQYWlyAAoErFlpZWxkIGZhcm0gd2FzIHRlcm1pbmF0ZWQgZnJvbSBnbG9iYWwgZmFybS5AWWllbGRGYXJtVXBkYXRlZBQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEoYXNzZXRfcGFpcmUEASRBc3NldFBhaXIAAShtdWx0aXBsaWVyUQEBOEZhcm1NdWx0aXBsaWVyAAsEiFlpZWxkIGZhcm0gbXVsdGlwbGllciB3YXMgdXBkYXRlZC5ARGVwb3NpdERlc3Ryb3llZAgBDHdobwABMFQ6OkFjY291bnRJZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQADASsTkZUIHJlcHJlc2VudGluZyBkZXBvc2l0IGhhcyBiZWVuIGRlc3Ryb3llZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldC0HDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQURXZlbnQIBFQABEkAAQxcR2xvYmFsRmFybUFjY1JQWlVwZGF0ZWQMAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABPGFjY3VtdWxhdGVkX3JwelEBASRGaXhlZFUxMjgAATh0b3RhbF9zaGFyZXNfehgBHEJhbGFuY2UAAATUR2xvYmFsIGZhcm0gYWNjdW11bGF0ZWQgcmV3YXJkIHBlciBzaGFyZSB3YXMgdXBkYXRlZC5cWWllbGRGYXJtQWNjUlBWU1VwZGF0ZWQQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABQGFjY3VtdWxhdGVkX3JwdnNRAQEkRml4ZWRVMTI4AAFMdG90YWxfdmFsdWVkX3NoYXJlcxgBHEJhbGFuY2UAAQTsWWllbGQgZmFybSBhY2N1bXVsYXRlZCByZXdhcmQgcGVyIHZhbHVlZCBzaGFyZSB3YXMgdXBkYXRlZC5UQWxsUmV3YXJkc0Rpc3RyaWJ1dGVkBAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAgTwR2xvYmFsIGZhcm0gaGFzIG5vIG1vcmUgcmV3YXJkcyB0byBkaXN0cmlidXRlIGluIHRoZSBtb21lbnQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0MQcMWHBhbGxldF9yZWxheWNoYWluX2luZm8YcGFsbGV0FEV2ZW50BARUAAEETEN1cnJlbnRCbG9ja051bWJlcnMIAVhwYXJhY2hhaW5fYmxvY2tfbnVtYmVyEAFEQmxvY2tOdW1iZXJGb3I8VD4AAVxyZWxheWNoYWluX2Jsb2NrX251bWJlchABREJsb2NrTnVtYmVyRm9yPFQ+AAAIVEN1cnJlbnQgYmxvY2sgbnVtYmVyc8xbIFBhcmFjaGFpbiBibG9jayBudW1iZXIsIFJlbGF5Y2hhaW4gQmxvY2sgbnVtYmVyIF0EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQ1BwwocGFsbGV0X2RjYRhwYWxsZXQURXZlbnQEBFQAASBARXhlY3V0aW9uU3RhcnRlZAgBCGlkEAEoU2NoZWR1bGVJZAABFGJsb2NrEAFEQmxvY2tOdW1iZXJGb3I8VD4AAARwVGhlIERDQSBleGVjdXRpb24gaXMgc3RhcnRlZCRTY2hlZHVsZWQUAQhpZBABKFNjaGVkdWxlSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhwZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgABMHRvdGFsX2Ftb3VudBgBHEJhbGFuY2UAARRvcmRlcoUEAURPcmRlcjxUOjpBc3NldElkPgABBJxUaGUgRENBIGlzIHNjaGVkdWxlZCBmb3IgbmV4dCBleGVjdXRpb25ARXhlY3V0aW9uUGxhbm5lZAwBCGlkEAEoU2NoZWR1bGVJZAABDHdobwABMFQ6OkFjY291bnRJZAABFGJsb2NrEAFEQmxvY2tOdW1iZXJGb3I8VD4AAgSIVGhlIERDQSBpcyBwbGFubmVkIGZvciBibG9ja251bWJlcjRUcmFkZUV4ZWN1dGVkEAEIaWQQAShTY2hlZHVsZUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAMIzERlcHJlY2F0ZWQuIFVzZSBwYWxsZXRfYW1tOjpFdmVudDo6U3dhcHBlZCBpbnN0ZWFkLphUaGUgRENBIHRyYWRlIGlzIHN1Y2Nlc3NmdWxseSBleGVjdXRlZCxUcmFkZUZhaWxlZAwBCGlkEAEoU2NoZWR1bGVJZAABDHdobwABMFQ6OkFjY291bnRJZAABFGVycm9yaAE0RGlzcGF0Y2hFcnJvcgAEBIRUaGUgRENBIHRyYWRlIGV4ZWN1dGlvbiBpcyBmYWlsZWQoVGVybWluYXRlZAwBCGlkEAEoU2NoZWR1bGVJZAABDHdobwABMFQ6OkFjY291bnRJZAABFGVycm9yaAE0RGlzcGF0Y2hFcnJvcgAFBOxUaGUgRENBIGlzIHRlcm1pbmF0ZWQgYW5kIGNvbXBsZXRlbHkgcmVtb3ZlZCBmcm9tIHRoZSBjaGFpbiRDb21wbGV0ZWQIAQhpZBABKFNjaGVkdWxlSWQAAQx3aG8AATBUOjpBY2NvdW50SWQABgToVGhlIERDQSBpcyBjb21wbGV0ZWQgYW5kIGNvbXBsZXRlbHkgcmVtb3ZlZCBmcm9tIHRoZSBjaGFpbmhSYW5kb21uZXNzR2VuZXJhdGlvbkZhaWxlZAgBFGJsb2NrEAFEQmxvY2tOdW1iZXJGb3I8VD4AARRlcnJvcmgBNERpc3BhdGNoRXJyb3IABwRBAVJhbmRvbW5lc3MgZ2VuZXJhdGlvbiBmYWlsZWQgcG9zc2libHkgY29taW5nIGZyb20gbWlzc2luZyBkYXRhIGFib3V0IHJlbGF5IGNoYWluBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0OQcMQHBhbGxldF9zY2hlZHVsZXIYcGFsbGV0FEV2ZW50BARUAAEkJFNjaGVkdWxlZAgBEHdoZW4QAURCbG9ja051bWJlckZvcjxUPgABFGluZGV4EAEMdTMyAAAEUFNjaGVkdWxlZCBzb21lIHRhc2suIENhbmNlbGVkCAEQd2hlbhABREJsb2NrTnVtYmVyRm9yPFQ+AAEUaW5kZXgQAQx1MzIAAQRMQ2FuY2VsZWQgc29tZSB0YXNrLihEaXNwYXRjaGVkDAEQdGFza3UDAXhUYXNrQWRkcmVzczxCbG9ja051bWJlckZvcjxUPj4AAQhpZD0HAUBPcHRpb248VGFza05hbWU+AAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQAAgRURGlzcGF0Y2hlZCBzb21lIHRhc2suIFJldHJ5U2V0EAEQdGFza3UDAXhUYXNrQWRkcmVzczxCbG9ja051bWJlckZvcjxUPj4AAQhpZD0HAUBPcHRpb248VGFza05hbWU+AAEYcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AARxyZXRyaWVzCAEIdTgAAwSgU2V0IGEgcmV0cnkgY29uZmlndXJhdGlvbiBmb3Igc29tZSB0YXNrLjhSZXRyeUNhbmNlbGxlZAgBEHRhc2t1AwF4VGFza0FkZHJlc3M8QmxvY2tOdW1iZXJGb3I8VD4+AAEIaWQ9BwFAT3B0aW9uPFRhc2tOYW1lPgAEBKxDYW5jZWwgYSByZXRyeSBjb25maWd1cmF0aW9uIGZvciBzb21lIHRhc2suPENhbGxVbmF2YWlsYWJsZQgBEHRhc2t1AwF4VGFza0FkZHJlc3M8QmxvY2tOdW1iZXJGb3I8VD4+AAEIaWQ9BwFAT3B0aW9uPFRhc2tOYW1lPgAFBCkBVGhlIGNhbGwgZm9yIHRoZSBwcm92aWRlZCBoYXNoIHdhcyBub3QgZm91bmQgc28gdGhlIHRhc2sgaGFzIGJlZW4gYWJvcnRlZC44UGVyaW9kaWNGYWlsZWQIARB0YXNrdQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgABCGlkPQcBQE9wdGlvbjxUYXNrTmFtZT4ABgQ9AVRoZSBnaXZlbiB0YXNrIHdhcyB1bmFibGUgdG8gYmUgcmVuZXdlZCBzaW5jZSB0aGUgYWdlbmRhIGlzIGZ1bGwgYXQgdGhhdCBibG9jay4sUmV0cnlGYWlsZWQIARB0YXNrdQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgABCGlkPQcBQE9wdGlvbjxUYXNrTmFtZT4ABwhdAVRoZSBnaXZlbiB0YXNrIHdhcyB1bmFibGUgdG8gYmUgcmV0cmllZCBzaW5jZSB0aGUgYWdlbmRhIGlzIGZ1bGwgYXQgdGhhdCBibG9jayBvciB0aGVyZZx3YXMgbm90IGVub3VnaCB3ZWlnaHQgdG8gcmVzY2hlZHVsZSBpdC5UUGVybWFuZW50bHlPdmVyd2VpZ2h0CAEQdGFza3UDAXhUYXNrQWRkcmVzczxCbG9ja051bWJlckZvcjxUPj4AAQhpZD0HAUBPcHRpb248VGFza05hbWU+AAgE8FRoZSBnaXZlbiB0YXNrIGNhbiBuZXZlciBiZSBleGVjdXRlZCBzaW5jZSBpdCBpcyBvdmVyd2VpZ2h0LgQwRXZlbnRzIHR5cGUuPQcEGE9wdGlvbgQEVAEEAQgQTm9uZQAAABBTb21lBAAEAAABAABBBwx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbRhwYWxsZXQURXZlbnQEBFQAARhgVmFsaWRhdGlvbkZ1bmN0aW9uU3RvcmVkAAAE0FRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIGhhcyBiZWVuIHNjaGVkdWxlZCB0byBhcHBseS5kVmFsaWRhdGlvbkZ1bmN0aW9uQXBwbGllZAQBVHJlbGF5X2NoYWluX2Jsb2NrX251bRABVFJlbGF5Q2hhaW5CbG9ja051bWJlcgABBEUBVGhlIHZhbGlkYXRpb24gZnVuY3Rpb24gd2FzIGFwcGxpZWQgYXMgb2YgdGhlIGNvbnRhaW5lZCByZWxheSBjaGFpbiBibG9jayBudW1iZXIubFZhbGlkYXRpb25GdW5jdGlvbkRpc2NhcmRlZAACBLBUaGUgcmVsYXktY2hhaW4gYWJvcnRlZCB0aGUgdXBncmFkZSBwcm9jZXNzLmBEb3dud2FyZE1lc3NhZ2VzUmVjZWl2ZWQEARRjb3VudBABDHUzMgADBAEBU29tZSBkb3dud2FyZCBtZXNzYWdlcyBoYXZlIGJlZW4gcmVjZWl2ZWQgYW5kIHdpbGwgYmUgcHJvY2Vzc2VkLmREb3dud2FyZE1lc3NhZ2VzUHJvY2Vzc2VkCAEsd2VpZ2h0X3VzZWQoARhXZWlnaHQAASBkbXFfaGVhZDQBRHJlbGF5X2NoYWluOjpIYXNoAAQE4ERvd253YXJkIG1lc3NhZ2VzIHdlcmUgcHJvY2Vzc2VkIHVzaW5nIHRoZSBnaXZlbiB3ZWlnaHQuRFVwd2FyZE1lc3NhZ2VTZW50BAEwbWVzc2FnZV9oYXNoPQcBPE9wdGlvbjxYY21IYXNoPgAFBLhBbiB1cHdhcmQgbWVzc2FnZSB3YXMgc2VudCB0byB0aGUgcmVsYXkgY2hhaW4uBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0RQcMKHBhbGxldF94Y20YcGFsbGV0FEV2ZW50BARUAAFgJEF0dGVtcHRlZAQBHG91dGNvbWVJBwFQeGNtOjpsYXRlc3Q6Ok91dGNvbWUAAASoRXhlY3V0aW9uIG9mIGFuIFhDTSBtZXNzYWdlIHdhcyBhdHRlbXB0ZWQuEFNlbnQQARhvcmlnaW6VAQEgTG9jYXRpb24AASxkZXN0aW5hdGlvbpUBASBMb2NhdGlvbgABHG1lc3NhZ2WhBQEcWGNtPCgpPgABKG1lc3NhZ2VfaWQEARxYY21IYXNoAAEEXEEgWENNIG1lc3NhZ2Ugd2FzIHNlbnQuSFVuZXhwZWN0ZWRSZXNwb25zZQgBGG9yaWdpbpUBASBMb2NhdGlvbgABIHF1ZXJ5X2lkMAEcUXVlcnlJZAACDFkBUXVlcnkgcmVzcG9uc2UgcmVjZWl2ZWQgd2hpY2ggZG9lcyBub3QgbWF0Y2ggYSByZWdpc3RlcmVkIHF1ZXJ5LiBUaGlzIG1heSBiZSBiZWNhdXNlIGFVAW1hdGNoaW5nIHF1ZXJ5IHdhcyBuZXZlciByZWdpc3RlcmVkLCBpdCBtYXkgYmUgYmVjYXVzZSBpdCBpcyBhIGR1cGxpY2F0ZSByZXNwb25zZSwgb3JwYmVjYXVzZSB0aGUgcXVlcnkgdGltZWQgb3V0LjRSZXNwb25zZVJlYWR5CAEgcXVlcnlfaWQwARxRdWVyeUlkAAEgcmVzcG9uc2XFBQEgUmVzcG9uc2UAAwhdAVF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGFuZCBpcyByZWFkeSBmb3IgdGFraW5nIHdpdGggYHRha2VfcmVzcG9uc2VgLiBUaGVyZSBpc4BubyByZWdpc3RlcmVkIG5vdGlmaWNhdGlvbiBjYWxsLiBOb3RpZmllZAwBIHF1ZXJ5X2lkMAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAgBCHU4AAEoY2FsbF9pbmRleAgBCHU4AAQIWQFRdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBhbmQgcXVlcnkgaXMgcmVtb3ZlZC4gVGhlIHJlZ2lzdGVyZWQgbm90aWZpY2F0aW9uIGhhc6hiZWVuIGRpc3BhdGNoZWQgYW5kIGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseS5ATm90aWZ5T3ZlcndlaWdodBQBIHF1ZXJ5X2lkMAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAgBCHU4AAEoY2FsbF9pbmRleAgBCHU4AAE0YWN0dWFsX3dlaWdodCgBGFdlaWdodAABTG1heF9idWRnZXRlZF93ZWlnaHQoARhXZWlnaHQABQxJAVF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGFuZCBxdWVyeSBpcyByZW1vdmVkLiBUaGUgcmVnaXN0ZXJlZCBub3RpZmljYXRpb25ZAWNvdWxkIG5vdCBiZSBkaXNwYXRjaGVkIGJlY2F1c2UgdGhlIGRpc3BhdGNoIHdlaWdodCBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gd2VpZ2h05G9yaWdpbmFsbHkgYnVkZ2V0ZWQgYnkgdGhpcyBydW50aW1lIGZvciB0aGUgcXVlcnkgcmVzdWx0LkxOb3RpZnlEaXNwYXRjaEVycm9yDAEgcXVlcnlfaWQwARxRdWVyeUlkAAEwcGFsbGV0X2luZGV4CAEIdTgAAShjYWxsX2luZGV4CAEIdTgABghVAVF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGFuZCBxdWVyeSBpcyByZW1vdmVkLiBUaGVyZSB3YXMgYSBnZW5lcmFsIGVycm9yIHdpdGiIZGlzcGF0Y2hpbmcgdGhlIG5vdGlmaWNhdGlvbiBjYWxsLkhOb3RpZnlEZWNvZGVGYWlsZWQMASBxdWVyeV9pZDABHFF1ZXJ5SWQAATBwYWxsZXRfaW5kZXgIAQh1OAABKGNhbGxfaW5kZXgIAQh1OAAHDFEBUXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIHF1ZXJ5IGlzIHJlbW92ZWQuIFRoZSBkaXNwYXRjaCB3YXMgdW5hYmxlIHRvIGJlWQFkZWNvZGVkIGludG8gYSBgQ2FsbGA7IHRoaXMgbWlnaHQgYmUgZHVlIHRvIGRpc3BhdGNoIGZ1bmN0aW9uIGhhdmluZyBhIHNpZ25hdHVyZSB3aGljaJRpcyBub3QgYChvcmlnaW4sIFF1ZXJ5SWQsIFJlc3BvbnNlKWAuQEludmFsaWRSZXNwb25kZXIMARhvcmlnaW6VAQEgTG9jYXRpb24AASBxdWVyeV9pZDABHFF1ZXJ5SWQAAURleHBlY3RlZF9sb2NhdGlvbtkFAUBPcHRpb248TG9jYXRpb24+AAgMWQFFeHBlY3RlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBidXQgdGhlIG9yaWdpbiBsb2NhdGlvbiBvZiB0aGUgcmVzcG9uc2UgZG9lc1UBbm90IG1hdGNoIHRoYXQgZXhwZWN0ZWQuIFRoZSBxdWVyeSByZW1haW5zIHJlZ2lzdGVyZWQgZm9yIGEgbGF0ZXIsIHZhbGlkLCByZXNwb25zZSB0b2xiZSByZWNlaXZlZCBhbmQgYWN0ZWQgdXBvbi5cSW52YWxpZFJlc3BvbmRlclZlcnNpb24IARhvcmlnaW6VAQEgTG9jYXRpb24AASBxdWVyeV9pZDABHFF1ZXJ5SWQACRxRAUV4cGVjdGVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGJ1dCB0aGUgZXhwZWN0ZWQgb3JpZ2luIGxvY2F0aW9uIHBsYWNlZCBpbk0Bc3RvcmFnZSBieSB0aGlzIHJ1bnRpbWUgcHJldmlvdXNseSBjYW5ub3QgYmUgZGVjb2RlZC4gVGhlIHF1ZXJ5IHJlbWFpbnMgcmVnaXN0ZXJlZC4AQQFUaGlzIGlzIHVuZXhwZWN0ZWQgKHNpbmNlIGEgbG9jYXRpb24gcGxhY2VkIGluIHN0b3JhZ2UgaW4gYSBwcmV2aW91c2x5IGV4ZWN1dGluZ00BcnVudGltZSBzaG91bGQgYmUgcmVhZGFibGUgcHJpb3IgdG8gcXVlcnkgdGltZW91dCkgYW5kIGRhbmdlcm91cyBzaW5jZSB0aGUgcG9zc2libHlZAXZhbGlkIHJlc3BvbnNlIHdpbGwgYmUgZHJvcHBlZC4gTWFudWFsIGdvdmVybmFuY2UgaW50ZXJ2ZW50aW9uIGlzIHByb2JhYmx5IGdvaW5nIHRvIGJlHG5lZWRlZC40UmVzcG9uc2VUYWtlbgQBIHF1ZXJ5X2lkMAEcUXVlcnlJZAAKBMhSZWNlaXZlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWFkIGFuZCByZW1vdmVkLjRBc3NldHNUcmFwcGVkDAEQaGFzaDQBEEgyNTYAARhvcmlnaW6VAQEgTG9jYXRpb24AARhhc3NldHPtBQE8VmVyc2lvbmVkQXNzZXRzAAsEuFNvbWUgYXNzZXRzIGhhdmUgYmVlbiBwbGFjZWQgaW4gYW4gYXNzZXQgdHJhcC5UVmVyc2lvbkNoYW5nZU5vdGlmaWVkEAEsZGVzdGluYXRpb26VAQEgTG9jYXRpb24AARhyZXN1bHQQAShYY21WZXJzaW9uAAEQY29zdK0FARhBc3NldHMAAShtZXNzYWdlX2lkBAEcWGNtSGFzaAAMDCUBQW4gWENNIHZlcnNpb24gY2hhbmdlIG5vdGlmaWNhdGlvbiBtZXNzYWdlIGhhcyBiZWVuIGF0dGVtcHRlZCB0byBiZSBzZW50LgDgVGhlIGNvc3Qgb2Ygc2VuZGluZyBpdCAoYm9ybmUgYnkgdGhlIGNoYWluKSBpcyBpbmNsdWRlZC5cU3VwcG9ydGVkVmVyc2lvbkNoYW5nZWQIASBsb2NhdGlvbpUBASBMb2NhdGlvbgABHHZlcnNpb24QAShYY21WZXJzaW9uAA0IOQFUaGUgc3VwcG9ydGVkIHZlcnNpb24gb2YgYSBsb2NhdGlvbiBoYXMgYmVlbiBjaGFuZ2VkLiBUaGlzIG1pZ2h0IGJlIHRocm91Z2ggYW7AYXV0b21hdGljIG5vdGlmaWNhdGlvbiBvciBhIG1hbnVhbCBpbnRlcnZlbnRpb24uUE5vdGlmeVRhcmdldFNlbmRGYWlsDAEgbG9jYXRpb26VAQEgTG9jYXRpb24AASBxdWVyeV9pZDABHFF1ZXJ5SWQAARRlcnJvcmkFASBYY21FcnJvcgAOCFkBQSBnaXZlbiBsb2NhdGlvbiB3aGljaCBoYWQgYSB2ZXJzaW9uIGNoYW5nZSBzdWJzY3JpcHRpb24gd2FzIGRyb3BwZWQgb3dpbmcgdG8gYW4gZXJyb3J8c2VuZGluZyB0aGUgbm90aWZpY2F0aW9uIHRvIGl0LmROb3RpZnlUYXJnZXRNaWdyYXRpb25GYWlsCAEgbG9jYXRpb27JBAFEVmVyc2lvbmVkTG9jYXRpb24AASBxdWVyeV9pZDABHFF1ZXJ5SWQADwhZAUEgZ2l2ZW4gbG9jYXRpb24gd2hpY2ggaGFkIGEgdmVyc2lvbiBjaGFuZ2Ugc3Vic2NyaXB0aW9uIHdhcyBkcm9wcGVkIG93aW5nIHRvIGFuIGVycm9ytG1pZ3JhdGluZyB0aGUgbG9jYXRpb24gdG8gb3VyIG5ldyBYQ00gZm9ybWF0LlRJbnZhbGlkUXVlcmllclZlcnNpb24IARhvcmlnaW6VAQEgTG9jYXRpb24AASBxdWVyeV9pZDABHFF1ZXJ5SWQAEBxVAUV4cGVjdGVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGJ1dCB0aGUgZXhwZWN0ZWQgcXVlcmllciBsb2NhdGlvbiBwbGFjZWQgaW5NAXN0b3JhZ2UgYnkgdGhpcyBydW50aW1lIHByZXZpb3VzbHkgY2Fubm90IGJlIGRlY29kZWQuIFRoZSBxdWVyeSByZW1haW5zIHJlZ2lzdGVyZWQuAEEBVGhpcyBpcyB1bmV4cGVjdGVkIChzaW5jZSBhIGxvY2F0aW9uIHBsYWNlZCBpbiBzdG9yYWdlIGluIGEgcHJldmlvdXNseSBleGVjdXRpbmdNAXJ1bnRpbWUgc2hvdWxkIGJlIHJlYWRhYmxlIHByaW9yIHRvIHF1ZXJ5IHRpbWVvdXQpIGFuZCBkYW5nZXJvdXMgc2luY2UgdGhlIHBvc3NpYmx5WQF2YWxpZCByZXNwb25zZSB3aWxsIGJlIGRyb3BwZWQuIE1hbnVhbCBnb3Zlcm5hbmNlIGludGVydmVudGlvbiBpcyBwcm9iYWJseSBnb2luZyB0byBiZRxuZWVkZWQuOEludmFsaWRRdWVyaWVyEAEYb3JpZ2lulQEBIExvY2F0aW9uAAEgcXVlcnlfaWQwARxRdWVyeUlkAAFAZXhwZWN0ZWRfcXVlcmllcpUBASBMb2NhdGlvbgABUG1heWJlX2FjdHVhbF9xdWVyaWVy2QUBQE9wdGlvbjxMb2NhdGlvbj4AEQxdAUV4cGVjdGVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGJ1dCB0aGUgcXVlcmllciBsb2NhdGlvbiBvZiB0aGUgcmVzcG9uc2UgZG9lc1EBbm90IG1hdGNoIHRoZSBleHBlY3RlZC4gVGhlIHF1ZXJ5IHJlbWFpbnMgcmVnaXN0ZXJlZCBmb3IgYSBsYXRlciwgdmFsaWQsIHJlc3BvbnNlIHRvbGJlIHJlY2VpdmVkIGFuZCBhY3RlZCB1cG9uLlBWZXJzaW9uTm90aWZ5U3RhcnRlZAwBLGRlc3RpbmF0aW9ulQEBIExvY2F0aW9uAAEQY29zdK0FARhBc3NldHMAAShtZXNzYWdlX2lkBAEcWGNtSGFzaAASCFkBQSByZW1vdGUgaGFzIHJlcXVlc3RlZCBYQ00gdmVyc2lvbiBjaGFuZ2Ugbm90aWZpY2F0aW9uIGZyb20gdXMgYW5kIHdlIGhhdmUgaG9ub3JlZCBpdC4dAUEgdmVyc2lvbiBpbmZvcm1hdGlvbiBtZXNzYWdlIGlzIHNlbnQgdG8gdGhlbSBhbmQgaXRzIGNvc3QgaXMgaW5jbHVkZWQuWFZlcnNpb25Ob3RpZnlSZXF1ZXN0ZWQMASxkZXN0aW5hdGlvbpUBASBMb2NhdGlvbgABEGNvc3StBQEYQXNzZXRzAAEobWVzc2FnZV9pZAQBHFhjbUhhc2gAEwQ9AVdlIGhhdmUgcmVxdWVzdGVkIHRoYXQgYSByZW1vdGUgY2hhaW4gc2VuZCB1cyBYQ00gdmVyc2lvbiBjaGFuZ2Ugbm90aWZpY2F0aW9ucy5gVmVyc2lvbk5vdGlmeVVucmVxdWVzdGVkDAEsZGVzdGluYXRpb26VAQEgTG9jYXRpb24AARBjb3N0rQUBGEFzc2V0cwABKG1lc3NhZ2VfaWQEARxYY21IYXNoABQIJQFXZSBoYXZlIHJlcXVlc3RlZCB0aGF0IGEgcmVtb3RlIGNoYWluIHN0b3BzIHNlbmRpbmcgdXMgWENNIHZlcnNpb24gY2hhbmdlOG5vdGlmaWNhdGlvbnMuIEZlZXNQYWlkCAEYcGF5aW5nlQEBIExvY2F0aW9uAAEQZmVlc60FARhBc3NldHMAFQQxAUZlZXMgd2VyZSBwYWlkIGZyb20gYSBsb2NhdGlvbiBmb3IgYW4gb3BlcmF0aW9uIChvZnRlbiBmb3IgdXNpbmcgYFNlbmRYY21gKS40QXNzZXRzQ2xhaW1lZAwBEGhhc2g0ARBIMjU2AAEYb3JpZ2lulQEBIExvY2F0aW9uAAEYYXNzZXRz7QUBPFZlcnNpb25lZEFzc2V0cwAWBMBTb21lIGFzc2V0cyBoYXZlIGJlZW4gY2xhaW1lZCBmcm9tIGFuIGFzc2V0IHRyYXBgVmVyc2lvbk1pZ3JhdGlvbkZpbmlzaGVkBAEcdmVyc2lvbhABKFhjbVZlcnNpb24AFwSEQSBYQ00gdmVyc2lvbiBtaWdyYXRpb24gZmluaXNoZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0SQcQLHN0YWdpbmdfeGNtCHY0GHRyYWl0cxxPdXRjb21lAAEMIENvbXBsZXRlBAEQdXNlZCgBGFdlaWdodAAAAChJbmNvbXBsZXRlCAEQdXNlZCgBGFdlaWdodAABFGVycm9yaQUBFEVycm9yAAEAFEVycm9yBAEUZXJyb3JpBQEURXJyb3IAAgAATQcMSGN1bXVsdXNfcGFsbGV0X3hjbRhwYWxsZXQURXZlbnQEBFQAAQw0SW52YWxpZEZvcm1hdAQABAEgW3U4OyAzMl0AAAiARG93bndhcmQgbWVzc2FnZSBpcyBpbnZhbGlkIFhDTS4gXFsgaWQgXF1IVW5zdXBwb3J0ZWRWZXJzaW9uBAAEASBbdTg7IDMyXQABCLxEb3dud2FyZCBtZXNzYWdlIGlzIHVuc3VwcG9ydGVkIHZlcnNpb24gb2YgWENNLiBcWyBpZCBcXUBFeGVjdXRlZERvd253YXJkCAAEASBbdTg7IDMyXQAASQcBHE91dGNvbWUAAgjERG93bndhcmQgbWVzc2FnZSBleGVjdXRlZCB3aXRoIHRoZSBnaXZlbiBvdXRjb21lLkRcWyBpZCwgb3V0Y29tZSBcXQR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldFEHDGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlGHBhbGxldBRFdmVudAQEVAABBDxYY21wTWVzc2FnZVNlbnQEATBtZXNzYWdlX2hhc2gEARxYY21IYXNoAAAEwEFuIEhSTVAgbWVzc2FnZSB3YXMgc2VudCB0byBhIHNpYmxpbmcgcGFyYWNoYWluLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldFUHDFBwYWxsZXRfbWVzc2FnZV9xdWV1ZRhwYWxsZXQURXZlbnQEBFQAARBAUHJvY2Vzc2luZ0ZhaWxlZAwBCGlkNAEQSDI1NgSUVGhlIGBibGFrZTJfMjU2YCBoYXNoIG9mIHRoZSBtZXNzYWdlLgEYb3JpZ2luLQYBSE1lc3NhZ2VPcmlnaW5PZjxUPgRkVGhlIHF1ZXVlIG9mIHRoZSBtZXNzYWdlLgEUZXJyb3JZBwFMUHJvY2Vzc01lc3NhZ2VFcnJvchBgVGhlIGVycm9yIHRoYXQgb2NjdXJyZWQuAEkBVGhpcyBlcnJvciBpcyBwcmV0dHkgb3BhcXVlLiBNb3JlIGZpbmUtZ3JhaW5lZCBlcnJvcnMgbmVlZCB0byBiZSBlbWl0dGVkIGFzIGV2ZW50c2hieSB0aGUgYE1lc3NhZ2VQcm9jZXNzb3JgLgAEVQFNZXNzYWdlIGRpc2NhcmRlZCBkdWUgdG8gYW4gZXJyb3IgaW4gdGhlIGBNZXNzYWdlUHJvY2Vzc29yYCAodXN1YWxseSBhIGZvcm1hdCBlcnJvcikuJFByb2Nlc3NlZBABCGlkNAEQSDI1NgSUVGhlIGBibGFrZTJfMjU2YCBoYXNoIG9mIHRoZSBtZXNzYWdlLgEYb3JpZ2luLQYBSE1lc3NhZ2VPcmlnaW5PZjxUPgRkVGhlIHF1ZXVlIG9mIHRoZSBtZXNzYWdlLgEsd2VpZ2h0X3VzZWQoARhXZWlnaHQEwEhvdyBtdWNoIHdlaWdodCB3YXMgdXNlZCB0byBwcm9jZXNzIHRoZSBtZXNzYWdlLgEcc3VjY2VzcyABEGJvb2wYiFdoZXRoZXIgdGhlIG1lc3NhZ2Ugd2FzIHByb2Nlc3NlZC4ASQFOb3RlIHRoYXQgdGhpcyBkb2VzIG5vdCBtZWFuIHRoYXQgdGhlIHVuZGVybHlpbmcgYE1lc3NhZ2VQcm9jZXNzb3JgIHdhcyBpbnRlcm5hbGx5NQFzdWNjZXNzZnVsLiBJdCAqc29sZWx5KiBtZWFucyB0aGF0IHRoZSBNUSBwYWxsZXQgd2lsbCB0cmVhdCB0aGlzIGFzIGEgc3VjY2Vzc00BY29uZGl0aW9uIGFuZCBkaXNjYXJkIHRoZSBtZXNzYWdlLiBBbnkgaW50ZXJuYWwgZXJyb3IgbmVlZHMgdG8gYmUgZW1pdHRlZCBhcyBldmVudHNoYnkgdGhlIGBNZXNzYWdlUHJvY2Vzc29yYC4BBFRNZXNzYWdlIGlzIHByb2Nlc3NlZC5IT3ZlcndlaWdodEVucXVldWVkEAEIaWQEASBbdTg7IDMyXQSUVGhlIGBibGFrZTJfMjU2YCBoYXNoIG9mIHRoZSBtZXNzYWdlLgEYb3JpZ2luLQYBSE1lc3NhZ2VPcmlnaW5PZjxUPgRkVGhlIHF1ZXVlIG9mIHRoZSBtZXNzYWdlLgEocGFnZV9pbmRleBABJFBhZ2VJbmRleARgVGhlIHBhZ2Ugb2YgdGhlIG1lc3NhZ2UuATRtZXNzYWdlX2luZGV4EAEcVDo6U2l6ZQSkVGhlIGluZGV4IG9mIHRoZSBtZXNzYWdlIHdpdGhpbiB0aGUgcGFnZS4CBIxNZXNzYWdlIHBsYWNlZCBpbiBvdmVyd2VpZ2h0IHF1ZXVlLihQYWdlUmVhcGVkCAEYb3JpZ2luLQYBSE1lc3NhZ2VPcmlnaW5PZjxUPgRYVGhlIHF1ZXVlIG9mIHRoZSBwYWdlLgEUaW5kZXgQASRQYWdlSW5kZXgEWFRoZSBpbmRleCBvZiB0aGUgcGFnZS4DBFRUaGlzIHBhZ2Ugd2FzIHJlYXBlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRZBxA0ZnJhbWVfc3VwcG9ydBh0cmFpdHMgbWVzc2FnZXNMUHJvY2Vzc01lc3NhZ2VFcnJvcgABGCRCYWRGb3JtYXQAAAAcQ29ycnVwdAABACxVbnN1cHBvcnRlZAACAChPdmVyd2VpZ2h0BAAoARhXZWlnaHQAAwAUWWllbGQABABEU3RhY2tMaW1pdFJlYWNoZWQABQAAXQcMIG9ybWxfeGNtGG1vZHVsZRRFdmVudAQEVAABBBBTZW50CAEIdG+VAQEgTG9jYXRpb24AARxtZXNzYWdloQUBHFhjbTwoKT4AAASEWENNIG1lc3NhZ2Ugc2VudC4gXFt0bywgbWVzc2FnZVxdBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0YQcMMG9ybWxfeHRva2Vucxhtb2R1bGUURXZlbnQEBFQAAQREVHJhbnNmZXJyZWRBc3NldHMQARhzZW5kZXIAATBUOjpBY2NvdW50SWQAARhhc3NldHOtBQEYQXNzZXRzAAEMZmVltQUBFEFzc2V0AAEQZGVzdJUBASBMb2NhdGlvbgAABHRUcmFuc2ZlcnJlZCBgQXNzZXRgIHdpdGggZmVlLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldGUHDExvcm1sX3Vua25vd25fdG9rZW5zGG1vZHVsZRRFdmVudAABCCREZXBvc2l0ZWQIARRhc3NldLUFARRBc3NldAABDHdob5UBASBMb2NhdGlvbgAABEBEZXBvc2l0IHN1Y2Nlc3MuJFdpdGhkcmF3bggBFGFzc2V0tQUBFEFzc2V0AAEMd2hvlQEBIExvY2F0aW9uAAEERFdpdGhkcmF3IHN1Y2Nlc3MuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0aQcMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0FEV2ZW50BARUAAEoQE5ld0ludnVsbmVyYWJsZXMEATRpbnZ1bG5lcmFibGVzRQEBRFZlYzxUOjpBY2NvdW50SWQ+AAAEbE5ldyBJbnZ1bG5lcmFibGVzIHdlcmUgc2V0LkRJbnZ1bG5lcmFibGVBZGRlZAQBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQAAQR0QSBuZXcgSW52dWxuZXJhYmxlIHdhcyBhZGRlZC5MSW52dWxuZXJhYmxlUmVtb3ZlZAQBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQAAgRwQW4gSW52dWxuZXJhYmxlIHdhcyByZW1vdmVkLlBOZXdEZXNpcmVkQ2FuZGlkYXRlcwQBSGRlc2lyZWRfY2FuZGlkYXRlcxABDHUzMgADBKRUaGUgbnVtYmVyIG9mIGRlc2lyZWQgY2FuZGlkYXRlcyB3YXMgc2V0LkBOZXdDYW5kaWRhY3lCb25kBAEsYm9uZF9hbW91bnQYATBCYWxhbmNlT2Y8VD4ABARsVGhlIGNhbmRpZGFjeSBib25kIHdhcyBzZXQuOENhbmRpZGF0ZUFkZGVkCAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4ABQRcQSBuZXcgY2FuZGlkYXRlIGpvaW5lZC5QQ2FuZGlkYXRlQm9uZFVwZGF0ZWQIAShhY2NvdW50X2lkAAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgAGBHBCb25kIG9mIGEgY2FuZGlkYXRlIHVwZGF0ZWQuQENhbmRpZGF0ZVJlbW92ZWQEAShhY2NvdW50X2lkAAEwVDo6QWNjb3VudElkAAcEYEEgY2FuZGlkYXRlIHdhcyByZW1vdmVkLkRDYW5kaWRhdGVSZXBsYWNlZAwBDG9sZAABMFQ6OkFjY291bnRJZAABDG5ldwABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4ACAT0QW4gYWNjb3VudCB3YXMgcmVwbGFjZWQgaW4gdGhlIGNhbmRpZGF0ZSBsaXN0IGJ5IGFub3RoZXIgb25lLmhJbnZhbGlkSW52dWxuZXJhYmxlU2tpcHBlZAQBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQACQhVAUFuIGFjY291bnQgd2FzIHVuYWJsZSB0byBiZSBhZGRlZCB0byB0aGUgSW52dWxuZXJhYmxlcyBiZWNhdXNlIHRoZXkgZGlkIG5vdCBoYXZlIGtleXPIcmVnaXN0ZXJlZC4gT3RoZXIgSW52dWxuZXJhYmxlcyBtYXkgaGF2ZSBiZWVuIHNldC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRtBww4cGFsbGV0X3Nlc3Npb24YcGFsbGV0FEV2ZW50AAEEKE5ld1Nlc3Npb24EATRzZXNzaW9uX2luZGV4EAEwU2Vzc2lvbkluZGV4AAAIOQFOZXcgc2Vzc2lvbiBoYXMgaGFwcGVuZWQuIE5vdGUgdGhhdCB0aGUgYXJndW1lbnQgaXMgdGhlIHNlc3Npb24gaW5kZXgsIG5vdCB0aGWcYmxvY2sgbnVtYmVyIGFzIHRoZSB0eXBlIG1pZ2h0IHN1Z2dlc3QuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0cQcMRHBhbGxldF9lbWFfb3JhY2xlGHBhbGxldBRFdmVudAQEVAABCEBBZGRlZFRvV2hpdGVsaXN0CAEYc291cmNlFQIBGFNvdXJjZQABGGFzc2V0c3UDAUgoQXNzZXRJZCwgQXNzZXRJZCkAAASIT3JhY2xlIHdhcyBhZGRlZCB0byB0aGUgd2hpdGVsaXN0LlBSZW1vdmVkRnJvbVdoaXRlbGlzdAgBGHNvdXJjZRUCARhTb3VyY2UAARhhc3NldHN1AwFIKEFzc2V0SWQsIEFzc2V0SWQpAAEEmE9yYWNsZSB3YXMgcmVtb3ZlZCBmcm9tIHRoZSB3aGl0ZWxpc3QuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0dQcMQHBhbGxldF9icm9hZGNhc3QYcGFsbGV0FEV2ZW50BARUAAEEIFN3YXBwZWQyIAEcc3dhcHBlcgABMFQ6OkFjY291bnRJZAABGGZpbGxlcgABMFQ6OkFjY291bnRJZAABLGZpbGxlcl90eXBleQcBGEZpbGxlcgABJG9wZXJhdGlvbn0HAThUcmFkZU9wZXJhdGlvbgABGGlucHV0c4EHAShWZWM8QXNzZXQ+AAEcb3V0cHV0c4EHAShWZWM8QXNzZXQ+AAEQZmVlc4kHAVhWZWM8RmVlPFQ6OkFjY291bnRJZD4+AAE8b3BlcmF0aW9uX3N0YWNrlQcBSFZlYzxFeGVjdXRpb25UeXBlPgAAEDxUcmFkZSBleGVjdXRlZC4A8FN3YXBwZWQyIGlzIGEgZml4ZWQgYW5kIHJlbmFtZWQgdmVyc2lvbiBvZiBvcmlnaW5hbCBTd2FwcGVkLAUBYXMgU3dhcHBlZCBjb250YWluZWQgd3JvbmcgaW5wdXQvb3V0cHV0IGFtb3VudHMgZm9yIFhZSyBidXkgdHJhZGUEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXR5BwxAcGFsbGV0X2Jyb2FkY2FzdBR0eXBlcxhGaWxsZXIAARggT21uaXBvb2wAAAAoU3RhYmxlc3dhcAQAEAEcQXNzZXRJZAABAAxYWUsEABABHEFzc2V0SWQAAgAMTEJQAAMADE9UQwQAEAEoT3RjT3JkZXJJZAAEABBBQVZFAAUAAH0HDEBwYWxsZXRfYnJvYWRjYXN0FHR5cGVzOFRyYWRlT3BlcmF0aW9uAAEUHEV4YWN0SW4AAAAgRXhhY3RPdXQAAQAUTGltaXQAAgAwTGlxdWlkaXR5QWRkAAMAPExpcXVpZGl0eVJlbW92ZQAEAACBBwAAAoUHAIUHDEBwYWxsZXRfYnJvYWRjYXN0FHR5cGVzFEFzc2V0AAAIARRhc3NldBABHEFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAACJBwAAAo0HAI0HDEBwYWxsZXRfYnJvYWRjYXN0FHR5cGVzDEZlZQQkQWNjb3VudElkAQAADAEUYXNzZXQQARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABLGRlc3RpbmF0aW9ukQcBWERlc3RpbmF0aW9uPEFjY291bnRJZD4AAJEHDEBwYWxsZXRfYnJvYWRjYXN0FHR5cGVzLERlc3RpbmF0aW9uBCRBY2NvdW50SWQBAAEIHEFjY291bnQEAAABJEFjY291bnRJZAAAABhCdXJuZWQAAQAAlQcAAAKZBwCZBwxAcGFsbGV0X2Jyb2FkY2FzdBR0eXBlczRFeGVjdXRpb25UeXBlAAEYGFJvdXRlcgQAEAFESW5jcmVtZW50YWxJZFR5cGUAAAAMRENBCAAQAShTY2hlZHVsZUlkAAAQAURJbmNyZW1lbnRhbElkVHlwZQABABRCYXRjaAQAEAFESW5jcmVtZW50YWxJZFR5cGUAAgAgT21uaXBvb2wEABABREluY3JlbWVudGFsSWRUeXBlAAMALFhjbUV4Y2hhbmdlBAAQAURJbmNyZW1lbnRhbElkVHlwZQAEAAxYY20IAAQBIFt1ODsgMzJdAAAQAURJbmNyZW1lbnRhbElkVHlwZQAFAACdBwgwZnJhbWVfc3lzdGVtFFBoYXNlAAEMOEFwcGx5RXh0cmluc2ljBAAQAQx1MzIAAAAwRmluYWxpemF0aW9uAAEAOEluaXRpYWxpemF0aW9uAAIAAKEHCDBmcmFtZV9zeXN0ZW1YTGFzdFJ1bnRpbWVVcGdyYWRlSW5mbwAACAEwc3BlY192ZXJzaW9uaQEBTGNvZGVjOjpDb21wYWN0PHUzMj4AASRzcGVjX25hbWUZBwFkc3BfcnVudGltZTo6UnVudGltZVN0cmluZwAApQcIMGZyYW1lX3N5c3RlbWBDb2RlVXBncmFkZUF1dGhvcml6YXRpb24EBFQAAAgBJGNvZGVfaGFzaDQBHFQ6Okhhc2gAATRjaGVja192ZXJzaW9uIAEQYm9vbAAAqQcMMGZyYW1lX3N5c3RlbRhsaW1pdHMwQmxvY2tXZWlnaHRzAAAMAShiYXNlX2Jsb2NrKAEYV2VpZ2h0AAEkbWF4X2Jsb2NrKAEYV2VpZ2h0AAEkcGVyX2NsYXNzrQcBhFBlckRpc3BhdGNoQ2xhc3M8V2VpZ2h0c1BlckNsYXNzPgAArQcMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUGVyRGlzcGF0Y2hDbGFzcwQEVAGxBwAMARhub3JtYWyxBwEEVAABLG9wZXJhdGlvbmFssQcBBFQAASRtYW5kYXRvcnmxBwEEVAAAsQcMMGZyYW1lX3N5c3RlbRhsaW1pdHM8V2VpZ2h0c1BlckNsYXNzAAAQAThiYXNlX2V4dHJpbnNpYygBGFdlaWdodAABNG1heF9leHRyaW5zaWNxBgE4T3B0aW9uPFdlaWdodD4AASRtYXhfdG90YWxxBgE4T3B0aW9uPFdlaWdodD4AASByZXNlcnZlZHEGAThPcHRpb248V2VpZ2h0PgAAtQcMMGZyYW1lX3N5c3RlbRhsaW1pdHMsQmxvY2tMZW5ndGgAAAQBDG1heLkHAVRQZXJEaXNwYXRjaENsYXNzPHUzMj4AALkHDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoQFBlckRpc3BhdGNoQ2xhc3MEBFQBEAAMARhub3JtYWwQAQRUAAEsb3BlcmF0aW9uYWwQAQRUAAEkbWFuZGF0b3J5EAEEVAAAvQcIKHNwX3dlaWdodHM8UnVudGltZURiV2VpZ2h0AAAIARByZWFkMAEMdTY0AAEUd3JpdGUwAQx1NjQAAMEHCChzcF92ZXJzaW9uOFJ1bnRpbWVWZXJzaW9uAAAgASRzcGVjX25hbWUZBwE0UnVudGltZVN0cmluZwABJGltcGxfbmFtZRkHATRSdW50aW1lU3RyaW5nAAFEYXV0aG9yaW5nX3ZlcnNpb24QAQx1MzIAATBzcGVjX3ZlcnNpb24QAQx1MzIAATBpbXBsX3ZlcnNpb24QAQx1MzIAARBhcGlzxQcBHEFwaXNWZWMAAUx0cmFuc2FjdGlvbl92ZXJzaW9uEAEMdTMyAAE0c3RhdGVfdmVyc2lvbggBCHU4AADFBwQMQ293BARUAckHAAQAyQcAAADJBwAAAs0HAM0HAAAECBUCEADRBwwwZnJhbWVfc3lzdGVtGHBhbGxldBRFcnJvcgQEVAABJDxJbnZhbGlkU3BlY05hbWUAAAgRAVRoZSBuYW1lIG9mIHNwZWNpZmljYXRpb24gZG9lcyBub3QgbWF0Y2ggYmV0d2VlbiB0aGUgY3VycmVudCBydW50aW1lUGFuZCB0aGUgbmV3IHJ1bnRpbWUuaFNwZWNWZXJzaW9uTmVlZHNUb0luY3JlYXNlAAEIQQFUaGUgc3BlY2lmaWNhdGlvbiB2ZXJzaW9uIGlzIG5vdCBhbGxvd2VkIHRvIGRlY3JlYXNlIGJldHdlZW4gdGhlIGN1cnJlbnQgcnVudGltZVBhbmQgdGhlIG5ldyBydW50aW1lLnRGYWlsZWRUb0V4dHJhY3RSdW50aW1lVmVyc2lvbgACDOxGYWlsZWQgdG8gZXh0cmFjdCB0aGUgcnVudGltZSB2ZXJzaW9uIGZyb20gdGhlIG5ldyBydW50aW1lLgAJAUVpdGhlciBjYWxsaW5nIGBDb3JlX3ZlcnNpb25gIG9yIGRlY29kaW5nIGBSdW50aW1lVmVyc2lvbmAgZmFpbGVkLkxOb25EZWZhdWx0Q29tcG9zaXRlAAME/FN1aWNpZGUgY2FsbGVkIHdoZW4gdGhlIGFjY291bnQgaGFzIG5vbi1kZWZhdWx0IGNvbXBvc2l0ZSBkYXRhLjxOb25aZXJvUmVmQ291bnQABAQ1AVRoZXJlIGlzIGEgbm9uLXplcm8gcmVmZXJlbmNlIGNvdW50IHByZXZlbnRpbmcgdGhlIGFjY291bnQgZnJvbSBiZWluZyBwdXJnZWQuMENhbGxGaWx0ZXJlZAAFBNBUaGUgb3JpZ2luIGZpbHRlciBwcmV2ZW50IHRoZSBjYWxsIHRvIGJlIGRpc3BhdGNoZWQubE11bHRpQmxvY2tNaWdyYXRpb25zT25nb2luZwAGBFUBQSBtdWx0aS1ibG9jayBtaWdyYXRpb24gaXMgb25nb2luZyBhbmQgcHJldmVudHMgdGhlIGN1cnJlbnQgY29kZSBmcm9tIGJlaW5nIHJlcGxhY2VkLkROb3RoaW5nQXV0aG9yaXplZAAHBFhObyB1cGdyYWRlIGF1dGhvcml6ZWQuMFVuYXV0aG9yaXplZAAIBJRUaGUgc3VibWl0dGVkIGNvZGUgaXMgbm90IGF1dGhvcml6ZWQuBGxFcnJvciBmb3IgdGhlIFN5c3RlbSBwYWxsZXTVBwxMYm91bmRlZF9jb2xsZWN0aW9uc0B3ZWFrX2JvdW5kZWRfdmVjOFdlYWtCb3VuZGVkVmVjCARUAdkHBFMAAAQA4QcBGFZlYzxUPgAA2QcMPHBhbGxldF9iYWxhbmNlcxR0eXBlcyxCYWxhbmNlTG9jawQcQmFsYW5jZQEYAAwBCGlkFQIBOExvY2tJZGVudGlmaWVyAAEYYW1vdW50GAEcQmFsYW5jZQABHHJlYXNvbnPdBwEcUmVhc29ucwAA3QcMPHBhbGxldF9iYWxhbmNlcxR0eXBlcxxSZWFzb25zAAEMDEZlZQAAABBNaXNjAAEADEFsbAACAADhBwAAAtkHAOUHDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQB6QcEUwAABADtBwEYVmVjPFQ+AADpBww8cGFsbGV0X2JhbGFuY2VzFHR5cGVzLFJlc2VydmVEYXRhCERSZXNlcnZlSWRlbnRpZmllcgEVAhxCYWxhbmNlARgACAEIaWQVAgFEUmVzZXJ2ZUlkZW50aWZpZXIAARhhbW91bnQYARxCYWxhbmNlAADtBwAAAukHAPEHDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQB9QcEUwAABAAFCAEYVmVjPFQ+AAD1BxQ0ZnJhbWVfc3VwcG9ydBh0cmFpdHMYdG9rZW5zEG1pc2MgSWRBbW91bnQICElkAfkHHEJhbGFuY2UBGAAIAQhpZPkHAQhJZAABGGFtb3VudBgBHEJhbGFuY2UAAPkHCDxoeWRyYWR4X3J1bnRpbWVEUnVudGltZUhvbGRSZWFzb24AAQggUHJlaW1hZ2UEAP0HAWxwYWxsZXRfcHJlaW1hZ2U6OkhvbGRSZWFzb24ADwBIU3RhdGVUcmllTWlncmF0aW9uBAABCAGccGFsbGV0X3N0YXRlX3RyaWVfbWlncmF0aW9uOjpIb2xkUmVhc29uACMAAP0HDDxwYWxsZXRfcHJlaW1hZ2UYcGFsbGV0KEhvbGRSZWFzb24AAQQgUHJlaW1hZ2UAAAAAAQgMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQoSG9sZFJlYXNvbgABBDxTbGFzaEZvck1pZ3JhdGUAAAAABQgAAAL1BwAJCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQ0IBFMAAAQAEQgBGFZlYzxUPgAADQgUNGZyYW1lX3N1cHBvcnQYdHJhaXRzGHRva2VucxBtaXNjIElkQW1vdW50CAhJZAGQHEJhbGFuY2UBGAAIAQhpZJABCElkAAEYYW1vdW50GAEcQmFsYW5jZQAAEQgAAAINCAAVCAw8cGFsbGV0X2JhbGFuY2VzGHBhbGxldBRFcnJvcggEVAAESQABMDhWZXN0aW5nQmFsYW5jZQAABJxWZXN0aW5nIGJhbGFuY2UgdG9vIGhpZ2ggdG8gc2VuZCB2YWx1ZS5UTGlxdWlkaXR5UmVzdHJpY3Rpb25zAAEEyEFjY291bnQgbGlxdWlkaXR5IHJlc3RyaWN0aW9ucyBwcmV2ZW50IHdpdGhkcmF3YWwuTEluc3VmZmljaWVudEJhbGFuY2UAAgR4QmFsYW5jZSB0b28gbG93IHRvIHNlbmQgdmFsdWUuSEV4aXN0ZW50aWFsRGVwb3NpdAADBOxWYWx1ZSB0b28gbG93IHRvIGNyZWF0ZSBhY2NvdW50IGR1ZSB0byBleGlzdGVudGlhbCBkZXBvc2l0LjRFeHBlbmRhYmlsaXR5AAQEkFRyYW5zZmVyL3BheW1lbnQgd291bGQga2lsbCBhY2NvdW50LlxFeGlzdGluZ1Zlc3RpbmdTY2hlZHVsZQAFBMxBIHZlc3Rpbmcgc2NoZWR1bGUgYWxyZWFkeSBleGlzdHMgZm9yIHRoaXMgYWNjb3VudC4sRGVhZEFjY291bnQABgSMQmVuZWZpY2lhcnkgYWNjb3VudCBtdXN0IHByZS1leGlzdC48VG9vTWFueVJlc2VydmVzAAcEuE51bWJlciBvZiBuYW1lZCByZXNlcnZlcyBleGNlZWQgYE1heFJlc2VydmVzYC4wVG9vTWFueUhvbGRzAAgE+E51bWJlciBvZiBob2xkcyBleGNlZWQgYFZhcmlhbnRDb3VudE9mPFQ6OlJ1bnRpbWVIb2xkUmVhc29uPmAuOFRvb01hbnlGcmVlemVzAAkEmE51bWJlciBvZiBmcmVlemVzIGV4Y2VlZCBgTWF4RnJlZXplc2AuTElzc3VhbmNlRGVhY3RpdmF0ZWQACgQBAVRoZSBpc3N1YW5jZSBjYW5ub3QgYmUgbW9kaWZpZWQgc2luY2UgaXQgaXMgYWxyZWFkeSBkZWFjdGl2YXRlZC4kRGVsdGFaZXJvAAsEZFRoZSBkZWx0YSBjYW5ub3QgYmUgemVyby4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuGQgIaHBhbGxldF90cmFuc2FjdGlvbl9wYXltZW50IFJlbGVhc2VzAAEIJFYxQW5jaWVudAAAAAhWMgABAAAdCAyAcGFsbGV0X3RyYW5zYWN0aW9uX211bHRpX3BheW1lbnQYcGFsbGV0FEVycm9yBARUAAEwTFVuc3VwcG9ydGVkQ3VycmVuY3kAAASMU2VsZWN0ZWQgY3VycmVuY3kgaXMgbm90IHN1cHBvcnRlZC4sWmVyb0JhbGFuY2UAAQSMQWNjb3VudCBiYWxhbmNlIHNob3VsZCBiZSBub24temVyby48QWxyZWFkeUFjY2VwdGVkAAIE3EN1cnJlbmN5IGlzIGFscmVhZHkgaW4gdGhlIGxpc3Qgb2YgYWNjZXB0ZWQgY3VycmVuY2llcy5MQ29yZUFzc2V0Tm90QWxsb3dlZAADBG0BSXQgaXMgbm90IGFsbG93ZWQgdG8gYWRkIENvcmUgQXNzZXQgYXMgYWNjZXB0ZWQgY3VycmVuY3kuIENvcmUgYXNzZXQgaXMgYWNjZXB0ZWQgYnkgZGVzaWduLiRaZXJvUHJpY2UABAR4RmFsbGJhY2sgcHJpY2UgY2Fubm90IGJlIHplcm8uVEZhbGxiYWNrUHJpY2VOb3RGb3VuZAAFBHRGYWxsYmFjayBwcmljZSB3YXMgbm90IGZvdW5kLiBPdmVyZmxvdwAGBDRNYXRoIG92ZXJmbG93UEV2bUFjY291bnROb3RBbGxvd2VkAAcE/El0IGlzIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSBwYXltZW50IGN1cnJlbmN5IG9mIGFuIEVWTSBhY2NvdW50LkBFdm1QZXJtaXRFeHBpcmVkAAgETEVWTSBwZXJtaXQgZXhwaXJlZC5ARXZtUGVybWl0SW52YWxpZAAJBFhFVk0gcGVybWl0IGlzIGludmFsaWQubEV2bVBlcm1pdENhbGxFeGVjdXRpb25FcnJvcgAKBFxFVk0gcGVybWl0IGNhbGwgZmFpbGVkLlBFdm1QZXJtaXRSdW5uZXJFcnJvcgALBFxFVk0gcGVybWl0IGNhbGwgZmFpbGVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4hCAg8cGFsbGV0X3RyZWFzdXJ5IFByb3Bvc2FsCCRBY2NvdW50SWQBABxCYWxhbmNlARgAEAEgcHJvcG9zZXIAASRBY2NvdW50SWQAARR2YWx1ZRgBHEJhbGFuY2UAASxiZW5lZmljaWFyeQABJEFjY291bnRJZAABEGJvbmQYARxCYWxhbmNlAAAlCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUARAEUwAABACBAwEYVmVjPFQ+AAApCAg8cGFsbGV0X3RyZWFzdXJ5LFNwZW5kU3RhdHVzFCRBc3NldEtpbmQBkDBBc3NldEJhbGFuY2UBGCxCZW5lZmljaWFyeQEALEJsb2NrTnVtYmVyARAkUGF5bWVudElkAZAAGAEoYXNzZXRfa2luZJABJEFzc2V0S2luZAABGGFtb3VudBgBMEFzc2V0QmFsYW5jZQABLGJlbmVmaWNpYXJ5AAEsQmVuZWZpY2lhcnkAASh2YWxpZF9mcm9tEAEsQmxvY2tOdW1iZXIAASRleHBpcmVfYXQQASxCbG9ja051bWJlcgABGHN0YXR1cy0IAVxQYXltZW50U3RhdGU8UGF5bWVudElkPgAALQgIPHBhbGxldF90cmVhc3VyeTBQYXltZW50U3RhdGUECElkAZABDBxQZW5kaW5nAAAAJEF0dGVtcHRlZAQBCGlkkAEISWQAAQAYRmFpbGVkAAIAADEICDRmcmFtZV9zdXBwb3J0IFBhbGxldElkAAAEABUCARxbdTg7IDhdAAA1CAw8cGFsbGV0X3RyZWFzdXJ5GHBhbGxldBRFcnJvcggEVAAESQABLDBJbnZhbGlkSW5kZXgAAASsTm8gcHJvcG9zYWwsIGJvdW50eSBvciBzcGVuZCBhdCB0aGF0IGluZGV4LkBUb29NYW55QXBwcm92YWxzAAEEgFRvbyBtYW55IGFwcHJvdmFscyBpbiB0aGUgcXVldWUuWEluc3VmZmljaWVudFBlcm1pc3Npb24AAghFAVRoZSBzcGVuZCBvcmlnaW4gaXMgdmFsaWQgYnV0IHRoZSBhbW91bnQgaXQgaXMgYWxsb3dlZCB0byBzcGVuZCBpcyBsb3dlciB0aGFuIHRoZUxhbW91bnQgdG8gYmUgc3BlbnQuTFByb3Bvc2FsTm90QXBwcm92ZWQAAwR8UHJvcG9zYWwgaGFzIG5vdCBiZWVuIGFwcHJvdmVkLlhGYWlsZWRUb0NvbnZlcnRCYWxhbmNlAAQEUQFUaGUgYmFsYW5jZSBvZiB0aGUgYXNzZXQga2luZCBpcyBub3QgY29udmVydGlibGUgdG8gdGhlIGJhbGFuY2Ugb2YgdGhlIG5hdGl2ZSBhc3NldC4wU3BlbmRFeHBpcmVkAAUEsFRoZSBzcGVuZCBoYXMgZXhwaXJlZCBhbmQgY2Fubm90IGJlIGNsYWltZWQuLEVhcmx5UGF5b3V0AAYEpFRoZSBzcGVuZCBpcyBub3QgeWV0IGVsaWdpYmxlIGZvciBwYXlvdXQuQEFscmVhZHlBdHRlbXB0ZWQABwScVGhlIHBheW1lbnQgaGFzIGFscmVhZHkgYmVlbiBhdHRlbXB0ZWQuLFBheW91dEVycm9yAAgEzFRoZXJlIHdhcyBzb21lIGlzc3VlIHdpdGggdGhlIG1lY2hhbmlzbSBvZiBwYXltZW50LjBOb3RBdHRlbXB0ZWQACQSkVGhlIHBheW91dCB3YXMgbm90IHlldCBhdHRlbXB0ZWQvY2xhaW1lZC4wSW5jb25jbHVzaXZlAAoExFRoZSBwYXltZW50IGhhcyBuZWl0aGVyIGZhaWxlZCBub3Igc3VjY2VlZGVkIHlldC4EeEVycm9yIGZvciB0aGUgdHJlYXN1cnkgcGFsbGV0LjkIDDhwYWxsZXRfdXRpbGl0eRhwYWxsZXQURXJyb3IEBFQAAQQwVG9vTWFueUNhbGxzAAAEXFRvbyBtYW55IGNhbGxzIGJhdGNoZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lj0ICDxwYWxsZXRfcHJlaW1hZ2VAT2xkUmVxdWVzdFN0YXR1cwgkQWNjb3VudElkAQAcQmFsYW5jZQEYAQgsVW5yZXF1ZXN0ZWQIARxkZXBvc2l0xAFQKEFjY291bnRJZCwgQmFsYW5jZSkAAQxsZW4QAQx1MzIAAAAkUmVxdWVzdGVkDAEcZGVwb3NpdEEIAXBPcHRpb248KEFjY291bnRJZCwgQmFsYW5jZSk+AAEUY291bnQQAQx1MzIAAQxsZW5tAQEsT3B0aW9uPHUzMj4AAQAAQQgEGE9wdGlvbgQEVAHEAQgQTm9uZQAAABBTb21lBADEAAABAABFCAg8cGFsbGV0X3ByZWltYWdlNFJlcXVlc3RTdGF0dXMIJEFjY291bnRJZAEAGFRpY2tldAFJCAEILFVucmVxdWVzdGVkCAEYdGlja2V0TQgBTChBY2NvdW50SWQsIFRpY2tldCkAAQxsZW4QAQx1MzIAAAAkUmVxdWVzdGVkDAEwbWF5YmVfdGlja2V0UQgBbE9wdGlvbjwoQWNjb3VudElkLCBUaWNrZXQpPgABFGNvdW50EAEMdTMyAAEkbWF5YmVfbGVubQEBLE9wdGlvbjx1MzI+AAEAAEkIFDRmcmFtZV9zdXBwb3J0GHRyYWl0cxh0b2tlbnMgZnVuZ2libGVESG9sZENvbnNpZGVyYXRpb24UBEEABEYABFIABEQACEZwAAAEABgBKEY6OkJhbGFuY2UAAE0IAAAECABJCABRCAQYT3B0aW9uBARUAU0IAQgQTm9uZQAAABBTb21lBABNCAAAAQAAVQgAAAQINBAAWQgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AABdCAw8cGFsbGV0X3ByZWltYWdlGHBhbGxldBRFcnJvcgQEVAABIBhUb29CaWcAAASgUHJlaW1hZ2UgaXMgdG9vIGxhcmdlIHRvIHN0b3JlIG9uLWNoYWluLjBBbHJlYWR5Tm90ZWQAAQSkUHJlaW1hZ2UgaGFzIGFscmVhZHkgYmVlbiBub3RlZCBvbi1jaGFpbi40Tm90QXV0aG9yaXplZAACBMhUaGUgdXNlciBpcyBub3QgYXV0aG9yaXplZCB0byBwZXJmb3JtIHRoaXMgYWN0aW9uLiBOb3ROb3RlZAADBPxUaGUgcHJlaW1hZ2UgY2Fubm90IGJlIHJlbW92ZWQgc2luY2UgaXQgaGFzIG5vdCB5ZXQgYmVlbiBub3RlZC4kUmVxdWVzdGVkAAQECQFBIHByZWltYWdlIG1heSBub3QgYmUgcmVtb3ZlZCB3aGVuIHRoZXJlIGFyZSBvdXRzdGFuZGluZyByZXF1ZXN0cy4wTm90UmVxdWVzdGVkAAUELQFUaGUgcHJlaW1hZ2UgcmVxdWVzdCBjYW5ub3QgYmUgcmVtb3ZlZCBzaW5jZSBubyBvdXRzdGFuZGluZyByZXF1ZXN0cyBleGlzdC4cVG9vTWFueQAGBFUBTW9yZSB0aGFuIGBNQVhfSEFTSF9VUEdSQURFX0JVTEtfQ09VTlRgIGhhc2hlcyB3ZXJlIHJlcXVlc3RlZCB0byBiZSB1cGdyYWRlZCBhdCBvbmNlLhhUb29GZXcABwTkVG9vIGZldyBoYXNoZXMgd2VyZSByZXF1ZXN0ZWQgdG8gYmUgdXBncmFkZWQgKGkuZS4gemVybykuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LmEIAAAECGUIdQgAZQgMPHBhbGxldF9pZGVudGl0eRR0eXBlczBSZWdpc3RyYXRpb24MHEJhbGFuY2UBGDRNYXhKdWRnZW1lbnRzADBJZGVudGl0eUluZm8B6QEADAEoanVkZ2VtZW50c2kIAfxCb3VuZGVkVmVjPChSZWdpc3RyYXJJbmRleCwgSnVkZ2VtZW50PEJhbGFuY2U+KSwgTWF4SnVkZ2VtZW50cz4AARxkZXBvc2l0GAEcQmFsYW5jZQABEGluZm/pAQEwSWRlbnRpdHlJbmZvAABpCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAW0IBFMAAAQAcQgBGFZlYzxUPgAAbQgAAAQIEIECAHEIAAACbQgAdQgEGE9wdGlvbgQEVAGkAQgQTm9uZQAAABBTb21lBACkAAABAAB5CAAABAgYfQgAfQgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEABFMAAAQARQEBGFZlYzxUPgAAgQgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGFCARTAAAEAI0IARhWZWM8VD4AAIUIBBhPcHRpb24EBFQBiQgBCBBOb25lAAAAEFNvbWUEAIkIAAABAACJCAw8cGFsbGV0X2lkZW50aXR5FHR5cGVzNFJlZ2lzdHJhckluZm8MHEJhbGFuY2UBGCRBY2NvdW50SWQBABxJZEZpZWxkATAADAEcYWNjb3VudAABJEFjY291bnRJZAABDGZlZRgBHEJhbGFuY2UAARhmaWVsZHMwARxJZEZpZWxkAACNCAAAAoUIAJEIDDxwYWxsZXRfaWRlbnRpdHkUdHlwZXNMQXV0aG9yaXR5UHJvcGVydGllcwQYU3VmZml4AZUIAAgBGHN1ZmZpeJUIARhTdWZmaXgAAShhbGxvY2F0aW9uEAEoQWxsb2NhdGlvbgAAlQgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AACZCAAABAgAEACdCAw8cGFsbGV0X2lkZW50aXR5GHBhbGxldBRFcnJvcgQEVAABaEhUb29NYW55U3ViQWNjb3VudHMAAARcVG9vIG1hbnkgc3Vicy1hY2NvdW50cy4gTm90Rm91bmQAAQRQQWNjb3VudCBpc24ndCBmb3VuZC4gTm90TmFtZWQAAgRQQWNjb3VudCBpc24ndCBuYW1lZC4oRW1wdHlJbmRleAADBDBFbXB0eSBpbmRleC4oRmVlQ2hhbmdlZAAEBDxGZWUgaXMgY2hhbmdlZC4oTm9JZGVudGl0eQAFBEhObyBpZGVudGl0eSBmb3VuZC48U3RpY2t5SnVkZ2VtZW50AAYERFN0aWNreSBqdWRnZW1lbnQuOEp1ZGdlbWVudEdpdmVuAAcEQEp1ZGdlbWVudCBnaXZlbi5ASW52YWxpZEp1ZGdlbWVudAAIBEhJbnZhbGlkIGp1ZGdlbWVudC4wSW52YWxpZEluZGV4AAkEVFRoZSBpbmRleCBpcyBpbnZhbGlkLjRJbnZhbGlkVGFyZ2V0AAoEWFRoZSB0YXJnZXQgaXMgaW52YWxpZC5EVG9vTWFueVJlZ2lzdHJhcnMACwToTWF4aW11bSBhbW91bnQgb2YgcmVnaXN0cmFycyByZWFjaGVkLiBDYW5ub3QgYWRkIGFueSBtb3JlLjhBbHJlYWR5Q2xhaW1lZAAMBHBBY2NvdW50IElEIGlzIGFscmVhZHkgbmFtZWQuGE5vdFN1YgANBHBTZW5kZXIgaXMgbm90IGEgc3ViLWFjY291bnQuIE5vdE93bmVkAA4EiFN1Yi1hY2NvdW50IGlzbid0IG93bmVkIGJ5IHNlbmRlci50SnVkZ2VtZW50Rm9yRGlmZmVyZW50SWRlbnRpdHkADwTQVGhlIHByb3ZpZGVkIGp1ZGdlbWVudCB3YXMgZm9yIGEgZGlmZmVyZW50IGlkZW50aXR5LlhKdWRnZW1lbnRQYXltZW50RmFpbGVkABAE+EVycm9yIHRoYXQgb2NjdXJzIHdoZW4gdGhlcmUgaXMgYW4gaXNzdWUgcGF5aW5nIGZvciBqdWRnZW1lbnQuNEludmFsaWRTdWZmaXgAEQSAVGhlIHByb3ZpZGVkIHN1ZmZpeCBpcyB0b28gbG9uZy5QTm90VXNlcm5hbWVBdXRob3JpdHkAEgTgVGhlIHNlbmRlciBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gaXNzdWUgYSB1c2VybmFtZS4wTm9BbGxvY2F0aW9uABMExFRoZSBhdXRob3JpdHkgY2Fubm90IGFsbG9jYXRlIGFueSBtb3JlIHVzZXJuYW1lcy5ASW52YWxpZFNpZ25hdHVyZQAUBKhUaGUgc2lnbmF0dXJlIG9uIGEgdXNlcm5hbWUgd2FzIG5vdCB2YWxpZC5EUmVxdWlyZXNTaWduYXR1cmUAFQQJAVNldHRpbmcgdGhpcyB1c2VybmFtZSByZXF1aXJlcyBhIHNpZ25hdHVyZSwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkLjxJbnZhbGlkVXNlcm5hbWUAFgSwVGhlIHVzZXJuYW1lIGRvZXMgbm90IG1lZXQgdGhlIHJlcXVpcmVtZW50cy40VXNlcm5hbWVUYWtlbgAXBHhUaGUgdXNlcm5hbWUgaXMgYWxyZWFkeSB0YWtlbi4oTm9Vc2VybmFtZQAYBJhUaGUgcmVxdWVzdGVkIHVzZXJuYW1lIGRvZXMgbm90IGV4aXN0LihOb3RFeHBpcmVkABkELQFUaGUgdXNlcm5hbWUgY2Fubm90IGJlIGZvcmNlZnVsbHkgcmVtb3ZlZCBiZWNhdXNlIGl0IGNhbiBzdGlsbCBiZSBhY2NlcHRlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuoQgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGlCARTAAAEAKkIARhWZWM8VD4AAKUIAAAEDBAhAQAAqQgAAAKlCACtCAAABAixCBgAsQgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEABFMAAAQARQEBGFZlYzxUPgAAtQgMQHBhbGxldF9kZW1vY3JhY3kUdHlwZXM4UmVmZXJlbmR1bUluZm8MLEJsb2NrTnVtYmVyARAgUHJvcG9zYWwBIQEcQmFsYW5jZQEYAQgcT25nb2luZwQAuQgBwFJlZmVyZW5kdW1TdGF0dXM8QmxvY2tOdW1iZXIsIFByb3Bvc2FsLCBCYWxhbmNlPgAAACBGaW5pc2hlZAgBIGFwcHJvdmVkIAEQYm9vbAABDGVuZBABLEJsb2NrTnVtYmVyAAEAALkIDEBwYWxsZXRfZGVtb2NyYWN5FHR5cGVzQFJlZmVyZW5kdW1TdGF0dXMMLEJsb2NrTnVtYmVyARAgUHJvcG9zYWwBIQEcQmFsYW5jZQEYABQBDGVuZBABLEJsb2NrTnVtYmVyAAEgcHJvcG9zYWwhAQEgUHJvcG9zYWwAASR0aHJlc2hvbGSsATRWb3RlVGhyZXNob2xkAAEUZGVsYXkQASxCbG9ja051bWJlcgABFHRhbGx5vQgBOFRhbGx5PEJhbGFuY2U+AAC9CAxAcGFsbGV0X2RlbW9jcmFjeRR0eXBlcxRUYWxseQQcQmFsYW5jZQEYAAwBEGF5ZXMYARxCYWxhbmNlAAEQbmF5cxgBHEJhbGFuY2UAARx0dXJub3V0GAEcQmFsYW5jZQAAwQgMQHBhbGxldF9kZW1vY3JhY3kQdm90ZRhWb3RpbmcQHEJhbGFuY2UBGCRBY2NvdW50SWQBACxCbG9ja051bWJlcgEQIE1heFZvdGVzAAEIGERpcmVjdAwBFHZvdGVzxQgB9EJvdW5kZWRWZWM8KFJlZmVyZW5kdW1JbmRleCwgQWNjb3VudFZvdGU8QmFsYW5jZT4pLCBNYXhWb3Rlcz4AASxkZWxlZ2F0aW9uc9EIAVBEZWxlZ2F0aW9uczxCYWxhbmNlPgABFHByaW9y1QgBfFByaW9yTG9jazxCbG9ja051bWJlciwgQmFsYW5jZT4AAAAoRGVsZWdhdGluZxQBHGJhbGFuY2UYARxCYWxhbmNlAAEYdGFyZ2V0AAEkQWNjb3VudElkAAEoY29udmljdGlvbpkCAShDb252aWN0aW9uAAEsZGVsZWdhdGlvbnPRCAFQRGVsZWdhdGlvbnM8QmFsYW5jZT4AARRwcmlvctUIAXxQcmlvckxvY2s8QmxvY2tOdW1iZXIsIEJhbGFuY2U+AAEAAMUIDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQByQgEUwAABADNCAEYVmVjPFQ+AADJCAAABAgQsADNCAAAAskIANEIDEBwYWxsZXRfZGVtb2NyYWN5FHR5cGVzLERlbGVnYXRpb25zBBxCYWxhbmNlARgACAEUdm90ZXMYARxCYWxhbmNlAAEcY2FwaXRhbBgBHEJhbGFuY2UAANUIDEBwYWxsZXRfZGVtb2NyYWN5EHZvdGUkUHJpb3JMb2NrCCxCbG9ja051bWJlcgEQHEJhbGFuY2UBGAAIABABLEJsb2NrTnVtYmVyAAAYARxCYWxhbmNlAADZCAAABAghAawA3QgAAAQIELEIAOEIDEBwYWxsZXRfZGVtb2NyYWN5GHBhbGxldBRFcnJvcgQEVAABYCBWYWx1ZUxvdwAABDRWYWx1ZSB0b28gbG93PFByb3Bvc2FsTWlzc2luZwABBFxQcm9wb3NhbCBkb2VzIG5vdCBleGlzdDxBbHJlYWR5Q2FuY2VsZWQAAgSUQ2Fubm90IGNhbmNlbCB0aGUgc2FtZSBwcm9wb3NhbCB0d2ljZUREdXBsaWNhdGVQcm9wb3NhbAADBFRQcm9wb3NhbCBhbHJlYWR5IG1hZGVMUHJvcG9zYWxCbGFja2xpc3RlZAAEBGhQcm9wb3NhbCBzdGlsbCBibGFja2xpc3RlZEROb3RTaW1wbGVNYWpvcml0eQAFBKhOZXh0IGV4dGVybmFsIHByb3Bvc2FsIG5vdCBzaW1wbGUgbWFqb3JpdHksSW52YWxpZEhhc2gABgQwSW52YWxpZCBoYXNoKE5vUHJvcG9zYWwABwRQTm8gZXh0ZXJuYWwgcHJvcG9zYWw0QWxyZWFkeVZldG9lZAAIBJhJZGVudGl0eSBtYXkgbm90IHZldG8gYSBwcm9wb3NhbCB0d2ljZURSZWZlcmVuZHVtSW52YWxpZAAJBIRWb3RlIGdpdmVuIGZvciBpbnZhbGlkIHJlZmVyZW5kdW0sTm9uZVdhaXRpbmcACgRQTm8gcHJvcG9zYWxzIHdhaXRpbmcgTm90Vm90ZXIACwTEVGhlIGdpdmVuIGFjY291bnQgZGlkIG5vdCB2b3RlIG9uIHRoZSByZWZlcmVuZHVtLjBOb1Blcm1pc3Npb24ADATIVGhlIGFjdG9yIGhhcyBubyBwZXJtaXNzaW9uIHRvIGNvbmR1Y3QgdGhlIGFjdGlvbi5EQWxyZWFkeURlbGVnYXRpbmcADQSIVGhlIGFjY291bnQgaXMgYWxyZWFkeSBkZWxlZ2F0aW5nLkRJbnN1ZmZpY2llbnRGdW5kcwAOBPxUb28gaGlnaCBhIGJhbGFuY2Ugd2FzIHByb3ZpZGVkIHRoYXQgdGhlIGFjY291bnQgY2Fubm90IGFmZm9yZC40Tm90RGVsZWdhdGluZwAPBKBUaGUgYWNjb3VudCBpcyBub3QgY3VycmVudGx5IGRlbGVnYXRpbmcuKFZvdGVzRXhpc3QAEAhVAVRoZSBhY2NvdW50IGN1cnJlbnRseSBoYXMgdm90ZXMgYXR0YWNoZWQgdG8gaXQgYW5kIHRoZSBvcGVyYXRpb24gY2Fubm90IHN1Y2NlZWQgdW50aWzodGhlc2UgYXJlIHJlbW92ZWQsIGVpdGhlciB0aHJvdWdoIGB1bnZvdGVgIG9yIGByZWFwX3ZvdGVgLkRJbnN0YW50Tm90QWxsb3dlZAARBNhUaGUgaW5zdGFudCByZWZlcmVuZHVtIG9yaWdpbiBpcyBjdXJyZW50bHkgZGlzYWxsb3dlZC4gTm9uc2Vuc2UAEgSURGVsZWdhdGlvbiB0byBvbmVzZWxmIG1ha2VzIG5vIHNlbnNlLjxXcm9uZ1VwcGVyQm91bmQAEwRQSW52YWxpZCB1cHBlciBib3VuZC48TWF4Vm90ZXNSZWFjaGVkABQEgE1heGltdW0gbnVtYmVyIG9mIHZvdGVzIHJlYWNoZWQuHFRvb01hbnkAFQSATWF4aW11bSBudW1iZXIgb2YgaXRlbXMgcmVhY2hlZC48Vm90aW5nUGVyaW9kTG93ABYEVFZvdGluZyBwZXJpb2QgdG9vIGxvd0BQcmVpbWFnZU5vdEV4aXN0ABcEcFRoZSBwcmVpbWFnZSBkb2VzIG5vdCBleGlzdC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu5QgAAALpCADpCAhkcGFsbGV0X2VsZWN0aW9uc19waHJhZ21lbihTZWF0SG9sZGVyCCRBY2NvdW50SWQBABxCYWxhbmNlARgADAEMd2hvAAEkQWNjb3VudElkAAEUc3Rha2UYARxCYWxhbmNlAAEcZGVwb3NpdBgBHEJhbGFuY2UAAO0ICGRwYWxsZXRfZWxlY3Rpb25zX3BocmFnbWVuFFZvdGVyCCRBY2NvdW50SWQBABxCYWxhbmNlARgADAEUdm90ZXNFAQE4VmVjPEFjY291bnRJZD4AARRzdGFrZRgBHEJhbGFuY2UAARxkZXBvc2l0GAEcQmFsYW5jZQAA8QgMZHBhbGxldF9lbGVjdGlvbnNfcGhyYWdtZW4YcGFsbGV0FEVycm9yBARUAAFEMFVuYWJsZVRvVm90ZQAABMBDYW5ub3Qgdm90ZSB3aGVuIG5vIGNhbmRpZGF0ZXMgb3IgbWVtYmVycyBleGlzdC4cTm9Wb3RlcwABBJRNdXN0IHZvdGUgZm9yIGF0IGxlYXN0IG9uZSBjYW5kaWRhdGUuMFRvb01hbnlWb3RlcwACBIRDYW5ub3Qgdm90ZSBtb3JlIHRoYW4gY2FuZGlkYXRlcy5QTWF4aW11bVZvdGVzRXhjZWVkZWQAAwSYQ2Fubm90IHZvdGUgbW9yZSB0aGFuIG1heGltdW0gYWxsb3dlZC4oTG93QmFsYW5jZQAEBMRDYW5ub3Qgdm90ZSB3aXRoIHN0YWtlIGxlc3MgdGhhbiBtaW5pbXVtIGJhbGFuY2UuPFVuYWJsZVRvUGF5Qm9uZAAFBHhWb3RlciBjYW4gbm90IHBheSB2b3RpbmcgYm9uZC4sTXVzdEJlVm90ZXIABgRATXVzdCBiZSBhIHZvdGVyLkxEdXBsaWNhdGVkQ2FuZGlkYXRlAAcEgER1cGxpY2F0ZWQgY2FuZGlkYXRlIHN1Ym1pc3Npb24uRFRvb01hbnlDYW5kaWRhdGVzAAgEmFRvbyBtYW55IGNhbmRpZGF0ZXMgaGF2ZSBiZWVuIGNyZWF0ZWQuME1lbWJlclN1Ym1pdAAJBIhNZW1iZXIgY2Fubm90IHJlLXN1Ym1pdCBjYW5kaWRhY3kuOFJ1bm5lclVwU3VibWl0AAoEiFJ1bm5lciBjYW5ub3QgcmUtc3VibWl0IGNhbmRpZGFjeS5oSW5zdWZmaWNpZW50Q2FuZGlkYXRlRnVuZHMACwSUQ2FuZGlkYXRlIGRvZXMgbm90IGhhdmUgZW5vdWdoIGZ1bmRzLiROb3RNZW1iZXIADAQ0Tm90IGEgbWVtYmVyLkhJbnZhbGlkV2l0bmVzc0RhdGEADQTgVGhlIHByb3ZpZGVkIGNvdW50IG9mIG51bWJlciBvZiBjYW5kaWRhdGVzIGlzIGluY29ycmVjdC5ASW52YWxpZFZvdGVDb3VudAAOBMxUaGUgcHJvdmlkZWQgY291bnQgb2YgbnVtYmVyIG9mIHZvdGVzIGlzIGluY29ycmVjdC5ESW52YWxpZFJlbm91bmNpbmcADwT8VGhlIHJlbm91bmNpbmcgb3JpZ2luIHByZXNlbnRlZCBhIHdyb25nIGBSZW5vdW5jaW5nYCBwYXJhbWV0ZXIuSEludmFsaWRSZXBsYWNlbWVudAAQBPxQcmVkaWN0aW9uIHJlZ2FyZGluZyByZXBsYWNlbWVudCBhZnRlciBtZW1iZXIgcmVtb3ZhbCBpcyB3cm9uZy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu9QgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAE0BFMAAAQA4QEBGFZlYzxUPgAA+QgIRHBhbGxldF9jb2xsZWN0aXZlFFZvdGVzCCRBY2NvdW50SWQBACxCbG9ja051bWJlcgEQABQBFGluZGV4EAE0UHJvcG9zYWxJbmRleAABJHRocmVzaG9sZBABLE1lbWJlckNvdW50AAEQYXllc0UBAThWZWM8QWNjb3VudElkPgABEG5heXNFAQE4VmVjPEFjY291bnRJZD4AAQxlbmQQASxCbG9ja051bWJlcgAA/QgMRHBhbGxldF9jb2xsZWN0aXZlGHBhbGxldBRFcnJvcggEVAAESQABLCROb3RNZW1iZXIAAARcQWNjb3VudCBpcyBub3QgYSBtZW1iZXJERHVwbGljYXRlUHJvcG9zYWwAAQR8RHVwbGljYXRlIHByb3Bvc2FscyBub3QgYWxsb3dlZDxQcm9wb3NhbE1pc3NpbmcAAgRMUHJvcG9zYWwgbXVzdCBleGlzdChXcm9uZ0luZGV4AAMEQE1pc21hdGNoZWQgaW5kZXg0RHVwbGljYXRlVm90ZQAEBFhEdXBsaWNhdGUgdm90ZSBpZ25vcmVkSEFscmVhZHlJbml0aWFsaXplZAAFBIBNZW1iZXJzIGFyZSBhbHJlYWR5IGluaXRpYWxpemVkISBUb29FYXJseQAGBAEBVGhlIGNsb3NlIGNhbGwgd2FzIG1hZGUgdG9vIGVhcmx5LCBiZWZvcmUgdGhlIGVuZCBvZiB0aGUgdm90aW5nLkBUb29NYW55UHJvcG9zYWxzAAcE/FRoZXJlIGNhbiBvbmx5IGJlIGEgbWF4aW11bSBvZiBgTWF4UHJvcG9zYWxzYCBhY3RpdmUgcHJvcG9zYWxzLkxXcm9uZ1Byb3Bvc2FsV2VpZ2h0AAgE0FRoZSBnaXZlbiB3ZWlnaHQgYm91bmQgZm9yIHRoZSBwcm9wb3NhbCB3YXMgdG9vIGxvdy5MV3JvbmdQcm9wb3NhbExlbmd0aAAJBNBUaGUgZ2l2ZW4gbGVuZ3RoIGJvdW5kIGZvciB0aGUgcHJvcG9zYWwgd2FzIHRvbyBsb3cuVFByaW1lQWNjb3VudE5vdE1lbWJlcgAKBHRQcmltZSBhY2NvdW50IGlzIG5vdCBhIG1lbWJlcgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4BCQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUATQEUwAABADhAQEYVmVjPFQ+AAAFCQxEcGFsbGV0X2NvbGxlY3RpdmUYcGFsbGV0FEVycm9yCARUAARJAAEsJE5vdE1lbWJlcgAABFxBY2NvdW50IGlzIG5vdCBhIG1lbWJlckREdXBsaWNhdGVQcm9wb3NhbAABBHxEdXBsaWNhdGUgcHJvcG9zYWxzIG5vdCBhbGxvd2VkPFByb3Bvc2FsTWlzc2luZwACBExQcm9wb3NhbCBtdXN0IGV4aXN0KFdyb25nSW5kZXgAAwRATWlzbWF0Y2hlZCBpbmRleDREdXBsaWNhdGVWb3RlAAQEWER1cGxpY2F0ZSB2b3RlIGlnbm9yZWRIQWxyZWFkeUluaXRpYWxpemVkAAUEgE1lbWJlcnMgYXJlIGFscmVhZHkgaW5pdGlhbGl6ZWQhIFRvb0Vhcmx5AAYEAQFUaGUgY2xvc2UgY2FsbCB3YXMgbWFkZSB0b28gZWFybHksIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSB2b3RpbmcuQFRvb01hbnlQcm9wb3NhbHMABwT8VGhlcmUgY2FuIG9ubHkgYmUgYSBtYXhpbXVtIG9mIGBNYXhQcm9wb3NhbHNgIGFjdGl2ZSBwcm9wb3NhbHMuTFdyb25nUHJvcG9zYWxXZWlnaHQACATQVGhlIGdpdmVuIHdlaWdodCBib3VuZCBmb3IgdGhlIHByb3Bvc2FsIHdhcyB0b28gbG93LkxXcm9uZ1Byb3Bvc2FsTGVuZ3RoAAkE0FRoZSBnaXZlbiBsZW5ndGggYm91bmQgZm9yIHRoZSBwcm9wb3NhbCB3YXMgdG9vIGxvdy5UUHJpbWVBY2NvdW50Tm90TWVtYmVyAAoEdFByaW1lIGFjY291bnQgaXMgbm90IGEgbWVtYmVyBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LgkJCCxwYWxsZXRfdGlwcxxPcGVuVGlwECRBY2NvdW50SWQBABxCYWxhbmNlARgsQmxvY2tOdW1iZXIBEBBIYXNoATQAHAEYcmVhc29uNAEQSGFzaAABDHdobwABJEFjY291bnRJZAABGGZpbmRlcgABJEFjY291bnRJZAABHGRlcG9zaXQYARxCYWxhbmNlAAEYY2xvc2VzbQEBTE9wdGlvbjxCbG9ja051bWJlcj4AARB0aXBzwAFkVmVjPChBY2NvdW50SWQsIEJhbGFuY2UpPgABLGZpbmRlcnNfZmVlIAEQYm9vbAAADQkMNHNwX2FyaXRobWV0aWMocGVyX3RoaW5ncxxQZXJjZW50AAAEAAgBCHU4AAARCQwscGFsbGV0X3RpcHMYcGFsbGV0FEVycm9yCARUAARJAAEcMFJlYXNvblRvb0JpZwAABIRUaGUgcmVhc29uIGdpdmVuIGlzIGp1c3QgdG9vIGJpZy4wQWxyZWFkeUtub3duAAEEiFRoZSB0aXAgd2FzIGFscmVhZHkgZm91bmQvc3RhcnRlZC4oVW5rbm93blRpcAACBGBUaGUgdGlwIGhhc2ggaXMgdW5rbm93bi5QTWF4VGlwQW1vdW50RXhjZWVkZWQAAwR8VGhlIHRpcCBnaXZlbiB3YXMgdG9vIGdlbmVyb3VzLiROb3RGaW5kZXIABAQdAVRoZSBhY2NvdW50IGF0dGVtcHRpbmcgdG8gcmV0cmFjdCB0aGUgdGlwIGlzIG5vdCB0aGUgZmluZGVyIG9mIHRoZSB0aXAuJFN0aWxsT3BlbgAFBCkBVGhlIHRpcCBjYW5ub3QgYmUgY2xhaW1lZC9jbG9zZWQgYmVjYXVzZSB0aGVyZSBhcmUgbm90IGVub3VnaCB0aXBwZXJzIHlldC4kUHJlbWF0dXJlAAYEMQFUaGUgdGlwIGNhbm5vdCBiZSBjbGFpbWVkL2Nsb3NlZCBiZWNhdXNlIGl0J3Mgc3RpbGwgaW4gdGhlIGNvdW50ZG93biBwZXJpb2QuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LhUJAAAECBkJGAAZCQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAR0JBFMAAAQAIQkBGFZlYzxUPgAAHQkIMHBhbGxldF9wcm94eTxQcm94eURlZmluaXRpb24MJEFjY291bnRJZAEAJFByb3h5VHlwZQHYLEJsb2NrTnVtYmVyARAADAEgZGVsZWdhdGUAASRBY2NvdW50SWQAAShwcm94eV90eXBl2AEkUHJveHlUeXBlAAEUZGVsYXkQASxCbG9ja051bWJlcgAAIQkAAAIdCQAlCQAABAgpCRgAKQkMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEtCQRTAAAEADEJARhWZWM8VD4AAC0JCDBwYWxsZXRfcHJveHkwQW5ub3VuY2VtZW50DCRBY2NvdW50SWQBABBIYXNoATQsQmxvY2tOdW1iZXIBEAAMARByZWFsAAEkQWNjb3VudElkAAEkY2FsbF9oYXNoNAEQSGFzaAABGGhlaWdodBABLEJsb2NrTnVtYmVyAAAxCQAAAi0JADUJDDBwYWxsZXRfcHJveHkYcGFsbGV0FEVycm9yBARUAAEgHFRvb01hbnkAAAQhAVRoZXJlIGFyZSB0b28gbWFueSBwcm94aWVzIHJlZ2lzdGVyZWQgb3IgdG9vIG1hbnkgYW5ub3VuY2VtZW50cyBwZW5kaW5nLiBOb3RGb3VuZAABBHRQcm94eSByZWdpc3RyYXRpb24gbm90IGZvdW5kLiBOb3RQcm94eQACBMxTZW5kZXIgaXMgbm90IGEgcHJveHkgb2YgdGhlIGFjY291bnQgdG8gYmUgcHJveGllZC4sVW5wcm94eWFibGUAAwQhAUEgY2FsbCB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgcHJveHkgdHlwZSdzIGZpbHRlciB3YXMgYXR0ZW1wdGVkLiREdXBsaWNhdGUABARsQWNjb3VudCBpcyBhbHJlYWR5IGEgcHJveHkuME5vUGVybWlzc2lvbgAFBBUBQ2FsbCBtYXkgbm90IGJlIG1hZGUgYnkgcHJveHkgYmVjYXVzZSBpdCBtYXkgZXNjYWxhdGUgaXRzIHByaXZpbGVnZXMuLFVuYW5ub3VuY2VkAAYE0EFubm91bmNlbWVudCwgaWYgbWFkZSBhdCBhbGwsIHdhcyBtYWRlIHRvbyByZWNlbnRseS4sTm9TZWxmUHJveHkABwRkQ2Fubm90IGFkZCBzZWxmIGFzIHByb3h5LgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC45CQAABAgABAA9CQg8cGFsbGV0X211bHRpc2lnIE11bHRpc2lnECxCbG9ja051bWJlcgEQHEJhbGFuY2UBGCRBY2NvdW50SWQBADBNYXhBcHByb3ZhbHMAABABEHdoZW7kAVhUaW1lcG9pbnQ8QmxvY2tOdW1iZXI+AAEcZGVwb3NpdBgBHEJhbGFuY2UAASRkZXBvc2l0b3IAASRBY2NvdW50SWQAASRhcHByb3ZhbHNBCQGMQm91bmRlZFZlYzxBY2NvdW50SWQsIE1heEFwcHJvdmFscz4AAEEJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBAARTAAAEAEUBARhWZWM8VD4AAEUJDDxwYWxsZXRfbXVsdGlzaWcYcGFsbGV0FEVycm9yBARUAAE4QE1pbmltdW1UaHJlc2hvbGQAAAR8VGhyZXNob2xkIG11c3QgYmUgMiBvciBncmVhdGVyLjxBbHJlYWR5QXBwcm92ZWQAAQSsQ2FsbCBpcyBhbHJlYWR5IGFwcHJvdmVkIGJ5IHRoaXMgc2lnbmF0b3J5LkROb0FwcHJvdmFsc05lZWRlZAACBJxDYWxsIGRvZXNuJ3QgbmVlZCBhbnkgKG1vcmUpIGFwcHJvdmFscy5EVG9vRmV3U2lnbmF0b3JpZXMAAwSoVGhlcmUgYXJlIHRvbyBmZXcgc2lnbmF0b3JpZXMgaW4gdGhlIGxpc3QuSFRvb01hbnlTaWduYXRvcmllcwAEBKxUaGVyZSBhcmUgdG9vIG1hbnkgc2lnbmF0b3JpZXMgaW4gdGhlIGxpc3QuVFNpZ25hdG9yaWVzT3V0T2ZPcmRlcgAFBA0BVGhlIHNpZ25hdG9yaWVzIHdlcmUgcHJvdmlkZWQgb3V0IG9mIG9yZGVyOyB0aGV5IHNob3VsZCBiZSBvcmRlcmVkLkxTZW5kZXJJblNpZ25hdG9yaWVzAAYEDQFUaGUgc2VuZGVyIHdhcyBjb250YWluZWQgaW4gdGhlIG90aGVyIHNpZ25hdG9yaWVzOyBpdCBzaG91bGRuJ3QgYmUuIE5vdEZvdW5kAAcE3E11bHRpc2lnIG9wZXJhdGlvbiBub3QgZm91bmQgd2hlbiBhdHRlbXB0aW5nIHRvIGNhbmNlbC4gTm90T3duZXIACAQtAU9ubHkgdGhlIGFjY291bnQgdGhhdCBvcmlnaW5hbGx5IGNyZWF0ZWQgdGhlIG11bHRpc2lnIGlzIGFibGUgdG8gY2FuY2VsIGl0LixOb1RpbWVwb2ludAAJBB0BTm8gdGltZXBvaW50IHdhcyBnaXZlbiwgeWV0IHRoZSBtdWx0aXNpZyBvcGVyYXRpb24gaXMgYWxyZWFkeSB1bmRlcndheS44V3JvbmdUaW1lcG9pbnQACgQtAUEgZGlmZmVyZW50IHRpbWVwb2ludCB3YXMgZ2l2ZW4gdG8gdGhlIG11bHRpc2lnIG9wZXJhdGlvbiB0aGF0IGlzIHVuZGVyd2F5LkxVbmV4cGVjdGVkVGltZXBvaW50AAsE9EEgdGltZXBvaW50IHdhcyBnaXZlbiwgeWV0IG5vIG11bHRpc2lnIG9wZXJhdGlvbiBpcyB1bmRlcndheS48TWF4V2VpZ2h0VG9vTG93AAwE0FRoZSBtYXhpbXVtIHdlaWdodCBpbmZvcm1hdGlvbiBwcm92aWRlZCB3YXMgdG9vIGxvdy40QWxyZWFkeVN0b3JlZAANBKBUaGUgZGF0YSB0byBiZSBzdG9yZWQgaXMgYWxyZWFkeSBzdG9yZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LkkJDDhwYWxsZXRfdW5pcXVlcxR0eXBlc0RDb2xsZWN0aW9uRGV0YWlscwgkQWNjb3VudElkAQA4RGVwb3NpdEJhbGFuY2UBGAAoARRvd25lcgABJEFjY291bnRJZAABGGlzc3VlcgABJEFjY291bnRJZAABFGFkbWluAAEkQWNjb3VudElkAAEcZnJlZXplcgABJEFjY291bnRJZAABNHRvdGFsX2RlcG9zaXQYAThEZXBvc2l0QmFsYW5jZQABMGZyZWVfaG9sZGluZyABEGJvb2wAARRpdGVtcxABDHUzMgABOGl0ZW1fbWV0YWRhdGFzEAEMdTMyAAEoYXR0cmlidXRlcxABDHUzMgABJGlzX2Zyb3plbiABEGJvb2wAAE0JAAAEDAAYGABRCQw4cGFsbGV0X3VuaXF1ZXMUdHlwZXMsSXRlbURldGFpbHMIJEFjY291bnRJZAEAOERlcG9zaXRCYWxhbmNlARgAEAEUb3duZXIAASRBY2NvdW50SWQAASBhcHByb3ZlZAEBAURPcHRpb248QWNjb3VudElkPgABJGlzX2Zyb3plbiABEGJvb2wAARxkZXBvc2l0GAE4RGVwb3NpdEJhbGFuY2UAAFUJDDhwYWxsZXRfdW5pcXVlcxR0eXBlc0hDb2xsZWN0aW9uTWV0YWRhdGEIOERlcG9zaXRCYWxhbmNlARgsU3RyaW5nTGltaXQAAAwBHGRlcG9zaXQYAThEZXBvc2l0QmFsYW5jZQABEGRhdGHsAWxCb3VuZGVkVmVjPHU4LCBTdHJpbmdMaW1pdD4AASRpc19mcm96ZW4gARBib29sAABZCQw4cGFsbGV0X3VuaXF1ZXMUdHlwZXMwSXRlbU1ldGFkYXRhCDhEZXBvc2l0QmFsYW5jZQEYLFN0cmluZ0xpbWl0AAAMARxkZXBvc2l0GAE4RGVwb3NpdEJhbGFuY2UAARBkYXRh7AFsQm91bmRlZFZlYzx1OCwgU3RyaW5nTGltaXQ+AAEkaXNfZnJvemVuIAEQYm9vbAAAXQkAAAQMGPT4AGEJAAAECPwYAGUJAAAECBgBAQBpCQw4cGFsbGV0X3VuaXF1ZXMYcGFsbGV0FEVycm9yCARUAARJAAFIME5vUGVybWlzc2lvbgAABOhUaGUgc2lnbmluZyBhY2NvdW50IGhhcyBubyBwZXJtaXNzaW9uIHRvIGRvIHRoZSBvcGVyYXRpb24uRFVua25vd25Db2xsZWN0aW9uAAEEdFRoZSBnaXZlbiBpdGVtIElEIGlzIHVua25vd24uNEFscmVhZHlFeGlzdHMAAgS4VGhlIGl0ZW0gSUQgaGFzIGFscmVhZHkgYmVlbiB1c2VkIGZvciBhbiBpdGVtLihXcm9uZ093bmVyAAME6FRoZSBvd25lciB0dXJuZWQgb3V0IHRvIGJlIGRpZmZlcmVudCB0byB3aGF0IHdhcyBleHBlY3RlZC4oQmFkV2l0bmVzcwAEBGxJbnZhbGlkIHdpdG5lc3MgZGF0YSBnaXZlbi4USW5Vc2UABQR0VGhlIGl0ZW0gSUQgaXMgYWxyZWFkeSB0YWtlbi4YRnJvemVuAAYEhFRoZSBpdGVtIG9yIGNvbGxlY3Rpb24gaXMgZnJvemVuLjRXcm9uZ0RlbGVnYXRlAAcE9FRoZSBkZWxlZ2F0ZSB0dXJuZWQgb3V0IHRvIGJlIGRpZmZlcmVudCB0byB3aGF0IHdhcyBleHBlY3RlZC4oTm9EZWxlZ2F0ZQAIBHhUaGVyZSBpcyBubyBkZWxlZ2F0ZSBhcHByb3ZlZC4oVW5hcHByb3ZlZAAJBMRObyBhcHByb3ZhbCBleGlzdHMgdGhhdCB3b3VsZCBhbGxvdyB0aGUgdHJhbnNmZXIuKFVuYWNjZXB0ZWQACgQlAVRoZSBuYW1lZCBvd25lciBoYXMgbm90IHNpZ25lZCBvd25lcnNoaXAgb2YgdGhlIGNvbGxlY3Rpb24gaXMgYWNjZXB0YWJsZS4YTG9ja2VkAAsETFRoZSBpdGVtIGlzIGxvY2tlZC5ATWF4U3VwcGx5UmVhY2hlZAAMBGxBbGwgaXRlbXMgaGF2ZSBiZWVuIG1pbnRlZC5MTWF4U3VwcGx5QWxyZWFkeVNldAANBJBUaGUgbWF4IHN1cHBseSBoYXMgYWxyZWFkeSBiZWVuIHNldC5ETWF4U3VwcGx5VG9vU21hbGwADgRBAVRoZSBwcm92aWRlZCBtYXggc3VwcGx5IGlzIGxlc3MgdG8gdGhlIGFtb3VudCBvZiBpdGVtcyBhIGNvbGxlY3Rpb24gYWxyZWFkeSBoYXMuLFVua25vd25JdGVtAA8EdFRoZSBnaXZlbiBpdGVtIElEIGlzIHVua25vd24uKE5vdEZvclNhbGUAEARUSXRlbSBpcyBub3QgZm9yIHNhbGUuJEJpZFRvb0xvdwARBHBUaGUgcHJvdmlkZWQgYmlkIGlzIHRvbyBsb3cuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lm0JAAAECADcAHEJDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcQdm90ZRhWb3RpbmcUHEJhbGFuY2UBGCRBY2NvdW50SWQBACxCbG9ja051bWJlcgEQJFBvbGxJbmRleAEQIE1heFZvdGVzAAEIHENhc3RpbmcEAHUJAchDYXN0aW5nPEJhbGFuY2UsIEJsb2NrTnVtYmVyLCBQb2xsSW5kZXgsIE1heFZvdGVzPgAAAChEZWxlZ2F0aW5nBACNCQGsRGVsZWdhdGluZzxCYWxhbmNlLCBBY2NvdW50SWQsIEJsb2NrTnVtYmVyPgABAAB1CQxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nEHZvdGUcQ2FzdGluZxAcQmFsYW5jZQEYLEJsb2NrTnVtYmVyARAkUG9sbEluZGV4ARAgTWF4Vm90ZXMAAAwBFHZvdGVzeQkB3EJvdW5kZWRWZWM8KFBvbGxJbmRleCwgQWNjb3VudFZvdGU8QmFsYW5jZT4pLCBNYXhWb3Rlcz4AASxkZWxlZ2F0aW9uc4UJAVBEZWxlZ2F0aW9uczxCYWxhbmNlPgABFHByaW9yiQkBfFByaW9yTG9jazxCbG9ja051bWJlciwgQmFsYW5jZT4AAHkJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBfQkEUwAABACBCQEYVmVjPFQ+AAB9CQAABAgQFQEAgQkAAAJ9CQCFCQxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nFHR5cGVzLERlbGVnYXRpb25zBBxCYWxhbmNlARgACAEUdm90ZXMYARxCYWxhbmNlAAEcY2FwaXRhbBgBHEJhbGFuY2UAAIkJDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcQdm90ZSRQcmlvckxvY2sILEJsb2NrTnVtYmVyARAcQmFsYW5jZQEYAAgAEAEsQmxvY2tOdW1iZXIAABgBHEJhbGFuY2UAAI0JDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcQdm90ZShEZWxlZ2F0aW5nDBxCYWxhbmNlARgkQWNjb3VudElkAQAsQmxvY2tOdW1iZXIBEAAUARxiYWxhbmNlGAEcQmFsYW5jZQABGHRhcmdldAABJEFjY291bnRJZAABKGNvbnZpY3Rpb27pAgEoQ29udmljdGlvbgABLGRlbGVnYXRpb25zhQkBUERlbGVnYXRpb25zPEJhbGFuY2U+AAEUcHJpb3KJCQF8UHJpb3JMb2NrPEJsb2NrTnVtYmVyLCBCYWxhbmNlPgAAkQkMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGVCQRTAAAEAJkJARhWZWM8VD4AAJUJAAAECNwYAJkJAAAClQkAnQkMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxhwYWxsZXQURXJyb3IIBFQABEkAATAoTm90T25nb2luZwAABFBQb2xsIGlzIG5vdCBvbmdvaW5nLiBOb3RWb3RlcgABBKxUaGUgZ2l2ZW4gYWNjb3VudCBkaWQgbm90IHZvdGUgb24gdGhlIHBvbGwuME5vUGVybWlzc2lvbgACBMhUaGUgYWN0b3IgaGFzIG5vIHBlcm1pc3Npb24gdG8gY29uZHVjdCB0aGUgYWN0aW9uLjxOb1Blcm1pc3Npb25ZZXQAAwRZAVRoZSBhY3RvciBoYXMgbm8gcGVybWlzc2lvbiB0byBjb25kdWN0IHRoZSBhY3Rpb24gcmlnaHQgbm93IGJ1dCB3aWxsIGRvIGluIHRoZSBmdXR1cmUuREFscmVhZHlEZWxlZ2F0aW5nAAQEiFRoZSBhY2NvdW50IGlzIGFscmVhZHkgZGVsZWdhdGluZy40QWxyZWFkeVZvdGluZwAFCFUBVGhlIGFjY291bnQgY3VycmVudGx5IGhhcyB2b3RlcyBhdHRhY2hlZCB0byBpdCBhbmQgdGhlIG9wZXJhdGlvbiBjYW5ub3Qgc3VjY2VlZCB1bnRpbKB0aGVzZSBhcmUgcmVtb3ZlZCB0aHJvdWdoIGByZW1vdmVfdm90ZWAuREluc3VmZmljaWVudEZ1bmRzAAYE/FRvbyBoaWdoIGEgYmFsYW5jZSB3YXMgcHJvdmlkZWQgdGhhdCB0aGUgYWNjb3VudCBjYW5ub3QgYWZmb3JkLjROb3REZWxlZ2F0aW5nAAcEoFRoZSBhY2NvdW50IGlzIG5vdCBjdXJyZW50bHkgZGVsZWdhdGluZy4gTm9uc2Vuc2UACASURGVsZWdhdGlvbiB0byBvbmVzZWxmIG1ha2VzIG5vIHNlbnNlLjxNYXhWb3Rlc1JlYWNoZWQACQSATWF4aW11bSBudW1iZXIgb2Ygdm90ZXMgcmVhY2hlZC4sQ2xhc3NOZWVkZWQACgQ5AVRoZSBjbGFzcyBtdXN0IGJlIHN1cHBsaWVkIHNpbmNlIGl0IGlzIG5vdCBlYXNpbHkgZGV0ZXJtaW5hYmxlIGZyb20gdGhlIHN0YXRlLiBCYWRDbGFzcwALBIRUaGUgY2xhc3MgSUQgc3VwcGxpZWQgaXMgaW52YWxpZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuoQkMQHBhbGxldF9yZWZlcmVuZGEUdHlwZXM4UmVmZXJlbmR1bUluZm8gHFRyYWNrSWQB3DRSdW50aW1lT3JpZ2luAXkBGE1vbWVudAEQEENhbGwBIQEcQmFsYW5jZQEYFFRhbGx5AWEGJEFjY291bnRJZAEAPFNjaGVkdWxlQWRkcmVzcwF1AwEYHE9uZ29pbmcEAKUJAY0BUmVmZXJlbmR1bVN0YXR1czxUcmFja0lkLCBSdW50aW1lT3JpZ2luLCBNb21lbnQsIENhbGwsIEJhbGFuY2UsIFRhbGx5LApBY2NvdW50SWQsIFNjaGVkdWxlQWRkcmVzcyw+AAAAIEFwcHJvdmVkDAAQARhNb21lbnQAAK0JAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgAArQkBjE9wdGlvbjxEZXBvc2l0PEFjY291bnRJZCwgQmFsYW5jZT4+AAEAIFJlamVjdGVkDAAQARhNb21lbnQAAK0JAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgAArQkBjE9wdGlvbjxEZXBvc2l0PEFjY291bnRJZCwgQmFsYW5jZT4+AAIAJENhbmNlbGxlZAwAEAEYTW9tZW50AACtCQGMT3B0aW9uPERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPj4AAK0JAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgADACBUaW1lZE91dAwAEAEYTW9tZW50AACtCQGMT3B0aW9uPERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPj4AAK0JAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgAEABhLaWxsZWQEABABGE1vbWVudAAFAAClCQxAcGFsbGV0X3JlZmVyZW5kYRR0eXBlc0BSZWZlcmVuZHVtU3RhdHVzIBxUcmFja0lkAdw0UnVudGltZU9yaWdpbgF5ARhNb21lbnQBEBBDYWxsASEBHEJhbGFuY2UBGBRUYWxseQFhBiRBY2NvdW50SWQBADxTY2hlZHVsZUFkZHJlc3MBdQMALAEUdHJhY2vcARxUcmFja0lkAAEYb3JpZ2lueQEBNFJ1bnRpbWVPcmlnaW4AASBwcm9wb3NhbCEBARBDYWxsAAEkZW5hY3RtZW509QIBUERpc3BhdGNoVGltZTxNb21lbnQ+AAEkc3VibWl0dGVkEAEYTW9tZW50AAFIc3VibWlzc2lvbl9kZXBvc2l0qQkBbERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPgABQGRlY2lzaW9uX2RlcG9zaXStCQGMT3B0aW9uPERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPj4AASBkZWNpZGluZ7EJAXhPcHRpb248RGVjaWRpbmdTdGF0dXM8TW9tZW50Pj4AARR0YWxseWEGARRUYWxseQABIGluX3F1ZXVlIAEQYm9vbAABFGFsYXJtuQkBhE9wdGlvbjwoTW9tZW50LCBTY2hlZHVsZUFkZHJlc3MpPgAAqQkMQHBhbGxldF9yZWZlcmVuZGEUdHlwZXMcRGVwb3NpdAgkQWNjb3VudElkAQAcQmFsYW5jZQEYAAgBDHdobwABJEFjY291bnRJZAABGGFtb3VudBgBHEJhbGFuY2UAAK0JBBhPcHRpb24EBFQBqQkBCBBOb25lAAAAEFNvbWUEAKkJAAABAACxCQQYT3B0aW9uBARUAbUJAQgQTm9uZQAAABBTb21lBAC1CQAAAQAAtQkMQHBhbGxldF9yZWZlcmVuZGEUdHlwZXM4RGVjaWRpbmdTdGF0dXMELEJsb2NrTnVtYmVyARAACAEUc2luY2UQASxCbG9ja051bWJlcgABKGNvbmZpcm1pbmdtAQFMT3B0aW9uPEJsb2NrTnVtYmVyPgAAuQkEGE9wdGlvbgQEVAG9CQEIEE5vbmUAAAAQU29tZQQAvQkAAAEAAL0JAAAECBB1AwDBCQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAfEDBFMAAAQAPQYBGFZlYzxUPgAAxQkAAALJCQDJCQAABAjczQkAzQkMQHBhbGxldF9yZWZlcmVuZGEUdHlwZXMkVHJhY2tJbmZvCBxCYWxhbmNlARgYTW9tZW50ARAAJAEQbmFtZRkHATAmJ3N0YXRpYyBzdHIAATBtYXhfZGVjaWRpbmcQAQx1MzIAAUBkZWNpc2lvbl9kZXBvc2l0GAEcQmFsYW5jZQABOHByZXBhcmVfcGVyaW9kEAEYTW9tZW50AAE8ZGVjaXNpb25fcGVyaW9kEAEYTW9tZW50AAE4Y29uZmlybV9wZXJpb2QQARhNb21lbnQAAVBtaW5fZW5hY3RtZW50X3BlcmlvZBABGE1vbWVudAABMG1pbl9hcHByb3ZhbNEJARRDdXJ2ZQABLG1pbl9zdXBwb3J00QkBFEN1cnZlAADRCQxAcGFsbGV0X3JlZmVyZW5kYRR0eXBlcxRDdXJ2ZQABDEBMaW5lYXJEZWNyZWFzaW5nDAEYbGVuZ3Ro1QkBHFBlcmJpbGwAARRmbG9vctUJARxQZXJiaWxsAAEQY2VpbNUJARxQZXJiaWxsAAAARFN0ZXBwZWREZWNyZWFzaW5nEAEUYmVnaW7VCQEcUGVyYmlsbAABDGVuZNUJARxQZXJiaWxsAAEQc3RlcNUJARxQZXJiaWxsAAEYcGVyaW9k1QkBHFBlcmJpbGwAAQAoUmVjaXByb2NhbAwBGGZhY3RvctkJASBGaXhlZEk2NAABIHhfb2Zmc2V02QkBIEZpeGVkSTY0AAEgeV9vZmZzZXTZCQEgRml4ZWRJNjQAAgAA1QkMNHNwX2FyaXRobWV0aWMocGVyX3RoaW5ncxxQZXJiaWxsAAAEABABDHUzMgAA2QkMNHNwX2FyaXRobWV0aWMsZml4ZWRfcG9pbnQgRml4ZWRJNjQAAAQA3QkBDGk2NAAA3QkAAAUMAOEJDEBwYWxsZXRfcmVmZXJlbmRhGHBhbGxldBRFcnJvcggEVAAESQABOChOb3RPbmdvaW5nAAAEaFJlZmVyZW5kdW0gaXMgbm90IG9uZ29pbmcuKEhhc0RlcG9zaXQAAQS4UmVmZXJlbmR1bSdzIGRlY2lzaW9uIGRlcG9zaXQgaXMgYWxyZWFkeSBwYWlkLiBCYWRUcmFjawACBJxUaGUgdHJhY2sgaWRlbnRpZmllciBnaXZlbiB3YXMgaW52YWxpZC4QRnVsbAADBDEBVGhlcmUgYXJlIGFscmVhZHkgYSBmdWxsIGNvbXBsZW1lbnQgb2YgcmVmZXJlbmRhIGluIHByb2dyZXNzIGZvciB0aGlzIHRyYWNrLihRdWV1ZUVtcHR5AAQEgFRoZSBxdWV1ZSBvZiB0aGUgdHJhY2sgaXMgZW1wdHkuNEJhZFJlZmVyZW5kdW0ABQTkVGhlIHJlZmVyZW5kdW0gaW5kZXggcHJvdmlkZWQgaXMgaW52YWxpZCBpbiB0aGlzIGNvbnRleHQuLE5vdGhpbmdUb0RvAAYErFRoZXJlIHdhcyBub3RoaW5nIHRvIGRvIGluIHRoZSBhZHZhbmNlbWVudC4cTm9UcmFjawAHBKBObyB0cmFjayBleGlzdHMgZm9yIHRoZSBwcm9wb3NhbCBvcmlnaW4uKFVuZmluaXNoZWQACAQBAUFueSBkZXBvc2l0IGNhbm5vdCBiZSByZWZ1bmRlZCB1bnRpbCBhZnRlciB0aGUgZGVjaXNpb24gaXMgb3Zlci4wTm9QZXJtaXNzaW9uAAkEqFRoZSBkZXBvc2l0IHJlZnVuZGVyIGlzIG5vdCB0aGUgZGVwb3NpdG9yLiROb0RlcG9zaXQACgTMVGhlIGRlcG9zaXQgY2Fubm90IGJlIHJlZnVuZGVkIHNpbmNlIG5vbmUgd2FzIG1hZGUuJEJhZFN0YXR1cwALBNBUaGUgcmVmZXJlbmR1bSBzdGF0dXMgaXMgaW52YWxpZCBmb3IgdGhpcyBvcGVyYXRpb24uQFByZWltYWdlTm90RXhpc3QADARwVGhlIHByZWltYWdlIGRvZXMgbm90IGV4aXN0LoRQcmVpbWFnZVN0b3JlZFdpdGhEaWZmZXJlbnRMZW5ndGgADQQVAVRoZSBwcmVpbWFnZSBpcyBzdG9yZWQgd2l0aCBhIGRpZmZlcmVudCBsZW5ndGggdGhhbiB0aGUgb25lIHByb3ZpZGVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7lCQxAcGFsbGV0X3doaXRlbGlzdBhwYWxsZXQURXJyb3IEBFQAARRMVW5hdmFpbGFibGVQcmVJbWFnZQAABMhUaGUgcHJlaW1hZ2Ugb2YgdGhlIGNhbGwgaGFzaCBjb3VsZCBub3QgYmUgbG9hZGVkLjxVbmRlY29kYWJsZUNhbGwAAQR4VGhlIGNhbGwgY291bGQgbm90IGJlIGRlY29kZWQuYEludmFsaWRDYWxsV2VpZ2h0V2l0bmVzcwACBOxUaGUgd2VpZ2h0IG9mIHRoZSBkZWNvZGVkIGNhbGwgd2FzIGhpZ2hlciB0aGFuIHRoZSB3aXRuZXNzLlBDYWxsSXNOb3RXaGl0ZWxpc3RlZAADBHRUaGUgY2FsbCB3YXMgbm90IHdoaXRlbGlzdGVkLlhDYWxsQWxyZWFkeVdoaXRlbGlzdGVkAAQEoFRoZSBjYWxsIHdhcyBhbHJlYWR5IHdoaXRlbGlzdGVkOyBOby1PcC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu6QkMVHBhbGxldF9hc3NldF9yZWdpc3RyeRR0eXBlczBBc3NldERldGFpbHMELFN0cmluZ0xpbWl0AAAcARBuYW1lBQMBZE9wdGlvbjxOYW1lPFN0cmluZ0xpbWl0Pj4AAShhc3NldF90eXBlDQMBJEFzc2V0VHlwZQABTGV4aXN0ZW50aWFsX2RlcG9zaXQYARxCYWxhbmNlAAEYc3ltYm9sBQMBbE9wdGlvbjxTeW1ib2w8U3RyaW5nTGltaXQ+PgABIGRlY2ltYWxzEQMBKE9wdGlvbjx1OD4AATh4Y21fcmF0ZV9saW1pdPQBPE9wdGlvbjxCYWxhbmNlPgABNGlzX3N1ZmZpY2llbnQgARBib29sAADtCQxUcGFsbGV0X2Fzc2V0X3JlZ2lzdHJ5GHBhbGxldBRFcnJvcgQEVAABPDROb0lkQXZhaWxhYmxlAAAEcQFBc3NldCBJRCBpcyBub3QgYXZhaWxhYmxlLiBUaGlzIG9ubHkgaGFwcGVucyB3aGVuIGl0IHJlYWNoZXMgdGhlIE1BWCB2YWx1ZSBvZiBnaXZlbiBpZCB0eXBlLjRBc3NldE5vdEZvdW5kAAEEdEludmFsaWQgYXNzZXQgbmFtZSBvciBzeW1ib2wuIFRvb1Nob3J0AAIEyExlbmd0aCBvZiBuYW1lIG9yIHN5bWJvbCBpcyBsZXNzIHRoYW4gbWluLiBsZW5ndGguNEludmFsaWRTeW1ib2wAAwTQQXNzZXQncyBzeW1ib2wgY2FuJ3QgY29udGFpbiB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgLkhBc3NldE5vdFJlZ2lzdGVyZWQABATEQXNzZXQgSUQgaXMgbm90IHJlZ2lzdGVyZWQgaW4gdGhlIGFzc2V0LXJlZ2lzdHJ5LlhBc3NldEFscmVhZHlSZWdpc3RlcmVkAAUEcEFzc2V0IGlzIGFscmVhZHkgcmVnaXN0ZXJlZC5USW52YWxpZFNoYXJlZEFzc2V0TGVuAAYE7EluY29ycmVjdCBudW1iZXIgb2YgYXNzZXRzIHByb3ZpZGVkIHRvIGNyZWF0ZSBzaGFyZWQgYXNzZXQuUENhbm5vdFVwZGF0ZUxvY2F0aW9uAAcEdENhbm5vdCB1cGRhdGUgYXNzZXQgbG9jYXRpb24uSE5vdEluUmVzZXJ2ZWRSYW5nZQAIBKxTZWxlY3RlZCBhc3NldCBpZCBpcyBvdXQgb2YgcmVzZXJ2ZWQgcmFuZ2UuZExvY2F0aW9uQWxyZWFkeVJlZ2lzdGVyZWQACQTETG9jYXRpb24gYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggZGlmZmVyZW50IGFzc2V0LiRGb3JiaWRkZW4ACgSgT3JpZ2luIGlzIGZvcmJpZGRlbiB0byBzZXQvdXBkYXRlIHZhbHVlLkxJbnN1ZmZpY2llbnRCYWxhbmNlAAsEQEJhbGFuY2UgdG9vIGxvdy5oRm9yYmlkZGVuU3VmZmljaWVuY3lDaGFuZ2UADATMU3VmZmljaWVudCBhc3NldHMgY2FuJ3QgYmUgY2hhbmdlZCB0byBpbnN1ZmZpY2llbnQuSEFzc2V0QWxyZWFkeUJhbm5lZAANBGBBc3NldCBpcyBhbHJlYWR5IGJhbm5lZC44QXNzZXROb3RCYW5uZWQADgRQQXNzZXQgaXMgbm90IGJhbm5lZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu8QkMNHBhbGxldF9jbGFpbXMYcGFsbGV0FEVycm9yBARUAAEMYEludmFsaWRFdGhlcmV1bVNpZ25hdHVyZQAABHxFdGhlcmV1bSBzaWduYXR1cmUgaXMgbm90IHZhbGlkXE5vQ2xhaW1PckFscmVhZHlDbGFpbWVkAAEESENsYWltIGlzIG5vdCB2YWxpZDxCYWxhbmNlT3ZlcmZsb3cAAgTcVmFsdWUgcmVhY2hlZCBtYXhpbXVtIGFuZCBjYW5ub3QgYmUgaW5jcmVtZW50ZWQgZnVydGhlcgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC71CQhYcGFsbGV0X2dlbmVzaXNfaGlzdG9yeRRDaGFpbgAACAEwZ2VuZXNpc19oYXNoNAEQSDI1NgABPGxhc3RfYmxvY2tfaGFzaDQBEEgyNTYAAPkJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBAARTAAAEAEUBARhWZWM8VD4AAP0JDFxwYWxsZXRfY29sbGF0b3JfcmV3YXJkcxhwYWxsZXQURXJyb3IEBFQAAQAEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuAQoMPHBhbGxldF9vbW5pcG9vbBR0eXBlcyhBc3NldFN0YXRlBBxCYWxhbmNlARgAFAEsaHViX3Jlc2VydmUYARxCYWxhbmNlAAEYc2hhcmVzGAEcQmFsYW5jZQABPHByb3RvY29sX3NoYXJlcxgBHEJhbGFuY2UAAQxjYXAYARB1MTI4AAEgdHJhZGFibGVNAwEsVHJhZGFiaWxpdHkAAAUKDDxwYWxsZXRfb21uaXBvb2wUdHlwZXMgUG9zaXRpb24IHEJhbGFuY2UBGBxBc3NldElkARAAEAEgYXNzZXRfaWQQARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABGHNoYXJlcxgBHEJhbGFuY2UAARRwcmljZVEDAUgoQmFsYW5jZSwgQmFsYW5jZSkAAAkKDDxwYWxsZXRfb21uaXBvb2wYcGFsbGV0FEVycm9yBARUAAGATEluc3VmZmljaWVudEJhbGFuY2UAAAQ8QmFsYW5jZSB0b28gbG93REFzc2V0QWxyZWFkeUFkZGVkAAEEcEFzc2V0IGlzIGFscmVhZHkgaW4gb21uaXBvb2w0QXNzZXROb3RGb3VuZAACBGBBc3NldCBpcyBub3QgaW4gb21uaXBvb2w4TWlzc2luZ0JhbGFuY2UAAwQZAUZhaWxlZCB0byBhZGQgdG9rZW4gdG8gT21uaXBvb2wgZHVlIHRvIGluc3VmZmljaWVudCBpbml0aWFsIGxpcXVpZGl0eS5gSW52YWxpZEluaXRpYWxBc3NldFByaWNlAAQEcEludmFsaWQgaW5pdGlhbCBhc3NldCBwcmljZS5IQnV5TGltaXROb3RSZWFjaGVkAAUE5FNsaXBwYWdlIHByb3RlY3Rpb24gLSBtaW5pbXVtIGxpbWl0IGhhcyBub3QgYmVlbiByZWFjaGVkLkRTZWxsTGltaXRFeGNlZWRlZAAGBNhTbGlwcGFnZSBwcm90ZWN0aW9uIC0gbWF4aW11bSBsaW1pdCBoYXMgYmVlbiBleGNlZWRlZC5AUG9zaXRpb25Ob3RGb3VuZAAHBHBQb3NpdGlvbiBoYXMgbm90IGJlZW4gZm91bmQuSEluc3VmZmljaWVudFNoYXJlcwAIBHxJbnN1ZmZpY2llbnQgc2hhcmVzIGluIHBvc2l0aW9uKE5vdEFsbG93ZWQACQSIQXNzZXQgaXMgbm90IGFsbG93ZWQgdG8gYmUgdHJhZGVkLiRGb3JiaWRkZW4ACgTEU2lnbmVkIGFjY291bnQgaXMgbm90IG93bmVyIG9mIHBvc2l0aW9uIGluc3RhbmNlLlhBc3NldFdlaWdodENhcEV4Y2VlZGVkAAsEjEFzc2V0IHdlaWdodCBjYXAgaGFzIGJlZW4gZXhjZWVkZWQuSEFzc2V0Tm90UmVnaXN0ZXJlZAAMBKRBc3NldCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBhc3NldCByZWdpc3RyeVRJbnN1ZmZpY2llbnRMaXF1aWRpdHkADQTEUHJvdmlkZWQgbGlxdWlkaXR5IGlzIGJlbG93IG1pbmltdW0gYWxsb3dlZCBsaW1pdGRJbnN1ZmZpY2llbnRUcmFkaW5nQW1vdW50AA4EsFRyYWRlZCBhbW91bnQgaXMgYmVsb3cgbWluaW11bSBhbGxvd2VkIGxpbWl0YFNhbWVBc3NldFRyYWRlTm90QWxsb3dlZAAPBLxTZWxsIG9yIGJ1eSB3aXRoIHNhbWUgYXNzZXQgaWRzIGlzIG5vdCBhbGxvd2VkLkxIdWJBc3NldFVwZGF0ZUVycm9yABAEyExSTkEgdXBkYXRlIGFmdGVyIHRyYWRlIHJlc3VsdHMgaW4gcG9zaXRpdmUgdmFsdWUuTEludmFsaWRTaGFyZXNBbW91bnQAEQSYQW1vdW50IG9mIHNoYXJlcyBwcm92aWRlZCBjYW5ub3QgYmUgMC5wSW52YWxpZEh1YkFzc2V0VHJhZGFibGVTdGF0ZQASBJRIdWIgYXNzZXQgaXMgb25seSBhbGxvd2VkIHRvIGJlIHNvbGQuVEFzc2V0UmVmdW5kTm90QWxsb3dlZAATBJBBc3NldCBpcyBub3QgYWxsb3dlZCB0byBiZSByZWZ1bmRlZC5MTWF4T3V0UmF0aW9FeGNlZWRlZAAUBLxNYXggZnJhY3Rpb24gb2YgYXNzZXQgdG8gYnV5IGhhcyBiZWVuIGV4Y2VlZGVkLkhNYXhJblJhdGlvRXhjZWVkZWQAFQTATWF4IGZyYWN0aW9uIG9mIGFzc2V0IHRvIHNlbGwgaGFzIGJlZW4gZXhjZWVkZWQuWFByaWNlRGlmZmVyZW5jZVRvb0hpZ2gAFgS8TWF4IGFsbG93ZWQgcHJpY2UgZGlmZmVyZW5jZSBoYXMgYmVlbiBleGNlZWRlZC5ISW52YWxpZE9yYWNsZVByaWNlABcEoEludmFsaWQgb3JhY2xlIHByaWNlIC0gZGl2aXNpb24gYnkgemVyby5QSW52YWxpZFdpdGhkcmF3YWxGZWUAGASMRmFpbGVkIHRvIGNhbGN1bGF0ZSB3aXRoZHJhd2FsIGZlZS4wRmVlT3ZlcmRyYWZ0ABkE1E1vcmUgdGhhbiBhbGxvd2VkIGFtb3VudCBvZiBmZWUgaGFzIGJlZW4gdHJhbnNmZXJyZWQuPFNoYXJlc1JlbWFpbmluZwAaBD0BVG9rZW4gY2Fubm90IGJlIHJlbW92ZWQgZnJvbSBPbW5pcG9vbCBkdWUgdG8gc2hhcmVzIHN0aWxsIG93bmVkIGJ5IG90aGVyIHVzZXJzLjhBc3NldE5vdEZyb3plbgAbBAkBVG9rZW4gY2Fubm90IGJlIHJlbW92ZWQgZnJvbSBPbW5pcG9vbCBiZWNhdXNlIGFzc2V0IGlzIG5vdCBmcm96ZW4uNFplcm9BbW91bnRPdXQAHAS4Q2FsY3VsYXRlZCBhbW91bnQgb3V0IGZyb20gc2VsbCB0cmFkZSBpcyB6ZXJvLnhFeGlzdGVudGlhbERlcG9zaXROb3RBdmFpbGFibGUAHQS4RXhpc3RlbnRpYWwgZGVwb3NpdCBvZiBhc3NldCBpcyBub3QgYXZhaWxhYmxlLjRTbGlwcGFnZUxpbWl0AB4ETFNsaXBwYWdlIHByb3RlY3Rpb25YUHJvdG9jb2xGZWVOb3RDb25zdW1lZAAfBKRFeHRyYSBwcm90b2NvbCBmZWUgaGFzIG5vdCBiZWVuIGNvbnN1bWVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4NCgAABAgRChEKABEKDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAFQoMYHBhbGxldF90cmFuc2FjdGlvbl9wYXVzZRhwYWxsZXQURXJyb3IEBFQAAQwsQ2Fubm90UGF1c2UAAAQ0Y2FuIG5vdCBwYXVzZUBJbnZhbGlkQ2hhcmFjdGVyAAEEaGludmFsaWQgY2hhcmFjdGVyIGVuY29kaW5nLE5hbWVUb29Mb25nAAIEoHBhbGxldCBuYW1lIG9yIGZ1bmN0aW9uIG5hbWUgaXMgdG9vIGxvbmcEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuGQoMNHBhbGxldF9kdXN0ZXIYcGFsbGV0FEVycm9yBARUAAEYSEFjY291bnRCbGFja2xpc3RlZAAABIRBY2NvdW50IGlzIGV4Y2x1ZGVkIGZyb20gZHVzdGluZy5UQWNjb3VudE5vdEJsYWNrbGlzdGVkAAEEwEFjY291bnQgaXMgbm90IHByZXNlbnQgaW4gdGhlIG5vbi1kdXN0YWJsZSBsaXN0LixaZXJvQmFsYW5jZQACBFBUaGUgYmFsYW5jZSBpcyB6ZXJvLkRCYWxhbmNlU3VmZmljaWVudAADBLxUaGUgYmFsYW5jZSBpcyBzdWZmaWNpZW50IHRvIGtlZXAgYWNjb3VudCBvcGVuLkREdXN0QWNjb3VudE5vdFNldAAEBGBEdXN0IGFjY291bnQgaXMgbm90IHNldC5QUmVzZXJ2ZUFjY291bnROb3RTZXQABQRsUmVzZXJ2ZSBhY2NvdW50IGlzIG5vdCBzZXQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lh0KDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlczhHbG9iYWxGYXJtRGF0YQgEVAAESQAASAEIaWQQATBHbG9iYWxGYXJtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABKHVwZGF0ZWRfYXQQASxQZXJpb2RPZjxUPgABOHRvdGFsX3NoYXJlc196GAEcQmFsYW5jZQABPGFjY3VtdWxhdGVkX3JwelEBASRGaXhlZFUxMjgAATxyZXdhcmRfY3VycmVuY3kQAShUOjpBc3NldElkAAE8cGVuZGluZ19yZXdhcmRzGAEcQmFsYW5jZQABYGFjY3VtdWxhdGVkX3BhaWRfcmV3YXJkcxgBHEJhbGFuY2UAAUB5aWVsZF9wZXJfcGVyaW9kZQMBLFBlcnF1aW50aWxsAAFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzEAEsUGVyaW9kT2Y8VD4AAURibG9ja3NfcGVyX3BlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAFIaW5jZW50aXZpemVkX2Fzc2V0EAEoVDo6QXNzZXRJZAABVG1heF9yZXdhcmRfcGVyX3BlcmlvZBgBHEJhbGFuY2UAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UAAVhsaXZlX3lpZWxkX2Zhcm1zX2NvdW50EAEMdTMyAAFcdG90YWxfeWllbGRfZmFybXNfY291bnQQAQx1MzIAAUBwcmljZV9hZGp1c3RtZW50UQEBJEZpeGVkVTEyOAABFHN0YXRlIQoBJEZhcm1TdGF0ZQAAIQoMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nFHR5cGVzJEZhcm1TdGF0ZQABDBhBY3RpdmUAAAAcU3RvcHBlZAABAChUZXJtaW5hdGVkAAIAACUKAAAEDBAQEAApCgxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXM0WWllbGRGYXJtRGF0YQgEVAAESQAAMAEIaWQQARhGYXJtSWQAASh1cGRhdGVkX2F0EAEsUGVyaW9kT2Y8VD4AATB0b3RhbF9zaGFyZXMYARxCYWxhbmNlAAFMdG90YWxfdmFsdWVkX3NoYXJlcxgBHEJhbGFuY2UAAUBhY2N1bXVsYXRlZF9ycHZzUQEBJEZpeGVkVTEyOAABPGFjY3VtdWxhdGVkX3JwelEBASRGaXhlZFUxMjgAATRsb3lhbHR5X2N1cnZlaQMBUE9wdGlvbjxMb3lhbHR5Q3VydmU+AAEobXVsdGlwbGllclEBAThGYXJtTXVsdGlwbGllcgABFHN0YXRlIQoBJEZhcm1TdGF0ZQABNGVudHJpZXNfY291bnQwAQx1NjQAAUhsZWZ0X3RvX2Rpc3RyaWJ1dGUYARxCYWxhbmNlAAE0dG90YWxfc3RvcHBlZBABLFBlcmlvZE9mPFQ+AAAtCgxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXMsRGVwb3NpdERhdGEIBFQABEkAAAwBGHNoYXJlcxgBHEJhbGFuY2UAASxhbW1fcG9vbF9pZBABMFQ6OkFtbVBvb2xJZAABSHlpZWxkX2Zhcm1fZW50cmllczEKAfRCb3VuZGVkVmVjPFlpZWxkRmFybUVudHJ5PFQsIEk+LCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AAAxCgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUATUKBFMAAAQAOQoBGFZlYzxUPgAANQoMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nFHR5cGVzOFlpZWxkRmFybUVudHJ5CARUAARJAAAgAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABNHZhbHVlZF9zaGFyZXMYARxCYWxhbmNlAAFAYWNjdW11bGF0ZWRfcnB2c1EBASRGaXhlZFUxMjgAAWxhY2N1bXVsYXRlZF9jbGFpbWVkX3Jld2FyZHMYARxCYWxhbmNlAAEoZW50ZXJlZF9hdBABLFBlcmlvZE9mPFQ+AAEodXBkYXRlZF9hdBABLFBlcmlvZE9mPFQ+AAFMc3RvcHBlZF9hdF9jcmVhdGlvbhABLFBlcmlvZE9mPFQ+AAA5CgAAAjUKAD0KDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQURXJyb3IIBFQABEkAAXRIR2xvYmFsRmFybU5vdEZvdW5kAAAEbEdsb2JhbCBmYXJtIGRvZXMgbm90IGV4aXN0LkRZaWVsZEZhcm1Ob3RGb3VuZAABBGhZaWVsZCBmYXJtIGRvZXMgbm90IGV4aXN0LkxEb3VibGVDbGFpbUluUGVyaW9kAAIEyE11bHRpcGxlIGNsYWltcyBpbiB0aGUgc2FtZSBwZXJpb2QgaXMgbm90IGFsbG93ZWQuXExpcXVpZGl0eU1pbmluZ0NhbmNlbGVkAAMEdExpcXVpZGl0eSBtaW5pbmcgaXMgY2FuY2VsZWQuXExpcXVpZGl0eU1pbmluZ0lzQWN0aXZlAAQEhExpcXVpZGl0eSBtaW5pbmcgaXMgbm90IGNhbmNlbGVkLmxMaXF1aWRpdHlNaW5pbmdJc05vdFN0b3BwZWQABQRVAUxpcXVpZGl0eSBtaW5pbmcgaXMgaW4gYGFjdGl2ZWAgb3IgYHRlcm1pbmF0ZWRgIHN0YXRlIGFuZCBhY3Rpb24gY2Fubm90IGJlIGNvbXBsZXRlZC5QSW52YWxpZERlcG9zaXRBbW91bnQABgR4TFAgc2hhcmVzIGFtb3VudCBpcyBub3QgdmFsaWQuJEZvcmJpZGRlbgAHBKRBY2NvdW50IGlzIG5vdCBhbGxvd2VkIHRvIHBlcmZvcm0gYWN0aW9uLkRJbnZhbGlkTXVsdGlwbGllcgAIBIRZaWVsZCBmYXJtIG11bHRpcGxpZXIgY2FuJ3QgYmUgMC5YWWllbGRGYXJtQWxyZWFkeUV4aXN0cwAJBAkBWWllbGQgZmFybSB3aXRoIGdpdmVuIGBhbW1fcG9vbF9pZGAgYWxyZWFkeSBleGlzdHMgaW4gZ2xvYmFsIGZhcm0ueEludmFsaWRJbml0aWFsUmV3YXJkUGVyY2VudGFnZQAKBD0BTG95YWx0eSBjdXJ2ZSdzIGluaXRpYWwgcmV3YXJkIHBlcmNlbnRhZ2UgaXMgbm90IHZhbGlkLiBWYWxpZCByYW5nZSBpczogWzAsIDEpLlBHbG9iYWxGYXJtSXNOb3RFbXB0eQALBLRPbmUgb3IgbW9yZSB5aWVsZCBmYXJtcyBleGlzdCBpbiBnbG9iYWwgZmFybS5gTWlzc2luZ0luY2VudGl2aXplZEFzc2V0AAwE+EZhcm0ncyBgaW5jZW50aXZpemVkX2Fzc2V0YCBpcyBtaXNzaW5nIGluIHByb3ZpZGVkIGFzc2V0IHBhaXIuhEluc3VmZmljaWVudFJld2FyZEN1cnJlbmN5QmFsYW5jZQANBKhSZXdhcmQgY3VycmVuY3kgYmFsYW5jZSBpcyBub3Qgc3VmZmljaWVudC5YSW52YWxpZEJsb2Nrc1BlclBlcmlvZAAOBHRCbG9ja3MgcGVyIHBlcmlvZCBjYW4ndCBiZSAwLlRJbnZhbGlkWWllbGRQZXJQZXJpb2QADwRwWWllbGQgcGVyIHBlcmlvZCBjYW4ndCBiZSAwLkxJbnZhbGlkVG90YWxSZXdhcmRzABAExFRvdGFsIHJld2FyZHMgaXMgbGVzcyB0aGFuIGBNaW5Ub3RhbEZhcm1SZXdhcmRzYC50SW52YWxpZFBsYW5uZWRZaWVsZGluZ1BlcmlvZHMAEQQJAVBsYW5uZWQgeWllbGRpbmcgcGVyaW9kcyBpcyBsZXNzIHRoYW4gYE1pblBsYW5uZWRZaWVsZGluZ1BlcmlvZHNgLlBNYXhFbnRyaWVzUGVyRGVwb3NpdAASBLBNYXhpbXVtIG51bWJlciBvZiBsb2NrcyByZWFjaGVkIGZvciBkZXBvc2l0LihEb3VibGVMb2NrABME4FRyeWluZyB0byBsb2NrIExQIHNoYXJlcyBpbnRvIGFscmVhZHkgbG9ja2VkIHlpZWxkIGZhcm0uWFlpZWxkRmFybUVudHJ5Tm90Rm91bmQAFATEWWllbGQgZmFybSBlbnRyeSBkb2Vzbid0IGV4aXN0IGZvciBnaXZlbiBkZXBvc2l0LkBHbG9iYWxGYXJtSXNGdWxsABUISQFNYXggbnVtYmVyIG9mIHlpZWxkIGZhcm1zIGluIGdsb2JhbCBmYXJtIHdhcyByZWFjaGVkLiBHbG9iYWwgZmFybSBjYW4ndCBhY2NlcHQgbmV3+HlpZWxkIGZhcm1zIHVudGlsIHNvbWUgeWllbGQgZmFybSBpcyBub3QgcmVtb3ZlZCBmcm9tIHN0b3JhZ2UuREludmFsaWRNaW5EZXBvc2l0ABYEtEludmFsaWQgbWluLiBkZXBvc2l0IHdhcyBzZXQgZm9yIGdsb2JhbCBmYXJtLlhJbnZhbGlkUHJpY2VBZGp1c3RtZW50ABcEnFByaWNlIGFkanVzdG1lbnQgbXVsdGlwbGllciBjYW4ndCBiZSAwLkRFcnJvckdldEFjY291bnRJZAAYBIBBY2NvdW50IGNyZWF0aW9uIGZyb20gaWQgZmFpbGVkLlRJbmNvcnJlY3RWYWx1ZWRTaGFyZXMAGQQlAVZhbHVlIG9mIGRlcG9zaXRlZCBzaGFyZXMgYW1vdW50IGluIHJld2FyZCBjdXJyZW5jeSBpcyBiZWxsb3cgbWluLiBsaW1pdC5sUmV3YXJkQ3VycmVuY3lOb3RSZWdpc3RlcmVkABoE2GByZXdhcmRfY3VycmVuY3lgIGlzIG5vdCByZWdpc3RlcmVkIGluIGFzc2V0IHJlZ2lzdHJ5LnhJbmNlbnRpdml6ZWRBc3NldE5vdFJlZ2lzdGVyZWQAGwTkYGluY2VudGl2aXplZF9hc3NldGAgaXMgbm90IHJlZ2lzdGVyZWQgaW4gYXNzZXQgcmVnaXN0cnkuREluY29uc2lzdGVudFN0YXRlBABBCgFYSW5jb25zaXN0ZW50U3RhdGVFcnJvcgAcCGUBQWN0aW9uIGNhbm5vdCBiZSBjb21wbGV0ZWQgYmVjYXVzZSB1bmV4cGVjdGVkIGVycm9yIGhhcyBvY2N1cnJlZC4gVGhpcyBzaG91bGQgYmUgcmVwb3J0ZWRgdG8gcHJvdG9jb2wgbWFpbnRhaW5lcnMuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LkEKDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxhwYWxsZXRYSW5jb25zaXN0ZW50U3RhdGVFcnJvcgABRERZaWVsZEZhcm1Ob3RGb3VuZAAAAEhHbG9iYWxGYXJtTm90Rm91bmQAAQBQTGlxdWlkaXR5SXNOb3RBY3RpdmUAAgBUR2xvYmFsRmFybUlzTm90QWN0aXZlAAMAPERlcG9zaXROb3RGb3VuZAAEADRJbnZhbGlkUGVyaW9kAAUAbE5vdEVub3VnaFJld2FyZHNJbllpZWxkRmFybQAGAGRJbnZhbGlkTGl2ZVlpZWxGYXJtc0NvdW50AAcAbEludmFsaWRUb3RhbFlpZWxkRmFybXNDb3VudAAIAHBJbnZhbGlkWWllbGRGYXJtRW50cmllc0NvdW50AAkASEludmFsaWRUb3RhbFNoYXJlcwAKAExJbnZhbGlkVmFsdWVkU2hhcmVzAAsATEludmFsaWRUb3RhbFNoYXJlc1oADAB0SW52YWxpZFBhaWRBY2N1bXVsYXRlZFJld2FyZHMADQA0SW52YWxpZEZhcm1JZAAOAGBJbnZhbGlkTG95YWx0eU11bHRpcGxpZXIADwBwTm9FeGlzdGVudGlhbERlcG9zaXRGb3JBc3NldAAQAABFCgyAcGFsbGV0X29tbmlwb29sX2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0FEVycm9yBARUAAEcNEFzc2V0Tm90Rm91bmQAAAR0QXNzZXQgaXMgbm90IGluIHRoZSBvbW5pcG9vbC4kRm9yYmlkZGVuAAEErFNpZ25lZCBhY2NvdW50IGlzIG5vdCBvd25lciBvZiB0aGUgZGVwb3NpdC5IWmVyb0NsYWltZWRSZXdhcmRzAAIEXFJld2FyZHMgdG8gY2xhaW0gYXJlIDAuREluY29uc2lzdGVudFN0YXRlBABJCgFYSW5jb25zaXN0ZW50U3RhdGVFcnJvcgADCGUBQWN0aW9uIGNhbm5vdCBiZSBjb21wbGV0ZWQgYmVjYXVzZSB1bmV4cGVjdGVkIGVycm9yIGhhcyBvY2N1cnJlZC4gVGhpcyBzaG91bGQgYmUgcmVwb3J0ZWRgdG8gcHJvdG9jb2wgbWFpbnRhaW5lcnMuSE9yYWNsZU5vdEF2YWlsYWJsZQAEBLxPcmFjbGUgY291bGQgbm90IGJlIGZvdW5kIGZvciByZXF1ZXN0ZWQgYXNzZXRzLmxQcmljZUFkanVzdG1lbnROb3RBdmFpbGFibGUABQQxAU9yYWNsZSBwcm92aWRpbmcgYHByaWNlX2FkanVzdG1lbnRgIGNvdWxkIG5vdCBiZSBmb3VuZCBmb3IgcmVxdWVzdGVkIGFzc2V0cy5YTm9GYXJtRW50cmllc1NwZWNpZmllZAAGBGhObyBmYXJtcyBzcGVjaWZpZWQgdG8gam9pbgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5JCgyAcGFsbGV0X29tbmlwb29sX2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0WEluY29uc2lzdGVudFN0YXRlRXJyb3IAAQhETWlzc2luZ0xwUG9zaXRpb24AAABMRGVwb3NpdERhdGFOb3RGb3VuZAABAABNCggocGFsbGV0X290YxRPcmRlcggkQWNjb3VudElkAQAcQXNzZXRJZAEQABgBFG93bmVyAAEkQWNjb3VudElkAAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABSHBhcnRpYWxseV9maWxsYWJsZSABEGJvb2wAAFEKDChwYWxsZXRfb3RjGHBhbGxldBRFcnJvcgQEVAABIEhBc3NldE5vdFJlZ2lzdGVyZWQAAASAQXNzZXQgZG9lcyBub3QgZXhpc3QgaW4gcmVnaXN0cnk0T3JkZXJOb3RGb3VuZAABBFRPcmRlciBjYW5ub3QgYmUgZm91bmRET3JkZXJJZE91dE9mQm91bmQAAgSIU2l6ZSBvZiBvcmRlciBJRCBleGNlZWRzIHRoZSBib3VuZGRPcmRlck5vdFBhcnRpYWxseUZpbGxhYmxlAAME+ENhbm5vdCBwYXJ0aWFsbHkgZmlsbCBhbiBvcmRlciB3aGljaCBpcyBub3QgcGFydGlhbGx5IGZpbGxhYmxlTE9yZGVyQW1vdW50VG9vU21hbGwABAxhAU9yZGVyIGFtb3VudF9pbiBhbmQgYW1vdW50X291dCBtdXN0IGF0IGFsbCB0aW1lcyBiZSBncmVhdGVyIHRoYW4gdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXT0Zm9yIHRoZSBhc3NldCBtdWx0aXBsaWVkIGJ5IHRoZSBFeGlzdGVudGlhbERlcG9zaXRNdWx0aXBsaWVyLvBBIGZpbGwgb3JkZXIgbWF5IG5vdCBsZWF2ZSBiZWhpbmQgYW1vdW50cyBzbWFsbGVyIHRoYW4gdGhpcy4kTWF0aEVycm9yAAUEcEVycm9yIHdpdGggbWF0aCBjYWxjdWxhdGlvbnMkRm9yYmlkZGVuAAYE6FRoZSBjYWxsZXIgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGNvbXBsZXRlIHRoZSBhY3Rpb25oSW5zdWZmaWNpZW50UmVzZXJ2ZWRBbW91bnQABwR8UmVzZXJ2ZWQgYW1vdW50IG5vdCBzdWZmaWNpZW50LgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5VCghYcGFsbGV0X2NpcmN1aXRfYnJlYWtlckBUcmFkZVZvbHVtZUxpbWl0BARUAAAMASR2b2x1bWVfaW4YAShUOjpCYWxhbmNlAAEodm9sdW1lX291dBgBKFQ6OkJhbGFuY2UAARRsaW1pdBgBKFQ6OkJhbGFuY2UAAFkKCFhwYWxsZXRfY2lyY3VpdF9icmVha2VyOExpcXVpZGl0eUxpbWl0BARUAAAIASRsaXF1aWRpdHkYAShUOjpCYWxhbmNlAAEUbGltaXQYAShUOjpCYWxhbmNlAABdCgxYcGFsbGV0X2NpcmN1aXRfYnJlYWtlchhwYWxsZXQURXJyb3IEBFQAARhESW52YWxpZExpbWl0VmFsdWUAAATISW52YWxpZCB2YWx1ZSBmb3IgYSBsaW1pdC4gTGltaXQgbXVzdCBiZSBub24temVyby58TGlxdWlkaXR5TGltaXROb3RTdG9yZWRGb3JBc3NldAABBLxBbGxvd2VkIGxpcXVpZGl0eSBsaW1pdCBpcyBub3Qgc3RvcmVkIGZvciBhc3NldGBUb2tlbk91dGZsb3dMaW1pdFJlYWNoZWQAAgS4VG9rZW4gdHJhZGUgb3V0ZmxvdyBwZXIgYmxvY2sgaGFzIGJlZW4gcmVhY2hlZFxUb2tlbkluZmx1eExpbWl0UmVhY2hlZAADBLRUb2tlbiB0cmFkZSBpbmZsdXggcGVyIGJsb2NrIGhhcyBiZWVuIHJlYWNoZWSATWF4TGlxdWlkaXR5TGltaXRQZXJCbG9ja1JlYWNoZWQABATkTWF4aW11bSBwb29sJ3MgbGlxdWlkaXR5IGxpbWl0IHBlciBibG9jayBoYXMgYmVlbiByZWFjaGVkKE5vdEFsbG93ZWQABQSQQXNzZXQgaXMgbm90IGFsbG93ZWQgdG8gaGF2ZSBhIGxpbWl0BIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LmEKDFRwYWxsZXRfcm91dGVfZXhlY3V0b3IYcGFsbGV0FEVycm9yBARUAAEoTFRyYWRpbmdMaW1pdFJlYWNoZWQAAASIVGhlIHRyYWRpbmcgbGltaXQgaGFzIGJlZW4gcmVhY2hlZERNYXhUcmFkZXNFeGNlZWRlZAABBLRUaGUgdGhlIG1heCBudW1iZXIgb2YgdHJhZGVzIGxpbWl0IGlzIHJlYWNoZWRAUG9vbE5vdFN1cHBvcnRlZAACBMhUaGUgQU1NIHBvb2wgaXMgbm90IHN1cHBvcnRlZCBmb3IgZXhlY3V0aW5nIHRyYWRlc0xJbnN1ZmZpY2llbnRCYWxhbmNlAAME0FRoZSB1c2VyIGhhcyBub3QgZW5vdWdoIGJhbGFuY2UgdG8gZXhlY3V0ZSB0aGUgdHJhZGVYUm91dGVDYWxjdWxhdGlvbkZhaWxlZAAEBA0BVGhlIGNhbGN1bGF0aW9uIG9mIHJvdXRlIHRyYWRlIGFtb3VudHMgZmFpbGVkIGluIHRoZSB1bmRlcmx5aW5nIEFNTTBJbnZhbGlkUm91dGUABQRQVGhlIHJvdXRlIGlzIGludmFsaWRoUm91dGVVcGRhdGVJc05vdFN1Y2Nlc3NmdWwABgSMVGhlIHJvdXRlIHVwZGF0ZSB3YXMgbm90IHN1Y2Nlc3NmdWxAUm91dGVIYXNOb09yYWNsZQAHBLRSb3V0ZSBjb250YWlucyBhc3NldHMgdGhhdCBoYXMgbm8gb3JhY2xlIGRhdGFUSW52YWxpZFJvdXRlRXhlY3V0aW9uAAgEwFRoZSByb3V0ZSBleGVjdXRpb24gZmFpbGVkIGluIHRoZSB1bmRlcmx5aW5nIEFNTShOb3RBbGxvd2VkAAkEjFRyYWRpbmcgc2FtZSBhc3NldHMgaXMgbm90IGFsbG93ZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LmUKDExwYWxsZXRfZHluYW1pY19mZWVzFHR5cGVzIEZlZUVudHJ5CAxGZWUBSQMUQmxvY2sBEAAMASRhc3NldF9mZWVJAwEMRmVlAAEwcHJvdG9jb2xfZmVlSQMBDEZlZQABJHRpbWVzdGFtcBABFEJsb2NrAABpCgxMcGFsbGV0X2R5bmFtaWNfZmVlcxR0eXBlcyRGZWVQYXJhbXMEDEZlZQFJAwAQARxtaW5fZmVlSQMBDEZlZQABHG1heF9mZWVJAwEMRmVlAAEUZGVjYXlRAQEkRml4ZWRVMTI4AAE0YW1wbGlmaWNhdGlvblEBASRGaXhlZFUxMjgAAG0KDExwYWxsZXRfZHluYW1pY19mZWVzGHBhbGxldBRFcnJvcgQEVAABAASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5xCgw4cGFsbGV0X3N0YWtpbmcUdHlwZXMsU3Rha2luZ0RhdGEAAAwBLHRvdGFsX3N0YWtlGAEcQmFsYW5jZQABcGFjY3VtdWxhdGVkX3Jld2FyZF9wZXJfc3Rha2VRAQEkRml4ZWRVMTI4AAFQcG90X3Jlc2VydmVkX2JhbGFuY2UYARxCYWxhbmNlAAB1Cgw4cGFsbGV0X3N0YWtpbmcUdHlwZXMgUG9zaXRpb24ELEJsb2NrTnVtYmVyARAAHAEUc3Rha2UYARxCYWxhbmNlAAE0YWN0aW9uX3BvaW50cxgBFFBvaW50AAFAcmV3YXJkX3Blcl9zdGFrZVEBASRGaXhlZFUxMjgAAShjcmVhdGVkX2F0EAEsQmxvY2tOdW1iZXIAAWBhY2N1bXVsYXRlZF9zbGFzaF9wb2ludHMYARRQb2ludAABaGFjY3VtdWxhdGVkX3VucGFpZF9yZXdhcmRzGAEcQmFsYW5jZQABaGFjY3VtdWxhdGVkX2xvY2tlZF9yZXdhcmRzGAEcQmFsYW5jZQAAeQoMOHBhbGxldF9zdGFraW5nFHR5cGVzGFZvdGluZwQgTWF4Vm90ZXMAAAQBFHZvdGVzfQoBtEJvdW5kZWRWZWM8KFJlZmVyZW5kdW1JbmRleCwgVm90ZSksIE1heFZvdGVzPgAAfQoMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGBCgRTAAAEAI0KARhWZWM8VD4AAIEKAAAECBCFCgCFCgw4cGFsbGV0X3N0YWtpbmcUdHlwZXMQVm90ZQAACAEYYW1vdW50GAEcQmFsYW5jZQABKGNvbnZpY3Rpb26JCgEoQ29udmljdGlvbgAAiQoMOHBhbGxldF9zdGFraW5nFHR5cGVzKENvbnZpY3Rpb24AARwQTm9uZQAAACBMb2NrZWQxeAABACBMb2NrZWQyeAACACBMb2NrZWQzeAADACBMb2NrZWQ0eAAEACBMb2NrZWQ1eAAFACBMb2NrZWQ2eAAGAACNCgAAAoEKAJEKDDhwYWxsZXRfc3Rha2luZxhwYWxsZXQURXJyb3IEBFQAATRMSW5zdWZmaWNpZW50QmFsYW5jZQAABExCYWxhbmNlIGlzIHRvbyBsb3cuREluc3VmZmljaWVudFN0YWtlAAEEZFN0YWtlZCBhbW91bnQgaXMgdG9vIGxvdy5AUG9zaXRpb25Ob3RGb3VuZAACBJBTdGFraW5nIHBvc2l0aW9uIGhhcyBub3QgYmVlbiBmb3VuZC48TWF4Vm90ZXNSZWFjaGVkAAME6E1heGltdW0gYW1vdW50IG9mIHZvdGVzIHdlcmUgcmVhY2hlZCBmb3Igc3Rha2luZyBwb3NpdGlvbi44Tm90SW5pdGlhbGl6ZWQABARsU3Rha2luZyBpcyBub3QgaW5pdGlhbGl6ZWQuSEFscmVhZHlJbml0aWFsaXplZAAFBHxTdGFraW5nIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuKEFyaXRobWV0aWMABgREQXJpdGhtZXRpYyBlcnJvci5ETWlzc2luZ1BvdEJhbGFuY2UABwRYUG90J3MgYmFsYW5jZSBpcyB6ZXJvLlRQb3NpdGlvbkFscmVhZHlFeGlzdHMACASIQWNjb3VudCdzIHBvc2l0aW9uIGFscmVhZHkgZXhpc3RzLiRGb3JiaWRkZW4ACQS8U2lnbmVyIGlzIG5vdCBhbiBvd25lciBvZiB0aGUgc3Rha2luZyBwb3NpdGlvbi40RXhpc3RpbmdWb3RlcwAKBIxQb3NpdGlvbiBjb250YWlucyByZWdpc3RlcmVkIHZvdGVzLlhFeGlzdGluZ1Byb2Nlc3NlZFZvdGVzAAsEhQFQb3NpdGlvbiBjb250YWlucyBwcm9jZXNzZWQgdm90ZXMuIFJlbW92ZWQgdGhlc2Ugdm90ZXMgZmlyc3QgYmVmb3JlIGluY3JlYXNpbmcgc3Rha2Ugb3IgY2xhaW1pbmcuREluY29uc2lzdGVudFN0YXRlBACVCgFYSW5jb25zaXN0ZW50U3RhdGVFcnJvcgAMCGUBQWN0aW9uIGNhbm5vdCBiZSBjb21wbGV0ZWQgYmVjYXVzZSB1bmV4cGVjdGVkIGVycm9yIGhhcyBvY2N1cnJlZC4gVGhpcyBzaG91bGQgYmUgcmVwb3J0ZWRgdG8gcHJvdG9jb2wgbWFpbnRhaW5lcnMuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LpUKDDhwYWxsZXRfc3Rha2luZxhwYWxsZXRYSW5jb25zaXN0ZW50U3RhdGVFcnJvcgABFEBQb3NpdGlvbk5vdEZvdW5kAAAAWE5lZ2F0aXZlUGVuZGluZ1Jld2FyZHMAAQBUTmVnYXRpdmVVbnBhaWRSZXdhcmRzAAIAQFRvb01hbnlQb3NpdGlvbnMAAwAoQXJpdGhtZXRpYwAEAACZCgxEcGFsbGV0X3N0YWJsZXN3YXAUdHlwZXMgUG9vbEluZm8IHEFzc2V0SWQBECxCbG9ja051bWJlcgEQABgBGGFzc2V0c8UDAcRCb3VuZGVkVmVjPEFzc2V0SWQsIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AAFUaW5pdGlhbF9hbXBsaWZpY2F0aW9uuQYBKE5vblplcm9VMTYAAUxmaW5hbF9hbXBsaWZpY2F0aW9uuQYBKE5vblplcm9VMTYAATRpbml0aWFsX2Jsb2NrEAEsQmxvY2tOdW1iZXIAASxmaW5hbF9ibG9jaxABLEJsb2NrTnVtYmVyAAEMZmVlSQMBHFBlcm1pbGwAAJ0KBDhSYW5nZUluY2x1c2l2ZQQMSWR4AbkGAAgBFHN0YXJ0uQYBDElkeAABDGVuZLkGAQxJZHgAAKEKDERwYWxsZXRfc3RhYmxlc3dhcBhwYWxsZXQURXJyb3IEBFQAAWw8SW5jb3JyZWN0QXNzZXRzAAAEGQFDcmVhdGluZyBhIHBvb2wgd2l0aCBzYW1lIGFzc2V0cyBvciBsZXNzIHRoYW4gMiBhc3NldHMgaXMgbm90IGFsbG93ZWQuRE1heEFzc2V0c0V4Y2VlZGVkAAEErE1heGltdW0gbnVtYmVyIG9mIGFzc2V0cyBoYXMgYmVlbiBleGNlZWRlZC4wUG9vbE5vdEZvdW5kAAIEoEEgcG9vbCB3aXRoIGdpdmVuIGFzc2V0cyBkb2VzIG5vdCBleGlzdC4oUG9vbEV4aXN0cwADBKBBIHBvb2wgd2l0aCBnaXZlbiBhc3NldHMgYWxyZWFkeSBleGlzdHMuOEFzc2V0Tm90SW5Qb29sAAQEZEFzc2V0IGlzIG5vdCBpbiB0aGUgcG9vbC5cU2hhcmVBc3NldE5vdFJlZ2lzdGVyZWQABQSoU2hhcmUgYXNzZXQgaXMgbm90IHJlZ2lzdGVyZWQgaW4gUmVnaXN0cnkuWFNoYXJlQXNzZXRJblBvb2xBc3NldHMABgTIU2hhcmUgYXNzZXQgaXMgYW1vdW50IGFzc2V0cyB3aGVuIGNyZWF0aW5nIGEgcG9vbC5IQXNzZXROb3RSZWdpc3RlcmVkAAcE2E9uZSBvciBtb3JlIGFzc2V0cyBhcmUgbm90IHJlZ2lzdGVyZWQgaW4gQXNzZXRSZWdpc3RyeUhJbnZhbGlkQXNzZXRBbW91bnQACAQBAUludmFsaWQgYXNzZXQgYW1vdW50IHByb3ZpZGVkLiBBbW91bnQgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVyby5MSW5zdWZmaWNpZW50QmFsYW5jZQAJBORCYWxhbmNlIG9mIGFuIGFzc2V0IGlzIG5vdCBzdWZmaWNpZW50IHRvIHBlcmZvcm0gYSB0cmFkZS5ISW5zdWZmaWNpZW50U2hhcmVzAAoEBQFCYWxhbmNlIG9mIGEgc2hhcmUgYXNzZXQgaXMgbm90IHN1ZmZpY2llbnQgdG8gd2l0aGRyYXcgbGlxdWlkaXR5LlRJbnN1ZmZpY2llbnRMaXF1aWRpdHkACwS8TGlxdWlkaXR5IGhhcyBub3QgcmVhY2hlZCB0aGUgcmVxdWlyZWQgbWluaW11bS54SW5zdWZmaWNpZW50TGlxdWlkaXR5UmVtYWluaW5nAAwE5Eluc3VmZmljaWVudCBsaXF1aWRpdHkgbGVmdCBpbiB0aGUgcG9vbCBhZnRlciB3aXRoZHJhd2FsLmRJbnN1ZmZpY2llbnRUcmFkaW5nQW1vdW50AA0E6EFtb3VudCBpcyBsZXNzIHRoYW4gdGhlIG1pbmltdW0gdHJhZGluZyBhbW91bnQgY29uZmlndXJlZC5IQnV5TGltaXROb3RSZWFjaGVkAA4EwE1pbmltdW0gbGltaXQgaGFzIG5vdCBiZWVuIHJlYWNoZWQgZHVyaW5nIHRyYWRlLkRTZWxsTGltaXRFeGNlZWRlZAAPBLRNYXhpbXVtIGxpbWl0IGhhcyBiZWVuIGV4Y2VlZGVkIGR1cmluZyB0cmFkZS5cSW52YWxpZEluaXRpYWxMaXF1aWRpdHkAEAScSW5pdGlhbCBsaXF1aWRpdHkgb2YgYXNzZXQgbXVzdCBiZSA+IDAuUEludmFsaWRBbXBsaWZpY2F0aW9uABEEqEFtcGxpZmljYXRpb24gaXMgb3V0c2lkZSBjb25maWd1cmVkIHJhbmdlLmBJbnN1ZmZpY2llbnRTaGFyZUJhbGFuY2UAEgQZAVJlbWFpbmluZyBiYWxhbmNlIG9mIHNoYXJlIGFzc2V0IGlzIGJlbG93IGFzc2V0J3MgZXhpc3RlbnRpYWwgZGVwb3NpdC4oTm90QWxsb3dlZAATBMxOb3QgYWxsb3dlZCB0byBwZXJmb3JtIGFuIG9wZXJhdGlvbiBvbiBnaXZlbiBhc3NldC4kUGFzdEJsb2NrABQEjEZ1dHVyZSBibG9jayBudW1iZXIgaXMgaW4gdGhlIHBhc3QuRFNhbWVBbXBsaWZpY2F0aW9uABUExE5ldyBhbXBsaWZpY2F0aW9uIGlzIGVxdWFsIHRvIHRoZSBwcmV2aW91cyB2YWx1ZS40U2xpcHBhZ2VMaW1pdAAWBFBTbGlwcGFnZSBwcm90ZWN0aW9uLjxVbmtub3duRGVjaW1hbHMAFwSIRmFpbGVkIHRvIHJldHJpZXZlIGFzc2V0IGRlY2ltYWxzLlBJbmNvcnJlY3RJbml0aWFsUGVncwAYBIxMaXN0IG9mIHByb3ZpZGVkIHBlZ3MgaXMgaW5jb3JyZWN0LlhNaXNzaW5nVGFyZ2V0UGVnT3JhY2xlABkEgEZhaWxlZCB0byByZXRyaWV2ZSBvcmFjbGUgZW50cnkuWEluY29ycmVjdEFzc2V0RGVjaW1hbHMAGgQlAUNyZWF0aW5nIHBvb2wgd2l0aCBwZWdzIGlzIG5vdCBhbGxvd2VkIGZvciBhc3NldCB3aXRoIGRpZmZlcmVudCBkZWNpbWFscy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQupQoAAAQIEDAAqQoMMHBhbGxldF9ib25kcxhwYWxsZXQURXJyb3IEBFQAARw0Tm90UmVnaXN0ZXJlZAAABExCb25kIG5vdCByZWdpc3RlcmVkJE5vdE1hdHVyZQABBEhCb25kIGlzIG5vdCBtYXR1cmU8SW52YWxpZE1hdHVyaXR5AAIEYE1hdHVyaXR5IG5vdCBsb25nIGVub3VnaDxEaXNhbGxvd2VkQXNzZXQAAwSsQXNzZXQgdHlwZSBub3QgYWxsb3dlZCBmb3IgdW5kZXJseWluZyBhc3NldDRBc3NldE5vdEZvdW5kAAQEqEFzc2V0IGlzIG5vdCByZWdpc3RlcmVkIGluIGBBc3NldFJlZ2lzdHJ5YDxJbnZhbGlkQm9uZE5hbWUABQRwR2VuZXJhdGVkIG5hbWUgaXMgbm90IHZhbGlkLjxGYWlsVG9QYXJzZU5hbWUABgSYQm9uZCdzIG5hbWUgcGFyc2luZyB3YXMgbm93IHN1Y2Nlc3NmdWwEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQurQoMWHBhbGxldF9vdGNfc2V0dGxlbWVudHMYcGFsbGV0FEVycm9yBARUAAEcNE9yZGVyTm90Rm91bmQAAARMT3RjIG9yZGVyIG5vdCBmb3VuZFBOb3RQYXJ0aWFsbHlGaWxsYWJsZQABBIxPVEMgb3JkZXIgaXMgbm90IHBhcnRpYWxseSBmaWxsYWJsZTBJbnZhbGlkUm91dGUAAgS8UHJvdmlkZWQgcm91dGUgZG9lc24ndCBtYXRjaCB0aGUgZXhpc3Rpbmcgcm91dGVQQmFsYW5jZUluY29uc2lzdGVuY3kAAwScSW5pdGlhbCBhbmQgZmluYWwgYmFsYW5jZSBhcmUgZGlmZmVyZW50SFRyYWRlQW1vdW50VG9vSGlnaAAEBIhUcmFkZSBhbW91bnQgaGlnaGVyIHRoYW4gbmVjZXNzYXJ5RFRyYWRlQW1vdW50VG9vTG93AAUEhFRyYWRlIGFtb3VudCBsb3dlciB0aGFuIG5lY2Vzc2FyeURQcmljZU5vdEF2YWlsYWJsZQAGBIhQcmljZSBmb3IgYSByb3V0ZSBpcyBub3QgYXZhaWxhYmxlBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LrEKDChwYWxsZXRfbGJwGHBhbGxldBRFcnJvcgQEVAABXHhDYW5ub3RDcmVhdGVQb29sV2l0aFNhbWVBc3NldHMAAAR8UG9vbCBhc3NldHMgY2FuIG5vdCBiZSB0aGUgc2FtZSBOb3RPd25lcgABBGxBY2NvdW50IGlzIG5vdCBhIHBvb2wgb3duZXIsU2FsZVN0YXJ0ZWQAAgRQU2FsZSBhbHJlYWR5IHN0YXJ0ZWQwU2FsZU5vdEVuZGVkAAMEZFNhbGUgaXMgc3RpbGwgaW4gcHJvZ3Jlc3NAU2FsZUlzTm90UnVubmluZwAEBExTYWxlIGlzIG5vdCBydW5uaW5nXE1heFNhbGVEdXJhdGlvbkV4Y2VlZGVkAAUEZFNhbGUgZHVyYXRpb24gaXMgdG9vIGxvbmdYQ2Fubm90QWRkWmVyb0xpcXVpZGl0eQAGBKBMaXF1aWRpdHkgYmVpbmcgYWRkZWQgc2hvdWxkIG5vdCBiZSB6ZXJvYEluc3VmZmljaWVudEFzc2V0QmFsYW5jZQAHBFRBc3NldCBiYWxhbmNlIHRvbyBsb3cwUG9vbE5vdEZvdW5kAAgETFBvb2wgZG9lcyBub3QgZXhpc3REUG9vbEFscmVhZHlFeGlzdHMACQR0UG9vbCBoYXMgYmVlbiBhbHJlYWR5IGNyZWF0ZWRESW52YWxpZEJsb2NrUmFuZ2UACgRMSW52YWxpZCBibG9jayByYW5nZVhXZWlnaHRDYWxjdWxhdGlvbkVycm9yAAsERENhbGN1bGF0aW9uIGVycm9yNEludmFsaWRXZWlnaHQADARoV2VpZ2h0IHNldCBpcyBvdXQgb2YgcmFuZ2UoWmVyb0Ftb3VudAANBKBDYW4gbm90IHBlcmZvcm0gYSB0cmFkZSB3aXRoIHplcm8gYW1vdW50SE1heEluUmF0aW9FeGNlZWRlZAAOBGBUcmFkZSBhbW91bnQgaXMgdG9vIGhpZ2hMTWF4T3V0UmF0aW9FeGNlZWRlZAAPBGBUcmFkZSBhbW91bnQgaXMgdG9vIGhpZ2hARmVlQW1vdW50SW52YWxpZAAQBEhJbnZhbGlkIGZlZSBhbW91bnRMVHJhZGluZ0xpbWl0UmVhY2hlZAARBFRUcmFkaW5nIGxpbWl0IHJlYWNoZWQgT3ZlcmZsb3cAEgScQW4gdW5leHBlY3RlZCBpbnRlZ2VyIG92ZXJmbG93IG9jY3VycmVkPE5vdGhpbmdUb1VwZGF0ZQATBEROb3RoaW5nIHRvIHVwZGF0ZVRJbnN1ZmZpY2llbnRMaXF1aWRpdHkAFAS8TGlxdWlkaXR5IGhhcyBub3QgcmVhY2hlZCB0aGUgcmVxdWlyZWQgbWluaW11bS5kSW5zdWZmaWNpZW50VHJhZGluZ0Ftb3VudAAVBKhBbW91bnQgaXMgbGVzcyB0aGFuIG1pbmltdW0gdHJhZGluZyBsaW1pdC6ARmVlQ29sbGVjdG9yV2l0aEFzc2V0QWxyZWFkeVVzZWQAFgSwTm90IG1vcmUgdGhhbiBvbmUgZmVlIGNvbGxlY3RvciBwZXIgYXNzZXQgaWQEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQutQoMKHBhbGxldF94eWsYcGFsbGV0FEVycm9yBARUAAFkeENhbm5vdENyZWF0ZVBvb2xXaXRoU2FtZUFzc2V0cwAABNxJdCBpcyBub3QgYWxsb3dlZCB0byBjcmVhdGUgYSBwb29sIGJldHdlZW4gc2FtZSBhc3NldHMuVEluc3VmZmljaWVudExpcXVpZGl0eQABBLxMaXF1aWRpdHkgaGFzIG5vdCByZWFjaGVkIHRoZSByZXF1aXJlZCBtaW5pbXVtLmRJbnN1ZmZpY2llbnRUcmFkaW5nQW1vdW50AAIEmEFtb3VudCBpcyBsZXNzIHRoYW4gbWluIHRyYWRpbmcgbGltaXQuNFplcm9MaXF1aWRpdHkAAwRITGlxdWlkaXR5IGlzIHplcm8uQFplcm9Jbml0aWFsUHJpY2UABAjsSXQgaXMgbm90IGFsbG93ZWQgdG8gY3JlYXRlIGEgcG9vbCB3aXRoIHplcm8gaW5pdGlhbCBwcmljZS6kTm90IHVzZWQsIGtlcHQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlwQ3JlYXRlUG9vbEFzc2V0QW1vdW50SW52YWxpZAAFCCBPdmVyZmxvd6ROb3QgdXNlZCwga2VwdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVhJbnZhbGlkTWludGVkTGlxdWlkaXR5AAYEIE92ZXJmbG93WEludmFsaWRMaXF1aWRpdHlBbW91bnQABwQgT3ZlcmZsb3dgQXNzZXRBbW91bnRFeGNlZWRlZExpbWl0AAgEmEFzc2V0IGFtb3VudCBoYXMgZXhjZWVkZWQgZ2l2ZW4gbGltaXQuaEFzc2V0QW1vdW50Tm90UmVhY2hlZExpbWl0AAkEpEFzc2V0IGFtb3VudCBoYXMgbm90IHJlYWNoZWQgZ2l2ZW4gbGltaXQuYEluc3VmZmljaWVudEFzc2V0QmFsYW5jZQAKBIBBc3NldCBiYWxhbmNlIGlzIG5vdCBzdWZmaWNpZW50LnBJbnN1ZmZpY2llbnRQb29sQXNzZXRCYWxhbmNlAAsEnE5vdCBlbm91Z2ggYXNzZXQgbGlxdWlkaXR5IGluIHRoZSBwb29sLoRJbnN1ZmZpY2llbnROYXRpdmVDdXJyZW5jeUJhbGFuY2UADASwTm90IGVub3VnaCBjb3JlIGFzc2V0IGxpcXVpZGl0eSBpbiB0aGUgcG9vbC5EVG9rZW5Qb29sTm90Rm91bmQADQS8TGlxdWlkaXR5IHBvb2wgZm9yIGdpdmVuIGFzc2V0cyBkb2VzIG5vdCBleGlzdC5YVG9rZW5Qb29sQWxyZWFkeUV4aXN0cwAOBLxMaXF1aWRpdHkgcG9vbCBmb3IgZ2l2ZW4gYXNzZXRzIGFscmVhZHkgZXhpc3RzLlRBZGRBc3NldEFtb3VudEludmFsaWQADwQgT3ZlcmZsb3dgUmVtb3ZlQXNzZXRBbW91bnRJbnZhbGlkABAEIE92ZXJmbG93WFNlbGxBc3NldEFtb3VudEludmFsaWQAEQQgT3ZlcmZsb3dUQnV5QXNzZXRBbW91bnRJbnZhbGlkABIEIE92ZXJmbG93QEZlZUFtb3VudEludmFsaWQAEwQgT3ZlcmZsb3dMQ2Fubm90QXBwbHlEaXNjb3VudAAUBCBPdmVyZmxvd0xNYXhPdXRSYXRpb0V4Y2VlZGVkABUEEQFNYXggZnJhY3Rpb24gb2YgcG9vbCB0byBidXkgaW4gc2luZ2xlIHRyYW5zYWN0aW9uIGhhcyBiZWVuIGV4Y2VlZGVkLkhNYXhJblJhdGlvRXhjZWVkZWQAFgQVAU1heCBmcmFjdGlvbiBvZiBwb29sIHRvIHNlbGwgaW4gc2luZ2xlIHRyYW5zYWN0aW9uIGhhcyBiZWVuIGV4Y2VlZGVkLiBPdmVyZmxvdwAXBCBPdmVyZmxvd0BDYW5ub3RDcmVhdGVQb29sABgEuFBvb2wgY2Fubm90IGJlIGNyZWF0ZWQgZHVlIHRvIG91dHNpZGUgZmFjdG9ycy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuuQoAAAQIAQQYAL0KAAAECBABBADBCgAABAwQGAAAxQoMQHBhbGxldF9yZWZlcnJhbHMYcGFsbGV0FEVycm9yBARUAAE4HFRvb0xvbmcAAARoUmVmZXJyYWwgY29kZSBpcyB0b28gbG9uZy4gVG9vU2hvcnQAAQRsUmVmZXJyYWwgY29kZSBpcyB0b28gc2hvcnQuQEludmFsaWRDaGFyYWN0ZXIAAgRNAVJlZmVycmFsIGNvZGUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIuIE9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYXJlIGFsbG93ZWQuNEFscmVhZHlFeGlzdHMAAwR0UmVmZXJyYWwgY29kZSBhbHJlYWR5IGV4aXN0cy4sSW52YWxpZENvZGUABAQhAVByb3ZpZGVkIHJlZmVycmFsIGNvZGUgaXMgaW52YWxpZC4gRWl0aGVyIGRvZXMgbm90IGV4aXN0IG9yIGlzIHRvbyBsb25nLjRBbHJlYWR5TGlua2VkAAUE2EFjY291bnQgaXMgYWxyZWFkeSBsaW5rZWQgdG8gYW5vdGhlciByZWZlcnJhbCBhY2NvdW50LihaZXJvQW1vdW50AAYEyE5vdGhpbmcgaW4gdGhlIHJlZmVycmFsIHBvdCBhY2NvdW50IGZvciB0aGUgYXNzZXQuOExpbmtOb3RBbGxvd2VkAAcE/ExpbmtpbmcgYW4gYWNjb3VudCB0byB0aGUgc2FtZSByZWZlcnJhbCBhY2NvdW50IGlzIG5vdCBhbGxvd2VkLmhJbmNvcnJlY3RSZXdhcmRDYWxjdWxhdGlvbgAIBJEBQ2FsY3VsYXRlZCByZXdhcmRzIGFyZSBtb3JlIHRoYW4gdGhlIGZlZSBhbW91bnQuIFRoaXMgY2FuIGhhcHBlbiBpZiBwZXJjZW50YWdlcyBhcmUgaW5jb3JyZWN0bHkgc2V0LmRJbmNvcnJlY3RSZXdhcmRQZXJjZW50YWdlAAkE7EdpdmVuIHJlZmVycmVyIGFuZCB0cmFkZXIgcGVyY2VudGFnZXMgZXhjZWVkcyAxMDAlIHBlcmNlbnQuREFscmVhZHlSZWdpc3RlcmVkAAoEqFRoZSBhY2NvdW50IGhhcyBhbHJlYWR5IGEgY29kZSByZWdpc3RlcmVkLjRQcmljZU5vdEZvdW5kAAsElFByaWNlIGZvciBnaXZlbiBhc3NldCBwYWlyIG5vdCBmb3VuZC6QQ29udmVyc2lvbk1pblRyYWRpbmdBbW91bnROb3RSZWFjaGVkAAwE7E1pbmltdW0gdHJhZGluZyBhbW91bnQgZm9yIGNvbnZlcnNpb24gaGFzIG5vdCBiZWVuIHJlYWNoZWQucENvbnZlcnNpb25aZXJvQW1vdW50UmVjZWl2ZWQADQSUWmVybyBhbW91bnQgcmVjZWl2ZWQgZnJvbSBjb252ZXJzaW9uLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7JCgxIcGFsbGV0X2xpcXVpZGF0aW9uGHBhbGxldBRFcnJvcgQEVAABEFRBc3NldENvbnZlcnNpb25GYWlsZWQAAASgQXNzZXRJZCB0byBFVk0gYWRkcmVzcyBjb252ZXJzaW9uIGZhaWxlZFRMaXF1aWRhdGlvbkNhbGxGYWlsZWQAAQRcTGlxdWlkYXRpb24gY2FsbCBmYWlsZWQwSW52YWxpZFJvdXRlAAIEvFByb3ZpZGVkIHJvdXRlIGRvZXNuJ3QgbWF0Y2ggdGhlIGV4aXN0aW5nIHJvdXRlNE5vdFByb2ZpdGFibGUAAwTkTGlxdWlkYXRpb24gd2FzIG5vdCBwcm9maXRhYmxlIGVub3VnaCB0byByZXBheSBmbGFzaCBsb2FuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Ls0KDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQB0QoEUwAABADVCgEYVmVjPFQ+AADRCggsb3JtbF90b2tlbnMsQmFsYW5jZUxvY2sEHEJhbGFuY2UBGAAIAQhpZBUCAThMb2NrSWRlbnRpZmllcgABGGFtb3VudBgBHEJhbGFuY2UAANUKAAAC0QoA2QoILG9ybWxfdG9rZW5zLEFjY291bnREYXRhBBxCYWxhbmNlARgADAEQZnJlZRgBHEJhbGFuY2UAASByZXNlcnZlZBgBHEJhbGFuY2UAARhmcm96ZW4YARxCYWxhbmNlAADdCgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAeEKBFMAAAQA5QoBGFZlYzxUPgAA4QoILG9ybWxfdG9rZW5zLFJlc2VydmVEYXRhCERSZXNlcnZlSWRlbnRpZmllcgEVAhxCYWxhbmNlARgACAEIaWQVAgFEUmVzZXJ2ZUlkZW50aWZpZXIAARhhbW91bnQYARxCYWxhbmNlAADlCgAAAuEKAOkKDCxvcm1sX3Rva2Vucxhtb2R1bGUURXJyb3IEBFQAASA0QmFsYW5jZVRvb0xvdwAABFhUaGUgYmFsYW5jZSBpcyB0b28gbG93XEFtb3VudEludG9CYWxhbmNlRmFpbGVkAAEEnENhbm5vdCBjb252ZXJ0IEFtb3VudCBpbnRvIEJhbGFuY2UgdHlwZVRMaXF1aWRpdHlSZXN0cmljdGlvbnMAAgTQRmFpbGVkIGJlY2F1c2UgbGlxdWlkaXR5IHJlc3RyaWN0aW9ucyBkdWUgdG8gbG9ja2luZ0BNYXhMb2Nrc0V4Y2VlZGVkAAMEtEZhaWxlZCBiZWNhdXNlIHRoZSBtYXhpbXVtIGxvY2tzIHdhcyBleGNlZWRlZCRLZWVwQWxpdmUABASMVHJhbnNmZXIvcGF5bWVudCB3b3VsZCBraWxsIGFjY291bnRIRXhpc3RlbnRpYWxEZXBvc2l0AAUE6FZhbHVlIHRvbyBsb3cgdG8gY3JlYXRlIGFjY291bnQgZHVlIHRvIGV4aXN0ZW50aWFsIGRlcG9zaXQsRGVhZEFjY291bnQABgSIQmVuZWZpY2lhcnkgYWNjb3VudCBtdXN0IHByZS1leGlzdDxUb29NYW55UmVzZXJ2ZXMABwAEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu7QoMRHBhbGxldF9jdXJyZW5jaWVzGG1vZHVsZRRFcnJvcgQEVAABEFxBbW91bnRJbnRvQmFsYW5jZUZhaWxlZAAABLxVbmFibGUgdG8gY29udmVydCB0aGUgQW1vdW50IHR5cGUgaW50byBCYWxhbmNlLjRCYWxhbmNlVG9vTG93AAEETEJhbGFuY2UgaXMgdG9vIGxvdy40RGVwb3NpdEZhaWxlZAACBHhEZXBvc2l0IHJlc3VsdCBpcyBub3QgZXhwZWN0ZWQwTm90U3VwcG9ydGVkAAMEsE9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGlzIGN1cnJlbmN5BIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LvEKDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBHQQEUwAABAAhBAEYVmVjPFQ+AAD1Cgwwb3JtbF92ZXN0aW5nGG1vZHVsZRRFcnJvcgQEVAABGERaZXJvVmVzdGluZ1BlcmlvZAAABFhWZXN0aW5nIHBlcmlvZCBpcyB6ZXJvWFplcm9WZXN0aW5nUGVyaW9kQ291bnQAAQRcTnVtYmVyIG9mIHZlc3RzIGlzIHplcm9kSW5zdWZmaWNpZW50QmFsYW5jZVRvTG9jawACBJhJbnN1ZmZpY2llbnQgYW1vdW50IG9mIGJhbGFuY2UgdG8gbG9ja1xUb29NYW55VmVzdGluZ1NjaGVkdWxlcwADBLBUaGlzIGFjY291bnQgaGF2ZSB0b28gbWFueSB2ZXN0aW5nIHNjaGVkdWxlcyRBbW91bnRMb3cABASUVGhlIHZlc3RlZCB0cmFuc2ZlciBhbW91bnQgaXMgdG9vIGxvd2xNYXhWZXN0aW5nU2NoZWR1bGVzRXhjZWVkZWQABQTkRmFpbGVkIGJlY2F1c2UgdGhlIG1heGltdW0gdmVzdGluZyBzY2hlZHVsZXMgd2FzIGV4Y2VlZGVkBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LvkKCChwYWxsZXRfZXZtMENvZGVNZXRhZGF0YQAACAEQc2l6ZTABDHU2NAABEGhhc2g0ARBIMjU2AAD9CgAABAhVATQAAQsMKHBhbGxldF9ldm0YcGFsbGV0FEVycm9yBARUAAE0KEJhbGFuY2VMb3cAAASQTm90IGVub3VnaCBiYWxhbmNlIHRvIHBlcmZvcm0gYWN0aW9uLEZlZU92ZXJmbG93AAEEgENhbGN1bGF0aW5nIHRvdGFsIGZlZSBvdmVyZmxvd2VkPFBheW1lbnRPdmVyZmxvdwACBJBDYWxjdWxhdGluZyB0b3RhbCBwYXltZW50IG92ZXJmbG93ZWQ4V2l0aGRyYXdGYWlsZWQAAwRMV2l0aGRyYXcgZmVlIGZhaWxlZDhHYXNQcmljZVRvb0xvdwAEBFRHYXMgcHJpY2UgaXMgdG9vIGxvdy4wSW52YWxpZE5vbmNlAAUEQE5vbmNlIGlzIGludmFsaWQ4R2FzTGltaXRUb29Mb3cABgRUR2FzIGxpbWl0IGlzIHRvbyBsb3cuPEdhc0xpbWl0VG9vSGlnaAAHBFhHYXMgbGltaXQgaXMgdG9vIGhpZ2guOEludmFsaWRDaGFpbklkAAgEYFRoZSBjaGFpbiBpZCBpcyBpbnZhbGlkLkBJbnZhbGlkU2lnbmF0dXJlAAkEZHRoZSBzaWduYXR1cmUgaXMgaW52YWxpZC4oUmVlbnRyYW5jeQAKBDhFVk0gcmVlbnRyYW5jeWhUcmFuc2FjdGlvbk11c3RDb21lRnJvbUVPQQALBCRFSVAtMzYwNywkVW5kZWZpbmVkAAwEQFVuZGVmaW5lZCBlcnJvci4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuBQsAAAIJCwAJCwAABAw5BA0LIQsADQsIGGZwX3JwY0RUcmFuc2FjdGlvblN0YXR1cwAAHAFAdHJhbnNhY3Rpb25faGFzaDQBEEgyNTYAAUR0cmFuc2FjdGlvbl9pbmRleBABDHUzMgABEGZyb21VAQEcQWRkcmVzcwABCHRvEQsBPE9wdGlvbjxBZGRyZXNzPgABQGNvbnRyYWN0X2FkZHJlc3MRCwE8T3B0aW9uPEFkZHJlc3M+AAEQbG9ncxULASBWZWM8TG9nPgABKGxvZ3NfYmxvb20ZCwEUQmxvb20AABELBBhPcHRpb24EBFQBVQEBCBBOb25lAAAAEFNvbWUEAFUBAAABAAAVCwAAAv0GABkLCCBldGhibG9vbRRCbG9vbQAABAAdCwFAW3U4OyBCTE9PTV9TSVpFXQAAHQsAAAMAAQAACAAhCwwgZXRoZXJldW0ccmVjZWlwdCRSZWNlaXB0VjMAAQwYTGVnYWN5BAAlCwFERUlQNjU4UmVjZWlwdERhdGEAAAAcRUlQMjkzMAQAJQsBSEVJUDI5MzBSZWNlaXB0RGF0YQABABxFSVAxNTU5BAAlCwFIRUlQMTU1OVJlY2VpcHREYXRhAAIAACULDCBldGhlcmV1bRxyZWNlaXB0REVJUDY1OFJlY2VpcHREYXRhAAAQASxzdGF0dXNfY29kZQgBCHU4AAEgdXNlZF9nYXNdAQEQVTI1NgABKGxvZ3NfYmxvb20ZCwEUQmxvb20AARBsb2dzFQsBIFZlYzxMb2c+AAApCwwgZXRoZXJldW0UYmxvY2sUQmxvY2sEBFQBOQQADAEYaGVhZGVyLQsBGEhlYWRlcgABMHRyYW5zYWN0aW9uczULARhWZWM8VD4AARhvbW1lcnM5CwEsVmVjPEhlYWRlcj4AAC0LDCBldGhlcmV1bRhoZWFkZXIYSGVhZGVyAAA8ASxwYXJlbnRfaGFzaDQBEEgyNTYAASxvbW1lcnNfaGFzaDQBEEgyNTYAASxiZW5lZmljaWFyeVUBARBIMTYwAAEoc3RhdGVfcm9vdDQBEEgyNTYAAUR0cmFuc2FjdGlvbnNfcm9vdDQBEEgyNTYAATRyZWNlaXB0c19yb290NAEQSDI1NgABKGxvZ3NfYmxvb20ZCwEUQmxvb20AAShkaWZmaWN1bHR5XQEBEFUyNTYAARhudW1iZXJdAQEQVTI1NgABJGdhc19saW1pdF0BARBVMjU2AAEgZ2FzX3VzZWRdAQEQVTI1NgABJHRpbWVzdGFtcDABDHU2NAABKGV4dHJhX2RhdGE4ARRCeXRlcwABIG1peF9oYXNoNAEQSDI1NgABFG5vbmNlMQsBDEg2NAAAMQsMOGV0aGVyZXVtX3R5cGVzEGhhc2gMSDY0AAAEABUCARxbdTg7IDhdAAA1CwAAAjkEADkLAAACLQsAPQsAAAIhCwBBCwAAAg0LAEULDDxwYWxsZXRfZXRoZXJldW0YcGFsbGV0FEVycm9yBARUAAEIQEludmFsaWRTaWduYXR1cmUAAARUU2lnbmF0dXJlIGlzIGludmFsaWQuMFByZUxvZ0V4aXN0cwABBNhQcmUtbG9nIGlzIHByZXNlbnQsIHRoZXJlZm9yZSB0cmFuc2FjdCBpcyBub3QgYWxsb3dlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuSQsMTHBhbGxldF9ldm1fYWNjb3VudHMYcGFsbGV0FEVycm9yBARUAAEQbFRydW5jYXRlZEFjY291bnRBbHJlYWR5VXNlZAAABIhBY3RpdmUgRVZNIGFjY291bnQgY2Fubm90IGJlIGJvdW5kTEFkZHJlc3NBbHJlYWR5Qm91bmQAAQRgQWRkcmVzcyBpcyBhbHJlYWR5IGJvdW5kYEJvdW5kQWRkcmVzc0Nhbm5vdEJlVXNlZAACBHBCb3VuZCBhZGRyZXNzIGNhbm5vdCBiZSB1c2VkVEFkZHJlc3NOb3RXaGl0ZWxpc3RlZAADBFxBZGRyZXNzIG5vdCB3aGl0ZWxpc3RlZASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5NCwxscGFsbGV0X3h5a19saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFcnJvcgQEVAABMFBDYW50RmluZERlcG9zaXRPd25lcgAABIhOZnQgcGFsbGV0IGRpZG4ndCByZXR1cm4gYW4gb3duZXIucEluc3VmZmljaWVudFh5a1NoYXJlc0JhbGFuY2UAAQTUQWNjb3VudCBiYWxhbmNlIG9mIFhZSyBwb29sIHNoYXJlcyBpcyBub3Qgc3VmZmljaWVudC5IWHlrUG9vbERvZXNudEV4aXN0AAIEXFhZSyBwb29sIGRvZXMgbm90IGV4aXN0PE5vdERlcG9zaXRPd25lcgADBHRBY2NvdW50IGlzIG5vdCBkZXBvc2l0IG93bmVyLkBDYW50R2V0WHlrQXNzZXRzAAQErFhZSyBkaWQgbm90IHJldHVybiBhc3NldHMgZm9yIGdpdmVuIHBvb2wgaWRMRGVwb3NpdERhdGFOb3RGb3VuZAAFBFhEZXBvc2l0IGRhdGEgbm90IGZvdW5kSFplcm9DbGFpbWVkUmV3YXJkcwAGBIBDYWxjdWxhdGVkIHJld2FyZCB0byBjbGFpbSBpcyAwLkxBc3NldE5vdEluQXNzZXRQYWlyAAcEgEFzc2V0IGlzIG5vdCBpbiB0aGUgYEFzc2V0UGFpcmAuQEludmFsaWRBc3NldFBhaXIACATAUHJvdmlkZWQgYEFzc2V0UGFpcmAgaXMgbm90IHVzZWQgYnkgdGhlIGRlcG9zaXQuSEFzc2V0Tm90UmVnaXN0ZXJlZAAJBKhBc3NldCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBhc3NldCByZWdpc3RyeS44RmFpbFRvR2V0UG90SWQACgSQRmFpbGVkIHRvIGNhbGN1bGF0ZSBgcG90YCdzIGFjY291bnQuQE5vRmFybXNTcGVjaWZpZWQACwTMTm8gZ2xvYmFsIGZhcm0gLSB5aWVsZCBmYXJtIHBhaXJzIHNwZWNpZmllZCB0byBqb2luBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LlELDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlczhHbG9iYWxGYXJtRGF0YQgEVAAESQAASAEIaWQQATBHbG9iYWxGYXJtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABKHVwZGF0ZWRfYXQQASxQZXJpb2RPZjxUPgABOHRvdGFsX3NoYXJlc196GAEcQmFsYW5jZQABPGFjY3VtdWxhdGVkX3JwelEBASRGaXhlZFUxMjgAATxyZXdhcmRfY3VycmVuY3kQAShUOjpBc3NldElkAAE8cGVuZGluZ19yZXdhcmRzGAEcQmFsYW5jZQABYGFjY3VtdWxhdGVkX3BhaWRfcmV3YXJkcxgBHEJhbGFuY2UAAUB5aWVsZF9wZXJfcGVyaW9kZQMBLFBlcnF1aW50aWxsAAFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzEAEsUGVyaW9kT2Y8VD4AAURibG9ja3NfcGVyX3BlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAFIaW5jZW50aXZpemVkX2Fzc2V0EAEoVDo6QXNzZXRJZAABVG1heF9yZXdhcmRfcGVyX3BlcmlvZBgBHEJhbGFuY2UAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UAAVhsaXZlX3lpZWxkX2Zhcm1zX2NvdW50EAEMdTMyAAFcdG90YWxfeWllbGRfZmFybXNfY291bnQQAQx1MzIAAUBwcmljZV9hZGp1c3RtZW50UQEBJEZpeGVkVTEyOAABFHN0YXRlIQoBJEZhcm1TdGF0ZQAAVQsAAAQMABAQAFkLDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlczRZaWVsZEZhcm1EYXRhCARUAARJAAAwAQhpZBABGEZhcm1JZAABKHVwZGF0ZWRfYXQQASxQZXJpb2RPZjxUPgABMHRvdGFsX3NoYXJlcxgBHEJhbGFuY2UAAUx0b3RhbF92YWx1ZWRfc2hhcmVzGAEcQmFsYW5jZQABQGFjY3VtdWxhdGVkX3JwdnNRAQEkRml4ZWRVMTI4AAE8YWNjdW11bGF0ZWRfcnB6UQEBJEZpeGVkVTEyOAABNGxveWFsdHlfY3VydmVpAwFQT3B0aW9uPExveWFsdHlDdXJ2ZT4AAShtdWx0aXBsaWVyUQEBOEZhcm1NdWx0aXBsaWVyAAEUc3RhdGUhCgEkRmFybVN0YXRlAAE0ZW50cmllc19jb3VudDABDHU2NAABSGxlZnRfdG9fZGlzdHJpYnV0ZRgBHEJhbGFuY2UAATR0b3RhbF9zdG9wcGVkEAEsUGVyaW9kT2Y8VD4AAF0LDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlcyxEZXBvc2l0RGF0YQgEVAAESQAADAEYc2hhcmVzGAEcQmFsYW5jZQABLGFtbV9wb29sX2lkAAEwVDo6QW1tUG9vbElkAAFIeWllbGRfZmFybV9lbnRyaWVzYQsB9EJvdW5kZWRWZWM8WWllbGRGYXJtRW50cnk8VCwgST4sIFQ6Ok1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdD4AAGELDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBZQsEUwAABABpCwEYVmVjPFQ+AABlCwxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXM4WWllbGRGYXJtRW50cnkIBFQABEkAACABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAE0dmFsdWVkX3NoYXJlcxgBHEJhbGFuY2UAAUBhY2N1bXVsYXRlZF9ycHZzUQEBJEZpeGVkVTEyOAABbGFjY3VtdWxhdGVkX2NsYWltZWRfcmV3YXJkcxgBHEJhbGFuY2UAAShlbnRlcmVkX2F0EAEsUGVyaW9kT2Y8VD4AASh1cGRhdGVkX2F0EAEsUGVyaW9kT2Y8VD4AAUxzdG9wcGVkX2F0X2NyZWF0aW9uEAEsUGVyaW9kT2Y8VD4AAGkLAAACZQsAbQsMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFcnJvcggEVAAESQABdEhHbG9iYWxGYXJtTm90Rm91bmQAAARsR2xvYmFsIGZhcm0gZG9lcyBub3QgZXhpc3QuRFlpZWxkRmFybU5vdEZvdW5kAAEEaFlpZWxkIGZhcm0gZG9lcyBub3QgZXhpc3QuTERvdWJsZUNsYWltSW5QZXJpb2QAAgTITXVsdGlwbGUgY2xhaW1zIGluIHRoZSBzYW1lIHBlcmlvZCBpcyBub3QgYWxsb3dlZC5cTGlxdWlkaXR5TWluaW5nQ2FuY2VsZWQAAwR0TGlxdWlkaXR5IG1pbmluZyBpcyBjYW5jZWxlZC5cTGlxdWlkaXR5TWluaW5nSXNBY3RpdmUABASETGlxdWlkaXR5IG1pbmluZyBpcyBub3QgY2FuY2VsZWQubExpcXVpZGl0eU1pbmluZ0lzTm90U3RvcHBlZAAFBFUBTGlxdWlkaXR5IG1pbmluZyBpcyBpbiBgYWN0aXZlYCBvciBgdGVybWluYXRlZGAgc3RhdGUgYW5kIGFjdGlvbiBjYW5ub3QgYmUgY29tcGxldGVkLlBJbnZhbGlkRGVwb3NpdEFtb3VudAAGBHhMUCBzaGFyZXMgYW1vdW50IGlzIG5vdCB2YWxpZC4kRm9yYmlkZGVuAAcEpEFjY291bnQgaXMgbm90IGFsbG93ZWQgdG8gcGVyZm9ybSBhY3Rpb24uREludmFsaWRNdWx0aXBsaWVyAAgEhFlpZWxkIGZhcm0gbXVsdGlwbGllciBjYW4ndCBiZSAwLlhZaWVsZEZhcm1BbHJlYWR5RXhpc3RzAAkECQFZaWVsZCBmYXJtIHdpdGggZ2l2ZW4gYGFtbV9wb29sX2lkYCBhbHJlYWR5IGV4aXN0cyBpbiBnbG9iYWwgZmFybS54SW52YWxpZEluaXRpYWxSZXdhcmRQZXJjZW50YWdlAAoEPQFMb3lhbHR5IGN1cnZlJ3MgaW5pdGlhbCByZXdhcmQgcGVyY2VudGFnZSBpcyBub3QgdmFsaWQuIFZhbGlkIHJhbmdlIGlzOiBbMCwgMSkuUEdsb2JhbEZhcm1Jc05vdEVtcHR5AAsEtE9uZSBvciBtb3JlIHlpZWxkIGZhcm1zIGV4aXN0IGluIGdsb2JhbCBmYXJtLmBNaXNzaW5nSW5jZW50aXZpemVkQXNzZXQADAT4RmFybSdzIGBpbmNlbnRpdml6ZWRfYXNzZXRgIGlzIG1pc3NpbmcgaW4gcHJvdmlkZWQgYXNzZXQgcGFpci6ESW5zdWZmaWNpZW50UmV3YXJkQ3VycmVuY3lCYWxhbmNlAA0EqFJld2FyZCBjdXJyZW5jeSBiYWxhbmNlIGlzIG5vdCBzdWZmaWNpZW50LlhJbnZhbGlkQmxvY2tzUGVyUGVyaW9kAA4EdEJsb2NrcyBwZXIgcGVyaW9kIGNhbid0IGJlIDAuVEludmFsaWRZaWVsZFBlclBlcmlvZAAPBHBZaWVsZCBwZXIgcGVyaW9kIGNhbid0IGJlIDAuTEludmFsaWRUb3RhbFJld2FyZHMAEATEVG90YWwgcmV3YXJkcyBpcyBsZXNzIHRoYW4gYE1pblRvdGFsRmFybVJld2FyZHNgLnRJbnZhbGlkUGxhbm5lZFlpZWxkaW5nUGVyaW9kcwARBAkBUGxhbm5lZCB5aWVsZGluZyBwZXJpb2RzIGlzIGxlc3MgdGhhbiBgTWluUGxhbm5lZFlpZWxkaW5nUGVyaW9kc2AuUE1heEVudHJpZXNQZXJEZXBvc2l0ABIEsE1heGltdW0gbnVtYmVyIG9mIGxvY2tzIHJlYWNoZWQgZm9yIGRlcG9zaXQuKERvdWJsZUxvY2sAEwTgVHJ5aW5nIHRvIGxvY2sgTFAgc2hhcmVzIGludG8gYWxyZWFkeSBsb2NrZWQgeWllbGQgZmFybS5YWWllbGRGYXJtRW50cnlOb3RGb3VuZAAUBMRZaWVsZCBmYXJtIGVudHJ5IGRvZXNuJ3QgZXhpc3QgZm9yIGdpdmVuIGRlcG9zaXQuQEdsb2JhbEZhcm1Jc0Z1bGwAFQhJAU1heCBudW1iZXIgb2YgeWllbGQgZmFybXMgaW4gZ2xvYmFsIGZhcm0gd2FzIHJlYWNoZWQuIEdsb2JhbCBmYXJtIGNhbid0IGFjY2VwdCBuZXf4eWllbGQgZmFybXMgdW50aWwgc29tZSB5aWVsZCBmYXJtIGlzIG5vdCByZW1vdmVkIGZyb20gc3RvcmFnZS5ESW52YWxpZE1pbkRlcG9zaXQAFgS0SW52YWxpZCBtaW4uIGRlcG9zaXQgd2FzIHNldCBmb3IgZ2xvYmFsIGZhcm0uWEludmFsaWRQcmljZUFkanVzdG1lbnQAFwScUHJpY2UgYWRqdXN0bWVudCBtdWx0aXBsaWVyIGNhbid0IGJlIDAuREVycm9yR2V0QWNjb3VudElkABgEgEFjY291bnQgY3JlYXRpb24gZnJvbSBpZCBmYWlsZWQuVEluY29ycmVjdFZhbHVlZFNoYXJlcwAZBCUBVmFsdWUgb2YgZGVwb3NpdGVkIHNoYXJlcyBhbW91bnQgaW4gcmV3YXJkIGN1cnJlbmN5IGlzIGJlbGxvdyBtaW4uIGxpbWl0LmxSZXdhcmRDdXJyZW5jeU5vdFJlZ2lzdGVyZWQAGgTYYHJld2FyZF9jdXJyZW5jeWAgaXMgbm90IHJlZ2lzdGVyZWQgaW4gYXNzZXQgcmVnaXN0cnkueEluY2VudGl2aXplZEFzc2V0Tm90UmVnaXN0ZXJlZAAbBORgaW5jZW50aXZpemVkX2Fzc2V0YCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBhc3NldCByZWdpc3RyeS5ESW5jb25zaXN0ZW50U3RhdGUEAEEKAVhJbmNvbnNpc3RlbnRTdGF0ZUVycm9yABwIZQFBY3Rpb24gY2Fubm90IGJlIGNvbXBsZXRlZCBiZWNhdXNlIHVuZXhwZWN0ZWQgZXJyb3IgaGFzIG9jY3VycmVkLiBUaGlzIHNob3VsZCBiZSByZXBvcnRlZGB0byBwcm90b2NvbCBtYWludGFpbmVycy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQucQsMWHBhbGxldF9yZWxheWNoYWluX2luZm8YcGFsbGV0FEVycm9yBARUAAEABIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LnULDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBEARTAAAEAIEDARhWZWM8VD4AAHkLDChwYWxsZXRfZGNhGHBhbGxldBRFcnJvcgQEVAABSEBTY2hlZHVsZU5vdEZvdW5kAAAESFNjaGVkdWxlIG5vdCBleGlzdGBNaW5UcmFkZUFtb3VudE5vdFJlYWNoZWQAAQSMVGhlIG1pbiB0cmFkZSBhbW91bnQgaXMgbm90IHJlYWNoZWQkRm9yYmlkZGVuAAIE2EZvcmJpZGRlbiBhcyB0aGUgdXNlciBpcyBub3QgdGhlIG93bmVyIG9mIHRoZSBzY2hlZHVsZWBCbG9ja051bWJlcklzTm90SW5GdXR1cmUAAwTQVGhlIG5leHQgZXhlY3V0aW9uIGJsb2NrIG51bWJlciBpcyBub3QgaW4gdGhlIGZ1dHVyZTRQcmljZVVuc3RhYmxlAAQENQFQcmljZSBpcyB1bnN0YWJsZSBhcyBwcmljZSBjaGFuZ2UgZnJvbSBvcmFjbGUgZGF0YSBpcyBiaWdnZXIgdGhhbiBtYXggYWxsb3dlZBhCdW1wZWQABQSwT3JkZXIgd2FzIHJhbmRvbWx5IHJlc2NoZWR1bGVkIHRvIG5leHQgYmxvY2tUQ2FsY3VsYXRpbmdQcmljZUVycm9yAAYElEVycm9yIG9jY3VycmVkIHdoZW4gY2FsY3VsYXRpbmcgcHJpY2WEVG90YWxBbW91bnRJc1NtYWxsZXJUaGFuTWluQnVkZ2V0AAcE6FRoZSB0b3RhbCBhbW91bnQgdG8gYmUgcmVzZXJ2ZWQgaXMgc21hbGxlciB0aGFuIG1pbiBidWRnZXQwQnVkZ2V0VG9vTG93AAgE3FRoZSBidWRnZXQgaXMgdG9vIGxvdyBmb3IgZXhlY3V0aW5nIGF0IGxlYXN0IHR3byBvcmRlcnNATm9GcmVlQmxvY2tGb3VuZAAJBMhUaGVyZSBpcyBubyBmcmVlIGJsb2NrIGZvdW5kIHRvIHBsYW4gRENBIGV4ZWN1dGlvbkhNYW51YWxseVRlcm1pbmF0ZWQACgS0VGhlIERDQSBzY2hlZHVsZSBoYXMgYmVlbiBtYW51YWxseSB0ZXJtaW5hdGVkPE1heFJldHJ5UmVhY2hlZAALBKhNYXggbnVtYmVyIG9mIHJldHJpZXMgcmVhY2hlZCBmb3Igc2NoZWR1bGVEVHJhZGVMaW1pdFJlYWNoZWQADATAQWJzb2x1dGVseSB0cmFkZSBsaW1pdCByZWFjaGVkLCBsZWFkaW5nIHRvIHJldHJ5UFNsaXBwYWdlTGltaXRSZWFjaGVkAA0ECQFTbGlwcGFnZSBsaW1pdCBjYWxjdWxhdGVkIGZyb20gb3JhY2xlIGlzIHJlYWNoZWQsIGxlYWRpbmcgdG8gcmV0cnlETm9QYXJlbnRIYXNoRm91bmQADgS4Tm8gcGFyZW50IGhhc2ggaGFzIGJlZW4gZm91bmQgZnJvbSByZWxheSBjaGFpbjBJbnZhbGlkU3RhdGUADwSFAUVycm9yIHRoYXQgc2hvdWxkIG5vdCByZWFsbHkgaGFwcGVuIG9ubHkgaW4gY2FzZSBvZiBpbnZhbGlkIHN0YXRlIG9mIHRoZSBzY2hlZHVsZSBzdG9yYWdlIGVudHJpZXM4UGVyaW9kVG9vU2hvcnQAEASUUGVyaW9kIHNob3VsZCBiZSBsb25nZXIgdGhhbiA1IGJsb2Nrc2RTdGFiaWxpdHlUaHJlc2hvbGRUb29IaWdoABEEWQFTdGFiaWxpdHkgdGhyZXNob2xkIGNhbm5vdCBiZSBoaWdoZXIgdGhhbiBgTWF4Q29uZmlndXJhYmxlUHJpY2VEaWZmZXJlbmNlQmV0d2VlbkJsb2NrYASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC59CwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAYELBFMAAAQAiQsBGFZlYzxUPgAAgQsEGE9wdGlvbgQEVAGFCwEIEE5vbmUAAAAQU29tZQQAhQsAAAEAAIULCEBwYWxsZXRfc2NoZWR1bGVyJFNjaGVkdWxlZBQQTmFtZQEEEENhbGwBIQEsQmxvY2tOdW1iZXIBEDRQYWxsZXRzT3JpZ2luAXkBJEFjY291bnRJZAEAABQBIG1heWJlX2lkPQcBME9wdGlvbjxOYW1lPgABIHByaW9yaXR5CAFIc2NoZWR1bGU6OlByaW9yaXR5AAEQY2FsbCEBARBDYWxsAAE4bWF5YmVfcGVyaW9kaWOdAwGUT3B0aW9uPHNjaGVkdWxlOjpQZXJpb2Q8QmxvY2tOdW1iZXI+PgABGG9yaWdpbnkBATRQYWxsZXRzT3JpZ2luAACJCwAAAoELAI0LCEBwYWxsZXRfc2NoZWR1bGVyLFJldHJ5Q29uZmlnBBhQZXJpb2QBEAAMATR0b3RhbF9yZXRyaWVzCAEIdTgAASRyZW1haW5pbmcIAQh1OAABGHBlcmlvZBABGFBlcmlvZAAAkQsMQHBhbGxldF9zY2hlZHVsZXIYcGFsbGV0FEVycm9yBARUAAEUQEZhaWxlZFRvU2NoZWR1bGUAAARkRmFpbGVkIHRvIHNjaGVkdWxlIGEgY2FsbCBOb3RGb3VuZAABBHxDYW5ub3QgZmluZCB0aGUgc2NoZWR1bGVkIGNhbGwuXFRhcmdldEJsb2NrTnVtYmVySW5QYXN0AAIEpEdpdmVuIHRhcmdldCBibG9jayBudW1iZXIgaXMgaW4gdGhlIHBhc3QuSFJlc2NoZWR1bGVOb0NoYW5nZQADBPBSZXNjaGVkdWxlIGZhaWxlZCBiZWNhdXNlIGl0IGRvZXMgbm90IGNoYW5nZSBzY2hlZHVsZWQgdGltZS4UTmFtZWQABATQQXR0ZW1wdCB0byB1c2UgYSBub24tbmFtZWQgZnVuY3Rpb24gb24gYSBuYW1lZCB0YXNrLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6VCwAAApkLAJkLDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHVuaW5jbHVkZWRfc2VnbWVudCBBbmNlc3RvcgQESAE0AAwBOHVzZWRfYmFuZHdpZHRonQsBNFVzZWRCYW5kd2lkdGgAAThwYXJhX2hlYWRfaGFzaJ0CASRPcHRpb248SD4AAWBjb25zdW1lZF9nb19haGVhZF9zaWduYWyxCwGMT3B0aW9uPHJlbGF5X2NoYWluOjpVcGdyYWRlR29BaGVhZD4AAJ0LDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHVuaW5jbHVkZWRfc2VnbWVudDRVc2VkQmFuZHdpZHRoAAAMATR1bXBfbXNnX2NvdW50EAEMdTMyAAE8dW1wX3RvdGFsX2J5dGVzEAEMdTMyAAE0aHJtcF9vdXRnb2luZ6ELAYxCVHJlZU1hcDxQYXJhSWQsIEhybXBDaGFubmVsVXBkYXRlPgAAoQsEIEJUcmVlTWFwCARLAdUBBFYBpQsABACpCwAAAKULDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHVuaW5jbHVkZWRfc2VnbWVudERIcm1wQ2hhbm5lbFVwZGF0ZQAACAEkbXNnX2NvdW50EAEMdTMyAAEsdG90YWxfYnl0ZXMQAQx1MzIAAKkLAAACrQsArQsAAAQI1QGlCwCxCwQYT3B0aW9uBARUAbULAQgQTm9uZQAAABBTb21lBAC1CwAAAQAAtQsMTHBvbGthZG90X3ByaW1pdGl2ZXMIdjg4VXBncmFkZUdvQWhlYWQAAQgUQWJvcnQAAAAcR29BaGVhZAABAAC5Cwx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbUh1bmluY2x1ZGVkX3NlZ21lbnQ4U2VnbWVudFRyYWNrZXIEBEgBNAAMATh1c2VkX2JhbmR3aWR0aJ0LATRVc2VkQmFuZHdpZHRoAAE4aHJtcF93YXRlcm1hcmttAQGAT3B0aW9uPHJlbGF5X2NoYWluOjpCbG9ja051bWJlcj4AAWBjb25zdW1lZF9nb19haGVhZF9zaWduYWyxCwGMT3B0aW9uPHJlbGF5X2NoYWluOjpVcGdyYWRlR29BaGVhZD4AAL0LBBhPcHRpb24EBFQBwQsBCBBOb25lAAAAEFNvbWUEAMELAAABAADBCwxMcG9sa2Fkb3RfcHJpbWl0aXZlcwh2OEhVcGdyYWRlUmVzdHJpY3Rpb24AAQQcUHJlc2VudAAAAADFCwx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbVByZWxheV9zdGF0ZV9zbmFwc2hvdFhNZXNzYWdpbmdTdGF0ZVNuYXBzaG90AAAQATBkbXFfbXFjX2hlYWQ0AURyZWxheV9jaGFpbjo6SGFzaAABnHJlbGF5X2Rpc3BhdGNoX3F1ZXVlX3JlbWFpbmluZ19jYXBhY2l0eckLAYxSZWxheURpc3BhdGNoUXVldWVSZW1haW5pbmdDYXBhY2l0eQABQGluZ3Jlc3NfY2hhbm5lbHPNCwGIVmVjPChQYXJhSWQsIEFicmlkZ2VkSHJtcENoYW5uZWwpPgABPGVncmVzc19jaGFubmVsc80LAYhWZWM8KFBhcmFJZCwgQWJyaWRnZWRIcm1wQ2hhbm5lbCk+AADJCwx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbVByZWxheV9zdGF0ZV9zbmFwc2hvdIxSZWxheURpc3BhdGNoUXVldWVSZW1haW5pbmdDYXBhY2l0eQAACAE8cmVtYWluaW5nX2NvdW50EAEMdTMyAAE4cmVtYWluaW5nX3NpemUQAQx1MzIAAM0LAAAC0QsA0QsAAAQI1QHVCwDVCwxMcG9sa2Fkb3RfcHJpbWl0aXZlcwh2OExBYnJpZGdlZEhybXBDaGFubmVsAAAYATBtYXhfY2FwYWNpdHkQAQx1MzIAAThtYXhfdG90YWxfc2l6ZRABDHUzMgABQG1heF9tZXNzYWdlX3NpemUQAQx1MzIAASRtc2dfY291bnQQAQx1MzIAASh0b3RhbF9zaXplEAEMdTMyAAEgbXFjX2hlYWSdAgEwT3B0aW9uPEhhc2g+AADZCwxMcG9sa2Fkb3RfcHJpbWl0aXZlcwh2OGRBYnJpZGdlZEhvc3RDb25maWd1cmF0aW9uAAAoATRtYXhfY29kZV9zaXplEAEMdTMyAAFIbWF4X2hlYWRfZGF0YV9zaXplEAEMdTMyAAFYbWF4X3Vwd2FyZF9xdWV1ZV9jb3VudBABDHUzMgABVG1heF91cHdhcmRfcXVldWVfc2l6ZRABDHUzMgABXG1heF91cHdhcmRfbWVzc2FnZV9zaXplEAEMdTMyAAGQbWF4X3Vwd2FyZF9tZXNzYWdlX251bV9wZXJfY2FuZGlkYXRlEAEMdTMyAAGIaHJtcF9tYXhfbWVzc2FnZV9udW1fcGVyX2NhbmRpZGF0ZRABDHUzMgABbHZhbGlkYXRpb25fdXBncmFkZV9jb29sZG93bhABLEJsb2NrTnVtYmVyAAFgdmFsaWRhdGlvbl91cGdyYWRlX2RlbGF5EAEsQmxvY2tOdW1iZXIAAVBhc3luY19iYWNraW5nX3BhcmFtc90LAUhBc3luY0JhY2tpbmdQYXJhbXMAAN0LEExwb2xrYWRvdF9wcmltaXRpdmVzCHY4NGFzeW5jX2JhY2tpbmdIQXN5bmNCYWNraW5nUGFyYW1zAAAIAUxtYXhfY2FuZGlkYXRlX2RlcHRoEAEMdTMyAAFQYWxsb3dlZF9hbmNlc3RyeV9sZW4QAQx1MzIAAOELCJRjdW11bHVzX3ByaW1pdGl2ZXNfcGFyYWNoYWluX2luaGVyZW50RE1lc3NhZ2VRdWV1ZUNoYWluAAAEADQBJFJlbGF5SGFzaAAA5QsEIEJUcmVlTWFwCARLAdUBBFYB4QsABADpCwAAAOkLAAAC7QsA7QsAAAQI1QHhCwDxCwAAAvULAPULCGBwb2xrYWRvdF9jb3JlX3ByaW1pdGl2ZXNMT3V0Ym91bmRIcm1wTWVzc2FnZQQISWQB1QEACAEkcmVjaXBpZW501QEBCElkAAEQZGF0YTgBTGFsbG9jOjp2ZWM6OlZlYzx1OD4AAPkLDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtGHBhbGxldBRFcnJvcgQEVAABIExPdmVybGFwcGluZ1VwZ3JhZGVzAAAEGQFBdHRlbXB0IHRvIHVwZ3JhZGUgdmFsaWRhdGlvbiBmdW5jdGlvbiB3aGlsZSBleGlzdGluZyB1cGdyYWRlIHBlbmRpbmcuUFByb2hpYml0ZWRCeVBvbGthZG90AAEETQFQb2xrYWRvdCBjdXJyZW50bHkgcHJvaGliaXRzIHRoaXMgcGFyYWNoYWluIGZyb20gdXBncmFkaW5nIGl0cyB2YWxpZGF0aW9uIGZ1bmN0aW9uLhhUb29CaWcAAghFAVRoZSBzdXBwbGllZCB2YWxpZGF0aW9uIGZ1bmN0aW9uIGhhcyBjb21waWxlZCBpbnRvIGEgYmxvYiBsYXJnZXIgdGhhbiBQb2xrYWRvdCBpczx3aWxsaW5nIHRvIHJ1bi5oVmFsaWRhdGlvbkRhdGFOb3RBdmFpbGFibGUAAwQdAVRoZSBpbmhlcmVudCB3aGljaCBzdXBwbGllcyB0aGUgdmFsaWRhdGlvbiBkYXRhIGRpZCBub3QgcnVuIHRoaXMgYmxvY2sudEhvc3RDb25maWd1cmF0aW9uTm90QXZhaWxhYmxlAAQEKQFUaGUgaW5oZXJlbnQgd2hpY2ggc3VwcGxpZXMgdGhlIGhvc3QgY29uZmlndXJhdGlvbiBkaWQgbm90IHJ1biB0aGlzIGJsb2NrLjBOb3RTY2hlZHVsZWQABQTYTm8gdmFsaWRhdGlvbiBmdW5jdGlvbiB1cGdyYWRlIGlzIGN1cnJlbnRseSBzY2hlZHVsZWQuRE5vdGhpbmdBdXRob3JpemVkAAYEkE5vIGNvZGUgdXBncmFkZSBoYXMgYmVlbiBhdXRob3JpemVkLjBVbmF1dGhvcml6ZWQABwS8VGhlIGdpdmVuIGNvZGUgdXBncmFkZSBoYXMgbm90IGJlZW4gYXV0aG9yaXplZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu/QsMKHBhbGxldF94Y20YcGFsbGV0LFF1ZXJ5U3RhdHVzBCxCbG9ja051bWJlcgEQAQwcUGVuZGluZxABJHJlc3BvbmRlcskEAURWZXJzaW9uZWRMb2NhdGlvbgABTG1heWJlX21hdGNoX3F1ZXJpZXIBDAFkT3B0aW9uPFZlcnNpb25lZExvY2F0aW9uPgABMG1heWJlX25vdGlmeQUMAUBPcHRpb248KHU4LCB1OCk+AAEcdGltZW91dBABLEJsb2NrTnVtYmVyAAAAPFZlcnNpb25Ob3RpZmllcggBGG9yaWdpbskEAURWZXJzaW9uZWRMb2NhdGlvbgABJGlzX2FjdGl2ZSABEGJvb2wAAQAUUmVhZHkIASByZXNwb25zZQ0MAURWZXJzaW9uZWRSZXNwb25zZQABCGF0EAEsQmxvY2tOdW1iZXIAAgAAAQwEGE9wdGlvbgQEVAHJBAEIEE5vbmUAAAAQU29tZQQAyQQAAAEAAAUMBBhPcHRpb24EBFQBCQwBCBBOb25lAAAAEFNvbWUEAAkMAAABAAAJDAAABAgICAANDAgMeGNtRFZlcnNpb25lZFJlc3BvbnNlAAEMCFYyBAARBQEwdjI6OlJlc3BvbnNlAAIACFYzBABdBQEwdjM6OlJlc3BvbnNlAAMACFY0BADFBQEwdjQ6OlJlc3BvbnNlAAQAABEMAAAECBDJBAAVDAAABAwwKBAAGQwMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEdDARTAAAEACEMARhWZWM8VD4AAB0MAAAECMkEEAAhDAAAAh0MACUMDChwYWxsZXRfeGNtGHBhbGxldFRWZXJzaW9uTWlncmF0aW9uU3RhZ2UAARBcTWlncmF0ZVN1cHBvcnRlZFZlcnNpb24AAABcTWlncmF0ZVZlcnNpb25Ob3RpZmllcnMAAQBQTm90aWZ5Q3VycmVudFRhcmdldHMEACkMATxPcHRpb248VmVjPHU4Pj4AAgBoTWlncmF0ZUFuZE5vdGlmeU9sZFRhcmdldHMAAwAAKQwEGE9wdGlvbgQEVAE4AQgQTm9uZQAAABBTb21lBAA4AAABAAAtDAAABAwQACEGADEMDChwYWxsZXRfeGNtGHBhbGxldGhSZW1vdGVMb2NrZWRGdW5naWJsZVJlY29yZAhIQ29uc3VtZXJJZGVudGlmaWVyAZAwTWF4Q29uc3VtZXJzAAAQARhhbW91bnQYARB1MTI4AAEUb3duZXLJBAFEVmVyc2lvbmVkTG9jYXRpb24AARhsb2NrZXLJBAFEVmVyc2lvbmVkTG9jYXRpb24AASRjb25zdW1lcnM1DAHQQm91bmRlZFZlYzwoQ29uc3VtZXJJZGVudGlmaWVyLCB1MTI4KSwgTWF4Q29uc3VtZXJzPgAANQwMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAE5DARTAAAEAD0MARhWZWM8VD4AADkMAAAECJAYAD0MAAACOQwAQQwMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFFDARTAAAEAEkMARhWZWM8VD4AAEUMAAAECBjJBABJDAAAAkUMAE0MDChwYWxsZXRfeGNtGHBhbGxldBRFcnJvcgQEVAABYCxVbnJlYWNoYWJsZQAACF0BVGhlIGRlc2lyZWQgZGVzdGluYXRpb24gd2FzIHVucmVhY2hhYmxlLCBnZW5lcmFsbHkgYmVjYXVzZSB0aGVyZSBpcyBhIG5vIHdheSBvZiByb3V0aW5nGHRvIGl0LixTZW5kRmFpbHVyZQABCEEBVGhlcmUgd2FzIHNvbWUgb3RoZXIgaXNzdWUgKGkuZS4gbm90IHRvIGRvIHdpdGggcm91dGluZykgaW4gc2VuZGluZyB0aGUgbWVzc2FnZS7IUGVyaGFwcyBhIGxhY2sgb2Ygc3BhY2UgZm9yIGJ1ZmZlcmluZyB0aGUgbWVzc2FnZS4gRmlsdGVyZWQAAgScVGhlIG1lc3NhZ2UgZXhlY3V0aW9uIGZhaWxzIHRoZSBmaWx0ZXIuSFVud2VpZ2hhYmxlTWVzc2FnZQADBLRUaGUgbWVzc2FnZSdzIHdlaWdodCBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZC5gRGVzdGluYXRpb25Ob3RJbnZlcnRpYmxlAAQE3FRoZSBkZXN0aW5hdGlvbiBgTG9jYXRpb25gIHByb3ZpZGVkIGNhbm5vdCBiZSBpbnZlcnRlZC4URW1wdHkABQSAVGhlIGFzc2V0cyB0byBiZSBzZW50IGFyZSBlbXB0eS44Q2Fubm90UmVhbmNob3IABgQ1AUNvdWxkIG5vdCByZS1hbmNob3IgdGhlIGFzc2V0cyB0byBkZWNsYXJlIHRoZSBmZWVzIGZvciB0aGUgZGVzdGluYXRpb24gY2hhaW4uNFRvb01hbnlBc3NldHMABwTEVG9vIG1hbnkgYXNzZXRzIGhhdmUgYmVlbiBhdHRlbXB0ZWQgZm9yIHRyYW5zZmVyLjRJbnZhbGlkT3JpZ2luAAgEeE9yaWdpbiBpcyBpbnZhbGlkIGZvciBzZW5kaW5nLihCYWRWZXJzaW9uAAkEIQFUaGUgdmVyc2lvbiBvZiB0aGUgYFZlcnNpb25lZGAgdmFsdWUgdXNlZCBpcyBub3QgYWJsZSB0byBiZSBpbnRlcnByZXRlZC4sQmFkTG9jYXRpb24ACghBAVRoZSBnaXZlbiBsb2NhdGlvbiBjb3VsZCBub3QgYmUgdXNlZCAoZS5nLiBiZWNhdXNlIGl0IGNhbm5vdCBiZSBleHByZXNzZWQgaW4gdGhlYGRlc2lyZWQgdmVyc2lvbiBvZiBYQ00pLjhOb1N1YnNjcmlwdGlvbgALBLxUaGUgcmVmZXJlbmNlZCBzdWJzY3JpcHRpb24gY291bGQgbm90IGJlIGZvdW5kLkRBbHJlYWR5U3Vic2NyaWJlZAAMBBEBVGhlIGxvY2F0aW9uIGlzIGludmFsaWQgc2luY2UgaXQgYWxyZWFkeSBoYXMgYSBzdWJzY3JpcHRpb24gZnJvbSB1cy5YQ2Fubm90Q2hlY2tPdXRUZWxlcG9ydAANBCkBQ291bGQgbm90IGNoZWNrLW91dCB0aGUgYXNzZXRzIGZvciB0ZWxlcG9ydGF0aW9uIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4oTG93QmFsYW5jZQAOBEEBVGhlIG93bmVyIGRvZXMgbm90IG93biAoYWxsKSBvZiB0aGUgYXNzZXQgdGhhdCB0aGV5IHdpc2ggdG8gZG8gdGhlIG9wZXJhdGlvbiBvbi4wVG9vTWFueUxvY2tzAA8EwFRoZSBhc3NldCBvd25lciBoYXMgdG9vIG1hbnkgbG9ja3Mgb24gdGhlIGFzc2V0LkxBY2NvdW50Tm90U292ZXJlaWduABAEMQFUaGUgZ2l2ZW4gYWNjb3VudCBpcyBub3QgYW4gaWRlbnRpZmlhYmxlIHNvdmVyZWlnbiBhY2NvdW50IGZvciBhbnkgbG9jYXRpb24uKEZlZXNOb3RNZXQAEQQpAVRoZSBvcGVyYXRpb24gcmVxdWlyZWQgZmVlcyB0byBiZSBwYWlkIHdoaWNoIHRoZSBpbml0aWF0b3IgY291bGQgbm90IG1lZXQuMExvY2tOb3RGb3VuZAASBPRBIHJlbW90ZSBsb2NrIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZGF0YSBjb3VsZCBub3QgYmUgZm91bmQuFEluVXNlABMESQFUaGUgdW5sb2NrIG9wZXJhdGlvbiBjYW5ub3Qgc3VjY2VlZCBiZWNhdXNlIHRoZXJlIGFyZSBzdGlsbCBjb25zdW1lcnMgb2YgdGhlIGxvY2suaEludmFsaWRBc3NldFVua25vd25SZXNlcnZlABUE8EludmFsaWQgYXNzZXQsIHJlc2VydmUgY2hhaW4gY291bGQgbm90IGJlIGRldGVybWluZWQgZm9yIGl0LnhJbnZhbGlkQXNzZXRVbnN1cHBvcnRlZFJlc2VydmUAFgRFAUludmFsaWQgYXNzZXQsIGRvIG5vdCBzdXBwb3J0IHJlbW90ZSBhc3NldCByZXNlcnZlcyB3aXRoIGRpZmZlcmVudCBmZWVzIHJlc2VydmVzLjxUb29NYW55UmVzZXJ2ZXMAFwRJAVRvbyBtYW55IGFzc2V0cyB3aXRoIGRpZmZlcmVudCByZXNlcnZlIGxvY2F0aW9ucyBoYXZlIGJlZW4gYXR0ZW1wdGVkIGZvciB0cmFuc2Zlci5gTG9jYWxFeGVjdXRpb25JbmNvbXBsZXRlABgEfExvY2FsIFhDTSBleGVjdXRpb24gaW5jb21wbGV0ZS4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuUQwMTGJvdW5kZWRfY29sbGVjdGlvbnNEYm91bmRlZF9idHJlZV9zZXQ8Qm91bmRlZEJUcmVlU2V0CARUAdUBBFMAAAQAVQwBLEJUcmVlU2V0PFQ+AABVDAQgQlRyZWVTZXQEBFQB1QEABABZDAAAAFkMAAAC1QEAXQwMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFhDARTAAAEAGkMARhWZWM8VD4AAGEMCGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlWE91dGJvdW5kQ2hhbm5lbERldGFpbHMAABQBJHJlY2lwaWVudNUBARhQYXJhSWQAARRzdGF0ZWUMATRPdXRib3VuZFN0YXRlAAE0c2lnbmFsc19leGlzdCABEGJvb2wAASxmaXJzdF9pbmRleNwBDHUxNgABKGxhc3RfaW5kZXjcAQx1MTYAAGUMCGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlNE91dGJvdW5kU3RhdGUAAQgIT2sAAAAkU3VzcGVuZGVkAAEAAGkMAAACYQwAbQwAAAQI1QHcAHEMDExib3VuZGVkX2NvbGxlY3Rpb25zQHdlYWtfYm91bmRlZF92ZWM4V2Vha0JvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAdQwIZGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWU8UXVldWVDb25maWdEYXRhAAAMAURzdXNwZW5kX3RocmVzaG9sZBABDHUzMgABOGRyb3BfdGhyZXNob2xkEAEMdTMyAAFAcmVzdW1lX3RocmVzaG9sZBABDHUzMgAAeQwMZGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWUYcGFsbGV0FEVycm9yBARUAAEUOEJhZFF1ZXVlQ29uZmlnAAAEEQFTZXR0aW5nIHRoZSBxdWV1ZSBjb25maWcgZmFpbGVkIHNpbmNlIG9uZSBvZiBpdHMgdmFsdWVzIHdhcyBpbnZhbGlkLkBBbHJlYWR5U3VzcGVuZGVkAAEEjFRoZSBleGVjdXRpb24gaXMgYWxyZWFkeSBzdXNwZW5kZWQuOEFscmVhZHlSZXN1bWVkAAIEhFRoZSBleGVjdXRpb24gaXMgYWxyZWFkeSByZXN1bWVkLnRUb29NYW55QWN0aXZlT3V0Ym91bmRDaGFubmVscwADBLBUaGVyZSBhcmUgdG9vIG1hbnkgYWN0aXZlIG91dGJvdW5kIGNoYW5uZWxzLhhUb29CaWcABARcVGhlIG1lc3NhZ2UgaXMgdG9vIGJpZy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQufQwIUHBhbGxldF9tZXNzYWdlX3F1ZXVlJEJvb2tTdGF0ZQQ0TWVzc2FnZU9yaWdpbgEtBgAYARRiZWdpbhABJFBhZ2VJbmRleAABDGVuZBABJFBhZ2VJbmRleAABFGNvdW50EAEkUGFnZUluZGV4AAFAcmVhZHlfbmVpZ2hib3Vyc4EMAYRPcHRpb248TmVpZ2hib3VyczxNZXNzYWdlT3JpZ2luPj4AATRtZXNzYWdlX2NvdW50MAEMdTY0AAEQc2l6ZTABDHU2NAAAgQwEGE9wdGlvbgQEVAGFDAEIEE5vbmUAAAAQU29tZQQAhQwAAAEAAIUMCFBwYWxsZXRfbWVzc2FnZV9xdWV1ZShOZWlnaGJvdXJzBDRNZXNzYWdlT3JpZ2luAS0GAAgBEHByZXYtBgE0TWVzc2FnZU9yaWdpbgABEG5leHQtBgE0TWVzc2FnZU9yaWdpbgAAiQwAAAQILQYQAI0MCFBwYWxsZXRfbWVzc2FnZV9xdWV1ZRBQYWdlCBBTaXplARAgSGVhcFNpemUAABgBJHJlbWFpbmluZxABEFNpemUAAThyZW1haW5pbmdfc2l6ZRABEFNpemUAASxmaXJzdF9pbmRleBABEFNpemUAARRmaXJzdBABEFNpemUAARBsYXN0EAEQU2l6ZQABEGhlYXCRDAGcQm91bmRlZFZlYzx1OCwgSW50b1UzMjxIZWFwU2l6ZSwgU2l6ZT4+AACRDAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAJUMDFBwYWxsZXRfbWVzc2FnZV9xdWV1ZRhwYWxsZXQURXJyb3IEBFQAASQsTm90UmVhcGFibGUAAAhJAVBhZ2UgaXMgbm90IHJlYXBhYmxlIGJlY2F1c2UgaXQgaGFzIGl0ZW1zIHJlbWFpbmluZyB0byBiZSBwcm9jZXNzZWQgYW5kIGlzIG5vdCBvbGQcZW5vdWdoLhhOb1BhZ2UAAQSEUGFnZSB0byBiZSByZWFwZWQgZG9lcyBub3QgZXhpc3QuJE5vTWVzc2FnZQACBKhUaGUgcmVmZXJlbmNlZCBtZXNzYWdlIGNvdWxkIG5vdCBiZSBmb3VuZC5AQWxyZWFkeVByb2Nlc3NlZAADBAEBVGhlIG1lc3NhZ2Ugd2FzIGFscmVhZHkgcHJvY2Vzc2VkIGFuZCBjYW5ub3QgYmUgcHJvY2Vzc2VkIGFnYWluLhhRdWV1ZWQABASsVGhlIG1lc3NhZ2UgaXMgcXVldWVkIGZvciBmdXR1cmUgZXhlY3V0aW9uLkhJbnN1ZmZpY2llbnRXZWlnaHQABQQZAVRoZXJlIGlzIHRlbXBvcmFyaWx5IG5vdCBlbm91Z2ggd2VpZ2h0IHRvIGNvbnRpbnVlIHNlcnZpY2luZyBtZXNzYWdlcy5gVGVtcG9yYXJpbHlVbnByb2Nlc3NhYmxlAAYQqFRoaXMgbWVzc2FnZSBpcyB0ZW1wb3JhcmlseSB1bnByb2Nlc3NhYmxlLgBZAVN1Y2ggZXJyb3JzIGFyZSBleHBlY3RlZCwgYnV0IG5vdCBndWFyYW50ZWVkLCB0byByZXNvbHZlIHRoZW1zZWx2ZXMgZXZlbnR1YWxseSB0aHJvdWdoJHJldHJ5aW5nLixRdWV1ZVBhdXNlZAAHDOxUaGUgcXVldWUgaXMgcGF1c2VkIGFuZCBubyBtZXNzYWdlIGNhbiBiZSBleGVjdXRlZCBmcm9tIGl0LgAdAVRoaXMgY2FuIGNoYW5nZSBhdCBhbnkgdGltZSBhbmQgbWF5IHJlc29sdmUgaW4gdGhlIGZ1dHVyZSBieSByZS10cnlpbmcuTFJlY3Vyc2l2ZURpc2FsbG93ZWQACAQxAUFub3RoZXIgY2FsbCBpcyBpbiBwcm9ncmVzcyBhbmQgbmVlZHMgdG8gZmluaXNoIGJlZm9yZSB0aGlzIGNhbGwgY2FuIGhhcHBlbi4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQumQwMIG9ybWxfeGNtGG1vZHVsZRRFcnJvcgQEVAABDCxVbnJlYWNoYWJsZQAACA0BVGhlIG1lc3NhZ2UgYW5kIGRlc3RpbmF0aW9uIGNvbWJpbmF0aW9uIHdhcyBub3QgcmVjb2duaXplZCBhcyBiZWluZyhyZWFjaGFibGUuLFNlbmRGYWlsdXJlAAEIBQFUaGUgbWVzc2FnZSBhbmQgZGVzdGluYXRpb24gd2FzIHJlY29nbml6ZWQgYXMgYmVpbmcgcmVhY2hhYmxlIGJ1dJR0aGUgb3BlcmF0aW9uIGNvdWxkIG5vdCBiZSBjb21wbGV0ZWQuKEJhZFZlcnNpb24AAgjsVGhlIHZlcnNpb24gb2YgdGhlIGBWZXJzaW9uZWRgIHZhbHVlIHVzZWQgaXMgbm90IGFibGUgdG8gYmUwaW50ZXJwcmV0ZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lp0MDDBvcm1sX3h0b2tlbnMYbW9kdWxlFEVycm9yBARUAAFQREFzc2V0SGFzTm9SZXNlcnZlAAAEeEFzc2V0IGhhcyBubyByZXNlcnZlIGxvY2F0aW9uLlROb3RDcm9zc0NoYWluVHJhbnNmZXIAAQRkTm90IGNyb3NzLWNoYWluIHRyYW5zZmVyLixJbnZhbGlkRGVzdAACBHRJbnZhbGlkIHRyYW5zZmVyIGRlc3RpbmF0aW9uLoROb3RDcm9zc0NoYWluVHJhbnNmZXJhYmxlQ3VycmVuY3kAAwSkQ3VycmVuY3kgaXMgbm90IGNyb3NzLWNoYWluIHRyYW5zZmVyYWJsZS5IVW53ZWlnaGFibGVNZXNzYWdlAAQEtFRoZSBtZXNzYWdlJ3Mgd2VpZ2h0IGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkLkhYY21FeGVjdXRpb25GYWlsZWQABQRUWENNIGV4ZWN1dGlvbiBmYWlsZWQuOENhbm5vdFJlYW5jaG9yAAYI6ENvdWxkIG5vdCByZS1hbmNob3IgdGhlIGFzc2V0cyB0byBkZWNsYXJlIHRoZSBmZWVzIGZvciB0aGVIZGVzdGluYXRpb24gY2hhaW4uPEludmFsaWRBbmNlc3RyeQAHBMRDb3VsZCBub3QgZ2V0IGFuY2VzdHJ5IG9mIGFzc2V0IHJlc2VydmUgbG9jYXRpb24uMEludmFsaWRBc3NldAAIBFRUaGUgQXNzZXQgaXMgaW52YWxpZC5gRGVzdGluYXRpb25Ob3RJbnZlcnRpYmxlAAkE3FRoZSBkZXN0aW5hdGlvbiBgTG9jYXRpb25gIHByb3ZpZGVkIGNhbm5vdCBiZSBpbnZlcnRlZC4oQmFkVmVyc2lvbgAKCOxUaGUgdmVyc2lvbiBvZiB0aGUgYFZlcnNpb25lZGAgdmFsdWUgdXNlZCBpcyBub3QgYWJsZSB0byBiZTBpbnRlcnByZXRlZC50RGlzdGluY3RSZXNlcnZlRm9yQXNzZXRBbmRGZWUACwj8V2UgdHJpZWQgc2VuZGluZyBkaXN0aW5jdCBhc3NldCBhbmQgZmVlIGJ1dCB0aGV5IGhhdmUgZGlmZmVyZW50PHJlc2VydmUgY2hhaW5zLhxaZXJvRmVlAAwEQFRoZSBmZWUgaXMgemVyby4oWmVyb0Ftb3VudAANBJRUaGUgdHJhbnNmZXJpbmcgYXNzZXQgYW1vdW50IGlzIHplcm8uWFRvb01hbnlBc3NldHNCZWluZ1NlbnQADgTQVGhlIG51bWJlciBvZiBhc3NldHMgdG8gYmUgc2VudCBpcyBvdmVyIHRoZSBtYXhpbXVtLlRBc3NldEluZGV4Tm9uRXhpc3RlbnQADwTYVGhlIHNwZWNpZmllZCBpbmRleCBkb2VzIG5vdCBleGlzdCBpbiBhIEFzc2V0cyBzdHJ1Y3QuMEZlZU5vdEVub3VnaAAQBEhGZWUgaXMgbm90IGVub3VnaC5QTm90U3VwcG9ydGVkTG9jYXRpb24AEQRYTm90IHN1cHBvcnRlZCBMb2NhdGlvbkxNaW5YY21GZWVOb3REZWZpbmVkABIE1E1pblhjbUZlZSBub3QgcmVnaXN0ZXJlZCBmb3IgY2VydGFpbiByZXNlcnZlIGxvY2F0aW9uLFJhdGVMaW1pdGVkABMEpEFzc2V0IHRyYW5zZmVyIGlzIGxpbWl0ZWQgYnkgUmF0ZUxpbWl0ZXIuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LqEMAAAECJUBlQEApQwAAAQIlQE4AKkMDExvcm1sX3Vua25vd25fdG9rZW5zGG1vZHVsZRRFcnJvcgQEVAABDDRCYWxhbmNlVG9vTG93AAAEXFRoZSBiYWxhbmNlIGlzIHRvbyBsb3cuPEJhbGFuY2VPdmVyZmxvdwABBLRUaGUgb3BlcmF0aW9uIHdpbGwgY2F1c2UgYmFsYW5jZSB0byBvdmVyZmxvdy44VW5oYW5kbGVkQXNzZXQAAgRAVW5oYW5kbGVkIGFzc2V0LgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6tDAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAbEMBFMAAAQAtQwBGFZlYzxUPgAAsQwMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0NENhbmRpZGF0ZUluZm8IJEFjY291bnRJZAEAHEJhbGFuY2UBGAAIAQx3aG8AASRBY2NvdW50SWQAARxkZXBvc2l0GAEcQmFsYW5jZQAAtQwAAAKxDAC5DAxkcGFsbGV0X2NvbGxhdG9yX3NlbGVjdGlvbhhwYWxsZXQURXJyb3IEBFQAAUREVG9vTWFueUNhbmRpZGF0ZXMAAASMVGhlIHBhbGxldCBoYXMgdG9vIG1hbnkgY2FuZGlkYXRlcy5cVG9vRmV3RWxpZ2libGVDb2xsYXRvcnMAAQSsTGVhdmluZyB3b3VsZCByZXN1bHQgaW4gdG9vIGZldyBjYW5kaWRhdGVzLkBBbHJlYWR5Q2FuZGlkYXRlAAIEfEFjY291bnQgaXMgYWxyZWFkeSBhIGNhbmRpZGF0ZS4wTm90Q2FuZGlkYXRlAAMEbEFjY291bnQgaXMgbm90IGEgY2FuZGlkYXRlLlBUb29NYW55SW52dWxuZXJhYmxlcwAEBIRUaGVyZSBhcmUgdG9vIG1hbnkgSW52dWxuZXJhYmxlcy5MQWxyZWFkeUludnVsbmVyYWJsZQAFBIxBY2NvdW50IGlzIGFscmVhZHkgYW4gSW52dWxuZXJhYmxlLjxOb3RJbnZ1bG5lcmFibGUABgR8QWNjb3VudCBpcyBub3QgYW4gSW52dWxuZXJhYmxlLlxOb0Fzc29jaWF0ZWRWYWxpZGF0b3JJZAAHBJxBY2NvdW50IGhhcyBubyBhc3NvY2lhdGVkIHZhbGlkYXRvciBJRC5YVmFsaWRhdG9yTm90UmVnaXN0ZXJlZAAIBIxWYWxpZGF0b3IgSUQgaXMgbm90IHlldCByZWdpc3RlcmVkLmxJbnNlcnRUb0NhbmRpZGF0ZUxpc3RGYWlsZWQACQScQ291bGQgbm90IGluc2VydCBpbiB0aGUgY2FuZGlkYXRlIGxpc3QudFJlbW92ZUZyb21DYW5kaWRhdGVMaXN0RmFpbGVkAAoEpENvdWxkIG5vdCByZW1vdmUgZnJvbSB0aGUgY2FuZGlkYXRlIGxpc3QuNERlcG9zaXRUb29Mb3cACwT0TmV3IGRlcG9zaXQgYW1vdW50IHdvdWxkIGJlIGJlbG93IHRoZSBtaW5pbXVtIGNhbmRpZGFjeSBib25kLmRVcGRhdGVDYW5kaWRhdGVMaXN0RmFpbGVkAAwEkENvdWxkIG5vdCB1cGRhdGUgdGhlIGNhbmRpZGF0ZSBsaXN0LkBJbnN1ZmZpY2llbnRCb25kAA0EKQFEZXBvc2l0IGFtb3VudCBpcyB0b28gbG93IHRvIHRha2UgdGhlIHRhcmdldCdzIHNsb3QgaW4gdGhlIGNhbmRpZGF0ZSBsaXN0LlBUYXJnZXRJc05vdENhbmRpZGF0ZQAOBC0BVGhlIHRhcmdldCBhY2NvdW50IHRvIGJlIHJlcGxhY2VkIGluIHRoZSBjYW5kaWRhdGUgbGlzdCBpcyBub3QgYSBjYW5kaWRhdGUuQElkZW50aWNhbERlcG9zaXQADwQNAVRoZSB1cGRhdGVkIGRlcG9zaXQgYW1vdW50IGlzIGVxdWFsIHRvIHRoZSBhbW91bnQgYWxyZWFkeSByZXNlcnZlZC5ASW52YWxpZFVucmVzZXJ2ZQAQBD0BQ2Fubm90IGxvd2VyIGNhbmRpZGFjeSBib25kIHdoaWxlIG9jY3VweWluZyBhIGZ1dHVyZSBjb2xsYXRvciBzbG90IGluIHRoZSBsaXN0LgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC69DAAAAsEMAMEMAAAECABJBgDFDAAABAjJDDgAyQwMHHNwX2NvcmUYY3J5cHRvJEtleVR5cGVJZAAABABIARxbdTg7IDRdAADNDAw4cGFsbGV0X3Nlc3Npb24YcGFsbGV0FEVycm9yBARUAAEUMEludmFsaWRQcm9vZgAABGBJbnZhbGlkIG93bmVyc2hpcCBwcm9vZi5cTm9Bc3NvY2lhdGVkVmFsaWRhdG9ySWQAAQScTm8gYXNzb2NpYXRlZCB2YWxpZGF0b3IgSUQgZm9yIGFjY291bnQuNER1cGxpY2F0ZWRLZXkAAgRkUmVnaXN0ZXJlZCBkdXBsaWNhdGUga2V5LhhOb0tleXMAAwSkTm8ga2V5cyBhcmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYWNjb3VudC4kTm9BY2NvdW50AAQEGQFLZXkgc2V0dGluZyBhY2NvdW50IGlzIG5vdCBsaXZlLCBzbyBpdCdzIGltcG9zc2libGUgdG8gYXNzb2NpYXRlIGtleXMuBHRFcnJvciBmb3IgdGhlIHNlc3Npb24gcGFsbGV0LtEMDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBTQYEUwAABADVDAEYVmVjPFQ+AADVDAAAAk0GANkMCEhzcF9jb25zZW5zdXNfc2xvdHMQU2xvdAAABAAwAQx1NjQAAN0MAAAECNkMEADhDAxMYm91bmRlZF9jb2xsZWN0aW9uc0Rib3VuZGVkX2J0cmVlX21hcDxCb3VuZGVkQlRyZWVNYXAMBEsB5QwEVgHpDARTAAAEAPkMAThCVHJlZU1hcDxLLCBWPgAA5QwAAAQIFQJ1AwDpDAxEcGFsbGV0X2VtYV9vcmFjbGUUdHlwZXMsT3JhY2xlRW50cnkELEJsb2NrTnVtYmVyARAAEAEUcHJpY2XtDAEUUHJpY2UAARh2b2x1bWXxDAE8Vm9sdW1lPEJhbGFuY2U+AAEkbGlxdWlkaXR59QwBSExpcXVpZGl0eTxCYWxhbmNlPgABKHVwZGF0ZWRfYXQQASxCbG9ja051bWJlcgAA7QwMNGh5ZHJhX2R4X21hdGgUcmF0aW8UUmF0aW8AAAgBBG4YARB1MTI4AAEEZBgBEHUxMjgAAPEMDDhoeWRyYWR4X3RyYWl0cxhvcmFjbGUYVm9sdW1lBBxCYWxhbmNlARgAEAEQYV9pbhgBHEJhbGFuY2UAARRiX291dBgBHEJhbGFuY2UAARRhX291dBgBHEJhbGFuY2UAARBiX2luGAEcQmFsYW5jZQAA9QwMOGh5ZHJhZHhfdHJhaXRzGG9yYWNsZSRMaXF1aWRpdHkEHEJhbGFuY2UBGAAIAQRhGAEcQmFsYW5jZQABBGIYARxCYWxhbmNlAAD5DAQgQlRyZWVNYXAIBEsB5QwEVgHpDAAEAP0MAAAA/QwAAAIBDQABDQAABAjlDOkMAAUNAAAEDBUCdQPZAwAJDQAABAjpDBAADQ0MTGJvdW5kZWRfY29sbGVjdGlvbnNEYm91bmRlZF9idHJlZV9zZXQ8Qm91bmRlZEJUcmVlU2V0CARUAeUMBFMAAAQAEQ0BLEJUcmVlU2V0PFQ+AAARDQQgQlRyZWVTZXQEBFQB5QwABAAVDQAAABUNAAAC5QwAGQ0MRHBhbGxldF9lbWFfb3JhY2xlGHBhbGxldBRFcnJvcgQEVAABFFBUb29NYW55VW5pcXVlRW50cmllcwAAAEBPblRyYWRlVmFsdWVaZXJvAAEAOE9yYWNsZU5vdEZvdW5kAAIANEFzc2V0Tm90Rm91bmQAAwQ8QXNzZXQgbm90IGZvdW5kYFByaWNlT3V0c2lkZUFsbG93ZWRSYW5nZQAEBLhUaGUgbmV3IHByaWNlIGlzIG91dHNpZGUgdGhlIG1heCBhbGxvd2VkIHJhbmdlBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lh0NDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBmQcEUwAABACVBwEYVmVjPFQ+AAAhDQxAcGFsbGV0X2Jyb2FkY2FzdBhwYWxsZXQURXJyb3IEBFQAAQhoRXhlY3V0aW9uQ2FsbFN0YWNrT3ZlcmZsb3cAAAT0VGhlIGV4ZWN1dGlvbiBjb250ZXh0IGNhbGwgc3RhY2sgaGFzIHJlYWNoZWQgaXRzIG1heGltdW0gc2l6ZWxFeGVjdXRpb25DYWxsU3RhY2tVbmRlcmZsb3cAAQQNAVRoZSBleGVjdXRpb24gY29udGV4dCBjYWxsIHN0YWNrIGlzIGVtcHR5LCB1bmFibGUgdG8gZGVjcmVhc2UgbGV2ZWwEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuJQ0AAAQoKQ0tDTENNQ05DUENRQ1JDU0NUQ0AKQ0QMGZyYW1lX3N5c3RlbShleHRlbnNpb25zVGNoZWNrX25vbl96ZXJvX3NlbmRlckhDaGVja05vblplcm9TZW5kZXIEBFQAAAAALQ0QMGZyYW1lX3N5c3RlbShleHRlbnNpb25zSGNoZWNrX3NwZWNfdmVyc2lvbkBDaGVja1NwZWNWZXJzaW9uBARUAAAAADENEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uc0BjaGVja190eF92ZXJzaW9uOENoZWNrVHhWZXJzaW9uBARUAAAAADUNEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uczRjaGVja19nZW5lc2lzMENoZWNrR2VuZXNpcwQEVAAAAAA5DRAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnM8Y2hlY2tfbW9ydGFsaXR5OENoZWNrTW9ydGFsaXR5BARUAAAEAD0NAQxFcmEAAD0NEChzcF9ydW50aW1lHGdlbmVyaWMMZXJhDEVyYQABAQQgSW1tb3J0YWwAAAAcTW9ydGFsMQQACAAAAQAcTW9ydGFsMgQACAAAAgAcTW9ydGFsMwQACAAAAwAcTW9ydGFsNAQACAAABAAcTW9ydGFsNQQACAAABQAcTW9ydGFsNgQACAAABgAcTW9ydGFsNwQACAAABwAcTW9ydGFsOAQACAAACAAcTW9ydGFsOQQACAAACQAgTW9ydGFsMTAEAAgAAAoAIE1vcnRhbDExBAAIAAALACBNb3J0YWwxMgQACAAADAAgTW9ydGFsMTMEAAgAAA0AIE1vcnRhbDE0BAAIAAAOACBNb3J0YWwxNQQACAAADwAgTW9ydGFsMTYEAAgAABAAIE1vcnRhbDE3BAAIAAARACBNb3J0YWwxOAQACAAAEgAgTW9ydGFsMTkEAAgAABMAIE1vcnRhbDIwBAAIAAAUACBNb3J0YWwyMQQACAAAFQAgTW9ydGFsMjIEAAgAABYAIE1vcnRhbDIzBAAIAAAXACBNb3J0YWwyNAQACAAAGAAgTW9ydGFsMjUEAAgAABkAIE1vcnRhbDI2BAAIAAAaACBNb3J0YWwyNwQACAAAGwAgTW9ydGFsMjgEAAgAABwAIE1vcnRhbDI5BAAIAAAdACBNb3J0YWwzMAQACAAAHgAgTW9ydGFsMzEEAAgAAB8AIE1vcnRhbDMyBAAIAAAgACBNb3J0YWwzMwQACAAAIQAgTW9ydGFsMzQEAAgAACIAIE1vcnRhbDM1BAAIAAAjACBNb3J0YWwzNgQACAAAJAAgTW9ydGFsMzcEAAgAACUAIE1vcnRhbDM4BAAIAAAmACBNb3J0YWwzOQQACAAAJwAgTW9ydGFsNDAEAAgAACgAIE1vcnRhbDQxBAAIAAApACBNb3J0YWw0MgQACAAAKgAgTW9ydGFsNDMEAAgAACsAIE1vcnRhbDQ0BAAIAAAsACBNb3J0YWw0NQQACAAALQAgTW9ydGFsNDYEAAgAAC4AIE1vcnRhbDQ3BAAIAAAvACBNb3J0YWw0OAQACAAAMAAgTW9ydGFsNDkEAAgAADEAIE1vcnRhbDUwBAAIAAAyACBNb3J0YWw1MQQACAAAMwAgTW9ydGFsNTIEAAgAADQAIE1vcnRhbDUzBAAIAAA1ACBNb3J0YWw1NAQACAAANgAgTW9ydGFsNTUEAAgAADcAIE1vcnRhbDU2BAAIAAA4ACBNb3J0YWw1NwQACAAAOQAgTW9ydGFsNTgEAAgAADoAIE1vcnRhbDU5BAAIAAA7ACBNb3J0YWw2MAQACAAAPAAgTW9ydGFsNjEEAAgAAD0AIE1vcnRhbDYyBAAIAAA+ACBNb3J0YWw2MwQACAAAPwAgTW9ydGFsNjQEAAgAAEAAIE1vcnRhbDY1BAAIAABBACBNb3J0YWw2NgQACAAAQgAgTW9ydGFsNjcEAAgAAEMAIE1vcnRhbDY4BAAIAABEACBNb3J0YWw2OQQACAAARQAgTW9ydGFsNzAEAAgAAEYAIE1vcnRhbDcxBAAIAABHACBNb3J0YWw3MgQACAAASAAgTW9ydGFsNzMEAAgAAEkAIE1vcnRhbDc0BAAIAABKACBNb3J0YWw3NQQACAAASwAgTW9ydGFsNzYEAAgAAEwAIE1vcnRhbDc3BAAIAABNACBNb3J0YWw3OAQACAAATgAgTW9ydGFsNzkEAAgAAE8AIE1vcnRhbDgwBAAIAABQACBNb3J0YWw4MQQACAAAUQAgTW9ydGFsODIEAAgAAFIAIE1vcnRhbDgzBAAIAABTACBNb3J0YWw4NAQACAAAVAAgTW9ydGFsODUEAAgAAFUAIE1vcnRhbDg2BAAIAABWACBNb3J0YWw4NwQACAAAVwAgTW9ydGFsODgEAAgAAFgAIE1vcnRhbDg5BAAIAABZACBNb3J0YWw5MAQACAAAWgAgTW9ydGFsOTEEAAgAAFsAIE1vcnRhbDkyBAAIAABcACBNb3J0YWw5MwQACAAAXQAgTW9ydGFsOTQEAAgAAF4AIE1vcnRhbDk1BAAIAABfACBNb3J0YWw5NgQACAAAYAAgTW9ydGFsOTcEAAgAAGEAIE1vcnRhbDk4BAAIAABiACBNb3J0YWw5OQQACAAAYwAkTW9ydGFsMTAwBAAIAABkACRNb3J0YWwxMDEEAAgAAGUAJE1vcnRhbDEwMgQACAAAZgAkTW9ydGFsMTAzBAAIAABnACRNb3J0YWwxMDQEAAgAAGgAJE1vcnRhbDEwNQQACAAAaQAkTW9ydGFsMTA2BAAIAABqACRNb3J0YWwxMDcEAAgAAGsAJE1vcnRhbDEwOAQACAAAbAAkTW9ydGFsMTA5BAAIAABtACRNb3J0YWwxMTAEAAgAAG4AJE1vcnRhbDExMQQACAAAbwAkTW9ydGFsMTEyBAAIAABwACRNb3J0YWwxMTMEAAgAAHEAJE1vcnRhbDExNAQACAAAcgAkTW9ydGFsMTE1BAAIAABzACRNb3J0YWwxMTYEAAgAAHQAJE1vcnRhbDExNwQACAAAdQAkTW9ydGFsMTE4BAAIAAB2ACRNb3J0YWwxMTkEAAgAAHcAJE1vcnRhbDEyMAQACAAAeAAkTW9ydGFsMTIxBAAIAAB5ACRNb3J0YWwxMjIEAAgAAHoAJE1vcnRhbDEyMwQACAAAewAkTW9ydGFsMTI0BAAIAAB8ACRNb3J0YWwxMjUEAAgAAH0AJE1vcnRhbDEyNgQACAAAfgAkTW9ydGFsMTI3BAAIAAB/ACRNb3J0YWwxMjgEAAgAAIAAJE1vcnRhbDEyOQQACAAAgQAkTW9ydGFsMTMwBAAIAACCACRNb3J0YWwxMzEEAAgAAIMAJE1vcnRhbDEzMgQACAAAhAAkTW9ydGFsMTMzBAAIAACFACRNb3J0YWwxMzQEAAgAAIYAJE1vcnRhbDEzNQQACAAAhwAkTW9ydGFsMTM2BAAIAACIACRNb3J0YWwxMzcEAAgAAIkAJE1vcnRhbDEzOAQACAAAigAkTW9ydGFsMTM5BAAIAACLACRNb3J0YWwxNDAEAAgAAIwAJE1vcnRhbDE0MQQACAAAjQAkTW9ydGFsMTQyBAAIAACOACRNb3J0YWwxNDMEAAgAAI8AJE1vcnRhbDE0NAQACAAAkAAkTW9ydGFsMTQ1BAAIAACRACRNb3J0YWwxNDYEAAgAAJIAJE1vcnRhbDE0NwQACAAAkwAkTW9ydGFsMTQ4BAAIAACUACRNb3J0YWwxNDkEAAgAAJUAJE1vcnRhbDE1MAQACAAAlgAkTW9ydGFsMTUxBAAIAACXACRNb3J0YWwxNTIEAAgAAJgAJE1vcnRhbDE1MwQACAAAmQAkTW9ydGFsMTU0BAAIAACaACRNb3J0YWwxNTUEAAgAAJsAJE1vcnRhbDE1NgQACAAAnAAkTW9ydGFsMTU3BAAIAACdACRNb3J0YWwxNTgEAAgAAJ4AJE1vcnRhbDE1OQQACAAAnwAkTW9ydGFsMTYwBAAIAACgACRNb3J0YWwxNjEEAAgAAKEAJE1vcnRhbDE2MgQACAAAogAkTW9ydGFsMTYzBAAIAACjACRNb3J0YWwxNjQEAAgAAKQAJE1vcnRhbDE2NQQACAAApQAkTW9ydGFsMTY2BAAIAACmACRNb3J0YWwxNjcEAAgAAKcAJE1vcnRhbDE2OAQACAAAqAAkTW9ydGFsMTY5BAAIAACpACRNb3J0YWwxNzAEAAgAAKoAJE1vcnRhbDE3MQQACAAAqwAkTW9ydGFsMTcyBAAIAACsACRNb3J0YWwxNzMEAAgAAK0AJE1vcnRhbDE3NAQACAAArgAkTW9ydGFsMTc1BAAIAACvACRNb3J0YWwxNzYEAAgAALAAJE1vcnRhbDE3NwQACAAAsQAkTW9ydGFsMTc4BAAIAACyACRNb3J0YWwxNzkEAAgAALMAJE1vcnRhbDE4MAQACAAAtAAkTW9ydGFsMTgxBAAIAAC1ACRNb3J0YWwxODIEAAgAALYAJE1vcnRhbDE4MwQACAAAtwAkTW9ydGFsMTg0BAAIAAC4ACRNb3J0YWwxODUEAAgAALkAJE1vcnRhbDE4NgQACAAAugAkTW9ydGFsMTg3BAAIAAC7ACRNb3J0YWwxODgEAAgAALwAJE1vcnRhbDE4OQQACAAAvQAkTW9ydGFsMTkwBAAIAAC+ACRNb3J0YWwxOTEEAAgAAL8AJE1vcnRhbDE5MgQACAAAwAAkTW9ydGFsMTkzBAAIAADBACRNb3J0YWwxOTQEAAgAAMIAJE1vcnRhbDE5NQQACAAAwwAkTW9ydGFsMTk2BAAIAADEACRNb3J0YWwxOTcEAAgAAMUAJE1vcnRhbDE5OAQACAAAxgAkTW9ydGFsMTk5BAAIAADHACRNb3J0YWwyMDAEAAgAAMgAJE1vcnRhbDIwMQQACAAAyQAkTW9ydGFsMjAyBAAIAADKACRNb3J0YWwyMDMEAAgAAMsAJE1vcnRhbDIwNAQACAAAzAAkTW9ydGFsMjA1BAAIAADNACRNb3J0YWwyMDYEAAgAAM4AJE1vcnRhbDIwNwQACAAAzwAkTW9ydGFsMjA4BAAIAADQACRNb3J0YWwyMDkEAAgAANEAJE1vcnRhbDIxMAQACAAA0gAkTW9ydGFsMjExBAAIAADTACRNb3J0YWwyMTIEAAgAANQAJE1vcnRhbDIxMwQACAAA1QAkTW9ydGFsMjE0BAAIAADWACRNb3J0YWwyMTUEAAgAANcAJE1vcnRhbDIxNgQACAAA2AAkTW9ydGFsMjE3BAAIAADZACRNb3J0YWwyMTgEAAgAANoAJE1vcnRhbDIxOQQACAAA2wAkTW9ydGFsMjIwBAAIAADcACRNb3J0YWwyMjEEAAgAAN0AJE1vcnRhbDIyMgQACAAA3gAkTW9ydGFsMjIzBAAIAADfACRNb3J0YWwyMjQEAAgAAOAAJE1vcnRhbDIyNQQACAAA4QAkTW9ydGFsMjI2BAAIAADiACRNb3J0YWwyMjcEAAgAAOMAJE1vcnRhbDIyOAQACAAA5AAkTW9ydGFsMjI5BAAIAADlACRNb3J0YWwyMzAEAAgAAOYAJE1vcnRhbDIzMQQACAAA5wAkTW9ydGFsMjMyBAAIAADoACRNb3J0YWwyMzMEAAgAAOkAJE1vcnRhbDIzNAQACAAA6gAkTW9ydGFsMjM1BAAIAADrACRNb3J0YWwyMzYEAAgAAOwAJE1vcnRhbDIzNwQACAAA7QAkTW9ydGFsMjM4BAAIAADuACRNb3J0YWwyMzkEAAgAAO8AJE1vcnRhbDI0MAQACAAA8AAkTW9ydGFsMjQxBAAIAADxACRNb3J0YWwyNDIEAAgAAPIAJE1vcnRhbDI0MwQACAAA8wAkTW9ydGFsMjQ0BAAIAAD0ACRNb3J0YWwyNDUEAAgAAPUAJE1vcnRhbDI0NgQACAAA9gAkTW9ydGFsMjQ3BAAIAAD3ACRNb3J0YWwyNDgEAAgAAPgAJE1vcnRhbDI0OQQACAAA+QAkTW9ydGFsMjUwBAAIAAD6ACRNb3J0YWwyNTEEAAgAAPsAJE1vcnRhbDI1MgQACAAA/AAkTW9ydGFsMjUzBAAIAAD9ACRNb3J0YWwyNTQEAAgAAP4AJE1vcnRhbDI1NQQACAAA/wAAQQ0QMGZyYW1lX3N5c3RlbShleHRlbnNpb25zLGNoZWNrX25vbmNlKENoZWNrTm9uY2UEBFQAAAQAaQEBIFQ6Ok5vbmNlAABFDRAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnMwY2hlY2tfd2VpZ2h0LENoZWNrV2VpZ2h0BARUAAAAAEkNCGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudGBDaGFyZ2VUcmFuc2FjdGlvblBheW1lbnQEBFQAAAQAQQEBMEJhbGFuY2VPZjxUPgAATQ0INHBhbGxldF9jbGFpbXM0VmFsaWRhdGVDbGFpbQQEVAAAAABRDQh0ZnJhbWVfbWV0YWRhdGFfaGFzaF9leHRlbnNpb25EQ2hlY2tNZXRhZGF0YUhhc2gEBFQAAAQBEG1vZGVVDQEQTW9kZQAAVQ0IdGZyYW1lX21ldGFkYXRhX2hhc2hfZXh0ZW5zaW9uEE1vZGUAAQggRGlzYWJsZWQAAAAcRW5hYmxlZAABAABZDQg8aHlkcmFkeF9ydW50aW1lHFJ1bnRpbWUAAAAAXQ0QKHNwX3J1bnRpbWUcZ2VuZXJpYxRibG9jaxRCbG9jawgYSGVhZGVyAWENJEV4dHJpbnNpYwFlDQAIARhoZWFkZXJhDQEYSGVhZGVyAAEoZXh0cmluc2ljc20NAThWZWM8RXh0cmluc2ljPgAAYQ0QKHNwX3J1bnRpbWUcZ2VuZXJpYxhoZWFkZXIYSGVhZGVyCBhOdW1iZXIBEBBIYXNoAAAUASxwYXJlbnRfaGFzaDQBMEhhc2g6Ok91dHB1dAABGG51bWJlcmkBARhOdW1iZXIAAShzdGF0ZV9yb290NAEwSGFzaDo6T3V0cHV0AAE8ZXh0cmluc2ljc19yb290NAEwSGFzaDo6T3V0cHV0AAEYZGlnZXN0PAEYRGlnZXN0AABlDQxEZnBfc2VsZl9jb250YWluZWRMdW5jaGVja2VkX2V4dHJpbnNpY0hVbmNoZWNrZWRFeHRyaW5zaWMQHEFkZHJlc3MBABBDYWxsASUBJFNpZ25hdHVyZQGJAhRFeHRyYQElDQAEAGkNASUBc3BfcnVudGltZTo6Z2VuZXJpYzo6VW5jaGVja2VkRXh0cmluc2ljPEFkZHJlc3MsIENhbGwsIFNpZ25hdHVyZSwgRXh0cmEKPgAAaQ0QKHNwX3J1bnRpbWUcZ2VuZXJpY0x1bmNoZWNrZWRfZXh0cmluc2ljSFVuY2hlY2tlZEV4dHJpbnNpYxAcQWRkcmVzcwEAEENhbGwBJQEkU2lnbmF0dXJlAYkCFEV4dHJhASUNAAQAOAAAAG0NAAACZQ0AcQ0IKHNwX3J1bnRpbWVYRXh0cmluc2ljSW5jbHVzaW9uTW9kZQABCDRBbGxFeHRyaW5zaWNzAAAANE9ubHlJbmhlcmVudHMAAQAAdQ0IHHNwX2NvcmU4T3BhcXVlTWV0YWRhdGEAAAQAOAEcVmVjPHU4PgAAeQ0EGE9wdGlvbgQEVAF1DQEIEE5vbmUAAAAQU29tZQQAdQ0AAAEAAH0NBBhSZXN1bHQIBFQBmARFAYENAQgIT2sEAJgAAAAADEVycgQAgQ0AAAEAAIENDChzcF9ydW50aW1lUHRyYW5zYWN0aW9uX3ZhbGlkaXR5YFRyYW5zYWN0aW9uVmFsaWRpdHlFcnJvcgABCBxJbnZhbGlkBACFDQFISW52YWxpZFRyYW5zYWN0aW9uAAAAHFVua25vd24EAIkNAUhVbmtub3duVHJhbnNhY3Rpb24AAQAAhQ0MKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlISW52YWxpZFRyYW5zYWN0aW9uAAEsEENhbGwAAAAcUGF5bWVudAABABhGdXR1cmUAAgAUU3RhbGUAAwAgQmFkUHJvb2YABABEQW5jaWVudEJpcnRoQmxvY2sABQBERXhoYXVzdHNSZXNvdXJjZXMABgAYQ3VzdG9tBAAIAQh1OAAHADBCYWRNYW5kYXRvcnkACABMTWFuZGF0b3J5VmFsaWRhdGlvbgAJACRCYWRTaWduZXIACgAAiQ0MKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlIVW5rbm93blRyYW5zYWN0aW9uAAEMMENhbm5vdExvb2t1cAAAAExOb1Vuc2lnbmVkVmFsaWRhdG9yAAEAGEN1c3RvbQQACAEIdTgAAgAAjQ0IMHNwX2luaGVyZW50czBJbmhlcmVudERhdGEAAAQBEGRhdGGRDQGUQlRyZWVNYXA8SW5oZXJlbnRJZGVudGlmaWVyLCBWZWM8dTg+PgAAkQ0EIEJUcmVlTWFwCARLARUCBFYBOAAEAJUNAAAAlQ0AAAKZDQCZDQAABAgVAjgAnQ0IMHNwX2luaGVyZW50c1BDaGVja0luaGVyZW50c1Jlc3VsdAAADAEQb2theSABEGJvb2wAASxmYXRhbF9lcnJvciABEGJvb2wAARhlcnJvcnONDQEwSW5oZXJlbnREYXRhAAChDQwoc3BfcnVudGltZVB0cmFuc2FjdGlvbl92YWxpZGl0eURUcmFuc2FjdGlvblNvdXJjZQABDBxJbkJsb2NrAAAAFExvY2FsAAEAIEV4dGVybmFsAAIAAKUNBBhSZXN1bHQIBFQBqQ0ERQGBDQEICE9rBACpDQAAAAAMRXJyBACBDQAAAQAAqQ0MKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlAVmFsaWRUcmFuc2FjdGlvbgAAFAEgcHJpb3JpdHkwAUxUcmFuc2FjdGlvblByaW9yaXR5AAEgcmVxdWlyZXM1AQFMVmVjPFRyYW5zYWN0aW9uVGFnPgABIHByb3ZpZGVzNQEBTFZlYzxUcmFuc2FjdGlvblRhZz4AASRsb25nZXZpdHkwAVBUcmFuc2FjdGlvbkxvbmdldml0eQABJHByb3BhZ2F0ZSABEGJvb2wAAK0NBBhPcHRpb24EBFQBsQ0BCBBOb25lAAAAEFNvbWUEALENAAABAACxDQAAArUNALUNAAAECDjJDAC5DQhIc3BfY29uc2Vuc3VzX3Nsb3RzMFNsb3REdXJhdGlvbgAABAAwAQx1NjQAAL0NCFxjdW11bHVzX3ByaW1pdGl2ZXNfY29yZTRDb2xsYXRpb25JbmZvAAAYATx1cHdhcmRfbWVzc2FnZXM1AQFIVmVjPFVwd2FyZE1lc3NhZ2U+AAFMaG9yaXpvbnRhbF9tZXNzYWdlc/ELAWBWZWM8T3V0Ym91bmRIcm1wTWVzc2FnZT4AAUxuZXdfdmFsaWRhdGlvbl9jb2RlwQ0BjE9wdGlvbjxyZWxheV9jaGFpbjo6VmFsaWRhdGlvbkNvZGU+AAFscHJvY2Vzc2VkX2Rvd253YXJkX21lc3NhZ2VzEAEMdTMyAAE4aHJtcF93YXRlcm1hcmsQAWByZWxheV9jaGFpbjo6QmxvY2tOdW1iZXIAASRoZWFkX2RhdGGZBAEgSGVhZERhdGEAAMENBBhPcHRpb24EBFQBxQ0BCBBOb25lAAAAEFNvbWUEAMUNAAABAADFDQx0cG9sa2Fkb3RfcGFyYWNoYWluX3ByaW1pdGl2ZXMocHJpbWl0aXZlczhWYWxpZGF0aW9uQ29kZQAABAA4ARxWZWM8dTg+AADJDQiEcGFsbGV0X2N1cnJlbmNpZXNfcnBjX3J1bnRpbWVfYXBpLEFjY291bnREYXRhBBxCYWxhbmNlARgADAEQZnJlZRgBHEJhbGFuY2UAASByZXNlcnZlZBgBHEJhbGFuY2UAARhmcm96ZW4YARxCYWxhbmNlAADNDQAAAtENANENAAAECBDJDQDVDQxocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQUdHlwZXNMUnVudGltZURpc3BhdGNoSW5mbwgcQmFsYW5jZQEYGFdlaWdodAEoAAwBGHdlaWdodCgBGFdlaWdodAABFGNsYXNzYAE0RGlzcGF0Y2hDbGFzcwABLHBhcnRpYWxfZmVlGAEcQmFsYW5jZQAA2Q0MaHBhbGxldF90cmFuc2FjdGlvbl9wYXltZW50FHR5cGVzKEZlZURldGFpbHMEHEJhbGFuY2UBGAAIATRpbmNsdXNpb25fZmVl3Q0BdE9wdGlvbjxJbmNsdXNpb25GZWU8QmFsYW5jZT4+AAEMdGlwGAEcQmFsYW5jZQAA3Q0EGE9wdGlvbgQEVAHhDQEIEE5vbmUAAAAQU29tZQQA4Q0AAAEAAOENDGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudBR0eXBlczBJbmNsdXNpb25GZWUEHEJhbGFuY2UBGAAMASBiYXNlX2ZlZRgBHEJhbGFuY2UAARxsZW5fZmVlGAEcQmFsYW5jZQABTGFkanVzdGVkX3dlaWdodF9mZWUYARxCYWxhbmNlAADlDQwMZXZtHGJhY2tlbmQUQmFzaWMAAAgBHGJhbGFuY2VdAQEQVTI1NgABFG5vbmNlXQEBEFUyNTYAAOkNBBhPcHRpb24EBFQBLQQBCBBOb25lAAAAEFNvbWUEAC0EAAABAADtDQQYUmVzdWx0CARUAfENBEUBaAEICE9rBADxDQAAAAAMRXJyBABoAAABAADxDQgYZnBfZXZtPEV4ZWN1dGlvbkluZm9WMgQEVAE4ABQBLGV4aXRfcmVhc29uBQcBKEV4aXRSZWFzb24AARR2YWx1ZTgBBFQAASB1c2VkX2dhc/UNARxVc2VkR2FzAAEsd2VpZ2h0X2luZm/5DQFIT3B0aW9uPFdlaWdodEluZm8+AAEQbG9ncxULASBWZWM8TG9nPgAA9Q0IGGZwX2V2bRxVc2VkR2FzAAAIASBzdGFuZGFyZF0BARBVMjU2AAEkZWZmZWN0aXZlXQEBEFUyNTYAAPkNBBhPcHRpb24EBFQB/Q0BCBBOb25lAAAAEFNvbWUEAP0NAAABAAD9DQgYZnBfZXZtKFdlaWdodEluZm8AABABOHJlZl90aW1lX2xpbWl0AQ4BLE9wdGlvbjx1NjQ+AAFAcHJvb2Zfc2l6ZV9saW1pdAEOASxPcHRpb248dTY0PgABOHJlZl90aW1lX3VzYWdlAQ4BLE9wdGlvbjx1NjQ+AAFAcHJvb2Zfc2l6ZV91c2FnZQEOASxPcHRpb248dTY0PgAAAQ4EGE9wdGlvbgQEVAEwAQgQTm9uZQAAABBTb21lBAAwAAABAAAFDgQYUmVzdWx0CARUAQkOBEUBaAEICE9rBAAJDgAAAAAMRXJyBABoAAABAAAJDggYZnBfZXZtPEV4ZWN1dGlvbkluZm9WMgQEVAFVAQAUASxleGl0X3JlYXNvbgUHAShFeGl0UmVhc29uAAEUdmFsdWVVAQEEVAABIHVzZWRfZ2Fz9Q0BHFVzZWRHYXMAASx3ZWlnaHRfaW5mb/kNAUhPcHRpb248V2VpZ2h0SW5mbz4AARBsb2dzFQsBIFZlYzxMb2c+AAANDgQYT3B0aW9uBARUASkLAQgQTm9uZQAAABBTb21lBAApCwAAAQAAEQ4EGE9wdGlvbgQEVAE9CwEIEE5vbmUAAAAQU29tZQQAPQsAAAEAABUOBBhPcHRpb24EBFQBQQsBCBBOb25lAAAAEFNvbWUEAEELAAABAAAZDgAABAwNDhEOFQ4AHQ4AAAQIDQ4VDgAhDgQYUmVzdWx0CARUASUOBEUBKQ4BCAhPawQAJQ4AAAAADEVycgQAKQ4AAAEAACUOAAACIQYAKQ4MQHhjbV9ydW50aW1lX2FwaXMQZmVlcxRFcnJvcgABGDRVbmltcGxlbWVudGVkAAAAZFZlcnNpb25lZENvbnZlcnNpb25GYWlsZWQAAQBMV2VpZ2h0Tm90Q29tcHV0YWJsZQACAExVbmhhbmRsZWRYY21WZXJzaW9uAAMANEFzc2V0Tm90Rm91bmQABAAoVW5yb3V0YWJsZQAFAAAtDgQYUmVzdWx0CARUASgERQEpDgEICE9rBAAoAAAAAAxFcnIEACkOAAABAAAxDgQYUmVzdWx0CARUARgERQEpDgEICE9rBAAYAAAAAAxFcnIEACkOAAABAAA1DgQYUmVzdWx0CARUAe0FBEUBKQ4BCAhPawQA7QUAAAAADEVycgQAKQ4AAAEAADkOBBhSZXN1bHQIBFQBPQ4ERQFVDgEICE9rBAA9DgAAAAAMRXJyBABVDgAAAQAAPQ4MQHhjbV9ydW50aW1lX2FwaXMcZHJ5X3J1bkRDYWxsRHJ5UnVuRWZmZWN0cwQURXZlbnQBVAAQAUBleGVjdXRpb25fcmVzdWx0aQYBaERpc3BhdGNoUmVzdWx0V2l0aFBvc3RJbmZvAAE4ZW1pdHRlZF9ldmVudHNBDgEoVmVjPEV2ZW50PgABJGxvY2FsX3hjbUUOAWBPcHRpb248VmVyc2lvbmVkWGNtPCgpPj4AAThmb3J3YXJkZWRfeGNtc0kOAbxWZWM8KFZlcnNpb25lZExvY2F0aW9uLCBWZWM8VmVyc2lvbmVkWGNtPCgpPj4pPgAAQQ4AAAJUAEUOBBhPcHRpb24EBFQB6QQBCBBOb25lAAAAEFNvbWUEAOkEAAABAABJDgAAAk0OAE0OAAAECMkEUQ4AUQ4AAALpBABVDgxAeGNtX3J1bnRpbWVfYXBpcxxkcnlfcnVuFEVycm9yAAEINFVuaW1wbGVtZW50ZWQAAABkVmVyc2lvbmVkQ29udmVyc2lvbkZhaWxlZAABAABZDgQYUmVzdWx0CARUAV0OBEUBVQ4BCAhPawQAXQ4AAAAADEVycgQAVQ4AAAEAAF0ODEB4Y21fcnVudGltZV9hcGlzHGRyeV9ydW5AWGNtRHJ5UnVuRWZmZWN0cwQURXZlbnQBVAAMAUBleGVjdXRpb25fcmVzdWx0SQcBHE91dGNvbWUAAThlbWl0dGVkX2V2ZW50c0EOAShWZWM8RXZlbnQ+AAE4Zm9yd2FyZGVkX3hjbXNJDgG8VmVjPChWZXJzaW9uZWRMb2NhdGlvbiwgVmVjPFZlcnNpb25lZFhjbTwoKT4+KT4AAGEOBBhSZXN1bHQIBFQBAARFAWUOAQgIT2sEAAAAAAAADEVycgQAZQ4AAAEAAGUODEB4Y21fcnVudGltZV9hcGlzLGNvbnZlcnNpb25zFEVycm9yAAEILFVuc3VwcG9ydGVkAAAAZFZlcnNpb25lZENvbnZlcnNpb25GYWlsZWQAAQAAaQ4EGE9wdGlvbgQEVAFtDgEIEE5vbmUAAAAQU29tZQQAbQ4AAAEAAG0OAAAEEBAQ2QMVAgBxDhA8aHlkcmFkeF9ydW50aW1lDGV2bUxhYXZlX3RyYWRlX2V4ZWN1dG9yIFBvb2xEYXRhBBxCYWxhbmNlARgAEAEccmVzZXJ2ZRABHEFzc2V0SWQAARhhdG9rZW4QARxBc3NldElkAAEsbGlxdWRpdHlfaW4YARxCYWxhbmNlAAEwbGlxdWRpdHlfb3V0GAEcQmFsYW5jZQAAdQ4AAAJxDgB5DgQYUmVzdWx0CARUAZAERQEZBwEICE9rBACQAAAAAAxFcnIEABkHAAABAAB9DgQYT3B0aW9uBARUARkHAQgQTm9uZQAAABBTb21lBAAZBwAAAQAAgQ4AAAIZBwCFDgg8aHlkcmFkeF9ydW50aW1lMFJ1bnRpbWVFcnJvcgAB9BhTeXN0ZW0EANEHAXBmcmFtZV9zeXN0ZW06OkVycm9yPFJ1bnRpbWU+AAEAIEJhbGFuY2VzBAAVCAF8cGFsbGV0X2JhbGFuY2VzOjpFcnJvcjxSdW50aW1lPgAHAFxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudAQAHQgBwHBhbGxldF90cmFuc2FjdGlvbl9tdWx0aV9wYXltZW50OjpFcnJvcjxSdW50aW1lPgDLACBUcmVhc3VyeQQANQgBfHBhbGxldF90cmVhc3VyeTo6RXJyb3I8UnVudGltZT4ACwAcVXRpbGl0eQQAOQgBeHBhbGxldF91dGlsaXR5OjpFcnJvcjxSdW50aW1lPgANACBQcmVpbWFnZQQAXQgBfHBhbGxldF9wcmVpbWFnZTo6RXJyb3I8UnVudGltZT4ADwAgSWRlbnRpdHkEAJ0IAXxwYWxsZXRfaWRlbnRpdHk6OkVycm9yPFJ1bnRpbWU+ABEAJERlbW9jcmFjeQQA4QgBgHBhbGxldF9kZW1vY3JhY3k6OkVycm9yPFJ1bnRpbWU+ABMAJEVsZWN0aW9ucwQA8QgBpHBhbGxldF9lbGVjdGlvbnNfcGhyYWdtZW46OkVycm9yPFJ1bnRpbWU+ABUAHENvdW5jaWwEAP0IAfxwYWxsZXRfY29sbGVjdGl2ZTo6RXJyb3I8UnVudGltZSwgcGFsbGV0X2NvbGxlY3RpdmU6Okluc3RhbmNlMT4AFwBIVGVjaG5pY2FsQ29tbWl0dGVlBAAFCQH8cGFsbGV0X2NvbGxlY3RpdmU6OkVycm9yPFJ1bnRpbWUsIHBhbGxldF9jb2xsZWN0aXZlOjpJbnN0YW5jZTI+ABkAEFRpcHMEABEJAWxwYWxsZXRfdGlwczo6RXJyb3I8UnVudGltZT4AGwAUUHJveHkEADUJAXBwYWxsZXRfcHJveHk6OkVycm9yPFJ1bnRpbWU+AB0AIE11bHRpc2lnBABFCQF8cGFsbGV0X211bHRpc2lnOjpFcnJvcjxSdW50aW1lPgAfABxVbmlxdWVzBABpCQF4cGFsbGV0X3VuaXF1ZXM6OkVycm9yPFJ1bnRpbWU+ACAASFN0YXRlVHJpZU1pZ3JhdGlvbgQADQEBrHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbjo6RXJyb3I8UnVudGltZT4AIwBAQ29udmljdGlvblZvdGluZwQAnQkBoHBhbGxldF9jb252aWN0aW9uX3ZvdGluZzo6RXJyb3I8UnVudGltZT4AJAAkUmVmZXJlbmRhBADhCQGAcGFsbGV0X3JlZmVyZW5kYTo6RXJyb3I8UnVudGltZT4AJQAkV2hpdGVsaXN0BADlCQGAcGFsbGV0X3doaXRlbGlzdDo6RXJyb3I8UnVudGltZT4AJwA0QXNzZXRSZWdpc3RyeQQA7QkBlHBhbGxldF9hc3NldF9yZWdpc3RyeTo6RXJyb3I8UnVudGltZT4AMwAYQ2xhaW1zBADxCQF0cGFsbGV0X2NsYWltczo6RXJyb3I8UnVudGltZT4ANQA8Q29sbGF0b3JSZXdhcmRzBAD9CQGccGFsbGV0X2NvbGxhdG9yX3Jld2FyZHM6OkVycm9yPFJ1bnRpbWU+ADkAIE9tbmlwb29sBAAJCgF8cGFsbGV0X29tbmlwb29sOjpFcnJvcjxSdW50aW1lPgA7AEBUcmFuc2FjdGlvblBhdXNlBAAVCgGgcGFsbGV0X3RyYW5zYWN0aW9uX3BhdXNlOjpFcnJvcjxSdW50aW1lPgA8ABhEdXN0ZXIEABkKAXRwYWxsZXRfZHVzdGVyOjpFcnJvcjxSdW50aW1lPgA9AExPbW5pcG9vbFdhcmVob3VzZUxNBAA9CgFJAXdhcmVob3VzZV9saXF1aWRpdHlfbWluaW5nOjpFcnJvcjxSdW50aW1lLCB3YXJlaG91c2VfbGlxdWlkaXR5X21pbmluZzo6Ckluc3RhbmNlMT4APgBcT21uaXBvb2xMaXF1aWRpdHlNaW5pbmcEAEUKAcBwYWxsZXRfb21uaXBvb2xfbGlxdWlkaXR5X21pbmluZzo6RXJyb3I8UnVudGltZT4APwAMT1RDBABRCgFocGFsbGV0X290Yzo6RXJyb3I8UnVudGltZT4AQAA4Q2lyY3VpdEJyZWFrZXIEAF0KAZhwYWxsZXRfY2lyY3VpdF9icmVha2VyOjpFcnJvcjxSdW50aW1lPgBBABhSb3V0ZXIEAGEKAZRwYWxsZXRfcm91dGVfZXhlY3V0b3I6OkVycm9yPFJ1bnRpbWU+AEMALER5bmFtaWNGZWVzBABtCgGMcGFsbGV0X2R5bmFtaWNfZmVlczo6RXJyb3I8UnVudGltZT4ARAAcU3Rha2luZwQAkQoBeHBhbGxldF9zdGFraW5nOjpFcnJvcjxSdW50aW1lPgBFAChTdGFibGVzd2FwBAChCgGEcGFsbGV0X3N0YWJsZXN3YXA6OkVycm9yPFJ1bnRpbWU+AEYAFEJvbmRzBACpCgFwcGFsbGV0X2JvbmRzOjpFcnJvcjxSdW50aW1lPgBHADhPdGNTZXR0bGVtZW50cwQArQoBmHBhbGxldF9vdGNfc2V0dGxlbWVudHM6OkVycm9yPFJ1bnRpbWU+AEgADExCUAQAsQoBaHBhbGxldF9sYnA6OkVycm9yPFJ1bnRpbWU+AEkADFhZSwQAtQoBaHBhbGxldF94eWs6OkVycm9yPFJ1bnRpbWU+AEoAJFJlZmVycmFscwQAxQoBgHBhbGxldF9yZWZlcnJhbHM6OkVycm9yPFJ1bnRpbWU+AEsALExpcXVpZGF0aW9uBADJCgGIcGFsbGV0X2xpcXVpZGF0aW9uOjpFcnJvcjxSdW50aW1lPgBMABhUb2tlbnMEAOkKAWxvcm1sX3Rva2Vuczo6RXJyb3I8UnVudGltZT4ATQAoQ3VycmVuY2llcwQA7QoBhHBhbGxldF9jdXJyZW5jaWVzOjpFcnJvcjxSdW50aW1lPgBPABxWZXN0aW5nBAD1CgFwb3JtbF92ZXN0aW5nOjpFcnJvcjxSdW50aW1lPgBRAAxFVk0EAAELAWhwYWxsZXRfZXZtOjpFcnJvcjxSdW50aW1lPgBaACBFdGhlcmV1bQQARQsBfHBhbGxldF9ldGhlcmV1bTo6RXJyb3I8UnVudGltZT4AXAAsRVZNQWNjb3VudHMEAEkLAYxwYWxsZXRfZXZtX2FjY291bnRzOjpFcnJvcjxSdW50aW1lPgBdAEhYWUtMaXF1aWRpdHlNaW5pbmcEAE0LAaxwYWxsZXRfeHlrX2xpcXVpZGl0eV9taW5pbmc6OkVycm9yPFJ1bnRpbWU+AF8AOFhZS1dhcmVob3VzZUxNBABtCwFJAXdhcmVob3VzZV9saXF1aWRpdHlfbWluaW5nOjpFcnJvcjxSdW50aW1lLCB3YXJlaG91c2VfbGlxdWlkaXR5X21pbmluZzo6Ckluc3RhbmNlMj4AYAA4UmVsYXlDaGFpbkluZm8EAHELAZhwYWxsZXRfcmVsYXljaGFpbl9pbmZvOjpFcnJvcjxSdW50aW1lPgDJAAxEQ0EEAHkLAWhwYWxsZXRfZGNhOjpFcnJvcjxSdW50aW1lPgBCACRTY2hlZHVsZXIEAJELAYBwYWxsZXRfc2NoZWR1bGVyOjpFcnJvcjxSdW50aW1lPgAFADxQYXJhY2hhaW5TeXN0ZW0EAPkLAbxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtOjpFcnJvcjxSdW50aW1lPgBnACxQb2xrYWRvdFhjbQQATQwBaHBhbGxldF94Y206OkVycm9yPFJ1bnRpbWU+AGsAJFhjbXBRdWV1ZQQAeQwBpGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWU6OkVycm9yPFJ1bnRpbWU+AG8AME1lc3NhZ2VRdWV1ZQQAlQwBkHBhbGxldF9tZXNzYWdlX3F1ZXVlOjpFcnJvcjxSdW50aW1lPgByABxPcm1sWGNtBACZDAFgb3JtbF94Y206OkVycm9yPFJ1bnRpbWU+AIcAHFhUb2tlbnMEAJ0MAXBvcm1sX3h0b2tlbnM6OkVycm9yPFJ1bnRpbWU+AIkANFVua25vd25Ub2tlbnMEAKkMAYxvcm1sX3Vua25vd25fdG9rZW5zOjpFcnJvcjxSdW50aW1lPgCLAERDb2xsYXRvclNlbGVjdGlvbgQAuQwBpHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb246OkVycm9yPFJ1bnRpbWU+AKMAHFNlc3Npb24EAM0MAXhwYWxsZXRfc2Vzc2lvbjo6RXJyb3I8UnVudGltZT4ApQAkRW1hT3JhY2xlBAAZDQGEcGFsbGV0X2VtYV9vcmFjbGU6OkVycm9yPFJ1bnRpbWU+AMoAJEJyb2FkY2FzdAQAIQ0BgHBhbGxldF9icm9hZGNhc3Q6OkVycm9yPFJ1bnRpbWU+AMwAACUBGFN5c3RlbQEYU3lzdGVtSBxBY2NvdW50AQEEAgAMQQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAToIFRoZSBmdWxsIGFjY291bnQgaW5mb3JtYXRpb24gZm9yIGEgcGFydGljdWxhciBhY2NvdW50IElELjhFeHRyaW5zaWNDb3VudAAAEAQABLggVG90YWwgZXh0cmluc2ljcyBjb3VudCBmb3IgdGhlIGN1cnJlbnQgYmxvY2suQEluaGVyZW50c0FwcGxpZWQBACAEAASkIFdoZXRoZXIgYWxsIGluaGVyZW50cyBoYXZlIGJlZW4gYXBwbGllZC4sQmxvY2tXZWlnaHQBACQYAAAAAAAABIggVGhlIGN1cnJlbnQgd2VpZ2h0IGZvciB0aGUgYmxvY2suQEFsbEV4dHJpbnNpY3NMZW4AABAEAARBASBUb3RhbCBsZW5ndGggKGluIGJ5dGVzKSBmb3IgYWxsIGV4dHJpbnNpY3MgcHV0IHRvZ2V0aGVyLCBmb3IgdGhlIGN1cnJlbnQgYmxvY2suJEJsb2NrSGFzaAEBBAUQNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASYIE1hcCBvZiBibG9jayBudW1iZXJzIHRvIGJsb2NrIGhhc2hlcy40RXh0cmluc2ljRGF0YQEBBAUQOAQABD0BIEV4dHJpbnNpY3MgZGF0YSBmb3IgdGhlIGN1cnJlbnQgYmxvY2sgKG1hcHMgYW4gZXh0cmluc2ljJ3MgaW5kZXggdG8gaXRzIGRhdGEpLhhOdW1iZXIBABAQAAAAAAQJASBUaGUgY3VycmVudCBibG9jayBudW1iZXIgYmVpbmcgcHJvY2Vzc2VkLiBTZXQgYnkgYGV4ZWN1dGVfYmxvY2tgLihQYXJlbnRIYXNoAQA0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHAgSGFzaCBvZiB0aGUgcHJldmlvdXMgYmxvY2suGERpZ2VzdAEAPAQABPAgRGlnZXN0IG9mIHRoZSBjdXJyZW50IGJsb2NrLCBhbHNvIHBhcnQgb2YgdGhlIGJsb2NrIGhlYWRlci4YRXZlbnRzAQBMBAAcoCBFdmVudHMgZGVwb3NpdGVkIGZvciB0aGUgY3VycmVudCBibG9jay4AHQEgTk9URTogVGhlIGl0ZW0gaXMgdW5ib3VuZCBhbmQgc2hvdWxkIHRoZXJlZm9yZSBuZXZlciBiZSByZWFkIG9uIGNoYWluLtAgSXQgY291bGQgb3RoZXJ3aXNlIGluZmxhdGUgdGhlIFBvViBzaXplIG9mIGEgYmxvY2suAC0BIEV2ZW50cyBoYXZlIGEgbGFyZ2UgaW4tbWVtb3J5IHNpemUuIEJveCB0aGUgZXZlbnRzIHRvIG5vdCBnbyBvdXQtb2YtbWVtb3J5/CBqdXN0IGluIGNhc2Ugc29tZW9uZSBzdGlsbCByZWFkcyB0aGVtIGZyb20gd2l0aGluIHRoZSBydW50aW1lLihFdmVudENvdW50AQAQEAAAAAAEuCBUaGUgbnVtYmVyIG9mIGV2ZW50cyBpbiB0aGUgYEV2ZW50czxUPmAgbGlzdC4sRXZlbnRUb3BpY3MBAQQCNHkDBAAoJQEgTWFwcGluZyBiZXR3ZWVuIGEgdG9waWMgKHJlcHJlc2VudGVkIGJ5IFQ6Okhhc2gpIGFuZCBhIHZlY3RvciBvZiBpbmRleGVzlCBvZiBldmVudHMgaW4gdGhlIGA8RXZlbnRzPFQ+PmAgbGlzdC4AUQEgQWxsIHRvcGljIHZlY3RvcnMgaGF2ZSBkZXRlcm1pbmlzdGljIHN0b3JhZ2UgbG9jYXRpb25zIGRlcGVuZGluZyBvbiB0aGUgdG9waWMuIFRoaXNFASBhbGxvd3MgbGlnaHQtY2xpZW50cyB0byBsZXZlcmFnZSB0aGUgY2hhbmdlcyB0cmllIHN0b3JhZ2UgdHJhY2tpbmcgbWVjaGFuaXNtIGFuZOQgaW4gY2FzZSBvZiBjaGFuZ2VzIGZldGNoIHRoZSBsaXN0IG9mIGV2ZW50cyBvZiBpbnRlcmVzdC4AWQEgVGhlIHZhbHVlIGhhcyB0aGUgdHlwZSBgKEJsb2NrTnVtYmVyRm9yPFQ+LCBFdmVudEluZGV4KWAgYmVjYXVzZSBpZiB3ZSB1c2VkIG9ubHkganVzdE0BIHRoZSBgRXZlbnRJbmRleGAgdGhlbiBpbiBjYXNlIGlmIHRoZSB0b3BpYyBoYXMgdGhlIHNhbWUgY29udGVudHMgb24gdGhlIG5leHQgYmxvY2sBASBubyBub3RpZmljYXRpb24gd2lsbCBiZSB0cmlnZ2VyZWQgdGh1cyB0aGUgZXZlbnQgbWlnaHQgYmUgbG9zdC5ITGFzdFJ1bnRpbWVVcGdyYWRlAAChBwQABFUBIFN0b3JlcyB0aGUgYHNwZWNfdmVyc2lvbmAgYW5kIGBzcGVjX25hbWVgIG9mIHdoZW4gdGhlIGxhc3QgcnVudGltZSB1cGdyYWRlIGhhcHBlbmVkLlRVcGdyYWRlZFRvVTMyUmVmQ291bnQBACAEAARNASBUcnVlIGlmIHdlIGhhdmUgdXBncmFkZWQgc28gdGhhdCBgdHlwZSBSZWZDb3VudGAgaXMgYHUzMmAuIEZhbHNlIChkZWZhdWx0KSBpZiBub3QuYFVwZ3JhZGVkVG9UcmlwbGVSZWZDb3VudAEAIAQACF0BIFRydWUgaWYgd2UgaGF2ZSB1cGdyYWRlZCBzbyB0aGF0IEFjY291bnRJbmZvIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIGBSZWZDb3VudGAuIEZhbHNlSCAoZGVmYXVsdCkgaWYgbm90LjhFeGVjdXRpb25QaGFzZQAAnQcEAASIIFRoZSBleGVjdXRpb24gcGhhc2Ugb2YgdGhlIGJsb2NrLkRBdXRob3JpemVkVXBncmFkZQAApQcEAAS4IGBTb21lYCBpZiBhIGNvZGUgdXBncmFkZSBoYXMgYmVlbiBhdXRob3JpemVkLgEpAQFYGDBCbG9ja1dlaWdodHOpB4UBYk0YbAAHAIhSanQCAEABAxi9Al/psAEH6EusB1QaT+cAAQcA5r1PVwIA8AABAAADGL0CX+mwAQfo7UAicRpPNwEBBwCIUmp0AgBAAQEHAKKUGh0CAFAAAxi9Al/psAAAAATQIEJsb2NrICYgZXh0cmluc2ljcyB3ZWlnaHRzOiBiYXNlIHZhbHVlcyBhbmQgbGltaXRzLixCbG9ja0xlbmd0aLUHMAAAPAAAAFAAAABQAASoIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhIGJsb2NrIChpbiBieXRlcykuOEJsb2NrSGFzaENvdW50EBBgCQAABFUBIE1heGltdW0gbnVtYmVyIG9mIGJsb2NrIG51bWJlciB0byBibG9jayBoYXNoIG1hcHBpbmdzIHRvIGtlZXAgKG9sZGVzdCBwcnVuZWQgZmlyc3QpLiBEYldlaWdodL0HQEB4fQEAAAAAAOH1BQAAAAAECQEgVGhlIHdlaWdodCBvZiBydW50aW1lIGRhdGFiYXNlIG9wZXJhdGlvbnMgdGhlIHJ1bnRpbWUgY2FuIGludm9rZS4cVmVyc2lvbsEHSQQcaHlkcmFkeBxoeWRyYWR4AQAAADMBAAAAAAAAUN9qy2iZB2CbBQAAADfjl/x8kfXkAgAAAED+OtQB+JWaBgAAANK8mJfu0I8VAwAAAPeLJ4vlP0VMAgAAAKs8BXIpH+uLAQAAAN1xjVzFMmLUAQAAAOqT4/FvPWliAgAAAJr4Z1G3DBEtAQAAALydiZBPW5I/AQAAADfIuxNQqaKoBAAAAFgiEfZbsUuJBQAAAOZbAORs7dCqAgAAAAu2elL80ED/AQAAAG/1LuhY5sW9AQAAAJGxyLFjKOuSAQAAAJ/7UFqnONacAQAAACtfW80kYOTwAQAAAKKytIT8uGlDAQAAAPvFd7nXR+/WAQAAAAEAAAABBIQgR2V0IHRoZSBjaGFpbidzIGluLWNvZGUgdmVyc2lvbi4oU1M1OFByZWZpeNwIPwAUqCBUaGUgZGVzaWduYXRlZCBTUzU4IHByZWZpeCBvZiB0aGlzIGNoYWluLgA5ASBUaGlzIHJlcGxhY2VzIHRoZSAic3M1OEZvcm1hdCIgcHJvcGVydHkgZGVjbGFyZWQgaW4gdGhlIGNoYWluIHNwZWMuIFJlYXNvbiBpczEBIHRoYXQgdGhlIHJ1bnRpbWUgc2hvdWxkIGtub3cgYWJvdXQgdGhlIHByZWZpeCBpbiBvcmRlciB0byBtYWtlIHVzZSBvZiBpdCBhc3AgYW4gaWRlbnRpZmllciBvZiB0aGUgY2hhaW4uAdEHAQAkVGltZXN0YW1wASRUaW1lc3RhbXAIDE5vdwEAMCAAAAAAAAAAAASgIFRoZSBjdXJyZW50IHRpbWUgZm9yIHRoZSBjdXJyZW50IGJsb2NrLiREaWRVcGRhdGUBACAEABDYIFdoZXRoZXIgdGhlIHRpbWVzdGFtcCBoYXMgYmVlbiB1cGRhdGVkIGluIHRoaXMgYmxvY2suAFUBIFRoaXMgdmFsdWUgaXMgdXBkYXRlZCB0byBgdHJ1ZWAgdXBvbiBzdWNjZXNzZnVsIHN1Ym1pc3Npb24gb2YgYSB0aW1lc3RhbXAgYnkgYSBub2RlLkUBIEl0IGlzIHRoZW4gY2hlY2tlZCBhdCB0aGUgZW5kIG9mIGVhY2ggYmxvY2sgZXhlY3V0aW9uIGluIHRoZSBgb25fZmluYWxpemVgIGhvb2suATkBAAQ0TWluaW11bVBlcmlvZDAgcBcAAAAAAAAYjCBUaGUgbWluaW11bSBwZXJpb2QgYmV0d2VlbiBibG9ja3MuAE0BIEJlIGF3YXJlIHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgdG8gdGhlICpleHBlY3RlZCogcGVyaW9kIHRoYXQgdGhlIGJsb2NrIHByb2R1Y3Rpb25JASBhcHBhcmF0dXMgcHJvdmlkZXMuIFlvdXIgY2hvc2VuIGNvbnNlbnN1cyBzeXN0ZW0gd2lsbCBnZW5lcmFsbHkgd29yayB3aXRoIHRoaXMgdG9hASBkZXRlcm1pbmUgYSBzZW5zaWJsZSBibG9jayB0aW1lLiBGb3IgZXhhbXBsZSwgaW4gdGhlIEF1cmEgcGFsbGV0IGl0IHdpbGwgYmUgZG91YmxlIHRoaXNwIHBlcmlvZCBvbiBkZWZhdWx0IHNldHRpbmdzLgADACBCYWxhbmNlcwEgQmFsYW5jZXMcNFRvdGFsSXNzdWFuY2UBABhAAAAAAAAAAAAAAAAAAAAAAASYIFRoZSB0b3RhbCB1bml0cyBpc3N1ZWQgaW4gdGhlIHN5c3RlbS5ASW5hY3RpdmVJc3N1YW5jZQEAGEAAAAAAAAAAAAAAAAAAAAAABAkBIFRoZSB0b3RhbCB1bml0cyBvZiBvdXRzdGFuZGluZyBkZWFjdGl2YXRlZCBiYWxhbmNlIGluIHRoZSBzeXN0ZW0uHEFjY291bnQBAQQCABQBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBgCQEgVGhlIEJhbGFuY2VzIHBhbGxldCBleGFtcGxlIG9mIHN0b3JpbmcgdGhlIGJhbGFuY2Ugb2YgYW4gYWNjb3VudC4AKCAjIEV4YW1wbGUANCBgYGBub2NvbXBpbGWwICBpbXBsIHBhbGxldF9iYWxhbmNlczo6Q29uZmlnIGZvciBSdW50aW1lIHsZAiAgICB0eXBlIEFjY291bnRTdG9yZSA9IFN0b3JhZ2VNYXBTaGltPFNlbGY6OkFjY291bnQ8UnVudGltZT4sIGZyYW1lX3N5c3RlbTo6UHJvdmlkZXI8UnVudGltZT4sIEFjY291bnRJZCwgU2VsZjo6QWNjb3VudERhdGE8QmFsYW5jZT4+DCAgfRAgYGBgABUBIFlvdSBjYW4gYWxzbyBzdG9yZSB0aGUgYmFsYW5jZSBvZiBhbiBhY2NvdW50IGluIHRoZSBgU3lzdGVtYCBwYWxsZXQuACggIyBFeGFtcGxlADQgYGBgbm9jb21waWxlsCAgaW1wbCBwYWxsZXRfYmFsYW5jZXM6OkNvbmZpZyBmb3IgUnVudGltZSB7dCAgIHR5cGUgQWNjb3VudFN0b3JlID0gU3lzdGVtDCAgfRAgYGBgAFEBIEJ1dCB0aGlzIGNvbWVzIHdpdGggdHJhZGVvZmZzLCBzdG9yaW5nIGFjY291bnQgYmFsYW5jZXMgaW4gdGhlIHN5c3RlbSBwYWxsZXQgc3RvcmVzbQEgYGZyYW1lX3N5c3RlbWAgZGF0YSBhbG9uZ3NpZGUgdGhlIGFjY291bnQgZGF0YSBjb250cmFyeSB0byBzdG9yaW5nIGFjY291bnQgYmFsYW5jZXMgaW4gdGhlKQEgYEJhbGFuY2VzYCBwYWxsZXQsIHdoaWNoIHVzZXMgYSBgU3RvcmFnZU1hcGAgdG8gc3RvcmUgYmFsYW5jZXMgZGF0YSBvbmx5LkEBIE5PVEU6IFRoaXMgaXMgb25seSB1c2VkIGluIHRoZSBjYXNlIHRoYXQgdGhpcyBwYWxsZXQgaXMgdXNlZCB0byBzdG9yZSBiYWxhbmNlcy4UTG9ja3MBAQQCANUHBAAQuCBBbnkgbGlxdWlkaXR5IGxvY2tzIG9uIHNvbWUgYWNjb3VudCBiYWxhbmNlcy4lASBOT1RFOiBTaG91bGQgb25seSBiZSBhY2Nlc3NlZCB3aGVuIHNldHRpbmcsIGNoYW5naW5nIGFuZCBmcmVlaW5nIGEgbG9jay4ArQEgVXNlIG9mIGxvY2tzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGZyZWV6ZXMuIFNlZSBgaHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvc3Vic3RyYXRlL3B1bGwvMTI5NTEvYCBSZXNlcnZlcwEBBAIA5QcEAAykIE5hbWVkIHJlc2VydmVzIG9uIHNvbWUgYWNjb3VudCBiYWxhbmNlcy4AsQEgVXNlIG9mIHJlc2VydmVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGhvbGRzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2AUSG9sZHMBAQQCAPEHBAAEbCBIb2xkcyBvbiBhY2NvdW50IGJhbGFuY2VzLhxGcmVlemVzAQEEAgAJCAQABIggRnJlZXplIGxvY2tzIG9uIGFjY291bnQgYmFsYW5jZXMuAT0BAXwQSEV4aXN0ZW50aWFsRGVwb3NpdBhAABCl1OgAAAAAAAAAAAAAACBBASBUaGUgbWluaW11bSBhbW91bnQgcmVxdWlyZWQgdG8ga2VlcCBhbiBhY2NvdW50IG9wZW4uIE1VU1QgQkUgR1JFQVRFUiBUSEFOIFpFUk8hAFkBIElmIHlvdSAqcmVhbGx5KiBuZWVkIGl0IHRvIGJlIHplcm8sIHlvdSBjYW4gZW5hYmxlIHRoZSBmZWF0dXJlIGBpbnNlY3VyZV96ZXJvX2VkYCBmb3JhASB0aGlzIHBhbGxldC4gSG93ZXZlciwgeW91IGRvIHNvIGF0IHlvdXIgb3duIHJpc2s6IHRoaXMgd2lsbCBvcGVuIHVwIGEgbWFqb3IgRG9TIHZlY3Rvci5ZASBJbiBjYXNlIHlvdSBoYXZlIG11bHRpcGxlIHNvdXJjZXMgb2YgcHJvdmlkZXIgcmVmZXJlbmNlcywgeW91IG1heSBhbHNvIGdldCB1bmV4cGVjdGVkjCBiZWhhdmlvdXIgaWYgeW91IHNldCB0aGlzIHRvIHplcm8uAPAgQm90dG9tIGxpbmU6IERvIHlvdXJzZWxmIGEgZmF2b3VyIGFuZCBtYWtlIGl0IGF0IGxlYXN0IG9uZSEgTWF4TG9ja3MQEDIAAAAQ9CBUaGUgbWF4aW11bSBudW1iZXIgb2YgbG9ja3MgdGhhdCBzaG91bGQgZXhpc3Qgb24gYW4gYWNjb3VudC7cIE5vdCBzdHJpY3RseSBlbmZvcmNlZCwgYnV0IHVzZWQgZm9yIHdlaWdodCBlc3RpbWF0aW9uLgCtASBVc2Ugb2YgbG9ja3MgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgZnJlZXplcy4gU2VlIGBodHRwczovL2dpdGh1Yi5jb20vcGFyaXR5dGVjaC9zdWJzdHJhdGUvcHVsbC8xMjk1MS9gLE1heFJlc2VydmVzEBAyAAAADA0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBuYW1lZCByZXNlcnZlcyB0aGF0IGNhbiBleGlzdCBvbiBhbiBhY2NvdW50LgCxASBVc2Ugb2YgcmVzZXJ2ZXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgaG9sZHMuIFNlZSBgaHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvc3Vic3RyYXRlL3B1bGwvMTI5NTEvYChNYXhGcmVlemVzEBAAAAAABGEBIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpbmRpdmlkdWFsIGZyZWV6ZSBsb2NrcyB0aGF0IGNhbiBleGlzdCBvbiBhbiBhY2NvdW50IGF0IGFueSB0aW1lLgEVCAcASFRyYW5zYWN0aW9uUGF5bWVudAFIVHJhbnNhY3Rpb25QYXltZW50CEROZXh0RmVlTXVsdGlwbGllcgEAUQFAAABkp7O24A0AAAAAAAAAAAA4U3RvcmFnZVZlcnNpb24BABkIBAAAAAGEBGBPcGVyYXRpb25hbEZlZU11bHRpcGxpZXIIBABUWQEgQSBmZWUgbXVsdGlwbGllciBmb3IgYE9wZXJhdGlvbmFsYCBleHRyaW5zaWNzIHRvIGNvbXB1dGUgInZpcnR1YWwgdGlwIiB0byBib29zdCB0aGVpciwgYHByaW9yaXR5YABRASBUaGlzIHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgdGhlIGBmaW5hbF9mZWVgIHRvIG9idGFpbiBhICJ2aXJ0dWFsIHRpcCIgdGhhdCBpcyBsYXRlcvQgYWRkZWQgdG8gYSB0aXAgY29tcG9uZW50IGluIHJlZ3VsYXIgYHByaW9yaXR5YCBjYWxjdWxhdGlvbnMuTQEgSXQgbWVhbnMgdGhhdCBhIGBOb3JtYWxgIHRyYW5zYWN0aW9uIGNhbiBmcm9udC1ydW4gYSBzaW1pbGFybHktc2l6ZWQgYE9wZXJhdGlvbmFsYEEBIGV4dHJpbnNpYyAod2l0aCBubyB0aXApLCBieSBpbmNsdWRpbmcgYSB0aXAgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSB2aXJ0dWFsIHRpcC4APCBgYGBydXN0LGlnbm9yZUAgLy8gRm9yIGBOb3JtYWxgjCBsZXQgcHJpb3JpdHkgPSBwcmlvcml0eV9jYWxjKHRpcCk7AFQgLy8gRm9yIGBPcGVyYXRpb25hbGARASBsZXQgdmlydHVhbF90aXAgPSAoaW5jbHVzaW9uX2ZlZSArIHRpcCkgKiBPcGVyYXRpb25hbEZlZU11bHRpcGxpZXI7xCBsZXQgcHJpb3JpdHkgPSBwcmlvcml0eV9jYWxjKHRpcCArIHZpcnR1YWxfdGlwKTsQIGBgYABRASBOb3RlIHRoYXQgc2luY2Ugd2UgdXNlIGBmaW5hbF9mZWVgIHRoZSBtdWx0aXBsaWVyIGFwcGxpZXMgYWxzbyB0byB0aGUgcmVndWxhciBgdGlwYF0BIHNlbnQgd2l0aCB0aGUgdHJhbnNhY3Rpb24uIFNvLCBub3Qgb25seSBkb2VzIHRoZSB0cmFuc2FjdGlvbiBnZXQgYSBwcmlvcml0eSBidW1wIGJhc2VkYQEgb24gdGhlIGBpbmNsdXNpb25fZmVlYCwgYnV0IHdlIGFsc28gYW1wbGlmeSB0aGUgaW1wYWN0IG9mIHRpcHMgYXBwbGllZCB0byBgT3BlcmF0aW9uYWxgOCB0cmFuc2FjdGlvbnMuAAkAXE11bHRpVHJhbnNhY3Rpb25QYXltZW50AVxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudBBIQWNjb3VudEN1cnJlbmN5TWFwAAEEAgAQBAAEVCBBY2NvdW50IGN1cnJlbmN5IG1hcEhBY2NlcHRlZEN1cnJlbmNpZXMAAQQFEFEBBAAEZQEgQ3VyYXRlZCBsaXN0IG9mIGN1cnJlbmNpZXMgd2hpY2ggZmVlcyBjYW4gYmUgcGFpZCBtYXBwZWQgdG8gY29ycmVzcG9uZGluZyBmYWxsYmFjayBwcmljZVRBY2NlcHRlZEN1cnJlbmN5UHJpY2UAAQQFEFEBBAAEIQIgQXNzZXQgcHJpY2VzIGZyb20gdGhlIHNwb3QgcHJpY2UgcHJvdmlkZXIgb3IgdGhlIGZhbGxiYWNrIHByaWNlIGlmIHRoZSBwcmljZSBpcyBub3QgYXZhaWxhYmxlLiBVcGRhdGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgZXZlcnkgYmxvY2subFRyYW5zYWN0aW9uQ3VycmVuY3lPdmVycmlkZQABBAUAEAQAAAFNAQGIDDROYXRpdmVBc3NldElkEBAAAAAABDQgTmF0aXZlIEFzc2V0VFBvbGthZG90TmF0aXZlQXNzZXRJZBAQBQAAAARwIFBvbGthZG90IE5hdGl2ZSBBc3NldCAoRE9UKShFdm1Bc3NldElkEBAUAAAABCggRVZNIEFzc2V0AR0IywAgVHJlYXN1cnkBIFRyZWFzdXJ5GDRQcm9wb3NhbENvdW50AQAQEAAAAAAEpCBOdW1iZXIgb2YgcHJvcG9zYWxzIHRoYXQgaGF2ZSBiZWVuIG1hZGUuJFByb3Bvc2FscwABBAUQIQgEAAR8IFByb3Bvc2FscyB0aGF0IGhhdmUgYmVlbiBtYWRlLixEZWFjdGl2YXRlZAEAGEAAAAAAAAAAAAAAAAAAAAAABPAgVGhlIGFtb3VudCB3aGljaCBoYXMgYmVlbiByZXBvcnRlZCBhcyBpbmFjdGl2ZSB0byBDdXJyZW5jeS4kQXBwcm92YWxzAQAlCAQABPggUHJvcG9zYWwgaW5kaWNlcyB0aGF0IGhhdmUgYmVlbiBhcHByb3ZlZCBidXQgbm90IHlldCBhd2FyZGVkLihTcGVuZENvdW50AQAQEAAAAAAEpCBUaGUgY291bnQgb2Ygc3BlbmRzIHRoYXQgaGF2ZSBiZWVuIG1hZGUuGFNwZW5kcwABBAUQKQgEAATQIFNwZW5kcyB0aGF0IGhhdmUgYmVlbiBhcHByb3ZlZCBhbmQgYmVpbmcgcHJvY2Vzc2VkLgFlAQGMFCxTcGVuZFBlcmlvZBAQIBwAAASIIFBlcmlvZCBiZXR3ZWVuIHN1Y2Nlc3NpdmUgc3BlbmRzLhBCdXJuSQMQAAAAAAQRASBQZXJjZW50YWdlIG9mIHNwYXJlIGZ1bmRzIChpZiBhbnkpIHRoYXQgYXJlIGJ1cm50IHBlciBzcGVuZCBwZXJpb2QuIFBhbGxldElkMQggcHkvdHJzcnkEGQEgVGhlIHRyZWFzdXJ5J3MgcGFsbGV0IGlkLCB1c2VkIGZvciBkZXJpdmluZyBpdHMgc292ZXJlaWduIGFjY291bnQgSUQuME1heEFwcHJvdmFscxAQZAAAAAwVASBUaGUgbWF4aW11bSBudW1iZXIgb2YgYXBwcm92YWxzIHRoYXQgY2FuIHdhaXQgaW4gdGhlIHNwZW5kaW5nIHF1ZXVlLgBNASBOT1RFOiBUaGlzIHBhcmFtZXRlciBpcyBhbHNvIHVzZWQgd2l0aGluIHRoZSBCb3VudGllcyBQYWxsZXQgZXh0ZW5zaW9uIGlmIGVuYWJsZWQuMFBheW91dFBlcmlvZBAQwEsDAAQZASBUaGUgcGVyaW9kIGR1cmluZyB3aGljaCBhbiBhcHByb3ZlZCB0cmVhc3VyeSBzcGVuZCBoYXMgdG8gYmUgY2xhaW1lZC4BNQgLABxVdGlsaXR5AAFxAQGUBExiYXRjaGVkX2NhbGxzX2xpbWl0EBCqKgAABKggVGhlIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgYmF0Y2hlZCBjYWxscy4BOQgNACBQcmVpbWFnZQEgUHJlaW1hZ2UMJFN0YXR1c0ZvcgABBAY0PQgEAASQIFRoZSByZXF1ZXN0IHN0YXR1cyBvZiBhIGdpdmVuIGhhc2guQFJlcXVlc3RTdGF0dXNGb3IAAQQGNEUIBAAEkCBUaGUgcmVxdWVzdCBzdGF0dXMgb2YgYSBnaXZlbiBoYXNoLixQcmVpbWFnZUZvcgABBAZVCFkIBAAAAd0BAZwAAV0IDwAgSWRlbnRpdHkBIElkZW50aXR5HChJZGVudGl0eU9mAAEEBQBhCAQAEGkBIEluZm9ybWF0aW9uIHRoYXQgaXMgcGVydGluZW50IHRvIGlkZW50aWZ5IHRoZSBlbnRpdHkgYmVoaW5kIGFuIGFjY291bnQuIEZpcnN0IGl0ZW0gaXMgdGhl4CByZWdpc3RyYXRpb24sIHNlY29uZCBpcyB0aGUgYWNjb3VudCdzIHByaW1hcnkgdXNlcm5hbWUuAMAgVFdPWC1OT1RFOiBPSyDigJUgYEFjY291bnRJZGAgaXMgYSBzZWN1cmUgaGFzaC4cU3VwZXJPZgABBAIAfQIEAAhhASBUaGUgc3VwZXItaWRlbnRpdHkgb2YgYW4gYWx0ZXJuYXRpdmUgInN1YiIgaWRlbnRpdHkgdG9nZXRoZXIgd2l0aCBpdHMgbmFtZSwgd2l0aGluIHRoYXRRASBjb250ZXh0LiBJZiB0aGUgYWNjb3VudCBpcyBub3Qgc29tZSBvdGhlciBhY2NvdW50J3Mgc3ViLWlkZW50aXR5LCB0aGVuIGp1c3QgYE5vbmVgLhhTdWJzT2YBAQQFAHkIRAAAAAAAAAAAAAAAAAAAAAAAFLggQWx0ZXJuYXRpdmUgInN1YiIgaWRlbnRpdGllcyBvZiB0aGlzIGFjY291bnQuAB0BIFRoZSBmaXJzdCBpdGVtIGlzIHRoZSBkZXBvc2l0LCB0aGUgc2Vjb25kIGlzIGEgdmVjdG9yIG9mIHRoZSBhY2NvdW50cy4AwCBUV09YLU5PVEU6IE9LIOKAlSBgQWNjb3VudElkYCBpcyBhIHNlY3VyZSBoYXNoLihSZWdpc3RyYXJzAQCBCAQAEE0BIFRoZSBzZXQgb2YgcmVnaXN0cmFycy4gTm90IGV4cGVjdGVkIHRvIGdldCB2ZXJ5IGJpZyBhcyBjYW4gb25seSBiZSBhZGRlZCB0aHJvdWdoIGGoIHNwZWNpYWwgb3JpZ2luIChsaWtlbHkgYSBjb3VuY2lsIG1vdGlvbikuACkBIFRoZSBpbmRleCBpbnRvIHRoaXMgY2FuIGJlIGNhc3QgdG8gYFJlZ2lzdHJhckluZGV4YCB0byBnZXQgYSB2YWxpZCB2YWx1ZS5MVXNlcm5hbWVBdXRob3JpdGllcwABBAUAkQgEAAT0IEEgbWFwIG9mIHRoZSBhY2NvdW50cyB3aG8gYXJlIGF1dGhvcml6ZWQgdG8gZ3JhbnQgdXNlcm5hbWVzLkRBY2NvdW50T2ZVc2VybmFtZQABBAKkAAQAFG0BIFJldmVyc2UgbG9va3VwIGZyb20gYHVzZXJuYW1lYCB0byB0aGUgYEFjY291bnRJZGAgdGhhdCBoYXMgcmVnaXN0ZXJlZCBpdC4gVGhlIHZhbHVlIHNob3VsZGUBIGJlIGEga2V5IGluIHRoZSBgSWRlbnRpdHlPZmAgbWFwLCBidXQgaXQgbWF5IG5vdCBpZiB0aGUgdXNlciBoYXMgY2xlYXJlZCB0aGVpciBpZGVudGl0eS4AaQEgTXVsdGlwbGUgdXNlcm5hbWVzIG1heSBtYXAgdG8gdGhlIHNhbWUgYEFjY291bnRJZGAsIGJ1dCBgSWRlbnRpdHlPZmAgd2lsbCBvbmx5IG1hcCB0byBvbmVIIHByaW1hcnkgdXNlcm5hbWUuQFBlbmRpbmdVc2VybmFtZXMAAQQCpJkIBAAYbQEgVXNlcm5hbWVzIHRoYXQgYW4gYXV0aG9yaXR5IGhhcyBncmFudGVkLCBidXQgdGhhdCB0aGUgYWNjb3VudCBjb250cm9sbGVyIGhhcyBub3QgY29uZmlybWVkcQEgdGhhdCB0aGV5IHdhbnQgaXQuIFVzZWQgcHJpbWFyaWx5IGluIGNhc2VzIHdoZXJlIHRoZSBgQWNjb3VudElkYCBjYW5ub3QgcHJvdmlkZSBhIHNpZ25hdHVyZV0BIGJlY2F1c2UgdGhleSBhcmUgYSBwdXJlIHByb3h5LCBtdWx0aXNpZywgZXRjLiBJbiBvcmRlciB0byBjb25maXJtIGl0LCB0aGV5IHNob3VsZCBjYWxsbCBbYENhbGw6OmFjY2VwdF91c2VybmFtZWBdLgAdASBGaXJzdCB0dXBsZSBpdGVtIGlzIHRoZSBhY2NvdW50IGFuZCBzZWNvbmQgaXMgdGhlIGFjY2VwdGFuY2UgZGVhZGxpbmUuAeUBAaAgMEJhc2ljRGVwb3NpdBhAAEBjUr/GAQAAAAAAAAAAAATYIFRoZSBhbW91bnQgaGVsZCBvbiBkZXBvc2l0IGZvciBhIHJlZ2lzdGVyZWQgaWRlbnRpdHkuLEJ5dGVEZXBvc2l0GEAAoHJOGAkAAAAAAAAAAAAABB0BIFRoZSBhbW91bnQgaGVsZCBvbiBkZXBvc2l0IHBlciBlbmNvZGVkIGJ5dGUgZm9yIGEgcmVnaXN0ZXJlZCBpZGVudGl0eS5EU3ViQWNjb3VudERlcG9zaXQYQABAY1K/xgEAAAAAAAAAAAAMZQEgVGhlIGFtb3VudCBoZWxkIG9uIGRlcG9zaXQgZm9yIGEgcmVnaXN0ZXJlZCBzdWJhY2NvdW50LiBUaGlzIHNob3VsZCBhY2NvdW50IGZvciB0aGUgZmFjdGUBIHRoYXQgb25lIHN0b3JhZ2UgaXRlbSdzIHZhbHVlIHdpbGwgaW5jcmVhc2UgYnkgdGhlIHNpemUgb2YgYW4gYWNjb3VudCBJRCwgYW5kIHRoZXJlIHdpbGw1ASBiZSBhbm90aGVyIHRyaWUgaXRlbSB3aG9zZSB2YWx1ZSBpcyB0aGUgc2l6ZSBvZiBhbiBhY2NvdW50IElEIHBsdXMgMzIgYnl0ZXMuOE1heFN1YkFjY291bnRzEBBkAAAABA0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBzdWItYWNjb3VudHMgYWxsb3dlZCBwZXIgaWRlbnRpZmllZCBhY2NvdW50LjRNYXhSZWdpc3RyYXJzEBAUAAAACE0BIE1heGltdW0gbnVtYmVyIG9mIHJlZ2lzdHJhcnMgYWxsb3dlZCBpbiB0aGUgc3lzdGVtLiBOZWVkZWQgdG8gYm91bmQgdGhlIGNvbXBsZXhpdHl8IG9mLCBlLmcuLCB1cGRhdGluZyBqdWRnZW1lbnRzLmRQZW5kaW5nVXNlcm5hbWVFeHBpcmF0aW9uEBDgxAAABBUBIFRoZSBudW1iZXIgb2YgYmxvY2tzIHdpdGhpbiB3aGljaCBhIHVzZXJuYW1lIGdyYW50IG11c3QgYmUgYWNjZXB0ZWQuPE1heFN1ZmZpeExlbmd0aBAQBwAAAASAIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhIHN1ZmZpeC5ETWF4VXNlcm5hbWVMZW5ndGgQECAAAAAEYQEgVGhlIG1heGltdW0gbGVuZ3RoIG9mIGEgdXNlcm5hbWUsIGluY2x1ZGluZyBpdHMgc3VmZml4IGFuZCBhbnkgc3lzdGVtLWFkZGVkIGRlbGltaXRlcnMuAZ0IEQAkRGVtb2NyYWN5ASREZW1vY3JhY3kwPFB1YmxpY1Byb3BDb3VudAEAEBAAAAAABPQgVGhlIG51bWJlciBvZiAocHVibGljKSBwcm9wb3NhbHMgdGhhdCBoYXZlIGJlZW4gbWFkZSBzbyBmYXIuLFB1YmxpY1Byb3BzAQChCAQABAUBIFRoZSBwdWJsaWMgcHJvcG9zYWxzLiBVbnNvcnRlZC4gVGhlIHNlY29uZCBpdGVtIGlzIHRoZSBwcm9wb3NhbC4kRGVwb3NpdE9mAAEEBRCtCAQADIQgVGhvc2Ugd2hvIGhhdmUgbG9ja2VkIGEgZGVwb3NpdC4A2CBUV09YLU5PVEU6IFNhZmUsIGFzIGluY3JlYXNpbmcgaW50ZWdlciBrZXlzIGFyZSBzYWZlLjxSZWZlcmVuZHVtQ291bnQBABAQAAAAAAQxASBUaGUgbmV4dCBmcmVlIHJlZmVyZW5kdW0gaW5kZXgsIGFrYSB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kYSBzdGFydGVkIHNvIGZhci40TG93ZXN0VW5iYWtlZAEAEBAAAAAACCUBIFRoZSBsb3dlc3QgcmVmZXJlbmR1bSBpbmRleCByZXByZXNlbnRpbmcgYW4gdW5iYWtlZCByZWZlcmVuZHVtLiBFcXVhbCB0b9wgYFJlZmVyZW5kdW1Db3VudGAgaWYgdGhlcmUgaXNuJ3QgYSB1bmJha2VkIHJlZmVyZW5kdW0uQFJlZmVyZW5kdW1JbmZvT2YAAQQFELUIBAAMtCBJbmZvcm1hdGlvbiBjb25jZXJuaW5nIGFueSBnaXZlbiByZWZlcmVuZHVtLgAJASBUV09YLU5PVEU6IFNBRkUgYXMgaW5kZXhlcyBhcmUgbm90IHVuZGVyIGFuIGF0dGFja2Vy4oCZcyBjb250cm9sLiBWb3RpbmdPZgEBBAUAwQjYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEF0BIEFsbCB2b3RlcyBmb3IgYSBwYXJ0aWN1bGFyIHZvdGVyLiBXZSBzdG9yZSB0aGUgYmFsYW5jZSBmb3IgdGhlIG51bWJlciBvZiB2b3RlcyB0aGF0IHdlXQEgaGF2ZSByZWNvcmRlZC4gVGhlIHNlY29uZCBpdGVtIGlzIHRoZSB0b3RhbCBhbW91bnQgb2YgZGVsZWdhdGlvbnMsIHRoYXQgd2lsbCBiZSBhZGRlZC4A6CBUV09YLU5PVEU6IFNBRkUgYXMgYEFjY291bnRJZGBzIGFyZSBjcnlwdG8gaGFzaGVzIGFueXdheS5UTGFzdFRhYmxlZFdhc0V4dGVybmFsAQAgBAAIWQEgVHJ1ZSBpZiB0aGUgbGFzdCByZWZlcmVuZHVtIHRhYmxlZCB3YXMgc3VibWl0dGVkIGV4dGVybmFsbHkuIEZhbHNlIGlmIGl0IHdhcyBhIHB1YmxpYyggcHJvcG9zYWwuME5leHRFeHRlcm5hbAAA2QgEABBZASBUaGUgcmVmZXJlbmR1bSB0byBiZSB0YWJsZWQgd2hlbmV2ZXIgaXQgd291bGQgYmUgdmFsaWQgdG8gdGFibGUgYW4gZXh0ZXJuYWwgcHJvcG9zYWwuVQEgVGhpcyBoYXBwZW5zIHdoZW4gYSByZWZlcmVuZHVtIG5lZWRzIHRvIGJlIHRhYmxlZCBhbmQgb25lIG9mIHR3byBjb25kaXRpb25zIGFyZSBtZXQ6pCAtIGBMYXN0VGFibGVkV2FzRXh0ZXJuYWxgIGlzIGBmYWxzZWA7IG9yaCAtIGBQdWJsaWNQcm9wc2AgaXMgZW1wdHkuJEJsYWNrbGlzdAABBAY03QgEAAhRASBBIHJlY29yZCBvZiB3aG8gdmV0b2VkIHdoYXQuIE1hcHMgcHJvcG9zYWwgaGFzaCB0byBhIHBvc3NpYmxlIGV4aXN0ZW50IGJsb2NrIG51bWJlcuggKHVudGlsIHdoZW4gaXQgbWF5IG5vdCBiZSByZXN1Ym1pdHRlZCkgYW5kIHdobyB2ZXRvZWQgaXQuNENhbmNlbGxhdGlvbnMBAQQGNCAEAAQpASBSZWNvcmQgb2YgYWxsIHByb3Bvc2FscyB0aGF0IGhhdmUgYmVlbiBzdWJqZWN0IHRvIGVtZXJnZW5jeSBjYW5jZWxsYXRpb24uKE1ldGFkYXRhT2YAAQQCuDQEABjsIEdlbmVyYWwgaW5mb3JtYXRpb24gY29uY2VybmluZyBhbnkgcHJvcG9zYWwgb3IgcmVmZXJlbmR1bS5JASBUaGUgYEhhc2hgIHJlZmVycyB0byB0aGUgcHJlaW1hZ2Ugb2YgdGhlIGBQcmVpbWFnZXNgIHByb3ZpZGVyIHdoaWNoIGNhbiBiZSBhIEpTT06IIGR1bXAgb3IgSVBGUyBoYXNoIG9mIGEgSlNPTiBmaWxlLgB1ASBDb25zaWRlciBhIGdhcmJhZ2UgY29sbGVjdGlvbiBmb3IgYSBtZXRhZGF0YSBvZiBmaW5pc2hlZCByZWZlcmVuZHVtcyB0byBgdW5yZXF1ZXN0YCAocmVtb3ZlKUQgbGFyZ2UgcHJlaW1hZ2VzLgGVAgGoMDxFbmFjdG1lbnRQZXJpb2QQECAcAAAU6CBUaGUgcGVyaW9kIGJldHdlZW4gYSBwcm9wb3NhbCBiZWluZyBhcHByb3ZlZCBhbmQgZW5hY3RlZC4AMQEgSXQgc2hvdWxkIGdlbmVyYWxseSBiZSBhIGxpdHRsZSBtb3JlIHRoYW4gdGhlIHVuc3Rha2UgcGVyaW9kIHRvIGVuc3VyZSB0aGF0UQEgdm90aW5nIHN0YWtlcnMgaGF2ZSBhbiBvcHBvcnR1bml0eSB0byByZW1vdmUgdGhlbXNlbHZlcyBmcm9tIHRoZSBzeXN0ZW0gaW4gdGhlIGNhc2W0IHdoZXJlIHRoZXkgYXJlIG9uIHRoZSBsb3Npbmcgc2lkZSBvZiBhIHZvdGUuMExhdW5jaFBlcmlvZBAQYFQAAATkIEhvdyBvZnRlbiAoaW4gYmxvY2tzKSBuZXcgcHVibGljIHJlZmVyZW5kYSBhcmUgbGF1bmNoZWQuMFZvdGluZ1BlcmlvZBAQYFQAAAS4IEhvdyBvZnRlbiAoaW4gYmxvY2tzKSB0byBjaGVjayBmb3IgbmV3IHZvdGVzLkRWb3RlTG9ja2luZ1BlcmlvZBAQwKgAABCQIFRoZSBtaW5pbXVtIHBlcmlvZCBvZiB2b3RlIGxvY2tpbmcuAGUBIEl0IHNob3VsZCBiZSBubyBzaG9ydGVyIHRoYW4gZW5hY3RtZW50IHBlcmlvZCB0byBlbnN1cmUgdGhhdCBpbiB0aGUgY2FzZSBvZiBhbiBhcHByb3ZhbCxJASB0aG9zZSBzdWNjZXNzZnVsIHZvdGVycyBhcmUgbG9ja2VkIGludG8gdGhlIGNvbnNlcXVlbmNlcyB0aGF0IHRoZWlyIHZvdGVzIGVudGFpbC44TWluaW11bURlcG9zaXQYQAAAil14RWMBAAAAAAAAAAAENQEgVGhlIG1pbmltdW0gYW1vdW50IHRvIGJlIHVzZWQgYXMgYSBkZXBvc2l0IGZvciBhIHB1YmxpYyByZWZlcmVuZHVtIHByb3Bvc2FsLjhJbnN0YW50QWxsb3dlZCAEAQxVASBJbmRpY2F0b3IgZm9yIHdoZXRoZXIgYW4gZW1lcmdlbmN5IG9yaWdpbiBpcyBldmVuIGFsbG93ZWQgdG8gaGFwcGVuLiBTb21lIGNoYWlucyBtYXlhASB3YW50IHRvIHNldCB0aGlzIHBlcm1hbmVudGx5IHRvIGBmYWxzZWAsIG90aGVycyBtYXkgd2FudCB0byBjb25kaXRpb24gaXQgb24gdGhpbmdzIHN1Y2igIGFzIGFuIHVwZ3JhZGUgaGF2aW5nIGhhcHBlbmVkIHJlY2VudGx5LlRGYXN0VHJhY2tWb3RpbmdQZXJpb2QQEIQDAAAE7CBNaW5pbXVtIHZvdGluZyBwZXJpb2QgYWxsb3dlZCBmb3IgYSBmYXN0LXRyYWNrIHJlZmVyZW5kdW0uNENvb2xvZmZQZXJpb2QQEODEAAAEYQEgUGVyaW9kIGluIGJsb2NrcyB3aGVyZSBhbiBleHRlcm5hbCBwcm9wb3NhbCBtYXkgbm90IGJlIHJlLXN1Ym1pdHRlZCBhZnRlciBiZWluZyB2ZXRvZWQuIE1heFZvdGVzEBBkAAAAELAgVGhlIG1heGltdW0gbnVtYmVyIG9mIHZvdGVzIGZvciBhbiBhY2NvdW50LgDUIEFsc28gdXNlZCB0byBjb21wdXRlIHdlaWdodCwgYW4gb3Zlcmx5IGJpZyB2YWx1ZSBjYW4VASBsZWFkIHRvIGV4dHJpbnNpYyB3aXRoIHZlcnkgYmlnIHdlaWdodDogc2VlIGBkZWxlZ2F0ZWAgZm9yIGluc3RhbmNlLjBNYXhQcm9wb3NhbHMQEGQAAAAEDQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIHB1YmxpYyBwcm9wb3NhbHMgdGhhdCBjYW4gZXhpc3QgYXQgYW55IHRpbWUuLE1heERlcG9zaXRzEBBkAAAABB0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBkZXBvc2l0cyBhIHB1YmxpYyBwcm9wb3NhbCBtYXkgaGF2ZSBhdCBhbnkgdGltZS44TWF4QmxhY2tsaXN0ZWQQEGQAAAAE2CBUaGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgd2hpY2ggY2FuIGJlIGJsYWNrbGlzdGVkLgHhCBMAJEVsZWN0aW9ucwEkRWxlY3Rpb25zFBxNZW1iZXJzAQDlCAQADHQgVGhlIGN1cnJlbnQgZWxlY3RlZCBtZW1iZXJzLgC4IEludmFyaWFudDogQWx3YXlzIHNvcnRlZCBiYXNlZCBvbiBhY2NvdW50IGlkLiRSdW5uZXJzVXABAOUIBAAQhCBUaGUgY3VycmVudCByZXNlcnZlZCBydW5uZXJzLXVwLgBZASBJbnZhcmlhbnQ6IEFsd2F5cyBzb3J0ZWQgYmFzZWQgb24gcmFuayAod29yc2UgdG8gYmVzdCkuIFVwb24gcmVtb3ZhbCBvZiBhIG1lbWJlciwgdGhlvCBsYXN0IChpLmUuIF9iZXN0XykgcnVubmVyLXVwIHdpbGwgYmUgcmVwbGFjZWQuKENhbmRpZGF0ZXMBAMAEABhZASBUaGUgcHJlc2VudCBjYW5kaWRhdGUgbGlzdC4gQSBjdXJyZW50IG1lbWJlciBvciBydW5uZXItdXAgY2FuIG5ldmVyIGVudGVyIHRoaXMgdmVjdG9y0CBhbmQgaXMgYWx3YXlzIGltcGxpY2l0bHkgYXNzdW1lZCB0byBiZSBhIGNhbmRpZGF0ZS4AfCBTZWNvbmQgZWxlbWVudCBpcyB0aGUgZGVwb3NpdC4AuCBJbnZhcmlhbnQ6IEFsd2F5cyBzb3J0ZWQgYmFzZWQgb24gYWNjb3VudCBpZC44RWxlY3Rpb25Sb3VuZHMBABAQAAAAAARBASBUaGUgdG90YWwgbnVtYmVyIG9mIHZvdGUgcm91bmRzIHRoYXQgaGF2ZSBoYXBwZW5lZCwgZXhjbHVkaW5nIHRoZSB1cGNvbWluZyBvbmUuGFZvdGluZwEBBAUA7QiEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLggVm90ZXMgYW5kIGxvY2tlZCBzdGFrZSBvZiBhIHBhcnRpY3VsYXIgdm90ZXIuAMQgVFdPWC1OT1RFOiBTQUZFIGFzIGBBY2NvdW50SWRgIGlzIGEgY3J5cHRvIGhhc2guAaECAbwoIFBhbGxldElkFQIgcGhyZWxlY3QE0CBJZGVudGlmaWVyIGZvciB0aGUgZWxlY3Rpb25zLXBocmFnbWVuIHBhbGxldCdzIGxvY2s0Q2FuZGlkYWN5Qm9uZBhAAEBjUr/GAQAAAAAAAAAAAAQFASBIb3cgbXVjaCBzaG91bGQgYmUgbG9ja2VkIHVwIGluIG9yZGVyIHRvIHN1Ym1pdCBvbmUncyBjYW5kaWRhY3kuOFZvdGluZ0JvbmRCYXNlGEAAEKXU6AAAAAAAAAAAAAAAEJQgQmFzZSBkZXBvc2l0IGFzc29jaWF0ZWQgd2l0aCB2b3RpbmcuAFUBIFRoaXMgc2hvdWxkIGJlIHNlbnNpYmx5IGhpZ2ggdG8gZWNvbm9taWNhbGx5IGVuc3VyZSB0aGUgcGFsbGV0IGNhbm5vdCBiZSBhdHRhY2tlZCBieZQgY3JlYXRpbmcgYSBnaWdhbnRpYyBudW1iZXIgb2Ygdm90ZXMuQFZvdGluZ0JvbmRGYWN0b3IYQAAQpdToAAAAAAAAAAAAAAAEEQEgVGhlIGFtb3VudCBvZiBib25kIHRoYXQgbmVlZCB0byBiZSBsb2NrZWQgZm9yIGVhY2ggdm90ZSAoMzIgYnl0ZXMpLjhEZXNpcmVkTWVtYmVycxAQDQAAAARwIE51bWJlciBvZiBtZW1iZXJzIHRvIGVsZWN0LkBEZXNpcmVkUnVubmVyc1VwEBAPAAAABHggTnVtYmVyIG9mIHJ1bm5lcnNfdXAgdG8ga2VlcC4wVGVybUR1cmF0aW9uEBDgxAAADFEBIEhvdyBsb25nIGVhY2ggc2VhdCBpcyBrZXB0LiBUaGlzIGRlZmluZXMgdGhlIG5leHQgYmxvY2sgbnVtYmVyIGF0IHdoaWNoIGFuIGVsZWN0aW9uXQEgcm91bmQgd2lsbCBoYXBwZW4uIElmIHNldCB0byB6ZXJvLCBubyBlbGVjdGlvbnMgYXJlIGV2ZXIgdHJpZ2dlcmVkIGFuZCB0aGUgbW9kdWxlIHdpbGxQIGJlIGluIHBhc3NpdmUgbW9kZS40TWF4Q2FuZGlkYXRlcxAQZAAAABjkIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjYW5kaWRhdGVzIGluIGEgcGhyYWdtZW4gZWxlY3Rpb24uAF0BIFdhcm5pbmc6IFRoaXMgaW1wYWN0cyB0aGUgc2l6ZSBvZiB0aGUgZWxlY3Rpb24gd2hpY2ggaXMgcnVuIG9uY2hhaW4uIENob3NlIHdpc2VseSwgYW5kAQEgY29uc2lkZXIgaG93IGl0IHdpbGwgaW1wYWN0IGBUOjpXZWlnaHRJbmZvOjplbGVjdGlvbl9waHJhZ21lbmAuADEBIFdoZW4gdGhpcyBsaW1pdCBpcyByZWFjaGVkIG5vIG1vcmUgY2FuZGlkYXRlcyBhcmUgYWNjZXB0ZWQgaW4gdGhlIGVsZWN0aW9uLiRNYXhWb3RlcnMQEAADAAAY+CBUaGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZXJzIHRvIGFsbG93IGluIGEgcGhyYWdtZW4gZWxlY3Rpb24uAF0BIFdhcm5pbmc6IFRoaXMgaW1wYWN0cyB0aGUgc2l6ZSBvZiB0aGUgZWxlY3Rpb24gd2hpY2ggaXMgcnVuIG9uY2hhaW4uIENob3NlIHdpc2VseSwgYW5kAQEgY29uc2lkZXIgaG93IGl0IHdpbGwgaW1wYWN0IGBUOjpXZWlnaHRJbmZvOjplbGVjdGlvbl9waHJhZ21lbmAuANggV2hlbiB0aGUgbGltaXQgaXMgcmVhY2hlZCB0aGUgbmV3IHZvdGVycyBhcmUgaWdub3JlZC5ATWF4Vm90ZXNQZXJWb3RlchAQCgAAABCQIE1heGltdW0gbnVtYmVycyBvZiB2b3RlcyBwZXIgdm90ZXIuAF0BIFdhcm5pbmc6IFRoaXMgaW1wYWN0cyB0aGUgc2l6ZSBvZiB0aGUgZWxlY3Rpb24gd2hpY2ggaXMgcnVuIG9uY2hhaW4uIENob3NlIHdpc2VseSwgYW5kAQEgY29uc2lkZXIgaG93IGl0IHdpbGwgaW1wYWN0IGBUOjpXZWlnaHRJbmZvOjplbGVjdGlvbl9waHJhZ21lbmAuAfEIFQAcQ291bmNpbAEcQ291bmNpbBgkUHJvcG9zYWxzAQD1CAQABJAgVGhlIGhhc2hlcyBvZiB0aGUgYWN0aXZlIHByb3Bvc2Fscy4oUHJvcG9zYWxPZgABBAY0JQEEAATMIEFjdHVhbCBwcm9wb3NhbCBmb3IgYSBnaXZlbiBoYXNoLCBpZiBpdCdzIGN1cnJlbnQuGFZvdGluZwABBAY0+QgEAAS0IFZvdGVzIG9uIGEgZ2l2ZW4gcHJvcG9zYWwsIGlmIGl0IGlzIG9uZ29pbmcuNFByb3Bvc2FsQ291bnQBABAQAAAAAARIIFByb3Bvc2FscyBzbyBmYXIuHE1lbWJlcnMBAEUBBAAEOQEgVGhlIGN1cnJlbnQgbWVtYmVycyBvZiB0aGUgY29sbGVjdGl2ZS4gVGhpcyBpcyBzdG9yZWQgc29ydGVkIChqdXN0IGJ5IHZhbHVlKS4UUHJpbWUAAAAEAARhASBUaGUgcHJpbWUgbWVtYmVyIHRoYXQgaGVscHMgZGV0ZXJtaW5lIHRoZSBkZWZhdWx0IHZvdGUgYmVoYXZpb3IgaW4gY2FzZSBvZiBhYnN0ZW50aW9ucy4BqQIByARETWF4UHJvcG9zYWxXZWlnaHQoKAcARCk1OgIAoAAEJQEgVGhlIG1heGltdW0gd2VpZ2h0IG9mIGEgZGlzcGF0Y2ggY2FsbCB0aGF0IGNhbiBiZSBwcm9wb3NlZCBhbmQgZXhlY3V0ZWQuAf0IFwBIVGVjaG5pY2FsQ29tbWl0dGVlAUhUZWNobmljYWxDb21taXR0ZWUYJFByb3Bvc2FscwEAAQkEAASQIFRoZSBoYXNoZXMgb2YgdGhlIGFjdGl2ZSBwcm9wb3NhbHMuKFByb3Bvc2FsT2YAAQQGNCUBBAAEzCBBY3R1YWwgcHJvcG9zYWwgZm9yIGEgZ2l2ZW4gaGFzaCwgaWYgaXQncyBjdXJyZW50LhhWb3RpbmcAAQQGNPkIBAAEtCBWb3RlcyBvbiBhIGdpdmVuIHByb3Bvc2FsLCBpZiBpdCBpcyBvbmdvaW5nLjRQcm9wb3NhbENvdW50AQAQEAAAAAAESCBQcm9wb3NhbHMgc28gZmFyLhxNZW1iZXJzAQBFAQQABDkBIFRoZSBjdXJyZW50IG1lbWJlcnMgb2YgdGhlIGNvbGxlY3RpdmUuIFRoaXMgaXMgc3RvcmVkIHNvcnRlZCAoanVzdCBieSB2YWx1ZSkuFFByaW1lAAAABAAEYQEgVGhlIHByaW1lIG1lbWJlciB0aGF0IGhlbHBzIGRldGVybWluZSB0aGUgZGVmYXVsdCB2b3RlIGJlaGF2aW9yIGluIGNhc2Ugb2YgYWJzdGVudGlvbnMuAa0CAcwERE1heFByb3Bvc2FsV2VpZ2h0KCgHAEQpNToCAKAABCUBIFRoZSBtYXhpbXVtIHdlaWdodCBvZiBhIGRpc3BhdGNoIGNhbGwgdGhhdCBjYW4gYmUgcHJvcG9zZWQgYW5kIGV4ZWN1dGVkLgEFCRkAEFRpcHMBEFRpcHMIEFRpcHMAAQQFNAkJBAAMZQEgVGlwc01hcCB0aGF0IGFyZSBub3QgeWV0IGNvbXBsZXRlZC4gS2V5ZWQgYnkgdGhlIGhhc2ggb2YgYChyZWFzb24sIHdobylgIGZyb20gdGhlIHZhbHVlLj0BIFRoaXMgaGFzIHRoZSBpbnNlY3VyZSBlbnVtZXJhYmxlIGhhc2ggZnVuY3Rpb24gc2luY2UgdGhlIGtleSBpdHNlbGYgaXMgYWxyZWFkeYAgZ3VhcmFudGVlZCB0byBiZSBhIHNlY3VyZSBoYXNoLhxSZWFzb25zAAEEBjQ4BAAISQEgU2ltcGxlIHByZWltYWdlIGxvb2t1cCBmcm9tIHRoZSByZWFzb24ncyBoYXNoIHRvIHRoZSBvcmlnaW5hbCBkYXRhLiBBZ2FpbiwgaGFzIGFuYQEgaW5zZWN1cmUgZW51bWVyYWJsZSBoYXNoIHNpbmNlIHRoZSBrZXkgaXMgZ3VhcmFudGVlZCB0byBiZSB0aGUgcmVzdWx0IG9mIGEgc2VjdXJlIGhhc2guAbECAdAYTE1heGltdW1SZWFzb25MZW5ndGgQEAAEAAAMiCBNYXhpbXVtIGFjY2VwdGFibGUgcmVhc29uIGxlbmd0aC4AZQEgQmVuY2htYXJrcyBkZXBlbmQgb24gdGhpcyB2YWx1ZSwgYmUgc3VyZSB0byB1cGRhdGUgd2VpZ2h0cyBmaWxlIHdoZW4gY2hhbmdpbmcgdGhpcyB2YWx1ZUhEYXRhRGVwb3NpdFBlckJ5dGUYQAAQpdToAAAAAAAAAAAAAAAEYQEgVGhlIGFtb3VudCBoZWxkIG9uIGRlcG9zaXQgcGVyIGJ5dGUgd2l0aGluIHRoZSB0aXAgcmVwb3J0IHJlYXNvbiBvciBib3VudHkgZGVzY3JpcHRpb24uMFRpcENvdW50ZG93bhAQIBwAAARFASBUaGUgcGVyaW9kIGZvciB3aGljaCBhIHRpcCByZW1haW5zIG9wZW4gYWZ0ZXIgaXMgaGFzIGFjaGlldmVkIHRocmVzaG9sZCB0aXBwZXJzLjRUaXBGaW5kZXJzRmVlDQkEAQQ1ASBUaGUgcGVyY2VudCBvZiB0aGUgZmluYWwgdGlwIHdoaWNoIGdvZXMgdG8gdGhlIG9yaWdpbmFsIHJlcG9ydGVyIG9mIHRoZSB0aXAuUFRpcFJlcG9ydERlcG9zaXRCYXNlGEAAgMakfo0DAAAAAAAAAAAABPggVGhlIG5vbi16ZXJvIGFtb3VudCBoZWxkIG9uIGRlcG9zaXQgZm9yIHBsYWNpbmcgYSB0aXAgcmVwb3J0LjBNYXhUaXBBbW91bnQYQAAA9ESCkWNFAAAAAAAAAAAElCBUaGUgbWF4aW11bSBhbW91bnQgZm9yIGEgc2luZ2xlIHRpcC4BEQkbABRQcm94eQEUUHJveHkIHFByb3hpZXMBAQQFABUJRAAAAAAAAAAAAAAAAAAAAAAACEUBIFRoZSBzZXQgb2YgYWNjb3VudCBwcm94aWVzLiBNYXBzIHRoZSBhY2NvdW50IHdoaWNoIGhhcyBkZWxlZ2F0ZWQgdG8gdGhlIGFjY291bnRzIQEgd2hpY2ggYXJlIGJlaW5nIGRlbGVnYXRlZCB0bywgdG9nZXRoZXIgd2l0aCB0aGUgYW1vdW50IGhlbGQgb24gZGVwb3NpdC40QW5ub3VuY2VtZW50cwEBBAUAJQlEAAAAAAAAAAAAAAAAAAAAAAAErCBUaGUgYW5ub3VuY2VtZW50cyBtYWRlIGJ5IHRoZSBwcm94eSAoa2V5KS4BtQIB1BhAUHJveHlEZXBvc2l0QmFzZRhAAOARAh62AAAAAAAAAAAAABARASBUaGUgYmFzZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHRvIHJlc2VydmUgZm9yIGNyZWF0aW5nIGEgcHJveHkuAAEBIFRoaXMgaXMgaGVsZCBmb3IgYW4gYWRkaXRpb25hbCBzdG9yYWdlIGl0ZW0gd2hvc2UgdmFsdWUgc2l6ZSBpcyUBIGBzaXplb2YoQmFsYW5jZSlgIGJ5dGVzIGFuZCB3aG9zZSBrZXkgc2l6ZSBpcyBgc2l6ZW9mKEFjY291bnRJZClgIGJ5dGVzLkhQcm94eURlcG9zaXRGYWN0b3IYQAAsmYDmAAAAAAAAAAAAAAAUvCBUaGUgYW1vdW50IG9mIGN1cnJlbmN5IG5lZWRlZCBwZXIgcHJveHkgYWRkZWQuADUBIFRoaXMgaXMgaGVsZCBmb3IgYWRkaW5nIDMyIGJ5dGVzIHBsdXMgYW4gaW5zdGFuY2Ugb2YgYFByb3h5VHlwZWAgbW9yZSBpbnRvIGFhASBwcmUtZXhpc3Rpbmcgc3RvcmFnZSB2YWx1ZS4gVGh1cywgd2hlbiBjb25maWd1cmluZyBgUHJveHlEZXBvc2l0RmFjdG9yYCBvbmUgc2hvdWxkIHRha2X0IGludG8gYWNjb3VudCBgMzIgKyBwcm94eV90eXBlLmVuY29kZSgpLmxlbigpYCBieXRlcyBvZiBkYXRhLihNYXhQcm94aWVzEBAgAAAABPAgVGhlIG1heGltdW0gYW1vdW50IG9mIHByb3hpZXMgYWxsb3dlZCBmb3IgYSBzaW5nbGUgYWNjb3VudC4oTWF4UGVuZGluZxAQIAAAAARFASBUaGUgbWF4aW11bSBhbW91bnQgb2YgdGltZS1kZWxheWVkIGFubm91bmNlbWVudHMgdGhhdCBhcmUgYWxsb3dlZCB0byBiZSBwZW5kaW5nLlxBbm5vdW5jZW1lbnREZXBvc2l0QmFzZRhAAOARAh62AAAAAAAAAAAAABAxASBUaGUgYmFzZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHRvIHJlc2VydmUgZm9yIGNyZWF0aW5nIGFuIGFubm91bmNlbWVudC4ASQEgVGhpcyBpcyBoZWxkIHdoZW4gYSBuZXcgc3RvcmFnZSBpdGVtIGhvbGRpbmcgYSBgQmFsYW5jZWAgaXMgY3JlYXRlZCAodHlwaWNhbGx5IDE2ICBieXRlcykuZEFubm91bmNlbWVudERlcG9zaXRGYWN0b3IYQABYMgHNAQAAAAAAAAAAAAAQ1CBUaGUgYW1vdW50IG9mIGN1cnJlbmN5IG5lZWRlZCBwZXIgYW5ub3VuY2VtZW50IG1hZGUuAFkBIFRoaXMgaXMgaGVsZCBmb3IgYWRkaW5nIGFuIGBBY2NvdW50SWRgLCBgSGFzaGAgYW5kIGBCbG9ja051bWJlcmAgKHR5cGljYWxseSA2OCBieXRlcymMIGludG8gYSBwcmUtZXhpc3Rpbmcgc3RvcmFnZSB2YWx1ZS4BNQkdACBNdWx0aXNpZwEgTXVsdGlzaWcEJE11bHRpc2lncwABCAUCOQk9CQQABJQgVGhlIHNldCBvZiBvcGVuIG11bHRpc2lnIG9wZXJhdGlvbnMuAb0CAeAMLERlcG9zaXRCYXNlGEAAoDfNTLgAAAAAAAAAAAAAGFkBIFRoZSBiYXNlIGFtb3VudCBvZiBjdXJyZW5jeSBuZWVkZWQgdG8gcmVzZXJ2ZSBmb3IgY3JlYXRpbmcgYSBtdWx0aXNpZyBleGVjdXRpb24gb3IgdG+EIHN0b3JlIGEgZGlzcGF0Y2ggY2FsbCBmb3IgbGF0ZXIuAAEBIFRoaXMgaXMgaGVsZCBmb3IgYW4gYWRkaXRpb25hbCBzdG9yYWdlIGl0ZW0gd2hvc2UgdmFsdWUgc2l6ZSBpczEBIGA0ICsgc2l6ZW9mKChCbG9ja051bWJlciwgQmFsYW5jZSwgQWNjb3VudElkKSlgIGJ5dGVzIGFuZCB3aG9zZSBrZXkgc2l6ZSBpc4AgYDMyICsgc2l6ZW9mKEFjY291bnRJZClgIGJ5dGVzLjREZXBvc2l0RmFjdG9yGEAAgHWE3wAAAAAAAAAAAAAADFUBIFRoZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHBlciB1bml0IHRocmVzaG9sZCB3aGVuIGNyZWF0aW5nIGEgbXVsdGlzaWcgZXhlY3V0aW9uLgAlASBUaGlzIGlzIGhlbGQgZm9yIGFkZGluZyAzMiBieXRlcyBtb3JlIGludG8gYSBwcmUtZXhpc3Rpbmcgc3RvcmFnZSB2YWx1ZS44TWF4U2lnbmF0b3JpZXMQEGQAAAAE7CBUaGUgbWF4aW11bSBhbW91bnQgb2Ygc2lnbmF0b3JpZXMgYWxsb3dlZCBpbiB0aGUgbXVsdGlzaWcuAUUJHwAcVW5pcXVlcwEcVW5pcXVlcygUQ2xhc3MAAQQCGEkJBAAEZCBEZXRhaWxzIG9mIGEgY29sbGVjdGlvbi5MT3duZXJzaGlwQWNjZXB0YW5jZQABBAIAGAQABCkBIFRoZSBjb2xsZWN0aW9uLCBpZiBhbnksIG9mIHdoaWNoIGFuIGFjY291bnQgaXMgd2lsbGluZyB0byB0YWtlIG93bmVyc2hpcC4cQWNjb3VudAABDAICAk0JkAQACFkBIFRoZSBpdGVtcyBoZWxkIGJ5IGFueSBnaXZlbiBhY2NvdW50OyBzZXQgb3V0IHRoaXMgd2F5IHNvIHRoYXQgaXRlbXMgb3duZWQgYnkgYSBzaW5nbGVsIGFjY291bnQgY2FuIGJlIGVudW1lcmF0ZWQuMENsYXNzQWNjb3VudAABCAICxJAEAAhpASBUaGUgY29sbGVjdGlvbnMgb3duZWQgYnkgYW55IGdpdmVuIGFjY291bnQ7IHNldCBvdXQgdGhpcyB3YXkgc28gdGhhdCBjb2xsZWN0aW9ucyBvd25lZCBieZAgYSBzaW5nbGUgYWNjb3VudCBjYW4gYmUgZW51bWVyYXRlZC4UQXNzZXQAAQgCAlEDUQkEAATQIFRoZSBpdGVtcyBpbiBleGlzdGVuY2UgYW5kIHRoZWlyIG93bmVyc2hpcCBkZXRhaWxzLjxDbGFzc01ldGFkYXRhT2YAAQQCGFUJBAAEaCBNZXRhZGF0YSBvZiBhIGNvbGxlY3Rpb24uSEluc3RhbmNlTWV0YWRhdGFPZgABCAICUQNZCQQABFQgTWV0YWRhdGEgb2YgYW4gaXRlbS4kQXR0cmlidXRlAAEMAgICXQlhCQQABHAgQXR0cmlidXRlcyBvZiBhIGNvbGxlY3Rpb24uLEl0ZW1QcmljZU9mAAEIAgJRA2UJBAAEcCBQcmljZSBvZiBhbiBhc3NldCBpbnN0YW5jZS5MQ29sbGVjdGlvbk1heFN1cHBseQABBAIYEAQABPAgS2VlcHMgdHJhY2sgb2YgdGhlIG51bWJlciBvZiBpdGVtcyBhIGNvbGxlY3Rpb24gbWlnaHQgaGF2ZS4BxQIB6CBEQ29sbGVjdGlvbkRlcG9zaXQYQAAAAAAAAAAAAAAAAAAAAAAEAQEgVGhlIGJhc2ljIGFtb3VudCBvZiBmdW5kcyB0aGF0IG11c3QgYmUgcmVzZXJ2ZWQgZm9yIGNvbGxlY3Rpb24uLEl0ZW1EZXBvc2l0GEAAAAAAAAAAAAAAAAAAAAAABPQgVGhlIGJhc2ljIGFtb3VudCBvZiBmdW5kcyB0aGF0IG11c3QgYmUgcmVzZXJ2ZWQgZm9yIGFuIGl0ZW0uTE1ldGFkYXRhRGVwb3NpdEJhc2UYQACAxqR+jQMAAAAAAAAAAAAETQEgVGhlIGJhc2ljIGFtb3VudCBvZiBmdW5kcyB0aGF0IG11c3QgYmUgcmVzZXJ2ZWQgd2hlbiBhZGRpbmcgbWV0YWRhdGEgdG8geW91ciBpdGVtLlBBdHRyaWJ1dGVEZXBvc2l0QmFzZRhAABCl1OgAAAAAAAAAAAAAAARVASBUaGUgYmFzaWMgYW1vdW50IG9mIGZ1bmRzIHRoYXQgbXVzdCBiZSByZXNlcnZlZCB3aGVuIGFkZGluZyBhbiBhdHRyaWJ1dGUgdG8gYW4gaXRlbS44RGVwb3NpdFBlckJ5dGUYQAAQpdToAAAAAAAAAAAAAAAIWQEgVGhlIGFkZGl0aW9uYWwgZnVuZHMgdGhhdCBtdXN0IGJlIHJlc2VydmVkIGZvciB0aGUgbnVtYmVyIG9mIGJ5dGVzIHN0b3JlIGluIG1ldGFkYXRhLMAgZWl0aGVyICJub3JtYWwiIG1ldGFkYXRhIG9yIGF0dHJpYnV0ZSBtZXRhZGF0YS4sU3RyaW5nTGltaXQQEEgAAAAEsCBUaGUgbWF4aW11bSBsZW5ndGggb2YgZGF0YSBzdG9yZWQgb24tY2hhaW4uIEtleUxpbWl0EBAAAQAABKAgVGhlIG1heGltdW0gbGVuZ3RoIG9mIGFuIGF0dHJpYnV0ZSBrZXkuKFZhbHVlTGltaXQQEAAEAAAEqCBUaGUgbWF4aW11bSBsZW5ndGggb2YgYW4gYXR0cmlidXRlIHZhbHVlLgFpCSAASFN0YXRlVHJpZU1pZ3JhdGlvbgFIU3RhdGVUcmllTWlncmF0aW9uDEBNaWdyYXRpb25Qcm9jZXNzAQDZAjgAAAAAAAAAAAAAAAAAABBQIE1pZ3JhdGlvbiBwcm9ncmVzcy4AXQEgVGhpcyBzdG9yZXMgdGhlIHNuYXBzaG90IG9mIHRoZSBsYXN0IG1pZ3JhdGVkIGtleXMuIEl0IGNhbiBiZSBzZXQgaW50byBtb3Rpb24gYW5kIG1vdmXUIGZvcndhcmQgYnkgYW55IG9mIHRoZSBtZWFucyBwcm92aWRlZCBieSB0aGlzIHBhbGxldC4oQXV0b0xpbWl0cwEA0QIEAAzUIFRoZSBsaW1pdHMgdGhhdCBhcmUgaW1wb3NlZCBvbiBhdXRvbWF0aWMgbWlncmF0aW9ucy4A1CBJZiBzZXQgdG8gTm9uZSwgdGhlbiBubyBhdXRvbWF0aWMgbWlncmF0aW9uIGhhcHBlbnMuYFNpZ25lZE1pZ3JhdGlvbk1heExpbWl0cwAA1QIEAAzgIFRoZSBtYXhpbXVtIGxpbWl0cyB0aGF0IHRoZSBzaWduZWQgbWlncmF0aW9uIGNvdWxkIHVzZS4AtCBJZiBub3Qgc2V0LCBubyBzaWduZWQgc3VibWlzc2lvbiBpcyBhbGxvd2VkLgHNAgEFAQQkTWF4S2V5TGVuEBAAAgAAVLQgTWF4aW1hbCBudW1iZXIgb2YgYnl0ZXMgdGhhdCBhIGtleSBjYW4gaGF2ZS4AsCBGUkFNRSBpdHNlbGYgZG9lcyBub3QgbGltaXQgdGhlIGtleSBsZW5ndGguAQEgVGhlIGNvbmNyZXRlIHZhbHVlIG11c3QgdGhlcmVmb3JlIGRlcGVuZCBvbiB5b3VyIHN0b3JhZ2UgdXNhZ2UuWQEgQSBbYGZyYW1lX3N1cHBvcnQ6OnN0b3JhZ2U6OlN0b3JhZ2VOTWFwYF0gZm9yIGV4YW1wbGUgY2FuIGhhdmUgYW4gYXJiaXRyYXJ5IG51bWJlciBvZkUBIGtleXMgd2hpY2ggYXJlIHRoZW4gaGFzaGVkIGFuZCBjb25jYXRlbmF0ZWQsIHJlc3VsdGluZyBpbiBhcmJpdHJhcmlseSBsb25nIGtleXMuAEEBIFVzZSB0aGUgKnN0YXRlIG1pZ3JhdGlvbiBSUEMqIHRvIHJldHJpZXZlIHRoZSBsZW5ndGggb2YgdGhlIGxvbmdlc3Qga2V5IGluIHlvdXIBASBzdG9yYWdlOiA8aHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvc3Vic3RyYXRlL2lzc3Vlcy8xMTY0Mj4AKQEgVGhlIG1pZ3JhdGlvbiB3aWxsIGhhbHQgd2l0aCBhIGBIYWx0ZWRgIGV2ZW50IGlmIHRoaXMgdmFsdWUgaXMgdG9vIHNtYWxsLkkBIFNpbmNlIHRoZXJlIGlzIG5vIHJlYWwgcGVuYWx0eSBmcm9tIG92ZXItZXN0aW1hdGluZywgaXQgaXMgYWR2aXNlZCB0byB1c2UgYSBsYXJnZYAgdmFsdWUuIFRoZSBkZWZhdWx0IGlzIDUxMiBieXRlLgCAIFNvbWUga2V5IGxlbmd0aHMgZm9yIHJlZmVyZW5jZTrQIC0gW2BmcmFtZV9zdXBwb3J0OjpzdG9yYWdlOjpTdG9yYWdlVmFsdWVgXTogMzIgYnl0ZcggLSBbYGZyYW1lX3N1cHBvcnQ6OnN0b3JhZ2U6OlN0b3JhZ2VNYXBgXTogNjQgYnl0ZeAgLSBbYGZyYW1lX3N1cHBvcnQ6OnN0b3JhZ2U6OlN0b3JhZ2VEb3VibGVNYXBgXTogOTYgYnl0ZQBIIEZvciBtb3JlIGluZm8gc2VlSQEgPGh0dHBzOi8vd3d3LnNoYXdudGFicml6aS5jb20vYmxvZy9zdWJzdHJhdGUvcXVlcnlpbmctc3Vic3RyYXRlLXN0b3JhZ2UtdmlhLXJwYy8+AQ0BIwBAQ29udmljdGlvblZvdGluZwFAQ29udmljdGlvblZvdGluZwgkVm90aW5nRm9yAQEIBQVtCXEJ2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh1ASBBbGwgdm90aW5nIGZvciBhIHBhcnRpY3VsYXIgdm90ZXIgaW4gYSBwYXJ0aWN1bGFyIHZvdGluZyBjbGFzcy4gV2Ugc3RvcmUgdGhlIGJhbGFuY2UgZm9yIHRoZZwgbnVtYmVyIG9mIHZvdGVzIHRoYXQgd2UgaGF2ZSByZWNvcmRlZC40Q2xhc3NMb2Nrc0ZvcgEBBAUAkQkEAAxpASBUaGUgdm90aW5nIGNsYXNzZXMgd2hpY2ggaGF2ZSBhIG5vbi16ZXJvIGxvY2sgcmVxdWlyZW1lbnQgYW5kIHRoZSBsb2NrIGFtb3VudHMgd2hpY2ggdGhleW0BIHJlcXVpcmUuIFRoZSBhY3R1YWwgYW1vdW50IGxvY2tlZCBvbiBiZWhhbGYgb2YgdGhpcyBwYWxsZXQgc2hvdWxkIGFsd2F5cyBiZSB0aGUgbWF4aW11bSBvZiwgdGhpcyBsaXN0LgHlAgERAQggTWF4Vm90ZXMQEBkAAAAQ8CBUaGUgbWF4aW11bSBudW1iZXIgb2YgY29uY3VycmVudCB2b3RlcyBhbiBhY2NvdW50IG1heSBoYXZlLgBVASBBbHNvIHVzZWQgdG8gY29tcHV0ZSB3ZWlnaHQsIGFuIG92ZXJseSBsYXJnZSB2YWx1ZSBjYW4gbGVhZCB0byBleHRyaW5zaWNzIHdpdGggbGFyZ2XAIHdlaWdodCBlc3RpbWF0aW9uOiBzZWUgYGRlbGVnYXRlYCBmb3IgaW5zdGFuY2UuRFZvdGVMb2NraW5nUGVyaW9kEBDgxAAAEJAgVGhlIG1pbmltdW0gcGVyaW9kIG9mIHZvdGUgbG9ja2luZy4AZQEgSXQgc2hvdWxkIGJlIG5vIHNob3J0ZXIgdGhhbiBlbmFjdG1lbnQgcGVyaW9kIHRvIGVuc3VyZSB0aGF0IGluIHRoZSBjYXNlIG9mIGFuIGFwcHJvdmFsLEkBIHRob3NlIHN1Y2Nlc3NmdWwgdm90ZXJzIGFyZSBsb2NrZWQgaW50byB0aGUgY29uc2VxdWVuY2VzIHRoYXQgdGhlaXIgdm90ZXMgZW50YWlsLgGdCSQAJFJlZmVyZW5kYQEkUmVmZXJlbmRhFDxSZWZlcmVuZHVtQ291bnQBABAQAAAAAAQxASBUaGUgbmV4dCBmcmVlIHJlZmVyZW5kdW0gaW5kZXgsIGFrYSB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kYSBzdGFydGVkIHNvIGZhci5EUmVmZXJlbmR1bUluZm9Gb3IAAQQCEKEJBAAEtCBJbmZvcm1hdGlvbiBjb25jZXJuaW5nIGFueSBnaXZlbiByZWZlcmVuZHVtLihUcmFja1F1ZXVlAQEEBdzBCQQAEF0BIFRoZSBzb3J0ZWQgbGlzdCBvZiByZWZlcmVuZGEgcmVhZHkgdG8gYmUgZGVjaWRlZCBidXQgbm90IHlldCBiZWluZyBkZWNpZGVkLCBvcmRlcmVkIGJ5fCBjb252aWN0aW9uLXdlaWdodGVkIGFwcHJvdmFscy4AQQEgVGhpcyBzaG91bGQgYmUgZW1wdHkgaWYgYERlY2lkaW5nQ291bnRgIGlzIGxlc3MgdGhhbiBgVHJhY2tJbmZvOjptYXhfZGVjaWRpbmdgLjREZWNpZGluZ0NvdW50AQEEBdwQEAAAAAAExCBUaGUgbnVtYmVyIG9mIHJlZmVyZW5kYSBiZWluZyBkZWNpZGVkIGN1cnJlbnRseS4oTWV0YWRhdGFPZgABBAIQNAQAGAUBIFRoZSBtZXRhZGF0YSBpcyBhIGdlbmVyYWwgaW5mb3JtYXRpb24gY29uY2VybmluZyB0aGUgcmVmZXJlbmR1bS5JASBUaGUgYEhhc2hgIHJlZmVycyB0byB0aGUgcHJlaW1hZ2Ugb2YgdGhlIGBQcmVpbWFnZXNgIHByb3ZpZGVyIHdoaWNoIGNhbiBiZSBhIEpTT06IIGR1bXAgb3IgSVBGUyBoYXNoIG9mIGEgSlNPTiBmaWxlLgB1ASBDb25zaWRlciBhIGdhcmJhZ2UgY29sbGVjdGlvbiBmb3IgYSBtZXRhZGF0YSBvZiBmaW5pc2hlZCByZWZlcmVuZHVtcyB0byBgdW5yZXF1ZXN0YCAocmVtb3ZlKUQgbGFyZ2UgcHJlaW1hZ2VzLgHxAgEdARREU3VibWlzc2lvbkRlcG9zaXQYQABAehDzWgAAAAAAAAAAAAAENQEgVGhlIG1pbmltdW0gYW1vdW50IHRvIGJlIHVzZWQgYXMgYSBkZXBvc2l0IGZvciBhIHB1YmxpYyByZWZlcmVuZHVtIHByb3Bvc2FsLiRNYXhRdWV1ZWQQEGQAAAAE5CBNYXhpbXVtIHNpemUgb2YgdGhlIHJlZmVyZW5kdW0gcXVldWUgZm9yIGEgc2luZ2xlIHRyYWNrLkRVbmRlY2lkaW5nVGltZW91dBAQwIkBAAhVASBUaGUgbnVtYmVyIG9mIGJsb2NrcyBhZnRlciBzdWJtaXNzaW9uIHRoYXQgYSByZWZlcmVuZHVtIG11c3QgYmVnaW4gYmVpbmcgZGVjaWRlZCBieS7kIE9uY2UgdGhpcyBwYXNzZXMsIHRoZW4gYW55b25lIG1heSBjYW5jZWwgdGhlIHJlZmVyZW5kdW0uNEFsYXJtSW50ZXJ2YWwQEAEAAAAMXQEgUXVhbnRpemF0aW9uIGxldmVsIGZvciB0aGUgcmVmZXJlbmR1bSB3YWtldXAgc2NoZWR1bGVyLiBBIGhpZ2hlciBudW1iZXIgd2lsbCByZXN1bHQgaW5dASBmZXdlciBzdG9yYWdlIHJlYWRzL3dyaXRlcyBuZWVkZWQgZm9yIHNtYWxsZXIgdm90ZXJzLCBidXQgYWxzbyByZXN1bHQgaW4gZGVsYXlzIHRvIHRoZVUBIGF1dG9tYXRpYyByZWZlcmVuZHVtIHN0YXR1cyBjaGFuZ2VzLiBFeHBsaWNpdCBzZXJ2aWNpbmcgaW5zdHJ1Y3Rpb25zIGFyZSB1bmFmZmVjdGVkLhhUcmFja3PFCZkOKAAAEHJvb3QDAAAAAABkp7O24A0AAAAAAAAAACwBAADgxAAAEA4AADIAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAADKmjsAAAAAAGXNHQEASHdoaXRlbGlzdGVkX2NhbGxlcgMAAAAAAMUuvKKxAAAAAAAAAAAAMgAAAGBUAACwBAAAMgAAAAKQ1z4NAAAAAFdD3hMAAAAAVEPeEwAAAAAC38cFAAAAAACiCAwAAAAAAExmKwEAAAAAAgBQcmVmZXJlbmR1bV9jYW5jZWxsZXIDAAAAAADZ6awteAMAAAAAAAAAACwBAABgVAAALAEAADIAAAAA204PIgBlzR0Aypo7Al1veAAAAAAA6C7tAAAAAACMaIn//////wMARHJlZmVyZW5kdW1fa2lsbGVyAwAAAAAAi70GiWgKAAAAAAAAAAAsAQAAYFQAACwBAAAyAAAAANtODyIAZc0dAMqaOwJdb3gAAAAAAOgu7QAAAAAAjGiJ//////8EADRnZW5lcmFsX2FkbWluAwAAAAAA2emsLXgDAAAAAAAAAAAsAQAA4MQAAIQDAAAyAAAAApDXPg0AAAAAV0PeEwAAAABUQ94TAAAAAAJBPLABAAAAAHVdNAMAAAAARdFl/v////8FACR0cmVhc3VyZXIDAAAAAACLvQaJaAoAAAAAAAAAACwBAADgxAAAEA4AADIAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAADKmjsAAAAAgLLmDgYAHHNwZW5kZXIDAAAAAACKXXhFYwEAAAAAAAAAACwBAADgxAAAhAMAADIAAAAAAMqaOwBlzR0Aypo7AkE8sAEAAAAAdV00AwAAAABF0WX+/////wcAGHRpcHBlcgMAAAAAAMFv8oYjAAAAAAAAAAAALAEAAODEAACEAwAAMgAAAADbTg8iAGXNHQDKmjsCXW94AAAAAADoLu0AAAAAAIxoif//////CAA4b21uaXBvb2xfYWRtaW4DAAAAAADZ6awteAMAAAAAAAAAACwBAADgxAAAhAMAADIAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAkE8sAEAAAAAdV00AwAAAABF0WX+/////wkATGVjb25vbWljX3BhcmFtZXRlcnMDAAAAAACLvQaJaAoAAAAAAAAAACwBAADgxAAAEA4AADIAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAADKmjsAAAAAgLLmDgTgIEluZm9ybWF0aW9uIGNvbmNlcm5pbmcgdGhlIGRpZmZlcmVudCByZWZlcmVuZHVtIHRyYWNrcy4B4QklABxPcmlnaW5zAAAAAAAmACRXaGl0ZWxpc3QBJFdoaXRlbGlzdAQ8V2hpdGVsaXN0ZWRDYWxsAAEEBTSQBAAAAfkCAWUGAAHlCScAKERpc3BhdGNoZXIBKERpc3BhdGNoZXIESEFhdmVNYW5hZ2VyQWNjb3VudAEAAICqfgAAAAAAAAAAAAAAAAAAAAqn4AAAAAAAAAAAAAAAAAAB/QIBeQYAACgANEFzc2V0UmVnaXN0cnkBNEFzc2V0UmVnaXN0cnkcGEFzc2V0cwABBAIQ6QkEAARUIERldGFpbHMgb2YgYW4gYXNzZXQuLE5leHRBc3NldElkAQAQEAEAAAAEXQEgTmV4dCBhdmFpbGFibGUgYXNzZXQgaWQuIFRoaXMgaXMgc2VxdWVudGlhbCBpZCBhc3NpZ25lZCBmb3IgZWFjaCBuZXcgcmVnaXN0ZXJlZCBhc3NldC4gQXNzZXRJZHMAAQQCCQMQBAAEpCBNYXBwaW5nIGJldHdlZW4gYXNzZXQgbmFtZSBhbmQgYXNzZXQgaWQuOEFzc2V0TG9jYXRpb25zAAEEAhAZAwQABHQgTmF0aXZlIGxvY2F0aW9uIG9mIGFuIGFzc2V0LjBCYW5uZWRBc3NldHMAAQQCEJAEAASwIE5vbi1uYXRpdmUgYXNzZXRzIHdoaWNoIHRyYW5zZmVyIGlzIGJhbm5lZC44TG9jYXRpb25Bc3NldHMAAQQCGQMQBAAEhCBMb2NhbCBhc3NldCBmb3IgbmF0aXZlIGxvY2F0aW9uLmRFeGlzdGVudGlhbERlcG9zaXRDb3VudGVyAQAYQAAAAAAAAAAAAAAAAAAAAAAILQEgTnVtYmVyIG9mIGFjY291bnRzIHRoYXQgcGFpZCBleGlzdGVudGlhbCBkZXBvc2l0cyBmb3IgaW5zdWZmaWNpZW50IGFzc2V0cy6wIFRoaXMgc3RvcmFnZSBpcyB1c2VkIGJ5IGBTdWZmaWNpZW5jeUNoZWNrYC4BAQMBfQYQTFNlcXVlbnRpYWxJZFN0YXJ0QXQQEEBCDwAALFN0cmluZ0xpbWl0EBAgAAAABOAgVGhlIG1heGltdW0gbGVuZ3RoIG9mIGEgbmFtZSBvciBzeW1ib2wgc3RvcmVkIG9uLWNoYWluLjhNaW5TdHJpbmdMaW1pdBAQAwAAAATQIFRoZSBtaW4gbGVuZ3RoIG9mIGEgbmFtZSBvciBzeW1ib2wgc3RvcmVkIG9uLWNoYWluLmxSZWdFeHRlcm5hbFdlaWdodE11bHRpcGxpZXIwIAoAAAAAAAAABNAgV2VpZ2h0IG11bHRpcGxpZXIgZm9yIGByZWdpc3Rlcl9leHRlcm5hbGAgZXh0cmluc2ljAe0JMwAYQ2xhaW1zARhDbGFpbXMEGENsYWltcwEBBAKFBhhAAAAAAAAAAAAAAAAAAAAAAAScIEFzc2V0IGlkIHN0b3JhZ2UgZm9yIGVhY2ggc2hhcmVkIHRva2VuATkDAYEGAAHxCTUAOEdlbmVzaXNIaXN0b3J5AThHZW5lc2lzSGlzdG9yeQQ0UHJldmlvdXNDaGFpbgEA9QkBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEDAAAANwA8Q29sbGF0b3JSZXdhcmRzATxDb2xsYXRvclJld2FyZHMEJENvbGxhdG9ycwEBBAUQ+QkEAASoIFN0b3JlcyB0aGUgY29sbGF0b3JzIHBlciBzZXNzaW9uIChpbmRleCkuAAGJBgxEUmV3YXJkUGVyQ29sbGF0b3IYQHj6i3UongEAAAAAAAAAAAAEgCBSZXdhcmQgYW1vdW50IHBlciBvbmUgY29sbGF0b3IuQFJld2FyZEN1cnJlbmN5SWQQEAAAAAAEQCBSZXdhcmQgQXNzZXQgSWQoUmV3YXJkc0JhZwCAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAf0JOQAgT21uaXBvb2wBIE9tbmlwb29sEBhBc3NldHMAAQQCEAEKBAAEiCBTdGF0ZSBvZiBhbiBhc3NldCBpbiB0aGUgb21uaXBvb2xMSHViQXNzZXRUcmFkYWJpbGl0eQEATQMEAQR0IFRyYWRhYmxlIHN0YXRlIG9mIGh1YiBhc3NldC4kUG9zaXRpb25zAAEEAhgFCgQABPQgTFAgcG9zaXRpb25zLiBNYXBzIE5GVCBpbnN0YW5jZSBpZCB0byBjb3JyZXNwb25kaW5nIHBvc2l0aW9uOE5leHRQb3NpdGlvbklkAQAYQAAAAAAAAAAAAAAAAAAAAAAEXCBQb3NpdGlvbiBpZHMgc2VxdWVuY2VyAUUDAY0GJChIZHhBc3NldElkEBAAAAAABEAgTmF0aXZlIEFzc2V0IElEKEh1YkFzc2V0SWQQEAEAAAAENCBIdWIgQXNzZXQgSURATWluV2l0aGRyYXdhbEZlZUkDEGQAAAAEXCBNaW5pbXVtIHdpdGhkcmF3YWwgZmVlTE1pbmltdW1UcmFkaW5nTGltaXQYQOgDAAAAAAAAAAAAAAAAAAAEWCBNaW5pbXVtIHRyYWRpbmcgbGltaXRQTWluaW11bVBvb2xMaXF1aWRpdHkYQEBCDwAAAAAAAAAAAAAAAAAEqCBNaW5pbXVtIHBvb2wgbGlxdWlkaXR5IHdoaWNoIGNhbiBiZSBhZGRlZChNYXhJblJhdGlvGEADAAAAAAAAAAAAAAAAAAAABPAgTWF4IGZyYWN0aW9uIG9mIGFzc2V0IHJlc2VydmUgdG8gc2VsbCBpbiBzaW5nbGUgdHJhbnNhY3Rpb24sTWF4T3V0UmF0aW8YQAMAAAAAAAAAAAAAAAAAAAAE7CBNYXggZnJhY3Rpb24gb2YgYXNzZXQgcmVzZXJ2ZSB0byBidXkgaW4gc2luZ2xlIHRyYW5zYWN0aW9uPE5GVENvbGxlY3Rpb25JZBhAOQUAAAAAAAAAAAAAAAAAAARYIE5vbiBmdW5naWJsZSBjbGFzcyBpZDxCdXJuUHJvdG9jb2xGZWVJAxAgoQcAAAEJCjsAQFRyYW5zYWN0aW9uUGF1c2UBQFRyYW5zYWN0aW9uUGF1c2UESFBhdXNlZFRyYW5zYWN0aW9ucwABBAUNCpAEAAxsIFRoZSBwYXVzZWQgdHJhbnNhY3Rpb24gbWFwANwgbWFwIChQYWxsZXROYW1lQnl0ZXMsIEZ1bmN0aW9uTmFtZUJ5dGVzKSA9PiBPcHRpb248KCk+AVUDAZEGAAEVCjwAGER1c3RlcgEYRHVzdGVyDEBBY2NvdW50QmxhY2tsaXN0AAEEAgCQBAAEgCBBY2NvdW50cyBleGNsdWRlZCBmcm9tIGR1c3RpbmcuNFJld2FyZEFjY291bnQAAAAEAAR0IEFjY291bnQgdG8gdGFrZSByZXdhcmQgZnJvbS4sRHVzdEFjY291bnQAAAAEAARkIEFjY291bnQgdG8gc2VuZCBkdXN0IHRvLgFZAwGVBgwYUmV3YXJkGEAAAAAAAAAAAAAAAAAAAAAABDggUmV3YXJkIGFtb3VudEBOYXRpdmVDdXJyZW5jeUlkEBAAAAAABEAgTmF0aXZlIEFzc2V0IElkRFRyZWFzdXJ5QWNjb3VudElkAIBtb2RscHkvdHJzcnkAAAAAAAAAAAAAAAAAAAAAAAAAAAQtASBEZWZhdWx0IGFjY291bnQgZm9yIGByZXdhcmRfYWNjb3VudGAgYW5kIGBkdXN0X2FjY291bnRgIGluIGdlbmVzaXMgY29uZmlnLgEZCj0ATE9tbmlwb29sV2FyZWhvdXNlTE0BTE9tbmlwb29sV2FyZWhvdXNlTE0YNEZhcm1TZXF1ZW5jZXIBABAQAAAAAAS8IElkIHNlcXVlbmNlciBmb3IgYEdsb2JhbEZhcm1gIGFuZCBgWWllbGRGYXJtYC5ARGVwb3NpdFNlcXVlbmNlcgEAGEAAAAAAAAAAAAAAAAAAAAAAAChHbG9iYWxGYXJtAAEEAhAdCgQAACRZaWVsZEZhcm0AAQwCAgIlCikKBAAEUCBZaWVsZCBmYXJtIGRldGFpbHMuHERlcG9zaXQAAQQFGC0KBAAERCBEZXBvc2l0IGRldGFpbHMuPEFjdGl2ZVlpZWxkRmFybQABCAICdQMQBAAE+CBBY3RpdmUoZmFybXMgYWJsZSB0byByZWNlaXZlIExQIHNoYXJlcyBkZXBvc2l0cykgeWllbGQgZmFybXMuAV0DAZkGGCBQYWxsZXRJZDEIIE9tbmlXaExNBCwgUGFsbGV0IGlkLkRUcmVhc3VyeUFjY291bnRJZACAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAE6CBUcmVhc3VyeSBhY2NvdW50IHRvIHJlY2VpdmUgY2xhaW1lZCByZXdhcmRzIGxvd2VyIHRoYW4gRURMTWluVG90YWxGYXJtUmV3YXJkcxhAABCl1OgAAAAAAAAAAAAAAAQ5ASBNaW5pbXVtIHRvdGFsIHJld2FyZHMgdG8gZGlzdHJpYnV0ZSBmcm9tIGdsb2JhbCBmYXJtIGR1cmluZyBsaXF1aWRpdHkgbWluaW5nLmRNaW5QbGFubmVkWWllbGRpbmdQZXJpb2RzEBBoOAAABOwgTWluaW11bSBudW1iZXIgb2YgcGVyaW9kcyB0byBydW4gbGlxdWlkaXR5IG1pbmluZyBwcm9ncmFtLmBNYXhGYXJtRW50cmllc1BlckRlcG9zaXQQEAUAAAAIZQEgTWF4aW11bSBudW1iZXIgb2YgeWllbGQgZmFybXMgc2FtZSBMUCBzaGFyZXMgY2FuIGJlIHJlL2RlcG9zaXRlZCBpbnRvLiBUaGlzIHZhbHVlIGFsd2F5c1wgTVVTVCBCRSA+PSAxLiAgICAgICAgIGhNYXhZaWVsZEZhcm1zUGVyR2xvYmFsRmFybRAQMgAAAAhNASBNYXggbnVtYmVyIG9mIHlpZWxkIGZhcm1zIGNhbiBleGlzdCBpbiBnbG9iYWwgZmFybS4gVGhpcyBpbmNsdWRlcyBhbGwgZmFybXMgaW4gdGhlmCBzdG9yYWdlKGFjdGl2ZSwgc3RvcHBlZCwgdGVybWluYXRlZCkuAT0KPgBcT21uaXBvb2xMaXF1aWRpdHlNaW5pbmcBXE9tbmlwb29sTGlxdWlkaXR5TWluaW5nBDhPbW5pUG9zaXRpb25JZAABBAIYGAQABNAgTWFwIG9mIG9tbmlwb29sIHBvc2l0aW9uJ3MgaWRzIHRvIExNJ3MgZGVwb3NpdCBpZHMuAWEDAZ0GDDxORlRDb2xsZWN0aW9uSWQYQBgKAAAAAAAAAAAAAAAAAAAE3CBORlQgY29sbGVjdGlvbiBpZCBmb3IgbGlxdWlkaXR5IG1pbmluZydzIGRlcG9zaXQgbmZ0cy4wT3JhY2xlU291cmNlFQIgb21uaXBvb2wEhCBJZGVudGlmaWVyIG9mIG9yYWNsZSBkYXRhIHNvcnVjZTBPcmFjbGVQZXJpb2TZAwQCBIwgT3JhY2xlJ3MgcHJpY2UgYWdncmVnYXRpb24gcGVyaW9kLgFFCj8ADE9UQwEMT1RDCCxOZXh0T3JkZXJJZAEAEBAAAAAABGAgSUQgc2VxdWVuY2VyIGZvciBPcmRlcnMYT3JkZXJzAAEEAhBNCgQAAAGVAwGhBgxwRXhpc3RlbnRpYWxEZXBvc2l0TXVsdGlwbGllcggEBQRBASBNdWx0aXBsaWVyIHVzZWQgdG8gY29tcHV0ZSBtaW5pbWFsIGFtb3VudHMgb2YgYXNzZXRfaW4gYW5kIGFzc2V0X291dCBpbiBhbiBPVEMuDEZlZUkDEOgDAAAEeCBGZWUgZGVkdWN0ZWQgZnJvbSBhbW91bnRfb3V0LixGZWVSZWNlaXZlcgCAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAEOCBGZWUgcmVjZWl2ZXIuAVEKQAA4Q2lyY3VpdEJyZWFrZXIBOENpcmN1aXRCcmVha2VyGGBUcmFkZVZvbHVtZUxpbWl0UGVyQXNzZXQBAQQCEHUDIIgTAAAQJwAACPQgVHJhZGUgdm9sdW1lIGxpbWl0cyBvZiBhc3NldHMgc2V0IGJ5IHNldF90cmFkZV92b2x1bWVfbGltaXQunCBJZiBub3Qgc2V0LCByZXR1cm5zIHRoZSBkZWZhdWx0IGxpbWl0LnxBbGxvd2VkVHJhZGVWb2x1bWVMaW1pdFBlckFzc2V0AAEEAhBVCgQABGAgVHJhZGUgdm9sdW1lcyBwZXIgYXNzZXRkTGlxdWlkaXR5QWRkTGltaXRQZXJBc3NldAEBBAIQnQMkAfQBAAAQJwAACMQgTGlxdWlkaXR5IGxpbWl0cyBvZiBhc3NldHMgZm9yIGFkZGluZyBsaXF1aWRpdHkunCBJZiBub3Qgc2V0LCByZXR1cm5zIHRoZSBkZWZhdWx0IGxpbWl0LoRBbGxvd2VkQWRkTGlxdWlkaXR5QW1vdW50UGVyQXNzZXQAAQQCEFkKBAAEgCBBZGQgbGlxdWlkaXR5IHZvbHVtZXMgcGVyIGFzc2V0cExpcXVpZGl0eVJlbW92ZUxpbWl0UGVyQXNzZXQBAQQCEJ0DJAH0AQAAECcAAAjMIExpcXVpZGl0eSBsaW1pdHMgb2YgYXNzZXRzIGZvciByZW1vdmluZyBsaXF1aWRpdHkunCBJZiBub3Qgc2V0LCByZXR1cm5zIHRoZSBkZWZhdWx0IGxpbWl0LpBBbGxvd2VkUmVtb3ZlTGlxdWlkaXR5QW1vdW50UGVyQXNzZXQAAQQCEFkKBAAEjCBSZW1vdmUgbGlxdWlkaXR5IHZvbHVtZXMgcGVyIGFzc2V0AZkDAaUGDJREZWZhdWx0TWF4TmV0VHJhZGVWb2x1bWVMaW1pdFBlckJsb2NrdQMgiBMAABAnAAAIMQEgVGhlIG1heGltdW0gcGVyY2VudGFnZSBvZiBhIHBvb2wncyBsaXF1aWRpdHkgdGhhdCBjYW4gYmUgdHJhZGVkIGluIGEgYmxvY2sudQEgUmVwcmVzZW50ZWQgYXMgYSBub24temVybyBmcmFjdGlvbiAobm9taW5hdG9yLCBkZW5vbWluYXRvcikgd2l0aCB0aGUgbWF4IHZhbHVlIGJlaW5nIDEwXzAwMC6MRGVmYXVsdE1heEFkZExpcXVpZGl0eUxpbWl0UGVyQmxvY2udAyQB9AEAABAnAAAMLQEgVGhlIG1heGltdW0gcGVyY2VudGFnZSBvZiBhIHBvb2wncyBsaXF1aWRpdHkgdGhhdCBjYW4gYmUgYWRkZWQgaW4gYSBibG9jay6dASBSZXByZXNlbnRlZCBhcyBhbiBvcHRpb25hbCBub24temVybyBmcmFjdGlvbiAobm9taW5hdG9yLCBkZW5vbWluYXRvcikgd2l0aCB0aGUgbWF4IHZhbHVlIGJlaW5nIDEwXzAwMC60IElmIHNldCB0byBOb25lLCB0aGUgbGltaXRzIGFyZSBub3QgZW5mb3JjZWQumERlZmF1bHRNYXhSZW1vdmVMaXF1aWRpdHlMaW1pdFBlckJsb2NrnQMkAfQBAAAQJwAADDUBIFRoZSBtYXhpbXVtIHBlcmNlbnRhZ2Ugb2YgYSBwb29sJ3MgbGlxdWlkaXR5IHRoYXQgY2FuIGJlIHJlbW92ZWQgaW4gYSBibG9jay6dASBSZXByZXNlbnRlZCBhcyBhbiBvcHRpb25hbCBub24temVybyBmcmFjdGlvbiAobm9taW5hdG9yLCBkZW5vbWluYXRvcikgd2l0aCB0aGUgbWF4IHZhbHVlIGJlaW5nIDEwXzAwMC60IElmIHNldCB0byBOb25lLCB0aGUgbGltaXRzIGFyZSBub3QgZW5mb3JjZWQuAV0KQQAYUm91dGVyARhSb3V0ZXIEGFJvdXRlcwABBAK1A6UDBAAEfCBTdG9yaW5nIHJvdXRlcyBmb3IgYXNzZXQgcGFpcnMBoQMBqQYINE5hdGl2ZUFzc2V0SWQQEAAAAAAEQCBOYXRpdmUgQXNzZXQgSWQwT3JhY2xlUGVyaW9k2QMEAgSMIE9yYWNsZSdzIHByaWNlIGFnZ3JlZ2F0aW9uIHBlcmlvZC4BYQpDACxEeW5hbWljRmVlcwEsRHluYW1pY0ZlZXMEIEFzc2V0RmVlAAEEBRBlCgQACEkBIFN0b3JlcyBsYXN0IGNhbGN1bGF0ZWQgZmVlIG9mIGFuIGFzc2V0IGFuZCBibG9jayBudW1iZXIgaW4gd2hpY2ggaXQgd2FzIGNoYW5nZWQuLsggU3RvcmVkIGFzIChBc3NldCBmZWUsIFByb3RvY29sIGZlZSwgQmxvY2sgbnVtYmVyKQG5AwGtBghIQXNzZXRGZWVQYXJhbWV0ZXJzaQqg3AUAAFDDAAAAQHoQ81oAAAAAAAAAAAAAAADITmdtwRsAAAAAAAAAAABUUHJvdG9jb2xGZWVQYXJhbWV0ZXJzaQqg9AEAAMQJAAAAID2IeS0AAAAAAAAAAAAAAABkp7O24A0AAAAAAAAAAAABbQpEABxTdGFraW5nARxTdGFraW5nHBxTdGFraW5nAQBxCsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWCBHbG9iYWwgc3Rha2luZyBzdGF0ZS4kUG9zaXRpb25zAAEEAhh1CgQABFwgVXNlcidzIHBvc2l0aW9uIHN0YXRlLjhOZXh0UG9zaXRpb25JZAEAGEAAAAAAAAAAAAAAAAAAAAAABGAgUG9zaXRpb24gaWRzIHNlcXVlbmNlci4UVm90ZXMBAQQCGHkKBAAEYCBMaXN0IG9mIHBvc2l0aW9uIHZvdGVzLjRWb3Rlc1Jld2FyZGVkAAEIAgKZCIUKBAAEnQEgTGlzdCBvZiBwcm9jZXNzZWQgdm90ZS4gVXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIHZvdGUgc2hvdWxkIGJlIGxvY2tlZCBpbiBjYXNlIG9mIHZvdGluZyBub3QgaW4gZmF2b3IuNFBvc2l0aW9uVm90ZXMBAQQCGHkKBAAEaQEgTGVnYWN5IHN0b3JhZ2UhIC0gVXNlZCB0byBoYW5kbGUgZGVtb2NyYWN5IHZvdGVzIHVudGlsIGRlbW9jcmFjeSBwYWxsZXQgaXMgZnVsbHkgcmVtb3ZlZC44UHJvY2Vzc2VkVm90ZXMAAQgCApkIhQoEAASRASBMZWdhY3kgc3RvcmFnZSEgLSBVc2VkIHRvIGhhbmRsZSBkZW1vY3JhY3kgcHJvY2Vzc2VkIHZvdGVzIHVudGlsIGRlbW9jcmFjeSBwYWxsZXQgaXMgZnVsbHkgcmVtb3ZlZC4BvQMBsQYsMFBlcmlvZExlbmd0aBAQIBwAAASEIFN0YWtpbmcgcGVyaW9kIGxlbmd0aCBpbiBibG9ja3MuIFBhbGxldElkMQggc3Rha2luZyMELCBQYWxsZXQgaWQuNE5hdGl2ZUFzc2V0SWQQEAAAAAAERCBOYXRpdmUgQXNzZXQgSUQuIE1pblN0YWtlGEAAgMakfo0DAAAAAAAAAAAABHAgTWluIGFtb3VudCB1c2VyIG11c3Qgc3Rha2UuQFRpbWVQb2ludHNXZWlnaHRJAxBAQg8ABOAgV2VpZ2h0IG9mIHRoZSB0aW1lIHBvaW50cyBpbiB0b3RhbCBwb2ludHMgY2FsY3VsYXRpb25zLkhBY3Rpb25Qb2ludHNXZWlnaHTVCRAAwusLBOggV2VpZ2h0IG9mIHRoZSBhY3Rpb24gcG9pbnRzIGluIHRvdGFsIHBvaW50cyBjYWxjdWxhdGlvbnMuTFRpbWVQb2ludHNQZXJQZXJpb2QIBAEE1CBOdW1iZXIgb2YgdGltZSBwb2ludHMgdXNlcnMgcmVjZWl2ZSBmb3IgZWFjaCBwZXJpb2QuSFVuY2xhaW1hYmxlUGVyaW9kcxhAAQAAAAAAAAAAAAAAAAAAAAh1ASBOdW1iZXIgb2YgcGVyaW9kcyB1c2VyIGNhbid0IGNsYWltIHJld2FyZHMgZm9yLiBVc2VyIGNhbiBleGl0IGJ1dCB3b24ndCByZWNlaXZlIGFueSByZXdhcmRzLnEBIElmIGhlIHN0YXkgbG9uZ2VyIHRoYW4gYFVuY2xhaW1hYmxlUGVyaW9kc2AgaGUgd2lsbCByZWNlaXZlIHJld2FyZHMgYWxzbyBmb3IgdGhlc2UgcGVyaW9kcy5IQ3VycmVudFN0YWtlV2VpZ2h0CAQCBLEBIFdlaWdodCBvZiB0aGUgYWN0dWFsIHN0YWtlIGluIHNsYXNoIHBvaW50cyBjYWxjdWxhdGlvbi4gQmlnZ2VyIHRoZSB2YWx1ZSBsb3dlciB0aGUgY2FsY3VsYXRlZCBzbGFzaCBwb2ludHMuIE1heFZvdGVzEBAZAAAABMwgTWF4IGFtb3VudCBvZiB2b3RlcyB0aGUgdXNlciBjYW4gaGF2ZSBhdCBhbnkgdGltZS48TkZUQ29sbGVjdGlvbklkGECuCAAAAAAAAAAAAAAAAAAABEwgTkZUIGNvbGxlY3Rpb24gaWQuAZEKRQAoU3RhYmxlc3dhcAEoU3RhYmxlc3dhcAwUUG9vbHMAAQQCEJkKBAAEPCBFeGlzdGluZyBwb29scyBQb29sUGVncwABBAIQwQYEAAQ8IFBvb2wgcGVnIGluZm8uQEFzc2V0VHJhZGFiaWxpdHkBAQgCAnUDyQMEDwSIIFRyYWRhYmlsaXR5IHN0YXRlIG9mIHBvb2wgYXNzZXRzLgHBAwG1BgxATWluUG9vbExpcXVpZGl0eRhAQEIPAAAAAAAAAAAAAAAAAARcIE1pbmltdW0gcG9vbCBsaXF1aWRpdHk8TWluVHJhZGluZ0xpbWl0GEDoAwAAAAAAAAAAAAAAAAAABFwgTWluaW11bSB0cmFkaW5nIGFtb3VudEhBbXBsaWZpY2F0aW9uUmFuZ2WdChACABAnBD0BIEFtcGxpZmljYXRpb24gaW5jbHVzaXZlIHJhbmdlLiBQb29sJ3MgYW1wIGNhbiBiZSBzZWxlY3RlZCBmcm9tIHRoZSByYW5nZSBvbmx5LgGhCkYAFEJvbmRzARRCb25kcwgcQm9uZElkcwABBAKlChAEAAhUIFJlZ2lzdGVyZWQgYm9uZCBpZHMuwCBNYXBzICh1bmRlcmx5aW5nIGFzc2V0IElELCBtYXR1cml0eSkgLT4gYm9uZCBJRBRCb25kcwABBAIQpQoEAAhIIFJlZ2lzdGVyZWQgYm9uZHMuwCBNYXBzIGJvbmQgSUQgLT4gKHVuZGVybHlpbmcgYXNzZXQgSUQsIG1hdHVyaXR5KQHhAwHNBgwgUGFsbGV0SWQxCCBwbHRib25kcwTsIFRoZSBwYWxsZXQgaWQsIHVzZWQgZm9yIGRlcml2aW5nIGl0cyBzb3ZlcmVpZ24gYWNjb3VudCBJRC4sUHJvdG9jb2xGZWVJAxAgTgAABDggUHJvdG9jb2wgZmVlLixGZWVSZWNlaXZlcgCAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAEXCBQcm90b2NvbCBmZWUgcmVjZWl2ZXIuAakKRwA4T3RjU2V0dGxlbWVudHMAAeUDAdEGFDhQcm9maXRSZWNlaXZlcgCAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAEhCBBY2NvdW50IHdobyByZWNlaXZlcyB0aGUgcHJvZml0LkxNaW5Qcm9maXRQZXJjZW50YWdl1QkQECcAAAScIE1pbmltdW0gcHJvZml0IGluIHRlcm1zIG9mIHBlcmNlbnRhZ2UuOFByaWNlUHJlY2lzaW9uUQFAAADBb/KGIwAAAAAAAAAAAATQIERldGVybWluZXMgd2hlbiB3ZSBjb25zaWRlciBhbiBhcmJpdHJhZ2UgYXMgY2xvc2VkLjxNaW5UcmFkaW5nTGltaXQYQOgDAAAAAAAAAAAAAAAAAAAEXCBNaW5pbXVtIHRyYWRpbmcgbGltaXQuNE1heEl0ZXJhdGlvbnMQECgAAAAEbQEgTWF4aW11bSBudW1iZXIgb2YgaXRlcmF0aW9ucyB1c2VkIGluIHRoZSBiaW5hcnkgc2VhcmNoIGFsZ29yaXRobSB0byBmaW5kIHRoZSB0cmFkZSBhbW91bnQuAa0KSAAMTEJQAQxMQlAIIFBvb2xEYXRhAAEEAgDZBgQABEwgRGV0YWlscyBvZiBhIHBvb2wuVEZlZUNvbGxlY3RvcldpdGhBc3NldAEBCAICmQggBAAIyCBTdG9yYWdlIHVzZWQgZm9yIHRyYWNraW5nIGV4aXN0aW5nIGZlZSBjb2xsZWN0b3JzzCBOb3QgbW9yZSB0aGFuIG9uZSBmZWUgY29sbGVjdG9yIHBlciBhc3NldCBwb3NzaWJsZQHpAwHVBhQ8TWluVHJhZGluZ0xpbWl0GEDoAwAAAAAAAAAAAAAAAAAABCEBIE1pbmltdW0gdHJhZGluZyBsaW1pdCwgc29sZSBwdXJwb3NlIG9mIHRoaXMgaXMgdG8ga2VlcCB0aGUgbWF0aCB3b3JraW5nQE1pblBvb2xMaXF1aWRpdHkYQEBCDwAAAAAAAAAAAAAAAAAEJQEgTWluaW11bSBwb29sIGxpcXVpZGl0eSwgc29sZSBwdXJwb3NlIG9mIHRoaXMgaXMgdG8ga2VlcCB0aGUgbWF0aCB3b3JraW5nKE1heEluUmF0aW8YQAMAAAAAAAAAAAAAAAAAAAAEzCBNYXggZnJhY3Rpb24gb2YgcG9vbCB0byBzZWxsIGluIHNpbmdsZSB0cmFuc2FjdGlvbixNYXhPdXRSYXRpbxhAAwAAAAAAAAAAAAAAAAAAAATIIE1heCBmcmFjdGlvbiBvZiBwb29sIHRvIGJ1eSBpbiBzaW5nbGUgdHJhbnNhY3Rpb24kcmVwYXlfZmVldQMgAgAAAAoAAAAAAbEKSQAMWFlLAQxYWUsMKFNoYXJlVG9rZW4BAQQCABAQAAAAAASgIEFzc2V0IGlkIHN0b3JhZ2UgZm9yIHNoYXJlZCBwb29sIHRva2VuczhUb3RhbExpcXVpZGl0eQEBBAIAGEAAAAAAAAAAAAAAAAAAAAAABGwgVG90YWwgbGlxdWlkaXR5IGluIGEgcG9vbC4oUG9vbEFzc2V0cwABBAIAdQMEAARYIEFzc2V0IHBhaXIgaW4gYSBwb29sLgH1AwHdBhw0TmF0aXZlQXNzZXRJZBAQAAAAAARAIE5hdGl2ZSBBc3NldCBJZDhHZXRFeGNoYW5nZUZlZXUDIAMAAADoAwAABEQgVHJhZGluZyBmZWUgcmF0ZTxNaW5UcmFkaW5nTGltaXQYQOgDAAAAAAAAAAAAAAAAAAAEWCBNaW5pbXVtIHRyYWRpbmcgbGltaXRATWluUG9vbExpcXVpZGl0eRhAQEIPAAAAAAAAAAAAAAAAAARcIE1pbmltdW0gcG9vbCBsaXF1aWRpdHkoTWF4SW5SYXRpbxhAAwAAAAAAAAAAAAAAAAAAAATMIE1heCBmcmFjdGlvbiBvZiBwb29sIHRvIHNlbGwgaW4gc2luZ2xlIHRyYW5zYWN0aW9uLE1heE91dFJhdGlvGEADAAAAAAAAAAAAAAAAAAAABMggTWF4IGZyYWN0aW9uIG9mIHBvb2wgdG8gYnV5IGluIHNpbmdsZSB0cmFuc2FjdGlvbjBPcmFjbGVTb3VyY2UVAiBoeWRyYXh5awSoIE9yYWNsZSBzb3VyY2UgaWRlbnRpZmllciBmb3IgdGhpcyBwYWxsZXQuAbUKSgAkUmVmZXJyYWxzASRSZWZlcnJhbHMoNFJlZmVycmFsQ29kZXMAAQQC/QMABAAIPCBSZWZlcnJhbCBjb2Rlc5AgTWFwcyBhIHJlZmVycmFsIGNvZGUgdG8gYW4gYWNjb3VudC5AUmVmZXJyYWxBY2NvdW50cwABBAIA/QMEAAhIIFJlZmVycmFsIGFjY291bnRzkCBNYXBzIGFuIGFjY291bnQgdG8gYSByZWZlcnJhbCBjb2RlLjhMaW5rZWRBY2NvdW50cwABBAIAAAQACEQgTGlua2VkIGFjY291bnRzLpwgTWFwcyBhbiBhY2NvdW50IHRvIGEgcmVmZXJyYWwgYWNjb3VudC44UmVmZXJyZXJTaGFyZXMBAQQCABhAAAAAAAAAAAAAAAAAAAAAAAR0IFNoYXJlcyBvZiBhIHJlZmVycmFsIGFjY291bnQwVHJhZGVyU2hhcmVzAQEEAgAYQAAAAAAAAAAAAAAAAAAAAAAEbCBTaGFyZXMgb2YgYSB0cmFkZXIgYWNjb3VudCxUb3RhbFNoYXJlcwEAGEAAAAAAAAAAAAAAAAAAAAAABFggVG90YWwgc2hhcmUgaXNzdWFuY2UuIFJlZmVycmVyAAEEAgC5CgQADNwgUmVmZXJlciBsZXZlbCBhbmQgdG90YWwgYWNjdW11bGF0ZWQgcmV3YXJkcyBvdmVyIHRpbWUu1QEgTWFwcyByZWZlcnJlciBhY2NvdW50IHRvIChMZXZlbCwgQmFsYW5jZSkuIExldmVsIGluZGljYXRlcyBjdXJyZW50IHJld2FyZHMgYW5kIEJhbGFuY2UgaXMgdXNlZCB0byB1bmxvY2sgbmV4dCBsZXZlbC65ASBEZXYgbm90ZTogd2UgdXNlIE9wdGlvblF1ZXJ5IGhlcmUgYmVjYXVzZSB0aGlzIGhlbHBzIHRvIGVhc2lseSBkZXRlcm1pbmUgdGhhdCBhbiBhY2NvdW50IGlmIHJlZmVycmVyIGFjY291bnQuMEFzc2V0UmV3YXJkcwABCAICvQoFBAQACLAgQXNzZXQgZmVlIGRpc3RyaWJ1dGlvbiByZXdhcmRzIGluZm9ybWF0aW9uLtAgTWFwcyAoYXNzZXRfaWQsIGxldmVsKSB0byBhc3NldCByZXdhcmQgcGVyY2VudGFnZXMuSFBlbmRpbmdDb252ZXJzaW9ucwABBAIQkAQACAEBIEluZm9ybWF0aW9uIGFib3V0IGFzc2V0cyB0aGF0IGFyZSBjdXJyZW50bHkgaW4gdGhlIHJld2FyZHMgcG90Lg0BIFVzZWQgdG8gZWFzaWx5IGRldGVybWluZSBsaXN0IG9mIGFzc2V0cyB0aGF0IG5lZWQgdG8gYmUgY29udmVydGVkLnBDb3VudGVyRm9yUGVuZGluZ0NvbnZlcnNpb25zAQAQEAAAAAAErENvdW50ZXIgZm9yIHRoZSByZWxhdGVkIGNvdW50ZWQgc3RvcmFnZSBtYXAB+QMB4QYYLFJld2FyZEFzc2V0EBAAAAAABNggSUQgb2YgYW4gYXNzZXQgdGhhdCBpcyB1c2VkIHRvIGRpc3RyaWJ1dGUgcmV3YXJkcyBpbi4gUGFsbGV0SWQxCCByZWZlcnJhbARFASBQYWxsZXQgaWQuIERldGVybWluZXMgYWNjb3VudCB3aGljaCBob2xkcyBhY2N1bXVsYXRlZCByZXdhcmRzIGluIHZhcmlvdXMgYXNzZXRzLjxSZWdpc3RyYXRpb25GZWXBCtAAAAAAAOAjZ+jJAAAAAAAAAAAAAG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAACGggUmVnaXN0cmF0aW9uIGZlZSBkZXRhaWxzLiUBIChJRCBvZiBhbiBhc3NldCB3aGljaCBmZWUgaXMgdG8gYmUgcGFpZCBpbiwgQW1vdW50LCBCZW5lZmljaWFyeSBhY2NvdW50KShDb2RlTGVuZ3RoEBAKAAAABHggTWF4aW11bSByZWZlcnJhbCBjb2RlIGxlbmd0aC40TWluQ29kZUxlbmd0aBAQBAAAAAR4IE1pbmltdW0gcmVmZXJyYWwgY29kZSBsZW5ndGguQFNlZWROYXRpdmVBbW91bnQYQACgck4YCQAAAAAAAAAAAAAEtCBTZWVkIGFtb3VudCB0aGF0IHdhcyBzZW50IHRvIHRoZSByZXdhcmQgcG90LgHFCksALExpcXVpZGF0aW9uASxMaXF1aWRhdGlvbgREQm9ycm93aW5nQ29udHJhY3QBAFUBUBsC4FFoO1z6xZKcJehK2ybs+Hs4BIggQm9ycm93aW5nIG1hcmtldCBjb250cmFjdCBhZGRyZXNzAQkEAekGCCBHYXNMaW1pdDAgAAk9AAAAAAAE5CBUaGUgZ2FzIGxpbWl0IGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBsaXF1aWRhdGlvbiBjYWxsLjhQcm9maXRSZWNlaXZlcgCAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAEhCBBY2NvdW50IHdobyByZWNlaXZlcyB0aGUgcHJvZml0LgHJCkwAGFRva2VucwEYVG9rZW5zEDRUb3RhbElzc3VhbmNlAQEEBRAYQAAAAAAAAAAAAAAAAAAAAAAEkCBUaGUgdG90YWwgaXNzdWFuY2Ugb2YgYSB0b2tlbiB0eXBlLhRMb2NrcwEBCAIFmQjNCgQACNggQW55IGxpcXVpZGl0eSBsb2NrcyBvZiBhIHRva2VuIHR5cGUgdW5kZXIgYW4gYWNjb3VudC4lASBOT1RFOiBTaG91bGQgb25seSBiZSBhY2Nlc3NlZCB3aGVuIHNldHRpbmcsIGNoYW5naW5nIGFuZCBmcmVlaW5nIGEgbG9jay4gQWNjb3VudHMBAQgCBZkI2QrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGLggVGhlIGJhbGFuY2Ugb2YgYSB0b2tlbiB0eXBlIHVuZGVyIGFuIGFjY291bnQuAPwgTk9URTogSWYgdGhlIHRvdGFsIGlzIGV2ZXIgemVybywgZGVjcmVhc2UgYWNjb3VudCByZWYgYWNjb3VudC4AGQEgTk9URTogVGhpcyBpcyBvbmx5IHVzZWQgaW4gdGhlIGNhc2UgdGhhdCB0aGlzIG1vZHVsZSBpcyB1c2VkIHRvIHN0b3JlKCBiYWxhbmNlcy4gUmVzZXJ2ZXMBAQgCBZkI3QoEAASkIE5hbWVkIHJlc2VydmVzIG9uIHNvbWUgYWNjb3VudCBiYWxhbmNlcy4BDQQB7QYIIE1heExvY2tzEBAyAAAAACxNYXhSZXNlcnZlcxAQMgAAAAQNASBUaGUgbWF4aW11bSBudW1iZXIgb2YgbmFtZWQgcmVzZXJ2ZXMgdGhhdCBjYW4gZXhpc3Qgb24gYW4gYWNjb3VudC4B6QpNAChDdXJyZW5jaWVzAAERBAHxBgg4UmVzZXJ2ZUFjY291bnQAgG1vZGxjdXJyZXNlcgAAAAAAAAAAAAAAAAAAAAAAAAAAAExHZXROYXRpdmVDdXJyZW5jeUlkEBAAAAAAAAHtCk8AHFZlc3RpbmcBHFZlc3RpbmcEQFZlc3RpbmdTY2hlZHVsZXMBAQQCAPEKBAAMhCBWZXN0aW5nIHNjaGVkdWxlcyBvZiBhbiBhY2NvdW50LgDgIFZlc3RpbmdTY2hlZHVsZXM6IG1hcCBBY2NvdW50SWQgPT4gVmVjPFZlc3RpbmdTY2hlZHVsZT4BGQQB9QYERE1pblZlc3RlZFRyYW5zZmVyGEBkAAAAAAAAAAAAAAAAAAAABOggVGhlIG1pbmltdW0gYW1vdW50IHRyYW5zZmVycmVkIHRvIGNhbGwgYHZlc3RlZF90cmFuc2ZlcmAuAfUKUQAMRVZNAQxFVk0QMEFjY291bnRDb2RlcwEBBAJVATgEAABQQWNjb3VudENvZGVzTWV0YWRhdGEAAQQCVQH5CgQAADxBY2NvdW50U3RvcmFnZXMBAQgCAv0KNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgU3VpY2lkZWQAAQQCVQGQBAAAASUEAfkGAAEBC1oAKEVWTUNoYWluSWQBKEVWTUNoYWluSWQEHENoYWluSWQBADAgAAAAAAAAAAAESCBUaGUgRVZNIGNoYWluIElELgAAAABbACBFdGhlcmV1bQEgRXRoZXJldW0UHFBlbmRpbmcBAAULBAAE0CBDdXJyZW50IGJ1aWxkaW5nIGJsb2NrJ3MgdHJhbnNhY3Rpb25zIGFuZCByZWNlaXB0cy4wQ3VycmVudEJsb2NrAAApCwQABHAgVGhlIGN1cnJlbnQgRXRoZXJldW0gYmxvY2suPEN1cnJlbnRSZWNlaXB0cwAAPQsEAAR8IFRoZSBjdXJyZW50IEV0aGVyZXVtIHJlY2VpcHRzLmhDdXJyZW50VHJhbnNhY3Rpb25TdGF0dXNlcwAAQQsEAASIIFRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIHN0YXR1c2VzLiRCbG9ja0hhc2gBAQQFXQE0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE1BAEBBwABRQtcACxFVk1BY2NvdW50cwEsRVZNQWNjb3VudHMMQEFjY291bnRFeHRlbnNpb24AAQQCVQElAgQABAUBIE1hcHMgYW4gRVZNIGFkZHJlc3MgdG8gdGhlIGxhc3QgMTIgYnl0ZXMgb2YgYSBzdWJzdHJhdGUgYWNjb3VudC5AQ29udHJhY3REZXBsb3llcgABBAJVAZAEAAQJASBXaGl0ZWxpc3RlZCBhZGRyZXNzZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBkZXBsb3kgc21hcnQgY29udHJhY3RzLkBBcHByb3ZlZENvbnRyYWN0AAEEAlUBkAQABBkBIFdoaXRlbGlzdGVkIGNvbnRyYWN0cyB0aGF0IGFyZSBhbGxvd2VkIHRvIG1hbmFnZSBiYWxhbmNlcyBhbmQgdG9rZW5zLgFdBAElBwQ0RmVlTXVsdGlwbGllchAQMgAAAAS0IEZlZSBtdWx0aXBsaWVyIGZvciB0aGUgYmluZGluZyBvZiBhZGRyZXNzZXMuAUkLXQA0RHluYW1pY0V2bUZlZQE0RHluYW1pY0V2bUZlZQQ0QmFzZUZlZVBlckdhcwEAXQGAACT0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERCBCYXNlIGZlZSBwZXIgZ2FzAAAELFdldGhBc3NldElkEBAUAAAABDggV0VUSCBBc3NldCBJZABeAEhYWUtMaXF1aWRpdHlNaW5pbmcAAWEEASkHBDxORlRDb2xsZWN0aW9uSWQYQA0VAAAAAAAAAAAAAAAAAAAE3CBORlQgY29sbGVjdGlvbiBpZCBmb3IgbGlxdWlkaXR5IG1pbmluZydzIGRlcG9zaXQgbmZ0cy4BTQtfADhYWUtXYXJlaG91c2VMTQE4WFlLV2FyZWhvdXNlTE0YNEZhcm1TZXF1ZW5jZXIBABAQAAAAAAS8IElkIHNlcXVlbmNlciBmb3IgYEdsb2JhbEZhcm1gIGFuZCBgWWllbGRGYXJtYC5ARGVwb3NpdFNlcXVlbmNlcgEAGEAAAAAAAAAAAAAAAAAAAAAAAChHbG9iYWxGYXJtAAEEAhBRCwQAACRZaWVsZEZhcm0AAQwCAgJVC1kLBAAEUCBZaWVsZCBmYXJtIGRldGFpbHMuHERlcG9zaXQAAQQFGF0LBAAERCBEZXBvc2l0IGRldGFpbHMuPEFjdGl2ZVlpZWxkRmFybQABCAICmQgQBAAE+CBBY3RpdmUoZmFybXMgYWJsZSB0byByZWNlaXZlIExQIHNoYXJlcyBkZXBvc2l0cykgeWllbGQgZmFybXMuAXEEAS0HGCBQYWxsZXRJZDEIIHh5a0xNcElEBCwgUGFsbGV0IGlkLkRUcmVhc3VyeUFjY291bnRJZACAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAE6CBUcmVhc3VyeSBhY2NvdW50IHRvIHJlY2VpdmUgY2xhaW1lZCByZXdhcmRzIGxvd2VyIHRoYW4gRURMTWluVG90YWxGYXJtUmV3YXJkcxhAABCl1OgAAAAAAAAAAAAAAAQ5ASBNaW5pbXVtIHRvdGFsIHJld2FyZHMgdG8gZGlzdHJpYnV0ZSBmcm9tIGdsb2JhbCBmYXJtIGR1cmluZyBsaXF1aWRpdHkgbWluaW5nLmRNaW5QbGFubmVkWWllbGRpbmdQZXJpb2RzEBBoOAAABOwgTWluaW11bSBudW1iZXIgb2YgcGVyaW9kcyB0byBydW4gbGlxdWlkaXR5IG1pbmluZyBwcm9ncmFtLmBNYXhGYXJtRW50cmllc1BlckRlcG9zaXQQEAUAAAAIZQEgTWF4aW11bSBudW1iZXIgb2YgeWllbGQgZmFybXMgc2FtZSBMUCBzaGFyZXMgY2FuIGJlIHJlL2RlcG9zaXRlZCBpbnRvLiBUaGlzIHZhbHVlIGFsd2F5c1wgTVVTVCBCRSA+PSAxLiAgICAgICAgIGhNYXhZaWVsZEZhcm1zUGVyR2xvYmFsRmFybRAQMgAAAAhNASBNYXggbnVtYmVyIG9mIHlpZWxkIGZhcm1zIGNhbiBleGlzdCBpbiBnbG9iYWwgZmFybS4gVGhpcyBpbmNsdWRlcyBhbGwgZmFybXMgaW4gdGhlmCBzdG9yYWdlKGFjdGl2ZSwgc3RvcHBlZCwgdGVybWluYXRlZCkuAW0LYAA4UmVsYXlDaGFpbkluZm8AAXUEATEHAAFxC8kADERDQQEMRENBHExTY2hlZHVsZUlkU2VxdWVuY2VyAQAQEAAAAAAEbCBJZCBzZXF1ZW5jZXIgZm9yIHNjaGVkdWxlcyRTY2hlZHVsZXMAAQQCEH0EBAAEZCBTdG9yaW5nIHNjaGVkdWxlIGRldGFpbHNEU2NoZWR1bGVPd25lcnNoaXAAAQgCBZkIkAQABGwgU3RvcmluZyBzY2hlZHVsZSBvd25lcnNoaXBAUmVtYWluaW5nQW1vdW50cwABBAIQGAQABPwgS2VlcCB0cmFja2luZyB0aGUgcmVtYWluaW5nIGFtb3VudHMgdG8gc3BlbmQgZm9yIERDQSBzY2hlZHVsZXM4UmV0cmllc09uRXJyb3IBAQQCEAgEAATgIEtlZXAgdHJhY2tpbmcgdGhlIHJldHJ5IG9uIGVycm9yIGZsYWcgZm9yIERDQSBzY2hlZHVsZXNYU2NoZWR1bGVFeGVjdXRpb25CbG9jawABBAIQEAQABCkBIEtlZXAgdHJhY2tpbmcgdGhlIGJsb2NrbnVtYmVyIHdoZW4gdGhlIHNjaGVkdWxlIGlzIHBsYW5uZWQgdG8gYmUgZXhlY3V0ZWRMU2NoZWR1bGVJZHNQZXJCbG9jawEBBAIQdQsEAAT4IEtlZXAgdHJhY2tpbmcgb2YgdGhlIHNjaGVkdWxlIGlkcyB0byBiZSBleGVjdXRlZCBpbiB0aGUgYmxvY2sBeQQBNQcwfE1heFByaWNlRGlmZmVyZW5jZUJldHdlZW5CbG9ja3NJAxCYOgAABKxNYXggcHJpY2UgZGlmZmVyZW5jZSBhbGxvd2VkIGJldHdlZW4gYmxvY2tzrE1heENvbmZpZ3VyYWJsZVByaWNlRGlmZmVyZW5jZUJldHdlZW5CbG9ja3NJAxBQwwAABOBNYXggY29uZmlndXJhYmxlIHByaWNlIGRpZmZlcmVuY2UgYWxsb3dlZCBiZXR3ZWVuIGJsb2Nrc0xNYXhTY2hlZHVsZVBlckJsb2NrEBAGAAAABNBUaGUgbnVtYmVyIG9mIG1heCBzY2hlZHVsZXMgdG8gYmUgZXhlY3V0ZWQgcGVyIGJsb2NrZE1heE51bWJlck9mUmV0cmllc09uRXJyb3IIBAME2FRoZSBudW1iZXIgb2YgbWF4IHJldHJpZXMgaW4gY2FzZSBvZiB0cmFkZSBsaW1pdCBlcnJvcjRNaW5pbWFsUGVyaW9kEBAFAAAABIRNaW5pbWFsIHBlcmlvZCBiZXR3ZWVuIGV4ZWN1dGlvbnMoQnVtcENoYW5jZQ0JBBEEhENoYW5jZSBvZiB0aGUgcmFuZG9tIHJlc2NoZWR1bGluZ0xNaW5pbXVtVHJhZGluZ0xpbWl0GEDoAwAAAAAAAAAAAAAAAAAABKQgTWluaW11bSB0cmFkaW5nIGxpbWl0IGZvciBhIHNpbmdsZSB0cmFkZTROYXRpdmVBc3NldElkEBAAAAAABEAgTmF0aXZlIEFzc2V0IElkVFBvbGthZG90TmF0aXZlQXNzZXRJZBAQBQAAAAR8IFBvbGthZG90IE5hdGl2ZSBBc3NldCBJZCAoRE9UKWRNaW5CdWRnZXRJbk5hdGl2ZUN1cnJlbmN5GEAAgMakfo0DAAAAAAAAAAAABCUBTWluaW11bSBidWRnZXQgdG8gYmUgYWJsZSB0byBzY2hlZHVsZSBhIERDQSwgc3BlY2lmaWVkIGluIG5hdGl2ZSBjdXJyZW5jeSxGZWVSZWNlaXZlcgCAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAElFRoZSBmZWUgcmVjZWl2ZXIgZm9yIHRyYW5zYWN0aW9uIGZlZXM4TmFtZWRSZXNlcnZlSWQVAiBkY2FvcmRlcgQpASBOYW1lZCByZXNlcnZlIGlkZW50aWZpZXIgdG8gc3RvcmUgbmFtZWQgcmVzZXJ2ZXMgZm9yIG9yZGVycyBvZiBlYWNoIHVzZXJzAXkLQgAkU2NoZWR1bGVyASRTY2hlZHVsZXIQPEluY29tcGxldGVTaW5jZQAAEAQAABhBZ2VuZGEBAQQFEH0LBAAETQEgSXRlbXMgdG8gYmUgZXhlY3V0ZWQsIGluZGV4ZWQgYnkgdGhlIGJsb2NrIG51bWJlciB0aGF0IHRoZXkgc2hvdWxkIGJlIGV4ZWN1dGVkIG9uLhxSZXRyaWVzAAEEAnUDjQsEAAQhASBSZXRyeSBjb25maWd1cmF0aW9ucyBmb3IgaXRlbXMgdG8gYmUgZXhlY3V0ZWQsIGluZGV4ZWQgYnkgdGFzayBhZGRyZXNzLhhMb29rdXAAAQQFBHUDBAAQ+CBMb29rdXAgZnJvbSBhIG5hbWUgdG8gdGhlIGJsb2NrIG51bWJlciBhbmQgaW5kZXggb2YgdGhlIHRhc2suAFkBIEZvciB2MyAtPiB2NCB0aGUgcHJldmlvdXNseSB1bmJvdW5kZWQgaWRlbnRpdGllcyBhcmUgQmxha2UyLTI1NiBoYXNoZWQgdG8gZm9ybSB0aGUgdjQwIGlkZW50aXRpZXMuAYkEATkHCDRNYXhpbXVtV2VpZ2h0KCgHAKDbIV0CAAABBCkBIFRoZSBtYXhpbXVtIHdlaWdodCB0aGF0IG1heSBiZSBzY2hlZHVsZWQgcGVyIGJsb2NrIGZvciBhbnkgZGlzcGF0Y2hhYmxlcy5QTWF4U2NoZWR1bGVkUGVyQmxvY2sQEDIAAAAUHQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIHNjaGVkdWxlZCBjYWxscyBpbiB0aGUgcXVldWUgZm9yIGEgc2luZ2xlIGJsb2NrLgAYIE5PVEU6UQEgKyBEZXBlbmRlbnQgcGFsbGV0cycgYmVuY2htYXJrcyBtaWdodCByZXF1aXJlIGEgaGlnaGVyIGxpbWl0IGZvciB0aGUgc2V0dGluZy4gU2V0IGHEIGhpZ2hlciBsaW1pdCB1bmRlciBgcnVudGltZS1iZW5jaG1hcmtzYCBmZWF0dXJlLgGRCwUAPFBhcmFjaGFpblN5c3RlbQE8UGFyYWNoYWluU3lzdGVtYERVbmluY2x1ZGVkU2VnbWVudAEAlQsEABhJASBMYXRlc3QgaW5jbHVkZWQgYmxvY2sgZGVzY2VuZGFudHMgdGhlIHJ1bnRpbWUgYWNjZXB0ZWQuIEluIG90aGVyIHdvcmRzLCB0aGVzZSBhcmVhASBhbmNlc3RvcnMgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgYmxvY2sgd2hpY2ggaGF2ZSBub3QgYmVlbiBpbmNsdWRlZCBpbiB0aGUgb2JzZXJ2ZWRMIHJlbGF5LWNoYWluIHN0YXRlLgB1ASBUaGUgc2VnbWVudCBsZW5ndGggaXMgbGltaXRlZCBieSB0aGUgY2FwYWNpdHkgcmV0dXJuZWQgZnJvbSB0aGUgW2BDb25zZW5zdXNIb29rYF0gY29uZmlndXJlZDwgaW4gdGhlIHBhbGxldC5sQWdncmVnYXRlZFVuaW5jbHVkZWRTZWdtZW50AAC5CwQADGkBIFN0b3JhZ2UgZmllbGQgdGhhdCBrZWVwcyB0cmFjayBvZiBiYW5kd2lkdGggdXNlZCBieSB0aGUgdW5pbmNsdWRlZCBzZWdtZW50IGFsb25nIHdpdGggdGhlLQEgbGF0ZXN0IEhSTVAgd2F0ZXJtYXJrLiBVc2VkIGZvciBsaW1pdGluZyB0aGUgYWNjZXB0YW5jZSBvZiBuZXcgYmxvY2tzIHdpdGiQIHJlc3BlY3QgdG8gcmVsYXkgY2hhaW4gY29uc3RyYWludHMuVFBlbmRpbmdWYWxpZGF0aW9uQ29kZQEAOAQAGFkBIEluIGNhc2Ugb2YgYSBzY2hlZHVsZWQgdXBncmFkZSwgdGhpcyBzdG9yYWdlIGZpZWxkIGNvbnRhaW5zIHRoZSB2YWxpZGF0aW9uIGNvZGUgdG8gYmUkIGFwcGxpZWQuAD0BIEFzIHNvb24gYXMgdGhlIHJlbGF5IGNoYWluIGdpdmVzIHVzIHRoZSBnby1haGVhZCBzaWduYWwsIHdlIHdpbGwgb3ZlcndyaXRlIHRoZXEBIFtgOmNvZGVgXVtzcF9jb3JlOjpzdG9yYWdlOjp3ZWxsX2tub3duX2tleXM6OkNPREVdIHdoaWNoIHdpbGwgcmVzdWx0IHRoZSBuZXh0IGJsb2NrIHByb2Nlc3MJASB3aXRoIHRoZSBuZXcgdmFsaWRhdGlvbiBjb2RlLiBUaGlzIGNvbmNsdWRlcyB0aGUgdXBncmFkZSBwcm9jZXNzLkROZXdWYWxpZGF0aW9uQ29kZQAAOAQAFF0BIFZhbGlkYXRpb24gY29kZSB0aGF0IGlzIHNldCBieSB0aGUgcGFyYWNoYWluIGFuZCBpcyB0byBiZSBjb21tdW5pY2F0ZWQgdG8gY29sbGF0b3IgYW5keCBjb25zZXF1ZW50bHkgdGhlIHJlbGF5LWNoYWluLgBlASBUaGlzIHdpbGwgYmUgY2xlYXJlZCBpbiBgb25faW5pdGlhbGl6ZWAgb2YgZWFjaCBuZXcgYmxvY2sgaWYgbm8gb3RoZXIgcGFsbGV0IGFscmVhZHkgc2V0LCB0aGUgdmFsdWUuOFZhbGlkYXRpb25EYXRhAACVBAQADNAgVGhlIFtgUGVyc2lzdGVkVmFsaWRhdGlvbkRhdGFgXSBzZXQgZm9yIHRoaXMgYmxvY2suLQEgVGhpcyB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSBzZXQgb25seSBvbmNlIHBlciBibG9jayBhbmQgaXQncyBuZXZlciBzdG9yZWQ0IGluIHRoZSB0cmllLlBEaWRTZXRWYWxpZGF0aW9uQ29kZQEAIAQABOAgV2VyZSB0aGUgdmFsaWRhdGlvbiBkYXRhIHNldCB0byBub3RpZnkgdGhlIHJlbGF5IGNoYWluP2RMYXN0UmVsYXlDaGFpbkJsb2NrTnVtYmVyAQAQEAAAAAAMHQEgVGhlIHJlbGF5IGNoYWluIGJsb2NrIG51bWJlciBhc3NvY2lhdGVkIHdpdGggdGhlIGxhc3QgcGFyYWNoYWluIGJsb2NrLgCIIFRoaXMgaXMgdXBkYXRlZCBpbiBgb25fZmluYWxpemVgLmBVcGdyYWRlUmVzdHJpY3Rpb25TaWduYWwBAL0LBAAcdQEgQW4gb3B0aW9uIHdoaWNoIGluZGljYXRlcyBpZiB0aGUgcmVsYXktY2hhaW4gcmVzdHJpY3RzIHNpZ25hbGxpbmcgYSB2YWxpZGF0aW9uIGNvZGUgdXBncmFkZS5hASBJbiBvdGhlciB3b3JkcywgaWYgdGhpcyBpcyBgU29tZWAgYW5kIFtgTmV3VmFsaWRhdGlvbkNvZGVgXSBpcyBgU29tZWAgdGhlbiB0aGUgcHJvZHVjZWRsIGNhbmRpZGF0ZSB3aWxsIGJlIGludmFsaWQuAHEBIFRoaXMgc3RvcmFnZSBpdGVtIGlzIGEgbWlycm9yIG9mIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGZvciB0aGUgY3VycmVudCBwYXJhY2hhaW4gZnJvbSB0aGVtASByZWxheS1jaGFpbi4gVGhpcyB2YWx1ZSBpcyBlcGhlbWVyYWwgd2hpY2ggbWVhbnMgaXQgZG9lc24ndCBoaXQgdGhlIHN0b3JhZ2UuIFRoaXMgdmFsdWUgaXNgIHNldCBhZnRlciB0aGUgaW5oZXJlbnQuOFVwZ3JhZGVHb0FoZWFkAQCxCwQAFNwgT3B0aW9uYWwgdXBncmFkZSBnby1haGVhZCBzaWduYWwgZnJvbSB0aGUgcmVsYXktY2hhaW4uAHEBIFRoaXMgc3RvcmFnZSBpdGVtIGlzIGEgbWlycm9yIG9mIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGZvciB0aGUgY3VycmVudCBwYXJhY2hhaW4gZnJvbSB0aGVtASByZWxheS1jaGFpbi4gVGhpcyB2YWx1ZSBpcyBlcGhlbWVyYWwgd2hpY2ggbWVhbnMgaXQgZG9lc24ndCBoaXQgdGhlIHN0b3JhZ2UuIFRoaXMgdmFsdWUgaXNgIHNldCBhZnRlciB0aGUgaW5oZXJlbnQuPFJlbGF5U3RhdGVQcm9vZgAAnQQEABjEIFRoZSBzdGF0ZSBwcm9vZiBmb3IgdGhlIGxhc3QgcmVsYXkgcGFyZW50IGJsb2NrLgBtASBUaGlzIGZpZWxkIGlzIG1lYW50IHRvIGJlIHVwZGF0ZWQgZWFjaCBibG9jayB3aXRoIHRoZSB2YWxpZGF0aW9uIGRhdGEgaW5oZXJlbnQuIFRoZXJlZm9yZSxNASBiZWZvcmUgcHJvY2Vzc2luZyBvZiB0aGUgaW5oZXJlbnQsIGUuZy4gaW4gYG9uX2luaXRpYWxpemVgIHRoaXMgZGF0YSBtYXkgYmUgc3RhbGUuAKwgVGhpcyBkYXRhIGlzIGFsc28gYWJzZW50IGZyb20gdGhlIGdlbmVzaXMuWFJlbGV2YW50TWVzc2FnaW5nU3RhdGUAAMULBAAcZQEgVGhlIHNuYXBzaG90IG9mIHNvbWUgc3RhdGUgcmVsYXRlZCB0byBtZXNzYWdpbmcgcmVsZXZhbnQgdG8gdGhlIGN1cnJlbnQgcGFyYWNoYWluIGFzIHBlckggdGhlIHJlbGF5IHBhcmVudC4AbQEgVGhpcyBmaWVsZCBpcyBtZWFudCB0byBiZSB1cGRhdGVkIGVhY2ggYmxvY2sgd2l0aCB0aGUgdmFsaWRhdGlvbiBkYXRhIGluaGVyZW50LiBUaGVyZWZvcmUsTQEgYmVmb3JlIHByb2Nlc3Npbmcgb2YgdGhlIGluaGVyZW50LCBlLmcuIGluIGBvbl9pbml0aWFsaXplYCB0aGlzIGRhdGEgbWF5IGJlIHN0YWxlLgCsIFRoaXMgZGF0YSBpcyBhbHNvIGFic2VudCBmcm9tIHRoZSBnZW5lc2lzLkRIb3N0Q29uZmlndXJhdGlvbgAA2QsEABgpASBUaGUgcGFyYWNoYWluIGhvc3QgY29uZmlndXJhdGlvbiB0aGF0IHdhcyBvYnRhaW5lZCBmcm9tIHRoZSByZWxheSBwYXJlbnQuAG0BIFRoaXMgZmllbGQgaXMgbWVhbnQgdG8gYmUgdXBkYXRlZCBlYWNoIGJsb2NrIHdpdGggdGhlIHZhbGlkYXRpb24gZGF0YSBpbmhlcmVudC4gVGhlcmVmb3JlLE0BIGJlZm9yZSBwcm9jZXNzaW5nIG9mIHRoZSBpbmhlcmVudCwgZS5nLiBpbiBgb25faW5pdGlhbGl6ZWAgdGhpcyBkYXRhIG1heSBiZSBzdGFsZS4ArCBUaGlzIGRhdGEgaXMgYWxzbyBhYnNlbnQgZnJvbSB0aGUgZ2VuZXNpcy44TGFzdERtcU1xY0hlYWQBAOELgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEPQgVGhlIGxhc3QgZG93bndhcmQgbWVzc2FnZSBxdWV1ZSBjaGFpbiBoZWFkIHdlIGhhdmUgb2JzZXJ2ZWQuAGUBIFRoaXMgdmFsdWUgaXMgbG9hZGVkIGJlZm9yZSBhbmQgc2F2ZWQgYWZ0ZXIgcHJvY2Vzc2luZyBpbmJvdW5kIGRvd253YXJkIG1lc3NhZ2VzIGNhcnJpZWRgIGJ5IHRoZSBzeXN0ZW0gaW5oZXJlbnQuQExhc3RIcm1wTXFjSGVhZHMBAOULBAAQSQEgVGhlIG1lc3NhZ2UgcXVldWUgY2hhaW4gaGVhZHMgd2UgaGF2ZSBvYnNlcnZlZCBwZXIgZWFjaCBjaGFubmVsIGluY29taW5nIGNoYW5uZWwuAGUBIFRoaXMgdmFsdWUgaXMgbG9hZGVkIGJlZm9yZSBhbmQgc2F2ZWQgYWZ0ZXIgcHJvY2Vzc2luZyBpbmJvdW5kIGRvd253YXJkIG1lc3NhZ2VzIGNhcnJpZWRgIGJ5IHRoZSBzeXN0ZW0gaW5oZXJlbnQuZFByb2Nlc3NlZERvd253YXJkTWVzc2FnZXMBABAQAAAAAAzIIE51bWJlciBvZiBkb3dud2FyZCBtZXNzYWdlcyBwcm9jZXNzZWQgaW4gYSBibG9jay4A7CBUaGlzIHdpbGwgYmUgY2xlYXJlZCBpbiBgb25faW5pdGlhbGl6ZWAgb2YgZWFjaCBuZXcgYmxvY2suNEhybXBXYXRlcm1hcmsBABAQAAAAAAygIEhSTVAgd2F0ZXJtYXJrIHRoYXQgd2FzIHNldCBpbiBhIGJsb2NrLgDsIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9pbml0aWFsaXplYCBvZiBlYWNoIG5ldyBibG9jay5QSHJtcE91dGJvdW5kTWVzc2FnZXMBAPELBAAMpCBIUk1QIG1lc3NhZ2VzIHRoYXQgd2VyZSBzZW50IGluIGEgYmxvY2suAOwgVGhpcyB3aWxsIGJlIGNsZWFyZWQgaW4gYG9uX2luaXRpYWxpemVgIG9mIGVhY2ggbmV3IGJsb2NrLjhVcHdhcmRNZXNzYWdlcwEANQEEAAysIFVwd2FyZCBtZXNzYWdlcyB0aGF0IHdlcmUgc2VudCBpbiBhIGJsb2NrLgDsIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9pbml0aWFsaXplYCBvZiBlYWNoIG5ldyBibG9jay5UUGVuZGluZ1Vwd2FyZE1lc3NhZ2VzAQA1AQQABDEBIFVwd2FyZCBtZXNzYWdlcyB0aGF0IGFyZSBzdGlsbCBwZW5kaW5nIGFuZCBub3QgeWV0IHNlbmQgdG8gdGhlIHJlbGF5IGNoYWluLlxVcHdhcmREZWxpdmVyeUZlZUZhY3RvcgEAUQFAAABkp7O24A0AAAAAAAAAAATkIFRoZSBmYWN0b3IgdG8gbXVsdGlwbHkgdGhlIGJhc2UgZGVsaXZlcnkgZmVlIGJ5IGZvciBVTVAuhEFubm91bmNlZEhybXBNZXNzYWdlc1BlckNhbmRpZGF0ZQEAEBAAAAAACGUBIFRoZSBudW1iZXIgb2YgSFJNUCBtZXNzYWdlcyB3ZSBvYnNlcnZlZCBpbiBgb25faW5pdGlhbGl6ZWAgYW5kIHRodXMgdXNlZCB0aGF0IG51bWJlciBmb3LwIGFubm91bmNpbmcgdGhlIHdlaWdodCBvZiBgb25faW5pdGlhbGl6ZWAgYW5kIGBvbl9maW5hbGl6ZWAuaFJlc2VydmVkWGNtcFdlaWdodE92ZXJyaWRlAAAoBAAIXQEgVGhlIHdlaWdodCB3ZSByZXNlcnZlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrIGZvciBwcm9jZXNzaW5nIFhDTVAgbWVzc2FnZXMuIFRoaXO4IG92ZXJyaWRlcyB0aGUgYW1vdW50IHNldCBpbiB0aGUgQ29uZmlnIHRyYWl0LmRSZXNlcnZlZERtcFdlaWdodE92ZXJyaWRlAAAoBAAIWQEgVGhlIHdlaWdodCB3ZSByZXNlcnZlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrIGZvciBwcm9jZXNzaW5nIERNUCBtZXNzYWdlcy4gVGhpc7ggb3ZlcnJpZGVzIHRoZSBhbW91bnQgc2V0IGluIHRoZSBDb25maWcgdHJhaXQuYEN1c3RvbVZhbGlkYXRpb25IZWFkRGF0YQAAOAQADCkBIEEgY3VzdG9tIGhlYWQgZGF0YSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZCBhcyByZXN1bHQgb2YgYHZhbGlkYXRlX2Jsb2NrYC4AEQEgU2VlIGBQYWxsZXQ6OnNldF9jdXN0b21fdmFsaWRhdGlvbl9oZWFkX2RhdGFgIGZvciBtb3JlIGluZm9ybWF0aW9uLgGNBAFBBwQoU2VsZlBhcmFJZNUBEPIHAAAEuCBSZXR1cm5zIHRoZSBwYXJhY2hhaW4gSUQgd2UgYXJlIHJ1bm5pbmcgd2l0aC4B+QtnADRQYXJhY2hhaW5JbmZvATRQYXJhY2hhaW5JbmZvBCxQYXJhY2hhaW5JZAEA1QEQZAAAAAABwQQAAABpACxQb2xrYWRvdFhjbQEsUG9sa2Fkb3RYY204MFF1ZXJ5Q291bnRlcgEAMCAAAAAAAAAAAASIIFRoZSBsYXRlc3QgYXZhaWxhYmxlIHF1ZXJ5IGluZGV4LhxRdWVyaWVzAAEEAjD9CwQABFQgVGhlIG9uZ29pbmcgcXVlcmllcy4oQXNzZXRUcmFwcwEBBAY0EBAAAAAAEGggVGhlIGV4aXN0aW5nIGFzc2V0IHRyYXBzLgBhASBLZXkgaXMgdGhlIGJsYWtlMiAyNTYgaGFzaCBvZiAob3JpZ2luLCB2ZXJzaW9uZWQgYEFzc2V0c2ApIHBhaXIuIFZhbHVlIGlzIHRoZSBudW1iZXIgb2YdASB0aW1lcyB0aGlzIHBhaXIgaGFzIGJlZW4gdHJhcHBlZCAodXN1YWxseSBqdXN0IDEgaWYgaXQgZXhpc3RzIGF0IGFsbCkuOFNhZmVYY21WZXJzaW9uAAAQBAAIYQEgRGVmYXVsdCB2ZXJzaW9uIHRvIGVuY29kZSBYQ00gd2hlbiBsYXRlc3QgdmVyc2lvbiBvZiBkZXN0aW5hdGlvbiBpcyB1bmtub3duLiBJZiBgTm9uZWAsPQEgdGhlbiB0aGUgZGVzdGluYXRpb25zIHdob3NlIFhDTSB2ZXJzaW9uIGlzIHVua25vd24gYXJlIGNvbnNpZGVyZWQgdW5yZWFjaGFibGUuQFN1cHBvcnRlZFZlcnNpb24AAQgFAhEMEAQABPAgVGhlIExhdGVzdCB2ZXJzaW9ucyB0aGF0IHdlIGtub3cgdmFyaW91cyBsb2NhdGlvbnMgc3VwcG9ydC5AVmVyc2lvbk5vdGlmaWVycwABCAUCEQwwBAAEBQEgQWxsIGxvY2F0aW9ucyB0aGF0IHdlIGhhdmUgcmVxdWVzdGVkIHZlcnNpb24gbm90aWZpY2F0aW9ucyBmcm9tLlBWZXJzaW9uTm90aWZ5VGFyZ2V0cwABCAUCEQwVDAQACHEBIFRoZSB0YXJnZXQgbG9jYXRpb25zIHRoYXQgYXJlIHN1YnNjcmliZWQgdG8gb3VyIHZlcnNpb24gY2hhbmdlcywgYXMgd2VsbCBhcyB0aGUgbW9zdCByZWNlbnSUIG9mIG91ciB2ZXJzaW9ucyB3ZSBpbmZvcm1lZCB0aGVtIG9mLlRWZXJzaW9uRGlzY292ZXJ5UXVldWUBABkMBAAMZQEgRGVzdGluYXRpb25zIHdob3NlIGxhdGVzdCBYQ00gdmVyc2lvbiB3ZSB3b3VsZCBsaWtlIHRvIGtub3cuIER1cGxpY2F0ZXMgbm90IGFsbG93ZWQsIGFuZHEBIHRoZSBgdTMyYCBjb3VudGVyIGlzIHRoZSBudW1iZXIgb2YgdGltZXMgdGhhdCBhIHNlbmQgdG8gdGhlIGRlc3RpbmF0aW9uIGhhcyBiZWVuIGF0dGVtcHRlZCyMIHdoaWNoIGlzIHVzZWQgYXMgYSBwcmlvcml0aXphdGlvbi5AQ3VycmVudE1pZ3JhdGlvbgAAJQwEAAScIFRoZSBjdXJyZW50IG1pZ3JhdGlvbidzIHN0YWdlLCBpZiBhbnkuVFJlbW90ZUxvY2tlZEZ1bmdpYmxlcwABDAUCAi0MMQwEAATwIEZ1bmdpYmxlIGFzc2V0cyB3aGljaCB3ZSBrbm93IGFyZSBsb2NrZWQgb24gYSByZW1vdGUgY2hhaW4uPExvY2tlZEZ1bmdpYmxlcwABBAIAQQwEAATgIEZ1bmdpYmxlIGFzc2V0cyB3aGljaCB3ZSBrbm93IGFyZSBsb2NrZWQgb24gdGhpcyBjaGFpbi5UWGNtRXhlY3V0aW9uU3VzcGVuZGVkAQAgBAAEtCBHbG9iYWwgc3VzcGVuc2lvbiBzdGF0ZSBvZiB0aGUgWENNIGV4ZWN1dG9yLjxTaG91bGRSZWNvcmRYY20BACAEABxZASBXaGV0aGVyIG9yIG5vdCBpbmNvbWluZyBYQ01zIChib3RoIGV4ZWN1dGVkIGxvY2FsbHkgYW5kIHJlY2VpdmVkKSBzaG91bGQgYmUgcmVjb3JkZWQuxCBPbmx5IG9uZSBYQ00gcHJvZ3JhbSB3aWxsIGJlIHJlY29yZGVkIGF0IGEgdGltZS4pASBUaGlzIGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gcnVudGltZSBBUElzLCBhbmQgaXQncyBhZHZpc2VkIGl0IHN0YXlzIGZhbHNlDQEgZm9yIGFsbCBvdGhlciB1c2UgY2FzZXMsIHNvIGFzIHRvIG5vdCBkZWdyYWRlIHJlZ3VsYXIgcGVyZm9ybWFuY2UuAFkBIE9ubHkgcmVsZXZhbnQgaWYgdGhpcyBwYWxsZXQgaXMgYmVpbmcgdXNlZCBhcyB0aGUgW2B4Y21fZXhlY3V0b3I6OnRyYWl0czo6UmVjb3JkWGNtYF3IIGltcGxlbWVudGF0aW9uIGluIHRoZSBYQ00gZXhlY3V0b3IgY29uZmlndXJhdGlvbi4sUmVjb3JkZWRYY20AAKEFBAAYSQEgSWYgW2BTaG91bGRSZWNvcmRYY21gXSBpcyBzZXQgdG8gdHJ1ZSwgdGhlbiB0aGUgbGFzdCBYQ00gcHJvZ3JhbSBleGVjdXRlZCBsb2NhbGx5VCB3aWxsIGJlIHN0b3JlZCBoZXJlLikBIFJ1bnRpbWUgQVBJcyBjYW4gZmV0Y2ggdGhlIFhDTSB0aGF0IHdhcyBleGVjdXRlZCBieSBhY2Nlc3NpbmcgdGhpcyB2YWx1ZS4AWQEgT25seSByZWxldmFudCBpZiB0aGlzIHBhbGxldCBpcyBiZWluZyB1c2VkIGFzIHRoZSBbYHhjbV9leGVjdXRvcjo6dHJhaXRzOjpSZWNvcmRYY21gXcggaW1wbGVtZW50YXRpb24gaW4gdGhlIFhDTSBleGVjdXRvciBjb25maWd1cmF0aW9uLgHFBAFFBwABTQxrAChDdW11bHVzWGNtAAElBgFNBwAAbQAkWGNtcFF1ZXVlASRYY21wUXVldWUcUEluYm91bmRYY21wU3VzcGVuZGVkAQBRDAQAIA0BIFRoZSBzdXNwZW5kZWQgaW5ib3VuZCBYQ01QIGNoYW5uZWxzLiBBbGwgb3RoZXJzIGFyZSBub3Qgc3VzcGVuZGVkLgBxASBUaGlzIGlzIGEgYFN0b3JhZ2VWYWx1ZWAgaW5zdGVhZCBvZiBhIGBTdG9yYWdlTWFwYCBzaW5jZSB3ZSBleHBlY3QgbXVsdGlwbGUgcmVhZHMgcGVyIGJsb2NraQEgdG8gZGlmZmVyZW50IGtleXMgd2l0aCBhIG9uZSBieXRlIHBheWxvYWQuIFRoZSBhY2Nlc3MgdG8gYEJvdW5kZWRCVHJlZVNldGAgd2lsbCBiZSBjYWNoZWQVASB3aXRoaW4gdGhlIGJsb2NrIGFuZCB0aGVyZWZvcmUgb25seSBpbmNsdWRlZCBvbmNlIGluIHRoZSBwcm9vZiBzaXplLgBlASBOT1RFOiBUaGUgUG9WIGJlbmNobWFya2luZyBjYW5ub3Qga25vdyB0aGlzIGFuZCB3aWxsIG92ZXItZXN0aW1hdGUsIGJ1dCB0aGUgYWN0dWFsIHByb29mRCB3aWxsIGJlIHNtYWxsZXIuSE91dGJvdW5kWGNtcFN0YXR1cwEAXQwEABhdASBUaGUgbm9uLWVtcHR5IFhDTVAgY2hhbm5lbHMgaW4gb3JkZXIgb2YgYmVjb21pbmcgbm9uLWVtcHR5LCBhbmQgdGhlIGluZGV4IG9mIHRoZSBmaXJzdFEBIGFuZCBsYXN0IG91dGJvdW5kIG1lc3NhZ2UuIElmIHRoZSB0d28gaW5kaWNlcyBhcmUgZXF1YWwsIHRoZW4gaXQgaW5kaWNhdGVzIGFuIGVtcHR5WQEgcXVldWUgYW5kIHRoZXJlIG11c3QgYmUgYSBub24tYE9rYCBgT3V0Ym91bmRTdGF0dXNgLiBXZSBhc3N1bWUgcXVldWVzIGdyb3cgbm8gZ3JlYXRlclkBIHRoYW4gNjU1MzUgaXRlbXMuIFF1ZXVlIGluZGljZXMgZm9yIG5vcm1hbCBtZXNzYWdlcyBiZWdpbiBhdCBvbmU7IHplcm8gaXMgcmVzZXJ2ZWQgaW4RASBjYXNlIG9mIHRoZSBuZWVkIHRvIHNlbmQgYSBoaWdoLXByaW9yaXR5IHNpZ25hbCBtZXNzYWdlIHRoaXMgYmxvY2suCQEgVGhlIGJvb2wgaXMgdHJ1ZSBpZiB0aGVyZSBpcyBhIHNpZ25hbCBtZXNzYWdlIHdhaXRpbmcgdG8gYmUgc2VudC5QT3V0Ym91bmRYY21wTWVzc2FnZXMBAQgCBW0McQwEAAS8IFRoZSBtZXNzYWdlcyBvdXRib3VuZCBpbiBhIGdpdmVuIFhDTVAgY2hhbm5lbC44U2lnbmFsTWVzc2FnZXMBAQQC1QFxDAQABKAgQW55IHNpZ25hbCBtZXNzYWdlcyB3YWl0aW5nIHRvIGJlIHNlbnQuLFF1ZXVlQ29uZmlnAQB1DDAgAAAAMAAAAAgAAAAEFQEgVGhlIGNvbmZpZ3VyYXRpb24gd2hpY2ggY29udHJvbHMgdGhlIGR5bmFtaWNzIG9mIHRoZSBvdXRib3VuZCBxdWV1ZS44UXVldWVTdXNwZW5kZWQBACAEAARBASBXaGV0aGVyIG9yIG5vdCB0aGUgWENNUCBxdWV1ZSBpcyBzdXNwZW5kZWQgZnJvbSBleGVjdXRpbmcgaW5jb21pbmcgWENNcyBvciBub3QuRERlbGl2ZXJ5RmVlRmFjdG9yAQEEBdUBUQFAAABkp7O24A0AAAAAAAAAAATEIFRoZSBmYWN0b3IgdG8gbXVsdGlwbHkgdGhlIGJhc2UgZGVsaXZlcnkgZmVlIGJ5LgABUQcMTE1heEluYm91bmRTdXNwZW5kZWQQEOgDAAAUSQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIGluYm91bmQgWENNUCBjaGFubmVscyB0aGF0IGNhbiBiZSBzdXNwZW5kZWQgc2ltdWx0YW5lb3VzbHkuAF0BIEFueSBmdXJ0aGVyIGNoYW5uZWwgc3VzcGVuc2lvbnMgd2lsbCBmYWlsIGFuZCBtZXNzYWdlcyBtYXkgZ2V0IGRyb3BwZWQgd2l0aG91dCBmdXJ0aGVyRQEgbm90aWNlLiBDaG9vc2luZyBhIGhpZ2ggdmFsdWUgKDEwMDApIGlzIG9rYXk7IHRoZSB0cmFkZS1vZmYgdGhhdCBpcyBkZXNjcmliZWQgaW7YIFtgSW5ib3VuZFhjbXBTdXNwZW5kZWRgXSBzdGlsbCBhcHBsaWVzIGF0IHRoYXQgc2NhbGUuZE1heEFjdGl2ZU91dGJvdW5kQ2hhbm5lbHMQEIAAAAAgZQEgTWF4aW1hbCBudW1iZXIgb2Ygb3V0Ym91bmQgWENNUCBjaGFubmVscyB0aGF0IGNhbiBoYXZlIG1lc3NhZ2VzIHF1ZXVlZCBhdCB0aGUgc2FtZSB0aW1lLgBVASBJZiB0aGlzIGlzIHJlYWNoZWQsIHRoZW4gbm8gZnVydGhlciBtZXNzYWdlcyBjYW4gYmUgc2VudCB0byBjaGFubmVscyB0aGF0IGRvIG5vdCB5ZXRdASBoYXZlIGEgbWVzc2FnZSBxdWV1ZWQuIFRoaXMgc2hvdWxkIGJlIHNldCB0byB0aGUgZXhwZWN0ZWQgbWF4aW11bSBvZiBvdXRib3VuZCBjaGFubmVsc2EBIHdoaWNoIGlzIGRldGVybWluZWQgYnkgW2BTZWxmOjpDaGFubmVsSW5mb2BdLiBJdCBpcyBpbXBvcnRhbnQgdG8gc2V0IHRoaXMgbGFyZ2UgZW5vdWdoLF0BIHNpbmNlIG90aGVyd2lzZSB0aGUgY29uZ2VzdGlvbiBjb250cm9sIHByb3RvY29sIHdpbGwgbm90IHdvcmsgYXMgaW50ZW5kZWQgYW5kIG1lc3NhZ2VzUQEgbWF5IGJlIGRyb3BwZWQuIFRoaXMgdmFsdWUgaW5jcmVhc2VzIHRoZSBQb1YgYW5kIHNob3VsZCB0aGVyZWZvcmUgbm90IGJlIHBpY2tlZCB0b29NASBoaWdoLiBHb3Zlcm5hbmNlIG5lZWRzIHRvIHBheSBhdHRlbnRpb24gdG8gbm90IG9wZW4gbW9yZSBjaGFubmVscyB0aGFuIHRoaXMgdmFsdWUuLE1heFBhZ2VTaXplEBAAAAIAFLggVGhlIG1heGltYWwgcGFnZSBzaXplIGZvciBIUk1QIG1lc3NhZ2UgcGFnZXMuAGEBIEEgbG93ZXIgbGltaXQgY2FuIGJlIHNldCBkeW5hbWljYWxseSwgYnV0IHRoaXMgaXMgdGhlIGhhcmQtbGltaXQgZm9yIHRoZSBQb1Ygd29yc3QgY2FzZVUBIGJlbmNobWFya2luZy4gVGhlIGxpbWl0IGZvciB0aGUgc2l6ZSBvZiBhIG1lc3NhZ2UgaXMgc2xpZ2h0bHkgYmVsb3cgdGhpcywgc2luY2Ugc29tZbggb3ZlcmhlYWQgaXMgaW5jdXJyZWQgZm9yIGVuY29kaW5nIHRoZSBmb3JtYXQuAXkMbwAwTWVzc2FnZVF1ZXVlATBNZXNzYWdlUXVldWUMMEJvb2tTdGF0ZUZvcgEBBAUtBn0MdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMwgVGhlIGluZGV4IG9mIHRoZSBmaXJzdCBhbmQgbGFzdCAobm9uLWVtcHR5KSBwYWdlcy4sU2VydmljZUhlYWQAAC0GBAAEvCBUaGUgb3JpZ2luIGF0IHdoaWNoIHdlIHNob3VsZCBiZWdpbiBzZXJ2aWNpbmcuFFBhZ2VzAAEIBQWJDI0MBAAEiCBUaGUgbWFwIG9mIHBhZ2UgaW5kaWNlcyB0byBwYWdlcy4BKQYBVQcQIEhlYXBTaXplEBAADAIAFD0BIFRoZSBzaXplIG9mIHRoZSBwYWdlOyB0aGlzIGltcGxpZXMgdGhlIG1heGltdW0gbWVzc2FnZSBzaXplIHdoaWNoIGNhbiBiZSBzZW50LgBZASBBIGdvb2QgdmFsdWUgZGVwZW5kcyBvbiB0aGUgZXhwZWN0ZWQgbWVzc2FnZSBzaXplcywgdGhlaXIgd2VpZ2h0cywgdGhlIHdlaWdodCB0aGF0IGlzXQEgYXZhaWxhYmxlIGZvciBwcm9jZXNzaW5nIHRoZW0gYW5kIHRoZSBtYXhpbWFsIG5lZWRlZCBtZXNzYWdlIHNpemUuIFRoZSBtYXhpbWFsIG1lc3NhZ2URASBzaXplIGlzIHNsaWdodGx5IGxvd2VyIHRoYW4gdGhpcyBhcyBkZWZpbmVkIGJ5IFtgTWF4TWVzc2FnZUxlbk9mYF0uIE1heFN0YWxlEBAIAAAADF0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBzdGFsZSBwYWdlcyAoaS5lLiBvZiBvdmVyd2VpZ2h0IG1lc3NhZ2VzKSBhbGxvd2VkIGJlZm9yZSBjdWxsaW5nUQEgY2FuIGhhcHBlbi4gT25jZSB0aGVyZSBhcmUgbW9yZSBzdGFsZSBwYWdlcyB0aGFuIHRoaXMsIHRoZW4gaGlzdG9yaWNhbCBwYWdlcyBtYXkgYmX8IGRyb3BwZWQsIGV2ZW4gaWYgdGhleSBjb250YWluIHVucHJvY2Vzc2VkIG92ZXJ3ZWlnaHQgbWVzc2FnZXMuNFNlcnZpY2VXZWlnaHRxBiwBBwDodkgXAgBAABhBASBUaGUgYW1vdW50IG9mIHdlaWdodCAoaWYgYW55KSB3aGljaCBzaG91bGQgYmUgcHJvdmlkZWQgdG8gdGhlIG1lc3NhZ2UgcXVldWUgZm9yqCBzZXJ2aWNpbmcgZW5xdWV1ZWQgaXRlbXMgYG9uX2luaXRpYWxpemVgLgD8IFRoaXMgbWF5IGJlIGxlZ2l0aW1hdGVseSBgTm9uZWAgaW4gdGhlIGNhc2UgdGhhdCB5b3Ugd2lsbCBjYWxsXQEgYFNlcnZpY2VRdWV1ZXM6OnNlcnZpY2VfcXVldWVzYCBtYW51YWxseSBvciBzZXQgW2BTZWxmOjpJZGxlTWF4U2VydmljZVdlaWdodGBdIHRvIGhhdmVUIGl0IHJ1biBpbiBgb25faWRsZWAuUElkbGVNYXhTZXJ2aWNlV2VpZ2h0cQYEABRdASBUaGUgbWF4aW11bSBhbW91bnQgb2Ygd2VpZ2h0IChpZiBhbnkpIHRvIGJlIHVzZWQgZnJvbSByZW1haW5pbmcgd2VpZ2h0IGBvbl9pZGxlYCB3aGljaEEBIHNob3VsZCBiZSBwcm92aWRlZCB0byB0aGUgbWVzc2FnZSBxdWV1ZSBmb3Igc2VydmljaW5nIGVucXVldWVkIGl0ZW1zIGBvbl9pZGxlYC49ASBVc2VmdWwgZm9yIHBhcmFjaGFpbnMgdG8gcHJvY2VzcyBtZXNzYWdlcyBhdCB0aGUgc2FtZSBibG9jayB0aGV5IGFyZSByZWNlaXZlZC4AKQEgSWYgYE5vbmVgLCBpdCB3aWxsIG5vdCBjYWxsIGBTZXJ2aWNlUXVldWVzOjpzZXJ2aWNlX3F1ZXVlc2AgaW4gYG9uX2lkbGVgLgGVDHIAHE9ybWxYY20AATEGAV0HAAGZDIcAHFhUb2tlbnMAATUGAWEHDDBTZWxmTG9jYXRpb26VARQBAQDJHwRUIFNlbGYgY2hhaW4gbG9jYXRpb24uNEJhc2VYY21XZWlnaHQoFAKE1xcAEEQgQmFzZSBYQ00gd2VpZ2h0LgD4IFRoZSBhY3R1YWxseSB3ZWlnaHQgZm9yIGFuIFhDTSBtZXNzYWdlIGlzIGBUOjpCYXNlWGNtV2VpZ2h0ICtsIFQ6OldlaWdoZXI6OndlaWdodCgmbXNnKWAuNFJhdGVMaW1pdGVySWSQAARsIFRoZSBpZCBvZiB0aGUgUmF0ZUxpbWl0ZXIuAZ0MiQA0VW5rbm93blRva2VucwE0VW5rbm93blRva2VucwhgQ29uY3JldGVGdW5naWJsZUJhbGFuY2VzAQEIAgKhDBhAAAAAAAAAAAAAAAAAAAAAABAFASBDb25jcmV0ZSBmdW5naWJsZSBiYWxhbmNlcyB1bmRlciBhIGdpdmVuIGxvY2F0aW9uIGFuZCBhIGNvbmNyZXRlNCBmdW5naWJsZSBpZC4AiCBkb3VibGVfbWFwOiB3aG8sIGFzc2V0X2lkID0+IHUxMjhgQWJzdHJhY3RGdW5naWJsZUJhbGFuY2VzAQEIAgKlDBhAAAAAAAAAAAAAAAAAAAAAABAFASBBYnN0cmFjdCBmdW5naWJsZSBiYWxhbmNlcyB1bmRlciBhIGdpdmVuIGxvY2F0aW9uIGFuZCBhIGFic3RyYWN0NCBmdW5naWJsZSBpZC4AiCBkb3VibGVfbWFwOiB3aG8sIGFzc2V0X2lkID0+IHUxMjgAAWUHAAGpDIsAKEF1dGhvcnNoaXABKEF1dGhvcnNoaXAEGEF1dGhvcgAAAAQABGQgQXV0aG9yIG9mIGN1cnJlbnQgYmxvY2suAAAAAKEARENvbGxhdG9yU2VsZWN0aW9uAURDb2xsYXRvclNlbGVjdGlvbhQ0SW52dWxuZXJhYmxlcwEA+QkEAAQRASBUaGUgaW52dWxuZXJhYmxlLCBwZXJtaXNzaW9uZWQgY29sbGF0b3JzLiBUaGlzIGxpc3QgbXVzdCBiZSBzb3J0ZWQuNENhbmRpZGF0ZUxpc3QBAK0MBAAUaQEgVGhlIChjb21tdW5pdHksIGxpbWl0ZWQpIGNvbGxhdGlvbiBjYW5kaWRhdGVzLiBgQ2FuZGlkYXRlc2AgYW5kIGBJbnZ1bG5lcmFibGVzYCBzaG91bGQgYmVQIG11dHVhbGx5IGV4Y2x1c2l2ZS4AdQEgVGhpcyBsaXN0IGlzIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkgZGVwb3NpdCBhbmQgd2hlbiB0aGUgZGVwb3NpdHMgYXJlIGVxdWFsLCB0aGUgbGVhc3SgIHJlY2VudGx5IHVwZGF0ZWQgaXMgY29uc2lkZXJlZCBncmVhdGVyLkRMYXN0QXV0aG9yZWRCbG9jawEBBAUAEBAAAAAABIQgTGFzdCBibG9jayBhdXRob3JlZCBieSBjb2xsYXRvci5ERGVzaXJlZENhbmRpZGF0ZXMBABAQAAAAAAx4IERlc2lyZWQgbnVtYmVyIG9mIGNhbmRpZGF0ZXMuAHUBIFRoaXMgc2hvdWxkIGlkZWFsbHkgYWx3YXlzIGJlIGxlc3MgdGhhbiBbYENvbmZpZzo6TWF4Q2FuZGlkYXRlc2BdIGZvciB3ZWlnaHRzIHRvIGJlIGNvcnJlY3QuNENhbmRpZGFjeUJvbmQBABhAAAAAAAAAAAAAAAAAAAAAAAy4IEZpeGVkIGFtb3VudCB0byBkZXBvc2l0IHRvIGJlY29tZSBhIGNvbGxhdG9yLgBBASBXaGVuIGEgY29sbGF0b3IgY2FsbHMgYGxlYXZlX2ludGVudGAgdGhleSBpbW1lZGlhdGVseSByZWNlaXZlIHRoZSBkZXBvc2l0IGJhY2suAUEGAWkHAAG5DKMAHFNlc3Npb24BHFNlc3Npb24cKFZhbGlkYXRvcnMBAEUBBAAEfCBUaGUgY3VycmVudCBzZXQgb2YgdmFsaWRhdG9ycy4wQ3VycmVudEluZGV4AQAQEAAAAAAEeCBDdXJyZW50IGluZGV4IG9mIHRoZSBzZXNzaW9uLjRRdWV1ZWRDaGFuZ2VkAQAgBAAIOQEgVHJ1ZSBpZiB0aGUgdW5kZXJseWluZyBlY29ub21pYyBpZGVudGl0aWVzIG9yIHdlaWdodGluZyBiZWhpbmQgdGhlIHZhbGlkYXRvcnOkIGhhcyBjaGFuZ2VkIGluIHRoZSBxdWV1ZWQgdmFsaWRhdG9yIHNldC4oUXVldWVkS2V5cwEAvQwEAAg9ASBUaGUgcXVldWVkIGtleXMgZm9yIHRoZSBuZXh0IHNlc3Npb24uIFdoZW4gdGhlIG5leHQgc2Vzc2lvbiBiZWdpbnMsIHRoZXNlIGtleXPgIHdpbGwgYmUgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHZhbGlkYXRvcidzIHNlc3Npb24ga2V5cy5IRGlzYWJsZWRWYWxpZGF0b3JzAQCBAwQAFIAgSW5kaWNlcyBvZiBkaXNhYmxlZCB2YWxpZGF0b3JzLgA9ASBUaGUgdmVjIGlzIGFsd2F5cyBrZXB0IHNvcnRlZCBzbyB0aGF0IHdlIGNhbiBmaW5kIHdoZXRoZXIgYSBnaXZlbiB2YWxpZGF0b3IgaXM9ASBkaXNhYmxlZCB1c2luZyBiaW5hcnkgc2VhcmNoLiBJdCBnZXRzIGNsZWFyZWQgd2hlbiBgb25fc2Vzc2lvbl9lbmRpbmdgIHJldHVybnNkIGEgbmV3IHNldCBvZiBpZGVudGl0aWVzLiBOZXh0S2V5cwABBAUASQYEAAScIFRoZSBuZXh0IHNlc3Npb24ga2V5cyBmb3IgYSB2YWxpZGF0b3IuIEtleU93bmVyAAEEBcUMAAQABAkBIFRoZSBvd25lciBvZiBhIGtleS4gVGhlIGtleSBpcyB0aGUgYEtleVR5cGVJZGAgKyB0aGUgZW5jb2RlZCBrZXkuAUUGAW0HAAHNDKUAEEF1cmEBEEF1cmEILEF1dGhvcml0aWVzAQDRDAQABGwgVGhlIGN1cnJlbnQgYXV0aG9yaXR5IHNldC4sQ3VycmVudFNsb3QBANkMIAAAAAAAAAAADIAgVGhlIGN1cnJlbnQgc2xvdCBvZiB0aGlzIGJsb2NrLgCUIFRoaXMgd2lsbCBiZSBzZXQgaW4gYG9uX2luaXRpYWxpemVgLgAABDBTbG90RHVyYXRpb24wIOAuAAAAAAAAEA0BIFRoZSBzbG90IGR1cmF0aW9uIEF1cmEgc2hvdWxkIHJ1biB3aXRoLCBleHByZXNzZWQgaW4gbWlsbGlzZWNvbmRzLj0BIFRoZSBlZmZlY3RpdmUgdmFsdWUgb2YgdGhpcyB0eXBlIHNob3VsZCBub3QgY2hhbmdlIHdoaWxlIHRoZSBjaGFpbiBpcyBydW5uaW5nLgA1ASBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZWl0aGVyIHVzZSBbYE1pbmltdW1QZXJpb2RUaW1lc1R3b2BdIG9yIGEgY29uc3QuAKcAHEF1cmFFeHQBHEF1cmFFeHQILEF1dGhvcml0aWVzAQDRDAQAFJQgU2VydmVzIGFzIGNhY2hlIGZvciB0aGUgYXV0aG9yaXRpZXMuAHEBIFRoZSBhdXRob3JpdGllcyBpbiBBdVJhIGFyZSBvdmVyd3JpdHRlbiBpbiBgb25faW5pdGlhbGl6ZWAgd2hlbiB3ZSBzd2l0Y2ggdG8gYSBuZXcgc2Vzc2lvbixdASBidXQgd2UgcmVxdWlyZSB0aGUgb2xkIGF1dGhvcml0aWVzIHRvIHZlcmlmeSB0aGUgc2VhbCB3aGVuIHZhbGlkYXRpbmcgYSBQb1YuIFRoaXMgd2lsbA0BIGFsd2F5cyBiZSB1cGRhdGVkIHRvIHRoZSBsYXRlc3QgQXVSYSBhdXRob3JpdGllcyBpbiBgb25fZmluYWxpemVgLiBTbG90SW5mbwAA3QwEAAzYIEN1cnJlbnQgc2xvdCBwYWlyZWQgd2l0aCBhIG51bWJlciBvZiBhdXRob3JlZCBibG9ja3MuAJggVXBkYXRlZCBvbiBlYWNoIGJsb2NrIGluaXRpYWxpemF0aW9uLgAAAACpACRFbWFPcmFjbGUBJEVtYU9yYWNsZQwsQWNjdW11bGF0b3IBAOEMBAAEcQEgQWNjdW11bGF0b3IgZm9yIG9yYWNsZSBkYXRhIGluIGN1cnJlbnQgYmxvY2sgdGhhdCB3aWxsIGJlIHJlY29yZGVkIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrLhxPcmFjbGVzAAEMBQUFBQ0JDQQADHUBIE9yYWNsZSBzdG9yYWdlIGtleWVkIGJ5IGRhdGEgc291cmNlLCBpbnZvbHZlZCBhc3NldCBpZHMgYW5kIHRoZSBwZXJpb2QgbGVuZ3RoIG9mIHRoZSBvcmFjbGUuAGUBIFN0b3JlcyB0aGUgZGF0YSBlbnRyeSBhcyB3ZWxsIGFzIHRoZSBibG9jayBudW1iZXIgd2hlbiB0aGUgb3JhY2xlIHdhcyBmaXJzdCBpbml0aWFsaXplZC5EV2hpdGVsaXN0ZWRBc3NldHMBAA0NBAAE3CBBc3NldHMgdGhhdCBhcmUgd2hpdGVsaXN0ZWQgYW5kIHRyYWNrZWQgYnkgdGhlIHBhbGxldC4BUQYBcQcIZE1heEFsbG93ZWRQcmljZURpZmZlcmVuY2VJAxCghgEABBkBIE1heGltdW0gYWxsb3dlZCBwZXJjZW50YWdlIGRpZmZlcmVuY2UgZm9yIGJpZnJvc3Qgb3JhY2xlIHByaWNlIHVwZGF0ZUBNYXhVbmlxdWVFbnRyaWVzEBAoAAAABPwgTWF4aW11bSBudW1iZXIgb2YgdW5pcXVlIG9yYWNsZSBlbnRyaWVzIGV4cGVjdGVkIGluIG9uZSBibG9jay4BGQ3KACRCcm9hZGNhc3QBJEJyb2FkY2FzdAw0SW5jcmVtZW50YWxJZAEAEBAAAAAABHggTmV4dCBhdmFpbGFibGUgaW5jcmVtZW50YWwgSURARXhlY3V0aW9uQ29udGV4dAEAHQ0EAAQNASBFeGVjdXRpb24gY29udGV4dCB0byBmaWd1cmUgb3V0IHdoZXJlIHRoZSB0cmFkZSBpcyBvcmlnaW5hdGVkIGZyb20cU3dhcHBlcgAAAAQABKUBSWYgZmlsbGVkLCB3ZSBvdmVyd3JpdGUgdGhlIG9yaWdpbmFsIHN3YXBwZXIuIE1haW5seSB1c2VkIGluIHJvdXRlciB0byBub3QgdG8gdXNlIHRlbXBvcmFyeSB0cmFkZSBhY2NvdW50AVUGAXUHAAEhDcwABAAlAYkCJQ0oSENoZWNrTm9uWmVyb1NlbmRlcikNkEBDaGVja1NwZWNWZXJzaW9uLQ0QOENoZWNrVHhWZXJzaW9uMQ0QMENoZWNrR2VuZXNpczUNNDhDaGVja01vcnRhbGl0eTkNNChDaGVja05vbmNlQQ2QLENoZWNrV2VpZ2h0RQ2QYENoYXJnZVRyYW5zYWN0aW9uUGF5bWVudEkNkDRWYWxpZGF0ZUNsYWltTQ2QRENoZWNrTWV0YWRhdGFIYXNoUQ09B1kNUBBDb3JlDBx2ZXJzaW9uAMEHBJAgUmV0dXJucyB0aGUgdmVyc2lvbiBvZiB0aGUgcnVudGltZS40ZXhlY3V0ZV9ibG9jawQUYmxvY2tdDZAEZCBFeGVjdXRlIHRoZSBnaXZlbiBibG9jay5AaW5pdGlhbGl6ZV9ibG9jawQYaGVhZGVyYQ1xDQRBASBJbml0aWFsaXplIGEgYmxvY2sgd2l0aCB0aGUgZ2l2ZW4gaGVhZGVyIGFuZCByZXR1cm4gdGhlIHJ1bnRpbWUgZXhlY3V0aXZlIG1vZGUuBCEBIFRoZSBgQ29yZWAgcnVudGltZSBhcGkgdGhhdCBldmVyeSBTdWJzdHJhdGUgcnVudGltZSBuZWVkcyB0byBpbXBsZW1lbnQuIE1ldGFkYXRhDCBtZXRhZGF0YQB1DQSMIFJldHVybnMgdGhlIG1ldGFkYXRhIG9mIGEgcnVudGltZS5MbWV0YWRhdGFfYXRfdmVyc2lvbgQcdmVyc2lvbhB5DRCkIFJldHVybnMgdGhlIG1ldGFkYXRhIGF0IGEgZ2l2ZW4gdmVyc2lvbi4ABQEgSWYgdGhlIGdpdmVuIGB2ZXJzaW9uYCBpc24ndCBzdXBwb3J0ZWQsIHRoaXMgd2lsbCByZXR1cm4gYE5vbmVgLnUBIFVzZSBbYFNlbGY6Om1ldGFkYXRhX3ZlcnNpb25zYF0gdG8gZmluZCBvdXQgYWJvdXQgc3VwcG9ydGVkIG1ldGFkYXRhIHZlcnNpb24gb2YgdGhlIHJ1bnRpbWUuRG1ldGFkYXRhX3ZlcnNpb25zAIEDDKQgUmV0dXJucyB0aGUgc3VwcG9ydGVkIG1ldGFkYXRhIHZlcnNpb25zLgDAIFRoaXMgY2FuIGJlIHVzZWQgdG8gY2FsbCBgbWV0YWRhdGFfYXRfdmVyc2lvbmAuBAEBIFRoZSBgTWV0YWRhdGFgIGFwaSB0cmFpdCB0aGF0IHJldHVybnMgbWV0YWRhdGEgZm9yIHRoZSBydW50aW1lLjBCbG9ja0J1aWxkZXIQPGFwcGx5X2V4dHJpbnNpYwQkZXh0cmluc2ljZQ19DRBsIEFwcGx5IHRoZSBnaXZlbiBleHRyaW5zaWMuADkBIFJldHVybnMgYW4gaW5jbHVzaW9uIG91dGNvbWUgd2hpY2ggc3BlY2lmaWVzIGlmIHRoaXMgZXh0cmluc2ljIGlzIGluY2x1ZGVkIGluTCB0aGlzIGJsb2NrIG9yIG5vdC44ZmluYWxpemVfYmxvY2sAYQ0EaCBGaW5pc2ggdGhlIGN1cnJlbnQgYmxvY2suTGluaGVyZW50X2V4dHJpbnNpY3MEIGluaGVyZW50jQ1tDQQ9ASBHZW5lcmF0ZSBpbmhlcmVudCBleHRyaW5zaWNzLiBUaGUgaW5oZXJlbnQgZGF0YSB3aWxsIHZhcnkgZnJvbSBjaGFpbiB0byBjaGFpbi48Y2hlY2tfaW5oZXJlbnRzCBRibG9ja10NEGRhdGGNDZ0NBFUBIENoZWNrIHRoYXQgdGhlIGluaGVyZW50cyBhcmUgdmFsaWQuIFRoZSBpbmhlcmVudCBkYXRhIHdpbGwgdmFyeSBmcm9tIGNoYWluIHRvIGNoYWluLgRxASBUaGUgYEJsb2NrQnVpbGRlcmAgYXBpIHRyYWl0IHRoYXQgcHJvdmlkZXMgdGhlIHJlcXVpcmVkIGZ1bmN0aW9uYWxpdHkgZm9yIGJ1aWxkaW5nIGEgYmxvY2suWFRhZ2dlZFRyYW5zYWN0aW9uUXVldWUEUHZhbGlkYXRlX3RyYW5zYWN0aW9uDBhzb3VyY2WhDQh0eGUNKGJsb2NrX2hhc2g0pQ0kaCBWYWxpZGF0ZSB0aGUgdHJhbnNhY3Rpb24uAGUBIFRoaXMgbWV0aG9kIGlzIGludm9rZWQgYnkgdGhlIHRyYW5zYWN0aW9uIHBvb2wgdG8gbGVhcm4gZGV0YWlscyBhYm91dCBnaXZlbiB0cmFuc2FjdGlvbi5FASBUaGUgaW1wbGVtZW50YXRpb24gc2hvdWxkIG1ha2Ugc3VyZSB0byB2ZXJpZnkgdGhlIGNvcnJlY3RuZXNzIG9mIHRoZSB0cmFuc2FjdGlvbk0BIGFnYWluc3QgY3VycmVudCBzdGF0ZS4gVGhlIGdpdmVuIGBibG9ja19oYXNoYCBjb3JyZXNwb25kcyB0byB0aGUgaGFzaCBvZiB0aGUgYmxvY2t8IHRoYXQgaXMgdXNlZCBhcyBjdXJyZW50IHN0YXRlLgBFASBOb3RlIHRoYXQgdGhpcyBjYWxsIG1heSBiZSBwZXJmb3JtZWQgYnkgdGhlIHBvb2wgbXVsdGlwbGUgdGltZXMgYW5kIHRyYW5zYWN0aW9uc6QgbWlnaHQgYmUgdmVyaWZpZWQgaW4gYW55IHBvc3NpYmxlIG9yZGVyLgRNASBUaGUgYFRhZ2dlZFRyYW5zYWN0aW9uUXVldWVgIGFwaSB0cmFpdCBmb3IgaW50ZXJmZXJpbmcgd2l0aCB0aGUgdHJhbnNhY3Rpb24gcXVldWUuRE9mZmNoYWluV29ya2VyQXBpBDxvZmZjaGFpbl93b3JrZXIEGGhlYWRlcmENkATIIFN0YXJ0cyB0aGUgb2ZmLWNoYWluIHRhc2sgZm9yIGdpdmVuIGJsb2NrIGhlYWRlci4EZCBUaGUgb2ZmY2hhaW4gd29ya2VyIGFwaS4sU2Vzc2lvbktleXMIVGdlbmVyYXRlX3Nlc3Npb25fa2V5cwQQc2VlZCkMOBwVASBHZW5lcmF0ZSBhIHNldCBvZiBzZXNzaW9uIGtleXMgd2l0aCBvcHRpb25hbGx5IHVzaW5nIHRoZSBnaXZlbiBzZWVkLgkBIFRoZSBrZXlzIHNob3VsZCBiZSBzdG9yZWQgd2l0aGluIHRoZSBrZXlzdG9yZSBleHBvc2VkIHZpYSBydW50aW1lPCBleHRlcm5hbGl0aWVzLgCwIFRoZSBzZWVkIG5lZWRzIHRvIGJlIGEgdmFsaWQgYHV0ZjhgIHN0cmluZy4A0CBSZXR1cm5zIHRoZSBjb25jYXRlbmF0ZWQgU0NBTEUgZW5jb2RlZCBwdWJsaWMga2V5cy5MZGVjb2RlX3Nlc3Npb25fa2V5cwQcZW5jb2RlZDitDQyYIERlY29kZSB0aGUgZ2l2ZW4gcHVibGljIHNlc3Npb24ga2V5cy4A3CBSZXR1cm5zIHRoZSBsaXN0IG9mIHB1YmxpYyByYXcgcHVibGljIGtleXMgKyBrZXkgdHlwZS4EaCBTZXNzaW9uIGtleXMgcnVudGltZSBhcGkuHEF1cmFBcGkINHNsb3RfZHVyYXRpb24AuQ0MkCBSZXR1cm5zIHRoZSBzbG90IGR1cmF0aW9uIGZvciBBdXJhLgAlASBDdXJyZW50bHksIG9ubHkgdGhlIHZhbHVlIHByb3ZpZGVkIGJ5IHRoaXMgdHlwZSBhdCBnZW5lc2lzIHdpbGwgYmUgdXNlZC4sYXV0aG9yaXRpZXMA1QwEnCBSZXR1cm4gdGhlIGN1cnJlbnQgc2V0IG9mIGF1dGhvcml0aWVzLgS4IEFQSSBuZWNlc3NhcnkgZm9yIGJsb2NrIGF1dGhvcnNoaXAgd2l0aCBhdXJhLlBDb2xsZWN0Q29sbGF0aW9uSW5mbwRYY29sbGVjdF9jb2xsYXRpb25faW5mbwQYaGVhZGVyYQ29DRCcIENvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgYSBjb2xsYXRpb24uAPQgVGhlIGdpdmVuIGBoZWFkZXJgIGlzIHRoZSBoZWFkZXIgb2YgdGhlIGJ1aWx0IGJsb2NrIGZvciB0aGF0qCB3ZSBhcmUgY29sbGVjdGluZyB0aGUgY29sbGF0aW9uIGluZm8gZm9yLgTYIFJ1bnRpbWUgYXBpIHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgYSBjb2xsYXRpb24uNEN1cnJlbmNpZXNBcGkMHGFjY291bnQIIGFzc2V0X2lkEAx3aG8AyQ0AIGFjY291bnRzBAx3aG8AzQ0AMGZyZWVfYmFsYW5jZQggYXNzZXRfaWQQDHdobwAYAAA8QWNjb3VudE5vbmNlQXBpBDRhY2NvdW50X25vbmNlBBxhY2NvdW50ABAEwCBHZXQgY3VycmVudCBhY2NvdW50IG5vbmNlIG9mIGdpdmVuIGBBY2NvdW50SWRgLgSAIFRoZSBBUEkgdG8gcXVlcnkgYWNjb3VudCBub25jZS5UVHJhbnNhY3Rpb25QYXltZW50QXBpEChxdWVyeV9pbmZvCAx1eHRlDQxsZW4Q1Q0ARHF1ZXJ5X2ZlZV9kZXRhaWxzCAx1eHRlDQxsZW4Q2Q0ATHF1ZXJ5X3dlaWdodF90b19mZWUEGHdlaWdodCgYAExxdWVyeV9sZW5ndGhfdG9fZmVlBBhsZW5ndGgQGAAAVEV0aGVyZXVtUnVudGltZVJQQ0FwaUQgY2hhaW5faWQAMAS0IFJldHVybnMgcnVudGltZSBkZWZpbmVkIHBhbGxldF9ldm06OkNoYWluSWQuNGFjY291bnRfYmFzaWMEHGFkZHJlc3NVAeUNBKQgUmV0dXJucyBwYWxsZXRfZXZtOjpBY2NvdW50cyBieSBhZGRyZXNzLiRnYXNfcHJpY2UAXQEElCBSZXR1cm5zIEZpeGVkR2FzUHJpY2U6Om1pbl9nYXNfcHJpY2U8YWNjb3VudF9jb2RlX2F0BBxhZGRyZXNzVQE4BPwgRm9yIGEgZ2l2ZW4gYWNjb3VudCBhZGRyZXNzLCByZXR1cm5zIHBhbGxldF9ldm06OkFjY291bnRDb2Rlcy4YYXV0aG9yAFUBBPAgUmV0dXJucyB0aGUgY29udmVydGVkIEZpbmRBdXRob3I6OmZpbmRfYXV0aG9yIGF1dGhvcml0eSBpZC4oc3RvcmFnZV9hdAgcYWRkcmVzc1UBFGluZGV4XQE0BDEBIEZvciBhIGdpdmVuIGFjY291bnQgYWRkcmVzcyBhbmQgaW5kZXgsIHJldHVybnMgcGFsbGV0X2V2bTo6QWNjb3VudFN0b3JhZ2VzLhBjYWxsKBBmcm9tVQEIdG9VARBkYXRhOBR2YWx1ZV0BJGdhc19saW1pdF0BPG1heF9mZWVfcGVyX2dhcykEYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhcykEFG5vbmNlKQQgZXN0aW1hdGUgLGFjY2Vzc19saXN06Q3tDQAYY3JlYXRlJBBmcm9tVQEQZGF0YTgUdmFsdWVdASRnYXNfbGltaXRdATxtYXhfZmVlX3Blcl9nYXMpBGBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMpBBRub25jZSkEIGVzdGltYXRlICxhY2Nlc3NfbGlzdOkNBQ4ANGN1cnJlbnRfYmxvY2sADQ4EaCBSZXR1cm4gdGhlIGN1cnJlbnQgYmxvY2suQGN1cnJlbnRfcmVjZWlwdHMAEQ4EcCBSZXR1cm4gdGhlIGN1cnJlbnQgcmVjZWlwdC5wY3VycmVudF90cmFuc2FjdGlvbl9zdGF0dXNlcwAVDgScIFJldHVybiB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiBzdGF0dXMuLGN1cnJlbnRfYWxsABkOAEBleHRyaW5zaWNfZmlsdGVyBAx4dHNtDTULBDUBIFJlY2VpdmVzIGEgYFZlYzxPcGFxdWVFeHRyaW5zaWM+YCBhbmQgZmlsdGVycyBhbGwgdGhlIGV0aGVyZXVtIHRyYW5zYWN0aW9ucy4oZWxhc3RpY2l0eQCBBASIIFJldHVybiB0aGUgZWxhc3RpY2l0eSBtdWx0aXBsaWVyLnBnYXNfbGltaXRfbXVsdGlwbGllcl9zdXBwb3J0AJAIdQEgVXNlZCB0byBkZXRlcm1pbmUgaWYgZ2FzIGxpbWl0IG11bHRpcGxpZXIgZm9yIG5vbi10cmFuc2FjdGlvbmFsIGNhbGxzIChldGhfY2FsbC9lc3RpbWF0ZUdhcyk4IGlzIHN1cHBvcnRlZC40cGVuZGluZ19ibG9jawQMeHRzbQ0dDgRoIFJldHVybiB0aGUgcGVuZGluZyBibG9jay5gaW5pdGlhbGl6ZV9wZW5kaW5nX2Jsb2NrBBhoZWFkZXJhDZAUeCBJbml0aWFsaXplIHRoZSBwZW5kaW5nIGJsb2NrLjUBIFRoZSBiZWhhdmlvciBzaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIHJ1bnRpbWUgYXBpIENvcmVfaW5pdGlhbGl6ZV9ibG9jayBidXRcIGZvciBhICJwZW5kaW5nIiBibG9jay5hASBJZiB5b3VyIHByb2plY3QgZG9uJ3QgbmVlZCB0byBoYXZlIGEgZGlmZmVyZW50IGJlaGF2aW9yIHRvIGluaXRpYWxpemUgInBlbmRpbmciIGJsb2NrcyzgIHlvdSBjYW4gY29weSB5b3VyIENvcmVfaW5pdGlhbGl6ZV9ibG9jayBpbXBsZW1lbnRhdGlvbi4EwCBBUEkgbmVjZXNzYXJ5IGZvciBFdGhlcmV1bS1jb21wYXRpYmlsaXR5IGxheWVyLnBDb252ZXJ0VHJhbnNhY3Rpb25SdW50aW1lQXBpBExjb252ZXJ0X3RyYW5zYWN0aW9uBCx0cmFuc2FjdGlvbjkEZQ0AADhFdm1BY2NvdW50c0FwaQwsZXZtX2FkZHJlc3MEKGFjY291bnRfaWQAVQEEwCBnZXQgdGhlIEVWTSBhZGRyZXNzIGZyb20gdGhlIHN1YnN0cmF0ZSBhZGRyZXNzLkBib3VuZF9hY2NvdW50X2lkBCxldm1fYWRkcmVzc1UBAQEEVQEgUmV0dXJuIHRoZSBTdWJzdHJhdGUgYWRkcmVzcyBib3VuZCB0byB0aGUgRVZNIGFjY291bnQuIElmIG5vdCBib3VuZCwgcmV0dXJucyBgTm9uZWAuKGFjY291bnRfaWQELGV2bV9hZGRyZXNzVQEACMAgR2V0IHRoZSBTdWJzdHJhdGUgYWRkcmVzcyBmcm9tIHRoZSBFVk0gYWRkcmVzcy4lASBSZXR1cm5zIHRoZSB0cnVuY2F0ZWQgdmVyc2lvbiBvZiB0aGUgYWRkcmVzcyBpZiB0aGUgYWRkcmVzcyB3YXNuJ3QgYmluZC4EqCBUaGUgQVBJIHRvIHF1ZXJ5IEVWTSBhY2NvdW50IGNvbnZlcnNpb25zLjRYY21QYXltZW50QXBpEHxxdWVyeV9hY2NlcHRhYmxlX3BheW1lbnRfYXNzZXRzBCx4Y21fdmVyc2lvbhAhDhS0IFJldHVybnMgYSBsaXN0IG9mIGFjY2VwdGFibGUgcGF5bWVudCBhc3NldHMuADAgIyBBcmd1bWVudHMAaCAqIGB4Y21fdmVyc2lvbmA6IFZlcnNpb24uQHF1ZXJ5X3hjbV93ZWlnaHQEHG1lc3NhZ2XpBC0OFKggUmV0dXJucyBhIHdlaWdodCBuZWVkZWQgdG8gZXhlY3V0ZSBhIFhDTS4AMCAjIEFyZ3VtZW50cwB0ICogYG1lc3NhZ2VgOiBgVmVyc2lvbmVkWGNtYC5kcXVlcnlfd2VpZ2h0X3RvX2Fzc2V0X2ZlZQgYd2VpZ2h0KBRhc3NldCEGMQ4Y6CBDb252ZXJ0cyBhIHdlaWdodCBpbnRvIGEgZmVlIGZvciB0aGUgc3BlY2lmaWVkIGBBc3NldElkYC4AMCAjIEFyZ3VtZW50cwCIICogYHdlaWdodGA6IGNvbnZlcnRpYmxlIGBXZWlnaHRgLnwgKiBgYXNzZXRgOiBgVmVyc2lvbmVkQXNzZXRJZGAuTHF1ZXJ5X2RlbGl2ZXJ5X2ZlZXMILGRlc3RpbmF0aW9uyQQcbWVzc2FnZekENQ4gHQEgR2V0IGRlbGl2ZXJ5IGZlZXMgZm9yIHNlbmRpbmcgYSBzcGVjaWZpYyBgbWVzc2FnZWAgdG8gYSBgZGVzdGluYXRpb25gLvQgVGhlc2UgYWx3YXlzIGNvbWUgaW4gYSBzcGVjaWZpYyBhc3NldCwgZGVmaW5lZCBieSB0aGUgY2hhaW4uADAgIyBBcmd1bWVudHOBASAqIGBtZXNzYWdlYDogVGhlIG1lc3NhZ2UgdGhhdCdsbCBiZSBzZW50LCBuZWNlc3NhcnkgYmVjYXVzZSBtb3N0IGRlbGl2ZXJ5IGZlZXMgYXJlIGJhc2VkIG9uIHRoZVwgICBzaXplIG9mIHRoZSBtZXNzYWdlLmEBICogYGRlc3RpbmF0aW9uYDogVGhlIGRlc3RpbmF0aW9uIHRvIHNlbmQgdGhlIG1lc3NhZ2UgdG8uIERpZmZlcmVudCBkZXN0aW5hdGlvbnMgbWF5IHVzZcAgICBkaWZmZXJlbnQgc2VuZGVycyB0aGF0IGNoYXJnZSBkaWZmZXJlbnQgZmVlcy4scCBBIHRyYWl0IG9mIFhDTSBwYXltZW50IEFQSS4AqCBBUEkgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3Igb2J0YWluaW5nOgDEICogdGhlIHdlaWdodCByZXF1aXJlZCB0byBleGVjdXRlIGFuIFhDTSBtZXNzYWdlLAUBICogYSBsaXN0IG9mIGFjY2VwdGFibGUgYEFzc2V0SWRgcyBmb3IgbWVzc2FnZSBleGVjdXRpb24gcGF5bWVudCwBASAqIHRoZSBjb3N0IG9mIHRoZSB3ZWlnaHQgaW4gdGhlIHNwZWNpZmllZCBhY2NlcHRhYmxlIGBBc3NldElkYC6gICogdGhlIGZlZXMgZm9yIGFuIFhDTSBtZXNzYWdlIGRlbGl2ZXJ5LgDwIFRvIGRldGVybWluZSB0aGUgZXhlY3V0aW9uIHdlaWdodCBvZiB0aGUgY2FsbHMgcmVxdWlyZWQgZm9ydQEgW2B4Y206OmxhdGVzdDo6SW5zdHJ1Y3Rpb246OlRyYW5zYWN0YF0gaW5zdHJ1Y3Rpb24sIGBUcmFuc2FjdGlvblBheW1lbnRDYWxsQXBpYCBjYW4gYmUgdXNlZC4kRHJ5UnVuQXBpCDBkcnlfcnVuX2NhbGwIGG9yaWdpbnkBEGNhbGwlATkOBDggRHJ5IHJ1biBjYWxsLixkcnlfcnVuX3hjbQg8b3JpZ2luX2xvY2F0aW9uyQQMeGNt8QVZDgRQIERyeSBydW4gWENNIHByb2dyYW0ksQEgQVBJIGZvciBkcnktcnVubmluZyBleHRyaW5zaWNzIGFuZCBYQ00gcHJvZ3JhbXMgdG8gZ2V0IHRoZSBwcm9ncmFtcyB0aGF0IG5lZWQgdG8gYmUgcGFzc2VkIHRvIHRoZSBmZWVzIEFQSS4AgQEgQWxsIGNhbGxzIHJldHVybiBhIHZlY3RvciBvZiB0dXBsZXMgKGxvY2F0aW9uLCB4Y20pIHdoZXJlIGVhY2ggInhjbSIgaXMgZXhlY3V0ZWQgaW4gImxvY2F0aW9uIi7kIElmIHRoZXJlJ3MgbG9jYWwgZXhlY3V0aW9uLCB0aGUgbG9jYXRpb24gd2lsbCBiZSAiSGVyZSIuHQEgVGhpcyB2ZWN0b3IgY2FuIGJlIHVzZWQgdG8gY2FsY3VsYXRlIGJvdGggZXhlY3V0aW9uIGFuZCBkZWxpdmVyeSBmZWVzLgCZASBDYWxscyBvciBYQ01zIG1pZ2h0IGZhaWwgd2hlbiBleGVjdXRlZCwgdGhpcyBkb2Vzbid0IG1lYW4gdGhlIHJlc3VsdCBvZiB0aGVzZSBjYWxscyB3aWxsIGJlIGFuIGBFcnJgLmUBIEluIHRob3NlIGNhc2VzLCB0aGVyZSBtaWdodCBzdGlsbCBiZSBhIHZhbGlkIHJlc3VsdCwgd2l0aCB0aGUgZXhlY3V0aW9uIGVycm9yIGluc2lkZSBpdC5lASBUaGUgb25seSByZWFzb25zIHdoeSB0aGVzZSBjYWxscyBtaWdodCByZXR1cm4gYW4gZXJyb3IgYXJlIGxpc3RlZCBpbiB0aGUgW2BFcnJvcmBdIGVudW0uUExvY2F0aW9uVG9BY2NvdW50QXBpBEBjb252ZXJ0X2xvY2F0aW9uBCBsb2NhdGlvbskEYQ4EkCBDb252ZXJ0cyBgTG9jYXRpb25gIHRvIGBBY2NvdW50SWRgLgQNASBBUEkgZm9yIHVzZWZ1bCBjb252ZXJzaW9ucyBiZXR3ZWVuIFhDTSBgTG9jYXRpb25gIGFuZCBgQWNjb3VudElkYC5MQ2hhaW5saW5rQWRhcHRlckFwaQhUZW5jb2RlX29yYWNsZV9hZGRyZXNzEChhc3NldF9pZF9hEChhc3NldF9pZF9iEBhwZXJpb2TZAxhzb3VyY2UVAlUBAFRkZWNvZGVfb3JhY2xlX2FkZHJlc3MEOG9yYWNsZV9hZGRyZXNzVQFpDgAEqCBUaGUgQVBJIHRvIHF1ZXJ5IEVWTSBhY2NvdW50IGNvbnZlcnNpb25zLkRBYXZlVHJhZGVFeGVjdXRvchAUcGFpcnMAeQMAPGxpcXVpZGl0eV9kZXB0aAggYXNzZXRfaW4QJGFzc2V0X291dBD0ABBwb29sCBxyZXNlcnZlEBhhdG9rZW4QcQ4AFHBvb2xzAHUOAAA4R2VuZXNpc0J1aWxkZXIMLGJ1aWxkX3N0YXRlBBBqc29uOHkOJGUBIEJ1aWxkIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgZnJvbSBhIEpTT04gYmxvYiBub3QgdXNpbmcgYW55IGRlZmF1bHRzIGFuZCBzdG9yZSBpdCBpbiB0aGUkIHN0b3JhZ2UuAPkBIEluIHRoZSBjYXNlIG9mIGEgRlJBTUUtYmFzZWQgcnVudGltZSwgdGhpcyBmdW5jdGlvbiBkZXNlcmlhbGl6ZXMgdGhlIGZ1bGwgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBmcm9tIHRoZSBnaXZlbiBKU09OIGJsb2IgYW5kWQEgcHV0cyBpdCBpbnRvIHRoZSBzdG9yYWdlLiBJZiB0aGUgcHJvdmlkZWQgSlNPTiBibG9iIGlzIGluY29ycmVjdCBvciBpbmNvbXBsZXRlIG9yIHRoZbQgZGVzZXJpYWxpemF0aW9uIGZhaWxzLCBhbiBlcnJvciBpcyByZXR1cm5lZC4AXQEgUGxlYXNlIG5vdGUgdGhhdCBwcm92aWRlZCBKU09OIGJsb2IgbXVzdCBjb250YWluIGFsbCBgUnVudGltZUdlbmVzaXNDb25maWdgIGZpZWxkcywgbm9cIGRlZmF1bHRzIHdpbGwgYmUgdXNlZC4oZ2V0X3ByZXNldAQIaWR9DikMOGEBIFJldHVybnMgYSBKU09OIGJsb2IgcmVwcmVzZW50YXRpb24gb2YgdGhlIGJ1aWx0LWluIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgaWRlbnRpZmllZCBieRggYGlkYC4APQEgSWYgYGlkYCBpcyBgTm9uZWAgdGhlIGZ1bmN0aW9uIHJldHVybnMgSlNPTiBibG9iIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkZWZhdWx0SQEgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBzdHJ1Y3Qgb2YgdGhlIHJ1bnRpbWUuIEltcGxlbWVudGF0aW9uIG11c3QgcHJvdmlkZSBkZWZhdWx0YCBgUnVudGltZUdlbmVzaXNDb25maWdgLgAhASBPdGhlcndpc2UgZnVuY3Rpb24gcmV0dXJucyBhIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIGJ1aWx0LWluLCBuYW1lZFEBIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgcHJlc2V0IGlkZW50aWZpZWQgYnkgYGlkYCwgb3IgYE5vbmVgIGlmIHN1Y2ggcHJlc2V0IGRvZXMgbm90YQEgZXhpc3QuIFJldHVybmVkIGBWZWM8dTg+YCBjb250YWlucyBieXRlcyBvZiBKU09OIGJsb2IgKHBhdGNoKSB3aGljaCBjb21wcmlzZXMgYSBsaXN0IG9mTQEgKHBvdGVudGlhbGx5IG5lc3RlZCkga2V5LXZhbHVlIHBhaXJzIHRoYXQgYXJlIGludGVuZGVkIGZvciBjdXN0b21pemluZyB0aGUgZGVmYXVsdGUBIHJ1bnRpbWUgZ2VuZXNpcyBjb25maWcuIFRoZSBwYXRjaCBzaGFsbCBiZSBtZXJnZWQgKHJmYzczODYpIHdpdGggdGhlIEpTT04gcmVwcmVzZW50YXRpb25hASBvZiB0aGUgZGVmYXVsdCBgUnVudGltZUdlbmVzaXNDb25maWdgIHRvIGNyZWF0ZSBhIGNvbXByZWhlbnNpdmUgZ2VuZXNpcyBjb25maWcgdGhhdCBjYW6EIGJlIHVzZWQgaW4gYGJ1aWxkX3N0YXRlYCBtZXRob2QuMHByZXNldF9uYW1lcwCBDhBRASBSZXR1cm5zIGEgbGlzdCBvZiBpZGVudGlmaWVycyBmb3IgYXZhaWxhYmxlIGJ1aWx0aW4gYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBwcmVzZXRzLgBhASBUaGUgcHJlc2V0cyBmcm9tIHRoZSBsaXN0IGNhbiBiZSBxdWVyaWVkIHdpdGggW2BHZW5lc2lzQnVpbGRlcjo6Z2V0X3ByZXNldGBdIG1ldGhvZC4gSWYBASBubyBuYW1lZCBwcmVzZXRzIGFyZSBwcm92aWRlZCBieSB0aGUgcnVudGltZSB0aGUgbGlzdCBpcyBlbXB0eS4E6CBBUEkgdG8gaW50ZXJhY3Qgd2l0aCBSdW50aW1lR2VuZXNpc0NvbmZpZyBmb3IgdGhlIHJ1bnRpbWUlAVSFDgA=";
81
+ binMeta = "bWV0YQ+JDgAMHHNwX2NvcmUYY3J5cHRvLEFjY291bnRJZDMyAAAEAAQBIFt1ODsgMzJdAAAEAAADIAAAAAgACAAABQMADAgwZnJhbWVfc3lzdGVtLEFjY291bnRJbmZvCBROb25jZQEQLEFjY291bnREYXRhARQAFAEUbm9uY2UQARROb25jZQABJGNvbnN1bWVycxABIFJlZkNvdW50AAEkcHJvdmlkZXJzEAEgUmVmQ291bnQAASxzdWZmaWNpZW50cxABIFJlZkNvdW50AAEQZGF0YRQBLEFjY291bnREYXRhAAAQAAAFBQAUDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXMsQWNjb3VudERhdGEEHEJhbGFuY2UBGAAQARBmcmVlGAEcQmFsYW5jZQABIHJlc2VydmVkGAEcQmFsYW5jZQABGGZyb3plbhgBHEJhbGFuY2UAARRmbGFncxwBKEV4dHJhRmxhZ3MAABgAAAUHABwMPHBhbGxldF9iYWxhbmNlcxR0eXBlcyhFeHRyYUZsYWdzAAAEABgBEHUxMjgAACAAAAUAACQMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUGVyRGlzcGF0Y2hDbGFzcwQEVAEoAAwBGG5vcm1hbCgBBFQAASxvcGVyYXRpb25hbCgBBFQAASRtYW5kYXRvcnkoAQRUAAAoDChzcF93ZWlnaHRzJHdlaWdodF92MhhXZWlnaHQAAAgBIHJlZl90aW1lLAEMdTY0AAEocHJvb2Zfc2l6ZSwBDHU2NAAALAAABjAAMAAABQYANAg8cHJpbWl0aXZlX3R5cGVzEEgyNTYAAAQABAEgW3U4OyAzMl0AADgAAAIIADwQKHNwX3J1bnRpbWUcZ2VuZXJpYxhkaWdlc3QYRGlnZXN0AAAEARBsb2dzQAE8VmVjPERpZ2VzdEl0ZW0+AABAAAACRABEEChzcF9ydW50aW1lHGdlbmVyaWMYZGlnZXN0KERpZ2VzdEl0ZW0AARQoUHJlUnVudGltZQgASAFEQ29uc2Vuc3VzRW5naW5lSWQAADgBHFZlYzx1OD4ABgAkQ29uc2Vuc3VzCABIAURDb25zZW5zdXNFbmdpbmVJZAAAOAEcVmVjPHU4PgAEABBTZWFsCABIAURDb25zZW5zdXNFbmdpbmVJZAAAOAEcVmVjPHU4PgAFABRPdGhlcgQAOAEcVmVjPHU4PgAAAGRSdW50aW1lRW52aXJvbm1lbnRVcGRhdGVkAAgAAEgAAAMEAAAACABMAAACUABQCDBmcmFtZV9zeXN0ZW0sRXZlbnRSZWNvcmQIBEUBVARUATQADAEUcGhhc2WdBwEUUGhhc2UAARRldmVudFQBBEUAARh0b3BpY3PhAQEYVmVjPFQ+AABUCDxoeWRyYWR4X3J1bnRpbWUwUnVudGltZUV2ZW50AAEBARhTeXN0ZW0EAFgBcGZyYW1lX3N5c3RlbTo6RXZlbnQ8UnVudGltZT4AAQAgQmFsYW5jZXMEAHwBfHBhbGxldF9iYWxhbmNlczo6RXZlbnQ8UnVudGltZT4ABwBIVHJhbnNhY3Rpb25QYXltZW50BACEAahwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudDo6RXZlbnQ8UnVudGltZT4ACQBcTXVsdGlUcmFuc2FjdGlvblBheW1lbnQEAIgBwHBhbGxldF90cmFuc2FjdGlvbl9tdWx0aV9wYXltZW50OjpFdmVudDxSdW50aW1lPgDLACBUcmVhc3VyeQQAjAF8cGFsbGV0X3RyZWFzdXJ5OjpFdmVudDxSdW50aW1lPgALABxVdGlsaXR5BACUAVRwYWxsZXRfdXRpbGl0eTo6RXZlbnQADQAgUHJlaW1hZ2UEAJwBfHBhbGxldF9wcmVpbWFnZTo6RXZlbnQ8UnVudGltZT4ADwAgSWRlbnRpdHkEAKABfHBhbGxldF9pZGVudGl0eTo6RXZlbnQ8UnVudGltZT4AEQAkRGVtb2NyYWN5BACoAYBwYWxsZXRfZGVtb2NyYWN5OjpFdmVudDxSdW50aW1lPgATACRFbGVjdGlvbnMEALwBpHBhbGxldF9lbGVjdGlvbnNfcGhyYWdtZW46OkV2ZW50PFJ1bnRpbWU+ABUAHENvdW5jaWwEAMgB/HBhbGxldF9jb2xsZWN0aXZlOjpFdmVudDxSdW50aW1lLCBwYWxsZXRfY29sbGVjdGl2ZTo6SW5zdGFuY2UxPgAXAEhUZWNobmljYWxDb21taXR0ZWUEAMwB/HBhbGxldF9jb2xsZWN0aXZlOjpFdmVudDxSdW50aW1lLCBwYWxsZXRfY29sbGVjdGl2ZTo6SW5zdGFuY2UyPgAZABBUaXBzBADQAWxwYWxsZXRfdGlwczo6RXZlbnQ8UnVudGltZT4AGwAUUHJveHkEANQBcHBhbGxldF9wcm94eTo6RXZlbnQ8UnVudGltZT4AHQAgTXVsdGlzaWcEAOABfHBhbGxldF9tdWx0aXNpZzo6RXZlbnQ8UnVudGltZT4AHwAcVW5pcXVlcwQA6AF4cGFsbGV0X3VuaXF1ZXM6OkV2ZW50PFJ1bnRpbWU+ACAASFN0YXRlVHJpZU1pZ3JhdGlvbgQABQEBrHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbjo6RXZlbnQ8UnVudGltZT4AIwBAQ29udmljdGlvblZvdGluZwQAEQEBoHBhbGxldF9jb252aWN0aW9uX3ZvdGluZzo6RXZlbnQ8UnVudGltZT4AJAAkUmVmZXJlbmRhBAAdAQGAcGFsbGV0X3JlZmVyZW5kYTo6RXZlbnQ8UnVudGltZT4AJQAkV2hpdGVsaXN0BABlBgGAcGFsbGV0X3doaXRlbGlzdDo6RXZlbnQ8UnVudGltZT4AJwAoRGlzcGF0Y2hlcgQAeQYBhHBhbGxldF9kaXNwYXRjaGVyOjpFdmVudDxSdW50aW1lPgAoADRBc3NldFJlZ2lzdHJ5BAB9BgGUcGFsbGV0X2Fzc2V0X3JlZ2lzdHJ5OjpFdmVudDxSdW50aW1lPgAzABhDbGFpbXMEAIEGAXRwYWxsZXRfY2xhaW1zOjpFdmVudDxSdW50aW1lPgA1ADxDb2xsYXRvclJld2FyZHMEAIkGAZxwYWxsZXRfY29sbGF0b3JfcmV3YXJkczo6RXZlbnQ8UnVudGltZT4AOQAgT21uaXBvb2wEAI0GAXxwYWxsZXRfb21uaXBvb2w6OkV2ZW50PFJ1bnRpbWU+ADsAQFRyYW5zYWN0aW9uUGF1c2UEAJEGAaBwYWxsZXRfdHJhbnNhY3Rpb25fcGF1c2U6OkV2ZW50PFJ1bnRpbWU+ADwAGER1c3RlcgQAlQYBdHBhbGxldF9kdXN0ZXI6OkV2ZW50PFJ1bnRpbWU+AD0ATE9tbmlwb29sV2FyZWhvdXNlTE0EAJkGAUkBd2FyZWhvdXNlX2xpcXVpZGl0eV9taW5pbmc6OkV2ZW50PFJ1bnRpbWUsIHdhcmVob3VzZV9saXF1aWRpdHlfbWluaW5nOjoKSW5zdGFuY2UxPgA+AFxPbW5pcG9vbExpcXVpZGl0eU1pbmluZwQAnQYBwHBhbGxldF9vbW5pcG9vbF9saXF1aWRpdHlfbWluaW5nOjpFdmVudDxSdW50aW1lPgA/AAxPVEMEAKEGAWhwYWxsZXRfb3RjOjpFdmVudDxSdW50aW1lPgBAADhDaXJjdWl0QnJlYWtlcgQApQYBmHBhbGxldF9jaXJjdWl0X2JyZWFrZXI6OkV2ZW50PFJ1bnRpbWU+AEEAGFJvdXRlcgQAqQYBlHBhbGxldF9yb3V0ZV9leGVjdXRvcjo6RXZlbnQ8UnVudGltZT4AQwAsRHluYW1pY0ZlZXMEAK0GAYxwYWxsZXRfZHluYW1pY19mZWVzOjpFdmVudDxSdW50aW1lPgBEABxTdGFraW5nBACxBgF4cGFsbGV0X3N0YWtpbmc6OkV2ZW50PFJ1bnRpbWU+AEUAKFN0YWJsZXN3YXAEALUGAYRwYWxsZXRfc3RhYmxlc3dhcDo6RXZlbnQ8UnVudGltZT4ARgAUQm9uZHMEAM0GAXBwYWxsZXRfYm9uZHM6OkV2ZW50PFJ1bnRpbWU+AEcAOE90Y1NldHRsZW1lbnRzBADRBgGYcGFsbGV0X290Y19zZXR0bGVtZW50czo6RXZlbnQ8UnVudGltZT4ASAAMTEJQBADVBgFocGFsbGV0X2xicDo6RXZlbnQ8UnVudGltZT4ASQAMWFlLBADdBgFocGFsbGV0X3h5azo6RXZlbnQ8UnVudGltZT4ASgAkUmVmZXJyYWxzBADhBgGAcGFsbGV0X3JlZmVycmFsczo6RXZlbnQ8UnVudGltZT4ASwAsTGlxdWlkYXRpb24EAOkGAYhwYWxsZXRfbGlxdWlkYXRpb246OkV2ZW50PFJ1bnRpbWU+AEwAGFRva2VucwQA7QYBbG9ybWxfdG9rZW5zOjpFdmVudDxSdW50aW1lPgBNAChDdXJyZW5jaWVzBADxBgGEcGFsbGV0X2N1cnJlbmNpZXM6OkV2ZW50PFJ1bnRpbWU+AE8AHFZlc3RpbmcEAPUGAXBvcm1sX3Zlc3Rpbmc6OkV2ZW50PFJ1bnRpbWU+AFEADEVWTQQA+QYBaHBhbGxldF9ldm06OkV2ZW50PFJ1bnRpbWU+AFoAIEV0aGVyZXVtBAABBwFYcGFsbGV0X2V0aGVyZXVtOjpFdmVudABcACxFVk1BY2NvdW50cwQAJQcBjHBhbGxldF9ldm1fYWNjb3VudHM6OkV2ZW50PFJ1bnRpbWU+AF0ASFhZS0xpcXVpZGl0eU1pbmluZwQAKQcBrHBhbGxldF94eWtfbGlxdWlkaXR5X21pbmluZzo6RXZlbnQ8UnVudGltZT4AXwA4WFlLV2FyZWhvdXNlTE0EAC0HAUkBd2FyZWhvdXNlX2xpcXVpZGl0eV9taW5pbmc6OkV2ZW50PFJ1bnRpbWUsIHdhcmVob3VzZV9saXF1aWRpdHlfbWluaW5nOjoKSW5zdGFuY2UyPgBgADhSZWxheUNoYWluSW5mbwQAMQcBmHBhbGxldF9yZWxheWNoYWluX2luZm86OkV2ZW50PFJ1bnRpbWU+AMkADERDQQQANQcBaHBhbGxldF9kY2E6OkV2ZW50PFJ1bnRpbWU+AEIAJFNjaGVkdWxlcgQAOQcBgHBhbGxldF9zY2hlZHVsZXI6OkV2ZW50PFJ1bnRpbWU+AAUAPFBhcmFjaGFpblN5c3RlbQQAQQcBvGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW06OkV2ZW50PFJ1bnRpbWU+AGcALFBvbGthZG90WGNtBABFBwFocGFsbGV0X3hjbTo6RXZlbnQ8UnVudGltZT4AawAoQ3VtdWx1c1hjbQQATQcBiGN1bXVsdXNfcGFsbGV0X3hjbTo6RXZlbnQ8UnVudGltZT4AbQAkWGNtcFF1ZXVlBABRBwGkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZTo6RXZlbnQ8UnVudGltZT4AbwAwTWVzc2FnZVF1ZXVlBABVBwGQcGFsbGV0X21lc3NhZ2VfcXVldWU6OkV2ZW50PFJ1bnRpbWU+AHIAHE9ybWxYY20EAF0HAWBvcm1sX3hjbTo6RXZlbnQ8UnVudGltZT4AhwAcWFRva2VucwQAYQcBcG9ybWxfeHRva2Vuczo6RXZlbnQ8UnVudGltZT4AiQA0VW5rbm93blRva2VucwQAZQcBaG9ybWxfdW5rbm93bl90b2tlbnM6OkV2ZW50AIsARENvbGxhdG9yU2VsZWN0aW9uBABpBwGkcGFsbGV0X2NvbGxhdG9yX3NlbGVjdGlvbjo6RXZlbnQ8UnVudGltZT4AowAcU2Vzc2lvbgQAbQcBVHBhbGxldF9zZXNzaW9uOjpFdmVudAClACRFbWFPcmFjbGUEAHEHAYRwYWxsZXRfZW1hX29yYWNsZTo6RXZlbnQ8UnVudGltZT4AygAkQnJvYWRjYXN0BAB1BwGAcGFsbGV0X2Jyb2FkY2FzdDo6RXZlbnQ8UnVudGltZT4AzAAAWAwwZnJhbWVfc3lzdGVtGHBhbGxldBRFdmVudAQEVAABHEBFeHRyaW5zaWNTdWNjZXNzBAE0ZGlzcGF0Y2hfaW5mb1wBMERpc3BhdGNoSW5mbwAABJBBbiBleHRyaW5zaWMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS48RXh0cmluc2ljRmFpbGVkCAE4ZGlzcGF0Y2hfZXJyb3JoATREaXNwYXRjaEVycm9yAAE0ZGlzcGF0Y2hfaW5mb1wBMERpc3BhdGNoSW5mbwABBFBBbiBleHRyaW5zaWMgZmFpbGVkLixDb2RlVXBkYXRlZAACBFBgOmNvZGVgIHdhcyB1cGRhdGVkLihOZXdBY2NvdW50BAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAADBGhBIG5ldyBhY2NvdW50IHdhcyBjcmVhdGVkLjRLaWxsZWRBY2NvdW50BAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAAEBFhBbiBhY2NvdW50IHdhcyByZWFwZWQuIFJlbWFya2VkCAEYc2VuZGVyAAEwVDo6QWNjb3VudElkAAEQaGFzaDQBHFQ6Okhhc2gABQRwT24gb24tY2hhaW4gcmVtYXJrIGhhcHBlbmVkLkRVcGdyYWRlQXV0aG9yaXplZAgBJGNvZGVfaGFzaDQBHFQ6Okhhc2gAATRjaGVja192ZXJzaW9uIAEQYm9vbAAGBGhBbiB1cGdyYWRlIHdhcyBhdXRob3JpemVkLgRwRXZlbnQgZm9yIHRoZSBTeXN0ZW0gcGFsbGV0LlwMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2gwRGlzcGF0Y2hJbmZvAAAMARh3ZWlnaHQoARhXZWlnaHQAARRjbGFzc2ABNERpc3BhdGNoQ2xhc3MAASBwYXlzX2ZlZWQBEFBheXMAAGAMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2g0RGlzcGF0Y2hDbGFzcwABDBhOb3JtYWwAAAAsT3BlcmF0aW9uYWwAAQAkTWFuZGF0b3J5AAIAAGQMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2gQUGF5cwABCAxZZXMAAAAITm8AAQAAaAgoc3BfcnVudGltZTREaXNwYXRjaEVycm9yAAE4FE90aGVyAAAAMENhbm5vdExvb2t1cAABACRCYWRPcmlnaW4AAgAYTW9kdWxlBABsASxNb2R1bGVFcnJvcgADAERDb25zdW1lclJlbWFpbmluZwAEACxOb1Byb3ZpZGVycwAFAEBUb29NYW55Q29uc3VtZXJzAAYAFFRva2VuBABwAShUb2tlbkVycm9yAAcAKEFyaXRobWV0aWMEAHQBPEFyaXRobWV0aWNFcnJvcgAIADRUcmFuc2FjdGlvbmFsBAB4AUhUcmFuc2FjdGlvbmFsRXJyb3IACQAkRXhoYXVzdGVkAAoAKENvcnJ1cHRpb24ACwAsVW5hdmFpbGFibGUADAA4Um9vdE5vdEFsbG93ZWQADQAAbAgoc3BfcnVudGltZSxNb2R1bGVFcnJvcgAACAEUaW5kZXgIAQh1OAABFGVycm9ySAGMW3U4OyBNQVhfTU9EVUxFX0VSUk9SX0VOQ09ERURfU0laRV0AAHAIKHNwX3J1bnRpbWUoVG9rZW5FcnJvcgABKEBGdW5kc1VuYXZhaWxhYmxlAAAAME9ubHlQcm92aWRlcgABADBCZWxvd01pbmltdW0AAgAwQ2Fubm90Q3JlYXRlAAMAMFVua25vd25Bc3NldAAEABhGcm96ZW4ABQAsVW5zdXBwb3J0ZWQABgBAQ2Fubm90Q3JlYXRlSG9sZAAHADROb3RFeHBlbmRhYmxlAAgAHEJsb2NrZWQACQAAdAg0c3BfYXJpdGhtZXRpYzxBcml0aG1ldGljRXJyb3IAAQwkVW5kZXJmbG93AAAAIE92ZXJmbG93AAEAOERpdmlzaW9uQnlaZXJvAAIAAHgIKHNwX3J1bnRpbWVIVHJhbnNhY3Rpb25hbEVycm9yAAEIMExpbWl0UmVhY2hlZAAAABxOb0xheWVyAAEAAHwMPHBhbGxldF9iYWxhbmNlcxhwYWxsZXQURXZlbnQIBFQABEkAAVgcRW5kb3dlZAgBHGFjY291bnQAATBUOjpBY2NvdW50SWQAATBmcmVlX2JhbGFuY2UYAShUOjpCYWxhbmNlAAAEuEFuIGFjY291bnQgd2FzIGNyZWF0ZWQgd2l0aCBzb21lIGZyZWUgYmFsYW5jZS4gRHVzdExvc3QIARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABCD0BQW4gYWNjb3VudCB3YXMgcmVtb3ZlZCB3aG9zZSBiYWxhbmNlIHdhcyBub24temVybyBidXQgYmVsb3cgRXhpc3RlbnRpYWxEZXBvc2l0LHhyZXN1bHRpbmcgaW4gYW4gb3V0cmlnaHQgbG9zcy4gVHJhbnNmZXIMARBmcm9tAAEwVDo6QWNjb3VudElkAAEIdG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAIETFRyYW5zZmVyIHN1Y2NlZWRlZC4oQmFsYW5jZVNldAgBDHdobwABMFQ6OkFjY291bnRJZAABEGZyZWUYAShUOjpCYWxhbmNlAAMEaEEgYmFsYW5jZSB3YXMgc2V0IGJ5IHJvb3QuIFJlc2VydmVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAEBOBTb21lIGJhbGFuY2Ugd2FzIHJlc2VydmVkIChtb3ZlZCBmcm9tIGZyZWUgdG8gcmVzZXJ2ZWQpLihVbnJlc2VydmVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAFBOhTb21lIGJhbGFuY2Ugd2FzIHVucmVzZXJ2ZWQgKG1vdmVkIGZyb20gcmVzZXJ2ZWQgdG8gZnJlZSkuSFJlc2VydmVSZXBhdHJpYXRlZBABEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAUhkZXN0aW5hdGlvbl9zdGF0dXOAARhTdGF0dXMABghNAVNvbWUgYmFsYW5jZSB3YXMgbW92ZWQgZnJvbSB0aGUgcmVzZXJ2ZSBvZiB0aGUgZmlyc3QgYWNjb3VudCB0byB0aGUgc2Vjb25kIGFjY291bnQu2EZpbmFsIGFyZ3VtZW50IGluZGljYXRlcyB0aGUgZGVzdGluYXRpb24gYmFsYW5jZSB0eXBlLhxEZXBvc2l0CAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAHBNhTb21lIGFtb3VudCB3YXMgZGVwb3NpdGVkIChlLmcuIGZvciB0cmFuc2FjdGlvbiBmZWVzKS4gV2l0aGRyYXcIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAgEHQFTb21lIGFtb3VudCB3YXMgd2l0aGRyYXduIGZyb20gdGhlIGFjY291bnQgKGUuZy4gZm9yIHRyYW5zYWN0aW9uIGZlZXMpLhxTbGFzaGVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAJBAEBU29tZSBhbW91bnQgd2FzIHJlbW92ZWQgZnJvbSB0aGUgYWNjb3VudCAoZS5nLiBmb3IgbWlzYmVoYXZpb3IpLhhNaW50ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAoEnFNvbWUgYW1vdW50IHdhcyBtaW50ZWQgaW50byBhbiBhY2NvdW50LhhCdXJuZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAsEnFNvbWUgYW1vdW50IHdhcyBidXJuZWQgZnJvbSBhbiBhY2NvdW50LiRTdXNwZW5kZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAwEFQFTb21lIGFtb3VudCB3YXMgc3VzcGVuZGVkIGZyb20gYW4gYWNjb3VudCAoaXQgY2FuIGJlIHJlc3RvcmVkIGxhdGVyKS4gUmVzdG9yZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAA0EpFNvbWUgYW1vdW50IHdhcyByZXN0b3JlZCBpbnRvIGFuIGFjY291bnQuIFVwZ3JhZGVkBAEMd2hvAAEwVDo6QWNjb3VudElkAA4EYEFuIGFjY291bnQgd2FzIHVwZ3JhZGVkLhhJc3N1ZWQEARhhbW91bnQYAShUOjpCYWxhbmNlAA8ELQFUb3RhbCBpc3N1YW5jZSB3YXMgaW5jcmVhc2VkIGJ5IGBhbW91bnRgLCBjcmVhdGluZyBhIGNyZWRpdCB0byBiZSBiYWxhbmNlZC4kUmVzY2luZGVkBAEYYW1vdW50GAEoVDo6QmFsYW5jZQAQBCUBVG90YWwgaXNzdWFuY2Ugd2FzIGRlY3JlYXNlZCBieSBgYW1vdW50YCwgY3JlYXRpbmcgYSBkZWJ0IHRvIGJlIGJhbGFuY2VkLhhMb2NrZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlABEEYFNvbWUgYmFsYW5jZSB3YXMgbG9ja2VkLiBVbmxvY2tlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAEgRoU29tZSBiYWxhbmNlIHdhcyB1bmxvY2tlZC4YRnJvemVuCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQATBGBTb21lIGJhbGFuY2Ugd2FzIGZyb3plbi4YVGhhd2VkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAUBGBTb21lIGJhbGFuY2Ugd2FzIHRoYXdlZC5MVG90YWxJc3N1YW5jZUZvcmNlZAgBDG9sZBgBKFQ6OkJhbGFuY2UAAQxuZXcYAShUOjpCYWxhbmNlABUErFRoZSBgVG90YWxJc3N1YW5jZWAgd2FzIGZvcmNlZnVsbHkgY2hhbmdlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSAFDRmcmFtZV9zdXBwb3J0GHRyYWl0cxh0b2tlbnMQbWlzYzRCYWxhbmNlU3RhdHVzAAEIEEZyZWUAAAAgUmVzZXJ2ZWQAAQAAhAxocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQYcGFsbGV0FEV2ZW50BARUAAEESFRyYW5zYWN0aW9uRmVlUGFpZAwBDHdobwABMFQ6OkFjY291bnRJZAABKGFjdHVhbF9mZWUYATBCYWxhbmNlT2Y8VD4AAQx0aXAYATBCYWxhbmNlT2Y8VD4AAAhZAUEgdHJhbnNhY3Rpb24gZmVlIGBhY3R1YWxfZmVlYCwgb2Ygd2hpY2ggYHRpcGAgd2FzIGFkZGVkIHRvIHRoZSBtaW5pbXVtIGluY2x1c2lvbiBmZWUsXGhhcyBiZWVuIHBhaWQgYnkgYHdob2AuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0iAyAcGFsbGV0X3RyYW5zYWN0aW9uX211bHRpX3BheW1lbnQYcGFsbGV0FEV2ZW50BARUAAEQLEN1cnJlbmN5U2V0CAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAABIGFzc2V0X2lkEAEwQXNzZXRJZE9mPFQ+AAAILEN1cnJlbmN5U2V0PFt3aG8sIGN1cnJlbmN5XTRDdXJyZW5jeUFkZGVkBAEgYXNzZXRfaWQQATBBc3NldElkT2Y8VD4AAQhsTmV3IGFjY2VwdGVkIGN1cnJlbmN5IGFkZGVkKFtjdXJyZW5jeV08Q3VycmVuY3lSZW1vdmVkBAEgYXNzZXRfaWQQATBBc3NldElkT2Y8VD4AAghkQWNjZXB0ZWQgY3VycmVuY3kgcmVtb3ZlZChbY3VycmVuY3ldMEZlZVdpdGhkcmF3bhQBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQAASBhc3NldF9pZBABMEFzc2V0SWRPZjxUPgABRG5hdGl2ZV9mZWVfYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAFUbm9uX25hdGl2ZV9mZWVfYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAFYZGVzdGluYXRpb25fYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAADCKxUcmFuc2FjdGlvbiBmZWUgcGFpZCBpbiBub24tbmF0aXZlIGN1cnJlbmN5SQFbQWNjb3VudCwgQ3VycmVuY3ksIE5hdGl2ZSBmZWUgYW1vdW50LCBOb24tbmF0aXZlIGZlZSBhbW91bnQsIERlc3RpbmF0aW9uIGFjY291bnRdBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0jAw8cGFsbGV0X3RyZWFzdXJ5GHBhbGxldBRFdmVudAgEVAAESQABMCBTcGVuZGluZwQBQGJ1ZGdldF9yZW1haW5pbmcYATxCYWxhbmNlT2Y8VCwgST4AAATkV2UgaGF2ZSBlbmRlZCBhIHNwZW5kIHBlcmlvZCBhbmQgd2lsbCBub3cgYWxsb2NhdGUgZnVuZHMuHEF3YXJkZWQMAThwcm9wb3NhbF9pbmRleBABNFByb3Bvc2FsSW5kZXgAARRhd2FyZBgBPEJhbGFuY2VPZjxULCBJPgABHGFjY291bnQAATBUOjpBY2NvdW50SWQAAQR8U29tZSBmdW5kcyBoYXZlIGJlZW4gYWxsb2NhdGVkLhRCdXJudAQBLGJ1cm50X2Z1bmRzGAE8QmFsYW5jZU9mPFQsIEk+AAIEiFNvbWUgb2Ygb3VyIGZ1bmRzIGhhdmUgYmVlbiBidXJudC4gUm9sbG92ZXIEAUByb2xsb3Zlcl9iYWxhbmNlGAE8QmFsYW5jZU9mPFQsIEk+AAMELQFTcGVuZGluZyBoYXMgZmluaXNoZWQ7IHRoaXMgaXMgdGhlIGFtb3VudCB0aGF0IHJvbGxzIG92ZXIgdW50aWwgbmV4dCBzcGVuZC4cRGVwb3NpdAQBFHZhbHVlGAE8QmFsYW5jZU9mPFQsIEk+AAQEfFNvbWUgZnVuZHMgaGF2ZSBiZWVuIGRlcG9zaXRlZC40U3BlbmRBcHByb3ZlZAwBOHByb3Bvc2FsX2luZGV4EAE0UHJvcG9zYWxJbmRleAABGGFtb3VudBgBPEJhbGFuY2VPZjxULCBJPgABLGJlbmVmaWNpYXJ5AAEwVDo6QWNjb3VudElkAAUEnEEgbmV3IHNwZW5kIHByb3Bvc2FsIGhhcyBiZWVuIGFwcHJvdmVkLjxVcGRhdGVkSW5hY3RpdmUIASxyZWFjdGl2YXRlZBgBPEJhbGFuY2VPZjxULCBJPgABLGRlYWN0aXZhdGVkGAE8QmFsYW5jZU9mPFQsIEk+AAYEzFRoZSBpbmFjdGl2ZSBmdW5kcyBvZiB0aGUgcGFsbGV0IGhhdmUgYmVlbiB1cGRhdGVkLkhBc3NldFNwZW5kQXBwcm92ZWQYARRpbmRleBABKFNwZW5kSW5kZXgAAShhc3NldF9raW5kkAEwVDo6QXNzZXRLaW5kAAEYYW1vdW50GAFQQXNzZXRCYWxhbmNlT2Y8VCwgST4AASxiZW5lZmljaWFyeQABOFQ6OkJlbmVmaWNpYXJ5AAEodmFsaWRfZnJvbRABREJsb2NrTnVtYmVyRm9yPFQ+AAEkZXhwaXJlX2F0EAFEQmxvY2tOdW1iZXJGb3I8VD4ABwS0QSBuZXcgYXNzZXQgc3BlbmQgcHJvcG9zYWwgaGFzIGJlZW4gYXBwcm92ZWQuQEFzc2V0U3BlbmRWb2lkZWQEARRpbmRleBABKFNwZW5kSW5kZXgACAR0QW4gYXBwcm92ZWQgc3BlbmQgd2FzIHZvaWRlZC4QUGFpZAgBFGluZGV4EAEoU3BlbmRJbmRleAABKHBheW1lbnRfaWSQAWQ8VDo6UGF5bWFzdGVyIGFzIFBheT46OklkAAkETEEgcGF5bWVudCBoYXBwZW5lZC40UGF5bWVudEZhaWxlZAgBFGluZGV4EAEoU3BlbmRJbmRleAABKHBheW1lbnRfaWSQAWQ8VDo6UGF5bWFzdGVyIGFzIFBheT46OklkAAoEkEEgcGF5bWVudCBmYWlsZWQgYW5kIGNhbiBiZSByZXRyaWVkLjhTcGVuZFByb2Nlc3NlZAQBFGluZGV4EAEoU3BlbmRJbmRleAALCE0BQSBzcGVuZCB3YXMgcHJvY2Vzc2VkIGFuZCByZW1vdmVkIGZyb20gdGhlIHN0b3JhZ2UuIEl0IG1pZ2h0IGhhdmUgYmVlbiBzdWNjZXNzZnVsbHlwcGFpZCBvciBpdCBtYXkgaGF2ZSBleHBpcmVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldJAAAAQAAJQMOHBhbGxldF91dGlsaXR5GHBhbGxldBRFdmVudAABGEBCYXRjaEludGVycnVwdGVkCAEUaW5kZXgQAQx1MzIAARRlcnJvcmgBNERpc3BhdGNoRXJyb3IAAAhVAUJhdGNoIG9mIGRpc3BhdGNoZXMgZGlkIG5vdCBjb21wbGV0ZSBmdWxseS4gSW5kZXggb2YgZmlyc3QgZmFpbGluZyBkaXNwYXRjaCBnaXZlbiwgYXNId2VsbCBhcyB0aGUgZXJyb3IuOEJhdGNoQ29tcGxldGVkAAEEyEJhdGNoIG9mIGRpc3BhdGNoZXMgY29tcGxldGVkIGZ1bGx5IHdpdGggbm8gZXJyb3IuYEJhdGNoQ29tcGxldGVkV2l0aEVycm9ycwACBLRCYXRjaCBvZiBkaXNwYXRjaGVzIGNvbXBsZXRlZCBidXQgaGFzIGVycm9ycy40SXRlbUNvbXBsZXRlZAADBB0BQSBzaW5nbGUgaXRlbSB3aXRoaW4gYSBCYXRjaCBvZiBkaXNwYXRjaGVzIGhhcyBjb21wbGV0ZWQgd2l0aCBubyBlcnJvci4oSXRlbUZhaWxlZAQBFGVycm9yaAE0RGlzcGF0Y2hFcnJvcgAEBBEBQSBzaW5nbGUgaXRlbSB3aXRoaW4gYSBCYXRjaCBvZiBkaXNwYXRjaGVzIGhhcyBjb21wbGV0ZWQgd2l0aCBlcnJvci4wRGlzcGF0Y2hlZEFzBAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQABQRYQSBjYWxsIHdhcyBkaXNwYXRjaGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldJgEGFJlc3VsdAgEVAGQBEUBaAEICE9rBACQAAAAAAxFcnIEAGgAAAEAAJwMPHBhbGxldF9wcmVpbWFnZRhwYWxsZXQURXZlbnQEBFQAAQwUTm90ZWQEARBoYXNoNAEcVDo6SGFzaAAABGhBIHByZWltYWdlIGhhcyBiZWVuIG5vdGVkLiRSZXF1ZXN0ZWQEARBoYXNoNAEcVDo6SGFzaAABBHhBIHByZWltYWdlIGhhcyBiZWVuIHJlcXVlc3RlZC4cQ2xlYXJlZAQBEGhhc2g0ARxUOjpIYXNoAAIEbEEgcHJlaW1hZ2UgaGFzIGJlbiBjbGVhcmVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldKAMPHBhbGxldF9pZGVudGl0eRhwYWxsZXQURXZlbnQEBFQAAUQsSWRlbnRpdHlTZXQEAQx3aG8AATBUOjpBY2NvdW50SWQAAATsQSBuYW1lIHdhcyBzZXQgb3IgcmVzZXQgKHdoaWNoIHdpbGwgcmVtb3ZlIGFsbCBqdWRnZW1lbnRzKS48SWRlbnRpdHlDbGVhcmVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgABBMxBIG5hbWUgd2FzIGNsZWFyZWQsIGFuZCB0aGUgZ2l2ZW4gYmFsYW5jZSByZXR1cm5lZC44SWRlbnRpdHlLaWxsZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAIExEEgbmFtZSB3YXMgcmVtb3ZlZCBhbmQgdGhlIGdpdmVuIGJhbGFuY2Ugc2xhc2hlZC5ISnVkZ2VtZW50UmVxdWVzdGVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAE8cmVnaXN0cmFyX2luZGV4EAE4UmVnaXN0cmFySW5kZXgAAwScQSBqdWRnZW1lbnQgd2FzIGFza2VkIGZyb20gYSByZWdpc3RyYXIuUEp1ZGdlbWVudFVucmVxdWVzdGVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAE8cmVnaXN0cmFyX2luZGV4EAE4UmVnaXN0cmFySW5kZXgABASIQSBqdWRnZW1lbnQgcmVxdWVzdCB3YXMgcmV0cmFjdGVkLjhKdWRnZW1lbnRHaXZlbggBGHRhcmdldAABMFQ6OkFjY291bnRJZAABPHJlZ2lzdHJhcl9pbmRleBABOFJlZ2lzdHJhckluZGV4AAUElEEganVkZ2VtZW50IHdhcyBnaXZlbiBieSBhIHJlZ2lzdHJhci44UmVnaXN0cmFyQWRkZWQEATxyZWdpc3RyYXJfaW5kZXgQAThSZWdpc3RyYXJJbmRleAAGBFhBIHJlZ2lzdHJhciB3YXMgYWRkZWQuQFN1YklkZW50aXR5QWRkZWQMAQxzdWIAATBUOjpBY2NvdW50SWQAARBtYWluAAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdBgBMEJhbGFuY2VPZjxUPgAHBPRBIHN1Yi1pZGVudGl0eSB3YXMgYWRkZWQgdG8gYW4gaWRlbnRpdHkgYW5kIHRoZSBkZXBvc2l0IHBhaWQuSFN1YklkZW50aXR5UmVtb3ZlZAwBDHN1YgABMFQ6OkFjY291bnRJZAABEG1haW4AATBUOjpBY2NvdW50SWQAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAgECQFBIHN1Yi1pZGVudGl0eSB3YXMgcmVtb3ZlZCBmcm9tIGFuIGlkZW50aXR5IGFuZCB0aGUgZGVwb3NpdCBmcmVlZC5IU3ViSWRlbnRpdHlSZXZva2VkDAEMc3ViAAEwVDo6QWNjb3VudElkAAEQbWFpbgABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4ACQgZAUEgc3ViLWlkZW50aXR5IHdhcyBjbGVhcmVkLCBhbmQgdGhlIGdpdmVuIGRlcG9zaXQgcmVwYXRyaWF0ZWQgZnJvbSB0aGXIbWFpbiBpZGVudGl0eSBhY2NvdW50IHRvIHRoZSBzdWItaWRlbnRpdHkgYWNjb3VudC44QXV0aG9yaXR5QWRkZWQEASRhdXRob3JpdHkAATBUOjpBY2NvdW50SWQACgR8QSB1c2VybmFtZSBhdXRob3JpdHkgd2FzIGFkZGVkLkBBdXRob3JpdHlSZW1vdmVkBAEkYXV0aG9yaXR5AAEwVDo6QWNjb3VudElkAAsEhEEgdXNlcm5hbWUgYXV0aG9yaXR5IHdhcyByZW1vdmVkLixVc2VybmFtZVNldAgBDHdobwABMFQ6OkFjY291bnRJZAABIHVzZXJuYW1lpAEsVXNlcm5hbWU8VD4ADAR0QSB1c2VybmFtZSB3YXMgc2V0IGZvciBgd2hvYC44VXNlcm5hbWVRdWV1ZWQMAQx3aG8AATBUOjpBY2NvdW50SWQAASB1c2VybmFtZaQBLFVzZXJuYW1lPFQ+AAEoZXhwaXJhdGlvbhABREJsb2NrTnVtYmVyRm9yPFQ+AA0EGQFBIHVzZXJuYW1lIHdhcyBxdWV1ZWQsIGJ1dCBgd2hvYCBtdXN0IGFjY2VwdCBpdCBwcmlvciB0byBgZXhwaXJhdGlvbmAuSFByZWFwcHJvdmFsRXhwaXJlZAQBFHdob3NlAAEwVDo6QWNjb3VudElkAA4EOQFBIHF1ZXVlZCB1c2VybmFtZSBwYXNzZWQgaXRzIGV4cGlyYXRpb24gd2l0aG91dCBiZWluZyBjbGFpbWVkIGFuZCB3YXMgcmVtb3ZlZC5IUHJpbWFyeVVzZXJuYW1lU2V0CAEMd2hvAAEwVDo6QWNjb3VudElkAAEgdXNlcm5hbWWkASxVc2VybmFtZTxUPgAPBAEBQSB1c2VybmFtZSB3YXMgc2V0IGFzIGEgcHJpbWFyeSBhbmQgY2FuIGJlIGxvb2tlZCB1cCBmcm9tIGB3aG9gLlxEYW5nbGluZ1VzZXJuYW1lUmVtb3ZlZAgBDHdobwABMFQ6OkFjY291bnRJZAABIHVzZXJuYW1lpAEsVXNlcm5hbWU8VD4AEAhdAUEgZGFuZ2xpbmcgdXNlcm5hbWUgKGFzIGluLCBhIHVzZXJuYW1lIGNvcnJlc3BvbmRpbmcgdG8gYW4gYWNjb3VudCB0aGF0IGhhcyByZW1vdmVkIGl0c2xpZGVudGl0eSkgaGFzIGJlZW4gcmVtb3ZlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSkDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAqAxAcGFsbGV0X2RlbW9jcmFjeRhwYWxsZXQURXZlbnQEBFQAAUQgUHJvcG9zZWQIAThwcm9wb3NhbF9pbmRleBABJFByb3BJbmRleAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4AAAS8QSBtb3Rpb24gaGFzIGJlZW4gcHJvcG9zZWQgYnkgYSBwdWJsaWMgYWNjb3VudC4YVGFibGVkCAE4cHJvcG9zYWxfaW5kZXgQASRQcm9wSW5kZXgAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAEE2EEgcHVibGljIHByb3Bvc2FsIGhhcyBiZWVuIHRhYmxlZCBmb3IgcmVmZXJlbmR1bSB2b3RlLjhFeHRlcm5hbFRhYmxlZAACBJRBbiBleHRlcm5hbCBwcm9wb3NhbCBoYXMgYmVlbiB0YWJsZWQuHFN0YXJ0ZWQIASRyZWZfaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgAASR0aHJlc2hvbGSsATRWb3RlVGhyZXNob2xkAAMEXEEgcmVmZXJlbmR1bSBoYXMgYmVndW4uGFBhc3NlZAQBJHJlZl9pbmRleBABPFJlZmVyZW5kdW1JbmRleAAEBKxBIHByb3Bvc2FsIGhhcyBiZWVuIGFwcHJvdmVkIGJ5IHJlZmVyZW5kdW0uJE5vdFBhc3NlZAQBJHJlZl9pbmRleBABPFJlZmVyZW5kdW1JbmRleAAFBKxBIHByb3Bvc2FsIGhhcyBiZWVuIHJlamVjdGVkIGJ5IHJlZmVyZW5kdW0uJENhbmNlbGxlZAQBJHJlZl9pbmRleBABPFJlZmVyZW5kdW1JbmRleAAGBIBBIHJlZmVyZW5kdW0gaGFzIGJlZW4gY2FuY2VsbGVkLiREZWxlZ2F0ZWQIAQx3aG8AATBUOjpBY2NvdW50SWQAARh0YXJnZXQAATBUOjpBY2NvdW50SWQABwTcQW4gYWNjb3VudCBoYXMgZGVsZWdhdGVkIHRoZWlyIHZvdGUgdG8gYW5vdGhlciBhY2NvdW50LixVbmRlbGVnYXRlZAQBHGFjY291bnQAATBUOjpBY2NvdW50SWQACATkQW4gYWNjb3VudCBoYXMgY2FuY2VsbGVkIGEgcHJldmlvdXMgZGVsZWdhdGlvbiBvcGVyYXRpb24uGFZldG9lZAwBDHdobwABMFQ6OkFjY291bnRJZAABNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEUdW50aWwQAURCbG9ja051bWJlckZvcjxUPgAJBJRBbiBleHRlcm5hbCBwcm9wb3NhbCBoYXMgYmVlbiB2ZXRvZWQuLEJsYWNrbGlzdGVkBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gACgTEQSBwcm9wb3NhbF9oYXNoIGhhcyBiZWVuIGJsYWNrbGlzdGVkIHBlcm1hbmVudGx5LhRWb3RlZAwBFHZvdGVyAAEwVDo6QWNjb3VudElkAAEkcmVmX2luZGV4EAE8UmVmZXJlbmR1bUluZGV4AAEQdm90ZbABZEFjY291bnRWb3RlPEJhbGFuY2VPZjxUPj4ACwSQQW4gYWNjb3VudCBoYXMgdm90ZWQgaW4gYSByZWZlcmVuZHVtIFNlY29uZGVkCAEgc2Vjb25kZXIAATBUOjpBY2NvdW50SWQAAShwcm9wX2luZGV4EAEkUHJvcEluZGV4AAwEjEFuIGFjY291bnQgaGFzIHNlY2NvbmRlZCBhIHByb3Bvc2FsQFByb3Bvc2FsQ2FuY2VsZWQEAShwcm9wX2luZGV4EAEkUHJvcEluZGV4AA0EYEEgcHJvcG9zYWwgZ290IGNhbmNlbGVkLixNZXRhZGF0YVNldAgBFG93bmVyuAE0TWV0YWRhdGFPd25lcgQ8TWV0YWRhdGEgb3duZXIuARBoYXNoNAEcVDo6SGFzaAQ4UHJlaW1hZ2UgaGFzaC4OBNRNZXRhZGF0YSBmb3IgYSBwcm9wb3NhbCBvciBhIHJlZmVyZW5kdW0gaGFzIGJlZW4gc2V0LjxNZXRhZGF0YUNsZWFyZWQIARRvd25lcrgBNE1ldGFkYXRhT3duZXIEPE1ldGFkYXRhIG93bmVyLgEQaGFzaDQBHFQ6Okhhc2gEOFByZWltYWdlIGhhc2guDwTkTWV0YWRhdGEgZm9yIGEgcHJvcG9zYWwgb3IgYSByZWZlcmVuZHVtIGhhcyBiZWVuIGNsZWFyZWQuTE1ldGFkYXRhVHJhbnNmZXJyZWQMAShwcmV2X293bmVyuAE0TWV0YWRhdGFPd25lcgRgUHJldmlvdXMgbWV0YWRhdGEgb3duZXIuARRvd25lcrgBNE1ldGFkYXRhT3duZXIETE5ldyBtZXRhZGF0YSBvd25lci4BEGhhc2g0ARxUOjpIYXNoBDhQcmVpbWFnZSBoYXNoLhAErE1ldGFkYXRhIGhhcyBiZWVuIHRyYW5zZmVycmVkIHRvIG5ldyBvd25lci4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSsDEBwYWxsZXRfZGVtb2NyYWN5OHZvdGVfdGhyZXNob2xkNFZvdGVUaHJlc2hvbGQAAQxQU3VwZXJNYWpvcml0eUFwcHJvdmUAAABQU3VwZXJNYWpvcml0eUFnYWluc3QAAQA4U2ltcGxlTWFqb3JpdHkAAgAAsAxAcGFsbGV0X2RlbW9jcmFjeRB2b3RlLEFjY291bnRWb3RlBBxCYWxhbmNlARgBCCBTdGFuZGFyZAgBEHZvdGW0ARBWb3RlAAEcYmFsYW5jZRgBHEJhbGFuY2UAAAAUU3BsaXQIAQxheWUYARxCYWxhbmNlAAEMbmF5GAEcQmFsYW5jZQABAAC0DEBwYWxsZXRfZGVtb2NyYWN5EHZvdGUQVm90ZQAABAAIAAAAuAxAcGFsbGV0X2RlbW9jcmFjeRR0eXBlczRNZXRhZGF0YU93bmVyAAEMIEV4dGVybmFsAAAAIFByb3Bvc2FsBAAQASRQcm9wSW5kZXgAAQAoUmVmZXJlbmR1bQQAEAE8UmVmZXJlbmR1bUluZGV4AAIAALwMZHBhbGxldF9lbGVjdGlvbnNfcGhyYWdtZW4YcGFsbGV0FEV2ZW50BARUAAEcHE5ld1Rlcm0EASxuZXdfbWVtYmVyc8AB7FZlYzwoPFQgYXMgZnJhbWVfc3lzdGVtOjpDb25maWc+OjpBY2NvdW50SWQsIEJhbGFuY2VPZjxUPik+AAAURQFBIG5ldyB0ZXJtIHdpdGggbmV3X21lbWJlcnMuIFRoaXMgaW5kaWNhdGVzIHRoYXQgZW5vdWdoIGNhbmRpZGF0ZXMgZXhpc3RlZCB0byBydW5VAXRoZSBlbGVjdGlvbiwgbm90IHRoYXQgZW5vdWdoIGhhdmUgaGFzIGJlZW4gZWxlY3RlZC4gVGhlIGlubmVyIHZhbHVlIG11c3QgYmUgZXhhbWluZWRFAWZvciB0aGlzIHB1cnBvc2UuIEEgYE5ld1Rlcm0oXFtcXSlgIGluZGljYXRlcyB0aGF0IHNvbWUgY2FuZGlkYXRlcyBnb3QgdGhlaXIgYm9uZFUBc2xhc2hlZCBhbmQgbm9uZSB3ZXJlIGVsZWN0ZWQsIHdoaWxzdCBgRW1wdHlUZXJtYCBtZWFucyB0aGF0IG5vIGNhbmRpZGF0ZXMgZXhpc3RlZCB0byxiZWdpbiB3aXRoLiRFbXB0eVRlcm0AAQgxAU5vIChvciBub3QgZW5vdWdoKSBjYW5kaWRhdGVzIGV4aXN0ZWQgZm9yIHRoaXMgcm91bmQuIFRoaXMgaXMgZGlmZmVyZW50IGZyb23IYE5ld1Rlcm0oXFtcXSlgLiBTZWUgdGhlIGRlc2NyaXB0aW9uIG9mIGBOZXdUZXJtYC40RWxlY3Rpb25FcnJvcgACBORJbnRlcm5hbCBlcnJvciBoYXBwZW5lZCB3aGlsZSB0cnlpbmcgdG8gcGVyZm9ybSBlbGVjdGlvbi4wTWVtYmVyS2lja2VkBAEYbWVtYmVyAAGYPFQgYXMgZnJhbWVfc3lzdGVtOjpDb25maWc+OjpBY2NvdW50SWQAAwhBAUEgbWVtYmVyIGhhcyBiZWVuIHJlbW92ZWQuIFRoaXMgc2hvdWxkIGFsd2F5cyBiZSBmb2xsb3dlZCBieSBlaXRoZXIgYE5ld1Rlcm1gIG9yMGBFbXB0eVRlcm1gLiRSZW5vdW5jZWQEASRjYW5kaWRhdGUAAZg8VCBhcyBmcmFtZV9zeXN0ZW06OkNvbmZpZz46OkFjY291bnRJZAAEBJhTb21lb25lIGhhcyByZW5vdW5jZWQgdGhlaXIgY2FuZGlkYWN5LkBDYW5kaWRhdGVTbGFzaGVkCAEkY2FuZGlkYXRlAAGYPFQgYXMgZnJhbWVfc3lzdGVtOjpDb25maWc+OjpBY2NvdW50SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4ABRA5AUEgY2FuZGlkYXRlIHdhcyBzbGFzaGVkIGJ5IGFtb3VudCBkdWUgdG8gZmFpbGluZyB0byBvYnRhaW4gYSBzZWF0IGFzIG1lbWJlciBvcihydW5uZXItdXAuAOROb3RlIHRoYXQgb2xkIG1lbWJlcnMgYW5kIHJ1bm5lcnMtdXAgYXJlIGFsc28gY2FuZGlkYXRlcy5EU2VhdEhvbGRlclNsYXNoZWQIASxzZWF0X2hvbGRlcgABmDxUIGFzIGZyYW1lX3N5c3RlbTo6Q29uZmlnPjo6QWNjb3VudElkAAEYYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAYENQFBIHNlYXQgaG9sZGVyIHdhcyBzbGFzaGVkIGJ5IGFtb3VudCBieSBiZWluZyBmb3JjZWZ1bGx5IHJlbW92ZWQgZnJvbSB0aGUgc2V0LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldMAAAALEAMQAAAQIABgAyAxEcGFsbGV0X2NvbGxlY3RpdmUYcGFsbGV0FEV2ZW50CARUAARJAAEcIFByb3Bvc2VkEAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABOHByb3Bvc2FsX2luZGV4EAE0UHJvcG9zYWxJbmRleAABNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEkdGhyZXNob2xkEAEsTWVtYmVyQ291bnQAAAhJAUEgbW90aW9uIChnaXZlbiBoYXNoKSBoYXMgYmVlbiBwcm9wb3NlZCAoYnkgZ2l2ZW4gYWNjb3VudCkgd2l0aCBhIHRocmVzaG9sZCAoZ2l2ZW48YE1lbWJlckNvdW50YCkuFFZvdGVkFAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEUdm90ZWQgARBib29sAAEMeWVzEAEsTWVtYmVyQ291bnQAAQhubxABLE1lbWJlckNvdW50AAEIBQFBIG1vdGlvbiAoZ2l2ZW4gaGFzaCkgaGFzIGJlZW4gdm90ZWQgb24gYnkgZ2l2ZW4gYWNjb3VudCwgbGVhdmluZxUBYSB0YWxseSAoeWVzIHZvdGVzIGFuZCBubyB2b3RlcyBnaXZlbiByZXNwZWN0aXZlbHkgYXMgYE1lbWJlckNvdW50YCkuIEFwcHJvdmVkBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAAgTAQSBtb3Rpb24gd2FzIGFwcHJvdmVkIGJ5IHRoZSByZXF1aXJlZCB0aHJlc2hvbGQuLERpc2FwcHJvdmVkBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAAwTQQSBtb3Rpb24gd2FzIG5vdCBhcHByb3ZlZCBieSB0aGUgcmVxdWlyZWQgdGhyZXNob2xkLiBFeGVjdXRlZAgBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQABAQhAUEgbW90aW9uIHdhcyBleGVjdXRlZDsgcmVzdWx0IHdpbGwgYmUgYE9rYCBpZiBpdCByZXR1cm5lZCB3aXRob3V0IGVycm9yLjhNZW1iZXJFeGVjdXRlZAgBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAEYcmVzdWx0mAE4RGlzcGF0Y2hSZXN1bHQABQRJAUEgc2luZ2xlIG1lbWJlciBkaWQgc29tZSBhY3Rpb247IHJlc3VsdCB3aWxsIGJlIGBPa2AgaWYgaXQgcmV0dXJuZWQgd2l0aG91dCBlcnJvci4YQ2xvc2VkDAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAAQx5ZXMQASxNZW1iZXJDb3VudAABCG5vEAEsTWVtYmVyQ291bnQABgRVAUEgcHJvcG9zYWwgd2FzIGNsb3NlZCBiZWNhdXNlIGl0cyB0aHJlc2hvbGQgd2FzIHJlYWNoZWQgb3IgYWZ0ZXIgaXRzIGR1cmF0aW9uIHdhcyB1cC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTMDERwYWxsZXRfY29sbGVjdGl2ZRhwYWxsZXQURXZlbnQIBFQABEkAARwgUHJvcG9zZWQQARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAE4cHJvcG9zYWxfaW5kZXgQATRQcm9wb3NhbEluZGV4AAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAASR0aHJlc2hvbGQQASxNZW1iZXJDb3VudAAACEkBQSBtb3Rpb24gKGdpdmVuIGhhc2gpIGhhcyBiZWVuIHByb3Bvc2VkIChieSBnaXZlbiBhY2NvdW50KSB3aXRoIGEgdGhyZXNob2xkIChnaXZlbjxgTWVtYmVyQ291bnRgKS4UVm90ZWQUARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAARR2b3RlZCABEGJvb2wAAQx5ZXMQASxNZW1iZXJDb3VudAABCG5vEAEsTWVtYmVyQ291bnQAAQgFAUEgbW90aW9uIChnaXZlbiBoYXNoKSBoYXMgYmVlbiB2b3RlZCBvbiBieSBnaXZlbiBhY2NvdW50LCBsZWF2aW5nFQFhIHRhbGx5ICh5ZXMgdm90ZXMgYW5kIG5vIHZvdGVzIGdpdmVuIHJlc3BlY3RpdmVseSBhcyBgTWVtYmVyQ291bnRgKS4gQXBwcm92ZWQEATRwcm9wb3NhbF9oYXNoNAEcVDo6SGFzaAACBMBBIG1vdGlvbiB3YXMgYXBwcm92ZWQgYnkgdGhlIHJlcXVpcmVkIHRocmVzaG9sZC4sRGlzYXBwcm92ZWQEATRwcm9wb3NhbF9oYXNoNAEcVDo6SGFzaAADBNBBIG1vdGlvbiB3YXMgbm90IGFwcHJvdmVkIGJ5IHRoZSByZXF1aXJlZCB0aHJlc2hvbGQuIEV4ZWN1dGVkCAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAARhyZXN1bHSYAThEaXNwYXRjaFJlc3VsdAAEBCEBQSBtb3Rpb24gd2FzIGV4ZWN1dGVkOyByZXN1bHQgd2lsbCBiZSBgT2tgIGlmIGl0IHJldHVybmVkIHdpdGhvdXQgZXJyb3IuOE1lbWJlckV4ZWN1dGVkCAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAARhyZXN1bHSYAThEaXNwYXRjaFJlc3VsdAAFBEkBQSBzaW5nbGUgbWVtYmVyIGRpZCBzb21lIGFjdGlvbjsgcmVzdWx0IHdpbGwgYmUgYE9rYCBpZiBpdCByZXR1cm5lZCB3aXRob3V0IGVycm9yLhhDbG9zZWQMATRwcm9wb3NhbF9oYXNoNAEcVDo6SGFzaAABDHllcxABLE1lbWJlckNvdW50AAEIbm8QASxNZW1iZXJDb3VudAAGBFUBQSBwcm9wb3NhbCB3YXMgY2xvc2VkIGJlY2F1c2UgaXRzIHRocmVzaG9sZCB3YXMgcmVhY2hlZCBvciBhZnRlciBpdHMgZHVyYXRpb24gd2FzIHVwLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldNAMLHBhbGxldF90aXBzGHBhbGxldBRFdmVudAgEVAAESQABFBhOZXdUaXAEASB0aXBfaGFzaDQBHFQ6Okhhc2gAAASUQSBuZXcgdGlwIHN1Z2dlc3Rpb24gaGFzIGJlZW4gb3BlbmVkLihUaXBDbG9zaW5nBAEgdGlwX2hhc2g0ARxUOjpIYXNoAAEE2EEgdGlwIHN1Z2dlc3Rpb24gaGFzIHJlYWNoZWQgdGhyZXNob2xkIGFuZCBpcyBjbG9zaW5nLiRUaXBDbG9zZWQMASB0aXBfaGFzaDQBHFQ6Okhhc2gAAQx3aG8AATBUOjpBY2NvdW50SWQAARhwYXlvdXQYATxCYWxhbmNlT2Y8VCwgST4AAgSEQSB0aXAgc3VnZ2VzdGlvbiBoYXMgYmVlbiBjbG9zZWQuMFRpcFJldHJhY3RlZAQBIHRpcF9oYXNoNAEcVDo6SGFzaAADBJBBIHRpcCBzdWdnZXN0aW9uIGhhcyBiZWVuIHJldHJhY3RlZC4oVGlwU2xhc2hlZAwBIHRpcF9oYXNoNAEcVDo6SGFzaAABGGZpbmRlcgABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATxCYWxhbmNlT2Y8VCwgST4ABASIQSB0aXAgc3VnZ2VzdGlvbiBoYXMgYmVlbiBzbGFzaGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldNQMMHBhbGxldF9wcm94eRhwYWxsZXQURXZlbnQEBFQAARQ0UHJveHlFeGVjdXRlZAQBGHJlc3VsdJgBOERpc3BhdGNoUmVzdWx0AAAEvEEgcHJveHkgd2FzIGV4ZWN1dGVkIGNvcnJlY3RseSwgd2l0aCB0aGUgZ2l2ZW4uLFB1cmVDcmVhdGVkEAEQcHVyZQABMFQ6OkFjY291bnRJZAABDHdobwABMFQ6OkFjY291bnRJZAABKHByb3h5X3R5cGXYATBUOjpQcm94eVR5cGUAAVBkaXNhbWJpZ3VhdGlvbl9pbmRleNwBDHUxNgABCNxBIHB1cmUgYWNjb3VudCBoYXMgYmVlbiBjcmVhdGVkIGJ5IG5ldyBwcm94eSB3aXRoIGdpdmVukGRpc2FtYmlndWF0aW9uIGluZGV4IGFuZCBwcm94eSB0eXBlLiRBbm5vdW5jZWQMARByZWFsAAEwVDo6QWNjb3VudElkAAEUcHJveHkAATBUOjpBY2NvdW50SWQAASRjYWxsX2hhc2g0ATRDYWxsSGFzaE9mPFQ+AAIE4EFuIGFubm91bmNlbWVudCB3YXMgcGxhY2VkIHRvIG1ha2UgYSBjYWxsIGluIHRoZSBmdXR1cmUuKFByb3h5QWRkZWQQASRkZWxlZ2F0b3IAATBUOjpBY2NvdW50SWQAASRkZWxlZ2F0ZWUAATBUOjpBY2NvdW50SWQAAShwcm94eV90eXBl2AEwVDo6UHJveHlUeXBlAAEUZGVsYXkQAURCbG9ja051bWJlckZvcjxUPgADBEhBIHByb3h5IHdhcyBhZGRlZC4wUHJveHlSZW1vdmVkEAEkZGVsZWdhdG9yAAEwVDo6QWNjb3VudElkAAEkZGVsZWdhdGVlAAEwVDo6QWNjb3VudElkAAEocHJveHlfdHlwZdgBMFQ6OlByb3h5VHlwZQABFGRlbGF5EAFEQmxvY2tOdW1iZXJGb3I8VD4ABARQQSBwcm94eSB3YXMgcmVtb3ZlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTYDDxoeWRyYWR4X3J1bnRpbWUYc3lzdGVtJFByb3h5VHlwZQABGAxBbnkAAAAsQ2FuY2VsUHJveHkAAQAoR292ZXJuYW5jZQACACBUcmFuc2ZlcgADACRMaXF1aWRpdHkABAA8TGlxdWlkaXR5TWluaW5nAAUAANwAAAUEAOAMPHBhbGxldF9tdWx0aXNpZxhwYWxsZXQURXZlbnQEBFQAARAsTmV3TXVsdGlzaWcMASRhcHByb3ZpbmcAATBUOjpBY2NvdW50SWQAASBtdWx0aXNpZwABMFQ6OkFjY291bnRJZAABJGNhbGxfaGFzaAQBIENhbGxIYXNoAAAEjEEgbmV3IG11bHRpc2lnIG9wZXJhdGlvbiBoYXMgYmVndW4uQE11bHRpc2lnQXBwcm92YWwQASRhcHByb3ZpbmcAATBUOjpBY2NvdW50SWQAASR0aW1lcG9pbnTkAXBUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+AAEgbXVsdGlzaWcAATBUOjpBY2NvdW50SWQAASRjYWxsX2hhc2gEASBDYWxsSGFzaAABBMhBIG11bHRpc2lnIG9wZXJhdGlvbiBoYXMgYmVlbiBhcHByb3ZlZCBieSBzb21lb25lLkBNdWx0aXNpZ0V4ZWN1dGVkFAEkYXBwcm92aW5nAAEwVDo6QWNjb3VudElkAAEkdGltZXBvaW505AFwVGltZXBvaW50PEJsb2NrTnVtYmVyRm9yPFQ+PgABIG11bHRpc2lnAAEwVDo6QWNjb3VudElkAAEkY2FsbF9oYXNoBAEgQ2FsbEhhc2gAARhyZXN1bHSYAThEaXNwYXRjaFJlc3VsdAACBJxBIG11bHRpc2lnIG9wZXJhdGlvbiBoYXMgYmVlbiBleGVjdXRlZC5ETXVsdGlzaWdDYW5jZWxsZWQQAShjYW5jZWxsaW5nAAEwVDo6QWNjb3VudElkAAEkdGltZXBvaW505AFwVGltZXBvaW50PEJsb2NrTnVtYmVyRm9yPFQ+PgABIG11bHRpc2lnAAEwVDo6QWNjb3VudElkAAEkY2FsbF9oYXNoBAEgQ2FsbEhhc2gAAwSgQSBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZW4gY2FuY2VsbGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldOQIPHBhbGxldF9tdWx0aXNpZyRUaW1lcG9pbnQELEJsb2NrTnVtYmVyARAACAEYaGVpZ2h0EAEsQmxvY2tOdW1iZXIAARRpbmRleBABDHUzMgAA6Aw4cGFsbGV0X3VuaXF1ZXMYcGFsbGV0FEV2ZW50CARUAARJAAFsHENyZWF0ZWQMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEcY3JlYXRvcgABMFQ6OkFjY291bnRJZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAAEbEEgYGNvbGxlY3Rpb25gIHdhcyBjcmVhdGVkLjBGb3JjZUNyZWF0ZWQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAAQSEQSBgY29sbGVjdGlvbmAgd2FzIGZvcmNlLWNyZWF0ZWQuJERlc3Ryb3llZAQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAAgR0QSBgY29sbGVjdGlvbmAgd2FzIGRlc3Ryb3llZC4YSXNzdWVkDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAADBFRBbiBgaXRlbWAgd2FzIGlzc3VlZC4sVHJhbnNmZXJyZWQQAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABEGZyb20AATBUOjpBY2NvdW50SWQAAQh0bwABMFQ6OkFjY291bnRJZAAEBGhBbiBgaXRlbWAgd2FzIHRyYW5zZmVycmVkLhhCdXJuZWQMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAUEYEFuIGBpdGVtYCB3YXMgZGVzdHJveWVkLhhGcm96ZW4IAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAAGBFxTb21lIGBpdGVtYCB3YXMgZnJvemVuLhhUaGF3ZWQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAAHBFxTb21lIGBpdGVtYCB3YXMgdGhhd2VkLkBDb2xsZWN0aW9uRnJvemVuBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAIBHRTb21lIGBjb2xsZWN0aW9uYCB3YXMgZnJvemVuLkBDb2xsZWN0aW9uVGhhd2VkBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAJBHRTb21lIGBjb2xsZWN0aW9uYCB3YXMgdGhhd2VkLjBPd25lckNoYW5nZWQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEkbmV3X293bmVyAAEwVDo6QWNjb3VudElkAAoESFRoZSBvd25lciBjaGFuZ2VkLixUZWFtQ2hhbmdlZBABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARhpc3N1ZXIAATBUOjpBY2NvdW50SWQAARRhZG1pbgABMFQ6OkFjY291bnRJZAABHGZyZWV6ZXIAATBUOjpBY2NvdW50SWQACwRwVGhlIG1hbmFnZW1lbnQgdGVhbSBjaGFuZ2VkLkBBcHByb3ZlZFRyYW5zZmVyEAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABIGRlbGVnYXRlAAEwVDo6QWNjb3VudElkAAwIMQFBbiBgaXRlbWAgb2YgYSBgY29sbGVjdGlvbmAgaGFzIGJlZW4gYXBwcm92ZWQgYnkgdGhlIGBvd25lcmAgZm9yIHRyYW5zZmVyIGJ5NGEgYGRlbGVnYXRlYC5EQXBwcm92YWxDYW5jZWxsZWQQAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAEgZGVsZWdhdGUAATBUOjpBY2NvdW50SWQADQgZAUFuIGFwcHJvdmFsIGZvciBhIGBkZWxlZ2F0ZWAgYWNjb3VudCB0byB0cmFuc2ZlciB0aGUgYGl0ZW1gIG9mIGFuIGl0ZW2oYGNvbGxlY3Rpb25gIHdhcyBjYW5jZWxsZWQgYnkgaXRzIGBvd25lcmAuREl0ZW1TdGF0dXNDaGFuZ2VkBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAOBBEBQSBgY29sbGVjdGlvbmAgaGFzIGhhZCBpdHMgYXR0cmlidXRlcyBjaGFuZ2VkIGJ5IHRoZSBgRm9yY2VgIG9yaWdpbi5UQ29sbGVjdGlvbk1ldGFkYXRhU2V0DAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGRhdGHsAXhCb3VuZGVkVmVjPHU4LCBUOjpTdHJpbmdMaW1pdD4AASRpc19mcm96ZW4gARBib29sAA8EtE5ldyBtZXRhZGF0YSBoYXMgYmVlbiBzZXQgZm9yIGEgYGNvbGxlY3Rpb25gLmRDb2xsZWN0aW9uTWV0YWRhdGFDbGVhcmVkBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAQBLRNZXRhZGF0YSBoYXMgYmVlbiBjbGVhcmVkIGZvciBhIGBjb2xsZWN0aW9uYC4sTWV0YWRhdGFTZXQQAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABEGRhdGHsAXhCb3VuZGVkVmVjPHU4LCBUOjpTdHJpbmdMaW1pdD4AASRpc19mcm96ZW4gARBib29sABEEmE5ldyBtZXRhZGF0YSBoYXMgYmVlbiBzZXQgZm9yIGFuIGl0ZW0uPE1ldGFkYXRhQ2xlYXJlZAgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkABIEmE1ldGFkYXRhIGhhcyBiZWVuIGNsZWFyZWQgZm9yIGFuIGl0ZW0uLFJlZGVwb3NpdGVkCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABQHN1Y2Nlc3NmdWxfaXRlbXPwAThWZWM8VDo6SXRlbUlkPgATBJhNZXRhZGF0YSBoYXMgYmVlbiBjbGVhcmVkIGZvciBhbiBpdGVtLjBBdHRyaWJ1dGVTZXQQAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEobWF5YmVfaXRlbfQBRE9wdGlvbjxUOjpJdGVtSWQ+AAEMa2V5+AFsQm91bmRlZFZlYzx1OCwgVDo6S2V5TGltaXQ+AAEUdmFsdWX8AXRCb3VuZGVkVmVjPHU4LCBUOjpWYWx1ZUxpbWl0PgAUBAUBTmV3IGF0dHJpYnV0ZSBtZXRhZGF0YSBoYXMgYmVlbiBzZXQgZm9yIGEgYGNvbGxlY3Rpb25gIG9yIGBpdGVtYC5AQXR0cmlidXRlQ2xlYXJlZAwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAAShtYXliZV9pdGVt9AFET3B0aW9uPFQ6Okl0ZW1JZD4AAQxrZXn4AWxCb3VuZGVkVmVjPHU4LCBUOjpLZXlMaW1pdD4AFQQFAUF0dHJpYnV0ZSBtZXRhZGF0YSBoYXMgYmVlbiBjbGVhcmVkIGZvciBhIGBjb2xsZWN0aW9uYCBvciBgaXRlbWAuaE93bmVyc2hpcEFjY2VwdGFuY2VDaGFuZ2VkCAEMd2hvAAEwVDo6QWNjb3VudElkAAFAbWF5YmVfY29sbGVjdGlvbvQBXE9wdGlvbjxUOjpDb2xsZWN0aW9uSWQ+ABYEwE93bmVyc2hpcCBhY2NlcHRhbmNlIGhhcyBjaGFuZ2VkIGZvciBhbiBhY2NvdW50LlhDb2xsZWN0aW9uTWF4U3VwcGx5U2V0CAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABKG1heF9zdXBwbHkQAQx1MzIAFwSkTWF4IHN1cHBseSBoYXMgYmVlbiBzZXQgZm9yIGEgY29sbGVjdGlvbi4wSXRlbVByaWNlU2V0EAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRwcmljZRgBPEl0ZW1QcmljZTxULCBJPgABRHdoaXRlbGlzdGVkX2J1eWVyAQEBUE9wdGlvbjxUOjpBY2NvdW50SWQ+ABgEjFRoZSBwcmljZSB3YXMgc2V0IGZvciB0aGUgaW5zdGFuY2UuQEl0ZW1QcmljZVJlbW92ZWQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAAZBJxUaGUgcHJpY2UgZm9yIHRoZSBpbnN0YW5jZSB3YXMgcmVtb3ZlZC4oSXRlbUJvdWdodBQBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUcHJpY2UYATxJdGVtUHJpY2U8VCwgST4AARhzZWxsZXIAATBUOjpBY2NvdW50SWQAARRidXllcgABMFQ6OkFjY291bnRJZAAaBExBbiBpdGVtIHdhcyBib3VnaHQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV07AxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAPAAAAIYAPQEGE9wdGlvbgQEVAEYAQgQTm9uZQAAABBTb21lBAAYAAABAAD4DExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAA/AxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAAEBBBhPcHRpb24EBFQBAAEIEE5vbmUAAAAQU29tZQQAAAAAAQAABQEMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQURXZlbnQEBFQAARAgTWlncmF0ZWQMAQx0b3AQAQx1MzIAARRjaGlsZBABDHUzMgABHGNvbXB1dGUJAQFATWlncmF0aW9uQ29tcHV0ZQAACDkBR2l2ZW4gbnVtYmVyIG9mIGAodG9wLCBjaGlsZClgIGtleXMgd2VyZSBtaWdyYXRlZCByZXNwZWN0aXZlbHksIHdpdGggdGhlIGdpdmVuKGBjb21wdXRlYC4cU2xhc2hlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgABBLRTb21lIGFjY291bnQgZ290IHNsYXNoZWQgYnkgdGhlIGdpdmVuIGFtb3VudC5UQXV0b01pZ3JhdGlvbkZpbmlzaGVkAAIEhFRoZSBhdXRvIG1pZ3JhdGlvbiB0YXNrIGZpbmlzaGVkLhhIYWx0ZWQEARRlcnJvcg0BASBFcnJvcjxUPgADBOxNaWdyYXRpb24gZ290IGhhbHRlZCBkdWUgdG8gYW4gZXJyb3Igb3IgbWlzcy1jb25maWd1cmF0aW9uLgRwSW5uZXIgZXZlbnRzIG9mIHRoaXMgcGFsbGV0LgkBDGxwYWxsZXRfc3RhdGVfdHJpZV9taWdyYXRpb24YcGFsbGV0QE1pZ3JhdGlvbkNvbXB1dGUAAQgYU2lnbmVkAAAAEEF1dG8AAQAADQEMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQURXJyb3IEBFQAARg8TWF4U2lnbmVkTGltaXRzAAAEgE1heCBzaWduZWQgbGltaXRzIG5vdCByZXNwZWN0ZWQuKEtleVRvb0xvbmcAARy0QSBrZXkgd2FzIGxvbmdlciB0aGFuIHRoZSBjb25maWd1cmVkIG1heGltdW0uABEBVGhpcyBtZWFucyB0aGF0IHRoZSBtaWdyYXRpb24gaGFsdGVkIGF0IHRoZSBjdXJyZW50IFtgUHJvZ3Jlc3NgXSBhbmQBAWNhbiBiZSByZXN1bWVkIHdpdGggYSBsYXJnZXIgW2BjcmF0ZTo6Q29uZmlnOjpNYXhLZXlMZW5gXSB2YWx1ZS4hAVJldHJ5aW5nIHdpdGggdGhlIHNhbWUgW2BjcmF0ZTo6Q29uZmlnOjpNYXhLZXlMZW5gXSB2YWx1ZSB3aWxsIG5vdCB3b3JrLkUBVGhlIHZhbHVlIHNob3VsZCBvbmx5IGJlIGluY3JlYXNlZCB0byBhdm9pZCBhIHN0b3JhZ2UgbWlncmF0aW9uIGZvciB0aGUgY3VycmVudGx5kHN0b3JlZCBbYGNyYXRlOjpQcm9ncmVzczo6TGFzdEtleWBdLjhOb3RFbm91Z2hGdW5kcwACBJRzdWJtaXR0ZXIgZG9lcyBub3QgaGF2ZSBlbm91Z2ggZnVuZHMuKEJhZFdpdG5lc3MAAwRoQmFkIHdpdG5lc3MgZGF0YSBwcm92aWRlZC5kU2lnbmVkTWlncmF0aW9uTm90QWxsb3dlZAAEBCUBU2lnbmVkIG1pZ3JhdGlvbiBpcyBub3QgYWxsb3dlZCBiZWNhdXNlIHRoZSBtYXhpbXVtIGxpbWl0IGlzIG5vdCBzZXQgeWV0LjBCYWRDaGlsZFJvb3QABQRgQmFkIGNoaWxkIHJvb3QgcHJvdmlkZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LhEBDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcYcGFsbGV0FEV2ZW50CARUAARJAAEQJERlbGVnYXRlZAgAAAEwVDo6QWNjb3VudElkAAAAATBUOjpBY2NvdW50SWQAAAQdAUFuIGFjY291bnQgaGFzIGRlbGVnYXRlZCB0aGVpciB2b3RlIHRvIGFub3RoZXIgYWNjb3VudC4gXFt3aG8sIHRhcmdldFxdLFVuZGVsZWdhdGVkBAAAATBUOjpBY2NvdW50SWQAAQT0QW4gXFthY2NvdW50XF0gaGFzIGNhbmNlbGxlZCBhIHByZXZpb3VzIGRlbGVnYXRpb24gb3BlcmF0aW9uLhRWb3RlZAgBDHdobwABMFQ6OkFjY291bnRJZAABEHZvdGUVAQFwQWNjb3VudFZvdGU8QmFsYW5jZU9mPFQsIEk+PgACBGRBbiBhY2NvdW50IHRoYXQgaGFzIHZvdGVkLFZvdGVSZW1vdmVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEQdm90ZRUBAXBBY2NvdW50Vm90ZTxCYWxhbmNlT2Y8VCwgST4+AAMEYEEgdm90ZSB0aGF0IGJlZW4gcmVtb3ZlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldBUBDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcQdm90ZSxBY2NvdW50Vm90ZQQcQmFsYW5jZQEYAQwgU3RhbmRhcmQIARB2b3RlGQEBEFZvdGUAARxiYWxhbmNlGAEcQmFsYW5jZQAAABRTcGxpdAgBDGF5ZRgBHEJhbGFuY2UAAQxuYXkYARxCYWxhbmNlAAEAMFNwbGl0QWJzdGFpbgwBDGF5ZRgBHEJhbGFuY2UAAQxuYXkYARxCYWxhbmNlAAEcYWJzdGFpbhgBHEJhbGFuY2UAAgAAGQEMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxB2b3RlEFZvdGUAAAQACAAAAB0BDEBwYWxsZXRfcmVmZXJlbmRhGHBhbGxldBRFdmVudAgEVAAESQABQCRTdWJtaXR0ZWQMARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uARR0cmFja9wBPFRyYWNrSWRPZjxULCBJPgQlAVRoZSB0cmFjayAoYW5kIGJ5IGV4dGVuc2lvbiBwcm9wb3NhbCBkaXNwYXRjaCBvcmlnaW4pIG9mIHRoaXMgcmVmZXJlbmR1bS4BIHByb3Bvc2FsIQEBTEJvdW5kZWRDYWxsT2Y8VCwgST4EgFRoZSBwcm9wb3NhbCBmb3IgdGhlIHJlZmVyZW5kdW0uAASAQSByZWZlcmVuZHVtIGhhcyBiZWVuIHN1Ym1pdHRlZC5URGVjaXNpb25EZXBvc2l0UGxhY2VkDAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEMd2hvAAEwVDo6QWNjb3VudElkBIxUaGUgYWNjb3VudCB3aG8gcGxhY2VkIHRoZSBkZXBvc2l0LgEYYW1vdW50GAE8QmFsYW5jZU9mPFQsIEk+BIRUaGUgYW1vdW50IHBsYWNlZCBieSB0aGUgYWNjb3VudC4BBJRUaGUgZGVjaXNpb24gZGVwb3NpdCBoYXMgYmVlbiBwbGFjZWQuXERlY2lzaW9uRGVwb3NpdFJlZnVuZGVkDAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEMd2hvAAEwVDo6QWNjb3VudElkBIxUaGUgYWNjb3VudCB3aG8gcGxhY2VkIHRoZSBkZXBvc2l0LgEYYW1vdW50GAE8QmFsYW5jZU9mPFQsIEk+BIRUaGUgYW1vdW50IHBsYWNlZCBieSB0aGUgYWNjb3VudC4CBJxUaGUgZGVjaXNpb24gZGVwb3NpdCBoYXMgYmVlbiByZWZ1bmRlZC44RGVwb3NpdFNsYXNoZWQIAQx3aG8AATBUOjpBY2NvdW50SWQEjFRoZSBhY2NvdW50IHdobyBwbGFjZWQgdGhlIGRlcG9zaXQuARhhbW91bnQYATxCYWxhbmNlT2Y8VCwgST4EhFRoZSBhbW91bnQgcGxhY2VkIGJ5IHRoZSBhY2NvdW50LgMEbEEgZGVwb3NpdCBoYXMgYmVlbiBzbGFzaGVkLjxEZWNpc2lvblN0YXJ0ZWQQARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uARR0cmFja9wBPFRyYWNrSWRPZjxULCBJPgQlAVRoZSB0cmFjayAoYW5kIGJ5IGV4dGVuc2lvbiBwcm9wb3NhbCBkaXNwYXRjaCBvcmlnaW4pIG9mIHRoaXMgcmVmZXJlbmR1bS4BIHByb3Bvc2FsIQEBTEJvdW5kZWRDYWxsT2Y8VCwgST4EgFRoZSBwcm9wb3NhbCBmb3IgdGhlIHJlZmVyZW5kdW0uARR0YWxseWEGASBUOjpUYWxseQS4VGhlIGN1cnJlbnQgdGFsbHkgb2Ygdm90ZXMgaW4gdGhpcyByZWZlcmVuZHVtLgQEvEEgcmVmZXJlbmR1bSBoYXMgbW92ZWQgaW50byB0aGUgZGVjaWRpbmcgcGhhc2UuOENvbmZpcm1TdGFydGVkBAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgUAOENvbmZpcm1BYm9ydGVkBAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgYAJENvbmZpcm1lZAgBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BFHRhbGx5YQYBIFQ6OlRhbGx5BLBUaGUgZmluYWwgdGFsbHkgb2Ygdm90ZXMgaW4gdGhpcyByZWZlcmVuZHVtLgcEIQFBIHJlZmVyZW5kdW0gaGFzIGVuZGVkIGl0cyBjb25maXJtYXRpb24gcGhhc2UgYW5kIGlzIHJlYWR5IGZvciBhcHByb3ZhbC4gQXBwcm92ZWQEARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uCAQNAUEgcmVmZXJlbmR1bSBoYXMgYmVlbiBhcHByb3ZlZCBhbmQgaXRzIHByb3Bvc2FsIGhhcyBiZWVuIHNjaGVkdWxlZC4gUmVqZWN0ZWQIARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uARR0YWxseWEGASBUOjpUYWxseQSwVGhlIGZpbmFsIHRhbGx5IG9mIHZvdGVzIGluIHRoaXMgcmVmZXJlbmR1bS4JBKxBIHByb3Bvc2FsIGhhcyBiZWVuIHJlamVjdGVkIGJ5IHJlZmVyZW5kdW0uIFRpbWVkT3V0CAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEUdGFsbHlhBgEgVDo6VGFsbHkEsFRoZSBmaW5hbCB0YWxseSBvZiB2b3RlcyBpbiB0aGlzIHJlZmVyZW5kdW0uCgTYQSByZWZlcmVuZHVtIGhhcyBiZWVuIHRpbWVkIG91dCB3aXRob3V0IGJlaW5nIGRlY2lkZWQuJENhbmNlbGxlZAgBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BFHRhbGx5YQYBIFQ6OlRhbGx5BLBUaGUgZmluYWwgdGFsbHkgb2Ygdm90ZXMgaW4gdGhpcyByZWZlcmVuZHVtLgsEgEEgcmVmZXJlbmR1bSBoYXMgYmVlbiBjYW5jZWxsZWQuGEtpbGxlZAgBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BFHRhbGx5YQYBIFQ6OlRhbGx5BLBUaGUgZmluYWwgdGFsbHkgb2Ygdm90ZXMgaW4gdGhpcyByZWZlcmVuZHVtLgwEdEEgcmVmZXJlbmR1bSBoYXMgYmVlbiBraWxsZWQuZFN1Ym1pc3Npb25EZXBvc2l0UmVmdW5kZWQMARRpbmRleBABPFJlZmVyZW5kdW1JbmRleARgSW5kZXggb2YgdGhlIHJlZmVyZW5kdW0uAQx3aG8AATBUOjpBY2NvdW50SWQEjFRoZSBhY2NvdW50IHdobyBwbGFjZWQgdGhlIGRlcG9zaXQuARhhbW91bnQYATxCYWxhbmNlT2Y8VCwgST4EhFRoZSBhbW91bnQgcGxhY2VkIGJ5IHRoZSBhY2NvdW50Lg0EpFRoZSBzdWJtaXNzaW9uIGRlcG9zaXQgaGFzIGJlZW4gcmVmdW5kZWQuLE1ldGFkYXRhU2V0CAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgEYEluZGV4IG9mIHRoZSByZWZlcmVuZHVtLgEQaGFzaDQBHFQ6Okhhc2gEOFByZWltYWdlIGhhc2guDgScTWV0YWRhdGEgZm9yIGEgcmVmZXJlbmR1bSBoYXMgYmVlbiBzZXQuPE1ldGFkYXRhQ2xlYXJlZAgBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4BGBJbmRleCBvZiB0aGUgcmVmZXJlbmR1bS4BEGhhc2g0ARxUOjpIYXNoBDhQcmVpbWFnZSBoYXNoLg8ErE1ldGFkYXRhIGZvciBhIHJlZmVyZW5kdW0gaGFzIGJlZW4gY2xlYXJlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQhARA0ZnJhbWVfc3VwcG9ydBh0cmFpdHMkcHJlaW1hZ2VzHEJvdW5kZWQIBFQBJQEESAFZBgEMGExlZ2FjeQQBEGhhc2g0ASRIOjpPdXRwdXQAAAAYSW5saW5lBABdBgE0Qm91bmRlZElubGluZQABABhMb29rdXAIARBoYXNoNAEkSDo6T3V0cHV0AAEMbGVuEAEMdTMyAAIAACUBCDxoeWRyYWR4X3J1bnRpbWUsUnVudGltZUNhbGwAAfwYU3lzdGVtBAApAQGtAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxTeXN0ZW0sIFJ1bnRpbWU+AAEAJFRpbWVzdGFtcAQAOQEBuQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8VGltZXN0YW1wLCBSdW50aW1lPgADACBCYWxhbmNlcwQAPQEBtQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8QmFsYW5jZXMsIFJ1bnRpbWU+AAcAXE11bHRpVHJhbnNhY3Rpb25QYXltZW50BABNAQHxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudCwgUnVudGltZT4AywAgVHJlYXN1cnkEAGUBAbUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFRyZWFzdXJ5LCBSdW50aW1lPgALABxVdGlsaXR5BABxAQGxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxVdGlsaXR5LCBSdW50aW1lPgANACBQcmVpbWFnZQQA3QEBtQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8UHJlaW1hZ2UsIFJ1bnRpbWU+AA8AIElkZW50aXR5BADlAQG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxJZGVudGl0eSwgUnVudGltZT4AEQAkRGVtb2NyYWN5BACVAgG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxEZW1vY3JhY3ksIFJ1bnRpbWU+ABMAJEVsZWN0aW9ucwQAoQIBuQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RWxlY3Rpb25zLCBSdW50aW1lPgAVABxDb3VuY2lsBACpAgGxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxDb3VuY2lsLCBSdW50aW1lPgAXAEhUZWNobmljYWxDb21taXR0ZWUEAK0CAd0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFRlY2huaWNhbENvbW1pdHRlZSwgUnVudGltZT4AGQAQVGlwcwQAsQIBpQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8VGlwcywgUnVudGltZT4AGwAUUHJveHkEALUCAakBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFByb3h5LCBSdW50aW1lPgAdACBNdWx0aXNpZwQAvQIBtQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8TXVsdGlzaWcsIFJ1bnRpbWU+AB8AHFVuaXF1ZXMEAMUCAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFVuaXF1ZXMsIFJ1bnRpbWU+ACAASFN0YXRlVHJpZU1pZ3JhdGlvbgQAzQIB3QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8U3RhdGVUcmllTWlncmF0aW9uLCBSdW50aW1lPgAjAEBDb252aWN0aW9uVm90aW5nBADlAgHVAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxDb252aWN0aW9uVm90aW5nLCBSdW50aW1lPgAkACRSZWZlcmVuZGEEAPECAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFJlZmVyZW5kYSwgUnVudGltZT4AJQAkV2hpdGVsaXN0BAD5AgG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxXaGl0ZWxpc3QsIFJ1bnRpbWU+ACcAKERpc3BhdGNoZXIEAP0CAb0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPERpc3BhdGNoZXIsIFJ1bnRpbWU+ACgANEFzc2V0UmVnaXN0cnkEAAEDAckBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEFzc2V0UmVnaXN0cnksIFJ1bnRpbWU+ADMAGENsYWltcwQAOQMBrQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q2xhaW1zLCBSdW50aW1lPgA1ADhHZW5lc2lzSGlzdG9yeQQAQQMBzQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8R2VuZXNpc0hpc3RvcnksIFJ1bnRpbWU+ADcAIE9tbmlwb29sBABFAwG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxPbW5pcG9vbCwgUnVudGltZT4AOwBAVHJhbnNhY3Rpb25QYXVzZQQAVQMB1QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8VHJhbnNhY3Rpb25QYXVzZSwgUnVudGltZT4APAAYRHVzdGVyBABZAwGtAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxEdXN0ZXIsIFJ1bnRpbWU+AD0ATE9tbmlwb29sV2FyZWhvdXNlTE0EAF0DAeEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPE9tbmlwb29sV2FyZWhvdXNlTE0sIFJ1bnRpbWU+AD4AXE9tbmlwb29sTGlxdWlkaXR5TWluaW5nBABhAwHxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxPbW5pcG9vbExpcXVpZGl0eU1pbmluZywgUnVudGltZT4APwAMT1RDBACVAwGhAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxPVEMsIFJ1bnRpbWU+AEAAOENpcmN1aXRCcmVha2VyBACZAwHNAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxDaXJjdWl0QnJlYWtlciwgUnVudGltZT4AQQAYUm91dGVyBAChAwGtAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxSb3V0ZXIsIFJ1bnRpbWU+AEMALER5bmFtaWNGZWVzBAC5AwHBAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxEeW5hbWljRmVlcywgUnVudGltZT4ARAAcU3Rha2luZwQAvQMBsQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8U3Rha2luZywgUnVudGltZT4ARQAoU3RhYmxlc3dhcAQAwQMBvQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8U3RhYmxlc3dhcCwgUnVudGltZT4ARgAUQm9uZHMEAOEDAakBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEJvbmRzLCBSdW50aW1lPgBHADhPdGNTZXR0bGVtZW50cwQA5QMBzQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8T3RjU2V0dGxlbWVudHMsIFJ1bnRpbWU+AEgADExCUAQA6QMBoQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8TEJQLCBSdW50aW1lPgBJAAxYWUsEAPUDAaEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFhZSywgUnVudGltZT4ASgAkUmVmZXJyYWxzBAD5AwG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxSZWZlcnJhbHMsIFJ1bnRpbWU+AEsALExpcXVpZGF0aW9uBAAJBAHBAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxMaXF1aWRhdGlvbiwgUnVudGltZT4ATAAYVG9rZW5zBAANBAGtAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxUb2tlbnMsIFJ1bnRpbWU+AE0AKEN1cnJlbmNpZXMEABEEAb0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEN1cnJlbmNpZXMsIFJ1bnRpbWU+AE8AHFZlc3RpbmcEABkEAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFZlc3RpbmcsIFJ1bnRpbWU+AFEADEVWTQQAJQQBoQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RVZNLCBSdW50aW1lPgBaACBFdGhlcmV1bQQANQQBtQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RXRoZXJldW0sIFJ1bnRpbWU+AFwALEVWTUFjY291bnRzBABdBAHBAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxFVk1BY2NvdW50cywgUnVudGltZT4AXQBIWFlLTGlxdWlkaXR5TWluaW5nBABhBAHdAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxYWUtMaXF1aWRpdHlNaW5pbmcsIFJ1bnRpbWU+AF8AOFhZS1dhcmVob3VzZUxNBABxBAHNAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxYWUtXYXJlaG91c2VMTSwgUnVudGltZT4AYAA4UmVsYXlDaGFpbkluZm8EAHUEAc0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFJlbGF5Q2hhaW5JbmZvLCBSdW50aW1lPgDJAAxEQ0EEAHkEAaEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPERDQSwgUnVudGltZT4AQgAkU2NoZWR1bGVyBACJBAG5AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxTY2hlZHVsZXIsIFJ1bnRpbWU+AAUAPFBhcmFjaGFpblN5c3RlbQQAjQQB0QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8UGFyYWNoYWluU3lzdGVtLCBSdW50aW1lPgBnADRQYXJhY2hhaW5JbmZvBADBBAHJAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQYXJhY2hhaW5JbmZvLCBSdW50aW1lPgBpACxQb2xrYWRvdFhjbQQAxQQBwQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8UG9sa2Fkb3RYY20sIFJ1bnRpbWU+AGsAKEN1bXVsdXNYY20EACUGAb0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEN1bXVsdXNYY20sIFJ1bnRpbWU+AG0AME1lc3NhZ2VRdWV1ZQQAKQYBxQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8TWVzc2FnZVF1ZXVlLCBSdW50aW1lPgByABxPcm1sWGNtBAAxBgGxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxPcm1sWGNtLCBSdW50aW1lPgCHABxYVG9rZW5zBAA1BgGxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxYVG9rZW5zLCBSdW50aW1lPgCJAERDb2xsYXRvclNlbGVjdGlvbgQAQQYB2QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q29sbGF0b3JTZWxlY3Rpb24sIFJ1bnRpbWU+AKMAHFNlc3Npb24EAEUGAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFNlc3Npb24sIFJ1bnRpbWU+AKUAJEVtYU9yYWNsZQQAUQYBuQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RW1hT3JhY2xlLCBSdW50aW1lPgDKACRCcm9hZGNhc3QEAFUGAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEJyb2FkY2FzdCwgUnVudGltZT4AzAAAKQEMMGZyYW1lX3N5c3RlbRhwYWxsZXQQQ2FsbAQEVAABLBhyZW1hcmsEARhyZW1hcms4ARxWZWM8dTg+AAAMaE1ha2Ugc29tZSBvbi1jaGFpbiByZW1hcmsuAIhDYW4gYmUgZXhlY3V0ZWQgYnkgZXZlcnkgYG9yaWdpbmAuOHNldF9oZWFwX3BhZ2VzBAEUcGFnZXMwAQx1NjQAAQT4U2V0IHRoZSBudW1iZXIgb2YgcGFnZXMgaW4gdGhlIFdlYkFzc2VtYmx5IGVudmlyb25tZW50J3MgaGVhcC4gc2V0X2NvZGUEARBjb2RlOAEcVmVjPHU4PgACBGRTZXQgdGhlIG5ldyBydW50aW1lIGNvZGUuXHNldF9jb2RlX3dpdGhvdXRfY2hlY2tzBAEQY29kZTgBHFZlYzx1OD4AAxAZAVNldCB0aGUgbmV3IHJ1bnRpbWUgY29kZSB3aXRob3V0IGRvaW5nIGFueSBjaGVja3Mgb2YgdGhlIGdpdmVuIGBjb2RlYC4AUQFOb3RlIHRoYXQgcnVudGltZSB1cGdyYWRlcyB3aWxsIG5vdCBydW4gaWYgdGhpcyBpcyBjYWxsZWQgd2l0aCBhIG5vdC1pbmNyZWFzaW5nIHNwZWMgdmVyc2lvbiEsc2V0X3N0b3JhZ2UEARRpdGVtcy0BATRWZWM8S2V5VmFsdWU+AAQEaFNldCBzb21lIGl0ZW1zIG9mIHN0b3JhZ2UuMGtpbGxfc3RvcmFnZQQBEGtleXM1AQEgVmVjPEtleT4ABQR0S2lsbCBzb21lIGl0ZW1zIGZyb20gc3RvcmFnZS4sa2lsbF9wcmVmaXgIARhwcmVmaXg4AQxLZXkAARxzdWJrZXlzEAEMdTMyAAYQEQFLaWxsIGFsbCBzdG9yYWdlIGl0ZW1zIHdpdGggYSBrZXkgdGhhdCBzdGFydHMgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4LgA5ASoqTk9URToqKiBXZSByZWx5IG9uIHRoZSBSb290IG9yaWdpbiB0byBwcm92aWRlIHVzIHRoZSBudW1iZXIgb2Ygc3Via2V5cyB1bmRlcj0BdGhlIHByZWZpeCB3ZSBhcmUgcmVtb3ZpbmcgdG8gYWNjdXJhdGVseSBjYWxjdWxhdGUgdGhlIHdlaWdodCBvZiB0aGlzIGZ1bmN0aW9uLkRyZW1hcmtfd2l0aF9ldmVudAQBGHJlbWFyazgBHFZlYzx1OD4ABwSkTWFrZSBzb21lIG9uLWNoYWluIHJlbWFyayBhbmQgZW1pdCBldmVudC5EYXV0aG9yaXplX3VwZ3JhZGUEASRjb2RlX2hhc2g0ARxUOjpIYXNoAAkQYQFBdXRob3JpemUgYW4gdXBncmFkZSB0byBhIGdpdmVuIGBjb2RlX2hhc2hgIGZvciB0aGUgcnVudGltZS4gVGhlIHJ1bnRpbWUgY2FuIGJlIHN1cHBsaWVkGGxhdGVyLgB8VGhpcyBjYWxsIHJlcXVpcmVzIFJvb3Qgb3JpZ2luLoBhdXRob3JpemVfdXBncmFkZV93aXRob3V0X2NoZWNrcwQBJGNvZGVfaGFzaDQBHFQ6Okhhc2gACiBhAUF1dGhvcml6ZSBhbiB1cGdyYWRlIHRvIGEgZ2l2ZW4gYGNvZGVfaGFzaGAgZm9yIHRoZSBydW50aW1lLiBUaGUgcnVudGltZSBjYW4gYmUgc3VwcGxpZWQYbGF0ZXIuAF0BV0FSTklORzogVGhpcyBhdXRob3JpemVzIGFuIHVwZ3JhZGUgdGhhdCB3aWxsIHRha2UgcGxhY2Ugd2l0aG91dCBhbnkgc2FmZXR5IGNoZWNrcywgZm9yWQFleGFtcGxlIHRoYXQgdGhlIHNwZWMgbmFtZSByZW1haW5zIHRoZSBzYW1lIGFuZCB0aGF0IHRoZSB2ZXJzaW9uIG51bWJlciBpbmNyZWFzZXMuIE5vdPByZWNvbW1lbmRlZCBmb3Igbm9ybWFsIHVzZS4gVXNlIGBhdXRob3JpemVfdXBncmFkZWAgaW5zdGVhZC4AfFRoaXMgY2FsbCByZXF1aXJlcyBSb290IG9yaWdpbi5gYXBwbHlfYXV0aG9yaXplZF91cGdyYWRlBAEQY29kZTgBHFZlYzx1OD4ACyRVAVByb3ZpZGUgdGhlIHByZWltYWdlIChydW50aW1lIGJpbmFyeSkgYGNvZGVgIGZvciBhbiB1cGdyYWRlIHRoYXQgaGFzIGJlZW4gYXV0aG9yaXplZC4ASQFJZiB0aGUgYXV0aG9yaXphdGlvbiByZXF1aXJlZCBhIHZlcnNpb24gY2hlY2ssIHRoaXMgY2FsbCB3aWxsIGVuc3VyZSB0aGUgc3BlYyBuYW1l6HJlbWFpbnMgdW5jaGFuZ2VkIGFuZCB0aGF0IHRoZSBzcGVjIHZlcnNpb24gaGFzIGluY3JlYXNlZC4AWQFEZXBlbmRpbmcgb24gdGhlIHJ1bnRpbWUncyBgT25TZXRDb2RlYCBjb25maWd1cmF0aW9uLCB0aGlzIGZ1bmN0aW9uIG1heSBkaXJlY3RseSBhcHBseREBdGhlIG5ldyBgY29kZWAgaW4gdGhlIHNhbWUgYmxvY2sgb3IgYXR0ZW1wdCB0byBzY2hlZHVsZSB0aGUgdXBncmFkZS4AYEFsbCBvcmlnaW5zIGFyZSBhbGxvd2VkLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4tAQAAAjEBADEBAAAECDg4ADUBAAACOAA5AQxAcGFsbGV0X3RpbWVzdGFtcBhwYWxsZXQQQ2FsbAQEVAABBAxzZXQEAQxub3csASRUOjpNb21lbnQAAExUU2V0IHRoZSBjdXJyZW50IHRpbWUuAFUBVGhpcyBjYWxsIHNob3VsZCBiZSBpbnZva2VkIGV4YWN0bHkgb25jZSBwZXIgYmxvY2suIEl0IHdpbGwgcGFuaWMgYXQgdGhlIGZpbmFsaXphdGlvbtRwaGFzZSwgaWYgdGhpcyBjYWxsIGhhc24ndCBiZWVuIGludm9rZWQgYnkgdGhhdCB0aW1lLgBBAVRoZSB0aW1lc3RhbXAgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aGUgcHJldmlvdXMgb25lIGJ5IHRoZSBhbW91bnQgc3BlY2lmaWVkIGJ5aFtgQ29uZmlnOjpNaW5pbXVtUGVyaW9kYF0uAMRUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfTm9uZV8uAFEBVGhpcyBkaXNwYXRjaCBjbGFzcyBpcyBfTWFuZGF0b3J5XyB0byBlbnN1cmUgaXQgZ2V0cyBleGVjdXRlZCBpbiB0aGUgYmxvY2suIEJlIGF3YXJlUQF0aGF0IGNoYW5naW5nIHRoZSBjb21wbGV4aXR5IG9mIHRoaXMgY2FsbCBjb3VsZCByZXN1bHQgZXhoYXVzdGluZyB0aGUgcmVzb3VyY2VzIGluIGGEYmxvY2sgdG8gZXhlY3V0ZSBhbnkgb3RoZXIgY2FsbHMuADQjIyBDb21wbGV4aXR5MQEtIGBPKDEpYCAoTm90ZSB0aGF0IGltcGxlbWVudGF0aW9ucyBvZiBgT25UaW1lc3RhbXBTZXRgIG11c3QgYWxzbyBiZSBgTygxKWApVQEtIDEgc3RvcmFnZSByZWFkIGFuZCAxIHN0b3JhZ2UgbXV0YXRpb24gKGNvZGVjIGBPKDEpYCBiZWNhdXNlIG9mIGBEaWRVcGRhdGU6OnRha2VgIGluQCAgYG9uX2ZpbmFsaXplYCnULSAxIGV2ZW50IGhhbmRsZXIgYG9uX3RpbWVzdGFtcF9zZXRgLiBNdXN0IGJlIGBPKDEpYC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuPQEMPHBhbGxldF9iYWxhbmNlcxhwYWxsZXQQQ2FsbAgEVAAESQABJFB0cmFuc2Zlcl9hbGxvd19kZWF0aAgBEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFHZhbHVlQQEBKFQ6OkJhbGFuY2UAABzUVHJhbnNmZXIgc29tZSBsaXF1aWQgZnJlZSBiYWxhbmNlIHRvIGFub3RoZXIgYWNjb3VudC4ANQFgdHJhbnNmZXJfYWxsb3dfZGVhdGhgIHdpbGwgc2V0IHRoZSBgRnJlZUJhbGFuY2VgIG9mIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyLhEBSWYgdGhlIHNlbmRlcidzIGFjY291bnQgaXMgYmVsb3cgdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXQgYXMgYSByZXN1bHSwb2YgdGhlIHRyYW5zZmVyLCB0aGUgYWNjb3VudCB3aWxsIGJlIHJlYXBlZC4AFQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgU2lnbmVkYCBieSB0aGUgdHJhbnNhY3Rvci44Zm9yY2VfdHJhbnNmZXIMARhzb3VyY2UAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFHZhbHVlQQEBKFQ6OkJhbGFuY2UAAghhAUV4YWN0bHkgYXMgYHRyYW5zZmVyX2FsbG93X2RlYXRoYCwgZXhjZXB0IHRoZSBvcmlnaW4gbXVzdCBiZSByb290IGFuZCB0aGUgc291cmNlIGFjY291bnREbWF5IGJlIHNwZWNpZmllZC5MdHJhbnNmZXJfa2VlcF9hbGl2ZQgBEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFHZhbHVlQQEBKFQ6OkJhbGFuY2UAAxhZAVNhbWUgYXMgdGhlIFtgdHJhbnNmZXJfYWxsb3dfZGVhdGhgXSBjYWxsLCBidXQgd2l0aCBhIGNoZWNrIHRoYXQgdGhlIHRyYW5zZmVyIHdpbGwgbm90YGtpbGwgdGhlIG9yaWdpbiBhY2NvdW50LgDoOTklIG9mIHRoZSB0aW1lIHlvdSB3YW50IFtgdHJhbnNmZXJfYWxsb3dfZGVhdGhgXSBpbnN0ZWFkLgDwW2B0cmFuc2Zlcl9hbGxvd19kZWF0aGBdOiBzdHJ1Y3QuUGFsbGV0Lmh0bWwjbWV0aG9kLnRyYW5zZmVyMHRyYW5zZmVyX2FsbAgBEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKGtlZXBfYWxpdmUgARBib29sAAQ8BQFUcmFuc2ZlciB0aGUgZW50aXJlIHRyYW5zZmVyYWJsZSBiYWxhbmNlIGZyb20gdGhlIGNhbGxlciBhY2NvdW50LgBZAU5PVEU6IFRoaXMgZnVuY3Rpb24gb25seSBhdHRlbXB0cyB0byB0cmFuc2ZlciBfdHJhbnNmZXJhYmxlXyBiYWxhbmNlcy4gVGhpcyBtZWFucyB0aGF0YQFhbnkgbG9ja2VkLCByZXNlcnZlZCwgb3IgZXhpc3RlbnRpYWwgZGVwb3NpdHMgKHdoZW4gYGtlZXBfYWxpdmVgIGlzIGB0cnVlYCksIHdpbGwgbm90IGJlXQF0cmFuc2ZlcnJlZCBieSB0aGlzIGZ1bmN0aW9uLiBUbyBlbnN1cmUgdGhhdCB0aGlzIGZ1bmN0aW9uIHJlc3VsdHMgaW4gYSBraWxsZWQgYWNjb3VudCxFAXlvdSBtaWdodCBuZWVkIHRvIHByZXBhcmUgdGhlIGFjY291bnQgYnkgcmVtb3ZpbmcgYW55IHJlZmVyZW5jZSBjb3VudGVycywgc3RvcmFnZUBkZXBvc2l0cywgZXRjLi4uAMBUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIFNpZ25lZC4AoC0gYGRlc3RgOiBUaGUgcmVjaXBpZW50IG9mIHRoZSB0cmFuc2Zlci5ZAS0gYGtlZXBfYWxpdmVgOiBBIGJvb2xlYW4gdG8gZGV0ZXJtaW5lIGlmIHRoZSBgdHJhbnNmZXJfYWxsYCBvcGVyYXRpb24gc2hvdWxkIHNlbmQgYWxsTQEgIG9mIHRoZSBmdW5kcyB0aGUgYWNjb3VudCBoYXMsIGNhdXNpbmcgdGhlIHNlbmRlciBhY2NvdW50IHRvIGJlIGtpbGxlZCAoZmFsc2UpLCBvclkBICB0cmFuc2ZlciBldmVyeXRoaW5nIGV4Y2VwdCBhdCBsZWFzdCB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdCwgd2hpY2ggd2lsbCBndWFyYW50ZWUgdG+cICBrZWVwIHRoZSBzZW5kZXIgYWNjb3VudCBhbGl2ZSAodHJ1ZSkuPGZvcmNlX3VucmVzZXJ2ZQgBDHdobwABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEYYW1vdW50GAEoVDo6QmFsYW5jZQAFDLBVbnJlc2VydmUgc29tZSBiYWxhbmNlIGZyb20gYSB1c2VyIGJ5IGZvcmNlLgBsQ2FuIG9ubHkgYmUgY2FsbGVkIGJ5IFJPT1QuQHVwZ3JhZGVfYWNjb3VudHMEAQx3aG9FAQFEVmVjPFQ6OkFjY291bnRJZD4ABiBwVXBncmFkZSBhIHNwZWNpZmllZCBhY2NvdW50LgB0LSBgb3JpZ2luYDogTXVzdCBiZSBgU2lnbmVkYC6QLSBgd2hvYDogVGhlIGFjY291bnQgdG8gYmUgdXBncmFkZWQuAFUBVGhpcyB3aWxsIHdhaXZlIHRoZSB0cmFuc2FjdGlvbiBmZWUgaWYgYXQgbGVhc3QgYWxsIGJ1dCAxMCUgb2YgdGhlIGFjY291bnRzIG5lZWRlZCB0b0EBYmUgdXBncmFkZWQuIChXZSBsZXQgc29tZSBub3QgaGF2ZSB0byBiZSB1cGdyYWRlZCBqdXN0IGluIG9yZGVyIHRvIGFsbG93IGZvciB0aGVYcG9zc2liaWxpdHkgb2YgY2h1cm4pLkRmb3JjZV9zZXRfYmFsYW5jZQgBDHdobwABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEgbmV3X2ZyZWVBAQEoVDo6QmFsYW5jZQAIDKxTZXQgdGhlIHJlZ3VsYXIgYmFsYW5jZSBvZiBhIGdpdmVuIGFjY291bnQuALBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgaXMgYHJvb3RgLmxmb3JjZV9hZGp1c3RfdG90YWxfaXNzdWFuY2UIASRkaXJlY3Rpb25JAQFMQWRqdXN0bWVudERpcmVjdGlvbgABFGRlbHRhQQEBKFQ6OkJhbGFuY2UACRS4QWRqdXN0IHRoZSB0b3RhbCBpc3N1YW5jZSBpbiBhIHNhdHVyYXRpbmcgd2F5LgD8Q2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHJvb3QgYW5kIGFsd2F5cyBuZWVkcyBhIHBvc2l0aXZlIGBkZWx0YWAuACQjIEV4YW1wbGUQYnVybggBFHZhbHVlQQEBKFQ6OkJhbGFuY2UAAShrZWVwX2FsaXZlIAEQYm9vbAAKHPxCdXJuIHRoZSBzcGVjaWZpZWQgbGlxdWlkIGZyZWUgYmFsYW5jZSBmcm9tIHRoZSBvcmlnaW4gYWNjb3VudC4AJQFJZiB0aGUgb3JpZ2luJ3MgYWNjb3VudCBlbmRzIHVwIGJlbG93IHRoZSBleGlzdGVudGlhbCBkZXBvc2l0IGFzIGEgcmVzdWx0CQFvZiB0aGUgYnVybiBhbmQgYGtlZXBfYWxpdmVgIGlzIGZhbHNlLCB0aGUgYWNjb3VudCB3aWxsIGJlIHJlYXBlZC4AUQFVbmxpa2Ugc2VuZGluZyBmdW5kcyB0byBhIF9idXJuXyBhZGRyZXNzLCB3aGljaCBtZXJlbHkgbWFrZXMgdGhlIGZ1bmRzIGluYWNjZXNzaWJsZSwhAXRoaXMgYGJ1cm5gIG9wZXJhdGlvbiB3aWxsIHJlZHVjZSB0b3RhbCBpc3N1YW5jZSBieSB0aGUgYW1vdW50IF9idXJuZWRfLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5BAQAABhgARQEAAAIAAEkBDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXNMQWRqdXN0bWVudERpcmVjdGlvbgABCCBJbmNyZWFzZQAAACBEZWNyZWFzZQABAABNAQyAcGFsbGV0X3RyYW5zYWN0aW9uX211bHRpX3BheW1lbnQYcGFsbGV0EENhbGwEBFQAARQwc2V0X2N1cnJlbmN5BAEgY3VycmVuY3kQATBBc3NldElkT2Y8VD4AADSgU2V0IHNlbGVjdGVkIGN1cnJlbmN5IGZvciBnaXZlbiBhY2NvdW50LgBhAVRoaXMgYWxsb3dzIHRvIHNldCBhIGN1cnJlbmN5IGZvciBhbiBhY2NvdW50IGluIHdoaWNoIGFsbCB0cmFuc2FjdGlvbiBmZWVzIHdpbGwgYmUgcGFpZC58QWNjb3VudCBiYWxhbmNlIGNhbm5vdCBiZSB6ZXJvLgBtAUluIGNhc2Ugb2Ygc3VmZmljaWVudCBhc3NldCwgdGhlIGNob3NlbiBjdXJyZW5jeSBtdXN0IGJlIGluIHRoZSBsaXN0IG9mIGFjY2VwdGVkIGN1cnJlbmNpZXNBAUluIGNhc2Ugb2YgaW5zdWZmaWNpZW50IGFzc2V0LCB0aGUgY2hvc2VuIGN1cnJlbmN5IG11c3QgaGF2ZSBhIFhZSyBwb29sIHdpdGggRE9UAHEBV2hlbiBjdXJyZW5jeSBpcyBzZXQsIGZpeGVkIGZlZSBpcyB3aXRoZHJhd24gZnJvbSB0aGUgYWNjb3VudCB0byBwYXkgZm9yIHRoZSBjdXJyZW5jeSBjaGFuZ2UA+EVWTSBhY2NvdW50cyBhcmUgbm93IGFsbG93ZWQgdG8gY2hhbmdlIHRoaWVyIHBheW1lbnQgY3VycmVuY3kuAKhFbWl0cyBgQ3VycmVuY3lTZXRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4wYWRkX2N1cnJlbmN5CAEgY3VycmVuY3kQATBBc3NldElkT2Y8VD4AARRwcmljZVEBARRQcmljZQABHMhBZGQgYSBjdXJyZW5jeSB0byB0aGUgbGlzdCBvZiBhY2NlcHRlZCBjdXJyZW5jaWVzLgCQT25seSBtZW1iZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uAEEBQ3VycmVuY3kgbXVzdCBub3QgYmUgYWxyZWFkeSBhY2NlcHRlZC4gQ29yZSBhc3NldCBpZCBjYW5ub3QgYmUgZXhwbGljaXRseSBhZGRlZC4AsEVtaXRzIGBDdXJyZW5jeUFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuPHJlbW92ZV9jdXJyZW5jeQQBIGN1cnJlbmN5EAEwQXNzZXRJZE9mPFQ+AAIY1FJlbW92ZSBjdXJyZW5jeSBmcm9tIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBjdXJyZW5jaWVztE9ubHkgc2VsZWN0ZWQgbWVtYmVycyBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbgB0Q29yZSBhc3NldCBjYW5ub3QgYmUgcmVtb3ZlZC4AoEVtaXRzIGBDdXJyZW5jeVJlbW92ZWRgIHdoZW4gc3VjY2Vzc2Z1bC5YcmVzZXRfcGF5bWVudF9jdXJyZW5jeQQBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQAAxS8UmVzZXQgY3VycmVuY3kgb2YgdGhlIHNwZWNpZmllZCBhY2NvdW50IHRvIEhEWC4VAUlmIHRoZSBhY2NvdW50IGlzIEVWTSBhY2NvdW50LCB0aGUgcGF5bWVudCBjdXJyZW5jeSBpcyByZXNldCB0byBXRVRILrhPbmx5IHNlbGVjdGVkIG1lbWJlcnMgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uAJBFbWl0cyBgQ3VycmVuY3lTZXRgIHdoZW4gc3VjY2Vzc2Z1bC48ZGlzcGF0Y2hfcGVybWl0JAEQZnJvbVUBARBIMTYwAAEIdG9VAQEQSDE2MAABFHZhbHVlXQEBEFUyNTYAARBkYXRhOAEcVmVjPHU4PgABJGdhc19saW1pdDABDHU2NAABIGRlYWRsaW5lXQEBEFUyNTYAAQR2CAEIdTgAAQRyNAEQSDI1NgABBHM0ARBIMjU2AAQQUERpc3BhdGNoIEVWTSBwZXJtaXQuwQFUaGUgbWFpbiBwdXJwb3NlIG9mIHRoaXMgZnVuY3Rpb24gaXMgdG8gYWxsb3cgRVZNIGFjY291bnRzIHRvIHBheSBmb3IgdGhlIHRyYW5zYWN0aW9uIGZlZSBpbiBub24tbmF0aXZlIGN1cnJlbmN50GJ5IGFsbG93aW5nIHRoZW0gdG8gc2VsZi1kaXNwYXRjaCBwcmUtc2lnbmVkIHBlcm1pdC7gVGhlIEVWTSBmZWUgaXMgcGFpZCBpbiB0aGUgY3VycmVuY3kgc2V0IGZvciB0aGUgYWNjb3VudC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuUQEMNHNwX2FyaXRobWV0aWMsZml4ZWRfcG9pbnQkRml4ZWRVMTI4AAAEABgBEHUxMjgAAFUBCDxwcmltaXRpdmVfdHlwZXMQSDE2MAAABABZAQEgW3U4OyAyMF0AAFkBAAADFAAAAAgAXQEIPHByaW1pdGl2ZV90eXBlcxBVMjU2AAAEAGEBASBbdTY0OyA0XQAAYQEAAAMEAAAAMABlAQw8cGFsbGV0X3RyZWFzdXJ5GHBhbGxldBBDYWxsCARUAARJAAEYLHNwZW5kX2xvY2FsCAEYYW1vdW50QQEBPEJhbGFuY2VPZjxULCBJPgABLGJlbmVmaWNpYXJ5AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AA0S4UHJvcG9zZSBhbmQgYXBwcm92ZSBhIHNwZW5kIG9mIHRyZWFzdXJ5IGZ1bmRzLgBIIyMgRGlzcGF0Y2ggT3JpZ2luAEUBTXVzdCBiZSBbYENvbmZpZzo6U3BlbmRPcmlnaW5gXSB3aXRoIHRoZSBgU3VjY2Vzc2AgdmFsdWUgYmVpbmcgYXQgbGVhc3QgYGFtb3VudGAuACwjIyMgRGV0YWlsc0UBTk9URTogRm9yIHJlY29yZC1rZWVwaW5nIHB1cnBvc2VzLCB0aGUgcHJvcG9zZXIgaXMgZGVlbWVkIHRvIGJlIGVxdWl2YWxlbnQgdG8gdGhlMGJlbmVmaWNpYXJ5LgA4IyMjIFBhcmFtZXRlcnNBAS0gYGFtb3VudGA6IFRoZSBhbW91bnQgdG8gYmUgdHJhbnNmZXJyZWQgZnJvbSB0aGUgdHJlYXN1cnkgdG8gdGhlIGBiZW5lZmljaWFyeWAu6C0gYGJlbmVmaWNpYXJ5YDogVGhlIGRlc3RpbmF0aW9uIGFjY291bnQgZm9yIHRoZSB0cmFuc2Zlci4AJCMjIEV2ZW50cwC0RW1pdHMgW2BFdmVudDo6U3BlbmRBcHByb3ZlZGBdIGlmIHN1Y2Nlc3NmdWwuPHJlbW92ZV9hcHByb3ZhbAQBLHByb3Bvc2FsX2lkaQEBNFByb3Bvc2FsSW5kZXgABFQtAUZvcmNlIGEgcHJldmlvdXNseSBhcHByb3ZlZCBwcm9wb3NhbCB0byBiZSByZW1vdmVkIGZyb20gdGhlIGFwcHJvdmFsIHF1ZXVlLgBIIyMgRGlzcGF0Y2ggT3JpZ2luAIRNdXN0IGJlIFtgQ29uZmlnOjpSZWplY3RPcmlnaW5gXS4AKCMjIERldGFpbHMAwFRoZSBvcmlnaW5hbCBkZXBvc2l0IHdpbGwgbm8gbG9uZ2VyIGJlIHJldHVybmVkLgA4IyMjIFBhcmFtZXRlcnOgLSBgcHJvcG9zYWxfaWRgOiBUaGUgaW5kZXggb2YgYSBwcm9wb3NhbAA4IyMjIENvbXBsZXhpdHmsLSBPKEEpIHdoZXJlIGBBYCBpcyB0aGUgbnVtYmVyIG9mIGFwcHJvdmFscwAoIyMjIEVycm9yc0UBLSBbYEVycm9yOjpQcm9wb3NhbE5vdEFwcHJvdmVkYF06IFRoZSBgcHJvcG9zYWxfaWRgIHN1cHBsaWVkIHdhcyBub3QgZm91bmQgaW4gdGhlUQEgIGFwcHJvdmFsIHF1ZXVlLCBpLmUuLCB0aGUgcHJvcG9zYWwgaGFzIG5vdCBiZWVuIGFwcHJvdmVkLiBUaGlzIGNvdWxkIGFsc28gbWVhbiB0aGVZASAgcHJvcG9zYWwgZG9lcyBub3QgZXhpc3QgYWx0b2dldGhlciwgdGh1cyB0aGVyZSBpcyBubyB3YXkgaXQgd291bGQgaGF2ZSBiZWVuIGFwcHJvdmVkVCAgaW4gdGhlIGZpcnN0IHBsYWNlLhRzcGVuZBABKGFzc2V0X2tpbmSQAURCb3g8VDo6QXNzZXRLaW5kPgABGGFtb3VudEEBAVBBc3NldEJhbGFuY2VPZjxULCBJPgABLGJlbmVmaWNpYXJ5AAF4Qm94PEJlbmVmaWNpYXJ5TG9va3VwT2Y8VCwgST4+AAEodmFsaWRfZnJvbW0BAWRPcHRpb248QmxvY2tOdW1iZXJGb3I8VD4+AAVouFByb3Bvc2UgYW5kIGFwcHJvdmUgYSBzcGVuZCBvZiB0cmVhc3VyeSBmdW5kcy4ASCMjIERpc3BhdGNoIE9yaWdpbgAdAU11c3QgYmUgW2BDb25maWc6OlNwZW5kT3JpZ2luYF0gd2l0aCB0aGUgYFN1Y2Nlc3NgIHZhbHVlIGJlaW5nIGF0IGxlYXN0VQFgYW1vdW50YCBvZiBgYXNzZXRfa2luZGAgaW4gdGhlIG5hdGl2ZSBhc3NldC4gVGhlIGFtb3VudCBvZiBgYXNzZXRfa2luZGAgaXMgY29udmVydGVk1GZvciBhc3NlcnRpb24gdXNpbmcgdGhlIFtgQ29uZmlnOjpCYWxhbmNlQ29udmVydGVyYF0uACgjIyBEZXRhaWxzAEkBQ3JlYXRlIGFuIGFwcHJvdmVkIHNwZW5kIGZvciB0cmFuc2ZlcnJpbmcgYSBzcGVjaWZpYyBgYW1vdW50YCBvZiBgYXNzZXRfa2luZGAgdG8gYWEBZGVzaWduYXRlZCBiZW5lZmljaWFyeS4gVGhlIHNwZW5kIG11c3QgYmUgY2xhaW1lZCB1c2luZyB0aGUgYHBheW91dGAgZGlzcGF0Y2hhYmxlIHdpdGhpbnR0aGUgW2BDb25maWc6OlBheW91dFBlcmlvZGBdLgA4IyMjIFBhcmFtZXRlcnMVAS0gYGFzc2V0X2tpbmRgOiBBbiBpbmRpY2F0b3Igb2YgdGhlIHNwZWNpZmljIGFzc2V0IGNsYXNzIHRvIGJlIHNwZW50LkEBLSBgYW1vdW50YDogVGhlIGFtb3VudCB0byBiZSB0cmFuc2ZlcnJlZCBmcm9tIHRoZSB0cmVhc3VyeSB0byB0aGUgYGJlbmVmaWNpYXJ5YC64LSBgYmVuZWZpY2lhcnlgOiBUaGUgYmVuZWZpY2lhcnkgb2YgdGhlIHNwZW5kLlUBLSBgdmFsaWRfZnJvbWA6IFRoZSBibG9jayBudW1iZXIgZnJvbSB3aGljaCB0aGUgc3BlbmQgY2FuIGJlIGNsYWltZWQuIEl0IGNhbiByZWZlciB0bxkBICB0aGUgcGFzdCBpZiB0aGUgcmVzdWx0aW5nIHNwZW5kIGhhcyBub3QgeWV0IGV4cGlyZWQgYWNjb3JkaW5nIHRvIHRoZUUBICBbYENvbmZpZzo6UGF5b3V0UGVyaW9kYF0uIElmIGBOb25lYCwgdGhlIHNwZW5kIGNhbiBiZSBjbGFpbWVkIGltbWVkaWF0ZWx5IGFmdGVyLCAgYXBwcm92YWwuACQjIyBFdmVudHMAyEVtaXRzIFtgRXZlbnQ6OkFzc2V0U3BlbmRBcHByb3ZlZGBdIGlmIHN1Y2Nlc3NmdWwuGHBheW91dAQBFGluZGV4EAEoU3BlbmRJbmRleAAGTDhDbGFpbSBhIHNwZW5kLgBIIyMgRGlzcGF0Y2ggT3JpZ2luADhNdXN0IGJlIHNpZ25lZAAoIyMgRGV0YWlscwBVAVNwZW5kcyBtdXN0IGJlIGNsYWltZWQgd2l0aGluIHNvbWUgdGVtcG9yYWwgYm91bmRzLiBBIHNwZW5kIG1heSBiZSBjbGFpbWVkIHdpdGhpbiBvbmXUW2BDb25maWc6OlBheW91dFBlcmlvZGBdIGZyb20gdGhlIGB2YWxpZF9mcm9tYCBibG9jay5VAUluIGNhc2Ugb2YgYSBwYXlvdXQgZmFpbHVyZSwgdGhlIHNwZW5kIHN0YXR1cyBtdXN0IGJlIHVwZGF0ZWQgd2l0aCB0aGUgYGNoZWNrX3N0YXR1c2DcZGlzcGF0Y2hhYmxlIGJlZm9yZSByZXRyeWluZyB3aXRoIHRoZSBjdXJyZW50IGZ1bmN0aW9uLgA4IyMjIFBhcmFtZXRlcnNsLSBgaW5kZXhgOiBUaGUgc3BlbmQgaW5kZXguACQjIyBFdmVudHMAkEVtaXRzIFtgRXZlbnQ6OlBhaWRgXSBpZiBzdWNjZXNzZnVsLjBjaGVja19zdGF0dXMEARRpbmRleBABKFNwZW5kSW5kZXgAB0wpAUNoZWNrIHRoZSBzdGF0dXMgb2YgdGhlIHNwZW5kIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgc3RvcmFnZSBpZiBwcm9jZXNzZWQuAEgjIyBEaXNwYXRjaCBPcmlnaW4APE11c3QgYmUgc2lnbmVkLgAoIyMgRGV0YWlscwABAVRoZSBzdGF0dXMgY2hlY2sgaXMgYSBwcmVyZXF1aXNpdGUgZm9yIHJldHJ5aW5nIGEgZmFpbGVkIHBheW91dC5JAUlmIGEgc3BlbmQgaGFzIGVpdGhlciBzdWNjZWVkZWQgb3IgZXhwaXJlZCwgaXQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBzdG9yYWdlIGJ5IHRoaXPsZnVuY3Rpb24uIEluIHN1Y2ggaW5zdGFuY2VzLCB0cmFuc2FjdGlvbiBmZWVzIGFyZSByZWZ1bmRlZC4AOCMjIyBQYXJhbWV0ZXJzbC0gYGluZGV4YDogVGhlIHNwZW5kIGluZGV4LgAkIyMgRXZlbnRzAPhFbWl0cyBbYEV2ZW50OjpQYXltZW50RmFpbGVkYF0gaWYgdGhlIHNwZW5kIHBheW91dCBoYXMgZmFpbGVkLgEBRW1pdHMgW2BFdmVudDo6U3BlbmRQcm9jZXNzZWRgXSBpZiB0aGUgc3BlbmQgcGF5b3V0IGhhcyBzdWNjZWVkLih2b2lkX3NwZW5kBAEUaW5kZXgQAShTcGVuZEluZGV4AAhAfFZvaWQgcHJldmlvdXNseSBhcHByb3ZlZCBzcGVuZC4ASCMjIERpc3BhdGNoIE9yaWdpbgCETXVzdCBiZSBbYENvbmZpZzo6UmVqZWN0T3JpZ2luYF0uACgjIyBEZXRhaWxzAB0BQSBzcGVuZCB2b2lkIGlzIG9ubHkgcG9zc2libGUgaWYgdGhlIHBheW91dCBoYXMgbm90IGJlZW4gYXR0ZW1wdGVkIHlldC4AOCMjIyBQYXJhbWV0ZXJzbC0gYGluZGV4YDogVGhlIHNwZW5kIGluZGV4LgAkIyMgRXZlbnRzAMBFbWl0cyBbYEV2ZW50OjpBc3NldFNwZW5kVm9pZGVkYF0gaWYgc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuaQEAAAYQAG0BBBhPcHRpb24EBFQBEAEIEE5vbmUAAAAQU29tZQQAEAAAAQAAcQEMOHBhbGxldF91dGlsaXR5GHBhbGxldBBDYWxsBARUAAEYFGJhdGNoBAEUY2FsbHN1AQF8VmVjPDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgAASHxTZW5kIGEgYmF0Y2ggb2YgZGlzcGF0Y2ggY2FsbHMuALBNYXkgYmUgY2FsbGVkIGZyb20gYW55IG9yaWdpbiBleGNlcHQgYE5vbmVgLgBdAS0gYGNhbGxzYDogVGhlIGNhbGxzIHRvIGJlIGRpc3BhdGNoZWQgZnJvbSB0aGUgc2FtZSBvcmlnaW4uIFRoZSBudW1iZXIgb2YgY2FsbCBtdXN0IG5vdDkBICBleGNlZWQgdGhlIGNvbnN0YW50OiBgYmF0Y2hlZF9jYWxsc19saW1pdGAgKGF2YWlsYWJsZSBpbiBjb25zdGFudCBtZXRhZGF0YSkuAFUBSWYgb3JpZ2luIGlzIHJvb3QgdGhlbiB0aGUgY2FsbHMgYXJlIGRpc3BhdGNoZWQgd2l0aG91dCBjaGVja2luZyBvcmlnaW4gZmlsdGVyLiAoVGhpc+xpbmNsdWRlcyBieXBhc3NpbmcgYGZyYW1lX3N5c3RlbTo6Q29uZmlnOjpCYXNlQ2FsbEZpbHRlcmApLgA0IyMgQ29tcGxleGl0edAtIE8oQykgd2hlcmUgQyBpcyB0aGUgbnVtYmVyIG9mIGNhbGxzIHRvIGJlIGJhdGNoZWQuAFUBVGhpcyB3aWxsIHJldHVybiBgT2tgIGluIGFsbCBjaXJjdW1zdGFuY2VzLiBUbyBkZXRlcm1pbmUgdGhlIHN1Y2Nlc3Mgb2YgdGhlIGJhdGNoLCBhbjEBZXZlbnQgaXMgZGVwb3NpdGVkLiBJZiBhIGNhbGwgZmFpbGVkIGFuZCB0aGUgYmF0Y2ggd2FzIGludGVycnVwdGVkLCB0aGVuIHRoZVUBYEJhdGNoSW50ZXJydXB0ZWRgIGV2ZW50IGlzIGRlcG9zaXRlZCwgYWxvbmcgd2l0aCB0aGUgbnVtYmVyIG9mIHN1Y2Nlc3NmdWwgY2FsbHMgbWFkZU0BYW5kIHRoZSBlcnJvciBvZiB0aGUgZmFpbGVkIGNhbGwuIElmIGFsbCB3ZXJlIHN1Y2Nlc3NmdWwsIHRoZW4gdGhlIGBCYXRjaENvbXBsZXRlZGBMZXZlbnQgaXMgZGVwb3NpdGVkLjRhc19kZXJpdmF0aXZlCAEUaW5kZXjcAQx1MTYAARBjYWxsJQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AATTcU2VuZCBhIGNhbGwgdGhyb3VnaCBhbiBpbmRleGVkIHBzZXVkb255bSBvZiB0aGUgc2VuZGVyLgBVAUZpbHRlciBmcm9tIG9yaWdpbiBhcmUgcGFzc2VkIGFsb25nLiBUaGUgY2FsbCB3aWxsIGJlIGRpc3BhdGNoZWQgd2l0aCBhbiBvcmlnaW4gd2hpY2i8dXNlIHRoZSBzYW1lIGZpbHRlciBhcyB0aGUgb3JpZ2luIG9mIHRoaXMgY2FsbC4ARQFOT1RFOiBJZiB5b3UgbmVlZCB0byBlbnN1cmUgdGhhdCBhbnkgYWNjb3VudC1iYXNlZCBmaWx0ZXJpbmcgaXMgbm90IGhvbm9yZWQgKGkuZS5hAWJlY2F1c2UgeW91IGV4cGVjdCBgcHJveHlgIHRvIGhhdmUgYmVlbiB1c2VkIHByaW9yIGluIHRoZSBjYWxsIHN0YWNrIGFuZCB5b3UgZG8gbm90IHdhbnRRAXRoZSBjYWxsIHJlc3RyaWN0aW9ucyB0byBhcHBseSB0byBhbnkgc3ViLWFjY291bnRzKSwgdGhlbiB1c2UgYGFzX211bHRpX3RocmVzaG9sZF8xYHxpbiB0aGUgTXVsdGlzaWcgcGFsbGV0IGluc3RlYWQuAPROT1RFOiBQcmlvciB0byB2ZXJzaW9uICoxMiwgdGhpcyB3YXMgY2FsbGVkIGBhc19saW1pdGVkX3N1YmAuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4kYmF0Y2hfYWxsBAEUY2FsbHN1AQF8VmVjPDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgACNOxTZW5kIGEgYmF0Y2ggb2YgZGlzcGF0Y2ggY2FsbHMgYW5kIGF0b21pY2FsbHkgZXhlY3V0ZSB0aGVtLiEBVGhlIHdob2xlIHRyYW5zYWN0aW9uIHdpbGwgcm9sbGJhY2sgYW5kIGZhaWwgaWYgYW55IG9mIHRoZSBjYWxscyBmYWlsZWQuALBNYXkgYmUgY2FsbGVkIGZyb20gYW55IG9yaWdpbiBleGNlcHQgYE5vbmVgLgBdAS0gYGNhbGxzYDogVGhlIGNhbGxzIHRvIGJlIGRpc3BhdGNoZWQgZnJvbSB0aGUgc2FtZSBvcmlnaW4uIFRoZSBudW1iZXIgb2YgY2FsbCBtdXN0IG5vdDkBICBleGNlZWQgdGhlIGNvbnN0YW50OiBgYmF0Y2hlZF9jYWxsc19saW1pdGAgKGF2YWlsYWJsZSBpbiBjb25zdGFudCBtZXRhZGF0YSkuAFUBSWYgb3JpZ2luIGlzIHJvb3QgdGhlbiB0aGUgY2FsbHMgYXJlIGRpc3BhdGNoZWQgd2l0aG91dCBjaGVja2luZyBvcmlnaW4gZmlsdGVyLiAoVGhpc+xpbmNsdWRlcyBieXBhc3NpbmcgYGZyYW1lX3N5c3RlbTo6Q29uZmlnOjpCYXNlQ2FsbEZpbHRlcmApLgA0IyMgQ29tcGxleGl0edAtIE8oQykgd2hlcmUgQyBpcyB0aGUgbnVtYmVyIG9mIGNhbGxzIHRvIGJlIGJhdGNoZWQuLGRpc3BhdGNoX2FzCAEkYXNfb3JpZ2lueQEBVEJveDxUOjpQYWxsZXRzT3JpZ2luPgABEGNhbGwlAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgADGMhEaXNwYXRjaGVzIGEgZnVuY3Rpb24gY2FsbCB3aXRoIGEgcHJvdmlkZWQgb3JpZ2luLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgA0IyMgQ29tcGxleGl0eRwtIE8oMSkuLGZvcmNlX2JhdGNoBAEUY2FsbHN1AQF8VmVjPDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgAENHxTZW5kIGEgYmF0Y2ggb2YgZGlzcGF0Y2ggY2FsbHMu1FVubGlrZSBgYmF0Y2hgLCBpdCBhbGxvd3MgZXJyb3JzIGFuZCB3b24ndCBpbnRlcnJ1cHQuALBNYXkgYmUgY2FsbGVkIGZyb20gYW55IG9yaWdpbiBleGNlcHQgYE5vbmVgLgBdAS0gYGNhbGxzYDogVGhlIGNhbGxzIHRvIGJlIGRpc3BhdGNoZWQgZnJvbSB0aGUgc2FtZSBvcmlnaW4uIFRoZSBudW1iZXIgb2YgY2FsbCBtdXN0IG5vdDkBICBleGNlZWQgdGhlIGNvbnN0YW50OiBgYmF0Y2hlZF9jYWxsc19saW1pdGAgKGF2YWlsYWJsZSBpbiBjb25zdGFudCBtZXRhZGF0YSkuAE0BSWYgb3JpZ2luIGlzIHJvb3QgdGhlbiB0aGUgY2FsbHMgYXJlIGRpc3BhdGNoIHdpdGhvdXQgY2hlY2tpbmcgb3JpZ2luIGZpbHRlci4gKFRoaXPsaW5jbHVkZXMgYnlwYXNzaW5nIGBmcmFtZV9zeXN0ZW06OkNvbmZpZzo6QmFzZUNhbGxGaWx0ZXJgKS4ANCMjIENvbXBsZXhpdHnQLSBPKEMpIHdoZXJlIEMgaXMgdGhlIG51bWJlciBvZiBjYWxscyB0byBiZSBiYXRjaGVkLix3aXRoX3dlaWdodAgBEGNhbGwlAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgABGHdlaWdodCgBGFdlaWdodAAFGMREaXNwYXRjaCBhIGZ1bmN0aW9uIGNhbGwgd2l0aCBhIHNwZWNpZmllZCB3ZWlnaHQuAC0BVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBjaGVjayB0aGUgd2VpZ2h0IG9mIHRoZSBjYWxsLCBhbmQgaW5zdGVhZCBhbGxvd3MgdGhluFJvb3Qgb3JpZ2luIHRvIHNwZWNpZnkgdGhlIHdlaWdodCBvZiB0aGUgY2FsbC4AxFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9Sb290Xy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMudQEAAAIlAQB5AQg8aHlkcmFkeF9ydW50aW1lME9yaWdpbkNhbGxlcgABIBhzeXN0ZW0EAH0BAXRmcmFtZV9zeXN0ZW06Ok9yaWdpbjxSdW50aW1lPgABABxDb3VuY2lsBACBAQEBAXBhbGxldF9jb2xsZWN0aXZlOjpPcmlnaW48UnVudGltZSwgcGFsbGV0X2NvbGxlY3RpdmU6Okluc3RhbmNlMT4AFwBIVGVjaG5pY2FsQ29tbWl0dGVlBACFAQEBAXBhbGxldF9jb2xsZWN0aXZlOjpPcmlnaW48UnVudGltZSwgcGFsbGV0X2NvbGxlY3RpdmU6Okluc3RhbmNlMj4AGQAcT3JpZ2lucwQAiQEBdHBhbGxldF9jdXN0b21fb3JpZ2luczo6T3JpZ2luACYAIEV0aGVyZXVtBACNAQFccGFsbGV0X2V0aGVyZXVtOjpPcmlnaW4AXAAsUG9sa2Fkb3RYY20EAJEBAUhwYWxsZXRfeGNtOjpPcmlnaW4AawAoQ3VtdWx1c1hjbQQA0QEBaGN1bXVsdXNfcGFsbGV0X3hjbTo6T3JpZ2luAG0AEFZvaWQEANkBAUEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OgpfX3ByaXZhdGU6OlZvaWQABwAAfQEMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2gkUmF3T3JpZ2luBCRBY2NvdW50SWQBAAEMEFJvb3QAAAAYU2lnbmVkBAAAASRBY2NvdW50SWQAAQAQTm9uZQACAACBAQhEcGFsbGV0X2NvbGxlY3RpdmUkUmF3T3JpZ2luCCRBY2NvdW50SWQBAARJAAEMHE1lbWJlcnMIABABLE1lbWJlckNvdW50AAAQASxNZW1iZXJDb3VudAAAABhNZW1iZXIEAAABJEFjY291bnRJZAABACBfUGhhbnRvbQACAACFAQhEcGFsbGV0X2NvbGxlY3RpdmUkUmF3T3JpZ2luCCRBY2NvdW50SWQBAARJAAEMHE1lbWJlcnMIABABLE1lbWJlckNvdW50AAAQASxNZW1iZXJDb3VudAAAABhNZW1iZXIEAAABJEFjY291bnRJZAABACBfUGhhbnRvbQACAACJARQ8aHlkcmFkeF9ydW50aW1lKGdvdmVybmFuY2Ucb3JpZ2luc1RwYWxsZXRfY3VzdG9tX29yaWdpbnMYT3JpZ2luAAEkRFdoaXRlbGlzdGVkQ2FsbGVyAAAATFJlZmVyZW5kdW1DYW5jZWxsZXIAAQBAUmVmZXJlbmR1bUtpbGxlcgACADBHZW5lcmFsQWRtaW4AAwA0T21uaXBvb2xBZG1pbgAEACRUcmVhc3VyZXIABQAcU3BlbmRlcgAGABhUaXBwZXIABwBIRWNvbm9taWNQYXJhbWV0ZXJzAAgAAI0BCDxwYWxsZXRfZXRoZXJldW0kUmF3T3JpZ2luAAEETEV0aGVyZXVtVHJhbnNhY3Rpb24EAFUBARBIMTYwAAAAAJEBDChwYWxsZXRfeGNtGHBhbGxldBhPcmlnaW4AAQgMWGNtBACVAQEgTG9jYXRpb24AAAAgUmVzcG9uc2UEAJUBASBMb2NhdGlvbgABAACVARAsc3RhZ2luZ194Y20IdjQgbG9jYXRpb24gTG9jYXRpb24AAAgBHHBhcmVudHMIAQh1OAABIGludGVyaW9ymQEBJEp1bmN0aW9ucwAAmQEQLHN0YWdpbmdfeGNtCHY0JGp1bmN0aW9ucyRKdW5jdGlvbnMAASQQSGVyZQAAAAhYMQQAnQEBSEFyYzxbSnVuY3Rpb247IDFdPgABAAhYMgQAtQEBSEFyYzxbSnVuY3Rpb247IDJdPgACAAhYMwQAuQEBSEFyYzxbSnVuY3Rpb247IDNdPgADAAhYNAQAvQEBSEFyYzxbSnVuY3Rpb247IDRdPgAEAAhYNQQAwQEBSEFyYzxbSnVuY3Rpb247IDVdPgAFAAhYNgQAxQEBSEFyYzxbSnVuY3Rpb247IDZdPgAGAAhYNwQAyQEBSEFyYzxbSnVuY3Rpb247IDddPgAHAAhYOAQAzQEBSEFyYzxbSnVuY3Rpb247IDhdPgAIAACdAQAAAwEAAAChAQChARAsc3RhZ2luZ194Y20IdjQganVuY3Rpb24gSnVuY3Rpb24AASgkUGFyYWNoYWluBABpAQEMdTMyAAAALEFjY291bnRJZDMyCAEcbmV0d29ya6UBAURPcHRpb248TmV0d29ya0lkPgABCGlkBAEgW3U4OyAzMl0AAQA4QWNjb3VudEluZGV4NjQIARxuZXR3b3JrpQEBRE9wdGlvbjxOZXR3b3JrSWQ+AAEUaW5kZXgsAQx1NjQAAgAwQWNjb3VudEtleTIwCAEcbmV0d29ya6UBAURPcHRpb248TmV0d29ya0lkPgABDGtleVkBASBbdTg7IDIwXQADADhQYWxsZXRJbnN0YW5jZQQACAEIdTgABAAwR2VuZXJhbEluZGV4BABBAQEQdTEyOAAFAChHZW5lcmFsS2V5CAEYbGVuZ3RoCAEIdTgAARBkYXRhBAEgW3U4OyAzMl0ABgAkT25seUNoaWxkAAcAJFBsdXJhbGl0eQgBCGlkrQEBGEJvZHlJZAABEHBhcnSxAQEgQm9keVBhcnQACAA8R2xvYmFsQ29uc2Vuc3VzBACpAQEkTmV0d29ya0lkAAkAAKUBBBhPcHRpb24EBFQBqQEBCBBOb25lAAAAEFNvbWUEAKkBAAABAACpARAsc3RhZ2luZ194Y20IdjQganVuY3Rpb24kTmV0d29ya0lkAAEsJEJ5R2VuZXNpcwQABAEgW3U4OyAzMl0AAAAYQnlGb3JrCAEwYmxvY2tfbnVtYmVyMAEMdTY0AAEoYmxvY2tfaGFzaAQBIFt1ODsgMzJdAAEAIFBvbGthZG90AAIAGEt1c2FtYQADABxXZXN0ZW5kAAQAGFJvY29jbwAFABhXb2NvY28ABgAgRXRoZXJldW0EASBjaGFpbl9pZCwBDHU2NAAHACxCaXRjb2luQ29yZQAIACxCaXRjb2luQ2FzaAAJAEBQb2xrYWRvdEJ1bGxldGluAAoAAK0BEAx4Y20IdjMganVuY3Rpb24YQm9keUlkAAEoEFVuaXQAAAAcTW9uaWtlcgQASAEcW3U4OyA0XQABABRJbmRleAQAaQEBDHUzMgACACRFeGVjdXRpdmUAAwAkVGVjaG5pY2FsAAQALExlZ2lzbGF0aXZlAAUAIEp1ZGljaWFsAAYAHERlZmVuc2UABwA4QWRtaW5pc3RyYXRpb24ACAAgVHJlYXN1cnkACQAAsQEQDHhjbQh2MyBqdW5jdGlvbiBCb2R5UGFydAABFBRWb2ljZQAAABxNZW1iZXJzBAEUY291bnRpAQEMdTMyAAEAIEZyYWN0aW9uCAEMbm9taQEBDHUzMgABFGRlbm9taQEBDHUzMgACAERBdExlYXN0UHJvcG9ydGlvbggBDG5vbWkBAQx1MzIAARRkZW5vbWkBAQx1MzIAAwBITW9yZVRoYW5Qcm9wb3J0aW9uCAEMbm9taQEBDHUzMgABFGRlbm9taQEBDHUzMgAEAAC1AQAAAwIAAAChAQC5AQAAAwMAAAChAQC9AQAAAwQAAAChAQDBAQAAAwUAAAChAQDFAQAAAwYAAAChAQDJAQAAAwcAAAChAQDNAQAAAwgAAAChAQDRAQxIY3VtdWx1c19wYWxsZXRfeGNtGHBhbGxldBhPcmlnaW4AAQgUUmVsYXkAAABAU2libGluZ1BhcmFjaGFpbgQA1QEBGFBhcmFJZAABAADVAQx0cG9sa2Fkb3RfcGFyYWNoYWluX3ByaW1pdGl2ZXMocHJpbWl0aXZlcwhJZAAABAAQAQx1MzIAANkBCBxzcF9jb3JlEFZvaWQAAQAA3QEMPHBhbGxldF9wcmVpbWFnZRhwYWxsZXQQQ2FsbAQEVAABFDRub3RlX3ByZWltYWdlBAEUYnl0ZXM4ARxWZWM8dTg+AAAQdFJlZ2lzdGVyIGEgcHJlaW1hZ2Ugb24tY2hhaW4uAFUBSWYgdGhlIHByZWltYWdlIHdhcyBwcmV2aW91c2x5IHJlcXVlc3RlZCwgbm8gZmVlcyBvciBkZXBvc2l0cyBhcmUgdGFrZW4gZm9yIHByb3ZpZGluZ1UBdGhlIHByZWltYWdlLiBPdGhlcndpc2UsIGEgZGVwb3NpdCBpcyB0YWtlbiBwcm9wb3J0aW9uYWwgdG8gdGhlIHNpemUgb2YgdGhlIHByZWltYWdlLjx1bm5vdGVfcHJlaW1hZ2UEARBoYXNoNAEcVDo6SGFzaAABGNxDbGVhciBhbiB1bnJlcXVlc3RlZCBwcmVpbWFnZSBmcm9tIHRoZSBydW50aW1lIHN0b3JhZ2UuAPxJZiBgbGVuYCBpcyBwcm92aWRlZCwgdGhlbiBpdCB3aWxsIGJlIGEgbXVjaCBjaGVhcGVyIG9wZXJhdGlvbi4AAQEtIGBoYXNoYDogVGhlIGhhc2ggb2YgdGhlIHByZWltYWdlIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgc3RvcmUuuC0gYGxlbmA6IFRoZSBsZW5ndGggb2YgdGhlIHByZWltYWdlIG9mIGBoYXNoYC5AcmVxdWVzdF9wcmVpbWFnZQQBEGhhc2g0ARxUOjpIYXNoAAIQQQFSZXF1ZXN0IGEgcHJlaW1hZ2UgYmUgdXBsb2FkZWQgdG8gdGhlIGNoYWluIHdpdGhvdXQgcGF5aW5nIGFueSBmZWVzIG9yIGRlcG9zaXRzLgBVAUlmIHRoZSBwcmVpbWFnZSByZXF1ZXN0cyBoYXMgYWxyZWFkeSBiZWVuIHByb3ZpZGVkIG9uLWNoYWluLCB3ZSB1bnJlc2VydmUgYW55IGRlcG9zaXQ5AWEgdXNlciBtYXkgaGF2ZSBwYWlkLCBhbmQgdGFrZSB0aGUgY29udHJvbCBvZiB0aGUgcHJlaW1hZ2Ugb3V0IG9mIHRoZWlyIGhhbmRzLkh1bnJlcXVlc3RfcHJlaW1hZ2UEARBoYXNoNAEcVDo6SGFzaAADDLxDbGVhciBhIHByZXZpb3VzbHkgbWFkZSByZXF1ZXN0IGZvciBhIHByZWltYWdlLgAtAU5PVEU6IFRISVMgTVVTVCBOT1QgQkUgQ0FMTEVEIE9OIGBoYXNoYCBNT1JFIFRJTUVTIFRIQU4gYHJlcXVlc3RfcHJlaW1hZ2VgLjhlbnN1cmVfdXBkYXRlZAQBGGhhc2hlc+EBATBWZWM8VDo6SGFzaD4ABAzERW5zdXJlIHRoYXQgdGhlIGEgYnVsayBvZiBwcmUtaW1hZ2VzIGlzIHVwZ3JhZGVkLgA9AVRoZSBjYWxsZXIgcGF5cyBubyBmZWUgaWYgYXQgbGVhc3QgOTAlIG9mIHByZS1pbWFnZXMgd2VyZSBzdWNjZXNzZnVsbHkgdXBkYXRlZC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu4QEAAAI0AOUBDDxwYWxsZXRfaWRlbnRpdHkYcGFsbGV0EENhbGwEBFQAAVg0YWRkX3JlZ2lzdHJhcgQBHGFjY291bnQAAVBBY2NvdW50SWRMb29rdXBPZjxUPgAAHHhBZGQgYSByZWdpc3RyYXIgdG8gdGhlIHN5c3RlbS4A/FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBUOjpSZWdpc3RyYXJPcmlnaW5gLgCoLSBgYWNjb3VudGA6IHRoZSBhY2NvdW50IG9mIHRoZSByZWdpc3RyYXIuAJRFbWl0cyBgUmVnaXN0cmFyQWRkZWRgIGlmIHN1Y2Nlc3NmdWwuMHNldF9pZGVudGl0eQQBEGluZm/pAQFsQm94PFQ6OklkZW50aXR5SW5mb3JtYXRpb24+AAEoKQFTZXQgYW4gYWNjb3VudCdzIGlkZW50aXR5IGluZm9ybWF0aW9uIGFuZCByZXNlcnZlIHRoZSBhcHByb3ByaWF0ZSBkZXBvc2l0LgBVAUlmIHRoZSBhY2NvdW50IGFscmVhZHkgaGFzIGlkZW50aXR5IGluZm9ybWF0aW9uLCB0aGUgZGVwb3NpdCBpcyB0YWtlbiBhcyBwYXJ0IHBheW1lbnRQZm9yIHRoZSBuZXcgZGVwb3NpdC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgCMLSBgaW5mb2A6IFRoZSBpZGVudGl0eSBpbmZvcm1hdGlvbi4AiEVtaXRzIGBJZGVudGl0eVNldGAgaWYgc3VjY2Vzc2Z1bC4gc2V0X3N1YnMEARBzdWJzeQIBZFZlYzwoVDo6QWNjb3VudElkLCBEYXRhKT4AAiSMU2V0IHRoZSBzdWItYWNjb3VudHMgb2YgdGhlIHNlbmRlci4AVQFQYXltZW50OiBBbnkgYWdncmVnYXRlIGJhbGFuY2UgcmVzZXJ2ZWQgYnkgcHJldmlvdXMgYHNldF9zdWJzYCBjYWxscyB3aWxsIGJlIHJldHVybmVkLQFhbmQgYW4gYW1vdW50IGBTdWJBY2NvdW50RGVwb3NpdGAgd2lsbCBiZSByZXNlcnZlZCBmb3IgZWFjaCBpdGVtIGluIGBzdWJzYC4AYQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYSByZWdpc3RlcmVkJGlkZW50aXR5LgCwLSBgc3Vic2A6IFRoZSBpZGVudGl0eSdzIChuZXcpIHN1Yi1hY2NvdW50cy44Y2xlYXJfaWRlbnRpdHkAAyA5AUNsZWFyIGFuIGFjY291bnQncyBpZGVudGl0eSBpbmZvIGFuZCBhbGwgc3ViLWFjY291bnRzIGFuZCByZXR1cm4gYWxsIGRlcG9zaXRzLgDsUGF5bWVudDogQWxsIHJlc2VydmVkIGJhbGFuY2VzIG9uIHRoZSBhY2NvdW50IGFyZSByZXR1cm5lZC4AYQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYSByZWdpc3RlcmVkJGlkZW50aXR5LgCYRW1pdHMgYElkZW50aXR5Q2xlYXJlZGAgaWYgc3VjY2Vzc2Z1bC5EcmVxdWVzdF9qdWRnZW1lbnQIASRyZWdfaW5kZXhpAQE4UmVnaXN0cmFySW5kZXgAARxtYXhfZmVlQQEBMEJhbGFuY2VPZjxUPgAEQJRSZXF1ZXN0IGEganVkZ2VtZW50IGZyb20gYSByZWdpc3RyYXIuAFUBUGF5bWVudDogQXQgbW9zdCBgbWF4X2ZlZWAgd2lsbCBiZSByZXNlcnZlZCBmb3IgcGF5bWVudCB0byB0aGUgcmVnaXN0cmFyIGlmIGp1ZGdlbWVudBhnaXZlbi4ANQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYVByZWdpc3RlcmVkIGlkZW50aXR5LgAdAS0gYHJlZ19pbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGp1ZGdlbWVudCBpcyByZXF1ZXN0ZWQuVQEtIGBtYXhfZmVlYDogVGhlIG1heGltdW0gZmVlIHRoYXQgbWF5IGJlIHBhaWQuIFRoaXMgc2hvdWxkIGp1c3QgYmUgYXV0by1wb3B1bGF0ZWQgYXM6ADBgYGBub2NvbXBpbGXIUmVnaXN0cmFyczo6PFQ+OjpnZXQoKS5nZXQocmVnX2luZGV4KS51bndyYXAoKS5mZWUMYGBgAKRFbWl0cyBgSnVkZ2VtZW50UmVxdWVzdGVkYCBpZiBzdWNjZXNzZnVsLjhjYW5jZWxfcmVxdWVzdAQBJHJlZ19pbmRleBABOFJlZ2lzdHJhckluZGV4AAUoaENhbmNlbCBhIHByZXZpb3VzIHJlcXVlc3QuAPhQYXltZW50OiBBIHByZXZpb3VzbHkgcmVzZXJ2ZWQgZGVwb3NpdCBpcyByZXR1cm5lZCBvbiBzdWNjZXNzLgA1AVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3QgaGF2ZSBhUHJlZ2lzdGVyZWQgaWRlbnRpdHkuAEUBLSBgcmVnX2luZGV4YDogVGhlIGluZGV4IG9mIHRoZSByZWdpc3RyYXIgd2hvc2UganVkZ2VtZW50IGlzIG5vIGxvbmdlciByZXF1ZXN0ZWQuAKxFbWl0cyBgSnVkZ2VtZW50VW5yZXF1ZXN0ZWRgIGlmIHN1Y2Nlc3NmdWwuHHNldF9mZWUIARRpbmRleGkBAThSZWdpc3RyYXJJbmRleAABDGZlZUEBATBCYWxhbmNlT2Y8VD4ABhwZAVNldCB0aGUgZmVlIHJlcXVpcmVkIGZvciBhIGp1ZGdlbWVudCB0byBiZSByZXF1ZXN0ZWQgZnJvbSBhIHJlZ2lzdHJhci4AVQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGJlIHRoZSBhY2NvdW50oG9mIHRoZSByZWdpc3RyYXIgd2hvc2UgaW5kZXggaXMgYGluZGV4YC4A9C0gYGluZGV4YDogdGhlIGluZGV4IG9mIHRoZSByZWdpc3RyYXIgd2hvc2UgZmVlIGlzIHRvIGJlIHNldC5ULSBgZmVlYDogdGhlIG5ldyBmZWUuOHNldF9hY2NvdW50X2lkCAEUaW5kZXhpAQE4UmVnaXN0cmFySW5kZXgAAQxuZXcAAVBBY2NvdW50SWRMb29rdXBPZjxUPgAHHLxDaGFuZ2UgdGhlIGFjY291bnQgYXNzb2NpYXRlZCB3aXRoIGEgcmVnaXN0cmFyLgBVAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3QgYmUgdGhlIGFjY291bnSgb2YgdGhlIHJlZ2lzdHJhciB3aG9zZSBpbmRleCBpcyBgaW5kZXhgLgD0LSBgaW5kZXhgOiB0aGUgaW5kZXggb2YgdGhlIHJlZ2lzdHJhciB3aG9zZSBmZWUgaXMgdG8gYmUgc2V0LnAtIGBuZXdgOiB0aGUgbmV3IGFjY291bnQgSUQuKHNldF9maWVsZHMIARRpbmRleGkBAThSZWdpc3RyYXJJbmRleAABGGZpZWxkczABKQE8VDo6SWRlbnRpdHlJbmZvcm1hdGlvbiBhcyBJZGVudGl0eUluZm9ybWF0aW9uUHJvdmlkZXI+OjoKRmllbGRzSWRlbnRpZmllcgAIHKhTZXQgdGhlIGZpZWxkIGluZm9ybWF0aW9uIGZvciBhIHJlZ2lzdHJhci4AVQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGJlIHRoZSBhY2NvdW50oG9mIHRoZSByZWdpc3RyYXIgd2hvc2UgaW5kZXggaXMgYGluZGV4YC4A9C0gYGluZGV4YDogdGhlIGluZGV4IG9mIHRoZSByZWdpc3RyYXIgd2hvc2UgZmVlIGlzIHRvIGJlIHNldC4NAS0gYGZpZWxkc2A6IHRoZSBmaWVsZHMgdGhhdCB0aGUgcmVnaXN0cmFyIGNvbmNlcm5zIHRoZW1zZWx2ZXMgd2l0aC5EcHJvdmlkZV9qdWRnZW1lbnQQASRyZWdfaW5kZXhpAQE4UmVnaXN0cmFySW5kZXgAARh0YXJnZXQAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABJGp1ZGdlbWVudIECAVxKdWRnZW1lbnQ8QmFsYW5jZU9mPFQ+PgABIGlkZW50aXR5NAEcVDo6SGFzaAAJPLhQcm92aWRlIGEganVkZ2VtZW50IGZvciBhbiBhY2NvdW50J3MgaWRlbnRpdHkuAFUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBiZSB0aGUgYWNjb3VudLBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGluZGV4IGlzIGByZWdfaW5kZXhgLgAhAS0gYHJlZ19pbmRleGA6IHRoZSBpbmRleCBvZiB0aGUgcmVnaXN0cmFyIHdob3NlIGp1ZGdlbWVudCBpcyBiZWluZyBtYWRlLlUBLSBgdGFyZ2V0YDogdGhlIGFjY291bnQgd2hvc2UgaWRlbnRpdHkgdGhlIGp1ZGdlbWVudCBpcyB1cG9uLiBUaGlzIG11c3QgYmUgYW4gYWNjb3VudHQgIHdpdGggYSByZWdpc3RlcmVkIGlkZW50aXR5LkkBLSBganVkZ2VtZW50YDogdGhlIGp1ZGdlbWVudCBvZiB0aGUgcmVnaXN0cmFyIG9mIGluZGV4IGByZWdfaW5kZXhgIGFib3V0IGB0YXJnZXRgLl0BLSBgaWRlbnRpdHlgOiBUaGUgaGFzaCBvZiB0aGUgW2BJZGVudGl0eUluZm9ybWF0aW9uUHJvdmlkZXJgXSBmb3IgdGhhdCB0aGUganVkZ2VtZW50IGlzLCAgcHJvdmlkZWQuALBOb3RlOiBKdWRnZW1lbnRzIGRvIG5vdCBhcHBseSB0byBhIHVzZXJuYW1lLgCURW1pdHMgYEp1ZGdlbWVudEdpdmVuYCBpZiBzdWNjZXNzZnVsLjRraWxsX2lkZW50aXR5BAEYdGFyZ2V0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4ACjBBAVJlbW92ZSBhbiBhY2NvdW50J3MgaWRlbnRpdHkgYW5kIHN1Yi1hY2NvdW50IGluZm9ybWF0aW9uIGFuZCBzbGFzaCB0aGUgZGVwb3NpdHMuAGEBUGF5bWVudDogUmVzZXJ2ZWQgYmFsYW5jZXMgZnJvbSBgc2V0X3N1YnNgIGFuZCBgc2V0X2lkZW50aXR5YCBhcmUgc2xhc2hlZCBhbmQgaGFuZGxlZCBieUUBYFNsYXNoYC4gVmVyaWZpY2F0aW9uIHJlcXVlc3QgZGVwb3NpdHMgYXJlIG5vdCByZXR1cm5lZDsgdGhleSBzaG91bGQgYmUgY2FuY2VsbGVkgG1hbnVhbGx5IHVzaW5nIGBjYW5jZWxfcmVxdWVzdGAuAPhUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBtYXRjaCBgVDo6Rm9yY2VPcmlnaW5gLgBVAS0gYHRhcmdldGA6IHRoZSBhY2NvdW50IHdob3NlIGlkZW50aXR5IHRoZSBqdWRnZW1lbnQgaXMgdXBvbi4gVGhpcyBtdXN0IGJlIGFuIGFjY291bnR0ICB3aXRoIGEgcmVnaXN0ZXJlZCBpZGVudGl0eS4AlEVtaXRzIGBJZGVudGl0eUtpbGxlZGAgaWYgc3VjY2Vzc2Z1bC4cYWRkX3N1YggBDHN1YgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEQZGF0YfUBARBEYXRhAAscrEFkZCB0aGUgZ2l2ZW4gYWNjb3VudCB0byB0aGUgc2VuZGVyJ3Mgc3Vicy4AXQFQYXltZW50OiBCYWxhbmNlIHJlc2VydmVkIGJ5IGEgcHJldmlvdXMgYHNldF9zdWJzYCBjYWxsIGZvciBvbmUgc3ViIHdpbGwgYmUgcmVwYXRyaWF0ZWQ4dG8gdGhlIHNlbmRlci4AYQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNlbmRlciBtdXN0IGhhdmUgYSByZWdpc3RlcmVkWHN1YiBpZGVudGl0eSBvZiBgc3ViYC4ocmVuYW1lX3N1YggBDHN1YgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEQZGF0YfUBARBEYXRhAAwQzEFsdGVyIHRoZSBhc3NvY2lhdGVkIG5hbWUgb2YgdGhlIGdpdmVuIHN1Yi1hY2NvdW50LgBhAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3QgaGF2ZSBhIHJlZ2lzdGVyZWRYc3ViIGlkZW50aXR5IG9mIGBzdWJgLihyZW1vdmVfc3ViBAEMc3ViAAFQQWNjb3VudElkTG9va3VwT2Y8VD4ADRzAUmVtb3ZlIHRoZSBnaXZlbiBhY2NvdW50IGZyb20gdGhlIHNlbmRlcidzIHN1YnMuAF0BUGF5bWVudDogQmFsYW5jZSByZXNlcnZlZCBieSBhIHByZXZpb3VzIGBzZXRfc3Vic2AgY2FsbCBmb3Igb25lIHN1YiB3aWxsIGJlIHJlcGF0cmlhdGVkOHRvIHRoZSBzZW5kZXIuAGEBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSBzZW5kZXIgbXVzdCBoYXZlIGEgcmVnaXN0ZXJlZFhzdWIgaWRlbnRpdHkgb2YgYHN1YmAuIHF1aXRfc3ViAA4ojFJlbW92ZSB0aGUgc2VuZGVyIGFzIGEgc3ViLWFjY291bnQuAF0BUGF5bWVudDogQmFsYW5jZSByZXNlcnZlZCBieSBhIHByZXZpb3VzIGBzZXRfc3Vic2AgY2FsbCBmb3Igb25lIHN1YiB3aWxsIGJlIHJlcGF0cmlhdGVktHRvIHRoZSBzZW5kZXIgKCpub3QqIHRoZSBvcmlnaW5hbCBkZXBvc2l0b3IpLgBhAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3QgaGF2ZSBhIHJlZ2lzdGVyZWQ8c3VwZXItaWRlbnRpdHkuAEUBTk9URTogVGhpcyBzaG91bGQgbm90IG5vcm1hbGx5IGJlIHVzZWQsIGJ1dCBpcyBwcm92aWRlZCBpbiB0aGUgY2FzZSB0aGF0IHRoZSBub24tEQFjb250cm9sbGVyIG9mIGFuIGFjY291bnQgaXMgbWFsaWNpb3VzbHkgcmVnaXN0ZXJlZCBhcyBhIHN1Yi1hY2NvdW50LlhhZGRfdXNlcm5hbWVfYXV0aG9yaXR5DAEkYXV0aG9yaXR5AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARhzdWZmaXg4ARxWZWM8dTg+AAEoYWxsb2NhdGlvbhABDHUzMgAPEFUBQWRkIGFuIGBBY2NvdW50SWRgIHdpdGggcGVybWlzc2lvbiB0byBncmFudCB1c2VybmFtZXMgd2l0aCBhIGdpdmVuIGBzdWZmaXhgIGFwcGVuZGVkLgBZAVRoZSBhdXRob3JpdHkgY2FuIGdyYW50IHVwIHRvIGBhbGxvY2F0aW9uYCB1c2VybmFtZXMuIFRvIHRvcCB1cCB0aGVpciBhbGxvY2F0aW9uLCB0aGV5SQFzaG91bGQganVzdCBpc3N1ZSAob3IgcmVxdWVzdCB2aWEgZ292ZXJuYW5jZSkgYSBuZXcgYGFkZF91c2VybmFtZV9hdXRob3JpdHlgIGNhbGwuZHJlbW92ZV91c2VybmFtZV9hdXRob3JpdHkEASRhdXRob3JpdHkAAVBBY2NvdW50SWRMb29rdXBPZjxUPgAQBMRSZW1vdmUgYGF1dGhvcml0eWAgZnJvbSB0aGUgdXNlcm5hbWUgYXV0aG9yaXRpZXMuQHNldF91c2VybmFtZV9mb3IMAQx3aG8AAVBBY2NvdW50SWRMb29rdXBPZjxUPgABIHVzZXJuYW1lOAEcVmVjPHU4PgABJHNpZ25hdHVyZYUCAXBPcHRpb248VDo6T2ZmY2hhaW5TaWduYXR1cmU+ABEkDQFTZXQgdGhlIHVzZXJuYW1lIGZvciBgd2hvYC4gTXVzdCBiZSBjYWxsZWQgYnkgYSB1c2VybmFtZSBhdXRob3JpdHkuAFUBVGhlIGF1dGhvcml0eSBtdXN0IGhhdmUgYW4gYGFsbG9jYXRpb25gLiBVc2VycyBjYW4gZWl0aGVyIHByZS1zaWduIHRoZWlyIHVzZXJuYW1lcyBvckhhY2NlcHQgdGhlbSBsYXRlci4APFVzZXJuYW1lcyBtdXN0OtggIC0gT25seSBjb250YWluIGxvd2VyY2FzZSBBU0NJSSBjaGFyYWN0ZXJzIG9yIGRpZ2l0cy41ASAgLSBXaGVuIGNvbWJpbmVkIHdpdGggdGhlIHN1ZmZpeCBvZiB0aGUgaXNzdWluZyBhdXRob3JpdHkgYmUgX2xlc3MgdGhhbl8gdGhlYCAgICBgTWF4VXNlcm5hbWVMZW5ndGhgLjxhY2NlcHRfdXNlcm5hbWUEASB1c2VybmFtZaQBLFVzZXJuYW1lPFQ+ABIITQFBY2NlcHQgYSBnaXZlbiB1c2VybmFtZSB0aGF0IGFuIGBhdXRob3JpdHlgIGdyYW50ZWQuIFRoZSBjYWxsIG11c3QgaW5jbHVkZSB0aGUgZnVsbIh1c2VybmFtZSwgYXMgaW4gYHVzZXJuYW1lLnN1ZmZpeGAuXHJlbW92ZV9leHBpcmVkX2FwcHJvdmFsBAEgdXNlcm5hbWWkASxVc2VybmFtZTxUPgATDGEBUmVtb3ZlIGFuIGV4cGlyZWQgdXNlcm5hbWUgYXBwcm92YWwuIFRoZSB1c2VybmFtZSB3YXMgYXBwcm92ZWQgYnkgYW4gYXV0aG9yaXR5IGJ1dCBuZXZlclUBYWNjZXB0ZWQgYnkgdGhlIHVzZXIgYW5kIG11c3Qgbm93IGJlIGJleW9uZCBpdHMgZXhwaXJhdGlvbi4gVGhlIGNhbGwgbXVzdCBpbmNsdWRlIHRoZZxmdWxsIHVzZXJuYW1lLCBhcyBpbiBgdXNlcm5hbWUuc3VmZml4YC5Qc2V0X3ByaW1hcnlfdXNlcm5hbWUEASB1c2VybmFtZaQBLFVzZXJuYW1lPFQ+ABQEMQFTZXQgYSBnaXZlbiB1c2VybmFtZSBhcyB0aGUgcHJpbWFyeS4gVGhlIHVzZXJuYW1lIHNob3VsZCBpbmNsdWRlIHRoZSBzdWZmaXguYHJlbW92ZV9kYW5nbGluZ191c2VybmFtZQQBIHVzZXJuYW1lpAEsVXNlcm5hbWU8VD4AFQhVAVJlbW92ZSBhIHVzZXJuYW1lIHRoYXQgY29ycmVzcG9uZHMgdG8gYW4gYWNjb3VudCB3aXRoIG5vIGlkZW50aXR5LiBFeGlzdHMgd2hlbiBhIHVzZXLAZ2V0cyBhIHVzZXJuYW1lIGJ1dCB0aGVuIGNhbGxzIGBjbGVhcl9pZGVudGl0eWAuBHBJZGVudGl0eSBwYWxsZXQgZGVjbGFyYXRpb24u6QEMPHBhbGxldF9pZGVudGl0eRhsZWdhY3kwSWRlbnRpdHlJbmZvBChGaWVsZExpbWl0AAAkAShhZGRpdGlvbmFs7QEBkEJvdW5kZWRWZWM8KERhdGEsIERhdGEpLCBGaWVsZExpbWl0PgABHGRpc3BsYXn1AQEQRGF0YQABFGxlZ2Fs9QEBEERhdGEAAQx3ZWL1AQEQRGF0YQABEHJpb3T1AQEQRGF0YQABFGVtYWls9QEBEERhdGEAATxwZ3BfZmluZ2VycHJpbnR1AgFAT3B0aW9uPFt1ODsgMjBdPgABFGltYWdl9QEBEERhdGEAARx0d2l0dGVy9QEBEERhdGEAAO0BDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQB8QEEUwAABABxAgEYVmVjPFQ+AADxAQAABAj1AfUBAPUBDDxwYWxsZXRfaWRlbnRpdHkUdHlwZXMQRGF0YQABmBBOb25lAAAAEFJhdzAEAPkBAAABABBSYXcxBAD9AQAAAgAQUmF3MgQAAQIAAAMAEFJhdzMEAAUCAAAEABBSYXc0BABIAAAFABBSYXc1BAAJAgAABgAQUmF3NgQADQIAAAcAEFJhdzcEABECAAAIABBSYXc4BAAVAgAACQAQUmF3OQQAGQIAAAoAFFJhdzEwBAAdAgAACwAUUmF3MTEEACECAAAMABRSYXcxMgQAJQIAAA0AFFJhdzEzBAApAgAADgAUUmF3MTQEAC0CAAAPABRSYXcxNQQAMQIAABAAFFJhdzE2BAA1AgAAEQAUUmF3MTcEADkCAAASABRSYXcxOAQAPQIAABMAFFJhdzE5BABBAgAAFAAUUmF3MjAEAFkBAAAVABRSYXcyMQQARQIAABYAFFJhdzIyBABJAgAAFwAUUmF3MjMEAE0CAAAYABRSYXcyNAQAUQIAABkAFFJhdzI1BABVAgAAGgAUUmF3MjYEAFkCAAAbABRSYXcyNwQAXQIAABwAFFJhdzI4BABhAgAAHQAUUmF3MjkEAGUCAAAeABRSYXczMAQAaQIAAB8AFFJhdzMxBABtAgAAIAAUUmF3MzIEAAQAACEALEJsYWtlVHdvMjU2BAAEAAAiABhTaGEyNTYEAAQAACMAJEtlY2NhazI1NgQABAAAJAAsU2hhVGhyZWUyNTYEAAQAACUAAPkBAAADAAAAAAgA/QEAAAMBAAAACAABAgAAAwIAAAAIAAUCAAADAwAAAAgACQIAAAMFAAAACAANAgAAAwYAAAAIABECAAADBwAAAAgAFQIAAAMIAAAACAAZAgAAAwkAAAAIAB0CAAADCgAAAAgAIQIAAAMLAAAACAAlAgAAAwwAAAAIACkCAAADDQAAAAgALQIAAAMOAAAACAAxAgAAAw8AAAAIADUCAAADEAAAAAgAOQIAAAMRAAAACAA9AgAAAxIAAAAIAEECAAADEwAAAAgARQIAAAMVAAAACABJAgAAAxYAAAAIAE0CAAADFwAAAAgAUQIAAAMYAAAACABVAgAAAxkAAAAIAFkCAAADGgAAAAgAXQIAAAMbAAAACABhAgAAAxwAAAAIAGUCAAADHQAAAAgAaQIAAAMeAAAACABtAgAAAx8AAAAIAHECAAAC8QEAdQIEGE9wdGlvbgQEVAFZAQEIEE5vbmUAAAAQU29tZQQAWQEAAAEAAHkCAAACfQIAfQIAAAQIAPUBAIECDDxwYWxsZXRfaWRlbnRpdHkUdHlwZXMkSnVkZ2VtZW50BBxCYWxhbmNlARgBHBxVbmtub3duAAAAHEZlZVBhaWQEABgBHEJhbGFuY2UAAQAoUmVhc29uYWJsZQACACRLbm93bkdvb2QAAwAkT3V0T2ZEYXRlAAQAKExvd1F1YWxpdHkABQAkRXJyb25lb3VzAAYAAIUCBBhPcHRpb24EBFQBiQIBCBBOb25lAAAAEFNvbWUEAIkCAAABAACJAggoc3BfcnVudGltZThNdWx0aVNpZ25hdHVyZQABDBxFZDI1NTE5BACNAgFIZWQyNTUxOTo6U2lnbmF0dXJlAAAAHFNyMjU1MTkEAI0CAUhzcjI1NTE5OjpTaWduYXR1cmUAAQAURWNkc2EEAJECAUBlY2RzYTo6U2lnbmF0dXJlAAIAAI0CAAADQAAAAAgAkQIAAANBAAAACACVAgxAcGFsbGV0X2RlbW9jcmFjeRhwYWxsZXQQQ2FsbAQEVAABUBxwcm9wb3NlCAEgcHJvcG9zYWwhAQFAQm91bmRlZENhbGxPZjxUPgABFHZhbHVlQQEBMEJhbGFuY2VPZjxUPgAAJJxQcm9wb3NlIGEgc2Vuc2l0aXZlIGFjdGlvbiB0byBiZSB0YWtlbi4AFQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyIG11c3SAaGF2ZSBmdW5kcyB0byBjb3ZlciB0aGUgZGVwb3NpdC4A1C0gYHByb3Bvc2FsX2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgcHJvcG9zYWwgcHJlaW1hZ2UuFQEtIGB2YWx1ZWA6IFRoZSBhbW91bnQgb2YgZGVwb3NpdCAobXVzdCBiZSBhdCBsZWFzdCBgTWluaW11bURlcG9zaXRgKS4AREVtaXRzIGBQcm9wb3NlZGAuGHNlY29uZAQBIHByb3Bvc2FsaQEBJFByb3BJbmRleAABGLRTaWduYWxzIGFncmVlbWVudCB3aXRoIGEgcGFydGljdWxhciBwcm9wb3NhbC4AAQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2VuZGVyEQFtdXN0IGhhdmUgZnVuZHMgdG8gY292ZXIgdGhlIGRlcG9zaXQsIGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBkZXBvc2l0LgDILSBgcHJvcG9zYWxgOiBUaGUgaW5kZXggb2YgdGhlIHByb3Bvc2FsIHRvIHNlY29uZC4Qdm90ZQgBJHJlZl9pbmRleGkBATxSZWZlcmVuZHVtSW5kZXgAARB2b3RlsAFkQWNjb3VudFZvdGU8QmFsYW5jZU9mPFQ+PgACHDEBVm90ZSBpbiBhIHJlZmVyZW5kdW0uIElmIGB2b3RlLmlzX2F5ZSgpYCwgdGhlIHZvdGUgaXMgdG8gZW5hY3QgdGhlIHByb3Bvc2FsO7hvdGhlcndpc2UgaXQgaXMgYSB2b3RlIHRvIGtlZXAgdGhlIHN0YXR1cyBxdW8uAMhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgDcLSBgcmVmX2luZGV4YDogVGhlIGluZGV4IG9mIHRoZSByZWZlcmVuZHVtIHRvIHZvdGUgZm9yLoQtIGB2b3RlYDogVGhlIHZvdGUgY29uZmlndXJhdGlvbi5AZW1lcmdlbmN5X2NhbmNlbAQBJHJlZl9pbmRleBABPFJlZmVyZW5kdW1JbmRleAADIE0BU2NoZWR1bGUgYW4gZW1lcmdlbmN5IGNhbmNlbGxhdGlvbiBvZiBhIHJlZmVyZW5kdW0uIENhbm5vdCBoYXBwZW4gdHdpY2UgdG8gdGhlIHNhbWUscmVmZXJlbmR1bS4A+FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYENhbmNlbGxhdGlvbk9yaWdpbmAuANAtYHJlZl9pbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVmZXJlbmR1bSB0byBjYW5jZWwuADxXZWlnaHQ6IGBPKDEpYC5AZXh0ZXJuYWxfcHJvcG9zZQQBIHByb3Bvc2FsIQEBQEJvdW5kZWRDYWxsT2Y8VD4ABBgtAVNjaGVkdWxlIGEgcmVmZXJlbmR1bSB0byBiZSB0YWJsZWQgb25jZSBpdCBpcyBsZWdhbCB0byBzY2hlZHVsZSBhbiBleHRlcm5hbCxyZWZlcmVuZHVtLgDoVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgRXh0ZXJuYWxPcmlnaW5gLgDULSBgcHJvcG9zYWxfaGFzaGA6IFRoZSBwcmVpbWFnZSBoYXNoIG9mIHRoZSBwcm9wb3NhbC5kZXh0ZXJuYWxfcHJvcG9zZV9tYWpvcml0eQQBIHByb3Bvc2FsIQEBQEJvdW5kZWRDYWxsT2Y8VD4ABSxVAVNjaGVkdWxlIGEgbWFqb3JpdHktY2FycmllcyByZWZlcmVuZHVtIHRvIGJlIHRhYmxlZCBuZXh0IG9uY2UgaXQgaXMgbGVnYWwgdG8gc2NoZWR1bGVcYW4gZXh0ZXJuYWwgcmVmZXJlbmR1bS4A7FRoZSBkaXNwYXRjaCBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgRXh0ZXJuYWxNYWpvcml0eU9yaWdpbmAuANQtIGBwcm9wb3NhbF9oYXNoYDogVGhlIHByZWltYWdlIGhhc2ggb2YgdGhlIHByb3Bvc2FsLgBJAVVubGlrZSBgZXh0ZXJuYWxfcHJvcG9zZWAsIGJsYWNrbGlzdGluZyBoYXMgbm8gZWZmZWN0IG9uIHRoaXMgYW5kIGl0IG1heSByZXBsYWNlIGGYcHJlLXNjaGVkdWxlZCBgZXh0ZXJuYWxfcHJvcG9zZWAgY2FsbC4AOFdlaWdodDogYE8oMSlgYGV4dGVybmFsX3Byb3Bvc2VfZGVmYXVsdAQBIHByb3Bvc2FsIQEBQEJvdW5kZWRDYWxsT2Y8VD4ABixFAVNjaGVkdWxlIGEgbmVnYXRpdmUtdHVybm91dC1iaWFzIHJlZmVyZW5kdW0gdG8gYmUgdGFibGVkIG5leHQgb25jZSBpdCBpcyBsZWdhbCB0b4BzY2hlZHVsZSBhbiBleHRlcm5hbCByZWZlcmVuZHVtLgDoVGhlIGRpc3BhdGNoIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBFeHRlcm5hbERlZmF1bHRPcmlnaW5gLgDULSBgcHJvcG9zYWxfaGFzaGA6IFRoZSBwcmVpbWFnZSBoYXNoIG9mIHRoZSBwcm9wb3NhbC4ASQFVbmxpa2UgYGV4dGVybmFsX3Byb3Bvc2VgLCBibGFja2xpc3RpbmcgaGFzIG5vIGVmZmVjdCBvbiB0aGlzIGFuZCBpdCBtYXkgcmVwbGFjZSBhmHByZS1zY2hlZHVsZWQgYGV4dGVybmFsX3Byb3Bvc2VgIGNhbGwuADhXZWlnaHQ6IGBPKDEpYChmYXN0X3RyYWNrDAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAATR2b3RpbmdfcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AARRkZWxheRABREJsb2NrTnVtYmVyRm9yPFQ+AAdATQFTY2hlZHVsZSB0aGUgY3VycmVudGx5IGV4dGVybmFsbHktcHJvcG9zZWQgbWFqb3JpdHktY2FycmllcyByZWZlcmVuZHVtIHRvIGJlIHRhYmxlZGEBaW1tZWRpYXRlbHkuIElmIHRoZXJlIGlzIG5vIGV4dGVybmFsbHktcHJvcG9zZWQgcmVmZXJlbmR1bSBjdXJyZW50bHksIG9yIGlmIHRoZXJlIGlzIG9uZehidXQgaXQgaXMgbm90IGEgbWFqb3JpdHktY2FycmllcyByZWZlcmVuZHVtIHRoZW4gaXQgZmFpbHMuANBUaGUgZGlzcGF0Y2ggb2YgdGhpcyBjYWxsIG11c3QgYmUgYEZhc3RUcmFja09yaWdpbmAuAPQtIGBwcm9wb3NhbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIGN1cnJlbnQgZXh0ZXJuYWwgcHJvcG9zYWwuXQEtIGB2b3RpbmdfcGVyaW9kYDogVGhlIHBlcmlvZCB0aGF0IGlzIGFsbG93ZWQgZm9yIHZvdGluZyBvbiB0aGlzIHByb3Bvc2FsLiBJbmNyZWFzZWQgdG+ICU11c3QgYmUgYWx3YXlzIGdyZWF0ZXIgdGhhbiB6ZXJvLjUBCUZvciBgRmFzdFRyYWNrT3JpZ2luYCBtdXN0IGJlIGVxdWFsIG9yIGdyZWF0ZXIgdGhhbiBgRmFzdFRyYWNrVm90aW5nUGVyaW9kYC5RAS0gYGRlbGF5YDogVGhlIG51bWJlciBvZiBibG9jayBhZnRlciB2b3RpbmcgaGFzIGVuZGVkIGluIGFwcHJvdmFsIGFuZCB0aGlzIHNob3VsZCBiZbggIGVuYWN0ZWQuIFRoaXMgZG9lc24ndCBoYXZlIGEgbWluaW11bSBhbW91bnQuAEBFbWl0cyBgU3RhcnRlZGAuADhXZWlnaHQ6IGBPKDEpYDR2ZXRvX2V4dGVybmFsBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gACCS4VmV0byBhbmQgYmxhY2tsaXN0IHRoZSBleHRlcm5hbCBwcm9wb3NhbCBoYXNoLgDYVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgVmV0b09yaWdpbmAuAC0BLSBgcHJvcG9zYWxfaGFzaGA6IFRoZSBwcmVpbWFnZSBoYXNoIG9mIHRoZSBwcm9wb3NhbCB0byB2ZXRvIGFuZCBibGFja2xpc3QuADxFbWl0cyBgVmV0b2VkYC4A/FdlaWdodDogYE8oViArIGxvZyhWKSlgIHdoZXJlIFYgaXMgbnVtYmVyIG9mIGBleGlzdGluZyB2ZXRvZXJzYERjYW5jZWxfcmVmZXJlbmR1bQQBJHJlZl9pbmRleGkBATxSZWZlcmVuZHVtSW5kZXgACRxQUmVtb3ZlIGEgcmVmZXJlbmR1bS4AwFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgDULSBgcmVmX2luZGV4YDogVGhlIGluZGV4IG9mIHRoZSByZWZlcmVuZHVtIHRvIGNhbmNlbC4ARCMgV2VpZ2h0OiBgTygxKWAuIGRlbGVnYXRlDAEIdG8AAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKGNvbnZpY3Rpb26ZAgEoQ29udmljdGlvbgABHGJhbGFuY2UYATBCYWxhbmNlT2Y8VD4AClA5AURlbGVnYXRlIHRoZSB2b3RpbmcgcG93ZXIgKHdpdGggc29tZSBnaXZlbiBjb252aWN0aW9uKSBvZiB0aGUgc2VuZGluZyBhY2NvdW50LgBVAVRoZSBiYWxhbmNlIGRlbGVnYXRlZCBpcyBsb2NrZWQgZm9yIGFzIGxvbmcgYXMgaXQncyBkZWxlZ2F0ZWQsIGFuZCB0aGVyZWFmdGVyIGZvciB0aGXIdGltZSBhcHByb3ByaWF0ZSBmb3IgdGhlIGNvbnZpY3Rpb24ncyBsb2NrIHBlcmlvZC4AXQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLCBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGVpdGhlcjp0ICAtIGJlIGRlbGVnYXRpbmcgYWxyZWFkeTsgb3JZASAgLSBoYXZlIG5vIHZvdGluZyBhY3Rpdml0eSAoaWYgdGhlcmUgaXMsIHRoZW4gaXQgd2lsbCBuZWVkIHRvIGJlIHJlbW92ZWQvY29uc29saWRhdGVklCAgICB0aHJvdWdoIGByZWFwX3ZvdGVgIG9yIGB1bnZvdGVgKS4ARQEtIGB0b2A6IFRoZSBhY2NvdW50IHdob3NlIHZvdGluZyB0aGUgYHRhcmdldGAgYWNjb3VudCdzIHZvdGluZyBwb3dlciB3aWxsIGZvbGxvdy5VAS0gYGNvbnZpY3Rpb25gOiBUaGUgY29udmljdGlvbiB0aGF0IHdpbGwgYmUgYXR0YWNoZWQgdG8gdGhlIGRlbGVnYXRlZCB2b3Rlcy4gV2hlbiB0aGVBASAgYWNjb3VudCBpcyB1bmRlbGVnYXRlZCwgdGhlIGZ1bmRzIHdpbGwgYmUgbG9ja2VkIGZvciB0aGUgY29ycmVzcG9uZGluZyBwZXJpb2QuYQEtIGBiYWxhbmNlYDogVGhlIGFtb3VudCBvZiB0aGUgYWNjb3VudCdzIGJhbGFuY2UgdG8gYmUgdXNlZCBpbiBkZWxlZ2F0aW5nLiBUaGlzIG11c3Qgbm90tCAgYmUgbW9yZSB0aGFuIHRoZSBhY2NvdW50J3MgY3VycmVudCBiYWxhbmNlLgBIRW1pdHMgYERlbGVnYXRlZGAuAD0BV2VpZ2h0OiBgTyhSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kdW1zIHRoZSB2b3RlciBkZWxlZ2F0aW5nIHRvIGhhc8ggIHZvdGVkIG9uLiBXZWlnaHQgaXMgY2hhcmdlZCBhcyBpZiBtYXhpbXVtIHZvdGVzLih1bmRlbGVnYXRlAAswzFVuZGVsZWdhdGUgdGhlIHZvdGluZyBwb3dlciBvZiB0aGUgc2VuZGluZyBhY2NvdW50LgBdAVRva2VucyBtYXkgYmUgdW5sb2NrZWQgZm9sbG93aW5nIG9uY2UgYW4gYW1vdW50IG9mIHRpbWUgY29uc2lzdGVudCB3aXRoIHRoZSBsb2NrIHBlcmlvZNxvZiB0aGUgY29udmljdGlvbiB3aXRoIHdoaWNoIHRoZSBkZWxlZ2F0aW9uIHdhcyBpc3N1ZWQuAEUBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGJlVGN1cnJlbnRseSBkZWxlZ2F0aW5nLgBQRW1pdHMgYFVuZGVsZWdhdGVkYC4APQFXZWlnaHQ6IGBPKFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcmVmZXJlbmR1bXMgdGhlIHZvdGVyIGRlbGVnYXRpbmcgdG8gaGFzyCAgdm90ZWQgb24uIFdlaWdodCBpcyBjaGFyZ2VkIGFzIGlmIG1heGltdW0gdm90ZXMuWGNsZWFyX3B1YmxpY19wcm9wb3NhbHMADBRwQ2xlYXJzIGFsbCBwdWJsaWMgcHJvcG9zYWxzLgDAVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfUm9vdF8uADxXZWlnaHQ6IGBPKDEpYC4YdW5sb2NrBAEYdGFyZ2V0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4ADRygVW5sb2NrIHRva2VucyB0aGF0IGhhdmUgYW4gZXhwaXJlZCBsb2NrLgDIVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AuC0gYHRhcmdldGA6IFRoZSBhY2NvdW50IHRvIHJlbW92ZSB0aGUgbG9jayBvbi4AvFdlaWdodDogYE8oUilgIHdpdGggUiBudW1iZXIgb2Ygdm90ZSBvZiB0YXJnZXQuLHJlbW92ZV92b3RlBAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgADmx8UmVtb3ZlIGEgdm90ZSBmb3IgYSByZWZlcmVuZHVtLgAMSWY6iC0gdGhlIHJlZmVyZW5kdW0gd2FzIGNhbmNlbGxlZCwgb3J8LSB0aGUgcmVmZXJlbmR1bSBpcyBvbmdvaW5nLCBvcpAtIHRoZSByZWZlcmVuZHVtIGhhcyBlbmRlZCBzdWNoIHRoYXT8ICAtIHRoZSB2b3RlIG9mIHRoZSBhY2NvdW50IHdhcyBpbiBvcHBvc2l0aW9uIHRvIHRoZSByZXN1bHQ7IG9y1CAgLSB0aGVyZSB3YXMgbm8gY29udmljdGlvbiB0byB0aGUgYWNjb3VudCdzIHZvdGU7IG9yhCAgLSB0aGUgYWNjb3VudCBtYWRlIGEgc3BsaXQgdm90ZV0BLi4udGhlbiB0aGUgdm90ZSBpcyByZW1vdmVkIGNsZWFubHkgYW5kIGEgZm9sbG93aW5nIGNhbGwgdG8gYHVubG9ja2AgbWF5IHJlc3VsdCBpbiBtb3JlWGZ1bmRzIGJlaW5nIGF2YWlsYWJsZS4AqElmLCBob3dldmVyLCB0aGUgcmVmZXJlbmR1bSBoYXMgZW5kZWQgYW5kOuwtIGl0IGZpbmlzaGVkIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHZvdGUgb2YgdGhlIGFjY291bnQsIGFuZNwtIHRoZSBhY2NvdW50IG1hZGUgYSBzdGFuZGFyZCB2b3RlIHdpdGggY29udmljdGlvbiwgYW5kvC0gdGhlIGxvY2sgcGVyaW9kIG9mIHRoZSBjb252aWN0aW9uIGlzIG5vdCBvdmVyWQEuLi50aGVuIHRoZSBsb2NrIHdpbGwgYmUgYWdncmVnYXRlZCBpbnRvIHRoZSBvdmVyYWxsIGFjY291bnQncyBsb2NrLCB3aGljaCBtYXkgaW52b2x2ZVkBKm92ZXJsb2NraW5nKiAod2hlcmUgdGhlIHR3byBsb2NrcyBhcmUgY29tYmluZWQgaW50byBhIHNpbmdsZSBsb2NrIHRoYXQgaXMgdGhlIG1heGltdW3kb2YgYm90aCB0aGUgYW1vdW50IGxvY2tlZCBhbmQgdGhlIHRpbWUgaXMgaXQgbG9ja2VkIGZvcikuAEkBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXywgYW5kIHRoZSBzaWduZXIgbXVzdCBoYXZlIGEgdm90ZYhyZWdpc3RlcmVkIGZvciByZWZlcmVuZHVtIGBpbmRleGAuAPQtIGBpbmRleGA6IFRoZSBpbmRleCBvZiByZWZlcmVuZHVtIG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQuAFUBV2VpZ2h0OiBgTyhSICsgbG9nIFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcmVmZXJlbmRhIHRoYXQgYHRhcmdldGAgaGFzIHZvdGVkIG9uLtggIFdlaWdodCBpcyBjYWxjdWxhdGVkIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZS5EcmVtb3ZlX290aGVyX3ZvdGUIARh0YXJnZXQAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AA88fFJlbW92ZSBhIHZvdGUgZm9yIGEgcmVmZXJlbmR1bS4ATQFJZiB0aGUgYHRhcmdldGAgaXMgZXF1YWwgdG8gdGhlIHNpZ25lciwgdGhlbiB0aGlzIGZ1bmN0aW9uIGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0by0BYHJlbW92ZV92b3RlYC4gSWYgbm90IGVxdWFsIHRvIHRoZSBzaWduZXIsIHRoZW4gdGhlIHZvdGUgbXVzdCBoYXZlIGV4cGlyZWQsVQFlaXRoZXIgYmVjYXVzZSB0aGUgcmVmZXJlbmR1bSB3YXMgY2FuY2VsbGVkLCBiZWNhdXNlIHRoZSB2b3RlciBsb3N0IHRoZSByZWZlcmVuZHVtIG9ymGJlY2F1c2UgdGhlIGNvbnZpY3Rpb24gcGVyaW9kIGlzIG92ZXIuAMhUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBNAS0gYHRhcmdldGA6IFRoZSBhY2NvdW50IG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQ7IHRoaXMgYWNjb3VudCBtdXN0IGhhdmUgdm90ZWQgZm9yVCAgcmVmZXJlbmR1bSBgaW5kZXhgLvQtIGBpbmRleGA6IFRoZSBpbmRleCBvZiByZWZlcmVuZHVtIG9mIHRoZSB2b3RlIHRvIGJlIHJlbW92ZWQuAFUBV2VpZ2h0OiBgTyhSICsgbG9nIFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcmVmZXJlbmRhIHRoYXQgYHRhcmdldGAgaGFzIHZvdGVkIG9uLtggIFdlaWdodCBpcyBjYWxjdWxhdGVkIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZS4kYmxhY2tsaXN0CAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAATxtYXliZV9yZWZfaW5kZXhtAQFcT3B0aW9uPFJlZmVyZW5kdW1JbmRleD4AEDxFAVBlcm1hbmVudGx5IHBsYWNlIGEgcHJvcG9zYWwgaW50byB0aGUgYmxhY2tsaXN0LiBUaGlzIHByZXZlbnRzIGl0IGZyb20gZXZlciBiZWluZzxwcm9wb3NlZCBhZ2Fpbi4AUQFJZiBjYWxsZWQgb24gYSBxdWV1ZWQgcHVibGljIG9yIGV4dGVybmFsIHByb3Bvc2FsLCB0aGVuIHRoaXMgd2lsbCByZXN1bHQgaW4gaXQgYmVpbmdRAXJlbW92ZWQuIElmIHRoZSBgcmVmX2luZGV4YCBzdXBwbGllZCBpcyBhbiBhY3RpdmUgcmVmZXJlbmR1bSB3aXRoIHRoZSBwcm9wb3NhbCBoYXNoLGh0aGVuIGl0IHdpbGwgYmUgY2FuY2VsbGVkLgDsVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgQmxhY2tsaXN0T3JpZ2luYC4A+C0gYHByb3Bvc2FsX2hhc2hgOiBUaGUgcHJvcG9zYWwgaGFzaCB0byBibGFja2xpc3QgcGVybWFuZW50bHkuRQEtIGByZWZfaW5kZXhgOiBBbiBvbmdvaW5nIHJlZmVyZW5kdW0gd2hvc2UgaGFzaCBpcyBgcHJvcG9zYWxfaGFzaGAsIHdoaWNoIHdpbGwgYmUoY2FuY2VsbGVkLgBBAVdlaWdodDogYE8ocClgICh0aG91Z2ggYXMgdGhpcyBpcyBhbiBoaWdoLXByaXZpbGVnZSBkaXNwYXRjaCwgd2UgYXNzdW1lIGl0IGhhcyBhUCAgcmVhc29uYWJsZSB2YWx1ZSkuPGNhbmNlbF9wcm9wb3NhbAQBKHByb3BfaW5kZXhpAQEkUHJvcEluZGV4ABEcSFJlbW92ZSBhIHByb3Bvc2FsLgABAVRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYENhbmNlbFByb3Bvc2FsT3JpZ2luYC4A0C0gYHByb3BfaW5kZXhgOiBUaGUgaW5kZXggb2YgdGhlIHByb3Bvc2FsIHRvIGNhbmNlbC4A5FdlaWdodDogYE8ocClgIHdoZXJlIGBwID0gUHVibGljUHJvcHM6OjxUPjo6ZGVjb2RlX2xlbigpYDBzZXRfbWV0YWRhdGEIARRvd25lcrgBNE1ldGFkYXRhT3duZXIAAShtYXliZV9oYXNonQIBPE9wdGlvbjxUOjpIYXNoPgASPNhTZXQgb3IgY2xlYXIgYSBtZXRhZGF0YSBvZiBhIHByb3Bvc2FsIG9yIGEgcmVmZXJlbmR1bS4ALFBhcmFtZXRlcnM6zC0gYG9yaWdpbmA6IE11c3QgY29ycmVzcG9uZCB0byB0aGUgYE1ldGFkYXRhT3duZXJgLj0BICAgIC0gYEV4dGVybmFsT3JpZ2luYCBmb3IgYW4gZXh0ZXJuYWwgcHJvcG9zYWwgd2l0aCB0aGUgYFN1cGVyTWFqb3JpdHlBcHByb3ZlYEAgICAgICB0aHJlc2hvbGQuWQEgICAgLSBgRXh0ZXJuYWxEZWZhdWx0T3JpZ2luYCBmb3IgYW4gZXh0ZXJuYWwgcHJvcG9zYWwgd2l0aCB0aGUgYFN1cGVyTWFqb3JpdHlBZ2FpbnN0YEAgICAgICB0aHJlc2hvbGQuRQEgICAgLSBgRXh0ZXJuYWxNYWpvcml0eU9yaWdpbmAgZm9yIGFuIGV4dGVybmFsIHByb3Bvc2FsIHdpdGggdGhlIGBTaW1wbGVNYWpvcml0eWBAICAgICAgdGhyZXNob2xkLsggICAgLSBgU2lnbmVkYCBieSBhIGNyZWF0b3IgZm9yIGEgcHVibGljIHByb3Bvc2FsLvQgICAgLSBgU2lnbmVkYCB0byBjbGVhciBhIG1ldGFkYXRhIGZvciBhIGZpbmlzaGVkIHJlZmVyZW5kdW0u5CAgICAtIGBSb290YCB0byBzZXQgYSBtZXRhZGF0YSBmb3IgYW4gb25nb2luZyByZWZlcmVuZHVtLrQtIGBvd25lcmA6IGFuIGlkZW50aWZpZXIgb2YgYSBtZXRhZGF0YSBvd25lci5RAS0gYG1heWJlX2hhc2hgOiBUaGUgaGFzaCBvZiBhbiBvbi1jaGFpbiBzdG9yZWQgcHJlaW1hZ2UuIGBOb25lYCB0byBjbGVhciBhIG1ldGFkYXRhLkRmb3JjZV9yZW1vdmVfdm90ZQgBGHRhcmdldAABbGNyYXRlOjpBY2NvdW50SWRMb29rdXBPZjxUPgABFGluZGV4EAF0Y3JhdGU6OnR5cGVzOjpSZWZlcmVuZHVtSW5kZXgAEzy4QWxsb3cgdG8gZm9yY2UgcmVtb3ZlIGEgdm90ZSBmb3IgYSByZWZlcmVuZHVtLgApAVNhbWUgYXMgYHJlbW92ZV9vdGhlcl92b3RlYCwgZXhjZXB0IHRoZSBzY29wZSBpcyBvdmVycmlkZW4gYnkgZm9yY2VkIGZsYWcu9FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYFZvdGVSZW1vdmFsT3JpZ2luYC4ArE9ubHkgYWxsb3dlZCBpZiB0aGUgcmVmZXJlbmR1bSBpcyBmaW5pc2hlZC4AyFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAE0BLSBgdGFyZ2V0YDogVGhlIGFjY291bnQgb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZDsgdGhpcyBhY2NvdW50IG11c3QgaGF2ZSB2b3RlZCBmb3JUICByZWZlcmVuZHVtIGBpbmRleGAu9C0gYGluZGV4YDogVGhlIGluZGV4IG9mIHJlZmVyZW5kdW0gb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZC4AVQFXZWlnaHQ6IGBPKFIgKyBsb2cgUilgIHdoZXJlIFIgaXMgdGhlIG51bWJlciBvZiByZWZlcmVuZGEgdGhhdCBgdGFyZ2V0YCBoYXMgdm90ZWQgb24u2CAgV2VpZ2h0IGlzIGNhbGN1bGF0ZWQgZm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiB2b3RlLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6ZAgxAcGFsbGV0X2RlbW9jcmFjeShjb252aWN0aW9uKENvbnZpY3Rpb24AARwQTm9uZQAAACBMb2NrZWQxeAABACBMb2NrZWQyeAACACBMb2NrZWQzeAADACBMb2NrZWQ0eAAEACBMb2NrZWQ1eAAFACBMb2NrZWQ2eAAGAACdAgQYT3B0aW9uBARUATQBCBBOb25lAAAAEFNvbWUEADQAAAEAAKECDGRwYWxsZXRfZWxlY3Rpb25zX3BocmFnbWVuGHBhbGxldBBDYWxsBARUAAEYEHZvdGUIARR2b3Rlc0UBAURWZWM8VDo6QWNjb3VudElkPgABFHZhbHVlQQEBMEJhbGFuY2VPZjxUPgAATFkBVm90ZSBmb3IgYSBzZXQgb2YgY2FuZGlkYXRlcyBmb3IgdGhlIHVwY29taW5nIHJvdW5kIG9mIGVsZWN0aW9uLiBUaGlzIGNhbiBiZSBjYWxsZWQgdG/gc2V0IHRoZSBpbml0aWFsIHZvdGVzLCBvciB1cGRhdGUgYWxyZWFkeSBleGlzdGluZyB2b3Rlcy4AXQFVcG9uIGluaXRpYWwgdm90aW5nLCBgdmFsdWVgIHVuaXRzIG9mIGB3aG9gJ3MgYmFsYW5jZSBpcyBsb2NrZWQgYW5kIGEgZGVwb3NpdCBhbW91bnQgaXNNAXJlc2VydmVkLiBUaGUgZGVwb3NpdCBpcyBiYXNlZCBvbiB0aGUgbnVtYmVyIG9mIHZvdGVzIGFuZCBjYW4gYmUgdXBkYXRlZCBvdmVyIHRpbWUuAExUaGUgYHZvdGVzYCBzaG91bGQ6RCAgLSBub3QgYmUgZW1wdHkuVQEgIC0gYmUgbGVzcyB0aGFuIHRoZSBudW1iZXIgb2YgcG9zc2libGUgY2FuZGlkYXRlcy4gTm90ZSB0aGF0IGFsbCBjdXJyZW50IG1lbWJlcnMgYW5kEQEgICAgcnVubmVycy11cCBhcmUgYWxzbyBhdXRvbWF0aWNhbGx5IGNhbmRpZGF0ZXMgZm9yIHRoZSBuZXh0IHJvdW5kLgBJAUlmIGB2YWx1ZWAgaXMgbW9yZSB0aGFuIGB3aG9gJ3MgZnJlZSBiYWxhbmNlLCB0aGVuIHRoZSBtYXhpbXVtIG9mIHRoZSB0d28gaXMgdXNlZC4AwFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgc2lnbmVkLgAsIyMjIFdhcm5pbmcAVQFJdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGNhbGxlciB0byAqKk5PVCoqIHBsYWNlIGFsbCBvZiB0aGVpciBiYWxhbmNlIGludG8gdGhlqGxvY2sgYW5kIGtlZXAgc29tZSBmb3IgZnVydGhlciBvcGVyYXRpb25zLjByZW1vdmVfdm90ZXIAARRsUmVtb3ZlIGBvcmlnaW5gIGFzIGEgdm90ZXIuALhUaGlzIHJlbW92ZXMgdGhlIGxvY2sgYW5kIHJldHVybnMgdGhlIGRlcG9zaXQuAPxUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIHNpZ25lZCBhbmQgYmUgYSB2b3Rlci5Ac3VibWl0X2NhbmRpZGFjeQQBPGNhbmRpZGF0ZV9jb3VudGkBAQx1MzIAAjwRAVN1Ym1pdCBvbmVzZWxmIGZvciBjYW5kaWRhY3kuIEEgZml4ZWQgYW1vdW50IG9mIGRlcG9zaXQgaXMgcmVjb3JkZWQuAF0BQWxsIGNhbmRpZGF0ZXMgYXJlIHdpcGVkIGF0IHRoZSBlbmQgb2YgdGhlIHRlcm0uIFRoZXkgZWl0aGVyIGJlY29tZSBhIG1lbWJlci9ydW5uZXItdXAszG9yIGxlYXZlIHRoZSBzeXN0ZW0gd2hpbGUgdGhlaXIgZGVwb3NpdCBpcyBzbGFzaGVkLgDAVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBzaWduZWQuACwjIyMgV2FybmluZwBdAUV2ZW4gaWYgYSBjYW5kaWRhdGUgZW5kcyB1cCBiZWluZyBhIG1lbWJlciwgdGhleSBtdXN0IGNhbGwgW2BDYWxsOjpyZW5vdW5jZV9jYW5kaWRhY3lgXVkBdG8gZ2V0IHRoZWlyIGRlcG9zaXQgYmFjay4gTG9zaW5nIHRoZSBzcG90IGluIGFuIGVsZWN0aW9uIHdpbGwgYWx3YXlzIGxlYWQgdG8gYSBzbGFzaC4ACQFUaGUgbnVtYmVyIG9mIGN1cnJlbnQgY2FuZGlkYXRlcyBtdXN0IGJlIHByb3ZpZGVkIGFzIHdpdG5lc3MgZGF0YS40IyMgQ29tcGxleGl0eaRPKEMgKyBsb2coQykpIHdoZXJlIEMgaXMgY2FuZGlkYXRlX2NvdW50LkhyZW5vdW5jZV9jYW5kaWRhY3kEAShyZW5vdW5jaW5npQIBKFJlbm91bmNpbmcAA1BNAVJlbm91bmNlIG9uZSdzIGludGVudGlvbiB0byBiZSBhIGNhbmRpZGF0ZSBmb3IgdGhlIG5leHQgZWxlY3Rpb24gcm91bmQuIDMgcG90ZW50aWFsPG91dGNvbWVzIGV4aXN0OgBJAS0gYG9yaWdpbmAgaXMgYSBjYW5kaWRhdGUgYW5kIG5vdCBlbGVjdGVkIGluIGFueSBzZXQuIEluIHRoaXMgY2FzZSwgdGhlIGRlcG9zaXQgaXPwICB1bnJlc2VydmVkLCByZXR1cm5lZCBhbmQgb3JpZ2luIGlzIHJlbW92ZWQgYXMgYSBjYW5kaWRhdGUuYQEtIGBvcmlnaW5gIGlzIGEgY3VycmVudCBydW5uZXItdXAuIEluIHRoaXMgY2FzZSwgdGhlIGRlcG9zaXQgaXMgdW5yZXNlcnZlZCwgcmV0dXJuZWQgYW5kjCAgb3JpZ2luIGlzIHJlbW92ZWQgYXMgYSBydW5uZXItdXAuVQEtIGBvcmlnaW5gIGlzIGEgY3VycmVudCBtZW1iZXIuIEluIHRoaXMgY2FzZSwgdGhlIGRlcG9zaXQgaXMgdW5yZXNlcnZlZCBhbmQgb3JpZ2luIGlzVQEgIHJlbW92ZWQgYXMgYSBtZW1iZXIsIGNvbnNlcXVlbnRseSBub3QgYmVpbmcgYSBjYW5kaWRhdGUgZm9yIHRoZSBuZXh0IHJvdW5kIGFueW1vcmUuYQEgIFNpbWlsYXIgdG8gW2ByZW1vdmVfbWVtYmVyYF0oU2VsZjo6cmVtb3ZlX21lbWJlciksIGlmIHJlcGxhY2VtZW50IHJ1bm5lcnMgZXhpc3RzLCB0aGV5WQEgIGFyZSBpbW1lZGlhdGVseSB1c2VkLiBJZiB0aGUgcHJpbWUgaXMgcmVub3VuY2luZywgdGhlbiBubyBwcmltZSB3aWxsIGV4aXN0IHVudGlsIHRoZTQgIG5leHQgcm91bmQuAEUBVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBzaWduZWQsIGFuZCBoYXZlIG9uZSBvZiB0aGUgYWJvdmUgcm9sZXMu4FRoZSB0eXBlIG9mIHJlbm91bmNpbmcgbXVzdCBiZSBwcm92aWRlZCBhcyB3aXRuZXNzIGRhdGEuADQjIyBDb21wbGV4aXR53CAgLSBSZW5vdW5jaW5nOjpDYW5kaWRhdGUoY291bnQpOiBPKGNvdW50ICsgbG9nKGNvdW50KSlwICAtIFJlbm91bmNpbmc6Ok1lbWJlcjogTygxKXggIC0gUmVub3VuY2luZzo6UnVubmVyVXA6IE8oMSk0cmVtb3ZlX21lbWJlcgwBDHdobwABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEoc2xhc2hfYm9uZCABEGJvb2wAAThyZXJ1bl9lbGVjdGlvbiABEGJvb2wABEBZAVJlbW92ZSBhIHBhcnRpY3VsYXIgbWVtYmVyIGZyb20gdGhlIHNldC4gVGhpcyBpcyBlZmZlY3RpdmUgaW1tZWRpYXRlbHkgYW5kIHRoZSBib25kIG9mfHRoZSBvdXRnb2luZyBtZW1iZXIgaXMgc2xhc2hlZC4AVQFJZiBhIHJ1bm5lci11cCBpcyBhdmFpbGFibGUsIHRoZW4gdGhlIGJlc3QgcnVubmVyLXVwIHdpbGwgYmUgcmVtb3ZlZCBhbmQgcmVwbGFjZXMgdGhlVQFvdXRnb2luZyBtZW1iZXIuIE90aGVyd2lzZSwgaWYgYHJlcnVuX2VsZWN0aW9uYCBpcyBgdHJ1ZWAsIGEgbmV3IHBocmFnbWVuIGVsZWN0aW9uIGlzfHN0YXJ0ZWQsIGVsc2UsIG5vdGhpbmcgaGFwcGVucy4AWQFJZiBgc2xhc2hfYm9uZGAgaXMgc2V0IHRvIHRydWUsIHRoZSBib25kIG9mIHRoZSBtZW1iZXIgYmVpbmcgcmVtb3ZlZCBpcyBzbGFzaGVkLiBFbHNlLDxpdCBpcyByZXR1cm5lZC4AuFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgcm9vdC4AQQFOb3RlIHRoYXQgdGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGRlc2lnbmF0ZWQgYmxvY2sgbnVtYmVyIG9mIHRoZSBuZXh0IGVsZWN0aW9uLgA0IyMgQ29tcGxleGl0eQUBLSBDaGVjayBkZXRhaWxzIG9mIHJlbW92ZV9hbmRfcmVwbGFjZV9tZW1iZXIoKSBhbmQgZG9fcGhyYWdtZW4oKS5QY2xlYW5fZGVmdW5jdF92b3RlcnMIAShudW1fdm90ZXJzEAEMdTMyAAEsbnVtX2RlZnVuY3QQAQx1MzIABSRFAUNsZWFuIGFsbCB2b3RlcnMgd2hvIGFyZSBkZWZ1bmN0IChpLmUuIHRoZXkgZG8gbm90IHNlcnZlIGFueSBwdXJwb3NlIGF0IGFsbCkuIFRoZaxkZXBvc2l0IG9mIHRoZSByZW1vdmVkIHZvdGVycyBhcmUgcmV0dXJuZWQuAAEBVGhpcyBpcyBhbiByb290IGZ1bmN0aW9uIHRvIGJlIHVzZWQgb25seSBmb3IgY2xlYW5pbmcgdGhlIHN0YXRlLgC4VGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSByb290LgA0IyMgQ29tcGxleGl0eYwtIENoZWNrIGlzX2RlZnVuY3Rfdm90ZXIoKSBkZXRhaWxzLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6lAghkcGFsbGV0X2VsZWN0aW9uc19waHJhZ21lbihSZW5vdW5jaW5nAAEMGE1lbWJlcgAAACBSdW5uZXJVcAABACRDYW5kaWRhdGUEAGkBAQx1MzIAAgAAqQIMRHBhbGxldF9jb2xsZWN0aXZlGHBhbGxldBBDYWxsCARUAARJAAEYLHNldF9tZW1iZXJzDAEsbmV3X21lbWJlcnNFAQFEVmVjPFQ6OkFjY291bnRJZD4AARRwcmltZQEBAVBPcHRpb248VDo6QWNjb3VudElkPgABJG9sZF9jb3VudBABLE1lbWJlckNvdW50AABggFNldCB0aGUgY29sbGVjdGl2ZSdzIG1lbWJlcnNoaXAuAEUBLSBgbmV3X21lbWJlcnNgOiBUaGUgbmV3IG1lbWJlciBsaXN0LiBCZSBuaWNlIHRvIHRoZSBjaGFpbiBhbmQgcHJvdmlkZSBpdCBzb3J0ZWQu4C0gYHByaW1lYDogVGhlIHByaW1lIG1lbWJlciB3aG9zZSB2b3RlIHNldHMgdGhlIGRlZmF1bHQuWQEtIGBvbGRfY291bnRgOiBUaGUgdXBwZXIgYm91bmQgZm9yIHRoZSBwcmV2aW91cyBudW1iZXIgb2YgbWVtYmVycyBpbiBzdG9yYWdlLiBVc2VkIGZvclAgIHdlaWdodCBlc3RpbWF0aW9uLgDUVGhlIGRpc3BhdGNoIG9mIHRoaXMgY2FsbCBtdXN0IGJlIGBTZXRNZW1iZXJzT3JpZ2luYC4AUQFOT1RFOiBEb2VzIG5vdCBlbmZvcmNlIHRoZSBleHBlY3RlZCBgTWF4TWVtYmVyc2AgbGltaXQgb24gdGhlIGFtb3VudCBvZiBtZW1iZXJzLCBidXQhASAgICAgIHRoZSB3ZWlnaHQgZXN0aW1hdGlvbnMgcmVseSBvbiBpdCB0byBlc3RpbWF0ZSBkaXNwYXRjaGFibGUgd2VpZ2h0LgAoIyBXQVJOSU5HOgBZAVRoZSBgcGFsbGV0LWNvbGxlY3RpdmVgIGNhbiBhbHNvIGJlIG1hbmFnZWQgYnkgbG9naWMgb3V0c2lkZSBvZiB0aGUgcGFsbGV0IHRocm91Z2ggdGhluGltcGxlbWVudGF0aW9uIG9mIHRoZSB0cmFpdCBbYENoYW5nZU1lbWJlcnNgXS5VAUFueSBjYWxsIHRvIGBzZXRfbWVtYmVyc2AgbXVzdCBiZSBjYXJlZnVsIHRoYXQgdGhlIG1lbWJlciBzZXQgZG9lc24ndCBnZXQgb3V0IG9mIHN5bmOkd2l0aCBvdGhlciBsb2dpYyBtYW5hZ2luZyB0aGUgbWVtYmVyIHNldC4AOCMjIENvbXBsZXhpdHk6UC0gYE8oTVAgKyBOKWAgd2hlcmU64CAgLSBgTWAgb2xkLW1lbWJlcnMtY291bnQgKGNvZGUtIGFuZCBnb3Zlcm5hbmNlLWJvdW5kZWQp4CAgLSBgTmAgbmV3LW1lbWJlcnMtY291bnQgKGNvZGUtIGFuZCBnb3Zlcm5hbmNlLWJvdW5kZWQpmCAgLSBgUGAgcHJvcG9zYWxzLWNvdW50IChjb2RlLWJvdW5kZWQpHGV4ZWN1dGUIASBwcm9wb3NhbCUBAXxCb3g8PFQgYXMgQ29uZmlnPEk+Pjo6UHJvcG9zYWw+AAEwbGVuZ3RoX2JvdW5kaQEBDHUzMgABJPBEaXNwYXRjaCBhIHByb3Bvc2FsIGZyb20gYSBtZW1iZXIgdXNpbmcgdGhlIGBNZW1iZXJgIG9yaWdpbi4AqE9yaWdpbiBtdXN0IGJlIGEgbWVtYmVyIG9mIHRoZSBjb2xsZWN0aXZlLgA4IyMgQ29tcGxleGl0eTpcLSBgTyhCICsgTSArIFApYCB3aGVyZTrYLSBgQmAgaXMgYHByb3Bvc2FsYCBzaXplIGluIGJ5dGVzIChsZW5ndGgtZmVlLWJvdW5kZWQpiC0gYE1gIG1lbWJlcnMtY291bnQgKGNvZGUtYm91bmRlZCmoLSBgUGAgY29tcGxleGl0eSBvZiBkaXNwYXRjaGluZyBgcHJvcG9zYWxgHHByb3Bvc2UMASR0aHJlc2hvbGRpAQEsTWVtYmVyQ291bnQAASBwcm9wb3NhbCUBAXxCb3g8PFQgYXMgQ29uZmlnPEk+Pjo6UHJvcG9zYWw+AAEwbGVuZ3RoX2JvdW5kaQEBDHUzMgACOPhBZGQgYSBuZXcgcHJvcG9zYWwgdG8gZWl0aGVyIGJlIHZvdGVkIG9uIG9yIGV4ZWN1dGVkIGRpcmVjdGx5LgCEUmVxdWlyZXMgdGhlIHNlbmRlciB0byBiZSBtZW1iZXIuAEEBYHRocmVzaG9sZGAgZGV0ZXJtaW5lcyB3aGV0aGVyIGBwcm9wb3NhbGAgaXMgZXhlY3V0ZWQgZGlyZWN0bHkgKGB0aHJlc2hvbGQgPCAyYClUb3IgcHV0IHVwIGZvciB2b3RpbmcuADQjIyBDb21wbGV4aXR5rC0gYE8oQiArIE0gKyBQMSlgIG9yIGBPKEIgKyBNICsgUDIpYCB3aGVyZTrgICAtIGBCYCBpcyBgcHJvcG9zYWxgIHNpemUgaW4gYnl0ZXMgKGxlbmd0aC1mZWUtYm91bmRlZCncICAtIGBNYCBpcyBtZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKcQgIC0gYnJhbmNoaW5nIGlzIGluZmx1ZW5jZWQgYnkgYHRocmVzaG9sZGAgd2hlcmU69CAgICAtIGBQMWAgaXMgcHJvcG9zYWwgZXhlY3V0aW9uIGNvbXBsZXhpdHkgKGB0aHJlc2hvbGQgPCAyYCn8ICAgIC0gYFAyYCBpcyBwcm9wb3NhbHMtY291bnQgKGNvZGUtYm91bmRlZCkgKGB0aHJlc2hvbGQgPj0gMmApEHZvdGUMASBwcm9wb3NhbDQBHFQ6Okhhc2gAARRpbmRleGkBATRQcm9wb3NhbEluZGV4AAEcYXBwcm92ZSABEGJvb2wAAyTwQWRkIGFuIGF5ZSBvciBuYXkgdm90ZSBmb3IgdGhlIHNlbmRlciB0byB0aGUgZ2l2ZW4gcHJvcG9zYWwuAIxSZXF1aXJlcyB0aGUgc2VuZGVyIHRvIGJlIGEgbWVtYmVyLgBJAVRyYW5zYWN0aW9uIGZlZXMgd2lsbCBiZSB3YWl2ZWQgaWYgdGhlIG1lbWJlciBpcyB2b3Rpbmcgb24gYW55IHBhcnRpY3VsYXIgcHJvcG9zYWxRAWZvciB0aGUgZmlyc3QgdGltZSBhbmQgdGhlIGNhbGwgaXMgc3VjY2Vzc2Z1bC4gU3Vic2VxdWVudCB2b3RlIGNoYW5nZXMgd2lsbCBjaGFyZ2UgYRBmZWUuNCMjIENvbXBsZXhpdHkJAS0gYE8oTSlgIHdoZXJlIGBNYCBpcyBtZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKUxkaXNhcHByb3ZlX3Byb3Bvc2FsBAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gABShZAURpc2FwcHJvdmUgYSBwcm9wb3NhbCwgY2xvc2UsIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgc3lzdGVtLCByZWdhcmRsZXNzIG9mIGl0cyBjdXJyZW50GHN0YXRlLgCITXVzdCBiZSBjYWxsZWQgYnkgdGhlIFJvb3Qgb3JpZ2luLgAsUGFyYW1ldGVyczodASogYHByb3Bvc2FsX2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgcHJvcG9zYWwgdGhhdCBzaG91bGQgYmUgZGlzYXBwcm92ZWQuADQjIyBDb21wbGV4aXR5rE8oUCkgd2hlcmUgUCBpcyB0aGUgbnVtYmVyIG9mIG1heCBwcm9wb3NhbHMUY2xvc2UQATRwcm9wb3NhbF9oYXNoNAEcVDo6SGFzaAABFGluZGV4aQEBNFByb3Bvc2FsSW5kZXgAAVRwcm9wb3NhbF93ZWlnaHRfYm91bmQoARhXZWlnaHQAATBsZW5ndGhfYm91bmRpAQEMdTMyAAZgTQFDbG9zZSBhIHZvdGUgdGhhdCBpcyBlaXRoZXIgYXBwcm92ZWQsIGRpc2FwcHJvdmVkIG9yIHdob3NlIHZvdGluZyBwZXJpb2QgaGFzIGVuZGVkLgBVAU1heSBiZSBjYWxsZWQgYnkgYW55IHNpZ25lZCBhY2NvdW50IGluIG9yZGVyIHRvIGZpbmlzaCB2b3RpbmcgYW5kIGNsb3NlIHRoZSBwcm9wb3NhbC4ASQFJZiBjYWxsZWQgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIHZvdGluZyBwZXJpb2QgaXQgd2lsbCBvbmx5IGNsb3NlIHRoZSB2b3RlIGlmIGl0IGlzvGhhcyBlbm91Z2ggdm90ZXMgdG8gYmUgYXBwcm92ZWQgb3IgZGlzYXBwcm92ZWQuAEkBSWYgY2FsbGVkIGFmdGVyIHRoZSBlbmQgb2YgdGhlIHZvdGluZyBwZXJpb2QgYWJzdGVudGlvbnMgYXJlIGNvdW50ZWQgYXMgcmVqZWN0aW9ucyUBdW5sZXNzIHRoZXJlIGlzIGEgcHJpbWUgbWVtYmVyIHNldCBhbmQgdGhlIHByaW1lIG1lbWJlciBjYXN0IGFuIGFwcHJvdmFsLgBhAUlmIHRoZSBjbG9zZSBvcGVyYXRpb24gY29tcGxldGVzIHN1Y2Nlc3NmdWxseSB3aXRoIGRpc2FwcHJvdmFsLCB0aGUgdHJhbnNhY3Rpb24gZmVlIHdpbGxdAWJlIHdhaXZlZC4gT3RoZXJ3aXNlIGV4ZWN1dGlvbiBvZiB0aGUgYXBwcm92ZWQgb3BlcmF0aW9uIHdpbGwgYmUgY2hhcmdlZCB0byB0aGUgY2FsbGVyLgBhASsgYHByb3Bvc2FsX3dlaWdodF9ib3VuZGA6IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB3ZWlnaHQgY29uc3VtZWQgYnkgZXhlY3V0aW5nIHRoZSBjbG9zZWQkcHJvcG9zYWwuYQErIGBsZW5ndGhfYm91bmRgOiBUaGUgdXBwZXIgYm91bmQgZm9yIHRoZSBsZW5ndGggb2YgdGhlIHByb3Bvc2FsIGluIHN0b3JhZ2UuIENoZWNrZWQgdmlhNQFgc3RvcmFnZTo6cmVhZGAgc28gaXQgaXMgYHNpemVfb2Y6Ojx1MzI+KCkgPT0gNGAgbGFyZ2VyIHRoYW4gdGhlIHB1cmUgbGVuZ3RoLgA0IyMgQ29tcGxleGl0eXQtIGBPKEIgKyBNICsgUDEgKyBQMilgIHdoZXJlOuAgIC0gYEJgIGlzIGBwcm9wb3NhbGAgc2l6ZSBpbiBieXRlcyAobGVuZ3RoLWZlZS1ib3VuZGVkKdwgIC0gYE1gIGlzIG1lbWJlcnMtY291bnQgKGNvZGUtIGFuZCBnb3Zlcm5hbmNlLWJvdW5kZWQpyCAgLSBgUDFgIGlzIHRoZSBjb21wbGV4aXR5IG9mIGBwcm9wb3NhbGAgcHJlaW1hZ2UupCAgLSBgUDJgIGlzIHByb3Bvc2FsLWNvdW50IChjb2RlLWJvdW5kZWQpBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLq0CDERwYWxsZXRfY29sbGVjdGl2ZRhwYWxsZXQQQ2FsbAgEVAAESQABGCxzZXRfbWVtYmVycwwBLG5ld19tZW1iZXJzRQEBRFZlYzxUOjpBY2NvdW50SWQ+AAEUcHJpbWUBAQFQT3B0aW9uPFQ6OkFjY291bnRJZD4AASRvbGRfY291bnQQASxNZW1iZXJDb3VudAAAYIBTZXQgdGhlIGNvbGxlY3RpdmUncyBtZW1iZXJzaGlwLgBFAS0gYG5ld19tZW1iZXJzYDogVGhlIG5ldyBtZW1iZXIgbGlzdC4gQmUgbmljZSB0byB0aGUgY2hhaW4gYW5kIHByb3ZpZGUgaXQgc29ydGVkLuAtIGBwcmltZWA6IFRoZSBwcmltZSBtZW1iZXIgd2hvc2Ugdm90ZSBzZXRzIHRoZSBkZWZhdWx0LlkBLSBgb2xkX2NvdW50YDogVGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgcHJldmlvdXMgbnVtYmVyIG9mIG1lbWJlcnMgaW4gc3RvcmFnZS4gVXNlZCBmb3JQICB3ZWlnaHQgZXN0aW1hdGlvbi4A1FRoZSBkaXNwYXRjaCBvZiB0aGlzIGNhbGwgbXVzdCBiZSBgU2V0TWVtYmVyc09yaWdpbmAuAFEBTk9URTogRG9lcyBub3QgZW5mb3JjZSB0aGUgZXhwZWN0ZWQgYE1heE1lbWJlcnNgIGxpbWl0IG9uIHRoZSBhbW91bnQgb2YgbWVtYmVycywgYnV0IQEgICAgICB0aGUgd2VpZ2h0IGVzdGltYXRpb25zIHJlbHkgb24gaXQgdG8gZXN0aW1hdGUgZGlzcGF0Y2hhYmxlIHdlaWdodC4AKCMgV0FSTklORzoAWQFUaGUgYHBhbGxldC1jb2xsZWN0aXZlYCBjYW4gYWxzbyBiZSBtYW5hZ2VkIGJ5IGxvZ2ljIG91dHNpZGUgb2YgdGhlIHBhbGxldCB0aHJvdWdoIHRoZbhpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdHJhaXQgW2BDaGFuZ2VNZW1iZXJzYF0uVQFBbnkgY2FsbCB0byBgc2V0X21lbWJlcnNgIG11c3QgYmUgY2FyZWZ1bCB0aGF0IHRoZSBtZW1iZXIgc2V0IGRvZXNuJ3QgZ2V0IG91dCBvZiBzeW5jpHdpdGggb3RoZXIgbG9naWMgbWFuYWdpbmcgdGhlIG1lbWJlciBzZXQuADgjIyBDb21wbGV4aXR5OlAtIGBPKE1QICsgTilgIHdoZXJlOuAgIC0gYE1gIG9sZC1tZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKeAgIC0gYE5gIG5ldy1tZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKZggIC0gYFBgIHByb3Bvc2Fscy1jb3VudCAoY29kZS1ib3VuZGVkKRxleGVjdXRlCAEgcHJvcG9zYWwlAQF8Qm94PDxUIGFzIENvbmZpZzxJPj46OlByb3Bvc2FsPgABMGxlbmd0aF9ib3VuZGkBAQx1MzIAASTwRGlzcGF0Y2ggYSBwcm9wb3NhbCBmcm9tIGEgbWVtYmVyIHVzaW5nIHRoZSBgTWVtYmVyYCBvcmlnaW4uAKhPcmlnaW4gbXVzdCBiZSBhIG1lbWJlciBvZiB0aGUgY29sbGVjdGl2ZS4AOCMjIENvbXBsZXhpdHk6XC0gYE8oQiArIE0gKyBQKWAgd2hlcmU62C0gYEJgIGlzIGBwcm9wb3NhbGAgc2l6ZSBpbiBieXRlcyAobGVuZ3RoLWZlZS1ib3VuZGVkKYgtIGBNYCBtZW1iZXJzLWNvdW50IChjb2RlLWJvdW5kZWQpqC0gYFBgIGNvbXBsZXhpdHkgb2YgZGlzcGF0Y2hpbmcgYHByb3Bvc2FsYBxwcm9wb3NlDAEkdGhyZXNob2xkaQEBLE1lbWJlckNvdW50AAEgcHJvcG9zYWwlAQF8Qm94PDxUIGFzIENvbmZpZzxJPj46OlByb3Bvc2FsPgABMGxlbmd0aF9ib3VuZGkBAQx1MzIAAjj4QWRkIGEgbmV3IHByb3Bvc2FsIHRvIGVpdGhlciBiZSB2b3RlZCBvbiBvciBleGVjdXRlZCBkaXJlY3RseS4AhFJlcXVpcmVzIHRoZSBzZW5kZXIgdG8gYmUgbWVtYmVyLgBBAWB0aHJlc2hvbGRgIGRldGVybWluZXMgd2hldGhlciBgcHJvcG9zYWxgIGlzIGV4ZWN1dGVkIGRpcmVjdGx5IChgdGhyZXNob2xkIDwgMmApVG9yIHB1dCB1cCBmb3Igdm90aW5nLgA0IyMgQ29tcGxleGl0eawtIGBPKEIgKyBNICsgUDEpYCBvciBgTyhCICsgTSArIFAyKWAgd2hlcmU64CAgLSBgQmAgaXMgYHByb3Bvc2FsYCBzaXplIGluIGJ5dGVzIChsZW5ndGgtZmVlLWJvdW5kZWQp3CAgLSBgTWAgaXMgbWVtYmVycy1jb3VudCAoY29kZS0gYW5kIGdvdmVybmFuY2UtYm91bmRlZCnEICAtIGJyYW5jaGluZyBpcyBpbmZsdWVuY2VkIGJ5IGB0aHJlc2hvbGRgIHdoZXJlOvQgICAgLSBgUDFgIGlzIHByb3Bvc2FsIGV4ZWN1dGlvbiBjb21wbGV4aXR5IChgdGhyZXNob2xkIDwgMmAp/CAgICAtIGBQMmAgaXMgcHJvcG9zYWxzLWNvdW50IChjb2RlLWJvdW5kZWQpIChgdGhyZXNob2xkID49IDJgKRB2b3RlDAEgcHJvcG9zYWw0ARxUOjpIYXNoAAEUaW5kZXhpAQE0UHJvcG9zYWxJbmRleAABHGFwcHJvdmUgARBib29sAAMk8EFkZCBhbiBheWUgb3IgbmF5IHZvdGUgZm9yIHRoZSBzZW5kZXIgdG8gdGhlIGdpdmVuIHByb3Bvc2FsLgCMUmVxdWlyZXMgdGhlIHNlbmRlciB0byBiZSBhIG1lbWJlci4ASQFUcmFuc2FjdGlvbiBmZWVzIHdpbGwgYmUgd2FpdmVkIGlmIHRoZSBtZW1iZXIgaXMgdm90aW5nIG9uIGFueSBwYXJ0aWN1bGFyIHByb3Bvc2FsUQFmb3IgdGhlIGZpcnN0IHRpbWUgYW5kIHRoZSBjYWxsIGlzIHN1Y2Nlc3NmdWwuIFN1YnNlcXVlbnQgdm90ZSBjaGFuZ2VzIHdpbGwgY2hhcmdlIGEQZmVlLjQjIyBDb21wbGV4aXR5CQEtIGBPKE0pYCB3aGVyZSBgTWAgaXMgbWVtYmVycy1jb3VudCAoY29kZS0gYW5kIGdvdmVybmFuY2UtYm91bmRlZClMZGlzYXBwcm92ZV9wcm9wb3NhbAQBNHByb3Bvc2FsX2hhc2g0ARxUOjpIYXNoAAUoWQFEaXNhcHByb3ZlIGEgcHJvcG9zYWwsIGNsb3NlLCBhbmQgcmVtb3ZlIGl0IGZyb20gdGhlIHN5c3RlbSwgcmVnYXJkbGVzcyBvZiBpdHMgY3VycmVudBhzdGF0ZS4AiE11c3QgYmUgY2FsbGVkIGJ5IHRoZSBSb290IG9yaWdpbi4ALFBhcmFtZXRlcnM6HQEqIGBwcm9wb3NhbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIHByb3Bvc2FsIHRoYXQgc2hvdWxkIGJlIGRpc2FwcHJvdmVkLgA0IyMgQ29tcGxleGl0eaxPKFApIHdoZXJlIFAgaXMgdGhlIG51bWJlciBvZiBtYXggcHJvcG9zYWxzFGNsb3NlEAE0cHJvcG9zYWxfaGFzaDQBHFQ6Okhhc2gAARRpbmRleGkBATRQcm9wb3NhbEluZGV4AAFUcHJvcG9zYWxfd2VpZ2h0X2JvdW5kKAEYV2VpZ2h0AAEwbGVuZ3RoX2JvdW5kaQEBDHUzMgAGYE0BQ2xvc2UgYSB2b3RlIHRoYXQgaXMgZWl0aGVyIGFwcHJvdmVkLCBkaXNhcHByb3ZlZCBvciB3aG9zZSB2b3RpbmcgcGVyaW9kIGhhcyBlbmRlZC4AVQFNYXkgYmUgY2FsbGVkIGJ5IGFueSBzaWduZWQgYWNjb3VudCBpbiBvcmRlciB0byBmaW5pc2ggdm90aW5nIGFuZCBjbG9zZSB0aGUgcHJvcG9zYWwuAEkBSWYgY2FsbGVkIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSB2b3RpbmcgcGVyaW9kIGl0IHdpbGwgb25seSBjbG9zZSB0aGUgdm90ZSBpZiBpdCBpc7xoYXMgZW5vdWdoIHZvdGVzIHRvIGJlIGFwcHJvdmVkIG9yIGRpc2FwcHJvdmVkLgBJAUlmIGNhbGxlZCBhZnRlciB0aGUgZW5kIG9mIHRoZSB2b3RpbmcgcGVyaW9kIGFic3RlbnRpb25zIGFyZSBjb3VudGVkIGFzIHJlamVjdGlvbnMlAXVubGVzcyB0aGVyZSBpcyBhIHByaW1lIG1lbWJlciBzZXQgYW5kIHRoZSBwcmltZSBtZW1iZXIgY2FzdCBhbiBhcHByb3ZhbC4AYQFJZiB0aGUgY2xvc2Ugb3BlcmF0aW9uIGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkgd2l0aCBkaXNhcHByb3ZhbCwgdGhlIHRyYW5zYWN0aW9uIGZlZSB3aWxsXQFiZSB3YWl2ZWQuIE90aGVyd2lzZSBleGVjdXRpb24gb2YgdGhlIGFwcHJvdmVkIG9wZXJhdGlvbiB3aWxsIGJlIGNoYXJnZWQgdG8gdGhlIGNhbGxlci4AYQErIGBwcm9wb3NhbF93ZWlnaHRfYm91bmRgOiBUaGUgbWF4aW11bSBhbW91bnQgb2Ygd2VpZ2h0IGNvbnN1bWVkIGJ5IGV4ZWN1dGluZyB0aGUgY2xvc2VkJHByb3Bvc2FsLmEBKyBgbGVuZ3RoX2JvdW5kYDogVGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgbGVuZ3RoIG9mIHRoZSBwcm9wb3NhbCBpbiBzdG9yYWdlLiBDaGVja2VkIHZpYTUBYHN0b3JhZ2U6OnJlYWRgIHNvIGl0IGlzIGBzaXplX29mOjo8dTMyPigpID09IDRgIGxhcmdlciB0aGFuIHRoZSBwdXJlIGxlbmd0aC4ANCMjIENvbXBsZXhpdHl0LSBgTyhCICsgTSArIFAxICsgUDIpYCB3aGVyZTrgICAtIGBCYCBpcyBgcHJvcG9zYWxgIHNpemUgaW4gYnl0ZXMgKGxlbmd0aC1mZWUtYm91bmRlZCncICAtIGBNYCBpcyBtZW1iZXJzLWNvdW50IChjb2RlLSBhbmQgZ292ZXJuYW5jZS1ib3VuZGVkKcggIC0gYFAxYCBpcyB0aGUgY29tcGxleGl0eSBvZiBgcHJvcG9zYWxgIHByZWltYWdlLqQgIC0gYFAyYCBpcyBwcm9wb3NhbC1jb3VudCAoY29kZS1ib3VuZGVkKQQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6xAgwscGFsbGV0X3RpcHMYcGFsbGV0EENhbGwIBFQABEkAARg4cmVwb3J0X2F3ZXNvbWUIARhyZWFzb244ARxWZWM8dTg+AAEMd2hvAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAEBZAVJlcG9ydCBzb21ldGhpbmcgYHJlYXNvbmAgdGhhdCBkZXNlcnZlcyBhIHRpcCBhbmQgY2xhaW0gYW55IGV2ZW50dWFsIHRoZSBmaW5kZXIncyBmZWUuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AUQFQYXltZW50OiBgVGlwUmVwb3J0RGVwb3NpdEJhc2VgIHdpbGwgYmUgcmVzZXJ2ZWQgZnJvbSB0aGUgb3JpZ2luIGFjY291bnQsIGFzIHdlbGwgYXO8YERhdGFEZXBvc2l0UGVyQnl0ZWAgZm9yIGVhY2ggYnl0ZSBpbiBgcmVhc29uYC4AXQEtIGByZWFzb25gOiBUaGUgcmVhc29uIGZvciwgb3IgdGhlIHRoaW5nIHRoYXQgZGVzZXJ2ZXMsIHRoZSB0aXA7IGdlbmVyYWxseSB0aGlzIHdpbGwgYmVYICBhIFVURi04LWVuY29kZWQgVVJMLugtIGB3aG9gOiBUaGUgYWNjb3VudCB3aGljaCBzaG91bGQgYmUgY3JlZGl0ZWQgZm9yIHRoZSB0aXAuAHRFbWl0cyBgTmV3VGlwYCBpZiBzdWNjZXNzZnVsLgA0IyMgQ29tcGxleGl0eZgtIGBPKFIpYCB3aGVyZSBgUmAgbGVuZ3RoIG9mIGByZWFzb25gLpAgIC0gZW5jb2RpbmcgYW5kIGhhc2hpbmcgb2YgJ3JlYXNvbicscmV0cmFjdF90aXAEARBoYXNoNAEcVDo6SGFzaAABQFEBUmV0cmFjdCBhIHByaW9yIHRpcC1yZXBvcnQgZnJvbSBgcmVwb3J0X2F3ZXNvbWVgLCBhbmQgY2FuY2VsIHRoZSBwcm9jZXNzIG9mIHRpcHBpbmcuANxJZiBzdWNjZXNzZnVsLCB0aGUgb3JpZ2luYWwgZGVwb3NpdCB3aWxsIGJlIHVucmVzZXJ2ZWQuAE0BVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIHRoZSB0aXAgaWRlbnRpZmllZCBieSBgaGFzaGBBAW11c3QgaGF2ZSBiZWVuIHJlcG9ydGVkIGJ5IHRoZSBzaWduaW5nIGFjY291bnQgdGhyb3VnaCBgcmVwb3J0X2F3ZXNvbWVgIChhbmQgbm90THRocm91Z2ggYHRpcF9uZXdgKS4AYQEtIGBoYXNoYDogVGhlIGlkZW50aXR5IG9mIHRoZSBvcGVuIHRpcCBmb3Igd2hpY2ggYSB0aXAgdmFsdWUgaXMgZGVjbGFyZWQuIFRoaXMgaXMgZm9ybWVkXQEgIGFzIHRoZSBoYXNoIG9mIHRoZSB0dXBsZSBvZiB0aGUgb3JpZ2luYWwgdGlwIGByZWFzb25gIGFuZCB0aGUgYmVuZWZpY2lhcnkgYWNjb3VudCBJRC4AjEVtaXRzIGBUaXBSZXRyYWN0ZWRgIGlmIHN1Y2Nlc3NmdWwuADQjIyBDb21wbGV4aXR5IC0gYE8oMSlg2CAgLSBEZXBlbmRzIG9uIHRoZSBsZW5ndGggb2YgYFQ6Okhhc2hgIHdoaWNoIGlzIGZpeGVkLhx0aXBfbmV3DAEYcmVhc29uOAEcVmVjPHU4PgABDHdobwABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEkdGlwX3ZhbHVlQQEBPEJhbGFuY2VPZjxULCBJPgACTPBHaXZlIGEgdGlwIGZvciBzb21ldGhpbmcgbmV3OyBubyBmaW5kZXIncyBmZWUgd2lsbCBiZSB0YWtlbi4AUQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGJlIGFwbWVtYmVyIG9mIHRoZSBgVGlwcGVyc2Agc2V0LgBdAS0gYHJlYXNvbmA6IFRoZSByZWFzb24gZm9yLCBvciB0aGUgdGhpbmcgdGhhdCBkZXNlcnZlcywgdGhlIHRpcDsgZ2VuZXJhbGx5IHRoaXMgd2lsbCBiZVggIGEgVVRGLTgtZW5jb2RlZCBVUkwu6C0gYHdob2A6IFRoZSBhY2NvdW50IHdoaWNoIHNob3VsZCBiZSBjcmVkaXRlZCBmb3IgdGhlIHRpcC5NAS0gYHRpcF92YWx1ZWA6IFRoZSBhbW91bnQgb2YgdGlwIHRoYXQgdGhlIHNlbmRlciB3b3VsZCBsaWtlIHRvIGdpdmUuIFRoZSBtZWRpYW4gdGlw1CAgdmFsdWUgb2YgYWN0aXZlIHRpcHBlcnMgd2lsbCBiZSBnaXZlbiB0byB0aGUgYHdob2AuAHRFbWl0cyBgTmV3VGlwYCBpZiBzdWNjZXNzZnVsLgA0IyMgQ29tcGxleGl0eSEBLSBgTyhSICsgVClgIHdoZXJlIGBSYCBsZW5ndGggb2YgYHJlYXNvbmAsIGBUYCBpcyB0aGUgbnVtYmVyIG9mIHRpcHBlcnMuXQEgIC0gYE8oVClgOiBkZWNvZGluZyBgVGlwcGVyYCB2ZWMgb2YgbGVuZ3RoIGBUYC4gYFRgIGlzIGNoYXJnZWQgYXMgdXBwZXIgYm91bmQgZ2l2ZW4gYnktASAgICBgQ29udGFpbnNMZW5ndGhCb3VuZGAuIFRoZSBhY3R1YWwgY29zdCBkZXBlbmRzIG9uIHRoZSBpbXBsZW1lbnRhdGlvbiBvZkQgICAgYFQ6OlRpcHBlcnNgLuAgIC0gYE8oUilgOiBoYXNoaW5nIGFuZCBlbmNvZGluZyBvZiByZWFzb24gb2YgbGVuZ3RoIGBSYAx0aXAIARBoYXNoNAEcVDo6SGFzaAABJHRpcF92YWx1ZUEBATxCYWxhbmNlT2Y8VCwgST4AA1SwRGVjbGFyZSBhIHRpcCB2YWx1ZSBmb3IgYW4gYWxyZWFkeS1vcGVuIHRpcC4AUQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGJlIGFwbWVtYmVyIG9mIHRoZSBgVGlwcGVyc2Agc2V0LgBhAS0gYGhhc2hgOiBUaGUgaWRlbnRpdHkgb2YgdGhlIG9wZW4gdGlwIGZvciB3aGljaCBhIHRpcCB2YWx1ZSBpcyBkZWNsYXJlZC4gVGhpcyBpcyBmb3JtZWRdASAgYXMgdGhlIGhhc2ggb2YgdGhlIHR1cGxlIG9mIHRoZSBoYXNoIG9mIHRoZSBvcmlnaW5hbCB0aXAgYHJlYXNvbmAgYW5kIHRoZSBiZW5lZmljaWFyeTQgIGFjY291bnQgSUQuTQEtIGB0aXBfdmFsdWVgOiBUaGUgYW1vdW50IG9mIHRpcCB0aGF0IHRoZSBzZW5kZXIgd291bGQgbGlrZSB0byBnaXZlLiBUaGUgbWVkaWFuIHRpcNQgIHZhbHVlIG9mIGFjdGl2ZSB0aXBwZXJzIHdpbGwgYmUgZ2l2ZW4gdG8gdGhlIGB3aG9gLgBhAUVtaXRzIGBUaXBDbG9zaW5nYCBpZiB0aGUgdGhyZXNob2xkIG9mIHRpcHBlcnMgaGFzIGJlZW4gcmVhY2hlZCBhbmQgdGhlIGNvdW50ZG93biBwZXJpb2QwaGFzIHN0YXJ0ZWQuADQjIyBDb21wbGV4aXR5YQEtIGBPKFQpYCB3aGVyZSBgVGAgaXMgdGhlIG51bWJlciBvZiB0aXBwZXJzLiBkZWNvZGluZyBgVGlwcGVyYCB2ZWMgb2YgbGVuZ3RoIGBUYCwgaW5zZXJ0WQEgIHRpcCBhbmQgY2hlY2sgY2xvc2luZywgYFRgIGlzIGNoYXJnZWQgYXMgdXBwZXIgYm91bmQgZ2l2ZW4gYnkgYENvbnRhaW5zTGVuZ3RoQm91bmRgLgEBICBUaGUgYWN0dWFsIGNvc3QgZGVwZW5kcyBvbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgYFQ6OlRpcHBlcnNgLgBdASAgQWN0dWFsbHkgd2VpZ2h0IGNvdWxkIGJlIGxvd2VyIGFzIGl0IGRlcGVuZHMgb24gaG93IG1hbnkgdGlwcyBhcmUgaW4gYE9wZW5UaXBgIGJ1dCBpdNAgIGlzIHdlaWdodGVkIGFzIGlmIGFsbW9zdCBmdWxsIGkuZSBvZiBsZW5ndGggYFQtMWAuJGNsb3NlX3RpcAQBEGhhc2g0ARxUOjpIYXNoAAQ0XENsb3NlIGFuZCBwYXlvdXQgYSB0aXAuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AFQFUaGUgdGlwIGlkZW50aWZpZWQgYnkgYGhhc2hgIG11c3QgaGF2ZSBmaW5pc2hlZCBpdHMgY291bnRkb3duIHBlcmlvZC4AYQEtIGBoYXNoYDogVGhlIGlkZW50aXR5IG9mIHRoZSBvcGVuIHRpcCBmb3Igd2hpY2ggYSB0aXAgdmFsdWUgaXMgZGVjbGFyZWQuIFRoaXMgaXMgZm9ybWVkXQEgIGFzIHRoZSBoYXNoIG9mIHRoZSB0dXBsZSBvZiB0aGUgb3JpZ2luYWwgdGlwIGByZWFzb25gIGFuZCB0aGUgYmVuZWZpY2lhcnkgYWNjb3VudCBJRC4ANCMjIENvbXBsZXhpdHldAS0gOiBgTyhUKWAgd2hlcmUgYFRgIGlzIHRoZSBudW1iZXIgb2YgdGlwcGVycy4gZGVjb2RpbmcgYFRpcHBlcmAgdmVjIG9mIGxlbmd0aCBgVGAuIGBUYFkBICBpcyBjaGFyZ2VkIGFzIHVwcGVyIGJvdW5kIGdpdmVuIGJ5IGBDb250YWluc0xlbmd0aEJvdW5kYC4gVGhlIGFjdHVhbCBjb3N0IGRlcGVuZHMgb26UICB0aGUgaW1wbGVtZW50YXRpb24gb2YgYFQ6OlRpcHBlcnNgLiRzbGFzaF90aXAEARBoYXNoNAEcVDo6SGFzaAAFKJRSZW1vdmUgYW5kIHNsYXNoIGFuIGFscmVhZHktb3BlbiB0aXAuAKhNYXkgb25seSBiZSBjYWxsZWQgZnJvbSBgVDo6UmVqZWN0T3JpZ2luYC4A9EFzIGEgcmVzdWx0LCB0aGUgZmluZGVyIGlzIHNsYXNoZWQgYW5kIHRoZSBkZXBvc2l0cyBhcmUgbG9zdC4AhEVtaXRzIGBUaXBTbGFzaGVkYCBpZiBzdWNjZXNzZnVsLgA0IyMgQ29tcGxleGl0eRwtIE8oMSkuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLrUCDDBwYWxsZXRfcHJveHkYcGFsbGV0EENhbGwEBFQAASgUcHJveHkMARByZWFsAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAUBmb3JjZV9wcm94eV90eXBluQIBUE9wdGlvbjxUOjpQcm94eVR5cGU+AAEQY2FsbCUBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAAkTQFEaXNwYXRjaCB0aGUgZ2l2ZW4gYGNhbGxgIGZyb20gYW4gYWNjb3VudCB0aGF0IHRoZSBzZW5kZXIgaXMgYXV0aG9yaXNlZCBmb3IgdGhyb3VnaDBgYWRkX3Byb3h5YC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgAsUGFyYW1ldGVyczoNAS0gYHJlYWxgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBwcm94eSB3aWxsIG1ha2UgYSBjYWxsIG9uIGJlaGFsZiBvZi5hAS0gYGZvcmNlX3Byb3h5X3R5cGVgOiBTcGVjaWZ5IHRoZSBleGFjdCBwcm94eSB0eXBlIHRvIGJlIHVzZWQgYW5kIGNoZWNrZWQgZm9yIHRoaXMgY2FsbC7QLSBgY2FsbGA6IFRoZSBjYWxsIHRvIGJlIG1hZGUgYnkgdGhlIGByZWFsYCBhY2NvdW50LiRhZGRfcHJveHkMASBkZWxlZ2F0ZQABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEocHJveHlfdHlwZdgBMFQ6OlByb3h5VHlwZQABFGRlbGF5EAFEQmxvY2tOdW1iZXJGb3I8VD4AASRFAVJlZ2lzdGVyIGEgcHJveHkgYWNjb3VudCBmb3IgdGhlIHNlbmRlciB0aGF0IGlzIGFibGUgdG8gbWFrZSBjYWxscyBvbiBpdHMgYmVoYWxmLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uACxQYXJhbWV0ZXJzOhEBLSBgcHJveHlgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBgY2FsbGVyYCB3b3VsZCBsaWtlIHRvIG1ha2UgYSBwcm94eS78LSBgcHJveHlfdHlwZWA6IFRoZSBwZXJtaXNzaW9ucyBhbGxvd2VkIGZvciB0aGlzIHByb3h5IGFjY291bnQuTQEtIGBkZWxheWA6IFRoZSBhbm5vdW5jZW1lbnQgcGVyaW9kIHJlcXVpcmVkIG9mIHRoZSBpbml0aWFsIHByb3h5LiBXaWxsIGdlbmVyYWxseSBiZRR6ZXJvLjByZW1vdmVfcHJveHkMASBkZWxlZ2F0ZQABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEocHJveHlfdHlwZdgBMFQ6OlByb3h5VHlwZQABFGRlbGF5EAFEQmxvY2tOdW1iZXJGb3I8VD4AAhyoVW5yZWdpc3RlciBhIHByb3h5IGFjY291bnQgZm9yIHRoZSBzZW5kZXIuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM6JQEtIGBwcm94eWA6IFRoZSBhY2NvdW50IHRoYXQgdGhlIGBjYWxsZXJgIHdvdWxkIGxpa2UgdG8gcmVtb3ZlIGFzIGEgcHJveHkuQQEtIGBwcm94eV90eXBlYDogVGhlIHBlcm1pc3Npb25zIGN1cnJlbnRseSBlbmFibGVkIGZvciB0aGUgcmVtb3ZlZCBwcm94eSBhY2NvdW50LjhyZW1vdmVfcHJveGllcwADGLRVbnJlZ2lzdGVyIGFsbCBwcm94eSBhY2NvdW50cyBmb3IgdGhlIHNlbmRlci4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBBAVdBUk5JTkc6IFRoaXMgbWF5IGJlIGNhbGxlZCBvbiBhY2NvdW50cyBjcmVhdGVkIGJ5IGBwdXJlYCwgaG93ZXZlciBpZiBkb25lLCB0aGVuWQF0aGUgdW5yZXNlcnZlZCBmZWVzIHdpbGwgYmUgaW5hY2Nlc3NpYmxlLiAqKkFsbCBhY2Nlc3MgdG8gdGhpcyBhY2NvdW50IHdpbGwgYmUgbG9zdC4qKixjcmVhdGVfcHVyZQwBKHByb3h5X3R5cGXYATBUOjpQcm94eVR5cGUAARRkZWxheRABREJsb2NrTnVtYmVyRm9yPFQ+AAEUaW5kZXjcAQx1MTYABEg5AVNwYXduIGEgZnJlc2ggbmV3IGFjY291bnQgdGhhdCBpcyBndWFyYW50ZWVkIHRvIGJlIG90aGVyd2lzZSBpbmFjY2Vzc2libGUsIGFuZPxpbml0aWFsaXplIGl0IHdpdGggYSBwcm94eSBvZiBgcHJveHlfdHlwZWAgZm9yIGBvcmlnaW5gIHNlbmRlci4AbFJlcXVpcmVzIGEgYFNpZ25lZGAgb3JpZ2luLgBRAS0gYHByb3h5X3R5cGVgOiBUaGUgdHlwZSBvZiB0aGUgcHJveHkgdGhhdCB0aGUgc2VuZGVyIHdpbGwgYmUgcmVnaXN0ZXJlZCBhcyBvdmVyIHRoZU0BbmV3IGFjY291bnQuIFRoaXMgd2lsbCBhbG1vc3QgYWx3YXlzIGJlIHRoZSBtb3N0IHBlcm1pc3NpdmUgYFByb3h5VHlwZWAgcG9zc2libGUgdG94YWxsb3cgZm9yIG1heGltdW0gZmxleGliaWxpdHkuUQEtIGBpbmRleGA6IEEgZGlzYW1iaWd1YXRpb24gaW5kZXgsIGluIGNhc2UgdGhpcyBpcyBjYWxsZWQgbXVsdGlwbGUgdGltZXMgaW4gdGhlIHNhbWVdAXRyYW5zYWN0aW9uIChlLmcuIHdpdGggYHV0aWxpdHk6OmJhdGNoYCkuIFVubGVzcyB5b3UncmUgdXNpbmcgYGJhdGNoYCB5b3UgcHJvYmFibHkganVzdEB3YW50IHRvIHVzZSBgMGAuTQEtIGBkZWxheWA6IFRoZSBhbm5vdW5jZW1lbnQgcGVyaW9kIHJlcXVpcmVkIG9mIHRoZSBpbml0aWFsIHByb3h5LiBXaWxsIGdlbmVyYWxseSBiZRR6ZXJvLgBRAUZhaWxzIHdpdGggYER1cGxpY2F0ZWAgaWYgdGhpcyBoYXMgYWxyZWFkeSBiZWVuIGNhbGxlZCBpbiB0aGlzIHRyYW5zYWN0aW9uLCBmcm9tIHRoZZhzYW1lIHNlbmRlciwgd2l0aCB0aGUgc2FtZSBwYXJhbWV0ZXJzLgDkRmFpbHMgaWYgdGhlcmUgYXJlIGluc3VmZmljaWVudCBmdW5kcyB0byBwYXkgZm9yIGRlcG9zaXQuJGtpbGxfcHVyZRQBHHNwYXduZXIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKHByb3h5X3R5cGXYATBUOjpQcm94eVR5cGUAARRpbmRleNwBDHUxNgABGGhlaWdodGkBAURCbG9ja051bWJlckZvcjxUPgABJGV4dF9pbmRleGkBAQx1MzIABUCgUmVtb3ZlcyBhIHByZXZpb3VzbHkgc3Bhd25lZCBwdXJlIHByb3h5LgBJAVdBUk5JTkc6ICoqQWxsIGFjY2VzcyB0byB0aGlzIGFjY291bnQgd2lsbCBiZSBsb3N0LioqIEFueSBmdW5kcyBoZWxkIGluIGl0IHdpbGwgYmU0aW5hY2Nlc3NpYmxlLgBZAVJlcXVpcmVzIGEgYFNpZ25lZGAgb3JpZ2luLCBhbmQgdGhlIHNlbmRlciBhY2NvdW50IG11c3QgaGF2ZSBiZWVuIGNyZWF0ZWQgYnkgYSBjYWxsIHRvlGBwdXJlYCB3aXRoIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVycy4AOQEtIGBzcGF3bmVyYDogVGhlIGFjY291bnQgdGhhdCBvcmlnaW5hbGx5IGNhbGxlZCBgcHVyZWAgdG8gY3JlYXRlIHRoaXMgYWNjb3VudC45AS0gYGluZGV4YDogVGhlIGRpc2FtYmlndWF0aW9uIGluZGV4IG9yaWdpbmFsbHkgcGFzc2VkIHRvIGBwdXJlYC4gUHJvYmFibHkgYDBgLuwtIGBwcm94eV90eXBlYDogVGhlIHByb3h5IHR5cGUgb3JpZ2luYWxseSBwYXNzZWQgdG8gYHB1cmVgLikBLSBgaGVpZ2h0YDogVGhlIGhlaWdodCBvZiB0aGUgY2hhaW4gd2hlbiB0aGUgY2FsbCB0byBgcHVyZWAgd2FzIHByb2Nlc3NlZC41AS0gYGV4dF9pbmRleGA6IFRoZSBleHRyaW5zaWMgaW5kZXggaW4gd2hpY2ggdGhlIGNhbGwgdG8gYHB1cmVgIHdhcyBwcm9jZXNzZWQuADUBRmFpbHMgd2l0aCBgTm9QZXJtaXNzaW9uYCBpbiBjYXNlIHRoZSBjYWxsZXIgaXMgbm90IGEgcHJldmlvdXNseSBjcmVhdGVkIHB1cmXcYWNjb3VudCB3aG9zZSBgcHVyZWAgY2FsbCBoYXMgY29ycmVzcG9uZGluZyBwYXJhbWV0ZXJzLiBhbm5vdW5jZQgBEHJlYWwAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABJGNhbGxfaGFzaDQBNENhbGxIYXNoT2Y8VD4ABjwFAVB1Ymxpc2ggdGhlIGhhc2ggb2YgYSBwcm94eS1jYWxsIHRoYXQgd2lsbCBiZSBtYWRlIGluIHRoZSBmdXR1cmUuAF0BVGhpcyBtdXN0IGJlIGNhbGxlZCBzb21lIG51bWJlciBvZiBibG9ja3MgYmVmb3JlIHRoZSBjb3JyZXNwb25kaW5nIGBwcm94eWAgaXMgYXR0ZW1wdGVkJQFpZiB0aGUgZGVsYXkgYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm94eSByZWxhdGlvbnNoaXAgaXMgZ3JlYXRlciB0aGFuIHplcm8uABEBTm8gbW9yZSB0aGFuIGBNYXhQZW5kaW5nYCBhbm5vdW5jZW1lbnRzIG1heSBiZSBtYWRlIGF0IGFueSBvbmUgdGltZS4ACQFUaGlzIHdpbGwgdGFrZSBhIGRlcG9zaXQgb2YgYEFubm91bmNlbWVudERlcG9zaXRGYWN0b3JgIGFzIHdlbGwgYXMZAWBBbm5vdW5jZW1lbnREZXBvc2l0QmFzZWAgaWYgdGhlcmUgYXJlIG5vIG90aGVyIHBlbmRpbmcgYW5ub3VuY2VtZW50cy4AJQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXyBhbmQgYSBwcm94eSBvZiBgcmVhbGAuACxQYXJhbWV0ZXJzOg0BLSBgcmVhbGA6IFRoZSBhY2NvdW50IHRoYXQgdGhlIHByb3h5IHdpbGwgbWFrZSBhIGNhbGwgb24gYmVoYWxmIG9mLhUBLSBgY2FsbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIGNhbGwgdG8gYmUgbWFkZSBieSB0aGUgYHJlYWxgIGFjY291bnQuTHJlbW92ZV9hbm5vdW5jZW1lbnQIARByZWFsAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASRjYWxsX2hhc2g0ATRDYWxsSGFzaE9mPFQ+AAcocFJlbW92ZSBhIGdpdmVuIGFubm91bmNlbWVudC4AWQFNYXkgYmUgY2FsbGVkIGJ5IGEgcHJveHkgYWNjb3VudCB0byByZW1vdmUgYSBjYWxsIHRoZXkgcHJldmlvdXNseSBhbm5vdW5jZWQgYW5kIHJldHVybjB0aGUgZGVwb3NpdC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgAsUGFyYW1ldGVyczoNAS0gYHJlYWxgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBwcm94eSB3aWxsIG1ha2UgYSBjYWxsIG9uIGJlaGFsZiBvZi4VAS0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIG1hZGUgYnkgdGhlIGByZWFsYCBhY2NvdW50LkxyZWplY3RfYW5ub3VuY2VtZW50CAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABJGNhbGxfaGFzaDQBNENhbGxIYXNoT2Y8VD4ACCiwUmVtb3ZlIHRoZSBnaXZlbiBhbm5vdW5jZW1lbnQgb2YgYSBkZWxlZ2F0ZS4AYQFNYXkgYmUgY2FsbGVkIGJ5IGEgdGFyZ2V0IChwcm94aWVkKSBhY2NvdW50IHRvIHJlbW92ZSBhIGNhbGwgdGhhdCBvbmUgb2YgdGhlaXIgZGVsZWdhdGVzJQEoYGRlbGVnYXRlYCkgaGFzIGFubm91bmNlZCB0aGV5IHdhbnQgdG8gZXhlY3V0ZS4gVGhlIGRlcG9zaXQgaXMgcmV0dXJuZWQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM69C0gYGRlbGVnYXRlYDogVGhlIGFjY291bnQgdGhhdCBwcmV2aW91c2x5IGFubm91bmNlZCB0aGUgY2FsbC68LSBgY2FsbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIGNhbGwgdG8gYmUgbWFkZS48cHJveHlfYW5ub3VuY2VkEAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABEHJlYWwAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABQGZvcmNlX3Byb3h5X3R5cGW5AgFQT3B0aW9uPFQ6OlByb3h5VHlwZT4AARBjYWxsJQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4ACSxNAURpc3BhdGNoIHRoZSBnaXZlbiBgY2FsbGAgZnJvbSBhbiBhY2NvdW50IHRoYXQgdGhlIHNlbmRlciBpcyBhdXRob3JpemVkIGZvciB0aHJvdWdoMGBhZGRfcHJveHlgLgCoUmVtb3ZlcyBhbnkgY29ycmVzcG9uZGluZyBhbm5vdW5jZW1lbnQocykuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM6DQEtIGByZWFsYDogVGhlIGFjY291bnQgdGhhdCB0aGUgcHJveHkgd2lsbCBtYWtlIGEgY2FsbCBvbiBiZWhhbGYgb2YuYQEtIGBmb3JjZV9wcm94eV90eXBlYDogU3BlY2lmeSB0aGUgZXhhY3QgcHJveHkgdHlwZSB0byBiZSB1c2VkIGFuZCBjaGVja2VkIGZvciB0aGlzIGNhbGwu0C0gYGNhbGxgOiBUaGUgY2FsbCB0byBiZSBtYWRlIGJ5IHRoZSBgcmVhbGAgYWNjb3VudC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuuQIEGE9wdGlvbgQEVAHYAQgQTm9uZQAAABBTb21lBADYAAABAAC9Agw8cGFsbGV0X211bHRpc2lnGHBhbGxldBBDYWxsBARUAAEQUGFzX211bHRpX3RocmVzaG9sZF8xCAFEb3RoZXJfc2lnbmF0b3JpZXNFAQFEVmVjPFQ6OkFjY291bnRJZD4AARBjYWxsJQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AADBRAUltbWVkaWF0ZWx5IGRpc3BhdGNoIGEgbXVsdGktc2lnbmF0dXJlIGNhbGwgdXNpbmcgYSBzaW5nbGUgYXBwcm92YWwgZnJvbSB0aGUgY2FsbGVyLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAD0BLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGFyZSBwYXJ0IG9mIHRoZQEBbXVsdGktc2lnbmF0dXJlLCBidXQgZG8gbm90IHBhcnRpY2lwYXRlIGluIHRoZSBhcHByb3ZhbCBwcm9jZXNzLogtIGBjYWxsYDogVGhlIGNhbGwgdG8gYmUgZXhlY3V0ZWQuALhSZXN1bHQgaXMgZXF1aXZhbGVudCB0byB0aGUgZGlzcGF0Y2hlZCByZXN1bHQuADQjIyBDb21wbGV4aXR5GQFPKFogKyBDKSB3aGVyZSBaIGlzIHRoZSBsZW5ndGggb2YgdGhlIGNhbGwgYW5kIEMgaXRzIGV4ZWN1dGlvbiB3ZWlnaHQuIGFzX211bHRpFAEkdGhyZXNob2xk3AEMdTE2AAFEb3RoZXJfc2lnbmF0b3JpZXNFAQFEVmVjPFQ6OkFjY291bnRJZD4AATxtYXliZV90aW1lcG9pbnTBAgGQT3B0aW9uPFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4+AAEQY2FsbCUBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAEobWF4X3dlaWdodCgBGFdlaWdodAABnFUBUmVnaXN0ZXIgYXBwcm92YWwgZm9yIGEgZGlzcGF0Y2ggdG8gYmUgbWFkZSBmcm9tIGEgZGV0ZXJtaW5pc3RpYyBjb21wb3NpdGUgYWNjb3VudCBpZvhhcHByb3ZlZCBieSBhIHRvdGFsIG9mIGB0aHJlc2hvbGQgLSAxYCBvZiBgb3RoZXJfc2lnbmF0b3JpZXNgLgCwSWYgdGhlcmUgYXJlIGVub3VnaCwgdGhlbiBkaXNwYXRjaCB0aGUgY2FsbC4ALQFQYXltZW50OiBgRGVwb3NpdEJhc2VgIHdpbGwgYmUgcmVzZXJ2ZWQgaWYgdGhpcyBpcyB0aGUgZmlyc3QgYXBwcm92YWwsIHBsdXM9AWB0aHJlc2hvbGRgIHRpbWVzIGBEZXBvc2l0RmFjdG9yYC4gSXQgaXMgcmV0dXJuZWQgb25jZSB0aGlzIGRpc3BhdGNoIGhhcHBlbnMgb3I0aXMgY2FuY2VsbGVkLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAFUBLSBgdGhyZXNob2xkYDogVGhlIHRvdGFsIG51bWJlciBvZiBhcHByb3ZhbHMgZm9yIHRoaXMgZGlzcGF0Y2ggYmVmb3JlIGl0IGlzIGV4ZWN1dGVkLkEBLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGNhbiBhcHByb3ZlIHRoaXNsZGlzcGF0Y2guIE1heSBub3QgYmUgZW1wdHkuWQEtIGBtYXliZV90aW1lcG9pbnRgOiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBhcHByb3ZhbCwgdGhlbiB0aGlzIG11c3QgYmUgYE5vbmVgLiBJZiBpdCBpc1EBbm90IHRoZSBmaXJzdCBhcHByb3ZhbCwgdGhlbiBpdCBtdXN0IGJlIGBTb21lYCwgd2l0aCB0aGUgdGltZXBvaW50IChibG9jayBudW1iZXIgYW5k1HRyYW5zYWN0aW9uIGluZGV4KSBvZiB0aGUgZmlyc3QgYXBwcm92YWwgdHJhbnNhY3Rpb24uiC0gYGNhbGxgOiBUaGUgY2FsbCB0byBiZSBleGVjdXRlZC4AHQFOT1RFOiBVbmxlc3MgdGhpcyBpcyB0aGUgZmluYWwgYXBwcm92YWwsIHlvdSB3aWxsIGdlbmVyYWxseSB3YW50IHRvIHVzZRkBYGFwcHJvdmVfYXNfbXVsdGlgIGluc3RlYWQsIHNpbmNlIGl0IG9ubHkgcmVxdWlyZXMgYSBoYXNoIG9mIHRoZSBjYWxsLgBZAVJlc3VsdCBpcyBlcXVpdmFsZW50IHRvIHRoZSBkaXNwYXRjaGVkIHJlc3VsdCBpZiBgdGhyZXNob2xkYCBpcyBleGFjdGx5IGAxYC4gT3RoZXJ3aXNlVQFvbiBzdWNjZXNzLCByZXN1bHQgaXMgYE9rYCBhbmQgdGhlIHJlc3VsdCBmcm9tIHRoZSBpbnRlcmlvciBjYWxsLCBpZiBpdCB3YXMgZXhlY3V0ZWQs3G1heSBiZSBmb3VuZCBpbiB0aGUgZGVwb3NpdGVkIGBNdWx0aXNpZ0V4ZWN1dGVkYCBldmVudC4ANCMjIENvbXBsZXhpdHlQLSBgTyhTICsgWiArIENhbGwpYC7MLSBVcCB0byBvbmUgYmFsYW5jZS1yZXNlcnZlIG9yIHVucmVzZXJ2ZSBvcGVyYXRpb24uPQEtIE9uZSBwYXNzdGhyb3VnaCBvcGVyYXRpb24sIG9uZSBpbnNlcnQsIGJvdGggYE8oUylgIHdoZXJlIGBTYCBpcyB0aGUgbnVtYmVyIG9mRQEgIHNpZ25hdG9yaWVzLiBgU2AgaXMgY2FwcGVkIGJ5IGBNYXhTaWduYXRvcmllc2AsIHdpdGggd2VpZ2h0IGJlaW5nIHByb3BvcnRpb25hbC4hAS0gT25lIGNhbGwgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFopYCB3aGVyZSBgWmAgaXMgdHgtbGVuLrwtIE9uZSBlbmNvZGUgJiBoYXNoLCBib3RoIG9mIGNvbXBsZXhpdHkgYE8oUylgLtQtIFVwIHRvIG9uZSBiaW5hcnkgc2VhcmNoIGFuZCBpbnNlcnQgKGBPKGxvZ1MgKyBTKWApLvgtIEkvTzogMSByZWFkIGBPKFMpYCwgdXAgdG8gMSBtdXRhdGUgYE8oUylgLiBVcCB0byBvbmUgcmVtb3ZlLjAtIE9uZSBldmVudC5sLSBUaGUgd2VpZ2h0IG9mIHRoZSBgY2FsbGAuTQEtIFN0b3JhZ2U6IGluc2VydHMgb25lIGl0ZW0sIHZhbHVlIHNpemUgYm91bmRlZCBieSBgTWF4U2lnbmF0b3JpZXNgLCB3aXRoIGEgZGVwb3NpdBkBICB0YWtlbiBmb3IgaXRzIGxpZmV0aW1lIG9mIGBEZXBvc2l0QmFzZSArIHRocmVzaG9sZCAqIERlcG9zaXRGYWN0b3JgLkBhcHByb3ZlX2FzX211bHRpFAEkdGhyZXNob2xk3AEMdTE2AAFEb3RoZXJfc2lnbmF0b3JpZXNFAQFEVmVjPFQ6OkFjY291bnRJZD4AATxtYXliZV90aW1lcG9pbnTBAgGQT3B0aW9uPFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4+AAEkY2FsbF9oYXNoBAEgW3U4OyAzMl0AAShtYXhfd2VpZ2h0KAEYV2VpZ2h0AAJ4VQFSZWdpc3RlciBhcHByb3ZhbCBmb3IgYSBkaXNwYXRjaCB0byBiZSBtYWRlIGZyb20gYSBkZXRlcm1pbmlzdGljIGNvbXBvc2l0ZSBhY2NvdW50IGlm+GFwcHJvdmVkIGJ5IGEgdG90YWwgb2YgYHRocmVzaG9sZCAtIDFgIG9mIGBvdGhlcl9zaWduYXRvcmllc2AuAC0BUGF5bWVudDogYERlcG9zaXRCYXNlYCB3aWxsIGJlIHJlc2VydmVkIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGFwcHJvdmFsLCBwbHVzPQFgdGhyZXNob2xkYCB0aW1lcyBgRGVwb3NpdEZhY3RvcmAuIEl0IGlzIHJldHVybmVkIG9uY2UgdGhpcyBkaXNwYXRjaCBoYXBwZW5zIG9yNGlzIGNhbmNlbGxlZC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBVAS0gYHRocmVzaG9sZGA6IFRoZSB0b3RhbCBudW1iZXIgb2YgYXBwcm92YWxzIGZvciB0aGlzIGRpc3BhdGNoIGJlZm9yZSBpdCBpcyBleGVjdXRlZC5BAS0gYG90aGVyX3NpZ25hdG9yaWVzYDogVGhlIGFjY291bnRzIChvdGhlciB0aGFuIHRoZSBzZW5kZXIpIHdobyBjYW4gYXBwcm92ZSB0aGlzbGRpc3BhdGNoLiBNYXkgbm90IGJlIGVtcHR5LlkBLSBgbWF5YmVfdGltZXBvaW50YDogSWYgdGhpcyBpcyB0aGUgZmlyc3QgYXBwcm92YWwsIHRoZW4gdGhpcyBtdXN0IGJlIGBOb25lYC4gSWYgaXQgaXNRAW5vdCB0aGUgZmlyc3QgYXBwcm92YWwsIHRoZW4gaXQgbXVzdCBiZSBgU29tZWAsIHdpdGggdGhlIHRpbWVwb2ludCAoYmxvY2sgbnVtYmVyIGFuZNR0cmFuc2FjdGlvbiBpbmRleCkgb2YgdGhlIGZpcnN0IGFwcHJvdmFsIHRyYW5zYWN0aW9uLswtIGBjYWxsX2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgY2FsbCB0byBiZSBleGVjdXRlZC4ANQFOT1RFOiBJZiB0aGlzIGlzIHRoZSBmaW5hbCBhcHByb3ZhbCwgeW91IHdpbGwgd2FudCB0byB1c2UgYGFzX211bHRpYCBpbnN0ZWFkLgA0IyMgQ29tcGxleGl0eSQtIGBPKFMpYC7MLSBVcCB0byBvbmUgYmFsYW5jZS1yZXNlcnZlIG9yIHVucmVzZXJ2ZSBvcGVyYXRpb24uPQEtIE9uZSBwYXNzdGhyb3VnaCBvcGVyYXRpb24sIG9uZSBpbnNlcnQsIGJvdGggYE8oUylgIHdoZXJlIGBTYCBpcyB0aGUgbnVtYmVyIG9mRQEgIHNpZ25hdG9yaWVzLiBgU2AgaXMgY2FwcGVkIGJ5IGBNYXhTaWduYXRvcmllc2AsIHdpdGggd2VpZ2h0IGJlaW5nIHByb3BvcnRpb25hbC68LSBPbmUgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFMpYC7ULSBVcCB0byBvbmUgYmluYXJ5IHNlYXJjaCBhbmQgaW5zZXJ0IChgTyhsb2dTICsgUylgKS74LSBJL086IDEgcmVhZCBgTyhTKWAsIHVwIHRvIDEgbXV0YXRlIGBPKFMpYC4gVXAgdG8gb25lIHJlbW92ZS4wLSBPbmUgZXZlbnQuTQEtIFN0b3JhZ2U6IGluc2VydHMgb25lIGl0ZW0sIHZhbHVlIHNpemUgYm91bmRlZCBieSBgTWF4U2lnbmF0b3JpZXNgLCB3aXRoIGEgZGVwb3NpdBkBICB0YWtlbiBmb3IgaXRzIGxpZmV0aW1lIG9mIGBEZXBvc2l0QmFzZSArIHRocmVzaG9sZCAqIERlcG9zaXRGYWN0b3JgLjxjYW5jZWxfYXNfbXVsdGkQASR0aHJlc2hvbGTcAQx1MTYAAURvdGhlcl9zaWduYXRvcmllc0UBAURWZWM8VDo6QWNjb3VudElkPgABJHRpbWVwb2ludOQBcFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4AASRjYWxsX2hhc2gEASBbdTg7IDMyXQADVFUBQ2FuY2VsIGEgcHJlLWV4aXN0aW5nLCBvbi1nb2luZyBtdWx0aXNpZyB0cmFuc2FjdGlvbi4gQW55IGRlcG9zaXQgcmVzZXJ2ZWQgcHJldmlvdXNsecRmb3IgdGhpcyBvcGVyYXRpb24gd2lsbCBiZSB1bnJlc2VydmVkIG9uIHN1Y2Nlc3MuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AVQEtIGB0aHJlc2hvbGRgOiBUaGUgdG90YWwgbnVtYmVyIG9mIGFwcHJvdmFscyBmb3IgdGhpcyBkaXNwYXRjaCBiZWZvcmUgaXQgaXMgZXhlY3V0ZWQuQQEtIGBvdGhlcl9zaWduYXRvcmllc2A6IFRoZSBhY2NvdW50cyAob3RoZXIgdGhhbiB0aGUgc2VuZGVyKSB3aG8gY2FuIGFwcHJvdmUgdGhpc2xkaXNwYXRjaC4gTWF5IG5vdCBiZSBlbXB0eS5dAS0gYHRpbWVwb2ludGA6IFRoZSB0aW1lcG9pbnQgKGJsb2NrIG51bWJlciBhbmQgdHJhbnNhY3Rpb24gaW5kZXgpIG9mIHRoZSBmaXJzdCBhcHByb3ZhbHh0cmFuc2FjdGlvbiBmb3IgdGhpcyBkaXNwYXRjaC7MLSBgY2FsbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIGNhbGwgdG8gYmUgZXhlY3V0ZWQuADQjIyBDb21wbGV4aXR5JC0gYE8oUylgLswtIFVwIHRvIG9uZSBiYWxhbmNlLXJlc2VydmUgb3IgdW5yZXNlcnZlIG9wZXJhdGlvbi49AS0gT25lIHBhc3N0aHJvdWdoIG9wZXJhdGlvbiwgb25lIGluc2VydCwgYm90aCBgTyhTKWAgd2hlcmUgYFNgIGlzIHRoZSBudW1iZXIgb2ZFASAgc2lnbmF0b3JpZXMuIGBTYCBpcyBjYXBwZWQgYnkgYE1heFNpZ25hdG9yaWVzYCwgd2l0aCB3ZWlnaHQgYmVpbmcgcHJvcG9ydGlvbmFsLrwtIE9uZSBlbmNvZGUgJiBoYXNoLCBib3RoIG9mIGNvbXBsZXhpdHkgYE8oUylgLjAtIE9uZSBldmVudC6ELSBJL086IDEgcmVhZCBgTyhTKWAsIG9uZSByZW1vdmUucC0gU3RvcmFnZTogcmVtb3ZlcyBvbmUgaXRlbS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuwQIEGE9wdGlvbgQEVAHkAQgQTm9uZQAAABBTb21lBADkAAABAADFAgw4cGFsbGV0X3VuaXF1ZXMYcGFsbGV0EENhbGwIBFQABEkAAWgYY3JlYXRlCAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABFGFkbWluAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAEAJAUlzc3VlIGEgbmV3IGNvbGxlY3Rpb24gb2Ygbm9uLWZ1bmdpYmxlIGl0ZW1zIGZyb20gYSBwdWJsaWMgb3JpZ2luLgAdAVRoaXMgbmV3IGNvbGxlY3Rpb24gaGFzIG5vIGl0ZW1zIGluaXRpYWxseSBhbmQgaXRzIG93bmVyIGlzIHRoZSBvcmlnaW4uAGEBVGhlIG9yaWdpbiBtdXN0IGNvbmZvcm0gdG8gdGhlIGNvbmZpZ3VyZWQgYENyZWF0ZU9yaWdpbmAgYW5kIGhhdmUgc3VmZmljaWVudCBmdW5kcyBmcmVlLgCsYEl0ZW1EZXBvc2l0YCBmdW5kcyBvZiBzZW5kZXIgYXJlIHJlc2VydmVkLgAsUGFyYW1ldGVyczphAS0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgbmV3IGNvbGxlY3Rpb24uIFRoaXMgbXVzdCBub3QgYmUgY3VycmVudGx5IGluIHVzZS5FAS0gYGFkbWluYDogVGhlIGFkbWluIG9mIHRoaXMgY29sbGVjdGlvbi4gVGhlIGFkbWluIGlzIHRoZSBpbml0aWFsIGFkZHJlc3Mgb2YgZWFjaJhtZW1iZXIgb2YgdGhlIGNvbGxlY3Rpb24ncyBhZG1pbiB0ZWFtLgCYRW1pdHMgYENyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AOFdlaWdodDogYE8oMSlgMGZvcmNlX2NyZWF0ZQwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARRvd25lcgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEwZnJlZV9ob2xkaW5nIAEQYm9vbAABRBkBSXNzdWUgYSBuZXcgY29sbGVjdGlvbiBvZiBub24tZnVuZ2libGUgaXRlbXMgZnJvbSBhIHByaXZpbGVnZWQgb3JpZ2luLgCsVGhpcyBuZXcgY29sbGVjdGlvbiBoYXMgbm8gaXRlbXMgaW5pdGlhbGx5LgCkVGhlIG9yaWdpbiBtdXN0IGNvbmZvcm0gdG8gYEZvcmNlT3JpZ2luYC4AnFVubGlrZSBgY3JlYXRlYCwgbm8gZnVuZHMgYXJlIHJlc2VydmVkLgBJAS0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgbmV3IGl0ZW0uIFRoaXMgbXVzdCBub3QgYmUgY3VycmVudGx5IGluIHVzZS45AS0gYG93bmVyYDogVGhlIG93bmVyIG9mIHRoaXMgY29sbGVjdGlvbiBvZiBpdGVtcy4gVGhlIG93bmVyIGhhcyBmdWxsIHN1cGVydXNlcjQgIHBlcm1pc3Npb25zIQFvdmVyIHRoaXMgaXRlbSwgYnV0IG1heSBsYXRlciBjaGFuZ2UgYW5kIGNvbmZpZ3VyZSB0aGUgcGVybWlzc2lvbnMgdXNpbmeQYHRyYW5zZmVyX293bmVyc2hpcGAgYW5kIGBzZXRfdGVhbWAuAKxFbWl0cyBgRm9yY2VDcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADhXZWlnaHQ6IGBPKDEpYBxkZXN0cm95CAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABHHdpdG5lc3PJAgE4RGVzdHJveVdpdG5lc3MAAjycRGVzdHJveSBhIGNvbGxlY3Rpb24gb2YgZnVuZ2libGUgaXRlbXMuAF0BVGhlIG9yaWdpbiBtdXN0IGNvbmZvcm0gdG8gYEZvcmNlT3JpZ2luYCBvciBtdXN0IGJlIGBTaWduZWRgIGFuZCB0aGUgc2VuZGVyIG11c3QgYmUgdGhlaG93bmVyIG9mIHRoZSBgY29sbGVjdGlvbmAuAAUBLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHRvIGJlIGRlc3Ryb3llZC4xAS0gYHdpdG5lc3NgOiBJbmZvcm1hdGlvbiBvbiB0aGUgaXRlbXMgbWludGVkIGluIHRoZSBjb2xsZWN0aW9uLiBUaGlzIG11c3QgYmUgY29ycmVjdC4AoEVtaXRzIGBEZXN0cm95ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AZFdlaWdodDogYE8obiArIG0pYCB3aGVyZTpULSBgbiA9IHdpdG5lc3MuaXRlbXNgeC0gYG0gPSB3aXRuZXNzLml0ZW1fbWV0YWRhdGFzYGgtIGBhID0gd2l0bmVzcy5hdHRyaWJ1dGVzYBBtaW50DAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAARRvd25lcgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAMsoE1pbnQgYW4gaXRlbSBvZiBhIHBhcnRpY3VsYXIgY29sbGVjdGlvbi4AQQFUaGUgb3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIG11c3QgYmUgdGhlIElzc3VlciBvZiB0aGUgYGNvbGxlY3Rpb25gLgDgLSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIHRvIGJlIG1pbnRlZC7ILSBgaXRlbWA6IFRoZSBpdGVtIHZhbHVlIG9mIHRoZSBpdGVtIHRvIGJlIG1pbnRlZC7YLSBgYmVuZWZpY2lhcnlgOiBUaGUgaW5pdGlhbCBvd25lciBvZiB0aGUgbWludGVkIGl0ZW0uAJRFbWl0cyBgSXNzdWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADhXZWlnaHQ6IGBPKDEpYBBidXJuDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAASxjaGVja19vd25lcgEBAXBPcHRpb248QWNjb3VudElkTG9va3VwT2Y8VD4+AAQ8WERlc3Ryb3kgYSBzaW5nbGUgaXRlbS4A9E9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNpZ25pbmcgYWNjb3VudCBtdXN0IGJlIGVpdGhlcjqALSB0aGUgQWRtaW4gb2YgdGhlIGBjb2xsZWN0aW9uYDtoLSB0aGUgT3duZXIgb2YgdGhlIGBpdGVtYDsA4C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbSB0byBiZSBidXJuZWQusC0gYGl0ZW1gOiBUaGUgaXRlbSBvZiB0aGUgaXRlbSB0byBiZSBidXJuZWQuUQEtIGBjaGVja19vd25lcmA6IElmIGBTb21lYCB0aGVuIHRoZSBvcGVyYXRpb24gd2lsbCBmYWlsIHdpdGggYFdyb25nT3duZXJgIHVubGVzcyB0aGV4ICBpdGVtIGlzIG93bmVkIGJ5IHRoaXMgdmFsdWUuALRFbWl0cyBgQnVybmVkYCB3aXRoIHRoZSBhY3R1YWwgYW1vdW50IGJ1cm5lZC4AOFdlaWdodDogYE8oMSlgfE1vZGVzOiBgY2hlY2tfb3duZXIuaXNfc29tZSgpYC4gdHJhbnNmZXIMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEQaXRlbRgBJFQ6Okl0ZW1JZAABEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgAFRMBNb3ZlIGFuIGl0ZW0gZnJvbSB0aGUgc2VuZGVyIGFjY291bnQgdG8gYW5vdGhlci4AtFRoaXMgcmVzZXRzIHRoZSBhcHByb3ZlZCBhY2NvdW50IG9mIHRoZSBpdGVtLgD0T3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2lnbmluZyBhY2NvdW50IG11c3QgYmUgZWl0aGVyOoAtIHRoZSBBZG1pbiBvZiB0aGUgYGNvbGxlY3Rpb25gO2gtIHRoZSBPd25lciBvZiB0aGUgYGl0ZW1gOzUBLSB0aGUgYXBwcm92ZWQgZGVsZWdhdGUgZm9yIHRoZSBgaXRlbWAgKGluIHRoaXMgY2FzZSwgdGhlIGFwcHJvdmFsIGlzIHJlc2V0KS4AKEFyZ3VtZW50czr0LSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIHRvIGJlIHRyYW5zZmVycmVkLsQtIGBpdGVtYDogVGhlIGl0ZW0gb2YgdGhlIGl0ZW0gdG8gYmUgdHJhbnNmZXJyZWQu3C0gYGRlc3RgOiBUaGUgYWNjb3VudCB0byByZWNlaXZlIG93bmVyc2hpcCBvZiB0aGUgaXRlbS4AUEVtaXRzIGBUcmFuc2ZlcnJlZGAuADhXZWlnaHQ6IGBPKDEpYCRyZWRlcG9zaXQIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEUaXRlbXPwAThWZWM8VDo6SXRlbUlkPgAGRJhSZWV2YWx1YXRlIHRoZSBkZXBvc2l0cyBvbiBzb21lIGl0ZW1zLgA1AU9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIE93bmVyIG9mIHRoZSBgY29sbGVjdGlvbmAuALAtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gdG8gYmUgZnJvemVuLikBLSBgaXRlbXNgOiBUaGUgaXRlbXMgb2YgdGhlIGNvbGxlY3Rpb24gd2hvc2UgZGVwb3NpdHMgd2lsbCBiZSByZWV2YWx1YXRlZC4ALQFOT1RFOiBUaGlzIGV4aXN0cyBhcyBhIGJlc3QtZWZmb3J0IGZ1bmN0aW9uLiBBbnkgaXRlbXMgd2hpY2ggYXJlIHVua25vd24gb3I5AWluIHRoZSBjYXNlIHRoYXQgdGhlIG93bmVyIGFjY291bnQgZG9lcyBub3QgaGF2ZSByZXNlcnZhYmxlIGZ1bmRzIHRvIHBheSBmb3IgYU0BZGVwb3NpdCBpbmNyZWFzZSBhcmUgaWdub3JlZC4gR2VuZXJhbGx5IHRoZSBvd25lciBpc24ndCBnb2luZyB0byBjYWxsIHRoaXMgb24gaXRlbXNVAXdob3NlIGV4aXN0aW5nIGRlcG9zaXQgaXMgbGVzcyB0aGFuIHRoZSByZWZyZXNoZWQgZGVwb3NpdCBhcyBpdCB3b3VsZCBvbmx5IGNvc3QgdGhlbSx4c28gaXQncyBvZiBsaXR0bGUgY29uc2VxdWVuY2UuAFkBSXQgd2lsbCBzdGlsbCByZXR1cm4gYW4gZXJyb3IgaW4gdGhlIGNhc2UgdGhhdCB0aGUgY29sbGVjdGlvbiBpcyB1bmtub3duIG9mIHRoZSBzaWduZXJwaXMgbm90IHBlcm1pdHRlZCB0byBjYWxsIGl0LgBgV2VpZ2h0OiBgTyhpdGVtcy5sZW4oKSlgGGZyZWV6ZQgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAcoyERpc2FsbG93IGZ1cnRoZXIgdW5wcml2aWxlZ2VkIHRyYW5zZmVyIG9mIGFuIGl0ZW0uAD0BT3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgRnJlZXplciBvZiB0aGUgYGNvbGxlY3Rpb25gLgDgLSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIHRvIGJlIGZyb3plbi6wLSBgaXRlbWA6IFRoZSBpdGVtIG9mIHRoZSBpdGVtIHRvIGJlIGZyb3plbi4APEVtaXRzIGBGcm96ZW5gLgA4V2VpZ2h0OiBgTygxKWAQdGhhdwgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAgoqFJlLWFsbG93IHVucHJpdmlsZWdlZCB0cmFuc2ZlciBvZiBhbiBpdGVtLgA9AU9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgdGhlIHNlbmRlciBzaG91bGQgYmUgdGhlIEZyZWV6ZXIgb2YgdGhlIGBjb2xsZWN0aW9uYC4A4C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbSB0byBiZSB0aGF3ZWQusC0gYGl0ZW1gOiBUaGUgaXRlbSBvZiB0aGUgaXRlbSB0byBiZSB0aGF3ZWQuADxFbWl0cyBgVGhhd2VkYC4AOFdlaWdodDogYE8oMSlgRGZyZWV6ZV9jb2xsZWN0aW9uBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAJJPxEaXNhbGxvdyBmdXJ0aGVyIHVucHJpdmlsZWdlZCB0cmFuc2ZlcnMgZm9yIGEgd2hvbGUgY29sbGVjdGlvbi4APQFPcmlnaW4gbXVzdCBiZSBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBGcmVlemVyIG9mIHRoZSBgY29sbGVjdGlvbmAuALAtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gdG8gYmUgZnJvemVuLgBkRW1pdHMgYENvbGxlY3Rpb25Gcm96ZW5gLgA4V2VpZ2h0OiBgTygxKWA8dGhhd19jb2xsZWN0aW9uBAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAAKJNxSZS1hbGxvdyB1bnByaXZpbGVnZWQgdHJhbnNmZXJzIGZvciBhIHdob2xlIGNvbGxlY3Rpb24uADUBT3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgQWRtaW4gb2YgdGhlIGBjb2xsZWN0aW9uYC4AsC0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiB0byBiZSB0aGF3ZWQuAGRFbWl0cyBgQ29sbGVjdGlvblRoYXdlZGAuADhXZWlnaHQ6IGBPKDEpYEh0cmFuc2Zlcl9vd25lcnNoaXAIAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEkbmV3X293bmVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4ACyyEQ2hhbmdlIHRoZSBPd25lciBvZiBhIGNvbGxlY3Rpb24uADUBT3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgT3duZXIgb2YgdGhlIGBjb2xsZWN0aW9uYC4A9C0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiB3aG9zZSBvd25lciBzaG91bGQgYmUgY2hhbmdlZC4JAS0gYG93bmVyYDogVGhlIG5ldyBPd25lciBvZiB0aGlzIGNvbGxlY3Rpb24uIFRoZXkgbXVzdCBoYXZlIGNhbGxlZEkBICBgc2V0X2FjY2VwdF9vd25lcnNoaXBgIHdpdGggYGNvbGxlY3Rpb25gIGluIG9yZGVyIGZvciB0aGlzIG9wZXJhdGlvbiB0byBzdWNjZWVkLgBURW1pdHMgYE93bmVyQ2hhbmdlZGAuADhXZWlnaHQ6IGBPKDEpYCBzZXRfdGVhbRABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARhpc3N1ZXIAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFGFkbWluAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARxmcmVlemVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4ADDDUQ2hhbmdlIHRoZSBJc3N1ZXIsIEFkbWluIGFuZCBGcmVlemVyIG9mIGEgY29sbGVjdGlvbi4ANQFPcmlnaW4gbXVzdCBiZSBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZiB0aGUgYGNvbGxlY3Rpb25gLgDwLSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIHdob3NlIHRlYW0gc2hvdWxkIGJlIGNoYW5nZWQuuC0gYGlzc3VlcmA6IFRoZSBuZXcgSXNzdWVyIG9mIHRoaXMgY29sbGVjdGlvbi6wLSBgYWRtaW5gOiBUaGUgbmV3IEFkbWluIG9mIHRoaXMgY29sbGVjdGlvbi7ALSBgZnJlZXplcmA6IFRoZSBuZXcgRnJlZXplciBvZiB0aGlzIGNvbGxlY3Rpb24uAFBFbWl0cyBgVGVhbUNoYW5nZWRgLgA4V2VpZ2h0OiBgTygxKWBAYXBwcm92ZV90cmFuc2ZlcgwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgANOBUBQXBwcm92ZSBhbiBpdGVtIHRvIGJlIHRyYW5zZmVycmVkIGJ5IGEgZGVsZWdhdGVkIHRoaXJkLXBhcnR5IGFjY291bnQuAE0BVGhlIG9yaWdpbiBtdXN0IGNvbmZvcm0gdG8gYEZvcmNlT3JpZ2luYCBvciBtdXN0IGJlIGBTaWduZWRgIGFuZCB0aGUgc2VuZGVyIG11c3QgYmX4ZWl0aGVyIHRoZSBvd25lciBvZiB0aGUgYGl0ZW1gIG9yIHRoZSBhZG1pbiBvZiB0aGUgY29sbGVjdGlvbi4ARQEtIGBjb2xsZWN0aW9uYDogVGhlIGNvbGxlY3Rpb24gb2YgdGhlIGl0ZW0gdG8gYmUgYXBwcm92ZWQgZm9yIGRlbGVnYXRlZCB0cmFuc2Zlci4VAS0gYGl0ZW1gOiBUaGUgaXRlbSBvZiB0aGUgaXRlbSB0byBiZSBhcHByb3ZlZCBmb3IgZGVsZWdhdGVkIHRyYW5zZmVyLhkBLSBgZGVsZWdhdGVgOiBUaGUgYWNjb3VudCB0byBkZWxlZ2F0ZSBwZXJtaXNzaW9uIHRvIHRyYW5zZmVyIHRoZSBpdGVtLgAZAUltcG9ydGFudCBOT1RFOiBUaGUgYGFwcHJvdmVkYCBhY2NvdW50IGdldHMgcmVzZXQgYWZ0ZXIgZWFjaCB0cmFuc2Zlci4AkEVtaXRzIGBBcHByb3ZlZFRyYW5zZmVyYCBvbiBzdWNjZXNzLgA4V2VpZ2h0OiBgTygxKWA8Y2FuY2VsX2FwcHJvdmFsDAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABEGl0ZW0YASRUOjpJdGVtSWQAAVBtYXliZV9jaGVja19kZWxlZ2F0ZQEBAXBPcHRpb248QWNjb3VudElkTG9va3VwT2Y8VD4+AA5AEQFDYW5jZWwgdGhlIHByaW9yIGFwcHJvdmFsIGZvciB0aGUgdHJhbnNmZXIgb2YgYW4gaXRlbSBieSBhIGRlbGVnYXRlLgBYT3JpZ2luIG11c3QgYmUgZWl0aGVyOlQtIHRoZSBgRm9yY2VgIG9yaWdpbjv8LSBgU2lnbmVkYCB3aXRoIHRoZSBzaWduZXIgYmVpbmcgdGhlIEFkbWluIG9mIHRoZSBgY29sbGVjdGlvbmA75C0gYFNpZ25lZGAgd2l0aCB0aGUgc2lnbmVyIGJlaW5nIHRoZSBPd25lciBvZiB0aGUgYGl0ZW1gOwAoQXJndW1lbnRzOj0BLSBgY29sbGVjdGlvbmA6IFRoZSBjb2xsZWN0aW9uIG9mIHRoZSBpdGVtIG9mIHdob3NlIGFwcHJvdmFsIHdpbGwgYmUgY2FuY2VsbGVkLg0BLSBgaXRlbWA6IFRoZSBpdGVtIG9mIHRoZSBpdGVtIG9mIHdob3NlIGFwcHJvdmFsIHdpbGwgYmUgY2FuY2VsbGVkLlEBLSBgbWF5YmVfY2hlY2tfZGVsZWdhdGVgOiBJZiBgU29tZWAgd2lsbCBlbnN1cmUgdGhhdCB0aGUgZ2l2ZW4gYWNjb3VudCBpcyB0aGUgb25lIHRvsCAgd2hpY2ggcGVybWlzc2lvbiBvZiB0cmFuc2ZlciBpcyBkZWxlZ2F0ZWQuAJRFbWl0cyBgQXBwcm92YWxDYW5jZWxsZWRgIG9uIHN1Y2Nlc3MuADhXZWlnaHQ6IGBPKDEpYERmb3JjZV9pdGVtX3N0YXR1cxwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARRvd25lcgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEYaXNzdWVyAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARRhZG1pbgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEcZnJlZXplcgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEwZnJlZV9ob2xkaW5nIAEQYm9vbAABJGlzX2Zyb3plbiABEGJvb2wAD0CUQWx0ZXIgdGhlIGF0dHJpYnV0ZXMgb2YgYSBnaXZlbiBpdGVtLgB0T3JpZ2luIG11c3QgYmUgYEZvcmNlT3JpZ2luYC4ArC0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgaXRlbS6YLSBgb3duZXJgOiBUaGUgbmV3IE93bmVyIG9mIHRoaXMgaXRlbS6gLSBgaXNzdWVyYDogVGhlIG5ldyBJc3N1ZXIgb2YgdGhpcyBpdGVtLpgtIGBhZG1pbmA6IFRoZSBuZXcgQWRtaW4gb2YgdGhpcyBpdGVtLqgtIGBmcmVlemVyYDogVGhlIG5ldyBGcmVlemVyIG9mIHRoaXMgaXRlbS5RAS0gYGZyZWVfaG9sZGluZ2A6IFdoZXRoZXIgYSBkZXBvc2l0IGlzIHRha2VuIGZvciBob2xkaW5nIGFuIGl0ZW0gb2YgdGhpcyBjb2xsZWN0aW9uLjkBLSBgaXNfZnJvemVuYDogV2hldGhlciB0aGlzIGNvbGxlY3Rpb24gaXMgZnJvemVuIGV4Y2VwdCBmb3IgcGVybWlzc2lvbmVkL2FkbWluNGluc3RydWN0aW9ucy4A4EVtaXRzIGBJdGVtU3RhdHVzQ2hhbmdlZGAgd2l0aCB0aGUgaWRlbnRpdHkgb2YgdGhlIGl0ZW0uADhXZWlnaHQ6IGBPKDEpYDRzZXRfYXR0cmlidXRlEAEoY29sbGVjdGlvbhgBPFQ6OkNvbGxlY3Rpb25JZAABKG1heWJlX2l0ZW30AURPcHRpb248VDo6SXRlbUlkPgABDGtlefgBbEJvdW5kZWRWZWM8dTgsIFQ6OktleUxpbWl0PgABFHZhbHVl/AF0Qm91bmRlZFZlYzx1OCwgVDo6VmFsdWVMaW1pdD4AEESoU2V0IGFuIGF0dHJpYnV0ZSBmb3IgYSBjb2xsZWN0aW9uIG9yIGl0ZW0uAF0BT3JpZ2luIG11c3QgYmUgZWl0aGVyIGBGb3JjZU9yaWdpbmAgb3IgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgT3duZXIgb2YgdGhlNGBjb2xsZWN0aW9uYC4AUQFJZiB0aGUgb3JpZ2luIGlzIFNpZ25lZCwgdGhlbiBmdW5kcyBvZiBzaWduZXIgYXJlIHJlc2VydmVkIGFjY29yZGluZyB0byB0aGUgZm9ybXVsYTopAWBNZXRhZGF0YURlcG9zaXRCYXNlICsgRGVwb3NpdFBlckJ5dGUgKiAoa2V5LmxlbiArIHZhbHVlLmxlbilgIHRha2luZyBpbnRvjGFjY291bnQgYW55IGFscmVhZHkgcmVzZXJ2ZWQgZnVuZHMuADkBLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHdob3NlIGl0ZW0ncyBtZXRhZGF0YSB0byBzZXQuBQEtIGBtYXliZV9pdGVtYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0gd2hvc2UgbWV0YWRhdGEgdG8gc2V0LogtIGBrZXlgOiBUaGUga2V5IG9mIHRoZSBhdHRyaWJ1dGUuzC0gYHZhbHVlYDogVGhlIHZhbHVlIHRvIHdoaWNoIHRvIHNldCB0aGUgYXR0cmlidXRlLgBURW1pdHMgYEF0dHJpYnV0ZVNldGAuADhXZWlnaHQ6IGBPKDEpYDxjbGVhcl9hdHRyaWJ1dGUMAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkAAEobWF5YmVfaXRlbfQBRE9wdGlvbjxUOjpJdGVtSWQ+AAEMa2V5+AFsQm91bmRlZFZlYzx1OCwgVDo6S2V5TGltaXQ+ABE4sENsZWFyIGFuIGF0dHJpYnV0ZSBmb3IgYSBjb2xsZWN0aW9uIG9yIGl0ZW0uAF0BT3JpZ2luIG11c3QgYmUgZWl0aGVyIGBGb3JjZU9yaWdpbmAgb3IgU2lnbmVkIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgT3duZXIgb2YgdGhlNGBjb2xsZWN0aW9uYC4AwEFueSBkZXBvc2l0IGlzIGZyZWVkIGZvciB0aGUgY29sbGVjdGlvbidzIG93bmVyLgBBAS0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgY29sbGVjdGlvbiB3aG9zZSBpdGVtJ3MgbWV0YWRhdGEgdG8gY2xlYXIuDQEtIGBtYXliZV9pdGVtYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0gd2hvc2UgbWV0YWRhdGEgdG8gY2xlYXIuiC0gYGtleWA6IFRoZSBrZXkgb2YgdGhlIGF0dHJpYnV0ZS4AZEVtaXRzIGBBdHRyaWJ1dGVDbGVhcmVkYC4AOFdlaWdodDogYE8oMSlgMHNldF9tZXRhZGF0YRABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEQZGF0YewBeEJvdW5kZWRWZWM8dTgsIFQ6OlN0cmluZ0xpbWl0PgABJGlzX2Zyb3plbiABEGJvb2wAEkR0U2V0IHRoZSBtZXRhZGF0YSBmb3IgYW4gaXRlbS4AXQFPcmlnaW4gbXVzdCBiZSBlaXRoZXIgYEZvcmNlT3JpZ2luYCBvciBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZiB0aGU0YGNvbGxlY3Rpb25gLgBRAUlmIHRoZSBvcmlnaW4gaXMgU2lnbmVkLCB0aGVuIGZ1bmRzIG9mIHNpZ25lciBhcmUgcmVzZXJ2ZWQgYWNjb3JkaW5nIHRvIHRoZSBmb3JtdWxhOvRgTWV0YWRhdGFEZXBvc2l0QmFzZSArIERlcG9zaXRQZXJCeXRlICogZGF0YS5sZW5gIHRha2luZyBpbnRvjGFjY291bnQgYW55IGFscmVhZHkgcmVzZXJ2ZWQgZnVuZHMuADkBLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHdob3NlIGl0ZW0ncyBtZXRhZGF0YSB0byBzZXQu7C0gYGl0ZW1gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aG9zZSBtZXRhZGF0YSB0byBzZXQuTQEtIGBkYXRhYDogVGhlIGdlbmVyYWwgaW5mb3JtYXRpb24gb2YgdGhpcyBpdGVtLiBMaW1pdGVkIGluIGxlbmd0aCBieSBgU3RyaW5nTGltaXRgLjUBLSBgaXNfZnJvemVuYDogV2hldGhlciB0aGUgbWV0YWRhdGEgc2hvdWxkIGJlIGZyb3plbiBhZ2FpbnN0IGZ1cnRoZXIgY2hhbmdlcy4AUEVtaXRzIGBNZXRhZGF0YVNldGAuADhXZWlnaHQ6IGBPKDEpYDhjbGVhcl9tZXRhZGF0YQgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkABM0fENsZWFyIHRoZSBtZXRhZGF0YSBmb3IgYW4gaXRlbS4AXQFPcmlnaW4gbXVzdCBiZSBlaXRoZXIgYEZvcmNlT3JpZ2luYCBvciBTaWduZWQgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZiB0aGUcYGl0ZW1gLgDAQW55IGRlcG9zaXQgaXMgZnJlZWQgZm9yIHRoZSBjb2xsZWN0aW9uJ3Mgb3duZXIuAEEBLSBgY29sbGVjdGlvbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjb2xsZWN0aW9uIHdob3NlIGl0ZW0ncyBtZXRhZGF0YSB0byBjbGVhci70LSBgaXRlbWA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtIHdob3NlIG1ldGFkYXRhIHRvIGNsZWFyLgBgRW1pdHMgYE1ldGFkYXRhQ2xlYXJlZGAuADhXZWlnaHQ6IGBPKDEpYFxzZXRfY29sbGVjdGlvbl9tZXRhZGF0YQwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBkYXRh7AF4Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+AAEkaXNfZnJvemVuIAEQYm9vbAAUQIhTZXQgdGhlIG1ldGFkYXRhIGZvciBhIGNvbGxlY3Rpb24uAFUBT3JpZ2luIG11c3QgYmUgZWl0aGVyIGBGb3JjZU9yaWdpbmAgb3IgYFNpZ25lZGAgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZkR0aGUgYGNvbGxlY3Rpb25gLgBZAUlmIHRoZSBvcmlnaW4gaXMgYFNpZ25lZGAsIHRoZW4gZnVuZHMgb2Ygc2lnbmVyIGFyZSByZXNlcnZlZCBhY2NvcmRpbmcgdG8gdGhlIGZvcm11bGE69GBNZXRhZGF0YURlcG9zaXRCYXNlICsgRGVwb3NpdFBlckJ5dGUgKiBkYXRhLmxlbmAgdGFraW5nIGludG+MYWNjb3VudCBhbnkgYWxyZWFkeSByZXNlcnZlZCBmdW5kcy4AEQEtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0gd2hvc2UgbWV0YWRhdGEgdG8gdXBkYXRlLk0BLSBgZGF0YWA6IFRoZSBnZW5lcmFsIGluZm9ybWF0aW9uIG9mIHRoaXMgaXRlbS4gTGltaXRlZCBpbiBsZW5ndGggYnkgYFN0cmluZ0xpbWl0YC41AS0gYGlzX2Zyb3plbmA6IFdoZXRoZXIgdGhlIG1ldGFkYXRhIHNob3VsZCBiZSBmcm96ZW4gYWdhaW5zdCBmdXJ0aGVyIGNoYW5nZXMuAHhFbWl0cyBgQ29sbGVjdGlvbk1ldGFkYXRhU2V0YC4AOFdlaWdodDogYE8oMSlgZGNsZWFyX2NvbGxlY3Rpb25fbWV0YWRhdGEEAShjb2xsZWN0aW9uGAE8VDo6Q29sbGVjdGlvbklkABUwkENsZWFyIHRoZSBtZXRhZGF0YSBmb3IgYSBjb2xsZWN0aW9uLgBVAU9yaWdpbiBtdXN0IGJlIGVpdGhlciBgRm9yY2VPcmlnaW5gIG9yIGBTaWduZWRgIGFuZCB0aGUgc2VuZGVyIHNob3VsZCBiZSB0aGUgT3duZXIgb2ZEdGhlIGBjb2xsZWN0aW9uYC4AwEFueSBkZXBvc2l0IGlzIGZyZWVkIGZvciB0aGUgY29sbGVjdGlvbidzIG93bmVyLgAlAS0gYGNvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgY29sbGVjdGlvbiB3aG9zZSBtZXRhZGF0YSB0byBjbGVhci4AiEVtaXRzIGBDb2xsZWN0aW9uTWV0YWRhdGFDbGVhcmVkYC4AOFdlaWdodDogYE8oMSlgUHNldF9hY2NlcHRfb3duZXJzaGlwBAFAbWF5YmVfY29sbGVjdGlvbvQBXE9wdGlvbjxUOjpDb2xsZWN0aW9uSWQ+ABYoEQFTZXQgKG9yIHJlc2V0KSB0aGUgYWNjZXB0YW5jZSBvZiBvd25lcnNoaXAgZm9yIGEgcGFydGljdWxhciBhY2NvdW50LgBhAU9yaWdpbiBtdXN0IGJlIGBTaWduZWRgIGFuZCBpZiBgbWF5YmVfY29sbGVjdGlvbmAgaXMgYFNvbWVgLCB0aGVuIHRoZSBzaWduZXIgbXVzdCBoYXZlIGFMcHJvdmlkZXIgcmVmZXJlbmNlLgBRAS0gYG1heWJlX2NvbGxlY3Rpb25gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgY29sbGVjdGlvbiB3aG9zZSBvd25lcnNoaXAgdGhlIHNpZ25lciBpc2EBICB3aWxsaW5nIHRvIGFjY2VwdCwgb3IgaWYgYE5vbmVgLCBhbiBpbmRpY2F0aW9uIHRoYXQgdGhlIHNpZ25lciBpcyB3aWxsaW5nIHRvIGFjY2VwdCBub1wgIG93bmVyc2hpcCB0cmFuc2ZlcmFsLgCMRW1pdHMgYE93bmVyc2hpcEFjY2VwdGFuY2VDaGFuZ2VkYC5kc2V0X2NvbGxlY3Rpb25fbWF4X3N1cHBseQgBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAAShtYXhfc3VwcGx5EAEMdTMyABcs4FNldCB0aGUgbWF4aW11bSBhbW91bnQgb2YgaXRlbXMgYSBjb2xsZWN0aW9uIGNvdWxkIGhhdmUuAFUBT3JpZ2luIG11c3QgYmUgZWl0aGVyIGBGb3JjZU9yaWdpbmAgb3IgYFNpZ25lZGAgYW5kIHRoZSBzZW5kZXIgc2hvdWxkIGJlIHRoZSBPd25lciBvZkR0aGUgYGNvbGxlY3Rpb25gLgDkTm90ZTogVGhpcyBmdW5jdGlvbiBjYW4gb25seSBzdWNjZWVkIG9uY2UgcGVyIGNvbGxlY3Rpb24uAOwtIGBjb2xsZWN0aW9uYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGNvbGxlY3Rpb24gdG8gY2hhbmdlLhEBLSBgbWF4X3N1cHBseWA6IFRoZSBtYXhpbXVtIGFtb3VudCBvZiBpdGVtcyBhIGNvbGxlY3Rpb24gY291bGQgaGF2ZS4A1EVtaXRzIGBDb2xsZWN0aW9uTWF4U3VwcGx5U2V0YCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuJHNldF9wcmljZRABKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEUcHJpY2X0AVxPcHRpb248SXRlbVByaWNlPFQsIEk+PgABRHdoaXRlbGlzdGVkX2J1eWVyAQEBcE9wdGlvbjxBY2NvdW50SWRMb29rdXBPZjxUPj4AGCyUU2V0IChvciByZXNldCkgdGhlIHByaWNlIGZvciBhbiBpdGVtLgABAU9yaWdpbiBtdXN0IGJlIFNpZ25lZCBhbmQgbXVzdCBiZSB0aGUgb3duZXIgb2YgdGhlIGFzc2V0IGBpdGVtYC4ArC0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbS6gLSBgaXRlbWA6IFRoZSBpdGVtIHRvIHNldCB0aGUgcHJpY2UgZm9yLg0BLSBgcHJpY2VgOiBUaGUgcHJpY2UgZm9yIHRoZSBpdGVtLiBQYXNzIGBOb25lYCwgdG8gcmVzZXQgdGhlIHByaWNlLvQtIGBidXllcmA6IFJlc3RyaWN0cyB0aGUgYnV5IG9wZXJhdGlvbiB0byBhIHNwZWNpZmljIGFjY291bnQuAOxFbWl0cyBgSXRlbVByaWNlU2V0YCBvbiBzdWNjZXNzIGlmIHRoZSBwcmljZSBpcyBub3QgYE5vbmVgLuxFbWl0cyBgSXRlbVByaWNlUmVtb3ZlZGAgb24gc3VjY2VzcyBpZiB0aGUgcHJpY2UgaXMgYE5vbmVgLiBidXlfaXRlbQwBKGNvbGxlY3Rpb24YATxUOjpDb2xsZWN0aW9uSWQAARBpdGVtGAEkVDo6SXRlbUlkAAEkYmlkX3ByaWNlGAE8SXRlbVByaWNlPFQsIEk+ABkkqEFsbG93cyB0byBidXkgYW4gaXRlbSBpZiBpdCdzIHVwIGZvciBzYWxlLgD4T3JpZ2luIG11c3QgYmUgU2lnbmVkIGFuZCBtdXN0IG5vdCBiZSB0aGUgb3duZXIgb2YgdGhlIGBpdGVtYC4ArC0gYGNvbGxlY3Rpb25gOiBUaGUgY29sbGVjdGlvbiBvZiB0aGUgaXRlbS6sLSBgaXRlbWA6IFRoZSBpdGVtIHRoZSBzZW5kZXIgd2FudHMgdG8gYnV5LtgtIGBiaWRfcHJpY2VgOiBUaGUgcHJpY2UgdGhlIHNlbmRlciBpcyB3aWxsaW5nIHRvIHBheS4AeEVtaXRzIGBJdGVtQm91Z2h0YCBvbiBzdWNjZXNzLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7JAgw4cGFsbGV0X3VuaXF1ZXMUdHlwZXM4RGVzdHJveVdpdG5lc3MAAAwBFGl0ZW1zaQEBDHUzMgABOGl0ZW1fbWV0YWRhdGFzaQEBDHUzMgABKGF0dHJpYnV0ZXNpAQEMdTMyAADNAgxscGFsbGV0X3N0YXRlX3RyaWVfbWlncmF0aW9uGHBhbGxldBBDYWxsBARUAAEYWGNvbnRyb2xfYXV0b19taWdyYXRpb24EATBtYXliZV9jb25maWfRAgFcT3B0aW9uPE1pZ3JhdGlvbkxpbWl0cz4AAAyAQ29udHJvbCB0aGUgYXV0b21hdGljIG1pZ3JhdGlvbi4ADQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIFtgQ29uZmlnOjpDb250cm9sT3JpZ2luYF0uQGNvbnRpbnVlX21pZ3JhdGUMARhsaW1pdHPVAgE8TWlncmF0aW9uTGltaXRzAAE8cmVhbF9zaXplX3VwcGVyEAEMdTMyAAEwd2l0bmVzc190YXNr2QIBQE1pZ3JhdGlvblRhc2s8VD4AAVS4Q29udGludWUgdGhlIG1pZ3JhdGlvbiBmb3IgdGhlIGdpdmVuIGBsaW1pdHNgLgDsVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgY2FuIGJlIGFueSBzaWduZWQgYWNjb3VudC4AXQFUaGlzIHRyYW5zYWN0aW9uIGhhcyBOTyBNT05FVEFSWSBJTkNFTlRJVkVTLiBjYWxsaW5nIGl0IHdpbGwgbm90IHJld2FyZCBhbnlvbmUuIEFsYmVpdCzsVXBvbiBzdWNjZXNzZnVsIGV4ZWN1dGlvbiwgdGhlIHRyYW5zYWN0aW9uIGZlZSBpcyByZXR1cm5lZC4AQQFUaGUgKHBvdGVudGlhbGx5IG92ZXItZXN0aW1hdGVkKSBvZiB0aGUgYnl0ZSBsZW5ndGggb2YgYWxsIHRoZSBkYXRhIHJlYWQgbXVzdCBiZVkBcHJvdmlkZWQgZm9yIHVwLWZyb250IGZlZS1wYXltZW50IGFuZCB3ZWlnaGluZy4gSW4gZXNzZW5jZSwgdGhlIGNhbGxlciBpcyBndWFyYW50ZWVpbmdJAXRoYXQgZXhlY3V0aW5nIHRoZSBjdXJyZW50IGBNaWdyYXRpb25UYXNrYCB3aXRoIHRoZSBnaXZlbiBgbGltaXRzYCB3aWxsIG5vdCBleGNlZWSUYHJlYWxfc2l6ZV91cHBlcmAgYnl0ZXMgb2YgcmVhZCBkYXRhLgBFAVRoZSBgd2l0bmVzc190YXNrYCBpcyBtZXJlbHkgYSBoZWxwZXIgdG8gcHJldmVudCB0aGUgY2FsbGVyIGZyb20gYmVpbmcgc2xhc2hlZCBvcl0BZ2VuZXJhbGx5IHRyaWdnZXIgYSBtaWdyYXRpb24gdGhhdCB0aGV5IGRvIG5vdCBpbnRlbmQuIFRoaXMgcGFyYW1ldGVyIGlzIGp1c3QgYSBtZXNzYWdlPQFmcm9tIGNhbGxlciwgc2F5aW5nIHRoYXQgdGhleSBiZWxpZXZlZCBgd2l0bmVzc190YXNrYCB3YXMgdGhlIGxhc3Qgc3RhdGUgb2YgdGhlWQFtaWdyYXRpb24sIGFuZCB0aGV5IG9ubHkgd2lzaCBmb3IgdGhlaXIgdHJhbnNhY3Rpb24gdG8gZG8gYW55dGhpbmcsIGlmIHRoaXMgYXNzdW1wdGlvbhEBaG9sZHMuIEluIGNhc2UgYHdpdG5lc3NfdGFza2AgZG9lcyBub3QgbWF0Y2gsIHRoZSB0cmFuc2FjdGlvbiBmYWlscy4AOQFCYXNlZCBvbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiBbYE1pZ3JhdGlvblRhc2s6Om1pZ3JhdGVfdW50aWxfZXhoYXVzdGlvbmBdLCB0aGVNAXJlY29tbWVuZGVkIHdheSBvZiBkb2luZyB0aGlzIGlzIHRvIHBhc3MgYSBgbGltaXRgIHRoYXQgb25seSBib3VuZHMgYGNvdW50YCwgYXMgdGhlnGBzaXplYCBsaW1pdCBjYW4gYWx3YXlzIGJlIG92ZXJ3cml0dGVuLkhtaWdyYXRlX2N1c3RvbV90b3AIARBrZXlzNQEBMFZlYzxWZWM8dTg+PgABMHdpdG5lc3Nfc2l6ZRABDHUzMgACEAkBTWlncmF0ZSB0aGUgbGlzdCBvZiB0b3Aga2V5cyBieSBpdGVyYXRpbmcgZWFjaCBvZiB0aGVtIG9uZSBieSBvbmUuAFUBVGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGdsb2JhbCBtaWdyYXRpb24gcHJvY2VzcyB0cmFja2VyIChbYE1pZ3JhdGlvblByb2Nlc3NgXSksIGFuZPxzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2UgYW55IGtleXMgYXJlIGxlZnRvdmVyIGR1ZSB0byBhIGJ1Zy5QbWlncmF0ZV9jdXN0b21fY2hpbGQMARByb290OAEcVmVjPHU4PgABKGNoaWxkX2tleXM1AQEwVmVjPFZlYzx1OD4+AAEodG90YWxfc2l6ZRABDHUzMgADGBEBTWlncmF0ZSB0aGUgbGlzdCBvZiBjaGlsZCBrZXlzIGJ5IGl0ZXJhdGluZyBlYWNoIG9mIHRoZW0gb25lIGJ5IG9uZS4ADQFBbGwgb2YgdGhlIGdpdmVuIGNoaWxkIGtleXMgbXVzdCBiZSBwcmVzZW50IHVuZGVyIG9uZSBgY2hpbGRfcm9vdGAuAFUBVGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGdsb2JhbCBtaWdyYXRpb24gcHJvY2VzcyB0cmFja2VyIChbYE1pZ3JhdGlvblByb2Nlc3NgXSksIGFuZPxzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2UgYW55IGtleXMgYXJlIGxlZnRvdmVyIGR1ZSB0byBhIGJ1Zy5Uc2V0X3NpZ25lZF9tYXhfbGltaXRzBAEYbGltaXRz1QIBPE1pZ3JhdGlvbkxpbWl0cwAEBLhTZXQgdGhlIG1heGltdW0gbGltaXQgb2YgdGhlIHNpZ25lZCBtaWdyYXRpb24uSGZvcmNlX3NldF9wcm9ncmVzcwgBMHByb2dyZXNzX3RvcN0CATRQcm9ncmVzc09mPFQ+AAE4cHJvZ3Jlc3NfY2hpbGTdAgE0UHJvZ3Jlc3NPZjxUPgAFJMhGb3JjZWZ1bGx5IHNldCB0aGUgcHJvZ3Jlc3MgdGhlIHJ1bm5pbmcgbWlncmF0aW9uLgBdAVRoaXMgaXMgb25seSB1c2VmdWwgaW4gb25lIGNhc2U6IHRoZSBuZXh0IGtleSB0byBtaWdyYXRlIGlzIHRvbyBiaWcgdG8gYmUgbWlncmF0ZWQgd2l0aFUBYSBzaWduZWQgYWNjb3VudCwgaW4gYSBwYXJhY2hhaW4gY29udGV4dCwgYW5kIHdlIHNpbXBseSB3YW50IHRvIHNraXAgaXQuIEEgcmVhc29uYWJsZWEBZXhhbXBsZSBvZiB0aGlzIHdvdWxkIGJlIGA6Y29kZTpgLCB3aGljaCBpcyBib3RoIHZlcnkgZXhwZW5zaXZlIHRvIG1pZ3JhdGUsIGFuZCBjb21tb25seaR1c2VkLCBzbyBwcm9iYWJseSBpdCBpcyBhbHJlYWR5IG1pZ3JhdGVkLgBdAUluIGNhc2UgeW91IG1lc3MgdGhpbmdzIHVwLCB5b3UgY2FuIGFsc28sIGluIHByaW5jaXBsZSwgdXNlIHRoaXMgdG8gcmVzZXQgdGhlIG1pZ3JhdGlvbiBwcm9jZXNzLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7RAgQYT3B0aW9uBARUAdUCAQgQTm9uZQAAABBTb21lBADVAgAAAQAA1QIMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQ8TWlncmF0aW9uTGltaXRzAAAIARBzaXplEAEMdTMyAAEQaXRlbRABDHUzMgAA2QIMbHBhbGxldF9zdGF0ZV90cmllX21pZ3JhdGlvbhhwYWxsZXQ0TWlncmF0aW9uVGFzawQEVAAAFAEwcHJvZ3Jlc3NfdG9w3QIBNFByb2dyZXNzT2Y8VD4AAThwcm9ncmVzc19jaGlsZN0CATRQcm9ncmVzc09mPFQ+AAEQc2l6ZRABDHUzMgABJHRvcF9pdGVtcxABDHUzMgABLGNoaWxkX2l0ZW1zEAEMdTMyAADdAgxscGFsbGV0X3N0YXRlX3RyaWVfbWlncmF0aW9uGHBhbGxldCBQcm9ncmVzcwQkTWF4S2V5TGVuAAEMHFRvU3RhcnQAAAAcTGFzdEtleQQA4QIBZEJvdW5kZWRWZWM8dTgsIE1heEtleUxlbj4AAQAgQ29tcGxldGUAAgAA4QIMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AADlAgxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nGHBhbGxldBBDYWxsCARUAARJAAEcEHZvdGUIAShwb2xsX2luZGV4aQEBRFBvbGxJbmRleE9mPFQsIEk+AAEQdm90ZRUBAXBBY2NvdW50Vm90ZTxCYWxhbmNlT2Y8VCwgST4+AAAkGQFWb3RlIGluIGEgcG9sbC4gSWYgYHZvdGUuaXNfYXllKClgLCB0aGUgdm90ZSBpcyB0byBlbmFjdCB0aGUgcHJvcG9zYWw7uG90aGVyd2lzZSBpdCBpcyBhIHZvdGUgdG8ga2VlcCB0aGUgc3RhdHVzIHF1by4AyFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAMgtIGBwb2xsX2luZGV4YDogVGhlIGluZGV4IG9mIHRoZSBwb2xsIHRvIHZvdGUgZm9yLoQtIGB2b3RlYDogVGhlIHZvdGUgY29uZmlndXJhdGlvbi4AFQFXZWlnaHQ6IGBPKFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcG9sbHMgdGhlIHZvdGVyIGhhcyB2b3RlZCBvbi4gZGVsZWdhdGUQARRjbGFzc9wBNENsYXNzT2Y8VCwgST4AAQh0bwABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEoY29udmljdGlvbukCAShDb252aWN0aW9uAAEcYmFsYW5jZRgBPEJhbGFuY2VPZjxULCBJPgABXE0BRGVsZWdhdGUgdGhlIHZvdGluZyBwb3dlciAod2l0aCBzb21lIGdpdmVuIGNvbnZpY3Rpb24pIG9mIHRoZSBzZW5kaW5nIGFjY291bnQgZm9yIGFocGFydGljdWxhciBjbGFzcyBvZiBwb2xscy4AVQFUaGUgYmFsYW5jZSBkZWxlZ2F0ZWQgaXMgbG9ja2VkIGZvciBhcyBsb25nIGFzIGl0J3MgZGVsZWdhdGVkLCBhbmQgdGhlcmVhZnRlciBmb3IgdGhlyHRpbWUgYXBwcm9wcmlhdGUgZm9yIHRoZSBjb252aWN0aW9uJ3MgbG9jayBwZXJpb2QuAF0BVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXywgYW5kIHRoZSBzaWduaW5nIGFjY291bnQgbXVzdCBlaXRoZXI6dCAgLSBiZSBkZWxlZ2F0aW5nIGFscmVhZHk7IG9yRQEgIC0gaGF2ZSBubyB2b3RpbmcgYWN0aXZpdHkgKGlmIHRoZXJlIGlzLCB0aGVuIGl0IHdpbGwgbmVlZCB0byBiZSByZW1vdmVkIHRocm91Z2hMICAgIGByZW1vdmVfdm90ZWApLgBFAS0gYHRvYDogVGhlIGFjY291bnQgd2hvc2Ugdm90aW5nIHRoZSBgdGFyZ2V0YCBhY2NvdW50J3Mgdm90aW5nIHBvd2VyIHdpbGwgZm9sbG93Ll0BLSBgY2xhc3NgOiBUaGUgY2xhc3Mgb2YgcG9sbHMgdG8gZGVsZWdhdGUuIFRvIGRlbGVnYXRlIG11bHRpcGxlIGNsYXNzZXMsIG11bHRpcGxlIGNhbGxzgCAgdG8gdGhpcyBmdW5jdGlvbiBhcmUgcmVxdWlyZWQuVQEtIGBjb252aWN0aW9uYDogVGhlIGNvbnZpY3Rpb24gdGhhdCB3aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBkZWxlZ2F0ZWQgdm90ZXMuIFdoZW4gdGhlQQEgIGFjY291bnQgaXMgdW5kZWxlZ2F0ZWQsIHRoZSBmdW5kcyB3aWxsIGJlIGxvY2tlZCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgcGVyaW9kLmEBLSBgYmFsYW5jZWA6IFRoZSBhbW91bnQgb2YgdGhlIGFjY291bnQncyBiYWxhbmNlIHRvIGJlIHVzZWQgaW4gZGVsZWdhdGluZy4gVGhpcyBtdXN0IG5vdLQgIGJlIG1vcmUgdGhhbiB0aGUgYWNjb3VudCdzIGN1cnJlbnQgYmFsYW5jZS4ASEVtaXRzIGBEZWxlZ2F0ZWRgLgAlAVdlaWdodDogYE8oUilgIHdoZXJlIFIgaXMgdGhlIG51bWJlciBvZiBwb2xscyB0aGUgdm90ZXIgZGVsZWdhdGluZyB0byBoYXNNASAgdm90ZWQgb24uIFdlaWdodCBpcyBpbml0aWFsbHkgY2hhcmdlZCBhcyBpZiBtYXhpbXVtIHZvdGVzLCBidXQgaXMgcmVmdW5kZWQgbGF0ZXIuKHVuZGVsZWdhdGUEARRjbGFzc9wBNENsYXNzT2Y8VCwgST4AAjhNAVVuZGVsZWdhdGUgdGhlIHZvdGluZyBwb3dlciBvZiB0aGUgc2VuZGluZyBhY2NvdW50IGZvciBhIHBhcnRpY3VsYXIgY2xhc3Mgb2YgcG9sbHMuAF0BVG9rZW5zIG1heSBiZSB1bmxvY2tlZCBmb2xsb3dpbmcgb25jZSBhbiBhbW91bnQgb2YgdGltZSBjb25zaXN0ZW50IHdpdGggdGhlIGxvY2sgcGVyaW9kCQFvZiB0aGUgY29udmljdGlvbiB3aXRoIHdoaWNoIHRoZSBkZWxlZ2F0aW9uIHdhcyBpc3N1ZWQgaGFzIHBhc3NlZC4ARQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCB0aGUgc2lnbmluZyBhY2NvdW50IG11c3QgYmVUY3VycmVudGx5IGRlbGVnYXRpbmcuAPAtIGBjbGFzc2A6IFRoZSBjbGFzcyBvZiBwb2xscyB0byByZW1vdmUgdGhlIGRlbGVnYXRpb24gZnJvbS4AUEVtaXRzIGBVbmRlbGVnYXRlZGAuACUBV2VpZ2h0OiBgTyhSKWAgd2hlcmUgUiBpcyB0aGUgbnVtYmVyIG9mIHBvbGxzIHRoZSB2b3RlciBkZWxlZ2F0aW5nIHRvIGhhc00BICB2b3RlZCBvbi4gV2VpZ2h0IGlzIGluaXRpYWxseSBjaGFyZ2VkIGFzIGlmIG1heGltdW0gdm90ZXMsIGJ1dCBpcyByZWZ1bmRlZCBsYXRlci4YdW5sb2NrCAEUY2xhc3PcATRDbGFzc09mPFQsIEk+AAEYdGFyZ2V0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAyRdAVJlbW92ZSB0aGUgbG9jayBjYXVzZWQgYnkgcHJpb3Igdm90aW5nL2RlbGVnYXRpbmcgd2hpY2ggaGFzIGV4cGlyZWQgd2l0aGluIGEgcGFydGljdWxhchhjbGFzcy4AyFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAKAtIGBjbGFzc2A6IFRoZSBjbGFzcyBvZiBwb2xscyB0byB1bmxvY2suuC0gYHRhcmdldGA6IFRoZSBhY2NvdW50IHRvIHJlbW92ZSB0aGUgbG9jayBvbi4AvFdlaWdodDogYE8oUilgIHdpdGggUiBudW1iZXIgb2Ygdm90ZSBvZiB0YXJnZXQuLHJlbW92ZV92b3RlCAEUY2xhc3PtAgFUT3B0aW9uPENsYXNzT2Y8VCwgST4+AAEUaW5kZXgQAURQb2xsSW5kZXhPZjxULCBJPgAEdGRSZW1vdmUgYSB2b3RlIGZvciBhIHBvbGwuAAxJZjpwLSB0aGUgcG9sbCB3YXMgY2FuY2VsbGVkLCBvcmQtIHRoZSBwb2xsIGlzIG9uZ29pbmcsIG9yeC0gdGhlIHBvbGwgaGFzIGVuZGVkIHN1Y2ggdGhhdPwgIC0gdGhlIHZvdGUgb2YgdGhlIGFjY291bnQgd2FzIGluIG9wcG9zaXRpb24gdG8gdGhlIHJlc3VsdDsgb3LUICAtIHRoZXJlIHdhcyBubyBjb252aWN0aW9uIHRvIHRoZSBhY2NvdW50J3Mgdm90ZTsgb3KEICAtIHRoZSBhY2NvdW50IG1hZGUgYSBzcGxpdCB2b3RlXQEuLi50aGVuIHRoZSB2b3RlIGlzIHJlbW92ZWQgY2xlYW5seSBhbmQgYSBmb2xsb3dpbmcgY2FsbCB0byBgdW5sb2NrYCBtYXkgcmVzdWx0IGluIG1vcmVYZnVuZHMgYmVpbmcgYXZhaWxhYmxlLgCQSWYsIGhvd2V2ZXIsIHRoZSBwb2xsIGhhcyBlbmRlZCBhbmQ67C0gaXQgZmluaXNoZWQgY29ycmVzcG9uZGluZyB0byB0aGUgdm90ZSBvZiB0aGUgYWNjb3VudCwgYW5k3C0gdGhlIGFjY291bnQgbWFkZSBhIHN0YW5kYXJkIHZvdGUgd2l0aCBjb252aWN0aW9uLCBhbmS8LSB0aGUgbG9jayBwZXJpb2Qgb2YgdGhlIGNvbnZpY3Rpb24gaXMgbm90IG92ZXJZAS4uLnRoZW4gdGhlIGxvY2sgd2lsbCBiZSBhZ2dyZWdhdGVkIGludG8gdGhlIG92ZXJhbGwgYWNjb3VudCdzIGxvY2ssIHdoaWNoIG1heSBpbnZvbHZlWQEqb3ZlcmxvY2tpbmcqICh3aGVyZSB0aGUgdHdvIGxvY2tzIGFyZSBjb21iaW5lZCBpbnRvIGEgc2luZ2xlIGxvY2sgdGhhdCBpcyB0aGUgbWF4aW11beRvZiBib3RoIHRoZSBhbW91bnQgbG9ja2VkIGFuZCB0aGUgdGltZSBpcyBpdCBsb2NrZWQgZm9yKS4ASQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLCBhbmQgdGhlIHNpZ25lciBtdXN0IGhhdmUgYSB2b3RlcHJlZ2lzdGVyZWQgZm9yIHBvbGwgYGluZGV4YC4A3C0gYGluZGV4YDogVGhlIGluZGV4IG9mIHBvbGwgb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZC5VAS0gYGNsYXNzYDogT3B0aW9uYWwgcGFyYW1ldGVyLCBpZiBnaXZlbiBpdCBpbmRpY2F0ZXMgdGhlIGNsYXNzIG9mIHRoZSBwb2xsLiBGb3IgcG9sbHPwICB3aGljaCBoYXZlIGZpbmlzaGVkIG9yIGFyZSBjYW5jZWxsZWQsIHRoaXMgbXVzdCBiZSBgU29tZWAuAEUBV2VpZ2h0OiBgTyhSICsgbG9nIFIpYCB3aGVyZSBSIGlzIHRoZSBudW1iZXIgb2YgcG9sbHMgdGhhdCBgdGFyZ2V0YCBoYXMgdm90ZWQgb24u2CAgV2VpZ2h0IGlzIGNhbGN1bGF0ZWQgZm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiB2b3RlLkRyZW1vdmVfb3RoZXJfdm90ZQwBGHRhcmdldAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUY2xhc3PcATRDbGFzc09mPFQsIEk+AAEUaW5kZXgQAURQb2xsSW5kZXhPZjxULCBJPgAFQGRSZW1vdmUgYSB2b3RlIGZvciBhIHBvbGwuAE0BSWYgdGhlIGB0YXJnZXRgIGlzIGVxdWFsIHRvIHRoZSBzaWduZXIsIHRoZW4gdGhpcyBmdW5jdGlvbiBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8tAWByZW1vdmVfdm90ZWAuIElmIG5vdCBlcXVhbCB0byB0aGUgc2lnbmVyLCB0aGVuIHRoZSB2b3RlIG11c3QgaGF2ZSBleHBpcmVkLCUBZWl0aGVyIGJlY2F1c2UgdGhlIHBvbGwgd2FzIGNhbmNlbGxlZCwgYmVjYXVzZSB0aGUgdm90ZXIgbG9zdCB0aGUgcG9sbCBvcphiZWNhdXNlIHRoZSBjb252aWN0aW9uIHBlcmlvZCBpcyBvdmVyLgDIVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AYQEtIGB0YXJnZXRgOiBUaGUgYWNjb3VudCBvZiB0aGUgdm90ZSB0byBiZSByZW1vdmVkOyB0aGlzIGFjY291bnQgbXVzdCBoYXZlIHZvdGVkIGZvciBwb2xsKCAgYGluZGV4YC7cLSBgaW5kZXhgOiBUaGUgaW5kZXggb2YgcG9sbCBvZiB0aGUgdm90ZSB0byBiZSByZW1vdmVkLoQtIGBjbGFzc2A6IFRoZSBjbGFzcyBvZiB0aGUgcG9sbC4ARQFXZWlnaHQ6IGBPKFIgKyBsb2cgUilgIHdoZXJlIFIgaXMgdGhlIG51bWJlciBvZiBwb2xscyB0aGF0IGB0YXJnZXRgIGhhcyB2b3RlZCBvbi7YICBXZWlnaHQgaXMgY2FsY3VsYXRlZCBmb3IgdGhlIG1heGltdW0gbnVtYmVyIG9mIHZvdGUuRGZvcmNlX3JlbW92ZV92b3RlDAEYdGFyZ2V0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARRjbGFzc9wBNENsYXNzT2Y8VCwgST4AARRpbmRleBABRFBvbGxJbmRleE9mPFQsIEk+ABM4uEFsbG93IHRvIGZvcmNlIHJlbW92ZSBhIHZvdGUgZm9yIGEgcmVmZXJlbmR1bS4A9FRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgYFZvdGVSZW1vdmFsT3JpZ2luYC4ArE9ubHkgYWxsb3dlZCBpZiB0aGUgcmVmZXJlbmR1bSBpcyBmaW5pc2hlZC4AyFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAE0BLSBgdGFyZ2V0YDogVGhlIGFjY291bnQgb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZDsgdGhpcyBhY2NvdW50IG11c3QgaGF2ZSB2b3RlZCBmb3JUICByZWZlcmVuZHVtIGBpbmRleGAu9C0gYGluZGV4YDogVGhlIGluZGV4IG9mIHJlZmVyZW5kdW0gb2YgdGhlIHZvdGUgdG8gYmUgcmVtb3ZlZC4AVQFXZWlnaHQ6IGBPKFIgKyBsb2cgUilgIHdoZXJlIFIgaXMgdGhlIG51bWJlciBvZiByZWZlcmVuZGEgdGhhdCBgdGFyZ2V0YCBoYXMgdm90ZWQgb24u2CAgV2VpZ2h0IGlzIGNhbGN1bGF0ZWQgZm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiB2b3RlLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7pAgxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nKGNvbnZpY3Rpb24oQ29udmljdGlvbgABHBBOb25lAAAAIExvY2tlZDF4AAEAIExvY2tlZDJ4AAIAIExvY2tlZDN4AAMAIExvY2tlZDR4AAQAIExvY2tlZDV4AAUAIExvY2tlZDZ4AAYAAO0CBBhPcHRpb24EBFQB3AEIEE5vbmUAAAAQU29tZQQA3AAAAQAA8QIMQHBhbGxldF9yZWZlcmVuZGEYcGFsbGV0EENhbGwIBFQABEkAASQYc3VibWl0DAE8cHJvcG9zYWxfb3JpZ2lueQEBXEJveDxQYWxsZXRzT3JpZ2luT2Y8VD4+AAEgcHJvcG9zYWwhAQFMQm91bmRlZENhbGxPZjxULCBJPgABQGVuYWN0bWVudF9tb21lbnT1AgF8RGlzcGF0Y2hUaW1lPEJsb2NrTnVtYmVyRm9yPFQ+PgAAJLBQcm9wb3NlIGEgcmVmZXJlbmR1bSBvbiBhIHByaXZpbGVnZWQgYWN0aW9uLgBZAS0gYG9yaWdpbmA6IG11c3QgYmUgYFN1Ym1pdE9yaWdpbmAgYW5kIHRoZSBhY2NvdW50IG11c3QgaGF2ZSBgU3VibWlzc2lvbkRlcG9zaXRgIGZ1bmRzMCAgYXZhaWxhYmxlLi0BLSBgcHJvcG9zYWxfb3JpZ2luYDogVGhlIG9yaWdpbiBmcm9tIHdoaWNoIHRoZSBwcm9wb3NhbCBzaG91bGQgYmUgZXhlY3V0ZWQubC0gYHByb3Bvc2FsYDogVGhlIHByb3Bvc2FsLhUBLSBgZW5hY3RtZW50X21vbWVudGA6IFRoZSBtb21lbnQgdGhhdCB0aGUgcHJvcG9zYWwgc2hvdWxkIGJlIGVuYWN0ZWQuAEhFbWl0cyBgU3VibWl0dGVkYC5YcGxhY2VfZGVjaXNpb25fZGVwb3NpdAQBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AAEgrFBvc3QgdGhlIERlY2lzaW9uIERlcG9zaXQgZm9yIGEgcmVmZXJlbmR1bS4AOQEtIGBvcmlnaW5gOiBtdXN0IGJlIGBTaWduZWRgIGFuZCB0aGUgYWNjb3VudCBtdXN0IGhhdmUgZnVuZHMgYXZhaWxhYmxlIGZvciB0aGWgICByZWZlcmVuZHVtJ3MgdHJhY2sncyBEZWNpc2lvbiBEZXBvc2l0LlEBLSBgaW5kZXhgOiBUaGUgaW5kZXggb2YgdGhlIHN1Ym1pdHRlZCByZWZlcmVuZHVtIHdob3NlIERlY2lzaW9uIERlcG9zaXQgaXMgeWV0IHRvIGJlJCAgcG9zdGVkLgB4RW1pdHMgYERlY2lzaW9uRGVwb3NpdFBsYWNlZGAuXHJlZnVuZF9kZWNpc2lvbl9kZXBvc2l0BAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgAAhwpAVJlZnVuZCB0aGUgRGVjaXNpb24gRGVwb3NpdCBmb3IgYSBjbG9zZWQgcmVmZXJlbmR1bSBiYWNrIHRvIHRoZSBkZXBvc2l0b3IuAJwtIGBvcmlnaW5gOiBtdXN0IGJlIGBTaWduZWRgIG9yIGBSb290YC5NAS0gYGluZGV4YDogVGhlIGluZGV4IG9mIGEgY2xvc2VkIHJlZmVyZW5kdW0gd2hvc2UgRGVjaXNpb24gRGVwb3NpdCBoYXMgbm90IHlldCBiZWVuLCAgcmVmdW5kZWQuAIBFbWl0cyBgRGVjaXNpb25EZXBvc2l0UmVmdW5kZWRgLhhjYW5jZWwEARRpbmRleBABPFJlZmVyZW5kdW1JbmRleAADGHRDYW5jZWwgYW4gb25nb2luZyByZWZlcmVuZHVtLgCcLSBgb3JpZ2luYDogbXVzdCBiZSB0aGUgYENhbmNlbE9yaWdpbmAu3C0gYGluZGV4YDogVGhlIGluZGV4IG9mIHRoZSByZWZlcmVuZHVtIHRvIGJlIGNhbmNlbGxlZC4ASEVtaXRzIGBDYW5jZWxsZWRgLhBraWxsBAEUaW5kZXgQATxSZWZlcmVuZHVtSW5kZXgABBjQQ2FuY2VsIGFuIG9uZ29pbmcgcmVmZXJlbmR1bSBhbmQgc2xhc2ggdGhlIGRlcG9zaXRzLgCULSBgb3JpZ2luYDogbXVzdCBiZSB0aGUgYEtpbGxPcmlnaW5gLtwtIGBpbmRleGA6IFRoZSBpbmRleCBvZiB0aGUgcmVmZXJlbmR1bSB0byBiZSBjYW5jZWxsZWQuAJBFbWl0cyBgS2lsbGVkYCBhbmQgYERlcG9zaXRTbGFzaGVkYC5AbnVkZ2VfcmVmZXJlbmR1bQQBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AAUQHQFBZHZhbmNlIGEgcmVmZXJlbmR1bSBvbnRvIGl0cyBuZXh0IGxvZ2ljYWwgc3RhdGUuIE9ubHkgdXNlZCBpbnRlcm5hbGx5LgBsLSBgb3JpZ2luYDogbXVzdCBiZSBgUm9vdGAupC0gYGluZGV4YDogdGhlIHJlZmVyZW5kdW0gdG8gYmUgYWR2YW5jZWQuSG9uZV9mZXdlcl9kZWNpZGluZwQBFHRyYWNr3AE8VHJhY2tJZE9mPFQsIEk+AAYkCQFBZHZhbmNlIGEgdHJhY2sgb250byBpdHMgbmV4dCBsb2dpY2FsIHN0YXRlLiBPbmx5IHVzZWQgaW50ZXJuYWxseS4AbC0gYG9yaWdpbmA6IG11c3QgYmUgYFJvb3RgLpAtIGB0cmFja2A6IHRoZSB0cmFjayB0byBiZSBhZHZhbmNlZC4AUQFBY3Rpb24gaXRlbSBmb3Igd2hlbiB0aGVyZSBpcyBub3cgb25lIGZld2VyIHJlZmVyZW5kdW0gaW4gdGhlIGRlY2lkaW5nIHBoYXNlIGFuZCB0aGUVAWBEZWNpZGluZ0NvdW50YCBpcyBub3QgeWV0IHVwZGF0ZWQuIFRoaXMgbWVhbnMgdGhhdCB3ZSBzaG91bGQgZWl0aGVyOiUBLSBiZWdpbiBkZWNpZGluZyBhbm90aGVyIHJlZmVyZW5kdW0gKGFuZCBsZWF2ZSBgRGVjaWRpbmdDb3VudGAgYWxvbmUpOyBvcnAtIGRlY3JlbWVudCBgRGVjaWRpbmdDb3VudGAuZHJlZnVuZF9zdWJtaXNzaW9uX2RlcG9zaXQEARRpbmRleBABPFJlZmVyZW5kdW1JbmRleAAHHDEBUmVmdW5kIHRoZSBTdWJtaXNzaW9uIERlcG9zaXQgZm9yIGEgY2xvc2VkIHJlZmVyZW5kdW0gYmFjayB0byB0aGUgZGVwb3NpdG9yLgCcLSBgb3JpZ2luYDogbXVzdCBiZSBgU2lnbmVkYCBvciBgUm9vdGAuVQEtIGBpbmRleGA6IFRoZSBpbmRleCBvZiBhIGNsb3NlZCByZWZlcmVuZHVtIHdob3NlIFN1Ym1pc3Npb24gRGVwb3NpdCBoYXMgbm90IHlldCBiZWVuLCAgcmVmdW5kZWQuAIhFbWl0cyBgU3VibWlzc2lvbkRlcG9zaXRSZWZ1bmRlZGAuMHNldF9tZXRhZGF0YQgBFGluZGV4EAE8UmVmZXJlbmR1bUluZGV4AAEobWF5YmVfaGFzaJ0CATxPcHRpb248VDo6SGFzaD4ACByYU2V0IG9yIGNsZWFyIG1ldGFkYXRhIG9mIGEgcmVmZXJlbmR1bS4ALFBhcmFtZXRlcnM6RQEtIGBvcmlnaW5gOiBNdXN0IGJlIGBTaWduZWRgIGJ5IGEgY3JlYXRvciBvZiBhIHJlZmVyZW5kdW0gb3IgYnkgYW55b25lIHRvIGNsZWFyIGGQICBtZXRhZGF0YSBvZiBhIGZpbmlzaGVkIHJlZmVyZW5kdW0uDQEtIGBpbmRleGA6ICBUaGUgaW5kZXggb2YgYSByZWZlcmVuZHVtIHRvIHNldCBvciBjbGVhciBtZXRhZGF0YSBmb3IuUQEtIGBtYXliZV9oYXNoYDogVGhlIGhhc2ggb2YgYW4gb24tY2hhaW4gc3RvcmVkIHByZWltYWdlLiBgTm9uZWAgdG8gY2xlYXIgYSBtZXRhZGF0YS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu9QIQNGZyYW1lX3N1cHBvcnQYdHJhaXRzIHNjaGVkdWxlMERpc3BhdGNoVGltZQQsQmxvY2tOdW1iZXIBEAEICEF0BAAQASxCbG9ja051bWJlcgAAABRBZnRlcgQAEAEsQmxvY2tOdW1iZXIAAQAA+QIMQHBhbGxldF93aGl0ZWxpc3QYcGFsbGV0EENhbGwEBFQAARA4d2hpdGVsaXN0X2NhbGwEASRjYWxsX2hhc2g0ARxUOjpIYXNoAAAAXHJlbW92ZV93aGl0ZWxpc3RlZF9jYWxsBAEkY2FsbF9oYXNoNAEcVDo6SGFzaAABAGRkaXNwYXRjaF93aGl0ZWxpc3RlZF9jYWxsDAEkY2FsbF9oYXNoNAEcVDo6SGFzaAABQGNhbGxfZW5jb2RlZF9sZW4QAQx1MzIAAUxjYWxsX3dlaWdodF93aXRuZXNzKAEYV2VpZ2h0AAIAnGRpc3BhdGNoX3doaXRlbGlzdGVkX2NhbGxfd2l0aF9wcmVpbWFnZQQBEGNhbGwlAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgADAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy79AgxEcGFsbGV0X2Rpc3BhdGNoZXIYcGFsbGV0EENhbGwEBFQAARBQZGlzcGF0Y2hfYXNfdHJlYXN1cnkEARBjYWxsJQEBfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAABgZGlzcGF0Y2hfYXNfYWF2ZV9tYW5hZ2VyBAEQY2FsbCUBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAEARG5vdGVfYWF2ZV9tYW5hZ2VyBAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAACGCUBU2V0cyB0aGUgQWF2ZSBtYW5hZ2VyIGFjY291bnQgdG8gYmUgdXNlZCBhcyBvcmlnaW4gZm9yIGRpc3BhdGNoaW5nIGNhbGxzLgDIVGhpcyBkb2Vzbid0IGFjdHVhbGx5IGNoYW5nZXMgYW55IEFDTCBpbiB0aGUgcG9vbC4AVQFUaGlzIGlzIGludGVudGVkIHRvIGJlIG1haW5seSB1c2VkIGluIHRlc3RuZXQgZW52aXJvbm1lbnRzLCB3aGVyZSB0aGUgbWFuYWdlciBhY2NvdW50RGNhbiBiZSBkaWZmZXJlbnQuXGRpc3BhdGNoX3dpdGhfZXh0cmFfZ2FzCAEQY2FsbCUBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAEkZXh0cmFfZ2FzMAEMdTY0AAMQfERpc3BhdGNoIGEgY2FsbCB3aXRoIGV4dHJhIGdhcy4A/FRoaXMgYWxsb3dzIGV4ZWN1dGluZyBjYWxscyB3aXRoIGFkZGl0aW9uYWwgd2VpZ2h0IChnYXMpIGxpbWl0LsBUaGUgZXh0cmEgZ2FzIGlzIG5vdCByZWZ1bmRlZCwgZXZlbiBpZiBub3QgdXNlZC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuAQMMVHBhbGxldF9hc3NldF9yZWdpc3RyeRhwYWxsZXQQQ2FsbAQEVAABFCByZWdpc3RlciQBIGFzc2V0X2lkbQEBSE9wdGlvbjxUOjpBc3NldElkPgABEG5hbWUFAwFwT3B0aW9uPE5hbWU8VDo6U3RyaW5nTGltaXQ+PgABKGFzc2V0X3R5cGUNAwEkQXNzZXRUeXBlAAFMZXhpc3RlbnRpYWxfZGVwb3NpdPQBPE9wdGlvbjxCYWxhbmNlPgABGHN5bWJvbAUDAXhPcHRpb248U3ltYm9sPFQ6OlN0cmluZ0xpbWl0Pj4AASBkZWNpbWFscxEDAShPcHRpb248dTg+AAEgbG9jYXRpb24VAwF4T3B0aW9uPFQ6OkFzc2V0TmF0aXZlTG9jYXRpb24+AAE4eGNtX3JhdGVfbGltaXT0ATxPcHRpb248QmFsYW5jZT4AATRpc19zdWZmaWNpZW50IAEQYm9vbAAAMFRSZWdpc3RlciBhIG5ldyBhc3NldC4A2E5ldyBhc3NldCBpcyBnaXZlbiBgTmV4dEFzc2V0SWRgIC0gc2VxdWVudGlhbCBhc3NldCBpZAA5AUFzc2V0J3MgaWQgaXMgb3B0aW9uYWwgYW5kIGl0IGNhbid0IGJlIHVzZWQgYnkgYW5vdGhlciBhc3NldCBpZiBpdCdzIHByb3ZpZGVkLtxQcm92aWRlZCBgYXNzZXRfaWRgIG11c3QgYmUgZnJvbSB3aXRoaW4gcmVzZXJ2ZWQgcmFuZ2UuCQFJZiBgYXNzZXRfaWRgIGlzIGBOb25lYCwgbmV3IGFzc2V0IGlzIGdpdmVuIGlkIGZvciBzZXF1ZW50aWFsIGlkcy4AQQFBc3NldCdzIG5hbWUgaXMgb3B0aW9uYWwgYW5kIGl0IGNhbid0IGJlIHVzZWQgYnkgYW5vdGhlciBhc3NldCBpZiBpdCdzIHByb3ZpZGVkLlkCQWRkcyBtYXBwaW5nIGJldHdlZW4gYG5hbWVgIGFuZCBhc3NpZ25lZCBgYXNzZXRfaWRgIHNvIGFzc2V0IGlkIGNhbiBiZSByZXRyaWV2ZWQgYnkgbmFtZSB0b28gKE5vdGU6IHRoaXMgYXBwcm9hY2ggaXMgdXNlZCBpbiBBTU0gaW1wbGVtZW50YXRpb24gKHh5aykpAKRFbWl0cyAnUmVnaXN0ZXJlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLhh1cGRhdGUkASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARBuYW1lBQMBcE9wdGlvbjxOYW1lPFQ6OlN0cmluZ0xpbWl0Pj4AAShhc3NldF90eXBlMQMBRE9wdGlvbjxBc3NldFR5cGU+AAFMZXhpc3RlbnRpYWxfZGVwb3NpdPQBPE9wdGlvbjxCYWxhbmNlPgABOHhjbV9yYXRlX2xpbWl09AE8T3B0aW9uPEJhbGFuY2U+AAE0aXNfc3VmZmljaWVudDUDATBPcHRpb248Ym9vbD4AARhzeW1ib2wFAwF4T3B0aW9uPFN5bWJvbDxUOjpTdHJpbmdMaW1pdD4+AAEgZGVjaW1hbHMRAwEoT3B0aW9uPHU4PgABIGxvY2F0aW9uFQMBeE9wdGlvbjxUOjpBc3NldE5hdGl2ZUxvY2F0aW9uPgABKGBVcGRhdGUgcmVnaXN0ZXJlZCBhc3NldC4AJQFBbGwgcGFyYW1ldGVyZXMgYXJlIG9wdGlvbmFsIGFuZCB2YWx1ZSBpcyBub3QgdXBkYXRlZCBpZiBwYXJhbSBpcyBgTm9uZWAuADEBYGRlY2ltYWxzYCAtIGNhbiBiZSB1cGRhdGUgYnkgYFVwZGF0ZU9yaWdpbmAgb25seSBpZiBpdCB3YXNuJ3Qgc2V0IHlldC4gT25seQEBYFJlZ2lzdHJ5T3JpZ2luYCBjYW4gdXBkYXRlIGBkZWNpbWFsc2AgaWYgaXQgd2FzIHByZXZpb3VzbHkgc2V0LgDUYGxvY2F0aW9uYCAtIGNhbiBiZSB1cGRhdGVkIG9ubHkgYnkgYFJlZ2lzdHJ5T3JpZ2luYC4AmEVtaXRzIGBVcGRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuRHJlZ2lzdGVyX2V4dGVybmFsBAEgbG9jYXRpb24ZAwFYVDo6QXNzZXROYXRpdmVMb2NhdGlvbgAEACRiYW5fYXNzZXQEASBhc3NldF9pZBABKFQ6OkFzc2V0SWQABQAsdW5iYW5fYXNzZXQEASBhc3NldF9pZBABKFQ6OkFzc2V0SWQABgAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuBQMEGE9wdGlvbgQEVAEJAwEIEE5vbmUAAAAQU29tZQQACQMAAAEAAAkDDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAADQMMVHBhbGxldF9hc3NldF9yZWdpc3RyeRR0eXBlcyRBc3NldFR5cGUAARgUVG9rZW4AAAAMWFlLAAEAKFN0YWJsZVN3YXAAAgAQQm9uZAADACBFeHRlcm5hbAAEABRFcmMyMAAFAAARAwQYT3B0aW9uBARUAQgBCBBOb25lAAAAEFNvbWUEAAgAAAEAABUDBBhPcHRpb24EBFQBGQMBCBBOb25lAAAAEFNvbWUEABkDAAABAAAZAww8aHlkcmFkeF9ydW50aW1lDHhjbTRBc3NldExvY2F0aW9uAAAEAB0DAWhwb2xrYWRvdF94Y206OnYzOjpMb2NhdGlvbgAAHQMQLHN0YWdpbmdfeGNtCHYzNG11bHRpbG9jYXRpb240TXVsdGlMb2NhdGlvbgAACAEccGFyZW50cwgBCHU4AAEgaW50ZXJpb3IhAwEkSnVuY3Rpb25zAAAhAxAMeGNtCHYzJGp1bmN0aW9ucyRKdW5jdGlvbnMAASQQSGVyZQAAAAhYMQQAJQMBIEp1bmN0aW9uAAEACFgyCAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgACAAhYMwwAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgADAAhYNBAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAQACFg1FAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAFAAhYNhgAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAGAAhYNxwAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAcACFg4IAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAAJQMBIEp1bmN0aW9uAAAlAwEgSnVuY3Rpb24AACUDASBKdW5jdGlvbgAIAAAlAxAMeGNtCHYzIGp1bmN0aW9uIEp1bmN0aW9uAAEoJFBhcmFjaGFpbgQAaQEBDHUzMgAAACxBY2NvdW50SWQzMggBHG5ldHdvcmspAwFET3B0aW9uPE5ldHdvcmtJZD4AAQhpZAQBIFt1ODsgMzJdAAEAOEFjY291bnRJbmRleDY0CAEcbmV0d29yaykDAURPcHRpb248TmV0d29ya0lkPgABFGluZGV4LAEMdTY0AAIAMEFjY291bnRLZXkyMAgBHG5ldHdvcmspAwFET3B0aW9uPE5ldHdvcmtJZD4AAQxrZXlZAQEgW3U4OyAyMF0AAwA4UGFsbGV0SW5zdGFuY2UEAAgBCHU4AAQAMEdlbmVyYWxJbmRleAQAQQEBEHUxMjgABQAoR2VuZXJhbEtleQgBGGxlbmd0aAgBCHU4AAEQZGF0YQQBIFt1ODsgMzJdAAYAJE9ubHlDaGlsZAAHACRQbHVyYWxpdHkIAQhpZK0BARhCb2R5SWQAARBwYXJ0sQEBIEJvZHlQYXJ0AAgAPEdsb2JhbENvbnNlbnN1cwQALQMBJE5ldHdvcmtJZAAJAAApAwQYT3B0aW9uBARUAS0DAQgQTm9uZQAAABBTb21lBAAtAwAAAQAALQMQDHhjbQh2MyBqdW5jdGlvbiROZXR3b3JrSWQAASwkQnlHZW5lc2lzBAAEASBbdTg7IDMyXQAAABhCeUZvcmsIATBibG9ja19udW1iZXIwAQx1NjQAAShibG9ja19oYXNoBAEgW3U4OyAzMl0AAQAgUG9sa2Fkb3QAAgAYS3VzYW1hAAMAHFdlc3RlbmQABAAYUm9jb2NvAAUAGFdvY29jbwAGACBFdGhlcmV1bQQBIGNoYWluX2lkLAEMdTY0AAcALEJpdGNvaW5Db3JlAAgALEJpdGNvaW5DYXNoAAkAQFBvbGthZG90QnVsbGV0aW4ACgAAMQMEGE9wdGlvbgQEVAENAwEIEE5vbmUAAAAQU29tZQQADQMAAAEAADUDBBhPcHRpb24EBFQBIAEIEE5vbmUAAAAQU29tZQQAIAAAAQAAOQMMNHBhbGxldF9jbGFpbXMYcGFsbGV0EENhbGwEBFQAAQQUY2xhaW0EAUhldGhlcmV1bV9zaWduYXR1cmU9AwE4RWNkc2FTaWduYXR1cmUAAAT0Q2xhaW0geEhEWCBieSBwcm92aWRpbmcgc2lnbmVkIG1lc3NhZ2Ugd2l0aCBFdGhlcmV1bSBhZGRyZXNzLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy49Aww0cGFsbGV0X2NsYWltcxh0cmFpdHM4RWNkc2FTaWduYXR1cmUAAAQAkQIBIFt1ODsgNjVdAABBAwxYcGFsbGV0X2dlbmVzaXNfaGlzdG9yeRhwYWxsZXQQQ2FsbAQEVAABAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5FAww8cGFsbGV0X29tbmlwb29sGHBhbGxldBBDYWxsBARUAAE0JGFkZF90b2tlbhABFGFzc2V0EAEoVDo6QXNzZXRJZAABNGluaXRpYWxfcHJpY2VRAQEUUHJpY2UAASh3ZWlnaHRfY2FwSQMBHFBlcm1pbGwAAThwb3NpdGlvbl9vd25lcgABMFQ6OkFjY291bnRJZAABQB0BQWRkIG5ldyB0b2tlbiB0byBvbW5pcG9vbCBpbiBxdWFudGl0eSBgYW1vdW50YCBhdCBwcmljZSBgaW5pdGlhbF9wcmljZWAAxQFJbml0aWFsIGxpcXVpZGl0eSBtdXN0IGJlIHRyYW5zZmVycmVkIHRvIHBvb2wncyBhY2NvdW50IGZvciB0aGlzIG5ldyB0b2tlbiBtYW51YWxseSBwcmlvciB0byBjYWxsaW5nIGBhZGRfdG9rZW5gLgDkSW5pdGlhbCBsaXF1aWRpdHkgaXMgcG9vbCdzIGFjY291bnQgYmFsYW5jZSBvZiB0aGUgdG9rZW4uAMhQb3NpdGlvbiBORlQgdG9rZW4gaXMgbWludGVkIGZvciBgcG9zaXRpb25fb3duZXJgLgAsUGFyYW1ldGVyczqJAS0gYGFzc2V0YDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIG5ldyBhc3NldCBhZGRlZCB0byB0aGUgcG9vbC4gTXVzdCBiZSByZWdpc3RlcmVkIGluIEFzc2V0IHJlZ2lzdHJ5gC0gYGluaXRpYWxfcHJpY2VgOiBJbml0aWFsIHByaWNlNQEtIGBwb3NpdGlvbl9vd25lcmA6IGFjY291bnQgaWQgZm9yIHdoaWNoIHNoYXJlIGFyZSBkaXN0cmlidXRlZCBpbiBmb3JtIG9uIE5GVIAtIGB3ZWlnaHRfY2FwYDogYXNzZXQgd2VpZ2h0IGNhcACkRW1pdHMgYFRva2VuQWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ANGFkZF9saXF1aWRpdHkIARRhc3NldBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAJQ/EFkZCBsaXF1aWRpdHkgb2YgYXNzZXQgYGFzc2V0YCBpbiBxdWFudGl0eSBgYW1vdW50YCB0byBPbW5pcG9vbABhAWBhZGRfbGlxdWlkaXR5YCBhZGRzIHNwZWNpZmllZCBhc3NldCBhbW91bnQgdG8gT21uaXBvb2wgYW5kIGluIGV4Y2hhbmdlIGdpdmVzIHRoZSBvcmlnaW7wY29ycmVzcG9uZGluZyBzaGFyZXMgYW1vdW50IGluIGZvcm0gb2YgTkZUIGF0IGN1cnJlbnQgcHJpY2UuAIUBQXNzZXQncyB0cmFkYWJsZSBzdGF0ZSBtdXN0IGNvbnRhaW4gQUREX0xJUVVJRElUWSBmbGFnLCBvdGhlcndpc2UgYE5vdEFsbG93ZWRgIGVycm9yIGlzIHJldHVybmVkLgBhAU5GVCBpcyBtaW50ZWQgdXNpbmcgTlRGSGFuZGxlciB3aGljaCBpbXBsZW1lbnRzIG5vbi1mdW5naWJsZXMgdHJhaXRzIGZyb20gZnJhbWVfc3VwcG9ydC4AWQFBc3NldCB3ZWlnaHQgY2FwIG11c3QgYmUgcmVzcGVjdGVkLCBvdGhlcndpc2UgYEFzc2V0V2VpZ2h0RXhjZWVkZWRgIGVycm9yIGlzIHJldHVybmVkLnkBQXNzZXQgd2VpZ2h0IGlzIHJhdGlvIGJldHdlZW4gbmV3IEh1YkFzc2V0IHJlc2VydmUgYW5kIHRvdGFsIHJlc2VydmUgb2YgSHViIGFzc2V0IGluIE9tbmlwb29sLgDVAUFkZCBsaXF1aWRpdHkgZmFpbHMgaWYgcHJpY2UgZGlmZmVyZW5jZSBiZXR3ZWVuIHNwb3QgcHJpY2UgYW5kIG9yYWNsZSBwcmljZSBpcyBoaWdoZXIgdGhhbiBhbGxvd2VkIGJ5IGBQcmljZUJhcnJpZXJgLgAsUGFyYW1ldGVyczplAS0gYGFzc2V0YDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIG5ldyBhc3NldCBhZGRlZCB0byB0aGUgcG9vbC4gTXVzdCBiZSBhbHJlYWR5IGluIHRoZSBwb29stC0gYGFtb3VudGA6IEFtb3VudCBvZiBhc3NldCBhZGRlZCB0byBvbW5pcG9vbAC0RW1pdHMgYExpcXVpZGl0eUFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAGBhZGRfbGlxdWlkaXR5X3dpdGhfbGltaXQMARRhc3NldBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAFAbWluX3NoYXJlc19saW1pdBgBHEJhbGFuY2UADVwBAUFkZCBsaXF1aWRpdHkgb2YgYXNzZXQgYGFzc2V0YCBpbiBxdWFudGl0eSBgYW1vdW50YCB0byBPbW5pcG9vbC4AcExpbWl0IHByb3RlY3Rpb24gaXMgYXBwbGllZC4AYQFgYWRkX2xpcXVpZGl0eWAgYWRkcyBzcGVjaWZpZWQgYXNzZXQgYW1vdW50IHRvIE9tbmlwb29sIGFuZCBpbiBleGNoYW5nZSBnaXZlcyB0aGUgb3JpZ2lu8GNvcnJlc3BvbmRpbmcgc2hhcmVzIGFtb3VudCBpbiBmb3JtIG9mIE5GVCBhdCBjdXJyZW50IHByaWNlLgCFAUFzc2V0J3MgdHJhZGFibGUgc3RhdGUgbXVzdCBjb250YWluIEFERF9MSVFVSURJVFkgZmxhZywgb3RoZXJ3aXNlIGBOb3RBbGxvd2VkYCBlcnJvciBpcyByZXR1cm5lZC4AYQFORlQgaXMgbWludGVkIHVzaW5nIE5URkhhbmRsZXIgd2hpY2ggaW1wbGVtZW50cyBub24tZnVuZ2libGVzIHRyYWl0cyBmcm9tIGZyYW1lX3N1cHBvcnQuAFkBQXNzZXQgd2VpZ2h0IGNhcCBtdXN0IGJlIHJlc3BlY3RlZCwgb3RoZXJ3aXNlIGBBc3NldFdlaWdodEV4Y2VlZGVkYCBlcnJvciBpcyByZXR1cm5lZC55AUFzc2V0IHdlaWdodCBpcyByYXRpbyBiZXR3ZWVuIG5ldyBIdWJBc3NldCByZXNlcnZlIGFuZCB0b3RhbCByZXNlcnZlIG9mIEh1YiBhc3NldCBpbiBPbW5pcG9vbC4A1QFBZGQgbGlxdWlkaXR5IGZhaWxzIGlmIHByaWNlIGRpZmZlcmVuY2UgYmV0d2VlbiBzcG90IHByaWNlIGFuZCBvcmFjbGUgcHJpY2UgaXMgaGlnaGVyIHRoYW4gYWxsb3dlZCBieSBgUHJpY2VCYXJyaWVyYC4ALFBhcmFtZXRlcnM6ZQEtIGBhc3NldGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBuZXcgYXNzZXQgYWRkZWQgdG8gdGhlIHBvb2wuIE11c3QgYmUgYWxyZWFkeSBpbiB0aGUgcG9vbLQtIGBhbW91bnRgOiBBbW91bnQgb2YgYXNzZXQgYWRkZWQgdG8gb21uaXBvb2yFAS0gYG1pbl9zaGFyZXNfbGltaXRgOiBUaGUgbWluIGFtb3VudCBvZiBkZWx0YSBzaGFyZSBhc3NldCB0aGUgdXNlciBzaG91bGQgcmVjZWl2ZSBpbiB0aGUgcG9zaXRpb24AtEVtaXRzIGBMaXF1aWRpdHlBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBAcmVtb3ZlX2xpcXVpZGl0eQgBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAARhhbW91bnQYARxCYWxhbmNlAANMEQFSZW1vdmUgbGlxdWlkaXR5IG9mIGFzc2V0IGBhc3NldGAgaW4gcXVhbnRpdHkgYGFtb3VudGAgZnJvbSBPbW5pcG9vbABhAWByZW1vdmVfbGlxdWlkaXR5YCByZW1vdmVzIHNwZWNpZmllZCBzaGFyZXMgYW1vdW50IGZyb20gZ2l2ZW4gUG9zaXRpb25JZCAoTkZUIGluc3RhbmNlKS4AkQFBc3NldCdzIHRyYWRhYmxlIHN0YXRlIG11c3QgY29udGFpbiBSRU1PVkVfTElRVUlESVRZIGZsYWcsIG90aGVyd2lzZSBgTm90QWxsb3dlZGAgZXJyb3IgaXMgcmV0dXJuZWQuAF0BaWYgYWxsIHNoYXJlcyBmcm9tIGdpdmVuIHBvc2l0aW9uIGFyZSByZW1vdmVkLCBwb3NpdGlvbiBpcyBkZXN0cm95ZWQgYW5kIE5GVCBpcyBidXJuZWQuAOEBUmVtb3ZlIGxpcXVpZGl0eSBmYWlscyBpZiBwcmljZSBkaWZmZXJlbmNlIGJldHdlZW4gc3BvdCBwcmljZSBhbmQgb3JhY2xlIHByaWNlIGlzIGhpZ2hlciB0aGFuIGFsbG93ZWQgYnkgYFByaWNlQmFycmllcmAuAOUBRHluYW1pYyB3aXRoZHJhd2FsIGZlZSBpcyBhcHBsaWVkIGlmIHdpdGhkcmF3YWwgaXMgbm90IHNhZmUuIEl0IGlzIGNhbGN1bGF0ZWQgdXNpbmcgc3BvdCBwcmljZSBhbmQgZXh0ZXJuYWwgcHJpY2Ugb3JhY2xlLtxXaXRoZHJhd2FsIGlzIGNvbnNpZGVyZWQgc2FmZSB3aGVuIHRyYWRpbmcgaXMgZGlzYWJsZWQuACxQYXJhbWV0ZXJzOjEBLSBgcG9zaXRpb25faWRgOiBUaGUgaWRlbnRpZmllciBvZiBwb3NpdGlvbiB3aGljaCBsaXF1aWRpdHkgaXMgcmVtb3ZlZCBmcm9tLsgtIGBhbW91bnRgOiBBbW91bnQgb2Ygc2hhcmVzIHJlbW92ZWQgZnJvbSBvbW5pcG9vbAC8RW1pdHMgYExpcXVpZGl0eVJlbW92ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AbHJlbW92ZV9saXF1aWRpdHlfd2l0aF9saW1pdAwBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAARhhbW91bnQYARxCYWxhbmNlAAEkbWluX2xpbWl0GAEcQmFsYW5jZQAOWBEBUmVtb3ZlIGxpcXVpZGl0eSBvZiBhc3NldCBgYXNzZXRgIGluIHF1YW50aXR5IGBhbW91bnRgIGZyb20gT21uaXBvb2wAcExpbWl0IHByb3RlY3Rpb24gaXMgYXBwbGllZC4AYQFgcmVtb3ZlX2xpcXVpZGl0eWAgcmVtb3ZlcyBzcGVjaWZpZWQgc2hhcmVzIGFtb3VudCBmcm9tIGdpdmVuIFBvc2l0aW9uSWQgKE5GVCBpbnN0YW5jZSkuAJEBQXNzZXQncyB0cmFkYWJsZSBzdGF0ZSBtdXN0IGNvbnRhaW4gUkVNT1ZFX0xJUVVJRElUWSBmbGFnLCBvdGhlcndpc2UgYE5vdEFsbG93ZWRgIGVycm9yIGlzIHJldHVybmVkLgBdAWlmIGFsbCBzaGFyZXMgZnJvbSBnaXZlbiBwb3NpdGlvbiBhcmUgcmVtb3ZlZCwgcG9zaXRpb24gaXMgZGVzdHJveWVkIGFuZCBORlQgaXMgYnVybmVkLgDhAVJlbW92ZSBsaXF1aWRpdHkgZmFpbHMgaWYgcHJpY2UgZGlmZmVyZW5jZSBiZXR3ZWVuIHNwb3QgcHJpY2UgYW5kIG9yYWNsZSBwcmljZSBpcyBoaWdoZXIgdGhhbiBhbGxvd2VkIGJ5IGBQcmljZUJhcnJpZXJgLgDlAUR5bmFtaWMgd2l0aGRyYXdhbCBmZWUgaXMgYXBwbGllZCBpZiB3aXRoZHJhd2FsIGlzIG5vdCBzYWZlLiBJdCBpcyBjYWxjdWxhdGVkIHVzaW5nIHNwb3QgcHJpY2UgYW5kIGV4dGVybmFsIHByaWNlIG9yYWNsZS7cV2l0aGRyYXdhbCBpcyBjb25zaWRlcmVkIHNhZmUgd2hlbiB0cmFkaW5nIGlzIGRpc2FibGVkLgAsUGFyYW1ldGVyczoxAS0gYHBvc2l0aW9uX2lkYDogVGhlIGlkZW50aWZpZXIgb2YgcG9zaXRpb24gd2hpY2ggbGlxdWlkaXR5IGlzIHJlbW92ZWQgZnJvbS7ILSBgYW1vdW50YDogQW1vdW50IG9mIHNoYXJlcyByZW1vdmVkIGZyb20gb21uaXBvb2wFAS0gYG1pbl9saW1pdGA6IFRoZSBtaW4gYW1vdW50IG9mIGFzc2V0IHRvIGJlIHJlbW92ZWQgZm9yIHRoZSB1c2VyALxFbWl0cyBgTGlxdWlkaXR5UmVtb3ZlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBIc2FjcmlmaWNlX3Bvc2l0aW9uBAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAAEHJxTYWNyaWZpY2UgTFAgcG9zaXRpb24gaW4gZmF2b3Igb2YgcG9vbC4APQFBIHBvc2l0aW9uIGlzIGRlc3Ryb3llZCBhbmQgbGlxdWlkaXR5IG93bmVkIGJ5IExQIGJlY29tZXMgcG9vbCBvd25lZCBsaXF1aWRpdHkuALxPbmx5IG93bmVyIG9mIHBvc2l0aW9uIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgBoRW1pdHMgYFBvc2l0aW9uRGVzdHJveWVkYC4Qc2VsbBABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAE4bWluX2J1eV9hbW91bnQYARxCYWxhbmNlAAVEtEV4ZWN1dGUgYSBzd2FwIG9mIGBhc3NldF9pbmAgZm9yIGBhc3NldF9vdXRgLgCQUHJpY2UgaXMgZGV0ZXJtaW5lZCBieSB0aGUgT21uaXBvb2wuAHxIdWIgYXNzZXQgaXMgdHJhZGVkIHNlcGFyYXRlbHkuAAUCQXNzZXQncyB0cmFkYWJsZSBzdGF0ZXMgbXVzdCBjb250YWluIFNFTEwgZmxhZyBmb3IgYXNzZXRfaW4gYW5kIEJVWSBmbGFnIGZvciBhc3NldF9vdXQsIG90aGVyd2lzZSBgTm90QWxsb3dlZGAgZXJyb3IgaXMgcmV0dXJuZWQuACxQYXJhbWV0ZXJzOqgtIGBhc3NldF9pbmA6IElEIG9mIGFzc2V0IHNvbGQgdG8gdGhlIHBvb2y8LSBgYXNzZXRfb3V0YDogSUQgb2YgYXNzZXQgYm91Z2h0IGZyb20gdGhlIHBvb2yALSBgYW1vdW50YDogQW1vdW50IG9mIGFzc2V0IHNvbGTYLSBgbWluX2J1eV9hbW91bnRgOiBNaW5pbXVtIGFtb3VudCByZXF1aXJlZCB0byByZWNlaXZlANxFbWl0cyBgU2VsbEV4ZWN1dGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuIERlcHJlY2F0ZWQu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAAxidXkQASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABPG1heF9zZWxsX2Ftb3VudBgBHEJhbGFuY2UABkS0RXhlY3V0ZSBhIHN3YXAgb2YgYGFzc2V0X291dGAgZm9yIGBhc3NldF9pbmAuAJBQcmljZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBPbW5pcG9vbC4AfEh1YiBhc3NldCBpcyB0cmFkZWQgc2VwYXJhdGVseS4ABQJBc3NldCdzIHRyYWRhYmxlIHN0YXRlcyBtdXN0IGNvbnRhaW4gU0VMTCBmbGFnIGZvciBhc3NldF9pbiBhbmQgQlVZIGZsYWcgZm9yIGFzc2V0X291dCwgb3RoZXJ3aXNlIGBOb3RBbGxvd2VkYCBlcnJvciBpcyByZXR1cm5lZC4ALFBhcmFtZXRlcnM6qC0gYGFzc2V0X2luYDogSUQgb2YgYXNzZXQgc29sZCB0byB0aGUgcG9vbLwtIGBhc3NldF9vdXRgOiBJRCBvZiBhc3NldCBib3VnaHQgZnJvbSB0aGUgcG9vbIAtIGBhbW91bnRgOiBBbW91bnQgb2YgYXNzZXQgc29sZLwtIGBtYXhfc2VsbF9hbW91bnRgOiBNYXhpbXVtIGFtb3VudCB0byBiZSBzb2xkLgDYRW1pdHMgYEJ1eUV4ZWN1dGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuIERlcHJlY2F0ZWQu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAGBzZXRfYXNzZXRfdHJhZGFibGVfc3RhdGUIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARRzdGF0ZU0DASxUcmFkYWJpbGl0eQAHIHhVcGRhdGUgYXNzZXQncyB0cmFkYWJsZSBzdGF0ZS4ALFBhcmFtZXRlcnM6WC0gYGFzc2V0X2lkYDogYXNzZXQgaWRQLSBgc3RhdGVgOiBuZXcgc3RhdGUAzEVtaXRzIGBUcmFkYWJsZVN0YXRlVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBQcmVmdW5kX3JlZnVzZWRfYXNzZXQMASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEkcmVjaXBpZW50AAEwVDo6QWNjb3VudElkAAgksFJlZnVuZCBnaXZlbiBhbW91bnQgb2YgYXNzZXQgdG8gYSByZWNpcGllbnQuAFkCQSByZWZ1bmQgaXMgbmVlZGVkIHdoZW4gYSB0b2tlbiBpcyByZWZ1c2VkIHRvIGJlIGFkZGVkIHRvIE9tbmlwb29sLCBhbmQgaW5pdGlhbCBsaXF1aWRpdHkgb2YgdGhlIGFzc2V0IGhhcyBiZWVuIGFscmVhZHkgdHJhbnNmZXJyZWQgdG8gcG9vbCdzIGFjY291bnQuAI0BVHJhbnNmZXIgY2FuIGJlIGV4ZWN1dGVkIG9ubHkgaWYgYXNzZXQgaXMgbm90IGluIE9tbmlwb29sIGFuZCBwb29sJ3MgYmFsYW5jZSBoYXMgc3VmZmljaWVudCBhbW91bnQuAMhPbmx5IGBBdXRob3JpdHlPcmlnaW5gIGNhbiBwZXJmb3JtIHRoaXMgb3BlcmF0aW9uLgBURW1pdHMgYEFzc2V0UmVmdW5kZWRgUHNldF9hc3NldF93ZWlnaHRfY2FwCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEMY2FwSQMBHFBlcm1pbGwACSBkVXBkYXRlIGFzc2V0J3Mgd2VpZ2h0IGNhcAAsUGFyYW1ldGVyczpYLSBgYXNzZXRfaWRgOiBhc3NldCBpZFwtIGBjYXBgOiBuZXcgd2VpZ2h0IGNhcADQRW1pdHMgYEFzc2V0V2VpZ2h0Q2FwVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBsd2l0aGRyYXdfcHJvdG9jb2xfbGlxdWlkaXR5EAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABFHByaWNlUQMBSChCYWxhbmNlLCBCYWxhbmNlKQABEGRlc3QAATBUOjpBY2NvdW50SWQACyxsUmVtb3ZlcyBwcm90b2NvbCBsaXF1aWRpdHkuAIUBUHJvdG9jb2wgbGlxdWlkaXR5IGlzIGxpcXVpZGl0eSBmcm9tIHNhY3JpZmljZWQgcG9zaXRpb25zLiBJbiBvcmRlciB0byByZW1vdmUgcHJvdG9jb2wgbGlxdWlkaXR5LHkBd2UgbmVlZCB0aGUga25vdyB0aGUgcHJpY2Ugb2YgdGhlIHBvc2l0aW9uIGF0IHRoZSB0aW1lIG9mIHNhY3JpZmljZS4gSGVuY2UgdGhpcyBzcGVjaWZpYyBjYWxsLgC0T25seSBgQXV0aG9yaXR5T3JpZ2luYCBjYW4gcGVyZm9ybSB0aGlzIGNhbGwuAHkBTm90ZSB0aGF0IHNhY3JpZmljZSBwb3NpdGlvbiB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gZnV0dXJlLiBUaGVyZSBpcyBubyBsb25nZXIgYSBuZWVkIGZvciB0aGF0LgBhAUl0IHdvcmtzIHRoZSBzYW1lIHdheSBhcyByZW1vdmUgbGlxdWlkaXR5IGNhbGwsIGJ1dCBwb3NpdGlvbiBpcyB0ZW1wb3JhcnkgcmVjb25zdHJ1Y3RlZC4AMHJlbW92ZV90b2tlbggBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABLGJlbmVmaWNpYXJ5AAEwVDo6QWNjb3VudElkAAwscFJlbW92ZXMgdG9rZW4gZnJvbSBPbW5pcG9vbC4ARQFBc3NldCdzIHRyYWRhYmlsaXR5IG11c3QgYmUgRlJPWkVOLCBvdGhlcndpc2UgYEFzc2V0Tm90RnJvemVuYCBlcnJvciBpcyByZXR1cm5lZC4AYQFSZW1haW5pbmcgc2hhcmVzIG11c3QgYmVsb25nIHRvIHByb3RvY29sLCBvdGhlcndpc2UgYFNoYXJlc1JlbWFpbmluZ2AgZXJyb3IgaXMgcmV0dXJuZWQuAHkBUHJvdG9jb2wncyBsaXF1aWRpdHkgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIGJlbmVmaWNpYXJ5IGFjY291bnQgYW5kIGh1YiBhc3NldCBhbW91bnQgaXMgYnVybmVkLgC0T25seSBgQXV0aG9yaXR5T3JpZ2luYCBjYW4gcGVyZm9ybSB0aGlzIGNhbGwuAKxFbWl0cyBgVG9rZW5SZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLkkDDDRzcF9hcml0aG1ldGljKHBlcl90aGluZ3McUGVybWlsbAAABAAQAQx1MzIAAE0DDDxwYWxsZXRfb21uaXBvb2wUdHlwZXMsVHJhZGFiaWxpdHkAAAQBEGJpdHMIAQh1OAAAUQMAAAQIGBgAVQMMYHBhbGxldF90cmFuc2FjdGlvbl9wYXVzZRhwYWxsZXQQQ2FsbAQEVAABCERwYXVzZV90cmFuc2FjdGlvbggBLHBhbGxldF9uYW1lOAEcVmVjPHU4PgABNGZ1bmN0aW9uX25hbWU4ARxWZWM8dTg+AAAATHVucGF1c2VfdHJhbnNhY3Rpb24IASxwYWxsZXRfbmFtZTgBHFZlYzx1OD4AATRmdW5jdGlvbl9uYW1lOAEcVmVjPHU4PgABAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5ZAww0cGFsbGV0X2R1c3RlchhwYWxsZXQQQ2FsbAQEVAABDDBkdXN0X2FjY291bnQIARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAAUXER1c3Qgc3BlY2lmaWVkIGFjY291bnQudQFJRiBhY2NvdW50IGJhbGFuY2UgaXMgPCBtaW4uIGV4aXN0ZW50aWFsIGRlcG9zaXQgb2YgZ2l2ZW4gY3VycmVuY3ksIGFuZCBhY2NvdW50IGlzIGFsbG93ZWQgdG9dAWJlIGR1c3RlZCwgdGhlIHJlbWFpbmluZyBiYWxhbmNlIGlzIHRyYW5zZmVycmVkIHRvIHNlbGVjdGVkIGFjY291bnQgKHVzdWFsbHkgdHJlYXN1cnkpLgDkQ2FsbGVyIGlzIHJld2FyZGVkIHdpdGggY2hvc2VuIHJld2FyZCBpbiBuYXRpdmUgY3VycmVuY3kuXGFkZF9ub25kdXN0YWJsZV9hY2NvdW50BAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAABDFUBQWRkIGFjY291bnQgdG8gbGlzdCBvZiBub24tZHVzdGFibGUgYWNjb3VudC4gQWNjb3VudCB3aGloYyBhcmUgZXhjbHVkZWQgZnJvbSB1ZHN0aW5nLikBSWYgc3VjaCBhY2NvdW50IHNob3VsZCBiZSBkdXN0ZWQgLSBgQWNjb3VudEJsYWNrbGlzdGVkYCBlcnJvciBpcyByZXR1cm5lZC6IT25seSByb290IGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLmhyZW1vdmVfbm9uZHVzdGFibGVfYWNjb3VudAQBHGFjY291bnQAATBUOjpBY2NvdW50SWQAAgRpAVJlbW92ZSBhY2NvdW50IGZyb20gbGlzdCBvZiBub24tZHVzdGFibGUgYWNjb3VudHMuIFRoYXQgbWVhbnMgYWNjb3VudCBjYW4gYmUgZHVzdGVkIGFnYWluLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5dAwxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0EENhbGwIBFQABEkAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuYQMMgHBhbGxldF9vbW5pcG9vbF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBBDYWxsBARUAAFASGNyZWF0ZV9nbG9iYWxfZmFybSABNHRvdGFsX3Jld2FyZHMYARxCYWxhbmNlAAFgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzEAEsUGVyaW9kT2Y8VD4AAURibG9ja3NfcGVyX3BlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAE8cmV3YXJkX2N1cnJlbmN5EAEoVDo6QXNzZXRJZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAFAeWllbGRfcGVyX3BlcmlvZGUDASxQZXJxdWludGlsbAABLG1pbl9kZXBvc2l0GAEcQmFsYW5jZQABVGxybmFfcHJpY2VfYWRqdXN0bWVudFEBASRGaXhlZFUxMjgAAHD8Q3JlYXRlIGEgbmV3IGxpcXVpZGl0eSBtaW5pbmcgcHJvZ3JhbSB3aXRoIHByb3ZpZGVkIHBhcmFtZXRlcnMuAEUBYG93bmVyYCBhY2NvdW50IGhhcyB0byBoYXZlIGF0IGxlYXN0IGB0b3RhbF9yZXdhcmRzYCBiYWxhbmNlLiBUaGVzZSBmdW5kcyB3aWxsIGJlpHRyYW5zZmVycmVkIGZyb20gYG93bmVyYCB0byBmYXJtIGFjY291bnQuAPBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgVDo6Q3JlYXRlT3JpZ2luYC5VASEhIVdBUk46IGBUOjpDcmVhdGVPcmlnaW5gIGhhcyBwb3dlciBvdmVyIGZ1bmRzIG9mIGBvd25lcmAncyBhY2NvdW50IGFuZCBpdCBzaG91bGQgYmXQY29uZmlndXJlZCB0byB0cnVzdGVkIG9yaWdpbiBlLmcgU3VkbyBvciBHb3Zlcm5hbmNlLgAsUGFyYW1ldGVyczpVAS0gYG9yaWdpbmA6IGFjY291bnQgYWxsb3dlZCB0byBjcmVhdGUgbmV3IGxpcXVpZGl0eSBtaW5pbmcgcHJvZ3JhbShyb290LCBnb3Zlcm5hbmNlKS41AS0gYHRvdGFsX3Jld2FyZHNgOiB0b3RhbCByZXdhcmRzIHBsYW5uZWQgdG8gZGlzdHJpYnV0ZS4gVGhlc2UgcmV3YXJkcyB3aWxsIGJl3GRpc3RyaWJ1dGVkIGJldHdlZW4gYWxsIHlpZWxkIGZhcm1zIGluIHRoZSBnbG9iYWwgZmFybS5ZAS0gYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kc2A6IHBsYW5uZWQgbnVtYmVyIG9mIHBlcmlvZHMgdG8gZGlzdHJpYnV0ZSBgdG90YWxfcmV3YXJkc2AuKQFXQVJOOiBUSElTIElTIE5PVCBIQVJEIERFQURMSU5FLiBOb3QgYWxsIHJld2FyZHMgaGF2ZSB0byBiZSBkaXN0cmlidXRlZCBpbl0BYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kc2AuIFJld2FyZHMgYXJlIGRpc3RyaWJ1dGVkIGJhc2VkIG9uIHRoZSBzaXR1YXRpb24gaW4gdGhlIHlpZWxkQQFmYXJtcyBhbmQgY2FuIGJlIGRpc3RyaWJ1dGVkIGluIGEgbG9uZ2VyLCB0aG91Z2ggbmV2ZXIgaW4gYSBzaG9ydGVyLCB0aW1lIGZyYW1lLlkBLSBgYmxvY2tzX3Blcl9wZXJpb2RgOiAgbnVtYmVyIG9mIGJsb2NrcyBpbiBhIHNpbmdsZSBwZXJpb2QuIE1pbi4gbnVtYmVyIG9mIGJsb2NrcyBwZXIwcGVyaW9kIGlzIDEuwC0gYHJld2FyZF9jdXJyZW5jeWA6IHBheW9mZiBjdXJyZW5jeSBvZiByZXdhcmRzLjkBLSBgb3duZXJgOiBsaXEuIG1pbmluZyBmYXJtIG93bmVyLiBUaGlzIGFjY291bnQgd2lsbCBiZSBhYmxlIHRvIG1hbmFnZSBjcmVhdGVkZGxpcXVpZGl0eSBtaW5pbmcgcHJvZ3JhbS4pAS0gYHlpZWxkX3Blcl9wZXJpb2RgOiBwZXJjZW50YWdlIHJldHVybiBvbiBgcmV3YXJkX2N1cnJlbmN5YCBvZiBhbGwgZmFybXMukQEtIGBtaW5fZGVwb3NpdGA6IG1pbmltdW0gYW1vdW50IG9mIExQIHNoYXJlcyB0byBiZSBkZXBvc2l0ZWQgaW50byB0aGUgbGlxdWlkaXR5IG1pbmluZyBieSBlYWNoIHVzZXIuTQEtIGBscm5hX3ByaWNlX2FkanVzdG1lbnRgOiBwcmljZSBhZGp1c3RtZW50IGJldHdlZW4gYFtMUk5BXWAgYW5kIGByZXdhcmRfY3VycmVuY3lgLgCoRW1pdHMgYEdsb2JhbEZhcm1DcmVhdGVkYCB3aGVuIHN1Y2Nlc3NmdWwuAFR0ZXJtaW5hdGVfZ2xvYmFsX2Zhcm0EAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAACNJxUZXJtaW5hdGUgZXhpc3RpbmcgbGlxLiBtaW5pbmcgcHJvZ3JhbS4AoE9ubHkgZmFybSBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4AEQFXQVJOOiBUbyBzdWNjZXNzZnVsbHkgdGVybWluYXRlIGEgZ2xvYmFsIGZhcm0sIGZhcm0gaGF2ZSB0byBiZSBlbXB0eeAoYWxsIHlpZWxkIGZhcm1zIGluIHRoZSBnbG9iYWwgZmFybSBtdXN0IGJlIHRlcm1pbmF0ZWQpLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci7cLSBgZ2xvYmFsX2Zhcm1faWRgOiBpZCBvZiBnbG9iYWwgZmFybSB0byBiZSB0ZXJtaW5hdGVkLgDMRW1pdHMgYEdsb2JhbEZhcm1UZXJtaW5hdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAERjcmVhdGVfeWllbGRfZmFybRABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEobXVsdGlwbGllclEBAThGYXJtTXVsdGlwbGllcgABNGxveWFsdHlfY3VydmVpAwFQT3B0aW9uPExveWFsdHlDdXJ2ZT4AA0jcQ3JlYXRlIHlpZWxkIGZhcm0gZm9yIGdpdmVuIGBhc3NldF9pZGAgaW4gdGhlIG9tbmlwb29sLgQgoE9ubHkgZmFybSBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4A7EFzc2V0IHdpdGggYGFzc2V0X2lkYCBoYXMgdG8gYmUgcmVnaXN0ZXJlZCBpbiB0aGUgb21uaXBvb2wuVQFBdCBtb3N0IG9uZSBgYWN0aXZlYCB5aWVsZCBmYXJtIGNhbiBleGlzdCBpbiBvbmUgZ2xvYmFsIGZhcm0gZm9yIHRoZSBzYW1lIGBhc3NldF9pZGAuACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLh0BLSBgZ2xvYmFsX2Zhcm1faWRgOiBnbG9iYWwgZmFybSBpZCB0byB3aGljaCBhIHlpZWxkIGZhcm0gd2lsbCBiZSBhZGRlZC4dAS0gYGFzc2V0X2lkYDogaWQgb2YgYSBhc3NldCBpbiB0aGUgb21uaXBvb2wuIFlpZWxkIGZhcm0gd2lsbCBiZSBjcmVhdGVkYQFmb3IgdGhpcyBhc3NldCBhbmQgdXNlciB3aWxsIGJlIGFibGUgdG8gbG9jayBMUCBzaGFyZXMgaW50byB0aGlzIHlpZWxkIGZhcm0gaW1tZWRpYXRlbHkuoC0gYG11bHRpcGxpZXJgOiB5aWVsZCBmYXJtJ3MgbXVsdGlwbGllci5dAS0gYGxveWFsdHlfY3VydmVgOiBjdXJ2ZSB0byBjYWxjdWxhdGUgbG95YWx0eSBtdWx0aXBsaWVyIHRvIGRpc3RyaWJ1dGUgcmV3YXJkcyB0byB1c2Vyc+B3aXRoIHRpbWUgaW5jZW50aXZlLiBgTm9uZWAgbWVhbnMgbm8gbG95YWx0eSBtdWx0aXBsaWVyLgC8RW1pdHMgYFlpZWxkRmFybUNyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ARHVwZGF0ZV95aWVsZF9mYXJtDAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAShtdWx0aXBsaWVyUQEBOEZhcm1NdWx0aXBsaWVyAAQwfFVwZGF0ZSB5aWVsZCBmYXJtJ3MgbXVsdGlwbGllci4EIKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLh0BLSBgZ2xvYmFsX2Zhcm1faWRgOiBnbG9iYWwgZmFybSBpZCBpbiB3aGljaCB5aWVsZCBmYXJtIHdpbGwgYmUgdXBkYXRlZC4hAS0gYGFzc2V0X2lkYDogaWQgb2YgdGhlIGFzc2V0IGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0gaW4gdGhlIGdsb2JhbCBmYXJtLrAtIGBtdWx0aXBsaWVyYDogbmV3IHlpZWxkIGZhcm0ncyBtdWx0aXBsaWVyLgC8RW1pdHMgYFlpZWxkRmFybVVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4APHN0b3BfeWllbGRfZmFybQgBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAVAuFN0b3AgbGlxdWlkaXR5IG1pbWluZyBmb3Igc3BlY2lmaWMgeWllbGQgZmFybS4AMQFUaGlzIGZ1bmN0aW9uIGNsYWltcyByZXdhcmRzIGZyb20gYEdsb2JhbEZhcm1gIGxhc3QgdGltZSBhbmQgc3RvcCB5aWVsZCBmYXJtIQFpbmNlbnRpdml6YXRpb24gZnJvbSBhIGBHbG9iYWxGYXJtYC4gVXNlcnMgd2lsbCBiZSBhYmxlIHRvIG9ubHkgd2l0aGRyYXfIc2hhcmVzKHdpdGggY2xhaW1pbmcpIGFmdGVyIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi7gYGRlcG9zaXRfc2hhcmVzKClgIGlzIG5vdCBhbGxvd2VkIG9uIHN0b3BwZWQgeWllbGQgZmFybS4EIKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLgUBLSBgZ2xvYmFsX2Zhcm1faWRgOiBmYXJtIGlkIGluIHdoaWNoIHlpZWxkIGZhcm0gd2lsbCBiZSBjYW5jZWxlZC4hAS0gYGFzc2V0X2lkYDogaWQgb2YgdGhlIGFzc2V0IGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0gaW4gdGhlIGdsb2JhbCBmYXJtLgC8RW1pdHMgYFlpZWxkRmFybVN0b3BwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4ARHJlc3VtZV95aWVsZF9mYXJtEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAShtdWx0aXBsaWVyUQEBOEZhcm1NdWx0aXBsaWVyAAZM+FJlc3VtZSBpbmNlbnRpdml6YXRpb24gb2YgdGhlIGFzc2V0IHJlcHJlc2VudGVkIGJ5IHlpZWxkIGZhcm0uAC0BVGhpcyBmdW5jdGlvbiByZXN1bWUgaW5jZW50aXZpemF0aW9uIG9mIHRoZSBhc3NldCBmcm9tIHRoZSBgR2xvYmFsRmFybWAgYW5kMQFyZXN0b3JlIGZ1bGwgZnVuY3Rpb25hbGl0eSBvciB0aGUgeWllbGQgZmFybS4gVXNlcnMgd2lsbCBiZSBhYmxlIHRvIGRlcG9zaXQsZGNsYWltIGFuZCB3aXRoZHJhdyBhZ2Fpbi4AEQFXQVJOOiBZaWVsZCBmYXJtKGFuZCB1c2VycykgaXMgTk9UIHJld2FyZGVkIGZvciB0aW1lIGl0IHdhcyBzdG9wcGVkLgCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4dAS0gYGdsb2JhbF9mYXJtX2lkYDogZ2xvYmFsIGZhcm0gaWQgaW4gd2hpY2ggeWllbGQgZmFybSB3aWxsIGJlIHJlc3VtZWQu2C0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB0aGUgeWllbGQgZmFybSB0byBiZSByZXN1bWVkLiEBLSBgYXNzZXRfaWRgOiBpZCBvZiB0aGUgYXNzZXQgaWRlbnRpZnlpbmcgeWllbGQgZmFybSBpbiB0aGUgZ2xvYmFsIGZhcm0umC0gYG11bHRpcGxpZXJgOiB5aWVsZCBmYXJtIG11bHRpcGxpZXIuALxFbWl0cyBgWWllbGRGYXJtUmVzdW1lZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBQdGVybWluYXRlX3lpZWxkX2Zhcm0MAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAAHUFRUZXJtaW5hdGUgeWllbGQgZmFybS4AgQFUaGlzIGZ1bmN0aW9uIG1hcmtzIGEgeWllbGQgZmFybSBhcyByZWFkeSB0byBiZSByZW1vdmVkIGZyb20gc3RvcmFnZSB3aGVuIGl0J3MgZW1wdHkuIFVzZXJzIHdpbGxlAWJlIGFibGUgdG8gb25seSB3aXRoZHJhdyBzaGFyZXMod2l0aG91dCBjbGFpbWluZyByZXdhcmRzIGZyb20geWllbGQgZmFybSkuIFVucGFpZCByZXdhcmRzfQF3aWxsIGJlIHRyYW5zZmVycmVkIGJhY2sgdG8gZ2xvYmFsIGZhcm0gYW5kIGl0IHdpbGwgYmUgdXNlZCB0byBkaXN0cmlidXRlIHRvIG90aGVyIHlpZWxkIGZhcm1zLgDcWWllbGQgZmFybSBtdXN0IGJlIHN0b3BwZWQgYmVmb3JlIGl0IGNhbiBiZSB0ZXJtaW5hdGVkLgBxAU9ubHkgZ2xvYmFsIGZhcm0ncyBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4gWWllbGQgZmFybSBzdGF5cyBpbiB0aGUgc3RvcmFnZSB1bnRpbCBpdCdzbQFlbXB0eShhbGwgZmFybSBlbnRyaWVzIGFyZSB3aXRoZHJhd24pLiBMYXN0IHdpdGhkcmF3biBmcm9tIHlpZWxkIGZhcm0gdHJpZ2dlciByZW1vdmluZyBmcm9tMHRoZSBzdG9yYWdlLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4xAS0gYGdsb2JhbF9mYXJtX2lkYDogZ2xvYmFsIGZhcm0gaWQgaW4gd2hpY2ggeWllbGQgZmFybSBzaG91bGQgYmUgdGVybWluYXRlZC7ULSBgeWllbGRfZmFybV9pZGA6IGlkIG9mIHlpZWxkIGZhcm0gdG8gYmUgdGVybWluYXRlZC7ULSBgYXNzZXRfaWRgOiBpZCBvZiB0aGUgYXNzZXQgaWRlbnRpZnlpbmcgeWllbGQgZmFybS4AyEVtaXRzIGBZaWVsZEZhcm1UZXJtaW5hdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADhkZXBvc2l0X3NoYXJlcwwBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAAIOOxEZXBvc2l0IG9tbmlwb29sIHBvc2l0aW9uKExQIHNoYXJlcykgdG8gYSBsaXF1aWRpdHkgbWluaW5nLgBxAVRoaXMgZnVuY3Rpb24gdHJhbnNmZXJzIG9tbmlwb29sIHBvc2l0aW9uIGZyb20gYG9yaWdpbmAgdG8gcGFsbGV0J3MgYWNjb3VudCBhbmQgbWludCBORlQgZm9yRQFgb3JpZ2luYCBhY2NvdW50LiBNaW50ZWQgTkZUIHJlcHJlc2VudHMgZGVwb3NpdCBpbiB0aGUgbGlxdWlkaXR5IG1pbmluZy4gVXNlciBjYW4hAWRlcG9zaXQgb21uaXBvb2wgcG9zaXRpb24gYXMgYSB3aG9sZShhbGwgdGhlIExQIHNoYXJlcyBpbiB0aGUgcG9zaXRpb24pLgAsUGFyYW1ldGVyczpBAS0gYG9yaWdpbmA6IG93bmVyIG9mIHRoZSBvbW5pcG9vbCBwb3NpdGlvbiB0byBkZXBvc2l0IGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcuPQEtIGBnbG9iYWxfZmFybV9pZGA6IGlkIG9mIGdsb2JhbCBmYXJtIHRvIHdoaWNoIHVzZXIgd2FudHMgdG8gZGVwb3NpdCBMUCBzaGFyZXMuyC0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB5aWVsZCBmYXJtIHRvIGRlcG9zaXQgdG8uXQEtIGBwb3NpdGlvbl9pZGA6IGlkIG9mIHRoZSBvbW5pcG9vbCBwb3NpdGlvbiB0byBiZSBkZXBvc2l0ZWQgaW50byB0aGUgbGlxdWlkaXR5IG1pbmluZy4AuEVtaXRzIGBTaGFyZXNEZXBvc2l0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AQHJlZGVwb3NpdF9zaGFyZXMMAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQACTzwUmVkZXBvc2l0IExQIHNoYXJlcyBpbiB0aGUgYWxyZWFkeSBsb2NrZWQgb21uaXBvb2wgcG9zaXRpb24uAFEBVGhpcyBmdW5jdGlvbiBjcmVhdGUgeWllbGQgZmFybSBlbnRyeSBmb3IgZXhpc3RpbmcgZGVwb3NpdC4gQW1vdW50IG9mIHJlZGVwb3NpdGVkIExQLQFzaGFyZXMgaXMgc2FtZSBhcyBhbW91bnQgc2hhcmVzIHdoaWNoIGFyZSBhbHJlYWR5IGRlcG9zaXRlZCBpbiB0aGUgZGVwb3NpdC4AuFRoaXMgZnVuY3Rpb24gRE9FU04nVCBjcmVhdGUgbmV3IGRlcG9zaXQoTkZUKS4ALFBhcmFtZXRlcnM6uC0gYG9yaWdpbmA6IG93bmVyIG9mIHRoZSBkZXBvc2l0IHRvIHJlZGVwb3NpdC5VAS0gYGdsb2JhbF9mYXJtX2lkYDogaWQgb2YgdGhlIGdsb2JhbCBmYXJtIHRvIHdoaWNoIHVzZXIgd2FudHMgdG8gcmVkZXBvc2l0IExQIHNoYXJlcy7gLSBgeWllbGRfZmFybV9pZGA6IGlkIG9mIHRoZSB5aWVsZCBmYXJtIHRvIHJlZGVwb3NpdCB0by7cLSBgZGVwb3NpdF9pZGA6IGlkZW50aWZpZXIgb2YgdGhlIGRlcG9zaXQgdG8gcmVkZXBvc2l0LgDARW1pdHMgYFNoYXJlc1JlZGVwb3NpdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADRjbGFpbV9yZXdhcmRzCAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAAKMGEBQ2xhaW0gcmV3YXJkcyBmcm9tIGxpcXVpZGl0eSBtaW5pbmcgcHJvZ3JhbSBmb3IgZGVwb3NpdCByZXByZXNlbnRlZCBieSB0aGUgYGRlcG9zaXRfaWRgLgBtAVRoaXMgZnVuY3Rpb24gY2FsY3VsYXRlIHVzZXIgcmV3YXJkcyBmcm9tIGxpcXVpZGl0eSBtaW5pbmcgYW5kIHRyYW5zZmVyIHJld2FyZHMgdG8gYG9yaWdpbmD8YWNjb3VudC4gQ2xhaW1pbmcgbXVsdGlwbGUgdGltZSB0aGUgc2FtZSBwZXJpb2QgaXMgbm90IGFsbG93ZWQuACxQYXJhbWV0ZXJzOnQtIGBvcmlnaW5gOiBvd25lciBvZiBkZXBvc2l0LtwtIGBkZXBvc2l0X2lkYDogaWQgb2YgdGhlIGRlcG9zaXQgdG8gY2xhaW0gcmV3YXJkcyBmb3Iu+C0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB0aGUgeWllbGQgZmFybSB0byBjbGFpbSByZXdhcmRzIGZyb20uALBFbWl0cyBgUmV3YXJkQ2xhaW1lZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgA8d2l0aGRyYXdfc2hhcmVzCAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAALUFUBVGhpcyBmdW5jdGlvbiBjbGFpbSByZXdhcmRzIGFuZCB3aXRoZHJhdyBMUCBzaGFyZXMgZnJvbSB5aWVsZCBmYXJtLiBPbW5pcG9vbCBwb3NpdGlvblEBaXMgdHJhbnNmZXJyZWQgdG8gb3JpZ2luIG9ubHkgaWYgdGhpcyBpcyBsYXN0IHdpdGhkcmF3IGluIHRoZSBkZXBvc2l0IGFuZCBkZXBvc2l0IGlzUQFkZXN0cm95ZWQuIFRoaXMgZnVuY3Rpb24gY2xhaW0gcmV3YXJkcyBvbmx5IGlmIHlpZWxkIGZhcm0gaXMgbm90IHRlcm1pbmF0ZWQgYW5kIHVzZXK8ZGlkbid0IGFscmVhZHkgY2xhaW0gcmV3YXJkcyBpbiBjdXJyZW50IHBlcmlvZC4ATQFVbmNsYWltYWJsZSByZXdhcmRzIHJlcHJlc2VudHMgcmV3YXJkcyB3aGljaCB1c2VyIHdvbid0IGJlIGFibGUgdG8gY2xhaW0gYmVjYXVzZSBvZkkBZXhpdGluZyBlYXJseSBhbmQgdGhlc2UgcmV3YXJkcyB3aWxsIGJlIHRyYW5zZmVycmVkIGJhY2sgdG8gZ2xvYmFsIGZhcm0gZm9yIGZ1dHVyZTxyZWRpc3RyaWJ1dGlvbi4ALFBhcmFtZXRlcnM6dC0gYG9yaWdpbmA6IG93bmVyIG9mIGRlcG9zaXQu3C0gYGRlcG9zaXRfaWRgOiBpZCBvZiB0aGUgZGVwb3NpdCB0byBjbGFpbSByZXdhcmRzIGZvci74LSBgeWllbGRfZmFybV9pZGA6IGlkIG9mIHRoZSB5aWVsZCBmYXJtIHRvIGNsYWltIHJld2FyZHMgZnJvbS4AGEVtaXRzOsQqIGBSZXdhcmRDbGFpbWVkYCBldmVudCBpZiBjbGFpbWVkIHJld2FyZHMgaXMgPiAwpCogYFNoYXJlc1dpdGhkcmF3bmAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsXQEqIGBEZXBvc2l0RGVzdHJveWVkYCBldmVudCB3aGVuIHRoaXMgd2FzIGxhc3Qgd2l0aGRyYXcgZnJvbSB0aGUgZGVwb3NpdCBhbmQgZGVwb3NpdCB3YXMoZGVzdHJveWVkLgBIdXBkYXRlX2dsb2JhbF9mYXJtEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMQAUhjcmF0ZTo6UGVyaW9kT2Y8VD4AAUB5aWVsZF9wZXJfcGVyaW9kZQMBLFBlcnF1aW50aWxsAAEsbWluX2RlcG9zaXQYARxCYWxhbmNlAAw41FRoaXMgZXh0cmluc2ljIHVwZGF0ZXMgZ2xvYmFsIGZhcm0ncyBtYWluIHBhcmFtZXRlcnMuAPBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgVDo6Q3JlYXRlT3JpZ2luYC5VASEhIVdBUk46IGBUOjpDcmVhdGVPcmlnaW5gIGhhcyBwb3dlciBvdmVyIGZ1bmRzIG9mIGBvd25lcmAncyBhY2NvdW50IGFuZCBpdCBzaG91bGQgYmXQY29uZmlndXJlZCB0byB0cnVzdGVkIG9yaWdpbiBlLmcgU3VkbyBvciBHb3Zlcm5hbmNlLgAsUGFyYW1ldGVyczpVAS0gYG9yaWdpbmA6IGFjY291bnQgYWxsb3dlZCB0byBjcmVhdGUgbmV3IGxpcXVpZGl0eSBtaW5pbmcgcHJvZ3JhbShyb290LCBnb3Zlcm5hbmNlKS7QLSBgZ2xvYmFsX2Zhcm1faWRgOiBpZCBvZiB0aGUgZ2xvYmFsIGZhcm0gdG8gdXBkYXRlLlkBLSBgcGxhbm5lZF95aWVsZGluZ19wZXJpb2RzYDogcGxhbm5lZCBudW1iZXIgb2YgcGVyaW9kcyB0byBkaXN0cmlidXRlIGB0b3RhbF9yZXdhcmRzYC4pAS0gYHlpZWxkX3Blcl9wZXJpb2RgOiBwZXJjZW50YWdlIHJldHVybiBvbiBgcmV3YXJkX2N1cnJlbmN5YCBvZiBhbGwgZmFybXMukQEtIGBtaW5fZGVwb3NpdGA6IG1pbmltdW0gYW1vdW50IG9mIExQIHNoYXJlcyB0byBiZSBkZXBvc2l0ZWQgaW50byB0aGUgbGlxdWlkaXR5IG1pbmluZyBieSBlYWNoIHVzZXIuAMBFbWl0cyBgR2xvYmFsRmFybVVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4oam9pbl9mYXJtcwgBMGZhcm1fZW50cmllc3EDAREBQm91bmRlZFZlYzwoR2xvYmFsRmFybUlkLCBZaWVsZEZhcm1JZCksIFQ6Ok1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdD4AASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAA0kRQFUaGlzIGZ1bmN0aW9uIGFsbG93cyB1c2VyIHRvIGpvaW4gbXVsdGlwbGUgZmFybXMgd2l0aCBhIHNpbmdsZSBvbW5pcG9vbCBwb3NpdGlvbi4ALFBhcmFtZXRlcnM6QQEtIGBvcmlnaW5gOiBvd25lciBvZiB0aGUgb21uaXBvb2wgcG9zaXRpb24gdG8gZGVwb3NpdCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nLqAtIGBmYXJtX2VudHJpZXNgOiBsaXN0IG9mIGZhcm1zIHRvIGpvaW4uXQEtIGBwb3NpdGlvbl9pZGA6IGlkIG9mIHRoZSBvbW5pcG9vbCBwb3NpdGlvbiB0byBiZSBkZXBvc2l0ZWQgaW50byB0aGUgbGlxdWlkaXR5IG1pbmluZy4A2EVtaXRzIGBTaGFyZXNEZXBvc2l0ZWRgIGV2ZW50IGZvciB0aGUgZmlyc3QgZmFybSBlbnRyeR0BRW1pdHMgYFNoYXJlc1JlZGVwb3NpdGVkYCBldmVudCBmb3IgZWFjaCBmYXJtIGVudHJ5IGFmdGVyIHRoZSBmaXJzdCBvbmVwYWRkX2xpcXVpZGl0eV9hbmRfam9pbl9mYXJtcxABMGZhcm1fZW50cmllc3EDAREBQm91bmRlZFZlYzwoR2xvYmFsRmFybUlkLCBZaWVsZEZhcm1JZCksIFQ6Ok1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdD4AARRhc3NldBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAFAbWluX3NoYXJlc19saW1pdPQBPE9wdGlvbjxCYWxhbmNlPgAOLF0BVGhpcyBmdW5jdGlvbiBhbGxvd3MgdXNlciB0byBhZGQgbGlxdWlkaXR5IHRoZW4gdXNlIHRoYXQgc2hhcmVzIHRvIGpvaW4gbXVsdGlwbGUgZmFybXMuACxQYXJhbWV0ZXJzOkEBLSBgb3JpZ2luYDogb3duZXIgb2YgdGhlIG9tbmlwb29sIHBvc2l0aW9uIHRvIGRlcG9zaXQgaW50byB0aGUgbGlxdWlkaXR5IG1pbmluZy6gLSBgZmFybV9lbnRyaWVzYDogbGlzdCBvZiBmYXJtcyB0byBqb2luLhUBLSBgYXNzZXRgOiBpZCBvZiB0aGUgYXNzZXQgdG8gYmUgZGVwb3NpdGVkIGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcuKQEtIGBhbW91bnRgOiBhbW91bnQgb2YgdGhlIGFzc2V0IHRvIGJlIGRlcG9zaXRlZCBpbnRvIHRoZSBsaXF1aWRpdHkgbWluaW5nLoUBLSBgbWluX3NoYXJlc19saW1pdGA6IFRoZSBtaW4gYW1vdW50IG9mIGRlbHRhIHNoYXJlIGFzc2V0IHRoZSB1c2VyIHNob3VsZCByZWNlaXZlIGluIHRoZSBwb3NpdGlvbgDYRW1pdHMgYFNoYXJlc0RlcG9zaXRlZGAgZXZlbnQgZm9yIHRoZSBmaXJzdCBmYXJtIGVudHJ5HQFFbWl0cyBgU2hhcmVzUmVkZXBvc2l0ZWRgIGV2ZW50IGZvciBlYWNoIGZhcm0gZW50cnkgYWZ0ZXIgdGhlIGZpcnN0IG9uZShleGl0X2Zhcm1zCAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAABOHlpZWxkX2Zhcm1faWRzfQMB0EJvdW5kZWRWZWM8WWllbGRGYXJtSWQsIFQ6Ok1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdD4ADzyMRXhpdCBmcm9tIGFsbCBzcGVjaWZpZWQgeWllbGQgZmFybXMAXQFUaGlzIGZ1bmN0aW9uIHdpbGwgYXR0ZW1wdCB0byB3aXRoZHJhdyBzaGFyZXMgYW5kIGNsYWltIHJld2FyZHMgKGlmIGF2YWlsYWJsZSkgZnJvbSBhbGyoc3BlY2lmaWVkIHlpZWxkIGZhcm1zIGZvciBhIGdpdmVuIGRlcG9zaXQuACxQYXJhbWV0ZXJzOqgtIGBvcmlnaW5gOiBhY2NvdW50IG93bmVyIG9mIGRlcG9zaXQobmZ0KS7cLSBgZGVwb3NpdF9pZGA6IGlkIG9mIHRoZSBkZXBvc2l0IHRvIGNsYWltIHJld2FyZHMgZm9yLuAtIGB5aWVsZF9mYXJtX2lkc2A6IGlkKHMpIG9mIHlpZWxkIGZhcm0ocykgdG8gZXhpdCBmcm9tLgAYRW1pdHM6rCogYFJld2FyZENsYWltZWRgIGZvciBlYWNoIHN1Y2Nlc3NmdWwgY2xhaW3IKiBgU2hhcmVzV2l0aGRyYXduYCBmb3IgZWFjaCBzdWNjZXNzZnVsIHdpdGhkcmF3YWzYKiBgRGVwb3NpdERlc3Ryb3llZGAgaWYgdGhlIGRlcG9zaXQgaXMgZnVsbHkgd2l0aGRyYXduAMBhZGRfbGlxdWlkaXR5X3N0YWJsZXN3YXBfb21uaXBvb2xfYW5kX2pvaW5fZmFybXMMAThzdGFibGVfcG9vbF9pZBABKFQ6OkFzc2V0SWQAAVBzdGFibGVfYXNzZXRfYW1vdW50c4UDAQUBQm91bmRlZFZlYzxBc3NldEFtb3VudDxUOjpBc3NldElkPiwgQ29uc3RVMzI8TUFYX0FTU0VUU19JTl9QT09MPj4AATBmYXJtX2VudHJpZXORAwE1AU9wdGlvbjxCb3VuZGVkVmVjPChHbG9iYWxGYXJtSWQsIFlpZWxkRmFybUlkKSwgVDo6Ck1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdD4+ABBA+FRoaXMgZnVuY3Rpb24gYWxsb3dzIHVzZXIgdG8gYWRkIGxpcXVpZGl0eSB0byBzdGFibGVzd2FwIHBvb2ws2HRoZW4gYWRkaW5nIHRoZSBzdGFibGUgc2hhcmVzIGFzIGxpcXVpZGl0eSB0byBvbW5pcG9vbNR0aGVuIHVzZSB0aGF0IG9tbmlwb29sIHNoYXJlcyB0byBqb2luIG11bHRpcGxlIGZhcm1zLgCNAUlmIGZhcm0gZW50cmllcyBhcmUgbm90IHNwZWNpZmllZCAoZW1wdHkgdmVjdG9vKSwgdGhlbiB0aGUgbGlxdWlkaXRpZXMgYXJlIHN0aWxsIGFkZGVkIHRvIHRoZSBwb29scwAsUGFyYW1ldGVyczpBAS0gYG9yaWdpbmA6IG93bmVyIG9mIHRoZSBvbW5pcG9vbCBwb3NpdGlvbiB0byBkZXBvc2l0IGludG8gdGhlIGxpcXVpZGl0eSBtaW5pbmcuCQEtIGBzdGFibGVfcG9vbF9pZGA6IGlkIG9mIHRoZSBzdGFibGVzd2FwIHBvb2wgdG8gYWRkIGxpcXVpZGl0eSB0by5hAS0gYHN0YWJsZV9hc3NldF9hbW91bnRzYDogYW1vdW50IG9mIGVhY2ggYXNzZXQgdG8gYmUgZGVwb3NpdGVkIGludG8gdGhlIHN0YWJsZXN3YXAgcG9vbC6gLSBgZmFybV9lbnRyaWVzYDogbGlzdCBvZiBmYXJtcyB0byBqb2luLgCwRW1pdHMgYExpcXVpZGl0eUFkZGVkYCBldmVudHMgZnJvbSBib3RoIHBvb2zYRW1pdHMgYFNoYXJlc0RlcG9zaXRlZGAgZXZlbnQgZm9yIHRoZSBmaXJzdCBmYXJtIGVudHJ5HQFFbWl0cyBgU2hhcmVzUmVkZXBvc2l0ZWRgIGV2ZW50IGZvciBlYWNoIGZhcm0gZW50cnkgYWZ0ZXIgdGhlIGZpcnN0IG9uZQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuZQMMNHNwX2FyaXRobWV0aWMocGVyX3RoaW5ncyxQZXJxdWludGlsbAAABAAwAQx1NjQAAGkDBBhPcHRpb24EBFQBbQMBCBBOb25lAAAAEFNvbWUEAG0DAAABAABtAwxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXMwTG95YWx0eUN1cnZlAAAIAWRpbml0aWFsX3Jld2FyZF9wZXJjZW50YWdlUQEBJEZpeGVkVTEyOAABKHNjYWxlX2NvZWYQAQx1MzIAAHEDDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBdQMEUwAABAB5AwEYVmVjPFQ+AAB1AwAABAgQEAB5AwAAAnUDAH0DDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBEARTAAAEAIEDARhWZWM8VD4AAIEDAAACEACFAwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAYkDBFMAAAQAjQMBGFZlYzxUPgAAiQMMOGh5ZHJhZHhfdHJhaXRzKHN0YWJsZXN3YXAsQXNzZXRBbW91bnQEHEFzc2V0SWQBEAAIASBhc3NldF9pZBABHEFzc2V0SWQAARhhbW91bnQYARB1MTI4AACNAwAAAokDAJEDBBhPcHRpb24EBFQBcQMBCBBOb25lAAAAEFNvbWUEAHEDAAABAACVAwwocGFsbGV0X290YxhwYWxsZXQQQ2FsbAQEVAABECxwbGFjZV9vcmRlchQBIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAEoYW1vdW50X291dBgBHEJhbGFuY2UAAUhwYXJ0aWFsbHlfZmlsbGFibGUgARBib29sAABIWENyZWF0ZSBhIG5ldyBPVEMgb3JkZXIEICxQYXJhbWV0ZXJzOqQtIGBhc3NldF9pbmA6IEFzc2V0IHdoaWNoIGlzIGJlaW5nIGJvdWdodKAtIGBhc3NldF9vdXRgOiBBc3NldCB3aGljaCBpcyBiZWluZyBzb2xk2C0gYGFtb3VudF9pbmA6IEFtb3VudCB0aGF0IHRoZSBvcmRlciBpcyBzZWVraW5nIHRvIGJ1ecAtIGBhbW91bnRfb3V0YDogQW1vdW50IHRoYXQgdGhlIG9yZGVyIGlzIHNlbGxpbmdJAS0gYHBhcnRpYWxseV9maWxsYWJsZWA6IEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHVzZXJzIGNhbiBmaWxsIHRoZSBvcmRlciBwYXJ0aWFsbHkAMFZhbGlkYXRpb25zOnQtIGFzc2V0X2luIG11c3QgYmUgcmVnaXN0ZXJlZEUBLSBhbW91bnRfaW4gbXVzdCBiZSBoaWdoZXIgdGhhbiB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdCBvZiBhc3NldF9pbiBtdWx0aXBsaWVkIGJ5eCAgRXhpc3RlbnRpYWxEZXBvc2l0TXVsdGlwbGllck0BLSBhbW91bnRfb3V0IG11c3QgYmUgaGlnaGVyIHRoYW4gdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXQgb2YgYXNzZXRfb3V0IG11bHRpcGxpZWQgYnl4ICBFeGlzdGVudGlhbERlcG9zaXRNdWx0aXBsaWVyABxFdmVudHM6hC0gYFBsYWNlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLkhwYXJ0aWFsX2ZpbGxfb3JkZXIIASBvcmRlcl9pZBABHE9yZGVySWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAFAdEZpbGwgYW4gT1RDIG9yZGVyIChwYXJ0aWFsbHkpBCAsUGFyYW1ldGVyczp0LSBgb3JkZXJfaWRgOiBJRCBvZiB0aGUgb3JkZXLoLSBgYW1vdW50X2luYDogQW1vdW50IHdpdGggd2hpY2ggdGhlIG9yZGVyIGlzIGJlaW5nIGZpbGxlZAAwVmFsaWRhdGlvbnM6iC0gb3JkZXIgbXVzdCBiZSBwYXJ0aWFsbHlfZmlsbGFibGWNAS0gYWZ0ZXIgdGhlIHBhcnRpYWxfZmlsbCwgdGhlIHJlbWFpbmluZyBvcmRlci5hbW91bnRfaW4gbXVzdCBiZSBoaWdoZXIgdGhhbiB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdOAgIG9mIGFzc2V0X2luIG11bHRpcGxpZWQgYnkgRXhpc3RlbnRpYWxEZXBvc2l0TXVsdGlwbGllcpEBLSBhZnRlciB0aGUgcGFydGlhbF9maWxsLCB0aGUgcmVtYWluaW5nIG9yZGVyLmFtb3VudF9vdXQgbXVzdCBiZSBoaWdoZXIgdGhhbiB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdOQgIG9mIGFzc2V0X291dCBtdWx0aXBsaWVkIGJ5IEV4aXN0ZW50aWFsRGVwb3NpdE11bHRpcGxpZXIAHEV2ZW50czrQYFBhcnRpYWxseUZpbGxlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLshgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLihmaWxsX29yZGVyBAEgb3JkZXJfaWQQARxPcmRlcklkAAIgeEZpbGwgYW4gT1RDIG9yZGVyIChjb21wbGV0ZWx5KQQgLFBhcmFtZXRlcnM6dC0gYG9yZGVyX2lkYDogSUQgb2YgdGhlIG9yZGVyABxFdmVudHM6rGBGaWxsZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4gRGVwcmVjYXRlZC7IYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4wY2FuY2VsX29yZGVyBAEgb3JkZXJfaWQQARxPcmRlcklkAAMsYENhbmNlbCBhbiBvcGVuIE9UQyBvcmRlcgQgLFBhcmFtZXRlcnM6dC0gYG9yZGVyX2lkYDogSUQgb2YgdGhlIG9yZGVymC0gYGFzc2V0YDogQXNzZXQgd2hpY2ggaXMgYmVpbmcgZmlsbGVkoC0gYGFtb3VudGA6IEFtb3VudCB3aGljaCBpcyBiZWluZyBmaWxsZWQAMFZhbGlkYXRpb25zOlwtIGNhbGxlciBpcyBvcmRlciBvd25lcgCgRW1pdHMgYENhbmNlbGxlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6ZAwxYcGFsbGV0X2NpcmN1aXRfYnJlYWtlchhwYWxsZXQQQ2FsbAQEVAABDFhzZXRfdHJhZGVfdm9sdW1lX2xpbWl0CAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAFIdHJhZGVfdm9sdW1lX2xpbWl0dQMBKCh1MzIsIHUzMikAACSQU2V0IHRyYWRlIHZvbHVtZSBsaW1pdCBmb3IgYW4gYXNzZXQuACxQYXJhbWV0ZXJzOi0BLSBgb3JpZ2luYDogVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsLiBNdXN0IGJlIGBVcGRhdGVMaW1pdHNPcmlnaW5goC0gYGFzc2V0X2lkYDogVGhlIGlkZW50aWZpZXIgb2YgYW4gYXNzZXQpAS0gYHRyYWRlX3ZvbHVtZV9saW1pdGA6IE5ldyB0cmFkZSB2b2x1bWUgbGltaXQgcmVwcmVzZW50ZWQgYXMgYSBwZXJjZW50YWdlANhFbWl0cyBgVHJhZGVWb2x1bWVMaW1pdENoYW5nZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AXHNldF9hZGRfbGlxdWlkaXR5X2xpbWl0CAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAE8bGlxdWlkaXR5X2xpbWl0nQMBSE9wdGlvbjwodTMyLCB1MzIpPgABJJRTZXQgYWRkIGxpcXVpZGl0eSBsaW1pdCBmb3IgYW4gYXNzZXQuACxQYXJhbWV0ZXJzOi0BLSBgb3JpZ2luYDogVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsLiBNdXN0IGJlIGBVcGRhdGVMaW1pdHNPcmlnaW5goC0gYGFzc2V0X2lkYDogVGhlIGlkZW50aWZpZXIgb2YgYW4gYXNzZXQ1AS0gYGxpcXVpZGl0eV9saW1pdGA6IE9wdGlvbmFsIGFkZCBsaXF1aWRpdHkgbGltaXQgcmVwcmVzZW50ZWQgYXMgYSBwZXJjZW50YWdlANxFbWl0cyBgQWRkTGlxdWlkaXR5TGltaXRDaGFuZ2VkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAGhzZXRfcmVtb3ZlX2xpcXVpZGl0eV9saW1pdAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABPGxpcXVpZGl0eV9saW1pdJ0DAUhPcHRpb248KHUzMiwgdTMyKT4AAiSgU2V0IHJlbW92ZSBsaXF1aWRpdHkgbGltaXQgZm9yIGFuIGFzc2V0LgAsUGFyYW1ldGVyczotAS0gYG9yaWdpbmA6IFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbC4gTXVzdCBiZSBgVXBkYXRlTGltaXRzT3JpZ2luYKAtIGBhc3NldF9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIGFuIGFzc2V0QQEtIGBsaXF1aWRpdHlfbGltaXRgOiBPcHRpb25hbCByZW1vdmUgbGlxdWlkaXR5IGxpbWl0IHJlcHJlc2VudGVkIGFzIGEgcGVyY2VudGFnZQDoRW1pdHMgYFJlbW92ZUxpcXVpZGl0eUxpbWl0Q2hhbmdlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMunQMEGE9wdGlvbgQEVAF1AwEIEE5vbmUAAAAQU29tZQQAdQMAAAEAAKEDDFRwYWxsZXRfcm91dGVfZXhlY3V0b3IYcGFsbGV0EENhbGwEBFQAARQQc2VsbBQBIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YAShUOjpCYWxhbmNlAAE4bWluX2Ftb3VudF9vdXQYAShUOjpCYWxhbmNlAAEUcm91dGWlAwFEUm91dGU8VDo6QXNzZXRJZD4AADT8RXhlY3V0ZXMgYSBzZWxsIHdpdGggYSBzZXJpZXMgb2YgdHJhZGVzIHNwZWNpZmllZCBpbiB0aGUgcm91dGUuAQFUaGUgcHJpY2UgZm9yIGVhY2ggdHJhZGUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgY29ycmVzcG9uZGluZyBBTU0uAJQtIGBvcmlnaW5gOiBUaGUgZXhlY3V0b3Igb2YgdGhlIHRyYWRlxC0gYGFzc2V0X2luYDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IHRvIHNlbGzULSBgYXNzZXRfb3V0YDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IHRvIHJlY2VpdmW8LSBgYW1vdW50X2luYDogVGhlIGFtb3VudCBvZiBgYXNzZXRfaW5gIHRvIHNlbGwFAS0gYG1pbl9hbW91bnRfb3V0YDogVGhlIG1pbmltdW0gYW1vdW50IG9mIGBhc3NldF9vdXRgIHRvIHJlY2VpdmUu0QItIGByb3V0ZWA6IFNlcmllcyBvZiBbYFRyYWRlPEFzc2V0SWQ+YF0gdG8gYmUgZXhlY3V0ZWQuIEEgW2BUcmFkZTxBc3NldElkPmBdIHNwZWNpZmllcyB0aGUgYXNzZXQgcGFpciAoYGFzc2V0X2luYCwgYGFzc2V0X291dGApIGFuZCB0aGUgQU1NIChgcG9vbGApIGluIHdoaWNoIHRoZSB0cmFkZSBpcyBleGVjdXRlZC7cCQkgICBJZiBub3Qgc3BlY2lmaWVkLCB0aGFuIHRoZSBvbi1jaGFpbiByb3V0ZSBpcyB1c2VkLhkBCQkgICBJZiBubyBvbi1jaGFpbiBpcyBwcmVzZW50LCB0aGVuIG9tbmlwb29sIHJvdXRlIGlzIHVzZWQgYXMgZGVmYXVsdACYRW1pdHMgYFJvdXRlRXhlY3V0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4MYnV5FAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABKGFtb3VudF9vdXQYAShUOjpCYWxhbmNlAAE0bWF4X2Ftb3VudF9pbhgBKFQ6OkJhbGFuY2UAARRyb3V0ZaUDAURSb3V0ZTxUOjpBc3NldElkPgABNPhFeGVjdXRlcyBhIGJ1eSB3aXRoIGEgc2VyaWVzIG9mIHRyYWRlcyBzcGVjaWZpZWQgaW4gdGhlIHJvdXRlLgEBVGhlIHByaWNlIGZvciBlYWNoIHRyYWRlIGlzIGRldGVybWluZWQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgQU1NLgCULSBgb3JpZ2luYDogVGhlIGV4ZWN1dG9yIG9mIHRoZSB0cmFkZSkBLSBgYXNzZXRfaW5gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgdG8gYmUgc3dhcHBlZCB0byBidXkgYGFzc2V0X291dGDELSBgYXNzZXRfb3V0YDogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IHRvIGJ1ecAtIGBhbW91bnRfb3V0YDogVGhlIGFtb3VudCBvZiBgYXNzZXRfb3V0YCB0byBidXkRAS0gYG1heF9hbW91bnRfaW5gOiBUaGUgbWF4IGFtb3VudCBvZiBgYXNzZXRfaW5gIHRvIHNwZW5kIG9uIHRoZSBidXku0QItIGByb3V0ZWA6IFNlcmllcyBvZiBbYFRyYWRlPEFzc2V0SWQ+YF0gdG8gYmUgZXhlY3V0ZWQuIEEgW2BUcmFkZTxBc3NldElkPmBdIHNwZWNpZmllcyB0aGUgYXNzZXQgcGFpciAoYGFzc2V0X2luYCwgYGFzc2V0X291dGApIGFuZCB0aGUgQU1NIChgcG9vbGApIGluIHdoaWNoIHRoZSB0cmFkZSBpcyBleGVjdXRlZC7cCQkgICBJZiBub3Qgc3BlY2lmaWVkLCB0aGFuIHRoZSBvbi1jaGFpbiByb3V0ZSBpcyB1c2VkLhkBCQkgICBJZiBubyBvbi1jaGFpbiBpcyBwcmVzZW50LCB0aGVuIG9tbmlwb29sIHJvdXRlIGlzIHVzZWQgYXMgZGVmYXVsdACYRW1pdHMgYFJvdXRlRXhlY3V0ZWRgIHdoZW4gc3VjY2Vzc2Z1bC4kc2V0X3JvdXRlCAEoYXNzZXRfcGFpcrUDAVRBc3NldFBhaXI8VDo6QXNzZXRJZD4AASRuZXdfcm91dGWlAwFEUm91dGU8VDo6QXNzZXRJZD4AAlS8U2V0cyB0aGUgb24tY2hhaW4gcm91dGUgZm9yIGEgZ2l2ZW4gYXNzZXQgcGFpci4A+FRoZSBuZXcgcm91dGUgaXMgdmFsaWRhdGVkIGJ5IGJlaW5nIGV4ZWN1dGVkIGluIGEgZHJ5LXJ1biBtb2RlAIUBSWYgdGhlcmUgaXMgbm8gcm91dGUgZXhwbGljaXRseSBzZXQgZm9yIGFuIGFzc2V0IHBhaXIsIHRoZW4gd2UgdXNlIHRoZSBvbW5pcG9vbCByb3V0ZSBhcyBkZWZhdWx0LgApAVdoZW4gYSBuZXcgcm91dGUgaXMgc2V0LCB3ZSBjb21wYXJlIGl0IHRvIHRoZSBleGlzdGluZyAob3IgZGVmYXVsdCkgcm91dGUuoQFUaGUgY29tcGFyaXNvbiBoYXBwZW5zIGJ5IGNhbGN1bGF0aW5nIHNlbGwgYW1vdW50X291dHMgZm9yIHRoZSByb3V0ZXMsIGJ1dCBhbHNvIGZvciB0aGUgaW52ZXJzZWQgcm91dGVzLgBlAVRoZSByb3V0ZSBpcyBzdG9yZWQgaW4gYW4gb3JkZXJlZCBtYW5uZXIsIGJhc2VkIG9uIHRoZSBvZGVyIG9mIHRoZSBpZHMgaW4gdGhlIGFzc2V0IHBhaXIuAPRJZiB0aGUgcm91dGUgaXMgc2V0IHN1Y2Nlc3NmdWxseSwgdGhlbiB0aGUgZmVlIGlzIHBheWVkIGJhY2suAKgtIGBvcmlnaW5gOiBUaGUgb3JpZ2luIG9mIHRoZSByb3V0ZSBzZXR0ZXItAS0gYGFzc2V0X3BhaXJgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQtcGFpciBmb3Igd2hpY2ggdGhlIHJvdXRlIGlzIHNldOECLSBgbmV3X3JvdXRlYDogU2VyaWVzIG9mIFtgVHJhZGU8QXNzZXRJZD5gXSB0byBiZSBleGVjdXRlZC4gQSBbYFRyYWRlPEFzc2V0SWQ+YF0gc3BlY2lmaWVzIHRoZSBhc3NldCBwYWlyIChgYXNzZXRfaW5gLCBgYXNzZXRfb3V0YCkgYW5kIHRoZSBBTU0gKGBwb29sYCkgaW4gd2hpY2ggdGhlIHRyYWRlIGlzIGV4ZWN1dGVkLgCURW1pdHMgYFJvdXRlVXBkYXRlZGAgd2hlbiBzdWNjZXNzZnVsLgApAUZhaWxzIHdpdGggYFJvdXRlVXBkYXRlSXNOb3RTdWNjZXNzZnVsYCBlcnJvciB3aGVuIGZhaWxlZCB0byBzZXQgdGhlIHJvdXRlAEhmb3JjZV9pbnNlcnRfcm91dGUIAShhc3NldF9wYWlytQMBVEFzc2V0UGFpcjxUOjpBc3NldElkPgABJG5ld19yb3V0ZaUDAURSb3V0ZTxUOjpBc3NldElkPgADOJEBRm9yY2UgaW5zZXJ0cyB0aGUgb24tY2hhaW4gcm91dGUgZm9yIGEgZ2l2ZW4gYXNzZXQgcGFpciwgc28gdGhlcmUgaXMgbm8gYW55IHZhbGlkYXRpb24gZm9yIHRoZSByb3V0ZQCoQ2FuIG9ubHkgYmUgY2FsbGVkIGJ5IFQ6OkZvcmNlSW5zZXJ0T3JpZ2luAGUBVGhlIHJvdXRlIGlzIHN0b3JlZCBpbiBhbiBvcmRlcmVkIG1hbm5lciwgYmFzZWQgb24gdGhlIG9kZXIgb2YgdGhlIGlkcyBpbiB0aGUgYXNzZXQgcGFpci4A9ElmIHRoZSByb3V0ZSBpcyBzZXQgc3VjY2Vzc2Z1bGx5LCB0aGVuIHRoZSBmZWUgaXMgcGF5ZWQgYmFjay4AqC0gYG9yaWdpbmA6IFRoZSBvcmlnaW4gb2YgdGhlIHJvdXRlIHNldHRlci0BLSBgYXNzZXRfcGFpcmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldC1wYWlyIGZvciB3aGljaCB0aGUgcm91dGUgaXMgc2V04QItIGBuZXdfcm91dGVgOiBTZXJpZXMgb2YgW2BUcmFkZTxBc3NldElkPmBdIHRvIGJlIGV4ZWN1dGVkLiBBIFtgVHJhZGU8QXNzZXRJZD5gXSBzcGVjaWZpZXMgdGhlIGFzc2V0IHBhaXIgKGBhc3NldF9pbmAsIGBhc3NldF9vdXRgKSBhbmQgdGhlIEFNTSAoYHBvb2xgKSBpbiB3aGljaCB0aGUgdHJhZGUgaXMgZXhlY3V0ZWQuAJRFbWl0cyBgUm91dGVVcGRhdGVkYCB3aGVuIHN1Y2Nlc3NmdWwuACBzZWxsX2FsbBABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAAThtaW5fYW1vdW50X291dBgBKFQ6OkJhbGFuY2UAARRyb3V0ZaUDAURSb3V0ZTxUOjpBc3NldElkPgAEOPxFeGVjdXRlcyBhIHNlbGwgd2l0aCBhIHNlcmllcyBvZiB0cmFkZXMgc3BlY2lmaWVkIGluIHRoZSByb3V0ZS7ESXQgc2VsbHMgYWxsIHJlZHVjaWJsZSB1c2VyIGJhbGFuY2Ugb2YgYGFzc2V0X2luYAEBVGhlIHByaWNlIGZvciBlYWNoIHRyYWRlIGlzIGRldGVybWluZWQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgQU1NLgCULSBgb3JpZ2luYDogVGhlIGV4ZWN1dG9yIG9mIHRoZSB0cmFkZcQtIGBhc3NldF9pbmA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCB0byBzZWxs1C0gYGFzc2V0X291dGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCB0byByZWNlaXZlBQEtIGBtaW5fYW1vdW50X291dGA6IFRoZSBtaW5pbXVtIGFtb3VudCBvZiBgYXNzZXRfb3V0YCB0byByZWNlaXZlLtECLSBgcm91dGVgOiBTZXJpZXMgb2YgW2BUcmFkZTxBc3NldElkPmBdIHRvIGJlIGV4ZWN1dGVkLiBBIFtgVHJhZGU8QXNzZXRJZD5gXSBzcGVjaWZpZXMgdGhlIGFzc2V0IHBhaXIgKGBhc3NldF9pbmAsIGBhc3NldF9vdXRgKSBhbmQgdGhlIEFNTSAoYHBvb2xgKSBpbiB3aGljaCB0aGUgdHJhZGUgaXMgZXhlY3V0ZWQu3AkJICAgSWYgbm90IHNwZWNpZmllZCwgdGhhbiB0aGUgb24tY2hhaW4gcm91dGUgaXMgdXNlZC4ZAQkJICAgSWYgbm8gb24tY2hhaW4gaXMgcHJlc2VudCwgdGhlbiBvbW5pcG9vbCByb3V0ZSBpcyB1c2VkIGFzIGRlZmF1bHQAmEVtaXRzIGBSb3V0ZUV4ZWN1dGVkYCB3aGVuIHN1Y2Nlc3NmdWwuAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6lAwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAakDBFMAAAQAsQMBGFZlYzxUPgAAqQMMOGh5ZHJhZHhfdHJhaXRzGHJvdXRlchRUcmFkZQQcQXNzZXRJZAEQAAwBEHBvb2ytAwFEUG9vbFR5cGU8QXNzZXRJZD4AASBhc3NldF9pbhABHEFzc2V0SWQAASRhc3NldF9vdXQQARxBc3NldElkAACtAww4aHlkcmFkeF90cmFpdHMYcm91dGVyIFBvb2xUeXBlBBxBc3NldElkARABFAxYWUsAAAAMTEJQAAEAKFN0YWJsZXN3YXAEABABHEFzc2V0SWQAAgAgT21uaXBvb2wAAwAQQWF2ZQAEAACxAwAAAqkDALUDDDhoeWRyYWR4X3RyYWl0cxhyb3V0ZXIkQXNzZXRQYWlyBBxBc3NldElkARAACAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAAAuQMMTHBhbGxldF9keW5hbWljX2ZlZXMYcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuvQMMOHBhbGxldF9zdGFraW5nGHBhbGxldBBDYWxsBARUAAEUSGluaXRpYWxpemVfc3Rha2luZwAAHEUBU3Rha2luZyBwYWxsZXQgaW5pdGlhbGl6YXRpb24uIFRoaXMgY2FsbCB3aWxsIHJlc2VydmVkIGBwb3RgJ3MgYmFsYW5jZSB0byBwcmV2ZW50BQFhY2NvdW50IGR1c3RpbmcgYW5kIHN0YXJ0IGNvbGxlY3RpbmcgZmVlcyBmcm9tIHRyYWRlcyBhcyByZXdhcmRzLgBpAWBwb3Rg4oCZcyBhY2NvdW50IGhhcyB0byBoYXZlIGEgYmFsYW5jZSB3aGljaCB3aWxsIGJlIHJlc2VydmVkIHRvIHByZXZlbnQgYWNjb3VudCBkdXN0aW5nLgDERW1pdHMgYFN0YWtpbmdJbml0aWFsaXplZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAUc3Rha2UEARhhbW91bnQYARxCYWxhbmNlAAE4rFN0YWtlIGBhbW91bnRgIGludG8gYSBuZXcgc3Rha2luZyBwb3NpdGlvbi4AWQFgc3Rha2VgIGxvY2tzIHNwZWNpZmllZCBgYW1vdW50YCBpbnRvIHN0YWtpbmcgYW5kIGNyZWF0ZXMgbmV3IE5GVCByZXByZXNlbnRpbmcgc3Rha2luZyRwb3NpdGlvbi45AVVzZXJzIGNhbiBzdGFrZSBgTmF0aXZlQXNzZXRJZGAgYmFsYW5jZSB3aGljaCBpcyBub3QgdmVzdGVkIG9yIGFscmVhZHkgc3Rha2VkLgAxAVN0YWtpbmcgcGFsbGV0IG11c3QgYmUgaW5pdGlhbGl6ZWQgb3RoZXJ3aXNlIGV4dHJpbnNpYyB3aWxsIGZhaWwgd2l0aCBlcnJvci4ALFBhcmFtZXRlcnM6UQEtIGBhbW91bnRgOiBBbW91bnQgb2YgbmF0aXZlIGFzc2V0IHRvIGJlIHN0YWtlZC4gYGFtb3VudGAgY2FuJ3QgYmUgdmVzdGVkIG9yIGFscmVhZHkYc3Rha2VkALhFbWl0cyBgUG9zaXRpb25DcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuADhpbmNyZWFzZV9zdGFrZQgBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAARhhbW91bnQYARxCYWxhbmNlAAJAXQFFeHRyaW5zaWMgdG8gaW5jcmVhc2Ugc3Rha2VkIGFtb3VudCBvZiBleGlzdGluZyBzdGFraW5nIHBvc2l0aW9uIGJ5IHNwZWNpZmllZCBgYW1vdW50YC4AVQFgaW5jcmVhc2Vfc3Rha2VgIGluY3JlYXNlcyBzdGFrZWQgYW1vdW50IG9mIHBvc2l0aW9uIHNwZWNpZmllZCBieSBgcG9zdGlvbl9pZGAgYnkgdGhlfGBhbW91bnRgIHNwZWNpZmllZCBieSB0aGUgdXNlci41AVN0YWtpbmcgcG9zaXRpb24gbXVzdCBleGlzdCBhbmQgYG9yaWdpbmAgaGFzIHRvIGJlIHRoZSBvd25lciBvZiB0aGUgcG9zaXRpb24u+FVzZXJzIGNhbiBzdGFrZSB0b2tlbnMgd2hpY2ggYXJlIG5vdCB2ZXN0ZWQgb3IgYWxyZWFkeSBzdGFrZWQuNQFQb3NpdGlvbidzIHBhcmFtcyBlLmcgcG9pbnRzIGFyZSB1cGRhdGVkIHRvIG9mZnNldCBzdGFrZSBpbmNyZWFzZSBhbmQgcmV3YXJkc/RhY2N1bXVsYXRlZCB1bnRpbCB0aGlzIHBvaW50IGFyZSBwYWlkIGFuZCBsb2NrZWQgdG8gdGhlIHVzZXIuACxQYXJhbWV0ZXJzOjkBLSBgcG9zaXRpb25faWRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgcG9zaXRpb24gd2hpY2ggc3Rha2Ugd2lsbCBiZSBpbmNyZWFzZWQucQEtIGBhbW91bnRgOiBBbW91bnQgb2YgbmF0aXZlIGFzc2V0IHRvIGJlIGFkZGVkIHRvIHN0YWtlZCBhbW91bnQuIGBhbW91bnRgIGNhbid0IGJlIHZlc3RlZCBvcjhhbHJlYWR5IHN0YWtlZACkRW1pdHMgYFN0YWtlQWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AFGNsYWltBAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAADOOBDbGFpbSByZXdhcmRzIGFjY3VtdWxhdGVkIGZvciBzcGVjaWZpYyBzdGFraW5nIHBvc2l0aW9uLgBRAUZ1bmN0aW9uIGNhbGN1bGF0ZXMgYW1vdW50IG9mIHJld2FyZHMgdG8gcGF5IGZvciBzcGVjaWZpZWQgc3Rha2luZyBwb3NpdGlvbiBiYXNlZCBvbl0BdGhlIGFtb3VudCBvZiBwb2ludHMgcG9zaXRpb24gYWNjdW11bGF0ZWQuIEZ1bmN0aW9uIGFsc28gdW5sb2NrcyBhbGwgdGhlIHJld2FyZHMgbG9ja2Vk4GZyb20gYGluY3JlYXNlX3N0YWtlYCBiYXNlZCBvbiB0aGUgYW1vdW50IG9mIHRoZSBwb2ludHMuAGkBVGhpcyBhY3Rpb24gaXMgcGVuYWxpemVkIGJ5IHJlbW92aW5nIGFsbCB0aGUgcG9pbnRzIGFuZCByZXR1cm5pbmcgYWxsb2NhdGVkIHVucGFpZCByZXdhcmRzTGZvciByZWRpc3RyaWJ1dGlvbi4ALFBhcmFtZXRlcnM6FQEtIGBwb3NpdGlvbl9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBwb3NpdGlvbiB0byBjbGFpbSByZXdhcmRzIGZvci4AtEVtaXRzIGBSZXdhcmRzQ2xhaW1lZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAcdW5zdGFrZQQBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQABDBJAUZ1bmN0aW9uIHBheXMgcmV3YXJkcywgdW5sb2NrcyBhbGwgdGhlIHN0YWtlZCBhc3NldHMgYW5kIGRlc3Ryb3lzIHN0YWtpbmcgcG9zaXRpb25sc3BlY2lmaWVkIGJ5IGBwb3NpdGlvbl9pZGAuAFkBRnVuY3Rpb24gY2FsY3VsYXRlcyBhbmQgcGF5cyBsYXRlc3QgcmV3YXJkcywgdW5sb2NrcyBhbGwgdGhlIGxvY2tlZCByZXdhcmRzIGFuZCBzdGFrZWQhAXRva2VucyBmb3Igc3Rha2luZyBwb3NpdGlvbiBhbmQgYnVybnMgTkZUIHJlcHJlc2VudGluZyBzdGFraW5nIHBvc2l0aW9uLiEBVW5wYWlkIGFsbG9jYXRlZCByZXdhcmRzIGFyZSByZXR1cm5lZCB0byB0aGUgU3Rha2luZyBmb3IgcmVkaXN0cmlidXRpb24uACxQYXJhbWV0ZXJzOgEBLSBgcG9zaXRpb25faWRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgcG9zaXRpb24gdG8gYmUgZGVzdHJveWVkLgD0RW1pdHMgYFJld2FyZHNDbGFpbWVkYCBhbmQgYFVuc3Rha2VkYCBldmVudHMgd2hlbiBzdWNjZXNzZnVsLgAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuwQMMRHBhbGxldF9zdGFibGVzd2FwGHBhbGxldBBDYWxsBARUAAE0LGNyZWF0ZV9wb29sEAEsc2hhcmVfYXNzZXQQAShUOjpBc3NldElkAAEYYXNzZXRzxQMB0EJvdW5kZWRWZWM8VDo6QXNzZXRJZCwgQ29uc3RVMzI8TUFYX0FTU0VUU19JTl9QT09MPj4AATRhbXBsaWZpY2F0aW9u3AEMdTE2AAEMZmVlSQMBHFBlcm1pbGwAADi8Q3JlYXRlIGEgc3RhYmxlIHBvb2wgd2l0aCBnaXZlbiBsaXN0IG9mIGFzc2V0cy4A+EFsbCBhc3NldHMgbXVzdCBiZSBjb3JyZWN0bHkgcmVnaXN0ZXJlZCBpbiBgVDo6QXNzZXRSZWdpc3RyeWAubQFOb3RlIHRoYXQgdGhpcyBkb2VzIG5vdCBzZWVkIHRoZSBwb29sIHdpdGggbGlxdWlkaXR5LiBVc2UgYGFkZF9hc3NldHNfbGlxdWlkaXR5YCB0byBwcm92aWRlSGluaXRpYWwgbGlxdWlkaXR5LgAsUGFyYW1ldGVyczqYLSBgb3JpZ2luYDogTXVzdCBiZSBUOjpBdXRob3JpdHlPcmlnaW7ULSBgc2hhcmVfYXNzZXRgOiBQcmVyZWdpc3RlcmVkIHNoYXJlIGFzc2V0IGlkZW50aWZpZXJ0LSBgYXNzZXRzYDogTGlzdCBvZiBBc3NldCBpZHOULSBgYW1wbGlmaWNhdGlvbmA6IFBvb2wgYW1wbGlmaWNhdGlvbvAtIGBmZWVgOiBmZWUgdG8gYmUgYXBwbGllZCBvbiB0cmFkZSBhbmQgbGlxdWlkaXR5IG9wZXJhdGlvbnMAoEVtaXRzIGBQb29sQ3JlYXRlZGAgZXZlbnQgaWYgc3VjY2Vzc2Z1bC48dXBkYXRlX3Bvb2xfZmVlCAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAAQxmZWVJAwEcUGVybWlsbAABKEhVcGRhdGUgcG9vbCdzIGZlZS4AzGlmIHBvb2wgZG9lcyBub3QgZXhpc3QsIGBQb29sTm90Rm91bmRgIGlzIHJldHVybmVkLgAsUGFyYW1ldGVyczqYLSBgb3JpZ2luYDogTXVzdCBiZSBUOjpBdXRob3JpdHlPcmlnaW5sLSBgcG9vbF9pZGA6IHBvb2wgdG8gdXBkYXRlVC0gYGZlZWA6IG5ldyBwb29sIGZlZQCcRW1pdHMgYEZlZVVwZGF0ZWRgIGV2ZW50IGlmIHN1Y2Nlc3NmdWwuUHVwZGF0ZV9hbXBsaWZpY2F0aW9uEAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAAUxmaW5hbF9hbXBsaWZpY2F0aW9u3AEMdTE2AAEsc3RhcnRfYmxvY2sQAURCbG9ja051bWJlckZvcjxUPgABJGVuZF9ibG9jaxABREJsb2NrTnVtYmVyRm9yPFQ+AAIocFVwZGF0ZSBwb29sJ3MgYW1wbGlmaWNhdGlvbi4ALFBhcmFtZXRlcnM6mC0gYG9yaWdpbmA6IE11c3QgYmUgVDo6QXV0aG9yaXR5T3JpZ2lubC0gYHBvb2xfaWRgOiBwb29sIHRvIHVwZGF0ZdwtIGBmaW5hbF9hbXBsaWZpY2F0aW9uYDogbmV3IGRlc2lyZWQgcG9vbCBhbXBsaWZpY2F0aW9udQEtIGBzdGFydF9ibG9ja2A6IGJsb2NrIG51bWJlciB3aGVuIHRoZSBhbXBsaWZpY2F0aW9uIHN0YXJ0cyB0byBtb3ZlIHRvd2FyZHMgZmluYWxfYW1wbGljYXRpb245AS0gYGVuZF9ibG9ja2A6IGJsb2NrIG51bWJlciB3aGVuIHRoZSBhbXBsaWZpY2F0aW9uIHJlYWNoZXMgZmluYWxfYW1wbGlmaWNhdGlvbgDERW1pdHMgYEFtcGxpZmljYXRpb25VcGRhdGVkYCBldmVudCBpZiBzdWNjZXNzZnVsLjRhZGRfbGlxdWlkaXR5CAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAARhhc3NldHOFAwEFAUJvdW5kZWRWZWM8QXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4sIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AANQfEFkZCBsaXF1aWRpdHkgdG8gc2VsZWN0ZWQgcG9vbC4AjFVzZSBgYWRkX2Fzc2V0c19saXF1aWRpdHlgIGluc3RlYWQuuFRoaXMgZXh0cmluc2ljcyB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIGZ1dHVyZS4ANQFGaXJzdCBjYWxsIG9mIGBhZGRfbGlxdWlkaXR5YCBtdXN0IHByb3ZpZGUgImluaXRpYWwgbGlxdWlkaXR5IiBvZiBhbGwgYXNzZXRzLgCFAUlmIHRoZXJlIGlzIGxpcXVpZGl0eSBhbHJlYWR5IGluIHRoZSBwb29sLCBMUCBjYW4gcHJvdmlkZSBsaXF1aWRpdHkgb2YgYW55IG51bWJlciBvZiBwb29sIGFzc2V0cy4AtExQIG11c3QgaGF2ZSBzdWZmaWNpZW50IGFtb3VudCBvZiBlYWNoIGFzc2V0LgC8T3JpZ2luIGlzIGdpdmVuIGNvcnJlc3BvbmRpbmcgYW1vdW50IG9mIHNoYXJlcy4ALFBhcmFtZXRlcnM6eC0gYG9yaWdpbmA6IGxpcXVpZGl0eSBwcm92aWRlclAtIGBwb29sX2lkYDogUG9vbCBJZMgtIGBhc3NldHNgOiBhc3NldCBpZCBhbmQgbGlxdWlkaXR5IGFtb3VudCBwcm92aWRlZAC0RW1pdHMgYExpcXVpZGl0eUFkZGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuUGFkZF9saXF1aWRpdHlfc2hhcmVzEAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAARhzaGFyZXMYARxCYWxhbmNlAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAFAbWF4X2Fzc2V0X2Ftb3VudBgBHEJhbGFuY2UABDwdAUFkZCBsaXF1aWRpdHkgdG8gc2VsZWN0ZWQgcG9vbCBnaXZlbiBleGFjdCBhbW91bnQgb2Ygc2hhcmVzIHRvIHJlY2VpdmUuADkBU2ltaWxhciB0byBgYWRkX2xpcXVpZGl0eWAgYnV0IExQIHNwZWNpZmllcyBleGFjdCBhbW91bnQgb2Ygc2hhcmVzIHRvIHJlY2VpdmUuAN0BVGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVzZWQgbWFpbmx5IGJ5IG9uLWNoYWluIHJvdXRpbmcgd2hlbiBhIHN3YXAgYmV0d2VlbiBPbW5pcG9vbCBhc3NldCBhbmQgc3RhYmxlIGFzc2V0IGlzIHBlcmZvcm1lZC4ALFBhcmFtZXRlcnM6eC0gYG9yaWdpbmA6IGxpcXVpZGl0eSBwcm92aWRlclAtIGBwb29sX2lkYDogUG9vbCBJZJwtIGBzaGFyZXNgOiBhbW91bnQgb2Ygc2hhcmVzIHRvIHJlY2VpdmXoLSBgYXNzZXRfaWRgOiBhc3NldCBpZCBvZiBhbiBhc3NldCB0byBwcm92aWRlIGFzIGxpcXVpZGl0eegtIGBtYXhfYXNzZXRfYW1vdW50YDogc2xpcHBhZ2UgbGltaXQuIE1heCBhbW91bnQgb2YgYXNzZXQuALRFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC7gRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5ocmVtb3ZlX2xpcXVpZGl0eV9vbmVfYXNzZXQQARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABMHNoYXJlX2Ftb3VudBgBHEJhbGFuY2UAAThtaW5fYW1vdW50X291dBgBHEJhbGFuY2UABUSQUmVtb3ZlIGxpcXVpZGl0eSBmcm9tIHNlbGVjdGVkIHBvb2wuAMhXaXRoZHJhd3MgbGlxdWlkaXR5IG9mIHNlbGVjdGVkIGFzc2V0IGZyb20gYSBwb29sLgAxAVNoYXJlIGFtb3VudCBpcyBidXJuZWQgYW5kIExQIHJlY2VpdmVzIGNvcnJlc3BvbmRpbmcgYW1vdW50IG9mIGNob3NlbiBhc3NldC4AsFdpdGhkcmF3IGZlZSBpcyBhcHBsaWVkIHRvIHRoZSBhc3NldCBhbW91bnQuACxQYXJhbWV0ZXJzOngtIGBvcmlnaW5gOiBsaXF1aWRpdHkgcHJvdmlkZXJQLSBgcG9vbF9pZGA6IFBvb2wgSWSQLSBgYXNzZXRfaWRgOiBpZCBvZiBhc3NldCB0byByZWNlaXZluC0gJ3NoYXJlX2Ftb3VudCc6IGFtb3VudCBvZiBzaGFyZXMgdG8gd2l0aGRyYXe0LSAnbWluX2Ftb3VudF9vdXQnOiBtaW5pbXVtIGFtb3VudCB0byByZWNlaXZlALxFbWl0cyBgTGlxdWlkaXR5UmVtb3ZlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLlR3aXRoZHJhd19hc3NldF9hbW91bnQQARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAUBtYXhfc2hhcmVfYW1vdW50GAEcQmFsYW5jZQAGNE0BUmVtb3ZlIGxpcXVpZGl0eSBmcm9tIHNlbGVjdGVkIHBvb2wgYnkgc3BlY2lmeWluZyBleGFjdCBhbW91bnQgb2YgYXNzZXQgdG8gcmVjZWl2ZS4AyQFTaW1pbGFyIHRvIGByZW1vdmVfbGlxdWlkaXR5X29uZV9hc3NldGAgYnV0IExQIHNwZWNpZmllcyBleGFjdCBhbW91bnQgb2YgYXNzZXQgdG8gcmVjZWl2ZSBpbnN0ZWFkIG9mIHNoYXJlIGFtb3VudC4ALFBhcmFtZXRlcnM6eC0gYG9yaWdpbmA6IGxpcXVpZGl0eSBwcm92aWRlclAtIGBwb29sX2lkYDogUG9vbCBJZJAtIGBhc3NldF9pZGA6IGlkIG9mIGFzc2V0IHRvIHJlY2VpdmWYLSAnYW1vdW50JzogYW1vdW50IG9mIGFzc2V0IHRvIHJlY2VpdmUNAS0gJ21heF9zaGFyZV9hbW91bnQnOiBTbGlwcGFnZSBsaW1pdC4gTWF4IGFtb3VudCBvZiBzaGFyZXMgdG8gYnVybi4AvEVtaXRzIGBMaXF1aWRpdHlSZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuEHNlbGwUARxwb29sX2lkEAEoVDo6QXNzZXRJZAABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAE4bWluX2J1eV9hbW91bnQYARxCYWxhbmNlAAc0tEV4ZWN1dGUgYSBzd2FwIG9mIGBhc3NldF9pbmAgZm9yIGBhc3NldF9vdXRgLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogb3JpZ2luIG9mIHRoZSBjYWxsZXJkLSBgcG9vbF9pZGA6IElkIG9mIGEgcG9vbKgtIGBhc3NldF9pbmA6IElEIG9mIGFzc2V0IHNvbGQgdG8gdGhlIHBvb2y8LSBgYXNzZXRfb3V0YDogSUQgb2YgYXNzZXQgYm91Z2h0IGZyb20gdGhlIHBvb2zULSBgYW1vdW50X2luYDogQW1vdW50IG9mIGFzc2V0IHRvIGJlIHNvbGQgdG8gdGhlIHBvb2zYLSBgbWluX2J1eV9hbW91bnRgOiBNaW5pbXVtIGFtb3VudCByZXF1aXJlZCB0byByZWNlaXZlANxFbWl0cyBgU2VsbEV4ZWN1dGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuIERlcHJlY2F0ZWQu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAAxidXkUARxwb29sX2lkEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABPG1heF9zZWxsX2Ftb3VudBgBHEJhbGFuY2UACDS0RXhlY3V0ZSBhIHN3YXAgb2YgYGFzc2V0X291dGAgZm9yIGBhc3NldF9pbmAuACxQYXJhbWV0ZXJzOiwtIGBvcmlnaW5gOmQtIGBwb29sX2lkYDogSWQgb2YgYSBwb29svC0gYGFzc2V0X291dGA6IElEIG9mIGFzc2V0IGJvdWdodCBmcm9tIHRoZSBwb29sqC0gYGFzc2V0X2luYDogSUQgb2YgYXNzZXQgc29sZCB0byB0aGUgcG9vbOAtIGBhbW91bnRfb3V0YDogQW1vdW50IG9mIGFzc2V0IHRvIHJlY2VpdmUgZnJvbSB0aGUgcG9vbNgtIGBtYXhfc2VsbF9hbW91bnRgOiBNYXhpbXVtIGFtb3VudCBhbGxvd2VkIHRvIGJlIHNvbGQA2EVtaXRzIGBCdXlFeGVjdXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLuBFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgBgc2V0X2Fzc2V0X3RyYWRhYmxlX3N0YXRlDAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARRzdGF0ZckDASxUcmFkYWJpbGl0eQAJQOBVcGRhdGUgdGhlIHRyYWRhYmxlIHN0YXRlIG9mIGEgc3BlY2lmaWMgYXNzZXQgaW4gYSBwb29sLgCdA1RoaXMgZnVuY3Rpb24gYWxsb3dzIHVwZGF0aW5nIHRoZSB0cmFkYWJpbGl0eSBzdGF0ZSBvZiBhbiBhc3NldCB3aXRoaW4gYSBwb29sLiBUaGUgdHJhZGFiaWxpdHkgc3RhdGUgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBhc3NldCBjYW4gYmUgdXNlZCBmb3Igc3BlY2lmaWMgb3BlcmF0aW9ucyBzdWNoIGFzIGFkZGluZyBsaXF1aWRpdHksIHJlbW92aW5nIGxpcXVpZGl0eSwgYnV5aW5nLCBvciBzZWxsaW5nLgAsUGFyYW1ldGVyczrELSBgb3JpZ2luYDogTXVzdCBiZSBgVDo6VXBkYXRlVHJhZGFiaWxpdHlPcmlnaW5gLtQtIGBwb29sX2lkYDogVGhlIElEIG9mIHRoZSBwb29sIGNvbnRhaW5pbmcgdGhlIGFzc2V0Li0BLSBgYXNzZXRfaWRgOiBUaGUgSUQgb2YgdGhlIGFzc2V0IHdob3NlIHRyYWRhYmlsaXR5IHN0YXRlIGlzIHRvIGJlIHVwZGF0ZWQuyC0gYHN0YXRlYDogVGhlIG5ldyB0cmFkYWJpbGl0eSBzdGF0ZSBvZiB0aGUgYXNzZXQuAMxFbWl0cyBgVHJhZGFibGVTdGF0ZVVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AICMgRXJyb3Jz3C0gYFBvb2xOb3RGb3VuZGA6IElmIHRoZSBzcGVjaWZpZWQgcG9vbCBkb2VzIG5vdCBleGlzdC4NAS0gYEFzc2V0Tm90SW5Qb29sYDogSWYgdGhlIHNwZWNpZmllZCBhc3NldCBpcyBub3QgcGFydCBvZiB0aGUgcG9vbC4AQHJlbW92ZV9saXF1aWRpdHkMARxwb29sX2lkEAEoVDo6QXNzZXRJZAABMHNoYXJlX2Ftb3VudBgBHEJhbGFuY2UAATxtaW5fYW1vdW50c19vdXSFAwEFAUJvdW5kZWRWZWM8QXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4sIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AApswFJlbW92ZSBsaXF1aWRpdHkgZnJvbSBhIHNlbGVjdGVkIHBvb2wgdW5pZm9ybWx5LgAxAVRoaXMgZnVuY3Rpb24gYWxsb3dzIGEgbGlxdWlkaXR5IHByb3ZpZGVyIHRvIHdpdGhkcmF3IGxpcXVpZGl0eSBmcm9tIGEgcG9vbC6VAVRoZSBwcm92aWRlciBzcGVjaWZpZXMgdGhlIGFtb3VudCBvZiBzaGFyZXMgdG8gYnVybiBhbmQgdGhlIG1pbmltdW0gYW1vdW50cyBvZiBlYWNoIGFzc2V0IHRvIHJlY2VpdmUuACxQYXJhbWV0ZXJzOowtIGBvcmlnaW5gOiBUaGUgbGlxdWlkaXR5IHByb3ZpZGVyLvwtIGBwb29sX2lkYDogVGhlIElEIG9mIHRoZSBwb29sIGZyb20gd2hpY2ggdG8gcmVtb3ZlIGxpcXVpZGl0eS68LSBgc2hhcmVfYW1vdW50YDogVGhlIGFtb3VudCBvZiBzaGFyZXMgdG8gYnVybi55AS0gYG1pbl9hbW91bnRzX291dGA6IEEgYm91bmRlZCB2ZWN0b3Igc3BlY2lmeWluZyB0aGUgbWluaW11bSBhbW91bnRzIG9mIGVhY2ggYXNzZXQgdG8gcmVjZWl2ZS4AvEVtaXRzIGBMaXF1aWRpdHlSZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwu4EVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuACAjIEVycm9yc9gtIGBJbnZhbGlkQXNzZXRBbW91bnRgOiBJZiB0aGUgYHNoYXJlX2Ftb3VudGAgaXMgemVyby4RAS0gYEluc3VmZmljaWVudFNoYXJlc2A6IElmIHRoZSBwcm92aWRlciBkb2VzIG5vdCBoYXZlIGVub3VnaCBzaGFyZXMu3C0gYFBvb2xOb3RGb3VuZGA6IElmIHRoZSBzcGVjaWZpZWQgcG9vbCBkb2VzIG5vdCBleGlzdC78LSBgVW5rbm93bkRlY2ltYWxzYDogSWYgdGhlIGFzc2V0IGRlY2ltYWxzIGNhbm5vdCBiZSByZXRyaWV2ZWQuWQEtIGBJbmNvcnJlY3RBc3NldHNgOiBJZiB0aGUgcHJvdmlkZWQgYG1pbl9hbW91bnRzX291dGAgZG9lcyBub3QgbWF0Y2ggdGhlIHBvb2wgYXNzZXRzLvgtIGBOb3RBbGxvd2VkYDogSWYgdGhlIGFzc2V0IGlzIG5vdCBhbGxvd2VkIGZvciB0aGUgb3BlcmF0aW9uLlEBLSBgU2xpcHBhZ2VMaW1pdGA6IElmIHRoZSBhbW91bnQgcmVjZWl2ZWQgaXMgbGVzcyB0aGFuIHRoZSBzcGVjaWZpZWQgbWluaW11bSBhbW91bnQupQEtIGBJbnN1ZmZpY2llbnRMaXF1aWRpdHlSZW1haW5pbmdgOiBJZiB0aGUgcmVtYWluaW5nIGxpcXVpZGl0eSBpbiB0aGUgcG9vbCBpcyBiZWxvdyB0aGUgbWluaW11bSByZXF1aXJlZC4AMCMgSW52YXJpYW50c0UBLSBFbnN1cmVzIHRoYXQgdGhlIHBvb2wncyByZXNlcnZlcyBhcmUgdXBkYXRlZCBjb3JyZWN0bHkgYWZ0ZXIgbGlxdWlkaXR5IHJlbW92YWwuyC0gRW5zdXJlcyB0aGF0IHRoZSBwb29sJ3MgaW52YXJpYW50IGlzIG1haW50YWluZWQuVGNyZWF0ZV9wb29sX3dpdGhfcGVncxgBLHNoYXJlX2Fzc2V0EAEoVDo6QXNzZXRJZAABGGFzc2V0c8UDAdBCb3VuZGVkVmVjPFQ6OkFzc2V0SWQsIENvbnN0VTMyPE1BWF9BU1NFVFNfSU5fUE9PTD4+AAE0YW1wbGlmaWNhdGlvbtwBDHUxNgABDGZlZUkDARxQZXJtaWxsAAEocGVnX3NvdXJjZc0DAXRCb3VuZGVkUGVnU291cmNlczxUOjpBc3NldElkPgABOG1heF9wZWdfdXBkYXRlSQMBHFBlcm1pbGwAC3ToQ3JlYXRlIGEgc3RhYmxlIHBvb2wgd2l0aCBhIGdpdmVuIGxpc3Qgb2YgYXNzZXRzIGFuZCBwZWdzLgBtAlRoaXMgZnVuY3Rpb24gYWxsb3dzIHRoZSBjcmVhdGlvbiBvZiBhIG5ldyBzdGFibGUgcG9vbCB3aXRoIHNwZWNpZmllZCBhc3NldHMsIGFtcGxpZmljYXRpb24sIGZlZSwgYW5kIHBlZyBzb3VyY2VzLiBUaGUgcG9vbCBpcyBpZGVudGlmaWVkIGJ5IGEgc2hhcmUgYXNzZXQuAI0CUGVnIHRhcmdldCBwcmljZSBpcyBkZXRlcm1pbmVkIGJ5IHJldHJpZXZpbmcgdGhlIHRhcmdldCBwZWcgZnJvbSB0aGUgb3JhY2xlIC0gaXQgaXMgdGhlIHByaWNlIG9mIHRoZSBhc3NldCBmcm9tIHRoZSBwZWcgc291cmNlZGVub21pbmF0ZWQgaW4gdGhlIG90aGVyIHBvb2wgYXNzZXRzLgAsUGFyYW1ldGVyczqkLSBgb3JpZ2luYDogTXVzdCBiZSBgVDo6QXV0aG9yaXR5T3JpZ2luYC7YLSBgc2hhcmVfYXNzZXRgOiBQcmVyZWdpc3RlcmVkIHNoYXJlIGFzc2V0IGlkZW50aWZpZXIu5C0gYGFzc2V0c2A6IExpc3Qgb2YgYXNzZXQgSURzIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBwb29sLsAtIGBhbXBsaWZpY2F0aW9uYDogUG9vbCBhbXBsaWZpY2F0aW9uIHBhcmFtZXRlci70LSBgZmVlYDogRmVlIHRvIGJlIGFwcGxpZWQgb24gdHJhZGUgYW5kIGxpcXVpZGl0eSBvcGVyYXRpb25zLj0BLSBgcGVnX3NvdXJjZWA6IEJvdW5kZWQgdmVjdG9yIHNwZWNpZnlpbmcgdGhlIHNvdXJjZSBvZiB0aGUgcGVnIGZvciBlYWNoIGFzc2V0LuQtIGBtYXhfcGVnX3VwZGF0ZWA6IE1heGltdW0gYWxsb3dlZCBwZWcgdXBkYXRlIHBlciBibG9jay4AoEVtaXRzIGBQb29sQ3JlYXRlZGAgZXZlbnQgaWYgc3VjY2Vzc2Z1bC7IRW1pdHMgYEFtcGxpZmljYXRpb25DaGFuZ2luZ2AgZXZlbnQgaWYgc3VjY2Vzc2Z1bC4AICMgRXJyb3JzTQEtIGBJbmNvcnJlY3RBc3NldHNgOiBJZiB0aGUgYXNzZXRzIGFyZSB0aGUgc2FtZSBvciBsZXNzIHRoYW4gMiBhc3NldHMgYXJlIHByb3ZpZGVkLg0BLSBgTWF4QXNzZXRzRXhjZWVkZWRgOiBJZiB0aGUgbWF4aW11bSBudW1iZXIgb2YgYXNzZXRzIGlzIGV4Y2VlZGVkLvwtIGBQb29sRXhpc3RzYDogSWYgYSBwb29sIHdpdGggdGhlIGdpdmVuIGFzc2V0cyBhbHJlYWR5IGV4aXN0cy4hAS0gYFNoYXJlQXNzZXRJblBvb2xBc3NldHNgOiBJZiB0aGUgc2hhcmUgYXNzZXQgaXMgYW1vbmcgdGhlIHBvb2wgYXNzZXRzLlkBLSBgQXNzZXROb3RSZWdpc3RlcmVkYDogSWYgb25lIG9yIG1vcmUgYXNzZXRzIGFyZSBub3QgcmVnaXN0ZXJlZCBpbiB0aGUgQXNzZXRSZWdpc3RyeS4RAS0gYEludmFsaWRBbXBsaWZpY2F0aW9uYDogSWYgdGhlIGFtcGxpZmljYXRpb24gcGFyYW1ldGVyIGlzIGludmFsaWQu8C0gYEluY29ycmVjdEluaXRpYWxQZWdzYDogSWYgdGhlIGluaXRpYWwgcGVncyBhcmUgaW5jb3JyZWN0LhkBLSBgTWlzc2luZ1RhcmdldFBlZ09yYWNsZWA6IElmIHRoZSB0YXJnZXQgcGVnIG9yYWNsZSBlbnRyeSBpcyBtaXNzaW5nLgkBLSBgSW5jb3JyZWN0QXNzZXREZWNpbWFsc2A6IElmIHRoZSBhc3NldHMgaGF2ZSBkaWZmZXJlbnQgZGVjaW1hbHMuAFBhZGRfYXNzZXRzX2xpcXVpZGl0eQwBHHBvb2xfaWQQAShUOjpBc3NldElkAAEYYXNzZXRzhQMBBQFCb3VuZGVkVmVjPEFzc2V0QW1vdW50PFQ6OkFzc2V0SWQ+LCBDb25zdFUzMjxNQVhfQVNTRVRTX0lOX1BPT0w+PgABKG1pbl9zaGFyZXMYARxCYWxhbmNlAAxIfEFkZCBsaXF1aWRpdHkgdG8gc2VsZWN0ZWQgcG9vbC4AUQFGaXJzdCBjYWxsIG9mIGBhZGRfYXNzZXRzX2xpcXVpZGl0eWAgbXVzdCBwcm92aWRlICJpbml0aWFsIGxpcXVpZGl0eSIgb2YgYWxsIGFzc2V0cy4AhQFJZiB0aGVyZSBpcyBsaXF1aWRpdHkgYWxyZWFkeSBpbiB0aGUgcG9vbCwgTFAgY2FuIHByb3ZpZGUgbGlxdWlkaXR5IG9mIGFueSBudW1iZXIgb2YgcG9vbCBhc3NldHMuALRMUCBtdXN0IGhhdmUgc3VmZmljaWVudCBhbW91bnQgb2YgZWFjaCBhc3NldC4AvE9yaWdpbiBpcyBnaXZlbiBjb3JyZXNwb25kaW5nIGFtb3VudCBvZiBzaGFyZXMuACxQYXJhbWV0ZXJzOngtIGBvcmlnaW5gOiBsaXF1aWRpdHkgcHJvdmlkZXJQLSBgcG9vbF9pZGA6IFBvb2wgSWTILSBgYXNzZXRzYDogYXNzZXQgaWQgYW5kIGxpcXVpZGl0eSBhbW91bnQgcHJvdmlkZWTMLSBgbWluX3NoYXJlc2A6IG1pbmltdW0gYW1vdW50IG9mIHNoYXJlcyB0byByZWNlaXZlALRFbWl0cyBgTGlxdWlkaXR5QWRkZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC7gRW1pdHMgYHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuxQMMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEQBFMAAAQAgQMBGFZlYzxUPgAAyQMMRHBhbGxldF9zdGFibGVzd2FwFHR5cGVzLFRyYWRhYmlsaXR5AAAEARBiaXRzCAEIdTgAAM0DDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQB0QMEUwAABADdAwEYVmVjPFQ+AADRAwxEcGFsbGV0X3N0YWJsZXN3YXAUdHlwZXMkUGVnU291cmNlBBxBc3NldElkARABCBRWYWx1ZQQAUQMBHFBlZ1R5cGUAAAAYT3JhY2xlBADVAwF8KFNvdXJjZSwgT3JhY2xlUGVyaW9kLCBBc3NldElkKQABAADVAwAABAwVAtkDEADZAww4aHlkcmFkeF90cmFpdHMYb3JhY2xlME9yYWNsZVBlcmlvZAABGCRMYXN0QmxvY2sAAAAUU2hvcnQAAQAoVGVuTWludXRlcwACABBIb3VyAAMADERheQAEABBXZWVrAAUAAN0DAAAC0QMA4QMMMHBhbGxldF9ib25kcxhwYWxsZXQQQ2FsbAQEVAABCBRpc3N1ZQwBIGFzc2V0X2lkEAEcQXNzZXRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAASBtYXR1cml0eTABGE1vbWVudAAAVGRJc3N1ZSBuZXcgZnVuZ2libGUgYm9uZHMu1E5ldyBhc3NldCBpZCBpcyByZWdpc3RlcmVkIGFuZCBhc3NpZ25lZCB0byB0aGUgYm9uZHMuWQFUaGUgbnVtYmVyIG9mIGJvbmRzIHRoZSBpc3N1ZXIgcmVjZWl2ZXMgaXMgMToxIHRvIHRoZSBgYW1vdW50YCBvZiB0aGUgdW5kZXJseWluZyBhc3NldFxtaW51cyB0aGUgcHJvdG9jb2wgZmVlLhkBVGhlIGJvbmQgYXNzZXQgaXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBlbXB0eSBzdHJpbmcgZm9yIHRoZSBhc3NldCBuYW1lLAUBYW5kIHdpdGggdGhlIHNhbWUgZXhpc3RlbnRpYWwgZGVwb3NpdCBhcyBvZiB0aGUgdW5kZXJseWluZyBhc3NldC7sQm9uZHMgY2FuIGJlIHJlZGVlbWVkIGZvciB0aGUgdW5kZXJseWluZyBhc3NldCBvbmNlIG1hdHVyZS4tAVByb3RvY29sIGZlZSBpcyBhcHBsaWVkIHRvIHRoZSBhbW91bnQsIGFuZCB0cmFuc2ZlcnJlZCB0byBgVDo6RmVlUmVjZWl2ZXJgLmkBV2hlbiBpc3N1aW5nIG5ldyBib25kcyB3aXRoIHRoZSB1bmRlcmx5aW5nIGFzc2V0IGFuZCBtYXR1cml0eSB0aGF0IG1hdGNoZXMgZXhpc3RpbmcgYm9uZHMsPQFuZXcgYW1vdW50IG9mIHRoZXNlIGV4aXN0aW5nIGJvbmRzIGlzIGlzc3VlZCwgaW5zdGVhZCBvZiByZWdpc3RlcmluZyBuZXcgYm9uZHMuDQFJdCdzIHBvc3NpYmxlIHRvIGlzc3VlIG5ldyBib25kcyBmb3IgYm9uZHMgdGhhdCBhcmUgYWxyZWFkeSBtYXR1cmUuACxQYXJhbWV0ZXJzOvQtIGBvcmlnaW5gOiBpc3N1ZXIgb2YgbmV3IGJvbmRzLCBuZWVkcyB0byBiZSBgVDo6SXNzdWVPcmlnaW5ghC0gYGFzc2V0X2lkYDogdW5kZXJseWluZyBhc3NldCBpZLgtIGBhbW91bnRgOiB0aGUgYW1vdW50IG9mIHRoZSB1bmRlcmx5aW5nIGFzc2V0HQEtIGBtYXR1cml0eWA6IFVuaXggdGltZSBpbiBtaWxsaXNlY29uZHMsIHdoZW4gdGhlIGJvbmRzIHdpbGwgYmUgbWF0dXJlLgA1AUVtaXRzIGBCb25kVG9rZW5DcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwgYW5kIG5ldyBib25kcyB3ZXJlIHJlZ2lzdGVyZWQuqEVtaXRzIGBCb25kc0lzc3VlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAYcmVkZWVtCAEcYm9uZF9pZBABHEFzc2V0SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEwmFJlZGVlbSBib25kcyBmb3IgdGhlIHVuZGVybHlpbmcgYXNzZXQudQFUaGUgYW1vdW50IG9mIHRoZSB1bmRlcmx5aW5nIGFzc2V0IHRoZSBgb3JpZ2luYCByZWNlaXZlcyBpcyAxOjEgdG8gdGhlIGBhbW91bnRgIG9mIHRoZSBib25kcy7IQW55b25lIHdobyBob2xkcyB0aGUgYm9uZHMgaXMgYWJsZSB0byByZWRlZW0gdGhlbS64Qm9uZHMgY2FuIGJlIGJvdGggcGFydGlhbGx5IG9yIGZ1bGx5IHJlZGVlbWVkLgAsUGFyYW1ldGVyczpYLSBgb3JpZ2luYDogYWNjb3VudCBpZGwtIGBhc3NldF9pZGA6IGJvbmQgYXNzZXQgaWQZAS0gYGFtb3VudGA6IHRoZSBhbW91bnQgb2YgdGhlIGJvbmRzIHRvIHJlZGVlbSBmb3IgdGhlIHVuZGVybHlpbmcgYXNzZXQAsEVtaXRzIGBCb25kc1JlZGVlbWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7lAwxYcGFsbGV0X290Y19zZXR0bGVtZW50cxhwYWxsZXQQQ2FsbAQEVAABBEBzZXR0bGVfb3RjX29yZGVyDAEYb3RjX2lkEAEcT3JkZXJJZAABGGFtb3VudBgBHEJhbGFuY2UAARRyb3V0ZaUDAUxSb3V0ZTxBc3NldElkT2Y8VD4+AABQsENsb3NlIGFuIGV4aXN0aW5nIE9UQyBhcmJpdHJhZ2Ugb3Bwb3J0dW5pdHkuANRFeGVjdXRlcyBhIHRyYWRlIGJldHdlZW4gYW4gT1RDIG9yZGVyIGFuZCBzb21lIHJvdXRlLlUBSWYgdGhlIE9UQyBvcmRlciBpcyBwYXJ0aWFsbHkgZmlsbGFibGUsIHRoZSBleHRyaW5zaWMgZmFpbHMgaWYgdGhlIGV4aXN0aW5nIGFyYml0cmFnZdRvcHBvcnR1bml0eSBpcyBub3QgY2xvc2VkIG9yIHJlZHVjZWQgYWZ0ZXIgdGhlIHRyYWRlLmEBSWYgdGhlIE9UQyBvcmRlciBpcyBub3QgcGFydGlhbGx5IGZpbGxhYmxlLCBmYWlscyBpZiB0aGVyZSBpcyBubyBwcm9maXQgYWZ0ZXIgdGhlIHRyYWRlLgARAWBPcmlnaW5gIGNhbGxpbmcgdGhpcyBleHRyaW5zaWMgaXMgbm90IHBheWluZyBvciByZWNlaXZpbmcgYW55dGhpbmcuACUBVGhlIHByb2ZpdCBtYWRlIGJ5IGNsb3NpbmcgdGhlIGFyYml0cmFnZSBpcyB0cmFuc2ZlcnJlZCB0byBgRmVlUmVjZWl2ZXJgLgAsUGFyYW1ldGVyczo5AS0gYG9yaWdpbmA6IFNpZ25lZCBvciB1bnNpZ25lZCBvcmlnaW4uIFVuc2lnbmVkIG9yaWdpbiBkb2Vzbid0IHBheSB0aGUgVFggZmVlLKwJCQlidXQgY2FuIGJlIHN1Ym1pdHRlZCBvbmx5IGJ5IGEgY29sbGF0b3IuEQEtIGBvdGNfaWRgOiBJRCBvZiB0aGUgT1RDIG9yZGVyIHdpdGggZXhpc3RpbmcgYXJiaXRyYWdlIG9wcG9ydHVuaXR5LrgtIGBhbW91bnRgOiBBbW91bnQgbmVjZXNzYXJ5IHRvIGNsb3NlIHRoZSBhcmIuIQEtIGByb3V0ZWA6IFRoZSByb3V0ZSB3ZSB0cmFkZSBhZ2FpbnN0LiBSZXF1aXJlZCBmb3IgdGhlIGZlZSBjYWxjdWxhdGlvbi4AnEVtaXRzIGBFeGVjdXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMu6QMMKHBhbGxldF9sYnAYcGFsbGV0EENhbGwEBFQAARgsY3JlYXRlX3Bvb2wsAShwb29sX293bmVyAAEwVDo6QWNjb3VudElkAAEcYXNzZXRfYRABHEFzc2V0SWQAAThhc3NldF9hX2Ftb3VudBgBHEJhbGFuY2UAARxhc3NldF9iEAEcQXNzZXRJZAABOGFzc2V0X2JfYW1vdW50GAEcQmFsYW5jZQABOGluaXRpYWxfd2VpZ2h0EAEkTEJQV2VpZ2h0AAEwZmluYWxfd2VpZ2h0EAEkTEJQV2VpZ2h0AAEwd2VpZ2h0X2N1cnZl7QMBPFdlaWdodEN1cnZlVHlwZQABDGZlZXUDASgodTMyLCB1MzIpAAE0ZmVlX2NvbGxlY3RvcgABMFQ6OkFjY291bnRJZAABMHJlcGF5X3RhcmdldBgBHEJhbGFuY2UAAIT8Q3JlYXRlIGEgbmV3IGxpcXVpZGl0eSBib290c3RyYXBwaW5nIHBvb2wgZm9yIGdpdmVuIGFzc2V0IHBhaXIuANhGb3IgYW55IGFzc2V0IHBhaXIsIG9ubHkgb25lIHBvb2wgY2FuIGV4aXN0IGF0IGEgdGltZS4AAQFUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgVDo6Q3JlYXRlUG9vbE9yaWdpbmAuVQFUaGUgcG9vbCBpcyBjcmVhdGVkIHdpdGggaW5pdGlhbCBsaXF1aWRpdHkgcHJvdmlkZWQgYnkgdGhlIGBwb29sX293bmVyYCB3aG8gbXVzdCBoYXZlWHN1ZmZpY2llbnQgZnVuZHMgZnJlZS4AoQFUaGUgcG9vbCBzdGFydHMgdW5pbml0aWFsaXplZCBhbmQgdXBkYXRlX3Bvb2wgY2FsbCBzaG91bGQgYmUgY2FsbGVkIG9uY2UgY3JlYXRlZCB0byBzZXQgdGhlIHN0YXJ0IGJsb2NrLgA5AVRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGRpc3BhdGNoZWQgZnJvbSBnb3Zlcm5pbmcgZW50aXR5IGBUOjpDcmVhdGVQb29sT3JpZ2luYAAsUGFyYW1ldGVyczrELSBgcG9vbF9vd25lcmA6IHRoZSBmdXR1cmUgb3duZXIgb2YgdGhlIG5ldyBwb29sLiEBLSBgYXNzZXRfYWA6IHsgYXNzZXRfaWQsIGFtb3VudCB9IEFzc2V0IElEIGFuZCBpbml0aWFsIGxpcXVpZGl0eSBhbW91bnQuIQEtIGBhc3NldF9iYDogeyBhc3NldF9pZCwgYW1vdW50IH0gQXNzZXQgSUQgYW5kIGluaXRpYWwgbGlxdWlkaXR5IGFtb3VudC6hAS0gYGluaXRpYWxfd2VpZ2h0YDogSW5pdGlhbCB3ZWlnaHQgb2YgdGhlIGFzc2V0X2EuIDFfMDAwXzAwMCBjb3JyZXNwb25kaW5nIHRvIDElIGFuZCAxMDBfMDAwXzAwMCB0byAxMDAlnHRoaXMgc2hvdWxkIGJlIGhpZ2hlciB0aGFuIGZpbmFsIHdlaWdodJEBLSBgZmluYWxfd2VpZ2h0YDogRmluYWwgd2VpZ2h0IG9mIHRoZSBhc3NldF9hLiAxXzAwMF8wMDAgY29ycmVzcG9uZGluZyB0byAxJSBhbmQgMTAwXzAwMF8wMDAgdG8gMTAwJaB0aGlzIHNob3VsZCBiZSBsb3dlciB0aGFuIGluaXRpYWwgd2VpZ2h0QQEtIGB3ZWlnaHRfY3VydmVgOiBUaGUgd2VpZ2h0IGZ1bmN0aW9uIHVzZWQgdG8gdXBkYXRlIHRoZSBMQlAgd2VpZ2h0cy4gQ3VycmVudGx5LA0BdGhlcmUgaXMgb25seSBvbmUgd2VpZ2h0IGZ1bmN0aW9uIGltcGxlbWVudGVkLCB0aGUgbGluZWFyIGZ1bmN0aW9uLj0BLSBgZmVlYDogVGhlIHRyYWRpbmcgZmVlIGNoYXJnZWQgb24gZXZlcnkgdHJhZGUgZGlzdHJpYnV0ZWQgdG8gYGZlZV9jb2xsZWN0b3JgLiUBLSBgZmVlX2NvbGxlY3RvcmA6IFRoZSBhY2NvdW50IHRvIHdoaWNoIHRyYWRpbmcgZmVlcyB3aWxsIGJlIHRyYW5zZmVycmVkLp0BLSBgcmVwYXlfdGFyZ2V0YDogVGhlIGFtb3VudCBvZiB0b2tlbnMgdG8gcmVwYXkgdG8gc2VwYXJhdGUgZmVlX2NvbGxlY3RvciBhY2NvdW50LiBVbnRpbCB0aGlzIGFtb3VudCBpc/RyZWFjaGVkLCBmZWUgd2lsbCBiZSBpbmNyZWFzZWQgdG8gMjAlIGFuZCB0YWtlbiBmcm9tIHRoZSBwb29sAKhFbWl0cyBgUG9vbENyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AnQFCRVdBUkU6IFdlIGFyZSB0YWtpbmcgdGhlIGZlZSBmcm9tIHRoZSBhY2N1bXVsYXRlZCBhc3NldC4gSWYgdGhlIGFjY3VtdWxhdGVkIGFzc2V0IGlzIHNvbGQgdG8gdGhlIHBvb2wseQF0aGUgZmVlIGNvc3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHBvb2wuIElmIGl0cyBib3VnaHQgZnJvbSB0aGUgcG9vbCB0aGUgYnV5ZXIgYmVhcnMgdGhlIGNvc3QuaQFUaGlzIGluY3JlYXNlcyB0aGUgcHJpY2Ugb2YgdGhlIHNvbGQgYXNzZXQgb24gZXZlcnkgdHJhZGUuIE1ha2Ugc3VyZSB0byBvbmx5IHJ1biB0aGlzIHdpdGhscHJldmlvdXNseSBpbGxpcXVpZCBhc3NldHMuQHVwZGF0ZV9wb29sX2RhdGEkARxwb29sX2lkAAEkUG9vbElkPFQ+AAEocG9vbF9vd25lcgEBAVBPcHRpb248VDo6QWNjb3VudElkPgABFHN0YXJ0bQEBZE9wdGlvbjxCbG9ja051bWJlckZvcjxUPj4AAQxlbmRtAQFkT3B0aW9uPEJsb2NrTnVtYmVyRm9yPFQ+PgABOGluaXRpYWxfd2VpZ2h0bQEBRE9wdGlvbjxMQlBXZWlnaHQ+AAEwZmluYWxfd2VpZ2h0bQEBRE9wdGlvbjxMQlBXZWlnaHQ+AAEMZmVlnQMBSE9wdGlvbjwodTMyLCB1MzIpPgABNGZlZV9jb2xsZWN0b3IBAQFQT3B0aW9uPFQ6OkFjY291bnRJZD4AATByZXBheV90YXJnZXT0ATxPcHRpb248QmFsYW5jZT4AAUhsVXBkYXRlIHBvb2wgZGF0YSBvZiBhIHBvb2wuAA0BVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgc2lnbmVkIGJ5IHRoZSBwb29sIG93bmVyLgAFAVRoZSBwb29sIGNhbiBiZSB1cGRhdGVkIG9ubHkgaWYgdGhlIHNhbGUgaGFzIG5vdCBhbHJlYWR5IHN0YXJ0ZWQuABkBQXQgbGVhc3Qgb25lIG9mIHRoZSBmb2xsb3dpbmcgb3B0aW9uYWwgcGFyYW1ldGVycyBoYXMgdG8gYmUgc3BlY2lmaWVkLgAsUGFyYW1ldGVyczrYLSBgcG9vbF9pZGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBwb29sIHRvIGJlIHVwZGF0ZWQuJQEtIGBzdGFydGA6IFRoZSBuZXcgc3RhcnRpbmcgdGltZSBvZiB0aGUgc2FsZS4gVGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuFQEtIGBlbmRgOiBUaGUgbmV3IGVuZGluZyB0aW1lIG9mIHRoZSBzYWxlLiBUaGlzIHBhcmFtZXRlciBpcyBvcHRpb25hbC4dAS0gYGluaXRpYWxfd2VpZ2h0YDogVGhlIG5ldyBpbml0aWFsIHdlaWdodC4gVGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuDQEtIGBmaW5hbF93ZWlnaHRgOiBUaGUgbmV3IGZpbmFsIHdlaWdodC4gVGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuQQEtIGBmZWVgOiBUaGUgbmV3IHRyYWRpbmcgZmVlIGNoYXJnZWQgb24gZXZlcnkgdHJhZGUuIFRoaXMgcGFyYW1ldGVyIGlzIG9wdGlvbmFsLkEBLSBgZmVlX2NvbGxlY3RvcmA6IFRoZSBuZXcgcmVjZWl2ZXIgb2YgdHJhZGluZyBmZWVzLiBUaGlzIHBhcmFtZXRlciBpcyBvcHRpb25hbC4AqEVtaXRzIGBQb29sVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjRhZGRfbGlxdWlkaXR5CAEgYW1vdW50X2HxAwFcKEFzc2V0SWQsIEJhbGFuY2VPZjxUPikAASBhbW91bnRfYvEDAVwoQXNzZXRJZCwgQmFsYW5jZU9mPFQ+KQACMGBBZGQgbGlxdWlkaXR5IHRvIGEgcG9vbC4ATQFBc3NldHMgdG8gYWRkIGhhcyB0byBtYXRjaCB0aGUgcG9vbCBhc3NldHMuIEF0IGxlYXN0IG9uZSBhbW91bnQgaGFzIHRvIGJlIG5vbi16ZXJvLgANAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHNpZ25lZCBieSB0aGUgcG9vbCBvd25lci4ALFBhcmFtZXRlcnM6nC0gYHBvb2xfaWRgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgcG9vbAEBLSBgYW1vdW50X2FgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgYW5kIHRoZSBhbW91bnQgdG8gYWRkLh0BLSBgYW1vdW50X2JgOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgc2Vjb25kIGFzc2V0IGFuZCB0aGUgYW1vdW50IHRvIGFkZC4AtEVtaXRzIGBMaXF1aWRpdHlBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLkByZW1vdmVfbGlxdWlkaXR5BAEccG9vbF9pZAABJFBvb2xJZDxUPgADLE0BVHJhbnNmZXIgYWxsIHRoZSBsaXF1aWRpdHkgZnJvbSBhIHBvb2wgYmFjayB0byB0aGUgcG9vbCBvd25lciBhbmQgZGVzdHJveSB0aGUgcG9vbC7AVGhlIHBvb2wgZGF0YSBhcmUgYWxzbyByZW1vdmVkIGZyb20gdGhlIHN0b3JhZ2UuALBUaGUgcG9vbCBjYW4ndCBiZSBkZXN0cm95ZWQgZHVyaW5nIHRoZSBzYWxlLgANAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHNpZ25lZCBieSB0aGUgcG9vbCBvd25lci4ALFBhcmFtZXRlcnM6AQEtIGBhbW91bnRfYWA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCBhbmQgdGhlIGFtb3VudCB0byBhZGQuAKRFbWl0cyAnTGlxdWlkaXR5UmVtb3ZlZCcgd2hlbiBzdWNjZXNzZnVsLhBzZWxsEAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgABJG1heF9saW1pdBgBMEJhbGFuY2VPZjxUPgAEPIRUcmFkZSBgYXNzZXRfaW5gIGZvciBgYXNzZXRfb3V0YC4AVQFFeGVjdXRlcyBhIHN3YXAgb2YgYGFzc2V0X2luYCBmb3IgYGFzc2V0X291dGAuIFByaWNlIGlzIGRldGVybWluZWQgYnkgdGhlIHBvb2wgYW5kIGlzJQFhZmZlY3RlZCBieSB0aGUgYW1vdW50IGFuZCBwcm9wb3J0aW9uIG9mIHRoZSBwb29sIGFzc2V0cyBhbmQgdGhlIHdlaWdodHMuANBUcmFkaW5nIGBmZWVgIGlzIGRpc3RyaWJ1dGVkIHRvIHRoZSBgZmVlX2NvbGxlY3RvcmAuACxQYXJhbWV0ZXJzOmUBLSBgYXNzZXRfaW5gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgYmVpbmcgdHJhbnNmZXJyZWQgZnJvbSB0aGUgYWNjb3VudCB0byB0aGUgcG9vbC5pAS0gYGFzc2V0X291dGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCBiZWluZyB0cmFuc2ZlcnJlZCBmcm9tIHRoZSBwb29sIHRvIHRoZSBhY2NvdW50LpAtIGBhbW91bnRgOiBUaGUgYW1vdW50IG9mIGBhc3NldF9pbmDtAS0gYG1heF9saW1pdGA6IG1pbmltdW0gYW1vdW50IG9mIGBhc3NldF9vdXRgIC8gYW1vdW50IG9mIGFzc2V0X291dCB0byBiZSBvYnRhaW5lZCBmcm9tIHRoZSBwb29sIGluIGV4Y2hhbmdlIGZvciBgYXNzZXRfaW5gLgDERW1pdHMgYFNlbGxFeGVjdXRlZGAgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLshFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgd2hlbiBzdWNjZXNzZnVsLgxidXkQASRhc3NldF9vdXQQARxBc3NldElkAAEgYXNzZXRfaW4QARxBc3NldElkAAEYYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAEkbWF4X2xpbWl0GAEwQmFsYW5jZU9mPFQ+AAU8hFRyYWRlIGBhc3NldF9pbmAgZm9yIGBhc3NldF9vdXRgLgBVAUV4ZWN1dGVzIGEgc3dhcCBvZiBgYXNzZXRfaW5gIGZvciBgYXNzZXRfb3V0YC4gUHJpY2UgaXMgZGV0ZXJtaW5lZCBieSB0aGUgcG9vbCBhbmQgaXM1AWFmZmVjdGVkIGJ5IHRoZSBhbW91bnQgYW5kIHRoZSBwcm9wb3J0aW9uIG9mIHRoZSBwb29sIGFzc2V0cyBhbmQgdGhlIHdlaWdodHMuANBUcmFkaW5nIGBmZWVgIGlzIGRpc3RyaWJ1dGVkIHRvIHRoZSBgZmVlX2NvbGxlY3RvcmAuACxQYXJhbWV0ZXJzOmUBLSBgYXNzZXRfaW5gOiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYXNzZXQgYmVpbmcgdHJhbnNmZXJyZWQgZnJvbSB0aGUgYWNjb3VudCB0byB0aGUgcG9vbC5pAS0gYGFzc2V0X291dGA6IFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCBiZWluZyB0cmFuc2ZlcnJlZCBmcm9tIHRoZSBwb29sIHRvIHRoZSBhY2NvdW50LpgtIGBhbW91bnRgOiBUaGUgYW1vdW50IG9mIGBhc3NldF9vdXRgLk0BLSBgbWF4X2xpbWl0YDogbWF4aW11bSBhbW91bnQgb2YgYGFzc2V0X2luYCB0byBiZSBzb2xkIGluIGV4Y2hhbmdlIGZvciBgYXNzZXRfb3V0YC4AwEVtaXRzIGBCdXlFeGVjdXRlZGAgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLshFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgd2hlbiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7tAwgocGFsbGV0X2xicDxXZWlnaHRDdXJ2ZVR5cGUAAQQYTGluZWFyAAAAAPEDAAAECBAYAPUDDChwYWxsZXRfeHlrGHBhbGxldBBDYWxsBARUAAEcLGNyZWF0ZV9wb29sEAEcYXNzZXRfYRABHEFzc2V0SWQAASBhbW91bnRfYRgBHEJhbGFuY2UAARxhc3NldF9iEAEcQXNzZXRJZAABIGFtb3VudF9iGAEcQmFsYW5jZQAAJJRDcmVhdGUgbmV3IHBvb2wgZm9yIGdpdmVuIGFzc2V0IHBhaXIuAFEBUmVnaXN0ZXJzIG5ldyBwb29sIGZvciBnaXZlbiBhc3NldCBwYWlyIChgYXNzZXQgYWAgYW5kIGBhc3NldCBiYCkgaW4gYXNzZXQgcmVnaXN0cnkucQFBc3NldCByZWdpc3RyeSBjcmVhdGVzIG5ldyBpZCBvciByZXR1cm5zIHByZXZpb3VzbHkgY3JlYXRlZCBvbmUgaWYgc3VjaCBwb29sIGV4aXN0ZWQgYmVmb3JlLgDwUG9vbCBpcyBjcmVhdGVkIHdpdGggaW5pdGlhbCBsaXF1aWRpdHkgcHJvdmlkZWQgYnkgYG9yaWdpbmAueQFTaGFyZXMgYXJlIGlzc3VlZCB3aXRoIHNwZWNpZmllZCBpbml0aWFsIHByaWNlIGFuZCByZXByZXNlbnRzIHByb3BvcnRpb24gb2YgYXNzZXQgaW4gdGhlIHBvb2wuAKhFbWl0cyBgUG9vbENyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC40YWRkX2xpcXVpZGl0eRABHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAASBhbW91bnRfYRgBHEJhbGFuY2UAAUhhbW91bnRfYl9tYXhfbGltaXQYARxCYWxhbmNlAAEU0EFkZCBsaXF1aWRpdHkgdG8gcHJldmlvdXNseSBjcmVhdGVkIGFzc2V0IHBhaXIgcG9vbC4AlFNoYXJlcyBhcmUgaXNzdWVkIHdpdGggY3VycmVudCBwcmljZS4AtEVtaXRzIGBMaXF1aWRpdHlBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLmRhZGRfbGlxdWlkaXR5X3dpdGhfbGltaXRzFAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABIGFtb3VudF9hGAEcQmFsYW5jZQABSGFtb3VudF9iX21heF9saW1pdBgBHEJhbGFuY2UAAShtaW5fc2hhcmVzGAEcQmFsYW5jZQAFAEByZW1vdmVfbGlxdWlkaXR5DAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABMHNoYXJlX2Ftb3VudBgBHEJhbGFuY2UAAhgxAVJlbW92ZSBsaXF1aWRpdHkgZnJvbSBzcGVjaWZpYyBsaXF1aWRpdHkgcG9vbCBpbiB0aGUgZm9ybSBvZiBidXJuaW5nIHNoYXJlcy4A0ElmIGxpcXVpZGl0eSBpbiB0aGUgcG9vbCByZWFjaGVzIDAsIGl0IGlzIGRlc3Ryb3llZC4ApEVtaXRzICdMaXF1aWRpdHlSZW1vdmVkJyB3aGVuIHN1Y2Nlc3NmdWwutEVtaXRzICdQb29sRGVzdHJveWVkJyB3aGVuIHBvb2wgaXMgZGVzdHJveWVkLnByZW1vdmVfbGlxdWlkaXR5X3dpdGhfbGltaXRzFAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABMHNoYXJlX2Ftb3VudBgBHEJhbGFuY2UAATBtaW5fYW1vdW50X2EYARxCYWxhbmNlAAEwbWluX2Ftb3VudF9iGAEcQmFsYW5jZQAGABBzZWxsFAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAASRtYXhfbGltaXQYARxCYWxhbmNlAAEgZGlzY291bnQgARBib29sAAMgdFRyYWRlIGFzc2V0IGluIGZvciBhc3NldCBvdXQuAGUBRXhlY3V0ZXMgYSBzd2FwIG9mIGBhc3NldF9pbmAgZm9yIGBhc3NldF9vdXRgLiBQcmljZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBsaXF1aWRpdHkgcG9vbC4A6QFgbWF4X2xpbWl0YCAtIG1pbmltdW0gYW1vdW50IG9mIGBhc3NldF9vdXRgIC8gYW1vdW50IG9mIGFzc2V0X291dCB0byBiZSBvYnRhaW5lZCBmcm9tIHRoZSBwb29sIGluIGV4Y2hhbmdlIGZvciBgYXNzZXRfaW5gLgDERW1pdHMgYFNlbGxFeGVjdXRlZGAgd2hlbiBzdWNjZXNzZnVsLiBEZXByZWNhdGVkLshFbWl0cyBgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZGAgd2hlbiBzdWNjZXNzZnVsLgxidXkUASRhc3NldF9vdXQQARxBc3NldElkAAEgYXNzZXRfaW4QARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABJG1heF9saW1pdBgBHEJhbGFuY2UAASBkaXNjb3VudCABEGJvb2wABBx0VHJhZGUgYXNzZXQgaW4gZm9yIGFzc2V0IG91dC4AZQFFeGVjdXRlcyBhIHN3YXAgb2YgYGFzc2V0X2luYCBmb3IgYGFzc2V0X291dGAuIFByaWNlIGlzIGRldGVybWluZWQgYnkgdGhlIGxpcXVpZGl0eSBwb29sLgBJAWBtYXhfbGltaXRgIC0gbWF4aW11bSBhbW91bnQgb2YgYGFzc2V0X2luYCB0byBiZSBzb2xkIGluIGV4Y2hhbmdlIGZvciBgYXNzZXRfb3V0YC7ARW1pdHMgYEJ1eUV4ZWN1dGVkYCB3aGVuIHN1Y2Nlc3NmdWwuIERlcHJlY2F0ZWQuyEVtaXRzIGBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkYCB3aGVuIHN1Y2Nlc3NmdWwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLvkDDEBwYWxsZXRfcmVmZXJyYWxzGHBhbGxldBBDYWxsBARUAAEUNHJlZ2lzdGVyX2NvZGUEARBjb2Rl/QMBbFJlZmVycmFsQ29kZTxUOjpDb2RlTGVuZ3RoPgAANGxSZWdpc3RlciBuZXcgcmVmZXJyYWwgY29kZS4AjGBvcmlnaW5gIHBheXMgdGhlIHJlZ2lzdHJhdGlvbiBmZWUuqGBjb2RlYCBpcyBhc3NpZ25lZCB0byB0aGUgZ2l2ZW4gYGFjY291bnRgLgDkTGVuZ3RoIG9mIHRoZSBgY29kZWAgbXVzdCBiZSBhdCBsZWFzdCBgVDo6TWluQ29kZUxlbmd0aGAutE1heGltdW0gbGVuZ3RoIGlzIGxpbWl0ZWQgdG8gYFQ6OkNvZGVMZW5ndGhgLpEBYGNvZGVgIG11c3QgY29udGFpbiBvbmx5IGFsZmEtbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCBhbGwgY2hhcmFjdGVycyB3aWxsIGJlIGNvbnZlcnRlZCB0byB1cHBlciBjYXNlLgAsUGFyYW1ldGVyczrkLSBgY29kZWA6IENvZGUgdG8gcmVnaXN0ZXIuIE11c3QgZm9sbG93IHRoZSByZXN0cmljdGlvbnMuALRFbWl0cyBgQ29kZVJlZ2lzdGVyZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4kbGlua19jb2RlBAEQY29kZf0DAWxSZWZlcnJhbENvZGU8VDo6Q29kZUxlbmd0aD4AAShoTGluayBhIGNvZGUgdG8gYW4gYWNjb3VudC4AKQFgQ29kZWAgbXVzdCBiZSB2YWxpZCByZWdpc3RlcmVkIGNvZGUuIE90aGVyd2lzZSBgSW52YWxpZENvZGVgIGlzIHJldHVybmVkLgD0U2lnbmVyIGFjY291bnQgaXMgbGlua2VkIHRvIHRoZSByZWZlcnJhbCBhY2NvdW50IG9mIHRoZSBjb2RlLgAsUGFyYW1ldGVyczrQLSBgY29kZWA6IENvZGUgdG8gdXNlIHRvIGxpbmsgdGhlIHNpZ25lciBhY2NvdW50IHRvLgCkRW1pdHMgYENvZGVMaW5rZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4cY29udmVydAQBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAACGMBDb252ZXJ0IGFjY3J1ZWQgYXNzZXQgYW1vdW50IHRvIHJld2FyZCBjdXJyZW5jeS4ALFBhcmFtZXRlcnM63C0gYGFzc2V0X2lkYDogSWQgb2YgYW4gYXNzZXQgdG8gY29udmVydCB0byBSZXdhcmRBc3NldC4AoEVtaXRzIGBDb252ZXJ0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC40Y2xhaW1fcmV3YXJkcwADJGRDbGFpbSBhY2N1bXVsYXRlZCByZXdhcmRzAEkBSUYgdGhlcmUgaXMgYW55IGFzc2V0IGluIHRoZSByZXdhcmQgcG90LCBhbGwgaXMgY29udmVydGVkIHRvIFJld2FyZEN1cnJlbmN5IGZpcnN0LgAZAVJld2FyZCBhbW91bnQgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgc2hhcmVzIG9mIHRoZSBzaWduZXIgYWNjb3VudC4A1QFpZiB0aGUgc2lnbmVyIGFjY291bnQgaXMgcmVmZXJyZXIgYWNjb3VudCwgdG90YWwgYWNjdW11bGF0ZWQgcmV3YXJkcyBpcyB1cGRhdGVkIGFzIHdlbGwgYXMgcmVmZXJyZXIgbGV2ZWwgaWYgcmVhY2hlZC4AmEVtaXRzIGBDbGFpbWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuVHNldF9yZXdhcmRfcGVyY2VudGFnZQwBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABFGxldmVsAQQBFExldmVsAAEccmV3YXJkcwUEATxGZWVEaXN0cmlidXRpb24ABCBwU2V0IGFzc2V0IHJld2FyZCBwZXJjZW50YWdlcwAsUGFyYW1ldGVyczpYLSBgYXNzZXRfaWRgOiBhc3NldCBpZEAtIGBsZXZlbGA6IGxldmVsjC0gYHJld2FyZHNgOiByZXdhcmQgZmVlIHBlcmNlbnRhZ2VzAMhFbWl0cyBgQXNzZXRSZXdhcmRzVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy79AwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAAEECEBwYWxsZXRfcmVmZXJyYWxzFExldmVsAAEYEE5vbmUAAAAUVGllcjAAAQAUVGllcjEAAgAUVGllcjIAAwAUVGllcjMABAAUVGllcjQABQAABQQIQHBhbGxldF9yZWZlcnJhbHM8RmVlRGlzdHJpYnV0aW9uAAAMASByZWZlcnJlckkDARxQZXJtaWxsAAEYdHJhZGVySQMBHFBlcm1pbGwAASBleHRlcm5hbEkDARxQZXJtaWxsAAAJBAxIcGFsbGV0X2xpcXVpZGF0aW9uGHBhbGxldBBDYWxsBARUAAEIJGxpcXVpZGF0ZRQBQGNvbGxhdGVyYWxfYXNzZXQQARxBc3NldElkAAEoZGVidF9hc3NldBABHEFzc2V0SWQAARB1c2VyVQEBKEV2bUFkZHJlc3MAATRkZWJ0X3RvX2NvdmVyGAEcQmFsYW5jZQABFHJvdXRlpQMBOFJvdXRlPEFzc2V0SWQ+AAA8tExpcXVpZGF0ZXMgYW4gZXhpc3RpbmcgbW9uZXkgbWFya2V0IHBvc2l0aW9uLgDcUGVyZm9ybXMgYSBmbGFzaCBsb2FuIHRvIGdldCBmdW5kcyB0byBwYXkgZm9yIHRoZSBkZWJ0LjkBUmVjZWl2ZWQgY29sbGF0ZXJhbCBpcyBzd2FwcGVkIGFuZCB0aGUgcHJvZml0IGlzIHRyYW5zZmVycmVkIHRvIGBGZWVSZWNlaXZlcmAuACxQYXJhbWV0ZXJzOmgtIGBvcmlnaW5gOiBTaWduZWQgb3JpZ2luLhUBLSBgY29sbGF0ZXJhbF9hc3NldGA6IEFzc2V0IElEIHVzZWQgYXMgY29sbGF0ZXJhbCBpbiB0aGUgTU0gcG9zaXRpb24u5C0gYGRlYnRfYXNzZXRgOiBBc3NldCBJRCB1c2VkIGFzIGRlYnQgaW4gdGhlIE1NIHBvc2l0aW9uLg0BLSBgdXNlcmA6IEVWTSBhZGRyZXNzIG9mIHRoZSBNTSBwb3NpdGlvbiB0aGF0IHdlIHdhbnQgdG8gbGlxdWlkYXRlLtwtIGBkZWJ0X3RvX2NvdmVyYDogQW1vdW50IG9mIGRlYnQgd2Ugd2FudCB0byBsaXF1aWRhdGUuIQEtIGByb3V0ZWA6IFRoZSByb3V0ZSB3ZSB0cmFkZSBhZ2FpbnN0LiBSZXF1aXJlZCBmb3IgdGhlIGZlZSBjYWxjdWxhdGlvbi4ApEVtaXRzIGBMaXF1aWRhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAFhzZXRfYm9ycm93aW5nX2NvbnRyYWN0BAEgY29udHJhY3RVAQEoRXZtQWRkcmVzcwABBKhTZXQgdGhlIGJvcnJvd2luZyBtYXJrZXQgY29udHJhY3QgYWRkcmVzcy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuDQQMLG9ybWxfdG9rZW5zGG1vZHVsZRBDYWxsBARUAAEUIHRyYW5zZmVyDAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50QQEBKFQ6OkJhbGFuY2UAADTUVHJhbnNmZXIgc29tZSBsaXF1aWQgZnJlZSBiYWxhbmNlIHRvIGFub3RoZXIgYWNjb3VudC4ABQFgdHJhbnNmZXJgIHdpbGwgc2V0IHRoZSBgRnJlZUJhbGFuY2VgIG9mIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyLuBJdCB3aWxsIGRlY3JlYXNlIHRoZSB0b3RhbCBpc3N1YW5jZSBvZiB0aGUgc3lzdGVtIGJ5IHRoZfxgVHJhbnNmZXJGZWVgLiBJZiB0aGUgc2VuZGVyJ3MgYWNjb3VudCBpcyBiZWxvdyB0aGUgZXhpc3RlbnRpYWwBAWRlcG9zaXQgYXMgYSByZXN1bHQgb2YgdGhlIHRyYW5zZmVyLCB0aGUgYWNjb3VudCB3aWxsIGJlIHJlYXBlZC4A5FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBTaWduZWRgIGJ5IHRoZSx0cmFuc2FjdG9yLgCgLSBgZGVzdGA6IFRoZSByZWNpcGllbnQgb2YgdGhlIHRyYW5zZmVyLnwtIGBjdXJyZW5jeV9pZGA6IGN1cnJlbmN5IHR5cGUurC0gYGFtb3VudGA6IGZyZWUgYmFsYW5jZSBhbW91bnQgdG8gdHJhbmZlci4wdHJhbnNmZXJfYWxsDAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEoa2VlcF9hbGl2ZSABEGJvb2wAAUzQVHJhbnNmZXIgYWxsIHJlbWFpbmluZyBiYWxhbmNlIHRvIHRoZSBnaXZlbiBhY2NvdW50LgDwTk9URTogVGhpcyBmdW5jdGlvbiBvbmx5IGF0dGVtcHRzIHRvIHRyYW5zZmVyIF90cmFuc2ZlcmFibGVf+GJhbGFuY2VzLiBUaGlzIG1lYW5zIHRoYXQgYW55IGxvY2tlZCwgcmVzZXJ2ZWQsIG9yIGV4aXN0ZW50aWFsCQFkZXBvc2l0cyAod2hlbiBga2VlcF9hbGl2ZWAgaXMgYHRydWVgKSwgd2lsbCBub3QgYmUgdHJhbnNmZXJyZWQgYnn8dGhpcyBmdW5jdGlvbi4gVG8gZW5zdXJlIHRoYXQgdGhpcyBmdW5jdGlvbiByZXN1bHRzIGluIGEga2lsbGVk+GFjY291bnQsIHlvdSBtaWdodCBuZWVkIHRvIHByZXBhcmUgdGhlIGFjY291bnQgYnkgcmVtb3ZpbmcgYW55sHJlZmVyZW5jZSBjb3VudGVycywgc3RvcmFnZSBkZXBvc2l0cywgZXRjLi4uAORUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgU2lnbmVkYCBieSB0aGUsdHJhbnNhY3Rvci4AoC0gYGRlc3RgOiBUaGUgcmVjaXBpZW50IG9mIHRoZSB0cmFuc2Zlci58LSBgY3VycmVuY3lfaWRgOiBjdXJyZW5jeSB0eXBlLvAtIGBrZWVwX2FsaXZlYDogQSBib29sZWFuIHRvIGRldGVybWluZSBpZiB0aGUgYHRyYW5zZmVyX2FsbGAFASAgb3BlcmF0aW9uIHNob3VsZCBzZW5kIGFsbCBvZiB0aGUgZnVuZHMgdGhlIGFjY291bnQgaGFzLCBjYXVzaW5nBQEgIHRoZSBzZW5kZXIgYWNjb3VudCB0byBiZSBraWxsZWQgKGZhbHNlKSwgb3IgdHJhbnNmZXIgZXZlcnl0aGluZwkBICBleGNlcHQgYXQgbGVhc3QgdGhlIGV4aXN0ZW50aWFsIGRlcG9zaXQsIHdoaWNoIHdpbGwgZ3VhcmFudGVlIHRvnCAga2VlcCB0aGUgc2VuZGVyIGFjY291bnQgYWxpdmUgKHRydWUpLkx0cmFuc2Zlcl9rZWVwX2FsaXZlDAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50QQEBKFQ6OkJhbGFuY2UAAiwFAVNhbWUgYXMgdGhlIFtgdHJhbnNmZXJgXSBjYWxsLCBidXQgd2l0aCBhIGNoZWNrIHRoYXQgdGhlIHRyYW5zZmVyhHdpbGwgbm90IGtpbGwgdGhlIG9yaWdpbiBhY2NvdW50LgC4OTklIG9mIHRoZSB0aW1lIHlvdSB3YW50IFtgdHJhbnNmZXJgXSBpbnN0ZWFkLgDkVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFNpZ25lZGAgYnkgdGhlLHRyYW5zYWN0b3IuAKAtIGBkZXN0YDogVGhlIHJlY2lwaWVudCBvZiB0aGUgdHJhbnNmZXIufC0gYGN1cnJlbmN5X2lkYDogY3VycmVuY3kgdHlwZS6sLSBgYW1vdW50YDogZnJlZSBiYWxhbmNlIGFtb3VudCB0byB0cmFuZmVyLjhmb3JjZV90cmFuc2ZlchABGHNvdXJjZQABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50QQEBKFQ6OkJhbGFuY2UAAyQRAUV4YWN0bHkgYXMgYHRyYW5zZmVyYCwgZXhjZXB0IHRoZSBvcmlnaW4gbXVzdCBiZSByb290IGFuZCB0aGUgc291cmNlZGFjY291bnQgbWF5IGJlIHNwZWNpZmllZC4AxFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9Sb290Xy4AnC0gYHNvdXJjZWA6IFRoZSBzZW5kZXIgb2YgdGhlIHRyYW5zZmVyLqAtIGBkZXN0YDogVGhlIHJlY2lwaWVudCBvZiB0aGUgdHJhbnNmZXIufC0gYGN1cnJlbmN5X2lkYDogY3VycmVuY3kgdHlwZS6sLSBgYW1vdW50YDogZnJlZSBiYWxhbmNlIGFtb3VudCB0byB0cmFuZmVyLixzZXRfYmFsYW5jZRABDHdobwABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEgbmV3X2ZyZWVBAQEoVDo6QmFsYW5jZQABMG5ld19yZXNlcnZlZEEBAShUOjpCYWxhbmNlAAQgkFNldCB0aGUgYmFsYW5jZXMgb2YgYSBnaXZlbiBhY2NvdW50LgAJAVRoaXMgd2lsbCBhbHRlciBgRnJlZUJhbGFuY2VgIGFuZCBgUmVzZXJ2ZWRCYWxhbmNlYCBpbiBzdG9yYWdlLiBpdMx3aWxsIGFsc28gZGVjcmVhc2UgdGhlIHRvdGFsIGlzc3VhbmNlIG9mIHRoZSBzeXN0ZW0NAShgVG90YWxJc3N1YW5jZWApLiBJZiB0aGUgbmV3IGZyZWUgb3IgcmVzZXJ2ZWQgYmFsYW5jZSBpcyBiZWxvdyB0aGXQZXhpc3RlbnRpYWwgZGVwb3NpdCwgaXQgd2lsbCByZWFwIHRoZSBgQWNjb3VudEluZm9gLgCwVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIGlzIGByb290YC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuEQQMRHBhbGxldF9jdXJyZW5jaWVzGG1vZHVsZRBDYWxsBARUAAEMIHRyYW5zZmVyDAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATxDdXJyZW5jeUlkT2Y8VD4AARhhbW91bnRBAQEwQmFsYW5jZU9mPFQ+AAAQ9FRyYW5zZmVyIHNvbWUgYmFsYW5jZSB0byBhbm90aGVyIGFjY291bnQgdW5kZXIgYGN1cnJlbmN5X2lkYC4A5FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBTaWduZWRgIGJ5IHRoZSx0cmFuc2FjdG9yLmB0cmFuc2Zlcl9uYXRpdmVfY3VycmVuY3kIARBkZXN0AAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAARhhbW91bnRBAQEwQmFsYW5jZU9mPFQ+AAEQxFRyYW5zZmVyIHNvbWUgbmF0aXZlIGN1cnJlbmN5IHRvIGFub3RoZXIgYWNjb3VudC4A5FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBTaWduZWRgIGJ5IHRoZSx0cmFuc2FjdG9yLjh1cGRhdGVfYmFsYW5jZQwBDHdobwABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEsY3VycmVuY3lfaWQQATxDdXJyZW5jeUlkT2Y8VD4AARhhbW91bnQVBAEsQW1vdW50T2Y8VD4AAgzMdXBkYXRlIGFtb3VudCBvZiBhY2NvdW50IGB3aG9gIHVuZGVyIGBjdXJyZW5jeV9pZGAuAMBUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgY2FsbCBtdXN0IGJlIF9Sb290Xy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuFQQAAAUNABkEDDBvcm1sX3Zlc3RpbmcYbW9kdWxlEENhbGwEBFQAARAUY2xhaW0AAAA8dmVzdGVkX3RyYW5zZmVyCAEQZGVzdAABjDxUOjpMb29rdXAgYXMgU3RhdGljTG9va3VwPjo6U291cmNlAAEgc2NoZWR1bGUdBAFQVmVzdGluZ1NjaGVkdWxlT2Y8VD4AAQBgdXBkYXRlX3Zlc3Rpbmdfc2NoZWR1bGVzCAEMd2hvAAGMPFQ6Okxvb2t1cCBhcyBTdGF0aWNMb29rdXA+OjpTb3VyY2UAAUR2ZXN0aW5nX3NjaGVkdWxlcyEEAWRWZWM8VmVzdGluZ1NjaGVkdWxlT2Y8VD4+AAIAJGNsYWltX2ZvcgQBEGRlc3QAAYw8VDo6TG9va3VwIGFzIFN0YXRpY0xvb2t1cD46OlNvdXJjZQADAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4dBAgwb3JtbF92ZXN0aW5nPFZlc3RpbmdTY2hlZHVsZQgsQmxvY2tOdW1iZXIBEBxCYWxhbmNlARgAEAEUc3RhcnQQASxCbG9ja051bWJlcgABGHBlcmlvZBABLEJsb2NrTnVtYmVyAAEwcGVyaW9kX2NvdW50EAEMdTMyAAEocGVyX3BlcmlvZEEBARxCYWxhbmNlAAAhBAAAAh0EACUEDChwYWxsZXRfZXZtGHBhbGxldBBDYWxsBARUAAEQIHdpdGhkcmF3CAEcYWRkcmVzc1UBARBIMTYwAAEUdmFsdWUYATBCYWxhbmNlT2Y8VD4AAATgV2l0aGRyYXcgYmFsYW5jZSBmcm9tIEVWTSBpbnRvIGN1cnJlbmN5L2JhbGFuY2VzIHBhbGxldC4QY2FsbCQBGHNvdXJjZVUBARBIMTYwAAEYdGFyZ2V0VQEBEEgxNjAAARRpbnB1dDgBHFZlYzx1OD4AARR2YWx1ZV0BARBVMjU2AAEkZ2FzX2xpbWl0MAEMdTY0AAE8bWF4X2ZlZV9wZXJfZ2FzXQEBEFUyNTYAAWBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMpBAEwT3B0aW9uPFUyNTY+AAEUbm9uY2UpBAEwT3B0aW9uPFUyNTY+AAEsYWNjZXNzX2xpc3QtBAFYVmVjPChIMTYwLCBWZWM8SDI1Nj4pPgABBF0BSXNzdWUgYW4gRVZNIGNhbGwgb3BlcmF0aW9uLiBUaGlzIGlzIHNpbWlsYXIgdG8gYSBtZXNzYWdlIGNhbGwgdHJhbnNhY3Rpb24gaW4gRXRoZXJldW0uGGNyZWF0ZSABGHNvdXJjZVUBARBIMTYwAAEQaW5pdDgBHFZlYzx1OD4AARR2YWx1ZV0BARBVMjU2AAEkZ2FzX2xpbWl0MAEMdTY0AAE8bWF4X2ZlZV9wZXJfZ2FzXQEBEFUyNTYAAWBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMpBAEwT3B0aW9uPFUyNTY+AAEUbm9uY2UpBAEwT3B0aW9uPFUyNTY+AAEsYWNjZXNzX2xpc3QtBAFYVmVjPChIMTYwLCBWZWM8SDI1Nj4pPgACCFEBSXNzdWUgYW4gRVZNIGNyZWF0ZSBvcGVyYXRpb24uIFRoaXMgaXMgc2ltaWxhciB0byBhIGNvbnRyYWN0IGNyZWF0aW9uIHRyYW5zYWN0aW9uIGluJEV0aGVyZXVtLhxjcmVhdGUyJAEYc291cmNlVQEBEEgxNjAAARBpbml0OAEcVmVjPHU4PgABEHNhbHQ0ARBIMjU2AAEUdmFsdWVdAQEQVTI1NgABJGdhc19saW1pdDABDHU2NAABPG1heF9mZWVfcGVyX2dhc10BARBVMjU2AAFgbWF4X3ByaW9yaXR5X2ZlZV9wZXJfZ2FzKQQBME9wdGlvbjxVMjU2PgABFG5vbmNlKQQBME9wdGlvbjxVMjU2PgABLGFjY2Vzc19saXN0LQQBWFZlYzwoSDE2MCwgVmVjPEgyNTY+KT4AAwR8SXNzdWUgYW4gRVZNIGNyZWF0ZTIgb3BlcmF0aW9uLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4pBAQYT3B0aW9uBARUAV0BAQgQTm9uZQAAABBTb21lBABdAQAAAQAALQQAAAIxBAAxBAAABAhVAeEBADUEDDxwYWxsZXRfZXRoZXJldW0YcGFsbGV0EENhbGwEBFQAAQQgdHJhbnNhY3QEASx0cmFuc2FjdGlvbjkEASxUcmFuc2FjdGlvbgAABIRUcmFuc2FjdCBhbiBFdGhlcmV1bSB0cmFuc2FjdGlvbi4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuOQQMIGV0aGVyZXVtLHRyYW5zYWN0aW9uNFRyYW5zYWN0aW9uVjIAAQwYTGVnYWN5BAA9BAFETGVnYWN5VHJhbnNhY3Rpb24AAAAcRUlQMjkzMAQATQQBSEVJUDI5MzBUcmFuc2FjdGlvbgABABxFSVAxNTU5BABZBAFIRUlQMTU1OVRyYW5zYWN0aW9uAAIAAD0EDCBldGhlcmV1bSx0cmFuc2FjdGlvbkRMZWdhY3lUcmFuc2FjdGlvbgAAHAEUbm9uY2VdAQEQVTI1NgABJGdhc19wcmljZV0BARBVMjU2AAEkZ2FzX2xpbWl0XQEBEFUyNTYAARhhY3Rpb25BBAFEVHJhbnNhY3Rpb25BY3Rpb24AARR2YWx1ZV0BARBVMjU2AAEUaW5wdXQ4ARRCeXRlcwABJHNpZ25hdHVyZUUEAVBUcmFuc2FjdGlvblNpZ25hdHVyZQAAQQQMIGV0aGVyZXVtLHRyYW5zYWN0aW9uRFRyYW5zYWN0aW9uQWN0aW9uAAEIEENhbGwEAFUBARBIMTYwAAAAGENyZWF0ZQABAABFBAwgZXRoZXJldW0sdHJhbnNhY3Rpb25QVHJhbnNhY3Rpb25TaWduYXR1cmUAAAwBBHZJBAFUVHJhbnNhY3Rpb25SZWNvdmVyeUlkAAEEcjQBEEgyNTYAAQRzNAEQSDI1NgAASQQMIGV0aGVyZXVtLHRyYW5zYWN0aW9uVFRyYW5zYWN0aW9uUmVjb3ZlcnlJZAAABAAwAQx1NjQAAE0EDCBldGhlcmV1bSx0cmFuc2FjdGlvbkhFSVAyOTMwVHJhbnNhY3Rpb24AACwBIGNoYWluX2lkMAEMdTY0AAEUbm9uY2VdAQEQVTI1NgABJGdhc19wcmljZV0BARBVMjU2AAEkZ2FzX2xpbWl0XQEBEFUyNTYAARhhY3Rpb25BBAFEVHJhbnNhY3Rpb25BY3Rpb24AARR2YWx1ZV0BARBVMjU2AAEUaW5wdXQ4ARRCeXRlcwABLGFjY2Vzc19saXN0UQQBKEFjY2Vzc0xpc3QAATBvZGRfeV9wYXJpdHkgARBib29sAAEEcjQBEEgyNTYAAQRzNAEQSDI1NgAAUQQAAAJVBABVBAwgZXRoZXJldW0sdHJhbnNhY3Rpb244QWNjZXNzTGlzdEl0ZW0AAAgBHGFkZHJlc3NVAQEcQWRkcmVzcwABMHN0b3JhZ2Vfa2V5c+EBASRWZWM8SDI1Nj4AAFkEDCBldGhlcmV1bSx0cmFuc2FjdGlvbkhFSVAxNTU5VHJhbnNhY3Rpb24AADABIGNoYWluX2lkMAEMdTY0AAEUbm9uY2VdAQEQVTI1NgABYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhc10BARBVMjU2AAE8bWF4X2ZlZV9wZXJfZ2FzXQEBEFUyNTYAASRnYXNfbGltaXRdAQEQVTI1NgABGGFjdGlvbkEEAURUcmFuc2FjdGlvbkFjdGlvbgABFHZhbHVlXQEBEFUyNTYAARRpbnB1dDgBFEJ5dGVzAAEsYWNjZXNzX2xpc3RRBAEoQWNjZXNzTGlzdAABMG9kZF95X3Bhcml0eSABEGJvb2wAAQRyNAEQSDI1NgABBHM0ARBIMjU2AABdBAxMcGFsbGV0X2V2bV9hY2NvdW50cxhwYWxsZXQQQ2FsbAQEVAABGEBiaW5kX2V2bV9hZGRyZXNzAAAspEJpbmRzIGEgU3Vic3RyYXRlIGFkZHJlc3MgdG8gRVZNIGFkZHJlc3MubQFBZnRlciBiaW5kaW5nLCB0aGUgRVZNIGlzIGFibGUgdG8gY29udmVydCBhbiBFVk0gYWRkcmVzcyB0byB0aGUgb3JpZ2luYWwgU3Vic3RyYXRlIGFkZHJlc3MurQFXaXRob3V0IGJpbmRpbmcsIHRoZSBFVk0gY29udmVydHMgYW4gRVZNIGFkZHJlc3MgdG8gYSB0cnVuY2F0ZWQgU3Vic3RyYXRlIGFkZHJlc3MsIHdoaWNoIGRvZXNuJ3QgY29ycmVzcG9uZFh0byB0aGUgb3JpZ2luIGFkZHJlc3MuAAUBQmluZGluZyBhbiBhZGRyZXNzIGlzIG5vdCBuZWNlc3NhcnkgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIEVWTS4ALFBhcmFtZXRlcnM6wC0gYG9yaWdpbmA6IFN1YnN0cmF0ZSBhY2NvdW50IGJpbmRpbmcgYW4gYWRkcmVzcwC4RW1pdHMgYEV2bUFjY291bnRCb3VuZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLlRhZGRfY29udHJhY3RfZGVwbG95ZXIEARxhZGRyZXNzVQEBKEV2bUFkZHJlc3MAARxhAUFkZHMgYW4gRVZNIGFkZHJlc3MgdG8gdGhlIGxpc3Qgb2YgYWRkcmVzc2VzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZGVwbG95IHNtYXJ0IGNvbnRyYWN0cy4ALFBhcmFtZXRlcnM6SQEtIGBvcmlnaW5gOiBTdWJzdHJhdGUgYWNjb3VudCB3aGl0ZWxpc3RpbmcgYW4gYWRkcmVzcy4gTXVzdCBiZSBgQ29udHJvbGxlck9yaWdpbmAusC0gYGFkZHJlc3NgOiBFVk0gYWRkcmVzcyB0aGF0IGlzIHdoaXRlbGlzdGVkALBFbWl0cyBgRGVwbG95ZXJBZGRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLmByZW1vdmVfY29udHJhY3RfZGVwbG95ZXIEARxhZGRyZXNzVQEBKEV2bUFkZHJlc3MAAhx1AVJlbW92ZXMgYW4gRVZNIGFkZHJlc3MgZnJvbSB0aGUgbGlzdCBvZiBhZGRyZXNzZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBkZXBsb3kgc21hcnQgY29udHJhY3RzLgAsUGFyYW1ldGVyczqZAS0gYG9yaWdpbmA6IFN1YnN0cmF0ZSBhY2NvdW50IHJlbW92aW5nIHRoZSBFVk0gYWRkcmVzcyBmcm9tIHRoZSB3aGl0ZWxpc3QuIE11c3QgYmUgYENvbnRyb2xsZXJPcmlnaW5gLuwtIGBhZGRyZXNzYDogRVZNIGFkZHJlc3MgdGhhdCBpcyByZW1vdmVkIGZyb20gdGhlIHdoaXRlbGlzdAC4RW1pdHMgYERlcGxveWVyUmVtb3ZlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLmhyZW5vdW5jZV9jb250cmFjdF9kZXBsb3llcgADHKEBUmVtb3ZlcyB0aGUgYWNjb3VudCdzIEVWTSBhZGRyZXNzIGZyb20gdGhlIGxpc3Qgb2YgYWRkcmVzc2VzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZGVwbG95IHNtYXJ0IGNvbnRyYWN0cy7ZAUJhc2VkIG9uIHRoZSBiZXN0IHByYWN0aWNlcywgdGhpcyBleHRyaW5zaWMgY2FuIGJlIGNhbGxlZCBieSBhbnkgd2hpdGVsaXN0ZWQgYWNjb3VudCB0byByZW5vdW5jZSB0aGVpciBvd24gcGVybWlzc2lvbi4ALFBhcmFtZXRlcnM6MQEtIGBvcmlnaW5gOiBTdWJzdHJhdGUgYWNjb3VudCByZW1vdmluZyB0aGVpciBFVk0gYWRkcmVzcyBmcm9tIHRoZSB3aGl0ZWxpc3QuALhFbWl0cyBgRGVwbG95ZXJSZW1vdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuQGFwcHJvdmVfY29udHJhY3QEARxhZGRyZXNzVQEBKEV2bUFkZHJlc3MABCRJAUFkZHMgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdG8gdGhlIGxpc3Qgb2YgYXBwcm92ZWQgY29udHJhY3RzIHRvIG1hbmFnZSBiYWxhbmNlcy4A/EVmZmVjdGl2ZWx5IGdpdmluZyBpdCBhbGxvd2FuY2UgdG8gZm9yIGFueSBiYWxhbmNlcyBhbmQgdG9rZW5zLgAsUGFyYW1ldGVyczqgLSBgb3JpZ2luYDogIE11c3QgYmUgYENvbnRyb2xsZXJPcmlnaW5gLswtIGBhZGRyZXNzYDogQ29udHJhY3QgYWRkcmVzcyB0aGF0IHdpbGwgYmUgYXBwcm92ZWQAvEVtaXRzIGBDb250cmFjdEFwcHJvdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuTGRpc2FwcHJvdmVfY29udHJhY3QEARxhZGRyZXNzVQEBKEV2bUFkZHJlc3MABRxdAVJlbW92ZXMgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgZnJvbSB0aGUgbGlzdCBvZiBhcHByb3ZlZCBjb250cmFjdHMgdG8gbWFuYWdlIGJhbGFuY2VzLgAsUGFyYW1ldGVyczqgLSBgb3JpZ2luYDogIE11c3QgYmUgYENvbnRyb2xsZXJPcmlnaW5gLtgtIGBhZGRyZXNzYDogQ29udHJhY3QgYWRkcmVzcyB0aGF0IHdpbGwgYmUgZGlzYXBwcm92ZWQAyEVtaXRzIGBDb250cmFjdERpc2FwcHJvdmVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLmEEDGxwYWxsZXRfeHlrX2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0EENhbGwEBFQAATxIY3JlYXRlX2dsb2JhbF9mYXJtJAE0dG90YWxfcmV3YXJkcxgBHEJhbGFuY2UAAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMQASxQZXJpb2RPZjxUPgABRGJsb2Nrc19wZXJfcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AAUhpbmNlbnRpdml6ZWRfYXNzZXQQARxBc3NldElkAAE8cmV3YXJkX2N1cnJlbmN5EAEcQXNzZXRJZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAFAeWllbGRfcGVyX3BlcmlvZGUDASxQZXJxdWludGlsbAABLG1pbl9kZXBvc2l0GAEcQmFsYW5jZQABQHByaWNlX2FkanVzdG1lbnRRAQEkRml4ZWRVMTI4AAB09ENyZWF0ZSBuZXcgbGlxdWlkaXR5IG1pbmluZyBwcm9ncmFtIHdpdGggcHJvdmlkZWQgcGFyYW1ldGVycy4APQFgb3duZXJgIGFjY291bnQgaGFzIHRvIGhhdmUgYXQgbGVhc3QgYHRvdGFsX3Jld2FyZHNgIGJhbGFuY2UuIFRoaXMgZnVuZCB3aWxsIGJlpHRyYW5zZmVycmVkIGZyb20gYG93bmVyYCB0byBmYXJtIGFjY291bnQuZQFJbiBjYXNlIG9mIGByZXdhcmRfY3VycmVuY3lgIGlzIGluc3VmZmljaWVudCBhc3NldCwgZmFybSdzIGBvd25lcmAgaGFzIHRvIHBheSBleGlzdGVudGlhbB0BZGVwb3NpdCBmb3IgZ2xvYmFsIGZhcm0gYWNjb3VudCBhbmQgZm9yIGxpcXVpZGl0eSBtaW5pbmcgYHBvdGAgYWNjb3VudC4A8FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBUOjpDcmVhdGVPcmlnaW5gLlUBISEhV0FSTjogYFQ6OkNyZWF0ZU9yaWdpbmAgaGFzIHBvd2VyIG92ZXIgZnVuZHMgb2YgYG93bmVyYCdzIGFjY291bnQgYW5kIGl0IHNob3VsZCBiZdBjb25maWd1cmVkIHRvIHRydXN0ZWQgb3JpZ2luIGUuZyBTdWRvIG9yIEdvdmVybmFuY2UuACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLjEBLSBgdG90YWxfcmV3YXJkc2A6IHRvdGFsIHJld2FyZHMgcGxhbm5lZCB0byBkaXN0cmlidXRlLiBUaGlzIHJld2FyZHMgd2lsbCBiZdxkaXN0cmlidXRlZCBiZXR3ZWVuIGFsbCB5aWVsZCBmYXJtcyBpbiB0aGUgZ2xvYmFsIGZhcm0uWQEtIGBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHNgOiBwbGFubmVkIG51bWJlciBvZiBwZXJpb2RzIHRvIGRpc3RyaWJ1dGUgYHRvdGFsX3Jld2FyZHNgLikBV0FSTjogVEhJUyBJUyBOT1QgSEFSRCBERUFETElORS4gTm90IGFsbCByZXdhcmRzIGhhdmUgdG8gYmUgZGlzdHJpYnV0ZWQgaW5dAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHNgLiBSZXdhcmRzIGFyZSBkaXN0cmlidXRlZCBiYXNlZCBvbiB0aGUgc2l0dWF0aW9uIGluIHRoZSB5aWVsZGEBZmFybXMgYW5kIGNhbiBiZSBkaXN0cmlidXRlZCBpbiBhIGxvbmdlciB0aW1lIGZyYW1lIGJ1dCBuZXZlciBpbiB0aGUgc2hvcnRlciB0aW1lIGZyYW1lLlkBLSBgYmxvY2tzX3Blcl9wZXJpb2RgOiAgbnVtYmVyIG9mIGJsb2NrcyBpbiBhIHNpbmdsZSBwZXJpb2QuIE1pbi4gbnVtYmVyIG9mIGJsb2NrcyBwZXIwcGVyaW9kIGlzIDEuZQEtIGBpbmNlbnRpdml6ZWRfYXNzZXRgOiBhc3NldCB0byBiZSBpbmNlbnRpdml6ZWQgaW4gWFlLIHBvb2xzLiBBbGwgeWllbGQgZmFybXMgYWRkZWQgaW50bxEBbGlxLiBtaW5pbmcgcHJvZ3JhbSBoYXZlIHRvIGhhdmUgYGluY2VudGl2aXplZF9hc3NldGAgaW4gdGhlaXIgcGFpci7ALSBgcmV3YXJkX2N1cnJlbmN5YDogcGF5b2ZmIGN1cnJlbmN5IG9mIHJld2FyZHMulC0gYG93bmVyYDogbGlxLiBtaW5pbmcgcHJvZ3JhbSBvd25lci45AS0gYHlpZWxkX3Blcl9wZXJpb2RgOiBwZXJjZW50YWdlIHJldHVybiBvbiBgcmV3YXJkX2N1cnJlbmN5YCBvZiBhbGwgZmFybXMgcC5hLgkBLSBgbWluX2RlcG9zaXRgOiBtaW5pbXVtIGFtb3VudCB3aGljaCBjYW4gYmUgZGVwb3NpdGVkIHRvIHRoZSBmYXJtVC0gYHByaWNlX2FkanVzdG1lbnRgOsBFbWl0cyBgR2xvYmFsRmFybUNyZWF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC5IdXBkYXRlX2dsb2JhbF9mYXJtCAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAUBwcmljZV9hZGp1c3RtZW50UQEBJEZpeGVkVTEyOAABKJxVcGRhdGUgZ2xvYmFsIGZhcm0ncyBwcmljZXMgYWRqdXN0bWVudC4AqE9ubHkgZmFybSdzIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci7MLSBgZ2xvYmFsX2Zhcm1faWRgOiBpZCBvZiB0aGUgZ2xvYmFsIGZhcm0gdG8gdXBkYXRl0C0gYHByaWNlX2FkanVzdG1lbnRgOiBuZXcgdmFsdWUgZm9yIHByaWNlIGFkanVzdG1lbnQAwEVtaXRzIGBHbG9iYWxGYXJtVXBkYXRlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLlR0ZXJtaW5hdGVfZ2xvYmFsX2Zhcm0EAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAACLJxUZXJtaW5hdGUgZXhpc3RpbmcgbGlxLiBtaW5pbmcgcHJvZ3JhbS4AoE9ubHkgZmFybSBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4A0QFXQVJOOiBUbyBzdWNjZXNzZnVsbHkgdGVybWluYXRlIGEgZmFybSwgZmFybSBoYXZlIHRvIGJlIGVtcHR5KGFsbCB5aWVsZCBmYXJtcyBpbiBoZSBnbG9iYWwgZmFybSBtdXN0IGJlIHRlcm1pbmF0ZWQpLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci7cLSBgZ2xvYmFsX2Zhcm1faWRgOiBpZCBvZiBnbG9iYWwgZmFybSB0byBiZSB0ZXJtaW5hdGVkLgDMRW1pdHMgYEdsb2JhbEZhcm1UZXJtaW5hdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuRGNyZWF0ZV95aWVsZF9mYXJtEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgABKG11bHRpcGxpZXJRAQE4RmFybU11bHRpcGxpZXIAATRsb3lhbHR5X2N1cnZlaQMBUE9wdGlvbjxMb3lhbHR5Q3VydmU+AANIvEFkZCB5aWVsZCBmYXJtIGZvciBnaXZlbiBgYXNzZXRfcGFpcmAgWFlLIHBvb2wuBCCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgBVAU9ubHkgWFlLcyB3aXRoIGBhc3NldF9wYWlyYCB3aXRoIGBpbmNlbnRpdml6ZWRfYXNzZXRgIGNhbiBiZSBhZGRlZCBpbnRvIHRoZSBmYXJtLiBYWUsVAXBvb2wgZm9yIGBhc3NldF9wYWlyYCBoYXMgdG8gZXhpc3QgdG8gc3VjY2Vzc2Z1bGx5IGNyZWF0ZSB5aWVsZCBmYXJtLiEBWWllbGQgZmFybSBmb3Igc2FtZSBgYXNzZXRfcGFpcmAgY2FuIGV4aXN0IG9ubHkgb25jZSBpbiB0aGUgZ2xvYmFsIGZhcm0uACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLgEBLSBgZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkIHRvIHdoaWNoIGEgeWllbGQgZmFybSB3aWxsIGJlIGFkZGVkLl0BLSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgeWllbGQgZmFybS4gTGlxLiBtaW5pbmcgd2lsbCBiZSBhbGxvd2VkIGZvciB0aGlzMQFgYXNzZXRfcGFpcmAgYW5kIG9uZSBvZiB0aGUgYXNzZXRzIGluIHRoZSBwYWlyIG11c3QgYmUgYGluY2VudGl2aXplZF9hc3NldGAumC0gYG11bHRpcGxpZXJgOiB5aWVsZCBmYXJtIG11bHRpcGxpZXIuXQEtIGBsb3lhbHR5X2N1cnZlYDogY3VydmUgdG8gY2FsY3VsYXRlIGxveWFsdHkgbXVsdGlwbGllciB0byBkaXN0cmlidXRlIHJld2FyZHMgdG8gdXNlcnPgd2l0aCB0aW1lIGluY2VudGl2ZS4gYE5vbmVgIG1lYW5zIG5vIGxveWFsdHkgbXVsdGlwbGllci4AvEVtaXRzIGBZaWVsZEZhcm1DcmVhdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuRHVwZGF0ZV95aWVsZF9mYXJtDAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgABKG11bHRpcGxpZXJRAQE4RmFybU11bHRpcGxpZXIABCx0VXBkYXRlIHlpZWxkIGZhcm0gbXVsdGlwbGllci4EIKBPbmx5IGZhcm0gb3duZXIgY2FuIHBlcmZvcm0gdGhpcyBhY3Rpb24uACxQYXJhbWV0ZXJzOoAtIGBvcmlnaW5gOiBnbG9iYWwgZmFybSdzIG93bmVyLh0BLSBgZ2xvYmFsX2Zhcm1faWRgOiBnbG9iYWwgZmFybSBpZCBpbiB3aGljaCB5aWVsZCBmYXJtIHdpbGwgYmUgdXBkYXRlZC4FAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0gaW4gZ2xvYmFsIGZhcm0uqC0gYG11bHRpcGxpZXJgOiBuZXcgeWllbGQgZmFybSBtdWx0aXBsaWVyLgC8RW1pdHMgYFlpZWxkRmFybVVwZGF0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC48c3RvcF95aWVsZF9mYXJtCAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgAFPKRTdG9wIGxpcS4gbWltaW5nIGZvciBzcGVjaWZpYyB5aWVsZCBmYXJtLgA1AVRoaXMgZnVuY3Rpb24gY2xhaW1zIHJld2FyZHMgZnJvbSBgR2xvYmFsRmFybWAgbGFzdCB0aW1lIGFuZCBzdG9wcyB5aWVsZCBmYXJtIQFpbmNlbnRpdml6YXRpb24gZnJvbSBhIGBHbG9iYWxGYXJtYC4gVXNlcnMgd2lsbCBiZSBhYmxlIHRvIG9ubHkgd2l0aGRyYXfIc2hhcmVzKHdpdGggY2xhaW1pbmcpIGFmdGVyIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi5BAWBkZXBvc2l0X3NoYXJlcygpYCBhbmQgYGNsYWltX3Jld2FyZHMoKWAgYXJlIG5vdCBhbGxvd2VkIG9uIGNhbmNlbGVkIHlpZWxkIGZhcm0uBCCgT25seSBmYXJtIG93bmVyIGNhbiBwZXJmb3JtIHRoaXMgYWN0aW9uLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4FAS0gYGdsb2JhbF9mYXJtX2lkYDogZmFybSBpZCBpbiB3aGljaCB5aWVsZCBmYXJtIHdpbGwgYmUgY2FuY2VsZWQu+C0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0gaW4gdGhlIGZhcm0uALxFbWl0cyBgWWllbGRGYXJtU3RvcHBlZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLkRyZXN1bWVfeWllbGRfZmFybRABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEoYXNzZXRfcGFpcmUEASRBc3NldFBhaXIAAShtdWx0aXBsaWVyUQEBOEZhcm1NdWx0aXBsaWVyAAZEpFJlc3VtZSB5aWVsZCBmYXJtIGZvciBzdG9wcGVkIHlpZWxkIGZhcm0uAFUBVGhpcyBmdW5jdGlvbiByZXN1bWUgaW5jZW50aXZpemF0aW9uIGZyb20gYEdsb2JhbEZhcm1gIGFuZCByZXN0b3JlIGZ1bGwgZnVuY3Rpb25hbGl0eSEBZm9yIHlpZWxkIGZhcm0uIFVzZXJzIHdpbGwgYmUgYWJsZSB0byBkZXBvc2l0LCBjbGFpbSBhbmQgd2l0aGRyYXcgYWdhaW4uAORXQVJOOiBZaWVsZCBmYXJtIGlzIE5PVCByZXdhcmRlZCBmb3IgdGltZSBpdCB3YXMgc3RvcHBlZC4AoE9ubHkgZmFybSBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4ALFBhcmFtZXRlcnM6gC0gYG9yaWdpbmA6IGdsb2JhbCBmYXJtJ3Mgb3duZXIuHQEtIGBnbG9iYWxfZmFybV9pZGA6IGdsb2JhbCBmYXJtIGlkIGluIHdoaWNoIHlpZWxkIGZhcm0gd2lsbCBiZSByZXN1bWVkLsgtIGB5aWVsZF9mYXJtX2lkYDogaWQgb2YgeWllbGQgZmFybSB0byBiZSByZXN1bWVkLgUBLSBgYXNzZXRfcGFpcmA6IGFzc2V0IHBhaXIgaWRlbnRpZnlpbmcgeWllbGQgZmFybSBpbiBnbG9iYWwgZmFybS7ILSBgbXVsdGlwbGllcmA6IHlpZWxkIGZhcm0gbXVsdGlwbGllciBpbiB0aGUgZmFybS4AvEVtaXRzIGBZaWVsZEZhcm1SZXN1bWVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuUHRlcm1pbmF0ZV95aWVsZF9mYXJtDAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgAHTERSZW1vdmUgeWllbGQgZmFybQCBAVRoaXMgZnVuY3Rpb24gbWFya3MgYSB5aWVsZCBmYXJtIGFzIHJlYWR5IHRvIGJlIHJlbW92ZWQgZnJvbSBzdG9yYWdlIHdoZW4gaXQncyBlbXB0eS4gVXNlcnMgd2lsbGUBYmUgYWJsZSB0byBvbmx5IHdpdGhkcmF3IHNoYXJlcyh3aXRob3V0IGNsYWltaW5nIHJld2FyZHMgZnJvbSB5aWVsZCBmYXJtKS4gVW5wYWlkIHJld2FyZHNxAXdpbGwgYmUgdHJhbnNmZXJyZWQgYmFjayB0byBnbG9iYWwgZmFybSBhbmQgd2lsbCBiZSB1c2VkIHRvIGRpc3RyaWJ1dGUgdG8gb3RoZXIgeWllbGQgZmFybXMuAOBZaWVsZCBmYXJtIG11c3QgYmUgc3RvcHBlZCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgBxAU9ubHkgZ2xvYmFsIGZhcm0ncyBvd25lciBjYW4gcGVyZm9ybSB0aGlzIGFjdGlvbi4gWWllbGQgZmFybSBzdGF5cyBpbiB0aGUgc3RvcmFnZSB1bnRpbCBpdCdzbQFlbXB0eShhbGwgZmFybSBlbnRyaWVzIGFyZSB3aXRoZHJhd24pLiBMYXN0IHdpdGhkcmF3biBmcm9tIHlpZWxkIGZhcm0gdHJpZ2dlciByZW1vdmluZyBmcm9tMHRoZSBzdG9yYWdlLgAsUGFyYW1ldGVyczqALSBgb3JpZ2luYDogZ2xvYmFsIGZhcm0ncyBvd25lci4dAS0gYGdsb2JhbF9mYXJtX2lkYDogZmFybSBpZCBmcm9tIHdoaWNoIHlpZWxkIGZhcm0gc2hvdWxkIGJlIHRlcm1pbmF0ZWQu1C0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB5aWVsZCBmYXJtIHRvIGJlIHRlcm1pbmF0ZWQuFQEtIGBhc3NldF9wYWlyYDogYXNzZXQgcGFpciBpZGVudGlmeWluZyB5aWVsZCBmYXJtIGluIHRoZSBnbG9iYWwgZmFybS4AyEVtaXRzIGBZaWVsZEZhcm1UZXJtaW5hdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuOGRlcG9zaXRfc2hhcmVzEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgABNHNoYXJlc19hbW91bnQYARxCYWxhbmNlAAg4jERlcG9zaXQgTFAgc2hhcmVzIHRvIGEgbGlxLiBtaW5pbmcuAFEBVGhpcyBmdW5jdGlvbiB0cmFuc2ZlcnMgTFAgc2hhcmVzIGZyb20gYG9yaWdpbmAgdG8gcGFsbGV0J3MgYWNjb3VudCBhbmQgbWludCBuZnQgZm9yDQFgb3JpZ2luYCBhY2NvdW50LiBNaW50ZWQgbmZ0IHJlcHJlc2VudHMgZGVwb3NpdCBpbiB0aGUgbGlxLiBtaW5pbmcuACxQYXJhbWV0ZXJzOi0BLSBgb3JpZ2luYDogYWNjb3VudCBkZXBvc2l0aW5nIExQIHNoYXJlcy4gVGhpcyBhY2NvdW50IGhhcyB0byBoYXZlIGF0IGxlYXN0dGBzaGFyZXNfYW1vdW50YCBvZiBMUCBzaGFyZXMuPQEtIGBnbG9iYWxfZmFybV9pZGA6IGlkIG9mIGdsb2JhbCBmYXJtIHRvIHdoaWNoIHVzZXIgd2FudHMgdG8gZGVwb3NpdCBMUCBzaGFyZXMuyC0gYHlpZWxkX2Zhcm1faWRgOiBpZCBvZiB5aWVsZCBmYXJtIHRvIGRlcG9zaXQgdG8uHQEtIGBhc3NldF9wYWlyYDogYXNzZXQgcGFpciBpZGVudGlmeWluZyBMUCBzaGFyZXMgdXNlciB3YW50cyB0byBkZXBvc2l0LvQtIGBzaGFyZXNfYW1vdW50YDogYW1vdW50IG9mIExQIHNoYXJlcyB1c2VyIHdhbnRzIHRvIGRlcG9zaXQuALhFbWl0cyBgU2hhcmVzRGVwb3NpdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuKGpvaW5fZmFybXMMATBmYXJtX2VudHJpZXNpBAERAUJvdW5kZWRWZWM8KEdsb2JhbEZhcm1JZCwgWWllbGRGYXJtSWQpLCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AAEoYXNzZXRfcGFpcmUEASRBc3NldFBhaXIAATRzaGFyZXNfYW1vdW50GAEcQmFsYW5jZQAMNLRKb2luIG11bHRpcGxlIGZhcm1zIHdpdGggYSBnaXZlbiBzaGFyZSBhbW91bnQA/FRoZSBzaGFyZSBpcyBkZXBvc2l0ZWQgdG8gdGhlIGZpcnN0IGZhcm0gb2YgdGhlIHNwZWNpZmllZCBmYW1zLNBhbmQgdGhlbiByZWRlcG9zaXQgdGhlIHNoYXJlcyB0byB0aGUgcmVtYWluaW5nIGZhcm1zACxQYXJhbWV0ZXJzOi0BLSBgb3JpZ2luYDogYWNjb3VudCBkZXBvc2l0aW5nIExQIHNoYXJlcy4gVGhpcyBhY2NvdW50IGhhcyB0byBoYXZlIGF0IGxlYXN0IQEtIGBmYXJtX2VudHJpZXNgOiBsaXN0IG9mIGdsb2JhbCBmYXJtIGlkIGFuZCB5aWVsZCBmYXJtIGlkIHBhaXJzIHRvIGpvaW4dAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIExQIHNoYXJlcyB1c2VyIHdhbnRzIHRvIGRlcG9zaXQu9C0gYHNoYXJlc19hbW91bnRgOiBhbW91bnQgb2YgTFAgc2hhcmVzIHVzZXIgd2FudHMgdG8gZGVwb3NpdC4A2EVtaXRzIGBTaGFyZXNEZXBvc2l0ZWRgIGV2ZW50IGZvciB0aGUgZmlyc3QgZmFybSBlbnRyeR0BRW1pdHMgYFNoYXJlc1JlZGVwb3NpdGVkYCBldmVudCBmb3IgZWFjaCBmYXJtIGVudHJ5IGFmdGVyIHRoZSBmaXJzdCBvbmVwYWRkX2xpcXVpZGl0eV9hbmRfam9pbl9mYXJtcxQBHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAASBhbW91bnRfYRgBHEJhbGFuY2UAAUhhbW91bnRfYl9tYXhfbGltaXQYARxCYWxhbmNlAAEwZmFybV9lbnRyaWVzaQQBEQFCb3VuZGVkVmVjPChHbG9iYWxGYXJtSWQsIFlpZWxkRmFybUlkKSwgVDo6TWF4RmFybUVudHJpZXNQZXJEZXBvc2l0PgANPC0BQWRkIGxpcXVpZGl0eSB0byBYWUsgcG9vbCBhbmQgam9pbiBtdWx0aXBsZSBmYXJtcyB3aXRoIGEgZ2l2ZW4gc2hhcmUgYW1vdW50AAkBVGhlIHNoYXJlIGlzIGRlcG9zaXRlZCB0byB0aGUgZmlyc3QgZmFybSBvZiB0aGUgc3BlY2lmaWVkIGVudHJpZXMs0GFuZCB0aGVuIHJlZGVwb3NpdCB0aGUgc2hhcmVzIHRvIHRoZSByZW1haW5pbmcgZmFybXMALFBhcmFtZXRlcnM6LQEtIGBvcmlnaW5gOiBhY2NvdW50IGRlcG9zaXRpbmcgTFAgc2hhcmVzLiBUaGlzIGFjY291bnQgaGFzIHRvIGhhdmUgYXQgbGVhc3TQLSBgYXNzZXRfYWA6IGFzc2V0IGlkIG9mIHRoZSBmaXJzdCBhc3NldCBpbiB0aGUgcGFpctQtIGBhc3NldF9iYDogYXNzZXQgaWQgb2YgdGhlIHNlY29uZCBhc3NldCBpbiB0aGUgcGFpcsgtIGBhbW91bnRfYWA6IGFtb3VudCBvZiB0aGUgZmlyc3QgYXNzZXQgdG8gZGVwb3NpdBUBLSBgYW1vdW50X2JfbWF4X2xpbWl0YDogbWF4aW11bSBhbW91bnQgb2YgdGhlIHNlY29uZCBhc3NldCB0byBkZXBvc2l0IQEtIGBmYXJtX2VudHJpZXNgOiBsaXN0IG9mIGdsb2JhbCBmYXJtIGlkIGFuZCB5aWVsZCBmYXJtIGlkIHBhaXJzIHRvIGpvaW4A2EVtaXRzIGBTaGFyZXNEZXBvc2l0ZWRgIGV2ZW50IGZvciB0aGUgZmlyc3QgZmFybSBlbnRyeR0BRW1pdHMgYFNoYXJlc1JlZGVwb3NpdGVkYCBldmVudCBmb3IgZWFjaCBmYXJtIGVudHJ5IGFmdGVyIHRoZSBmaXJzdCBvbmVAcmVkZXBvc2l0X3NoYXJlcxABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEoYXNzZXRfcGFpcmUEASRBc3NldFBhaXIAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAk85FJlZGVwb3NpdCBhbHJlYWR5IGxvY2tlZCBMUCBzaGFyZXMgdG8gYW5vdGhlciB5aWVsZCBmYXJtLgBlAVRoaXMgZnVuY3Rpb24gY3JlYXRlIHlpZWxkIGZhcm0gZW50cnkgZm9yIGV4aXN0aW5nIGRlcG9zaXQuIExQIHNoYXJlcyBhcmUgbm90IHRyYW5zZmVycmVk1GFuZCBhbW91bnQgb2YgTFAgc2hhcmVzIGlzIGJhc2VkIG9uIGV4aXN0aW5nIGRlcG9zaXQuAKRUaGlzIGZ1bmN0aW9uIERPRVNOJ1QgY3JlYXRlIG5ldyBkZXBvc2l0LgAsUGFyYW1ldGVyczoxAS0gYG9yaWdpbmA6IGFjY291bnQgZGVwb3NpdGluZyBMUCBzaGFyZXMuIFRoaXMgYWNjb3VudCBoYXZlIHRvIGhhdmUgYXQgbGVhc3SsLSBgZ2xvYmFsX2Zhcm1faWRgOiBnbG9iYWwgZmFybSBpZGVudGlmaWVyLuQtIGB5aWVsZF9mYXJtX2lkYDogeWllbGQgZmFybSBpZGVudGlmaWVyIHJlZGVwb3NpdGluZyB0by4ZAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIExQIHNoYXJlcyB1c2VyIHdhbnQgdG8gZGVwb3NpdC6oLSBgZGVwb3NpdF9pZGA6IGlkZW50aWZpZXIgb2YgdGhlIGRlcG9zaXQuAMBFbWl0cyBgU2hhcmVzUmVkZXBvc2l0ZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC40Y2xhaW1fcmV3YXJkcwgBKGRlcG9zaXRfaWQYASREZXBvc2l0SWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQACiwNAUNsYWltIHJld2FyZHMgZnJvbSBsaXEuIG1pbmluZyBmb3IgZGVwb3NpdCByZXByZXNlbnRlZCBieSBgbmZ0X2lkYC4AWQFUaGlzIGZ1bmN0aW9uIGNhbGN1bGF0ZSB1c2VyIHJld2FyZHMgZnJvbSBsaXEuIG1pbmluZyBhbmQgdHJhbnNmZXIgcmV3YXJkcyB0byBgb3JpZ2luYOhhY2NvdW50LiBDbGFpbWluZyBpbiB0aGUgc2FtZSBwZXJpb2QgaXMgYWxsb3dlZCBvbmx5IG9uY2UuACxQYXJhbWV0ZXJzOqgtIGBvcmlnaW5gOiBhY2NvdW50IG93bmVyIG9mIGRlcG9zaXQobmZ0KS74LSBgZGVwb3NpdF9pZGA6IG5mdCBpZCByZXByZXNlbnRpbmcgZGVwb3NpdCBpbiB0aGUgeWllbGQgZmFybS78LSBgeWllbGRfZmFybV9pZGA6IHlpZWxkIGZhcm0gaWRlbnRpZmllciB0byBjbGFpbSByZXdhcmRzIGZyb20uALBFbWl0cyBgUmV3YXJkQ2xhaW1lZGAgZXZlbnQgd2hlbiBzdWNjZXNzZnVsLjx3aXRoZHJhd19zaGFyZXMMAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEoYXNzZXRfcGFpcmUEASRBc3NldFBhaXIAC1gVAVdpdGhkcmF3IExQIHNoYXJlcyBmcm9tIGxpcS4gbWluaW5nIHdpdGggcmV3YXJkIGNsYWltaW5nIGlmIHBvc3NpYmxlLgAVAUxpc3Qgb2YgcG9zc2libGUgY2FzZXMgb2YgdHJhbnNmZXJzIG9mIExQIHNoYXJlcyBhbmQgY2xhaW1lZCByZXdhcmRzOgBRASogeWllbGQgZmFybSBpcyBhY3RpdmUoeWllbGQgZmFybSBpcyBub3Qgc3RvcHBlZCkgLSBjbGFpbSBhbmQgdHJhbnNmZXIgcmV3YXJkcyhpZiBpdNh3YXNuJ3QgY2xhaW1lZCBpbiB0aGlzIHBlcmlvZCkgYW5kIHRyYW5zZmVyIExQIHNoYXJlcy7sKiBsaXEuIG1pbmluZyBpcyBzdG9wcGVkIC0gY2xhaW0gYW5kIHRyYW5zZmVyIHJld2FyZHMoaWYgaXTYd2Fzbid0IGNsYWltZWQgaW4gdGhpcyBwZXJpb2QpIGFuZCB0cmFuc2ZlciBMUCBzaGFyZXMuBQEqIHlpZWxkIGZhcm0gd2FzIHRlcm1pbmF0ZWQgLSBvbmx5IExQIHNoYXJlcyB3aWxsIGJlIHRyYW5zZmVycmVkLuwqIGZhcm0gd2FzIHRlcm1pbmF0ZWQgLSBvbmx5IExQIHNoYXJlcyB3aWxsIGJlIHRyYW5zZmVycmVkLgA1AVVzZXIncyB1bmNsYWltYWJsZSByZXdhcmRzIHdpbGwgYmUgdHJhbnNmZXJyZWQgYmFjayB0byBnbG9iYWwgZmFybSdzIGFjY291bnQuACxQYXJhbWV0ZXJzOqgtIGBvcmlnaW5gOiBhY2NvdW50IG93bmVyIG9mIGRlcG9zaXQobmZ0KS74LSBgZGVwb3NpdF9pZGA6IG5mdCBpZCByZXByZXNlbnRpbmcgZGVwb3NpdCBpbiB0aGUgeWllbGQgZmFybS4FAS0gYHlpZWxkX2Zhcm1faWRgOiB5aWVsZCBmYXJtIGlkZW50aWZpZXIgdG8gZGl0aGRyYXcgc2hhcmVzIGZyb20uBQEtIGBhc3NldF9wYWlyYDogYXNzZXQgcGFpciBpZGVudGlmeWluZyB5aWVsZCBmYXJtIGluIGdsb2JhbCBmYXJtLgAYRW1pdHM6hCogYFJld2FyZENsYWltZWRgIGlmIGNsYWltIGhhcHBlbqQqIGBTaGFyZXNXaXRoZHJhd25gIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bChleGl0X2Zhcm1zDAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAABKGFzc2V0X3BhaXJlBAEkQXNzZXRQYWlyAAEwZmFybV9lbnRyaWVzbQQB0EJvdW5kZWRWZWM8WWllbGRGYXJtSWQsIFQ6Ok1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdD4ADkCMRXhpdCBmcm9tIGFsbCBzcGVjaWZpZWQgeWllbGQgZmFybXMAXQFUaGlzIGZ1bmN0aW9uIHdpbGwgYXR0ZW1wdCB0byB3aXRoZHJhdyBzaGFyZXMgYW5kIGNsYWltIHJld2FyZHMgKGlmIGF2YWlsYWJsZSkgZnJvbSBhbGyoc3BlY2lmaWVkIHlpZWxkIGZhcm1zIGZvciBhIGdpdmVuIGRlcG9zaXQuACxQYXJhbWV0ZXJzOqgtIGBvcmlnaW5gOiBhY2NvdW50IG93bmVyIG9mIGRlcG9zaXQobmZ0KS74LSBgZGVwb3NpdF9pZGA6IG5mdCBpZCByZXByZXNlbnRpbmcgZGVwb3NpdCBpbiB0aGUgeWllbGQgZmFybS4dAS0gYGFzc2V0X3BhaXJgOiBhc3NldCBwYWlyIGlkZW50aWZ5aW5nIHlpZWxkIGZhcm0ocykgaW4gZ2xvYmFsIGZhcm0ocyku2C0gYGZhcm1fZW50cmllc2A6IGlkKHMpIG9mIHlpZWxkIGZhcm0ocykgdG8gZXhpdCBmcm9tLgAYRW1pdHM6rCogYFJld2FyZENsYWltZWRgIGZvciBlYWNoIHN1Y2Nlc3NmdWwgY2xhaW3IKiBgU2hhcmVzV2l0aGRyYXduYCBmb3IgZWFjaCBzdWNjZXNzZnVsIHdpdGhkcmF3YWzYKiBgRGVwb3NpdERlc3Ryb3llZGAgaWYgdGhlIGRlcG9zaXQgaXMgZnVsbHkgd2l0aGRyYXduAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy5lBAwocGFsbGV0X3h5axR0eXBlcyRBc3NldFBhaXIAAAgBIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAAGkEDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBdQMEUwAABAB5AwEYVmVjPFQ+AABtBAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUARAEUwAABACBAwEYVmVjPFQ+AABxBAxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0EENhbGwIBFQABEkAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMudQQMWHBhbGxldF9yZWxheWNoYWluX2luZm8YcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMueQQMKHBhbGxldF9kY2EYcGFsbGV0EENhbGwEBFQAAQggc2NoZWR1bGUIASBzY2hlZHVsZX0EAdRTY2hlZHVsZTxUOjpBY2NvdW50SWQsIFQ6OkFzc2V0SWQsIEJsb2NrTnVtYmVyRm9yPFQ+PgABVHN0YXJ0X2V4ZWN1dGlvbl9ibG9ja20BAWRPcHRpb248QmxvY2tOdW1iZXJGb3I8VD4+AABkPQFDcmVhdGVzIGEgbmV3IERDQSAoRG9sbGFyLUNvc3QgQXZlcmFnaW5nKSBzY2hlZHVsZSBhbmQgcGxhbnMgdGhlIG5leHQgZXhlY3V0aW9uYGZvciB0aGUgc3BlY2lmaWVkIGJsb2NrLgAtAUlmIHRoZSBibG9jayBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZXhlY3V0aW9uIGlzIHBsYW5uZWQgZm9yIHRoZSBuZXh0IGJsb2NrLkkBSWYgdGhlIGdpdmVuIGJsb2NrIGlzIGZ1bGwsIHRoZSBleGVjdXRpb24gd2lsbCBiZSBwbGFubmVkIGluIHRoZSBzdWJzZXF1ZW50IGJsb2NrLgBRAU9uY2UgdGhlIHNjaGVkdWxlIGlzIGNyZWF0ZWQsIHRoZSBzcGVjaWZpZWQgYHRvdGFsX2Ftb3VudGAgd2lsbCBiZSByZXNlcnZlZCBmb3IgRENBLh0BVGhlIHJlc2VydmF0aW9uIGN1cnJlbmN5IHdpbGwgYmUgdGhlIGBhbW91bnRfaW5gIGN1cnJlbmN5IG9mIHRoZSBvcmRlci4A4FRyYWRlcyBhcmUgZXhlY3V0ZWQgYXMgbG9uZyBhcyB0aGVyZSBpcyBidWRnZXQgcmVtYWluaW5nTQFmcm9tIHRoZSBpbml0aWFsIGB0b3RhbF9hbW91bnRgIGFsbG9jYXRpb24sIHVubGVzcyBgdG90YWxfYW1vdW50YCBpcyAwLCB0aGVuIHRyYWRlc6hhcmUgZXhlY3V0ZWQgdW50aWwgc2NoZWR1bGUgaXMgdGVybWluYXRlZC4AVQFJZiBhIHRyYWRlIGZhaWxzIGR1ZSB0byBzbGlwcGFnZSBsaW1pdCBvciBwcmljZSBzdGFiaWxpdHkgZXJyb3JzLCBpdCB3aWxsIGJlIHJldHJpZWQu1ElmIHRoZSBudW1iZXIgb2YgcmV0cmllcyByZWFjaGVzIHRoZSBtYXhpbXVtIGFsbG93ZWQssHRoZSBzY2hlZHVsZSB3aWxsIGJlIHRlcm1pbmF0ZWQgcGVybWFuZW50bHku+EluIHRoZSBjYXNlIG9mIGEgc3VjY2Vzc2Z1bCB0cmFkZSwgdGhlIHJldHJ5IGNvdW50ZXIgaXMgcmVzZXQuACxQYXJhbWV0ZXJzOmgtIGBvcmlnaW5gOiBzY2hlZHVsZSBvd25lcngtIGBzY2hlZHVsZWA6IHNjaGVkdWxlIGRldGFpbHMpAS0gYHN0YXJ0X2V4ZWN1dGlvbl9ibG9ja2A6IGZpcnN0IHBvc3NpYmxlIGV4ZWN1dGlvbiBibG9jayBmb3IgdGhlIHNjaGVkdWxlAPxFbWl0cyBgU2NoZWR1bGVkYCBhbmQgYEV4ZWN1dGlvblBsYW5uZWRgIGV2ZW50IHdoZW4gc3VjY2Vzc2Z1bC4AJHRlcm1pbmF0ZQgBLHNjaGVkdWxlX2lkEAEoU2NoZWR1bGVJZAABUG5leHRfZXhlY3V0aW9uX2Jsb2NrbQEBZE9wdGlvbjxCbG9ja051bWJlckZvcjxUPj4AASwJAVRlcm1pbmF0ZXMgYSBEQ0Egc2NoZWR1bGUgYW5kIHJlbW92ZSBpdCBjb21wbGV0ZWx5IGZyb20gdGhlIGNoYWluLgBBAVRoaXMgY2FuIGJlIGNhbGxlZCBieSBib3RoIHNjaGVkdWxlIG93bmVyIG9yIHRoZSBjb25maWd1cmVkIGBUOjpUZXJtaW5hdGVPcmlnaW5gACxQYXJhbWV0ZXJzOmgtIGBvcmlnaW5gOiBzY2hlZHVsZSBvd25lcnAtIGBzY2hlZHVsZV9pZGA6IHNjaGVkdWxlIGlkFQEtIGBuZXh0X2V4ZWN1dGlvbl9ibG9ja2A6IGJsb2NrIG51bWJlciB3aGVyZSB0aGUgc2NoZWR1bGUgaXMgcGxhbm5lZC4ApEVtaXRzIGBUZXJtaW5hdGVkYCBldmVudCB3aGVuIHN1Y2Nlc3NmdWwuAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy59BAwocGFsbGV0X2RjYRR0eXBlcyBTY2hlZHVsZQwkQWNjb3VudElkAQAcQXNzZXRJZAEQLEJsb2NrTnVtYmVyARAAHAEUb3duZXIAASRBY2NvdW50SWQAARhwZXJpb2QQASxCbG9ja051bWJlcgABMHRvdGFsX2Ftb3VudBgBHEJhbGFuY2UAASxtYXhfcmV0cmllcxEDAShPcHRpb248dTg+AAFMc3RhYmlsaXR5X3RocmVzaG9sZIEEATxPcHRpb248UGVybWlsbD4AASBzbGlwcGFnZYEEATxPcHRpb248UGVybWlsbD4AARRvcmRlcoUEAThPcmRlcjxBc3NldElkPgAAgQQEGE9wdGlvbgQEVAFJAwEIEE5vbmUAAAAQU29tZQQASQMAAAEAAIUEDChwYWxsZXRfZGNhFHR5cGVzFE9yZGVyBBxBc3NldElkARABCBBTZWxsFAEgYXNzZXRfaW4QARxBc3NldElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAThtaW5fYW1vdW50X291dBgBHEJhbGFuY2UAARRyb3V0ZaUDAehCb3VuZGVkVmVjPFRyYWRlPEFzc2V0SWQ+LCBDb25zdFUzMjxNQVhfTlVNQkVSX09GX1RSQURFUz4+AAAADEJ1eRQBIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABNG1heF9hbW91bnRfaW4YARxCYWxhbmNlAAEUcm91dGWlAwHoQm91bmRlZFZlYzxUcmFkZTxBc3NldElkPiwgQ29uc3RVMzI8TUFYX05VTUJFUl9PRl9UUkFERVM+PgABAACJBAxAcGFsbGV0X3NjaGVkdWxlchhwYWxsZXQQQ2FsbAQEVAABKCBzY2hlZHVsZRABEHdoZW4QAURCbG9ja051bWJlckZvcjxUPgABOG1heWJlX3BlcmlvZGljnQMBrE9wdGlvbjxzY2hlZHVsZTo6UGVyaW9kPEJsb2NrTnVtYmVyRm9yPFQ+Pj4AASBwcmlvcml0eQgBSHNjaGVkdWxlOjpQcmlvcml0eQABEGNhbGwlAQF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgAABHBBbm9ueW1vdXNseSBzY2hlZHVsZSBhIHRhc2suGGNhbmNlbAgBEHdoZW4QAURCbG9ja051bWJlckZvcjxUPgABFGluZGV4EAEMdTMyAAEElENhbmNlbCBhbiBhbm9ueW1vdXNseSBzY2hlZHVsZWQgdGFzay44c2NoZWR1bGVfbmFtZWQUAQhpZAQBIFRhc2tOYW1lAAEQd2hlbhABREJsb2NrTnVtYmVyRm9yPFQ+AAE4bWF5YmVfcGVyaW9kaWOdAwGsT3B0aW9uPHNjaGVkdWxlOjpQZXJpb2Q8QmxvY2tOdW1iZXJGb3I8VD4+PgABIHByaW9yaXR5CAFIc2NoZWR1bGU6OlByaW9yaXR5AAEQY2FsbCUBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAIEWFNjaGVkdWxlIGEgbmFtZWQgdGFzay4wY2FuY2VsX25hbWVkBAEIaWQEASBUYXNrTmFtZQADBHhDYW5jZWwgYSBuYW1lZCBzY2hlZHVsZWQgdGFzay44c2NoZWR1bGVfYWZ0ZXIQARRhZnRlchABREJsb2NrTnVtYmVyRm9yPFQ+AAE4bWF5YmVfcGVyaW9kaWOdAwGsT3B0aW9uPHNjaGVkdWxlOjpQZXJpb2Q8QmxvY2tOdW1iZXJGb3I8VD4+PgABIHByaW9yaXR5CAFIc2NoZWR1bGU6OlByaW9yaXR5AAEQY2FsbCUBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAQEqEFub255bW91c2x5IHNjaGVkdWxlIGEgdGFzayBhZnRlciBhIGRlbGF5LlBzY2hlZHVsZV9uYW1lZF9hZnRlchQBCGlkBAEgVGFza05hbWUAARRhZnRlchABREJsb2NrTnVtYmVyRm9yPFQ+AAE4bWF5YmVfcGVyaW9kaWOdAwGsT3B0aW9uPHNjaGVkdWxlOjpQZXJpb2Q8QmxvY2tOdW1iZXJGb3I8VD4+PgABIHByaW9yaXR5CAFIc2NoZWR1bGU6OlByaW9yaXR5AAEQY2FsbCUBAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAUEkFNjaGVkdWxlIGEgbmFtZWQgdGFzayBhZnRlciBhIGRlbGF5LiRzZXRfcmV0cnkMARB0YXNrdQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgABHHJldHJpZXMIAQh1OAABGHBlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAYwWQFTZXQgYSByZXRyeSBjb25maWd1cmF0aW9uIGZvciBhIHRhc2sgc28gdGhhdCwgaW4gY2FzZSBpdHMgc2NoZWR1bGVkIHJ1biBmYWlscywgaXQgd2lsbFUBYmUgcmV0cmllZCBhZnRlciBgcGVyaW9kYCBibG9ja3MsIGZvciBhIHRvdGFsIGFtb3VudCBvZiBgcmV0cmllc2AgcmV0cmllcyBvciB1bnRpbCBpdCRzdWNjZWVkcy4AVQFUYXNrcyB3aGljaCBuZWVkIHRvIGJlIHNjaGVkdWxlZCBmb3IgYSByZXRyeSBhcmUgc3RpbGwgc3ViamVjdCB0byB3ZWlnaHQgbWV0ZXJpbmcgYW5kUQFhZ2VuZGEgc3BhY2UsIHNhbWUgYXMgYSByZWd1bGFyIHRhc2suIElmIGEgcGVyaW9kaWMgdGFzayBmYWlscywgaXQgd2lsbCBiZSBzY2hlZHVsZWSQbm9ybWFsbHkgd2hpbGUgdGhlIHRhc2sgaXMgcmV0cnlpbmcuAFEBVGFza3Mgc2NoZWR1bGVkIGFzIGEgcmVzdWx0IG9mIGEgcmV0cnkgZm9yIGEgcGVyaW9kaWMgdGFzayBhcmUgdW5uYW1lZCwgbm9uLXBlcmlvZGljPQFjbG9uZXMgb2YgdGhlIG9yaWdpbmFsIHRhc2suIFRoZWlyIHJldHJ5IGNvbmZpZ3VyYXRpb24gd2lsbCBiZSBkZXJpdmVkIGZyb20gdGhlTQFvcmlnaW5hbCB0YXNrJ3MgY29uZmlndXJhdGlvbiwgYnV0IHdpbGwgaGF2ZSBhIGxvd2VyIHZhbHVlIGZvciBgcmVtYWluaW5nYCB0aGFuIHRoZWRvcmlnaW5hbCBgdG90YWxfcmV0cmllc2AuPHNldF9yZXRyeV9uYW1lZAwBCGlkBAEgVGFza05hbWUAARxyZXRyaWVzCAEIdTgAARhwZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgAHMF0BU2V0IGEgcmV0cnkgY29uZmlndXJhdGlvbiBmb3IgYSBuYW1lZCB0YXNrIHNvIHRoYXQsIGluIGNhc2UgaXRzIHNjaGVkdWxlZCBydW4gZmFpbHMsIGl0XQF3aWxsIGJlIHJldHJpZWQgYWZ0ZXIgYHBlcmlvZGAgYmxvY2tzLCBmb3IgYSB0b3RhbCBhbW91bnQgb2YgYHJldHJpZXNgIHJldHJpZXMgb3IgdW50aWwwaXQgc3VjY2VlZHMuAFUBVGFza3Mgd2hpY2ggbmVlZCB0byBiZSBzY2hlZHVsZWQgZm9yIGEgcmV0cnkgYXJlIHN0aWxsIHN1YmplY3QgdG8gd2VpZ2h0IG1ldGVyaW5nIGFuZFEBYWdlbmRhIHNwYWNlLCBzYW1lIGFzIGEgcmVndWxhciB0YXNrLiBJZiBhIHBlcmlvZGljIHRhc2sgZmFpbHMsIGl0IHdpbGwgYmUgc2NoZWR1bGVkkG5vcm1hbGx5IHdoaWxlIHRoZSB0YXNrIGlzIHJldHJ5aW5nLgBRAVRhc2tzIHNjaGVkdWxlZCBhcyBhIHJlc3VsdCBvZiBhIHJldHJ5IGZvciBhIHBlcmlvZGljIHRhc2sgYXJlIHVubmFtZWQsIG5vbi1wZXJpb2RpYz0BY2xvbmVzIG9mIHRoZSBvcmlnaW5hbCB0YXNrLiBUaGVpciByZXRyeSBjb25maWd1cmF0aW9uIHdpbGwgYmUgZGVyaXZlZCBmcm9tIHRoZU0Bb3JpZ2luYWwgdGFzaydzIGNvbmZpZ3VyYXRpb24sIGJ1dCB3aWxsIGhhdmUgYSBsb3dlciB2YWx1ZSBmb3IgYHJlbWFpbmluZ2AgdGhhbiB0aGVkb3JpZ2luYWwgYHRvdGFsX3JldHJpZXNgLjBjYW5jZWxfcmV0cnkEARB0YXNrdQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgAIBKhSZW1vdmVzIHRoZSByZXRyeSBjb25maWd1cmF0aW9uIG9mIGEgdGFzay5IY2FuY2VsX3JldHJ5X25hbWVkBAEIaWQEASBUYXNrTmFtZQAJBLxDYW5jZWwgdGhlIHJldHJ5IGNvbmZpZ3VyYXRpb24gb2YgYSBuYW1lZCB0YXNrLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6NBAx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbRhwYWxsZXQQQ2FsbAQEVAABCExzZXRfdmFsaWRhdGlvbl9kYXRhBAEQZGF0YZEEAVRQYXJhY2hhaW5JbmhlcmVudERhdGEAACSAU2V0IHRoZSBjdXJyZW50IHZhbGlkYXRpb24gZGF0YS4AQQFUaGlzIHNob3VsZCBiZSBpbnZva2VkIGV4YWN0bHkgb25jZSBwZXIgYmxvY2suIEl0IHdpbGwgcGFuaWMgYXQgdGhlIGZpbmFsaXphdGlvbohwaGFzZSBpZiB0aGUgY2FsbCB3YXMgbm90IGludm9rZWQuANBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBgSW5oZXJlbnRgACEBQXMgYSBzaWRlIGVmZmVjdCwgdGhpcyBmdW5jdGlvbiB1cGdyYWRlcyB0aGUgY3VycmVudCB2YWxpZGF0aW9uIGZ1bmN0aW9uhGlmIHRoZSBhcHByb3ByaWF0ZSB0aW1lIGhhcyBjb21lLmBzdWRvX3NlbmRfdXB3YXJkX21lc3NhZ2UEARxtZXNzYWdlOAE0VXB3YXJkTWVzc2FnZQABAAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6RBAiUY3VtdWx1c19wcmltaXRpdmVzX3BhcmFjaGFpbl9pbmhlcmVudFRQYXJhY2hhaW5JbmhlcmVudERhdGEAABABPHZhbGlkYXRpb25fZGF0YZUEAVxQZXJzaXN0ZWRWYWxpZGF0aW9uRGF0YQABRHJlbGF5X2NoYWluX3N0YXRlnQQBVHNwX3RyaWU6OlN0b3JhZ2VQcm9vZgABRGRvd253YXJkX21lc3NhZ2VzpQQBbFZlYzxJbmJvdW5kRG93bndhcmRNZXNzYWdlPgABTGhvcml6b250YWxfbWVzc2FnZXOtBAGkQlRyZWVNYXA8UGFyYUlkLCBWZWM8SW5ib3VuZEhybXBNZXNzYWdlPj4AAJUEDExwb2xrYWRvdF9wcmltaXRpdmVzCHY4XFBlcnNpc3RlZFZhbGlkYXRpb25EYXRhCARIATQETgEQABABLHBhcmVudF9oZWFkmQQBIEhlYWREYXRhAAFMcmVsYXlfcGFyZW50X251bWJlchABBE4AAWRyZWxheV9wYXJlbnRfc3RvcmFnZV9yb290NAEESAABMG1heF9wb3Zfc2l6ZRABDHUzMgAAmQQMdHBvbGthZG90X3BhcmFjaGFpbl9wcmltaXRpdmVzKHByaW1pdGl2ZXMgSGVhZERhdGEAAAQAOAEcVmVjPHU4PgAAnQQMHHNwX3RyaWU0c3RvcmFnZV9wcm9vZjBTdG9yYWdlUHJvb2YAAAQBKHRyaWVfbm9kZXOhBAFEQlRyZWVTZXQ8VmVjPHU4Pj4AAKEEBCBCVHJlZVNldAQEVAE4AAQANQEAAAClBAAAAqkEAKkECGBwb2xrYWRvdF9jb3JlX3ByaW1pdGl2ZXNYSW5ib3VuZERvd253YXJkTWVzc2FnZQQsQmxvY2tOdW1iZXIBEAAIARxzZW50X2F0EAEsQmxvY2tOdW1iZXIAAQxtc2c4ATxEb3dud2FyZE1lc3NhZ2UAAK0EBCBCVHJlZU1hcAgESwHVAQRWAbEEAAQAuQQAAACxBAAAArUEALUECGBwb2xrYWRvdF9jb3JlX3ByaW1pdGl2ZXNISW5ib3VuZEhybXBNZXNzYWdlBCxCbG9ja051bWJlcgEQAAgBHHNlbnRfYXQQASxCbG9ja051bWJlcgABEGRhdGE4AUxhbGxvYzo6dmVjOjpWZWM8dTg+AAC5BAAAAr0EAL0EAAAECNUBsQQAwQQMWHN0YWdpbmdfcGFyYWNoYWluX2luZm8YcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuxQQMKHBhbGxldF94Y20YcGFsbGV0EENhbGwEBFQAATgQc2VuZAgBEGRlc3TJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABHG1lc3NhZ2XpBAFUQm94PFZlcnNpb25lZFhjbTwoKT4+AAAAPHRlbGVwb3J0X2Fzc2V0cxABEGRlc3TJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABLGJlbmVmaWNpYXJ5yQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARhhc3NldHPtBQFQQm94PFZlcnNpb25lZEFzc2V0cz4AAThmZWVfYXNzZXRfaXRlbRABDHUzMgABSBEBVGVsZXBvcnQgc29tZSBhc3NldHMgZnJvbSB0aGUgbG9jYWwgY2hhaW4gdG8gc29tZSBkZXN0aW5hdGlvbiBjaGFpbi4AHQEqKlRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZDogVXNlIGBsaW1pdGVkX3RlbGVwb3J0X2Fzc2V0c2AgaW5zdGVhZC4qKgBRAUZlZSBwYXltZW50IG9uIHRoZSBkZXN0aW5hdGlvbiBzaWRlIGlzIG1hZGUgZnJvbSB0aGUgYXNzZXQgaW4gdGhlIGBhc3NldHNgIHZlY3RvciBvZmEBaW5kZXggYGZlZV9hc3NldF9pdGVtYC4gVGhlIHdlaWdodCBsaW1pdCBmb3IgZmVlcyBpcyBub3QgcHJvdmlkZWQgYW5kIHRodXMgaXMgdW5saW1pdGVkLLR3aXRoIGFsbCBmZWVzIHRha2VuIGFzIG5lZWRlZCBmcm9tIHRoZSBhc3NldC4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLiUBLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBbUGFyZW50LGEBICBQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBbUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbVQgIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlaCAgZmVlIG9uIHRoZSBgZGVzdGAgY2hhaW4uTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuXHJlc2VydmVfdHJhbnNmZXJfYXNzZXRzEAEQZGVzdMkEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c+0FAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABOGZlZV9hc3NldF9pdGVtEAEMdTMyAAJ4XQFUcmFuc2ZlciBzb21lIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byB0aGUgZGVzdGluYXRpb24gY2hhaW4gdGhyb3VnaCB0aGVpciBsb2NhbCx4ZGVzdGluYXRpb24gb3IgcmVtb3RlIHJlc2VydmUuAD0BYGFzc2V0c2AgbXVzdCBoYXZlIHNhbWUgcmVzZXJ2ZSBsb2NhdGlvbiBhbmQgbWF5IG5vdCBiZSB0ZWxlcG9ydGFibGUgdG8gYGRlc3RgLk0BIC0gYGFzc2V0c2AgaGF2ZSBsb2NhbCByZXNlcnZlOiB0cmFuc2ZlciBhc3NldHMgdG8gc292ZXJlaWduIGFjY291bnQgb2YgZGVzdGluYXRpb25NASAgIGNoYWluIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkbCAgIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLlUBIC0gYGFzc2V0c2AgaGF2ZSBkZXN0aW5hdGlvbiByZXNlcnZlOiBidXJuIGxvY2FsIGFzc2V0cyBhbmQgZm9yd2FyZCBhIG5vdGlmaWNhdGlvbiB0b1kBICAgYGRlc3RgIGNoYWluIHRvIHdpdGhkcmF3IHRoZSByZXNlcnZlIGFzc2V0cyBmcm9tIHRoaXMgY2hhaW4ncyBzb3ZlcmVpZ24gYWNjb3VudCBhbmSEICAgZGVwb3NpdCB0aGVtIHRvIGBiZW5lZmljaWFyeWAuYQEgLSBgYXNzZXRzYCBoYXZlIHJlbW90ZSByZXNlcnZlOiBidXJuIGxvY2FsIGFzc2V0cywgZm9yd2FyZCBYQ00gdG8gcmVzZXJ2ZSBjaGFpbiB0byBtb3ZlYQEgICByZXNlcnZlcyBmcm9tIHRoaXMgY2hhaW4ncyBTQSB0byBgZGVzdGAgY2hhaW4ncyBTQSwgYW5kIGZvcndhcmQgYW5vdGhlciBYQ00gdG8gYGRlc3Rg9CAgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZCBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC4APQEqKlRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZDogVXNlIGBsaW1pdGVkX3Jlc2VydmVfdHJhbnNmZXJfYXNzZXRzYCBpbnN0ZWFkLioqAFEBRmVlIHBheW1lbnQgb24gdGhlIGRlc3RpbmF0aW9uIHNpZGUgaXMgbWFkZSBmcm9tIHRoZSBhc3NldCBpbiB0aGUgYGFzc2V0c2AgdmVjdG9yIG9mYQFpbmRleCBgZmVlX2Fzc2V0X2l0ZW1gLiBUaGUgd2VpZ2h0IGxpbWl0IGZvciBmZWVzIGlzIG5vdCBwcm92aWRlZCBhbmQgdGh1cyBpcyB1bmxpbWl0ZWQstHdpdGggYWxsIGZlZXMgdGFrZW4gYXMgbmVlZGVkIGZyb20gdGhlIGFzc2V0LgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uJQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFtQYXJlbnQsYQEgIFBhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFtQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tVCAgcmVsYXkgdG8gcGFyYWNoYWluLlUBLSBgYmVuZWZpY2lhcnlgOiBBIGJlbmVmaWNpYXJ5IGxvY2F0aW9uIGZvciB0aGUgYXNzZXRzIGluIHRoZSBjb250ZXh0IG9mIGBkZXN0YC4gV2lsbJggIGdlbmVyYWxseSBiZSBhbiBgQWNjb3VudElkMzJgIHZhbHVlLlkBLSBgYXNzZXRzYDogVGhlIGFzc2V0cyB0byBiZSB3aXRoZHJhd24uIFRoaXMgc2hvdWxkIGluY2x1ZGUgdGhlIGFzc2V0cyB1c2VkIHRvIHBheSB0aGXIICBmZWUgb24gdGhlIGBkZXN0YCAoYW5kIHBvc3NpYmx5IHJlc2VydmUpIGNoYWlucy5NAS0gYGZlZV9hc3NldF9pdGVtYDogVGhlIGluZGV4IGludG8gYGFzc2V0c2Agb2YgdGhlIGl0ZW0gd2hpY2ggc2hvdWxkIGJlIHVzZWQgdG8gcGF5HCAgZmVlcy4cZXhlY3V0ZQgBHG1lc3NhZ2XxBQG0Qm94PFZlcnNpb25lZFhjbTw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4+AAEobWF4X3dlaWdodCgBGFdlaWdodAADINBFeGVjdXRlIGFuIFhDTSBtZXNzYWdlIGZyb20gYSBsb2NhbCwgc2lnbmVkLCBvcmlnaW4uAE0BQW4gZXZlbnQgaXMgZGVwb3NpdGVkIGluZGljYXRpbmcgd2hldGhlciBgbXNnYCBjb3VsZCBiZSBleGVjdXRlZCBjb21wbGV0ZWx5IG9yIG9ubHkocGFydGlhbGx5LgBdAU5vIG1vcmUgdGhhbiBgbWF4X3dlaWdodGAgd2lsbCBiZSB1c2VkIGluIGl0cyBhdHRlbXB0ZWQgZXhlY3V0aW9uLiBJZiB0aGlzIGlzIGxlc3MgdGhhbkEBdGhlIG1heGltdW0gYW1vdW50IG9mIHdlaWdodCB0aGF0IHRoZSBtZXNzYWdlIGNvdWxkIHRha2UgdG8gYmUgZXhlY3V0ZWQsIHRoZW4gbm98ZXhlY3V0aW9uIGF0dGVtcHQgd2lsbCBiZSBtYWRlLkRmb3JjZV94Y21fdmVyc2lvbggBIGxvY2F0aW9ulQEBNEJveDxMb2NhdGlvbj4AARx2ZXJzaW9uEAEoWGNtVmVyc2lvbgAEGEkBRXh0b2xsIHRoYXQgYSBwYXJ0aWN1bGFyIGRlc3RpbmF0aW9uIGNhbiBiZSBjb21tdW5pY2F0ZWQgd2l0aCB0aHJvdWdoIGEgcGFydGljdWxhcjx2ZXJzaW9uIG9mIFhDTS4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi7YLSBgbG9jYXRpb25gOiBUaGUgZGVzdGluYXRpb24gdGhhdCBpcyBiZWluZyBkZXNjcmliZWQuEQEtIGB4Y21fdmVyc2lvbmA6IFRoZSBsYXRlc3QgdmVyc2lvbiBvZiBYQ00gdGhhdCBgbG9jYXRpb25gIHN1cHBvcnRzLmRmb3JjZV9kZWZhdWx0X3hjbV92ZXJzaW9uBAFEbWF5YmVfeGNtX3ZlcnNpb25tAQFIT3B0aW9uPFhjbVZlcnNpb24+AAUUWQFTZXQgYSBzYWZlIFhDTSB2ZXJzaW9uICh0aGUgdmVyc2lvbiB0aGF0IFhDTSBzaG91bGQgYmUgZW5jb2RlZCB3aXRoIGlmIHRoZSBtb3N0IHJlY2VudLR2ZXJzaW9uIGEgZGVzdGluYXRpb24gY2FuIGFjY2VwdCBpcyB1bmtub3duKS4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi45AS0gYG1heWJlX3hjbV92ZXJzaW9uYDogVGhlIGRlZmF1bHQgWENNIGVuY29kaW5nIHZlcnNpb24sIG9yIGBOb25lYCB0byBkaXNhYmxlLnhmb3JjZV9zdWJzY3JpYmVfdmVyc2lvbl9ub3RpZnkEASBsb2NhdGlvbskEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAYQOQFBc2sgYSBsb2NhdGlvbiB0byBub3RpZnkgdXMgcmVnYXJkaW5nIHRoZWlyIFhDTSB2ZXJzaW9uIGFuZCBhbnkgY2hhbmdlcyB0byBpdC4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi5ZAS0gYGxvY2F0aW9uYDogVGhlIGxvY2F0aW9uIHRvIHdoaWNoIHdlIHNob3VsZCBzdWJzY3JpYmUgZm9yIFhDTSB2ZXJzaW9uIG5vdGlmaWNhdGlvbnMugGZvcmNlX3Vuc3Vic2NyaWJlX3ZlcnNpb25fbm90aWZ5BAEgbG9jYXRpb27JBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgAHGEkBUmVxdWlyZSB0aGF0IGEgcGFydGljdWxhciBkZXN0aW5hdGlvbiBzaG91bGQgbm8gbG9uZ2VyIG5vdGlmeSB1cyByZWdhcmRpbmcgYW55IFhDTUB2ZXJzaW9uIGNoYW5nZXMuANwtIGBvcmlnaW5gOiBNdXN0IGJlIGFuIG9yaWdpbiBzcGVjaWZpZWQgYnkgQWRtaW5PcmlnaW4uPQEtIGBsb2NhdGlvbmA6IFRoZSBsb2NhdGlvbiB0byB3aGljaCB3ZSBhcmUgY3VycmVudGx5IHN1YnNjcmliZWQgZm9yIFhDTSB2ZXJzaW9uqCAgbm90aWZpY2F0aW9ucyB3aGljaCB3ZSBubyBsb25nZXIgZGVzaXJlLnxsaW1pdGVkX3Jlc2VydmVfdHJhbnNmZXJfYXNzZXRzFAEQZGVzdMkEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c+0FAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABOGZlZV9hc3NldF9pdGVtEAEMdTMyAAEwd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0AAh4XQFUcmFuc2ZlciBzb21lIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byB0aGUgZGVzdGluYXRpb24gY2hhaW4gdGhyb3VnaCB0aGVpciBsb2NhbCx4ZGVzdGluYXRpb24gb3IgcmVtb3RlIHJlc2VydmUuAD0BYGFzc2V0c2AgbXVzdCBoYXZlIHNhbWUgcmVzZXJ2ZSBsb2NhdGlvbiBhbmQgbWF5IG5vdCBiZSB0ZWxlcG9ydGFibGUgdG8gYGRlc3RgLk0BIC0gYGFzc2V0c2AgaGF2ZSBsb2NhbCByZXNlcnZlOiB0cmFuc2ZlciBhc3NldHMgdG8gc292ZXJlaWduIGFjY291bnQgb2YgZGVzdGluYXRpb25NASAgIGNoYWluIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkbCAgIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLlUBIC0gYGFzc2V0c2AgaGF2ZSBkZXN0aW5hdGlvbiByZXNlcnZlOiBidXJuIGxvY2FsIGFzc2V0cyBhbmQgZm9yd2FyZCBhIG5vdGlmaWNhdGlvbiB0b1kBICAgYGRlc3RgIGNoYWluIHRvIHdpdGhkcmF3IHRoZSByZXNlcnZlIGFzc2V0cyBmcm9tIHRoaXMgY2hhaW4ncyBzb3ZlcmVpZ24gYWNjb3VudCBhbmSEICAgZGVwb3NpdCB0aGVtIHRvIGBiZW5lZmljaWFyeWAuYQEgLSBgYXNzZXRzYCBoYXZlIHJlbW90ZSByZXNlcnZlOiBidXJuIGxvY2FsIGFzc2V0cywgZm9yd2FyZCBYQ00gdG8gcmVzZXJ2ZSBjaGFpbiB0byBtb3ZlYQEgICByZXNlcnZlcyBmcm9tIHRoaXMgY2hhaW4ncyBTQSB0byBgZGVzdGAgY2hhaW4ncyBTQSwgYW5kIGZvcndhcmQgYW5vdGhlciBYQ00gdG8gYGRlc3Rg9CAgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZCBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC4AUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2ZhAWluZGV4IGBmZWVfYXNzZXRfaXRlbWAsIHVwIHRvIGVub3VnaCB0byBwYXkgZm9yIGB3ZWlnaHRfbGltaXRgIG9mIHdlaWdodC4gSWYgbW9yZSB3ZWlnaHRZAWlzIG5lZWRlZCB0aGFuIGB3ZWlnaHRfbGltaXRgLCB0aGVuIHRoZSBvcGVyYXRpb24gd2lsbCBmYWlsIGFuZCB0aGUgc2VudCBhc3NldHMgbWF5IGJlIGF0IHJpc2suACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb21UICByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZcggIGZlZSBvbiB0aGUgYGRlc3RgIChhbmQgcG9zc2libHkgcmVzZXJ2ZSkgY2hhaW5zLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLkUBLSBgd2VpZ2h0X2xpbWl0YDogVGhlIHJlbW90ZS1zaWRlIHdlaWdodCBsaW1pdCwgaWYgYW55LCBmb3IgdGhlIFhDTSBmZWUgcHVyY2hhc2UuXGxpbWl0ZWRfdGVsZXBvcnRfYXNzZXRzFAEQZGVzdMkEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c+0FAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABOGZlZV9hc3NldF9pdGVtEAEMdTMyAAEwd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0AAlIEQFUZWxlcG9ydCBzb21lIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byBzb21lIGRlc3RpbmF0aW9uIGNoYWluLgBRAUZlZSBwYXltZW50IG9uIHRoZSBkZXN0aW5hdGlvbiBzaWRlIGlzIG1hZGUgZnJvbSB0aGUgYXNzZXQgaW4gdGhlIGBhc3NldHNgIHZlY3RvciBvZmEBaW5kZXggYGZlZV9hc3NldF9pdGVtYCwgdXAgdG8gZW5vdWdoIHRvIHBheSBmb3IgYHdlaWdodF9saW1pdGAgb2Ygd2VpZ2h0LiBJZiBtb3JlIHdlaWdodFkBaXMgbmVlZGVkIHRoYW4gYHdlaWdodF9saW1pdGAsIHRoZW4gdGhlIG9wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBzZW50IGFzc2V0cyBtYXkgYmUgYXQgcmlzay4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLiUBLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBbUGFyZW50LGEBICBQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBbUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbVQgIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlaCAgZmVlIG9uIHRoZSBgZGVzdGAgY2hhaW4uTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS5AZm9yY2Vfc3VzcGVuc2lvbgQBJHN1c3BlbmRlZCABEGJvb2wAChD0U2V0IG9yIHVuc2V0IHRoZSBnbG9iYWwgc3VzcGVuc2lvbiBzdGF0ZSBvZiB0aGUgWENNIGV4ZWN1dG9yLgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLtAtIGBzdXNwZW5kZWRgOiBgdHJ1ZWAgdG8gc3VzcGVuZCwgYGZhbHNlYCB0byByZXN1bWUuPHRyYW5zZmVyX2Fzc2V0cxQBEGRlc3TJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABLGJlbmVmaWNpYXJ5yQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARhhc3NldHPtBQFQQm94PFZlcnNpb25lZEFzc2V0cz4AAThmZWVfYXNzZXRfaXRlbRABDHUzMgABMHdlaWdodF9saW1pdJ0FASxXZWlnaHRMaW1pdAALhF0BVHJhbnNmZXIgc29tZSBhc3NldHMgZnJvbSB0aGUgbG9jYWwgY2hhaW4gdG8gdGhlIGRlc3RpbmF0aW9uIGNoYWluIHRocm91Z2ggdGhlaXIgbG9jYWws0GRlc3RpbmF0aW9uIG9yIHJlbW90ZSByZXNlcnZlLCBvciB0aHJvdWdoIHRlbGVwb3J0cy4AUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2Y1AWluZGV4IGBmZWVfYXNzZXRfaXRlbWAgKGhlbmNlIHJlZmVycmVkIHRvIGFzIGBmZWVzYCksIHVwIHRvIGVub3VnaCB0byBwYXkgZm9yQQFgd2VpZ2h0X2xpbWl0YCBvZiB3ZWlnaHQuIElmIG1vcmUgd2VpZ2h0IGlzIG5lZWRlZCB0aGFuIGB3ZWlnaHRfbGltaXRgLCB0aGVuIHRoZdxvcGVyYXRpb24gd2lsbCBmYWlsIGFuZCB0aGUgc2VudCBhc3NldHMgbWF5IGJlIGF0IHJpc2suAGEBYGFzc2V0c2AgKGV4Y2x1ZGluZyBgZmVlc2ApIG11c3QgaGF2ZSBzYW1lIHJlc2VydmUgbG9jYXRpb24gb3Igb3RoZXJ3aXNlIGJlIHRlbGVwb3J0YWJsZbB0byBgZGVzdGAsIG5vIGxpbWl0YXRpb25zIGltcG9zZWQgb24gYGZlZXNgLk0BIC0gZm9yIGxvY2FsIHJlc2VydmU6IHRyYW5zZmVyIGFzc2V0cyB0byBzb3ZlcmVpZ24gYWNjb3VudCBvZiBkZXN0aW5hdGlvbiBjaGFpbiBhbmRNASAgIGZvcndhcmQgYSBub3RpZmljYXRpb24gWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWQgYXNzZXRzIHRvRCAgIGBiZW5lZmljaWFyeWAuYQEgLSBmb3IgZGVzdGluYXRpb24gcmVzZXJ2ZTogYnVybiBsb2NhbCBhc3NldHMgYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gdG8gYGRlc3RgIGNoYWluWQEgICB0byB3aXRoZHJhdyB0aGUgcmVzZXJ2ZSBhc3NldHMgZnJvbSB0aGlzIGNoYWluJ3Mgc292ZXJlaWduIGFjY291bnQgYW5kIGRlcG9zaXQgdGhlbVAgICB0byBgYmVuZWZpY2lhcnlgLl0BIC0gZm9yIHJlbW90ZSByZXNlcnZlOiBidXJuIGxvY2FsIGFzc2V0cywgZm9yd2FyZCBYQ00gdG8gcmVzZXJ2ZSBjaGFpbiB0byBtb3ZlIHJlc2VydmVzXQEgICBmcm9tIHRoaXMgY2hhaW4ncyBTQSB0byBgZGVzdGAgY2hhaW4ncyBTQSwgYW5kIGZvcndhcmQgYW5vdGhlciBYQ00gdG8gYGRlc3RgIHRvIG1pbnTUICAgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZCBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC5RASAtIGZvciB0ZWxlcG9ydHM6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIFhDTSB0byBgZGVzdGAgY2hhaW4gdG8gbWludC90ZWxlcG9ydLAgICBhc3NldHMgYW5kIGRlcG9zaXQgdGhlbSB0byBgYmVuZWZpY2lhcnlgLgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uLQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFgyKFBhcmVudCxVASAgUGFyYWNoYWluKC4uKSlgIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgWDEoUGFyYWNoYWluKC4uKSlgIHRvIHNlbmRoICBmcm9tIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlyCAgZmVlIG9uIHRoZSBgZGVzdGAgKGFuZCBwb3NzaWJseSByZXNlcnZlKSBjaGFpbnMuTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS4wY2xhaW1fYXNzZXRzCAEYYXNzZXRz7QUBUEJveDxWZXJzaW9uZWRBc3NldHM+AAEsYmVuZWZpY2lhcnnJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgAMGFUBQ2xhaW1zIGFzc2V0cyB0cmFwcGVkIG9uIHRoaXMgcGFsbGV0IGJlY2F1c2Ugb2YgbGVmdG92ZXIgYXNzZXRzIGR1cmluZyBYQ00gZXhlY3V0aW9uLgCsLSBgb3JpZ2luYDogQW55b25lIGNhbiBjYWxsIHRoaXMgZXh0cmluc2ljLl0BLSBgYXNzZXRzYDogVGhlIGV4YWN0IGFzc2V0cyB0aGF0IHdlcmUgdHJhcHBlZC4gVXNlIHRoZSB2ZXJzaW9uIHRvIHNwZWNpZnkgd2hhdCB2ZXJzaW9umHdhcyB0aGUgbGF0ZXN0IHdoZW4gdGhleSB3ZXJlIHRyYXBwZWQuRQEtIGBiZW5lZmljaWFyeWA6IFRoZSBsb2NhdGlvbi9hY2NvdW50IHdoZXJlIHRoZSBjbGFpbWVkIGFzc2V0cyB3aWxsIGJlIGRlcG9zaXRlZC6MdHJhbnNmZXJfYXNzZXRzX3VzaW5nX3R5cGVfYW5kX3RoZW4cARBkZXN0yQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AARhhc3NldHPtBQFQQm94PFZlcnNpb25lZEFzc2V0cz4AAVBhc3NldHNfdHJhbnNmZXJfdHlwZR0GAURCb3g8VHJhbnNmZXJUeXBlPgABOHJlbW90ZV9mZWVzX2lkIQYBVEJveDxWZXJzaW9uZWRBc3NldElkPgABSGZlZXNfdHJhbnNmZXJfdHlwZR0GAURCb3g8VHJhbnNmZXJUeXBlPgABSGN1c3RvbV94Y21fb25fZGVzdOkEAVRCb3g8VmVyc2lvbmVkWGNtPCgpPj4AATB3ZWlnaHRfbGltaXSdBQEsV2VpZ2h0TGltaXQADcBVAVRyYW5zZmVyIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byB0aGUgZGVzdGluYXRpb24gY2hhaW4gdXNpbmcgZXhwbGljaXQgdHJhbnNmZXJodHlwZXMgZm9yIGFzc2V0cyBhbmQgZmVlcy4AWQFgYXNzZXRzYCBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIG9yIG1heSBiZSB0ZWxlcG9ydGFibGUgdG8gYGRlc3RgLiBDYWxsZXIgbXVzdOxwcm92aWRlIHRoZSBgYXNzZXRzX3RyYW5zZmVyX3R5cGVgIHRvIGJlIHVzZWQgZm9yIGBhc3NldHNgOlEBIC0gYFRyYW5zZmVyVHlwZTo6TG9jYWxSZXNlcnZlYDogdHJhbnNmZXIgYXNzZXRzIHRvIHNvdmVyZWlnbiBhY2NvdW50IG9mIGRlc3RpbmF0aW9uTQEgICBjaGFpbiBhbmQgZm9yd2FyZCBhIG5vdGlmaWNhdGlvbiBYQ00gdG8gYGRlc3RgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZGwgICBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC5ZASAtIGBUcmFuc2ZlclR5cGU6OkRlc3RpbmF0aW9uUmVzZXJ2ZWA6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvWQEgICBgZGVzdGAgY2hhaW4gdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZIQgICBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC5ZASAtIGBUcmFuc2ZlclR5cGU6OlJlbW90ZVJlc2VydmUocmVzZXJ2ZSlgOiBidXJuIGxvY2FsIGFzc2V0cywgZm9yd2FyZCBYQ00gdG8gYHJlc2VydmVgYQEgICBjaGFpbiB0byBtb3ZlIHJlc2VydmVzIGZyb20gdGhpcyBjaGFpbidzIFNBIHRvIGBkZXN0YCBjaGFpbidzIFNBLCBhbmQgZm9yd2FyZCBhbm90aGVyVQEgICBYQ00gdG8gYGRlc3RgIHRvIG1pbnQgYW5kIGRlcG9zaXQgcmVzZXJ2ZS1iYXNlZCBhc3NldHMgdG8gYGJlbmVmaWNpYXJ5YC4gVHlwaWNhbGx5lCAgIHRoZSByZW1vdGUgYHJlc2VydmVgIGlzIEFzc2V0IEh1Yi5FASAtIGBUcmFuc2ZlclR5cGU6OlRlbGVwb3J0YDogYnVybiBsb2NhbCBhc3NldHMgYW5kIGZvcndhcmQgWENNIHRvIGBkZXN0YCBjaGFpbiB0b+ggICBtaW50L3RlbGVwb3J0IGFzc2V0cyBhbmQgZGVwb3NpdCB0aGVtIHRvIGBiZW5lZmljaWFyeWAuAFUBT24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLCBhcyB3ZWxsIGFzIGFueSBpbnRlcm1lZGlhcnkgaG9wcywgYEJ1eUV4ZWN1dGlvbmAgaXMgdXNlZCB0byEBYnV5IGV4ZWN1dGlvbiB1c2luZyB0cmFuc2ZlcnJlZCBgYXNzZXRzYCBpZGVudGlmaWVkIGJ5IGByZW1vdGVfZmVlc19pZGAuWQFNYWtlIHN1cmUgZW5vdWdoIG9mIHRoZSBzcGVjaWZpZWQgYHJlbW90ZV9mZWVzX2lkYCBhc3NldCBpcyBpbmNsdWRlZCBpbiB0aGUgZ2l2ZW4gbGlzdGEBb2YgYGFzc2V0c2AuIGByZW1vdGVfZmVlc19pZGAgc2hvdWxkIGJlIGVub3VnaCB0byBwYXkgZm9yIGB3ZWlnaHRfbGltaXRgLiBJZiBtb3JlIHdlaWdodFkBaXMgbmVlZGVkIHRoYW4gYHdlaWdodF9saW1pdGAsIHRoZW4gdGhlIG9wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBzZW50IGFzc2V0cyBtYXkgYmUgYXQgcmlzay4ARQFgcmVtb3RlX2ZlZXNfaWRgIG1heSB1c2UgZGlmZmVyZW50IHRyYW5zZmVyIHR5cGUgdGhhbiByZXN0IG9mIGBhc3NldHNgIGFuZCBjYW4gYmWcc3BlY2lmaWVkIHRocm91Z2ggYGZlZXNfdHJhbnNmZXJfdHlwZWAuAGEBVGhlIGNhbGxlciBuZWVkcyB0byBzcGVjaWZ5IHdoYXQgc2hvdWxkIGhhcHBlbiB0byB0aGUgdHJhbnNmZXJyZWQgYXNzZXRzIG9uY2UgdGhleSByZWFjaEEBdGhlIGBkZXN0YCBjaGFpbi4gVGhpcyBpcyBkb25lIHRocm91Z2ggdGhlIGBjdXN0b21feGNtX29uX2Rlc3RgIHBhcmFtZXRlciwgd2hpY2j8Y29udGFpbnMgdGhlIGluc3RydWN0aW9ucyB0byBleGVjdXRlIG9uIGBkZXN0YCBhcyBhIGZpbmFsIHN0ZXAufCAgVGhpcyBpcyB1c3VhbGx5IGFzIHNpbXBsZSBhczpRASAgYFhjbSh2ZWMhW0RlcG9zaXRBc3NldCB7IGFzc2V0czogV2lsZChBbGxDb3VudGVkKGFzc2V0cy5sZW4oKSkpLCBiZW5lZmljaWFyeSB9XSlgLDEBICBidXQgY291bGQgYmUgc29tZXRoaW5nIG1vcmUgZXhvdGljIGxpa2Ugc2VuZGluZyB0aGUgYGFzc2V0c2AgZXZlbiBmdXJ0aGVyLgApAS0gYG9yaWdpbmA6IE11c3QgYmUgY2FwYWJsZSBvZiB3aXRoZHJhd2luZyB0aGUgYGFzc2V0c2AgYW5kIGV4ZWN1dGluZyBYQ00uJQEtIGBkZXN0YDogRGVzdGluYXRpb24gY29udGV4dCBmb3IgdGhlIGFzc2V0cy4gV2lsbCB0eXBpY2FsbHkgYmUgYFtQYXJlbnQsYQEgIFBhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFtQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tPQEgIHJlbGF5IHRvIHBhcmFjaGFpbiwgb3IgYChwYXJlbnRzOiAyLCAoR2xvYmFsQ29uc2Vuc3VzKC4uKSwgLi4pKWAgdG8gc2VuZCBmcm9t9CAgcGFyYWNoYWluIGFjcm9zcyBhIGJyaWRnZSB0byBhbm90aGVyIGVjb3N5c3RlbSBkZXN0aW5hdGlvbi5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlyCAgZmVlIG9uIHRoZSBgZGVzdGAgKGFuZCBwb3NzaWJseSByZXNlcnZlKSBjaGFpbnMuPQEtIGBhc3NldHNfdHJhbnNmZXJfdHlwZWA6IFRoZSBYQ00gYFRyYW5zZmVyVHlwZWAgdXNlZCB0byB0cmFuc2ZlciB0aGUgYGFzc2V0c2AuIQEtIGByZW1vdGVfZmVlc19pZGA6IE9uZSBvZiB0aGUgaW5jbHVkZWQgYGFzc2V0c2AgdG8gYmUgdXNlZCB0byBwYXkgZmVlcy5JAS0gYGZlZXNfdHJhbnNmZXJfdHlwZWA6IFRoZSBYQ00gYFRyYW5zZmVyVHlwZWAgdXNlZCB0byB0cmFuc2ZlciB0aGUgYGZlZXNgIGFzc2V0cy5ZAS0gYGN1c3RvbV94Y21fb25fZGVzdGA6IFRoZSBYQ00gdG8gYmUgZXhlY3V0ZWQgb24gYGRlc3RgIGNoYWluIGFzIHRoZSBsYXN0IHN0ZXAgb2YgdGhlWQEgIHRyYW5zZmVyLCB3aGljaCBhbHNvIGRldGVybWluZXMgd2hhdCBoYXBwZW5zIHRvIHRoZSBhc3NldHMgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLkUBLSBgd2VpZ2h0X2xpbWl0YDogVGhlIHJlbW90ZS1zaWRlIHdlaWdodCBsaW1pdCwgaWYgYW55LCBmb3IgdGhlIFhDTSBmZWUgcHVyY2hhc2UuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLskECAx4Y21EVmVyc2lvbmVkTG9jYXRpb24AAQwIVjIEAM0EAUR2Mjo6TXVsdGlMb2NhdGlvbgABAAhWMwQAHQMBRHYzOjpNdWx0aUxvY2F0aW9uAAMACFY0BACVAQEwdjQ6OkxvY2F0aW9uAAQAAM0EEAx4Y20IdjI0bXVsdGlsb2NhdGlvbjRNdWx0aUxvY2F0aW9uAAAIARxwYXJlbnRzCAEIdTgAASBpbnRlcmlvctEEASRKdW5jdGlvbnMAANEEEAx4Y20IdjI0bXVsdGlsb2NhdGlvbiRKdW5jdGlvbnMAASQQSGVyZQAAAAhYMQQA1QQBIEp1bmN0aW9uAAEACFgyCADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgACAAhYMwwA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgADAAhYNBAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAAQACFg1FADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAFAAhYNhgA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAGAAhYNxwA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAAcACFg4IADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAA1QQBIEp1bmN0aW9uAADVBAEgSnVuY3Rpb24AANUEASBKdW5jdGlvbgAIAADVBBAMeGNtCHYyIGp1bmN0aW9uIEp1bmN0aW9uAAEkJFBhcmFjaGFpbgQAaQEBDHUzMgAAACxBY2NvdW50SWQzMggBHG5ldHdvcmvZBAEkTmV0d29ya0lkAAEIaWQEASBbdTg7IDMyXQABADhBY2NvdW50SW5kZXg2NAgBHG5ldHdvcmvZBAEkTmV0d29ya0lkAAEUaW5kZXgsAQx1NjQAAgAwQWNjb3VudEtleTIwCAEcbmV0d29ya9kEASROZXR3b3JrSWQAAQxrZXlZAQEgW3U4OyAyMF0AAwA4UGFsbGV0SW5zdGFuY2UEAAgBCHU4AAQAMEdlbmVyYWxJbmRleAQAQQEBEHUxMjgABQAoR2VuZXJhbEtleQQA3QQBgFdlYWtCb3VuZGVkVmVjPHU4LCBDb25zdFUzMjwzMj4+AAYAJE9ubHlDaGlsZAAHACRQbHVyYWxpdHkIAQhpZOEEARhCb2R5SWQAARBwYXJ05QQBIEJvZHlQYXJ0AAgAANkEDAx4Y20IdjIkTmV0d29ya0lkAAEQDEFueQAAABROYW1lZAQA3QQBgFdlYWtCb3VuZGVkVmVjPHU4LCBDb25zdFUzMjwzMj4+AAEAIFBvbGthZG90AAIAGEt1c2FtYQADAADdBAxMYm91bmRlZF9jb2xsZWN0aW9uc0B3ZWFrX2JvdW5kZWRfdmVjOFdlYWtCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAOEEDAx4Y20IdjIYQm9keUlkAAEoEFVuaXQAAAAUTmFtZWQEAN0EAYBXZWFrQm91bmRlZFZlYzx1OCwgQ29uc3RVMzI8MzI+PgABABRJbmRleAQAaQEBDHUzMgACACRFeGVjdXRpdmUAAwAkVGVjaG5pY2FsAAQALExlZ2lzbGF0aXZlAAUAIEp1ZGljaWFsAAYAHERlZmVuc2UABwA4QWRtaW5pc3RyYXRpb24ACAAgVHJlYXN1cnkACQAA5QQMDHhjbQh2MiBCb2R5UGFydAABFBRWb2ljZQAAABxNZW1iZXJzBAEUY291bnRpAQEMdTMyAAEAIEZyYWN0aW9uCAEMbm9taQEBDHUzMgABFGRlbm9taQEBDHUzMgACAERBdExlYXN0UHJvcG9ydGlvbggBDG5vbWkBAQx1MzIAARRkZW5vbWkBAQx1MzIAAwBITW9yZVRoYW5Qcm9wb3J0aW9uCAEMbm9taQEBDHUzMgABFGRlbm9taQEBDHUzMgAEAADpBAgMeGNtMFZlcnNpb25lZFhjbQQsUnVudGltZUNhbGwAAQwIVjIEAO0EAVB2Mjo6WGNtPFJ1bnRpbWVDYWxsPgACAAhWMwQAOQUBUHYzOjpYY208UnVudGltZUNhbGw+AAMACFY0BAChBQFQdjQ6OlhjbTxSdW50aW1lQ2FsbD4ABAAA7QQMDHhjbQh2MgxYY20ELFJ1bnRpbWVDYWxsAAAEAPEEAXRWZWM8SW5zdHJ1Y3Rpb248UnVudGltZUNhbGw+PgAA8QQAAAL1BAD1BAwMeGNtCHYyLEluc3RydWN0aW9uBCxSdW50aW1lQ2FsbAABcDRXaXRoZHJhd0Fzc2V0BAD5BAEsTXVsdGlBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBAD5BAEsTXVsdGlBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQA+QQBLE11bHRpQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UMASBxdWVyeV9pZCwBHFF1ZXJ5SWQAASByZXNwb25zZREFASBSZXNwb25zZQABKG1heF93ZWlnaHQsAQx1NjQAAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c/kEASxNdWx0aUFzc2V0cwABLGJlbmVmaWNpYXJ5zQQBNE11bHRpTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHP5BAEsTXVsdGlBc3NldHMAARBkZXN0zQQBNE11bHRpTG9jYXRpb24AAQx4Y23tBAEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl90eXBlIQUBKE9yaWdpbktpbmQAAVhyZXF1aXJlX3dlaWdodF9hdF9tb3N0LAEMdTY0AAEQY2FsbCUFAWhEb3VibGVFbmNvZGVkPFJ1bnRpbWVDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyaQEBDHUzMgABQG1heF9tZXNzYWdlX3NpemVpAQEMdTMyAAEwbWF4X2NhcGFjaXR5aQEBDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50aQEBDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JpAQEMdTMyAAEYc2VuZGVyaQEBDHUzMgABJHJlY2lwaWVudGkBAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQA0QQBVEludGVyaW9yTXVsdGlMb2NhdGlvbgALACxSZXBvcnRFcnJvcgwBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABEGRlc3TNBAE0TXVsdGlMb2NhdGlvbgABTG1heF9yZXNwb25zZV93ZWlnaHQsAQx1NjQADAAwRGVwb3NpdEFzc2V0DAEYYXNzZXRzKQUBQE11bHRpQXNzZXRGaWx0ZXIAAShtYXhfYXNzZXRzaQEBDHUzMgABLGJlbmVmaWNpYXJ5zQQBNE11bHRpTG9jYXRpb24ADQBMRGVwb3NpdFJlc2VydmVBc3NldBABGGFzc2V0cykFAUBNdWx0aUFzc2V0RmlsdGVyAAEobWF4X2Fzc2V0c2kBAQx1MzIAARBkZXN0zQQBNE11bHRpTG9jYXRpb24AAQx4Y23tBAEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0CAEQZ2l2ZSkFAUBNdWx0aUFzc2V0RmlsdGVyAAEccmVjZWl2ZfkEASxNdWx0aUFzc2V0cwAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0cykFAUBNdWx0aUFzc2V0RmlsdGVyAAEccmVzZXJ2Zc0EATRNdWx0aUxvY2F0aW9uAAEMeGNt7QQBHFhjbTwoKT4AEABASW5pdGlhdGVUZWxlcG9ydAwBGGFzc2V0cykFAUBNdWx0aUFzc2V0RmlsdGVyAAEQZGVzdM0EATRNdWx0aUxvY2F0aW9uAAEMeGNt7QQBHFhjbTwoKT4AEQAwUXVlcnlIb2xkaW5nEAEgcXVlcnlfaWQsARxRdWVyeUlkAAEQZGVzdM0EATRNdWx0aUxvY2F0aW9uAAEYYXNzZXRzKQUBQE11bHRpQXNzZXRGaWx0ZXIAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0LAEMdTY0ABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXMBBQEoTXVsdGlBc3NldAABMHdlaWdodF9saW1pdDUFASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQA7QQBQFhjbTxSdW50aW1lQ2FsbD4AFQAsU2V0QXBwZW5kaXgEAO0EAUBYY208UnVudGltZUNhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0c/kEASxNdWx0aUFzc2V0cwABGHRpY2tldM0EATRNdWx0aUxvY2F0aW9uABgAEFRyYXAEACwBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWQsARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCwBDHU2NAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAA+QQQDHhjbQh2MihtdWx0aWFzc2V0LE11bHRpQXNzZXRzAAAEAP0EATxWZWM8TXVsdGlBc3NldD4AAP0EAAACAQUAAQUQDHhjbQh2MihtdWx0aWFzc2V0KE11bHRpQXNzZXQAAAgBCGlkBQUBHEFzc2V0SWQAAQxmdW4JBQEsRnVuZ2liaWxpdHkAAAUFEAx4Y20IdjIobXVsdGlhc3NldBxBc3NldElkAAEIIENvbmNyZXRlBADNBAE0TXVsdGlMb2NhdGlvbgAAACBBYnN0cmFjdAQAOAEcVmVjPHU4PgABAAAJBRAMeGNtCHYyKG11bHRpYXNzZXQsRnVuZ2liaWxpdHkAAQggRnVuZ2libGUEAEEBARB1MTI4AAAALE5vbkZ1bmdpYmxlBAANBQE0QXNzZXRJbnN0YW5jZQABAAANBRAMeGNtCHYyKG11bHRpYXNzZXQ0QXNzZXRJbnN0YW5jZQABHCRVbmRlZmluZWQAAAAUSW5kZXgEAEEBARB1MTI4AAEAGEFycmF5NAQASAEcW3U4OyA0XQACABhBcnJheTgEABUCARxbdTg7IDhdAAMAHEFycmF5MTYEADUCASBbdTg7IDE2XQAEABxBcnJheTMyBAAEASBbdTg7IDMyXQAFABBCbG9iBAA4ARxWZWM8dTg+AAYAABEFDAx4Y20IdjIgUmVzcG9uc2UAARAQTnVsbAAAABhBc3NldHMEAPkEASxNdWx0aUFzc2V0cwABADxFeGVjdXRpb25SZXN1bHQEABUFAVBPcHRpb248KHUzMiwgRXJyb3IpPgACABxWZXJzaW9uBAAQAThzdXBlcjo6VmVyc2lvbgADAAAVBQQYT3B0aW9uBARUARkFAQgQTm9uZQAAABBTb21lBAAZBQAAAQAAGQUAAAQIEB0FAB0FEAx4Y20IdjIYdHJhaXRzFEVycm9yAAFoIE92ZXJmbG93AAAANFVuaW1wbGVtZW50ZWQAAQBgVW50cnVzdGVkUmVzZXJ2ZUxvY2F0aW9uAAIAZFVudHJ1c3RlZFRlbGVwb3J0TG9jYXRpb24AAwBETXVsdGlMb2NhdGlvbkZ1bGwABABoTXVsdGlMb2NhdGlvbk5vdEludmVydGlibGUABQAkQmFkT3JpZ2luAAYAPEludmFsaWRMb2NhdGlvbgAHADRBc3NldE5vdEZvdW5kAAgAVEZhaWxlZFRvVHJhbnNhY3RBc3NldAAJADxOb3RXaXRoZHJhd2FibGUACgBITG9jYXRpb25DYW5ub3RIb2xkAAsAVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQAMAFhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAA0AJFRyYW5zcG9ydAAOAChVbnJvdXRhYmxlAA8AMFVua25vd25DbGFpbQAQADhGYWlsZWRUb0RlY29kZQARAEBNYXhXZWlnaHRJbnZhbGlkABIAOE5vdEhvbGRpbmdGZWVzABMAMFRvb0V4cGVuc2l2ZQAUABBUcmFwBAAwAQx1NjQAFQBMVW5oYW5kbGVkWGNtVmVyc2lvbgAWAEhXZWlnaHRMaW1pdFJlYWNoZWQEADABGFdlaWdodAAXABxCYXJyaWVyABgATFdlaWdodE5vdENvbXB1dGFibGUAGQAAIQUMDHhjbQh2MihPcmlnaW5LaW5kAAEQGE5hdGl2ZQAAAEBTb3ZlcmVpZ25BY2NvdW50AAEAJFN1cGVydXNlcgACAAxYY20AAwAAJQUMDHhjbThkb3VibGVfZW5jb2RlZDREb3VibGVFbmNvZGVkBARUAAAEARxlbmNvZGVkOAEcVmVjPHU4PgAAKQUQDHhjbQh2MihtdWx0aWFzc2V0QE11bHRpQXNzZXRGaWx0ZXIAAQggRGVmaW5pdGUEAPkEASxNdWx0aUFzc2V0cwAAABBXaWxkBAAtBQE4V2lsZE11bHRpQXNzZXQAAQAALQUQDHhjbQh2MihtdWx0aWFzc2V0OFdpbGRNdWx0aUFzc2V0AAEIDEFsbAAAABRBbGxPZggBCGlkBQUBHEFzc2V0SWQAAQxmdW4xBQE8V2lsZEZ1bmdpYmlsaXR5AAEAADEFEAx4Y20IdjIobXVsdGlhc3NldDxXaWxkRnVuZ2liaWxpdHkAAQggRnVuZ2libGUAAAAsTm9uRnVuZ2libGUAAQAANQUMDHhjbQh2MixXZWlnaHRMaW1pdAABCCRVbmxpbWl0ZWQAAAAcTGltaXRlZAQALAEMdTY0AAEAADkFDAx4Y20IdjMMWGNtBBBDYWxsAAAEAD0FAVhWZWM8SW5zdHJ1Y3Rpb248Q2FsbD4+AAA9BQAAAkEFAEEFDAx4Y20IdjMsSW5zdHJ1Y3Rpb24EEENhbGwAAcA0V2l0aGRyYXdBc3NldAQARQUBLE11bHRpQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQARQUBLE11bHRpQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAEUFASxNdWx0aUFzc2V0cwACADRRdWVyeVJlc3BvbnNlEAEgcXVlcnlfaWQsARxRdWVyeUlkAAEgcmVzcG9uc2VdBQEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0KAEYV2VpZ2h0AAEccXVlcmllcoUFAVRPcHRpb248TXVsdGlMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c0UFASxNdWx0aUFzc2V0cwABLGJlbmVmaWNpYXJ5HQMBNE11bHRpTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHNFBQEsTXVsdGlBc3NldHMAARBkZXN0HQMBNE11bHRpTG9jYXRpb24AAQx4Y205BQEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl9raW5kiQUBKE9yaWdpbktpbmQAAVhyZXF1aXJlX3dlaWdodF9hdF9tb3N0KAEYV2VpZ2h0AAEQY2FsbCUFAUxEb3VibGVFbmNvZGVkPENhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJpAQEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZWkBAQx1MzIAATBtYXhfY2FwYWNpdHlpAQEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRpAQEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvcmkBAQx1MzIAARhzZW5kZXJpAQEMdTMyAAEkcmVjaXBpZW50aQEBDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBAAhAwFUSW50ZXJpb3JNdWx0aUxvY2F0aW9uAAsALFJlcG9ydEVycm9yBACNBQFEUXVlcnlSZXNwb25zZUluZm8ADAAwRGVwb3NpdEFzc2V0CAEYYXNzZXRzkQUBQE11bHRpQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyeR0DATRNdWx0aUxvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHORBQFATXVsdGlBc3NldEZpbHRlcgABEGRlc3QdAwE0TXVsdGlMb2NhdGlvbgABDHhjbTkFARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQMARBnaXZlkQUBQE11bHRpQXNzZXRGaWx0ZXIAARB3YW50RQUBLE11bHRpQXNzZXRzAAEcbWF4aW1hbCABEGJvb2wADwBcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcMARhhc3NldHORBQFATXVsdGlBc3NldEZpbHRlcgABHHJlc2VydmUdAwE0TXVsdGlMb2NhdGlvbgABDHhjbTkFARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHORBQFATXVsdGlBc3NldEZpbHRlcgABEGRlc3QdAwE0TXVsdGlMb2NhdGlvbgABDHhjbTkFARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZvjQUBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRzkQUBQE11bHRpQXNzZXRGaWx0ZXIAEgAwQnV5RXhlY3V0aW9uCAEQZmVlc00FAShNdWx0aUFzc2V0AAEwd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBAA5BQEkWGNtPENhbGw+ABUALFNldEFwcGVuZGl4BAA5BQEkWGNtPENhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0c0UFASxNdWx0aUFzc2V0cwABGHRpY2tldB0DATRNdWx0aUxvY2F0aW9uABgAEFRyYXAEACwBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWQsARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCgBGFdlaWdodAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAkQnVybkFzc2V0BABFBQEsTXVsdGlBc3NldHMAHAAsRXhwZWN0QXNzZXQEAEUFASxNdWx0aUFzc2V0cwAdADBFeHBlY3RPcmlnaW4EAIUFAVRPcHRpb248TXVsdGlMb2NhdGlvbj4AHgAsRXhwZWN0RXJyb3IEAGEFAVBPcHRpb248KHUzMiwgRXJyb3IpPgAfAFBFeHBlY3RUcmFuc2FjdFN0YXR1cwQAfQUBOE1heWJlRXJyb3JDb2RlACAALFF1ZXJ5UGFsbGV0CAEsbW9kdWxlX25hbWU4ARxWZWM8dTg+AAE0cmVzcG9uc2VfaW5mb40FAURRdWVyeVJlc3BvbnNlSW5mbwAhADBFeHBlY3RQYWxsZXQUARRpbmRleGkBAQx1MzIAARBuYW1lOAEcVmVjPHU4PgABLG1vZHVsZV9uYW1lOAEcVmVjPHU4PgABLGNyYXRlX21ham9yaQEBDHUzMgABPG1pbl9jcmF0ZV9taW5vcmkBAQx1MzIAIgBQUmVwb3J0VHJhbnNhY3RTdGF0dXMEAI0FAURRdWVyeVJlc3BvbnNlSW5mbwAjAExDbGVhclRyYW5zYWN0U3RhdHVzACQAPFVuaXZlcnNhbE9yaWdpbgQAJQMBIEp1bmN0aW9uACUANEV4cG9ydE1lc3NhZ2UMARxuZXR3b3JrLQMBJE5ldHdvcmtJZAABLGRlc3RpbmF0aW9uIQMBVEludGVyaW9yTXVsdGlMb2NhdGlvbgABDHhjbTkFARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0TQUBKE11bHRpQXNzZXQAASB1bmxvY2tlch0DATRNdWx0aUxvY2F0aW9uACcALFVubG9ja0Fzc2V0CAEUYXNzZXRNBQEoTXVsdGlBc3NldAABGHRhcmdldB0DATRNdWx0aUxvY2F0aW9uACgAOE5vdGVVbmxvY2thYmxlCAEUYXNzZXRNBQEoTXVsdGlBc3NldAABFG93bmVyHQMBNE11bHRpTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0TQUBKE11bHRpQXNzZXQAARhsb2NrZXIdAwE0TXVsdGlMb2NhdGlvbgAqACxTZXRGZWVzTW9kZQQBMGppdF93aXRoZHJhdyABEGJvb2wAKwAgU2V0VG9waWMEAAQBIFt1ODsgMzJdACwAKENsZWFyVG9waWMALQAsQWxpYXNPcmlnaW4EAB0DATRNdWx0aUxvY2F0aW9uAC4APFVucGFpZEV4ZWN1dGlvbggBMHdlaWdodF9saW1pdJ0FASxXZWlnaHRMaW1pdAABMGNoZWNrX29yaWdpboUFAVRPcHRpb248TXVsdGlMb2NhdGlvbj4ALwAARQUQDHhjbQh2MyhtdWx0aWFzc2V0LE11bHRpQXNzZXRzAAAEAEkFATxWZWM8TXVsdGlBc3NldD4AAEkFAAACTQUATQUQDHhjbQh2MyhtdWx0aWFzc2V0KE11bHRpQXNzZXQAAAgBCGlkUQUBHEFzc2V0SWQAAQxmdW5VBQEsRnVuZ2liaWxpdHkAAFEFEAx4Y20IdjMobXVsdGlhc3NldBxBc3NldElkAAEIIENvbmNyZXRlBAAdAwE0TXVsdGlMb2NhdGlvbgAAACBBYnN0cmFjdAQABAEgW3U4OyAzMl0AAQAAVQUQDHhjbQh2MyhtdWx0aWFzc2V0LEZ1bmdpYmlsaXR5AAEIIEZ1bmdpYmxlBABBAQEQdTEyOAAAACxOb25GdW5naWJsZQQAWQUBNEFzc2V0SW5zdGFuY2UAAQAAWQUQDHhjbQh2MyhtdWx0aWFzc2V0NEFzc2V0SW5zdGFuY2UAARgkVW5kZWZpbmVkAAAAFEluZGV4BABBAQEQdTEyOAABABhBcnJheTQEAEgBHFt1ODsgNF0AAgAYQXJyYXk4BAAVAgEcW3U4OyA4XQADABxBcnJheTE2BAA1AgEgW3U4OyAxNl0ABAAcQXJyYXkzMgQABAEgW3U4OyAzMl0ABQAAXQUMDHhjbQh2MyBSZXNwb25zZQABGBBOdWxsAAAAGEFzc2V0cwQARQUBLE11bHRpQXNzZXRzAAEAPEV4ZWN1dGlvblJlc3VsdAQAYQUBUE9wdGlvbjwodTMyLCBFcnJvcik+AAIAHFZlcnNpb24EABABOHN1cGVyOjpWZXJzaW9uAAMALFBhbGxldHNJbmZvBABtBQGYQm91bmRlZFZlYzxQYWxsZXRJbmZvLCBNYXhQYWxsZXRzSW5mbz4ABAA4RGlzcGF0Y2hSZXN1bHQEAH0FAThNYXliZUVycm9yQ29kZQAFAABhBQQYT3B0aW9uBARUAWUFAQgQTm9uZQAAABBTb21lBABlBQAAAQAAZQUAAAQIEGkFAGkFEAx4Y20IdjMYdHJhaXRzFEVycm9yAAGgIE92ZXJmbG93AAAANFVuaW1wbGVtZW50ZWQAAQBgVW50cnVzdGVkUmVzZXJ2ZUxvY2F0aW9uAAIAZFVudHJ1c3RlZFRlbGVwb3J0TG9jYXRpb24AAwAwTG9jYXRpb25GdWxsAAQAVExvY2F0aW9uTm90SW52ZXJ0aWJsZQAFACRCYWRPcmlnaW4ABgA8SW52YWxpZExvY2F0aW9uAAcANEFzc2V0Tm90Rm91bmQACABURmFpbGVkVG9UcmFuc2FjdEFzc2V0AAkAPE5vdFdpdGhkcmF3YWJsZQAKAEhMb2NhdGlvbkNhbm5vdEhvbGQACwBURXhjZWVkc01heE1lc3NhZ2VTaXplAAwAWERlc3RpbmF0aW9uVW5zdXBwb3J0ZWQADQAkVHJhbnNwb3J0AA4AKFVucm91dGFibGUADwAwVW5rbm93bkNsYWltABAAOEZhaWxlZFRvRGVjb2RlABEAQE1heFdlaWdodEludmFsaWQAEgA4Tm90SG9sZGluZ0ZlZXMAEwAwVG9vRXhwZW5zaXZlABQAEFRyYXAEADABDHU2NAAVAEBFeHBlY3RhdGlvbkZhbHNlABYAOFBhbGxldE5vdEZvdW5kABcAME5hbWVNaXNtYXRjaAAYAExWZXJzaW9uSW5jb21wYXRpYmxlABkAUEhvbGRpbmdXb3VsZE92ZXJmbG93ABoALEV4cG9ydEVycm9yABsAOFJlYW5jaG9yRmFpbGVkABwAGE5vRGVhbAAdAChGZWVzTm90TWV0AB4AJExvY2tFcnJvcgAfADBOb1Blcm1pc3Npb24AIAAoVW5hbmNob3JlZAAhADhOb3REZXBvc2l0YWJsZQAiAExVbmhhbmRsZWRYY21WZXJzaW9uACMASFdlaWdodExpbWl0UmVhY2hlZAQAKAEYV2VpZ2h0ACQAHEJhcnJpZXIAJQBMV2VpZ2h0Tm90Q29tcHV0YWJsZQAmAERFeGNlZWRzU3RhY2tMaW1pdAAnAABtBQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAXEFBFMAAAQAeQUBGFZlYzxUPgAAcQUMDHhjbQh2MyhQYWxsZXRJbmZvAAAYARRpbmRleGkBAQx1MzIAARBuYW1ldQUBgEJvdW5kZWRWZWM8dTgsIE1heFBhbGxldE5hbWVMZW4+AAEsbW9kdWxlX25hbWV1BQGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AARRtYWpvcmkBAQx1MzIAARRtaW5vcmkBAQx1MzIAARRwYXRjaGkBAQx1MzIAAHUFDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAeQUAAAJxBQB9BQwMeGNtCHYzOE1heWJlRXJyb3JDb2RlAAEMHFN1Y2Nlc3MAAAAURXJyb3IEAIEFAYxCb3VuZGVkVmVjPHU4LCBNYXhEaXNwYXRjaEVycm9yTGVuPgABADhUcnVuY2F0ZWRFcnJvcgQAgQUBjEJvdW5kZWRWZWM8dTgsIE1heERpc3BhdGNoRXJyb3JMZW4+AAIAAIEFDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAhQUEGE9wdGlvbgQEVAEdAwEIEE5vbmUAAAAQU29tZQQAHQMAAAEAAIkFDAx4Y20IdjMoT3JpZ2luS2luZAABEBhOYXRpdmUAAABAU292ZXJlaWduQWNjb3VudAABACRTdXBlcnVzZXIAAgAMWGNtAAMAAI0FDAx4Y20IdjNEUXVlcnlSZXNwb25zZUluZm8AAAwBLGRlc3RpbmF0aW9uHQMBNE11bHRpTG9jYXRpb24AASBxdWVyeV9pZCwBHFF1ZXJ5SWQAAShtYXhfd2VpZ2h0KAEYV2VpZ2h0AACRBRAMeGNtCHYzKG11bHRpYXNzZXRATXVsdGlBc3NldEZpbHRlcgABCCBEZWZpbml0ZQQARQUBLE11bHRpQXNzZXRzAAAAEFdpbGQEAJUFAThXaWxkTXVsdGlBc3NldAABAACVBRAMeGNtCHYzKG11bHRpYXNzZXQ4V2lsZE11bHRpQXNzZXQAARAMQWxsAAAAFEFsbE9mCAEIaWRRBQEcQXNzZXRJZAABDGZ1bpkFATxXaWxkRnVuZ2liaWxpdHkAAQAoQWxsQ291bnRlZAQAaQEBDHUzMgACADBBbGxPZkNvdW50ZWQMAQhpZFEFARxBc3NldElkAAEMZnVumQUBPFdpbGRGdW5naWJpbGl0eQABFGNvdW50aQEBDHUzMgADAACZBRAMeGNtCHYzKG11bHRpYXNzZXQ8V2lsZEZ1bmdpYmlsaXR5AAEIIEZ1bmdpYmxlAAAALE5vbkZ1bmdpYmxlAAEAAJ0FDAx4Y20IdjMsV2VpZ2h0TGltaXQAAQgkVW5saW1pdGVkAAAAHExpbWl0ZWQEACgBGFdlaWdodAABAAChBQwsc3RhZ2luZ194Y20IdjQMWGNtBBBDYWxsAAAEAKUFAVhWZWM8SW5zdHJ1Y3Rpb248Q2FsbD4+AAClBQAAAqkFAKkFDCxzdGFnaW5nX3hjbQh2NCxJbnN0cnVjdGlvbgQQQ2FsbAABwDRXaXRoZHJhd0Fzc2V0BACtBQEYQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQArQUBGEFzc2V0cwABAFhSZWNlaXZlVGVsZXBvcnRlZEFzc2V0BACtBQEYQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UQASBxdWVyeV9pZCwBHFF1ZXJ5SWQAASByZXNwb25zZcUFASBSZXNwb25zZQABKG1heF93ZWlnaHQoARhXZWlnaHQAARxxdWVyaWVy2QUBQE9wdGlvbjxMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c60FARhBc3NldHMAASxiZW5lZmljaWFyeZUBASBMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c60FARhBc3NldHMAARBkZXN0lQEBIExvY2F0aW9uAAEMeGNtoQUBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZIkFAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdCgBGFdlaWdodAABEGNhbGwlBQFMRG91YmxlRW5jb2RlZDxDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyaQEBDHUzMgABQG1heF9tZXNzYWdlX3NpemVpAQEMdTMyAAEwbWF4X2NhcGFjaXR5aQEBDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50aQEBDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JpAQEMdTMyAAEYc2VuZGVyaQEBDHUzMgABJHJlY2lwaWVudGkBAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQAmQEBQEludGVyaW9yTG9jYXRpb24ACwAsUmVwb3J0RXJyb3IEAN0FAURRdWVyeVJlc3BvbnNlSW5mbwAMADBEZXBvc2l0QXNzZXQIARhhc3NldHPhBQEsQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyeZUBASBMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0DAEYYXNzZXRz4QUBLEFzc2V0RmlsdGVyAAEQZGVzdJUBASBMb2NhdGlvbgABDHhjbaEFARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQMARBnaXZl4QUBLEFzc2V0RmlsdGVyAAEQd2FudK0FARhBc3NldHMAARxtYXhpbWFsIAEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0c+EFASxBc3NldEZpbHRlcgABHHJlc2VydmWVAQEgTG9jYXRpb24AAQx4Y22hBQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRz4QUBLEFzc2V0RmlsdGVyAAEQZGVzdJUBASBMb2NhdGlvbgABDHhjbaEFARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZv3QUBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRz4QUBLEFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXO1BQEUQXNzZXQAATB3ZWlnaHRfbGltaXSdBQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEAKEFASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEAKEFASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRzrQUBGEFzc2V0cwABGHRpY2tldJUBASBMb2NhdGlvbgAYABBUcmFwBAAsAQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHQoARhXZWlnaHQAGgBIVW5zdWJzY3JpYmVWZXJzaW9uABsAJEJ1cm5Bc3NldAQArQUBGEFzc2V0cwAcACxFeHBlY3RBc3NldAQArQUBGEFzc2V0cwAdADBFeHBlY3RPcmlnaW4EANkFAUBPcHRpb248TG9jYXRpb24+AB4ALEV4cGVjdEVycm9yBABhBQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AHwBQRXhwZWN0VHJhbnNhY3RTdGF0dXMEAH0FAThNYXliZUVycm9yQ29kZQAgACxRdWVyeVBhbGxldAgBLG1vZHVsZV9uYW1lOAEcVmVjPHU4PgABNHJlc3BvbnNlX2luZm/dBQFEUXVlcnlSZXNwb25zZUluZm8AIQAwRXhwZWN0UGFsbGV0FAEUaW5kZXhpAQEMdTMyAAEQbmFtZTgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZTgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvcmkBAQx1MzIAATxtaW5fY3JhdGVfbWlub3JpAQEMdTMyACIAUFJlcG9ydFRyYW5zYWN0U3RhdHVzBADdBQFEUXVlcnlSZXNwb25zZUluZm8AIwBMQ2xlYXJUcmFuc2FjdFN0YXR1cwAkADxVbml2ZXJzYWxPcmlnaW4EAKEBASBKdW5jdGlvbgAlADRFeHBvcnRNZXNzYWdlDAEcbmV0d29ya6kBASROZXR3b3JrSWQAASxkZXN0aW5hdGlvbpkBAUBJbnRlcmlvckxvY2F0aW9uAAEMeGNtoQUBHFhjbTwoKT4AJgAkTG9ja0Fzc2V0CAEUYXNzZXS1BQEUQXNzZXQAASB1bmxvY2tlcpUBASBMb2NhdGlvbgAnACxVbmxvY2tBc3NldAgBFGFzc2V0tQUBFEFzc2V0AAEYdGFyZ2V0lQEBIExvY2F0aW9uACgAOE5vdGVVbmxvY2thYmxlCAEUYXNzZXS1BQEUQXNzZXQAARRvd25lcpUBASBMb2NhdGlvbgApADRSZXF1ZXN0VW5sb2NrCAEUYXNzZXS1BQEUQXNzZXQAARhsb2NrZXKVAQEgTG9jYXRpb24AKgAsU2V0RmVlc01vZGUEATBqaXRfd2l0aGRyYXcgARBib29sACsAIFNldFRvcGljBAAEASBbdTg7IDMyXQAsAChDbGVhclRvcGljAC0ALEFsaWFzT3JpZ2luBACVAQEgTG9jYXRpb24ALgA8VW5wYWlkRXhlY3V0aW9uCAEwd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0AAEwY2hlY2tfb3JpZ2lu2QUBQE9wdGlvbjxMb2NhdGlvbj4ALwAArQUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0GEFzc2V0cwAABACxBQEoVmVjPEFzc2V0PgAAsQUAAAK1BQC1BRAsc3RhZ2luZ194Y20IdjQUYXNzZXQUQXNzZXQAAAgBCGlkuQUBHEFzc2V0SWQAAQxmdW69BQEsRnVuZ2liaWxpdHkAALkFECxzdGFnaW5nX3hjbQh2NBRhc3NldBxBc3NldElkAAAEAJUBASBMb2NhdGlvbgAAvQUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0LEZ1bmdpYmlsaXR5AAEIIEZ1bmdpYmxlBABBAQEQdTEyOAAAACxOb25GdW5naWJsZQQAwQUBNEFzc2V0SW5zdGFuY2UAAQAAwQUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0NEFzc2V0SW5zdGFuY2UAARgkVW5kZWZpbmVkAAAAFEluZGV4BABBAQEQdTEyOAABABhBcnJheTQEAEgBHFt1ODsgNF0AAgAYQXJyYXk4BAAVAgEcW3U4OyA4XQADABxBcnJheTE2BAA1AgEgW3U4OyAxNl0ABAAcQXJyYXkzMgQABAEgW3U4OyAzMl0ABQAAxQUMLHN0YWdpbmdfeGNtCHY0IFJlc3BvbnNlAAEYEE51bGwAAAAYQXNzZXRzBACtBQEYQXNzZXRzAAEAPEV4ZWN1dGlvblJlc3VsdAQAYQUBUE9wdGlvbjwodTMyLCBFcnJvcik+AAIAHFZlcnNpb24EABABOHN1cGVyOjpWZXJzaW9uAAMALFBhbGxldHNJbmZvBADJBQGYQm91bmRlZFZlYzxQYWxsZXRJbmZvLCBNYXhQYWxsZXRzSW5mbz4ABAA4RGlzcGF0Y2hSZXN1bHQEAH0FAThNYXliZUVycm9yQ29kZQAFAADJBQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAc0FBFMAAAQA1QUBGFZlYzxUPgAAzQUMLHN0YWdpbmdfeGNtCHY0KFBhbGxldEluZm8AABgBFGluZGV4aQEBDHUzMgABEG5hbWXRBQGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AASxtb2R1bGVfbmFtZdEFAYBCb3VuZGVkVmVjPHU4LCBNYXhQYWxsZXROYW1lTGVuPgABFG1ham9yaQEBDHUzMgABFG1pbm9yaQEBDHUzMgABFHBhdGNoaQEBDHUzMgAA0QUMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AADVBQAAAs0FANkFBBhPcHRpb24EBFQBlQEBCBBOb25lAAAAEFNvbWUEAJUBAAABAADdBQwsc3RhZ2luZ194Y20IdjREUXVlcnlSZXNwb25zZUluZm8AAAwBLGRlc3RpbmF0aW9ulQEBIExvY2F0aW9uAAEgcXVlcnlfaWQsARxRdWVyeUlkAAEobWF4X3dlaWdodCgBGFdlaWdodAAA4QUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0LEFzc2V0RmlsdGVyAAEIIERlZmluaXRlBACtBQEYQXNzZXRzAAAAEFdpbGQEAOUFASRXaWxkQXNzZXQAAQAA5QUQLHN0YWdpbmdfeGNtCHY0FGFzc2V0JFdpbGRBc3NldAABEAxBbGwAAAAUQWxsT2YIAQhpZLkFARxBc3NldElkAAEMZnVu6QUBPFdpbGRGdW5naWJpbGl0eQABAChBbGxDb3VudGVkBABpAQEMdTMyAAIAMEFsbE9mQ291bnRlZAwBCGlkuQUBHEFzc2V0SWQAAQxmdW7pBQE8V2lsZEZ1bmdpYmlsaXR5AAEUY291bnRpAQEMdTMyAAMAAOkFECxzdGFnaW5nX3hjbQh2NBRhc3NldDxXaWxkRnVuZ2liaWxpdHkAAQggRnVuZ2libGUAAAAsTm9uRnVuZ2libGUAAQAA7QUIDHhjbTxWZXJzaW9uZWRBc3NldHMAAQwIVjIEAPkEATx2Mjo6TXVsdGlBc3NldHMAAQAIVjMEAEUFATx2Mzo6TXVsdGlBc3NldHMAAwAIVjQEAK0FASh2NDo6QXNzZXRzAAQAAPEFCAx4Y20wVmVyc2lvbmVkWGNtBCxSdW50aW1lQ2FsbAABDAhWMgQA9QUBUHYyOjpYY208UnVudGltZUNhbGw+AAIACFYzBAAFBgFQdjM6OlhjbTxSdW50aW1lQ2FsbD4AAwAIVjQEABEGAVB2NDo6WGNtPFJ1bnRpbWVDYWxsPgAEAAD1BQwMeGNtCHYyDFhjbQQsUnVudGltZUNhbGwAAAQA+QUBdFZlYzxJbnN0cnVjdGlvbjxSdW50aW1lQ2FsbD4+AAD5BQAAAv0FAP0FDAx4Y20IdjIsSW5zdHJ1Y3Rpb24ELFJ1bnRpbWVDYWxsAAFwNFdpdGhkcmF3QXNzZXQEAPkEASxNdWx0aUFzc2V0cwAAAFRSZXNlcnZlQXNzZXREZXBvc2l0ZWQEAPkEASxNdWx0aUFzc2V0cwABAFhSZWNlaXZlVGVsZXBvcnRlZEFzc2V0BAD5BAEsTXVsdGlBc3NldHMAAgA0UXVlcnlSZXNwb25zZQwBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABIHJlc3BvbnNlEQUBIFJlc3BvbnNlAAEobWF4X3dlaWdodCwBDHU2NAADADRUcmFuc2ZlckFzc2V0CAEYYXNzZXRz+QQBLE11bHRpQXNzZXRzAAEsYmVuZWZpY2lhcnnNBAE0TXVsdGlMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c/kEASxNdWx0aUFzc2V0cwABEGRlc3TNBAE0TXVsdGlMb2NhdGlvbgABDHhjbe0EARxYY208KCk+AAUAIFRyYW5zYWN0DAEsb3JpZ2luX3R5cGUhBQEoT3JpZ2luS2luZAABWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3QsAQx1NjQAARBjYWxsAQYBaERvdWJsZUVuY29kZWQ8UnVudGltZUNhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJpAQEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZWkBAQx1MzIAATBtYXhfY2FwYWNpdHlpAQEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRpAQEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvcmkBAQx1MzIAARhzZW5kZXJpAQEMdTMyAAEkcmVjaXBpZW50aQEBDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBADRBAFUSW50ZXJpb3JNdWx0aUxvY2F0aW9uAAsALFJlcG9ydEVycm9yDAEgcXVlcnlfaWQsARxRdWVyeUlkAAEQZGVzdM0EATRNdWx0aUxvY2F0aW9uAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCwBDHU2NAAMADBEZXBvc2l0QXNzZXQMARhhc3NldHMpBQFATXVsdGlBc3NldEZpbHRlcgABKG1heF9hc3NldHNpAQEMdTMyAAEsYmVuZWZpY2lhcnnNBAE0TXVsdGlMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0EAEYYXNzZXRzKQUBQE11bHRpQXNzZXRGaWx0ZXIAAShtYXhfYXNzZXRzaQEBDHUzMgABEGRlc3TNBAE0TXVsdGlMb2NhdGlvbgABDHhjbe0EARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQIARBnaXZlKQUBQE11bHRpQXNzZXRGaWx0ZXIAARxyZWNlaXZl+QQBLE11bHRpQXNzZXRzAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRzKQUBQE11bHRpQXNzZXRGaWx0ZXIAARxyZXNlcnZlzQQBNE11bHRpTG9jYXRpb24AAQx4Y23tBAEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRzKQUBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN0zQQBNE11bHRpTG9jYXRpb24AAQx4Y23tBAEcWGNtPCgpPgARADBRdWVyeUhvbGRpbmcQASBxdWVyeV9pZCwBHFF1ZXJ5SWQAARBkZXN0zQQBNE11bHRpTG9jYXRpb24AARhhc3NldHMpBQFATXVsdGlBc3NldEZpbHRlcgABTG1heF9yZXNwb25zZV93ZWlnaHQsAQx1NjQAEgAwQnV5RXhlY3V0aW9uCAEQZmVlcwEFAShNdWx0aUFzc2V0AAEwd2VpZ2h0X2xpbWl0NQUBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBAD1BQFAWGNtPFJ1bnRpbWVDYWxsPgAVACxTZXRBcHBlbmRpeAQA9QUBQFhjbTxSdW50aW1lQ2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRz+QQBLE11bHRpQXNzZXRzAAEYdGlja2V0zQQBNE11bHRpTG9jYXRpb24AGAAQVHJhcAQALAEMdTY0ABkAQFN1YnNjcmliZVZlcnNpb24IASBxdWVyeV9pZCwBHFF1ZXJ5SWQAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0LAEMdTY0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbAAABBgwMeGNtOGRvdWJsZV9lbmNvZGVkNERvdWJsZUVuY29kZWQEBFQAAAQBHGVuY29kZWQ4ARxWZWM8dTg+AAAFBgwMeGNtCHYzDFhjbQQQQ2FsbAAABAAJBgFYVmVjPEluc3RydWN0aW9uPENhbGw+PgAACQYAAAINBgANBgwMeGNtCHYzLEluc3RydWN0aW9uBBBDYWxsAAHANFdpdGhkcmF3QXNzZXQEAEUFASxNdWx0aUFzc2V0cwAAAFRSZXNlcnZlQXNzZXREZXBvc2l0ZWQEAEUFASxNdWx0aUFzc2V0cwABAFhSZWNlaXZlVGVsZXBvcnRlZEFzc2V0BABFBQEsTXVsdGlBc3NldHMAAgA0UXVlcnlSZXNwb25zZRABIHF1ZXJ5X2lkLAEcUXVlcnlJZAABIHJlc3BvbnNlXQUBIFJlc3BvbnNlAAEobWF4X3dlaWdodCgBGFdlaWdodAABHHF1ZXJpZXKFBQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AAMANFRyYW5zZmVyQXNzZXQIARhhc3NldHNFBQEsTXVsdGlBc3NldHMAASxiZW5lZmljaWFyeR0DATRNdWx0aUxvY2F0aW9uAAQAUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0DAEYYXNzZXRzRQUBLE11bHRpQXNzZXRzAAEQZGVzdB0DATRNdWx0aUxvY2F0aW9uAAEMeGNtOQUBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZIkFAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdCgBGFdlaWdodAABEGNhbGwBBgFMRG91YmxlRW5jb2RlZDxDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyaQEBDHUzMgABQG1heF9tZXNzYWdlX3NpemVpAQEMdTMyAAEwbWF4X2NhcGFjaXR5aQEBDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50aQEBDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JpAQEMdTMyAAEYc2VuZGVyaQEBDHUzMgABJHJlY2lwaWVudGkBAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQAIQMBVEludGVyaW9yTXVsdGlMb2NhdGlvbgALACxSZXBvcnRFcnJvcgQAjQUBRFF1ZXJ5UmVzcG9uc2VJbmZvAAwAMERlcG9zaXRBc3NldAgBGGFzc2V0c5EFAUBNdWx0aUFzc2V0RmlsdGVyAAEsYmVuZWZpY2lhcnkdAwE0TXVsdGlMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0DAEYYXNzZXRzkQUBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN0HQMBNE11bHRpTG9jYXRpb24AAQx4Y205BQEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0DAEQZ2l2ZZEFAUBNdWx0aUFzc2V0RmlsdGVyAAEQd2FudEUFASxNdWx0aUFzc2V0cwABHG1heGltYWwgARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRzkQUBQE11bHRpQXNzZXRGaWx0ZXIAARxyZXNlcnZlHQMBNE11bHRpTG9jYXRpb24AAQx4Y205BQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRzkQUBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN0HQMBNE11bHRpTG9jYXRpb24AAQx4Y205BQEcWGNtPCgpPgARADRSZXBvcnRIb2xkaW5nCAE0cmVzcG9uc2VfaW5mb40FAURRdWVyeVJlc3BvbnNlSW5mbwABGGFzc2V0c5EFAUBNdWx0aUFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXNNBQEoTXVsdGlBc3NldAABMHdlaWdodF9saW1pdJ0FASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQABQYBJFhjbTxDYWxsPgAVACxTZXRBcHBlbmRpeAQABQYBJFhjbTxDYWxsPgAWAChDbGVhckVycm9yABcAKENsYWltQXNzZXQIARhhc3NldHNFBQEsTXVsdGlBc3NldHMAARh0aWNrZXQdAwE0TXVsdGlMb2NhdGlvbgAYABBUcmFwBAAsAQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lkLAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHQoARhXZWlnaHQAGgBIVW5zdWJzY3JpYmVWZXJzaW9uABsAJEJ1cm5Bc3NldAQARQUBLE11bHRpQXNzZXRzABwALEV4cGVjdEFzc2V0BABFBQEsTXVsdGlBc3NldHMAHQAwRXhwZWN0T3JpZ2luBACFBQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AB4ALEV4cGVjdEVycm9yBABhBQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AHwBQRXhwZWN0VHJhbnNhY3RTdGF0dXMEAH0FAThNYXliZUVycm9yQ29kZQAgACxRdWVyeVBhbGxldAgBLG1vZHVsZV9uYW1lOAEcVmVjPHU4PgABNHJlc3BvbnNlX2luZm+NBQFEUXVlcnlSZXNwb25zZUluZm8AIQAwRXhwZWN0UGFsbGV0FAEUaW5kZXhpAQEMdTMyAAEQbmFtZTgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZTgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvcmkBAQx1MzIAATxtaW5fY3JhdGVfbWlub3JpAQEMdTMyACIAUFJlcG9ydFRyYW5zYWN0U3RhdHVzBACNBQFEUXVlcnlSZXNwb25zZUluZm8AIwBMQ2xlYXJUcmFuc2FjdFN0YXR1cwAkADxVbml2ZXJzYWxPcmlnaW4EACUDASBKdW5jdGlvbgAlADRFeHBvcnRNZXNzYWdlDAEcbmV0d29yay0DASROZXR3b3JrSWQAASxkZXN0aW5hdGlvbiEDAVRJbnRlcmlvck11bHRpTG9jYXRpb24AAQx4Y205BQEcWGNtPCgpPgAmACRMb2NrQXNzZXQIARRhc3NldE0FAShNdWx0aUFzc2V0AAEgdW5sb2NrZXIdAwE0TXVsdGlMb2NhdGlvbgAnACxVbmxvY2tBc3NldAgBFGFzc2V0TQUBKE11bHRpQXNzZXQAARh0YXJnZXQdAwE0TXVsdGlMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0TQUBKE11bHRpQXNzZXQAARRvd25lch0DATRNdWx0aUxvY2F0aW9uACkANFJlcXVlc3RVbmxvY2sIARRhc3NldE0FAShNdWx0aUFzc2V0AAEYbG9ja2VyHQMBNE11bHRpTG9jYXRpb24AKgAsU2V0RmVlc01vZGUEATBqaXRfd2l0aGRyYXcgARBib29sACsAIFNldFRvcGljBAAEASBbdTg7IDMyXQAsAChDbGVhclRvcGljAC0ALEFsaWFzT3JpZ2luBAAdAwE0TXVsdGlMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXSdBQEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW6FBQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AC8AABEGDCxzdGFnaW5nX3hjbQh2NAxYY20EEENhbGwAAAQAFQYBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AABUGAAACGQYAGQYMLHN0YWdpbmdfeGNtCHY0LEluc3RydWN0aW9uBBBDYWxsAAHANFdpdGhkcmF3QXNzZXQEAK0FARhBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBACtBQEYQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAK0FARhBc3NldHMAAgA0UXVlcnlSZXNwb25zZRABIHF1ZXJ5X2lkLAEcUXVlcnlJZAABIHJlc3BvbnNlxQUBIFJlc3BvbnNlAAEobWF4X3dlaWdodCgBGFdlaWdodAABHHF1ZXJpZXLZBQFAT3B0aW9uPExvY2F0aW9uPgADADRUcmFuc2ZlckFzc2V0CAEYYXNzZXRzrQUBGEFzc2V0cwABLGJlbmVmaWNpYXJ5lQEBIExvY2F0aW9uAAQAUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0DAEYYXNzZXRzrQUBGEFzc2V0cwABEGRlc3SVAQEgTG9jYXRpb24AAQx4Y22hBQEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl9raW5kiQUBKE9yaWdpbktpbmQAAVhyZXF1aXJlX3dlaWdodF9hdF9tb3N0KAEYV2VpZ2h0AAEQY2FsbAEGAUxEb3VibGVFbmNvZGVkPENhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJpAQEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZWkBAQx1MzIAATBtYXhfY2FwYWNpdHlpAQEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRpAQEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvcmkBAQx1MzIAARhzZW5kZXJpAQEMdTMyAAEkcmVjaXBpZW50aQEBDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBACZAQFASW50ZXJpb3JMb2NhdGlvbgALACxSZXBvcnRFcnJvcgQA3QUBRFF1ZXJ5UmVzcG9uc2VJbmZvAAwAMERlcG9zaXRBc3NldAgBGGFzc2V0c+EFASxBc3NldEZpbHRlcgABLGJlbmVmaWNpYXJ5lQEBIExvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHPhBQEsQXNzZXRGaWx0ZXIAARBkZXN0lQEBIExvY2F0aW9uAAEMeGNtoQUBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAwBEGdpdmXhBQEsQXNzZXRGaWx0ZXIAARB3YW50rQUBGEFzc2V0cwABHG1heGltYWwgARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRz4QUBLEFzc2V0RmlsdGVyAAEccmVzZXJ2ZZUBASBMb2NhdGlvbgABDHhjbaEFARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHPhBQEsQXNzZXRGaWx0ZXIAARBkZXN0lQEBIExvY2F0aW9uAAEMeGNtoQUBHFhjbTwoKT4AEQA0UmVwb3J0SG9sZGluZwgBNHJlc3BvbnNlX2luZm/dBQFEUXVlcnlSZXNwb25zZUluZm8AARhhc3NldHPhBQEsQXNzZXRGaWx0ZXIAEgAwQnV5RXhlY3V0aW9uCAEQZmVlc7UFARRBc3NldAABMHdlaWdodF9saW1pdJ0FASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQAEQYBJFhjbTxDYWxsPgAVACxTZXRBcHBlbmRpeAQAEQYBJFhjbTxDYWxsPgAWAChDbGVhckVycm9yABcAKENsYWltQXNzZXQIARhhc3NldHOtBQEYQXNzZXRzAAEYdGlja2V0lQEBIExvY2F0aW9uABgAEFRyYXAEACwBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWQsARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodCgBGFdlaWdodAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAkQnVybkFzc2V0BACtBQEYQXNzZXRzABwALEV4cGVjdEFzc2V0BACtBQEYQXNzZXRzAB0AMEV4cGVjdE9yaWdpbgQA2QUBQE9wdGlvbjxMb2NhdGlvbj4AHgAsRXhwZWN0RXJyb3IEAGEFAVBPcHRpb248KHUzMiwgRXJyb3IpPgAfAFBFeHBlY3RUcmFuc2FjdFN0YXR1cwQAfQUBOE1heWJlRXJyb3JDb2RlACAALFF1ZXJ5UGFsbGV0CAEsbW9kdWxlX25hbWU4ARxWZWM8dTg+AAE0cmVzcG9uc2VfaW5mb90FAURRdWVyeVJlc3BvbnNlSW5mbwAhADBFeHBlY3RQYWxsZXQUARRpbmRleGkBAQx1MzIAARBuYW1lOAEcVmVjPHU4PgABLG1vZHVsZV9uYW1lOAEcVmVjPHU4PgABLGNyYXRlX21ham9yaQEBDHUzMgABPG1pbl9jcmF0ZV9taW5vcmkBAQx1MzIAIgBQUmVwb3J0VHJhbnNhY3RTdGF0dXMEAN0FAURRdWVyeVJlc3BvbnNlSW5mbwAjAExDbGVhclRyYW5zYWN0U3RhdHVzACQAPFVuaXZlcnNhbE9yaWdpbgQAoQEBIEp1bmN0aW9uACUANEV4cG9ydE1lc3NhZ2UMARxuZXR3b3JrqQEBJE5ldHdvcmtJZAABLGRlc3RpbmF0aW9umQEBQEludGVyaW9yTG9jYXRpb24AAQx4Y22hBQEcWGNtPCgpPgAmACRMb2NrQXNzZXQIARRhc3NldLUFARRBc3NldAABIHVubG9ja2VylQEBIExvY2F0aW9uACcALFVubG9ja0Fzc2V0CAEUYXNzZXS1BQEUQXNzZXQAARh0YXJnZXSVAQEgTG9jYXRpb24AKAA4Tm90ZVVubG9ja2FibGUIARRhc3NldLUFARRBc3NldAABFG93bmVylQEBIExvY2F0aW9uACkANFJlcXVlc3RVbmxvY2sIARRhc3NldLUFARRBc3NldAABGGxvY2tlcpUBASBMb2NhdGlvbgAqACxTZXRGZWVzTW9kZQQBMGppdF93aXRoZHJhdyABEGJvb2wAKwAgU2V0VG9waWMEAAQBIFt1ODsgMzJdACwAKENsZWFyVG9waWMALQAsQWxpYXNPcmlnaW4EAJUBASBMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXSdBQEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW7ZBQFAT3B0aW9uPExvY2F0aW9uPgAvAAAdBhBQc3RhZ2luZ194Y21fZXhlY3V0b3IYdHJhaXRzOGFzc2V0X3RyYW5zZmVyMFRyYW5zZmVyVHlwZQABECBUZWxlcG9ydAAAADBMb2NhbFJlc2VydmUAAQBIRGVzdGluYXRpb25SZXNlcnZlAAIANFJlbW90ZVJlc2VydmUEAMkEAURWZXJzaW9uZWRMb2NhdGlvbgADAAAhBggMeGNtQFZlcnNpb25lZEFzc2V0SWQAAQgIVjMEAFEFASx2Mzo6QXNzZXRJZAADAAhWNAQAuQUBLHY0OjpBc3NldElkAAQAACUGDEhjdW11bHVzX3BhbGxldF94Y20YcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuKQYMUHBhbGxldF9tZXNzYWdlX3F1ZXVlGHBhbGxldBBDYWxsBARUAAEIJHJlYXBfcGFnZQgBOG1lc3NhZ2Vfb3JpZ2luLQYBSE1lc3NhZ2VPcmlnaW5PZjxUPgABKHBhZ2VfaW5kZXgQASRQYWdlSW5kZXgAAAQ9AVJlbW92ZSBhIHBhZ2Ugd2hpY2ggaGFzIG5vIG1vcmUgbWVzc2FnZXMgcmVtYWluaW5nIHRvIGJlIHByb2Nlc3NlZCBvciBpcyBzdGFsZS5IZXhlY3V0ZV9vdmVyd2VpZ2h0EAE4bWVzc2FnZV9vcmlnaW4tBgFITWVzc2FnZU9yaWdpbk9mPFQ+AAEQcGFnZRABJFBhZ2VJbmRleAABFGluZGV4EAEcVDo6U2l6ZQABMHdlaWdodF9saW1pdCgBGFdlaWdodAABNHhFeGVjdXRlIGFuIG92ZXJ3ZWlnaHQgbWVzc2FnZS4ATQFUZW1wb3JhcnkgcHJvY2Vzc2luZyBlcnJvcnMgd2lsbCBiZSBwcm9wYWdhdGVkIHdoZXJlYXMgcGVybWFuZW50IGVycm9ycyBhcmUgdHJlYXRlZFRhcyBzdWNjZXNzIGNvbmRpdGlvbi4AdC0gYG9yaWdpbmA6IE11c3QgYmUgYFNpZ25lZGAuNQEtIGBtZXNzYWdlX29yaWdpbmA6IFRoZSBvcmlnaW4gZnJvbSB3aGljaCB0aGUgbWVzc2FnZSB0byBiZSBleGVjdXRlZCBhcnJpdmVkLj0BLSBgcGFnZWA6IFRoZSBwYWdlIGluIHRoZSBxdWV1ZSBpbiB3aGljaCB0aGUgbWVzc2FnZSB0byBiZSBleGVjdXRlZCBpcyBzaXR0aW5nLgkBLSBgaW5kZXhgOiBUaGUgaW5kZXggaW50byB0aGUgcXVldWUgb2YgdGhlIG1lc3NhZ2UgdG8gYmUgZXhlY3V0ZWQuWQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgbWF4aW11bSBhbW91bnQgb2Ygd2VpZ2h0IGFsbG93ZWQgdG8gYmUgY29uc3VtZWQgaW4gdGhlIGV4ZWN1dGlvbkQgIG9mIHRoZSBtZXNzYWdlLgD0QmVuY2htYXJrIGNvbXBsZXhpdHkgY29uc2lkZXJhdGlvbnM6IE8oaW5kZXggKyB3ZWlnaHRfbGltaXQpLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4tBghcY3VtdWx1c19wcmltaXRpdmVzX2NvcmVYQWdncmVnYXRlTWVzc2FnZU9yaWdpbgABDBBIZXJlAAAAGFBhcmVudAABABxTaWJsaW5nBADVAQEYUGFyYUlkAAIAADEGDCBvcm1sX3hjbRhtb2R1bGUQQ2FsbAQEVAABBERzZW5kX2FzX3NvdmVyZWlnbggBEGRlc3TJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABHG1lc3NhZ2XpBAFUQm94PFZlcnNpb25lZFhjbTwoKT4+AAAErFNlbmQgYW4gWENNIG1lc3NhZ2UgYXMgcGFyYWNoYWluIHNvdmVyZWlnbi4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuNQYMMG9ybWxfeHRva2Vucxhtb2R1bGUQQ2FsbAQEVAABGCB0cmFuc2ZlchABLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAARBkZXN0yQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AAURkZXN0X3dlaWdodF9saW1pdJ0FASxXZWlnaHRMaW1pdAAAMGxUcmFuc2ZlciBuYXRpdmUgY3VycmVuY2llcy4A/GBkZXN0X3dlaWdodF9saW1pdGAgaXMgdGhlIHdlaWdodCBmb3IgWENNIGV4ZWN1dGlvbiBvbiB0aGUgZGVzdAkBY2hhaW4sIGFuZCBpdCB3b3VsZCBiZSBjaGFyZ2VkIGZyb20gdGhlIHRyYW5zZmVycmVkIGFzc2V0cy4gSWYgc2V0BQFiZWxvdyByZXF1aXJlbWVudHMsIHRoZSBleGVjdXRpb24gbWF5IGZhaWwgYW5kIGFzc2V0cyB3b3VsZG4ndCBiZSRyZWNlaXZlZC4AEQFJdCdzIGEgbm8tb3AgaWYgYW55IGVycm9yIG9uIGxvY2FsIFhDTSBleGVjdXRpb24gb3IgbWVzc2FnZSBzZW5kaW5nLvhOb3RlIHNlbmRpbmcgYXNzZXRzIG91dCBwZXIgc2UgZG9lc24ndCBndWFyYW50ZWUgdGhleSB3b3VsZCBiZREBcmVjZWl2ZWQuIFJlY2VpdmluZyBkZXBlbmRzIG9uIGlmIHRoZSBYQ00gbWVzc2FnZSBjb3VsZCBiZSBkZWxpdmVyZWTcYnkgdGhlIG5ldHdvcmssIGFuZCBpZiB0aGUgcmVjZWl2aW5nIGNoYWluIHdvdWxkIGhhbmRsZUxtZXNzYWdlcyBjb3JyZWN0bHkuTHRyYW5zZmVyX211bHRpYXNzZXQMARRhc3NldDkGAUxCb3g8VmVyc2lvbmVkQXNzZXQ+AAEQZGVzdMkEAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAFEZGVzdF93ZWlnaHRfbGltaXSdBQEsV2VpZ2h0TGltaXQAATBEVHJhbnNmZXIgYEFzc2V0YC4A/GBkZXN0X3dlaWdodF9saW1pdGAgaXMgdGhlIHdlaWdodCBmb3IgWENNIGV4ZWN1dGlvbiBvbiB0aGUgZGVzdAkBY2hhaW4sIGFuZCBpdCB3b3VsZCBiZSBjaGFyZ2VkIGZyb20gdGhlIHRyYW5zZmVycmVkIGFzc2V0cy4gSWYgc2V0BQFiZWxvdyByZXF1aXJlbWVudHMsIHRoZSBleGVjdXRpb24gbWF5IGZhaWwgYW5kIGFzc2V0cyB3b3VsZG4ndCBiZSRyZWNlaXZlZC4AEQFJdCdzIGEgbm8tb3AgaWYgYW55IGVycm9yIG9uIGxvY2FsIFhDTSBleGVjdXRpb24gb3IgbWVzc2FnZSBzZW5kaW5nLvhOb3RlIHNlbmRpbmcgYXNzZXRzIG91dCBwZXIgc2UgZG9lc24ndCBndWFyYW50ZWUgdGhleSB3b3VsZCBiZREBcmVjZWl2ZWQuIFJlY2VpdmluZyBkZXBlbmRzIG9uIGlmIHRoZSBYQ00gbWVzc2FnZSBjb3VsZCBiZSBkZWxpdmVyZWTcYnkgdGhlIG5ldHdvcmssIGFuZCBpZiB0aGUgcmVjZWl2aW5nIGNoYWluIHdvdWxkIGhhbmRsZUxtZXNzYWdlcyBjb3JyZWN0bHkuRHRyYW5zZmVyX3dpdGhfZmVlFAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABDGZlZRgBKFQ6OkJhbGFuY2UAARBkZXN0yQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AAURkZXN0X3dlaWdodF9saW1pdJ0FASxXZWlnaHRMaW1pdAACVOxUcmFuc2ZlciBuYXRpdmUgY3VycmVuY2llcyBzcGVjaWZ5aW5nIHRoZSBmZWUgYW5kIGFtb3VudCBhcyRzZXBhcmF0ZS4A/GBkZXN0X3dlaWdodF9saW1pdGAgaXMgdGhlIHdlaWdodCBmb3IgWENNIGV4ZWN1dGlvbiBvbiB0aGUgZGVzdAkBY2hhaW4sIGFuZCBpdCB3b3VsZCBiZSBjaGFyZ2VkIGZyb20gdGhlIHRyYW5zZmVycmVkIGFzc2V0cy4gSWYgc2V0BQFiZWxvdyByZXF1aXJlbWVudHMsIHRoZSBleGVjdXRpb24gbWF5IGZhaWwgYW5kIGFzc2V0cyB3b3VsZG4ndCBiZSRyZWNlaXZlZC4ADQFgZmVlYCBpcyB0aGUgYW1vdW50IHRvIGJlIHNwZW50IHRvIHBheSBmb3IgZXhlY3V0aW9uIGluIGRlc3RpbmF0aW9u+GNoYWluLiBCb3RoIGZlZSBhbmQgYW1vdW50IHdpbGwgYmUgc3VidHJhY3RlZCBmb3JtIHRoZSBjYWxsZXJzIGJhbGFuY2UuAA0BSWYgYGZlZWAgaXMgbm90IGhpZ2ggZW5vdWdoIHRvIGNvdmVyIGZvciB0aGUgZXhlY3V0aW9uIGNvc3RzIGluIHRoZeRkZXN0aW5hdGlvbiBjaGFpbiwgdGhlbiB0aGUgYXNzZXRzIHdpbGwgYmUgdHJhcHBlZCBpbiB0aGVEZGVzdGluYXRpb24gY2hhaW4AEQFJdCdzIGEgbm8tb3AgaWYgYW55IGVycm9yIG9uIGxvY2FsIFhDTSBleGVjdXRpb24gb3IgbWVzc2FnZSBzZW5kaW5nLvhOb3RlIHNlbmRpbmcgYXNzZXRzIG91dCBwZXIgc2UgZG9lc24ndCBndWFyYW50ZWUgdGhleSB3b3VsZCBiZREBcmVjZWl2ZWQuIFJlY2VpdmluZyBkZXBlbmRzIG9uIGlmIHRoZSBYQ00gbWVzc2FnZSBjb3VsZCBiZSBkZWxpdmVyZWTcYnkgdGhlIG5ldHdvcmssIGFuZCBpZiB0aGUgcmVjZWl2aW5nIGNoYWluIHdvdWxkIGhhbmRsZUxtZXNzYWdlcyBjb3JyZWN0bHkucHRyYW5zZmVyX211bHRpYXNzZXRfd2l0aF9mZWUQARRhc3NldDkGAUxCb3g8VmVyc2lvbmVkQXNzZXQ+AAEMZmVlOQYBTEJveDxWZXJzaW9uZWRBc3NldD4AARBkZXN0yQQBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4AAURkZXN0X3dlaWdodF9saW1pdJ0FASxXZWlnaHRMaW1pdAADVOxUcmFuc2ZlciBgQXNzZXRgIHNwZWNpZnlpbmcgdGhlIGZlZSBhbmQgYW1vdW50IGFzIHNlcGFyYXRlLgD8YGRlc3Rfd2VpZ2h0X2xpbWl0YCBpcyB0aGUgd2VpZ2h0IGZvciBYQ00gZXhlY3V0aW9uIG9uIHRoZSBkZXN0CQFjaGFpbiwgYW5kIGl0IHdvdWxkIGJlIGNoYXJnZWQgZnJvbSB0aGUgdHJhbnNmZXJyZWQgYXNzZXRzLiBJZiBzZXQFAWJlbG93IHJlcXVpcmVtZW50cywgdGhlIGV4ZWN1dGlvbiBtYXkgZmFpbCBhbmQgYXNzZXRzIHdvdWxkbid0IGJlJHJlY2VpdmVkLgDYYGZlZWAgaXMgdGhlIEFzc2V0IHRvIGJlIHNwZW50IHRvIHBheSBmb3IgZXhlY3V0aW9uIGluCQFkZXN0aW5hdGlvbiBjaGFpbi4gQm90aCBmZWUgYW5kIGFtb3VudCB3aWxsIGJlIHN1YnRyYWN0ZWQgZm9ybSB0aGURAWNhbGxlcnMgYmFsYW5jZSBGb3Igbm93IHdlIG9ubHkgYWNjZXB0IGZlZSBhbmQgYXNzZXQgaGF2aW5nIHRoZSBzYW1lOGBMb2NhdGlvbmAgaWQuAA0BSWYgYGZlZWAgaXMgbm90IGhpZ2ggZW5vdWdoIHRvIGNvdmVyIGZvciB0aGUgZXhlY3V0aW9uIGNvc3RzIGluIHRoZeRkZXN0aW5hdGlvbiBjaGFpbiwgdGhlbiB0aGUgYXNzZXRzIHdpbGwgYmUgdHJhcHBlZCBpbiB0aGVEZGVzdGluYXRpb24gY2hhaW4AEQFJdCdzIGEgbm8tb3AgaWYgYW55IGVycm9yIG9uIGxvY2FsIFhDTSBleGVjdXRpb24gb3IgbWVzc2FnZSBzZW5kaW5nLvhOb3RlIHNlbmRpbmcgYXNzZXRzIG91dCBwZXIgc2UgZG9lc24ndCBndWFyYW50ZWUgdGhleSB3b3VsZCBiZREBcmVjZWl2ZWQuIFJlY2VpdmluZyBkZXBlbmRzIG9uIGlmIHRoZSBYQ00gbWVzc2FnZSBjb3VsZCBiZSBkZWxpdmVyZWTcYnkgdGhlIG5ldHdvcmssIGFuZCBpZiB0aGUgcmVjZWl2aW5nIGNoYWluIHdvdWxkIGhhbmRsZUxtZXNzYWdlcyBjb3JyZWN0bHkuYHRyYW5zZmVyX211bHRpY3VycmVuY2llcxABKGN1cnJlbmNpZXM9BgGAVmVjPChUOjpDdXJyZW5jeUlkLCBUOjpCYWxhbmNlKT4AASBmZWVfaXRlbRABDHUzMgABEGRlc3TJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABRGRlc3Rfd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0AAQ8BQFUcmFuc2ZlciBzZXZlcmFsIGN1cnJlbmNpZXMgc3BlY2lmeWluZyB0aGUgaXRlbSB0byBiZSB1c2VkIGFzIGZlZQD8YGRlc3Rfd2VpZ2h0X2xpbWl0YCBpcyB0aGUgd2VpZ2h0IGZvciBYQ00gZXhlY3V0aW9uIG9uIHRoZSBkZXN0CQFjaGFpbiwgYW5kIGl0IHdvdWxkIGJlIGNoYXJnZWQgZnJvbSB0aGUgdHJhbnNmZXJyZWQgYXNzZXRzLiBJZiBzZXQFAWJlbG93IHJlcXVpcmVtZW50cywgdGhlIGV4ZWN1dGlvbiBtYXkgZmFpbCBhbmQgYXNzZXRzIHdvdWxkbid0IGJlJHJlY2VpdmVkLgANAWBmZWVfaXRlbWAgaXMgaW5kZXggb2YgdGhlIGN1cnJlbmNpZXMgdHVwbGUgdGhhdCB3ZSB3YW50IHRvIHVzZSBmb3IccGF5bWVudAARAUl0J3MgYSBuby1vcCBpZiBhbnkgZXJyb3Igb24gbG9jYWwgWENNIGV4ZWN1dGlvbiBvciBtZXNzYWdlIHNlbmRpbmcu+E5vdGUgc2VuZGluZyBhc3NldHMgb3V0IHBlciBzZSBkb2Vzbid0IGd1YXJhbnRlZSB0aGV5IHdvdWxkIGJlEQFyZWNlaXZlZC4gUmVjZWl2aW5nIGRlcGVuZHMgb24gaWYgdGhlIFhDTSBtZXNzYWdlIGNvdWxkIGJlIGRlbGl2ZXJlZNxieSB0aGUgbmV0d29yaywgYW5kIGlmIHRoZSByZWNlaXZpbmcgY2hhaW4gd291bGQgaGFuZGxlTG1lc3NhZ2VzIGNvcnJlY3RseS5QdHJhbnNmZXJfbXVsdGlhc3NldHMQARhhc3NldHPtBQFQQm94PFZlcnNpb25lZEFzc2V0cz4AASBmZWVfaXRlbRABDHUzMgABEGRlc3TJBAFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABRGRlc3Rfd2VpZ2h0X2xpbWl0nQUBLFdlaWdodExpbWl0AAU8+FRyYW5zZmVyIHNldmVyYWwgYEFzc2V0YCBzcGVjaWZ5aW5nIHRoZSBpdGVtIHRvIGJlIHVzZWQgYXMgZmVlAPxgZGVzdF93ZWlnaHRfbGltaXRgIGlzIHRoZSB3ZWlnaHQgZm9yIFhDTSBleGVjdXRpb24gb24gdGhlIGRlc3QJAWNoYWluLCBhbmQgaXQgd291bGQgYmUgY2hhcmdlZCBmcm9tIHRoZSB0cmFuc2ZlcnJlZCBhc3NldHMuIElmIHNldAUBYmVsb3cgcmVxdWlyZW1lbnRzLCB0aGUgZXhlY3V0aW9uIG1heSBmYWlsIGFuZCBhc3NldHMgd291bGRuJ3QgYmUkcmVjZWl2ZWQuAORgZmVlX2l0ZW1gIGlzIGluZGV4IG9mIHRoZSBBc3NldHMgdGhhdCB3ZSB3YW50IHRvIHVzZSBmb3IccGF5bWVudAARAUl0J3MgYSBuby1vcCBpZiBhbnkgZXJyb3Igb24gbG9jYWwgWENNIGV4ZWN1dGlvbiBvciBtZXNzYWdlIHNlbmRpbmcu+E5vdGUgc2VuZGluZyBhc3NldHMgb3V0IHBlciBzZSBkb2Vzbid0IGd1YXJhbnRlZSB0aGV5IHdvdWxkIGJlEQFyZWNlaXZlZC4gUmVjZWl2aW5nIGRlcGVuZHMgb24gaWYgdGhlIFhDTSBtZXNzYWdlIGNvdWxkIGJlIGRlbGl2ZXJlZNxieSB0aGUgbmV0d29yaywgYW5kIGlmIHRoZSByZWNlaXZpbmcgY2hhaW4gd291bGQgaGFuZGxlTG1lc3NhZ2VzIGNvcnJlY3RseS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuOQYIDHhjbThWZXJzaW9uZWRBc3NldAABDAhWMgQAAQUBOHYyOjpNdWx0aUFzc2V0AAEACFYzBABNBQE4djM6Ok11bHRpQXNzZXQAAwAIVjQEALUFASR2NDo6QXNzZXQABAAAPQYAAALxAwBBBgxkcGFsbGV0X2NvbGxhdG9yX3NlbGVjdGlvbhhwYWxsZXQQQ2FsbAQEVAABJERzZXRfaW52dWxuZXJhYmxlcwQBDG5ld0UBAURWZWM8VDo6QWNjb3VudElkPgAANDEBU2V0IHRoZSBsaXN0IG9mIGludnVsbmVyYWJsZSAoZml4ZWQpIGNvbGxhdG9ycy4gVGhlc2UgY29sbGF0b3JzIG11c3QgZG8gc29tZdBwcmVwYXJhdGlvbiwgbmFtZWx5IHRvIGhhdmUgcmVnaXN0ZXJlZCBzZXNzaW9uIGtleXMuAFkBVGhlIGNhbGwgd2lsbCByZW1vdmUgYW55IGFjY291bnRzIHRoYXQgaGF2ZSBub3QgcmVnaXN0ZXJlZCBrZXlzIGZyb20gdGhlIHNldC4gVGhhdCBpcyxdAWl0IGlzIG5vbi1hdG9taWM7IHRoZSBjYWxsZXIgYWNjZXB0cyBhbGwgYEFjY291bnRJZGBzIHBhc3NlZCBpbiBgbmV3YCBfaW5kaXZpZHVhbGx5XyBhczEBYWNjZXB0YWJsZSBJbnZ1bG5lcmFibGVzLCBhbmQgaXMgbm90IHByb3Bvc2luZyBhIF9zZXRfIG9mIG5ldyBJbnZ1bG5lcmFibGVzLgBZAVRoaXMgY2FsbCBkb2VzIG5vdCBtYWludGFpbiBtdXR1YWwgZXhjbHVzaXZpdHkgb2YgYEludnVsbmVyYWJsZXNgIGFuZCBgQ2FuZGlkYXRlc2AuIEl0YQFpcyByZWNvbW1lbmRlZCB0byB1c2UgYSBiYXRjaCBvZiBgYWRkX2ludnVsbmVyYWJsZWAgYW5kIGByZW1vdmVfaW52dWxuZXJhYmxlYCBpbnN0ZWFkLiBBUQFgYmF0Y2hfYWxsYCBjYW4gYWxzbyBiZSB1c2VkIHRvIGVuZm9yY2UgYXRvbWljaXR5LiBJZiBhbnkgY2FuZGlkYXRlcyBhcmUgaW5jbHVkZWQgaW5NAWBuZXdgLCB0aGV5IHNob3VsZCBiZSByZW1vdmVkIHdpdGggYHJlbW92ZV9pbnZ1bG5lcmFibGVfY2FuZGlkYXRlYCBhZnRlciBleGVjdXRpb24uAJRNdXN0IGJlIGNhbGxlZCBieSB0aGUgYFVwZGF0ZU9yaWdpbmAuWHNldF9kZXNpcmVkX2NhbmRpZGF0ZXMEAQxtYXgQAQx1MzIAARRVAVNldCB0aGUgaWRlYWwgbnVtYmVyIG9mIG5vbi1pbnZ1bG5lcmFibGUgY29sbGF0b3JzLiBJZiBsb3dlcmluZyB0aGlzIG51bWJlciwgdGhlbiB0aGVhAW51bWJlciBvZiBydW5uaW5nIGNvbGxhdG9ycyBjb3VsZCBiZSBoaWdoZXIgdGhhbiB0aGlzIGZpZ3VyZS4gQXNpZGUgZnJvbSB0aGF0IGVkZ2UgY2FzZSw1AXRoZXJlIHNob3VsZCBiZSBubyBvdGhlciB3YXkgdG8gaGF2ZSBtb3JlIGNhbmRpZGF0ZXMgdGhhbiB0aGUgZGVzaXJlZCBudW1iZXIuANBUaGUgb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSB0aGUgYFVwZGF0ZU9yaWdpbmAuSHNldF9jYW5kaWRhY3lfYm9uZAQBEGJvbmQYATBCYWxhbmNlT2Y8VD4AAhx4U2V0IHRoZSBjYW5kaWRhY3kgYm9uZCBhbW91bnQuAFEBSWYgdGhlIGNhbmRpZGFjeSBib25kIGlzIGluY3JlYXNlZCBieSB0aGlzIGNhbGwsIGFsbCBjdXJyZW50IGNhbmRpZGF0ZXMgd2hpY2ggaGF2ZSBhTQFkZXBvc2l0IGxvd2VyIHRoYW4gdGhlIG5ldyBib25kIHdpbGwgYmUga2lja2VkIGZyb20gdGhlIGxpc3QgYW5kIGdldCB0aGVpciBkZXBvc2l0cxRiYWNrLgDQVGhlIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgdGhlIGBVcGRhdGVPcmlnaW5gLlRyZWdpc3Rlcl9hc19jYW5kaWRhdGUAAxBBAVJlZ2lzdGVyIHRoaXMgYWNjb3VudCBhcyBhIGNvbGxhdG9yIGNhbmRpZGF0ZS4gVGhlIGFjY291bnQgbXVzdCAoYSkgYWxyZWFkeSBoYXZlHQFyZWdpc3RlcmVkIHNlc3Npb24ga2V5cyBhbmQgKGIpIGJlIGFibGUgdG8gcmVzZXJ2ZSB0aGUgYENhbmRpZGFjeUJvbmRgLgDcVGhpcyBjYWxsIGlzIG5vdCBhdmFpbGFibGUgdG8gYEludnVsbmVyYWJsZWAgY29sbGF0b3JzLjBsZWF2ZV9pbnRlbnQABBRVAURlcmVnaXN0ZXIgYG9yaWdpbmAgYXMgYSBjb2xsYXRvciBjYW5kaWRhdGUuIE5vdGUgdGhhdCB0aGUgY29sbGF0b3IgY2FuIG9ubHkgbGVhdmUgb24NAXNlc3Npb24gY2hhbmdlLiBUaGUgYENhbmRpZGFjeUJvbmRgIHdpbGwgYmUgdW5yZXNlcnZlZCBpbW1lZGlhdGVseS4AGQFUaGlzIGNhbGwgd2lsbCBmYWlsIGlmIHRoZSB0b3RhbCBudW1iZXIgb2YgY2FuZGlkYXRlcyB3b3VsZCBkcm9wIGJlbG93XGBNaW5FbGlnaWJsZUNvbGxhdG9yc2AuQGFkZF9pbnZ1bG5lcmFibGUEAQx3aG8AATBUOjpBY2NvdW50SWQABRBFAUFkZCBhIG5ldyBhY2NvdW50IGB3aG9gIHRvIHRoZSBsaXN0IG9mIGBJbnZ1bG5lcmFibGVzYCBjb2xsYXRvcnMuIGB3aG9gIG11c3QgaGF2ZR0BcmVnaXN0ZXJlZCBzZXNzaW9uIGtleXMuIElmIGB3aG9gIGlzIGEgY2FuZGlkYXRlLCB0aGV5IHdpbGwgYmUgcmVtb3ZlZC4A0FRoZSBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHRoZSBgVXBkYXRlT3JpZ2luYC5McmVtb3ZlX2ludnVsbmVyYWJsZQQBDHdobwABMFQ6OkFjY291bnRJZAAGEGEBUmVtb3ZlIGFuIGFjY291bnQgYHdob2AgZnJvbSB0aGUgbGlzdCBvZiBgSW52dWxuZXJhYmxlc2AgY29sbGF0b3JzLiBgSW52dWxuZXJhYmxlc2AgbXVzdChiZSBzb3J0ZWQuANBUaGUgb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSB0aGUgYFVwZGF0ZU9yaWdpbmAuLHVwZGF0ZV9ib25kBAEsbmV3X2RlcG9zaXQYATBCYWxhbmNlT2Y8VD4ABxxdAVVwZGF0ZSB0aGUgY2FuZGlkYWN5IGJvbmQgb2YgY29sbGF0b3IgY2FuZGlkYXRlIGBvcmlnaW5gIHRvIGEgbmV3IGFtb3VudCBgbmV3X2RlcG9zaXRgLgBBAVNldHRpbmcgYSBgbmV3X2RlcG9zaXRgIHRoYXQgaXMgbG93ZXIgdGhhbiB0aGUgY3VycmVudCBkZXBvc2l0IHdoaWxlIGBvcmlnaW5gIGlz4G9jY3VweWluZyBhIHRvcC1gRGVzaXJlZENhbmRpZGF0ZXNgIHNsb3QgaXMgbm90IGFsbG93ZWQuAFkBVGhpcyBjYWxsIHdpbGwgZmFpbCBpZiBgb3JpZ2luYCBpcyBub3QgYSBjb2xsYXRvciBjYW5kaWRhdGUsIHRoZSB1cGRhdGVkIGJvbmQgaXMgbG93ZXIZAXRoYW4gdGhlIG1pbmltdW0gY2FuZGlkYWN5IGJvbmQsIGFuZC9vciB0aGUgYW1vdW50IGNhbm5vdCBiZSByZXNlcnZlZC5MdGFrZV9jYW5kaWRhdGVfc2xvdAgBHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4AARh0YXJnZXQAATBUOjpBY2NvdW50SWQACBxNAVRoZSBjYWxsZXIgYG9yaWdpbmAgcmVwbGFjZXMgYSBjYW5kaWRhdGUgYHRhcmdldGAgaW4gdGhlIGNvbGxhdG9yIGNhbmRpZGF0ZSBsaXN0IGJ5VQFyZXNlcnZpbmcgYGRlcG9zaXRgLiBUaGUgYW1vdW50IGBkZXBvc2l0YCByZXNlcnZlZCBieSB0aGUgY2FsbGVyIG11c3QgYmUgZ3JlYXRlciB0aGFu4HRoZSBleGlzdGluZyBib25kIG9mIHRoZSB0YXJnZXQgaXQgaXMgdHJ5aW5nIHRvIHJlcGxhY2UuAFkBVGhpcyBjYWxsIHdpbGwgZmFpbCBpZiB0aGUgY2FsbGVyIGlzIGFscmVhZHkgYSBjb2xsYXRvciBjYW5kaWRhdGUgb3IgaW52dWxuZXJhYmxlLCB0aGVVAWNhbGxlciBkb2VzIG5vdCBoYXZlIHJlZ2lzdGVyZWQgc2Vzc2lvbiBrZXlzLCB0aGUgdGFyZ2V0IGlzIG5vdCBhIGNvbGxhdG9yIGNhbmRpZGF0ZSy8YW5kL29yIHRoZSBgZGVwb3NpdGAgYW1vdW50IGNhbm5vdCBiZSByZXNlcnZlZC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuRQYMOHBhbGxldF9zZXNzaW9uGHBhbGxldBBDYWxsBARUAAEIIHNldF9rZXlzCAEQa2V5c0kGARxUOjpLZXlzAAEUcHJvb2Y4ARxWZWM8dTg+AAAk5FNldHMgdGhlIHNlc3Npb24ga2V5KHMpIG9mIHRoZSBmdW5jdGlvbiBjYWxsZXIgdG8gYGtleXNgLh0BQWxsb3dzIGFuIGFjY291bnQgdG8gc2V0IGl0cyBzZXNzaW9uIGtleSBwcmlvciB0byBiZWNvbWluZyBhIHZhbGlkYXRvci7AVGhpcyBkb2Vzbid0IHRha2UgZWZmZWN0IHVudGlsIHRoZSBuZXh0IHNlc3Npb24uANBUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgZnVuY3Rpb24gbXVzdCBiZSBzaWduZWQuADQjIyBDb21wbGV4aXR5WQEtIGBPKDEpYC4gQWN0dWFsIGNvc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGxlbmd0aCBvZiBgVDo6S2V5czo6a2V5X2lkcygpYCB3aGljaCBpcyAgIGZpeGVkLihwdXJnZV9rZXlzAAEwyFJlbW92ZXMgYW55IHNlc3Npb24ga2V5KHMpIG9mIHRoZSBmdW5jdGlvbiBjYWxsZXIuAMBUaGlzIGRvZXNuJ3QgdGFrZSBlZmZlY3QgdW50aWwgdGhlIG5leHQgc2Vzc2lvbi4AVQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgZnVuY3Rpb24gbXVzdCBiZSBTaWduZWQgYW5kIHRoZSBhY2NvdW50IG11c3QgYmUgZWl0aGVyIGJlXQFjb252ZXJ0aWJsZSB0byBhIHZhbGlkYXRvciBJRCB1c2luZyB0aGUgY2hhaW4ncyB0eXBpY2FsIGFkZHJlc3Npbmcgc3lzdGVtICh0aGlzIHVzdWFsbHlRAW1lYW5zIGJlaW5nIGEgY29udHJvbGxlciBhY2NvdW50KSBvciBkaXJlY3RseSBjb252ZXJ0aWJsZSBpbnRvIGEgdmFsaWRhdG9yIElEICh3aGljaJR1c3VhbGx5IG1lYW5zIGJlaW5nIGEgc3Rhc2ggYWNjb3VudCkuADQjIyBDb21wbGV4aXR5PQEtIGBPKDEpYCBpbiBudW1iZXIgb2Yga2V5IHR5cGVzLiBBY3R1YWwgY29zdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgbGVuZ3RoIG9mmCAgYFQ6OktleXM6OmtleV9pZHMoKWAgd2hpY2ggaXMgZml4ZWQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLkkGDDxoeWRyYWR4X3J1bnRpbWUYb3BhcXVlLFNlc3Npb25LZXlzAAAEARBhdXJhTQYBxDxBdXJhIGFzICRjcmF0ZTo6Qm91bmRUb1J1bnRpbWVBcHBQdWJsaWM+OjpQdWJsaWMAAE0GEERzcF9jb25zZW5zdXNfYXVyYRxzcjI1NTE5LGFwcF9zcjI1NTE5GFB1YmxpYwAABAAEATxzcjI1NTE5OjpQdWJsaWMAAFEGDERwYWxsZXRfZW1hX29yYWNsZRhwYWxsZXQQQ2FsbAQEVAABDChhZGRfb3JhY2xlCAEYc291cmNlFQIBGFNvdXJjZQABGGFzc2V0c3UDAUgoQXNzZXRJZCwgQXNzZXRJZCkAAAA0cmVtb3ZlX29yYWNsZQgBGHNvdXJjZRUCARhTb3VyY2UAARhhc3NldHN1AwFIKEFzc2V0SWQsIEFzc2V0SWQpAAEAVHVwZGF0ZV9iaWZyb3N0X29yYWNsZQwBHGFzc2V0X2HJBAGQQm94PHBvbGthZG90X3hjbTo6VmVyc2lvbmVkTG9jYXRpb24+AAEcYXNzZXRfYskEAZBCb3g8cG9sa2Fkb3RfeGNtOjpWZXJzaW9uZWRMb2NhdGlvbj4AARRwcmljZVEDAUgoQmFsYW5jZSwgQmFsYW5jZSkAAgAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuVQYMQHBhbGxldF9icm9hZGNhc3QYcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuWQYMKHNwX3J1bnRpbWUYdHJhaXRzLEJsYWtlVHdvMjU2AAAAAF0GDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBCARTAAAEADgBGFZlYzxUPgAAYQYMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxR0eXBlcxRUYWxseQgUVm90ZXMBGBRUb3RhbAAADAEQYXllcxgBFFZvdGVzAAEQbmF5cxgBFFZvdGVzAAEcc3VwcG9ydBgBFFZvdGVzAABlBgxAcGFsbGV0X3doaXRlbGlzdBhwYWxsZXQURXZlbnQEBFQAAQw8Q2FsbFdoaXRlbGlzdGVkBAEkY2FsbF9oYXNoNAEcVDo6SGFzaAAAAFhXaGl0ZWxpc3RlZENhbGxSZW1vdmVkBAEkY2FsbF9oYXNoNAEcVDo6SGFzaAABAGRXaGl0ZWxpc3RlZENhbGxEaXNwYXRjaGVkCAEkY2FsbF9oYXNoNAEcVDo6SGFzaAABGHJlc3VsdGkGAWhEaXNwYXRjaFJlc3VsdFdpdGhQb3N0SW5mbwACAAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldGkGBBhSZXN1bHQIBFQBbQYERQF1BgEICE9rBABtBgAAAAAMRXJyBAB1BgAAAQAAbQYMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUG9zdERpc3BhdGNoSW5mbwAACAE0YWN0dWFsX3dlaWdodHEGAThPcHRpb248V2VpZ2h0PgABIHBheXNfZmVlZAEQUGF5cwAAcQYEGE9wdGlvbgQEVAEoAQgQTm9uZQAAABBTb21lBAAoAAABAAB1Bggoc3BfcnVudGltZWREaXNwYXRjaEVycm9yV2l0aFBvc3RJbmZvBBBJbmZvAW0GAAgBJHBvc3RfaW5mb20GARBJbmZvAAEUZXJyb3JoATREaXNwYXRjaEVycm9yAAB5BgxEcGFsbGV0X2Rpc3BhdGNoZXIYcGFsbGV0FEV2ZW50BARUAAEIdFRyZWFzdXJ5TWFuYWdlckNhbGxEaXNwYXRjaGVkCAEkY2FsbF9oYXNoNAEcVDo6SGFzaAABGHJlc3VsdGkGAWhEaXNwYXRjaFJlc3VsdFdpdGhQb3N0SW5mbwAAAGRBYXZlTWFuYWdlckNhbGxEaXNwYXRjaGVkCAEkY2FsbF9oYXNoNAEcVDo6SGFzaAABGHJlc3VsdGkGAWhEaXNwYXRjaFJlc3VsdFdpdGhQb3N0SW5mbwABAAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldH0GDFRwYWxsZXRfYXNzZXRfcmVnaXN0cnkYcGFsbGV0FEV2ZW50BARUAAEYWEV4aXN0ZW50aWFsRGVwb3NpdFBhaWQMAQx3aG8AATBUOjpBY2NvdW50SWQAASRmZWVfYXNzZXQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQAACNBFeGlzdGVudGlhbCBkZXBvc2l0IGZvciBpbnN1ZmZpY2luZXQgYXNzZXQgd2FzIHBhaWQunGBTdWZmaWNpZW5jeUNoZWNrYCB0cmlnZ2VycyB0aGlzIGV2ZW50LihSZWdpc3RlcmVkIAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEoYXNzZXRfbmFtZQUDAZhPcHRpb248Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+PgABKGFzc2V0X3R5cGUNAwEkQXNzZXRUeXBlAAFMZXhpc3RlbnRpYWxfZGVwb3NpdBgBHEJhbGFuY2UAATh4Y21fcmF0ZV9saW1pdPQBPE9wdGlvbjxCYWxhbmNlPgABGHN5bWJvbAUDAZhPcHRpb248Qm91bmRlZFZlYzx1OCwgVDo6U3RyaW5nTGltaXQ+PgABIGRlY2ltYWxzEQMBKE9wdGlvbjx1OD4AATRpc19zdWZmaWNpZW50IAEQYm9vbAABBFRBc3NldCB3YXMgcmVnaXN0ZXJlZC4cVXBkYXRlZCABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABKGFzc2V0X25hbWUFAwGYT3B0aW9uPEJvdW5kZWRWZWM8dTgsIFQ6OlN0cmluZ0xpbWl0Pj4AAShhc3NldF90eXBlDQMBJEFzc2V0VHlwZQABTGV4aXN0ZW50aWFsX2RlcG9zaXQYARxCYWxhbmNlAAE4eGNtX3JhdGVfbGltaXT0ATxPcHRpb248QmFsYW5jZT4AARhzeW1ib2wFAwGYT3B0aW9uPEJvdW5kZWRWZWM8dTgsIFQ6OlN0cmluZ0xpbWl0Pj4AASBkZWNpbWFscxEDAShPcHRpb248dTg+AAE0aXNfc3VmZmljaWVudCABEGJvb2wAAgRIQXNzZXQgd2FzIHVwZGF0ZWQuLExvY2F0aW9uU2V0CAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEgbG9jYXRpb24ZAwFYVDo6QXNzZXROYXRpdmVMb2NhdGlvbgADBIROYXRpdmUgbG9jYXRpb24gc2V0IGZvciBhbiBhc3NldC4sQXNzZXRCYW5uZWQEASBhc3NldF9pZBABKFQ6OkFzc2V0SWQABAREQXNzZXQgd2FzIGJhbm5lZC40QXNzZXRVbmJhbm5lZAQBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAAFBGBBc3NldCdzIGJhbiB3YXMgcmVtb3ZlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSBBgw0cGFsbGV0X2NsYWltcxhwYWxsZXQURXZlbnQEBFQAAQQUQ2xhaW0MAAABMFQ6OkFjY291bnRJZAAAhQYBPEV0aGVyZXVtQWRkcmVzcwAAGAEwQmFsYW5jZU9mPFQ+AAAABHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0hQYMNHBhbGxldF9jbGFpbXMYdHJhaXRzPEV0aGVyZXVtQWRkcmVzcwAABABZAQEgW3U4OyAyMF0AAIkGDFxwYWxsZXRfY29sbGF0b3JfcmV3YXJkcxhwYWxsZXQURXZlbnQEBFQAAQRAQ29sbGF0b3JSZXdhcmRlZAwBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAASBjdXJyZW5jeRABNFQ6OkN1cnJlbmN5SWQAAARYQ29sbGF0b3Igd2FzIHJld2FyZGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldI0GDDxwYWxsZXRfb21uaXBvb2wYcGFsbGV0FEV2ZW50BARUAAE0KFRva2VuQWRkZWQMASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAThpbml0aWFsX2Ftb3VudBgBHEJhbGFuY2UAATRpbml0aWFsX3ByaWNlUQEBFFByaWNlAAAEeEFuIGFzc2V0IHdhcyBhZGRlZCB0byBPbW5pcG9vbDBUb2tlblJlbW92ZWQMASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAE0aHViX3dpdGhkcmF3bhgBHEJhbGFuY2UAAQSIQW4gYXNzZXQgd2FzIHJlbW92ZWQgZnJvbSBPbW5pcG9vbDhMaXF1aWRpdHlBZGRlZBABDHdobwABMFQ6OkFjY291bnRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAIEsExpcXVpZGl0eSBvZiBhbiBhc3NldCB3YXMgYWRkZWQgdG8gT21uaXBvb2wuQExpcXVpZGl0eVJlbW92ZWQUAQx3aG8AATBUOjpBY2NvdW50SWQAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAE4c2hhcmVzX3JlbW92ZWQYARxCYWxhbmNlAAEMZmVlUQEBJEZpeGVkVTEyOAADBMBMaXF1aWRpdHkgb2YgYW4gYXNzZXQgd2FzIHJlbW92ZWQgZnJvbSBPbW5pcG9vbC5gUHJvdG9jb2xMaXF1aWRpdHlSZW1vdmVkFAEMd2hvAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABKGh1Yl9hbW91bnQYARxCYWxhbmNlAAE4c2hhcmVzX3JlbW92ZWQYARxCYWxhbmNlAAQEtFBSb3RvY29sIExpcXVpZGl0eSB3YXMgcmVtb3ZlZCBmcm9tIE9tbmlwb29sLjBTZWxsRXhlY3V0ZWQkAQx3aG8AATBUOjpBY2NvdW50SWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAE0aHViX2Ftb3VudF9pbhgBHEJhbGFuY2UAAThodWJfYW1vdW50X291dBgBHEJhbGFuY2UAAUBhc3NldF9mZWVfYW1vdW50GAEcQmFsYW5jZQABTHByb3RvY29sX2ZlZV9hbW91bnQYARxCYWxhbmNlAAUIUFNlbGwgdHJhZGUgZXhlY3V0ZWQuxERlcHJlY2F0ZWQuIFJlcGxhY2VkIGJ5IHBhbGxldF9icm9hZGNhc3Q6OlN3YXBwZWQsQnV5RXhlY3V0ZWQkAQx3aG8AATBUOjpBY2NvdW50SWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAE0aHViX2Ftb3VudF9pbhgBHEJhbGFuY2UAAThodWJfYW1vdW50X291dBgBHEJhbGFuY2UAAUBhc3NldF9mZWVfYW1vdW50GAEcQmFsYW5jZQABTHByb3RvY29sX2ZlZV9hbW91bnQYARxCYWxhbmNlAAYITEJ1eSB0cmFkZSBleGVjdXRlZC7ERGVwcmVjYXRlZC4gUmVwbGFjZWQgYnkgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZDxQb3NpdGlvbkNyZWF0ZWQYASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAARRhc3NldBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEYc2hhcmVzGAEcQmFsYW5jZQABFHByaWNlUQEBFFByaWNlAAcEwExQIFBvc2l0aW9uIHdhcyBjcmVhdGVkIGFuZCBORlQgaW5zdGFuY2UgbWludGVkLkRQb3NpdGlvbkRlc3Ryb3llZAgBLHBvc2l0aW9uX2lkGAFEVDo6UG9zaXRpb25JdGVtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAAIBMhMUCBQb3NpdGlvbiB3YXMgZGVzdHJveWVkIGFuZCBORlQgaW5zdGFuY2UgYnVybmVkLjxQb3NpdGlvblVwZGF0ZWQYASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAARRhc3NldBABKFQ6OkFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEYc2hhcmVzGAEcQmFsYW5jZQABFHByaWNlUQEBFFByaWNlAAkEYExQIFBvc2l0aW9uIHdhcyB1cGRhdGVkLlBUcmFkYWJsZVN0YXRlVXBkYXRlZAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABFHN0YXRlTQMBLFRyYWRhYmlsaXR5AAoEoEFzc2V0J3MgdHJhZGFibGUgc3RhdGUgaGFzIGJlZW4gdXBkYXRlZC40QXNzZXRSZWZ1bmRlZAwBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAASRyZWNpcGllbnQAATBUOjpBY2NvdW50SWQACwRJAUFtb3VudCBoYXMgYmVlbiByZWZ1bmRlZCBmb3IgYXNzZXQgd2hpY2ggaGFzIG5vdCBiZWVuIGFjY2VwdGVkIHRvIGFkZCB0byBvbW5pcG9vbC5UQXNzZXRXZWlnaHRDYXBVcGRhdGVkCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEMY2FwSQMBHFBlcm1pbGwADASQQXNzZXQncyB3ZWlnaHQgY2FwIGhhcyBiZWVuIHVwZGF0ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0kQYMYHBhbGxldF90cmFuc2FjdGlvbl9wYXVzZRhwYWxsZXQURXZlbnQEBFQAAQhEVHJhbnNhY3Rpb25QYXVzZWQIAURwYWxsZXRfbmFtZV9ieXRlczgBHFZlYzx1OD4AAUxmdW5jdGlvbl9uYW1lX2J5dGVzOAEcVmVjPHU4PgAABEhQYXVzZWQgdHJhbnNhY3Rpb25MVHJhbnNhY3Rpb25VbnBhdXNlZAgBRHBhbGxldF9uYW1lX2J5dGVzOAEcVmVjPHU4PgABTGZ1bmN0aW9uX25hbWVfYnl0ZXM4ARxWZWM8dTg+AAEEUFVucGF1c2VkIHRyYW5zYWN0aW9uBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0lQYMNHBhbGxldF9kdXN0ZXIYcGFsbGV0FEV2ZW50BARUAAEMGER1c3RlZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAAQ8QWNjb3VudCBkdXN0ZWQuFEFkZGVkBAEMd2hvAAEwVDo6QWNjb3VudElkAAEEjEFjY291bnQgYWRkZWQgdG8gbm9uLWR1c3RhYmxlIGxpc3QuHFJlbW92ZWQEAQx3aG8AATBUOjpBY2NvdW50SWQAAgScQWNjb3VudCByZW1vdmVkIGZyb20gbm9uLWR1c3RhYmxlIGxpc3QuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0mQYMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFdmVudAgEVAAESQABDFxHbG9iYWxGYXJtQWNjUlBaVXBkYXRlZAwBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE8YWNjdW11bGF0ZWRfcnB6UQEBJEZpeGVkVTEyOAABOHRvdGFsX3NoYXJlc196GAEcQmFsYW5jZQAABNRHbG9iYWwgZmFybSBhY2N1bXVsYXRlZCByZXdhcmQgcGVyIHNoYXJlIHdhcyB1cGRhdGVkLlxZaWVsZEZhcm1BY2NSUFZTVXBkYXRlZBABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAFAYWNjdW11bGF0ZWRfcnB2c1EBASRGaXhlZFUxMjgAAUx0b3RhbF92YWx1ZWRfc2hhcmVzGAEcQmFsYW5jZQABBOxZaWVsZCBmYXJtIGFjY3VtdWxhdGVkIHJld2FyZCBwZXIgdmFsdWVkIHNoYXJlIHdhcyB1cGRhdGVkLlRBbGxSZXdhcmRzRGlzdHJpYnV0ZWQEAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAACBPBHbG9iYWwgZmFybSBoYXMgbm8gbW9yZSByZXdhcmRzIHRvIGRpc3RyaWJ1dGUgaW4gdGhlIG1vbWVudC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSdBgyAcGFsbGV0X29tbmlwb29sX2xpcXVpZGl0eV9taW5pbmcYcGFsbGV0FEV2ZW50BARUAAE0REdsb2JhbEZhcm1DcmVhdGVkKAEIaWQQATBHbG9iYWxGYXJtSWQAARRvd25lcgABMFQ6OkFjY291bnRJZAABNHRvdGFsX3Jld2FyZHMYARxCYWxhbmNlAAE8cmV3YXJkX2N1cnJlbmN5EAEoVDo6QXNzZXRJZAABQHlpZWxkX3Blcl9wZXJpb2RlAwEsUGVycXVpbnRpbGwAAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMQASxQZXJpb2RPZjxUPgABRGJsb2Nrc19wZXJfcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AAVRtYXhfcmV3YXJkX3Blcl9wZXJpb2QYARxCYWxhbmNlAAEsbWluX2RlcG9zaXQYARxCYWxhbmNlAAFUbHJuYV9wcmljZV9hZGp1c3RtZW50UQEBJEZpeGVkVTEyOAAABHBOZXcgZ2xvYmFsIGZhcm0gd2FzIGNyZWF0ZWQuREdsb2JhbEZhcm1VcGRhdGVkEAEIaWQQATBHbG9iYWxGYXJtSWQAAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMQASxQZXJpb2RPZjxUPgABQHlpZWxkX3Blcl9wZXJpb2RlAwEsUGVycXVpbnRpbGwAASxtaW5fZGVwb3NpdBgBHEJhbGFuY2UAAQRcR2xvYmFsIGZhcm0gd2FzIHVwZGF0ZWRQR2xvYmFsRmFybVRlcm1pbmF0ZWQQAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABPHJld2FyZF9jdXJyZW5jeRABKFQ6OkFzc2V0SWQAAVR1bmRpc3RyaWJ1dGVkX3Jld2FyZHMYARxCYWxhbmNlAAIEbEdsb2JhbCBmYXJtIHdhcyB0ZXJtaW5hdGVkLkBZaWVsZEZhcm1DcmVhdGVkFAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAShtdWx0aXBsaWVyUQEBOEZhcm1NdWx0aXBsaWVyAAE0bG95YWx0eV9jdXJ2ZWkDAVBPcHRpb248TG95YWx0eUN1cnZlPgADBJROZXcgeWllbGQgZmFybSB3YXMgYWRkZWQgdG8gdGhlIGZhcm0uQFlpZWxkRmFybVVwZGF0ZWQUAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABDHdobwABMFQ6OkFjY291bnRJZAABKG11bHRpcGxpZXJRAQE4RmFybU11bHRpcGxpZXIABASIWWllbGQgZmFybSBtdWx0aXBsaWVyIHdhcyB1cGRhdGVkLkBZaWVsZEZhcm1TdG9wcGVkEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAQx3aG8AATBUOjpBY2NvdW50SWQABQSYWWllbGQgZmFybSBmb3IgYGFzc2V0X2lkYCB3YXMgc3RvcHBlZC5AWWllbGRGYXJtUmVzdW1lZBQBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEobXVsdGlwbGllclEBAThGYXJtTXVsdGlwbGllcgAGBJhZaWVsZCBmYXJtIGZvciBgYXNzZXRfaWRgIHdhcyByZXN1bWVkLkxZaWVsZEZhcm1UZXJtaW5hdGVkEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAAQx3aG8AATBUOjpBY2NvdW50SWQABwS8WWllbGQgZmFybSB3YXMgdGVybWluYXRlZCBmcm9tIHRoZSBnbG9iYWwgZmFybS48U2hhcmVzRGVwb3NpdGVkHAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAEMd2hvAAEwVDo6QWNjb3VudElkAAE0c2hhcmVzX2Ftb3VudBgBHEJhbGFuY2UAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAgEqE5ldyBMUCBzaGFyZXMoTFAgcG9zaXRpb24pIHdlcmUgZGVwb3NpdGVkLkRTaGFyZXNSZWRlcG9zaXRlZBwBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAABIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABDHdobwABMFQ6OkFjY291bnRJZAABNHNoYXJlc19hbW91bnQYARxCYWxhbmNlAAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAAJBAEBQWxyZWFkeSBsb2NrZWQgTFAgc2hhcmVzIHdlcmUgcmVkZXBvc2l0ZWQgdG8gYW5vdGhlciB5aWVsZCBmYXJtLjRSZXdhcmRDbGFpbWVkGAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARxjbGFpbWVkGAEcQmFsYW5jZQABPHJld2FyZF9jdXJyZW5jeRABKFQ6OkFzc2V0SWQAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAoEVFJld2FyZHMgd2VyZSBjbGFpbWVkLjxTaGFyZXNXaXRoZHJhd24UAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBHEJhbGFuY2UAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAsEZExQIHNoYXJlcyB3ZXJlIHdpdGhkcmF3bi5ARGVwb3NpdERlc3Ryb3llZAgBDHdobwABMFQ6OkFjY291bnRJZAABKGRlcG9zaXRfaWQYASREZXBvc2l0SWQADAQdAUFsbCBMUCBzaGFyZXMgd2VyZSB1bmxvY2tlZCBhbmQgTkZUIHJlcHJlc2VudGluZyBkZXBvc2l0IHdhcyBkZXN0cm95ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0oQYMKHBhbGxldF9vdGMYcGFsbGV0FEV2ZW50BARUAAEQJENhbmNlbGxlZAQBIG9yZGVyX2lkEAEcT3JkZXJJZAAABGxBbiBPcmRlciBoYXMgYmVlbiBjYW5jZWxsZWQYRmlsbGVkFAEgb3JkZXJfaWQQARxPcmRlcklkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAEMZmVlGAEcQmFsYW5jZQABCIxBbiBPcmRlciBoYXMgYmVlbiBjb21wbGV0ZWx5IGZpbGxlZMREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkPFBhcnRpYWxseUZpbGxlZBQBIG9yZGVyX2lkEAEcT3JkZXJJZAABDHdobwABMFQ6OkFjY291bnRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABDGZlZRgBHEJhbGFuY2UAAgiIQW4gT3JkZXIgaGFzIGJlZW4gcGFydGlhbGx5IGZpbGxlZMREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkGFBsYWNlZBgBIG9yZGVyX2lkEAEcT3JkZXJJZAABIGFzc2V0X2luEAEoVDo6QXNzZXRJZAABJGFzc2V0X291dBABKFQ6OkFzc2V0SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAEoYW1vdW50X291dBgBHEJhbGFuY2UAAUhwYXJ0aWFsbHlfZmlsbGFibGUgARBib29sAAMEYEFuIE9yZGVyIGhhcyBiZWVuIHBsYWNlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldKUGDFhwYWxsZXRfY2lyY3VpdF9icmVha2VyGHBhbGxldBRFdmVudAQEVAABDFxUcmFkZVZvbHVtZUxpbWl0Q2hhbmdlZAgBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABSHRyYWRlX3ZvbHVtZV9saW1pdHUDASgodTMyLCB1MzIpAAAErFRyYWRlIHZvbHVtZSBsaW1pdCBvZiBhbiBhc3NldCB3YXMgY2hhbmdlZC5gQWRkTGlxdWlkaXR5TGltaXRDaGFuZ2VkCAEgYXNzZXRfaWQQAShUOjpBc3NldElkAAE8bGlxdWlkaXR5X2xpbWl0nQMBSE9wdGlvbjwodTMyLCB1MzIpPgABBLBBZGQgbGlxdWlkaXR5IGxpbWl0IG9mIGFuIGFzc2V0IHdhcyBjaGFuZ2VkLmxSZW1vdmVMaXF1aWRpdHlMaW1pdENoYW5nZWQIASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAATxsaXF1aWRpdHlfbGltaXSdAwFIT3B0aW9uPCh1MzIsIHUzMik+AAIEvFJlbW92ZSBsaXF1aWRpdHkgbGltaXQgb2YgYW4gYXNzZXQgd2FzIGNoYW5nZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0qQYMVHBhbGxldF9yb3V0ZV9leGVjdXRvchhwYWxsZXQURXZlbnQEBFQAAQggRXhlY3V0ZWQUASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEoVDo6QmFsYW5jZQABKGFtb3VudF9vdXQYAShUOjpCYWxhbmNlAAEgZXZlbnRfaWQQAURJbmNyZW1lbnRhbElkVHlwZQAABNBUaGUgcm91dGUgd2l0aCB0cmFkZXMgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGV4ZWN1dGVkMFJvdXRlVXBkYXRlZAQBJGFzc2V0X2lkc4EDATxWZWM8VDo6QXNzZXRJZD4AAQTQVGhlIHJvdXRlIHdpdGggdHJhZGVzIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBleGVjdXRlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldK0GDExwYWxsZXRfZHluYW1pY19mZWVzGHBhbGxldBRFdmVudAQEVAABAAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldLEGDDhwYWxsZXRfc3Rha2luZxhwYWxsZXQURXZlbnQEBFQAARg8UG9zaXRpb25DcmVhdGVkDAEMd2hvAAEwVDo6QWNjb3VudElkAAEscG9zaXRpb25faWQYAURUOjpQb3NpdGlvbkl0ZW1JZAABFHN0YWtlGAEcQmFsYW5jZQAABNBOZXcgc3Rha2luZyBwb3NpdGlvbiB3YXMgY3JlYXRlZCBhbmQgTkZUIHdhcyBtaW50ZWQuKFN0YWtlQWRkZWQcAQx3aG8AATBUOjpBY2NvdW50SWQAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEUc3Rha2UYARxCYWxhbmNlAAEsdG90YWxfc3Rha2UYARxCYWxhbmNlAAE4bG9ja2VkX3Jld2FyZHMYARxCYWxhbmNlAAE4c2xhc2hlZF9wb2ludHMYARRQb2ludAABSHBheWFibGVfcGVyY2VudGFnZVEBASRGaXhlZFUxMjgAAQTIU3Rha2VkIGFtb3VudCBmb3IgZXhpc3RpbmcgcG9zaXRpb24gd2FzIGluY3JlYXNlZC44UmV3YXJkc0NsYWltZWQcAQx3aG8AATBUOjpBY2NvdW50SWQAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAEwcGFpZF9yZXdhcmRzGAEcQmFsYW5jZQABQHVubG9ja2VkX3Jld2FyZHMYARxCYWxhbmNlAAE4c2xhc2hlZF9wb2ludHMYARRQb2ludAABWHNsYXNoZWRfdW5wYWlkX3Jld2FyZHMYARxCYWxhbmNlAAFIcGF5YWJsZV9wZXJjZW50YWdlUQEBJEZpeGVkVTEyOAACBFRSZXdhcmRzIHdlcmUgY2xhaW1lZC4gVW5zdGFrZWQMAQx3aG8AATBUOjpBY2NvdW50SWQAASxwb3NpdGlvbl9pZBgBRFQ6OlBvc2l0aW9uSXRlbUlkAAE4dW5sb2NrZWRfc3Rha2UYARxCYWxhbmNlAAMEvFN0YWtlZCBhbW91bnQgd2FzIHdpdGhkcmF3biBhbmQgTkZUIHdhcyBidXJuZWQuSFN0YWtpbmdJbml0aWFsaXplZAQBUG5vbl9kdXN0YWJsZV9iYWxhbmNlGAEcQmFsYW5jZQAEBGBTdGFraW5nIHdhcyBpbml0aWFsaXplZC5UQWNjdW11bGF0ZWRScHNVcGRhdGVkCAE8YWNjdW11bGF0ZWRfcnBzUQEBJEZpeGVkVTEyOAABLHRvdGFsX3N0YWtlGAEcQmFsYW5jZQAFBNRTdGFraW5nJ3MgYGFjY3VtdWxhdGVkX3Jld2FyZF9wZXJfc3Rha2VgIHdhcyB1cGRhdGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldLUGDERwYWxsZXRfc3RhYmxlc3dhcBhwYWxsZXQURXZlbnQEBFQAASQsUG9vbENyZWF0ZWQUARxwb29sX2lkEAEoVDo6QXNzZXRJZAABGGFzc2V0c4EDATxWZWM8VDo6QXNzZXRJZD4AATRhbXBsaWZpY2F0aW9uuQYBKE5vblplcm9VMTYAAQxmZWVJAwEcUGVybWlsbAABDHBlZ70GAXxPcHRpb248UG9vbFBlZ0luZm88VDo6QXNzZXRJZD4+AAAETEEgcG9vbCB3YXMgY3JlYXRlZC4oRmVlVXBkYXRlZAgBHHBvb2xfaWQQAShUOjpBc3NldElkAAEMZmVlSQMBHFBlcm1pbGwAAQRoUG9vbCBmZWUgaGFzIGJlZW4gdXBkYXRlZC44TGlxdWlkaXR5QWRkZWQQARxwb29sX2lkEAEoVDo6QXNzZXRJZAABDHdobwABMFQ6OkFjY291bnRJZAABGHNoYXJlcxgBHEJhbGFuY2UAARhhc3NldHONAwFwVmVjPEFzc2V0QW1vdW50PFQ6OkFzc2V0SWQ+PgACBKhMaXF1aWRpdHkgb2YgYW4gYXNzZXQgd2FzIGFkZGVkIHRvIGEgcG9vbC5ATGlxdWlkaXR5UmVtb3ZlZBQBHHBvb2xfaWQQAShUOjpBc3NldElkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYc2hhcmVzGAEcQmFsYW5jZQABHGFtb3VudHONAwFwVmVjPEFzc2V0QW1vdW50PFQ6OkFzc2V0SWQ+PgABDGZlZRgBHEJhbGFuY2UAAwRITGlxdWlkaXR5IHJlbW92ZWQuMFNlbGxFeGVjdXRlZBwBDHdobwABMFQ6OkFjY291bnRJZAABHHBvb2xfaWQQAShUOjpBc3NldElkAAEgYXNzZXRfaW4QAShUOjpBc3NldElkAAEkYXNzZXRfb3V0EAEoVDo6QXNzZXRJZAABJGFtb3VudF9pbhgBHEJhbGFuY2UAAShhbW91bnRfb3V0GAEcQmFsYW5jZQABDGZlZRgBHEJhbGFuY2UABAiNAVNlbGwgdHJhZGUgZXhlY3V0ZWQuIFRyYWRlIGZlZSBwYWlkIGluIGFzc2V0IGxlYXZpbmcgdGhlIHBvb2wgKGFscmVhZHkgc3VidHJhY3RlZCBmcm9tIGFtb3VudF9vdXQpLsREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkLEJ1eUV4ZWN1dGVkHAEMd2hvAAEwVDo6QWNjb3VudElkAAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASBhc3NldF9pbhABKFQ6OkFzc2V0SWQAASRhc3NldF9vdXQQAShUOjpBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAEMZmVlGAEcQmFsYW5jZQAFCHkBQnV5IHRyYWRlIGV4ZWN1dGVkLiBUcmFkZSBmZWUgcGFpZCBpbiBhc3NldCBlbnRlcmluZyB0aGUgcG9vbCAoYWxyZWFkeSBpbmNsdWRlZCBpbiBhbW91bnRfaW4pLsREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkUFRyYWRhYmxlU3RhdGVVcGRhdGVkDAEccG9vbF9pZBABKFQ6OkFzc2V0SWQAASBhc3NldF9pZBABKFQ6OkFzc2V0SWQAARRzdGF0ZckDASxUcmFkYWJpbGl0eQAGBKBBc3NldCdzIHRyYWRhYmxlIHN0YXRlIGhhcyBiZWVuIHVwZGF0ZWQuVEFtcGxpZmljYXRpb25DaGFuZ2luZxQBHHBvb2xfaWQQAShUOjpBc3NldElkAAFUY3VycmVudF9hbXBsaWZpY2F0aW9uuQYBKE5vblplcm9VMTYAAUxmaW5hbF9hbXBsaWZpY2F0aW9uuQYBKE5vblplcm9VMTYAASxzdGFydF9ibG9jaxABREJsb2NrTnVtYmVyRm9yPFQ+AAEkZW5kX2Jsb2NrEAFEQmxvY2tOdW1iZXJGb3I8VD4ABwTUQW1wbGlmaWNhdGlvbiBvZiBhIHBvb2wgaGFzIGJlZW4gc2NoZWR1bGVkIHRvIGNoYW5nZS40UG9vbERlc3Ryb3llZAQBHHBvb2xfaWQQAShUOjpBc3NldElkAAgEaEEgcG9vbCBoYXMgYmVlbiBkZXN0cm95ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0uQYEKE5vblplcm9VMTYAAAQA3AAAAL0GBBhPcHRpb24EBFQBwQYBCBBOb25lAAAAEFNvbWUEAMEGAAABAADBBgxEcGFsbGV0X3N0YWJsZXN3YXAUdHlwZXMsUG9vbFBlZ0luZm8EHEFzc2V0SWQBEAAMARhzb3VyY2XNAwFoQm91bmRlZFBlZ1NvdXJjZXM8QXNzZXRJZD4AAThtYXhfcGVnX3VwZGF0ZUkDARxQZXJtaWxsAAEcY3VycmVudMUGASxCb3VuZGVkUGVncwAAxQYMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFRAwRTAAAEAMkGARhWZWM8VD4AAMkGAAACUQMAzQYMMHBhbGxldF9ib25kcxhwYWxsZXQURXZlbnQEBFQAAQwwVG9rZW5DcmVhdGVkEAEYaXNzdWVyAAEwVDo6QWNjb3VudElkAAEgYXNzZXRfaWQQARxBc3NldElkAAEcYm9uZF9pZBABHEFzc2V0SWQAASBtYXR1cml0eTABGE1vbWVudAAABGxBIGJvbmQgYXNzZXQgd2FzIHJlZ2lzdGVyZWQYSXNzdWVkEAEYaXNzdWVyAAEwVDo6QWNjb3VudElkAAEcYm9uZF9pZBABHEFzc2V0SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAEMZmVlGAEoVDo6QmFsYW5jZQABBFBOZXcgYm9uZCB3ZXJlIGlzc3VlZCBSZWRlZW1lZAwBDHdobwABMFQ6OkFjY291bnRJZAABHGJvbmRfaWQQARxBc3NldElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQACBExCb25kcyB3ZXJlIHJlZGVlbWVkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV00QYMWHBhbGxldF9vdGNfc2V0dGxlbWVudHMYcGFsbGV0FEV2ZW50BARUAAEEIEV4ZWN1dGVkCAEgYXNzZXRfaWQQATBBc3NldElkT2Y8VD4AARhwcm9maXQYARxCYWxhbmNlAAAEZEEgdHJhZGUgaGFzIGJlZW4gZXhlY3V0ZWQEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXTVBgwocGFsbGV0X2xicBhwYWxsZXQURXZlbnQEBFQAARgsUG9vbENyZWF0ZWQIARBwb29sAAEkUG9vbElkPFQ+AAEQZGF0YdkGAZRQb29sPFQ6OkFjY291bnRJZCwgQmxvY2tOdW1iZXJGb3I8VD4+AAAEsFBvb2wgd2FzIGNyZWF0ZWQgYnkgdGhlIGBDcmVhdGVQb29sYCBvcmlnaW4uLFBvb2xVcGRhdGVkCAEQcG9vbAABJFBvb2xJZDxUPgABEGRhdGHZBgGUUG9vbDxUOjpBY2NvdW50SWQsIEJsb2NrTnVtYmVyRm9yPFQ+PgABBFxQb29sIGRhdGEgd2VyZSB1cGRhdGVkLjhMaXF1aWRpdHlBZGRlZBQBDHdobwABMFQ6OkFjY291bnRJZAABHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAASBhbW91bnRfYRgBMEJhbGFuY2VPZjxUPgABIGFtb3VudF9iGAEwQmFsYW5jZU9mPFQ+AAIEnE5ldyBsaXF1aWRpdHkgd2FzIHByb3ZpZGVkIHRvIHRoZSBwb29sLkBMaXF1aWRpdHlSZW1vdmVkFAEMd2hvAAEwVDo6QWNjb3VudElkAAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABIGFtb3VudF9hGAEwQmFsYW5jZU9mPFQ+AAEgYW1vdW50X2IYATBCYWxhbmNlT2Y8VD4AAwT8TGlxdWlkaXR5IHdhcyByZW1vdmVkIGZyb20gdGhlIHBvb2wgYW5kIHRoZSBwb29sIHdhcyBkZXN0cm95ZWQuMFNlbGxFeGVjdXRlZBwBDHdobwABMFQ6OkFjY291bnRJZAABIGFzc2V0X2luEAEcQXNzZXRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4AAShzYWxlX3ByaWNlGAEwQmFsYW5jZU9mPFQ+AAEkZmVlX2Fzc2V0EAEcQXNzZXRJZAABKGZlZV9hbW91bnQYATBCYWxhbmNlT2Y8VD4ABAg4U2FsZSBleGVjdXRlZC7ERGVwcmVjYXRlZC4gUmVwbGFjZWQgYnkgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZCxCdXlFeGVjdXRlZBwBDHdobwABMFQ6OkFjY291bnRJZAABJGFzc2V0X291dBABHEFzc2V0SWQAASBhc3NldF9pbhABHEFzc2V0SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4AASRidXlfcHJpY2UYATBCYWxhbmNlT2Y8VD4AASRmZWVfYXNzZXQQARxBc3NldElkAAEoZmVlX2Ftb3VudBgBMEJhbGFuY2VPZjxUPgAFCEhQdXJjaGFzZSBleGVjdXRlZC7ERGVwcmVjYXRlZC4gUmVwbGFjZWQgYnkgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldNkGCChwYWxsZXRfbGJwEFBvb2wIJEFjY291bnRJZAEALEJsb2NrTnVtYmVyARAAKAEUb3duZXIAASRBY2NvdW50SWQAARRzdGFydG0BAUxPcHRpb248QmxvY2tOdW1iZXI+AAEMZW5kbQEBTE9wdGlvbjxCbG9ja051bWJlcj4AARhhc3NldHN1AwFIKEFzc2V0SWQsIEFzc2V0SWQpAAE4aW5pdGlhbF93ZWlnaHQQASRMQlBXZWlnaHQAATBmaW5hbF93ZWlnaHQQASRMQlBXZWlnaHQAATB3ZWlnaHRfY3VydmXtAwE8V2VpZ2h0Q3VydmVUeXBlAAEMZmVldQMBKCh1MzIsIHUzMikAATRmZWVfY29sbGVjdG9yAAEkQWNjb3VudElkAAEwcmVwYXlfdGFyZ2V0GAEcQmFsYW5jZQAA3QYMKHBhbGxldF94eWsYcGFsbGV0FEV2ZW50BARUAAEYOExpcXVpZGl0eUFkZGVkFAEMd2hvAAEwVDo6QWNjb3VudElkAAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABIGFtb3VudF9hGAEcQmFsYW5jZQABIGFtb3VudF9iGAEcQmFsYW5jZQAABJxOZXcgbGlxdWlkaXR5IHdhcyBwcm92aWRlZCB0byB0aGUgcG9vbC5ATGlxdWlkaXR5UmVtb3ZlZBABDHdobwABMFQ6OkFjY291bnRJZAABHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAARhzaGFyZXMYARxCYWxhbmNlAAEEkExpcXVpZGl0eSB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBwb29sLixQb29sQ3JlYXRlZBgBDHdobwABMFQ6OkFjY291bnRJZAABHGFzc2V0X2EQARxBc3NldElkAAEcYXNzZXRfYhABHEFzc2V0SWQAAVRpbml0aWFsX3NoYXJlc19hbW91bnQYARxCYWxhbmNlAAEsc2hhcmVfdG9rZW4QARxBc3NldElkAAEQcG9vbAABMFQ6OkFjY291bnRJZAACBERQb29sIHdhcyBjcmVhdGVkLjRQb29sRGVzdHJveWVkFAEMd2hvAAEwVDo6QWNjb3VudElkAAEcYXNzZXRfYRABHEFzc2V0SWQAARxhc3NldF9iEAEcQXNzZXRJZAABLHNoYXJlX3Rva2VuEAEcQXNzZXRJZAABEHBvb2wAATBUOjpBY2NvdW50SWQAAwRMUG9vbCB3YXMgZGVzdHJveWVkLjBTZWxsRXhlY3V0ZWQgAQx3aG8AATBUOjpBY2NvdW50SWQAASBhc3NldF9pbhABHEFzc2V0SWQAASRhc3NldF9vdXQQARxBc3NldElkAAEYYW1vdW50GAEcQmFsYW5jZQABKHNhbGVfcHJpY2UYARxCYWxhbmNlAAEkZmVlX2Fzc2V0EAEcQXNzZXRJZAABKGZlZV9hbW91bnQYARxCYWxhbmNlAAEQcG9vbAABMFQ6OkFjY291bnRJZAAECFBBc3NldCBzYWxlIGV4ZWN1dGVkLsREZXByZWNhdGVkLiBSZXBsYWNlZCBieSBwYWxsZXRfYnJvYWRjYXN0OjpTd2FwcGVkLEJ1eUV4ZWN1dGVkIAEMd2hvAAEwVDo6QWNjb3VudElkAAEkYXNzZXRfb3V0EAEcQXNzZXRJZAABIGFzc2V0X2luEAEcQXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAASRidXlfcHJpY2UYARxCYWxhbmNlAAEkZmVlX2Fzc2V0EAEcQXNzZXRJZAABKGZlZV9hbW91bnQYARxCYWxhbmNlAAEQcG9vbAABMFQ6OkFjY291bnRJZAAFCGBBc3NldCBwdXJjaGFzZSBleGVjdXRlZC7ERGVwcmVjYXRlZC4gUmVwbGFjZWQgYnkgcGFsbGV0X2Jyb2FkY2FzdDo6U3dhcHBlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldOEGDEBwYWxsZXRfcmVmZXJyYWxzGHBhbGxldBRFdmVudAQEVAABGDhDb2RlUmVnaXN0ZXJlZAgBEGNvZGX9AwFsUmVmZXJyYWxDb2RlPFQ6OkNvZGVMZW5ndGg+AAEcYWNjb3VudAABMFQ6OkFjY291bnRJZAAABIhSZWZlcnJhbCBjb2RlIGhhcyBiZWVuIHJlZ2lzdGVyZWQuKENvZGVMaW5rZWQMARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAEQY29kZf0DAWxSZWZlcnJhbENvZGU8VDo6Q29kZUxlbmd0aD4AAUByZWZlcnJhbF9hY2NvdW50AAEwVDo6QWNjb3VudElkAAEEsFJlZmVycmFsIGNvZGUgaGFzIGJlZW4gbGlua2VkIHRvIGFuIGFjY291bnQuJENvbnZlcnRlZAgBEGZyb23lBgFcQXNzZXRBbW91bnQ8VDo6QXNzZXRJZD4AAQh0b+UGAVxBc3NldEFtb3VudDxUOjpBc3NldElkPgACBKBBc3NldCBoYXMgYmVlbiBjb252ZXJ0ZWQgdG8gUmV3YXJkQXNzZXQuHENsYWltZWQMAQx3aG8AATBUOjpBY2NvdW50SWQAAUByZWZlcnJlcl9yZXdhcmRzGAEcQmFsYW5jZQABNHRyYWRlX3Jld2FyZHMYARxCYWxhbmNlAAMEQFJld2FyZHMgY2xhaW1lZC5MQXNzZXRSZXdhcmRzVXBkYXRlZAwBIGFzc2V0X2lkEAEoVDo6QXNzZXRJZAABFGxldmVsAQQBFExldmVsAAEccmV3YXJkcwUEATxGZWVEaXN0cmlidXRpb24ABAR8TmV3IGFzc2V0IHJld2FyZHMgaGFzIGJlZW4gc2V0LhxMZXZlbFVwCAEMd2hvAAEwVDo6QWNjb3VudElkAAEUbGV2ZWwBBAEUTGV2ZWwABQRsUmVmZXJyZXIgcmVhY2hlZCBuZXcgbGV2ZWwuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV05QYIQHBhbGxldF9yZWZlcnJhbHMsQXNzZXRBbW91bnQEHEFzc2V0SWQBEAAIASBhc3NldF9pZBABHEFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAADpBgxIcGFsbGV0X2xpcXVpZGF0aW9uGHBhbGxldBRFdmVudAQEVAABBChMaXF1aWRhdGVkFAEQdXNlclUBAShFdm1BZGRyZXNzAAFAY29sbGF0ZXJhbF9hc3NldBABHEFzc2V0SWQAAShkZWJ0X2Fzc2V0EAEcQXNzZXRJZAABNGRlYnRfdG9fY292ZXIYARxCYWxhbmNlAAEYcHJvZml0GAEcQmFsYW5jZQAABKRNb25leSBtYXJrZXQgcG9zaXRpb24gaGFzIGJlZW4gbGlxdWlkYXRlZAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldO0GDCxvcm1sX3Rva2Vucxhtb2R1bGUURXZlbnQEBFQAAUQcRW5kb3dlZAwBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAAS4QW4gYWNjb3VudCB3YXMgY3JlYXRlZCB3aXRoIHNvbWUgZnJlZSBiYWxhbmNlLiBEdXN0TG9zdAwBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UAAQjsQW4gYWNjb3VudCB3YXMgcmVtb3ZlZCB3aG9zZSBiYWxhbmNlIHdhcyBub24temVybyBidXQgYmVsb3fIRXhpc3RlbnRpYWxEZXBvc2l0LCByZXN1bHRpbmcgaW4gYW4gb3V0cmlnaHQgbG9zcy4gVHJhbnNmZXIQASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARBmcm9tAAEwVDo6QWNjb3VudElkAAEIdG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAIETFRyYW5zZmVyIHN1Y2NlZWRlZC4gUmVzZXJ2ZWQMASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAME4FNvbWUgYmFsYW5jZSB3YXMgcmVzZXJ2ZWQgKG1vdmVkIGZyb20gZnJlZSB0byByZXNlcnZlZCkuKFVucmVzZXJ2ZWQMASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAQE6FNvbWUgYmFsYW5jZSB3YXMgdW5yZXNlcnZlZCAobW92ZWQgZnJvbSByZXNlcnZlZCB0byBmcmVlKS5IUmVzZXJ2ZVJlcGF0cmlhdGVkFAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEQZnJvbQABMFQ6OkFjY291bnRJZAABCHRvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQABGHN0YXR1c4ABNEJhbGFuY2VTdGF0dXMABQj0U29tZSByZXNlcnZlZCBiYWxhbmNlIHdhcyByZXBhdHJpYXRlZCAobW92ZWQgZnJvbSByZXNlcnZlZCB0b0Rhbm90aGVyIGFjY291bnQpLihCYWxhbmNlU2V0EAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEQZnJlZRgBKFQ6OkJhbGFuY2UAASByZXNlcnZlZBgBKFQ6OkJhbGFuY2UABgRoQSBiYWxhbmNlIHdhcyBzZXQgYnkgcm9vdC5AVG90YWxJc3N1YW5jZVNldAgBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UABwS4VGhlIHRvdGFsIGlzc3VhbmNlIG9mIGFuIGN1cnJlbmN5IGhhcyBiZWVuIHNldCRXaXRoZHJhd24MASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAgE7FNvbWUgYmFsYW5jZXMgd2VyZSB3aXRoZHJhd24gKGUuZy4gcGF5IGZvciB0cmFuc2FjdGlvbiBmZWUpHFNsYXNoZWQQASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAASxmcmVlX2Ftb3VudBgBKFQ6OkJhbGFuY2UAATxyZXNlcnZlZF9hbW91bnQYAShUOjpCYWxhbmNlAAkE1FNvbWUgYmFsYW5jZXMgd2VyZSBzbGFzaGVkIChlLmcuIGR1ZSB0byBtaXMtYmVoYXZpb3IpJERlcG9zaXRlZAwBLGN1cnJlbmN5X2lkEAE0VDo6Q3VycmVuY3lJZAABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBKFQ6OkJhbGFuY2UACgSYRGVwb3NpdGVkIHNvbWUgYmFsYW5jZSBpbnRvIGFuIGFjY291bnQcTG9ja1NldBABHGxvY2tfaWQVAgE4TG9ja0lkZW50aWZpZXIAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAAsEVFNvbWUgZnVuZHMgYXJlIGxvY2tlZCxMb2NrUmVtb3ZlZAwBHGxvY2tfaWQVAgE4TG9ja0lkZW50aWZpZXIAASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQADAR8U29tZSBsb2NrZWQgZnVuZHMgd2VyZSB1bmxvY2tlZBhMb2NrZWQMASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYAShUOjpCYWxhbmNlAA0EdFNvbWUgZnJlZSBiYWxhbmNlIHdhcyBsb2NrZWQuIFVubG9ja2VkDAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAOBHhTb21lIGxvY2tlZCBiYWxhbmNlIHdhcyBmcmVlZC4YSXNzdWVkCAEsY3VycmVuY3lfaWQQATRUOjpDdXJyZW5jeUlkAAEYYW1vdW50GAEoVDo6QmFsYW5jZQAPACRSZXNjaW5kZWQIASxjdXJyZW5jeV9pZBABNFQ6OkN1cnJlbmN5SWQAARhhbW91bnQYAShUOjpCYWxhbmNlABAABHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV08QYMRHBhbGxldF9jdXJyZW5jaWVzGG1vZHVsZRRFdmVudAQEVAABECxUcmFuc2ZlcnJlZBABLGN1cnJlbmN5X2lkEAE8Q3VycmVuY3lJZE9mPFQ+AAEQZnJvbQABMFQ6OkFjY291bnRJZAABCHRvAAEwVDo6QWNjb3VudElkAAEYYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAAEaEN1cnJlbmN5IHRyYW5zZmVyIHN1Y2Nlc3MuOEJhbGFuY2VVcGRhdGVkDAEsY3VycmVuY3lfaWQQATxDdXJyZW5jeUlkT2Y8VD4AAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQVBAEsQW1vdW50T2Y8VD4AAQRcVXBkYXRlIGJhbGFuY2Ugc3VjY2Vzcy4kRGVwb3NpdGVkDAEsY3VycmVuY3lfaWQQATxDdXJyZW5jeUlkT2Y8VD4AAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYATBCYWxhbmNlT2Y8VD4AAgRARGVwb3NpdCBzdWNjZXNzLiRXaXRoZHJhd24MASxjdXJyZW5jeV9pZBABPEN1cnJlbmN5SWRPZjxUPgABDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgADBERXaXRoZHJhdyBzdWNjZXNzLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldPUGDDBvcm1sX3Zlc3RpbmcYbW9kdWxlFEV2ZW50BARUAAEMUFZlc3RpbmdTY2hlZHVsZUFkZGVkDAEQZnJvbQABMFQ6OkFjY291bnRJZAABCHRvAAEwVDo6QWNjb3VudElkAAFAdmVzdGluZ19zY2hlZHVsZR0EAVBWZXN0aW5nU2NoZWR1bGVPZjxUPgAABGxBZGRlZCBuZXcgdmVzdGluZyBzY2hlZHVsZS4cQ2xhaW1lZAgBDHdobwABMFQ6OkFjY291bnRJZAABGGFtb3VudBgBMEJhbGFuY2VPZjxUPgABBEBDbGFpbWVkIHZlc3RpbmcuXFZlc3RpbmdTY2hlZHVsZXNVcGRhdGVkBAEMd2hvAAEwVDo6QWNjb3VudElkAAIEaFVwZGF0ZWQgdmVzdGluZyBzY2hlZHVsZXMuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0+QYMKHBhbGxldF9ldm0YcGFsbGV0FEV2ZW50BARUAAEUDExvZwQBDGxvZ/0GAQxMb2cAAAR8RXRoZXJldW0gZXZlbnRzIGZyb20gY29udHJhY3RzLhxDcmVhdGVkBAEcYWRkcmVzc1UBARBIMTYwAAEEtEEgY29udHJhY3QgaGFzIGJlZW4gY3JlYXRlZCBhdCBnaXZlbiBhZGRyZXNzLjRDcmVhdGVkRmFpbGVkBAEcYWRkcmVzc1UBARBIMTYwAAIEBQFBIGNvbnRyYWN0IHdhcyBhdHRlbXB0ZWQgdG8gYmUgY3JlYXRlZCwgYnV0IHRoZSBleGVjdXRpb24gZmFpbGVkLiBFeGVjdXRlZAQBHGFkZHJlc3NVAQEQSDE2MAADBPhBIGNvbnRyYWN0IGhhcyBiZWVuIGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseSB3aXRoIHN0YXRlcyBhcHBsaWVkLjhFeGVjdXRlZEZhaWxlZAQBHGFkZHJlc3NVAQEQSDE2MAAEBGUBQSBjb250cmFjdCBoYXMgYmVlbiBleGVjdXRlZCB3aXRoIGVycm9ycy4gU3RhdGVzIGFyZSByZXZlcnRlZCB3aXRoIG9ubHkgZ2FzIGZlZXMgYXBwbGllZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXT9BgwgZXRoZXJldW0MbG9nDExvZwAADAEcYWRkcmVzc1UBARBIMTYwAAEYdG9waWNz4QEBJFZlYzxIMjU2PgABEGRhdGE4ARRCeXRlcwAAAQcMPHBhbGxldF9ldGhlcmV1bRhwYWxsZXQURXZlbnQAAQQgRXhlY3V0ZWQUARBmcm9tVQEBEEgxNjAAAQh0b1UBARBIMTYwAAFAdHJhbnNhY3Rpb25faGFzaDQBEEgyNTYAASxleGl0X3JlYXNvbgUHAShFeGl0UmVhc29uAAEoZXh0cmFfZGF0YTgBHFZlYzx1OD4AAATIQW4gZXRoZXJldW0gdHJhbnNhY3Rpb24gd2FzIHN1Y2Nlc3NmdWxseSBleGVjdXRlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQFBwwgZXZtX2NvcmUUZXJyb3IoRXhpdFJlYXNvbgABEBxTdWNjZWVkBAAJBwEsRXhpdFN1Y2NlZWQAAAAURXJyb3IEAA0HASRFeGl0RXJyb3IAAQAYUmV2ZXJ0BAAdBwEoRXhpdFJldmVydAACABRGYXRhbAQAIQcBJEV4aXRGYXRhbAADAAAJBwwgZXZtX2NvcmUUZXJyb3IsRXhpdFN1Y2NlZWQAAQwcU3RvcHBlZAAAACBSZXR1cm5lZAABACBTdWljaWRlZAACAAANBwwgZXZtX2NvcmUUZXJyb3IkRXhpdEVycm9yAAFAOFN0YWNrVW5kZXJmbG93AAAANFN0YWNrT3ZlcmZsb3cAAQAsSW52YWxpZEp1bXAAAgAwSW52YWxpZFJhbmdlAAMARERlc2lnbmF0ZWRJbnZhbGlkAAQALENhbGxUb29EZWVwAAUAPENyZWF0ZUNvbGxpc2lvbgAGAExDcmVhdGVDb250cmFjdExpbWl0AAcALEludmFsaWRDb2RlBAARBwEYT3Bjb2RlAA8ALE91dE9mT2Zmc2V0AAgAIE91dE9mR2FzAAkAJE91dE9mRnVuZAAKACxQQ1VuZGVyZmxvdwALACxDcmVhdGVFbXB0eQAMABRPdGhlcgQAFQcBRENvdzwnc3RhdGljLCBzdHI+AA0AIE1heE5vbmNlAA4AABEHDCBldm1fY29yZRhvcGNvZGUYT3Bjb2RlAAAEAAgBCHU4AAAVBwQMQ293BARUARkHAAQAGQcAAAAZBwAABQIAHQcMIGV2bV9jb3JlFGVycm9yKEV4aXRSZXZlcnQAAQQgUmV2ZXJ0ZWQAAAAAIQcMIGV2bV9jb3JlFGVycm9yJEV4aXRGYXRhbAABEDBOb3RTdXBwb3J0ZWQAAABIVW5oYW5kbGVkSW50ZXJydXB0AAEAQENhbGxFcnJvckFzRmF0YWwEAA0HASRFeGl0RXJyb3IAAgAUT3RoZXIEABUHAURDb3c8J3N0YXRpYywgc3RyPgADAAAlBwxMcGFsbGV0X2V2bV9hY2NvdW50cxhwYWxsZXQURXZlbnQEBFQAARQUQm91bmQIARxhY2NvdW50AAEwVDo6QWNjb3VudElkAAEcYWRkcmVzc1UBAShFdm1BZGRyZXNzAAAEUEJpbmRpbmcgd2FzIGNyZWF0ZWQuNERlcGxveWVyQWRkZWQEAQx3aG9VAQEoRXZtQWRkcmVzcwABBExEZXBsb3llciB3YXMgYWRkZWQuPERlcGxveWVyUmVtb3ZlZAQBDHdob1UBAShFdm1BZGRyZXNzAAIEVERlcGxveWVyIHdhcyByZW1vdmVkLkBDb250cmFjdEFwcHJvdmVkBAEcYWRkcmVzc1UBAShFdm1BZGRyZXNzAAMEWENvbnRyYWN0IHdhcyBhcHByb3ZlZC5MQ29udHJhY3REaXNhcHByb3ZlZAQBHGFkZHJlc3NVAQEoRXZtQWRkcmVzcwAEBGRDb250cmFjdCB3YXMgZGlzYXBwcm92ZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0KQcMbHBhbGxldF94eWtfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQURXZlbnQEBFQAATRER2xvYmFsRmFybUNyZWF0ZWQsAQhpZBABMEdsb2JhbEZhcm1JZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAE0dG90YWxfcmV3YXJkcxgBHEJhbGFuY2UAATxyZXdhcmRfY3VycmVuY3kQARxBc3NldElkAAFAeWllbGRfcGVyX3BlcmlvZGUDASxQZXJxdWludGlsbAABYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcxABLFBlcmlvZE9mPFQ+AAFEYmxvY2tzX3Blcl9wZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgABSGluY2VudGl2aXplZF9hc3NldBABHEFzc2V0SWQAAVRtYXhfcmV3YXJkX3Blcl9wZXJpb2QYARxCYWxhbmNlAAEsbWluX2RlcG9zaXQYARxCYWxhbmNlAAFAcHJpY2VfYWRqdXN0bWVudFEBASRGaXhlZFUxMjgAAARwTmV3IGdsb2JhbCBmYXJtIHdhcyBjcmVhdGVkLkRHbG9iYWxGYXJtVXBkYXRlZAgBCGlkEAEwR2xvYmFsRmFybUlkAAFAcHJpY2VfYWRqdXN0bWVudFEBASRGaXhlZFUxMjgAAQS0R2xvYmFsIGZhcm0ncyBgcHJpY2VfYWRqdXN0bWVudGAgd2FzIHVwZGF0ZWQuQFlpZWxkRmFybUNyZWF0ZWQUAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABKG11bHRpcGxpZXJRAQE4RmFybU11bHRpcGxpZXIAAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgABNGxveWFsdHlfY3VydmVpAwFQT3B0aW9uPExveWFsdHlDdXJ2ZT4AAgScTmV3IHlpZWxkIGZhcm0gd2FzIGFkZGVkIGludG8gdGhlIGZhcm0uUEdsb2JhbEZhcm1UZXJtaW5hdGVkEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAATxyZXdhcmRfY3VycmVuY3kQARxBc3NldElkAAFUdW5kaXN0cmlidXRlZF9yZXdhcmRzGAEcQmFsYW5jZQADBGxHbG9iYWwgZmFybSB3YXMgdGVybWluYXRlZC48U2hhcmVzRGVwb3NpdGVkGAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYARxCYWxhbmNlAAEgbHBfdG9rZW4QARxBc3NldElkAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAAEBHBOZXcgTFAgdG9rZW5zIHdhcyBkZXBvc2l0ZWQuRFNoYXJlc1JlZGVwb3NpdGVkGAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARhhbW91bnQYARxCYWxhbmNlAAEgbHBfdG9rZW4QARxBc3NldElkAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAAFBMxMUCB0b2tlbiB3YXMgcmVkZXBvc2l0ZWQgZm9yIGEgbmV3IHlpZWxkIGZhcm0gZW50cnk0UmV3YXJkQ2xhaW1lZBgBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEcY2xhaW1lZBgBHEJhbGFuY2UAATxyZXdhcmRfY3VycmVuY3kQARxBc3NldElkAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAAGBFBSZXdhcmRzIHdhcyBjbGFpbWVkLjxTaGFyZXNXaXRoZHJhd24YAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABDHdobwABMFQ6OkFjY291bnRJZAABIGxwX3Rva2VuEAEcQXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAShkZXBvc2l0X2lkGAEkRGVwb3NpdElkAAcEYExQIHRva2VucyB3YXMgd2l0aGRyYXduLkBZaWVsZEZhcm1TdG9wcGVkEAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgAIBJhZaWVsZCBmYXJtIGZvciBhc3NldCBwYWlyIHdhcyBzdG9wcGVkLkBZaWVsZEZhcm1SZXN1bWVkFAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgABKG11bHRpcGxpZXJRAQE4RmFybU11bHRpcGxpZXIACQSYWWllbGQgZmFybSBmb3IgYXNzZXQgcGFpciB3YXMgcmVzdW1lZC5MWWllbGRGYXJtVGVybWluYXRlZBABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEoYXNzZXRfcGFpcmUEASRBc3NldFBhaXIACgSsWWllbGQgZmFybSB3YXMgdGVybWluYXRlZCBmcm9tIGdsb2JhbCBmYXJtLkBZaWVsZEZhcm1VcGRhdGVkFAE4Z2xvYmFsX2Zhcm1faWQQATBHbG9iYWxGYXJtSWQAATR5aWVsZF9mYXJtX2lkEAEsWWllbGRGYXJtSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAAShhc3NldF9wYWlyZQQBJEFzc2V0UGFpcgABKG11bHRpcGxpZXJRAQE4RmFybU11bHRpcGxpZXIACwSIWWllbGQgZmFybSBtdWx0aXBsaWVyIHdhcyB1cGRhdGVkLkBEZXBvc2l0RGVzdHJveWVkCAEMd2hvAAEwVDo6QWNjb3VudElkAAEoZGVwb3NpdF9pZBgBJERlcG9zaXRJZAAMBKxORlQgcmVwcmVzZW50aW5nIGRlcG9zaXQgaGFzIGJlZW4gZGVzdHJveWVkBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0LQcMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFdmVudAgEVAAESQABDFxHbG9iYWxGYXJtQWNjUlBaVXBkYXRlZAwBOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE8YWNjdW11bGF0ZWRfcnB6UQEBJEZpeGVkVTEyOAABOHRvdGFsX3NoYXJlc196GAEcQmFsYW5jZQAABNRHbG9iYWwgZmFybSBhY2N1bXVsYXRlZCByZXdhcmQgcGVyIHNoYXJlIHdhcyB1cGRhdGVkLlxZaWVsZEZhcm1BY2NSUFZTVXBkYXRlZBABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAFAYWNjdW11bGF0ZWRfcnB2c1EBASRGaXhlZFUxMjgAAUx0b3RhbF92YWx1ZWRfc2hhcmVzGAEcQmFsYW5jZQABBOxZaWVsZCBmYXJtIGFjY3VtdWxhdGVkIHJld2FyZCBwZXIgdmFsdWVkIHNoYXJlIHdhcyB1cGRhdGVkLlRBbGxSZXdhcmRzRGlzdHJpYnV0ZWQEAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAACBPBHbG9iYWwgZmFybSBoYXMgbm8gbW9yZSByZXdhcmRzIHRvIGRpc3RyaWJ1dGUgaW4gdGhlIG1vbWVudC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQxBwxYcGFsbGV0X3JlbGF5Y2hhaW5faW5mbxhwYWxsZXQURXZlbnQEBFQAAQRMQ3VycmVudEJsb2NrTnVtYmVycwgBWHBhcmFjaGFpbl9ibG9ja19udW1iZXIQAURCbG9ja051bWJlckZvcjxUPgABXHJlbGF5Y2hhaW5fYmxvY2tfbnVtYmVyEAFEQmxvY2tOdW1iZXJGb3I8VD4AAAhUQ3VycmVudCBibG9jayBudW1iZXJzzFsgUGFyYWNoYWluIGJsb2NrIG51bWJlciwgUmVsYXljaGFpbiBCbG9jayBudW1iZXIgXQR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldDUHDChwYWxsZXRfZGNhGHBhbGxldBRFdmVudAQEVAABIEBFeGVjdXRpb25TdGFydGVkCAEIaWQQAShTY2hlZHVsZUlkAAEUYmxvY2sQAURCbG9ja051bWJlckZvcjxUPgAABHBUaGUgRENBIGV4ZWN1dGlvbiBpcyBzdGFydGVkJFNjaGVkdWxlZBQBCGlkEAEoU2NoZWR1bGVJZAABDHdobwABMFQ6OkFjY291bnRJZAABGHBlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAEwdG90YWxfYW1vdW50GAEcQmFsYW5jZQABFG9yZGVyhQQBRE9yZGVyPFQ6OkFzc2V0SWQ+AAEEnFRoZSBEQ0EgaXMgc2NoZWR1bGVkIGZvciBuZXh0IGV4ZWN1dGlvbkBFeGVjdXRpb25QbGFubmVkDAEIaWQQAShTY2hlZHVsZUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAEUYmxvY2sQAURCbG9ja051bWJlckZvcjxUPgACBIhUaGUgRENBIGlzIHBsYW5uZWQgZm9yIGJsb2NrbnVtYmVyNFRyYWRlRXhlY3V0ZWQQAQhpZBABKFNjaGVkdWxlSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAASRhbW91bnRfaW4YARxCYWxhbmNlAAEoYW1vdW50X291dBgBHEJhbGFuY2UAAwSYVGhlIERDQSB0cmFkZSBpcyBzdWNjZXNzZnVsbHkgZXhlY3V0ZWQsVHJhZGVGYWlsZWQMAQhpZBABKFNjaGVkdWxlSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARRlcnJvcmgBNERpc3BhdGNoRXJyb3IABASEVGhlIERDQSB0cmFkZSBleGVjdXRpb24gaXMgZmFpbGVkKFRlcm1pbmF0ZWQMAQhpZBABKFNjaGVkdWxlSWQAAQx3aG8AATBUOjpBY2NvdW50SWQAARRlcnJvcmgBNERpc3BhdGNoRXJyb3IABQTsVGhlIERDQSBpcyB0ZXJtaW5hdGVkIGFuZCBjb21wbGV0ZWx5IHJlbW92ZWQgZnJvbSB0aGUgY2hhaW4kQ29tcGxldGVkCAEIaWQQAShTY2hlZHVsZUlkAAEMd2hvAAEwVDo6QWNjb3VudElkAAYE6FRoZSBEQ0EgaXMgY29tcGxldGVkIGFuZCBjb21wbGV0ZWx5IHJlbW92ZWQgZnJvbSB0aGUgY2hhaW5oUmFuZG9tbmVzc0dlbmVyYXRpb25GYWlsZWQIARRibG9jaxABREJsb2NrTnVtYmVyRm9yPFQ+AAEUZXJyb3JoATREaXNwYXRjaEVycm9yAAcEQQFSYW5kb21uZXNzIGdlbmVyYXRpb24gZmFpbGVkIHBvc3NpYmx5IGNvbWluZyBmcm9tIG1pc3NpbmcgZGF0YSBhYm91dCByZWxheSBjaGFpbgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldDkHDEBwYWxsZXRfc2NoZWR1bGVyGHBhbGxldBRFdmVudAQEVAABJCRTY2hlZHVsZWQIARB3aGVuEAFEQmxvY2tOdW1iZXJGb3I8VD4AARRpbmRleBABDHUzMgAABFBTY2hlZHVsZWQgc29tZSB0YXNrLiBDYW5jZWxlZAgBEHdoZW4QAURCbG9ja051bWJlckZvcjxUPgABFGluZGV4EAEMdTMyAAEETENhbmNlbGVkIHNvbWUgdGFzay4oRGlzcGF0Y2hlZAwBEHRhc2t1AwF4VGFza0FkZHJlc3M8QmxvY2tOdW1iZXJGb3I8VD4+AAEIaWQ9BwFAT3B0aW9uPFRhc2tOYW1lPgABGHJlc3VsdJgBOERpc3BhdGNoUmVzdWx0AAIEVERpc3BhdGNoZWQgc29tZSB0YXNrLiBSZXRyeVNldBABEHRhc2t1AwF4VGFza0FkZHJlc3M8QmxvY2tOdW1iZXJGb3I8VD4+AAEIaWQ9BwFAT3B0aW9uPFRhc2tOYW1lPgABGHBlcmlvZBABREJsb2NrTnVtYmVyRm9yPFQ+AAEccmV0cmllcwgBCHU4AAMEoFNldCBhIHJldHJ5IGNvbmZpZ3VyYXRpb24gZm9yIHNvbWUgdGFzay44UmV0cnlDYW5jZWxsZWQIARB0YXNrdQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgABCGlkPQcBQE9wdGlvbjxUYXNrTmFtZT4ABASsQ2FuY2VsIGEgcmV0cnkgY29uZmlndXJhdGlvbiBmb3Igc29tZSB0YXNrLjxDYWxsVW5hdmFpbGFibGUIARB0YXNrdQMBeFRhc2tBZGRyZXNzPEJsb2NrTnVtYmVyRm9yPFQ+PgABCGlkPQcBQE9wdGlvbjxUYXNrTmFtZT4ABQQpAVRoZSBjYWxsIGZvciB0aGUgcHJvdmlkZWQgaGFzaCB3YXMgbm90IGZvdW5kIHNvIHRoZSB0YXNrIGhhcyBiZWVuIGFib3J0ZWQuOFBlcmlvZGljRmFpbGVkCAEQdGFza3UDAXhUYXNrQWRkcmVzczxCbG9ja051bWJlckZvcjxUPj4AAQhpZD0HAUBPcHRpb248VGFza05hbWU+AAYEPQFUaGUgZ2l2ZW4gdGFzayB3YXMgdW5hYmxlIHRvIGJlIHJlbmV3ZWQgc2luY2UgdGhlIGFnZW5kYSBpcyBmdWxsIGF0IHRoYXQgYmxvY2suLFJldHJ5RmFpbGVkCAEQdGFza3UDAXhUYXNrQWRkcmVzczxCbG9ja051bWJlckZvcjxUPj4AAQhpZD0HAUBPcHRpb248VGFza05hbWU+AAcIXQFUaGUgZ2l2ZW4gdGFzayB3YXMgdW5hYmxlIHRvIGJlIHJldHJpZWQgc2luY2UgdGhlIGFnZW5kYSBpcyBmdWxsIGF0IHRoYXQgYmxvY2sgb3IgdGhlcmWcd2FzIG5vdCBlbm91Z2ggd2VpZ2h0IHRvIHJlc2NoZWR1bGUgaXQuVFBlcm1hbmVudGx5T3ZlcndlaWdodAgBEHRhc2t1AwF4VGFza0FkZHJlc3M8QmxvY2tOdW1iZXJGb3I8VD4+AAEIaWQ9BwFAT3B0aW9uPFRhc2tOYW1lPgAIBPBUaGUgZ2l2ZW4gdGFzayBjYW4gbmV2ZXIgYmUgZXhlY3V0ZWQgc2luY2UgaXQgaXMgb3ZlcndlaWdodC4EMEV2ZW50cyB0eXBlLj0HBBhPcHRpb24EBFQBBAEIEE5vbmUAAAAQU29tZQQABAAAAQAAQQcMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW0YcGFsbGV0FEV2ZW50BARUAAEYYFZhbGlkYXRpb25GdW5jdGlvblN0b3JlZAAABNBUaGUgdmFsaWRhdGlvbiBmdW5jdGlvbiBoYXMgYmVlbiBzY2hlZHVsZWQgdG8gYXBwbHkuZFZhbGlkYXRpb25GdW5jdGlvbkFwcGxpZWQEAVRyZWxheV9jaGFpbl9ibG9ja19udW0QAVRSZWxheUNoYWluQmxvY2tOdW1iZXIAAQRFAVRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIHdhcyBhcHBsaWVkIGFzIG9mIHRoZSBjb250YWluZWQgcmVsYXkgY2hhaW4gYmxvY2sgbnVtYmVyLmxWYWxpZGF0aW9uRnVuY3Rpb25EaXNjYXJkZWQAAgSwVGhlIHJlbGF5LWNoYWluIGFib3J0ZWQgdGhlIHVwZ3JhZGUgcHJvY2Vzcy5gRG93bndhcmRNZXNzYWdlc1JlY2VpdmVkBAEUY291bnQQAQx1MzIAAwQBAVNvbWUgZG93bndhcmQgbWVzc2FnZXMgaGF2ZSBiZWVuIHJlY2VpdmVkIGFuZCB3aWxsIGJlIHByb2Nlc3NlZC5kRG93bndhcmRNZXNzYWdlc1Byb2Nlc3NlZAgBLHdlaWdodF91c2VkKAEYV2VpZ2h0AAEgZG1xX2hlYWQ0AURyZWxheV9jaGFpbjo6SGFzaAAEBOBEb3dud2FyZCBtZXNzYWdlcyB3ZXJlIHByb2Nlc3NlZCB1c2luZyB0aGUgZ2l2ZW4gd2VpZ2h0LkRVcHdhcmRNZXNzYWdlU2VudAQBMG1lc3NhZ2VfaGFzaD0HATxPcHRpb248WGNtSGFzaD4ABQS4QW4gdXB3YXJkIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIHJlbGF5IGNoYWluLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldEUHDChwYWxsZXRfeGNtGHBhbGxldBRFdmVudAQEVAABYCRBdHRlbXB0ZWQEARxvdXRjb21lSQcBUHhjbTo6bGF0ZXN0OjpPdXRjb21lAAAEqEV4ZWN1dGlvbiBvZiBhbiBYQ00gbWVzc2FnZSB3YXMgYXR0ZW1wdGVkLhBTZW50EAEYb3JpZ2lulQEBIExvY2F0aW9uAAEsZGVzdGluYXRpb26VAQEgTG9jYXRpb24AARxtZXNzYWdloQUBHFhjbTwoKT4AAShtZXNzYWdlX2lkBAEcWGNtSGFzaAABBFxBIFhDTSBtZXNzYWdlIHdhcyBzZW50LkhVbmV4cGVjdGVkUmVzcG9uc2UIARhvcmlnaW6VAQEgTG9jYXRpb24AASBxdWVyeV9pZDABHFF1ZXJ5SWQAAgxZAVF1ZXJ5IHJlc3BvbnNlIHJlY2VpdmVkIHdoaWNoIGRvZXMgbm90IG1hdGNoIGEgcmVnaXN0ZXJlZCBxdWVyeS4gVGhpcyBtYXkgYmUgYmVjYXVzZSBhVQFtYXRjaGluZyBxdWVyeSB3YXMgbmV2ZXIgcmVnaXN0ZXJlZCwgaXQgbWF5IGJlIGJlY2F1c2UgaXQgaXMgYSBkdXBsaWNhdGUgcmVzcG9uc2UsIG9ycGJlY2F1c2UgdGhlIHF1ZXJ5IHRpbWVkIG91dC40UmVzcG9uc2VSZWFkeQgBIHF1ZXJ5X2lkMAEcUXVlcnlJZAABIHJlc3BvbnNlxQUBIFJlc3BvbnNlAAMIXQFRdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBhbmQgaXMgcmVhZHkgZm9yIHRha2luZyB3aXRoIGB0YWtlX3Jlc3BvbnNlYC4gVGhlcmUgaXOAbm8gcmVnaXN0ZXJlZCBub3RpZmljYXRpb24gY2FsbC4gTm90aWZpZWQMASBxdWVyeV9pZDABHFF1ZXJ5SWQAATBwYWxsZXRfaW5kZXgIAQh1OAABKGNhbGxfaW5kZXgIAQh1OAAECFkBUXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIHF1ZXJ5IGlzIHJlbW92ZWQuIFRoZSByZWdpc3RlcmVkIG5vdGlmaWNhdGlvbiBoYXOoYmVlbiBkaXNwYXRjaGVkIGFuZCBleGVjdXRlZCBzdWNjZXNzZnVsbHkuQE5vdGlmeU92ZXJ3ZWlnaHQUASBxdWVyeV9pZDABHFF1ZXJ5SWQAATBwYWxsZXRfaW5kZXgIAQh1OAABKGNhbGxfaW5kZXgIAQh1OAABNGFjdHVhbF93ZWlnaHQoARhXZWlnaHQAAUxtYXhfYnVkZ2V0ZWRfd2VpZ2h0KAEYV2VpZ2h0AAUMSQFRdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBhbmQgcXVlcnkgaXMgcmVtb3ZlZC4gVGhlIHJlZ2lzdGVyZWQgbm90aWZpY2F0aW9uWQFjb3VsZCBub3QgYmUgZGlzcGF0Y2hlZCBiZWNhdXNlIHRoZSBkaXNwYXRjaCB3ZWlnaHQgaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHdlaWdodORvcmlnaW5hbGx5IGJ1ZGdldGVkIGJ5IHRoaXMgcnVudGltZSBmb3IgdGhlIHF1ZXJ5IHJlc3VsdC5MTm90aWZ5RGlzcGF0Y2hFcnJvcgwBIHF1ZXJ5X2lkMAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAgBCHU4AAEoY2FsbF9pbmRleAgBCHU4AAYIVQFRdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBhbmQgcXVlcnkgaXMgcmVtb3ZlZC4gVGhlcmUgd2FzIGEgZ2VuZXJhbCBlcnJvciB3aXRoiGRpc3BhdGNoaW5nIHRoZSBub3RpZmljYXRpb24gY2FsbC5ITm90aWZ5RGVjb2RlRmFpbGVkDAEgcXVlcnlfaWQwARxRdWVyeUlkAAEwcGFsbGV0X2luZGV4CAEIdTgAAShjYWxsX2luZGV4CAEIdTgABwxRAVF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGFuZCBxdWVyeSBpcyByZW1vdmVkLiBUaGUgZGlzcGF0Y2ggd2FzIHVuYWJsZSB0byBiZVkBZGVjb2RlZCBpbnRvIGEgYENhbGxgOyB0aGlzIG1pZ2h0IGJlIGR1ZSB0byBkaXNwYXRjaCBmdW5jdGlvbiBoYXZpbmcgYSBzaWduYXR1cmUgd2hpY2iUaXMgbm90IGAob3JpZ2luLCBRdWVyeUlkLCBSZXNwb25zZSlgLkBJbnZhbGlkUmVzcG9uZGVyDAEYb3JpZ2lulQEBIExvY2F0aW9uAAEgcXVlcnlfaWQwARxRdWVyeUlkAAFEZXhwZWN0ZWRfbG9jYXRpb27ZBQFAT3B0aW9uPExvY2F0aW9uPgAIDFkBRXhwZWN0ZWQgcXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYnV0IHRoZSBvcmlnaW4gbG9jYXRpb24gb2YgdGhlIHJlc3BvbnNlIGRvZXNVAW5vdCBtYXRjaCB0aGF0IGV4cGVjdGVkLiBUaGUgcXVlcnkgcmVtYWlucyByZWdpc3RlcmVkIGZvciBhIGxhdGVyLCB2YWxpZCwgcmVzcG9uc2UgdG9sYmUgcmVjZWl2ZWQgYW5kIGFjdGVkIHVwb24uXEludmFsaWRSZXNwb25kZXJWZXJzaW9uCAEYb3JpZ2lulQEBIExvY2F0aW9uAAEgcXVlcnlfaWQwARxRdWVyeUlkAAkcUQFFeHBlY3RlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBidXQgdGhlIGV4cGVjdGVkIG9yaWdpbiBsb2NhdGlvbiBwbGFjZWQgaW5NAXN0b3JhZ2UgYnkgdGhpcyBydW50aW1lIHByZXZpb3VzbHkgY2Fubm90IGJlIGRlY29kZWQuIFRoZSBxdWVyeSByZW1haW5zIHJlZ2lzdGVyZWQuAEEBVGhpcyBpcyB1bmV4cGVjdGVkIChzaW5jZSBhIGxvY2F0aW9uIHBsYWNlZCBpbiBzdG9yYWdlIGluIGEgcHJldmlvdXNseSBleGVjdXRpbmdNAXJ1bnRpbWUgc2hvdWxkIGJlIHJlYWRhYmxlIHByaW9yIHRvIHF1ZXJ5IHRpbWVvdXQpIGFuZCBkYW5nZXJvdXMgc2luY2UgdGhlIHBvc3NpYmx5WQF2YWxpZCByZXNwb25zZSB3aWxsIGJlIGRyb3BwZWQuIE1hbnVhbCBnb3Zlcm5hbmNlIGludGVydmVudGlvbiBpcyBwcm9iYWJseSBnb2luZyB0byBiZRxuZWVkZWQuNFJlc3BvbnNlVGFrZW4EASBxdWVyeV9pZDABHFF1ZXJ5SWQACgTIUmVjZWl2ZWQgcXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVhZCBhbmQgcmVtb3ZlZC40QXNzZXRzVHJhcHBlZAwBEGhhc2g0ARBIMjU2AAEYb3JpZ2lulQEBIExvY2F0aW9uAAEYYXNzZXRz7QUBPFZlcnNpb25lZEFzc2V0cwALBLhTb21lIGFzc2V0cyBoYXZlIGJlZW4gcGxhY2VkIGluIGFuIGFzc2V0IHRyYXAuVFZlcnNpb25DaGFuZ2VOb3RpZmllZBABLGRlc3RpbmF0aW9ulQEBIExvY2F0aW9uAAEYcmVzdWx0EAEoWGNtVmVyc2lvbgABEGNvc3StBQEYQXNzZXRzAAEobWVzc2FnZV9pZAQBHFhjbUhhc2gADAwlAUFuIFhDTSB2ZXJzaW9uIGNoYW5nZSBub3RpZmljYXRpb24gbWVzc2FnZSBoYXMgYmVlbiBhdHRlbXB0ZWQgdG8gYmUgc2VudC4A4FRoZSBjb3N0IG9mIHNlbmRpbmcgaXQgKGJvcm5lIGJ5IHRoZSBjaGFpbikgaXMgaW5jbHVkZWQuXFN1cHBvcnRlZFZlcnNpb25DaGFuZ2VkCAEgbG9jYXRpb26VAQEgTG9jYXRpb24AARx2ZXJzaW9uEAEoWGNtVmVyc2lvbgANCDkBVGhlIHN1cHBvcnRlZCB2ZXJzaW9uIG9mIGEgbG9jYXRpb24gaGFzIGJlZW4gY2hhbmdlZC4gVGhpcyBtaWdodCBiZSB0aHJvdWdoIGFuwGF1dG9tYXRpYyBub3RpZmljYXRpb24gb3IgYSBtYW51YWwgaW50ZXJ2ZW50aW9uLlBOb3RpZnlUYXJnZXRTZW5kRmFpbAwBIGxvY2F0aW9ulQEBIExvY2F0aW9uAAEgcXVlcnlfaWQwARxRdWVyeUlkAAEUZXJyb3JpBQEgWGNtRXJyb3IADghZAUEgZ2l2ZW4gbG9jYXRpb24gd2hpY2ggaGFkIGEgdmVyc2lvbiBjaGFuZ2Ugc3Vic2NyaXB0aW9uIHdhcyBkcm9wcGVkIG93aW5nIHRvIGFuIGVycm9yfHNlbmRpbmcgdGhlIG5vdGlmaWNhdGlvbiB0byBpdC5kTm90aWZ5VGFyZ2V0TWlncmF0aW9uRmFpbAgBIGxvY2F0aW9uyQQBRFZlcnNpb25lZExvY2F0aW9uAAEgcXVlcnlfaWQwARxRdWVyeUlkAA8IWQFBIGdpdmVuIGxvY2F0aW9uIHdoaWNoIGhhZCBhIHZlcnNpb24gY2hhbmdlIHN1YnNjcmlwdGlvbiB3YXMgZHJvcHBlZCBvd2luZyB0byBhbiBlcnJvcrRtaWdyYXRpbmcgdGhlIGxvY2F0aW9uIHRvIG91ciBuZXcgWENNIGZvcm1hdC5USW52YWxpZFF1ZXJpZXJWZXJzaW9uCAEYb3JpZ2lulQEBIExvY2F0aW9uAAEgcXVlcnlfaWQwARxRdWVyeUlkABAcVQFFeHBlY3RlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBidXQgdGhlIGV4cGVjdGVkIHF1ZXJpZXIgbG9jYXRpb24gcGxhY2VkIGluTQFzdG9yYWdlIGJ5IHRoaXMgcnVudGltZSBwcmV2aW91c2x5IGNhbm5vdCBiZSBkZWNvZGVkLiBUaGUgcXVlcnkgcmVtYWlucyByZWdpc3RlcmVkLgBBAVRoaXMgaXMgdW5leHBlY3RlZCAoc2luY2UgYSBsb2NhdGlvbiBwbGFjZWQgaW4gc3RvcmFnZSBpbiBhIHByZXZpb3VzbHkgZXhlY3V0aW5nTQFydW50aW1lIHNob3VsZCBiZSByZWFkYWJsZSBwcmlvciB0byBxdWVyeSB0aW1lb3V0KSBhbmQgZGFuZ2Vyb3VzIHNpbmNlIHRoZSBwb3NzaWJseVkBdmFsaWQgcmVzcG9uc2Ugd2lsbCBiZSBkcm9wcGVkLiBNYW51YWwgZ292ZXJuYW5jZSBpbnRlcnZlbnRpb24gaXMgcHJvYmFibHkgZ29pbmcgdG8gYmUcbmVlZGVkLjhJbnZhbGlkUXVlcmllchABGG9yaWdpbpUBASBMb2NhdGlvbgABIHF1ZXJ5X2lkMAEcUXVlcnlJZAABQGV4cGVjdGVkX3F1ZXJpZXKVAQEgTG9jYXRpb24AAVBtYXliZV9hY3R1YWxfcXVlcmllctkFAUBPcHRpb248TG9jYXRpb24+ABEMXQFFeHBlY3RlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBidXQgdGhlIHF1ZXJpZXIgbG9jYXRpb24gb2YgdGhlIHJlc3BvbnNlIGRvZXNRAW5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQuIFRoZSBxdWVyeSByZW1haW5zIHJlZ2lzdGVyZWQgZm9yIGEgbGF0ZXIsIHZhbGlkLCByZXNwb25zZSB0b2xiZSByZWNlaXZlZCBhbmQgYWN0ZWQgdXBvbi5QVmVyc2lvbk5vdGlmeVN0YXJ0ZWQMASxkZXN0aW5hdGlvbpUBASBMb2NhdGlvbgABEGNvc3StBQEYQXNzZXRzAAEobWVzc2FnZV9pZAQBHFhjbUhhc2gAEghZAUEgcmVtb3RlIGhhcyByZXF1ZXN0ZWQgWENNIHZlcnNpb24gY2hhbmdlIG5vdGlmaWNhdGlvbiBmcm9tIHVzIGFuZCB3ZSBoYXZlIGhvbm9yZWQgaXQuHQFBIHZlcnNpb24gaW5mb3JtYXRpb24gbWVzc2FnZSBpcyBzZW50IHRvIHRoZW0gYW5kIGl0cyBjb3N0IGlzIGluY2x1ZGVkLlhWZXJzaW9uTm90aWZ5UmVxdWVzdGVkDAEsZGVzdGluYXRpb26VAQEgTG9jYXRpb24AARBjb3N0rQUBGEFzc2V0cwABKG1lc3NhZ2VfaWQEARxYY21IYXNoABMEPQFXZSBoYXZlIHJlcXVlc3RlZCB0aGF0IGEgcmVtb3RlIGNoYWluIHNlbmQgdXMgWENNIHZlcnNpb24gY2hhbmdlIG5vdGlmaWNhdGlvbnMuYFZlcnNpb25Ob3RpZnlVbnJlcXVlc3RlZAwBLGRlc3RpbmF0aW9ulQEBIExvY2F0aW9uAAEQY29zdK0FARhBc3NldHMAAShtZXNzYWdlX2lkBAEcWGNtSGFzaAAUCCUBV2UgaGF2ZSByZXF1ZXN0ZWQgdGhhdCBhIHJlbW90ZSBjaGFpbiBzdG9wcyBzZW5kaW5nIHVzIFhDTSB2ZXJzaW9uIGNoYW5nZThub3RpZmljYXRpb25zLiBGZWVzUGFpZAgBGHBheWluZ5UBASBMb2NhdGlvbgABEGZlZXOtBQEYQXNzZXRzABUEMQFGZWVzIHdlcmUgcGFpZCBmcm9tIGEgbG9jYXRpb24gZm9yIGFuIG9wZXJhdGlvbiAob2Z0ZW4gZm9yIHVzaW5nIGBTZW5kWGNtYCkuNEFzc2V0c0NsYWltZWQMARBoYXNoNAEQSDI1NgABGG9yaWdpbpUBASBMb2NhdGlvbgABGGFzc2V0c+0FATxWZXJzaW9uZWRBc3NldHMAFgTAU29tZSBhc3NldHMgaGF2ZSBiZWVuIGNsYWltZWQgZnJvbSBhbiBhc3NldCB0cmFwYFZlcnNpb25NaWdyYXRpb25GaW5pc2hlZAQBHHZlcnNpb24QAShYY21WZXJzaW9uABcEhEEgWENNIHZlcnNpb24gbWlncmF0aW9uIGZpbmlzaGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldEkHECxzdGFnaW5nX3hjbQh2NBh0cmFpdHMcT3V0Y29tZQABDCBDb21wbGV0ZQQBEHVzZWQoARhXZWlnaHQAAAAoSW5jb21wbGV0ZQgBEHVzZWQoARhXZWlnaHQAARRlcnJvcmkFARRFcnJvcgABABRFcnJvcgQBFGVycm9yaQUBFEVycm9yAAIAAE0HDEhjdW11bHVzX3BhbGxldF94Y20YcGFsbGV0FEV2ZW50BARUAAEMNEludmFsaWRGb3JtYXQEAAQBIFt1ODsgMzJdAAAIgERvd253YXJkIG1lc3NhZ2UgaXMgaW52YWxpZCBYQ00uIFxbIGlkIFxdSFVuc3VwcG9ydGVkVmVyc2lvbgQABAEgW3U4OyAzMl0AAQi8RG93bndhcmQgbWVzc2FnZSBpcyB1bnN1cHBvcnRlZCB2ZXJzaW9uIG9mIFhDTS4gXFsgaWQgXF1ARXhlY3V0ZWREb3dud2FyZAgABAEgW3U4OyAzMl0AAEkHARxPdXRjb21lAAIIxERvd253YXJkIG1lc3NhZ2UgZXhlY3V0ZWQgd2l0aCB0aGUgZ2l2ZW4gb3V0Y29tZS5EXFsgaWQsIG91dGNvbWUgXF0EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRRBwxkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZRhwYWxsZXQURXZlbnQEBFQAAQQ8WGNtcE1lc3NhZ2VTZW50BAEwbWVzc2FnZV9oYXNoBAEcWGNtSGFzaAAABMBBbiBIUk1QIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gYSBzaWJsaW5nIHBhcmFjaGFpbi4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRVBwxQcGFsbGV0X21lc3NhZ2VfcXVldWUYcGFsbGV0FEV2ZW50BARUAAEQQFByb2Nlc3NpbmdGYWlsZWQMAQhpZDQBEEgyNTYElFRoZSBgYmxha2UyXzI1NmAgaGFzaCBvZiB0aGUgbWVzc2FnZS4BGG9yaWdpbi0GAUhNZXNzYWdlT3JpZ2luT2Y8VD4EZFRoZSBxdWV1ZSBvZiB0aGUgbWVzc2FnZS4BFGVycm9yWQcBTFByb2Nlc3NNZXNzYWdlRXJyb3IQYFRoZSBlcnJvciB0aGF0IG9jY3VycmVkLgBJAVRoaXMgZXJyb3IgaXMgcHJldHR5IG9wYXF1ZS4gTW9yZSBmaW5lLWdyYWluZWQgZXJyb3JzIG5lZWQgdG8gYmUgZW1pdHRlZCBhcyBldmVudHNoYnkgdGhlIGBNZXNzYWdlUHJvY2Vzc29yYC4ABFUBTWVzc2FnZSBkaXNjYXJkZWQgZHVlIHRvIGFuIGVycm9yIGluIHRoZSBgTWVzc2FnZVByb2Nlc3NvcmAgKHVzdWFsbHkgYSBmb3JtYXQgZXJyb3IpLiRQcm9jZXNzZWQQAQhpZDQBEEgyNTYElFRoZSBgYmxha2UyXzI1NmAgaGFzaCBvZiB0aGUgbWVzc2FnZS4BGG9yaWdpbi0GAUhNZXNzYWdlT3JpZ2luT2Y8VD4EZFRoZSBxdWV1ZSBvZiB0aGUgbWVzc2FnZS4BLHdlaWdodF91c2VkKAEYV2VpZ2h0BMBIb3cgbXVjaCB3ZWlnaHQgd2FzIHVzZWQgdG8gcHJvY2VzcyB0aGUgbWVzc2FnZS4BHHN1Y2Nlc3MgARBib29sGIhXaGV0aGVyIHRoZSBtZXNzYWdlIHdhcyBwcm9jZXNzZWQuAEkBTm90ZSB0aGF0IHRoaXMgZG9lcyBub3QgbWVhbiB0aGF0IHRoZSB1bmRlcmx5aW5nIGBNZXNzYWdlUHJvY2Vzc29yYCB3YXMgaW50ZXJuYWxseTUBc3VjY2Vzc2Z1bC4gSXQgKnNvbGVseSogbWVhbnMgdGhhdCB0aGUgTVEgcGFsbGV0IHdpbGwgdHJlYXQgdGhpcyBhcyBhIHN1Y2Nlc3NNAWNvbmRpdGlvbiBhbmQgZGlzY2FyZCB0aGUgbWVzc2FnZS4gQW55IGludGVybmFsIGVycm9yIG5lZWRzIHRvIGJlIGVtaXR0ZWQgYXMgZXZlbnRzaGJ5IHRoZSBgTWVzc2FnZVByb2Nlc3NvcmAuAQRUTWVzc2FnZSBpcyBwcm9jZXNzZWQuSE92ZXJ3ZWlnaHRFbnF1ZXVlZBABCGlkBAEgW3U4OyAzMl0ElFRoZSBgYmxha2UyXzI1NmAgaGFzaCBvZiB0aGUgbWVzc2FnZS4BGG9yaWdpbi0GAUhNZXNzYWdlT3JpZ2luT2Y8VD4EZFRoZSBxdWV1ZSBvZiB0aGUgbWVzc2FnZS4BKHBhZ2VfaW5kZXgQASRQYWdlSW5kZXgEYFRoZSBwYWdlIG9mIHRoZSBtZXNzYWdlLgE0bWVzc2FnZV9pbmRleBABHFQ6OlNpemUEpFRoZSBpbmRleCBvZiB0aGUgbWVzc2FnZSB3aXRoaW4gdGhlIHBhZ2UuAgSMTWVzc2FnZSBwbGFjZWQgaW4gb3ZlcndlaWdodCBxdWV1ZS4oUGFnZVJlYXBlZAgBGG9yaWdpbi0GAUhNZXNzYWdlT3JpZ2luT2Y8VD4EWFRoZSBxdWV1ZSBvZiB0aGUgcGFnZS4BFGluZGV4EAEkUGFnZUluZGV4BFhUaGUgaW5kZXggb2YgdGhlIHBhZ2UuAwRUVGhpcyBwYWdlIHdhcyByZWFwZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0WQcQNGZyYW1lX3N1cHBvcnQYdHJhaXRzIG1lc3NhZ2VzTFByb2Nlc3NNZXNzYWdlRXJyb3IAARgkQmFkRm9ybWF0AAAAHENvcnJ1cHQAAQAsVW5zdXBwb3J0ZWQAAgAoT3ZlcndlaWdodAQAKAEYV2VpZ2h0AAMAFFlpZWxkAAQARFN0YWNrTGltaXRSZWFjaGVkAAUAAF0HDCBvcm1sX3hjbRhtb2R1bGUURXZlbnQEBFQAAQQQU2VudAgBCHRvlQEBIExvY2F0aW9uAAEcbWVzc2FnZaEFARxYY208KCk+AAAEhFhDTSBtZXNzYWdlIHNlbnQuIFxbdG8sIG1lc3NhZ2VcXQR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldGEHDDBvcm1sX3h0b2tlbnMYbW9kdWxlFEV2ZW50BARUAAEERFRyYW5zZmVycmVkQXNzZXRzEAEYc2VuZGVyAAEwVDo6QWNjb3VudElkAAEYYXNzZXRzrQUBGEFzc2V0cwABDGZlZbUFARRBc3NldAABEGRlc3SVAQEgTG9jYXRpb24AAAR0VHJhbnNmZXJyZWQgYEFzc2V0YCB3aXRoIGZlZS4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRlBwxMb3JtbF91bmtub3duX3Rva2Vucxhtb2R1bGUURXZlbnQAAQgkRGVwb3NpdGVkCAEUYXNzZXS1BQEUQXNzZXQAAQx3aG+VAQEgTG9jYXRpb24AAARARGVwb3NpdCBzdWNjZXNzLiRXaXRoZHJhd24IARRhc3NldLUFARRBc3NldAABDHdob5UBASBMb2NhdGlvbgABBERXaXRoZHJhdyBzdWNjZXNzLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldGkHDGRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uGHBhbGxldBRFdmVudAQEVAABKEBOZXdJbnZ1bG5lcmFibGVzBAE0aW52dWxuZXJhYmxlc0UBAURWZWM8VDo6QWNjb3VudElkPgAABGxOZXcgSW52dWxuZXJhYmxlcyB3ZXJlIHNldC5ESW52dWxuZXJhYmxlQWRkZWQEAShhY2NvdW50X2lkAAEwVDo6QWNjb3VudElkAAEEdEEgbmV3IEludnVsbmVyYWJsZSB3YXMgYWRkZWQuTEludnVsbmVyYWJsZVJlbW92ZWQEAShhY2NvdW50X2lkAAEwVDo6QWNjb3VudElkAAIEcEFuIEludnVsbmVyYWJsZSB3YXMgcmVtb3ZlZC5QTmV3RGVzaXJlZENhbmRpZGF0ZXMEAUhkZXNpcmVkX2NhbmRpZGF0ZXMQAQx1MzIAAwSkVGhlIG51bWJlciBvZiBkZXNpcmVkIGNhbmRpZGF0ZXMgd2FzIHNldC5ATmV3Q2FuZGlkYWN5Qm9uZAQBLGJvbmRfYW1vdW50GAEwQmFsYW5jZU9mPFQ+AAQEbFRoZSBjYW5kaWRhY3kgYm9uZCB3YXMgc2V0LjhDYW5kaWRhdGVBZGRlZAgBKGFjY291bnRfaWQAATBUOjpBY2NvdW50SWQAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAUEXEEgbmV3IGNhbmRpZGF0ZSBqb2luZWQuUENhbmRpZGF0ZUJvbmRVcGRhdGVkCAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAABHGRlcG9zaXQYATBCYWxhbmNlT2Y8VD4ABgRwQm9uZCBvZiBhIGNhbmRpZGF0ZSB1cGRhdGVkLkBDYW5kaWRhdGVSZW1vdmVkBAEoYWNjb3VudF9pZAABMFQ6OkFjY291bnRJZAAHBGBBIGNhbmRpZGF0ZSB3YXMgcmVtb3ZlZC5EQ2FuZGlkYXRlUmVwbGFjZWQMAQxvbGQAATBUOjpBY2NvdW50SWQAAQxuZXcAATBUOjpBY2NvdW50SWQAARxkZXBvc2l0GAEwQmFsYW5jZU9mPFQ+AAgE9EFuIGFjY291bnQgd2FzIHJlcGxhY2VkIGluIHRoZSBjYW5kaWRhdGUgbGlzdCBieSBhbm90aGVyIG9uZS5oSW52YWxpZEludnVsbmVyYWJsZVNraXBwZWQEAShhY2NvdW50X2lkAAEwVDo6QWNjb3VudElkAAkIVQFBbiBhY2NvdW50IHdhcyB1bmFibGUgdG8gYmUgYWRkZWQgdG8gdGhlIEludnVsbmVyYWJsZXMgYmVjYXVzZSB0aGV5IGRpZCBub3QgaGF2ZSBrZXlzyHJlZ2lzdGVyZWQuIE90aGVyIEludnVsbmVyYWJsZXMgbWF5IGhhdmUgYmVlbiBzZXQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0bQcMOHBhbGxldF9zZXNzaW9uGHBhbGxldBRFdmVudAABBChOZXdTZXNzaW9uBAE0c2Vzc2lvbl9pbmRleBABMFNlc3Npb25JbmRleAAACDkBTmV3IHNlc3Npb24gaGFzIGhhcHBlbmVkLiBOb3RlIHRoYXQgdGhlIGFyZ3VtZW50IGlzIHRoZSBzZXNzaW9uIGluZGV4LCBub3QgdGhlnGJsb2NrIG51bWJlciBhcyB0aGUgdHlwZSBtaWdodCBzdWdnZXN0LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldHEHDERwYWxsZXRfZW1hX29yYWNsZRhwYWxsZXQURXZlbnQEBFQAAQhAQWRkZWRUb1doaXRlbGlzdAgBGHNvdXJjZRUCARhTb3VyY2UAARhhc3NldHN1AwFIKEFzc2V0SWQsIEFzc2V0SWQpAAAEiE9yYWNsZSB3YXMgYWRkZWQgdG8gdGhlIHdoaXRlbGlzdC5QUmVtb3ZlZEZyb21XaGl0ZWxpc3QIARhzb3VyY2UVAgEYU291cmNlAAEYYXNzZXRzdQMBSChBc3NldElkLCBBc3NldElkKQABBJhPcmFjbGUgd2FzIHJlbW92ZWQgZnJvbSB0aGUgd2hpdGVsaXN0LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldHUHDEBwYWxsZXRfYnJvYWRjYXN0GHBhbGxldBRFdmVudAQEVAABBCBTd2FwcGVkMyABHHN3YXBwZXIAATBUOjpBY2NvdW50SWQAARhmaWxsZXIAATBUOjpBY2NvdW50SWQAASxmaWxsZXJfdHlwZXkHARhGaWxsZXIAASRvcGVyYXRpb259BwE4VHJhZGVPcGVyYXRpb24AARhpbnB1dHOBBwEoVmVjPEFzc2V0PgABHG91dHB1dHOBBwEoVmVjPEFzc2V0PgABEGZlZXOJBwFYVmVjPEZlZTxUOjpBY2NvdW50SWQ+PgABPG9wZXJhdGlvbl9zdGFja5UHAUhWZWM8RXhlY3V0aW9uVHlwZT4AACA8VHJhZGUgZXhlY3V0ZWQuAPBTd2FwcGVkMyBpcyBhIGZpeGVkIGFuZCByZW5hbWVkIHZlcnNpb24gb2Ygb3JpZ2luYWwgU3dhcHBlZCwFAWFzIFN3YXBwZWQgY29udGFpbmVkIHdyb25nIGlucHV0L291dHB1dCBhbW91bnRzIGZvciBYWUsgYnV5IHRyYWRlAPRTd2FwcGVkMyBpcyBhIGZpeGVkIGFuZCByZW5hbWVkIHZlcnNpb24gb2Ygb3JpZ2luYWwgU3dhcHBlZDMs4GFzIFN3YXBwZWQgY29udGFpbmVkIHdyb25nIGZpbGxlciBhY2NvdW50IG9uIEFBVkUgdHJhZGVzAAR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldHkHDEBwYWxsZXRfYnJvYWRjYXN0FHR5cGVzGEZpbGxlcgABGCBPbW5pcG9vbAAAAChTdGFibGVzd2FwBAAQARxBc3NldElkAAEADFhZSwQAEAEcQXNzZXRJZAACAAxMQlAAAwAMT1RDBAAQAShPdGNPcmRlcklkAAQAEEFBVkUABQAAfQcMQHBhbGxldF9icm9hZGNhc3QUdHlwZXM4VHJhZGVPcGVyYXRpb24AARQcRXhhY3RJbgAAACBFeGFjdE91dAABABRMaW1pdAACADBMaXF1aWRpdHlBZGQAAwA8TGlxdWlkaXR5UmVtb3ZlAAQAAIEHAAAChQcAhQcMQHBhbGxldF9icm9hZGNhc3QUdHlwZXMUQXNzZXQAAAgBFGFzc2V0EAEcQXNzZXRJZAABGGFtb3VudBgBHEJhbGFuY2UAAIkHAAACjQcAjQcMQHBhbGxldF9icm9hZGNhc3QUdHlwZXMMRmVlBCRBY2NvdW50SWQBAAAMARRhc3NldBABHEFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEsZGVzdGluYXRpb26RBwFYRGVzdGluYXRpb248QWNjb3VudElkPgAAkQcMQHBhbGxldF9icm9hZGNhc3QUdHlwZXMsRGVzdGluYXRpb24EJEFjY291bnRJZAEAAQgcQWNjb3VudAQAAAEkQWNjb3VudElkAAAAGEJ1cm5lZAABAACVBwAAApkHAJkHDEBwYWxsZXRfYnJvYWRjYXN0FHR5cGVzNEV4ZWN1dGlvblR5cGUAARgYUm91dGVyBAAQAURJbmNyZW1lbnRhbElkVHlwZQAAAAxEQ0EIABABKFNjaGVkdWxlSWQAABABREluY3JlbWVudGFsSWRUeXBlAAEAFEJhdGNoBAAQAURJbmNyZW1lbnRhbElkVHlwZQACACBPbW5pcG9vbAQAEAFESW5jcmVtZW50YWxJZFR5cGUAAwAsWGNtRXhjaGFuZ2UEABABREluY3JlbWVudGFsSWRUeXBlAAQADFhjbQgABAEgW3U4OyAzMl0AABABREluY3JlbWVudGFsSWRUeXBlAAUAAJ0HCDBmcmFtZV9zeXN0ZW0UUGhhc2UAAQw4QXBwbHlFeHRyaW5zaWMEABABDHUzMgAAADBGaW5hbGl6YXRpb24AAQA4SW5pdGlhbGl6YXRpb24AAgAAoQcIMGZyYW1lX3N5c3RlbVhMYXN0UnVudGltZVVwZ3JhZGVJbmZvAAAIATBzcGVjX3ZlcnNpb25pAQFMY29kZWM6OkNvbXBhY3Q8dTMyPgABJHNwZWNfbmFtZRkHAWRzcF9ydW50aW1lOjpSdW50aW1lU3RyaW5nAAClBwgwZnJhbWVfc3lzdGVtYENvZGVVcGdyYWRlQXV0aG9yaXphdGlvbgQEVAAACAEkY29kZV9oYXNoNAEcVDo6SGFzaAABNGNoZWNrX3ZlcnNpb24gARBib29sAACpBwwwZnJhbWVfc3lzdGVtGGxpbWl0czBCbG9ja1dlaWdodHMAAAwBKGJhc2VfYmxvY2soARhXZWlnaHQAASRtYXhfYmxvY2soARhXZWlnaHQAASRwZXJfY2xhc3OtBwGEUGVyRGlzcGF0Y2hDbGFzczxXZWlnaHRzUGVyQ2xhc3M+AACtBww0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaEBQZXJEaXNwYXRjaENsYXNzBARUAbEHAAwBGG5vcm1hbLEHAQRUAAEsb3BlcmF0aW9uYWyxBwEEVAABJG1hbmRhdG9yebEHAQRUAACxBwwwZnJhbWVfc3lzdGVtGGxpbWl0czxXZWlnaHRzUGVyQ2xhc3MAABABOGJhc2VfZXh0cmluc2ljKAEYV2VpZ2h0AAE0bWF4X2V4dHJpbnNpY3EGAThPcHRpb248V2VpZ2h0PgABJG1heF90b3RhbHEGAThPcHRpb248V2VpZ2h0PgABIHJlc2VydmVkcQYBOE9wdGlvbjxXZWlnaHQ+AAC1BwwwZnJhbWVfc3lzdGVtGGxpbWl0cyxCbG9ja0xlbmd0aAAABAEMbWF4uQcBVFBlckRpc3BhdGNoQ2xhc3M8dTMyPgAAuQcMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUGVyRGlzcGF0Y2hDbGFzcwQEVAEQAAwBGG5vcm1hbBABBFQAASxvcGVyYXRpb25hbBABBFQAASRtYW5kYXRvcnkQAQRUAAC9Bwgoc3Bfd2VpZ2h0czxSdW50aW1lRGJXZWlnaHQAAAgBEHJlYWQwAQx1NjQAARR3cml0ZTABDHU2NAAAwQcIKHNwX3ZlcnNpb244UnVudGltZVZlcnNpb24AACABJHNwZWNfbmFtZRkHATRSdW50aW1lU3RyaW5nAAEkaW1wbF9uYW1lGQcBNFJ1bnRpbWVTdHJpbmcAAURhdXRob3JpbmdfdmVyc2lvbhABDHUzMgABMHNwZWNfdmVyc2lvbhABDHUzMgABMGltcGxfdmVyc2lvbhABDHUzMgABEGFwaXPFBwEcQXBpc1ZlYwABTHRyYW5zYWN0aW9uX3ZlcnNpb24QAQx1MzIAATRzdGF0ZV92ZXJzaW9uCAEIdTgAAMUHBAxDb3cEBFQByQcABADJBwAAAMkHAAACzQcAzQcAAAQIFQIQANEHDDBmcmFtZV9zeXN0ZW0YcGFsbGV0FEVycm9yBARUAAEkPEludmFsaWRTcGVjTmFtZQAACBEBVGhlIG5hbWUgb2Ygc3BlY2lmaWNhdGlvbiBkb2VzIG5vdCBtYXRjaCBiZXR3ZWVuIHRoZSBjdXJyZW50IHJ1bnRpbWVQYW5kIHRoZSBuZXcgcnVudGltZS5oU3BlY1ZlcnNpb25OZWVkc1RvSW5jcmVhc2UAAQhBAVRoZSBzcGVjaWZpY2F0aW9uIHZlcnNpb24gaXMgbm90IGFsbG93ZWQgdG8gZGVjcmVhc2UgYmV0d2VlbiB0aGUgY3VycmVudCBydW50aW1lUGFuZCB0aGUgbmV3IHJ1bnRpbWUudEZhaWxlZFRvRXh0cmFjdFJ1bnRpbWVWZXJzaW9uAAIM7EZhaWxlZCB0byBleHRyYWN0IHRoZSBydW50aW1lIHZlcnNpb24gZnJvbSB0aGUgbmV3IHJ1bnRpbWUuAAkBRWl0aGVyIGNhbGxpbmcgYENvcmVfdmVyc2lvbmAgb3IgZGVjb2RpbmcgYFJ1bnRpbWVWZXJzaW9uYCBmYWlsZWQuTE5vbkRlZmF1bHRDb21wb3NpdGUAAwT8U3VpY2lkZSBjYWxsZWQgd2hlbiB0aGUgYWNjb3VudCBoYXMgbm9uLWRlZmF1bHQgY29tcG9zaXRlIGRhdGEuPE5vblplcm9SZWZDb3VudAAEBDUBVGhlcmUgaXMgYSBub24temVybyByZWZlcmVuY2UgY291bnQgcHJldmVudGluZyB0aGUgYWNjb3VudCBmcm9tIGJlaW5nIHB1cmdlZC4wQ2FsbEZpbHRlcmVkAAUE0FRoZSBvcmlnaW4gZmlsdGVyIHByZXZlbnQgdGhlIGNhbGwgdG8gYmUgZGlzcGF0Y2hlZC5sTXVsdGlCbG9ja01pZ3JhdGlvbnNPbmdvaW5nAAYEVQFBIG11bHRpLWJsb2NrIG1pZ3JhdGlvbiBpcyBvbmdvaW5nIGFuZCBwcmV2ZW50cyB0aGUgY3VycmVudCBjb2RlIGZyb20gYmVpbmcgcmVwbGFjZWQuRE5vdGhpbmdBdXRob3JpemVkAAcEWE5vIHVwZ3JhZGUgYXV0aG9yaXplZC4wVW5hdXRob3JpemVkAAgElFRoZSBzdWJtaXR0ZWQgY29kZSBpcyBub3QgYXV0aG9yaXplZC4EbEVycm9yIGZvciB0aGUgU3lzdGVtIHBhbGxldNUHDExib3VuZGVkX2NvbGxlY3Rpb25zQHdlYWtfYm91bmRlZF92ZWM4V2Vha0JvdW5kZWRWZWMIBFQB2QcEUwAABADhBwEYVmVjPFQ+AADZBww8cGFsbGV0X2JhbGFuY2VzFHR5cGVzLEJhbGFuY2VMb2NrBBxCYWxhbmNlARgADAEIaWQVAgE4TG9ja0lkZW50aWZpZXIAARhhbW91bnQYARxCYWxhbmNlAAEccmVhc29uc90HARxSZWFzb25zAADdBww8cGFsbGV0X2JhbGFuY2VzFHR5cGVzHFJlYXNvbnMAAQwMRmVlAAAAEE1pc2MAAQAMQWxsAAIAAOEHAAAC2QcA5QcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHpBwRTAAAEAO0HARhWZWM8VD4AAOkHDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXMsUmVzZXJ2ZURhdGEIRFJlc2VydmVJZGVudGlmaWVyARUCHEJhbGFuY2UBGAAIAQhpZBUCAURSZXNlcnZlSWRlbnRpZmllcgABGGFtb3VudBgBHEJhbGFuY2UAAO0HAAAC6QcA8QcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAH1BwRTAAAEAAUIARhWZWM8VD4AAPUHFDRmcmFtZV9zdXBwb3J0GHRyYWl0cxh0b2tlbnMQbWlzYyBJZEFtb3VudAgISWQB+QccQmFsYW5jZQEYAAgBCGlk+QcBCElkAAEYYW1vdW50GAEcQmFsYW5jZQAA+QcIPGh5ZHJhZHhfcnVudGltZURSdW50aW1lSG9sZFJlYXNvbgABCCBQcmVpbWFnZQQA/QcBbHBhbGxldF9wcmVpbWFnZTo6SG9sZFJlYXNvbgAPAEhTdGF0ZVRyaWVNaWdyYXRpb24EAAEIAZxwYWxsZXRfc3RhdGVfdHJpZV9taWdyYXRpb246OkhvbGRSZWFzb24AIwAA/QcMPHBhbGxldF9wcmVpbWFnZRhwYWxsZXQoSG9sZFJlYXNvbgABBCBQcmVpbWFnZQAAAAABCAxscGFsbGV0X3N0YXRlX3RyaWVfbWlncmF0aW9uGHBhbGxldChIb2xkUmVhc29uAAEEPFNsYXNoRm9yTWlncmF0ZQAAAAAFCAAAAvUHAAkIDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBDQgEUwAABAARCAEYVmVjPFQ+AAANCBQ0ZnJhbWVfc3VwcG9ydBh0cmFpdHMYdG9rZW5zEG1pc2MgSWRBbW91bnQICElkAZAcQmFsYW5jZQEYAAgBCGlkkAEISWQAARhhbW91bnQYARxCYWxhbmNlAAARCAAAAg0IABUIDDxwYWxsZXRfYmFsYW5jZXMYcGFsbGV0FEVycm9yCARUAARJAAEwOFZlc3RpbmdCYWxhbmNlAAAEnFZlc3RpbmcgYmFsYW5jZSB0b28gaGlnaCB0byBzZW5kIHZhbHVlLlRMaXF1aWRpdHlSZXN0cmljdGlvbnMAAQTIQWNjb3VudCBsaXF1aWRpdHkgcmVzdHJpY3Rpb25zIHByZXZlbnQgd2l0aGRyYXdhbC5MSW5zdWZmaWNpZW50QmFsYW5jZQACBHhCYWxhbmNlIHRvbyBsb3cgdG8gc2VuZCB2YWx1ZS5IRXhpc3RlbnRpYWxEZXBvc2l0AAME7FZhbHVlIHRvbyBsb3cgdG8gY3JlYXRlIGFjY291bnQgZHVlIHRvIGV4aXN0ZW50aWFsIGRlcG9zaXQuNEV4cGVuZGFiaWxpdHkABASQVHJhbnNmZXIvcGF5bWVudCB3b3VsZCBraWxsIGFjY291bnQuXEV4aXN0aW5nVmVzdGluZ1NjaGVkdWxlAAUEzEEgdmVzdGluZyBzY2hlZHVsZSBhbHJlYWR5IGV4aXN0cyBmb3IgdGhpcyBhY2NvdW50LixEZWFkQWNjb3VudAAGBIxCZW5lZmljaWFyeSBhY2NvdW50IG11c3QgcHJlLWV4aXN0LjxUb29NYW55UmVzZXJ2ZXMABwS4TnVtYmVyIG9mIG5hbWVkIHJlc2VydmVzIGV4Y2VlZCBgTWF4UmVzZXJ2ZXNgLjBUb29NYW55SG9sZHMACAT4TnVtYmVyIG9mIGhvbGRzIGV4Y2VlZCBgVmFyaWFudENvdW50T2Y8VDo6UnVudGltZUhvbGRSZWFzb24+YC44VG9vTWFueUZyZWV6ZXMACQSYTnVtYmVyIG9mIGZyZWV6ZXMgZXhjZWVkIGBNYXhGcmVlemVzYC5MSXNzdWFuY2VEZWFjdGl2YXRlZAAKBAEBVGhlIGlzc3VhbmNlIGNhbm5vdCBiZSBtb2RpZmllZCBzaW5jZSBpdCBpcyBhbHJlYWR5IGRlYWN0aXZhdGVkLiREZWx0YVplcm8ACwRkVGhlIGRlbHRhIGNhbm5vdCBiZSB6ZXJvLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4ZCAhocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQgUmVsZWFzZXMAAQgkVjFBbmNpZW50AAAACFYyAAEAAB0IDIBwYWxsZXRfdHJhbnNhY3Rpb25fbXVsdGlfcGF5bWVudBhwYWxsZXQURXJyb3IEBFQAATBMVW5zdXBwb3J0ZWRDdXJyZW5jeQAABIxTZWxlY3RlZCBjdXJyZW5jeSBpcyBub3Qgc3VwcG9ydGVkLixaZXJvQmFsYW5jZQABBIxBY2NvdW50IGJhbGFuY2Ugc2hvdWxkIGJlIG5vbi16ZXJvLjxBbHJlYWR5QWNjZXB0ZWQAAgTcQ3VycmVuY3kgaXMgYWxyZWFkeSBpbiB0aGUgbGlzdCBvZiBhY2NlcHRlZCBjdXJyZW5jaWVzLkxDb3JlQXNzZXROb3RBbGxvd2VkAAMEbQFJdCBpcyBub3QgYWxsb3dlZCB0byBhZGQgQ29yZSBBc3NldCBhcyBhY2NlcHRlZCBjdXJyZW5jeS4gQ29yZSBhc3NldCBpcyBhY2NlcHRlZCBieSBkZXNpZ24uJFplcm9QcmljZQAEBHhGYWxsYmFjayBwcmljZSBjYW5ub3QgYmUgemVyby5URmFsbGJhY2tQcmljZU5vdEZvdW5kAAUEdEZhbGxiYWNrIHByaWNlIHdhcyBub3QgZm91bmQuIE92ZXJmbG93AAYENE1hdGggb3ZlcmZsb3dQRXZtQWNjb3VudE5vdEFsbG93ZWQABwT8SXQgaXMgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHBheW1lbnQgY3VycmVuY3kgb2YgYW4gRVZNIGFjY291bnQuQEV2bVBlcm1pdEV4cGlyZWQACARMRVZNIHBlcm1pdCBleHBpcmVkLkBFdm1QZXJtaXRJbnZhbGlkAAkEWEVWTSBwZXJtaXQgaXMgaW52YWxpZC5sRXZtUGVybWl0Q2FsbEV4ZWN1dGlvbkVycm9yAAoEXEVWTSBwZXJtaXQgY2FsbCBmYWlsZWQuUEV2bVBlcm1pdFJ1bm5lckVycm9yAAsEXEVWTSBwZXJtaXQgY2FsbCBmYWlsZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LiEICDxwYWxsZXRfdHJlYXN1cnkgUHJvcG9zYWwIJEFjY291bnRJZAEAHEJhbGFuY2UBGAAQASBwcm9wb3NlcgABJEFjY291bnRJZAABFHZhbHVlGAEcQmFsYW5jZQABLGJlbmVmaWNpYXJ5AAEkQWNjb3VudElkAAEQYm9uZBgBHEJhbGFuY2UAACUIDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBEARTAAAEAIEDARhWZWM8VD4AACkICDxwYWxsZXRfdHJlYXN1cnksU3BlbmRTdGF0dXMUJEFzc2V0S2luZAGQMEFzc2V0QmFsYW5jZQEYLEJlbmVmaWNpYXJ5AQAsQmxvY2tOdW1iZXIBECRQYXltZW50SWQBkAAYAShhc3NldF9raW5kkAEkQXNzZXRLaW5kAAEYYW1vdW50GAEwQXNzZXRCYWxhbmNlAAEsYmVuZWZpY2lhcnkAASxCZW5lZmljaWFyeQABKHZhbGlkX2Zyb20QASxCbG9ja051bWJlcgABJGV4cGlyZV9hdBABLEJsb2NrTnVtYmVyAAEYc3RhdHVzLQgBXFBheW1lbnRTdGF0ZTxQYXltZW50SWQ+AAAtCAg8cGFsbGV0X3RyZWFzdXJ5MFBheW1lbnRTdGF0ZQQISWQBkAEMHFBlbmRpbmcAAAAkQXR0ZW1wdGVkBAEIaWSQAQhJZAABABhGYWlsZWQAAgAAMQgINGZyYW1lX3N1cHBvcnQgUGFsbGV0SWQAAAQAFQIBHFt1ODsgOF0AADUIDDxwYWxsZXRfdHJlYXN1cnkYcGFsbGV0FEVycm9yCARUAARJAAEsMEludmFsaWRJbmRleAAABKxObyBwcm9wb3NhbCwgYm91bnR5IG9yIHNwZW5kIGF0IHRoYXQgaW5kZXguQFRvb01hbnlBcHByb3ZhbHMAAQSAVG9vIG1hbnkgYXBwcm92YWxzIGluIHRoZSBxdWV1ZS5YSW5zdWZmaWNpZW50UGVybWlzc2lvbgACCEUBVGhlIHNwZW5kIG9yaWdpbiBpcyB2YWxpZCBidXQgdGhlIGFtb3VudCBpdCBpcyBhbGxvd2VkIHRvIHNwZW5kIGlzIGxvd2VyIHRoYW4gdGhlTGFtb3VudCB0byBiZSBzcGVudC5MUHJvcG9zYWxOb3RBcHByb3ZlZAADBHxQcm9wb3NhbCBoYXMgbm90IGJlZW4gYXBwcm92ZWQuWEZhaWxlZFRvQ29udmVydEJhbGFuY2UABARRAVRoZSBiYWxhbmNlIG9mIHRoZSBhc3NldCBraW5kIGlzIG5vdCBjb252ZXJ0aWJsZSB0byB0aGUgYmFsYW5jZSBvZiB0aGUgbmF0aXZlIGFzc2V0LjBTcGVuZEV4cGlyZWQABQSwVGhlIHNwZW5kIGhhcyBleHBpcmVkIGFuZCBjYW5ub3QgYmUgY2xhaW1lZC4sRWFybHlQYXlvdXQABgSkVGhlIHNwZW5kIGlzIG5vdCB5ZXQgZWxpZ2libGUgZm9yIHBheW91dC5AQWxyZWFkeUF0dGVtcHRlZAAHBJxUaGUgcGF5bWVudCBoYXMgYWxyZWFkeSBiZWVuIGF0dGVtcHRlZC4sUGF5b3V0RXJyb3IACATMVGhlcmUgd2FzIHNvbWUgaXNzdWUgd2l0aCB0aGUgbWVjaGFuaXNtIG9mIHBheW1lbnQuME5vdEF0dGVtcHRlZAAJBKRUaGUgcGF5b3V0IHdhcyBub3QgeWV0IGF0dGVtcHRlZC9jbGFpbWVkLjBJbmNvbmNsdXNpdmUACgTEVGhlIHBheW1lbnQgaGFzIG5laXRoZXIgZmFpbGVkIG5vciBzdWNjZWVkZWQgeWV0LgR4RXJyb3IgZm9yIHRoZSB0cmVhc3VyeSBwYWxsZXQuOQgMOHBhbGxldF91dGlsaXR5GHBhbGxldBRFcnJvcgQEVAABBDBUb29NYW55Q2FsbHMAAARcVG9vIG1hbnkgY2FsbHMgYmF0Y2hlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuPQgIPHBhbGxldF9wcmVpbWFnZUBPbGRSZXF1ZXN0U3RhdHVzCCRBY2NvdW50SWQBABxCYWxhbmNlARgBCCxVbnJlcXVlc3RlZAgBHGRlcG9zaXTEAVAoQWNjb3VudElkLCBCYWxhbmNlKQABDGxlbhABDHUzMgAAACRSZXF1ZXN0ZWQMARxkZXBvc2l0QQgBcE9wdGlvbjwoQWNjb3VudElkLCBCYWxhbmNlKT4AARRjb3VudBABDHUzMgABDGxlbm0BASxPcHRpb248dTMyPgABAABBCAQYT3B0aW9uBARUAcQBCBBOb25lAAAAEFNvbWUEAMQAAAEAAEUICDxwYWxsZXRfcHJlaW1hZ2U0UmVxdWVzdFN0YXR1cwgkQWNjb3VudElkAQAYVGlja2V0AUkIAQgsVW5yZXF1ZXN0ZWQIARh0aWNrZXRNCAFMKEFjY291bnRJZCwgVGlja2V0KQABDGxlbhABDHUzMgAAACRSZXF1ZXN0ZWQMATBtYXliZV90aWNrZXRRCAFsT3B0aW9uPChBY2NvdW50SWQsIFRpY2tldCk+AAEUY291bnQQAQx1MzIAASRtYXliZV9sZW5tAQEsT3B0aW9uPHUzMj4AAQAASQgUNGZyYW1lX3N1cHBvcnQYdHJhaXRzGHRva2VucyBmdW5naWJsZURIb2xkQ29uc2lkZXJhdGlvbhQEQQAERgAEUgAERAAIRnAAAAQAGAEoRjo6QmFsYW5jZQAATQgAAAQIAEkIAFEIBBhPcHRpb24EBFQBTQgBCBBOb25lAAAAEFNvbWUEAE0IAAABAABVCAAABAg0EABZCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAF0IDDxwYWxsZXRfcHJlaW1hZ2UYcGFsbGV0FEVycm9yBARUAAEgGFRvb0JpZwAABKBQcmVpbWFnZSBpcyB0b28gbGFyZ2UgdG8gc3RvcmUgb24tY2hhaW4uMEFscmVhZHlOb3RlZAABBKRQcmVpbWFnZSBoYXMgYWxyZWFkeSBiZWVuIG5vdGVkIG9uLWNoYWluLjROb3RBdXRob3JpemVkAAIEyFRoZSB1c2VyIGlzIG5vdCBhdXRob3JpemVkIHRvIHBlcmZvcm0gdGhpcyBhY3Rpb24uIE5vdE5vdGVkAAME/FRoZSBwcmVpbWFnZSBjYW5ub3QgYmUgcmVtb3ZlZCBzaW5jZSBpdCBoYXMgbm90IHlldCBiZWVuIG5vdGVkLiRSZXF1ZXN0ZWQABAQJAUEgcHJlaW1hZ2UgbWF5IG5vdCBiZSByZW1vdmVkIHdoZW4gdGhlcmUgYXJlIG91dHN0YW5kaW5nIHJlcXVlc3RzLjBOb3RSZXF1ZXN0ZWQABQQtAVRoZSBwcmVpbWFnZSByZXF1ZXN0IGNhbm5vdCBiZSByZW1vdmVkIHNpbmNlIG5vIG91dHN0YW5kaW5nIHJlcXVlc3RzIGV4aXN0LhxUb29NYW55AAYEVQFNb3JlIHRoYW4gYE1BWF9IQVNIX1VQR1JBREVfQlVMS19DT1VOVGAgaGFzaGVzIHdlcmUgcmVxdWVzdGVkIHRvIGJlIHVwZ3JhZGVkIGF0IG9uY2UuGFRvb0ZldwAHBORUb28gZmV3IGhhc2hlcyB3ZXJlIHJlcXVlc3RlZCB0byBiZSB1cGdyYWRlZCAoaS5lLiB6ZXJvKS4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuYQgAAAQIZQh1CABlCAw8cGFsbGV0X2lkZW50aXR5FHR5cGVzMFJlZ2lzdHJhdGlvbgwcQmFsYW5jZQEYNE1heEp1ZGdlbWVudHMAMElkZW50aXR5SW5mbwHpAQAMAShqdWRnZW1lbnRzaQgB/EJvdW5kZWRWZWM8KFJlZ2lzdHJhckluZGV4LCBKdWRnZW1lbnQ8QmFsYW5jZT4pLCBNYXhKdWRnZW1lbnRzPgABHGRlcG9zaXQYARxCYWxhbmNlAAEQaW5mb+kBATBJZGVudGl0eUluZm8AAGkIDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBbQgEUwAABABxCAEYVmVjPFQ+AABtCAAABAgQgQIAcQgAAAJtCAB1CAQYT3B0aW9uBARUAaQBCBBOb25lAAAAEFNvbWUEAKQAAAEAAHkIAAAECBh9CAB9CAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQAEUwAABABFAQEYVmVjPFQ+AACBCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAYUIBFMAAAQAjQgBGFZlYzxUPgAAhQgEGE9wdGlvbgQEVAGJCAEIEE5vbmUAAAAQU29tZQQAiQgAAAEAAIkIDDxwYWxsZXRfaWRlbnRpdHkUdHlwZXM0UmVnaXN0cmFySW5mbwwcQmFsYW5jZQEYJEFjY291bnRJZAEAHElkRmllbGQBMAAMARxhY2NvdW50AAEkQWNjb3VudElkAAEMZmVlGAEcQmFsYW5jZQABGGZpZWxkczABHElkRmllbGQAAI0IAAAChQgAkQgMPHBhbGxldF9pZGVudGl0eRR0eXBlc0xBdXRob3JpdHlQcm9wZXJ0aWVzBBhTdWZmaXgBlQgACAEYc3VmZml4lQgBGFN1ZmZpeAABKGFsbG9jYXRpb24QAShBbGxvY2F0aW9uAACVCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAJkIAAAECAAQAJ0IDDxwYWxsZXRfaWRlbnRpdHkYcGFsbGV0FEVycm9yBARUAAFoSFRvb01hbnlTdWJBY2NvdW50cwAABFxUb28gbWFueSBzdWJzLWFjY291bnRzLiBOb3RGb3VuZAABBFBBY2NvdW50IGlzbid0IGZvdW5kLiBOb3ROYW1lZAACBFBBY2NvdW50IGlzbid0IG5hbWVkLihFbXB0eUluZGV4AAMEMEVtcHR5IGluZGV4LihGZWVDaGFuZ2VkAAQEPEZlZSBpcyBjaGFuZ2VkLihOb0lkZW50aXR5AAUESE5vIGlkZW50aXR5IGZvdW5kLjxTdGlja3lKdWRnZW1lbnQABgREU3RpY2t5IGp1ZGdlbWVudC44SnVkZ2VtZW50R2l2ZW4ABwRASnVkZ2VtZW50IGdpdmVuLkBJbnZhbGlkSnVkZ2VtZW50AAgESEludmFsaWQganVkZ2VtZW50LjBJbnZhbGlkSW5kZXgACQRUVGhlIGluZGV4IGlzIGludmFsaWQuNEludmFsaWRUYXJnZXQACgRYVGhlIHRhcmdldCBpcyBpbnZhbGlkLkRUb29NYW55UmVnaXN0cmFycwALBOhNYXhpbXVtIGFtb3VudCBvZiByZWdpc3RyYXJzIHJlYWNoZWQuIENhbm5vdCBhZGQgYW55IG1vcmUuOEFscmVhZHlDbGFpbWVkAAwEcEFjY291bnQgSUQgaXMgYWxyZWFkeSBuYW1lZC4YTm90U3ViAA0EcFNlbmRlciBpcyBub3QgYSBzdWItYWNjb3VudC4gTm90T3duZWQADgSIU3ViLWFjY291bnQgaXNuJ3Qgb3duZWQgYnkgc2VuZGVyLnRKdWRnZW1lbnRGb3JEaWZmZXJlbnRJZGVudGl0eQAPBNBUaGUgcHJvdmlkZWQganVkZ2VtZW50IHdhcyBmb3IgYSBkaWZmZXJlbnQgaWRlbnRpdHkuWEp1ZGdlbWVudFBheW1lbnRGYWlsZWQAEAT4RXJyb3IgdGhhdCBvY2N1cnMgd2hlbiB0aGVyZSBpcyBhbiBpc3N1ZSBwYXlpbmcgZm9yIGp1ZGdlbWVudC40SW52YWxpZFN1ZmZpeAARBIBUaGUgcHJvdmlkZWQgc3VmZml4IGlzIHRvbyBsb25nLlBOb3RVc2VybmFtZUF1dGhvcml0eQASBOBUaGUgc2VuZGVyIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBpc3N1ZSBhIHVzZXJuYW1lLjBOb0FsbG9jYXRpb24AEwTEVGhlIGF1dGhvcml0eSBjYW5ub3QgYWxsb2NhdGUgYW55IG1vcmUgdXNlcm5hbWVzLkBJbnZhbGlkU2lnbmF0dXJlABQEqFRoZSBzaWduYXR1cmUgb24gYSB1c2VybmFtZSB3YXMgbm90IHZhbGlkLkRSZXF1aXJlc1NpZ25hdHVyZQAVBAkBU2V0dGluZyB0aGlzIHVzZXJuYW1lIHJlcXVpcmVzIGEgc2lnbmF0dXJlLCBidXQgbm9uZSB3YXMgcHJvdmlkZWQuPEludmFsaWRVc2VybmFtZQAWBLBUaGUgdXNlcm5hbWUgZG9lcyBub3QgbWVldCB0aGUgcmVxdWlyZW1lbnRzLjRVc2VybmFtZVRha2VuABcEeFRoZSB1c2VybmFtZSBpcyBhbHJlYWR5IHRha2VuLihOb1VzZXJuYW1lABgEmFRoZSByZXF1ZXN0ZWQgdXNlcm5hbWUgZG9lcyBub3QgZXhpc3QuKE5vdEV4cGlyZWQAGQQtAVRoZSB1c2VybmFtZSBjYW5ub3QgYmUgZm9yY2VmdWxseSByZW1vdmVkIGJlY2F1c2UgaXQgY2FuIHN0aWxsIGJlIGFjY2VwdGVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6hCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAaUIBFMAAAQAqQgBGFZlYzxUPgAApQgAAAQMECEBAACpCAAAAqUIAK0IAAAECLEIGACxCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQAEUwAABABFAQEYVmVjPFQ+AAC1CAxAcGFsbGV0X2RlbW9jcmFjeRR0eXBlczhSZWZlcmVuZHVtSW5mbwwsQmxvY2tOdW1iZXIBECBQcm9wb3NhbAEhARxCYWxhbmNlARgBCBxPbmdvaW5nBAC5CAHAUmVmZXJlbmR1bVN0YXR1czxCbG9ja051bWJlciwgUHJvcG9zYWwsIEJhbGFuY2U+AAAAIEZpbmlzaGVkCAEgYXBwcm92ZWQgARBib29sAAEMZW5kEAEsQmxvY2tOdW1iZXIAAQAAuQgMQHBhbGxldF9kZW1vY3JhY3kUdHlwZXNAUmVmZXJlbmR1bVN0YXR1cwwsQmxvY2tOdW1iZXIBECBQcm9wb3NhbAEhARxCYWxhbmNlARgAFAEMZW5kEAEsQmxvY2tOdW1iZXIAASBwcm9wb3NhbCEBASBQcm9wb3NhbAABJHRocmVzaG9sZKwBNFZvdGVUaHJlc2hvbGQAARRkZWxheRABLEJsb2NrTnVtYmVyAAEUdGFsbHm9CAE4VGFsbHk8QmFsYW5jZT4AAL0IDEBwYWxsZXRfZGVtb2NyYWN5FHR5cGVzFFRhbGx5BBxCYWxhbmNlARgADAEQYXllcxgBHEJhbGFuY2UAARBuYXlzGAEcQmFsYW5jZQABHHR1cm5vdXQYARxCYWxhbmNlAADBCAxAcGFsbGV0X2RlbW9jcmFjeRB2b3RlGFZvdGluZxAcQmFsYW5jZQEYJEFjY291bnRJZAEALEJsb2NrTnVtYmVyARAgTWF4Vm90ZXMAAQgYRGlyZWN0DAEUdm90ZXPFCAH0Qm91bmRlZFZlYzwoUmVmZXJlbmR1bUluZGV4LCBBY2NvdW50Vm90ZTxCYWxhbmNlPiksIE1heFZvdGVzPgABLGRlbGVnYXRpb25z0QgBUERlbGVnYXRpb25zPEJhbGFuY2U+AAEUcHJpb3LVCAF8UHJpb3JMb2NrPEJsb2NrTnVtYmVyLCBCYWxhbmNlPgAAAChEZWxlZ2F0aW5nFAEcYmFsYW5jZRgBHEJhbGFuY2UAARh0YXJnZXQAASRBY2NvdW50SWQAAShjb252aWN0aW9umQIBKENvbnZpY3Rpb24AASxkZWxlZ2F0aW9uc9EIAVBEZWxlZ2F0aW9uczxCYWxhbmNlPgABFHByaW9y1QgBfFByaW9yTG9jazxCbG9ja051bWJlciwgQmFsYW5jZT4AAQAAxQgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHJCARTAAAEAM0IARhWZWM8VD4AAMkIAAAECBCwAM0IAAACyQgA0QgMQHBhbGxldF9kZW1vY3JhY3kUdHlwZXMsRGVsZWdhdGlvbnMEHEJhbGFuY2UBGAAIARR2b3RlcxgBHEJhbGFuY2UAARxjYXBpdGFsGAEcQmFsYW5jZQAA1QgMQHBhbGxldF9kZW1vY3JhY3kQdm90ZSRQcmlvckxvY2sILEJsb2NrTnVtYmVyARAcQmFsYW5jZQEYAAgAEAEsQmxvY2tOdW1iZXIAABgBHEJhbGFuY2UAANkIAAAECCEBrADdCAAABAgQsQgA4QgMQHBhbGxldF9kZW1vY3JhY3kYcGFsbGV0FEVycm9yBARUAAFgIFZhbHVlTG93AAAENFZhbHVlIHRvbyBsb3c8UHJvcG9zYWxNaXNzaW5nAAEEXFByb3Bvc2FsIGRvZXMgbm90IGV4aXN0PEFscmVhZHlDYW5jZWxlZAACBJRDYW5ub3QgY2FuY2VsIHRoZSBzYW1lIHByb3Bvc2FsIHR3aWNlRER1cGxpY2F0ZVByb3Bvc2FsAAMEVFByb3Bvc2FsIGFscmVhZHkgbWFkZUxQcm9wb3NhbEJsYWNrbGlzdGVkAAQEaFByb3Bvc2FsIHN0aWxsIGJsYWNrbGlzdGVkRE5vdFNpbXBsZU1ham9yaXR5AAUEqE5leHQgZXh0ZXJuYWwgcHJvcG9zYWwgbm90IHNpbXBsZSBtYWpvcml0eSxJbnZhbGlkSGFzaAAGBDBJbnZhbGlkIGhhc2goTm9Qcm9wb3NhbAAHBFBObyBleHRlcm5hbCBwcm9wb3NhbDRBbHJlYWR5VmV0b2VkAAgEmElkZW50aXR5IG1heSBub3QgdmV0byBhIHByb3Bvc2FsIHR3aWNlRFJlZmVyZW5kdW1JbnZhbGlkAAkEhFZvdGUgZ2l2ZW4gZm9yIGludmFsaWQgcmVmZXJlbmR1bSxOb25lV2FpdGluZwAKBFBObyBwcm9wb3NhbHMgd2FpdGluZyBOb3RWb3RlcgALBMRUaGUgZ2l2ZW4gYWNjb3VudCBkaWQgbm90IHZvdGUgb24gdGhlIHJlZmVyZW5kdW0uME5vUGVybWlzc2lvbgAMBMhUaGUgYWN0b3IgaGFzIG5vIHBlcm1pc3Npb24gdG8gY29uZHVjdCB0aGUgYWN0aW9uLkRBbHJlYWR5RGVsZWdhdGluZwANBIhUaGUgYWNjb3VudCBpcyBhbHJlYWR5IGRlbGVnYXRpbmcuREluc3VmZmljaWVudEZ1bmRzAA4E/FRvbyBoaWdoIGEgYmFsYW5jZSB3YXMgcHJvdmlkZWQgdGhhdCB0aGUgYWNjb3VudCBjYW5ub3QgYWZmb3JkLjROb3REZWxlZ2F0aW5nAA8EoFRoZSBhY2NvdW50IGlzIG5vdCBjdXJyZW50bHkgZGVsZWdhdGluZy4oVm90ZXNFeGlzdAAQCFUBVGhlIGFjY291bnQgY3VycmVudGx5IGhhcyB2b3RlcyBhdHRhY2hlZCB0byBpdCBhbmQgdGhlIG9wZXJhdGlvbiBjYW5ub3Qgc3VjY2VlZCB1bnRpbOh0aGVzZSBhcmUgcmVtb3ZlZCwgZWl0aGVyIHRocm91Z2ggYHVudm90ZWAgb3IgYHJlYXBfdm90ZWAuREluc3RhbnROb3RBbGxvd2VkABEE2FRoZSBpbnN0YW50IHJlZmVyZW5kdW0gb3JpZ2luIGlzIGN1cnJlbnRseSBkaXNhbGxvd2VkLiBOb25zZW5zZQASBJREZWxlZ2F0aW9uIHRvIG9uZXNlbGYgbWFrZXMgbm8gc2Vuc2UuPFdyb25nVXBwZXJCb3VuZAATBFBJbnZhbGlkIHVwcGVyIGJvdW5kLjxNYXhWb3Rlc1JlYWNoZWQAFASATWF4aW11bSBudW1iZXIgb2Ygdm90ZXMgcmVhY2hlZC4cVG9vTWFueQAVBIBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyByZWFjaGVkLjxWb3RpbmdQZXJpb2RMb3cAFgRUVm90aW5nIHBlcmlvZCB0b28gbG93QFByZWltYWdlTm90RXhpc3QAFwRwVGhlIHByZWltYWdlIGRvZXMgbm90IGV4aXN0LgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7lCAAAAukIAOkICGRwYWxsZXRfZWxlY3Rpb25zX3BocmFnbWVuKFNlYXRIb2xkZXIIJEFjY291bnRJZAEAHEJhbGFuY2UBGAAMAQx3aG8AASRBY2NvdW50SWQAARRzdGFrZRgBHEJhbGFuY2UAARxkZXBvc2l0GAEcQmFsYW5jZQAA7QgIZHBhbGxldF9lbGVjdGlvbnNfcGhyYWdtZW4UVm90ZXIIJEFjY291bnRJZAEAHEJhbGFuY2UBGAAMARR2b3Rlc0UBAThWZWM8QWNjb3VudElkPgABFHN0YWtlGAEcQmFsYW5jZQABHGRlcG9zaXQYARxCYWxhbmNlAADxCAxkcGFsbGV0X2VsZWN0aW9uc19waHJhZ21lbhhwYWxsZXQURXJyb3IEBFQAAUQwVW5hYmxlVG9Wb3RlAAAEwENhbm5vdCB2b3RlIHdoZW4gbm8gY2FuZGlkYXRlcyBvciBtZW1iZXJzIGV4aXN0LhxOb1ZvdGVzAAEElE11c3Qgdm90ZSBmb3IgYXQgbGVhc3Qgb25lIGNhbmRpZGF0ZS4wVG9vTWFueVZvdGVzAAIEhENhbm5vdCB2b3RlIG1vcmUgdGhhbiBjYW5kaWRhdGVzLlBNYXhpbXVtVm90ZXNFeGNlZWRlZAADBJhDYW5ub3Qgdm90ZSBtb3JlIHRoYW4gbWF4aW11bSBhbGxvd2VkLihMb3dCYWxhbmNlAAQExENhbm5vdCB2b3RlIHdpdGggc3Rha2UgbGVzcyB0aGFuIG1pbmltdW0gYmFsYW5jZS48VW5hYmxlVG9QYXlCb25kAAUEeFZvdGVyIGNhbiBub3QgcGF5IHZvdGluZyBib25kLixNdXN0QmVWb3RlcgAGBEBNdXN0IGJlIGEgdm90ZXIuTER1cGxpY2F0ZWRDYW5kaWRhdGUABwSARHVwbGljYXRlZCBjYW5kaWRhdGUgc3VibWlzc2lvbi5EVG9vTWFueUNhbmRpZGF0ZXMACASYVG9vIG1hbnkgY2FuZGlkYXRlcyBoYXZlIGJlZW4gY3JlYXRlZC4wTWVtYmVyU3VibWl0AAkEiE1lbWJlciBjYW5ub3QgcmUtc3VibWl0IGNhbmRpZGFjeS44UnVubmVyVXBTdWJtaXQACgSIUnVubmVyIGNhbm5vdCByZS1zdWJtaXQgY2FuZGlkYWN5LmhJbnN1ZmZpY2llbnRDYW5kaWRhdGVGdW5kcwALBJRDYW5kaWRhdGUgZG9lcyBub3QgaGF2ZSBlbm91Z2ggZnVuZHMuJE5vdE1lbWJlcgAMBDROb3QgYSBtZW1iZXIuSEludmFsaWRXaXRuZXNzRGF0YQANBOBUaGUgcHJvdmlkZWQgY291bnQgb2YgbnVtYmVyIG9mIGNhbmRpZGF0ZXMgaXMgaW5jb3JyZWN0LkBJbnZhbGlkVm90ZUNvdW50AA4EzFRoZSBwcm92aWRlZCBjb3VudCBvZiBudW1iZXIgb2Ygdm90ZXMgaXMgaW5jb3JyZWN0LkRJbnZhbGlkUmVub3VuY2luZwAPBPxUaGUgcmVub3VuY2luZyBvcmlnaW4gcHJlc2VudGVkIGEgd3JvbmcgYFJlbm91bmNpbmdgIHBhcmFtZXRlci5ISW52YWxpZFJlcGxhY2VtZW50ABAE/FByZWRpY3Rpb24gcmVnYXJkaW5nIHJlcGxhY2VtZW50IGFmdGVyIG1lbWJlciByZW1vdmFsIGlzIHdyb25nLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC71CAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUATQEUwAABADhAQEYVmVjPFQ+AAD5CAhEcGFsbGV0X2NvbGxlY3RpdmUUVm90ZXMIJEFjY291bnRJZAEALEJsb2NrTnVtYmVyARAAFAEUaW5kZXgQATRQcm9wb3NhbEluZGV4AAEkdGhyZXNob2xkEAEsTWVtYmVyQ291bnQAARBheWVzRQEBOFZlYzxBY2NvdW50SWQ+AAEQbmF5c0UBAThWZWM8QWNjb3VudElkPgABDGVuZBABLEJsb2NrTnVtYmVyAAD9CAxEcGFsbGV0X2NvbGxlY3RpdmUYcGFsbGV0FEVycm9yCARUAARJAAEsJE5vdE1lbWJlcgAABFxBY2NvdW50IGlzIG5vdCBhIG1lbWJlckREdXBsaWNhdGVQcm9wb3NhbAABBHxEdXBsaWNhdGUgcHJvcG9zYWxzIG5vdCBhbGxvd2VkPFByb3Bvc2FsTWlzc2luZwACBExQcm9wb3NhbCBtdXN0IGV4aXN0KFdyb25nSW5kZXgAAwRATWlzbWF0Y2hlZCBpbmRleDREdXBsaWNhdGVWb3RlAAQEWER1cGxpY2F0ZSB2b3RlIGlnbm9yZWRIQWxyZWFkeUluaXRpYWxpemVkAAUEgE1lbWJlcnMgYXJlIGFscmVhZHkgaW5pdGlhbGl6ZWQhIFRvb0Vhcmx5AAYEAQFUaGUgY2xvc2UgY2FsbCB3YXMgbWFkZSB0b28gZWFybHksIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSB2b3RpbmcuQFRvb01hbnlQcm9wb3NhbHMABwT8VGhlcmUgY2FuIG9ubHkgYmUgYSBtYXhpbXVtIG9mIGBNYXhQcm9wb3NhbHNgIGFjdGl2ZSBwcm9wb3NhbHMuTFdyb25nUHJvcG9zYWxXZWlnaHQACATQVGhlIGdpdmVuIHdlaWdodCBib3VuZCBmb3IgdGhlIHByb3Bvc2FsIHdhcyB0b28gbG93LkxXcm9uZ1Byb3Bvc2FsTGVuZ3RoAAkE0FRoZSBnaXZlbiBsZW5ndGggYm91bmQgZm9yIHRoZSBwcm9wb3NhbCB3YXMgdG9vIGxvdy5UUHJpbWVBY2NvdW50Tm90TWVtYmVyAAoEdFByaW1lIGFjY291bnQgaXMgbm90IGEgbWVtYmVyBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LgEJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBNARTAAAEAOEBARhWZWM8VD4AAAUJDERwYWxsZXRfY29sbGVjdGl2ZRhwYWxsZXQURXJyb3IIBFQABEkAASwkTm90TWVtYmVyAAAEXEFjY291bnQgaXMgbm90IGEgbWVtYmVyRER1cGxpY2F0ZVByb3Bvc2FsAAEEfER1cGxpY2F0ZSBwcm9wb3NhbHMgbm90IGFsbG93ZWQ8UHJvcG9zYWxNaXNzaW5nAAIETFByb3Bvc2FsIG11c3QgZXhpc3QoV3JvbmdJbmRleAADBEBNaXNtYXRjaGVkIGluZGV4NER1cGxpY2F0ZVZvdGUABARYRHVwbGljYXRlIHZvdGUgaWdub3JlZEhBbHJlYWR5SW5pdGlhbGl6ZWQABQSATWVtYmVycyBhcmUgYWxyZWFkeSBpbml0aWFsaXplZCEgVG9vRWFybHkABgQBAVRoZSBjbG9zZSBjYWxsIHdhcyBtYWRlIHRvbyBlYXJseSwgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIHZvdGluZy5AVG9vTWFueVByb3Bvc2FscwAHBPxUaGVyZSBjYW4gb25seSBiZSBhIG1heGltdW0gb2YgYE1heFByb3Bvc2Fsc2AgYWN0aXZlIHByb3Bvc2Fscy5MV3JvbmdQcm9wb3NhbFdlaWdodAAIBNBUaGUgZ2l2ZW4gd2VpZ2h0IGJvdW5kIGZvciB0aGUgcHJvcG9zYWwgd2FzIHRvbyBsb3cuTFdyb25nUHJvcG9zYWxMZW5ndGgACQTQVGhlIGdpdmVuIGxlbmd0aCBib3VuZCBmb3IgdGhlIHByb3Bvc2FsIHdhcyB0b28gbG93LlRQcmltZUFjY291bnROb3RNZW1iZXIACgR0UHJpbWUgYWNjb3VudCBpcyBub3QgYSBtZW1iZXIEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuCQkILHBhbGxldF90aXBzHE9wZW5UaXAQJEFjY291bnRJZAEAHEJhbGFuY2UBGCxCbG9ja051bWJlcgEQEEhhc2gBNAAcARhyZWFzb240ARBIYXNoAAEMd2hvAAEkQWNjb3VudElkAAEYZmluZGVyAAEkQWNjb3VudElkAAEcZGVwb3NpdBgBHEJhbGFuY2UAARhjbG9zZXNtAQFMT3B0aW9uPEJsb2NrTnVtYmVyPgABEHRpcHPAAWRWZWM8KEFjY291bnRJZCwgQmFsYW5jZSk+AAEsZmluZGVyc19mZWUgARBib29sAAANCQw0c3BfYXJpdGhtZXRpYyhwZXJfdGhpbmdzHFBlcmNlbnQAAAQACAEIdTgAABEJDCxwYWxsZXRfdGlwcxhwYWxsZXQURXJyb3IIBFQABEkAARwwUmVhc29uVG9vQmlnAAAEhFRoZSByZWFzb24gZ2l2ZW4gaXMganVzdCB0b28gYmlnLjBBbHJlYWR5S25vd24AAQSIVGhlIHRpcCB3YXMgYWxyZWFkeSBmb3VuZC9zdGFydGVkLihVbmtub3duVGlwAAIEYFRoZSB0aXAgaGFzaCBpcyB1bmtub3duLlBNYXhUaXBBbW91bnRFeGNlZWRlZAADBHxUaGUgdGlwIGdpdmVuIHdhcyB0b28gZ2VuZXJvdXMuJE5vdEZpbmRlcgAEBB0BVGhlIGFjY291bnQgYXR0ZW1wdGluZyB0byByZXRyYWN0IHRoZSB0aXAgaXMgbm90IHRoZSBmaW5kZXIgb2YgdGhlIHRpcC4kU3RpbGxPcGVuAAUEKQFUaGUgdGlwIGNhbm5vdCBiZSBjbGFpbWVkL2Nsb3NlZCBiZWNhdXNlIHRoZXJlIGFyZSBub3QgZW5vdWdoIHRpcHBlcnMgeWV0LiRQcmVtYXR1cmUABgQxAVRoZSB0aXAgY2Fubm90IGJlIGNsYWltZWQvY2xvc2VkIGJlY2F1c2UgaXQncyBzdGlsbCBpbiB0aGUgY291bnRkb3duIHBlcmlvZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuFQkAAAQIGQkYABkJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBHQkEUwAABAAhCQEYVmVjPFQ+AAAdCQgwcGFsbGV0X3Byb3h5PFByb3h5RGVmaW5pdGlvbgwkQWNjb3VudElkAQAkUHJveHlUeXBlAdgsQmxvY2tOdW1iZXIBEAAMASBkZWxlZ2F0ZQABJEFjY291bnRJZAABKHByb3h5X3R5cGXYASRQcm94eVR5cGUAARRkZWxheRABLEJsb2NrTnVtYmVyAAAhCQAAAh0JACUJAAAECCkJGAApCQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAS0JBFMAAAQAMQkBGFZlYzxUPgAALQkIMHBhbGxldF9wcm94eTBBbm5vdW5jZW1lbnQMJEFjY291bnRJZAEAEEhhc2gBNCxCbG9ja051bWJlcgEQAAwBEHJlYWwAASRBY2NvdW50SWQAASRjYWxsX2hhc2g0ARBIYXNoAAEYaGVpZ2h0EAEsQmxvY2tOdW1iZXIAADEJAAACLQkANQkMMHBhbGxldF9wcm94eRhwYWxsZXQURXJyb3IEBFQAASAcVG9vTWFueQAABCEBVGhlcmUgYXJlIHRvbyBtYW55IHByb3hpZXMgcmVnaXN0ZXJlZCBvciB0b28gbWFueSBhbm5vdW5jZW1lbnRzIHBlbmRpbmcuIE5vdEZvdW5kAAEEdFByb3h5IHJlZ2lzdHJhdGlvbiBub3QgZm91bmQuIE5vdFByb3h5AAIEzFNlbmRlciBpcyBub3QgYSBwcm94eSBvZiB0aGUgYWNjb3VudCB0byBiZSBwcm94aWVkLixVbnByb3h5YWJsZQADBCEBQSBjYWxsIHdoaWNoIGlzIGluY29tcGF0aWJsZSB3aXRoIHRoZSBwcm94eSB0eXBlJ3MgZmlsdGVyIHdhcyBhdHRlbXB0ZWQuJER1cGxpY2F0ZQAEBGxBY2NvdW50IGlzIGFscmVhZHkgYSBwcm94eS4wTm9QZXJtaXNzaW9uAAUEFQFDYWxsIG1heSBub3QgYmUgbWFkZSBieSBwcm94eSBiZWNhdXNlIGl0IG1heSBlc2NhbGF0ZSBpdHMgcHJpdmlsZWdlcy4sVW5hbm5vdW5jZWQABgTQQW5ub3VuY2VtZW50LCBpZiBtYWRlIGF0IGFsbCwgd2FzIG1hZGUgdG9vIHJlY2VudGx5LixOb1NlbGZQcm94eQAHBGRDYW5ub3QgYWRkIHNlbGYgYXMgcHJveHkuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LjkJAAAECAAEAD0JCDxwYWxsZXRfbXVsdGlzaWcgTXVsdGlzaWcQLEJsb2NrTnVtYmVyARAcQmFsYW5jZQEYJEFjY291bnRJZAEAME1heEFwcHJvdmFscwAAEAEQd2hlbuQBWFRpbWVwb2ludDxCbG9ja051bWJlcj4AARxkZXBvc2l0GAEcQmFsYW5jZQABJGRlcG9zaXRvcgABJEFjY291bnRJZAABJGFwcHJvdmFsc0EJAYxCb3VuZGVkVmVjPEFjY291bnRJZCwgTWF4QXBwcm92YWxzPgAAQQkMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEABFMAAAQARQEBGFZlYzxUPgAARQkMPHBhbGxldF9tdWx0aXNpZxhwYWxsZXQURXJyb3IEBFQAAThATWluaW11bVRocmVzaG9sZAAABHxUaHJlc2hvbGQgbXVzdCBiZSAyIG9yIGdyZWF0ZXIuPEFscmVhZHlBcHByb3ZlZAABBKxDYWxsIGlzIGFscmVhZHkgYXBwcm92ZWQgYnkgdGhpcyBzaWduYXRvcnkuRE5vQXBwcm92YWxzTmVlZGVkAAIEnENhbGwgZG9lc24ndCBuZWVkIGFueSAobW9yZSkgYXBwcm92YWxzLkRUb29GZXdTaWduYXRvcmllcwADBKhUaGVyZSBhcmUgdG9vIGZldyBzaWduYXRvcmllcyBpbiB0aGUgbGlzdC5IVG9vTWFueVNpZ25hdG9yaWVzAAQErFRoZXJlIGFyZSB0b28gbWFueSBzaWduYXRvcmllcyBpbiB0aGUgbGlzdC5UU2lnbmF0b3JpZXNPdXRPZk9yZGVyAAUEDQFUaGUgc2lnbmF0b3JpZXMgd2VyZSBwcm92aWRlZCBvdXQgb2Ygb3JkZXI7IHRoZXkgc2hvdWxkIGJlIG9yZGVyZWQuTFNlbmRlckluU2lnbmF0b3JpZXMABgQNAVRoZSBzZW5kZXIgd2FzIGNvbnRhaW5lZCBpbiB0aGUgb3RoZXIgc2lnbmF0b3JpZXM7IGl0IHNob3VsZG4ndCBiZS4gTm90Rm91bmQABwTcTXVsdGlzaWcgb3BlcmF0aW9uIG5vdCBmb3VuZCB3aGVuIGF0dGVtcHRpbmcgdG8gY2FuY2VsLiBOb3RPd25lcgAIBC0BT25seSB0aGUgYWNjb3VudCB0aGF0IG9yaWdpbmFsbHkgY3JlYXRlZCB0aGUgbXVsdGlzaWcgaXMgYWJsZSB0byBjYW5jZWwgaXQuLE5vVGltZXBvaW50AAkEHQFObyB0aW1lcG9pbnQgd2FzIGdpdmVuLCB5ZXQgdGhlIG11bHRpc2lnIG9wZXJhdGlvbiBpcyBhbHJlYWR5IHVuZGVyd2F5LjhXcm9uZ1RpbWVwb2ludAAKBC0BQSBkaWZmZXJlbnQgdGltZXBvaW50IHdhcyBnaXZlbiB0byB0aGUgbXVsdGlzaWcgb3BlcmF0aW9uIHRoYXQgaXMgdW5kZXJ3YXkuTFVuZXhwZWN0ZWRUaW1lcG9pbnQACwT0QSB0aW1lcG9pbnQgd2FzIGdpdmVuLCB5ZXQgbm8gbXVsdGlzaWcgb3BlcmF0aW9uIGlzIHVuZGVyd2F5LjxNYXhXZWlnaHRUb29Mb3cADATQVGhlIG1heGltdW0gd2VpZ2h0IGluZm9ybWF0aW9uIHByb3ZpZGVkIHdhcyB0b28gbG93LjRBbHJlYWR5U3RvcmVkAA0EoFRoZSBkYXRhIHRvIGJlIHN0b3JlZCBpcyBhbHJlYWR5IHN0b3JlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuSQkMOHBhbGxldF91bmlxdWVzFHR5cGVzRENvbGxlY3Rpb25EZXRhaWxzCCRBY2NvdW50SWQBADhEZXBvc2l0QmFsYW5jZQEYACgBFG93bmVyAAEkQWNjb3VudElkAAEYaXNzdWVyAAEkQWNjb3VudElkAAEUYWRtaW4AASRBY2NvdW50SWQAARxmcmVlemVyAAEkQWNjb3VudElkAAE0dG90YWxfZGVwb3NpdBgBOERlcG9zaXRCYWxhbmNlAAEwZnJlZV9ob2xkaW5nIAEQYm9vbAABFGl0ZW1zEAEMdTMyAAE4aXRlbV9tZXRhZGF0YXMQAQx1MzIAAShhdHRyaWJ1dGVzEAEMdTMyAAEkaXNfZnJvemVuIAEQYm9vbAAATQkAAAQMABgYAFEJDDhwYWxsZXRfdW5pcXVlcxR0eXBlcyxJdGVtRGV0YWlscwgkQWNjb3VudElkAQA4RGVwb3NpdEJhbGFuY2UBGAAQARRvd25lcgABJEFjY291bnRJZAABIGFwcHJvdmVkAQEBRE9wdGlvbjxBY2NvdW50SWQ+AAEkaXNfZnJvemVuIAEQYm9vbAABHGRlcG9zaXQYAThEZXBvc2l0QmFsYW5jZQAAVQkMOHBhbGxldF91bmlxdWVzFHR5cGVzSENvbGxlY3Rpb25NZXRhZGF0YQg4RGVwb3NpdEJhbGFuY2UBGCxTdHJpbmdMaW1pdAAADAEcZGVwb3NpdBgBOERlcG9zaXRCYWxhbmNlAAEQZGF0YewBbEJvdW5kZWRWZWM8dTgsIFN0cmluZ0xpbWl0PgABJGlzX2Zyb3plbiABEGJvb2wAAFkJDDhwYWxsZXRfdW5pcXVlcxR0eXBlczBJdGVtTWV0YWRhdGEIOERlcG9zaXRCYWxhbmNlARgsU3RyaW5nTGltaXQAAAwBHGRlcG9zaXQYAThEZXBvc2l0QmFsYW5jZQABEGRhdGHsAWxCb3VuZGVkVmVjPHU4LCBTdHJpbmdMaW1pdD4AASRpc19mcm96ZW4gARBib29sAABdCQAABAwY9PgAYQkAAAQI/BgAZQkAAAQIGAEBAGkJDDhwYWxsZXRfdW5pcXVlcxhwYWxsZXQURXJyb3IIBFQABEkAAUgwTm9QZXJtaXNzaW9uAAAE6FRoZSBzaWduaW5nIGFjY291bnQgaGFzIG5vIHBlcm1pc3Npb24gdG8gZG8gdGhlIG9wZXJhdGlvbi5EVW5rbm93bkNvbGxlY3Rpb24AAQR0VGhlIGdpdmVuIGl0ZW0gSUQgaXMgdW5rbm93bi40QWxyZWFkeUV4aXN0cwACBLhUaGUgaXRlbSBJRCBoYXMgYWxyZWFkeSBiZWVuIHVzZWQgZm9yIGFuIGl0ZW0uKFdyb25nT3duZXIAAwToVGhlIG93bmVyIHR1cm5lZCBvdXQgdG8gYmUgZGlmZmVyZW50IHRvIHdoYXQgd2FzIGV4cGVjdGVkLihCYWRXaXRuZXNzAAQEbEludmFsaWQgd2l0bmVzcyBkYXRhIGdpdmVuLhRJblVzZQAFBHRUaGUgaXRlbSBJRCBpcyBhbHJlYWR5IHRha2VuLhhGcm96ZW4ABgSEVGhlIGl0ZW0gb3IgY29sbGVjdGlvbiBpcyBmcm96ZW4uNFdyb25nRGVsZWdhdGUABwT0VGhlIGRlbGVnYXRlIHR1cm5lZCBvdXQgdG8gYmUgZGlmZmVyZW50IHRvIHdoYXQgd2FzIGV4cGVjdGVkLihOb0RlbGVnYXRlAAgEeFRoZXJlIGlzIG5vIGRlbGVnYXRlIGFwcHJvdmVkLihVbmFwcHJvdmVkAAkExE5vIGFwcHJvdmFsIGV4aXN0cyB0aGF0IHdvdWxkIGFsbG93IHRoZSB0cmFuc2Zlci4oVW5hY2NlcHRlZAAKBCUBVGhlIG5hbWVkIG93bmVyIGhhcyBub3Qgc2lnbmVkIG93bmVyc2hpcCBvZiB0aGUgY29sbGVjdGlvbiBpcyBhY2NlcHRhYmxlLhhMb2NrZWQACwRMVGhlIGl0ZW0gaXMgbG9ja2VkLkBNYXhTdXBwbHlSZWFjaGVkAAwEbEFsbCBpdGVtcyBoYXZlIGJlZW4gbWludGVkLkxNYXhTdXBwbHlBbHJlYWR5U2V0AA0EkFRoZSBtYXggc3VwcGx5IGhhcyBhbHJlYWR5IGJlZW4gc2V0LkRNYXhTdXBwbHlUb29TbWFsbAAOBEEBVGhlIHByb3ZpZGVkIG1heCBzdXBwbHkgaXMgbGVzcyB0byB0aGUgYW1vdW50IG9mIGl0ZW1zIGEgY29sbGVjdGlvbiBhbHJlYWR5IGhhcy4sVW5rbm93bkl0ZW0ADwR0VGhlIGdpdmVuIGl0ZW0gSUQgaXMgdW5rbm93bi4oTm90Rm9yU2FsZQAQBFRJdGVtIGlzIG5vdCBmb3Igc2FsZS4kQmlkVG9vTG93ABEEcFRoZSBwcm92aWRlZCBiaWQgaXMgdG9vIGxvdy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQubQkAAAQIANwAcQkMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxB2b3RlGFZvdGluZxQcQmFsYW5jZQEYJEFjY291bnRJZAEALEJsb2NrTnVtYmVyARAkUG9sbEluZGV4ARAgTWF4Vm90ZXMAAQgcQ2FzdGluZwQAdQkByENhc3Rpbmc8QmFsYW5jZSwgQmxvY2tOdW1iZXIsIFBvbGxJbmRleCwgTWF4Vm90ZXM+AAAAKERlbGVnYXRpbmcEAI0JAaxEZWxlZ2F0aW5nPEJhbGFuY2UsIEFjY291bnRJZCwgQmxvY2tOdW1iZXI+AAEAAHUJDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcQdm90ZRxDYXN0aW5nEBxCYWxhbmNlARgsQmxvY2tOdW1iZXIBECRQb2xsSW5kZXgBECBNYXhWb3RlcwAADAEUdm90ZXN5CQHcQm91bmRlZFZlYzwoUG9sbEluZGV4LCBBY2NvdW50Vm90ZTxCYWxhbmNlPiksIE1heFZvdGVzPgABLGRlbGVnYXRpb25zhQkBUERlbGVnYXRpb25zPEJhbGFuY2U+AAEUcHJpb3KJCQF8UHJpb3JMb2NrPEJsb2NrTnVtYmVyLCBCYWxhbmNlPgAAeQkMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAF9CQRTAAAEAIEJARhWZWM8VD4AAH0JAAAECBAVAQCBCQAAAn0JAIUJDGBwYWxsZXRfY29udmljdGlvbl92b3RpbmcUdHlwZXMsRGVsZWdhdGlvbnMEHEJhbGFuY2UBGAAIARR2b3RlcxgBHEJhbGFuY2UAARxjYXBpdGFsGAEcQmFsYW5jZQAAiQkMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxB2b3RlJFByaW9yTG9jawgsQmxvY2tOdW1iZXIBEBxCYWxhbmNlARgACAAQASxCbG9ja051bWJlcgAAGAEcQmFsYW5jZQAAjQkMYHBhbGxldF9jb252aWN0aW9uX3ZvdGluZxB2b3RlKERlbGVnYXRpbmcMHEJhbGFuY2UBGCRBY2NvdW50SWQBACxCbG9ja051bWJlcgEQABQBHGJhbGFuY2UYARxCYWxhbmNlAAEYdGFyZ2V0AAEkQWNjb3VudElkAAEoY29udmljdGlvbukCAShDb252aWN0aW9uAAEsZGVsZWdhdGlvbnOFCQFQRGVsZWdhdGlvbnM8QmFsYW5jZT4AARRwcmlvcokJAXxQcmlvckxvY2s8QmxvY2tOdW1iZXIsIEJhbGFuY2U+AACRCQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAZUJBFMAAAQAmQkBGFZlYzxUPgAAlQkAAAQI3BgAmQkAAAKVCQCdCQxgcGFsbGV0X2NvbnZpY3Rpb25fdm90aW5nGHBhbGxldBRFcnJvcggEVAAESQABMChOb3RPbmdvaW5nAAAEUFBvbGwgaXMgbm90IG9uZ29pbmcuIE5vdFZvdGVyAAEErFRoZSBnaXZlbiBhY2NvdW50IGRpZCBub3Qgdm90ZSBvbiB0aGUgcG9sbC4wTm9QZXJtaXNzaW9uAAIEyFRoZSBhY3RvciBoYXMgbm8gcGVybWlzc2lvbiB0byBjb25kdWN0IHRoZSBhY3Rpb24uPE5vUGVybWlzc2lvbllldAADBFkBVGhlIGFjdG9yIGhhcyBubyBwZXJtaXNzaW9uIHRvIGNvbmR1Y3QgdGhlIGFjdGlvbiByaWdodCBub3cgYnV0IHdpbGwgZG8gaW4gdGhlIGZ1dHVyZS5EQWxyZWFkeURlbGVnYXRpbmcABASIVGhlIGFjY291bnQgaXMgYWxyZWFkeSBkZWxlZ2F0aW5nLjRBbHJlYWR5Vm90aW5nAAUIVQFUaGUgYWNjb3VudCBjdXJyZW50bHkgaGFzIHZvdGVzIGF0dGFjaGVkIHRvIGl0IGFuZCB0aGUgb3BlcmF0aW9uIGNhbm5vdCBzdWNjZWVkIHVudGlsoHRoZXNlIGFyZSByZW1vdmVkIHRocm91Z2ggYHJlbW92ZV92b3RlYC5ESW5zdWZmaWNpZW50RnVuZHMABgT8VG9vIGhpZ2ggYSBiYWxhbmNlIHdhcyBwcm92aWRlZCB0aGF0IHRoZSBhY2NvdW50IGNhbm5vdCBhZmZvcmQuNE5vdERlbGVnYXRpbmcABwSgVGhlIGFjY291bnQgaXMgbm90IGN1cnJlbnRseSBkZWxlZ2F0aW5nLiBOb25zZW5zZQAIBJREZWxlZ2F0aW9uIHRvIG9uZXNlbGYgbWFrZXMgbm8gc2Vuc2UuPE1heFZvdGVzUmVhY2hlZAAJBIBNYXhpbXVtIG51bWJlciBvZiB2b3RlcyByZWFjaGVkLixDbGFzc05lZWRlZAAKBDkBVGhlIGNsYXNzIG11c3QgYmUgc3VwcGxpZWQgc2luY2UgaXQgaXMgbm90IGVhc2lseSBkZXRlcm1pbmFibGUgZnJvbSB0aGUgc3RhdGUuIEJhZENsYXNzAAsEhFRoZSBjbGFzcyBJRCBzdXBwbGllZCBpcyBpbnZhbGlkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6hCQxAcGFsbGV0X3JlZmVyZW5kYRR0eXBlczhSZWZlcmVuZHVtSW5mbyAcVHJhY2tJZAHcNFJ1bnRpbWVPcmlnaW4BeQEYTW9tZW50ARAQQ2FsbAEhARxCYWxhbmNlARgUVGFsbHkBYQYkQWNjb3VudElkAQA8U2NoZWR1bGVBZGRyZXNzAXUDARgcT25nb2luZwQApQkBjQFSZWZlcmVuZHVtU3RhdHVzPFRyYWNrSWQsIFJ1bnRpbWVPcmlnaW4sIE1vbWVudCwgQ2FsbCwgQmFsYW5jZSwgVGFsbHksCkFjY291bnRJZCwgU2NoZWR1bGVBZGRyZXNzLD4AAAAgQXBwcm92ZWQMABABGE1vbWVudAAArQkBjE9wdGlvbjxEZXBvc2l0PEFjY291bnRJZCwgQmFsYW5jZT4+AACtCQGMT3B0aW9uPERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPj4AAQAgUmVqZWN0ZWQMABABGE1vbWVudAAArQkBjE9wdGlvbjxEZXBvc2l0PEFjY291bnRJZCwgQmFsYW5jZT4+AACtCQGMT3B0aW9uPERlcG9zaXQ8QWNjb3VudElkLCBCYWxhbmNlPj4AAgAkQ2FuY2VsbGVkDAAQARhNb21lbnQAAK0JAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgAArQkBjE9wdGlvbjxEZXBvc2l0PEFjY291bnRJZCwgQmFsYW5jZT4+AAMAIFRpbWVkT3V0DAAQARhNb21lbnQAAK0JAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgAArQkBjE9wdGlvbjxEZXBvc2l0PEFjY291bnRJZCwgQmFsYW5jZT4+AAQAGEtpbGxlZAQAEAEYTW9tZW50AAUAAKUJDEBwYWxsZXRfcmVmZXJlbmRhFHR5cGVzQFJlZmVyZW5kdW1TdGF0dXMgHFRyYWNrSWQB3DRSdW50aW1lT3JpZ2luAXkBGE1vbWVudAEQEENhbGwBIQEcQmFsYW5jZQEYFFRhbGx5AWEGJEFjY291bnRJZAEAPFNjaGVkdWxlQWRkcmVzcwF1AwAsARR0cmFja9wBHFRyYWNrSWQAARhvcmlnaW55AQE0UnVudGltZU9yaWdpbgABIHByb3Bvc2FsIQEBEENhbGwAASRlbmFjdG1lbnT1AgFQRGlzcGF0Y2hUaW1lPE1vbWVudD4AASRzdWJtaXR0ZWQQARhNb21lbnQAAUhzdWJtaXNzaW9uX2RlcG9zaXSpCQFsRGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+AAFAZGVjaXNpb25fZGVwb3NpdK0JAYxPcHRpb248RGVwb3NpdDxBY2NvdW50SWQsIEJhbGFuY2U+PgABIGRlY2lkaW5nsQkBeE9wdGlvbjxEZWNpZGluZ1N0YXR1czxNb21lbnQ+PgABFHRhbGx5YQYBFFRhbGx5AAEgaW5fcXVldWUgARBib29sAAEUYWxhcm25CQGET3B0aW9uPChNb21lbnQsIFNjaGVkdWxlQWRkcmVzcyk+AACpCQxAcGFsbGV0X3JlZmVyZW5kYRR0eXBlcxxEZXBvc2l0CCRBY2NvdW50SWQBABxCYWxhbmNlARgACAEMd2hvAAEkQWNjb3VudElkAAEYYW1vdW50GAEcQmFsYW5jZQAArQkEGE9wdGlvbgQEVAGpCQEIEE5vbmUAAAAQU29tZQQAqQkAAAEAALEJBBhPcHRpb24EBFQBtQkBCBBOb25lAAAAEFNvbWUEALUJAAABAAC1CQxAcGFsbGV0X3JlZmVyZW5kYRR0eXBlczhEZWNpZGluZ1N0YXR1cwQsQmxvY2tOdW1iZXIBEAAIARRzaW5jZRABLEJsb2NrTnVtYmVyAAEoY29uZmlybWluZ20BAUxPcHRpb248QmxvY2tOdW1iZXI+AAC5CQQYT3B0aW9uBARUAb0JAQgQTm9uZQAAABBTb21lBAC9CQAAAQAAvQkAAAQIEHUDAMEJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQB8QMEUwAABAA9BgEYVmVjPFQ+AADFCQAAAskJAMkJAAAECNzNCQDNCQxAcGFsbGV0X3JlZmVyZW5kYRR0eXBlcyRUcmFja0luZm8IHEJhbGFuY2UBGBhNb21lbnQBEAAkARBuYW1lGQcBMCYnc3RhdGljIHN0cgABMG1heF9kZWNpZGluZxABDHUzMgABQGRlY2lzaW9uX2RlcG9zaXQYARxCYWxhbmNlAAE4cHJlcGFyZV9wZXJpb2QQARhNb21lbnQAATxkZWNpc2lvbl9wZXJpb2QQARhNb21lbnQAAThjb25maXJtX3BlcmlvZBABGE1vbWVudAABUG1pbl9lbmFjdG1lbnRfcGVyaW9kEAEYTW9tZW50AAEwbWluX2FwcHJvdmFs0QkBFEN1cnZlAAEsbWluX3N1cHBvcnTRCQEUQ3VydmUAANEJDEBwYWxsZXRfcmVmZXJlbmRhFHR5cGVzFEN1cnZlAAEMQExpbmVhckRlY3JlYXNpbmcMARhsZW5ndGjVCQEcUGVyYmlsbAABFGZsb29y1QkBHFBlcmJpbGwAARBjZWls1QkBHFBlcmJpbGwAAABEU3RlcHBlZERlY3JlYXNpbmcQARRiZWdpbtUJARxQZXJiaWxsAAEMZW5k1QkBHFBlcmJpbGwAARBzdGVw1QkBHFBlcmJpbGwAARhwZXJpb2TVCQEcUGVyYmlsbAABAChSZWNpcHJvY2FsDAEYZmFjdG9y2QkBIEZpeGVkSTY0AAEgeF9vZmZzZXTZCQEgRml4ZWRJNjQAASB5X29mZnNldNkJASBGaXhlZEk2NAACAADVCQw0c3BfYXJpdGhtZXRpYyhwZXJfdGhpbmdzHFBlcmJpbGwAAAQAEAEMdTMyAADZCQw0c3BfYXJpdGhtZXRpYyxmaXhlZF9wb2ludCBGaXhlZEk2NAAABADdCQEMaTY0AADdCQAABQwA4QkMQHBhbGxldF9yZWZlcmVuZGEYcGFsbGV0FEVycm9yCARUAARJAAE4KE5vdE9uZ29pbmcAAARoUmVmZXJlbmR1bSBpcyBub3Qgb25nb2luZy4oSGFzRGVwb3NpdAABBLhSZWZlcmVuZHVtJ3MgZGVjaXNpb24gZGVwb3NpdCBpcyBhbHJlYWR5IHBhaWQuIEJhZFRyYWNrAAIEnFRoZSB0cmFjayBpZGVudGlmaWVyIGdpdmVuIHdhcyBpbnZhbGlkLhBGdWxsAAMEMQFUaGVyZSBhcmUgYWxyZWFkeSBhIGZ1bGwgY29tcGxlbWVudCBvZiByZWZlcmVuZGEgaW4gcHJvZ3Jlc3MgZm9yIHRoaXMgdHJhY2suKFF1ZXVlRW1wdHkABASAVGhlIHF1ZXVlIG9mIHRoZSB0cmFjayBpcyBlbXB0eS40QmFkUmVmZXJlbmR1bQAFBORUaGUgcmVmZXJlbmR1bSBpbmRleCBwcm92aWRlZCBpcyBpbnZhbGlkIGluIHRoaXMgY29udGV4dC4sTm90aGluZ1RvRG8ABgSsVGhlcmUgd2FzIG5vdGhpbmcgdG8gZG8gaW4gdGhlIGFkdmFuY2VtZW50LhxOb1RyYWNrAAcEoE5vIHRyYWNrIGV4aXN0cyBmb3IgdGhlIHByb3Bvc2FsIG9yaWdpbi4oVW5maW5pc2hlZAAIBAEBQW55IGRlcG9zaXQgY2Fubm90IGJlIHJlZnVuZGVkIHVudGlsIGFmdGVyIHRoZSBkZWNpc2lvbiBpcyBvdmVyLjBOb1Blcm1pc3Npb24ACQSoVGhlIGRlcG9zaXQgcmVmdW5kZXIgaXMgbm90IHRoZSBkZXBvc2l0b3IuJE5vRGVwb3NpdAAKBMxUaGUgZGVwb3NpdCBjYW5ub3QgYmUgcmVmdW5kZWQgc2luY2Ugbm9uZSB3YXMgbWFkZS4kQmFkU3RhdHVzAAsE0FRoZSByZWZlcmVuZHVtIHN0YXR1cyBpcyBpbnZhbGlkIGZvciB0aGlzIG9wZXJhdGlvbi5AUHJlaW1hZ2VOb3RFeGlzdAAMBHBUaGUgcHJlaW1hZ2UgZG9lcyBub3QgZXhpc3QuhFByZWltYWdlU3RvcmVkV2l0aERpZmZlcmVudExlbmd0aAANBBUBVGhlIHByZWltYWdlIGlzIHN0b3JlZCB3aXRoIGEgZGlmZmVyZW50IGxlbmd0aCB0aGFuIHRoZSBvbmUgcHJvdmlkZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LuUJDEBwYWxsZXRfd2hpdGVsaXN0GHBhbGxldBRFcnJvcgQEVAABFExVbmF2YWlsYWJsZVByZUltYWdlAAAEyFRoZSBwcmVpbWFnZSBvZiB0aGUgY2FsbCBoYXNoIGNvdWxkIG5vdCBiZSBsb2FkZWQuPFVuZGVjb2RhYmxlQ2FsbAABBHhUaGUgY2FsbCBjb3VsZCBub3QgYmUgZGVjb2RlZC5gSW52YWxpZENhbGxXZWlnaHRXaXRuZXNzAAIE7FRoZSB3ZWlnaHQgb2YgdGhlIGRlY29kZWQgY2FsbCB3YXMgaGlnaGVyIHRoYW4gdGhlIHdpdG5lc3MuUENhbGxJc05vdFdoaXRlbGlzdGVkAAMEdFRoZSBjYWxsIHdhcyBub3Qgd2hpdGVsaXN0ZWQuWENhbGxBbHJlYWR5V2hpdGVsaXN0ZWQABASgVGhlIGNhbGwgd2FzIGFscmVhZHkgd2hpdGVsaXN0ZWQ7IE5vLU9wLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7pCQxUcGFsbGV0X2Fzc2V0X3JlZ2lzdHJ5FHR5cGVzMEFzc2V0RGV0YWlscwQsU3RyaW5nTGltaXQAABwBEG5hbWUFAwFkT3B0aW9uPE5hbWU8U3RyaW5nTGltaXQ+PgABKGFzc2V0X3R5cGUNAwEkQXNzZXRUeXBlAAFMZXhpc3RlbnRpYWxfZGVwb3NpdBgBHEJhbGFuY2UAARhzeW1ib2wFAwFsT3B0aW9uPFN5bWJvbDxTdHJpbmdMaW1pdD4+AAEgZGVjaW1hbHMRAwEoT3B0aW9uPHU4PgABOHhjbV9yYXRlX2xpbWl09AE8T3B0aW9uPEJhbGFuY2U+AAE0aXNfc3VmZmljaWVudCABEGJvb2wAAO0JDFRwYWxsZXRfYXNzZXRfcmVnaXN0cnkYcGFsbGV0FEVycm9yBARUAAE8NE5vSWRBdmFpbGFibGUAAARxAUFzc2V0IElEIGlzIG5vdCBhdmFpbGFibGUuIFRoaXMgb25seSBoYXBwZW5zIHdoZW4gaXQgcmVhY2hlcyB0aGUgTUFYIHZhbHVlIG9mIGdpdmVuIGlkIHR5cGUuNEFzc2V0Tm90Rm91bmQAAQR0SW52YWxpZCBhc3NldCBuYW1lIG9yIHN5bWJvbC4gVG9vU2hvcnQAAgTITGVuZ3RoIG9mIG5hbWUgb3Igc3ltYm9sIGlzIGxlc3MgdGhhbiBtaW4uIGxlbmd0aC40SW52YWxpZFN5bWJvbAADBNBBc3NldCdzIHN5bWJvbCBjYW4ndCBjb250YWluIHdoaXRlc3BhY2UgY2hhcmFjdGVycyAuSEFzc2V0Tm90UmVnaXN0ZXJlZAAEBMRBc3NldCBJRCBpcyBub3QgcmVnaXN0ZXJlZCBpbiB0aGUgYXNzZXQtcmVnaXN0cnkuWEFzc2V0QWxyZWFkeVJlZ2lzdGVyZWQABQRwQXNzZXQgaXMgYWxyZWFkeSByZWdpc3RlcmVkLlRJbnZhbGlkU2hhcmVkQXNzZXRMZW4ABgTsSW5jb3JyZWN0IG51bWJlciBvZiBhc3NldHMgcHJvdmlkZWQgdG8gY3JlYXRlIHNoYXJlZCBhc3NldC5QQ2Fubm90VXBkYXRlTG9jYXRpb24ABwR0Q2Fubm90IHVwZGF0ZSBhc3NldCBsb2NhdGlvbi5ITm90SW5SZXNlcnZlZFJhbmdlAAgErFNlbGVjdGVkIGFzc2V0IGlkIGlzIG91dCBvZiByZXNlcnZlZCByYW5nZS5kTG9jYXRpb25BbHJlYWR5UmVnaXN0ZXJlZAAJBMRMb2NhdGlvbiBhbHJlYWR5IHJlZ2lzdGVyZWQgd2l0aCBkaWZmZXJlbnQgYXNzZXQuJEZvcmJpZGRlbgAKBKBPcmlnaW4gaXMgZm9yYmlkZGVuIHRvIHNldC91cGRhdGUgdmFsdWUuTEluc3VmZmljaWVudEJhbGFuY2UACwRAQmFsYW5jZSB0b28gbG93LmhGb3JiaWRkZW5TdWZmaWNpZW5jeUNoYW5nZQAMBMxTdWZmaWNpZW50IGFzc2V0cyBjYW4ndCBiZSBjaGFuZ2VkIHRvIGluc3VmZmljaWVudC5IQXNzZXRBbHJlYWR5QmFubmVkAA0EYEFzc2V0IGlzIGFscmVhZHkgYmFubmVkLjhBc3NldE5vdEJhbm5lZAAOBFBBc3NldCBpcyBub3QgYmFubmVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7xCQw0cGFsbGV0X2NsYWltcxhwYWxsZXQURXJyb3IEBFQAAQxgSW52YWxpZEV0aGVyZXVtU2lnbmF0dXJlAAAEfEV0aGVyZXVtIHNpZ25hdHVyZSBpcyBub3QgdmFsaWRcTm9DbGFpbU9yQWxyZWFkeUNsYWltZWQAAQRIQ2xhaW0gaXMgbm90IHZhbGlkPEJhbGFuY2VPdmVyZmxvdwACBNxWYWx1ZSByZWFjaGVkIG1heGltdW0gYW5kIGNhbm5vdCBiZSBpbmNyZW1lbnRlZCBmdXJ0aGVyBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LvUJCFhwYWxsZXRfZ2VuZXNpc19oaXN0b3J5FENoYWluAAAIATBnZW5lc2lzX2hhc2g0ARBIMjU2AAE8bGFzdF9ibG9ja19oYXNoNAEQSDI1NgAA+QkMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEABFMAAAQARQEBGFZlYzxUPgAA/QkMXHBhbGxldF9jb2xsYXRvcl9yZXdhcmRzGHBhbGxldBRFcnJvcgQEVAABAASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4BCgw8cGFsbGV0X29tbmlwb29sFHR5cGVzKEFzc2V0U3RhdGUEHEJhbGFuY2UBGAAUASxodWJfcmVzZXJ2ZRgBHEJhbGFuY2UAARhzaGFyZXMYARxCYWxhbmNlAAE8cHJvdG9jb2xfc2hhcmVzGAEcQmFsYW5jZQABDGNhcBgBEHUxMjgAASB0cmFkYWJsZU0DASxUcmFkYWJpbGl0eQAABQoMPHBhbGxldF9vbW5pcG9vbBR0eXBlcyBQb3NpdGlvbggcQmFsYW5jZQEYHEFzc2V0SWQBEAAQASBhc3NldF9pZBABHEFzc2V0SWQAARhhbW91bnQYARxCYWxhbmNlAAEYc2hhcmVzGAEcQmFsYW5jZQABFHByaWNlUQMBSChCYWxhbmNlLCBCYWxhbmNlKQAACQoMPHBhbGxldF9vbW5pcG9vbBhwYWxsZXQURXJyb3IEBFQAAYBMSW5zdWZmaWNpZW50QmFsYW5jZQAABDxCYWxhbmNlIHRvbyBsb3dEQXNzZXRBbHJlYWR5QWRkZWQAAQRwQXNzZXQgaXMgYWxyZWFkeSBpbiBvbW5pcG9vbDRBc3NldE5vdEZvdW5kAAIEYEFzc2V0IGlzIG5vdCBpbiBvbW5pcG9vbDhNaXNzaW5nQmFsYW5jZQADBBkBRmFpbGVkIHRvIGFkZCB0b2tlbiB0byBPbW5pcG9vbCBkdWUgdG8gaW5zdWZmaWNpZW50IGluaXRpYWwgbGlxdWlkaXR5LmBJbnZhbGlkSW5pdGlhbEFzc2V0UHJpY2UABARwSW52YWxpZCBpbml0aWFsIGFzc2V0IHByaWNlLkhCdXlMaW1pdE5vdFJlYWNoZWQABQTkU2xpcHBhZ2UgcHJvdGVjdGlvbiAtIG1pbmltdW0gbGltaXQgaGFzIG5vdCBiZWVuIHJlYWNoZWQuRFNlbGxMaW1pdEV4Y2VlZGVkAAYE2FNsaXBwYWdlIHByb3RlY3Rpb24gLSBtYXhpbXVtIGxpbWl0IGhhcyBiZWVuIGV4Y2VlZGVkLkBQb3NpdGlvbk5vdEZvdW5kAAcEcFBvc2l0aW9uIGhhcyBub3QgYmVlbiBmb3VuZC5ISW5zdWZmaWNpZW50U2hhcmVzAAgEfEluc3VmZmljaWVudCBzaGFyZXMgaW4gcG9zaXRpb24oTm90QWxsb3dlZAAJBIhBc3NldCBpcyBub3QgYWxsb3dlZCB0byBiZSB0cmFkZWQuJEZvcmJpZGRlbgAKBMRTaWduZWQgYWNjb3VudCBpcyBub3Qgb3duZXIgb2YgcG9zaXRpb24gaW5zdGFuY2UuWEFzc2V0V2VpZ2h0Q2FwRXhjZWVkZWQACwSMQXNzZXQgd2VpZ2h0IGNhcCBoYXMgYmVlbiBleGNlZWRlZC5IQXNzZXROb3RSZWdpc3RlcmVkAAwEpEFzc2V0IGlzIG5vdCByZWdpc3RlcmVkIGluIGFzc2V0IHJlZ2lzdHJ5VEluc3VmZmljaWVudExpcXVpZGl0eQANBMRQcm92aWRlZCBsaXF1aWRpdHkgaXMgYmVsb3cgbWluaW11bSBhbGxvd2VkIGxpbWl0ZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQADgSwVHJhZGVkIGFtb3VudCBpcyBiZWxvdyBtaW5pbXVtIGFsbG93ZWQgbGltaXRgU2FtZUFzc2V0VHJhZGVOb3RBbGxvd2VkAA8EvFNlbGwgb3IgYnV5IHdpdGggc2FtZSBhc3NldCBpZHMgaXMgbm90IGFsbG93ZWQuTEh1YkFzc2V0VXBkYXRlRXJyb3IAEATITFJOQSB1cGRhdGUgYWZ0ZXIgdHJhZGUgcmVzdWx0cyBpbiBwb3NpdGl2ZSB2YWx1ZS5MSW52YWxpZFNoYXJlc0Ftb3VudAARBJhBbW91bnQgb2Ygc2hhcmVzIHByb3ZpZGVkIGNhbm5vdCBiZSAwLnBJbnZhbGlkSHViQXNzZXRUcmFkYWJsZVN0YXRlABIElEh1YiBhc3NldCBpcyBvbmx5IGFsbG93ZWQgdG8gYmUgc29sZC5UQXNzZXRSZWZ1bmROb3RBbGxvd2VkABMEkEFzc2V0IGlzIG5vdCBhbGxvd2VkIHRvIGJlIHJlZnVuZGVkLkxNYXhPdXRSYXRpb0V4Y2VlZGVkABQEvE1heCBmcmFjdGlvbiBvZiBhc3NldCB0byBidXkgaGFzIGJlZW4gZXhjZWVkZWQuSE1heEluUmF0aW9FeGNlZWRlZAAVBMBNYXggZnJhY3Rpb24gb2YgYXNzZXQgdG8gc2VsbCBoYXMgYmVlbiBleGNlZWRlZC5YUHJpY2VEaWZmZXJlbmNlVG9vSGlnaAAWBLxNYXggYWxsb3dlZCBwcmljZSBkaWZmZXJlbmNlIGhhcyBiZWVuIGV4Y2VlZGVkLkhJbnZhbGlkT3JhY2xlUHJpY2UAFwSgSW52YWxpZCBvcmFjbGUgcHJpY2UgLSBkaXZpc2lvbiBieSB6ZXJvLlBJbnZhbGlkV2l0aGRyYXdhbEZlZQAYBIxGYWlsZWQgdG8gY2FsY3VsYXRlIHdpdGhkcmF3YWwgZmVlLjBGZWVPdmVyZHJhZnQAGQTUTW9yZSB0aGFuIGFsbG93ZWQgYW1vdW50IG9mIGZlZSBoYXMgYmVlbiB0cmFuc2ZlcnJlZC48U2hhcmVzUmVtYWluaW5nABoEPQFUb2tlbiBjYW5ub3QgYmUgcmVtb3ZlZCBmcm9tIE9tbmlwb29sIGR1ZSB0byBzaGFyZXMgc3RpbGwgb3duZWQgYnkgb3RoZXIgdXNlcnMuOEFzc2V0Tm90RnJvemVuABsECQFUb2tlbiBjYW5ub3QgYmUgcmVtb3ZlZCBmcm9tIE9tbmlwb29sIGJlY2F1c2UgYXNzZXQgaXMgbm90IGZyb3plbi40WmVyb0Ftb3VudE91dAAcBLhDYWxjdWxhdGVkIGFtb3VudCBvdXQgZnJvbSBzZWxsIHRyYWRlIGlzIHplcm8ueEV4aXN0ZW50aWFsRGVwb3NpdE5vdEF2YWlsYWJsZQAdBLhFeGlzdGVudGlhbCBkZXBvc2l0IG9mIGFzc2V0IGlzIG5vdCBhdmFpbGFibGUuNFNsaXBwYWdlTGltaXQAHgRMU2xpcHBhZ2UgcHJvdGVjdGlvblhQcm90b2NvbEZlZU5vdENvbnN1bWVkAB8EpEV4dHJhIHByb3RvY29sIGZlZSBoYXMgbm90IGJlZW4gY29uc3VtZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lg0KAAAECBEKEQoAEQoMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AAAVCgxgcGFsbGV0X3RyYW5zYWN0aW9uX3BhdXNlGHBhbGxldBRFcnJvcgQEVAABDCxDYW5ub3RQYXVzZQAABDRjYW4gbm90IHBhdXNlQEludmFsaWRDaGFyYWN0ZXIAAQRoaW52YWxpZCBjaGFyYWN0ZXIgZW5jb2RpbmcsTmFtZVRvb0xvbmcAAgSgcGFsbGV0IG5hbWUgb3IgZnVuY3Rpb24gbmFtZSBpcyB0b28gbG9uZwSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4ZCgw0cGFsbGV0X2R1c3RlchhwYWxsZXQURXJyb3IEBFQAARhIQWNjb3VudEJsYWNrbGlzdGVkAAAEhEFjY291bnQgaXMgZXhjbHVkZWQgZnJvbSBkdXN0aW5nLlRBY2NvdW50Tm90QmxhY2tsaXN0ZWQAAQTAQWNjb3VudCBpcyBub3QgcHJlc2VudCBpbiB0aGUgbm9uLWR1c3RhYmxlIGxpc3QuLFplcm9CYWxhbmNlAAIEUFRoZSBiYWxhbmNlIGlzIHplcm8uREJhbGFuY2VTdWZmaWNpZW50AAMEvFRoZSBiYWxhbmNlIGlzIHN1ZmZpY2llbnQgdG8ga2VlcCBhY2NvdW50IG9wZW4uRER1c3RBY2NvdW50Tm90U2V0AAQEYER1c3QgYWNjb3VudCBpcyBub3Qgc2V0LlBSZXNlcnZlQWNjb3VudE5vdFNldAAFBGxSZXNlcnZlIGFjY291bnQgaXMgbm90IHNldC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuHQoMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nFHR5cGVzOEdsb2JhbEZhcm1EYXRhCARUAARJAABIAQhpZBABMEdsb2JhbEZhcm1JZAABFG93bmVyAAEwVDo6QWNjb3VudElkAAEodXBkYXRlZF9hdBABLFBlcmlvZE9mPFQ+AAE4dG90YWxfc2hhcmVzX3oYARxCYWxhbmNlAAE8YWNjdW11bGF0ZWRfcnB6UQEBJEZpeGVkVTEyOAABPHJld2FyZF9jdXJyZW5jeRABKFQ6OkFzc2V0SWQAATxwZW5kaW5nX3Jld2FyZHMYARxCYWxhbmNlAAFgYWNjdW11bGF0ZWRfcGFpZF9yZXdhcmRzGAEcQmFsYW5jZQABQHlpZWxkX3Blcl9wZXJpb2RlAwEsUGVycXVpbnRpbGwAAWBwbGFubmVkX3lpZWxkaW5nX3BlcmlvZHMQASxQZXJpb2RPZjxUPgABRGJsb2Nrc19wZXJfcGVyaW9kEAFEQmxvY2tOdW1iZXJGb3I8VD4AAUhpbmNlbnRpdml6ZWRfYXNzZXQQAShUOjpBc3NldElkAAFUbWF4X3Jld2FyZF9wZXJfcGVyaW9kGAEcQmFsYW5jZQABLG1pbl9kZXBvc2l0GAEcQmFsYW5jZQABWGxpdmVfeWllbGRfZmFybXNfY291bnQQAQx1MzIAAVx0b3RhbF95aWVsZF9mYXJtc19jb3VudBABDHUzMgABQHByaWNlX2FkanVzdG1lbnRRAQEkRml4ZWRVMTI4AAEUc3RhdGUhCgEkRmFybVN0YXRlAAAhCgxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXMkRmFybVN0YXRlAAEMGEFjdGl2ZQAAABxTdG9wcGVkAAEAKFRlcm1pbmF0ZWQAAgAAJQoAAAQMEBAQACkKDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlczRZaWVsZEZhcm1EYXRhCARUAARJAAAwAQhpZBABGEZhcm1JZAABKHVwZGF0ZWRfYXQQASxQZXJpb2RPZjxUPgABMHRvdGFsX3NoYXJlcxgBHEJhbGFuY2UAAUx0b3RhbF92YWx1ZWRfc2hhcmVzGAEcQmFsYW5jZQABQGFjY3VtdWxhdGVkX3JwdnNRAQEkRml4ZWRVMTI4AAE8YWNjdW11bGF0ZWRfcnB6UQEBJEZpeGVkVTEyOAABNGxveWFsdHlfY3VydmVpAwFQT3B0aW9uPExveWFsdHlDdXJ2ZT4AAShtdWx0aXBsaWVyUQEBOEZhcm1NdWx0aXBsaWVyAAEUc3RhdGUhCgEkRmFybVN0YXRlAAE0ZW50cmllc19jb3VudDABDHU2NAABSGxlZnRfdG9fZGlzdHJpYnV0ZRgBHEJhbGFuY2UAATR0b3RhbF9zdG9wcGVkEAEsUGVyaW9kT2Y8VD4AAC0KDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxR0eXBlcyxEZXBvc2l0RGF0YQgEVAAESQAADAEYc2hhcmVzGAEcQmFsYW5jZQABLGFtbV9wb29sX2lkEAEwVDo6QW1tUG9vbElkAAFIeWllbGRfZmFybV9lbnRyaWVzMQoB9EJvdW5kZWRWZWM8WWllbGRGYXJtRW50cnk8VCwgST4sIFQ6Ok1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdD4AADEKDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBNQoEUwAABAA5CgEYVmVjPFQ+AAA1CgxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXM4WWllbGRGYXJtRW50cnkIBFQABEkAACABOGdsb2JhbF9mYXJtX2lkEAEwR2xvYmFsRmFybUlkAAE0eWllbGRfZmFybV9pZBABLFlpZWxkRmFybUlkAAE0dmFsdWVkX3NoYXJlcxgBHEJhbGFuY2UAAUBhY2N1bXVsYXRlZF9ycHZzUQEBJEZpeGVkVTEyOAABbGFjY3VtdWxhdGVkX2NsYWltZWRfcmV3YXJkcxgBHEJhbGFuY2UAAShlbnRlcmVkX2F0EAEsUGVyaW9kT2Y8VD4AASh1cGRhdGVkX2F0EAEsUGVyaW9kT2Y8VD4AAUxzdG9wcGVkX2F0X2NyZWF0aW9uEAEsUGVyaW9kT2Y8VD4AADkKAAACNQoAPQoMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nGHBhbGxldBRFcnJvcggEVAAESQABdEhHbG9iYWxGYXJtTm90Rm91bmQAAARsR2xvYmFsIGZhcm0gZG9lcyBub3QgZXhpc3QuRFlpZWxkRmFybU5vdEZvdW5kAAEEaFlpZWxkIGZhcm0gZG9lcyBub3QgZXhpc3QuTERvdWJsZUNsYWltSW5QZXJpb2QAAgTITXVsdGlwbGUgY2xhaW1zIGluIHRoZSBzYW1lIHBlcmlvZCBpcyBub3QgYWxsb3dlZC5cTGlxdWlkaXR5TWluaW5nQ2FuY2VsZWQAAwR0TGlxdWlkaXR5IG1pbmluZyBpcyBjYW5jZWxlZC5cTGlxdWlkaXR5TWluaW5nSXNBY3RpdmUABASETGlxdWlkaXR5IG1pbmluZyBpcyBub3QgY2FuY2VsZWQubExpcXVpZGl0eU1pbmluZ0lzTm90U3RvcHBlZAAFBFUBTGlxdWlkaXR5IG1pbmluZyBpcyBpbiBgYWN0aXZlYCBvciBgdGVybWluYXRlZGAgc3RhdGUgYW5kIGFjdGlvbiBjYW5ub3QgYmUgY29tcGxldGVkLlBJbnZhbGlkRGVwb3NpdEFtb3VudAAGBHhMUCBzaGFyZXMgYW1vdW50IGlzIG5vdCB2YWxpZC4kRm9yYmlkZGVuAAcEpEFjY291bnQgaXMgbm90IGFsbG93ZWQgdG8gcGVyZm9ybSBhY3Rpb24uREludmFsaWRNdWx0aXBsaWVyAAgEhFlpZWxkIGZhcm0gbXVsdGlwbGllciBjYW4ndCBiZSAwLlhZaWVsZEZhcm1BbHJlYWR5RXhpc3RzAAkECQFZaWVsZCBmYXJtIHdpdGggZ2l2ZW4gYGFtbV9wb29sX2lkYCBhbHJlYWR5IGV4aXN0cyBpbiBnbG9iYWwgZmFybS54SW52YWxpZEluaXRpYWxSZXdhcmRQZXJjZW50YWdlAAoEPQFMb3lhbHR5IGN1cnZlJ3MgaW5pdGlhbCByZXdhcmQgcGVyY2VudGFnZSBpcyBub3QgdmFsaWQuIFZhbGlkIHJhbmdlIGlzOiBbMCwgMSkuUEdsb2JhbEZhcm1Jc05vdEVtcHR5AAsEtE9uZSBvciBtb3JlIHlpZWxkIGZhcm1zIGV4aXN0IGluIGdsb2JhbCBmYXJtLmBNaXNzaW5nSW5jZW50aXZpemVkQXNzZXQADAT4RmFybSdzIGBpbmNlbnRpdml6ZWRfYXNzZXRgIGlzIG1pc3NpbmcgaW4gcHJvdmlkZWQgYXNzZXQgcGFpci6ESW5zdWZmaWNpZW50UmV3YXJkQ3VycmVuY3lCYWxhbmNlAA0EqFJld2FyZCBjdXJyZW5jeSBiYWxhbmNlIGlzIG5vdCBzdWZmaWNpZW50LlhJbnZhbGlkQmxvY2tzUGVyUGVyaW9kAA4EdEJsb2NrcyBwZXIgcGVyaW9kIGNhbid0IGJlIDAuVEludmFsaWRZaWVsZFBlclBlcmlvZAAPBHBZaWVsZCBwZXIgcGVyaW9kIGNhbid0IGJlIDAuTEludmFsaWRUb3RhbFJld2FyZHMAEATEVG90YWwgcmV3YXJkcyBpcyBsZXNzIHRoYW4gYE1pblRvdGFsRmFybVJld2FyZHNgLnRJbnZhbGlkUGxhbm5lZFlpZWxkaW5nUGVyaW9kcwARBAkBUGxhbm5lZCB5aWVsZGluZyBwZXJpb2RzIGlzIGxlc3MgdGhhbiBgTWluUGxhbm5lZFlpZWxkaW5nUGVyaW9kc2AuUE1heEVudHJpZXNQZXJEZXBvc2l0ABIEsE1heGltdW0gbnVtYmVyIG9mIGxvY2tzIHJlYWNoZWQgZm9yIGRlcG9zaXQuKERvdWJsZUxvY2sAEwTgVHJ5aW5nIHRvIGxvY2sgTFAgc2hhcmVzIGludG8gYWxyZWFkeSBsb2NrZWQgeWllbGQgZmFybS5YWWllbGRGYXJtRW50cnlOb3RGb3VuZAAUBMRZaWVsZCBmYXJtIGVudHJ5IGRvZXNuJ3QgZXhpc3QgZm9yIGdpdmVuIGRlcG9zaXQuQEdsb2JhbEZhcm1Jc0Z1bGwAFQhJAU1heCBudW1iZXIgb2YgeWllbGQgZmFybXMgaW4gZ2xvYmFsIGZhcm0gd2FzIHJlYWNoZWQuIEdsb2JhbCBmYXJtIGNhbid0IGFjY2VwdCBuZXf4eWllbGQgZmFybXMgdW50aWwgc29tZSB5aWVsZCBmYXJtIGlzIG5vdCByZW1vdmVkIGZyb20gc3RvcmFnZS5ESW52YWxpZE1pbkRlcG9zaXQAFgS0SW52YWxpZCBtaW4uIGRlcG9zaXQgd2FzIHNldCBmb3IgZ2xvYmFsIGZhcm0uWEludmFsaWRQcmljZUFkanVzdG1lbnQAFwScUHJpY2UgYWRqdXN0bWVudCBtdWx0aXBsaWVyIGNhbid0IGJlIDAuREVycm9yR2V0QWNjb3VudElkABgEgEFjY291bnQgY3JlYXRpb24gZnJvbSBpZCBmYWlsZWQuVEluY29ycmVjdFZhbHVlZFNoYXJlcwAZBCUBVmFsdWUgb2YgZGVwb3NpdGVkIHNoYXJlcyBhbW91bnQgaW4gcmV3YXJkIGN1cnJlbmN5IGlzIGJlbGxvdyBtaW4uIGxpbWl0LmxSZXdhcmRDdXJyZW5jeU5vdFJlZ2lzdGVyZWQAGgTYYHJld2FyZF9jdXJyZW5jeWAgaXMgbm90IHJlZ2lzdGVyZWQgaW4gYXNzZXQgcmVnaXN0cnkueEluY2VudGl2aXplZEFzc2V0Tm90UmVnaXN0ZXJlZAAbBORgaW5jZW50aXZpemVkX2Fzc2V0YCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBhc3NldCByZWdpc3RyeS5ESW5jb25zaXN0ZW50U3RhdGUEAEEKAVhJbmNvbnNpc3RlbnRTdGF0ZUVycm9yABwIZQFBY3Rpb24gY2Fubm90IGJlIGNvbXBsZXRlZCBiZWNhdXNlIHVuZXhwZWN0ZWQgZXJyb3IgaGFzIG9jY3VycmVkLiBUaGlzIHNob3VsZCBiZSByZXBvcnRlZGB0byBwcm90b2NvbCBtYWludGFpbmVycy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuQQoMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nGHBhbGxldFhJbmNvbnNpc3RlbnRTdGF0ZUVycm9yAAFERFlpZWxkRmFybU5vdEZvdW5kAAAASEdsb2JhbEZhcm1Ob3RGb3VuZAABAFBMaXF1aWRpdHlJc05vdEFjdGl2ZQACAFRHbG9iYWxGYXJtSXNOb3RBY3RpdmUAAwA8RGVwb3NpdE5vdEZvdW5kAAQANEludmFsaWRQZXJpb2QABQBsTm90RW5vdWdoUmV3YXJkc0luWWllbGRGYXJtAAYAZEludmFsaWRMaXZlWWllbEZhcm1zQ291bnQABwBsSW52YWxpZFRvdGFsWWllbGRGYXJtc0NvdW50AAgAcEludmFsaWRZaWVsZEZhcm1FbnRyaWVzQ291bnQACQBISW52YWxpZFRvdGFsU2hhcmVzAAoATEludmFsaWRWYWx1ZWRTaGFyZXMACwBMSW52YWxpZFRvdGFsU2hhcmVzWgAMAHRJbnZhbGlkUGFpZEFjY3VtdWxhdGVkUmV3YXJkcwANADRJbnZhbGlkRmFybUlkAA4AYEludmFsaWRMb3lhbHR5TXVsdGlwbGllcgAPAHBOb0V4aXN0ZW50aWFsRGVwb3NpdEZvckFzc2V0ABAAAEUKDIBwYWxsZXRfb21uaXBvb2xfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQURXJyb3IEBFQAARw0QXNzZXROb3RGb3VuZAAABHRBc3NldCBpcyBub3QgaW4gdGhlIG9tbmlwb29sLiRGb3JiaWRkZW4AAQSsU2lnbmVkIGFjY291bnQgaXMgbm90IG93bmVyIG9mIHRoZSBkZXBvc2l0LkhaZXJvQ2xhaW1lZFJld2FyZHMAAgRcUmV3YXJkcyB0byBjbGFpbSBhcmUgMC5ESW5jb25zaXN0ZW50U3RhdGUEAEkKAVhJbmNvbnNpc3RlbnRTdGF0ZUVycm9yAAMIZQFBY3Rpb24gY2Fubm90IGJlIGNvbXBsZXRlZCBiZWNhdXNlIHVuZXhwZWN0ZWQgZXJyb3IgaGFzIG9jY3VycmVkLiBUaGlzIHNob3VsZCBiZSByZXBvcnRlZGB0byBwcm90b2NvbCBtYWludGFpbmVycy5IT3JhY2xlTm90QXZhaWxhYmxlAAQEvE9yYWNsZSBjb3VsZCBub3QgYmUgZm91bmQgZm9yIHJlcXVlc3RlZCBhc3NldHMubFByaWNlQWRqdXN0bWVudE5vdEF2YWlsYWJsZQAFBDEBT3JhY2xlIHByb3ZpZGluZyBgcHJpY2VfYWRqdXN0bWVudGAgY291bGQgbm90IGJlIGZvdW5kIGZvciByZXF1ZXN0ZWQgYXNzZXRzLlhOb0Zhcm1FbnRyaWVzU3BlY2lmaWVkAAYEaE5vIGZhcm1zIHNwZWNpZmllZCB0byBqb2luBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LkkKDIBwYWxsZXRfb21uaXBvb2xfbGlxdWlkaXR5X21pbmluZxhwYWxsZXRYSW5jb25zaXN0ZW50U3RhdGVFcnJvcgABCERNaXNzaW5nTHBQb3NpdGlvbgAAAExEZXBvc2l0RGF0YU5vdEZvdW5kAAEAAE0KCChwYWxsZXRfb3RjFE9yZGVyCCRBY2NvdW50SWQBABxBc3NldElkARAAGAEUb3duZXIAASRBY2NvdW50SWQAASBhc3NldF9pbhABHEFzc2V0SWQAASRhc3NldF9vdXQQARxBc3NldElkAAEkYW1vdW50X2luGAEcQmFsYW5jZQABKGFtb3VudF9vdXQYARxCYWxhbmNlAAFIcGFydGlhbGx5X2ZpbGxhYmxlIAEQYm9vbAAAUQoMKHBhbGxldF9vdGMYcGFsbGV0FEVycm9yBARUAAEgSEFzc2V0Tm90UmVnaXN0ZXJlZAAABIBBc3NldCBkb2VzIG5vdCBleGlzdCBpbiByZWdpc3RyeTRPcmRlck5vdEZvdW5kAAEEVE9yZGVyIGNhbm5vdCBiZSBmb3VuZERPcmRlcklkT3V0T2ZCb3VuZAACBIhTaXplIG9mIG9yZGVyIElEIGV4Y2VlZHMgdGhlIGJvdW5kZE9yZGVyTm90UGFydGlhbGx5RmlsbGFibGUAAwT4Q2Fubm90IHBhcnRpYWxseSBmaWxsIGFuIG9yZGVyIHdoaWNoIGlzIG5vdCBwYXJ0aWFsbHkgZmlsbGFibGVMT3JkZXJBbW91bnRUb29TbWFsbAAEDGEBT3JkZXIgYW1vdW50X2luIGFuZCBhbW91bnRfb3V0IG11c3QgYXQgYWxsIHRpbWVzIGJlIGdyZWF0ZXIgdGhhbiB0aGUgZXhpc3RlbnRpYWwgZGVwb3NpdPRmb3IgdGhlIGFzc2V0IG11bHRpcGxpZWQgYnkgdGhlIEV4aXN0ZW50aWFsRGVwb3NpdE11bHRpcGxpZXIu8EEgZmlsbCBvcmRlciBtYXkgbm90IGxlYXZlIGJlaGluZCBhbW91bnRzIHNtYWxsZXIgdGhhbiB0aGlzLiRNYXRoRXJyb3IABQRwRXJyb3Igd2l0aCBtYXRoIGNhbGN1bGF0aW9ucyRGb3JiaWRkZW4ABgToVGhlIGNhbGxlciBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gY29tcGxldGUgdGhlIGFjdGlvbmhJbnN1ZmZpY2llbnRSZXNlcnZlZEFtb3VudAAHBHxSZXNlcnZlZCBhbW91bnQgbm90IHN1ZmZpY2llbnQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LlUKCFhwYWxsZXRfY2lyY3VpdF9icmVha2VyQFRyYWRlVm9sdW1lTGltaXQEBFQAAAwBJHZvbHVtZV9pbhgBKFQ6OkJhbGFuY2UAASh2b2x1bWVfb3V0GAEoVDo6QmFsYW5jZQABFGxpbWl0GAEoVDo6QmFsYW5jZQAAWQoIWHBhbGxldF9jaXJjdWl0X2JyZWFrZXI4TGlxdWlkaXR5TGltaXQEBFQAAAgBJGxpcXVpZGl0eRgBKFQ6OkJhbGFuY2UAARRsaW1pdBgBKFQ6OkJhbGFuY2UAAF0KDFhwYWxsZXRfY2lyY3VpdF9icmVha2VyGHBhbGxldBRFcnJvcgQEVAABGERJbnZhbGlkTGltaXRWYWx1ZQAABMhJbnZhbGlkIHZhbHVlIGZvciBhIGxpbWl0LiBMaW1pdCBtdXN0IGJlIG5vbi16ZXJvLnxMaXF1aWRpdHlMaW1pdE5vdFN0b3JlZEZvckFzc2V0AAEEvEFsbG93ZWQgbGlxdWlkaXR5IGxpbWl0IGlzIG5vdCBzdG9yZWQgZm9yIGFzc2V0YFRva2VuT3V0Zmxvd0xpbWl0UmVhY2hlZAACBLhUb2tlbiB0cmFkZSBvdXRmbG93IHBlciBibG9jayBoYXMgYmVlbiByZWFjaGVkXFRva2VuSW5mbHV4TGltaXRSZWFjaGVkAAMEtFRva2VuIHRyYWRlIGluZmx1eCBwZXIgYmxvY2sgaGFzIGJlZW4gcmVhY2hlZIBNYXhMaXF1aWRpdHlMaW1pdFBlckJsb2NrUmVhY2hlZAAEBORNYXhpbXVtIHBvb2wncyBsaXF1aWRpdHkgbGltaXQgcGVyIGJsb2NrIGhhcyBiZWVuIHJlYWNoZWQoTm90QWxsb3dlZAAFBJBBc3NldCBpcyBub3QgYWxsb3dlZCB0byBoYXZlIGEgbGltaXQEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuYQoMVHBhbGxldF9yb3V0ZV9leGVjdXRvchhwYWxsZXQURXJyb3IEBFQAAShMVHJhZGluZ0xpbWl0UmVhY2hlZAAABIhUaGUgdHJhZGluZyBsaW1pdCBoYXMgYmVlbiByZWFjaGVkRE1heFRyYWRlc0V4Y2VlZGVkAAEEtFRoZSB0aGUgbWF4IG51bWJlciBvZiB0cmFkZXMgbGltaXQgaXMgcmVhY2hlZEBQb29sTm90U3VwcG9ydGVkAAIEyFRoZSBBTU0gcG9vbCBpcyBub3Qgc3VwcG9ydGVkIGZvciBleGVjdXRpbmcgdHJhZGVzTEluc3VmZmljaWVudEJhbGFuY2UAAwTQVGhlIHVzZXIgaGFzIG5vdCBlbm91Z2ggYmFsYW5jZSB0byBleGVjdXRlIHRoZSB0cmFkZVhSb3V0ZUNhbGN1bGF0aW9uRmFpbGVkAAQEDQFUaGUgY2FsY3VsYXRpb24gb2Ygcm91dGUgdHJhZGUgYW1vdW50cyBmYWlsZWQgaW4gdGhlIHVuZGVybHlpbmcgQU1NMEludmFsaWRSb3V0ZQAFBFBUaGUgcm91dGUgaXMgaW52YWxpZGhSb3V0ZVVwZGF0ZUlzTm90U3VjY2Vzc2Z1bAAGBIxUaGUgcm91dGUgdXBkYXRlIHdhcyBub3Qgc3VjY2Vzc2Z1bEBSb3V0ZUhhc05vT3JhY2xlAAcEtFJvdXRlIGNvbnRhaW5zIGFzc2V0cyB0aGF0IGhhcyBubyBvcmFjbGUgZGF0YVRJbnZhbGlkUm91dGVFeGVjdXRpb24ACATAVGhlIHJvdXRlIGV4ZWN1dGlvbiBmYWlsZWQgaW4gdGhlIHVuZGVybHlpbmcgQU1NKE5vdEFsbG93ZWQACQSMVHJhZGluZyBzYW1lIGFzc2V0cyBpcyBub3QgYWxsb3dlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuZQoMTHBhbGxldF9keW5hbWljX2ZlZXMUdHlwZXMgRmVlRW50cnkIDEZlZQFJAxRCbG9jawEQAAwBJGFzc2V0X2ZlZUkDAQxGZWUAATBwcm90b2NvbF9mZWVJAwEMRmVlAAEkdGltZXN0YW1wEAEUQmxvY2sAAGkKDExwYWxsZXRfZHluYW1pY19mZWVzFHR5cGVzJEZlZVBhcmFtcwQMRmVlAUkDABABHG1pbl9mZWVJAwEMRmVlAAEcbWF4X2ZlZUkDAQxGZWUAARRkZWNheVEBASRGaXhlZFUxMjgAATRhbXBsaWZpY2F0aW9uUQEBJEZpeGVkVTEyOAAAbQoMTHBhbGxldF9keW5hbWljX2ZlZXMYcGFsbGV0FEVycm9yBARUAAEABIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LnEKDDhwYWxsZXRfc3Rha2luZxR0eXBlcyxTdGFraW5nRGF0YQAADAEsdG90YWxfc3Rha2UYARxCYWxhbmNlAAFwYWNjdW11bGF0ZWRfcmV3YXJkX3Blcl9zdGFrZVEBASRGaXhlZFUxMjgAAVBwb3RfcmVzZXJ2ZWRfYmFsYW5jZRgBHEJhbGFuY2UAAHUKDDhwYWxsZXRfc3Rha2luZxR0eXBlcyBQb3NpdGlvbgQsQmxvY2tOdW1iZXIBEAAcARRzdGFrZRgBHEJhbGFuY2UAATRhY3Rpb25fcG9pbnRzGAEUUG9pbnQAAUByZXdhcmRfcGVyX3N0YWtlUQEBJEZpeGVkVTEyOAABKGNyZWF0ZWRfYXQQASxCbG9ja051bWJlcgABYGFjY3VtdWxhdGVkX3NsYXNoX3BvaW50cxgBFFBvaW50AAFoYWNjdW11bGF0ZWRfdW5wYWlkX3Jld2FyZHMYARxCYWxhbmNlAAFoYWNjdW11bGF0ZWRfbG9ja2VkX3Jld2FyZHMYARxCYWxhbmNlAAB5Cgw4cGFsbGV0X3N0YWtpbmcUdHlwZXMYVm90aW5nBCBNYXhWb3RlcwAABAEUdm90ZXN9CgG0Qm91bmRlZFZlYzwoUmVmZXJlbmR1bUluZGV4LCBWb3RlKSwgTWF4Vm90ZXM+AAB9CgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAYEKBFMAAAQAjQoBGFZlYzxUPgAAgQoAAAQIEIUKAIUKDDhwYWxsZXRfc3Rha2luZxR0eXBlcxBWb3RlAAAIARhhbW91bnQYARxCYWxhbmNlAAEoY29udmljdGlvbokKAShDb252aWN0aW9uAACJCgw4cGFsbGV0X3N0YWtpbmcUdHlwZXMoQ29udmljdGlvbgABHBBOb25lAAAAIExvY2tlZDF4AAEAIExvY2tlZDJ4AAIAIExvY2tlZDN4AAMAIExvY2tlZDR4AAQAIExvY2tlZDV4AAUAIExvY2tlZDZ4AAYAAI0KAAACgQoAkQoMOHBhbGxldF9zdGFraW5nGHBhbGxldBRFcnJvcgQEVAABNExJbnN1ZmZpY2llbnRCYWxhbmNlAAAETEJhbGFuY2UgaXMgdG9vIGxvdy5ESW5zdWZmaWNpZW50U3Rha2UAAQRkU3Rha2VkIGFtb3VudCBpcyB0b28gbG93LkBQb3NpdGlvbk5vdEZvdW5kAAIEkFN0YWtpbmcgcG9zaXRpb24gaGFzIG5vdCBiZWVuIGZvdW5kLjxNYXhWb3Rlc1JlYWNoZWQAAwToTWF4aW11bSBhbW91bnQgb2Ygdm90ZXMgd2VyZSByZWFjaGVkIGZvciBzdGFraW5nIHBvc2l0aW9uLjhOb3RJbml0aWFsaXplZAAEBGxTdGFraW5nIGlzIG5vdCBpbml0aWFsaXplZC5IQWxyZWFkeUluaXRpYWxpemVkAAUEfFN0YWtpbmcgaXMgYWxyZWFkeSBpbml0aWFsaXplZC4oQXJpdGhtZXRpYwAGBERBcml0aG1ldGljIGVycm9yLkRNaXNzaW5nUG90QmFsYW5jZQAHBFhQb3QncyBiYWxhbmNlIGlzIHplcm8uVFBvc2l0aW9uQWxyZWFkeUV4aXN0cwAIBIhBY2NvdW50J3MgcG9zaXRpb24gYWxyZWFkeSBleGlzdHMuJEZvcmJpZGRlbgAJBLxTaWduZXIgaXMgbm90IGFuIG93bmVyIG9mIHRoZSBzdGFraW5nIHBvc2l0aW9uLjRFeGlzdGluZ1ZvdGVzAAoEjFBvc2l0aW9uIGNvbnRhaW5zIHJlZ2lzdGVyZWQgdm90ZXMuWEV4aXN0aW5nUHJvY2Vzc2VkVm90ZXMACwSFAVBvc2l0aW9uIGNvbnRhaW5zIHByb2Nlc3NlZCB2b3Rlcy4gUmVtb3ZlZCB0aGVzZSB2b3RlcyBmaXJzdCBiZWZvcmUgaW5jcmVhc2luZyBzdGFrZSBvciBjbGFpbWluZy5ESW5jb25zaXN0ZW50U3RhdGUEAJUKAVhJbmNvbnNpc3RlbnRTdGF0ZUVycm9yAAwIZQFBY3Rpb24gY2Fubm90IGJlIGNvbXBsZXRlZCBiZWNhdXNlIHVuZXhwZWN0ZWQgZXJyb3IgaGFzIG9jY3VycmVkLiBUaGlzIHNob3VsZCBiZSByZXBvcnRlZGB0byBwcm90b2NvbCBtYWludGFpbmVycy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQulQoMOHBhbGxldF9zdGFraW5nGHBhbGxldFhJbmNvbnNpc3RlbnRTdGF0ZUVycm9yAAEUQFBvc2l0aW9uTm90Rm91bmQAAABYTmVnYXRpdmVQZW5kaW5nUmV3YXJkcwABAFROZWdhdGl2ZVVucGFpZFJld2FyZHMAAgBAVG9vTWFueVBvc2l0aW9ucwADAChBcml0aG1ldGljAAQAAJkKDERwYWxsZXRfc3RhYmxlc3dhcBR0eXBlcyBQb29sSW5mbwgcQXNzZXRJZAEQLEJsb2NrTnVtYmVyARAAGAEYYXNzZXRzxQMBxEJvdW5kZWRWZWM8QXNzZXRJZCwgQ29uc3RVMzI8TUFYX0FTU0VUU19JTl9QT09MPj4AAVRpbml0aWFsX2FtcGxpZmljYXRpb265BgEoTm9uWmVyb1UxNgABTGZpbmFsX2FtcGxpZmljYXRpb265BgEoTm9uWmVyb1UxNgABNGluaXRpYWxfYmxvY2sQASxCbG9ja051bWJlcgABLGZpbmFsX2Jsb2NrEAEsQmxvY2tOdW1iZXIAAQxmZWVJAwEcUGVybWlsbAAAnQoEOFJhbmdlSW5jbHVzaXZlBAxJZHgBuQYACAEUc3RhcnS5BgEMSWR4AAEMZW5kuQYBDElkeAAAoQoMRHBhbGxldF9zdGFibGVzd2FwGHBhbGxldBRFcnJvcgQEVAABbDxJbmNvcnJlY3RBc3NldHMAAAQZAUNyZWF0aW5nIGEgcG9vbCB3aXRoIHNhbWUgYXNzZXRzIG9yIGxlc3MgdGhhbiAyIGFzc2V0cyBpcyBub3QgYWxsb3dlZC5ETWF4QXNzZXRzRXhjZWVkZWQAAQSsTWF4aW11bSBudW1iZXIgb2YgYXNzZXRzIGhhcyBiZWVuIGV4Y2VlZGVkLjBQb29sTm90Rm91bmQAAgSgQSBwb29sIHdpdGggZ2l2ZW4gYXNzZXRzIGRvZXMgbm90IGV4aXN0LihQb29sRXhpc3RzAAMEoEEgcG9vbCB3aXRoIGdpdmVuIGFzc2V0cyBhbHJlYWR5IGV4aXN0cy44QXNzZXROb3RJblBvb2wABARkQXNzZXQgaXMgbm90IGluIHRoZSBwb29sLlxTaGFyZUFzc2V0Tm90UmVnaXN0ZXJlZAAFBKhTaGFyZSBhc3NldCBpcyBub3QgcmVnaXN0ZXJlZCBpbiBSZWdpc3RyeS5YU2hhcmVBc3NldEluUG9vbEFzc2V0cwAGBMhTaGFyZSBhc3NldCBpcyBhbW91bnQgYXNzZXRzIHdoZW4gY3JlYXRpbmcgYSBwb29sLkhBc3NldE5vdFJlZ2lzdGVyZWQABwTYT25lIG9yIG1vcmUgYXNzZXRzIGFyZSBub3QgcmVnaXN0ZXJlZCBpbiBBc3NldFJlZ2lzdHJ5SEludmFsaWRBc3NldEFtb3VudAAIBAEBSW52YWxpZCBhc3NldCBhbW91bnQgcHJvdmlkZWQuIEFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLkxJbnN1ZmZpY2llbnRCYWxhbmNlAAkE5EJhbGFuY2Ugb2YgYW4gYXNzZXQgaXMgbm90IHN1ZmZpY2llbnQgdG8gcGVyZm9ybSBhIHRyYWRlLkhJbnN1ZmZpY2llbnRTaGFyZXMACgQFAUJhbGFuY2Ugb2YgYSBzaGFyZSBhc3NldCBpcyBub3Qgc3VmZmljaWVudCB0byB3aXRoZHJhdyBsaXF1aWRpdHkuVEluc3VmZmljaWVudExpcXVpZGl0eQALBLxMaXF1aWRpdHkgaGFzIG5vdCByZWFjaGVkIHRoZSByZXF1aXJlZCBtaW5pbXVtLnhJbnN1ZmZpY2llbnRMaXF1aWRpdHlSZW1haW5pbmcADATkSW5zdWZmaWNpZW50IGxpcXVpZGl0eSBsZWZ0IGluIHRoZSBwb29sIGFmdGVyIHdpdGhkcmF3YWwuZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQADQToQW1vdW50IGlzIGxlc3MgdGhhbiB0aGUgbWluaW11bSB0cmFkaW5nIGFtb3VudCBjb25maWd1cmVkLkhCdXlMaW1pdE5vdFJlYWNoZWQADgTATWluaW11bSBsaW1pdCBoYXMgbm90IGJlZW4gcmVhY2hlZCBkdXJpbmcgdHJhZGUuRFNlbGxMaW1pdEV4Y2VlZGVkAA8EtE1heGltdW0gbGltaXQgaGFzIGJlZW4gZXhjZWVkZWQgZHVyaW5nIHRyYWRlLlxJbnZhbGlkSW5pdGlhbExpcXVpZGl0eQAQBJxJbml0aWFsIGxpcXVpZGl0eSBvZiBhc3NldCBtdXN0IGJlID4gMC5QSW52YWxpZEFtcGxpZmljYXRpb24AEQSoQW1wbGlmaWNhdGlvbiBpcyBvdXRzaWRlIGNvbmZpZ3VyZWQgcmFuZ2UuYEluc3VmZmljaWVudFNoYXJlQmFsYW5jZQASBBkBUmVtYWluaW5nIGJhbGFuY2Ugb2Ygc2hhcmUgYXNzZXQgaXMgYmVsb3cgYXNzZXQncyBleGlzdGVudGlhbCBkZXBvc2l0LihOb3RBbGxvd2VkABMEzE5vdCBhbGxvd2VkIHRvIHBlcmZvcm0gYW4gb3BlcmF0aW9uIG9uIGdpdmVuIGFzc2V0LiRQYXN0QmxvY2sAFASMRnV0dXJlIGJsb2NrIG51bWJlciBpcyBpbiB0aGUgcGFzdC5EU2FtZUFtcGxpZmljYXRpb24AFQTETmV3IGFtcGxpZmljYXRpb24gaXMgZXF1YWwgdG8gdGhlIHByZXZpb3VzIHZhbHVlLjRTbGlwcGFnZUxpbWl0ABYEUFNsaXBwYWdlIHByb3RlY3Rpb24uPFVua25vd25EZWNpbWFscwAXBIhGYWlsZWQgdG8gcmV0cmlldmUgYXNzZXQgZGVjaW1hbHMuUEluY29ycmVjdEluaXRpYWxQZWdzABgEjExpc3Qgb2YgcHJvdmlkZWQgcGVncyBpcyBpbmNvcnJlY3QuWE1pc3NpbmdUYXJnZXRQZWdPcmFjbGUAGQSARmFpbGVkIHRvIHJldHJpZXZlIG9yYWNsZSBlbnRyeS5YSW5jb3JyZWN0QXNzZXREZWNpbWFscwAaBCUBQ3JlYXRpbmcgcG9vbCB3aXRoIHBlZ3MgaXMgbm90IGFsbG93ZWQgZm9yIGFzc2V0IHdpdGggZGlmZmVyZW50IGRlY2ltYWxzLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6lCgAABAgQMACpCgwwcGFsbGV0X2JvbmRzGHBhbGxldBRFcnJvcgQEVAABHDROb3RSZWdpc3RlcmVkAAAETEJvbmQgbm90IHJlZ2lzdGVyZWQkTm90TWF0dXJlAAEESEJvbmQgaXMgbm90IG1hdHVyZTxJbnZhbGlkTWF0dXJpdHkAAgRgTWF0dXJpdHkgbm90IGxvbmcgZW5vdWdoPERpc2FsbG93ZWRBc3NldAADBKxBc3NldCB0eXBlIG5vdCBhbGxvd2VkIGZvciB1bmRlcmx5aW5nIGFzc2V0NEFzc2V0Tm90Rm91bmQABASoQXNzZXQgaXMgbm90IHJlZ2lzdGVyZWQgaW4gYEFzc2V0UmVnaXN0cnlgPEludmFsaWRCb25kTmFtZQAFBHBHZW5lcmF0ZWQgbmFtZSBpcyBub3QgdmFsaWQuPEZhaWxUb1BhcnNlTmFtZQAGBJhCb25kJ3MgbmFtZSBwYXJzaW5nIHdhcyBub3cgc3VjY2Vzc2Z1bASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6tCgxYcGFsbGV0X290Y19zZXR0bGVtZW50cxhwYWxsZXQURXJyb3IEBFQAARw0T3JkZXJOb3RGb3VuZAAABExPdGMgb3JkZXIgbm90IGZvdW5kUE5vdFBhcnRpYWxseUZpbGxhYmxlAAEEjE9UQyBvcmRlciBpcyBub3QgcGFydGlhbGx5IGZpbGxhYmxlMEludmFsaWRSb3V0ZQACBLxQcm92aWRlZCByb3V0ZSBkb2Vzbid0IG1hdGNoIHRoZSBleGlzdGluZyByb3V0ZVBCYWxhbmNlSW5jb25zaXN0ZW5jeQADBJxJbml0aWFsIGFuZCBmaW5hbCBiYWxhbmNlIGFyZSBkaWZmZXJlbnRIVHJhZGVBbW91bnRUb29IaWdoAAQEiFRyYWRlIGFtb3VudCBoaWdoZXIgdGhhbiBuZWNlc3NhcnlEVHJhZGVBbW91bnRUb29Mb3cABQSEVHJhZGUgYW1vdW50IGxvd2VyIHRoYW4gbmVjZXNzYXJ5RFByaWNlTm90QXZhaWxhYmxlAAYEiFByaWNlIGZvciBhIHJvdXRlIGlzIG5vdCBhdmFpbGFibGUEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQusQoMKHBhbGxldF9sYnAYcGFsbGV0FEVycm9yBARUAAFceENhbm5vdENyZWF0ZVBvb2xXaXRoU2FtZUFzc2V0cwAABHxQb29sIGFzc2V0cyBjYW4gbm90IGJlIHRoZSBzYW1lIE5vdE93bmVyAAEEbEFjY291bnQgaXMgbm90IGEgcG9vbCBvd25lcixTYWxlU3RhcnRlZAACBFBTYWxlIGFscmVhZHkgc3RhcnRlZDBTYWxlTm90RW5kZWQAAwRkU2FsZSBpcyBzdGlsbCBpbiBwcm9ncmVzc0BTYWxlSXNOb3RSdW5uaW5nAAQETFNhbGUgaXMgbm90IHJ1bm5pbmdcTWF4U2FsZUR1cmF0aW9uRXhjZWVkZWQABQRkU2FsZSBkdXJhdGlvbiBpcyB0b28gbG9uZ1hDYW5ub3RBZGRaZXJvTGlxdWlkaXR5AAYEoExpcXVpZGl0eSBiZWluZyBhZGRlZCBzaG91bGQgbm90IGJlIHplcm9gSW5zdWZmaWNpZW50QXNzZXRCYWxhbmNlAAcEVEFzc2V0IGJhbGFuY2UgdG9vIGxvdzBQb29sTm90Rm91bmQACARMUG9vbCBkb2VzIG5vdCBleGlzdERQb29sQWxyZWFkeUV4aXN0cwAJBHRQb29sIGhhcyBiZWVuIGFscmVhZHkgY3JlYXRlZERJbnZhbGlkQmxvY2tSYW5nZQAKBExJbnZhbGlkIGJsb2NrIHJhbmdlWFdlaWdodENhbGN1bGF0aW9uRXJyb3IACwREQ2FsY3VsYXRpb24gZXJyb3I0SW52YWxpZFdlaWdodAAMBGhXZWlnaHQgc2V0IGlzIG91dCBvZiByYW5nZShaZXJvQW1vdW50AA0EoENhbiBub3QgcGVyZm9ybSBhIHRyYWRlIHdpdGggemVybyBhbW91bnRITWF4SW5SYXRpb0V4Y2VlZGVkAA4EYFRyYWRlIGFtb3VudCBpcyB0b28gaGlnaExNYXhPdXRSYXRpb0V4Y2VlZGVkAA8EYFRyYWRlIGFtb3VudCBpcyB0b28gaGlnaEBGZWVBbW91bnRJbnZhbGlkABAESEludmFsaWQgZmVlIGFtb3VudExUcmFkaW5nTGltaXRSZWFjaGVkABEEVFRyYWRpbmcgbGltaXQgcmVhY2hlZCBPdmVyZmxvdwASBJxBbiB1bmV4cGVjdGVkIGludGVnZXIgb3ZlcmZsb3cgb2NjdXJyZWQ8Tm90aGluZ1RvVXBkYXRlABMERE5vdGhpbmcgdG8gdXBkYXRlVEluc3VmZmljaWVudExpcXVpZGl0eQAUBLxMaXF1aWRpdHkgaGFzIG5vdCByZWFjaGVkIHRoZSByZXF1aXJlZCBtaW5pbXVtLmRJbnN1ZmZpY2llbnRUcmFkaW5nQW1vdW50ABUEqEFtb3VudCBpcyBsZXNzIHRoYW4gbWluaW11bSB0cmFkaW5nIGxpbWl0LoBGZWVDb2xsZWN0b3JXaXRoQXNzZXRBbHJlYWR5VXNlZAAWBLBOb3QgbW9yZSB0aGFuIG9uZSBmZWUgY29sbGVjdG9yIHBlciBhc3NldCBpZASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC61CgwocGFsbGV0X3h5axhwYWxsZXQURXJyb3IEBFQAAWh4Q2Fubm90Q3JlYXRlUG9vbFdpdGhTYW1lQXNzZXRzAAAE3El0IGlzIG5vdCBhbGxvd2VkIHRvIGNyZWF0ZSBhIHBvb2wgYmV0d2VlbiBzYW1lIGFzc2V0cy5USW5zdWZmaWNpZW50TGlxdWlkaXR5AAEEvExpcXVpZGl0eSBoYXMgbm90IHJlYWNoZWQgdGhlIHJlcXVpcmVkIG1pbmltdW0uZEluc3VmZmljaWVudFRyYWRpbmdBbW91bnQAAgSYQW1vdW50IGlzIGxlc3MgdGhhbiBtaW4gdHJhZGluZyBsaW1pdC40WmVyb0xpcXVpZGl0eQADBEhMaXF1aWRpdHkgaXMgemVyby5AWmVyb0luaXRpYWxQcmljZQAECOxJdCBpcyBub3QgYWxsb3dlZCB0byBjcmVhdGUgYSBwb29sIHdpdGggemVybyBpbml0aWFsIHByaWNlLqROb3QgdXNlZCwga2VwdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eXBDcmVhdGVQb29sQXNzZXRBbW91bnRJbnZhbGlkAAUIIE92ZXJmbG93pE5vdCB1c2VkLCBrZXB0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5WEludmFsaWRNaW50ZWRMaXF1aWRpdHkABgQgT3ZlcmZsb3dYSW52YWxpZExpcXVpZGl0eUFtb3VudAAHBCBPdmVyZmxvd2BBc3NldEFtb3VudEV4Y2VlZGVkTGltaXQACASYQXNzZXQgYW1vdW50IGhhcyBleGNlZWRlZCBnaXZlbiBsaW1pdC5oQXNzZXRBbW91bnROb3RSZWFjaGVkTGltaXQACQSkQXNzZXQgYW1vdW50IGhhcyBub3QgcmVhY2hlZCBnaXZlbiBsaW1pdC5gSW5zdWZmaWNpZW50QXNzZXRCYWxhbmNlAAoEgEFzc2V0IGJhbGFuY2UgaXMgbm90IHN1ZmZpY2llbnQucEluc3VmZmljaWVudFBvb2xBc3NldEJhbGFuY2UACwScTm90IGVub3VnaCBhc3NldCBsaXF1aWRpdHkgaW4gdGhlIHBvb2wuhEluc3VmZmljaWVudE5hdGl2ZUN1cnJlbmN5QmFsYW5jZQAMBLBOb3QgZW5vdWdoIGNvcmUgYXNzZXQgbGlxdWlkaXR5IGluIHRoZSBwb29sLkRUb2tlblBvb2xOb3RGb3VuZAANBLxMaXF1aWRpdHkgcG9vbCBmb3IgZ2l2ZW4gYXNzZXRzIGRvZXMgbm90IGV4aXN0LlhUb2tlblBvb2xBbHJlYWR5RXhpc3RzAA4EvExpcXVpZGl0eSBwb29sIGZvciBnaXZlbiBhc3NldHMgYWxyZWFkeSBleGlzdHMuVEFkZEFzc2V0QW1vdW50SW52YWxpZAAPBCBPdmVyZmxvd2BSZW1vdmVBc3NldEFtb3VudEludmFsaWQAEAQgT3ZlcmZsb3dYU2VsbEFzc2V0QW1vdW50SW52YWxpZAARBCBPdmVyZmxvd1RCdXlBc3NldEFtb3VudEludmFsaWQAEgQgT3ZlcmZsb3dARmVlQW1vdW50SW52YWxpZAATBCBPdmVyZmxvd0xDYW5ub3RBcHBseURpc2NvdW50ABQEIE92ZXJmbG93TE1heE91dFJhdGlvRXhjZWVkZWQAFQQRAU1heCBmcmFjdGlvbiBvZiBwb29sIHRvIGJ1eSBpbiBzaW5nbGUgdHJhbnNhY3Rpb24gaGFzIGJlZW4gZXhjZWVkZWQuSE1heEluUmF0aW9FeGNlZWRlZAAWBBUBTWF4IGZyYWN0aW9uIG9mIHBvb2wgdG8gc2VsbCBpbiBzaW5nbGUgdHJhbnNhY3Rpb24gaGFzIGJlZW4gZXhjZWVkZWQuIE92ZXJmbG93ABcEIE92ZXJmbG93QENhbm5vdENyZWF0ZVBvb2wAGAS4UG9vbCBjYW5ub3QgYmUgY3JlYXRlZCBkdWUgdG8gb3V0c2lkZSBmYWN0b3JzLjRTbGlwcGFnZUxpbWl0ABkEUFNsaXBwYWdlIHByb3RlY3Rpb24uBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LrkKAAAECAEEGAC9CgAABAgQAQQAwQoAAAQMEBgAAMUKDEBwYWxsZXRfcmVmZXJyYWxzGHBhbGxldBRFcnJvcgQEVAABOBxUb29Mb25nAAAEaFJlZmVycmFsIGNvZGUgaXMgdG9vIGxvbmcuIFRvb1Nob3J0AAEEbFJlZmVycmFsIGNvZGUgaXMgdG9vIHNob3J0LkBJbnZhbGlkQ2hhcmFjdGVyAAIETQFSZWZlcnJhbCBjb2RlIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyLiBPbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFyZSBhbGxvd2VkLjRBbHJlYWR5RXhpc3RzAAMEdFJlZmVycmFsIGNvZGUgYWxyZWFkeSBleGlzdHMuLEludmFsaWRDb2RlAAQEIQFQcm92aWRlZCByZWZlcnJhbCBjb2RlIGlzIGludmFsaWQuIEVpdGhlciBkb2VzIG5vdCBleGlzdCBvciBpcyB0b28gbG9uZy40QWxyZWFkeUxpbmtlZAAFBNhBY2NvdW50IGlzIGFscmVhZHkgbGlua2VkIHRvIGFub3RoZXIgcmVmZXJyYWwgYWNjb3VudC4oWmVyb0Ftb3VudAAGBMhOb3RoaW5nIGluIHRoZSByZWZlcnJhbCBwb3QgYWNjb3VudCBmb3IgdGhlIGFzc2V0LjhMaW5rTm90QWxsb3dlZAAHBPxMaW5raW5nIGFuIGFjY291bnQgdG8gdGhlIHNhbWUgcmVmZXJyYWwgYWNjb3VudCBpcyBub3QgYWxsb3dlZC5oSW5jb3JyZWN0UmV3YXJkQ2FsY3VsYXRpb24ACASRAUNhbGN1bGF0ZWQgcmV3YXJkcyBhcmUgbW9yZSB0aGFuIHRoZSBmZWUgYW1vdW50LiBUaGlzIGNhbiBoYXBwZW4gaWYgcGVyY2VudGFnZXMgYXJlIGluY29ycmVjdGx5IHNldC5kSW5jb3JyZWN0UmV3YXJkUGVyY2VudGFnZQAJBOxHaXZlbiByZWZlcnJlciBhbmQgdHJhZGVyIHBlcmNlbnRhZ2VzIGV4Y2VlZHMgMTAwJSBwZXJjZW50LkRBbHJlYWR5UmVnaXN0ZXJlZAAKBKhUaGUgYWNjb3VudCBoYXMgYWxyZWFkeSBhIGNvZGUgcmVnaXN0ZXJlZC40UHJpY2VOb3RGb3VuZAALBJRQcmljZSBmb3IgZ2l2ZW4gYXNzZXQgcGFpciBub3QgZm91bmQukENvbnZlcnNpb25NaW5UcmFkaW5nQW1vdW50Tm90UmVhY2hlZAAMBOxNaW5pbXVtIHRyYWRpbmcgYW1vdW50IGZvciBjb252ZXJzaW9uIGhhcyBub3QgYmVlbiByZWFjaGVkLnBDb252ZXJzaW9uWmVyb0Ftb3VudFJlY2VpdmVkAA0ElFplcm8gYW1vdW50IHJlY2VpdmVkIGZyb20gY29udmVyc2lvbi4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuyQoMSHBhbGxldF9saXF1aWRhdGlvbhhwYWxsZXQURXJyb3IEBFQAARBUQXNzZXRDb252ZXJzaW9uRmFpbGVkAAAEoEFzc2V0SWQgdG8gRVZNIGFkZHJlc3MgY29udmVyc2lvbiBmYWlsZWRUTGlxdWlkYXRpb25DYWxsRmFpbGVkAAEEXExpcXVpZGF0aW9uIGNhbGwgZmFpbGVkMEludmFsaWRSb3V0ZQACBLxQcm92aWRlZCByb3V0ZSBkb2Vzbid0IG1hdGNoIHRoZSBleGlzdGluZyByb3V0ZTROb3RQcm9maXRhYmxlAAME5ExpcXVpZGF0aW9uIHdhcyBub3QgcHJvZml0YWJsZSBlbm91Z2ggdG8gcmVwYXkgZmxhc2ggbG9hbgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7NCgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAdEKBFMAAAQA1QoBGFZlYzxUPgAA0QoILG9ybWxfdG9rZW5zLEJhbGFuY2VMb2NrBBxCYWxhbmNlARgACAEIaWQVAgE4TG9ja0lkZW50aWZpZXIAARhhbW91bnQYARxCYWxhbmNlAADVCgAAAtEKANkKCCxvcm1sX3Rva2VucyxBY2NvdW50RGF0YQQcQmFsYW5jZQEYAAwBEGZyZWUYARxCYWxhbmNlAAEgcmVzZXJ2ZWQYARxCYWxhbmNlAAEYZnJvemVuGAEcQmFsYW5jZQAA3QoMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHhCgRTAAAEAOUKARhWZWM8VD4AAOEKCCxvcm1sX3Rva2VucyxSZXNlcnZlRGF0YQhEUmVzZXJ2ZUlkZW50aWZpZXIBFQIcQmFsYW5jZQEYAAgBCGlkFQIBRFJlc2VydmVJZGVudGlmaWVyAAEYYW1vdW50GAEcQmFsYW5jZQAA5QoAAALhCgDpCgwsb3JtbF90b2tlbnMYbW9kdWxlFEVycm9yBARUAAEgNEJhbGFuY2VUb29Mb3cAAARYVGhlIGJhbGFuY2UgaXMgdG9vIGxvd1xBbW91bnRJbnRvQmFsYW5jZUZhaWxlZAABBJxDYW5ub3QgY29udmVydCBBbW91bnQgaW50byBCYWxhbmNlIHR5cGVUTGlxdWlkaXR5UmVzdHJpY3Rpb25zAAIE0EZhaWxlZCBiZWNhdXNlIGxpcXVpZGl0eSByZXN0cmljdGlvbnMgZHVlIHRvIGxvY2tpbmdATWF4TG9ja3NFeGNlZWRlZAADBLRGYWlsZWQgYmVjYXVzZSB0aGUgbWF4aW11bSBsb2NrcyB3YXMgZXhjZWVkZWQkS2VlcEFsaXZlAAQEjFRyYW5zZmVyL3BheW1lbnQgd291bGQga2lsbCBhY2NvdW50SEV4aXN0ZW50aWFsRGVwb3NpdAAFBOhWYWx1ZSB0b28gbG93IHRvIGNyZWF0ZSBhY2NvdW50IGR1ZSB0byBleGlzdGVudGlhbCBkZXBvc2l0LERlYWRBY2NvdW50AAYEiEJlbmVmaWNpYXJ5IGFjY291bnQgbXVzdCBwcmUtZXhpc3Q8VG9vTWFueVJlc2VydmVzAAcABIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lu0KDERwYWxsZXRfY3VycmVuY2llcxhtb2R1bGUURXJyb3IEBFQAARBcQW1vdW50SW50b0JhbGFuY2VGYWlsZWQAAAS8VW5hYmxlIHRvIGNvbnZlcnQgdGhlIEFtb3VudCB0eXBlIGludG8gQmFsYW5jZS40QmFsYW5jZVRvb0xvdwABBExCYWxhbmNlIGlzIHRvbyBsb3cuNERlcG9zaXRGYWlsZWQAAgR4RGVwb3NpdCByZXN1bHQgaXMgbm90IGV4cGVjdGVkME5vdFN1cHBvcnRlZAADBLBPcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBjdXJyZW5jeQSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7xCgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAR0EBFMAAAQAIQQBGFZlYzxUPgAA9QoMMG9ybWxfdmVzdGluZxhtb2R1bGUURXJyb3IEBFQAARhEWmVyb1Zlc3RpbmdQZXJpb2QAAARYVmVzdGluZyBwZXJpb2QgaXMgemVyb1haZXJvVmVzdGluZ1BlcmlvZENvdW50AAEEXE51bWJlciBvZiB2ZXN0cyBpcyB6ZXJvZEluc3VmZmljaWVudEJhbGFuY2VUb0xvY2sAAgSYSW5zdWZmaWNpZW50IGFtb3VudCBvZiBiYWxhbmNlIHRvIGxvY2tcVG9vTWFueVZlc3RpbmdTY2hlZHVsZXMAAwSwVGhpcyBhY2NvdW50IGhhdmUgdG9vIG1hbnkgdmVzdGluZyBzY2hlZHVsZXMkQW1vdW50TG93AAQElFRoZSB2ZXN0ZWQgdHJhbnNmZXIgYW1vdW50IGlzIHRvbyBsb3dsTWF4VmVzdGluZ1NjaGVkdWxlc0V4Y2VlZGVkAAUE5EZhaWxlZCBiZWNhdXNlIHRoZSBtYXhpbXVtIHZlc3Rpbmcgc2NoZWR1bGVzIHdhcyBleGNlZWRlZASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC75CggocGFsbGV0X2V2bTBDb2RlTWV0YWRhdGEAAAgBEHNpemUwAQx1NjQAARBoYXNoNAEQSDI1NgAA/QoAAAQIVQE0AAELDChwYWxsZXRfZXZtGHBhbGxldBRFcnJvcgQEVAABNChCYWxhbmNlTG93AAAEkE5vdCBlbm91Z2ggYmFsYW5jZSB0byBwZXJmb3JtIGFjdGlvbixGZWVPdmVyZmxvdwABBIBDYWxjdWxhdGluZyB0b3RhbCBmZWUgb3ZlcmZsb3dlZDxQYXltZW50T3ZlcmZsb3cAAgSQQ2FsY3VsYXRpbmcgdG90YWwgcGF5bWVudCBvdmVyZmxvd2VkOFdpdGhkcmF3RmFpbGVkAAMETFdpdGhkcmF3IGZlZSBmYWlsZWQ4R2FzUHJpY2VUb29Mb3cABARUR2FzIHByaWNlIGlzIHRvbyBsb3cuMEludmFsaWROb25jZQAFBEBOb25jZSBpcyBpbnZhbGlkOEdhc0xpbWl0VG9vTG93AAYEVEdhcyBsaW1pdCBpcyB0b28gbG93LjxHYXNMaW1pdFRvb0hpZ2gABwRYR2FzIGxpbWl0IGlzIHRvbyBoaWdoLjhJbnZhbGlkQ2hhaW5JZAAIBGBUaGUgY2hhaW4gaWQgaXMgaW52YWxpZC5ASW52YWxpZFNpZ25hdHVyZQAJBGR0aGUgc2lnbmF0dXJlIGlzIGludmFsaWQuKFJlZW50cmFuY3kACgQ4RVZNIHJlZW50cmFuY3loVHJhbnNhY3Rpb25NdXN0Q29tZUZyb21FT0EACwQkRUlQLTM2MDcsJFVuZGVmaW5lZAAMBEBVbmRlZmluZWQgZXJyb3IuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LgULAAACCQsACQsAAAQMOQQNCyELAA0LCBhmcF9ycGNEVHJhbnNhY3Rpb25TdGF0dXMAABwBQHRyYW5zYWN0aW9uX2hhc2g0ARBIMjU2AAFEdHJhbnNhY3Rpb25faW5kZXgQAQx1MzIAARBmcm9tVQEBHEFkZHJlc3MAAQh0bxELATxPcHRpb248QWRkcmVzcz4AAUBjb250cmFjdF9hZGRyZXNzEQsBPE9wdGlvbjxBZGRyZXNzPgABEGxvZ3MVCwEgVmVjPExvZz4AAShsb2dzX2Jsb29tGQsBFEJsb29tAAARCwQYT3B0aW9uBARUAVUBAQgQTm9uZQAAABBTb21lBABVAQAAAQAAFQsAAAL9BgAZCwggZXRoYmxvb20UQmxvb20AAAQAHQsBQFt1ODsgQkxPT01fU0laRV0AAB0LAAADAAEAAAgAIQsMIGV0aGVyZXVtHHJlY2VpcHQkUmVjZWlwdFYzAAEMGExlZ2FjeQQAJQsBREVJUDY1OFJlY2VpcHREYXRhAAAAHEVJUDI5MzAEACULAUhFSVAyOTMwUmVjZWlwdERhdGEAAQAcRUlQMTU1OQQAJQsBSEVJUDE1NTlSZWNlaXB0RGF0YQACAAAlCwwgZXRoZXJldW0ccmVjZWlwdERFSVA2NThSZWNlaXB0RGF0YQAAEAEsc3RhdHVzX2NvZGUIAQh1OAABIHVzZWRfZ2FzXQEBEFUyNTYAAShsb2dzX2Jsb29tGQsBFEJsb29tAAEQbG9ncxULASBWZWM8TG9nPgAAKQsMIGV0aGVyZXVtFGJsb2NrFEJsb2NrBARUATkEAAwBGGhlYWRlci0LARhIZWFkZXIAATB0cmFuc2FjdGlvbnM1CwEYVmVjPFQ+AAEYb21tZXJzOQsBLFZlYzxIZWFkZXI+AAAtCwwgZXRoZXJldW0YaGVhZGVyGEhlYWRlcgAAPAEscGFyZW50X2hhc2g0ARBIMjU2AAEsb21tZXJzX2hhc2g0ARBIMjU2AAEsYmVuZWZpY2lhcnlVAQEQSDE2MAABKHN0YXRlX3Jvb3Q0ARBIMjU2AAFEdHJhbnNhY3Rpb25zX3Jvb3Q0ARBIMjU2AAE0cmVjZWlwdHNfcm9vdDQBEEgyNTYAAShsb2dzX2Jsb29tGQsBFEJsb29tAAEoZGlmZmljdWx0eV0BARBVMjU2AAEYbnVtYmVyXQEBEFUyNTYAASRnYXNfbGltaXRdAQEQVTI1NgABIGdhc191c2VkXQEBEFUyNTYAASR0aW1lc3RhbXAwAQx1NjQAAShleHRyYV9kYXRhOAEUQnl0ZXMAASBtaXhfaGFzaDQBEEgyNTYAARRub25jZTELAQxINjQAADELDDhldGhlcmV1bV90eXBlcxBoYXNoDEg2NAAABAAVAgEcW3U4OyA4XQAANQsAAAI5BAA5CwAAAi0LAD0LAAACIQsAQQsAAAINCwBFCww8cGFsbGV0X2V0aGVyZXVtGHBhbGxldBRFcnJvcgQEVAABCEBJbnZhbGlkU2lnbmF0dXJlAAAEVFNpZ25hdHVyZSBpcyBpbnZhbGlkLjBQcmVMb2dFeGlzdHMAAQTYUHJlLWxvZyBpcyBwcmVzZW50LCB0aGVyZWZvcmUgdHJhbnNhY3QgaXMgbm90IGFsbG93ZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LkkLDExwYWxsZXRfZXZtX2FjY291bnRzGHBhbGxldBRFcnJvcgQEVAABEGxUcnVuY2F0ZWRBY2NvdW50QWxyZWFkeVVzZWQAAASIQWN0aXZlIEVWTSBhY2NvdW50IGNhbm5vdCBiZSBib3VuZExBZGRyZXNzQWxyZWFkeUJvdW5kAAEEYEFkZHJlc3MgaXMgYWxyZWFkeSBib3VuZGBCb3VuZEFkZHJlc3NDYW5ub3RCZVVzZWQAAgRwQm91bmQgYWRkcmVzcyBjYW5ub3QgYmUgdXNlZFRBZGRyZXNzTm90V2hpdGVsaXN0ZWQAAwRcQWRkcmVzcyBub3Qgd2hpdGVsaXN0ZWQEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuTQsMbHBhbGxldF94eWtfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQURXJyb3IEBFQAATBQQ2FudEZpbmREZXBvc2l0T3duZXIAAASITmZ0IHBhbGxldCBkaWRuJ3QgcmV0dXJuIGFuIG93bmVyLnBJbnN1ZmZpY2llbnRYeWtTaGFyZXNCYWxhbmNlAAEE1EFjY291bnQgYmFsYW5jZSBvZiBYWUsgcG9vbCBzaGFyZXMgaXMgbm90IHN1ZmZpY2llbnQuSFh5a1Bvb2xEb2VzbnRFeGlzdAACBFxYWUsgcG9vbCBkb2VzIG5vdCBleGlzdDxOb3REZXBvc2l0T3duZXIAAwR0QWNjb3VudCBpcyBub3QgZGVwb3NpdCBvd25lci5AQ2FudEdldFh5a0Fzc2V0cwAEBKxYWUsgZGlkIG5vdCByZXR1cm4gYXNzZXRzIGZvciBnaXZlbiBwb29sIGlkTERlcG9zaXREYXRhTm90Rm91bmQABQRYRGVwb3NpdCBkYXRhIG5vdCBmb3VuZEhaZXJvQ2xhaW1lZFJld2FyZHMABgSAQ2FsY3VsYXRlZCByZXdhcmQgdG8gY2xhaW0gaXMgMC5MQXNzZXROb3RJbkFzc2V0UGFpcgAHBIBBc3NldCBpcyBub3QgaW4gdGhlIGBBc3NldFBhaXJgLkBJbnZhbGlkQXNzZXRQYWlyAAgEwFByb3ZpZGVkIGBBc3NldFBhaXJgIGlzIG5vdCB1c2VkIGJ5IHRoZSBkZXBvc2l0LkhBc3NldE5vdFJlZ2lzdGVyZWQACQSoQXNzZXQgaXMgbm90IHJlZ2lzdGVyZWQgaW4gYXNzZXQgcmVnaXN0cnkuOEZhaWxUb0dldFBvdElkAAoEkEZhaWxlZCB0byBjYWxjdWxhdGUgYHBvdGAncyBhY2NvdW50LkBOb0Zhcm1zU3BlY2lmaWVkAAsEzE5vIGdsb2JhbCBmYXJtIC0geWllbGQgZmFybSBwYWlycyBzcGVjaWZpZWQgdG8gam9pbgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC5RCwxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXM4R2xvYmFsRmFybURhdGEIBFQABEkAAEgBCGlkEAEwR2xvYmFsRmFybUlkAAEUb3duZXIAATBUOjpBY2NvdW50SWQAASh1cGRhdGVkX2F0EAEsUGVyaW9kT2Y8VD4AATh0b3RhbF9zaGFyZXNfehgBHEJhbGFuY2UAATxhY2N1bXVsYXRlZF9ycHpRAQEkRml4ZWRVMTI4AAE8cmV3YXJkX2N1cnJlbmN5EAEoVDo6QXNzZXRJZAABPHBlbmRpbmdfcmV3YXJkcxgBHEJhbGFuY2UAAWBhY2N1bXVsYXRlZF9wYWlkX3Jld2FyZHMYARxCYWxhbmNlAAFAeWllbGRfcGVyX3BlcmlvZGUDASxQZXJxdWludGlsbAABYHBsYW5uZWRfeWllbGRpbmdfcGVyaW9kcxABLFBlcmlvZE9mPFQ+AAFEYmxvY2tzX3Blcl9wZXJpb2QQAURCbG9ja051bWJlckZvcjxUPgABSGluY2VudGl2aXplZF9hc3NldBABKFQ6OkFzc2V0SWQAAVRtYXhfcmV3YXJkX3Blcl9wZXJpb2QYARxCYWxhbmNlAAEsbWluX2RlcG9zaXQYARxCYWxhbmNlAAFYbGl2ZV95aWVsZF9mYXJtc19jb3VudBABDHUzMgABXHRvdGFsX3lpZWxkX2Zhcm1zX2NvdW50EAEMdTMyAAFAcHJpY2VfYWRqdXN0bWVudFEBASRGaXhlZFUxMjgAARRzdGF0ZSEKASRGYXJtU3RhdGUAAFULAAAEDAAQEABZCwxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXM0WWllbGRGYXJtRGF0YQgEVAAESQAAMAEIaWQQARhGYXJtSWQAASh1cGRhdGVkX2F0EAEsUGVyaW9kT2Y8VD4AATB0b3RhbF9zaGFyZXMYARxCYWxhbmNlAAFMdG90YWxfdmFsdWVkX3NoYXJlcxgBHEJhbGFuY2UAAUBhY2N1bXVsYXRlZF9ycHZzUQEBJEZpeGVkVTEyOAABPGFjY3VtdWxhdGVkX3JwelEBASRGaXhlZFUxMjgAATRsb3lhbHR5X2N1cnZlaQMBUE9wdGlvbjxMb3lhbHR5Q3VydmU+AAEobXVsdGlwbGllclEBAThGYXJtTXVsdGlwbGllcgABFHN0YXRlIQoBJEZhcm1TdGF0ZQABNGVudHJpZXNfY291bnQwAQx1NjQAAUhsZWZ0X3RvX2Rpc3RyaWJ1dGUYARxCYWxhbmNlAAE0dG90YWxfc3RvcHBlZBABLFBlcmlvZE9mPFQ+AABdCwxccGFsbGV0X2xpcXVpZGl0eV9taW5pbmcUdHlwZXMsRGVwb3NpdERhdGEIBFQABEkAAAwBGHNoYXJlcxgBHEJhbGFuY2UAASxhbW1fcG9vbF9pZAABMFQ6OkFtbVBvb2xJZAABSHlpZWxkX2Zhcm1fZW50cmllc2ELAfRCb3VuZGVkVmVjPFlpZWxkRmFybUVudHJ5PFQsIEk+LCBUOjpNYXhGYXJtRW50cmllc1BlckRlcG9zaXQ+AABhCwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAWULBFMAAAQAaQsBGFZlYzxUPgAAZQsMXHBhbGxldF9saXF1aWRpdHlfbWluaW5nFHR5cGVzOFlpZWxkRmFybUVudHJ5CARUAARJAAAgAThnbG9iYWxfZmFybV9pZBABMEdsb2JhbEZhcm1JZAABNHlpZWxkX2Zhcm1faWQQASxZaWVsZEZhcm1JZAABNHZhbHVlZF9zaGFyZXMYARxCYWxhbmNlAAFAYWNjdW11bGF0ZWRfcnB2c1EBASRGaXhlZFUxMjgAAWxhY2N1bXVsYXRlZF9jbGFpbWVkX3Jld2FyZHMYARxCYWxhbmNlAAEoZW50ZXJlZF9hdBABLFBlcmlvZE9mPFQ+AAEodXBkYXRlZF9hdBABLFBlcmlvZE9mPFQ+AAFMc3RvcHBlZF9hdF9jcmVhdGlvbhABLFBlcmlvZE9mPFQ+AABpCwAAAmULAG0LDFxwYWxsZXRfbGlxdWlkaXR5X21pbmluZxhwYWxsZXQURXJyb3IIBFQABEkAAXRIR2xvYmFsRmFybU5vdEZvdW5kAAAEbEdsb2JhbCBmYXJtIGRvZXMgbm90IGV4aXN0LkRZaWVsZEZhcm1Ob3RGb3VuZAABBGhZaWVsZCBmYXJtIGRvZXMgbm90IGV4aXN0LkxEb3VibGVDbGFpbUluUGVyaW9kAAIEyE11bHRpcGxlIGNsYWltcyBpbiB0aGUgc2FtZSBwZXJpb2QgaXMgbm90IGFsbG93ZWQuXExpcXVpZGl0eU1pbmluZ0NhbmNlbGVkAAMEdExpcXVpZGl0eSBtaW5pbmcgaXMgY2FuY2VsZWQuXExpcXVpZGl0eU1pbmluZ0lzQWN0aXZlAAQEhExpcXVpZGl0eSBtaW5pbmcgaXMgbm90IGNhbmNlbGVkLmxMaXF1aWRpdHlNaW5pbmdJc05vdFN0b3BwZWQABQRVAUxpcXVpZGl0eSBtaW5pbmcgaXMgaW4gYGFjdGl2ZWAgb3IgYHRlcm1pbmF0ZWRgIHN0YXRlIGFuZCBhY3Rpb24gY2Fubm90IGJlIGNvbXBsZXRlZC5QSW52YWxpZERlcG9zaXRBbW91bnQABgR4TFAgc2hhcmVzIGFtb3VudCBpcyBub3QgdmFsaWQuJEZvcmJpZGRlbgAHBKRBY2NvdW50IGlzIG5vdCBhbGxvd2VkIHRvIHBlcmZvcm0gYWN0aW9uLkRJbnZhbGlkTXVsdGlwbGllcgAIBIRZaWVsZCBmYXJtIG11bHRpcGxpZXIgY2FuJ3QgYmUgMC5YWWllbGRGYXJtQWxyZWFkeUV4aXN0cwAJBAkBWWllbGQgZmFybSB3aXRoIGdpdmVuIGBhbW1fcG9vbF9pZGAgYWxyZWFkeSBleGlzdHMgaW4gZ2xvYmFsIGZhcm0ueEludmFsaWRJbml0aWFsUmV3YXJkUGVyY2VudGFnZQAKBD0BTG95YWx0eSBjdXJ2ZSdzIGluaXRpYWwgcmV3YXJkIHBlcmNlbnRhZ2UgaXMgbm90IHZhbGlkLiBWYWxpZCByYW5nZSBpczogWzAsIDEpLlBHbG9iYWxGYXJtSXNOb3RFbXB0eQALBLRPbmUgb3IgbW9yZSB5aWVsZCBmYXJtcyBleGlzdCBpbiBnbG9iYWwgZmFybS5gTWlzc2luZ0luY2VudGl2aXplZEFzc2V0AAwE+EZhcm0ncyBgaW5jZW50aXZpemVkX2Fzc2V0YCBpcyBtaXNzaW5nIGluIHByb3ZpZGVkIGFzc2V0IHBhaXIuhEluc3VmZmljaWVudFJld2FyZEN1cnJlbmN5QmFsYW5jZQANBKhSZXdhcmQgY3VycmVuY3kgYmFsYW5jZSBpcyBub3Qgc3VmZmljaWVudC5YSW52YWxpZEJsb2Nrc1BlclBlcmlvZAAOBHRCbG9ja3MgcGVyIHBlcmlvZCBjYW4ndCBiZSAwLlRJbnZhbGlkWWllbGRQZXJQZXJpb2QADwRwWWllbGQgcGVyIHBlcmlvZCBjYW4ndCBiZSAwLkxJbnZhbGlkVG90YWxSZXdhcmRzABAExFRvdGFsIHJld2FyZHMgaXMgbGVzcyB0aGFuIGBNaW5Ub3RhbEZhcm1SZXdhcmRzYC50SW52YWxpZFBsYW5uZWRZaWVsZGluZ1BlcmlvZHMAEQQJAVBsYW5uZWQgeWllbGRpbmcgcGVyaW9kcyBpcyBsZXNzIHRoYW4gYE1pblBsYW5uZWRZaWVsZGluZ1BlcmlvZHNgLlBNYXhFbnRyaWVzUGVyRGVwb3NpdAASBLBNYXhpbXVtIG51bWJlciBvZiBsb2NrcyByZWFjaGVkIGZvciBkZXBvc2l0LihEb3VibGVMb2NrABME4FRyeWluZyB0byBsb2NrIExQIHNoYXJlcyBpbnRvIGFscmVhZHkgbG9ja2VkIHlpZWxkIGZhcm0uWFlpZWxkRmFybUVudHJ5Tm90Rm91bmQAFATEWWllbGQgZmFybSBlbnRyeSBkb2Vzbid0IGV4aXN0IGZvciBnaXZlbiBkZXBvc2l0LkBHbG9iYWxGYXJtSXNGdWxsABUISQFNYXggbnVtYmVyIG9mIHlpZWxkIGZhcm1zIGluIGdsb2JhbCBmYXJtIHdhcyByZWFjaGVkLiBHbG9iYWwgZmFybSBjYW4ndCBhY2NlcHQgbmV3+HlpZWxkIGZhcm1zIHVudGlsIHNvbWUgeWllbGQgZmFybSBpcyBub3QgcmVtb3ZlZCBmcm9tIHN0b3JhZ2UuREludmFsaWRNaW5EZXBvc2l0ABYEtEludmFsaWQgbWluLiBkZXBvc2l0IHdhcyBzZXQgZm9yIGdsb2JhbCBmYXJtLlhJbnZhbGlkUHJpY2VBZGp1c3RtZW50ABcEnFByaWNlIGFkanVzdG1lbnQgbXVsdGlwbGllciBjYW4ndCBiZSAwLkRFcnJvckdldEFjY291bnRJZAAYBIBBY2NvdW50IGNyZWF0aW9uIGZyb20gaWQgZmFpbGVkLlRJbmNvcnJlY3RWYWx1ZWRTaGFyZXMAGQQlAVZhbHVlIG9mIGRlcG9zaXRlZCBzaGFyZXMgYW1vdW50IGluIHJld2FyZCBjdXJyZW5jeSBpcyBiZWxsb3cgbWluLiBsaW1pdC5sUmV3YXJkQ3VycmVuY3lOb3RSZWdpc3RlcmVkABoE2GByZXdhcmRfY3VycmVuY3lgIGlzIG5vdCByZWdpc3RlcmVkIGluIGFzc2V0IHJlZ2lzdHJ5LnhJbmNlbnRpdml6ZWRBc3NldE5vdFJlZ2lzdGVyZWQAGwTkYGluY2VudGl2aXplZF9hc3NldGAgaXMgbm90IHJlZ2lzdGVyZWQgaW4gYXNzZXQgcmVnaXN0cnkuREluY29uc2lzdGVudFN0YXRlBABBCgFYSW5jb25zaXN0ZW50U3RhdGVFcnJvcgAcCGUBQWN0aW9uIGNhbm5vdCBiZSBjb21wbGV0ZWQgYmVjYXVzZSB1bmV4cGVjdGVkIGVycm9yIGhhcyBvY2N1cnJlZC4gVGhpcyBzaG91bGQgYmUgcmVwb3J0ZWRgdG8gcHJvdG9jb2wgbWFpbnRhaW5lcnMuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LnELDFhwYWxsZXRfcmVsYXljaGFpbl9pbmZvGHBhbGxldBRFcnJvcgQEVAABAASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC51CwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUARAEUwAABACBAwEYVmVjPFQ+AAB5CwwocGFsbGV0X2RjYRhwYWxsZXQURXJyb3IEBFQAAUhAU2NoZWR1bGVOb3RGb3VuZAAABEhTY2hlZHVsZSBub3QgZXhpc3RgTWluVHJhZGVBbW91bnROb3RSZWFjaGVkAAEEjFRoZSBtaW4gdHJhZGUgYW1vdW50IGlzIG5vdCByZWFjaGVkJEZvcmJpZGRlbgACBNhGb3JiaWRkZW4gYXMgdGhlIHVzZXIgaXMgbm90IHRoZSBvd25lciBvZiB0aGUgc2NoZWR1bGVgQmxvY2tOdW1iZXJJc05vdEluRnV0dXJlAAME0FRoZSBuZXh0IGV4ZWN1dGlvbiBibG9jayBudW1iZXIgaXMgbm90IGluIHRoZSBmdXR1cmU0UHJpY2VVbnN0YWJsZQAEBDUBUHJpY2UgaXMgdW5zdGFibGUgYXMgcHJpY2UgY2hhbmdlIGZyb20gb3JhY2xlIGRhdGEgaXMgYmlnZ2VyIHRoYW4gbWF4IGFsbG93ZWQYQnVtcGVkAAUEsE9yZGVyIHdhcyByYW5kb21seSByZXNjaGVkdWxlZCB0byBuZXh0IGJsb2NrVENhbGN1bGF0aW5nUHJpY2VFcnJvcgAGBJRFcnJvciBvY2N1cnJlZCB3aGVuIGNhbGN1bGF0aW5nIHByaWNlhFRvdGFsQW1vdW50SXNTbWFsbGVyVGhhbk1pbkJ1ZGdldAAHBOhUaGUgdG90YWwgYW1vdW50IHRvIGJlIHJlc2VydmVkIGlzIHNtYWxsZXIgdGhhbiBtaW4gYnVkZ2V0MEJ1ZGdldFRvb0xvdwAIBNxUaGUgYnVkZ2V0IGlzIHRvbyBsb3cgZm9yIGV4ZWN1dGluZyBhdCBsZWFzdCB0d28gb3JkZXJzQE5vRnJlZUJsb2NrRm91bmQACQTIVGhlcmUgaXMgbm8gZnJlZSBibG9jayBmb3VuZCB0byBwbGFuIERDQSBleGVjdXRpb25ITWFudWFsbHlUZXJtaW5hdGVkAAoEtFRoZSBEQ0Egc2NoZWR1bGUgaGFzIGJlZW4gbWFudWFsbHkgdGVybWluYXRlZDxNYXhSZXRyeVJlYWNoZWQACwSoTWF4IG51bWJlciBvZiByZXRyaWVzIHJlYWNoZWQgZm9yIHNjaGVkdWxlRFRyYWRlTGltaXRSZWFjaGVkAAwEwEFic29sdXRlbHkgdHJhZGUgbGltaXQgcmVhY2hlZCwgbGVhZGluZyB0byByZXRyeVBTbGlwcGFnZUxpbWl0UmVhY2hlZAANBAkBU2xpcHBhZ2UgbGltaXQgY2FsY3VsYXRlZCBmcm9tIG9yYWNsZSBpcyByZWFjaGVkLCBsZWFkaW5nIHRvIHJldHJ5RE5vUGFyZW50SGFzaEZvdW5kAA4EuE5vIHBhcmVudCBoYXNoIGhhcyBiZWVuIGZvdW5kIGZyb20gcmVsYXkgY2hhaW4wSW52YWxpZFN0YXRlAA8EhQFFcnJvciB0aGF0IHNob3VsZCBub3QgcmVhbGx5IGhhcHBlbiBvbmx5IGluIGNhc2Ugb2YgaW52YWxpZCBzdGF0ZSBvZiB0aGUgc2NoZWR1bGUgc3RvcmFnZSBlbnRyaWVzOFBlcmlvZFRvb1Nob3J0ABAElFBlcmlvZCBzaG91bGQgYmUgbG9uZ2VyIHRoYW4gNSBibG9ja3NkU3RhYmlsaXR5VGhyZXNob2xkVG9vSGlnaAARBFkBU3RhYmlsaXR5IHRocmVzaG9sZCBjYW5ub3QgYmUgaGlnaGVyIHRoYW4gYE1heENvbmZpZ3VyYWJsZVByaWNlRGlmZmVyZW5jZUJldHdlZW5CbG9ja2AEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQufQsMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGBCwRTAAAEAIkLARhWZWM8VD4AAIELBBhPcHRpb24EBFQBhQsBCBBOb25lAAAAEFNvbWUEAIULAAABAACFCwhAcGFsbGV0X3NjaGVkdWxlciRTY2hlZHVsZWQUEE5hbWUBBBBDYWxsASEBLEJsb2NrTnVtYmVyARA0UGFsbGV0c09yaWdpbgF5ASRBY2NvdW50SWQBAAAUASBtYXliZV9pZD0HATBPcHRpb248TmFtZT4AASBwcmlvcml0eQgBSHNjaGVkdWxlOjpQcmlvcml0eQABEGNhbGwhAQEQQ2FsbAABOG1heWJlX3BlcmlvZGljnQMBlE9wdGlvbjxzY2hlZHVsZTo6UGVyaW9kPEJsb2NrTnVtYmVyPj4AARhvcmlnaW55AQE0UGFsbGV0c09yaWdpbgAAiQsAAAKBCwCNCwhAcGFsbGV0X3NjaGVkdWxlcixSZXRyeUNvbmZpZwQYUGVyaW9kARAADAE0dG90YWxfcmV0cmllcwgBCHU4AAEkcmVtYWluaW5nCAEIdTgAARhwZXJpb2QQARhQZXJpb2QAAJELDEBwYWxsZXRfc2NoZWR1bGVyGHBhbGxldBRFcnJvcgQEVAABFEBGYWlsZWRUb1NjaGVkdWxlAAAEZEZhaWxlZCB0byBzY2hlZHVsZSBhIGNhbGwgTm90Rm91bmQAAQR8Q2Fubm90IGZpbmQgdGhlIHNjaGVkdWxlZCBjYWxsLlxUYXJnZXRCbG9ja051bWJlckluUGFzdAACBKRHaXZlbiB0YXJnZXQgYmxvY2sgbnVtYmVyIGlzIGluIHRoZSBwYXN0LkhSZXNjaGVkdWxlTm9DaGFuZ2UAAwTwUmVzY2hlZHVsZSBmYWlsZWQgYmVjYXVzZSBpdCBkb2VzIG5vdCBjaGFuZ2Ugc2NoZWR1bGVkIHRpbWUuFE5hbWVkAAQE0EF0dGVtcHQgdG8gdXNlIGEgbm9uLW5hbWVkIGZ1bmN0aW9uIG9uIGEgbmFtZWQgdGFzay4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQulQsAAAKZCwCZCwx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbUh1bmluY2x1ZGVkX3NlZ21lbnQgQW5jZXN0b3IEBEgBNAAMATh1c2VkX2JhbmR3aWR0aJ0LATRVc2VkQmFuZHdpZHRoAAE4cGFyYV9oZWFkX2hhc2idAgEkT3B0aW9uPEg+AAFgY29uc3VtZWRfZ29fYWhlYWRfc2lnbmFssQsBjE9wdGlvbjxyZWxheV9jaGFpbjo6VXBncmFkZUdvQWhlYWQ+AACdCwx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbUh1bmluY2x1ZGVkX3NlZ21lbnQ0VXNlZEJhbmR3aWR0aAAADAE0dW1wX21zZ19jb3VudBABDHUzMgABPHVtcF90b3RhbF9ieXRlcxABDHUzMgABNGhybXBfb3V0Z29pbmehCwGMQlRyZWVNYXA8UGFyYUlkLCBIcm1wQ2hhbm5lbFVwZGF0ZT4AAKELBCBCVHJlZU1hcAgESwHVAQRWAaULAAQAqQsAAAClCwx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbUh1bmluY2x1ZGVkX3NlZ21lbnRESHJtcENoYW5uZWxVcGRhdGUAAAgBJG1zZ19jb3VudBABDHUzMgABLHRvdGFsX2J5dGVzEAEMdTMyAACpCwAAAq0LAK0LAAAECNUBpQsAsQsEGE9wdGlvbgQEVAG1CwEIEE5vbmUAAAAQU29tZQQAtQsAAAEAALULDExwb2xrYWRvdF9wcmltaXRpdmVzCHY4OFVwZ3JhZGVHb0FoZWFkAAEIFEFib3J0AAAAHEdvQWhlYWQAAQAAuQsMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IdW5pbmNsdWRlZF9zZWdtZW50OFNlZ21lbnRUcmFja2VyBARIATQADAE4dXNlZF9iYW5kd2lkdGidCwE0VXNlZEJhbmR3aWR0aAABOGhybXBfd2F0ZXJtYXJrbQEBgE9wdGlvbjxyZWxheV9jaGFpbjo6QmxvY2tOdW1iZXI+AAFgY29uc3VtZWRfZ29fYWhlYWRfc2lnbmFssQsBjE9wdGlvbjxyZWxheV9jaGFpbjo6VXBncmFkZUdvQWhlYWQ+AAC9CwQYT3B0aW9uBARUAcELAQgQTm9uZQAAABBTb21lBADBCwAAAQAAwQsMTHBvbGthZG90X3ByaW1pdGl2ZXMIdjhIVXBncmFkZVJlc3RyaWN0aW9uAAEEHFByZXNlbnQAAAAAxQsMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1QcmVsYXlfc3RhdGVfc25hcHNob3RYTWVzc2FnaW5nU3RhdGVTbmFwc2hvdAAAEAEwZG1xX21xY19oZWFkNAFEcmVsYXlfY2hhaW46Okhhc2gAAZxyZWxheV9kaXNwYXRjaF9xdWV1ZV9yZW1haW5pbmdfY2FwYWNpdHnJCwGMUmVsYXlEaXNwYXRjaFF1ZXVlUmVtYWluaW5nQ2FwYWNpdHkAAUBpbmdyZXNzX2NoYW5uZWxzzQsBiFZlYzwoUGFyYUlkLCBBYnJpZGdlZEhybXBDaGFubmVsKT4AATxlZ3Jlc3NfY2hhbm5lbHPNCwGIVmVjPChQYXJhSWQsIEFicmlkZ2VkSHJtcENoYW5uZWwpPgAAyQsMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1QcmVsYXlfc3RhdGVfc25hcHNob3SMUmVsYXlEaXNwYXRjaFF1ZXVlUmVtYWluaW5nQ2FwYWNpdHkAAAgBPHJlbWFpbmluZ19jb3VudBABDHUzMgABOHJlbWFpbmluZ19zaXplEAEMdTMyAADNCwAAAtELANELAAAECNUB1QsA1QsMTHBvbGthZG90X3ByaW1pdGl2ZXMIdjhMQWJyaWRnZWRIcm1wQ2hhbm5lbAAAGAEwbWF4X2NhcGFjaXR5EAEMdTMyAAE4bWF4X3RvdGFsX3NpemUQAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplEAEMdTMyAAEkbXNnX2NvdW50EAEMdTMyAAEodG90YWxfc2l6ZRABDHUzMgABIG1xY19oZWFknQIBME9wdGlvbjxIYXNoPgAA2QsMTHBvbGthZG90X3ByaW1pdGl2ZXMIdjhkQWJyaWRnZWRIb3N0Q29uZmlndXJhdGlvbgAAKAE0bWF4X2NvZGVfc2l6ZRABDHUzMgABSG1heF9oZWFkX2RhdGFfc2l6ZRABDHUzMgABWG1heF91cHdhcmRfcXVldWVfY291bnQQAQx1MzIAAVRtYXhfdXB3YXJkX3F1ZXVlX3NpemUQAQx1MzIAAVxtYXhfdXB3YXJkX21lc3NhZ2Vfc2l6ZRABDHUzMgABkG1heF91cHdhcmRfbWVzc2FnZV9udW1fcGVyX2NhbmRpZGF0ZRABDHUzMgABiGhybXBfbWF4X21lc3NhZ2VfbnVtX3Blcl9jYW5kaWRhdGUQAQx1MzIAAWx2YWxpZGF0aW9uX3VwZ3JhZGVfY29vbGRvd24QASxCbG9ja051bWJlcgABYHZhbGlkYXRpb25fdXBncmFkZV9kZWxheRABLEJsb2NrTnVtYmVyAAFQYXN5bmNfYmFja2luZ19wYXJhbXPdCwFIQXN5bmNCYWNraW5nUGFyYW1zAADdCxBMcG9sa2Fkb3RfcHJpbWl0aXZlcwh2ODRhc3luY19iYWNraW5nSEFzeW5jQmFja2luZ1BhcmFtcwAACAFMbWF4X2NhbmRpZGF0ZV9kZXB0aBABDHUzMgABUGFsbG93ZWRfYW5jZXN0cnlfbGVuEAEMdTMyAADhCwiUY3VtdWx1c19wcmltaXRpdmVzX3BhcmFjaGFpbl9pbmhlcmVudERNZXNzYWdlUXVldWVDaGFpbgAABAA0ASRSZWxheUhhc2gAAOULBCBCVHJlZU1hcAgESwHVAQRWAeELAAQA6QsAAADpCwAAAu0LAO0LAAAECNUB4QsA8QsAAAL1CwD1CwhgcG9sa2Fkb3RfY29yZV9wcmltaXRpdmVzTE91dGJvdW5kSHJtcE1lc3NhZ2UECElkAdUBAAgBJHJlY2lwaWVudNUBAQhJZAABEGRhdGE4AUxhbGxvYzo6dmVjOjpWZWM8dTg+AAD5Cwx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbRhwYWxsZXQURXJyb3IEBFQAASBMT3ZlcmxhcHBpbmdVcGdyYWRlcwAABBkBQXR0ZW1wdCB0byB1cGdyYWRlIHZhbGlkYXRpb24gZnVuY3Rpb24gd2hpbGUgZXhpc3RpbmcgdXBncmFkZSBwZW5kaW5nLlBQcm9oaWJpdGVkQnlQb2xrYWRvdAABBE0BUG9sa2Fkb3QgY3VycmVudGx5IHByb2hpYml0cyB0aGlzIHBhcmFjaGFpbiBmcm9tIHVwZ3JhZGluZyBpdHMgdmFsaWRhdGlvbiBmdW5jdGlvbi4YVG9vQmlnAAIIRQFUaGUgc3VwcGxpZWQgdmFsaWRhdGlvbiBmdW5jdGlvbiBoYXMgY29tcGlsZWQgaW50byBhIGJsb2IgbGFyZ2VyIHRoYW4gUG9sa2Fkb3QgaXM8d2lsbGluZyB0byBydW4uaFZhbGlkYXRpb25EYXRhTm90QXZhaWxhYmxlAAMEHQFUaGUgaW5oZXJlbnQgd2hpY2ggc3VwcGxpZXMgdGhlIHZhbGlkYXRpb24gZGF0YSBkaWQgbm90IHJ1biB0aGlzIGJsb2NrLnRIb3N0Q29uZmlndXJhdGlvbk5vdEF2YWlsYWJsZQAEBCkBVGhlIGluaGVyZW50IHdoaWNoIHN1cHBsaWVzIHRoZSBob3N0IGNvbmZpZ3VyYXRpb24gZGlkIG5vdCBydW4gdGhpcyBibG9jay4wTm90U2NoZWR1bGVkAAUE2E5vIHZhbGlkYXRpb24gZnVuY3Rpb24gdXBncmFkZSBpcyBjdXJyZW50bHkgc2NoZWR1bGVkLkROb3RoaW5nQXV0aG9yaXplZAAGBJBObyBjb2RlIHVwZ3JhZGUgaGFzIGJlZW4gYXV0aG9yaXplZC4wVW5hdXRob3JpemVkAAcEvFRoZSBnaXZlbiBjb2RlIHVwZ3JhZGUgaGFzIG5vdCBiZWVuIGF1dGhvcml6ZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Lv0LDChwYWxsZXRfeGNtGHBhbGxldCxRdWVyeVN0YXR1cwQsQmxvY2tOdW1iZXIBEAEMHFBlbmRpbmcQASRyZXNwb25kZXLJBAFEVmVyc2lvbmVkTG9jYXRpb24AAUxtYXliZV9tYXRjaF9xdWVyaWVyAQwBZE9wdGlvbjxWZXJzaW9uZWRMb2NhdGlvbj4AATBtYXliZV9ub3RpZnkFDAFAT3B0aW9uPCh1OCwgdTgpPgABHHRpbWVvdXQQASxCbG9ja051bWJlcgAAADxWZXJzaW9uTm90aWZpZXIIARhvcmlnaW7JBAFEVmVyc2lvbmVkTG9jYXRpb24AASRpc19hY3RpdmUgARBib29sAAEAFFJlYWR5CAEgcmVzcG9uc2UNDAFEVmVyc2lvbmVkUmVzcG9uc2UAAQhhdBABLEJsb2NrTnVtYmVyAAIAAAEMBBhPcHRpb24EBFQByQQBCBBOb25lAAAAEFNvbWUEAMkEAAABAAAFDAQYT3B0aW9uBARUAQkMAQgQTm9uZQAAABBTb21lBAAJDAAAAQAACQwAAAQICAgADQwIDHhjbURWZXJzaW9uZWRSZXNwb25zZQABDAhWMgQAEQUBMHYyOjpSZXNwb25zZQACAAhWMwQAXQUBMHYzOjpSZXNwb25zZQADAAhWNAQAxQUBMHY0OjpSZXNwb25zZQAEAAARDAAABAgQyQQAFQwAAAQMMCgQABkMDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBHQwEUwAABAAhDAEYVmVjPFQ+AAAdDAAABAjJBBAAIQwAAAIdDAAlDAwocGFsbGV0X3hjbRhwYWxsZXRUVmVyc2lvbk1pZ3JhdGlvblN0YWdlAAEQXE1pZ3JhdGVTdXBwb3J0ZWRWZXJzaW9uAAAAXE1pZ3JhdGVWZXJzaW9uTm90aWZpZXJzAAEAUE5vdGlmeUN1cnJlbnRUYXJnZXRzBAApDAE8T3B0aW9uPFZlYzx1OD4+AAIAaE1pZ3JhdGVBbmROb3RpZnlPbGRUYXJnZXRzAAMAACkMBBhPcHRpb24EBFQBOAEIEE5vbmUAAAAQU29tZQQAOAAAAQAALQwAAAQMEAAhBgAxDAwocGFsbGV0X3hjbRhwYWxsZXRoUmVtb3RlTG9ja2VkRnVuZ2libGVSZWNvcmQISENvbnN1bWVySWRlbnRpZmllcgGQME1heENvbnN1bWVycwAAEAEYYW1vdW50GAEQdTEyOAABFG93bmVyyQQBRFZlcnNpb25lZExvY2F0aW9uAAEYbG9ja2VyyQQBRFZlcnNpb25lZExvY2F0aW9uAAEkY29uc3VtZXJzNQwB0EJvdW5kZWRWZWM8KENvbnN1bWVySWRlbnRpZmllciwgdTEyOCksIE1heENvbnN1bWVycz4AADUMDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBOQwEUwAABAA9DAEYVmVjPFQ+AAA5DAAABAiQGAA9DAAAAjkMAEEMDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBRQwEUwAABABJDAEYVmVjPFQ+AABFDAAABAgYyQQASQwAAAJFDABNDAwocGFsbGV0X3hjbRhwYWxsZXQURXJyb3IEBFQAAWAsVW5yZWFjaGFibGUAAAhdAVRoZSBkZXNpcmVkIGRlc3RpbmF0aW9uIHdhcyB1bnJlYWNoYWJsZSwgZ2VuZXJhbGx5IGJlY2F1c2UgdGhlcmUgaXMgYSBubyB3YXkgb2Ygcm91dGluZxh0byBpdC4sU2VuZEZhaWx1cmUAAQhBAVRoZXJlIHdhcyBzb21lIG90aGVyIGlzc3VlIChpLmUuIG5vdCB0byBkbyB3aXRoIHJvdXRpbmcpIGluIHNlbmRpbmcgdGhlIG1lc3NhZ2UuyFBlcmhhcHMgYSBsYWNrIG9mIHNwYWNlIGZvciBidWZmZXJpbmcgdGhlIG1lc3NhZ2UuIEZpbHRlcmVkAAIEnFRoZSBtZXNzYWdlIGV4ZWN1dGlvbiBmYWlscyB0aGUgZmlsdGVyLkhVbndlaWdoYWJsZU1lc3NhZ2UAAwS0VGhlIG1lc3NhZ2UncyB3ZWlnaHQgY291bGQgbm90IGJlIGRldGVybWluZWQuYERlc3RpbmF0aW9uTm90SW52ZXJ0aWJsZQAEBNxUaGUgZGVzdGluYXRpb24gYExvY2F0aW9uYCBwcm92aWRlZCBjYW5ub3QgYmUgaW52ZXJ0ZWQuFEVtcHR5AAUEgFRoZSBhc3NldHMgdG8gYmUgc2VudCBhcmUgZW1wdHkuOENhbm5vdFJlYW5jaG9yAAYENQFDb3VsZCBub3QgcmUtYW5jaG9yIHRoZSBhc3NldHMgdG8gZGVjbGFyZSB0aGUgZmVlcyBmb3IgdGhlIGRlc3RpbmF0aW9uIGNoYWluLjRUb29NYW55QXNzZXRzAAcExFRvbyBtYW55IGFzc2V0cyBoYXZlIGJlZW4gYXR0ZW1wdGVkIGZvciB0cmFuc2Zlci40SW52YWxpZE9yaWdpbgAIBHhPcmlnaW4gaXMgaW52YWxpZCBmb3Igc2VuZGluZy4oQmFkVmVyc2lvbgAJBCEBVGhlIHZlcnNpb24gb2YgdGhlIGBWZXJzaW9uZWRgIHZhbHVlIHVzZWQgaXMgbm90IGFibGUgdG8gYmUgaW50ZXJwcmV0ZWQuLEJhZExvY2F0aW9uAAoIQQFUaGUgZ2l2ZW4gbG9jYXRpb24gY291bGQgbm90IGJlIHVzZWQgKGUuZy4gYmVjYXVzZSBpdCBjYW5ub3QgYmUgZXhwcmVzc2VkIGluIHRoZWBkZXNpcmVkIHZlcnNpb24gb2YgWENNKS44Tm9TdWJzY3JpcHRpb24ACwS8VGhlIHJlZmVyZW5jZWQgc3Vic2NyaXB0aW9uIGNvdWxkIG5vdCBiZSBmb3VuZC5EQWxyZWFkeVN1YnNjcmliZWQADAQRAVRoZSBsb2NhdGlvbiBpcyBpbnZhbGlkIHNpbmNlIGl0IGFscmVhZHkgaGFzIGEgc3Vic2NyaXB0aW9uIGZyb20gdXMuWENhbm5vdENoZWNrT3V0VGVsZXBvcnQADQQpAUNvdWxkIG5vdCBjaGVjay1vdXQgdGhlIGFzc2V0cyBmb3IgdGVsZXBvcnRhdGlvbiB0byB0aGUgZGVzdGluYXRpb24gY2hhaW4uKExvd0JhbGFuY2UADgRBAVRoZSBvd25lciBkb2VzIG5vdCBvd24gKGFsbCkgb2YgdGhlIGFzc2V0IHRoYXQgdGhleSB3aXNoIHRvIGRvIHRoZSBvcGVyYXRpb24gb24uMFRvb01hbnlMb2NrcwAPBMBUaGUgYXNzZXQgb3duZXIgaGFzIHRvbyBtYW55IGxvY2tzIG9uIHRoZSBhc3NldC5MQWNjb3VudE5vdFNvdmVyZWlnbgAQBDEBVGhlIGdpdmVuIGFjY291bnQgaXMgbm90IGFuIGlkZW50aWZpYWJsZSBzb3ZlcmVpZ24gYWNjb3VudCBmb3IgYW55IGxvY2F0aW9uLihGZWVzTm90TWV0ABEEKQFUaGUgb3BlcmF0aW9uIHJlcXVpcmVkIGZlZXMgdG8gYmUgcGFpZCB3aGljaCB0aGUgaW5pdGlhdG9yIGNvdWxkIG5vdCBtZWV0LjBMb2NrTm90Rm91bmQAEgT0QSByZW1vdGUgbG9jayB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGRhdGEgY291bGQgbm90IGJlIGZvdW5kLhRJblVzZQATBEkBVGhlIHVubG9jayBvcGVyYXRpb24gY2Fubm90IHN1Y2NlZWQgYmVjYXVzZSB0aGVyZSBhcmUgc3RpbGwgY29uc3VtZXJzIG9mIHRoZSBsb2NrLmhJbnZhbGlkQXNzZXRVbmtub3duUmVzZXJ2ZQAVBPBJbnZhbGlkIGFzc2V0LCByZXNlcnZlIGNoYWluIGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkIGZvciBpdC54SW52YWxpZEFzc2V0VW5zdXBwb3J0ZWRSZXNlcnZlABYERQFJbnZhbGlkIGFzc2V0LCBkbyBub3Qgc3VwcG9ydCByZW1vdGUgYXNzZXQgcmVzZXJ2ZXMgd2l0aCBkaWZmZXJlbnQgZmVlcyByZXNlcnZlcy48VG9vTWFueVJlc2VydmVzABcESQFUb28gbWFueSBhc3NldHMgd2l0aCBkaWZmZXJlbnQgcmVzZXJ2ZSBsb2NhdGlvbnMgaGF2ZSBiZWVuIGF0dGVtcHRlZCBmb3IgdHJhbnNmZXIuYExvY2FsRXhlY3V0aW9uSW5jb21wbGV0ZQAYBHxMb2NhbCBYQ00gZXhlY3V0aW9uIGluY29tcGxldGUuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LlEMDExib3VuZGVkX2NvbGxlY3Rpb25zRGJvdW5kZWRfYnRyZWVfc2V0PEJvdW5kZWRCVHJlZVNldAgEVAHVAQRTAAAEAFUMASxCVHJlZVNldDxUPgAAVQwEIEJUcmVlU2V0BARUAdUBAAQAWQwAAABZDAAAAtUBAF0MDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBYQwEUwAABABpDAEYVmVjPFQ+AABhDAhkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZVhPdXRib3VuZENoYW5uZWxEZXRhaWxzAAAUASRyZWNpcGllbnTVAQEYUGFyYUlkAAEUc3RhdGVlDAE0T3V0Ym91bmRTdGF0ZQABNHNpZ25hbHNfZXhpc3QgARBib29sAAEsZmlyc3RfaW5kZXjcAQx1MTYAAShsYXN0X2luZGV43AEMdTE2AABlDAhkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZTRPdXRib3VuZFN0YXRlAAEICE9rAAAAJFN1c3BlbmRlZAABAABpDAAAAmEMAG0MAAAECNUB3ABxDAxMYm91bmRlZF9jb2xsZWN0aW9uc0B3ZWFrX2JvdW5kZWRfdmVjOFdlYWtCb3VuZGVkVmVjCARUAQgEUwAABAA4ARhWZWM8VD4AAHUMCGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlPFF1ZXVlQ29uZmlnRGF0YQAADAFEc3VzcGVuZF90aHJlc2hvbGQQAQx1MzIAAThkcm9wX3RocmVzaG9sZBABDHUzMgABQHJlc3VtZV90aHJlc2hvbGQQAQx1MzIAAHkMDGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlGHBhbGxldBRFcnJvcgQEVAABFDhCYWRRdWV1ZUNvbmZpZwAABBEBU2V0dGluZyB0aGUgcXVldWUgY29uZmlnIGZhaWxlZCBzaW5jZSBvbmUgb2YgaXRzIHZhbHVlcyB3YXMgaW52YWxpZC5AQWxyZWFkeVN1c3BlbmRlZAABBIxUaGUgZXhlY3V0aW9uIGlzIGFscmVhZHkgc3VzcGVuZGVkLjhBbHJlYWR5UmVzdW1lZAACBIRUaGUgZXhlY3V0aW9uIGlzIGFscmVhZHkgcmVzdW1lZC50VG9vTWFueUFjdGl2ZU91dGJvdW5kQ2hhbm5lbHMAAwSwVGhlcmUgYXJlIHRvbyBtYW55IGFjdGl2ZSBvdXRib3VuZCBjaGFubmVscy4YVG9vQmlnAAQEXFRoZSBtZXNzYWdlIGlzIHRvbyBiaWcuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Ln0MCFBwYWxsZXRfbWVzc2FnZV9xdWV1ZSRCb29rU3RhdGUENE1lc3NhZ2VPcmlnaW4BLQYAGAEUYmVnaW4QASRQYWdlSW5kZXgAAQxlbmQQASRQYWdlSW5kZXgAARRjb3VudBABJFBhZ2VJbmRleAABQHJlYWR5X25laWdoYm91cnOBDAGET3B0aW9uPE5laWdoYm91cnM8TWVzc2FnZU9yaWdpbj4+AAE0bWVzc2FnZV9jb3VudDABDHU2NAABEHNpemUwAQx1NjQAAIEMBBhPcHRpb24EBFQBhQwBCBBOb25lAAAAEFNvbWUEAIUMAAABAACFDAhQcGFsbGV0X21lc3NhZ2VfcXVldWUoTmVpZ2hib3VycwQ0TWVzc2FnZU9yaWdpbgEtBgAIARBwcmV2LQYBNE1lc3NhZ2VPcmlnaW4AARBuZXh0LQYBNE1lc3NhZ2VPcmlnaW4AAIkMAAAECC0GEACNDAhQcGFsbGV0X21lc3NhZ2VfcXVldWUQUGFnZQgQU2l6ZQEQIEhlYXBTaXplAAAYASRyZW1haW5pbmcQARBTaXplAAE4cmVtYWluaW5nX3NpemUQARBTaXplAAEsZmlyc3RfaW5kZXgQARBTaXplAAEUZmlyc3QQARBTaXplAAEQbGFzdBABEFNpemUAARBoZWFwkQwBnEJvdW5kZWRWZWM8dTgsIEludG9VMzI8SGVhcFNpemUsIFNpemU+PgAAkQwMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEIBFMAAAQAOAEYVmVjPFQ+AACVDAxQcGFsbGV0X21lc3NhZ2VfcXVldWUYcGFsbGV0FEVycm9yBARUAAEkLE5vdFJlYXBhYmxlAAAISQFQYWdlIGlzIG5vdCByZWFwYWJsZSBiZWNhdXNlIGl0IGhhcyBpdGVtcyByZW1haW5pbmcgdG8gYmUgcHJvY2Vzc2VkIGFuZCBpcyBub3Qgb2xkHGVub3VnaC4YTm9QYWdlAAEEhFBhZ2UgdG8gYmUgcmVhcGVkIGRvZXMgbm90IGV4aXN0LiROb01lc3NhZ2UAAgSoVGhlIHJlZmVyZW5jZWQgbWVzc2FnZSBjb3VsZCBub3QgYmUgZm91bmQuQEFscmVhZHlQcm9jZXNzZWQAAwQBAVRoZSBtZXNzYWdlIHdhcyBhbHJlYWR5IHByb2Nlc3NlZCBhbmQgY2Fubm90IGJlIHByb2Nlc3NlZCBhZ2Fpbi4YUXVldWVkAAQErFRoZSBtZXNzYWdlIGlzIHF1ZXVlZCBmb3IgZnV0dXJlIGV4ZWN1dGlvbi5ISW5zdWZmaWNpZW50V2VpZ2h0AAUEGQFUaGVyZSBpcyB0ZW1wb3JhcmlseSBub3QgZW5vdWdoIHdlaWdodCB0byBjb250aW51ZSBzZXJ2aWNpbmcgbWVzc2FnZXMuYFRlbXBvcmFyaWx5VW5wcm9jZXNzYWJsZQAGEKhUaGlzIG1lc3NhZ2UgaXMgdGVtcG9yYXJpbHkgdW5wcm9jZXNzYWJsZS4AWQFTdWNoIGVycm9ycyBhcmUgZXhwZWN0ZWQsIGJ1dCBub3QgZ3VhcmFudGVlZCwgdG8gcmVzb2x2ZSB0aGVtc2VsdmVzIGV2ZW50dWFsbHkgdGhyb3VnaCRyZXRyeWluZy4sUXVldWVQYXVzZWQABwzsVGhlIHF1ZXVlIGlzIHBhdXNlZCBhbmQgbm8gbWVzc2FnZSBjYW4gYmUgZXhlY3V0ZWQgZnJvbSBpdC4AHQFUaGlzIGNhbiBjaGFuZ2UgYXQgYW55IHRpbWUgYW5kIG1heSByZXNvbHZlIGluIHRoZSBmdXR1cmUgYnkgcmUtdHJ5aW5nLkxSZWN1cnNpdmVEaXNhbGxvd2VkAAgEMQFBbm90aGVyIGNhbGwgaXMgaW4gcHJvZ3Jlc3MgYW5kIG5lZWRzIHRvIGZpbmlzaCBiZWZvcmUgdGhpcyBjYWxsIGNhbiBoYXBwZW4uBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LpkMDCBvcm1sX3hjbRhtb2R1bGUURXJyb3IEBFQAAQwsVW5yZWFjaGFibGUAAAgNAVRoZSBtZXNzYWdlIGFuZCBkZXN0aW5hdGlvbiBjb21iaW5hdGlvbiB3YXMgbm90IHJlY29nbml6ZWQgYXMgYmVpbmcocmVhY2hhYmxlLixTZW5kRmFpbHVyZQABCAUBVGhlIG1lc3NhZ2UgYW5kIGRlc3RpbmF0aW9uIHdhcyByZWNvZ25pemVkIGFzIGJlaW5nIHJlYWNoYWJsZSBidXSUdGhlIG9wZXJhdGlvbiBjb3VsZCBub3QgYmUgY29tcGxldGVkLihCYWRWZXJzaW9uAAII7FRoZSB2ZXJzaW9uIG9mIHRoZSBgVmVyc2lvbmVkYCB2YWx1ZSB1c2VkIGlzIG5vdCBhYmxlIHRvIGJlMGludGVycHJldGVkLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6dDAwwb3JtbF94dG9rZW5zGG1vZHVsZRRFcnJvcgQEVAABUERBc3NldEhhc05vUmVzZXJ2ZQAABHhBc3NldCBoYXMgbm8gcmVzZXJ2ZSBsb2NhdGlvbi5UTm90Q3Jvc3NDaGFpblRyYW5zZmVyAAEEZE5vdCBjcm9zcy1jaGFpbiB0cmFuc2Zlci4sSW52YWxpZERlc3QAAgR0SW52YWxpZCB0cmFuc2ZlciBkZXN0aW5hdGlvbi6ETm90Q3Jvc3NDaGFpblRyYW5zZmVyYWJsZUN1cnJlbmN5AAMEpEN1cnJlbmN5IGlzIG5vdCBjcm9zcy1jaGFpbiB0cmFuc2ZlcmFibGUuSFVud2VpZ2hhYmxlTWVzc2FnZQAEBLRUaGUgbWVzc2FnZSdzIHdlaWdodCBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZC5IWGNtRXhlY3V0aW9uRmFpbGVkAAUEVFhDTSBleGVjdXRpb24gZmFpbGVkLjhDYW5ub3RSZWFuY2hvcgAGCOhDb3VsZCBub3QgcmUtYW5jaG9yIHRoZSBhc3NldHMgdG8gZGVjbGFyZSB0aGUgZmVlcyBmb3IgdGhlSGRlc3RpbmF0aW9uIGNoYWluLjxJbnZhbGlkQW5jZXN0cnkABwTEQ291bGQgbm90IGdldCBhbmNlc3RyeSBvZiBhc3NldCByZXNlcnZlIGxvY2F0aW9uLjBJbnZhbGlkQXNzZXQACARUVGhlIEFzc2V0IGlzIGludmFsaWQuYERlc3RpbmF0aW9uTm90SW52ZXJ0aWJsZQAJBNxUaGUgZGVzdGluYXRpb24gYExvY2F0aW9uYCBwcm92aWRlZCBjYW5ub3QgYmUgaW52ZXJ0ZWQuKEJhZFZlcnNpb24ACgjsVGhlIHZlcnNpb24gb2YgdGhlIGBWZXJzaW9uZWRgIHZhbHVlIHVzZWQgaXMgbm90IGFibGUgdG8gYmUwaW50ZXJwcmV0ZWQudERpc3RpbmN0UmVzZXJ2ZUZvckFzc2V0QW5kRmVlAAsI/FdlIHRyaWVkIHNlbmRpbmcgZGlzdGluY3QgYXNzZXQgYW5kIGZlZSBidXQgdGhleSBoYXZlIGRpZmZlcmVudDxyZXNlcnZlIGNoYWlucy4cWmVyb0ZlZQAMBEBUaGUgZmVlIGlzIHplcm8uKFplcm9BbW91bnQADQSUVGhlIHRyYW5zZmVyaW5nIGFzc2V0IGFtb3VudCBpcyB6ZXJvLlhUb29NYW55QXNzZXRzQmVpbmdTZW50AA4E0FRoZSBudW1iZXIgb2YgYXNzZXRzIHRvIGJlIHNlbnQgaXMgb3ZlciB0aGUgbWF4aW11bS5UQXNzZXRJbmRleE5vbkV4aXN0ZW50AA8E2FRoZSBzcGVjaWZpZWQgaW5kZXggZG9lcyBub3QgZXhpc3QgaW4gYSBBc3NldHMgc3RydWN0LjBGZWVOb3RFbm91Z2gAEARIRmVlIGlzIG5vdCBlbm91Z2guUE5vdFN1cHBvcnRlZExvY2F0aW9uABEEWE5vdCBzdXBwb3J0ZWQgTG9jYXRpb25MTWluWGNtRmVlTm90RGVmaW5lZAASBNRNaW5YY21GZWUgbm90IHJlZ2lzdGVyZWQgZm9yIGNlcnRhaW4gcmVzZXJ2ZSBsb2NhdGlvbixSYXRlTGltaXRlZAATBKRBc3NldCB0cmFuc2ZlciBpcyBsaW1pdGVkIGJ5IFJhdGVMaW1pdGVyLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6hDAAABAiVAZUBAKUMAAAECJUBOACpDAxMb3JtbF91bmtub3duX3Rva2Vucxhtb2R1bGUURXJyb3IEBFQAAQw0QmFsYW5jZVRvb0xvdwAABFxUaGUgYmFsYW5jZSBpcyB0b28gbG93LjxCYWxhbmNlT3ZlcmZsb3cAAQS0VGhlIG9wZXJhdGlvbiB3aWxsIGNhdXNlIGJhbGFuY2UgdG8gb3ZlcmZsb3cuOFVuaGFuZGxlZEFzc2V0AAIEQFVuaGFuZGxlZCBhc3NldC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQurQwMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGxDARTAAAEALUMARhWZWM8VD4AALEMDGRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uGHBhbGxldDRDYW5kaWRhdGVJbmZvCCRBY2NvdW50SWQBABxCYWxhbmNlARgACAEMd2hvAAEkQWNjb3VudElkAAEcZGVwb3NpdBgBHEJhbGFuY2UAALUMAAACsQwAuQwMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0FEVycm9yBARUAAFERFRvb01hbnlDYW5kaWRhdGVzAAAEjFRoZSBwYWxsZXQgaGFzIHRvbyBtYW55IGNhbmRpZGF0ZXMuXFRvb0Zld0VsaWdpYmxlQ29sbGF0b3JzAAEErExlYXZpbmcgd291bGQgcmVzdWx0IGluIHRvbyBmZXcgY2FuZGlkYXRlcy5AQWxyZWFkeUNhbmRpZGF0ZQACBHxBY2NvdW50IGlzIGFscmVhZHkgYSBjYW5kaWRhdGUuME5vdENhbmRpZGF0ZQADBGxBY2NvdW50IGlzIG5vdCBhIGNhbmRpZGF0ZS5QVG9vTWFueUludnVsbmVyYWJsZXMABASEVGhlcmUgYXJlIHRvbyBtYW55IEludnVsbmVyYWJsZXMuTEFscmVhZHlJbnZ1bG5lcmFibGUABQSMQWNjb3VudCBpcyBhbHJlYWR5IGFuIEludnVsbmVyYWJsZS48Tm90SW52dWxuZXJhYmxlAAYEfEFjY291bnQgaXMgbm90IGFuIEludnVsbmVyYWJsZS5cTm9Bc3NvY2lhdGVkVmFsaWRhdG9ySWQABwScQWNjb3VudCBoYXMgbm8gYXNzb2NpYXRlZCB2YWxpZGF0b3IgSUQuWFZhbGlkYXRvck5vdFJlZ2lzdGVyZWQACASMVmFsaWRhdG9yIElEIGlzIG5vdCB5ZXQgcmVnaXN0ZXJlZC5sSW5zZXJ0VG9DYW5kaWRhdGVMaXN0RmFpbGVkAAkEnENvdWxkIG5vdCBpbnNlcnQgaW4gdGhlIGNhbmRpZGF0ZSBsaXN0LnRSZW1vdmVGcm9tQ2FuZGlkYXRlTGlzdEZhaWxlZAAKBKRDb3VsZCBub3QgcmVtb3ZlIGZyb20gdGhlIGNhbmRpZGF0ZSBsaXN0LjREZXBvc2l0VG9vTG93AAsE9E5ldyBkZXBvc2l0IGFtb3VudCB3b3VsZCBiZSBiZWxvdyB0aGUgbWluaW11bSBjYW5kaWRhY3kgYm9uZC5kVXBkYXRlQ2FuZGlkYXRlTGlzdEZhaWxlZAAMBJBDb3VsZCBub3QgdXBkYXRlIHRoZSBjYW5kaWRhdGUgbGlzdC5ASW5zdWZmaWNpZW50Qm9uZAANBCkBRGVwb3NpdCBhbW91bnQgaXMgdG9vIGxvdyB0byB0YWtlIHRoZSB0YXJnZXQncyBzbG90IGluIHRoZSBjYW5kaWRhdGUgbGlzdC5QVGFyZ2V0SXNOb3RDYW5kaWRhdGUADgQtAVRoZSB0YXJnZXQgYWNjb3VudCB0byBiZSByZXBsYWNlZCBpbiB0aGUgY2FuZGlkYXRlIGxpc3QgaXMgbm90IGEgY2FuZGlkYXRlLkBJZGVudGljYWxEZXBvc2l0AA8EDQFUaGUgdXBkYXRlZCBkZXBvc2l0IGFtb3VudCBpcyBlcXVhbCB0byB0aGUgYW1vdW50IGFscmVhZHkgcmVzZXJ2ZWQuQEludmFsaWRVbnJlc2VydmUAEAQ9AUNhbm5vdCBsb3dlciBjYW5kaWRhY3kgYm9uZCB3aGlsZSBvY2N1cHlpbmcgYSBmdXR1cmUgY29sbGF0b3Igc2xvdCBpbiB0aGUgbGlzdC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuvQwAAALBDADBDAAABAgASQYAxQwAAAQIyQw4AMkMDBxzcF9jb3JlGGNyeXB0byRLZXlUeXBlSWQAAAQASAEcW3U4OyA0XQAAzQwMOHBhbGxldF9zZXNzaW9uGHBhbGxldBRFcnJvcgQEVAABFDBJbnZhbGlkUHJvb2YAAARgSW52YWxpZCBvd25lcnNoaXAgcHJvb2YuXE5vQXNzb2NpYXRlZFZhbGlkYXRvcklkAAEEnE5vIGFzc29jaWF0ZWQgdmFsaWRhdG9yIElEIGZvciBhY2NvdW50LjREdXBsaWNhdGVkS2V5AAIEZFJlZ2lzdGVyZWQgZHVwbGljYXRlIGtleS4YTm9LZXlzAAMEpE5vIGtleXMgYXJlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGFjY291bnQuJE5vQWNjb3VudAAEBBkBS2V5IHNldHRpbmcgYWNjb3VudCBpcyBub3QgbGl2ZSwgc28gaXQncyBpbXBvc3NpYmxlIHRvIGFzc29jaWF0ZSBrZXlzLgR0RXJyb3IgZm9yIHRoZSBzZXNzaW9uIHBhbGxldC7RDAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAU0GBFMAAAQA1QwBGFZlYzxUPgAA1QwAAAJNBgDZDAhIc3BfY29uc2Vuc3VzX3Nsb3RzEFNsb3QAAAQAMAEMdTY0AADdDAAABAjZDBAA4QwMTGJvdW5kZWRfY29sbGVjdGlvbnNEYm91bmRlZF9idHJlZV9tYXA8Qm91bmRlZEJUcmVlTWFwDARLAeUMBFYB6QwEUwAABAD5DAE4QlRyZWVNYXA8SywgVj4AAOUMAAAECBUCdQMA6QwMRHBhbGxldF9lbWFfb3JhY2xlFHR5cGVzLE9yYWNsZUVudHJ5BCxCbG9ja051bWJlcgEQABABFHByaWNl7QwBFFByaWNlAAEYdm9sdW1l8QwBPFZvbHVtZTxCYWxhbmNlPgABJGxpcXVpZGl0efUMAUhMaXF1aWRpdHk8QmFsYW5jZT4AASh1cGRhdGVkX2F0EAEsQmxvY2tOdW1iZXIAAO0MDDRoeWRyYV9keF9tYXRoFHJhdGlvFFJhdGlvAAAIAQRuGAEQdTEyOAABBGQYARB1MTI4AADxDAw4aHlkcmFkeF90cmFpdHMYb3JhY2xlGFZvbHVtZQQcQmFsYW5jZQEYABABEGFfaW4YARxCYWxhbmNlAAEUYl9vdXQYARxCYWxhbmNlAAEUYV9vdXQYARxCYWxhbmNlAAEQYl9pbhgBHEJhbGFuY2UAAPUMDDhoeWRyYWR4X3RyYWl0cxhvcmFjbGUkTGlxdWlkaXR5BBxCYWxhbmNlARgACAEEYRgBHEJhbGFuY2UAAQRiGAEcQmFsYW5jZQAA+QwEIEJUcmVlTWFwCARLAeUMBFYB6QwABAD9DAAAAP0MAAACAQ0AAQ0AAAQI5QzpDAAFDQAABAwVAnUD2QMACQ0AAAQI6QwQAA0NDExib3VuZGVkX2NvbGxlY3Rpb25zRGJvdW5kZWRfYnRyZWVfc2V0PEJvdW5kZWRCVHJlZVNldAgEVAHlDARTAAAEABENASxCVHJlZVNldDxUPgAAEQ0EIEJUcmVlU2V0BARUAeUMAAQAFQ0AAAAVDQAAAuUMABkNDERwYWxsZXRfZW1hX29yYWNsZRhwYWxsZXQURXJyb3IEBFQAARRQVG9vTWFueVVuaXF1ZUVudHJpZXMAAABAT25UcmFkZVZhbHVlWmVybwABADhPcmFjbGVOb3RGb3VuZAACADRBc3NldE5vdEZvdW5kAAMEPEFzc2V0IG5vdCBmb3VuZGBQcmljZU91dHNpZGVBbGxvd2VkUmFuZ2UABAS4VGhlIG5ldyBwcmljZSBpcyBvdXRzaWRlIHRoZSBtYXggYWxsb3dlZCByYW5nZQSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4dDQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAZkHBFMAAAQAlQcBGFZlYzxUPgAAIQ0MQHBhbGxldF9icm9hZGNhc3QYcGFsbGV0FEVycm9yBARUAAEIaEV4ZWN1dGlvbkNhbGxTdGFja092ZXJmbG93AAAE9FRoZSBleGVjdXRpb24gY29udGV4dCBjYWxsIHN0YWNrIGhhcyByZWFjaGVkIGl0cyBtYXhpbXVtIHNpemVsRXhlY3V0aW9uQ2FsbFN0YWNrVW5kZXJmbG93AAEEDQFUaGUgZXhlY3V0aW9uIGNvbnRleHQgY2FsbCBzdGFjayBpcyBlbXB0eSwgdW5hYmxlIHRvIGRlY3JlYXNlIGxldmVsBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LiUNAAAEKCkNLQ0xDTUNOQ1BDUUNSQ1NDVENACkNEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uc1RjaGVja19ub25femVyb19zZW5kZXJIQ2hlY2tOb25aZXJvU2VuZGVyBARUAAAAAC0NEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uc0hjaGVja19zcGVjX3ZlcnNpb25AQ2hlY2tTcGVjVmVyc2lvbgQEVAAAAAAxDRAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnNAY2hlY2tfdHhfdmVyc2lvbjhDaGVja1R4VmVyc2lvbgQEVAAAAAA1DRAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnM0Y2hlY2tfZ2VuZXNpczBDaGVja0dlbmVzaXMEBFQAAAAAOQ0QMGZyYW1lX3N5c3RlbShleHRlbnNpb25zPGNoZWNrX21vcnRhbGl0eThDaGVja01vcnRhbGl0eQQEVAAABAA9DQEMRXJhAAA9DRAoc3BfcnVudGltZRxnZW5lcmljDGVyYQxFcmEAAQEEIEltbW9ydGFsAAAAHE1vcnRhbDEEAAgAAAEAHE1vcnRhbDIEAAgAAAIAHE1vcnRhbDMEAAgAAAMAHE1vcnRhbDQEAAgAAAQAHE1vcnRhbDUEAAgAAAUAHE1vcnRhbDYEAAgAAAYAHE1vcnRhbDcEAAgAAAcAHE1vcnRhbDgEAAgAAAgAHE1vcnRhbDkEAAgAAAkAIE1vcnRhbDEwBAAIAAAKACBNb3J0YWwxMQQACAAACwAgTW9ydGFsMTIEAAgAAAwAIE1vcnRhbDEzBAAIAAANACBNb3J0YWwxNAQACAAADgAgTW9ydGFsMTUEAAgAAA8AIE1vcnRhbDE2BAAIAAAQACBNb3J0YWwxNwQACAAAEQAgTW9ydGFsMTgEAAgAABIAIE1vcnRhbDE5BAAIAAATACBNb3J0YWwyMAQACAAAFAAgTW9ydGFsMjEEAAgAABUAIE1vcnRhbDIyBAAIAAAWACBNb3J0YWwyMwQACAAAFwAgTW9ydGFsMjQEAAgAABgAIE1vcnRhbDI1BAAIAAAZACBNb3J0YWwyNgQACAAAGgAgTW9ydGFsMjcEAAgAABsAIE1vcnRhbDI4BAAIAAAcACBNb3J0YWwyOQQACAAAHQAgTW9ydGFsMzAEAAgAAB4AIE1vcnRhbDMxBAAIAAAfACBNb3J0YWwzMgQACAAAIAAgTW9ydGFsMzMEAAgAACEAIE1vcnRhbDM0BAAIAAAiACBNb3J0YWwzNQQACAAAIwAgTW9ydGFsMzYEAAgAACQAIE1vcnRhbDM3BAAIAAAlACBNb3J0YWwzOAQACAAAJgAgTW9ydGFsMzkEAAgAACcAIE1vcnRhbDQwBAAIAAAoACBNb3J0YWw0MQQACAAAKQAgTW9ydGFsNDIEAAgAACoAIE1vcnRhbDQzBAAIAAArACBNb3J0YWw0NAQACAAALAAgTW9ydGFsNDUEAAgAAC0AIE1vcnRhbDQ2BAAIAAAuACBNb3J0YWw0NwQACAAALwAgTW9ydGFsNDgEAAgAADAAIE1vcnRhbDQ5BAAIAAAxACBNb3J0YWw1MAQACAAAMgAgTW9ydGFsNTEEAAgAADMAIE1vcnRhbDUyBAAIAAA0ACBNb3J0YWw1MwQACAAANQAgTW9ydGFsNTQEAAgAADYAIE1vcnRhbDU1BAAIAAA3ACBNb3J0YWw1NgQACAAAOAAgTW9ydGFsNTcEAAgAADkAIE1vcnRhbDU4BAAIAAA6ACBNb3J0YWw1OQQACAAAOwAgTW9ydGFsNjAEAAgAADwAIE1vcnRhbDYxBAAIAAA9ACBNb3J0YWw2MgQACAAAPgAgTW9ydGFsNjMEAAgAAD8AIE1vcnRhbDY0BAAIAABAACBNb3J0YWw2NQQACAAAQQAgTW9ydGFsNjYEAAgAAEIAIE1vcnRhbDY3BAAIAABDACBNb3J0YWw2OAQACAAARAAgTW9ydGFsNjkEAAgAAEUAIE1vcnRhbDcwBAAIAABGACBNb3J0YWw3MQQACAAARwAgTW9ydGFsNzIEAAgAAEgAIE1vcnRhbDczBAAIAABJACBNb3J0YWw3NAQACAAASgAgTW9ydGFsNzUEAAgAAEsAIE1vcnRhbDc2BAAIAABMACBNb3J0YWw3NwQACAAATQAgTW9ydGFsNzgEAAgAAE4AIE1vcnRhbDc5BAAIAABPACBNb3J0YWw4MAQACAAAUAAgTW9ydGFsODEEAAgAAFEAIE1vcnRhbDgyBAAIAABSACBNb3J0YWw4MwQACAAAUwAgTW9ydGFsODQEAAgAAFQAIE1vcnRhbDg1BAAIAABVACBNb3J0YWw4NgQACAAAVgAgTW9ydGFsODcEAAgAAFcAIE1vcnRhbDg4BAAIAABYACBNb3J0YWw4OQQACAAAWQAgTW9ydGFsOTAEAAgAAFoAIE1vcnRhbDkxBAAIAABbACBNb3J0YWw5MgQACAAAXAAgTW9ydGFsOTMEAAgAAF0AIE1vcnRhbDk0BAAIAABeACBNb3J0YWw5NQQACAAAXwAgTW9ydGFsOTYEAAgAAGAAIE1vcnRhbDk3BAAIAABhACBNb3J0YWw5OAQACAAAYgAgTW9ydGFsOTkEAAgAAGMAJE1vcnRhbDEwMAQACAAAZAAkTW9ydGFsMTAxBAAIAABlACRNb3J0YWwxMDIEAAgAAGYAJE1vcnRhbDEwMwQACAAAZwAkTW9ydGFsMTA0BAAIAABoACRNb3J0YWwxMDUEAAgAAGkAJE1vcnRhbDEwNgQACAAAagAkTW9ydGFsMTA3BAAIAABrACRNb3J0YWwxMDgEAAgAAGwAJE1vcnRhbDEwOQQACAAAbQAkTW9ydGFsMTEwBAAIAABuACRNb3J0YWwxMTEEAAgAAG8AJE1vcnRhbDExMgQACAAAcAAkTW9ydGFsMTEzBAAIAABxACRNb3J0YWwxMTQEAAgAAHIAJE1vcnRhbDExNQQACAAAcwAkTW9ydGFsMTE2BAAIAAB0ACRNb3J0YWwxMTcEAAgAAHUAJE1vcnRhbDExOAQACAAAdgAkTW9ydGFsMTE5BAAIAAB3ACRNb3J0YWwxMjAEAAgAAHgAJE1vcnRhbDEyMQQACAAAeQAkTW9ydGFsMTIyBAAIAAB6ACRNb3J0YWwxMjMEAAgAAHsAJE1vcnRhbDEyNAQACAAAfAAkTW9ydGFsMTI1BAAIAAB9ACRNb3J0YWwxMjYEAAgAAH4AJE1vcnRhbDEyNwQACAAAfwAkTW9ydGFsMTI4BAAIAACAACRNb3J0YWwxMjkEAAgAAIEAJE1vcnRhbDEzMAQACAAAggAkTW9ydGFsMTMxBAAIAACDACRNb3J0YWwxMzIEAAgAAIQAJE1vcnRhbDEzMwQACAAAhQAkTW9ydGFsMTM0BAAIAACGACRNb3J0YWwxMzUEAAgAAIcAJE1vcnRhbDEzNgQACAAAiAAkTW9ydGFsMTM3BAAIAACJACRNb3J0YWwxMzgEAAgAAIoAJE1vcnRhbDEzOQQACAAAiwAkTW9ydGFsMTQwBAAIAACMACRNb3J0YWwxNDEEAAgAAI0AJE1vcnRhbDE0MgQACAAAjgAkTW9ydGFsMTQzBAAIAACPACRNb3J0YWwxNDQEAAgAAJAAJE1vcnRhbDE0NQQACAAAkQAkTW9ydGFsMTQ2BAAIAACSACRNb3J0YWwxNDcEAAgAAJMAJE1vcnRhbDE0OAQACAAAlAAkTW9ydGFsMTQ5BAAIAACVACRNb3J0YWwxNTAEAAgAAJYAJE1vcnRhbDE1MQQACAAAlwAkTW9ydGFsMTUyBAAIAACYACRNb3J0YWwxNTMEAAgAAJkAJE1vcnRhbDE1NAQACAAAmgAkTW9ydGFsMTU1BAAIAACbACRNb3J0YWwxNTYEAAgAAJwAJE1vcnRhbDE1NwQACAAAnQAkTW9ydGFsMTU4BAAIAACeACRNb3J0YWwxNTkEAAgAAJ8AJE1vcnRhbDE2MAQACAAAoAAkTW9ydGFsMTYxBAAIAAChACRNb3J0YWwxNjIEAAgAAKIAJE1vcnRhbDE2MwQACAAAowAkTW9ydGFsMTY0BAAIAACkACRNb3J0YWwxNjUEAAgAAKUAJE1vcnRhbDE2NgQACAAApgAkTW9ydGFsMTY3BAAIAACnACRNb3J0YWwxNjgEAAgAAKgAJE1vcnRhbDE2OQQACAAAqQAkTW9ydGFsMTcwBAAIAACqACRNb3J0YWwxNzEEAAgAAKsAJE1vcnRhbDE3MgQACAAArAAkTW9ydGFsMTczBAAIAACtACRNb3J0YWwxNzQEAAgAAK4AJE1vcnRhbDE3NQQACAAArwAkTW9ydGFsMTc2BAAIAACwACRNb3J0YWwxNzcEAAgAALEAJE1vcnRhbDE3OAQACAAAsgAkTW9ydGFsMTc5BAAIAACzACRNb3J0YWwxODAEAAgAALQAJE1vcnRhbDE4MQQACAAAtQAkTW9ydGFsMTgyBAAIAAC2ACRNb3J0YWwxODMEAAgAALcAJE1vcnRhbDE4NAQACAAAuAAkTW9ydGFsMTg1BAAIAAC5ACRNb3J0YWwxODYEAAgAALoAJE1vcnRhbDE4NwQACAAAuwAkTW9ydGFsMTg4BAAIAAC8ACRNb3J0YWwxODkEAAgAAL0AJE1vcnRhbDE5MAQACAAAvgAkTW9ydGFsMTkxBAAIAAC/ACRNb3J0YWwxOTIEAAgAAMAAJE1vcnRhbDE5MwQACAAAwQAkTW9ydGFsMTk0BAAIAADCACRNb3J0YWwxOTUEAAgAAMMAJE1vcnRhbDE5NgQACAAAxAAkTW9ydGFsMTk3BAAIAADFACRNb3J0YWwxOTgEAAgAAMYAJE1vcnRhbDE5OQQACAAAxwAkTW9ydGFsMjAwBAAIAADIACRNb3J0YWwyMDEEAAgAAMkAJE1vcnRhbDIwMgQACAAAygAkTW9ydGFsMjAzBAAIAADLACRNb3J0YWwyMDQEAAgAAMwAJE1vcnRhbDIwNQQACAAAzQAkTW9ydGFsMjA2BAAIAADOACRNb3J0YWwyMDcEAAgAAM8AJE1vcnRhbDIwOAQACAAA0AAkTW9ydGFsMjA5BAAIAADRACRNb3J0YWwyMTAEAAgAANIAJE1vcnRhbDIxMQQACAAA0wAkTW9ydGFsMjEyBAAIAADUACRNb3J0YWwyMTMEAAgAANUAJE1vcnRhbDIxNAQACAAA1gAkTW9ydGFsMjE1BAAIAADXACRNb3J0YWwyMTYEAAgAANgAJE1vcnRhbDIxNwQACAAA2QAkTW9ydGFsMjE4BAAIAADaACRNb3J0YWwyMTkEAAgAANsAJE1vcnRhbDIyMAQACAAA3AAkTW9ydGFsMjIxBAAIAADdACRNb3J0YWwyMjIEAAgAAN4AJE1vcnRhbDIyMwQACAAA3wAkTW9ydGFsMjI0BAAIAADgACRNb3J0YWwyMjUEAAgAAOEAJE1vcnRhbDIyNgQACAAA4gAkTW9ydGFsMjI3BAAIAADjACRNb3J0YWwyMjgEAAgAAOQAJE1vcnRhbDIyOQQACAAA5QAkTW9ydGFsMjMwBAAIAADmACRNb3J0YWwyMzEEAAgAAOcAJE1vcnRhbDIzMgQACAAA6AAkTW9ydGFsMjMzBAAIAADpACRNb3J0YWwyMzQEAAgAAOoAJE1vcnRhbDIzNQQACAAA6wAkTW9ydGFsMjM2BAAIAADsACRNb3J0YWwyMzcEAAgAAO0AJE1vcnRhbDIzOAQACAAA7gAkTW9ydGFsMjM5BAAIAADvACRNb3J0YWwyNDAEAAgAAPAAJE1vcnRhbDI0MQQACAAA8QAkTW9ydGFsMjQyBAAIAADyACRNb3J0YWwyNDMEAAgAAPMAJE1vcnRhbDI0NAQACAAA9AAkTW9ydGFsMjQ1BAAIAAD1ACRNb3J0YWwyNDYEAAgAAPYAJE1vcnRhbDI0NwQACAAA9wAkTW9ydGFsMjQ4BAAIAAD4ACRNb3J0YWwyNDkEAAgAAPkAJE1vcnRhbDI1MAQACAAA+gAkTW9ydGFsMjUxBAAIAAD7ACRNb3J0YWwyNTIEAAgAAPwAJE1vcnRhbDI1MwQACAAA/QAkTW9ydGFsMjU0BAAIAAD+ACRNb3J0YWwyNTUEAAgAAP8AAEENEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9ucyxjaGVja19ub25jZShDaGVja05vbmNlBARUAAAEAGkBASBUOjpOb25jZQAARQ0QMGZyYW1lX3N5c3RlbShleHRlbnNpb25zMGNoZWNrX3dlaWdodCxDaGVja1dlaWdodAQEVAAAAABJDQhocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnRgQ2hhcmdlVHJhbnNhY3Rpb25QYXltZW50BARUAAAEAEEBATBCYWxhbmNlT2Y8VD4AAE0NCDRwYWxsZXRfY2xhaW1zNFZhbGlkYXRlQ2xhaW0EBFQAAAAAUQ0IdGZyYW1lX21ldGFkYXRhX2hhc2hfZXh0ZW5zaW9uRENoZWNrTWV0YWRhdGFIYXNoBARUAAAEARBtb2RlVQ0BEE1vZGUAAFUNCHRmcmFtZV9tZXRhZGF0YV9oYXNoX2V4dGVuc2lvbhBNb2RlAAEIIERpc2FibGVkAAAAHEVuYWJsZWQAAQAAWQ0IPGh5ZHJhZHhfcnVudGltZRxSdW50aW1lAAAAAF0NEChzcF9ydW50aW1lHGdlbmVyaWMUYmxvY2sUQmxvY2sIGEhlYWRlcgFhDSRFeHRyaW5zaWMBZQ0ACAEYaGVhZGVyYQ0BGEhlYWRlcgABKGV4dHJpbnNpY3NtDQE4VmVjPEV4dHJpbnNpYz4AAGENEChzcF9ydW50aW1lHGdlbmVyaWMYaGVhZGVyGEhlYWRlcggYTnVtYmVyARAQSGFzaAAAFAEscGFyZW50X2hhc2g0ATBIYXNoOjpPdXRwdXQAARhudW1iZXJpAQEYTnVtYmVyAAEoc3RhdGVfcm9vdDQBMEhhc2g6Ok91dHB1dAABPGV4dHJpbnNpY3Nfcm9vdDQBMEhhc2g6Ok91dHB1dAABGGRpZ2VzdDwBGERpZ2VzdAAAZQ0MRGZwX3NlbGZfY29udGFpbmVkTHVuY2hlY2tlZF9leHRyaW5zaWNIVW5jaGVja2VkRXh0cmluc2ljEBxBZGRyZXNzAQAQQ2FsbAElASRTaWduYXR1cmUBiQIURXh0cmEBJQ0ABABpDQElAXNwX3J1bnRpbWU6OmdlbmVyaWM6OlVuY2hlY2tlZEV4dHJpbnNpYzxBZGRyZXNzLCBDYWxsLCBTaWduYXR1cmUsIEV4dHJhCj4AAGkNEChzcF9ydW50aW1lHGdlbmVyaWNMdW5jaGVja2VkX2V4dHJpbnNpY0hVbmNoZWNrZWRFeHRyaW5zaWMQHEFkZHJlc3MBABBDYWxsASUBJFNpZ25hdHVyZQGJAhRFeHRyYQElDQAEADgAAABtDQAAAmUNAHENCChzcF9ydW50aW1lWEV4dHJpbnNpY0luY2x1c2lvbk1vZGUAAQg0QWxsRXh0cmluc2ljcwAAADRPbmx5SW5oZXJlbnRzAAEAAHUNCBxzcF9jb3JlOE9wYXF1ZU1ldGFkYXRhAAAEADgBHFZlYzx1OD4AAHkNBBhPcHRpb24EBFQBdQ0BCBBOb25lAAAAEFNvbWUEAHUNAAABAAB9DQQYUmVzdWx0CARUAZgERQGBDQEICE9rBACYAAAAAAxFcnIEAIENAAABAACBDQwoc3BfcnVudGltZVB0cmFuc2FjdGlvbl92YWxpZGl0eWBUcmFuc2FjdGlvblZhbGlkaXR5RXJyb3IAAQgcSW52YWxpZAQAhQ0BSEludmFsaWRUcmFuc2FjdGlvbgAAABxVbmtub3duBACJDQFIVW5rbm93blRyYW5zYWN0aW9uAAEAAIUNDChzcF9ydW50aW1lUHRyYW5zYWN0aW9uX3ZhbGlkaXR5SEludmFsaWRUcmFuc2FjdGlvbgABLBBDYWxsAAAAHFBheW1lbnQAAQAYRnV0dXJlAAIAFFN0YWxlAAMAIEJhZFByb29mAAQAREFuY2llbnRCaXJ0aEJsb2NrAAUAREV4aGF1c3RzUmVzb3VyY2VzAAYAGEN1c3RvbQQACAEIdTgABwAwQmFkTWFuZGF0b3J5AAgATE1hbmRhdG9yeVZhbGlkYXRpb24ACQAkQmFkU2lnbmVyAAoAAIkNDChzcF9ydW50aW1lUHRyYW5zYWN0aW9uX3ZhbGlkaXR5SFVua25vd25UcmFuc2FjdGlvbgABDDBDYW5ub3RMb29rdXAAAABMTm9VbnNpZ25lZFZhbGlkYXRvcgABABhDdXN0b20EAAgBCHU4AAIAAI0NCDBzcF9pbmhlcmVudHMwSW5oZXJlbnREYXRhAAAEARBkYXRhkQ0BlEJUcmVlTWFwPEluaGVyZW50SWRlbnRpZmllciwgVmVjPHU4Pj4AAJENBCBCVHJlZU1hcAgESwEVAgRWATgABACVDQAAAJUNAAACmQ0AmQ0AAAQIFQI4AJ0NCDBzcF9pbmhlcmVudHNQQ2hlY2tJbmhlcmVudHNSZXN1bHQAAAwBEG9rYXkgARBib29sAAEsZmF0YWxfZXJyb3IgARBib29sAAEYZXJyb3JzjQ0BMEluaGVyZW50RGF0YQAAoQ0MKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlEVHJhbnNhY3Rpb25Tb3VyY2UAAQwcSW5CbG9jawAAABRMb2NhbAABACBFeHRlcm5hbAACAAClDQQYUmVzdWx0CARUAakNBEUBgQ0BCAhPawQAqQ0AAAAADEVycgQAgQ0AAAEAAKkNDChzcF9ydW50aW1lUHRyYW5zYWN0aW9uX3ZhbGlkaXR5QFZhbGlkVHJhbnNhY3Rpb24AABQBIHByaW9yaXR5MAFMVHJhbnNhY3Rpb25Qcmlvcml0eQABIHJlcXVpcmVzNQEBTFZlYzxUcmFuc2FjdGlvblRhZz4AASBwcm92aWRlczUBAUxWZWM8VHJhbnNhY3Rpb25UYWc+AAEkbG9uZ2V2aXR5MAFQVHJhbnNhY3Rpb25Mb25nZXZpdHkAASRwcm9wYWdhdGUgARBib29sAACtDQQYT3B0aW9uBARUAbENAQgQTm9uZQAAABBTb21lBACxDQAAAQAAsQ0AAAK1DQC1DQAABAg4yQwAuQ0ISHNwX2NvbnNlbnN1c19zbG90czBTbG90RHVyYXRpb24AAAQAMAEMdTY0AAC9DQhcY3VtdWx1c19wcmltaXRpdmVzX2NvcmU0Q29sbGF0aW9uSW5mbwAAGAE8dXB3YXJkX21lc3NhZ2VzNQEBSFZlYzxVcHdhcmRNZXNzYWdlPgABTGhvcml6b250YWxfbWVzc2FnZXPxCwFgVmVjPE91dGJvdW5kSHJtcE1lc3NhZ2U+AAFMbmV3X3ZhbGlkYXRpb25fY29kZcENAYxPcHRpb248cmVsYXlfY2hhaW46OlZhbGlkYXRpb25Db2RlPgABbHByb2Nlc3NlZF9kb3dud2FyZF9tZXNzYWdlcxABDHUzMgABOGhybXBfd2F0ZXJtYXJrEAFgcmVsYXlfY2hhaW46OkJsb2NrTnVtYmVyAAEkaGVhZF9kYXRhmQQBIEhlYWREYXRhAADBDQQYT3B0aW9uBARUAcUNAQgQTm9uZQAAABBTb21lBADFDQAAAQAAxQ0MdHBvbGthZG90X3BhcmFjaGFpbl9wcmltaXRpdmVzKHByaW1pdGl2ZXM4VmFsaWRhdGlvbkNvZGUAAAQAOAEcVmVjPHU4PgAAyQ0IhHBhbGxldF9jdXJyZW5jaWVzX3JwY19ydW50aW1lX2FwaSxBY2NvdW50RGF0YQQcQmFsYW5jZQEYAAwBEGZyZWUYARxCYWxhbmNlAAEgcmVzZXJ2ZWQYARxCYWxhbmNlAAEYZnJvemVuGAEcQmFsYW5jZQAAzQ0AAALRDQDRDQAABAgQyQ0A1Q0MaHBhbGxldF90cmFuc2FjdGlvbl9wYXltZW50FHR5cGVzTFJ1bnRpbWVEaXNwYXRjaEluZm8IHEJhbGFuY2UBGBhXZWlnaHQBKAAMARh3ZWlnaHQoARhXZWlnaHQAARRjbGFzc2ABNERpc3BhdGNoQ2xhc3MAASxwYXJ0aWFsX2ZlZRgBHEJhbGFuY2UAANkNDGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudBR0eXBlcyhGZWVEZXRhaWxzBBxCYWxhbmNlARgACAE0aW5jbHVzaW9uX2ZlZd0NAXRPcHRpb248SW5jbHVzaW9uRmVlPEJhbGFuY2U+PgABDHRpcBgBHEJhbGFuY2UAAN0NBBhPcHRpb24EBFQB4Q0BCBBOb25lAAAAEFNvbWUEAOENAAABAADhDQxocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQUdHlwZXMwSW5jbHVzaW9uRmVlBBxCYWxhbmNlARgADAEgYmFzZV9mZWUYARxCYWxhbmNlAAEcbGVuX2ZlZRgBHEJhbGFuY2UAAUxhZGp1c3RlZF93ZWlnaHRfZmVlGAEcQmFsYW5jZQAA5Q0MDGV2bRxiYWNrZW5kFEJhc2ljAAAIARxiYWxhbmNlXQEBEFUyNTYAARRub25jZV0BARBVMjU2AADpDQQYT3B0aW9uBARUAS0EAQgQTm9uZQAAABBTb21lBAAtBAAAAQAA7Q0EGFJlc3VsdAgEVAHxDQRFAWgBCAhPawQA8Q0AAAAADEVycgQAaAAAAQAA8Q0IGGZwX2V2bTxFeGVjdXRpb25JbmZvVjIEBFQBOAAUASxleGl0X3JlYXNvbgUHAShFeGl0UmVhc29uAAEUdmFsdWU4AQRUAAEgdXNlZF9nYXP1DQEcVXNlZEdhcwABLHdlaWdodF9pbmZv+Q0BSE9wdGlvbjxXZWlnaHRJbmZvPgABEGxvZ3MVCwEgVmVjPExvZz4AAPUNCBhmcF9ldm0cVXNlZEdhcwAACAEgc3RhbmRhcmRdAQEQVTI1NgABJGVmZmVjdGl2ZV0BARBVMjU2AAD5DQQYT3B0aW9uBARUAf0NAQgQTm9uZQAAABBTb21lBAD9DQAAAQAA/Q0IGGZwX2V2bShXZWlnaHRJbmZvAAAQAThyZWZfdGltZV9saW1pdAEOASxPcHRpb248dTY0PgABQHByb29mX3NpemVfbGltaXQBDgEsT3B0aW9uPHU2ND4AAThyZWZfdGltZV91c2FnZQEOASxPcHRpb248dTY0PgABQHByb29mX3NpemVfdXNhZ2UBDgEsT3B0aW9uPHU2ND4AAAEOBBhPcHRpb24EBFQBMAEIEE5vbmUAAAAQU29tZQQAMAAAAQAABQ4EGFJlc3VsdAgEVAEJDgRFAWgBCAhPawQACQ4AAAAADEVycgQAaAAAAQAACQ4IGGZwX2V2bTxFeGVjdXRpb25JbmZvVjIEBFQBVQEAFAEsZXhpdF9yZWFzb24FBwEoRXhpdFJlYXNvbgABFHZhbHVlVQEBBFQAASB1c2VkX2dhc/UNARxVc2VkR2FzAAEsd2VpZ2h0X2luZm/5DQFIT3B0aW9uPFdlaWdodEluZm8+AAEQbG9ncxULASBWZWM8TG9nPgAADQ4EGE9wdGlvbgQEVAEpCwEIEE5vbmUAAAAQU29tZQQAKQsAAAEAABEOBBhPcHRpb24EBFQBPQsBCBBOb25lAAAAEFNvbWUEAD0LAAABAAAVDgQYT3B0aW9uBARUAUELAQgQTm9uZQAAABBTb21lBABBCwAAAQAAGQ4AAAQMDQ4RDhUOAB0OAAAECA0OFQ4AIQ4EGFJlc3VsdAgEVAElDgRFASkOAQgIT2sEACUOAAAAAAxFcnIEACkOAAABAAAlDgAAAiEGACkODEB4Y21fcnVudGltZV9hcGlzEGZlZXMURXJyb3IAARg0VW5pbXBsZW1lbnRlZAAAAGRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEATFdlaWdodE5vdENvbXB1dGFibGUAAgBMVW5oYW5kbGVkWGNtVmVyc2lvbgADADRBc3NldE5vdEZvdW5kAAQAKFVucm91dGFibGUABQAALQ4EGFJlc3VsdAgEVAEoBEUBKQ4BCAhPawQAKAAAAAAMRXJyBAApDgAAAQAAMQ4EGFJlc3VsdAgEVAEYBEUBKQ4BCAhPawQAGAAAAAAMRXJyBAApDgAAAQAANQ4EGFJlc3VsdAgEVAHtBQRFASkOAQgIT2sEAO0FAAAAAAxFcnIEACkOAAABAAA5DgQYUmVzdWx0CARUAT0OBEUBVQ4BCAhPawQAPQ4AAAAADEVycgQAVQ4AAAEAAD0ODEB4Y21fcnVudGltZV9hcGlzHGRyeV9ydW5EQ2FsbERyeVJ1bkVmZmVjdHMEFEV2ZW50AVQAEAFAZXhlY3V0aW9uX3Jlc3VsdGkGAWhEaXNwYXRjaFJlc3VsdFdpdGhQb3N0SW5mbwABOGVtaXR0ZWRfZXZlbnRzQQ4BKFZlYzxFdmVudD4AASRsb2NhbF94Y21FDgFgT3B0aW9uPFZlcnNpb25lZFhjbTwoKT4+AAE4Zm9yd2FyZGVkX3hjbXNJDgG8VmVjPChWZXJzaW9uZWRMb2NhdGlvbiwgVmVjPFZlcnNpb25lZFhjbTwoKT4+KT4AAEEOAAACVABFDgQYT3B0aW9uBARUAekEAQgQTm9uZQAAABBTb21lBADpBAAAAQAASQ4AAAJNDgBNDgAABAjJBFEOAFEOAAAC6QQAVQ4MQHhjbV9ydW50aW1lX2FwaXMcZHJ5X3J1bhRFcnJvcgABCDRVbmltcGxlbWVudGVkAAAAZFZlcnNpb25lZENvbnZlcnNpb25GYWlsZWQAAQAAWQ4EGFJlc3VsdAgEVAFdDgRFAVUOAQgIT2sEAF0OAAAAAAxFcnIEAFUOAAABAABdDgxAeGNtX3J1bnRpbWVfYXBpcxxkcnlfcnVuQFhjbURyeVJ1bkVmZmVjdHMEFEV2ZW50AVQADAFAZXhlY3V0aW9uX3Jlc3VsdEkHARxPdXRjb21lAAE4ZW1pdHRlZF9ldmVudHNBDgEoVmVjPEV2ZW50PgABOGZvcndhcmRlZF94Y21zSQ4BvFZlYzwoVmVyc2lvbmVkTG9jYXRpb24sIFZlYzxWZXJzaW9uZWRYY208KCk+Pik+AABhDgQYUmVzdWx0CARUAQAERQFlDgEICE9rBAAAAAAAAAxFcnIEAGUOAAABAABlDgxAeGNtX3J1bnRpbWVfYXBpcyxjb252ZXJzaW9ucxRFcnJvcgABCCxVbnN1cHBvcnRlZAAAAGRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEAAGkOBBhPcHRpb24EBFQBbQ4BCBBOb25lAAAAEFNvbWUEAG0OAAABAABtDgAABBAQENkDFQIAcQ4QPGh5ZHJhZHhfcnVudGltZQxldm1MYWF2ZV90cmFkZV9leGVjdXRvciBQb29sRGF0YQQcQmFsYW5jZQEYABABHHJlc2VydmUQARxBc3NldElkAAEYYXRva2VuEAEcQXNzZXRJZAABLGxpcXVkaXR5X2luGAEcQmFsYW5jZQABMGxpcXVkaXR5X291dBgBHEJhbGFuY2UAAHUOAAACcQ4AeQ4EGFJlc3VsdAgEVAGQBEUBGQcBCAhPawQAkAAAAAAMRXJyBAAZBwAAAQAAfQ4EGE9wdGlvbgQEVAEZBwEIEE5vbmUAAAAQU29tZQQAGQcAAAEAAIEOAAACGQcAhQ4IPGh5ZHJhZHhfcnVudGltZTBSdW50aW1lRXJyb3IAAfQYU3lzdGVtBADRBwFwZnJhbWVfc3lzdGVtOjpFcnJvcjxSdW50aW1lPgABACBCYWxhbmNlcwQAFQgBfHBhbGxldF9iYWxhbmNlczo6RXJyb3I8UnVudGltZT4ABwBcTXVsdGlUcmFuc2FjdGlvblBheW1lbnQEAB0IAcBwYWxsZXRfdHJhbnNhY3Rpb25fbXVsdGlfcGF5bWVudDo6RXJyb3I8UnVudGltZT4AywAgVHJlYXN1cnkEADUIAXxwYWxsZXRfdHJlYXN1cnk6OkVycm9yPFJ1bnRpbWU+AAsAHFV0aWxpdHkEADkIAXhwYWxsZXRfdXRpbGl0eTo6RXJyb3I8UnVudGltZT4ADQAgUHJlaW1hZ2UEAF0IAXxwYWxsZXRfcHJlaW1hZ2U6OkVycm9yPFJ1bnRpbWU+AA8AIElkZW50aXR5BACdCAF8cGFsbGV0X2lkZW50aXR5OjpFcnJvcjxSdW50aW1lPgARACREZW1vY3JhY3kEAOEIAYBwYWxsZXRfZGVtb2NyYWN5OjpFcnJvcjxSdW50aW1lPgATACRFbGVjdGlvbnMEAPEIAaRwYWxsZXRfZWxlY3Rpb25zX3BocmFnbWVuOjpFcnJvcjxSdW50aW1lPgAVABxDb3VuY2lsBAD9CAH8cGFsbGV0X2NvbGxlY3RpdmU6OkVycm9yPFJ1bnRpbWUsIHBhbGxldF9jb2xsZWN0aXZlOjpJbnN0YW5jZTE+ABcASFRlY2huaWNhbENvbW1pdHRlZQQABQkB/HBhbGxldF9jb2xsZWN0aXZlOjpFcnJvcjxSdW50aW1lLCBwYWxsZXRfY29sbGVjdGl2ZTo6SW5zdGFuY2UyPgAZABBUaXBzBAARCQFscGFsbGV0X3RpcHM6OkVycm9yPFJ1bnRpbWU+ABsAFFByb3h5BAA1CQFwcGFsbGV0X3Byb3h5OjpFcnJvcjxSdW50aW1lPgAdACBNdWx0aXNpZwQARQkBfHBhbGxldF9tdWx0aXNpZzo6RXJyb3I8UnVudGltZT4AHwAcVW5pcXVlcwQAaQkBeHBhbGxldF91bmlxdWVzOjpFcnJvcjxSdW50aW1lPgAgAEhTdGF0ZVRyaWVNaWdyYXRpb24EAA0BAaxwYWxsZXRfc3RhdGVfdHJpZV9taWdyYXRpb246OkVycm9yPFJ1bnRpbWU+ACMAQENvbnZpY3Rpb25Wb3RpbmcEAJ0JAaBwYWxsZXRfY29udmljdGlvbl92b3Rpbmc6OkVycm9yPFJ1bnRpbWU+ACQAJFJlZmVyZW5kYQQA4QkBgHBhbGxldF9yZWZlcmVuZGE6OkVycm9yPFJ1bnRpbWU+ACUAJFdoaXRlbGlzdAQA5QkBgHBhbGxldF93aGl0ZWxpc3Q6OkVycm9yPFJ1bnRpbWU+ACcANEFzc2V0UmVnaXN0cnkEAO0JAZRwYWxsZXRfYXNzZXRfcmVnaXN0cnk6OkVycm9yPFJ1bnRpbWU+ADMAGENsYWltcwQA8QkBdHBhbGxldF9jbGFpbXM6OkVycm9yPFJ1bnRpbWU+ADUAPENvbGxhdG9yUmV3YXJkcwQA/QkBnHBhbGxldF9jb2xsYXRvcl9yZXdhcmRzOjpFcnJvcjxSdW50aW1lPgA5ACBPbW5pcG9vbAQACQoBfHBhbGxldF9vbW5pcG9vbDo6RXJyb3I8UnVudGltZT4AOwBAVHJhbnNhY3Rpb25QYXVzZQQAFQoBoHBhbGxldF90cmFuc2FjdGlvbl9wYXVzZTo6RXJyb3I8UnVudGltZT4APAAYRHVzdGVyBAAZCgF0cGFsbGV0X2R1c3Rlcjo6RXJyb3I8UnVudGltZT4APQBMT21uaXBvb2xXYXJlaG91c2VMTQQAPQoBSQF3YXJlaG91c2VfbGlxdWlkaXR5X21pbmluZzo6RXJyb3I8UnVudGltZSwgd2FyZWhvdXNlX2xpcXVpZGl0eV9taW5pbmc6OgpJbnN0YW5jZTE+AD4AXE9tbmlwb29sTGlxdWlkaXR5TWluaW5nBABFCgHAcGFsbGV0X29tbmlwb29sX2xpcXVpZGl0eV9taW5pbmc6OkVycm9yPFJ1bnRpbWU+AD8ADE9UQwQAUQoBaHBhbGxldF9vdGM6OkVycm9yPFJ1bnRpbWU+AEAAOENpcmN1aXRCcmVha2VyBABdCgGYcGFsbGV0X2NpcmN1aXRfYnJlYWtlcjo6RXJyb3I8UnVudGltZT4AQQAYUm91dGVyBABhCgGUcGFsbGV0X3JvdXRlX2V4ZWN1dG9yOjpFcnJvcjxSdW50aW1lPgBDACxEeW5hbWljRmVlcwQAbQoBjHBhbGxldF9keW5hbWljX2ZlZXM6OkVycm9yPFJ1bnRpbWU+AEQAHFN0YWtpbmcEAJEKAXhwYWxsZXRfc3Rha2luZzo6RXJyb3I8UnVudGltZT4ARQAoU3RhYmxlc3dhcAQAoQoBhHBhbGxldF9zdGFibGVzd2FwOjpFcnJvcjxSdW50aW1lPgBGABRCb25kcwQAqQoBcHBhbGxldF9ib25kczo6RXJyb3I8UnVudGltZT4ARwA4T3RjU2V0dGxlbWVudHMEAK0KAZhwYWxsZXRfb3RjX3NldHRsZW1lbnRzOjpFcnJvcjxSdW50aW1lPgBIAAxMQlAEALEKAWhwYWxsZXRfbGJwOjpFcnJvcjxSdW50aW1lPgBJAAxYWUsEALUKAWhwYWxsZXRfeHlrOjpFcnJvcjxSdW50aW1lPgBKACRSZWZlcnJhbHMEAMUKAYBwYWxsZXRfcmVmZXJyYWxzOjpFcnJvcjxSdW50aW1lPgBLACxMaXF1aWRhdGlvbgQAyQoBiHBhbGxldF9saXF1aWRhdGlvbjo6RXJyb3I8UnVudGltZT4ATAAYVG9rZW5zBADpCgFsb3JtbF90b2tlbnM6OkVycm9yPFJ1bnRpbWU+AE0AKEN1cnJlbmNpZXMEAO0KAYRwYWxsZXRfY3VycmVuY2llczo6RXJyb3I8UnVudGltZT4ATwAcVmVzdGluZwQA9QoBcG9ybWxfdmVzdGluZzo6RXJyb3I8UnVudGltZT4AUQAMRVZNBAABCwFocGFsbGV0X2V2bTo6RXJyb3I8UnVudGltZT4AWgAgRXRoZXJldW0EAEULAXxwYWxsZXRfZXRoZXJldW06OkVycm9yPFJ1bnRpbWU+AFwALEVWTUFjY291bnRzBABJCwGMcGFsbGV0X2V2bV9hY2NvdW50czo6RXJyb3I8UnVudGltZT4AXQBIWFlLTGlxdWlkaXR5TWluaW5nBABNCwGscGFsbGV0X3h5a19saXF1aWRpdHlfbWluaW5nOjpFcnJvcjxSdW50aW1lPgBfADhYWUtXYXJlaG91c2VMTQQAbQsBSQF3YXJlaG91c2VfbGlxdWlkaXR5X21pbmluZzo6RXJyb3I8UnVudGltZSwgd2FyZWhvdXNlX2xpcXVpZGl0eV9taW5pbmc6OgpJbnN0YW5jZTI+AGAAOFJlbGF5Q2hhaW5JbmZvBABxCwGYcGFsbGV0X3JlbGF5Y2hhaW5faW5mbzo6RXJyb3I8UnVudGltZT4AyQAMRENBBAB5CwFocGFsbGV0X2RjYTo6RXJyb3I8UnVudGltZT4AQgAkU2NoZWR1bGVyBACRCwGAcGFsbGV0X3NjaGVkdWxlcjo6RXJyb3I8UnVudGltZT4ABQA8UGFyYWNoYWluU3lzdGVtBAD5CwG8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbTo6RXJyb3I8UnVudGltZT4AZwAsUG9sa2Fkb3RYY20EAE0MAWhwYWxsZXRfeGNtOjpFcnJvcjxSdW50aW1lPgBrACRYY21wUXVldWUEAHkMAaRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlOjpFcnJvcjxSdW50aW1lPgBvADBNZXNzYWdlUXVldWUEAJUMAZBwYWxsZXRfbWVzc2FnZV9xdWV1ZTo6RXJyb3I8UnVudGltZT4AcgAcT3JtbFhjbQQAmQwBYG9ybWxfeGNtOjpFcnJvcjxSdW50aW1lPgCHABxYVG9rZW5zBACdDAFwb3JtbF94dG9rZW5zOjpFcnJvcjxSdW50aW1lPgCJADRVbmtub3duVG9rZW5zBACpDAGMb3JtbF91bmtub3duX3Rva2Vuczo6RXJyb3I8UnVudGltZT4AiwBEQ29sbGF0b3JTZWxlY3Rpb24EALkMAaRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uOjpFcnJvcjxSdW50aW1lPgCjABxTZXNzaW9uBADNDAF4cGFsbGV0X3Nlc3Npb246OkVycm9yPFJ1bnRpbWU+AKUAJEVtYU9yYWNsZQQAGQ0BhHBhbGxldF9lbWFfb3JhY2xlOjpFcnJvcjxSdW50aW1lPgDKACRCcm9hZGNhc3QEACENAYBwYWxsZXRfYnJvYWRjYXN0OjpFcnJvcjxSdW50aW1lPgDMAAAlARhTeXN0ZW0BGFN5c3RlbUgcQWNjb3VudAEBBAIADEEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAE6CBUaGUgZnVsbCBhY2NvdW50IGluZm9ybWF0aW9uIGZvciBhIHBhcnRpY3VsYXIgYWNjb3VudCBJRC44RXh0cmluc2ljQ291bnQAABAEAAS4IFRvdGFsIGV4dHJpbnNpY3MgY291bnQgZm9yIHRoZSBjdXJyZW50IGJsb2NrLkBJbmhlcmVudHNBcHBsaWVkAQAgBAAEpCBXaGV0aGVyIGFsbCBpbmhlcmVudHMgaGF2ZSBiZWVuIGFwcGxpZWQuLEJsb2NrV2VpZ2h0AQAkGAAAAAAAAASIIFRoZSBjdXJyZW50IHdlaWdodCBmb3IgdGhlIGJsb2NrLkBBbGxFeHRyaW5zaWNzTGVuAAAQBAAEQQEgVG90YWwgbGVuZ3RoIChpbiBieXRlcykgZm9yIGFsbCBleHRyaW5zaWNzIHB1dCB0b2dldGhlciwgZm9yIHRoZSBjdXJyZW50IGJsb2NrLiRCbG9ja0hhc2gBAQQFEDSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEmCBNYXAgb2YgYmxvY2sgbnVtYmVycyB0byBibG9jayBoYXNoZXMuNEV4dHJpbnNpY0RhdGEBAQQFEDgEAAQ9ASBFeHRyaW5zaWNzIGRhdGEgZm9yIHRoZSBjdXJyZW50IGJsb2NrIChtYXBzIGFuIGV4dHJpbnNpYydzIGluZGV4IHRvIGl0cyBkYXRhKS4YTnVtYmVyAQAQEAAAAAAECQEgVGhlIGN1cnJlbnQgYmxvY2sgbnVtYmVyIGJlaW5nIHByb2Nlc3NlZC4gU2V0IGJ5IGBleGVjdXRlX2Jsb2NrYC4oUGFyZW50SGFzaAEANIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARwIEhhc2ggb2YgdGhlIHByZXZpb3VzIGJsb2NrLhhEaWdlc3QBADwEAATwIERpZ2VzdCBvZiB0aGUgY3VycmVudCBibG9jaywgYWxzbyBwYXJ0IG9mIHRoZSBibG9jayBoZWFkZXIuGEV2ZW50cwEATAQAHKAgRXZlbnRzIGRlcG9zaXRlZCBmb3IgdGhlIGN1cnJlbnQgYmxvY2suAB0BIE5PVEU6IFRoZSBpdGVtIGlzIHVuYm91bmQgYW5kIHNob3VsZCB0aGVyZWZvcmUgbmV2ZXIgYmUgcmVhZCBvbiBjaGFpbi7QIEl0IGNvdWxkIG90aGVyd2lzZSBpbmZsYXRlIHRoZSBQb1Ygc2l6ZSBvZiBhIGJsb2NrLgAtASBFdmVudHMgaGF2ZSBhIGxhcmdlIGluLW1lbW9yeSBzaXplLiBCb3ggdGhlIGV2ZW50cyB0byBub3QgZ28gb3V0LW9mLW1lbW9yefwganVzdCBpbiBjYXNlIHNvbWVvbmUgc3RpbGwgcmVhZHMgdGhlbSBmcm9tIHdpdGhpbiB0aGUgcnVudGltZS4oRXZlbnRDb3VudAEAEBAAAAAABLggVGhlIG51bWJlciBvZiBldmVudHMgaW4gdGhlIGBFdmVudHM8VD5gIGxpc3QuLEV2ZW50VG9waWNzAQEEAjR5AwQAKCUBIE1hcHBpbmcgYmV0d2VlbiBhIHRvcGljIChyZXByZXNlbnRlZCBieSBUOjpIYXNoKSBhbmQgYSB2ZWN0b3Igb2YgaW5kZXhlc5Qgb2YgZXZlbnRzIGluIHRoZSBgPEV2ZW50czxUPj5gIGxpc3QuAFEBIEFsbCB0b3BpYyB2ZWN0b3JzIGhhdmUgZGV0ZXJtaW5pc3RpYyBzdG9yYWdlIGxvY2F0aW9ucyBkZXBlbmRpbmcgb24gdGhlIHRvcGljLiBUaGlzRQEgYWxsb3dzIGxpZ2h0LWNsaWVudHMgdG8gbGV2ZXJhZ2UgdGhlIGNoYW5nZXMgdHJpZSBzdG9yYWdlIHRyYWNraW5nIG1lY2hhbmlzbSBhbmTkIGluIGNhc2Ugb2YgY2hhbmdlcyBmZXRjaCB0aGUgbGlzdCBvZiBldmVudHMgb2YgaW50ZXJlc3QuAFkBIFRoZSB2YWx1ZSBoYXMgdGhlIHR5cGUgYChCbG9ja051bWJlckZvcjxUPiwgRXZlbnRJbmRleClgIGJlY2F1c2UgaWYgd2UgdXNlZCBvbmx5IGp1c3RNASB0aGUgYEV2ZW50SW5kZXhgIHRoZW4gaW4gY2FzZSBpZiB0aGUgdG9waWMgaGFzIHRoZSBzYW1lIGNvbnRlbnRzIG9uIHRoZSBuZXh0IGJsb2NrAQEgbm8gbm90aWZpY2F0aW9uIHdpbGwgYmUgdHJpZ2dlcmVkIHRodXMgdGhlIGV2ZW50IG1pZ2h0IGJlIGxvc3QuSExhc3RSdW50aW1lVXBncmFkZQAAoQcEAARVASBTdG9yZXMgdGhlIGBzcGVjX3ZlcnNpb25gIGFuZCBgc3BlY19uYW1lYCBvZiB3aGVuIHRoZSBsYXN0IHJ1bnRpbWUgdXBncmFkZSBoYXBwZW5lZC5UVXBncmFkZWRUb1UzMlJlZkNvdW50AQAgBAAETQEgVHJ1ZSBpZiB3ZSBoYXZlIHVwZ3JhZGVkIHNvIHRoYXQgYHR5cGUgUmVmQ291bnRgIGlzIGB1MzJgLiBGYWxzZSAoZGVmYXVsdCkgaWYgbm90LmBVcGdyYWRlZFRvVHJpcGxlUmVmQ291bnQBACAEAAhdASBUcnVlIGlmIHdlIGhhdmUgdXBncmFkZWQgc28gdGhhdCBBY2NvdW50SW5mbyBjb250YWlucyB0aHJlZSB0eXBlcyBvZiBgUmVmQ291bnRgLiBGYWxzZUggKGRlZmF1bHQpIGlmIG5vdC44RXhlY3V0aW9uUGhhc2UAAJ0HBAAEiCBUaGUgZXhlY3V0aW9uIHBoYXNlIG9mIHRoZSBibG9jay5EQXV0aG9yaXplZFVwZ3JhZGUAAKUHBAAEuCBgU29tZWAgaWYgYSBjb2RlIHVwZ3JhZGUgaGFzIGJlZW4gYXV0aG9yaXplZC4BKQEBWBgwQmxvY2tXZWlnaHRzqQeZAWJNGGwACwAgSqnRAQIAQAEDkDpfXemwAQtw6Vw9UQEaT+cAAQsAmPc+XQECAPAAAQAAA5A6X13psAELcHGvp8UBGk83AQELACBKqdEBAgBAAQEHAIhSanQCAFAAA5A6X13psAAAAATQIEJsb2NrICYgZXh0cmluc2ljcyB3ZWlnaHRzOiBiYXNlIHZhbHVlcyBhbmQgbGltaXRzLixCbG9ja0xlbmd0aLUHMAAAPAAAAFAAAABQAASoIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhIGJsb2NrIChpbiBieXRlcykuOEJsb2NrSGFzaENvdW50EBBgCQAABFUBIE1heGltdW0gbnVtYmVyIG9mIGJsb2NrIG51bWJlciB0byBibG9jayBoYXNoIG1hcHBpbmdzIHRvIGtlZXAgKG9sZGVzdCBwcnVuZWQgZmlyc3QpLiBEYldlaWdodL0HQEB4fQEAAAAAAOH1BQAAAAAECQEgVGhlIHdlaWdodCBvZiBydW50aW1lIGRhdGFiYXNlIG9wZXJhdGlvbnMgdGhlIHJ1bnRpbWUgY2FuIGludm9rZS4cVmVyc2lvbsEHeQQcaHlkcmFkeBxoeWRyYWR4AQAAADoBAAAAAAAAVN9qy2iZB2CbBQAAADfjl/x8kfXkAgAAAED+OtQB+JWaBgAAANK8mJfu0I8VAwAAAPeLJ4vlP0VMAgAAAKs8BXIpH+uLAQAAAN1xjVzFMmLUAQAAAOqT4/FvPWliAgAAAJr4Z1G3DBEtAQAAALydiZBPW5I/AQAAADfIuxNQqaKoBAAAAFgiEfZbsUuJBQAAAOZbAORs7dCqAgAAAAu2elL80ED/AQAAAG/1LuhY5sW9AQAAANe92KJyyg1lAQAAAJGxyLFjKOuSAQAAAJ/7UFqnONacAQAAACtfW80kYOTwAQAAAKKytIT8uGlDAQAAAPvFd7nXR+/WAQAAAAEAAAABBIQgR2V0IHRoZSBjaGFpbidzIGluLWNvZGUgdmVyc2lvbi4oU1M1OFByZWZpeNwIAAAUqCBUaGUgZGVzaWduYXRlZCBTUzU4IHByZWZpeCBvZiB0aGlzIGNoYWluLgA5ASBUaGlzIHJlcGxhY2VzIHRoZSAic3M1OEZvcm1hdCIgcHJvcGVydHkgZGVjbGFyZWQgaW4gdGhlIGNoYWluIHNwZWMuIFJlYXNvbiBpczEBIHRoYXQgdGhlIHJ1bnRpbWUgc2hvdWxkIGtub3cgYWJvdXQgdGhlIHByZWZpeCBpbiBvcmRlciB0byBtYWtlIHVzZSBvZiBpdCBhc3AgYW4gaWRlbnRpZmllciBvZiB0aGUgY2hhaW4uAdEHAQAkVGltZXN0YW1wASRUaW1lc3RhbXAIDE5vdwEAMCAAAAAAAAAAAASgIFRoZSBjdXJyZW50IHRpbWUgZm9yIHRoZSBjdXJyZW50IGJsb2NrLiREaWRVcGRhdGUBACAEABDYIFdoZXRoZXIgdGhlIHRpbWVzdGFtcCBoYXMgYmVlbiB1cGRhdGVkIGluIHRoaXMgYmxvY2suAFUBIFRoaXMgdmFsdWUgaXMgdXBkYXRlZCB0byBgdHJ1ZWAgdXBvbiBzdWNjZXNzZnVsIHN1Ym1pc3Npb24gb2YgYSB0aW1lc3RhbXAgYnkgYSBub2RlLkUBIEl0IGlzIHRoZW4gY2hlY2tlZCBhdCB0aGUgZW5kIG9mIGVhY2ggYmxvY2sgZXhlY3V0aW9uIGluIHRoZSBgb25fZmluYWxpemVgIGhvb2suATkBAAQ0TWluaW11bVBlcmlvZDAguAsAAAAAAAAYjCBUaGUgbWluaW11bSBwZXJpb2QgYmV0d2VlbiBibG9ja3MuAE0BIEJlIGF3YXJlIHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgdG8gdGhlICpleHBlY3RlZCogcGVyaW9kIHRoYXQgdGhlIGJsb2NrIHByb2R1Y3Rpb25JASBhcHBhcmF0dXMgcHJvdmlkZXMuIFlvdXIgY2hvc2VuIGNvbnNlbnN1cyBzeXN0ZW0gd2lsbCBnZW5lcmFsbHkgd29yayB3aXRoIHRoaXMgdG9hASBkZXRlcm1pbmUgYSBzZW5zaWJsZSBibG9jayB0aW1lLiBGb3IgZXhhbXBsZSwgaW4gdGhlIEF1cmEgcGFsbGV0IGl0IHdpbGwgYmUgZG91YmxlIHRoaXNwIHBlcmlvZCBvbiBkZWZhdWx0IHNldHRpbmdzLgADACBCYWxhbmNlcwEgQmFsYW5jZXMcNFRvdGFsSXNzdWFuY2UBABhAAAAAAAAAAAAAAAAAAAAAAASYIFRoZSB0b3RhbCB1bml0cyBpc3N1ZWQgaW4gdGhlIHN5c3RlbS5ASW5hY3RpdmVJc3N1YW5jZQEAGEAAAAAAAAAAAAAAAAAAAAAABAkBIFRoZSB0b3RhbCB1bml0cyBvZiBvdXRzdGFuZGluZyBkZWFjdGl2YXRlZCBiYWxhbmNlIGluIHRoZSBzeXN0ZW0uHEFjY291bnQBAQQCABQBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBgCQEgVGhlIEJhbGFuY2VzIHBhbGxldCBleGFtcGxlIG9mIHN0b3JpbmcgdGhlIGJhbGFuY2Ugb2YgYW4gYWNjb3VudC4AKCAjIEV4YW1wbGUANCBgYGBub2NvbXBpbGWwICBpbXBsIHBhbGxldF9iYWxhbmNlczo6Q29uZmlnIGZvciBSdW50aW1lIHsZAiAgICB0eXBlIEFjY291bnRTdG9yZSA9IFN0b3JhZ2VNYXBTaGltPFNlbGY6OkFjY291bnQ8UnVudGltZT4sIGZyYW1lX3N5c3RlbTo6UHJvdmlkZXI8UnVudGltZT4sIEFjY291bnRJZCwgU2VsZjo6QWNjb3VudERhdGE8QmFsYW5jZT4+DCAgfRAgYGBgABUBIFlvdSBjYW4gYWxzbyBzdG9yZSB0aGUgYmFsYW5jZSBvZiBhbiBhY2NvdW50IGluIHRoZSBgU3lzdGVtYCBwYWxsZXQuACggIyBFeGFtcGxlADQgYGBgbm9jb21waWxlsCAgaW1wbCBwYWxsZXRfYmFsYW5jZXM6OkNvbmZpZyBmb3IgUnVudGltZSB7dCAgIHR5cGUgQWNjb3VudFN0b3JlID0gU3lzdGVtDCAgfRAgYGBgAFEBIEJ1dCB0aGlzIGNvbWVzIHdpdGggdHJhZGVvZmZzLCBzdG9yaW5nIGFjY291bnQgYmFsYW5jZXMgaW4gdGhlIHN5c3RlbSBwYWxsZXQgc3RvcmVzbQEgYGZyYW1lX3N5c3RlbWAgZGF0YSBhbG9uZ3NpZGUgdGhlIGFjY291bnQgZGF0YSBjb250cmFyeSB0byBzdG9yaW5nIGFjY291bnQgYmFsYW5jZXMgaW4gdGhlKQEgYEJhbGFuY2VzYCBwYWxsZXQsIHdoaWNoIHVzZXMgYSBgU3RvcmFnZU1hcGAgdG8gc3RvcmUgYmFsYW5jZXMgZGF0YSBvbmx5LkEBIE5PVEU6IFRoaXMgaXMgb25seSB1c2VkIGluIHRoZSBjYXNlIHRoYXQgdGhpcyBwYWxsZXQgaXMgdXNlZCB0byBzdG9yZSBiYWxhbmNlcy4UTG9ja3MBAQQCANUHBAAQuCBBbnkgbGlxdWlkaXR5IGxvY2tzIG9uIHNvbWUgYWNjb3VudCBiYWxhbmNlcy4lASBOT1RFOiBTaG91bGQgb25seSBiZSBhY2Nlc3NlZCB3aGVuIHNldHRpbmcsIGNoYW5naW5nIGFuZCBmcmVlaW5nIGEgbG9jay4ArQEgVXNlIG9mIGxvY2tzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGZyZWV6ZXMuIFNlZSBgaHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvc3Vic3RyYXRlL3B1bGwvMTI5NTEvYCBSZXNlcnZlcwEBBAIA5QcEAAykIE5hbWVkIHJlc2VydmVzIG9uIHNvbWUgYWNjb3VudCBiYWxhbmNlcy4AsQEgVXNlIG9mIHJlc2VydmVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGhvbGRzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2AUSG9sZHMBAQQCAPEHBAAEbCBIb2xkcyBvbiBhY2NvdW50IGJhbGFuY2VzLhxGcmVlemVzAQEEAgAJCAQABIggRnJlZXplIGxvY2tzIG9uIGFjY291bnQgYmFsYW5jZXMuAT0BAXwQSEV4aXN0ZW50aWFsRGVwb3NpdBhAABCl1OgAAAAAAAAAAAAAACBBASBUaGUgbWluaW11bSBhbW91bnQgcmVxdWlyZWQgdG8ga2VlcCBhbiBhY2NvdW50IG9wZW4uIE1VU1QgQkUgR1JFQVRFUiBUSEFOIFpFUk8hAFkBIElmIHlvdSAqcmVhbGx5KiBuZWVkIGl0IHRvIGJlIHplcm8sIHlvdSBjYW4gZW5hYmxlIHRoZSBmZWF0dXJlIGBpbnNlY3VyZV96ZXJvX2VkYCBmb3JhASB0aGlzIHBhbGxldC4gSG93ZXZlciwgeW91IGRvIHNvIGF0IHlvdXIgb3duIHJpc2s6IHRoaXMgd2lsbCBvcGVuIHVwIGEgbWFqb3IgRG9TIHZlY3Rvci5ZASBJbiBjYXNlIHlvdSBoYXZlIG11bHRpcGxlIHNvdXJjZXMgb2YgcHJvdmlkZXIgcmVmZXJlbmNlcywgeW91IG1heSBhbHNvIGdldCB1bmV4cGVjdGVkjCBiZWhhdmlvdXIgaWYgeW91IHNldCB0aGlzIHRvIHplcm8uAPAgQm90dG9tIGxpbmU6IERvIHlvdXJzZWxmIGEgZmF2b3VyIGFuZCBtYWtlIGl0IGF0IGxlYXN0IG9uZSEgTWF4TG9ja3MQEDIAAAAQ9CBUaGUgbWF4aW11bSBudW1iZXIgb2YgbG9ja3MgdGhhdCBzaG91bGQgZXhpc3Qgb24gYW4gYWNjb3VudC7cIE5vdCBzdHJpY3RseSBlbmZvcmNlZCwgYnV0IHVzZWQgZm9yIHdlaWdodCBlc3RpbWF0aW9uLgCtASBVc2Ugb2YgbG9ja3MgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgZnJlZXplcy4gU2VlIGBodHRwczovL2dpdGh1Yi5jb20vcGFyaXR5dGVjaC9zdWJzdHJhdGUvcHVsbC8xMjk1MS9gLE1heFJlc2VydmVzEBAyAAAADA0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBuYW1lZCByZXNlcnZlcyB0aGF0IGNhbiBleGlzdCBvbiBhbiBhY2NvdW50LgCxASBVc2Ugb2YgcmVzZXJ2ZXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgaG9sZHMuIFNlZSBgaHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvc3Vic3RyYXRlL3B1bGwvMTI5NTEvYChNYXhGcmVlemVzEBAAAAAABGEBIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpbmRpdmlkdWFsIGZyZWV6ZSBsb2NrcyB0aGF0IGNhbiBleGlzdCBvbiBhbiBhY2NvdW50IGF0IGFueSB0aW1lLgEVCAcASFRyYW5zYWN0aW9uUGF5bWVudAFIVHJhbnNhY3Rpb25QYXltZW50CEROZXh0RmVlTXVsdGlwbGllcgEAUQFAAABkp7O24A0AAAAAAAAAAAA4U3RvcmFnZVZlcnNpb24BABkIBAAAAAGEBGBPcGVyYXRpb25hbEZlZU11bHRpcGxpZXIIBABUWQEgQSBmZWUgbXVsdGlwbGllciBmb3IgYE9wZXJhdGlvbmFsYCBleHRyaW5zaWNzIHRvIGNvbXB1dGUgInZpcnR1YWwgdGlwIiB0byBib29zdCB0aGVpciwgYHByaW9yaXR5YABRASBUaGlzIHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgdGhlIGBmaW5hbF9mZWVgIHRvIG9idGFpbiBhICJ2aXJ0dWFsIHRpcCIgdGhhdCBpcyBsYXRlcvQgYWRkZWQgdG8gYSB0aXAgY29tcG9uZW50IGluIHJlZ3VsYXIgYHByaW9yaXR5YCBjYWxjdWxhdGlvbnMuTQEgSXQgbWVhbnMgdGhhdCBhIGBOb3JtYWxgIHRyYW5zYWN0aW9uIGNhbiBmcm9udC1ydW4gYSBzaW1pbGFybHktc2l6ZWQgYE9wZXJhdGlvbmFsYEEBIGV4dHJpbnNpYyAod2l0aCBubyB0aXApLCBieSBpbmNsdWRpbmcgYSB0aXAgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSB2aXJ0dWFsIHRpcC4APCBgYGBydXN0LGlnbm9yZUAgLy8gRm9yIGBOb3JtYWxgjCBsZXQgcHJpb3JpdHkgPSBwcmlvcml0eV9jYWxjKHRpcCk7AFQgLy8gRm9yIGBPcGVyYXRpb25hbGARASBsZXQgdmlydHVhbF90aXAgPSAoaW5jbHVzaW9uX2ZlZSArIHRpcCkgKiBPcGVyYXRpb25hbEZlZU11bHRpcGxpZXI7xCBsZXQgcHJpb3JpdHkgPSBwcmlvcml0eV9jYWxjKHRpcCArIHZpcnR1YWxfdGlwKTsQIGBgYABRASBOb3RlIHRoYXQgc2luY2Ugd2UgdXNlIGBmaW5hbF9mZWVgIHRoZSBtdWx0aXBsaWVyIGFwcGxpZXMgYWxzbyB0byB0aGUgcmVndWxhciBgdGlwYF0BIHNlbnQgd2l0aCB0aGUgdHJhbnNhY3Rpb24uIFNvLCBub3Qgb25seSBkb2VzIHRoZSB0cmFuc2FjdGlvbiBnZXQgYSBwcmlvcml0eSBidW1wIGJhc2VkYQEgb24gdGhlIGBpbmNsdXNpb25fZmVlYCwgYnV0IHdlIGFsc28gYW1wbGlmeSB0aGUgaW1wYWN0IG9mIHRpcHMgYXBwbGllZCB0byBgT3BlcmF0aW9uYWxgOCB0cmFuc2FjdGlvbnMuAAkAXE11bHRpVHJhbnNhY3Rpb25QYXltZW50AVxNdWx0aVRyYW5zYWN0aW9uUGF5bWVudBBIQWNjb3VudEN1cnJlbmN5TWFwAAEEAgAQBAAEVCBBY2NvdW50IGN1cnJlbmN5IG1hcEhBY2NlcHRlZEN1cnJlbmNpZXMAAQQFEFEBBAAEZQEgQ3VyYXRlZCBsaXN0IG9mIGN1cnJlbmNpZXMgd2hpY2ggZmVlcyBjYW4gYmUgcGFpZCBtYXBwZWQgdG8gY29ycmVzcG9uZGluZyBmYWxsYmFjayBwcmljZVRBY2NlcHRlZEN1cnJlbmN5UHJpY2UAAQQFEFEBBAAEIQIgQXNzZXQgcHJpY2VzIGZyb20gdGhlIHNwb3QgcHJpY2UgcHJvdmlkZXIgb3IgdGhlIGZhbGxiYWNrIHByaWNlIGlmIHRoZSBwcmljZSBpcyBub3QgYXZhaWxhYmxlLiBVcGRhdGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgZXZlcnkgYmxvY2subFRyYW5zYWN0aW9uQ3VycmVuY3lPdmVycmlkZQABBAUAEAQAAAFNAQGIDDROYXRpdmVBc3NldElkEBAAAAAABDQgTmF0aXZlIEFzc2V0VFBvbGthZG90TmF0aXZlQXNzZXRJZBAQBQAAAARwIFBvbGthZG90IE5hdGl2ZSBBc3NldCAoRE9UKShFdm1Bc3NldElkEBAUAAAABCggRVZNIEFzc2V0AR0IywAgVHJlYXN1cnkBIFRyZWFzdXJ5GDRQcm9wb3NhbENvdW50AQAQEAAAAAAEpCBOdW1iZXIgb2YgcHJvcG9zYWxzIHRoYXQgaGF2ZSBiZWVuIG1hZGUuJFByb3Bvc2FscwABBAUQIQgEAAR8IFByb3Bvc2FscyB0aGF0IGhhdmUgYmVlbiBtYWRlLixEZWFjdGl2YXRlZAEAGEAAAAAAAAAAAAAAAAAAAAAABPAgVGhlIGFtb3VudCB3aGljaCBoYXMgYmVlbiByZXBvcnRlZCBhcyBpbmFjdGl2ZSB0byBDdXJyZW5jeS4kQXBwcm92YWxzAQAlCAQABPggUHJvcG9zYWwgaW5kaWNlcyB0aGF0IGhhdmUgYmVlbiBhcHByb3ZlZCBidXQgbm90IHlldCBhd2FyZGVkLihTcGVuZENvdW50AQAQEAAAAAAEpCBUaGUgY291bnQgb2Ygc3BlbmRzIHRoYXQgaGF2ZSBiZWVuIG1hZGUuGFNwZW5kcwABBAUQKQgEAATQIFNwZW5kcyB0aGF0IGhhdmUgYmVlbiBhcHByb3ZlZCBhbmQgYmVpbmcgcHJvY2Vzc2VkLgFlAQGMFCxTcGVuZFBlcmlvZBAQQDgAAASIIFBlcmlvZCBiZXR3ZWVuIHN1Y2Nlc3NpdmUgc3BlbmRzLhBCdXJuSQMQAAAAAAQRASBQZXJjZW50YWdlIG9mIHNwYXJlIGZ1bmRzIChpZiBhbnkpIHRoYXQgYXJlIGJ1cm50IHBlciBzcGVuZCBwZXJpb2QuIFBhbGxldElkMQggcHkvdHJzcnkEGQEgVGhlIHRyZWFzdXJ5J3MgcGFsbGV0IGlkLCB1c2VkIGZvciBkZXJpdmluZyBpdHMgc292ZXJlaWduIGFjY291bnQgSUQuME1heEFwcHJvdmFscxAQZAAAAAwVASBUaGUgbWF4aW11bSBudW1iZXIgb2YgYXBwcm92YWxzIHRoYXQgY2FuIHdhaXQgaW4gdGhlIHNwZW5kaW5nIHF1ZXVlLgBNASBOT1RFOiBUaGlzIHBhcmFtZXRlciBpcyBhbHNvIHVzZWQgd2l0aGluIHRoZSBCb3VudGllcyBQYWxsZXQgZXh0ZW5zaW9uIGlmIGVuYWJsZWQuMFBheW91dFBlcmlvZBAQgJcGAAQZASBUaGUgcGVyaW9kIGR1cmluZyB3aGljaCBhbiBhcHByb3ZlZCB0cmVhc3VyeSBzcGVuZCBoYXMgdG8gYmUgY2xhaW1lZC4BNQgLABxVdGlsaXR5AAFxAQGUBExiYXRjaGVkX2NhbGxzX2xpbWl0EBCqKgAABKggVGhlIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgYmF0Y2hlZCBjYWxscy4BOQgNACBQcmVpbWFnZQEgUHJlaW1hZ2UMJFN0YXR1c0ZvcgABBAY0PQgEAASQIFRoZSByZXF1ZXN0IHN0YXR1cyBvZiBhIGdpdmVuIGhhc2guQFJlcXVlc3RTdGF0dXNGb3IAAQQGNEUIBAAEkCBUaGUgcmVxdWVzdCBzdGF0dXMgb2YgYSBnaXZlbiBoYXNoLixQcmVpbWFnZUZvcgABBAZVCFkIBAAAAd0BAZwAAV0IDwAgSWRlbnRpdHkBIElkZW50aXR5HChJZGVudGl0eU9mAAEEBQBhCAQAEGkBIEluZm9ybWF0aW9uIHRoYXQgaXMgcGVydGluZW50IHRvIGlkZW50aWZ5IHRoZSBlbnRpdHkgYmVoaW5kIGFuIGFjY291bnQuIEZpcnN0IGl0ZW0gaXMgdGhl4CByZWdpc3RyYXRpb24sIHNlY29uZCBpcyB0aGUgYWNjb3VudCdzIHByaW1hcnkgdXNlcm5hbWUuAMAgVFdPWC1OT1RFOiBPSyDigJUgYEFjY291bnRJZGAgaXMgYSBzZWN1cmUgaGFzaC4cU3VwZXJPZgABBAIAfQIEAAhhASBUaGUgc3VwZXItaWRlbnRpdHkgb2YgYW4gYWx0ZXJuYXRpdmUgInN1YiIgaWRlbnRpdHkgdG9nZXRoZXIgd2l0aCBpdHMgbmFtZSwgd2l0aGluIHRoYXRRASBjb250ZXh0LiBJZiB0aGUgYWNjb3VudCBpcyBub3Qgc29tZSBvdGhlciBhY2NvdW50J3Mgc3ViLWlkZW50aXR5LCB0aGVuIGp1c3QgYE5vbmVgLhhTdWJzT2YBAQQFAHkIRAAAAAAAAAAAAAAAAAAAAAAAFLggQWx0ZXJuYXRpdmUgInN1YiIgaWRlbnRpdGllcyBvZiB0aGlzIGFjY291bnQuAB0BIFRoZSBmaXJzdCBpdGVtIGlzIHRoZSBkZXBvc2l0LCB0aGUgc2Vjb25kIGlzIGEgdmVjdG9yIG9mIHRoZSBhY2NvdW50cy4AwCBUV09YLU5PVEU6IE9LIOKAlSBgQWNjb3VudElkYCBpcyBhIHNlY3VyZSBoYXNoLihSZWdpc3RyYXJzAQCBCAQAEE0BIFRoZSBzZXQgb2YgcmVnaXN0cmFycy4gTm90IGV4cGVjdGVkIHRvIGdldCB2ZXJ5IGJpZyBhcyBjYW4gb25seSBiZSBhZGRlZCB0aHJvdWdoIGGoIHNwZWNpYWwgb3JpZ2luIChsaWtlbHkgYSBjb3VuY2lsIG1vdGlvbikuACkBIFRoZSBpbmRleCBpbnRvIHRoaXMgY2FuIGJlIGNhc3QgdG8gYFJlZ2lzdHJhckluZGV4YCB0byBnZXQgYSB2YWxpZCB2YWx1ZS5MVXNlcm5hbWVBdXRob3JpdGllcwABBAUAkQgEAAT0IEEgbWFwIG9mIHRoZSBhY2NvdW50cyB3aG8gYXJlIGF1dGhvcml6ZWQgdG8gZ3JhbnQgdXNlcm5hbWVzLkRBY2NvdW50T2ZVc2VybmFtZQABBAKkAAQAFG0BIFJldmVyc2UgbG9va3VwIGZyb20gYHVzZXJuYW1lYCB0byB0aGUgYEFjY291bnRJZGAgdGhhdCBoYXMgcmVnaXN0ZXJlZCBpdC4gVGhlIHZhbHVlIHNob3VsZGUBIGJlIGEga2V5IGluIHRoZSBgSWRlbnRpdHlPZmAgbWFwLCBidXQgaXQgbWF5IG5vdCBpZiB0aGUgdXNlciBoYXMgY2xlYXJlZCB0aGVpciBpZGVudGl0eS4AaQEgTXVsdGlwbGUgdXNlcm5hbWVzIG1heSBtYXAgdG8gdGhlIHNhbWUgYEFjY291bnRJZGAsIGJ1dCBgSWRlbnRpdHlPZmAgd2lsbCBvbmx5IG1hcCB0byBvbmVIIHByaW1hcnkgdXNlcm5hbWUuQFBlbmRpbmdVc2VybmFtZXMAAQQCpJkIBAAYbQEgVXNlcm5hbWVzIHRoYXQgYW4gYXV0aG9yaXR5IGhhcyBncmFudGVkLCBidXQgdGhhdCB0aGUgYWNjb3VudCBjb250cm9sbGVyIGhhcyBub3QgY29uZmlybWVkcQEgdGhhdCB0aGV5IHdhbnQgaXQuIFVzZWQgcHJpbWFyaWx5IGluIGNhc2VzIHdoZXJlIHRoZSBgQWNjb3VudElkYCBjYW5ub3QgcHJvdmlkZSBhIHNpZ25hdHVyZV0BIGJlY2F1c2UgdGhleSBhcmUgYSBwdXJlIHByb3h5LCBtdWx0aXNpZywgZXRjLiBJbiBvcmRlciB0byBjb25maXJtIGl0LCB0aGV5IHNob3VsZCBjYWxsbCBbYENhbGw6OmFjY2VwdF91c2VybmFtZWBdLgAdASBGaXJzdCB0dXBsZSBpdGVtIGlzIHRoZSBhY2NvdW50IGFuZCBzZWNvbmQgaXMgdGhlIGFjY2VwdGFuY2UgZGVhZGxpbmUuAeUBAaAgMEJhc2ljRGVwb3NpdBhAAEBjUr/GAQAAAAAAAAAAAATYIFRoZSBhbW91bnQgaGVsZCBvbiBkZXBvc2l0IGZvciBhIHJlZ2lzdGVyZWQgaWRlbnRpdHkuLEJ5dGVEZXBvc2l0GEAAoHJOGAkAAAAAAAAAAAAABB0BIFRoZSBhbW91bnQgaGVsZCBvbiBkZXBvc2l0IHBlciBlbmNvZGVkIGJ5dGUgZm9yIGEgcmVnaXN0ZXJlZCBpZGVudGl0eS5EU3ViQWNjb3VudERlcG9zaXQYQABAY1K/xgEAAAAAAAAAAAAMZQEgVGhlIGFtb3VudCBoZWxkIG9uIGRlcG9zaXQgZm9yIGEgcmVnaXN0ZXJlZCBzdWJhY2NvdW50LiBUaGlzIHNob3VsZCBhY2NvdW50IGZvciB0aGUgZmFjdGUBIHRoYXQgb25lIHN0b3JhZ2UgaXRlbSdzIHZhbHVlIHdpbGwgaW5jcmVhc2UgYnkgdGhlIHNpemUgb2YgYW4gYWNjb3VudCBJRCwgYW5kIHRoZXJlIHdpbGw1ASBiZSBhbm90aGVyIHRyaWUgaXRlbSB3aG9zZSB2YWx1ZSBpcyB0aGUgc2l6ZSBvZiBhbiBhY2NvdW50IElEIHBsdXMgMzIgYnl0ZXMuOE1heFN1YkFjY291bnRzEBBkAAAABA0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBzdWItYWNjb3VudHMgYWxsb3dlZCBwZXIgaWRlbnRpZmllZCBhY2NvdW50LjRNYXhSZWdpc3RyYXJzEBAUAAAACE0BIE1heGltdW0gbnVtYmVyIG9mIHJlZ2lzdHJhcnMgYWxsb3dlZCBpbiB0aGUgc3lzdGVtLiBOZWVkZWQgdG8gYm91bmQgdGhlIGNvbXBsZXhpdHl8IG9mLCBlLmcuLCB1cGRhdGluZyBqdWRnZW1lbnRzLmRQZW5kaW5nVXNlcm5hbWVFeHBpcmF0aW9uEBDAiQEABBUBIFRoZSBudW1iZXIgb2YgYmxvY2tzIHdpdGhpbiB3aGljaCBhIHVzZXJuYW1lIGdyYW50IG11c3QgYmUgYWNjZXB0ZWQuPE1heFN1ZmZpeExlbmd0aBAQBwAAAASAIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhIHN1ZmZpeC5ETWF4VXNlcm5hbWVMZW5ndGgQECAAAAAEYQEgVGhlIG1heGltdW0gbGVuZ3RoIG9mIGEgdXNlcm5hbWUsIGluY2x1ZGluZyBpdHMgc3VmZml4IGFuZCBhbnkgc3lzdGVtLWFkZGVkIGRlbGltaXRlcnMuAZ0IEQAkRGVtb2NyYWN5ASREZW1vY3JhY3kwPFB1YmxpY1Byb3BDb3VudAEAEBAAAAAABPQgVGhlIG51bWJlciBvZiAocHVibGljKSBwcm9wb3NhbHMgdGhhdCBoYXZlIGJlZW4gbWFkZSBzbyBmYXIuLFB1YmxpY1Byb3BzAQChCAQABAUBIFRoZSBwdWJsaWMgcHJvcG9zYWxzLiBVbnNvcnRlZC4gVGhlIHNlY29uZCBpdGVtIGlzIHRoZSBwcm9wb3NhbC4kRGVwb3NpdE9mAAEEBRCtCAQADIQgVGhvc2Ugd2hvIGhhdmUgbG9ja2VkIGEgZGVwb3NpdC4A2CBUV09YLU5PVEU6IFNhZmUsIGFzIGluY3JlYXNpbmcgaW50ZWdlciBrZXlzIGFyZSBzYWZlLjxSZWZlcmVuZHVtQ291bnQBABAQAAAAAAQxASBUaGUgbmV4dCBmcmVlIHJlZmVyZW5kdW0gaW5kZXgsIGFrYSB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kYSBzdGFydGVkIHNvIGZhci40TG93ZXN0VW5iYWtlZAEAEBAAAAAACCUBIFRoZSBsb3dlc3QgcmVmZXJlbmR1bSBpbmRleCByZXByZXNlbnRpbmcgYW4gdW5iYWtlZCByZWZlcmVuZHVtLiBFcXVhbCB0b9wgYFJlZmVyZW5kdW1Db3VudGAgaWYgdGhlcmUgaXNuJ3QgYSB1bmJha2VkIHJlZmVyZW5kdW0uQFJlZmVyZW5kdW1JbmZvT2YAAQQFELUIBAAMtCBJbmZvcm1hdGlvbiBjb25jZXJuaW5nIGFueSBnaXZlbiByZWZlcmVuZHVtLgAJASBUV09YLU5PVEU6IFNBRkUgYXMgaW5kZXhlcyBhcmUgbm90IHVuZGVyIGFuIGF0dGFja2Vy4oCZcyBjb250cm9sLiBWb3RpbmdPZgEBBAUAwQjYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEF0BIEFsbCB2b3RlcyBmb3IgYSBwYXJ0aWN1bGFyIHZvdGVyLiBXZSBzdG9yZSB0aGUgYmFsYW5jZSBmb3IgdGhlIG51bWJlciBvZiB2b3RlcyB0aGF0IHdlXQEgaGF2ZSByZWNvcmRlZC4gVGhlIHNlY29uZCBpdGVtIGlzIHRoZSB0b3RhbCBhbW91bnQgb2YgZGVsZWdhdGlvbnMsIHRoYXQgd2lsbCBiZSBhZGRlZC4A6CBUV09YLU5PVEU6IFNBRkUgYXMgYEFjY291bnRJZGBzIGFyZSBjcnlwdG8gaGFzaGVzIGFueXdheS5UTGFzdFRhYmxlZFdhc0V4dGVybmFsAQAgBAAIWQEgVHJ1ZSBpZiB0aGUgbGFzdCByZWZlcmVuZHVtIHRhYmxlZCB3YXMgc3VibWl0dGVkIGV4dGVybmFsbHkuIEZhbHNlIGlmIGl0IHdhcyBhIHB1YmxpYyggcHJvcG9zYWwuME5leHRFeHRlcm5hbAAA2QgEABBZASBUaGUgcmVmZXJlbmR1bSB0byBiZSB0YWJsZWQgd2hlbmV2ZXIgaXQgd291bGQgYmUgdmFsaWQgdG8gdGFibGUgYW4gZXh0ZXJuYWwgcHJvcG9zYWwuVQEgVGhpcyBoYXBwZW5zIHdoZW4gYSByZWZlcmVuZHVtIG5lZWRzIHRvIGJlIHRhYmxlZCBhbmQgb25lIG9mIHR3byBjb25kaXRpb25zIGFyZSBtZXQ6pCAtIGBMYXN0VGFibGVkV2FzRXh0ZXJuYWxgIGlzIGBmYWxzZWA7IG9yaCAtIGBQdWJsaWNQcm9wc2AgaXMgZW1wdHkuJEJsYWNrbGlzdAABBAY03QgEAAhRASBBIHJlY29yZCBvZiB3aG8gdmV0b2VkIHdoYXQuIE1hcHMgcHJvcG9zYWwgaGFzaCB0byBhIHBvc3NpYmxlIGV4aXN0ZW50IGJsb2NrIG51bWJlcuggKHVudGlsIHdoZW4gaXQgbWF5IG5vdCBiZSByZXN1Ym1pdHRlZCkgYW5kIHdobyB2ZXRvZWQgaXQuNENhbmNlbGxhdGlvbnMBAQQGNCAEAAQpASBSZWNvcmQgb2YgYWxsIHByb3Bvc2FscyB0aGF0IGhhdmUgYmVlbiBzdWJqZWN0IHRvIGVtZXJnZW5jeSBjYW5jZWxsYXRpb24uKE1ldGFkYXRhT2YAAQQCuDQEABjsIEdlbmVyYWwgaW5mb3JtYXRpb24gY29uY2VybmluZyBhbnkgcHJvcG9zYWwgb3IgcmVmZXJlbmR1bS5JASBUaGUgYEhhc2hgIHJlZmVycyB0byB0aGUgcHJlaW1hZ2Ugb2YgdGhlIGBQcmVpbWFnZXNgIHByb3ZpZGVyIHdoaWNoIGNhbiBiZSBhIEpTT06IIGR1bXAgb3IgSVBGUyBoYXNoIG9mIGEgSlNPTiBmaWxlLgB1ASBDb25zaWRlciBhIGdhcmJhZ2UgY29sbGVjdGlvbiBmb3IgYSBtZXRhZGF0YSBvZiBmaW5pc2hlZCByZWZlcmVuZHVtcyB0byBgdW5yZXF1ZXN0YCAocmVtb3ZlKUQgbGFyZ2UgcHJlaW1hZ2VzLgGVAgGoMDxFbmFjdG1lbnRQZXJpb2QQEEA4AAAU6CBUaGUgcGVyaW9kIGJldHdlZW4gYSBwcm9wb3NhbCBiZWluZyBhcHByb3ZlZCBhbmQgZW5hY3RlZC4AMQEgSXQgc2hvdWxkIGdlbmVyYWxseSBiZSBhIGxpdHRsZSBtb3JlIHRoYW4gdGhlIHVuc3Rha2UgcGVyaW9kIHRvIGVuc3VyZSB0aGF0UQEgdm90aW5nIHN0YWtlcnMgaGF2ZSBhbiBvcHBvcnR1bml0eSB0byByZW1vdmUgdGhlbXNlbHZlcyBmcm9tIHRoZSBzeXN0ZW0gaW4gdGhlIGNhc2W0IHdoZXJlIHRoZXkgYXJlIG9uIHRoZSBsb3Npbmcgc2lkZSBvZiBhIHZvdGUuMExhdW5jaFBlcmlvZBAQwKgAAATkIEhvdyBvZnRlbiAoaW4gYmxvY2tzKSBuZXcgcHVibGljIHJlZmVyZW5kYSBhcmUgbGF1bmNoZWQuMFZvdGluZ1BlcmlvZBAQwKgAAAS4IEhvdyBvZnRlbiAoaW4gYmxvY2tzKSB0byBjaGVjayBmb3IgbmV3IHZvdGVzLkRWb3RlTG9ja2luZ1BlcmlvZBAQgFEBABCQIFRoZSBtaW5pbXVtIHBlcmlvZCBvZiB2b3RlIGxvY2tpbmcuAGUBIEl0IHNob3VsZCBiZSBubyBzaG9ydGVyIHRoYW4gZW5hY3RtZW50IHBlcmlvZCB0byBlbnN1cmUgdGhhdCBpbiB0aGUgY2FzZSBvZiBhbiBhcHByb3ZhbCxJASB0aG9zZSBzdWNjZXNzZnVsIHZvdGVycyBhcmUgbG9ja2VkIGludG8gdGhlIGNvbnNlcXVlbmNlcyB0aGF0IHRoZWlyIHZvdGVzIGVudGFpbC44TWluaW11bURlcG9zaXQYQAAAil14RWMBAAAAAAAAAAAENQEgVGhlIG1pbmltdW0gYW1vdW50IHRvIGJlIHVzZWQgYXMgYSBkZXBvc2l0IGZvciBhIHB1YmxpYyByZWZlcmVuZHVtIHByb3Bvc2FsLjhJbnN0YW50QWxsb3dlZCAEAQxVASBJbmRpY2F0b3IgZm9yIHdoZXRoZXIgYW4gZW1lcmdlbmN5IG9yaWdpbiBpcyBldmVuIGFsbG93ZWQgdG8gaGFwcGVuLiBTb21lIGNoYWlucyBtYXlhASB3YW50IHRvIHNldCB0aGlzIHBlcm1hbmVudGx5IHRvIGBmYWxzZWAsIG90aGVycyBtYXkgd2FudCB0byBjb25kaXRpb24gaXQgb24gdGhpbmdzIHN1Y2igIGFzIGFuIHVwZ3JhZGUgaGF2aW5nIGhhcHBlbmVkIHJlY2VudGx5LlRGYXN0VHJhY2tWb3RpbmdQZXJpb2QQEAgHAAAE7CBNaW5pbXVtIHZvdGluZyBwZXJpb2QgYWxsb3dlZCBmb3IgYSBmYXN0LXRyYWNrIHJlZmVyZW5kdW0uNENvb2xvZmZQZXJpb2QQEMCJAQAEYQEgUGVyaW9kIGluIGJsb2NrcyB3aGVyZSBhbiBleHRlcm5hbCBwcm9wb3NhbCBtYXkgbm90IGJlIHJlLXN1Ym1pdHRlZCBhZnRlciBiZWluZyB2ZXRvZWQuIE1heFZvdGVzEBBkAAAAELAgVGhlIG1heGltdW0gbnVtYmVyIG9mIHZvdGVzIGZvciBhbiBhY2NvdW50LgDUIEFsc28gdXNlZCB0byBjb21wdXRlIHdlaWdodCwgYW4gb3Zlcmx5IGJpZyB2YWx1ZSBjYW4VASBsZWFkIHRvIGV4dHJpbnNpYyB3aXRoIHZlcnkgYmlnIHdlaWdodDogc2VlIGBkZWxlZ2F0ZWAgZm9yIGluc3RhbmNlLjBNYXhQcm9wb3NhbHMQEGQAAAAEDQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIHB1YmxpYyBwcm9wb3NhbHMgdGhhdCBjYW4gZXhpc3QgYXQgYW55IHRpbWUuLE1heERlcG9zaXRzEBBkAAAABB0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBkZXBvc2l0cyBhIHB1YmxpYyBwcm9wb3NhbCBtYXkgaGF2ZSBhdCBhbnkgdGltZS44TWF4QmxhY2tsaXN0ZWQQEGQAAAAE2CBUaGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgd2hpY2ggY2FuIGJlIGJsYWNrbGlzdGVkLgHhCBMAJEVsZWN0aW9ucwEkRWxlY3Rpb25zFBxNZW1iZXJzAQDlCAQADHQgVGhlIGN1cnJlbnQgZWxlY3RlZCBtZW1iZXJzLgC4IEludmFyaWFudDogQWx3YXlzIHNvcnRlZCBiYXNlZCBvbiBhY2NvdW50IGlkLiRSdW5uZXJzVXABAOUIBAAQhCBUaGUgY3VycmVudCByZXNlcnZlZCBydW5uZXJzLXVwLgBZASBJbnZhcmlhbnQ6IEFsd2F5cyBzb3J0ZWQgYmFzZWQgb24gcmFuayAod29yc2UgdG8gYmVzdCkuIFVwb24gcmVtb3ZhbCBvZiBhIG1lbWJlciwgdGhlvCBsYXN0IChpLmUuIF9iZXN0XykgcnVubmVyLXVwIHdpbGwgYmUgcmVwbGFjZWQuKENhbmRpZGF0ZXMBAMAEABhZASBUaGUgcHJlc2VudCBjYW5kaWRhdGUgbGlzdC4gQSBjdXJyZW50IG1lbWJlciBvciBydW5uZXItdXAgY2FuIG5ldmVyIGVudGVyIHRoaXMgdmVjdG9y0CBhbmQgaXMgYWx3YXlzIGltcGxpY2l0bHkgYXNzdW1lZCB0byBiZSBhIGNhbmRpZGF0ZS4AfCBTZWNvbmQgZWxlbWVudCBpcyB0aGUgZGVwb3NpdC4AuCBJbnZhcmlhbnQ6IEFsd2F5cyBzb3J0ZWQgYmFzZWQgb24gYWNjb3VudCBpZC44RWxlY3Rpb25Sb3VuZHMBABAQAAAAAARBASBUaGUgdG90YWwgbnVtYmVyIG9mIHZvdGUgcm91bmRzIHRoYXQgaGF2ZSBoYXBwZW5lZCwgZXhjbHVkaW5nIHRoZSB1cGNvbWluZyBvbmUuGFZvdGluZwEBBAUA7QiEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLggVm90ZXMgYW5kIGxvY2tlZCBzdGFrZSBvZiBhIHBhcnRpY3VsYXIgdm90ZXIuAMQgVFdPWC1OT1RFOiBTQUZFIGFzIGBBY2NvdW50SWRgIGlzIGEgY3J5cHRvIGhhc2guAaECAbwoIFBhbGxldElkFQIgcGhyZWxlY3QE0CBJZGVudGlmaWVyIGZvciB0aGUgZWxlY3Rpb25zLXBocmFnbWVuIHBhbGxldCdzIGxvY2s0Q2FuZGlkYWN5Qm9uZBhAAEBjUr/GAQAAAAAAAAAAAAQFASBIb3cgbXVjaCBzaG91bGQgYmUgbG9ja2VkIHVwIGluIG9yZGVyIHRvIHN1Ym1pdCBvbmUncyBjYW5kaWRhY3kuOFZvdGluZ0JvbmRCYXNlGEAAEKXU6AAAAAAAAAAAAAAAEJQgQmFzZSBkZXBvc2l0IGFzc29jaWF0ZWQgd2l0aCB2b3RpbmcuAFUBIFRoaXMgc2hvdWxkIGJlIHNlbnNpYmx5IGhpZ2ggdG8gZWNvbm9taWNhbGx5IGVuc3VyZSB0aGUgcGFsbGV0IGNhbm5vdCBiZSBhdHRhY2tlZCBieZQgY3JlYXRpbmcgYSBnaWdhbnRpYyBudW1iZXIgb2Ygdm90ZXMuQFZvdGluZ0JvbmRGYWN0b3IYQAAQpdToAAAAAAAAAAAAAAAEEQEgVGhlIGFtb3VudCBvZiBib25kIHRoYXQgbmVlZCB0byBiZSBsb2NrZWQgZm9yIGVhY2ggdm90ZSAoMzIgYnl0ZXMpLjhEZXNpcmVkTWVtYmVycxAQDQAAAARwIE51bWJlciBvZiBtZW1iZXJzIHRvIGVsZWN0LkBEZXNpcmVkUnVubmVyc1VwEBAPAAAABHggTnVtYmVyIG9mIHJ1bm5lcnNfdXAgdG8ga2VlcC4wVGVybUR1cmF0aW9uEBDAiQEADFEBIEhvdyBsb25nIGVhY2ggc2VhdCBpcyBrZXB0LiBUaGlzIGRlZmluZXMgdGhlIG5leHQgYmxvY2sgbnVtYmVyIGF0IHdoaWNoIGFuIGVsZWN0aW9uXQEgcm91bmQgd2lsbCBoYXBwZW4uIElmIHNldCB0byB6ZXJvLCBubyBlbGVjdGlvbnMgYXJlIGV2ZXIgdHJpZ2dlcmVkIGFuZCB0aGUgbW9kdWxlIHdpbGxQIGJlIGluIHBhc3NpdmUgbW9kZS40TWF4Q2FuZGlkYXRlcxAQZAAAABjkIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjYW5kaWRhdGVzIGluIGEgcGhyYWdtZW4gZWxlY3Rpb24uAF0BIFdhcm5pbmc6IFRoaXMgaW1wYWN0cyB0aGUgc2l6ZSBvZiB0aGUgZWxlY3Rpb24gd2hpY2ggaXMgcnVuIG9uY2hhaW4uIENob3NlIHdpc2VseSwgYW5kAQEgY29uc2lkZXIgaG93IGl0IHdpbGwgaW1wYWN0IGBUOjpXZWlnaHRJbmZvOjplbGVjdGlvbl9waHJhZ21lbmAuADEBIFdoZW4gdGhpcyBsaW1pdCBpcyByZWFjaGVkIG5vIG1vcmUgY2FuZGlkYXRlcyBhcmUgYWNjZXB0ZWQgaW4gdGhlIGVsZWN0aW9uLiRNYXhWb3RlcnMQEAADAAAY+CBUaGUgbWF4aW11bSBudW1iZXIgb2Ygdm90ZXJzIHRvIGFsbG93IGluIGEgcGhyYWdtZW4gZWxlY3Rpb24uAF0BIFdhcm5pbmc6IFRoaXMgaW1wYWN0cyB0aGUgc2l6ZSBvZiB0aGUgZWxlY3Rpb24gd2hpY2ggaXMgcnVuIG9uY2hhaW4uIENob3NlIHdpc2VseSwgYW5kAQEgY29uc2lkZXIgaG93IGl0IHdpbGwgaW1wYWN0IGBUOjpXZWlnaHRJbmZvOjplbGVjdGlvbl9waHJhZ21lbmAuANggV2hlbiB0aGUgbGltaXQgaXMgcmVhY2hlZCB0aGUgbmV3IHZvdGVycyBhcmUgaWdub3JlZC5ATWF4Vm90ZXNQZXJWb3RlchAQCgAAABCQIE1heGltdW0gbnVtYmVycyBvZiB2b3RlcyBwZXIgdm90ZXIuAF0BIFdhcm5pbmc6IFRoaXMgaW1wYWN0cyB0aGUgc2l6ZSBvZiB0aGUgZWxlY3Rpb24gd2hpY2ggaXMgcnVuIG9uY2hhaW4uIENob3NlIHdpc2VseSwgYW5kAQEgY29uc2lkZXIgaG93IGl0IHdpbGwgaW1wYWN0IGBUOjpXZWlnaHRJbmZvOjplbGVjdGlvbl9waHJhZ21lbmAuAfEIFQAcQ291bmNpbAEcQ291bmNpbBgkUHJvcG9zYWxzAQD1CAQABJAgVGhlIGhhc2hlcyBvZiB0aGUgYWN0aXZlIHByb3Bvc2Fscy4oUHJvcG9zYWxPZgABBAY0JQEEAATMIEFjdHVhbCBwcm9wb3NhbCBmb3IgYSBnaXZlbiBoYXNoLCBpZiBpdCdzIGN1cnJlbnQuGFZvdGluZwABBAY0+QgEAAS0IFZvdGVzIG9uIGEgZ2l2ZW4gcHJvcG9zYWwsIGlmIGl0IGlzIG9uZ29pbmcuNFByb3Bvc2FsQ291bnQBABAQAAAAAARIIFByb3Bvc2FscyBzbyBmYXIuHE1lbWJlcnMBAEUBBAAEOQEgVGhlIGN1cnJlbnQgbWVtYmVycyBvZiB0aGUgY29sbGVjdGl2ZS4gVGhpcyBpcyBzdG9yZWQgc29ydGVkIChqdXN0IGJ5IHZhbHVlKS4UUHJpbWUAAAAEAARhASBUaGUgcHJpbWUgbWVtYmVyIHRoYXQgaGVscHMgZGV0ZXJtaW5lIHRoZSBkZWZhdWx0IHZvdGUgYmVoYXZpb3IgaW4gY2FzZSBvZiBhYnN0ZW50aW9ucy4BqQIByARETWF4UHJvcG9zYWxXZWlnaHQoKAcAEKXU6AIAoAAEJQEgVGhlIG1heGltdW0gd2VpZ2h0IG9mIGEgZGlzcGF0Y2ggY2FsbCB0aGF0IGNhbiBiZSBwcm9wb3NlZCBhbmQgZXhlY3V0ZWQuAf0IFwBIVGVjaG5pY2FsQ29tbWl0dGVlAUhUZWNobmljYWxDb21taXR0ZWUYJFByb3Bvc2FscwEAAQkEAASQIFRoZSBoYXNoZXMgb2YgdGhlIGFjdGl2ZSBwcm9wb3NhbHMuKFByb3Bvc2FsT2YAAQQGNCUBBAAEzCBBY3R1YWwgcHJvcG9zYWwgZm9yIGEgZ2l2ZW4gaGFzaCwgaWYgaXQncyBjdXJyZW50LhhWb3RpbmcAAQQGNPkIBAAEtCBWb3RlcyBvbiBhIGdpdmVuIHByb3Bvc2FsLCBpZiBpdCBpcyBvbmdvaW5nLjRQcm9wb3NhbENvdW50AQAQEAAAAAAESCBQcm9wb3NhbHMgc28gZmFyLhxNZW1iZXJzAQBFAQQABDkBIFRoZSBjdXJyZW50IG1lbWJlcnMgb2YgdGhlIGNvbGxlY3RpdmUuIFRoaXMgaXMgc3RvcmVkIHNvcnRlZCAoanVzdCBieSB2YWx1ZSkuFFByaW1lAAAABAAEYQEgVGhlIHByaW1lIG1lbWJlciB0aGF0IGhlbHBzIGRldGVybWluZSB0aGUgZGVmYXVsdCB2b3RlIGJlaGF2aW9yIGluIGNhc2Ugb2YgYWJzdGVudGlvbnMuAa0CAcwERE1heFByb3Bvc2FsV2VpZ2h0KCgHABCl1OgCAKAABCUBIFRoZSBtYXhpbXVtIHdlaWdodCBvZiBhIGRpc3BhdGNoIGNhbGwgdGhhdCBjYW4gYmUgcHJvcG9zZWQgYW5kIGV4ZWN1dGVkLgEFCRkAEFRpcHMBEFRpcHMIEFRpcHMAAQQFNAkJBAAMZQEgVGlwc01hcCB0aGF0IGFyZSBub3QgeWV0IGNvbXBsZXRlZC4gS2V5ZWQgYnkgdGhlIGhhc2ggb2YgYChyZWFzb24sIHdobylgIGZyb20gdGhlIHZhbHVlLj0BIFRoaXMgaGFzIHRoZSBpbnNlY3VyZSBlbnVtZXJhYmxlIGhhc2ggZnVuY3Rpb24gc2luY2UgdGhlIGtleSBpdHNlbGYgaXMgYWxyZWFkeYAgZ3VhcmFudGVlZCB0byBiZSBhIHNlY3VyZSBoYXNoLhxSZWFzb25zAAEEBjQ4BAAISQEgU2ltcGxlIHByZWltYWdlIGxvb2t1cCBmcm9tIHRoZSByZWFzb24ncyBoYXNoIHRvIHRoZSBvcmlnaW5hbCBkYXRhLiBBZ2FpbiwgaGFzIGFuYQEgaW5zZWN1cmUgZW51bWVyYWJsZSBoYXNoIHNpbmNlIHRoZSBrZXkgaXMgZ3VhcmFudGVlZCB0byBiZSB0aGUgcmVzdWx0IG9mIGEgc2VjdXJlIGhhc2guAbECAdAYTE1heGltdW1SZWFzb25MZW5ndGgQEAAEAAAMiCBNYXhpbXVtIGFjY2VwdGFibGUgcmVhc29uIGxlbmd0aC4AZQEgQmVuY2htYXJrcyBkZXBlbmQgb24gdGhpcyB2YWx1ZSwgYmUgc3VyZSB0byB1cGRhdGUgd2VpZ2h0cyBmaWxlIHdoZW4gY2hhbmdpbmcgdGhpcyB2YWx1ZUhEYXRhRGVwb3NpdFBlckJ5dGUYQAAQpdToAAAAAAAAAAAAAAAEYQEgVGhlIGFtb3VudCBoZWxkIG9uIGRlcG9zaXQgcGVyIGJ5dGUgd2l0aGluIHRoZSB0aXAgcmVwb3J0IHJlYXNvbiBvciBib3VudHkgZGVzY3JpcHRpb24uMFRpcENvdW50ZG93bhAQQDgAAARFASBUaGUgcGVyaW9kIGZvciB3aGljaCBhIHRpcCByZW1haW5zIG9wZW4gYWZ0ZXIgaXMgaGFzIGFjaGlldmVkIHRocmVzaG9sZCB0aXBwZXJzLjRUaXBGaW5kZXJzRmVlDQkEAQQ1ASBUaGUgcGVyY2VudCBvZiB0aGUgZmluYWwgdGlwIHdoaWNoIGdvZXMgdG8gdGhlIG9yaWdpbmFsIHJlcG9ydGVyIG9mIHRoZSB0aXAuUFRpcFJlcG9ydERlcG9zaXRCYXNlGEAAgMakfo0DAAAAAAAAAAAABPggVGhlIG5vbi16ZXJvIGFtb3VudCBoZWxkIG9uIGRlcG9zaXQgZm9yIHBsYWNpbmcgYSB0aXAgcmVwb3J0LjBNYXhUaXBBbW91bnQYQAAA9ESCkWNFAAAAAAAAAAAElCBUaGUgbWF4aW11bSBhbW91bnQgZm9yIGEgc2luZ2xlIHRpcC4BEQkbABRQcm94eQEUUHJveHkIHFByb3hpZXMBAQQFABUJRAAAAAAAAAAAAAAAAAAAAAAACEUBIFRoZSBzZXQgb2YgYWNjb3VudCBwcm94aWVzLiBNYXBzIHRoZSBhY2NvdW50IHdoaWNoIGhhcyBkZWxlZ2F0ZWQgdG8gdGhlIGFjY291bnRzIQEgd2hpY2ggYXJlIGJlaW5nIGRlbGVnYXRlZCB0bywgdG9nZXRoZXIgd2l0aCB0aGUgYW1vdW50IGhlbGQgb24gZGVwb3NpdC40QW5ub3VuY2VtZW50cwEBBAUAJQlEAAAAAAAAAAAAAAAAAAAAAAAErCBUaGUgYW5ub3VuY2VtZW50cyBtYWRlIGJ5IHRoZSBwcm94eSAoa2V5KS4BtQIB1BhAUHJveHlEZXBvc2l0QmFzZRhAAOARAh62AAAAAAAAAAAAABARASBUaGUgYmFzZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHRvIHJlc2VydmUgZm9yIGNyZWF0aW5nIGEgcHJveHkuAAEBIFRoaXMgaXMgaGVsZCBmb3IgYW4gYWRkaXRpb25hbCBzdG9yYWdlIGl0ZW0gd2hvc2UgdmFsdWUgc2l6ZSBpcyUBIGBzaXplb2YoQmFsYW5jZSlgIGJ5dGVzIGFuZCB3aG9zZSBrZXkgc2l6ZSBpcyBgc2l6ZW9mKEFjY291bnRJZClgIGJ5dGVzLkhQcm94eURlcG9zaXRGYWN0b3IYQAAsmYDmAAAAAAAAAAAAAAAUvCBUaGUgYW1vdW50IG9mIGN1cnJlbmN5IG5lZWRlZCBwZXIgcHJveHkgYWRkZWQuADUBIFRoaXMgaXMgaGVsZCBmb3IgYWRkaW5nIDMyIGJ5dGVzIHBsdXMgYW4gaW5zdGFuY2Ugb2YgYFByb3h5VHlwZWAgbW9yZSBpbnRvIGFhASBwcmUtZXhpc3Rpbmcgc3RvcmFnZSB2YWx1ZS4gVGh1cywgd2hlbiBjb25maWd1cmluZyBgUHJveHlEZXBvc2l0RmFjdG9yYCBvbmUgc2hvdWxkIHRha2X0IGludG8gYWNjb3VudCBgMzIgKyBwcm94eV90eXBlLmVuY29kZSgpLmxlbigpYCBieXRlcyBvZiBkYXRhLihNYXhQcm94aWVzEBAgAAAABPAgVGhlIG1heGltdW0gYW1vdW50IG9mIHByb3hpZXMgYWxsb3dlZCBmb3IgYSBzaW5nbGUgYWNjb3VudC4oTWF4UGVuZGluZxAQIAAAAARFASBUaGUgbWF4aW11bSBhbW91bnQgb2YgdGltZS1kZWxheWVkIGFubm91bmNlbWVudHMgdGhhdCBhcmUgYWxsb3dlZCB0byBiZSBwZW5kaW5nLlxBbm5vdW5jZW1lbnREZXBvc2l0QmFzZRhAAOARAh62AAAAAAAAAAAAABAxASBUaGUgYmFzZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHRvIHJlc2VydmUgZm9yIGNyZWF0aW5nIGFuIGFubm91bmNlbWVudC4ASQEgVGhpcyBpcyBoZWxkIHdoZW4gYSBuZXcgc3RvcmFnZSBpdGVtIGhvbGRpbmcgYSBgQmFsYW5jZWAgaXMgY3JlYXRlZCAodHlwaWNhbGx5IDE2ICBieXRlcykuZEFubm91bmNlbWVudERlcG9zaXRGYWN0b3IYQABYMgHNAQAAAAAAAAAAAAAQ1CBUaGUgYW1vdW50IG9mIGN1cnJlbmN5IG5lZWRlZCBwZXIgYW5ub3VuY2VtZW50IG1hZGUuAFkBIFRoaXMgaXMgaGVsZCBmb3IgYWRkaW5nIGFuIGBBY2NvdW50SWRgLCBgSGFzaGAgYW5kIGBCbG9ja051bWJlcmAgKHR5cGljYWxseSA2OCBieXRlcymMIGludG8gYSBwcmUtZXhpc3Rpbmcgc3RvcmFnZSB2YWx1ZS4BNQkdACBNdWx0aXNpZwEgTXVsdGlzaWcEJE11bHRpc2lncwABCAUCOQk9CQQABJQgVGhlIHNldCBvZiBvcGVuIG11bHRpc2lnIG9wZXJhdGlvbnMuAb0CAeAMLERlcG9zaXRCYXNlGEAAoDfNTLgAAAAAAAAAAAAAGFkBIFRoZSBiYXNlIGFtb3VudCBvZiBjdXJyZW5jeSBuZWVkZWQgdG8gcmVzZXJ2ZSBmb3IgY3JlYXRpbmcgYSBtdWx0aXNpZyBleGVjdXRpb24gb3IgdG+EIHN0b3JlIGEgZGlzcGF0Y2ggY2FsbCBmb3IgbGF0ZXIuAAEBIFRoaXMgaXMgaGVsZCBmb3IgYW4gYWRkaXRpb25hbCBzdG9yYWdlIGl0ZW0gd2hvc2UgdmFsdWUgc2l6ZSBpczEBIGA0ICsgc2l6ZW9mKChCbG9ja051bWJlciwgQmFsYW5jZSwgQWNjb3VudElkKSlgIGJ5dGVzIGFuZCB3aG9zZSBrZXkgc2l6ZSBpc4AgYDMyICsgc2l6ZW9mKEFjY291bnRJZClgIGJ5dGVzLjREZXBvc2l0RmFjdG9yGEAAgHWE3wAAAAAAAAAAAAAADFUBIFRoZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHBlciB1bml0IHRocmVzaG9sZCB3aGVuIGNyZWF0aW5nIGEgbXVsdGlzaWcgZXhlY3V0aW9uLgAlASBUaGlzIGlzIGhlbGQgZm9yIGFkZGluZyAzMiBieXRlcyBtb3JlIGludG8gYSBwcmUtZXhpc3Rpbmcgc3RvcmFnZSB2YWx1ZS44TWF4U2lnbmF0b3JpZXMQEGQAAAAE7CBUaGUgbWF4aW11bSBhbW91bnQgb2Ygc2lnbmF0b3JpZXMgYWxsb3dlZCBpbiB0aGUgbXVsdGlzaWcuAUUJHwAcVW5pcXVlcwEcVW5pcXVlcygUQ2xhc3MAAQQCGEkJBAAEZCBEZXRhaWxzIG9mIGEgY29sbGVjdGlvbi5MT3duZXJzaGlwQWNjZXB0YW5jZQABBAIAGAQABCkBIFRoZSBjb2xsZWN0aW9uLCBpZiBhbnksIG9mIHdoaWNoIGFuIGFjY291bnQgaXMgd2lsbGluZyB0byB0YWtlIG93bmVyc2hpcC4cQWNjb3VudAABDAICAk0JkAQACFkBIFRoZSBpdGVtcyBoZWxkIGJ5IGFueSBnaXZlbiBhY2NvdW50OyBzZXQgb3V0IHRoaXMgd2F5IHNvIHRoYXQgaXRlbXMgb3duZWQgYnkgYSBzaW5nbGVsIGFjY291bnQgY2FuIGJlIGVudW1lcmF0ZWQuMENsYXNzQWNjb3VudAABCAICxJAEAAhpASBUaGUgY29sbGVjdGlvbnMgb3duZWQgYnkgYW55IGdpdmVuIGFjY291bnQ7IHNldCBvdXQgdGhpcyB3YXkgc28gdGhhdCBjb2xsZWN0aW9ucyBvd25lZCBieZAgYSBzaW5nbGUgYWNjb3VudCBjYW4gYmUgZW51bWVyYXRlZC4UQXNzZXQAAQgCAlEDUQkEAATQIFRoZSBpdGVtcyBpbiBleGlzdGVuY2UgYW5kIHRoZWlyIG93bmVyc2hpcCBkZXRhaWxzLjxDbGFzc01ldGFkYXRhT2YAAQQCGFUJBAAEaCBNZXRhZGF0YSBvZiBhIGNvbGxlY3Rpb24uSEluc3RhbmNlTWV0YWRhdGFPZgABCAICUQNZCQQABFQgTWV0YWRhdGEgb2YgYW4gaXRlbS4kQXR0cmlidXRlAAEMAgICXQlhCQQABHAgQXR0cmlidXRlcyBvZiBhIGNvbGxlY3Rpb24uLEl0ZW1QcmljZU9mAAEIAgJRA2UJBAAEcCBQcmljZSBvZiBhbiBhc3NldCBpbnN0YW5jZS5MQ29sbGVjdGlvbk1heFN1cHBseQABBAIYEAQABPAgS2VlcHMgdHJhY2sgb2YgdGhlIG51bWJlciBvZiBpdGVtcyBhIGNvbGxlY3Rpb24gbWlnaHQgaGF2ZS4BxQIB6CBEQ29sbGVjdGlvbkRlcG9zaXQYQAAAAAAAAAAAAAAAAAAAAAAEAQEgVGhlIGJhc2ljIGFtb3VudCBvZiBmdW5kcyB0aGF0IG11c3QgYmUgcmVzZXJ2ZWQgZm9yIGNvbGxlY3Rpb24uLEl0ZW1EZXBvc2l0GEAAAAAAAAAAAAAAAAAAAAAABPQgVGhlIGJhc2ljIGFtb3VudCBvZiBmdW5kcyB0aGF0IG11c3QgYmUgcmVzZXJ2ZWQgZm9yIGFuIGl0ZW0uTE1ldGFkYXRhRGVwb3NpdEJhc2UYQACAxqR+jQMAAAAAAAAAAAAETQEgVGhlIGJhc2ljIGFtb3VudCBvZiBmdW5kcyB0aGF0IG11c3QgYmUgcmVzZXJ2ZWQgd2hlbiBhZGRpbmcgbWV0YWRhdGEgdG8geW91ciBpdGVtLlBBdHRyaWJ1dGVEZXBvc2l0QmFzZRhAABCl1OgAAAAAAAAAAAAAAARVASBUaGUgYmFzaWMgYW1vdW50IG9mIGZ1bmRzIHRoYXQgbXVzdCBiZSByZXNlcnZlZCB3aGVuIGFkZGluZyBhbiBhdHRyaWJ1dGUgdG8gYW4gaXRlbS44RGVwb3NpdFBlckJ5dGUYQAAQpdToAAAAAAAAAAAAAAAIWQEgVGhlIGFkZGl0aW9uYWwgZnVuZHMgdGhhdCBtdXN0IGJlIHJlc2VydmVkIGZvciB0aGUgbnVtYmVyIG9mIGJ5dGVzIHN0b3JlIGluIG1ldGFkYXRhLMAgZWl0aGVyICJub3JtYWwiIG1ldGFkYXRhIG9yIGF0dHJpYnV0ZSBtZXRhZGF0YS4sU3RyaW5nTGltaXQQEEgAAAAEsCBUaGUgbWF4aW11bSBsZW5ndGggb2YgZGF0YSBzdG9yZWQgb24tY2hhaW4uIEtleUxpbWl0EBAAAQAABKAgVGhlIG1heGltdW0gbGVuZ3RoIG9mIGFuIGF0dHJpYnV0ZSBrZXkuKFZhbHVlTGltaXQQEAAEAAAEqCBUaGUgbWF4aW11bSBsZW5ndGggb2YgYW4gYXR0cmlidXRlIHZhbHVlLgFpCSAASFN0YXRlVHJpZU1pZ3JhdGlvbgFIU3RhdGVUcmllTWlncmF0aW9uDEBNaWdyYXRpb25Qcm9jZXNzAQDZAjgAAAAAAAAAAAAAAAAAABBQIE1pZ3JhdGlvbiBwcm9ncmVzcy4AXQEgVGhpcyBzdG9yZXMgdGhlIHNuYXBzaG90IG9mIHRoZSBsYXN0IG1pZ3JhdGVkIGtleXMuIEl0IGNhbiBiZSBzZXQgaW50byBtb3Rpb24gYW5kIG1vdmXUIGZvcndhcmQgYnkgYW55IG9mIHRoZSBtZWFucyBwcm92aWRlZCBieSB0aGlzIHBhbGxldC4oQXV0b0xpbWl0cwEA0QIEAAzUIFRoZSBsaW1pdHMgdGhhdCBhcmUgaW1wb3NlZCBvbiBhdXRvbWF0aWMgbWlncmF0aW9ucy4A1CBJZiBzZXQgdG8gTm9uZSwgdGhlbiBubyBhdXRvbWF0aWMgbWlncmF0aW9uIGhhcHBlbnMuYFNpZ25lZE1pZ3JhdGlvbk1heExpbWl0cwAA1QIEAAzgIFRoZSBtYXhpbXVtIGxpbWl0cyB0aGF0IHRoZSBzaWduZWQgbWlncmF0aW9uIGNvdWxkIHVzZS4AtCBJZiBub3Qgc2V0LCBubyBzaWduZWQgc3VibWlzc2lvbiBpcyBhbGxvd2VkLgHNAgEFAQQkTWF4S2V5TGVuEBAAAgAAVLQgTWF4aW1hbCBudW1iZXIgb2YgYnl0ZXMgdGhhdCBhIGtleSBjYW4gaGF2ZS4AsCBGUkFNRSBpdHNlbGYgZG9lcyBub3QgbGltaXQgdGhlIGtleSBsZW5ndGguAQEgVGhlIGNvbmNyZXRlIHZhbHVlIG11c3QgdGhlcmVmb3JlIGRlcGVuZCBvbiB5b3VyIHN0b3JhZ2UgdXNhZ2UuWQEgQSBbYGZyYW1lX3N1cHBvcnQ6OnN0b3JhZ2U6OlN0b3JhZ2VOTWFwYF0gZm9yIGV4YW1wbGUgY2FuIGhhdmUgYW4gYXJiaXRyYXJ5IG51bWJlciBvZkUBIGtleXMgd2hpY2ggYXJlIHRoZW4gaGFzaGVkIGFuZCBjb25jYXRlbmF0ZWQsIHJlc3VsdGluZyBpbiBhcmJpdHJhcmlseSBsb25nIGtleXMuAEEBIFVzZSB0aGUgKnN0YXRlIG1pZ3JhdGlvbiBSUEMqIHRvIHJldHJpZXZlIHRoZSBsZW5ndGggb2YgdGhlIGxvbmdlc3Qga2V5IGluIHlvdXIBASBzdG9yYWdlOiA8aHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvc3Vic3RyYXRlL2lzc3Vlcy8xMTY0Mj4AKQEgVGhlIG1pZ3JhdGlvbiB3aWxsIGhhbHQgd2l0aCBhIGBIYWx0ZWRgIGV2ZW50IGlmIHRoaXMgdmFsdWUgaXMgdG9vIHNtYWxsLkkBIFNpbmNlIHRoZXJlIGlzIG5vIHJlYWwgcGVuYWx0eSBmcm9tIG92ZXItZXN0aW1hdGluZywgaXQgaXMgYWR2aXNlZCB0byB1c2UgYSBsYXJnZYAgdmFsdWUuIFRoZSBkZWZhdWx0IGlzIDUxMiBieXRlLgCAIFNvbWUga2V5IGxlbmd0aHMgZm9yIHJlZmVyZW5jZTrQIC0gW2BmcmFtZV9zdXBwb3J0OjpzdG9yYWdlOjpTdG9yYWdlVmFsdWVgXTogMzIgYnl0ZcggLSBbYGZyYW1lX3N1cHBvcnQ6OnN0b3JhZ2U6OlN0b3JhZ2VNYXBgXTogNjQgYnl0ZeAgLSBbYGZyYW1lX3N1cHBvcnQ6OnN0b3JhZ2U6OlN0b3JhZ2VEb3VibGVNYXBgXTogOTYgYnl0ZQBIIEZvciBtb3JlIGluZm8gc2VlSQEgPGh0dHBzOi8vd3d3LnNoYXdudGFicml6aS5jb20vYmxvZy9zdWJzdHJhdGUvcXVlcnlpbmctc3Vic3RyYXRlLXN0b3JhZ2UtdmlhLXJwYy8+AQ0BIwBAQ29udmljdGlvblZvdGluZwFAQ29udmljdGlvblZvdGluZwgkVm90aW5nRm9yAQEIBQVtCXEJ2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh1ASBBbGwgdm90aW5nIGZvciBhIHBhcnRpY3VsYXIgdm90ZXIgaW4gYSBwYXJ0aWN1bGFyIHZvdGluZyBjbGFzcy4gV2Ugc3RvcmUgdGhlIGJhbGFuY2UgZm9yIHRoZZwgbnVtYmVyIG9mIHZvdGVzIHRoYXQgd2UgaGF2ZSByZWNvcmRlZC40Q2xhc3NMb2Nrc0ZvcgEBBAUAkQkEAAxpASBUaGUgdm90aW5nIGNsYXNzZXMgd2hpY2ggaGF2ZSBhIG5vbi16ZXJvIGxvY2sgcmVxdWlyZW1lbnQgYW5kIHRoZSBsb2NrIGFtb3VudHMgd2hpY2ggdGhleW0BIHJlcXVpcmUuIFRoZSBhY3R1YWwgYW1vdW50IGxvY2tlZCBvbiBiZWhhbGYgb2YgdGhpcyBwYWxsZXQgc2hvdWxkIGFsd2F5cyBiZSB0aGUgbWF4aW11bSBvZiwgdGhpcyBsaXN0LgHlAgERAQggTWF4Vm90ZXMQEBkAAAAQ8CBUaGUgbWF4aW11bSBudW1iZXIgb2YgY29uY3VycmVudCB2b3RlcyBhbiBhY2NvdW50IG1heSBoYXZlLgBVASBBbHNvIHVzZWQgdG8gY29tcHV0ZSB3ZWlnaHQsIGFuIG92ZXJseSBsYXJnZSB2YWx1ZSBjYW4gbGVhZCB0byBleHRyaW5zaWNzIHdpdGggbGFyZ2XAIHdlaWdodCBlc3RpbWF0aW9uOiBzZWUgYGRlbGVnYXRlYCBmb3IgaW5zdGFuY2UuRFZvdGVMb2NraW5nUGVyaW9kEBDAiQEAEJAgVGhlIG1pbmltdW0gcGVyaW9kIG9mIHZvdGUgbG9ja2luZy4AZQEgSXQgc2hvdWxkIGJlIG5vIHNob3J0ZXIgdGhhbiBlbmFjdG1lbnQgcGVyaW9kIHRvIGVuc3VyZSB0aGF0IGluIHRoZSBjYXNlIG9mIGFuIGFwcHJvdmFsLEkBIHRob3NlIHN1Y2Nlc3NmdWwgdm90ZXJzIGFyZSBsb2NrZWQgaW50byB0aGUgY29uc2VxdWVuY2VzIHRoYXQgdGhlaXIgdm90ZXMgZW50YWlsLgGdCSQAJFJlZmVyZW5kYQEkUmVmZXJlbmRhFDxSZWZlcmVuZHVtQ291bnQBABAQAAAAAAQxASBUaGUgbmV4dCBmcmVlIHJlZmVyZW5kdW0gaW5kZXgsIGFrYSB0aGUgbnVtYmVyIG9mIHJlZmVyZW5kYSBzdGFydGVkIHNvIGZhci5EUmVmZXJlbmR1bUluZm9Gb3IAAQQCEKEJBAAEtCBJbmZvcm1hdGlvbiBjb25jZXJuaW5nIGFueSBnaXZlbiByZWZlcmVuZHVtLihUcmFja1F1ZXVlAQEEBdzBCQQAEF0BIFRoZSBzb3J0ZWQgbGlzdCBvZiByZWZlcmVuZGEgcmVhZHkgdG8gYmUgZGVjaWRlZCBidXQgbm90IHlldCBiZWluZyBkZWNpZGVkLCBvcmRlcmVkIGJ5fCBjb252aWN0aW9uLXdlaWdodGVkIGFwcHJvdmFscy4AQQEgVGhpcyBzaG91bGQgYmUgZW1wdHkgaWYgYERlY2lkaW5nQ291bnRgIGlzIGxlc3MgdGhhbiBgVHJhY2tJbmZvOjptYXhfZGVjaWRpbmdgLjREZWNpZGluZ0NvdW50AQEEBdwQEAAAAAAExCBUaGUgbnVtYmVyIG9mIHJlZmVyZW5kYSBiZWluZyBkZWNpZGVkIGN1cnJlbnRseS4oTWV0YWRhdGFPZgABBAIQNAQAGAUBIFRoZSBtZXRhZGF0YSBpcyBhIGdlbmVyYWwgaW5mb3JtYXRpb24gY29uY2VybmluZyB0aGUgcmVmZXJlbmR1bS5JASBUaGUgYEhhc2hgIHJlZmVycyB0byB0aGUgcHJlaW1hZ2Ugb2YgdGhlIGBQcmVpbWFnZXNgIHByb3ZpZGVyIHdoaWNoIGNhbiBiZSBhIEpTT06IIGR1bXAgb3IgSVBGUyBoYXNoIG9mIGEgSlNPTiBmaWxlLgB1ASBDb25zaWRlciBhIGdhcmJhZ2UgY29sbGVjdGlvbiBmb3IgYSBtZXRhZGF0YSBvZiBmaW5pc2hlZCByZWZlcmVuZHVtcyB0byBgdW5yZXF1ZXN0YCAocmVtb3ZlKUQgbGFyZ2UgcHJlaW1hZ2VzLgHxAgEdARREU3VibWlzc2lvbkRlcG9zaXQYQABAehDzWgAAAAAAAAAAAAAENQEgVGhlIG1pbmltdW0gYW1vdW50IHRvIGJlIHVzZWQgYXMgYSBkZXBvc2l0IGZvciBhIHB1YmxpYyByZWZlcmVuZHVtIHByb3Bvc2FsLiRNYXhRdWV1ZWQQEGQAAAAE5CBNYXhpbXVtIHNpemUgb2YgdGhlIHJlZmVyZW5kdW0gcXVldWUgZm9yIGEgc2luZ2xlIHRyYWNrLkRVbmRlY2lkaW5nVGltZW91dBAQgBMDAAhVASBUaGUgbnVtYmVyIG9mIGJsb2NrcyBhZnRlciBzdWJtaXNzaW9uIHRoYXQgYSByZWZlcmVuZHVtIG11c3QgYmVnaW4gYmVpbmcgZGVjaWRlZCBieS7kIE9uY2UgdGhpcyBwYXNzZXMsIHRoZW4gYW55b25lIG1heSBjYW5jZWwgdGhlIHJlZmVyZW5kdW0uNEFsYXJtSW50ZXJ2YWwQEAEAAAAMXQEgUXVhbnRpemF0aW9uIGxldmVsIGZvciB0aGUgcmVmZXJlbmR1bSB3YWtldXAgc2NoZWR1bGVyLiBBIGhpZ2hlciBudW1iZXIgd2lsbCByZXN1bHQgaW5dASBmZXdlciBzdG9yYWdlIHJlYWRzL3dyaXRlcyBuZWVkZWQgZm9yIHNtYWxsZXIgdm90ZXJzLCBidXQgYWxzbyByZXN1bHQgaW4gZGVsYXlzIHRvIHRoZVUBIGF1dG9tYXRpYyByZWZlcmVuZHVtIHN0YXR1cyBjaGFuZ2VzLiBFeHBsaWNpdCBzZXJ2aWNpbmcgaW5zdHJ1Y3Rpb25zIGFyZSB1bmFmZmVjdGVkLhhUcmFja3PFCZkOKAAAEHJvb3QDAAAAAABkp7O24A0AAAAAAAAAAFgCAADAiQEAIBwAAGQAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAADKmjsAAAAAAGXNHQEASHdoaXRlbGlzdGVkX2NhbGxlcgMAAAAAAMUuvKKxAAAAAAAAAAAAZAAAAMCoAABgCQAAZAAAAAKQ1z4NAAAAAFdD3hMAAAAAVEPeEwAAAAAC38cFAAAAAACiCAwAAAAAAExmKwEAAAAAAgBQcmVmZXJlbmR1bV9jYW5jZWxsZXIDAAAAAADZ6awteAMAAAAAAAAAAFgCAADAqAAAWAIAAGQAAAAA204PIgBlzR0Aypo7Al1veAAAAAAA6C7tAAAAAACMaIn//////wMARHJlZmVyZW5kdW1fa2lsbGVyAwAAAAAAi70GiWgKAAAAAAAAAABYAgAAwKgAAFgCAABkAAAAANtODyIAZc0dAMqaOwJdb3gAAAAAAOgu7QAAAAAAjGiJ//////8EADRnZW5lcmFsX2FkbWluAwAAAAAA2emsLXgDAAAAAAAAAABYAgAAwIkBAAgHAABkAAAAApDXPg0AAAAAV0PeEwAAAABUQ94TAAAAAAJBPLABAAAAAHVdNAMAAAAARdFl/v////8FACR0cmVhc3VyZXIDAAAAAACLvQaJaAoAAAAAAAAAAFgCAADAiQEAIBwAAGQAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAADKmjsAAAAAgLLmDgYAHHNwZW5kZXIDAAAAAACKXXhFYwEAAAAAAAAAAFgCAADAiQEACAcAAGQAAAAAAMqaOwBlzR0Aypo7AkE8sAEAAAAAdV00AwAAAABF0WX+/////wcAGHRpcHBlcgMAAAAAAMFv8oYjAAAAAAAAAAAAWAIAAMCJAQAIBwAAZAAAAADbTg8iAGXNHQDKmjsCXW94AAAAAADoLu0AAAAAAIxoif//////CAA4b21uaXBvb2xfYWRtaW4DAAAAAADZ6awteAMAAAAAAAAAAFgCAADAiQEACAcAAGQAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAkE8sAEAAAAAdV00AwAAAABF0WX+/////wkATGVjb25vbWljX3BhcmFtZXRlcnMDAAAAAACLvQaJaAoAAAAAAAAAAFgCAADAiQEAIBwAAGQAAAACkNc+DQAAAABXQ94TAAAAAFRD3hMAAAAAAADKmjsAAAAAgLLmDgTgIEluZm9ybWF0aW9uIGNvbmNlcm5pbmcgdGhlIGRpZmZlcmVudCByZWZlcmVuZHVtIHRyYWNrcy4B4QklABxPcmlnaW5zAAAAAAAmACRXaGl0ZWxpc3QBJFdoaXRlbGlzdAQ8V2hpdGVsaXN0ZWRDYWxsAAEEBTSQBAAAAfkCAWUGAAHlCScAKERpc3BhdGNoZXIBKERpc3BhdGNoZXIISEFhdmVNYW5hZ2VyQWNjb3VudAEAAICqfgAAAAAAAAAAAAAAAAAAAAqn4AAAAAAAAAAAAAAAAAAgRXh0cmFHYXMBADAgAAAAAAAAAAAAAf0CAXkGAAAoADRBc3NldFJlZ2lzdHJ5ATRBc3NldFJlZ2lzdHJ5HBhBc3NldHMAAQQCEOkJBAAEVCBEZXRhaWxzIG9mIGFuIGFzc2V0LixOZXh0QXNzZXRJZAEAEBABAAAABF0BIE5leHQgYXZhaWxhYmxlIGFzc2V0IGlkLiBUaGlzIGlzIHNlcXVlbnRpYWwgaWQgYXNzaWduZWQgZm9yIGVhY2ggbmV3IHJlZ2lzdGVyZWQgYXNzZXQuIEFzc2V0SWRzAAEEAgkDEAQABKQgTWFwcGluZyBiZXR3ZWVuIGFzc2V0IG5hbWUgYW5kIGFzc2V0IGlkLjhBc3NldExvY2F0aW9ucwABBAIQGQMEAAR0IE5hdGl2ZSBsb2NhdGlvbiBvZiBhbiBhc3NldC4wQmFubmVkQXNzZXRzAAEEAhCQBAAEsCBOb24tbmF0aXZlIGFzc2V0cyB3aGljaCB0cmFuc2ZlciBpcyBiYW5uZWQuOExvY2F0aW9uQXNzZXRzAAEEAhkDEAQABIQgTG9jYWwgYXNzZXQgZm9yIG5hdGl2ZSBsb2NhdGlvbi5kRXhpc3RlbnRpYWxEZXBvc2l0Q291bnRlcgEAGEAAAAAAAAAAAAAAAAAAAAAACC0BIE51bWJlciBvZiBhY2NvdW50cyB0aGF0IHBhaWQgZXhpc3RlbnRpYWwgZGVwb3NpdHMgZm9yIGluc3VmZmljaWVudCBhc3NldHMusCBUaGlzIHN0b3JhZ2UgaXMgdXNlZCBieSBgU3VmZmljaWVuY3lDaGVja2AuAQEDAX0GEExTZXF1ZW50aWFsSWRTdGFydEF0EBBAQg8AACxTdHJpbmdMaW1pdBAQIAAAAATgIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhIG5hbWUgb3Igc3ltYm9sIHN0b3JlZCBvbi1jaGFpbi44TWluU3RyaW5nTGltaXQQEAMAAAAE0CBUaGUgbWluIGxlbmd0aCBvZiBhIG5hbWUgb3Igc3ltYm9sIHN0b3JlZCBvbi1jaGFpbi5sUmVnRXh0ZXJuYWxXZWlnaHRNdWx0aXBsaWVyMCAKAAAAAAAAAATQIFdlaWdodCBtdWx0aXBsaWVyIGZvciBgcmVnaXN0ZXJfZXh0ZXJuYWxgIGV4dHJpbnNpYwHtCTMAGENsYWltcwEYQ2xhaW1zBBhDbGFpbXMBAQQChQYYQAAAAAAAAAAAAAAAAAAAAAAEnCBBc3NldCBpZCBzdG9yYWdlIGZvciBlYWNoIHNoYXJlZCB0b2tlbgE5AwGBBgAB8Qk1ADhHZW5lc2lzSGlzdG9yeQE4R2VuZXNpc0hpc3RvcnkENFByZXZpb3VzQ2hhaW4BAPUJAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBAwAAADcAPENvbGxhdG9yUmV3YXJkcwE8Q29sbGF0b3JSZXdhcmRzBCRDb2xsYXRvcnMBAQQFEPkJBAAEqCBTdG9yZXMgdGhlIGNvbGxhdG9ycyBwZXIgc2Vzc2lvbiAoaW5kZXgpLgABiQYMRFJld2FyZFBlckNvbGxhdG9yGEB4+ot1KJ4BAAAAAAAAAAAABIAgUmV3YXJkIGFtb3VudCBwZXIgb25lIGNvbGxhdG9yLkBSZXdhcmRDdXJyZW5jeUlkEBAAAAAABEAgUmV3YXJkIEFzc2V0IElkKFJld2FyZHNCYWcAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAH9CTkAIE9tbmlwb29sASBPbW5pcG9vbBAYQXNzZXRzAAEEAhABCgQABIggU3RhdGUgb2YgYW4gYXNzZXQgaW4gdGhlIG9tbmlwb29sTEh1YkFzc2V0VHJhZGFiaWxpdHkBAE0DBAEEdCBUcmFkYWJsZSBzdGF0ZSBvZiBodWIgYXNzZXQuJFBvc2l0aW9ucwABBAIYBQoEAAT0IExQIHBvc2l0aW9ucy4gTWFwcyBORlQgaW5zdGFuY2UgaWQgdG8gY29ycmVzcG9uZGluZyBwb3NpdGlvbjhOZXh0UG9zaXRpb25JZAEAGEAAAAAAAAAAAAAAAAAAAAAABFwgUG9zaXRpb24gaWRzIHNlcXVlbmNlcgFFAwGNBiQoSGR4QXNzZXRJZBAQAAAAAARAIE5hdGl2ZSBBc3NldCBJRChIdWJBc3NldElkEBABAAAABDQgSHViIEFzc2V0IElEQE1pbldpdGhkcmF3YWxGZWVJAxBkAAAABFwgTWluaW11bSB3aXRoZHJhd2FsIGZlZUxNaW5pbXVtVHJhZGluZ0xpbWl0GEDoAwAAAAAAAAAAAAAAAAAABFggTWluaW11bSB0cmFkaW5nIGxpbWl0UE1pbmltdW1Qb29sTGlxdWlkaXR5GEBAQg8AAAAAAAAAAAAAAAAABKggTWluaW11bSBwb29sIGxpcXVpZGl0eSB3aGljaCBjYW4gYmUgYWRkZWQoTWF4SW5SYXRpbxhAAwAAAAAAAAAAAAAAAAAAAATwIE1heCBmcmFjdGlvbiBvZiBhc3NldCByZXNlcnZlIHRvIHNlbGwgaW4gc2luZ2xlIHRyYW5zYWN0aW9uLE1heE91dFJhdGlvGEADAAAAAAAAAAAAAAAAAAAABOwgTWF4IGZyYWN0aW9uIG9mIGFzc2V0IHJlc2VydmUgdG8gYnV5IGluIHNpbmdsZSB0cmFuc2FjdGlvbjxORlRDb2xsZWN0aW9uSWQYQDkFAAAAAAAAAAAAAAAAAAAEWCBOb24gZnVuZ2libGUgY2xhc3MgaWQ8QnVyblByb3RvY29sRmVlSQMQIKEHAAABCQo7AEBUcmFuc2FjdGlvblBhdXNlAUBUcmFuc2FjdGlvblBhdXNlBEhQYXVzZWRUcmFuc2FjdGlvbnMAAQQFDQqQBAAMbCBUaGUgcGF1c2VkIHRyYW5zYWN0aW9uIG1hcADcIG1hcCAoUGFsbGV0TmFtZUJ5dGVzLCBGdW5jdGlvbk5hbWVCeXRlcykgPT4gT3B0aW9uPCgpPgFVAwGRBgABFQo8ABhEdXN0ZXIBGER1c3RlcgxAQWNjb3VudEJsYWNrbGlzdAABBAIAkAQABIAgQWNjb3VudHMgZXhjbHVkZWQgZnJvbSBkdXN0aW5nLjRSZXdhcmRBY2NvdW50AAAABAAEdCBBY2NvdW50IHRvIHRha2UgcmV3YXJkIGZyb20uLER1c3RBY2NvdW50AAAABAAEZCBBY2NvdW50IHRvIHNlbmQgZHVzdCB0by4BWQMBlQYMGFJld2FyZBhAAAAAAAAAAAAAAAAAAAAAAAQ4IFJld2FyZCBhbW91bnRATmF0aXZlQ3VycmVuY3lJZBAQAAAAAARAIE5hdGl2ZSBBc3NldCBJZERUcmVhc3VyeUFjY291bnRJZACAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAELQEgRGVmYXVsdCBhY2NvdW50IGZvciBgcmV3YXJkX2FjY291bnRgIGFuZCBgZHVzdF9hY2NvdW50YCBpbiBnZW5lc2lzIGNvbmZpZy4BGQo9AExPbW5pcG9vbFdhcmVob3VzZUxNAUxPbW5pcG9vbFdhcmVob3VzZUxNGDRGYXJtU2VxdWVuY2VyAQAQEAAAAAAEvCBJZCBzZXF1ZW5jZXIgZm9yIGBHbG9iYWxGYXJtYCBhbmQgYFlpZWxkRmFybWAuQERlcG9zaXRTZXF1ZW5jZXIBABhAAAAAAAAAAAAAAAAAAAAAAAAoR2xvYmFsRmFybQABBAIQHQoEAAAkWWllbGRGYXJtAAEMAgICJQopCgQABFAgWWllbGQgZmFybSBkZXRhaWxzLhxEZXBvc2l0AAEEBRgtCgQABEQgRGVwb3NpdCBkZXRhaWxzLjxBY3RpdmVZaWVsZEZhcm0AAQgCAnUDEAQABPggQWN0aXZlKGZhcm1zIGFibGUgdG8gcmVjZWl2ZSBMUCBzaGFyZXMgZGVwb3NpdHMpIHlpZWxkIGZhcm1zLgFdAwGZBhggUGFsbGV0SWQxCCBPbW5pV2hMTQQsIFBhbGxldCBpZC5EVHJlYXN1cnlBY2NvdW50SWQAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAABOggVHJlYXN1cnkgYWNjb3VudCB0byByZWNlaXZlIGNsYWltZWQgcmV3YXJkcyBsb3dlciB0aGFuIEVETE1pblRvdGFsRmFybVJld2FyZHMYQAAQpdToAAAAAAAAAAAAAAAEOQEgTWluaW11bSB0b3RhbCByZXdhcmRzIHRvIGRpc3RyaWJ1dGUgZnJvbSBnbG9iYWwgZmFybSBkdXJpbmcgbGlxdWlkaXR5IG1pbmluZy5kTWluUGxhbm5lZFlpZWxkaW5nUGVyaW9kcxAQaDgAAATsIE1pbmltdW0gbnVtYmVyIG9mIHBlcmlvZHMgdG8gcnVuIGxpcXVpZGl0eSBtaW5pbmcgcHJvZ3JhbS5gTWF4RmFybUVudHJpZXNQZXJEZXBvc2l0EBAFAAAACGUBIE1heGltdW0gbnVtYmVyIG9mIHlpZWxkIGZhcm1zIHNhbWUgTFAgc2hhcmVzIGNhbiBiZSByZS9kZXBvc2l0ZWQgaW50by4gVGhpcyB2YWx1ZSBhbHdheXNcIE1VU1QgQkUgPj0gMS4gICAgICAgICBoTWF4WWllbGRGYXJtc1Blckdsb2JhbEZhcm0QEDIAAAAITQEgTWF4IG51bWJlciBvZiB5aWVsZCBmYXJtcyBjYW4gZXhpc3QgaW4gZ2xvYmFsIGZhcm0uIFRoaXMgaW5jbHVkZXMgYWxsIGZhcm1zIGluIHRoZZggc3RvcmFnZShhY3RpdmUsIHN0b3BwZWQsIHRlcm1pbmF0ZWQpLgE9Cj4AXE9tbmlwb29sTGlxdWlkaXR5TWluaW5nAVxPbW5pcG9vbExpcXVpZGl0eU1pbmluZwQ4T21uaVBvc2l0aW9uSWQAAQQCGBgEAATQIE1hcCBvZiBvbW5pcG9vbCBwb3NpdGlvbidzIGlkcyB0byBMTSdzIGRlcG9zaXQgaWRzLgFhAwGdBgw8TkZUQ29sbGVjdGlvbklkGEAYCgAAAAAAAAAAAAAAAAAABNwgTkZUIGNvbGxlY3Rpb24gaWQgZm9yIGxpcXVpZGl0eSBtaW5pbmcncyBkZXBvc2l0IG5mdHMuME9yYWNsZVNvdXJjZRUCIG9tbmlwb29sBIQgSWRlbnRpZmllciBvZiBvcmFjbGUgZGF0YSBzb3J1Y2UwT3JhY2xlUGVyaW9k2QMEAgSMIE9yYWNsZSdzIHByaWNlIGFnZ3JlZ2F0aW9uIHBlcmlvZC4BRQo/AAxPVEMBDE9UQwgsTmV4dE9yZGVySWQBABAQAAAAAARgIElEIHNlcXVlbmNlciBmb3IgT3JkZXJzGE9yZGVycwABBAIQTQoEAAABlQMBoQYMcEV4aXN0ZW50aWFsRGVwb3NpdE11bHRpcGxpZXIIBAUEQQEgTXVsdGlwbGllciB1c2VkIHRvIGNvbXB1dGUgbWluaW1hbCBhbW91bnRzIG9mIGFzc2V0X2luIGFuZCBhc3NldF9vdXQgaW4gYW4gT1RDLgxGZWVJAxDoAwAABHggRmVlIGRlZHVjdGVkIGZyb20gYW1vdW50X291dC4sRmVlUmVjZWl2ZXIAgG1vZGxweS90cnNyeQAAAAAAAAAAAAAAAAAAAAAAAAAABDggRmVlIHJlY2VpdmVyLgFRCkAAOENpcmN1aXRCcmVha2VyAThDaXJjdWl0QnJlYWtlchhgVHJhZGVWb2x1bWVMaW1pdFBlckFzc2V0AQEEAhB1AyCIEwAAECcAAAj0IFRyYWRlIHZvbHVtZSBsaW1pdHMgb2YgYXNzZXRzIHNldCBieSBzZXRfdHJhZGVfdm9sdW1lX2xpbWl0LpwgSWYgbm90IHNldCwgcmV0dXJucyB0aGUgZGVmYXVsdCBsaW1pdC58QWxsb3dlZFRyYWRlVm9sdW1lTGltaXRQZXJBc3NldAABBAIQVQoEAARgIFRyYWRlIHZvbHVtZXMgcGVyIGFzc2V0ZExpcXVpZGl0eUFkZExpbWl0UGVyQXNzZXQBAQQCEJ0DJAH0AQAAECcAAAjEIExpcXVpZGl0eSBsaW1pdHMgb2YgYXNzZXRzIGZvciBhZGRpbmcgbGlxdWlkaXR5LpwgSWYgbm90IHNldCwgcmV0dXJucyB0aGUgZGVmYXVsdCBsaW1pdC6EQWxsb3dlZEFkZExpcXVpZGl0eUFtb3VudFBlckFzc2V0AAEEAhBZCgQABIAgQWRkIGxpcXVpZGl0eSB2b2x1bWVzIHBlciBhc3NldHBMaXF1aWRpdHlSZW1vdmVMaW1pdFBlckFzc2V0AQEEAhCdAyQB9AEAABAnAAAIzCBMaXF1aWRpdHkgbGltaXRzIG9mIGFzc2V0cyBmb3IgcmVtb3ZpbmcgbGlxdWlkaXR5LpwgSWYgbm90IHNldCwgcmV0dXJucyB0aGUgZGVmYXVsdCBsaW1pdC6QQWxsb3dlZFJlbW92ZUxpcXVpZGl0eUFtb3VudFBlckFzc2V0AAEEAhBZCgQABIwgUmVtb3ZlIGxpcXVpZGl0eSB2b2x1bWVzIHBlciBhc3NldAGZAwGlBgyURGVmYXVsdE1heE5ldFRyYWRlVm9sdW1lTGltaXRQZXJCbG9ja3UDIIgTAAAQJwAACDEBIFRoZSBtYXhpbXVtIHBlcmNlbnRhZ2Ugb2YgYSBwb29sJ3MgbGlxdWlkaXR5IHRoYXQgY2FuIGJlIHRyYWRlZCBpbiBhIGJsb2NrLnUBIFJlcHJlc2VudGVkIGFzIGEgbm9uLXplcm8gZnJhY3Rpb24gKG5vbWluYXRvciwgZGVub21pbmF0b3IpIHdpdGggdGhlIG1heCB2YWx1ZSBiZWluZyAxMF8wMDAujERlZmF1bHRNYXhBZGRMaXF1aWRpdHlMaW1pdFBlckJsb2NrnQMkAfQBAAAQJwAADC0BIFRoZSBtYXhpbXVtIHBlcmNlbnRhZ2Ugb2YgYSBwb29sJ3MgbGlxdWlkaXR5IHRoYXQgY2FuIGJlIGFkZGVkIGluIGEgYmxvY2sunQEgUmVwcmVzZW50ZWQgYXMgYW4gb3B0aW9uYWwgbm9uLXplcm8gZnJhY3Rpb24gKG5vbWluYXRvciwgZGVub21pbmF0b3IpIHdpdGggdGhlIG1heCB2YWx1ZSBiZWluZyAxMF8wMDAutCBJZiBzZXQgdG8gTm9uZSwgdGhlIGxpbWl0cyBhcmUgbm90IGVuZm9yY2VkLphEZWZhdWx0TWF4UmVtb3ZlTGlxdWlkaXR5TGltaXRQZXJCbG9ja50DJAH0AQAAECcAAAw1ASBUaGUgbWF4aW11bSBwZXJjZW50YWdlIG9mIGEgcG9vbCdzIGxpcXVpZGl0eSB0aGF0IGNhbiBiZSByZW1vdmVkIGluIGEgYmxvY2sunQEgUmVwcmVzZW50ZWQgYXMgYW4gb3B0aW9uYWwgbm9uLXplcm8gZnJhY3Rpb24gKG5vbWluYXRvciwgZGVub21pbmF0b3IpIHdpdGggdGhlIG1heCB2YWx1ZSBiZWluZyAxMF8wMDAutCBJZiBzZXQgdG8gTm9uZSwgdGhlIGxpbWl0cyBhcmUgbm90IGVuZm9yY2VkLgFdCkEAGFJvdXRlcgEYUm91dGVyBBhSb3V0ZXMAAQQCtQOlAwQABHwgU3RvcmluZyByb3V0ZXMgZm9yIGFzc2V0IHBhaXJzAaEDAakGCDROYXRpdmVBc3NldElkEBAAAAAABEAgTmF0aXZlIEFzc2V0IElkME9yYWNsZVBlcmlvZNkDBAIEjCBPcmFjbGUncyBwcmljZSBhZ2dyZWdhdGlvbiBwZXJpb2QuAWEKQwAsRHluYW1pY0ZlZXMBLER5bmFtaWNGZWVzBCBBc3NldEZlZQABBAUQZQoEAAhJASBTdG9yZXMgbGFzdCBjYWxjdWxhdGVkIGZlZSBvZiBhbiBhc3NldCBhbmQgYmxvY2sgbnVtYmVyIGluIHdoaWNoIGl0IHdhcyBjaGFuZ2VkLi7IIFN0b3JlZCBhcyAoQXNzZXQgZmVlLCBQcm90b2NvbCBmZWUsIEJsb2NrIG51bWJlcikBuQMBrQYISEFzc2V0RmVlUGFyYW1ldGVyc2kKoNwFAABQwwAAACA9iHktAAAAAAAAAAAAAAAAyE5nbcEbAAAAAAAAAAAAVFByb3RvY29sRmVlUGFyYW1ldGVyc2kKoPQBAADECQAAAJAexLwWAAAAAAAAAAAAAAAAZKeztuANAAAAAAAAAAAAAW0KRAAcU3Rha2luZwEcU3Rha2luZyAcU3Rha2luZwEAcQrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFggR2xvYmFsIHN0YWtpbmcgc3RhdGUuJFBvc2l0aW9ucwABBAIYdQoEAARcIFVzZXIncyBwb3NpdGlvbiBzdGF0ZS44TmV4dFBvc2l0aW9uSWQBABhAAAAAAAAAAAAAAAAAAAAAAARgIFBvc2l0aW9uIGlkcyBzZXF1ZW5jZXIuFFZvdGVzAQEEAhh5CgQABGAgTGlzdCBvZiBwb3NpdGlvbiB2b3Rlcy40Vm90ZXNSZXdhcmRlZAABCAICmQiFCgQABJ0BIExpc3Qgb2YgcHJvY2Vzc2VkIHZvdGUuIFVzZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZSB2b3RlIHNob3VsZCBiZSBsb2NrZWQgaW4gY2FzZSBvZiB2b3Rpbmcgbm90IGluIGZhdm9yLjRQb3NpdGlvblZvdGVzAQEEAhh5CgQABGkBIExlZ2FjeSBzdG9yYWdlISAtIFVzZWQgdG8gaGFuZGxlIGRlbW9jcmFjeSB2b3RlcyB1bnRpbCBkZW1vY3JhY3kgcGFsbGV0IGlzIGZ1bGx5IHJlbW92ZWQuOFByb2Nlc3NlZFZvdGVzAAEIAgKZCIUKBAAEkQEgTGVnYWN5IHN0b3JhZ2UhIC0gVXNlZCB0byBoYW5kbGUgZGVtb2NyYWN5IHByb2Nlc3NlZCB2b3RlcyB1bnRpbCBkZW1vY3JhY3kgcGFsbGV0IGlzIGZ1bGx5IHJlbW92ZWQuRFNpeFNlY0Jsb2Nrc1NpbmNlAQAQEP////8EwCBCbG9jayBudW1iZXIgd2hlbiB3ZSBzd2l0Y2hlZCB0byA2IHNlYy4gYmxvY2tzLgG9AwGxBiwwUGVyaW9kTGVuZ3RoEBAgHAAABIQgU3Rha2luZyBwZXJpb2QgbGVuZ3RoIGluIGJsb2Nrcy4gUGFsbGV0SWQxCCBzdGFraW5nIwQsIFBhbGxldCBpZC40TmF0aXZlQXNzZXRJZBAQAAAAAAREIE5hdGl2ZSBBc3NldCBJRC4gTWluU3Rha2UYQACAxqR+jQMAAAAAAAAAAAAEcCBNaW4gYW1vdW50IHVzZXIgbXVzdCBzdGFrZS5AVGltZVBvaW50c1dlaWdodEkDEEBCDwAE4CBXZWlnaHQgb2YgdGhlIHRpbWUgcG9pbnRzIGluIHRvdGFsIHBvaW50cyBjYWxjdWxhdGlvbnMuSEFjdGlvblBvaW50c1dlaWdodNUJEADC6wsE6CBXZWlnaHQgb2YgdGhlIGFjdGlvbiBwb2ludHMgaW4gdG90YWwgcG9pbnRzIGNhbGN1bGF0aW9ucy5MVGltZVBvaW50c1BlclBlcmlvZAgEAQTUIE51bWJlciBvZiB0aW1lIHBvaW50cyB1c2VycyByZWNlaXZlIGZvciBlYWNoIHBlcmlvZC5IVW5jbGFpbWFibGVQZXJpb2RzGEABAAAAAAAAAAAAAAAAAAAACHUBIE51bWJlciBvZiBwZXJpb2RzIHVzZXIgY2FuJ3QgY2xhaW0gcmV3YXJkcyBmb3IuIFVzZXIgY2FuIGV4aXQgYnV0IHdvbid0IHJlY2VpdmUgYW55IHJld2FyZHMucQEgSWYgaGUgc3RheSBsb25nZXIgdGhhbiBgVW5jbGFpbWFibGVQZXJpb2RzYCBoZSB3aWxsIHJlY2VpdmUgcmV3YXJkcyBhbHNvIGZvciB0aGVzZSBwZXJpb2RzLkhDdXJyZW50U3Rha2VXZWlnaHQIBAIEsQEgV2VpZ2h0IG9mIHRoZSBhY3R1YWwgc3Rha2UgaW4gc2xhc2ggcG9pbnRzIGNhbGN1bGF0aW9uLiBCaWdnZXIgdGhlIHZhbHVlIGxvd2VyIHRoZSBjYWxjdWxhdGVkIHNsYXNoIHBvaW50cy4gTWF4Vm90ZXMQEBkAAAAEzCBNYXggYW1vdW50IG9mIHZvdGVzIHRoZSB1c2VyIGNhbiBoYXZlIGF0IGFueSB0aW1lLjxORlRDb2xsZWN0aW9uSWQYQK4IAAAAAAAAAAAAAAAAAAAETCBORlQgY29sbGVjdGlvbiBpZC4BkQpFAChTdGFibGVzd2FwAShTdGFibGVzd2FwDBRQb29scwABBAIQmQoEAAQ8IEV4aXN0aW5nIHBvb2xzIFBvb2xQZWdzAAEEAhDBBgQABDwgUG9vbCBwZWcgaW5mby5AQXNzZXRUcmFkYWJpbGl0eQEBCAICdQPJAwQPBIggVHJhZGFiaWxpdHkgc3RhdGUgb2YgcG9vbCBhc3NldHMuAcEDAbUGDEBNaW5Qb29sTGlxdWlkaXR5GEBAQg8AAAAAAAAAAAAAAAAABFwgTWluaW11bSBwb29sIGxpcXVpZGl0eTxNaW5UcmFkaW5nTGltaXQYQOgDAAAAAAAAAAAAAAAAAAAEXCBNaW5pbXVtIHRyYWRpbmcgYW1vdW50SEFtcGxpZmljYXRpb25SYW5nZZ0KEAIAECcEPQEgQW1wbGlmaWNhdGlvbiBpbmNsdXNpdmUgcmFuZ2UuIFBvb2wncyBhbXAgY2FuIGJlIHNlbGVjdGVkIGZyb20gdGhlIHJhbmdlIG9ubHkuAaEKRgAUQm9uZHMBFEJvbmRzCBxCb25kSWRzAAEEAqUKEAQACFQgUmVnaXN0ZXJlZCBib25kIGlkcy7AIE1hcHMgKHVuZGVybHlpbmcgYXNzZXQgSUQsIG1hdHVyaXR5KSAtPiBib25kIElEFEJvbmRzAAEEAhClCgQACEggUmVnaXN0ZXJlZCBib25kcy7AIE1hcHMgYm9uZCBJRCAtPiAodW5kZXJseWluZyBhc3NldCBJRCwgbWF0dXJpdHkpAeEDAc0GDCBQYWxsZXRJZDEIIHBsdGJvbmRzBOwgVGhlIHBhbGxldCBpZCwgdXNlZCBmb3IgZGVyaXZpbmcgaXRzIHNvdmVyZWlnbiBhY2NvdW50IElELixQcm90b2NvbEZlZUkDECBOAAAEOCBQcm90b2NvbCBmZWUuLEZlZVJlY2VpdmVyAIBtb2RscHkvdHJzcnkAAAAAAAAAAAAAAAAAAAAAAAAAAARcIFByb3RvY29sIGZlZSByZWNlaXZlci4BqQpHADhPdGNTZXR0bGVtZW50cwAB5QMB0QYUOFByb2ZpdFJlY2VpdmVyAIBtb2RscHkvdHJzcnkAAAAAAAAAAAAAAAAAAAAAAAAAAASEIEFjY291bnQgd2hvIHJlY2VpdmVzIHRoZSBwcm9maXQuTE1pblByb2ZpdFBlcmNlbnRhZ2XVCRAQJwAABJwgTWluaW11bSBwcm9maXQgaW4gdGVybXMgb2YgcGVyY2VudGFnZS44UHJpY2VQcmVjaXNpb25RAUAAAMFv8oYjAAAAAAAAAAAABNAgRGV0ZXJtaW5lcyB3aGVuIHdlIGNvbnNpZGVyIGFuIGFyYml0cmFnZSBhcyBjbG9zZWQuPE1pblRyYWRpbmdMaW1pdBhA6AMAAAAAAAAAAAAAAAAAAARcIE1pbmltdW0gdHJhZGluZyBsaW1pdC40TWF4SXRlcmF0aW9ucxAQKAAAAARtASBNYXhpbXVtIG51bWJlciBvZiBpdGVyYXRpb25zIHVzZWQgaW4gdGhlIGJpbmFyeSBzZWFyY2ggYWxnb3JpdGhtIHRvIGZpbmQgdGhlIHRyYWRlIGFtb3VudC4BrQpIAAxMQlABDExCUAggUG9vbERhdGEAAQQCANkGBAAETCBEZXRhaWxzIG9mIGEgcG9vbC5URmVlQ29sbGVjdG9yV2l0aEFzc2V0AQEIAgKZCCAEAAjIIFN0b3JhZ2UgdXNlZCBmb3IgdHJhY2tpbmcgZXhpc3RpbmcgZmVlIGNvbGxlY3RvcnPMIE5vdCBtb3JlIHRoYW4gb25lIGZlZSBjb2xsZWN0b3IgcGVyIGFzc2V0IHBvc3NpYmxlAekDAdUGFDxNaW5UcmFkaW5nTGltaXQYQOgDAAAAAAAAAAAAAAAAAAAEIQEgTWluaW11bSB0cmFkaW5nIGxpbWl0LCBzb2xlIHB1cnBvc2Ugb2YgdGhpcyBpcyB0byBrZWVwIHRoZSBtYXRoIHdvcmtpbmdATWluUG9vbExpcXVpZGl0eRhAQEIPAAAAAAAAAAAAAAAAAAQlASBNaW5pbXVtIHBvb2wgbGlxdWlkaXR5LCBzb2xlIHB1cnBvc2Ugb2YgdGhpcyBpcyB0byBrZWVwIHRoZSBtYXRoIHdvcmtpbmcoTWF4SW5SYXRpbxhAAwAAAAAAAAAAAAAAAAAAAATMIE1heCBmcmFjdGlvbiBvZiBwb29sIHRvIHNlbGwgaW4gc2luZ2xlIHRyYW5zYWN0aW9uLE1heE91dFJhdGlvGEADAAAAAAAAAAAAAAAAAAAABMggTWF4IGZyYWN0aW9uIG9mIHBvb2wgdG8gYnV5IGluIHNpbmdsZSB0cmFuc2FjdGlvbiRyZXBheV9mZWV1AyACAAAACgAAAAABsQpJAAxYWUsBDFhZSwwoU2hhcmVUb2tlbgEBBAIAEBAAAAAABKAgQXNzZXQgaWQgc3RvcmFnZSBmb3Igc2hhcmVkIHBvb2wgdG9rZW5zOFRvdGFsTGlxdWlkaXR5AQEEAgAYQAAAAAAAAAAAAAAAAAAAAAAEbCBUb3RhbCBsaXF1aWRpdHkgaW4gYSBwb29sLihQb29sQXNzZXRzAAEEAgB1AwQABFggQXNzZXQgcGFpciBpbiBhIHBvb2wuAfUDAd0GHDROYXRpdmVBc3NldElkEBAAAAAABEAgTmF0aXZlIEFzc2V0IElkOEdldEV4Y2hhbmdlRmVldQMgAwAAAOgDAAAERCBUcmFkaW5nIGZlZSByYXRlPE1pblRyYWRpbmdMaW1pdBhA6AMAAAAAAAAAAAAAAAAAAARYIE1pbmltdW0gdHJhZGluZyBsaW1pdEBNaW5Qb29sTGlxdWlkaXR5GEBAQg8AAAAAAAAAAAAAAAAABFwgTWluaW11bSBwb29sIGxpcXVpZGl0eShNYXhJblJhdGlvGEADAAAAAAAAAAAAAAAAAAAABMwgTWF4IGZyYWN0aW9uIG9mIHBvb2wgdG8gc2VsbCBpbiBzaW5nbGUgdHJhbnNhY3Rpb24sTWF4T3V0UmF0aW8YQAMAAAAAAAAAAAAAAAAAAAAEyCBNYXggZnJhY3Rpb24gb2YgcG9vbCB0byBidXkgaW4gc2luZ2xlIHRyYW5zYWN0aW9uME9yYWNsZVNvdXJjZRUCIGh5ZHJheHlrBKggT3JhY2xlIHNvdXJjZSBpZGVudGlmaWVyIGZvciB0aGlzIHBhbGxldC4BtQpKACRSZWZlcnJhbHMBJFJlZmVycmFscyg0UmVmZXJyYWxDb2RlcwABBAL9AwAEAAg8IFJlZmVycmFsIGNvZGVzkCBNYXBzIGEgcmVmZXJyYWwgY29kZSB0byBhbiBhY2NvdW50LkBSZWZlcnJhbEFjY291bnRzAAEEAgD9AwQACEggUmVmZXJyYWwgYWNjb3VudHOQIE1hcHMgYW4gYWNjb3VudCB0byBhIHJlZmVycmFsIGNvZGUuOExpbmtlZEFjY291bnRzAAEEAgAABAAIRCBMaW5rZWQgYWNjb3VudHMunCBNYXBzIGFuIGFjY291bnQgdG8gYSByZWZlcnJhbCBhY2NvdW50LjhSZWZlcnJlclNoYXJlcwEBBAIAGEAAAAAAAAAAAAAAAAAAAAAABHQgU2hhcmVzIG9mIGEgcmVmZXJyYWwgYWNjb3VudDBUcmFkZXJTaGFyZXMBAQQCABhAAAAAAAAAAAAAAAAAAAAAAARsIFNoYXJlcyBvZiBhIHRyYWRlciBhY2NvdW50LFRvdGFsU2hhcmVzAQAYQAAAAAAAAAAAAAAAAAAAAAAEWCBUb3RhbCBzaGFyZSBpc3N1YW5jZS4gUmVmZXJyZXIAAQQCALkKBAAM3CBSZWZlcmVyIGxldmVsIGFuZCB0b3RhbCBhY2N1bXVsYXRlZCByZXdhcmRzIG92ZXIgdGltZS7VASBNYXBzIHJlZmVycmVyIGFjY291bnQgdG8gKExldmVsLCBCYWxhbmNlKS4gTGV2ZWwgaW5kaWNhdGVzIGN1cnJlbnQgcmV3YXJkcyBhbmQgQmFsYW5jZSBpcyB1c2VkIHRvIHVubG9jayBuZXh0IGxldmVsLrkBIERldiBub3RlOiB3ZSB1c2UgT3B0aW9uUXVlcnkgaGVyZSBiZWNhdXNlIHRoaXMgaGVscHMgdG8gZWFzaWx5IGRldGVybWluZSB0aGF0IGFuIGFjY291bnQgaWYgcmVmZXJyZXIgYWNjb3VudC4wQXNzZXRSZXdhcmRzAAEIAgK9CgUEBAAIsCBBc3NldCBmZWUgZGlzdHJpYnV0aW9uIHJld2FyZHMgaW5mb3JtYXRpb24u0CBNYXBzIChhc3NldF9pZCwgbGV2ZWwpIHRvIGFzc2V0IHJld2FyZCBwZXJjZW50YWdlcy5IUGVuZGluZ0NvbnZlcnNpb25zAAEEAhCQBAAIAQEgSW5mb3JtYXRpb24gYWJvdXQgYXNzZXRzIHRoYXQgYXJlIGN1cnJlbnRseSBpbiB0aGUgcmV3YXJkcyBwb3QuDQEgVXNlZCB0byBlYXNpbHkgZGV0ZXJtaW5lIGxpc3Qgb2YgYXNzZXRzIHRoYXQgbmVlZCB0byBiZSBjb252ZXJ0ZWQucENvdW50ZXJGb3JQZW5kaW5nQ29udmVyc2lvbnMBABAQAAAAAASsQ291bnRlciBmb3IgdGhlIHJlbGF0ZWQgY291bnRlZCBzdG9yYWdlIG1hcAH5AwHhBhgsUmV3YXJkQXNzZXQQEAAAAAAE2CBJRCBvZiBhbiBhc3NldCB0aGF0IGlzIHVzZWQgdG8gZGlzdHJpYnV0ZSByZXdhcmRzIGluLiBQYWxsZXRJZDEIIHJlZmVycmFsBEUBIFBhbGxldCBpZC4gRGV0ZXJtaW5lcyBhY2NvdW50IHdoaWNoIGhvbGRzIGFjY3VtdWxhdGVkIHJld2FyZHMgaW4gdmFyaW91cyBhc3NldHMuPFJlZ2lzdHJhdGlvbkZlZcEK0AAAAAAA4CNn6MkAAAAAAAAAAAAAbW9kbHB5L3Ryc3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAIaCBSZWdpc3RyYXRpb24gZmVlIGRldGFpbHMuJQEgKElEIG9mIGFuIGFzc2V0IHdoaWNoIGZlZSBpcyB0byBiZSBwYWlkIGluLCBBbW91bnQsIEJlbmVmaWNpYXJ5IGFjY291bnQpKENvZGVMZW5ndGgQEAoAAAAEeCBNYXhpbXVtIHJlZmVycmFsIGNvZGUgbGVuZ3RoLjRNaW5Db2RlTGVuZ3RoEBAEAAAABHggTWluaW11bSByZWZlcnJhbCBjb2RlIGxlbmd0aC5AU2VlZE5hdGl2ZUFtb3VudBhAAKByThgJAAAAAAAAAAAAAAS0IFNlZWQgYW1vdW50IHRoYXQgd2FzIHNlbnQgdG8gdGhlIHJld2FyZCBwb3QuAcUKSwAsTGlxdWlkYXRpb24BLExpcXVpZGF0aW9uBERCb3Jyb3dpbmdDb250cmFjdAEAVQFQGwLgUWg7XPrFkpwl6ErbJuz4ezgEiCBCb3Jyb3dpbmcgbWFya2V0IGNvbnRyYWN0IGFkZHJlc3MBCQQB6QYIIEdhc0xpbWl0MCAACT0AAAAAAATkIFRoZSBnYXMgbGltaXQgZm9yIHRoZSBleGVjdXRpb24gb2YgdGhlIGxpcXVpZGF0aW9uIGNhbGwuOFByb2ZpdFJlY2VpdmVyAIBtb2RscHkvdHJzcnkAAAAAAAAAAAAAAAAAAAAAAAAAAASEIEFjY291bnQgd2hvIHJlY2VpdmVzIHRoZSBwcm9maXQuAckKTAAYVG9rZW5zARhUb2tlbnMQNFRvdGFsSXNzdWFuY2UBAQQFEBhAAAAAAAAAAAAAAAAAAAAAAASQIFRoZSB0b3RhbCBpc3N1YW5jZSBvZiBhIHRva2VuIHR5cGUuFExvY2tzAQEIAgWZCM0KBAAI2CBBbnkgbGlxdWlkaXR5IGxvY2tzIG9mIGEgdG9rZW4gdHlwZSB1bmRlciBhbiBhY2NvdW50LiUBIE5PVEU6IFNob3VsZCBvbmx5IGJlIGFjY2Vzc2VkIHdoZW4gc2V0dGluZywgY2hhbmdpbmcgYW5kIGZyZWVpbmcgYSBsb2NrLiBBY2NvdW50cwEBCAIFmQjZCsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYuCBUaGUgYmFsYW5jZSBvZiBhIHRva2VuIHR5cGUgdW5kZXIgYW4gYWNjb3VudC4A/CBOT1RFOiBJZiB0aGUgdG90YWwgaXMgZXZlciB6ZXJvLCBkZWNyZWFzZSBhY2NvdW50IHJlZiBhY2NvdW50LgAZASBOT1RFOiBUaGlzIGlzIG9ubHkgdXNlZCBpbiB0aGUgY2FzZSB0aGF0IHRoaXMgbW9kdWxlIGlzIHVzZWQgdG8gc3RvcmUoIGJhbGFuY2VzLiBSZXNlcnZlcwEBCAIFmQjdCgQABKQgTmFtZWQgcmVzZXJ2ZXMgb24gc29tZSBhY2NvdW50IGJhbGFuY2VzLgENBAHtBgggTWF4TG9ja3MQEDIAAAAALE1heFJlc2VydmVzEBAyAAAABA0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBuYW1lZCByZXNlcnZlcyB0aGF0IGNhbiBleGlzdCBvbiBhbiBhY2NvdW50LgHpCk0AKEN1cnJlbmNpZXMAAREEAfEGCDhSZXNlcnZlQWNjb3VudACAbW9kbGN1cnJlc2VyAAAAAAAAAAAAAAAAAAAAAAAAAAAATEdldE5hdGl2ZUN1cnJlbmN5SWQQEAAAAAAAAe0KTwAcVmVzdGluZwEcVmVzdGluZwRAVmVzdGluZ1NjaGVkdWxlcwEBBAIA8QoEAAyEIFZlc3Rpbmcgc2NoZWR1bGVzIG9mIGFuIGFjY291bnQuAOAgVmVzdGluZ1NjaGVkdWxlczogbWFwIEFjY291bnRJZCA9PiBWZWM8VmVzdGluZ1NjaGVkdWxlPgEZBAH1BgRETWluVmVzdGVkVHJhbnNmZXIYQGQAAAAAAAAAAAAAAAAAAAAE6CBUaGUgbWluaW11bSBhbW91bnQgdHJhbnNmZXJyZWQgdG8gY2FsbCBgdmVzdGVkX3RyYW5zZmVyYC4B9QpRAAxFVk0BDEVWTRAwQWNjb3VudENvZGVzAQEEAlUBOAQAAFBBY2NvdW50Q29kZXNNZXRhZGF0YQABBAJVAfkKBAAAPEFjY291bnRTdG9yYWdlcwEBCAIC/Qo0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBTdWljaWRlZAABBAJVAZAEAAABJQQB+QYAAQELWgAoRVZNQ2hhaW5JZAEoRVZNQ2hhaW5JZAQcQ2hhaW5JZAEAMCAAAAAAAAAAAARIIFRoZSBFVk0gY2hhaW4gSUQuAAAAAFsAIEV0aGVyZXVtASBFdGhlcmV1bRQcUGVuZGluZwEABQsEAATQIEN1cnJlbnQgYnVpbGRpbmcgYmxvY2sncyB0cmFuc2FjdGlvbnMgYW5kIHJlY2VpcHRzLjBDdXJyZW50QmxvY2sAACkLBAAEcCBUaGUgY3VycmVudCBFdGhlcmV1bSBibG9jay48Q3VycmVudFJlY2VpcHRzAAA9CwQABHwgVGhlIGN1cnJlbnQgRXRoZXJldW0gcmVjZWlwdHMuaEN1cnJlbnRUcmFuc2FjdGlvblN0YXR1c2VzAABBCwQABIggVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gc3RhdHVzZXMuJEJsb2NrSGFzaAEBBAVdATSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATUEAQEHAAFFC1wALEVWTUFjY291bnRzASxFVk1BY2NvdW50cwxAQWNjb3VudEV4dGVuc2lvbgABBAJVASUCBAAEBQEgTWFwcyBhbiBFVk0gYWRkcmVzcyB0byB0aGUgbGFzdCAxMiBieXRlcyBvZiBhIHN1YnN0cmF0ZSBhY2NvdW50LkBDb250cmFjdERlcGxveWVyAAEEAlUBkAQABAkBIFdoaXRlbGlzdGVkIGFkZHJlc3NlcyB0aGF0IGFyZSBhbGxvd2VkIHRvIGRlcGxveSBzbWFydCBjb250cmFjdHMuQEFwcHJvdmVkQ29udHJhY3QAAQQCVQGQBAAEGQEgV2hpdGVsaXN0ZWQgY29udHJhY3RzIHRoYXQgYXJlIGFsbG93ZWQgdG8gbWFuYWdlIGJhbGFuY2VzIGFuZCB0b2tlbnMuAV0EASUHBDRGZWVNdWx0aXBsaWVyEBAyAAAABLQgRmVlIG11bHRpcGxpZXIgZm9yIHRoZSBiaW5kaW5nIG9mIGFkZHJlc3Nlcy4BSQtdADREeW5hbWljRXZtRmVlATREeW5hbWljRXZtRmVlBDRCYXNlRmVlUGVyR2FzAQBdAYAAJPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAREIEJhc2UgZmVlIHBlciBnYXMAAAQsV2V0aEFzc2V0SWQQEBQAAAAEOCBXRVRIIEFzc2V0IElkAF4ASFhZS0xpcXVpZGl0eU1pbmluZwABYQQBKQcEPE5GVENvbGxlY3Rpb25JZBhADRUAAAAAAAAAAAAAAAAAAATcIE5GVCBjb2xsZWN0aW9uIGlkIGZvciBsaXF1aWRpdHkgbWluaW5nJ3MgZGVwb3NpdCBuZnRzLgFNC18AOFhZS1dhcmVob3VzZUxNAThYWUtXYXJlaG91c2VMTRg0RmFybVNlcXVlbmNlcgEAEBAAAAAABLwgSWQgc2VxdWVuY2VyIGZvciBgR2xvYmFsRmFybWAgYW5kIGBZaWVsZEZhcm1gLkBEZXBvc2l0U2VxdWVuY2VyAQAYQAAAAAAAAAAAAAAAAAAAAAAAKEdsb2JhbEZhcm0AAQQCEFELBAAAJFlpZWxkRmFybQABDAICAlULWQsEAARQIFlpZWxkIGZhcm0gZGV0YWlscy4cRGVwb3NpdAABBAUYXQsEAAREIERlcG9zaXQgZGV0YWlscy48QWN0aXZlWWllbGRGYXJtAAEIAgKZCBAEAAT4IEFjdGl2ZShmYXJtcyBhYmxlIHRvIHJlY2VpdmUgTFAgc2hhcmVzIGRlcG9zaXRzKSB5aWVsZCBmYXJtcy4BcQQBLQcYIFBhbGxldElkMQggeHlrTE1wSUQELCBQYWxsZXQgaWQuRFRyZWFzdXJ5QWNjb3VudElkAIBtb2RscHkvdHJzcnkAAAAAAAAAAAAAAAAAAAAAAAAAAAToIFRyZWFzdXJ5IGFjY291bnQgdG8gcmVjZWl2ZSBjbGFpbWVkIHJld2FyZHMgbG93ZXIgdGhhbiBFRExNaW5Ub3RhbEZhcm1SZXdhcmRzGEAAEKXU6AAAAAAAAAAAAAAABDkBIE1pbmltdW0gdG90YWwgcmV3YXJkcyB0byBkaXN0cmlidXRlIGZyb20gZ2xvYmFsIGZhcm0gZHVyaW5nIGxpcXVpZGl0eSBtaW5pbmcuZE1pblBsYW5uZWRZaWVsZGluZ1BlcmlvZHMQEGg4AAAE7CBNaW5pbXVtIG51bWJlciBvZiBwZXJpb2RzIHRvIHJ1biBsaXF1aWRpdHkgbWluaW5nIHByb2dyYW0uYE1heEZhcm1FbnRyaWVzUGVyRGVwb3NpdBAQBQAAAAhlASBNYXhpbXVtIG51bWJlciBvZiB5aWVsZCBmYXJtcyBzYW1lIExQIHNoYXJlcyBjYW4gYmUgcmUvZGVwb3NpdGVkIGludG8uIFRoaXMgdmFsdWUgYWx3YXlzXCBNVVNUIEJFID49IDEuICAgICAgICAgaE1heFlpZWxkRmFybXNQZXJHbG9iYWxGYXJtEBAyAAAACE0BIE1heCBudW1iZXIgb2YgeWllbGQgZmFybXMgY2FuIGV4aXN0IGluIGdsb2JhbCBmYXJtLiBUaGlzIGluY2x1ZGVzIGFsbCBmYXJtcyBpbiB0aGWYIHN0b3JhZ2UoYWN0aXZlLCBzdG9wcGVkLCB0ZXJtaW5hdGVkKS4BbQtgADhSZWxheUNoYWluSW5mbwABdQQBMQcAAXELyQAMRENBAQxEQ0EcTFNjaGVkdWxlSWRTZXF1ZW5jZXIBABAQAAAAAARsIElkIHNlcXVlbmNlciBmb3Igc2NoZWR1bGVzJFNjaGVkdWxlcwABBAIQfQQEAARkIFN0b3Jpbmcgc2NoZWR1bGUgZGV0YWlsc0RTY2hlZHVsZU93bmVyc2hpcAABCAIFmQiQBAAEbCBTdG9yaW5nIHNjaGVkdWxlIG93bmVyc2hpcEBSZW1haW5pbmdBbW91bnRzAAEEAhAYBAAE/CBLZWVwIHRyYWNraW5nIHRoZSByZW1haW5pbmcgYW1vdW50cyB0byBzcGVuZCBmb3IgRENBIHNjaGVkdWxlczhSZXRyaWVzT25FcnJvcgEBBAIQCAQABOAgS2VlcCB0cmFja2luZyB0aGUgcmV0cnkgb24gZXJyb3IgZmxhZyBmb3IgRENBIHNjaGVkdWxlc1hTY2hlZHVsZUV4ZWN1dGlvbkJsb2NrAAEEAhAQBAAEKQEgS2VlcCB0cmFja2luZyB0aGUgYmxvY2tudW1iZXIgd2hlbiB0aGUgc2NoZWR1bGUgaXMgcGxhbm5lZCB0byBiZSBleGVjdXRlZExTY2hlZHVsZUlkc1BlckJsb2NrAQEEAhB1CwQABPggS2VlcCB0cmFja2luZyBvZiB0aGUgc2NoZWR1bGUgaWRzIHRvIGJlIGV4ZWN1dGVkIGluIHRoZSBibG9jawF5BAE1BzB8TWF4UHJpY2VEaWZmZXJlbmNlQmV0d2VlbkJsb2Nrc0kDEJg6AAAErE1heCBwcmljZSBkaWZmZXJlbmNlIGFsbG93ZWQgYmV0d2VlbiBibG9ja3OsTWF4Q29uZmlndXJhYmxlUHJpY2VEaWZmZXJlbmNlQmV0d2VlbkJsb2Nrc0kDEFDDAAAE4E1heCBjb25maWd1cmFibGUgcHJpY2UgZGlmZmVyZW5jZSBhbGxvd2VkIGJldHdlZW4gYmxvY2tzTE1heFNjaGVkdWxlUGVyQmxvY2sQEAYAAAAE0FRoZSBudW1iZXIgb2YgbWF4IHNjaGVkdWxlcyB0byBiZSBleGVjdXRlZCBwZXIgYmxvY2tkTWF4TnVtYmVyT2ZSZXRyaWVzT25FcnJvcggEAwTYVGhlIG51bWJlciBvZiBtYXggcmV0cmllcyBpbiBjYXNlIG9mIHRyYWRlIGxpbWl0IGVycm9yNE1pbmltYWxQZXJpb2QQEAUAAAAEhE1pbmltYWwgcGVyaW9kIGJldHdlZW4gZXhlY3V0aW9ucyhCdW1wQ2hhbmNlDQkEEQSEQ2hhbmNlIG9mIHRoZSByYW5kb20gcmVzY2hlZHVsaW5nTE1pbmltdW1UcmFkaW5nTGltaXQYQOgDAAAAAAAAAAAAAAAAAAAEpCBNaW5pbXVtIHRyYWRpbmcgbGltaXQgZm9yIGEgc2luZ2xlIHRyYWRlNE5hdGl2ZUFzc2V0SWQQEAAAAAAEQCBOYXRpdmUgQXNzZXQgSWRUUG9sa2Fkb3ROYXRpdmVBc3NldElkEBAFAAAABHwgUG9sa2Fkb3QgTmF0aXZlIEFzc2V0IElkIChET1QpZE1pbkJ1ZGdldEluTmF0aXZlQ3VycmVuY3kYQACAxqR+jQMAAAAAAAAAAAAEJQFNaW5pbXVtIGJ1ZGdldCB0byBiZSBhYmxlIHRvIHNjaGVkdWxlIGEgRENBLCBzcGVjaWZpZWQgaW4gbmF0aXZlIGN1cnJlbmN5LEZlZVJlY2VpdmVyAIBtb2RscHkvdHJzcnkAAAAAAAAAAAAAAAAAAAAAAAAAAASUVGhlIGZlZSByZWNlaXZlciBmb3IgdHJhbnNhY3Rpb24gZmVlczhOYW1lZFJlc2VydmVJZBUCIGRjYW9yZGVyBCkBIE5hbWVkIHJlc2VydmUgaWRlbnRpZmllciB0byBzdG9yZSBuYW1lZCByZXNlcnZlcyBmb3Igb3JkZXJzIG9mIGVhY2ggdXNlcnMBeQtCACRTY2hlZHVsZXIBJFNjaGVkdWxlchA8SW5jb21wbGV0ZVNpbmNlAAAQBAAAGEFnZW5kYQEBBAUQfQsEAARNASBJdGVtcyB0byBiZSBleGVjdXRlZCwgaW5kZXhlZCBieSB0aGUgYmxvY2sgbnVtYmVyIHRoYXQgdGhleSBzaG91bGQgYmUgZXhlY3V0ZWQgb24uHFJldHJpZXMAAQQCdQONCwQABCEBIFJldHJ5IGNvbmZpZ3VyYXRpb25zIGZvciBpdGVtcyB0byBiZSBleGVjdXRlZCwgaW5kZXhlZCBieSB0YXNrIGFkZHJlc3MuGExvb2t1cAABBAUEdQMEABD4IExvb2t1cCBmcm9tIGEgbmFtZSB0byB0aGUgYmxvY2sgbnVtYmVyIGFuZCBpbmRleCBvZiB0aGUgdGFzay4AWQEgRm9yIHYzIC0+IHY0IHRoZSBwcmV2aW91c2x5IHVuYm91bmRlZCBpZGVudGl0aWVzIGFyZSBCbGFrZTItMjU2IGhhc2hlZCB0byBmb3JtIHRoZSB2NDAgaWRlbnRpdGllcy4BiQQBOQcINE1heGltdW1XZWlnaHQoLAsAgG6HdAECAAABBCkBIFRoZSBtYXhpbXVtIHdlaWdodCB0aGF0IG1heSBiZSBzY2hlZHVsZWQgcGVyIGJsb2NrIGZvciBhbnkgZGlzcGF0Y2hhYmxlcy5QTWF4U2NoZWR1bGVkUGVyQmxvY2sQEDIAAAAUHQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIHNjaGVkdWxlZCBjYWxscyBpbiB0aGUgcXVldWUgZm9yIGEgc2luZ2xlIGJsb2NrLgAYIE5PVEU6UQEgKyBEZXBlbmRlbnQgcGFsbGV0cycgYmVuY2htYXJrcyBtaWdodCByZXF1aXJlIGEgaGlnaGVyIGxpbWl0IGZvciB0aGUgc2V0dGluZy4gU2V0IGHEIGhpZ2hlciBsaW1pdCB1bmRlciBgcnVudGltZS1iZW5jaG1hcmtzYCBmZWF0dXJlLgGRCwUAPFBhcmFjaGFpblN5c3RlbQE8UGFyYWNoYWluU3lzdGVtYERVbmluY2x1ZGVkU2VnbWVudAEAlQsEABhJASBMYXRlc3QgaW5jbHVkZWQgYmxvY2sgZGVzY2VuZGFudHMgdGhlIHJ1bnRpbWUgYWNjZXB0ZWQuIEluIG90aGVyIHdvcmRzLCB0aGVzZSBhcmVhASBhbmNlc3RvcnMgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgYmxvY2sgd2hpY2ggaGF2ZSBub3QgYmVlbiBpbmNsdWRlZCBpbiB0aGUgb2JzZXJ2ZWRMIHJlbGF5LWNoYWluIHN0YXRlLgB1ASBUaGUgc2VnbWVudCBsZW5ndGggaXMgbGltaXRlZCBieSB0aGUgY2FwYWNpdHkgcmV0dXJuZWQgZnJvbSB0aGUgW2BDb25zZW5zdXNIb29rYF0gY29uZmlndXJlZDwgaW4gdGhlIHBhbGxldC5sQWdncmVnYXRlZFVuaW5jbHVkZWRTZWdtZW50AAC5CwQADGkBIFN0b3JhZ2UgZmllbGQgdGhhdCBrZWVwcyB0cmFjayBvZiBiYW5kd2lkdGggdXNlZCBieSB0aGUgdW5pbmNsdWRlZCBzZWdtZW50IGFsb25nIHdpdGggdGhlLQEgbGF0ZXN0IEhSTVAgd2F0ZXJtYXJrLiBVc2VkIGZvciBsaW1pdGluZyB0aGUgYWNjZXB0YW5jZSBvZiBuZXcgYmxvY2tzIHdpdGiQIHJlc3BlY3QgdG8gcmVsYXkgY2hhaW4gY29uc3RyYWludHMuVFBlbmRpbmdWYWxpZGF0aW9uQ29kZQEAOAQAGFkBIEluIGNhc2Ugb2YgYSBzY2hlZHVsZWQgdXBncmFkZSwgdGhpcyBzdG9yYWdlIGZpZWxkIGNvbnRhaW5zIHRoZSB2YWxpZGF0aW9uIGNvZGUgdG8gYmUkIGFwcGxpZWQuAD0BIEFzIHNvb24gYXMgdGhlIHJlbGF5IGNoYWluIGdpdmVzIHVzIHRoZSBnby1haGVhZCBzaWduYWwsIHdlIHdpbGwgb3ZlcndyaXRlIHRoZXEBIFtgOmNvZGVgXVtzcF9jb3JlOjpzdG9yYWdlOjp3ZWxsX2tub3duX2tleXM6OkNPREVdIHdoaWNoIHdpbGwgcmVzdWx0IHRoZSBuZXh0IGJsb2NrIHByb2Nlc3MJASB3aXRoIHRoZSBuZXcgdmFsaWRhdGlvbiBjb2RlLiBUaGlzIGNvbmNsdWRlcyB0aGUgdXBncmFkZSBwcm9jZXNzLkROZXdWYWxpZGF0aW9uQ29kZQAAOAQAFF0BIFZhbGlkYXRpb24gY29kZSB0aGF0IGlzIHNldCBieSB0aGUgcGFyYWNoYWluIGFuZCBpcyB0byBiZSBjb21tdW5pY2F0ZWQgdG8gY29sbGF0b3IgYW5keCBjb25zZXF1ZW50bHkgdGhlIHJlbGF5LWNoYWluLgBlASBUaGlzIHdpbGwgYmUgY2xlYXJlZCBpbiBgb25faW5pdGlhbGl6ZWAgb2YgZWFjaCBuZXcgYmxvY2sgaWYgbm8gb3RoZXIgcGFsbGV0IGFscmVhZHkgc2V0LCB0aGUgdmFsdWUuOFZhbGlkYXRpb25EYXRhAACVBAQADNAgVGhlIFtgUGVyc2lzdGVkVmFsaWRhdGlvbkRhdGFgXSBzZXQgZm9yIHRoaXMgYmxvY2suLQEgVGhpcyB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSBzZXQgb25seSBvbmNlIHBlciBibG9jayBhbmQgaXQncyBuZXZlciBzdG9yZWQ0IGluIHRoZSB0cmllLlBEaWRTZXRWYWxpZGF0aW9uQ29kZQEAIAQABOAgV2VyZSB0aGUgdmFsaWRhdGlvbiBkYXRhIHNldCB0byBub3RpZnkgdGhlIHJlbGF5IGNoYWluP2RMYXN0UmVsYXlDaGFpbkJsb2NrTnVtYmVyAQAQEAAAAAAMHQEgVGhlIHJlbGF5IGNoYWluIGJsb2NrIG51bWJlciBhc3NvY2lhdGVkIHdpdGggdGhlIGxhc3QgcGFyYWNoYWluIGJsb2NrLgCIIFRoaXMgaXMgdXBkYXRlZCBpbiBgb25fZmluYWxpemVgLmBVcGdyYWRlUmVzdHJpY3Rpb25TaWduYWwBAL0LBAAcdQEgQW4gb3B0aW9uIHdoaWNoIGluZGljYXRlcyBpZiB0aGUgcmVsYXktY2hhaW4gcmVzdHJpY3RzIHNpZ25hbGxpbmcgYSB2YWxpZGF0aW9uIGNvZGUgdXBncmFkZS5hASBJbiBvdGhlciB3b3JkcywgaWYgdGhpcyBpcyBgU29tZWAgYW5kIFtgTmV3VmFsaWRhdGlvbkNvZGVgXSBpcyBgU29tZWAgdGhlbiB0aGUgcHJvZHVjZWRsIGNhbmRpZGF0ZSB3aWxsIGJlIGludmFsaWQuAHEBIFRoaXMgc3RvcmFnZSBpdGVtIGlzIGEgbWlycm9yIG9mIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGZvciB0aGUgY3VycmVudCBwYXJhY2hhaW4gZnJvbSB0aGVtASByZWxheS1jaGFpbi4gVGhpcyB2YWx1ZSBpcyBlcGhlbWVyYWwgd2hpY2ggbWVhbnMgaXQgZG9lc24ndCBoaXQgdGhlIHN0b3JhZ2UuIFRoaXMgdmFsdWUgaXNgIHNldCBhZnRlciB0aGUgaW5oZXJlbnQuOFVwZ3JhZGVHb0FoZWFkAQCxCwQAFNwgT3B0aW9uYWwgdXBncmFkZSBnby1haGVhZCBzaWduYWwgZnJvbSB0aGUgcmVsYXktY2hhaW4uAHEBIFRoaXMgc3RvcmFnZSBpdGVtIGlzIGEgbWlycm9yIG9mIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGZvciB0aGUgY3VycmVudCBwYXJhY2hhaW4gZnJvbSB0aGVtASByZWxheS1jaGFpbi4gVGhpcyB2YWx1ZSBpcyBlcGhlbWVyYWwgd2hpY2ggbWVhbnMgaXQgZG9lc24ndCBoaXQgdGhlIHN0b3JhZ2UuIFRoaXMgdmFsdWUgaXNgIHNldCBhZnRlciB0aGUgaW5oZXJlbnQuPFJlbGF5U3RhdGVQcm9vZgAAnQQEABjEIFRoZSBzdGF0ZSBwcm9vZiBmb3IgdGhlIGxhc3QgcmVsYXkgcGFyZW50IGJsb2NrLgBtASBUaGlzIGZpZWxkIGlzIG1lYW50IHRvIGJlIHVwZGF0ZWQgZWFjaCBibG9jayB3aXRoIHRoZSB2YWxpZGF0aW9uIGRhdGEgaW5oZXJlbnQuIFRoZXJlZm9yZSxNASBiZWZvcmUgcHJvY2Vzc2luZyBvZiB0aGUgaW5oZXJlbnQsIGUuZy4gaW4gYG9uX2luaXRpYWxpemVgIHRoaXMgZGF0YSBtYXkgYmUgc3RhbGUuAKwgVGhpcyBkYXRhIGlzIGFsc28gYWJzZW50IGZyb20gdGhlIGdlbmVzaXMuWFJlbGV2YW50TWVzc2FnaW5nU3RhdGUAAMULBAAcZQEgVGhlIHNuYXBzaG90IG9mIHNvbWUgc3RhdGUgcmVsYXRlZCB0byBtZXNzYWdpbmcgcmVsZXZhbnQgdG8gdGhlIGN1cnJlbnQgcGFyYWNoYWluIGFzIHBlckggdGhlIHJlbGF5IHBhcmVudC4AbQEgVGhpcyBmaWVsZCBpcyBtZWFudCB0byBiZSB1cGRhdGVkIGVhY2ggYmxvY2sgd2l0aCB0aGUgdmFsaWRhdGlvbiBkYXRhIGluaGVyZW50LiBUaGVyZWZvcmUsTQEgYmVmb3JlIHByb2Nlc3Npbmcgb2YgdGhlIGluaGVyZW50LCBlLmcuIGluIGBvbl9pbml0aWFsaXplYCB0aGlzIGRhdGEgbWF5IGJlIHN0YWxlLgCsIFRoaXMgZGF0YSBpcyBhbHNvIGFic2VudCBmcm9tIHRoZSBnZW5lc2lzLkRIb3N0Q29uZmlndXJhdGlvbgAA2QsEABgpASBUaGUgcGFyYWNoYWluIGhvc3QgY29uZmlndXJhdGlvbiB0aGF0IHdhcyBvYnRhaW5lZCBmcm9tIHRoZSByZWxheSBwYXJlbnQuAG0BIFRoaXMgZmllbGQgaXMgbWVhbnQgdG8gYmUgdXBkYXRlZCBlYWNoIGJsb2NrIHdpdGggdGhlIHZhbGlkYXRpb24gZGF0YSBpbmhlcmVudC4gVGhlcmVmb3JlLE0BIGJlZm9yZSBwcm9jZXNzaW5nIG9mIHRoZSBpbmhlcmVudCwgZS5nLiBpbiBgb25faW5pdGlhbGl6ZWAgdGhpcyBkYXRhIG1heSBiZSBzdGFsZS4ArCBUaGlzIGRhdGEgaXMgYWxzbyBhYnNlbnQgZnJvbSB0aGUgZ2VuZXNpcy44TGFzdERtcU1xY0hlYWQBAOELgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEPQgVGhlIGxhc3QgZG93bndhcmQgbWVzc2FnZSBxdWV1ZSBjaGFpbiBoZWFkIHdlIGhhdmUgb2JzZXJ2ZWQuAGUBIFRoaXMgdmFsdWUgaXMgbG9hZGVkIGJlZm9yZSBhbmQgc2F2ZWQgYWZ0ZXIgcHJvY2Vzc2luZyBpbmJvdW5kIGRvd253YXJkIG1lc3NhZ2VzIGNhcnJpZWRgIGJ5IHRoZSBzeXN0ZW0gaW5oZXJlbnQuQExhc3RIcm1wTXFjSGVhZHMBAOULBAAQSQEgVGhlIG1lc3NhZ2UgcXVldWUgY2hhaW4gaGVhZHMgd2UgaGF2ZSBvYnNlcnZlZCBwZXIgZWFjaCBjaGFubmVsIGluY29taW5nIGNoYW5uZWwuAGUBIFRoaXMgdmFsdWUgaXMgbG9hZGVkIGJlZm9yZSBhbmQgc2F2ZWQgYWZ0ZXIgcHJvY2Vzc2luZyBpbmJvdW5kIGRvd253YXJkIG1lc3NhZ2VzIGNhcnJpZWRgIGJ5IHRoZSBzeXN0ZW0gaW5oZXJlbnQuZFByb2Nlc3NlZERvd253YXJkTWVzc2FnZXMBABAQAAAAAAzIIE51bWJlciBvZiBkb3dud2FyZCBtZXNzYWdlcyBwcm9jZXNzZWQgaW4gYSBibG9jay4A7CBUaGlzIHdpbGwgYmUgY2xlYXJlZCBpbiBgb25faW5pdGlhbGl6ZWAgb2YgZWFjaCBuZXcgYmxvY2suNEhybXBXYXRlcm1hcmsBABAQAAAAAAygIEhSTVAgd2F0ZXJtYXJrIHRoYXQgd2FzIHNldCBpbiBhIGJsb2NrLgDsIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9pbml0aWFsaXplYCBvZiBlYWNoIG5ldyBibG9jay5QSHJtcE91dGJvdW5kTWVzc2FnZXMBAPELBAAMpCBIUk1QIG1lc3NhZ2VzIHRoYXQgd2VyZSBzZW50IGluIGEgYmxvY2suAOwgVGhpcyB3aWxsIGJlIGNsZWFyZWQgaW4gYG9uX2luaXRpYWxpemVgIG9mIGVhY2ggbmV3IGJsb2NrLjhVcHdhcmRNZXNzYWdlcwEANQEEAAysIFVwd2FyZCBtZXNzYWdlcyB0aGF0IHdlcmUgc2VudCBpbiBhIGJsb2NrLgDsIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9pbml0aWFsaXplYCBvZiBlYWNoIG5ldyBibG9jay5UUGVuZGluZ1Vwd2FyZE1lc3NhZ2VzAQA1AQQABDEBIFVwd2FyZCBtZXNzYWdlcyB0aGF0IGFyZSBzdGlsbCBwZW5kaW5nIGFuZCBub3QgeWV0IHNlbmQgdG8gdGhlIHJlbGF5IGNoYWluLlxVcHdhcmREZWxpdmVyeUZlZUZhY3RvcgEAUQFAAABkp7O24A0AAAAAAAAAAATkIFRoZSBmYWN0b3IgdG8gbXVsdGlwbHkgdGhlIGJhc2UgZGVsaXZlcnkgZmVlIGJ5IGZvciBVTVAuhEFubm91bmNlZEhybXBNZXNzYWdlc1BlckNhbmRpZGF0ZQEAEBAAAAAACGUBIFRoZSBudW1iZXIgb2YgSFJNUCBtZXNzYWdlcyB3ZSBvYnNlcnZlZCBpbiBgb25faW5pdGlhbGl6ZWAgYW5kIHRodXMgdXNlZCB0aGF0IG51bWJlciBmb3LwIGFubm91bmNpbmcgdGhlIHdlaWdodCBvZiBgb25faW5pdGlhbGl6ZWAgYW5kIGBvbl9maW5hbGl6ZWAuaFJlc2VydmVkWGNtcFdlaWdodE92ZXJyaWRlAAAoBAAIXQEgVGhlIHdlaWdodCB3ZSByZXNlcnZlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrIGZvciBwcm9jZXNzaW5nIFhDTVAgbWVzc2FnZXMuIFRoaXO4IG92ZXJyaWRlcyB0aGUgYW1vdW50IHNldCBpbiB0aGUgQ29uZmlnIHRyYWl0LmRSZXNlcnZlZERtcFdlaWdodE92ZXJyaWRlAAAoBAAIWQEgVGhlIHdlaWdodCB3ZSByZXNlcnZlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrIGZvciBwcm9jZXNzaW5nIERNUCBtZXNzYWdlcy4gVGhpc7ggb3ZlcnJpZGVzIHRoZSBhbW91bnQgc2V0IGluIHRoZSBDb25maWcgdHJhaXQuYEN1c3RvbVZhbGlkYXRpb25IZWFkRGF0YQAAOAQADCkBIEEgY3VzdG9tIGhlYWQgZGF0YSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZCBhcyByZXN1bHQgb2YgYHZhbGlkYXRlX2Jsb2NrYC4AEQEgU2VlIGBQYWxsZXQ6OnNldF9jdXN0b21fdmFsaWRhdGlvbl9oZWFkX2RhdGFgIGZvciBtb3JlIGluZm9ybWF0aW9uLgGNBAFBBwQoU2VsZlBhcmFJZNUBEPIHAAAEuCBSZXR1cm5zIHRoZSBwYXJhY2hhaW4gSUQgd2UgYXJlIHJ1bm5pbmcgd2l0aC4B+QtnADRQYXJhY2hhaW5JbmZvATRQYXJhY2hhaW5JbmZvBCxQYXJhY2hhaW5JZAEA1QEQZAAAAAABwQQAAABpACxQb2xrYWRvdFhjbQEsUG9sa2Fkb3RYY204MFF1ZXJ5Q291bnRlcgEAMCAAAAAAAAAAAASIIFRoZSBsYXRlc3QgYXZhaWxhYmxlIHF1ZXJ5IGluZGV4LhxRdWVyaWVzAAEEAjD9CwQABFQgVGhlIG9uZ29pbmcgcXVlcmllcy4oQXNzZXRUcmFwcwEBBAY0EBAAAAAAEGggVGhlIGV4aXN0aW5nIGFzc2V0IHRyYXBzLgBhASBLZXkgaXMgdGhlIGJsYWtlMiAyNTYgaGFzaCBvZiAob3JpZ2luLCB2ZXJzaW9uZWQgYEFzc2V0c2ApIHBhaXIuIFZhbHVlIGlzIHRoZSBudW1iZXIgb2YdASB0aW1lcyB0aGlzIHBhaXIgaGFzIGJlZW4gdHJhcHBlZCAodXN1YWxseSBqdXN0IDEgaWYgaXQgZXhpc3RzIGF0IGFsbCkuOFNhZmVYY21WZXJzaW9uAAAQBAAIYQEgRGVmYXVsdCB2ZXJzaW9uIHRvIGVuY29kZSBYQ00gd2hlbiBsYXRlc3QgdmVyc2lvbiBvZiBkZXN0aW5hdGlvbiBpcyB1bmtub3duLiBJZiBgTm9uZWAsPQEgdGhlbiB0aGUgZGVzdGluYXRpb25zIHdob3NlIFhDTSB2ZXJzaW9uIGlzIHVua25vd24gYXJlIGNvbnNpZGVyZWQgdW5yZWFjaGFibGUuQFN1cHBvcnRlZFZlcnNpb24AAQgFAhEMEAQABPAgVGhlIExhdGVzdCB2ZXJzaW9ucyB0aGF0IHdlIGtub3cgdmFyaW91cyBsb2NhdGlvbnMgc3VwcG9ydC5AVmVyc2lvbk5vdGlmaWVycwABCAUCEQwwBAAEBQEgQWxsIGxvY2F0aW9ucyB0aGF0IHdlIGhhdmUgcmVxdWVzdGVkIHZlcnNpb24gbm90aWZpY2F0aW9ucyBmcm9tLlBWZXJzaW9uTm90aWZ5VGFyZ2V0cwABCAUCEQwVDAQACHEBIFRoZSB0YXJnZXQgbG9jYXRpb25zIHRoYXQgYXJlIHN1YnNjcmliZWQgdG8gb3VyIHZlcnNpb24gY2hhbmdlcywgYXMgd2VsbCBhcyB0aGUgbW9zdCByZWNlbnSUIG9mIG91ciB2ZXJzaW9ucyB3ZSBpbmZvcm1lZCB0aGVtIG9mLlRWZXJzaW9uRGlzY292ZXJ5UXVldWUBABkMBAAMZQEgRGVzdGluYXRpb25zIHdob3NlIGxhdGVzdCBYQ00gdmVyc2lvbiB3ZSB3b3VsZCBsaWtlIHRvIGtub3cuIER1cGxpY2F0ZXMgbm90IGFsbG93ZWQsIGFuZHEBIHRoZSBgdTMyYCBjb3VudGVyIGlzIHRoZSBudW1iZXIgb2YgdGltZXMgdGhhdCBhIHNlbmQgdG8gdGhlIGRlc3RpbmF0aW9uIGhhcyBiZWVuIGF0dGVtcHRlZCyMIHdoaWNoIGlzIHVzZWQgYXMgYSBwcmlvcml0aXphdGlvbi5AQ3VycmVudE1pZ3JhdGlvbgAAJQwEAAScIFRoZSBjdXJyZW50IG1pZ3JhdGlvbidzIHN0YWdlLCBpZiBhbnkuVFJlbW90ZUxvY2tlZEZ1bmdpYmxlcwABDAUCAi0MMQwEAATwIEZ1bmdpYmxlIGFzc2V0cyB3aGljaCB3ZSBrbm93IGFyZSBsb2NrZWQgb24gYSByZW1vdGUgY2hhaW4uPExvY2tlZEZ1bmdpYmxlcwABBAIAQQwEAATgIEZ1bmdpYmxlIGFzc2V0cyB3aGljaCB3ZSBrbm93IGFyZSBsb2NrZWQgb24gdGhpcyBjaGFpbi5UWGNtRXhlY3V0aW9uU3VzcGVuZGVkAQAgBAAEtCBHbG9iYWwgc3VzcGVuc2lvbiBzdGF0ZSBvZiB0aGUgWENNIGV4ZWN1dG9yLjxTaG91bGRSZWNvcmRYY20BACAEABxZASBXaGV0aGVyIG9yIG5vdCBpbmNvbWluZyBYQ01zIChib3RoIGV4ZWN1dGVkIGxvY2FsbHkgYW5kIHJlY2VpdmVkKSBzaG91bGQgYmUgcmVjb3JkZWQuxCBPbmx5IG9uZSBYQ00gcHJvZ3JhbSB3aWxsIGJlIHJlY29yZGVkIGF0IGEgdGltZS4pASBUaGlzIGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gcnVudGltZSBBUElzLCBhbmQgaXQncyBhZHZpc2VkIGl0IHN0YXlzIGZhbHNlDQEgZm9yIGFsbCBvdGhlciB1c2UgY2FzZXMsIHNvIGFzIHRvIG5vdCBkZWdyYWRlIHJlZ3VsYXIgcGVyZm9ybWFuY2UuAFkBIE9ubHkgcmVsZXZhbnQgaWYgdGhpcyBwYWxsZXQgaXMgYmVpbmcgdXNlZCBhcyB0aGUgW2B4Y21fZXhlY3V0b3I6OnRyYWl0czo6UmVjb3JkWGNtYF3IIGltcGxlbWVudGF0aW9uIGluIHRoZSBYQ00gZXhlY3V0b3IgY29uZmlndXJhdGlvbi4sUmVjb3JkZWRYY20AAKEFBAAYSQEgSWYgW2BTaG91bGRSZWNvcmRYY21gXSBpcyBzZXQgdG8gdHJ1ZSwgdGhlbiB0aGUgbGFzdCBYQ00gcHJvZ3JhbSBleGVjdXRlZCBsb2NhbGx5VCB3aWxsIGJlIHN0b3JlZCBoZXJlLikBIFJ1bnRpbWUgQVBJcyBjYW4gZmV0Y2ggdGhlIFhDTSB0aGF0IHdhcyBleGVjdXRlZCBieSBhY2Nlc3NpbmcgdGhpcyB2YWx1ZS4AWQEgT25seSByZWxldmFudCBpZiB0aGlzIHBhbGxldCBpcyBiZWluZyB1c2VkIGFzIHRoZSBbYHhjbV9leGVjdXRvcjo6dHJhaXRzOjpSZWNvcmRYY21gXcggaW1wbGVtZW50YXRpb24gaW4gdGhlIFhDTSBleGVjdXRvciBjb25maWd1cmF0aW9uLgHFBAFFBwABTQxrAChDdW11bHVzWGNtAAElBgFNBwAAbQAkWGNtcFF1ZXVlASRYY21wUXVldWUcUEluYm91bmRYY21wU3VzcGVuZGVkAQBRDAQAIA0BIFRoZSBzdXNwZW5kZWQgaW5ib3VuZCBYQ01QIGNoYW5uZWxzLiBBbGwgb3RoZXJzIGFyZSBub3Qgc3VzcGVuZGVkLgBxASBUaGlzIGlzIGEgYFN0b3JhZ2VWYWx1ZWAgaW5zdGVhZCBvZiBhIGBTdG9yYWdlTWFwYCBzaW5jZSB3ZSBleHBlY3QgbXVsdGlwbGUgcmVhZHMgcGVyIGJsb2NraQEgdG8gZGlmZmVyZW50IGtleXMgd2l0aCBhIG9uZSBieXRlIHBheWxvYWQuIFRoZSBhY2Nlc3MgdG8gYEJvdW5kZWRCVHJlZVNldGAgd2lsbCBiZSBjYWNoZWQVASB3aXRoaW4gdGhlIGJsb2NrIGFuZCB0aGVyZWZvcmUgb25seSBpbmNsdWRlZCBvbmNlIGluIHRoZSBwcm9vZiBzaXplLgBlASBOT1RFOiBUaGUgUG9WIGJlbmNobWFya2luZyBjYW5ub3Qga25vdyB0aGlzIGFuZCB3aWxsIG92ZXItZXN0aW1hdGUsIGJ1dCB0aGUgYWN0dWFsIHByb29mRCB3aWxsIGJlIHNtYWxsZXIuSE91dGJvdW5kWGNtcFN0YXR1cwEAXQwEABhdASBUaGUgbm9uLWVtcHR5IFhDTVAgY2hhbm5lbHMgaW4gb3JkZXIgb2YgYmVjb21pbmcgbm9uLWVtcHR5LCBhbmQgdGhlIGluZGV4IG9mIHRoZSBmaXJzdFEBIGFuZCBsYXN0IG91dGJvdW5kIG1lc3NhZ2UuIElmIHRoZSB0d28gaW5kaWNlcyBhcmUgZXF1YWwsIHRoZW4gaXQgaW5kaWNhdGVzIGFuIGVtcHR5WQEgcXVldWUgYW5kIHRoZXJlIG11c3QgYmUgYSBub24tYE9rYCBgT3V0Ym91bmRTdGF0dXNgLiBXZSBhc3N1bWUgcXVldWVzIGdyb3cgbm8gZ3JlYXRlclkBIHRoYW4gNjU1MzUgaXRlbXMuIFF1ZXVlIGluZGljZXMgZm9yIG5vcm1hbCBtZXNzYWdlcyBiZWdpbiBhdCBvbmU7IHplcm8gaXMgcmVzZXJ2ZWQgaW4RASBjYXNlIG9mIHRoZSBuZWVkIHRvIHNlbmQgYSBoaWdoLXByaW9yaXR5IHNpZ25hbCBtZXNzYWdlIHRoaXMgYmxvY2suCQEgVGhlIGJvb2wgaXMgdHJ1ZSBpZiB0aGVyZSBpcyBhIHNpZ25hbCBtZXNzYWdlIHdhaXRpbmcgdG8gYmUgc2VudC5QT3V0Ym91bmRYY21wTWVzc2FnZXMBAQgCBW0McQwEAAS8IFRoZSBtZXNzYWdlcyBvdXRib3VuZCBpbiBhIGdpdmVuIFhDTVAgY2hhbm5lbC44U2lnbmFsTWVzc2FnZXMBAQQC1QFxDAQABKAgQW55IHNpZ25hbCBtZXNzYWdlcyB3YWl0aW5nIHRvIGJlIHNlbnQuLFF1ZXVlQ29uZmlnAQB1DDAgAAAAMAAAAAgAAAAEFQEgVGhlIGNvbmZpZ3VyYXRpb24gd2hpY2ggY29udHJvbHMgdGhlIGR5bmFtaWNzIG9mIHRoZSBvdXRib3VuZCBxdWV1ZS44UXVldWVTdXNwZW5kZWQBACAEAARBASBXaGV0aGVyIG9yIG5vdCB0aGUgWENNUCBxdWV1ZSBpcyBzdXNwZW5kZWQgZnJvbSBleGVjdXRpbmcgaW5jb21pbmcgWENNcyBvciBub3QuRERlbGl2ZXJ5RmVlRmFjdG9yAQEEBdUBUQFAAABkp7O24A0AAAAAAAAAAATEIFRoZSBmYWN0b3IgdG8gbXVsdGlwbHkgdGhlIGJhc2UgZGVsaXZlcnkgZmVlIGJ5LgABUQcMTE1heEluYm91bmRTdXNwZW5kZWQQEOgDAAAUSQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIGluYm91bmQgWENNUCBjaGFubmVscyB0aGF0IGNhbiBiZSBzdXNwZW5kZWQgc2ltdWx0YW5lb3VzbHkuAF0BIEFueSBmdXJ0aGVyIGNoYW5uZWwgc3VzcGVuc2lvbnMgd2lsbCBmYWlsIGFuZCBtZXNzYWdlcyBtYXkgZ2V0IGRyb3BwZWQgd2l0aG91dCBmdXJ0aGVyRQEgbm90aWNlLiBDaG9vc2luZyBhIGhpZ2ggdmFsdWUgKDEwMDApIGlzIG9rYXk7IHRoZSB0cmFkZS1vZmYgdGhhdCBpcyBkZXNjcmliZWQgaW7YIFtgSW5ib3VuZFhjbXBTdXNwZW5kZWRgXSBzdGlsbCBhcHBsaWVzIGF0IHRoYXQgc2NhbGUuZE1heEFjdGl2ZU91dGJvdW5kQ2hhbm5lbHMQEIAAAAAgZQEgTWF4aW1hbCBudW1iZXIgb2Ygb3V0Ym91bmQgWENNUCBjaGFubmVscyB0aGF0IGNhbiBoYXZlIG1lc3NhZ2VzIHF1ZXVlZCBhdCB0aGUgc2FtZSB0aW1lLgBVASBJZiB0aGlzIGlzIHJlYWNoZWQsIHRoZW4gbm8gZnVydGhlciBtZXNzYWdlcyBjYW4gYmUgc2VudCB0byBjaGFubmVscyB0aGF0IGRvIG5vdCB5ZXRdASBoYXZlIGEgbWVzc2FnZSBxdWV1ZWQuIFRoaXMgc2hvdWxkIGJlIHNldCB0byB0aGUgZXhwZWN0ZWQgbWF4aW11bSBvZiBvdXRib3VuZCBjaGFubmVsc2EBIHdoaWNoIGlzIGRldGVybWluZWQgYnkgW2BTZWxmOjpDaGFubmVsSW5mb2BdLiBJdCBpcyBpbXBvcnRhbnQgdG8gc2V0IHRoaXMgbGFyZ2UgZW5vdWdoLF0BIHNpbmNlIG90aGVyd2lzZSB0aGUgY29uZ2VzdGlvbiBjb250cm9sIHByb3RvY29sIHdpbGwgbm90IHdvcmsgYXMgaW50ZW5kZWQgYW5kIG1lc3NhZ2VzUQEgbWF5IGJlIGRyb3BwZWQuIFRoaXMgdmFsdWUgaW5jcmVhc2VzIHRoZSBQb1YgYW5kIHNob3VsZCB0aGVyZWZvcmUgbm90IGJlIHBpY2tlZCB0b29NASBoaWdoLiBHb3Zlcm5hbmNlIG5lZWRzIHRvIHBheSBhdHRlbnRpb24gdG8gbm90IG9wZW4gbW9yZSBjaGFubmVscyB0aGFuIHRoaXMgdmFsdWUuLE1heFBhZ2VTaXplEBAAAAIAFLggVGhlIG1heGltYWwgcGFnZSBzaXplIGZvciBIUk1QIG1lc3NhZ2UgcGFnZXMuAGEBIEEgbG93ZXIgbGltaXQgY2FuIGJlIHNldCBkeW5hbWljYWxseSwgYnV0IHRoaXMgaXMgdGhlIGhhcmQtbGltaXQgZm9yIHRoZSBQb1Ygd29yc3QgY2FzZVUBIGJlbmNobWFya2luZy4gVGhlIGxpbWl0IGZvciB0aGUgc2l6ZSBvZiBhIG1lc3NhZ2UgaXMgc2xpZ2h0bHkgYmVsb3cgdGhpcywgc2luY2Ugc29tZbggb3ZlcmhlYWQgaXMgaW5jdXJyZWQgZm9yIGVuY29kaW5nIHRoZSBmb3JtYXQuAXkMbwAwTWVzc2FnZVF1ZXVlATBNZXNzYWdlUXVldWUMMEJvb2tTdGF0ZUZvcgEBBAUtBn0MdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMwgVGhlIGluZGV4IG9mIHRoZSBmaXJzdCBhbmQgbGFzdCAobm9uLWVtcHR5KSBwYWdlcy4sU2VydmljZUhlYWQAAC0GBAAEvCBUaGUgb3JpZ2luIGF0IHdoaWNoIHdlIHNob3VsZCBiZWdpbiBzZXJ2aWNpbmcuFFBhZ2VzAAEIBQWJDI0MBAAEiCBUaGUgbWFwIG9mIHBhZ2UgaW5kaWNlcyB0byBwYWdlcy4BKQYBVQcQIEhlYXBTaXplEBAADAIAFD0BIFRoZSBzaXplIG9mIHRoZSBwYWdlOyB0aGlzIGltcGxpZXMgdGhlIG1heGltdW0gbWVzc2FnZSBzaXplIHdoaWNoIGNhbiBiZSBzZW50LgBZASBBIGdvb2QgdmFsdWUgZGVwZW5kcyBvbiB0aGUgZXhwZWN0ZWQgbWVzc2FnZSBzaXplcywgdGhlaXIgd2VpZ2h0cywgdGhlIHdlaWdodCB0aGF0IGlzXQEgYXZhaWxhYmxlIGZvciBwcm9jZXNzaW5nIHRoZW0gYW5kIHRoZSBtYXhpbWFsIG5lZWRlZCBtZXNzYWdlIHNpemUuIFRoZSBtYXhpbWFsIG1lc3NhZ2URASBzaXplIGlzIHNsaWdodGx5IGxvd2VyIHRoYW4gdGhpcyBhcyBkZWZpbmVkIGJ5IFtgTWF4TWVzc2FnZUxlbk9mYF0uIE1heFN0YWxlEBAIAAAADF0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBzdGFsZSBwYWdlcyAoaS5lLiBvZiBvdmVyd2VpZ2h0IG1lc3NhZ2VzKSBhbGxvd2VkIGJlZm9yZSBjdWxsaW5nUQEgY2FuIGhhcHBlbi4gT25jZSB0aGVyZSBhcmUgbW9yZSBzdGFsZSBwYWdlcyB0aGFuIHRoaXMsIHRoZW4gaGlzdG9yaWNhbCBwYWdlcyBtYXkgYmX8IGRyb3BwZWQsIGV2ZW4gaWYgdGhleSBjb250YWluIHVucHJvY2Vzc2VkIG92ZXJ3ZWlnaHQgbWVzc2FnZXMuNFNlcnZpY2VXZWlnaHRxBiwBBwCg2yFdAgBAABhBASBUaGUgYW1vdW50IG9mIHdlaWdodCAoaWYgYW55KSB3aGljaCBzaG91bGQgYmUgcHJvdmlkZWQgdG8gdGhlIG1lc3NhZ2UgcXVldWUgZm9yqCBzZXJ2aWNpbmcgZW5xdWV1ZWQgaXRlbXMgYG9uX2luaXRpYWxpemVgLgD8IFRoaXMgbWF5IGJlIGxlZ2l0aW1hdGVseSBgTm9uZWAgaW4gdGhlIGNhc2UgdGhhdCB5b3Ugd2lsbCBjYWxsXQEgYFNlcnZpY2VRdWV1ZXM6OnNlcnZpY2VfcXVldWVzYCBtYW51YWxseSBvciBzZXQgW2BTZWxmOjpJZGxlTWF4U2VydmljZVdlaWdodGBdIHRvIGhhdmVUIGl0IHJ1biBpbiBgb25faWRsZWAuUElkbGVNYXhTZXJ2aWNlV2VpZ2h0cQYEABRdASBUaGUgbWF4aW11bSBhbW91bnQgb2Ygd2VpZ2h0IChpZiBhbnkpIHRvIGJlIHVzZWQgZnJvbSByZW1haW5pbmcgd2VpZ2h0IGBvbl9pZGxlYCB3aGljaEEBIHNob3VsZCBiZSBwcm92aWRlZCB0byB0aGUgbWVzc2FnZSBxdWV1ZSBmb3Igc2VydmljaW5nIGVucXVldWVkIGl0ZW1zIGBvbl9pZGxlYC49ASBVc2VmdWwgZm9yIHBhcmFjaGFpbnMgdG8gcHJvY2VzcyBtZXNzYWdlcyBhdCB0aGUgc2FtZSBibG9jayB0aGV5IGFyZSByZWNlaXZlZC4AKQEgSWYgYE5vbmVgLCBpdCB3aWxsIG5vdCBjYWxsIGBTZXJ2aWNlUXVldWVzOjpzZXJ2aWNlX3F1ZXVlc2AgaW4gYG9uX2lkbGVgLgGVDHIAHE9ybWxYY20AATEGAV0HAAGZDIcAHFhUb2tlbnMAATUGAWEHDDBTZWxmTG9jYXRpb26VARQBAQDJHwRUIFNlbGYgY2hhaW4gbG9jYXRpb24uNEJhc2VYY21XZWlnaHQoFAKE1xcAEEQgQmFzZSBYQ00gd2VpZ2h0LgD4IFRoZSBhY3R1YWxseSB3ZWlnaHQgZm9yIGFuIFhDTSBtZXNzYWdlIGlzIGBUOjpCYXNlWGNtV2VpZ2h0ICtsIFQ6OldlaWdoZXI6OndlaWdodCgmbXNnKWAuNFJhdGVMaW1pdGVySWSQAARsIFRoZSBpZCBvZiB0aGUgUmF0ZUxpbWl0ZXIuAZ0MiQA0VW5rbm93blRva2VucwE0VW5rbm93blRva2VucwhgQ29uY3JldGVGdW5naWJsZUJhbGFuY2VzAQEIAgKhDBhAAAAAAAAAAAAAAAAAAAAAABAFASBDb25jcmV0ZSBmdW5naWJsZSBiYWxhbmNlcyB1bmRlciBhIGdpdmVuIGxvY2F0aW9uIGFuZCBhIGNvbmNyZXRlNCBmdW5naWJsZSBpZC4AiCBkb3VibGVfbWFwOiB3aG8sIGFzc2V0X2lkID0+IHUxMjhgQWJzdHJhY3RGdW5naWJsZUJhbGFuY2VzAQEIAgKlDBhAAAAAAAAAAAAAAAAAAAAAABAFASBBYnN0cmFjdCBmdW5naWJsZSBiYWxhbmNlcyB1bmRlciBhIGdpdmVuIGxvY2F0aW9uIGFuZCBhIGFic3RyYWN0NCBmdW5naWJsZSBpZC4AiCBkb3VibGVfbWFwOiB3aG8sIGFzc2V0X2lkID0+IHUxMjgAAWUHAAGpDIsAKEF1dGhvcnNoaXABKEF1dGhvcnNoaXAEGEF1dGhvcgAAAAQABGQgQXV0aG9yIG9mIGN1cnJlbnQgYmxvY2suAAAAAKEARENvbGxhdG9yU2VsZWN0aW9uAURDb2xsYXRvclNlbGVjdGlvbhQ0SW52dWxuZXJhYmxlcwEA+QkEAAQRASBUaGUgaW52dWxuZXJhYmxlLCBwZXJtaXNzaW9uZWQgY29sbGF0b3JzLiBUaGlzIGxpc3QgbXVzdCBiZSBzb3J0ZWQuNENhbmRpZGF0ZUxpc3QBAK0MBAAUaQEgVGhlIChjb21tdW5pdHksIGxpbWl0ZWQpIGNvbGxhdGlvbiBjYW5kaWRhdGVzLiBgQ2FuZGlkYXRlc2AgYW5kIGBJbnZ1bG5lcmFibGVzYCBzaG91bGQgYmVQIG11dHVhbGx5IGV4Y2x1c2l2ZS4AdQEgVGhpcyBsaXN0IGlzIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkgZGVwb3NpdCBhbmQgd2hlbiB0aGUgZGVwb3NpdHMgYXJlIGVxdWFsLCB0aGUgbGVhc3SgIHJlY2VudGx5IHVwZGF0ZWQgaXMgY29uc2lkZXJlZCBncmVhdGVyLkRMYXN0QXV0aG9yZWRCbG9jawEBBAUAEBAAAAAABIQgTGFzdCBibG9jayBhdXRob3JlZCBieSBjb2xsYXRvci5ERGVzaXJlZENhbmRpZGF0ZXMBABAQAAAAAAx4IERlc2lyZWQgbnVtYmVyIG9mIGNhbmRpZGF0ZXMuAHUBIFRoaXMgc2hvdWxkIGlkZWFsbHkgYWx3YXlzIGJlIGxlc3MgdGhhbiBbYENvbmZpZzo6TWF4Q2FuZGlkYXRlc2BdIGZvciB3ZWlnaHRzIHRvIGJlIGNvcnJlY3QuNENhbmRpZGFjeUJvbmQBABhAAAAAAAAAAAAAAAAAAAAAAAy4IEZpeGVkIGFtb3VudCB0byBkZXBvc2l0IHRvIGJlY29tZSBhIGNvbGxhdG9yLgBBASBXaGVuIGEgY29sbGF0b3IgY2FsbHMgYGxlYXZlX2ludGVudGAgdGhleSBpbW1lZGlhdGVseSByZWNlaXZlIHRoZSBkZXBvc2l0IGJhY2suAUEGAWkHAAG5DKMAHFNlc3Npb24BHFNlc3Npb24cKFZhbGlkYXRvcnMBAEUBBAAEfCBUaGUgY3VycmVudCBzZXQgb2YgdmFsaWRhdG9ycy4wQ3VycmVudEluZGV4AQAQEAAAAAAEeCBDdXJyZW50IGluZGV4IG9mIHRoZSBzZXNzaW9uLjRRdWV1ZWRDaGFuZ2VkAQAgBAAIOQEgVHJ1ZSBpZiB0aGUgdW5kZXJseWluZyBlY29ub21pYyBpZGVudGl0aWVzIG9yIHdlaWdodGluZyBiZWhpbmQgdGhlIHZhbGlkYXRvcnOkIGhhcyBjaGFuZ2VkIGluIHRoZSBxdWV1ZWQgdmFsaWRhdG9yIHNldC4oUXVldWVkS2V5cwEAvQwEAAg9ASBUaGUgcXVldWVkIGtleXMgZm9yIHRoZSBuZXh0IHNlc3Npb24uIFdoZW4gdGhlIG5leHQgc2Vzc2lvbiBiZWdpbnMsIHRoZXNlIGtleXPgIHdpbGwgYmUgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHZhbGlkYXRvcidzIHNlc3Npb24ga2V5cy5IRGlzYWJsZWRWYWxpZGF0b3JzAQCBAwQAFIAgSW5kaWNlcyBvZiBkaXNhYmxlZCB2YWxpZGF0b3JzLgA9ASBUaGUgdmVjIGlzIGFsd2F5cyBrZXB0IHNvcnRlZCBzbyB0aGF0IHdlIGNhbiBmaW5kIHdoZXRoZXIgYSBnaXZlbiB2YWxpZGF0b3IgaXM9ASBkaXNhYmxlZCB1c2luZyBiaW5hcnkgc2VhcmNoLiBJdCBnZXRzIGNsZWFyZWQgd2hlbiBgb25fc2Vzc2lvbl9lbmRpbmdgIHJldHVybnNkIGEgbmV3IHNldCBvZiBpZGVudGl0aWVzLiBOZXh0S2V5cwABBAUASQYEAAScIFRoZSBuZXh0IHNlc3Npb24ga2V5cyBmb3IgYSB2YWxpZGF0b3IuIEtleU93bmVyAAEEBcUMAAQABAkBIFRoZSBvd25lciBvZiBhIGtleS4gVGhlIGtleSBpcyB0aGUgYEtleVR5cGVJZGAgKyB0aGUgZW5jb2RlZCBrZXkuAUUGAW0HAAHNDKUAEEF1cmEBEEF1cmEILEF1dGhvcml0aWVzAQDRDAQABGwgVGhlIGN1cnJlbnQgYXV0aG9yaXR5IHNldC4sQ3VycmVudFNsb3QBANkMIAAAAAAAAAAADIAgVGhlIGN1cnJlbnQgc2xvdCBvZiB0aGlzIGJsb2NrLgCUIFRoaXMgd2lsbCBiZSBzZXQgaW4gYG9uX2luaXRpYWxpemVgLgAABDBTbG90RHVyYXRpb24wIHAXAAAAAAAAEA0BIFRoZSBzbG90IGR1cmF0aW9uIEF1cmEgc2hvdWxkIHJ1biB3aXRoLCBleHByZXNzZWQgaW4gbWlsbGlzZWNvbmRzLj0BIFRoZSBlZmZlY3RpdmUgdmFsdWUgb2YgdGhpcyB0eXBlIHNob3VsZCBub3QgY2hhbmdlIHdoaWxlIHRoZSBjaGFpbiBpcyBydW5uaW5nLgA1ASBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZWl0aGVyIHVzZSBbYE1pbmltdW1QZXJpb2RUaW1lc1R3b2BdIG9yIGEgY29uc3QuAKcAHEF1cmFFeHQBHEF1cmFFeHQILEF1dGhvcml0aWVzAQDRDAQAFJQgU2VydmVzIGFzIGNhY2hlIGZvciB0aGUgYXV0aG9yaXRpZXMuAHEBIFRoZSBhdXRob3JpdGllcyBpbiBBdVJhIGFyZSBvdmVyd3JpdHRlbiBpbiBgb25faW5pdGlhbGl6ZWAgd2hlbiB3ZSBzd2l0Y2ggdG8gYSBuZXcgc2Vzc2lvbixdASBidXQgd2UgcmVxdWlyZSB0aGUgb2xkIGF1dGhvcml0aWVzIHRvIHZlcmlmeSB0aGUgc2VhbCB3aGVuIHZhbGlkYXRpbmcgYSBQb1YuIFRoaXMgd2lsbA0BIGFsd2F5cyBiZSB1cGRhdGVkIHRvIHRoZSBsYXRlc3QgQXVSYSBhdXRob3JpdGllcyBpbiBgb25fZmluYWxpemVgLiBTbG90SW5mbwAA3QwEAAzYIEN1cnJlbnQgc2xvdCBwYWlyZWQgd2l0aCBhIG51bWJlciBvZiBhdXRob3JlZCBibG9ja3MuAJggVXBkYXRlZCBvbiBlYWNoIGJsb2NrIGluaXRpYWxpemF0aW9uLgAAAACpACRFbWFPcmFjbGUBJEVtYU9yYWNsZQwsQWNjdW11bGF0b3IBAOEMBAAEcQEgQWNjdW11bGF0b3IgZm9yIG9yYWNsZSBkYXRhIGluIGN1cnJlbnQgYmxvY2sgdGhhdCB3aWxsIGJlIHJlY29yZGVkIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrLhxPcmFjbGVzAAEMBQUFBQ0JDQQADHUBIE9yYWNsZSBzdG9yYWdlIGtleWVkIGJ5IGRhdGEgc291cmNlLCBpbnZvbHZlZCBhc3NldCBpZHMgYW5kIHRoZSBwZXJpb2QgbGVuZ3RoIG9mIHRoZSBvcmFjbGUuAGUBIFN0b3JlcyB0aGUgZGF0YSBlbnRyeSBhcyB3ZWxsIGFzIHRoZSBibG9jayBudW1iZXIgd2hlbiB0aGUgb3JhY2xlIHdhcyBmaXJzdCBpbml0aWFsaXplZC5EV2hpdGVsaXN0ZWRBc3NldHMBAA0NBAAE3CBBc3NldHMgdGhhdCBhcmUgd2hpdGVsaXN0ZWQgYW5kIHRyYWNrZWQgYnkgdGhlIHBhbGxldC4BUQYBcQcIZE1heEFsbG93ZWRQcmljZURpZmZlcmVuY2VJAxCghgEABBkBIE1heGltdW0gYWxsb3dlZCBwZXJjZW50YWdlIGRpZmZlcmVuY2UgZm9yIGJpZnJvc3Qgb3JhY2xlIHByaWNlIHVwZGF0ZUBNYXhVbmlxdWVFbnRyaWVzEBAoAAAABPwgTWF4aW11bSBudW1iZXIgb2YgdW5pcXVlIG9yYWNsZSBlbnRyaWVzIGV4cGVjdGVkIGluIG9uZSBibG9jay4BGQ3KACRCcm9hZGNhc3QBJEJyb2FkY2FzdAw0SW5jcmVtZW50YWxJZAEAEBAAAAAABHggTmV4dCBhdmFpbGFibGUgaW5jcmVtZW50YWwgSURARXhlY3V0aW9uQ29udGV4dAEAHQ0EAAQNASBFeGVjdXRpb24gY29udGV4dCB0byBmaWd1cmUgb3V0IHdoZXJlIHRoZSB0cmFkZSBpcyBvcmlnaW5hdGVkIGZyb20cU3dhcHBlcgAAAAQABKUBSWYgZmlsbGVkLCB3ZSBvdmVyd3JpdGUgdGhlIG9yaWdpbmFsIHN3YXBwZXIuIE1haW5seSB1c2VkIGluIHJvdXRlciB0byBub3QgdG8gdXNlIHRlbXBvcmFyeSB0cmFkZSBhY2NvdW50AVUGAXUHAAEhDcwABAAlAYkCJQ0oSENoZWNrTm9uWmVyb1NlbmRlcikNkEBDaGVja1NwZWNWZXJzaW9uLQ0QOENoZWNrVHhWZXJzaW9uMQ0QMENoZWNrR2VuZXNpczUNNDhDaGVja01vcnRhbGl0eTkNNChDaGVja05vbmNlQQ2QLENoZWNrV2VpZ2h0RQ2QYENoYXJnZVRyYW5zYWN0aW9uUGF5bWVudEkNkDRWYWxpZGF0ZUNsYWltTQ2QRENoZWNrTWV0YWRhdGFIYXNoUQ09B1kNVBBDb3JlDBx2ZXJzaW9uAMEHBJAgUmV0dXJucyB0aGUgdmVyc2lvbiBvZiB0aGUgcnVudGltZS40ZXhlY3V0ZV9ibG9jawQUYmxvY2tdDZAEZCBFeGVjdXRlIHRoZSBnaXZlbiBibG9jay5AaW5pdGlhbGl6ZV9ibG9jawQYaGVhZGVyYQ1xDQRBASBJbml0aWFsaXplIGEgYmxvY2sgd2l0aCB0aGUgZ2l2ZW4gaGVhZGVyIGFuZCByZXR1cm4gdGhlIHJ1bnRpbWUgZXhlY3V0aXZlIG1vZGUuBCEBIFRoZSBgQ29yZWAgcnVudGltZSBhcGkgdGhhdCBldmVyeSBTdWJzdHJhdGUgcnVudGltZSBuZWVkcyB0byBpbXBsZW1lbnQuIE1ldGFkYXRhDCBtZXRhZGF0YQB1DQSMIFJldHVybnMgdGhlIG1ldGFkYXRhIG9mIGEgcnVudGltZS5MbWV0YWRhdGFfYXRfdmVyc2lvbgQcdmVyc2lvbhB5DRCkIFJldHVybnMgdGhlIG1ldGFkYXRhIGF0IGEgZ2l2ZW4gdmVyc2lvbi4ABQEgSWYgdGhlIGdpdmVuIGB2ZXJzaW9uYCBpc24ndCBzdXBwb3J0ZWQsIHRoaXMgd2lsbCByZXR1cm4gYE5vbmVgLnUBIFVzZSBbYFNlbGY6Om1ldGFkYXRhX3ZlcnNpb25zYF0gdG8gZmluZCBvdXQgYWJvdXQgc3VwcG9ydGVkIG1ldGFkYXRhIHZlcnNpb24gb2YgdGhlIHJ1bnRpbWUuRG1ldGFkYXRhX3ZlcnNpb25zAIEDDKQgUmV0dXJucyB0aGUgc3VwcG9ydGVkIG1ldGFkYXRhIHZlcnNpb25zLgDAIFRoaXMgY2FuIGJlIHVzZWQgdG8gY2FsbCBgbWV0YWRhdGFfYXRfdmVyc2lvbmAuBAEBIFRoZSBgTWV0YWRhdGFgIGFwaSB0cmFpdCB0aGF0IHJldHVybnMgbWV0YWRhdGEgZm9yIHRoZSBydW50aW1lLjBCbG9ja0J1aWxkZXIQPGFwcGx5X2V4dHJpbnNpYwQkZXh0cmluc2ljZQ19DRBsIEFwcGx5IHRoZSBnaXZlbiBleHRyaW5zaWMuADkBIFJldHVybnMgYW4gaW5jbHVzaW9uIG91dGNvbWUgd2hpY2ggc3BlY2lmaWVzIGlmIHRoaXMgZXh0cmluc2ljIGlzIGluY2x1ZGVkIGluTCB0aGlzIGJsb2NrIG9yIG5vdC44ZmluYWxpemVfYmxvY2sAYQ0EaCBGaW5pc2ggdGhlIGN1cnJlbnQgYmxvY2suTGluaGVyZW50X2V4dHJpbnNpY3MEIGluaGVyZW50jQ1tDQQ9ASBHZW5lcmF0ZSBpbmhlcmVudCBleHRyaW5zaWNzLiBUaGUgaW5oZXJlbnQgZGF0YSB3aWxsIHZhcnkgZnJvbSBjaGFpbiB0byBjaGFpbi48Y2hlY2tfaW5oZXJlbnRzCBRibG9ja10NEGRhdGGNDZ0NBFUBIENoZWNrIHRoYXQgdGhlIGluaGVyZW50cyBhcmUgdmFsaWQuIFRoZSBpbmhlcmVudCBkYXRhIHdpbGwgdmFyeSBmcm9tIGNoYWluIHRvIGNoYWluLgRxASBUaGUgYEJsb2NrQnVpbGRlcmAgYXBpIHRyYWl0IHRoYXQgcHJvdmlkZXMgdGhlIHJlcXVpcmVkIGZ1bmN0aW9uYWxpdHkgZm9yIGJ1aWxkaW5nIGEgYmxvY2suWFRhZ2dlZFRyYW5zYWN0aW9uUXVldWUEUHZhbGlkYXRlX3RyYW5zYWN0aW9uDBhzb3VyY2WhDQh0eGUNKGJsb2NrX2hhc2g0pQ0kaCBWYWxpZGF0ZSB0aGUgdHJhbnNhY3Rpb24uAGUBIFRoaXMgbWV0aG9kIGlzIGludm9rZWQgYnkgdGhlIHRyYW5zYWN0aW9uIHBvb2wgdG8gbGVhcm4gZGV0YWlscyBhYm91dCBnaXZlbiB0cmFuc2FjdGlvbi5FASBUaGUgaW1wbGVtZW50YXRpb24gc2hvdWxkIG1ha2Ugc3VyZSB0byB2ZXJpZnkgdGhlIGNvcnJlY3RuZXNzIG9mIHRoZSB0cmFuc2FjdGlvbk0BIGFnYWluc3QgY3VycmVudCBzdGF0ZS4gVGhlIGdpdmVuIGBibG9ja19oYXNoYCBjb3JyZXNwb25kcyB0byB0aGUgaGFzaCBvZiB0aGUgYmxvY2t8IHRoYXQgaXMgdXNlZCBhcyBjdXJyZW50IHN0YXRlLgBFASBOb3RlIHRoYXQgdGhpcyBjYWxsIG1heSBiZSBwZXJmb3JtZWQgYnkgdGhlIHBvb2wgbXVsdGlwbGUgdGltZXMgYW5kIHRyYW5zYWN0aW9uc6QgbWlnaHQgYmUgdmVyaWZpZWQgaW4gYW55IHBvc3NpYmxlIG9yZGVyLgRNASBUaGUgYFRhZ2dlZFRyYW5zYWN0aW9uUXVldWVgIGFwaSB0cmFpdCBmb3IgaW50ZXJmZXJpbmcgd2l0aCB0aGUgdHJhbnNhY3Rpb24gcXVldWUuRE9mZmNoYWluV29ya2VyQXBpBDxvZmZjaGFpbl93b3JrZXIEGGhlYWRlcmENkATIIFN0YXJ0cyB0aGUgb2ZmLWNoYWluIHRhc2sgZm9yIGdpdmVuIGJsb2NrIGhlYWRlci4EZCBUaGUgb2ZmY2hhaW4gd29ya2VyIGFwaS4sU2Vzc2lvbktleXMIVGdlbmVyYXRlX3Nlc3Npb25fa2V5cwQQc2VlZCkMOBwVASBHZW5lcmF0ZSBhIHNldCBvZiBzZXNzaW9uIGtleXMgd2l0aCBvcHRpb25hbGx5IHVzaW5nIHRoZSBnaXZlbiBzZWVkLgkBIFRoZSBrZXlzIHNob3VsZCBiZSBzdG9yZWQgd2l0aGluIHRoZSBrZXlzdG9yZSBleHBvc2VkIHZpYSBydW50aW1lPCBleHRlcm5hbGl0aWVzLgCwIFRoZSBzZWVkIG5lZWRzIHRvIGJlIGEgdmFsaWQgYHV0ZjhgIHN0cmluZy4A0CBSZXR1cm5zIHRoZSBjb25jYXRlbmF0ZWQgU0NBTEUgZW5jb2RlZCBwdWJsaWMga2V5cy5MZGVjb2RlX3Nlc3Npb25fa2V5cwQcZW5jb2RlZDitDQyYIERlY29kZSB0aGUgZ2l2ZW4gcHVibGljIHNlc3Npb24ga2V5cy4A3CBSZXR1cm5zIHRoZSBsaXN0IG9mIHB1YmxpYyByYXcgcHVibGljIGtleXMgKyBrZXkgdHlwZS4EaCBTZXNzaW9uIGtleXMgcnVudGltZSBhcGkuHEF1cmFBcGkINHNsb3RfZHVyYXRpb24AuQ0MkCBSZXR1cm5zIHRoZSBzbG90IGR1cmF0aW9uIGZvciBBdXJhLgAlASBDdXJyZW50bHksIG9ubHkgdGhlIHZhbHVlIHByb3ZpZGVkIGJ5IHRoaXMgdHlwZSBhdCBnZW5lc2lzIHdpbGwgYmUgdXNlZC4sYXV0aG9yaXRpZXMA1QwEnCBSZXR1cm4gdGhlIGN1cnJlbnQgc2V0IG9mIGF1dGhvcml0aWVzLgS4IEFQSSBuZWNlc3NhcnkgZm9yIGJsb2NrIGF1dGhvcnNoaXAgd2l0aCBhdXJhLlBDb2xsZWN0Q29sbGF0aW9uSW5mbwRYY29sbGVjdF9jb2xsYXRpb25faW5mbwQYaGVhZGVyYQ29DRCcIENvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgYSBjb2xsYXRpb24uAPQgVGhlIGdpdmVuIGBoZWFkZXJgIGlzIHRoZSBoZWFkZXIgb2YgdGhlIGJ1aWx0IGJsb2NrIGZvciB0aGF0qCB3ZSBhcmUgY29sbGVjdGluZyB0aGUgY29sbGF0aW9uIGluZm8gZm9yLgTYIFJ1bnRpbWUgYXBpIHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgYSBjb2xsYXRpb24uNEN1cnJlbmNpZXNBcGkMHGFjY291bnQIIGFzc2V0X2lkEAx3aG8AyQ0AIGFjY291bnRzBAx3aG8AzQ0AMGZyZWVfYmFsYW5jZQggYXNzZXRfaWQQDHdobwAYAAA8QWNjb3VudE5vbmNlQXBpBDRhY2NvdW50X25vbmNlBBxhY2NvdW50ABAEwCBHZXQgY3VycmVudCBhY2NvdW50IG5vbmNlIG9mIGdpdmVuIGBBY2NvdW50SWRgLgSAIFRoZSBBUEkgdG8gcXVlcnkgYWNjb3VudCBub25jZS5UVHJhbnNhY3Rpb25QYXltZW50QXBpEChxdWVyeV9pbmZvCAx1eHRlDQxsZW4Q1Q0ARHF1ZXJ5X2ZlZV9kZXRhaWxzCAx1eHRlDQxsZW4Q2Q0ATHF1ZXJ5X3dlaWdodF90b19mZWUEGHdlaWdodCgYAExxdWVyeV9sZW5ndGhfdG9fZmVlBBhsZW5ndGgQGAAAVEV0aGVyZXVtUnVudGltZVJQQ0FwaUQgY2hhaW5faWQAMAS0IFJldHVybnMgcnVudGltZSBkZWZpbmVkIHBhbGxldF9ldm06OkNoYWluSWQuNGFjY291bnRfYmFzaWMEHGFkZHJlc3NVAeUNBKQgUmV0dXJucyBwYWxsZXRfZXZtOjpBY2NvdW50cyBieSBhZGRyZXNzLiRnYXNfcHJpY2UAXQEElCBSZXR1cm5zIEZpeGVkR2FzUHJpY2U6Om1pbl9nYXNfcHJpY2U8YWNjb3VudF9jb2RlX2F0BBxhZGRyZXNzVQE4BPwgRm9yIGEgZ2l2ZW4gYWNjb3VudCBhZGRyZXNzLCByZXR1cm5zIHBhbGxldF9ldm06OkFjY291bnRDb2Rlcy4YYXV0aG9yAFUBBPAgUmV0dXJucyB0aGUgY29udmVydGVkIEZpbmRBdXRob3I6OmZpbmRfYXV0aG9yIGF1dGhvcml0eSBpZC4oc3RvcmFnZV9hdAgcYWRkcmVzc1UBFGluZGV4XQE0BDEBIEZvciBhIGdpdmVuIGFjY291bnQgYWRkcmVzcyBhbmQgaW5kZXgsIHJldHVybnMgcGFsbGV0X2V2bTo6QWNjb3VudFN0b3JhZ2VzLhBjYWxsKBBmcm9tVQEIdG9VARBkYXRhOBR2YWx1ZV0BJGdhc19saW1pdF0BPG1heF9mZWVfcGVyX2dhcykEYG1heF9wcmlvcml0eV9mZWVfcGVyX2dhcykEFG5vbmNlKQQgZXN0aW1hdGUgLGFjY2Vzc19saXN06Q3tDQAYY3JlYXRlJBBmcm9tVQEQZGF0YTgUdmFsdWVdASRnYXNfbGltaXRdATxtYXhfZmVlX3Blcl9nYXMpBGBtYXhfcHJpb3JpdHlfZmVlX3Blcl9nYXMpBBRub25jZSkEIGVzdGltYXRlICxhY2Nlc3NfbGlzdOkNBQ4ANGN1cnJlbnRfYmxvY2sADQ4EaCBSZXR1cm4gdGhlIGN1cnJlbnQgYmxvY2suQGN1cnJlbnRfcmVjZWlwdHMAEQ4EcCBSZXR1cm4gdGhlIGN1cnJlbnQgcmVjZWlwdC5wY3VycmVudF90cmFuc2FjdGlvbl9zdGF0dXNlcwAVDgScIFJldHVybiB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiBzdGF0dXMuLGN1cnJlbnRfYWxsABkOAEBleHRyaW5zaWNfZmlsdGVyBAx4dHNtDTULBDUBIFJlY2VpdmVzIGEgYFZlYzxPcGFxdWVFeHRyaW5zaWM+YCBhbmQgZmlsdGVycyBhbGwgdGhlIGV0aGVyZXVtIHRyYW5zYWN0aW9ucy4oZWxhc3RpY2l0eQCBBASIIFJldHVybiB0aGUgZWxhc3RpY2l0eSBtdWx0aXBsaWVyLnBnYXNfbGltaXRfbXVsdGlwbGllcl9zdXBwb3J0AJAIdQEgVXNlZCB0byBkZXRlcm1pbmUgaWYgZ2FzIGxpbWl0IG11bHRpcGxpZXIgZm9yIG5vbi10cmFuc2FjdGlvbmFsIGNhbGxzIChldGhfY2FsbC9lc3RpbWF0ZUdhcyk4IGlzIHN1cHBvcnRlZC40cGVuZGluZ19ibG9jawQMeHRzbQ0dDgRoIFJldHVybiB0aGUgcGVuZGluZyBibG9jay5gaW5pdGlhbGl6ZV9wZW5kaW5nX2Jsb2NrBBhoZWFkZXJhDZAUeCBJbml0aWFsaXplIHRoZSBwZW5kaW5nIGJsb2NrLjUBIFRoZSBiZWhhdmlvciBzaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIHJ1bnRpbWUgYXBpIENvcmVfaW5pdGlhbGl6ZV9ibG9jayBidXRcIGZvciBhICJwZW5kaW5nIiBibG9jay5hASBJZiB5b3VyIHByb2plY3QgZG9uJ3QgbmVlZCB0byBoYXZlIGEgZGlmZmVyZW50IGJlaGF2aW9yIHRvIGluaXRpYWxpemUgInBlbmRpbmciIGJsb2NrcyzgIHlvdSBjYW4gY29weSB5b3VyIENvcmVfaW5pdGlhbGl6ZV9ibG9jayBpbXBsZW1lbnRhdGlvbi4EwCBBUEkgbmVjZXNzYXJ5IGZvciBFdGhlcmV1bS1jb21wYXRpYmlsaXR5IGxheWVyLnBDb252ZXJ0VHJhbnNhY3Rpb25SdW50aW1lQXBpBExjb252ZXJ0X3RyYW5zYWN0aW9uBCx0cmFuc2FjdGlvbjkEZQ0AADhFdm1BY2NvdW50c0FwaQwsZXZtX2FkZHJlc3MEKGFjY291bnRfaWQAVQEEwCBnZXQgdGhlIEVWTSBhZGRyZXNzIGZyb20gdGhlIHN1YnN0cmF0ZSBhZGRyZXNzLkBib3VuZF9hY2NvdW50X2lkBCxldm1fYWRkcmVzc1UBAQEEVQEgUmV0dXJuIHRoZSBTdWJzdHJhdGUgYWRkcmVzcyBib3VuZCB0byB0aGUgRVZNIGFjY291bnQuIElmIG5vdCBib3VuZCwgcmV0dXJucyBgTm9uZWAuKGFjY291bnRfaWQELGV2bV9hZGRyZXNzVQEACMAgR2V0IHRoZSBTdWJzdHJhdGUgYWRkcmVzcyBmcm9tIHRoZSBFVk0gYWRkcmVzcy4lASBSZXR1cm5zIHRoZSB0cnVuY2F0ZWQgdmVyc2lvbiBvZiB0aGUgYWRkcmVzcyBpZiB0aGUgYWRkcmVzcyB3YXNuJ3QgYmluZC4EqCBUaGUgQVBJIHRvIHF1ZXJ5IEVWTSBhY2NvdW50IGNvbnZlcnNpb25zLjRYY21QYXltZW50QXBpEHxxdWVyeV9hY2NlcHRhYmxlX3BheW1lbnRfYXNzZXRzBCx4Y21fdmVyc2lvbhAhDhS0IFJldHVybnMgYSBsaXN0IG9mIGFjY2VwdGFibGUgcGF5bWVudCBhc3NldHMuADAgIyBBcmd1bWVudHMAaCAqIGB4Y21fdmVyc2lvbmA6IFZlcnNpb24uQHF1ZXJ5X3hjbV93ZWlnaHQEHG1lc3NhZ2XpBC0OFKggUmV0dXJucyBhIHdlaWdodCBuZWVkZWQgdG8gZXhlY3V0ZSBhIFhDTS4AMCAjIEFyZ3VtZW50cwB0ICogYG1lc3NhZ2VgOiBgVmVyc2lvbmVkWGNtYC5kcXVlcnlfd2VpZ2h0X3RvX2Fzc2V0X2ZlZQgYd2VpZ2h0KBRhc3NldCEGMQ4Y6CBDb252ZXJ0cyBhIHdlaWdodCBpbnRvIGEgZmVlIGZvciB0aGUgc3BlY2lmaWVkIGBBc3NldElkYC4AMCAjIEFyZ3VtZW50cwCIICogYHdlaWdodGA6IGNvbnZlcnRpYmxlIGBXZWlnaHRgLnwgKiBgYXNzZXRgOiBgVmVyc2lvbmVkQXNzZXRJZGAuTHF1ZXJ5X2RlbGl2ZXJ5X2ZlZXMILGRlc3RpbmF0aW9uyQQcbWVzc2FnZekENQ4gHQEgR2V0IGRlbGl2ZXJ5IGZlZXMgZm9yIHNlbmRpbmcgYSBzcGVjaWZpYyBgbWVzc2FnZWAgdG8gYSBgZGVzdGluYXRpb25gLvQgVGhlc2UgYWx3YXlzIGNvbWUgaW4gYSBzcGVjaWZpYyBhc3NldCwgZGVmaW5lZCBieSB0aGUgY2hhaW4uADAgIyBBcmd1bWVudHOBASAqIGBtZXNzYWdlYDogVGhlIG1lc3NhZ2UgdGhhdCdsbCBiZSBzZW50LCBuZWNlc3NhcnkgYmVjYXVzZSBtb3N0IGRlbGl2ZXJ5IGZlZXMgYXJlIGJhc2VkIG9uIHRoZVwgICBzaXplIG9mIHRoZSBtZXNzYWdlLmEBICogYGRlc3RpbmF0aW9uYDogVGhlIGRlc3RpbmF0aW9uIHRvIHNlbmQgdGhlIG1lc3NhZ2UgdG8uIERpZmZlcmVudCBkZXN0aW5hdGlvbnMgbWF5IHVzZcAgICBkaWZmZXJlbnQgc2VuZGVycyB0aGF0IGNoYXJnZSBkaWZmZXJlbnQgZmVlcy4scCBBIHRyYWl0IG9mIFhDTSBwYXltZW50IEFQSS4AqCBBUEkgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3Igb2J0YWluaW5nOgDEICogdGhlIHdlaWdodCByZXF1aXJlZCB0byBleGVjdXRlIGFuIFhDTSBtZXNzYWdlLAUBICogYSBsaXN0IG9mIGFjY2VwdGFibGUgYEFzc2V0SWRgcyBmb3IgbWVzc2FnZSBleGVjdXRpb24gcGF5bWVudCwBASAqIHRoZSBjb3N0IG9mIHRoZSB3ZWlnaHQgaW4gdGhlIHNwZWNpZmllZCBhY2NlcHRhYmxlIGBBc3NldElkYC6gICogdGhlIGZlZXMgZm9yIGFuIFhDTSBtZXNzYWdlIGRlbGl2ZXJ5LgDwIFRvIGRldGVybWluZSB0aGUgZXhlY3V0aW9uIHdlaWdodCBvZiB0aGUgY2FsbHMgcmVxdWlyZWQgZm9ydQEgW2B4Y206OmxhdGVzdDo6SW5zdHJ1Y3Rpb246OlRyYW5zYWN0YF0gaW5zdHJ1Y3Rpb24sIGBUcmFuc2FjdGlvblBheW1lbnRDYWxsQXBpYCBjYW4gYmUgdXNlZC5gQXVyYVVuaW5jbHVkZWRTZWdtZW50QXBpBDhjYW5fYnVpbGRfdXBvbgg0aW5jbHVkZWRfaGFzaDQQc2xvdNkMICg5ASBXaGV0aGVyIGl0IGlzIGxlZ2FsIHRvIGV4dGVuZCB0aGUgY2hhaW4sIGFzc3VtaW5nIHRoZSBnaXZlbiBibG9jayBpcyB0aGUgbW9zdDUBIHJlY2VudGx5IGluY2x1ZGVkIG9uZSBhcy1vZiB0aGUgcmVsYXkgcGFyZW50IHRoYXQgd2lsbCBiZSBidWlsdCBhZ2FpbnN0LCBhbmRAIHRoZSBnaXZlbiBzbG90LgBRASBUaGlzIHNob3VsZCBiZSBjb25zaXN0ZW50IHdpdGggdGhlIGxvZ2ljIHRoZSBydW50aW1lIHVzZXMgd2hlbiB2YWxpZGF0aW5nIGJsb2NrcyB0bzggYXZvaWQgaXNzdWVzLgBhASBXaGVuIHRoZSB1bmluY2x1ZGVkIHNlZ21lbnQgaXMgZW1wdHksIGkuZS4gYGluY2x1ZGVkX2hhc2ggPT0gYXRgLCB3aGVyZSBhdCBpcyB0aGUgYmxvY2thASB3aG9zZSBzdGF0ZSB3ZSBhcmUgcXVlcnlpbmcgYWdhaW5zdCwgdGhpcyBtdXN0IGFsd2F5cyByZXR1cm4gYHRydWVgIGFzIGxvbmcgYXMgdGhlIHNsb3S8IGlzIG1vcmUgcmVjZW50IHRoYW4gdGhlIGluY2x1ZGVkIGJsb2NrIGl0c2VsZi4oNQEgVGhpcyBydW50aW1lIEFQSSBpcyB1c2VkIHRvIGluZm9ybSBwb3RlbnRpYWwgYmxvY2sgYXV0aG9ycyB3aGV0aGVyIHRoZXkgd2lsbCUBIGhhdmUgdGhlIHJpZ2h0IHRvIGF1dGhvciBhdCBhIHNsb3QsIGFzc3VtaW5nIHRoZXkgaGF2ZSBjbGFpbWVkIHRoZSBzbG90LgB1ASBJbiBwYXJ0aWN1bGFyLCB0aGlzIEFQSSBhbGxvd3MgQXVyYS1iYXNlZCBwYXJhY2hhaW5zIHRvIHJlZ3VsYXRlIHRoZWlyICJ1bmluY2x1ZGVkIHNlZ21lbnQiLG0BIHdoaWNoIGlzIHRoZSBzZWN0aW9uIG9mIHRoZSBoZWFkIG9mIHRoZSBjaGFpbiB3aGljaCBoYXMgbm90IHlldCBiZWVuIG1hZGUgYXZhaWxhYmxlIGluIHRoZTQgcmVsYXkgY2hhaW4uAGEBIFdoZW4gdGhlIHVuaW5jbHVkZWQgc2VnbWVudCBpcyBzaG9ydCwgQXVyYSBjaGFpbnMgd2lsbCBhbGxvdyBhdXRob3JzIHRvIGNyZWF0ZSBtdWx0aXBsZV0BIGJsb2NrcyBwZXIgc2xvdCBpbiBvcmRlciB0byBidWlsZCBhIGJhY2tsb2cuIFdoZW4gaXQgaXMgc2F0dXJhdGVkLCB0aGlzIEFQSSB3aWxsIGxpbWl0qCB0aGUgYW1vdW50IG9mIGJsb2NrcyB0aGF0IGNhbiBiZSBjcmVhdGVkLiREcnlSdW5BcGkIMGRyeV9ydW5fY2FsbAgYb3JpZ2lueQEQY2FsbCUBOQ4EOCBEcnkgcnVuIGNhbGwuLGRyeV9ydW5feGNtCDxvcmlnaW5fbG9jYXRpb27JBAx4Y23xBVkOBFAgRHJ5IHJ1biBYQ00gcHJvZ3JhbSSxASBBUEkgZm9yIGRyeS1ydW5uaW5nIGV4dHJpbnNpY3MgYW5kIFhDTSBwcm9ncmFtcyB0byBnZXQgdGhlIHByb2dyYW1zIHRoYXQgbmVlZCB0byBiZSBwYXNzZWQgdG8gdGhlIGZlZXMgQVBJLgCBASBBbGwgY2FsbHMgcmV0dXJuIGEgdmVjdG9yIG9mIHR1cGxlcyAobG9jYXRpb24sIHhjbSkgd2hlcmUgZWFjaCAieGNtIiBpcyBleGVjdXRlZCBpbiAibG9jYXRpb24iLuQgSWYgdGhlcmUncyBsb2NhbCBleGVjdXRpb24sIHRoZSBsb2NhdGlvbiB3aWxsIGJlICJIZXJlIi4dASBUaGlzIHZlY3RvciBjYW4gYmUgdXNlZCB0byBjYWxjdWxhdGUgYm90aCBleGVjdXRpb24gYW5kIGRlbGl2ZXJ5IGZlZXMuAJkBIENhbGxzIG9yIFhDTXMgbWlnaHQgZmFpbCB3aGVuIGV4ZWN1dGVkLCB0aGlzIGRvZXNuJ3QgbWVhbiB0aGUgcmVzdWx0IG9mIHRoZXNlIGNhbGxzIHdpbGwgYmUgYW4gYEVycmAuZQEgSW4gdGhvc2UgY2FzZXMsIHRoZXJlIG1pZ2h0IHN0aWxsIGJlIGEgdmFsaWQgcmVzdWx0LCB3aXRoIHRoZSBleGVjdXRpb24gZXJyb3IgaW5zaWRlIGl0LmUBIFRoZSBvbmx5IHJlYXNvbnMgd2h5IHRoZXNlIGNhbGxzIG1pZ2h0IHJldHVybiBhbiBlcnJvciBhcmUgbGlzdGVkIGluIHRoZSBbYEVycm9yYF0gZW51bS5QTG9jYXRpb25Ub0FjY291bnRBcGkEQGNvbnZlcnRfbG9jYXRpb24EIGxvY2F0aW9uyQRhDgSQIENvbnZlcnRzIGBMb2NhdGlvbmAgdG8gYEFjY291bnRJZGAuBA0BIEFQSSBmb3IgdXNlZnVsIGNvbnZlcnNpb25zIGJldHdlZW4gWENNIGBMb2NhdGlvbmAgYW5kIGBBY2NvdW50SWRgLkxDaGFpbmxpbmtBZGFwdGVyQXBpCFRlbmNvZGVfb3JhY2xlX2FkZHJlc3MQKGFzc2V0X2lkX2EQKGFzc2V0X2lkX2IQGHBlcmlvZNkDGHNvdXJjZRUCVQEAVGRlY29kZV9vcmFjbGVfYWRkcmVzcwQ4b3JhY2xlX2FkZHJlc3NVAWkOAASoIFRoZSBBUEkgdG8gcXVlcnkgRVZNIGFjY291bnQgY29udmVyc2lvbnMuREFhdmVUcmFkZUV4ZWN1dG9yEBRwYWlycwB5AwA8bGlxdWlkaXR5X2RlcHRoCCBhc3NldF9pbhAkYXNzZXRfb3V0EPQAEHBvb2wIHHJlc2VydmUQGGF0b2tlbhBxDgAUcG9vbHMAdQ4AADhHZW5lc2lzQnVpbGRlcgwsYnVpbGRfc3RhdGUEEGpzb244eQ4kZQEgQnVpbGQgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBmcm9tIGEgSlNPTiBibG9iIG5vdCB1c2luZyBhbnkgZGVmYXVsdHMgYW5kIHN0b3JlIGl0IGluIHRoZSQgc3RvcmFnZS4A+QEgSW4gdGhlIGNhc2Ugb2YgYSBGUkFNRS1iYXNlZCBydW50aW1lLCB0aGlzIGZ1bmN0aW9uIGRlc2VyaWFsaXplcyB0aGUgZnVsbCBgUnVudGltZUdlbmVzaXNDb25maWdgIGZyb20gdGhlIGdpdmVuIEpTT04gYmxvYiBhbmRZASBwdXRzIGl0IGludG8gdGhlIHN0b3JhZ2UuIElmIHRoZSBwcm92aWRlZCBKU09OIGJsb2IgaXMgaW5jb3JyZWN0IG9yIGluY29tcGxldGUgb3IgdGhltCBkZXNlcmlhbGl6YXRpb24gZmFpbHMsIGFuIGVycm9yIGlzIHJldHVybmVkLgBdASBQbGVhc2Ugbm90ZSB0aGF0IHByb3ZpZGVkIEpTT04gYmxvYiBtdXN0IGNvbnRhaW4gYWxsIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgZmllbGRzLCBub1wgZGVmYXVsdHMgd2lsbCBiZSB1c2VkLihnZXRfcHJlc2V0BAhpZH0OKQw4YQEgUmV0dXJucyBhIEpTT04gYmxvYiByZXByZXNlbnRhdGlvbiBvZiB0aGUgYnVpbHQtaW4gYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBpZGVudGlmaWVkIGJ5GCBgaWRgLgA9ASBJZiBgaWRgIGlzIGBOb25lYCB0aGUgZnVuY3Rpb24gcmV0dXJucyBKU09OIGJsb2IgcmVwcmVzZW50YXRpb24gb2YgdGhlIGRlZmF1bHRJASBgUnVudGltZUdlbmVzaXNDb25maWdgIHN0cnVjdCBvZiB0aGUgcnVudGltZS4gSW1wbGVtZW50YXRpb24gbXVzdCBwcm92aWRlIGRlZmF1bHRgIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AuACEBIE90aGVyd2lzZSBmdW5jdGlvbiByZXR1cm5zIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgYnVpbHQtaW4sIG5hbWVkUQEgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBwcmVzZXQgaWRlbnRpZmllZCBieSBgaWRgLCBvciBgTm9uZWAgaWYgc3VjaCBwcmVzZXQgZG9lcyBub3RhASBleGlzdC4gUmV0dXJuZWQgYFZlYzx1OD5gIGNvbnRhaW5zIGJ5dGVzIG9mIEpTT04gYmxvYiAocGF0Y2gpIHdoaWNoIGNvbXByaXNlcyBhIGxpc3Qgb2ZNASAocG90ZW50aWFsbHkgbmVzdGVkKSBrZXktdmFsdWUgcGFpcnMgdGhhdCBhcmUgaW50ZW5kZWQgZm9yIGN1c3RvbWl6aW5nIHRoZSBkZWZhdWx0ZQEgcnVudGltZSBnZW5lc2lzIGNvbmZpZy4gVGhlIHBhdGNoIHNoYWxsIGJlIG1lcmdlZCAocmZjNzM4Nikgd2l0aCB0aGUgSlNPTiByZXByZXNlbnRhdGlvbmEBIG9mIHRoZSBkZWZhdWx0IGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgdG8gY3JlYXRlIGEgY29tcHJlaGVuc2l2ZSBnZW5lc2lzIGNvbmZpZyB0aGF0IGNhboQgYmUgdXNlZCBpbiBgYnVpbGRfc3RhdGVgIG1ldGhvZC4wcHJlc2V0X25hbWVzAIEOEFEBIFJldHVybnMgYSBsaXN0IG9mIGlkZW50aWZpZXJzIGZvciBhdmFpbGFibGUgYnVpbHRpbiBgUnVudGltZUdlbmVzaXNDb25maWdgIHByZXNldHMuAGEBIFRoZSBwcmVzZXRzIGZyb20gdGhlIGxpc3QgY2FuIGJlIHF1ZXJpZWQgd2l0aCBbYEdlbmVzaXNCdWlsZGVyOjpnZXRfcHJlc2V0YF0gbWV0aG9kLiBJZgEBIG5vIG5hbWVkIHByZXNldHMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBydW50aW1lIHRoZSBsaXN0IGlzIGVtcHR5LgToIEFQSSB0byBpbnRlcmFjdCB3aXRoIFJ1bnRpbWVHZW5lc2lzQ29uZmlnIGZvciB0aGUgcnVudGltZSUBVIUOAA==";
82
82
  hydration_metadata_default = binMeta;
83
83
  }
84
84
  });
@@ -175,62 +175,89 @@ var genesis = "0xafdc188f45c71dacbaa0b62e16a91f726c7b8699a9748cdf715459de6b7f366
175
175
  var _allDescriptors = { descriptors: descriptorValues, metadataTypes, asset, getMetadata, genesis };
176
176
  var hydration_default = _allDescriptors;
177
177
 
178
+ // ../../node_modules/@polkadot-api/substrate-bindings/dist/esm/types/enum.mjs
179
+ var discriminant = {
180
+ is(value, type) {
181
+ return value.type === type;
182
+ },
183
+ as(value, type) {
184
+ if (type !== value.type)
185
+ throw new Error(
186
+ `Enum.as(enum, ${type}) used with actual type ${value.type}`
187
+ );
188
+ return value;
189
+ }
190
+ };
191
+ var Enum = Object.assign((type, value) => {
192
+ return {
193
+ type,
194
+ value
195
+ };
196
+ }, discriminant);
197
+ var _Enum = new Proxy(
198
+ {},
199
+ {
200
+ get(_, prop) {
201
+ return (value) => Enum(prop, value);
202
+ }
203
+ }
204
+ );
205
+
178
206
  // .papi/descriptors/src/common-types.ts
179
- var import_polkadot_api = require("polkadot-api");
180
- var XcmV3Junctions = import_polkadot_api._Enum;
181
- var XcmV3Junction = import_polkadot_api._Enum;
182
- var XcmV3JunctionNetworkId = import_polkadot_api._Enum;
183
- var XcmV3JunctionBodyId = import_polkadot_api._Enum;
184
- var XcmV2JunctionBodyPart = import_polkadot_api._Enum;
185
- var DispatchRawOrigin = import_polkadot_api._Enum;
186
- var XcmPalletOrigin = import_polkadot_api._Enum;
187
- var BalancesAdjustmentDirection = import_polkadot_api._Enum;
188
- var IdentityData = import_polkadot_api._Enum;
189
- var IdentityJudgement = import_polkadot_api._Enum;
190
- var MultiSignature = import_polkadot_api._Enum;
191
- var PreimagesBounded = import_polkadot_api._Enum;
192
- var VotingConviction = import_polkadot_api._Enum;
193
- var ConvictionVotingVoteAccountVote = import_polkadot_api._Enum;
194
- var TraitsScheduleDispatchTime = import_polkadot_api._Enum;
195
- var XcmVersionedLocation = import_polkadot_api._Enum;
196
- var XcmV2MultilocationJunctions = import_polkadot_api._Enum;
197
- var XcmV2Junction = import_polkadot_api._Enum;
198
- var XcmV2NetworkId = import_polkadot_api._Enum;
199
- var XcmV2BodyId = import_polkadot_api._Enum;
200
- var XcmVersionedXcm = import_polkadot_api._Enum;
201
- var XcmV2Instruction = import_polkadot_api._Enum;
202
- var XcmV2MultiassetAssetId = import_polkadot_api._Enum;
203
- var XcmV2MultiassetFungibility = import_polkadot_api._Enum;
204
- var XcmV2MultiassetAssetInstance = import_polkadot_api._Enum;
205
- var XcmV2Response = import_polkadot_api._Enum;
206
- var XcmV2TraitsError = import_polkadot_api._Enum;
207
- var XcmV2OriginKind = import_polkadot_api._Enum;
208
- var XcmV2MultiAssetFilter = import_polkadot_api._Enum;
209
- var XcmV2MultiassetWildMultiAsset = import_polkadot_api._Enum;
210
- var XcmV2MultiassetWildFungibility = import_polkadot_api._Enum;
211
- var XcmV2WeightLimit = import_polkadot_api._Enum;
212
- var XcmV3Instruction = import_polkadot_api._Enum;
213
- var XcmV3MultiassetAssetId = import_polkadot_api._Enum;
214
- var XcmV3MultiassetFungibility = import_polkadot_api._Enum;
215
- var XcmV3MultiassetAssetInstance = import_polkadot_api._Enum;
216
- var XcmV3Response = import_polkadot_api._Enum;
217
- var XcmV3TraitsError = import_polkadot_api._Enum;
218
- var XcmV3MaybeErrorCode = import_polkadot_api._Enum;
219
- var XcmV3MultiassetMultiAssetFilter = import_polkadot_api._Enum;
220
- var XcmV3MultiassetWildMultiAsset = import_polkadot_api._Enum;
221
- var XcmV3WeightLimit = import_polkadot_api._Enum;
222
- var XcmV4Instruction = import_polkadot_api._Enum;
223
- var XcmV4Response = import_polkadot_api._Enum;
224
- var XcmV4AssetAssetFilter = import_polkadot_api._Enum;
225
- var XcmV4AssetWildAsset = import_polkadot_api._Enum;
226
- var XcmVersionedAssets = import_polkadot_api._Enum;
227
- var XcmVersionedAssetId = import_polkadot_api._Enum;
228
- var TokenError = import_polkadot_api._Enum;
229
- var ArithmeticError = import_polkadot_api._Enum;
230
- var TransactionalError = import_polkadot_api._Enum;
231
- var DispatchClass = import_polkadot_api._Enum;
232
- var BalanceStatus = import_polkadot_api._Enum;
233
- var TransactionPaymentEvent = import_polkadot_api._Enum;
234
- var PreimageEvent = import_polkadot_api._Enum;
235
- var XcmV4TraitsOutcome = import_polkadot_api._Enum;
236
- var SessionEvent = import_polkadot_api._Enum;
207
+ var XcmV3Junctions = _Enum;
208
+ var XcmV3Junction = _Enum;
209
+ var XcmV3JunctionNetworkId = _Enum;
210
+ var XcmV3JunctionBodyId = _Enum;
211
+ var XcmV2JunctionBodyPart = _Enum;
212
+ var DispatchRawOrigin = _Enum;
213
+ var XcmPalletOrigin = _Enum;
214
+ var BalancesAdjustmentDirection = _Enum;
215
+ var IdentityData = _Enum;
216
+ var IdentityJudgement = _Enum;
217
+ var MultiSignature = _Enum;
218
+ var PreimagesBounded = _Enum;
219
+ var VotingConviction = _Enum;
220
+ var ConvictionVotingVoteAccountVote = _Enum;
221
+ var TraitsScheduleDispatchTime = _Enum;
222
+ var XcmVersionedLocation = _Enum;
223
+ var XcmV2MultilocationJunctions = _Enum;
224
+ var XcmV2Junction = _Enum;
225
+ var XcmV2NetworkId = _Enum;
226
+ var XcmV2BodyId = _Enum;
227
+ var XcmVersionedXcm = _Enum;
228
+ var XcmV2Instruction = _Enum;
229
+ var XcmV2MultiassetAssetId = _Enum;
230
+ var XcmV2MultiassetFungibility = _Enum;
231
+ var XcmV2MultiassetAssetInstance = _Enum;
232
+ var XcmV2Response = _Enum;
233
+ var XcmV2TraitsError = _Enum;
234
+ var XcmV2OriginKind = _Enum;
235
+ var XcmV2MultiAssetFilter = _Enum;
236
+ var XcmV2MultiassetWildMultiAsset = _Enum;
237
+ var XcmV2MultiassetWildFungibility = _Enum;
238
+ var XcmV2WeightLimit = _Enum;
239
+ var XcmV3Instruction = _Enum;
240
+ var XcmV3MultiassetAssetId = _Enum;
241
+ var XcmV3MultiassetFungibility = _Enum;
242
+ var XcmV3MultiassetAssetInstance = _Enum;
243
+ var XcmV3Response = _Enum;
244
+ var XcmV3TraitsError = _Enum;
245
+ var XcmV3MaybeErrorCode = _Enum;
246
+ var XcmV3MultiassetMultiAssetFilter = _Enum;
247
+ var XcmV3MultiassetWildMultiAsset = _Enum;
248
+ var XcmV3WeightLimit = _Enum;
249
+ var XcmV4Instruction = _Enum;
250
+ var XcmV4Response = _Enum;
251
+ var XcmV4AssetAssetFilter = _Enum;
252
+ var XcmV4AssetWildAsset = _Enum;
253
+ var XcmVersionedAssets = _Enum;
254
+ var XcmVersionedAssetId = _Enum;
255
+ var TokenError = _Enum;
256
+ var ArithmeticError = _Enum;
257
+ var TransactionalError = _Enum;
258
+ var DispatchClass = _Enum;
259
+ var BalanceStatus = _Enum;
260
+ var TransactionPaymentEvent = _Enum;
261
+ var PreimageEvent = _Enum;
262
+ var XcmV4TraitsOutcome = _Enum;
263
+ var SessionEvent = _Enum;