From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pz2-f12.google.com (mail-pz2-f12.google.com [74.125.228.12]) (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 2D41649E12B for ; Tue, 22 Sep 2026 06:36:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.12 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790059002; cv=none; b=h3BRedc/wZkKppJ9h2QhotIVYxxPAJbtGlGNWg68n57ECwTcUO4YDjXK86SxYaFSL2tsSRVuBWW6v9mZgxD3/r5cx5N5f+eOEs43dbAf1UAGJGlseYhEK9UCn2nkVcB1CV5vW5EMe8FYQhHV0xp9BOZZ8Cxcm4fmJ9s5+ug81s4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790059002; c=relaxed/simple; bh=Xvx45jvmmDesa1bjBIn5MNmioEL5xdOPl6T33eBgcc0=; h=Message-ID:Date:Content-Type:MIME-Version:From:To:Subject: In-Reply-To:References; b=Rx80pu7kiOko/X31Yger8jsXwuA0heFAssc95OZBXXgEBgdjBv6FnXTRwgOf1MrCB9XG6KaYsDbL1AwQQsZEV+/LRB/g+8Ou3PJNTTTZvEPxVYizv0WQ30v0ozQ3vh8Z8MQNFmADw35Tz5J13hVUjSP3ERMa5zYY9eXs3Rckdwk= 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=IKZb2JGL; arc=none smtp.client-ip=74.125.228.12 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="IKZb2JGL" Received: by mail-pz2-f12.google.com with SMTP id 41be03b00d2f7-cc4cdc0d663so2371513a12.3 for ; Mon, 21 Sep 2026 23:36:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790058994; x=1790663794; 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=Xvx45jvmmDesa1bjBIn5MNmioEL5xdOPl6T33eBgcc0=; b=IKZb2JGLFr6bqMcTt7H2mInvaygDOul/LvvZLlzrSVS0ZqT0WnwyYGpd52mnGSYXBt JLQfPhkjuaUkdtUBBvOttqSsFRCVzK4QCmk8bYfBeEH4Z4RpNMi0R8rLyIDsDBtHCxvh 41xab+HkEkAw5ci/+fz7tCjvpuEY0In0GrsA05z5m/QLmIryWIGvtCh6LitxoYgCLwFS GfpwozaVS9YVmGawJCs+e2JmgaRfK2xl9CvjR06KvRO6lW6gTeUYFrhNJV+v6hG9koM7 YLcSjtdlTLbnoyrhwAhbmUY7qXeJlppH+sAOM2Kyc7kwqRewqSPdHQFZJhaBkg1I0LcA HkKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790058994; x=1790663794; 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=Xvx45jvmmDesa1bjBIn5MNmioEL5xdOPl6T33eBgcc0=; b=eROSahZAhpvg6z+oowtEddCwmTEnXVKQHM8X593KMNI/6FohCpYxHOuE+CFxUg0wsU awKMyW9Ba5Im5hzjFLcSmbd12uOyRdPBejnXfNRc+sEAuX5FERpdA+iSD+IvhTxTvHl/ DX9FiIUIowtSUyMG4xG8njG+yDnNF8dLrw51HHnuR1T5CLLZwaW2R4FwAhBS3Dr8mr/X JmtnQvm1nu6KgZ9sqeKE1jpx4roJ9j/AS8RJskQOynu7Yosx6Db635dZxU86WHvt7lFf ThxrtsUKISvIYB8f5/L6tYkhUexVFbR8e1mXGm/otXEHVo8D0wEIYtCCREeaXJKSI7jZ YoFg== X-Gm-Message-State: AFuF++kYFWmGhgNm9/w9lpMP4EivdHWGRWYY8XL5y8h0U7IGz1vUe3NO aAtAWVdpIOiatzjLJNIw2Xbu3KGp9yUzPuHm+eK2u+x5FMFa/nWkQF7Izq54zvrd X-Gm-Gg: AYBFou0UdZnCRmjy/Kfz/v9TTPT3zWPERUQl0nhi6Fqiag8jg9K8HAjZzqRuCV8CoaY 1funN40VrjNc7HFAVVF43o/MA/VrCVdHtVoINxE+QoEuo9hhgByb+3a0GqwDibRERSW6rb4k6pA eMYkwg0MBydjdvEpqj49Jsc1sfl3B59lm9IMH4Nbirca6YRanGNmRtvm79i1UVS+hKuUsf8Q7Y+ yn132RSHadGWSvn8gZtN1YYrbcxArHySwRAAhSKZFAZU+h4rW+Z/Ha5Nw3Sn2Vc4eysG0p99ZxL FSAlsbRHY1/r+DOLJjf21Ays4YtWBe0EOtQP/9Y4qcraAGd3L59P82N5EZnj41zB0FhTYhO/HLe k8Hvw1in4uwLYI/lpXMCnpRnQKpgSa4p+NpTkhdMPYe1i8P8eszHqQ3Lw+UiINfUYe4bwmipyRw 6KJxGrkNwmkNULf2QAvDvaiPRIJcys2GAYlWB6tN09EFeWvCKw7PFIeEo/D28f4GnEfSAAZNxx2 G7p X-Received: by 2002:a17:90b:4f8a:b0:398:c3ca:1ebc with SMTP id 98e67ed59e1d1-3a0730cf72dmr185325a91.18.1790058993808; Mon, 21 Sep 2026 23:36:33 -0700 (PDT) Received: from [172.17.0.2] ([134.33.67.116]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33e610e8478sm2708297eec.4.2026.09.21.23.36.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Sep 2026 23:36:33 -0700 (PDT) Message-ID: <6ab221f1.058548f1.5f0dc.e235@mx.google.com> Date: Mon, 21 Sep 2026 23:36:33 -0700 (PDT) Content-Type: multipart/mixed; boundary="===============2754726605922531600==" 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, nicholas.hammond0@gmail.com Subject: RE: Cancel pending HoG reports before detach In-Reply-To: References: Reply-To: linux-bluetooth@vger.kernel.org --===============2754726605922531600== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9zZXJpZXMvMTE3MDg3NC8KCi0tLVRlc3QgcmVzdWx0LS0tCgpUZXN0IFN1 bW1hcnk6CkNoZWNrUGF0Y2ggICAgICAgICAgICAgICAgICAgIFBBU1MgICAgICAxLjE1IHNlY29u ZHMKR2l0TGludCAgICAgICAgICAgICAgICAgICAgICAgUEFTUyAgICAgIDAuNzggc2Vjb25kcwpC dWlsZEVsbCAgICAgICAgICAgICAgICAgICAgICBQQVNTICAgICAgMTYuMjQgc2Vjb25kcwpCbHVl ek1ha2UgICAgICAgICAgICAgICAgICAgICBGQUlMICAgICAgMTY0LjU3IHNlY29uZHMKTWFrZUNo ZWNrICAgICAgICAgICAgICAgICAgICAgRkFJTCAgICAgIDEyOS42MyBzZWNvbmRzCk1ha2VEaXN0 Y2hlY2sgICAgICAgICAgICAgICAgIFBBU1MgICAgICAxMTQuMTcgc2Vjb25kcwpDaGVja1ZhbGdy aW5kICAgICAgICAgICAgICAgICBGQUlMICAgICAgNDYuNzkgc2Vjb25kcwpDaGVja1NtYXRjaCAg ICAgICAgICAgICAgICAgICBGQUlMICAgICAgODguNjYgc2Vjb25kcwpibHVlem1ha2VleHRlbGwg ICAgICAgICAgICAgICBGQUlMICAgICAgMzIuNDcgc2Vjb25kcwpUZXN0RnVuY3Rpb25hbCAgICAg ICAgICAgICAgICBFUlJPUiAgICAgMTYzLjk2IHNlY29uZHMKSW5jcmVtZW50YWxCdWlsZCAgICAg ICAgICAgICAgRkFJTCAgICAgIDI4My42MiBzZWNvbmRzClNjYW5CdWlsZCAgICAgICAgICAgICAg ICAgICAgIEZBSUwgICAgICAxNDIuMTAgc2Vjb25kcwoKRGV0YWlscwojIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKVGVzdDogQmx1ZXpNYWtlIC0gRkFJTApEZXNjOiBCdWlsZCBCbHVlWgpP dXRwdXQ6Cgp0b29scy9tZ210LXRlc3Rlci5jOiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZOgp0b29s cy9tZ210LXRlc3Rlci5jOjEzMjE4OjU6IG5vdGU6IHZhcmlhYmxlIHRyYWNraW5nIHNpemUgbGlt aXQgZXhjZWVkZWQgd2l0aCDigJgtZnZhci10cmFja2luZy1hc3NpZ25tZW50c+KAmSwgcmV0cnlp bmcgd2l0aG91dAoxMzIxOCB8IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAg IHwgICAgIF5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC91c3IvbGliL3g4Nl82NC1saW51eC1n bnUvZ2xpYi0yLjAvaW5jbHVkZS9nbGliY29uZmlnLmg6OSwKICAgICAgICAgICAgICAgICBmcm9t IC91c3IvaW5jbHVkZS9nbGliLTIuMC9nbGliL2d0eXBlcy5oOjM0LAogICAgICAgICAgICAgICAg IGZyb20gL3Vzci9pbmNsdWRlL2dsaWItMi4wL2dsaWIvZ2FsbG9jYS5oOjM0LAogICAgICAgICAg ICAgICAgIGZyb20gL3Vzci9pbmNsdWRlL2dsaWItMi4wL2dsaWIuaDozMiwKICAgICAgICAgICAg ICAgICBmcm9tIHVuaXQvdGVzdC1ob2ctbGlmZXRpbWUuYzoxNDoKdW5pdC90ZXN0LWhvZy1saWZl dGltZS5jOiBJbiBmdW5jdGlvbiDigJh0ZXN0X3JlcG9ydOKAmToKdW5pdC90ZXN0LWhvZy1saWZl dGltZS5jOjEwMDo1MDogZXJyb3I6IGNvbXBhcmlzb24gb2YgaW50ZWdlciBleHByZXNzaW9ucyBv ZiBkaWZmZXJlbnQgc2lnbmVkbmVzczog4oCYc3NpemVfdOKAmSB7YWthIOKAmGxvbmcgaW504oCZ fSBhbmQg4oCYc2l6ZV904oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IFstV2Vycm9y PXNpZ24tY29tcGFyZV0KICAxMDAgfCAgICAgICAgIGdfYXNzZXJ0KHdyaXRlKGF0dGZkWzFdLCBy ZXNwb25zZSwgc2l6ZSkgPT0gc2l6ZSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci91c3IvaW5jbHVkZS9nbGliLTIuMC9nbGliL2dt YWNyb3MuaDoxMjc5Ojg6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYX0dfQk9PTEVB Tl9FWFBSX0lNUEzigJkKIDEyNzkgfCAgICBpZiAoZXhwcikgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCiAgICAgIHwgICAgICAgIF5+fn4KL3Vzci9pbmNsdWRlL2dsaWItMi4w L2dsaWIvZ21hY3Jvcy5oOjEyODQ6NDM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhf R19CT09MRUFOX0VYUFLigJkKIDEyODQgfCAjZGVmaW5lIEdfTElLRUxZKGV4cHIpIChfX2J1aWx0 aW5fZXhwZWN0IChfR19CT09MRUFOX0VYUFIoZXhwciksIDEpKQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fgovdXNyL2luY2x1 ZGUvZ2xpYi0yLjAvZ2xpYi9ndGVzdHV0aWxzLmg6Mjc2OjQ5OiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYR19MSUtFTFnigJkKICAyNzYgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpZiBHX0xJS0VMWSAoZXhwcikgOyBlbHNlIFwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fgp1 bml0L3Rlc3QtaG9nLWxpZmV0aW1lLmM6MTAwOjk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy byDigJhnX2Fzc2VydOKAmQogIDEwMCB8ICAgICAgICAgZ19hc3NlcnQod3JpdGUoYXR0ZmRbMV0s IHJlc3BvbnNlLCBzaXplKSA9PSBzaXplKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+CmNjMTog YWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2VbMV06ICoqKiBbTWFrZWZp bGU6NzI5NzogdW5pdC90ZXN0LWhvZy1saWZldGltZS5vXSBFcnJvciAxCm1ha2VbMV06ICoqKiBX YWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCnVuaXQvdGVzdC1hdmR0cC5jOiBJbiBmdW5j dGlvbiDigJhtYWlu4oCZOgp1bml0L3Rlc3QtYXZkdHAuYzo3NjY6NTogbm90ZTogdmFyaWFibGUg dHJhY2tpbmcgc2l6ZSBsaW1pdCBleGNlZWRlZCB3aXRoIOKAmC1mdmFyLXRyYWNraW5nLWFzc2ln bm1lbnRz4oCZLCByZXRyeWluZyB3aXRob3V0CiAgNzY2IHwgaW50IG1haW4oaW50IGFyZ2MsIGNo YXIgKmFyZ3ZbXSkKICAgICAgfCAgICAgXn5+fgp1bml0L3Rlc3QtYXZyY3AuYzogSW4gZnVuY3Rp b24g4oCYbWFpbuKAmToKdW5pdC90ZXN0LWF2cmNwLmM6MTM4Mjo1OiBub3RlOiB2YXJpYWJsZSB0 cmFja2luZyBzaXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tpbmctYXNzaWdu bWVudHPigJksIHJldHJ5aW5nIHdpdGhvdXQKIDEzODIgfCBpbnQgbWFpbihpbnQgYXJnYywgY2hh ciAqYXJndltdKQogICAgICB8ICAgICBefn5+Cm1ha2U6ICoqKiBbTWFrZWZpbGU6NDM0ODogYWxs XSBFcnJvciAyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBNYWtlQ2hlY2sg LSBGQUlMCkRlc2M6IFJ1biBCbHVleiBNYWtlIENoZWNrCk91dHB1dDoKCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUvZ2xpYmNv bmZpZy5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAvdXNyL2luY2x1ZGUvZ2xpYi0yLjAvZ2xp Yi9ndHlwZXMuaDozNCwKICAgICAgICAgICAgICAgICBmcm9tIC91c3IvaW5jbHVkZS9nbGliLTIu MC9nbGliL2dhbGxvY2EuaDozNCwKICAgICAgICAgICAgICAgICBmcm9tIC91c3IvaW5jbHVkZS9n bGliLTIuMC9nbGliLmg6MzIsCiAgICAgICAgICAgICAgICAgZnJvbSB1bml0L3Rlc3QtaG9nLWxp ZmV0aW1lLmM6MTQ6CnVuaXQvdGVzdC1ob2ctbGlmZXRpbWUuYzogSW4gZnVuY3Rpb24g4oCYdGVz dF9yZXBvcnTigJk6CnVuaXQvdGVzdC1ob2ctbGlmZXRpbWUuYzoxMDA6NTA6IGVycm9yOiBjb21w YXJpc29uIG9mIGludGVnZXIgZXhwcmVzc2lvbnMgb2YgZGlmZmVyZW50IHNpZ25lZG5lc3M6IOKA mHNzaXplX3TigJkge2FrYSDigJhsb25nIGludOKAmX0gYW5kIOKAmHNpemVfdOKAmSB7YWthIOKA mGxvbmcgdW5zaWduZWQgaW504oCZfSBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCiAgMTAwIHwgICAg ICAgICBnX2Fzc2VydCh3cml0ZShhdHRmZFsxXSwgcmVzcG9uc2UsIHNpemUpID09IHNpemUpOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgovdXNyL2luY2x1ZGUvZ2xpYi0yLjAvZ2xpYi9nbWFjcm9zLmg6MTI3OTo4OiBub3RlOiBpbiBk ZWZpbml0aW9uIG9mIG1hY3JvIOKAmF9HX0JPT0xFQU5fRVhQUl9JTVBM4oCZCiAxMjc5IHwgICAg aWYgKGV4cHIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICB8ICAg ICAgICBefn5+Ci91c3IvaW5jbHVkZS9nbGliLTIuMC9nbGliL2dtYWNyb3MuaDoxMjg0OjQzOiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYX0dfQk9PTEVBTl9FWFBS4oCZCiAxMjg0IHwg I2RlZmluZSBHX0xJS0VMWShleHByKSAoX19idWlsdGluX2V4cGVjdCAoX0dfQk9PTEVBTl9FWFBS KGV4cHIpLCAxKSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn4KL3Vzci9pbmNsdWRlL2dsaWItMi4wL2dsaWIvZ3Rlc3R1dGls cy5oOjI3Njo0OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEdfTElLRUxZ4oCZCiAg Mjc2IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgR19M SUtFTFkgKGV4cHIpIDsgZWxzZSBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn4KdW5pdC90ZXN0LWhvZy1saWZldGltZS5jOjEw MDo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYZ19hc3NlcnTigJkKICAxMDAgfCAg ICAgICAgIGdfYXNzZXJ0KHdyaXRlKGF0dGZkWzFdLCByZXNwb25zZSwgc2l6ZSkgPT0gc2l6ZSk7 CiAgICAgIHwgICAgICAgICBefn5+fn5+fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVk IGFzIGVycm9ycwptYWtlWzFdOiAqKiogW01ha2VmaWxlOjcyOTc6IHVuaXQvdGVzdC1ob2ctbGlm ZXRpbWUub10gRXJyb3IgMQptYWtlOiAqKiogW01ha2VmaWxlOjExMjM2OiBjaGVja10gRXJyb3Ig MgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogQ2hlY2tWYWxncmluZCAtIEZB SUwKRGVzYzogUnVuIEJsdWV6IE1ha2UgQ2hlY2sgd2l0aCBWYWxncmluZApPdXRwdXQ6CgpJbiBm aWxlIGluY2x1ZGVkIGZyb20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNs dWRlL2dsaWJjb25maWcuaDo5LAogICAgICAgICAgICAgICAgIGZyb20gL3Vzci9pbmNsdWRlL2ds aWItMi4wL2dsaWIvZ3R5cGVzLmg6MzQsCiAgICAgICAgICAgICAgICAgZnJvbSAvdXNyL2luY2x1 ZGUvZ2xpYi0yLjAvZ2xpYi9nYWxsb2NhLmg6MzQsCiAgICAgICAgICAgICAgICAgZnJvbSAvdXNy L2luY2x1ZGUvZ2xpYi0yLjAvZ2xpYi5oOjMyLAogICAgICAgICAgICAgICAgIGZyb20gdW5pdC90 ZXN0LWhvZy1saWZldGltZS5jOjE0Ogp1bml0L3Rlc3QtaG9nLWxpZmV0aW1lLmM6IEluIGZ1bmN0 aW9uIOKAmHRlc3RfcmVwb3J04oCZOgp1bml0L3Rlc3QtaG9nLWxpZmV0aW1lLmM6MTAwOjUwOiBl cnJvcjogY29tcGFyaXNvbiBvZiBpbnRlZ2VyIGV4cHJlc3Npb25zIG9mIGRpZmZlcmVudCBzaWdu ZWRuZXNzOiDigJhzc2l6ZV904oCZIHtha2Eg4oCYbG9uZyBpbnTigJl9IGFuZCDigJhzaXplX3Ti gJkge2FrYSDigJhsb25nIHVuc2lnbmVkIGludOKAmX0gWy1XZXJyb3I9c2lnbi1jb21wYXJlXQog IDEwMCB8ICAgICAgICAgZ19hc3NlcnQod3JpdGUoYXR0ZmRbMV0sIHJlc3BvbnNlLCBzaXplKSA9 PSBzaXplKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KL3Vzci9pbmNsdWRlL2dsaWItMi4wL2dsaWIvZ21hY3Jvcy5oOjEyNzk6ODog bm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhfR19CT09MRUFOX0VYUFJfSU1QTOKAmQog MTI3OSB8ICAgIGlmIChleHByKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK ICAgICAgfCAgICAgICAgXn5+fgovdXNyL2luY2x1ZGUvZ2xpYi0yLjAvZ2xpYi9nbWFjcm9zLmg6 MTI4NDo0Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmF9HX0JPT0xFQU5fRVhQUuKA mQogMTI4NCB8ICNkZWZpbmUgR19MSUtFTFkoZXhwcikgKF9fYnVpbHRpbl9leHBlY3QgKF9HX0JP T0xFQU5fRVhQUihleHByKSwgMSkpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+Ci91c3IvaW5jbHVkZS9nbGliLTIuMC9nbGli L2d0ZXN0dXRpbHMuaDoyNzY6NDk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhHX0xJ S0VMWeKAmQogIDI3NiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlmIEdfTElLRUxZIChleHByKSA7IGVsc2UgXAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+CnVuaXQvdGVzdC1ob2ctbGlm ZXRpbWUuYzoxMDA6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGdfYXNzZXJ04oCZ CiAgMTAwIHwgICAgICAgICBnX2Fzc2VydCh3cml0ZShhdHRmZFsxXSwgcmVzcG9uc2UsIHNpemUp ID09IHNpemUpOwogICAgICB8ICAgICAgICAgXn5+fn5+fn4KY2MxOiBhbGwgd2FybmluZ3MgYmVp bmcgdHJlYXRlZCBhcyBlcnJvcnMKbWFrZVsxXTogKioqIFtNYWtlZmlsZTo3Mjk3OiB1bml0L3Rl c3QtaG9nLWxpZmV0aW1lLm9dIEVycm9yIDEKbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmlu aXNoZWQgam9icy4uLi4KdG9vbHMvbWdtdC10ZXN0ZXIuYzogSW4gZnVuY3Rpb24g4oCYbWFpbuKA mToKdG9vbHMvbWdtdC10ZXN0ZXIuYzoxMzIxODo1OiBub3RlOiB2YXJpYWJsZSB0cmFja2luZyBz aXplIGxpbWl0IGV4Y2VlZGVkIHdpdGgg4oCYLWZ2YXItdHJhY2tpbmctYXNzaWdubWVudHPigJks IHJldHJ5aW5nIHdpdGhvdXQKMTMyMTggfCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd KQogICAgICB8ICAgICBefn5+Cm1ha2U6ICoqKiBbTWFrZWZpbGU6MTEyMzY6IGNoZWNrXSBFcnJv ciAyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBDaGVja1NtYXRjaCAtIEZB SUwKRGVzYzogUnVuIHNtYXRjaCB0b29sIHdpdGggc291cmNlCk91dHB1dDoKCnNyYy9zaGFyZWQv Y3J5cHRvLmM6MjcxOjIxOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4K c3JjL3NoYXJlZC9jcnlwdG8uYzoyNzI6MjM6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJh eSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjc2NDozMTogd2FybmluZzogVmFy aWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0dC1oZWxwZXJzLmM6ODQy OjMxOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9n YXR0LWhlbHBlcnMuYzoxMzM1OjMxOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMg dXNlZC4Kc3JjL3NoYXJlZC9nYXR0LWhlbHBlcnMuYzoxMzY2OjIzOiB3YXJuaW5nOiBWYXJpYWJs ZSBsZW5ndGggYXJyYXkgaXMgdXNlZC4Kc3JjL3NoYXJlZC9iYXAuYzozMTg6MjU6IHdhcm5pbmc6 IGFycmF5IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKc3JjL3NoYXJlZC9iYXAuYzogbm90ZTogaW4g aW5jbHVkZWQgZmlsZToKLi9zcmMvc2hhcmVkL2FzY3MuaDo4ODoyNTogd2FybmluZzogYXJyYXkg b2YgZmxleGlibGUgc3RydWN0dXJlcwpzcmMvc2hhcmVkL3NoZWxsLmM6IG5vdGU6IGluIGluY2x1 ZGVkIGZpbGUgKHRocm91Z2ggL3Vzci9pbmNsdWRlL3g4Nl82NC1saW51eC1nbnUvL3N5cy9pb2N0 bC5oLCAvdXNyL2luY2x1ZGUveDg2XzY0LWxpbnV4LWdudS8vc3lzL2Vwb2xsLmgsIHNyYy9zaGFy ZWQvbWFpbmxvb3AuaCk6Ci91c3IvaW5jbHVkZS94ODZfNjQtbGludXgtZ251Ly9zeXMvdHR5ZGVm YXVsdHMuaDo1NTo5OiB3YXJuaW5nOiBwcmVwcm9jZXNzb3IgdG9rZW4gQ1RSTCByZWRlZmluZWQK c3JjL3NoYXJlZC9zaGVsbC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlICh0aHJvdWdoIC91c3Iv aW5jbHVkZS9yZWFkbGluZS9rZXltYXBzLmgsIC91c3IvaW5jbHVkZS9yZWFkbGluZS9yZWFkbGlu ZS5oKToKL3Vzci9pbmNsdWRlL3JlYWRsaW5lL2NoYXJkZWZzLmg6NTE6OTogdGhpcyB3YXMgdGhl IG9yaWdpbmFsIGRlZmluaXRpb24Kc3JjL3NoYXJlZC9jcnlwdG8uYzoyNzE6MjE6IHdhcm5pbmc6 IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2NyeXB0by5jOjI3Mjoy Mzogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnNyYy9zaGFyZWQvZ2F0 dC1oZWxwZXJzLmM6NzY0OjMxOiB3YXJuaW5nOiBWYXJpYWJsZSBsZW5ndGggYXJyYXkgaXMgdXNl ZC4Kc3JjL3NoYXJlZC9nYXR0LWhlbHBlcnMuYzo4NDI6MzE6IHdhcm5pbmc6IFZhcmlhYmxlIGxl bmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVscGVycy5jOjEzMzU6MzE6IHdh cm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpzcmMvc2hhcmVkL2dhdHQtaGVs cGVycy5jOjEzNjY6MjM6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpz cmMvc2hhcmVkL2JhcC5jOjMxODoyNTogd2FybmluZzogYXJyYXkgb2YgZmxleGlibGUgc3RydWN0 dXJlcwpzcmMvc2hhcmVkL2JhcC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL3NyYy9zaGFy ZWQvYXNjcy5oOjg4OjI1OiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCnNy Yy9zaGFyZWQvc2hlbGwuYzogbm90ZTogaW4gaW5jbHVkZWQgZmlsZSAodGhyb3VnaCAvdXNyL2lu Y2x1ZGUveDg2XzY0LWxpbnV4LWdudS8vc3lzL2lvY3RsLmgsIC91c3IvaW5jbHVkZS94ODZfNjQt bGludXgtZ251Ly9zeXMvZXBvbGwuaCwgc3JjL3NoYXJlZC9tYWlubG9vcC5oKToKL3Vzci9pbmNs dWRlL3g4Nl82NC1saW51eC1nbnUvL3N5cy90dHlkZWZhdWx0cy5oOjU1Ojk6IHdhcm5pbmc6IHBy ZXByb2Nlc3NvciB0b2tlbiBDVFJMIHJlZGVmaW5lZApzcmMvc2hhcmVkL3NoZWxsLmM6IG5vdGU6 IGluIGluY2x1ZGVkIGZpbGUgKHRocm91Z2ggL3Vzci9pbmNsdWRlL3JlYWRsaW5lL2tleW1hcHMu aCwgL3Vzci9pbmNsdWRlL3JlYWRsaW5lL3JlYWRsaW5lLmgpOgovdXNyL2luY2x1ZGUvcmVhZGxp bmUvY2hhcmRlZnMuaDo1MTo5OiB0aGlzIHdhcyB0aGUgb3JpZ2luYWwgZGVmaW5pdGlvbgp0b29s cy9tZXNoLWNmZ3Rlc3QuYzoxNDUzOjE3OiB3YXJuaW5nOiB1bmtub3duIGVzY2FwZSBzZXF1ZW5j ZTogJ1wlJwp0b29scy9zY28tdGVzdGVyLmM6IG5vdGU6IGluIGluY2x1ZGVkIGZpbGU6Ci4vbGli L2JsdWV0b290aC9ibHVldG9vdGguaDoyMzI6MTU6IHdhcm5pbmc6IGFycmF5IG9mIGZsZXhpYmxl IHN0cnVjdHVyZXMKLi9saWIvYmx1ZXRvb3RoL2JsdWV0b290aC5oOjIzNzozMTogd2FybmluZzog YXJyYXkgb2YgZmxleGlibGUgc3RydWN0dXJlcwp0b29scy9ibmVwdGVzdC5jOjYzNDozOTogd2Fy bmluZzogdW5rbm93biBlc2NhcGUgc2VxdWVuY2U6ICdcJScKdG9vbHMvc2VxMmJzZXEuYzo1Nzoy Njogd2FybmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCmNsaWVudC9idHBjbGll bnQvZ2F0dC5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL3NyYy9zaGFyZWQvYnRwLmg6MzM4 OjQxOiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1cmVzCi4vc3JjL3NoYXJlZC9i dHAuaDozNDM6NTU6IHdhcm5pbmc6IGFycmF5IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKLi9zcmMv c2hhcmVkL2J0cC5oOjM2Njo0Nzogd2FybmluZzogYXJyYXkgb2YgZmxleGlibGUgc3RydWN0dXJl cwouL3NyYy9zaGFyZWQvYnRwLmg6Mzk1OjQyOiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBz dHJ1Y3R1cmVzCnNyYy9hZHZlcnRpc2luZy5jOiBub3RlOiBpbiBpbmNsdWRlZCBmaWxlOgouL3Ny Yy9zaGFyZWQvbWdtdC5oOjk1OjI1OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIHVuc2lnbmVkIGlu dCBlbnVtIG1nbXRfaW9fY2FwYWJpbGl0eQpzcmMvYWdlbnQuYzogbm90ZTogaW4gaW5jbHVkZWQg ZmlsZToKc3JjL3NoYXJlZC9xdWV1ZS5oOjE5OjIwOiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIHN0 cnVjdCBxdWV1ZV9lbnRyeQpzcmMvYWR2X21vbml0b3IuYzogbm90ZTogaW4gaW5jbHVkZWQgZmls ZToKLi9zcmMvc2hhcmVkL21nbXQuaDo5NToyNTogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiB1bnNp Z25lZCBpbnQgZW51bSBtZ210X2lvX2NhcGFiaWxpdHkKdW5pdC9hdmN0cC5jOjUwNTozNDogd2Fy bmluZzogVmFyaWFibGUgbGVuZ3RoIGFycmF5IGlzIHVzZWQuCnVuaXQvYXZjdHAuYzo1NTY6MzQ6 IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L3Rlc3QtYXZyY3Au YzozNzQ6MjY6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L3Rl c3QtYXZyY3AuYzozOTk6MjY6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2Vk Lgp1bml0L3Rlc3QtYXZyY3AuYzo0MTU6MjQ6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJh eSBpcyB1c2VkLgp1bml0L2F2cmNwLWxpYi5jOjEwODU6MzQ6IHdhcm5pbmc6IFZhcmlhYmxlIGxl bmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L2F2cmNwLWxpYi5jOjE1ODM6MzQ6IHdhcm5pbmc6IFZh cmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L2F2cmNwLWxpYi5jOjE2MTI6MzQ6IHdh cm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgp1bml0L2F2cmNwLWxpYi5jOjE2 Mzg6MzQ6IHdhcm5pbmc6IFZhcmlhYmxlIGxlbmd0aCBhcnJheSBpcyB1c2VkLgpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9nbGliLTIuMC9pbmNsdWRlL2ds aWJjb25maWcuaDo5LAogICAgICAgICAgICAgICAgIGZyb20gL3Vzci9pbmNsdWRlL2dsaWItMi4w L2dsaWIvZ3R5cGVzLmg6MzQsCiAgICAgICAgICAgICAgICAgZnJvbSAvdXNyL2luY2x1ZGUvZ2xp Yi0yLjAvZ2xpYi9nYWxsb2NhLmg6MzQsCiAgICAgICAgICAgICAgICAgZnJvbSAvdXNyL2luY2x1 ZGUvZ2xpYi0yLjAvZ2xpYi5oOjMyLAogICAgICAgICAgICAgICAgIGZyb20gdW5pdC90ZXN0LWhv Zy1saWZldGltZS5jOjE0Ogp1bml0L3Rlc3QtaG9nLWxpZmV0aW1lLmM6IEluIGZ1bmN0aW9uIOKA mHRlc3RfcmVwb3J04oCZOgp1bml0L3Rlc3QtaG9nLWxpZmV0aW1lLmM6MTAwOjUwOiBlcnJvcjog Y29tcGFyaXNvbiBvZiBpbnRlZ2VyIGV4cHJlc3Npb25zIG9mIGRpZmZlcmVudCBzaWduZWRuZXNz OiDigJhzc2l6ZV904oCZIHtha2Eg4oCYbG9uZyBpbnTigJl9IGFuZCDigJhzaXplX3TigJkge2Fr YSDigJhsb25nIHVuc2lnbmVkIGludOKAmX0gWy1XZXJyb3I9c2lnbi1jb21wYXJlXQogIDEwMCB8 ICAgICAgICAgZ19hc3NlcnQod3JpdGUoYXR0ZmRbMV0sIHJlc3BvbnNlLCBzaXplKSA9PSBzaXpl KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KL3Vzci9pbmNsdWRlL2dsaWItMi4wL2dsaWIvZ21hY3Jvcy5oOjEyNzk6ODogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhfR19CT09MRUFOX0VYUFJfSU1QTOKAmQogMTI3OSB8 ICAgIGlmIChleHByKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAg fCAgICAgICAgXn5+fgovdXNyL2luY2x1ZGUvZ2xpYi0yLjAvZ2xpYi9nbWFjcm9zLmg6MTI4NDo0 Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmF9HX0JPT0xFQU5fRVhQUuKAmQogMTI4 NCB8ICNkZWZpbmUgR19MSUtFTFkoZXhwcikgKF9fYnVpbHRpbl9leHBlY3QgKF9HX0JPT0xFQU5f RVhQUihleHByKSwgMSkpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+Ci91c3IvaW5jbHVkZS9nbGliLTIuMC9nbGliL2d0ZXN0 dXRpbHMuaDoyNzY6NDk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhHX0xJS0VMWeKA mQogIDI3NiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm IEdfTElLRUxZIChleHByKSA7IGVsc2UgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+CnVuaXQvdGVzdC1ob2ctbGlmZXRpbWUu YzoxMDA6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGdfYXNzZXJ04oCZCiAgMTAw IHwgICAgICAgICBnX2Fzc2VydCh3cml0ZShhdHRmZFsxXSwgcmVzcG9uc2UsIHNpemUpID09IHNp emUpOwogICAgICB8ICAgICAgICAgXn5+fn5+fn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJl YXRlZCBhcyBlcnJvcnMKbWFrZVsxXTogKioqIFtNYWtlZmlsZTo3Mjk3OiB1bml0L3Rlc3QtaG9n LWxpZmV0aW1lLm9dIEVycm9yIDEKbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQg am9icy4uLi4KbWFrZTogKioqIFtNYWtlZmlsZTo0MzQ4OiBhbGxdIEVycm9yIDIKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IGJsdWV6bWFrZWV4dGVsbCAtIEZBSUwKRGVzYzog QnVpbGQgQmx1ZXogd2l0aCBFeHRlcm5hbCBFTEwKT3V0cHV0OgoKSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZS9nbGliY29uZmln Lmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC91c3IvaW5jbHVkZS9nbGliLTIuMC9nbGliL2d0 eXBlcy5oOjM0LAogICAgICAgICAgICAgICAgIGZyb20gL3Vzci9pbmNsdWRlL2dsaWItMi4wL2ds aWIvZ2FsbG9jYS5oOjM0LAogICAgICAgICAgICAgICAgIGZyb20gL3Vzci9pbmNsdWRlL2dsaWIt Mi4wL2dsaWIuaDozMiwKICAgICAgICAgICAgICAgICBmcm9tIHVuaXQvdGVzdC1ob2ctbGlmZXRp bWUuYzoxNDoKdW5pdC90ZXN0LWhvZy1saWZldGltZS5jOiBJbiBmdW5jdGlvbiDigJh0ZXN0X3Jl cG9ydOKAmToKdW5pdC90ZXN0LWhvZy1saWZldGltZS5jOjEwMDo1MDogZXJyb3I6IGNvbXBhcmlz b24gb2YgaW50ZWdlciBleHByZXNzaW9ucyBvZiBkaWZmZXJlbnQgc2lnbmVkbmVzczog4oCYc3Np emVfdOKAmSB7YWthIOKAmGxvbmcgaW504oCZfSBhbmQg4oCYc2l6ZV904oCZIHtha2Eg4oCYbG9u ZyB1bnNpZ25lZCBpbnTigJl9IFstV2Vycm9yPXNpZ24tY29tcGFyZV0KICAxMDAgfCAgICAgICAg IGdfYXNzZXJ0KHdyaXRlKGF0dGZkWzFdLCByZXNwb25zZSwgc2l6ZSkgPT0gc2l6ZSk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci91 c3IvaW5jbHVkZS9nbGliLTIuMC9nbGliL2dtYWNyb3MuaDoxMjc5Ojg6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYX0dfQk9PTEVBTl9FWFBSX0lNUEzigJkKIDEyNzkgfCAgICBpZiAo ZXhwcikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgIHwgICAgICAg IF5+fn4KL3Vzci9pbmNsdWRlL2dsaWItMi4wL2dsaWIvZ21hY3Jvcy5oOjEyODQ6NDM6IG5vdGU6 IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhfR19CT09MRUFOX0VYUFLigJkKIDEyODQgfCAjZGVm aW5lIEdfTElLRUxZKGV4cHIpIChfX2J1aWx0aW5fZXhwZWN0IChfR19CT09MRUFOX0VYUFIoZXhw ciksIDEpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fgovdXNyL2luY2x1ZGUvZ2xpYi0yLjAvZ2xpYi9ndGVzdHV0aWxzLmg6 Mjc2OjQ5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYR19MSUtFTFnigJkKICAyNzYg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBHX0xJS0VM WSAoZXhwcikgOyBlbHNlIFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fgp1bml0L3Rlc3QtaG9nLWxpZmV0aW1lLmM6MTAwOjk6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhnX2Fzc2VydOKAmQogIDEwMCB8ICAgICAg ICAgZ19hc3NlcnQod3JpdGUoYXR0ZmRbMV0sIHJlc3BvbnNlLCBzaXplKSA9PSBzaXplKTsKICAg ICAgfCAgICAgICAgIF5+fn5+fn5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMg ZXJyb3JzCm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6NzI5NzogdW5pdC90ZXN0LWhvZy1saWZldGlt ZS5vXSBFcnJvciAxCm1ha2VbMV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4u Cm1ha2U6ICoqKiBbTWFrZWZpbGU6NDM0ODogYWxsXSBFcnJvciAyCiMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwpUZXN0OiBUZXN0RnVuY3Rpb25hbCAtIEVSUk9SCkRlc2M6IFJ1biB0ZXN0 LWZ1bmN0aW9uYWwKT3V0cHV0OgpGYWlsZWQgdG8gYnVpbGQgQmx1ZVo6CkZhaWxlZCB0byBidWls ZCBCbHVlWgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogSW5jcmVtZW50YWxC dWlsZCAtIEZBSUwKRGVzYzogSW5jcmVtZW50YWwgYnVpbGQgd2l0aCB0aGUgcGF0Y2hlcyBpbiB0 aGUgc2VyaWVzCk91dHB1dDoKCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdXNyL2xpYi94ODZfNjQt bGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUvZ2xpYmNvbmZpZy5oOjksCiAgICAgICAgICAgICAg ICAgZnJvbSAvdXNyL2luY2x1ZGUvZ2xpYi0yLjAvZ2xpYi9ndHlwZXMuaDozNCwKICAgICAgICAg ICAgICAgICBmcm9tIC91c3IvaW5jbHVkZS9nbGliLTIuMC9nbGliL2dhbGxvY2EuaDozNCwKICAg ICAgICAgICAgICAgICBmcm9tIC91c3IvaW5jbHVkZS9nbGliLTIuMC9nbGliLmg6MzIsCiAgICAg ICAgICAgICAgICAgZnJvbSB1bml0L3Rlc3QtaG9nLWxpZmV0aW1lLmM6MTQ6CnVuaXQvdGVzdC1o b2ctbGlmZXRpbWUuYzogSW4gZnVuY3Rpb24g4oCYdGVzdF9yZXBvcnTigJk6CnVuaXQvdGVzdC1o b2ctbGlmZXRpbWUuYzoxMDA6NTA6IGVycm9yOiBjb21wYXJpc29uIG9mIGludGVnZXIgZXhwcmVz c2lvbnMgb2YgZGlmZmVyZW50IHNpZ25lZG5lc3M6IOKAmHNzaXplX3TigJkge2FrYSDigJhsb25n IGludOKAmX0gYW5kIOKAmHNpemVfdOKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQgaW504oCZfSBb LVdlcnJvcj1zaWduLWNvbXBhcmVdCiAgMTAwIHwgICAgICAgICBnX2Fzc2VydCh3cml0ZShhdHRm ZFsxXSwgcmVzcG9uc2UsIHNpemUpID09IHNpemUpOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgovdXNyL2luY2x1ZGUvZ2xpYi0yLjAv Z2xpYi9nbWFjcm9zLmg6MTI3OTo4OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmF9H X0JPT0xFQU5fRVhQUl9JTVBM4oCZCiAxMjc5IHwgICAgaWYgKGV4cHIpICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAogICAgICB8ICAgICAgICBefn5+Ci91c3IvaW5jbHVkZS9n bGliLTIuMC9nbGliL2dtYWNyb3MuaDoxMjg0OjQzOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj cm8g4oCYX0dfQk9PTEVBTl9FWFBS4oCZCiAxMjg0IHwgI2RlZmluZSBHX0xJS0VMWShleHByKSAo X19idWlsdGluX2V4cGVjdCAoX0dfQk9PTEVBTl9FWFBSKGV4cHIpLCAxKSkKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn4KL3Vz ci9pbmNsdWRlL2dsaWItMi4wL2dsaWIvZ3Rlc3R1dGlscy5oOjI3Njo0OTogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmEdfTElLRUxZ4oCZCiAgMjc2IHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgR19MSUtFTFkgKGV4cHIpIDsgZWxzZSBcCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn4KdW5pdC90ZXN0LWhvZy1saWZldGltZS5jOjEwMDo5OiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYZ19hc3NlcnTigJkKICAxMDAgfCAgICAgICAgIGdfYXNzZXJ0KHdyaXRlKGF0 dGZkWzFdLCByZXNwb25zZSwgc2l6ZSkgPT0gc2l6ZSk7CiAgICAgIHwgICAgICAgICBefn5+fn5+ fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzFdOiAqKiog W01ha2VmaWxlOjcyOTc6IHVuaXQvdGVzdC1ob2ctbGlmZXRpbWUub10gRXJyb3IgMQptYWtlWzFd OiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgptYWtlOiAqKiogW01ha2VmaWxl OjQzNDg6IGFsbF0gRXJyb3IgMgpbQmx1ZVosMy8zXSBidWlsZDogUmVnaXN0ZXIgdGhlIEhvRyBy ZXBvcnQgbGlmZXRpbWUgdGVzdHMKCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdXNyL2xpYi94ODZf NjQtbGludXgtZ251L2dsaWItMi4wL2luY2x1ZGUvZ2xpYmNvbmZpZy5oOjksCiAgICAgICAgICAg ICAgICAgZnJvbSAvdXNyL2luY2x1ZGUvZ2xpYi0yLjAvZ2xpYi9ndHlwZXMuaDozNCwKICAgICAg ICAgICAgICAgICBmcm9tIC91c3IvaW5jbHVkZS9nbGliLTIuMC9nbGliL2dhbGxvY2EuaDozNCwK ICAgICAgICAgICAgICAgICBmcm9tIC91c3IvaW5jbHVkZS9nbGliLTIuMC9nbGliLmg6MzIsCiAg ICAgICAgICAgICAgICAgZnJvbSB1bml0L3Rlc3QtaG9nLWxpZmV0aW1lLmM6MTQ6CnVuaXQvdGVz dC1ob2ctbGlmZXRpbWUuYzogSW4gZnVuY3Rpb24g4oCYdGVzdF9yZXBvcnTigJk6CnVuaXQvdGVz dC1ob2ctbGlmZXRpbWUuYzoxMDA6NTA6IGVycm9yOiBjb21wYXJpc29uIG9mIGludGVnZXIgZXhw cmVzc2lvbnMgb2YgZGlmZmVyZW50IHNpZ25lZG5lc3M6IOKAmHNzaXplX3TigJkge2FrYSDigJhs b25nIGludOKAmX0gYW5kIOKAmHNpemVfdOKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQgaW504oCZ fSBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCiAgMTAwIHwgICAgICAgICBnX2Fzc2VydCh3cml0ZShh dHRmZFsxXSwgcmVzcG9uc2UsIHNpemUpID09IHNpemUpOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgovdXNyL2luY2x1ZGUvZ2xpYi0y LjAvZ2xpYi9nbWFjcm9zLmg6MTI3OTo4OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mF9HX0JPT0xFQU5fRVhQUl9JTVBM4oCZCiAxMjc5IHwgICAgaWYgKGV4cHIpICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICB8ICAgICAgICBefn5+Ci91c3IvaW5jbHVk ZS9nbGliLTIuMC9nbGliL2dtYWNyb3MuaDoxMjg0OjQzOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYX0dfQk9PTEVBTl9FWFBS4oCZCiAxMjg0IHwgI2RlZmluZSBHX0xJS0VMWShleHBy KSAoX19idWlsdGluX2V4cGVjdCAoX0dfQk9PTEVBTl9FWFBSKGV4cHIpLCAxKSkKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn4K L3Vzci9pbmNsdWRlL2dsaWItMi4wL2dsaWIvZ3Rlc3R1dGlscy5oOjI3Njo0OTogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEdfTElLRUxZ4oCZCiAgMjc2IHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgR19MSUtFTFkgKGV4cHIpIDsgZWxzZSBc CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn4KdW5pdC90ZXN0LWhvZy1saWZldGltZS5jOjEwMDo5OiBub3RlOiBpbiBleHBhbnNp b24gb2YgbWFjcm8g4oCYZ19hc3NlcnTigJkKICAxMDAgfCAgICAgICAgIGdfYXNzZXJ0KHdyaXRl KGF0dGZkWzFdLCByZXNwb25zZSwgc2l6ZSkgPT0gc2l6ZSk7CiAgICAgIHwgICAgICAgICBefn5+ fn5+fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzFdOiAq KiogW01ha2VmaWxlOjcyOTc6IHVuaXQvdGVzdC1ob2ctbGlmZXRpbWUub10gRXJyb3IgMQptYWtl WzFdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgptYWtlOiAqKiogW01ha2Vm aWxlOjQzNDg6IGFsbF0gRXJyb3IgMgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVz dDogU2NhbkJ1aWxkIC0gRkFJTApEZXNjOiBSdW4gU2NhbiBCdWlsZApPdXRwdXQ6CgpzcmMvc2hh cmVkL2dhdHQtY2xpZW50LmM6NDQ3OjIxOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0 IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KICA0NDcgfCAgICAgICAgIGdhdHRfZGJfdW5yZWdpc3Rl cihvcC0+Y2xpZW50LT5kYiwgb3AtPmRiX2lkKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzo2OTI6Mjogd2Fybmlu ZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAgNjkyIHwg ICAgICAgICBkaXNjb3Zlcnlfb3BfY29tcGxldGUob3AsIGZhbHNlLCBhdHRfZWNvZGUpOwogICAg ICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpz cmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTA5ODoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFm dGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDEwOTggfCAgICAgICAgIGRpc2NvdmVyeV9v cF9jb21wbGV0ZShvcCwgc3VjY2VzcywgYXR0X2Vjb2RlKTsKICAgICAgfCAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQt Y2xpZW50LmM6MTI5MjoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVk IFt1bml4Lk1hbGxvY10KIDEyOTIgfCAgICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwg c3VjY2VzcywgYXR0X2Vjb2RlKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTM1Nzoy OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10K IDEzNTcgfCAgICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgc3VjY2VzcywgYXR0X2Vj b2RlKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTYzMjo2OiB3YXJuaW5nOiBVc2Ug b2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDE2MzIgfCAgICAgICAg IGlmIChyZWFkX2RiX2hhc2gob3ApKSB7CiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTYzNzoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVt b3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDE2MzcgfCAgICAgICAgIGRpc2Nv dmVyX2FsbChvcCk7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQv Z2F0dC1jbGllbnQuYzoxNjkzOjU2OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlz IGZyZWVkIFt1bml4Lk1hbGxvY10KIDE2OTMgfCAgICAgICAgIG5vdGlmeV9kYXRhLT5jaHJjLT5j Y2Nfd3JpdGVfaWQgPSBub3RpZnlfZGF0YS0+YXR0X2lkID0gYXR0X2lkOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn4g XgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MjE0Njo2OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5 IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDIxNDYgfCAgICAgICAgIGlmIChyZWFk X2RiX2hhc2gob3ApKSB7CiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgpzcmMv c2hhcmVkL2dhdHQtY2xpZW50LmM6MjE1NDo4OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVy IGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDIxNTQgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NvdmVyeV9vcF9yZWYob3ApLAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjMzMzI6 Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2Nd CiAzMzMyIHwgICAgICAgICBjb21wbGV0ZV93cml0ZV9sb25nX29wKHJlcSwgc3VjY2VzcywgMCwg ZmFsc2UpOwogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MzM1NDoyOiB3YXJuaW5nOiBV c2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDMzNTQgfCAgICAg ICAgIHJlcXVlc3RfdW5yZWYocmVxKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fgoxMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9zaGFyZWQvcmFwLmM6MzMyMjozMDogd2Fybmlu ZzogQXNzaWduZWQgdmFsdWUgaXMgdW5pbml0aWFsaXplZCBbY29yZS51bmluaXRpYWxpemVkLkFz c2lnbl0KIDMzMjIgfCAgICAgICAgICAgICAgICAgICAgICAgICBvdXQtPnRvbmVfcGN0W2tdLmlf c2FtcGxlID0gdG9uZV9wY3RfaVtrXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL3JhcC5j OjQyNjk6MTM6IHdhcm5pbmc6IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXgu TWFsbG9jXQogNDI2OSB8ICAgICAgICAgYXR0YWNoZWQgPSBxdWV1ZV9maW5kKHNlc3Npb25zLCBO VUxMLCByYXApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvc2hhcmVkL2JhcC5jOjE1NDM6 ODogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2Nd CiAxNTQzIHwgICAgICAgICBiYXAgPSBidF9iYXBfcmVmX3NhZmUoYmFwKTsKICAgICAgfCAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvYmFwLmM6MjM1OToyMDog d2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAy MzU5IHwgICAgICAgICByZXR1cm4gcXVldWVfZmluZChzdHJlYW0tPmJhcC0+c3RyZWFtcywgTlVM TCwgc3RyZWFtKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6 NDQ3OjIxOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1h bGxvY10KICA0NDcgfCAgICAgICAgIGdhdHRfZGJfdW5yZWdpc3RlcihvcC0+Y2xpZW50LT5kYiwg b3AtPmRiX2lkKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzo2OTI6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBh ZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAgNjkyIHwgICAgICAgICBkaXNjb3Zlcnlf b3BfY29tcGxldGUob3AsIGZhbHNlLCBhdHRfZWNvZGUpOwogICAgICB8ICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xp ZW50LmM6MTA5ODoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1 bml4Lk1hbGxvY10KIDEwOTggfCAgICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgc3Vj Y2VzcywgYXR0X2Vjb2RlKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTI5MjoyOiB3 YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDEy OTIgfCAgICAgICAgIGRpc2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgc3VjY2VzcywgYXR0X2Vjb2Rl KTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50LmM6MTM1NzoyOiB3YXJuaW5nOiBVc2Ugb2Yg bWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDEzNTcgfCAgICAgICAgIGRp c2NvdmVyeV9vcF9jb21wbGV0ZShvcCwgc3VjY2VzcywgYXR0X2Vjb2RlKTsKICAgICAgfCAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hh cmVkL2dhdHQtY2xpZW50LmM6MTYzMjo2OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0 IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDE2MzIgfCAgICAgICAgIGlmIChyZWFkX2RiX2hhc2go b3ApKSB7CiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dh dHQtY2xpZW50LmM6MTYzNzoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZy ZWVkIFt1bml4Lk1hbGxvY10KIDE2MzcgfCAgICAgICAgIGRpc2NvdmVyX2FsbChvcCk7CiAgICAg IHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvZ2F0dC1jbGllbnQuYzoxNjkz OjU2OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxv Y10KIDE2OTMgfCAgICAgICAgIG5vdGlmeV9kYXRhLT5jaHJjLT5jY2Nfd3JpdGVfaWQgPSBub3Rp ZnlfZGF0YS0+YXR0X2lkID0gYXR0X2lkOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn4gXgpzcmMvc2hhcmVkL2dhdHQt Y2xpZW50LmM6MjE0Njo2OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVk IFt1bml4Lk1hbGxvY10KIDIxNDYgfCAgICAgICAgIGlmIChyZWFkX2RiX2hhc2gob3ApKSB7CiAg ICAgIHwgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL2dhdHQtY2xpZW50 LmM6MjE1NDo4OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlzIGZyZWVkIFt1bml4 Lk1hbGxvY10KIDIxNTQgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRpc2NvdmVyeV9vcF9yZWYob3ApLAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn4Kc3JjL3NoYXJlZC9nYXR0LWNsaWVudC5jOjMzMzI6Mjogd2FybmluZzogVXNlIG9m IG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAzMzMyIHwgICAgICAgICBj b21wbGV0ZV93cml0ZV9sb25nX29wKHJlcSwgc3VjY2VzcywgMCwgZmFsc2UpOwogICAgICB8ICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpzcmMv c2hhcmVkL2dhdHQtY2xpZW50LmM6MzM1NDoyOiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVy IGl0IGlzIGZyZWVkIFt1bml4Lk1hbGxvY10KIDMzNTQgfCAgICAgICAgIHJlcXVlc3RfdW5yZWYo cmVxKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgoxMiB3YXJuaW5ncyBnZW5l cmF0ZWQuCnNyYy9zaGFyZWQvcmFwLmM6MzMyMjozMDogd2FybmluZzogQXNzaWduZWQgdmFsdWUg aXMgdW5pbml0aWFsaXplZCBbY29yZS51bmluaXRpYWxpemVkLkFzc2lnbl0KIDMzMjIgfCAgICAg ICAgICAgICAgICAgICAgICAgICBvdXQtPnRvbmVfcGN0W2tdLmlfc2FtcGxlID0gdG9uZV9wY3Rf aVtrXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4gfn5+fn5+fn5+fn5+fgpzcmMvc2hhcmVkL3JhcC5jOjQyNjk6MTM6IHdhcm5pbmc6 IFVzZSBvZiBtZW1vcnkgYWZ0ZXIgaXQgaXMgZnJlZWQgW3VuaXguTWFsbG9jXQogNDI2OSB8ICAg ICAgICAgYXR0YWNoZWQgPSBxdWV1ZV9maW5kKHNlc3Npb25zLCBOVUxMLCByYXApOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjIgd2Fy bmluZ3MgZ2VuZXJhdGVkLgp0b29scy9oY2lhdHRhY2hfYXRoM2suYzo1MzA6OTogd2FybmluZzog RmlsZSBwb3NpdGlvbiBvZiB0aGUgc3RyZWFtIG1pZ2h0IGJlICdpbmRldGVybWluYXRlJyBhZnRl ciBhIGZhaWxlZCBvcGVyYXRpb24uIENhbiBjYXVzZSB1bmRlZmluZWQgYmVoYXZpb3IgW3VuaXgu U3RyZWFtXQogIDUzMCB8ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmdldHMoYnl0ZSwg Mywgc3RyZWFtKSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KdG9vbHMvaGNpYXR0YWNoX2F0aDNrLmM6NTMwOjk6IHdhcm5pbmc6IFJl YWQgZnVuY3Rpb24gY2FsbGVkIHdoZW4gc3RyZWFtIGlzIGluIEVPRiBzdGF0ZS4gRnVuY3Rpb24g aGFzIG5vIGVmZmVjdCBbdW5peC5TdHJlYW1dCiAgNTMwIHwgICAgICAgICAgICAgICAgICAgICAg ICAgaWYgKCFmZ2V0cyhieXRlLCAzLCBzdHJlYW0pKQogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4K dG9vbHMvaGNpYXR0YWNoLmM6ODE3Ojc6IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9y ZWQgdG8gJ24nIGlzIHVzZWQgaW4gdGhlIGVuY2xvc2luZyBleHByZXNzaW9uLCB0aGUgdmFsdWUg aXMgbmV2ZXIgYWN0dWFsbHkgcmVhZCBmcm9tICduJyBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICA4 MTcgfCAgICAgICAgIGlmICgobiA9IHJlYWRfaGNpX2V2ZW50KGZkLCByZXNwLCAxMCkpIDwgMCkg ewogICAgICB8ICAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0 b29scy9oY2lhdHRhY2guYzo4NjU6Nzogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3Jl ZCB0byAnbicgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBp cyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ24nIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDg2 NSB8ICAgICAgICAgaWYgKChuID0gcmVhZF9oY2lfZXZlbnQoZmQsIHJlc3AsIDQpKSA8IDApIHsK ICAgICAgfCAgICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29s cy9oY2lhdHRhY2guYzo4ODc6ODogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVlIHN0b3JlZCB0 byAnbicgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2YWx1ZSBpcyBu ZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ24nIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDg4NyB8 ICAgICAgICAgICAgICAgICBpZiAoKG4gPSByZWFkX2hjaV9ldmVudChmZCwgcmVzcCwgMTApKSA8 IDApIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgp0b29scy9oY2lhdHRhY2guYzo5MDk6Nzogd2FybmluZzogQWx0aG91Z2ggdGhl IHZhbHVlIHN0b3JlZCB0byAnbicgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24s IHRoZSB2YWx1ZSBpcyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ24nIFtkZWFkY29kZS5EZWFk U3RvcmVzXQogIDkwOSB8ICAgICAgICAgaWYgKChuID0gcmVhZF9oY2lfZXZlbnQoZmQsIHJlc3As IDQpKSA8IDApIHsKICAgICAgfCAgICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgp0b29scy9oY2lhdHRhY2guYzo5MzA6Nzogd2FybmluZzogQWx0aG91Z2ggdGhlIHZh bHVlIHN0b3JlZCB0byAnbicgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRo ZSB2YWx1ZSBpcyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ24nIFtkZWFkY29kZS5EZWFkU3Rv cmVzXQogIDkzMCB8ICAgICAgICAgaWYgKChuID0gcmVhZF9oY2lfZXZlbnQoZmQsIHJlc3AsIDQp KSA8IDApIHsKICAgICAgfCAgICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgp0b29scy9oY2lhdHRhY2guYzo5NzQ6Nzogd2FybmluZzogQWx0aG91Z2ggdGhlIHZhbHVl IHN0b3JlZCB0byAnbicgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24sIHRoZSB2 YWx1ZSBpcyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ24nIFtkZWFkY29kZS5EZWFkU3RvcmVz XQogIDk3NCB8ICAgICAgICAgaWYgKChuID0gcmVhZF9oY2lfZXZlbnQoZmQsIHJlc3AsIDYpKSA8 IDApIHsKICAgICAgfCAgICAgICAgICAgICAgXiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgo2IHdhcm5pbmdzIGdlbmVyYXRlZC4Kc3JjL291aS5jOjUwOjI6IHdhcm5pbmc6IFZhbHVlIHN0 b3JlZCB0byAnaHdkYicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAgNTAg fCAgICAgICAgIGh3ZGIgPSB1ZGV2X2h3ZGJfdW5yZWYoaHdkYik7CiAgICAgIHwgICAgICAgICBe ICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9vdWkuYzo1MzoyOiB3YXJuaW5nOiBWYWx1 ZSBzdG9yZWQgdG8gJ3VkZXYnIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAg IDUzIHwgICAgICAgICB1ZGV2ID0gdWRldl91bnJlZih1ZGV2KTsKICAgICAgfCAgICAgICAgIF4g ICAgICB+fn5+fn5+fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMvc2hhcmVkL2Jh cC5jOjE1NDM6ODogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5p eC5NYWxsb2NdCiAxNTQzIHwgICAgICAgICBiYXAgPSBidF9iYXBfcmVmX3NhZmUoYmFwKTsKICAg ICAgfCAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CnNyYy9zaGFyZWQvYmFwLmM6 MjM1OToyMDogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5N YWxsb2NdCiAyMzU5IHwgICAgICAgICByZXR1cm4gcXVldWVfZmluZChzdHJlYW0tPmJhcC0+c3Ry ZWFtcywgTlVMTCwgc3RyZWFtKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgp0b29scy9yZmNvbW0uYzoy MzQ6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdpJyBpcyBuZXZlciByZWFkIFtkZWFkY29k ZS5EZWFkU3RvcmVzXQogIDIzNCB8ICAgICAgICAgICAgICAgICBpID0gZXhlY3ZwKGNtZGFyZ3Zb MF0sIGNtZGFyZ3YpOwogICAgICB8ICAgICAgICAgICAgICAgICBeICAgfn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CnRvb2xzL3JmY29tbS5jOjIzNDo3OiB3YXJuaW5nOiBOdWxsIHBvaW50ZXIg cGFzc2VkIHRvIDFzdCBwYXJhbWV0ZXIgZXhwZWN0aW5nICdub25udWxsJyBbY29yZS5Ob25OdWxs UGFyYW1DaGVja2VyXQogIDIzNCB8ICAgICAgICAgICAgICAgICBpID0gZXhlY3ZwKGNtZGFyZ3Zb MF0sIGNtZGFyZ3YpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CnRvb2xzL3JmY29tbS5jOjM1NDo4OiB3YXJuaW5nOiBBbHRob3VnaCB0aGUg dmFsdWUgc3RvcmVkIHRvICdmZCcgaXMgdXNlZCBpbiB0aGUgZW5jbG9zaW5nIGV4cHJlc3Npb24s IHRoZSB2YWx1ZSBpcyBuZXZlciBhY3R1YWxseSByZWFkIGZyb20gJ2ZkJyBbZGVhZGNvZGUuRGVh ZFN0b3Jlc10KICAzNTQgfCAgICAgICAgICAgICAgICAgaWYgKChmZCA9IG9wZW4oZGV2bmFtZSwg T19SRE9OTFkgfCBPX05PQ1RUWSkpIDwgMCkgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAg IF4gICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9yZmNvbW0uYzo0 NzM6Njogd2FybmluZzogVGhlIDFzdCBhcmd1bWVudCB0byAnZ2V0c29ja25hbWUnIGlzIC0xIGJ1 dCBzaG91bGQgYmUgPj0gMCBbdW5peC5TdGRDTGlicmFyeUZ1bmN0aW9uc10KICA0NzMgfCAgICAg ICAgIGlmIChnZXRzb2NrbmFtZShuc2ssIChzdHJ1Y3Qgc29ja2FkZHIgKikmbGFkZHIsICZhbGVu KSA8IDApIHsKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9yZmNvbW0uYzo0OTc6MTQ6IHdhcm5pbmc6IEFz c2lnbmVkIHZhbHVlIGlzIHVuaW5pdGlhbGl6ZWQgW2NvcmUudW5pbml0aWFsaXplZC5Bc3NpZ25d CiAgNDk3IHwgICAgICAgICByZXEuY2hhbm5lbCA9IHJhZGRyLnJjX2NoYW5uZWw7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvcmZjb21tLmM6NTE1 Ojg6IHdhcm5pbmc6IEFsdGhvdWdoIHRoZSB2YWx1ZSBzdG9yZWQgdG8gJ2ZkJyBpcyB1c2VkIGlu IHRoZSBlbmNsb3NpbmcgZXhwcmVzc2lvbiwgdGhlIHZhbHVlIGlzIG5ldmVyIGFjdHVhbGx5IHJl YWQgZnJvbSAnZmQnIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDUxNSB8ICAgICAgICAgICAgICAg ICBpZiAoKGZkID0gb3BlbihkZXZuYW1lLCBPX1JET05MWSB8IE9fTk9DVFRZKSkgPCAwKSB7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgXiAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CjYgd2FybmluZ3MgZ2VuZXJhdGVkLgp0b29scy9jaXB0b29sLmM6MzUxOjc6IHdh cm5pbmc6IDV0aCBmdW5jdGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFs dWUgW2NvcmUuQ2FsbEFuZE1lc3NhZ2VdCiAgMzUxIHwgICAgICAgICBzayA9IGRvX2Nvbm5lY3Qo Y3RsLCBkZXZfaWQsICZzcmMsICZkc3QsIHBzbSwgKDEgPDwgQ01UUF9MT09QQkFDSykpOwogICAg ICB8ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgp0b29scy9zZHB0b29s LmM6OTQxOjI2OiB3YXJuaW5nOiBSZXN1bHQgb2YgJ21hbGxvYycgaXMgY29udmVydGVkIHRvIGEg cG9pbnRlciBvZiB0eXBlICd1aW50MzJfdCcsIHdoaWNoIGlzIGluY29tcGF0aWJsZSB3aXRoIHNp emVvZiBvcGVyYW5kIHR5cGUgJ2ludCcgW3VuaXguTWFsbG9jU2l6ZW9mXQogIDk0MSB8ICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICp2YWx1ZV9pbnQgPSBtYWxsb2Moc2l6ZW9mKGlu dCkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn4gICAgICAgICAg ICBefn5+fn4gfn5+fn5+fn5+fn4KdG9vbHMvc2RwdG9vbC5jOjk4MDo0OiB3YXJuaW5nOiAxc3Qg ZnVuY3Rpb24gY2FsbCBhcmd1bWVudCBpcyBhbiB1bmluaXRpYWxpemVkIHZhbHVlIFtjb3JlLkNh bGxBbmRNZXNzYWdlXQogIDk4MCB8ICAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUoYWxsb2NB cnJheVtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fgp0b29scy9zZHB0b29sLmM6Mzc3NzoyOiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBt ZW1vcnkgcG9pbnRlZCB0byBieSAnc2kubmFtZScgW3VuaXguTWFsbG9jXQogMzc3NyB8ICAgICAg ICAgcmV0dXJuIGFkZF9zZXJ2aWNlKDAsICZzaSk7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgp0b29scy9zZHB0b29sLmM6NDExMjo0OiB3YXJuaW5nOiBQb3RlbnRp YWwgbGVhayBvZiBtZW1vcnkgcG9pbnRlZCB0byBieSAnY29udGV4dC5zdmMnIFt1bml4Lk1hbGxv Y10KIDQxMTIgfCAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+CjQgd2FybmluZ3MgZ2VuZXJhdGVkLgpzcmMv c2RwLXhtbC5jOjEyOToxMDogd2FybmluZzogQXNzaWduZWQgdmFsdWUgaXMgdW5pbml0aWFsaXpl ZCBbY29yZS51bmluaXRpYWxpemVkLkFzc2lnbl0KICAxMjkgfCAgICAgICAgICAgICAgICAgYnVm WzFdID0gZGF0YVtpICsgMV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBeIH5+fn5+ fn5+fn5+CnNyYy9zZHAteG1sLmM6MzA5OjExOiB3YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyB1 bmluaXRpYWxpemVkIFtjb3JlLnVuaW5pdGlhbGl6ZWQuQXNzaWduXQogIDMwOSB8ICAgICAgICAg ICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IGRhdGFbaSArIDFdOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+fn5+CnNyYy9zZHAteG1sLmM6MzQ3OjExOiB3 YXJuaW5nOiBBc3NpZ25lZCB2YWx1ZSBpcyB1bmluaXRpYWxpemVkIFtjb3JlLnVuaW5pdGlhbGl6 ZWQuQXNzaWduXQogIDM0NyB8ICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IGRhdGFb aSArIDFdOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+ fn5+CjMgd2FybmluZ3MgZ2VuZXJhdGVkLgp0b29scy9yZmNvbW0tdGVzdGVyLmM6NDEwOjY6IHdh cm5pbmc6IFRoZSAxc3QgYXJndW1lbnQgdG8gJ2JpbmQnIGlzIC0xIGJ1dCBzaG91bGQgYmUgPj0g MCBbdW5peC5TdGRDTGlicmFyeUZ1bmN0aW9uc10KICA0MTAgfCAgICAgICAgIGlmIChiaW5kKHNr LCAoc3RydWN0IHNvY2thZGRyICopICZhZGRyLCBzaXplb2YoYWRkcikpIDwgMCkgewogICAgICB8 ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KdG9vbHMvcmZjb21tLXRlc3Rlci5jOjQyODo4OiB3YXJuaW5nOiBUaGUgMXN0IGFyZ3Vt ZW50IHRvICdjb25uZWN0JyBpcyAtMSBidXQgc2hvdWxkIGJlID49IDAgW3VuaXguU3RkQ0xpYnJh cnlGdW5jdGlvbnNdCiAgNDI4IHwgICAgICAgICBlcnIgPSBjb25uZWN0KHNrLCAoc3RydWN0IHNv Y2thZGRyICopICZhZGRyLCBzaXplb2YoYWRkcikpOwogICAgICB8ICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoyIHdhcm5p bmdzIGdlbmVyYXRlZC4KdG9vbHMvYXZ0ZXN0LmM6MjQzOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3Jl ZCB0byAnbGVuJyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDI0MyB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMyk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+ fn5+fgp0b29scy9hdnRlc3QuYzoyNTM6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4n IGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgMjUzIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCA0KTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xz L2F2dGVzdC5jOjI2Mjo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIg cmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAyNjIgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6 Mjc2OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkIFtkZWFk Y29kZS5EZWFkU3RvcmVzXQogIDI3NiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGVuID0gd3JpdGUoc2ssIGJ1ZiwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+CiAgMjc3IHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMyArIHNpemVvZihtZWRpYV90cmFuc3BvcnQpKTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjI4Mzo1OiB3YXJuaW5nOiBW YWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10K ICAyODMgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBi dWYsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+ fn5+fn5+fgogIDI4NCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDEgKyBtZWRpYV90cmFuc3BvcnRfc2l6ZSk7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgp0b29scy9hdnRlc3QuYzoyOTA6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlz IG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgMjkwIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn4KICAyOTEgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICsgbWVkaWFfdHJhbnNw b3J0X3NpemUpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6Mjk3OjU6 IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5E ZWFkU3RvcmVzXQogIDI5NyB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0g d3JpdGUoc2ssIGJ1ZiwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4g ICAgIH5+fn5+fn5+fn5+fn5+CiAgMjk4IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMiArIG1lZGlhX3RyYW5zcG9ydF9zaXplKTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjMwOTo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQg dG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAzMDkgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDQpOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+ fn4KdG9vbHMvYXZ0ZXN0LmM6MzEzOjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBp cyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDMxMyB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9h dnRlc3QuYzozMjI6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJl YWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgMzIyIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAzKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjMy Njo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNv ZGUuRGVhZFN0b3Jlc10KICAzMjYgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxl biA9IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6MzM1OjU6IHdhcm5p bmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3Rv cmVzXQogIDMzNSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUo c2ssIGJ1ZiwgMyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAg ICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzozNDI6NTogd2FybmluZzogVmFsdWUg c3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgMzQy IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAy KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+ fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjM2NDo1OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8g J2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAzNjQgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDQpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4K dG9vbHMvYXZ0ZXN0LmM6MzY4OjU6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBu ZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDM2OCB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgMik7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRl c3QuYzozNzc6NTogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQg W2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgMzc3IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjM4MTo1 OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUu RGVhZFN0b3Jlc10KICAzODEgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9 IHdyaXRlKHNrLCBidWYsIDIpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6Mzk0OjU6IHdhcm5pbmc6 IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVz XQogIDM5NCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ss IGJ1ZiwgNCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+ fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzozOTg6NTogd2FybmluZzogVmFsdWUgc3Rv cmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgMzk4IHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAyKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+ fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjQwNTo0OiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2xl bicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICA0MDUgfCAgICAgICAgICAg ICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAyKTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo0MTU6 NDogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2Rl LkRlYWRTdG9yZXNdCiAgNDE1IHwgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gd3JpdGUo c2ssIGJ1ZiwgMik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+ fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NTgwOjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0 byAnbGVuJyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDU4MCB8ICAgICAg ICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCAyKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn4KdG9vbHMvYXZ0ZXN0LmM6NTg4OjM6IHdhcm5pbmc6 IFZhbHVlIHN0b3JlZCB0byAnbGVuJyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVz XQogIDU4OCB8ICAgICAgICAgICAgICAgICBsZW4gPSB3cml0ZShzaywgYnVmLCBpbnZhbGlkID8g MiA6IDMpOwogICAgICB8ICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CnRvb2xzL2F2dGVzdC5jOjYwMjozOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQg dG8gJ2xlbicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICA2MDIgfCAgICAg ICAgICAgICAgICAgbGVuID0gd3JpdGUoc2ssIGJ1ZiwgNCArIG1lZGlhX3RyYW5zcG9ydF9zaXpl KTsKICAgICAgfCAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo2MTU6Mzogd2FybmluZzogVmFsdWUgc3Rv cmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgNjE1IHwg ICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICB8ICAgICAgICAg ICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo2MjU6Mzogd2Fy bmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRT dG9yZXNdCiAgNjI1IHwgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwog ICAgICB8ICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRl c3QuYzo2Mzc6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQg W2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgNjM3IHwgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRl KHNrLCBidWYsIDMpOwogICAgICB8ICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+ fn5+fgp0b29scy9hdnRlc3QuYzo2NTI6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4n IGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgNjUyIHwgICAgICAgICAgICAg ICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICB8ICAgICAgICAgICAgICAgICBeICAg ICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo2NjQ6Mzogd2FybmluZzogVmFsdWUg c3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgNjY0 IHwgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMpOwogICAgICB8ICAgICAg ICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9hdnRlc3QuYzo2NzM6Mzog d2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRl YWRTdG9yZXNdCiAgNjczIHwgICAgICAgICAgICAgICAgIGxlbiA9IHdyaXRlKHNrLCBidWYsIDMp OwogICAgICB8ICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fgp0b29scy9h dnRlc3QuYzo2ODA6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdsZW4nIGlzIG5ldmVyIHJl YWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgNjgwIHwgICAgICAgICAgICAgICAgIGxlbiA9IHdy aXRlKHNrLCBidWYsIDIpOwogICAgICB8ICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+ fn5+fn5+fgp0b29scy9hdnRlc3QuYzo3MTY6Mjogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICds ZW4nIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgNzE2IHwgICAgICAgICBs ZW4gPSB3cml0ZShzaywgYnVmLCBBVkNUUF9IRUFERVJfTEVOR1RIICsgc2l6ZW9mKHBsYXlfcHJl c3NlZCkpOwogICAgICB8ICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgozMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnRv b2xzL2NyZWF0ZS1pbWFnZS5jOjc2OjM6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnZmQnIGlz IG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgIDc2IHwgICAgICAgICAgICAgICAg IGZkID0gLTE7CiAgICAgIHwgICAgICAgICAgICAgICAgIF4gICAgfn4KdG9vbHMvY3JlYXRlLWlt YWdlLmM6ODQ6Mzogd2FybmluZzogVmFsdWUgc3RvcmVkIHRvICdmZCcgaXMgbmV2ZXIgcmVhZCBb ZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAgODQgfCAgICAgICAgICAgICAgICAgZmQgPSAtMTsKICAg ICAgfCAgICAgICAgICAgICAgICAgXiAgICB+fgp0b29scy9jcmVhdGUtaW1hZ2UuYzo5MjozOiB3 YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2ZkJyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFk U3RvcmVzXQogICA5MiB8ICAgICAgICAgICAgICAgICBmZCA9IC0xOwogICAgICB8ICAgICAgICAg ICAgICAgICBeICAgIH5+CnRvb2xzL2NyZWF0ZS1pbWFnZS5jOjEwNToyOiB3YXJuaW5nOiBWYWx1 ZSBzdG9yZWQgdG8gJ2ZkJyBpcyBuZXZlciByZWFkIFtkZWFkY29kZS5EZWFkU3RvcmVzXQogIDEw NSB8ICAgICAgICAgZmQgPSAtMTsKICAgICAgfCAgICAgICAgIF4gICAgfn4KdG9vbHMvY3JlYXRl LWltYWdlLmM6MTA4OjI6IHdhcm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0IHBhcmFt ZXRlciBleHBlY3RpbmcgJ25vbm51bGwnIFtjb3JlLk5vbk51bGxQYXJhbUNoZWNrZXJdCiAgMTA4 IHwgICAgICAgICBmcHJpbnRmKGZwLCBIRFJfRk1ULCBIRFJfTUFHSUMsIGlubywgbW9kZSwgMCwg MCwgMSwgMCwKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogIDEwOSB8ICAgICAgICAgICAgICAgICAodWludG1heF90 KSBzdC5zdF9zaXplLCAwLCAwLCAwLCAwLCBuYW1lbGVuICsgMSwgMCwgbmFtZSk7CiAgICAgIHwg ICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgp0b29scy9jcmVhdGUtaW1hZ2UuYzoxODg6Mjogd2FybmluZzogTnVs bCBwb2ludGVyIHBhc3NlZCB0byAxc3QgcGFyYW1ldGVyIGV4cGVjdGluZyAnbm9ubnVsbCcgW2Nv cmUuTm9uTnVsbFBhcmFtQ2hlY2tlcl0KICAxODggfCAgICAgICAgIGZjbG9zZShmcCk7CiAgICAg IHwgICAgICAgICBefn5+fn5+fn5+CjYgd2FybmluZ3MgZ2VuZXJhdGVkLgp0b29scy9idGdhdHQt Y2xpZW50LmM6MTgyMjoyOiB3YXJuaW5nOiBWYWx1ZSBzdG9yZWQgdG8gJ2FyZ3YnIGlzIG5ldmVy IHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAxODIyIHwgICAgICAgICBhcmd2ICs9IG9wdGlu ZDsKICAgICAgfCAgICAgICAgIF4gICAgICAgfn5+fn5+CjEgd2FybmluZyBnZW5lcmF0ZWQuCnRv b2xzL2J0Z2F0dC1zZXJ2ZXIuYzoxMjA0OjI6IHdhcm5pbmc6IFZhbHVlIHN0b3JlZCB0byAnYXJn dicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KIDEyMDQgfCAgICAgICAgIGFy Z3YgLT0gb3B0aW5kOwogICAgICB8ICAgICAgICAgXiAgICAgICB+fn5+fn4KMSB3YXJuaW5nIGdl bmVyYXRlZC4KdG9vbHMvY2hlY2stc2VsZnRlc3QuYzo0MjozOiB3YXJuaW5nOiBWYWx1ZSBzdG9y ZWQgdG8gJ3B0cicgaXMgbmV2ZXIgcmVhZCBbZGVhZGNvZGUuRGVhZFN0b3Jlc10KICAgNDIgfCAg ICAgICAgICAgICAgICAgcHRyID0gZmdldHMocmVzdWx0LCBzaXplb2YocmVzdWx0KSwgZnApOwog ICAgICB8ICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KdG9vbHMvZ2F0dC1zZXJ2aWNlLmM6Mjk0OjI6IHdh cm5pbmc6IDJuZCBmdW5jdGlvbiBjYWxsIGFyZ3VtZW50IGlzIGFuIHVuaW5pdGlhbGl6ZWQgdmFs dWUgW2NvcmUuQ2FsbEFuZE1lc3NhZ2VdCiAgMjk0IHwgICAgICAgICBjaHJfd3JpdGUoY2hyLCB2 YWx1ZSwgbGVuKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CjEg d2FybmluZyBnZW5lcmF0ZWQuCkluIGZpbGUgaW5jbHVkZWQgZnJvbSB0b29scy9vYmV4LXNlcnZl ci10b29sLmM6MTc6CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdXNyL2luY2x1ZGUvZmNudGwuaDoz NDI6Ci91c3IvaW5jbHVkZS94ODZfNjQtbGludXgtZ251L2JpdHMvZmNudGwyLmg6NzY6MTA6IHdh cm5pbmc6IE51bGwgcG9pbnRlciBwYXNzZWQgdG8gMXN0IHBhcmFtZXRlciBleHBlY3RpbmcgJ25v bm51bGwnIFtjb3JlLk5vbk51bGxQYXJhbUNoZWNrZXJdCiAgIDc2IHwgICByZXR1cm4gX19vcGVu X2FsaWFzIChfX3BhdGgsIF9fb2ZsYWcsIF9fbW9kZSk7CiAgICAgIHwgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVyYXRlZC4KY2xp ZW50L2J0cGNsaWVudC9idHBjbGllbnRjdGwuYzo0MDI6Mzogd2FybmluZzogVmFsdWUgc3RvcmVk IHRvICdiaXQnIGlzIG5ldmVyIHJlYWQgW2RlYWRjb2RlLkRlYWRTdG9yZXNdCiAgNDAyIHwgICAg ICAgICAgICAgICAgIGJpdCA9IDA7CiAgICAgIHwgICAgICAgICAgICAgICAgIF4gICAgIH4KY2xp ZW50L2J0cGNsaWVudC9idHBjbGllbnRjdGwuYzoxNjU1OjI6IHdhcm5pbmc6IE51bGwgcG9pbnRl ciBwYXNzZWQgdG8gMm5kIHBhcmFtZXRlciBleHBlY3RpbmcgJ25vbm51bGwnIFtjb3JlLk5vbk51 bGxQYXJhbUNoZWNrZXJdCiAxNjU1IHwgICAgICAgICBtZW1jcHkoY3AtPmRhdGEsIGFkX2RhdGEs IGFkX2xlbik7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9zZHAtY2xpZW50LmM6MzUzOjE0OiB3YXJuaW5n OiBBY2Nlc3MgdG8gZmllbGQgJ2NiJyByZXN1bHRzIGluIGEgZGVyZWZlcmVuY2Ugb2YgYSBudWxs IHBvaW50ZXIgW2NvcmUuTnVsbERlcmVmZXJlbmNlXQogIDM1MyB8ICAgICAgICAgKCpjdHh0KS0+ Y2IgPSBjYjsKICAgICAgfCAgICAgICAgIH5+fn5+fn5+fn5+fl5+fn4KMSB3YXJuaW5nIGdlbmVy YXRlZC4Kc3JjL3NkcGQtcmVxdWVzdC5jOjIwOToxMzogd2FybmluZzogUmVzdWx0IG9mICdtYWxs b2MnIGlzIGNvbnZlcnRlZCB0byBhIHBvaW50ZXIgb2YgdHlwZSAnY2hhcicsIHdoaWNoIGlzIGlu Y29tcGF0aWJsZSB3aXRoIHNpemVvZiBvcGVyYW5kIHR5cGUgJ3VpbnQxNl90JyBbdW5peC5NYWxs b2NTaXplb2ZdCiAgMjA5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwRWxlbSA9 IG1hbGxvYyhzaXplb2YodWludDE2X3QpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+IH5+fn5+fn5+fn5+fn5+fn4Kc3JjL3NkcGQtcmVxdWVz dC5jOjIzNzoxMzogd2FybmluZzogUmVzdWx0IG9mICdtYWxsb2MnIGlzIGNvbnZlcnRlZCB0byBh IHBvaW50ZXIgb2YgdHlwZSAnY2hhcicsIHdoaWNoIGlzIGluY29tcGF0aWJsZSB3aXRoIHNpemVv ZiBvcGVyYW5kIHR5cGUgJ3VpbnQzMl90JyBbdW5peC5NYWxsb2NTaXplb2ZdCiAgMjM3IHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwRWxlbSA9IG1hbGxvYyhzaXplb2YodWludDMy X3QpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+IH5+fn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnNyYy9nYXR0LWNsaWVu dC5jOjE1Njk6Mjogd2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5p eC5NYWxsb2NdCiAxNTY5IHwgICAgICAgICBub3RpZnlfY2xpZW50X3VucmVmKGNsaWVudCk7CiAg ICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMSB3YXJuaW5nIGdlbmVy YXRlZC4Kc3JjL3NkcC14bWwuYzoxMjk6MTA6IHdhcm5pbmc6IEFzc2lnbmVkIHZhbHVlIGlzIHVu aW5pdGlhbGl6ZWQgW2NvcmUudW5pbml0aWFsaXplZC5Bc3NpZ25dCiAgMTI5IHwgICAgICAgICAg ICAgICAgIGJ1ZlsxXSA9IGRhdGFbaSArIDFdOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgXiB+fn5+fn5+fn5+fgpzcmMvc2RwLXhtbC5jOjMwOToxMTogd2FybmluZzogQXNzaWduZWQg dmFsdWUgaXMgdW5pbml0aWFsaXplZCBbY29yZS51bmluaXRpYWxpemVkLkFzc2lnbl0KICAzMDkg fCAgICAgICAgICAgICAgICAgICAgICAgICBidWZbMV0gPSBkYXRhW2kgKyAxXTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fgpzcmMvc2RwLXhtbC5j OjM0NzoxMTogd2FybmluZzogQXNzaWduZWQgdmFsdWUgaXMgdW5pbml0aWFsaXplZCBbY29yZS51 bmluaXRpYWxpemVkLkFzc2lnbl0KICAzNDcgfCAgICAgICAgICAgICAgICAgICAgICAgICBidWZb MV0gPSBkYXRhW2kgKyAxXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XiB+fn5+fn5+fn5+fgozIHdhcm5pbmdzIGdlbmVyYXRlZC4KdW5pdC9hdmR0cC5jOjc1NjoyNTog d2FybmluZzogVXNlIG9mIG1lbW9yeSBhZnRlciBpdCBpcyBmcmVlZCBbdW5peC5NYWxsb2NdCiAg NzU2IHwgICAgICAgICAgICAgICAgIHNlc3Npb24tPnByaW9fcXVldWUgPSBnX3NsaXN0X3JlbW92 ZShzZXNzaW9uLT5wcmlvX3F1ZXVlLCByZXEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgp1bml0L2F2ZHRwLmM6NzYzOjI0OiB3YXJuaW5nOiBVc2Ugb2YgbWVtb3J5IGFmdGVyIGl0IGlz IGZyZWVkIFt1bml4Lk1hbGxvY10KICA3NjMgfCAgICAgICAgICAgICAgICAgc2Vzc2lvbi0+cmVx X3F1ZXVlID0gZ19zbGlzdF9yZW1vdmUoc2Vzc2lvbi0+cmVxX3F1ZXVlLCByZXEpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCnVuaXQvYXZyY3AtbGli LmM6MTk2ODozOiB3YXJuaW5nOiAxc3QgZnVuY3Rpb24gY2FsbCBhcmd1bWVudCBpcyBhbiB1bmlu aXRpYWxpemVkIHZhbHVlIFtjb3JlLkNhbGxBbmRNZXNzYWdlXQogMTk2OCB8ICAgICAgICAgICAg ICAgICBnX2ZyZWUodGV4dFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fgp1bml0L2F2cmNwLWxpYi5jOjM1MTA6NDogd2FybmluZzogQWRkcmVzcyBvZiBzdGFjayBt ZW1vcnkgYXNzb2NpYXRlZCB3aXRoIGxvY2FsIHZhcmlhYmxlICd2YWwnIGlzIHN0aWxsIHJlZmVy cmVkIHRvIGJ5IHRoZSBjYWxsZXIgdmFyaWFibGUgJ2lvdicgdXBvbiByZXR1cm5pbmcgdG8gdGhl IGNhbGxlci4gIFRoaXMgd2lsbCBiZSBhIGRhbmdsaW5nIHJlZmVyZW5jZSBbY29yZS5TdGFja0Fk ZHJlc3NFc2NhcGVdCiAzNTAzIHwgICAgICAgICBzdHJ1Y3QgbWVkaWFfaXRlbSB2YWxbQVZSQ1Bf TUVESUFfQVRUUklCVVRFX0xBU1RdOwogICAgICB8ICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogMzUwNCB8IAogMzUwNSB8ICAgICAgICAg Zm9yIChpID0gMDsgaSA8IG51bWJlcjsgaSsrKSB7CiAzNTA2IHwgICAgICAgICAgICAgICAgIHVp bnQxNl90IGxlbiA9IDA7CiAzNTA3IHwgCiAzNTA4IHwgICAgICAgICAgICAgICAgIGlmIChhdHRy c1tpXSA+IEFWUkNQX01FRElBX0FUVFJJQlVURV9MQVNUIHx8CiAzNTA5IHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhdHRyc1tpXSA9PSBBVlJDUF9NRURJQV9BVFRSSUJVVEVfSUxM RUdBTCkKIDM1MTAgfCAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+CnVuaXQvYXZyY3AtbGliLmM6 MzUyNjoyOiB3YXJuaW5nOiBBZGRyZXNzIG9mIHN0YWNrIG1lbW9yeSBhc3NvY2lhdGVkIHdpdGgg bG9jYWwgdmFyaWFibGUgJ3ZhbCcgaXMgc3RpbGwgcmVmZXJyZWQgdG8gYnkgdGhlIGNhbGxlciB2 YXJpYWJsZSAnaW92JyB1cG9uIHJldHVybmluZyB0byB0aGUgY2FsbGVyLiAgVGhpcyB3aWxsIGJl IGEgZGFuZ2xpbmcgcmVmZXJlbmNlIFtjb3JlLlN0YWNrQWRkcmVzc0VzY2FwZV0KIDM1MDMgfCAg ICAgICAgIHJldHVybiB0cnVlOwogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn4KMyB3YXJuaW5n cyBnZW5lcmF0ZWQuCnVuaXQvdGVzdC11dGlsLmM6MzM6ODogd2FybmluZzogUG90ZW50aWFsIGxl YWsgb2YgbWVtb3J5IHBvaW50ZWQgdG8gYnkgJ3AxJyBbdW5peC5NYWxsb2NdCiAgIDMzIHwgICAg ICAgICBwMlswXSA9IDE7CiAgICAgIHwgICAgICAgICB+fn5+fn5efn4KdW5pdC90ZXN0LXV0aWwu YzozNjozOiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1vcnkgcG9pbnRlZCB0byBieSAn cDInIFt1bml4Lk1hbGxvY10KICAgMzYgfCAgICAgICAgICAgICAgICAgX2NsZWFudXBfZnJlZV8g dWludDhfdCAqZGF0YSA9IE5VTEw7CiAgICAgIHwgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KLi9zcmMvc2hhcmVkL3V0aWwuaDoxMzQ6MjQ6IG5vdGU6IGV4cGFu ZGVkIGZyb20gbWFjcm8gJ19jbGVhbnVwX2ZyZWVfJwogIDEzNCB8ICNkZWZpbmUgX2NsZWFudXBf ZnJlZV8gX2NsZWFudXBfKGZyZWVwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXgou L3NyYy9zaGFyZWQvdXRpbC5oOjEzMjoyMjogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnX2Ns ZWFudXBfJwogIDEzMiB8ICNkZWZpbmUgX2NsZWFudXBfKGYpIF9fYXR0cmlidXRlX18oKGNsZWFu dXAoZikpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF4KdW5pdC90ZXN0LXV0aWwuYzo0 MjozOiB3YXJuaW5nOiBQb3RlbnRpYWwgbGVhayBvZiBtZW1vcnkgcG9pbnRlZCB0byBieSAnZGF0 YScgW3VuaXguTWFsbG9jXQogICA0MiB8ICAgICAgICAgICAgICAgICBhc3NlcnQoaXNfbnVsbF90 b28gPT0gTlVMTCk7CiAgICAgIHwgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgovdXNyL2luY2x1ZGUvYXNzZXJ0Lmg6MTcwOjExOiBub3RlOiBleHBhbmRlZCBmcm9t IG1hY3JvICdhc3NlcnQnCiAgMTcwIHwgICAoKHZvaWQpIHNpemVvZiAoKGV4cHIpID8gMSA6IDAp LCBfX2V4dGVuc2lvbl9fICh7ICAgICAgICAgICAgICAgICAgICAgXAogICAgICB8ICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgozIHdhcm5pbmdzIGdlbmVyYXRlZC4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZS9n bGliY29uZmlnLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC91c3IvaW5jbHVkZS9nbGliLTIu MC9nbGliL2d0eXBlcy5oOjM0LAogICAgICAgICAgICAgICAgIGZyb20gL3Vzci9pbmNsdWRlL2ds aWItMi4wL2dsaWIvZ2FsbG9jYS5oOjM0LAogICAgICAgICAgICAgICAgIGZyb20gL3Vzci9pbmNs dWRlL2dsaWItMi4wL2dsaWIuaDozMiwKICAgICAgICAgICAgICAgICBmcm9tIHVuaXQvdGVzdC1o b2ctbGlmZXRpbWUuYzoxNDoKdW5pdC90ZXN0LWhvZy1saWZldGltZS5jOiBJbiBmdW5jdGlvbiDi gJh0ZXN0X3JlcG9ydOKAmToKdW5pdC90ZXN0LWhvZy1saWZldGltZS5jOjEwMDo1MDogZXJyb3I6 IGNvbXBhcmlzb24gb2YgaW50ZWdlciBleHByZXNzaW9ucyBvZiBkaWZmZXJlbnQgc2lnbmVkbmVz czog4oCYc3NpemVfdOKAmSB7YWthIOKAmGxvbmcgaW504oCZfSBhbmQg4oCYc2l6ZV904oCZIHth a2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IFstV2Vycm9yPXNpZ24tY29tcGFyZV0KICAxMDAg fCAgICAgICAgIGdfYXNzZXJ0KHdyaXRlKGF0dGZkWzFdLCByZXNwb25zZSwgc2l6ZSkgPT0gc2l6 ZSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci91c3IvaW5jbHVkZS9nbGliLTIuMC9nbGliL2dtYWNyb3MuaDoxMjc5Ojg6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYX0dfQk9PTEVBTl9FWFBSX0lNUEzigJkKIDEyNzkg fCAgICBpZiAoZXhwcikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg IHwgICAgICAgIF5+fn4KL3Vzci9pbmNsdWRlL2dsaWItMi4wL2dsaWIvZ21hY3Jvcy5oOjEyODQ6 NDM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhfR19CT09MRUFOX0VYUFLigJkKIDEy ODQgfCAjZGVmaW5lIEdfTElLRUxZKGV4cHIpIChfX2J1aWx0aW5fZXhwZWN0IChfR19CT09MRUFO X0VYUFIoZXhwciksIDEpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fgovdXNyL2luY2x1ZGUvZ2xpYi0yLjAvZ2xpYi9ndGVz dHV0aWxzLmg6Mjc2OjQ5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYR19MSUtFTFni gJkKICAyNzYgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp ZiBHX0xJS0VMWSAoZXhwcikgOyBlbHNlIFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fgp1bml0L3Rlc3QtaG9nLWxpZmV0aW1l LmM6MTAwOjk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhnX2Fzc2VydOKAmQogIDEw MCB8ICAgICAgICAgZ19hc3NlcnQod3JpdGUoYXR0ZmRbMV0sIHJlc3BvbnNlLCBzaXplKSA9PSBz aXplKTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRy ZWF0ZWQgYXMgZXJyb3JzCm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6NzI5NzogdW5pdC90ZXN0LWhv Zy1saWZldGltZS5vXSBFcnJvciAxCm1ha2VbMV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVk IGpvYnMuLi4uCm1ha2U6ICoqKiBbTWFrZWZpbGU6NDM0ODogYWxsXSBFcnJvciAyCgoKaHR0cHM6 Ly9naXRodWIuY29tL2JsdWV6L2JsdWV6L3B1bGwvMjU2MwoKLS0tClJlZ2FyZHMsCkxpbnV4IEJs dWV0b290aAoK --===============2754726605922531600==--