From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id SMBJAjHuz2ff3QsAWB0awg (envelope-from ) for ; Tue, 11 Mar 2025 04:02:57 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=qYLKHyC9; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id EB8EC1E105; Tue, 11 Mar 2025 04:02:56 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FORGED_MUA_MOZILLA, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.0 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 5C8DF1E08E for ; Tue, 11 Mar 2025 04:02:54 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A5F2C3858289 for ; Tue, 11 Mar 2025 08:02:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A5F2C3858289 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1741680173; bh=/SYdA1R1nVAuZyhwpNMioqF1mVWA5FamozDuZIjtYG8=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=qYLKHyC9oezZxszAt1dm8rBuSjFGIXS1qCuum6QV6gtLbBmy3cv3t3pBeiPYyfooH NorSgMIBfWvi//6KZmrALo7YeVk1yOsa2CLKrweBlJkoQYjS0bijSFeoANg2RQdvCY qh5LEoT4QV/Z07zYlPrGC2IfR4qd09d9N6rMtHUg= Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn20831.outbound.protection.outlook.com [IPv6:2a01:111:f403:2e14::831]) by sourceware.org (Postfix) with ESMTPS id CC5753858432 for ; Tue, 11 Mar 2025 07:59:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CC5753858432 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CC5753858432 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1741679966; cv=pass; b=waV/oBTtAuANJWp4rjduOON1Wuh9evupv3UqMEhTgzZsyn44kE1HnK83TFNMlPEyUdDKmMjI6zarMAEz4I65R0nTZ3djC5GhusjISvsWcNZyjNQdhq2m1cngFfpEI1Cx4/UVjV5XdNG7s0GiA5u+lJR4eTQV+VGoFzEa0jJxlEE= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1741679966; c=relaxed/simple; bh=p4wpucwG8n4Mberqc1ibMo/+mVztZ7xwYKUhq09ZQjw=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=UqcDOSQfoi+RI4+uDuEa5YJ9yMqB6O4+oX7f2LPMglf/ckTSr3Y/2IULNlmhD1Ze1IzrT+ab38ckF6puBTFj76D46I/GLhy+C2uAENbDZHAUdElVKPWow8Wt4pzHZ+bz631v5h+P09GdYME/lajJeoCzHhbBs7SCT9l6o4X9Bwg= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CC5753858432 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PC1lNfMJ8aKTIzqFQ0tOjRuuMriXIGGqVDOOG3GDQHtZBbx7VBbhgdKuWrgJYEWUYVhKd/BdEkYEU3LScf1vxeQEAHTnu19hQ8vJ5142v00qDvcROu2kcEKsDj5JZ3hy3INOV+ArvuxpAIMuU0PtNPOiqR4f06y+J1Sn6zyRbqRPwMEhZqD49653j5OwiPKIROWq1zx1hDJazY9R8GPsm/xEAXLj9YV8qht/P5OBw3gpScrfm1jiZms5bmvYb2gpRGHc4faHjs+Kge8sxXDaLGFV3tYdKGUYfYxRnkkhc4zAi0iM4q7eOOZIxfgNKZDOqji8oRCN6NGiD1su9XiO2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/SYdA1R1nVAuZyhwpNMioqF1mVWA5FamozDuZIjtYG8=; b=trFylaRcu2Zynm6ZFWnAYELTBeT5KsyKLizPwhxJXJP9jBEU86L5OYEKSxm2mO0eFk/l5u8HZqwpQonRTDap66Xzv7ElL5KU1Cy8+NlhbUJvZkAYfOkCjTY2CkRKCJ8VCRP110i18rAsy+BKbpJmX/M7DiFOy2hdzjoM6QjgeNWcOJ4fufXb9SWhnjiGrjoXnbZ7R9mXdN5gH4xeCUreK5yS8Nj8sNH8buYyPPo6h81GY0PiOdFRT3CYtIVEJlITK8/tFTn/Y/xqp0wE94NXEM+uoOFI+wXZ3urSwtLSvsqMAX4k+4RrT5z3PQz0hUe00DMjF+esjtDTFbwvpZj/Uw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from AS8PR05MB8230.eurprd05.prod.outlook.com (2603:10a6:20b:31b::15) by AM8PR05MB7395.eurprd05.prod.outlook.com (2603:10a6:20b:1d0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.21; Tue, 11 Mar 2025 07:59:23 +0000 Received: from AS8PR05MB8230.eurprd05.prod.outlook.com ([fe80::ccaa:112f:aeae:6eae]) by AS8PR05MB8230.eurprd05.prod.outlook.com ([fe80::ccaa:112f:aeae:6eae%4]) with mapi id 15.20.8511.020; Tue, 11 Mar 2025 07:59:23 +0000 Content-Type: multipart/mixed; boundary="------------ifFmXRFNIn0Vx4hsFzkIfTXL" Message-ID: Date: Tue, 11 Mar 2025 12:59:20 +0500 User-Agent: Mozilla Thunderbird Subject: Re: Multi-threading support on DragonFlyBSD To: Simon Marchi , gdb@sourceware.org References: Content-Language: en-US In-Reply-To: X-ClientProxiedBy: FR3P281CA0028.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::19) To AS8PR05MB8230.eurprd05.prod.outlook.com (2603:10a6:20b:31b::15) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR05MB8230:EE_|AM8PR05MB7395:EE_ X-MS-Office365-Filtering-Correlation-Id: a63e5650-e400-47cb-bda3-08dd6072a266 X-Microsoft-Antispam: BCL:0; ARA:14566002|8060799006|19110799003|7092599003|6092099012|15080799006|461199028|12121999004|5072599009|56899033|440099028|13095399003|3412199025|12091999003|41001999003; X-Microsoft-Antispam-Message-Info: =?utf-8?B?UUJ0VjY2UkJaRmR2U1I5VEk1d1QydlBxSy9ZaXVmY0RKK0lBYmNnV3B5WDQw?= =?utf-8?B?NlR0UGQrVW0wWnYxSlNibUpBUEtxNWJpMDkyUkV5b2ExUTQ2UmhnSE8zZ0Ja?= =?utf-8?B?MWdXREdWNCtDOFA1MC9NdHRpRWlsLzNqREZkUElaVnZxbGZCbnhwaXFwbHNT?= =?utf-8?B?aDZjbExMK09XdGRmQnRWeGVTNTdKL3JCVTR6NHg4Y1BxZGhCOUNST0FadFJI?= =?utf-8?B?Z2VRRzkrd2NyS3FjQ0kvcDBXSUV6cEpIZGNBREEwM1NDYWRtUmRzN3M2NEpM?= =?utf-8?B?N21FT0VlOFE4Ujh4cmhGMU9vMmlBVGE5ZG1zME5WaHNld3kvUXNLbGh2VHdJ?= =?utf-8?B?UjkxL3hPNWlSSFk1UVlmcGhZb1Q1SmZiN2tNM2N1WkF1R0JFc0R5bVdZVzZ5?= =?utf-8?B?UmlJV2RLOXRHUjJ6aldZdW8ralFZU2pIZjdneTFVTGphYVpxTmdpSndIWnpo?= =?utf-8?B?ajNkMGFXZElwWTFLSjQ0Ui9lV1hFTXlacUxCdU00Z0s1bnpIV2NLeUpGN3JO?= =?utf-8?B?czVMQmVjdW10bCtrQ3poMTVVQk1TV0ZnZjUxK0pQUThha0NyQWl2cUlha0pR?= =?utf-8?B?ZW5Sb09ZZ2d4NG1hc0MyTlBFK01zcEpVVHoyWDROL0xnTUVFV0g2NUpqd2VK?= =?utf-8?B?Z0Y4VE5GM2RPQURVbGxnQXJGNkxDRkhYYjl5UGFYNEhVVE4zOWJHaUNGa0NM?= =?utf-8?B?N25CYldoazBrUXpoNTlTMWQ5TEtqMEZSQUVEaDJvTzZFKzhYTmtwNzRnNzcx?= =?utf-8?B?ckRXRFc4VENtQlVIQmNnVTJUNnpNWGhkWWlzZFMxbEdVZ29tZ1BxSzdWRFg1?= =?utf-8?B?bis2QkFEQnNZTFVnV2dRdEQ2YUpnbmpRVDVjeHgwcDVQT1hMTXhpK3cxNzMz?= =?utf-8?B?Y3VVVmVmTGlzdFR1Q0RmWFRKUzFMTXFXWE1vVHlwL0o1K00zdU9ka0JlaWUz?= =?utf-8?B?K2VMYmNVWlJNM3VVQ3RZb041My83UWNpQk9JakNyRGJ3aGpidkx2KzA2TFZp?= =?utf-8?B?RERpZEdmRmpPMGtDRlBWYzJaNHQ4TEZ6VS82TnI5KzdCMlB3OXFoTmNvNkU5?= =?utf-8?B?aitibVhvdWlySzJmY29QaFdVLy9pV1Nvckl4ZG5MME55bjJWL1JobmRQbEVC?= =?utf-8?B?eGdaVmlzaTNiRHlCMFZUTTc2VnVwYlU3eEFJbjIzQ3dzcG13YjRrbXhHVXUy?= =?utf-8?B?WWtRTG9sZXVSZGZvQS9WUFEvQ2g2ODJMRExqVktpc05sSjloeHpkUzFQSDJU?= =?utf-8?B?enArdWdFOCtGMlZyc1ZiM25zMW1HTnY0N1BTZjdjUHdtRnBmUktpeVQrT2Ro?= =?utf-8?B?U1BnY0RHMUJmRUI2VnBZcjQ3ZzBKcmhNTDF6ekhsN0x5YjVaSlI4cUhycGx3?= =?utf-8?B?V01VQ3BndmlXeHE2cmJKcWRyV3phc2Nsdk1SSHZVUVFsdXFVYmxOZEFIYjNs?= =?utf-8?B?VFIvUFZwOUVXeUIzS3RTb0xGSGNuck1jQmRjY28xbGVBbDE5SDJQWHJ5SWNn?= =?utf-8?B?bThneFA2ZnR5UTJzdmRJR2pRc3RkclB6QW5LRWs2SkxVT2hzYTl3OVljSGZx?= =?utf-8?B?VEdrTnhJSzZqMVNTL2Q3UStTV1dlMk0reHNtWDZqNWtQdXd6MFNFVTIxRkdr?= =?utf-8?Q?6+pSma4PnT5qqAfwVhOp+NoxMTZEmo1/+A2mmwMcv158=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NEdEK21DT0oxSFZiN3VzTUNYbEpSOGtITk1GTUFHYlFxOXpTVmFoSzlkSEw1?= =?utf-8?B?Y1FnVWNmbzFKRHRRZFZUN2pFOVFaNlhNOTRvaFA2ajdEeDJXVVRtbjFCemtk?= =?utf-8?B?cHE0Tm9PaGNybDdUaUF3N0dzNHYzQW5hcm1Ub0xkUDY4T3dDMGJ0WS84MlVY?= =?utf-8?B?OVdaekc1a3VrcnNKb1VSZUZuNEdXYmVyN2VabnVabWxycyszc2t5NDNmWXJD?= =?utf-8?B?d3hUMldPdDg3NW1UcHBGL04ybGpCUXVCeXo3M2xZK1ZWaFR6cjZJQ0lOR1ky?= =?utf-8?B?SGc2SGJUeXhML1JucWFWbFRHVkJRT1dWVFovcUVudkFPRHMwVzlIWUJmTUFB?= =?utf-8?B?NENzZlcwaGw4Q1o5REwxbEhLdnN5MHE5N1J0Y0ozM2JqTkxKMEg1Umg3YlNB?= =?utf-8?B?QUlSTjJjZ1J4NW9teFVsOG5Jdm1ERjBRdmhGYVdJajI0MUZCYnBKNEdpQlJu?= =?utf-8?B?eXFnalhXanUvcElxZWZoZndpakh6R1Q3SjZ1T29tM2k0TFI4KytSQ0djRXdZ?= =?utf-8?B?RURIVG5xeVJNTHJQOWxYWmZwMEhYSk91R1B0SkN0UjV5WVgya0kyenVwcHJC?= =?utf-8?B?NHVBWitqYzRFQVFvRzYyc0oyVlYwU3lZMEdJaGFyWnU0RzE0eEk5T0tCdmlR?= =?utf-8?B?bWxDRk1ScXphS1lVK1hOdzZITjZvYlo2UFFhOXVkMm5PYWJWRWNob2VDZGl2?= =?utf-8?B?Vld4L3ZIWFFsWUhtc3ZpMnRnOWlFV0VTR2xSSGt6WXJLcDBOQ0JFS1o3TnN4?= =?utf-8?B?MXk2cC9ROGhDY09FVlJmL3hQNUJSRDM5VThnTDBhcWkrNm9tbWVUS01GVHRV?= =?utf-8?B?TVprVmR2S29qanFFVmYrNVZERFJyblRUby9wem9jM3FVRHVhSEgvZjI5WCtQ?= =?utf-8?B?YzFnbXV0ZTlKTWNuL2JNTTRkazh0QnZ6ejYrYkRpdUU2RkErSVJLb1lWNUZB?= =?utf-8?B?d0kzWEkzOWx6dkREcHU3enpmdEZ2R2ZMdzBrK2g3ckUzYVJxMHNXWVk2ZStI?= =?utf-8?B?czJwSnZQM2I0WkNvU2FQdlNHNGJNN2VROFJwK3Y0ankzZGVVMTdiVU5hblNC?= =?utf-8?B?b21sOHMzdk1SdCtYSVJTb3VJQXdVYklPdDRsZ25TUVgxMllEUkE5WStCbUpE?= =?utf-8?B?Z3hlTDBqeTlsSTdJQU52SDFWMGw1c2hiTjVHc0JHbVFKQk94SlhSTG5ZaUx3?= =?utf-8?B?aTdSbGdjcVVKWnV4N2tSa0x2aVByMzZWcnBPaklWamlRT3JOZVZ1QVR1MnNy?= =?utf-8?B?SHhmcStXRERBZnhWS05ERnZLQW9lcFFVTm1aeTRoV0FzUVZqcEpPbTRnVjF5?= =?utf-8?B?SGFaWXlnNWFBa0IyRUdhYWM1MnU4cDJ2VDdrUFZiMVRMa3VmYS9OM3FwN0FX?= =?utf-8?B?VHQ4ZFI3V2hUeFMxdHF3eHo1dkJON3Q3bHFmSHNEZHh0YTk2aHJxb0FuMGQx?= =?utf-8?B?dktLZ2VrMFBGN0FNU2twMGlhZklSTUFBMTR1cGhpcHFCTW1Oc1Z1czVZSVFY?= =?utf-8?B?YW10VWhWbVR1UVZEUjdZcXRpcHlNdWp3T0lCR2VuYUF0V1VJVjBrUGllTElj?= =?utf-8?B?RkVGa29KR3F3alprQlRxM2J0ZHpZWVkwbU4zRk5hblBUR0VVNkVKUm9Gc0pI?= =?utf-8?B?bFg3MnNxSmlGQkRWZTlqaU8rRzVhZjJHKzBNWVZreDVUemNyK1RmUC9DYlBv?= =?utf-8?B?U25tazZ1Qi9XeEhFMWtkY1RGR2xmMFA5N01SL2I2SlVSSVdOSGViZnQvbHZh?= =?utf-8?Q?eCnNU3DfotkzlUVvo8=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a63e5650-e400-47cb-bda3-08dd6072a266 X-MS-Exchange-CrossTenant-AuthSource: AS8PR05MB8230.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 07:59:22.8989 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR05MB7395 X-BeenThere: gdb@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Sergey Zigachev via Gdb Reply-To: Sergey Zigachev Errors-To: gdb-bounces~public-inbox=simark.ca@sourceware.org Sender: "Gdb" --------------ifFmXRFNIn0Vx4hsFzkIfTXL Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit > What I don't understand here is: what other event do you report for the > other threads? When you step one thread, I assume that your resume > method gets called with inferior_ptid (the global variable) equal to the > thread being stepped, and scope_ptid equal to (pid, 0, 0)? If so, the > threads other than the one being stepped should be resumed freely. In > your scenario, I don't see what signal these other threads would > receive. > > Once your stepping thread is done stepping, it should generate a > SIGTRAP, after which your target should send some signal (SIGSTOP?) to > ask the other threads to stop and wait for these threads to report > "stopped by SIGSTOP" (since your target operates in non-stop mode). But > these SIGSTOPs should not be reported to the core, as it's an > implementation detail of the target. That's my understanding of how > things work on Linux, perhaps things are different on DragonflyBSD. > That's overall correct. Other threads can receive SIGTRAP if I put a breakpoint, for example. I thought that should work, isn't it? If GDB resumes all threads that means any number of threads can stop at a breakpoint or SIGTRAP caused by single-stepping a process. Here's what I think is happening: 1. put a breakpoint_1 at function_1 for thread_1 2. put a breakpoint_2 at function_2 for thread_2 3. -> "run" the process, main thread starts threads approx. at once 4. breakpoint_1 hit, current thread is thread_1 5. -> enter "step" command 6. GDB resumes thread_1, then all threads, every time with step=1 7. breakpoint_2 hit, GDB switches to thread_2 8. -> enter "step" command 9. GDB resumes thread_2, then all threads, every time with step=1 10. thread_1 generates SIGTRAP 11. GDB can't tell this SIGTRAP is the result of (5), so can't skip it 12. GDB reports it as a random signal If GDB receives events for the current thread at steps (6) and (9), then it processes them just fine, skipping as necessary. WRT implementation details: I don't send SIGSTOP to stop all threads when SIGTRAP generated and I don't use waitpid. Natdep target communicates with the kernel through ptrace syscall only. Ptrace request waits for a event, stops all threads and waits for them to actually stop before returning to userspace. Then in the natdep code I pull all pending events from all threads, stash them in a list, and return one event according to what GDB expects to get: if it resumed just a single thread, then I return an event strictly for that thread (if any); if it resumed all threads, then I return the next event from the list, which may or may not be for the current thread. In my test program, I only get SIGTRAPs triggered by single-stepping threads, no other signals generated. Please see attached debug log output. It's rather verbose though. Couple notes: - for DragonFly, I'm using ptid_t format as (pid, thread_id, 0), thread_id is unique for a process, but is NOT globally unique - you can ignore lines with [dfly-nat], that's my implementation's debug info, it mostly duplicates what infrun writes anyway I'm sorry, my explanations are hard to understand, hopefully it'll be clearer with the log. Ideally, I would like to get GDB to transparently skip assembly instructions which are not relevant to report regardless which thread is reporting an event, be it currently selected or not. Like part of the already reported source line, dynsym code, missing debug symbols or anything else. For that to work I think I need to save and restore GDB's thread "context" (in the thread_info struct) before reporting an event. If it's not possible or doesn't make sense, then I'll to do what Linux is doing -- give currently selected thread higher priority and report it first. > I assume that you have enabled and started at the "set debug infrun" > logs? This is how you generally debug those issues, look at what infrun > asks your target to do, look at what your target answers, try to see if > that makes sense. Yes, I enabled infrun debug output and it was invaluable for gathering info. > Finally, it's perhaps outside of the scope of your work, but "modern" > targets use non-stop (related to "maint set target-non-stop", not the > user-visible "set non-stop") and target-async. I'm more used to reason > in terms of non-stop & target-async, and that code path of infrun is > likely more tested. It's probably no small task, but switching to that > would be more future-proof. I'll take a look at non-stop and async modes. Also, I wasn't aware of maintenance command, thanks! -Sergey --------------ifFmXRFNIn0Vx4hsFzkIfTXL Content-Type: text/plain; charset=UTF-8; name="gdb_output.txt" Content-Disposition: attachment; filename="gdb_output.txt" Content-Transfer-Encoding: base64 W2luZnJ1bl0gc2NvcGVkX2Rpc2FibGVfY29tbWl0X3Jlc3VtZWQ6IHJlYXNvbj1ydW5uaW5nDQpT dGFydGluZyBwcm9ncmFtOiAvcm9vdC9nZGItdGVzdHMvdGxzX3RocmVhZHMtY2xhbmcNCltkZmx5 LW5hdF0gd2FpdDogW2luXSBwdGlkID0gLTEuMC4wDQpbZGZseS1uYXRdIHdhaXQ6IHJlc3VtZWRf bHdwcyAtMS4wLjANCltkZmx5LW5hdF0gd2FpdDogUFRfV0FJVCBlcnIgMCBlcnJubyAyMg0KW2Rm bHktbmF0XSB3YWl0OiBlcnIgMCBlcnJubyAyMiBldmVudCBzdGF0dXMgMiBsd3BpZCAxIHNpZ25h bCA1DQpbZGZseS1uYXRdIHdhaXQ6IHN0b3JlIGx3cD0xIHNpZ25hbD01DQpbZGZseS1uYXRdIHdh aXQ6IGVyciAwIGVycm5vIDIyIGV2ZW50IHN0YXR1cyAwIGx3cGlkIDEgc2lnbmFsIDUNCltkZmx5 LW5hdF0gd2FpdDogbm8gZXZlbnQsIGV4aXRpbmcNCltkZmx5LW5hdF0gd2FpdDogcmV0dXJuIGx3 cD0xIHNpZ25hbD01DQpbZGZseS1uYXRdIHJlc3VtZTogcHRpZD0tMS4wLjAgc3RlcD0wIHNpZ25h bD0wDQpbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03NDU2LjEuMCByZXN1bWluZyAoYWxsKQ0KW2Rm bHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4xLjAgdW5zdG9wcGVkDQpbZGZseS1uYXRdIHdhaXQ6 IFtpbl0gcHRpZCA9IC0xLjAuMA0KW2RmbHktbmF0XSB3YWl0OiByZXN1bWVkX2x3cHMgLTEuMC4w DQpbZGZseS1uYXRdIHdhaXQ6IFBUX1dBSVQgZXJyIDAgZXJybm8gMA0KW2RmbHktbmF0XSB3YWl0 OiBlcnIgMCBlcnJubyAwIGV2ZW50IHN0YXR1cyAyIGx3cGlkIDEgc2lnbmFsIDUNCltkZmx5LW5h dF0gd2FpdDogc3RvcmUgbHdwPTEgc2lnbmFsPTUNCltkZmx5LW5hdF0gd2FpdDogZXJyIDAgZXJy bm8gMCBldmVudCBzdGF0dXMgMCBsd3BpZCAxIHNpZ25hbCA1DQpbZGZseS1uYXRdIHdhaXQ6IG5v IGV2ZW50LCBleGl0aW5nDQpbZGZseS1uYXRdIHdhaXQ6IHJldHVybiBsd3A9MSBzaWduYWw9NQ0K W2luZnJ1bl0gaW5mcnVuX2RlYnVnX3Nob3dfdGhyZWFkczogZW50ZXINCiAgW2luZnJ1bl0gaW5m cnVuX2RlYnVnX3Nob3dfdGhyZWFkczogaW1tZWRpYXRlbHkgYWZ0ZXIgY3JlYXRlX3Byb2Nlc3M6 DQogIFtpbmZydW5dIGluZnJ1bl9kZWJ1Z19zaG93X3RocmVhZHM6ICAgdGhyZWFkIDc0NTYuMS4w LCBleGVjdXRpbmcgPSAwLCByZXN1bWVkID0gMCwgc3RhdGUgPSBTVE9QUEVEDQpbaW5mcnVuXSBp bmZydW5fZGVidWdfc2hvd190aHJlYWRzOiBleGl0DQpbaW5mcnVuXSBpbmZydW5fZGVidWdfc2hv d190aHJlYWRzOiBlbnRlcg0KICBbaW5mcnVuXSBpbmZydW5fZGVidWdfc2hvd190aHJlYWRzOiB0 aHJlYWRzIGluIHRoZSBuZXdseSBjcmVhdGVkIGluZmVyaW9yOg0KICBbaW5mcnVuXSBpbmZydW5f ZGVidWdfc2hvd190aHJlYWRzOiAgIHRocmVhZCA3NDU2LjEuMCwgZXhlY3V0aW5nID0gMCwgcmVz dW1lZCA9IDAsIHN0YXRlID0gU1RPUFBFRA0KW2luZnJ1bl0gaW5mcnVuX2RlYnVnX3Nob3dfdGhy ZWFkczogZXhpdA0KW2luZnJ1bl0gcHJvY2VlZDogZW50ZXINCiAgW2luZnJ1bl0gZm9sbG93X2Zv cms6IGVudGVyDQogIFtpbmZydW5dIGZvbGxvd19mb3JrOiBleGl0DQogIFtpbmZydW5dIHByb2Nl ZWQ6IGN1cl90aHIgPSA3NDU2LjEuMA0KICBbaW5mcnVuXSBwcm9jZWVkOiBhZGRyPTB4ODAwNDAz ODIwLCBzaWduYWw9R0RCX1NJR05BTF8wLCByZXN1bWVfcHRpZD0tMS4wLjANCiAgW2luZnJ1bl0g c2NvcGVkX2Rpc2FibGVfY29tbWl0X3Jlc3VtZWQ6IHJlYXNvbj1wcm9jZWVkaW5nDQogIFtpbmZy dW5dIHN0YXJ0X3N0ZXBfb3ZlcjogZW50ZXINCiAgICBbaW5mcnVuXSBzdGFydF9zdGVwX292ZXI6 IHN0ZWFsaW5nIGdsb2JhbCBxdWV1ZSBvZiB0aHJlYWRzIHRvIHN0ZXAsIGxlbmd0aCA9IDANCiAg ICBbaW5mcnVuXSBvcGVyYXRvcigpOiBzdGVwLW92ZXIgcXVldWUgbm93IGVtcHR5DQogIFtpbmZy dW5dIHN0YXJ0X3N0ZXBfb3ZlcjogZXhpdA0KICBbaW5mcnVuXSBwcm9jZWVkX3Jlc3VtZV90aHJl YWRfY2hlY2tlZDogcmVzdW1pbmcgNzQ1Ni4xLjANCiAgW2luZnJ1bl0gcmVzdW1lXzE6IHN0ZXA9 MCwgc2lnbmFsPUdEQl9TSUdOQUxfMCwgdHJhcF9leHBlY3RlZD0wLCBjdXJyZW50IHRocmVhZCBb NzQ1Ni4xLjBdIGF0IDB4ODAwNDAzODIwDQogIFtpbmZydW5dIGRvX3RhcmdldF9yZXN1bWU6IHJl c3VtZV9wdGlkPS0xLjAuMCwgc3RlcD0wLCBzaWc9R0RCX1NJR05BTF8wDQogIFtkZmx5LW5hdF0g cmVzdW1lOiBwdGlkPS0xLjAuMCBzdGVwPTAgc2lnbmFsPTANCiAgW2RmbHktbmF0XSByZXN1bWU6 IHB0aWQ9NzQ1Ni4xLjAgcmVzdW1pbmcgKGFsbCkNCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9 NzQ1Ni4xLjAgdW5zdG9wcGVkDQogIFtpbmZydW5dIHByZXBhcmVfdG9fd2FpdDogcHJlcGFyZV90 b193YWl0DQogIFtpbmZydW5dIHJlc2V0OiByZWFzb249cHJvY2VlZGluZw0KW2luZnJ1bl0gcHJv Y2VlZDogZXhpdA0KW2luZnJ1bl0gcmVzZXQ6IHJlYXNvbj1ydW5uaW5nDQpbaW5mcnVuXSBtYXli ZV9zZXRfY29tbWl0X3Jlc3VtZWRfYWxsX3RhcmdldHM6IGVuYWJsaW5nIGNvbW1pdC1yZXN1bWVk IGZvciB0YXJnZXQgbmF0aXZlDQpbaW5mcnVuXSBtYXliZV9jYWxsX2NvbW1pdF9yZXN1bWVkX2Fs bF90YXJnZXRzOiBjYWxsaW5nIGNvbW1pdF9yZXN1bWVkIGZvciB0YXJnZXQgbmF0aXZlDQpbaW5m cnVuXSBmZXRjaF9pbmZlcmlvcl9ldmVudDogZW50ZXINCiAgW2luZnJ1bl0gc2NvcGVkX2Rpc2Fi bGVfY29tbWl0X3Jlc3VtZWQ6IHJlYXNvbj1oYW5kbGluZyBldmVudA0KICBbaW5mcnVuXSByYW5k b21fcGVuZGluZ19ldmVudF90aHJlYWQ6IE5vbmUgZm91bmQuDQogIFtkZmx5LW5hdF0gd2FpdDog W2luXSBwdGlkID0gLTEuMC4wDQogIFtkZmx5LW5hdF0gd2FpdDogcmVzdW1lZF9sd3BzIC0xLjAu MA0KICBbZGZseS1uYXRdIHdhaXQ6IFBUX1dBSVQgZXJyIDAgZXJybm8gMzUNCiAgW2RmbHktbmF0 XSB3YWl0OiBlcnIgMCBlcnJubyAzNSBldmVudCBzdGF0dXMgMiBsd3BpZCAxIHNpZ25hbCA1DQog IFtkZmx5LW5hdF0gd2FpdDogc3RvcmUgbHdwPTEgc2lnbmFsPTUNCiAgW2RmbHktbmF0XSB3YWl0 OiBlcnIgMCBlcnJubyAzNSBldmVudCBzdGF0dXMgMCBsd3BpZCAxIHNpZ25hbCA1DQogIFtkZmx5 LW5hdF0gd2FpdDogbm8gZXZlbnQsIGV4aXRpbmcNCiAgW2RmbHktbmF0XSB3YWl0OiByZXR1cm4g bHdwPTEgc2lnbmFsPTUNCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czogdGFy Z2V0X3dhaXQgKC0xLjAuMCBbTFdQIDEgb2YgcHJvY2VzcyAtMV0sIHN0YXR1cykgPQ0KICBbaW5m cnVuXSBwcmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiAgIDc0NTYuMS4wIFtMV1AgMSBvZiBwcm9j ZXNzIDc0NTZdLA0KICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiAgIHN0YXR1 cy0+a2luZCA9IFNUT1BQRUQsIHNpZyA9IEdEQl9TSUdOQUxfVFJBUA0KICBbaW5mcnVuXSBoYW5k bGVfaW5mZXJpb3JfZXZlbnQ6IHN0YXR1cy0+a2luZCA9IFNUT1BQRUQsIHNpZyA9IEdEQl9TSUdO QUxfVFJBUA0KICBbaW5mcnVuXSBjb250ZXh0X3N3aXRjaDogU3dpdGNoaW5nIGNvbnRleHQgZnJv bSAwLjAuMCB0byA3NDU2LjEuMA0KICBbaW5mcnVuXSBoYW5kbGVfc2lnbmFsX3N0b3A6IHN0b3Bf cGM9MHg4MDA0MDQyZmINCiAgW2luZnJ1bl0gcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3Q6IEJQU1RB VF9XSEFUX1NJTkdMRQ0KICBbaW5mcnVuXSBzd2l0Y2hfYmFja190b19zdGVwcGVkX3RocmVhZDog dGhyZWFkIFs3NDU2LjEuMF0gc3RpbGwgbmVlZHMgc3RlcC1vdmVyDQogIFtpbmZydW5dIHNob3Vs ZF9iZV9pbnNlcnRlZDogc2tpcHBpbmcgYnJlYWtwb2ludDogc3RlcHBpbmcgcGFzdCBpbnNuIGF0 OiAweDgwMDQwNDJmYg0KICBbaW5mcnVuXSBzaG91bGRfYmVfaW5zZXJ0ZWQ6IHNraXBwaW5nIGJy ZWFrcG9pbnQ6IHN0ZXBwaW5nIHBhc3QgaW5zbiBhdDogMHg4MDA0MDQyZmINCiAgW2luZnJ1bl0g c2hvdWxkX2JlX2luc2VydGVkOiBza2lwcGluZyBicmVha3BvaW50OiBzdGVwcGluZyBwYXN0IGlu c24gYXQ6IDB4ODAwNDA0MmZiDQogIFtpbmZydW5dIHJlc3VtZV8xOiBzdGVwPTEsIHNpZ25hbD1H REJfU0lHTkFMXzAsIHRyYXBfZXhwZWN0ZWQ9MSwgY3VycmVudCB0aHJlYWQgWzc0NTYuMS4wXSBh dCAweDgwMDQwNDJmYg0KICBbaW5mcnVuXSBkb190YXJnZXRfcmVzdW1lOiByZXN1bWVfcHRpZD03 NDU2LjEuMCwgc3RlcD0xLCBzaWc9R0RCX1NJR05BTF8wDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBw dGlkPTc0NTYuMS4wIHN0ZXA9MSBzaWduYWw9MA0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03 NDU2LjEuMCByZXN1bWluZyAoc2luZ2xlKQ0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03NDU2 LjEuMCB1bnN0b3BwZWQNCiAgW2luZnJ1bl0gcHJlcGFyZV90b193YWl0OiBwcmVwYXJlX3RvX3dh aXQNCiAgW2luZnJ1bl0gcmVzZXQ6IHJlYXNvbj1oYW5kbGluZyBldmVudA0KICBbaW5mcnVuXSBt YXliZV9zZXRfY29tbWl0X3Jlc3VtZWRfYWxsX3RhcmdldHM6IGVuYWJsaW5nIGNvbW1pdC1yZXN1 bWVkIGZvciB0YXJnZXQgbmF0aXZlDQogIFtpbmZydW5dIG1heWJlX2NhbGxfY29tbWl0X3Jlc3Vt ZWRfYWxsX3RhcmdldHM6IGNhbGxpbmcgY29tbWl0X3Jlc3VtZWQgZm9yIHRhcmdldCBuYXRpdmUN CltpbmZydW5dIGZldGNoX2luZmVyaW9yX2V2ZW50OiBleGl0DQpbaW5mcnVuXSBmZXRjaF9pbmZl cmlvcl9ldmVudDogZW50ZXINCiAgW2luZnJ1bl0gc2NvcGVkX2Rpc2FibGVfY29tbWl0X3Jlc3Vt ZWQ6IHJlYXNvbj1oYW5kbGluZyBldmVudA0KICBbaW5mcnVuXSByYW5kb21fcGVuZGluZ19ldmVu dF90aHJlYWQ6IE5vbmUgZm91bmQuDQogIFtkZmx5LW5hdF0gd2FpdDogW2luXSBwdGlkID0gLTEu MC4wDQogIFtkZmx5LW5hdF0gd2FpdDogcmVzdW1lZF9sd3BzIDc0NTYuMS4wDQogIFtkZmx5LW5h dF0gd2FpdDogUFRfV0FJVCBlcnIgMCBlcnJubyAzNQ0KICBbZGZseS1uYXRdIHdhaXQ6IGVyciAw IGVycm5vIDM1IGV2ZW50IHN0YXR1cyAyIGx3cGlkIDEgc2lnbmFsIDUNCiAgW2RmbHktbmF0XSB3 YWl0OiBzdG9yZSBsd3A9MSBzaWduYWw9NQ0KICBbZGZseS1uYXRdIHdhaXQ6IGVyciAwIGVycm5v IDM1IGV2ZW50IHN0YXR1cyAwIGx3cGlkIDEgc2lnbmFsIDUNCiAgW2RmbHktbmF0XSB3YWl0OiBu byBldmVudCwgZXhpdGluZw0KICBbZGZseS1uYXRdIHdhaXQ6IHJldHVybiBsd3A9MSBzaWduYWw9 NQ0KICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiB0YXJnZXRfd2FpdCAoLTEu MC4wIFtMV1AgMSBvZiBwcm9jZXNzIC0xXSwgc3RhdHVzKSA9DQogIFtpbmZydW5dIHByaW50X3Rh cmdldF93YWl0X3Jlc3VsdHM6ICAgNzQ1Ni4xLjAgW0xXUCAxIG9mIHByb2Nlc3MgNzQ1Nl0sDQog IFtpbmZydW5dIHByaW50X3RhcmdldF93YWl0X3Jlc3VsdHM6ICAgc3RhdHVzLT5raW5kID0gU1RP UFBFRCwgc2lnID0gR0RCX1NJR05BTF9UUkFQDQogIFtpbmZydW5dIGhhbmRsZV9pbmZlcmlvcl9l dmVudDogc3RhdHVzLT5raW5kID0gU1RPUFBFRCwgc2lnID0gR0RCX1NJR05BTF9UUkFQDQogIFtp bmZydW5dIGNsZWFyX3N0ZXBfb3Zlcl9pbmZvOiBjbGVhcmluZyBzdGVwIG92ZXIgaW5mbw0KICBb aW5mcnVuXSBjb250ZXh0X3N3aXRjaDogU3dpdGNoaW5nIGNvbnRleHQgZnJvbSAwLjAuMCB0byA3 NDU2LjEuMA0KICBbaW5mcnVuXSBoYW5kbGVfc2lnbmFsX3N0b3A6IHN0b3BfcGM9MHg4MDA0MGIx MDUNCiAgW2luZnJ1bl0gc3RhcnRfc3RlcF9vdmVyOiBlbnRlcg0KICAgIFtpbmZydW5dIHN0YXJ0 X3N0ZXBfb3Zlcjogc3RlYWxpbmcgZ2xvYmFsIHF1ZXVlIG9mIHRocmVhZHMgdG8gc3RlcCwgbGVu Z3RoID0gMA0KICAgIFtpbmZydW5dIG9wZXJhdG9yKCk6IHN0ZXAtb3ZlciBxdWV1ZSBub3cgZW1w dHkNCiAgW2luZnJ1bl0gc3RhcnRfc3RlcF9vdmVyOiBleGl0DQogIFtpbmZydW5dIHByb2Nlc3Nf ZXZlbnRfc3RvcF90ZXN0OiBubyBzdGVwcGluZywgY29udGludWUNCiAgW2luZnJ1bl0gcmVzdW1l XzE6IHN0ZXA9MCwgc2lnbmFsPUdEQl9TSUdOQUxfMCwgdHJhcF9leHBlY3RlZD0wLCBjdXJyZW50 IHRocmVhZCBbNzQ1Ni4xLjBdIGF0IDB4ODAwNDBiMTA1DQogIFtpbmZydW5dIGRvX3RhcmdldF9y ZXN1bWU6IHJlc3VtZV9wdGlkPS0xLjAuMCwgc3RlcD0wLCBzaWc9R0RCX1NJR05BTF8wDQogIFtk Zmx5LW5hdF0gcmVzdW1lOiBwdGlkPS0xLjAuMCBzdGVwPTAgc2lnbmFsPTANCiAgW2RmbHktbmF0 XSByZXN1bWU6IHB0aWQ9NzQ1Ni4xLjAgcmVzdW1pbmcgKGFsbCkNCiAgW2RmbHktbmF0XSByZXN1 bWU6IHB0aWQ9NzQ1Ni4xLjAgdW5zdG9wcGVkDQogIFtpbmZydW5dIHByZXBhcmVfdG9fd2FpdDog cHJlcGFyZV90b193YWl0DQogIFtpbmZydW5dIHJlc2V0OiByZWFzb249aGFuZGxpbmcgZXZlbnQN CiAgW2luZnJ1bl0gbWF5YmVfc2V0X2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRzOiBlbmFibGlu ZyBjb21taXQtcmVzdW1lZCBmb3IgdGFyZ2V0IG5hdGl2ZQ0KICBbaW5mcnVuXSBtYXliZV9jYWxs X2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRzOiBjYWxsaW5nIGNvbW1pdF9yZXN1bWVkIGZvciB0 YXJnZXQgbmF0aXZlDQpbaW5mcnVuXSBmZXRjaF9pbmZlcmlvcl9ldmVudDogZXhpdA0KW2luZnJ1 bl0gZmV0Y2hfaW5mZXJpb3JfZXZlbnQ6IGVudGVyDQogIFtpbmZydW5dIHNjb3BlZF9kaXNhYmxl X2NvbW1pdF9yZXN1bWVkOiByZWFzb249aGFuZGxpbmcgZXZlbnQNCiAgW2luZnJ1bl0gcmFuZG9t X3BlbmRpbmdfZXZlbnRfdGhyZWFkOiBOb25lIGZvdW5kLg0KICBbZGZseS1uYXRdIHdhaXQ6IFtp bl0gcHRpZCA9IC0xLjAuMA0KICBbZGZseS1uYXRdIHdhaXQ6IHJlc3VtZWRfbHdwcyAtMS4wLjAN CiAgW2RmbHktbmF0XSB3YWl0OiBQVF9XQUlUIGVyciAwIGVycm5vIDM1DQogIFtkZmx5LW5hdF0g d2FpdDogZXJyIDAgZXJybm8gMzUgZXZlbnQgc3RhdHVzIDQgbHdwaWQgMiBzaWduYWwgMA0KICBb ZGZseS1uYXRdIHdhaXQ6IGFkZCBuZXcgdGhyZWFkIDINCltOZXcgTFdQIDIgb2YgcHJvY2VzcyA3 NDU2XQ0KICBbZGZseS1uYXRdIHdhaXQ6IGVyciAwIGVycm5vIDM1IGV2ZW50IHN0YXR1cyAwIGx3 cGlkIDIgc2lnbmFsIDANCiAgW2RmbHktbmF0XSB3YWl0OiBubyBldmVudCwgZXhpdGluZw0KICBb ZGZseS1uYXRdIHdhaXQ6IHJlYWNoZWQgRU9GIQ0KICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2Fp dF9yZXN1bHRzOiB0YXJnZXRfd2FpdCAoLTEuMC4wIFtMV1AgMSBvZiBwcm9jZXNzIC0xXSwgc3Rh dHVzKSA9DQogIFtpbmZydW5dIHByaW50X3RhcmdldF93YWl0X3Jlc3VsdHM6ICAgNzQ1Ni4yLjAg W0xXUCAyIG9mIHByb2Nlc3MgNzQ1Nl0sDQogIFtpbmZydW5dIHByaW50X3RhcmdldF93YWl0X3Jl c3VsdHM6ICAgc3RhdHVzLT5raW5kID0gU1BVUklPVVMNCiAgW2luZnJ1bl0gaGFuZGxlX2luZmVy aW9yX2V2ZW50OiBzdGF0dXMtPmtpbmQgPSBTUFVSSU9VUw0KICBbaW5mcnVuXSBjb250ZXh0X3N3 aXRjaDogU3dpdGNoaW5nIGNvbnRleHQgZnJvbSAwLjAuMCB0byA3NDU2LjIuMA0KICBbaW5mcnVu XSByZXN1bWVfMTogc3RlcD0wLCBzaWduYWw9R0RCX1NJR05BTF8wLCB0cmFwX2V4cGVjdGVkPTAs IGN1cnJlbnQgdGhyZWFkIFs3NDU2LjIuMF0gYXQgMHg4MDA2ZGU5NmUNCiAgW2luZnJ1bl0gZG9f dGFyZ2V0X3Jlc3VtZTogcmVzdW1lX3B0aWQ9LTEuMC4wLCBzdGVwPTAsIHNpZz1HREJfU0lHTkFM XzANCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9LTEuMC4wIHN0ZXA9MCBzaWduYWw9MA0KICBb ZGZseS1uYXRdIHJlc3VtZTogcHRpZD03NDU2LjEuMCByZXN1bWluZyAoYWxsKQ0KICBbZGZseS1u YXRdIHJlc3VtZTogcHRpZD03NDU2LjIuMCByZXN1bWluZyAoYWxsKQ0KICBbZGZseS1uYXRdIHJl c3VtZTogcHRpZD03NDU2LjIuMCB1bnN0b3BwZWQNCiAgW2luZnJ1bl0gcHJlcGFyZV90b193YWl0 OiBwcmVwYXJlX3RvX3dhaXQNCiAgW2luZnJ1bl0gcmVzZXQ6IHJlYXNvbj1oYW5kbGluZyBldmVu dA0KICBbaW5mcnVuXSBtYXliZV9zZXRfY29tbWl0X3Jlc3VtZWRfYWxsX3RhcmdldHM6IGVuYWJs aW5nIGNvbW1pdC1yZXN1bWVkIGZvciB0YXJnZXQgbmF0aXZlDQogIFtpbmZydW5dIG1heWJlX2Nh bGxfY29tbWl0X3Jlc3VtZWRfYWxsX3RhcmdldHM6IGNhbGxpbmcgY29tbWl0X3Jlc3VtZWQgZm9y IHRhcmdldCBuYXRpdmUNCltpbmZydW5dIGZldGNoX2luZmVyaW9yX2V2ZW50OiBleGl0DQpbaW5m cnVuXSBmZXRjaF9pbmZlcmlvcl9ldmVudDogZW50ZXINCiAgW2luZnJ1bl0gc2NvcGVkX2Rpc2Fi bGVfY29tbWl0X3Jlc3VtZWQ6IHJlYXNvbj1oYW5kbGluZyBldmVudA0KICBbaW5mcnVuXSByYW5k b21fcGVuZGluZ19ldmVudF90aHJlYWQ6IE5vbmUgZm91bmQuDQogIFtkZmx5LW5hdF0gd2FpdDog W2luXSBwdGlkID0gLTEuMC4wDQogIFtkZmx5LW5hdF0gd2FpdDogcmVzdW1lZF9sd3BzIC0xLjAu MA0KICBbZGZseS1uYXRdIHdhaXQ6IFBUX1dBSVQgZXJyIDAgZXJybm8gMzUNCiAgW2RmbHktbmF0 XSB3YWl0OiBlcnIgMCBlcnJubyAzNSBldmVudCBzdGF0dXMgNCBsd3BpZCAzIHNpZ25hbCAwDQog IFtkZmx5LW5hdF0gd2FpdDogYWRkIG5ldyB0aHJlYWQgMw0KW05ldyBMV1AgMyBvZiBwcm9jZXNz IDc0NTZdDQogIFtkZmx5LW5hdF0gd2FpdDogZXJyIDAgZXJybm8gMzUgZXZlbnQgc3RhdHVzIDAg bHdwaWQgMyBzaWduYWwgMA0KICBbZGZseS1uYXRdIHdhaXQ6IG5vIGV2ZW50LCBleGl0aW5nDQog IFtkZmx5LW5hdF0gd2FpdDogcmVhY2hlZCBFT0YhDQogIFtpbmZydW5dIHByaW50X3RhcmdldF93 YWl0X3Jlc3VsdHM6IHRhcmdldF93YWl0ICgtMS4wLjAgW0xXUCAxIG9mIHByb2Nlc3MgLTFdLCBz dGF0dXMpID0NCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czogICA3NDU2LjMu MCBbTFdQIDMgb2YgcHJvY2VzcyA3NDU2XSwNCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRf cmVzdWx0czogICBzdGF0dXMtPmtpbmQgPSBTUFVSSU9VUw0KICBbaW5mcnVuXSBoYW5kbGVfaW5m ZXJpb3JfZXZlbnQ6IHN0YXR1cy0+a2luZCA9IFNQVVJJT1VTDQogIFtpbmZydW5dIGNvbnRleHRf c3dpdGNoOiBTd2l0Y2hpbmcgY29udGV4dCBmcm9tIDAuMC4wIHRvIDc0NTYuMy4wDQogIFtpbmZy dW5dIHJlc3VtZV8xOiBzdGVwPTAsIHNpZ25hbD1HREJfU0lHTkFMXzAsIHRyYXBfZXhwZWN0ZWQ9 MCwgY3VycmVudCB0aHJlYWQgWzc0NTYuMy4wXSBhdCAweDgwMDZkZTk2ZQ0KICBbaW5mcnVuXSBk b190YXJnZXRfcmVzdW1lOiByZXN1bWVfcHRpZD0tMS4wLjAsIHN0ZXA9MCwgc2lnPUdEQl9TSUdO QUxfMA0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD0tMS4wLjAgc3RlcD0wIHNpZ25hbD0wDQog IFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPTc0NTYuMS4wIHJlc3VtaW5nIChhbGwpDQogIFtkZmx5 LW5hdF0gcmVzdW1lOiBwdGlkPTc0NTYuMi4wIHJlc3VtaW5nIChhbGwpDQogIFtkZmx5LW5hdF0g cmVzdW1lOiBwdGlkPTc0NTYuMy4wIHJlc3VtaW5nIChhbGwpDQogIFtkZmx5LW5hdF0gcmVzdW1l OiBwdGlkPTc0NTYuMy4wIHVuc3RvcHBlZA0KICBbaW5mcnVuXSBwcmVwYXJlX3RvX3dhaXQ6IHBy ZXBhcmVfdG9fd2FpdA0KICBbaW5mcnVuXSByZXNldDogcmVhc29uPWhhbmRsaW5nIGV2ZW50DQog IFtpbmZydW5dIG1heWJlX3NldF9jb21taXRfcmVzdW1lZF9hbGxfdGFyZ2V0czogZW5hYmxpbmcg Y29tbWl0LXJlc3VtZWQgZm9yIHRhcmdldCBuYXRpdmUNCiAgW2luZnJ1bl0gbWF5YmVfY2FsbF9j b21taXRfcmVzdW1lZF9hbGxfdGFyZ2V0czogY2FsbGluZyBjb21taXRfcmVzdW1lZCBmb3IgdGFy Z2V0IG5hdGl2ZQ0KW2luZnJ1bl0gZmV0Y2hfaW5mZXJpb3JfZXZlbnQ6IGV4aXQNCltpbmZydW5d IGZldGNoX2luZmVyaW9yX2V2ZW50OiBlbnRlcg0KICBbaW5mcnVuXSBzY29wZWRfZGlzYWJsZV9j b21taXRfcmVzdW1lZDogcmVhc29uPWhhbmRsaW5nIGV2ZW50DQogIFtpbmZydW5dIHJhbmRvbV9w ZW5kaW5nX2V2ZW50X3RocmVhZDogTm9uZSBmb3VuZC4NCiAgW2RmbHktbmF0XSB3YWl0OiBbaW5d IHB0aWQgPSAtMS4wLjANCiAgW2RmbHktbmF0XSB3YWl0OiByZXN1bWVkX2x3cHMgLTEuMC4wDQog IFtkZmx5LW5hdF0gd2FpdDogUFRfV0FJVCBlcnIgMCBlcnJubyAzNQ0KICBbZGZseS1uYXRdIHdh aXQ6IGVyciAwIGVycm5vIDM1IGV2ZW50IHN0YXR1cyAyIGx3cGlkIDIgc2lnbmFsIDUNCiAgW2Rm bHktbmF0XSB3YWl0OiBzdG9yZSBsd3A9MiBzaWduYWw9NQ0KICBbZGZseS1uYXRdIHdhaXQ6IGVy ciAwIGVycm5vIDM1IGV2ZW50IHN0YXR1cyAwIGx3cGlkIDIgc2lnbmFsIDUNCiAgW2RmbHktbmF0 XSB3YWl0OiBubyBldmVudCwgZXhpdGluZw0KICBbZGZseS1uYXRdIHdhaXQ6IHJldHVybiBsd3A9 MiBzaWduYWw9NQ0KICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiB0YXJnZXRf d2FpdCAoLTEuMC4wIFtMV1AgMSBvZiBwcm9jZXNzIC0xXSwgc3RhdHVzKSA9DQogIFtpbmZydW5d IHByaW50X3RhcmdldF93YWl0X3Jlc3VsdHM6ICAgNzQ1Ni4yLjAgW0xXUCAyIG9mIHByb2Nlc3Mg NzQ1Nl0sDQogIFtpbmZydW5dIHByaW50X3RhcmdldF93YWl0X3Jlc3VsdHM6ICAgc3RhdHVzLT5r aW5kID0gU1RPUFBFRCwgc2lnID0gR0RCX1NJR05BTF9UUkFQDQogIFtpbmZydW5dIGhhbmRsZV9p bmZlcmlvcl9ldmVudDogc3RhdHVzLT5raW5kID0gU1RPUFBFRCwgc2lnID0gR0RCX1NJR05BTF9U UkFQDQogIFtpbmZydW5dIGNvbnRleHRfc3dpdGNoOiBTd2l0Y2hpbmcgY29udGV4dCBmcm9tIDAu MC4wIHRvIDc0NTYuMi4wDQogIFtpbmZydW5dIGhhbmRsZV9zaWduYWxfc3RvcDogc3RvcF9wYz0w eDQwMGIxYQ0KICBbaW5mcnVuXSBicHN0YXRfY2hlY2tfYnJlYWtwb2ludF9jb25kaXRpb25zOiBl bnRlcg0KICAgIFtpbmZydW5dIGJwc3RhdF9jaGVja19icmVha3BvaW50X2NvbmRpdGlvbnM6IHRo cmVhZCA9IDc0NTYuMi4wLCBicmVha3BvaW50IDEuMQ0KICAgIFtpbmZydW5dIGJwc3RhdF9jaGVj a19icmVha3BvaW50X2NvbmRpdGlvbnM6IHN0b3BwaW5nIGF0IHRoaXMgYnJlYWtwb2ludA0KICBb aW5mcnVuXSBicHN0YXRfY2hlY2tfYnJlYWtwb2ludF9jb25kaXRpb25zOiBleGl0DQogIFtpbmZy dW5dIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0OiBCUFNUQVRfV0hBVF9TVE9QX05PSVNZDQogIFtp bmZydW5dIHN0b3Bfd2FpdGluZzogc3RvcF93YWl0aW5nDQpbU3dpdGNoaW5nIHRvIExXUCAyIG9m IHByb2Nlc3MgNzQ1Nl0NCg0KVGhyZWFkIDIgaGl0IEJyZWFrcG9pbnQgMSwgdGhyZWFkX3J1bm5l cl8xIChhcmc9MHg3ZmZmZmZkZmQ2ZTApIGF0IC4vdGxzLXRocmVhZHMuYzoyMg0KMjIgICAgICAg ICAgICAgIGNvdW50ZXIgPSBkYXRhLT50aHJfbnVtOw0KICBbaW5mcnVuXSByZXNldDogcmVhc29u PWhhbmRsaW5nIGV2ZW50DQogIFtpbmZydW5dIG1heWJlX3NldF9jb21taXRfcmVzdW1lZF9hbGxf dGFyZ2V0czogbm90IHJlcXVlc3RpbmcgY29tbWl0LXJlc3VtZWQgZm9yIHRhcmdldCBuYXRpdmUs IG5vIHJlc3VtZWQgdGhyZWFkcw0KW2luZnJ1bl0gZmV0Y2hfaW5mZXJpb3JfZXZlbnQ6IGV4aXQN Cg0KDQoNCj09PSBFTlRFUiAic3RlcCIgY29tbWFuZA0KDQpbaW5mcnVuXSBjbGVhcl9wcm9jZWVk X3N0YXR1c190aHJlYWQ6IDc0NTYuMS4wDQpbaW5mcnVuXSBjbGVhcl9wcm9jZWVkX3N0YXR1c190 aHJlYWQ6IDc0NTYuMi4wDQpbaW5mcnVuXSBjbGVhcl9wcm9jZWVkX3N0YXR1c190aHJlYWQ6IDc0 NTYuMy4wDQpbaW5mcnVuXSBzZXRfc3RlcF9pbmZvOiBzeW10YWIgPSAuL3Rscy10aHJlYWRzLmMs IGxpbmUgPSAyMiwgc3RlcF9mcmFtZV9pZCA9IHtzdGFjaz0weDdmZGZlMDAwMGZkMCxjb2RlPTB4 MDAwMDAwMDAwMDQwMGIxMCwhc3BlY2lhbH0sIHN0ZXBfc3RhY2tfZnJhbWVfaWQgPSB7c3RhY2s9 MHg3ZmRmZTAwMDBmZDAsY29kZT0weDAwMDAwMDAwMDA0MDBiMTAsIXNwZWNpYWx9DQpbaW5mcnVu XSBwcm9jZWVkOiBlbnRlcg0KICBbaW5mcnVuXSBmb2xsb3dfZm9yazogZW50ZXINCiAgW2luZnJ1 bl0gZm9sbG93X2Zvcms6IGV4aXQNCiAgW2luZnJ1bl0gcHJvY2VlZDogY3VyX3RociA9IDc0NTYu Mi4wDQogIFtpbmZydW5dIHByb2NlZWQ6IGFkZHI9MHhmZmZmZmZmZmZmZmZmZmZmLCBzaWduYWw9 R0RCX1NJR05BTF9ERUZBVUxULCByZXN1bWVfcHRpZD0tMS4wLjANCiAgW2luZnJ1bl0gZ2xvYmFs X3RocmVhZF9zdGVwX292ZXJfY2hhaW5fZW5xdWV1ZTogZW5xdWV1ZWluZyB0aHJlYWQgNzQ1Ni4y LjAgaW4gZ2xvYmFsIHN0ZXAgb3ZlciBjaGFpbg0KICBbaW5mcnVuXSBzY29wZWRfZGlzYWJsZV9j b21taXRfcmVzdW1lZDogcmVhc29uPXByb2NlZWRpbmcNCiAgW2luZnJ1bl0gc3RhcnRfc3RlcF9v dmVyOiBlbnRlcg0KICAgIFtpbmZydW5dIHN0YXJ0X3N0ZXBfb3Zlcjogc3RlYWxpbmcgZ2xvYmFs IHF1ZXVlIG9mIHRocmVhZHMgdG8gc3RlcCwgbGVuZ3RoID0gMQ0KICAgIFtpbmZydW5dIHN0YXJ0 X3N0ZXBfb3ZlcjogcmVzdW1pbmcgWzc0NTYuMi4wXSBmb3Igc3RlcC1vdmVyDQogICAgW2luZnJ1 bl0gc2hvdWxkX2JlX2luc2VydGVkOiBza2lwcGluZyBicmVha3BvaW50OiBzdGVwcGluZyBwYXN0 IGluc24gYXQ6IDB4NDAwYjFhDQogICAgW2luZnJ1bl0gc2hvdWxkX2JlX2luc2VydGVkOiBza2lw cGluZyBicmVha3BvaW50OiBzdGVwcGluZyBwYXN0IGluc24gYXQ6IDB4NDAwYjFhDQogICAgW2lu ZnJ1bl0gc2hvdWxkX2JlX2luc2VydGVkOiBza2lwcGluZyBicmVha3BvaW50OiBzdGVwcGluZyBw YXN0IGluc24gYXQ6IDB4NDAwYjFhDQogICAgW2luZnJ1bl0gcmVzdW1lXzE6IHN0ZXA9MSwgc2ln bmFsPUdEQl9TSUdOQUxfMCwgdHJhcF9leHBlY3RlZD0xLCBjdXJyZW50IHRocmVhZCBbNzQ1Ni4y LjBdIGF0IDB4NDAwYjFhDQogICAgW2luZnJ1bl0gZG9fdGFyZ2V0X3Jlc3VtZTogcmVzdW1lX3B0 aWQ9NzQ1Ni4yLjAsIHN0ZXA9MSwgc2lnPUdEQl9TSUdOQUxfMA0KICAgIFtkZmx5LW5hdF0gcmVz dW1lOiBwdGlkPTc0NTYuMi4wIHN0ZXA9MSBzaWduYWw9MA0KICAgIFtkZmx5LW5hdF0gcmVzdW1l OiBwdGlkPTc0NTYuMS4wIHN1c3BlbmRpbmcNCiAgICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03 NDU2LjIuMCByZXN1bWluZyAoc2luZ2xlKQ0KICAgIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPTc0 NTYuMy4wIHN1c3BlbmRpbmcNCiAgICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03NDU2LjIuMCB1 bnN0b3BwZWQNCiAgICBbaW5mcnVuXSBwcmVwYXJlX3RvX3dhaXQ6IHByZXBhcmVfdG9fd2FpdA0K ICAgIFtpbmZydW5dIHN0YXJ0X3N0ZXBfb3ZlcjogWzc0NTYuMi4wXSB3YXMgcmVzdW1lZC4NCiAg ICBbaW5mcnVuXSBvcGVyYXRvcigpOiBzdGVwLW92ZXIgcXVldWUgbm93IGVtcHR5DQogIFtpbmZy dW5dIHN0YXJ0X3N0ZXBfb3ZlcjogZXhpdA0KICBbaW5mcnVuXSByZXNldDogcmVhc29uPXByb2Nl ZWRpbmcNCiAgW2luZnJ1bl0gbWF5YmVfc2V0X2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRzOiBl bmFibGluZyBjb21taXQtcmVzdW1lZCBmb3IgdGFyZ2V0IG5hdGl2ZQ0KICBbaW5mcnVuXSBtYXli ZV9jYWxsX2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRzOiBjYWxsaW5nIGNvbW1pdF9yZXN1bWVk IGZvciB0YXJnZXQgbmF0aXZlDQpbaW5mcnVuXSBwcm9jZWVkOiBleGl0DQpbaW5mcnVuXSBmZXRj aF9pbmZlcmlvcl9ldmVudDogZW50ZXINCiAgW2luZnJ1bl0gc2NvcGVkX2Rpc2FibGVfY29tbWl0 X3Jlc3VtZWQ6IHJlYXNvbj1oYW5kbGluZyBldmVudA0KICBbaW5mcnVuXSByYW5kb21fcGVuZGlu Z19ldmVudF90aHJlYWQ6IE5vbmUgZm91bmQuDQogIFtkZmx5LW5hdF0gd2FpdDogW2luXSBwdGlk ID0gLTEuMC4wDQogIFtkZmx5LW5hdF0gd2FpdDogcmVzdW1lZF9sd3BzIDc0NTYuMi4wDQogIFtk Zmx5LW5hdF0gd2FpdDogUFRfV0FJVCBlcnIgMCBlcnJubyAzNQ0KICBbZGZseS1uYXRdIHdhaXQ6 IGVyciAwIGVycm5vIDM1IGV2ZW50IHN0YXR1cyAyIGx3cGlkIDIgc2lnbmFsIDUNCiAgW2RmbHkt bmF0XSB3YWl0OiBzdG9yZSBsd3A9MiBzaWduYWw9NQ0KICBbZGZseS1uYXRdIHdhaXQ6IGVyciAw IGVycm5vIDM1IGV2ZW50IHN0YXR1cyAwIGx3cGlkIDIgc2lnbmFsIDUNCiAgW2RmbHktbmF0XSB3 YWl0OiBubyBldmVudCwgZXhpdGluZw0KICBbZGZseS1uYXRdIHdhaXQ6IHJldHVybiBsd3A9MiBz aWduYWw9NQ0KICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiB0YXJnZXRfd2Fp dCAoLTEuMC4wIFtMV1AgMSBvZiBwcm9jZXNzIC0xXSwgc3RhdHVzKSA9DQogIFtpbmZydW5dIHBy aW50X3RhcmdldF93YWl0X3Jlc3VsdHM6ICAgNzQ1Ni4yLjAgW0xXUCAyIG9mIHByb2Nlc3MgNzQ1 Nl0sDQogIFtpbmZydW5dIHByaW50X3RhcmdldF93YWl0X3Jlc3VsdHM6ICAgc3RhdHVzLT5raW5k ID0gU1RPUFBFRCwgc2lnID0gR0RCX1NJR05BTF9UUkFQDQogIFtpbmZydW5dIGhhbmRsZV9pbmZl cmlvcl9ldmVudDogc3RhdHVzLT5raW5kID0gU1RPUFBFRCwgc2lnID0gR0RCX1NJR05BTF9UUkFQ DQogIFtpbmZydW5dIGNsZWFyX3N0ZXBfb3Zlcl9pbmZvOiBjbGVhcmluZyBzdGVwIG92ZXIgaW5m bw0KICBbaW5mcnVuXSBjb250ZXh0X3N3aXRjaDogU3dpdGNoaW5nIGNvbnRleHQgZnJvbSAwLjAu MCB0byA3NDU2LjIuMA0KICBbaW5mcnVuXSBoYW5kbGVfc2lnbmFsX3N0b3A6IHN0b3BfcGM9MHg0 MDBiMWQNCiAgW2luZnJ1bl0gcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3Q6IHN0ZXBwaW5nIGluc2lk ZSByYW5nZSBbMHg0MDBiMWEtMHg0MDBiMmRdDQogIFtpbmZydW5dIHJlc3VtZV8xOiBzdGVwPTEs IHNpZ25hbD1HREJfU0lHTkFMXzAsIHRyYXBfZXhwZWN0ZWQ9MCwgY3VycmVudCB0aHJlYWQgWzc0 NTYuMi4wXSBhdCAweDQwMGIxZA0KICBbaW5mcnVuXSBkb190YXJnZXRfcmVzdW1lOiByZXN1bWVf cHRpZD0tMS4wLjAsIHN0ZXA9MSwgc2lnPUdEQl9TSUdOQUxfMA0KICBbZGZseS1uYXRdIHJlc3Vt ZTogcHRpZD0tMS4wLjAgc3RlcD0xIHNpZ25hbD0wDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlk PTc0NTYuMS4wIHJlc3VtaW5nIChhbGwpDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPTc0NTYu Mi4wIHJlc3VtaW5nIChhbGwpDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPTc0NTYuMy4wIHJl c3VtaW5nIChhbGwpDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPTc0NTYuMi4wIHVuc3RvcHBl ZA0KICBbaW5mcnVuXSBwcmVwYXJlX3RvX3dhaXQ6IHByZXBhcmVfdG9fd2FpdA0KICBbaW5mcnVu XSByZXNldDogcmVhc29uPWhhbmRsaW5nIGV2ZW50DQogIFtpbmZydW5dIG1heWJlX3NldF9jb21t aXRfcmVzdW1lZF9hbGxfdGFyZ2V0czogZW5hYmxpbmcgY29tbWl0LXJlc3VtZWQgZm9yIHRhcmdl dCBuYXRpdmUNCiAgW2luZnJ1bl0gbWF5YmVfY2FsbF9jb21taXRfcmVzdW1lZF9hbGxfdGFyZ2V0 czogY2FsbGluZyBjb21taXRfcmVzdW1lZCBmb3IgdGFyZ2V0IG5hdGl2ZQ0KW2luZnJ1bl0gZmV0 Y2hfaW5mZXJpb3JfZXZlbnQ6IGV4aXQNCltpbmZydW5dIGZldGNoX2luZmVyaW9yX2V2ZW50OiBl bnRlcg0KICBbaW5mcnVuXSBzY29wZWRfZGlzYWJsZV9jb21taXRfcmVzdW1lZDogcmVhc29uPWhh bmRsaW5nIGV2ZW50DQogIFtpbmZydW5dIHJhbmRvbV9wZW5kaW5nX2V2ZW50X3RocmVhZDogTm9u ZSBmb3VuZC4NCiAgW2RmbHktbmF0XSB3YWl0OiBbaW5dIHB0aWQgPSAtMS4wLjANCiAgW2RmbHkt bmF0XSB3YWl0OiByZXN1bWVkX2x3cHMgLTEuMC4wDQogIFtkZmx5LW5hdF0gd2FpdDogUFRfV0FJ VCBlcnIgMCBlcnJubyAzNQ0KICBbZGZseS1uYXRdIHdhaXQ6IGVyciAwIGVycm5vIDM1IGV2ZW50 IHN0YXR1cyAyIGx3cGlkIDIgc2lnbmFsIDUNCiAgW2RmbHktbmF0XSB3YWl0OiBzdG9yZSBsd3A9 MiBzaWduYWw9NQ0KICBbZGZseS1uYXRdIHdhaXQ6IGVyciAwIGVycm5vIDM1IGV2ZW50IHN0YXR1 cyAwIGx3cGlkIDIgc2lnbmFsIDUNCiAgW2RmbHktbmF0XSB3YWl0OiBubyBldmVudCwgZXhpdGlu Zw0KICBbZGZseS1uYXRdIHdhaXQ6IHJldHVybiBsd3A9MiBzaWduYWw9NQ0KICBbaW5mcnVuXSBw cmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiB0YXJnZXRfd2FpdCAoLTEuMC4wIFtMV1AgMSBvZiBw cm9jZXNzIC0xXSwgc3RhdHVzKSA9DQogIFtpbmZydW5dIHByaW50X3RhcmdldF93YWl0X3Jlc3Vs dHM6ICAgNzQ1Ni4yLjAgW0xXUCAyIG9mIHByb2Nlc3MgNzQ1Nl0sDQogIFtpbmZydW5dIHByaW50 X3RhcmdldF93YWl0X3Jlc3VsdHM6ICAgc3RhdHVzLT5raW5kID0gU1RPUFBFRCwgc2lnID0gR0RC X1NJR05BTF9UUkFQDQogIFtpbmZydW5dIGhhbmRsZV9pbmZlcmlvcl9ldmVudDogc3RhdHVzLT5r aW5kID0gU1RPUFBFRCwgc2lnID0gR0RCX1NJR05BTF9UUkFQDQogIFtpbmZydW5dIGNvbnRleHRf c3dpdGNoOiBTd2l0Y2hpbmcgY29udGV4dCBmcm9tIDAuMC4wIHRvIDc0NTYuMi4wDQogIFtpbmZy dW5dIGhhbmRsZV9zaWduYWxfc3RvcDogc3RvcF9wYz0weDQwMGIyNg0KICBbaW5mcnVuXSBwcm9j ZXNzX2V2ZW50X3N0b3BfdGVzdDogc3RlcHBpbmcgaW5zaWRlIHJhbmdlIFsweDQwMGIxYS0weDQw MGIyZF0NCiAgW2luZnJ1bl0gcmVzdW1lXzE6IHN0ZXA9MSwgc2lnbmFsPUdEQl9TSUdOQUxfMCwg dHJhcF9leHBlY3RlZD0wLCBjdXJyZW50IHRocmVhZCBbNzQ1Ni4yLjBdIGF0IDB4NDAwYjI2DQog IFtpbmZydW5dIGRvX3RhcmdldF9yZXN1bWU6IHJlc3VtZV9wdGlkPS0xLjAuMCwgc3RlcD0xLCBz aWc9R0RCX1NJR05BTF8wDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPS0xLjAuMCBzdGVwPTEg c2lnbmFsPTANCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4xLjAgcmVzdW1pbmcgKGFs bCkNCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4yLjAgcmVzdW1pbmcgKGFsbCkNCiAg W2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4zLjAgcmVzdW1pbmcgKGFsbCkNCiAgW2RmbHkt bmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4yLjAgdW5zdG9wcGVkDQogIFtpbmZydW5dIHByZXBhcmVf dG9fd2FpdDogcHJlcGFyZV90b193YWl0DQogIFtpbmZydW5dIHJlc2V0OiByZWFzb249aGFuZGxp bmcgZXZlbnQNCiAgW2luZnJ1bl0gbWF5YmVfc2V0X2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRz OiBlbmFibGluZyBjb21taXQtcmVzdW1lZCBmb3IgdGFyZ2V0IG5hdGl2ZQ0KICBbaW5mcnVuXSBt YXliZV9jYWxsX2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRzOiBjYWxsaW5nIGNvbW1pdF9yZXN1 bWVkIGZvciB0YXJnZXQgbmF0aXZlDQpbaW5mcnVuXSBmZXRjaF9pbmZlcmlvcl9ldmVudDogZXhp dA0KW2luZnJ1bl0gZmV0Y2hfaW5mZXJpb3JfZXZlbnQ6IGVudGVyDQogIFtpbmZydW5dIHNjb3Bl ZF9kaXNhYmxlX2NvbW1pdF9yZXN1bWVkOiByZWFzb249aGFuZGxpbmcgZXZlbnQNCiAgW2luZnJ1 bl0gcmFuZG9tX3BlbmRpbmdfZXZlbnRfdGhyZWFkOiBOb25lIGZvdW5kLg0KICBbZGZseS1uYXRd IHdhaXQ6IFtpbl0gcHRpZCA9IC0xLjAuMA0KICBbZGZseS1uYXRdIHdhaXQ6IHJlc3VtZWRfbHdw cyAtMS4wLjANCiAgW2RmbHktbmF0XSB3YWl0OiBQVF9XQUlUIGVyciAwIGVycm5vIDM1DQogIFtk Zmx5LW5hdF0gd2FpdDogZXJyIDAgZXJybm8gMzUgZXZlbnQgc3RhdHVzIDIgbHdwaWQgMyBzaWdu YWwgNQ0KICBbZGZseS1uYXRdIHdhaXQ6IHN0b3JlIGx3cD0zIHNpZ25hbD01DQogIFtkZmx5LW5h dF0gd2FpdDogZXJyIDAgZXJybm8gMzUgZXZlbnQgc3RhdHVzIDAgbHdwaWQgMyBzaWduYWwgNQ0K ICBbZGZseS1uYXRdIHdhaXQ6IG5vIGV2ZW50LCBleGl0aW5nDQogIFtkZmx5LW5hdF0gd2FpdDog cmV0dXJuIGx3cD0zIHNpZ25hbD01DQogIFtpbmZydW5dIHByaW50X3RhcmdldF93YWl0X3Jlc3Vs dHM6IHRhcmdldF93YWl0ICgtMS4wLjAgW0xXUCAxIG9mIHByb2Nlc3MgLTFdLCBzdGF0dXMpID0N CiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czogICA3NDU2LjMuMCBbTFdQIDMg b2YgcHJvY2VzcyA3NDU2XSwNCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czog ICBzdGF0dXMtPmtpbmQgPSBTVE9QUEVELCBzaWcgPSBHREJfU0lHTkFMX1RSQVANCiAgW2luZnJ1 bl0gaGFuZGxlX2luZmVyaW9yX2V2ZW50OiBzdGF0dXMtPmtpbmQgPSBTVE9QUEVELCBzaWcgPSBH REJfU0lHTkFMX1RSQVANCiAgW2luZnJ1bl0gY29udGV4dF9zd2l0Y2g6IFN3aXRjaGluZyBjb250 ZXh0IGZyb20gMC4wLjAgdG8gNzQ1Ni4zLjANCiAgW2luZnJ1bl0gaGFuZGxlX3NpZ25hbF9zdG9w OiBzdG9wX3BjPTB4NDAwYjdhDQogIFtpbmZydW5dIGJwc3RhdF9jaGVja19icmVha3BvaW50X2Nv bmRpdGlvbnM6IGVudGVyDQogICAgW2luZnJ1bl0gYnBzdGF0X2NoZWNrX2JyZWFrcG9pbnRfY29u ZGl0aW9uczogdGhyZWFkID0gNzQ1Ni4zLjAsIGJyZWFrcG9pbnQgMi4xDQogICAgW2luZnJ1bl0g YnBzdGF0X2NoZWNrX2JyZWFrcG9pbnRfY29uZGl0aW9uczogc3RvcHBpbmcgYXQgdGhpcyBicmVh a3BvaW50DQogIFtpbmZydW5dIGJwc3RhdF9jaGVja19icmVha3BvaW50X2NvbmRpdGlvbnM6IGV4 aXQNCiAgW2luZnJ1bl0gcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3Q6IEJQU1RBVF9XSEFUX1NUT1Bf Tk9JU1kNCiAgW2luZnJ1bl0gc3RvcF93YWl0aW5nOiBzdG9wX3dhaXRpbmcNCltTd2l0Y2hpbmcg dG8gTFdQIDMgb2YgcHJvY2VzcyA3NDU2XQ0KDQpUaHJlYWQgMyBoaXQgQnJlYWtwb2ludCAyLCB0 aHJlYWRfcnVubmVyXzIgKGFyZz0weDdmZmZmZmRmZDZmMCkgYXQgLi90bHMtdGhyZWFkcy5jOjM3 DQozNyAgICAgICAgICAgICAgY291bnRlciA9IGRhdGEtPnRocl9udW07DQogIFtpbmZydW5dIHJl c2V0OiByZWFzb249aGFuZGxpbmcgZXZlbnQNCiAgW2luZnJ1bl0gbWF5YmVfc2V0X2NvbW1pdF9y ZXN1bWVkX2FsbF90YXJnZXRzOiBub3QgcmVxdWVzdGluZyBjb21taXQtcmVzdW1lZCBmb3IgdGFy Z2V0IG5hdGl2ZSwgbm8gcmVzdW1lZCB0aHJlYWRzDQpbaW5mcnVuXSBmZXRjaF9pbmZlcmlvcl9l dmVudDogZXhpdA0KDQoNCg0KPT09IEVOVEVSICJzdGVwIiBjb21tYW5kDQoNCltpbmZydW5dIGNs ZWFyX3Byb2NlZWRfc3RhdHVzX3RocmVhZDogNzQ1Ni4xLjANCltpbmZydW5dIGNsZWFyX3Byb2Nl ZWRfc3RhdHVzX3RocmVhZDogNzQ1Ni4yLjANCltpbmZydW5dIGNsZWFyX3Byb2NlZWRfc3RhdHVz X3RocmVhZDogNzQ1Ni4zLjANCltpbmZydW5dIHNldF9zdGVwX2luZm86IHN5bXRhYiA9IC4vdGxz LXRocmVhZHMuYywgbGluZSA9IDM3LCBzdGVwX2ZyYW1lX2lkID0ge3N0YWNrPTB4N2ZkZmUwMjAx ZmQwLGNvZGU9MHgwMDAwMDAwMDAwNDAwYjcwLCFzcGVjaWFsfSwgc3RlcF9zdGFja19mcmFtZV9p ZCA9IHtzdGFjaz0weDdmZGZlMDIwMWZkMCxjb2RlPTB4MDAwMDAwMDAwMDQwMGI3MCwhc3BlY2lh bH0NCltpbmZydW5dIHByb2NlZWQ6IGVudGVyDQogIFtpbmZydW5dIGZvbGxvd19mb3JrOiBlbnRl cg0KICBbaW5mcnVuXSBmb2xsb3dfZm9yazogZXhpdA0KICBbaW5mcnVuXSBwcm9jZWVkOiBjdXJf dGhyID0gNzQ1Ni4zLjANCiAgW2luZnJ1bl0gcHJvY2VlZDogYWRkcj0weGZmZmZmZmZmZmZmZmZm ZmYsIHNpZ25hbD1HREJfU0lHTkFMX0RFRkFVTFQsIHJlc3VtZV9wdGlkPS0xLjAuMA0KICBbaW5m cnVuXSBnbG9iYWxfdGhyZWFkX3N0ZXBfb3Zlcl9jaGFpbl9lbnF1ZXVlOiBlbnF1ZXVlaW5nIHRo cmVhZCA3NDU2LjMuMCBpbiBnbG9iYWwgc3RlcCBvdmVyIGNoYWluDQogIFtpbmZydW5dIHNjb3Bl ZF9kaXNhYmxlX2NvbW1pdF9yZXN1bWVkOiByZWFzb249cHJvY2VlZGluZw0KICBbaW5mcnVuXSBz dGFydF9zdGVwX292ZXI6IGVudGVyDQogICAgW2luZnJ1bl0gc3RhcnRfc3RlcF9vdmVyOiBzdGVh bGluZyBnbG9iYWwgcXVldWUgb2YgdGhyZWFkcyB0byBzdGVwLCBsZW5ndGggPSAxDQogICAgW2lu ZnJ1bl0gc3RhcnRfc3RlcF9vdmVyOiByZXN1bWluZyBbNzQ1Ni4zLjBdIGZvciBzdGVwLW92ZXIN CiAgICBbaW5mcnVuXSBzaG91bGRfYmVfaW5zZXJ0ZWQ6IHNraXBwaW5nIGJyZWFrcG9pbnQ6IHN0 ZXBwaW5nIHBhc3QgaW5zbiBhdDogMHg0MDBiN2ENCiAgICBbaW5mcnVuXSBzaG91bGRfYmVfaW5z ZXJ0ZWQ6IHNraXBwaW5nIGJyZWFrcG9pbnQ6IHN0ZXBwaW5nIHBhc3QgaW5zbiBhdDogMHg0MDBi N2ENCiAgICBbaW5mcnVuXSBzaG91bGRfYmVfaW5zZXJ0ZWQ6IHNraXBwaW5nIGJyZWFrcG9pbnQ6 IHN0ZXBwaW5nIHBhc3QgaW5zbiBhdDogMHg0MDBiN2ENCiAgICBbaW5mcnVuXSByZXN1bWVfMTog c3RlcD0xLCBzaWduYWw9R0RCX1NJR05BTF8wLCB0cmFwX2V4cGVjdGVkPTEsIGN1cnJlbnQgdGhy ZWFkIFs3NDU2LjMuMF0gYXQgMHg0MDBiN2ENCiAgICBbaW5mcnVuXSBkb190YXJnZXRfcmVzdW1l OiByZXN1bWVfcHRpZD03NDU2LjMuMCwgc3RlcD0xLCBzaWc9R0RCX1NJR05BTF8wDQogICAgW2Rm bHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4zLjAgc3RlcD0xIHNpZ25hbD0wDQogICAgW2RmbHkt bmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4xLjAgc3VzcGVuZGluZw0KICAgIFtkZmx5LW5hdF0gcmVz dW1lOiBwdGlkPTc0NTYuMi4wIHN1c3BlbmRpbmcNCiAgICBbZGZseS1uYXRdIHJlc3VtZTogcHRp ZD03NDU2LjMuMCByZXN1bWluZyAoc2luZ2xlKQ0KICAgIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlk PTc0NTYuMy4wIHVuc3RvcHBlZA0KICAgIFtpbmZydW5dIHByZXBhcmVfdG9fd2FpdDogcHJlcGFy ZV90b193YWl0DQogICAgW2luZnJ1bl0gc3RhcnRfc3RlcF9vdmVyOiBbNzQ1Ni4zLjBdIHdhcyBy ZXN1bWVkLg0KICAgIFtpbmZydW5dIG9wZXJhdG9yKCk6IHN0ZXAtb3ZlciBxdWV1ZSBub3cgZW1w dHkNCiAgW2luZnJ1bl0gc3RhcnRfc3RlcF9vdmVyOiBleGl0DQogIFtpbmZydW5dIHJlc2V0OiBy ZWFzb249cHJvY2VlZGluZw0KICBbaW5mcnVuXSBtYXliZV9zZXRfY29tbWl0X3Jlc3VtZWRfYWxs X3RhcmdldHM6IGVuYWJsaW5nIGNvbW1pdC1yZXN1bWVkIGZvciB0YXJnZXQgbmF0aXZlDQogIFtp bmZydW5dIG1heWJlX2NhbGxfY29tbWl0X3Jlc3VtZWRfYWxsX3RhcmdldHM6IGNhbGxpbmcgY29t bWl0X3Jlc3VtZWQgZm9yIHRhcmdldCBuYXRpdmUNCltpbmZydW5dIHByb2NlZWQ6IGV4aXQNCltp bmZydW5dIGZldGNoX2luZmVyaW9yX2V2ZW50OiBlbnRlcg0KICBbaW5mcnVuXSBzY29wZWRfZGlz YWJsZV9jb21taXRfcmVzdW1lZDogcmVhc29uPWhhbmRsaW5nIGV2ZW50DQogIFtpbmZydW5dIHJh bmRvbV9wZW5kaW5nX2V2ZW50X3RocmVhZDogTm9uZSBmb3VuZC4NCiAgW2RmbHktbmF0XSB3YWl0 OiBbaW5dIHB0aWQgPSAtMS4wLjANCiAgW2RmbHktbmF0XSB3YWl0OiByZXN1bWVkX2x3cHMgNzQ1 Ni4zLjANCiAgW2RmbHktbmF0XSB3YWl0OiBQVF9XQUlUIGVyciAwIGVycm5vIDM1DQogIFtkZmx5 LW5hdF0gd2FpdDogZXJyIDAgZXJybm8gMzUgZXZlbnQgc3RhdHVzIDIgbHdwaWQgMyBzaWduYWwg NQ0KICBbZGZseS1uYXRdIHdhaXQ6IHN0b3JlIGx3cD0zIHNpZ25hbD01DQogIFtkZmx5LW5hdF0g d2FpdDogZXJyIDAgZXJybm8gMzUgZXZlbnQgc3RhdHVzIDAgbHdwaWQgMyBzaWduYWwgNQ0KICBb ZGZseS1uYXRdIHdhaXQ6IG5vIGV2ZW50LCBleGl0aW5nDQogIFtkZmx5LW5hdF0gd2FpdDogcmV0 dXJuIGx3cD0zIHNpZ25hbD01DQogIFtpbmZydW5dIHByaW50X3RhcmdldF93YWl0X3Jlc3VsdHM6 IHRhcmdldF93YWl0ICgtMS4wLjAgW0xXUCAxIG9mIHByb2Nlc3MgLTFdLCBzdGF0dXMpID0NCiAg W2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czogICA3NDU2LjMuMCBbTFdQIDMgb2Yg cHJvY2VzcyA3NDU2XSwNCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czogICBz dGF0dXMtPmtpbmQgPSBTVE9QUEVELCBzaWcgPSBHREJfU0lHTkFMX1RSQVANCiAgW2luZnJ1bl0g aGFuZGxlX2luZmVyaW9yX2V2ZW50OiBzdGF0dXMtPmtpbmQgPSBTVE9QUEVELCBzaWcgPSBHREJf U0lHTkFMX1RSQVANCiAgW2luZnJ1bl0gY2xlYXJfc3RlcF9vdmVyX2luZm86IGNsZWFyaW5nIHN0 ZXAgb3ZlciBpbmZvDQogIFtpbmZydW5dIGNvbnRleHRfc3dpdGNoOiBTd2l0Y2hpbmcgY29udGV4 dCBmcm9tIDAuMC4wIHRvIDc0NTYuMy4wDQogIFtpbmZydW5dIGhhbmRsZV9zaWduYWxfc3RvcDog c3RvcF9wYz0weDQwMGI3ZA0KICBbaW5mcnVuXSBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdDogc3Rl cHBpbmcgaW5zaWRlIHJhbmdlIFsweDQwMGI3YS0weDQwMGI4ZF0NCiAgW2luZnJ1bl0gcmVzdW1l XzE6IHN0ZXA9MSwgc2lnbmFsPUdEQl9TSUdOQUxfMCwgdHJhcF9leHBlY3RlZD0wLCBjdXJyZW50 IHRocmVhZCBbNzQ1Ni4zLjBdIGF0IDB4NDAwYjdkDQogIFtpbmZydW5dIGRvX3RhcmdldF9yZXN1 bWU6IHJlc3VtZV9wdGlkPS0xLjAuMCwgc3RlcD0xLCBzaWc9R0RCX1NJR05BTF8wDQogIFtkZmx5 LW5hdF0gcmVzdW1lOiBwdGlkPS0xLjAuMCBzdGVwPTEgc2lnbmFsPTANCiAgW2RmbHktbmF0XSBy ZXN1bWU6IHB0aWQ9NzQ1Ni4xLjAgcmVzdW1pbmcgKGFsbCkNCiAgW2RmbHktbmF0XSByZXN1bWU6 IHB0aWQ9NzQ1Ni4yLjAgcmVzdW1pbmcgKGFsbCkNCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9 NzQ1Ni4zLjAgcmVzdW1pbmcgKGFsbCkNCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4z LjAgdW5zdG9wcGVkDQogIFtpbmZydW5dIHByZXBhcmVfdG9fd2FpdDogcHJlcGFyZV90b193YWl0 DQogIFtpbmZydW5dIHJlc2V0OiByZWFzb249aGFuZGxpbmcgZXZlbnQNCiAgW2luZnJ1bl0gbWF5 YmVfc2V0X2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRzOiBlbmFibGluZyBjb21taXQtcmVzdW1l ZCBmb3IgdGFyZ2V0IG5hdGl2ZQ0KICBbaW5mcnVuXSBtYXliZV9jYWxsX2NvbW1pdF9yZXN1bWVk X2FsbF90YXJnZXRzOiBjYWxsaW5nIGNvbW1pdF9yZXN1bWVkIGZvciB0YXJnZXQgbmF0aXZlDQpb aW5mcnVuXSBmZXRjaF9pbmZlcmlvcl9ldmVudDogZXhpdA0KW2luZnJ1bl0gZmV0Y2hfaW5mZXJp b3JfZXZlbnQ6IGVudGVyDQogIFtpbmZydW5dIHNjb3BlZF9kaXNhYmxlX2NvbW1pdF9yZXN1bWVk OiByZWFzb249aGFuZGxpbmcgZXZlbnQNCiAgW2luZnJ1bl0gcmFuZG9tX3BlbmRpbmdfZXZlbnRf dGhyZWFkOiBOb25lIGZvdW5kLg0KICBbZGZseS1uYXRdIHdhaXQ6IFtpbl0gcHRpZCA9IC0xLjAu MA0KICBbZGZseS1uYXRdIHdhaXQ6IHJlc3VtZWRfbHdwcyAtMS4wLjANCiAgW2RmbHktbmF0XSB3 YWl0OiBQVF9XQUlUIGVyciAwIGVycm5vIDM1DQogIFtkZmx5LW5hdF0gd2FpdDogZXJyIDAgZXJy bm8gMzUgZXZlbnQgc3RhdHVzIDIgbHdwaWQgMyBzaWduYWwgNQ0KICBbZGZseS1uYXRdIHdhaXQ6 IHN0b3JlIGx3cD0zIHNpZ25hbD01DQogIFtkZmx5LW5hdF0gd2FpdDogZXJyIDAgZXJybm8gMzUg ZXZlbnQgc3RhdHVzIDAgbHdwaWQgMyBzaWduYWwgNQ0KICBbZGZseS1uYXRdIHdhaXQ6IG5vIGV2 ZW50LCBleGl0aW5nDQogIFtkZmx5LW5hdF0gd2FpdDogcmV0dXJuIGx3cD0zIHNpZ25hbD01DQog IFtpbmZydW5dIHByaW50X3RhcmdldF93YWl0X3Jlc3VsdHM6IHRhcmdldF93YWl0ICgtMS4wLjAg W0xXUCAxIG9mIHByb2Nlc3MgLTFdLCBzdGF0dXMpID0NCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0 X3dhaXRfcmVzdWx0czogICA3NDU2LjMuMCBbTFdQIDMgb2YgcHJvY2VzcyA3NDU2XSwNCiAgW2lu ZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czogICBzdGF0dXMtPmtpbmQgPSBTVE9QUEVE LCBzaWcgPSBHREJfU0lHTkFMX1RSQVANCiAgW2luZnJ1bl0gaGFuZGxlX2luZmVyaW9yX2V2ZW50 OiBzdGF0dXMtPmtpbmQgPSBTVE9QUEVELCBzaWcgPSBHREJfU0lHTkFMX1RSQVANCiAgW2luZnJ1 bl0gY29udGV4dF9zd2l0Y2g6IFN3aXRjaGluZyBjb250ZXh0IGZyb20gMC4wLjAgdG8gNzQ1Ni4z LjANCiAgW2luZnJ1bl0gaGFuZGxlX3NpZ25hbF9zdG9wOiBzdG9wX3BjPTB4NDAwYjg2DQogIFtp bmZydW5dIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0OiBzdGVwcGluZyBpbnNpZGUgcmFuZ2UgWzB4 NDAwYjdhLTB4NDAwYjhkXQ0KICBbaW5mcnVuXSByZXN1bWVfMTogc3RlcD0xLCBzaWduYWw9R0RC X1NJR05BTF8wLCB0cmFwX2V4cGVjdGVkPTAsIGN1cnJlbnQgdGhyZWFkIFs3NDU2LjMuMF0gYXQg MHg0MDBiODYNCiAgW2luZnJ1bl0gZG9fdGFyZ2V0X3Jlc3VtZTogcmVzdW1lX3B0aWQ9LTEuMC4w LCBzdGVwPTEsIHNpZz1HREJfU0lHTkFMXzANCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9LTEu MC4wIHN0ZXA9MSBzaWduYWw9MA0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03NDU2LjEuMCBy ZXN1bWluZyAoYWxsKQ0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03NDU2LjIuMCByZXN1bWlu ZyAoYWxsKQ0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03NDU2LjMuMCByZXN1bWluZyAoYWxs KQ0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03NDU2LjMuMCB1bnN0b3BwZWQNCiAgW2luZnJ1 bl0gcHJlcGFyZV90b193YWl0OiBwcmVwYXJlX3RvX3dhaXQNCiAgW2luZnJ1bl0gcmVzZXQ6IHJl YXNvbj1oYW5kbGluZyBldmVudA0KICBbaW5mcnVuXSBtYXliZV9zZXRfY29tbWl0X3Jlc3VtZWRf YWxsX3RhcmdldHM6IGVuYWJsaW5nIGNvbW1pdC1yZXN1bWVkIGZvciB0YXJnZXQgbmF0aXZlDQog IFtpbmZydW5dIG1heWJlX2NhbGxfY29tbWl0X3Jlc3VtZWRfYWxsX3RhcmdldHM6IGNhbGxpbmcg Y29tbWl0X3Jlc3VtZWQgZm9yIHRhcmdldCBuYXRpdmUNCltpbmZydW5dIGZldGNoX2luZmVyaW9y X2V2ZW50OiBleGl0DQpbaW5mcnVuXSBmZXRjaF9pbmZlcmlvcl9ldmVudDogZW50ZXINCiAgW2lu ZnJ1bl0gc2NvcGVkX2Rpc2FibGVfY29tbWl0X3Jlc3VtZWQ6IHJlYXNvbj1oYW5kbGluZyBldmVu dA0KICBbaW5mcnVuXSByYW5kb21fcGVuZGluZ19ldmVudF90aHJlYWQ6IE5vbmUgZm91bmQuDQog IFtkZmx5LW5hdF0gd2FpdDogW2luXSBwdGlkID0gLTEuMC4wDQogIFtkZmx5LW5hdF0gd2FpdDog cmVzdW1lZF9sd3BzIC0xLjAuMA0KICBbZGZseS1uYXRdIHdhaXQ6IFBUX1dBSVQgZXJyIDAgZXJy bm8gMzUNCiAgW2RmbHktbmF0XSB3YWl0OiBlcnIgMCBlcnJubyAzNSBldmVudCBzdGF0dXMgMiBs d3BpZCAyIHNpZ25hbCA1DQogIFtkZmx5LW5hdF0gd2FpdDogc3RvcmUgbHdwPTIgc2lnbmFsPTUN CiAgW2RmbHktbmF0XSB3YWl0OiBlcnIgMCBlcnJubyAzNSBldmVudCBzdGF0dXMgMCBsd3BpZCAy IHNpZ25hbCA1DQogIFtkZmx5LW5hdF0gd2FpdDogbm8gZXZlbnQsIGV4aXRpbmcNCiAgW2RmbHkt bmF0XSB3YWl0OiByZXR1cm4gbHdwPTIgc2lnbmFsPTUNCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0 X3dhaXRfcmVzdWx0czogdGFyZ2V0X3dhaXQgKC0xLjAuMCBbTFdQIDEgb2YgcHJvY2VzcyAtMV0s IHN0YXR1cykgPQ0KICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiAgIDc0NTYu Mi4wIFtMV1AgMiBvZiBwcm9jZXNzIDc0NTZdLA0KICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2Fp dF9yZXN1bHRzOiAgIHN0YXR1cy0+a2luZCA9IFNUT1BQRUQsIHNpZyA9IEdEQl9TSUdOQUxfVFJB UA0KICBbaW5mcnVuXSBoYW5kbGVfaW5mZXJpb3JfZXZlbnQ6IHN0YXR1cy0+a2luZCA9IFNUT1BQ RUQsIHNpZyA9IEdEQl9TSUdOQUxfVFJBUA0KICBbaW5mcnVuXSBjb250ZXh0X3N3aXRjaDogU3dp dGNoaW5nIGNvbnRleHQgZnJvbSAwLjAuMCB0byA3NDU2LjIuMA0KICBbaW5mcnVuXSBoYW5kbGVf c2lnbmFsX3N0b3A6IHN0b3BfcGM9MHg0MDBiMmQNCiAgW2luZnJ1bl0gaGFuZGxlX3NpZ25hbF9z dG9wOiByYW5kb20gc2lnbmFsIChHREJfU0lHTkFMX1RSQVApDQogIFtpbmZydW5dIHN0b3Bfd2Fp dGluZzogc3RvcF93YWl0aW5nDQogIFtpbmZydW5dIHByaW50X3NpZ25hbF9yZWNlaXZlZF9yZWFz b246IHNpZ25hbCA9IFRyYWNlL2JyZWFrcG9pbnQgdHJhcA0KDQpUaHJlYWQgMiByZWNlaXZlZCBz aWduYWwgU0lHVFJBUCwgVHJhY2UvYnJlYWtwb2ludCB0cmFwLg0KW1N3aXRjaGluZyB0byBMV1Ag MiBvZiBwcm9jZXNzIDc0NTZdDQp0aHJlYWRfcnVubmVyXzEgKGFyZz0weDdmZmZmZmRmZDZlMCkg YXQgLi90bHMtdGhyZWFkcy5jOjIzDQoyMyAgICAgICAgICAgICAgcHJpbnRmKCJSdW5uaW5nIDEg dGhyZWFkIHRocj0lZCBzbGVlcD0lZCFcbiIsIGRhdGEtPnRocl9udW0sIGRhdGEtPnNsZWVwX21z KTsNCiAgW2luZnJ1bl0gcmVzZXQ6IHJlYXNvbj1oYW5kbGluZyBldmVudA0KICBbaW5mcnVuXSBt YXliZV9zZXRfY29tbWl0X3Jlc3VtZWRfYWxsX3RhcmdldHM6IG5vdCByZXF1ZXN0aW5nIGNvbW1p dC1yZXN1bWVkIGZvciB0YXJnZXQgbmF0aXZlLCBubyByZXN1bWVkIHRocmVhZHMNCltpbmZydW5d IGZldGNoX2luZmVyaW9yX2V2ZW50OiBleGl0DQoNCg0KDQo9PT0gRU5URVIgInN0ZXAiIGNvbW1h bmQNCg0KW2luZnJ1bl0gY2xlYXJfcHJvY2VlZF9zdGF0dXNfdGhyZWFkOiA3NDU2LjEuMA0KW2lu ZnJ1bl0gY2xlYXJfcHJvY2VlZF9zdGF0dXNfdGhyZWFkOiA3NDU2LjIuMA0KW2luZnJ1bl0gY2xl YXJfcHJvY2VlZF9zdGF0dXNfdGhyZWFkOiA3NDU2LjMuMA0KW2luZnJ1bl0gc2V0X3N0ZXBfaW5m bzogc3ltdGFiID0gLi90bHMtdGhyZWFkcy5jLCBsaW5lID0gMjMsIHN0ZXBfZnJhbWVfaWQgPSB7 c3RhY2s9MHg3ZmRmZTAwMDBmZDAsY29kZT0weDAwMDAwMDAwMDA0MDBiMTAsIXNwZWNpYWx9LCBz dGVwX3N0YWNrX2ZyYW1lX2lkID0ge3N0YWNrPTB4N2ZkZmUwMDAwZmQwLGNvZGU9MHgwMDAwMDAw MDAwNDAwYjEwLCFzcGVjaWFsfQ0KW2luZnJ1bl0gcHJvY2VlZDogZW50ZXINCiAgW2luZnJ1bl0g Zm9sbG93X2Zvcms6IGVudGVyDQogIFtpbmZydW5dIGZvbGxvd19mb3JrOiBleGl0DQogIFtpbmZy dW5dIHByb2NlZWQ6IGN1cl90aHIgPSA3NDU2LjIuMA0KICBbaW5mcnVuXSBwcm9jZWVkOiBhZGRy PTB4ZmZmZmZmZmZmZmZmZmZmZiwgc2lnbmFsPUdEQl9TSUdOQUxfREVGQVVMVCwgcmVzdW1lX3B0 aWQ9LTEuMC4wDQogIFtpbmZydW5dIHNjb3BlZF9kaXNhYmxlX2NvbW1pdF9yZXN1bWVkOiByZWFz b249cHJvY2VlZGluZw0KICBbaW5mcnVuXSBzdGFydF9zdGVwX292ZXI6IGVudGVyDQogICAgW2lu ZnJ1bl0gc3RhcnRfc3RlcF9vdmVyOiBzdGVhbGluZyBnbG9iYWwgcXVldWUgb2YgdGhyZWFkcyB0 byBzdGVwLCBsZW5ndGggPSAwDQogICAgW2luZnJ1bl0gb3BlcmF0b3IoKTogc3RlcC1vdmVyIHF1 ZXVlIG5vdyBlbXB0eQ0KICBbaW5mcnVuXSBzdGFydF9zdGVwX292ZXI6IGV4aXQNCiAgW2luZnJ1 bl0gcHJvY2VlZF9yZXN1bWVfdGhyZWFkX2NoZWNrZWQ6IHJlc3VtaW5nIDc0NTYuMi4wDQogIFtp bmZydW5dIHJlc3VtZV8xOiBzdGVwPTEsIHNpZ25hbD1HREJfU0lHTkFMXzAsIHRyYXBfZXhwZWN0 ZWQ9MCwgY3VycmVudCB0aHJlYWQgWzc0NTYuMi4wXSBhdCAweDQwMGIyZA0KICBbaW5mcnVuXSBk b190YXJnZXRfcmVzdW1lOiByZXN1bWVfcHRpZD0tMS4wLjAsIHN0ZXA9MSwgc2lnPUdEQl9TSUdO QUxfMA0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD0tMS4wLjAgc3RlcD0xIHNpZ25hbD0wDQog IFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPTc0NTYuMS4wIHJlc3VtaW5nIChhbGwpDQogIFtkZmx5 LW5hdF0gcmVzdW1lOiBwdGlkPTc0NTYuMi4wIHJlc3VtaW5nIChhbGwpDQogIFtkZmx5LW5hdF0g cmVzdW1lOiBwdGlkPTc0NTYuMy4wIHJlc3VtaW5nIChhbGwpDQogIFtkZmx5LW5hdF0gcmVzdW1l OiBwdGlkPTc0NTYuMi4wIHVuc3RvcHBlZA0KICBbaW5mcnVuXSBwcmVwYXJlX3RvX3dhaXQ6IHBy ZXBhcmVfdG9fd2FpdA0KICBbaW5mcnVuXSByZXNldDogcmVhc29uPXByb2NlZWRpbmcNCiAgW2lu ZnJ1bl0gbWF5YmVfc2V0X2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRzOiBlbmFibGluZyBjb21t aXQtcmVzdW1lZCBmb3IgdGFyZ2V0IG5hdGl2ZQ0KICBbaW5mcnVuXSBtYXliZV9jYWxsX2NvbW1p dF9yZXN1bWVkX2FsbF90YXJnZXRzOiBjYWxsaW5nIGNvbW1pdF9yZXN1bWVkIGZvciB0YXJnZXQg bmF0aXZlDQpbaW5mcnVuXSBwcm9jZWVkOiBleGl0DQpbaW5mcnVuXSBmZXRjaF9pbmZlcmlvcl9l dmVudDogZW50ZXINCiAgW2luZnJ1bl0gc2NvcGVkX2Rpc2FibGVfY29tbWl0X3Jlc3VtZWQ6IHJl YXNvbj1oYW5kbGluZyBldmVudA0KICBbaW5mcnVuXSByYW5kb21fcGVuZGluZ19ldmVudF90aHJl YWQ6IE5vbmUgZm91bmQuDQogIFtkZmx5LW5hdF0gd2FpdDogW2luXSBwdGlkID0gLTEuMC4wDQog IFtkZmx5LW5hdF0gd2FpdDogcmVzdW1lZF9sd3BzIC0xLjAuMA0KICBbZGZseS1uYXRdIHdhaXQ6 IFBUX1dBSVQgZXJyIDAgZXJybm8gMzUNCiAgW2RmbHktbmF0XSB3YWl0OiBlcnIgMCBlcnJubyAz NSBldmVudCBzdGF0dXMgMiBsd3BpZCAzIHNpZ25hbCA1DQogIFtkZmx5LW5hdF0gd2FpdDogc3Rv cmUgbHdwPTMgc2lnbmFsPTUNCiAgW2RmbHktbmF0XSB3YWl0OiBlcnIgMCBlcnJubyAzNSBldmVu dCBzdGF0dXMgMCBsd3BpZCAzIHNpZ25hbCA1DQogIFtkZmx5LW5hdF0gd2FpdDogbm8gZXZlbnQs IGV4aXRpbmcNCiAgW2RmbHktbmF0XSB3YWl0OiByZXR1cm4gbHdwPTMgc2lnbmFsPTUNCiAgW2lu ZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czogdGFyZ2V0X3dhaXQgKC0xLjAuMCBbTFdQ IDEgb2YgcHJvY2VzcyAtMV0sIHN0YXR1cykgPQ0KICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2Fp dF9yZXN1bHRzOiAgIDc0NTYuMy4wIFtMV1AgMyBvZiBwcm9jZXNzIDc0NTZdLA0KICBbaW5mcnVu XSBwcmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiAgIHN0YXR1cy0+a2luZCA9IFNUT1BQRUQsIHNp ZyA9IEdEQl9TSUdOQUxfVFJBUA0KICBbaW5mcnVuXSBoYW5kbGVfaW5mZXJpb3JfZXZlbnQ6IHN0 YXR1cy0+a2luZCA9IFNUT1BQRUQsIHNpZyA9IEdEQl9TSUdOQUxfVFJBUA0KICBbaW5mcnVuXSBj b250ZXh0X3N3aXRjaDogU3dpdGNoaW5nIGNvbnRleHQgZnJvbSAwLjAuMCB0byA3NDU2LjMuMA0K ICBbaW5mcnVuXSBoYW5kbGVfc2lnbmFsX3N0b3A6IHN0b3BfcGM9MHg0MDBiOGQNCiAgW2luZnJ1 bl0gaGFuZGxlX3NpZ25hbF9zdG9wOiByYW5kb20gc2lnbmFsIChHREJfU0lHTkFMX1RSQVApDQog IFtpbmZydW5dIHN0b3Bfd2FpdGluZzogc3RvcF93YWl0aW5nDQogIFtpbmZydW5dIHByaW50X3Np Z25hbF9yZWNlaXZlZF9yZWFzb246IHNpZ25hbCA9IFRyYWNlL2JyZWFrcG9pbnQgdHJhcA0KDQpU aHJlYWQgMyByZWNlaXZlZCBzaWduYWwgU0lHVFJBUCwgVHJhY2UvYnJlYWtwb2ludCB0cmFwLg0K W1N3aXRjaGluZyB0byBMV1AgMyBvZiBwcm9jZXNzIDc0NTZdDQp0aHJlYWRfcnVubmVyXzIgKGFy Zz0weDdmZmZmZmRmZDZmMCkgYXQgLi90bHMtdGhyZWFkcy5jOjM4DQozOCAgICAgICAgICAgICAg cHJpbnRmKCJSdW5uaW5nIGV4dHJhIHRocmVhZCB0aHI9JWQgc2xlZXA9JWQhXG4iLCBkYXRhLT50 aHJfbnVtLCBkYXRhLT5zbGVlcF9tcyk7DQogIFtpbmZydW5dIHJlc2V0OiByZWFzb249aGFuZGxp bmcgZXZlbnQNCiAgW2luZnJ1bl0gbWF5YmVfc2V0X2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRz OiBub3QgcmVxdWVzdGluZyBjb21taXQtcmVzdW1lZCBmb3IgdGFyZ2V0IG5hdGl2ZSwgbm8gcmVz dW1lZCB0aHJlYWRzDQpbaW5mcnVuXSBmZXRjaF9pbmZlcmlvcl9ldmVudDogZXhpdA0KDQoNCg0K PT09IEVOVEVSICJzdGVwIiBjb21tYW5kDQoNCltpbmZydW5dIGNsZWFyX3Byb2NlZWRfc3RhdHVz X3RocmVhZDogNzQ1Ni4xLjANCltpbmZydW5dIGNsZWFyX3Byb2NlZWRfc3RhdHVzX3RocmVhZDog NzQ1Ni4yLjANCltpbmZydW5dIGNsZWFyX3Byb2NlZWRfc3RhdHVzX3RocmVhZDogNzQ1Ni4zLjAN CltpbmZydW5dIHNldF9zdGVwX2luZm86IHN5bXRhYiA9IC4vdGxzLXRocmVhZHMuYywgbGluZSA9 IDM4LCBzdGVwX2ZyYW1lX2lkID0ge3N0YWNrPTB4N2ZkZmUwMjAxZmQwLGNvZGU9MHgwMDAwMDAw MDAwNDAwYjcwLCFzcGVjaWFsfSwgc3RlcF9zdGFja19mcmFtZV9pZCA9IHtzdGFjaz0weDdmZGZl MDIwMWZkMCxjb2RlPTB4MDAwMDAwMDAwMDQwMGI3MCwhc3BlY2lhbH0NCltpbmZydW5dIHByb2Nl ZWQ6IGVudGVyDQogIFtpbmZydW5dIGZvbGxvd19mb3JrOiBlbnRlcg0KICBbaW5mcnVuXSBmb2xs b3dfZm9yazogZXhpdA0KICBbaW5mcnVuXSBwcm9jZWVkOiBjdXJfdGhyID0gNzQ1Ni4zLjANCiAg W2luZnJ1bl0gcHJvY2VlZDogYWRkcj0weGZmZmZmZmZmZmZmZmZmZmYsIHNpZ25hbD1HREJfU0lH TkFMX0RFRkFVTFQsIHJlc3VtZV9wdGlkPS0xLjAuMA0KICBbaW5mcnVuXSBzY29wZWRfZGlzYWJs ZV9jb21taXRfcmVzdW1lZDogcmVhc29uPXByb2NlZWRpbmcNCiAgW2luZnJ1bl0gc3RhcnRfc3Rl cF9vdmVyOiBlbnRlcg0KICAgIFtpbmZydW5dIHN0YXJ0X3N0ZXBfb3Zlcjogc3RlYWxpbmcgZ2xv YmFsIHF1ZXVlIG9mIHRocmVhZHMgdG8gc3RlcCwgbGVuZ3RoID0gMA0KICAgIFtpbmZydW5dIG9w ZXJhdG9yKCk6IHN0ZXAtb3ZlciBxdWV1ZSBub3cgZW1wdHkNCiAgW2luZnJ1bl0gc3RhcnRfc3Rl cF9vdmVyOiBleGl0DQogIFtpbmZydW5dIHByb2NlZWRfcmVzdW1lX3RocmVhZF9jaGVja2VkOiBy ZXN1bWluZyA3NDU2LjMuMA0KICBbaW5mcnVuXSByZXN1bWVfMTogc3RlcD0xLCBzaWduYWw9R0RC X1NJR05BTF8wLCB0cmFwX2V4cGVjdGVkPTAsIGN1cnJlbnQgdGhyZWFkIFs3NDU2LjMuMF0gYXQg MHg0MDBiOGQNCiAgW2luZnJ1bl0gZG9fdGFyZ2V0X3Jlc3VtZTogcmVzdW1lX3B0aWQ9LTEuMC4w LCBzdGVwPTEsIHNpZz1HREJfU0lHTkFMXzANCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9LTEu MC4wIHN0ZXA9MSBzaWduYWw9MA0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03NDU2LjEuMCBy ZXN1bWluZyAoYWxsKQ0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03NDU2LjIuMCByZXN1bWlu ZyAoYWxsKQ0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03NDU2LjMuMCByZXN1bWluZyAoYWxs KQ0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03NDU2LjMuMCB1bnN0b3BwZWQNCiAgW2luZnJ1 bl0gcHJlcGFyZV90b193YWl0OiBwcmVwYXJlX3RvX3dhaXQNCiAgW2luZnJ1bl0gcmVzZXQ6IHJl YXNvbj1wcm9jZWVkaW5nDQogIFtpbmZydW5dIG1heWJlX3NldF9jb21taXRfcmVzdW1lZF9hbGxf dGFyZ2V0czogZW5hYmxpbmcgY29tbWl0LXJlc3VtZWQgZm9yIHRhcmdldCBuYXRpdmUNCiAgW2lu ZnJ1bl0gbWF5YmVfY2FsbF9jb21taXRfcmVzdW1lZF9hbGxfdGFyZ2V0czogY2FsbGluZyBjb21t aXRfcmVzdW1lZCBmb3IgdGFyZ2V0IG5hdGl2ZQ0KW2luZnJ1bl0gcHJvY2VlZDogZXhpdA0KW2lu ZnJ1bl0gZmV0Y2hfaW5mZXJpb3JfZXZlbnQ6IGVudGVyDQogIFtpbmZydW5dIHNjb3BlZF9kaXNh YmxlX2NvbW1pdF9yZXN1bWVkOiByZWFzb249aGFuZGxpbmcgZXZlbnQNCiAgW2luZnJ1bl0gcmFu ZG9tX3BlbmRpbmdfZXZlbnRfdGhyZWFkOiBOb25lIGZvdW5kLg0KICBbZGZseS1uYXRdIHdhaXQ6 IFtpbl0gcHRpZCA9IC0xLjAuMA0KICBbZGZseS1uYXRdIHdhaXQ6IHJlc3VtZWRfbHdwcyAtMS4w LjANCiAgW2RmbHktbmF0XSB3YWl0OiBQVF9XQUlUIGVyciAwIGVycm5vIDM1DQogIFtkZmx5LW5h dF0gd2FpdDogZXJyIDAgZXJybm8gMzUgZXZlbnQgc3RhdHVzIDIgbHdwaWQgMiBzaWduYWwgNQ0K ICBbZGZseS1uYXRdIHdhaXQ6IHN0b3JlIGx3cD0yIHNpZ25hbD01DQogIFtkZmx5LW5hdF0gd2Fp dDogZXJyIDAgZXJybm8gMzUgZXZlbnQgc3RhdHVzIDAgbHdwaWQgMiBzaWduYWwgNQ0KICBbZGZs eS1uYXRdIHdhaXQ6IG5vIGV2ZW50LCBleGl0aW5nDQogIFtkZmx5LW5hdF0gd2FpdDogcmV0dXJu IGx3cD0yIHNpZ25hbD01DQogIFtpbmZydW5dIHByaW50X3RhcmdldF93YWl0X3Jlc3VsdHM6IHRh cmdldF93YWl0ICgtMS4wLjAgW0xXUCAxIG9mIHByb2Nlc3MgLTFdLCBzdGF0dXMpID0NCiAgW2lu ZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czogICA3NDU2LjIuMCBbTFdQIDIgb2YgcHJv Y2VzcyA3NDU2XSwNCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czogICBzdGF0 dXMtPmtpbmQgPSBTVE9QUEVELCBzaWcgPSBHREJfU0lHTkFMX1RSQVANCiAgW2luZnJ1bl0gaGFu ZGxlX2luZmVyaW9yX2V2ZW50OiBzdGF0dXMtPmtpbmQgPSBTVE9QUEVELCBzaWcgPSBHREJfU0lH TkFMX1RSQVANCiAgW2luZnJ1bl0gY29udGV4dF9zd2l0Y2g6IFN3aXRjaGluZyBjb250ZXh0IGZy b20gMC4wLjAgdG8gNzQ1Ni4yLjANCiAgW2luZnJ1bl0gaGFuZGxlX3NpZ25hbF9zdG9wOiBzdG9w X3BjPTB4NDAwYjMwDQogIFtpbmZydW5dIGhhbmRsZV9zaWduYWxfc3RvcDogcmFuZG9tIHNpZ25h bCAoR0RCX1NJR05BTF9UUkFQKQ0KICBbaW5mcnVuXSBzdG9wX3dhaXRpbmc6IHN0b3Bfd2FpdGlu Zw0KICBbaW5mcnVuXSBwcmludF9zaWduYWxfcmVjZWl2ZWRfcmVhc29uOiBzaWduYWwgPSBUcmFj ZS9icmVha3BvaW50IHRyYXANCg0KVGhyZWFkIDIgcmVjZWl2ZWQgc2lnbmFsIFNJR1RSQVAsIFRy YWNlL2JyZWFrcG9pbnQgdHJhcC4NCltTd2l0Y2hpbmcgdG8gTFdQIDIgb2YgcHJvY2VzcyA3NDU2 XQ0KMHgwMDAwMDAwMDAwNDAwYjMwIGluIHRocmVhZF9ydW5uZXJfMSAoYXJnPTB4N2ZmZmZmZGZk NmUwKSBhdCAuL3Rscy10aHJlYWRzLmM6MjMNCjIzICAgICAgICAgICAgICBwcmludGYoIlJ1bm5p bmcgMSB0aHJlYWQgdGhyPSVkIHNsZWVwPSVkIVxuIiwgZGF0YS0+dGhyX251bSwgZGF0YS0+c2xl ZXBfbXMpOw0KICBbaW5mcnVuXSByZXNldDogcmVhc29uPWhhbmRsaW5nIGV2ZW50DQogIFtpbmZy dW5dIG1heWJlX3NldF9jb21taXRfcmVzdW1lZF9hbGxfdGFyZ2V0czogbm90IHJlcXVlc3Rpbmcg Y29tbWl0LXJlc3VtZWQgZm9yIHRhcmdldCBuYXRpdmUsIG5vIHJlc3VtZWQgdGhyZWFkcw0KW2lu ZnJ1bl0gZmV0Y2hfaW5mZXJpb3JfZXZlbnQ6IGV4aXQNCg0KDQoNCj09PSBFTlRFUiAic3RlcCIg Y29tbWFuZA0KDQpbaW5mcnVuXSBjbGVhcl9wcm9jZWVkX3N0YXR1c190aHJlYWQ6IDc0NTYuMS4w DQpbaW5mcnVuXSBjbGVhcl9wcm9jZWVkX3N0YXR1c190aHJlYWQ6IDc0NTYuMi4wDQpbaW5mcnVu XSBjbGVhcl9wcm9jZWVkX3N0YXR1c190aHJlYWQ6IDc0NTYuMy4wDQpbaW5mcnVuXSBzZXRfc3Rl cF9pbmZvOiBzeW10YWIgPSAuL3Rscy10aHJlYWRzLmMsIGxpbmUgPSAyMywgc3RlcF9mcmFtZV9p ZCA9IHtzdGFjaz0weDdmZGZlMDAwMGZkMCxjb2RlPTB4MDAwMDAwMDAwMDQwMGIxMCwhc3BlY2lh bH0sIHN0ZXBfc3RhY2tfZnJhbWVfaWQgPSB7c3RhY2s9MHg3ZmRmZTAwMDBmZDAsY29kZT0weDAw MDAwMDAwMDA0MDBiMTAsIXNwZWNpYWx9DQpbaW5mcnVuXSBwcm9jZWVkOiBlbnRlcg0KICBbaW5m cnVuXSBmb2xsb3dfZm9yazogZW50ZXINCiAgW2luZnJ1bl0gZm9sbG93X2Zvcms6IGV4aXQNCiAg W2luZnJ1bl0gcHJvY2VlZDogY3VyX3RociA9IDc0NTYuMi4wDQogIFtpbmZydW5dIHByb2NlZWQ6 IGFkZHI9MHhmZmZmZmZmZmZmZmZmZmZmLCBzaWduYWw9R0RCX1NJR05BTF9ERUZBVUxULCByZXN1 bWVfcHRpZD0tMS4wLjANCiAgW2luZnJ1bl0gc2NvcGVkX2Rpc2FibGVfY29tbWl0X3Jlc3VtZWQ6 IHJlYXNvbj1wcm9jZWVkaW5nDQogIFtpbmZydW5dIHN0YXJ0X3N0ZXBfb3ZlcjogZW50ZXINCiAg ICBbaW5mcnVuXSBzdGFydF9zdGVwX292ZXI6IHN0ZWFsaW5nIGdsb2JhbCBxdWV1ZSBvZiB0aHJl YWRzIHRvIHN0ZXAsIGxlbmd0aCA9IDANCiAgICBbaW5mcnVuXSBvcGVyYXRvcigpOiBzdGVwLW92 ZXIgcXVldWUgbm93IGVtcHR5DQogIFtpbmZydW5dIHN0YXJ0X3N0ZXBfb3ZlcjogZXhpdA0KICBb aW5mcnVuXSBwcm9jZWVkX3Jlc3VtZV90aHJlYWRfY2hlY2tlZDogcmVzdW1pbmcgNzQ1Ni4yLjAN CiAgW2luZnJ1bl0gcmVzdW1lXzE6IHN0ZXA9MSwgc2lnbmFsPUdEQl9TSUdOQUxfMCwgdHJhcF9l eHBlY3RlZD0wLCBjdXJyZW50IHRocmVhZCBbNzQ1Ni4yLjBdIGF0IDB4NDAwYjMwDQogIFtpbmZy dW5dIGRvX3RhcmdldF9yZXN1bWU6IHJlc3VtZV9wdGlkPS0xLjAuMCwgc3RlcD0xLCBzaWc9R0RC X1NJR05BTF8wDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPS0xLjAuMCBzdGVwPTEgc2lnbmFs PTANCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4xLjAgcmVzdW1pbmcgKGFsbCkNCiAg W2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4yLjAgcmVzdW1pbmcgKGFsbCkNCiAgW2RmbHkt bmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4zLjAgcmVzdW1pbmcgKGFsbCkNCiAgW2RmbHktbmF0XSBy ZXN1bWU6IHB0aWQ9NzQ1Ni4yLjAgdW5zdG9wcGVkDQogIFtpbmZydW5dIHByZXBhcmVfdG9fd2Fp dDogcHJlcGFyZV90b193YWl0DQogIFtpbmZydW5dIHJlc2V0OiByZWFzb249cHJvY2VlZGluZw0K ICBbaW5mcnVuXSBtYXliZV9zZXRfY29tbWl0X3Jlc3VtZWRfYWxsX3RhcmdldHM6IGVuYWJsaW5n IGNvbW1pdC1yZXN1bWVkIGZvciB0YXJnZXQgbmF0aXZlDQogIFtpbmZydW5dIG1heWJlX2NhbGxf Y29tbWl0X3Jlc3VtZWRfYWxsX3RhcmdldHM6IGNhbGxpbmcgY29tbWl0X3Jlc3VtZWQgZm9yIHRh cmdldCBuYXRpdmUNCltpbmZydW5dIHByb2NlZWQ6IGV4aXQNCltpbmZydW5dIGZldGNoX2luZmVy aW9yX2V2ZW50OiBlbnRlcg0KICBbaW5mcnVuXSBzY29wZWRfZGlzYWJsZV9jb21taXRfcmVzdW1l ZDogcmVhc29uPWhhbmRsaW5nIGV2ZW50DQogIFtpbmZydW5dIHJhbmRvbV9wZW5kaW5nX2V2ZW50 X3RocmVhZDogTm9uZSBmb3VuZC4NCiAgW2RmbHktbmF0XSB3YWl0OiBbaW5dIHB0aWQgPSAtMS4w LjANCiAgW2RmbHktbmF0XSB3YWl0OiByZXN1bWVkX2x3cHMgLTEuMC4wDQogIFtkZmx5LW5hdF0g d2FpdDogUFRfV0FJVCBlcnIgMCBlcnJubyAzNQ0KICBbZGZseS1uYXRdIHdhaXQ6IGVyciAwIGVy cm5vIDM1IGV2ZW50IHN0YXR1cyAyIGx3cGlkIDIgc2lnbmFsIDUNCiAgW2RmbHktbmF0XSB3YWl0 OiBzdG9yZSBsd3A9MiBzaWduYWw9NQ0KICBbZGZseS1uYXRdIHdhaXQ6IGVyciAwIGVycm5vIDM1 IGV2ZW50IHN0YXR1cyAwIGx3cGlkIDIgc2lnbmFsIDUNCiAgW2RmbHktbmF0XSB3YWl0OiBubyBl dmVudCwgZXhpdGluZw0KICBbZGZseS1uYXRdIHdhaXQ6IHJldHVybiBsd3A9MiBzaWduYWw9NQ0K ICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiB0YXJnZXRfd2FpdCAoLTEuMC4w IFtMV1AgMSBvZiBwcm9jZXNzIC0xXSwgc3RhdHVzKSA9DQogIFtpbmZydW5dIHByaW50X3Rhcmdl dF93YWl0X3Jlc3VsdHM6ICAgNzQ1Ni4yLjAgW0xXUCAyIG9mIHByb2Nlc3MgNzQ1Nl0sDQogIFtp bmZydW5dIHByaW50X3RhcmdldF93YWl0X3Jlc3VsdHM6ICAgc3RhdHVzLT5raW5kID0gU1RPUFBF RCwgc2lnID0gR0RCX1NJR05BTF9UUkFQDQogIFtpbmZydW5dIGhhbmRsZV9pbmZlcmlvcl9ldmVu dDogc3RhdHVzLT5raW5kID0gU1RPUFBFRCwgc2lnID0gR0RCX1NJR05BTF9UUkFQDQogIFtpbmZy dW5dIGNvbnRleHRfc3dpdGNoOiBTd2l0Y2hpbmcgY29udGV4dCBmcm9tIDAuMC4wIHRvIDc0NTYu Mi4wDQogIFtpbmZydW5dIGhhbmRsZV9zaWduYWxfc3RvcDogc3RvcF9wYz0weDQwMGIzNQ0KICBb aW5mcnVuXSBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdDogc3RlcHBpbmcgaW5zaWRlIHJhbmdlIFsw eDQwMGIzMC0weDQwMGIzY10NCiAgW2luZnJ1bl0gcmVzdW1lXzE6IHN0ZXA9MSwgc2lnbmFsPUdE Ql9TSUdOQUxfMCwgdHJhcF9leHBlY3RlZD0wLCBjdXJyZW50IHRocmVhZCBbNzQ1Ni4yLjBdIGF0 IDB4NDAwYjM1DQogIFtpbmZydW5dIGRvX3RhcmdldF9yZXN1bWU6IHJlc3VtZV9wdGlkPS0xLjAu MCwgc3RlcD0xLCBzaWc9R0RCX1NJR05BTF8wDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPS0x LjAuMCBzdGVwPTEgc2lnbmFsPTANCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4xLjAg cmVzdW1pbmcgKGFsbCkNCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4yLjAgcmVzdW1p bmcgKGFsbCkNCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4zLjAgcmVzdW1pbmcgKGFs bCkNCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4yLjAgdW5zdG9wcGVkDQogIFtpbmZy dW5dIHByZXBhcmVfdG9fd2FpdDogcHJlcGFyZV90b193YWl0DQogIFtpbmZydW5dIHJlc2V0OiBy ZWFzb249aGFuZGxpbmcgZXZlbnQNCiAgW2luZnJ1bl0gbWF5YmVfc2V0X2NvbW1pdF9yZXN1bWVk X2FsbF90YXJnZXRzOiBlbmFibGluZyBjb21taXQtcmVzdW1lZCBmb3IgdGFyZ2V0IG5hdGl2ZQ0K ICBbaW5mcnVuXSBtYXliZV9jYWxsX2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRzOiBjYWxsaW5n IGNvbW1pdF9yZXN1bWVkIGZvciB0YXJnZXQgbmF0aXZlDQpbaW5mcnVuXSBmZXRjaF9pbmZlcmlv cl9ldmVudDogZXhpdA0KW2luZnJ1bl0gZmV0Y2hfaW5mZXJpb3JfZXZlbnQ6IGVudGVyDQogIFtp bmZydW5dIHNjb3BlZF9kaXNhYmxlX2NvbW1pdF9yZXN1bWVkOiByZWFzb249aGFuZGxpbmcgZXZl bnQNCiAgW2luZnJ1bl0gcmFuZG9tX3BlbmRpbmdfZXZlbnRfdGhyZWFkOiBOb25lIGZvdW5kLg0K ICBbZGZseS1uYXRdIHdhaXQ6IFtpbl0gcHRpZCA9IC0xLjAuMA0KICBbZGZseS1uYXRdIHdhaXQ6 IHJlc3VtZWRfbHdwcyAtMS4wLjANCiAgW2RmbHktbmF0XSB3YWl0OiBQVF9XQUlUIGVyciAwIGVy cm5vIDM1DQogIFtkZmx5LW5hdF0gd2FpdDogZXJyIDAgZXJybm8gMzUgZXZlbnQgc3RhdHVzIDIg bHdwaWQgMyBzaWduYWwgNQ0KICBbZGZseS1uYXRdIHdhaXQ6IHN0b3JlIGx3cD0zIHNpZ25hbD01 DQogIFtkZmx5LW5hdF0gd2FpdDogZXJyIDAgZXJybm8gMzUgZXZlbnQgc3RhdHVzIDAgbHdwaWQg MyBzaWduYWwgNQ0KICBbZGZseS1uYXRdIHdhaXQ6IG5vIGV2ZW50LCBleGl0aW5nDQogIFtkZmx5 LW5hdF0gd2FpdDogcmV0dXJuIGx3cD0zIHNpZ25hbD01DQogIFtpbmZydW5dIHByaW50X3Rhcmdl dF93YWl0X3Jlc3VsdHM6IHRhcmdldF93YWl0ICgtMS4wLjAgW0xXUCAxIG9mIHByb2Nlc3MgLTFd LCBzdGF0dXMpID0NCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czogICA3NDU2 LjMuMCBbTFdQIDMgb2YgcHJvY2VzcyA3NDU2XSwNCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dh aXRfcmVzdWx0czogICBzdGF0dXMtPmtpbmQgPSBTVE9QUEVELCBzaWcgPSBHREJfU0lHTkFMX1RS QVANCiAgW2luZnJ1bl0gaGFuZGxlX2luZmVyaW9yX2V2ZW50OiBzdGF0dXMtPmtpbmQgPSBTVE9Q UEVELCBzaWcgPSBHREJfU0lHTkFMX1RSQVANCiAgW2luZnJ1bl0gY29udGV4dF9zd2l0Y2g6IFN3 aXRjaGluZyBjb250ZXh0IGZyb20gMC4wLjAgdG8gNzQ1Ni4zLjANCiAgW2luZnJ1bl0gaGFuZGxl X3NpZ25hbF9zdG9wOiBzdG9wX3BjPTB4NDAwYjkwDQogIFtpbmZydW5dIGhhbmRsZV9zaWduYWxf c3RvcDogcmFuZG9tIHNpZ25hbCAoR0RCX1NJR05BTF9UUkFQKQ0KICBbaW5mcnVuXSBzdG9wX3dh aXRpbmc6IHN0b3Bfd2FpdGluZw0KICBbaW5mcnVuXSBwcmludF9zaWduYWxfcmVjZWl2ZWRfcmVh c29uOiBzaWduYWwgPSBUcmFjZS9icmVha3BvaW50IHRyYXANCg0KVGhyZWFkIDMgcmVjZWl2ZWQg c2lnbmFsIFNJR1RSQVAsIFRyYWNlL2JyZWFrcG9pbnQgdHJhcC4NCltTd2l0Y2hpbmcgdG8gTFdQ IDMgb2YgcHJvY2VzcyA3NDU2XQ0KMHgwMDAwMDAwMDAwNDAwYjkwIGluIHRocmVhZF9ydW5uZXJf MiAoYXJnPTB4N2ZmZmZmZGZkNmYwKSBhdCAuL3Rscy10aHJlYWRzLmM6MzgNCjM4ICAgICAgICAg ICAgICBwcmludGYoIlJ1bm5pbmcgZXh0cmEgdGhyZWFkIHRocj0lZCBzbGVlcD0lZCFcbiIsIGRh dGEtPnRocl9udW0sIGRhdGEtPnNsZWVwX21zKTsNCiAgW2luZnJ1bl0gcmVzZXQ6IHJlYXNvbj1o YW5kbGluZyBldmVudA0KICBbaW5mcnVuXSBtYXliZV9zZXRfY29tbWl0X3Jlc3VtZWRfYWxsX3Rh cmdldHM6IG5vdCByZXF1ZXN0aW5nIGNvbW1pdC1yZXN1bWVkIGZvciB0YXJnZXQgbmF0aXZlLCBu byByZXN1bWVkIHRocmVhZHMNCltpbmZydW5dIGZldGNoX2luZmVyaW9yX2V2ZW50OiBleGl0DQoN Cg0KDQo9PT0gRU5URVIgInN0ZXAiIGNvbW1hbmQNCg0KW2luZnJ1bl0gY2xlYXJfcHJvY2VlZF9z dGF0dXNfdGhyZWFkOiA3NDU2LjEuMA0KW2luZnJ1bl0gY2xlYXJfcHJvY2VlZF9zdGF0dXNfdGhy ZWFkOiA3NDU2LjIuMA0KW2luZnJ1bl0gY2xlYXJfcHJvY2VlZF9zdGF0dXNfdGhyZWFkOiA3NDU2 LjMuMA0KW2luZnJ1bl0gc2V0X3N0ZXBfaW5mbzogc3ltdGFiID0gLi90bHMtdGhyZWFkcy5jLCBs aW5lID0gMzgsIHN0ZXBfZnJhbWVfaWQgPSB7c3RhY2s9MHg3ZmRmZTAyMDFmZDAsY29kZT0weDAw MDAwMDAwMDA0MDBiNzAsIXNwZWNpYWx9LCBzdGVwX3N0YWNrX2ZyYW1lX2lkID0ge3N0YWNrPTB4 N2ZkZmUwMjAxZmQwLGNvZGU9MHgwMDAwMDAwMDAwNDAwYjcwLCFzcGVjaWFsfQ0KW2luZnJ1bl0g cHJvY2VlZDogZW50ZXINCiAgW2luZnJ1bl0gZm9sbG93X2Zvcms6IGVudGVyDQogIFtpbmZydW5d IGZvbGxvd19mb3JrOiBleGl0DQogIFtpbmZydW5dIHByb2NlZWQ6IGN1cl90aHIgPSA3NDU2LjMu MA0KICBbaW5mcnVuXSBwcm9jZWVkOiBhZGRyPTB4ZmZmZmZmZmZmZmZmZmZmZiwgc2lnbmFsPUdE Ql9TSUdOQUxfREVGQVVMVCwgcmVzdW1lX3B0aWQ9LTEuMC4wDQogIFtpbmZydW5dIHNjb3BlZF9k aXNhYmxlX2NvbW1pdF9yZXN1bWVkOiByZWFzb249cHJvY2VlZGluZw0KICBbaW5mcnVuXSBzdGFy dF9zdGVwX292ZXI6IGVudGVyDQogICAgW2luZnJ1bl0gc3RhcnRfc3RlcF9vdmVyOiBzdGVhbGlu ZyBnbG9iYWwgcXVldWUgb2YgdGhyZWFkcyB0byBzdGVwLCBsZW5ndGggPSAwDQogICAgW2luZnJ1 bl0gb3BlcmF0b3IoKTogc3RlcC1vdmVyIHF1ZXVlIG5vdyBlbXB0eQ0KICBbaW5mcnVuXSBzdGFy dF9zdGVwX292ZXI6IGV4aXQNCiAgW2luZnJ1bl0gcHJvY2VlZF9yZXN1bWVfdGhyZWFkX2NoZWNr ZWQ6IHJlc3VtaW5nIDc0NTYuMy4wDQogIFtpbmZydW5dIHJlc3VtZV8xOiBzdGVwPTEsIHNpZ25h bD1HREJfU0lHTkFMXzAsIHRyYXBfZXhwZWN0ZWQ9MCwgY3VycmVudCB0aHJlYWQgWzc0NTYuMy4w XSBhdCAweDQwMGI5MA0KICBbaW5mcnVuXSBkb190YXJnZXRfcmVzdW1lOiByZXN1bWVfcHRpZD0t MS4wLjAsIHN0ZXA9MSwgc2lnPUdEQl9TSUdOQUxfMA0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRp ZD0tMS4wLjAgc3RlcD0xIHNpZ25hbD0wDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPTc0NTYu MS4wIHJlc3VtaW5nIChhbGwpDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPTc0NTYuMi4wIHJl c3VtaW5nIChhbGwpDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPTc0NTYuMy4wIHJlc3VtaW5n IChhbGwpDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPTc0NTYuMy4wIHVuc3RvcHBlZA0KICBb aW5mcnVuXSBwcmVwYXJlX3RvX3dhaXQ6IHByZXBhcmVfdG9fd2FpdA0KICBbaW5mcnVuXSByZXNl dDogcmVhc29uPXByb2NlZWRpbmcNCiAgW2luZnJ1bl0gbWF5YmVfc2V0X2NvbW1pdF9yZXN1bWVk X2FsbF90YXJnZXRzOiBlbmFibGluZyBjb21taXQtcmVzdW1lZCBmb3IgdGFyZ2V0IG5hdGl2ZQ0K ICBbaW5mcnVuXSBtYXliZV9jYWxsX2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRzOiBjYWxsaW5n IGNvbW1pdF9yZXN1bWVkIGZvciB0YXJnZXQgbmF0aXZlDQpbaW5mcnVuXSBwcm9jZWVkOiBleGl0 DQpbaW5mcnVuXSBmZXRjaF9pbmZlcmlvcl9ldmVudDogZW50ZXINCiAgW2luZnJ1bl0gc2NvcGVk X2Rpc2FibGVfY29tbWl0X3Jlc3VtZWQ6IHJlYXNvbj1oYW5kbGluZyBldmVudA0KICBbaW5mcnVu XSByYW5kb21fcGVuZGluZ19ldmVudF90aHJlYWQ6IE5vbmUgZm91bmQuDQogIFtkZmx5LW5hdF0g d2FpdDogW2luXSBwdGlkID0gLTEuMC4wDQogIFtkZmx5LW5hdF0gd2FpdDogcmVzdW1lZF9sd3Bz IC0xLjAuMA0KICBbZGZseS1uYXRdIHdhaXQ6IFBUX1dBSVQgZXJyIDAgZXJybm8gMzUNCiAgW2Rm bHktbmF0XSB3YWl0OiBlcnIgMCBlcnJubyAzNSBldmVudCBzdGF0dXMgMiBsd3BpZCAzIHNpZ25h bCA1DQogIFtkZmx5LW5hdF0gd2FpdDogc3RvcmUgbHdwPTMgc2lnbmFsPTUNCiAgW2RmbHktbmF0 XSB3YWl0OiBlcnIgMCBlcnJubyAzNSBldmVudCBzdGF0dXMgMCBsd3BpZCAzIHNpZ25hbCA1DQog IFtkZmx5LW5hdF0gd2FpdDogbm8gZXZlbnQsIGV4aXRpbmcNCiAgW2RmbHktbmF0XSB3YWl0OiBy ZXR1cm4gbHdwPTMgc2lnbmFsPTUNCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0 czogdGFyZ2V0X3dhaXQgKC0xLjAuMCBbTFdQIDEgb2YgcHJvY2VzcyAtMV0sIHN0YXR1cykgPQ0K ICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiAgIDc0NTYuMy4wIFtMV1AgMyBv ZiBwcm9jZXNzIDc0NTZdLA0KICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiAg IHN0YXR1cy0+a2luZCA9IFNUT1BQRUQsIHNpZyA9IEdEQl9TSUdOQUxfVFJBUA0KICBbaW5mcnVu XSBoYW5kbGVfaW5mZXJpb3JfZXZlbnQ6IHN0YXR1cy0+a2luZCA9IFNUT1BQRUQsIHNpZyA9IEdE Ql9TSUdOQUxfVFJBUA0KICBbaW5mcnVuXSBjb250ZXh0X3N3aXRjaDogU3dpdGNoaW5nIGNvbnRl eHQgZnJvbSAwLjAuMCB0byA3NDU2LjMuMA0KICBbaW5mcnVuXSBoYW5kbGVfc2lnbmFsX3N0b3A6 IHN0b3BfcGM9MHg0MDBiOTUNCiAgW2luZnJ1bl0gcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3Q6IHN0 ZXBwaW5nIGluc2lkZSByYW5nZSBbMHg0MDBiOTAtMHg0MDBiOWNdDQogIFtpbmZydW5dIHJlc3Vt ZV8xOiBzdGVwPTEsIHNpZ25hbD1HREJfU0lHTkFMXzAsIHRyYXBfZXhwZWN0ZWQ9MCwgY3VycmVu dCB0aHJlYWQgWzc0NTYuMy4wXSBhdCAweDQwMGI5NQ0KICBbaW5mcnVuXSBkb190YXJnZXRfcmVz dW1lOiByZXN1bWVfcHRpZD0tMS4wLjAsIHN0ZXA9MSwgc2lnPUdEQl9TSUdOQUxfMA0KICBbZGZs eS1uYXRdIHJlc3VtZTogcHRpZD0tMS4wLjAgc3RlcD0xIHNpZ25hbD0wDQogIFtkZmx5LW5hdF0g cmVzdW1lOiBwdGlkPTc0NTYuMS4wIHJlc3VtaW5nIChhbGwpDQogIFtkZmx5LW5hdF0gcmVzdW1l OiBwdGlkPTc0NTYuMi4wIHJlc3VtaW5nIChhbGwpDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlk PTc0NTYuMy4wIHJlc3VtaW5nIChhbGwpDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPTc0NTYu My4wIHVuc3RvcHBlZA0KICBbaW5mcnVuXSBwcmVwYXJlX3RvX3dhaXQ6IHByZXBhcmVfdG9fd2Fp dA0KICBbaW5mcnVuXSByZXNldDogcmVhc29uPWhhbmRsaW5nIGV2ZW50DQogIFtpbmZydW5dIG1h eWJlX3NldF9jb21taXRfcmVzdW1lZF9hbGxfdGFyZ2V0czogZW5hYmxpbmcgY29tbWl0LXJlc3Vt ZWQgZm9yIHRhcmdldCBuYXRpdmUNCiAgW2luZnJ1bl0gbWF5YmVfY2FsbF9jb21taXRfcmVzdW1l ZF9hbGxfdGFyZ2V0czogY2FsbGluZyBjb21taXRfcmVzdW1lZCBmb3IgdGFyZ2V0IG5hdGl2ZQ0K W2luZnJ1bl0gZmV0Y2hfaW5mZXJpb3JfZXZlbnQ6IGV4aXQNCltpbmZydW5dIGZldGNoX2luZmVy aW9yX2V2ZW50OiBlbnRlcg0KICBbaW5mcnVuXSBzY29wZWRfZGlzYWJsZV9jb21taXRfcmVzdW1l ZDogcmVhc29uPWhhbmRsaW5nIGV2ZW50DQogIFtpbmZydW5dIHJhbmRvbV9wZW5kaW5nX2V2ZW50 X3RocmVhZDogTm9uZSBmb3VuZC4NCiAgW2RmbHktbmF0XSB3YWl0OiBbaW5dIHB0aWQgPSAtMS4w LjANCiAgW2RmbHktbmF0XSB3YWl0OiByZXN1bWVkX2x3cHMgLTEuMC4wDQogIFtkZmx5LW5hdF0g d2FpdDogUFRfV0FJVCBlcnIgMCBlcnJubyAzNQ0KICBbZGZseS1uYXRdIHdhaXQ6IGVyciAwIGVy cm5vIDM1IGV2ZW50IHN0YXR1cyAyIGx3cGlkIDMgc2lnbmFsIDUNCiAgW2RmbHktbmF0XSB3YWl0 OiBzdG9yZSBsd3A9MyBzaWduYWw9NQ0KICBbZGZseS1uYXRdIHdhaXQ6IGVyciAwIGVycm5vIDM1 IGV2ZW50IHN0YXR1cyAwIGx3cGlkIDMgc2lnbmFsIDUNCiAgW2RmbHktbmF0XSB3YWl0OiBubyBl dmVudCwgZXhpdGluZw0KICBbZGZseS1uYXRdIHdhaXQ6IHJldHVybiBsd3A9MyBzaWduYWw9NQ0K ICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiB0YXJnZXRfd2FpdCAoLTEuMC4w IFtMV1AgMSBvZiBwcm9jZXNzIC0xXSwgc3RhdHVzKSA9DQogIFtpbmZydW5dIHByaW50X3Rhcmdl dF93YWl0X3Jlc3VsdHM6ICAgNzQ1Ni4zLjAgW0xXUCAzIG9mIHByb2Nlc3MgNzQ1Nl0sDQogIFtp bmZydW5dIHByaW50X3RhcmdldF93YWl0X3Jlc3VsdHM6ICAgc3RhdHVzLT5raW5kID0gU1RPUFBF RCwgc2lnID0gR0RCX1NJR05BTF9UUkFQDQogIFtpbmZydW5dIGhhbmRsZV9pbmZlcmlvcl9ldmVu dDogc3RhdHVzLT5raW5kID0gU1RPUFBFRCwgc2lnID0gR0RCX1NJR05BTF9UUkFQDQogIFtpbmZy dW5dIGNvbnRleHRfc3dpdGNoOiBTd2l0Y2hpbmcgY29udGV4dCBmcm9tIDAuMC4wIHRvIDc0NTYu My4wDQogIFtpbmZydW5dIGhhbmRsZV9zaWduYWxfc3RvcDogc3RvcF9wYz0weDQwMGI5Nw0KICBb aW5mcnVuXSBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdDogc3RlcHBpbmcgaW5zaWRlIHJhbmdlIFsw eDQwMGI5MC0weDQwMGI5Y10NCiAgW2luZnJ1bl0gcmVzdW1lXzE6IHN0ZXA9MSwgc2lnbmFsPUdE Ql9TSUdOQUxfMCwgdHJhcF9leHBlY3RlZD0wLCBjdXJyZW50IHRocmVhZCBbNzQ1Ni4zLjBdIGF0 IDB4NDAwYjk3DQogIFtpbmZydW5dIGRvX3RhcmdldF9yZXN1bWU6IHJlc3VtZV9wdGlkPS0xLjAu MCwgc3RlcD0xLCBzaWc9R0RCX1NJR05BTF8wDQogIFtkZmx5LW5hdF0gcmVzdW1lOiBwdGlkPS0x LjAuMCBzdGVwPTEgc2lnbmFsPTANCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4xLjAg cmVzdW1pbmcgKGFsbCkNCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4yLjAgcmVzdW1p bmcgKGFsbCkNCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4zLjAgcmVzdW1pbmcgKGFs bCkNCiAgW2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9NzQ1Ni4zLjAgdW5zdG9wcGVkDQogIFtpbmZy dW5dIHByZXBhcmVfdG9fd2FpdDogcHJlcGFyZV90b193YWl0DQogIFtpbmZydW5dIHJlc2V0OiBy ZWFzb249aGFuZGxpbmcgZXZlbnQNCiAgW2luZnJ1bl0gbWF5YmVfc2V0X2NvbW1pdF9yZXN1bWVk X2FsbF90YXJnZXRzOiBlbmFibGluZyBjb21taXQtcmVzdW1lZCBmb3IgdGFyZ2V0IG5hdGl2ZQ0K ICBbaW5mcnVuXSBtYXliZV9jYWxsX2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRzOiBjYWxsaW5n IGNvbW1pdF9yZXN1bWVkIGZvciB0YXJnZXQgbmF0aXZlDQpbaW5mcnVuXSBmZXRjaF9pbmZlcmlv cl9ldmVudDogZXhpdA0KW2luZnJ1bl0gZmV0Y2hfaW5mZXJpb3JfZXZlbnQ6IGVudGVyDQogIFtp bmZydW5dIHNjb3BlZF9kaXNhYmxlX2NvbW1pdF9yZXN1bWVkOiByZWFzb249aGFuZGxpbmcgZXZl bnQNCiAgW2luZnJ1bl0gcmFuZG9tX3BlbmRpbmdfZXZlbnRfdGhyZWFkOiBOb25lIGZvdW5kLg0K ICBbZGZseS1uYXRdIHdhaXQ6IFtpbl0gcHRpZCA9IC0xLjAuMA0KICBbZGZseS1uYXRdIHdhaXQ6 IHJlc3VtZWRfbHdwcyAtMS4wLjANCiAgW2RmbHktbmF0XSB3YWl0OiBQVF9XQUlUIGVyciAwIGVy cm5vIDM1DQogIFtkZmx5LW5hdF0gd2FpdDogZXJyIDAgZXJybm8gMzUgZXZlbnQgc3RhdHVzIDIg bHdwaWQgMyBzaWduYWwgNQ0KICBbZGZseS1uYXRdIHdhaXQ6IHN0b3JlIGx3cD0zIHNpZ25hbD01 DQogIFtkZmx5LW5hdF0gd2FpdDogZXJyIDAgZXJybm8gMzUgZXZlbnQgc3RhdHVzIDAgbHdwaWQg MyBzaWduYWwgNQ0KICBbZGZseS1uYXRdIHdhaXQ6IG5vIGV2ZW50LCBleGl0aW5nDQogIFtkZmx5 LW5hdF0gd2FpdDogcmV0dXJuIGx3cD0zIHNpZ25hbD01DQogIFtpbmZydW5dIHByaW50X3Rhcmdl dF93YWl0X3Jlc3VsdHM6IHRhcmdldF93YWl0ICgtMS4wLjAgW0xXUCAxIG9mIHByb2Nlc3MgLTFd LCBzdGF0dXMpID0NCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czogICA3NDU2 LjMuMCBbTFdQIDMgb2YgcHJvY2VzcyA3NDU2XSwNCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dh aXRfcmVzdWx0czogICBzdGF0dXMtPmtpbmQgPSBTVE9QUEVELCBzaWcgPSBHREJfU0lHTkFMX1RS QVANCiAgW2luZnJ1bl0gaGFuZGxlX2luZmVyaW9yX2V2ZW50OiBzdGF0dXMtPmtpbmQgPSBTVE9Q UEVELCBzaWcgPSBHREJfU0lHTkFMX1RSQVANCiAgW2luZnJ1bl0gY29udGV4dF9zd2l0Y2g6IFN3 aXRjaGluZyBjb250ZXh0IGZyb20gMC4wLjAgdG8gNzQ1Ni4zLjANCiAgW2luZnJ1bl0gaGFuZGxl X3NpZ25hbF9zdG9wOiBzdG9wX3BjPTB4NDAwN2YwDQogIFtpbmZydW5dIHByb2Nlc3NfZXZlbnRf c3RvcF90ZXN0OiBzdGVwcGVkIGludG8gZHluc3ltIHJlc29sdmUgY29kZQ0KICBbaW5mcnVuXSBy ZXN1bWVfMTogc3RlcD0xLCBzaWduYWw9R0RCX1NJR05BTF8wLCB0cmFwX2V4cGVjdGVkPTAsIGN1 cnJlbnQgdGhyZWFkIFs3NDU2LjMuMF0gYXQgMHg0MDA3ZjANCiAgW2luZnJ1bl0gZG9fdGFyZ2V0 X3Jlc3VtZTogcmVzdW1lX3B0aWQ9LTEuMC4wLCBzdGVwPTEsIHNpZz1HREJfU0lHTkFMXzANCiAg W2RmbHktbmF0XSByZXN1bWU6IHB0aWQ9LTEuMC4wIHN0ZXA9MSBzaWduYWw9MA0KICBbZGZseS1u YXRdIHJlc3VtZTogcHRpZD03NDU2LjEuMCByZXN1bWluZyAoYWxsKQ0KICBbZGZseS1uYXRdIHJl c3VtZTogcHRpZD03NDU2LjIuMCByZXN1bWluZyAoYWxsKQ0KICBbZGZseS1uYXRdIHJlc3VtZTog cHRpZD03NDU2LjMuMCByZXN1bWluZyAoYWxsKQ0KICBbZGZseS1uYXRdIHJlc3VtZTogcHRpZD03 NDU2LjMuMCB1bnN0b3BwZWQNCiAgW2luZnJ1bl0gcHJlcGFyZV90b193YWl0OiBwcmVwYXJlX3Rv X3dhaXQNCiAgW2luZnJ1bl0gcmVzZXQ6IHJlYXNvbj1oYW5kbGluZyBldmVudA0KICBbaW5mcnVu XSBtYXliZV9zZXRfY29tbWl0X3Jlc3VtZWRfYWxsX3RhcmdldHM6IGVuYWJsaW5nIGNvbW1pdC1y ZXN1bWVkIGZvciB0YXJnZXQgbmF0aXZlDQogIFtpbmZydW5dIG1heWJlX2NhbGxfY29tbWl0X3Jl c3VtZWRfYWxsX3RhcmdldHM6IGNhbGxpbmcgY29tbWl0X3Jlc3VtZWQgZm9yIHRhcmdldCBuYXRp dmUNCltpbmZydW5dIGZldGNoX2luZmVyaW9yX2V2ZW50OiBleGl0DQpbaW5mcnVuXSBmZXRjaF9p bmZlcmlvcl9ldmVudDogZW50ZXINCiAgW2luZnJ1bl0gc2NvcGVkX2Rpc2FibGVfY29tbWl0X3Jl c3VtZWQ6IHJlYXNvbj1oYW5kbGluZyBldmVudA0KICBbaW5mcnVuXSByYW5kb21fcGVuZGluZ19l dmVudF90aHJlYWQ6IE5vbmUgZm91bmQuDQogIFtkZmx5LW5hdF0gd2FpdDogW2luXSBwdGlkID0g LTEuMC4wDQogIFtkZmx5LW5hdF0gd2FpdDogcmVzdW1lZF9sd3BzIC0xLjAuMA0KICBbZGZseS1u YXRdIHdhaXQ6IFBUX1dBSVQgZXJyIDAgZXJybm8gMzUNCiAgW2RmbHktbmF0XSB3YWl0OiBlcnIg MCBlcnJubyAzNSBldmVudCBzdGF0dXMgMiBsd3BpZCAyIHNpZ25hbCA1DQogIFtkZmx5LW5hdF0g d2FpdDogc3RvcmUgbHdwPTIgc2lnbmFsPTUNCiAgW2RmbHktbmF0XSB3YWl0OiBlcnIgMCBlcnJu byAzNSBldmVudCBzdGF0dXMgMCBsd3BpZCAyIHNpZ25hbCA1DQogIFtkZmx5LW5hdF0gd2FpdDog bm8gZXZlbnQsIGV4aXRpbmcNCiAgW2RmbHktbmF0XSB3YWl0OiByZXR1cm4gbHdwPTIgc2lnbmFs PTUNCiAgW2luZnJ1bl0gcHJpbnRfdGFyZ2V0X3dhaXRfcmVzdWx0czogdGFyZ2V0X3dhaXQgKC0x LjAuMCBbTFdQIDEgb2YgcHJvY2VzcyAtMV0sIHN0YXR1cykgPQ0KICBbaW5mcnVuXSBwcmludF90 YXJnZXRfd2FpdF9yZXN1bHRzOiAgIDc0NTYuMi4wIFtMV1AgMiBvZiBwcm9jZXNzIDc0NTZdLA0K ICBbaW5mcnVuXSBwcmludF90YXJnZXRfd2FpdF9yZXN1bHRzOiAgIHN0YXR1cy0+a2luZCA9IFNU T1BQRUQsIHNpZyA9IEdEQl9TSUdOQUxfVFJBUA0KICBbaW5mcnVuXSBoYW5kbGVfaW5mZXJpb3Jf ZXZlbnQ6IHN0YXR1cy0+a2luZCA9IFNUT1BQRUQsIHNpZyA9IEdEQl9TSUdOQUxfVFJBUA0KICBb aW5mcnVuXSBjb250ZXh0X3N3aXRjaDogU3dpdGNoaW5nIGNvbnRleHQgZnJvbSAwLjAuMCB0byA3 NDU2LjIuMA0KICBbaW5mcnVuXSBoYW5kbGVfc2lnbmFsX3N0b3A6IHN0b3BfcGM9MHg0MDBiMzcN CiAgW2luZnJ1bl0gaGFuZGxlX3NpZ25hbF9zdG9wOiByYW5kb20gc2lnbmFsIChHREJfU0lHTkFM X1RSQVApDQogIFtpbmZydW5dIHN0b3Bfd2FpdGluZzogc3RvcF93YWl0aW5nDQogIFtpbmZydW5d IHByaW50X3NpZ25hbF9yZWNlaXZlZF9yZWFzb246IHNpZ25hbCA9IFRyYWNlL2JyZWFrcG9pbnQg dHJhcA0KDQpUaHJlYWQgMiByZWNlaXZlZCBzaWduYWwgU0lHVFJBUCwgVHJhY2UvYnJlYWtwb2lu dCB0cmFwLg0KW1N3aXRjaGluZyB0byBMV1AgMiBvZiBwcm9jZXNzIDc0NTZdDQoweDAwMDAwMDAw MDA0MDBiMzcgaW4gdGhyZWFkX3J1bm5lcl8xIChhcmc9MHg3ZmZmZmZkZmQ2ZTApIGF0IC4vdGxz LXRocmVhZHMuYzoyMw0KMjMgICAgICAgICAgICAgIHByaW50ZigiUnVubmluZyAxIHRocmVhZCB0 aHI9JWQgc2xlZXA9JWQhXG4iLCBkYXRhLT50aHJfbnVtLCBkYXRhLT5zbGVlcF9tcyk7DQogIFtp bmZydW5dIHJlc2V0OiByZWFzb249aGFuZGxpbmcgZXZlbnQNCiAgW2luZnJ1bl0gbWF5YmVfc2V0 X2NvbW1pdF9yZXN1bWVkX2FsbF90YXJnZXRzOiBub3QgcmVxdWVzdGluZyBjb21taXQtcmVzdW1l ZCBmb3IgdGFyZ2V0IG5hdGl2ZSwgbm8gcmVzdW1lZCB0aHJlYWRzDQpbaW5mcnVuXSBmZXRjaF9p bmZlcmlvcl9ldmVudDogZXhpdA0K --------------ifFmXRFNIn0Vx4hsFzkIfTXL--