From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id 2KJsJx55VWVgQQEAG6o9tA:P1 (envelope-from ) for ; Thu, 16 Nov 2023 03:06:22 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id 2KJsJx55VWVgQQEAG6o9tA (envelope-from ) for ; Thu, 16 Nov 2023 03:06:22 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 29D2A5D24B for ; Thu, 16 Nov 2023 03:06:22 +0100 (CET) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=dZI2irNR; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1700100382; a=rsa-sha256; cv=none; b=Emz7OsFxwC04u04LK2AO7gfWuoZJHBtB15NRr3L0aY3ES4kyjhLRDwCvG0pqcpA3LXQNfp YO9IvCO1ksteF43UbwasclC7hWWloxXkoS6aovB2zF1ikIqrtpz/KccC6c5y69trldxY2T JO+TU6QtW8qxxE+UnnZyeJwady3rOydprnQKb5XPHk9EaJ9rZ9RhxQQNO/sZo3Amp3nkUU g/aG2kJlPVBPqNrL+nDF/uTjCqn+WR3Je9tRTN2nhQAJ7bmuct4CrACf62j7v9T+uEg/G6 mfn0vuXFUZn6Qox2jSRuOSfCr8PDnvRq7Seg8gbpE/XBAa80rsCsSLQ7drzZvA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=dZI2irNR; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1700100382; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=+RssVhF8ciixtEVryPH7f6SIRiccUcIbgXqZqJukB0g=; b=TZhArhHxAKKV46EcvS6KpKWtB70LDqTtcXCJ8HsIFkmHOfPpv5S8rZy/SN+uR+E/iyP1eR EhePaBukYEb0O55c2s0z5lvCm9sJ2DLD9dZaxLT0TejfYbflnRX1tDefrzzbMeE3MtD5O6 YA61Z9PPlHnVjP9qF87WFgt/iqDhpxCl70K60PVkFUpClTVPgFoBr4yE39/ktSrN9x89xJ Hq/cKiAaAFjtxkECUNDwBO2CZfXjxPUuuVmSs/0Ud75e8lZGa4lxcmtZruzAD/DV7AX4gA Xfk68BKQ2lHMBwjJZJ52SSl74sJcIYEzTamQxZPJzs0sq63+3V4NS7VhkYYb0w== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r3Rld-00022D-3q; Wed, 15 Nov 2023 21:06:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r3Rlb-000222-DQ for guix-patches@gnu.org; Wed, 15 Nov 2023 21:06:03 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r3Rlb-0004tG-3t for guix-patches@gnu.org; Wed, 15 Nov 2023 21:06:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1r3Rla-0001Iq-2W for guix-patches@gnu.org; Wed, 15 Nov 2023 21:06:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#66801] [PATCH v3 01/14] build-system: Add mix-build-system. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 16 Nov 2023 02:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66801 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Pierre-Henry =?UTF-8?Q?Fr=C3=B6hring?= , 66801@debbugs.gnu.org Received: via spool by 66801-submit@debbugs.gnu.org id=B66801.17001003454983 (code B ref 66801); Thu, 16 Nov 2023 02:06:02 +0000 Received: (at 66801) by debbugs.gnu.org; 16 Nov 2023 02:05:45 +0000 Received: from localhost ([127.0.0.1]:54250 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3RlH-0001IH-Px for submit@debbugs.gnu.org; Wed, 15 Nov 2023 21:05:44 -0500 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:51350) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3RlB-0001Hz-Pl for 66801@debbugs.gnu.org; Wed, 15 Nov 2023 21:05:41 -0500 Received: by mail-wm1-x343.google.com with SMTP id 5b1f17b1804b1-4094301d505so1947015e9.2 for <66801@debbugs.gnu.org>; Wed, 15 Nov 2023 18:05:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700100332; x=1700705132; darn=debbugs.gnu.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=+RssVhF8ciixtEVryPH7f6SIRiccUcIbgXqZqJukB0g=; b=dZI2irNRky5Q50aXdWNSL6nYixDx2Gx9LIqq3/kdMRzbWBQrM0NTYwlrjmVXQaCaqZ XfXpwLgGBTucBW9BMpn45RIB4eBSlT/PIKzhKxjuPw3mfAdhbRY4MoGHu8aLOQohBrhz UiXMhnviYBdXmoGnH+axePLd+Bxp9UmoasTD5Hb4QxYT2BazVFcE/ss8YsgiCNYTu2Yv mvcf+zY/XFPlO032qbcTNtwQrjqWRHtyRkdVLHpwttOBJ3cfj56mqIrjIpI0reh9PVJt htTj2KH+LD5WMpxjnargrjtp01mMhV3flV7X4Th/yNtiL2W+M0zJC02C7Vbi3jtJhL25 bS9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700100332; x=1700705132; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=+RssVhF8ciixtEVryPH7f6SIRiccUcIbgXqZqJukB0g=; b=rJ9+rxoidg0xOqMRzRjIaNBLopO6pGUIOaip5R4ZELwMBzmuiwtUwkCs18DX7D4weo lVVP+GYd1uW7nC2leQjGdV3e+9HjSzjxdS49CzIM7qVCxuV+7Pl8F0ZF2j1BfcposAgj Ha4YggbuVN/RDI5RLHT33Gb7R9zpAwC9NcYyki+6n1ykm14CLNwhK/5iOib0uQ3L2BNO +WzK7UwChsyxu2ZyXr4KDLzGtCMJGDAcfuALnDkj3UpKE+iZnKwncNILBCUXb72Annb1 4raGeEbS+M60p2Lch8jpQw0NWYunh2KW3I6ZK7DC3/3f/rmFh3wZdnBSmo9BCsmfQ1jp yt4g== X-Gm-Message-State: AOJu0Yxf5hvs5ITXKJ+B9Up2Q5JLeMIj9uyydGqKYStPYJqEOJxM7tet aqfraFucgG83nEBoCE9ZHQE= X-Google-Smtp-Source: AGHT+IGaFI26ibuXdjT82srKBanFkIDDQ/cmxWrv+AgIQYwXIaareeYzcX3i5OBKV5WRkEE27SuK0w== X-Received: by 2002:a05:600c:4443:b0:3fe:dcd0:2e32 with SMTP id v3-20020a05600c444300b003fedcd02e32mr12102425wmn.19.1700100331748; Wed, 15 Nov 2023 18:05:31 -0800 (PST) Received: from lumine.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id bg39-20020a05600c3ca700b0040a487758dcsm1574531wmb.6.2023.11.15.18.05.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Nov 2023 18:05:30 -0800 (PST) Message-ID: From: Liliana Marie Prikler Date: Thu, 16 Nov 2023 03:05:29 +0100 In-Reply-To: <67c324d191a9698aed8d9887260cb0ef2bc031df.1700088189.git.phfrohring@deeplinks.com> References: <67c324d191a9698aed8d9887260cb0ef2bc031df.1700088189.git.phfrohring@deeplinks.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.46.4 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Queue-Id: 29D2A5D24B X-Migadu-Scanner: mx12.migadu.com X-Migadu-Spam-Score: -4.89 X-Spam-Score: -4.89 X-TUID: yNvfSME1P6Uf QW0gTWl0dHdvY2gsIGRlbSAxNS4xMS4yMDIzIHVtIDIzOjUxICswMTAwIHNjaHJpZWIgUGllcnJl LUhlbnJ5CkZyw7ZocmluZzoKPiAqIGd1aXgvYnVpbGQtc3lzdGVtL21peC5zY20sCj4gKiBndWl4 L2J1aWxkL21peC1idWlsZC1zeXN0ZW0uc2NtOiBOZXcgbW9kdWxlcy4KPiAKPiBDaGFuZ2UtSWQ6 IEkyY2JmNmM5NjNhNTMwZTczNDIwZGEwZWIxN2ZmYWY5MjgyNzQ1MWJmCj4gLS0tCj4gwqBndWl4 L2J1aWxkLXN5c3RlbS9taXguc2NtwqDCoMKgwqDCoMKgIHwgMTgxICsrKysrKysrKysrKysrKysr KysrKysrKysrKysKPiDCoGd1aXgvYnVpbGQvbWl4LWJ1aWxkLXN5c3RlbS5zY20gfCAyMDUKPiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+IMKgMiBmaWxlcyBjaGFuZ2VkLCAzODYg aW5zZXJ0aW9ucygrKQo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IGd1aXgvYnVpbGQtc3lzdGVtL21p eC5zY20KPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBndWl4L2J1aWxkL21peC1idWlsZC1zeXN0ZW0u c2NtCj4gCj4gZGlmZiAtLWdpdCBhL2d1aXgvYnVpbGQtc3lzdGVtL21peC5zY20gYi9ndWl4L2J1 aWxkLXN5c3RlbS9taXguc2NtCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAw MC4uYWU4MDY3OWIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ3VpeC9idWlsZC1zeXN0ZW0vbWl4 LnNjbQo+IEBAIC0wLDAgKzEsMTgxIEBACj4gKzs7OyBHTlUgR3VpeCAtLS0gRnVuY3Rpb25hbCBw YWNrYWdlIG1hbmFnZW1lbnQgZm9yIEdOVQo+ICs7OzsgQ29weXJpZ2h0IMKpIDIwMjMgUGllcnJl LUhlbnJ5IEZyw7ZocmluZwo+IDxwaGZyb2hyaW5nQGRlZXBsaW5rcy5jb20+Cj4gKzs7Owo+ICs7 OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXguCj4gKzs7Owo+ICs7OzsgR05VIEd1aXgg aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+ IGl0Cj4gKzs7OyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZAo+IGJ5Cj4gKzs7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLAo+IG9yIChhdAo+ICs7OzsgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ICs7OzsKPiArOzs7IEdOVSBHdWl4IGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAo+ICs7OzsgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ ICs7OzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LsKgIFNlZSB0aGUKPiArOzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCj4gKzs7Owo+ICs7OzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljCj4gTGljZW5zZQo+ICs7OzsgYWxvbmcgd2l0aCBHTlUgR3Vp eC7CoCBJZiBub3QsIHNlZQo+IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KPiArCj4g Kzs7IENvbW1lbnRhcnk6Cj4gKzs7Cj4gKzs7IFN0YW5kYXJkIGJ1aWxkIHByb2NlZHVyZSBmb3Ig RWxpeGlyIHBhY2thZ2VzIHVzaW5nICdtaXgnLsKgIFRoaXMKPiBpcwo+ICs7OyBpbXBsZW1lbnRl ZCBhcyBhbiBleHRlbnNpb24gb2YgJ2dudS1idWlsZC1zeXN0ZW0nLgo+ICs7Owo+ICs7OyBDb2Rl Ogo+ICsKPiArKGRlZmluZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIG1peCkKPiArwqAgIzp1 c2UtbW9kdWxlIChndWl4IGJ1aWxkIG1peC1idWlsZC1zeXN0ZW0pCj4gK8KgICM6dXNlLW1vZHVs ZSAoZ3VpeCBidWlsZC1zeXN0ZW0gZ251KQo+ICvCoCAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQt c3lzdGVtKQo+ICvCoCAjOnVzZS1tb2R1bGUgKGd1aXggZ2V4cCkKPiArwqAgIzp1c2UtbW9kdWxl IChndWl4IG1vbmFkcykKPiArwqAgIzp1c2UtbW9kdWxlIChndWl4IHBhY2thZ2VzKQo+ICvCoCAj OnVzZS1tb2R1bGUgKGd1aXggc2VhcmNoLXBhdGhzKQo+ICvCoCAjOnVzZS1tb2R1bGUgKGd1aXgg c3RvcmUpCj4gK8KgICM6dXNlLW1vZHVsZSAoZ3VpeCB1dGlscykKPiArwqAgIzp1c2UtbW9kdWxl IChpY2UtOSBtYXRjaCkKPiArwqAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktMSkKPiArwqAgIzp1 c2UtbW9kdWxlIChzcmZpIHNyZmktMjYpCj4gK8KgICM6ZXhwb3J0IChtaXgtYnVpbGQtc3lzdGVt IGhleHBtLXVyaSkpCj4gKwo+ICs7OyBMYXppbHkgcmVzb2x2ZSB0aGUgYmluZGluZ3MgdG8gYXZv aWQgY2lyY3VsYXIgZGVwZW5kZW5jaWVzLgo+ICsoZGVmaW5lIChkZWZhdWx0LWdsaWJjLXV0Zjgt bG9jYWxlcykKPiArwqAgKGxldCogKChiYXNlIChyZXNvbHZlLWludGVyZmFjZSAnKGdudSBwYWNr YWdlcyBiYXNlKSkpKQo+ICvCoMKgwqAgKG1vZHVsZS1yZWYgYmFzZSAnZ2xpYmMtdXRmOC1sb2Nh bGVzKSkpCj4gKwo+ICsoZGVmaW5lIChkZWZhdWx0LWVsaXhpci1oZXgpCj4gK8KgIChsZXQgKChl bGl4aXIgKHJlc29sdmUtaW50ZXJmYWNlICcoZ251IHBhY2thZ2VzIGVsaXhpcikpKSkKPiArwqDC oMKgIChtb2R1bGUtcmVmIGVsaXhpciAnZWxpeGlyLWhleCkpKQo+ICsKPiArKGRlZmluZSAoZGVm YXVsdC1yZWJhcjMpCj4gK8KgIChsZXQgKChlcmxhbmcgKHJlc29sdmUtaW50ZXJmYWNlICcoZ251 IHBhY2thZ2VzIGVybGFuZykpKSkKPiArwqDCoMKgIChtb2R1bGUtcmVmIGVybGFuZyAncmViYXIz KSkpCj4gKwo+ICsoZGVmaW5lIChkZWZhdWx0LWVsaXhpcikKPiArwqAgIlJldHVybiB0aGUgZGVm YXVsdCBFbGl4aXIgcGFja2FnZS4iCj4gK8KgIChsZXQgKChlbGl4aXIgKHJlc29sdmUtaW50ZXJm YWNlICcoZ251IHBhY2thZ2VzIGVsaXhpcikpKSkKPiArwqDCoMKgIChtb2R1bGUtcmVmIGVsaXhp ciAnZWxpeGlyKSkpCj4gKwo+ICsoZGVmaW5lIChoZXhwbS11cmkgbmFtZSB2ZXJzaW9uKQo+ICvC oCAiUmV0dXJuIHRoZSBVUkkgd2hlcmUgdG8gZmV0Y2ggdGhlIHNvdXJjZXMgb2YgYSBIZXggcGFj a2FnZSBOQU1FCj4gYXQgVkVSU0lPTi4KPiArTkFNRSBpcyB0aGUgbmFtZSBvZiB0aGUgcGFja2Fn ZSB3aGljaCBzaG91bGQgbG9vayBsaWtlOiBlbGl4aXItcGtnLQo+IG5hbWUtWC5ZLloKPiArU2Vl OiBodHRwczovL2dpdGh1Yi5jb20vaGV4cG0vc3BlY2lmaWNhdGlvbnMvYmxvYi9tYWluL2VuZHBv aW50cy5tZCIKPiArwqAgKChjb21wb3NlCj4gK8KgwqDCoCAoY3V0IHN0cmluZy1hcHBlbmQgImh0 dHBzOi8vcmVwby5oZXgucG0vdGFyYmFsbHMvIiA8PiAiLSIKPiB2ZXJzaW9uICIudGFyIikKPiAr wqDCoMKgIChjdXQgc3RyaW5nLXJlcGxhY2Utc3Vic3RyaW5nIDw+ICItIiAiXyIpCj4gK8KgwqDC oCBzdHJpcC1lbGl4aXItcHJlZml4KQo+ICvCoMKgIG5hbWUpKQo+ICsKPiArOzsgQSBudW1iZXIg b2YgZW52aXJvbm1lbnQgdmFyaWFibGVzIHNwZWNpZmljIHRvIHRoZSBNaXggYnVpbGQKPiBzeXN0 ZW0gYXJlCj4gKzs7IHJlZmxlY3RlZCBoZXJlLsKgIFRoZXkgYXJlIGRvY3VtZW50ZWQgYXQKPiAr OzsKPiBodHRwczovL2hleGRvY3MucG0vbWl4LzEuMTUuNy9NaXguaHRtbCNtb2R1bGUtZW52aXJv bm1lbnQtdmFyaWFibGVzLsKgCj4gT3RoZXIKPiArOzsgcGFyYW1ldGVycyBsb2NhdGVkIGluIG1p eC5leHMgYXJlIGRlZmluZWQgYXQKPiArOzsKPiBodHRwczovL2hleGRvY3MucG0vbWl4LzEuMTUu Ny9NaXguUHJvamVjdC5odG1sI21vZHVsZS1jb25maWd1cmF0aW9uCj4gKyhkZWZpbmUqIChtaXgt YnVpbGQgbmFtZQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbnB1 dHMKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzprZXkKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc291cmNlCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh0ZXN0cz8gI3QpCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChtaXgtcGF0aCAjZikgO1NlZSBNSVhfUEFUSC4KPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG1peC1leHMgIm1peC5leHMi KSA7U2VlIE1JWF9FWFMuCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IChidWlsZC1wZXItZW52aXJvbm1lbnQgI3QpIDtTZWUKPiA6YnVpbGRfcGVyX2Vudmlyb25tZW50 Lgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAocGhhc2VzICclc3Rh bmRhcmQtcGhhc2VzKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo b3V0cHV0cyAnKCJvdXQiKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgKHNlYXJjaC1wYXRocyAnKCkpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIChzeXN0ZW0gKCVjdXJyZW50LXN5c3RlbSkpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIChndWlsZSAjZikKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgKGltcG9ydGVkLW1vZHVsZXMgYCgoZ3VpeCBidWlsZCBtaXgtYnVpbGQt Cj4gc3lzdGVtKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLEAlZ251LWJ1aWxkLXN5c3RlbS0K PiBtb2R1bGVzKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG1v ZHVsZXMgJygoZ3VpeCBidWlsZCBtaXgtYnVpbGQtc3lzdGVtKQo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGd1aXggYnVpbGQg dXRpbHMpKSkpCj4gK8KgICJCdWlsZCBTT1VSQ0UgdXNpbmcgRWxpeGlyLCBhbmQgd2l0aCBJTlBV VFMuIgo+ICsKPiArwqAgOzsgQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24gb2YgOmJ1aWxkX3Blcl9l bnZpcm9ubWVudCBoZXJlOgo+ICvCoCA7Owo+IGh0dHBzOi8vaGV4ZG9jcy5wbS9taXgvMS4xNS43 L01peC5Qcm9qZWN0Lmh0bWwjbW9kdWxlLWNvbmZpZ3VyYXRpb27CoEEKPiBuZAo+ICvCoCA7OyAi RW52aXJvbm1lbnRzIiBoZXJlOgo+ICvCoCA7OyBodHRwczovL2hleGRvY3MucG0vbWl4LzEuMTUu Ny9NaXguaHRtbCNtb2R1bGUtZW52aXJvbm1lbnRzCj4gK8KgIChkZWZpbmUgbWl4LWVudmlyb25t ZW50cwo+ICvCoMKgwqAgKGlmIGJ1aWxkLXBlci1lbnZpcm9ubWVudAo+ICvCoMKgwqDCoMKgwqDC oCBgKCJwcm9kIiAsQChpZiB0ZXN0cz8gJygidGVzdCIpICcoKSkpCj4gK8KgwqDCoMKgwqDCoMKg ICcoInNoYXJlZCIpKSkKPiArCj4gK8KgIChkZWZpbmUgYnVpbGRlcgo+ICvCoMKgwqAgKHdpdGgt aW1wb3J0ZWQtbW9kdWxlcyBpbXBvcnRlZC1tb2R1bGVzCj4gK8KgwqDCoMKgwqAgI34oYmVnaW4K PiArCj4gK8KgwqDCoMKgwqDCoMKgwqDCoCAodXNlLW1vZHVsZXMgIyRAKHNleHAtPmdleHAgbW9k dWxlcykpCj4gKwo+ICvCoMKgwqDCoMKgwqDCoMKgwqAgIyQod2l0aC1idWlsZC12YXJpYWJsZXMg aW5wdXRzIG91dHB1dHMKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgI34obWl4LWJ1aWxk ICM6bmFtZSAjJG5hbWUKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAjOnNvdXJjZSAjK3NvdXJjZQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICM6c3lzdGVtICMkc3lzdGVtCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzp0ZXN0cz8g IyR0ZXN0cz8KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAjOm1peC1wYXRoICMkbWl4LXBhdGgKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjOm1peC1leHMgIyRtaXgtZXhzCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzptaXgtZW52 aXJvbm1lbnRzICcjJG1peC1lbnZpcm9ubWVudHMKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjOmJ1aWxkLXBlci1lbnZpcm9ubWVudCAjJGJ1 aWxkLXBlci0KPiBlbnZpcm9ubWVudAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgICM6cGhhc2VzICMkKGlmIChwYWlyPyBwaGFzZXMpCj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHNleHAtPmdleHAgcGhhc2VzKQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHBoYXNlcykKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjOm91dHB1dHMgJW91dHB1dHMKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjOnNlYXJjaC1wYXRocyAn IyQoc2V4cC0+Z2V4cAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG1hcAo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzZWFyY2gtcGF0aC0KPiBzcGVj aWZpY2F0aW9uLT5zZXhwCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNl YXJjaC1wYXRocykpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgIzppbnB1dHMKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAlYnVpbGQtaW5wdXRzKSkpKSkKPiArCj4gK8KgIChtbGV0ICVz dG9yZS1tb25hZCAoKGd1aWxlIChwYWNrYWdlLT5kZXJpdmF0aW9uIChvciBndWlsZQo+IChkZWZh dWx0LWd1aWxlKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg c3lzdGVtCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICM6Z3Jh ZnQ/ICNmKSkpCj4gK8KgwqDCoCAoZ2V4cC0+ZGVyaXZhdGlvbiBuYW1lCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBidWlsZGVyCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjOnN5c3RlbSBzeXN0ZW0KPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICM6Z3JhZnQ/ICNmwqDCoMKgwqDCoMKg IDtjb25zaXN0ZW50IHdpdGggJ2dudS1idWlsZCcKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgICM6dGFyZ2V0ICNmCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAjOmd1aWxlLWZvci1idWlsZCBndWlsZSkpKQo+ICsKPiArKGRl ZmluZSogKGxvd2VyIG5hbWUKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICM6a2V5 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoZWxpeGlyIChkZWZhdWx0LWVsaXhp cikpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoZWxpeGlyLWhleCAoZGVmYXVs dC1lbGl4aXItaGV4KSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChnbGliYy11 dGY4LWxvY2FsZXMgKGRlZmF1bHQtZ2xpYmMtdXRmOC1sb2NhbGVzKSkKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIChpbnB1dHMgJygpKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKG5hdGl2ZS1pbnB1dHMgJygpKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgKHByb3BhZ2F0ZWQtaW5wdXRzICcoKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIChyZWJhcjMgKGRlZmF1bHQtcmViYXIzKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICh0ZXN0cz8gI3QpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBv dXRwdXRzCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzb3VyY2UKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN5c3RlbQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgdGFyZ2V0Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjOmFsbG93 LW90aGVyLWtleXMgIzpyZXN0IGFyZ3VtZW50cykKPiArwqAgIlJldHVybiBhIGJhZyBmb3IgTkFN RS4iCj4gK8KgIChsZXQgKChwcml2YXRlLWtleXdvcmRzCj4gK8KgwqDCoMKgwqDCoMKgwqAgJygj OmlucHV0cyAjOm5hdGl2ZS1pbnB1dHMKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzpvdXRwdXRz ICM6c3lzdGVtICM6dGFyZ2V0Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgICM6ZWxpeGlyICM6ZWxp eGlyLWhleCAjOmdsaWJjLXV0ZjgtbG9jYWxlcwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCAjOnJl YmFyMyAjOmVybGFuZykpCj4gK8KgwqDCoMKgwqDCoMKgIChidWlsZC1pbnB1dHMKPiArwqDCoMKg wqDCoMKgwqDCoCBgKCxAKHN0YW5kYXJkLXBhY2thZ2VzKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oCAoImdsaWJjLXV0ZjgtbG9jYWxlcyIgLGdsaWJjLXV0ZjgtbG9jYWxlcykKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqAgKCJlcmxhbmciICwobG9va3VwLXBhY2thZ2UtaW5wdXQgZWxpeGlyICJlcmxh bmciKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCJyZWJhcjMiICxyZWJhcjMpCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgICgiZWxpeGlyIiAsZWxpeGlyKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oCAoImVsaXhpci1oZXgiICxlbGl4aXItaGV4KQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCAsQGlu cHV0cwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCAsQG5hdGl2ZS1pbnB1dHMpKSkKPiArwqAgKGJh ZyAobmFtZSBuYW1lKQo+ICvCoMKgwqDCoMKgwqAgKHN5c3RlbSBzeXN0ZW0pCj4gK8KgwqDCoMKg wqDCoCAoYnVpbGQtaW5wdXRzIGJ1aWxkLWlucHV0cykKPiArwqDCoMKgwqDCoMKgIChob3N0LWlu cHV0cyAoaWYgdGFyZ2V0IGlucHV0cyAnKCkpKQo+ICvCoMKgwqDCoMKgwqAgKG91dHB1dHMgb3V0 cHV0cykKPiArwqDCoMKgwqDCoMKgIChidWlsZCBtaXgtYnVpbGQpCj4gK8KgwqDCoMKgwqDCoCAo YXJndW1lbnRzIChzdHJpcC1rZXl3b3JkLWFyZ3VtZW50cyBwcml2YXRlLWtleXdvcmRzCj4gYXJn dW1lbnRzKSkpKSkKPiArCj4gKyhkZWZpbmUgbWl4LWJ1aWxkLXN5c3RlbQo+ICvCoCAoYnVpbGQt c3lzdGVtIChuYW1lICdtaXgpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoZGVz Y3JpcHRpb24gIlRoZSBzdGFuZGFyZCBNaXggYnVpbGQgc3lzdGVtIikKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIChsb3dlciBsb3dlcikpKQo+ICsKPiArOzs7IG1peC5zY20gZW5k cyBoZXJlCj4gZGlmZiAtLWdpdCBhL2d1aXgvYnVpbGQvbWl4LWJ1aWxkLXN5c3RlbS5zY20gYi9n dWl4L2J1aWxkL21peC1idWlsZC0KPiBzeXN0ZW0uc2NtCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQK PiBpbmRleCAwMDAwMDAwMC4uMGExZmNiNWMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ3VpeC9i dWlsZC9taXgtYnVpbGQtc3lzdGVtLnNjbQo+IEBAIC0wLDAgKzEsMjA1IEBACj4gKzs7OyBHTlUg R3VpeCAtLS0gRnVuY3Rpb25hbCBwYWNrYWdlIG1hbmFnZW1lbnQgZm9yIEdOVQo+ICs7OzsgQ29w eXJpZ2h0IMKpIDIwMjMgUGllcnJlLUhlbnJ5IEZyw7ZocmluZwo+IDxwaGZyb2hyaW5nQGRlZXBs aW5rcy5jb20+Cj4gKzs7Owo+ICs7OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXguCj4g Kzs7Owo+ICs7OzsgR05VIEd1aXggaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQo+IGl0Cj4gKzs7OyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZAo+IGJ5Cj4gKzs7OyB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLAo+ IG9yIChhdAo+ICs7OzsgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ICs7OzsKPiAr Ozs7IEdOVSBHdWl4IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsIGJ1dAo+ICs7OzsgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgo+ICs7OzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLsKgIFNlZSB0aGUKPiArOzs7IEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gKzs7Owo+ICs7OzsgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCj4gTGljZW5zZQo+ICs7 OzsgYWxvbmcgd2l0aCBHTlUgR3VpeC7CoCBJZiBub3QsIHNlZQo+IDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KPiArCj4gKzs7IENvbW1lbnRhcnk6Cj4gKzs7Cj4gKzs7IENvZGU6Cj4g Kwo+ICsoZGVmaW5lLW1vZHVsZSAoZ3VpeCBidWlsZCBtaXgtYnVpbGQtc3lzdGVtKQo+ICvCoCAj OnVzZS1tb2R1bGUgKChndWl4IGJ1aWxkIGdudS1idWlsZC1zeXN0ZW0pICM6cHJlZml4IGdudTop Cj4gK8KgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZCB1dGlscykKPiArwqAgIzp1c2UtbW9kdWxl IChpY2UtOSBmdHcpCj4gK8KgICM6dXNlLW1vZHVsZSAoaWNlLTkgbWF0Y2gpCj4gK8KgICM6dXNl LW1vZHVsZSAoaWNlLTkgcmVnZXgpCj4gK8KgICM6dXNlLW1vZHVsZSAoaWNlLTkgc3RyaW5nLWZ1 bikKPiArwqAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktMSkKPiArwqAgIzp1c2UtbW9kdWxlIChz cmZpIHNyZmktMjYpCj4gK8KgICM6ZXhwb3J0IChtaXgtYnVpbGQKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBzdHJpcC1lbGl4aXItcHJlZml4Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJXN0 YW5kYXJkLXBoYXNlcykpCj4gKwo+ICsoZGVmaW5lIChlbGl4aXItdmVyc2lvbiBlbGl4aXIpCj4g K8KgICJSZXR1cm4gYW4gWC5ZIHN0cmluZyB3aGVyZSBYIGFuZCBZIGFyZSByZXNwZWN0aXZlbHkg dGhlIG1ham9yIGFuZAo+IG1pbm9yIHZlcnNpb24gbnVtYmVyIG9mIEVMSVhJUi4KPiArRXhhbXBs ZTogL2dudS9zdG9yZS/igKYtZWxpeGlyLTEuMTQuMCDihpIgMS4xNCIKPiArwqAgKChjb21wb3Nl Cj4gK8KgwqDCoCAoY3V0IHN0cmluZy1qb2luIDw+ICIuIikKPiArwqDCoMKgIChjdXQgdGFrZSA8 PiAyKQo+ICvCoMKgwqAgKGN1dCBzdHJpbmctc3BsaXQgPD4gI1wuKQo+ICvCoMKgwqAgbGFzdCkK PiArwqDCoCAoc3RyaW5nLXNwbGl0IGVsaXhpciAjXC0pKSkKSSBkb24ndCB0aGluayB3ZSBuZWVk IHRvIGJlIG92ZXJseSBjdXRlIGhlcmUuICBUaGUgbGV0LWJpbmRpbmcgdmVyc2lvbgpmcm9tIHB5 dGhvbi1idWlsZC1zeXN0ZW0gaXMgbGVzcyBzdXJwcmlzaW5nIHRvIHRoZSB1bmluaXRpYXRlZCBy ZWFkZXIuCgpTZWUgYWxzbyBzdHJpcC1zdG9yZS1maWxlLW5hbWUgYW5kIHBhY2thZ2UtbmFtZS0+ bmFtZSt2ZXJzaW9uLgoKPiArKGRlZmluZSAoZWxpeGlyLWxpYmRpciBlbGl4aXIgcGF0aCkKPiAr wqAgIlJldHVybiB0aGUgcGF0aCB3aGVyZSBhbGwgbGlicmFyaWVzIGZvciBhIHNwZWNpZmllZCBF TElYSVIKPiB2ZXJzaW9uIGFyZSBpbnN0YWxsZWQuIgo+ICvCoCAoc3RyaW5nLWFwcGVuZCBwYXRo ICIvbGliL2VsaXhpci8iIChlbGl4aXItdmVyc2lvbiBlbGl4aXIpKSkKWW91IHByb2JhYmx5IHdh bnQgdG8gc3dhcCBwYXRoIGFuZCBlbGl4aXIgYW5kIHBlcmhhcHMgYWxzbyBmaW5kIGEgd2F5CnRv IGltcGxpY2l0bHkgcGFyYW1ldGVyaXplIHRoZSBsYXR0ZXIgc28gYXMgdG8gbWFrZSBpdCBvcHRp b25hbC4gCj4gKwo+ICsoZGVmaW5lIChlcmxhbmctbGliZGlyIHBhdGgpCj4gK8KgICJSZXR1cm4g dGhlIHBhdGggb2YgdGhlIGRpcmVjdG9yeSB3aGVyZSBsaWJyYXJpZXMgb2YgYW4gRXJsYW5nCj4g cGFja2FnZSBhcmUKPiAraW5zdGFsbGVkIGluIHRoZSBzdG9yZS4iCj4gK8KgIChzdHJpbmctYXBw ZW5kIHBhdGggIi9saWIvZXJsYW5nL2xpYiIpKQo+ICsKPiArKGRlZmluZSAoaW5zdGFsbC1kaXIg aW5wdXRzIG91dHB1dHMpCj4gK8KgICJSZXR1cm4gdGhlIHBhdGggb2YgdGhlIGN1cnJlbnQgb3V0 cHV0J3MgRWxpeGlyIGxpYnJhcnkuCj4gK0V4YW1wbGU6IC9nbnUvc3RvcmUv4oCmL2xpYi9lbGl4 aXIvMS4xNCIKPiArwqAgKGVsaXhpci1saWJkaXIgKGFzc29jLXJlZiBpbnB1dHMgImVsaXhpciIp Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChhc3NvYy1yZWYgb3V0cHV0cyAi b3V0IikpKQo+ICsKPiArKGRlZmluZSAoc3RyaXAtcHJlZml4IHByZWZpeCBuYW1lKQo+ICvCoCAi UmV0dXJuIE5BTUUgd2l0aG91dCB0aGUgcHJlZml4IFBSRUZJWC4iCj4gK8KgIChpZiAoc3RyaW5n LXByZWZpeD8gcHJlZml4IG5hbWUpCj4gK8KgwqDCoMKgwqAgKHN0cmluZy1kcm9wIG5hbWUgKHN0 cmluZy1sZW5ndGggcHJlZml4KSkKPiArwqDCoMKgwqDCoCBuYW1lKSkKWW91IG1pZ2h0IHdhbnQg dG8gY29uc2lkZXLCoAogIChkZWZpbmUqIChzdHJpcC1wcmVmaXggbmFtZSAjOm9wdGlvbmFsIChw cmVmaXggImVsaXhpci0iKQogICAgIOKApikKCj4gKyhkZWZpbmUgKG1peC1idWlsZC1kaXIgbWl4 LWVudikKPiArwqAgIlJldHVybiB0aGUgZGlyZWN0b3J5IHdoZXJlIGJ1aWxkIGFydGlmYWN0cyBh cmUgdG8gYmUgaW5zdGFsbGVkCj4gYWNjb3JkaW5nIHRvCj4gK2VuIGVudmlyb25tZW50IE1JWC1F TlYgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LiIKPiArwqAgKHN0cmluZy1hcHBlbmQgIl9idWls ZC8iIG1peC1lbnYgIi9saWIiKSkKPiArCj4gKyhkZWZpbmUqICh1bnBhY2sgIzprZXkgc291cmNl IG1peC1wYXRoICM6YWxsb3ctb3RoZXIta2V5cykKPiArwqAgIlVucGFjayBTT1VSQ0UgaW4gdGhl IHdvcmtpbmcgZGlyZWN0b3J5LCBhbmQgY2hhbmdlIGRpcmVjdG9yeQo+IHdpdGhpbiB0aGUKPiAr c291cmNlLsKgIFdoZW4gU09VUkNFIGlzIGEgZGlyZWN0b3J5LCBjb3B5IGl0IGluIGEgc3ViLWRp cmVjdG9yeSBvZgo+IHRoZSBjdXJyZW50Cj4gK3dvcmtpbmcgZGlyZWN0b3J5LiIKPiArwqAgKGxl dCAoKGdudS11bnBhY2sgKGFzc29jLXJlZiBnbnU6JXN0YW5kYXJkLXBoYXNlcyAndW5wYWNrKSkp Cj4gK8KgwqDCoCAoZ251LXVucGFjayAjOnNvdXJjZSBzb3VyY2UpCj4gK8KgwqDCoCAod2hlbiAo ZmlsZS1leGlzdHM/ICJjb250ZW50cy50YXIuZ3oiKQo+ICvCoMKgwqDCoMKgIChpbnZva2UgInRh ciIgInh2ZiIgImNvbnRlbnRzLnRhci5neiIpKSkpCj4gKwo+ICsoZGVmaW5lIChsaXN0LWRpcmVj dG9yaWVzIGRpcikKPiArwqAgIkxpc3QgYWJzb2x1dGUgcGF0aHMgb2YgZGlyZWN0b3JpZXMgZGly ZWN0bHkgdW5kZXIgdGhlIGRpcmVjdG9yeQo+IERJUi4iCj4gK8KgIChtYXAgKGN1dCBzdHJpbmct YXBwZW5kIGRpciAiLyIgPD4pCj4gK8KgwqDCoMKgwqDCoCAoc2NhbmRpciBkaXIgKGxhbWJkYSAo ZmlsZW5hbWUpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo YW5kIChub3QgKG1lbWJlciBmaWxlbmFtZSAnKCIuIiAiLi4iKSkpCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGRpcmVjdG9yeS1leGlzdHM/ IChzdHJpbmctYXBwZW5kIGRpciAiLyIKPiBmaWxlbmFtZSkpKSkpKSkKPiArCj4gKyhkZWZpbmUq IChjb25maWd1cmUgIzprZXkgaW5wdXRzIG1peC1wYXRoIG1peC1leHMgIzphbGxvdy1vdGhlci0K PiBrZXlzKQo+ICvCoCAiU2V0IGVudmlyb25tZW50IHZhcmlhYmxlcy4KPiArU2VlOgo+IGh0dHBz Oi8vaGV4ZG9jcy5wbS9taXgvMS4xNS43L01peC5odG1sI21vZHVsZS1lbnZpcm9ubWVudC12YXJp YWJsZXMiCj4gK8KgIChzZXRlbnYgIkxDX0FMTCIgImVuX1VTLlVURi04IikKPiArwqAgKHNldGVu diAiTUlYX0hPTUUiIChnZXRjd2QpKQo+ICvCoCAoc2V0ZW52ICJNSVhfQVJDSElWRVMiICJhcmNo aXZlcyIpCj4gK8KgIChzZXRlbnYgIk1JWF9CVUlMRF9ST09UIiAiX2J1aWxkIikKPiArwqAgKHNl dGVudiAiTUlYX0RFUFNfUEFUSCIgImRlcHMiKQo+ICvCoCAoc2V0ZW52ICJNSVhfUEFUSCIgKG9y IG1peC1wYXRoICIiKSkKPiArwqAgKHNldGVudiAiTUlYX1JFQkFSMyIgKHN0cmluZy1hcHBlbmQg KGFzc29jLXJlZiBpbnB1dHMgInJlYmFyMyIpCj4gIi9iaW4vcmViYXIzIikpCj4gK8KgIChzZXRl bnYgIk1JWF9FWFMiIG1peC1leHMpKQpUaGlzIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIGNvbmZp Z3VyZSBwaGFzZSBpbiB0aGUgdHJhZGl0aW9uYWwgc2Vuc2UKb2YgdGhlIHdvcmRpbmcuICBJbnN0 ZWFkLCBpdCBzaG91bGQgYmUgYSBwb3N0ICdzZXQtcGF0aHMnICdzZXQtbWl4LWVudicKaW1oby4K Cj4gKyhkZWZpbmUqIChpbnN0YWxsLWhleCAjOmtleSBuYW1lIGlucHV0cyBvdXRwdXRzICM6YWxs b3ctb3RoZXIta2V5cykKPiArwqAgIkluc3RhbGwgSGV4LiIKPiArwqAgKGxldCAoKGhleC1hcmNo aXZlLXBhdGggKHN0cmluZy1hcHBlbmQgKGdldGVudiAiTUlYX0FSQ0hJVkVTIikKPiAiL2hleCIp KSkKPiArwqDCoMKgIChta2Rpci1wIGhleC1hcmNoaXZlLXBhdGgpCj4gK8KgwqDCoCAoc3ltbGlu ayAoY2FyIChsaXN0LWRpcmVjdG9yaWVzIChlbGl4aXItbGliZGlyIChhc3NvYy1yZWYgaW5wdXRz Cj4gImVsaXhpciIpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgKGFzc29jLXJlZiBpbnB1dHMKPiAiZWxpeGlyLWhleCIpKSkpCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAoc3RyaW5nLWFwcGVuZCBoZXgtYXJjaGl2ZS1wYXRoICIvaGV4IikpKSkKV2h5 IGRvIHdlIG5lZWQgdGhpcz8gIEl0IGxvb2tzIGxpa2Ugd2UnbGwgYmUgcGFzdGluZyB0aGUgc2Ft ZSAobmF0aXZlPykKaW5wdXQgYWxsIG92ZXIgdGhlIHN0b3JlLCB3aGljaCBpbWhvIHdvdWxkIGJl IGJhZC4KCj4gKyhkZWZpbmUqIChpbnN0YWxsLWRlcGVuZGVuY2llcyAjOmtleQo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmFt ZQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgaW5wdXRzCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvdXRwdXRzCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0ZXN0cz8KPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJ1aWxk LXBlci1lbnZpcm9ubWVudAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG5hdGl2ZS1pbnB1dHMgJygpKQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbWl4LWVu dmlyb25tZW50cwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgIzphbGxvdy1vdGhlci1rZXlzCj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjOnJlc3QgcmVzdCkK PiArwqAgIkluc3RhbGwgZGVwZW5kZW5jaWVzLiIKPiArwqAgKGRlZmluZSAoaW5zdGFsbC1saWIg bGliIGRpcikKPiArwqDCoMKgIChsZXQgKChsaWItbmFtZSAobGFzdCAoc3RyaW5nLXNwbGl0IGxp YiAjXC8pKSkpCj4gK8KgwqDCoMKgwqAgKHN5bWxpbmsgbGliIChzdHJpbmctYXBwZW5kIGRpciAi LyIgbGliLW5hbWUpKSkpCj4gKwo+ICvCoCAoZGVmaW5lIChpbnN0YWxsLWlucHV0IG1peC1lbnYg aW5wdXQpCj4gK8KgwqDCoCAobGV0ICgoZGlyIChtaXgtYnVpbGQtZGlyIG1peC1lbnYpKSkKPiAr wqDCoMKgwqDCoCAobWtkaXItcCBkaXIpCj4gK8KgwqDCoMKgwqAgKG1hdGNoIGlucHV0Cj4gK8Kg wqDCoMKgwqDCoMKgICgoXyAuIHBhdGgpCj4gK8KgwqDCoMKgwqDCoMKgwqAgKChjb21wb3NlCj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgIChjdXQgZm9yLWVhY2ggKGN1dCBpbnN0YWxsLWxpYiA8PiBk aXIpIDw+KQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCAoY3V0IGFwcGVuZC1tYXAgbGlzdC1kaXJl Y3RvcmllcyA8PikKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGN1dCBmaWx0ZXIgZGlyZWN0b3J5 LWV4aXN0cz8gPD4pKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqAgKGxpc3QgKGVsaXhpci1saWJkaXIg KGFzc29jLXJlZiBpbnB1dHMgImVsaXhpciIpIHBhdGgpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAoZXJsYW5nLWxpYmRpciBwYXRoKSkpKSkpKQpJIHRoaW5rIHlvdSdyZSBhdCB0 aGUgd3JvbmcgbGF5ZXIgb2YgYWJzdHJhY3Rpb24gaGVyZS4KCiAgKG1hdGNoIGlucHV0wqAKICAg ICgoXyAuIHByZWZpeCkKICAgICAoYmVnaW4gCiAgICAgIChpbnN0YWxsLXN1YmRpcmVjdG9yaWVz IChlbGl4aXItbGliZGlyIHBhdGgpKQogICAgICAoaW5zdGFsbC1zdWJkaXJlY3RvcmllcyAoZXJs YW5nLWxpYmRpciBwYXRoKSkpKSkKCndoZXJlIChpbnN0YWxsLXN1YmRpcmVjdG9yaWVzIFBBVEgp IGlzIGJhc2ljYWxseQogICh3aGVuIChkaXJlY3RvcnktZXhpc3RzPyBQQVRIKQogICAgKGZvci1l YWNoIChjdXRlIGluc3RhbGwtbGliIDw+IChtaXgtYnVpbGQtZGlyIG1peC1lbnYpKQogICAgICAg ICAgICAgIChsaXN0LWRpcmVjdG9yaWVzIFBBVEgpKSkKCj4gK8KgIChkZWZpbmUgKGluc3RhbGwt aW5wdXRzIG1peC1lbnYpCj4gK8KgwqDCoCAoZm9yLWVhY2ggKGN1dCBpbnN0YWxsLWlucHV0IG1p eC1lbnYgPD4pCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChhcHBlbmQgaW5wdXRzIG5h dGl2ZS1pbnB1dHMpKSkKSW5zdGFsbGluZyBuYXRpdmUgaW5wdXRzOiBwcm9iYWJseSBhIGJhZCBp ZGVhIChpbmhpYml0cyBjcm9zcy0KY29tcGlsYXRpb24pLgoKPiArwqAgKGZvci1lYWNoIGluc3Rh bGwtaW5wdXRzIG1peC1lbnZpcm9ubWVudHMpKQo+ICsKPiArKGRlZmluZSogKGJ1aWxkICM6a2V5 IG1peC1lbnZpcm9ubWVudHMgIzphbGxvdy1vdGhlci1rZXlzKQo+ICvCoCAiQnVpbGRzIHRoZSBN aXggcHJvamVjdC4iCj4gK8KgIChmb3ItZWFjaCAobGFtYmRhIChtaXgtZW52KQo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAoc2V0ZW52ICJNSVhfRU5WIiBtaXgtZW52KQo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAoaW52b2tlICJtaXgiICJjb21waWxlIiAiLS1uby1kZXBzLWNo ZWNrIikpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbWl4LWVudmlyb25tZW50cykpCj4gKwo+ ICsoZGVmaW5lKiAoY2hlY2sgIzprZXkgKHRlc3RzPyAjdCkgIzphbGxvdy1vdGhlci1rZXlzKQo+ ICvCoCAiVGVzdCB0aGUgTWl4IHByb2plY3QuIgo+ICvCoCAoaWYgdGVzdHM/Cj4gK8KgwqDCoMKg wqAgKGludm9rZSAibWl4IiAidGVzdCIgIi0tbm8tZGVwcy1jaGVjayIpCj4gK8KgwqDCoMKgwqAg KGZvcm1hdCAjdCAidGVzdHM/ID0gfmF+JSIgdGVzdHM/KSkpCj4gKwo+ICsoZGVmaW5lKiAocmVt b3ZlLW1peC1kaXJzIC4gXykKPiArwqAgIlJlbW92ZSBhbGwgLm1peC8gZGlyZWN0b3JpZXMuCj4g K1dlIGRvIG5vdCB3YW50IHRvIGNvcHkgdGhlbSB0byB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9y eS4iCj4gK8KgIChmb3ItZWFjaCBkZWxldGUtZmlsZS1yZWN1cnNpdmVseQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIChmaW5kLWZpbGVzICIuIiAoZmlsZS1uYW1lLXByZWRpY2F0ZSAiXFwubWl4 JCIpCj4gIzpkaXJlY3Rvcmllcz8gI3QpKSkKPiArCj4gKyhkZWZpbmUgKGxpYnJhcnktbmFtZSBw a2ctbmFtZSkKPiArwqAgIlJldHVybiB0aGUgbGlicmFyeSBuYW1lIGRlZHVjZWQgZnJvbSBQS0ct TkFNRS4KPiArQSBwYWNrYWdlIHNob3VsZCBiZSBuYW1lZDogZWxpeGlyLWxpYi1uYW1lLVguWS5a IGZyb20gd2hpY2ggdGhlCj4gbGlicmFyeSBuYW1lCj4gK2xpYl9uYW1lIGlzIGRlZHVjZWQuIgo+ ICvCoCAoKGNvbXBvc2UKPiArwqDCoMKgIChjdXQgc3RyaW5nLWpvaW4gPD4gIl8iKQo+ICvCoMKg wqAgKGN1dCBkcm9wLXJpZ2h0IDw+IDEpCj4gK8KgwqDCoCAoY3V0IHN0cmluZy1zcGxpdCA8PiAj XC0pKQo+ICvCoMKgIChzdHJpcC1lbGl4aXItcHJlZml4IHBrZy1uYW1lKSkpCkNvbnNpZGVyIGRl ZmluaW5nIChwYWNrYWdlLW5hbWUtdmVyc2lvbi0+ZWxpeGlyLW5hbWUpIGFuYWxvZ291cyB0bwoo cGFja2FnZS1uYW1lLXZlcnNpb24tPmVybGFuZy1uYW1lKSBpbiByZWJhci1idWlsZC1zeXN0ZW0u ICBBbHNvIGFsbG93Cm92ZXJyaWRpbmcgaXQgdGhyb3VnaCBhIGJ1aWxkIHN5c3RlbSBhcmd1bWVu dC4gIFRoZSB0aGluZyB5b3UgY3VycmVudGx5CmhhdmUgd2lsbCBibG93IHVwIHdpdGggZ2l0LXZl cnNpb24uCgpDaGVlcnMK