From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgsg1.qq.com (smtpbgsg1.qq.com [54.254.200.92]) by sourceware.org (Postfix) with ESMTPS id 313B63858D33 for ; Fri, 22 Dec 2023 01:44:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 313B63858D33 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 313B63858D33 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.254.200.92 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703209502; cv=none; b=Co4o1Qo0S28GuFjKHSvcJBk9TsVp19GWZuJB0cj96kyqTJ5IJxoScRPPqxW12QW0QOEQX2XALnyOejlflGewzLq1HSGuLmANrmof11OpGUE2Ah+8oabWUrQ419puLnUAr9oQwTdh1OiriekcIatAIvef9hDMcwpQQGjUwgkyDeM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703209502; c=relaxed/simple; bh=X2oABl60vT1fHps5qyfikM4TjhMOrzMXJcOS6kA1EXI=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=ENazjVz4wUEKlhCf4Wf4QBKgDTskL/yLXV0ouLv9fHN/5afqmyTbLY6lGUYoRtQxO/HgvIWqMFq/AGM6cZskzBDXuZg/jhUFSFBWn6GUB6XHNlpNhib0Fd4VpeZi8e9FxRHvWM1xNfJLS10Zmrp2pYpAWpa6LjMysi1r7APevdg= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp86t1703209482tu0br25k Received: from LAPTOP-EPITNQBU ( [58.60.1.10]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 22 Dec 2023 09:44:41 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: T93PIjoVDyqBno6BefqLHVV2fwSvJcXq2CXHmCuOsWMx7n23y9eEFxd06Z/4B naU7IaXx5nHIyVZffwWpCRNevl7NwhuZ0jXqG496BWt6kFqKOwtQRWd0dbMOrzzbqGlIkwh fQMs+a2/vapL8O1m/n2zQzkVONFYSvqZ5loMngNzF5tr2jFG6k6cXWv/jLz1+iV+36P89K3 hba49QgDJhKyEOw5qb4NmPu/GcVmu4GaKbBhEd5GJ7JBCs2aP63YEtyHgTOeTKs/qFR/+4q WUUZqqOrmzpnvxLVPRZKBdLJgg96/bHilAeqhXckBX7UgAYkyaVPvzNMNVDhlFJW7HcODIE yDVmvcT2/79YDxt2WfB0ixKrh9s+ZyKF6oG3CDKTJBGWhETtrnYlZfov73Swv5GmGErWRwJ o7Fsbm9k3p0= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 53697692650353518 Date: Fri, 22 Dec 2023 09:44:41 +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: C7F6B53D-DCFB-4063-940D-E01AB0A3FF19 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <0CBFC32B02FDA48D+202312220944412482241@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart248323885066_=----" 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_NextPart248323885066_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 QWxzbyB0aGUgY29weSByaWdodCBpcyBpbmNvcnJlY3Q6DQorOzsgQ29weXJp Z2h0IChDKSAyMDIyLTIzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j Lg0KDQpJdCBzaG91bGQgYmU6DQpDb3B5cmlnaHQgKEMpIDIwMjMgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQoNCg0KDQpqdXpoZS56aG9uZ0By aXZhaS5haQ0KIA0KRnJvbTogRmVuZyBXYW5nDQpEYXRlOiAyMDIzLTEyLTIy IDA5OjM4DQpUbzogZ2NjLXBhdGNoZXMNCkNDOiBraXRvLmNoZW5nOyBqZWZm cmV5YWxhdzsganV6aGUuemhvbmc7IEZlbmcgV2FuZw0KU3ViamVjdDogW1BB VENIIHY3IDIvM10gUklTQy1WOiBBZGQgY3J5cHRvIG1hY2hpbmUgZGVzY3Jp cHRpb25zDQpQYXRjaCB2NzogUmVtb3ZlIG1vZGUgb2YgY29uc3RfaW50X29w ZXJhbmQgYW5kIHR5cG8uIEFkZA0KICAgICAgICAgIG5ld2xpbmUgYXQgdGhl IGVuZCBhbmQgY29tbWVudCBhdCB0aGUgYmVnaW5uaW5nLg0KUGF0Y2ggdjY6 IFN3YXAgdGhlIG9wZXJhdG9yIG9yZGVyIG9mIHZhbmRuLnZ2DQpQYXRjaCB2 NTogQWRkIHZlY19kdXBsaWNhdGUgb3BlcmF0b3IuDQpQYXRjaCB2NDogQWRk IHByb2Nlc3Mgb2YgU0VXPTY0IGluIFJWMzIgc3lzdGVtLg0KUGF0Y2ggdjM6 IE1vaWRmeSBjb25zdHJhaW5zIGZvciBjcnlwdG8gdmVjdG9yLg0KUGF0Y2gg djI6IEFkZCBjcnlwdG8gdmVjdG9yIGlucyBpbnRvIFJBVElPIGF0dHIgYW5k IHVzZSB2ciBhcw0KZGVzdGluYXRpb24gcmVnaXN0ZXIuDQogDQpUaGlzIHBh dGNoIGFkZCB0aGUgY3J5cHRvIG1hY2hpbmUgZGVzY3JpcHRpb25zKHZlY3Rv ci1jcnlwdG8ubWQpIGFuZA0Kc29tZSBuZXcgaXRlcmF0b3JzIHdoaWNoIGFy ZSB1c2VkIGJ5IGNyeXB0byB2ZWN0b3IgZXh0Lg0KIA0KQ28tQXV0aG9yZWQg Ynk6IFNvbmdoZSBaaHUgPHpodXNvbmdoZUBlc3dpbmNvbXB1dGluZy5jb20+ DQpDby1BdXRob3JlZCBieTogQ2l5YW4gUGFuIDxwYW5jaXlhbkBlc3dpbmNv bXB1dGluZy5jb20+DQpnY2MvQ2hhbmdlTG9nOg0KIA0KKiBjb25maWcvcmlz Y3YvaXRlcmF0b3JzLm1kOiBBZGQgcm90YXRlIGluc24gbmFtZS4NCiogY29u ZmlnL3Jpc2N2L3Jpc2N2Lm1kOiBBZGQgbmV3IGluc25zIG5hbWUgZm9yIGNy eXB0byB2ZWN0b3IuDQoqIGNvbmZpZy9yaXNjdi92ZWN0b3ItaXRlcmF0b3Jz Lm1kOiBBZGQgbmV3IGl0ZXJhdG9ycyBmb3IgY3J5cHRvIHZlY3Rvci4NCiog Y29uZmlnL3Jpc2N2L3ZlY3Rvci5tZDogQWRkIHRoZSBjb3JyZXNwb25kaW5n IGF0dHIgZm9yIGNyeXB0byB2ZWN0b3IuDQoqIGNvbmZpZy9yaXNjdi92ZWN0 b3ItY3J5cHRvLm1kOiBOZXcgZmlsZS5UaGUgbWFjaGluZSBkZXNjcmlwdGlv bnMgZm9yIGNyeXB0byB2ZWN0b3IuDQotLS0NCmdjYy9jb25maWcvcmlzY3Yv aXRlcmF0b3JzLm1kICAgICAgICB8ICAgNCArLQ0KZ2NjL2NvbmZpZy9yaXNj di9yaXNjdi5tZCAgICAgICAgICAgIHwgIDMzICstDQpnY2MvY29uZmlnL3Jp c2N2L3ZlY3Rvci1jcnlwdG8ubWQgICAgfCA2NTQgKysrKysrKysrKysrKysr KysrKysrKysrKysrDQpnY2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci1pdGVyYXRv cnMubWQgfCAgNDEgKysNCmdjYy9jb25maWcvcmlzY3YvdmVjdG9yLm1kICAg ICAgICAgICB8ICA1NSArKy0NCjUgZmlsZXMgY2hhbmdlZCwgNzY2IGluc2Vy dGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQ0KY3JlYXRlIG1vZGUgMTAwNzU1 IGdjYy9jb25maWcvcmlzY3YvdmVjdG9yLWNyeXB0by5tZA0KIA0KZGlmZiAt LWdpdCBhL2djYy9jb25maWcvcmlzY3YvaXRlcmF0b3JzLm1kIGIvZ2NjL2Nv bmZpZy9yaXNjdi9pdGVyYXRvcnMubWQNCmluZGV4IGVjZjAzM2YyZmE3Li5m MzMyZmJhNzAzMSAxMDA2NDQNCi0tLSBhL2djYy9jb25maWcvcmlzY3YvaXRl cmF0b3JzLm1kDQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L2l0ZXJhdG9ycy5t ZA0KQEAgLTMwNCw3ICszMDQsOSBAQA0KKHVtYXggIm1heHUiKQ0KKGNseiAi Y2x6IikNCihjdHogImN0eiIpDQotIChwb3Bjb3VudCAiY3BvcCIpXSkNCisg KHBvcGNvdW50ICJjcG9wIikNCisgKHJvdGF0ZSAicm9sIikNCisgKHJvdGF0 ZXJ0ICJyb3IiKV0pDQo7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo7OyBJ bnQgSXRlcmF0b3JzLg0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3Yv cmlzY3YubWQgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kDQppbmRleCBl ZThiNzFjMjJhYS4uODgwMTlhNDZhNTMgMTAwNjQ0DQotLS0gYS9nY2MvY29u ZmlnL3Jpc2N2L3Jpc2N2Lm1kDQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2Lm1kDQpAQCAtNDI3LDYgKzQyNywzNCBAQA0KOzsgdmNvbXByZXNzICAg IHZlY3RvciBjb21wcmVzcyBpbnN0cnVjdGlvbg0KOzsgdm1vdiAgICAgICAg IHdob2xlIHZlY3RvciByZWdpc3RlciBtb3ZlDQo7OyB2ZWN0b3IgICAgICAg dW5rbm93biB2ZWN0b3IgaW5zdHJ1Y3Rpb24NCis7OyAxNy4gQ3J5cHRvIFZl Y3RvciBpbnN0cnVjdGlvbnMNCis7OyB2YW5kbiAgICAgICAgY3J5cHRvIHZl Y3RvciBiaXR3aXNlIGFuZC1ub3QgaW5zdHJ1Y3Rpb25zDQorOzsgdmJyZXYg ICAgICAgIGNyeXB0byB2ZWN0b3IgcmV2ZXJzZSBiaXRzIGluIGVsZW1lbnRz IGluc3RydWN0aW9ucw0KKzs7IHZicmV2OCAgICAgICBjcnlwdG8gdmVjdG9y IHJldmVyc2UgYml0cyBpbiBieXRlcyBpbnN0cnVjdGlvbnMNCis7OyB2cmV2 OCAgICAgICAgY3J5cHRvIHZlY3RvciByZXZlcnNlIGJ5dGVzIGluc3RydWN0 aW9ucw0KKzs7IHZjbHogICAgICAgICBjcnlwdG8gdmVjdG9yIGNvdW50IGxl YWRpbmcgWmVyb3MgaW5zdHJ1Y3Rpb25zDQorOzsgdmN0eiAgICAgICAgIGNy eXB0byB2ZWN0b3IgY291bnQgbHJhaWxpbmcgWmVyb3MgaW5zdHJ1Y3Rpb25z DQorOzsgdnJvbCAgICAgICAgIGNyeXB0byB2ZWN0b3Igcm90YXRlIGxlZnQg aW5zdHJ1Y3Rpb25zDQorOzsgdnJvciAgICAgICAgIGNyeXB0byB2ZWN0b3Ig cm90YXRlIHJpZ2h0IGluc3RydWN0aW9ucw0KKzs7IHZ3c2xsICAgICAgICBj cnlwdG8gdmVjdG9yIHdpZGVuaW5nIHNoaWZ0IGxlZnQgbG9naWNhbCBpbnN0 cnVjdGlvbnMNCis7OyB2Y2xtdWwgICAgICAgY3J5cHRvIHZlY3RvciBjYXJy eS1sZXNzIG11bHRpcGx5IC0gcmV0dXJuIGxvdyBoYWxmIGluc3RydWN0aW9u cw0KKzs7IHZjbG11bGggICAgICBjcnlwdG8gdmVjdG9yIGNhcnJ5LWxlc3Mg bXVsdGlwbHkgLSByZXR1cm4gaGlnaCBoYWxmIGluc3RydWN0aW9ucw0KKzs7 IHZnaHNoICAgICAgICBjcnlwdG8gdmVjdG9yIGFkZC1tdWx0aXBseSBvdmVy IEdIQVNIIEdhbG9pcy1GaWVsZCBpbnN0cnVjdGlvbnMNCis7OyB2Z211bCAg ICAgICAgY3J5cHRvIHZlY3RvciBtdWx0aXBseSBvdmVyIEdIQVNIIEdhbG9p cy1GaWVsZCBpbnN0cnVtY3Rpb25zDQorOzsgdmFlc2VmICAgICAgIGNyeXB0 byB2ZWN0b3IgQUVTIGZpbmFsLXJvdW5kIGVuY3J5cHRpb24gaW5zdHJ1Y3Rp b25zDQorOzsgdmFlc2VtICAgICAgIGNyeXB0byB2ZWN0b3IgQUVTIG1pZGRs ZS1yb3VuZCBlbmNyeXB0aW9uIGluc3RydWN0aW9ucw0KKzs7IHZhZXNkZiAg ICAgICBjcnlwdG8gdmVjdG9yIEFFUyBmaW5hbC1yb3VuZCBkZWNyeXB0aW9u IGluc3RydWN0aW9ucw0KKzs7IHZhZXNkbSAgICAgICBjcnlwdG8gdmVjdG9y IEFFUyBtaWRkbGUtcm91bmQgZGVjcnlwdGlvbiBpbnN0cnVjdGlvbnMNCis7 OyB2YWVza2YxICAgICAgY3J5cHRvIHZlY3RvciBBRVMtMTI4IEZvcndhcmQg S2V5U2NoZWR1bGUgZ2VuZXJhdGlvbiBpbnN0cnVjdGlvbnMNCis7OyB2YWVz a2YyICAgICAgY3J5cHRvIHZlY3RvciBBRVMtMjU2IEZvcndhcmQgS2V5U2No ZWR1bGUgZ2VuZXJhdGlvbiBpbnN0cnVjdGlvbnMNCis7OyB2YWVzeiAgICAg ICAgY3J5cHRvIHZlY3RvciBBRVMgcm91bmQgemVybyBlbmNyeXB0aW9uL2Rl Y3J5cHRpb24gaW5zdHJ1Y3Rpb25zDQorOzsgdnNoYTJtcyAgICAgIGNyeXB0 byB2ZWN0b3IgU0hBLTIgbWVzc2FnZSBzY2hlZHVsZSBpbnN0cnVjdGlvbnMN Cis7OyB2c2hhMmNoICAgICAgY3J5cHRvIHZlY3RvciBTSEEtMiB0d28gcm91 bmRzIG9mIGNvbXByZXNzaW9uIGluc3RydWN0aW9ucw0KKzs7IHZzaGEyY2wg ICAgICBjcnlwdG8gdmVjdG9yIFNIQS0yIHR3byByb3VuZHMgb2YgY29tcHJl c3Npb24gaW5zdHJ1Y3Rpb25zDQorOzsgdnNtNGsgICAgICAgIGNyeXB0byB2 ZWN0b3IgU000IEtleUV4cGFuc2lvbiBpbnN0cnVjdGlvbnMNCis7OyB2c200 ciAgICAgICAgY3J5cHRvIHZlY3RvciBTTTQgUm91bmRzIGluc3RydWN0aW9u cw0KKzs7IHZzbTNtZSAgICAgICBjcnlwdG8gdmVjdG9yIFNNMyBNZXNzYWdl IEV4cGFuc2lvbiBpbnN0cnVjdGlvbnMNCis7OyB2c20zYyAgICAgICAgY3J5 cHRvIHZlY3RvciBTTTMgQ29tcHJlc3Npb24gaW5zdHJ1Y3Rpb25zDQooZGVm aW5lX2F0dHIgInR5cGUiDQogICAidW5rbm93bixicmFuY2gsanVtcCxqYWxy LHJldCxjYWxsLGxvYWQsZnBsb2FkLHN0b3JlLGZwc3RvcmUsDQogICAgbXRj LG1mYyxjb25zdCxhcml0aCxsb2dpY2FsLHNoaWZ0LHNsdCxpbXVsLGlkaXYs bW92ZSxmbW92ZSxmYWRkLGZtdWwsDQpAQCAtNDQ2LDcgKzQ3NCw5IEBADQog ICAgdmlyZWQsdml3cmVkLHZmcmVkdSx2ZnJlZG8sdmZ3cmVkdSx2ZndyZWRv LA0KICAgIHZtYWx1LHZtcG9wLHZtZmZzLHZtc2ZzLHZtaW90YSx2bWlkeCx2 aW1vdnZ4LHZpbW92eHYsdmZtb3Z2Zix2Zm1vdmZ2LA0KICAgIHZzbGlkZXVw LHZzbGlkZWRvd24sdmlzbGlkZTF1cCx2aXNsaWRlMWRvd24sdmZzbGlkZTF1 cCx2ZnNsaWRlMWRvd24sDQotICAgdmdhdGhlcix2Y29tcHJlc3Msdm1vdix2 ZWN0b3IiDQorICAgdmdhdGhlcix2Y29tcHJlc3Msdm1vdix2ZWN0b3IsdmFu ZG4sdmJyZXYsdmJyZXY4LHZyZXY4LHZjbHosdmN0eix2Y3BvcCx2cm9sLHZy b3IsdndzbGwsDQorICAgdmNsbXVsLHZjbG11bGgsdmdoc2gsdmdtdWwsdmFl c2VmLHZhZXNlbSx2YWVzZGYsdmFlc2RtLHZhZXNrZjEsdmFlc2tmMix2YWVz eiwNCisgICB2c2hhMm1zLHZzaGEyY2gsdnNoYTJjbCx2c200ayx2c200cix2 c20zbWUsdnNtM2MiDQogICAoY29uZCBbKGVxX2F0dHIgImdvdCIgImxvYWQi KSAoY29uc3Rfc3RyaW5nICJsb2FkIikNCjs7IElmIGEgZG91Ymxld29yZCBt b3ZlIHVzZXMgdGhlc2UgZXhwZW5zaXZlIGluc3RydWN0aW9ucywNCkBAIC0z Nzc3LDYgKzM4MDcsNyBAQA0KKGluY2x1ZGUgInRoZWFkLm1kIikNCihpbmNs dWRlICJnZW5lcmljLW9vby5tZCIpDQooaW5jbHVkZSAidmVjdG9yLm1kIikN CisoaW5jbHVkZSAidmVjdG9yLWNyeXB0by5tZCIpDQooaW5jbHVkZSAiemlj b25kLm1kIikNCihpbmNsdWRlICJzZmIubWQiKQ0KKGluY2x1ZGUgInpjLm1k IikNCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci1jcnlw dG8ubWQgYi9nY2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci1jcnlwdG8ubWQNCm5l dyBmaWxlIG1vZGUgMTAwNzU1DQppbmRleCAwMDAwMDAwMDAwMC4uOTIzNWJk YWM1NDgNCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy9jb25maWcvcmlzY3Yv dmVjdG9yLWNyeXB0by5tZA0KQEAgLTAsMCArMSw2NTQgQEANCis7OyBNYWNo aW5lIGRlc2NyaXB0aW9uIGZvciB0aGUgUklTQy1WIFZlY3RvciBDcnlwdG8g IGV4dGVuc2lvbnMuDQorOzsgQ29weXJpZ2h0IChDKSAyMDIyLTIzIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KKw0KKzs7IFRoaXMgZmlsZSBp cyBwYXJ0IG9mIEdDQy4NCisNCis7OyBHQ0MgaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KKzs7IGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQorOzsgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0 aW9uKQ0KKzs7IGFueSBsYXRlciB2ZXJzaW9uLg0KKw0KKzs7IEdDQyBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LA0KKzs7IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQorOzsgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQ0KKzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuDQorDQorOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCis7OyBhbG9u ZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNl ZQ0KKzs7IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4NCisNCiso ZGVmaW5lX2NfZW51bSAidW5zcGVjIiBbDQorICAgIDs7IFp2YmIgdW5zcGVj cw0KKyAgICBVTlNQRUNfVkJSRVYNCisgICAgVU5TUEVDX1ZCUkVWOA0KKyAg ICBVTlNQRUNfVlJFVjgNCisgICAgVU5TUEVDX1ZDTE1VTA0KKyAgICBVTlNQ RUNfVkNMTVVMSA0KKyAgICBVTlNQRUNfVkdIU0gNCisgICAgVU5TUEVDX1ZH TVVMDQorICAgIFVOU1BFQ19WQUVTRUYNCisgICAgVU5TUEVDX1ZBRVNFRlZW DQorICAgIFVOU1BFQ19WQUVTRUZWUw0KKyAgICBVTlNQRUNfVkFFU0VNDQor ICAgIFVOU1BFQ19WQUVTRU1WVg0KKyAgICBVTlNQRUNfVkFFU0VNVlMNCisg ICAgVU5TUEVDX1ZBRVNERg0KKyAgICBVTlNQRUNfVkFFU0RGVlYNCisgICAg VU5TUEVDX1ZBRVNERlZTDQorICAgIFVOU1BFQ19WQUVTRE0NCisgICAgVU5T UEVDX1ZBRVNETVZWDQorICAgIFVOU1BFQ19WQUVTRE1WUw0KKyAgICBVTlNQ RUNfVkFFU1oNCisgICAgVU5TUEVDX1ZBRVNaVlZOVUxMDQorICAgIFVOU1BF Q19WQUVTWlZTDQorICAgIFVOU1BFQ19WQUVTS0YxDQorICAgIFVOU1BFQ19W QUVTS0YyDQorICAgIFVOU1BFQ19WU0hBMk1TDQorICAgIFVOU1BFQ19WU0hB MkNIDQorICAgIFVOU1BFQ19WU0hBMkNMDQorICAgIFVOU1BFQ19WU000Sw0K KyAgICBVTlNQRUNfVlNNNFINCisgICAgVU5TUEVDX1ZTTTRSVlYNCisgICAg VU5TUEVDX1ZTTTRSVlMNCisgICAgVU5TUEVDX1ZTTTNNRQ0KKyAgICBVTlNQ RUNfVlNNM0MNCitdKQ0KKw0KKyhkZWZpbmVfaW50X2F0dHIgcmV2ICBbKFVO U1BFQ19WQlJFViAiYnJldiIpIChVTlNQRUNfVkJSRVY4ICJicmV2OCIpIChV TlNQRUNfVlJFVjggInJldjgiKV0pDQorDQorKGRlZmluZV9pbnRfYXR0ciBo IFsoVU5TUEVDX1ZDTE1VTCAiIikgKFVOU1BFQ19WQ0xNVUxIICJoIildKQ0K Kw0KKyhkZWZpbmVfaW50X2F0dHIgdnZfaW5zX25hbWUgWyhVTlNQRUNfVkdN VUwgICAgImdtdWwiICkgKFVOU1BFQ19WQUVTRUZWViAiYWVzZWYiKQ0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChVTlNQRUNfVkFFU0VNVlYg ImFlc2VtIikgKFVOU1BFQ19WQUVTREZWViAiYWVzZGYiKQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChVTlNQRUNfVkFFU0RNVlYgImFlc2Rt IikgKFVOU1BFQ19WQUVTRUZWUyAiYWVzZWYiKQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChVTlNQRUNfVkFFU0VNVlMgImFlc2VtIikgKFVO U1BFQ19WQUVTREZWUyAiYWVzZGYiKQ0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChVTlNQRUNfVkFFU0RNVlMgImFlc2RtIikgKFVOU1BFQ19W QUVTWlZTICAiYWVzeiIgKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChVTlNQRUNfVlNNNFJWViAgInNtNHIiICkgKFVOU1BFQ19WU000UlZT ICAic200ciIgKV0pDQorDQorKGRlZmluZV9pbnRfYXR0ciB2dl9pbnMxX25h bWUgWyhVTlNQRUNfVkdIU0ggImdoc2giKSAgICAgKFVOU1BFQ19WU0hBMk1T ICJzaGEybXMiKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo VU5TUEVDX1ZTSEEyQ0ggInNoYTJjaCIpIChVTlNQRUNfVlNIQTJDTCAic2hh MmNsIildKQ0KKw0KKyhkZWZpbmVfaW50X2F0dHIgdmlfaW5zX25hbWUgWyhV TlNQRUNfVkFFU0tGMSAiYWVza2YxIikgKFVOU1BFQ19WU000SyAic200ayIp XSkNCisNCisoZGVmaW5lX2ludF9hdHRyIHZpX2luczFfbmFtZSBbKFVOU1BF Q19WQUVTS0YyICJhZXNrZjIiKSAoVU5TUEVDX1ZTTTNDICJzbTNjIildKQ0K Kw0KKyhkZWZpbmVfaW50X2F0dHIgaW5zX3R5cGUgWyhVTlNQRUNfVkdNVUwg ICAgInZ2IikgKFVOU1BFQ19WQUVTRUZWViAidnYiKQ0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIChVTlNQRUNfVkFFU0VNVlYgInZ2IikgKFVOU1BF Q19WQUVTREZWViAidnYiKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg IChVTlNQRUNfVkFFU0RNVlYgInZ2IikgKFVOU1BFQ19WQUVTRUZWUyAidnMi KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChVTlNQRUNfVkFFU0VN VlMgInZzIikgKFVOU1BFQ19WQUVTREZWUyAidnMiKQ0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIChVTlNQRUNfVkFFU0RNVlMgInZzIikgKFVOU1BF Q19WQUVTWlZTICAidnMiKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg IChVTlNQRUNfVlNNNFJWViAgInZ2IikgKFVOU1BFQ19WU000UlZTICAidnMi KV0pDQorDQorKGRlZmluZV9pbnRfaXRlcmF0b3IgVU5TUEVDX1ZSQkI4IFtV TlNQRUNfVkJSRVYgVU5TUEVDX1ZCUkVWOCBVTlNQRUNfVlJFVjhdKQ0KKw0K KyhkZWZpbmVfaW50X2l0ZXJhdG9yIFVOU1BFQ19DTE1VTCBbVU5TUEVDX1ZD TE1VTCBVTlNQRUNfVkNMTVVMSF0pDQorDQorKGRlZmluZV9pbnRfaXRlcmF0 b3IgVU5TUEVDX0NSWVBUT19WViBbVU5TUEVDX1ZHTVVMICAgIFVOU1BFQ19W QUVTRUZWViBVTlNQRUNfVkFFU0VNVlYNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBVTlNQRUNfVkFFU0RGVlYgVU5TUEVDX1ZB RVNETVZWIFVOU1BFQ19WQUVTRUZWUw0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFVOU1BFQ19WQUVTRU1WUyBVTlNQRUNfVkFF U0RGVlMgVU5TUEVDX1ZBRVNETVZTDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgVU5TUEVDX1ZBRVNaVlMgIFVOU1BFQ19WU000 UlZWICBVTlNQRUNfVlNNNFJWU10pDQorDQorKGRlZmluZV9pbnRfaXRlcmF0 b3IgVU5TUEVDX1ZHTkhBQiBbVU5TUEVDX1ZHSFNIIFVOU1BFQ19WU0hBMk1T IFVOU1BFQ19WU0hBMkNIIFVOU1BFQ19WU0hBMkNMXSkNCisNCisoZGVmaW5l X2ludF9pdGVyYXRvciBVTlNQRUNfQ1JZUFRPX1ZJIFtVTlNQRUNfVkFFU0tG MSBVTlNQRUNfVlNNNEtdKQ0KKw0KKyhkZWZpbmVfaW50X2l0ZXJhdG9yIFVO U1BFQ19DUllQVE9fVkkxIFtVTlNQRUNfVkFFU0tGMiBVTlNQRUNfVlNNM0Nd KQ0KKw0KKzs7IHp2YmIgaW5zdHJ1Y3Rpb25zIHBhdHRlcm5zLg0KKzs7IHZh bmRuLnZ2IHZhbmRuLnZ4IHZyb2wudnYgdnJvbC52eA0KKzs7IHZyb3IudnYg dnJvci52eCB2cm9yLnZpDQorOzsgdndzbGwudnYgdndzbGwudnggdndzbGwu dmkNCisoZGVmaW5lX2luc24gIkBwcmVkX3ZhbmRuPG1vZGU+Ig0KKyAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6VkkgMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAg ICAgICAiPXZkLCB2ciwgdmQsIHZyIikNCisgICAgIChpZl90aGVuX2Vsc2U6 VkkNCisgICAgICAgKHVuc3BlYzo8Vk0+DQorICAgICAgICAgWyhtYXRjaF9v cGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgICAidm0sV2Mx LCB2bSxXYzEiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0 b3JfbGVuZ3RoX29wZXJhbmQiICAgICAgInJLLCBySywgckssIHJLIikNCisg ICAgICAgICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQi ICAgICAgICAgICIgaSwgIGksICBpLCAgaSIpDQorICAgICAgICAgIChtYXRj aF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgICAiIGks ICBpLCAgaSwgIGkiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA4ICJj b25zdF9pbnRfb3BlcmFuZCIgICAgICAgICAgIiBpLCAgaSwgIGksICBpIikN CisgICAgICAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQorICAgICAgICAgIChy ZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpDQorICAg ICAgIChhbmQ6VkkNCisgICAgICAgICAobm90OlZJIChtYXRjaF9vcGVyYW5k OlZJIDQgInJlZ2lzdGVyX29wZXJhbmQiICJ2ciwgdnIsIHZyLCB2ciIpKQ0K KyAgICAgICAgIChtYXRjaF9vcGVyYW5kOlZJIDMgInJlZ2lzdGVyX29wZXJh bmQiICAgICAgICAgInZyLCB2ciwgdnIsIHZyIikpDQorICAgICAgIChtYXRj aF9vcGVyYW5kOlZJIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgICAgICAi dnUsIHZ1LCAgMCwgIDAiKSkpXQ0KKyAgIlRBUkdFVF9aVkJCIHx8IFRBUkdF VF9aVktCIg0KKyAgInZhbmRuLnZ2XHQlMCwlMywlNCVwMSINCisgIFsoc2V0 X2F0dHIgInR5cGUiICJ2YW5kbiIpDQorICAgKHNldF9hdHRyICJtb2RlIiAi PE1PREU+IildKQ0KKw0KKyhkZWZpbmVfaW5zbiAiQHByZWRfdmFuZG48bW9k ZT5fc2NhbGFyIg0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VklfUUhTIDAg InJlZ2lzdGVyX29wZXJhbmQiICAgICAiPXZkLCB2cix2ZCwgdnIiKQ0KKyAg ICAgKGlmX3RoZW5fZWxzZTpWSV9RSFMNCisgICAgICAgKHVuc3BlYzo8Vk0+ DQorICAgICAgICAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21h c2tfb3BlcmFuZCIgICIgdm0sV2MxLHZtLFdjMSIpDQorICAgICAgICAgICht YXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgICAgICIg ckssIHJLLHJLLCBySyIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDYg ImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgICIgIGksICBpLCBpLCAgaSIp DQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVy YW5kIiAgICAgICAgICIgIGksICBpLCBpLCAgaSIpDQorICAgICAgICAgICht YXRjaF9vcGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgICIg IGksICBpLCBpLCAgaSIpDQorICAgICAgICAgIChyZWc6U0kgVkxfUkVHTlVN KQ0KKyAgICAgICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19W UFJFRElDQVRFKQ0KKyAgICAgICAoYW5kOlZJX1FIUw0KKyAgICAgICAgIChu b3Q6VklfUUhTDQorICAgICAgICAgICAodmVjX2R1cGxpY2F0ZTpWSV9RSFMN CisgICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6PFZFTD4gNCAicmVnaXN0 ZXJfb3BlcmFuZCIgIiByLCAgciwgciwgIHIiKSkpDQorICAgICAgICAgKG1h dGNoX29wZXJhbmQ6VklfUUhTIDMgInJlZ2lzdGVyX29wZXJhbmQiICAgICJ2 ciwgdnIsdnIsIHZyIikpDQorICAgICAgIChtYXRjaF9vcGVyYW5kOlZJX1FI UyAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgICJ2dSwgdnUsIDAsICAwIikp KV0NCisgICJUQVJHRVRfWlZCQiB8fCBUQVJHRVRfWlZLQiINCisgICJ2YW5k bi52eFx0JTAsJTMsJTQlcDEiDQorICBbKHNldF9hdHRyICJ0eXBlIiAidmFu ZG4iKQ0KKyAgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkNCisNCis7 OyBIYW5kbGUgR0VUX01PREVfSU5ORVIgKG1vZGUpID0gREltb2RlLiBXZSBu ZWVkIHRvIHNwbGl0IHRoZW0gc2luY2UNCis7OyB3ZSBuZWVkIHRvIGRlYWwg d2l0aCBTRVcgPSA2NCBpbiBSVjMyIHN5c3RlbS4NCisoZGVmaW5lX2V4cGFu ZCAiQHByZWRfdmFuZG48bW9kZT5fc2NhbGFyIg0KKyAgWyhzZXQgKG1hdGNo X29wZXJhbmQ6VklfRCAwICJyZWdpc3Rlcl9vcGVyYW5kIikNCisgICAgIChp Zl90aGVuX2Vsc2U6VklfRA0KKyAgICAgICAodW5zcGVjOjxWTT4NCisgICAg ICAgICBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVy YW5kIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xl bmd0aF9vcGVyYW5kIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNiAi Y29uc3RfaW50X29wZXJhbmQiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFu ZCA3ICJjb25zdF9pbnRfb3BlcmFuZCIpDQorICAgICAgICAgIChtYXRjaF9v cGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIikNCisgICAgICAgICAgKHJl ZzpTSSBWTF9SRUdOVU0pDQorICAgICAgICAgIChyZWc6U0kgVlRZUEVfUkVH TlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpDQorICAgICAgIChhbmQ6VklfRA0K KyAgICAgICAgIChub3Q6VklfRA0KKyAgICAgICAgICAgKHZlY19kdXBsaWNh dGU6VklfRA0KKyAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDo8VkVMPiA0 ICJyZWdfb3JfaW50X29wZXJhbmQiKSkpDQorICAgICAgICAgKG1hdGNoX29w ZXJhbmQ6VklfRCAzICJyZWdpc3Rlcl9vcGVyYW5kIikpDQorICAgICAgICht YXRjaF9vcGVyYW5kOlZJX0QgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiKSkp XQ0KKyAgIlRBUkdFVF9aVkJCIHx8IFRBUkdFVF9aVktCIg0KK3sNCisgIGlm IChyaXNjdl92ZWN0b3I6OnNldzY0X3NjYWxhcl9oZWxwZXIgKA0KKyBvcGVy YW5kcywNCisgLyogc2NhbGFyIG9wICovJm9wZXJhbmRzWzRdLA0KKyAvKiB2 bCAqL29wZXJhbmRzWzVdLA0KKyA8TU9ERT5tb2RlLA0KKyBmYWxzZSwNCisg W10gKHJ0eCAqb3BlcmFuZHMsIHJ0eCBib2FyZGNhc3Rfc2NhbGFyKSB7DQor ICAgZW1pdF9pbnNuIChnZW5fcHJlZF92YW5kbjxtb2RlPiAob3BlcmFuZHNb MF0sIG9wZXJhbmRzWzFdLA0KKyAgICAgICAgb3BlcmFuZHNbMl0sIG9wZXJh bmRzWzNdLCBib2FyZGNhc3Rfc2NhbGFyLCBvcGVyYW5kc1s1XSwNCisgICAg ICAgIG9wZXJhbmRzWzZdLCBvcGVyYW5kc1s3XSwgb3BlcmFuZHNbOF0pKTsN CisgICAgICAgIH0sDQorICAgICAgICAocmlzY3ZfdmVjdG9yOjphdmxfdHlw ZSkgSU5UVkFMIChvcGVyYW5kc1s4XSkpKQ0KKyAgICBET05FOw0KK30pDQor DQorKGRlZmluZV9pbnNuICIqcHJlZF92YW5kbjxtb2RlPl9zY2FsYXIiDQor ICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSV9EIDAgInJlZ2lzdGVyX29wZXJh bmQiICAgICAgICAiPXZkLCB2cix2ZCwgdnIiKQ0KKyAgICAgKGlmX3RoZW5f ZWxzZTpWSV9EDQorICAgICAgICh1bnNwZWM6PFZNPg0KKyAgICAgICAgIFso bWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICAg IiB2bSxXYzEsdm0sV2MxIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQg NSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAgICIgckssIHJLLHJLLCBy SyIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9v cGVyYW5kIiAgICAgICAgICAiIGksICAgaSwgaSwgIGkiKQ0KKyAgICAgICAg ICAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAg ICAgIiBpLCAgIGksIGksICBpIikNCisgICAgICAgICAgKG1hdGNoX29wZXJh bmQgOCAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAgICIgaSwgICBpLCBp LCAgaSIpDQorICAgICAgICAgIChyZWc6U0kgVkxfUkVHTlVNKQ0KKyAgICAg ICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRF KQ0KKyAgICAgICAoYW5kOlZJX0QNCisgICAgICAgICAobm90OlZJX0QNCisg ICAgICAgICAgICh2ZWNfZHVwbGljYXRlOlZJX0QNCisgICAgICAgICAgICAg KG1hdGNoX29wZXJhbmQ6PFZFTD4gNCAicmVnX29yXzBfb3BlcmFuZCIgIiBy SiwgckosckosIHJKIikpKQ0KKyAgICAgICAgIChtYXRjaF9vcGVyYW5kOlZJ X0QgMyAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiIHZyLCB2cix2ciwgdnIi KSkNCisgICAgICAgKG1hdGNoX29wZXJhbmQ6VklfRCAyICJ2ZWN0b3JfbWVy Z2Vfb3BlcmFuZCIgICAgIiB2dSwgdnUsIDAsICAwIikpKV0NCisgICJUQVJH RVRfWlZCQiB8fCBUQVJHRVRfWlZLQiINCisgICJ2YW5kbi52eFx0JTAsJTMs JXo0JXAxIg0KKyAgWyhzZXRfYXR0ciAidHlwZSIgInZhbmRuIikNCisgICAo c2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorDQorKGRlZmluZV9pbnNu ICIqcHJlZF92YW5kbjxtb2RlPl9leHRlbmRlZF9zY2FsYXIiDQorICBbKHNl dCAobWF0Y2hfb3BlcmFuZDpWSV9EIDAgInJlZ2lzdGVyX29wZXJhbmQiICAg ICAgICAgICAgIj12ZCwgdnIsdmQsIHZyIikNCisgICAgIChpZl90aGVuX2Vs c2U6VklfRA0KKyAgICAgICAodW5zcGVjOjxWTT4NCisgICAgICAgICBbKG1h dGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAgICAg ICAiIHZtLFdjMSx2bSxXYzEiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFu ZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICAgICAgICAgICIgckssIHJL LHJLLCBySyIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0 X2ludF9vcGVyYW5kIiAgICAgICAgICAgICAgIiBpLCAgIGksIGksICBpIikN CisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJh bmQiICAgICAgICAgICAgICAiIGksICAgaSwgaSwgIGkiKQ0KKyAgICAgICAg ICAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAg ICAgICAgICIgaSwgICBpLCBpLCAgaSIpDQorICAgICAgICAgIChyZWc6U0kg VkxfUkVHTlVNKQ0KKyAgICAgICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSld IFVOU1BFQ19WUFJFRElDQVRFKQ0KKyAgICAgICAoYW5kOlZJX0QNCisgICAg ICAgICAobm90OlZJX0QNCisgICAgICAgICAgICh2ZWNfZHVwbGljYXRlOlZJ X0QNCisgICAgICAgICAgICAgKHNpZ25fZXh0ZW5kOjxWRUw+DQorICAgICAg ICAgICAgICAgKG1hdGNoX29wZXJhbmQ6PFZTVUJFTD4gNCAicmVnX29yXzBf b3BlcmFuZCIgIiBySiwgckosckosIHJKIikpKSkNCisgICAgICAgICAobWF0 Y2hfb3BlcmFuZDpWSV9EIDMgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgICAg ICAiIHZyLCB2cix2ciwgdnIiKSkNCisgICAgICAgKG1hdGNoX29wZXJhbmQ6 VklfRCAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgICAgICAgICAiIHZ1LCB2 dSwgMCwgIDAiKSkpXQ0KKyAgIlRBUkdFVF9aVkJCIHx8IFRBUkdFVF9aVktC Ig0KKyAgInZhbmRuLnZ4XHQlMCwlMywlejQlcDEiDQorICBbKHNldF9hdHRy ICJ0eXBlIiAidmFuZG4iKQ0KKyAgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RF PiIpXSkNCisNCisoZGVmaW5lX2luc24gIkBwcmVkX3Y8Yml0bWFuaXBfb3B0 YWI+PG1vZGU+Ig0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkkgMCAicmVn aXN0ZXJfb3BlcmFuZCIgICAgICAgICI9dmQsdmQsIHZyLCB2ciIpDQorICAg ICAoaWZfdGhlbl9lbHNlOlZJDQorICAgICAgICh1bnNwZWM6PFZNPg0KKyAg ICAgICAgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29w ZXJhbmQiICIgdm0sdm0sV2MxLFdjMSIpDQorICAgICAgICAgIChtYXRjaF9v cGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgICAgIiBySyxySywg ckssIHJLIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3Rf aW50X29wZXJhbmQiICAgICAgICAiICBpLCBpLCAgaSwgIGkiKQ0KKyAgICAg ICAgICAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCIgICAg ICAgICIgIGksIGksICBpLCAgaSIpDQorICAgICAgICAgIChtYXRjaF9vcGVy YW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgIiAgaSwgaSwgIGks ICBpIikNCisgICAgICAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQorICAgICAg ICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUp DQorICAgICAgIChiaXRtYW5pcF9yb3RhdGU6VkkNCisgICAgICAgICAobWF0 Y2hfb3BlcmFuZDpWSSAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICAiIHZy LHZyLCB2ciwgdnIiKQ0KKyAgICAgICAgIChtYXRjaF9vcGVyYW5kOlZJIDQg InJlZ2lzdGVyX29wZXJhbmQiICAgICAgICIgdnIsdnIsIHZyLCB2ciIpKQ0K KyAgICAgICAobWF0Y2hfb3BlcmFuZDpWSSAyICJ2ZWN0b3JfbWVyZ2Vfb3Bl cmFuZCIgICAgICIgdnUsIDAsIHZ1LCAgMCIpKSldDQorICAiVEFSR0VUX1pW QkIgfHwgVEFSR0VUX1pWS0IiDQorICAidjxiaXRtYW5pcF9pbnNuPi52dlx0 JTAsJTMsJTQlcDEiDQorICBbKHNldF9hdHRyICJ0eXBlIiAidjxiaXRtYW5p cF9pbnNuPiIpDQorICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0K Kw0KKyhkZWZpbmVfaW5zbiAiQHByZWRfdjxiaXRtYW5pcF9vcHRhYj48bW9k ZT5fc2NhbGFyIg0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkkgMCAicmVn aXN0ZXJfb3BlcmFuZCIgICAgICAgICI9dmQsdmQsIHZyLCB2ciIpDQorICAg ICAoaWZfdGhlbl9lbHNlOlZJDQorICAgICAgICh1bnNwZWM6PFZNPg0KKyAg ICAgICAgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29w ZXJhbmQiICIgdm0sdm0sV2MxLFdjMSIpDQorICAgICAgICAgIChtYXRjaF9v cGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgICAgIiBySyxySywg ckssIHJLIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3Rf aW50X29wZXJhbmQiICAgICAgICAiICBpLCBpLCAgaSwgIGkiKQ0KKyAgICAg ICAgICAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCIgICAg ICAgICIgIGksIGksICBpLCAgaSIpDQorICAgICAgICAgIChtYXRjaF9vcGVy YW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgIiAgaSwgaSwgIGks ICBpIikNCisgICAgICAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQorICAgICAg ICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUp DQorICAgICAgIChiaXRtYW5pcF9yb3RhdGU6VkkNCisgICAgICAgICAobWF0 Y2hfb3BlcmFuZDpWSSAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICAiIHZy LHZyLCB2ciwgdnIiKQ0KKyAgICAgICAgIChtYXRjaF9vcGVyYW5kIDQgInBt b2RlX3JlZ2lzdGVyX29wZXJhbmQiICAgICIgIHIsIHIsICByLCAgciIpKQ0K KyAgICAgICAobWF0Y2hfb3BlcmFuZDpWSSAyICJ2ZWN0b3JfbWVyZ2Vfb3Bl cmFuZCIgICAgICIgdnUsIDAsIHZ1LCAgMCIpKSldDQorICAiVEFSR0VUX1pW QkIgfHwgVEFSR0VUX1pWS0IiDQorICAidjxiaXRtYW5pcF9pbnNuPi52eFx0 JTAsJTMsJTQlcDEiDQorICBbKHNldF9hdHRyICJ0eXBlIiAidjxiaXRtYW5p cF9pbnNuPiIpDQorICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0K Kw0KKyhkZWZpbmVfaW5zbiAiKnByZWRfdnJvcjxtb2RlPl9zY2FsYXIiDQor ICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSSAwICJyZWdpc3Rlcl9vcGVyYW5k IiAgICAgICAgIj12ZCx2ZCwgdnIsdnIiKQ0KKyAgICAgKGlmX3RoZW5fZWxz ZTpWSQ0KKyAgICAgICAodW5zcGVjOjxWTT4NCisgICAgICAgICBbKG1hdGNo X29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAiIHZtLHZt LFdjMSxXYzEiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0 b3JfbGVuZ3RoX29wZXJhbmQiICAgICIgckssckssIHJLLCBySyIpDQorICAg ICAgICAgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVyYW5kIiAg ICAgICAgIiAgaSwgaSwgIGksICBpIikNCisgICAgICAgICAgKG1hdGNoX29w ZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAiICBpLCBpLCAg aSwgIGkiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9p bnRfb3BlcmFuZCIgICAgICAgICIgIGksIGksICBpLCAgaSIpDQorICAgICAg ICAgIChyZWc6U0kgVkxfUkVHTlVNKQ0KKyAgICAgICAgICAocmVnOlNJIFZU WVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQ0KKyAgICAgICAocm90 YXRlcnQ6VkkNCisgICAgICAgICAobWF0Y2hfb3BlcmFuZDpWSSAzICJyZWdp c3Rlcl9vcGVyYW5kIiAgICAgICAiIHZyLHZyLCB2ciwgdnIiKQ0KKyAgICAg ICAgIChtYXRjaF9vcGVyYW5kICAgIDQgImNvbnN0X2Nzcl9vcGVyYW5kIiAg ICAgICIgIEssIEssICBLLCAgSyIpKQ0KKyAgICAgICAobWF0Y2hfb3BlcmFu ZDpWSSAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgICAgICIgdnUsIDAsIHZ1 LCAgMCIpKSldDQorICAiVEFSR0VUX1pWQkIgfHwgVEFSR0VUX1pWS0IiDQor ICAidnJvci52aVx0JTAsJTMsJTQlcDEiDQorICBbKHNldF9hdHRyICJ0eXBl IiAidnJvciIpDQorICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0K Kw0KKyhkZWZpbmVfaW5zbiAiQHByZWRfdndzbGw8bW9kZT4iDQorICBbKHNl dCAobWF0Y2hfb3BlcmFuZDpWV0VYVEkgMCAicmVnaXN0ZXJfb3BlcmFuZCIg ICAgICI9JnZyIikNCisgICAgIChpZl90aGVuX2Vsc2U6VldFWFRJDQorICAg ICAgICh1bnNwZWM6PFZNPg0KKyAgICAgICAgIFsobWF0Y2hfb3BlcmFuZDo8 Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICJ2bVdjMSIpDQorICAgICAg ICAgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIg ICAgIiAgcksiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA2ICJjb25z dF9pbnRfb3BlcmFuZCIgICAgICAgICIgICBpIikNCisgICAgICAgICAgKG1h dGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAiICAg aSIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0X2ludF9v cGVyYW5kIiAgICAgICAgIiAgIGkiKQ0KKyAgICAgICAgICAocmVnOlNJIFZM X1JFR05VTSkNCisgICAgICAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBV TlNQRUNfVlBSRURJQ0FURSkNCisgICAgICAgKGFzaGlmdDpWV0VYVEkNCisg ICAgICAgICAoemVyb19leHRlbmQ6VldFWFRJDQorICAgICAgICAgICAobWF0 Y2hfb3BlcmFuZDo8Vl9ET1VCTEVfVFJVTkM+IDMgInJlZ2lzdGVyX29wZXJh bmQiICJ2ciIpKQ0KKyAgICAgICAgIChtYXRjaF9vcGVyYW5kOjxWX0RPVUJM RV9UUlVOQz4gNCAicmVnaXN0ZXJfb3BlcmFuZCIgICJ2ciIpKQ0KKyAgICAg ICAobWF0Y2hfb3BlcmFuZDpWV0VYVEkgMiAidmVjdG9yX21lcmdlX29wZXJh bmQiICIwdnUiKSkpXQ0KKyAgIlRBUkdFVF9aVkJCIg0KKyAgInZ3c2xsLnZ2 XHQlMCwlMywlNCVwMSINCisgIFsoc2V0X2F0dHIgInR5cGUiICJ2d3NsbCIp DQorICAgKHNldF9hdHRyICJtb2RlIiAiPFZfRE9VQkxFX1RSVU5DPiIpXSkN CisNCisoZGVmaW5lX2luc24gIkBwcmVkX3Z3c2xsPG1vZGU+X3NjYWxhciIN CisgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZXRVhUSSAwICJyZWdpc3Rlcl9v cGVyYW5kIiAgICAiPXZkLCB2ciwgdmQsIHZyLCB2ZCwgdnIsIHZkLCB2ciwg dmQsIHZyLCB2ZCwgdnIsID8mdnIsID8mdnIiKQ0KKyAgICAgKGlmX3RoZW5f ZWxzZTpWV0VYVEkNCisgICAgICAgKHVuc3BlYzo8Vk0+DQorICAgICAgICAg WyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIg IiB2bSxXYzEsIHZtLFdjMSwgdm0sV2MxLCB2bSxXYzEsIHZtLFdjMSwgdm0s V2MxLHZtV2MxLHZtV2MxIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQg NSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAiIHJLLCBySywgckssIHJL LCBySywgckssIHJLLCBySywgckssIHJLLCBySywgckssICAgckssICAgcksi KQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3Bl cmFuZCIgICAgICAgICIgIGksICBpLCAgaSwgIGksICBpLCAgaSwgIGksICBp LCAgaSwgIGksICBpLCAgaSwgICAgaSwgICAgaSIpDQorICAgICAgICAgICht YXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgIiAg aSwgIGksICBpLCAgaSwgIGksICBpLCAgaSwgIGksICBpLCAgaSwgIGksICBp LCAgICBpLCAgICBpIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgOCAi Y29uc3RfaW50X29wZXJhbmQiICAgICAgICAiICBpLCAgaSwgIGksICBpLCAg aSwgIGksICBpLCAgaSwgIGksICBpLCAgaSwgIGksICAgIGksICAgIGkiKQ0K KyAgICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCisgICAgICAgICAgKHJl ZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkNCisgICAg ICAgKGFzaGlmdDpWV0VYVEkNCisgICAgICAgICAoemVyb19leHRlbmQ6VldF WFRJDQorICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDo8Vl9ET1VCTEVfVFJV TkM+IDMgInJlZ2lzdGVyX29wZXJhbmQiICAiVzIxLFcyMSxXMjEsVzIxLFc0 MixXNDIsVzQyLFc0MixXODQsVzg0LFc4NCxXODQsICAgdnIsICAgdnIiKSkN CisgICAgICAgICAobWF0Y2hfb3BlcmFuZDo8VlNVQkVMPiA0ICJwbW9kZV9y ZWdfb3JfdWltbTVfb3BlcmFuZCIgICIgckssIHJLLCBySywgckssIHJLLCBy SywgckssIHJLLCBySywgckssIHJLLCBySywgICBySywgICBySyIpKQ0KKyAg ICAgICAobWF0Y2hfb3BlcmFuZDpWV0VYVEkgMiAidmVjdG9yX21lcmdlX29w ZXJhbmQiICAgICAgICAgICAgIiB2dSwgdnUsICAwLCAgMCwgdnUsIHZ1LCAg MCwgIDAsIHZ1LCB2dSwgIDAsICAwLCAgIHZ1LCAgICAwIikpKV0NCisgICJU QVJHRVRfWlZCQiINCisgICJ2d3NsbC52JW80XHQlMCwlMywlNCVwMSINCisg IFsoc2V0X2F0dHIgInR5cGUiICJ2d3NsbCIpDQorICAgKHNldF9hdHRyICJt b2RlIiAiPFZfRE9VQkxFX1RSVU5DPiIpDQorICAgKHNldF9hdHRyICJncm91 cF9vdmVybGFwIiAiVzIxLFcyMSxXMjEsVzIxLFc0MixXNDIsVzQyLFc0MixX ODQsVzg0LFc4NCxXODQsbm9uZSxub25lIildKQ0KKw0KKzs7IHZicmV2LnYg dmJyZXY4LnYgdnJldjgudg0KKyhkZWZpbmVfaW5zbiAiQHByZWRfdjxyZXY+ PG1vZGU+Ig0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkkgMCAicmVnaXN0 ZXJfb3BlcmFuZCIgICAgICAgICI9dmQsdnIsdmQsdnIiKQ0KKyAgICAgKGlm X3RoZW5fZWxzZTpWSQ0KKyAgICAgICAodW5zcGVjOjxWTT4NCisgICAgICAg ICBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5k IiAidm0sV2MxLHZtLFdjMSIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5k IDQgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgICAgInJLLHJLLCBySywgcksi KQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3Bl cmFuZCIgICAgICAgICJpLCAgaSwgIGksICBpIikNCisgICAgICAgICAgKG1h dGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAiaSwg IGksICBpLCAgaSIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDcgImNv bnN0X2ludF9vcGVyYW5kIiAgICAgICAgImksICBpLCAgaSwgIGkiKQ0KKyAg ICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCisgICAgICAgICAgKHJlZzpT SSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkNCisgICAgICAg KHVuc3BlYzpWSQ0KKyAgICAgICAgIFsobWF0Y2hfb3BlcmFuZDpWSSAzICJy ZWdpc3Rlcl9vcGVyYW5kIiAgICAgICJ2cix2ciwgdnIsIHZyIildVU5TUEVD X1ZSQkI4KQ0KKyAgICAgICAobWF0Y2hfb3BlcmFuZDpWSSAyICJ2ZWN0b3Jf bWVyZ2Vfb3BlcmFuZCIgICAgICJ2dSx2dSwgIDAsICAwIikpKV0NCisgICJU QVJHRVRfWlZCQiB8fCBUQVJHRVRfWlZLQiINCisgICJ2PHJldj4udlx0JTAs JTMlcDEiDQorICBbKHNldF9hdHRyICJ0eXBlIiAidjxyZXY+IikNCisgICAo c2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorDQorOzsgdmNsei52IHZj dHoudg0KKyhkZWZpbmVfaW5zbiAiQHByZWRfdjxiaXRtYW5pcF9vcHRhYj48 bW9kZT4iDQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSSAwICAicmVnaXN0 ZXJfb3BlcmFuZCIgICAgICAgICAgICI9dmQsIHZyIikNCisgICAgIChjbHpf Y3R6X3BjbnQ6VkkNCisgICAgICAgKHBhcmFsbGVsDQorICAgICAgICAgWyht YXRjaF9vcGVyYW5kOlZJIDIgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgICAg ICAidnIsIHZyIikNCisgICAgICAgICAgKHVuc3BlYzo8Vk0+DQorICAgICAg ICAgICAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3Bl cmFuZCIgICAidm0sV2MxIikNCisgICAgICAgICAgICAgKG1hdGNoX29wZXJh bmQgMyAgICAgICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICJySywgcksiKQ0K KyAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA0ICAgICAgImNvbnN0X2lu dF9vcGVyYW5kIiAgICAgIiBpLCAgaSIpDQorICAgICAgICAgICAgIChyZWc6 U0kgVkxfUkVHTlVNKQ0KKyAgICAgICAgICAgICAocmVnOlNJIFZUWVBFX1JF R05VTSldIFVOU1BFQ19WUFJFRElDQVRFKV0pKSldDQorICAiVEFSR0VUX1pW QkIiDQorICAidjxiaXRtYW5pcF9pbnNuPi52XHQlMCwlMiVwMSINCisgIFso c2V0X2F0dHIgInR5cGUiICJ2PGJpdG1hbmlwX2luc24+IikNCisgICAoc2V0 X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorDQorOzsgenZiYyBpbnN0cnVj dGlvbnMgcGF0dGVybnMuDQorOzsgdmNsbXVsLnZ2IHZjbG11bC52eA0KKzs7 IHZjbG11bGgudnYgdmNsbXVsaC52eA0KKyhkZWZpbmVfaW5zbiAiQHByZWRf dmNsbXVsPGg+PG1vZGU+Ig0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Vklf RCAwICAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICI9dmQsdnIsdmQsIHZyIikN CisgICAgIChpZl90aGVuX2Vsc2U6VklfRA0KKyAgICAgICAodW5zcGVjOjxW TT4NCisgICAgICAgICBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3Jf bWFza19vcGVyYW5kIiAidm0sV2MxLHZtLFdjMSIpDQorICAgICAgICAgICht YXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgICAgInJL LCBySyxySywgcksiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA2ICJj b25zdF9pbnRfb3BlcmFuZCIgICAgICAgICIgaSwgIGksIGksICBpIikNCisg ICAgICAgICAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQi ICAgICAgICAiIGksICBpLCBpLCAgaSIpDQorICAgICAgICAgIChtYXRjaF9v cGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgIiBpLCAgaSwg aSwgIGkiKQ0KKyAgICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCisgICAg ICAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FU RSkNCisgICAgICAgKHVuc3BlYzpWSV9EDQorICAgICAgICAgWyhtYXRjaF9v cGVyYW5kOlZJX0QgMyAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICJ2ciwgdnIs dnIsIHZyIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6VklfRCA0ICJy ZWdpc3Rlcl9vcGVyYW5kIiAgICAgInZyLCB2cix2ciwgdnIiKV1VTlNQRUNf Q0xNVUwpDQorICAgICAgIChtYXRjaF9vcGVyYW5kOlZJX0QgMiAidmVjdG9y X21lcmdlX29wZXJhbmQiICAgICJ2dSwgdnUsIDAsICAwIikpKV0NCisgICJU QVJHRVRfWlZCQyINCisgICJ2Y2xtdWw8aD4udnZcdCUwLCUzLCU0JXAxIg0K KyAgWyhzZXRfYXR0ciAidHlwZSIgInZjbG11bDxoPiIpDQorICAgKHNldF9h dHRyICJtb2RlIiAiPE1PREU+IildKQ0KKw0KKzs7IERlYWwgd2l0aCBTRVcg PSA2NCBpbiBSVjMyIHN5c3RlbS4NCisoZGVmaW5lX2V4cGFuZCAiQHByZWRf dmNsbXVsPGg+PG1vZGU+X3NjYWxhciINCisgIFsoc2V0IChtYXRjaF9vcGVy YW5kOlZJX0QgMCAicmVnaXN0ZXJfb3BlcmFuZCIpDQorICAgICAoaWZfdGhl bl9lbHNlOlZJX0QNCisgICAgICAgKHVuc3BlYzo8Vk0+DQorICAgICAgICAg WyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIp DQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhf b3BlcmFuZCIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0 X2ludF9vcGVyYW5kIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNyAi Y29uc3RfaW50X29wZXJhbmQiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFu ZCA4ICJjb25zdF9pbnRfb3BlcmFuZCIpDQorICAgICAgICAgIChyZWc6U0kg VkxfUkVHTlVNKQ0KKyAgICAgICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSld IFVOU1BFQ19WUFJFRElDQVRFKQ0KKyAgICAgICAodW5zcGVjOlZJX0QNCisg ICAgICAgICBbKHZlY19kdXBsaWNhdGU6VklfRA0KKyAgICAgICAgICAgICht YXRjaF9vcGVyYW5kOjxWRUw+IDQgInJlZ2lzdGVyX29wZXJhbmQiKSkNCisg ICAgICAgICAgKG1hdGNoX29wZXJhbmQ6VklfRCAzICJyZWdpc3Rlcl9vcGVy YW5kIildVU5TUEVDX0NMTVVMKQ0KKyAgICAgICAobWF0Y2hfb3BlcmFuZDpW SV9EIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIikpKV0NCisgICJUQVJHRVRf WlZCQyINCit7DQorICBpZiAocmlzY3ZfdmVjdG9yOjpzZXc2NF9zY2FsYXJf aGVscGVyICgNCisgb3BlcmFuZHMsDQorIC8qIHNjYWxhciBvcCAqLyZvcGVy YW5kc1s0XSwNCisgLyogdmwgKi9vcGVyYW5kc1s1XSwNCisgPE1PREU+bW9k ZSwNCisgZmFsc2UsDQorIFtdIChydHggKm9wZXJhbmRzLCBydHggYm9hcmRj YXN0X3NjYWxhcikgew0KKyAgIGVtaXRfaW5zbiAoZ2VuX3ByZWRfdmNsbXVs PGg+PG1vZGU+IChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sDQorICAgICAg ICBvcGVyYW5kc1syXSwgb3BlcmFuZHNbM10sIGJvYXJkY2FzdF9zY2FsYXIs IG9wZXJhbmRzWzVdLA0KKyAgICAgICAgb3BlcmFuZHNbNl0sIG9wZXJhbmRz WzddLCBvcGVyYW5kc1s4XSkpOw0KKyAgICAgICAgfSwNCisgICAgICAgIChy aXNjdl92ZWN0b3I6OmF2bF90eXBlKSBJTlRWQUwgKG9wZXJhbmRzWzhdKSkp DQorICAgIERPTkU7DQorfSkNCisNCisoZGVmaW5lX2luc24gIipwcmVkX3Zj bG11bDxoPjxtb2RlPl9zY2FsYXIiDQorICBbKHNldCAobWF0Y2hfb3BlcmFu ZDpWSV9EIDAgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgIj12ZCx2cix2ZCwg dnIiKQ0KKyAgICAoaWZfdGhlbl9lbHNlOlZJX0QNCisgICAgICAodW5zcGVj OjxWTT4NCisgICAgICAgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rv cl9tYXNrX29wZXJhbmQiICAidm0sV2MxLHZtLFdjMSIpDQorICAgICAgICAo bWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICAgICAg InJLLCBySyxySywgcksiKQ0KKyAgICAgICAgKG1hdGNoX29wZXJhbmQgNiAi Y29uc3RfaW50X29wZXJhbmQiICAgICAgICAgICIgaSwgIGksIGksICBpIikN CisgICAgICAgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5k IiAgICAgICAgICAiIGksICBpLCBpLCAgaSIpDQorICAgICAgICAobWF0Y2hf b3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAgICAgIiBpLCAg aSwgaSwgIGkiKQ0KKyAgICAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQorICAg ICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRF KQ0KKyAgICAgICh1bnNwZWM6VklfRA0KKyAgICAgICAgWyh2ZWNfZHVwbGlj YXRlOlZJX0QNCisgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOjxWRUw+IDQg InJlZ19vcl8wX29wZXJhbmQiICAgInJKLCBySixySiwgckoiKSkNCisgICAg ICAgICAobWF0Y2hfb3BlcmFuZDpWSV9EIDMgInJlZ2lzdGVyX29wZXJhbmQi ICAgICAgInZyLCB2cix2ciwgdnIiKV1VTlNQRUNfQ0xNVUwpDQorICAgICAg KG1hdGNoX29wZXJhbmQ6VklfRCAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIg ICAgICJ2dSwgdnUsIDAsICAwIikpKV0NCisgICJUQVJHRVRfWlZCQyINCisg ICJ2Y2xtdWw8aD4udnhcdCUwLCUzLCU0JXAxIg0KKyAgWyhzZXRfYXR0ciAi dHlwZSIgInZjbG11bDxoPiIpDQorICAgKHNldF9hdHRyICJtb2RlIiAiPE1P REU+IildKQ0KKw0KKyhkZWZpbmVfaW5zbiAiKnByZWRfdmNsbXVsPGg+PG1v ZGU+X2V4dGVuZF9zY2FsYXIiDQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpW SV9EIDAgInJlZ2lzdGVyX29wZXJhbmQiICAgICAgICAiPXZkLHZyLHZkLCB2 ciIpDQorICAgIChpZl90aGVuX2Vsc2U6VklfRA0KKyAgICAgICh1bnNwZWM6 PFZNPg0KKyAgICAgICAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9y X21hc2tfb3BlcmFuZCIgICAgInZtLFdjMSx2bSxXYzEiKQ0KKyAgICAgICAg KG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAg ICAgInJLLCBySyxySywgcksiKQ0KKyAgICAgICAgKG1hdGNoX29wZXJhbmQg NiAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAgICAgIiBpLCAgaSwgaSwg IGkiKQ0KKyAgICAgICAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29w ZXJhbmQiICAgICAgICAgICAgIiBpLCAgaSwgaSwgIGkiKQ0KKyAgICAgICAg KG1hdGNoX29wZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAg ICAgIiBpLCAgaSwgaSwgIGkiKQ0KKyAgICAgICAgKHJlZzpTSSBWTF9SRUdO VU0pDQorICAgICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19W UFJFRElDQVRFKQ0KKyAgICAgICh1bnNwZWM6VklfRA0KKyAgICAgICAgWyh2 ZWNfZHVwbGljYXRlOlZJX0QNCisgICAgKHNpZ25fZXh0ZW5kOjxWRUw+DQor ICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOjxWU1VCRUw+IDQgInJlZ19v cl8wX29wZXJhbmQiICJySiwgckosckosIHJKIikpKQ0KKyAgICAgICAgICht YXRjaF9vcGVyYW5kOlZJX0QgMyAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAg ICAidnIsIHZyLHZyLCB2ciIpXVVOU1BFQ19DTE1VTCkNCisgICAgICAobWF0 Y2hfb3BlcmFuZDpWSV9EIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgICAg ICAgInZ1LCB2dSwgMCwgIDAiKSkpXQ0KKyAgIlRBUkdFVF9aVkJDIg0KKyAg InZjbG11bDxoPi52eFx0JTAsJTMsJTQlcDEiDQorICBbKHNldF9hdHRyICJ0 eXBlIiAidmNsbXVsPGg+IikNCisgICAoc2V0X2F0dHIgIm1vZGUiICI8TU9E RT4iKV0pDQorDQorOzsgenZrbmhbYWJdIGFuZCB6dmtnIGluc3RydWN0aW9u cyBwYXR0ZXJucy4NCis7OyB2c2hhMm1zLnZ2IHZzaGEyY2gudnYgdnNoYTJj bC52diB2Z2hzaC52dg0KKyhkZWZpbmVfaW5zbiAiQHByZWRfdjx2dl9pbnMx X25hbWU+PG1vZGU+Ig0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VlFFWFRJ IDAgInJlZ2lzdGVyX29wZXJhbmQiICAgICAiPXZyIikNCisgICAgIChpZl90 aGVuX2Vsc2U6VlFFWFRJDQorICAgICAgICh1bnNwZWM6PFZNPg0KKyAgICAg ICAgIFsobWF0Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQi ICAgICAicksiKQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA1ICJjb25z dF9pbnRfb3BlcmFuZCIgICAgICAgICAiIGkiKQ0KKyAgICAgICAgICAobWF0 Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAgICAiIGki KQ0KKyAgICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCisgICAgICAgICAg KHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkNCisg ICAgICAgKHVuc3BlYzpWUUVYVEkNCisgICAgICAgICAgWyhtYXRjaF9vcGVy YW5kOlZRRVhUSSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiIDAiKQ0KKyAgICAg ICAgICAgKG1hdGNoX29wZXJhbmQ6VlFFWFRJIDIgInJlZ2lzdGVyX29wZXJh bmQiICJ2ciIpDQorICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpWUUVYVEkg MyAicmVnaXN0ZXJfb3BlcmFuZCIgInZyIildIFVOU1BFQ19WR05IQUIpDQor ICAgICAgIChtYXRjaF9kdXAgMSkpKV0NCisgICJUQVJHRVRfWlZLTkhBIHx8 IFRBUkdFVF9aVktOSEIgfHwgVEFSR0VUX1pWS0ciDQorICAidjx2dl9pbnMx X25hbWU+LnZ2XHQlMCwlMiwlMyINCisgIFsoc2V0X2F0dHIgInR5cGUiICJ2 PHZ2X2luczFfbmFtZT4iKQ0KKyAgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RF PiIpXSkNCisNCis7OyB6dmtuZWQgYW5kIHp2a3NlZCBhbWQgenZrZyBpbnN0 cnVjdGlvbnMgcGF0dGVybnMuDQorOzsgdmdtdWwudnYgICAgICAgdmFlc3ou dnMNCis7OyB2YWVzZWYuW3Z2LHZzXSB2YWVzZW0uW3Z2LHZzXSB2YWVzZGYu W3Z2LHZzXSB2YWVzZG0uW3Z2LHZzXQ0KKzs7IHZzbTRyLlt2dix2c10NCiso ZGVmaW5lX2luc24gIkBwcmVkX2NyeXB0b192djx2dl9pbnNfbmFtZT48aW5z X3R5cGU+PG1vZGU+Ig0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VlNJIDAg InJlZ2lzdGVyX29wZXJhbmQiICAgICI9dnIiKQ0KKyAgICAgKGlmX3RoZW5f ZWxzZTpWU0kNCisgICAgICAgKHVuc3BlYzo8Vk0+DQorICAgICAgICAgWyht YXRjaF9vcGVyYW5kIDMgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgIiBySyIp DQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDQgImNvbnN0X2ludF9vcGVy YW5kIiAgICAgIiAgaSIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDUg ImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAgaSIpDQorICAgICAgICAgIChy ZWc6U0kgVkxfUkVHTlVNKQ0KKyAgICAgICAgICAocmVnOlNJIFZUWVBFX1JF R05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQ0KKyAgICAgICAodW5zcGVjOlZT SQ0KKyAgICAgICAgIFsobWF0Y2hfb3BlcmFuZDpWU0kgMSAicmVnaXN0ZXJf b3BlcmFuZCIgIiAwIikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6VlNJ IDIgInJlZ2lzdGVyX29wZXJhbmQiICJ2ciIpXSBVTlNQRUNfQ1JZUFRPX1ZW KQ0KKyAgICAgICAobWF0Y2hfZHVwIDEpKSldDQorICAiVEFSR0VUX1pWS05F RCB8fCBUQVJHRVRfWlZLU0VEIHx8IFRBUkdFVF9aVktHIg0KKyAgInY8dnZf aW5zX25hbWU+LjxpbnNfdHlwZT5cdCUwLCUyIg0KKyAgWyhzZXRfYXR0ciAi dHlwZSIgInY8dnZfaW5zX25hbWU+IikNCisgICAoc2V0X2F0dHIgIm1vZGUi ICI8TU9ERT4iKV0pDQorDQorKGRlZmluZV9pbnNuICJAcHJlZF9jcnlwdG9f dnY8dnZfaW5zX25hbWU+PGluc190eXBlPngxPG1vZGU+X3NjYWxhciINCisg IFsoc2V0IChtYXRjaF9vcGVyYW5kOlZTSSAwICJyZWdpc3Rlcl9vcGVyYW5k IiAgICAiPSZ2ciIpDQorICAgICAoaWZfdGhlbl9lbHNlOlZTSQ0KKyAgICAg ICAodW5zcGVjOjxWTT4NCisgICAgICAgICBbKG1hdGNoX29wZXJhbmQgMyAi dmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAiICBySyIpDQorICAgICAgICAgICht YXRjaF9vcGVyYW5kIDQgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgIiAgIGki KQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3Bl cmFuZCIgICAgICIgICBpIikNCisgICAgICAgICAgKHJlZzpTSSBWTF9SRUdO VU0pDQorICAgICAgICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVD X1ZQUkVESUNBVEUpDQorICAgICAgICh1bnNwZWM6VlNJDQorICAgICAgICAg WyhtYXRjaF9vcGVyYW5kOlZTSSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiIDAi KQ0KKyAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpWU0kgMiAicmVnaXN0ZXJf b3BlcmFuZCIgInZyIildIFVOU1BFQ19DUllQVE9fVlYpDQorICAgICAgICht YXRjaF9kdXAgMSkpKV0NCisgICJUQVJHRVRfWlZLTkVEIHx8IFRBUkdFVF9a VktTRUQiDQorICAidjx2dl9pbnNfbmFtZT4uPGluc190eXBlPlx0JTAsJTIi DQorICBbKHNldF9hdHRyICJ0eXBlIiAidjx2dl9pbnNfbmFtZT4iKQ0KKyAg IChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkNCisNCisoZGVmaW5lX2lu c24gIkBwcmVkX2NyeXB0b192djx2dl9pbnNfbmFtZT48aW5zX3R5cGU+eDI8 bW9kZT5fc2NhbGFyIg0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZTSVgy PiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPSZ2ciIpDQorICAgICAoaWZfdGhl bl9lbHNlOjxWU0lYMj4NCisgICAgICAgKHVuc3BlYzo8Vk0+DQorICAgICAg ICAgWyhtYXRjaF9vcGVyYW5kIDMgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIg ICJySyIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDQgImNvbnN0X2lu dF9vcGVyYW5kIiAgICAgICIgaSIpDQorICAgICAgICAgIChtYXRjaF9vcGVy YW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICIgaSIpDQorICAgICAg ICAgIChyZWc6U0kgVkxfUkVHTlVNKQ0KKyAgICAgICAgICAocmVnOlNJIFZU WVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQ0KKyAgICAgICAodW5z cGVjOjxWU0lYMj4NCisgICAgICAgICBbKG1hdGNoX29wZXJhbmQ6PFZTSVgy PiAxICAicmVnaXN0ZXJfb3BlcmFuZCIgICAiIDAiKQ0KKyAgICAgICAgICAo bWF0Y2hfb3BlcmFuZDpWTE1VTFgyX1NJIDIgInJlZ2lzdGVyX29wZXJhbmQi ICJ2ciIpXSBVTlNQRUNfQ1JZUFRPX1ZWKQ0KKyAgICAgICAobWF0Y2hfZHVw IDEpKSldDQorICAiVEFSR0VUX1pWS05FRCB8fCBUQVJHRVRfWlZLU0VEIg0K KyAgInY8dnZfaW5zX25hbWU+LjxpbnNfdHlwZT5cdCUwLCUyIg0KKyAgWyhz ZXRfYXR0ciAidHlwZSIgInY8dnZfaW5zX25hbWU+IikNCisgICAoc2V0X2F0 dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorDQorKGRlZmluZV9pbnNuICJAcHJl ZF9jcnlwdG9fdnY8dnZfaW5zX25hbWU+PGluc190eXBlPng0PG1vZGU+X3Nj YWxhciINCisgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZTSVg0PiAwICJyZWdp c3Rlcl9vcGVyYW5kIiAgICAgICI9JnZyIikNCisgICAgKGlmX3RoZW5fZWxz ZTo8VlNJWDQ+DQorICAgICAgKHVuc3BlYzo8Vk0+DQorICAgICAgICBbKG1h dGNoX29wZXJhbmQgMyAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAgICAi IHJLIikNCisgICAgICAgICAobWF0Y2hfb3BlcmFuZCA0ICJjb25zdF9pbnRf b3BlcmFuZCIgICAgICAgICAgICIgIGkiKQ0KKyAgICAgICAgIChtYXRjaF9v cGVyYW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgICAgIiAgaSIp DQorICAgICAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQorICAgICAgICAgKHJl ZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkNCisgICAg ICAgKHVuc3BlYzo8VlNJWDQ+DQorICAgICAgICAgWyhtYXRjaF9vcGVyYW5k OjxWU0lYND4gMSAicmVnaXN0ZXJfb3BlcmFuZCIgICAgIiAwIikNCisgICAg ICAgICAgKG1hdGNoX29wZXJhbmQ6VkxNVUxYNF9TSSAyICJyZWdpc3Rlcl9v cGVyYW5kIiAidnIiKV0gVU5TUEVDX0NSWVBUT19WVikNCisgICAgICAgKG1h dGNoX2R1cCAxKSkpXQ0KKyAiVEFSR0VUX1pWS05FRCB8fCBUQVJHRVRfWlZL U0VEIg0KKyAidjx2dl9pbnNfbmFtZT4uPGluc190eXBlPlx0JTAsJTIiDQor IFsoc2V0X2F0dHIgInR5cGUiICJ2PHZ2X2luc19uYW1lPiIpDQorICAoc2V0 X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorDQorKGRlZmluZV9pbnNuICJA cHJlZF9jcnlwdG9fdnY8dnZfaW5zX25hbWU+PGluc190eXBlPng4PG1vZGU+ X3NjYWxhciINCisgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZTSVg4PiAwICJy ZWdpc3Rlcl9vcGVyYW5kIiAgICAgICI9JnZyIikNCisgICAgKGlmX3RoZW5f ZWxzZTo8VlNJWDg+DQorICAgICAgKHVuc3BlYzo8Vk0+DQorICAgICAgICBb KG1hdGNoX29wZXJhbmQgMyAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAg ICAiIHJLIikNCisgICAgICAgICAobWF0Y2hfb3BlcmFuZCA0ICJjb25zdF9p bnRfb3BlcmFuZCIgICAgICAgICAgICIgIGkiKQ0KKyAgICAgICAgIChtYXRj aF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgICAgIiAg aSIpDQorICAgICAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQorICAgICAgICAg KHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkNCisg ICAgICAodW5zcGVjOjxWU0lYOD4NCisgICAgICAgIFsobWF0Y2hfb3BlcmFu ZDo8VlNJWDg+IDEgInJlZ2lzdGVyX29wZXJhbmQiICAgICIgIDAiKQ0KKyAg ICAgICAgIChtYXRjaF9vcGVyYW5kOlZMTVVMWDhfU0kgMiAicmVnaXN0ZXJf b3BlcmFuZCIgIiB2ciIpXSBVTlNQRUNfQ1JZUFRPX1ZWKQ0KKyAgICAgICht YXRjaF9kdXAgMSkpKV0NCisgIlRBUkdFVF9aVktORUQgfHwgVEFSR0VUX1pW S1NFRCINCisgInY8dnZfaW5zX25hbWU+LjxpbnNfdHlwZT5cdCUwLCUyIg0K KyBbKHNldF9hdHRyICJ0eXBlIiAidjx2dl9pbnNfbmFtZT4iKQ0KKyAgKHNl dF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0KKw0KKyhkZWZpbmVfaW5zbiAi QHByZWRfY3J5cHRvX3Z2PHZ2X2luc19uYW1lPjxpbnNfdHlwZT54MTY8bW9k ZT5fc2NhbGFyIg0KKyBbKHNldCAobWF0Y2hfb3BlcmFuZDo8VlNJWDE2PiAw ICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICI9JnZyIikNCisgICAgKGlmX3Ro ZW5fZWxzZTo8VlNJWDE2Pg0KKyAgICAgICh1bnNwZWM6PFZNPg0KKyAgICAg ICAgWyhtYXRjaF9vcGVyYW5kIDMgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIg ICAgICAgICIgIHJLIikNCisgICAgICAgICAobWF0Y2hfb3BlcmFuZCA0ICJj b25zdF9pbnRfb3BlcmFuZCIgICAgICAgICAgICAiICAgaSIpDQorICAgICAg ICAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiICAgICAg ICAgICAgIiAgIGkiKQ0KKyAgICAgICAgIChyZWc6U0kgVkxfUkVHTlVNKQ0K KyAgICAgICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVE SUNBVEUpDQorICAgICAgKHVuc3BlYzo8VlNJWDE2Pg0KKyAgICAgICAgWyht YXRjaF9vcGVyYW5kOjxWU0lYMTY+IDEgInJlZ2lzdGVyX29wZXJhbmQiICAg ICIgICAwIikNCisgICAgICAgICAobWF0Y2hfb3BlcmFuZDpWTE1VTFgxNl9T SSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAiICB2ciIpXSBVTlNQRUNfQ1JZUFRP X1ZWKQ0KKyAgICAgIChtYXRjaF9kdXAgMSkpKV0NCisgIlRBUkdFVF9aVktO RUQgfHwgVEFSR0VUX1pWS1NFRCINCisgInY8dnZfaW5zX25hbWU+LjxpbnNf dHlwZT5cdCUwLCUyIg0KKyBbKHNldF9hdHRyICJ0eXBlIiAidjx2dl9pbnNf bmFtZT4iKQ0KKyAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0KKw0K Kzs7IHZhZXNrZjEudmkgdnNtNGsudmkNCisoZGVmaW5lX2luc24gIkBwcmVk X2NyeXB0b192aTx2aV9pbnNfbmFtZT48bW9kZT5fc2NhbGFyIg0KKyAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6VlNJIDAgInJlZ2lzdGVyX29wZXJhbmQiICAg ICAgICAiPXZyLCB2ciIpDQorICAgICAoaWZfdGhlbl9lbHNlOlZTSQ0KKyAg ICAgICAodW5zcGVjOjxWTT4NCisgICAgICAgICBbKG1hdGNoX29wZXJhbmQg NCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAgICJySywgcksiKQ0KKyAg ICAgICAgICAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCIg ICAgICAgICAgIiBpLCAgaSIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5k IDYgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgICAiIGksICBpIikNCisg ICAgICAgICAgKHJlZzpTSSBWTF9SRUdOVU0pDQorICAgICAgICAgIChyZWc6 U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpDQorICAgICAg ICh1bnNwZWM6VlNJDQorICAgICAgICAgWyhtYXRjaF9vcGVyYW5kOlZTSSAy ICAgICAgICJyZWdpc3Rlcl9vcGVyYW5kIiAidnIsIHZyIikNCisgICAgICAg ICAgKG1hdGNoX29wZXJhbmQgMyAgImNvbnN0X2ludF9vcGVyYW5kIiAgICAg ICAgICIgaSwgIGkiKV0gVU5TUEVDX0NSWVBUT19WSSkNCisgICAgICAgKG1h dGNoX29wZXJhbmQ6VlNJIDEgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgICAg ICJ2dSwgIDAiKSkpXQ0KKyAgIlRBUkdFVF9aVktORUQgfHwgVEFSR0VUX1pW S1NFRCINCisgICJ2PHZpX2luc19uYW1lPi52aVx0JTAsJTIsJTMiDQorICBb KHNldF9hdHRyICJ0eXBlIiAidjx2aV9pbnNfbmFtZT4iKQ0KKyAgIChzZXRf YXR0ciAibW9kZSIgIjxNT0RFPiIpXSkNCisNCis7OyB2YWVza2YyLnZpIHZz bTNjLnZpDQorKGRlZmluZV9pbnNuICJAcHJlZF92aTx2aV9pbnMxX25hbWU+ PG1vZGU+X25vbWFza2Vkb2ZmX3NjYWxhciINCisgIFsoc2V0IChtYXRjaF9v cGVyYW5kOlZTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICAiPXZyIikN CisgICAgIChpZl90aGVuX2Vsc2U6VlNJDQorICAgICAgICh1bnNwZWM6PFZN Pg0KKyAgICAgICAgIFsobWF0Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3Ro X29wZXJhbmQiICAgICJySyIpDQorICAgICAgICAgIChtYXRjaF9vcGVyYW5k IDUgImNvbnN0X2ludF9vcGVyYW5kIiAgICAgICAgIiBpIikNCisgICAgICAg ICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiICAgICAg ICAiIGkiKQ0KKyAgICAgICAgICAocmVnOlNJIFZMX1JFR05VTSkNCisgICAg ICAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FU RSkNCisgICAgICAgKHVuc3BlYzpWU0kNCisgICAgICAgICAgWyhtYXRjaF9v cGVyYW5kOlZTSSAxICAgInJlZ2lzdGVyX29wZXJhbmQiICAiIDAiKQ0KKyAg ICAgICAgICAgKG1hdGNoX29wZXJhbmQ6VlNJIDIgICAicmVnaXN0ZXJfb3Bl cmFuZCIgICJ2ciIpDQorICAgICAgICAgICAobWF0Y2hfb3BlcmFuZCAzICJj b25zdF9pbnRfb3BlcmFuZCIgIiBpIildIFVOU1BFQ19DUllQVE9fVkkxKQ0K KyAgICAgICAobWF0Y2hfZHVwIDEpKSldDQorICAiVEFSR0VUX1pWS05FRCB8 fCBUQVJHRVRfWlZLU0giDQorICAidjx2aV9pbnMxX25hbWU+LnZpXHQlMCwl MiwlMyINCisgIFsoc2V0X2F0dHIgInR5cGUiICJ2PHZpX2luczFfbmFtZT4i KQ0KKyAgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkNCisNCis7OyB6 dmtzaCBpbnN0cnVjdGlvbnMgcGF0dGVybnMuDQorOzsgdnNtM21lLnZ2DQor KGRlZmluZV9pbnNuICJAcHJlZF92c20zbWU8bW9kZT4iDQorICBbKHNldCAo bWF0Y2hfb3BlcmFuZDpWU0kgMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgIj12 ciwgdnIiKQ0KKyAgICAgKGlmX3RoZW5fZWxzZTpWU0kNCisgICAgICAgKHVu c3BlYzo8Vk0+DQorICAgICAgICAgWyhtYXRjaF9vcGVyYW5kIDQgInZlY3Rv cl9sZW5ndGhfb3BlcmFuZCIgIiBySywgcksiKQ0KKyAgICAgICAgICAobWF0 Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICIgIGksICBp IikNCisgICAgICAgICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29w ZXJhbmQiICAgICAiICBpLCAgaSIpDQorICAgICAgICAgIChyZWc6U0kgVkxf UkVHTlVNKQ0KKyAgICAgICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVO U1BFQ19WUFJFRElDQVRFKQ0KKyAgICAgICAodW5zcGVjOlZTSQ0KKyAgICAg ICAgICBbKG1hdGNoX29wZXJhbmQ6VlNJIDIgInJlZ2lzdGVyX29wZXJhbmQi ICIgdnIsIHZyIikNCisgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlZTSSAz ICJyZWdpc3Rlcl9vcGVyYW5kIiAiIHZyLCB2ciIpXSBVTlNQRUNfVlNNM01F KQ0KKyAgICAgICAobWF0Y2hfb3BlcmFuZDpWU0kgMSAidmVjdG9yX21lcmdl X29wZXJhbmQiICIgdnUsIDAiKSkpXQ0KKyAgIlRBUkdFVF9aVktTSCINCisg ICJ2c20zbWUudnZcdCUwLCUyLCUzIg0KKyAgWyhzZXRfYXR0ciAidHlwZSIg InZzbTNtZSIpDQorICAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQ0K ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLWl0ZXJhdG9y cy5tZCBiL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLWl0ZXJhdG9ycy5tZA0K aW5kZXggNWY1ZjdiNWI5ODYuLjYyMDA1Y2ExZTZjIDEwMDY0NA0KLS0tIGEv Z2NjL2NvbmZpZy9yaXNjdi92ZWN0b3ItaXRlcmF0b3JzLm1kDQorKysgYi9n Y2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci1pdGVyYXRvcnMubWQNCkBAIC0zOTE2 LDMgKzM5MTYsNDQgQEANCiAgIChWMTAyNEJJICJyaXNjdl92ZWN0b3I6OnZs c19tb2RlX3ZhbGlkX3AgKFYxMDI0Qkltb2RlKSAmJiBUQVJHRVRfTUlOX1ZM RU4gPj0gMTAyNCIpDQogICAoVjIwNDhCSSAicmlzY3ZfdmVjdG9yOjp2bHNf bW9kZV92YWxpZF9wIChWMjA0OEJJbW9kZSkgJiYgVEFSR0VUX01JTl9WTEVO ID49IDIwNDgiKQ0KICAgKFY0MDk2QkkgInJpc2N2X3ZlY3Rvcjo6dmxzX21v ZGVfdmFsaWRfcCAoVjQwOTZCSW1vZGUpICYmIFRBUkdFVF9NSU5fVkxFTiA+ PSA0MDk2IildKQ0KKw0KKyhkZWZpbmVfbW9kZV9pdGVyYXRvciBWU0kgWw0K KyAgUlZWTThTSSBSVlZNNFNJIFJWVk0yU0kgUlZWTTFTSSAoUlZWTUYyU0kg IlRBUkdFVF9NSU5fVkxFTiA+IDMyIikNCitdKQ0KKw0KKyhkZWZpbmVfbW9k ZV9pdGVyYXRvciBWTE1VTFgyX1NJIFsNCisgIFJWVk00U0kgUlZWTTJTSSBS VlZNMVNJIChSVlZNRjJTSSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQ0KK10p DQorDQorKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZMTVVMWDRfU0kgWw0KKyAg UlZWTTJTSSBSVlZNMVNJIChSVlZNRjJTSSAiVEFSR0VUX01JTl9WTEVOID4g MzIiKQ0KK10pDQorDQorKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZMTVVMWDhf U0kgWw0KKyAgUlZWTTFTSSAoUlZWTUYyU0kgIlRBUkdFVF9NSU5fVkxFTiA+ IDMyIikNCitdKQ0KKw0KKyhkZWZpbmVfbW9kZV9pdGVyYXRvciBWTE1VTFgx Nl9TSSBbDQorICAoUlZWTUYyU0kgIlRBUkdFVF9NSU5fVkxFTiA+IDMyIikN CitdKQ0KKw0KKyhkZWZpbmVfbW9kZV9hdHRyIFZTSVgyIFsNCisgIChSVlZN OFNJICJSVlZNOFNJIikgKFJWVk00U0kgIlJWVk04U0kiKSAoUlZWTTJTSSAi UlZWTTRTSSIpIChSVlZNMVNJICJSVlZNMlNJIikgKFJWVk1GMlNJICJSVlZN MVNJIikNCitdKQ0KKw0KKyhkZWZpbmVfbW9kZV9hdHRyIFZTSVg0IFsNCisg IChSVlZNMlNJICJSVlZNOFNJIikgKFJWVk0xU0kgIlJWVk00U0kiKSAoUlZW TUYyU0kgIlJWVk0yU0kiKQ0KK10pDQorDQorKGRlZmluZV9tb2RlX2F0dHIg VlNJWDggWw0KKyAgKFJWVk0xU0kgIlJWVk04U0kiKSAoUlZWTUYyU0kgIlJW Vk00U0kiKQ0KK10pDQorDQorKGRlZmluZV9tb2RlX2F0dHIgVlNJWDE2IFsN CisgIChSVlZNRjJTSSAiUlZWTThTSSIpDQorXSkNCisNCisoZGVmaW5lX21v ZGVfaXRlcmF0b3IgVkRJIFsNCisgIChSVlZNOERJICJUQVJHRVRfVkVDVE9S X0VMRU5fNjQiKSAoUlZWTTRESSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0IikN CisgIChSVlZNMkRJICJUQVJHRVRfVkVDVE9SX0VMRU5fNjQiKSAoUlZWTTFE SSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0IikNCitdKQ0KXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlDQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNj di92ZWN0b3IubWQgYi9nY2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci5tZA0KaW5k ZXggZjYwN2Q3NjhiMjYuLmNhZjFiODhiYTVlIDEwMDY0NA0KLS0tIGEvZ2Nj L2NvbmZpZy9yaXNjdi92ZWN0b3IubWQNCisrKyBiL2djYy9jb25maWcvcmlz Y3YvdmVjdG9yLm1kDQpAQCAtNTIsNyArNTIsOSBAQA0KICB2bWFsdSx2bXBv cCx2bWZmcyx2bXNmcyx2bWlvdGEsdm1pZHgsdmltb3Z2eCx2aW1vdnh2LHZm bW92dmYsdmZtb3ZmdixcDQogIHZzbGlkZXVwLHZzbGlkZWRvd24sdmlzbGlk ZTF1cCx2aXNsaWRlMWRvd24sdmZzbGlkZTF1cCx2ZnNsaWRlMWRvd24sXA0K ICB2Z2F0aGVyLHZjb21wcmVzcyx2bHNlZ2RlLHZzc2VndGUsdmxzZWdkcyx2 c3NlZ3RzLHZsc2VnZHV4LHZsc2VnZG94LFwNCi0gICB2c3NlZ3R1eCx2c3Nl Z3RveCx2bHNlZ2RmZiIpDQorICAgdnNzZWd0dXgsdnNzZWd0b3gsdmxzZWdk ZmYsdmFuZG4sdmJyZXYsdmJyZXY4LHZyZXY4LHZjbHosdmN0eix2cm9sLFwN CisgICAgICAgICAgICAgICAgICAgICAgICAgIHZyb3IsdndzbGwsdmNsbXVs LHZjbG11bGgsdmdoc2gsdmdtdWwsdmFlc2VmLHZhZXNlbSx2YWVzZGYsdmFl c2RtLFwNCisgICAgICAgICAgICAgICAgICAgICAgICAgIHZhZXNrZjEsdmFl c2tmMix2YWVzeix2c2hhMm1zLHZzaGEyY2gsdnNoYTJjbCx2c200ayx2c200 cix2c20zbWUsdnNtM2MiKQ0KKGNvbnN0X3N0cmluZyAidHJ1ZSIpXQ0KKGNv bnN0X3N0cmluZyAiZmFsc2UiKSkpDQpAQCAtNzQsNyArNzYsOSBAQA0KICB2 bWFsdSx2bXBvcCx2bWZmcyx2bXNmcyx2bWlvdGEsdm1pZHgsdmltb3Z4dix2 Zm1vdmZ2LFwNCiAgdnNsaWRldXAsdnNsaWRlZG93bix2aXNsaWRlMXVwLHZp c2xpZGUxZG93bix2ZnNsaWRlMXVwLHZmc2xpZGUxZG93bixcDQogIHZnYXRo ZXIsdmNvbXByZXNzLHZsc2VnZGUsdnNzZWd0ZSx2bHNlZ2RzLHZzc2VndHMs dmxzZWdkdXgsdmxzZWdkb3gsXA0KLSAgIHZzc2VndHV4LHZzc2VndG94LHZs c2VnZGZmIikNCisgICB2c3NlZ3R1eCx2c3NlZ3RveCx2bHNlZ2RmZix2YW5k bix2YnJldix2YnJldjgsdnJldjgsdmNseix2Y3R6LHZyb2wsXA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgdnJvcix2d3NsbCx2Y2xtdWwsdmNsbXVs aCx2Z2hzaCx2Z211bCx2YWVzZWYsdmFlc2VtLHZhZXNkZix2YWVzZG0sXA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFlc2tmMSx2YWVza2YyLHZh ZXN6LHZzaGEybXMsdnNoYTJjaCx2c2hhMmNsLHZzbTRrLHZzbTRyLHZzbTNt ZSx2c20zYyIpDQooY29uc3Rfc3RyaW5nICJ0cnVlIildDQooY29uc3Rfc3Ry aW5nICJmYWxzZSIpKSkNCkBAIC00MjYsNyArNDMwLDExIEBADQogIHZpd3Jl ZCx2ZnJlZHUsdmZyZWRvLHZmd3JlZHUsdmZ3cmVkbyx2aW1vdnZ4LFwNCiAg dmltb3Z4dix2Zm1vdnZmLHZmbW92ZnYsdnNsaWRldXAsdnNsaWRlZG93bixc DQogIHZpc2xpZGUxdXAsdmlzbGlkZTFkb3duLHZmc2xpZGUxdXAsdmZzbGlk ZTFkb3duLFwNCi0gICB2Z2F0aGVyLHZjb21wcmVzcyx2bHNlZ2R1eCx2bHNl Z2RveCx2c3NlZ3R1eCx2c3NlZ3RveCIpDQorICAgdmdhdGhlcix2Y29tcHJl c3MsdmxzZWdkdXgsdmxzZWdkb3gsdnNzZWd0dXgsdnNzZWd0b3gsXA0KKyAg IHZhbmRuLHZicmV2LHZicmV2OCx2cmV2OCx2Y2x6LHZjdHosdnJvbCx2cm9y LHZ3c2xsLFwNCisgICB2Y2xtdWwsdmNsbXVsaCx2Z2hzaCx2Z211bCx2YWVz ZWYsdmFlc2VtLHZhZXNkZix2YWVzZG0sXA0KKyAgIHZhZXNrZjEsdmFlc2tm Mix2YWVzeix2c2hhMm1zLHZzaGEyY2gsdnNoYTJjbCx2c200ayx2c200cixc DQorICAgdnNtM21lLHZzbTNjIikNCiAgIChjb25zdF9pbnQgSU5WQUxJRF9B VFRSSUJVVEUpDQooZXFfYXR0ciAibW9kZSIgIlJWVk04UUksUlZWTTFCSSIp IChjb25zdF9pbnQgMSkNCihlcV9hdHRyICJtb2RlIiAiUlZWTTRRSSxSVlZN RjJCSSIpIChjb25zdF9pbnQgMikNCkBAIC02OTgsMTAgKzcwNiwxMiBAQA0K dmZ3Y3Z0ZnRvaSx2ZndjdnRmdG9mLHZmbmN2dGl0b2YsdmZuY3Z0ZnRvaSx2 Zm5jdnRmdG9mLHZmY2xhc3MsXA0KdmlyZWQsdml3cmVkLHZmcmVkdSx2ZnJl ZG8sdmZ3cmVkdSx2ZndyZWRvLHZpbW92eHYsdmZtb3ZmdixcDQp2c2xpZGV1 cCx2c2xpZGVkb3duLHZpc2xpZGUxdXAsdmlzbGlkZTFkb3duLHZmc2xpZGUx dXAsdmZzbGlkZTFkb3duLFwNCi0gdmdhdGhlcix2bGRmZix2aXdtdWxhZGQs dmZ3bXVsYWRkLHZsc2VnZGUsdmxzZWdkcyx2bHNlZ2R1eCx2bHNlZ2RveCx2 bHNlZ2RmZiIpDQorIHZnYXRoZXIsdmxkZmYsdml3bXVsYWRkLHZmd211bGFk ZCx2bHNlZ2RlLHZsc2VnZHMsdmxzZWdkdXgsdmxzZWdkb3gsdmxzZWdkZmYs XA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFuZG4sdmJy ZXYsdmJyZXY4LHZyZXY4LHZyb2wsdnJvcix2d3NsbCx2Y2xtdWwsdmNsbXVs aCIpDQogICAgICAgKGNvbnN0X2ludCAyKQ0KLSAgICAgICAgKGVxX2F0dHIg InR5cGUiICJ2aW1lcmdlLHZmbWVyZ2UsdmNvbXByZXNzIikNCisgICAgICAg IChlcV9hdHRyICJ0eXBlIiAidmltZXJnZSx2Zm1lcmdlLHZjb21wcmVzcyx2 Z2hzaCx2Z211bCx2YWVzZWYsdmFlc2VtLHZhZXNkZix2YWVzZG0sXA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFlc2tmMSx2YWVza2Yy LHZhZXN6LHZzaGEybXMsdnNoYTJjaCx2c2hhMmNsLHZzbTRrLHZzbTRyLHZz bTNtZSx2c20zYyIpDQogICAgICAgKGNvbnN0X2ludCAxKQ0KICAgICAgIChl cV9hdHRyICJ0eXBlIiAidmltdWxhZGQsdmZtdWxhZGQiKQ0KQEAgLTc0MCw3 ICs3NTAsOCBAQA0KICB2c3RveCx2ZXh0LHZtc2ZzLHZtaW90YSx2ZnNxcnQs dmZyZWNwLHZmY3Z0aXRvZix2bGRmZixcDQogIHZmY3Z0ZnRvaSx2ZndjdnRp dG9mLHZmd2N2dGZ0b2ksdmZ3Y3Z0ZnRvZix2Zm5jdnRpdG9mLFwNCiAgdmZu Y3Z0ZnRvaSx2Zm5jdnRmdG9mLHZmY2xhc3Msdmltb3Z4dix2Zm1vdmZ2LHZj b21wcmVzcyxcDQotICAgdmxzZWdkZSx2c3NlZ3RzLHZzc2VndHV4LHZzc2Vn dG94LHZsc2VnZGZmIikNCisgICB2bHNlZ2RlLHZzc2VndHMsdnNzZWd0dXgs dnNzZWd0b3gsdmxzZWdkZmYsdmJyZXYsdmJyZXY4LHZyZXY4LFwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgIHZnaHNoLHZhZXNrZjEsdmFlc2tmMix2 c2hhMm1zLHZzaGEyY2gsdnNoYTJjbCx2c200ayx2c20zbWUsdnNtM2MiKQ0K ICAgKGNvbnN0X2ludCA0KQ0KOzsgSWYgb3BlcmFuZHNbM10gb2YgInZsZHMi IGlzIG5vdCB2ZWN0b3IgbW9kZSwgaXQgaXMgcHJlZF9icm9hZGNhc3QuDQpA QCAtNzU1LDEzICs3NjYsMTUgQEANCiAgdnNzaGlmdCx2bmNsaXAsdmZhbHUs dmZtdWwsdmZtaW5tYXgsdmZkaXYsdmZ3YWx1LHZmd211bCxcDQogIHZmc2du aix2Zm1lcmdlLHZpcmVkLHZpd3JlZCx2ZnJlZHUsdmZyZWRvLHZmd3JlZHUs dmZ3cmVkbyxcDQogIHZzbGlkZXVwLHZzbGlkZWRvd24sdmlzbGlkZTF1cCx2 aXNsaWRlMWRvd24sdmZzbGlkZTF1cCx2ZnNsaWRlMWRvd24sXA0KLSAgIHZn YXRoZXIsdml3bXVsYWRkLHZmd211bGFkZCx2bHNlZ2RzLHZsc2VnZHV4LHZs c2VnZG94IikNCisgICB2Z2F0aGVyLHZpd211bGFkZCx2ZndtdWxhZGQsdmxz ZWdkcyx2bHNlZ2R1eCx2bHNlZ2RveCx2YW5kbix2cm9sLFwNCisgICAgICAg ICAgICAgICAgICAgICAgICAgIHZyb3IsdndzbGwsdmNsbXVsLHZjbG11bGgi KQ0KICAgKGNvbnN0X2ludCA1KQ0KKGVxX2F0dHIgInR5cGUiICJ2aWNtcCx2 aW11bGFkZCx2ZmNtcCx2Zm11bGFkZCIpDQogICAoY29uc3RfaW50IDYpDQot IChlcV9hdHRyICJ0eXBlIiAidm1wb3Asdm1mZnMsdm1pZHgsdnNzZWd0ZSIp DQorIChlcV9hdHRyICJ0eXBlIiAidm1wb3Asdm1mZnMsdm1pZHgsdnNzZWd0 ZSx2Y2x6LHZjdHosdmdtdWwsdmFlc2VmLHZhZXNlbSx2YWVzZGYsdmFlc2Rt LFwNCisgICAgICAgICAgICAgICAgICAgICAgICAgIHZhZXN6LHZzbTRyIikN CiAgIChjb25zdF9pbnQgMyldDQogICAoY29uc3RfaW50IElOVkFMSURfQVRU UklCVVRFKSkpDQpAQCAtNzcwLDcgKzc4Myw4IEBADQogICAoY29uZCBbKGVx X2F0dHIgInR5cGUiICJ2bGRlLHZpbW92LHZmbW92LHZleHQsdm1pb3RhLHZm c3FydCx2ZnJlY3AsXA0KICB2ZmN2dGl0b2YsdmZjdnRmdG9pLHZmd2N2dGl0 b2YsdmZ3Y3Z0ZnRvaSx2ZndjdnRmdG9mLFwNCiAgdmZuY3Z0aXRvZix2Zm5j dnRmdG9pLHZmbmN2dGZ0b2YsdmZjbGFzcyx2aW1vdnh2LHZmbW92ZnYsXA0K LSAgIHZjb21wcmVzcyx2bGRmZix2bHNlZ2RlLHZsc2VnZGZmIikNCisgICB2 Y29tcHJlc3MsdmxkZmYsdmxzZWdkZSx2bHNlZ2RmZix2YnJldix2YnJldjgs dnJldjgsdmdoc2gsXA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFl c2tmMSx2YWVza2YyLHZzaGEybXMsdnNoYTJjaCx2c2hhMmNsLHZzbTRrLHZz bTNtZSx2c20zYyIpDQogICAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpn ZXRfdGEob3BlcmFuZHNbNV0pIikNCjs7IElmIG9wZXJhbmRzWzNdIG9mICJ2 bGRzIiBpcyBub3QgdmVjdG9yIG1vZGUsIGl0IGlzIHByZWRfYnJvYWRjYXN0 Lg0KQEAgLTc4NiwxMyArODAwLDEzIEBADQogIHZmd2FsdSx2ZndtdWwsdmZz Z25qLHZmbWVyZ2UsdmlyZWQsdml3cmVkLHZmcmVkdSxcDQogIHZmcmVkbyx2 ZndyZWR1LHZmd3JlZG8sdnNsaWRldXAsdnNsaWRlZG93bix2aXNsaWRlMXVw LFwNCiAgdmlzbGlkZTFkb3duLHZmc2xpZGUxdXAsdmZzbGlkZTFkb3duLHZn YXRoZXIsdml3bXVsYWRkLHZmd211bGFkZCxcDQotICAgdmxzZWdkcyx2bHNl Z2R1eCx2bHNlZ2RveCIpDQorICAgdmxzZWdkcyx2bHNlZ2R1eCx2bHNlZ2Rv eCx2YW5kbix2cm9sLHZyb3IsdndzbGwsdmNsbXVsLHZjbG11bGgiKQ0KICAg KHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6Z2V0X3RhKG9wZXJhbmRzWzZd KSIpDQooZXFfYXR0ciAidHlwZSIgInZpbXVsYWRkLHZmbXVsYWRkIikNCiAg IChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OmdldF90YShvcGVyYW5kc1s3 XSkiKQ0KLSAoZXFfYXR0ciAidHlwZSIgInZtaWR4IikNCisgKGVxX2F0dHIg InR5cGUiICJ2bWlkeCx2Z211bCx2YWVzZWYsdmFlc2VtLHZhZXNkZix2YWVz ZG0sdmFlc3osdnNtNHIiKQ0KICAgKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rv cjo6Z2V0X3RhKG9wZXJhbmRzWzRdKSIpXQ0KKGNvbnN0X2ludCBJTlZBTElE X0FUVFJJQlVURSkpKQ0KQEAgLTgwMCw3ICs4MTQsNyBAQA0KKGRlZmluZV9h dHRyICJtYSIgIiINCiAgIChjb25kIFsoZXFfYXR0ciAidHlwZSIgInZsZGUs dmV4dCx2bWlvdGEsdmZzcXJ0LHZmcmVjcCx2ZmN2dGl0b2YsdmZjdnRmdG9p LFwNCiAgdmZ3Y3Z0aXRvZix2ZndjdnRmdG9pLHZmd2N2dGZ0b2YsdmZuY3Z0 aXRvZix2Zm5jdnRmdG9pLFwNCi0gICB2Zm5jdnRmdG9mLHZmY2xhc3Msdmxk ZmYsdmxzZWdkZSx2bHNlZ2RmZiIpDQorICAgdmZuY3Z0ZnRvZix2ZmNsYXNz LHZsZGZmLHZsc2VnZGUsdmxzZWdkZmYsdmJyZXYsdmJyZXY4LHZyZXY4IikN CiAgIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OmdldF9tYShvcGVyYW5k c1s2XSkiKQ0KOzsgSWYgb3BlcmFuZHNbM10gb2YgInZsZHMiIGlzIG5vdCB2 ZWN0b3IgbW9kZSwgaXQgaXMgcHJlZF9icm9hZGNhc3QuDQpAQCAtODE1LDcg KzgyOSw4IEBADQogIHZuY2xpcCx2aWNtcCx2ZmFsdSx2Zm11bCx2Zm1pbm1h eCx2ZmRpdixcDQogIHZmd2FsdSx2ZndtdWwsdmZzZ25qLHZmY21wLHZzbGlk ZXVwLHZzbGlkZWRvd24sXA0KICB2aXNsaWRlMXVwLHZpc2xpZGUxZG93bix2 ZnNsaWRlMXVwLHZmc2xpZGUxZG93bix2Z2F0aGVyLFwNCi0gICB2aXdtdWxh ZGQsdmZ3bXVsYWRkLHZsc2VnZHMsdmxzZWdkdXgsdmxzZWdkb3giKQ0KKyAg IHZpd211bGFkZCx2ZndtdWxhZGQsdmxzZWdkcyx2bHNlZ2R1eCx2bHNlZ2Rv eCx2YW5kbix2cm9sLFwNCisgICAgICAgICAgICAgICAgICAgICAgICAgIHZy b3IsdndzbGwsdmNsbXVsLHZjbG11bGgiKQ0KICAgKHN5bWJvbF9yZWYgInJp c2N2X3ZlY3Rvcjo6Z2V0X21hKG9wZXJhbmRzWzddKSIpDQooZXFfYXR0ciAi dHlwZSIgInZpbXVsYWRkLHZmbXVsYWRkIikNCkBAIC04MzEsOSArODQ2LDEw IEBADQogIHZmc3FydCx2ZnJlY3AsdmZtZXJnZSx2ZmN2dGl0b2YsdmZjdnRm dG9pLHZmd2N2dGl0b2YsXA0KICB2ZndjdnRmdG9pLHZmd2N2dGZ0b2YsdmZu Y3Z0aXRvZix2Zm5jdnRmdG9pLHZmbmN2dGZ0b2YsXA0KICB2ZmNsYXNzLHZp cmVkLHZpd3JlZCx2ZnJlZHUsdmZyZWRvLHZmd3JlZHUsdmZ3cmVkbyxcDQot ICAgdmltb3Z4dix2Zm1vdmZ2LHZsc2VnZGUsdmxzZWdkZmYsdm1pb3RhIikN CisgICB2aW1vdnh2LHZmbW92ZnYsdmxzZWdkZSx2bHNlZ2RmZix2bWlvdGEs dmJyZXYsdmJyZXY4LHZyZXY4IikNCiAgIChjb25zdF9pbnQgNykNCi0gKGVx X2F0dHIgInR5cGUiICJ2bGRtLHZzdG0sdm1hbHUsdm1hbHUiKQ0KKyAoZXFf YXR0ciAidHlwZSIgInZsZG0sdnN0bSx2bWFsdSx2bWFsdSx2Z211bCx2YWVz ZWYsdmFlc2VtLHZhZXNkZix2YWVzZG0sdmFlc3osXA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgdnNtNHIiKQ0KICAgKGNvbnN0X2ludCA1KQ0KOzsg SWYgb3BlcmFuZHNbM10gb2YgInZsZHMiIGlzIG5vdCB2ZWN0b3IgbW9kZSwg aXQgaXMgcHJlZF9icm9hZGNhc3QuDQpAQCAtODQ4LDE4ICs4NjQsMTkgQEAN CiAgdm5jbGlwLHZpY21wLHZmYWx1LHZmbXVsLHZmbWlubWF4LHZmZGl2LHZm d2FsdSx2ZndtdWwsXA0KICB2ZnNnbmosdmZjbXAsdnNsaWRldXAsdnNsaWRl ZG93bix2aXNsaWRlMXVwLFwNCiAgdmlzbGlkZTFkb3duLHZmc2xpZGUxdXAs dmZzbGlkZTFkb3duLHZnYXRoZXIsdml3bXVsYWRkLHZmd211bGFkZCxcDQot ICAgdmxzZWdkcyx2bHNlZ2R1eCx2bHNlZ2RveCIpDQorICAgdmxzZWdkcyx2 bHNlZ2R1eCx2bHNlZ2RveCx2YW5kbix2cm9sLHZyb3IsdndzbGwiKQ0KICAg KGNvbnN0X2ludCA4KQ0KLSAoZXFfYXR0ciAidHlwZSIgInZzdHV4LHZzdG94 LHZzc2VndHMsdnNzZWd0dXgsdnNzZWd0b3giKQ0KKyAoZXFfYXR0ciAidHlw ZSIgInZzdHV4LHZzdG94LHZzc2VndHMsdnNzZWd0dXgsdnNzZWd0b3gsdmNs bXVsLHZjbG11bGgiKQ0KICAgKGNvbnN0X2ludCA1KQ0KKGVxX2F0dHIgInR5 cGUiICJ2aW11bGFkZCx2Zm11bGFkZCIpDQogICAoY29uc3RfaW50IDkpDQot IChlcV9hdHRyICJ0eXBlIiAidm1zZnMsdm1pZHgsdmNvbXByZXNzIikNCisg KGVxX2F0dHIgInR5cGUiICJ2bXNmcyx2bWlkeCx2Y29tcHJlc3Msdmdoc2gs dmFlc2tmMSx2YWVza2YyLHZzaGEybXMsdnNoYTJjaCx2c2hhMmNsLFwNCisg ICAgICAgICAgICAgICAgICAgICAgICAgIHZzbTRrLHZzbTNtZSx2c20zYyIp DQogICAoY29uc3RfaW50IDYpDQotIChlcV9hdHRyICJ0eXBlIiAidm1wb3As dm1mZnMsdnNzZWd0ZSIpDQorIChlcV9hdHRyICJ0eXBlIiAidm1wb3Asdm1m ZnMsdnNzZWd0ZSx2Y2x6LHZjdHoiKQ0KICAgKGNvbnN0X2ludCA0KV0NCihj b25zdF9pbnQgSU5WQUxJRF9BVFRSSUJVVEUpKSkNCi0tIA0KMi4xNy4xDQog DQogDQo= ------=_001_NextPart248323885066_=------