From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vk1-xa30.google.com (mail-vk1-xa30.google.com [IPv6:2607:f8b0:4864:20::a30]) by sourceware.org (Postfix) with ESMTPS id 2000E3858D32; Fri, 3 Nov 2023 17:47:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2000E3858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 2000E3858D32 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::a30 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699033659; cv=none; b=DlXs4STlP7I4mCavAZz8l0nBVd4xpDkVUaDyWvGbCDH6i18xC8yNc85pmZvN+vl4o/ByLNqgMqBOF07tRqkH48VPOYrtAFGORb+TJbG3ZtV8KSLIT7vfxo2NyzZoCqP6AdcezO4dbaG5H9uC7PKwGegaRD2G4uVPSCMTdDj/2Aw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699033659; c=relaxed/simple; bh=7OlCFoN4u2ZTozdp1gjXmF1SWVHO/wBPyUfZWvmIYf8=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=at/tbU6hQTa95zi30dWCulQ7Bx+kMvLdZzO+SrBcQrkBGKwe8NMzhlvDtWaKZrgRtB4OVYJJ48DPiyPI0tQnRVXXEuu4GvEkIcZAmsHZkIV6dDglQLCS63DxPXssab0CBmmH+P9Mqhnf2V3/zTtvmEyjzhX0RzfDtJs+t4V3+no= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-vk1-xa30.google.com with SMTP id 71dfb90a1353d-49d9f1f34faso187149e0c.1; Fri, 03 Nov 2023 10:47:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699033648; x=1699638448; darn=gcc.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=034dBzJP1LMHn9FT9ING4tTwZLQ3vTp1bjo+w7ws0tQ=; b=m7IumFWws3nkzWOBkL1jsn7Vx7Oi1K/DPEAp15FOLR3cLD//529v+j3m7B/jmHMMDa wNZXmHvl/cmxfbqcz9+aUMlFSZdZ6eINFG8Vy/Dn8UyE0imdRTbCDfrkGukgpQoXP8T2 jfDUz6L57JIA2V1Hb5nx5qbWOZP+nWCmT/AsMQS70zDLKpOD96qiSwKSnlhk88yIr/aI qZpd2X0rfAsEV6pwYUQssr7rKPcap36GgDp0lSNdZjvxZGQd3ZY3HStDTkFfwy3fau4r dMdeWSEooMb21Hiu6dDukovSj0n5qDEyj6lGON1n2DvexwRe7dDHAlPK7V1VVze+eUHz T9XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699033648; x=1699638448; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=034dBzJP1LMHn9FT9ING4tTwZLQ3vTp1bjo+w7ws0tQ=; b=QU3UKra9pb9jGNHBsoPtXpaYRSYiatx9bqyOALTp4kuN+WB7Vpv+5wyKnKoqgdH6y8 C3YuSJTJ08zz5Y2F7tRCtTMt5pE/DpZEOq1NKMNhrtwvphyF9ce7aL+4BACGRCutkFQq mhiRCHqfiLrfft7GfOUyPctR8YP9GxXAJ6BTjZd2tN4YN/Kv2pCu6ER97x9Jf4W8o1Nu MQvpwmXnY3KY21krB8rTkuSArZQo6EDuPrOcwCMAtgULtplwH/MU5sHjBjmlGQ0Q6LBo OJdsLXyY8p00JouJsD5qGTQy29HSXk8p2j6kgI9oJbAcB3murBeWLFKSnrNMwyYBjW9W p76w== X-Gm-Message-State: AOJu0YxLtCMjS3o6reBW+Xvfg3rOE4lowlJzSnK/46gMZ6FeLUvfNP+P 6FrKR06qfTqMYePkhvpZzymS3UFB4VGpOjm6jlGUDxAicKI= X-Google-Smtp-Source: AGHT+IEChpC57ESCvX1XCKd7lCmqDgvOQWV4fQ0kf7+MlS2kN7gxEsG2gsRhFp51R2ycPp690HAw7QtNCZybh1Gnd+s= X-Received: by 2002:a05:6122:2886:b0:4ab:f448:5023 with SMTP id fl6-20020a056122288600b004abf4485023mr2480687vkb.0.1699033648093; Fri, 03 Nov 2023 10:47:28 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Weslley da Silva Pereira Date: Fri, 3 Nov 2023 11:47:16 -0600 Message-ID: Subject: Re: [PATCH] libstdc++/complex: Remove implicit type casts in complex To: Jonathan Wakely Cc: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary="0000000000000e871c06094319a9" X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --0000000000000e871c06094319a9 Content-Type: multipart/alternative; boundary="0000000000000e871b06094319a7" --0000000000000e871b06094319a7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Jonathan, I am sorry for the delay. The mailing lists libstdc++@gcc.gnu.org and gcc-patches@gcc.gnu.org have just too many emails, so your email got lost. I hope my changes still make sense to be included in GCC. Please, find my comments below. On Thu, May 11, 2023 at 3:57=E2=80=AFPM Jonathan Wakely wrote: > > > On Mon, 27 Mar 2023 at 22:25, Weslley da Silva Pereira via Libstdc++ < > libstdc++@gcc.gnu.org> wrote: > >> Dear all, >> >> Here follows a patch that removes implicit type casts in std::complex. >> >> *Description:* The current implementation of `complex<_Tp>` assumes that >> `int, double, long double` are explicitly convertible to `_Tp`. Moreover, >> it also assumes that: >> >> 1. `int` is implicitly convertible to `_Tp`, e.g., when using >> `complex<_Tp>(1)`. >> 2. `long double` can be attributed to a `_Tp` variable, e.g., when using >> `const _Tp __pi_2 =3D 1.5707963267948966192313216916397514L`. >> >> This patch transforms the implicit casts (1) and (2) into explicit type >> casts. As a result, `std::complex` is now able to support more types. One >> example is the type `Eigen::Half` from >> https://eigen.tuxfamily.org/dox-devel/Half_8h_source.html which does not >> implement implicit type conversions. >> >> *ChangeLog:* >> libstdc++-v3/ChangeLog: >> >> * include/std/complex: >> > > Thank you for the patch. Now that we're in developement stage 1 for GCC > 14, it's time to consider it. > > You're missing a proper changelog entry, I suggest: > > * include/std/complex (polar, __complex_sqrt) > (__complex_pow_unsigned, pow, __complex_acos): Replace implicit > conversions from int and long double to value_type. > I agree with your proposal for the changelog. > You're also missing either a copyright assignment on file with the FSF > (unless you've completed that paperwork?), or a DCO sign-off. Please see > https://gcc.gnu.org/contribute.html#legal and https://gcc.gnu.org/dco.html > for more details. > Here is my DCO sign-off: *Copyright:* Signed-off-by: Weslley da Silva Pereira > > >> >> *Patch:* fix_complex.diff. (Also at >> https://github.com/gcc-mirror/gcc/pull/84) >> >> *OBS:* I didn't find a good reason for adding new tests or test results >> here since this is really a small upgrade (in my view) to std::complex. >> > > I don't agree. The purpose of this is to support std::complex for a > type Foo without implicit conversions (which isn't required by the standa= rd > btw, only the floating-point types are required to work, but we can suppo= rt > others as an extension). Without tests, we don't know if that goal has be= en > met, and we don't know if the goal continues to be met in future versions. > A test would ensure that we don't accidentally re-introduce code requiring > implicit conversions. > > With a suitable test, I think this patch will be OK for GCC 14. > > Thanks again for contributing. > > > *Tests:* See the attached file `test_complex_eigenhalf.cpp` *Test results:* - When using x86-64 GCC (trunk), I obtained compilation errors as shown in the attached text file. Live example at: https://godbolt.org/z/oa9M34h8P. - I observed no errors after applying the suggested patch on my machine. - I tried it with the flag `-Wall`. No warnings were shown. - My machine configuration and my GCC build information are displayed in the file `config.log` generated by the configuration step of GCC. Let me know if I need to do anything else. Thanks, Weslley --=20 Weslley S. Pereira --0000000000000e871b06094319a7-- --0000000000000e871c06094319a9 Content-Type: text/plain; charset="US-ASCII"; name="compiler_log_gcctrunk.txt" Content-Disposition: attachment; filename="compiler_log_gcctrunk.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_loiwif9w1 PHNvdXJjZT46IEluIGZ1bmN0aW9uICdzdGQ6OmNvbXBsZXg8X1RwPiBzdGQ6 OnBvbGFyKGNvbnN0IF9UcCYsIGNvbnN0IF9UcCYpIFt3aXRoIF9UcCA9IEVp Z2VuOjpoYWxmXSc6Cjxzb3VyY2U+OjEzOjIwOiBlcnJvcjogY291bGQgbm90 IGNvbnZlcnQgJzAnIGZyb20gJ2ludCcgdG8gJ2NvbnN0IEVpZ2VuOjpoYWxm JicKICAgMTMgfCAgICAgejEgPSBzdGQ6OnBvbGFyKG9uZSk7CiAgICAgIHwg ICAgICAgICAgfn5+fn5+fn5+fl5+fn5+CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgaW50Cjxzb3Vy Y2U+OjEzOjIwOiBub3RlOiAgIHdoZW4gaW5zdGFudGlhdGluZyBkZWZhdWx0 IGFyZ3VtZW50IGZvciBjYWxsIHRvICdzdGQ6OmNvbXBsZXg8X1RwPiBzdGQ6 OnBvbGFyKGNvbnN0IF9UcCYsIGNvbnN0IF9UcCYpIFt3aXRoIF9UcCA9IEVp Z2VuOjpoYWxmXScKPHNvdXJjZT46IEluIGZ1bmN0aW9uICdpbnQgbWFpbigp JzoKPHNvdXJjZT46MTM6MjA6IGVycm9yOiBpbnZhbGlkIGluaXRpYWxpemF0 aW9uIG9mIHJlZmVyZW5jZSBvZiB0eXBlICdjb25zdCBFaWdlbjo6aGFsZiYn IGZyb20gZXhwcmVzc2lvbiBvZiB0eXBlICdpbnQnCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSA8c291cmNlPjoxOgovb3B0L2NvbXBpbGVyLWV4cGxvcmVyL2dj Yy10cnVuay0yMDIzMTEwMy9pbmNsdWRlL2MrKy8xNC4wLjAvY29tcGxleDo5 Njc6NDA6IG5vdGU6IGluIHBhc3NpbmcgYXJndW1lbnQgMiBvZiAnc3RkOjpj b21wbGV4PF9UcD4gc3RkOjpwb2xhcihjb25zdCBfVHAmLCBjb25zdCBfVHAm KSBbd2l0aCBfVHAgPSBFaWdlbjo6aGFsZl0nCiAgOTY3IHwgICAgIHBvbGFy KGNvbnN0IF9UcCYgX19yaG8sIGNvbnN0IF9UcCYgX190aGV0YSkKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5efn5+ fn5+Ci9vcHQvY29tcGlsZXItZXhwbG9yZXIvZ2NjLXRydW5rLTIwMjMxMTAz L2luY2x1ZGUvYysrLzE0LjAuMC9jb21wbGV4OiBJbiBpbnN0YW50aWF0aW9u IG9mICdzdGQ6OmNvbXBsZXg8X1RwPiBzdGQ6OnBvdyhjb25zdCBjb21wbGV4 PF9UcD4mLCBpbnQpIFt3aXRoIF9UcCA9IEVpZ2VuOjpoYWxmXSc6Cjxzb3Vy Y2U+OjE5OjE4OiAgIHJlcXVpcmVkIGZyb20gaGVyZQovb3B0L2NvbXBpbGVy LWV4cGxvcmVyL2djYy10cnVuay0yMDIzMTEwMy9pbmNsdWRlL2MrKy8xNC4w LjAvY29tcGxleDo5Njc6NDA6IG5vdGU6ICAgIDE5IHwgICAgIHozID0gc3Rk Ojpwb3coejAsICh1bnNpZ25lZCkyKTsKL29wdC9jb21waWxlci1leHBsb3Jl ci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4wL2NvbXBs ZXg6OTY3OjQwOiBub3RlOiAgICAgICB8ICAgICAgICAgIH5+fn5+fn5+Xn5+ fn5+fn5+fn5+fn5+fn4KL29wdC9jb21waWxlci1leHBsb3Jlci9nY2MtdHJ1 bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4wL2NvbXBsZXg6MTI4ODox MTogZXJyb3I6IG5vIG1hdGNoaW5nIGZ1bmN0aW9uIGZvciBjYWxsIHRvICdz dGQ6OmNvbXBsZXg8RWlnZW46OmhhbGY+Ojpjb21wbGV4KGludCknCiAxMjg4 IHwgICAgICAgICA/IGNvbXBsZXg8X1RwPigxKSAvIHN0ZDo6X19jb21wbGV4 X3Bvd191bnNpZ25lZChfX3osIC0odW5zaWduZWQpX19uKQogICAgICB8ICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn4KL29wdC9jb21waWxlci1leHBsb3Jl ci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4wL2NvbXBs ZXg6MTUzOjI4OiBub3RlOiBjYW5kaWRhdGU6ICd0ZW1wbGF0ZTxjbGFzcyBf VXA+IGNvbnN0ZXhwciBzdGQ6OmNvbXBsZXg8X1RwPjo6Y29tcGxleChjb25z dCBzdGQ6OmNvbXBsZXg8X1VwPiYpIFt3aXRoIF9UcCA9IEVpZ2VuOjpoYWxm XScKICAxNTMgfCAgICAgICAgIF9HTElCQ1hYX0NPTlNURVhQUiBjb21wbGV4 KGNvbnN0IGNvbXBsZXg8X1VwPiYgX196KQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn4KL29wdC9jb21waWxlci1leHBsb3Jl ci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4wL2NvbXBs ZXg6MTUzOjI4OiBub3RlOiAgIHRlbXBsYXRlIGFyZ3VtZW50IGRlZHVjdGlv bi9zdWJzdGl0dXRpb24gZmFpbGVkOgovb3B0L2NvbXBpbGVyLWV4cGxvcmVy L2djYy10cnVuay0yMDIzMTEwMy9pbmNsdWRlL2MrKy8xNC4wLjAvY29tcGxl eDoxMjg4OjExOiBub3RlOiAgIG1pc21hdGNoZWQgdHlwZXMgJ2NvbnN0IHN0 ZDo6Y29tcGxleDxfVHA+JyBhbmQgJ2ludCcKIDEyODggfCAgICAgICAgID8g Y29tcGxleDxfVHA+KDEpIC8gc3RkOjpfX2NvbXBsZXhfcG93X3Vuc2lnbmVk KF9feiwgLSh1bnNpZ25lZClfX24pCiAgICAgIHwgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fgovb3B0L2NvbXBpbGVyLWV4cGxvcmVyL2djYy10cnVuay0y MDIzMTEwMy9pbmNsdWRlL2MrKy8xNC4wLjAvY29tcGxleDoxNDU6MTc6IG5v dGU6IGNhbmRpZGF0ZTogJ2NvbnN0ZXhwciBzdGQ6OmNvbXBsZXg8X1RwPjo6 Y29tcGxleChjb25zdCBzdGQ6OmNvbXBsZXg8X1RwPiYpIFt3aXRoIF9UcCA9 IEVpZ2VuOjpoYWxmXScKICAxNDUgfCAgICAgICBjb25zdGV4cHIgY29tcGxl eChjb25zdCBjb21wbGV4JikgPSBkZWZhdWx0OwogICAgICB8ICAgICAgICAg ICAgICAgICBefn5+fn5+Ci9vcHQvY29tcGlsZXItZXhwbG9yZXIvZ2NjLXRy dW5rLTIwMjMxMTAzL2luY2x1ZGUvYysrLzE0LjAuMC9jb21wbGV4OjE0NToy NTogbm90ZTogICBubyBrbm93biBjb252ZXJzaW9uIGZvciBhcmd1bWVudCAx IGZyb20gJ2ludCcgdG8gJ2NvbnN0IHN0ZDo6Y29tcGxleDxFaWdlbjo6aGFs Zj4mJwogIDE0NSB8ICAgICAgIGNvbnN0ZXhwciBjb21wbGV4KGNvbnN0IGNv bXBsZXgmKSA9IGRlZmF1bHQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn4KL29wdC9jb21waWxlci1leHBsb3Jlci9n Y2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4wL2NvbXBsZXg6 MTQwOjI2OiBub3RlOiBjYW5kaWRhdGU6ICdjb25zdGV4cHIgc3RkOjpjb21w bGV4PF9UcD46OmNvbXBsZXgoY29uc3QgX1RwJiwgY29uc3QgX1RwJikgW3dp dGggX1RwID0gRWlnZW46OmhhbGZdJwogIDE0MCB8ICAgICAgIF9HTElCQ1hY X0NPTlNURVhQUiBjb21wbGV4KGNvbnN0IF9UcCYgX19yID0gX1RwKCksIGNv bnN0IF9UcCYgX19pID0gX1RwKCkpCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn4KL29wdC9jb21waWxlci1leHBsb3Jlci9nY2Mt dHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4wL2NvbXBsZXg6MTQw OjQ1OiBub3RlOiAgIG5vIGtub3duIGNvbnZlcnNpb24gZm9yIGFyZ3VtZW50 IDEgZnJvbSAnaW50JyB0byAnY29uc3QgRWlnZW46OmhhbGYmJwogIDE0MCB8 ICAgICAgIF9HTElCQ1hYX0NPTlNURVhQUiBjb21wbGV4KGNvbnN0IF9UcCYg X19yID0gX1RwKCksIGNvbnN0IF9UcCYgX19pID0gX1RwKCkpCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5e fn5+fn5+fn5+fgovb3B0L2NvbXBpbGVyLWV4cGxvcmVyL2djYy10cnVuay0y MDIzMTEwMy9pbmNsdWRlL2MrKy8xNC4wLjAvY29tcGxleDogSW4gaW5zdGFu dGlhdGlvbiBvZiAnc3RkOjpjb21wbGV4PF9UcD4gc3RkOjpfX2NvbXBsZXhf c3FydChjb25zdCBjb21wbGV4PF9UcD4mKSBbd2l0aCBfVHAgPSBFaWdlbjo6 aGFsZl0nOgovb3B0L2NvbXBpbGVyLWV4cGxvcmVyL2djYy10cnVuay0yMDIz MTEwMy9pbmNsdWRlL2MrKy8xNC4wLjAvY29tcGxleDoxMTk1OjU4OiAgIHJl cXVpcmVkIGZyb20gJ3N0ZDo6Y29tcGxleDxfVHA+IHN0ZDo6c3FydChjb25z dCBjb21wbGV4PF9UcD4mKSBbd2l0aCBfVHAgPSBFaWdlbjo6aGFsZl0nCi9v cHQvY29tcGlsZXItZXhwbG9yZXIvZ2NjLXRydW5rLTIwMjMxMTAzL2luY2x1 ZGUvYysrLzE0LjAuMC9jb21wbGV4OjE0MDo0NTogbm90ZTogIDExOTUgfCAg ICAgc3FydChjb25zdCBjb21wbGV4PF9UcD4mIF9feikgeyByZXR1cm4gX19j b21wbGV4X3NxcnQoX196Ll9fcmVwKCkpOyB9Ci9vcHQvY29tcGlsZXItZXhw bG9yZXIvZ2NjLXRydW5rLTIwMjMxMTAzL2luY2x1ZGUvYysrLzE0LjAuMC9j b21wbGV4OjE0MDo0NTogbm90ZTogICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5efn5+ fn5+fn5+fn5+Cjxzb3VyY2U+OjE2OjE5OiAgIHJlcXVpcmVkIGZyb20gaGVy ZQovb3B0L2NvbXBpbGVyLWV4cGxvcmVyL2djYy10cnVuay0yMDIzMTEwMy9p bmNsdWRlL2MrKy8xNC4wLjAvY29tcGxleDoxNDA6NDU6IG5vdGU6ICAgIDE2 IHwgICAgIHoyID0gc3RkOjpzcXJ0KHowKTsKL29wdC9jb21waWxlci1leHBs b3Jlci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4wL2Nv bXBsZXg6MTQwOjQ1OiBub3RlOiAgICAgICB8ICAgICAgICAgIH5+fn5+fn5+ fl5+fn4KL29wdC9jb21waWxlci1leHBsb3Jlci9nY2MtdHJ1bmstMjAyMzEx MDMvaW5jbHVkZS9jKysvMTQuMC4wL2NvbXBsZXg6MTE3NDoyNTogZXJyb3I6 IGNvbnZlcnNpb24gZnJvbSAnZmxvYXQnIHRvIG5vbi1zY2FsYXIgdHlwZSAn RWlnZW46OmhhbGYnIHJlcXVlc3RlZAogMTE3NCB8ICAgICAgICAgICBfVHAg X190ID0gc3FydCgyICogKHN0ZDo6YWJzKF9feikgKyBhYnMoX194KSkpOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgfn5+fl5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+Ci9vcHQvY29tcGlsZXItZXhwbG9yZXIvZ2Nj LXRydW5rLTIwMjMxMTAzL2luY2x1ZGUvYysrLzE0LjAuMC9jb21wbGV4OiBJ biBpbnN0YW50aWF0aW9uIG9mICdzdGQ6OmNvbXBsZXg8X1RwPiBzdGQ6Ol9f Y29tcGxleF9hY29zKGNvbnN0IGNvbXBsZXg8X1RwPiYpIFt3aXRoIF9UcCA9 IEVpZ2VuOjpoYWxmXSc6Ci9vcHQvY29tcGlsZXItZXhwbG9yZXIvZ2NjLXRy dW5rLTIwMjMxMTAzL2luY2x1ZGUvYysrLzE0LjAuMC9jb21wbGV4OjIyMTQ6 Mjg6ICAgcmVxdWlyZWQgZnJvbSAnc3RkOjpjb21wbGV4PF9UcD4gc3RkOjph Y29zKGNvbnN0IGNvbXBsZXg8X1RwPiYpIFt3aXRoIF9UcCA9IEVpZ2VuOjpo YWxmXScKL29wdC9jb21waWxlci1leHBsb3Jlci9nY2MtdHJ1bmstMjAyMzEx MDMvaW5jbHVkZS9jKysvMTQuMC4wL2NvbXBsZXg6MTE3NDoyNTogZXJyb3I6 ICAyMjE0IHwgICAgIHsgcmV0dXJuIF9fY29tcGxleF9hY29zKF9fei5fX3Jl cCgpKTsgfQovb3B0L2NvbXBpbGVyLWV4cGxvcmVyL2djYy10cnVuay0yMDIz MTEwMy9pbmNsdWRlL2MrKy8xNC4wLjAvY29tcGxleDoxMTc0OjI1OiBlcnJv cjogICAgICAgfCAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5efn5+fn5+ fn5+fn5+Cjxzb3VyY2U+OjI4OjE5OiAgIHJlcXVpcmVkIGZyb20gaGVyZQov b3B0L2NvbXBpbGVyLWV4cGxvcmVyL2djYy10cnVuay0yMDIzMTEwMy9pbmNs dWRlL2MrKy8xNC4wLjAvY29tcGxleDoxMTc0OjI1OiBlcnJvcjogICAgMjgg fCAgICAgejUgPSBzdGQ6OmFjb3MoejApOwovb3B0L2NvbXBpbGVyLWV4cGxv cmVyL2djYy10cnVuay0yMDIzMTEwMy9pbmNsdWRlL2MrKy8xNC4wLjAvY29t cGxleDoxMTc0OjI1OiBlcnJvcjogICAgICAgfCAgICAgICAgICB+fn5+fn5+ fn5efn5+Ci9vcHQvY29tcGlsZXItZXhwbG9yZXIvZ2NjLXRydW5rLTIwMjMx MTAzL2luY2x1ZGUvYysrLzE0LjAuMC9jb21wbGV4OjIwMzg6MjY6IGVycm9y OiBjb252ZXJzaW9uIGZyb20gJ2xvbmcgZG91YmxlJyB0byBub24tc2NhbGFy IHR5cGUgJ2NvbnN0IEVpZ2VuOjpoYWxmJyByZXF1ZXN0ZWQKIDIwMzggfCAg ICAgICBjb25zdCBfVHAgX19waV8yID0gMS41NzA3OTYzMjY3OTQ4OTY2MTky MzEzMjE2OTE2Mzk3NTE0TDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgov b3B0L2NvbXBpbGVyLWV4cGxvcmVyL2djYy10cnVuay0yMDIzMTEwMy9pbmNs dWRlL2MrKy8xNC4wLjAvY29tcGxleDogSW4gaW5zdGFudGlhdGlvbiBvZiAn X1RwIHN0ZDo6X19jb21wbGV4X2FyZyhjb25zdCBjb21wbGV4PF9UcD4mKSBb d2l0aCBfVHAgPSBFaWdlbjo6aGFsZl0nOgovb3B0L2NvbXBpbGVyLWV4cGxv cmVyL2djYy10cnVuay0yMDIzMTEwMy9pbmNsdWRlL2MrKy8xNC4wLjAvY29t cGxleDo5MTk6NTY6ICAgcmVxdWlyZWQgZnJvbSAnX1RwIHN0ZDo6YXJnKGNv bnN0IGNvbXBsZXg8X1RwPiYpIFt3aXRoIF9UcCA9IEVpZ2VuOjpoYWxmXScK L29wdC9jb21waWxlci1leHBsb3Jlci9nY2MtdHJ1bmstMjAyMzExMDMvaW5j bHVkZS9jKysvMTQuMC4wL2NvbXBsZXg6MjAzODoyNjogZXJyb3I6ICAgOTE5 IHwgICAgIGFyZyhjb25zdCBjb21wbGV4PF9UcD4mIF9feikgeyByZXR1cm4g X19jb21wbGV4X2FyZyhfX3ouX19yZXAoKSk7IH0KL29wdC9jb21waWxlci1l eHBsb3Jlci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4w L2NvbXBsZXg6MjAzODoyNjogZXJyb3I6ICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fl5+ fn5+fn5+fn5+fn4KL29wdC9jb21waWxlci1leHBsb3Jlci9nY2MtdHJ1bmst MjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4wL2NvbXBsZXg6MTA3MTo1NTog ICByZXF1aXJlZCBmcm9tICdzdGQ6OmNvbXBsZXg8X1RwPiBzdGQ6Ol9fY29t cGxleF9sb2coY29uc3QgY29tcGxleDxfVHA+JikgW3dpdGggX1RwID0gRWln ZW46OmhhbGZdJwovb3B0L2NvbXBpbGVyLWV4cGxvcmVyL2djYy10cnVuay0y MDIzMTEwMy9pbmNsdWRlL2MrKy8xNC4wLjAvY29tcGxleDoyMDM4OjI2OiBl cnJvcjogIDEwNzEgfCAgICAgeyByZXR1cm4gY29tcGxleDxfVHA+KGxvZyhz dGQ6OmFicyhfX3opKSwgc3RkOjphcmcoX196KSk7IH0KL29wdC9jb21waWxl ci1leHBsb3Jlci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQu MC4wL2NvbXBsZXg6MjAzODoyNjogZXJyb3I6ICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+ Xn5+fn4KL29wdC9jb21waWxlci1leHBsb3Jlci9nY2MtdHJ1bmstMjAyMzEx MDMvaW5jbHVkZS9jKysvMTQuMC4wL2NvbXBsZXg6MTA4Njo1NjogICByZXF1 aXJlZCBmcm9tICdzdGQ6OmNvbXBsZXg8X1RwPiBzdGQ6OmxvZyhjb25zdCBj b21wbGV4PF9UcD4mKSBbd2l0aCBfVHAgPSBFaWdlbjo6aGFsZl0nCi9vcHQv Y29tcGlsZXItZXhwbG9yZXIvZ2NjLXRydW5rLTIwMjMxMTAzL2luY2x1ZGUv YysrLzE0LjAuMC9jb21wbGV4OjIwMzg6MjY6IGVycm9yOiAgMTA4NiB8ICAg ICBsb2coY29uc3QgY29tcGxleDxfVHA+JiBfX3opIHsgcmV0dXJuIF9fY29t cGxleF9sb2coX196Ll9fcmVwKCkpOyB9Ci9vcHQvY29tcGlsZXItZXhwbG9y ZXIvZ2NjLXRydW5rLTIwMjMxMTAzL2luY2x1ZGUvYysrLzE0LjAuMC9jb21w bGV4OjIwMzg6MjY6IGVycm9yOiAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5efn5+fn5+ fn5+fn5+Ci9vcHQvY29tcGlsZXItZXhwbG9yZXIvZ2NjLXRydW5rLTIwMjMx MTAzL2luY2x1ZGUvYysrLzE0LjAuMC9jb21wbGV4OjIzNTA6MjI6ICAgcmVx dWlyZWQgZnJvbSAnc3RkOjpjb21wbGV4PF9UcD4gc3RkOjpfX2NvbXBsZXhf YXNpbmgoY29uc3QgY29tcGxleDxfVHA+JikgW3dpdGggX1RwID0gRWlnZW46 OmhhbGZdJwovb3B0L2NvbXBpbGVyLWV4cGxvcmVyL2djYy10cnVuay0yMDIz MTEwMy9pbmNsdWRlL2MrKy8xNC4wLjAvY29tcGxleDoyMDM4OjI2OiBlcnJv cjogIDIzNTAgfCAgICAgICByZXR1cm4gc3RkOjpsb2coX190ICsgX196KTsK L29wdC9jb21waWxlci1leHBsb3Jlci9nY2MtdHJ1bmstMjAyMzExMDMvaW5j bHVkZS9jKysvMTQuMC4wL2NvbXBsZXg6MjAzODoyNjogZXJyb3I6ICAgICAg IHwgICAgICAgICAgICAgIH5+fn5+fn5+Xn5+fn5+fn5+fn4KL29wdC9jb21w aWxlci1leHBsb3Jlci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysv MTQuMC4wL2NvbXBsZXg6MjM2OToyOTogICByZXF1aXJlZCBmcm9tICdzdGQ6 OmNvbXBsZXg8X1RwPiBzdGQ6OmFzaW5oKGNvbnN0IGNvbXBsZXg8X1RwPiYp IFt3aXRoIF9UcCA9IEVpZ2VuOjpoYWxmXScKL29wdC9jb21waWxlci1leHBs b3Jlci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4wL2Nv bXBsZXg6MjAzODoyNjogZXJyb3I6ICAyMzY5IHwgICAgIHsgcmV0dXJuIF9f Y29tcGxleF9hc2luaChfX3ouX19yZXAoKSk7IH0KL29wdC9jb21waWxlci1l eHBsb3Jlci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4w L2NvbXBsZXg6MjAzODoyNjogZXJyb3I6ICAgICAgIHwgICAgICAgICAgICAg IH5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+fn4KL29wdC9jb21waWxlci1l eHBsb3Jlci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4w L2NvbXBsZXg6MjIzMDoyMzogICByZXF1aXJlZCBmcm9tICdzdGQ6OmNvbXBs ZXg8X1RwPiBzdGQ6Ol9fY29tcGxleF9hc2luKGNvbnN0IGNvbXBsZXg8X1Rw PiYpIFt3aXRoIF9UcCA9IEVpZ2VuOjpoYWxmXScKL29wdC9jb21waWxlci1l eHBsb3Jlci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9jKysvMTQuMC4w L2NvbXBsZXg6MjAzODoyNjogZXJyb3I6ICAyMjMwIHwgICAgICAgX190ID0g c3RkOjphc2luaChfX3QpOwovb3B0L2NvbXBpbGVyLWV4cGxvcmVyL2djYy10 cnVuay0yMDIzMTEwMy9pbmNsdWRlL2MrKy8xNC4wLjAvY29tcGxleDoyMDM4 OjI2OiBlcnJvcjogICAgICAgfCAgICAgICAgICAgICB+fn5+fn5+fn5+Xn5+ fn4KL29wdC9jb21waWxlci1leHBsb3Jlci9nY2MtdHJ1bmstMjAyMzExMDMv aW5jbHVkZS9jKysvMTQuMC4wL2NvbXBsZXg6MjI1MDoyODogICByZXF1aXJl ZCBmcm9tICdzdGQ6OmNvbXBsZXg8X1RwPiBzdGQ6OmFzaW4oY29uc3QgY29t cGxleDxfVHA+JikgW3dpdGggX1RwID0gRWlnZW46OmhhbGZdJwovb3B0L2Nv bXBpbGVyLWV4cGxvcmVyL2djYy10cnVuay0yMDIzMTEwMy9pbmNsdWRlL2Mr Ky8xNC4wLjAvY29tcGxleDoyMDM4OjI2OiBlcnJvcjogIDIyNTAgfCAgICAg eyByZXR1cm4gX19jb21wbGV4X2FzaW4oX196Ll9fcmVwKCkpOyB9Ci9vcHQv Y29tcGlsZXItZXhwbG9yZXIvZ2NjLXRydW5rLTIwMjMxMTAzL2luY2x1ZGUv YysrLzE0LjAuMC9jb21wbGV4OjIwMzg6MjY6IGVycm9yOiAgICAgICB8ICAg ICAgICAgICAgICB+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+fn4KL29wdC9j b21waWxlci1leHBsb3Jlci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9j KysvMTQuMC4wL2NvbXBsZXg6MjAzNzo0NjogICByZXF1aXJlZCBmcm9tICdz dGQ6OmNvbXBsZXg8X1RwPiBzdGQ6Ol9fY29tcGxleF9hY29zKGNvbnN0IGNv bXBsZXg8X1RwPiYpIFt3aXRoIF9UcCA9IEVpZ2VuOjpoYWxmXScKL29wdC9j b21waWxlci1leHBsb3Jlci9nY2MtdHJ1bmstMjAyMzExMDMvaW5jbHVkZS9j KysvMTQuMC4wL2NvbXBsZXg6MjAzODoyNjogZXJyb3I6ICAyMDM3IHwgICAg ICAgY29uc3Qgc3RkOjpjb21wbGV4PF9UcD4gX190ID0gc3RkOjphc2luKF9f eik7Ci9vcHQvY29tcGlsZXItZXhwbG9yZXIvZ2NjLXRydW5rLTIwMjMxMTAz L2luY2x1ZGUvYysrLzE0LjAuMC9jb21wbGV4OjIwMzg6MjY6IGVycm9yOiAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+ fn5+fn5+fl5+fn5+Ci9vcHQvY29tcGlsZXItZXhwbG9yZXIvZ2NjLXRydW5r LTIwMjMxMTAzL2luY2x1ZGUvYysrLzE0LjAuMC9jb21wbGV4OjIyMTQ6Mjg6 ICAgcmVxdWlyZWQgZnJvbSAnc3RkOjpjb21wbGV4PF9UcD4gc3RkOjphY29z KGNvbnN0IGNvbXBsZXg8X1RwPiYpIFt3aXRoIF9UcCA9IEVpZ2VuOjpoYWxm XScKL29wdC9jb21waWxlci1leHBsb3Jlci9nY2MtdHJ1bmstMjAyMzExMDMv aW5jbHVkZS9jKysvMTQuMC4wL2NvbXBsZXg6MjAzODoyNjogZXJyb3I6ICAy MjE0IHwgICAgIHsgcmV0dXJuIF9fY29tcGxleF9hY29zKF9fei5fX3JlcCgp KTsgfQovb3B0L2NvbXBpbGVyLWV4cGxvcmVyL2djYy10cnVuay0yMDIzMTEw My9pbmNsdWRlL2MrKy8xNC4wLjAvY29tcGxleDoyMDM4OjI2OiBlcnJvcjog ICAgICAgfCAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+ fn5+Cjxzb3VyY2U+OjI4OjE5OiAgIHJlcXVpcmVkIGZyb20gaGVyZQovb3B0 L2NvbXBpbGVyLWV4cGxvcmVyL2djYy10cnVuay0yMDIzMTEwMy9pbmNsdWRl L2MrKy8xNC4wLjAvY29tcGxleDoyMDM4OjI2OiBlcnJvcjogICAgMjggfCAg ICAgejUgPSBzdGQ6OmFjb3MoejApOwovb3B0L2NvbXBpbGVyLWV4cGxvcmVy L2djYy10cnVuay0yMDIzMTEwMy9pbmNsdWRlL2MrKy8xNC4wLjAvY29tcGxl eDoyMDM4OjI2OiBlcnJvcjogICAgICAgfCAgICAgICAgICB+fn5+fn5+fn5e fn5+Ci9vcHQvY29tcGlsZXItZXhwbG9yZXIvZ2NjLXRydW5rLTIwMjMxMTAz L2luY2x1ZGUvYysrLzE0LjAuMC9jb21wbGV4OjkwNDoyMDogZXJyb3I6IGNv dWxkIG5vdCBjb252ZXJ0ICdzdGQ6OmF0YW4yKCgmIF9feiktPnN0ZDo6Y29t cGxleDxFaWdlbjo6aGFsZj46OmltYWcoKS5FaWdlbjo6aGFsZjo6b3BlcmF0 b3IgZmxvYXQoKSwgKCYgX196KS0+c3RkOjpjb21wbGV4PEVpZ2VuOjpoYWxm Pjo6cmVhbCgpLkVpZ2VuOjpoYWxmOjpvcGVyYXRvciBmbG9hdCgpKScgZnJv bSAnZmxvYXQnIHRvICdFaWdlbjo6aGFsZicKICA5MDQgfCAgICAgeyByZXR1 cm4gIGF0YW4yKF9fei5pbWFnKCksIF9fei5yZWFsKCkpOyB9CiAgICAgIHwg ICAgICAgICAgICAgICB+fn5+fl5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgog ICAgICB8ICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgIGZsb2F0CkNvbXBpbGVyIHJldHVybmVkOiAxCg== --0000000000000e871c06094319a9 Content-Type: text/x-c++src; charset="US-ASCII"; name="test_complex_eigenhalf.cpp" Content-Disposition: attachment; filename="test_complex_eigenhalf.cpp" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_loiwhbvm0 I2luY2x1ZGUgPGNvbXBsZXg+CiNpbmNsdWRlIDxFaWdlbi9Db3JlPgoKaW50 IG1haW4oKSB7CiAgICAvLyBDb25zdGFudHMKICAgIGNvbnN0IEVpZ2VuOjpo YWxmIG9uZSgxKTsKICAgIGNvbnN0IHN0ZDo6Y29tcGxleDxFaWdlbjo6aGFs Zj4gejAob25lKTsKCiAgICAvLyBMb2NhbCB2YXJpYWJsZXMKICAgIHN0ZDo6 Y29tcGxleDxFaWdlbjo6aGFsZj4gejEsIHoyLCB6MywgejQsIHo1OwoKICAg IC8vIEFzc2lnbiB1c2luZyBwb2xhciBjb29yZGluYXRlcywgc2Vjb25kIGNv b3JkaW5hdGUgaXMgemVybwogICAgejEgPSBzdGQ6OnBvbGFyKG9uZSk7Cgog ICAgLy8gQ29tcHV0ZSB0aGUgc3F1YXJlIHJvb3QKICAgIHoyID0gc3RkOjpz cXJ0KHowKTsKCiAgICAvLyBDb21wdXRlIHRoZSBwb3cgdXNpbmcgYW4gdW5z aWduZWQgcG93ZXIKICAgIHozID0gc3RkOjpwb3coejAsICh1bnNpZ25lZCky KTsKCiAgICAvLyBDb21wdXRlIHRoZSBwb3cgdXNpbmcgYSBwb3NpdGl2ZSBp bnRlZ2VyIHBvd2VyCiAgICB6MyA9IHN0ZDo6cG93KHowLCAyKTsKCiAgICAv LyBDb21wdXRlIHRoZSBwb3cgdXNpbmcgYSBuZWdhdGl2ZSBpbnRlZ2VyIHBv d2VyCiAgICB6NCA9IHN0ZDo6cG93KHowLCAtMik7CgogICAgLy8gQ29tcHV0 ZSB0aGUgYWNvcwogICAgejUgPSBzdGQ6OmFjb3MoejApOwoKICAgIHJldHVy biAwOwp9 --0000000000000e871c06094319a9 Content-Type: text/x-log; charset="US-ASCII"; name="config.log" Content-Disposition: attachment; filename="config.log" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_loiwn0062 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBj b21waWxlcnMgd2hpbGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1 Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KCkl0IHdhcyBj cmVhdGVkIGJ5IGNvbmZpZ3VyZSwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBH TlUgQXV0b2NvbmYgMi42OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdh cwoKICAkIC4uL2djYy9jb25maWd1cmUgLS1kaXNhYmxlLW11bHRpbGliIC0t ZGlzYWJsZS1ib290c3RyYXAKCiMjIC0tLS0tLS0tLSAjIwojIyBQbGF0Zm9y bS4gIyMKIyMgLS0tLS0tLS0tICMjCgpob3N0bmFtZSA9IHdlc2xsZXlwLVhQ Uy0xNS05NTEwCnVuYW1lIC1tID0geDg2XzY0CnVuYW1lIC1yID0gNS4xNS4w LTg4LWdlbmVyaWMKdW5hbWUgLXMgPSBMaW51eAp1bmFtZSAtdiA9ICM5OH4y MC4wNC4xLVVidW50dSBTTVAgTW9uIE9jdCA5IDE2OjQzOjQ1IFVUQyAyMDIz CgovdXNyL2Jpbi91bmFtZSAtcCA9IHg4Nl82NAovYmluL3VuYW1lIC1YICAg ICA9IHVua25vd24KCi9iaW4vYXJjaCAgICAgICAgICAgICAgPSB4ODZfNjQK L3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9jb252ZXgv Z2V0c3lzaW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9 IHVua25vd24KL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IHVua25vd24KL3Vz ci9iaW4vb3NsZXZlbCAgICAgICA9IHVua25vd24KL2Jpbi91bml2ZXJzZSAg ICAgICAgICA9IHVua25vd24KClBBVEg6IC9ob21lL3dlc2xsZXlwL2dlbXMv YmluClBBVEg6IC9ob21lL3dlc2xsZXlwL01BVExBQi9SMjAyMmEvYmluClBB VEg6IC9vcHQvaW50ZWwvb25lYXBpL3Z0dW5lLzIwMjMuMi4wL2JpbjY0ClBB VEg6IC9vcHQvaW50ZWwvb25lYXBpL21waS8yMDIxLjEwLjAvL2xpYmZhYnJp Yy9iaW4KUEFUSDogL29wdC9pbnRlbC9vbmVhcGkvbXBpLzIwMjEuMTAuMC8v YmluClBBVEg6IC9vcHQvaW50ZWwvb25lYXBpL21rbC8yMDIzLjIuMC9iaW4v aW50ZWw2NApQQVRIOiAvb3B0L2ludGVsL29uZWFwaS9kZXYtdXRpbGl0aWVz LzIwMjEuMTAuMC9iaW4KUEFUSDogL29wdC9pbnRlbC9vbmVhcGkvZGVidWdn ZXIvMjAyMy4yLjAvZ2RiL2ludGVsNjQvYmluClBBVEg6IC9vcHQvaW50ZWwv b25lYXBpL2NvbXBpbGVyLzIwMjMuMi4xL2xpbnV4L2xpYi9vY2xmcGdhL2Jp bgpQQVRIOiAvb3B0L2ludGVsL29uZWFwaS9jb21waWxlci8yMDIzLjIuMS9s aW51eC9iaW4vaW50ZWw2NApQQVRIOiAvb3B0L2ludGVsL29uZWFwaS9jb21w aWxlci8yMDIzLjIuMS9saW51eC9iaW4KUEFUSDogL2hvbWUvd2VzbGxleXAv Z2Vtcy9iaW4KUEFUSDogL2hvbWUvd2VzbGxleXAvTUFUTEFCL1IyMDIyYS9i aW4KUEFUSDogL2hvbWUvd2VzbGxleXAvbWluaWNvbmRhMy9jb25kYWJpbgpQ QVRIOiAvaG9tZS93ZXNsbGV5cC8ubG9jYWwvYmluClBBVEg6IC9ob21lL3dl c2xsZXlwL2JpbgpQQVRIOiAvdXNyL2xvY2FsL3NiaW4KUEFUSDogL3Vzci9s b2NhbC9iaW4KUEFUSDogL3Vzci9zYmluClBBVEg6IC91c3IvYmluClBBVEg6 IC9zYmluClBBVEg6IC9iaW4KUEFUSDogL3Vzci9nYW1lcwpQQVRIOiAvdXNy L2xvY2FsL2dhbWVzClBBVEg6IC9zbmFwL2JpbgoKCiMjIC0tLS0tLS0tLS0t ICMjCiMjIENvcmUgdGVzdHMuICMjCiMjIC0tLS0tLS0tLS0tICMjCgpjb25m aWd1cmU6MjM5NjogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUKY29uZmln dXJlOjI0MTA6IHJlc3VsdDogeDg2XzY0LXBjLWxpbnV4LWdudQpjb25maWd1 cmU6MjQ1NzogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6 MjQ3MDogcmVzdWx0OiB4ODZfNjQtcGMtbGludXgtZ251CmNvbmZpZ3VyZToy NDkwOiBjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjI1 MDM6IHJlc3VsdDogeDg2XzY0LXBjLWxpbnV4LWdudQpjb25maWd1cmU6MjU1 NzogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbApjb25m aWd1cmU6MjYyNTogcmVzdWx0OiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNvbmZp Z3VyZToyNjM2OiBjaGVja2luZyB3aGV0aGVyIGxuIHdvcmtzCmNvbmZpZ3Vy ZToyNjU4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjY2MjogY2hlY2tpbmcg d2hldGhlciBsbiAtcyB3b3Jrcwpjb25maWd1cmU6MjY2NjogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjI2NzM6IGNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRv ZXMgbm90IHRydW5jYXRlIG91dHB1dApjb25maWd1cmU6MjczNzogcmVzdWx0 OiAvdXNyL2Jpbi9zZWQKY29uZmlndXJlOjI3NDY6IGNoZWNraW5nIGZvciBn YXdrCmNvbmZpZ3VyZToyNzYyOiBmb3VuZCAvdXNyL2Jpbi9nYXdrCmNvbmZp Z3VyZToyNzczOiByZXN1bHQ6IGdhd2sKY29uZmlndXJlOjMyOTk6IGNoZWNr aW5nIGZvciBsaWJhdG9taWMgc3VwcG9ydApjb25maWd1cmU6MzMwOTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjMzMTg6IGNoZWNraW5nIGZvciBsaWJpdG0g c3VwcG9ydApjb25maWd1cmU6MzMyODogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjMzMzc6IGNoZWNraW5nIGZvciBsaWJzYW5pdGl6ZXIgc3VwcG9ydApjb25m aWd1cmU6MzM0NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzNTY6IGNoZWNr aW5nIGZvciBsaWJ2dHYgc3VwcG9ydApjb25maWd1cmU6MzM2NjogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjM0ODY6IGNoZWNraW5nIGZvciBsaWJwaG9ib3Mg c3VwcG9ydApjb25maWd1cmU6MzQ5NjogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjQyMDU6IGNoZWNraW5nIGZvciBnY2MKY29uZmlndXJlOjQyMjE6IGZvdW5k IC91c3IvYmluL2djYwpjb25maWd1cmU6NDIzMjogcmVzdWx0OiBnY2MKY29u ZmlndXJlOjQ0NjE6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24K Y29uZmlndXJlOjQ0NzA6IGdjYyAtLXZlcnNpb24gPiY1CmdjYyAoVWJ1bnR1 IDkuNC4wLTF1YnVudHUxfjIwLjA0LjIpIDkuNC4wCkNvcHlyaWdodCAoQykg MjAxOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBm cmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25k aXRpb25zLiAgVGhlcmUgaXMgTk8Kd2FycmFudHk7IG5vdCBldmVuIGZvciBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuCgpjb25maWd1cmU6NDQ4MTogJD8gPSAwCmNvbmZpZ3VyZTo0NDcw OiBnY2MgLXYgPiY1ClVzaW5nIGJ1aWx0LWluIHNwZWNzLgpDT0xMRUNUX0dD Qz1nY2MKQ09MTEVDVF9MVE9fV1JBUFBFUj0vdXNyL2xpYi9nY2MveDg2XzY0 LWxpbnV4LWdudS85L2x0by13cmFwcGVyCk9GRkxPQURfVEFSR0VUX05BTUVT PW52cHR4LW5vbmU6aHNhCk9GRkxPQURfVEFSR0VUX0RFRkFVTFQ9MQpUYXJn ZXQ6IHg4Nl82NC1saW51eC1nbnUKQ29uZmlndXJlZCB3aXRoOiAuLi9zcmMv Y29uZmlndXJlIC12IC0td2l0aC1wa2d2ZXJzaW9uPSdVYnVudHUgOS40LjAt MXVidW50dTF+MjAuMDQuMicgLS13aXRoLWJ1Z3VybD1maWxlOi8vL3Vzci9z aGFyZS9kb2MvZ2NjLTkvUkVBRE1FLkJ1Z3MgLS1lbmFibGUtbGFuZ3VhZ2Vz PWMsYWRhLGMrKyxnbyxicmlnLGQsZm9ydHJhbixvYmpjLG9iai1jKyssZ20y IC0tcHJlZml4PS91c3IgLS13aXRoLWdjYy1tYWpvci12ZXJzaW9uLW9ubHkg LS1wcm9ncmFtLXN1ZmZpeD0tOSAtLXByb2dyYW0tcHJlZml4PXg4Nl82NC1s aW51eC1nbnUtIC0tZW5hYmxlLXNoYXJlZCAtLWVuYWJsZS1saW5rZXItYnVp bGQtaWQgLS1saWJleGVjZGlyPS91c3IvbGliIC0td2l0aG91dC1pbmNsdWRl ZC1nZXR0ZXh0IC0tZW5hYmxlLXRocmVhZHM9cG9zaXggLS1saWJkaXI9L3Vz ci9saWIgLS1lbmFibGUtbmxzIC0tZW5hYmxlLWNsb2NhbGU9Z251IC0tZW5h YmxlLWxpYnN0ZGN4eC1kZWJ1ZyAtLWVuYWJsZS1saWJzdGRjeHgtdGltZT15 ZXMgLS13aXRoLWRlZmF1bHQtbGlic3RkY3h4LWFiaT1uZXcgLS1lbmFibGUt Z251LXVuaXF1ZS1vYmplY3QgLS1kaXNhYmxlLXZ0YWJsZS12ZXJpZnkgLS1l bmFibGUtcGx1Z2luIC0tZW5hYmxlLWRlZmF1bHQtcGllIC0td2l0aC1zeXN0 ZW0temxpYiAtLXdpdGgtdGFyZ2V0LXN5c3RlbS16bGliPWF1dG8gLS1lbmFi bGUtb2JqYy1nYz1hdXRvIC0tZW5hYmxlLW11bHRpYXJjaCAtLWRpc2FibGUt d2Vycm9yIC0td2l0aC1hcmNoLTMyPWk2ODYgLS13aXRoLWFiaT1tNjQgLS13 aXRoLW11bHRpbGliLWxpc3Q9bTMyLG02NCxteDMyIC0tZW5hYmxlLW11bHRp bGliIC0td2l0aC10dW5lPWdlbmVyaWMgLS1lbmFibGUtb2ZmbG9hZC10YXJn ZXRzPW52cHR4LW5vbmU9L2J1aWxkL2djYy05LTlRRE90MC9nY2MtOS05LjQu MC9kZWJpYW4vdG1wLW52cHR4L3Vzcixoc2EgLS13aXRob3V0LWN1ZGEtZHJp dmVyIC0tZW5hYmxlLWNoZWNraW5nPXJlbGVhc2UgLS1idWlsZD14ODZfNjQt bGludXgtZ251IC0taG9zdD14ODZfNjQtbGludXgtZ251IC0tdGFyZ2V0PXg4 Nl82NC1saW51eC1nbnUKVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lv biA5LjQuMCAoVWJ1bnR1IDkuNC4wLTF1YnVudHUxfjIwLjA0LjIpIApjb25m aWd1cmU6NDQ4MTogJD8gPSAwCmNvbmZpZ3VyZTo0NDcwOiBnY2MgLVYgPiY1 CmdjYzogZXJyb3I6IHVucmVjb2duaXplZCBjb21tYW5kIGxpbmUgb3B0aW9u ICctVicKZ2NjOiBmYXRhbCBlcnJvcjogbm8gaW5wdXQgZmlsZXMKY29tcGls YXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjQ0ODE6ICQ/ID0gMQpjb25m aWd1cmU6NDQ3MDogZ2NjIC1xdmVyc2lvbiA+JjUKZ2NjOiBlcnJvcjogdW5y ZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1xdmVyc2lvbic7IGRp ZCB5b3UgbWVhbiAnLS12ZXJzaW9uJz8KZ2NjOiBmYXRhbCBlcnJvcjogbm8g aW5wdXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJl OjQ0ODE6ICQ/ID0gMQpjb25maWd1cmU6NDUwMTogY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciB3b3Jrcwpjb25maWd1cmU6NDUyMzogZ2NjICAg IGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NDUyNzogJD8gPSAwCmNvbmZp Z3VyZTo0NTc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDU3ODogY2hlY2tp bmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNv bmZpZ3VyZTo0NTgwOiByZXN1bHQ6IGEub3V0CmNvbmZpZ3VyZTo0NTg2OiBj aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzCmNvbmZpZ3VyZTo0 NTkzOiBnY2MgLW8gY29uZnRlc3QgICAgY29uZnRlc3QuYyAgPiY1CmNvbmZp Z3VyZTo0NTk3OiAkPyA9IDAKY29uZmlndXJlOjQ2MTk6IHJlc3VsdDogCmNv bmZpZ3VyZTo0NjQxOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj b21waWxpbmcKY29uZmlndXJlOjQ2NDk6IGdjYyAtbyBjb25mdGVzdCAgICBj b25mdGVzdC5jICA+JjUKY29uZmlndXJlOjQ2NTM6ICQ/ID0gMApjb25maWd1 cmU6NDY2MDogLi9jb25mdGVzdApjb25maWd1cmU6NDY2NDogJD8gPSAwCmNv bmZpZ3VyZTo0NjUyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0NjU3OiBjaGVj a2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcwpjb25maWd1cmU6NDY3 OTogZ2NjIC1jICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ2ODM6ICQ/ ID0gMApjb25maWd1cmU6NDcwNDogcmVzdWx0OiBvCmNvbmZpZ3VyZTo0NzA4 OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29t cGlsZXIKY29uZmlndXJlOjQ3Mjc6IGdjYyAtYyAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZTo0NzI3OiAkPyA9IDAKY29uZmlndXJlOjQ3MzY6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo0NzQ1OiBjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nCmNvbmZpZ3VyZTo0NzY1OiBnY2MgLWMgLWcgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo0NzY1OiAkPyA9IDAKY29uZmlndXJlOjQ4MDY6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODIzOiBjaGVja2luZyBmb3IgZ2Nj IG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6NDg4NjogZ2Nj ICAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODg2OiAk PyA9IDAKY29uZmlndXJlOjQ4OTk6IHJlc3VsdDogbm9uZSBuZWVkZWQKY29u ZmlndXJlOjQ5MTk6IGNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2Vw dCBJU08gQzk5CmNvbmZpZ3VyZTo1MDY4OiBnY2MgIC1jIC1nIC1PMiAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjUwNjg6ICQ/ID0gMApjb25maWd1cmU6 NTA4MTogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1cmU6NTE1NDogY2hl Y2tpbmcgZm9yIGcrKwpjb25maWd1cmU6NTE3MDogZm91bmQgL3Vzci9iaW4v ZysrCmNvbmZpZ3VyZTo1MTgxOiByZXN1bHQ6IGcrKwpjb25maWd1cmU6NTIw ODogY2hlY2tpbmcgZm9yIEMrKyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3Vy ZTo1MjE3OiBnKysgLS12ZXJzaW9uID4mNQpnKysgKFVidW50dSA5LjQuMC0x dWJ1bnR1MX4yMC4wNC4yKSA5LjQuMApDb3B5cmlnaHQgKEMpIDIwMTkgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0 d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4g IFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgoK Y29uZmlndXJlOjUyMjg6ICQ/ID0gMApjb25maWd1cmU6NTIxNzogZysrIC12 ID4mNQpVc2luZyBidWlsdC1pbiBzcGVjcy4KQ09MTEVDVF9HQ0M9ZysrCkNP TExFQ1RfTFRPX1dSQVBQRVI9L3Vzci9saWIvZ2NjL3g4Nl82NC1saW51eC1n bnUvOS9sdG8td3JhcHBlcgpPRkZMT0FEX1RBUkdFVF9OQU1FUz1udnB0eC1u b25lOmhzYQpPRkZMT0FEX1RBUkdFVF9ERUZBVUxUPTEKVGFyZ2V0OiB4ODZf NjQtbGludXgtZ251CkNvbmZpZ3VyZWQgd2l0aDogLi4vc3JjL2NvbmZpZ3Vy ZSAtdiAtLXdpdGgtcGtndmVyc2lvbj0nVWJ1bnR1IDkuNC4wLTF1YnVudHUx fjIwLjA0LjInIC0td2l0aC1idWd1cmw9ZmlsZTovLy91c3Ivc2hhcmUvZG9j L2djYy05L1JFQURNRS5CdWdzIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGFkYSxj KyssZ28sYnJpZyxkLGZvcnRyYW4sb2JqYyxvYmotYysrLGdtMiAtLXByZWZp eD0vdXNyIC0td2l0aC1nY2MtbWFqb3ItdmVyc2lvbi1vbmx5IC0tcHJvZ3Jh bS1zdWZmaXg9LTkgLS1wcm9ncmFtLXByZWZpeD14ODZfNjQtbGludXgtZ251 LSAtLWVuYWJsZS1zaGFyZWQgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIC0t bGliZXhlY2Rpcj0vdXNyL2xpYiAtLXdpdGhvdXQtaW5jbHVkZWQtZ2V0dGV4 dCAtLWVuYWJsZS10aHJlYWRzPXBvc2l4IC0tbGliZGlyPS91c3IvbGliIC0t ZW5hYmxlLW5scyAtLWVuYWJsZS1jbG9jYWxlPWdudSAtLWVuYWJsZS1saWJz dGRjeHgtZGVidWcgLS1lbmFibGUtbGlic3RkY3h4LXRpbWU9eWVzIC0td2l0 aC1kZWZhdWx0LWxpYnN0ZGN4eC1hYmk9bmV3IC0tZW5hYmxlLWdudS11bmlx dWUtb2JqZWN0IC0tZGlzYWJsZS12dGFibGUtdmVyaWZ5IC0tZW5hYmxlLXBs dWdpbiAtLWVuYWJsZS1kZWZhdWx0LXBpZSAtLXdpdGgtc3lzdGVtLXpsaWIg LS13aXRoLXRhcmdldC1zeXN0ZW0temxpYj1hdXRvIC0tZW5hYmxlLW9iamMt Z2M9YXV0byAtLWVuYWJsZS1tdWx0aWFyY2ggLS1kaXNhYmxlLXdlcnJvciAt LXdpdGgtYXJjaC0zMj1pNjg2IC0td2l0aC1hYmk9bTY0IC0td2l0aC1tdWx0 aWxpYi1saXN0PW0zMixtNjQsbXgzMiAtLWVuYWJsZS1tdWx0aWxpYiAtLXdp dGgtdHVuZT1nZW5lcmljIC0tZW5hYmxlLW9mZmxvYWQtdGFyZ2V0cz1udnB0 eC1ub25lPS9idWlsZC9nY2MtOS05UURPdDAvZ2NjLTktOS40LjAvZGViaWFu L3RtcC1udnB0eC91c3IsaHNhIC0td2l0aG91dC1jdWRhLWRyaXZlciAtLWVu YWJsZS1jaGVja2luZz1yZWxlYXNlIC0tYnVpbGQ9eDg2XzY0LWxpbnV4LWdu dSAtLWhvc3Q9eDg2XzY0LWxpbnV4LWdudSAtLXRhcmdldD14ODZfNjQtbGlu dXgtZ251ClRocmVhZCBtb2RlbDogcG9zaXgKZ2NjIHZlcnNpb24gOS40LjAg KFVidW50dSA5LjQuMC0xdWJ1bnR1MX4yMC4wNC4yKSAKY29uZmlndXJlOjUy Mjg6ICQ/ID0gMApjb25maWd1cmU6NTIxNzogZysrIC1WID4mNQpnKys6IGVy cm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnLVYnCmcr KzogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZpbGVzCmNvbXBpbGF0aW9uIHRl cm1pbmF0ZWQuCmNvbmZpZ3VyZTo1MjI4OiAkPyA9IDEKY29uZmlndXJlOjUy MTc6IGcrKyAtcXZlcnNpb24gPiY1CmcrKzogZXJyb3I6IHVucmVjb2duaXpl ZCBjb21tYW5kIGxpbmUgb3B0aW9uICctcXZlcnNpb24nOyBkaWQgeW91IG1l YW4gJy0tdmVyc2lvbic/CmcrKzogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZp bGVzCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo1MjI4OiAk PyA9IDEKY29uZmlndXJlOjUyMzI6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IHVzaW5nIHRoZSBHTlUgQysrIGNvbXBpbGVyCmNvbmZpZ3VyZTo1MjUxOiBn KysgLWMgICBjb25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZTo1MjUxOiAkPyA9 IDAKY29uZmlndXJlOjUyNjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MjY5 OiBjaGVja2luZyB3aGV0aGVyIGcrKyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTo1 Mjg5OiBnKysgLWMgLWcgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjUy ODk6ICQ/ID0gMApjb25maWd1cmU6NTMzMDogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjUzNzk6IGNoZWNraW5nIHdoZXRoZXIgZysrIGFjY2VwdHMgLXN0YXRp Yy1saWJzdGRjKysgLXN0YXRpYy1saWJnY2MKY29uZmlndXJlOjUzOTY6IGcr KyAtbyBjb25mdGVzdCAtZyAtTzIgICAtc3RhdGljLWxpYnN0ZGMrKyAtc3Rh dGljLWxpYmdjYyBjb25mdGVzdC5jcHAgID4mNQpjb25maWd1cmU6NTM5Njog JD8gPSAwCmNvbmZpZ3VyZTo1Mzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 NTQ2MTogY2hlY2tpbmcgZm9yIGduYXRiaW5kCmNvbmZpZ3VyZTo1NDkxOiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NTUzOiBjaGVja2luZyBmb3IgZ25hdG1h a2UKY29uZmlndXJlOjU1ODM6IHJlc3VsdDogbm8KY29uZmlndXJlOjU2MDI6 IGNoZWNraW5nIHdoZXRoZXIgY29tcGlsZXIgZHJpdmVyIHVuZGVyc3RhbmRz IEFkYSBhbmQgaXMgcmVjZW50IGVub3VnaApjb25maWd1cmU6NTYyOTogcmVz dWx0OiBubwpjb25maWd1cmU6NTY4MzogY2hlY2tpbmcgZm9yIGdkYwpjb25m aWd1cmU6NTcxMzogcmVzdWx0OiBubwpjb25maWd1cmU6NTczMjogY2hlY2tp bmcgd2hldGhlciB0aGUgRCBjb21waWxlciB3b3Jrcwpjb25maWd1cmU6NTc0 OTogcmVzdWx0OiBubwpjb25maWd1cmU6NTc1NzogY2hlY2tpbmcgaG93IHRv IGNvbXBhcmUgYm9vdHN0cmFwcGVkIG9iamVjdHMKY29uZmlndXJlOjU3ODI6 IHJlc3VsdDogY21wIC0taWdub3JlLWluaXRpYWw9MTYgJCRmMSAkJGYyCmNv bmZpZ3VyZTo1ODQ5OiBjaGVja2luZyB3aGV0aGVyIGcrKyBzdXBwb3J0cyBD KysxMSBmZWF0dXJlcyBieSBkZWZhdWx0CmNvbmZpZ3VyZTo2MTQ1OiBnKysg LWMgLWcgLU8yICBjb25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZTo2MTQ1OiAk PyA9IDAKY29uZmlndXJlOjYxNTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3 OTI2OiBjaGVja2luZyBmb3Igb2JqZGlyCmNvbmZpZ3VyZTo3OTQxOiByZXN1 bHQ6IC5saWJzCmNvbmZpZ3VyZTo4MTExOiBjaGVja2luZyBmb3IgdGhlIGNv cnJlY3QgdmVyc2lvbiBvZiBnbXAuaApjb25maWd1cmU6ODEzMDogZ2NjIC1j IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4MTMwOiAkPyA9 IDAKY29uZmlndXJlOjgxNDg6IGdjYyAtYyAtZyAtTzIgICBjb25mdGVzdC5j ID4mNQpjb25maWd1cmU6ODE0ODogJD8gPSAwCmNvbmZpZ3VyZTo4MTQ5OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6ODE2NTogY2hlY2tpbmcgZm9yIHRoZSBj b3JyZWN0IHZlcnNpb24gb2YgbXBmci5oCmNvbmZpZ3VyZTo4MTgzOiBnY2Mg LWMgLWcgLU8yICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjgxODM6ICQ/ ID0gMApjb25maWd1cmU6ODIwMDogZ2NjIC1jIC1nIC1PMiAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo4MjAwOiAkPyA9IDAKY29uZmlndXJlOjgyMDE6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjE4OiBjaGVja2luZyBmb3IgdGhl IGNvcnJlY3QgdmVyc2lvbiBvZiBtcGMuaApjb25maWd1cmU6ODIzNTogZ2Nj IC1jIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4MjM1OiAk PyA9IDAKY29uZmlndXJlOjgyNTE6IGdjYyAtYyAtZyAtTzIgICBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6ODI1MTogJD8gPSAwCmNvbmZpZ3VyZTo4MjUy OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODI3MDogY2hlY2tpbmcgZm9yIHRo ZSBjb3JyZWN0IHZlcnNpb24gb2YgdGhlIGdtcC9tcGZyIGxpYnJhcmllcwpj b25maWd1cmU6ODI5NDogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgICBjb25m dGVzdC5jICAtbG1wYyAtbG1wZnIgLWxnbXAgPiY1CmNvbmZpZ3VyZTo4Mjk0 OiAkPyA9IDAKY29uZmlndXJlOjgyOTU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo4MzEwOiBjaGVja2luZyBmb3IgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiB0 aGUgbXBjIGxpYnJhcmllcwpjb25maWd1cmU6ODMzMTogZ2NjIC1vIGNvbmZ0 ZXN0IC1nIC1PMiAgICBjb25mdGVzdC5jICAtbG1wYyAtbG1wZnIgLWxnbXAg PiY1CmNvbmZpZ3VyZTo4MzMxOiAkPyA9IDAKY29uZmlndXJlOjgzMzI6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo4NTU3OiBjaGVja2luZyBmb3IgaXNsIDAu MTUgb3IgbGF0ZXIKY29uZmlndXJlOjg1NzA6IGdjYyAtbyBjb25mdGVzdCAt ZyAtTzIgICAgICAtbGlzbCAtbG1wYyAtbG1wZnIgLWxnbXAgY29uZnRlc3Qu YyAgLWxpc2wgLWxnbXAgPiY1CmNvbmZ0ZXN0LmM6MTE6MTA6IGZhdGFsIGVy cm9yOiBpc2wvc2NoZWR1bGUuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQogICAxMSB8ICNpbmNsdWRlIDxpc2wvc2NoZWR1bGUuaD4KICAgICAgfCAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0 ZWQuCmNvbmZpZ3VyZTo4NTcwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgSEFWRV9DWFgxMSAxCnwg I2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPGlzbC9zY2hlZHVsZS5oPgp8IGludAp8IG1h aW4gKCkKfCB7CnwgaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX3NlcmlhbGl6 ZV9zY2NzIChOVUxMLCAwKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjg1Nzc6IHJlc3VsdDogbm8KY29uZmlndXJlOjg1ODE6IHJlc3Vs dDogcmVxdWlyZWQgaXNsIHZlcnNpb24gaXMgMC4xNSBvciBsYXRlcgpjb25m aWd1cmU6OTgwNDogY2hlY2tpbmcgZm9yIGRlZmF1bHQgQlVJTERfQ09ORklH CmNvbmZpZ3VyZTo5ODM2OiByZXN1bHQ6IApjb25maWd1cmU6OTg0MTogY2hl Y2tpbmcgZm9yIC0tZW5hYmxlLXZ0YWJsZS12ZXJpZnkKY29uZmlndXJlOjk4 NTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwNTA5OiBjaGVja2luZyBmb3Ig Ymlzb24KY29uZmlndXJlOjEwNTI1OiBmb3VuZCAvdXNyL2Jpbi9iaXNvbgpj b25maWd1cmU6MTA1MzY6IHJlc3VsdDogYmlzb24gLXkKY29uZmlndXJlOjEw NTU2OiBjaGVja2luZyBmb3IgYmlzb24KY29uZmlndXJlOjEwNTcyOiBmb3Vu ZCAvdXNyL2Jpbi9iaXNvbgpjb25maWd1cmU6MTA1ODM6IHJlc3VsdDogYmlz b24KY29uZmlndXJlOjEwNjAzOiBjaGVja2luZyBmb3IgZ200CmNvbmZpZ3Vy ZToxMDYzMzogcmVzdWx0OiBubwpjb25maWd1cmU6MTA2MDM6IGNoZWNraW5n IGZvciBnbnVtNApjb25maWd1cmU6MTA2MzM6IHJlc3VsdDogbm8KY29uZmln dXJlOjEwNjAzOiBjaGVja2luZyBmb3IgbTQKY29uZmlndXJlOjEwNjE5OiBm b3VuZCAvdXNyL2Jpbi9tNApjb25maWd1cmU6MTA2MzA6IHJlc3VsdDogbTQK Y29uZmlndXJlOjEwNjUwOiBjaGVja2luZyBmb3IgZmxleApjb25maWd1cmU6 MTA2NjY6IGZvdW5kIC91c3IvYmluL2ZsZXgKY29uZmlndXJlOjEwNjc3OiBy ZXN1bHQ6IGZsZXgKY29uZmlndXJlOjEwNjk4OiBjaGVja2luZyBmb3IgZmxl eApjb25maWd1cmU6MTA3MTQ6IGZvdW5kIC91c3IvYmluL2ZsZXgKY29uZmln dXJlOjEwNzI1OiByZXN1bHQ6IGZsZXgKY29uZmlndXJlOjEwNzQ1OiBjaGVj a2luZyBmb3IgbWFrZWluZm8KY29uZmlndXJlOjEwNzc1OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToxMDgwNjogY2hlY2tpbmcgZm9yIGV4cGVjdApjb25maWd1 cmU6MTA4MzY6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwODU1OiBjaGVja2lu ZyBmb3IgcnVudGVzdApjb25maWd1cmU6MTA4ODU6IHJlc3VsdDogbm8KY29u ZmlndXJlOjExMDAwOiBjaGVja2luZyBmb3IgYXIKY29uZmlndXJlOjExMDE2 OiBmb3VuZCAvdXNyL2Jpbi9hcgpjb25maWd1cmU6MTEwMjc6IHJlc3VsdDog YXIKY29uZmlndXJlOjExMTQxOiBjaGVja2luZyBmb3IgYXMKY29uZmlndXJl OjExMTU3OiBmb3VuZCAvdXNyL2Jpbi9hcwpjb25maWd1cmU6MTExNjg6IHJl c3VsdDogYXMKY29uZmlndXJlOjExMjgyOiBjaGVja2luZyBmb3IgZGxsdG9v bApjb25maWd1cmU6MTEzMTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjExNDIz OiBjaGVja2luZyBmb3IgZHN5bXV0aWwKY29uZmlndXJlOjExNDM5OiBmb3Vu ZCAvdXNyL2Jpbi9kc3ltdXRpbApjb25maWd1cmU6MTE0NTA6IHJlc3VsdDog ZHN5bXV0aWwKY29uZmlndXJlOjExNTY0OiBjaGVja2luZyBmb3IgbGQKY29u ZmlndXJlOjExNTgwOiBmb3VuZCAvdXNyL2Jpbi9sZApjb25maWd1cmU6MTE1 OTE6IHJlc3VsdDogbGQKY29uZmlndXJlOjExNzA1OiBjaGVja2luZyBmb3Ig bGlwbwpjb25maWd1cmU6MTE3MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEx ODQ2OiBjaGVja2luZyBmb3Igbm0KY29uZmlndXJlOjExODYyOiBmb3VuZCAv dXNyL2Jpbi9ubQpjb25maWd1cmU6MTE4NzM6IHJlc3VsdDogbm0KY29uZmln dXJlOjExOTg3OiBjaGVja2luZyBmb3IgcmFubGliCmNvbmZpZ3VyZToxMjAw MzogZm91bmQgL3Vzci9iaW4vcmFubGliCmNvbmZpZ3VyZToxMjAxNDogcmVz dWx0OiByYW5saWIKY29uZmlndXJlOjEyMTIzOiBjaGVja2luZyBmb3Igc3Ry aXAKY29uZmlndXJlOjEyMTM5OiBmb3VuZCAvdXNyL2Jpbi9zdHJpcApjb25m aWd1cmU6MTIxNTA6IHJlc3VsdDogc3RyaXAKY29uZmlndXJlOjEyMjU5OiBj aGVja2luZyBmb3Igd2luZHJlcwpjb25maWd1cmU6MTIyODk6IHJlc3VsdDog bm8KY29uZmlndXJlOjEyNDAwOiBjaGVja2luZyBmb3Igd2luZG1jCmNvbmZp Z3VyZToxMjQzMDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1NDE6IGNoZWNr aW5nIGZvciBvYmpjb3B5CmNvbmZpZ3VyZToxMjU1NzogZm91bmQgL3Vzci9i aW4vb2JqY29weQpjb25maWd1cmU6MTI1Njg6IHJlc3VsdDogb2JqY29weQpj b25maWd1cmU6MTI2ODI6IGNoZWNraW5nIGZvciBvYmpkdW1wCmNvbmZpZ3Vy ZToxMjY5ODogZm91bmQgL3Vzci9iaW4vb2JqZHVtcApjb25maWd1cmU6MTI3 MDk6IHJlc3VsdDogb2JqZHVtcApjb25maWd1cmU6MTI4MjM6IGNoZWNraW5n IGZvciBvdG9vbApjb25maWd1cmU6MTI4NTM6IHJlc3VsdDogbm8KY29uZmln dXJlOjEyOTY0OiBjaGVja2luZyBmb3IgcmVhZGVsZgpjb25maWd1cmU6MTI5 ODA6IGZvdW5kIC91c3IvYmluL3JlYWRlbGYKY29uZmlndXJlOjEyOTkxOiBy ZXN1bHQ6IHJlYWRlbGYKY29uZmlndXJlOjEzMDIxOiBjaGVja2luZyBmb3Ig LXBsdWdpbiBvcHRpb24KY29uZmlndXJlOjEzMTQxOiByZXN1bHQ6IC0tcGx1 Z2luIC91c3IvbGliL2djYy94ODZfNjQtbGludXgtZ251LzkvbGlibHRvX3Bs dWdpbi5zbwpjb25maWd1cmU6MTMyODg6IGNoZWNraW5nIGZvciBjYwpjb25m aWd1cmU6MTMzMDQ6IGZvdW5kIC91c3IvYmluL2NjCmNvbmZpZ3VyZToxMzMx NTogcmVzdWx0OiBjYwpjb25maWd1cmU6MTM0NDk6IGNoZWNraW5nIGZvciBj KysKY29uZmlndXJlOjEzNDY1OiBmb3VuZCAvdXNyL2Jpbi9jKysKY29uZmln dXJlOjEzNDc2OiByZXN1bHQ6IGMrKwpjb25maWd1cmU6MTM2MTA6IGNoZWNr aW5nIGZvciBnY2MKY29uZmlndXJlOjEzNjI2OiBmb3VuZCAvdXNyL2Jpbi9n Y2MKY29uZmlndXJlOjEzNjM3OiByZXN1bHQ6IGdjYwpjb25maWd1cmU6MTM3 NjY6IGNoZWNraW5nIGZvciBnZm9ydHJhbgpjb25maWd1cmU6MTM3ODI6IGZv dW5kIC91c3IvYmluL2dmb3J0cmFuCmNvbmZpZ3VyZToxMzc5MzogcmVzdWx0 OiBnZm9ydHJhbgpjb25maWd1cmU6MTM5Mjc6IGNoZWNraW5nIGZvciBnY2Nn bwpjb25maWd1cmU6MTM5NTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MDg4 OiBjaGVja2luZyBmb3IgZ2RjCmNvbmZpZ3VyZToxNDExODogcmVzdWx0OiBu bwpjb25maWd1cmU6MTQyNDk6IGNoZWNraW5nIGZvciBnbTIKY29uZmlndXJl OjE0Mjc5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDM0MDogY2hlY2tpbmcg Zm9yIGFyCmNvbmZpZ3VyZToxNDM3MzogcmVzdWx0OiBubwpjb25maWd1cmU6 MTQ0OTA6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6MTQ1MDY6IGZvdW5k IC91c3IvYmluL2FyCmNvbmZpZ3VyZToxNDUxNzogcmVzdWx0OiBhcgpjb25m aWd1cmU6MTQ1NzA6IGNoZWNraW5nIGZvciBhcwpjb25maWd1cmU6MTQ2MDM6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NzIwOiBjaGVja2luZyBmb3IgYXMK Y29uZmlndXJlOjE0NzM2OiBmb3VuZCAvdXNyL2Jpbi9hcwpjb25maWd1cmU6 MTQ3NDc6IHJlc3VsdDogYXMKY29uZmlndXJlOjE0ODAwOiBjaGVja2luZyBm b3IgZGxsdG9vbApjb25maWd1cmU6MTQ4MzM6IHJlc3VsdDogbm8KY29uZmln dXJlOjE0OTUwOiBjaGVja2luZyBmb3IgZGxsdG9vbApjb25maWd1cmU6MTQ5 ODA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1MDMwOiBjaGVja2luZyBmb3Ig ZHN5bXV0aWwKY29uZmlndXJlOjE1MDYzOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxNTE4MDogY2hlY2tpbmcgZm9yIGRzeW11dGlsCmNvbmZpZ3VyZToxNTE5 NjogZm91bmQgL3Vzci9iaW4vZHN5bXV0aWwKY29uZmlndXJlOjE1MjA3OiBy ZXN1bHQ6IGRzeW11dGlsCmNvbmZpZ3VyZToxNTI2MDogY2hlY2tpbmcgZm9y IGxkCmNvbmZpZ3VyZToxNTI5MzogcmVzdWx0OiBubwpjb25maWd1cmU6MTU0 MTA6IGNoZWNraW5nIGZvciBsZApjb25maWd1cmU6MTU0MjY6IGZvdW5kIC91 c3IvYmluL2xkCmNvbmZpZ3VyZToxNTQzNzogcmVzdWx0OiBsZApjb25maWd1 cmU6MTU0OTA6IGNoZWNraW5nIGZvciBsaXBvCmNvbmZpZ3VyZToxNTUyMzog cmVzdWx0OiBubwpjb25maWd1cmU6MTU2NDA6IGNoZWNraW5nIGZvciBsaXBv CmNvbmZpZ3VyZToxNTY3MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTU3MjA6 IGNoZWNraW5nIGZvciBubQpjb25maWd1cmU6MTU3NTM6IHJlc3VsdDogbm8K Y29uZmlndXJlOjE1ODcwOiBjaGVja2luZyBmb3Igbm0KY29uZmlndXJlOjE1 ODg2OiBmb3VuZCAvdXNyL2Jpbi9ubQpjb25maWd1cmU6MTU4OTc6IHJlc3Vs dDogbm0KY29uZmlndXJlOjE1OTUwOiBjaGVja2luZyBmb3Igb2JqY29weQpj b25maWd1cmU6MTU5ODM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2MTAwOiBj aGVja2luZyBmb3Igb2JqY29weQpjb25maWd1cmU6MTYxMTY6IGZvdW5kIC91 c3IvYmluL29iamNvcHkKY29uZmlndXJlOjE2MTI3OiByZXN1bHQ6IG9iamNv cHkKY29uZmlndXJlOjE2MTgwOiBjaGVja2luZyBmb3Igb2JqZHVtcApjb25m aWd1cmU6MTYyMTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2MzMwOiBjaGVj a2luZyBmb3Igb2JqZHVtcApjb25maWd1cmU6MTYzNDY6IGZvdW5kIC91c3Iv YmluL29iamR1bXAKY29uZmlndXJlOjE2MzU3OiByZXN1bHQ6IG9iamR1bXAK Y29uZmlndXJlOjE2NDEwOiBjaGVja2luZyBmb3Igb3Rvb2wKY29uZmlndXJl OjE2NDQzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjU2MDogY2hlY2tpbmcg Zm9yIG90b29sCmNvbmZpZ3VyZToxNjU5MDogcmVzdWx0OiBubwpjb25maWd1 cmU6MTY2NDA6IGNoZWNraW5nIGZvciByYW5saWIKY29uZmlndXJlOjE2Njcz OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjc5MDogY2hlY2tpbmcgZm9yIHJh bmxpYgpjb25maWd1cmU6MTY4MDY6IGZvdW5kIC91c3IvYmluL3JhbmxpYgpj b25maWd1cmU6MTY4MTc6IHJlc3VsdDogcmFubGliCmNvbmZpZ3VyZToxNjg3 MDogY2hlY2tpbmcgZm9yIHJlYWRlbGYKY29uZmlndXJlOjE2OTAzOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToxNzAyMDogY2hlY2tpbmcgZm9yIHJlYWRlbGYK Y29uZmlndXJlOjE3MDM2OiBmb3VuZCAvdXNyL2Jpbi9yZWFkZWxmCmNvbmZp Z3VyZToxNzA0NzogcmVzdWx0OiByZWFkZWxmCmNvbmZpZ3VyZToxNzEwMDog Y2hlY2tpbmcgZm9yIHN0cmlwCmNvbmZpZ3VyZToxNzEzMzogcmVzdWx0OiBu bwpjb25maWd1cmU6MTcyNTA6IGNoZWNraW5nIGZvciBzdHJpcApjb25maWd1 cmU6MTcyNjY6IGZvdW5kIC91c3IvYmluL3N0cmlwCmNvbmZpZ3VyZToxNzI3 NzogcmVzdWx0OiBzdHJpcApjb25maWd1cmU6MTczMzA6IGNoZWNraW5nIGZv ciB3aW5kcmVzCmNvbmZpZ3VyZToxNzM2MzogcmVzdWx0OiBubwpjb25maWd1 cmU6MTc0ODA6IGNoZWNraW5nIGZvciB3aW5kcmVzCmNvbmZpZ3VyZToxNzUx MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTc1NjA6IGNoZWNraW5nIGZvciB3 aW5kbWMKY29uZmlndXJlOjE3NTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox NzcxMDogY2hlY2tpbmcgZm9yIHdpbmRtYwpjb25maWd1cmU6MTc3NDA6IHJl c3VsdDogbm8KY29uZmlndXJlOjE3NzY4OiBjaGVja2luZyB3aGVyZSB0byBm aW5kIHRoZSB0YXJnZXQgYXIKY29uZmlndXJlOjE3ODAxOiByZXN1bHQ6IGhv c3QgdG9vbApjb25maWd1cmU6MTc4MTA6IGNoZWNraW5nIHdoZXJlIHRvIGZp bmQgdGhlIHRhcmdldCBhcwpjb25maWd1cmU6MTc4NDM6IHJlc3VsdDogaG9z dCB0b29sCmNvbmZpZ3VyZToxNzg1MjogY2hlY2tpbmcgd2hlcmUgdG8gZmlu ZCB0aGUgdGFyZ2V0IGNjCmNvbmZpZ3VyZToxNzg3NTogcmVzdWx0OiBqdXN0 IGNvbXBpbGVkCmNvbmZpZ3VyZToxNzg5NDogY2hlY2tpbmcgd2hlcmUgdG8g ZmluZCB0aGUgdGFyZ2V0IGMrKwpjb25maWd1cmU6MTc5MjA6IHJlc3VsdDog anVzdCBjb21waWxlZApjb25maWd1cmU6MTc5Mzk6IGNoZWNraW5nIHdoZXJl IHRvIGZpbmQgdGhlIHRhcmdldCBjKysgZm9yIGxpYnN0ZGMrKwpjb25maWd1 cmU6MTc5NjU6IHJlc3VsdDoganVzdCBjb21waWxlZApjb25maWd1cmU6MTc5 ODQ6IGNoZWNraW5nIHdoZXJlIHRvIGZpbmQgdGhlIHRhcmdldCBkbGx0b29s CmNvbmZpZ3VyZToxODAxNzogcmVzdWx0OiBob3N0IHRvb2wKY29uZmlndXJl OjE4MDI2OiBjaGVja2luZyB3aGVyZSB0byBmaW5kIHRoZSB0YXJnZXQgZHN5 bXV0aWwKY29uZmlndXJlOjE4MDQ4OiByZXN1bHQ6IGhvc3QgdG9vbApjb25m aWd1cmU6MTgwNTc6IGNoZWNraW5nIHdoZXJlIHRvIGZpbmQgdGhlIHRhcmdl dCBnY2MKY29uZmlndXJlOjE4MDgwOiByZXN1bHQ6IGp1c3QgY29tcGlsZWQK Y29uZmlndXJlOjE4MDk5OiBjaGVja2luZyB3aGVyZSB0byBmaW5kIHRoZSB0 YXJnZXQgZ2ZvcnRyYW4KY29uZmlndXJlOjE4MTI1OiByZXN1bHQ6IGp1c3Qg Y29tcGlsZWQKY29uZmlndXJlOjE4MTQ0OiBjaGVja2luZyB3aGVyZSB0byBm aW5kIHRoZSB0YXJnZXQgZ2NjZ28KY29uZmlndXJlOjE4MTgwOiByZXN1bHQ6 IGhvc3QgdG9vbApjb25maWd1cmU6MTgxODk6IGNoZWNraW5nIHdoZXJlIHRv IGZpbmQgdGhlIHRhcmdldCBnZGMKY29uZmlndXJlOjE4MjI1OiByZXN1bHQ6 IGhvc3QgdG9vbApjb25maWd1cmU6MTgyMzQ6IGNoZWNraW5nIHdoZXJlIHRv IGZpbmQgdGhlIHRhcmdldCBnbTIKY29uZmlndXJlOjE4MjcwOiByZXN1bHQ6 IGhvc3QgdG9vbApjb25maWd1cmU6MTgyNzk6IGNoZWNraW5nIHdoZXJlIHRv IGZpbmQgdGhlIHRhcmdldCBsZApjb25maWd1cmU6MTgzMTI6IHJlc3VsdDog aG9zdCB0b29sCmNvbmZpZ3VyZToxODMyMTogY2hlY2tpbmcgd2hlcmUgdG8g ZmluZCB0aGUgdGFyZ2V0IGxpcG8KY29uZmlndXJlOjE4MzQzOiByZXN1bHQ6 IGhvc3QgdG9vbApjb25maWd1cmU6MTgzNTI6IGNoZWNraW5nIHdoZXJlIHRv IGZpbmQgdGhlIHRhcmdldCBubQpjb25maWd1cmU6MTgzODU6IHJlc3VsdDog aG9zdCB0b29sCmNvbmZpZ3VyZToxODM5NDogY2hlY2tpbmcgd2hlcmUgdG8g ZmluZCB0aGUgdGFyZ2V0IG9iamNvcHkKY29uZmlndXJlOjE4NDI3OiByZXN1 bHQ6IGhvc3QgdG9vbApjb25maWd1cmU6MTg0MzY6IGNoZWNraW5nIHdoZXJl IHRvIGZpbmQgdGhlIHRhcmdldCBvYmpkdW1wCmNvbmZpZ3VyZToxODQ2OTog cmVzdWx0OiBob3N0IHRvb2wKY29uZmlndXJlOjE4NDc4OiBjaGVja2luZyB3 aGVyZSB0byBmaW5kIHRoZSB0YXJnZXQgb3Rvb2wKY29uZmlndXJlOjE4NTAw OiByZXN1bHQ6IGhvc3QgdG9vbApjb25maWd1cmU6MTg1MDk6IGNoZWNraW5n IHdoZXJlIHRvIGZpbmQgdGhlIHRhcmdldCByYW5saWIKY29uZmlndXJlOjE4 NTQyOiByZXN1bHQ6IGhvc3QgdG9vbApjb25maWd1cmU6MTg1NTE6IGNoZWNr aW5nIHdoZXJlIHRvIGZpbmQgdGhlIHRhcmdldCByZWFkZWxmCmNvbmZpZ3Vy ZToxODU4NDogcmVzdWx0OiBob3N0IHRvb2wKY29uZmlndXJlOjE4NTkzOiBj aGVja2luZyB3aGVyZSB0byBmaW5kIHRoZSB0YXJnZXQgc3RyaXAKY29uZmln dXJlOjE4NjI2OiByZXN1bHQ6IGhvc3QgdG9vbApjb25maWd1cmU6MTg2MzU6 IGNoZWNraW5nIHdoZXJlIHRvIGZpbmQgdGhlIHRhcmdldCB3aW5kcmVzCmNv bmZpZ3VyZToxODY2ODogcmVzdWx0OiBob3N0IHRvb2wKY29uZmlndXJlOjE4 Njc3OiBjaGVja2luZyB3aGVyZSB0byBmaW5kIHRoZSB0YXJnZXQgd2luZG1j CmNvbmZpZ3VyZToxODcxMDogcmVzdWx0OiBob3N0IHRvb2wKY29uZmlndXJl OjE4NzQ3OiBjaGVja2luZyB3aGV0aGVyIHRvIGVuYWJsZSBtYWludGFpbmVy LXNwZWNpZmljIHBvcnRpb25zIG9mIE1ha2VmaWxlcwpjb25maWd1cmU6MTg3 NTY6IHJlc3VsdDogbm8KY29uZmlndXJlOjE4OTkzOiBjcmVhdGluZyAuL2Nv bmZpZy5zdGF0dXMKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMg UnVubmluZyBjb25maWcuc3RhdHVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tICMjCgpUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IGNvbmZpZy5z dGF0dXMsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIu NjkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJ TEVTICAgID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktT ICAgID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0 dXMgCgpvbiB3ZXNsbGV5cC1YUFMtMTUtOTUxMAoKY29uZmlnLnN0YXR1czox MDg3OiBjcmVhdGluZyBNYWtlZmlsZQoKIyMgLS0tLS0tLS0tLS0tLS0tLSAj IwojIyBDYWNoZSB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0g IyMKCmFjX2N2X2J1aWxkPXg4Nl82NC1wYy1saW51eC1nbnUKYWNfY3ZfY19j b21waWxlcl9nbnU9eWVzCmFjX2N2X2N4eF9jb21waWxlcl9nbnU9eWVzCmFj X2N2X2Vudl9BUl9GT1JfVEFSR0VUX3NldD0KYWNfY3ZfZW52X0FSX0ZPUl9U QVJHRVRfdmFsdWU9CmFjX2N2X2Vudl9BUl9zZXQ9CmFjX2N2X2Vudl9BUl92 YWx1ZT0KYWNfY3ZfZW52X0FTX0ZPUl9UQVJHRVRfc2V0PQphY19jdl9lbnZf QVNfRk9SX1RBUkdFVF92YWx1ZT0KYWNfY3ZfZW52X0FTX3NldD0KYWNfY3Zf ZW52X0FTX3ZhbHVlPQphY19jdl9lbnZfQ0NDX3NldD0KYWNfY3ZfZW52X0ND Q192YWx1ZT0KYWNfY3ZfZW52X0NDX0ZPUl9UQVJHRVRfc2V0PQphY19jdl9l bnZfQ0NfRk9SX1RBUkdFVF92YWx1ZT0KYWNfY3ZfZW52X0NDX3NldD0KYWNf Y3ZfZW52X0NDX3ZhbHVlPQphY19jdl9lbnZfQ0ZMQUdTX3NldD0KYWNfY3Zf ZW52X0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0NQUEZMQUdTX3NldD0KYWNf Y3ZfZW52X0NQUEZMQUdTX3ZhbHVlPQphY19jdl9lbnZfQ1hYRkxBR1Nfc2V0 PQphY19jdl9lbnZfQ1hYRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9DWFhfRk9S X1RBUkdFVF9zZXQ9CmFjX2N2X2Vudl9DWFhfRk9SX1RBUkdFVF92YWx1ZT0K YWNfY3ZfZW52X0NYWF9zZXQ9CmFjX2N2X2Vudl9DWFhfdmFsdWU9CmFjX2N2 X2Vudl9ETExUT09MX0ZPUl9UQVJHRVRfc2V0PQphY19jdl9lbnZfRExMVE9P TF9GT1JfVEFSR0VUX3ZhbHVlPQphY19jdl9lbnZfRExMVE9PTF9zZXQ9CmFj X2N2X2Vudl9ETExUT09MX3ZhbHVlPQphY19jdl9lbnZfRFNZTVVUSUxfRk9S X1RBUkdFVF9zZXQ9CmFjX2N2X2Vudl9EU1lNVVRJTF9GT1JfVEFSR0VUX3Zh bHVlPQphY19jdl9lbnZfRFNZTVVUSUxfc2V0PQphY19jdl9lbnZfRFNZTVVU SUxfdmFsdWU9CmFjX2N2X2Vudl9HQ0NfRk9SX1RBUkdFVF9zZXQ9CmFjX2N2 X2Vudl9HQ0NfRk9SX1RBUkdFVF92YWx1ZT0KYWNfY3ZfZW52X0dEQ19GT1Jf VEFSR0VUX3NldD0KYWNfY3ZfZW52X0dEQ19GT1JfVEFSR0VUX3ZhbHVlPQph Y19jdl9lbnZfR0ZPUlRSQU5fRk9SX1RBUkdFVF9zZXQ9CmFjX2N2X2Vudl9H Rk9SVFJBTl9GT1JfVEFSR0VUX3ZhbHVlPQphY19jdl9lbnZfR00yX0ZPUl9U QVJHRVRfc2V0PQphY19jdl9lbnZfR00yX0ZPUl9UQVJHRVRfdmFsdWU9CmFj X2N2X2Vudl9HT0NfRk9SX1RBUkdFVF9zZXQ9CmFjX2N2X2Vudl9HT0NfRk9S X1RBUkdFVF92YWx1ZT0KYWNfY3ZfZW52X0xERkxBR1Nfc2V0PQphY19jdl9l bnZfTERGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0xEX0ZPUl9UQVJHRVRfc2V0 PQphY19jdl9lbnZfTERfRk9SX1RBUkdFVF92YWx1ZT0KYWNfY3ZfZW52X0xE X3NldD0KYWNfY3ZfZW52X0xEX3ZhbHVlPQphY19jdl9lbnZfTElCU19zZXQ9 CmFjX2N2X2Vudl9MSUJTX3ZhbHVlPQphY19jdl9lbnZfTElQT19GT1JfVEFS R0VUX3NldD0KYWNfY3ZfZW52X0xJUE9fRk9SX1RBUkdFVF92YWx1ZT0KYWNf Y3ZfZW52X0xJUE9fc2V0PQphY19jdl9lbnZfTElQT192YWx1ZT0KYWNfY3Zf ZW52X05NX0ZPUl9UQVJHRVRfc2V0PQphY19jdl9lbnZfTk1fRk9SX1RBUkdF VF92YWx1ZT0KYWNfY3ZfZW52X05NX3NldD0KYWNfY3ZfZW52X05NX3ZhbHVl PQphY19jdl9lbnZfT0JKQ09QWV9GT1JfVEFSR0VUX3NldD0KYWNfY3ZfZW52 X09CSkNPUFlfRk9SX1RBUkdFVF92YWx1ZT0KYWNfY3ZfZW52X09CSkNPUFlf c2V0PQphY19jdl9lbnZfT0JKQ09QWV92YWx1ZT0KYWNfY3ZfZW52X09CSkRV TVBfRk9SX1RBUkdFVF9zZXQ9CmFjX2N2X2Vudl9PQkpEVU1QX0ZPUl9UQVJH RVRfdmFsdWU9CmFjX2N2X2Vudl9PQkpEVU1QX3NldD0KYWNfY3ZfZW52X09C SkRVTVBfdmFsdWU9CmFjX2N2X2Vudl9PVE9PTF9GT1JfVEFSR0VUX3NldD0K YWNfY3ZfZW52X09UT09MX0ZPUl9UQVJHRVRfdmFsdWU9CmFjX2N2X2Vudl9P VE9PTF9zZXQ9CmFjX2N2X2Vudl9PVE9PTF92YWx1ZT0KYWNfY3ZfZW52X1JB TkxJQl9GT1JfVEFSR0VUX3NldD0KYWNfY3ZfZW52X1JBTkxJQl9GT1JfVEFS R0VUX3ZhbHVlPQphY19jdl9lbnZfUkFOTElCX3NldD0KYWNfY3ZfZW52X1JB TkxJQl92YWx1ZT0KYWNfY3ZfZW52X1JFQURFTEZfRk9SX1RBUkdFVF9zZXQ9 CmFjX2N2X2Vudl9SRUFERUxGX0ZPUl9UQVJHRVRfdmFsdWU9CmFjX2N2X2Vu dl9SRUFERUxGX3NldD0KYWNfY3ZfZW52X1JFQURFTEZfdmFsdWU9CmFjX2N2 X2Vudl9TVFJJUF9GT1JfVEFSR0VUX3NldD0KYWNfY3ZfZW52X1NUUklQX0ZP Ul9UQVJHRVRfdmFsdWU9CmFjX2N2X2Vudl9TVFJJUF9zZXQ9CmFjX2N2X2Vu dl9TVFJJUF92YWx1ZT0KYWNfY3ZfZW52X1dJTkRNQ19GT1JfVEFSR0VUX3Nl dD0KYWNfY3ZfZW52X1dJTkRNQ19GT1JfVEFSR0VUX3ZhbHVlPQphY19jdl9l bnZfV0lORE1DX3NldD0KYWNfY3ZfZW52X1dJTkRNQ192YWx1ZT0KYWNfY3Zf ZW52X1dJTkRSRVNfRk9SX1RBUkdFVF9zZXQ9CmFjX2N2X2Vudl9XSU5EUkVT X0ZPUl9UQVJHRVRfdmFsdWU9CmFjX2N2X2Vudl9XSU5EUkVTX3NldD0KYWNf Y3ZfZW52X1dJTkRSRVNfdmFsdWU9CmFjX2N2X2Vudl9idWlsZF9hbGlhc19z ZXQ9CmFjX2N2X2Vudl9idWlsZF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X2J1 aWxkX2NvbmZpZ2FyZ3Nfc2V0PQphY19jdl9lbnZfYnVpbGRfY29uZmlnYXJn c192YWx1ZT0KYWNfY3ZfZW52X2hvc3RfYWxpYXNfc2V0PQphY19jdl9lbnZf aG9zdF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X2hvc3RfY29uZmlnYXJnc19z ZXQ9CmFjX2N2X2Vudl9ob3N0X2NvbmZpZ2FyZ3NfdmFsdWU9CmFjX2N2X2Vu dl90YXJnZXRfYWxpYXNfc2V0PQphY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3Zh bHVlPQphY19jdl9lbnZfdGFyZ2V0X2NvbmZpZ2FyZ3Nfc2V0PQphY19jdl9l bnZfdGFyZ2V0X2NvbmZpZ2FyZ3NfdmFsdWU9CmFjX2N2X2hvc3Q9eDg2XzY0 LXBjLWxpbnV4LWdudQphY19jdl9vYmpleHQ9bwphY19jdl9wYXRoX1NFRD0v dXNyL2Jpbi9zZWQKYWNfY3ZfcGF0aF9pbnN0YWxsPScvdXNyL2Jpbi9pbnN0 YWxsIC1jJwphY19jdl9wcm9nX0FSPWFyCmFjX2N2X3Byb2dfQVJfRk9SX1RB UkdFVD1hcgphY19jdl9wcm9nX0FTPWFzCmFjX2N2X3Byb2dfQVNfRk9SX1RB UkdFVD1hcwphY19jdl9wcm9nX0FXSz1nYXdrCmFjX2N2X3Byb2dfQklTT049 Ymlzb24KYWNfY3ZfcHJvZ19DQ19GT1JfVEFSR0VUPWNjCmFjX2N2X3Byb2df Q1hYX0ZPUl9UQVJHRVQ9YysrCmFjX2N2X3Byb2dfRFNZTVVUSUw9ZHN5bXV0 aWwKYWNfY3ZfcHJvZ19EU1lNVVRJTF9GT1JfVEFSR0VUPWRzeW11dGlsCmFj X2N2X3Byb2dfRkxFWD1mbGV4CmFjX2N2X3Byb2dfR0NDX0ZPUl9UQVJHRVQ9 Z2NjCmFjX2N2X3Byb2dfR0ZPUlRSQU5fRk9SX1RBUkdFVD1nZm9ydHJhbgph Y19jdl9wcm9nX0xEPWxkCmFjX2N2X3Byb2dfTERfRk9SX1RBUkdFVD1sZAph Y19jdl9wcm9nX0xFWD1mbGV4CmFjX2N2X3Byb2dfTTQ9bTQKYWNfY3ZfcHJv Z19OTT1ubQphY19jdl9wcm9nX05NX0ZPUl9UQVJHRVQ9bm0KYWNfY3ZfcHJv Z19PQkpDT1BZPW9iamNvcHkKYWNfY3ZfcHJvZ19PQkpDT1BZX0ZPUl9UQVJH RVQ9b2JqY29weQphY19jdl9wcm9nX09CSkRVTVA9b2JqZHVtcAphY19jdl9w cm9nX09CSkRVTVBfRk9SX1RBUkdFVD1vYmpkdW1wCmFjX2N2X3Byb2dfUkFO TElCPXJhbmxpYgphY19jdl9wcm9nX1JBTkxJQl9GT1JfVEFSR0VUPXJhbmxp YgphY19jdl9wcm9nX1JFQURFTEY9cmVhZGVsZgphY19jdl9wcm9nX1JFQURF TEZfRk9SX1RBUkdFVD1yZWFkZWxmCmFjX2N2X3Byb2dfU1RSSVA9c3RyaXAK YWNfY3ZfcHJvZ19TVFJJUF9GT1JfVEFSR0VUPXN0cmlwCmFjX2N2X3Byb2df WUFDQz0nYmlzb24gLXknCmFjX2N2X3Byb2dfYWNfY3RfQ0M9Z2NjCmFjX2N2 X3Byb2dfYWNfY3RfQ1hYPWcrKwphY19jdl9wcm9nX2NjX2M4OT0KYWNfY3Zf cHJvZ19jY19jOTk9CmFjX2N2X3Byb2dfY2NfZz15ZXMKYWNfY3ZfcHJvZ19j eHhfZz15ZXMKYWNfY3ZfdGFyZ2V0PXg4Nl82NC1wYy1saW51eC1nbnUKYWN4 X2N2X2NjX2djY19zdXBwb3J0c19hZGE9bm8KYWN4X2N2X2RfY29tcGlsZXJf d29ya3M9bm8KYWN4X2N2X3Byb2dfTE49bG4KYXhfY3ZfY3h4X2NvbXBpbGVf Y3h4MTE9eWVzCmdjY19jdl9pc2w9bm8KZ2NjX2N2X3Byb2dfY21wX3NraXA9 J2NtcCAtLWlnbm9yZS1pbml0aWFsPTE2ICQkZjEgJCRmMicKZ2NjX2N2X3Rv b2xfZGlycz0vdXNyL2xvY2FsL2xpYmV4ZWMvZ2NjL3g4Nl82NC1wYy1saW51 eC1nbnUvMTQuMC4wOi91c3IvbG9jYWwvbGliZXhlYy9nY2MveDg2XzY0LXBj LWxpbnV4LWdudTovdXNyL2xpYi9nY2MveDg2XzY0LXBjLWxpbnV4LWdudS8x NC4wLjA6L3Vzci9saWIvZ2NjL3g4Nl82NC1wYy1saW51eC1nbnU6L3Vzci9s b2NhbC94ODZfNjQtcGMtbGludXgtZ251L2Jpbi94ODZfNjQtcGMtbGludXgt Z251LzE0LjAuMDovdXNyL2xvY2FsL3g4Nl82NC1wYy1saW51eC1nbnUvYmlu OgpnY2NfY3ZfdG9vbF9wcmVmaXg9L3Vzci9sb2NhbApsdF9jdl9vYmpkaXI9 LmxpYnMKCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIE91dHB1dCB2YXJp YWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCgpBUj0nYXInCkFS X0ZPUl9CVUlMRD0nJChBUiknCkFSX0ZPUl9UQVJHRVQ9JyQoQVIpJwpBUl9Q TFVHSU5fT1BUSU9OPSctLXBsdWdpbiAvdXNyL2xpYi9nY2MveDg2XzY0LWxp bnV4LWdudS85L2xpYmx0b19wbHVnaW4uc28nCkFTPSdhcycKQVNfRk9SX0JV SUxEPSckKEFTKScKQVNfRk9SX1RBUkdFVD0nJChBUyknCkFXSz0nZ2F3aycK QklTT049J2Jpc29uJwpCVUlMRF9DT05GSUc9JycKQ0M9J2djYycKQ0NfRk9S X0JVSUxEPSckKENDKScKQ0NfRk9SX1RBUkdFVD0nJCRyLyQoSE9TVF9TVUJE SVIpL2djYy94Z2NjIC1CJCRyLyQoSE9TVF9TVUJESVIpL2djYy8nCkNGTEFH Uz0nLWcgLU8yJwpDRkxBR1NfRk9SX0JVSUxEPSctZyAtTzInCkNGTEFHU19G T1JfVEFSR0VUPSctZyAtTzInCkNPTVBJTEVSX0FTX0ZPUl9UQVJHRVQ9JyQk ci8kKEhPU1RfU1VCRElSKS9nY2MvYXMnCkNPTVBJTEVSX0xEX0ZPUl9UQVJH RVQ9JyQkci8kKEhPU1RfU1VCRElSKS9nY2MvY29sbGVjdC1sZCcKQ09NUElM RVJfTk1fRk9SX1RBUkdFVD0nJCRyLyQoSE9TVF9TVUJESVIpL2djYy9ubScK Q09ORklHVVJFX0dEQl9USz0nJwpDUFBGTEFHUz0nJwpDUFBGTEFHU19GT1Jf QlVJTEQ9JycKQ1BQX0ZPUl9CVUlMRD0nJwpDWFg9J2crKycKQ1hYRkxBR1M9 Jy1nIC1PMicKQ1hYRkxBR1NfRk9SX0JVSUxEPSctZyAtTzInCkNYWEZMQUdT X0ZPUl9UQVJHRVQ9Jy1nIC1PMicKQ1hYX0ZPUl9CVUlMRD0nJChDWFgpJwpD WFhfRk9SX1RBUkdFVD0nJCRyLyQoSE9TVF9TVUJESVIpL2djYy94ZysrIC1C JCRyLyQoSE9TVF9TVUJESVIpL2djYy8gLW5vc3RkaW5jKysgYGlmIHRlc3Qg LWYgJCRyLyQoVEFSR0VUX1NVQkRJUikvbGlic3RkYysrLXYzL3NjcmlwdHMv dGVzdHN1aXRlX2ZsYWdzOyB0aGVuICQoU0hFTEwpICQkci8kKFRBUkdFVF9T VUJESVIpL2xpYnN0ZGMrKy12My9zY3JpcHRzL3Rlc3RzdWl0ZV9mbGFncyAt LWJ1aWxkLWluY2x1ZGVzOyBlbHNlIGVjaG8gLWZ1bmNvbmZpZ3VyZWQtbGli c3RkYysrLXYzIDsgZmlgIC1MJCRyLyQoVEFSR0VUX1NVQkRJUikvbGlic3Rk YysrLXYzL3NyYyAtTCQkci8kKFRBUkdFVF9TVUJESVIpL2xpYnN0ZGMrKy12 My9zcmMvLmxpYnMgLUwkJHIvJChUQVJHRVRfU1VCRElSKS9saWJzdGRjKyst djMvbGlic3VwYysrLy5saWJzJwpERUJVR19QUkVGSVhfQ0ZMQUdTX0ZPUl9U QVJHRVQ9JycKREVGUz0nLURQQUNLQUdFX05BTUU9XCJcIiAtRFBBQ0tBR0Vf VEFSTkFNRT1cIlwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiXCIgLURQQUNLQUdF X1NUUklORz1cIlwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tB R0VfVVJMPVwiXCIgLURIQVZFX0NYWDExPTEgLURMVF9PQkpESVI9XCIubGli cy9cIicKRExMVE9PTD0nZGxsdG9vbCcKRExMVE9PTF9GT1JfQlVJTEQ9JyQo RExMVE9PTCknCkRMTFRPT0xfRk9SX1RBUkdFVD0nJChETExUT09MKScKRFNZ TVVUSUw9J2RzeW11dGlsJwpEU1lNVVRJTF9GT1JfQlVJTEQ9JyQoRFNZTVVU SUwpJwpEU1lNVVRJTF9GT1JfVEFSR0VUPSckKERTWU1VVElMKScKRUNIT19D PScnCkVDSE9fTj0nLW4nCkVDSE9fVD0nJwpFWEVFWFQ9JycKRVhQRUNUPSdl eHBlY3QnCkZMQUdTX0ZPUl9UQVJHRVQ9JyAtQiQoYnVpbGRfdG9vbGRpcikv YmluLyAtQiQoYnVpbGRfdG9vbGRpcikvbGliLyAtaXN5c3RlbSAkKGJ1aWxk X3Rvb2xkaXIpL2luY2x1ZGUgLWlzeXN0ZW0gJChidWlsZF90b29sZGlyKS9z eXMtaW5jbHVkZScKRkxFWD0nZmxleCcKR0NDX0ZPUl9UQVJHRVQ9JyQkci8k KEhPU1RfU1VCRElSKS9nY2MveGdjYyAtQiQkci8kKEhPU1RfU1VCRElSKS9n Y2MvJwpHQ0NfU0hMSUJfU1VCRElSPScnCkdEQl9USz0nJwpHREM9J25vJwpH RENGTEFHUz0nLWcgLU8yJwpHRENfRk9SX0JVSUxEPSckKEdEQyknCkdEQ19G T1JfVEFSR0VUPSckKEdEQyknCkdGT1JUUkFOX0ZPUl9CVUlMRD0nJChHRk9S VFJBTiknCkdGT1JUUkFOX0ZPUl9UQVJHRVQ9JyQkci8kKEhPU1RfU1VCRElS KS9nY2MvZ2ZvcnRyYW4gLUIkJHIvJChIT1NUX1NVQkRJUikvZ2NjLycKR00y X0ZPUl9UQVJHRVQ9JyQoR00yKScKR05BVEJJTkQ9J25vJwpHTkFUTUFLRT0n bm8nCkdPQ19GT1JfQlVJTEQ9JyQoR09DKScKR09DX0ZPUl9UQVJHRVQ9JyQo R09DKScKSEFWRV9DWFgxMT0nMScKSEFWRV9DWFgxMV9GT1JfQlVJTEQ9JycK SU5TVEFMTF9EQVRBPScke0lOU1RBTEx9IC1tIDY0NCcKSU5TVEFMTF9HREJf VEs9JycKSU5TVEFMTF9QUk9HUkFNPScke0lOU1RBTEx9JwpJTlNUQUxMX1ND UklQVD0nJHtJTlNUQUxMfScKTEQ9J2xkJwpMREZMQUdTPScnCkxERkxBR1Nf Rk9SX0JVSUxEPScnCkxERkxBR1NfRk9SX1RBUkdFVD0nJwpMRF9GT1JfQlVJ TEQ9JyQoTEQpJwpMRF9GT1JfVEFSR0VUPSckKExEKScKTEVYPSdmbGV4JwpM SUJPQkpTPScnCkxJQlM9JycKTElQTz0nbGlwbycKTElQT19GT1JfVEFSR0VU PSckKExJUE8pJwpMTj0nbG4nCkxOX1M9J2xuIC1zJwpMVExJQk9CSlM9JycK TTQ9J200JwpNQUlOVD0nIycKTUFJTlRBSU5FUl9NT0RFX0ZBTFNFPScnCk1B SU5UQUlORVJfTU9ERV9UUlVFPScjJwpNQUtFSU5GTz0nL2hvbWUvd2VzbGxl eXAvc3RvcmFnZS9nY2MvbWlzc2luZyBtYWtlaW5mbycKTk09J25tJwpOTV9G T1JfQlVJTEQ9JyQoTk0pJwpOTV9GT1JfVEFSR0VUPSckKE5NKScKT0JKQ09Q WT0nb2JqY29weScKT0JKQ09QWV9GT1JfVEFSR0VUPSckKE9CSkNPUFkpJwpP QkpEVU1QPSdvYmpkdW1wJwpPQkpEVU1QX0ZPUl9UQVJHRVQ9JyQoT0JKRFVN UCknCk9CSkVYVD0nbycKT1RPT0w9J290b29sJwpPVE9PTF9GT1JfVEFSR0VU PSckKE9UT09MKScKUEFDS0FHRV9CVUdSRVBPUlQ9JycKUEFDS0FHRV9OQU1F PScnClBBQ0tBR0VfU1RSSU5HPScnClBBQ0tBR0VfVEFSTkFNRT0nJwpQQUNL QUdFX1VSTD0nJwpQQUNLQUdFX1ZFUlNJT049JycKUEFUSF9TRVBBUkFUT1I9 JzonClBHT19CVUlMRF9HRU5fQ0ZMQUdTPScnClBHT19CVUlMRF9MVE9fQ0ZM QUdTPScnClBHT19CVUlMRF9VU0VfQ0ZMQUdTPScnClBJQ0ZMQUc9JycKUEtH X0NPTkZJR19QQVRIPScvb3B0L2ludGVsL29uZWFwaS92dHVuZS8yMDIzLjIu MC9pbmNsdWRlL3BrZ2NvbmZpZy9saWI2NDovb3B0L2ludGVsL29uZWFwaS90 YmIvMjAyMS4xMC4wL2Vudi8uLi9saWIvcGtnY29uZmlnOi9vcHQvaW50ZWwv b25lYXBpL21waS8yMDIxLjEwLjAvbGliL3BrZ2NvbmZpZzovb3B0L2ludGVs L29uZWFwaS9ta2wvMjAyMy4yLjAvbGliL3BrZ2NvbmZpZzovb3B0L2ludGVs L29uZWFwaS9kcGwvMjAyMi4yLjAvbGliL3BrZ2NvbmZpZzovb3B0L2ludGVs L29uZWFwaS9jb21waWxlci8yMDIzLjIuMS9saWIvcGtnY29uZmlnJwpSQU5M SUI9J3JhbmxpYicKUkFOTElCX0ZPUl9CVUlMRD0nJChSQU5MSUIpJwpSQU5M SUJfRk9SX1RBUkdFVD0nJChSQU5MSUIpJwpSQU5MSUJfUExVR0lOX09QVElP Tj0nLS1wbHVnaW4gL3Vzci9saWIvZ2NjL3g4Nl82NC1saW51eC1nbnUvOS9s aWJsdG9fcGx1Z2luLnNvJwpSQVdfQ1hYX0ZPUl9UQVJHRVQ9JyQkci8kKEhP U1RfU1VCRElSKS9nY2MveGdjYyAtc2hhcmVkLWxpYmdjYyAtQiQkci8kKEhP U1RfU1VCRElSKS9nY2MgLW5vc3RkaW5jKysgLUwkJHIvJChUQVJHRVRfU1VC RElSKS9saWJzdGRjKystdjMvc3JjIC1MJCRyLyQoVEFSR0VUX1NVQkRJUikv bGlic3RkYysrLXYzL3NyYy8ubGlicyAtTCQkci8kKFRBUkdFVF9TVUJESVIp L2xpYnN0ZGMrKy12My9saWJzdXBjKysvLmxpYnMnClJFQURFTEY9J3JlYWRl bGYnClJFQURFTEZfRk9SX1RBUkdFVD0nJChSRUFERUxGKScKUlBBVEhfRU5W VkFSPSdMRF9MSUJSQVJZX1BBVEgnClJVTlRFU1Q9J3J1bnRlc3QnClNFRD0n L3Vzci9iaW4vc2VkJwpTSEVMTD0nL2Jpbi9iYXNoJwpTVFJJUD0nc3RyaXAn ClNUUklQX0ZPUl9UQVJHRVQ9JyQoU1RSSVApJwpTWVNST09UX0NGTEFHU19G T1JfVEFSR0VUPScnClRPUExFVkVMX0NPTkZJR1VSRV9BUkdVTUVOVFM9Jy4u L2djYy9jb25maWd1cmUgLS1kaXNhYmxlLW11bHRpbGliIC0tZGlzYWJsZS1i b290c3RyYXAnCldJTkRNQz0nd2luZG1jJwpXSU5ETUNfRk9SX0JVSUxEPSck KFdJTkRNQyknCldJTkRNQ19GT1JfVEFSR0VUPSckKFdJTkRNQyknCldJTkRS RVM9J3dpbmRyZXMnCldJTkRSRVNfRk9SX0JVSUxEPSckKFdJTkRSRVMpJwpX SU5EUkVTX0ZPUl9UQVJHRVQ9JyQoV0lORFJFUyknCllBQ0M9J2Jpc29uIC15 JwphY19jdF9DQz0nZ2NjJwphY19jdF9DWFg9J2crKycKYmluZGlyPScke2V4 ZWNfcHJlZml4fS9iaW4nCmJ1aWxkPSd4ODZfNjQtcGMtbGludXgtZ251Jwpi dWlsZF9hbGlhcz0nJwpidWlsZF9jb25maWdhcmdzPScgLS1jYWNoZS1maWxl PS4vY29uZmlnLmNhY2hlICdcJyctLWRpc2FibGUtbXVsdGlsaWInXCcnICdc JyctLWRpc2FibGUtYm9vdHN0cmFwJ1wnJyAnXCcnLS1lbmFibGUtbGFuZ3Vh Z2VzPWMsYysrLGZvcnRyYW4sbHRvLG9iamMnXCcnIC0tcHJvZ3JhbS10cmFu c2Zvcm0tbmFtZT0nXCcncyx5LHksJ1wnJyAtLWRpc2FibGUtb3B0aW9uLWNo ZWNraW5nIC0tZGlzYWJsZS15ZWFyMjAzOCcKYnVpbGRfY29uZmlnZGlycz0n IGxpYmliZXJ0eSBsaWJjcHAgZml4aW5jbHVkZXMnCmJ1aWxkX2NwdT0neDg2 XzY0JwpidWlsZF9saWJzdWJkaXI9J2J1aWxkLXg4Nl82NC1wYy1saW51eC1n bnUnCmJ1aWxkX25vbmNhbm9uaWNhbD0neDg2XzY0LXBjLWxpbnV4LWdudScK YnVpbGRfb3M9J2xpbnV4LWdudScKYnVpbGRfc3ViZGlyPSdidWlsZC14ODZf NjQtcGMtbGludXgtZ251JwpidWlsZF90b29sZGlyPScke2V4ZWNfcHJlZml4 fS94ODZfNjQtcGMtbGludXgtZ251JwpidWlsZF92ZW5kb3I9J3BjJwpjb21w YXJlX2V4Y2x1c2lvbnM9J2djYy9jYyotY2hlY2tzdW0kKG9iamV4dCkgfCBn Y2MvYWRhLyp0b29scy8qIHwgZ2NjL20yL2dtMi1jb21waWxlci1ib290L00y VmVyc2lvbiogfCBnY2MvbTIvZ20yLWNvbXBpbGVyLWJvb3QvU1lTVEVNKiB8 IGdjYy9tMi9nbTJ2ZXJzaW9uKicKY29uZmlnZGlycz0nIGludGwgbGliaWJl cnR5IHpsaWIgbGliYmFja3RyYWNlIGxpYmNwcCBsaWJjb2R5IGxpYmRlY251 bWJlciBmaXhpbmNsdWRlcyBnY2MgbGliY2MxIGMrK3Rvb2xzIGx0by1wbHVn aW4nCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9JwpkYXRhcm9vdGRpcj0nJHtw cmVmaXh9L3NoYXJlJwpkb19jb21wYXJlPSdjbXAgLS1pZ25vcmUtaW5pdGlh bD0xNiAkJGYxICQkZjInCmRvY2Rpcj0nJHtkYXRhcm9vdGRpcn0vZG9jLyR7 UEFDS0FHRX0nCmR2aWRpcj0nJHtkb2NkaXJ9JwpleGVjX3ByZWZpeD0nJHtw cmVmaXh9JwpleHRyYV9ob3N0X2xpYmliZXJ0eV9jb25maWd1cmVfZmxhZ3M9 Jy0tZW5hYmxlLXNoYXJlZCcKZXh0cmFfaG9zdF96bGliX2NvbmZpZ3VyZV9m bGFncz0nJwpleHRyYV9pc2xfZ21wX2NvbmZpZ3VyZV9mbGFncz0nJwpleHRy YV9saW5rZXJfcGx1Z2luX2NvbmZpZ3VyZV9mbGFncz0nJwpleHRyYV9saW5r ZXJfcGx1Z2luX2ZsYWdzPScnCmV4dHJhX21wY19nbXBfY29uZmlndXJlX2Zs YWdzPScnCmV4dHJhX21wY19tcGZyX2NvbmZpZ3VyZV9mbGFncz0nJwpleHRy YV9tcGZyX2NvbmZpZ3VyZV9mbGFncz0nJwpnY2NfaG9zdF9waWU9JycKZ2V0 X2djY19iYXNlX3Zlcj0nY2F0JwpnbXBpbmM9JycKZ21wbGlicz0nLWxtcGMg LWxtcGZyIC1sZ21wJwpob3N0PSd4ODZfNjQtcGMtbGludXgtZ251Jwpob3N0 X2FsaWFzPScnCmhvc3RfY29uZmlnYXJncz0nIC0tY2FjaGUtZmlsZT0uL2Nv bmZpZy5jYWNoZSAgJ1wnJy0tZGlzYWJsZS1tdWx0aWxpYidcJycgJ1wnJy0t ZGlzYWJsZS1ib290c3RyYXAnXCcnICdcJyctLWVuYWJsZS1sYW5ndWFnZXM9 YyxjKyssZm9ydHJhbixsdG8sb2JqYydcJycgLS1wcm9ncmFtLXRyYW5zZm9y bS1uYW1lPSdcJydzLHkseSwnXCcnIC0tZGlzYWJsZS1vcHRpb24tY2hlY2tp bmcgLS1kaXNhYmxlLXllYXIyMDM4Jwpob3N0X2NwdT0neDg2XzY0Jwpob3N0 X2xpYnNfcGljZmxhZz0nJwpob3N0X25vbmNhbm9uaWNhbD0neDg2XzY0LXBj LWxpbnV4LWdudScKaG9zdF9vcz0nbGludXgtZ251Jwpob3N0X3BpZT0nbm8n Cmhvc3Rfc2hhcmVkPSdubycKaG9zdF9zdWJkaXI9Jy4nCmhvc3RfdmVuZG9y PSdwYycKaHRtbGRpcj0nJHtkb2NkaXJ9JwppbmNsdWRlZGlyPScke3ByZWZp eH0vaW5jbHVkZScKaW5mb2Rpcj0nJHtkYXRhcm9vdGRpcn0vaW5mbycKaXNs aW5jPScnCmlzbGxpYnM9JycKbGliZGlyPScke2V4ZWNfcHJlZml4fS9saWIn CmxpYmV4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMnCmxvY2FsZWRp cj0nJHtkYXRhcm9vdGRpcn0vbG9jYWxlJwpsb2NhbHN0YXRlZGlyPScke3By ZWZpeH0vdmFyJwptYW5kaXI9JyR7ZGF0YXJvb3RkaXJ9L21hbicKb2xkaW5j bHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpwZGZkaXI9JyR7ZG9jZGlyfScKcG9z dHN0YWdlMV9sZGZsYWdzPSctc3RhdGljLWxpYnN0ZGMrKyAtc3RhdGljLWxp YmdjYycKcG9zdHN0YWdlMV9saWJzPScnCnByZWZpeD0nL3Vzci9sb2NhbCcK cHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0ncyx5LHksJwpwc2Rpcj0nJHtkb2Nk aXJ9JwpzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJwpzaGFyZWRzdGF0 ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3RhZ2UxX2NmbGFncz0nLWcnCnN0YWdl MV9jaGVja2luZz0nLS1lbmFibGUtY2hlY2tpbmc9eWVzLHR5cGVzLGV4dHJh JwpzdGFnZTFfbGFuZ3VhZ2VzPSdjLGMrKyxsdG8nCnN0YWdlMV9sZGZsYWdz PSctc3RhdGljLWxpYnN0ZGMrKyAtc3RhdGljLWxpYmdjYycKc3RhZ2UxX2xp YnM9JycKc3RhZ2UyX3dlcnJvcl9mbGFnPSctLWVuYWJsZS13ZXJyb3ItYWx3 YXlzJwpzeXNjb25mZGlyPScke3ByZWZpeH0vZXRjJwp0YXJnZXQ9J3g4Nl82 NC1wYy1saW51eC1nbnUnCnRhcmdldF9hbGlhcz0nJwp0YXJnZXRfY29uZmln YXJncz0nLS1jYWNoZS1maWxlPS4vY29uZmlnLmNhY2hlICAgJ1wnJy0tZGlz YWJsZS1tdWx0aWxpYidcJycgJ1wnJy0tZGlzYWJsZS1ib290c3RyYXAnXCcn ICdcJyctLWVuYWJsZS1sYW5ndWFnZXM9YyxjKyssZm9ydHJhbixsdG8sb2Jq YydcJycgLS1wcm9ncmFtLXRyYW5zZm9ybS1uYW1lPSdcJydzLHkseSwnXCcn IC0tZGlzYWJsZS1vcHRpb24tY2hlY2tpbmcgLS1kaXNhYmxlLXllYXIyMDM4 Jwp0YXJnZXRfY29uZmlnZGlycz0nIGxpYmdjYyBsaWJiYWNrdHJhY2UgbGli Z29tcCBsaWJhdG9taWMgbGliaXRtIGxpYnN0ZGMrKy12MyBsaWJzYW5pdGl6 ZXIgbGlidnR2IGxpYnNzcCBsaWJxdWFkbWF0aCBsaWJnZm9ydHJhbiBsaWJv YmpjJwp0YXJnZXRfY3B1PSd4ODZfNjQnCnRhcmdldF9ub25jYW5vbmljYWw9 J3g4Nl82NC1wYy1saW51eC1nbnUnCnRhcmdldF9vcz0nbGludXgtZ251Jwp0 YXJnZXRfc3ViZGlyPSd4ODZfNjQtcGMtbGludXgtZ251Jwp0YXJnZXRfdmVu ZG9yPSdwYycKdG9vbGRpcj0nJHtleGVjX3ByZWZpeH0veDg2XzY0LXBjLWxp bnV4LWdudScKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgRmlsZSBz dWJzdGl0dXRpb25zLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tICMjCgph bHBoYWllZWVfZnJhZz0nL2Rldi9udWxsJwpob3N0X21ha2VmaWxlX2ZyYWc9 Jy9kZXYvbnVsbCcKb3NwYWNlX2ZyYWc9Jy9kZXYvbnVsbCcKc2VyaWFsaXph dGlvbl9kZXBlbmRlbmNpZXM9J3NlcmRlcC50bXAnCnRhcmdldF9tYWtlZmls ZV9mcmFnPScuLi9nY2MvY29uZmlnL210LWdudScKCiMjIC0tLS0tLS0tLS0t ICMjCiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0tICMjCgovKiBj b25mZGVmcy5oICovCiNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCiNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICIiCiNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIi CiNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgojZGVmaW5lIFBBQ0tBR0VfVVJMICIiCiNkZWZpbmUgSEFW RV9DWFgxMSAxCiNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCgpjb25maWd1 cmU6IGV4aXQgMAo= --0000000000000e871c06094319a9--