From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id UEzaGqccA2BhJwAA0tVLHw (envelope-from ) for ; Sat, 16 Jan 2021 17:04:39 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id OFSeFqccA2BsPQAA1q6Kng (envelope-from ) for ; Sat, 16 Jan 2021 17:04:39 +0000 Received: from mail.notmuchmail.org (nmbug.tethera.net [144.217.243.247]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (2048 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A407E940509 for ; Sat, 16 Jan 2021 17:04:38 +0000 (UTC) Received: from nmbug.tethera.net (localhost [127.0.0.1]) by mail.notmuchmail.org (Postfix) with ESMTP id DCBBF2BF3A; Sat, 16 Jan 2021 12:04:22 -0500 (EST) Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197]) by mail.notmuchmail.org (Postfix) with ESMTP id 2A45F2A13A for ; Sat, 16 Jan 2021 12:04:19 -0500 (EST) Received: by fethera.tethera.net (Postfix, from userid 1001) id 9596E5FF47; Sat, 16 Jan 2021 12:04:17 -0500 (EST) Received: (nullmailer pid 842374 invoked by uid 1000); Sat, 16 Jan 2021 17:04:15 -0000 From: David Bremner To: notmuch@notmuchmail.org Subject: v4 merged config. Date: Sat, 16 Jan 2021 13:03:28 -0400 Message-Id: <20210116170406.842014-1-david@tethera.net> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Message-ID-Hash: VE2LA65MEIOLP2NISTKZZYDECSD4A3BL X-Message-ID-Hash: VE2LA65MEIOLP2NISTKZZYDECSD4A3BL X-MailFrom: bremner@tethera.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-notmuch.notmuchmail.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.1 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -0.98 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 144.217.243.247 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Queue-Id: A407E940509 X-Spam-Score: -0.98 X-Migadu-Scanner: scn0.migadu.com X-TUID: AKNYZigpRQyj VGhpcyBvYnNvbGV0ZXMgWzFdLiBJbnRlcmRpZmYgaXMgYmVsb3cuICBUaGUgbWFpbiBjaGFuZ2Vz IGFyZSBkZWFsaW5nDQp3aXRoIGhvb2tzIGluIG5ldyBsb2NhdGlvbnMsIGFuZCBzb21lIGRvY3Vt ZW50YXRpb24uIEZvciBhIHN1bW1hcnksIG9mDQpjaGFuZ2VzLCBzZWUgdGhlIG5ldyBkb2N1bWVu dGF0aW9uLCBpbiBwYXRjaCAzOC8zOC4NCg0KDQpbMV0gaWQ6MjAyMTAxMDMyMzM1NDcuMTIyNzA3 LTEtZGF2aWRAdGV0aGVyYS5uZXQNCg0KDQoNCiBkb2MvbWFuMS9ub3RtdWNoLWNvbmZpZy5yc3Qg fCAgIDQzICsrKysrKystLQ0KIGRvYy9tYW41L25vdG11Y2gtaG9va3MucnN0ICB8ICAgIDYgLQ0K IGhvb2tzLmMgICAgICAgICAgICAgICAgICAgICB8ICAgIDcgLQ0KIGxpYi9jb25maWcuY2MgICAg ICAgICAgICAgICB8ICAgIDUgKw0KIGxpYi9ub3RtdWNoLmggICAgICAgICAgICAgICB8ICAgIDMg DQogbGliL29wZW4uY2MgICAgICAgICAgICAgICAgIHwgICA0MiArKysrKysrKysNCiBub3RtdWNo LWNsaWVudC5oICAgICAgICAgICAgfCAgICAyIA0KIG5vdG11Y2gtY291bnQuYyAgICAgICAgICAg ICB8ICAgIDIgDQogbm90bXVjaC1pbnNlcnQuYyAgICAgICAgICAgIHwgICAgNyAtDQogbm90bXVj aC1uZXcuYyAgICAgICAgICAgICAgIHwgICAgNCANCiB0ZXN0L1QxNDAtZXhjbHVkZXMuc2ggICAg ICAgfCAgIDE1ICsrKw0KIHRlc3QvVDQwMC1ob29rcy5zaCAgICAgICAgICB8ICAxOTcgKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiB0ZXN0L1Q1OTAtbGliY29u ZmlnLnNoICAgICAgfCAgIDMyICsrKysrKysNCiB0ZXN0L1Q3NTAtZ3ppcC5zaCAgICAgICAgICAg fCAgICAyIA0KIHRlc3QvdGVzdC1saWIuZWwgICAgICAgICAgICB8ICAgIDQgDQogMTUgZmlsZXMg Y2hhbmdlZCwgMjU4IGluc2VydGlvbnMoKyksIDExMyBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdp dCBhL2RvYy9tYW4xL25vdG11Y2gtY29uZmlnLnJzdCBiL2RvYy9tYW4xL25vdG11Y2gtY29uZmln LnJzdA0KaW5kZXggNzY5ZjMzNmEuLmJjNTk3OTU3IDEwMDY0NA0KLS0tIGEvZG9jL21hbjEvbm90 bXVjaC1jb25maWcucnN0DQorKysgYi9kb2MvbWFuMS9ub3RtdWNoLWNvbmZpZy5yc3QNCkBAIC0x NywxMCArMTcsNiBAQCBERVNDUklQVElPTg0KIFRoZSAqKmNvbmZpZyoqIGNvbW1hbmQgY2FuIGJl IHVzZWQgdG8gZ2V0IG9yIHNldCBzZXR0aW5ncyBpbiB0aGUgbm90bXVjaA0KIGNvbmZpZ3VyYXRp b24gZmlsZSBhbmQgY29ycmVzcG9uZGluZyBkYXRhYmFzZS4NCiANCi1JdGVtcyBtYXJrZWQgKipb U1RPUkVEIElOIERBVEFCQVNFXSoqIGFyZSBvbmx5IGluIHRoZSBkYXRhYmFzZS4gIFRoZXkNCi1z aG91bGQgbm90IGJlIHBsYWNlZCBpbiB0aGUgY29uZmlndXJhdGlvbiBmaWxlLCBhbmQgc2hvdWxk IGJlIGFjY2Vzc2VkDQotcHJvZ3JhbW1hdGljYWxseSBhcyBkZXNjcmliZWQgaW4gdGhlIFNZTk9Q U0lTIGFib3ZlLg0KLQ0KICoqZ2V0KioNCiAgICAgVGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQg Y29uZmlndXJhdGlvbiBpdGVtIGlzIHByaW50ZWQgdG8NCiAgICAgc3Rkb3V0LiBJZiB0aGUgaXRl bSBoYXMgbXVsdGlwbGUgdmFsdWVzIChpdCBpcyBhIGxpc3QpLCBlYWNoIHZhbHVlDQpAQCAtNTQs NiArNTAsMTEgQEAgVGhlIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIGl0ZW1zIGFyZSBkZXNjcmli ZWQgYmVsb3cuDQogDQogICAgIERlZmF1bHQ6IGBgJE1BSUxESVJgYCB2YXJpYWJsZSBpZiBzZXQs IG90aGVyd2lzZSBgYCRIT01FL21haWxgYC4NCiANCisqKmRhdGFiYXNlLmhvb2tfZGlyKioNCisN CisgICAgRGlyZWN0b3J5IGNvbnRhaW5pbmcgaG9va3MgcnVuIGJ5IG5vdG11Y2ggY29tbWFuZHMu IFNlZQ0KKyAgICAqKm5vdG11Y2gtaG9va3MoNSkqKi4NCisNCiAqKnVzZXIubmFtZSoqDQogICAg IFlvdXIgZnVsbCBuYW1lLg0KIA0KQEAgLTEzNCw3ICsxMzUsNyBAQCBUaGUgYXZhaWxhYmxlIGNv bmZpZ3VyYXRpb24gaXRlbXMgYXJlIGRlc2NyaWJlZCBiZWxvdy4NCiANCiAgICAgRGVmYXVsdDog YGB0cnVlYGAuDQogDQotKippbmRleC5kZWNyeXB0KiogKipbU1RPUkVEIElOIERBVEFCQVNFXSoq DQorKippbmRleC5kZWNyeXB0KioNCiAgICAgUG9saWN5IGZvciBkZWNyeXB0aW5nIGVuY3J5cHRl ZCBtZXNzYWdlcyBkdXJpbmcgaW5kZXhpbmcuICBNdXN0IGJlDQogICAgIG9uZSBvZjogYGBmYWxz ZWBgLCBgYGF1dG9gYCwgYGBub3N0YXNoYGAsIG9yIGBgdHJ1ZWBgLg0KIA0KQEAgLTE4Nyw3ICsx ODgsNyBAQCBUaGUgYXZhaWxhYmxlIGNvbmZpZ3VyYXRpb24gaXRlbXMgYXJlIGRlc2NyaWJlZCBi ZWxvdy4NCiANCiAgICAgRGVmYXVsdDogYGBhdXRvYGAuDQogDQotKippbmRleC5oZWFkZXIuPHBy ZWZpeD4qKiAqKltTVE9SRUQgSU4gREFUQUJBU0VdKioNCisqKmluZGV4LmhlYWRlci48cHJlZml4 PioqDQogICAgIERlZmluZSB0aGUgcXVlcnkgcHJlZml4IDxwcmVmaXg+LCBiYXNlZCBvbiBhIG1h aWwgaGVhZGVyLiBGb3INCiAgICAgZXhhbXBsZSBgYGluZGV4LmhlYWRlci5MaXN0PUxpc3QtSWRg YCB3aWxsIGFkZCBhIHByb2JhYmlsaXN0aWMNCiAgICAgcHJlZml4IGBgTGlzdDpgYCB0aGF0IHNl YXJjaGVzIHRoZSBgYExpc3QtSWRgYCBmaWVsZC4gIFVzZXINCkBAIC0yMDIsNyArMjAzLDcgQEAg VGhlIGF2YWlsYWJsZSBjb25maWd1cmF0aW9uIGl0ZW1zIGFyZSBkZXNjcmliZWQgYmVsb3cuDQog ICAgIChzaW5jZSBub3RtdWNoIDAuMzAsICJjb21wYWN0IiBhbmQgImZpZWxkX3Byb2Nlc3NvciIg YXJlDQogICAgIGFsd2F5cyBpbmNsdWRlZC4pDQogDQotKipxdWVyeS48bmFtZT4qKiAqKltTVE9S RUQgSU4gREFUQUJBU0VdKioNCisqKnF1ZXJ5LjxuYW1lPioqDQogICAgIEV4cGFuc2lvbiBmb3Ig bmFtZWQgcXVlcnkgY2FsbGVkIDxuYW1lPi4gU2VlDQogICAgICoqbm90bXVjaC1zZWFyY2gtdGVy bXMoNykqKiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBuYW1lZA0KICAgICBxdWVyaWVzLg0K QEAgLTIxNCw4ICsyMTUsMzIgQEAgVGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMg Y2FuIGJlIHVzZWQgdG8gY29udHJvbCB0aGUgYmVoYXZpb3INCiBvZiBub3RtdWNoLg0KIA0KICoq Tk9UTVVDSFxfQ09ORklHKioNCi0gICAgU3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBvZiB0aGUgbm90 bXVjaCBjb25maWd1cmF0aW9uIGZpbGUuIE5vdG11Y2gNCi0gICAgd2lsbCB1c2UgJHtIT01FfS8u bm90bXVjaC1jb25maWcgaWYgdGhpcyB2YXJpYWJsZSBpcyBub3Qgc2V0Lg0KKyAgICBTcGVjaWZp ZXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBub3RtdWNoIGNvbmZpZ3VyYXRpb24gZmlsZS4NCisNCisq Kk5PVE1VQ0hfUFJPRklMRSoqDQorICAgIFNlbGVjdHMgYW1vbmcgbm90bXVjaCBjb25maWd1cmF0 aW9ucy4NCisNCitGSUxFUw0KKz09PT09DQorDQorQ09ORklHVVJBVElPTg0KKy0tLS0tLS0tLS0t LS0NCisNCitJZiBgYE5PVE1VQ0hfQ09ORklHYGAgaXMgdW5zZXQsIG5vdG11Y2ggdHJpZXMgKGlu IG9yZGVyKQ0KKw0KKy0gYGAkWERHX0NPTkZJR19IT01FL25vdG11Y2gvPHByb2ZpbGU+L2NvbmZp Z2BgIHdoZXJlIGBgPHByb2ZpbGU+YGAgaXMNCisgIGRlZmluZWQgYnkgYGAkTk9UTVVDSF9QUk9G SUxFYGAgb3IgImRlZmF1bHQiDQorLSBgYCR7SE9NRX0vLm5vdG11Y2gtY29uZmlnPHByb2ZpbGU+ YGAgd2hlcmUgYGA8cHJvZmlsZT5gYCBpcw0KKyAgYGAuJE5PVE1VQ0hfUFJPRklMRWBgIG9yICIi DQorDQorSG9va3MNCistLS0tLQ0KKw0KK0lmIGBgZGF0YWJhc2UuaG9va19kaXJgYCBpcyB1bnNl dCwgbm90bXVjaCB0cmllcyAoaW4gb3JkZXIpDQorDQorLSBgYCRYREdfQ09ORklHX0hPTUUvbm90 bXVjaC88cHJvZmlsZT4vaG9va3NgYCB3aGVyZSBgYDxwcm9maWxlPmBgIGlzDQorICBkZWZpbmVk IGJ5IGBgJE5PVE1VQ0hfUFJPRklMRWBgIG9yICJkZWZhdWx0Ig0KKy0gYGA8ZGF0YWJhc2UucGF0 aD4vLm5vdG11Y2gvaG9va3NgYA0KIA0KIFNFRSBBTFNPDQogPT09PT09PT0NCmRpZmYgLS1naXQg YS9kb2MvbWFuNS9ub3RtdWNoLWhvb2tzLnJzdCBiL2RvYy9tYW41L25vdG11Y2gtaG9va3MucnN0 DQppbmRleCBkZTJlZDBjMi4uYzUwOWFmYjMgMTAwNjQ0DQotLS0gYS9kb2MvbWFuNS9ub3RtdWNo LWhvb2tzLnJzdA0KKysrIGIvZG9jL21hbjUvbm90bXVjaC1ob29rcy5yc3QNCkBAIC01LDE1ICs1 LDE1IEBAIG5vdG11Y2gtaG9va3MNCiBTWU5PUFNJUw0KID09PT09PT09DQogDQotJERBVEFCQVNF RElSLy5ub3RtdWNoL2hvb2tzLyoNCis8aG9va19kaXI+L3twcmUtbmV3LCBwb3N0LW5ldywgcG9z dC1pbnNlcnR9DQogDQogREVTQ1JJUFRJT04NCiA9PT09PT09PT09PQ0KIA0KIEhvb2tzIGFyZSBz Y3JpcHRzIChvciBhcmJpdHJhcnkgZXhlY3V0YWJsZXMgb3Igc3ltbGlua3MgdG8gc3VjaCkgdGhh dA0KIG5vdG11Y2ggaW52b2tlcyBiZWZvcmUgYW5kIGFmdGVyIGNlcnRhaW4gYWN0aW9ucy4gVGhl c2Ugc2NyaXB0cyByZXNpZGUNCi1pbiB0aGUgLm5vdG11Y2gvaG9va3MgZGlyZWN0b3J5IHdpdGhp biB0aGUgZGF0YWJhc2UgZGlyZWN0b3J5IGFuZCBtdXN0DQotaGF2ZSBleGVjdXRhYmxlIHBlcm1p c3Npb25zLg0KK2luIGEgZGlyZWN0b3J5IGRlZmluZWQgYXMgZGVzY3JpYmVkIGluICoqbm90bXVj aC1jb25maWcoMSkqKi4gVGhleQ0KK211c3QgaGF2ZSBleGVjdXRhYmxlIHBlcm1pc3Npb25zLg0K IA0KIFRoZSBjdXJyZW50bHkgYXZhaWxhYmxlIGhvb2tzIGFyZSBkZXNjcmliZWQgYmVsb3cuDQog DQpkaWZmIC0tZ2l0IGEvaG9va3MuYyBiL2hvb2tzLmMNCmluZGV4IDU5YzU4MDcwLi5lYzg5YjIy ZSAxMDA2NDQNCi0tLSBhL2hvb2tzLmMNCisrKyBiL2hvb2tzLmMNCkBAIC0yNCwxNCArMjQsMTUg QEANCiAjaW5jbHVkZSA8c3lzL3dhaXQuaD4NCiANCiBpbnQNCi1ub3RtdWNoX3J1bl9ob29rIChj b25zdCBjaGFyICpkYl9wYXRoLCBjb25zdCBjaGFyICpob29rKQ0KK25vdG11Y2hfcnVuX2hvb2sg KG5vdG11Y2hfZGF0YWJhc2VfdCAqbm90bXVjaCwgY29uc3QgY2hhciAqaG9vaykNCiB7DQogICAg IGNoYXIgKmhvb2tfcGF0aDsNCiAgICAgaW50IHN0YXR1cyA9IDA7DQogICAgIHBpZF90IHBpZDsN CiANCi0gICAgaG9va19wYXRoID0gdGFsbG9jX2FzcHJpbnRmIChOVUxMLCAiJXMvJXMvJXMvJXMi LCBkYl9wYXRoLCAiLm5vdG11Y2giLA0KLQkJCQkgImhvb2tzIiwgaG9vayk7DQorICAgIGhvb2tf cGF0aCA9IHRhbGxvY19hc3ByaW50ZiAobm90bXVjaCwgIiVzLyVzIiwNCisJCQkJIG5vdG11Y2hf Y29uZmlnX2dldCAobm90bXVjaCwgTk9UTVVDSF9DT05GSUdfSE9PS19ESVIpLA0KKwkJCQkgaG9v ayk7DQogICAgIGlmIChob29rX3BhdGggPT0gTlVMTCkgew0KIAlmcHJpbnRmIChzdGRlcnIsICJP dXQgb2YgbWVtb3J5XG4iKTsNCiAJcmV0dXJuIDE7DQpkaWZmIC0tZ2l0IGEvbGliL2NvbmZpZy5j YyBiL2xpYi9jb25maWcuY2MNCmluZGV4IDdhMTQ5NGJlLi40YjExNWEwNyAxMDA2NDQNCi0tLSBh L2xpYi9jb25maWcuY2MNCisrKyBiL2xpYi9jb25maWcuY2MNCkBAIC0zMDMsNiArMzAzLDggQEAg bm90bXVjaF9jb25maWdfdmFsdWVzX2dldCAobm90bXVjaF9jb25maWdfdmFsdWVzX3QgKnZhbHVl cykgew0KIA0KIHZvaWQNCiBub3RtdWNoX2NvbmZpZ192YWx1ZXNfc3RhcnQgKG5vdG11Y2hfY29u ZmlnX3ZhbHVlc190ICp2YWx1ZXMpIHsNCisgICAgaWYgKHZhbHVlcyA9PSBOVUxMKQ0KKwlyZXR1 cm47DQogICAgIGlmICh2YWx1ZXMtPmNoaWxkcmVuKSB7DQogCXRhbGxvY19mcmVlICh2YWx1ZXMt PmNoaWxkcmVuKTsNCiAgICAgfQ0KQEAgLTM4OCw2ICszOTAsOCBAQCBfbm90bXVjaF9jb25maWdf a2V5X3RvX3N0cmluZyAobm90bXVjaF9jb25maWdfa2V5X3Qga2V5KSB7DQogICAgIHN3aXRjaCAo a2V5KSB7DQogICAgIGNhc2UgTk9UTVVDSF9DT05GSUdfREFUQUJBU0VfUEFUSDoNCiAJcmV0dXJu ICJkYXRhYmFzZS5wYXRoIjsNCisgICAgY2FzZSBOT1RNVUNIX0NPTkZJR19IT09LX0RJUjoNCisJ cmV0dXJuICJkYXRhYmFzZS5ob29rX2RpciI7DQogICAgIGNhc2UgTk9UTVVDSF9DT05GSUdfRVhD TFVERV9UQUdTOg0KIAlyZXR1cm4gInNlYXJjaC5leGNsdWRlX3RhZ3MiOw0KICAgICBjYXNlIE5P VE1VQ0hfQ09ORklHX05FV19UQUdTOg0KQEAgLTQyNiw2ICs0MzAsNyBAQCBfbm90bXVjaF9jb25m aWdfZGVmYXVsdCAodm9pZCAqY3R4LCBub3RtdWNoX2NvbmZpZ19rZXlfdCBrZXkpIHsNCiAJcmV0 dXJuICJpbmJveDt1bnJlYWQiOw0KICAgICBjYXNlIE5PVE1VQ0hfQ09ORklHX1NZTkNfTUFJTERJ Ul9GTEFHUzoNCiAJcmV0dXJuICJ0cnVlIjsNCisgICAgY2FzZSBOT1RNVUNIX0NPTkZJR19IT09L X0RJUjoNCiAgICAgY2FzZSBOT1RNVUNIX0NPTkZJR19ORVdfSUdOT1JFOg0KICAgICBjYXNlIE5P VE1VQ0hfQ09ORklHX1VTRVJfTkFNRToNCiAgICAgY2FzZSBOT1RNVUNIX0NPTkZJR19QUklNQVJZ X0VNQUlMOg0KZGlmZiAtLWdpdCBhL2xpYi9ub3RtdWNoLmggYi9saWIvbm90bXVjaC5oDQppbmRl eCBlNTFiNzM4ZC4uM2MzZmQ0ODcgMTAwNjQ0DQotLS0gYS9saWIvbm90bXVjaC5oDQorKysgYi9s aWIvbm90bXVjaC5oDQpAQCAtMjQ2MSw2ICsyNDYxLDcgQEAgbm90bXVjaF9jb25maWdfbGlzdF9k ZXN0cm95IChub3RtdWNoX2NvbmZpZ19saXN0X3QgKmNvbmZpZ19saXN0KTsNCiB0eXBlZGVmIGVu dW0gX25vdG11Y2hfY29uZmlnX2tleSB7DQogICAgIE5PVE1VQ0hfQ09ORklHX0ZJUlNULA0KICAg ICBOT1RNVUNIX0NPTkZJR19EQVRBQkFTRV9QQVRIID0gTk9UTVVDSF9DT05GSUdfRklSU1QsDQor ICAgIE5PVE1VQ0hfQ09ORklHX0hPT0tfRElSLA0KICAgICBOT1RNVUNIX0NPTkZJR19FWENMVURF X1RBR1MsDQogICAgIE5PVE1VQ0hfQ09ORklHX05FV19UQUdTLA0KICAgICBOT1RNVUNIX0NPTkZJ R19ORVdfSUdOT1JFLA0KQEAgLTI1NjIsNyArMjU2Myw3IEBAIG5vdG11Y2hfY29uZmlnX3ZhbHVl c19tb3ZlX3RvX25leHQgKG5vdG11Y2hfY29uZmlnX3ZhbHVlc190ICp2YWx1ZXMpOw0KIC8qKg0K ICAqIHJlc2V0IHRoZSAndmFsdWVzJyBpdGVyYXRvciB0byB0aGUgZmlyc3QgZWxlbWVudA0KICAq DQotICogQHBhcmFtW2luLG91dF0gdmFsdWVzIGl0ZXJhdG9yDQorICogQHBhcmFtW2luLG91dF0g dmFsdWVzIGl0ZXJhdG9yLiBBIE5VTEwgdmFsdWUgaXMgaWdub3JlZC4NCiAgKg0KICAqIEBzaW5j ZSBsaWJub3RtdWNoIDUuNCAobm90bXVjaCAwLjMyKQ0KICAqDQpkaWZmIC0tZ2l0IGEvbGliL29w ZW4uY2MgYi9saWIvb3Blbi5jYw0KaW5kZXggOTI2NjEyNzEuLmViN2M4YTAxIDEwMDY0NA0KLS0t IGEvbGliL29wZW4uY2MNCisrKyBiL2xpYi9vcGVuLmNjDQpAQCAtNjcsNiArNjcsNDQgQEAgX3hk Z19kaXIgKHZvaWQgKmN0eCwNCiAJCQkgICAgcHJvZmlsZV9uYW1lKTsNCiB9DQogDQorc3RhdGlj IG5vdG11Y2hfc3RhdHVzX3QNCitfY2hvb3NlX2hvb2tfZGlyIChub3RtdWNoX2RhdGFiYXNlX3Qg Km5vdG11Y2gsDQorCQkgIGNvbnN0IGNoYXIgKnByb2ZpbGUsDQorCQkgIGNoYXIgKiptZXNzYWdl KQ0KK3sNCisgICAgY29uc3QgY2hhciAqY29uZmlnOw0KKyAgICBjb25zdCBjaGFyICpob29rX2Rp cjsNCisgICAgc3RydWN0IHN0YXQgc3Q7DQorICAgIGludCBlcnI7DQorDQorICAgIGhvb2tfZGly ID0gbm90bXVjaF9jb25maWdfZ2V0IChub3RtdWNoLCBOT1RNVUNIX0NPTkZJR19IT09LX0RJUik7 DQorDQorICAgIGlmIChob29rX2RpcikNCisJcmV0dXJuIE5PVE1VQ0hfU1RBVFVTX1NVQ0NFU1M7 DQorDQorICAgIGNvbmZpZyA9IF94ZGdfZGlyIChub3RtdWNoLCAiWERHX0NPTkZJR19IT01FIiwg Ii5jb25maWciLCBwcm9maWxlKTsNCisgICAgaWYgKCEgY29uZmlnKQ0KKwlyZXR1cm4gIE5PVE1V Q0hfU1RBVFVTX1BBVEhfRVJST1I7DQorDQorICAgIGhvb2tfZGlyID0gdGFsbG9jX2FzcHJpbnRm IChub3RtdWNoLCAiJXMvaG9va3MiLCBjb25maWcpOw0KKw0KKyAgICBlcnIgPSBzdGF0IChob29r X2RpciwgJnN0KTsNCisgICAgaWYgKGVycikgew0KKwlpZiAoZXJybm8gPT0gRU5PRU5UKSB7DQor CSAgICBjb25zdCBjaGFyICpkYXRhYmFzZV9wYXRoID0gbm90bXVjaF9kYXRhYmFzZV9nZXRfcGF0 aCAobm90bXVjaCk7DQorCSAgICBob29rX2RpciA9IHRhbGxvY19hc3ByaW50ZiAobm90bXVjaCwg IiVzLy5ub3RtdWNoL2hvb2tzIiwgZGF0YWJhc2VfcGF0aCk7DQorCX0gZWxzZSB7DQorCSAgICBJ R05PUkVfUkVTVUxUIChhc3ByaW50ZiAobWVzc2FnZSwgIkVycm9yOiBDYW5ub3Qgc3RhdCAlczog JXMuXG4iLA0KKwkJCQkgICAgIGhvb2tfZGlyLCBzdHJlcnJvciAoZXJybm8pKSk7DQorCSAgICBy ZXR1cm4gTk9UTVVDSF9TVEFUVVNfRklMRV9FUlJPUjsNCisJfQ0KKyAgICB9DQorDQorICAgIF9u b3RtdWNoX2NvbmZpZ19jYWNoZSAobm90bXVjaCwgTk9UTVVDSF9DT05GSUdfSE9PS19ESVIsIGhv b2tfZGlyKTsNCisNCisgICAgcmV0dXJuIE5PVE1VQ0hfU1RBVFVTX1NVQ0NFU1M7DQorfQ0KKw0K IHN0YXRpYyBub3RtdWNoX3N0YXR1c190DQogX2xvYWRfa2V5X2ZpbGUgKGNvbnN0IGNoYXIgKnBh dGgsDQogCQljb25zdCBjaGFyICpwcm9maWxlLA0KQEAgLTMwMCw2ICszMzgsMTAgQEAgbm90bXVj aF9kYXRhYmFzZV9vcGVuX3dpdGhfY29uZmlnIChjb25zdCBjaGFyICpkYXRhYmFzZV9wYXRoLA0K IAlpZiAoc3RhdHVzKQ0KIAkgICAgZ290byBET05FOw0KIA0KKwlzdGF0dXMgPSBfY2hvb3NlX2hv b2tfZGlyIChub3RtdWNoLCBwcm9maWxlLCAmbWVzc2FnZSk7DQorCWlmIChzdGF0dXMpDQorCSAg ICBnb3RvIERPTkU7DQorDQogCXN0YXR1cyA9IF9ub3RtdWNoX2NvbmZpZ19sb2FkX2RlZmF1bHRz IChub3RtdWNoKTsNCiAJaWYgKHN0YXR1cykNCiAJICAgIGdvdG8gRE9ORTsNCmRpZmYgLS1naXQg YS9ub3RtdWNoLWNsaWVudC5oIGIvbm90bXVjaC1jbGllbnQuaA0KaW5kZXggOWUwOWMzNmEuLmY2 MGY1NDA2IDEwMDY0NA0KLS0tIGEvbm90bXVjaC1jbGllbnQuaA0KKysrIGIvbm90bXVjaC1jbGll bnQuaA0KQEAgLTMzOSw3ICszMzksNyBAQCBjb25zdCBjaGFyICoNCiBfbm90bXVjaF9jb25maWdf Z2V0X3BhdGggKG5vdG11Y2hfY29uZmlnX3QgKmNvbmZpZyk7DQogDQogaW50DQotbm90bXVjaF9y dW5faG9vayAoY29uc3QgY2hhciAqZGJfcGF0aCwgY29uc3QgY2hhciAqaG9vayk7DQorbm90bXVj aF9ydW5faG9vayAobm90bXVjaF9kYXRhYmFzZV90ICpub3RtdWNoLCBjb25zdCBjaGFyICpob29r KTsNCiANCiBib29sDQogZGVidWdnZXJfaXNfYWN0aXZlICh2b2lkKTsNCmRpZmYgLS1naXQgYS9u b3RtdWNoLWNvdW50LmMgYi9ub3RtdWNoLWNvdW50LmMNCmluZGV4IDMyMWM5MjA3Li4wNDhiMWY0 NCAxMDA2NDQNCi0tLSBhL25vdG11Y2gtY291bnQuYw0KKysrIGIvbm90bXVjaC1jb3VudC5jDQpA QCAtODAsNyArODAsNyBAQCBwcmludF9jb3VudCAobm90bXVjaF9kYXRhYmFzZV90ICpub3RtdWNo LCBjb25zdCBjaGFyICpxdWVyeV9zdHIsDQogCXJldHVybiAtMTsNCiAgICAgfQ0KIA0KLSAgICBm b3IgKDsNCisgICAgZm9yIChub3RtdWNoX2NvbmZpZ192YWx1ZXNfc3RhcnQgKGV4Y2x1ZGVfdGFn cyk7DQogCSBub3RtdWNoX2NvbmZpZ192YWx1ZXNfdmFsaWQgKGV4Y2x1ZGVfdGFncyk7DQogCSBu b3RtdWNoX2NvbmZpZ192YWx1ZXNfbW92ZV90b19uZXh0IChleGNsdWRlX3RhZ3MpKSB7DQogDQpk aWZmIC0tZ2l0IGEvbm90bXVjaC1pbnNlcnQuYyBiL25vdG11Y2gtaW5zZXJ0LmMNCmluZGV4IGU0 ODNiOTQ5Li4wZjI3MmUyZSAxMDA2NDQNCi0tLSBhL25vdG11Y2gtaW5zZXJ0LmMNCisrKyBiL25v dG11Y2gtaW5zZXJ0LmMNCkBAIC00ODEsNyArNDgxLDYgQEAgbm90bXVjaF9pbnNlcnRfY29tbWFu ZCAodW51c2VkKG5vdG11Y2hfY29uZmlnX3QgKmNvbmZpZyksbm90bXVjaF9kYXRhYmFzZV90ICpu b3QNCiAgICAgbm90bXVjaF9wcm9jZXNzX3NoYXJlZF9vcHRpb25zIChhcmd2WzBdKTsNCiANCiAN Ci0gICAgLyogWFhYIFRPRE8gcmVwbGFjZSB0aGlzIHVzZSBvZiBEQVRBQkFTRV9QQVRIIHdpdGgg c29tZXRoaW5nIHNwZWNpZmljIHRvIGhvb2tzICovDQogICAgIGRiX3BhdGggPSBub3RtdWNoX2Nv bmZpZ19nZXQgKG5vdG11Y2gsIE5PVE1VQ0hfQ09ORklHX0RBVEFCQVNFX1BBVEgpOw0KIA0KICAg ICBpZiAoISBkYl9wYXRoKQ0KQEAgLTU3MCw3ICs1NjksNyBAQCBub3RtdWNoX2luc2VydF9jb21t YW5kICh1bnVzZWQobm90bXVjaF9jb25maWdfdCAqY29uZmlnKSxub3RtdWNoX2RhdGFiYXNlX3Qg Km5vdA0KICAgICBzdGF0dXMgPSBhZGRfZmlsZSAobm90bXVjaCwgbmV3cGF0aCwgdGFnX29wcywg c3luY2hyb25pemVfZmxhZ3MsIGtlZXAsIGluZGV4aW5nX2NsaV9jaG9pY2VzLm9wdHMpOw0KIA0K ICAgICAvKiBDb21taXQgY2hhbmdlcy4gKi8NCi0gICAgY2xvc2Vfc3RhdHVzID0gbm90bXVjaF9k YXRhYmFzZV9kZXN0cm95IChub3RtdWNoKTsNCisgICAgY2xvc2Vfc3RhdHVzID0gbm90bXVjaF9k YXRhYmFzZV9jbG9zZSAobm90bXVjaCk7DQogICAgIGlmIChjbG9zZV9zdGF0dXMpIHsNCiAJLyog SG9sZCBvbiB0byB0aGUgZmlyc3QgZXJyb3IsIGlmIGFueS4gKi8NCiAJaWYgKCEgc3RhdHVzKQ0K QEAgLTU5NSw5ICs1OTQsMTEgQEAgbm90bXVjaF9pbnNlcnRfY29tbWFuZCAodW51c2VkKG5vdG11 Y2hfY29uZmlnX3QgKmNvbmZpZyksbm90bXVjaF9kYXRhYmFzZV90ICpub3QNCiANCiAgICAgaWYg KGhvb2tzICYmIHN0YXR1cyA9PSBOT1RNVUNIX1NUQVRVU19TVUNDRVNTKSB7DQogCS8qIElnbm9y ZSBob29rIGZhaWx1cmVzLiAqLw0KLQlub3RtdWNoX3J1bl9ob29rIChkYl9wYXRoLCAicG9zdC1p bnNlcnQiKTsNCisJbm90bXVjaF9ydW5faG9vayAobm90bXVjaCwgInBvc3QtaW5zZXJ0Iik7DQog ICAgIH0NCiANCisgICAgbm90bXVjaF9kYXRhYmFzZV9kZXN0cm95IChub3RtdWNoKTsNCisNCiAg ICAgdGFsbG9jX2ZyZWUgKGxvY2FsKTsNCiANCiAgICAgcmV0dXJuIHN0YXR1c190b19leGl0IChz dGF0dXMpOw0KZGlmZiAtLWdpdCBhL25vdG11Y2gtbmV3LmMgYi9ub3RtdWNoLW5ldy5jDQppbmRl eCAwZjQxNjkzOS4uMmZjMzRlMmMgMTAwNjQ0DQotLS0gYS9ub3RtdWNoLW5ldy5jDQorKysgYi9u b3RtdWNoLW5ldy5jDQpAQCAtMTE2Nyw3ICsxMTY3LDcgQEAgbm90bXVjaF9uZXdfY29tbWFuZCAo dW51c2VkKG5vdG11Y2hfY29uZmlnX3QgKmNvbmZpZyksIG5vdG11Y2hfZGF0YWJhc2VfdCAqbm90 bXUNCiAgICAgfQ0KIA0KICAgICBpZiAoaG9va3MpIHsNCi0JcmV0ID0gbm90bXVjaF9ydW5faG9v ayAoZGJfcGF0aCwgInByZS1uZXciKTsNCisJcmV0ID0gbm90bXVjaF9ydW5faG9vayAobm90bXVj aCwgInByZS1uZXciKTsNCiAJaWYgKHJldCkNCiAJICAgIHJldHVybiBFWElUX0ZBSUxVUkU7DQog ICAgIH0NCkBAIC0xMjg0LDcgKzEyODQsNyBAQCBub3RtdWNoX25ld19jb21tYW5kICh1bnVzZWQo bm90bXVjaF9jb25maWdfdCAqY29uZmlnKSwgbm90bXVjaF9kYXRhYmFzZV90ICpub3RtdQ0KICAg ICBub3RtdWNoX2RhdGFiYXNlX2Nsb3NlIChub3RtdWNoKTsNCiANCiAgICAgaWYgKGhvb2tzICYm ICEgcmV0ICYmICEgaW50ZXJydXB0ZWQpDQotCXJldCA9IG5vdG11Y2hfcnVuX2hvb2sgKGRiX3Bh dGgsICJwb3N0LW5ldyIpOw0KKwlyZXQgPSBub3RtdWNoX3J1bl9ob29rIChub3RtdWNoLCAicG9z dC1uZXciKTsNCiANCiAgICAgbm90bXVjaF9kYXRhYmFzZV9kZXN0cm95IChub3RtdWNoKTsNCiAN CmRpZmYgLS1naXQgYS90ZXN0L1QxNDAtZXhjbHVkZXMuc2ggYi90ZXN0L1QxNDAtZXhjbHVkZXMu c2gNCmluZGV4IGNlZjA3MDk1Li4wY2FjYzQxZCAxMDA3NTUNCi0tLSBhL3Rlc3QvVDE0MC1leGNs dWRlcy5zaA0KKysrIGIvdGVzdC9UMTQwLWV4Y2x1ZGVzLnNoDQpAQCAtMjg2LDYgKzI4NiwyMSBA QCB0ZXN0X2JlZ2luX3N1YnRlc3QgIkNvdW50LCBkZWZhdWx0IGV4Y2x1c2lvbjogdGFnIGluIHF1 ZXJ5ICh0aHJlYWRzKSINCiBvdXRwdXQ9JChub3RtdWNoIGNvdW50IC0tb3V0cHV0PXRocmVhZHMg dGFnOnRlc3QgYW5kIHRhZzpkZWxldGVkKQ0KIHRlc3RfZXhwZWN0X2VxdWFsICIkb3V0cHV0IiAi MyINCiANCit0ZXN0X2JlZ2luX3N1YnRlc3QgIkNvdW50LCBkZWZhdWx0IGV4Y2x1c2lvbiwgYmF0 Y2giDQorbm90bXVjaCBjb3VudCAgLS1iYXRjaCAtLW91dHB1dD1tZXNzYWdlczw8RU9GID4gT1VU UFVUDQordGFnOnRlc3QNCit0YWc6dGVzdCBhbmQgdGFnOmRlbGV0ZWQNCit0YWc6dGVzdA0KK3Rh Zzp0ZXN0IGFuZCB0YWc6ZGVsZXRlZA0KK0VPRg0KK2NhdCA8PEVPRiA+RVhQRUNURUQNCisyDQor NA0KKzINCis0DQorRU9GDQordGVzdF9leHBlY3RfZXF1YWxfZmlsZSBFWFBFQ1RFRCBPVVRQVVQN CisNCiB0ZXN0X2JlZ2luX3N1YnRlc3QgIkNvdW50LCBleGNsdWRlPXRydWU6IHRhZyBpbiBxdWVy eSAobWVzc2FnZXMpIg0KIG91dHB1dD0kKG5vdG11Y2ggY291bnQgLS1leGNsdWRlPXRydWUgdGFn OnRlc3QgYW5kIHRhZzpkZWxldGVkKQ0KIHRlc3RfZXhwZWN0X2VxdWFsICIkb3V0cHV0IiAiNCIN CmRpZmYgLS1naXQgYS90ZXN0L1Q0MDAtaG9va3Muc2ggYi90ZXN0L1Q0MDAtaG9va3Muc2gNCmlu ZGV4IDQ5YzY5MGViLi5iOTg5NDg1MyAxMDA3NTUNCi0tLSBhL3Rlc3QvVDQwMC1ob29rcy5zaA0K KysrIGIvdGVzdC9UNDAwLWhvb2tzLnNoDQpAQCAtMiw4ICsyLDYgQEANCiB0ZXN0X2Rlc2NyaXB0 aW9uPSdob29rcycNCiAuICQoZGlybmFtZSAiJDAiKS90ZXN0LWxpYi5zaCB8fCBleGl0IDENCiAN Ci1IT09LX0RJUj0ke01BSUxfRElSfS8ubm90bXVjaC9ob29rcw0KLQ0KIGNyZWF0ZV9lY2hvX2hv b2sgKCkgew0KICAgICBsb2NhbCBUT0tFTj0iJHtSQU5ET019Ig0KICAgICBta2RpciAtcCAke0hP T0tfRElSfQ0KQEAgLTE2LDYgKzE0LDcgQEAgRU9GDQogfQ0KIA0KIGNyZWF0ZV9mYWlsaW5nX2hv b2sgKCkgew0KKyAgICBsb2NhbCBIT09LX0RJUj0kezJ9DQogICAgIG1rZGlyIC1wICR7SE9PS19E SVJ9DQogICAgIGNhdCA8PEVPRiA+IiR7SE9PS19ESVJ9LyR7MX0iDQogIyEvYmluL3NoDQpAQCAt MjQsOTggKzIzLDEyMCBAQCBFT0YNCiAgICAgY2htb2QgK3ggIiR7SE9PS19ESVJ9LyR7MX0iDQog fQ0KIA0KLXJtX2hvb2tzICgpIHsNCi0gICAgcm0gLXJmICR7SE9PS19ESVJ9DQotfQ0KLQ0KICMg YWRkIGEgbWVzc2FnZSB0byBnZW5lcmF0ZSBtYWlsIGRpciBhbmQgZGF0YWJhc2UNCiBhZGRfbWVz c2FnZQ0KICMgY3JlYXRlIG1haWxkaXIgc3RydWN0dXJlIGZvciBub3RtdWNoLWluc2VydA0KIG1r ZGlyIC1wICIkTUFJTF9ESVIiL3tjdXIsbmV3LHRtcH0NCiANCi10ZXN0X2JlZ2luX3N1YnRlc3Qg InByZS1uZXcgaXMgcnVuIg0KLXJtX2hvb2tzDQotZ2VuZXJhdGVfbWVzc2FnZQ0KLWNyZWF0ZV9l Y2hvX2hvb2sgInByZS1uZXciIGV4cGVjdGVkIG91dHB1dA0KLW5vdG11Y2ggbmV3ID4gL2Rldi9u dWxsDQotdGVzdF9leHBlY3RfZXF1YWxfZmlsZSBleHBlY3RlZCBvdXRwdXQNCi0NCi10ZXN0X2Jl Z2luX3N1YnRlc3QgInBvc3QtbmV3IGlzIHJ1biINCi1ybV9ob29rcw0KLWdlbmVyYXRlX21lc3Nh Z2UNCi1jcmVhdGVfZWNob19ob29rICJwb3N0LW5ldyIgZXhwZWN0ZWQgb3V0cHV0DQotbm90bXVj aCBuZXcgPiAvZGV2L251bGwNCi10ZXN0X2V4cGVjdF9lcXVhbF9maWxlIGV4cGVjdGVkIG91dHB1 dA0KLQ0KLXRlc3RfYmVnaW5fc3VidGVzdCAicG9zdC1pbnNlcnQgaG9vayBpcyBydW4iDQotcm1f aG9va3MNCi1nZW5lcmF0ZV9tZXNzYWdlDQotY3JlYXRlX2VjaG9faG9vayAicG9zdC1pbnNlcnQi IGV4cGVjdGVkIG91dHB1dA0KLW5vdG11Y2ggaW5zZXJ0IDwgIiRnZW5fbXNnX2ZpbGVuYW1lIg0K LXRlc3RfZXhwZWN0X2VxdWFsX2ZpbGUgZXhwZWN0ZWQgb3V0cHV0DQotDQotdGVzdF9iZWdpbl9z dWJ0ZXN0ICJwcmUtbmV3IGlzIHJ1biBiZWZvcmUgcG9zdC1uZXciDQotcm1faG9va3MNCi1nZW5l cmF0ZV9tZXNzYWdlDQotY3JlYXRlX2VjaG9faG9vayAicHJlLW5ldyIgcHJlLW5ldy5leHBlY3Rl ZCBwcmUtbmV3Lm91dHB1dA0KLWNyZWF0ZV9lY2hvX2hvb2sgInBvc3QtbmV3IiBwb3N0LW5ldy5l eHBlY3RlZCBwb3N0LW5ldy5vdXRwdXQNCi1ub3RtdWNoIG5ldyA+IC9kZXYvbnVsbA0KLXRlc3Rf ZXhwZWN0X2VxdWFsX2ZpbGUgcG9zdC1uZXcuZXhwZWN0ZWQgcG9zdC1uZXcub3V0cHV0DQotDQot dGVzdF9iZWdpbl9zdWJ0ZXN0ICJwcmUtbmV3IG5vbi16ZXJvIGV4aXQgc3RhdHVzIChob29rIHN0 YXR1cykiDQotcm1faG9va3MNCi1nZW5lcmF0ZV9tZXNzYWdlDQotY3JlYXRlX2ZhaWxpbmdfaG9v ayAicHJlLW5ldyINCi1vdXRwdXQ9YG5vdG11Y2ggbmV3IDI+JjFgDQotdGVzdF9leHBlY3RfZXF1 YWwgIiRvdXRwdXQiICJFcnJvcjogcHJlLW5ldyBob29rIGZhaWxlZCB3aXRoIHN0YXR1cyAxMyIN Ci0NCi0jIGRlcGVuZHMgb24gdGhlIHByZXZpb3VzIHN1YnRlc3QgbGVhdmluZyBicm9rZW4gaG9v ayBiZWhpbmQNCi10ZXN0X2JlZ2luX3N1YnRlc3QgInByZS1uZXcgbm9uLXplcm8gZXhpdCBzdGF0 dXMgKG5vdG11Y2ggc3RhdHVzKSINCi10ZXN0X2V4cGVjdF9jb2RlIDEgIm5vdG11Y2ggbmV3Ig0K LQ0KLSMgZGVwZW5kcyBvbiB0aGUgcHJldmlvdXMgc3VidGVzdHMgbGVhdmluZyAxIG5ldyBtZXNz YWdlIGJlaGluZA0KLXRlc3RfYmVnaW5fc3VidGVzdCAicHJlLW5ldyBub24temVybyBleGl0IHN0 YXR1cyBhYm9ydHMgbmV3Ig0KLXJtX2hvb2tzDQotb3V0cHV0PSQoTk9UTVVDSF9ORVcpDQotdGVz dF9leHBlY3RfZXF1YWwgIiRvdXRwdXQiICJBZGRlZCAxIG5ldyBtZXNzYWdlIHRvIHRoZSBkYXRh YmFzZS4iDQotDQotdGVzdF9iZWdpbl9zdWJ0ZXN0ICJwb3N0LW5ldyBub24temVybyBleGl0IHN0 YXR1cyAoaG9vayBzdGF0dXMpIg0KLXJtX2hvb2tzDQotZ2VuZXJhdGVfbWVzc2FnZQ0KLWNyZWF0 ZV9mYWlsaW5nX2hvb2sgInBvc3QtbmV3Ig0KLU5PVE1VQ0hfTkVXIDI+b3V0cHV0LnN0ZGVyciA+ b3V0cHV0DQotY2F0IG91dHB1dC5zdGRlcnIgPj4gb3V0cHV0DQotZWNobyAiQWRkZWQgMSBuZXcg bWVzc2FnZSB0byB0aGUgZGF0YWJhc2UuIiA+IGV4cGVjdGVkDQotZWNobyAiRXJyb3I6IHBvc3Qt bmV3IGhvb2sgZmFpbGVkIHdpdGggc3RhdHVzIDEzIiA+PiBleHBlY3RlZA0KLXRlc3RfZXhwZWN0 X2VxdWFsX2ZpbGUgZXhwZWN0ZWQgb3V0cHV0DQotDQotIyBkZXBlbmRzIG9uIHRoZSBwcmV2aW91 cyBzdWJ0ZXN0IGxlYXZpbmcgYnJva2VuIGhvb2sgYmVoaW5kDQotdGVzdF9iZWdpbl9zdWJ0ZXN0 ICJwb3N0LW5ldyBub24temVybyBleGl0IHN0YXR1cyAobm90bXVjaCBzdGF0dXMpIg0KLXRlc3Rf ZXhwZWN0X2NvZGUgMSAibm90bXVjaCBuZXciDQotDQotdGVzdF9iZWdpbl9zdWJ0ZXN0ICJwb3N0 LWluc2VydCBob29rIGRvZXMgbm90IGFmZmVjdCBpbnNlcnQgc3RhdHVzIg0KLXJtX2hvb2tzDQot Z2VuZXJhdGVfbWVzc2FnZQ0KLWNyZWF0ZV9mYWlsaW5nX2hvb2sgInBvc3QtaW5zZXJ0Ig0KLXRl c3RfZXhwZWN0X3N1Y2Nlc3MgIm5vdG11Y2ggaW5zZXJ0IDwgXCIkZ2VuX21zZ19maWxlbmFtZVwi ID4gL2Rldi9udWxsIg0KLQ0KLXRlc3RfYmVnaW5fc3VidGVzdCAiaG9vayB3aXRob3V0IGV4ZWN1 dGFibGUgcGVybWlzc2lvbnMiDQotcm1faG9va3MNCi1ta2RpciAtcCAke0hPT0tfRElSfQ0KLWNh dCA8PEVPRiA+IiR7SE9PS19ESVJ9L3ByZS1uZXciDQotIyEvYmluL3NoDQotZWNobyBmb28NCitm b3IgY29uZmlnIGluIHRyYWRpdGlvbmFsIHByb2ZpbGUgZXhwbGljaXQgWERHOyBkbw0KKyAgICB1 bnNldCBOT1RNVUNIX1BST0ZJTEUNCisgICAgbm90bXVjaCBjb25maWcgc2V0IGRhdGFiYXNlLmhv b2tfZGlyDQorICAgIGNhc2UgJGNvbmZpZyBpbg0KKwl0cmFkaXRpb25hbCkNCisJICAgIEhPT0tf RElSPSR7TUFJTF9ESVJ9Ly5ub3RtdWNoL2hvb2tzDQorCSAgICA7Ow0KKwlwcm9maWxlKQ0KKwkg ICAgZGlyPSR7SE9NRX0vLmNvbmZpZy9ub3RtdWNoL290aGVyDQorCSAgICBta2RpciAtcCAke2Rp cn0NCisJICAgIEhPT0tfRElSPSR7ZGlyfS9ob29rcw0KKwkgICAgY3AgJHtOT1RNVUNIX0NPTkZJ R30gJHtkaXJ9L2NvbmZpZw0KKwkgICAgZXhwb3J0IE5PVE1VQ0hfUFJPRklMRT1vdGhlcg0KKwkg ICAgOzsNCisJZXhwbGljaXQpDQorCSAgICBIT09LX0RJUj0ke0hPTUV9Ly5ub3RtdWNoLWhvb2tz DQorCSAgICBta2RpciAtcCAkSE9PS19ESVINCisJICAgIG5vdG11Y2ggY29uZmlnIHNldCBkYXRh YmFzZS5ob29rX2RpciAkSE9PS19ESVINCisJICAgIDs7DQorCSopDQorCSAgICBIT09LX0RJUj0k e0hPTUV9Ly5jb25maWcvbm90bXVjaC9kZWZhdWx0L2hvb2tzDQorCSAgICA7Ow0KKyAgICBlc2Fj DQorDQorICAgIHRlc3RfYmVnaW5fc3VidGVzdCAicHJlLW5ldyBpcyBydW4gWyR7Y29uZmlnfV0i DQorICAgIHJtIC1yZiAke0hPT0tfRElSfQ0KKyAgICBnZW5lcmF0ZV9tZXNzYWdlDQorICAgIGNy ZWF0ZV9lY2hvX2hvb2sgInByZS1uZXciIGV4cGVjdGVkIG91dHB1dCAkSE9PS19ESVINCisgICAg bm90bXVjaCBuZXcgPiAvZGV2L251bGwNCisgICAgdGVzdF9leHBlY3RfZXF1YWxfZmlsZSBleHBl Y3RlZCBvdXRwdXQNCisNCisgICAgdGVzdF9iZWdpbl9zdWJ0ZXN0ICJwb3N0LW5ldyBpcyBydW4g WyR7Y29uZmlnfV0iDQorICAgIHJtIC1yZiAke0hPT0tfRElSfQ0KKyAgICBnZW5lcmF0ZV9tZXNz YWdlDQorICAgIGNyZWF0ZV9lY2hvX2hvb2sgInBvc3QtbmV3IiBleHBlY3RlZCBvdXRwdXQgJEhP T0tfRElSDQorICAgIG5vdG11Y2ggbmV3ID4gL2Rldi9udWxsDQorICAgIHRlc3RfZXhwZWN0X2Vx dWFsX2ZpbGUgZXhwZWN0ZWQgb3V0cHV0DQorDQorICAgIHRlc3RfYmVnaW5fc3VidGVzdCAicG9z dC1pbnNlcnQgaG9vayBpcyBydW4gWyR7Y29uZmlnfV0iDQorICAgIHJtIC1yZiAke0hPT0tfRElS fQ0KKyAgICBnZW5lcmF0ZV9tZXNzYWdlDQorICAgIGNyZWF0ZV9lY2hvX2hvb2sgInBvc3QtaW5z ZXJ0IiBleHBlY3RlZCBvdXRwdXQgJEhPT0tfRElSDQorICAgIG5vdG11Y2ggaW5zZXJ0IDwgIiRn ZW5fbXNnX2ZpbGVuYW1lIg0KKyAgICB0ZXN0X2V4cGVjdF9lcXVhbF9maWxlIGV4cGVjdGVkIG91 dHB1dA0KKw0KKyAgICB0ZXN0X2JlZ2luX3N1YnRlc3QgInByZS1uZXcgaXMgcnVuIGJlZm9yZSBw b3N0LW5ldyBbJHtjb25maWd9XSINCisgICAgcm0gLXJmICR7SE9PS19ESVJ9DQorICAgIGdlbmVy YXRlX21lc3NhZ2UNCisgICAgY3JlYXRlX2VjaG9faG9vayAicHJlLW5ldyIgcHJlLW5ldy5leHBl Y3RlZCBwcmUtbmV3Lm91dHB1dCAkSE9PS19ESVINCisgICAgY3JlYXRlX2VjaG9faG9vayAicG9z dC1uZXciIHBvc3QtbmV3LmV4cGVjdGVkIHBvc3QtbmV3Lm91dHB1dCAkSE9PS19ESVINCisgICAg bm90bXVjaCBuZXcgPiAvZGV2L251bGwNCisgICAgdGVzdF9leHBlY3RfZXF1YWxfZmlsZSBwb3N0 LW5ldy5leHBlY3RlZCBwb3N0LW5ldy5vdXRwdXQNCisNCisgICAgdGVzdF9iZWdpbl9zdWJ0ZXN0 ICJwcmUtbmV3IG5vbi16ZXJvIGV4aXQgc3RhdHVzIChob29rIHN0YXR1cykgWyR7Y29uZmlnfV0i DQorICAgIHJtIC1yZiAke0hPT0tfRElSfQ0KKyAgICBnZW5lcmF0ZV9tZXNzYWdlDQorICAgIGNy ZWF0ZV9mYWlsaW5nX2hvb2sgInByZS1uZXciICRIT09LX0RJUg0KKyAgICBvdXRwdXQ9YG5vdG11 Y2ggbmV3IDI+JjFgDQorICAgIHRlc3RfZXhwZWN0X2VxdWFsICIkb3V0cHV0IiAiRXJyb3I6IHBy ZS1uZXcgaG9vayBmYWlsZWQgd2l0aCBzdGF0dXMgMTMiDQorDQorICAgICMgZGVwZW5kcyBvbiB0 aGUgcHJldmlvdXMgc3VidGVzdCBsZWF2aW5nIGJyb2tlbiBob29rIGJlaGluZA0KKyAgICB0ZXN0 X2JlZ2luX3N1YnRlc3QgInByZS1uZXcgbm9uLXplcm8gZXhpdCBzdGF0dXMgKG5vdG11Y2ggc3Rh dHVzKSBbJHtjb25maWd9XSINCisgICAgdGVzdF9leHBlY3RfY29kZSAxICJub3RtdWNoIG5ldyIN CisNCisgICAgIyBkZXBlbmRzIG9uIHRoZSBwcmV2aW91cyBzdWJ0ZXN0cyBsZWF2aW5nIDEgbmV3 IG1lc3NhZ2UgYmVoaW5kDQorICAgIHRlc3RfYmVnaW5fc3VidGVzdCAicHJlLW5ldyBub24temVy byBleGl0IHN0YXR1cyBhYm9ydHMgbmV3IFske2NvbmZpZ31dIg0KKyAgICBybSAtcmYgJHtIT09L X0RJUn0NCisgICAgb3V0cHV0PSQoTk9UTVVDSF9ORVcpDQorICAgIHRlc3RfZXhwZWN0X2VxdWFs ICIkb3V0cHV0IiAiQWRkZWQgMSBuZXcgbWVzc2FnZSB0byB0aGUgZGF0YWJhc2UuIg0KKw0KKyAg ICB0ZXN0X2JlZ2luX3N1YnRlc3QgInBvc3QtbmV3IG5vbi16ZXJvIGV4aXQgc3RhdHVzIChob29r IHN0YXR1cykgWyR7Y29uZmlnfV0iDQorICAgIHJtIC1yZiAke0hPT0tfRElSfQ0KKyAgICBnZW5l cmF0ZV9tZXNzYWdlDQorICAgIGNyZWF0ZV9mYWlsaW5nX2hvb2sgInBvc3QtbmV3IiAkSE9PS19E SVINCisgICAgTk9UTVVDSF9ORVcgMj5vdXRwdXQuc3RkZXJyID5vdXRwdXQNCisgICAgY2F0IG91 dHB1dC5zdGRlcnIgPj4gb3V0cHV0DQorICAgIGVjaG8gIkFkZGVkIDEgbmV3IG1lc3NhZ2UgdG8g dGhlIGRhdGFiYXNlLiIgPiBleHBlY3RlZA0KKyAgICBlY2hvICJFcnJvcjogcG9zdC1uZXcgaG9v ayBmYWlsZWQgd2l0aCBzdGF0dXMgMTMiID4+IGV4cGVjdGVkDQorICAgIHRlc3RfZXhwZWN0X2Vx dWFsX2ZpbGUgZXhwZWN0ZWQgb3V0cHV0DQorDQorICAgICMgZGVwZW5kcyBvbiB0aGUgcHJldmlv dXMgc3VidGVzdCBsZWF2aW5nIGJyb2tlbiBob29rIGJlaGluZA0KKyAgICB0ZXN0X2JlZ2luX3N1 YnRlc3QgInBvc3QtbmV3IG5vbi16ZXJvIGV4aXQgc3RhdHVzIChub3RtdWNoIHN0YXR1cykgWyR7 Y29uZmlnfV0iDQorICAgIHRlc3RfZXhwZWN0X2NvZGUgMSAibm90bXVjaCBuZXciDQorDQorICAg IHRlc3RfYmVnaW5fc3VidGVzdCAicG9zdC1pbnNlcnQgaG9vayBkb2VzIG5vdCBhZmZlY3QgaW5z ZXJ0IHN0YXR1cyBbJHtjb25maWd9XSINCisgICAgcm0gLXJmICR7SE9PS19ESVJ9DQorICAgIGdl bmVyYXRlX21lc3NhZ2UNCisgICAgY3JlYXRlX2ZhaWxpbmdfaG9vayAicG9zdC1pbnNlcnQiICRI T09LX0RJUg0KKyAgICB0ZXN0X2V4cGVjdF9zdWNjZXNzICJub3RtdWNoIGluc2VydCA8IFwiJGdl bl9tc2dfZmlsZW5hbWVcIiA+IC9kZXYvbnVsbCINCisNCisgICAgdGVzdF9iZWdpbl9zdWJ0ZXN0 ICJob29rIHdpdGhvdXQgZXhlY3V0YWJsZSBwZXJtaXNzaW9ucyBbJHtjb25maWd9XSINCisgICAg cm0gLXJmICR7SE9PS19ESVJ9DQorICAgIG1rZGlyIC1wICR7SE9PS19ESVJ9DQorICAgIGNhdCA8 PEVPRiA+IiR7SE9PS19ESVJ9L3ByZS1uZXciDQorICAgICMhL2Jpbi9zaA0KKyAgICBlY2hvIGZv bw0KIEVPRg0KLW91dHB1dD1gbm90bXVjaCBuZXcgMj4mMWANCi10ZXN0X2V4cGVjdF9jb2RlIDEg Im5vdG11Y2ggbmV3Ig0KLQ0KLXRlc3RfYmVnaW5fc3VidGVzdCAiaG9vayBleGVjdXRpb24gZmFp bHVyZSINCi1ybV9ob29rcw0KLW1rZGlyIC1wICR7SE9PS19ESVJ9DQotY2F0IDw8RU9GID4iJHtI T09LX0RJUn0vcHJlLW5ldyINCi1ubyBoYXNoYmFuZywgZXhlY2wgZmFpbHMNCisgICAgb3V0cHV0 PWBub3RtdWNoIG5ldyAyPiYxYA0KKyAgICB0ZXN0X2V4cGVjdF9jb2RlIDEgIm5vdG11Y2ggbmV3 Ig0KKw0KKyAgICB0ZXN0X2JlZ2luX3N1YnRlc3QgImhvb2sgZXhlY3V0aW9uIGZhaWx1cmUgWyR7 Y29uZmlnfV0iDQorICAgIHJtIC1yZiAke0hPT0tfRElSfQ0KKyAgICBta2RpciAtcCAke0hPT0tf RElSfQ0KKyAgICBjYXQgPDxFT0YgPiIke0hPT0tfRElSfS9wcmUtbmV3Ig0KKyAgICBubyBoYXNo YmFuZywgZXhlY2wgZmFpbHMNCiBFT0YNCi1jaG1vZCAreCAiJHtIT09LX0RJUn0vcHJlLW5ldyIN Ci10ZXN0X2V4cGVjdF9jb2RlIDEgIm5vdG11Y2ggbmV3Ig0KKyAgICBjaG1vZCAreCAiJHtIT09L X0RJUn0vcHJlLW5ldyINCisgICAgdGVzdF9leHBlY3RfY29kZSAxICJub3RtdWNoIG5ldyINCiAN CisgICAgcm0gLXJmICR7SE9PS19ESVJ9DQorZG9uZQ0KIHRlc3RfZG9uZQ0KZGlmZiAtLWdpdCBh L3Rlc3QvVDU5MC1saWJjb25maWcuc2ggYi90ZXN0L1Q1OTAtbGliY29uZmlnLnNoDQppbmRleCA5 N2Y4ZmRjNy4uYzc4ZWQyMDQgMTAwNzU1DQotLS0gYS90ZXN0L1Q1OTAtbGliY29uZmlnLnNoDQor KysgYi90ZXN0L1Q1OTAtbGliY29uZmlnLnNoDQpAQCAtMjAxLDYgKzIwMSwzNyBAQCBFT0YNCiB0 ZXN0X2V4cGVjdF9lcXVhbF9maWxlIEVYUEVDVEVEIE9VVFBVVA0KIHJlc3RvcmVfZGF0YWJhc2UN CiANCit0ZXN0X2JlZ2luX3N1YnRlc3QgIk5PVE1VQ0hfQ09ORklHX0hPT0tfRElSOiB0cmFkaXRp b25hbCINCitjYXQgY19oZWFkIC0gY190YWlsIDw8J0VPRicgfCB0ZXN0X0MgJHtNQUlMX0RJUn0g JHtOT1RNVUNIX0NPTkZJR30gJU5VTEwlDQorew0KKyAgIGNvbnN0IGNoYXIgKnZhbCA9IG5vdG11 Y2hfY29uZmlnX2dldCAoZGIsIE5PVE1VQ0hfQ09ORklHX0hPT0tfRElSKTsNCisgICBwcmludGYo ImRhdGFiYXNlLmhvb2tfZGlyID0gJXNcbiIsIHZhbCk7DQorfQ0KK0VPRg0KK2NhdCA8PCdFT0Yn ID5FWFBFQ1RFRA0KKz09IHN0ZG91dCA9PQ0KK2RhdGFiYXNlLmhvb2tfZGlyID0gTUFJTF9ESVIv Lm5vdG11Y2gvaG9va3MNCis9PSBzdGRlcnIgPT0NCitFT0YNCit0ZXN0X2V4cGVjdF9lcXVhbF9m aWxlIEVYUEVDVEVEIE9VVFBVVA0KKw0KK3Rlc3RfYmVnaW5fc3VidGVzdCAiTk9UTVVDSF9DT05G SUdfSE9PS19ESVI6IHhkZyINCitkaXI9IiR7SE9NRX0vLmNvbmZpZy9ub3RtdWNoL2RlZmF1bHQv aG9va3MiDQorbWtkaXIgLXAgJGRpcg0KK2NhdCBjX2hlYWQgLSBjX3RhaWwgPDwnRU9GJyB8IHRl c3RfQyAke01BSUxfRElSfSAke05PVE1VQ0hfQ09ORklHfSAlTlVMTCUNCit7DQorICAgY29uc3Qg Y2hhciAqdmFsID0gbm90bXVjaF9jb25maWdfZ2V0IChkYiwgTk9UTVVDSF9DT05GSUdfSE9PS19E SVIpOw0KKyAgIHByaW50ZigiZGF0YWJhc2UuaG9va19kaXIgPSAlc1xuIiwgdmFsKTsNCit9DQor RU9GDQorY2F0IDw8J0VPRicgPkVYUEVDVEVEDQorPT0gc3Rkb3V0ID09DQorZGF0YWJhc2UuaG9v a19kaXIgPSBDV0QvaG9tZS8uY29uZmlnL25vdG11Y2gvZGVmYXVsdC9ob29rcw0KKz09IHN0ZGVy ciA9PQ0KK0VPRg0KK3JtZGlyICRkaXINCit0ZXN0X2V4cGVjdF9lcXVhbF9maWxlIEVYUEVDVEVE IE9VVFBVVA0KKw0KIHRlc3RfYmVnaW5fc3VidGVzdCAibm90bXVjaF9jb25maWdfZ2V0X3ZhbHVl cyINCiBjYXQgY19oZWFkIC0gY190YWlsIDw8J0VPRicgfCB0ZXN0X0MgJHtNQUlMX0RJUn0gJHtO T1RNVUNIX0NPTkZJR30gJU5VTEwlDQogew0KQEAgLTMzMyw2ICszNjQsNyBAQCBFT0YNCiBjYXQg PDwnRU9GJyA+RVhQRUNURUQNCiA9PSBzdGRvdXQgPT0NCiBNQUlMX0RJUg0KK01BSUxfRElSLy5u b3RtdWNoL2hvb2tzDQogDQogaW5ib3g7dW5yZWFkDQogTlVMTA0KZGlmZiAtLWdpdCBhL3Rlc3Qv VDc1MC1nemlwLnNoIGIvdGVzdC9UNzUwLWd6aXAuc2gNCmluZGV4IDgwNzA4NmZkLi43ZDU1MGU2 NiAxMDA3NTUNCi0tLSBhL3Rlc3QvVDc1MC1nemlwLnNoDQorKysgYi90ZXN0L1Q3NTAtZ3ppcC5z aA0KQEAgLTE3MSw3ICsxNzEsNyBAQCB0ZXN0X2V4cGVjdF9lcXVhbF9maWxlIEVYUEVDVEVEIE9V VFBVVA0KIGFkZF9lbWFpbF9jb3JwdXMgbGttbA0KIHRlc3RfYmVnaW5fc3VidGVzdCAibmV3IGRv ZXNuJ3QgcnVuIG91dCBvZiBmaWxlIGRlc2NyaXB0b3JzIHdpdGggbWFueSBnemlwcGVkIGZpbGVz Ig0KIHVsaW1pdCAtbiAyMDANCi1maW5kICR7TUFJTF9ESVJ9IC1uYW1lIC5ub3RtdWNoIC1wcnVu ZSAtZmFsc2UgLW8gIC10eXBlIGYgIC1leGVjIGd6aXAgLS1yZWN1cnNpdmUge30gXDsNCitmaW5k ICR7TUFJTF9ESVJ9IC1uYW1lIC5ub3RtdWNoIC1wcnVuZSAtbyAgLXR5cGUgZiAtcHJpbnQwIHwg eGFyZ3MgLTAgZ3ppcCAtLQ0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgIm5vdG11Y2ggbmV3Ig0KIA0K IHRlc3RfZG9uZQ0KZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdC1saWIuZWwgYi90ZXN0L3Rlc3QtbGli LmVsDQppbmRleCBlYzE2YzU5Yy4uNGRlNWIyOTIgMTAwNjQ0DQotLS0gYS90ZXN0L3Rlc3QtbGli LmVsDQorKysgYi90ZXN0L3Rlc3QtbGliLmVsDQpAQCAtMSw0ICsxLDQgQEANCi07OyB0ZXN0LWxp Yi5lbCAtLS0gYXV4aWxpYXJ5IHN0dWZmIGZvciBOb3RtdWNoIEVtYWNzIHRlc3RzLg0KKzs7OyB0 ZXN0LWxpYi5lbCAtLS0gYXV4aWxpYXJ5IHN0dWZmIGZvciBOb3RtdWNoIEVtYWNzIHRlc3RzDQog OzsNCiA7OyBDb3B5cmlnaHQgwqkgQ2FybCBXb3J0aA0KIDs7IENvcHlyaWdodCDCqSBEYXZpZCBF ZG1vbmRzb24NCkBAIC0yMCw2ICsyMCw4IEBADQogOzsNCiA7OyBBdXRob3JzOiBEbWl0cnkgS3Vy b2Noa2luIDxkbWl0cnkua3Vyb2Noa2luQGdtYWlsLmNvbT4NCiANCis7OzsgQ29kZToNCisNCiAo cmVxdWlyZSAnY2wtbGliKQ0KIA0KIDs7IEVuc3VyZSB0aGF0IHRoZSBkeW5hbWljIHZhcmlhYmxl cyB0aGF0IGFyZSBkZWZpbmVkIGJ5IHRoaXMgbGlicmFyeQ0=