From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgbr2.qq.com (smtpbgbr2.qq.com [54.207.22.56]) by sourceware.org (Postfix) with ESMTPS id 108353858D33 for ; Fri, 22 Dec 2023 01:43:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 108353858D33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 108353858D33 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.207.22.56 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703209412; cv=none; b=shz7kgLKoU/Ud+/MBneL2dFXVHAZCUryTaKylSX8m9YLtKKId/1d5PeOSMsutT3ZIPr+7DVrYhAxEcZPURSKgY1QocumjettQGVKEFamgTPj5ldMB+i03+ZHaaypVPzT7RbfQP7YaPzMY3i9UcHhWi8a0/psdciy/9+piV9lvDI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703209412; c=relaxed/simple; bh=dVqsM/s6prrEm9RsdS+aybM+kIwcXefvCdDanV1n++g=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=FAVAsSNUazKj/cpJ6btM0vXU3c+D+eeIMcbZqHYGX9ZGcC2UOp0LP+1yuEtwOwU4rxN5a0Oy99aeyZff7SCrYpxeARxIFNG448Y85oGIjEIeKC1/KmpnoE7Os6bxTfBpKPGiYgZWpcGnR6wNutlw+RQGIzjVIwBNwyzzvhggqRM= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp84t1703209388tz92jzyb Received: from LAPTOP-EPITNQBU ( [58.60.1.10]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 22 Dec 2023 09:43:06 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: FgloGPXNx/CtxGYzypg6Igu4lLVzwTuDKJzwcbEO0KS7sOJiEHl+LGWcbE89X hUENnGaf+SmdiKhxurak6E5JUgxTxaBKqxQ1Z3fL7xn7hFR5eBMMcSidEh21UJR5S9hp9gz MvY5r4LYOIQplZtCfWK91obTmwV4RoelBGQrlvQiJo1l814/RqxMgrQ32Nc+XrYU0qyoRhX LE1AYh+KZO/c2fF+PGMAtzukYzB2VHVWG1jeXYfA/7QmOmUEvQFU0ftC/Z/b9Uh8N1n33MA O5titkzz0JZANvtN4+UIfg59v77sSlNQZP9pTpV1TMmDDZokgsz7fn/JSTSVlk5vjLCHAcM rMuffhjeH8JjYLJBhJMXYhAh5yjVnScS0n3tko0/rEBvw1iMN242nG1BPzbUEl+udWGgYUa X-QQ-GoodBg: 2 X-BIZMAIL-ID: 3557327601048183983 Date: Fri, 22 Dec 2023 09:43:07 +0800 From: "juzhe.zhong@rivai.ai" To: wangfeng , gcc-patches Cc: kito.cheng , jeffreyalaw , wangfeng Subject: Re: [PATCH v7 2/3] RISC-V: Add crypto machine descriptions References: <20231222013806.5853-1-wangfeng@eswincomputing.com> X-Priority: 3 X-GUID: 4431A8D9-6B21-4BC5-9565-158AE2EB1BD3 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <399ECF9222581466+202312220943067815380@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart265326538428_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,MIME_BASE64_TEXT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SCC_10_SHORT_WORD_LINES,SCC_20_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,SPF_HELO_PASS,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: This is a multi-part message in MIME format. ------=_001_NextPart265326538428_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlDQoNClN0aWxsIG5vIG5ldyBs aW5lIGluIHZlY3Rvci1pdGVyYXRvci5tZA0KDQoNCmp1emhlLnpob25nQHJp dmFpLmFpDQogDQpGcm9tOiBGZW5nIFdhbmcNCkRhdGU6IDIwMjMtMTItMjIg MDk6MzgNClRvOiBnY2MtcGF0Y2hlcw0KQ0M6IGtpdG8uY2hlbmc7IGplZmZy ZXlhbGF3OyBqdXpoZS56aG9uZzsgRmVuZyBXYW5nDQpTdWJqZWN0OiBbUEFU Q0ggdjcgMi8zXSBSSVNDLVY6IEFkZCBjcnlwdG8gbWFjaGluZSBkZXNjcmlw dGlvbnMNClBhdGNoIHY3OiBSZW1vdmUgbW9kZSBvZiBjb25zdF9pbnRfb3Bl cmFuZCBhbmQgdHlwby4gQWRkDQogICAgICAgICAgbmV3bGluZSBhdCB0aGUg ZW5kIGFuZCBjb21tZW50IGF0IHRoZSBiZWdpbm5pbmcuDQpQYXRjaCB2Njog U3dhcCB0aGUgb3BlcmF0b3Igb3JkZXIgb2YgdmFuZG4udnYNClBhdGNoIHY1 OiBBZGQgdmVjX2R1cGxpY2F0ZSBvcGVyYXRvci4NClBhdGNoIHY0OiBBZGQg cHJvY2VzcyBvZiBTRVc9NjQgaW4gUlYzMiBzeXN0ZW0uDQpQYXRjaCB2Mzog TW9pZGZ5IGNvbnN0cmFpbnMgZm9yIGNyeXB0byB2ZWN0b3IuDQpQYXRjaCB2 MjogQWRkIGNyeXB0byB2ZWN0b3IgaW5zIGludG8gUkFUSU8gYXR0ciBhbmQg dXNlIHZyIGFzDQpkZXN0aW5hdGlvbiByZWdpc3Rlci4NCiANClRoaXMgcGF0 Y2ggYWRkIHRoZSBjcnlwdG8gbWFjaGluZSBkZXNjcmlwdGlvbnModmVjdG9y LWNyeXB0by5tZCkgYW5kDQpzb21lIG5ldyBpdGVyYXRvcnMgd2hpY2ggYXJl IHVzZWQgYnkgY3J5cHRvIHZlY3RvciBleHQuDQogDQpDby1BdXRob3JlZCBi eTogU29uZ2hlIFpodSA8emh1c29uZ2hlQGVzd2luY29tcHV0aW5nLmNvbT4N CkNvLUF1dGhvcmVkIGJ5OiBDaXlhbiBQYW4gPHBhbmNpeWFuQGVzd2luY29t cHV0aW5nLmNvbT4NCmdjYy9DaGFuZ2VMb2c6DQogDQoqIGNvbmZpZy9yaXNj di9pdGVyYXRvcnMubWQ6IEFkZCByb3RhdGUgaW5zbiBuYW1lLg0KKiBjb25m aWcvcmlzY3YvcmlzY3YubWQ6IEFkZCBuZXcgaW5zbnMgbmFtZSBmb3IgY3J5 cHRvIHZlY3Rvci4NCiogY29uZmlnL3Jpc2N2L3ZlY3Rvci1pdGVyYXRvcnMu bWQ6IEFkZCBuZXcgaXRlcmF0b3JzIGZvciBjcnlwdG8gdmVjdG9yLg0KKiBj b25maWcvcmlzY3YvdmVjdG9yLm1kOiBBZGQgdGhlIGNvcnJlc3BvbmRpbmcg YXR0ciBmb3IgY3J5cHRvIHZlY3Rvci4NCiogY29uZmlnL3Jpc2N2L3ZlY3Rv ci1jcnlwdG8ubWQ6IE5ldyBmaWxlLlRoZSBtYWNoaW5lIGRlc2NyaXB0aW9u cyBmb3IgY3J5cHRvIHZlY3Rvci4NCi0tLQ0KZ2NjL2NvbmZpZy9yaXNjdi9p dGVyYXRvcnMubWQgICAgICAgIHwgICA0ICstDQpnY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2Lm1kICAgICAgICAgICAgfCAgMzMgKy0NCmdjYy9jb25maWcvcmlz Y3YvdmVjdG9yLWNyeXB0by5tZCAgICB8IDY1NCArKysrKysrKysrKysrKysr KysrKysrKysrKysNCmdjYy9jb25maWcvcmlzY3YvdmVjdG9yLWl0ZXJhdG9y cy5tZCB8ICA0MSArKw0KZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3IubWQgICAg ICAgICAgIHwgIDU1ICsrLQ0KNSBmaWxlcyBjaGFuZ2VkLCA3NjYgaW5zZXJ0 aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pDQpjcmVhdGUgbW9kZSAxMDA3NTUg Z2NjL2NvbmZpZy9yaXNjdi92ZWN0b3ItY3J5cHRvLm1kDQogDQpkaWZmIC0t Z2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9pdGVyYXRvcnMubWQgYi9nY2MvY29u ZmlnL3Jpc2N2L2l0ZXJhdG9ycy5tZA0KaW5kZXggZWNmMDMzZjJmYTcuLmYz MzJmYmE3MDMxIDEwMDY0NA0KLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9pdGVy YXRvcnMubWQNCisrKyBiL2djYy9jb25maWcvcmlzY3YvaXRlcmF0b3JzLm1k DQpAQCAtMzA0LDcgKzMwNCw5IEBADQoodW1heCAibWF4dSIpDQooY2x6ICJj bHoiKQ0KKGN0eiAiY3R6IikNCi0gKHBvcGNvdW50ICJjcG9wIildKQ0KKyAo cG9wY291bnQgImNwb3AiKQ0KKyAocm90YXRlICJyb2wiKQ0KKyAocm90YXRl cnQgInJvciIpXSkNCjs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCjs7IElu dCBJdGVyYXRvcnMuDQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi5tZCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YubWQNCmluZGV4IGVl OGI3MWMyMmFhLi44ODAxOWE0NmE1MyAxMDA2NDQNCi0tLSBhL2djYy9jb25m aWcvcmlzY3YvcmlzY3YubWQNCisrKyBiL2djYy9jb25maWcvcmlzY3Yvcmlz Y3YubWQNCkBAIC00MjcsNiArNDI3LDM0IEBADQo7OyB2Y29tcHJlc3MgICAg dmVjdG9yIGNvbXByZXNzIGluc3RydWN0aW9uDQo7OyB2bW92ICAgICAgICAg d2hvbGUgdmVjdG9yIHJlZ2lzdGVyIG1vdmUNCjs7IHZlY3RvciAgICAgICB1 bmtub3duIHZlY3RvciBpbnN0cnVjdGlvbg0KKzs7IDE3LiBDcnlwdG8gVmVj dG9yIGluc3RydWN0aW9ucw0KKzs7IHZhbmRuICAgICAgICBjcnlwdG8gdmVj dG9yIGJpdHdpc2UgYW5kLW5vdCBpbnN0cnVjdGlvbnMNCis7OyB2YnJldiAg ICAgICAgY3J5cHRvIHZlY3RvciByZXZlcnNlIGJpdHMgaW4gZWxlbWVudHMg aW5zdHJ1Y3Rpb25zDQorOzsgdmJyZXY4ICAgICAgIGNyeXB0byB2ZWN0b3Ig cmV2ZXJzZSBiaXRzIGluIGJ5dGVzIGluc3RydWN0aW9ucw0KKzs7IHZyZXY4 ICAgICAgICBjcnlwdG8gdmVjdG9yIHJldmVyc2UgYnl0ZXMgaW5zdHJ1Y3Rp b25zDQorOzsgdmNseiAgICAgICAgIGNyeXB0byB2ZWN0b3IgY291bnQgbGVh ZGluZyBaZXJvcyBpbnN0cnVjdGlvbnMNCis7OyB2Y3R6ICAgICAgICAgY3J5 cHRvIHZlY3RvciBjb3VudCBscmFpbGluZyBaZXJvcyBpbnN0cnVjdGlvbnMN Cis7OyB2cm9sICAgICAgICAgY3J5cHRvIHZlY3RvciByb3RhdGUgbGVmdCBp bnN0cnVjdGlvbnMNCis7OyB2cm9yICAgICAgICAgY3J5cHRvIHZlY3RvciBy b3RhdGUgcmlnaHQgaW5zdHJ1Y3Rpb25zDQorOzsgdndzbGwgICAgICAgIGNy eXB0byB2ZWN0b3Igd2lkZW5pbmcgc2hpZnQgbGVmdCBsb2dpY2FsIGluc3Ry dWN0aW9ucw0KKzs7IHZjbG11bCAgICAgICBjcnlwdG8gdmVjdG9yIGNhcnJ5 LWxlc3MgbXVsdGlwbHkgLSByZXR1cm4gbG93IGhhbGYgaW5zdHJ1Y3Rpb25z DQorOzsgdmNsbXVsaCAgICAgIGNyeXB0byB2ZWN0b3IgY2FycnktbGVzcyBt dWx0aXBseSAtIHJldHVybiBoaWdoIGhhbGYgaW5zdHJ1Y3Rpb25zDQorOzsg dmdoc2ggICAgICAgIGNyeXB0byB2ZWN0b3IgYWRkLW11bHRpcGx5IG92ZXIg R0hBU0ggR2Fsb2lzLUZpZWxkIGluc3RydWN0aW9ucw0KKzs7IHZnbXVsICAg ICAgICBjcnlwdG8gdmVjdG9yIG11bHRpcGx5IG92ZXIgR0hBU0ggR2Fsb2lz LUZpZWxkIGluc3RydW1jdGlvbnMNCis7OyB2YWVzZWYgICAgICAgY3J5cHRv IHZlY3RvciBBRVMgZmluYWwtcm91bmQgZW5jcnlwdGlvbiBpbnN0cnVjdGlv bnMNCis7OyB2YWVzZW0gICAgICAgY3J5cHRvIHZlY3RvciBBRVMgbWlkZGxl LXJvdW5kIGVuY3J5cHRpb24gaW5zdHJ1Y3Rpb25zDQorOzsgdmFlc2RmICAg ICAgIGNyeXB0byB2ZWN0b3IgQUVTIGZpbmFsLXJvdW5kIGRlY3J5cHRpb24g aW5zdHJ1Y3Rpb25zDQorOzsgdmFlc2RtICAgICAgIGNyeXB0byB2ZWN0b3Ig QUVTIG1pZGRsZS1yb3VuZCBkZWNyeXB0aW9uIGluc3RydWN0aW9ucw0KKzs7 IHZhZXNrZjEgICAgICBjcnlwdG8gdmVjdG9yIEFFUy0xMjggRm9yd2FyZCBL ZXlTY2hlZHVsZSBnZW5lcmF0aW9uIGluc3RydWN0aW9ucw0KKzs7IHZhZXNr ZjIgICAgICBjcnlwdG8gdmVjdG9yIEFFUy0yNTYgRm9yd2FyZCBLZXlTY2hl ZHVsZSBnZW5lcmF0aW9uIGluc3RydWN0aW9ucw0KKzs7IHZhZXN6ICAgICAg ICBjcnlwdG8gdmVjdG9yIEFFUyByb3VuZCB6ZXJvIGVuY3J5cHRpb24vZGVj cnlwdGlvbiBpbnN0cnVjdGlvbnMNCis7OyB2c2hhMm1zICAgICAgY3J5cHRv IHZlY3RvciBTSEEtMiBtZXNzYWdlIHNjaGVkdWxlIGluc3RydWN0aW9ucw0K Kzs7IHZzaGEyY2ggICAgICBjcnlwdG8gdmVjdG9yIFNIQS0yIHR3byByb3Vu ZHMgb2YgY29tcHJlc3Npb24gaW5zdHJ1Y3Rpb25zDQorOzsgdnNoYTJjbCAg ICAgIGNyeXB0byB2ZWN0b3IgU0hBLTIgdHdvIHJvdW5kcyBvZiBjb21wcmVz c2lvbiBpbnN0cnVjdGlvbnMNCis7OyB2c200ayAgICAgICAgY3J5cHRvIHZl Y3RvciBTTTQgS2V5RXhwYW5zaW9uIGluc3RydWN0aW9ucw0KKzs7IHZzbTRy ICAgICAgICBjcnlwdG8gdmVjdG9yIFNNNCBSb3VuZHMgaW5zdHJ1Y3Rpb25z DQorOzsgdnNtM21lICAgICAgIGNyeXB0byB2ZWN0b3IgU00zIE1lc3NhZ2Ug RXhwYW5zaW9uIGluc3RydWN0aW9ucw0KKzs7IHZzbTNjICAgICAgICBjcnlw dG8gdmVjdG9yIFNNMyBDb21wcmVzc2lvbiBpbnN0cnVjdGlvbnMNCihkZWZp bmVfYXR0ciAidHlwZSINCiAgICJ1bmtub3duLGJyYW5jaCxqdW1wLGphbHIs cmV0LGNhbGwsbG9hZCxmcGxvYWQsc3RvcmUsZnBzdG9yZSwNCiAgICBtdGMs bWZjLGNvbnN0LGFyaXRoLGxvZ2ljYWwsc2hpZnQsc2x0LGltdWwsaWRpdixt b3ZlLGZtb3ZlLGZhZGQsZm11bCwNCkBAIC00NDYsNyArNDc0LDkgQEANCiAg ICB2aXJlZCx2aXdyZWQsdmZyZWR1LHZmcmVkbyx2ZndyZWR1LHZmd3JlZG8s DQogICAgdm1hbHUsdm1wb3Asdm1mZnMsdm1zZnMsdm1pb3RhLHZtaWR4LHZp bW92dngsdmltb3Z4dix2Zm1vdnZmLHZmbW92ZnYsDQogICAgdnNsaWRldXAs dnNsaWRlZG93bix2aXNsaWRlMXVwLHZpc2xpZGUxZG93bix2ZnNsaWRlMXVw LHZmc2xpZGUxZG93biwNCi0gICB2Z2F0aGVyLHZjb21wcmVzcyx2bW92LHZl Y3RvciINCisgICB2Z2F0aGVyLHZjb21wcmVzcyx2bW92LHZlY3Rvcix2YW5k bix2YnJldix2YnJldjgsdnJldjgsdmNseix2Y3R6LHZjcG9wLHZyb2wsdnJv cix2d3NsbCwNCisgICB2Y2xtdWwsdmNsbXVsaCx2Z2hzaCx2Z211bCx2YWVz ZWYsdmFlc2VtLHZhZXNkZix2YWVzZG0sdmFlc2tmMSx2YWVza2YyLHZhZXN6 LA0KKyAgIHZzaGEybXMsdnNoYTJjaCx2c2hhMmNsLHZzbTRrLHZzbTRyLHZz bTNtZSx2c20zYyINCiAgIChjb25kIFsoZXFfYXR0ciAiZ290IiAibG9hZCIp IChjb25zdF9zdHJpbmcgImxvYWQiKQ0KOzsgSWYgYSBkb3VibGV3b3JkIG1v dmUgdXNlcyB0aGVzZSBleHBlbnNpdmUgaW5zdHJ1Y3Rpb25zLA0KQEAgLTM3 NzcsNiArMzgwNyw3IEBADQooaW5jbHVkZSAidGhlYWQubWQiKQ0KKGluY2x1 ZGUgImdlbmVyaWMtb29vLm1kIikNCihpbmNsdWRlICJ2ZWN0b3IubWQiKQ0K KyhpbmNsdWRlICJ2ZWN0b3ItY3J5cHRvLm1kIikNCihpbmNsdWRlICJ6aWNv bmQubWQiKQ0KKGluY2x1ZGUgInNmYi5tZCIpDQooaW5jbHVkZSAiemMubWQi KQ0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLWNyeXB0 by5tZCBiL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLWNyeXB0by5tZA0KbmV3 IGZpbGUgbW9kZSAxMDA3NTUNCmluZGV4IDAwMDAwMDAwMDAwLi45MjM1YmRh YzU0OA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi92 ZWN0b3ItY3J5cHRvLm1kDQpAQCAtMCwwICsxLDY1NCBAQA0KKzs7IE1hY2hp bmUgZGVzY3JpcHRpb24gZm9yIHRoZSBSSVNDLVYgVmVjdG9yIENyeXB0byAg ZXh0ZW5zaW9ucy4NCis7OyBDb3B5cmlnaHQgKEMpIDIwMjItMjMgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQorDQorOzsgVGhpcyBmaWxlIGlz IHBhcnQgb2YgR0NDLg0KKw0KKzs7IEdDQyBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQorOzsgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkNCis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRp b24pDQorOzsgYW55IGxhdGVyIHZlcnNpb24uDQorDQorOzsgR0NDIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws DQorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YNCis7OyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl DQorOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4NCisNCis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KKzs7IGFsb25n IHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2Vl DQorOzsgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KKw0KKyhk ZWZpbmVfY19lbnVtICJ1bnNwZWMiIFsNCisgICAgOzsgWnZiYiB1bnNwZWNz DQorICAgIFVOU1BFQ19WQlJFVg0KKyAgICBVTlNQRUNfVkJSRVY4DQorICAg IFVOU1BFQ19WUkVWOA0KKyAgICBVTlNQRUNfVkNMTVVMDQorICAgIFVOU1BF Q19WQ0xNVUxIDQorICAgIFVOU1BFQ19WR0hTSA0KKyAgICBVTlNQRUNfVkdN VUwNCisgICAgVU5TUEVDX1ZBRVNFRg0KKyAgICBVTlNQRUNfVkFFU0VGVlYN CisgICAgVU5TUEVDX1ZBRVNFRlZTDQorICAgIFVOU1BFQ19WQUVTRU0NCisg ICAgVU5TUEVDX1ZBRVNFTVZWDQorICAgIFVOU1BFQ19WQUVTRU1WUw0KKyAg ICBVTlNQRUNfVkFFU0RGDQorICAgIFVOU1BFQ19WQUVTREZWVg0KKyAgICBV TlNQRUNfVkFFU0RGVlMNCisgICAgVU5TUEVDX1ZBRVNETQ0KKyAgICBVTlNQ RUNfVkFFU0RNVlYNCisgICAgVU5TUEVDX1ZBRVNETVZTDQorICAgIFVOU1BF Q19WQUVTWg0KKyAgICBVTlNQRUNfVkFFU1pWVk5VTEwNCisgICAgVU5TUEVD X1ZBRVNaVlMNCisgICAgVU5TUEVDX1ZBRVNLRjENCisgICAgVU5TUEVDX1ZB RVNLRjINCisgICAgVU5TUEVDX1ZTSEEyTVMNCisgICAgVU5TUEVDX1ZTSEEy Q0gNCisgICAgVU5TUEVDX1ZTSEEyQ0wNCisgICAgVU5TUEVDX1ZTTTRLDQor ICAgIFVOU1BFQ19WU000Ug0KKyAgICBVTlNQRUNfVlNNNFJWVg0KKyAgICBV TlNQRUNfVlNNNFJWUw0KKyAgICBVTlNQRUNfVlNNM01FDQorICAgIFVOU1BF Q19WU00zQw0KK10pDQorDQorKGRlZmluZV9pbnRfYXR0ciByZXYgIFsoVU5T UEVDX1ZCUkVWICJicmV2IikgKFVOU1BFQ19WQlJFVjggImJyZXY4IikgKFVO U1BFQ19WUkVWOCAicmV2OCIpXSkNCisNCisoZGVmaW5lX2ludF9hdHRyIGgg WyhVTlNQRUNfVkNMTVVMICIiKSAoVU5TUEVDX1ZDTE1VTEggImgiKV0pDQor DQorKGRlZmluZV9pbnRfYXR0ciB2dl9pbnNfbmFtZSBbKFVOU1BFQ19WR01V TCAgICAiZ211bCIgKSAoVU5TUEVDX1ZBRVNFRlZWICJhZXNlZiIpDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVOU1BFQ19WQUVTRU1WViAi YWVzZW0iKSAoVU5TUEVDX1ZBRVNERlZWICJhZXNkZiIpDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKFVOU1BFQ19WQUVTRE1WViAiYWVzZG0i KSAoVU5TUEVDX1ZBRVNFRlZTICJhZXNlZiIpDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKFVOU1BFQ19WQUVTRU1WUyAiYWVzZW0iKSAoVU5T UEVDX1ZBRVNERlZTICJhZXNkZiIpDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKFVOU1BFQ19WQUVTRE1WUyAiYWVzZG0iKSAoVU5TUEVDX1ZB RVNaVlMgICJhZXN6IiApDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKFVOU1BFQ19WU000UlZWICAic200ciIgKSAoVU5TUEVDX1ZTTTRSVlMg ICJzbTRyIiApXSkNCisNCisoZGVmaW5lX2ludF9hdHRyIHZ2X2luczFfbmFt ZSBbKFVOU1BFQ19WR0hTSCAiZ2hzaCIpICAgICAoVU5TUEVDX1ZTSEEyTVMg InNoYTJtcyIpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChV TlNQRUNfVlNIQTJDSCAic2hhMmNoIikgKFVOU1BFQ19WU0hBMkNMICJzaGEy Y2wiKV0pDQorDQorKGRlZmluZV9pbnRfYXR0ciB2aV9pbnNfbmFtZSBbKFVO U1BFQ19WQUVTS0YxICJhZXNrZjEiKSAoVU5TUEVDX1ZTTTRLICJzbTRrIild KQ0KKw0KKyhkZWZpbmVfaW50X2F0dHIgdmlfaW5zMV9uYW1lIFsoVU5TUEVD X1ZBRVNLRjIgImFlc2tmMiIpIChVTlNQRUNfVlNNM0MgInNtM2MiKV0pDQor DQorKGRlZmluZV9pbnRfYXR0ciBpbnNfdHlwZSBbKFVOU1BFQ19WR01VTCAg ICAidnYiKSAoVU5TUEVDX1ZBRVNFRlZWICJ2diIpDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgKFVOU1BFQ19WQUVTRU1WViAidnYiKSAoVU5TUEVD X1ZBRVNERlZWICJ2diIpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg KFVOU1BFQ19WQUVTRE1WViAidnYiKSAoVU5TUEVDX1ZBRVNFRlZTICJ2cyIp DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVOU1BFQ19WQUVTRU1W UyAidnMiKSAoVU5TUEVDX1ZBRVNERlZTICJ2cyIpDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgKFVOU1BFQ19WQUVTRE1WUyAidnMiKSAoVU5TUEVD X1ZBRVNaVlMgICJ2cyIpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg KFVOU1BFQ19WU000UlZWICAidnYiKSAoVU5TUEVDX1ZTTTRSVlMgICJ2cyIp XSkNCisNCisoZGVmaW5lX2ludF9pdGVyYXRvciBVTlNQRUNfVlJCQjggW1VO U1BFQ19WQlJFViBVTlNQRUNfVkJSRVY4IFVOU1BFQ19WUkVWOF0pDQorDQor KGRlZmluZV9pbnRfaXRlcmF0b3IgVU5TUEVDX0NMTVVMIFtVTlNQRUNfVkNM TVVMIFVOU1BFQ19WQ0xNVUxIXSkNCisNCisoZGVmaW5lX2ludF9pdGVyYXRv ciBVTlNQRUNfQ1JZUFRPX1ZWIFtVTlNQRUNfVkdNVUwgICAgVU5TUEVDX1ZB RVNFRlZWIFVOU1BFQ19WQUVTRU1WVg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFVOU1BFQ19WQUVTREZWViBVTlNQRUNfVkFF U0RNVlYgVU5TUEVDX1ZBRVNFRlZTDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgVU5TUEVDX1ZBRVNFTVZTIFVOU1BFQ19WQUVT REZWUyBVTlNQRUNfVkFFU0RNVlMNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBVTlNQRUNfVkFFU1pWUyAgVU5TUEVDX1ZTTTRS VlYgIFVOU1BFQ19WU000UlZTXSkNCisNCisoZGVmaW5lX2ludF9pdGVyYXRv ciBVTlNQRUNfVkdOSEFCIFtVTlNQRUNfVkdIU0ggVU5TUEVDX1ZTSEEyTVMg VU5TUEVDX1ZTSEEyQ0ggVU5TUEVDX1ZTSEEyQ0xdKQ0KKw0KKyhkZWZpbmVf aW50X2l0ZXJhdG9yIFVOU1BFQ19DUllQVE9fVkkgW1VOU1BFQ19WQUVTS0Yx IFVOU1BFQ19WU000S10pDQorDQorKGRlZmluZV9pbnRfaXRlcmF0b3IgVU5T UEVDX0NSWVBUT19WSTEgW1VOU1BFQ19WQUVTS0YyIFVOU1BFQ19WU00zQ10p DQorDQorOzsgenZiYiBpbnN0cnVjdGlvbnMgcGF0dGVybnMuDQorOzsgdmFu ZG4udnYgdmFuZG4udnggdnJvbC52diB2cm9sLnZ4DQorOzsgdnJvci52diB2 cm9yLnZ4IHZyb3IudmkNCis7OyB2d3NsbC52diB2d3NsbC52eCB2d3NsbC52 aQ0KKyhkZWZpbmVfaW5zbiAiQHByZWRfdmFuZG48bW9kZT4iDQorICBbKHNl dCAobWF0Y2hfb3BlcmFuZDpWSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAg ICAgICI9dmQsIHZyLCB2ZCwgdnIiKQ0KKyAgICAgKGlmX3RoZW5fZWxzZTpW SQ0KKyAgICAgICAodW5zcGVjOjxWTT4NCisgICAgICAgICBbKG1hdGNoX29w ZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAgICJ2bSxXYzEs IHZtLFdjMSIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rv cl9sZW5ndGhfb3BlcmFuZCIgICAgICAickssIHJLLCBySywgcksiKQ0KKyAg ICAgICAgICAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCIg ICAgICAgICAgIiBpLCAgaSwgIGksICBpIikNCisgICAgICAgICAgKG1hdGNo X29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAgICIgaSwg IGksICBpLCAgaSIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDggImNv bnN0X2ludF9vcGVyYW5kIiAgICAgICAgICAiIGksICBpLCAgaSwgIGkiKQ0K KyAgICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCisgICAgICAgICAgKHJl ZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkNCisgICAg ICAgKGFuZDpWSQ0KKyAgICAgICAgIChub3Q6VkkgKG1hdGNoX29wZXJhbmQ6 VkkgNCAicmVnaXN0ZXJfb3BlcmFuZCIgInZyLCB2ciwgdnIsIHZyIikpDQor ICAgICAgICAgKG1hdGNoX29wZXJhbmQ6VkkgMyAicmVnaXN0ZXJfb3BlcmFu ZCIgICAgICAgICAidnIsIHZyLCB2ciwgdnIiKSkNCisgICAgICAgKG1hdGNo X29wZXJhbmQ6VkkgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiICAgICAgICJ2 dSwgdnUsICAwLCAgMCIpKSldDQorICAiVEFSR0VUX1pWQkIgfHwgVEFSR0VU X1pWS0IiDQorICAidmFuZG4udnZcdCUwLCUzLCU0JXAxIg0KKyAgWyhzZXRf YXR0ciAidHlwZSIgInZhbmRuIikNCisgICAoc2V0X2F0dHIgIm1vZGUiICI8 TU9ERT4iKV0pDQorDQorKGRlZmluZV9pbnNuICJAcHJlZF92YW5kbjxtb2Rl Pl9zY2FsYXIiDQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSV9RSFMgMCAi cmVnaXN0ZXJfb3BlcmFuZCIgICAgICI9dmQsIHZyLHZkLCB2ciIpDQorICAg ICAoaWZfdGhlbl9lbHNlOlZJX1FIUw0KKyAgICAgICAodW5zcGVjOjxWTT4N CisgICAgICAgICBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFz a19vcGVyYW5kIiAgIiB2bSxXYzEsdm0sV2MxIikNCisgICAgICAgICAgKG1h dGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAgIiBy SywgckssckssIHJLIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNiAi Y29uc3RfaW50X29wZXJhbmQiICAgICAgICAgIiAgaSwgIGksIGksICBpIikN CisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJh bmQiICAgICAgICAgIiAgaSwgIGksIGksICBpIikNCisgICAgICAgICAgKG1h dGNoX29wZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAgIiAg aSwgIGksIGksICBpIikNCisgICAgICAgICAgKHJlZzpTSSBWTF9SRUdOVU0p DQorICAgICAgICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQ UkVESUNBVEUpDQorICAgICAgIChhbmQ6VklfUUhTDQorICAgICAgICAgKG5v dDpWSV9RSFMNCisgICAgICAgICAgICh2ZWNfZHVwbGljYXRlOlZJX1FIUw0K KyAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDo8VkVMPiA0ICJyZWdpc3Rl cl9vcGVyYW5kIiAiIHIsICByLCByLCAgciIpKSkNCisgICAgICAgICAobWF0 Y2hfb3BlcmFuZDpWSV9RSFMgMyAicmVnaXN0ZXJfb3BlcmFuZCIgICAgInZy LCB2cix2ciwgdnIiKSkNCisgICAgICAgKG1hdGNoX29wZXJhbmQ6VklfUUhT IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgInZ1LCB2dSwgMCwgIDAiKSkp XQ0KKyAgIlRBUkdFVF9aVkJCIHx8IFRBUkdFVF9aVktCIg0KKyAgInZhbmRu LnZ4XHQlMCwlMywlNCVwMSINCisgIFsoc2V0X2F0dHIgInR5cGUiICJ2YW5k biIpDQorICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0KKw0KKzs7 IEhhbmRsZSBHRVRfTU9ERV9JTk5FUiAobW9kZSkgPSBESW1vZGUuIFdlIG5l ZWQgdG8gc3BsaXQgdGhlbSBzaW5jZQ0KKzs7IHdlIG5lZWQgdG8gZGVhbCB3 aXRoIFNFVyA9IDY0IGluIFJWMzIgc3lzdGVtLg0KKyhkZWZpbmVfZXhwYW5k ICJAcHJlZF92YW5kbjxtb2RlPl9zY2FsYXIiDQorICBbKHNldCAobWF0Y2hf b3BlcmFuZDpWSV9EIDAgInJlZ2lzdGVyX29wZXJhbmQiKQ0KKyAgICAgKGlm X3RoZW5fZWxzZTpWSV9EDQorICAgICAgICh1bnNwZWM6PFZNPg0KKyAgICAg ICAgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJh bmQiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVu Z3RoX29wZXJhbmQiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA2ICJj b25zdF9pbnRfb3BlcmFuZCIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5k IDcgImNvbnN0X2ludF9vcGVyYW5kIikNCisgICAgICAgICAgKG1hdGNoX29w ZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiKQ0KKyAgICAgICAgICAocmVn OlNJIFZMX1JFR05VTSkNCisgICAgICAgICAgKHJlZzpTSSBWVFlQRV9SRUdO VU0pXSBVTlNQRUNfVlBSRURJQ0FURSkNCisgICAgICAgKGFuZDpWSV9EDQor ICAgICAgICAgKG5vdDpWSV9EDQorICAgICAgICAgICAodmVjX2R1cGxpY2F0 ZTpWSV9EDQorICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOjxWRUw+IDQg InJlZ19vcl9pbnRfb3BlcmFuZCIpKSkNCisgICAgICAgICAobWF0Y2hfb3Bl cmFuZDpWSV9EIDMgInJlZ2lzdGVyX29wZXJhbmQiKSkNCisgICAgICAgKG1h dGNoX29wZXJhbmQ6VklfRCAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIpKSld DQorICAiVEFSR0VUX1pWQkIgfHwgVEFSR0VUX1pWS0IiDQorew0KKyAgaWYg KHJpc2N2X3ZlY3Rvcjo6c2V3NjRfc2NhbGFyX2hlbHBlciAoDQorIG9wZXJh bmRzLA0KKyAvKiBzY2FsYXIgb3AgKi8mb3BlcmFuZHNbNF0sDQorIC8qIHZs ICovb3BlcmFuZHNbNV0sDQorIDxNT0RFPm1vZGUsDQorIGZhbHNlLA0KKyBb XSAocnR4ICpvcGVyYW5kcywgcnR4IGJvYXJkY2FzdF9zY2FsYXIpIHsNCisg ICBlbWl0X2luc24gKGdlbl9wcmVkX3ZhbmRuPG1vZGU+IChvcGVyYW5kc1sw XSwgb3BlcmFuZHNbMV0sDQorICAgICAgICBvcGVyYW5kc1syXSwgb3BlcmFu ZHNbM10sIGJvYXJkY2FzdF9zY2FsYXIsIG9wZXJhbmRzWzVdLA0KKyAgICAg ICAgb3BlcmFuZHNbNl0sIG9wZXJhbmRzWzddLCBvcGVyYW5kc1s4XSkpOw0K KyAgICAgICAgfSwNCisgICAgICAgIChyaXNjdl92ZWN0b3I6OmF2bF90eXBl KSBJTlRWQUwgKG9wZXJhbmRzWzhdKSkpDQorICAgIERPTkU7DQorfSkNCisN CisoZGVmaW5lX2luc24gIipwcmVkX3ZhbmRuPG1vZGU+X3NjYWxhciINCisg IFsoc2V0IChtYXRjaF9vcGVyYW5kOlZJX0QgMCAicmVnaXN0ZXJfb3BlcmFu ZCIgICAgICAgICI9dmQsIHZyLHZkLCB2ciIpDQorICAgICAoaWZfdGhlbl9l bHNlOlZJX0QNCisgICAgICAgKHVuc3BlYzo8Vk0+DQorICAgICAgICAgWyht YXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgICAi IHZtLFdjMSx2bSxXYzEiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA1 ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICAgICAgIiBySywgckssckssIHJL IikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29w ZXJhbmQiICAgICAgICAgICIgaSwgICBpLCBpLCAgaSIpDQorICAgICAgICAg IChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAg ICAiIGksICAgaSwgaSwgIGkiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFu ZCA4ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAgICAgIiBpLCAgIGksIGks ICBpIikNCisgICAgICAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQorICAgICAg ICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUp DQorICAgICAgIChhbmQ6VklfRA0KKyAgICAgICAgIChub3Q6VklfRA0KKyAg ICAgICAgICAgKHZlY19kdXBsaWNhdGU6VklfRA0KKyAgICAgICAgICAgICAo bWF0Y2hfb3BlcmFuZDo8VkVMPiA0ICJyZWdfb3JfMF9vcGVyYW5kIiAiIHJK LCBySixySiwgckoiKSkpDQorICAgICAgICAgKG1hdGNoX29wZXJhbmQ6Vklf RCAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICIgdnIsIHZyLHZyLCB2ciIp KQ0KKyAgICAgICAobWF0Y2hfb3BlcmFuZDpWSV9EIDIgInZlY3Rvcl9tZXJn ZV9vcGVyYW5kIiAgICAiIHZ1LCB2dSwgMCwgIDAiKSkpXQ0KKyAgIlRBUkdF VF9aVkJCIHx8IFRBUkdFVF9aVktCIg0KKyAgInZhbmRuLnZ4XHQlMCwlMywl ejQlcDEiDQorICBbKHNldF9hdHRyICJ0eXBlIiAidmFuZG4iKQ0KKyAgIChz ZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkNCisNCisoZGVmaW5lX2luc24g IipwcmVkX3ZhbmRuPG1vZGU+X2V4dGVuZGVkX3NjYWxhciINCisgIFsoc2V0 IChtYXRjaF9vcGVyYW5kOlZJX0QgMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAg ICAgICAgICAiPXZkLCB2cix2ZCwgdnIiKQ0KKyAgICAgKGlmX3RoZW5fZWxz ZTpWSV9EDQorICAgICAgICh1bnNwZWM6PFZNPg0KKyAgICAgICAgIFsobWF0 Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICAgICAg ICIgdm0sV2MxLHZtLFdjMSIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5k IDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgICAgICAgICAgIiBySywgckss ckssIHJLIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3Rf aW50X29wZXJhbmQiICAgICAgICAgICAgICAiIGksICAgaSwgaSwgIGkiKQ0K KyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFu ZCIgICAgICAgICAgICAgICIgaSwgICBpLCBpLCAgaSIpDQorICAgICAgICAg IChtYXRjaF9vcGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAg ICAgICAgIiBpLCAgIGksIGksICBpIikNCisgICAgICAgICAgKHJlZzpTSSBW TF9SRUdOVU0pDQorICAgICAgICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0g VU5TUEVDX1ZQUkVESUNBVEUpDQorICAgICAgIChhbmQ6VklfRA0KKyAgICAg ICAgIChub3Q6VklfRA0KKyAgICAgICAgICAgKHZlY19kdXBsaWNhdGU6Vklf RA0KKyAgICAgICAgICAgICAoc2lnbl9leHRlbmQ6PFZFTD4NCisgICAgICAg ICAgICAgICAobWF0Y2hfb3BlcmFuZDo8VlNVQkVMPiA0ICJyZWdfb3JfMF9v cGVyYW5kIiAiIHJKLCBySixySiwgckoiKSkpKQ0KKyAgICAgICAgIChtYXRj aF9vcGVyYW5kOlZJX0QgMyAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAgICAg ICIgdnIsIHZyLHZyLCB2ciIpKQ0KKyAgICAgICAobWF0Y2hfb3BlcmFuZDpW SV9EIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgICAgICAgICIgdnUsIHZ1 LCAwLCAgMCIpKSldDQorICAiVEFSR0VUX1pWQkIgfHwgVEFSR0VUX1pWS0Ii DQorICAidmFuZG4udnhcdCUwLCUzLCV6NCVwMSINCisgIFsoc2V0X2F0dHIg InR5cGUiICJ2YW5kbiIpDQorICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+ IildKQ0KKw0KKyhkZWZpbmVfaW5zbiAiQHByZWRfdjxiaXRtYW5pcF9vcHRh Yj48bW9kZT4iDQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSSAwICJyZWdp c3Rlcl9vcGVyYW5kIiAgICAgICAgIj12ZCx2ZCwgdnIsIHZyIikNCisgICAg IChpZl90aGVuX2Vsc2U6VkkNCisgICAgICAgKHVuc3BlYzo8Vk0+DQorICAg ICAgICAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3Bl cmFuZCIgIiB2bSx2bSxXYzEsV2MxIikNCisgICAgICAgICAgKG1hdGNoX29w ZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAiIHJLLHJLLCBy SywgcksiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9p bnRfb3BlcmFuZCIgICAgICAgICIgIGksIGksICBpLCAgaSIpDQorICAgICAg ICAgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAg ICAgIiAgaSwgaSwgIGksICBpIikNCisgICAgICAgICAgKG1hdGNoX29wZXJh bmQgOCAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAiICBpLCBpLCAgaSwg IGkiKQ0KKyAgICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCisgICAgICAg ICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkN CisgICAgICAgKGJpdG1hbmlwX3JvdGF0ZTpWSQ0KKyAgICAgICAgIChtYXRj aF9vcGVyYW5kOlZJIDMgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgICIgdnIs dnIsIHZyLCB2ciIpDQorICAgICAgICAgKG1hdGNoX29wZXJhbmQ6VkkgNCAi cmVnaXN0ZXJfb3BlcmFuZCIgICAgICAgIiB2cix2ciwgdnIsIHZyIikpDQor ICAgICAgIChtYXRjaF9vcGVyYW5kOlZJIDIgInZlY3Rvcl9tZXJnZV9vcGVy YW5kIiAgICAgIiB2dSwgMCwgdnUsICAwIikpKV0NCisgICJUQVJHRVRfWlZC QiB8fCBUQVJHRVRfWlZLQiINCisgICJ2PGJpdG1hbmlwX2luc24+LnZ2XHQl MCwlMywlNCVwMSINCisgIFsoc2V0X2F0dHIgInR5cGUiICJ2PGJpdG1hbmlw X2luc24+IikNCisgICAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQor DQorKGRlZmluZV9pbnNuICJAcHJlZF92PGJpdG1hbmlwX29wdGFiPjxtb2Rl Pl9zY2FsYXIiDQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSSAwICJyZWdp c3Rlcl9vcGVyYW5kIiAgICAgICAgIj12ZCx2ZCwgdnIsIHZyIikNCisgICAg IChpZl90aGVuX2Vsc2U6VkkNCisgICAgICAgKHVuc3BlYzo8Vk0+DQorICAg ICAgICAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3Bl cmFuZCIgIiB2bSx2bSxXYzEsV2MxIikNCisgICAgICAgICAgKG1hdGNoX29w ZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAiIHJLLHJLLCBy SywgcksiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9p bnRfb3BlcmFuZCIgICAgICAgICIgIGksIGksICBpLCAgaSIpDQorICAgICAg ICAgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAg ICAgIiAgaSwgaSwgIGksICBpIikNCisgICAgICAgICAgKG1hdGNoX29wZXJh bmQgOCAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAiICBpLCBpLCAgaSwg IGkiKQ0KKyAgICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCisgICAgICAg ICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkN CisgICAgICAgKGJpdG1hbmlwX3JvdGF0ZTpWSQ0KKyAgICAgICAgIChtYXRj aF9vcGVyYW5kOlZJIDMgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgICIgdnIs dnIsIHZyLCB2ciIpDQorICAgICAgICAgKG1hdGNoX29wZXJhbmQgNCAicG1v ZGVfcmVnaXN0ZXJfb3BlcmFuZCIgICAgIiAgciwgciwgIHIsICByIikpDQor ICAgICAgIChtYXRjaF9vcGVyYW5kOlZJIDIgInZlY3Rvcl9tZXJnZV9vcGVy YW5kIiAgICAgIiB2dSwgMCwgdnUsICAwIikpKV0NCisgICJUQVJHRVRfWlZC QiB8fCBUQVJHRVRfWlZLQiINCisgICJ2PGJpdG1hbmlwX2luc24+LnZ4XHQl MCwlMywlNCVwMSINCisgIFsoc2V0X2F0dHIgInR5cGUiICJ2PGJpdG1hbmlw X2luc24+IikNCisgICAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQor DQorKGRlZmluZV9pbnNuICIqcHJlZF92cm9yPG1vZGU+X3NjYWxhciINCisg IFsoc2V0IChtYXRjaF9vcGVyYW5kOlZJIDAgInJlZ2lzdGVyX29wZXJhbmQi ICAgICAgICAiPXZkLHZkLCB2cix2ciIpDQorICAgICAoaWZfdGhlbl9lbHNl OlZJDQorICAgICAgICh1bnNwZWM6PFZNPg0KKyAgICAgICAgIFsobWF0Y2hf b3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICIgdm0sdm0s V2MxLFdjMSIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rv cl9sZW5ndGhfb3BlcmFuZCIgICAgIiBySyxySywgckssIHJLIikNCisgICAg ICAgICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiICAg ICAgICAiICBpLCBpLCAgaSwgIGkiKQ0KKyAgICAgICAgICAobWF0Y2hfb3Bl cmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAgICIgIGksIGksICBp LCAgaSIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0X2lu dF9vcGVyYW5kIiAgICAgICAgIiAgaSwgaSwgIGksICBpIikNCisgICAgICAg ICAgKHJlZzpTSSBWTF9SRUdOVU0pDQorICAgICAgICAgIChyZWc6U0kgVlRZ UEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpDQorICAgICAgIChyb3Rh dGVydDpWSQ0KKyAgICAgICAgIChtYXRjaF9vcGVyYW5kOlZJIDMgInJlZ2lz dGVyX29wZXJhbmQiICAgICAgICIgdnIsdnIsIHZyLCB2ciIpDQorICAgICAg ICAgKG1hdGNoX29wZXJhbmQgICAgNCAiY29uc3RfY3NyX29wZXJhbmQiICAg ICAgIiAgSywgSywgIEssICBLIikpDQorICAgICAgIChtYXRjaF9vcGVyYW5k OlZJIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgICAgIiB2dSwgMCwgdnUs ICAwIikpKV0NCisgICJUQVJHRVRfWlZCQiB8fCBUQVJHRVRfWlZLQiINCisg ICJ2cm9yLnZpXHQlMCwlMywlNCVwMSINCisgIFsoc2V0X2F0dHIgInR5cGUi ICJ2cm9yIikNCisgICAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQor DQorKGRlZmluZV9pbnNuICJAcHJlZF92d3NsbDxtb2RlPiINCisgIFsoc2V0 IChtYXRjaF9vcGVyYW5kOlZXRVhUSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAg ICAgIj0mdnIiKQ0KKyAgICAgKGlmX3RoZW5fZWxzZTpWV0VYVEkNCisgICAg ICAgKHVuc3BlYzo8Vk0+DQorICAgICAgICAgWyhtYXRjaF9vcGVyYW5kOjxW TT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZtV2MxIikNCisgICAgICAg ICAgKG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAg ICAiICBySyIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0 X2ludF9vcGVyYW5kIiAgICAgICAgIiAgIGkiKQ0KKyAgICAgICAgICAobWF0 Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAgICIgICBp IikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3RfaW50X29w ZXJhbmQiICAgICAgICAiICAgaSIpDQorICAgICAgICAgIChyZWc6U0kgVkxf UkVHTlVNKQ0KKyAgICAgICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVO U1BFQ19WUFJFRElDQVRFKQ0KKyAgICAgICAoYXNoaWZ0OlZXRVhUSQ0KKyAg ICAgICAgICh6ZXJvX2V4dGVuZDpWV0VYVEkNCisgICAgICAgICAgIChtYXRj aF9vcGVyYW5kOjxWX0RPVUJMRV9UUlVOQz4gMyAicmVnaXN0ZXJfb3BlcmFu ZCIgInZyIikpDQorICAgICAgICAgKG1hdGNoX29wZXJhbmQ6PFZfRE9VQkxF X1RSVU5DPiA0ICJyZWdpc3Rlcl9vcGVyYW5kIiAgInZyIikpDQorICAgICAg IChtYXRjaF9vcGVyYW5kOlZXRVhUSSAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFu ZCIgIjB2dSIpKSldDQorICAiVEFSR0VUX1pWQkIiDQorICAidndzbGwudnZc dCUwLCUzLCU0JXAxIg0KKyAgWyhzZXRfYXR0ciAidHlwZSIgInZ3c2xsIikN CisgICAoc2V0X2F0dHIgIm1vZGUiICI8Vl9ET1VCTEVfVFJVTkM+IildKQ0K Kw0KKyhkZWZpbmVfaW5zbiAiQHByZWRfdndzbGw8bW9kZT5fc2NhbGFyIg0K KyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VldFWFRJIDAgInJlZ2lzdGVyX29w ZXJhbmQiICAgICI9dmQsIHZyLCB2ZCwgdnIsIHZkLCB2ciwgdmQsIHZyLCB2 ZCwgdnIsIHZkLCB2ciwgPyZ2ciwgPyZ2ciIpDQorICAgICAoaWZfdGhlbl9l bHNlOlZXRVhUSQ0KKyAgICAgICAodW5zcGVjOjxWTT4NCisgICAgICAgICBb KG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAi IHZtLFdjMSwgdm0sV2MxLCB2bSxXYzEsIHZtLFdjMSwgdm0sV2MxLCB2bSxX YzEsdm1XYzEsdm1XYzEiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA1 ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICAgICIgckssIHJLLCBySywgckss IHJLLCBySywgckssIHJLLCBySywgckssIHJLLCBySywgICBySywgICBySyIp DQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVy YW5kIiAgICAgICAgIiAgaSwgIGksICBpLCAgaSwgIGksICBpLCAgaSwgIGks ICBpLCAgaSwgIGksICBpLCAgICBpLCAgICBpIikNCisgICAgICAgICAgKG1h dGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAiICBp LCAgaSwgIGksICBpLCAgaSwgIGksICBpLCAgaSwgIGksICBpLCAgaSwgIGks ICAgIGksICAgIGkiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA4ICJj b25zdF9pbnRfb3BlcmFuZCIgICAgICAgICIgIGksICBpLCAgaSwgIGksICBp LCAgaSwgIGksICBpLCAgaSwgIGksICBpLCAgaSwgICAgaSwgICAgaSIpDQor ICAgICAgICAgIChyZWc6U0kgVkxfUkVHTlVNKQ0KKyAgICAgICAgICAocmVn OlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQ0KKyAgICAg ICAoYXNoaWZ0OlZXRVhUSQ0KKyAgICAgICAgICh6ZXJvX2V4dGVuZDpWV0VY VEkNCisgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOjxWX0RPVUJMRV9UUlVO Qz4gMyAicmVnaXN0ZXJfb3BlcmFuZCIgICJXMjEsVzIxLFcyMSxXMjEsVzQy LFc0MixXNDIsVzQyLFc4NCxXODQsVzg0LFc4NCwgICB2ciwgICB2ciIpKQ0K KyAgICAgICAgIChtYXRjaF9vcGVyYW5kOjxWU1VCRUw+IDQgInBtb2RlX3Jl Z19vcl91aW1tNV9vcGVyYW5kIiAgIiBySywgckssIHJLLCBySywgckssIHJL LCBySywgckssIHJLLCBySywgckssIHJLLCAgIHJLLCAgIHJLIikpDQorICAg ICAgIChtYXRjaF9vcGVyYW5kOlZXRVhUSSAyICJ2ZWN0b3JfbWVyZ2Vfb3Bl cmFuZCIgICAgICAgICAgICAiIHZ1LCB2dSwgIDAsICAwLCB2dSwgdnUsICAw LCAgMCwgdnUsIHZ1LCAgMCwgIDAsICAgdnUsICAgIDAiKSkpXQ0KKyAgIlRB UkdFVF9aVkJCIg0KKyAgInZ3c2xsLnYlbzRcdCUwLCUzLCU0JXAxIg0KKyAg WyhzZXRfYXR0ciAidHlwZSIgInZ3c2xsIikNCisgICAoc2V0X2F0dHIgIm1v ZGUiICI8Vl9ET1VCTEVfVFJVTkM+IikNCisgICAoc2V0X2F0dHIgImdyb3Vw X292ZXJsYXAiICJXMjEsVzIxLFcyMSxXMjEsVzQyLFc0MixXNDIsVzQyLFc4 NCxXODQsVzg0LFc4NCxub25lLG5vbmUiKV0pDQorDQorOzsgdmJyZXYudiB2 YnJldjgudiB2cmV2OC52DQorKGRlZmluZV9pbnNuICJAcHJlZF92PHJldj48 bW9kZT4iDQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSSAwICJyZWdpc3Rl cl9vcGVyYW5kIiAgICAgICAgIj12ZCx2cix2ZCx2ciIpDQorICAgICAoaWZf dGhlbl9lbHNlOlZJDQorICAgICAgICh1bnNwZWM6PFZNPg0KKyAgICAgICAg IFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQi ICJ2bSxXYzEsdm0sV2MxIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQg NCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAickssckssIHJLLCBySyIp DQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVy YW5kIiAgICAgICAgImksICBpLCAgaSwgIGkiKQ0KKyAgICAgICAgICAobWF0 Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAgICJpLCAg aSwgIGksICBpIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNyAiY29u c3RfaW50X29wZXJhbmQiICAgICAgICAiaSwgIGksICBpLCAgaSIpDQorICAg ICAgICAgIChyZWc6U0kgVkxfUkVHTlVNKQ0KKyAgICAgICAgICAocmVnOlNJ IFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQ0KKyAgICAgICAo dW5zcGVjOlZJDQorICAgICAgICAgWyhtYXRjaF9vcGVyYW5kOlZJIDMgInJl Z2lzdGVyX29wZXJhbmQiICAgICAgInZyLHZyLCB2ciwgdnIiKV1VTlNQRUNf VlJCQjgpDQorICAgICAgIChtYXRjaF9vcGVyYW5kOlZJIDIgInZlY3Rvcl9t ZXJnZV9vcGVyYW5kIiAgICAgInZ1LHZ1LCAgMCwgIDAiKSkpXQ0KKyAgIlRB UkdFVF9aVkJCIHx8IFRBUkdFVF9aVktCIg0KKyAgInY8cmV2Pi52XHQlMCwl MyVwMSINCisgIFsoc2V0X2F0dHIgInR5cGUiICJ2PHJldj4iKQ0KKyAgIChz ZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkNCisNCis7OyB2Y2x6LnYgdmN0 ei52DQorKGRlZmluZV9pbnNuICJAcHJlZF92PGJpdG1hbmlwX29wdGFiPjxt b2RlPiINCisgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZJIDAgICJyZWdpc3Rl cl9vcGVyYW5kIiAgICAgICAgICAgIj12ZCwgdnIiKQ0KKyAgICAgKGNsel9j dHpfcGNudDpWSQ0KKyAgICAgICAocGFyYWxsZWwNCisgICAgICAgICBbKG1h dGNoX29wZXJhbmQ6VkkgMiAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAgICAg ICJ2ciwgdnIiKQ0KKyAgICAgICAgICAodW5zcGVjOjxWTT4NCisgICAgICAg ICAgICBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVy YW5kIiAgICJ2bSxXYzEiKQ0KKyAgICAgICAgICAgICAobWF0Y2hfb3BlcmFu ZCAzICAgICAgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgInJLLCBySyIpDQor ICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDQgICAgICAiY29uc3RfaW50 X29wZXJhbmQiICAgICAiIGksICBpIikNCisgICAgICAgICAgICAgKHJlZzpT SSBWTF9SRUdOVU0pDQorICAgICAgICAgICAgIChyZWc6U0kgVlRZUEVfUkVH TlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpXSkpKV0NCisgICJUQVJHRVRfWlZC QiINCisgICJ2PGJpdG1hbmlwX2luc24+LnZcdCUwLCUyJXAxIg0KKyAgWyhz ZXRfYXR0ciAidHlwZSIgInY8Yml0bWFuaXBfaW5zbj4iKQ0KKyAgIChzZXRf YXR0ciAibW9kZSIgIjxNT0RFPiIpXSkNCisNCis7OyB6dmJjIGluc3RydWN0 aW9ucyBwYXR0ZXJucy4NCis7OyB2Y2xtdWwudnYgdmNsbXVsLnZ4DQorOzsg dmNsbXVsaC52diB2Y2xtdWxoLnZ4DQorKGRlZmluZV9pbnNuICJAcHJlZF92 Y2xtdWw8aD48bW9kZT4iDQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSV9E IDAgICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgIj12ZCx2cix2ZCwgdnIiKQ0K KyAgICAgKGlmX3RoZW5fZWxzZTpWSV9EDQorICAgICAgICh1bnNwZWM6PFZN Pg0KKyAgICAgICAgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9t YXNrX29wZXJhbmQiICJ2bSxXYzEsdm0sV2MxIikNCisgICAgICAgICAgKG1h dGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAickss IHJLLHJLLCBySyIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDYgImNv bnN0X2ludF9vcGVyYW5kIiAgICAgICAgIiBpLCAgaSwgaSwgIGkiKQ0KKyAg ICAgICAgICAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCIg ICAgICAgICIgaSwgIGksIGksICBpIikNCisgICAgICAgICAgKG1hdGNoX29w ZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAiIGksICBpLCBp LCAgaSIpDQorICAgICAgICAgIChyZWc6U0kgVkxfUkVHTlVNKQ0KKyAgICAg ICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRF KQ0KKyAgICAgICAodW5zcGVjOlZJX0QNCisgICAgICAgICBbKG1hdGNoX29w ZXJhbmQ6VklfRCAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgInZyLCB2cix2 ciwgdnIiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpWSV9EIDQgInJl Z2lzdGVyX29wZXJhbmQiICAgICAidnIsIHZyLHZyLCB2ciIpXVVOU1BFQ19D TE1VTCkNCisgICAgICAgKG1hdGNoX29wZXJhbmQ6VklfRCAyICJ2ZWN0b3Jf bWVyZ2Vfb3BlcmFuZCIgICAgInZ1LCB2dSwgMCwgIDAiKSkpXQ0KKyAgIlRB UkdFVF9aVkJDIg0KKyAgInZjbG11bDxoPi52dlx0JTAsJTMsJTQlcDEiDQor ICBbKHNldF9hdHRyICJ0eXBlIiAidmNsbXVsPGg+IikNCisgICAoc2V0X2F0 dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorDQorOzsgRGVhbCB3aXRoIFNFVyA9 IDY0IGluIFJWMzIgc3lzdGVtLg0KKyhkZWZpbmVfZXhwYW5kICJAcHJlZF92 Y2xtdWw8aD48bW9kZT5fc2NhbGFyIg0KKyAgWyhzZXQgKG1hdGNoX29wZXJh bmQ6VklfRCAwICJyZWdpc3Rlcl9vcGVyYW5kIikNCisgICAgIChpZl90aGVu X2Vsc2U6VklfRA0KKyAgICAgICAodW5zcGVjOjxWTT4NCisgICAgICAgICBb KG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIikN CisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9v cGVyYW5kIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3Rf aW50X29wZXJhbmQiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA3ICJj b25zdF9pbnRfb3BlcmFuZCIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5k IDggImNvbnN0X2ludF9vcGVyYW5kIikNCisgICAgICAgICAgKHJlZzpTSSBW TF9SRUdOVU0pDQorICAgICAgICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0g VU5TUEVDX1ZQUkVESUNBVEUpDQorICAgICAgICh1bnNwZWM6VklfRA0KKyAg ICAgICAgIFsodmVjX2R1cGxpY2F0ZTpWSV9EDQorICAgICAgICAgICAgKG1h dGNoX29wZXJhbmQ6PFZFTD4gNCAicmVnaXN0ZXJfb3BlcmFuZCIpKQ0KKyAg ICAgICAgICAobWF0Y2hfb3BlcmFuZDpWSV9EIDMgInJlZ2lzdGVyX29wZXJh bmQiKV1VTlNQRUNfQ0xNVUwpDQorICAgICAgIChtYXRjaF9vcGVyYW5kOlZJ X0QgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiKSkpXQ0KKyAgIlRBUkdFVF9a VkJDIg0KK3sNCisgIGlmIChyaXNjdl92ZWN0b3I6OnNldzY0X3NjYWxhcl9o ZWxwZXIgKA0KKyBvcGVyYW5kcywNCisgLyogc2NhbGFyIG9wICovJm9wZXJh bmRzWzRdLA0KKyAvKiB2bCAqL29wZXJhbmRzWzVdLA0KKyA8TU9ERT5tb2Rl LA0KKyBmYWxzZSwNCisgW10gKHJ0eCAqb3BlcmFuZHMsIHJ0eCBib2FyZGNh c3Rfc2NhbGFyKSB7DQorICAgZW1pdF9pbnNuIChnZW5fcHJlZF92Y2xtdWw8 aD48bW9kZT4gKG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSwNCisgICAgICAg IG9wZXJhbmRzWzJdLCBvcGVyYW5kc1szXSwgYm9hcmRjYXN0X3NjYWxhciwg b3BlcmFuZHNbNV0sDQorICAgICAgICBvcGVyYW5kc1s2XSwgb3BlcmFuZHNb N10sIG9wZXJhbmRzWzhdKSk7DQorICAgICAgICB9LA0KKyAgICAgICAgKHJp c2N2X3ZlY3Rvcjo6YXZsX3R5cGUpIElOVFZBTCAob3BlcmFuZHNbOF0pKSkN CisgICAgRE9ORTsNCit9KQ0KKw0KKyhkZWZpbmVfaW5zbiAiKnByZWRfdmNs bXVsPGg+PG1vZGU+X3NjYWxhciINCisgIFsoc2V0IChtYXRjaF9vcGVyYW5k OlZJX0QgMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiPXZkLHZyLHZkLCB2 ciIpDQorICAgIChpZl90aGVuX2Vsc2U6VklfRA0KKyAgICAgICh1bnNwZWM6 PFZNPg0KKyAgICAgICAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9y X21hc2tfb3BlcmFuZCIgICJ2bSxXYzEsdm0sV2MxIikNCisgICAgICAgICht YXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgICAgICAi ckssIHJLLHJLLCBySyIpDQorICAgICAgICAobWF0Y2hfb3BlcmFuZCA2ICJj b25zdF9pbnRfb3BlcmFuZCIgICAgICAgICAgIiBpLCAgaSwgaSwgIGkiKQ0K KyAgICAgICAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQi ICAgICAgICAgICIgaSwgIGksIGksICBpIikNCisgICAgICAgIChtYXRjaF9v cGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgICAiIGksICBp LCBpLCAgaSIpDQorICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCisgICAg ICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUp DQorICAgICAgKHVuc3BlYzpWSV9EDQorICAgICAgICBbKHZlY19kdXBsaWNh dGU6VklfRA0KKyAgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6PFZFTD4gNCAi cmVnX29yXzBfb3BlcmFuZCIgICAickosIHJKLHJKLCBySiIpKQ0KKyAgICAg ICAgIChtYXRjaF9vcGVyYW5kOlZJX0QgMyAicmVnaXN0ZXJfb3BlcmFuZCIg ICAgICAidnIsIHZyLHZyLCB2ciIpXVVOU1BFQ19DTE1VTCkNCisgICAgICAo bWF0Y2hfb3BlcmFuZDpWSV9EIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAg ICAgInZ1LCB2dSwgMCwgIDAiKSkpXQ0KKyAgIlRBUkdFVF9aVkJDIg0KKyAg InZjbG11bDxoPi52eFx0JTAsJTMsJTQlcDEiDQorICBbKHNldF9hdHRyICJ0 eXBlIiAidmNsbXVsPGg+IikNCisgICAoc2V0X2F0dHIgIm1vZGUiICI8TU9E RT4iKV0pDQorDQorKGRlZmluZV9pbnNuICIqcHJlZF92Y2xtdWw8aD48bW9k ZT5fZXh0ZW5kX3NjYWxhciINCisgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZJ X0QgMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAgICI9dmQsdnIsdmQsIHZy IikNCisgICAgKGlmX3RoZW5fZWxzZTpWSV9EDQorICAgICAgKHVuc3BlYzo8 Vk0+DQorICAgICAgICBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3Jf bWFza19vcGVyYW5kIiAgICAidm0sV2MxLHZtLFdjMSIpDQorICAgICAgICAo bWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICAgICAg ICAickssIHJLLHJLLCBySyIpDQorICAgICAgICAobWF0Y2hfb3BlcmFuZCA2 ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAgICAgICAiIGksICBpLCBpLCAg aSIpDQorICAgICAgICAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3Bl cmFuZCIgICAgICAgICAgICAiIGksICBpLCBpLCAgaSIpDQorICAgICAgICAo bWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAgICAg ICAiIGksICBpLCBpLCAgaSIpDQorICAgICAgICAocmVnOlNJIFZMX1JFR05V TSkNCisgICAgICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQ UkVESUNBVEUpDQorICAgICAgKHVuc3BlYzpWSV9EDQorICAgICAgICBbKHZl Y19kdXBsaWNhdGU6VklfRA0KKyAgICAoc2lnbl9leHRlbmQ6PFZFTD4NCisg ICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6PFZTVUJFTD4gNCAicmVnX29y XzBfb3BlcmFuZCIgInJKLCBySixySiwgckoiKSkpDQorICAgICAgICAgKG1h dGNoX29wZXJhbmQ6VklfRCAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICAg ICJ2ciwgdnIsdnIsIHZyIildVU5TUEVDX0NMTVVMKQ0KKyAgICAgIChtYXRj aF9vcGVyYW5kOlZJX0QgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiICAgICAg ICAidnUsIHZ1LCAwLCAgMCIpKSldDQorICAiVEFSR0VUX1pWQkMiDQorICAi dmNsbXVsPGg+LnZ4XHQlMCwlMywlNCVwMSINCisgIFsoc2V0X2F0dHIgInR5 cGUiICJ2Y2xtdWw8aD4iKQ0KKyAgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RF PiIpXSkNCisNCis7OyB6dmtuaFthYl0gYW5kIHp2a2cgaW5zdHJ1Y3Rpb25z IHBhdHRlcm5zLg0KKzs7IHZzaGEybXMudnYgdnNoYTJjaC52diB2c2hhMmNs LnZ2IHZnaHNoLnZ2DQorKGRlZmluZV9pbnNuICJAcHJlZF92PHZ2X2luczFf bmFtZT48bW9kZT4iDQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWUUVYVEkg MCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICI9dnIiKQ0KKyAgICAgKGlmX3Ro ZW5fZWxzZTpWUUVYVEkNCisgICAgICAgKHVuc3BlYzo8Vk0+DQorICAgICAg ICAgWyhtYXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIg ICAgICJySyIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0 X2ludF9vcGVyYW5kIiAgICAgICAgICIgaSIpDQorICAgICAgICAgIChtYXRj aF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgICIgaSIp DQorICAgICAgICAgIChyZWc6U0kgVkxfUkVHTlVNKQ0KKyAgICAgICAgICAo cmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQ0KKyAg ICAgICAodW5zcGVjOlZRRVhUSQ0KKyAgICAgICAgICBbKG1hdGNoX29wZXJh bmQ6VlFFWFRJIDEgInJlZ2lzdGVyX29wZXJhbmQiICIgMCIpDQorICAgICAg ICAgICAobWF0Y2hfb3BlcmFuZDpWUUVYVEkgMiAicmVnaXN0ZXJfb3BlcmFu ZCIgInZyIikNCisgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlZRRVhUSSAz ICJyZWdpc3Rlcl9vcGVyYW5kIiAidnIiKV0gVU5TUEVDX1ZHTkhBQikNCisg ICAgICAgKG1hdGNoX2R1cCAxKSkpXQ0KKyAgIlRBUkdFVF9aVktOSEEgfHwg VEFSR0VUX1pWS05IQiB8fCBUQVJHRVRfWlZLRyINCisgICJ2PHZ2X2luczFf bmFtZT4udnZcdCUwLCUyLCUzIg0KKyAgWyhzZXRfYXR0ciAidHlwZSIgInY8 dnZfaW5zMV9uYW1lPiIpDQorICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+ IildKQ0KKw0KKzs7IHp2a25lZCBhbmQgenZrc2VkIGFtZCB6dmtnIGluc3Ry dWN0aW9ucyBwYXR0ZXJucy4NCis7OyB2Z211bC52diAgICAgICB2YWVzei52 cw0KKzs7IHZhZXNlZi5bdnYsdnNdIHZhZXNlbS5bdnYsdnNdIHZhZXNkZi5b dnYsdnNdIHZhZXNkbS5bdnYsdnNdDQorOzsgdnNtNHIuW3Z2LHZzXQ0KKyhk ZWZpbmVfaW5zbiAiQHByZWRfY3J5cHRvX3Z2PHZ2X2luc19uYW1lPjxpbnNf dHlwZT48bW9kZT4iDQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWU0kgMCAi cmVnaXN0ZXJfb3BlcmFuZCIgICAgIj12ciIpDQorICAgICAoaWZfdGhlbl9l bHNlOlZTSQ0KKyAgICAgICAodW5zcGVjOjxWTT4NCisgICAgICAgICBbKG1h dGNoX29wZXJhbmQgMyAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAiIHJLIikN CisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNCAiY29uc3RfaW50X29wZXJh bmQiICAgICAiICBpIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNSAi Y29uc3RfaW50X29wZXJhbmQiICAgICAiICBpIikNCisgICAgICAgICAgKHJl ZzpTSSBWTF9SRUdOVU0pDQorICAgICAgICAgIChyZWc6U0kgVlRZUEVfUkVH TlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpDQorICAgICAgICh1bnNwZWM6VlNJ DQorICAgICAgICAgWyhtYXRjaF9vcGVyYW5kOlZTSSAxICJyZWdpc3Rlcl9v cGVyYW5kIiAiIDAiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpWU0kg MiAicmVnaXN0ZXJfb3BlcmFuZCIgInZyIildIFVOU1BFQ19DUllQVE9fVlYp DQorICAgICAgIChtYXRjaF9kdXAgMSkpKV0NCisgICJUQVJHRVRfWlZLTkVE IHx8IFRBUkdFVF9aVktTRUQgfHwgVEFSR0VUX1pWS0ciDQorICAidjx2dl9p bnNfbmFtZT4uPGluc190eXBlPlx0JTAsJTIiDQorICBbKHNldF9hdHRyICJ0 eXBlIiAidjx2dl9pbnNfbmFtZT4iKQ0KKyAgIChzZXRfYXR0ciAibW9kZSIg IjxNT0RFPiIpXSkNCisNCisoZGVmaW5lX2luc24gIkBwcmVkX2NyeXB0b192 djx2dl9pbnNfbmFtZT48aW5zX3R5cGU+eDE8bW9kZT5fc2NhbGFyIg0KKyAg WyhzZXQgKG1hdGNoX29wZXJhbmQ6VlNJIDAgInJlZ2lzdGVyX29wZXJhbmQi ICAgICI9JnZyIikNCisgICAgIChpZl90aGVuX2Vsc2U6VlNJDQorICAgICAg ICh1bnNwZWM6PFZNPg0KKyAgICAgICAgIFsobWF0Y2hfb3BlcmFuZCAzICJ2 ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICIgIHJLIikNCisgICAgICAgICAgKG1h dGNoX29wZXJhbmQgNCAiY29uc3RfaW50X29wZXJhbmQiICAgICAiICAgaSIp DQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVy YW5kIiAgICAgIiAgIGkiKQ0KKyAgICAgICAgICAocmVnOlNJIFZMX1JFR05V TSkNCisgICAgICAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNf VlBSRURJQ0FURSkNCisgICAgICAgKHVuc3BlYzpWU0kNCisgICAgICAgICBb KG1hdGNoX29wZXJhbmQ6VlNJIDEgInJlZ2lzdGVyX29wZXJhbmQiICIgMCIp DQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlZTSSAyICJyZWdpc3Rlcl9v cGVyYW5kIiAidnIiKV0gVU5TUEVDX0NSWVBUT19WVikNCisgICAgICAgKG1h dGNoX2R1cCAxKSkpXQ0KKyAgIlRBUkdFVF9aVktORUQgfHwgVEFSR0VUX1pW S1NFRCINCisgICJ2PHZ2X2luc19uYW1lPi48aW5zX3R5cGU+XHQlMCwlMiIN CisgIFsoc2V0X2F0dHIgInR5cGUiICJ2PHZ2X2luc19uYW1lPiIpDQorICAg KHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0KKw0KKyhkZWZpbmVfaW5z biAiQHByZWRfY3J5cHRvX3Z2PHZ2X2luc19uYW1lPjxpbnNfdHlwZT54Mjxt b2RlPl9zY2FsYXIiDQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDo8VlNJWDI+ IDAgInJlZ2lzdGVyX29wZXJhbmQiICI9JnZyIikNCisgICAgIChpZl90aGVu X2Vsc2U6PFZTSVgyPg0KKyAgICAgICAodW5zcGVjOjxWTT4NCisgICAgICAg ICBbKG1hdGNoX29wZXJhbmQgMyAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAg InJLIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNCAiY29uc3RfaW50 X29wZXJhbmQiICAgICAgIiBpIikNCisgICAgICAgICAgKG1hdGNoX29wZXJh bmQgNSAiY29uc3RfaW50X29wZXJhbmQiICAgICAgIiBpIikNCisgICAgICAg ICAgKHJlZzpTSSBWTF9SRUdOVU0pDQorICAgICAgICAgIChyZWc6U0kgVlRZ UEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpDQorICAgICAgICh1bnNw ZWM6PFZTSVgyPg0KKyAgICAgICAgIFsobWF0Y2hfb3BlcmFuZDo8VlNJWDI+ IDEgICJyZWdpc3Rlcl9vcGVyYW5kIiAgICIgMCIpDQorICAgICAgICAgICht YXRjaF9vcGVyYW5kOlZMTVVMWDJfU0kgMiAicmVnaXN0ZXJfb3BlcmFuZCIg InZyIildIFVOU1BFQ19DUllQVE9fVlYpDQorICAgICAgIChtYXRjaF9kdXAg MSkpKV0NCisgICJUQVJHRVRfWlZLTkVEIHx8IFRBUkdFVF9aVktTRUQiDQor ICAidjx2dl9pbnNfbmFtZT4uPGluc190eXBlPlx0JTAsJTIiDQorICBbKHNl dF9hdHRyICJ0eXBlIiAidjx2dl9pbnNfbmFtZT4iKQ0KKyAgIChzZXRfYXR0 ciAibW9kZSIgIjxNT0RFPiIpXSkNCisNCisoZGVmaW5lX2luc24gIkBwcmVk X2NyeXB0b192djx2dl9pbnNfbmFtZT48aW5zX3R5cGU+eDQ8bW9kZT5fc2Nh bGFyIg0KKyBbKHNldCAobWF0Y2hfb3BlcmFuZDo8VlNJWDQ+IDAgInJlZ2lz dGVyX29wZXJhbmQiICAgICAgIj0mdnIiKQ0KKyAgICAoaWZfdGhlbl9lbHNl OjxWU0lYND4NCisgICAgICAodW5zcGVjOjxWTT4NCisgICAgICAgIFsobWF0 Y2hfb3BlcmFuZCAzICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICAgICAgICIg cksiKQ0KKyAgICAgICAgIChtYXRjaF9vcGVyYW5kIDQgImNvbnN0X2ludF9v cGVyYW5kIiAgICAgICAgICAgIiAgaSIpDQorICAgICAgICAgKG1hdGNoX29w ZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAgICAiICBpIikN CisgICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCisgICAgICAgICAocmVn OlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQ0KKyAgICAg ICAodW5zcGVjOjxWU0lYND4NCisgICAgICAgICBbKG1hdGNoX29wZXJhbmQ6 PFZTSVg0PiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAiIDAiKQ0KKyAgICAg ICAgICAobWF0Y2hfb3BlcmFuZDpWTE1VTFg0X1NJIDIgInJlZ2lzdGVyX29w ZXJhbmQiICJ2ciIpXSBVTlNQRUNfQ1JZUFRPX1ZWKQ0KKyAgICAgICAobWF0 Y2hfZHVwIDEpKSldDQorICJUQVJHRVRfWlZLTkVEIHx8IFRBUkdFVF9aVktT RUQiDQorICJ2PHZ2X2luc19uYW1lPi48aW5zX3R5cGU+XHQlMCwlMiINCisg WyhzZXRfYXR0ciAidHlwZSIgInY8dnZfaW5zX25hbWU+IikNCisgIChzZXRf YXR0ciAibW9kZSIgIjxNT0RFPiIpXSkNCisNCisoZGVmaW5lX2luc24gIkBw cmVkX2NyeXB0b192djx2dl9pbnNfbmFtZT48aW5zX3R5cGU+eDg8bW9kZT5f c2NhbGFyIg0KKyBbKHNldCAobWF0Y2hfb3BlcmFuZDo8VlNJWDg+IDAgInJl Z2lzdGVyX29wZXJhbmQiICAgICAgIj0mdnIiKQ0KKyAgICAoaWZfdGhlbl9l bHNlOjxWU0lYOD4NCisgICAgICAodW5zcGVjOjxWTT4NCisgICAgICAgIFso bWF0Y2hfb3BlcmFuZCAzICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICAgICAg ICIgcksiKQ0KKyAgICAgICAgIChtYXRjaF9vcGVyYW5kIDQgImNvbnN0X2lu dF9vcGVyYW5kIiAgICAgICAgICAgIiAgaSIpDQorICAgICAgICAgKG1hdGNo X29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAgICAiICBp IikNCisgICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCisgICAgICAgICAo cmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQ0KKyAg ICAgICh1bnNwZWM6PFZTSVg4Pg0KKyAgICAgICAgWyhtYXRjaF9vcGVyYW5k OjxWU0lYOD4gMSAicmVnaXN0ZXJfb3BlcmFuZCIgICAgIiAgMCIpDQorICAg ICAgICAgKG1hdGNoX29wZXJhbmQ6VkxNVUxYOF9TSSAyICJyZWdpc3Rlcl9v cGVyYW5kIiAiIHZyIildIFVOU1BFQ19DUllQVE9fVlYpDQorICAgICAgKG1h dGNoX2R1cCAxKSkpXQ0KKyAiVEFSR0VUX1pWS05FRCB8fCBUQVJHRVRfWlZL U0VEIg0KKyAidjx2dl9pbnNfbmFtZT4uPGluc190eXBlPlx0JTAsJTIiDQor IFsoc2V0X2F0dHIgInR5cGUiICJ2PHZ2X2luc19uYW1lPiIpDQorICAoc2V0 X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorDQorKGRlZmluZV9pbnNuICJA cHJlZF9jcnlwdG9fdnY8dnZfaW5zX25hbWU+PGluc190eXBlPngxNjxtb2Rl Pl9zY2FsYXIiDQorIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWU0lYMTY+IDAg InJlZ2lzdGVyX29wZXJhbmQiICAgICAgIj0mdnIiKQ0KKyAgICAoaWZfdGhl bl9lbHNlOjxWU0lYMTY+DQorICAgICAgKHVuc3BlYzo8Vk0+DQorICAgICAg ICBbKG1hdGNoX29wZXJhbmQgMyAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAg ICAgICAgIiAgcksiKQ0KKyAgICAgICAgIChtYXRjaF9vcGVyYW5kIDQgImNv bnN0X2ludF9vcGVyYW5kIiAgICAgICAgICAgICIgICBpIikNCisgICAgICAg ICAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAg ICAgICAiICAgaSIpDQorICAgICAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQor ICAgICAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJ Q0FURSkNCisgICAgICAodW5zcGVjOjxWU0lYMTY+DQorICAgICAgICBbKG1h dGNoX29wZXJhbmQ6PFZTSVgxNj4gMSAicmVnaXN0ZXJfb3BlcmFuZCIgICAg IiAgIDAiKQ0KKyAgICAgICAgIChtYXRjaF9vcGVyYW5kOlZMTVVMWDE2X1NJ IDIgInJlZ2lzdGVyX29wZXJhbmQiICIgIHZyIildIFVOU1BFQ19DUllQVE9f VlYpDQorICAgICAgKG1hdGNoX2R1cCAxKSkpXQ0KKyAiVEFSR0VUX1pWS05F RCB8fCBUQVJHRVRfWlZLU0VEIg0KKyAidjx2dl9pbnNfbmFtZT4uPGluc190 eXBlPlx0JTAsJTIiDQorIFsoc2V0X2F0dHIgInR5cGUiICJ2PHZ2X2luc19u YW1lPiIpDQorICAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorDQor OzsgdmFlc2tmMS52aSB2c200ay52aQ0KKyhkZWZpbmVfaW5zbiAiQHByZWRf Y3J5cHRvX3ZpPHZpX2luc19uYW1lPjxtb2RlPl9zY2FsYXIiDQorICBbKHNl dCAobWF0Y2hfb3BlcmFuZDpWU0kgMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAg ICAgICI9dnIsIHZyIikNCisgICAgIChpZl90aGVuX2Vsc2U6VlNJDQorICAg ICAgICh1bnNwZWM6PFZNPg0KKyAgICAgICAgIFsobWF0Y2hfb3BlcmFuZCA0 ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICAgICAgInJLLCBySyIpDQorICAg ICAgICAgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIiAg ICAgICAgICAiIGksICBpIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQg NiAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAgICIgaSwgIGkiKQ0KKyAg ICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCisgICAgICAgICAgKHJlZzpT SSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkNCisgICAgICAg KHVuc3BlYzpWU0kNCisgICAgICAgICBbKG1hdGNoX29wZXJhbmQ6VlNJIDIg ICAgICAgInJlZ2lzdGVyX29wZXJhbmQiICJ2ciwgdnIiKQ0KKyAgICAgICAg ICAobWF0Y2hfb3BlcmFuZCAzICAiY29uc3RfaW50X29wZXJhbmQiICAgICAg ICAgIiBpLCAgaSIpXSBVTlNQRUNfQ1JZUFRPX1ZJKQ0KKyAgICAgICAobWF0 Y2hfb3BlcmFuZDpWU0kgMSAidmVjdG9yX21lcmdlX29wZXJhbmQiICAgICAg InZ1LCAgMCIpKSldDQorICAiVEFSR0VUX1pWS05FRCB8fCBUQVJHRVRfWlZL U0VEIg0KKyAgInY8dmlfaW5zX25hbWU+LnZpXHQlMCwlMiwlMyINCisgIFso c2V0X2F0dHIgInR5cGUiICJ2PHZpX2luc19uYW1lPiIpDQorICAgKHNldF9h dHRyICJtb2RlIiAiPE1PREU+IildKQ0KKw0KKzs7IHZhZXNrZjIudmkgdnNt M2MudmkNCisoZGVmaW5lX2luc24gIkBwcmVkX3ZpPHZpX2luczFfbmFtZT48 bW9kZT5fbm9tYXNrZWRvZmZfc2NhbGFyIg0KKyAgWyhzZXQgKG1hdGNoX29w ZXJhbmQ6VlNJIDAgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgICI9dnIiKQ0K KyAgICAgKGlmX3RoZW5fZWxzZTpWU0kNCisgICAgICAgKHVuc3BlYzo8Vk0+ DQorICAgICAgICAgWyhtYXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhf b3BlcmFuZCIgICAgInJLIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQg NSAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAiIGkiKQ0KKyAgICAgICAg ICAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAg ICIgaSIpDQorICAgICAgICAgIChyZWc6U0kgVkxfUkVHTlVNKQ0KKyAgICAg ICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRF KQ0KKyAgICAgICAodW5zcGVjOlZTSQ0KKyAgICAgICAgICBbKG1hdGNoX29w ZXJhbmQ6VlNJIDEgICAicmVnaXN0ZXJfb3BlcmFuZCIgICIgMCIpDQorICAg ICAgICAgICAobWF0Y2hfb3BlcmFuZDpWU0kgMiAgICJyZWdpc3Rlcl9vcGVy YW5kIiAgInZyIikNCisgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDMgImNv bnN0X2ludF9vcGVyYW5kIiAiIGkiKV0gVU5TUEVDX0NSWVBUT19WSTEpDQor ICAgICAgIChtYXRjaF9kdXAgMSkpKV0NCisgICJUQVJHRVRfWlZLTkVEIHx8 IFRBUkdFVF9aVktTSCINCisgICJ2PHZpX2luczFfbmFtZT4udmlcdCUwLCUy LCUzIg0KKyAgWyhzZXRfYXR0ciAidHlwZSIgInY8dmlfaW5zMV9uYW1lPiIp DQorICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0KKw0KKzs7IHp2 a3NoIGluc3RydWN0aW9ucyBwYXR0ZXJucy4NCis7OyB2c20zbWUudnYNCiso ZGVmaW5lX2luc24gIkBwcmVkX3ZzbTNtZTxtb2RlPiINCisgIFsoc2V0ICht YXRjaF9vcGVyYW5kOlZTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAiPXZy LCB2ciIpDQorICAgICAoaWZfdGhlbl9lbHNlOlZTSQ0KKyAgICAgICAodW5z cGVjOjxWTT4NCisgICAgICAgICBbKG1hdGNoX29wZXJhbmQgNCAidmVjdG9y X2xlbmd0aF9vcGVyYW5kIiAiIHJLLCBySyIpDQorICAgICAgICAgIChtYXRj aF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAgaSwgIGki KQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3Bl cmFuZCIgICAgICIgIGksICBpIikNCisgICAgICAgICAgKHJlZzpTSSBWTF9S RUdOVU0pDQorICAgICAgICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5T UEVDX1ZQUkVESUNBVEUpDQorICAgICAgICh1bnNwZWM6VlNJDQorICAgICAg ICAgIFsobWF0Y2hfb3BlcmFuZDpWU0kgMiAicmVnaXN0ZXJfb3BlcmFuZCIg IiB2ciwgdnIiKQ0KKyAgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6VlNJIDMg InJlZ2lzdGVyX29wZXJhbmQiICIgdnIsIHZyIildIFVOU1BFQ19WU00zTUUp DQorICAgICAgIChtYXRjaF9vcGVyYW5kOlZTSSAxICJ2ZWN0b3JfbWVyZ2Vf b3BlcmFuZCIgIiB2dSwgMCIpKSldDQorICAiVEFSR0VUX1pWS1NIIg0KKyAg InZzbTNtZS52dlx0JTAsJTIsJTMiDQorICBbKHNldF9hdHRyICJ0eXBlIiAi dnNtM21lIikNCisgICAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQpk aWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3ItaXRlcmF0b3Jz Lm1kIGIvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3ItaXRlcmF0b3JzLm1kDQpp bmRleCA1ZjVmN2I1Yjk4Ni4uNjIwMDVjYTFlNmMgMTAwNjQ0DQotLS0gYS9n Y2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci1pdGVyYXRvcnMubWQNCisrKyBiL2dj Yy9jb25maWcvcmlzY3YvdmVjdG9yLWl0ZXJhdG9ycy5tZA0KQEAgLTM5MTYs MyArMzkxNiw0NCBAQA0KICAgKFYxMDI0QkkgInJpc2N2X3ZlY3Rvcjo6dmxz X21vZGVfdmFsaWRfcCAoVjEwMjRCSW1vZGUpICYmIFRBUkdFVF9NSU5fVkxF TiA+PSAxMDI0IikNCiAgIChWMjA0OEJJICJyaXNjdl92ZWN0b3I6OnZsc19t b2RlX3ZhbGlkX3AgKFYyMDQ4Qkltb2RlKSAmJiBUQVJHRVRfTUlOX1ZMRU4g Pj0gMjA0OCIpDQogICAoVjQwOTZCSSAicmlzY3ZfdmVjdG9yOjp2bHNfbW9k ZV92YWxpZF9wIChWNDA5NkJJbW9kZSkgJiYgVEFSR0VUX01JTl9WTEVOID49 IDQwOTYiKV0pDQorDQorKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZTSSBbDQor ICBSVlZNOFNJIFJWVk00U0kgUlZWTTJTSSBSVlZNMVNJIChSVlZNRjJTSSAi VEFSR0VUX01JTl9WTEVOID4gMzIiKQ0KK10pDQorDQorKGRlZmluZV9tb2Rl X2l0ZXJhdG9yIFZMTVVMWDJfU0kgWw0KKyAgUlZWTTRTSSBSVlZNMlNJIFJW Vk0xU0kgKFJWVk1GMlNJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpDQorXSkN CisNCisoZGVmaW5lX21vZGVfaXRlcmF0b3IgVkxNVUxYNF9TSSBbDQorICBS VlZNMlNJIFJWVk0xU0kgKFJWVk1GMlNJICJUQVJHRVRfTUlOX1ZMRU4gPiAz MiIpDQorXSkNCisNCisoZGVmaW5lX21vZGVfaXRlcmF0b3IgVkxNVUxYOF9T SSBbDQorICBSVlZNMVNJIChSVlZNRjJTSSAiVEFSR0VUX01JTl9WTEVOID4g MzIiKQ0KK10pDQorDQorKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZMTVVMWDE2 X1NJIFsNCisgIChSVlZNRjJTSSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQ0K K10pDQorDQorKGRlZmluZV9tb2RlX2F0dHIgVlNJWDIgWw0KKyAgKFJWVk04 U0kgIlJWVk04U0kiKSAoUlZWTTRTSSAiUlZWTThTSSIpIChSVlZNMlNJICJS VlZNNFNJIikgKFJWVk0xU0kgIlJWVk0yU0kiKSAoUlZWTUYyU0kgIlJWVk0x U0kiKQ0KK10pDQorDQorKGRlZmluZV9tb2RlX2F0dHIgVlNJWDQgWw0KKyAg KFJWVk0yU0kgIlJWVk04U0kiKSAoUlZWTTFTSSAiUlZWTTRTSSIpIChSVlZN RjJTSSAiUlZWTTJTSSIpDQorXSkNCisNCisoZGVmaW5lX21vZGVfYXR0ciBW U0lYOCBbDQorICAoUlZWTTFTSSAiUlZWTThTSSIpIChSVlZNRjJTSSAiUlZW TTRTSSIpDQorXSkNCisNCisoZGVmaW5lX21vZGVfYXR0ciBWU0lYMTYgWw0K KyAgKFJWVk1GMlNJICJSVlZNOFNJIikNCitdKQ0KKw0KKyhkZWZpbmVfbW9k ZV9pdGVyYXRvciBWREkgWw0KKyAgKFJWVk04REkgIlRBUkdFVF9WRUNUT1Jf RUxFTl82NCIpIChSVlZNNERJICJUQVJHRVRfVkVDVE9SX0VMRU5fNjQiKQ0K KyAgKFJWVk0yREkgIlRBUkdFVF9WRUNUT1JfRUxFTl82NCIpIChSVlZNMURJ ICJUQVJHRVRfVkVDVE9SX0VMRU5fNjQiKQ0KK10pDQpcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUNCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2 L3ZlY3Rvci5tZCBiL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLm1kDQppbmRl eCBmNjA3ZDc2OGIyNi4uY2FmMWI4OGJhNWUgMTAwNjQ0DQotLS0gYS9nY2Mv Y29uZmlnL3Jpc2N2L3ZlY3Rvci5tZA0KKysrIGIvZ2NjL2NvbmZpZy9yaXNj di92ZWN0b3IubWQNCkBAIC01Miw3ICs1Miw5IEBADQogIHZtYWx1LHZtcG9w LHZtZmZzLHZtc2ZzLHZtaW90YSx2bWlkeCx2aW1vdnZ4LHZpbW92eHYsdmZt b3Z2Zix2Zm1vdmZ2LFwNCiAgdnNsaWRldXAsdnNsaWRlZG93bix2aXNsaWRl MXVwLHZpc2xpZGUxZG93bix2ZnNsaWRlMXVwLHZmc2xpZGUxZG93bixcDQog IHZnYXRoZXIsdmNvbXByZXNzLHZsc2VnZGUsdnNzZWd0ZSx2bHNlZ2RzLHZz c2VndHMsdmxzZWdkdXgsdmxzZWdkb3gsXA0KLSAgIHZzc2VndHV4LHZzc2Vn dG94LHZsc2VnZGZmIikNCisgICB2c3NlZ3R1eCx2c3NlZ3RveCx2bHNlZ2Rm Zix2YW5kbix2YnJldix2YnJldjgsdnJldjgsdmNseix2Y3R6LHZyb2wsXA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgdnJvcix2d3NsbCx2Y2xtdWws dmNsbXVsaCx2Z2hzaCx2Z211bCx2YWVzZWYsdmFlc2VtLHZhZXNkZix2YWVz ZG0sXA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFlc2tmMSx2YWVz a2YyLHZhZXN6LHZzaGEybXMsdnNoYTJjaCx2c2hhMmNsLHZzbTRrLHZzbTRy LHZzbTNtZSx2c20zYyIpDQooY29uc3Rfc3RyaW5nICJ0cnVlIildDQooY29u c3Rfc3RyaW5nICJmYWxzZSIpKSkNCkBAIC03NCw3ICs3Niw5IEBADQogIHZt YWx1LHZtcG9wLHZtZmZzLHZtc2ZzLHZtaW90YSx2bWlkeCx2aW1vdnh2LHZm bW92ZnYsXA0KICB2c2xpZGV1cCx2c2xpZGVkb3duLHZpc2xpZGUxdXAsdmlz bGlkZTFkb3duLHZmc2xpZGUxdXAsdmZzbGlkZTFkb3duLFwNCiAgdmdhdGhl cix2Y29tcHJlc3MsdmxzZWdkZSx2c3NlZ3RlLHZsc2VnZHMsdnNzZWd0cyx2 bHNlZ2R1eCx2bHNlZ2RveCxcDQotICAgdnNzZWd0dXgsdnNzZWd0b3gsdmxz ZWdkZmYiKQ0KKyAgIHZzc2VndHV4LHZzc2VndG94LHZsc2VnZGZmLHZhbmRu LHZicmV2LHZicmV2OCx2cmV2OCx2Y2x6LHZjdHosdnJvbCxcDQorICAgICAg ICAgICAgICAgICAgICAgICAgICB2cm9yLHZ3c2xsLHZjbG11bCx2Y2xtdWxo LHZnaHNoLHZnbXVsLHZhZXNlZix2YWVzZW0sdmFlc2RmLHZhZXNkbSxcDQor ICAgICAgICAgICAgICAgICAgICAgICAgICB2YWVza2YxLHZhZXNrZjIsdmFl c3osdnNoYTJtcyx2c2hhMmNoLHZzaGEyY2wsdnNtNGssdnNtNHIsdnNtM21l LHZzbTNjIikNCihjb25zdF9zdHJpbmcgInRydWUiKV0NCihjb25zdF9zdHJp bmcgImZhbHNlIikpKQ0KQEAgLTQyNiw3ICs0MzAsMTEgQEANCiAgdml3cmVk LHZmcmVkdSx2ZnJlZG8sdmZ3cmVkdSx2ZndyZWRvLHZpbW92dngsXA0KICB2 aW1vdnh2LHZmbW92dmYsdmZtb3Zmdix2c2xpZGV1cCx2c2xpZGVkb3duLFwN CiAgdmlzbGlkZTF1cCx2aXNsaWRlMWRvd24sdmZzbGlkZTF1cCx2ZnNsaWRl MWRvd24sXA0KLSAgIHZnYXRoZXIsdmNvbXByZXNzLHZsc2VnZHV4LHZsc2Vn ZG94LHZzc2VndHV4LHZzc2VndG94IikNCisgICB2Z2F0aGVyLHZjb21wcmVz cyx2bHNlZ2R1eCx2bHNlZ2RveCx2c3NlZ3R1eCx2c3NlZ3RveCxcDQorICAg dmFuZG4sdmJyZXYsdmJyZXY4LHZyZXY4LHZjbHosdmN0eix2cm9sLHZyb3Is dndzbGwsXA0KKyAgIHZjbG11bCx2Y2xtdWxoLHZnaHNoLHZnbXVsLHZhZXNl Zix2YWVzZW0sdmFlc2RmLHZhZXNkbSxcDQorICAgdmFlc2tmMSx2YWVza2Yy LHZhZXN6LHZzaGEybXMsdnNoYTJjaCx2c2hhMmNsLHZzbTRrLHZzbTRyLFwN CisgICB2c20zbWUsdnNtM2MiKQ0KICAgKGNvbnN0X2ludCBJTlZBTElEX0FU VFJJQlVURSkNCihlcV9hdHRyICJtb2RlIiAiUlZWTThRSSxSVlZNMUJJIikg KGNvbnN0X2ludCAxKQ0KKGVxX2F0dHIgIm1vZGUiICJSVlZNNFFJLFJWVk1G MkJJIikgKGNvbnN0X2ludCAyKQ0KQEAgLTY5OCwxMCArNzA2LDEyIEBADQp2 ZndjdnRmdG9pLHZmd2N2dGZ0b2YsdmZuY3Z0aXRvZix2Zm5jdnRmdG9pLHZm bmN2dGZ0b2YsdmZjbGFzcyxcDQp2aXJlZCx2aXdyZWQsdmZyZWR1LHZmcmVk byx2ZndyZWR1LHZmd3JlZG8sdmltb3Z4dix2Zm1vdmZ2LFwNCnZzbGlkZXVw LHZzbGlkZWRvd24sdmlzbGlkZTF1cCx2aXNsaWRlMWRvd24sdmZzbGlkZTF1 cCx2ZnNsaWRlMWRvd24sXA0KLSB2Z2F0aGVyLHZsZGZmLHZpd211bGFkZCx2 ZndtdWxhZGQsdmxzZWdkZSx2bHNlZ2RzLHZsc2VnZHV4LHZsc2VnZG94LHZs c2VnZGZmIikNCisgdmdhdGhlcix2bGRmZix2aXdtdWxhZGQsdmZ3bXVsYWRk LHZsc2VnZGUsdmxzZWdkcyx2bHNlZ2R1eCx2bHNlZ2RveCx2bHNlZ2RmZixc DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YW5kbix2YnJl dix2YnJldjgsdnJldjgsdnJvbCx2cm9yLHZ3c2xsLHZjbG11bCx2Y2xtdWxo IikNCiAgICAgICAoY29uc3RfaW50IDIpDQotICAgICAgICAoZXFfYXR0ciAi dHlwZSIgInZpbWVyZ2UsdmZtZXJnZSx2Y29tcHJlc3MiKQ0KKyAgICAgICAg KGVxX2F0dHIgInR5cGUiICJ2aW1lcmdlLHZmbWVyZ2UsdmNvbXByZXNzLHZn aHNoLHZnbXVsLHZhZXNlZix2YWVzZW0sdmFlc2RmLHZhZXNkbSxcDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWVza2YxLHZhZXNrZjIs dmFlc3osdnNoYTJtcyx2c2hhMmNoLHZzaGEyY2wsdnNtNGssdnNtNHIsdnNt M21lLHZzbTNjIikNCiAgICAgICAoY29uc3RfaW50IDEpDQogICAgICAgKGVx X2F0dHIgInR5cGUiICJ2aW11bGFkZCx2Zm11bGFkZCIpDQpAQCAtNzQwLDcg Kzc1MCw4IEBADQogIHZzdG94LHZleHQsdm1zZnMsdm1pb3RhLHZmc3FydCx2 ZnJlY3AsdmZjdnRpdG9mLHZsZGZmLFwNCiAgdmZjdnRmdG9pLHZmd2N2dGl0 b2YsdmZ3Y3Z0ZnRvaSx2ZndjdnRmdG9mLHZmbmN2dGl0b2YsXA0KICB2Zm5j dnRmdG9pLHZmbmN2dGZ0b2YsdmZjbGFzcyx2aW1vdnh2LHZmbW92ZnYsdmNv bXByZXNzLFwNCi0gICB2bHNlZ2RlLHZzc2VndHMsdnNzZWd0dXgsdnNzZWd0 b3gsdmxzZWdkZmYiKQ0KKyAgIHZsc2VnZGUsdnNzZWd0cyx2c3NlZ3R1eCx2 c3NlZ3RveCx2bHNlZ2RmZix2YnJldix2YnJldjgsdnJldjgsXA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgdmdoc2gsdmFlc2tmMSx2YWVza2YyLHZz aGEybXMsdnNoYTJjaCx2c2hhMmNsLHZzbTRrLHZzbTNtZSx2c20zYyIpDQog ICAoY29uc3RfaW50IDQpDQo7OyBJZiBvcGVyYW5kc1szXSBvZiAidmxkcyIg aXMgbm90IHZlY3RvciBtb2RlLCBpdCBpcyBwcmVkX2Jyb2FkY2FzdC4NCkBA IC03NTUsMTMgKzc2NiwxNSBAQA0KICB2c3NoaWZ0LHZuY2xpcCx2ZmFsdSx2 Zm11bCx2Zm1pbm1heCx2ZmRpdix2ZndhbHUsdmZ3bXVsLFwNCiAgdmZzZ25q LHZmbWVyZ2UsdmlyZWQsdml3cmVkLHZmcmVkdSx2ZnJlZG8sdmZ3cmVkdSx2 ZndyZWRvLFwNCiAgdnNsaWRldXAsdnNsaWRlZG93bix2aXNsaWRlMXVwLHZp c2xpZGUxZG93bix2ZnNsaWRlMXVwLHZmc2xpZGUxZG93bixcDQotICAgdmdh dGhlcix2aXdtdWxhZGQsdmZ3bXVsYWRkLHZsc2VnZHMsdmxzZWdkdXgsdmxz ZWdkb3giKQ0KKyAgIHZnYXRoZXIsdml3bXVsYWRkLHZmd211bGFkZCx2bHNl Z2RzLHZsc2VnZHV4LHZsc2VnZG94LHZhbmRuLHZyb2wsXA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgdnJvcix2d3NsbCx2Y2xtdWwsdmNsbXVsaCIp DQogICAoY29uc3RfaW50IDUpDQooZXFfYXR0ciAidHlwZSIgInZpY21wLHZp bXVsYWRkLHZmY21wLHZmbXVsYWRkIikNCiAgIChjb25zdF9pbnQgNikNCi0g KGVxX2F0dHIgInR5cGUiICJ2bXBvcCx2bWZmcyx2bWlkeCx2c3NlZ3RlIikN CisgKGVxX2F0dHIgInR5cGUiICJ2bXBvcCx2bWZmcyx2bWlkeCx2c3NlZ3Rl LHZjbHosdmN0eix2Z211bCx2YWVzZWYsdmFlc2VtLHZhZXNkZix2YWVzZG0s XA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFlc3osdnNtNHIiKQ0K ICAgKGNvbnN0X2ludCAzKV0NCiAgIChjb25zdF9pbnQgSU5WQUxJRF9BVFRS SUJVVEUpKSkNCkBAIC03NzAsNyArNzgzLDggQEANCiAgIChjb25kIFsoZXFf YXR0ciAidHlwZSIgInZsZGUsdmltb3YsdmZtb3YsdmV4dCx2bWlvdGEsdmZz cXJ0LHZmcmVjcCxcDQogIHZmY3Z0aXRvZix2ZmN2dGZ0b2ksdmZ3Y3Z0aXRv Zix2ZndjdnRmdG9pLHZmd2N2dGZ0b2YsXA0KICB2Zm5jdnRpdG9mLHZmbmN2 dGZ0b2ksdmZuY3Z0ZnRvZix2ZmNsYXNzLHZpbW92eHYsdmZtb3ZmdixcDQot ICAgdmNvbXByZXNzLHZsZGZmLHZsc2VnZGUsdmxzZWdkZmYiKQ0KKyAgIHZj b21wcmVzcyx2bGRmZix2bHNlZ2RlLHZsc2VnZGZmLHZicmV2LHZicmV2OCx2 cmV2OCx2Z2hzaCxcDQorICAgICAgICAgICAgICAgICAgICAgICAgICB2YWVz a2YxLHZhZXNrZjIsdnNoYTJtcyx2c2hhMmNoLHZzaGEyY2wsdnNtNGssdnNt M21lLHZzbTNjIikNCiAgIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6Omdl dF90YShvcGVyYW5kc1s1XSkiKQ0KOzsgSWYgb3BlcmFuZHNbM10gb2YgInZs ZHMiIGlzIG5vdCB2ZWN0b3IgbW9kZSwgaXQgaXMgcHJlZF9icm9hZGNhc3Qu DQpAQCAtNzg2LDEzICs4MDAsMTMgQEANCiAgdmZ3YWx1LHZmd211bCx2ZnNn bmosdmZtZXJnZSx2aXJlZCx2aXdyZWQsdmZyZWR1LFwNCiAgdmZyZWRvLHZm d3JlZHUsdmZ3cmVkbyx2c2xpZGV1cCx2c2xpZGVkb3duLHZpc2xpZGUxdXAs XA0KICB2aXNsaWRlMWRvd24sdmZzbGlkZTF1cCx2ZnNsaWRlMWRvd24sdmdh dGhlcix2aXdtdWxhZGQsdmZ3bXVsYWRkLFwNCi0gICB2bHNlZ2RzLHZsc2Vn ZHV4LHZsc2VnZG94IikNCisgICB2bHNlZ2RzLHZsc2VnZHV4LHZsc2VnZG94 LHZhbmRuLHZyb2wsdnJvcix2d3NsbCx2Y2xtdWwsdmNsbXVsaCIpDQogICAo c3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpnZXRfdGEob3BlcmFuZHNbNl0p IikNCihlcV9hdHRyICJ0eXBlIiAidmltdWxhZGQsdmZtdWxhZGQiKQ0KICAg KHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6Z2V0X3RhKG9wZXJhbmRzWzdd KSIpDQotIChlcV9hdHRyICJ0eXBlIiAidm1pZHgiKQ0KKyAoZXFfYXR0ciAi dHlwZSIgInZtaWR4LHZnbXVsLHZhZXNlZix2YWVzZW0sdmFlc2RmLHZhZXNk bSx2YWVzeix2c200ciIpDQogICAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9y OjpnZXRfdGEob3BlcmFuZHNbNF0pIildDQooY29uc3RfaW50IElOVkFMSURf QVRUUklCVVRFKSkpDQpAQCAtODAwLDcgKzgxNCw3IEBADQooZGVmaW5lX2F0 dHIgIm1hIiAiIg0KICAgKGNvbmQgWyhlcV9hdHRyICJ0eXBlIiAidmxkZSx2 ZXh0LHZtaW90YSx2ZnNxcnQsdmZyZWNwLHZmY3Z0aXRvZix2ZmN2dGZ0b2ks XA0KICB2ZndjdnRpdG9mLHZmd2N2dGZ0b2ksdmZ3Y3Z0ZnRvZix2Zm5jdnRp dG9mLHZmbmN2dGZ0b2ksXA0KLSAgIHZmbmN2dGZ0b2YsdmZjbGFzcyx2bGRm Zix2bHNlZ2RlLHZsc2VnZGZmIikNCisgICB2Zm5jdnRmdG9mLHZmY2xhc3Ms dmxkZmYsdmxzZWdkZSx2bHNlZ2RmZix2YnJldix2YnJldjgsdnJldjgiKQ0K ICAgKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6Z2V0X21hKG9wZXJhbmRz WzZdKSIpDQo7OyBJZiBvcGVyYW5kc1szXSBvZiAidmxkcyIgaXMgbm90IHZl Y3RvciBtb2RlLCBpdCBpcyBwcmVkX2Jyb2FkY2FzdC4NCkBAIC04MTUsNyAr ODI5LDggQEANCiAgdm5jbGlwLHZpY21wLHZmYWx1LHZmbXVsLHZmbWlubWF4 LHZmZGl2LFwNCiAgdmZ3YWx1LHZmd211bCx2ZnNnbmosdmZjbXAsdnNsaWRl dXAsdnNsaWRlZG93bixcDQogIHZpc2xpZGUxdXAsdmlzbGlkZTFkb3duLHZm c2xpZGUxdXAsdmZzbGlkZTFkb3duLHZnYXRoZXIsXA0KLSAgIHZpd211bGFk ZCx2ZndtdWxhZGQsdmxzZWdkcyx2bHNlZ2R1eCx2bHNlZ2RveCIpDQorICAg dml3bXVsYWRkLHZmd211bGFkZCx2bHNlZ2RzLHZsc2VnZHV4LHZsc2VnZG94 LHZhbmRuLHZyb2wsXA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgdnJv cix2d3NsbCx2Y2xtdWwsdmNsbXVsaCIpDQogICAoc3ltYm9sX3JlZiAicmlz Y3ZfdmVjdG9yOjpnZXRfbWEob3BlcmFuZHNbN10pIikNCihlcV9hdHRyICJ0 eXBlIiAidmltdWxhZGQsdmZtdWxhZGQiKQ0KQEAgLTgzMSw5ICs4NDYsMTAg QEANCiAgdmZzcXJ0LHZmcmVjcCx2Zm1lcmdlLHZmY3Z0aXRvZix2ZmN2dGZ0 b2ksdmZ3Y3Z0aXRvZixcDQogIHZmd2N2dGZ0b2ksdmZ3Y3Z0ZnRvZix2Zm5j dnRpdG9mLHZmbmN2dGZ0b2ksdmZuY3Z0ZnRvZixcDQogIHZmY2xhc3Msdmly ZWQsdml3cmVkLHZmcmVkdSx2ZnJlZG8sdmZ3cmVkdSx2ZndyZWRvLFwNCi0g ICB2aW1vdnh2LHZmbW92ZnYsdmxzZWdkZSx2bHNlZ2RmZix2bWlvdGEiKQ0K KyAgIHZpbW92eHYsdmZtb3Zmdix2bHNlZ2RlLHZsc2VnZGZmLHZtaW90YSx2 YnJldix2YnJldjgsdnJldjgiKQ0KICAgKGNvbnN0X2ludCA3KQ0KLSAoZXFf YXR0ciAidHlwZSIgInZsZG0sdnN0bSx2bWFsdSx2bWFsdSIpDQorIChlcV9h dHRyICJ0eXBlIiAidmxkbSx2c3RtLHZtYWx1LHZtYWx1LHZnbXVsLHZhZXNl Zix2YWVzZW0sdmFlc2RmLHZhZXNkbSx2YWVzeixcDQorICAgICAgICAgICAg ICAgICAgICAgICAgICB2c200ciIpDQogICAoY29uc3RfaW50IDUpDQo7OyBJ ZiBvcGVyYW5kc1szXSBvZiAidmxkcyIgaXMgbm90IHZlY3RvciBtb2RlLCBp dCBpcyBwcmVkX2Jyb2FkY2FzdC4NCkBAIC04NDgsMTggKzg2NCwxOSBAQA0K ICB2bmNsaXAsdmljbXAsdmZhbHUsdmZtdWwsdmZtaW5tYXgsdmZkaXYsdmZ3 YWx1LHZmd211bCxcDQogIHZmc2duaix2ZmNtcCx2c2xpZGV1cCx2c2xpZGVk b3duLHZpc2xpZGUxdXAsXA0KICB2aXNsaWRlMWRvd24sdmZzbGlkZTF1cCx2 ZnNsaWRlMWRvd24sdmdhdGhlcix2aXdtdWxhZGQsdmZ3bXVsYWRkLFwNCi0g ICB2bHNlZ2RzLHZsc2VnZHV4LHZsc2VnZG94IikNCisgICB2bHNlZ2RzLHZs c2VnZHV4LHZsc2VnZG94LHZhbmRuLHZyb2wsdnJvcix2d3NsbCIpDQogICAo Y29uc3RfaW50IDgpDQotIChlcV9hdHRyICJ0eXBlIiAidnN0dXgsdnN0b3gs dnNzZWd0cyx2c3NlZ3R1eCx2c3NlZ3RveCIpDQorIChlcV9hdHRyICJ0eXBl IiAidnN0dXgsdnN0b3gsdnNzZWd0cyx2c3NlZ3R1eCx2c3NlZ3RveCx2Y2xt dWwsdmNsbXVsaCIpDQogICAoY29uc3RfaW50IDUpDQooZXFfYXR0ciAidHlw ZSIgInZpbXVsYWRkLHZmbXVsYWRkIikNCiAgIChjb25zdF9pbnQgOSkNCi0g KGVxX2F0dHIgInR5cGUiICJ2bXNmcyx2bWlkeCx2Y29tcHJlc3MiKQ0KKyAo ZXFfYXR0ciAidHlwZSIgInZtc2ZzLHZtaWR4LHZjb21wcmVzcyx2Z2hzaCx2 YWVza2YxLHZhZXNrZjIsdnNoYTJtcyx2c2hhMmNoLHZzaGEyY2wsXA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgdnNtNGssdnNtM21lLHZzbTNjIikN CiAgIChjb25zdF9pbnQgNikNCi0gKGVxX2F0dHIgInR5cGUiICJ2bXBvcCx2 bWZmcyx2c3NlZ3RlIikNCisgKGVxX2F0dHIgInR5cGUiICJ2bXBvcCx2bWZm cyx2c3NlZ3RlLHZjbHosdmN0eiIpDQogICAoY29uc3RfaW50IDQpXQ0KKGNv bnN0X2ludCBJTlZBTElEX0FUVFJJQlVURSkpKQ0KLS0gDQoyLjE3LjENCiAN CiANCg== ------=_001_NextPart265326538428_=------