From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7C94E35F16B for ; Fri, 10 Jul 2026 18:03:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783706621; cv=none; b=hLYcGXUHAzt5boMh1CO7mLkGYDEVQS3cNrWV6Lbbfxx68gUP7T8cRNTagKFbfRNDM8Kych6N3bTTUTVYuoxHGOZ29Kxa+AzVp4cBCmAfMYqDa7v0Xf1rBNZmrmatkrBGbGEnyLRZtHpiXURycXb2BpuXSottcegu38HT0FLCWxw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783706621; c=relaxed/simple; bh=PV6G/Uo/dWDzyl+bJk1ITRe3AVGhq0zj5UHFF1mj5vM=; h=Message-ID:Date:Content-Type:MIME-Version:From:To:Subject: In-Reply-To:References; b=rIJMxyT7zzehXuWB67JhqCGLtoFy+0TYAoMkS/ZIi6A5TkhTLV3ijmtoF6FznzeDfafPNaupdzhOQpCVKoRnpn/FRuJUVmr7EpTAaI+TaXmmlu2bbmSopTHWGFUmJqNeytDxcWeSKvsFGnij5jTn7683fm5c9LSCFnOUwG7O0Qk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=pcIVIgJw; arc=none smtp.client-ip=209.85.215.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="pcIVIgJw" Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-c96bfabc8d4so818023a12.3 for ; Fri, 10 Jul 2026 11:03:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783706618; x=1784311418; darn=vger.kernel.org; h=reply-to:references:in-reply-to:subject:to:from:mime-version :content-type:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=PV6G/Uo/dWDzyl+bJk1ITRe3AVGhq0zj5UHFF1mj5vM=; b=pcIVIgJwwHhC3knDnT1TsJET2x107cUIxqSAvhe4j3ap7PrUUCkAqEMY+PP61Uu84m eK2AthW/o/2bxU0di8KgyR+xTkPeQT6Y3QmnyoAZppAzJseQWPLfXhufrUAMGnTOIrT3 BtGJR0CCEncd4MuYb5MSLFgg4TKr1L7O/vgZOMpZbcQrkN1pL7fNJxUvCOFLdQVNZ7lw v+SWmxMf+6wDy/6rWFRpBaVv8a+z3hv6qjLrGz5diCkvVym6+lMi462xq3h1+gBdryxR cdUtY7iPMXTfEkHoOBboOUiezMpOC8mI6B7r9mdwB6qI9bpl64mEkJUGpjhCA5IcSUYM UC1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783706618; x=1784311418; h=reply-to:references:in-reply-to:subject:to:from:mime-version :content-type:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=PV6G/Uo/dWDzyl+bJk1ITRe3AVGhq0zj5UHFF1mj5vM=; b=USkV9bxBO4NG/87pGwDyGxMv/1EfqW0/LyFuwLrb/o2MiJWSPpEgBlcoYUOO5gqq49 j0mo84pv8XTrmtMnjizPn9LNTGi9JOySa2g1yWvn3atNPsZl5CzbnHMe+q9mYpUp6r11 MzwUObq/A0dHz8OzfSruabnqKBz0YGmdMcV5OD+On+mXTM/+S7JMNG4nblJ/tJytzfkw JItMRfojNz+o+30F4z+9Z+Hn1tXIE2fpUGEzfqCeAXq3skILMIhzXoi2SvY+/QSdMVRt wSI6va+vt06onz2HGTUGRL1+QpEXxWKbiNHIxMUgP49qBQssweeiwvjAiSXj8orG7wJx Rdfg== X-Gm-Message-State: AOJu0Yz69b7YmU+bkeeziKM7k7xMBQqCTZl9Ebb33v0CzDBonGzbAafW zCAG9+eMjlradAUIjNXsBQ5jc/SGIRa+HTTiZyzvAhm7NxvxOwp3/Kgi5JNyIw== X-Gm-Gg: AfdE7clQMx2Azmm4zxJoVbI0uJQpXG7eFmOUEt1H689/evhdDGy8lKaDwkSm/DJKFRs a/FOsKUu6tBOUqpsUdcH9C1wRQ2QEJL0b3k4isVhrgRb6S0OmAQ14otWEBNFPk+ZYMyb7bDNVpc H5sEF0A35H4iDafQ5w770zoBX3gMxBlT1NxqdfycdUeIftBVlxzGdRu6/NZeLDHUozeJkrX0sq5 kZgpq1ZTuf7zoyweSX755hzS62ARZwvcl3UUFY4Vj+4C8L7Bi8H4OnzRbKED0mvWjqjgNkuy4Qf 78a3d/SgBOi5xJaVeJzGQQVp+xvTIRRNE9c3z8hTpA+93Cq3+eKb1tyW781s/j2g7zUv6MPoJa2 eptFgsja/7tq9Q3M/hNuTrrCGQdMPHHfpTPiU48PLd0xF7MUTZx+Mz81ljC3yO3bRIobm39t8dH CRLbgWmoMJPaokJ7Z36FSv X-Received: by 2002:a05:6a20:b58b:b0:3bf:7498:9cd1 with SMTP id adf61e73a8af0-3c110a6f6b8mr93469637.45.1783706616941; Fri, 10 Jul 2026 11:03:36 -0700 (PDT) Received: from [172.17.0.2] ([52.159.225.202]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3119d5cf176sm20088933eec.12.2026.07.10.11.03.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Jul 2026 11:03:35 -0700 (PDT) Message-ID: <6a5133f7.9edb5c9d.208698.e1da@mx.google.com> Date: Fri, 10 Jul 2026 11:03:35 -0700 (PDT) Content-Type: multipart/mixed; boundary="===============8711668590438191236==" Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: bluez.test.bot@gmail.com To: linux-bluetooth@vger.kernel.org, pav@iki.fi Subject: RE: [BlueZ,1/2] lib: add iso_data_* macros to hci.h In-Reply-To: References: Reply-To: linux-bluetooth@vger.kernel.org --===============8711668590438191236== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wcm9qZWN0L2JsdWV0b290aC9saXN0Lz9zZXJpZXM9MTEyNTQ5NQoKLS0t VGVzdCByZXN1bHQtLS0KClRlc3QgU3VtbWFyeToKQ2hlY2tQYXRjaCAgICAgICAgICAgICAgICAg ICAgRkFJTCAgICAgIDAuNjUgc2Vjb25kcwpHaXRMaW50ICAgICAgICAgICAgICAgICAgICAgICBQ QVNTICAgICAgMC40MyBzZWNvbmRzCkJ1aWxkRWxsICAgICAgICAgICAgICAgICAgICAgIFBBU1Mg ICAgICAyMS4wNSBzZWNvbmRzCkJsdWV6TWFrZSAgICAgICAgICAgICAgICAgICAgIEZBSUwgICAg ICA1MzMuNDggc2Vjb25kcwpNYWtlQ2hlY2sgICAgICAgICAgICAgICAgICAgICBGQUlMICAgICAg MTguMDggc2Vjb25kcwpNYWtlRGlzdGNoZWNrICAgICAgICAgICAgICAgICBQQVNTICAgICAgMTYy LjEwIHNlY29uZHMKQ2hlY2tWYWxncmluZCAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDEzNC41 NyBzZWNvbmRzCkNoZWNrU21hdGNoICAgICAgICAgICAgICAgICAgIEZBSUwgICAgICAzMDYuMDAg c2Vjb25kcwpibHVlem1ha2VleHRlbGwgICAgICAgICAgICAgICBGQUlMICAgICAgOTMuMjMgc2Vj b25kcwpJbmNyZW1lbnRhbEJ1aWxkICAgICAgICAgICAgICBGQUlMICAgICAgNTY5LjMwIHNlY29u ZHMKU2NhbkJ1aWxkICAgICAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDM3OS45NCBzZWNvbmRz CgpEZXRhaWxzCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBDaGVja1BhdGNo IC0gRkFJTApEZXNjOiBSdW4gY2hlY2twYXRjaC5wbCBzY3JpcHQKT3V0cHV0OgpbQmx1ZVosMi8y XSBtb25pdG9yOiBmaXggcGFyc2luZyBvZiBJU08gcGFja2V0IGRhdGEgaGVhZGVyIGFuZCBzbGVu IGNoZWNrCldBUk5JTkc6QkFEX1NJR05fT0ZGOiBOb24tc3RhbmRhcmQgc2lnbmF0dXJlOiBBc3Np c3RlZC1ieToKIzk4OiAKQXNzaXN0ZWQtYnk6IEdMTS01LjIKCkVSUk9SOkJBRF9TSUdOX09GRjog VW5yZWNvZ25pemVkIGVtYWlsIGFkZHJlc3M6ICdHTE0tNS4yJwojOTg6IApBc3Npc3RlZC1ieTog R0xNLTUuMgoKL2dpdGh1Yi93b3Jrc3BhY2Uvc3JjL3BhdGNoLzE0Njc4ODY5LnBhdGNoIHRvdGFs OiAxIGVycm9ycywgMSB3YXJuaW5ncywgMTA2IGxpbmVzIGNoZWNrZWQKCk5PVEU6IEZvciBzb21l IG9mIHRoZSByZXBvcnRlZCBkZWZlY3RzLCBjaGVja3BhdGNoIG1heSBiZSBhYmxlIHRvCiAgICAg IG1lY2hhbmljYWxseSBjb252ZXJ0IHRvIHRoZSB0eXBpY2FsIHN0eWxlIHVzaW5nIC0tZml4IG9y IC0tZml4LWlucGxhY2UuCgovZ2l0aHViL3dvcmtzcGFjZS9zcmMvcGF0Y2gvMTQ2Nzg4NjkucGF0 Y2ggaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LgoKTk9URTogSWdub3JlZCBtZXNz YWdlIHR5cGVzOiBDT01NSVRfTUVTU0FHRSBDT01QTEVYX01BQ1JPIENPTlNUX1NUUlVDVCBGSUxF X1BBVEhfQ0hBTkdFUyBNSVNTSU5HX1NJR05fT0ZGIFBSRUZFUl9QQUNLRUQgU1BEWF9MSUNFTlNF X1RBRyBTUExJVF9TVFJJTkcgU1NDQU5GX1RPX0tTVFJUTwoKTk9URTogSWYgYW55IG9mIHRoZSBl cnJvcnMgYXJlIGZhbHNlIHBvc2l0aXZlcywgcGxlYXNlIHJlcG9ydAogICAgICB0aGVtIHRvIHRo ZSBtYWludGFpbmVyLCBzZWUgQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCgojIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogQmx1ZXpNYWtlIC0gRkFJTApEZXNjOiBCdWlsZCBC bHVlWgpPdXRwdXQ6Cgp0b29scy9tZ210LXRlc3Rlci5jOiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZ Ogp0b29scy9tZ210LXRlc3Rlci5jOjEyOTkwOjU6IG5vdGU6IHZhcmlhYmxlIHRyYWNraW5nIHNp emUgbGltaXQgZXhjZWVkZWQgd2l0aCDigJgtZnZhci10cmFja2luZy1hc3NpZ25tZW50c+KAmSwg cmV0cnlpbmcgd2l0aG91dAoxMjk5MCB8IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10p CiAgICAgIHwgICAgIF5+fn4KdW5pdC90ZXN0LWF2ZHRwLmM6IEluIGZ1bmN0aW9uIOKAmG1haW7i gJk6CnVuaXQvdGVzdC1hdmR0cC5jOjc2Njo1OiBub3RlOiB2YXJpYWJsZSB0cmFja2luZyBzaXpl IGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tpbmctYXNzaWdubWVudHPigJksIHJl dHJ5aW5nIHdpdGhvdXQKICA3NjYgfCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQog ICAgICB8ICAgICBefn5+CnVuaXQvdGVzdC1hdnJjcC5jOiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZ Ogp1bml0L3Rlc3QtYXZyY3AuYzo5ODk6NTogbm90ZTogdmFyaWFibGUgdHJhY2tpbmcgc2l6ZSBs aW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFyLXRyYWNraW5nLWFzc2lnbm1lbnRz4oCZLCByZXRy eWluZyB3aXRob3V0CiAgOTg5IHwgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAg ICAgfCAgICAgXn5+fgptb25pdG9yL3BhY2tldC5jOiBJbiBmdW5jdGlvbiDigJhwYWNrZXRfaGNp X2lzb2RhdGHigJk6Cm1vbml0b3IvcGFja2V0LmM6MTQ2MTE6NDU6IGVycm9yOiDigJglc+KAmSBk aXJlY3RpdmUgd3JpdGluZyB1cCB0byAxNSBieXRlcyBpbnRvIGEgcmVnaW9uIG9mIHNpemUgYmV0 d2VlbiA4IGFuZCA0MyBbLVdlcnJvcj1mb3JtYXQtb3ZlcmZsb3c9XQoxNDYxMSB8ICBzcHJpbnRm KGV4dHJhX3N0ciwgImZsYWdzIDB4JTIuMnggZGxlbiAldSVzJXMiLCBmbGFncywgZGxlbiwgc2xl bl9zdHIsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgoxNDYxMiB8ICAgICAgICAgIHRzX3N0cik7CiAgICAgIHwgICAgICAgICAgfn5+fn5+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdXNyL2lu Y2x1ZGUvc3RkaW8uaDo4NjcsCiAgICAgICAgICAgICAgICAgZnJvbSBtb25pdG9yL3BhY2tldC5j OjE4OgovdXNyL2luY2x1ZGUveDg2XzY0LWxpbnV4LWdudS9iaXRzL3N0ZGlvMi5oOjM2OjEwOiBu b3RlOiDigJhfX2J1aWx0aW5fX19zcHJpbnRmX2Noa+KAmSBvdXRwdXQgYmV0d2VlbiAxOCBhbmQg NjggYnl0ZXMgaW50byBhIGRlc3RpbmF0aW9uIG9mIHNpemUgNjAKICAgMzYgfCAgIHJldHVybiBf X2J1aWx0aW5fX19zcHJpbnRmX2NoayAoX19zLCBfX1VTRV9GT1JUSUZZX0xFVkVMIC0gMSwKICAg ICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KICAgMzcgfCAgICAgICBfX2JvcyAoX19zKSwgX19mbXQsIF9fdmFfYXJnX3Bh Y2sgKCkpOwogICAgICB8ICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKbWFrZVsxXTogKioq IFtNYWtlZmlsZTo3MDU4OiBtb25pdG9yL3BhY2tldC5vXSBFcnJvciAxCm1ha2VbMV06ICoqKiBX YWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2U6ICoqKiBbTWFrZWZpbGU6NDE3Mjog YWxsXSBFcnJvciAyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBNYWtlQ2hl Y2sgLSBGQUlMCkRlc2M6IFJ1biBCbHVleiBNYWtlIENoZWNrCk91dHB1dDoKCm1vbml0b3IvcGFj a2V0LmM6IEluIGZ1bmN0aW9uIOKAmHBhY2tldF9oY2lfaXNvZGF0YeKAmToKbW9uaXRvci9wYWNr ZXQuYzoxNDYxMTo0NTogZXJyb3I6IOKAmCVz4oCZIGRpcmVjdGl2ZSB3cml0aW5nIHVwIHRvIDE1 IGJ5dGVzIGludG8gYSByZWdpb24gb2Ygc2l6ZSBiZXR3ZWVuIDggYW5kIDQzIFstV2Vycm9yPWZv cm1hdC1vdmVyZmxvdz1dCjE0NjExIHwgIHNwcmludGYoZXh0cmFfc3RyLCAiZmxhZ3MgMHglMi4y eCBkbGVuICV1JXMlcyIsIGZsYWdzLCBkbGVuLCBzbGVuX3N0ciwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CjE0NjEyIHwgICAgICAgICAgdHNf c3RyKTsKICAgICAgfCAgICAgICAgICB+fn5+fn4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC91c3IvaW5jbHVkZS9zdGRpby5oOjg2NywKICAgICAg ICAgICAgICAgICBmcm9tIG1vbml0b3IvcGFja2V0LmM6MTg6Ci91c3IvaW5jbHVkZS94ODZfNjQt bGludXgtZ251L2JpdHMvc3RkaW8yLmg6MzY6MTA6IG5vdGU6IOKAmF9fYnVpbHRpbl9fX3Nwcmlu dGZfY2hr4oCZIG91dHB1dCBiZXR3ZWVuIDE4IGFuZCA2OCBieXRlcyBpbnRvIGEgZGVzdGluYXRp b24gb2Ygc2l6ZSA2MAogICAzNiB8ICAgcmV0dXJuIF9fYnVpbHRpbl9fX3NwcmludGZfY2hrIChf X3MsIF9fVVNFX0ZPUlRJRllfTEVWRUwgLSAxLAogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAzNyB8ICAgICAg IF9fYm9zIChfX3MpLCBfX2ZtdCwgX192YV9hcmdfcGFjayAoKSk7CiAgICAgIHwgICAgICAgfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWlu ZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzFdOiAqKiogW01ha2VmaWxlOjcwNTg6IG1vbml0b3Iv cGFja2V0Lm9dIEVycm9yIDEKbWFrZTogKioqIFtNYWtlZmlsZToxMDgyMDogY2hlY2tdIEVycm9y IDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IENoZWNrVmFsZ3JpbmQgLSBG QUlMCkRlc2M6IFJ1biBCbHVleiBNYWtlIENoZWNrIHdpdGggVmFsZ3JpbmQKT3V0cHV0OgoKdG9v bHMvbWdtdC10ZXN0ZXIuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKAmToKdG9vbHMvbWdtdC10ZXN0 ZXIuYzoxMjk5MDo1OiBub3RlOiB2YXJpYWJsZSB0cmFja2luZyBzaXplIGxpbWl0IGV4Y2VlZGVk IHdpdGgg4oCYLWZ2YXItdHJhY2tpbmctYXNzaWdubWVudHPigJksIHJldHJ5aW5nIHdpdGhvdXQK MTI5OTAgfCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICB8ICAgICBefn5+ Cm1vbml0b3IvcGFja2V0LmM6IEluIGZ1bmN0aW9uIOKAmHBhY2tldF9oY2lfaXNvZGF0YeKAmToK bW9uaXRvci9wYWNrZXQuYzoxNDYxMTo0NTogZXJyb3I6IOKAmCVz4oCZIGRpcmVjdGl2ZSB3cml0 aW5nIHVwIHRvIDE1IGJ5dGVzIGludG8gYSByZWdpb24gb2Ygc2l6ZSBiZXR3ZWVuIDggYW5kIDQz IFstV2Vycm9yPWZvcm1hdC1vdmVyZmxvdz1dCjE0NjExIHwgIHNwcmludGYoZXh0cmFfc3RyLCAi ZmxhZ3MgMHglMi4yeCBkbGVuICV1JXMlcyIsIGZsYWdzLCBkbGVuLCBzbGVuX3N0ciwKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CjE0NjEyIHwg ICAgICAgICAgdHNfc3RyKTsKICAgICAgfCAgICAgICAgICB+fn5+fn4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC91c3IvaW5jbHVkZS9zdGRpby5o Ojg2NywKICAgICAgICAgICAgICAgICBmcm9tIG1vbml0b3IvcGFja2V0LmM6MTg6Ci91c3IvaW5j bHVkZS94ODZfNjQtbGludXgtZ251L2JpdHMvc3RkaW8yLmg6MzY6MTA6IG5vdGU6IOKAmF9fYnVp bHRpbl9fX3NwcmludGZfY2hr4oCZIG91dHB1dCBiZXR3ZWVuIDE4IGFuZCA2OCBieXRlcyBpbnRv IGEgZGVzdGluYXRpb24gb2Ygc2l6ZSA2MAogICAzNiB8ICAgcmV0dXJuIF9fYnVpbHRpbl9fX3Nw cmludGZfY2hrIChfX3MsIF9fVVNFX0ZPUlRJRllfTEVWRUwgLSAxLAogICAgICB8ICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgog ICAzNyB8ICAgICAgIF9fYm9zIChfX3MpLCBfX2ZtdCwgX192YV9hcmdfcGFjayAoKSk7CiAgICAg IHwgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjYzE6IGFsbCB3 YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzFdOiAqKiogW01ha2VmaWxlOjcw NTg6IG1vbml0b3IvcGFja2V0Lm9dIEVycm9yIDEKbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVu ZmluaXNoZWQgam9icy4uLi4KbWFrZTogKioqIFtNYWtlZmlsZToxMDgyMDogY2hlY2tdIEVycm9y IDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IENoZWNrU21hdGNoIC0gRkFJ TApEZXNjOiBSdW4gc21hdGNoIHRvb2wgd2l0aCBzb3VyY2UKT3V0cHV0OgoKc3JjL3NoYXJlZC9j cnlwdG8uYzoyNzE6MjE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpz cmMvc2hhcmVkL2NyeXB0by5jOjI3MjoyMzogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5 IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6NzY0OjMxOiB3YXJuaW5nOiBWYXJp YWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LWhlbHBlcnMuYzo4NDI6 MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dh dHQtaGVscGVycy5jOjEzMzU6MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1 c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjEzNjY6MjM6IHdhcm5pbmc6IFZhcmlhYmxl IGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtc2VydmVyLmM6MjcxOjI1OiB3 YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LXNl cnZlci5jOjYxNDoyNTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNy Yy9zaGFyZWQvZ2F0dC1zZXJ2ZXIuYzo3MTI6MjU6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBh cnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2JhcC5jOjMxODoyNTogd2FybmluZzogYXJyYXkgb2Yg ZmxleGlibGUgc3RydWN0dXJlcwpzcmMvc2hhcmVkL2JhcC5jOiBub3RlOiBpbiBpbmNsdWRlZCBm aWxlOgouL3NyYy9zaGFyZWQvYXNjcy5oOjg4OjI1OiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJs ZSBzdHJ1Y3R1cmVzCnNyYy9zaGFyZWQvc2hlbGwuYzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZSAo dGhyb3VnaCAvdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmVhZGxpbmUuaCk6Ci91c3IvaW5jbHVkZS9y ZWFkbGluZS9ybHR5cGVkZWZzLmg6MzU6MjM6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRl Y2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3Js dHlwZWRlZnMuaDozNjoyNTogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24gJ1ZGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMu aDozNzoyNzogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24gJ0NQRnVuY3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6Mzg6Mjk6 IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdDUFBG dW5jdGlvbicKc3JjL3NoYXJlZC9jcnlwdG8uYzoyNzE6MjE6IHdhcm5pbmc6IFZhcmlhYmxlIGxl bmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2NyeXB0by5jOjI3MjoyMzogd2FybmluZzog VmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6 NzY0OjMxOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJl ZC9nYXR0LWhlbHBlcnMuYzo4NDI6MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBp cyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjEzMzU6MzE6IHdhcm5pbmc6IFZhcmlh YmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjEzNjY6 MjM6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dh dHQtc2VydmVyLmM6MjcxOjI1OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNl ZC4Kc3JjL3NoYXJlZC9nYXR0LXNlcnZlci5jOjYxNDoyNTogd2FybmluZzogVmFyaWFibGUgbGVu Z3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1zZXJ2ZXIuYzo3MTI6MjU6IHdhcm5p bmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2JhcC5jOjMxODoy NTogd2FybmluZzogYXJyYXkgb2YgZmxleGlibGUgc3RydWN0dXJlcwpzcmMvc2hhcmVkL2JhcC5j OiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL3NyYy9zaGFyZWQvYXNjcy5oOjg4OjI1OiB3YXJu aW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCnNyYy9zaGFyZWQvc2hlbGwuYzogbm90 ZTogaW4gaW5jbHVkZWQgZmlsZSAodGhyb3VnaCAvdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmVhZGxp bmUuaCk6Ci91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6MzU6MjM6IHdhcm5pbmc6 IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdGdW5jdGlvbicKL3Vz ci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozNjoyNTogd2FybmluZzogbm9uLUFOU0kg ZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ1ZGdW5jdGlvbicKL3Vzci9pbmNsdWRl L3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozNzoyNzogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24g ZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ0NQRnVuY3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGlu ZS9ybHR5cGVkZWZzLmg6Mzg6Mjk6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0 aW9uIG9mIGZ1bmN0aW9uICdDUFBGdW5jdGlvbicKdG9vbHMvbWVzaC1jZmd0ZXN0LmM6MTQ1Mzox Nzogd2FybmluZzogdW5rbm93biBlc2NhcGUgc2VxdWVuY2U6ICdcJScKdG9vbHMvc2NvLXRlc3Rl ci5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL2xpYi9ibHVldG9vdGgvYmx1ZXRvb3RoLmg6 MjMyOjE1OiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCi4vbGliL2JsdWV0 b290aC9ibHVldG9vdGguaDoyMzc6MzE6IHdhcm5pbmc6IGFycmF5IG9mIGZsZXhpYmxlIHN0cnVj dHVyZXMKdG9vbHMvYm5lcHRlc3QuYzo2MzQ6Mzk6IHdhcm5pbmc6IHVua25vd24gZXNjYXBlIHNl cXVlbmNlOiAnXCUnCnRvb2xzL3NlcTJic2VxLmM6NTc6MjY6IHdhcm5pbmc6IFZhcmlhYmxlIGxl bmd0aCBhcnJheSBpcyB1c2VkLgp0b29scy9vYmV4LWNsaWVudC10b29sLmM6IG5vdGU6IGluIGlu Y2x1ZGVkIGZpbGUgKHRocm91Z2ggL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JlYWRsaW5lLmgpOgov dXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVmcy5oOjM1OjIzOiB3YXJuaW5nOiBub24tQU5T SSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnRnVuY3Rpb24nCi91c3IvaW5jbHVk ZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6MzY6MjU6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9u IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdWRnVuY3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGlu ZS9ybHR5cGVkZWZzLmg6Mzc6Mjc6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0 aW9uIG9mIGZ1bmN0aW9uICdDUEZ1bmN0aW9uJwovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBl ZGVmcy5oOjM4OjI5OiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBm dW5jdGlvbiAnQ1BQRnVuY3Rpb24nCmNsaWVudC9idHBjbGllbnQvZ2F0dC5jOiBub3RlOiBpbiBp bmNsdWRlZCBmaWxlOgouL3NyYy9zaGFyZWQvYnRwLmg6MzM1OjQxOiB3YXJuaW5nOiBhcnJheSBv ZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCi4vc3JjL3NoYXJlZC9idHAuaDozNDA6NTU6IHdhcm5pbmc6 IGFycmF5IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKLi9zcmMvc2hhcmVkL2J0cC5oOjM2Mzo0Nzog d2FybmluZzogYXJyYXkgb2YgZmxleGlibGUgc3RydWN0dXJlcwouL3NyYy9zaGFyZWQvYnRwLmg6 MzkyOjQyOiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCnNyYy9hZHZlcnRp c2luZy5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL3NyYy9zaGFyZWQvbWdtdC5oOjk1OjI1 OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIHVuc2lnbmVkIGludCBlbnVtIG1nbXRfaW9fY2FwYWJp bGl0eQpzcmMvYWdlbnQuYzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZToKc3JjL3NoYXJlZC9xdWV1 ZS5oOjE5OjIwOiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIHN0cnVjdCBxdWV1ZV9lbnRyeQpzcmMv YWR2X21vbml0b3IuYzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZToKLi9zcmMvc2hhcmVkL21nbXQu aDo5NToyNTogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiB1bnNpZ25lZCBpbnQgZW51bSBtZ210X2lv X2NhcGFiaWxpdHkKdW5pdC9hdmN0cC5jOjUwNTozNDogd2FybmluZzogVmFyaWFibGUgbGVuZ3Ro IGFycmF5IGlzIHVzZWQuCnVuaXQvYXZjdHAuYzo1NTY6MzQ6IHdhcm5pbmc6IFZhcmlhYmxlIGxl bmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L3Rlc3QtYXZyY3AuYzozNzM6MjY6IHdhcm5pbmc6IFZh cmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L3Rlc3QtYXZyY3AuYzozOTg6MjY6IHdh cm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L3Rlc3QtYXZyY3AuYzo0 MTQ6MjQ6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L2F2cmNw LWxpYi5jOjEwODU6MzQ6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp1 bml0L2F2cmNwLWxpYi5jOjE1ODM6MzQ6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBp cyB1c2VkLgp1bml0L2F2cmNwLWxpYi5jOjE2MTI6MzQ6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0 aCBhcnJheSBpcyB1c2VkLgp1bml0L2F2cmNwLWxpYi5jOjE2Mzg6MzQ6IHdhcm5pbmc6IFZhcmlh YmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvYWR2ZXJ0aXNpbmcuYzogbm90ZTogaW4gaW5j bHVkZWQgZmlsZToKLi9zcmMvc2hhcmVkL21nbXQuaDo5NToyNTogZXJyb3I6IHJlZGVmaW5pdGlv biBvZiB1bnNpZ25lZCBpbnQgZW51bSBtZ210X2lvX2NhcGFiaWxpdHkKc3JjL2FnZW50LmM6IG5v dGU6IGluIGluY2x1ZGVkIGZpbGU6CnNyYy9zaGFyZWQvcXVldWUuaDoxOToyMDogZXJyb3I6IHJl ZGVmaW5pdGlvbiBvZiBzdHJ1Y3QgcXVldWVfZW50cnkKc3JjL2Fkdl9tb25pdG9yLmM6IG5vdGU6 IGluIGluY2x1ZGVkIGZpbGU6Ci4vc3JjL3NoYXJlZC9tZ210Lmg6OTU6MjU6IGVycm9yOiByZWRl ZmluaXRpb24gb2YgdW5zaWduZWQgaW50IGVudW0gbWdtdF9pb19jYXBhYmlsaXR5CnNyYy9tYWlu LmM6IG5vdGU6IGluIGluY2x1ZGVkIGZpbGUgKHRocm91Z2ggc3JjL2RldmljZS5oKToKLi9zcmMv c2hhcmVkL3F1ZXVlLmg6MTk6MjA6IGVycm9yOiByZWRlZmluaXRpb24gb2Ygc3RydWN0IHF1ZXVl X2VudHJ5Cm1lc2gvbWVzaC1pby1tZ210LmM6NTI1OjY3OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5n dGggYXJyYXkgaXMgdXNlZC4KY2xpZW50L2Rpc3BsYXkuYzogbm90ZTogaW4gaW5jbHVkZWQgZmls ZSAodGhyb3VnaCAvdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmVhZGxpbmUuaCk6Ci91c3IvaW5jbHVk ZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6MzU6MjM6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9u IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5l L3JsdHlwZWRlZnMuaDozNjoyNTogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRp b24gb2YgZnVuY3Rpb24gJ1ZGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRl ZnMuaDozNzoyNzogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24gJ0NQRnVuY3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6Mzg6 Mjk6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdD UFBGdW5jdGlvbicKc3JjL3NoYXJlZC9jcnlwdG8uYzoyNzE6MjE6IHdhcm5pbmc6IFZhcmlhYmxl IGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2NyeXB0by5jOjI3MjoyMzogd2Fybmlu ZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJz LmM6NzY0OjMxOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3No YXJlZC9nYXR0LWhlbHBlcnMuYzo4NDI6MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJh eSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtc2VydmVyLmM6MjcxOjI1OiB3YXJuaW5nOiBWYXJp YWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9nYXR0LWhlbHBlcnMuYzoxMzM1 OjMxOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9n YXR0LWhlbHBlcnMuYzoxMzY2OjIzOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMg dXNlZC4Kc3JjL3NoYXJlZC9nYXR0LXNlcnZlci5jOjYxNDoyNTogd2FybmluZzogVmFyaWFibGUg bGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1zZXJ2ZXIuYzo3MTI6MjU6IHdh cm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2JhcC5jOjMx ODoyNTogd2FybmluZzogYXJyYXkgb2YgZmxleGlibGUgc3RydWN0dXJlcwpzcmMvc2hhcmVkL2Jh cC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL3NyYy9zaGFyZWQvYXNjcy5oOjg4OjI1OiB3 YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCnNyYy9zaGFyZWQvc2hlbGwuYzog bm90ZTogaW4gaW5jbHVkZWQgZmlsZSAodGhyb3VnaCAvdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmVh ZGxpbmUuaCk6Ci91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6MzU6MjM6IHdhcm5p bmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdGdW5jdGlvbicK L3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozNjoyNTogd2FybmluZzogbm9uLUFO U0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ1ZGdW5jdGlvbicKL3Vzci9pbmNs dWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozNzoyNzogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rp b24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ0NQRnVuY3Rpb24nCi91c3IvaW5jbHVkZS9yZWFk bGluZS9ybHR5cGVkZWZzLmg6Mzg6Mjk6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xh cmF0aW9uIG9mIGZ1bmN0aW9uICdDUFBGdW5jdGlvbicKbW9uaXRvci9wYWNrZXQuYzoyMDAyOjI2 OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4KbW9uaXRvci9wYWNrZXQu Yzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZToKbW9uaXRvci9idC5oOjM5MjQ6NTI6IHdhcm5pbmc6 IGFycmF5IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKbW9uaXRvci9idC5oOjM5MTI6NDA6IHdhcm5p bmc6IGFycmF5IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKbW9uaXRvci9tc2Z0LmM6IG5vdGU6IGlu IGluY2x1ZGVkIGZpbGU6Cm1vbml0b3IvbXNmdC5oOjg4OjQ0OiB3YXJuaW5nOiBhcnJheSBvZiBm bGV4aWJsZSBzdHJ1Y3R1cmVzCnRvb2xzL3JjdGVzdC5jOjYzMTozMzogd2FybmluZzogbm9uLUFO U0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ2F1dG9tYXRlZF9zZW5kX3JlY3Yn CnRvb2xzL2hleDJoY2QuYzoxMzY6MjY6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBp cyB1c2VkLgp0b29scy9tZXNoY3RsLmM6MzI0OjMzOiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlv biBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZm9yZ2V0X21lc2hfZGV2aWNlcycKdG9vbHMvbWVz aC1nYXR0L25vZGUuYzo0NTY6Mzk6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0 aW9uIG9mIGZ1bmN0aW9uICdub2RlX2dldF9sb2NhbF9ub2RlJwp0b29scy9tZXNoLWdhdHQvbmV0 LmM6MTIzOTozMDogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24gJ2dldF9uZXh0X3NlcScKdG9vbHMvbWVzaC1nYXR0L25ldC5jOjIxOTM6Mjk6IHdhcm5p bmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICduZXRfZ2V0X2Rl ZmF1bHRfdHRsJwp0b29scy9tZXNoLWdhdHQvbmV0LmM6MjIwNzoyNjogd2FybmluZzogbm9uLUFO U0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ25ldF9nZXRfc2VxX251bScKdG9v bHMvbWVzaC1nYXR0L3Byb3YuYzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZSAodGhyb3VnaCAvdXNy L2luY2x1ZGUvcmVhZGxpbmUvcmVhZGxpbmUuaCk6Ci91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5 cGVkZWZzLmg6MzU6MjM6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9m IGZ1bmN0aW9uICdGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDoz NjoyNTogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g J1ZGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozNzoyNzogd2Fy bmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ0NQRnVuY3Rp b24nCi91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6Mzg6Mjk6IHdhcm5pbmc6IG5v bi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdDUFBGdW5jdGlvbicKdG9v bHMvbWVzaC1nYXR0L29ub2ZmLW1vZGVsLmM6IG5vdGU6IGluIGluY2x1ZGVkIGZpbGUgKHRocm91 Z2ggL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JlYWRsaW5lLmgpOgovdXNyL2luY2x1ZGUvcmVhZGxp bmUvcmx0eXBlZGVmcy5oOjM1OjIzOiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJh dGlvbiBvZiBmdW5jdGlvbiAnRnVuY3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVk ZWZzLmg6MzY6MjU6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1 bmN0aW9uICdWRnVuY3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6Mzc6 Mjc6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdD UEZ1bmN0aW9uJwovdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmx0eXBlZGVmcy5oOjM4OjI5OiB3YXJu aW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnQ1BQRnVuY3Rp b24nCmVsbC9sb2cuYzo0MzE6NjU6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0 aW9uIG9mIGZ1bmN0aW9uICdyZWdpc3Rlcl9kZWJ1Z19zZWN0aW9uJwplbGwvbG9nLmM6NDM5OjY4 OiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZnJl ZV9kZWJ1Z19zZWN0aW9ucycKZWxsL3JhbmRvbS5jOjYwOjQyOiB3YXJuaW5nOiBub24tQU5TSSBm dW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnbF9nZXRyYW5kb21faXNfc3VwcG9ydGVk JwplbGwvY2lwaGVyLmM6NjYwOjI4OiB3YXJuaW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJh dGlvbiBvZiBmdW5jdGlvbiAnaW5pdF9zdXBwb3J0ZWQnCmVsbC9jaGVja3N1bS5jOjM4MjoyODog d2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ2luaXRf c3VwcG9ydGVkJwplbGwvY2hlY2tzdW0uYzo0NDQ6NDc6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0 aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdsX2NoZWNrc3VtX2NtYWNfYWVzX3N1cHBvcnRl ZCcKZWxsL2NpcGhlci5jOjUxOToyNDogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlz IHVzZWQuCmVsbC9jZXJ0LWNyeXB0by5jOjM2OjMzOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGgg YXJyYXkgaXMgdXNlZC4KZWxsL2NlcnQtY3J5cHRvLmM6MTQyOjM2OiB3YXJuaW5nOiBWYXJpYWJs ZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4KZWxsL2NlcnQtY3J5cHRvLmM6MTk4OjM2OiB3YXJuaW5n OiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4KZWxsL2NlcnQtY3J5cHRvLmM6MjUxOjMx OiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4KZWxsL2tleS5jOjU1MDoy NTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCmVsbC9kYnVzLXNlcnZp Y2UuYzo1NDg6NDk6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1 bmN0aW9uICdfZGJ1c19vYmplY3RfdHJlZV9uZXcnCmVsbC9kYnVzLWZpbHRlci5jOjIzMzo0Njog d2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCmVsbC90bHMuYzo0NToyNTog d2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCmVsbC90bHMuYzo4NjoyMjog d2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCmVsbC90bHMuYzo4Njo0Njog d2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCmVsbC90bHMtc3VpdGVzLmM6 MTA3OToyNTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCmVsbC90bHMt c3VpdGVzLmM6MTA4MTozNDogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQu CmVsbC90bHMtc3VpdGVzLmM6MTA4NDo0MTogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5 IGlzIHVzZWQuCmVsbC90bHMtc3VpdGVzLmM6MTEzMzo0MTogd2FybmluZzogVmFyaWFibGUgbGVu Z3RoIGFycmF5IGlzIHVzZWQuCmVsbC90bHMuYzoxODE5OjI2OiB3YXJuaW5nOiBWYXJpYWJsZSBs ZW5ndGggYXJyYXkgaXMgdXNlZC4KZW11bGF0b3IvYnRkZXYuYzo0Nzg6Mjk6IHdhcm5pbmc6IFZh cmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgplbXVsYXRvci9idGhvc3QuYzo3MDM6Mjg6IHdh cm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgplbXVsYXRvci9idGhvc3QuYzo3 MDQ6MzI6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgplbXVsYXRvci9i dGhvc3QuYzo5NDQ6Mjg6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpl bXVsYXRvci9idGhvc3QuYzo5Nzg6Mjg6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBp cyB1c2VkLgplbXVsYXRvci9idGhvc3QuYzo5Nzk6MzI6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0 aCBhcnJheSBpcyB1c2VkLgphdHRyaWIvZ2F0dHRvb2wuYzoyMzY6MjM6IHdhcm5pbmc6IFZhcmlh YmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgphdHRyaWIvaW50ZXJhY3RpdmUuYzogbm90ZTogaW4g aW5jbHVkZWQgZmlsZSAodGhyb3VnaCAvdXNyL2luY2x1ZGUvcmVhZGxpbmUvcmVhZGxpbmUuaCk6 Ci91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5cGVkZWZzLmg6MzU6MjM6IHdhcm5pbmc6IG5vbi1B TlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdGdW5jdGlvbicKL3Vzci9pbmNs dWRlL3JlYWRsaW5lL3JsdHlwZWRlZnMuaDozNjoyNTogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rp b24gZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ1ZGdW5jdGlvbicKL3Vzci9pbmNsdWRlL3JlYWRs aW5lL3JsdHlwZWRlZnMuaDozNzoyNzogd2FybmluZzogbm9uLUFOU0kgZnVuY3Rpb24gZGVjbGFy YXRpb24gb2YgZnVuY3Rpb24gJ0NQRnVuY3Rpb24nCi91c3IvaW5jbHVkZS9yZWFkbGluZS9ybHR5 cGVkZWZzLmg6Mzg6Mjk6IHdhcm5pbmc6IG5vbi1BTlNJIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9m IGZ1bmN0aW9uICdDUFBGdW5jdGlvbicKYXR0cmliL2ludGVyYWN0aXZlLmM6MTc1OjI3OiB3YXJu aW5nOiBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZGlzY29ubmVj dF9pbycKYXR0cmliL2ludGVyYWN0aXZlLmM6MzAwOjIzOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5n dGggYXJyYXkgaXMgdXNlZC4KbW9uaXRvci9wYWNrZXQuYzogSW4gZnVuY3Rpb24g4oCYcGFja2V0 X2hjaV9pc29kYXRh4oCZOgptb25pdG9yL3BhY2tldC5jOjE0NjExOjQ1OiBlcnJvcjog4oCYJXPi gJkgZGlyZWN0aXZlIHdyaXRpbmcgdXAgdG8gMTUgYnl0ZXMgaW50byBhIHJlZ2lvbiBvZiBzaXpl IGJldHdlZW4gOCBhbmQgNDMgWy1XZXJyb3I9Zm9ybWF0LW92ZXJmbG93PV0KMTQ2MTEgfCAgc3By aW50ZihleHRyYV9zdHIsICJmbGFncyAweCUyLjJ4IGRsZW4gJXUlcyVzIiwgZmxhZ3MsIGRsZW4s IHNsZW5fc3RyLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KMTQ2MTIgfCAgICAgICAgICB0c19zdHIpOwogICAgICB8ICAgICAgICAgIH5+fn5+ fiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3Vz ci9pbmNsdWRlL3N0ZGlvLmg6ODY3LAogICAgICAgICAgICAgICAgIGZyb20gbW9uaXRvci9wYWNr ZXQuYzoxODoKL3Vzci9pbmNsdWRlL3g4Nl82NC1saW51eC1nbnUvYml0cy9zdGRpbzIuaDozNjox MDogbm90ZTog4oCYX19idWlsdGluX19fc3ByaW50Zl9jaGvigJkgb3V0cHV0IGJldHdlZW4gMTgg YW5kIDY4IGJ5dGVzIGludG8gYSBkZXN0aW5hdGlvbiBvZiBzaXplIDYwCiAgIDM2IHwgICByZXR1 cm4gX19idWlsdGluX19fc3ByaW50Zl9jaGsgKF9fcywgX19VU0VfRk9SVElGWV9MRVZFTCAtIDEs CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgIDM3IHwgICAgICAgX19ib3MgKF9fcyksIF9fZm10LCBfX3ZhX2Fy Z19wYWNrICgpKTsKICAgICAgfCAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2VbMV06 ICoqKiBbTWFrZWZpbGU6NzA1ODogbW9uaXRvci9wYWNrZXQub10gRXJyb3IgMQptYWtlWzFdOiAq KiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgptYWtlOiAqKiogW01ha2VmaWxlOjQx NzI6IGFsbF0gRXJyb3IgMgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogYmx1 ZXptYWtlZXh0ZWxsIC0gRkFJTApEZXNjOiBCdWlsZCBCbHVleiB3aXRoIEV4dGVybmFsIEVMTApP dXRwdXQ6Cgptb25pdG9yL3BhY2tldC5jOiBJbiBmdW5jdGlvbiDigJhwYWNrZXRfaGNpX2lzb2Rh dGHigJk6Cm1vbml0b3IvcGFja2V0LmM6MTQ2MTE6NDU6IGVycm9yOiDigJglc+KAmSBkaXJlY3Rp dmUgd3JpdGluZyB1cCB0byAxNSBieXRlcyBpbnRvIGEgcmVnaW9uIG9mIHNpemUgYmV0d2VlbiA4 IGFuZCA0MyBbLVdlcnJvcj1mb3JtYXQtb3ZlcmZsb3c9XQoxNDYxMSB8ICBzcHJpbnRmKGV4dHJh X3N0ciwgImZsYWdzIDB4JTIuMnggZGxlbiAldSVzJXMiLCBmbGFncywgZGxlbiwgc2xlbl9zdHIs CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgox NDYxMiB8ICAgICAgICAgIHRzX3N0cik7CiAgICAgIHwgICAgICAgICAgfn5+fn5+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdXNyL2luY2x1ZGUv c3RkaW8uaDo4NjcsCiAgICAgICAgICAgICAgICAgZnJvbSBtb25pdG9yL3BhY2tldC5jOjE4Ogov dXNyL2luY2x1ZGUveDg2XzY0LWxpbnV4LWdudS9iaXRzL3N0ZGlvMi5oOjM2OjEwOiBub3RlOiDi gJhfX2J1aWx0aW5fX19zcHJpbnRmX2Noa+KAmSBvdXRwdXQgYmV0d2VlbiAxOCBhbmQgNjggYnl0 ZXMgaW50byBhIGRlc3RpbmF0aW9uIG9mIHNpemUgNjAKICAgMzYgfCAgIHJldHVybiBfX2J1aWx0 aW5fX19zcHJpbnRmX2NoayAoX19zLCBfX1VTRV9GT1JUSUZZX0xFVkVMIC0gMSwKICAgICAgfCAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgMzcgfCAgICAgICBfX2JvcyAoX19zKSwgX19mbXQsIF9fdmFfYXJnX3BhY2sgKCkp OwogICAgICB8ICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY2Mx OiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKbWFrZVsxXTogKioqIFtNYWtl ZmlsZTo3MDU4OiBtb25pdG9yL3BhY2tldC5vXSBFcnJvciAxCm1ha2VbMV06ICoqKiBXYWl0aW5n IGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2U6ICoqKiBbTWFrZWZpbGU6NDE3MjogYWxsXSBF cnJvciAyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBJbmNyZW1lbnRhbEJ1 aWxkIC0gRkFJTApEZXNjOiBJbmNyZW1lbnRhbCBidWlsZCB3aXRoIHRoZSBwYXRjaGVzIGluIHRo ZSBzZXJpZXMKT3V0cHV0OgoKbW9uaXRvci9wYWNrZXQuYzogSW4gZnVuY3Rpb24g4oCYcGFja2V0 X2hjaV9pc29kYXRh4oCZOgptb25pdG9yL3BhY2tldC5jOjE0NjExOjQ1OiBlcnJvcjog4oCYJXPi gJkgZGlyZWN0aXZlIHdyaXRpbmcgdXAgdG8gMTUgYnl0ZXMgaW50byBhIHJlZ2lvbiBvZiBzaXpl IGJldHdlZW4gOCBhbmQgNDMgWy1XZXJyb3I9Zm9ybWF0LW92ZXJmbG93PV0KMTQ2MTEgfCAgc3By aW50ZihleHRyYV9zdHIsICJmbGFncyAweCUyLjJ4IGRsZW4gJXUlcyVzIiwgZmxhZ3MsIGRsZW4s IHNsZW5fc3RyLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KMTQ2MTIgfCAgICAgICAgICB0c19zdHIpOwogICAgICB8ICAgICAgICAgIH5+fn5+ fiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3Vz ci9pbmNsdWRlL3N0ZGlvLmg6ODY3LAogICAgICAgICAgICAgICAgIGZyb20gbW9uaXRvci9wYWNr ZXQuYzoxODoKL3Vzci9pbmNsdWRlL3g4Nl82NC1saW51eC1nbnUvYml0cy9zdGRpbzIuaDozNjox MDogbm90ZTog4oCYX19idWlsdGluX19fc3ByaW50Zl9jaGvigJkgb3V0cHV0IGJldHdlZW4gMTgg YW5kIDY4IGJ5dGVzIGludG8gYSBkZXN0aW5hdGlvbiBvZiBzaXplIDYwCiAgIDM2IHwgICByZXR1 cm4gX19idWlsdGluX19fc3ByaW50Zl9jaGsgKF9fcywgX19VU0VfRk9SVElGWV9MRVZFTCAtIDEs CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgIDM3IHwgICAgICAgX19ib3MgKF9fcyksIF9fZm10LCBfX3ZhX2Fy Z19wYWNrICgpKTsKICAgICAgfCAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2VbMV06 ICoqKiBbTWFrZWZpbGU6NzA1ODogbW9uaXRvci9wYWNrZXQub10gRXJyb3IgMQptYWtlOiAqKiog W01ha2VmaWxlOjQxNzI6IGFsbF0gRXJyb3IgMgpbQmx1ZVosMi8yXSBtb25pdG9yOiBmaXggcGFy c2luZyBvZiBJU08gcGFja2V0IGRhdGEgaGVhZGVyIGFuZCBzbGVuIGNoZWNrCgptb25pdG9yL3Bh Y2tldC5jOiBJbiBmdW5jdGlvbiDigJhwYWNrZXRfaGNpX2lzb2RhdGHigJk6Cm1vbml0b3IvcGFj a2V0LmM6MTQ2MTE6NDU6IGVycm9yOiDigJglc+KAmSBkaXJlY3RpdmUgd3JpdGluZyB1cCB0byAx NSBieXRlcyBpbnRvIGEgcmVnaW9uIG9mIHNpemUgYmV0d2VlbiA4IGFuZCA0MyBbLVdlcnJvcj1m b3JtYXQtb3ZlcmZsb3c9XQoxNDYxMSB8ICBzcHJpbnRmKGV4dHJhX3N0ciwgImZsYWdzIDB4JTIu MnggZGxlbiAldSVzJXMiLCBmbGFncywgZGxlbiwgc2xlbl9zdHIsCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgoxNDYxMiB8ICAgICAgICAgIHRz X3N0cik7CiAgICAgIHwgICAgICAgICAgfn5+fn5+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdXNyL2luY2x1ZGUvc3RkaW8uaDo4NjcsCiAgICAg ICAgICAgICAgICAgZnJvbSBtb25pdG9yL3BhY2tldC5jOjE4OgovdXNyL2luY2x1ZGUveDg2XzY0 LWxpbnV4LWdudS9iaXRzL3N0ZGlvMi5oOjM2OjEwOiBub3RlOiDigJhfX2J1aWx0aW5fX19zcHJp bnRmX2Noa+KAmSBvdXRwdXQgYmV0d2VlbiAxOCBhbmQgNjggYnl0ZXMgaW50byBhIGRlc3RpbmF0 aW9uIG9mIHNpemUgNjAKICAgMzYgfCAgIHJldHVybiBfX2J1aWx0aW5fX19zcHJpbnRmX2NoayAo X19zLCBfX1VTRV9GT1JUSUZZX0xFVkVMIC0gMSwKICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgMzcgfCAgICAg ICBfX2JvcyAoX19zKSwgX19mbXQsIF9fdmFfYXJnX3BhY2sgKCkpOwogICAgICB8ICAgICAgIH5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY2MxOiBhbGwgd2FybmluZ3MgYmVp bmcgdHJlYXRlZCBhcyBlcnJvcnMKbWFrZVsxXTogKioqIFtNYWtlZmlsZTo3MDU4OiBtb25pdG9y L3BhY2tldC5vXSBFcnJvciAxCm1ha2U6ICoqKiBbTWFrZWZpbGU6NDE3MjogYWxsXSBFcnJvciAy CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBTY2FuQnVpbGQgLSBGQUlMCkRl c2M6IFJ1biBTY2FuIEJ1aWxkCk91dHB1dDoKCnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzo0NDc6 MjE6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBnYXR0 X2RiX3VucmVnaXN0ZXIob3AtPmNsaWVudC0+ZGIsIG9wLT5kYl9pZCk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjY5MjoyOiB3 YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgZGlzY292ZXJ5 X29wX2NvbXBsZXRlKG9wLCBmYWxzZSwgYXR0X2Vjb2RlKTsKICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzo5 OTI6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGRp c2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgc3VjY2VzcywgYXR0X2Vjb2RlKTsKICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0 LWNsaWVudC5jOjEwOTg6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVl ZAogICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgc3VjY2VzcywgYXR0X2Vjb2RlKTsK ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3Jj L3NoYXJlZC9nYXR0LWNsaWVudC5jOjEyOTI6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRl ciBpdCBpcyBmcmVlZAogICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgc3VjY2Vzcywg YXR0X2Vjb2RlKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjEzNTc6Mjogd2FybmluZzogVXNlIG9m IG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShv cCwgc3VjY2VzcywgYXR0X2Vjb2RlKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjE2MzI6Njogd2Fy bmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGlmIChyZWFkX2Ri X2hhc2gob3ApKSB7CiAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0 LWNsaWVudC5jOjE2Mzc6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVl ZAogICAgICAgIGRpc2NvdmVyX2FsbChvcCk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgpzcmMv c2hhcmVkL2dhdHQtY2xpZW50LmM6MTY5Mzo1Njogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRl ciBpdCBpcyBmcmVlZAogICAgICAgIG5vdGlmeV9kYXRhLT5jaHJjLT5jY2Nfd3JpdGVfaWQgPSBu b3RpZnlfZGF0YS0+YXR0X2lkID0gYXR0X2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+IF4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVu dC5jOjIxNDY6Njogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAg ICAgIGlmIChyZWFkX2RiX2hhc2gob3ApKSB7CiAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4K c3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjIxNTQ6ODogd2FybmluZzogVXNlIG9mIG1lbW9yeSBh ZnRlciBpdCBpcyBmcmVlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRpc2NvdmVyeV9vcF9yZWYob3ApLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzozMzMyOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkg YWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBjb21wbGV0ZV93cml0ZV9sb25nX29wKHJlcSwgc3Vj Y2VzcywgMCwgZmFsc2UpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjMzNTQ6Mjogd2FybmluZzog VXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIHJlcXVlc3RfdW5yZWYocmVx KTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KMTMgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMv c2hhcmVkL2JhcC5jOjE1NDM6ODogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBm cmVlZAogICAgICAgIGJhcCA9IGJ0X2JhcF9yZWZfc2FmZShiYXApOwogICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvYmFwLmM6MjM1NDoyMDogd2FybmluZzogVXNl IG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIHJldHVybiBxdWV1ZV9maW5kKHN0 cmVhbS0+YmFwLT5zdHJlYW1zLCBOVUxMLCBzdHJlYW0pOwogICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvc2hhcmVk L2dhdHQtY2xpZW50LmM6NDQ3OjIxOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlz IGZyZWVkCiAgICAgICAgZ2F0dF9kYl91bnJlZ2lzdGVyKG9wLT5jbGllbnQtPmRiLCBvcC0+ZGJf aWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0 dC1jbGllbnQuYzo2OTI6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVl ZAogICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgZmFsc2UsIGF0dF9lY29kZSk7CiAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hh cmVkL2dhdHQtY2xpZW50LmM6OTkyOjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQg aXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9l Y29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxMDk4OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1v cnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIHN1 Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxMjkyOjI6IHdhcm5pbmc6 IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcnlfb3BfY29t cGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxMzU3 OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNj b3Zlcnlfb3BfY29tcGxldGUob3AsIHN1Y2Nlc3MsIGF0dF9lY29kZSk7CiAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1j bGllbnQuYzoxNjMyOjY6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQK ICAgICAgICBpZiAocmVhZF9kYl9oYXNoKG9wKSkgewogICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxNjM3OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1v cnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBkaXNjb3Zlcl9hbGwob3ApOwogICAgICAgIF5+ fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjE2OTM6NTY6IHdhcm5pbmc6 IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBub3RpZnlfZGF0YS0+Y2hy Yy0+Y2NjX3dyaXRlX2lkID0gbm90aWZ5X2RhdGEtPmF0dF9pZCA9IGF0dF9pZDsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fiBeCnNy Yy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoyMTQ2OjY6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0 ZXIgaXQgaXMgZnJlZWQKICAgICAgICBpZiAocmVhZF9kYl9oYXNoKG9wKSkgewogICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoyMTU0Ojg6IHdhcm5p bmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNjb3Zlcnlfb3BfcmVmKG9wKSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MzMzMjoyOiB3YXJu aW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgY29tcGxldGVfd3Jp dGVfbG9uZ19vcChyZXEsIHN1Y2Nlc3MsIDAsIGZhbHNlKTsKICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQu YzozMzU0OjI6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAg ICByZXF1ZXN0X3VucmVmKHJlcSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CjEzIHdhcm5p bmdzIGdlbmVyYXRlZC4KdG9vbHMvaGNpYXR0YWNoLmM6ODE3Ojc6IHdhcm5pbmc6IEFsdGhvdWdo IHRoZSB2YWx1ZSBzdG9yZWQgdG8gJ24nIGlzIHVzZWQgaW4gdGhlIGVuY2xvc2luZyBleHByZXNz aW9uLCB0aGUgdmFsdWUgaXMgbmV2ZXIgYWN0dWFsbHkgcmVhZCBmcm9tICduJwogICAgICAgIGlm ICgobiA9IHJlYWRfaGNpX2V2ZW50KGZkLCByZXNwLCAxMCkpIDwgMCkgewogICAgICAgICAgICAg XiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvaGNpYXR0YWNoLmM6ODY1Ojc6 IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9yZWQgdG8gJ24nIGlzIHVzZWQgaW4gdGhl IGVuY2xvc2luZyBleHByZXNzaW9uLCB0aGUgdmFsdWUgaXMgbmV2ZXIgYWN0dWFsbHkgcmVhZCBm cm9tICduJwogICAgICAgIGlmICgobiA9IHJlYWRfaGNpX2V2ZW50KGZkLCByZXNwLCA0KSkgPCAw KSB7CiAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2hj aWF0dGFjaC5jOjg4Nzo4OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3RvcmVkIHRvICdu JyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVy IGFjdHVhbGx5IHJlYWQgZnJvbSAnbicKICAgICAgICAgICAgICAgIGlmICgobiA9IHJlYWRfaGNp X2V2ZW50KGZkLCByZXNwLCAxMCkpIDwgMCkgewogICAgICAgICAgICAgICAgICAgICBeICAgfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9oY2lhdHRhY2guYzo5MDk6Nzogd2Fybmlu ZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0byAnbicgaXMgdXNlZCBpbiB0aGUgZW5jbG9z aW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBpcyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ24n CiAgICAgICAgaWYgKChuID0gcmVhZF9oY2lfZXZlbnQoZmQsIHJlc3AsIDQpKSA8IDApIHsKICAg ICAgICAgICAgIF4gICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvaGNpYXR0YWNo LmM6OTMwOjc6IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9yZWQgdG8gJ24nIGlzIHVz ZWQgaW4gdGhlIGVuY2xvc2luZyBleHByZXNzaW9uLCB0aGUgdmFsdWUgaXMgbmV2ZXIgYWN0dWFs bHkgcmVhZCBmcm9tICduJwogICAgICAgIGlmICgobiA9IHJlYWRfaGNpX2V2ZW50KGZkLCByZXNw LCA0KSkgPCAwKSB7CiAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ CnRvb2xzL2hjaWF0dGFjaC5jOjk3NDo3OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUgdmFsdWUgc3Rv cmVkIHRvICduJyBpcyB1c2VkIGluIHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVl IGlzIG5ldmVyIGFjdHVhbGx5IHJlYWQgZnJvbSAnbicKICAgICAgICBpZiAoKG4gPSByZWFkX2hj aV9ldmVudChmZCwgcmVzcCwgNikpIDwgMCkgewogICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgo2IHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL3NoYXJlZC9iYXAuYzox NTQzOjg6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBi YXAgPSBidF9iYXBfcmVmX3NhZmUoYmFwKTsKICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fgpzcmMvc2hhcmVkL2JhcC5jOjIzNTQ6MjA6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0 ZXIgaXQgaXMgZnJlZWQKICAgICAgICByZXR1cm4gcXVldWVfZmluZChzdHJlYW0tPmJhcC0+c3Ry ZWFtcywgTlVMTCwgc3RyZWFtKTsKICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL291aS5jOjUwOjI6IHdhcm5pbmc6 IFZhbHVlIHN0b3JlZCB0byAnaHdkYicgaXMgbmV2ZXIgcmVhZAogICAgICAgIGh3ZGIgPSB1ZGV2 X2h3ZGJfdW5yZWYoaHdkYik7CiAgICAgICAgXiAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fgpz cmMvb3VpLmM6NTM6Mjogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICd1ZGV2JyBpcyBuZXZlciBy ZWFkCiAgICAgICAgdWRldiA9IHVkZXZfdW5yZWYodWRldik7CiAgICAgICAgXiAgICAgIH5+fn5+ fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL3JmY29tbS5jOjIzNDozOiB3 YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2knIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAg IGkgPSBleGVjdnAoY21kYXJndlswXSwgY21kYXJndik7CiAgICAgICAgICAgICAgICBeICAgfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3JmY29tbS5jOjIzNDo3OiB3YXJuaW5nOiBO dWxsIHBvaW50ZXIgcGFzc2VkIHRvIDFzdCBwYXJhbWV0ZXIgZXhwZWN0aW5nICdub25udWxsJwog ICAgICAgICAgICAgICAgaSA9IGV4ZWN2cChjbWRhcmd2WzBdLCBjbWRhcmd2KTsKICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvcmZjb21tLmM6MzU0 Ojg6IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9yZWQgdG8gJ2ZkJyBpcyB1c2VkIGlu IHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVhbGx5IHJl YWQgZnJvbSAnZmQnCiAgICAgICAgICAgICAgICBpZiAoKGZkID0gb3BlbihkZXZuYW1lLCBPX1JE T05MWSB8IE9fTk9DVFRZKSkgPCAwKSB7CiAgICAgICAgICAgICAgICAgICAgIF4gICAgfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9yZmNvbW0uYzo0OTc6MTQ6IHdhcm5p bmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3IgdW5kZWZpbmVkCiAgICAgICAgcmVxLmNo YW5uZWwgPSByYWRkci5yY19jaGFubmVsOwogICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+ fn5+fn5+fgp0b29scy9yZmNvbW0uYzo1MTU6ODogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVl IHN0b3JlZCB0byAnZmQnIGlzIHVzZWQgaW4gdGhlIGVuY2xvc2luZyBleHByZXNzaW9uLCB0aGUg dmFsdWUgaXMgbmV2ZXIgYWN0dWFsbHkgcmVhZCBmcm9tICdmZCcKICAgICAgICAgICAgICAgIGlm ICgoZmQgPSBvcGVuKGRldm5hbWUsIE9fUkRPTkxZIHwgT19OT0NUVFkpKSA8IDApIHsKICAgICAg ICAgICAgICAgICAgICAgXiAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjUg d2FybmluZ3MgZ2VuZXJhdGVkLgp0b29scy9jaXB0b29sLmM6MzUxOjc6IHdhcm5pbmc6IDV0aCBm dW5jdGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFsdWUKICAgICAgICBz ayA9IGRvX2Nvbm5lY3QoY3RsLCBkZXZfaWQsICZzcmMsICZkc3QsIHBzbSwgKDEgPDwgQ01UUF9M T09QQkFDSykpOwogICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4Kc3JjL3Nk cC14bWwuYzoxMjY6MTA6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIGdhcmJhZ2Ugb3IgdW5k ZWZpbmVkCiAgICAgICAgICAgICAgICBidWZbMV0gPSBkYXRhW2kgKyAxXTsKICAgICAgICAgICAg ICAgICAgICAgICBeIH5+fn5+fn5+fn5+CnNyYy9zZHAteG1sLmM6MzA2OjExOiB3YXJuaW5nOiBB c3NpZ25lZCB2YWx1ZSBpcyBnYXJiYWdlIG9yIHVuZGVmaW5lZAogICAgICAgICAgICAgICAgICAg ICAgICBidWZbMV0gPSBkYXRhW2kgKyAxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4gfn5+fn5+fn5+fn4Kc3JjL3NkcC14bWwuYzozNDQ6MTE6IHdhcm5pbmc6IEFzc2lnbmVkIHZh bHVlIGlzIGdhcmJhZ2Ugb3IgdW5kZWZpbmVkCiAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zlsx XSA9IGRhdGFbaSArIDFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+ fn5+fgozIHdhcm5pbmdzIGdlbmVyYXRlZC4KdG9vbHMvc2RwdG9vbC5jOjk0MToyNjogd2Fybmlu ZzogUmVzdWx0IG9mICdtYWxsb2MnIGlzIGNvbnZlcnRlZCB0byBhIHBvaW50ZXIgb2YgdHlwZSAn dWludDMyX3QnLCB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCBzaXplb2Ygb3BlcmFuZCB0eXBl ICdpbnQnCiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICp2YWx1ZV9pbnQgPSBtYWxs b2Moc2l6ZW9mKGludCkpOwogICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+ICAgICAg ICAgICAgXn5+fn5+IH5+fn5+fn5+fn5+CnRvb2xzL3NkcHRvb2wuYzo5ODA6NDogd2FybmluZzog MXN0IGZ1bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXplZCB2YWx1ZQogICAg ICAgICAgICAgICAgICAgICAgICBmcmVlKGFsbG9jQXJyYXlbaV0pOwogICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL3NkcHRvb2wuYzozNzc3OjI6IHdhcm5p bmc6IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBwb2ludGVkIHRvIGJ5ICdzaS5uYW1lJwogICAg ICAgIHJldHVybiBhZGRfc2VydmljZSgwLCAmc2kpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CnRvb2xzL3NkcHRvb2wuYzo0MTEyOjQ6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFr IG9mIG1lbW9yeSBwb2ludGVkIHRvIGJ5ICdjb250ZXh0LnN2YycKICAgICAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KNCB3YXJu aW5ncyBnZW5lcmF0ZWQuCnRvb2xzL2F2dGVzdC5jOjI0Mzo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9y ZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjI1Mzo1OiB3YXJuaW5nOiBW YWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDQpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjI2Mjo1OiB3 YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5j OjI3Njo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0 LmM6MjgzOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRl c3QuYzoyOTA6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2 dGVzdC5jOjI5Nzo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVh ZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn4KdG9vbHMv YXZ0ZXN0LmM6MzA5OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciBy ZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1Ziwg NCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+ fn4KdG9vbHMvYXZ0ZXN0LmM6MzEzOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBp cyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUo c2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+ fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzIyOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0 byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVu ID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAg ICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzI2OjU6IHdhcm5pbmc6IFZhbHVl IHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzM1OjU6IHdhcm5p bmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzQy OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0 ZXN0LmM6MzY0OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFk CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvYXZ0ZXN0LmM6MzY4OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBu ZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ss IGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+ fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6Mzc3OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAn bGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0g d3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAg fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzgxOjU6IHdhcm5pbmc6IFZhbHVlIHN0 b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6Mzk0OjU6IHdhcm5pbmc6 IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCk7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6Mzk4OjU6 IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0 LmM6NDA1OjQ6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAg ICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICAgICAg ICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo0MTU6 NDogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAg ICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICAg ICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjU4MDozOiB3YXJu aW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAg bGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+ fn5+fn5+fgp0b29scy9hdnRlc3QuYzo1ODg6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICds ZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIGlu dmFsaWQgPyAyIDogMyk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjYwMjozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQg dG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1 ZiwgNCArIG1lZGlhX3RyYW5zcG9ydF9zaXplKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NjE1OjM6 IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAg ICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAzKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+ fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjYyNTozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQg dG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1 ZiwgMyk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRl c3QuYzo2Mzc6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQK ICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAgICAg XiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NjUyOjM6IHdhcm5pbmc6IFZh bHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBsZW4gPSB3 cml0ZShzaywgYnVmLCAzKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+ CnRvb2xzL2F2dGVzdC5jOjY2NDozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMg bmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAgICAg ICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo2NzM6Mzog d2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAg ICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+ fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NjgwOjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0 byAnbGVuJyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVm LCAyKTsKICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVz dC5jOjcxNjoyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZAog ICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIEFWQ1RQX0hFQURFUl9MRU5HVEggKyBzaXplb2Yo cGxheV9wcmVzc2VkKSk7CiAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgozMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRv b2xzL2J0cHJveHkuYzo4MzY6MTU6IHdhcm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0 IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnCiAgICAgICAgICAgICAgICAgICAgICAgIHRj cF9wb3J0ID0gYXRvaShvcHRhcmcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fgp0b29scy9idHByb3h5LmM6ODM5Ojg6IHdhcm5pbmc6IE51bGwgcG9pbnRl ciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnCiAgICAgICAgICAg ICAgICAgICAgICAgIGlmIChzdHJsZW4ob3B0YXJnKSA+IDMgJiYgIXN0cm5jbXAob3B0YXJnLCAi aGNpIiwgMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgoyIHdh cm5pbmdzIGdlbmVyYXRlZC4KdG9vbHMvY3JlYXRlLWltYWdlLmM6NzY6Mzogd2FybmluZzogVmFs dWUgc3RvcmVkIHRvICdmZCcgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgZmQgPSAtMTsK ICAgICAgICAgICAgICAgIF4gICAgfn4KdG9vbHMvY3JlYXRlLWltYWdlLmM6ODQ6Mzogd2Fybmlu ZzogVmFsdWUgc3RvcmVkIHRvICdmZCcgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgZmQg PSAtMTsKICAgICAgICAgICAgICAgIF4gICAgfn4KdG9vbHMvY3JlYXRlLWltYWdlLmM6OTI6Mzog d2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdmZCcgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAg ICAgZmQgPSAtMTsKICAgICAgICAgICAgICAgIF4gICAgfn4KdG9vbHMvY3JlYXRlLWltYWdlLmM6 MTA1OjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnZmQnIGlzIG5ldmVyIHJlYWQKICAgICAg ICBmZCA9IC0xOwogICAgICAgIF4gICAgfn4KNCB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRvb2xzL2J0 Z2F0dC1jbGllbnQuYzoxODIyOjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnYXJndicgaXMg bmV2ZXIgcmVhZAogICAgICAgIGFyZ3YgKz0gb3B0aW5kOwogICAgICAgIF4gICAgICAgfn5+fn5+ CjEgd2FybmluZyBnZW5lcmF0ZWQuCnRvb2xzL2NoZWNrLXNlbGZ0ZXN0LmM6NDI6Mzogd2Fybmlu ZzogVmFsdWUgc3RvcmVkIHRvICdwdHInIGlzIG5ldmVyIHJlYWQKICAgICAgICAgICAgICAgIHB0 ciA9IGZnZXRzKHJlc3VsdCwgc2l6ZW9mKHJlc3VsdCksIGZwKTsKICAgICAgICAgICAgICAgIF4g ICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVk Lgp0b29scy9idGdhdHQtc2VydmVyLmM6MTIwNDoyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8g J2FyZ3YnIGlzIG5ldmVyIHJlYWQKICAgICAgICBhcmd2IC09IG9wdGluZDsKICAgICAgICBeICAg ICAgIH5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgp0b29scy9nYXR0LXNlcnZpY2UuYzoyOTQ6 Mjogd2FybmluZzogMm5kIGZ1bmN0aW9uIGNhbGwgYXJndW1lbnQgaXMgYW4gdW5pbml0aWFsaXpl ZCB2YWx1ZQogICAgICAgIGNocl93cml0ZShjaHIsIHZhbHVlLCBsZW4pOwogICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnRvb2xzL29iZXgtc2Vy dmVyLXRvb2wuYzoxMzM6MTM6IHdhcm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0IHBh cmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnCiAgICAgICAgZGF0YS0+ZmQgPSBvcGVuKG5hbWUs IE9fV1JPTkxZIHwgT19DUkVBVCB8IE9fTk9DVFRZLCAwNjAwKTsKICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL29i ZXgtc2VydmVyLXRvb2wuYzoxOTI6MTM6IHdhcm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8g MXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnCiAgICAgICAgZGF0YS0+ZmQgPSBvcGVu KG5hbWUsIE9fUkRPTkxZIHwgT19OT0NUVFksIDApOwogICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4KdG9vbHMv dGVzdC1ydW5uZXIuYzoxMzcwOjI6IHdhcm5pbmc6IEFkZHJlc3Mgb2Ygc3RhY2sgbWVtb3J5IGFz c29jaWF0ZWQgd2l0aCBsb2NhbCB2YXJpYWJsZSAna2VybmVsX3BhdGgnIGlzIHN0aWxsIHJlZmVy cmVkIHRvIGJ5IHRoZSBnbG9iYWwgdmFyaWFibGUgJ2tlcm5lbF9pbWFnZScgdXBvbiByZXR1cm5p bmcgdG8gdGhlIGNhbGxlci4gIFRoaXMgd2lsbCBiZSBhIGRhbmdsaW5nIHJlZmVyZW5jZQogICAg ICAgIHJldHVybiBFWElUX1NVQ0NFU1M7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdh cm5pbmcgZ2VuZXJhdGVkLgpjbGllbnQvYnRwY2xpZW50L2J0cGNsaWVudGN0bC5jOjQwMjozOiB3 YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2JpdCcgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAg ICAgYml0ID0gMDsKICAgICAgICAgICAgICAgIF4gICAgIH4KY2xpZW50L2J0cGNsaWVudC9idHBj bGllbnRjdGwuYzoxNjU1OjI6IHdhcm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMm5kIHBh cmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnCiAgICAgICAgbWVtY3B5KGNwLT5kYXRhLCBhZF9k YXRhLCBhZF9sZW4pOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoy IHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL3NkcC1jbGllbnQuYzozNTM6MTQ6IHdhcm5pbmc6IEFj Y2VzcyB0byBmaWVsZCAnY2InIHJlc3VsdHMgaW4gYSBkZXJlZmVyZW5jZSBvZiBhIG51bGwgcG9p bnRlcgogICAgICAgICgqY3R4dCktPmNiID0gY2I7CiAgICAgICAgfn5+fn5+fn5+fn5+Xn5+fgox IHdhcm5pbmcgZ2VuZXJhdGVkLgpzcmMvc2RwZC1yZXF1ZXN0LmM6MjA5OjEzOiB3YXJuaW5nOiBS ZXN1bHQgb2YgJ21hbGxvYycgaXMgY29udmVydGVkIHRvIGEgcG9pbnRlciBvZiB0eXBlICdjaGFy Jywgd2hpY2ggaXMgaW5jb21wYXRpYmxlIHdpdGggc2l6ZW9mIG9wZXJhbmQgdHlwZSAndWludDE2 X3QnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcEVsZW0gPSBtYWxsb2Moc2l6ZW9m KHVpbnQxNl90KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn4gfn5+fn5+fn5+fn5+fn5+fgpzcmMvc2RwZC1yZXF1ZXN0LmM6MjM3OjEzOiB3YXJuaW5nOiBS ZXN1bHQgb2YgJ21hbGxvYycgaXMgY29udmVydGVkIHRvIGEgcG9pbnRlciBvZiB0eXBlICdjaGFy Jywgd2hpY2ggaXMgaW5jb21wYXRpYmxlIHdpdGggc2l6ZW9mIG9wZXJhbmQgdHlwZSAndWludDMy X3QnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcEVsZW0gPSBtYWxsb2Moc2l6ZW9m KHVpbnQzMl90KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn4gfn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL2dhdHQtZGF0YWJh c2UuYzoxMTcxOjEwOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2JpdHMnIGR1cmluZyBpdHMg aW5pdGlhbGl6YXRpb24gaXMgbmV2ZXIgcmVhZAogICAgICAgIHVpbnQ4X3QgYml0c1tdID0geyBC VF9HQVRUX0NIUkNfQ0xJX0ZFQVRfUk9CVVNUX0NBQ0hJTkcsCiAgICAgICAgICAgICAgICBefn5+ ICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdl bmVyYXRlZC4Kc3JjL2dhdHQtY2xpZW50LmM6MTU2OToyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5 IGFmdGVyIGl0IGlzIGZyZWVkCiAgICAgICAgbm90aWZ5X2NsaWVudF91bnJlZihjbGllbnQpOwog ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgp1 bml0L2F2cmNwLWxpYi5jOjE5Njg6Mzogd2FybmluZzogMXN0IGZ1bmN0aW9uIGNhbGwgYXJndW1l bnQgaXMgYW4gdW5pbml0aWFsaXplZCB2YWx1ZQogICAgICAgICAgICAgICAgZ19mcmVlKHRleHRb aV0pOwogICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQu CnVuaXQvYXZkdHAuYzo3NTY6MjU6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMg ZnJlZWQKICAgICAgICAgICAgICAgIHNlc3Npb24tPnByaW9fcXVldWUgPSBnX3NsaXN0X3JlbW92 ZShzZXNzaW9uLT5wcmlvX3F1ZXVlLCByZXEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdW5pdC9h dmR0cC5jOjc2MzoyNDogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAog ICAgICAgICAgICAgICAgc2Vzc2lvbi0+cmVxX3F1ZXVlID0gZ19zbGlzdF9yZW1vdmUoc2Vzc2lv bi0+cmVxX3F1ZXVlLCByZXEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJh dGVkLgp1bml0L3Rlc3QtdXRpbC5jOjMzOjg6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFrIG9mIG1l bW9yeSBwb2ludGVkIHRvIGJ5ICdwMScKICAgICAgICBwMlswXSA9IDE7CiAgICAgICAgfn5+fn5+ Xn5+CnVuaXQvdGVzdC11dGlsLmM6MzY6Mzogd2FybmluZzogUG90ZW50aWFsIGxlYWsgb2YgbWVt b3J5IHBvaW50ZWQgdG8gYnkgJ3AyJwogICAgICAgICAgICAgICAgX2NsZWFudXBfZnJlZV8gdWlu dDhfdCAqZGF0YSA9IE5VTEw7CiAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci4vc3JjL3NoYXJlZC91dGlsLmg6MTM0OjI0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1h Y3JvICdfY2xlYW51cF9mcmVlXycKI2RlZmluZSBfY2xlYW51cF9mcmVlXyBfY2xlYW51cF8oZnJl ZXApCiAgICAgICAgICAgICAgICAgICAgICAgXgouL3NyYy9zaGFyZWQvdXRpbC5oOjEzMjoyMjog bm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnX2NsZWFudXBfJwojZGVmaW5lIF9jbGVhbnVwXyhm KSBfX2F0dHJpYnV0ZV9fKChjbGVhbnVwKGYpKSkKICAgICAgICAgICAgICAgICAgICAgXgp1bml0 L3Rlc3QtdXRpbC5jOjQyOjM6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBwb2lu dGVkIHRvIGJ5ICdkYXRhJwogICAgICAgICAgICAgICAgYXNzZXJ0KGlzX251bGxfdG9vID09IE5V TEwpOwogICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci91c3IvaW5j bHVkZS9hc3NlcnQuaDoxMDg6MTE6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ2Fzc2VydCcK ICAoKHZvaWQpIHNpemVvZiAoKGV4cHIpID8gMSA6IDApLCBfX2V4dGVuc2lvbl9fICh7ICAgICAg ICAgICAgICAgICAgICAgXAogICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdW5pdC90 ZXN0LXV0aWwuYzo1MDoyOiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1vcnkgcG9pbnRl ZCB0byBieSAnZGF0YScKICAgICAgICBhc3NlcnQoaXNfbnVsbCA9PSBOVUxMKTsKICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovdXNyL2luY2x1ZGUvYXNzZXJ0Lmg6MTA4OjExOiBub3Rl OiBleHBhbmRlZCBmcm9tIG1hY3JvICdhc3NlcnQnCiAgKCh2b2lkKSBzaXplb2YgKChleHByKSA/ IDEgOiAwKSwgX19leHRlbnNpb25fXyAoeyAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjQgd2FybmluZ3MgZ2VuZXJhdGVkLgpwcm9maWxlcy9h dWRpby9hdmR0cC5jOjg5NToyNTogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBm cmVlZAogICAgICAgICAgICAgICAgc2Vzc2lvbi0+cHJpb19xdWV1ZSA9IGdfc2xpc3RfcmVtb3Zl KHNlc3Npb24tPnByaW9fcXVldWUsIHJlcSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpwcm9maWxl cy9hdWRpby9hdmR0cC5jOjkwMjoyNDogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBp cyBmcmVlZAogICAgICAgICAgICAgICAgc2Vzc2lvbi0+cmVxX3F1ZXVlID0gZ19zbGlzdF9yZW1v dmUoc2Vzc2lvbi0+cmVxX3F1ZXVlLCByZXEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjIgd2Fybmlu Z3MgZ2VuZXJhdGVkLgpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDQyOjg6IHdhcm5pbmc6IFVzZSBv ZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICAgICAgICAgIGlmICghY2ItPnJlc3Vt ZV9jYikKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fgpwcm9maWxlcy9hdWRpby9h MmRwLmM6MzM2MToyMDogd2FybmluZzogQWNjZXNzIHRvIGZpZWxkICdzdGFydGluZycgcmVzdWx0 cyBpbiBhIGRlcmVmZXJlbmNlIG9mIGEgbnVsbCBwb2ludGVyIChsb2FkZWQgZnJvbSB2YXJpYWJs ZSAnc3RyZWFtJykKICAgICAgICAgICAgICAgIHN0cmVhbS0+c3RhcnRpbmcgPSBUUlVFOwogICAg ICAgICAgICAgICAgfn5+fn5+ICAgICAgICAgICBeCnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzozMzY0 Ojg6IHdhcm5pbmc6IEFjY2VzcyB0byBmaWVsZCAnc3VzcGVuZGluZycgcmVzdWx0cyBpbiBhIGRl cmVmZXJlbmNlIG9mIGEgbnVsbCBwb2ludGVyIChsb2FkZWQgZnJvbSB2YXJpYWJsZSAnc3RyZWFt JykKICAgICAgICAgICAgICAgIGlmICghc3RyZWFtLT5zdXNwZW5kaW5nICYmIHN0cmVhbS0+c3Vz cGVuZF90aW1lcikgewogICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KcHJv ZmlsZXMvYXVkaW8vYTJkcC5jOjM0MjQ6MjI6IHdhcm5pbmc6IEFjY2VzcyB0byBmaWVsZCAnc3Vz cGVuZGluZycgcmVzdWx0cyBpbiBhIGRlcmVmZXJlbmNlIG9mIGEgbnVsbCBwb2ludGVyIChsb2Fk ZWQgZnJvbSB2YXJpYWJsZSAnc3RyZWFtJykKICAgICAgICAgICAgICAgIHN0cmVhbS0+c3VzcGVu ZGluZyA9IFRSVUU7CiAgICAgICAgICAgICAgICB+fn5+fn4gICAgICAgICAgICAgXgo0IHdhcm5p bmdzIGdlbmVyYXRlZC4KcHJvZmlsZXMvYXVkaW8vYXZyY3AuYzoxOTY4OjI6IHdhcm5pbmc6IFZh bHVlIHN0b3JlZCB0byAnb3BlcmFuZHMnIGlzIG5ldmVyIHJlYWQKICAgICAgICBvcGVyYW5kcyAr PSBzaXplb2YoKnBkdSk7CiAgICAgICAgXiAgICAgICAgICAgfn5+fn5+fn5+fn5+CjEgd2Fybmlu ZyBnZW5lcmF0ZWQuCmF0dHJpYi9nYXR0LmM6OTcwOjI6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFr IG9mIG1lbW9yeSBwb2ludGVkIHRvIGJ5ICdsb25nX3dyaXRlJwogICAgICAgIHJldHVybiBwcmVw YXJlX3dyaXRlKGxvbmdfd3JpdGUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnNyYy9zZHBkLXJlcXVlc3QuYzoyMDk6MTM6IHdh cm5pbmc6IFJlc3VsdCBvZiAnbWFsbG9jJyBpcyBjb252ZXJ0ZWQgdG8gYSBwb2ludGVyIG9mIHR5 cGUgJ2NoYXInLCB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCBzaXplb2Ygb3BlcmFuZCB0eXBl ICd1aW50MTZfdCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwRWxlbSA9IG1hbGxv YyhzaXplb2YodWludDE2X3QpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fiB+fn5+fn5+fn5+fn5+fn5+CnNyYy9zZHBkLXJlcXVlc3QuYzoyMzc6MTM6IHdh cm5pbmc6IFJlc3VsdCBvZiAnbWFsbG9jJyBpcyBjb252ZXJ0ZWQgdG8gYSBwb2ludGVyIG9mIHR5 cGUgJ2NoYXInLCB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCBzaXplb2Ygb3BlcmFuZCB0eXBl ICd1aW50MzJfdCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwRWxlbSA9IG1hbGxv YyhzaXplb2YodWludDMyX3QpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fiB+fn5+fn5+fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvc2Rw LWNsaWVudC5jOjM1MzoxNDogd2FybmluZzogQWNjZXNzIHRvIGZpZWxkICdjYicgcmVzdWx0cyBp biBhIGRlcmVmZXJlbmNlIG9mIGEgbnVsbCBwb2ludGVyCiAgICAgICAgKCpjdHh0KS0+Y2IgPSBj YjsKICAgICAgICB+fn5+fn5+fn5+fn5efn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnNyYy9zZHAt eG1sLmM6MTI2OjEwOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyBnYXJiYWdlIG9yIHVuZGVm aW5lZAogICAgICAgICAgICAgICAgYnVmWzFdID0gZGF0YVtpICsgMV07CiAgICAgICAgICAgICAg ICAgICAgICAgXiB+fn5+fn5+fn5+fgpzcmMvc2RwLXhtbC5jOjMwNjoxMTogd2FybmluZzogQXNz aWduZWQgdmFsdWUgaXMgZ2FyYmFnZSBvciB1bmRlZmluZWQKICAgICAgICAgICAgICAgICAgICAg ICAgYnVmWzFdID0gZGF0YVtpICsgMV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe IH5+fn5+fn5+fn5+CnNyYy9zZHAteG1sLmM6MzQ0OjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1 ZSBpcyBnYXJiYWdlIG9yIHVuZGVmaW5lZAogICAgICAgICAgICAgICAgICAgICAgICBidWZbMV0g PSBkYXRhW2kgKyAxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+ fn4KMyB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9nYXR0LWRhdGFiYXNlLmM6MTE3MToxMDogd2Fy bmluZzogVmFsdWUgc3RvcmVkIHRvICdiaXRzJyBkdXJpbmcgaXRzIGluaXRpYWxpemF0aW9uIGlz IG5ldmVyIHJlYWQKICAgICAgICB1aW50OF90IGJpdHNbXSA9IHsgQlRfR0FUVF9DSFJDX0NMSV9G RUFUX1JPQlVTVF9DQUNISU5HLAogICAgICAgICAgICAgICAgXn5+fiAgICAgfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnNyYy9nYXR0 LWNsaWVudC5jOjE1Njk6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVl ZAogICAgICAgIG5vdGlmeV9jbGllbnRfdW5yZWYoY2xpZW50KTsKICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KZ29iZXgvZ29iZXgtaGVhZGVy LmM6OTU6Mjogd2FybmluZzogTnVsbCBwb2ludGVyIHBhc3NlZCB0byAybmQgcGFyYW1ldGVyIGV4 cGVjdGluZyAnbm9ubnVsbCcKICAgICAgICBtZW1jcHkodG8sIGZyb20sIGNvdW50KTsKICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgpnb2JleC9nb2Jl eC10cmFuc2Zlci5jOjQyMzo3OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZy ZWVkCiAgICAgICAgaWYgKCFnX3NsaXN0X2ZpbmQodHJhbnNmZXJzLCB0cmFuc2ZlcikpCiAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVy YXRlZC4KbWVzaC9tYWluLmM6MTYyOjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnb3B0YXJn JyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICBvcHRhcmcgKz0gc3RybGVuKCJhdXRvIik7 CiAgICAgICAgICAgICAgICBeICAgICAgICAgfn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVy YXRlZC4KbGliL2JsdWV0b290aC9oY2kuYzo5Mzo0OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8g J3B0cicgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAgICAgICAgICAgICBwdHIgKz0gc3ByaW50 ZihwdHIsICIlcyIsIG0tPnN0cik7CiAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgICB+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgpjbGllbnQvcGxheWVy LmM6MjM2Mzo4OiB3YXJuaW5nOiBOdWxsIHBvaW50ZXIgcGFzc2VkIHRvIDJuZCBwYXJhbWV0ZXIg ZXhwZWN0aW5nICdub25udWxsJwogICAgICAgICAgICAgICAgaWYgKCFzdHJjbXAoZXAtPnBhdGgs IHBhdHRlcm4pKQogICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ CmNsaWVudC9wbGF5ZXIuYzozNjQwOjE2OiB3YXJuaW5nOiBOdWxsIHBvaW50ZXIgcGFzc2VkIHRv IDFzdCBwYXJhbWV0ZXIgZXhwZWN0aW5nICdub25udWxsJwogICAgICAgIGNvZGVjLT5uYW1lID0g c3RyZHVwKG5hbWUpOwogICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+CjIgd2Fybmlu Z3MgZ2VuZXJhdGVkLgpnZGJ1cy93YXRjaC5jOjIyNjozOiB3YXJuaW5nOiBBdHRlbXB0IHRvIGZy ZWUgcmVsZWFzZWQgbWVtb3J5CiAgICAgICAgICAgICAgICBnX2ZyZWUobC0+ZGF0YSk7CiAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KbGliL2JsdWV0 b290aC9zZHAuYzo1MDk6MTc6IHdhcm5pbmc6IERlcmVmZXJlbmNlIG9mIHVuZGVmaW5lZCBwb2lu dGVyIHZhbHVlCiAgICAgICAgICAgICAgICB1aW50OF90IGR0ZCA9ICoodWludDhfdCAqKSBkdGRz W2ldOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgps aWIvYmx1ZXRvb3RoL3NkcC5jOjUzOToxNzogd2FybmluZzogRGVyZWZlcmVuY2Ugb2YgdW5kZWZp bmVkIHBvaW50ZXIgdmFsdWUKICAgICAgICAgICAgICAgIHVpbnQ4X3QgZHRkID0gKih1aW50OF90 ICopIGR0ZHNbaV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+CmxpYi9ibHVldG9vdGgvc2RwLmM6MTg5MToyNjogd2FybmluZzogUG90ZW50aWFsIGxl YWsgb2YgbWVtb3J5IHBvaW50ZWQgdG8gYnkgJ2FwJwogICAgICAgIGZvciAoOyBwZGxpc3Q7IHBk bGlzdCA9IHBkbGlzdC0+bmV4dCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fgpsaWIvYmx1ZXRvb3RoL3NkcC5jOjE5MDU6Njogd2FybmluZzogUG90ZW50aWFsIGxlYWsg b2YgbWVtb3J5IHBvaW50ZWQgdG8gYnkgJ3BkcycKICAgICAgICAgICAgICAgIGFwID0gc2RwX2xp c3RfYXBwZW5kKGFwLCBwZHMpOwogICAgICAgICAgICAgICAgfn5+Xn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KbGliL2JsdWV0b290aC9zZHAuYzoxOTUwOjEwOiB3YXJuaW5nOiBQb3RlbnRpYWwg bGVhayBvZiBtZW1vcnkgcG9pbnRlZCB0byBieSAndScKICAgICAgICAgICAgICAgICAgICAgICAg KnNlcXAgPSBzZHBfbGlzdF9hcHBlbmQoKnNlcXAsIHUpOwogICAgICAgICAgICAgICAgICAgICAg ICB+fn5+fn5efn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KbGliL2JsdWV0b290aC9zZHAuYzoy MDU1OjQ6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBwb2ludGVkIHRvIGJ5ICds YW5nJwogICAgICAgICAgICAgICAgICAgICAgICBzZHBfbGlzdF9mcmVlKCpsYW5nU2VxLCBmcmVl KTsKICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fgpsaWIvYmx1ZXRvb3RoL3Nk cC5jOjIxNDQ6OTogd2FybmluZzogUG90ZW50aWFsIGxlYWsgb2YgbWVtb3J5IHBvaW50ZWQgdG8g YnkgJ3Byb2ZEZXNjJwogICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgICBeCmxpYi9ibHVl dG9vdGgvc2RwLmM6MzI3Njo4OiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1vcnkgcG9p bnRlZCB0byBieSAncFN2Y1JlYycKICAgICAgICAgICAgICAgIHBTZXEgPSBzZHBfbGlzdF9hcHBl bmQocFNlcSwgcFN2Y1JlYyk7CiAgICAgICAgICAgICAgICB+fn5+fl5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CmxpYi9ibHVldG9vdGgvc2RwLmM6MzI3Nzo5OiB3YXJuaW5nOiBQb3Rl bnRpYWwgbGVhayBvZiBtZW1vcnkgcG9pbnRlZCB0byBieSAncFNlcScKICAgICAgICAgICAgICAg IHBkYXRhICs9IHNpemVvZih1aW50MzJfdCk7CiAgICAgICAgICAgICAgICB+fn5+fn5efn5+fn5+ fn5+fn5+fn5+fn5+CmxpYi9ibHVldG9vdGgvc2RwLmM6NDYxMzoxMzogd2FybmluZzogUG90ZW50 aWFsIGxlYWsgb2YgbWVtb3J5IHBvaW50ZWQgdG8gYnkgJ3JlY19saXN0JwogICAgICAgICAgICAg ICAgICAgICAgICB9IHdoaWxlIChzY2FubmVkIDwgYXR0cl9saXN0X2xlbiAmJiBwZGF0YV9sZW4g PiAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgpsaWIvYmx1ZXRv b3RoL3NkcC5jOjQ5MDk6NDA6IHdhcm5pbmc6IFBvdGVudGlhbCBsZWFrIG9mIG1lbW9yeSBwb2lu dGVkIHRvIGJ5ICd0c2VxJwogICAgICAgIGZvciAoZCA9IHNkcGRhdGEtPnZhbC5kYXRhc2VxOyBk OyBkID0gZC0+bmV4dCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgpsaWIvYmx1ZXRvb3RoL3NkcC5jOjQ5NDU6ODogd2FybmluZzogUG90ZW50aWFsIGxl YWsgb2YgbWVtb3J5IHBvaW50ZWQgdG8gYnkgJ3N1YnNlcScKICAgICAgICAgICAgICAgIHRzZXEg PSBzZHBfbGlzdF9hcHBlbmQodHNlcSwgc3Vic2VxKTsKICAgICAgICAgICAgICAgIH5+fn5+Xn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9z aGFyZWQvZ2F0dC1jbGllbnQuYzo0NDc6MjE6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIg aXQgaXMgZnJlZWQKICAgICAgICBnYXR0X2RiX3VucmVnaXN0ZXIob3AtPmNsaWVudC0+ZGIsIG9w LT5kYl9pZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn4Kc3JjL3NoYXJl ZC9nYXR0LWNsaWVudC5jOjY5MjoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlz IGZyZWVkCiAgICAgICAgZGlzY292ZXJ5X29wX2NvbXBsZXRlKG9wLCBmYWxzZSwgYXR0X2Vjb2Rl KTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNy Yy9zaGFyZWQvZ2F0dC1jbGllbnQuYzo5OTI6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRl ciBpdCBpcyBmcmVlZAogICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgc3VjY2Vzcywg YXR0X2Vjb2RlKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjEwOTg6Mjogd2FybmluZzogVXNlIG9m IG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShv cCwgc3VjY2VzcywgYXR0X2Vjb2RlKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjEyOTI6Mjogd2Fy bmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGRpc2NvdmVyeV9v cF9jb21wbGV0ZShvcCwgc3VjY2VzcywgYXR0X2Vjb2RlKTsKICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5j OjEzNTc6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAg IGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgc3VjY2VzcywgYXR0X2Vjb2RlKTsKICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9n YXR0LWNsaWVudC5jOjE2MzI6Njogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBm cmVlZAogICAgICAgIGlmIChyZWFkX2RiX2hhc2gob3ApKSB7CiAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjE2Mzc6Mjogd2FybmluZzogVXNlIG9m IG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGRpc2NvdmVyX2FsbChvcCk7CiAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTY5Mzo1Njogd2Fy bmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIG5vdGlmeV9kYXRh LT5jaHJjLT5jY2Nfd3JpdGVfaWQgPSBub3RpZnlfZGF0YS0+YXR0X2lkID0gYXR0X2lkOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+ IF4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjIxNDY6Njogd2FybmluZzogVXNlIG9mIG1lbW9y eSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGlmIChyZWFkX2RiX2hhc2gob3ApKSB7CiAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjIxNTQ6ODog d2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdmVyeV9vcF9yZWYo b3ApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzozMzMyOjI6 IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQKICAgICAgICBjb21wbGV0 ZV93cml0ZV9sb25nX29wKHJlcSwgc3VjY2VzcywgMCwgZmFsc2UpOwogICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNs aWVudC5jOjMzNTQ6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAog ICAgICAgIHJlcXVlc3RfdW5yZWYocmVxKTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KMTMg d2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvc2hhcmVkL2JhcC5jOjE1NDM6ODogd2FybmluZzogVXNl IG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAgICAgIGJhcCA9IGJ0X2JhcF9yZWZfc2Fm ZShiYXApOwogICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvYmFw LmM6MjM1NDoyMDogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZAogICAg ICAgIHJldHVybiBxdWV1ZV9maW5kKHN0cmVhbS0+YmFwLT5zdHJlYW1zLCBOVUxMLCBzdHJlYW0p OwogICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CjIgd2Fybmlu Z3MgZ2VuZXJhdGVkLgptb25pdG9yL3BhY2tldC5jOiBJbiBmdW5jdGlvbiDigJhwYWNrZXRfaGNp X2lzb2RhdGHigJk6Cm1vbml0b3IvcGFja2V0LmM6MTQ2MTE6NDU6IGVycm9yOiDigJglc+KAmSBk aXJlY3RpdmUgd3JpdGluZyB1cCB0byAxNSBieXRlcyBpbnRvIGEgcmVnaW9uIG9mIHNpemUgYmV0 d2VlbiA4IGFuZCA0MyBbLVdlcnJvcj1mb3JtYXQtb3ZlcmZsb3c9XQoxNDYxMSB8ICBzcHJpbnRm KGV4dHJhX3N0ciwgImZsYWdzIDB4JTIuMnggZGxlbiAldSVzJXMiLCBmbGFncywgZGxlbiwgc2xl bl9zdHIsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgoxNDYxMiB8ICAgICAgICAgIHRzX3N0cik7CiAgICAgIHwgICAgICAgICAgfn5+fn5+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdXNyL2lu Y2x1ZGUvc3RkaW8uaDo4NjcsCiAgICAgICAgICAgICAgICAgZnJvbSBtb25pdG9yL3BhY2tldC5j OjE4OgovdXNyL2luY2x1ZGUveDg2XzY0LWxpbnV4LWdudS9iaXRzL3N0ZGlvMi5oOjM2OjEwOiBu b3RlOiDigJhfX2J1aWx0aW5fX19zcHJpbnRmX2Noa+KAmSBvdXRwdXQgYmV0d2VlbiAxOCBhbmQg NjggYnl0ZXMgaW50byBhIGRlc3RpbmF0aW9uIG9mIHNpemUgNjAKICAgMzYgfCAgIHJldHVybiBf X2J1aWx0aW5fX19zcHJpbnRmX2NoayAoX19zLCBfX1VTRV9GT1JUSUZZX0xFVkVMIC0gMSwKICAg ICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KICAgMzcgfCAgICAgICBfX2JvcyAoX19zKSwgX19mbXQsIF9fdmFfYXJnX3Bh Y2sgKCkpOwogICAgICB8ICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKbWFrZVsxXTogKioq IFtNYWtlZmlsZTo3MDU4OiBtb25pdG9yL3BhY2tldC5vXSBFcnJvciAxCm1ha2VbMV06ICoqKiBX YWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1vbml0b3IvbDJjYXAuYzoxNjc2OjQ6IHdh cm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnZGF0YScgaXMgbmV2ZXIgcmVhZAogICAgICAgICAgICAg ICAgICAgICAgICBkYXRhICs9IGxlbjsKICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgICB+ fn4KbW9uaXRvci9sMmNhcC5jOjE2Nzc6NDogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdzaXpl JyBpcyBuZXZlciByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgLT0gbGVuOwogICAg ICAgICAgICAgICAgICAgICAgICBeICAgICAgIH5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4KbWFr ZTogKioqIFtNYWtlZmlsZTo0MTcyOiBhbGxdIEVycm9yIDIKCgpodHRwczovL2dpdGh1Yi5jb20v Ymx1ZXovYmx1ZXovcHVsbC8yMjk0CgotLS0KUmVnYXJkcywKTGludXggQmx1ZXRvb3RoCgo= --===============8711668590438191236==--