Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1phSNa-0003mM-Sn for pgsql-hackers@arkaria.postgresql.org; Wed, 29 Mar 2023 09:46:07 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1phSNZ-0006c0-JB for pgsql-hackers@arkaria.postgresql.org; Wed, 29 Mar 2023 09:46:05 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1phSNY-0006bq-Mj for pgsql-hackers@lists.postgresql.org; Wed, 29 Mar 2023 09:46:05 +0000 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1phSNS-0004vF-Sn for pgsql-hackers@lists.postgresql.org; Wed, 29 Mar 2023 09:46:03 +0000 Received: by mail-wr1-x42a.google.com with SMTP id t4so9760052wra.7 for ; Wed, 29 Mar 2023 02:45:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680083156; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=A/00PVQrlsHJpea5HYuDD6cELrFtzXLCH6JAGjYVfVU=; b=mIIz3/KZytM1X6aFA7XBrEbZp0nOyrPXrC9rZiSSBA3jIEfq0Kaz3AbDkXtn22XuHx pA9eP0AHulVpo861pTFZnmowmjadYuHDC8YJCNRHUGUYahPDo1qNrDBEApAiAbGr/GGi 4uBM5vdO4kVDYyTKmbMqq6ksloALdvNRgzV/uz7VKDW7OIRH/uRyElzCKOCtf9fvfF/C 38omli42sIxVASGzbcNCjQvbhytJchEtejZFgrS3NmlO8X7xM/fi3IcC49ti/IFVaHVV TudIUVLpno0Kf3Ze/Rd6ltKvSThUJR8P7GtowlemcyvpoOelEpx+l9E1zjJ0rmWjoIvS wcBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680083156; h=to:subject:from:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=A/00PVQrlsHJpea5HYuDD6cELrFtzXLCH6JAGjYVfVU=; b=Zo17+whlazoFI25gBjKJGkJswHhDDZwpXDqX1NhmjY16NLUAguzia9iblLe26dYX6r dvdd/Jqj6HphDsaeVf5wFcv8HD+NWDYY5TGS8zfT5Lgd3uFNXXYA77kXDKMxNLHeyrRD RZZ/nQqz5+s/9H6Mfy9oH/Vi6XSwZsx4SsZFCLEAbxRElO+M9BDMy7gnPAXMOqyzV8LN AdnC+W/lL511n5oI59T6x0BgSOum1utgbpFnQiQ+934i8SkOnyuNoxG48KNzkSn2BudB RQJ1bfbWOsF2ofeCuBRuunmfXqoFT/wOhASPOrNJmZTUnjzAg2AP00myKlAqgZjgWUB/ 87CQ== X-Gm-Message-State: AAQBX9fxR51hNbQGw6DFsD3DW1btar1WOEcRGSY45iXO8kHPj1ARtR0a UIrfU08whp+KuXwzTl+SlMgi5ea9ReyOnw== X-Google-Smtp-Source: AKy350b8SQUuyezYtUGwSENUfy+yM/z9QinL9dMwGQWX7k4NOdqeagouHfVxuJm0y9nAW3siYcKJTA== X-Received: by 2002:adf:edc8:0:b0:2ce:aa69:c9a7 with SMTP id v8-20020adfedc8000000b002ceaa69c9a7mr15551232wro.8.1680083156254; Wed, 29 Mar 2023 02:45:56 -0700 (PDT) Received: from [192.168.4.122] ([54.239.6.188]) by smtp.gmail.com with ESMTPSA id g9-20020a5d4889000000b002c559843748sm29711848wrq.10.2023.03.29.02.45.55 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Mar 2023 02:45:55 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------7EDQa6GiUoSqcrsCxlptAAIg" Message-ID: <77a86b3a-c4a8-5f5d-69b9-d70bbf2e9b98@gmail.com> Date: Wed, 29 Mar 2023 11:44:39 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Content-Language: en-US From: "Drouvot, Bertrand" Subject: Autogenerate some wait events code and documentation To: PostgreSQL Hackers List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------7EDQa6GiUoSqcrsCxlptAAIg Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi hackers, In another thread [1], Thomas had the idea to $SUBJECT in a similar way to what is currently done with src/backend/storage/lmgr/lwlocknames.txt. Doing so, like in the attached patch proposal, would help to avoid: - wait event without documentation like observed in [2] - orphaned wait event like observed in [3] The patch relies on a new src/backend/utils/activity/waiteventnames.txt file that contains on row per wait event, with this format: Then, a new perl script (src/backend/utils/activity/generate-waiteventnames.pl) generates the new: - waiteventnames.c - waiteventnames.h - waiteventnames.sgml files. Remarks: - The new src/backend/utils/activity/waiteventnames.txt file has been created with (a quickly written, non polished and not part of the patch) generate_waiteventnames_txt.sh script attached. Then, the proposal for the 2 wait events missing documentation (non committed yet) done in [2] has been added manually to waiteventnames.txt. - The patch does take care of wait events that currently are linked to enums, means: - PG_WAIT_ACTIVITY - PG_WAIT_CLIENT - PG_WAIT_IPC - PG_WAIT_TIMEOUT - PG_WAIT_IO so that PG_WAIT_LWLOCK, PG_WAIT_LOCK, PG_WAIT_BUFFER_PIN and PG_WAIT_EXTENSION are not autogenerated. This result to having the wait event part of the documentation "monitoring-stats" not ordered as compared to the "Wait Event Types" Table. This is due to the fact that the new waiteventnames.sgml that contains the documentation for the autogenerated ones listed above is "included" into doc/src/sgml/monitoring.sgml and then breaks the alphabetical ordering with the ones not autogenerated. To fix this I've in mind to also autogenerate enums for PG_WAIT_BUFFER_PIN and PG_WAIT_EXTENSION and split the current documentation "Wait Event Types" Table in 2 tables: one for the autogenerated ones and one (then for PG_WAIT_LWLOCK, PG_WAIT_LOCK) for the non autogenerated "lock" related ones. Looking forward to your feedback, Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com [1]: https://www.postgresql.org/message-id/CA%2BhUKG%2BewEpxm%3DhPNXyupRUB_SKGh-6tO86viaco0g-P_pm_Cw%40mail.gmail.com [2]: https://www.postgresql.org/message-id/CA%2BhUKGJixAHc860Ej9Qzd_z96Z6aoajAgJ18bYfV3Lfn6t9%3D%2BQ%40mail.gmail.com [3]: https://www.postgresql.org/message-id/CA%2BhUKGK6tqm59KuF1z%2Bh5Y8fsWcu5v8%2B84kduSHwRzwjB2aa_A%40mail.gmail.com --------------7EDQa6GiUoSqcrsCxlptAAIg Content-Type: text/plain; charset=UTF-8; name="v1-0001-Generating-waiteventnames.h-waiteventnames.c-and-.patch" Content-Disposition: attachment; filename*0="v1-0001-Generating-waiteventnames.h-waiteventnames.c-and-.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2YzdiNzEzMjQ5NjMyMjg1MjFkNzRiM2I0YWVjNWE2NWI5ZWE4OWFhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJ0cmFuZCBEcm91dm90IDxiZXJ0cmFuZGRyb3V2 b3QucGdAZ21haWwuY29tPgpEYXRlOiBGcmksIDI0IE1hciAyMDIzIDA4OjM3OjI5ICswMDAw ClN1YmplY3Q6IFtQQVRDSCB2MV0gR2VuZXJhdGluZyB3YWl0ZXZlbnRuYW1lcy5oLCB3YWl0 ZXZlbnRuYW1lcy5jIGFuZAogd2FpdGV2ZW50bmFtZXMuc2dtbAoKUHVycG9zZSBpcyB0byBh dXRvLWdlbmVyYXRlIHRob3NlIGZpbGVzIGJhc2VkIG9uIHRoZSBuZXdseSBjcmVhdGVkIHdh aXRldmVudG5hbWVzLnR4dCBmaWxlLgoKSGF2aW5nIGF1dG8gZ2VuZXJhdGVkIGZpbGVzIHdv dWxkIGhlbHAgdG8gYXZvaWQ6CgotIHdhaXQgZXZlbnQgd2l0aG91dCBkZXNjcmlwdGlvbiBs aWtlIG9ic2VydmVkIGluIGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQv Q0ElMkJoVUtHSml4QUhjODYwRWo5UXpkX3o5Nlo2YW9hakFnSjE4YllmVjNMZm42dDklM0Ql MkJRJTQwbWFpbC5nbWFpbC5jb20KLSBvcnBoYW5lZCB3YWl0IGV2ZW50IGxpa2Ugb2JzZXJ2 ZWQgaW4gaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvbWVzc2FnZS1pZC9DQSUyQmhVS0dL NnRxbTU5S3VGMXolMkJoNVk4ZnNXY3U1djglMkI4NGtkdVNId1J6d2pCMmFhX0ElNDBtYWls LmdtYWlsLmNvbQotLS0KIGRvYy9zcmMvc2dtbC8uZ2l0aWdub3JlICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMSArCiBkb2Mvc3JjL3NnbWwvTWFrZWZpbGUgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDUgKy0KIGRvYy9zcmMvc2dtbC9maWxlbGlzdC5zZ21sICAgICAgICAg ICAgICAgICAgICB8ICAgMSArCiBkb2Mvc3JjL3NnbWwvbWVzb24uYnVpbGQgICAgICAgICAg ICAgICAgICAgICAgfCAgMTAgKwogZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbCAgICAg ICAgICAgICAgICAgIHwgNzg0ICstLS0tLS0tLS0tLS0tLS0tLQogc3JjL2JhY2tlbmQvTWFr ZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE0ICstCiBzcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9NYWtlZmlsZSAgICAgICAgICAgfCAgMTAgKwogLi4uL3V0aWxzL2Fj dGl2aXR5L2dlbmVyYXRlLXdhaXRldmVudG5hbWVzLnBsIHwgMTU3ICsrKysKIHNyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L21lc29uLmJ1aWxkICAgICAgICB8ICAyNCArCiBzcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50LmMgICAgICAgfCA1NjcgKy0tLS0tLS0t LS0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdGV2ZW50bmFtZXMudHh0IHwg MTU3ICsrKysKIHNyYy9pbmNsdWRlL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMiArLQogc3JjL2luY2x1ZGUvdXRpbHMvLmdpdGlnbm9yZSAgICAgICAgICAgICAg ICAgIHwgICAxICsKIHNyYy9pbmNsdWRlL3V0aWxzL21lc29uLmJ1aWxkICAgICAgICAgICAg ICAgICB8ICAxOCArCiBzcmMvaW5jbHVkZS91dGlscy93YWl0X2V2ZW50LmggICAgICAgICAg ICAgICAgfCAxNzggKy0tLQogc3JjL3Rvb2xzL21zdmMvU29sdXRpb24ucG0gICAgICAgICAg ICAgICAgICAgIHwgIDE5ICsKIHNyYy90b29scy9tc3ZjL2NsZWFuLmJhdCAgICAgICAgICAg ICAgICAgICAgICB8ICAgMyArCiAxNyBmaWxlcyBjaGFuZ2VkLCA0MjYgaW5zZXJ0aW9ucygr KSwgMTUyNSBkZWxldGlvbnMoLSkKICAzNi43JSBkb2Mvc3JjL3NnbWwvCiAgNTMuMyUgc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvCiAgIDcuNiUgc3JjL2luY2x1ZGUvdXRpbHMvCgpk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sLy5naXRpZ25vcmUgYi9kb2Mvc3JjL3NnbWwvLmdp dGlnbm9yZQppbmRleCBkOGUzZGFiMzM4Li5lOGNiZDY4N2Q1IDEwMDY0NAotLS0gYS9kb2Mv c3JjL3NnbWwvLmdpdGlnbm9yZQorKysgYi9kb2Mvc3JjL3NnbWwvLmdpdGlnbm9yZQpAQCAt MTcsNiArMTcsNyBAQAogL2VycmNvZGVzLXRhYmxlLnNnbWwKIC9rZXl3b3Jkcy10YWJsZS5z Z21sCiAvdmVyc2lvbi5zZ21sCisvd2FpdGV2ZW50bmFtZXMuc2dtbAogIyBBc3NvcnRlZCBi eXByb2R1Y3RzIGZyb20gYnVpbGRpbmcgdGhlIGFib3ZlCiAvcG9zdGdyZXMtZnVsbC54bWwK IC9JTlNUQUxMLmh0bWwKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9NYWtlZmlsZSBiL2Rv Yy9zcmMvc2dtbC9NYWtlZmlsZQppbmRleCBiOTZjN2NiZjIyLi4yNGJjZTQ0YmJlIDEwMDY0 NAotLS0gYS9kb2Mvc3JjL3NnbWwvTWFrZWZpbGUKKysrIGIvZG9jL3NyYy9zZ21sL01ha2Vm aWxlCkBAIC01OCw3ICs1OCw3IEBAIG92ZXJyaWRlIFhTTFRQUk9DRkxBR1MgKz0gLS1zdHJp bmdwYXJhbSBwZy52ZXJzaW9uICckKFZFUlNJT04pJwogCiBHRU5FUkFURURfU0dNTCA9IHZl cnNpb24uc2dtbCBcCiAJZmVhdHVyZXMtc3VwcG9ydGVkLnNnbWwgZmVhdHVyZXMtdW5zdXBw b3J0ZWQuc2dtbCBlcnJjb2Rlcy10YWJsZS5zZ21sIFwKLQlrZXl3b3Jkcy10YWJsZS5zZ21s CisJa2V5d29yZHMtdGFibGUuc2dtbCB3YWl0ZXZlbnRuYW1lcy5zZ21sCiAKIEFMTFNHTUwg Oj0gJCh3aWxkY2FyZCAkKHNyY2RpcikvKi5zZ21sICQoc3JjZGlyKS9yZWYvKi5zZ21sKSAk KEdFTkVSQVRFRF9TR01MKQogCkBAIC0xMTEsNiArMTExLDkgQEAgZXJyY29kZXMtdGFibGUu c2dtbDogJCh0b3Bfc3JjZGlyKS9zcmMvYmFja2VuZC91dGlscy9lcnJjb2Rlcy50eHQgZ2Vu ZXJhdGUtZXJyY28KIGtleXdvcmRzLXRhYmxlLnNnbWw6ICQodG9wX3NyY2Rpcikvc3JjL2lu Y2x1ZGUvcGFyc2VyL2t3bGlzdC5oICQod2lsZGNhcmQgJChzcmNkaXIpL2tleXdvcmRzL3Nx bCoudHh0KSBnZW5lcmF0ZS1rZXl3b3Jkcy10YWJsZS5wbAogCSQoUEVSTCkgJChzcmNkaXIp L2dlbmVyYXRlLWtleXdvcmRzLXRhYmxlLnBsICQoc3JjZGlyKSA+ICRACiAKK3dhaXRldmVu dG5hbWVzLnNnbWw6ICQodG9wX3NyY2Rpcikvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv d2FpdGV2ZW50bmFtZXMudHh0ICQodG9wX3NyY2Rpcikvc3JjL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvZ2VuZXJhdGUtd2FpdGV2ZW50bmFtZXMucGwKKwkkKFBFUkwpICQodG9wX3NyY2Rp cikvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvZ2VuZXJhdGUtd2FpdGV2ZW50bmFtZXMu cGwgJDwgPiAkQAorCXJtIHdhaXRldmVudG5hbWVzLmM7IHJtIHdhaXRldmVudG5hbWVzLmgK IAogIyMKICMjIEdlbmVyYXRpb24gb2Ygc29tZSB0ZXh0IGZpbGVzLgpkaWZmIC0tZ2l0IGEv ZG9jL3NyYy9zZ21sL2ZpbGVsaXN0LnNnbWwgYi9kb2Mvc3JjL3NnbWwvZmlsZWxpc3Quc2dt bAppbmRleCAwZDZiZTlhMmZhLi45YWIyMzVkMzZhIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3Nn bWwvZmlsZWxpc3Quc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZmlsZWxpc3Quc2dtbApAQCAt NDIsNiArNDIsNyBAQAogPCFFTlRJVFkgbWFpbnRlbmFuY2UgICBTWVNURU0gIm1haW50ZW5h bmNlLnNnbWwiPgogPCFFTlRJVFkgbWFuYWdlLWFnICAgICBTWVNURU0gIm1hbmFnZS1hZy5z Z21sIj4KIDwhRU5USVRZIG1vbml0b3JpbmcgICAgU1lTVEVNICJtb25pdG9yaW5nLnNnbWwi PgorPCFFTlRJVFkgd2FpdGV2ZW50bmFtZXMgICAgU1lTVEVNICJ3YWl0ZXZlbnRuYW1lcy5z Z21sIj4KIDwhRU5USVRZIHJlZ3Jlc3MgICAgICAgU1lTVEVNICJyZWdyZXNzLnNnbWwiPgog PCFFTlRJVFkgcnVudGltZSAgICAgICBTWVNURU0gInJ1bnRpbWUuc2dtbCI+CiA8IUVOVElU WSBjb25maWcgICAgICAgIFNZU1RFTSAiY29uZmlnLnNnbWwiPgpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL21lc29uLmJ1aWxkIGIvZG9jL3NyYy9zZ21sL21lc29uLmJ1aWxkCmluZGV4 IDE1N2I4NTg5ZTUuLjJlOTgzZGFmMGEgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9tZXNv bi5idWlsZAorKysgYi9kb2Mvc3JjL3NnbWwvbWVzb24uYnVpbGQKQEAgLTQ5LDYgKzQ5LDE2 IEBAIGRvY19nZW5lcmF0ZWQgKz0gY3VzdG9tX3RhcmdldCgnZXJyY29kZXMtdGFibGUuc2dt bCcsCiAgIGNhcHR1cmU6IHRydWUsCiApCiAKK2RvY19nZW5lcmF0ZWQgKz0gY3VzdG9tX3Rh cmdldCgnd2FpdGV2ZW50bmFtZXMuc2dtbCcsCisgIGlucHV0OiBmaWxlcygKKyAgICAnLi4v Li4vLi4vc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdGV2ZW50bmFtZXMudHh0Jyks CisgIG91dHB1dDogJ3dhaXRldmVudG5hbWVzLnNnbWwnLAorICBjb21tYW5kOiBbcGVybCwg ZmlsZXMoJy4uLy4uLy4uL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L2dlbmVyYXRlLXdh aXRldmVudG5hbWVzLnBsJyksICdASU5QVVRAJ10sCisgIGJ1aWxkX2J5X2RlZmF1bHQ6IGZh bHNlLAorICBpbnN0YWxsOiBmYWxzZSwKKyAgY2FwdHVyZTogdHJ1ZSwKKykKKwogIyBGSVhN RTogdGhpcyBhY3R1YWxseSBoYXMgZnVydGhlciBpbnB1dHMsIGFkZGluZyBkZXBmaWxlIHN1 cHBvcnQgdG8KICMgZ2VuZXJhdGUta2V5d29yZHMtdGFibGUucGwgaXMgcHJvYmFibHkgdGhl IGJlc3Qgd2F5IHRvIGFkZHJlc3MgdGhhdAogIyByb2J1c3RseS4KZGlmZiAtLWdpdCBhL2Rv Yy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5z Z21sCmluZGV4IGM4MDlmZjFiYTQuLmRmOTI3ZTQxNzggMTAwNjQ0Ci0tLSBhL2RvYy9zcmMv c2dtbC9tb25pdG9yaW5nLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dt bApAQCAtMTEwMCw3NCArMTEwMCw3IEBAIHBvc3RncmVzICAgMjcwOTMgIDAuMCAgMC4wICAz MDA5NiAgMjc1MiA/ICAgICAgICBTcyAgIDExOjM0ICAgMDowMCBwb3N0Z3Jlczogc2VyCiAg ICA8L3Rncm91cD4KICAgPC90YWJsZT4KIAotICA8dGFibGUgaWQ9IndhaXQtZXZlbnQtYWN0 aXZpdHktdGFibGUiPgotICAgPHRpdGxlPldhaXQgRXZlbnRzIG9mIFR5cGUgPGxpdGVyYWw+ QWN0aXZpdHk8L2xpdGVyYWw+PC90aXRsZT4KLSAgIDx0Z3JvdXAgY29scz0iMiI+Ci0gICAg PHRoZWFkPgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkFjdGl2aXR5PC9s aXRlcmFsPiBXYWl0IEV2ZW50PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5EZXNjcmlwdGlvbjwv ZW50cnk+Ci0gICAgIDwvcm93PgotICAgIDwvdGhlYWQ+Ci0KLSAgICA8dGJvZHk+Ci0gICAg IDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+QXJjaGl2ZXJNYWluPC9saXRlcmFsPjwv ZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBpbiBtYWluIGxvb3Agb2YgYXJjaGl2ZXIg cHJvY2Vzcy48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRy eT48bGl0ZXJhbD5BdXRvVmFjdXVtTWFpbjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVu dHJ5PldhaXRpbmcgaW4gbWFpbiBsb29wIG9mIGF1dG92YWN1dW0gbGF1bmNoZXIgcHJvY2Vz cy48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0 ZXJhbD5CZ1dyaXRlckhpYmVybmF0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5 PldhaXRpbmcgaW4gYmFja2dyb3VuZCB3cml0ZXIgcHJvY2VzcywgaGliZXJuYXRpbmcuPC9l bnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+ QmdXcml0ZXJNYWluPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBp biBtYWluIGxvb3Agb2YgYmFja2dyb3VuZCB3cml0ZXIgcHJvY2Vzcy48L2VudHJ5PgotICAg ICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5DaGVja3BvaW50 ZXJNYWluPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBpbiBtYWlu IGxvb3Agb2YgY2hlY2twb2ludGVyIHByb2Nlc3MuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0g ICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+TG9naWNhbEFwcGx5TWFpbjwvbGl0 ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgaW4gbWFpbiBsb29wIG9mIGxv Z2ljYWwgcmVwbGljYXRpb24gYXBwbHkgcHJvY2Vzcy48L2VudHJ5PgotICAgICA8L3Jvdz4K LSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Mb2dpY2FsTGF1bmNoZXJNYWlu PC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBpbiBtYWluIGxvb3Ag b2YgbG9naWNhbCByZXBsaWNhdGlvbiBsYXVuY2hlciBwcm9jZXNzLjwvZW50cnk+Ci0gICAg IDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkxvZ2ljYWxQYXJh bGxlbEFwcGx5TWFpbjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcg aW4gbWFpbiBsb29wIG9mIGxvZ2ljYWwgcmVwbGljYXRpb24gcGFyYWxsZWwgYXBwbHkKLSAg ICAgICBwcm9jZXNzLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAg PGVudHJ5PjxsaXRlcmFsPlJlY292ZXJ5V2FsU3RyZWFtPC9saXRlcmFsPjwvZW50cnk+Ci0g ICAgICA8ZW50cnk+V2FpdGluZyBpbiBtYWluIGxvb3Agb2Ygc3RhcnR1cCBwcm9jZXNzIGZv ciBXQUwgdG8gYXJyaXZlLCBkdXJpbmcKLSAgICAgICBzdHJlYW1pbmcgcmVjb3ZlcnkuPC9l bnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+ U3lzTG9nZ2VyTWFpbjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcg aW4gbWFpbiBsb29wIG9mIHN5c2xvZ2dlciBwcm9jZXNzLjwvZW50cnk+Ci0gICAgIDwvcm93 PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPldhbFJlY2VpdmVyTWFpbjwv bGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgaW4gbWFpbiBsb29wIG9m IFdBTCByZWNlaXZlciBwcm9jZXNzLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93 PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPldhbFNlbmRlck1haW48L2xpdGVyYWw+PC9lbnRy eT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGluIG1haW4gbG9vcCBvZiBXQUwgc2VuZGVyIHBy b2Nlc3MuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+ PGxpdGVyYWw+V2FsV3JpdGVyTWFpbjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5 PldhaXRpbmcgaW4gbWFpbiBsb29wIG9mIFdBTCB3cml0ZXIgcHJvY2Vzcy48L2VudHJ5Pgot ICAgICA8L3Jvdz4KLSAgICA8L3Rib2R5PgotICAgPC90Z3JvdXA+Ci0gIDwvdGFibGU+Cisg ICZ3YWl0ZXZlbnRuYW1lczsKIAogICA8dGFibGUgaWQ9IndhaXQtZXZlbnQtYnVmZmVycGlu LXRhYmxlIj4KICAgIDx0aXRsZT5XYWl0IEV2ZW50cyBvZiBUeXBlIDxsaXRlcmFsPkJ1ZmZl clBpbjwvbGl0ZXJhbD48L3RpdGxlPgpAQCAtMTE4OCw1NiArMTEyMSw2IEBAIHBvc3RncmVz ICAgMjcwOTMgIDAuMCAgMC4wICAzMDA5NiAgMjc1MiA/ICAgICAgICBTcyAgIDExOjM0ICAg MDowMCBwb3N0Z3Jlczogc2VyCiAgICA8L3Rncm91cD4KICAgPC90YWJsZT4KIAotICA8dGFi bGUgaWQ9IndhaXQtZXZlbnQtY2xpZW50LXRhYmxlIj4KLSAgIDx0aXRsZT5XYWl0IEV2ZW50 cyBvZiBUeXBlIDxsaXRlcmFsPkNsaWVudDwvbGl0ZXJhbD48L3RpdGxlPgotICAgPHRncm91 cCBjb2xzPSIyIj4KLSAgICA8dGhlYWQ+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxp dGVyYWw+Q2xpZW50PC9saXRlcmFsPiBXYWl0IEV2ZW50PC9lbnRyeT4KLSAgICAgIDxlbnRy eT5EZXNjcmlwdGlvbjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgIDwvdGhlYWQ+Ci0KLSAg ICA8dGJvZHk+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+Q2xpZW50UmVh ZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgdG8gcmVhZCBkYXRh IGZyb20gdGhlIGNsaWVudC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAg ICAgIDxlbnRyeT48bGl0ZXJhbD5DbGllbnRXcml0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAg ICAgPGVudHJ5PldhaXRpbmcgdG8gd3JpdGUgZGF0YSB0byB0aGUgY2xpZW50LjwvZW50cnk+ Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkdTU09w ZW5TZXJ2ZXI8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIHRvIHJl YWQgZGF0YSBmcm9tIHRoZSBjbGllbnQgd2hpbGUgZXN0YWJsaXNoaW5nIGEgR1NTQVBJCi0g ICAgICAgc2Vzc2lvbi48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAg IDxlbnRyeT48bGl0ZXJhbD5MaWJQUVdhbFJlY2VpdmVyQ29ubmVjdDwvbGl0ZXJhbD48L2Vu dHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgaW4gV0FMIHJlY2VpdmVyIHRvIGVzdGFibGlz aCBjb25uZWN0aW9uIHRvIHJlbW90ZQotICAgICAgIHNlcnZlci48L2VudHJ5PgotICAgICA8 L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5MaWJQUVdhbFJlY2Vp dmVyUmVjZWl2ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgaW4g V0FMIHJlY2VpdmVyIHRvIHJlY2VpdmUgZGF0YSBmcm9tIHJlbW90ZSBzZXJ2ZXIuPC9lbnRy eT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+U1NM T3BlblNlcnZlcjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9y IFNTTCB3aGlsZSBhdHRlbXB0aW5nIGNvbm5lY3Rpb24uPC9lbnRyeT4KLSAgICAgPC9yb3c+ Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+V2FsU2VuZGVyV2FpdEZvcldB TDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIFdBTCB0byBi ZSBmbHVzaGVkIGluIFdBTCBzZW5kZXIgcHJvY2Vzcy48L2VudHJ5PgotICAgICA8L3Jvdz4K LSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5XYWxTZW5kZXJXcml0ZURhdGE8 L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhbnkgYWN0aXZp dHkgd2hlbiBwcm9jZXNzaW5nIHJlcGxpZXMgZnJvbSBXQUwKLSAgICAgICByZWNlaXZlciBp biBXQUwgc2VuZGVyIHByb2Nlc3MuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgPC90Ym9k eT4KLSAgIDwvdGdyb3VwPgotICA8L3RhYmxlPgotCiAgIDx0YWJsZSBpZD0id2FpdC1ldmVu dC1leHRlbnNpb24tdGFibGUiPgogICAgPHRpdGxlPldhaXQgRXZlbnRzIG9mIFR5cGUgPGxp dGVyYWw+RXh0ZW5zaW9uPC9saXRlcmFsPjwvdGl0bGU+CiAgICA8dGdyb3VwIGNvbHM9IjIi PgpAQCAtMTI1Nyw2MTUgKzExNDAsNiBAQCBwb3N0Z3JlcyAgIDI3MDkzICAwLjAgIDAuMCAg MzAwOTYgIDI3NTIgPyAgICAgICAgU3MgICAxMTozNCAgIDA6MDAgcG9zdGdyZXM6IHNlcgog ICAgPC90Z3JvdXA+CiAgIDwvdGFibGU+CiAKLSAgPHRhYmxlIGlkPSJ3YWl0LWV2ZW50LWlv LXRhYmxlIj4KLSAgIDx0aXRsZT5XYWl0IEV2ZW50cyBvZiBUeXBlIDxsaXRlcmFsPklPPC9s aXRlcmFsPjwvdGl0bGU+Ci0gICA8dGdyb3VwIGNvbHM9IjIiPgotICAgIDx0aGVhZD4KLSAg ICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5JTzwvbGl0ZXJhbD4gV2FpdCBFdmVu dDwvZW50cnk+Ci0gICAgICA8ZW50cnk+RGVzY3JpcHRpb248L2VudHJ5PgotICAgICA8L3Jv dz4KLSAgICA8L3RoZWFkPgotCi0gICAgPHRib2R5PgotICAgICA8cm93PgotICAgICAgPGVu dHJ5PjxsaXRlcmFsPkJhc2VCYWNrdXBSZWFkPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8 ZW50cnk+V2FpdGluZyBmb3IgYmFzZSBiYWNrdXAgdG8gcmVhZCBmcm9tIGEgZmlsZS48L2Vu dHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5C dWZGaWxlUmVhZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9y IGEgcmVhZCBmcm9tIGEgYnVmZmVyZWQgZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAg ICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5CdWZGaWxlV3JpdGU8L2xpdGVyYWw+ PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHdyaXRlIHRvIGEgYnVmZmVy ZWQgZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRy eT48bGl0ZXJhbD5CdWZGaWxlVHJ1bmNhdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxl bnRyeT5XYWl0aW5nIGZvciBhIGJ1ZmZlcmVkIGZpbGUgdG8gYmUgdHJ1bmNhdGVkLjwvZW50 cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkNv bnRyb2xGaWxlUmVhZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcg Zm9yIGEgcmVhZCBmcm9tIHRoZSA8ZmlsZW5hbWU+cGdfY29udHJvbDwvZmlsZW5hbWU+Ci0g ICAgICAgZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxl bnRyeT48bGl0ZXJhbD5Db250cm9sRmlsZVN5bmM8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAg IDxlbnRyeT5XYWl0aW5nIGZvciB0aGUgPGZpbGVuYW1lPnBnX2NvbnRyb2w8L2ZpbGVuYW1l PiBmaWxlIHRvIHJlYWNoCi0gICAgICAgZHVyYWJsZSBzdG9yYWdlLjwvZW50cnk+Ci0gICAg IDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkNvbnRyb2xGaWxl U3luY1VwZGF0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9y IGFuIHVwZGF0ZSB0byB0aGUgPGZpbGVuYW1lPnBnX2NvbnRyb2w8L2ZpbGVuYW1lPiBmaWxl Ci0gICAgICAgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlLjwvZW50cnk+Ci0gICAgIDwvcm93 PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkNvbnRyb2xGaWxlV3JpdGU8 L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHdyaXRlIHRv IHRoZSA8ZmlsZW5hbWU+cGdfY29udHJvbDwvZmlsZW5hbWU+Ci0gICAgICAgZmlsZS48L2Vu dHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5D b250cm9sRmlsZVdyaXRlVXBkYXRlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+ V2FpdGluZyBmb3IgYSB3cml0ZSB0byB1cGRhdGUgdGhlIDxmaWxlbmFtZT5wZ19jb250cm9s PC9maWxlbmFtZT4KLSAgICAgICBmaWxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8 cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkNvcHlGaWxlUmVhZDwvbGl0ZXJhbD48L2Vu dHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgcmVhZCBkdXJpbmcgYSBmaWxlIGNv cHkgb3BlcmF0aW9uLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAg PGVudHJ5PjxsaXRlcmFsPkNvcHlGaWxlV3JpdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAg IDxlbnRyeT5XYWl0aW5nIGZvciBhIHdyaXRlIGR1cmluZyBhIGZpbGUgY29weSBvcGVyYXRp b24uPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxp dGVyYWw+RFNNQWxsb2NhdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0 aW5nIGZvciBhIGR5bmFtaWMgc2hhcmVkIG1lbW9yeSBzZWdtZW50IHRvIGJlCi0gICAgICAg YWxsb2NhdGVkLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVu dHJ5PjxsaXRlcmFsPkRTTUZpbGxaZXJvV3JpdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAg IDxlbnRyeT5XYWl0aW5nIHRvIGZpbGwgYSBkeW5hbWljIHNoYXJlZCBtZW1vcnkgYmFja2lu ZyBmaWxlIHdpdGgKLSAgICAgICB6ZXJvZXMuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAg IDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+RGF0YUZpbGVFeHRlbmQ8L2xpdGVyYWw+ PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHJlbGF0aW9uIGRhdGEgZmls ZSB0byBiZSBleHRlbmRlZC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAg ICAgIDxlbnRyeT48bGl0ZXJhbD5EYXRhRmlsZUZsdXNoPC9saXRlcmFsPjwvZW50cnk+Ci0g ICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSByZWxhdGlvbiBkYXRhIGZpbGUgdG8gcmVhY2gg ZHVyYWJsZSBzdG9yYWdlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAg ICAgPGVudHJ5PjxsaXRlcmFsPkRhdGFGaWxlSW1tZWRpYXRlU3luYzwvbGl0ZXJhbD48L2Vu dHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGFuIGltbWVkaWF0ZSBzeW5jaHJvbml6 YXRpb24gb2YgYSByZWxhdGlvbiBkYXRhIGZpbGUgdG8KLSAgICAgICBkdXJhYmxlIHN0b3Jh Z2UuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxp dGVyYWw+RGF0YUZpbGVQcmVmZXRjaDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5 PldhaXRpbmcgZm9yIGFuIGFzeW5jaHJvbm91cyBwcmVmZXRjaCBmcm9tIGEgcmVsYXRpb24g ZGF0YQotICAgICAgIGZpbGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0g ICAgICA8ZW50cnk+PGxpdGVyYWw+RGF0YUZpbGVSZWFkPC9saXRlcmFsPjwvZW50cnk+Ci0g ICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSByZWFkIGZyb20gYSByZWxhdGlvbiBkYXRhIGZp bGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxp dGVyYWw+RGF0YUZpbGVTeW5jPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2Fp dGluZyBmb3IgY2hhbmdlcyB0byBhIHJlbGF0aW9uIGRhdGEgZmlsZSB0byByZWFjaCBkdXJh YmxlIHN0b3JhZ2UuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8 ZW50cnk+PGxpdGVyYWw+RGF0YUZpbGVUcnVuY2F0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAg ICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgcmVsYXRpb24gZGF0YSBmaWxlIHRvIGJlIHRydW5j YXRlZC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48 bGl0ZXJhbD5EYXRhRmlsZVdyaXRlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+ V2FpdGluZyBmb3IgYSB3cml0ZSB0byBhIHJlbGF0aW9uIGRhdGEgZmlsZS48L2VudHJ5Pgot ICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Mb2NrRmls ZUFkZFRvRGF0YURpclJlYWQ8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0 aW5nIGZvciBhIHJlYWQgd2hpbGUgYWRkaW5nIGEgbGluZSB0byB0aGUgZGF0YSBkaXJlY3Rv cnkgbG9jawotICAgICAgIGZpbGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+ Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+TG9ja0ZpbGVBZGRUb0RhdGFEaXJTeW5jPC9saXRl cmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgZGF0YSB0byByZWFjaCBk dXJhYmxlIHN0b3JhZ2Ugd2hpbGUgYWRkaW5nIGEgbGluZSB0byB0aGUKLSAgICAgICBkYXRh IGRpcmVjdG9yeSBsb2NrIGZpbGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+ Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+TG9ja0ZpbGVBZGRUb0RhdGFEaXJXcml0ZTwvbGl0 ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgd3JpdGUgd2hpbGUg YWRkaW5nIGEgbGluZSB0byB0aGUgZGF0YSBkaXJlY3RvcnkKLSAgICAgICBsb2NrIGZpbGUu PC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVy YWw+TG9ja0ZpbGVDcmVhdGVSZWFkPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+ V2FpdGluZyB0byByZWFkIHdoaWxlIGNyZWF0aW5nIHRoZSBkYXRhIGRpcmVjdG9yeSBsb2Nr Ci0gICAgICAgZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAg IDxlbnRyeT48bGl0ZXJhbD5Mb2NrRmlsZUNyZWF0ZVN5bmM8L2xpdGVyYWw+PC9lbnRyeT4K LSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBkYXRhIHRvIHJlYWNoIGR1cmFibGUgc3RvcmFn ZSB3aGlsZSBjcmVhdGluZyB0aGUgZGF0YQotICAgICAgIGRpcmVjdG9yeSBsb2NrIGZpbGUu PC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVy YWw+TG9ja0ZpbGVDcmVhdGVXcml0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5 PldhaXRpbmcgZm9yIGEgd3JpdGUgd2hpbGUgY3JlYXRpbmcgdGhlIGRhdGEgZGlyZWN0b3J5 IGxvY2sKLSAgICAgICBmaWxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93Pgot ICAgICAgPGVudHJ5PjxsaXRlcmFsPkxvY2tGaWxlUmVDaGVja0RhdGFEaXJSZWFkPC9saXRl cmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSByZWFkIGR1cmluZyBy ZWNoZWNrIG9mIHRoZSBkYXRhIGRpcmVjdG9yeSBsb2NrCi0gICAgICAgZmlsZS48L2VudHJ5 PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Mb2dp Y2FsUmV3cml0ZUNoZWNrcG9pbnRTeW5jPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50 cnk+V2FpdGluZyBmb3IgbG9naWNhbCByZXdyaXRlIG1hcHBpbmdzIHRvIHJlYWNoIGR1cmFi bGUgc3RvcmFnZQotICAgICAgIGR1cmluZyBhIGNoZWNrcG9pbnQuPC9lbnRyeT4KLSAgICAg PC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+TG9naWNhbFJld3Jp dGVNYXBwaW5nU3luYzwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcg Zm9yIG1hcHBpbmcgZGF0YSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UgZHVyaW5nIGEgbG9n aWNhbAotICAgICAgIHJld3JpdGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+ Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+TG9naWNhbFJld3JpdGVNYXBwaW5nV3JpdGU8L2xp dGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHdyaXRlIG9mIG1h cHBpbmcgZGF0YSBkdXJpbmcgYSBsb2dpY2FsCi0gICAgICAgcmV3cml0ZS48L2VudHJ5Pgot ICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Mb2dpY2Fs UmV3cml0ZVN5bmM8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZv ciBsb2dpY2FsIHJld3JpdGUgbWFwcGluZ3MgdG8gcmVhY2ggZHVyYWJsZQotICAgICAgIHN0 b3JhZ2UuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+ PGxpdGVyYWw+TG9naWNhbFJld3JpdGVUcnVuY2F0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAg ICAgPGVudHJ5PldhaXRpbmcgZm9yIHRydW5jYXRlIG9mIG1hcHBpbmcgZGF0YSBkdXJpbmcg YSBsb2dpY2FsCi0gICAgICAgcmV3cml0ZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAg PHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Mb2dpY2FsUmV3cml0ZVdyaXRlPC9saXRl cmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSB3cml0ZSBvZiBsb2dp Y2FsIHJld3JpdGUgbWFwcGluZ3MuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+ Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+UmVsYXRpb25NYXBSZWFkPC9saXRlcmFsPjwvZW50 cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSByZWFkIG9mIHRoZSByZWxhdGlvbiBt YXAgZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRy eT48bGl0ZXJhbD5SZWxhdGlvbk1hcFJlcGxhY2U8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAg IDxlbnRyeT5XYWl0aW5nIGZvciBkdXJhYmxlIHJlcGxhY2VtZW50IG9mIGEgcmVsYXRpb24g bWFwIGZpbGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50 cnk+PGxpdGVyYWw+UmVsYXRpb25NYXBXcml0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAg PGVudHJ5PldhaXRpbmcgZm9yIGEgd3JpdGUgdG8gdGhlIHJlbGF0aW9uIG1hcCBmaWxlLjwv ZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFs PlJlb3JkZXJCdWZmZXJSZWFkPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2Fp dGluZyBmb3IgYSByZWFkIGR1cmluZyByZW9yZGVyIGJ1ZmZlciBtYW5hZ2VtZW50LjwvZW50 cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlJl b3JkZXJCdWZmZXJXcml0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRp bmcgZm9yIGEgd3JpdGUgZHVyaW5nIHJlb3JkZXIgYnVmZmVyIG1hbmFnZW1lbnQuPC9lbnRy eT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+UmVv cmRlckxvZ2ljYWxNYXBwaW5nUmVhZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5 PldhaXRpbmcgZm9yIGEgcmVhZCBvZiBhIGxvZ2ljYWwgbWFwcGluZyBkdXJpbmcgcmVvcmRl ciBidWZmZXIKLSAgICAgICBtYW5hZ2VtZW50LjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAg ICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlJlcGxpY2F0aW9uU2xvdFJlYWQ8L2xp dGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHJlYWQgZnJvbSBh IHJlcGxpY2F0aW9uIHNsb3QgY29udHJvbCBmaWxlLjwvZW50cnk+Ci0gICAgIDwvcm93Pgot ICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlJlcGxpY2F0aW9uU2xvdFJlc3Rv cmVTeW5jPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSBy ZXBsaWNhdGlvbiBzbG90IGNvbnRyb2wgZmlsZSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UK LSAgICAgICB3aGlsZSByZXN0b3JpbmcgaXQgdG8gbWVtb3J5LjwvZW50cnk+Ci0gICAgIDwv cm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlJlcGxpY2F0aW9uU2xv dFN5bmM8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHJl cGxpY2F0aW9uIHNsb3QgY29udHJvbCBmaWxlIHRvIHJlYWNoIGR1cmFibGUKLSAgICAgICBz dG9yYWdlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5 PjxsaXRlcmFsPlJlcGxpY2F0aW9uU2xvdFdyaXRlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAg ICA8ZW50cnk+V2FpdGluZyBmb3IgYSB3cml0ZSB0byBhIHJlcGxpY2F0aW9uIHNsb3QgY29u dHJvbCBmaWxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVu dHJ5PjxsaXRlcmFsPlNMUlVGbHVzaFN5bmM8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxl bnRyeT5XYWl0aW5nIGZvciBTTFJVIGRhdGEgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlIGR1 cmluZyBhIGNoZWNrcG9pbnQKLSAgICAgICBvciBkYXRhYmFzZSBzaHV0ZG93bi48L2VudHJ5 PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5TTFJV UmVhZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgcmVh ZCBvZiBhbiBTTFJVIHBhZ2UuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0g ICAgICA8ZW50cnk+PGxpdGVyYWw+U0xSVVN5bmM8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAg IDxlbnRyeT5XYWl0aW5nIGZvciBTTFJVIGRhdGEgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdl IGZvbGxvd2luZyBhIHBhZ2UKLSAgICAgICB3cml0ZS48L2VudHJ5PgotICAgICA8L3Jvdz4K LSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5TTFJVV3JpdGU8L2xpdGVyYWw+ PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHdyaXRlIG9mIGFuIFNMUlUg cGFnZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48 bGl0ZXJhbD5TbmFwYnVpbGRSZWFkPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+ V2FpdGluZyBmb3IgYSByZWFkIG9mIGEgc2VyaWFsaXplZCBoaXN0b3JpY2FsIGNhdGFsb2cK LSAgICAgICBzbmFwc2hvdC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAg ICAgIDxlbnRyeT48bGl0ZXJhbD5TbmFwYnVpbGRTeW5jPC9saXRlcmFsPjwvZW50cnk+Ci0g ICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSBzZXJpYWxpemVkIGhpc3RvcmljYWwgY2F0YWxv ZyBzbmFwc2hvdCB0byByZWFjaAotICAgICAgIGR1cmFibGUgc3RvcmFnZS48L2VudHJ5Pgot ICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5TbmFwYnVp bGRXcml0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEg d3JpdGUgb2YgYSBzZXJpYWxpemVkIGhpc3RvcmljYWwgY2F0YWxvZwotICAgICAgIHNuYXBz aG90LjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5Pjxs aXRlcmFsPlRpbWVsaW5lSGlzdG9yeUZpbGVTeW5jPC9saXRlcmFsPjwvZW50cnk+Ci0gICAg ICA8ZW50cnk+V2FpdGluZyBmb3IgYSB0aW1lbGluZSBoaXN0b3J5IGZpbGUgcmVjZWl2ZWQg dmlhIHN0cmVhbWluZwotICAgICAgIHJlcGxpY2F0aW9uIHRvIHJlYWNoIGR1cmFibGUgc3Rv cmFnZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48 bGl0ZXJhbD5UaW1lbGluZUhpc3RvcnlGaWxlV3JpdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAg ICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHdyaXRlIG9mIGEgdGltZWxpbmUgaGlzdG9yeSBm aWxlIHJlY2VpdmVkIHZpYQotICAgICAgIHN0cmVhbWluZyByZXBsaWNhdGlvbi48L2VudHJ5 PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5UaW1l bGluZUhpc3RvcnlSZWFkPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGlu ZyBmb3IgYSByZWFkIG9mIGEgdGltZWxpbmUgaGlzdG9yeSBmaWxlLjwvZW50cnk+Ci0gICAg IDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlRpbWVsaW5lSGlz dG9yeVN5bmM8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBh IG5ld2x5IGNyZWF0ZWQgdGltZWxpbmUgaGlzdG9yeSBmaWxlIHRvIHJlYWNoIGR1cmFibGUK LSAgICAgICBzdG9yYWdlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAg ICAgPGVudHJ5PjxsaXRlcmFsPlRpbWVsaW5lSGlzdG9yeVdyaXRlPC9saXRlcmFsPjwvZW50 cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSB3cml0ZSBvZiBhIG5ld2x5IGNyZWF0 ZWQgdGltZWxpbmUgaGlzdG9yeQotICAgICAgIGZpbGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+ Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+VHdvcGhhc2VGaWxlUmVhZDwv bGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgcmVhZCBvZiBh IHR3byBwaGFzZSBzdGF0ZSBmaWxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93 PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlR3b3BoYXNlRmlsZVN5bmM8L2xpdGVyYWw+PC9l bnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHR3byBwaGFzZSBzdGF0ZSBmaWxl IHRvIHJlYWNoIGR1cmFibGUgc3RvcmFnZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAg PHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Ud29waGFzZUZpbGVXcml0ZTwvbGl0ZXJh bD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgd3JpdGUgb2YgYSB0d28g cGhhc2Ugc3RhdGUgZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAg ICAgIDxlbnRyeT48bGl0ZXJhbD5WZXJzaW9uRmlsZVdyaXRlPC9saXRlcmFsPjwvZW50cnk+ Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgdGhlIHZlcnNpb24gZmlsZSB0byBiZSB3cml0 dGVuIHdoaWxlIGNyZWF0aW5nIGEgZGF0YWJhc2UuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0g ICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+V0FMQm9vdHN0cmFwU3luYzwvbGl0 ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIFdBTCB0byByZWFjaCBk dXJhYmxlIHN0b3JhZ2UgZHVyaW5nCi0gICAgICAgYm9vdHN0cmFwcGluZy48L2VudHJ5Pgot ICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5XQUxCb290 c3RyYXBXcml0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9y IGEgd3JpdGUgb2YgYSBXQUwgcGFnZSBkdXJpbmcgYm9vdHN0cmFwcGluZy48L2VudHJ5Pgot ICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5XQUxDb3B5 UmVhZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgcmVh ZCB3aGVuIGNyZWF0aW5nIGEgbmV3IFdBTCBzZWdtZW50IGJ5IGNvcHlpbmcgYW4KLSAgICAg ICBleGlzdGluZyBvbmUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAg ICA8ZW50cnk+PGxpdGVyYWw+V0FMQ29weVN5bmM8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAg IDxlbnRyeT5XYWl0aW5nIGZvciBhIG5ldyBXQUwgc2VnbWVudCBjcmVhdGVkIGJ5IGNvcHlp bmcgYW4gZXhpc3Rpbmcgb25lIHRvCi0gICAgICAgcmVhY2ggZHVyYWJsZSBzdG9yYWdlLjwv ZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFs PldBTENvcHlXcml0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcg Zm9yIGEgd3JpdGUgd2hlbiBjcmVhdGluZyBhIG5ldyBXQUwgc2VnbWVudCBieSBjb3B5aW5n IGFuCi0gICAgICAgZXhpc3Rpbmcgb25lLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8 cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPldBTEluaXRTeW5jPC9saXRlcmFsPjwvZW50 cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSBuZXdseSBpbml0aWFsaXplZCBXQUwg ZmlsZSB0byByZWFjaCBkdXJhYmxlCi0gICAgICAgc3RvcmFnZS48L2VudHJ5PgotICAgICA8 L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5XQUxJbml0V3JpdGU8 L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHdyaXRlIHdo aWxlIGluaXRpYWxpemluZyBhIG5ldyBXQUwgZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4K LSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5XQUxSZWFkPC9saXRlcmFsPjwv ZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSByZWFkIGZyb20gYSBXQUwgZmls ZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0 ZXJhbD5XQUxTZW5kZXJUaW1lbGluZUhpc3RvcnlSZWFkPC9saXRlcmFsPjwvZW50cnk+Ci0g ICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSByZWFkIGZyb20gYSB0aW1lbGluZSBoaXN0b3J5 IGZpbGUgZHVyaW5nIGEgd2Fsc2VuZGVyCi0gICAgICAgdGltZWxpbmUgY29tbWFuZC48L2Vu dHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5X QUxTeW5jPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSBX QUwgZmlsZSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UuPC9lbnRyeT4KLSAgICAgPC9yb3c+ Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+V0FMU3luY01ldGhvZEFzc2ln bjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGRhdGEgdG8g cmVhY2ggZHVyYWJsZSBzdG9yYWdlIHdoaWxlIGFzc2lnbmluZyBhIG5ldwotICAgICAgIFdB TCBzeW5jIG1ldGhvZC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAg IDxlbnRyeT48bGl0ZXJhbD5XQUxXcml0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVu dHJ5PldhaXRpbmcgZm9yIGEgd3JpdGUgdG8gYSBXQUwgZmlsZS48L2VudHJ5PgotICAgICA8 L3Jvdz4KLSAgICA8L3Rib2R5PgotICAgPC90Z3JvdXA+Ci0gIDwvdGFibGU+Ci0KLSAgPHRh YmxlIGlkPSJ3YWl0LWV2ZW50LWlwYy10YWJsZSI+Ci0gICA8dGl0bGU+V2FpdCBFdmVudHMg b2YgVHlwZSA8bGl0ZXJhbD5JUEM8L2xpdGVyYWw+PC90aXRsZT4KLSAgIDx0Z3JvdXAgY29s cz0iMiI+Ci0gICAgPHRoZWFkPgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFs PklQQzwvbGl0ZXJhbD4gV2FpdCBFdmVudDwvZW50cnk+Ci0gICAgICA8ZW50cnk+RGVzY3Jp cHRpb248L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICA8L3RoZWFkPgotCi0gICAgPHRib2R5 PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkFwcGVuZFJlYWR5PC9saXRl cmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3Igc3VicGxhbiBub2RlcyBv ZiBhbiA8bGl0ZXJhbD5BcHBlbmQ8L2xpdGVyYWw+IHBsYW4KLSAgICAgICBub2RlIHRvIGJl IHJlYWR5LjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5 PjxsaXRlcmFsPkFyY2hpdmVDbGVhbnVwQ29tbWFuZDwvbGl0ZXJhbD48L2VudHJ5PgotICAg ICAgPGVudHJ5PldhaXRpbmcgZm9yIDx4cmVmIGxpbmtlbmQ9Imd1Yy1hcmNoaXZlLWNsZWFu dXAtY29tbWFuZCIvPiB0bwotICAgICAgIGNvbXBsZXRlLjwvZW50cnk+Ci0gICAgIDwvcm93 PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkFyY2hpdmVDb21tYW5kPC9s aXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgPHhyZWYgbGlua2Vu ZD0iZ3VjLWFyY2hpdmUtY29tbWFuZCIvPiB0bwotICAgICAgIGNvbXBsZXRlLjwvZW50cnk+ Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkJhY2tl bmRUZXJtaW5hdGlvbjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcg Zm9yIHRoZSB0ZXJtaW5hdGlvbiBvZiBhbm90aGVyIGJhY2tlbmQuPC9lbnRyeT4KLSAgICAg PC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+QmFja3VwV2FpdFdh bEFyY2hpdmU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBX QUwgZmlsZXMgcmVxdWlyZWQgZm9yIGEgYmFja3VwIHRvIGJlIHN1Y2Nlc3NmdWxseQotICAg ICAgIGFyY2hpdmVkLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAg PGVudHJ5PjxsaXRlcmFsPkJnV29ya2VyU2h1dGRvd248L2xpdGVyYWw+PC9lbnRyeT4KLSAg ICAgIDxlbnRyeT5XYWl0aW5nIGZvciBiYWNrZ3JvdW5kIHdvcmtlciB0byBzaHV0IGRvd24u PC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVy YWw+QmdXb3JrZXJTdGFydHVwPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2Fp dGluZyBmb3IgYmFja2dyb3VuZCB3b3JrZXIgdG8gc3RhcnQgdXAuPC9lbnRyeT4KLSAgICAg PC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+QnRyZWVQYWdlPC9s aXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgdGhlIHBhZ2UgbnVt YmVyIG5lZWRlZCB0byBjb250aW51ZSBhIHBhcmFsbGVsIEItdHJlZQotICAgICAgIHNjYW4g dG8gYmVjb21lIGF2YWlsYWJsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4K LSAgICAgIDxlbnRyeT48bGl0ZXJhbD5CdWZmZXJJTzwvbGl0ZXJhbD48L2VudHJ5PgotICAg ICAgPGVudHJ5PldhaXRpbmcgZm9yIGJ1ZmZlciBJL08gdG8gY29tcGxldGUuPC9lbnRyeT4K LSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+Q2hlY2tw b2ludERvbmU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBh IGNoZWNrcG9pbnQgdG8gY29tcGxldGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxy b3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+Q2hlY2twb2ludFN0YXJ0PC9saXRlcmFsPjwv ZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSBjaGVja3BvaW50IHRvIHN0YXJ0 LjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRl cmFsPkV4ZWN1dGVHYXRoZXI8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0 aW5nIGZvciBhY3Rpdml0eSBmcm9tIGEgY2hpbGQgcHJvY2VzcyB3aGlsZQotICAgICAgIGV4 ZWN1dGluZyBhIDxsaXRlcmFsPkdhdGhlcjwvbGl0ZXJhbD4gcGxhbiBub2RlLjwvZW50cnk+ Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkhhc2hC YXRjaEFsbG9jYXRlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBm b3IgYW4gZWxlY3RlZCBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50IHRvIGFsbG9jYXRlIGEg aGFzaAotICAgICAgIHRhYmxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93Pgot ICAgICAgPGVudHJ5PjxsaXRlcmFsPkhhc2hCYXRjaEVsZWN0PC9saXRlcmFsPjwvZW50cnk+ Ci0gICAgICA8ZW50cnk+V2FpdGluZyB0byBlbGVjdCBhIFBhcmFsbGVsIEhhc2ggcGFydGlj aXBhbnQgdG8gYWxsb2NhdGUgYSBoYXNoCi0gICAgICAgdGFibGUuPC9lbnRyeT4KLSAgICAg PC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+SGFzaEJhdGNoTG9h ZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIG90aGVyIFBh cmFsbGVsIEhhc2ggcGFydGljaXBhbnRzIHRvIGZpbmlzaCBsb2FkaW5nIGEKLSAgICAgICBo YXNoIHRhYmxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVu dHJ5PjxsaXRlcmFsPkhhc2hCdWlsZEFsbG9jYXRlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAg ICA8ZW50cnk+V2FpdGluZyBmb3IgYW4gZWxlY3RlZCBQYXJhbGxlbCBIYXNoIHBhcnRpY2lw YW50IHRvIGFsbG9jYXRlIHRoZQotICAgICAgIGluaXRpYWwgaGFzaCB0YWJsZS48L2VudHJ5 PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5IYXNo QnVpbGRFbGVjdDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgdG8g ZWxlY3QgYSBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50IHRvIGFsbG9jYXRlIHRoZQotICAg ICAgIGluaXRpYWwgaGFzaCB0YWJsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJv dz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5IYXNoQnVpbGRIYXNoSW5uZXI8L2xpdGVyYWw+ PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBvdGhlciBQYXJhbGxlbCBIYXNo IHBhcnRpY2lwYW50cyB0byBmaW5pc2ggaGFzaGluZyB0aGUKLSAgICAgICBpbm5lciByZWxh dGlvbi48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48 bGl0ZXJhbD5IYXNoQnVpbGRIYXNoT3V0ZXI8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxl bnRyeT5XYWl0aW5nIGZvciBvdGhlciBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50cyB0byBm aW5pc2ggcGFydGl0aW9uaW5nCi0gICAgICAgdGhlIG91dGVyIHJlbGF0aW9uLjwvZW50cnk+ Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkhhc2hH cm93QmF0Y2hlc0RlY2lkZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRp bmcgdG8gZWxlY3QgYSBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50IHRvIGRlY2lkZSBvbiBm dXR1cmUKLSAgICAgICBiYXRjaCBncm93dGguPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAg IDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+SGFzaEdyb3dCYXRjaGVzRWxlY3Q8L2xp dGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIHRvIGVsZWN0IGEgUGFyYWxs ZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBhbGxvY2F0ZSBtb3JlCi0gICAgICAgYmF0Y2hlcy48 L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJh bD5IYXNoR3Jvd0JhdGNoZXNGaW5pc2g8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRy eT5XYWl0aW5nIGZvciBhbiBlbGVjdGVkIFBhcmFsbGVsIEhhc2ggcGFydGljaXBhbnQgdG8g ZGVjaWRlIG9uCi0gICAgICAgZnV0dXJlIGJhdGNoIGdyb3d0aC48L2VudHJ5PgotICAgICA8 L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5IYXNoR3Jvd0JhdGNo ZXNSZWFsbG9jYXRlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBm b3IgYW4gZWxlY3RlZCBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50IHRvIGFsbG9jYXRlIG1v cmUKLSAgICAgICBiYXRjaGVzLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93Pgot ICAgICAgPGVudHJ5PjxsaXRlcmFsPkhhc2hHcm93QmF0Y2hlc1JlcGFydGl0aW9uPC9saXRl cmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3Igb3RoZXIgUGFyYWxsZWwg SGFzaCBwYXJ0aWNpcGFudHMgdG8gZmluaXNoCi0gICAgICAgcmVwYXJ0aXRpb25pbmcuPC9l bnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+ SGFzaEdyb3dCdWNrZXRzRWxlY3Q8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5X YWl0aW5nIHRvIGVsZWN0IGEgUGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBhbGxvY2F0 ZSBtb3JlCi0gICAgICAgYnVja2V0cy48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJv dz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5IYXNoR3Jvd0J1Y2tldHNSZWFsbG9jYXRlPC9s aXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYW4gZWxlY3RlZCBQ YXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50IHRvIGZpbmlzaAotICAgICAgIGFsbG9jYXRpbmcg bW9yZSBidWNrZXRzLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAg PGVudHJ5PjxsaXRlcmFsPkhhc2hHcm93QnVja2V0c1JlaW5zZXJ0PC9saXRlcmFsPjwvZW50 cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3Igb3RoZXIgUGFyYWxsZWwgSGFzaCBwYXJ0 aWNpcGFudHMgdG8gZmluaXNoIGluc2VydGluZwotICAgICAgIHR1cGxlcyBpbnRvIG5ldyBi dWNrZXRzLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5 PjxsaXRlcmFsPkxvZ2ljYWxBcHBseVNlbmREYXRhPC9saXRlcmFsPjwvZW50cnk+Ci0gICAg ICA8ZW50cnk+V2FpdGluZyBmb3IgYSBsb2dpY2FsIHJlcGxpY2F0aW9uIGxlYWRlciBhcHBs eSBwcm9jZXNzIHRvIHNlbmQKLSAgICAgICBkYXRhIHRvIGEgcGFyYWxsZWwgYXBwbHkgcHJv Y2Vzcy48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48 bGl0ZXJhbD5Mb2dpY2FsUGFyYWxsZWxBcHBseVN0YXRlQ2hhbmdlPC9saXRlcmFsPjwvZW50 cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSBsb2dpY2FsIHJlcGxpY2F0aW9uIHBh cmFsbGVsIGFwcGx5IHByb2Nlc3MgdG8gY2hhbmdlCi0gICAgICAgc3RhdGUuPC9lbnRyeT4K LSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+TG9naWNh bFN5bmNEYXRhPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3Ig YSBsb2dpY2FsIHJlcGxpY2F0aW9uIHJlbW90ZSBzZXJ2ZXIgdG8gc2VuZCBkYXRhIGZvcgot ICAgICAgIGluaXRpYWwgdGFibGUgc3luY2hyb25pemF0aW9uLjwvZW50cnk+Ci0gICAgIDwv cm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkxvZ2ljYWxTeW5jU3Rh dGVDaGFuZ2U8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBh IGxvZ2ljYWwgcmVwbGljYXRpb24gcmVtb3RlIHNlcnZlciB0byBjaGFuZ2UKLSAgICAgICBz dGF0ZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48 bGl0ZXJhbD5NZXNzYWdlUXVldWVJbnRlcm5hbDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAg PGVudHJ5PldhaXRpbmcgZm9yIGFub3RoZXIgcHJvY2VzcyB0byBiZSBhdHRhY2hlZCB0byBh IHNoYXJlZCBtZXNzYWdlCi0gICAgICAgcXVldWUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0g ICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+TWVzc2FnZVF1ZXVlUHV0TWVzc2Fn ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgdG8gd3JpdGUgYSBw cm90b2NvbCBtZXNzYWdlIHRvIGEgc2hhcmVkIG1lc3NhZ2UgcXVldWUuPC9lbnRyeT4KLSAg ICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+TWVzc2FnZVF1 ZXVlUmVjZWl2ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgdG8g cmVjZWl2ZSBieXRlcyBmcm9tIGEgc2hhcmVkIG1lc3NhZ2UgcXVldWUuPC9lbnRyeT4KLSAg ICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+TWVzc2FnZVF1 ZXVlU2VuZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgdG8gc2Vu ZCBieXRlcyB0byBhIHNoYXJlZCBtZXNzYWdlIHF1ZXVlLjwvZW50cnk+Ci0gICAgIDwvcm93 PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlBhcmFsbGVsQml0bWFwU2Nh bjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIHBhcmFsbGVs IGJpdG1hcCBzY2FuIHRvIGJlY29tZSBpbml0aWFsaXplZC48L2VudHJ5PgotICAgICA8L3Jv dz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5QYXJhbGxlbENyZWF0ZUlu ZGV4U2NhbjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIHBh cmFsbGVsIDxjb21tYW5kPkNSRUFURSBJTkRFWDwvY29tbWFuZD4gd29ya2VycyB0bwotICAg ICAgIGZpbmlzaCBoZWFwIHNjYW4uPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+ Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+UGFyYWxsZWxGaW5pc2g8L2xpdGVyYWw+PC9lbnRy eT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBwYXJhbGxlbCB3b3JrZXJzIHRvIGZpbmlz aCBjb21wdXRpbmcuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8 ZW50cnk+PGxpdGVyYWw+UHJvY0FycmF5R3JvdXBVcGRhdGU8L2xpdGVyYWw+PC9lbnRyeT4K LSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciB0aGUgZ3JvdXAgbGVhZGVyIHRvIGNsZWFyIHRo ZSB0cmFuc2FjdGlvbiBJRCBhdAotICAgICAgIGVuZCBvZiBhIHBhcmFsbGVsIG9wZXJhdGlv bi48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0 ZXJhbD5Qcm9jU2lnbmFsQmFycmllcjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5 PldhaXRpbmcgZm9yIGEgYmFycmllciBldmVudCB0byBiZSBwcm9jZXNzZWQgYnkgYWxsCi0g ICAgICAgYmFja2VuZHMuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAg ICA8ZW50cnk+PGxpdGVyYWw+UHJvbW90ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVu dHJ5PldhaXRpbmcgZm9yIHN0YW5kYnkgcHJvbW90aW9uLjwvZW50cnk+Ci0gICAgIDwvcm93 PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlJlY292ZXJ5Q29uZmxpY3RT bmFwc2hvdDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIHJl Y292ZXJ5IGNvbmZsaWN0IHJlc29sdXRpb24gZm9yIGEgdmFjdXVtCi0gICAgICAgY2xlYW51 cC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0 ZXJhbD5SZWNvdmVyeUNvbmZsaWN0VGFibGVzcGFjZTwvbGl0ZXJhbD48L2VudHJ5PgotICAg ICAgPGVudHJ5PldhaXRpbmcgZm9yIHJlY292ZXJ5IGNvbmZsaWN0IHJlc29sdXRpb24gZm9y IGRyb3BwaW5nIGEKLSAgICAgICB0YWJsZXNwYWNlLjwvZW50cnk+Ci0gICAgIDwvcm93Pgot ICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlJlY292ZXJ5RW5kQ29tbWFuZDwv bGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIDx4cmVmIGxpbmtl bmQ9Imd1Yy1yZWNvdmVyeS1lbmQtY29tbWFuZCIvPiB0bwotICAgICAgIGNvbXBsZXRlLjwv ZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFs PlJlY292ZXJ5UGF1c2U8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5n IGZvciByZWNvdmVyeSB0byBiZSByZXN1bWVkLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAg ICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlJlcGxpY2F0aW9uT3JpZ2luRHJvcDwv bGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgcmVwbGljYXRp b24gb3JpZ2luIHRvIGJlY29tZSBpbmFjdGl2ZSBzbyBpdCBjYW4gYmUKLSAgICAgICBkcm9w cGVkLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5Pjxs aXRlcmFsPlJlcGxpY2F0aW9uU2xvdERyb3A8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxl bnRyeT5XYWl0aW5nIGZvciBhIHJlcGxpY2F0aW9uIHNsb3QgdG8gYmVjb21lIGluYWN0aXZl IHNvIGl0IGNhbiBiZQotICAgICAgIGRyb3BwZWQuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0g ICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+UmVzdG9yZUNvbW1hbmQ8L2xpdGVy YWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciA8eHJlZiBsaW5rZW5kPSJn dWMtcmVzdG9yZS1jb21tYW5kIi8+IHRvCi0gICAgICAgY29tcGxldGUuPC9lbnRyeT4KLSAg ICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+U2FmZVNuYXBz aG90PC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyB0byBvYnRhaW4g YSB2YWxpZCBzbmFwc2hvdCBmb3IgYSA8bGl0ZXJhbD5SRUFEIE9OTFkKLSAgICAgICBERUZF UlJBQkxFPC9saXRlcmFsPiB0cmFuc2FjdGlvbi48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAg ICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5TeW5jUmVwPC9saXRlcmFsPjwvZW50 cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgY29uZmlybWF0aW9uIGZyb20gYSByZW1v dGUgc2VydmVyIGR1cmluZyBzeW5jaHJvbm91cwotICAgICAgIHJlcGxpY2F0aW9uLjwvZW50 cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPldh bFJlY2VpdmVyRXhpdDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcg Zm9yIHRoZSBXQUwgcmVjZWl2ZXIgdG8gZXhpdC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAg ICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5XYWxSZWNlaXZlcldhaXRTdGFydDwv bGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIHN0YXJ0dXAgcHJv Y2VzcyB0byBzZW5kIGluaXRpYWwgZGF0YSBmb3Igc3RyZWFtaW5nCi0gICAgICAgcmVwbGlj YXRpb24uPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+ PGxpdGVyYWw+WGFjdEdyb3VwVXBkYXRlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50 cnk+V2FpdGluZyBmb3IgdGhlIGdyb3VwIGxlYWRlciB0byB1cGRhdGUgdHJhbnNhY3Rpb24g c3RhdHVzIGF0Ci0gICAgICAgZW5kIG9mIGEgcGFyYWxsZWwgb3BlcmF0aW9uLjwvZW50cnk+ Ci0gICAgIDwvcm93PgotICAgIDwvdGJvZHk+Ci0gICA8L3Rncm91cD4KLSAgPC90YWJsZT4K LQogICA8dGFibGUgaWQ9IndhaXQtZXZlbnQtbG9jay10YWJsZSI+CiAgICA8dGl0bGU+V2Fp dCBFdmVudHMgb2YgVHlwZSA8bGl0ZXJhbD5Mb2NrPC9saXRlcmFsPjwvdGl0bGU+CiAgICA8 dGdyb3VwIGNvbHM9IjIiPgpAQCAtMjI5Nyw2MiArMTU3MSw2IEBAIHBvc3RncmVzICAgMjcw OTMgIDAuMCAgMC4wICAzMDA5NiAgMjc1MiA/ICAgICAgICBTcyAgIDExOjM0ICAgMDowMCBw b3N0Z3Jlczogc2VyCiAgICAgPC9wYXJhPgogICAgPC9ub3RlPgogCi0gIDx0YWJsZSBpZD0i d2FpdC1ldmVudC10aW1lb3V0LXRhYmxlIj4KLSAgIDx0aXRsZT5XYWl0IEV2ZW50cyBvZiBU eXBlIDxsaXRlcmFsPlRpbWVvdXQ8L2xpdGVyYWw+PC90aXRsZT4KLSAgIDx0Z3JvdXAgY29s cz0iMiI+Ci0gICAgPHRoZWFkPgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFs PlRpbWVvdXQ8L2xpdGVyYWw+IFdhaXQgRXZlbnQ8L2VudHJ5PgotICAgICAgPGVudHJ5PkRl c2NyaXB0aW9uPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgPC90aGVhZD4KLQotICAgIDx0 Ym9keT4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5CYXNlQmFja3VwVGhy b3R0bGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGR1cmluZyBi YXNlIGJhY2t1cCB3aGVuIHRocm90dGxpbmcgYWN0aXZpdHkuPC9lbnRyeT4KLSAgICAgPC9y b3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+Q2hlY2twb2ludFdyaXRl RGVsYXk8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGJldHdlZW4g d3JpdGVzIHdoaWxlIHBlcmZvcm1pbmcgYSBjaGVja3BvaW50LjwvZW50cnk+Ci0gICAgIDwv cm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlBnU2xlZXA8L2xpdGVy YWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGR1ZSB0byBhIGNhbGwgdG8gPGZ1 bmN0aW9uPnBnX3NsZWVwPC9mdW5jdGlvbj4gb3IKLSAgICAgICBhIHNpYmxpbmcgZnVuY3Rp b24uPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxp dGVyYWw+UmVjb3ZlcnlBcHBseURlbGF5PC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50 cnk+V2FpdGluZyB0byBhcHBseSBXQUwgZHVyaW5nIHJlY292ZXJ5IGJlY2F1c2Ugb2YgYSBk ZWxheQotICAgICAgIHNldHRpbmcuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+ Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+UmVjb3ZlcnlSZXRyaWV2ZVJldHJ5SW50ZXJ2YWw8 L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGR1cmluZyByZWNvdmVy eSB3aGVuIFdBTCBkYXRhIGlzIG5vdCBhdmFpbGFibGUgZnJvbSBhbnkKLSAgICAgICBzb3Vy Y2UgKDxmaWxlbmFtZT5wZ193YWw8L2ZpbGVuYW1lPiwgYXJjaGl2ZSBvciBzdHJlYW0pLjwv ZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFs PlJlZ2lzdGVyU3luY1JlcXVlc3Q8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5X YWl0aW5nIHdoaWxlIHNlbmRpbmcgc3luY2hyb25pemF0aW9uIHJlcXVlc3RzIHRvIHRoZQot ICAgICAgIGNoZWNrcG9pbnRlciwgYmVjYXVzZSB0aGUgcmVxdWVzdCBxdWV1ZSBpcyBmdWxs LjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRl cmFsPlNwaW5EZWxheTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcg d2hpbGUgYWNxdWlyaW5nIGEgY29udGVuZGVkIHNwaW5sb2NrLjwvZW50cnk+Ci0gICAgIDwv cm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlZhY3V1bURlbGF5PC9s aXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBpbiBhIGNvc3QtYmFzZWQg dmFjdXVtIGRlbGF5IHBvaW50LjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93Pgot ICAgICAgPGVudHJ5PjxsaXRlcmFsPlZhY3V1bVRydW5jYXRlPC9saXRlcmFsPjwvZW50cnk+ Ci0gICAgICA8ZW50cnk+V2FpdGluZyB0byBhY3F1aXJlIGFuIGV4Y2x1c2l2ZSBsb2NrIHRv IHRydW5jYXRlIG9mZiBhbnkKLSAgICAgICBlbXB0eSBwYWdlcyBhdCB0aGUgZW5kIG9mIGEg dGFibGUgdmFjdXVtZWQuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgPC90Ym9keT4KLSAg IDwvdGdyb3VwPgotICA8L3RhYmxlPgotCiAgICA8cGFyYT4KICAgICAgSGVyZSBpcyBhbiBl eGFtcGxlIG9mIGhvdyB3YWl0IGV2ZW50cyBjYW4gYmUgdmlld2VkOgogCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL01ha2VmaWxlCmluZGV4IGU0 YmYwZmU5YzAuLjI1ODkzNWM2NDcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL01ha2VmaWxl CisrKyBiL3NyYy9iYWNrZW5kL01ha2VmaWxlCkBAIC0xMzQsNiArMTM0LDkgQEAgcGFyc2Vy L2dyYW0uaDogcGFyc2VyL2dyYW0ueQogc3RvcmFnZS9sbWdyL2x3bG9ja25hbWVzLmg6IHN0 b3JhZ2UvbG1nci9nZW5lcmF0ZS1sd2xvY2tuYW1lcy5wbCBzdG9yYWdlL2xtZ3IvbHdsb2Nr bmFtZXMudHh0CiAJJChNQUtFKSAtQyBzdG9yYWdlL2xtZ3IgbHdsb2NrbmFtZXMuaCBsd2xv Y2tuYW1lcy5jCiAKK3V0aWxzL2FjdGl2aXR5L3dhaXRldmVudG5hbWVzLmg6IHV0aWxzL2Fj dGl2aXR5L2dlbmVyYXRlLXdhaXRldmVudG5hbWVzLnBsIHV0aWxzL2FjdGl2aXR5L3dhaXRl dmVudG5hbWVzLnR4dAorCSQoTUFLRSkgLUMgdXRpbHMvYWN0aXZpdHkgd2FpdGV2ZW50bmFt ZXMuaCB3YWl0ZXZlbnRuYW1lcy5jCisKICMgcnVuIHRoaXMgdW5jb25kaXRpb25hbGx5IHRv IGF2b2lkIG5lZWRpbmcgdG8ga25vdyBpdHMgZGVwZW5kZW5jaWVzIGhlcmU6CiBzdWJtYWtl LWNhdGFsb2ctaGVhZGVyczoKIAkkKE1BS0UpIC1DIGNhdGFsb2cgZGlzdHByZXAgZ2VuZXJh dGVkLWhlYWRlci1zeW1saW5rcwpAQCAtMTYxLDEzICsxNjQsMTggQEAgc3VibWFrZS11dGls cy1oZWFkZXJzOgogCiAuUEhPTlk6IGdlbmVyYXRlZC1oZWFkZXJzCiAKLWdlbmVyYXRlZC1o ZWFkZXJzOiAkKHRvcF9idWlsZGRpcikvc3JjL2luY2x1ZGUvc3RvcmFnZS9sd2xvY2tuYW1l cy5oIHN1Ym1ha2UtY2F0YWxvZy1oZWFkZXJzIHN1Ym1ha2Utbm9kZXMtaGVhZGVycyBzdWJt YWtlLXV0aWxzLWhlYWRlcnMKK2dlbmVyYXRlZC1oZWFkZXJzOiAkKHRvcF9idWlsZGRpcikv c3JjL2luY2x1ZGUvc3RvcmFnZS9sd2xvY2tuYW1lcy5oICQodG9wX2J1aWxkZGlyKS9zcmMv aW5jbHVkZS91dGlscy93YWl0ZXZlbnRuYW1lcy5oIHN1Ym1ha2UtY2F0YWxvZy1oZWFkZXJz IHN1Ym1ha2Utbm9kZXMtaGVhZGVycyBzdWJtYWtlLXV0aWxzLWhlYWRlcnMKIAogJCh0b3Bf YnVpbGRkaXIpL3NyYy9pbmNsdWRlL3N0b3JhZ2UvbHdsb2NrbmFtZXMuaDogc3RvcmFnZS9s bWdyL2x3bG9ja25hbWVzLmgKIAlwcmVyZXFkaXI9YGNkICckKGRpciAkPCknID4vZGV2L251 bGwgJiYgcHdkYCAmJiBcCiAJICBjZCAnJChkaXIgJEApJyAmJiBybSAtZiAkKG5vdGRpciAk QCkgJiYgXAogCSAgJChMTl9TKSAiJCRwcmVyZXFkaXIvJChub3RkaXIgJDwpIiAuCiAKKyQo dG9wX2J1aWxkZGlyKS9zcmMvaW5jbHVkZS91dGlscy93YWl0ZXZlbnRuYW1lcy5oOiB1dGls cy9hY3Rpdml0eS93YWl0ZXZlbnRuYW1lcy5oCisJcHJlcmVxZGlyPWBjZCAnJChkaXIgJDwp JyA+L2Rldi9udWxsICYmIHB3ZGAgJiYgXAorCSAgY2QgJyQoZGlyICRAKScgJiYgcm0gLWYg JChub3RkaXIgJEApICYmIFwKKwkgICQoTE5fUykgIiQkcHJlcmVxZGlyLyQobm90ZGlyICQ8 KSIgLgorCiB1dGlscy9wcm9iZXMubzogdXRpbHMvcHJvYmVzLmQgJChTVUJESVJPQkpTKQog CSQoRFRSQUNFKSAkKERUUkFDRUZMQUdTKSAtQyAtRyAtcyAkKGNhbGwgZXhwYW5kX3N1YnN5 cywkXikgLW8gJEAKIApAQCAtMTg1LDYgKzE5Myw3IEBAIGRpc3RwcmVwOgogCSQoTUFLRSkg LUMgdXRpbHMJZGlzdHByZXAKIAkkKE1BS0UpIC1DIHV0aWxzL2FkdAlqc29ucGF0aF9ncmFt LmMganNvbnBhdGhfZ3JhbS5oIGpzb25wYXRoX3NjYW4uYwogCSQoTUFLRSkgLUMgdXRpbHMv bWlzYwlndWMtZmlsZS5jCisJJChNQUtFKSAtQyB1dGlscy9hY3R2aXR5CXdhaXRldmVudG5h bWVzLmggd2FpdGV2ZW50bmFtZXMuYwogCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC0z MDUsNiArMzE0LDkgQEAgbWFpbnRhaW5lci1jbGVhbjogZGlzdGNsZWFuCiAJICAgICAgdXRp bHMvYWR0L2pzb25wYXRoX2dyYW0uYyBcCiAJICAgICAgdXRpbHMvYWR0L2pzb25wYXRoX2dy YW0uaCBcCiAJICAgICAgdXRpbHMvYWR0L2pzb25wYXRoX3NjYW4uYyBcCisJICAgICAgdXRp bHMvYWN0aXZpdHkvd2FpdGV2ZW50bmFtZXMuYyBcCisJICAgICAgdXRpbHMvYWN0aXZpdHkv d2FpdGV2ZW50bmFtZXMuaCBcCisJICAgICAgdXRpbHMvYWR0L2pzb25wYXRoX3NjYW4uYyBc CiAJICAgICAgdXRpbHMvbWlzYy9ndWMtZmlsZS5jCiAKIApkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvTWFrZWZpbGUgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9NYWtlZmlsZQppbmRleCA3ZDc0ODJkZGUwLi5iM2MzNTE5MTI0IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9NYWtlZmlsZQorKysgYi9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9NYWtlZmlsZQpAQCAtMzMsMyArMzMsMTMgQEAgT0JKUyA9IFwK IAl3YWl0X2V2ZW50Lm8KIAogaW5jbHVkZSAkKHRvcF9zcmNkaXIpL3NyYy9iYWNrZW5kL2Nv bW1vbi5taworCit3YWl0X2V2ZW50Lm86IHdhaXRldmVudG5hbWVzLmMKK3dhaXRldmVudG5h bWVzLmM6IHdhaXRldmVudG5hbWVzLmgKKwl0b3VjaCAkQAorCit3YWl0ZXZlbnRuYW1lcy5o OiAkKHRvcF9zcmNkaXIpL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRldmVudG5h bWVzLnR4dCBnZW5lcmF0ZS13YWl0ZXZlbnRuYW1lcy5wbAorCSQoUEVSTCkgJChzcmNkaXIp L2dlbmVyYXRlLXdhaXRldmVudG5hbWVzLnBsICQ8CisKK21haW50YWluZXItY2xlYW46IGNs ZWFuCisJcm0gLWYgd2FpdGV2ZW50bmFtZXMuaCB3YWl0ZXZlbnRuYW1lcy5jCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9nZW5lcmF0ZS13YWl0ZXZlbnRuYW1l cy5wbCBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L2dlbmVyYXRlLXdhaXRldmVudG5h bWVzLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjhmOWIyZTIy NTEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9nZW5l cmF0ZS13YWl0ZXZlbnRuYW1lcy5wbApAQCAtMCwwICsxLDE1NyBAQAorIyEvdXNyL2Jpbi9w ZXJsCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIworIyBHZW5lcmF0ZSB3YWl0IGV2ZW50cyBzdXBw b3J0IGZpbGVzIGZyb20gd2FpdGV2ZW50bmFtZXMudHh0OgorIyAtIHdhaXRldmVudG5hbWVz LmgKKyMgLSB3YWl0ZXZlbnRuYW1lcy5jCisjIC0gd2FpdGV2ZW50bmFtZXMuc2dtbAorIwor IyBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMywgUG9zdGdyZVNRTCBHbG9iYWwg RGV2ZWxvcG1lbnQgR3JvdXAKKyMgUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk0LCBSZWdl bnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyMKKyMgc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvZ2VuZXJhdGUtd2FpdGV2ZW50bmFtZXMucGwKKyMKKyMtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3M7Cit1c2UgR2V0b3B0OjpM b25nOworCitteSAkb3V0cHV0X3BhdGggPSAnLic7CisKK215ICRjb250aW51ZSAgICA9ICJc biI7CitteSAlaGFzaHdlOworbXkgJHdhaXRjbGFzczsKK215IEB3YWl0X2NsYXNzZXMgPSAo IlBHX1dBSVRfQUNUSVZJVFkiLCAiUEdfV0FJVF9DTElFTlQiLCAiUEdfV0FJVF9JUEMiLCAi UEdfV0FJVF9USU1FT1VUIiwgIlBHX1dBSVRfSU8iKTsKKworR2V0T3B0aW9ucygKKwknb3V0 ZGlyOnMnICAgICAgID0+IFwkb3V0cHV0X3BhdGgpOworCitvcGVuIG15ICR3YWl0ZXZlbnRu YW1lcywgJzwnLCAkQVJHVlswXSBvciBkaWU7CisKKyMgSW5jbHVkZSBQSUQgaW4gc3VmZml4 IGluIGNhc2UgcGFyYWxsZWwgbWFrZSBydW5zIHRoaXMgbXVsdGlwbGUgdGltZXMuCitteSAk aHRtcCA9ICIkb3V0cHV0X3BhdGgvd2FpdGV2ZW50bmFtZXMuaC50bXAkJCI7CitteSAkY3Rt cCA9ICIkb3V0cHV0X3BhdGgvd2FpdGV2ZW50bmFtZXMuYy50bXAkJCI7CitteSAkc3RtcCA9 ICIkb3V0cHV0X3BhdGgvd2FpdGV2ZW50bmFtZXMucy50bXAkJCI7CitvcGVuIG15ICRoLCAn PicsICRodG1wIG9yIGRpZSAiQ291bGQgbm90IG9wZW4gJGh0bXA6ICQhIjsKK29wZW4gbXkg JGMsICc+JywgJGN0bXAgb3IgZGllICJDb3VsZCBub3Qgb3BlbiAkY3RtcDogJCEiOworb3Bl biBteSAkcywgJz4nLCAkc3RtcCBvciBkaWUgIkNvdWxkIG5vdCBvcGVuICRzdG1wOiAkISI7 CisKK215ICRoZWFkZXJfY29tbWVudCA9CisgICcvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAq CisgKiAlcworICogICAgR2VuZXJhdGVkIHdhaXQgZXZlbnRzIGluZnJhc3RydWN0dXJlIGNv ZGUKKyAqCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMywgUG9zdGdyZVNR TCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykg MTk5NCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKgorICog Tk9URVMKKyAqICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAqKiogRE8g Tk9UIEVESVQgVEhJUyBGSUxFISAqKioKKyAqICAqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKKyAqCisgKiAgSXQgaGFzIGJlZW4gR0VORVJBVEVEIGJ5IHNyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L2dlbmVyYXRlLXdhaXRldmVudG5hbWVzLnBsCisgKgorICotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgKi8KKyc7CisKK3ByaW50ZiAkaCAkaGVhZGVyX2NvbW1lbnQsICd3 YWl0ZXZlbnRuYW1lcy5oJzsKK3ByaW50ZiAkaCAiI2lmbmRlZiBXQUlURVZFTlROQU1FU19I XG4iOworcHJpbnRmICRoICIjZGVmaW5lIFdBSVRFVkVOVE5BTUVTX0hcblxuIjsKK3ByaW50 ZiAkaCAiI2luY2x1ZGUgXCJ1dGlscy93YWl0X2V2ZW50LmhcIlxuXG4iOworCitwcmludGYg JGMgJGhlYWRlcl9jb21tZW50LCAnd2FpdGV2ZW50bmFtZXMuYyc7CisKKyMgUmVhZCB0aGUg aW5wdXQgZmlsZSBhbmQgcG9wdWxhdGUgdGhlIGhhc2ggdGFibGUKK3doaWxlICg8JHdhaXRl dmVudG5hbWVzPikKK3sKKwljaG9tcDsKKworCSMgU2tpcCBjb21tZW50cworCW5leHQgaWYg L14jLzsKKwluZXh0IGlmIC9eXHMqJC87CisKKwlkaWUgInVuYWJsZSB0byBwYXJzZSB3YWl0 ZXZlbnRuYW1lcy50eHQiCisJICB1bmxlc3MgL14oXHcrKVx0KyhcdyspXHQrKCJcdysiKVx0 KygiXHcuKlwuIikkLzsKKworCShteSAkd2FpdGNsYXNzbmFtZSwgbXkgJHdhaXRldmVudGVu dW1uYW1lLCBteSAkd2FpdGV2ZW50ZGVzY3JpcHRpb24sIG15ICR3YWl0ZXZlbmRvY3NlbnRl bmNlKSA9ICgkMSwgJDIsICQzLCAkNCk7CisKKwlteSBAd2FpdGV2ZW50bGlzdCA9IFskd2Fp dGV2ZW50ZW51bW5hbWUsICR3YWl0ZXZlbnRkZXNjcmlwdGlvbiwgJHdhaXRldmVuZG9jc2Vu dGVuY2VdOworCW15ICR0cmltbWVkd2FpdGV2ZW50bmFtZSA9ICR3YWl0ZXZlbnRlbnVtbmFt ZTsKKwkkdHJpbW1lZHdhaXRldmVudG5hbWUgPX4gcy9eV0FJVF9FVkVOVF8vLzsKKwlkaWUg IndhaXQgZXZlbnQgbmFtZXMgbXVzdCBzdGFydCB3aXRoICdXQUlUX0VWRU5UXyciIGlmICR0 cmltbWVkd2FpdGV2ZW50bmFtZSBlcSAkd2FpdGV2ZW50ZW51bW5hbWU7CisJJGNvbnRpbnVl ICAgID0gIixcbiI7CisJcHVzaChAeyAkaGFzaHdleyR3YWl0Y2xhc3NuYW1lfSB9LCBAd2Fp dGV2ZW50bGlzdCk7Cit9CisKKyMgR2VuZXJhdGUgdGhlIG91dHB1dCBmaWxlcworZm9yZWFj aCAkd2FpdGNsYXNzIChrZXlzICVoYXNod2UpIHsKKwlteSAkbGFzdCA9ICR3YWl0Y2xhc3M7 CisJJGxhc3QgPX4gcy9eV2FpdEV2ZW50Ly87CisJbXkgJGxhc3R1YyA9IHVjICRsYXN0Owor CW15ICRsYXN0bGMgPSBsYyAkbGFzdDsKKwlteSAkZmlyc3RwYXNzID0gMTsKKwlteSAkcGdf d2FpdF9jbGFzczsKKworCXByaW50ZiAkaCAidHlwZWRlZiBlbnVtXG57XG4iOworCisJcHJp bnRmICRjICJzdGF0aWMgY29uc3QgY2hhciAqXG5wZ3N0YXRfZ2V0X3dhaXRfJGxhc3RsYygk d2FpdGNsYXNzIHcpXG57XG4iOworCXByaW50ZiAkYyAiXHRjb25zdCBjaGFyICpldmVudF9u YW1lID0gXCJ1bmtub3duIHdhaXQgZXZlbnRcIjtcblxuIjsKKwlwcmludGYgJGMgIlx0c3dp dGNoICh3KVxuXHR7XG4iOworCisJcHJpbnRmICRzICIgIDx0YWJsZSBpZD1cIndhaXQtZXZl bnQtJXMtdGFibGVcIj5cbiIsICRsYXN0bGM7CisJcHJpbnRmICRzICIgICA8dGl0bGU+V2Fp dCBFdmVudHMgb2YgVHlwZSA8bGl0ZXJhbD4lczwvbGl0ZXJhbD48L3RpdGxlPlxuIiwgdWNm aXJzdCgkbGFzdGxjKTsKKwlwcmludGYgJHMgIiAgIDx0Z3JvdXAgY29scz1cIjJcIj5cbiI7 CisJcHJpbnRmICRzICIgICAgPHRoZWFkPlxuIjsKKwlwcmludGYgJHMgIiAgICAgPHJvdz5c biI7CisJcHJpbnRmICRzICIgICAgICA8ZW50cnk+PGxpdGVyYWw+QWN0aXZpdHk8L2xpdGVy YWw+IFdhaXQgRXZlbnQ8L2VudHJ5PlxuIjsKKwlwcmludGYgJHMgIiAgICAgIDxlbnRyeT5E ZXNjcmlwdGlvbjwvZW50cnk+XG4iOworICAgIHByaW50ZiAkcyAiICAgICA8L3Jvdz5cbiI7 CisJcHJpbnRmICRzICIgICAgPC90aGVhZD5cblxuIjsKKwlwcmludGYgJHMgIiAgICA8dGJv ZHk+XG4iOworCisJZm9yZWFjaCBteSAkd2V2IChAeyRoYXNod2V7JHdhaXRjbGFzc319KSB7 CisJCWlmICgkZmlyc3RwYXNzKSB7CisJCQkkcGdfd2FpdF9jbGFzcyA9ICJQR19XQUlUXyIu JGxhc3R1YzsKKwkJCWRpZSAid2FpdGNsYXNzICRwZ193YWl0X2NsYXNzIGRvZXMgbm90IGV4 aXN0IiB1bmxlc3MgZ3JlcCggL14kcGdfd2FpdF9jbGFzcyQvLCBAd2FpdF9jbGFzc2VzICk7 CisJCQlwcmludGYgJGggIlx0JXMgPSAlcyIsICR3ZXYtPlswXSwgJHBnX3dhaXRfY2xhc3M7 CisJCQkkY29udGludWUgPSAiLFxuIjsKKwkJfSBlbHNlIHsKKwkJCXByaW50ZiAkaCAiJXNc dCVzIiwgJGNvbnRpbnVlLCAkd2V2LT5bMF07CisJCQkkY29udGludWUgPSAiLFxuIjsKKwkJ fQorCQkkZmlyc3RwYXNzID0gMDsKKworCQlwcmludGYgJGMgIlx0XHQgY2FzZSAlczpcbiIs ICR3ZXYtPlswXTsKKwkJcHJpbnRmICRjICJcdFx0XHQgZXZlbnRfbmFtZSA9ICVzO1xuXHRc dFx0IGJyZWFrO1xuIiwgJHdldi0+WzFdOworCisJCXByaW50ZiAkcyAiICAgICA8cm93Plxu IjsKKwkJcHJpbnRmICRzICIgICAgICA8ZW50cnk+PGxpdGVyYWw+JXM8L2xpdGVyYWw+PC9l bnRyeT5cbiIsIHN1YnN0ciAkd2V2LT5bMV0sIDEsIC0xOworCQlwcmludGYgJHMgIiAgICAg IDxlbnRyeT4lczwvZW50cnk+XG4iLCBzdWJzdHIgJHdldi0+WzJdLCAxLCAtMTsKKwkJcHJp bnRmICRzICIgICAgIDwvcm93PlxuIjsKKwl9CisKKwlwcmludGYgJGggIlxufSAkd2FpdGNs YXNzO1xuXG4iOworCisJcHJpbnRmICRjICJcdFx0XHQgLyogbm8gZGVmYXVsdCBjYXNlLCBz byB0aGF0IGNvbXBpbGVyIHdpbGwgd2FybiAqL1xuIjsKKwlwcmludGYgJGMgIlx0fVxuXG4i OworCXByaW50ZiAkYyAiXHRyZXR1cm4gZXZlbnRfbmFtZTtcbiI7CisJcHJpbnRmICRjICJc bn1cbiI7CisKKwlwcmludGYgJHMgIiAgICA8L3Rib2R5PlxuIjsKKwlwcmludGYgJHMgIiAg IDwvdGdyb3VwPlxuIjsKKwlwcmludGYgJHMgIiAgPC90YWJsZT5cbiI7Cit9CisKK3ByaW50 ZiAkaCAiI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBXQUlURVZFTlROQU1F U19IICovIjsKK2Nsb3NlICRoOworY2xvc2UgJGM7CitjbG9zZSAkczsKKworcmVuYW1lKCRo dG1wLCAiJG91dHB1dF9wYXRoL3dhaXRldmVudG5hbWVzLmgiKSB8fCBkaWUgInJlbmFtZTog JGh0bXAgdG8gJG91dHB1dF9wYXRoL3dhaXRldmVudG5hbWVzLmg6ICQhIjsKK3JlbmFtZSgk Y3RtcCwgIiRvdXRwdXRfcGF0aC93YWl0ZXZlbnRuYW1lcy5jIikgfHwgZGllICJyZW5hbWU6 ICRjdG1wOiAkISI7CityZW5hbWUoJHN0bXAsICIkb3V0cHV0X3BhdGgvd2FpdGV2ZW50bmFt ZXMuc2dtbCIpIHx8IGRpZSAicmVuYW1lOiAkY3RtcDogJCEiOworCitjbG9zZSAkd2FpdGV2 ZW50bmFtZXM7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9tZXNv bi5idWlsZCBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L21lc29uLmJ1aWxkCmluZGV4 IDUxOGVlM2Y3OTguLmQyMGUzZjcxNjcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L21lc29uLmJ1aWxkCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L21lc29uLmJ1aWxkCkBAIC0xLDUgKzEsMTcgQEAKICMgQ29weXJpZ2h0IChjKSAyMDIyLTIw MjMsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCiAKK3dhaXRldmVudG5h bWVzID0gY3VzdG9tX3RhcmdldCgnd2FpdGV2ZW50bmFtZXMnLAorICBpbnB1dDogZmlsZXMo Jy4vd2FpdGV2ZW50bmFtZXMudHh0JyksCisgIG91dHB1dDogWyd3YWl0ZXZlbnRuYW1lcy5j J10sCisgIGNvbW1hbmQ6IFsKKyAgICBwZXJsLCBmaWxlcygnLi9nZW5lcmF0ZS13YWl0ZXZl bnRuYW1lcy5wbCcpLAorICAgICctbycsICdAT1VURElSQCcsCisgICAgJ0BJTlBVVEAnCisg IF0sCisgIGluc3RhbGw6IHRydWUsCisgIGluc3RhbGxfZGlyOiBbZmFsc2VdLAorKQorCiBi YWNrZW5kX3NvdXJjZXMgKz0gZmlsZXMoCiAgICdiYWNrZW5kX3Byb2dyZXNzLmMnLAogICAn YmFja2VuZF9zdGF0dXMuYycsCkBAIC0xNyw1ICsyOSwxNyBAQCBiYWNrZW5kX3NvdXJjZXMg Kz0gZmlsZXMoCiAgICdwZ3N0YXRfc3Vic2NyaXB0aW9uLmMnLAogICAncGdzdGF0X3dhbC5j JywKICAgJ3Bnc3RhdF94YWN0LmMnLAorKQorCisjIHRoZXNlIGluY2x1ZGUgLmMgZmlsZXMg Z2VuZXJhdGVkIGluIC4uLy4uLy4uL2luY2x1ZGUvYWN0aXZpdHksIHNlZW1zIG5pY2VyIHRv IG5vdAorIyBhZGQgdGhhdCBhcyBhbiBpbmNsdWRlIHBhdGggZm9yIHRoZSB3aG9sZSBiYWNr ZW5kCit3YWl0ZXZlbnRfc291cmNlcyA9IGZpbGVzKAogICAnd2FpdF9ldmVudC5jJywKICkK KworYmFja2VuZF9saW5rX3dpdGggKz0gc3RhdGljX2xpYnJhcnkoJ3dhaXRldmVudG5hbWVz JywKKyAgd2FpdGV2ZW50X3NvdXJjZXMsCisgIGRlcGVuZGVuY2llczogW2JhY2tlbmRfY29k ZV0sCisgIGluY2x1ZGVfZGlyZWN0b3JpZXM6IGluY2x1ZGVfZGlyZWN0b3JpZXMoJy4uLy4u Ly4uL2luY2x1ZGUvdXRpbHMnKSwKKyAga3dhcmdzOiBpbnRlcm5hbF9saWJfYXJncywKKykK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYwppbmRleCA3OTQwZDY0 NjM5Li41OWI1NDhlNTQzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0 eS93YWl0X2V2ZW50LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9l dmVudC5jCkBAIC0xOTYsNTY5ICsxOTYsNCBAQCBwZ3N0YXRfZ2V0X3dhaXRfZXZlbnQodWlu dDMyIHdhaXRfZXZlbnRfaW5mbykKIAlyZXR1cm4gZXZlbnRfbmFtZTsKIH0KIAotLyogLS0t LS0tLS0tLQotICogcGdzdGF0X2dldF93YWl0X2FjdGl2aXR5KCkgLQotICoKLSAqIENvbnZl cnQgV2FpdEV2ZW50QWN0aXZpdHkgdG8gc3RyaW5nLgotICogLS0tLS0tLS0tLQotICovCi1z dGF0aWMgY29uc3QgY2hhciAqCi1wZ3N0YXRfZ2V0X3dhaXRfYWN0aXZpdHkoV2FpdEV2ZW50 QWN0aXZpdHkgdykKLXsKLQljb25zdCBjaGFyICpldmVudF9uYW1lID0gInVua25vd24gd2Fp dCBldmVudCI7Ci0KLQlzd2l0Y2ggKHcpCi0JewotCQljYXNlIFdBSVRfRVZFTlRfQVJDSElW RVJfTUFJTjoKLQkJCWV2ZW50X25hbWUgPSAiQXJjaGl2ZXJNYWluIjsKLQkJCWJyZWFrOwot CQljYXNlIFdBSVRfRVZFTlRfQVVUT1ZBQ1VVTV9NQUlOOgotCQkJZXZlbnRfbmFtZSA9ICJB dXRvVmFjdXVtTWFpbiI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0JHV1JJVEVS X0hJQkVSTkFURToKLQkJCWV2ZW50X25hbWUgPSAiQmdXcml0ZXJIaWJlcm5hdGUiOwotCQkJ YnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9CR1dSSVRFUl9NQUlOOgotCQkJZXZlbnRfbmFt ZSA9ICJCZ1dyaXRlck1haW4iOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9DSEVD S1BPSU5URVJfTUFJTjoKLQkJCWV2ZW50X25hbWUgPSAiQ2hlY2twb2ludGVyTWFpbiI7Ci0J CQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0xPR0lDQUxfQVBQTFlfTUFJTjoKLQkJCWV2 ZW50X25hbWUgPSAiTG9naWNhbEFwcGx5TWFpbiI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlU X0VWRU5UX0xPR0lDQUxfTEFVTkNIRVJfTUFJTjoKLQkJCWV2ZW50X25hbWUgPSAiTG9naWNh bExhdW5jaGVyTWFpbiI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0xPR0lDQUxf UEFSQUxMRUxfQVBQTFlfTUFJTjoKLQkJCWV2ZW50X25hbWUgPSAiTG9naWNhbFBhcmFsbGVs QXBwbHlNYWluIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfUkVDT1ZFUllfV0FM X1NUUkVBTToKLQkJCWV2ZW50X25hbWUgPSAiUmVjb3ZlcnlXYWxTdHJlYW0iOwotCQkJYnJl YWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9TWVNMT0dHRVJfTUFJTjoKLQkJCWV2ZW50X25hbWUg PSAiU3lzTG9nZ2VyTWFpbiI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1dBTF9S RUNFSVZFUl9NQUlOOgotCQkJZXZlbnRfbmFtZSA9ICJXYWxSZWNlaXZlck1haW4iOwotCQkJ YnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9XQUxfU0VOREVSX01BSU46Ci0JCQlldmVudF9u YW1lID0gIldhbFNlbmRlck1haW4iOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9X QUxfV1JJVEVSX01BSU46Ci0JCQlldmVudF9uYW1lID0gIldhbFdyaXRlck1haW4iOwotCQkJ YnJlYWs7Ci0JCQkvKiBubyBkZWZhdWx0IGNhc2UsIHNvIHRoYXQgY29tcGlsZXIgd2lsbCB3 YXJuICovCi0JfQotCi0JcmV0dXJuIGV2ZW50X25hbWU7Ci19Ci0KLS8qIC0tLS0tLS0tLS0K LSAqIHBnc3RhdF9nZXRfd2FpdF9jbGllbnQoKSAtCi0gKgotICogQ29udmVydCBXYWl0RXZl bnRDbGllbnQgdG8gc3RyaW5nLgotICogLS0tLS0tLS0tLQotICovCi1zdGF0aWMgY29uc3Qg Y2hhciAqCi1wZ3N0YXRfZ2V0X3dhaXRfY2xpZW50KFdhaXRFdmVudENsaWVudCB3KQotewot CWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAidW5rbm93biB3YWl0IGV2ZW50IjsKLQotCXN3 aXRjaCAodykKLQl7Ci0JCWNhc2UgV0FJVF9FVkVOVF9DTElFTlRfUkVBRDoKLQkJCWV2ZW50 X25hbWUgPSAiQ2xpZW50UmVhZCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0NM SUVOVF9XUklURToKLQkJCWV2ZW50X25hbWUgPSAiQ2xpZW50V3JpdGUiOwotCQkJYnJlYWs7 Ci0JCWNhc2UgV0FJVF9FVkVOVF9HU1NfT1BFTl9TRVJWRVI6Ci0JCQlldmVudF9uYW1lID0g IkdTU09wZW5TZXJ2ZXIiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9MSUJQUVdB TFJFQ0VJVkVSX0NPTk5FQ1Q6Ci0JCQlldmVudF9uYW1lID0gIkxpYlBRV2FsUmVjZWl2ZXJD b25uZWN0IjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfTElCUFFXQUxSRUNFSVZF Ul9SRUNFSVZFOgotCQkJZXZlbnRfbmFtZSA9ICJMaWJQUVdhbFJlY2VpdmVyUmVjZWl2ZSI7 Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1NTTF9PUEVOX1NFUlZFUjoKLQkJCWV2 ZW50X25hbWUgPSAiU1NMT3BlblNlcnZlciI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VW RU5UX1dBTF9TRU5ERVJfV0FJVF9XQUw6Ci0JCQlldmVudF9uYW1lID0gIldhbFNlbmRlcldh aXRGb3JXQUwiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9XQUxfU0VOREVSX1dS SVRFX0RBVEE6Ci0JCQlldmVudF9uYW1lID0gIldhbFNlbmRlcldyaXRlRGF0YSI7Ci0JCQli cmVhazsKLQkJCS8qIG5vIGRlZmF1bHQgY2FzZSwgc28gdGhhdCBjb21waWxlciB3aWxsIHdh cm4gKi8KLQl9Ci0KLQlyZXR1cm4gZXZlbnRfbmFtZTsKLX0KLQotLyogLS0tLS0tLS0tLQot ICogcGdzdGF0X2dldF93YWl0X2lwYygpIC0KLSAqCi0gKiBDb252ZXJ0IFdhaXRFdmVudElQ QyB0byBzdHJpbmcuCi0gKiAtLS0tLS0tLS0tCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoK LXBnc3RhdF9nZXRfd2FpdF9pcGMoV2FpdEV2ZW50SVBDIHcpCi17Ci0JY29uc3QgY2hhciAq ZXZlbnRfbmFtZSA9ICJ1bmtub3duIHdhaXQgZXZlbnQiOwotCi0Jc3dpdGNoICh3KQotCXsK LQkJY2FzZSBXQUlUX0VWRU5UX0FQUEVORF9SRUFEWToKLQkJCWV2ZW50X25hbWUgPSAiQXBw ZW5kUmVhZHkiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9BUkNISVZFX0NMRUFO VVBfQ09NTUFORDoKLQkJCWV2ZW50X25hbWUgPSAiQXJjaGl2ZUNsZWFudXBDb21tYW5kIjsK LQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfQVJDSElWRV9DT01NQU5EOgotCQkJZXZl bnRfbmFtZSA9ICJBcmNoaXZlQ29tbWFuZCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VW RU5UX0JBQ0tFTkRfVEVSTUlOQVRJT046Ci0JCQlldmVudF9uYW1lID0gIkJhY2tlbmRUZXJt aW5hdGlvbiI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0JBQ0tVUF9XQUlUX1dB TF9BUkNISVZFOgotCQkJZXZlbnRfbmFtZSA9ICJCYWNrdXBXYWl0V2FsQXJjaGl2ZSI7Ci0J CQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0JHV09SS0VSX1NIVVRET1dOOgotCQkJZXZl bnRfbmFtZSA9ICJCZ1dvcmtlclNodXRkb3duIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRf RVZFTlRfQkdXT1JLRVJfU1RBUlRVUDoKLQkJCWV2ZW50X25hbWUgPSAiQmdXb3JrZXJTdGFy dHVwIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfQlRSRUVfUEFHRToKLQkJCWV2 ZW50X25hbWUgPSAiQnRyZWVQYWdlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRf QlVGRkVSX0lPOgotCQkJZXZlbnRfbmFtZSA9ICJCdWZmZXJJTyI7Ci0JCQlicmVhazsKLQkJ Y2FzZSBXQUlUX0VWRU5UX0NIRUNLUE9JTlRfRE9ORToKLQkJCWV2ZW50X25hbWUgPSAiQ2hl Y2twb2ludERvbmUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9DSEVDS1BPSU5U X1NUQVJUOgotCQkJZXZlbnRfbmFtZSA9ICJDaGVja3BvaW50U3RhcnQiOwotCQkJYnJlYWs7 Ci0JCWNhc2UgV0FJVF9FVkVOVF9FWEVDVVRFX0dBVEhFUjoKLQkJCWV2ZW50X25hbWUgPSAi RXhlY3V0ZUdhdGhlciI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0hBU0hfQkFU Q0hfQUxMT0NBVEU6Ci0JCQlldmVudF9uYW1lID0gIkhhc2hCYXRjaEFsbG9jYXRlIjsKLQkJ CWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfSEFTSF9CQVRDSF9FTEVDVDoKLQkJCWV2ZW50 X25hbWUgPSAiSGFzaEJhdGNoRWxlY3QiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVO VF9IQVNIX0JBVENIX0xPQUQ6Ci0JCQlldmVudF9uYW1lID0gIkhhc2hCYXRjaExvYWQiOwot CQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9IQVNIX0JVSUxEX0FMTE9DQVRFOgotCQkJ ZXZlbnRfbmFtZSA9ICJIYXNoQnVpbGRBbGxvY2F0ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBX QUlUX0VWRU5UX0hBU0hfQlVJTERfRUxFQ1Q6Ci0JCQlldmVudF9uYW1lID0gIkhhc2hCdWls ZEVsZWN0IjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfSEFTSF9CVUlMRF9IQVNI X0lOTkVSOgotCQkJZXZlbnRfbmFtZSA9ICJIYXNoQnVpbGRIYXNoSW5uZXIiOwotCQkJYnJl YWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9IQVNIX0JVSUxEX0hBU0hfT1VURVI6Ci0JCQlldmVu dF9uYW1lID0gIkhhc2hCdWlsZEhhc2hPdXRlciI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlU X0VWRU5UX0hBU0hfR1JPV19CQVRDSEVTX0RFQ0lERToKLQkJCWV2ZW50X25hbWUgPSAiSGFz aEdyb3dCYXRjaGVzRGVjaWRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfSEFT SF9HUk9XX0JBVENIRVNfRUxFQ1Q6Ci0JCQlldmVudF9uYW1lID0gIkhhc2hHcm93QmF0Y2hl c0VsZWN0IjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfSEFTSF9HUk9XX0JBVENI RVNfRklOSVNIOgotCQkJZXZlbnRfbmFtZSA9ICJIYXNoR3Jvd0JhdGNoZXNGaW5pc2giOwot CQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9IQVNIX0dST1dfQkFUQ0hFU19SRUFMTE9D QVRFOgotCQkJZXZlbnRfbmFtZSA9ICJIYXNoR3Jvd0JhdGNoZXNSZWFsbG9jYXRlIjsKLQkJ CWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfSEFTSF9HUk9XX0JBVENIRVNfUkVQQVJUSVRJ T046Ci0JCQlldmVudF9uYW1lID0gIkhhc2hHcm93QmF0Y2hlc1JlcGFydGl0aW9uIjsKLQkJ CWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfSEFTSF9HUk9XX0JVQ0tFVFNfRUxFQ1Q6Ci0J CQlldmVudF9uYW1lID0gIkhhc2hHcm93QnVja2V0c0VsZWN0IjsKLQkJCWJyZWFrOwotCQlj YXNlIFdBSVRfRVZFTlRfSEFTSF9HUk9XX0JVQ0tFVFNfUkVBTExPQ0FURToKLQkJCWV2ZW50 X25hbWUgPSAiSGFzaEdyb3dCdWNrZXRzUmVhbGxvY2F0ZSI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX0hBU0hfR1JPV19CVUNLRVRTX1JFSU5TRVJUOgotCQkJZXZlbnRfbmFt ZSA9ICJIYXNoR3Jvd0J1Y2tldHNSZWluc2VydCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlU X0VWRU5UX0xPR0lDQUxfQVBQTFlfU0VORF9EQVRBOgotCQkJZXZlbnRfbmFtZSA9ICJMb2dp Y2FsQXBwbHlTZW5kRGF0YSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0xPR0lD QUxfUEFSQUxMRUxfQVBQTFlfU1RBVEVfQ0hBTkdFOgotCQkJZXZlbnRfbmFtZSA9ICJMb2dp Y2FsUGFyYWxsZWxBcHBseVN0YXRlQ2hhbmdlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRf RVZFTlRfTE9HSUNBTF9TWU5DX0RBVEE6Ci0JCQlldmVudF9uYW1lID0gIkxvZ2ljYWxTeW5j RGF0YSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0xPR0lDQUxfU1lOQ19TVEFU RV9DSEFOR0U6Ci0JCQlldmVudF9uYW1lID0gIkxvZ2ljYWxTeW5jU3RhdGVDaGFuZ2UiOwot CQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9NUV9JTlRFUk5BTDoKLQkJCWV2ZW50X25h bWUgPSAiTWVzc2FnZVF1ZXVlSW50ZXJuYWwiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9F VkVOVF9NUV9QVVRfTUVTU0FHRToKLQkJCWV2ZW50X25hbWUgPSAiTWVzc2FnZVF1ZXVlUHV0 TWVzc2FnZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX01RX1JFQ0VJVkU6Ci0J CQlldmVudF9uYW1lID0gIk1lc3NhZ2VRdWV1ZVJlY2VpdmUiOwotCQkJYnJlYWs7Ci0JCWNh c2UgV0FJVF9FVkVOVF9NUV9TRU5EOgotCQkJZXZlbnRfbmFtZSA9ICJNZXNzYWdlUXVldWVT ZW5kIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfUEFSQUxMRUxfQklUTUFQX1ND QU46Ci0JCQlldmVudF9uYW1lID0gIlBhcmFsbGVsQml0bWFwU2NhbiI7Ci0JCQlicmVhazsK LQkJY2FzZSBXQUlUX0VWRU5UX1BBUkFMTEVMX0NSRUFURV9JTkRFWF9TQ0FOOgotCQkJZXZl bnRfbmFtZSA9ICJQYXJhbGxlbENyZWF0ZUluZGV4U2NhbiI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX1BBUkFMTEVMX0ZJTklTSDoKLQkJCWV2ZW50X25hbWUgPSAiUGFyYWxs ZWxGaW5pc2giOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9QUk9DQVJSQVlfR1JP VVBfVVBEQVRFOgotCQkJZXZlbnRfbmFtZSA9ICJQcm9jQXJyYXlHcm91cFVwZGF0ZSI7Ci0J CQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1BST0NfU0lHTkFMX0JBUlJJRVI6Ci0JCQll dmVudF9uYW1lID0gIlByb2NTaWduYWxCYXJyaWVyIjsKLQkJCWJyZWFrOwotCQljYXNlIFdB SVRfRVZFTlRfUFJPTU9URToKLQkJCWV2ZW50X25hbWUgPSAiUHJvbW90ZSI7Ci0JCQlicmVh azsKLQkJY2FzZSBXQUlUX0VWRU5UX1JFQ09WRVJZX0NPTkZMSUNUX1NOQVBTSE9UOgotCQkJ ZXZlbnRfbmFtZSA9ICJSZWNvdmVyeUNvbmZsaWN0U25hcHNob3QiOwotCQkJYnJlYWs7Ci0J CWNhc2UgV0FJVF9FVkVOVF9SRUNPVkVSWV9DT05GTElDVF9UQUJMRVNQQUNFOgotCQkJZXZl bnRfbmFtZSA9ICJSZWNvdmVyeUNvbmZsaWN0VGFibGVzcGFjZSI7Ci0JCQlicmVhazsKLQkJ Y2FzZSBXQUlUX0VWRU5UX1JFQ09WRVJZX0VORF9DT01NQU5EOgotCQkJZXZlbnRfbmFtZSA9 ICJSZWNvdmVyeUVuZENvbW1hbmQiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9S RUNPVkVSWV9QQVVTRToKLQkJCWV2ZW50X25hbWUgPSAiUmVjb3ZlcnlQYXVzZSI7Ci0JCQli cmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1JFUExJQ0FUSU9OX09SSUdJTl9EUk9QOgotCQkJ ZXZlbnRfbmFtZSA9ICJSZXBsaWNhdGlvbk9yaWdpbkRyb3AiOwotCQkJYnJlYWs7Ci0JCWNh c2UgV0FJVF9FVkVOVF9SRVBMSUNBVElPTl9TTE9UX0RST1A6Ci0JCQlldmVudF9uYW1lID0g IlJlcGxpY2F0aW9uU2xvdERyb3AiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9S RVNUT1JFX0NPTU1BTkQ6Ci0JCQlldmVudF9uYW1lID0gIlJlc3RvcmVDb21tYW5kIjsKLQkJ CWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfU0FGRV9TTkFQU0hPVDoKLQkJCWV2ZW50X25h bWUgPSAiU2FmZVNuYXBzaG90IjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfU1lO Q19SRVA6Ci0JCQlldmVudF9uYW1lID0gIlN5bmNSZXAiOwotCQkJYnJlYWs7Ci0JCWNhc2Ug V0FJVF9FVkVOVF9XQUxfUkVDRUlWRVJfRVhJVDoKLQkJCWV2ZW50X25hbWUgPSAiV2FsUmVj ZWl2ZXJFeGl0IjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfV0FMX1JFQ0VJVkVS X1dBSVRfU1RBUlQ6Ci0JCQlldmVudF9uYW1lID0gIldhbFJlY2VpdmVyV2FpdFN0YXJ0IjsK LQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfWEFDVF9HUk9VUF9VUERBVEU6Ci0JCQll dmVudF9uYW1lID0gIlhhY3RHcm91cFVwZGF0ZSI7Ci0JCQlicmVhazsKLQkJCS8qIG5vIGRl ZmF1bHQgY2FzZSwgc28gdGhhdCBjb21waWxlciB3aWxsIHdhcm4gKi8KLQl9Ci0KLQlyZXR1 cm4gZXZlbnRfbmFtZTsKLX0KLQotLyogLS0tLS0tLS0tLQotICogcGdzdGF0X2dldF93YWl0 X3RpbWVvdXQoKSAtCi0gKgotICogQ29udmVydCBXYWl0RXZlbnRUaW1lb3V0IHRvIHN0cmlu Zy4KLSAqIC0tLS0tLS0tLS0KLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotcGdzdGF0X2dl dF93YWl0X3RpbWVvdXQoV2FpdEV2ZW50VGltZW91dCB3KQotewotCWNvbnN0IGNoYXIgKmV2 ZW50X25hbWUgPSAidW5rbm93biB3YWl0IGV2ZW50IjsKLQotCXN3aXRjaCAodykKLQl7Ci0J CWNhc2UgV0FJVF9FVkVOVF9CQVNFX0JBQ0tVUF9USFJPVFRMRToKLQkJCWV2ZW50X25hbWUg PSAiQmFzZUJhY2t1cFRocm90dGxlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRf Q0hFQ0tQT0lOVF9XUklURV9ERUxBWToKLQkJCWV2ZW50X25hbWUgPSAiQ2hlY2twb2ludFdy aXRlRGVsYXkiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9QR19TTEVFUDoKLQkJ CWV2ZW50X25hbWUgPSAiUGdTbGVlcCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5U X1JFQ09WRVJZX0FQUExZX0RFTEFZOgotCQkJZXZlbnRfbmFtZSA9ICJSZWNvdmVyeUFwcGx5 RGVsYXkiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9SRUNPVkVSWV9SRVRSSUVW RV9SRVRSWV9JTlRFUlZBTDoKLQkJCWV2ZW50X25hbWUgPSAiUmVjb3ZlcnlSZXRyaWV2ZVJl dHJ5SW50ZXJ2YWwiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9SRUdJU1RFUl9T WU5DX1JFUVVFU1Q6Ci0JCQlldmVudF9uYW1lID0gIlJlZ2lzdGVyU3luY1JlcXVlc3QiOwot CQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9TUElOX0RFTEFZOgotCQkJZXZlbnRfbmFt ZSA9ICJTcGluRGVsYXkiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9WQUNVVU1f REVMQVk6Ci0JCQlldmVudF9uYW1lID0gIlZhY3V1bURlbGF5IjsKLQkJCWJyZWFrOwotCQlj YXNlIFdBSVRfRVZFTlRfVkFDVVVNX1RSVU5DQVRFOgotCQkJZXZlbnRfbmFtZSA9ICJWYWN1 dW1UcnVuY2F0ZSI7Ci0JCQlicmVhazsKLQkJCS8qIG5vIGRlZmF1bHQgY2FzZSwgc28gdGhh dCBjb21waWxlciB3aWxsIHdhcm4gKi8KLQl9Ci0KLQlyZXR1cm4gZXZlbnRfbmFtZTsKLX0K LQotLyogLS0tLS0tLS0tLQotICogcGdzdGF0X2dldF93YWl0X2lvKCkgLQotICoKLSAqIENv bnZlcnQgV2FpdEV2ZW50SU8gdG8gc3RyaW5nLgotICogLS0tLS0tLS0tLQotICovCi1zdGF0 aWMgY29uc3QgY2hhciAqCi1wZ3N0YXRfZ2V0X3dhaXRfaW8oV2FpdEV2ZW50SU8gdykKLXsK LQljb25zdCBjaGFyICpldmVudF9uYW1lID0gInVua25vd24gd2FpdCBldmVudCI7Ci0KLQlz d2l0Y2ggKHcpCi0JewotCQljYXNlIFdBSVRfRVZFTlRfQkFTRUJBQ0tVUF9SRUFEOgotCQkJ ZXZlbnRfbmFtZSA9ICJCYXNlQmFja3VwUmVhZCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlU X0VWRU5UX0JBU0VCQUNLVVBfU1lOQzoKLQkJCWV2ZW50X25hbWUgPSAiQmFzZUJhY2t1cFN5 bmMiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9CQVNFQkFDS1VQX1dSSVRFOgot CQkJZXZlbnRfbmFtZSA9ICJCYXNlQmFja3VwV3JpdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2Ug V0FJVF9FVkVOVF9CVUZGSUxFX1JFQUQ6Ci0JCQlldmVudF9uYW1lID0gIkJ1ZkZpbGVSZWFk IjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfQlVGRklMRV9XUklURToKLQkJCWV2 ZW50X25hbWUgPSAiQnVmRmlsZVdyaXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZF TlRfQlVGRklMRV9UUlVOQ0FURToKLQkJCWV2ZW50X25hbWUgPSAiQnVmRmlsZVRydW5jYXRl IjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfQ09OVFJPTF9GSUxFX1JFQUQ6Ci0J CQlldmVudF9uYW1lID0gIkNvbnRyb2xGaWxlUmVhZCI7Ci0JCQlicmVhazsKLQkJY2FzZSBX QUlUX0VWRU5UX0NPTlRST0xfRklMRV9TWU5DOgotCQkJZXZlbnRfbmFtZSA9ICJDb250cm9s RmlsZVN5bmMiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9DT05UUk9MX0ZJTEVf U1lOQ19VUERBVEU6Ci0JCQlldmVudF9uYW1lID0gIkNvbnRyb2xGaWxlU3luY1VwZGF0ZSI7 Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0NPTlRST0xfRklMRV9XUklURToKLQkJ CWV2ZW50X25hbWUgPSAiQ29udHJvbEZpbGVXcml0ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBX QUlUX0VWRU5UX0NPTlRST0xfRklMRV9XUklURV9VUERBVEU6Ci0JCQlldmVudF9uYW1lID0g IkNvbnRyb2xGaWxlV3JpdGVVcGRhdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVO VF9DT1BZX0ZJTEVfUkVBRDoKLQkJCWV2ZW50X25hbWUgPSAiQ29weUZpbGVSZWFkIjsKLQkJ CWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfQ09QWV9GSUxFX1dSSVRFOgotCQkJZXZlbnRf bmFtZSA9ICJDb3B5RmlsZVdyaXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRf REFUQV9GSUxFX0VYVEVORDoKLQkJCWV2ZW50X25hbWUgPSAiRGF0YUZpbGVFeHRlbmQiOwot CQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9EQVRBX0ZJTEVfRkxVU0g6Ci0JCQlldmVu dF9uYW1lID0gIkRhdGFGaWxlRmx1c2giOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVO VF9EQVRBX0ZJTEVfSU1NRURJQVRFX1NZTkM6Ci0JCQlldmVudF9uYW1lID0gIkRhdGFGaWxl SW1tZWRpYXRlU3luYyI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0RBVEFfRklM RV9QUkVGRVRDSDoKLQkJCWV2ZW50X25hbWUgPSAiRGF0YUZpbGVQcmVmZXRjaCI7Ci0JCQli cmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0RBVEFfRklMRV9SRUFEOgotCQkJZXZlbnRfbmFt ZSA9ICJEYXRhRmlsZVJlYWQiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9EQVRB X0ZJTEVfU1lOQzoKLQkJCWV2ZW50X25hbWUgPSAiRGF0YUZpbGVTeW5jIjsKLQkJCWJyZWFr OwotCQljYXNlIFdBSVRfRVZFTlRfREFUQV9GSUxFX1RSVU5DQVRFOgotCQkJZXZlbnRfbmFt ZSA9ICJEYXRhRmlsZVRydW5jYXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRf REFUQV9GSUxFX1dSSVRFOgotCQkJZXZlbnRfbmFtZSA9ICJEYXRhRmlsZVdyaXRlIjsKLQkJ CWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfRFNNX0FMTE9DQVRFOgotCQkJZXZlbnRfbmFt ZSA9ICJEU01BbGxvY2F0ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0RTTV9G SUxMX1pFUk9fV1JJVEU6Ci0JCQlldmVudF9uYW1lID0gIkRTTUZpbGxaZXJvV3JpdGUiOwot CQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9MT0NLX0ZJTEVfQUREVE9EQVRBRElSX1JF QUQ6Ci0JCQlldmVudF9uYW1lID0gIkxvY2tGaWxlQWRkVG9EYXRhRGlyUmVhZCI7Ci0JCQli cmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0xPQ0tfRklMRV9BRERUT0RBVEFESVJfU1lOQzoK LQkJCWV2ZW50X25hbWUgPSAiTG9ja0ZpbGVBZGRUb0RhdGFEaXJTeW5jIjsKLQkJCWJyZWFr OwotCQljYXNlIFdBSVRfRVZFTlRfTE9DS19GSUxFX0FERFRPREFUQURJUl9XUklURToKLQkJ CWV2ZW50X25hbWUgPSAiTG9ja0ZpbGVBZGRUb0RhdGFEaXJXcml0ZSI7Ci0JCQlicmVhazsK LQkJY2FzZSBXQUlUX0VWRU5UX0xPQ0tfRklMRV9DUkVBVEVfUkVBRDoKLQkJCWV2ZW50X25h bWUgPSAiTG9ja0ZpbGVDcmVhdGVSZWFkIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZF TlRfTE9DS19GSUxFX0NSRUFURV9TWU5DOgotCQkJZXZlbnRfbmFtZSA9ICJMb2NrRmlsZUNy ZWF0ZVN5bmMiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9MT0NLX0ZJTEVfQ1JF QVRFX1dSSVRFOgotCQkJZXZlbnRfbmFtZSA9ICJMb2NrRmlsZUNyZWF0ZVdyaXRlIjsKLQkJ CWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfTE9DS19GSUxFX1JFQ0hFQ0tEQVRBRElSX1JF QUQ6Ci0JCQlldmVudF9uYW1lID0gIkxvY2tGaWxlUmVDaGVja0RhdGFEaXJSZWFkIjsKLQkJ CWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfTE9HSUNBTF9SRVdSSVRFX0NIRUNLUE9JTlRf U1lOQzoKLQkJCWV2ZW50X25hbWUgPSAiTG9naWNhbFJld3JpdGVDaGVja3BvaW50U3luYyI7 Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0xPR0lDQUxfUkVXUklURV9NQVBQSU5H X1NZTkM6Ci0JCQlldmVudF9uYW1lID0gIkxvZ2ljYWxSZXdyaXRlTWFwcGluZ1N5bmMiOwot CQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9MT0dJQ0FMX1JFV1JJVEVfTUFQUElOR19X UklURToKLQkJCWV2ZW50X25hbWUgPSAiTG9naWNhbFJld3JpdGVNYXBwaW5nV3JpdGUiOwot CQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9MT0dJQ0FMX1JFV1JJVEVfU1lOQzoKLQkJ CWV2ZW50X25hbWUgPSAiTG9naWNhbFJld3JpdGVTeW5jIjsKLQkJCWJyZWFrOwotCQljYXNl IFdBSVRfRVZFTlRfTE9HSUNBTF9SRVdSSVRFX1RSVU5DQVRFOgotCQkJZXZlbnRfbmFtZSA9 ICJMb2dpY2FsUmV3cml0ZVRydW5jYXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZF TlRfTE9HSUNBTF9SRVdSSVRFX1dSSVRFOgotCQkJZXZlbnRfbmFtZSA9ICJMb2dpY2FsUmV3 cml0ZVdyaXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfUkVMQVRJT05fTUFQ X1JFQUQ6Ci0JCQlldmVudF9uYW1lID0gIlJlbGF0aW9uTWFwUmVhZCI7Ci0JCQlicmVhazsK LQkJY2FzZSBXQUlUX0VWRU5UX1JFTEFUSU9OX01BUF9SRVBMQUNFOgotCQkJZXZlbnRfbmFt ZSA9ICJSZWxhdGlvbk1hcFJlcGxhY2UiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVO VF9SRUxBVElPTl9NQVBfV1JJVEU6Ci0JCQlldmVudF9uYW1lID0gIlJlbGF0aW9uTWFwV3Jp dGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9SRU9SREVSX0JVRkZFUl9SRUFE OgotCQkJZXZlbnRfbmFtZSA9ICJSZW9yZGVyQnVmZmVyUmVhZCI7Ci0JCQlicmVhazsKLQkJ Y2FzZSBXQUlUX0VWRU5UX1JFT1JERVJfQlVGRkVSX1dSSVRFOgotCQkJZXZlbnRfbmFtZSA9 ICJSZW9yZGVyQnVmZmVyV3JpdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9S RU9SREVSX0xPR0lDQUxfTUFQUElOR19SRUFEOgotCQkJZXZlbnRfbmFtZSA9ICJSZW9yZGVy TG9naWNhbE1hcHBpbmdSZWFkIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfUkVQ TElDQVRJT05fU0xPVF9SRUFEOgotCQkJZXZlbnRfbmFtZSA9ICJSZXBsaWNhdGlvblNsb3RS ZWFkIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfUkVQTElDQVRJT05fU0xPVF9S RVNUT1JFX1NZTkM6Ci0JCQlldmVudF9uYW1lID0gIlJlcGxpY2F0aW9uU2xvdFJlc3RvcmVT eW5jIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfUkVQTElDQVRJT05fU0xPVF9T WU5DOgotCQkJZXZlbnRfbmFtZSA9ICJSZXBsaWNhdGlvblNsb3RTeW5jIjsKLQkJCWJyZWFr OwotCQljYXNlIFdBSVRfRVZFTlRfUkVQTElDQVRJT05fU0xPVF9XUklURToKLQkJCWV2ZW50 X25hbWUgPSAiUmVwbGljYXRpb25TbG90V3JpdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJ VF9FVkVOVF9TTFJVX0ZMVVNIX1NZTkM6Ci0JCQlldmVudF9uYW1lID0gIlNMUlVGbHVzaFN5 bmMiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9TTFJVX1JFQUQ6Ci0JCQlldmVu dF9uYW1lID0gIlNMUlVSZWFkIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfU0xS VV9TWU5DOgotCQkJZXZlbnRfbmFtZSA9ICJTTFJVU3luYyI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX1NMUlVfV1JJVEU6Ci0JCQlldmVudF9uYW1lID0gIlNMUlVXcml0ZSI7 Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1NOQVBCVUlMRF9SRUFEOgotCQkJZXZl bnRfbmFtZSA9ICJTbmFwYnVpbGRSZWFkIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZF TlRfU05BUEJVSUxEX1NZTkM6Ci0JCQlldmVudF9uYW1lID0gIlNuYXBidWlsZFN5bmMiOwot CQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9TTkFQQlVJTERfV1JJVEU6Ci0JCQlldmVu dF9uYW1lID0gIlNuYXBidWlsZFdyaXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZF TlRfVElNRUxJTkVfSElTVE9SWV9GSUxFX1NZTkM6Ci0JCQlldmVudF9uYW1lID0gIlRpbWVs aW5lSGlzdG9yeUZpbGVTeW5jIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfVElN RUxJTkVfSElTVE9SWV9GSUxFX1dSSVRFOgotCQkJZXZlbnRfbmFtZSA9ICJUaW1lbGluZUhp c3RvcnlGaWxlV3JpdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9USU1FTElO RV9ISVNUT1JZX1JFQUQ6Ci0JCQlldmVudF9uYW1lID0gIlRpbWVsaW5lSGlzdG9yeVJlYWQi OwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9USU1FTElORV9ISVNUT1JZX1NZTkM6 Ci0JCQlldmVudF9uYW1lID0gIlRpbWVsaW5lSGlzdG9yeVN5bmMiOwotCQkJYnJlYWs7Ci0J CWNhc2UgV0FJVF9FVkVOVF9USU1FTElORV9ISVNUT1JZX1dSSVRFOgotCQkJZXZlbnRfbmFt ZSA9ICJUaW1lbGluZUhpc3RvcnlXcml0ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VW RU5UX1RXT1BIQVNFX0ZJTEVfUkVBRDoKLQkJCWV2ZW50X25hbWUgPSAiVHdvcGhhc2VGaWxl UmVhZCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1RXT1BIQVNFX0ZJTEVfU1lO QzoKLQkJCWV2ZW50X25hbWUgPSAiVHdvcGhhc2VGaWxlU3luYyI7Ci0JCQlicmVhazsKLQkJ Y2FzZSBXQUlUX0VWRU5UX1RXT1BIQVNFX0ZJTEVfV1JJVEU6Ci0JCQlldmVudF9uYW1lID0g IlR3b3BoYXNlRmlsZVdyaXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfVkVS U0lPTl9GSUxFX1dSSVRFOgotCQkJZXZlbnRfbmFtZSA9ICJWZXJzaW9uRmlsZVdyaXRlIjsK LQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfV0FMU0VOREVSX1RJTUVMSU5FX0hJU1RP UllfUkVBRDoKLQkJCWV2ZW50X25hbWUgPSAiV0FMU2VuZGVyVGltZWxpbmVIaXN0b3J5UmVh ZCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1dBTF9CT09UU1RSQVBfU1lOQzoK LQkJCWV2ZW50X25hbWUgPSAiV0FMQm9vdHN0cmFwU3luYyI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX1dBTF9CT09UU1RSQVBfV1JJVEU6Ci0JCQlldmVudF9uYW1lID0gIldB TEJvb3RzdHJhcFdyaXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfV0FMX0NP UFlfUkVBRDoKLQkJCWV2ZW50X25hbWUgPSAiV0FMQ29weVJlYWQiOwotCQkJYnJlYWs7Ci0J CWNhc2UgV0FJVF9FVkVOVF9XQUxfQ09QWV9TWU5DOgotCQkJZXZlbnRfbmFtZSA9ICJXQUxD b3B5U3luYyI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1dBTF9DT1BZX1dSSVRF OgotCQkJZXZlbnRfbmFtZSA9ICJXQUxDb3B5V3JpdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2Ug V0FJVF9FVkVOVF9XQUxfSU5JVF9TWU5DOgotCQkJZXZlbnRfbmFtZSA9ICJXQUxJbml0U3lu YyI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1dBTF9JTklUX1dSSVRFOgotCQkJ ZXZlbnRfbmFtZSA9ICJXQUxJbml0V3JpdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9F VkVOVF9XQUxfUkVBRDoKLQkJCWV2ZW50X25hbWUgPSAiV0FMUmVhZCI7Ci0JCQlicmVhazsK LQkJY2FzZSBXQUlUX0VWRU5UX1dBTF9TWU5DOgotCQkJZXZlbnRfbmFtZSA9ICJXQUxTeW5j IjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfV0FMX1NZTkNfTUVUSE9EX0FTU0lH TjoKLQkJCWV2ZW50X25hbWUgPSAiV0FMU3luY01ldGhvZEFzc2lnbiI7Ci0JCQlicmVhazsK LQkJY2FzZSBXQUlUX0VWRU5UX1dBTF9XUklURToKLQkJCWV2ZW50X25hbWUgPSAiV0FMV3Jp dGUiOwotCQkJYnJlYWs7Ci0KLQkJCS8qIG5vIGRlZmF1bHQgY2FzZSwgc28gdGhhdCBjb21w aWxlciB3aWxsIHdhcm4gKi8KLQl9Ci0KLQlyZXR1cm4gZXZlbnRfbmFtZTsKLX0KKyNpbmNs dWRlICJ3YWl0ZXZlbnRuYW1lcy5jIgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvd2FpdGV2ZW50bmFtZXMudHh0IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvd2FpdGV2ZW50bmFtZXMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLjM2NTQ5MDUwODYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS93YWl0ZXZlbnRuYW1lcy50eHQKQEAgLTAsMCArMSwxNTcgQEAKK1dhaXRF dmVudEFjdGl2aXR5CVdBSVRfRVZFTlRfQVJDSElWRVJfTUFJTgkiQXJjaGl2ZXJNYWluIgki V2FpdGluZyBpbiBtYWluIGxvb3Agb2YgYXJjaGl2ZXIgcHJvY2Vzcy4iCitXYWl0RXZlbnRB Y3Rpdml0eQlXQUlUX0VWRU5UX0FVVE9WQUNVVU1fTUFJTgkiQXV0b1ZhY3V1bU1haW4iCSJX YWl0aW5nIGluIG1haW4gbG9vcCBvZiBhdXRvdmFjdXVtIGxhdW5jaGVyIHByb2Nlc3MuIgor V2FpdEV2ZW50QWN0aXZpdHkJV0FJVF9FVkVOVF9CR1dSSVRFUl9ISUJFUk5BVEUJIkJnV3Jp dGVySGliZXJuYXRlIgkiV2FpdGluZyBpbiBiYWNrZ3JvdW5kIHdyaXRlciBwcm9jZXNzLCBo aWJlcm5hdGluZy4iCitXYWl0RXZlbnRBY3Rpdml0eQlXQUlUX0VWRU5UX0JHV1JJVEVSX01B SU4JIkJnV3JpdGVyTWFpbiIJIldhaXRpbmcgaW4gbWFpbiBsb29wIG9mIGJhY2tncm91bmQg d3JpdGVyIHByb2Nlc3MuIgorV2FpdEV2ZW50QWN0aXZpdHkJV0FJVF9FVkVOVF9DSEVDS1BP SU5URVJfTUFJTgkiQ2hlY2twb2ludGVyTWFpbiIJIldhaXRpbmcgaW4gbWFpbiBsb29wIG9m IGNoZWNrcG9pbnRlciBwcm9jZXNzLiIKK1dhaXRFdmVudEFjdGl2aXR5CVdBSVRfRVZFTlRf TE9HSUNBTF9BUFBMWV9NQUlOCSJMb2dpY2FsQXBwbHlNYWluIgkiV2FpdGluZyBpbiBtYWlu IGxvb3Agb2YgbG9naWNhbCByZXBsaWNhdGlvbiBhcHBseSBwcm9jZXNzLiIKK1dhaXRFdmVu dEFjdGl2aXR5CVdBSVRfRVZFTlRfTE9HSUNBTF9MQVVOQ0hFUl9NQUlOCSJMb2dpY2FsTGF1 bmNoZXJNYWluIgkiV2FpdGluZyBpbiBtYWluIGxvb3Agb2YgbG9naWNhbCByZXBsaWNhdGlv biBsYXVuY2hlciBwcm9jZXNzLiIKK1dhaXRFdmVudEFjdGl2aXR5CVdBSVRfRVZFTlRfTE9H SUNBTF9QQVJBTExFTF9BUFBMWV9NQUlOCSJMb2dpY2FsUGFyYWxsZWxBcHBseU1haW4iCSJX YWl0aW5nIGluIG1haW4gbG9vcCBvZiBsb2dpY2FsIHJlcGxpY2F0aW9uIHBhcmFsbGVsIGFw cGx5IHByb2Nlc3MuIgorV2FpdEV2ZW50QWN0aXZpdHkJV0FJVF9FVkVOVF9SRUNPVkVSWV9X QUxfU1RSRUFNCSJSZWNvdmVyeVdhbFN0cmVhbSIJIldhaXRpbmcgaW4gbWFpbiBsb29wIG9m IHN0YXJ0dXAgcHJvY2VzcyBmb3IgV0FMIHRvIGFycml2ZSwgZHVyaW5nIHN0cmVhbWluZyBy ZWNvdmVyeS4iCitXYWl0RXZlbnRBY3Rpdml0eQlXQUlUX0VWRU5UX1NZU0xPR0dFUl9NQUlO CSJTeXNMb2dnZXJNYWluIgkiV2FpdGluZyBpbiBtYWluIGxvb3Agb2Ygc3lzbG9nZ2VyIHBy b2Nlc3MuIgorV2FpdEV2ZW50QWN0aXZpdHkJV0FJVF9FVkVOVF9XQUxfUkVDRUlWRVJfTUFJ TgkiV2FsUmVjZWl2ZXJNYWluIgkiV2FpdGluZyBpbiBtYWluIGxvb3Agb2YgV0FMIHJlY2Vp dmVyIHByb2Nlc3MuIgorV2FpdEV2ZW50QWN0aXZpdHkJV0FJVF9FVkVOVF9XQUxfU0VOREVS X01BSU4JIldhbFNlbmRlck1haW4iCSJXYWl0aW5nIGluIG1haW4gbG9vcCBvZiBXQUwgc2Vu ZGVyIHByb2Nlc3MuIgorV2FpdEV2ZW50QWN0aXZpdHkJV0FJVF9FVkVOVF9XQUxfV1JJVEVS X01BSU4JIldhbFdyaXRlck1haW4iCSJXYWl0aW5nIGluIG1haW4gbG9vcCBvZiBXQUwgd3Jp dGVyIHByb2Nlc3MuIgorV2FpdEV2ZW50Q2xpZW50CVdBSVRfRVZFTlRfQ0xJRU5UX1JFQUQJ IkNsaWVudFJlYWQiCSJXYWl0aW5nIHRvIHJlYWQgZGF0YSBmcm9tIHRoZSBjbGllbnQuIgor V2FpdEV2ZW50Q2xpZW50CVdBSVRfRVZFTlRfQ0xJRU5UX1dSSVRFCSJDbGllbnRXcml0ZSIJ IldhaXRpbmcgdG8gd3JpdGUgZGF0YSB0byB0aGUgY2xpZW50LiIKK1dhaXRFdmVudENsaWVu dAlXQUlUX0VWRU5UX0dTU19PUEVOX1NFUlZFUgkiR1NTT3BlblNlcnZlciIJIldhaXRpbmcg dG8gcmVhZCBkYXRhIGZyb20gdGhlIGNsaWVudCB3aGlsZSBlc3RhYmxpc2hpbmcgYSBHU1NB UEkgc2Vzc2lvbi4iCitXYWl0RXZlbnRDbGllbnQJV0FJVF9FVkVOVF9MSUJQUVdBTFJFQ0VJ VkVSX0NPTk5FQ1QJIkxpYlBRV2FsUmVjZWl2ZXJDb25uZWN0IgkiV2FpdGluZyBpbiBXQUwg cmVjZWl2ZXIgdG8gZXN0YWJsaXNoIGNvbm5lY3Rpb24gdG8gcmVtb3RlIHNlcnZlci4iCitX YWl0RXZlbnRDbGllbnQJV0FJVF9FVkVOVF9MSUJQUVdBTFJFQ0VJVkVSX1JFQ0VJVkUJIkxp YlBRV2FsUmVjZWl2ZXJSZWNlaXZlIgkiV2FpdGluZyBpbiBXQUwgcmVjZWl2ZXIgdG8gcmVj ZWl2ZSBkYXRhIGZyb20gcmVtb3RlIHNlcnZlci4iCitXYWl0RXZlbnRDbGllbnQJV0FJVF9F VkVOVF9TU0xfT1BFTl9TRVJWRVIJIlNTTE9wZW5TZXJ2ZXIiCSJXYWl0aW5nIGZvciBTU0wg d2hpbGUgYXR0ZW1wdGluZyBjb25uZWN0aW9uLiIKK1dhaXRFdmVudENsaWVudAlXQUlUX0VW RU5UX1dBTF9TRU5ERVJfV0FJVF9XQUwJIldhbFNlbmRlcldhaXRGb3JXQUwiCSJXYWl0aW5n IGZvciBXQUwgdG8gYmUgZmx1c2hlZCBpbiBXQUwgc2VuZGVyIHByb2Nlc3MuIgorV2FpdEV2 ZW50Q2xpZW50CVdBSVRfRVZFTlRfV0FMX1NFTkRFUl9XUklURV9EQVRBCSJXYWxTZW5kZXJX cml0ZURhdGEiCSJXYWl0aW5nIGZvciBhbnkgYWN0aXZpdHkgd2hlbiBwcm9jZXNzaW5nIHJl cGxpZXMgZnJvbSBXQUwgcmVjZWl2ZXIgaW4gV0FMIHNlbmRlciBwcm9jZXNzLiIKK1dhaXRF dmVudElQQwlXQUlUX0VWRU5UX0FQUEVORF9SRUFEWQkiQXBwZW5kUmVhZHkiCSJXYWl0aW5n IGZvciBzdWJwbGFuIG5vZGVzIG9mIGFuIDxsaXRlcmFsPkFwcGVuZDwvbGl0ZXJhbD4gcGxh biBub2RlIHRvIGJlIHJlYWR5LiIKK1dhaXRFdmVudElQQwlXQUlUX0VWRU5UX0FSQ0hJVkVf Q0xFQU5VUF9DT01NQU5ECSJBcmNoaXZlQ2xlYW51cENvbW1hbmQiCSJXYWl0aW5nIGZvciA8 eHJlZiBsaW5rZW5kPSJndWMtYXJjaGl2ZS1jbGVhbnVwLWNvbW1hbmQiLz4gdG8gY29tcGxl dGUuIgorV2FpdEV2ZW50SVBDCVdBSVRfRVZFTlRfQVJDSElWRV9DT01NQU5ECSJBcmNoaXZl Q29tbWFuZCIJIldhaXRpbmcgZm9yIDx4cmVmIGxpbmtlbmQ9Imd1Yy1hcmNoaXZlLWNvbW1h bmQiLz4gdG8gY29tcGxldGUuIgorV2FpdEV2ZW50SVBDCVdBSVRfRVZFTlRfQkFDS0VORF9U RVJNSU5BVElPTgkiQmFja2VuZFRlcm1pbmF0aW9uIgkiV2FpdGluZyBmb3IgdGhlIHRlcm1p bmF0aW9uIG9mIGFub3RoZXIgYmFja2VuZC4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9C QUNLVVBfV0FJVF9XQUxfQVJDSElWRQkiQmFja3VwV2FpdFdhbEFyY2hpdmUiCSJXYWl0aW5n IGZvciBXQUwgZmlsZXMgcmVxdWlyZWQgZm9yIGEgYmFja3VwIHRvIGJlIHN1Y2Nlc3NmdWxs eSBhcmNoaXZlZC4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9CR1dPUktFUl9TSFVURE9X TgkiQmdXb3JrZXJTaHV0ZG93biIJIldhaXRpbmcgZm9yIGJhY2tncm91bmQgd29ya2VyIHRv IHNodXQgZG93bi4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9CR1dPUktFUl9TVEFSVFVQ CSJCZ1dvcmtlclN0YXJ0dXAiCSJXYWl0aW5nIGZvciBiYWNrZ3JvdW5kIHdvcmtlciB0byBz dGFydCB1cC4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9CVFJFRV9QQUdFCSJCdHJlZVBh Z2UiCSJXYWl0aW5nIGZvciB0aGUgcGFnZSBudW1iZXIgbmVlZGVkIHRvIGNvbnRpbnVlIGEg cGFyYWxsZWwgQi10cmVlIHNjYW4gdG8gYmVjb21lIGF2YWlsYWJsZS4iCitXYWl0RXZlbnRJ UEMJV0FJVF9FVkVOVF9CVUZGRVJfSU8JIkJ1ZmZlcklPIgkiV2FpdGluZyBmb3IgYnVmZmVy IEkvTyB0byBjb21wbGV0ZS4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9DSEVDS1BPSU5U X0RPTkUJIkNoZWNrcG9pbnREb25lIgkiV2FpdGluZyBmb3IgYSBjaGVja3BvaW50IHRvIGNv bXBsZXRlLiIKK1dhaXRFdmVudElQQwlXQUlUX0VWRU5UX0NIRUNLUE9JTlRfU1RBUlQJIkNo ZWNrcG9pbnRTdGFydCIJIldhaXRpbmcgZm9yIGEgY2hlY2twb2ludCB0byBzdGFydC4iCitX YWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9FWEVDVVRFX0dBVEhFUgkiRXhlY3V0ZUdhdGhlciIJ IldhaXRpbmcgZm9yIGFjdGl2aXR5IGZyb20gYSBjaGlsZCBwcm9jZXNzIHdoaWxlIGV4ZWN1 dGluZyBhIDxsaXRlcmFsPkdhdGhlcjwvbGl0ZXJhbD4gcGxhbiBub2RlLiIKK1dhaXRFdmVu dElQQwlXQUlUX0VWRU5UX0hBU0hfQkFUQ0hfQUxMT0NBVEUJIkhhc2hCYXRjaEFsbG9jYXRl IgkiV2FpdGluZyBmb3IgYW4gZWxlY3RlZCBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50IHRv IGFsbG9jYXRlIGEgaGFzaCB0YWJsZS4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9IQVNI X0JBVENIX0VMRUNUCSJIYXNoQmF0Y2hFbGVjdCIJIldhaXRpbmcgdG8gZWxlY3QgYSBQYXJh bGxlbCBIYXNoIHBhcnRpY2lwYW50IHRvIGFsbG9jYXRlIGEgaGFzaCB0YWJsZS4iCitXYWl0 RXZlbnRJUEMJV0FJVF9FVkVOVF9IQVNIX0JBVENIX0xPQUQJIkhhc2hCYXRjaExvYWQiCSJX YWl0aW5nIGZvciBvdGhlciBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50cyB0byBmaW5pc2gg bG9hZGluZyBhIGhhc2ggdGFibGUuIgorV2FpdEV2ZW50SVBDCVdBSVRfRVZFTlRfSEFTSF9C VUlMRF9BTExPQ0FURQkiSGFzaEJ1aWxkQWxsb2NhdGUiCSJXYWl0aW5nIGZvciBhbiBlbGVj dGVkIFBhcmFsbGVsIEhhc2ggcGFydGljaXBhbnQgdG8gYWxsb2NhdGUgdGhlIGluaXRpYWwg aGFzaCB0YWJsZS4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9IQVNIX0JVSUxEX0VMRUNU CSJIYXNoQnVpbGRFbGVjdCIJIldhaXRpbmcgdG8gZWxlY3QgYSBQYXJhbGxlbCBIYXNoIHBh cnRpY2lwYW50IHRvIGFsbG9jYXRlIHRoZSBpbml0aWFsIGhhc2ggdGFibGUuIgorV2FpdEV2 ZW50SVBDCVdBSVRfRVZFTlRfSEFTSF9CVUlMRF9IQVNIX0lOTkVSCSJIYXNoQnVpbGRIYXNo SW5uZXIiCSJXYWl0aW5nIGZvciBvdGhlciBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50cyB0 byBmaW5pc2ggaGFzaGluZyB0aGUgaW5uZXIgcmVsYXRpb24uIgorV2FpdEV2ZW50SVBDCVdB SVRfRVZFTlRfSEFTSF9CVUlMRF9IQVNIX09VVEVSCSJIYXNoQnVpbGRIYXNoT3V0ZXIiCSJX YWl0aW5nIGZvciBvdGhlciBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50cyB0byBmaW5pc2gg cGFydGl0aW9uaW5nIHRoZSBvdXRlciByZWxhdGlvbi4iCitXYWl0RXZlbnRJUEMJV0FJVF9F VkVOVF9IQVNIX0dST1dfQkFUQ0hFU19ERUNJREUJIkhhc2hHcm93QmF0Y2hlc0RlY2lkZSIJ IldhaXRpbmcgdG8gZWxlY3QgYSBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50IHRvIGRlY2lk ZSBvbiBmdXR1cmUgYmF0Y2ggZ3Jvd3RoLiIKK1dhaXRFdmVudElQQwlXQUlUX0VWRU5UX0hB U0hfR1JPV19CQVRDSEVTX0VMRUNUCSJIYXNoR3Jvd0JhdGNoZXNFbGVjdCIJIldhaXRpbmcg dG8gZWxlY3QgYSBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50IHRvIGFsbG9jYXRlIG1vcmUg YmF0Y2hlcy4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9IQVNIX0dST1dfQkFUQ0hFU19G SU5JU0gJIkhhc2hHcm93QmF0Y2hlc0ZpbmlzaCIJIldhaXRpbmcgZm9yIGFuIGVsZWN0ZWQg UGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBkZWNpZGUgb24gZnV0dXJlIGJhdGNoIGdy b3d0aC4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9IQVNIX0dST1dfQkFUQ0hFU19SRUFM TE9DQVRFCSJIYXNoR3Jvd0JhdGNoZXNSZWFsbG9jYXRlIgkiV2FpdGluZyBmb3IgYW4gZWxl Y3RlZCBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50IHRvIGFsbG9jYXRlIG1vcmUgYmF0Y2hl cy4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9IQVNIX0dST1dfQkFUQ0hFU19SRVBBUlRJ VElPTgkiSGFzaEdyb3dCYXRjaGVzUmVwYXJ0aXRpb24iCSJXYWl0aW5nIGZvciBvdGhlciBQ YXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50cyB0byBmaW5pc2ggcmVwYXJ0aXRpb25pbmcuIgor V2FpdEV2ZW50SVBDCVdBSVRfRVZFTlRfSEFTSF9HUk9XX0JVQ0tFVFNfRUxFQ1QJIkhhc2hH cm93QnVja2V0c0VsZWN0IgkiV2FpdGluZyB0byBlbGVjdCBhIFBhcmFsbGVsIEhhc2ggcGFy dGljaXBhbnQgdG8gYWxsb2NhdGUgbW9yZSBidWNrZXRzLiIKK1dhaXRFdmVudElQQwlXQUlU X0VWRU5UX0hBU0hfR1JPV19CVUNLRVRTX1JFQUxMT0NBVEUJIkhhc2hHcm93QnVja2V0c1Jl YWxsb2NhdGUiCSJXYWl0aW5nIGZvciBhbiBlbGVjdGVkIFBhcmFsbGVsIEhhc2ggcGFydGlj aXBhbnQgdG8gZmluaXNoIGFsbG9jYXRpbmcgbW9yZSBidWNrZXRzLiIKK1dhaXRFdmVudElQ QwlXQUlUX0VWRU5UX0hBU0hfR1JPV19CVUNLRVRTX1JFSU5TRVJUCSJIYXNoR3Jvd0J1Y2tl dHNSZWluc2VydCIJIldhaXRpbmcgZm9yIG90aGVyIFBhcmFsbGVsIEhhc2ggcGFydGljaXBh bnRzIHRvIGZpbmlzaCBpbnNlcnRpbmcgdHVwbGVzIGludG8gbmV3IGJ1Y2tldHMuIgorV2Fp dEV2ZW50SVBDCVdBSVRfRVZFTlRfTE9HSUNBTF9BUFBMWV9TRU5EX0RBVEEJIkxvZ2ljYWxB cHBseVNlbmREYXRhIgkiV2FpdGluZyBmb3IgYSBsb2dpY2FsIHJlcGxpY2F0aW9uIGxlYWRl ciBhcHBseSBwcm9jZXNzIHRvIHNlbmQgZGF0YSB0byBhIHBhcmFsbGVsIGFwcGx5IHByb2Nl c3MuIgorV2FpdEV2ZW50SVBDCVdBSVRfRVZFTlRfTE9HSUNBTF9QQVJBTExFTF9BUFBMWV9T VEFURV9DSEFOR0UJIkxvZ2ljYWxQYXJhbGxlbEFwcGx5U3RhdGVDaGFuZ2UiCSJXYWl0aW5n IGZvciBhIGxvZ2ljYWwgcmVwbGljYXRpb24gcGFyYWxsZWwgYXBwbHkgcHJvY2VzcyB0byBj aGFuZ2Ugc3RhdGUuIgorV2FpdEV2ZW50SVBDCVdBSVRfRVZFTlRfTE9HSUNBTF9TWU5DX0RB VEEJIkxvZ2ljYWxTeW5jRGF0YSIJIldhaXRpbmcgZm9yIGEgbG9naWNhbCByZXBsaWNhdGlv biByZW1vdGUgc2VydmVyIHRvIHNlbmQgZGF0YSBmb3IgaW5pdGlhbCB0YWJsZSBzeW5jaHJv bml6YXRpb24uIgorV2FpdEV2ZW50SVBDCVdBSVRfRVZFTlRfTE9HSUNBTF9TWU5DX1NUQVRF X0NIQU5HRQkiTG9naWNhbFN5bmNTdGF0ZUNoYW5nZSIJIldhaXRpbmcgZm9yIGEgbG9naWNh bCByZXBsaWNhdGlvbiByZW1vdGUgc2VydmVyIHRvIGNoYW5nZSBzdGF0ZS4iCitXYWl0RXZl bnRJUEMJV0FJVF9FVkVOVF9NUV9JTlRFUk5BTAkiTWVzc2FnZVF1ZXVlSW50ZXJuYWwiCSJX YWl0aW5nIGZvciBhbm90aGVyIHByb2Nlc3MgdG8gYmUgYXR0YWNoZWQgdG8gYSBzaGFyZWQg bWVzc2FnZSBxdWV1ZS4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9NUV9QVVRfTUVTU0FH RQkiTWVzc2FnZVF1ZXVlUHV0TWVzc2FnZSIJIldhaXRpbmcgdG8gd3JpdGUgYSBwcm90b2Nv bCBtZXNzYWdlIHRvIGEgc2hhcmVkIG1lc3NhZ2UgcXVldWUuIgorV2FpdEV2ZW50SVBDCVdB SVRfRVZFTlRfTVFfUkVDRUlWRQkiTWVzc2FnZVF1ZXVlUmVjZWl2ZSIJIldhaXRpbmcgdG8g cmVjZWl2ZSBieXRlcyBmcm9tIGEgc2hhcmVkIG1lc3NhZ2UgcXVldWUuIgorV2FpdEV2ZW50 SVBDCVdBSVRfRVZFTlRfTVFfU0VORAkiTWVzc2FnZVF1ZXVlU2VuZCIJIldhaXRpbmcgdG8g c2VuZCBieXRlcyB0byBhIHNoYXJlZCBtZXNzYWdlIHF1ZXVlLiIKK1dhaXRFdmVudElQQwlX QUlUX0VWRU5UX1BBUkFMTEVMX0JJVE1BUF9TQ0FOCSJQYXJhbGxlbEJpdG1hcFNjYW4iCSJX YWl0aW5nIGZvciBwYXJhbGxlbCBiaXRtYXAgc2NhbiB0byBiZWNvbWUgaW5pdGlhbGl6ZWQu IgorV2FpdEV2ZW50SVBDCVdBSVRfRVZFTlRfUEFSQUxMRUxfQ1JFQVRFX0lOREVYX1NDQU4J IlBhcmFsbGVsQ3JlYXRlSW5kZXhTY2FuIgkiV2FpdGluZyBmb3IgcGFyYWxsZWwgPGNvbW1h bmQ+Q1JFQVRFIElOREVYPC9jb21tYW5kPiB3b3JrZXJzIHRvIGZpbmlzaCBoZWFwIHNjYW4u IgorV2FpdEV2ZW50SVBDCVdBSVRfRVZFTlRfUEFSQUxMRUxfRklOSVNICSJQYXJhbGxlbEZp bmlzaCIJIldhaXRpbmcgZm9yIHBhcmFsbGVsIHdvcmtlcnMgdG8gZmluaXNoIGNvbXB1dGlu Zy4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9QUk9DQVJSQVlfR1JPVVBfVVBEQVRFCSJQ cm9jQXJyYXlHcm91cFVwZGF0ZSIJIldhaXRpbmcgZm9yIHRoZSBncm91cCBsZWFkZXIgdG8g Y2xlYXIgdGhlIHRyYW5zYWN0aW9uIElEIGF0IGVuZCBvZiBhIHBhcmFsbGVsIG9wZXJhdGlv bi4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9QUk9DX1NJR05BTF9CQVJSSUVSCSJQcm9j U2lnbmFsQmFycmllciIJIldhaXRpbmcgZm9yIGEgYmFycmllciBldmVudCB0byBiZSBwcm9j ZXNzZWQgYnkgYWxsIGJhY2tlbmRzLiIKK1dhaXRFdmVudElQQwlXQUlUX0VWRU5UX1BST01P VEUJIlByb21vdGUiCSJXYWl0aW5nIGZvciBzdGFuZGJ5IHByb21vdGlvbi4iCitXYWl0RXZl bnRJUEMJV0FJVF9FVkVOVF9SRUNPVkVSWV9DT05GTElDVF9TTkFQU0hPVAkiUmVjb3ZlcnlD b25mbGljdFNuYXBzaG90IgkiV2FpdGluZyBmb3IgcmVjb3ZlcnkgY29uZmxpY3QgcmVzb2x1 dGlvbiBmb3IgYSB2YWN1dW0gY2xlYW51cC4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9S RUNPVkVSWV9DT05GTElDVF9UQUJMRVNQQUNFCSJSZWNvdmVyeUNvbmZsaWN0VGFibGVzcGFj ZSIJIldhaXRpbmcgZm9yIHJlY292ZXJ5IGNvbmZsaWN0IHJlc29sdXRpb24gZm9yIGRyb3Bw aW5nIGEgdGFibGVzcGFjZS4iCitXYWl0RXZlbnRJUEMJV0FJVF9FVkVOVF9SRUNPVkVSWV9F TkRfQ09NTUFORAkiUmVjb3ZlcnlFbmRDb21tYW5kIgkiV2FpdGluZyBmb3IgPHhyZWYgbGlu a2VuZD0iZ3VjLXJlY292ZXJ5LWVuZC1jb21tYW5kIi8+IHRvIGNvbXBsZXRlLiIKK1dhaXRF dmVudElQQwlXQUlUX0VWRU5UX1JFQ09WRVJZX1BBVVNFCSJSZWNvdmVyeVBhdXNlIgkiV2Fp dGluZyBmb3IgcmVjb3ZlcnkgdG8gYmUgcmVzdW1lZC4iCitXYWl0RXZlbnRJUEMJV0FJVF9F VkVOVF9SRVBMSUNBVElPTl9PUklHSU5fRFJPUAkiUmVwbGljYXRpb25PcmlnaW5Ecm9wIgki V2FpdGluZyBmb3IgYSByZXBsaWNhdGlvbiBvcmlnaW4gdG8gYmVjb21lIGluYWN0aXZlIHNv IGl0IGNhbiBiZSBkcm9wcGVkLiIKK1dhaXRFdmVudElQQwlXQUlUX0VWRU5UX1JFUExJQ0FU SU9OX1NMT1RfRFJPUAkiUmVwbGljYXRpb25TbG90RHJvcCIJIldhaXRpbmcgZm9yIGEgcmVw bGljYXRpb24gc2xvdCB0byBiZWNvbWUgaW5hY3RpdmUgc28gaXQgY2FuIGJlIGRyb3BwZWQu IgorV2FpdEV2ZW50SVBDCVdBSVRfRVZFTlRfUkVTVE9SRV9DT01NQU5ECSJSZXN0b3JlQ29t bWFuZCIJIldhaXRpbmcgZm9yIDx4cmVmIGxpbmtlbmQ9Imd1Yy1yZXN0b3JlLWNvbW1hbmQi Lz4gdG8gY29tcGxldGUuIgorV2FpdEV2ZW50SVBDCVdBSVRfRVZFTlRfU0FGRV9TTkFQU0hP VAkiU2FmZVNuYXBzaG90IgkiV2FpdGluZyB0byBvYnRhaW4gYSB2YWxpZCBzbmFwc2hvdCBm b3IgYSA8bGl0ZXJhbD5SRUFEIE9OTFkgREVGRVJSQUJMRTwvbGl0ZXJhbD4gdHJhbnNhY3Rp b24uIgorV2FpdEV2ZW50SVBDCVdBSVRfRVZFTlRfU1lOQ19SRVAJIlN5bmNSZXAiCSJXYWl0 aW5nIGZvciBjb25maXJtYXRpb24gZnJvbSBhIHJlbW90ZSBzZXJ2ZXIgZHVyaW5nIHN5bmNo cm9ub3VzIHJlcGxpY2F0aW9uLiBXYWl0aW5nIHRvIHJlYWQgb3IgdXBkYXRlIGluZm9ybWF0 aW9uIGFib3V0IHRoZSBzdGF0ZSBvZiBzeW5jaHJvbm91cyByZXBsaWNhdGlvbi4iCitXYWl0 RXZlbnRJUEMJV0FJVF9FVkVOVF9XQUxfUkVDRUlWRVJfRVhJVAkiV2FsUmVjZWl2ZXJFeGl0 IgkiV2FpdGluZyBmb3IgdGhlIFdBTCByZWNlaXZlciB0byBleGl0LiIKK1dhaXRFdmVudElQ QwlXQUlUX0VWRU5UX1dBTF9SRUNFSVZFUl9XQUlUX1NUQVJUCSJXYWxSZWNlaXZlcldhaXRT dGFydCIJIldhaXRpbmcgZm9yIHN0YXJ0dXAgcHJvY2VzcyB0byBzZW5kIGluaXRpYWwgZGF0 YSBmb3Igc3RyZWFtaW5nIHJlcGxpY2F0aW9uLiIKK1dhaXRFdmVudElQQwlXQUlUX0VWRU5U X1hBQ1RfR1JPVVBfVVBEQVRFCSJYYWN0R3JvdXBVcGRhdGUiCSJXYWl0aW5nIGZvciB0aGUg Z3JvdXAgbGVhZGVyIHRvIHVwZGF0ZSB0cmFuc2FjdGlvbiBzdGF0dXMgYXQgZW5kIG9mIGEg cGFyYWxsZWwgb3BlcmF0aW9uLiIKK1dhaXRFdmVudFRpbWVvdXQJV0FJVF9FVkVOVF9CQVNF X0JBQ0tVUF9USFJPVFRMRQkiQmFzZUJhY2t1cFRocm90dGxlIgkiV2FpdGluZyBkdXJpbmcg YmFzZSBiYWNrdXAgd2hlbiB0aHJvdHRsaW5nIGFjdGl2aXR5LiIKK1dhaXRFdmVudFRpbWVv dXQJV0FJVF9FVkVOVF9DSEVDS1BPSU5UX1dSSVRFX0RFTEFZCSJDaGVja3BvaW50V3JpdGVE ZWxheSIJIldhaXRpbmcgYmV0d2VlbiB3cml0ZXMgd2hpbGUgcGVyZm9ybWluZyBhIGNoZWNr cG9pbnQuIgorV2FpdEV2ZW50VGltZW91dAlXQUlUX0VWRU5UX1BHX1NMRUVQCSJQZ1NsZWVw IgkiV2FpdGluZyBkdWUgdG8gYSBjYWxsIHRvIDxmdW5jdGlvbj5wZ19zbGVlcDwvZnVuY3Rp b24+IG9yIGEgc2libGluZyBmdW5jdGlvbi4iCitXYWl0RXZlbnRUaW1lb3V0CVdBSVRfRVZF TlRfUkVDT1ZFUllfQVBQTFlfREVMQVkJIlJlY292ZXJ5QXBwbHlEZWxheSIJIldhaXRpbmcg dG8gYXBwbHkgV0FMIGR1cmluZyByZWNvdmVyeSBiZWNhdXNlIG9mIGEgZGVsYXkgc2V0dGlu Zy4iCitXYWl0RXZlbnRUaW1lb3V0CVdBSVRfRVZFTlRfUkVDT1ZFUllfUkVUUklFVkVfUkVU UllfSU5URVJWQUwJIlJlY292ZXJ5UmV0cmlldmVSZXRyeUludGVydmFsIgkiV2FpdGluZyBk dXJpbmcgcmVjb3Zlcnkgd2hlbiBXQUwgZGF0YSBpcyBub3QgYXZhaWxhYmxlIGZyb20gYW55 IHNvdXJjZSAoPGZpbGVuYW1lPnBnX3dhbDwvZmlsZW5hbWU+LCBhcmNoaXZlIG9yIHN0cmVh bSkuIgorV2FpdEV2ZW50VGltZW91dAlXQUlUX0VWRU5UX1JFR0lTVEVSX1NZTkNfUkVRVUVT VAkiUmVnaXN0ZXJTeW5jUmVxdWVzdCIJIldhaXRpbmcgd2hpbGUgc2VuZGluZyBzeW5jaHJv bml6YXRpb24gcmVxdWVzdHMgdG8gdGhlIGNoZWNrcG9pbnRlciwgYmVjYXVzZSB0aGUgcmVx dWVzdCBxdWV1ZSBpcyBmdWxsLiIKK1dhaXRFdmVudFRpbWVvdXQJV0FJVF9FVkVOVF9TUElO X0RFTEFZCSJTcGluRGVsYXkiCSJXYWl0aW5nIHdoaWxlIGFjcXVpcmluZyBhIGNvbnRlbmRl ZCBzcGlubG9jay4iCitXYWl0RXZlbnRUaW1lb3V0CVdBSVRfRVZFTlRfVkFDVVVNX0RFTEFZ CSJWYWN1dW1EZWxheSIJIldhaXRpbmcgaW4gYSBjb3N0LWJhc2VkIHZhY3V1bSBkZWxheSBw b2ludC4iCitXYWl0RXZlbnRUaW1lb3V0CVdBSVRfRVZFTlRfVkFDVVVNX1RSVU5DQVRFCSJW YWN1dW1UcnVuY2F0ZSIJIldhaXRpbmcgdG8gYWNxdWlyZSBhbiBleGNsdXNpdmUgbG9jayB0 byB0cnVuY2F0ZSBvZmYgYW55IGVtcHR5IHBhZ2VzIGF0IHRoZSBlbmQgb2YgYSB0YWJsZSB2 YWN1dW1lZC4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX0JBU0VCQUNLVVBfUkVBRAkiQmFz ZUJhY2t1cFJlYWQiCSJXYWl0aW5nIGZvciBiYXNlIGJhY2t1cCB0byByZWFkIGZyb20gYSBm aWxlLiIKK1dhaXRFdmVudElPCVdBSVRfRVZFTlRfQkFTRUJBQ0tVUF9TWU5DCSJCYXNlQmFj a3VwU3luYyIJIldhaXRpbmcgZm9yIGRhdGEgd3JpdHRlbiBieSBhIGJhc2UgYmFja3VwIHRv IHJlYWNoIGR1cmFibGUgc3RvcmFnZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX0JBU0VC QUNLVVBfV1JJVEUJIkJhc2VCYWNrdXBXcml0ZSIJIldhaXRpbmcgZm9yIGJhc2UgYmFja3Vw IHRvIHdyaXRlIHRvIGEgZmlsZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX0JVRkZJTEVf UkVBRAkiQnVmRmlsZVJlYWQiCSJXYWl0aW5nIGZvciBhIHJlYWQgZnJvbSBhIGJ1ZmZlcmVk IGZpbGUuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9CVUZGSUxFX1dSSVRFCSJCdWZGaWxl V3JpdGUiCSJXYWl0aW5nIGZvciBhIHdyaXRlIHRvIGEgYnVmZmVyZWQgZmlsZS4iCitXYWl0 RXZlbnRJTwlXQUlUX0VWRU5UX0JVRkZJTEVfVFJVTkNBVEUJIkJ1ZkZpbGVUcnVuY2F0ZSIJ IldhaXRpbmcgZm9yIGEgYnVmZmVyZWQgZmlsZSB0byBiZSB0cnVuY2F0ZWQuIgorV2FpdEV2 ZW50SU8JV0FJVF9FVkVOVF9DT05UUk9MX0ZJTEVfUkVBRAkiQ29udHJvbEZpbGVSZWFkIgki V2FpdGluZyBmb3IgYSByZWFkIGZyb20gdGhlIDxmaWxlbmFtZT5wZ19jb250cm9sPC9maWxl bmFtZT4gZmlsZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX0NPTlRST0xfRklMRV9TWU5D CSJDb250cm9sRmlsZVN5bmMiCSJXYWl0aW5nIGZvciB0aGUgPGZpbGVuYW1lPnBnX2NvbnRy b2w8L2ZpbGVuYW1lPiBmaWxlIHRvIHJlYWNoIGR1cmFibGUgc3RvcmFnZS4gV2FpdGluZyBm b3IgYW4gdXBkYXRlIHRvIHRoZSA8ZmlsZW5hbWU+cGdfY29udHJvbDwvZmlsZW5hbWU+IGZp bGUgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlLiIKK1dhaXRFdmVudElPCVdBSVRfRVZFTlRf Q09OVFJPTF9GSUxFX1NZTkNfVVBEQVRFCSJDb250cm9sRmlsZVN5bmNVcGRhdGUiCSJXYWl0 aW5nIGZvciBhbiB1cGRhdGUgdG8gdGhlIDxmaWxlbmFtZT5wZ19jb250cm9sPC9maWxlbmFt ZT4gZmlsZSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UuIgorV2FpdEV2ZW50SU8JV0FJVF9F VkVOVF9DT05UUk9MX0ZJTEVfV1JJVEUJIkNvbnRyb2xGaWxlV3JpdGUiCSJXYWl0aW5nIGZv ciBhIHdyaXRlIHRvIHRoZSA8ZmlsZW5hbWU+cGdfY29udHJvbDwvZmlsZW5hbWU+IGZpbGUu IFdhaXRpbmcgZm9yIGEgd3JpdGUgdG8gdXBkYXRlIHRoZSA8ZmlsZW5hbWU+cGdfY29udHJv bDwvZmlsZW5hbWU+IGZpbGUuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9DT05UUk9MX0ZJ TEVfV1JJVEVfVVBEQVRFCSJDb250cm9sRmlsZVdyaXRlVXBkYXRlIgkiV2FpdGluZyBmb3Ig YSB3cml0ZSB0byB1cGRhdGUgdGhlIDxmaWxlbmFtZT5wZ19jb250cm9sPC9maWxlbmFtZT4g ZmlsZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX0NPUFlfRklMRV9SRUFECSJDb3B5Rmls ZVJlYWQiCSJXYWl0aW5nIGZvciBhIHJlYWQgZHVyaW5nIGEgZmlsZSBjb3B5IG9wZXJhdGlv bi4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX0NPUFlfRklMRV9XUklURQkiQ29weUZpbGVX cml0ZSIJIldhaXRpbmcgZm9yIGEgd3JpdGUgZHVyaW5nIGEgZmlsZSBjb3B5IG9wZXJhdGlv bi4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX0RBVEFfRklMRV9FWFRFTkQJIkRhdGFGaWxl RXh0ZW5kIgkiV2FpdGluZyBmb3IgYSByZWxhdGlvbiBkYXRhIGZpbGUgdG8gYmUgZXh0ZW5k ZWQuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9EQVRBX0ZJTEVfRkxVU0gJIkRhdGFGaWxl Rmx1c2giCSJXYWl0aW5nIGZvciBhIHJlbGF0aW9uIGRhdGEgZmlsZSB0byByZWFjaCBkdXJh YmxlIHN0b3JhZ2UuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9EQVRBX0ZJTEVfSU1NRURJ QVRFX1NZTkMJIkRhdGFGaWxlSW1tZWRpYXRlU3luYyIJIldhaXRpbmcgZm9yIGFuIGltbWVk aWF0ZSBzeW5jaHJvbml6YXRpb24gb2YgYSByZWxhdGlvbiBkYXRhIGZpbGUgdG8gZHVyYWJs ZSBzdG9yYWdlLiIKK1dhaXRFdmVudElPCVdBSVRfRVZFTlRfREFUQV9GSUxFX1BSRUZFVENI CSJEYXRhRmlsZVByZWZldGNoIgkiV2FpdGluZyBmb3IgYW4gYXN5bmNocm9ub3VzIHByZWZl dGNoIGZyb20gYSByZWxhdGlvbiBkYXRhIGZpbGUuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVO VF9EQVRBX0ZJTEVfUkVBRAkiRGF0YUZpbGVSZWFkIgkiV2FpdGluZyBmb3IgYSByZWFkIGZy b20gYSByZWxhdGlvbiBkYXRhIGZpbGUuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9EQVRB X0ZJTEVfU1lOQwkiRGF0YUZpbGVTeW5jIgkiV2FpdGluZyBmb3IgY2hhbmdlcyB0byBhIHJl bGF0aW9uIGRhdGEgZmlsZSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UuIgorV2FpdEV2ZW50 SU8JV0FJVF9FVkVOVF9EQVRBX0ZJTEVfVFJVTkNBVEUJIkRhdGFGaWxlVHJ1bmNhdGUiCSJX YWl0aW5nIGZvciBhIHJlbGF0aW9uIGRhdGEgZmlsZSB0byBiZSB0cnVuY2F0ZWQuIgorV2Fp dEV2ZW50SU8JV0FJVF9FVkVOVF9EQVRBX0ZJTEVfV1JJVEUJIkRhdGFGaWxlV3JpdGUiCSJX YWl0aW5nIGZvciBhIHdyaXRlIHRvIGEgcmVsYXRpb24gZGF0YSBmaWxlLiIKK1dhaXRFdmVu dElPCVdBSVRfRVZFTlRfRFNNX0FMTE9DQVRFCSJEU01BbGxvY2F0ZSIJIldhaXRpbmcgZm9y IGEgZHluYW1pYyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgdG8gYmUgYWxsb2NhdGVkLiIKK1dh aXRFdmVudElPCVdBSVRfRVZFTlRfRFNNX0ZJTExfWkVST19XUklURQkiRFNNRmlsbFplcm9X cml0ZSIJIldhaXRpbmcgdG8gZmlsbCBhIGR5bmFtaWMgc2hhcmVkIG1lbW9yeSBiYWNraW5n IGZpbGUgd2l0aCB6ZXJvZXMuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9MT0NLX0ZJTEVf QUREVE9EQVRBRElSX1JFQUQJIkxvY2tGaWxlQWRkVG9EYXRhRGlyUmVhZCIJIldhaXRpbmcg Zm9yIGEgcmVhZCB3aGlsZSBhZGRpbmcgYSBsaW5lIHRvIHRoZSBkYXRhIGRpcmVjdG9yeSBs b2NrIGZpbGUuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9MT0NLX0ZJTEVfQUREVE9EQVRB RElSX1NZTkMJIkxvY2tGaWxlQWRkVG9EYXRhRGlyU3luYyIJIldhaXRpbmcgZm9yIGRhdGEg dG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlIHdoaWxlIGFkZGluZyBhIGxpbmUgdG8gdGhlIGRh dGEgZGlyZWN0b3J5IGxvY2sgZmlsZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX0xPQ0tf RklMRV9BRERUT0RBVEFESVJfV1JJVEUJIkxvY2tGaWxlQWRkVG9EYXRhRGlyV3JpdGUiCSJX YWl0aW5nIGZvciBhIHdyaXRlIHdoaWxlIGFkZGluZyBhIGxpbmUgdG8gdGhlIGRhdGEgZGly ZWN0b3J5IGxvY2sgZmlsZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX0xPQ0tfRklMRV9D UkVBVEVfUkVBRAkiTG9ja0ZpbGVDcmVhdGVSZWFkIgkiV2FpdGluZyB0byByZWFkIHdoaWxl IGNyZWF0aW5nIHRoZSBkYXRhIGRpcmVjdG9yeSBsb2NrIGZpbGUuIgorV2FpdEV2ZW50SU8J V0FJVF9FVkVOVF9MT0NLX0ZJTEVfQ1JFQVRFX1NZTkMJIkxvY2tGaWxlQ3JlYXRlU3luYyIJ IldhaXRpbmcgZm9yIGRhdGEgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlIHdoaWxlIGNyZWF0 aW5nIHRoZSBkYXRhIGRpcmVjdG9yeSBsb2NrIGZpbGUuIgorV2FpdEV2ZW50SU8JV0FJVF9F VkVOVF9MT0NLX0ZJTEVfQ1JFQVRFX1dSSVRFCSJMb2NrRmlsZUNyZWF0ZVdyaXRlIgkiV2Fp dGluZyBmb3IgYSB3cml0ZSB3aGlsZSBjcmVhdGluZyB0aGUgZGF0YSBkaXJlY3RvcnkgbG9j ayBmaWxlLiIKK1dhaXRFdmVudElPCVdBSVRfRVZFTlRfTE9DS19GSUxFX1JFQ0hFQ0tEQVRB RElSX1JFQUQJIkxvY2tGaWxlUmVDaGVja0RhdGFEaXJSZWFkIgkiV2FpdGluZyBmb3IgYSBy ZWFkIGR1cmluZyByZWNoZWNrIG9mIHRoZSBkYXRhIGRpcmVjdG9yeSBsb2NrIGZpbGUuIgor V2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9MT0dJQ0FMX1JFV1JJVEVfQ0hFQ0tQT0lOVF9TWU5D CSJMb2dpY2FsUmV3cml0ZUNoZWNrcG9pbnRTeW5jIgkiV2FpdGluZyBmb3IgbG9naWNhbCBy ZXdyaXRlIG1hcHBpbmdzIHRvIHJlYWNoIGR1cmFibGUgc3RvcmFnZSBkdXJpbmcgYSBjaGVj a3BvaW50LiIKK1dhaXRFdmVudElPCVdBSVRfRVZFTlRfTE9HSUNBTF9SRVdSSVRFX01BUFBJ TkdfU1lOQwkiTG9naWNhbFJld3JpdGVNYXBwaW5nU3luYyIJIldhaXRpbmcgZm9yIG1hcHBp bmcgZGF0YSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UgZHVyaW5nIGEgbG9naWNhbCByZXdy aXRlLiIKK1dhaXRFdmVudElPCVdBSVRfRVZFTlRfTE9HSUNBTF9SRVdSSVRFX01BUFBJTkdf V1JJVEUJIkxvZ2ljYWxSZXdyaXRlTWFwcGluZ1dyaXRlIgkiV2FpdGluZyBmb3IgYSB3cml0 ZSBvZiBtYXBwaW5nIGRhdGEgZHVyaW5nIGEgbG9naWNhbCByZXdyaXRlLiIKK1dhaXRFdmVu dElPCVdBSVRfRVZFTlRfTE9HSUNBTF9SRVdSSVRFX1NZTkMJIkxvZ2ljYWxSZXdyaXRlU3lu YyIJIldhaXRpbmcgZm9yIGxvZ2ljYWwgcmV3cml0ZSBtYXBwaW5ncyB0byByZWFjaCBkdXJh YmxlIHN0b3JhZ2UuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9MT0dJQ0FMX1JFV1JJVEVf VFJVTkNBVEUJIkxvZ2ljYWxSZXdyaXRlVHJ1bmNhdGUiCSJXYWl0aW5nIGZvciB0cnVuY2F0 ZSBvZiBtYXBwaW5nIGRhdGEgZHVyaW5nIGEgbG9naWNhbCByZXdyaXRlLiIKK1dhaXRFdmVu dElPCVdBSVRfRVZFTlRfTE9HSUNBTF9SRVdSSVRFX1dSSVRFCSJMb2dpY2FsUmV3cml0ZVdy aXRlIgkiV2FpdGluZyBmb3IgYSB3cml0ZSBvZiBsb2dpY2FsIHJld3JpdGUgbWFwcGluZ3Mu IgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9SRUxBVElPTl9NQVBfUkVBRAkiUmVsYXRpb25N YXBSZWFkIgkiV2FpdGluZyBmb3IgYSByZWFkIG9mIHRoZSByZWxhdGlvbiBtYXAgZmlsZS4i CitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX1JFTEFUSU9OX01BUF9SRVBMQUNFCSJSZWxhdGlv bk1hcFJlcGxhY2UiCSJXYWl0aW5nIGZvciBkdXJhYmxlIHJlcGxhY2VtZW50IG9mIGEgcmVs YXRpb24gbWFwIGZpbGUuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9SRUxBVElPTl9NQVBf V1JJVEUJIlJlbGF0aW9uTWFwV3JpdGUiCSJXYWl0aW5nIGZvciBhIHdyaXRlIHRvIHRoZSBy ZWxhdGlvbiBtYXAgZmlsZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX1JFT1JERVJfQlVG RkVSX1JFQUQJIlJlb3JkZXJCdWZmZXJSZWFkIgkiV2FpdGluZyBmb3IgYSByZWFkIGR1cmlu ZyByZW9yZGVyIGJ1ZmZlciBtYW5hZ2VtZW50LiIKK1dhaXRFdmVudElPCVdBSVRfRVZFTlRf UkVPUkRFUl9CVUZGRVJfV1JJVEUJIlJlb3JkZXJCdWZmZXJXcml0ZSIJIldhaXRpbmcgZm9y IGEgd3JpdGUgZHVyaW5nIHJlb3JkZXIgYnVmZmVyIG1hbmFnZW1lbnQuIgorV2FpdEV2ZW50 SU8JV0FJVF9FVkVOVF9SRU9SREVSX0xPR0lDQUxfTUFQUElOR19SRUFECSJSZW9yZGVyTG9n aWNhbE1hcHBpbmdSZWFkIgkiV2FpdGluZyBmb3IgYSByZWFkIG9mIGEgbG9naWNhbCBtYXBw aW5nIGR1cmluZyByZW9yZGVyIGJ1ZmZlciBtYW5hZ2VtZW50LiIKK1dhaXRFdmVudElPCVdB SVRfRVZFTlRfUkVQTElDQVRJT05fU0xPVF9SRUFECSJSZXBsaWNhdGlvblNsb3RSZWFkIgki V2FpdGluZyBmb3IgYSByZWFkIGZyb20gYSByZXBsaWNhdGlvbiBzbG90IGNvbnRyb2wgZmls ZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX1JFUExJQ0FUSU9OX1NMT1RfUkVTVE9SRV9T WU5DCSJSZXBsaWNhdGlvblNsb3RSZXN0b3JlU3luYyIJIldhaXRpbmcgZm9yIGEgcmVwbGlj YXRpb24gc2xvdCBjb250cm9sIGZpbGUgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlIHdoaWxl IHJlc3RvcmluZyBpdCB0byBtZW1vcnkuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9SRVBM SUNBVElPTl9TTE9UX1NZTkMJIlJlcGxpY2F0aW9uU2xvdFN5bmMiCSJXYWl0aW5nIGZvciBh IHJlcGxpY2F0aW9uIHNsb3QgY29udHJvbCBmaWxlIHRvIHJlYWNoIGR1cmFibGUgc3RvcmFn ZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX1JFUExJQ0FUSU9OX1NMT1RfV1JJVEUJIlJl cGxpY2F0aW9uU2xvdFdyaXRlIgkiV2FpdGluZyBmb3IgYSB3cml0ZSB0byBhIHJlcGxpY2F0 aW9uIHNsb3QgY29udHJvbCBmaWxlLiIKK1dhaXRFdmVudElPCVdBSVRfRVZFTlRfU0xSVV9G TFVTSF9TWU5DCSJTTFJVRmx1c2hTeW5jIgkiV2FpdGluZyBmb3IgU0xSVSBkYXRhIHRvIHJl YWNoIGR1cmFibGUgc3RvcmFnZSBkdXJpbmcgYSBjaGVja3BvaW50IG9yIGRhdGFiYXNlIHNo dXRkb3duLiIKK1dhaXRFdmVudElPCVdBSVRfRVZFTlRfU0xSVV9SRUFECSJTTFJVUmVhZCIJ IldhaXRpbmcgZm9yIGEgcmVhZCBvZiBhbiBTTFJVIHBhZ2UuIgorV2FpdEV2ZW50SU8JV0FJ VF9FVkVOVF9TTFJVX1NZTkMJIlNMUlVTeW5jIgkiV2FpdGluZyBmb3IgU0xSVSBkYXRhIHRv IHJlYWNoIGR1cmFibGUgc3RvcmFnZSBmb2xsb3dpbmcgYSBwYWdlIHdyaXRlLiIKK1dhaXRF dmVudElPCVdBSVRfRVZFTlRfU0xSVV9XUklURQkiU0xSVVdyaXRlIgkiV2FpdGluZyBmb3Ig YSB3cml0ZSBvZiBhbiBTTFJVIHBhZ2UuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9TTkFQ QlVJTERfUkVBRAkiU25hcGJ1aWxkUmVhZCIJIldhaXRpbmcgZm9yIGEgcmVhZCBvZiBhIHNl cmlhbGl6ZWQgaGlzdG9yaWNhbCBjYXRhbG9nIHNuYXBzaG90LiIKK1dhaXRFdmVudElPCVdB SVRfRVZFTlRfU05BUEJVSUxEX1NZTkMJIlNuYXBidWlsZFN5bmMiCSJXYWl0aW5nIGZvciBh IHNlcmlhbGl6ZWQgaGlzdG9yaWNhbCBjYXRhbG9nIHNuYXBzaG90IHRvIHJlYWNoIGR1cmFi bGUgc3RvcmFnZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX1NOQVBCVUlMRF9XUklURQki U25hcGJ1aWxkV3JpdGUiCSJXYWl0aW5nIGZvciBhIHdyaXRlIG9mIGEgc2VyaWFsaXplZCBo aXN0b3JpY2FsIGNhdGFsb2cgc25hcHNob3QuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9U SU1FTElORV9ISVNUT1JZX0ZJTEVfU1lOQwkiVGltZWxpbmVIaXN0b3J5RmlsZVN5bmMiCSJX YWl0aW5nIGZvciBhIHRpbWVsaW5lIGhpc3RvcnkgZmlsZSByZWNlaXZlZCB2aWEgc3RyZWFt aW5nIHJlcGxpY2F0aW9uIHRvIHJlYWNoIGR1cmFibGUgc3RvcmFnZS4iCitXYWl0RXZlbnRJ TwlXQUlUX0VWRU5UX1RJTUVMSU5FX0hJU1RPUllfRklMRV9XUklURQkiVGltZWxpbmVIaXN0 b3J5RmlsZVdyaXRlIgkiV2FpdGluZyBmb3IgYSB3cml0ZSBvZiBhIHRpbWVsaW5lIGhpc3Rv cnkgZmlsZSByZWNlaXZlZCB2aWEgc3RyZWFtaW5nIHJlcGxpY2F0aW9uLiIKK1dhaXRFdmVu dElPCVdBSVRfRVZFTlRfVElNRUxJTkVfSElTVE9SWV9SRUFECSJUaW1lbGluZUhpc3RvcnlS ZWFkIgkiV2FpdGluZyBmb3IgYSByZWFkIG9mIGEgdGltZWxpbmUgaGlzdG9yeSBmaWxlLiIK K1dhaXRFdmVudElPCVdBSVRfRVZFTlRfVElNRUxJTkVfSElTVE9SWV9TWU5DCSJUaW1lbGlu ZUhpc3RvcnlTeW5jIgkiV2FpdGluZyBmb3IgYSBuZXdseSBjcmVhdGVkIHRpbWVsaW5lIGhp c3RvcnkgZmlsZSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UuIgorV2FpdEV2ZW50SU8JV0FJ VF9FVkVOVF9USU1FTElORV9ISVNUT1JZX1dSSVRFCSJUaW1lbGluZUhpc3RvcnlXcml0ZSIJ IldhaXRpbmcgZm9yIGEgd3JpdGUgb2YgYSBuZXdseSBjcmVhdGVkIHRpbWVsaW5lIGhpc3Rv cnkgZmlsZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX1RXT1BIQVNFX0ZJTEVfUkVBRAki VHdvcGhhc2VGaWxlUmVhZCIJIldhaXRpbmcgZm9yIGEgcmVhZCBvZiBhIHR3byBwaGFzZSBz dGF0ZSBmaWxlLiIKK1dhaXRFdmVudElPCVdBSVRfRVZFTlRfVFdPUEhBU0VfRklMRV9TWU5D CSJUd29waGFzZUZpbGVTeW5jIgkiV2FpdGluZyBmb3IgYSB0d28gcGhhc2Ugc3RhdGUgZmls ZSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9U V09QSEFTRV9GSUxFX1dSSVRFCSJUd29waGFzZUZpbGVXcml0ZSIJIldhaXRpbmcgZm9yIGEg d3JpdGUgb2YgYSB0d28gcGhhc2Ugc3RhdGUgZmlsZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VW RU5UX1ZFUlNJT05fRklMRV9XUklURQkiVmVyc2lvbkZpbGVXcml0ZSIJIldhaXRpbmcgZm9y IHRoZSB2ZXJzaW9uIGZpbGUgdG8gYmUgd3JpdHRlbiB3aGlsZSBjcmVhdGluZyBhIGRhdGFi YXNlLiIKK1dhaXRFdmVudElPCVdBSVRfRVZFTlRfV0FMU0VOREVSX1RJTUVMSU5FX0hJU1RP UllfUkVBRAkiV0FMU2VuZGVyVGltZWxpbmVIaXN0b3J5UmVhZCIJIldhaXRpbmcgZm9yIGEg cmVhZCBmcm9tIGEgdGltZWxpbmUgaGlzdG9yeSBmaWxlIGR1cmluZyBhIHdhbHNlbmRlciB0 aW1lbGluZSBjb21tYW5kLiIKK1dhaXRFdmVudElPCVdBSVRfRVZFTlRfV0FMX0JPT1RTVFJB UF9TWU5DCSJXQUxCb290c3RyYXBTeW5jIgkiV2FpdGluZyBmb3IgV0FMIHRvIHJlYWNoIGR1 cmFibGUgc3RvcmFnZSBkdXJpbmcgYm9vdHN0cmFwcGluZy4iCitXYWl0RXZlbnRJTwlXQUlU X0VWRU5UX1dBTF9CT09UU1RSQVBfV1JJVEUJIldBTEJvb3RzdHJhcFdyaXRlIgkiV2FpdGlu ZyBmb3IgYSB3cml0ZSBvZiBhIFdBTCBwYWdlIGR1cmluZyBib290c3RyYXBwaW5nLiIKK1dh aXRFdmVudElPCVdBSVRfRVZFTlRfV0FMX0NPUFlfUkVBRAkiV0FMQ29weVJlYWQiCSJXYWl0 aW5nIGZvciBhIHJlYWQgd2hlbiBjcmVhdGluZyBhIG5ldyBXQUwgc2VnbWVudCBieSBjb3B5 aW5nIGFuIGV4aXN0aW5nIG9uZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX1dBTF9DT1BZ X1NZTkMJIldBTENvcHlTeW5jIgkiV2FpdGluZyBmb3IgYSBuZXcgV0FMIHNlZ21lbnQgY3Jl YXRlZCBieSBjb3B5aW5nIGFuIGV4aXN0aW5nIG9uZSB0byByZWFjaCBkdXJhYmxlIHN0b3Jh Z2UuIgorV2FpdEV2ZW50SU8JV0FJVF9FVkVOVF9XQUxfQ09QWV9XUklURQkiV0FMQ29weVdy aXRlIgkiV2FpdGluZyBmb3IgYSB3cml0ZSB3aGVuIGNyZWF0aW5nIGEgbmV3IFdBTCBzZWdt ZW50IGJ5IGNvcHlpbmcgYW4gZXhpc3Rpbmcgb25lLiIKK1dhaXRFdmVudElPCVdBSVRfRVZF TlRfV0FMX0lOSVRfU1lOQwkiV0FMSW5pdFN5bmMiCSJXYWl0aW5nIGZvciBhIG5ld2x5IGlu aXRpYWxpemVkIFdBTCBmaWxlIHRvIHJlYWNoIGR1cmFibGUgc3RvcmFnZS4iCitXYWl0RXZl bnRJTwlXQUlUX0VWRU5UX1dBTF9JTklUX1dSSVRFCSJXQUxJbml0V3JpdGUiCSJXYWl0aW5n IGZvciBhIHdyaXRlIHdoaWxlIGluaXRpYWxpemluZyBhIG5ldyBXQUwgZmlsZS4iCitXYWl0 RXZlbnRJTwlXQUlUX0VWRU5UX1dBTF9SRUFECSJXQUxSZWFkIgkiV2FpdGluZyBmb3IgYSBy ZWFkIGZyb20gYSBXQUwgZmlsZS4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX1dBTF9TWU5D CSJXQUxTeW5jIgkiV2FpdGluZyBmb3IgYSBXQUwgZmlsZSB0byByZWFjaCBkdXJhYmxlIHN0 b3JhZ2UuIFdhaXRpbmcgZm9yIGRhdGEgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlIHdoaWxl IGFzc2lnbmluZyBhIG5ldyBXQUwgc3luYyBtZXRob2QuIgorV2FpdEV2ZW50SU8JV0FJVF9F VkVOVF9XQUxfU1lOQ19NRVRIT0RfQVNTSUdOCSJXQUxTeW5jTWV0aG9kQXNzaWduIgkiV2Fp dGluZyBmb3IgZGF0YSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2Ugd2hpbGUgYXNzaWduaW5n IGEgbmV3IFdBTCBzeW5jIG1ldGhvZC4iCitXYWl0RXZlbnRJTwlXQUlUX0VWRU5UX1dBTF9X UklURQkiV0FMV3JpdGUiCSJXYWl0aW5nIGZvciBhIHdyaXRlIHRvIGEgV0FMIGZpbGUuIFdh aXRpbmcgZm9yIFdBTCBidWZmZXJzIHRvIGJlIHdyaXR0ZW4gdG8gZGlzay4iCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9NYWtlZmlsZSBiL3NyYy9pbmNsdWRlL01ha2VmaWxlCmluZGV4 IDU2NTc2ZGNmNWMuLjI4MGI2OTY4ZDcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL01ha2Vm aWxlCisrKyBiL3NyYy9pbmNsdWRlL01ha2VmaWxlCkBAIC03Miw3ICs3Miw3IEBAIHVuaW5z dGFsbDoKIAogY2xlYW46CiAJcm0gLWYgdXRpbHMvZm1ncm9pZHMuaCB1dGlscy9mbWdycHJv dG9zLmggdXRpbHMvZXJyY29kZXMuaCB1dGlscy9oZWFkZXItc3RhbXAKLQlybSAtZiBzdG9y YWdlL2x3bG9ja25hbWVzLmggdXRpbHMvcHJvYmVzLmgKKwlybSAtZiBzdG9yYWdlL2x3bG9j a25hbWVzLmggdXRpbHMvcHJvYmVzLmggdXRpbHMvd2FpdGV2ZW50bmFtZXMuaAogCXJtIC1m IGNhdGFsb2cvc2NoZW1hcGcuaCBjYXRhbG9nL3N5c3RlbV9ma19pbmZvLmgKIAlybSAtZiBj YXRhbG9nL3BnXypfZC5oIGNhdGFsb2cvaGVhZGVyLXN0YW1wCiAJcm0gLWYgbm9kZXMvbm9k ZXRhZ3MuaCBub2Rlcy9oZWFkZXItc3RhbXAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0 aWxzLy5naXRpZ25vcmUgYi9zcmMvaW5jbHVkZS91dGlscy8uZ2l0aWdub3JlCmluZGV4IDA1 Y2ZhN2E4ZDYuLmI0ZjgyYjNkMjEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzLy5n aXRpZ25vcmUKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvLmdpdGlnbm9yZQpAQCAtMywzICsz LDQgQEAKIC9wcm9iZXMuaAogL2VycmNvZGVzLmgKIC9oZWFkZXItc3RhbXAKKy93YWl0ZXZl bnRuYW1lcy5oCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9tZXNvbi5idWlsZCBi L3NyYy9pbmNsdWRlL3V0aWxzL21lc29uLmJ1aWxkCmluZGV4IDJmZWQxZTNmOGUuLjgyNmZh ODkzMjMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL21lc29uLmJ1aWxkCisrKyBi L3NyYy9pbmNsdWRlL3V0aWxzL21lc29uLmJ1aWxkCkBAIC0xLDUgKzEsMjEgQEAKICMgQ29w eXJpZ2h0IChjKSAyMDIyLTIwMjMsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdy b3VwCiAKK3dhaXRldmVudG5hbWVzID0gY3VzdG9tX3RhcmdldCgnd2FpdGV2ZW50bmFtZXMn LAorICBpbnB1dDogZmlsZXMoJy4uLy4uL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdGV2 ZW50bmFtZXMudHh0JyksCisgIG91dHB1dDogWyd3YWl0ZXZlbnRuYW1lcy5oJ10sCisgIGNv bW1hbmQ6IFsKKyAgICBwZXJsLCBmaWxlcygnLi4vLi4vYmFja2VuZC91dGlscy9hY3Rpdml0 eS9nZW5lcmF0ZS13YWl0ZXZlbnRuYW1lcy5wbCcpLAorICAgICctbycsICdAT1VURElSQCcs CisgICAgJ0BJTlBVVEAnCisgIF0sCisgIGJ1aWxkX2J5X2RlZmF1bHQ6IHRydWUsCisgIGlu c3RhbGw6IHRydWUsCisgIGluc3RhbGxfZGlyOiBbZGlyX2luY2x1ZGVfc2VydmVyIC8gJ3V0 aWxzJ10sCispCisKK3dhaXRldmVudG5hbWVzX2ggPSB3YWl0ZXZlbnRuYW1lc1swXQorZ2Vu ZXJhdGVkX2JhY2tlbmRfaGVhZGVycyArPSB3YWl0ZXZlbnRuYW1lc19oCisKIGVycmNvZGVz ID0gY3VzdG9tX3RhcmdldCgnZXJyY29kZXMnLAogICBpbnB1dDogZmlsZXMoJy4uLy4uL2Jh Y2tlbmQvdXRpbHMvZXJyY29kZXMudHh0JyksCiAgIG91dHB1dDogWydlcnJjb2Rlcy5oJ10s CkBAIC01NywzICs3Myw1IEBAIGdlbmVyYXRlZF9zb3VyY2VzX2FjICs9IHsKICAgJ3NyYy9i YWNrZW5kL3V0aWxzJzogZm1ncnRhYl9vdXRwdXQgKyBbJ2VycmNvZGVzLmgnLCAncHJvYmVz LmgnLCAnZm1nci1zdGFtcCddLAogICAnc3JjL2luY2x1ZGUvdXRpbHMnOiBbJ2hlYWRlci1z dGFtcCddLAogfQorCitnZW5lcmF0ZWRfc291cmNlc19hYyArPSB7J3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5JzogWyd3YWl0ZXZlbnRuYW1lcy5oJ119CmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS91dGlscy93YWl0X2V2ZW50LmggYi9zcmMvaW5jbHVkZS91dGlscy93YWl0X2V2 ZW50LmgKaW5kZXggNTE4ZDNiMGExZi4uNTdhNWRlNWFlMSAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvdXRpbHMvd2FpdF9ldmVudC5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRf ZXZlbnQuaApAQCAtMjUsNiArMjUsMTEgQEAKICNkZWZpbmUgUEdfV0FJVF9USU1FT1VUCQkJ CTB4MDkwMDAwMDBVCiAjZGVmaW5lIFBHX1dBSVRfSU8JCQkJCTB4MEEwMDAwMDBVCiAKKy8q IGVudW1zIGZvciB3YWl0IGV2ZW50cyAqLworI2luY2x1ZGUgInV0aWxzL3dhaXRldmVudG5h bWVzLmgiCisKKy8qIFRoZSBpbmNsdWRlIGFib3ZlIGluY2x1ZGVzIHRob3NlIGNhdGVnb3Jp ZXMgKi8KKwogLyogLS0tLS0tLS0tLQogICogV2FpdCBFdmVudHMgLSBBY3Rpdml0eQogICoK QEAgLTMzLDIyICszOCw2IEBACiAgKiBUeXBpY2FsbHksIHRoaXMgc2hvdWxkIG9ubHkgYmUg dXNlZCBmb3IgYmFja2dyb3VuZCBwcm9jZXNzZXMuCiAgKiAtLS0tLS0tLS0tCiAgKi8KLXR5 cGVkZWYgZW51bQotewotCVdBSVRfRVZFTlRfQVJDSElWRVJfTUFJTiA9IFBHX1dBSVRfQUNU SVZJVFksCi0JV0FJVF9FVkVOVF9BVVRPVkFDVVVNX01BSU4sCi0JV0FJVF9FVkVOVF9CR1dS SVRFUl9ISUJFUk5BVEUsCi0JV0FJVF9FVkVOVF9CR1dSSVRFUl9NQUlOLAotCVdBSVRfRVZF TlRfQ0hFQ0tQT0lOVEVSX01BSU4sCi0JV0FJVF9FVkVOVF9MT0dJQ0FMX0FQUExZX01BSU4s Ci0JV0FJVF9FVkVOVF9MT0dJQ0FMX0xBVU5DSEVSX01BSU4sCi0JV0FJVF9FVkVOVF9MT0dJ Q0FMX1BBUkFMTEVMX0FQUExZX01BSU4sCi0JV0FJVF9FVkVOVF9SRUNPVkVSWV9XQUxfU1RS RUFNLAotCVdBSVRfRVZFTlRfU1lTTE9HR0VSX01BSU4sCi0JV0FJVF9FVkVOVF9XQUxfUkVD RUlWRVJfTUFJTiwKLQlXQUlUX0VWRU5UX1dBTF9TRU5ERVJfTUFJTiwKLQlXQUlUX0VWRU5U X1dBTF9XUklURVJfTUFJTgotfSBXYWl0RXZlbnRBY3Rpdml0eTsKIAogLyogLS0tLS0tLS0t LQogICogV2FpdCBFdmVudHMgLSBDbGllbnQKQEAgLTU4LDE3ICs0Nyw2IEBAIHR5cGVkZWYg ZW51bQogICogYSBiYWNrZ3JvdW5kIHByb2Nlc3MsIHdoaWNoIGhhcyBubyBjbGllbnQgY29u bmVjdGlvbi4KICAqIC0tLS0tLS0tLS0KICAqLwotdHlwZWRlZiBlbnVtCi17Ci0JV0FJVF9F VkVOVF9DTElFTlRfUkVBRCA9IFBHX1dBSVRfQ0xJRU5ULAotCVdBSVRfRVZFTlRfQ0xJRU5U X1dSSVRFLAotCVdBSVRfRVZFTlRfR1NTX09QRU5fU0VSVkVSLAotCVdBSVRfRVZFTlRfTElC UFFXQUxSRUNFSVZFUl9DT05ORUNULAotCVdBSVRfRVZFTlRfTElCUFFXQUxSRUNFSVZFUl9S RUNFSVZFLAotCVdBSVRfRVZFTlRfU1NMX09QRU5fU0VSVkVSLAotCVdBSVRfRVZFTlRfV0FM X1NFTkRFUl9XQUlUX1dBTCwKLQlXQUlUX0VWRU5UX1dBTF9TRU5ERVJfV1JJVEVfREFUQSwK LX0gV2FpdEV2ZW50Q2xpZW50OwogCiAvKiAtLS0tLS0tLS0tCiAgKiBXYWl0IEV2ZW50cyAt IElQQwpAQCAtNzcsNjIgKzU1LDYgQEAgdHlwZWRlZiBlbnVtCiAgKiBpdCBpcyB3YWl0aW5n IGZvciBhIG5vdGlmaWNhdGlvbiBmcm9tIGFub3RoZXIgcHJvY2Vzcy4KICAqIC0tLS0tLS0t LS0KICAqLwotdHlwZWRlZiBlbnVtCi17Ci0JV0FJVF9FVkVOVF9BUFBFTkRfUkVBRFkgPSBQ R19XQUlUX0lQQywKLQlXQUlUX0VWRU5UX0FSQ0hJVkVfQ0xFQU5VUF9DT01NQU5ELAotCVdB SVRfRVZFTlRfQVJDSElWRV9DT01NQU5ELAotCVdBSVRfRVZFTlRfQkFDS0VORF9URVJNSU5B VElPTiwKLQlXQUlUX0VWRU5UX0JBQ0tVUF9XQUlUX1dBTF9BUkNISVZFLAotCVdBSVRfRVZF TlRfQkdXT1JLRVJfU0hVVERPV04sCi0JV0FJVF9FVkVOVF9CR1dPUktFUl9TVEFSVFVQLAot CVdBSVRfRVZFTlRfQlRSRUVfUEFHRSwKLQlXQUlUX0VWRU5UX0JVRkZFUl9JTywKLQlXQUlU X0VWRU5UX0NIRUNLUE9JTlRfRE9ORSwKLQlXQUlUX0VWRU5UX0NIRUNLUE9JTlRfU1RBUlQs Ci0JV0FJVF9FVkVOVF9FWEVDVVRFX0dBVEhFUiwKLQlXQUlUX0VWRU5UX0hBU0hfQkFUQ0hf QUxMT0NBVEUsCi0JV0FJVF9FVkVOVF9IQVNIX0JBVENIX0VMRUNULAotCVdBSVRfRVZFTlRf SEFTSF9CQVRDSF9MT0FELAotCVdBSVRfRVZFTlRfSEFTSF9CVUlMRF9BTExPQ0FURSwKLQlX QUlUX0VWRU5UX0hBU0hfQlVJTERfRUxFQ1QsCi0JV0FJVF9FVkVOVF9IQVNIX0JVSUxEX0hB U0hfSU5ORVIsCi0JV0FJVF9FVkVOVF9IQVNIX0JVSUxEX0hBU0hfT1VURVIsCi0JV0FJVF9F VkVOVF9IQVNIX0dST1dfQkFUQ0hFU19ERUNJREUsCi0JV0FJVF9FVkVOVF9IQVNIX0dST1df QkFUQ0hFU19FTEVDVCwKLQlXQUlUX0VWRU5UX0hBU0hfR1JPV19CQVRDSEVTX0ZJTklTSCwK LQlXQUlUX0VWRU5UX0hBU0hfR1JPV19CQVRDSEVTX1JFQUxMT0NBVEUsCi0JV0FJVF9FVkVO VF9IQVNIX0dST1dfQkFUQ0hFU19SRVBBUlRJVElPTiwKLQlXQUlUX0VWRU5UX0hBU0hfR1JP V19CVUNLRVRTX0VMRUNULAotCVdBSVRfRVZFTlRfSEFTSF9HUk9XX0JVQ0tFVFNfUkVBTExP Q0FURSwKLQlXQUlUX0VWRU5UX0hBU0hfR1JPV19CVUNLRVRTX1JFSU5TRVJULAotCVdBSVRf RVZFTlRfTE9HSUNBTF9BUFBMWV9TRU5EX0RBVEEsCi0JV0FJVF9FVkVOVF9MT0dJQ0FMX1BB UkFMTEVMX0FQUExZX1NUQVRFX0NIQU5HRSwKLQlXQUlUX0VWRU5UX0xPR0lDQUxfU1lOQ19E QVRBLAotCVdBSVRfRVZFTlRfTE9HSUNBTF9TWU5DX1NUQVRFX0NIQU5HRSwKLQlXQUlUX0VW RU5UX01RX0lOVEVSTkFMLAotCVdBSVRfRVZFTlRfTVFfUFVUX01FU1NBR0UsCi0JV0FJVF9F VkVOVF9NUV9SRUNFSVZFLAotCVdBSVRfRVZFTlRfTVFfU0VORCwKLQlXQUlUX0VWRU5UX1BB UkFMTEVMX0JJVE1BUF9TQ0FOLAotCVdBSVRfRVZFTlRfUEFSQUxMRUxfQ1JFQVRFX0lOREVY X1NDQU4sCi0JV0FJVF9FVkVOVF9QQVJBTExFTF9GSU5JU0gsCi0JV0FJVF9FVkVOVF9QUk9D QVJSQVlfR1JPVVBfVVBEQVRFLAotCVdBSVRfRVZFTlRfUFJPQ19TSUdOQUxfQkFSUklFUiwK LQlXQUlUX0VWRU5UX1BST01PVEUsCi0JV0FJVF9FVkVOVF9SRUNPVkVSWV9DT05GTElDVF9T TkFQU0hPVCwKLQlXQUlUX0VWRU5UX1JFQ09WRVJZX0NPTkZMSUNUX1RBQkxFU1BBQ0UsCi0J V0FJVF9FVkVOVF9SRUNPVkVSWV9FTkRfQ09NTUFORCwKLQlXQUlUX0VWRU5UX1JFQ09WRVJZ X1BBVVNFLAotCVdBSVRfRVZFTlRfUkVQTElDQVRJT05fT1JJR0lOX0RST1AsCi0JV0FJVF9F VkVOVF9SRVBMSUNBVElPTl9TTE9UX0RST1AsCi0JV0FJVF9FVkVOVF9SRVNUT1JFX0NPTU1B TkQsCi0JV0FJVF9FVkVOVF9TQUZFX1NOQVBTSE9ULAotCVdBSVRfRVZFTlRfU1lOQ19SRVAs Ci0JV0FJVF9FVkVOVF9XQUxfUkVDRUlWRVJfRVhJVCwKLQlXQUlUX0VWRU5UX1dBTF9SRUNF SVZFUl9XQUlUX1NUQVJULAotCVdBSVRfRVZFTlRfWEFDVF9HUk9VUF9VUERBVEUKLX0gV2Fp dEV2ZW50SVBDOwogCiAvKiAtLS0tLS0tLS0tCiAgKiBXYWl0IEV2ZW50cyAtIFRpbWVvdXQK QEAgLTE0MCwxOCArNjIsNiBAQCB0eXBlZGVmIGVudW0KICAqIFVzZSB0aGlzIGNhdGVnb3J5 IHdoZW4gYSBwcm9jZXNzIGlzIHdhaXRpbmcgZm9yIGEgdGltZW91dCB0byBleHBpcmUuCiAg KiAtLS0tLS0tLS0tCiAgKi8KLXR5cGVkZWYgZW51bQotewotCVdBSVRfRVZFTlRfQkFTRV9C QUNLVVBfVEhST1RUTEUgPSBQR19XQUlUX1RJTUVPVVQsCi0JV0FJVF9FVkVOVF9DSEVDS1BP SU5UX1dSSVRFX0RFTEFZLAotCVdBSVRfRVZFTlRfUEdfU0xFRVAsCi0JV0FJVF9FVkVOVF9S RUNPVkVSWV9BUFBMWV9ERUxBWSwKLQlXQUlUX0VWRU5UX1JFQ09WRVJZX1JFVFJJRVZFX1JF VFJZX0lOVEVSVkFMLAotCVdBSVRfRVZFTlRfUkVHSVNURVJfU1lOQ19SRVFVRVNULAotCVdB SVRfRVZFTlRfU1BJTl9ERUxBWSwKLQlXQUlUX0VWRU5UX1ZBQ1VVTV9ERUxBWSwKLQlXQUlU X0VWRU5UX1ZBQ1VVTV9UUlVOQ0FURQotfSBXYWl0RXZlbnRUaW1lb3V0OwogCiAvKiAtLS0t LS0tLS0tCiAgKiBXYWl0IEV2ZW50cyAtIElPCkBAIC0xNTksODQgKzY5LDYgQEAgdHlwZWRl ZiBlbnVtCiAgKiBVc2UgdGhpcyBjYXRlZ29yeSB3aGVuIGEgcHJvY2VzcyBpcyB3YWl0aW5n IGZvciBhIElPLgogICogLS0tLS0tLS0tLQogICovCi10eXBlZGVmIGVudW0KLXsKLQlXQUlU X0VWRU5UX0JBU0VCQUNLVVBfUkVBRCA9IFBHX1dBSVRfSU8sCi0JV0FJVF9FVkVOVF9CQVNF QkFDS1VQX1NZTkMsCi0JV0FJVF9FVkVOVF9CQVNFQkFDS1VQX1dSSVRFLAotCVdBSVRfRVZF TlRfQlVGRklMRV9SRUFELAotCVdBSVRfRVZFTlRfQlVGRklMRV9XUklURSwKLQlXQUlUX0VW RU5UX0JVRkZJTEVfVFJVTkNBVEUsCi0JV0FJVF9FVkVOVF9DT05UUk9MX0ZJTEVfUkVBRCwK LQlXQUlUX0VWRU5UX0NPTlRST0xfRklMRV9TWU5DLAotCVdBSVRfRVZFTlRfQ09OVFJPTF9G SUxFX1NZTkNfVVBEQVRFLAotCVdBSVRfRVZFTlRfQ09OVFJPTF9GSUxFX1dSSVRFLAotCVdB SVRfRVZFTlRfQ09OVFJPTF9GSUxFX1dSSVRFX1VQREFURSwKLQlXQUlUX0VWRU5UX0NPUFlf RklMRV9SRUFELAotCVdBSVRfRVZFTlRfQ09QWV9GSUxFX1dSSVRFLAotCVdBSVRfRVZFTlRf REFUQV9GSUxFX0VYVEVORCwKLQlXQUlUX0VWRU5UX0RBVEFfRklMRV9GTFVTSCwKLQlXQUlU X0VWRU5UX0RBVEFfRklMRV9JTU1FRElBVEVfU1lOQywKLQlXQUlUX0VWRU5UX0RBVEFfRklM RV9QUkVGRVRDSCwKLQlXQUlUX0VWRU5UX0RBVEFfRklMRV9SRUFELAotCVdBSVRfRVZFTlRf REFUQV9GSUxFX1NZTkMsCi0JV0FJVF9FVkVOVF9EQVRBX0ZJTEVfVFJVTkNBVEUsCi0JV0FJ VF9FVkVOVF9EQVRBX0ZJTEVfV1JJVEUsCi0JV0FJVF9FVkVOVF9EU01fQUxMT0NBVEUsCi0J V0FJVF9FVkVOVF9EU01fRklMTF9aRVJPX1dSSVRFLAotCVdBSVRfRVZFTlRfTE9DS19GSUxF X0FERFRPREFUQURJUl9SRUFELAotCVdBSVRfRVZFTlRfTE9DS19GSUxFX0FERFRPREFUQURJ Ul9TWU5DLAotCVdBSVRfRVZFTlRfTE9DS19GSUxFX0FERFRPREFUQURJUl9XUklURSwKLQlX QUlUX0VWRU5UX0xPQ0tfRklMRV9DUkVBVEVfUkVBRCwKLQlXQUlUX0VWRU5UX0xPQ0tfRklM RV9DUkVBVEVfU1lOQywKLQlXQUlUX0VWRU5UX0xPQ0tfRklMRV9DUkVBVEVfV1JJVEUsCi0J V0FJVF9FVkVOVF9MT0NLX0ZJTEVfUkVDSEVDS0RBVEFESVJfUkVBRCwKLQlXQUlUX0VWRU5U X0xPR0lDQUxfUkVXUklURV9DSEVDS1BPSU5UX1NZTkMsCi0JV0FJVF9FVkVOVF9MT0dJQ0FM X1JFV1JJVEVfTUFQUElOR19TWU5DLAotCVdBSVRfRVZFTlRfTE9HSUNBTF9SRVdSSVRFX01B UFBJTkdfV1JJVEUsCi0JV0FJVF9FVkVOVF9MT0dJQ0FMX1JFV1JJVEVfU1lOQywKLQlXQUlU X0VWRU5UX0xPR0lDQUxfUkVXUklURV9UUlVOQ0FURSwKLQlXQUlUX0VWRU5UX0xPR0lDQUxf UkVXUklURV9XUklURSwKLQlXQUlUX0VWRU5UX1JFTEFUSU9OX01BUF9SRUFELAotCVdBSVRf RVZFTlRfUkVMQVRJT05fTUFQX1JFUExBQ0UsCi0JV0FJVF9FVkVOVF9SRUxBVElPTl9NQVBf V1JJVEUsCi0JV0FJVF9FVkVOVF9SRU9SREVSX0JVRkZFUl9SRUFELAotCVdBSVRfRVZFTlRf UkVPUkRFUl9CVUZGRVJfV1JJVEUsCi0JV0FJVF9FVkVOVF9SRU9SREVSX0xPR0lDQUxfTUFQ UElOR19SRUFELAotCVdBSVRfRVZFTlRfUkVQTElDQVRJT05fU0xPVF9SRUFELAotCVdBSVRf RVZFTlRfUkVQTElDQVRJT05fU0xPVF9SRVNUT1JFX1NZTkMsCi0JV0FJVF9FVkVOVF9SRVBM SUNBVElPTl9TTE9UX1NZTkMsCi0JV0FJVF9FVkVOVF9SRVBMSUNBVElPTl9TTE9UX1dSSVRF LAotCVdBSVRfRVZFTlRfU0xSVV9GTFVTSF9TWU5DLAotCVdBSVRfRVZFTlRfU0xSVV9SRUFE LAotCVdBSVRfRVZFTlRfU0xSVV9TWU5DLAotCVdBSVRfRVZFTlRfU0xSVV9XUklURSwKLQlX QUlUX0VWRU5UX1NOQVBCVUlMRF9SRUFELAotCVdBSVRfRVZFTlRfU05BUEJVSUxEX1NZTkMs Ci0JV0FJVF9FVkVOVF9TTkFQQlVJTERfV1JJVEUsCi0JV0FJVF9FVkVOVF9USU1FTElORV9I SVNUT1JZX0ZJTEVfU1lOQywKLQlXQUlUX0VWRU5UX1RJTUVMSU5FX0hJU1RPUllfRklMRV9X UklURSwKLQlXQUlUX0VWRU5UX1RJTUVMSU5FX0hJU1RPUllfUkVBRCwKLQlXQUlUX0VWRU5U X1RJTUVMSU5FX0hJU1RPUllfU1lOQywKLQlXQUlUX0VWRU5UX1RJTUVMSU5FX0hJU1RPUllf V1JJVEUsCi0JV0FJVF9FVkVOVF9UV09QSEFTRV9GSUxFX1JFQUQsCi0JV0FJVF9FVkVOVF9U V09QSEFTRV9GSUxFX1NZTkMsCi0JV0FJVF9FVkVOVF9UV09QSEFTRV9GSUxFX1dSSVRFLAot CVdBSVRfRVZFTlRfVkVSU0lPTl9GSUxFX1dSSVRFLAotCVdBSVRfRVZFTlRfV0FMU0VOREVS X1RJTUVMSU5FX0hJU1RPUllfUkVBRCwKLQlXQUlUX0VWRU5UX1dBTF9CT09UU1RSQVBfU1lO QywKLQlXQUlUX0VWRU5UX1dBTF9CT09UU1RSQVBfV1JJVEUsCi0JV0FJVF9FVkVOVF9XQUxf Q09QWV9SRUFELAotCVdBSVRfRVZFTlRfV0FMX0NPUFlfU1lOQywKLQlXQUlUX0VWRU5UX1dB TF9DT1BZX1dSSVRFLAotCVdBSVRfRVZFTlRfV0FMX0lOSVRfU1lOQywKLQlXQUlUX0VWRU5U X1dBTF9JTklUX1dSSVRFLAotCVdBSVRfRVZFTlRfV0FMX1JFQUQsCi0JV0FJVF9FVkVOVF9X QUxfU1lOQywKLQlXQUlUX0VWRU5UX1dBTF9TWU5DX01FVEhPRF9BU1NJR04sCi0JV0FJVF9F VkVOVF9XQUxfV1JJVEUKLX0gV2FpdEV2ZW50SU87Ci0KIAogZXh0ZXJuIGNvbnN0IGNoYXIg KnBnc3RhdF9nZXRfd2FpdF9ldmVudCh1aW50MzIgd2FpdF9ldmVudF9pbmZvKTsKIGV4dGVy biBjb25zdCBjaGFyICpwZ3N0YXRfZ2V0X3dhaXRfZXZlbnRfdHlwZSh1aW50MzIgd2FpdF9l dmVudF9pbmZvKTsKZGlmZiAtLWdpdCBhL3NyYy90b29scy9tc3ZjL1NvbHV0aW9uLnBtIGIv c3JjL3Rvb2xzL21zdmMvU29sdXRpb24ucG0KaW5kZXggMTUzYmU3YmUxMS4uOGMxYjlhNTNj YiAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL21zdmMvU29sdXRpb24ucG0KKysrIGIvc3JjL3Rv b2xzL21zdmMvU29sdXRpb24ucG0KQEAgLTU4MCw2ICs1ODAsNyBAQCBzdWIgR2VuZXJhdGVG aWxlcwogCQlteSAkbG1nciA9ICdzcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3InOwogCQlzeXN0 ZW0oInBlcmwgJGxtZ3IvZ2VuZXJhdGUtbHdsb2NrbmFtZXMucGwgLS1vdXRkaXIgJGxtZ3Ig JGxtZ3IvbHdsb2NrbmFtZXMudHh0Iik7CiAJfQorCiAJaWYgKElzTmV3ZXIoCiAJCQknc3Jj L2luY2x1ZGUvc3RvcmFnZS9sd2xvY2tuYW1lcy5oJywKIAkJCSdzcmMvYmFja2VuZC9zdG9y YWdlL2xtZ3IvbHdsb2NrbmFtZXMuaCcpKQpAQCAtNTg5LDYgKzU5MCwyNCBAQCBzdWIgR2Vu ZXJhdGVGaWxlcwogCQkJJ3NyYy9pbmNsdWRlL3N0b3JhZ2UvbHdsb2NrbmFtZXMuaCcpOwog CX0KIAorCWlmIChJc05ld2VyKAorCQkJJ3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRldmVudG5h bWVzLmgnLAorCQkJJ3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRldmVudG5hbWVz LnR4dCcpKQorCXsKKwkJcHJpbnQgIkdlbmVyYXRpbmcgd2FpdGV2ZW50bmFtZXMuYyBhbmQg d2FpdGV2ZW50bmFtZXMuaC4uLlxuIjsKKwkJbXkgJGFjdGl2ID0gJ3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5JzsKKwkJc3lzdGVtKCJwZXJsICRhY3Rpdi9nZW5lcmF0ZS13YWl0ZXZl bnRuYW1lcy5wbCAtLW91dGRpciAkYWN0aXYgJGFjdGl2L3dhaXRldmVudG5hbWVzLnR4dCIp OworCX0KKworCWlmIChJc05ld2VyKAorCQkJJ3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRldmVu dG5hbWVzLmgnLAorCQkJJ3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRldmVudG5h bWVzLmgnKSkKKwl7CisJCWNvcHlGaWxlKAorCQkJJ3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3dhaXRldmVudG5hbWVzLmgnLAorCQkJJ3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRldmVu dG5hbWVzLmgnKTsKKwl9CisKIAlpZiAoSXNOZXdlcignc3JjL2luY2x1ZGUvdXRpbHMvcHJv YmVzLmgnLCAnc3JjL2JhY2tlbmQvdXRpbHMvcHJvYmVzLmQnKSkKIAl7CiAJCXByaW50ICJH ZW5lcmF0aW5nIHByb2Jlcy5oLi4uXG4iOwpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL21zdmMv Y2xlYW4uYmF0IGIvc3JjL3Rvb2xzL21zdmMvY2xlYW4uYmF0CmluZGV4IGQwZThiZmJmODYu LjZjMWMzZDA4MTYgMTAwNzU1Ci0tLSBhL3NyYy90b29scy9tc3ZjL2NsZWFuLmJhdAorKysg Yi9zcmMvdG9vbHMvbXN2Yy9jbGVhbi5iYXQKQEAgLTQ3LDYgKzQ3LDcgQEAgaWYgZXhpc3Qg c3JjXGluY2x1ZGVcdXRpbHNcZXJyY29kZXMuaCBkZWwgL3Egc3JjXGluY2x1ZGVcdXRpbHNc ZXJyY29kZXMuaAogaWYgZXhpc3Qgc3JjXGluY2x1ZGVcdXRpbHNcZm1ncm9pZHMuaCBkZWwg L3Egc3JjXGluY2x1ZGVcdXRpbHNcZm1ncm9pZHMuaAogaWYgZXhpc3Qgc3JjXGluY2x1ZGVc dXRpbHNcZm1ncnByb3Rvcy5oIGRlbCAvcSBzcmNcaW5jbHVkZVx1dGlsc1xmbWdycHJvdG9z LmgKIGlmIGV4aXN0IHNyY1xpbmNsdWRlXHN0b3JhZ2VcbHdsb2NrbmFtZXMuaCBkZWwgL3Eg c3JjXGluY2x1ZGVcc3RvcmFnZVxsd2xvY2tuYW1lcy5oCitpZiBleGlzdCBzcmNcaW5jbHVk ZVx1dGlsc1x3YWl0ZXZlbnRuYW1lcy5oIGRlbCAvcSBzcmNcaW5jbHVkZVx1dGlsc1x3YWl0 ZXZlbnRuYW1lcy5oCiBpZiBleGlzdCBzcmNcaW5jbHVkZVx1dGlsc1xwcm9iZXMuaCBkZWwg L3Egc3JjXGluY2x1ZGVcdXRpbHNccHJvYmVzLmgKIGlmIGV4aXN0IHNyY1xpbmNsdWRlXGNh dGFsb2dcc2NoZW1hcGcuaCBkZWwgL3Egc3JjXGluY2x1ZGVcY2F0YWxvZ1xzY2hlbWFwZy5o CiBpZiBleGlzdCBzcmNcaW5jbHVkZVxjYXRhbG9nXHN5c3RlbV9ma19pbmZvLmggZGVsIC9x IHNyY1xpbmNsdWRlXGNhdGFsb2dcc3lzdGVtX2ZrX2luZm8uaApAQCAtNjEsNyArNjIsOSBA QCBpZiAlRElTVCU9PTEgaWYgZXhpc3Qgc3JjXGJhY2tlbmRcdXRpbHNcZm1nci1zdGFtcCBk ZWwgL3Egc3JjXGJhY2tlbmRcdXRpbHNcZm1ncgogaWYgJURJU1QlPT0xIGlmIGV4aXN0IHNy Y1xiYWNrZW5kXHV0aWxzXGVycmNvZGVzLmggZGVsIC9xIHNyY1xiYWNrZW5kXHV0aWxzXGVy cmNvZGVzLmgKIGlmICVESVNUJT09MSBpZiBleGlzdCBzcmNcYmFja2VuZFxub2Rlc1xub2Rl dGFncy5oIGRlbCAvcSBzcmNcYmFja2VuZFxub2Rlc1xub2RldGFncy5oCiBpZiAlRElTVCU9 PTEgaWYgZXhpc3Qgc3JjXGJhY2tlbmRcc3RvcmFnZVxsbWdyXGx3bG9ja25hbWVzLmMgZGVs IC9xIHNyY1xiYWNrZW5kXHN0b3JhZ2VcbG1nclxsd2xvY2tuYW1lcy5jCitpZiAlRElTVCU9 PTEgaWYgZXhpc3Qgc3JjXGJhY2tlbmRcdXRpbHNcYWN0aXZpdHlcd2FpdGV2ZW50bmFtZXMu YyBkZWwgL3Egc3JjXGJhY2tlbmRcdXRpbHNcYWN0aXZpdHlcd2FpdGV2ZW50bmFtZXMuYwog aWYgJURJU1QlPT0xIGlmIGV4aXN0IHNyY1xiYWNrZW5kXHN0b3JhZ2VcbG1nclxsd2xvY2tu YW1lcy5oIGRlbCAvcSBzcmNcYmFja2VuZFxzdG9yYWdlXGxtZ3JcbHdsb2NrbmFtZXMuaAor aWYgJURJU1QlPT0xIGlmIGV4aXN0IHNyY1xiYWNrZW5kXHV0aWxzXGFjdGl2aXR5XHdhaXRl dmVudG5hbWVzLmggZGVsIC9xIHNyY1xiYWNrZW5kXHV0aWxzXGFjdGl2aXR5XHdhaXRldmVu dG5hbWVzLmgKIGlmICVESVNUJT09MSBpZiBleGlzdCBzcmNccGxccGxweXRob25cc3BpZXhj ZXB0aW9ucy5oIGRlbCAvcSBzcmNccGxccGxweXRob25cc3BpZXhjZXB0aW9ucy5oCiBpZiAl RElTVCU9PTEgaWYgZXhpc3Qgc3JjXHBsXHBscGdzcWxcc3JjXHBsZXJyY29kZXMuaCBkZWwg L3Egc3JjXHBsXHBscGdzcWxcc3JjXHBsZXJyY29kZXMuaAogaWYgJURJU1QlPT0xIGlmIGV4 aXN0IHNyY1xwbFx0Y2xccGx0Y2xlcnJjb2Rlcy5oIGRlbCAvcSBzcmNccGxcdGNsXHBsdGNs ZXJyY29kZXMuaAotLSAKMi4zNC4xCgo= --------------7EDQa6GiUoSqcrsCxlptAAIg Content-Type: application/x-sh; name="generate_waiteventnames_txt.sh" Content-Disposition: attachment; filename="generate_waiteventnames_txt.sh" Content-Transfer-Encoding: 7bit #!/bin/bash IFS=$'\n' reach_end_struct=false for re in `sed -n "/typedef enum/,/} WaitEvent.*;$/p" ./src/include/utils/wait_event.h | grep -v typedef | grep -v "{"` do IFS=$'\n' eve=`echo "$re" | sed 's/,$//'` if [[ "$re" == *"="* ]]; then eve=`echo $re | sed 's/ = .*$//'` fi if [[ "$re" == *";" ]]; then stru=`echo $re | sed 's/^} //' | sed 's/;$//'` reach_end_struct=true else if [ "$reach_end_struct" = true ] ; then echo $eve > wetempo.txt reach_end_struct=false else echo $eve >> wetempo.txt fi fi if [ "$reach_end_struct" = true ] ; then unset IFS for i in `cat wetempo.txt` do waitxt=`sed -n "/case $i:/{n;p}" src/backend/utils/activity/wait_event.c | sed 's/^.*event_name = //' | sed 's/;$//'` noq=`echo $waitxt | sed 's/"//g'` desc=`sed -n "/$noq/,/<\/entry>$/p" doc/src/sgml/monitoring.sgml | sed 's/^.*<\/literal><\/entry>//' | sed 's/^.*//' | sed 's/<\/entry>$//'` desc=`echo $desc | sed 's/^ *//'` echo -e "$stru\t"$i"\t"$waitxt"\t\""$desc\" >> ./src/backend/utils/activity/waiteventnames.txt done fi done rm wetempo.txt --------------7EDQa6GiUoSqcrsCxlptAAIg--