Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp8130261rwr; Wed, 10 May 2023 18:48:45 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5U3+gs3HtoGu/tFt8jGmfuK/N+MG3xWF5gXb5iRe7xW2ofGbvMSlBWRV9nFBF9a78IWrn2 X-Received: by 2002:a05:6a00:124c:b0:647:d698:56d2 with SMTP id u12-20020a056a00124c00b00647d69856d2mr7477836pfi.27.1683769725300; Wed, 10 May 2023 18:48:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683769725; cv=none; d=google.com; s=arc-20160816; b=CD2ivHymTmcoiJvRdbfm4E1+C/0+tnClxyKsrnbkCrywMkd92rhaPO9dPimHZ4n1WS kVx44VCr9N4RUh+ugWaTZvn1jqg7lHtucV1aN+m24twu+Ye/wAULmAYq/aAGiVo2u56B iUO2za4epiN9SHfHs1NppQSAtssaoR+cRiIFCiyPlV76X3e85cSM3/sl24P5kK9yBhDH tmltGcZczZCY/nEZHmntAP1k8v8B0w4AiUablFYOhFJg4lgquIl0tRtYTKm2nDS7KnqB qf2wQS/IyMIzT38o8b4IGtVTZJZaJ1E57RBQIrFfXsUsJxKYW7Gdjhapuyg6+24m+XLg JeUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:reply-to:references:in-reply-to:subject:to:from :mime-version:date:message-id:dkim-signature; bh=9wkxuxCqmpntgB3HmCc78QvPNzL+GhFcAlypYxPCGUs=; b=RaOEmVCnTKZpuE4bHuDjz55TeGl/lQOyW/p2RNeLY/jo8vBazJzl2DShQslJ5Wv2vf KnJlUFNGnW5ftSrrBA70W10uv0XGhZKskTJ/fiOHbs5UxORoCOb6z0z/CaQiPxk3W7S8 YOO/ylzd3/D0N/XGrCZbPEN7jE1eTYO3eab4qRBUKMjDQzo0oXFbAuG0FZNfqYIpNjsg F6F6KABB/UdCOghqo4xPGyIlzIukQvq/9mCFYwa14c2rwv7pIRnZ0JpicGsH5ShTYp08 4vmETgkDvaAvY8WQh+lxQFxayHK8nR6qgY+NP/Tft+KXGbrd0+3ezdkkSg0GdSEoQ00d JOGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=OBry1Qj4; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s4-20020a63b404000000b0053009ff9f39si5326581pgf.713.2023.05.10.18.48.21; Wed, 10 May 2023 18:48:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=OBry1Qj4; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230089AbjEKBmX (ORCPT + 99 others); Wed, 10 May 2023 21:42:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36360 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229826AbjEKBmW (ORCPT ); Wed, 10 May 2023 21:42:22 -0400 Received: from mail-qt1-x82a.google.com (mail-qt1-x82a.google.com [IPv6:2607:f8b0:4864:20::82a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B375A40CB for ; Wed, 10 May 2023 18:42:17 -0700 (PDT) Received: by mail-qt1-x82a.google.com with SMTP id d75a77b69052e-3f1f44d55cdso84134041cf.0 for ; Wed, 10 May 2023 18:42:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683769336; x=1686361336; h=reply-to:references:in-reply-to:subject:to:from:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=9wkxuxCqmpntgB3HmCc78QvPNzL+GhFcAlypYxPCGUs=; b=OBry1Qj4BXo2Wsj98ns4VRTizql4MsMkac+mmSs/nRbg4qAxb7YXg2tFu9p9Mec53B DPdiex60iO0VPTG98VZpptOVM4d1XC+jWd76lare3ignIDHA1wv1H7/ibJ08uJnrkPaM 0dELrGxkLV5BUGKRo4T8I9xD9+l0K/+QCeLgox7P2jzKhuIsk7Ld43NyN5vIUEIWcb9Q cTJNJG0K0im2OUWYe+1U8+JYuhNgPa5ZEP4SOeW67OZF836AyHN7aQjmAdb64NSDf7wF kVp1UFD4d1gZVs9uwjzQ3D1/aFCTJHnhOqrIvzvVdnxQNRQTZPBxXlW7vO55sqSsrU9O 3vpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683769336; x=1686361336; h=reply-to:references:in-reply-to:subject:to:from:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=9wkxuxCqmpntgB3HmCc78QvPNzL+GhFcAlypYxPCGUs=; b=YmFc/+A+5S52tAWFBIWwjKuR8ehZNfCmbgLPZ2A2K7hrRoTXCwEMY/18ZwRO7ehEXI FpGNwuBDMDRol7O1LZGbb7k6I4EuplpEUoTJ+dFZIhxvyzLu5tRb9dhxbqKC9TPQwzw3 waH1wHe1emeBOZSb/UP6rTY9gP7zbreP1tIGZkJaUgarz2SdC/fLGSy5wKMK9u4GkbXc s+ZSyuGHFSo1cP1W6kw/rA54dAkfZjtkBJ6DxV3dt1QhZ3VIyJFAOkOSGb5vg5xtLKmH USWC1SAhwB3mEadB9ZHGDrQ7/a6qiXvPgwiUrAJSJHBxQBWlWiYa7dYqlf07Hao447SG EJfw== X-Gm-Message-State: AC+VfDwrSUUMmXbaVBpY/wjpT2rXFcxWWEhvlC7FLT6JAXL2hwQZ+BfP bS7A6l7n9AE05HOkWSFSFvRIFtc7qgk= X-Received: by 2002:a05:622a:134a:b0:3ef:612c:5877 with SMTP id w10-20020a05622a134a00b003ef612c5877mr31434823qtk.58.1683769336041; Wed, 10 May 2023 18:42:16 -0700 (PDT) Received: from [172.17.0.2] ([172.177.106.105]) by smtp.gmail.com with ESMTPSA id z11-20020a05622a124b00b003f38fe0b243sm1767017qtx.49.2023.05.10.18.42.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 May 2023 18:42:15 -0700 (PDT) Message-ID: <645c47f7.050a0220.31033.9ba1@mx.google.com> Date: Wed, 10 May 2023 18:42:15 -0700 (PDT) Content-Type: multipart/mixed; boundary="===============1394069764751087764==" MIME-Version: 1.0 From: bluez.test.bot@gmail.com To: linux-bluetooth@vger.kernel.org, alice@ayaya.dev Subject: RE: [BlueZ,1/3] build: set _FILE_OFFSET_BITS and _TIME_BITS to 64 universally In-Reply-To: <20230511002252.30868-1-alice@ayaya.dev> References: <20230511002252.30868-1-alice@ayaya.dev> Reply-To: linux-bluetooth@vger.kernel.org X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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 lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org --===============1394069764751087764== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wcm9qZWN0L2JsdWV0b290aC9saXN0Lz9zZXJpZXM9NzQ2NTk3CgotLS1U ZXN0IHJlc3VsdC0tLQoKVGVzdCBTdW1tYXJ5OgpDaGVja1BhdGNoICAgICAgICAgICAgICAgICAg ICBGQUlMICAgICAgMS42NiBzZWNvbmRzCkdpdExpbnQgICAgICAgICAgICAgICAgICAgICAgIFBB U1MgICAgICAxLjAzIHNlY29uZHMKQnVpbGRFbGwgICAgICAgICAgICAgICAgICAgICAgUEFTUyAg ICAgIDI2LjMzIHNlY29uZHMKQmx1ZXpNYWtlICAgICAgICAgICAgICAgICAgICAgRkFJTCAgICAg IDM3LjgyIHNlY29uZHMKTWFrZUNoZWNrICAgICAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDYu ODkgc2Vjb25kcwpNYWtlRGlzdGNoZWNrICAgICAgICAgICAgICAgICBQQVNTICAgICAgMTUzLjc0 IHNlY29uZHMKQ2hlY2tWYWxncmluZCAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDI5LjE5IHNl Y29uZHMKQ2hlY2tTbWF0Y2ggICAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDQzLjUxIHNlY29u ZHMKYmx1ZXptYWtlZXh0ZWxsICAgICAgICAgICAgICAgRkFJTCAgICAgIDIxLjc5IHNlY29uZHMK SW5jcmVtZW50YWxCdWlsZCAgICAgICAgICAgICAgRkFJTCAgICAgIDEyMzUuNTIgc2Vjb25kcwpT Y2FuQnVpbGQgICAgICAgICAgICAgICAgICAgICBGQUlMICAgICAgNzE3LjY1IHNlY29uZHMKCkRl dGFpbHMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IENoZWNrUGF0Y2ggLSBG QUlMCkRlc2M6IFJ1biBjaGVja3BhdGNoLnBsIHNjcmlwdApPdXRwdXQ6CltCbHVlWiwzLzNdIHRv b2xzL3BhcnNlcjogdXNlIGxvbmcgbG9uZyBmb3IgdGltZV90IHByaW50CldBUk5JTkc6TE9OR19M SU5FOiBsaW5lIGxlbmd0aCBvZiA4NCBleGNlZWRzIDgwIGNvbHVtbnMKIzc1OiBGSUxFOiB0b29s cy9wYXJzZXIvcGFyc2VyLmg6MTI3OgorCQkJCXByaW50ZigiJThsdS4lMDZsbHUgIiwgZi0+dHMu dHZfc2VjLCBmLT50cy50dl91c2VjKTsKCi9naXRodWIvd29ya3NwYWNlL3NyYy9zcmMvMTMyMzcz ODkucGF0Y2ggdG90YWw6IDAgZXJyb3JzLCAxIHdhcm5pbmdzLCAxMyBsaW5lcyBjaGVja2VkCgpO T1RFOiBGb3Igc29tZSBvZiB0aGUgcmVwb3J0ZWQgZGVmZWN0cywgY2hlY2twYXRjaCBtYXkgYmUg YWJsZSB0bwogICAgICBtZWNoYW5pY2FsbHkgY29udmVydCB0byB0aGUgdHlwaWNhbCBzdHlsZSB1 c2luZyAtLWZpeCBvciAtLWZpeC1pbnBsYWNlLgoKL2dpdGh1Yi93b3Jrc3BhY2Uvc3JjL3NyYy8x MzIzNzM4OS5wYXRjaCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuCgpOT1RFOiBJ Z25vcmVkIG1lc3NhZ2UgdHlwZXM6IENPTU1JVF9NRVNTQUdFIENPTVBMRVhfTUFDUk8gQ09OU1Rf U1RSVUNUIEZJTEVfUEFUSF9DSEFOR0VTIE1JU1NJTkdfU0lHTl9PRkYgUFJFRkVSX1BBQ0tFRCBT UERYX0xJQ0VOU0VfVEFHIFNQTElUX1NUUklORyBTU0NBTkZfVE9fS1NUUlRPCgpOT1RFOiBJZiBh bnkgb2YgdGhlIGVycm9ycyBhcmUgZmFsc2UgcG9zaXRpdmVzLCBwbGVhc2UgcmVwb3J0CiAgICAg IHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZSBDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoK CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBCbHVlek1ha2UgLSBGQUlMCkRl c2M6IEJ1aWxkIEJsdWVaCk91dHB1dDoKCkluIGZpbGUgaW5jbHVkZWQgZnJvbSB0b29scy9oY2lk dW1wLmM6MzA6CnRvb2xzL3BhcnNlci9wYXJzZXIuaDogSW4gZnVuY3Rpb24g4oCYcF9pbmRlbnTi gJk6CnRvb2xzL3BhcnNlci9wYXJzZXIuaDoxMjM6NDg6IGVycm9yOiBmb3JtYXQg4oCYJWxsdeKA mSBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUg4oCYbG9uZyBsb25nIHVuc2lnbmVkIGludOKAmSwg YnV0IGFyZ3VtZW50IDggaGFzIHR5cGUg4oCYX19zdXNlY29uZHNfdOKAmSB7YWthIOKAmGxvbmcg aW504oCZfSBbLVdlcnJvcj1mb3JtYXQ9XQogIDEyMyB8ICAgICBwcmludGYoIiUwNGQtJTAyZC0l MDJkICUwMmQ6JTAyZDolMDJkLiUwNmxsdSAiLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5+fn5+XgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBsb25nIHVuc2lnbmVkIGludAogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUwNmx1CiAgMTI0IHwg ICAgICB0bS50bV95ZWFyICsgMTkwMCwgdG0udG1fbW9uICsgMSwgdG0udG1fbWRheSwKICAxMjUg fCAgICAgIHRtLnRtX2hvdXIsIHRtLnRtX21pbiwgdG0udG1fc2VjLCBmLT50cy50dl91c2VjKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3N1 c2Vjb25kc190IHtha2EgbG9uZyBpbnR9CnRvb2xzL3BhcnNlci9wYXJzZXIuaDoxMjc6MjM6IGVy cm9yOiBmb3JtYXQg4oCYJWxsdeKAmSBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUg4oCYbG9uZyBs b25nIHVuc2lnbmVkIGludOKAmSwgYnV0IGFyZ3VtZW50IDMgaGFzIHR5cGUg4oCYX19zdXNlY29u ZHNfdOKAmSB7YWthIOKAmGxvbmcgaW504oCZfSBbLVdlcnJvcj1mb3JtYXQ9XQogIDEyNyB8ICAg ICBwcmludGYoIiU4bHUuJTA2bGx1ICIsIGYtPnRzLnR2X3NlYywgZi0+dHMudHZfdXNlYyk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICB+fn5+fl4gICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg IHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBsb25nIHVuc2lnbmVkIGludCAg X19zdXNlY29uZHNfdCB7YWthIGxvbmcgaW50fQogICAgICB8ICAgICAgICAgICAgICAgICAgJTA2 bHUKY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKbWFrZVsxXTogKioq IFtNYWtlZmlsZTo3NjE2OiB0b29scy9oY2lkdW1wLm9dIEVycm9yIDEKbWFrZVsxXTogKioqIFdh aXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KbWFrZTogKioqIFtNYWtlZmlsZTo0NTE4OiBh bGxdIEVycm9yIDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IE1ha2VDaGVj ayAtIEZBSUwKRGVzYzogUnVuIEJsdWV6IE1ha2UgQ2hlY2sKT3V0cHV0OgoKY2xpZW50L3BsYXll ci5jOiBJbiBmdW5jdGlvbiDigJh0cmFuc3BvcnRfc2VuZF9zZXHigJk6CmNsaWVudC9wbGF5ZXIu YzozNTgxOjQ1OiBlcnJvcjogZm9ybWF0IOKAmCVsbGTigJkgZXhwZWN0cyBhcmd1bWVudCBvZiB0 eXBlIOKAmGxvbmcgbG9uZyBpbnTigJksIGJ1dCBhcmd1bWVudCA1IGhhcyB0eXBlIOKAmG9mZl90 4oCZIHtha2Eg4oCYbG9uZyBpbnTigJl9IFstV2Vycm9yPWZvcm1hdD1dCiAzNTgxIHwgICBidF9z aGVsbF9lY2hvKCJbc2VxICVkICVkLiUwM2RzXSBzZW5kOiAlbGxkLyVsbGQgYnl0ZXMiLAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+XgogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBsb25nIGludAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxkCi4uLi4u LgogMzU4NCB8ICAgICBvZmZzZXQsIHRyYW5zcG9ydC0+c3RhdC5zdF9zaXplKTsKICAgICAgfCAg ICAgfn5+fn5+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgfCAgICAg fAogICAgICB8ICAgICBvZmZfdCB7YWthIGxvbmcgaW50fQpjbGllbnQvcGxheWVyLmM6MzU4MTo1 MDogZXJyb3I6IGZvcm1hdCDigJglbGxk4oCZIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSDigJhs b25nIGxvbmcgaW504oCZLCBidXQgYXJndW1lbnQgNiBoYXMgdHlwZSDigJhfX29mZl904oCZIHth a2Eg4oCYbG9uZyBpbnTigJl9IFstV2Vycm9yPWZvcm1hdD1dCiAzNTgxIHwgICBidF9zaGVsbF9l Y2hvKCJbc2VxICVkICVkLiUwM2RzXSBzZW5kOiAlbGxkLyVsbGQgYnl0ZXMiLAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5eCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBs b25nIGludAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAlbGQKLi4uLi4uCiAzNTg0IHwgICAgIG9mZnNldCwgdHJhbnNwb3J0LT5zdGF0LnN0X3Np emUpOwogICAgICB8ICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ICAgICAgICAg ICAgICAgCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF9fb2ZmX3Qge2FrYSBsb25nIGludH0KY2MxOiBhbGwgd2Fy bmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKbWFrZVsxXTogKioqIFtNYWtlZmlsZTo3NjE2 OiBjbGllbnQvcGxheWVyLm9dIEVycm9yIDEKbWFrZTogKioqIFtNYWtlZmlsZToxMTgzOTogY2hl Y2tdIEVycm9yIDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IENoZWNrVmFs Z3JpbmQgLSBGQUlMCkRlc2M6IFJ1biBCbHVleiBNYWtlIENoZWNrIHdpdGggVmFsZ3JpbmQKT3V0 cHV0OgoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHRvb2xzL2hjaWR1bXAuYzozMDoKdG9vbHMvcGFy c2VyL3BhcnNlci5oOiBJbiBmdW5jdGlvbiDigJhwX2luZGVudOKAmToKdG9vbHMvcGFyc2VyL3Bh cnNlci5oOjEyMzo0ODogZXJyb3I6IGZvcm1hdCDigJglbGx14oCZIGV4cGVjdHMgYXJndW1lbnQg b2YgdHlwZSDigJhsb25nIGxvbmcgdW5zaWduZWQgaW504oCZLCBidXQgYXJndW1lbnQgOCBoYXMg dHlwZSDigJhfX3N1c2Vjb25kc1904oCZIHtha2Eg4oCYbG9uZyBpbnTigJl9IFstV2Vycm9yPWZv cm1hdD1dCiAgMTIzIHwgICAgIHByaW50ZigiJTA0ZC0lMDJkLSUwMmQgJTAyZDolMDJkOiUwMmQu JTA2bGx1ICIsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfn5+fn5eCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsb25nIGxvbmcgdW5zaWduZWQgaW50CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJTA2bHUKICAxMjQgfCAgICAgIHRtLnRtX3llYXIgKyAx OTAwLCB0bS50bV9tb24gKyAxLCB0bS50bV9tZGF5LAogIDEyNSB8ICAgICAgdG0udG1faG91ciwg dG0udG1fbWluLCB0bS50bV9zZWMsIGYtPnRzLnR2X3VzZWMpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fc3VzZWNvbmRzX3Qge2FrYSBsb25n IGludH0KdG9vbHMvcGFyc2VyL3BhcnNlci5oOjEyNzoyMzogZXJyb3I6IGZvcm1hdCDigJglbGx1 4oCZIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSDigJhsb25nIGxvbmcgdW5zaWduZWQgaW504oCZ LCBidXQgYXJndW1lbnQgMyBoYXMgdHlwZSDigJhfX3N1c2Vjb25kc1904oCZIHtha2Eg4oCYbG9u ZyBpbnTigJl9IFstV2Vycm9yPWZvcm1hdD1dCiAgMTI3IHwgICAgIHByaW50ZigiJThsdS4lMDZs bHUgIiwgZi0+dHMudHZfc2VjLCBmLT50cy50dl91c2VjKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgIH5+fn5+XiAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICBsb25nIGxvbmcgdW5zaWduZWQgaW50ICBfX3N1c2Vjb25kc190IHtha2Eg bG9uZyBpbnR9CiAgICAgIHwgICAgICAgICAgICAgICAgICAlMDZsdQpjYzE6IGFsbCB3YXJuaW5n cyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzFdOiAqKiogW01ha2VmaWxlOjc2MTY6IHRv b2xzL2hjaWR1bXAub10gRXJyb3IgMQptYWtlWzFdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hl ZCBqb2JzLi4uLgptYWtlOiAqKiogW01ha2VmaWxlOjExODM5OiBjaGVja10gRXJyb3IgMgojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogQ2hlY2tTbWF0Y2ggLSBGQUlMCkRlc2M6 IFJ1biBzbWF0Y2ggdG9vbCB3aXRoIHNvdXJjZQpPdXRwdXQ6CgpzcmMvc2hhcmVkL2NyeXB0by5j OjI3MToyMTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFy ZWQvY3J5cHRvLmM6MjcyOjIzOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNl ZC4Kc3JjL3NoYXJlZC9nYXR0LWhlbHBlcnMuYzo3Njg6MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxl bmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjgzMDozMTogd2Fy bmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxw ZXJzLmM6MTMyMzozMTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNy Yy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6MTM1NDoyMzogd2FybmluZzogVmFyaWFibGUgbGVuZ3Ro IGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1zZXJ2ZXIuYzoyNzU6MjU6IHdhcm5pbmc6 IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtc2VydmVyLmM6 NjE4OjI1OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJl ZC9nYXR0LXNlcnZlci5jOjcxNzoyNTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlz IHVzZWQuCnNyYy9zaGFyZWQvc2hlbGwuYzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZSAodGhyb3Vn aCAvdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmVhZGxpbmUuaCk6Ci91c3IvaW5jbHVkZS9yZWFkbGlu ZS9ybHR5cGVkZWZzLmg6MzU6MjM6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0 aW9uIG9mIGZ1bmN0aW9uICdGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRl ZnMuaDozNjoyNTogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24gJ1ZGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozNzoy Nzogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ0NQ RnVuY3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6Mzg6Mjk6IHdhcm5p bmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdDUFBGdW5jdGlv bicKc3JjL3NoYXJlZC9jcnlwdG8uYzoyNzE6MjE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBh cnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2NyeXB0by5jOjI3MjoyMzogd2FybmluZzogVmFyaWFi bGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6NzY4OjMx OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0 LWhlbHBlcnMuYzo4MzA6MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2Vk LgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjEzMjM6MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxl bmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjEzNTQ6MjM6IHdh cm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtc2Vy dmVyLmM6Mjc1OjI1OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3Jj L3NoYXJlZC9nYXR0LXNlcnZlci5jOjYxODoyNTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFy cmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1zZXJ2ZXIuYzo3MTc6MjU6IHdhcm5pbmc6IFZh cmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL3NoZWxsLmM6IG5vdGU6IGlu IGluY2x1ZGVkIGZpbGUgKHRocm91Z2ggL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JlYWRsaW5lLmgp OgovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVmcy5oOjM1OjIzOiB3YXJuaW5nOiBub24t QU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnRnVuY3Rpb24nCi91c3IvaW5j bHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6MzY6MjU6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0 aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdWRnVuY3Rpb24nCi91c3IvaW5jbHVkZS9yZWFk bGluZS9ybHR5cGVkZWZzLmg6Mzc6Mjc6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xh cmF0aW9uIG9mIGZ1bmN0aW9uICdDUEZ1bmN0aW9uJwovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0 eXBlZGVmcy5oOjM4OjI5OiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBv ZiBmdW5jdGlvbiAnQ1BQRnVuY3Rpb24nCnRvb2xzL21lc2gtY2ZndGVzdC5jOjE0NTM6MTc6IHdh cm5pbmc6IHVua25vd24gZXNjYXBlIHNlcXVlbmNlOiAnXCUnCkluIGZpbGUgaW5jbHVkZWQgZnJv bSB0b29scy9oY2lkdW1wLmM6MzA6CnRvb2xzL3BhcnNlci9wYXJzZXIuaDogSW4gZnVuY3Rpb24g 4oCYcF9pbmRlbnTigJk6CnRvb2xzL3BhcnNlci9wYXJzZXIuaDoxMjM6NDg6IGVycm9yOiBmb3Jt YXQg4oCYJWxsdeKAmSBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUg4oCYbG9uZyBsb25nIHVuc2ln bmVkIGludOKAmSwgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUg4oCYX19zdXNlY29uZHNfdOKAmSB7 YWthIOKAmGxvbmcgaW504oCZfSBbLVdlcnJvcj1mb3JtYXQ9XQogIDEyMyB8ICAgICBwcmludGYo IiUwNGQtJTAyZC0lMDJkICUwMmQ6JTAyZDolMDJkLiUwNmxsdSAiLAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+XgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBsb25nIHVuc2lnbmVk IGludAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUw Nmx1CiAgMTI0IHwgICAgICB0bS50bV95ZWFyICsgMTkwMCwgdG0udG1fbW9uICsgMSwgdG0udG1f bWRheSwKICAxMjUgfCAgICAgIHRtLnRtX2hvdXIsIHRtLnRtX21pbiwgdG0udG1fc2VjLCBmLT50 cy50dl91c2VjKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBfX3N1c2Vjb25kc190IHtha2EgbG9uZyBpbnR9CnRvb2xzL3BhcnNlci9wYXJzZXIu aDoxMjc6MjM6IGVycm9yOiBmb3JtYXQg4oCYJWxsdeKAmSBleHBlY3RzIGFyZ3VtZW50IG9mIHR5 cGUg4oCYbG9uZyBsb25nIHVuc2lnbmVkIGludOKAmSwgYnV0IGFyZ3VtZW50IDMgaGFzIHR5cGUg 4oCYX19zdXNlY29uZHNfdOKAmSB7YWthIOKAmGxvbmcgaW504oCZfSBbLVdlcnJvcj1mb3JtYXQ9 XQogIDEyNyB8ICAgICBwcmludGYoIiU4bHUuJTA2bGx1ICIsIGYtPnRzLnR2X3NlYywgZi0+dHMu dHZfdXNlYyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICB+fn5+fl4gICAgICAgICAgICAgICAg ICB+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBsb25nIHVu c2lnbmVkIGludCAgX19zdXNlY29uZHNfdCB7YWthIGxvbmcgaW50fQogICAgICB8ICAgICAgICAg ICAgICAgICAgJTA2bHUKY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMK bWFrZVsxXTogKioqIFtNYWtlZmlsZTo3NjE2OiB0b29scy9oY2lkdW1wLm9dIEVycm9yIDEKbWFr ZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KbWFrZTogKioqIFtNYWtl ZmlsZTo0NTE4OiBhbGxdIEVycm9yIDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRl c3Q6IGJsdWV6bWFrZWV4dGVsbCAtIEZBSUwKRGVzYzogQnVpbGQgQmx1ZXogd2l0aCBFeHRlcm5h bCBFTEwKT3V0cHV0OgoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHRvb2xzL2hjaWR1bXAuYzozMDoK dG9vbHMvcGFyc2VyL3BhcnNlci5oOiBJbiBmdW5jdGlvbiDigJhwX2luZGVudOKAmToKdG9vbHMv cGFyc2VyL3BhcnNlci5oOjEyMzo0ODogZXJyb3I6IGZvcm1hdCDigJglbGx14oCZIGV4cGVjdHMg YXJndW1lbnQgb2YgdHlwZSDigJhsb25nIGxvbmcgdW5zaWduZWQgaW504oCZLCBidXQgYXJndW1l bnQgOCBoYXMgdHlwZSDigJhfX3N1c2Vjb25kc1904oCZIHtha2Eg4oCYbG9uZyBpbnTigJl9IFst V2Vycm9yPWZvcm1hdD1dCiAgMTIzIHwgICAgIHByaW50ZigiJTA0ZC0lMDJkLSUwMmQgJTAyZDol MDJkOiUwMmQuJTA2bGx1ICIsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfn5+fn5eCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsb25nIGxvbmcgdW5zaWduZWQgaW50CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJTA2bHUKICAxMjQgfCAgICAgIHRtLnRt X3llYXIgKyAxOTAwLCB0bS50bV9tb24gKyAxLCB0bS50bV9tZGF5LAogIDEyNSB8ICAgICAgdG0u dG1faG91ciwgdG0udG1fbWluLCB0bS50bV9zZWMsIGYtPnRzLnR2X3VzZWMpOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn4KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fc3VzZWNvbmRzX3Qg e2FrYSBsb25nIGludH0KdG9vbHMvcGFyc2VyL3BhcnNlci5oOjEyNzoyMzogZXJyb3I6IGZvcm1h dCDigJglbGx14oCZIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSDigJhsb25nIGxvbmcgdW5zaWdu ZWQgaW504oCZLCBidXQgYXJndW1lbnQgMyBoYXMgdHlwZSDigJhfX3N1c2Vjb25kc1904oCZIHth a2Eg4oCYbG9uZyBpbnTigJl9IFstV2Vycm9yPWZvcm1hdD1dCiAgMTI3IHwgICAgIHByaW50Zigi JThsdS4lMDZsbHUgIiwgZi0+dHMudHZfc2VjLCBmLT50cy50dl91c2VjKTsKICAgICAgfCAgICAg ICAgICAgICAgICAgIH5+fn5+XiAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn4KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICBsb25nIGxvbmcgdW5zaWduZWQgaW50ICBfX3N1c2Vjb25k c190IHtha2EgbG9uZyBpbnR9CiAgICAgIHwgICAgICAgICAgICAgICAgICAlMDZsdQpjYzE6IGFs bCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzFdOiAqKiogW01ha2VmaWxl Ojc2MTY6IHRvb2xzL2hjaWR1bXAub10gRXJyb3IgMQptYWtlWzFdOiAqKiogV2FpdGluZyBmb3Ig dW5maW5pc2hlZCBqb2JzLi4uLgptYWtlOiAqKiogW01ha2VmaWxlOjQ1MTg6IGFsbF0gRXJyb3Ig MgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogSW5jcmVtZW50YWxCdWlsZCAt IEZBSUwKRGVzYzogSW5jcmVtZW50YWwgYnVpbGQgd2l0aCB0aGUgcGF0Y2hlcyBpbiB0aGUgc2Vy aWVzCk91dHB1dDoKW0JsdWVaLDIvM10gY2xpZW50L3BsYXllcjogdXNlIGxvbmcgbG9uZyBmb3Ig b2ZmX3QgcHJpbnQKCnRvb2xzL21nbXQtdGVzdGVyLmM6IEluIGZ1bmN0aW9uIOKAmG1haW7igJk6 CnRvb2xzL21nbXQtdGVzdGVyLmM6MTI2NTU6NTogbm90ZTogdmFyaWFibGUgdHJhY2tpbmcgc2l6 ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFyLXRyYWNraW5nLWFzc2lnbm1lbnRz4oCZLCBy ZXRyeWluZyB3aXRob3V0CjEyNjU1IHwgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkK ICAgICAgfCAgICAgXn5+fgp1bml0L3Rlc3QtYXZkdHAuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKA mToKdW5pdC90ZXN0LWF2ZHRwLmM6NzY2OjU6IG5vdGU6IHZhcmlhYmxlIHRyYWNraW5nIHNpemUg bGltaXQgZXhjZWVkZWQgd2l0aCDigJgtZnZhci10cmFja2luZy1hc3NpZ25tZW50c+KAmSwgcmV0 cnlpbmcgd2l0aG91dAogIDc2NiB8IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAg ICAgIHwgICAgIF5+fn4KdW5pdC90ZXN0LWF2cmNwLmM6IEluIGZ1bmN0aW9uIOKAmG1haW7igJk6 CnVuaXQvdGVzdC1hdnJjcC5jOjk4OTo1OiBub3RlOiB2YXJpYWJsZSB0cmFja2luZyBzaXplIGxp bWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tpbmctYXNzaWdubWVudHPigJksIHJldHJ5 aW5nIHdpdGhvdXQKICA5ODkgfCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAg ICB8ICAgICBefn5+CmNsaWVudC9wbGF5ZXIuYzogSW4gZnVuY3Rpb24g4oCYdHJhbnNwb3J0X3Nl bmRfc2Vx4oCZOgpjbGllbnQvcGxheWVyLmM6MzU4MTo0NTogZXJyb3I6IGZvcm1hdCDigJglbGxk 4oCZIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSDigJhsb25nIGxvbmcgaW504oCZLCBidXQgYXJn dW1lbnQgNSBoYXMgdHlwZSDigJhvZmZfdOKAmSB7YWthIOKAmGxvbmcgaW504oCZfSBbLVdlcnJv cj1mb3JtYXQ9XQogMzU4MSB8ICAgYnRfc2hlbGxfZWNobygiW3NlcSAlZCAlZC4lMDNkc10gc2Vu ZDogJWxsZC8lbGxkIGJ5dGVzIiwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fl4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxvbmcgbG9uZyBpbnQKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICVsZAouLi4uLi4KIDM1ODQgfCAgICAgb2Zmc2V0LCB0cmFuc3BvcnQt PnN0YXQuc3Rfc2l6ZSk7CiAgICAgIHwgICAgIH5+fn5+fiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCiAgICAgIHwgICAgIHwKICAgICAgfCAgICAgb2ZmX3Qge2FrYSBsb25nIGlu dH0KY2xpZW50L3BsYXllci5jOjM1ODE6NTA6IGVycm9yOiBmb3JtYXQg4oCYJWxsZOKAmSBleHBl Y3RzIGFyZ3VtZW50IG9mIHR5cGUg4oCYbG9uZyBsb25nIGludOKAmSwgYnV0IGFyZ3VtZW50IDYg aGFzIHR5cGUg4oCYX19vZmZfdOKAmSB7YWthIOKAmGxvbmcgaW504oCZfSBbLVdlcnJvcj1mb3Jt YXQ9XQogMzU4MSB8ICAgYnRfc2hlbGxfZWNobygiW3NlcSAlZCAlZC4lMDNkc10gc2VuZDogJWxs ZC8lbGxkIGJ5dGVzIiwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfn5+XgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxvbmcgbG9uZyBpbnQKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxkCi4uLi4uLgogMzU4NCB8ICAgICBvZmZz ZXQsIHRyYW5zcG9ydC0+c3RhdC5zdF9zaXplKTsKICAgICAgfCAgICAgICAgICAgICB+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fiAgICAgICAgICAgICAgIAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX29mZl90IHth a2EgbG9uZyBpbnR9CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1h a2VbMV06ICoqKiBbTWFrZWZpbGU6NzYxNjogY2xpZW50L3BsYXllci5vXSBFcnJvciAxCm1ha2Vb MV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2U6ICoqKiBbTWFrZWZp bGU6NDUxODogYWxsXSBFcnJvciAyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0 OiBTY2FuQnVpbGQgLSBGQUlMCkRlc2M6IFJ1biBTY2FuIEJ1aWxkCk91dHB1dDoKCnNyYy9zaGFy ZWQvYWQuYzozNjk6MTk6IHdhcm5pbmc6IFVzZSBvZiB6ZXJvLWFsbG9jYXRlZCBtZW1vcnkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZbKCpwb3MpKytdID0gYWRfdHlwZTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KMSB3YXJuaW5nIGdl bmVyYXRlZC4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjQ1MToyMTogd2FybmluZzogVXNlIG9m IG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGdhdHRfZGJfdW5yZWdpc3RlcihvcC0+ Y2xpZW50LT5kYiwgb3AtPmRiX2lkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6Njk2OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1v cnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIGZh bHNlLCBhdHRfZWNvZGUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjk5MzoyOiB3YXJuaW5nOiBVc2Ug b2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRl KG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTA5OToyOiB3 YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJ5 X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50 LmM6MTI5MToyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAg ICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVk L2dhdHQtY2xpZW50LmM6MTM1NjoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlz IGZyZWVkCiAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNv ZGUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTYzMTo2OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5 IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgaWYgKHJlYWRfZGJfaGFzaChvcCkpIHsKICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTYzNjoyOiB3 YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJf YWxsKG9wKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQu YzoyMTQwOjY6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAg ICBpZiAocmVhZF9kYl9oYXNoKG9wKSkgewogICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CnNy Yy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoyMTQ4Ojg6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0 ZXIgaXQgaXMgZnJlZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkaXNjb3Zlcnlfb3BfcmVmKG9wKSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgpz cmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MzIzNjoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFm dGVyIGl0IGlzIGZyZWVkCiAgICAgICAgY29tcGxldGVfd3JpdGVfbG9uZ19vcChyZXEsIHN1Y2Nl c3MsIDAsIGZhbHNlKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzozMjU4OjI6IHdhcm5pbmc6IFVz ZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICByZXF1ZXN0X3VucmVmKHJlcSk7 CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CjEyIHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL3No YXJlZC9zaGVsbC5jOjEyMjg6MTM6IHdhcm5pbmc6IEFjY2VzcyB0byBmaWVsZCAnb3B0aW9ucycg cmVzdWx0cyBpbiBhIGRlcmVmZXJlbmNlIG9mIGEgbnVsbCBwb2ludGVyIChsb2FkZWQgZnJvbSB2 YXJpYWJsZSAnb3B0JykKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGMgIT0gb3B0LT5vcHRp b25zW2luZGV4IC0gb2Zmc2V0XS52YWwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnNyYy9zaGFyZWQvYWQuYzozNjk6 MTk6IHdhcm5pbmc6IFVzZSBvZiB6ZXJvLWFsbG9jYXRlZCBtZW1vcnkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBidWZbKCpwb3MpKytdID0gYWRfdHlwZTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KMSB3YXJuaW5nIGdlbmVyYXRlZC4Kc3Jj L3NoYXJlZC9nYXR0LWNsaWVudC5jOjQ1MToyMTogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRl ciBpdCBpcyBmcmVlZAogICAgICAgIGdhdHRfZGJfdW5yZWdpc3RlcihvcC0+Y2xpZW50LT5kYiwg b3AtPmRiX2lkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fgpzcmMvc2hh cmVkL2dhdHQtY2xpZW50LmM6Njk2OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQg aXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIGZhbHNlLCBhdHRfZWNv ZGUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K c3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjk5MzoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFm dGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNz LCBhdHRfZWNvZGUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTA5OToyOiB3YXJuaW5nOiBVc2Ug b2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRl KG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTI5MToyOiB3 YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJ5 X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50 LmM6MTM1NjoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAg ICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBzdWNjZXNzLCBhdHRfZWNvZGUpOwogICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVk L2dhdHQtY2xpZW50LmM6MTYzMTo2OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlz IGZyZWVkCiAgICAgICAgaWYgKHJlYWRfZGJfaGFzaChvcCkpIHsKICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTYzNjoyOiB3YXJuaW5nOiBVc2Ug b2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJfYWxsKG9wKTsKICAg ICAgICBefn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoyMTQwOjY6IHdh cm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBpZiAocmVhZF9k Yl9oYXNoKG9wKSkgewogICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0 dC1jbGllbnQuYzoyMTQ4Ojg6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJl ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkaXNjb3Zlcnlfb3BfcmVmKG9wKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dh dHQtY2xpZW50LmM6MzIzNjoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZy ZWVkCiAgICAgICAgY29tcGxldGVfd3JpdGVfbG9uZ19vcChyZXEsIHN1Y2Nlc3MsIDAsIGZhbHNl KTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzozMjU4OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkg YWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICByZXF1ZXN0X3VucmVmKHJlcSk7CiAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+CjEyIHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL3NoYXJlZC9zaGVsbC5j OjEyMjg6MTM6IHdhcm5pbmc6IEFjY2VzcyB0byBmaWVsZCAnb3B0aW9ucycgcmVzdWx0cyBpbiBh IGRlcmVmZXJlbmNlIG9mIGEgbnVsbCBwb2ludGVyIChsb2FkZWQgZnJvbSB2YXJpYWJsZSAnb3B0 JykKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGMgIT0gb3B0LT5vcHRpb25zW2luZGV4IC0g b2Zmc2V0XS52YWwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnRvb2xzL2hjaWF0dGFjaC5jOjgxNjo3OiB3YXJuaW5n OiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICduJyBpcyB1c2VkIGluIHRoZSBlbmNsb3Np bmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnbicK ICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgMTApKSA8IDApIHsKICAg ICAgICAgICAgIF4gICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2hjaWF0dGFj aC5jOjg2NDo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICduJyBpcyB1 c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVh bGx5IHJlYWQgZnJvbSAnbicKICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVz cCwgNCkpIDwgMCkgewogICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgp0b29scy9oY2lhdHRhY2guYzo4ODY6ODogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0 b3JlZCB0byAnbicgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1 ZSBpcyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ24nCiAgICAgICAgICAgICAgICBpZiAoKG4g PSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgMTApKSA8IDApIHsKICAgICAgICAgICAgICAgICAg ICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvaGNpYXR0YWNoLmM6OTA4 Ojc6IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9yZWQgdG8gJ24nIGlzIHVzZWQgaW4g dGhlIGVuY2xvc2luZyBleHByZXNzaW9uLCB0aGUgdmFsdWUgaXMgbmV2ZXIgYWN0dWFsbHkgcmVh ZCBmcm9tICduJwogICAgICAgIGlmICgobiA9IHJlYWRfaGNpX2V2ZW50KGZkLCByZXNwLCA0KSkg PCAwKSB7CiAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xz L2hjaWF0dGFjaC5jOjkyOTo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRv ICduJyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5l dmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnbicKICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVu dChmZCwgcmVzcCwgNCkpIDwgMCkgewogICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgp0b29scy9oY2lhdHRhY2guYzo5NzM6Nzogd2FybmluZzogQWx0aG91Z2ggdGhl IHZhbHVlIHN0b3JlZCB0byAnbicgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24s IHRoZSB2YWx1ZSBpcyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ24nCiAgICAgICAgaWYgKChu ID0gcmVhZF9oY2lfZXZlbnQoZmQsIHJlc3AsIDYpKSA8IDApIHsKICAgICAgICAgICAgIF4gICB+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KNiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9vdWku Yzo1MDoyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2h3ZGInIGlzIG5ldmVyIHJlYWQKICAg ICAgICBod2RiID0gdWRldl9od2RiX3VucmVmKGh3ZGIpOwogICAgICAgIF4gICAgICB+fn5+fn5+ fn5+fn5+fn5+fn5+fn4Kc3JjL291aS5jOjUzOjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAn dWRldicgaXMgbmV2ZXIgcmVhZAogICAgICAgIHVkZXYgPSB1ZGV2X3VucmVmKHVkZXYpOwogICAg ICAgIF4gICAgICB+fn5+fn5+fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgp0b29scy9o Y2lkdW1wLmM6MTgwOjk6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBwb2ludGVk IHRvIGJ5ICdkcCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmRzW2ldLmZk ID09IHNvY2spCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fgp0b29scy9o Y2lkdW1wLmM6MjQ4OjE3OiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyBnYXJiYWdlIG9yIHVu ZGVmaW5lZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRoLT50c19zZWMgID0gaHRv YmwoZnJtLnRzLnR2X3NlYyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXiB+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9oY2lkdW1wLmM6MzI2Ojk6IHdhcm5p bmc6IDFzdCBmdW5jdGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmUzMnRvaChkcC5mbGFncykgJiAw eDAyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+Ci91c3IvaW5jbHVkZS9lbmRpYW4uaDo0NjoyMjogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNy byAnYmUzMnRvaCcKIyAgZGVmaW5lIGJlMzJ0b2goeCkgX19ic3dhcF8zMiAoeCkKICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KdG9vbHMvaGNpZHVtcC5jOjM0MToyMDogd2Fybmlu ZzogMXN0IGZ1bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXplZCB2YWx1ZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZybS5kYXRhX2xlbiA9IGJlMzJ0b2goZHAu bGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn4KL3Vzci9pbmNsdWRlL2VuZGlhbi5oOjQ2OjIyOiBub3RlOiBleHBhbmRlZCBm cm9tIG1hY3JvICdiZTMydG9oJwojICBkZWZpbmUgYmUzMnRvaCh4KSBfX2Jzd2FwXzMyICh4KQog ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgp0b29scy9oY2lkdW1wLmM6MzQ2OjE0 OiB3YXJuaW5nOiAxc3QgZnVuY3Rpb24gY2FsbCBhcmd1bWVudCBpcyBhbiB1bmluaXRpYWxpemVk IHZhbHVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Bjb2RlID0gYmUzMnRvaChk cC5mbGFncykgJiAweGZmZmY7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn4KL3Vzci9pbmNsdWRlL2VuZGlhbi5oOjQ2OjIyOiBub3RlOiBl eHBhbmRlZCBmcm9tIG1hY3JvICdiZTMydG9oJwojICBkZWZpbmUgYmUzMnRvaCh4KSBfX2Jzd2Fw XzMyICh4KQogICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgp0b29scy9oY2lkdW1w LmM6Mzg0OjE3OiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyBnYXJiYWdlIG9yIHVuZGVmaW5l ZAogICAgICAgICAgICAgICAgICAgICAgICBmcm0uZGF0YV9sZW4gPSBidG9ocyhkaC5sZW4pOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+CnRvb2xz L2hjaWR1bXAuYzozOTQ6MTE6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3Ig dW5kZWZpbmVkCiAgICAgICAgICAgICAgICBmcm0ubGVuID0gZnJtLmRhdGFfbGVuOwogICAgICAg ICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+fgp0b29scy9oY2lkdW1wLmM6Mzk4Ojk6IHdh cm5pbmc6IDFzdCBmdW5jdGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFs dWUKICAgICAgICAgICAgICAgICAgICAgICAgdHMgPSBiZTY0dG9oKHBoLnRzKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgovdXNyL2luY2x1ZGUvZW5kaWFuLmg6 NTE6MjI6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ2JlNjR0b2gnCiMgIGRlZmluZSBiZTY0 dG9oKHgpIF9fYnN3YXBfNjQgKHgpCiAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ CnRvb2xzL2hjaWR1bXAuYzo0MDM6MTM6IHdhcm5pbmc6IDFzdCBmdW5jdGlvbiBjYWxsIGFyZ3Vt ZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgZnJt LmluID0gYmUzMnRvaChkcC5mbGFncykgJiAweDAxOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgovdXNyL2luY2x1ZGUvZW5kaWFuLmg6NDY6MjI6IG5v dGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ2JlMzJ0b2gnCiMgIGRlZmluZSBiZTMydG9oKHgpIF9f YnN3YXBfMzIgKHgpCiAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CnRvb2xzL2hj aWR1bXAuYzo0MDg6MTE6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3IgdW5k ZWZpbmVkCiAgICAgICAgICAgICAgICAgICAgICAgIGZybS5pbiA9IGRoLmluOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fgp0b29scy9oY2lkdW1wLmM6NDM3Ojc6IHdhcm5p bmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51 bGwnCiAgICAgICAgZmQgPSBvcGVuKGZpbGUsIG9wZW5fZmxhZ3MsIDA2NDQpOwogICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxMSB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRv b2xzL3JmY29tbS5jOjIyODozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2knIGlzIG5ldmVy IHJlYWQKICAgICAgICAgICAgICAgIGkgPSBleGVjdnAoY21kYXJndlswXSwgY21kYXJndik7CiAg ICAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3JmY29t bS5jOjIyODo3OiB3YXJuaW5nOiBOdWxsIHBvaW50ZXIgcGFzc2VkIHRvIDFzdCBwYXJhbWV0ZXIg ZXhwZWN0aW5nICdub25udWxsJwogICAgICAgICAgICAgICAgaSA9IGV4ZWN2cChjbWRhcmd2WzBd LCBjbWRhcmd2KTsKICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KdG9vbHMvcmZjb21tLmM6MzQ4Ojg6IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9y ZWQgdG8gJ2ZkJyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVl IGlzIG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnZmQnCiAgICAgICAgICAgICAgICBpZiAoKGZk ID0gb3BlbihkZXZuYW1lLCBPX1JET05MWSB8IE9fTk9DVFRZKSkgPCAwKSB7CiAgICAgICAgICAg ICAgICAgICAgIF4gICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9y ZmNvbW0uYzo0OTE6MTQ6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3IgdW5k ZWZpbmVkCiAgICAgICAgcmVxLmNoYW5uZWwgPSByYWRkci5yY19jaGFubmVsOwogICAgICAgICAg ICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+fgp0b29scy9yZmNvbW0uYzo1MDk6ODogd2Fybmlu ZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0byAnZmQnIGlzIHVzZWQgaW4gdGhlIGVuY2xv c2luZyBleHByZXNzaW9uLCB0aGUgdmFsdWUgaXMgbmV2ZXIgYWN0dWFsbHkgcmVhZCBmcm9tICdm ZCcKICAgICAgICAgICAgICAgIGlmICgoZmQgPSBvcGVuKGRldm5hbWUsIE9fUkRPTkxZIHwgT19O T0NUVFkpKSA8IDApIHsKICAgICAgICAgICAgICAgICAgICAgXiAgICB+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+CjUgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvc2RwLXhtbC5jOjEy NjoxMDogd2FybmluZzogQXNzaWduZWQgdmFsdWUgaXMgZ2FyYmFnZSBvciB1bmRlZmluZWQKICAg ICAgICAgICAgICAgIGJ1ZlsxXSA9IGRhdGFbaSArIDFdOwogICAgICAgICAgICAgICAgICAgICAg IF4gfn5+fn5+fn5+fn4Kc3JjL3NkcC14bWwuYzozMDA6MTE6IHdhcm5pbmc6IEFzc2lnbmVkIHZh bHVlIGlzIGdhcmJhZ2Ugb3IgdW5kZWZpbmVkCiAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zlsx XSA9IGRhdGFbaSArIDFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+ fn5+fgpzcmMvc2RwLXhtbC5jOjMzODoxMTogd2FybmluZzogQXNzaWduZWQgdmFsdWUgaXMgZ2Fy YmFnZSBvciB1bmRlZmluZWQKICAgICAgICAgICAgICAgICAgICAgICAgYnVmWzFdID0gZGF0YVtp ICsgMV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+CjMgd2Fy bmluZ3MgZ2VuZXJhdGVkLgp0b29scy9jaXB0b29sLmM6MzUwOjc6IHdhcm5pbmc6IDV0aCBmdW5j dGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUKICAgICAgICBzayA9 IGRvX2Nvbm5lY3QoY3RsLCBkZXZfaWQsICZzcmMsICZkc3QsIHBzbSwgKDEgPDwgQ01UUF9MT09Q QkFDSykpOwogICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KdG9vbHMvc2Rw dG9vbC5jOjk0MToyNjogd2FybmluZzogUmVzdWx0IG9mICdtYWxsb2MnIGlzIGNvbnZlcnRlZCB0 byBhIHBvaW50ZXIgb2YgdHlwZSAndWludDMyX3QnLCB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0 aCBzaXplb2Ygb3BlcmFuZCB0eXBlICdpbnQnCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz Ml90ICp2YWx1ZV9pbnQgPSBtYWxsb2Moc2l6ZW9mKGludCkpOwogICAgICAgICAgICAgICAgICAg ICAgICB+fn5+fn5+fn5+ICAgICAgICAgICAgXn5+fn5+IH5+fn5+fn5+fn5+CnRvb2xzL3NkcHRv b2wuYzo5ODA6NDogd2FybmluZzogMXN0IGZ1bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5p bml0aWFsaXplZCB2YWx1ZQogICAgICAgICAgICAgICAgICAgICAgICBmcmVlKGFsbG9jQXJyYXlb aV0pOwogICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3Nk cHRvb2wuYzozNzc3OjI6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBwb2ludGVk IHRvIGJ5ICdzaS5uYW1lJwogICAgICAgIHJldHVybiBhZGRfc2VydmljZSgwLCAmc2kpOwogICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3NkcHRvb2wuYzo0MTEyOjQ6IHdh cm5pbmc6IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBwb2ludGVkIHRvIGJ5ICdjb250ZXh0LnN2 YycKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn4KNCB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL2F2dGVzdC5jOjIyNDo1 OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVz dC5jOjIzNDo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDQpOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRv b2xzL2F2dGVzdC5jOjI0Mzo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2 ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBi dWYsIDMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+ fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjI1Nzo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xl bicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdy aXRlKHNrLCBidWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+ fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MjY0OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAn bGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0g d3JpdGUoc2ssIGJ1ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+ fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzoyNzE6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRv ICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4g PSB3cml0ZShzaywgYnVmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+ fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjI3ODo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQg dG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxl biA9IHdyaXRlKHNrLCBidWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAg fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6Mjg5OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3Jl ZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MjkzOjU6IHdhcm5pbmc6IFZh bHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzAyOjU6IHdh cm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6 MzA2OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMv YXZ0ZXN0LmM6MzE1OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciBy ZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1Ziwg Myk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+ fn4KdG9vbHMvYXZ0ZXN0LmM6MzIyOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBp cyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUo c2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+ fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzQ0OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0 byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVu ID0gd3JpdGUoc2ssIGJ1ZiwgNCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAg ICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzQ4OjU6IHdhcm5pbmc6IFZhbHVl IHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzU3OjU6IHdhcm5p bmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzYx OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0 ZXN0LmM6Mzc0OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFk CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvYXZ0ZXN0LmM6Mzc4OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBu ZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ss IGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+ fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6Mzg1OjQ6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAn bGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNr LCBidWYsIDIpOwogICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+ fgp0b29scy9hdnRlc3QuYzozOTU6NDogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlz IG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1Ziwg Mik7CiAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xz L2F2dGVzdC5jOjU1OTozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIg cmVhZAogICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAg ICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo1Njc6Mzogd2Fybmlu ZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIGxl biA9IHdyaXRlKHNrLCBidWYsIGludmFsaWQgPyAyIDogMyk7CiAgICAgICAgICAgICAgICBeICAg ICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjU4MTozOiB3 YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAg ICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCArIHNpemVvZihtZWRpYV90cmFuc3BvcnQpKTsKICAg ICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NTk0OjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVu JyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAzKTsK ICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjYw NDozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAg ICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICBeICAgICB+ fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo2MTY6Mzogd2FybmluZzogVmFsdWUgc3Rv cmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNr LCBidWYsIDMpOwogICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMv YXZ0ZXN0LmM6NjMxOjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciBy ZWFkCiAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAzKTsKICAgICAgICAgICAg ICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjY0MzozOiB3YXJuaW5n OiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgbGVu ID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+ fn5+fgp0b29scy9hdnRlc3QuYzo2NTI6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4n IGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwog ICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NjU5 OjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAg ICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAyKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+ fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjY5NToyOiB3YXJuaW5nOiBWYWx1ZSBzdG9y ZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIEFW Q1RQX0hFQURFUl9MRU5HVEggKyBzaXplb2YocGxheV9wcmVzc2VkKSk7CiAgICAgICAgXiAgICAg fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgozMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL2J0cHJveHkuYzo4MzY6MTU6IHdhcm5pbmc6 IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwn CiAgICAgICAgICAgICAgICAgICAgICAgIHRjcF9wb3J0ID0gYXRvaShvcHRhcmcpOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgp0b29scy9idHByb3h5LmM6 ODM5Ojg6IHdhcm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBl Y3RpbmcgJ25vbm51bGwnCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJsZW4ob3B0YXJn KSA+IDMgJiYgIXN0cm5jbXAob3B0YXJnLCAiaGNpIiwgMykpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4KdG9vbHMvY3JlYXRl LWltYWdlLmM6NzY6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdmZCcgaXMgbmV2ZXIgcmVh ZAogICAgICAgICAgICAgICAgZmQgPSAtMTsKICAgICAgICAgICAgICAgIF4gICAgfn4KdG9vbHMv Y3JlYXRlLWltYWdlLmM6ODQ6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdmZCcgaXMgbmV2 ZXIgcmVhZAogICAgICAgICAgICAgICAgZmQgPSAtMTsKICAgICAgICAgICAgICAgIF4gICAgfn4K dG9vbHMvY3JlYXRlLWltYWdlLmM6OTI6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdmZCcg aXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgZmQgPSAtMTsKICAgICAgICAgICAgICAgIF4g ICAgfn4KdG9vbHMvY3JlYXRlLWltYWdlLmM6MTA1OjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0 byAnZmQnIGlzIG5ldmVyIHJlYWQKICAgICAgICBmZCA9IC0xOwogICAgICAgIF4gICAgfn4KNCB3 YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL2J0Z2F0dC1jbGllbnQuYzoxNTk3OjI6IHdhcm5pbmc6 IFZhbHVlIHN0b3JlZCB0byAnYXJndicgaXMgbmV2ZXIgcmVhZAogICAgICAgIGFyZ3YgKz0gb3B0 aW5kOwogICAgICAgIF4gICAgICAgfn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnRvb2xzL2J0 Z2F0dC1zZXJ2ZXIuYzoxMjEyOjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnYXJndicgaXMg bmV2ZXIgcmVhZAogICAgICAgIGFyZ3YgLT0gb3B0aW5kOwogICAgICAgIF4gICAgICAgfn5+fn5+ CjEgd2FybmluZyBnZW5lcmF0ZWQuCnRvb2xzL2NoZWNrLXNlbGZ0ZXN0LmM6NDI6Mzogd2Fybmlu ZzogVmFsdWUgc3RvcmVkIHRvICdwdHInIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIHB0 ciA9IGZnZXRzKHJlc3VsdCwgc2l6ZW9mKHJlc3VsdCksIGZwKTsKICAgICAgICAgICAgICAgIF4g ICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVk Lgp0b29scy9nYXR0LXNlcnZpY2UuYzoyOTQ6Mjogd2FybmluZzogMm5kIGZ1bmN0aW9uIGNhbGwg YXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXplZCB2YWx1ZQogICAgICAgIGNocl93cml0ZShjaHIs IHZhbHVlLCBsZW4pOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjEgd2Fybmlu ZyBnZW5lcmF0ZWQuCnRvb2xzL29iZXgtc2VydmVyLXRvb2wuYzoxMzM6MTM6IHdhcm5pbmc6IE51 bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnCiAg ICAgICAgZGF0YS0+ZmQgPSBvcGVuKG5hbWUsIE9fV1JPTkxZIHwgT19DUkVBVCB8IE9fTk9DVFRZ LCAwNjAwKTsKICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL29iZXgtc2VydmVyLXRvb2wuYzoxOTI6MTM6IHdhcm5p bmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51 bGwnCiAgICAgICAgZGF0YS0+ZmQgPSBvcGVuKG5hbWUsIE9fUkRPTkxZIHwgT19OT0NUVFksIDAp OwogICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoy IHdhcm5pbmdzIGdlbmVyYXRlZC4KdG9vbHMvYnRwY2xpZW50Y3RsLmM6NDAyOjM6IHdhcm5pbmc6 IFZhbHVlIHN0b3JlZCB0byAnYml0JyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBiaXQg PSAwOwogICAgICAgICAgICAgICAgXiAgICAgfgp0b29scy9idHBjbGllbnRjdGwuYzoxNjU1OjI6 IHdhcm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMm5kIHBhcmFtZXRlciBleHBlY3Rpbmcg J25vbm51bGwnCiAgICAgICAgbWVtY3B5KGNwLT5kYXRhLCBhZF9kYXRhLCBhZF9sZW4pOwogICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRl ZC4Kc3JjL3NkcGQtcmVxdWVzdC5jOjIxMToxMzogd2FybmluZzogUmVzdWx0IG9mICdtYWxsb2Mn IGlzIGNvbnZlcnRlZCB0byBhIHBvaW50ZXIgb2YgdHlwZSAnY2hhcicsIHdoaWNoIGlzIGluY29t cGF0aWJsZSB3aXRoIHNpemVvZiBvcGVyYW5kIHR5cGUgJ3VpbnQxNl90JwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBFbGVtID0gbWFsbG9jKHNpemVvZih1aW50MTZfdCkpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+IH5+fn5+fn5+fn5+fn5+ fn4Kc3JjL3NkcGQtcmVxdWVzdC5jOjIzOToxMzogd2FybmluZzogUmVzdWx0IG9mICdtYWxsb2Mn IGlzIGNvbnZlcnRlZCB0byBhIHBvaW50ZXIgb2YgdHlwZSAnY2hhcicsIHdoaWNoIGlzIGluY29t cGF0aWJsZSB3aXRoIHNpemVvZiBvcGVyYW5kIHR5cGUgJ3VpbnQzMl90JwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBFbGVtID0gbWFsbG9jKHNpemVvZih1aW50MzJfdCkpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+IH5+fn5+fn5+fn5+fn5+ fn4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCmFuZHJvaWQvYXZyY3AtbGliLmM6MTk2ODozOiB3YXJu aW5nOiAxc3QgZnVuY3Rpb24gY2FsbCBhcmd1bWVudCBpcyBhbiB1bmluaXRpYWxpemVkIHZhbHVl CiAgICAgICAgICAgICAgICBnX2ZyZWUodGV4dFtpXSk7CiAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KdW5pdC90ZXN0LW1pZGkuYzo1NDE6ODI6IGVy cm9yOiBmdW5jdGlvbiBkZWZpbml0aW9uIGlzIG5vdCBhbGxvd2VkIGhlcmUKICAgICAgICB2b2lk IGNvbXBhcmVfZXZlbnRzX2NiKGNvbnN0IHN0cnVjdCBtaWRpX3dyaXRlX3BhcnNlciAqcGFyc2Vy LCB2b2lkICp1c2VyX2RhdGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KdW5p dC90ZXN0LW1pZGkuYzo1ODc6MTc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVy ICdjb21wYXJlX2V2ZW50c19jYic7IGRpZCB5b3UgbWVhbiAnY29tcGFyZV9ldmVudHMnPwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyZV9ldmVudHNfY2IsICZtaWRp X2RhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVfZXZlbnRz CnVuaXQvdGVzdC1taWRpLmM6MjM3OjEzOiBub3RlOiAnY29tcGFyZV9ldmVudHMnIGRlY2xhcmVk IGhlcmUKc3RhdGljIHZvaWQgY29tcGFyZV9ldmVudHMoY29uc3Qgc25kX3NlcV9ldmVudF90ICpl djEsCiAgICAgICAgICAgIF4KMiBlcnJvcnMgZ2VuZXJhdGVkLgpwcm9maWxlcy9oZWFsdGgvaGRw LmM6NjQ0OjM6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAg ICAgICAgICAgIGhkcF90bXBfZGNfZGF0YV91bnJlZihkY19kYXRhKTsKICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpwcm9maWxlcy9oZWFsdGgvaGRwLmM6ODAw OjE5OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgICAg ICAgICBwYXRoID0gZ19zdHJkdXAoY2hhbi0+cGF0aCk7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fgpwcm9maWxlcy9oZWFsdGgvaGRwLmM6MTc3OTo2OiB3YXJuaW5n OiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBoZHBfdG1wX2RjX2RhdGFfcmVmKGhkcF9jb25uKSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+CnByb2ZpbGVzL2hlYWx0aC9oZHAuYzoxODM2OjMwOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5 IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgcmVwbHkgPSBnX2RidXNfY3JlYXRlX2Vycm9yKGRh dGEtPm1zZywgRVJST1JfSU5URVJGQUNFICIuSGVhbHRoRXJyb3IiLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KNCB3YXJuaW5ncyBnZW5lcmF0ZWQuCnByb2Zp bGVzL2hlYWx0aC9oZHBfdXRpbC5jOjEwNTM6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRl ciBpdCBpcyBmcmVlZAogICAgICAgIGNvbm5fZGF0YS0+ZnVuYyhjb25uX2RhdGEtPmRhdGEsIGdl cnIpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgpwcm9maWxl cy9taWRpL21pZGkuYzo2MTo3NTogZXJyb3I6IGZ1bmN0aW9uIGRlZmluaXRpb24gaXMgbm90IGFs bG93ZWQgaGVyZQogICAgICAgIHZvaWQgZm9yZWFjaF9jYihjb25zdCBzdHJ1Y3QgbWlkaV93cml0 ZV9wYXJzZXIgKnBhcnNlciwgdm9pZCAqdXNlcl9kYXRhKSB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KcHJvZmlsZXMvbWlkaS9taWRpLmM6Nzg6NDA6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICdmb3JlYWNoX2NiJwogICAgICAgICAgICAgICAgbWlkaV9yZWFkX2V2KCZt aWRpLT5taWRpX291dCwgZXZlbnQsIGZvcmVhY2hfY2IsIG1pZGkpOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KMiBlcnJvcnMgZ2VuZXJhdGVk LgphdHRyaWIvZ2F0dC5jOjk3MDoyOiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1vcnkg cG9pbnRlZCB0byBieSAnbG9uZ193cml0ZScKICAgICAgICByZXR1cm4gcHJlcGFyZV93cml0ZShs b25nX3dyaXRlKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdh cm5pbmcgZ2VuZXJhdGVkLgpzcmMvc2RwZC1yZXF1ZXN0LmM6MjExOjEzOiB3YXJuaW5nOiBSZXN1 bHQgb2YgJ21hbGxvYycgaXMgY29udmVydGVkIHRvIGEgcG9pbnRlciBvZiB0eXBlICdjaGFyJywg d2hpY2ggaXMgaW5jb21wYXRpYmxlIHdpdGggc2l6ZW9mIG9wZXJhbmQgdHlwZSAndWludDE2X3Qn CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcEVsZW0gPSBtYWxsb2Moc2l6ZW9mKHVp bnQxNl90KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4g fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2RwZC1yZXF1ZXN0LmM6MjM5OjEzOiB3YXJuaW5nOiBSZXN1 bHQgb2YgJ21hbGxvYycgaXMgY29udmVydGVkIHRvIGEgcG9pbnRlciBvZiB0eXBlICdjaGFyJywg d2hpY2ggaXMgaW5jb21wYXRpYmxlIHdpdGggc2l6ZW9mIG9wZXJhbmQgdHlwZSAndWludDMyX3Qn CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcEVsZW0gPSBtYWxsb2Moc2l6ZW9mKHVp bnQzMl90KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4g fn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL3NkcC14bWwuYzoxMjY6 MTA6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3IgdW5kZWZpbmVkCiAgICAg ICAgICAgICAgICBidWZbMV0gPSBkYXRhW2kgKyAxXTsKICAgICAgICAgICAgICAgICAgICAgICBe IH5+fn5+fn5+fn5+CnNyYy9zZHAteG1sLmM6MzAwOjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1 ZSBpcyBnYXJiYWdlIG9yIHVuZGVmaW5lZAogICAgICAgICAgICAgICAgICAgICAgICBidWZbMV0g PSBkYXRhW2kgKyAxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+ fn4Kc3JjL3NkcC14bWwuYzozMzg6MTE6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJh Z2Ugb3IgdW5kZWZpbmVkCiAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IGRhdGFbaSAr IDFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fgozIHdhcm5p bmdzIGdlbmVyYXRlZC4Kc3JjL3NkcC1jbGllbnQuYzozNTM6MTQ6IHdhcm5pbmc6IEFjY2VzcyB0 byBmaWVsZCAnY2InIHJlc3VsdHMgaW4gYSBkZXJlZmVyZW5jZSBvZiBhIG51bGwgcG9pbnRlcgog ICAgICAgICgqY3R4dCktPmNiID0gY2I7CiAgICAgICAgfn5+fn5+fn5+fn5+Xn5+fgoxIHdhcm5p bmcgZ2VuZXJhdGVkLgpzcmMvZ2F0dC1kYXRhYmFzZS5jOjExMzg6MTA6IHdhcm5pbmc6IFZhbHVl IHN0b3JlZCB0byAnYml0cycgZHVyaW5nIGl0cyBpbml0aWFsaXphdGlvbiBpcyBuZXZlciByZWFk CiAgICAgICAgdWludDhfdCBiaXRzW10gPSB7IEJUX0dBVFRfQ0hSQ19DTElfRkVBVF9ST0JVU1Rf Q0FDSElORywKICAgICAgICAgICAgICAgIF5+fn4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgpzcmMvYWR2ZXJ0aXNpbmcuYzo5 NDI6Mjogd2FybmluZzogTnVsbCBwb2ludGVyIHBhc3NlZCB0byAybmQgcGFyYW1ldGVyIGV4cGVj dGluZyAnbm9ubnVsbCcKICAgICAgICBtZW1jcHkoY3AtPmRhdGEgKyBhZHZfZGF0YV9sZW4sIHNj YW5fcnNwLCBzY2FuX3JzcF9sZW4pOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KZ29iZXgv Z29iZXgtaGVhZGVyLmM6Njc6Mjogd2FybmluZzogTnVsbCBwb2ludGVyIHBhc3NlZCB0byAybmQg cGFyYW1ldGVyIGV4cGVjdGluZyAnbm9ubnVsbCcKICAgICAgICBtZW1jcHkodG8sIGZyb20sIGNv dW50KTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVk Lgpnb2JleC9nb2JleC10cmFuc2Zlci5jOjQyMzo3OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFm dGVyIGl0IGlzIGZyZWVkCiAgICAgICAgaWYgKCFnX3NsaXN0X2ZpbmQodHJhbnNmZXJzLCB0cmFu c2ZlcikpCiAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMSB3 YXJuaW5nIGdlbmVyYXRlZC4KY2xpZW50L3BsYXllci5jOiBJbiBmdW5jdGlvbiDigJh0cmFuc3Bv cnRfc2VuZF9zZXHigJk6CmNsaWVudC9wbGF5ZXIuYzozNTgxOjQ1OiBlcnJvcjogZm9ybWF0IOKA mCVsbGTigJkgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlIOKAmGxvbmcgbG9uZyBpbnTigJksIGJ1 dCBhcmd1bWVudCA1IGhhcyB0eXBlIOKAmG9mZl904oCZIHtha2Eg4oCYbG9uZyBpbnTigJl9IFst V2Vycm9yPWZvcm1hdD1dCiAzNTgxIHwgICBidF9zaGVsbF9lY2hvKCJbc2VxICVkICVkLiUwM2Rz XSBzZW5kOiAlbGxkLyVsbGQgYnl0ZXMiLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfn5+XgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbG9uZyBsb25nIGludAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJWxkCi4uLi4uLgogMzU4NCB8ICAgICBvZmZzZXQsIHRyYW5z cG9ydC0+c3RhdC5zdF9zaXplKTsKICAgICAgfCAgICAgfn5+fn5+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKICAgICAgfCAgICAgfAogICAgICB8ICAgICBvZmZfdCB7YWthIGxv bmcgaW50fQpjbGllbnQvcGxheWVyLmM6MzU4MTo1MDogZXJyb3I6IGZvcm1hdCDigJglbGxk4oCZ IGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSDigJhsb25nIGxvbmcgaW504oCZLCBidXQgYXJndW1l bnQgNiBoYXMgdHlwZSDigJhfX29mZl904oCZIHtha2Eg4oCYbG9uZyBpbnTigJl9IFstV2Vycm9y PWZvcm1hdD1dCiAzNTgxIHwgICBidF9zaGVsbF9lY2hvKCJbc2VxICVkICVkLiUwM2RzXSBzZW5k OiAlbGxkLyVsbGQgYnl0ZXMiLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB+fn5eCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBsb25nIGludAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlbGQKLi4uLi4uCiAzNTg0IHwgICAg IG9mZnNldCwgdHJhbnNwb3J0LT5zdGF0LnN0X3NpemUpOwogICAgICB8ICAgICAgICAgICAgIH5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+ICAgICAgICAgICAgICAgCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fb2Zm X3Qge2FrYSBsb25nIGludH0KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJv cnMKbWFrZVsxXTogKioqIFtNYWtlZmlsZTo3NjE2OiBjbGllbnQvcGxheWVyLm9dIEVycm9yIDEK bWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KbWFrZTogKioqIFtN YWtlZmlsZTo0NTE4OiBhbGxdIEVycm9yIDIKCgotLS0KUmVnYXJkcywKTGludXggQmx1ZXRvb3Ro Cgo= --===============1394069764751087764==--