From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f173.i.mail.ru (f173.i.mail.ru [94.100.178.159]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 51FE6469719 for ; Tue, 22 Sep 2020 08:03:08 +0300 (MSK) From: =?UTF-8?B?0JzQtdGA0LPQtdC9INCY0LzQtdC10LI=?= MIME-Version: 1.0 Date: Tue, 22 Sep 2020 08:03:06 +0300 Reply-To: =?UTF-8?B?0JzQtdGA0LPQtdC9INCY0LzQtdC10LI=?= Message-ID: <1600750986.926093408@f173.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--fE222cBb87dCB104268D55863Fc71A6d1600750986" In-Reply-To: <6147fe3a-fd68-53b3-3a95-a7321de79183@tarantool.org> References: <18754f111764a630acf8285dcd8c4b5cfd2a254e.1599220118.git.imeevma@gmail.com> <20200920211715.GA70309@tarantool.org> <6147fe3a-fd68-53b3-3a95-a7321de79183@tarantool.org> Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v1_1/1=5D_sql=3A_enable_au?= =?utf-8?q?toindex_optimization?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?VmxhZGlzbGF2IFNocGlsZXZveQ==?= Cc: =?UTF-8?B?TWVyZ2VuIEltZWV2?= , tarantool-patches@dev.tarantool.org ----ALT--fE222cBb87dCB104268D55863Fc71A6d1600750986 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CtCf0YDQuNCy0LXRgiEg0KHQv9Cw0YHQuNCx0L4g0LfQsCDRgNC10LLRjNGOISDQryDQv9GA0L7R iNGDINC/0YDQvtGJ0LXQvdC40Y8sINC90LAg0LTQsNC90L3Ri9C5INC80L7QvNC10L3RgiDRjyDQ vNC+0LPRgyDRgtC+0LvRjNC60L4g0L7RgtCy0LXRgtC40YLRjCDQvdCwINCy0L7Qv9GA0L7RgdGL INGA0LXQstGM0Y7RkSDQktGB0LUg0LjQt9C80LXQvdC10L3QuNGPINC4INC/0YDQuNC80LXRgNGL INGPINGB0LzQvtCz0YMg0L7RgtC/0YDQsNCy0LjRgtGMINC30LDQstGC0YDQsC4KwqAgCj7QktGC 0L7RgNC90LjQuiwgMjIg0YHQtdC90YLRj9Cx0YDRjyAyMDIwLCAwOjM3ICswMzowMCDQvtGCIFZs YWRpc2xhdiBTaHBpbGV2b3kgPHYuc2hwaWxldm95QHRhcmFudG9vbC5vcmc+Ogo+wqAKPtCf0YDQ uNCy0LXRgiEg0KHQv9Cw0YHQuNCx0L4g0LfQsCDQv9Cw0YLRhyEKPgo+T24gMjAuMDkuMjAyMCAy MzoxNywgTWVyZ2VuIEltZWV2IHdyb3RlOgo+PiBIaSEgVGhhbmsgeW91IGZvciB0aGUgcmV2aWV3 LiBNeSBhbnN3ZXJzLCBkaWZmIGFuZCBuZXcgcGF0Y2ggYmVsb3cuCj4+Cj4+IEkgdHJpZWQgdG8g YW5zd2VyIGEgZmV3IHF1c3Rpb25zLCBidXQgYXQgdGhlIGVuZCBkZWNpZGVkIHRvIG5vdCBpbmNs dWRlIHRoZW0KPj4gaW4gdGhpcyBwYXRjaC4gSGVyZSBhcmUgdGhlc2UgcXVlc3Rpb25zOgo+Cj7Q lNCw0LLQsNC5INC/0L4t0YDRg9GB0YHQutC4LiDQryDRh9C1LdGC0L4g0L3QtSDQv9C+0L3QuNC8 0LDRjiDQvdC40YfQtdCz0L4uINCvINGN0YLQuNGFINCy0L7Qv9GA0L7RgdC+0LIg0L3QtSDQt9Cw 0LTQsNCy0LDQuy4g0K3RgtC+Cj7RgtCy0L7QuCDRgdC+0LHRgdGC0LLQtdC90L3Ri9C1INCy0L7Q v9GA0L7RgdGLINC00LvRjyDRgdCw0LzQvtC/0YDQvtCy0LXRgNC60LgsINC90LAg0LrQvtGC0L7R gNGL0LUg0YLRiyDRgNC10YjQuNC7INC+0YLQstC10YLQuNGC0YwKPtC/0YPQsdC70LjRh9C90L4/ CgrQnNC90LUg0LrQsNC30LDQu9C+0YHRjCwg0YfRgtC+INGN0YLQuCDQstC+0L/RgNC+0YHRiyDQ uNC80LXRjtGCINC30L3QsNGH0LXQvdC40LUg0LTQu9GPINGN0YLQvtCz0L4g0L/QsNGC0YfQsCwg 0L/QvtGN0YLQvtC80YMg0Y8g0LLQutC70Y7Rh9C40Lsg0LjRhSDRgdGO0LTQsC4KPgo+PiAxKSBD YW4gd2UgdXNlIHNlY29uZGFyeSBpbmRleCBpbnN0ZWFkIG9mIGFuIGVwaGVtZXJhbCBzcGFjZT8K Pj4gVGhpcyBsb29rIGEgYml0IGRpZmZpY3VsdCwgYW5kIGl0IGNhbm5vdCBiZSB1c2VkIHdpdGgg dmlldyBzaW5jZSB0aGV5IGRvIG5vdAo+PiBoYXZlIGFuIGFjdHVhbCBpbmRleC4KPgo+0K3RgtC+ INC90LUg0YLQvtC70YzQutC+INGB0LvQvtC20L3Qviwg0L3QviDQuCDQvdC10L/RgNCw0LLQuNC7 0YzQvdC+LiDQodC+0LfQtNCw0LLQsNGC0Ywg0LLRgtC+0YDQuNGH0L3Ri9C5INC40L3QtNC10LrR gSDQvdCwINC60LDQttC00YvQuQo+0LfQsNC/0YDQvtGBINCy0YvQs9C70Y/QtNC40YIg0L7Rh9C1 0L3RjCDQttC10YHRgtC60L4uINCa0YLQviDQsdGD0LTQtdGCINCz0LDRgNCw0L3RgtC40YDQvtCy 0LDRgtGMINC40YUg0YPQtNCw0LvQtdC90LjQtSAo0YLQsNC6INC60LDQugo+0Y3RgtC+INC40LfQ vNC10L3QtdC90LjQtSDRgdGF0LXQvNGLLCDQsCDQt9C90LDRh9C40YIg0L/QvtC/0LDQtNCw0LXR giDQsiBXQUw/INCa0LDQuiDRgdC00LXQu9Cw0YLRjCDQuNGFINC90LXQstC40LTQuNC80YvQvNC4 INC00LvRjwo+0Y7Qt9C10YDQvtCyLCDQuCAi0LLQuNC00LXRgtGMIiDQuNGFINGC0L7Qu9GM0LrQ viDQsiDQvtC00L3QvtC8INC30LDQv9GA0L7RgdC1PyDQmtCw0Log0LHRi9GC0Ywg0YEg0LLQuNC9 0LjQu9C+0Lw/INCh0LvQuNGI0LrQvtC8Cj7QvNC90L7Qs9C+INCy0L7Qv9GA0L7RgdC+0LIuCgrQ n9C+0L3Rj9C7LCDRgdC/0LDRgdC40LHQvi4g0KMg0LzQtdC90Y8g0LHRi9C70Lgg0LLQvtC/0YDQ vtGB0Ysg0LTRgNGD0LPQvtCz0L4g0L/Qu9Cw0L3QsCDigJQg0LrQsNC6INGA0LDQsdC+0YLQsNGC 0Ywg0YEg0Y3RgtC40Lwg0LLRgtC+0YDQuNGH0L3Ri9C8INC40L3QtNC10LrRgdC+0Lwg0YfRgtC+ LdCx0Ysg0LLRgdC1INC90LUg0YHQu9C+0LzQsNC70L7RgdGMINCyIFNRTCwg0L3QviDRgtCy0L7Q uCDQstC+0L/RgNC+0YHRiyDQsdC+0LvQtdC1INCz0LvQvtCx0LDQu9GM0L3Riy4g0JzQvdC1INC6 0LDQt9Cw0LvQvtGB0YwsINGH0YLQviDRgdC+0LfQtNCw0L3QuNC1INC40L3QtNC10LrRgdCwINCy 0LzQtdGB0YLQviDQv9C10YDQtdGB0L7Qt9C00LDQvdC40Y8g0YLQsNC/0LvQvtCyINCx0YPQtNC1 0YIg0LLRi9Cz0L7QtNC90LXQtSwg0L3QviDQstC+0LfQvdC40LrQsNC10YIg0YHQu9C40YjQutC+ 0Lwg0LzQvdC+0LPQviDQv9GA0L7QsdC70LXQvC4g0K8g0LTRg9C80LDRjiDQv9C+0LrQsCDRgdGC 0L7QuNGCINC+0YLQutCw0LfQsNGC0YzRgdGPINC+0YIg0Y3RgtC+0LPQviDQstCw0YDQuNCw0L3R gtCwLgrCoAo+Cj7QpdC+0YLRjyDQsiDQtNCw0LvQtdC60L7QuSDQv9C10YDRgdC/0LXQutGC0LjQ stC1INC30LLRg9GH0LjRgiDQutGA0YPRgtC+IC0gItGN0YTQtdC80LXRgNC90YvQtSDQuNC90LTQ tdC60YHRiyIuINCf0YDRj9C80L4g0YLQsNC60LgKPtC90LDQt9Cy0LDQvdC40LUg0LTQu9GPINC0 0LjRgdC10YDQsC4g0JzQvtCz0LvQviDQsdGLINC/0L7QvNC+0YfRjCDQsiDQvNC10LzRgtC40LrR gdC1LCDRh9GC0L7QsSAi0Y3RhNC10LzQtdGA0L3Ri9C1INC40L3QtNC10LrRgdGLIgo+0YXRgNCw 0L3QuNC70Lgg0YHRgdGL0LvQutC4INC90LAg0YLQsNC/0LvRiywg0LAg0L3QtSDQutC+0L/QuNC4 INGC0LDQv9C70L7Qsi4KPgo+PiAyKSBDYW4gd2UgZ2V0IHJpZCBvZiAndmlhQ29yb3V0aW5lJyBi cmFuY2hlcyBpbiBjb25zdHJ1Y3RBdXRvbWF0aWNJbmRleCgpPwo+PiBBcyBmYXIgYXMgSSB1bmRl cnN0YW5kLCB0aGlzIGZsYWcgaXMgYWx3YXlzIGZhbHNlIGhlcmUuCj4KPtCd0LUg0L/RgNC10LTR gdGC0LDQstC70Y/RjiDRh9GC0L4g0Y3RgtC+LiDQmCDRgSDQv9Cw0YLRh9C10Lwg0L/QvtGF0L7Q tNGDINC90LUg0YHQstGP0LfQsNC90L4uCgrQndC1INGB0L7QstGB0LXQvCDQvdC1INGB0LLRj9C3 0LDQvdC+LiDQlNC10LvQviDQsiDRgtC+0LwsINGH0YLQviDQtdGB0LvQuCDQvNGLINGD0LTQsNC7 0LjQvCDQsdGA0LDQvdGHINGBIHZpYUNvcm91dGluZSwg0YIu0LouINC+0L0g0YMg0L3QsNGBINC9 0LAg0LTQsNC90L3Ri9C5INC80L7QvNC10L3RgiDQstGB0LXQs9C00LAgZmFsc2UsINGDINC90LDR gSDRg9C/0YDQvtGB0YLQuNGC0YHRjyDQutC+0LQuINCd0LDQv9GA0LjQvNC10YAg0YTRg9C90LrR htC40Y8gZ2VuZXJhdGVfaW5kZXhfa2V5KCkg0YHRgtCw0L3QtdGCIHZvaWQuCsKgCj4KPj4gMykg Q2FuIEkgZ2V0IHJpZCBvZiBPUF9SZWFsaWZ5Pwo+PiBJIHRoaW5rIEkgY2FuLCBidXQgZGVjaWRl ZCB0byBkbyB0aGlzIG5vIGluIHRoaXMgcGF0Y2guCj4KPtCi0Ysg0L/RgNC+0LHQvtCy0LDQuyDQ tdCz0L4g0L/RgNC+0YHRgtC+INC00YDQvtC/0L3Rg9GC0Yw/INCb0L7QvNCw0LXRgtGB0Y8g0YfR gtC+LdGC0L4/CgrQn9GA0L7QsdC+0LLQsNC7LCDQvdC40YfQtdCz0L4g0L3QtSDQu9C+0LzQsNC1 0YLRgdGPLiDQldGB0LvQuCDQv9C+0YHQvNC+0YLRgNC10YLRjCDQvdCwINCy0YHQtSDQvNC10YHR gtCwINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPIE9QX1JlYWxpZnkgKNC40YUg0LTQstCwKSDQ uCDQv9C+0YHQvNC+0YLRgNC10YLRjCDQvdCwINGB0YLQsNGA0YvQuSDQutC+0LQsINC10YnQtSDQ tNC+INGD0LTQsNC70LDQu9C10L3QuNGPINGC0LjQv9CwIFJlYWwg0LjQtyBTUUwsINGC0L4g0YLQ sNC8INCy0LjQtNC90L4sINGH0YLQviDRjdGC0L7RgiDQvtC/0LrQvtC0INC40YHQv9C+0LvRjNC3 0L7QstCw0LvRgdGPINC00LvRjyDQv9GA0LXQvtCx0YDQsNC30L7QstCw0L3QuNGPIElOVCDQsiBS RUFMLiDQmtC+0LPQtNCwIFJFQUwg0LHRi9C3INC30LDQvNC10L3QtdC9INC90LAgTlVNQkVSINGN 0YLQviDQv9GA0LXQvtCx0YDQsNC30L7QstCw0L3QuNC1INC+0YHRgtCw0LvQvtGB0YwsINGF0L7R gtGPLCDQutCw0Log0LzQvdC1INC60LDQttC10YLRgdGPLCDQsiDQvdC10Lwg0L3QtdCx0YvQu9C+ INC90YPQttC00YsuINCf0L7RgdC70LUg0LTQvtCx0LDQstC70LXQvdC40Y8gRE9VQkxFINCyINC/ 0LDRgNC1INC80LXRgdGCINGN0YLQvtGCINC+0L/QutC+0LQg0LLRgdC1INC10YnQtSDRgdGD0YnQ tdGB0YLQstGD0LXRgiwg0L7QtNC90LDQutC+INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQvdC1 0L/RgNCw0LLQuNC70YzQvdC+LiDQryDQtNGD0LzQsNGOINGN0YLQvtGCINC+0L/QutC+0LQg0LHQ vtC70YzRiNC1INC90LXQvdGD0LbQtdC9LiDQntC00L3QsNC60L4sINC80L3QtSDQutCw0LbQtdGC 0YHRjyDQtdCz0L4g0YHRgtC+0LjRgiDRg9Cx0YDQsNGC0Ywg0L7RgtC00LXQu9GM0L3Ri9C8INC/ 0LDRgtGH0LXQvCDQstC90LUg0Y3RgtC+0Lkg0LfQsNC00LDRh9C4Lgo+Cj4+IE9uIFdlZCwgU2Vw IDA5LCAyMDIwIGF0IDExOjU4OjA5UE0gKzAyMDAsIFZsYWRpc2xhdiBTaHBpbGV2b3kgd3JvdGU6 Cj4+PiBIaSEgVGhhbmtzIGZvciB0aGUgcGF0Y2ghCj4+Pgo+Pj4gU2VlIDE0IGNvbW1lbnRzIGJl bG93Lgo+Pj4KPj4+IE9uIDA0LjA5LjIwMjAgMTM6NTMsICBpbWVldm1hQHRhcmFudG9vbC5vcmcg d3JvdGU6Cj4+Pj4gVGhpcyBwYXRjaCBlbmFibGVzIHRoZSAiYXV0by1pbmRleCIgb3B0aW1pemF0 aW9uIGluIFNRTC4gVGhlIGF1dG8taW5kZXgKPj4+PiBpcyBhY3R1YWxseSBhbiBlcGhlbWVyYWwg c3BhY2UgdGhhdCBjb250YWluIHNvbWUgY29sdW1ucyBvZiB0aGUgb3JpZ2luYWwKPj4+PiBzcGFj ZS4KPj4+Cj4+PiAxLiBJbiB0aGUgcGF0Y2ggdGhlIGNvZGUgY2FsbHMgdGhlIGluZGV4ICdjb3Zl cmluZycgbWVhbmluZyB0aGF0IGl0Cj4+PiBjb250YWlucyBhbGwgdGhlIGNvbHVtbnMuIFdoYXQg aXMgdHJ1ZT8KPj4gQm90aCwgSSB0aGluaywgc2luY2UgdGhpcyBpbmRleCBpcyB0aGUgUEsgb2Yg bWVudGlvbmVkIGVwaGVtZXJhbCBzcGFjZS4KPgo+0KfRgtC+INC30L3QsNGH0LjRgiBib3RoPyDQ mNC90LTQtdC60YEg0LvQuNCx0L4gY292ZXJpbmcgKNGB0L7QtNC10YDQttC40YIg0LLRgdC1INC6 0L7Qu9C+0L3QutC4KSwg0LvQuNCx0L4g0L3QtdGCICjRgdC+0LTQtdGA0LbQuNGCCj7QvdC1INCy 0YHQtSkuCgrQodGD0YLRjCDQsiDRgtC+0LwsINGH0YLQviBpZHhfZGVmINGB0L7QtNC10YDQttC4 0YIg0L3QtSDQstGB0LUg0LrQvtC70L7QvdC60Lgg0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz0L4g 0YHQv9C10LnRgdCwLCDQvtC00L3QsNC60L4g0LjQvdC00LXQutGBINGB0L7Qt9C00LDQstCw0LXQ vNGL0Lkg0LTQu9GPINGN0YTQtdC80LXRgNC90L7Qs9C+INGB0L/QtdC50YHQsCDRgdC+0LTQtdGA 0LbQuNGCINCy0YHQtSDQutC+0LvQvtC90LrQuC4g0J/RgNC4INGN0YLQvtC8LCDRgdC+0LfQtNCw 0L3QuNC1IGlkeF9kZWYg0L3QtSDQv9GA0LjQstC+0LTQuNGCINC6INGB0L7Qt9C00LDQvdC40Y4g 0LjQvdC00LXQutGB0LAuCsKgCtCvINC/0L7Qv9GA0L7QsdGD0Y4g0L7Qv9C40YHQsNGC0Ywg0LLQ tdGB0Ywg0LzQtdGF0LDQvdC40LfQvDoKKiAg0J/Qu9Cw0L3QuNGA0L7QstGJ0LjQuiDQvtC/0YDQ tdC00LXQu9GP0LXRgiwg0YfRgtC+INCx0YPQtNC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGM 0YHRjyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuNC5INC40L3QtNC10LrRgS4KKiAg0KHQvtC3 0LTQsNC10YLRgdGPIGlkeF9kZWYsINC60L7RgtC+0YDRi9C5INGB0L7QtNC10YDQttC40YIg0LLR gdC1INC40YHQv9C+0LvRjNC30YPRjtGJ0LjQtdGB0Y8g0LIg0LfQsNC/0YDQvtGB0LUg0LrQvtC7 0L7QvdC60Lgg0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz0L4g0YHQv9C10LnRgdCwLiDQndC1INGC 0L7Qu9GM0LrQviDRgtC1LCDQutC+0YLQvtGA0YvQtSDQuNGB0L/QvtC70YzQt9GD0Y7RgtGB0Y8g 0LLQviB3aGVyZS4g0K3RgtC+INC00LXQu9Cw0LXRgtGB0Y8g0LTQu9GPINGC0L7Qs9C+LCDRh9GC 0L4g0LHRiyDQsdC+0LvRjNGI0LUg0L3QtSDQvtCx0YDQsNGJ0LDRgtGM0YHRjyDQuiDQvtGA0LjQ s9C40L3QsNC70YzQvdC+0LzRgyDRgdC/0LXQudGB0YMsINCwINGA0LDQsdC+0YLQsNGC0Ywg0YLQ vtC70YzQutC+INGBINGN0YTQtdC80LXRgNC90YvQvCDRgdC/0LXQudGB0L7QvC4g0K3RgtC+0YIg aWR4X2RlZiDQvdC1INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YHQvtC30LTQsNC9 0LjRjyDQuNC90LTQtdC60YHQsC4KKiAg0KHQvtC30LTQsNC10YLRgdGPINGN0YTQtdC80LXRgNC9 0YvQuSDRgdC/0LXQudGBINC90LAg0L7RgdC90L7QstC1INGB0L7Qt9C00LDQvdC90L7Qs9C+INGA 0LDQvdC10LUgaWR4X2RlZi4g0J/QvtC80LjQvNC+INC60L7Qu9C+0L3QvtC6INC+0YDQuNCz0LjQ vdCw0LvRjNC90L7Qs9C+INGB0L/QtdC50YHQsCDQtNC+0LHQsNCy0LvRj9C10YLRgdGPIHJvd2lk LCDRgi7Qui4g0LLQvtC30LzQvtC20L3RiyDRgdC70YPRh9Cw0LgsINC60L7Qs9C00LAg0LfQvdCw 0YfQtdC90LjRjyDQstC+INCy0YHQtdGFINC60L7Qu9C+0L3QutCw0YUg0YHQvtCy0L/QsNC00LDQ tdGCINCyINC90LXRgdC60L7Qu9GM0LrQuNGFINC30LDQv9C40YHRj9GFLiDQn9GA0Lgg0Y3RgtC+ 0LwsINC60L7Qu9C+0L3QutC4INCyINGN0YTQtdC80LXRgNC90L7QvCDRgdC/0LXQudGB0LUg0YDQ sNGB0L/QvtC70L7QttC10L3RiyDQsiDRgtC+0Lwg0LbQtSDQv9C+0YDRj9C00LrQtSwg0LIg0LrQ sNC60L7QvCDQvtC90Lgg0L7Qv9C40YHQsNC90Ysg0LIg0LjQvdC00LXQutGB0LUuwqAg0KIu0LUu INC+0L3QuCwg0YHQutC+0YDQtdC1INCy0YHQtdCz0L4sINGA0LDRgdC/0L7Qu9C+0LbQtdC90Ysg 0L3QtSDQsiDRgtC+0Lwg0LbQtSDQv9C+0YDRj9C00LrQtSwg0LIg0LrQsNC60L7QvCDQvtC90Lgg 0YDQsNGB0L/QvtC70L7QttC10L3RiyDQsiDQvtGA0LjQs9C40L3QsNC70YzQvdC+0Lwg0YHQv9C1 0LnRgdC1LgoqICDQlNC70Y8g0YHQvtC30LTQsNC90L3QvtCz0L4g0Y3RhNC10LzQtdGA0L3QvtCz 0L4g0YHQv9C10LnRgdCwINGB0L7Qt9C00LDQtdGC0YHRjyDQuNC90LTQtdC60YEsINC60L7RgtC+ 0YDRi9C1INGP0LLQu9GP0LXRgtGB0Y8gY292ZXJpbmcuINCY0LzQtdC90L3QviDQv9C+0Y3RgtC+ 0LzRgyDQsiDQvdC10LrQvtGC0L7RgNGL0YUg0LzQtdGB0YLQsNGFINC90LDQv9C40YHQsNC90L4s INGH0YLQviDRgdC+0LfQtNCw0LXRgtGB0Y8gY292ZXJpbmcgaW5kZXguCiogINCiLtC6LiDQv9C7 0LDQvdC40YDQvtCy0YnQuNC6INC/0L7RgdGH0LjRgtCw0LssINGH0YLQviDQsdGD0LTQtdGCINC4 0YHQv9C+0LvRjNC30L7QstCw0YLRjNGB0Y8g0LDQstGC0L7QuNC90LTQtdC60YEsINGC0L4g0LIg 0LrQsNGH0LXRgdGC0LLQtSDRgdC/0LXQudGB0LAg0LjQtyDQutC+0YLQvtGA0L7Qs9C+INCx0YPQ tNGD0YIg0LLRi9Cx0YDQsNC90Ysg0YLQsNC/0LvRiyDQvNGLINCx0YPQtNC10Lwg0LjRgdC/0L7Q u9GM0LfQvtCy0LDRgtGMINGB0L7Qt9C00LDQvdC90YvQuSDQvdCw0LzQuCDRjdGE0LXQvNC10YDQ vdGL0Lkg0YHQv9C10LnRgS4g0J7QtNC90LDQutC+LCDQstC+INCy0YDQtdC80Y8g0L/QvtGB0YLR gNC+0LXQvdC40Y8gdmRiZS3QutC+0LTQsCDQsiDQutCw0YfQtdGB0YLQstC1IGZpZWxkbm8g0LHR i9C70L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC+INGA0LDRgdC/0L7Qu9C+0LbQtdC90LjQtSDQ utC+0LvQvtC90L7QuiDQsiDQvtGA0LjQs9C40L3QsNC70YzQvdC+0Lwg0YHQv9C10LnRgdC1LiDQ n9C+0Y3RgtC+0LzRgywg0LIg0YHQu9GD0YfQsNC1INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGP INCw0LLRgtC+0LjQvdC00LXQutGB0LAg0LzRiyDQt9Cw0LzQtdC90Y/QtdC8IGZpZWxkbm8g0L7R gNC40LPQuNC90LDQu9GM0L3QvtCz0L4g0YHQv9C10LnRgdCwINCyIE9QX0NvbHVtbiDQvdCwIGZp ZWxkbm8g0LIg0Y3RhNC10LzQtdGA0L3QvtC8INGB0L/QtdC50YHQtSDQuNGB0L/QvtC70YzQt9GD 0Y8g0YHQvtC30LTQsNC90L3Ri9C5INGA0LDQvdC10LUgaWR4X2RlZi4KwqAKPgo+PiBXZSBjcmVh dGUgaW5kZXggZGVmaW5pdGlvbiBmb3IgdGhlIG9yaWdpbmFsIHNwYWNlLCBob3dldmVyIHRoaXMg aW5kZXggZGVmaW5pdGlvbgo+PiBpcyBub3QgdXNlZCBmb3IgYW55IGFjdHVhbCBpbmRleC4gVGhp cyBpbmRleCBkZWZpbml0aW9uIGlzIHVzZWQgYXMgYSBjb25uZWN0aW9uCj4+IGJldHdlZW4gb3Jp Z2luYWwgc3BhY2UgYW5kIGNyZWF0ZWQgZXBoZW1lcmFsIHNwYWNlLgo+Cj7QndC1INC/0L7QvdGP 0Lsg0L3QuNGH0LXQs9C+LiDQn9C10YDQtdGE0YDQsNC30LjRgNGD0Lkg0L3QsCDRgNGD0YHRgdC6 0L7QvCDQv9C70LjQtywg0LzQvtC20LXRgiDRgtCw0Log0L/QvtC90Y/RgtC90LXQtSDRgdGC0LDQ vdC10YIuCgrQl9C00LXRgdGMINGPINC40LzQtdC7INCy0LLQuNC00YMg0YLQviwg0YfRgtC+INC+ 0L/QuNGB0LDQuyDQsiDQvy4yINC4wqAg0L8uNSDQstGL0YjQtS4KPgo+Pj4+IEluIHNvbWUgY2Fz ZXMsIHRoaXMgY2FuIHNwZWVkIHVwIGV4ZWN1dGlvbiwgc2luY2UgY3JlYXRpbmcgYSBuZXcKPj4+ PiBpbmRleCBhbmQgc2VhcmNoaW5nIHVzaW5nIGl0IGNhbiBiZSBtb3JlIGNvc3QgZWZmaWNpZW50 IHRoYW4gc2Nhbm5pbmcuCj4+Pgo+Pj4gMi4gQ291bGQgeW91IHByb3ZpZGUgYW4gZXhhbXBsZT8K Pj4gQXQgdGhlIG1vbWVudCBleGFtcGxlcyB0aGF0IGNhbiBzaG93IHRoYXQgaW4gc29tZSBjYXNl cyBTUUwgd29ya3MgZmFzdGVyIHdpdGgKPj4gZW5hYmxlZCBvcHRpbWl6YXRpb24gYXJlIHF1aXRl IGJpZy4gT25lIG9mIHN1Y2ggZXhhbXBsZXMgaXMgUTEzIGZvciBUUEMtSC4KPj4gU2hvdWxkIEkg cHJvdmlkZSBkYXRhIGdlbmVyYXRpb24gYW5kIHF1ZXJ5Pwo+Cj7QndC10YIsINGB0LrRgNC40L/R giDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QuSDQvdCw0LLQtdGA0L3Rj9C60LAg0Lgg0L3Q tSDRgdC60LDQttC10YIg0L3QuNGH0LXQs9C+LiDQryDQv9GL0YLQsNGO0YHRjCDQv9C+0L3Rj9GC 0YwsCj7QtNC70Y8g0LrQsNC60LjRhSDQt9Cw0L/RgNC+0YHQvtCyINGN0YLQviDQv9GA0LjQvNC1 0L3QuNC80L4uINCa0LDQuiDRjdGC0Lgg0LfQsNC/0YDQvtGB0Ysg0L7Qv9C40YHQsNGC0Yw/INCa 0LDQuiDQv9C+INC30LDQv9GA0L7RgdGDINC/0L7QvdGP0YLRjCwKPtCx0YPQtNC10YIg0YLQsNC8 INCw0LLRgtC+0LjQvdC00LXQutGBINC40LvQuCDQvdC10YI/INCa0L7QvdC60YDQtdGC0L3Ri9C5 INC/0YDQuNC80LXRgCDQt9Cw0L/RgNC+0YHQsCDQvNC+0LbQtdGCINC4INC/0L7QvNC+0LbQtdGC LCDQvdC+INGPCj7RhdC3LCDRjyDQv9GA0L7RgdGC0L4g0L3QtSDQt9C90LDRjiDQutCw0Log0L7Q vSDQstGL0LPQu9GP0LTQuNGCLgoK0J/QvtC90Y/Quy4g0K8g0LTQvtCx0LDQstC70Y4g0L/RgNC4 0LzQtdGAINC4INC+0L/QuNGB0LDQvdC40LUg0YLQvtCz0L4sINC60L7RgtCz0LTQsCDQsNCy0YLQ vtC40L3QtNC10LrRgSDQv9GA0LjQvNC10L3Rj9C10YLRgdGPLsKgINCd0LAg0LTQsNC90L3Ri9C5 INC80L7QvNC10L3RgiDQvNC+0LPRgyDRgdC60LDQt9Cw0YLRjCwg0YfRgtC+INC+0LTQvdC40Lwg 0LjQtyDRgdC70YPRh9Cw0LXQsiDQutC+0LPQtNCwINC+0L0g0L/RgNC40LzQtdC90Y/QtdGC0YHR jyDigJQg0LfQsNC/0YDQvtGB0Ysg0YEg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LXQvCBqb2lu LiDQrdGC0L7RgiDQstC+0L/RgNC+0YEg0Y8g0L7Qv9C40YjRgyDQsdC+0LvQtdC1INC/0L7Qv9C0 0YDQvtCx0L3QviDRh9GD0YLRjCDQv9C+0LfQttC1Lgo+Cj7QktC+0YIg0YLRiyDQtNC+0LHQsNCy 0LjQuyAiQXV0by1pbmRleCIgb3B0aW1pemF0aW9uIGlzIG5vdyBlbmFibGVkINCyIGNoYW5nZWxv Zy4g0K8g0Y7Qt9C10YAsINC4INC90LUKPtC/0YDQtdC00YHRgtCw0LLQu9GP0Y4g0YfRgtC+INGN 0YLQviDRgtCw0LrQvtC1LiDQotGLINC+0YLQv9GA0LDQstC40YjRjCDQvNC10L3RjyDRh9C40YLQ sNGC0Ywg0LrQvtC0IFRQQy1IINCx0LXQvdGH0LAsINGH0YLQvtCx0Ysg0L/QvtC90Y/RgtGMPwoK 0J/QvtC90Y/QuyzCoCDQuNGB0L/RgNCw0LLQu9GOLgo+Cj4+Pj4gQ28tYXV0aG9yZWQtYnk6IE1l cmdlbiBJbWVldiA8IGltZWV2bWFAZ21haWwuY29tID4KPj4+PiBDby1hdXRob3JlZC1ieTogVGlt dXIgU2FmaW4gPCB0c2FmaW5AdGFyYW50b29sLm9yZyA+Cj4+Pj4gLS0tCj4+Pj4gIGh0dHBzOi8v Z2l0aHViLmNvbS90YXJhbnRvb2wvdGFyYW50b29sL2lzc3Vlcy80OTMzCj4+Pj4gIGh0dHBzOi8v Z2l0aHViLmNvbS90YXJhbnRvb2wvdGFyYW50b29sL3RyZWUvaW1lZXZtYS9naC00OTMzLWF1dG9p bmRleAo+Pj4+Cj4+Pj4gQENoYW5nZUxvZwo+Pj4+IC0gIkF1dG8taW5kZXgiIG9wdGltaXphdGlv biBpcyBub3cgZW5hYmxlZCAoZ2gtNDkzMykuCj4+Pj4KPj4+PiBzcmMvYm94L0NNYWtlTGlzdHMu dHh0IHwgMiArLQo+Pj4+IHNyYy9ib3gvc3FsLmMgfCAyICstCj4+Pj4gc3JjL2JveC9zcWwvZGVs ZXRlLmMgfCAxNiArKy0tCj4+Pj4gc3JjL2JveC9zcWwvc3FsSW50LmggfCA4ICstCj4+Pj4gc3Jj L2JveC9zcWwvd2hlcmUuYyB8IDE3MCArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LQo+Pj4+IHNyYy9ib3gvc3FsL3doZXJlY29kZS5jIHwgMTMgKy0tCj4+Pj4gdGVzdC9zcWwtdGFw L3doZXJlRi50ZXN0Lmx1YSB8IDE2ICsrKy0KPj4+PiA3IGZpbGVzIGNoYW5nZWQsIDE1MSBpbnNl cnRpb25zKCspLCA3NiBkZWxldGlvbnMoLSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9zcmMvYm94 L0NNYWtlTGlzdHMudHh0IGIvc3JjL2JveC9DTWFrZUxpc3RzLnR4dAo+Pj4+IGluZGV4IGI4YjI2 ODlkMi4uN2UzYWQwZTIyIDEwMDY0NAo+Pj4+IC0tLSBhL3NyYy9ib3gvQ01ha2VMaXN0cy50eHQK Pj4+PiArKysgYi9zcmMvYm94L0NNYWtlTGlzdHMudHh0Cj4+Pj4gQEAgLTIxNyw3ICsyMTcsNyBA QCBhZGRfbGlicmFyeShib3ggU1RBVElDCj4+Pj4gaWYoQ01BS0VfQlVJTERfVFlQRSBTVFJFUVVB TCAiRGVidWciKQo+Pj4+IGFkZF9kZWZpbml0aW9ucygtRFNRTF9ERUJVRz0xKQo+Pj4+IGVuZGlm KCkKPj4+PiAtYWRkX2RlZmluaXRpb25zKC1EU1FMX09NSVRfQVVUT01BVElDX0lOREVYPTEgLURT UUxfVEVTVD0xKQo+Pj4+ICthZGRfZGVmaW5pdGlvbnMoLURTUUxfVEVTVD0xKQo+Pj4KPj4+IDMu IEkgc3RpbGwgc2VlIFNRTF9PTUlUX0FVVE9NQVRJQ19JTkRFWCBpbiBzcmMvYm94L3NxbC93aGVy ZS5jLgo+PiBJIHRoaW5rIHRoZSBvcmlnaW5hbCBpZGVhIHdhcyB0byBtYWtlIGFuIG9wdGlvbiB0 byBkaXNhYmxlIHRoaXMgb3B0aW1pemF0aW9uLgo+PiBTaW5jZSBzdWNoIHRoaW5nIGlzIGFscmVh ZHkgZXhpc3RzLCBJIGRlY2lkZWQgdG8gbm90IHJlbW92ZSBpdC4KPgo+0KMg0L3QsNGBINC90LXR giDQutC+0L3RhNC40LPRg9GA0LDRhtC40Lgg0L7Qv9GG0LjQuSDRgdCx0L7RgNC60LggU1FMLiDQ nNGLINC40YUg0LLRgdC1INCy0YvQv9C40LvQuNCy0LDQtdC8LCDRgtCw0Log0LrQsNC6INCx0LjQ u9C00YsKPtGDINC90LDRgSDQv9C+0LQg0L7QtNC40L0g0LrQvtC90LrRgNC10YLQvdGL0Lkg0L3Q sNCx0L7RgCDQvtC/0YbQuNC5LiDQldGB0YLRjCBydW50aW1lINC+0L/RhtC40LgsINC90L4g0Y3R gtC+INC90LjRh9C10LPQviDQvtCx0YnQtdCz0L4KPtGBINC80LDQutGA0L7RgdCw0LzQuCDQvdC1 INC40LzQtdC10YIuINCV0YHQu9C4INGN0YLQvtGCINC80LDQutGA0L7RgSDQsdC+0LvQtdC1INC9 0LUg0YPQutCw0LfRi9Cy0LDQtdGC0YHRjywg0YLQviDQvdCw0LTQviDQtdCz0L4KPtGD0LTQsNC7 0LjRgtGMINC+0YLQvtCy0YHRjtC00YMuCgrQn9C+0L3Rj9C7LCDQuNGB0L/RgNCw0LLQu9GOLiDQ ryDQtNGD0LzQsNGOINCyINGN0YLQvtC8INGB0LvRg9GH0LDQtSDRjyDQtNC+0LHQsNCy0LvRjiDQ vdC+0LLRg9GOINC+0L/RhtC40Y4g0LIgc2Vzc2lvbl9zZXR0aW5ncywg0LrQvtGC0L7RgNCw0Y8g 0LHRg9C00LXRgiDQvtGC0LrQu9GO0YfQsNGC0Ywg0Y3RgtGDINC+0L/RgtC40LzQuNC30LDRhtC4 0Y4uCj4KPj4+PiBzZXQoRVhUX1NSQ19ESVIgJHtDTUFLRV9TT1VSQ0VfRElSfS9leHRyYSkKPj4+ PiBzZXQoRVhUX0JJTl9ESVIgJHtDTUFLRV9CSU5BUllfRElSfS9leHRyYSkKPj4+PiBkaWZmIC0t Z2l0IGEvc3JjL2JveC9zcWwvZGVsZXRlLmMgYi9zcmMvYm94L3NxbC9kZWxldGUuYwo+Pj4+IGlu ZGV4IDY4YWJkMWY1OC4uNTc0NzhjMTI5IDEwMDY0NAo+Pj4+IC0tLSBhL3NyYy9ib3gvc3FsL2Rl bGV0ZS5jCj4+Pj4gKysrIGIvc3JjL2JveC9zcWwvZGVsZXRlLmMKPj4+PiBAQCAtNTQ2LDI0ICs1 NDYsMjUgQEAgc3FsX2dlbmVyYXRlX3Jvd19kZWxldGUoc3RydWN0IFBhcnNlICpwYXJzZSwgc3Ry dWN0IHNwYWNlICpzcGFjZSwKPj4+PiB9Cj4+Pj4KPj4+PiBpbnQKPj4+PiAtc3FsX2dlbmVyYXRl X2luZGV4X2tleShzdHJ1Y3QgUGFyc2UgKnBhcnNlLCBzdHJ1Y3QgaW5kZXggKmluZGV4LCBpbnQg Y3Vyc29yLAo+Pj4+IC0gaW50IHJlZ19vdXQsIHN0cnVjdCBpbmRleCAqcHJldiwgaW50IHJlZ19w cmV2KQo+Pj4+ICtzcWxfZ2VuZXJhdGVfaW5kZXhfa2V5KHN0cnVjdCBQYXJzZSAqcGFyc2UsIHN0 cnVjdCBpbmRleF9kZWYgKmlkeF9kZWYsCj4+Pj4gKyBpbnQgY3Vyc29yLCBpbnQgcmVnX291dCwg c3RydWN0IGluZGV4ICpwcmV2LAo+Pj4+ICsgaW50IHJlZ19wcmV2LCBpbnQgcmVnX2VwaCkKPj4+ Cj4+PiA0LiBUaGUgZnVuY3Rpb24gaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCBlcGhlbWVyYWwgc3Bh Y2VzLiBJdCBqdXN0IGRvZXMgbm90Cj4+PiBjYXJlIHdoZXRoZXIgaXRzIHNwYWNlIGlzIGVwaGVt ZXJhbC4gSXRzIHRhc2sgaXMgdG8ganVzdCBhc3NlbWJsZSBhIGtleSwKPj4+IG5vdCBjYXJpbmcg YWJvdXQgc3BhY2UgdHlwZS4gV2h5IGRpZCB5b3UgbWFrZSBpdCBhbHdheXMgd29yayB3aXRoIGFu Cj4+PiBlcGhlbWVyYWwgc3BhY2U/IFdvbid0IHRoaXMgd2lsbCBhZmZlY3Qgbm9ybWFsIHNwYWNl cyAtIHRoZXkgZG9uJ3QgbmVlZAo+Pj4gT1BfTmV4dElkRXBoZW1lcmFsIG9yIHdoYXRldmVyIGVs c2UgaXMgcmVsYXRlZCB0byBlcGhlbWVyYWxzLgo+Pj4KPj4+IEluIHRoZSBlbmQgb2YgdGhlIHJl dmlldyBJIHJlYWxpemVkIHRoZSBmdW5jdGlvbiBpcyBuZXZlciB1c2VkIGZvciBhbnl0aGluZwo+ Pj4gZXhjZXB0IGF1dG9tYXRpYyBpbmRleC4gTW9yZW92ZXIsIHByZXYgYW5kIHJlZ19wcmV2IGFy ZSBOVUxMIGFuZCAwIGFsd2F5cy4KPj4+IEkgc3VnZ2VzdCB0byBtb3ZlIHRoaXMgZnVuY3Rpb24g aW50byB0aGUgZmlsZSwgd2hpY2ggbmVlZHMgaXQ7IG1ha2UgaXQKPj4+ICdzdGF0aWMnOyByZW1v dmUgJ3ByZXYnIGFuZCAncmVnX3ByZXYnIGFyZ3M7IHJlbmFtZSBpdCB0byBzb21ldGhpbmcgY2xv c2VyIHRvCj4+PiB3aGF0IGl0IGFjdHVhbGx5IGRvZXMuCj4+IERvbmUuIEkgcmVmYWN0b3JlZCB0 aGlzIGZ1bmN0aW9uIGEgYml0IHdoaWxlIG1vdmluZy4gSG93ZXZlciwgSSBkZWNpZGVkIHRvCj4+ IG5vdCByZW1vdmUgcGFydCB3aXRoICdPUF9SZWFsaWZ5JywgZXZlbiB0aG91Z2ggSSB0aGluayB0 aGlzIGlzIGRlcHJlY2FyZWQgY29kZS4KPj4gRnJvbSB3aGF0IEkgc2VlLCB0aGlzIG9wY29kZSBp cyBvdXRkYXRlZCBhbmQgc2hvdWxkIGJlIHJlbW92ZWQsIGJ1dCBub3QgaW4gdGhpcwo+PiBwYXRj aC4gSSB3aWxsIHNlbmQgYSBuZXcgcGF0Y2ggbGF0ZXIsIGFzIGEgcmVmYWN0b3JpbmcuCj4+Cj4+ Pgo+Pj4gNi4gVGhlIGZ1bmN0aW9uIHRhbGtzIGFib3V0ICdjb3ZlcmluZycgaW5kZXgsIGJ1dCBj b3ZlcmluZyBtYWtlcyBubwo+Pj4gc2Vuc2UgaW4gVGFyYW50b29sLiBJdCBpcyBub3QgcG9zc2li bGUgdG8gZmV0Y2ggYSBwYXJ0IG9mIHR1cGxlLiBBbGwKPj4+IGluZGV4ZXMgaW4gVGFyYW50b29s LCBmcm9tIGJveCBBUEkgcG9pbnQgb2YgdmlldywgYXJlIGNvdmVyaW5nLiBTbwo+Pj4gd2h5IGlz IHRoaXMgY29uY2VwdCBzdGlsbCBoZXJlPyBDYW4gd2UgcmVtb3ZlIGl0IGFuZCBzaW1wbGlmeSB0 aGluZ3M/Cj4+Pgo+PiBJdCBpcyB0cnVlIHRoYXQgd2UgY2FuIGdldCBvbmx5IGEgd2hvbGUgdHVw bGUsIGhvd2V2ZXIgdGhlIG1haW4gZmVhdHVyZSBvZiB0aGUKPj4gY292ZXJpbmcgaW5kZXhlcyB0 aGF0IGl0IGNvbnRhaW5zIGFsbCBuZWVkZWQgaW5mb3JtYXRpb24gYWJvdXQgc3BhY2UgZmllbGQu Cj4KPtCd0LXRgiwg0LIg0YLQtdGA0LzQuNC90L7Qu9C+0LPQuNC4IHNxbGl0ZSBjb3ZlcmluZyDQ vtC30L3QsNGH0LDQtdGCINC40LzQtdC90L3QviDQvdCw0LvQuNGH0LjQtSDQstGB0LXRhSDQutC+ 0LvQvtC90L7Qui4g0Jgg0LIKPtGN0YLQvtC8INGB0LzRi9GB0LvQtSDQvtC90L4g0LIg0LrQvtC0 0LUg0Lgg0L7RgdGC0LDQu9C+0YHRjC4g0K3RgtC+INCx0YvQu9C+INC90YPQttC90L4sINGC0LDQ uiDQutCw0Log0LjQvdC00LXQutGB0Ysg0LIgc3FsaXRlCj7RhdGA0LDQvdGP0YIg0YLQvtC70YzQ utC+INC60LvRjtGH0LXQstGL0LUg0LrQvtC70L7QvdC60LguINCV0YHQu9C4INC30LDQv9GA0L7R gSDQuNC80LXQuyDQutC+0LvQvtC90LrQuCDQvdC1INC40Lcg0LjQvdC00LXQutGB0LAsINC90YPQ ttC90L4KPtCx0YvQu9C+INC00LXQu9Cw0YLRjCDQv9C+0LjRgdC6INCyINGC0LDQsdC70LjRhtC1 ICghPSDQuNC90LTQtdC60YEpLiDQn9C+0YHQu9C1IGNvdmVyaW5nINC40L3QtNC10LrRgdC+0LIg 0LTQtdC70LDRgtGMINCy0YLQvtGA0L7QuQo+0L/QvtC40YHQuiDQsdGL0LvQviDQvdC1INC90YPQ ttC90L4uCgrQmNGB0L/QvtC70YzQt9GD0LXQvNGL0Lkg0LjQvdC00LXQutGBINGB0L7QtNC10YDQ ttC40YIg0LLRgdC1INC60L7Qu9C+0L3QutC4INGN0YTQtdC80LXRgNC90L7Qs9C+INGB0L/QtdC5 0YHQsCwg0L/QvtGN0YLQvtC80YMg0L7QvSBjb3ZlcmluZy4KwqAKPgo+0KLQsNC60L7QuSDRgdC8 0YvRgdC7INCy0LrQu9Cw0LTRi9Cy0LDQtdGC0YHRjyBjb3ZlcmluZywg0Lgg0LIg0YLQsNC60L7Q vCDRgdC80YvRgdC70LUg0L7QvSDQvdC40YfQtdCz0L4g0LIg0YLQsNGA0LDQvdGC0YPQu9C1INC9 0LUKPtC30L3QsNGH0LjRgiwg0YLQsNC6INC60LDQuiDQvdC1LWNvdmVyaW5nINC10YHRgtGMINGC 0L7Qu9GM0LrQviDQsiDQstC40L3QuNC70LUsINC90L4KPjEpINC/0YPQsdC70LjRh9C90L7Qs9C+ INCw0L/QuCDQtNC70Y8g0LTQvtGB0YLRg9C/0LAg0Log0YHRi9GA0YvQvCDQuNC90LTQtdC60YHQ sNC8INCy0LjQvdC40LvQsCDQvdC10YI7Cj4yKSDQstGB0LUg0YDQsNCy0L3QviDQvdGD0LbQtdC9 INC/0L7QuNGB0Log0LIg0L/QtdGA0LLQuNGH0L3QvtC8INC40L3QtNC10LrRgdC1LCDRgtCw0Log 0LrQsNC6INCy0YLQvtGA0LjRh9C90YvQuSDQuNC90LTQtdC60YEg0LzQvtC20LXRggo+0YHQvtC0 0LXRgNC20LDRgtGMINGD0LTQsNC70LXQvdC90YvQuSDQvNGD0YHQvtGAINCyINGB0LvRg9GH0LDQ tSDQvdCw0YjQuNGFIExTTS3QtNC10YDQtdCy0YzQtdCyLgoK0J7Quiwg0L/QvtC90Y/Quy4g0JjQ t9GD0YfRgyDRjQo+Cj4+IEZvciBleGFtcGxlLCB3ZSBkbyBub3QgbmVlZCB0byBsb29rIGF0IHRo ZSBzcGFjZSBkZWZpbml0aW9uIHRvIGZpbmQgZmllbGQgdHlwZSBpZgo+PiB3ZSBoYXZlIGNvdmVy aW5nIGluZGV4Lgo+Cj7QlNCwLCDQvdC+INGN0YLQviDQvtC/0Y/RgtGMINC20LUg0L3QtSDRgdCy 0Y/Qt9Cw0L3QviDQvdC40LrQsNC6INGBINC/0L7QvdGP0YLQuNC10LwgY292ZXJpbmcuCj4KPj4g SXQgbWF5IGJlIG5vdCBzbyBpbXBvcnRhbnQgaW4gVGFyYW50b29sIGFzIGl0IHdhcyBpbgo+PiBT UUxpdGUsIGhvd2V2ZXIgdGhpcyBjb25jZXB0IGlzIHVzZWQgcXVpdGUgb2Z0ZW4gaW4gU1FMIGNv ZGUuCj4KPtCt0YLQviDQu9C10LPQsNGB0Lgg0L7RgiBzcWxpdGUuINCSINGC0LDRgNCw0L3RgtGD 0LvQtSDQstGB0LUg0LjQvdC00LXQutGB0Ysg0YHRh9C40YLQsNGO0YLRgdGPIGNvdmVyaW5nLgo+ Cj4+IEkgZG8gbm90IHRoaW5rCj4+IHRoYXQgd2Ugc2hvdWxkIGZpeCB0aGlzIGlzc3VlIGhlcmUu Cj4KPtCt0YLQviDQt9Cw0LLQuNGB0LjRgiDQvtGCINGC0L7Qs9C+LCDQvdCw0YHQutC+0LvRjNC6 0L4g0Y3RgtC+INGD0YHQu9C+0LbQvdGP0LXRgiDQutC+0LQsINGH0YLQvtCx0Ysg0YDQsNC30LTR gNCw0YfQuNCy0LDRgtGMINGN0YLQuAo+Y292ZXJpbmcv0L3QtS1jb3ZlcmluZy4g0KHRg9C00Y8g 0L/QviDQutC+0LTRgyDRjyDRgtCw0Log0L/QvtC90LjQvNCw0Y4sINGH0YLQviDQsiDRjdGE0LXQ vNC10YDQvdGL0Lkg0YHQv9C10LnRgQo+0L/QvtC/0LDQtNCw0Y7RgiDQvdC1INCy0YHQtSDQutC+ 0LvQvtC90LrQuCDQvtGA0LjQs9C40L3QsNC70YzQvdC+0LPQviDRgdC/0LXQudGB0LAsINCwINGC 0L7Qu9GM0LrQviDQvdGD0LbQvdGL0LUg0LTQu9GPINC40L3QtNC10LrRgdCwPwo+0JjQu9C4INC0 0LvRjyDQuNC90LTQtdC60YHQsCDQvdGD0LbQvdGLINC60LDQuiDRgNCw0Lcg0LLRgdC1PwoK0JIg 0Y3RhNC10LzQtdGA0L3Ri9C5INGB0L/QtdC50YEg0L/QvtC/0LDQtNCw0Y7RgiDQstGB0LUg0LjR gdC/0L7Qu9GM0LfRg9C10LzRi9C1INCyINC30LDQv9GA0L7RgdC1INC60L7Qu9C+0L3QutC4LCDQ vdC1INGC0L7Qu9GM0LrQviDRgtC1LCDRh9GC0L4g0LjRgdC/0L7Qu9GM0LfRg9GO0YLRgdGPINCy 0L4gd2hlcmUuINCf0YDQuCDRjdGC0L7QvCDRjdGC0L4g0YHQutC+0YDQtdC1INCy0YHQtdCz0L4g 0L3QtSDQstGB0LUg0LrQvtC70L7QvdC60Lgg0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz0L4g0YHQ v9C10LnRgdCwLgo+Cj4+IEFsc28sIGV2ZW4gdGhvdWdoIHdlIGdldCBhIHdob2xlIHR1cGxlLCB3 ZSBhY3R1YWxseSB1c2Ugb25seSBuZWVkZWQgY29sdW1ucwo+PiBmcm9tIHRoZSB0dXBsZSB0byBj cmVhdGUgYSBuZXcgdHVwbGUgYW5kIHB1c2ggaXQgdG8gdGhlIG5ldyBlcGhlbWVyYWwgc3BhY2Uu Cj4KPtCV0YHQu9C4INC00LvRjyDRgtCw0L/Qu9CwINCyINGN0YTQtdC80LXRgNC90L7QvCDRgdC/ 0LXQudGB0LUg0YXRgNCw0L3Rj9GC0YHRjyDQvdC1INCy0YHQtSDQutC+0LvQvtC90LrQuCDQvtGA 0LjQs9C40L3QsNC70YzQvdC+0LPQviDRgdC/0LXQudGB0LAsCj7RgtC+INGN0YLQviDQvdC1IGNv dmVyaW5nINGBINGC0L7Rh9C60Lgg0LfRgNC10L3QuNGPINC+0YDQuNCz0LjQvdCw0LvRjNC90L7Q s9C+INGB0L/QtdC50YHQsC4KPgo+Pj4+ICsgc3FsVmRiZUFkZE9wNCh2LCBPUF9PcGVuVEVwaGVt ZXJhbCwgcmVnX2VwaCwgbktleUNvbCArIDEsIDAsCj4+Pj4gKyAoY2hhciAqKXBrX2luZm8sIFA0 X0tFWUlORk8pOwo+Pj4+ICsgc3FsVmRiZUFkZE9wMyh2LCBPUF9JdGVyYXRvck9wZW4sIHBMZXZl bC0+aUlkeEN1ciwgMCwgcmVnX2VwaCk7Cj4+Pj4gKyBWZGJlQ29tbWVudCgodiwgImZvciAlcyIs IHNwYWNlLT5kZWYtPm5hbWUpKTsKPj4+Pgo+Pj4+IC8qIEZpbGwgdGhlIGF1dG9tYXRpYyBpbmRl eCB3aXRoIGNvbnRlbnQgKi8KPj4+PiBzcWxFeHByQ2FjaGVQdXNoKHBQYXJzZSk7Cj4+Pj4gQEAg LTI4NDEsMTIgKzI4ODUsMTIgQEAgdG50X2Vycm9yOgo+Pj4+ICogdGhvc2Ugb2JqZWN0cywgc2lu Y2UgdGhlcmUgaXMgbm8gb3Bwb3J0dW5pdHkgdG8gYWRkIHNjaGVtYQo+Pj4+ICogaW5kZXhlcyBv biBzdWJxdWVyaWVzIGFuZCB2aWV3cy4KPj4+PiAqLwo+Pj4+IC0gcE5ldy0+clNldHVwID0gckxv Z1NpemUgKyByU2l6ZSArIDQ7Cj4+Pj4gLSBpZiAoIXBUYWItPmRlZi0+b3B0cy5pc192aWV3ICYm Cj4+Pj4gLSBwVGFiLT5kZWYtPmlkID09IDApCj4+Pj4gLSBwTmV3LT5yU2V0dXAgKz0gMjQ7Cj4+ Pj4gLSBpZiAocE5ldy0+clNldHVwIDwgMCkKPj4+PiAtIHBOZXctPnJTZXR1cCA9IDA7Cj4+Pj4g KyBwTmV3LT5yU2V0dXAgPSByTG9nU2l6ZSArIHJTaXplOwo+Pj4+ICsgaWYgKCFzcGFjZS0+ZGVm LT5vcHRzLmlzX3ZpZXcgJiYKPj4+PiArIHNwYWNlLT5kZWYtPmlkID09IDApCj4+Pj4gKyBwTmV3 LT5yU2V0dXAgKz0gMjg7Cj4+Pj4gKyBlbHNlCj4+Pj4gKyBwTmV3LT5yU2V0dXAgLT0gMTA7Cj4+ Pgo+Pj4gMTAuIFdoYXQgaXMgdGhpcz8gV2hhdCBhcmUgdGhlIG51bWJlcnM/Cj4+IFRoZXNlIG51 bWJlcnMgSSBnb3QgZnJvbSBTUUxpdGUuIEFjdHVhbGx5LCB3ZSBzaG91bGQgZmluZCB0aGVzZSBu dW1iZXJzCj4+IGV4cGVyZW1lbnRhbGx5LCBidXQgSSBzdGlsbCBkbyBub3QgaGF2ZSBhIHByb3Bl ciB3YXkgdG8gZG8gdGhpcy4KPj4KPj4gVGhlcmUgaXMgb25lIG1vcmUgcGxhY2Ugd2hlcmUgd2Ug c2hvdWxkIGV4cGVyZW1ldGFsbHkgZmluZCBhIGZ1bmN0aW9uCj4+IG9mIG51bWJlciBvZiB0dXBs ZXMgaW4gdGhlIHNwYWNlIHdoaWNoIGFsbG93cyB1cyB0byBkZWNpZGUgbW9yZSBjYXJlZnVsbHkg d2hlbgo+PiB3ZSB3YW50IHRvIHVzZSB0aGUgb3B0aW1pemF0aW9uLiBIZXJlIGl0IGlzOgo+PiAi clNpemUgPSBERUZBVUxUX1RVUExFX0xPR19DT1VOVDsiCj4+Cj4+IEFzIHlvdSBjYW4gc2VlLCB0 aGlzIGZ1bmN0aW9uIGlzIGEgY29uc3RhbnQgZm9yIG5vdy4gVGhpcyBpcyBhbHNvIGZyb20gU1FM aXRlLgo+Pgo+PiBJbiBnZW5lcmFsLCB3ZSBzaG91bGQgdXNlIHN0YXRpc3RpY3MgaGVyZSwgYnV0 IHdlIGRvIG5vdCBoYXZlIGl0IGF0IHRoZSBtb21lbnQuCj4+Cj4+IFRoZXNlIG51bWJlcnMgYXJl IHVzZWQgdG8gZGVjaWRlIHdoZW4gdG8gdXNlIGF1dG8taW5kZXguIEkgdGhpbmsgdGhhdCBzaW5j ZSBhdAo+PiB0aGUgbW9tZW50IGFsbCB0aGVzZSB2YWx1ZXMgYXJlIGNvbnN0YW50cywgYXV0by1p bmRleCBpcyB1c2VkIGFsd2F5cy4gVGhpcyBpcwo+PiBvYnZpb3VzbHkgd3JvbmcuIEkgcGxhbiB0 byBmaXggaXQgYXMgc29vbiBhcyBJIGZpbmQgYSBwcm9wZXIgd2F5IHRvIHRlc3QKPj4gcGVyZm9y bWFuY2UuCj4KPtCX0LTQtdGB0Ywg0L3Rg9C20LXQvSDQutCw0Log0LzQuNC90LjQvNGD0Lwg0LrQ vtC80LzQtdC90YLQsNGA0LjQuSDQsiDQutC+0LTQtSwg0YfRgtC+INGN0YLQviDQt9CwINGH0LjR gdC70LAuINCi0L7RgiDQutC+0LzQvNC10L3RgtCw0YDQuNC5LCDRh9GC0L4KPtC10YHRgtGMLCDQ vtGH0LXQstC40LTQvdC+INGD0YHRgtCw0YDQtdC7LiDQntC9INCz0L7QstC+0YDQuNGCLCDRh9GC 0L4g0YHRgtC+0LjQvNC+0YHRgtGMINC00LvRjyB2aWV3IC0gNCwg0LAg0YMg0YLQtdCx0Y8gLSAt MTAuINCi0L4KPtC10YHRgtGMINC00LvRjyB2aWV3INGC0Ysg0YHRh9C40YLQsNC10YjRjCwg0YfR gtC+INC70YPRh9GI0LUg0YHQvtC30LTQsNGC0Ywg0LDQstGC0L4t0LjQvdC00LXQutGBLCDRh9C1 0Lwg0L3QtSDRgdC+0LfQtNCw0LLQsNGC0YwsINCy0YHQtdCz0LTQsC4KPtCd0LXRgj8g0JXRgdC7 0Lgg0YLQsNC6LCDRgtC+INC+0YLRgNC40YbQsNGC0LXQu9GM0L3QsNGPINGB0YLQvtC40LzQvtGB 0YLRjCDQstGL0LPQu9GP0LTQuNGCINC90LUg0L7Rh9C10L3RjCDQv9GA0LDQstC40LvRjNC90L4u Cj4KPj4+PiAvKiBUVU5JTkc6IEVhY2ggaW5kZXggbG9va3VwIHlpZWxkcyAyMCByb3dzIGluIHRo ZSB0YWJsZS4gVGhpcwo+Pj4+ICogaXMgbW9yZSB0aGFuIHRoZSB1c3VhbCBndWVzcyBvZiAxMCBy b3dzLCBzaW5jZSB3ZSBoYXZlIG5vIHdheQo+Pj4+ICogb2Yga25vd2luZyBob3cgc2VsZWN0aXZl IHRoZSBpbmRleCB3aWxsIHVsdGltYXRlbHkgYmUuIEl0IHdvdWxkCj4+Pj4gQEAgLTQ3OTQsMTgg KzQ4MzgsMzQgQEAgc3FsV2hlcmVFbmQoV2hlcmVJbmZvICogcFdJbmZvKQo+Pj4+ICsgY29udGlu dWU7Cj4+Pj4gKyB9Cj4+Pj4gKyAvKgo+Pj4+ICsgKiBJbiBjYXNlIHdlIGFyZSB1c2luZyBhdXRv LWluZGV4aW5nLCB3ZSBoYXZlCj4+Pj4gKyAqIHRvIGNoYW5nZSB0aGUgY29sdW1uIG51bWJlciwg YmVjYXVzZSBpbgo+Pj4+ICsgKiBlcGhlbWVyYWwgc3BhY2UgY29sdW1ucyBhcmUgaW4gdGhlIHNh bWUgb3JkZXIKPj4+PiArICogYXMgdGhleSBkZXNjcmliZWQgaW4ga2V5X2RlZi4gU28sIGluc3Rl YWQgb2YKPj4+PiArICogdGhlIGZpZWxkIG51bWJlciwgd2UgaGF2ZSB0byBpbnNlcnQgaW5kZXgg b2YKPj4+PiArICogdGhlIHBhcnQgd2l0aCB0aGlzIGZpZWxkbm8uCj4+Pgo+Pj4gMTIuIFdoeSBh cmUgdGhlIGNvbHVtbnMgcmVvcmRlcmVkPwo+PiBTZWUgYWJvdmUuIFNob3VsZCBJIGFkZCB0aGlz IGV4cGxhbmF0aW9uIHNvbWV3aGVyZSBpcyB0aGUgcGF0Y2g/Cj4KPtCV0YHQu9C4INCyINCw0LLR gtC+LdC40L3QtNC10LrRgdC1INGC0L7Qu9GM0LrQviDQutC70Y7Rh9C10LLRi9C1INC60L7Qu9C+ 0L3QutC4LCDQvtGCINC+0YLQutGD0LTQsCDQsiByZXN1bHQgc2V0INC/0L7Qv9Cw0LTQsNGO0YIK PtC90LXQutC70Y7Rh9C10LLRi9C1INC60L7Qu9C+0L3QutC4LCDQutC+0YLQvtGA0YvQtSDQsiBX SEVSRSDQvdC1INGD0YfQsNGB0YLQstC+0LLQsNC70Lg/INCU0LXQu9Cw0LXRgtGB0Y8g0L7QsdGA 0LDRgtC90L4g0LvRg9C60LDQvwo+0LIg0L7RgNC40LPQuNC90LDQu9GM0L3QvtC8INGB0L/QtdC5 0YHQtSDRh9GC0L4g0LvQuD8KPgo+Pj4+ICsgKi8KPj4+PiArIHN0cnVjdCBrZXlfZGVmICprZXlf ZGVmID0KPj4+PiArIHBMZXZlbC0+cFdMb29wLT5pbmRleF9kZWYtPmtleV9kZWY7Cj4+Pj4gKyB1 aW50MzJfdCBwYXJ0X2NvdW50ID0ga2V5X2RlZi0+cGFydF9jb3VudDsKPj4+PiArIGZvciAodWlu dDMyX3QgaSA9IDA7IGkgPCBwYXJ0X2NvdW50OyArK2kpIHsKPj4+PiArIGlmICgoaW50KWtleV9k ZWYtPnBhcnRzW2ldLmZpZWxkbm8gPT0geCkKPj4+PiArIHBPcC0+cDIgPSBpOwo+Pj4+IH0KPj4+ PiB9Cj4+Pj4gfQo+Pj4+IGRpZmYgLS1naXQgYS90ZXN0L3NxbC10YXAvd2hlcmVGLnRlc3QubHVh IGIvdGVzdC9zcWwtdGFwL3doZXJlRi50ZXN0Lmx1YQo+Pj4+IGluZGV4IDVhODk0Yjc0OC4uMzIz NWRmNDM3IDEwMDc1NQo+Pj4+IC0tLSBhL3Rlc3Qvc3FsLXRhcC93aGVyZUYudGVzdC5sdWEKPj4+ PiArKysgYi90ZXN0L3NxbC10YXAvd2hlcmVGLnRlc3QubHVhCj4+Pj4gQEAgLTkwLDEwICs5MCwy MCBAQCB0ZXN0OmRvX2V4ZWNzcWxfdGVzdCgKPj4+Pgo+Pj4+IC0tIGZvciBfIGluIFgoMCwgIlgh Zm9yZWFjaCIsIFs9W1sidG4gc3FsIiwiXG4gMSBcIlNFTEVDVCAqIEZST00gdDEsIHQyIFdIRVJF IHQxLmE+PyBBTkQgdDIuZD50MS5jIEFORCB0MS5iPXQyLmVcIlxuIDIgXCJTRUxFQ1QgKiBGUk9N IHQyLCB0MSBXSEVSRSB0MS5hPj8gQU5EIHQyLmQ+dDEuYyBBTkQgdDEuYj10Mi5lXCJcbiAzIFwi U0VMRUNUICogRlJPTSB0MiBDUk9TUyBKT0lOIHQxIFdIRVJFIHQxLmE+PyBBTkQgdDIuZD50MS5j IEFORCB0MS5iPXQyLmVcIlxuIl1dPV0pIGRvCj4+Pj4gZm9yIHRuLCBzcWwgaW4gaXBhaXJzKHsi U0VMRUNUICogRlJPTSB0MSwgdDIgV0hFUkUgdDEuYT4/IEFORCB0Mi5kPnQxLmMgQU5EIHQxLmI9 dDIuZSIsCj4+Pj4gLSAiU0VMRUNUICogRlJPTSB0MiwgdDEgV0hFUkUgdDEuYT4/IEFORCB0Mi5k PnQxLmMgQU5EIHQxLmI9dDIuZSIsCj4+Pj4gLSAiU0VMRUNUICogRlJPTSB0MiBDUk9TUyBKT0lO IHQxIFdIRVJFIHQxLmE+PyBBTkQgdDIuZD50MS5jIEFORCB0MS5iPXQyLmUifSkgZG8KPj4+PiAr ICJTRUxFQ1QgKiBGUk9NIHQyLCB0MSBXSEVSRSB0MS5hPj8gQU5EIHQyLmQ+dDEuYyBBTkQgdDEu Yj10Mi5lIn0pIGRvCj4+Pj4gdGVzdDpkb190ZXN0KAo+Pj4+IC0gIjIuIi4udG4sCj4+Pj4gKyAi Mi4xLiIuLnRuLAo+Pj4+ICsgZnVuY3Rpb24oKQo+Pj4+ICsgcmV0dXJuIHRlc3Q6ZXhlY3NxbCgi RVhQTEFJTiBRVUVSWSBQTEFOICIuLnNxbCkKPj4+PiArIGVuZCwgewo+Pj4+ICsgJy9TRUFSQ0gg VEFCTEUgVDEvJywKPj4+PiArICcvU0VBUkNIIFRBQkxFIFQyLycKPj4+PiArIH0pCj4+Pj4gK2Vu ZAo+Pj4+ICsKPj4+PiArZm9yIHRuLCBzcWwgaW4gaXBhaXJzKHsiU0VMRUNUICogRlJPTSB0MiBD Uk9TUyBKT0lOIHQxIFdIRVJFIHQxLmE+PyBBTkQgdDIuZD50MS5jIEFORCB0MS5iPXQyLmUifSkg ZG8KPj4+PiArIHRlc3Q6ZG9fdGVzdCgKPj4+PiArICIyLjIuIi4udG4sCj4+Pj4gZnVuY3Rpb24o KQo+Pj4+IHJldHVybiB0ZXN0OmV4ZWNzcWwoIkVYUExBSU4gUVVFUlkgUExBTiAiLi5zcWwpCj4+ Pj4gZW5kLCB7Cj4+Pgo+Pj4gMTQuIFNob3VsZG4ndCB0aGVyZSBiZSBhIHRlc3Qgc2hvd2luZyAn QVVUT01BVElDJyBrZXl3b3JkIGluIHRoZSBleGVjdXRpb24gcGxhbj8KPj4gQWN0dWFsbHkgaXQg ZG9lcywgaW4gdGhlIHRlc3QgYWJvdmUuCj4KPtCS0L4g0LLRgdC10Lwgd2hlcmVGLnRlc3QubHVh INGE0LDQudC70LUg0YHQu9C+0LLQviBhdXRvbWF0aWMg0LPRgNC10L/QsNC10YLRgdGPINGC0L7Q u9GM0LrQviDQsiDQutCw0LrQvtC8LdGC0L4g0LrQvtC80LzQtdC90YLQtS4KPgo+PiBkaWZmIC0t Z2l0IGEvc3JjL2JveC9zcWwvd2hlcmUuYyBiL3NyYy9ib3gvc3FsL3doZXJlLmMKPj4gaW5kZXgg YzVmNzlmOTA4Li5mNmI1MzNhYjEgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9ib3gvc3FsL3doZXJlLmMK Pj4gKysrIGIvc3JjL2JveC9zcWwvd2hlcmUuYwo+PiBAQCAtNzEyLDEwICs3MTIsNjEgQEAgdGVy bUNhbkRyaXZlSW5kZXgoV2hlcmVUZXJtICogcFRlcm0sIC8qIFdIRVJFIGNsYXVzZSB0ZXJtIHRv IGNoZWNrICovCj4+ICNlbmRpZgo+Pgo+PiAjaWZuZGVmIFNRTF9PTUlUX0FVVE9NQVRJQ19JTkRF WAo+PiArCj4+ICsvKioKPj4gKyAqIEdlbmVyYXRlIGNvZGUgdGhhdCB3aWxsIGFzc2VtYmxlIGFu IGluZGV4IGtleSwgYWRkcyByb3dpZCBhbmQgc3RvcmVzIGl0IGluCj4+ICsgKiByZWdpc3RlciBy ZWdfb3V0LiBUaGUga2V5IHdpbGwgYmUgZm9yIGluZGV4IHdoaWNoIGlzIGFuCj4+ICsgKiBpbmRl eCBvbiB0YWJsZS4gY3Vyc29yIGlzIHRoZSBpbmRleCBvZiBhIGN1cnNvciBvcGVuIG9uIHRoZQo+ PiArICogdGFibGUgdGFibGUgYW5kIHBvaW50aW5nIHRvIHRoZSBlbnRyeSB0aGF0IG5lZWRzIGlu ZGV4aW5nLgo+PiArICogY3Vyc29yIG11c3QgYmUgdGhlIGN1cnNvciBvZiB0aGUgUFJJTUFSWSBL RVkgaW5kZXguCj4KPtCb0LjQvNC40YIg0L3QsCDRiNC40YDQuNC90YMg0LrQvtC80LXQvdGC0LAg 0YDQsNGB0YjQuNGA0LXQvSDQtNC+IDgwLgo+Cj7QmtGA0L7QvNC1INGC0L7Qs9C+LCDRgtGLINGH 0LjRgtCw0Lsg0Y3RgtC+0YIg0LrQvtC80LzQtdC90YI/INCn0YLQviDQt9CwICdpbmRleCB3aGlj aCBpcyBhbiBpbmRleCBvbiB0YWJsZSc/Cj7QmtCw0LrQvtC5ICd0YWJsZSc/INCn0YLQviDQt9Cw ICdjdXJzb3Igb3BlbiBvbiB0aGUgdGFibGUgdGFibGUnPyDQryDQutCw0Log0LHRg9C00YLQvgo+ 0LrQvtC90YLRgNC+0LvRjNC90YvQtSDRhNGA0LDQt9GLINC40Lcg0JHQtdCz0YPRidC10LPQviDQ n9C+INCb0LXQt9Cy0LjRjiDRh9C40YLQsNGOLgo+Cj7Qn9Cw0YDQsNC80LXRgtGA0Ysg0YMg0YLQ tdCx0Y8g0L7Qv9C40YHQsNC90Ysg0LIg0LTQstGD0YUg0LzQtdGB0YLQsNGFIC0g0LLQstC10YDR hdGDINC4INCyIEBwYXJhbS4g0JTQvtC70LbQvdC+INCx0YvRgtGMCj7QvtC00L3QviDQvNC10YHR gtC+Lgo+Cj4+ICsgKgo+PiArICogQHBhcmFtIHBhcnNlIFBhcnNpbmcgY29udGV4dC4KPj4gKyAq IEBwYXJhbSBpZHhfZGVmIFRoZSBpbmRleCBkZWZpbml0aW9uIGZvciB3aGljaCB0byBnZW5lcmF0 ZSBhIGtleS4KPj4gKyAqIEBwYXJhbSBjdXJzb3IgQ3Vyc29yIG51bWJlciBmcm9tIHdoaWNoIHRv IHRha2UgY29sdW1uIGRhdGEuCj4+ICsgKiBAcGFyYW0gcmVnX291dCBQdXQgdGhlIG5ldyBrZXkg aW50byB0aGlzIHJlZ2lzdGVyIGlmIG5vdCBOVUxMLgo+PiArICogQHBhcmFtIHJlZ19lcGggUmVn aXN0ZXIgaG9sZGluZyBhZHJlc3Mgb2YgZXBoZW1lcmFsIHNwYWNlLgo+PiArICoKPj4gKyAqIEBy ZXR2YWwgUmV0dXJuIGEgcmVnaXN0ZXIgbnVtYmVyIHdoaWNoIGlzIHRoZSBmaXJzdCBpbiBhIGJs b2NrCj4KPkByZXR2YWwg0L/RgNC40L3QuNC80LDQtdGCINC00LLQsCDQsNGA0LPRg9C80LXQvdGC 0LAgLSDQt9C90LDRh9C10L3QuNC1INC4INC+0L/QuNGB0LDQvdC40LUuINCi0L4g0LXRgdGC0Ywg 0YLRiyDQvtC/0LjRgdCw0LssINGH0YLQvgo+0YTRg9C90LrRhtC40Y8g0LLQvtC30LLRgNCw0YnQ sNC10YIg0LfQvdCw0YfQtdC90LjQtSAnUmV0dXJuJyDRgSDQvtC/0LjRgdCw0L3QuNC10LwgJ2Eg cmVnaXN0ZXIgbnVtYmVyIC4uLicuINCU0LvRjwo+0L7Qv9C40YHQsNC90LjRjyDQsdC10Lcg0LrQ vtC90LrRgNC10YLQvdC+0LPQviDQt9C90LDRh9C10L3QuNGPINC10YHRgtGMIEByZXR1cm4vQHJl dHVybnMuCj4KPj4gKyAqIG9mIHJlZ2lzdGVycyB0aGF0IGhvbGRzIHRoZSBlbGVtZW50cyBvZiB0 aGUgaW5kZXgga2V5LiBUaGUKPj4gKyAqIGJsb2NrIG9mIHJlZ2lzdGVycyBoYXMgYWxyZWFkeSBi ZWVuIGRlYWxsb2NhdGVkIGJ5IHRoZSB0aW1lCj4+ICsgKiB0aGlzIHJvdXRpbmUgcmV0dXJucy4K Pj4gKyAqLwo+PiArc3RhdGljIGludAo+PiArZ2VuZXJhdGVfaW5kZXhfa2V5KHN0cnVjdCBQYXJz ZSAqcGFyc2UsIHN0cnVjdCBpbmRleF9kZWYgKmlkeF9kZWYsCj4KPtCR0YvQu9C+INCx0Ysg0L3Q tdC/0LvQvtGF0L4g0LIg0L3QsNC30LLQsNC90LjQuCDRhNGD0L3QutGG0LjQuCDQvtGC0YDQsNC3 0LjRgtGMLCDRh9GC0L4g0L7QvdCwINGA0LDQsdC+0YLQsNC10YIg0YLQvtC70YzQutC+INGBINGN 0YTQtdC80LXRgNC90YvQvNC4Cj7RgdC/0LXQudGB0LDQvNC4Lgo+Cj4+ICsgaW50IGN1cnNvciwg aW50IHJlZ19vdXQsIGludCByZWdfZXBoKQo+PiArewo+PiArIGFzc2VydChyZWdfb3V0ICE9IDAp Owo+PiArIHN0cnVjdCBWZGJlICp2ID0gcGFyc2UtPnBWZGJlOwo+PiArIGludCBjb2xfY250ID0g aWR4X2RlZi0+a2V5X2RlZi0+cGFydF9jb3VudDsKPj4gKyBpbnQgcmVnX2Jhc2UgPSBzcWxHZXRU ZW1wUmFuZ2UocGFyc2UsIGNvbF9jbnQgKyAxKTsKPj4gKyBmb3IgKGludCBqID0gMDsgaiA8IGNv bF9jbnQ7IGorKykgewo+PiArIHVpbnQzMl90IHRhYmxfY29sID0gaWR4X2RlZi0+a2V5X2RlZi0+ cGFydHNbal0uZmllbGRubzsKPj4gKyBzcWxWZGJlQWRkT3AzKHYsIE9QX0NvbHVtbiwgY3Vyc29y LCB0YWJsX2NvbCwgcmVnX2Jhc2UgKyBqKTsKPj4gKyAvKgo+PiArICogSWYgdGhlIGNvbHVtbiB0 eXBlIGlzIE5VTUJFUiBidXQgdGhlIG51bWJlcgo+PiArICogaXMgYW4gaW50ZWdlciwgdGhlbiBp dCBtaWdodCBiZSBzdG9yZWQgaW4gdGhlCj4+ICsgKiB0YWJsZSBhcyBhbiBpbnRlZ2VyICh1c2lu ZyBhIGNvbXBhY3QKPj4gKyAqIHJlcHJlc2VudGF0aW9uKSB0aGVuIGNvbnZlcnRlZCB0byBSRUFM IGJ5IGFuCj4+ICsgKiBPUF9SZWFsaWZ5IG9wY29kZS4gQnV0IHdlIGFyZSBnZXR0aW5nCj4+ICsg KiByZWFkeSB0byBzdG9yZSB0aGlzIHZhbHVlIGJhY2sgaW50byBhbiBpbmRleCwKPj4gKyAqIHdo ZXJlIGl0IHNob3VsZCBiZSBjb252ZXJ0ZWQgYnkgdG8gSU5URUdFUgo+PiArICogYWdhaW4uIFNv IG9taXQgdGhlIE9QX1JlYWxpZnkgb3Bjb2RlIGlmCj4+ICsgKiBpdCBpcyBwcmVzZW50Cj4+ICsg Ki8KPj4gKyBzcWxWZGJlRGVsZXRlUHJpb3JPcGNvZGUodiwgT1BfUmVhbGlmeSk7Cj4+ICsgfQo+ PiArIHNxbFZkYmVBZGRPcDIodiwgT1BfTmV4dElkRXBoZW1lcmFsLCByZWdfZXBoLCByZWdfYmFz ZSArIGNvbF9jbnQpOwo+PiArIHNxbFZkYmVBZGRPcDModiwgT1BfTWFrZVJlY29yZCwgcmVnX2Jh c2UsIGNvbF9jbnQgKyAxLCByZWdfb3V0KTsKPj4gKwo+PiArIHNxbFJlbGVhc2VUZW1wUmFuZ2Uo cGFyc2UsIHJlZ19iYXNlLCBjb2xfY250KTsKPj4gKyByZXR1cm4gcmVnX2Jhc2U7Cj4+ICt9Cj4+ ICsKPj4gLyoKPj4gLSAqIEdlbmVyYXRlIGNvZGUgdG8gY29uc3RydWN0IHRoZSBJbmRleCBvYmpl Y3QgZm9yIGFuIGF1dG9tYXRpYyBpbmRleAo+PiAtICogYW5kIHRvIHNldCB1cCB0aGUgV2hlcmVM ZXZlbCBvYmplY3QgcExldmVsIHNvIHRoYXQgdGhlIGNvZGUgZ2VuZXJhdG9yCj4+IC0gKiBtYWtl cyB1c2Ugb2YgdGhlIGF1dG9tYXRpYyBpbmRleC4KPj4gKyAqIEdlbmVyYXRlIGNvZGUgdG8gY29u c3RydWN0IHRoZSBlcGhlbWVyYWwgc3BhY2UgdGhhdCBjb250YWlucyB1c2VkIGluIHF1ZXJ5Cj4+ ICsgKiBmaWVsZHMgb2Ygb25lIG9mIHRoZSB0YWJsZXMuIFRoZSBpbmRleCBvZiB0aGlzIGVwaGVt ZXJhbCBzcGFjZSB3aWxsIGJlIGtub3duCj4+ICsgKiBhcyBhbiAiYXV0b21hdGljIGluZGV4Ii4g QWxzbywgdGhpcyBmdW5jdGlvbnMgc2V0IHVwIHRoZSBXaGVyZUxldmVsIG9iamVjdAo+PiArICog cExldmVsIHNvIHRoYXQgdGhlIGNvZGUgZ2VuZXJhdG9yIG1ha2VzIHVzZSBvZiB0aGUgYXV0b21h dGljIGluZGV4Lgo+PiAqLwo+PiBzdGF0aWMgdm9pZAo+PiBjb25zdHJ1Y3RBdXRvbWF0aWNJbmRl eChQYXJzZSAqIHBQYXJzZSwgLyogVGhlIHBhcnNpbmcgY29udGV4dCAqLwo+PiBAQCAtODAxLDkg Kzg1MiwxMSBAQCBjb25zdHJ1Y3RBdXRvbWF0aWNJbmRleChQYXJzZSAqIHBQYXJzZSwgLyogVGhl IHBhcnNpbmcgY29udGV4dCAqLwo+PiBuID0gMDsKPj4gaWR4Q29scyA9IDA7Cj4+IHVpbnQzMl90 IHNpemUgPSBzaXplb2Yoc3RydWN0IGtleV9wYXJ0X2RlZikgKiBuS2V5Q29sOwo+PiAtIHN0cnVj dCBrZXlfcGFydF9kZWYgKnBhcnRfZGVmID0gbWFsbG9jKHNpemUpOwo+PiArIHN0cnVjdCByZWdp b24gKnJlZ2lvbiA9ICZmaWJlcigpLT5nYzsKPj4gKyBzaXplX3QgdXNlZCA9IHJlZ2lvbl91c2Vk KHJlZ2lvbik7Cj4+ICsgc3RydWN0IGtleV9wYXJ0X2RlZiAqcGFydF9kZWYgPSByZWdpb25fYWxs b2MocmVnaW9uLCBzaXplKTsKPgo+0K3RgtC+INGA0LDQt9C00L7Qu9Cx0LDQtdGCINGBIEFTQU7Q vtC8INC40Lct0LfQsCDQvtGC0YHRg9GC0YHRgtCy0LjRjyDQstGL0YDQsNCy0L3QuNCy0LDQvdC4 0Y8uINCd0YPQttC10L0gcmVnaW9uX2FsbG9jX2FycmF5Lgo+Cj7Qn9C+0YfQtdC80YMg0L3QtSDQ uNGB0L/QvtC70YzQt9GD0LXRiNGMIFBhcnNlLnJlZ2lvbj8g0KTQsNC50LHQtdGA0L3Ri9C5INC+ 0LHRj9C30LDRgtC10LvRjNC90L4g0LPQtNC1LdC90LjQsdGD0LTRjCDQv9GA0L7QtdCx0LXRgtGB 0Y8KPtC/0L7Rh9C40YHRgtC40YLRjCDQuCDQvdCw0YfQvdC10YIg0YLQtdGH0YwuCj4KPj4gaWYg KHBhcnRfZGVmID09IE5VTEwpIHsKPj4gLSBkaWFnX3NldChPdXRPZk1lbW9yeSwgc2l6ZSwgIm1h bGxvYyIsICJwYXJ0X2RlZiIpOwo+PiArIGRpYWdfc2V0KE91dE9mTWVtb3J5LCBzaXplLCAicmVn aW9uX2FsbG9jIiwgInBhcnRfZGVmIik7Cj4+IHBQYXJzZS0+aXNfYWJvcnRlZCA9IHRydWU7Cj4+ IHJldHVybjsKPj4gfQo+PiBAQCAtODY3LDcgKzkxOSw3IEBAIGNvbnN0cnVjdEF1dG9tYXRpY0lu ZGV4KFBhcnNlICogcFBhcnNlLCAvKiBUaGUgcGFyc2luZyBjb250ZXh0ICovCj4+IGFzc2VydChu ID09IG5LZXlDb2wpOwo+Pgo+PiBzdHJ1Y3Qga2V5X2RlZiAqa2V5X2RlZiA9IGtleV9kZWZfbmV3 KHBhcnRfZGVmLCBuS2V5Q29sLCBmYWxzZSk7Cj4+IC0gZnJlZShwYXJ0X2RlZik7Cj4+ICsgcmVn aW9uX3RydW5jYXRlKHJlZ2lvbiwgdXNlZCk7Cj4KPtCh0LzRi9GB0LvQsCDQsiDRjdGC0L7QvCDQ vNCw0LvQvi4g0JvQuNCx0L4g0YDQtdCz0LjQvtC9INC4INC30LDQsdC40YLRjCDQvdCwINC+0YHQ stC+0LHQvtC20LXQvdC40Y8sINC70LjQsdC+INC60YPRh9CwLgo+Cj4+IGRpZmYgLS1naXQgYS9z cmMvYm94L3NxbC93aGVyZS5jIGIvc3JjL2JveC9zcWwvd2hlcmUuYwo+PiBpbmRleCBlOWU5MzY4 NTYuLmY2YjUzM2FiMSAxMDA2NDQKPj4gLS0tIGEvc3JjL2JveC9zcWwvd2hlcmUuYwo+PiArKysg Yi9zcmMvYm94L3NxbC93aGVyZS5jCj4+IEBAIC03MTIsMTAgKzcxMiw2MSBAQCB0ZXJtQ2FuRHJp dmVJbmRleChXaGVyZVRlcm0gKiBwVGVybSwgLyogV0hFUkUgY2xhdXNlIHRlcm0gdG8gY2hlY2sg Ki8KPj4gI2VuZGlmCj4+Cj4+ICNpZm5kZWYgU1FMX09NSVRfQVVUT01BVElDX0lOREVYCj4+ICsK Pj4gKy8qKgo+PiArICogR2VuZXJhdGUgY29kZSB0aGF0IHdpbGwgYXNzZW1ibGUgYW4gaW5kZXgg a2V5LCBhZGRzIHJvd2lkIGFuZCBzdG9yZXMgaXQgaW4KPj4gKyAqIHJlZ2lzdGVyIHJlZ19vdXQu IFRoZSBrZXkgd2lsbCBiZSBmb3IgaW5kZXggd2hpY2ggaXMgYW4KPj4gKyAqIGluZGV4IG9uIHRh YmxlLiBjdXJzb3IgaXMgdGhlIGluZGV4IG9mIGEgY3Vyc29yIG9wZW4gb24gdGhlCj4+ICsgKiB0 YWJsZSB0YWJsZSBhbmQgcG9pbnRpbmcgdG8gdGhlIGVudHJ5IHRoYXQgbmVlZHMgaW5kZXhpbmcu Cj4+ICsgKiBjdXJzb3IgbXVzdCBiZSB0aGUgY3Vyc29yIG9mIHRoZSBQUklNQVJZIEtFWSBpbmRl eC4KPj4gKyAqCj4+ICsgKiBAcGFyYW0gcGFyc2UgUGFyc2luZyBjb250ZXh0Lgo+PiArICogQHBh cmFtIGlkeF9kZWYgVGhlIGluZGV4IGRlZmluaXRpb24gZm9yIHdoaWNoIHRvIGdlbmVyYXRlIGEg a2V5Lgo+Cj7Qn9C+0YXQvtC00YMg0YLQtdCx0LUg0LTQvtGB0YLQsNGC0L7Rh9C90L4g0L/QtdGA 0LXQtNCw0LLQsNGC0Ywga2V5X2RlZi4g0JLQtdGB0YwgaWR4X2RlZiDQvdC1INC90YPQttC10L0u Cj4KPj4gKyAqIEBwYXJhbSBjdXJzb3IgQ3Vyc29yIG51bWJlciBmcm9tIHdoaWNoIHRvIHRha2Ug Y29sdW1uIGRhdGEuCj4+ICsgKiBAcGFyYW0gcmVnX291dCBQdXQgdGhlIG5ldyBrZXkgaW50byB0 aGlzIHJlZ2lzdGVyIGlmIG5vdCBOVUxMLgo+PiArICogQHBhcmFtIHJlZ19lcGggUmVnaXN0ZXIg aG9sZGluZyBhZHJlc3Mgb2YgZXBoZW1lcmFsIHNwYWNlLgo+PiArICoKPj4gKyAqIEByZXR2YWwg UmV0dXJuIGEgcmVnaXN0ZXIgbnVtYmVyIHdoaWNoIGlzIHRoZSBmaXJzdCBpbiBhIGJsb2NrCj4+ ICsgKiBvZiByZWdpc3RlcnMgdGhhdCBob2xkcyB0aGUgZWxlbWVudHMgb2YgdGhlIGluZGV4IGtl eS4gVGhlCj4+ICsgKiBibG9jayBvZiByZWdpc3RlcnMgaGFzIGFscmVhZHkgYmVlbiBkZWFsbG9j YXRlZCBieSB0aGUgdGltZQo+PiArICogdGhpcyByb3V0aW5lIHJldHVybnMuCj4+ICsgKi8KPj4g K3N0YXRpYyBpbnQKPj4gK2dlbmVyYXRlX2luZGV4X2tleShzdHJ1Y3QgUGFyc2UgKnBhcnNlLCBz dHJ1Y3QgaW5kZXhfZGVmICppZHhfZGVmLAo+PiArIGludCBjdXJzb3IsIGludCByZWdfb3V0LCBp bnQgcmVnX2VwaCkKPj4gK3sKPj4gKyBhc3NlcnQocmVnX291dCAhPSAwKTsKPj4gKyBzdHJ1Y3Qg VmRiZSAqdiA9IHBhcnNlLT5wVmRiZTsKPj4gKyBpbnQgY29sX2NudCA9IGlkeF9kZWYtPmtleV9k ZWYtPnBhcnRfY291bnQ7Cj4+ICsgaW50IHJlZ19iYXNlID0gc3FsR2V0VGVtcFJhbmdlKHBhcnNl LCBjb2xfY250ICsgMSk7Cj4+ICsgZm9yIChpbnQgaiA9IDA7IGogPCBjb2xfY250OyBqKyspIHsK Pj4gKyB1aW50MzJfdCB0YWJsX2NvbCA9IGlkeF9kZWYtPmtleV9kZWYtPnBhcnRzW2pdLmZpZWxk bm87Cj4+ICsgc3FsVmRiZUFkZE9wMyh2LCBPUF9Db2x1bW4sIGN1cnNvciwgdGFibF9jb2wsIHJl Z19iYXNlICsgaik7Cj4+ICsgLyoKPj4gKyAqIElmIHRoZSBjb2x1bW4gdHlwZSBpcyBOVU1CRVIg YnV0IHRoZSBudW1iZXIKPj4gKyAqIGlzIGFuIGludGVnZXIsIHRoZW4gaXQgbWlnaHQgYmUgc3Rv cmVkIGluIHRoZQo+PiArICogdGFibGUgYXMgYW4gaW50ZWdlciAodXNpbmcgYSBjb21wYWN0Cj4+ ICsgKiByZXByZXNlbnRhdGlvbikgdGhlbiBjb252ZXJ0ZWQgdG8gUkVBTCBieSBhbgo+PiArICog T1BfUmVhbGlmeSBvcGNvZGUuIEJ1dCB3ZSBhcmUgZ2V0dGluZwo+PiArICogcmVhZHkgdG8gc3Rv cmUgdGhpcyB2YWx1ZSBiYWNrIGludG8gYW4gaW5kZXgsCj4+ICsgKiB3aGVyZSBpdCBzaG91bGQg YmUgY29udmVydGVkIGJ5IHRvIElOVEVHRVIKPj4gKyAqIGFnYWluLiBTbyBvbWl0IHRoZSBPUF9S ZWFsaWZ5IG9wY29kZSBpZgo+PiArICogaXQgaXMgcHJlc2VudAo+PiArICovCj4+ICsgc3FsVmRi ZURlbGV0ZVByaW9yT3Bjb2RlKHYsIE9QX1JlYWxpZnkpOwo+PiArIH0KPj4gKyBzcWxWZGJlQWRk T3AyKHYsIE9QX05leHRJZEVwaGVtZXJhbCwgcmVnX2VwaCwgcmVnX2Jhc2UgKyBjb2xfY250KTsK Pj4gKyBzcWxWZGJlQWRkT3AzKHYsIE9QX01ha2VSZWNvcmQsIHJlZ19iYXNlLCBjb2xfY250ICsg MSwgcmVnX291dCk7Cj4+ICsKPj4gKyBzcWxSZWxlYXNlVGVtcFJhbmdlKHBhcnNlLCByZWdfYmFz ZSwgY29sX2NudCk7Cj4KPtCS0YvQs9C70Y/QtNC40YIg0LrQsNC6INC70Y7RgtGL0Lkg0YXQsNC6 IC0g0LDQu9C70L7RhtC40YDRg9C10YLRgdGPIE4gKyAxINCy0YDQtdC80LXQvdC90YvRhSDRgNC1 0LPQuNGB0YLRgNC+0LIsINC90L4KPtC+0YHQstC+0LHQvtC20LTQsNC10YLRgdGPINGC0L7Qu9GM 0LrQviBOLCDRh9GC0L7QsSDQsiDQv9C+0YHQu9C10LTQtdC8INGH0LUt0YLQviDRgdC+0YXRgNCw 0L3QuNGC0YwuINCi0L4g0LXRgdGC0Ywg0L3QsNC80LXRgNC10L3QvdCw0Y8KPtGD0YLQtdGH0LrQ sCDQstGA0LXQvNC10L3QvdC+0LPQviDRgNC10LPQuNGB0YLRgNCwINC90LAg0LLRgNC10LzRjyDQ stGL0L/QvtC70L3QtdC90LjRjyDQt9Cw0L/RgNC+0YHQsC4g0JLRi9Cz0LvRj9C00LjRgiDQvdC1 INC+0YfQtdC90YwuCj7Qm9GD0YfRiNC1INCx0Ysg0Y3RgtC+INC/0L7Rh9C40L3QuNGC0Ywg0L7R gtC00LXQu9GM0L3Ri9C8INGC0LjQutC10YLQvtC8LiAKwqAKwqAKLS0gPGJyLz7QnNC10YDQs9C1 0L0g0JjQvNC10LXQsgrCoA== ----ALT--fE222cBb87dCB104268D55863Fc71A6d1600750986 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+0J/RgNC40LLQtdGCISDQodC/0LDRgdC40LHQviDQt9CwINGA0LXQ stGM0Y4hINCvINC/0YDQvtGI0YMg0L/RgNC+0YnQtdC90LjRjywg0L3QsCDQtNCw0L3QvdGL0Lkg 0LzQvtC80LXQvdGCINGPINC80L7Qs9GDINGC0L7Qu9GM0LrQviDQvtGC0LLQtdGC0LjRgtGMINC9 0LAg0LLQvtC/0YDQvtGB0Ysg0YDQtdCy0YzRjtGRINCS0YHQtSDQuNC30LzQtdC90LXQvdC40Y8g 0Lgg0L/RgNC40LzQtdGA0Ysg0Y8g0YHQvNC+0LPRgyDQvtGC0L/RgNCw0LLQuNGC0Ywg0LfQsNCy 0YLRgNCwLjxicj4mbmJzcDs8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlk ICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij7QktGC0L7RgNC90LjQ uiwgMjIg0YHQtdC90YLRj9Cx0YDRjyAyMDIwLCAwOjM3ICswMzowMCDQvtGCIFZsYWRpc2xhdiBT aHBpbGV2b3kgJmx0O3Yuc2hwaWxldm95QHRhcmFudG9vbC5vcmcmZ3Q7Ojxicj4mbmJzcDs8ZGl2 IGlkPSIiPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PHN0eWxlIHR5cGU9 InRleHQvY3NzIj48L3N0eWxlPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTYwMDcyNDI3MDE0NDg1MTY0 NzVfQk9EWSI+0J/RgNC40LLQtdGCISDQodC/0LDRgdC40LHQviDQt9CwINC/0LDRgtGHITxicj48 YnI+T24gMjAuMDkuMjAyMCAyMzoxNywgTWVyZ2VuIEltZWV2IHdyb3RlOjxicj4mZ3Q7IEhpISBU aGFuayB5b3UgZm9yIHRoZSByZXZpZXcuIE15IGFuc3dlcnMsIGRpZmYgYW5kIG5ldyBwYXRjaCBi ZWxvdy48YnI+Jmd0Ozxicj4mZ3Q7IEkgdHJpZWQgdG8gYW5zd2VyIGEgZmV3IHF1c3Rpb25zLCBi dXQgYXQgdGhlIGVuZCBkZWNpZGVkIHRvIG5vdCBpbmNsdWRlIHRoZW08YnI+Jmd0OyBpbiB0aGlz IHBhdGNoLiBIZXJlIGFyZSB0aGVzZSBxdWVzdGlvbnM6PGJyPjxicj7QlNCw0LLQsNC5INC/0L4t 0YDRg9GB0YHQutC4LiDQryDRh9C1LdGC0L4g0L3QtSDQv9C+0L3QuNC80LDRjiDQvdC40YfQtdCz 0L4uINCvINGN0YLQuNGFINCy0L7Qv9GA0L7RgdC+0LIg0L3QtSDQt9Cw0LTQsNCy0LDQuy4g0K3R gtC+PGJyPtGC0LLQvtC4INGB0L7QsdGB0YLQstC10L3QvdGL0LUg0LLQvtC/0YDQvtGB0Ysg0LTQ u9GPINGB0LDQvNC+0L/RgNC+0LLQtdGA0LrQuCwg0L3QsCDQutC+0YLQvtGA0YvQtSDRgtGLINGA 0LXRiNC40Lsg0L7RgtCy0LXRgtC40YLRjDxicj7Qv9GD0LHQu9C40YfQvdC+PzwvZGl2PjwvZGl2 PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48ZGl2Pjxicj7QnNC90LUg0LrQsNC30LDQ u9C+0YHRjCwg0YfRgtC+INGN0YLQuCDQstC+0L/RgNC+0YHRiyDQuNC80LXRjtGCINC30L3QsNGH 0LXQvdC40LUg0LTQu9GPINGN0YLQvtCz0L4g0L/QsNGC0YfQsCwg0L/QvtGN0YLQvtC80YMg0Y8g 0LLQutC70Y7Rh9C40Lsg0LjRhSDRgdGO0LTQsC48L2Rpdj48ZGl2PjxibG9ja3F1b3RlIHN0eWxl PSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAw IDAgMTBweDsiPjxkaXY+PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2 PjxkaXY+PGJyPiZndDsgMSkgQ2FuIHdlIHVzZSBzZWNvbmRhcnkgaW5kZXggaW5zdGVhZCBvZiBh biBlcGhlbWVyYWwgc3BhY2U/PGJyPiZndDsgVGhpcyBsb29rIGEgYml0IGRpZmZpY3VsdCwgYW5k IGl0IGNhbm5vdCBiZSB1c2VkIHdpdGggdmlldyBzaW5jZSB0aGV5IGRvIG5vdDxicj4mZ3Q7IGhh dmUgYW4gYWN0dWFsIGluZGV4Ljxicj48YnI+0K3RgtC+INC90LUg0YLQvtC70YzQutC+INGB0LvQ vtC20L3Qviwg0L3QviDQuCDQvdC10L/RgNCw0LLQuNC70YzQvdC+LiDQodC+0LfQtNCw0LLQsNGC 0Ywg0LLRgtC+0YDQuNGH0L3Ri9C5INC40L3QtNC10LrRgSDQvdCwINC60LDQttC00YvQuTxicj7Q t9Cw0L/RgNC+0YEg0LLRi9Cz0LvRj9C00LjRgiDQvtGH0LXQvdGMINC20LXRgdGC0LrQvi4g0JrR gtC+INCx0YPQtNC10YIg0LPQsNGA0LDQvdGC0LjRgNC+0LLQsNGC0Ywg0LjRhSDRg9C00LDQu9C1 0L3QuNC1ICjRgtCw0Log0LrQsNC6PGJyPtGN0YLQviDQuNC30LzQtdC90LXQvdC40LUg0YHRhdC1 0LzRiywg0LAg0LfQvdCw0YfQuNGCINC/0L7Qv9Cw0LTQsNC10YIg0LIgV0FMPyDQmtCw0Log0YHQ tNC10LvQsNGC0Ywg0LjRhSDQvdC10LLQuNC00LjQvNGL0LzQuCDQtNC70Y88YnI+0Y7Qt9C10YDQ vtCyLCDQuCAi0LLQuNC00LXRgtGMIiDQuNGFINGC0L7Qu9GM0LrQviDQsiDQvtC00L3QvtC8INC3 0LDQv9GA0L7RgdC1PyDQmtCw0Log0LHRi9GC0Ywg0YEg0LLQuNC90LjQu9C+0Lw/INCh0LvQuNGI 0LrQvtC8PGJyPtC80L3QvtCz0L4g0LLQvtC/0YDQvtGB0L7Qsi48L2Rpdj48L2Rpdj48L2Rpdj48 L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGRpdj48YnI+0J/QvtC90Y/Quywg0YHQv9Cw0YHQuNCx 0L4uINCjINC80LXQvdGPINCx0YvQu9C4INCy0L7Qv9GA0L7RgdGLINC00YDRg9Cz0L7Qs9C+INC/ 0LvQsNC90LAg4oCUINC60LDQuiDRgNCw0LHQvtGC0LDRgtGMINGBINGN0YLQuNC8INCy0YLQvtGA 0LjRh9C90YvQvCDQuNC90LTQtdC60YHQvtC8INGH0YLQvi3QsdGLINCy0YHQtSDQvdC1INGB0LvQ vtC80LDQu9C+0YHRjCDQsiBTUUwsINC90L4g0YLQstC+0Lgg0LLQvtC/0YDQvtGB0Ysg0LHQvtC7 0LXQtSDQs9C70L7QsdCw0LvRjNC90YsuINCc0L3QtSDQutCw0LfQsNC70L7RgdGMLCDRh9GC0L4g 0YHQvtC30LTQsNC90LjQtSDQuNC90LTQtdC60YHQsCDQstC80LXRgdGC0L4g0L/QtdGA0LXRgdC+ 0LfQtNCw0L3QuNGPINGC0LDQv9C70L7QsiDQsdGD0LTQtdGCINCy0YvQs9C+0LTQvdC10LUsINC9 0L4g0LLQvtC30L3QuNC60LDQtdGCINGB0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0L/RgNC+0LHQ u9C10LwuINCvINC00YPQvNCw0Y4g0L/QvtC60LAg0YHRgtC+0LjRgiDQvtGC0LrQsNC30LDRgtGM 0YHRjyDQvtGCINGN0YLQvtCz0L4g0LLQsNGA0LjQsNC90YLQsC48L2Rpdj48ZGl2PiZuYnNwOzwv ZGl2PjxkaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2 OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdj48ZGl2IGNsYXNzPSJqcy1o ZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdj48YnI+0KXQvtGC0Y8g0LIg0LTQsNC70LXQ utC+0Lkg0L/QtdGA0YHQv9C10LrRgtC40LLQtSDQt9Cy0YPRh9C40YIg0LrRgNGD0YLQviAtICLR jdGE0LXQvNC10YDQvdGL0LUg0LjQvdC00LXQutGB0YsiLiDQn9GA0Y/QvNC+INGC0LDQutC4PGJy PtC90LDQt9Cy0LDQvdC40LUg0LTQu9GPINC00LjRgdC10YDQsC4g0JzQvtCz0LvQviDQsdGLINC/ 0L7QvNC+0YfRjCDQsiDQvNC10LzRgtC40LrRgdC1LCDRh9GC0L7QsSAi0Y3RhNC10LzQtdGA0L3R i9C1INC40L3QtNC10LrRgdGLIjxicj7RhdGA0LDQvdC40LvQuCDRgdGB0YvQu9C60Lgg0L3QsCDR gtCw0L/Qu9GLLCDQsCDQvdC1INC60L7Qv9C40Lgg0YLQsNC/0LvQvtCyLjxicj48YnI+Jmd0OyAy KSBDYW4gd2UgZ2V0IHJpZCBvZiAndmlhQ29yb3V0aW5lJyBicmFuY2hlcyBpbiBjb25zdHJ1Y3RB dXRvbWF0aWNJbmRleCgpPzxicj4mZ3Q7IEFzIGZhciBhcyBJIHVuZGVyc3RhbmQsIHRoaXMgZmxh ZyBpcyBhbHdheXMgZmFsc2UgaGVyZS48YnI+PGJyPtCd0LUg0L/RgNC10LTRgdGC0LDQstC70Y/R jiDRh9GC0L4g0Y3RgtC+LiDQmCDRgSDQv9Cw0YLRh9C10Lwg0L/QvtGF0L7QtNGDINC90LUg0YHQ stGP0LfQsNC90L4uPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2Pjxk aXY+PGJyPtCd0LUg0YHQvtCy0YHQtdC8INC90LUg0YHQstGP0LfQsNC90L4uINCU0LXQu9C+INCy INGC0L7QvCwg0YfRgtC+INC10YHQu9C4INC80Ysg0YPQtNCw0LvQuNC8INCx0YDQsNC90Ycg0YEg dmlhQ29yb3V0aW5lLCDRgi7Qui4g0L7QvSDRgyDQvdCw0YEg0L3QsCDQtNCw0L3QvdGL0Lkg0LzQ vtC80LXQvdGCINCy0YHQtdCz0LTQsCBmYWxzZSwg0YMg0L3QsNGBINGD0L/RgNC+0YHRgtC40YLR gdGPINC60L7QtC4g0J3QsNC/0YDQuNC80LXRgCDRhNGD0L3QutGG0LjRjyBnZW5lcmF0ZV9pbmRl eF9rZXkoKSDRgdGC0LDQvdC10YIgdm9pZC48L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+PGJs b2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBw eDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVh ZG1zZy1tc2ciPjxkaXY+PGRpdj48YnI+Jmd0OyAzKSBDYW4gSSBnZXQgcmlkIG9mIE9QX1JlYWxp Znk/PGJyPiZndDsgSSB0aGluayBJIGNhbiwgYnV0IGRlY2lkZWQgdG8gZG8gdGhpcyBubyBpbiB0 aGlzIHBhdGNoLjxicj48YnI+0KLRiyDQv9GA0L7QsdC+0LLQsNC7INC10LPQviDQv9GA0L7RgdGC 0L4g0LTRgNC+0L/QvdGD0YLRjD8g0JvQvtC80LDQtdGC0YHRjyDRh9GC0L4t0YLQvj88L2Rpdj48 L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGRpdj48YnI+0J/RgNC+0LHQvtCy 0LDQuywg0L3QuNGH0LXQs9C+INC90LUg0LvQvtC80LDQtdGC0YHRjy4g0JXRgdC70Lgg0L/QvtGB 0LzQvtGC0YDQtdGC0Ywg0L3QsCDQstGB0LUg0LzQtdGB0YLQsCDQuNGB0L/QvtC70YzQt9C+0LLQ sNC90LjRjyBPUF9SZWFsaWZ5ICjQuNGFINC00LLQsCkg0Lgg0L/QvtGB0LzQvtGC0YDQtdGC0Ywg 0L3QsCDRgdGC0LDRgNGL0Lkg0LrQvtC0LCDQtdGJ0LUg0LTQviDRg9C00LDQu9Cw0LvQtdC90LjR jyDRgtC40L/QsCBSZWFsINC40LcgU1FMLCDRgtC+INGC0LDQvCDQstC40LTQvdC+LCDRh9GC0L4g 0Y3RgtC+0YIg0L7Qv9C60L7QtCDQuNGB0L/QvtC70YzQt9C+0LLQsNC70YHRjyDQtNC70Y8g0L/R gNC10L7QsdGA0LDQt9C+0LLQsNC90LjRjyBJTlQg0LIgUkVBTC4g0JrQvtCz0LTQsCBSRUFMINCx 0YvQtyDQt9Cw0LzQtdC90LXQvSDQvdCwIE5VTUJFUiDRjdGC0L4g0L/RgNC10L7QsdGA0LDQt9C+ 0LLQsNC90LjQtSDQvtGB0YLQsNC70L7RgdGMLCDRhdC+0YLRjywg0LrQsNC6INC80L3QtSDQutCw 0LbQtdGC0YHRjywg0LIg0L3QtdC8INC90LXQsdGL0LvQviDQvdGD0LbQtNGLLiDQn9C+0YHQu9C1 INC00L7QsdCw0LLQu9C10L3QuNGPIERPVUJMRSDQsiDQv9Cw0YDQtSDQvNC10YHRgiDRjdGC0L7R giDQvtC/0LrQvtC0INCy0YHQtSDQtdGJ0LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIsINC+0LTQvdCw 0LrQviDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0L3QtdC/0YDQsNCy0LjQu9GM0L3Qvi4g0K8g 0LTRg9C80LDRjiDRjdGC0L7RgiDQvtC/0LrQvtC0INCx0L7Qu9GM0YjQtSDQvdC10L3Rg9C20LXQ vS4g0J7QtNC90LDQutC+LCDQvNC90LUg0LrQsNC20LXRgtGB0Y8g0LXQs9C+INGB0YLQvtC40YIg 0YPQsdGA0LDRgtGMINC+0YLQtNC10LvRjNC90YvQvCDQv9Cw0YLRh9C10Lwg0LLQvdC1INGN0YLQ vtC5INC30LDQtNCw0YfQuC48L2Rpdj48ZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVm dDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPjxk aXY+PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXY+PGJyPiZn dDsgT24gV2VkLCBTZXAgMDksIDIwMjAgYXQgMTE6NTg6MDlQTSArMDIwMCwgVmxhZGlzbGF2IFNo cGlsZXZveSB3cm90ZTo8YnI+Jmd0OyZndDsgSGkhIFRoYW5rcyBmb3IgdGhlIHBhdGNoITxicj4m Z3Q7Jmd0Ozxicj4mZ3Q7Jmd0OyBTZWUgMTQgY29tbWVudHMgYmVsb3cuPGJyPiZndDsmZ3Q7PGJy PiZndDsmZ3Q7IE9uIDA0LjA5LjIwMjAgMTM6NTMsIDxhIGhyZWY9Ii9jb21wb3NlP1RvPWltZWV2 bWFAdGFyYW50b29sLm9yZyI+aW1lZXZtYUB0YXJhbnRvb2wub3JnPC9hPiB3cm90ZTo8YnI+Jmd0 OyZndDsmZ3Q7IFRoaXMgcGF0Y2ggZW5hYmxlcyB0aGUgImF1dG8taW5kZXgiIG9wdGltaXphdGlv biBpbiBTUUwuIFRoZSBhdXRvLWluZGV4PGJyPiZndDsmZ3Q7Jmd0OyBpcyBhY3R1YWxseSBhbiBl cGhlbWVyYWwgc3BhY2UgdGhhdCBjb250YWluIHNvbWUgY29sdW1ucyBvZiB0aGUgb3JpZ2luYWw8 YnI+Jmd0OyZndDsmZ3Q7IHNwYWNlLjxicj4mZ3Q7Jmd0Ozxicj4mZ3Q7Jmd0OyAxLiBJbiB0aGUg cGF0Y2ggdGhlIGNvZGUgY2FsbHMgdGhlIGluZGV4ICdjb3ZlcmluZycgbWVhbmluZyB0aGF0IGl0 PGJyPiZndDsmZ3Q7IGNvbnRhaW5zIGFsbCB0aGUgY29sdW1ucy4gV2hhdCBpcyB0cnVlPzxicj4m Z3Q7IEJvdGgsIEkgdGhpbmssIHNpbmNlIHRoaXMgaW5kZXggaXMgdGhlIFBLIG9mIG1lbnRpb25l ZCBlcGhlbWVyYWwgc3BhY2UuPGJyPjxicj7Qp9GC0L4g0LfQvdCw0YfQuNGCIGJvdGg/INCY0L3Q tNC10LrRgSDQu9C40LHQviBjb3ZlcmluZyAo0YHQvtC00LXRgNC20LjRgiDQstGB0LUg0LrQvtC7 0L7QvdC60LgpLCDQu9C40LHQviDQvdC10YIgKNGB0L7QtNC10YDQttC40YI8YnI+0L3QtSDQstGB 0LUpLjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48ZGl2Pjxicj7Q odGD0YLRjCDQsiDRgtC+0LwsINGH0YLQviBpZHhfZGVmINGB0L7QtNC10YDQttC40YIg0L3QtSDQ stGB0LUg0LrQvtC70L7QvdC60Lgg0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz0L4g0YHQv9C10LnR gdCwLCDQvtC00L3QsNC60L4g0LjQvdC00LXQutGBINGB0L7Qt9C00LDQstCw0LXQvNGL0Lkg0LTQ u9GPINGN0YTQtdC80LXRgNC90L7Qs9C+INGB0L/QtdC50YHQsCDRgdC+0LTQtdGA0LbQuNGCINCy 0YHQtSDQutC+0LvQvtC90LrQuC4g0J/RgNC4INGN0YLQvtC8LCDRgdC+0LfQtNCw0L3QuNC1IGlk eF9kZWYg0L3QtSDQv9GA0LjQstC+0LTQuNGCINC6INGB0L7Qt9C00LDQvdC40Y4g0LjQvdC00LXQ utGB0LAuPC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2PtCvINC/0L7Qv9GA0L7QsdGD0Y4g0L7Q v9C40YHQsNGC0Ywg0LLQtdGB0Ywg0LzQtdGF0LDQvdC40LfQvDo8L2Rpdj48b2w+PGxpPtCf0LvQ sNC90LjRgNC+0LLRidC40Log0L7Qv9GA0LXQtNC10LvRj9C10YIsINGH0YLQviDQsdGD0LTQtdGC INC40YHQv9C+0LvRjNC30L7QstCw0YLRjNGB0Y8g0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LjQ uSDQuNC90LTQtdC60YEuPC9saT48bGk+0KHQvtC30LTQsNC10YLRgdGPIGlkeF9kZWYsINC60L7R gtC+0YDRi9C5INGB0L7QtNC10YDQttC40YIg0LLRgdC1INC40YHQv9C+0LvRjNC30YPRjtGJ0LjQ tdGB0Y8g0LIg0LfQsNC/0YDQvtGB0LUg0LrQvtC70L7QvdC60Lgg0L7RgNC40LPQuNC90LDQu9GM 0L3QvtCz0L4g0YHQv9C10LnRgdCwLiDQndC1INGC0L7Qu9GM0LrQviDRgtC1LCDQutC+0YLQvtGA 0YvQtSDQuNGB0L/QvtC70YzQt9GD0Y7RgtGB0Y8g0LLQviB3aGVyZS4g0K3RgtC+INC00LXQu9Cw 0LXRgtGB0Y8g0LTQu9GPINGC0L7Qs9C+LCDRh9GC0L4g0LHRiyDQsdC+0LvRjNGI0LUg0L3QtSDQ vtCx0YDQsNGJ0LDRgtGM0YHRjyDQuiDQvtGA0LjQs9C40L3QsNC70YzQvdC+0LzRgyDRgdC/0LXQ udGB0YMsINCwINGA0LDQsdC+0YLQsNGC0Ywg0YLQvtC70YzQutC+INGBINGN0YTQtdC80LXRgNC9 0YvQvCDRgdC/0LXQudGB0L7QvC4g0K3RgtC+0YIgaWR4X2RlZiDQvdC1INC40YHQv9C+0LvRjNC3 0YPQtdGC0YHRjyDQtNC70Y8g0YHQvtC30LTQsNC90LjRjyDQuNC90LTQtdC60YHQsC48L2xpPjxs aT7QodC+0LfQtNCw0LXRgtGB0Y8g0Y3RhNC10LzQtdGA0L3Ri9C5INGB0L/QtdC50YEg0L3QsCDQ vtGB0L3QvtCy0LUg0YHQvtC30LTQsNC90L3QvtCz0L4g0YDQsNC90LXQtSBpZHhfZGVmLiDQn9C+ 0LzQuNC80L4g0LrQvtC70L7QvdC+0Log0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz0L4g0YHQv9C1 0LnRgdCwINC00L7QsdCw0LLQu9GP0LXRgtGB0Y8gcm93aWQsINGCLtC6LiDQstC+0LfQvNC+0LbQ vdGLINGB0LvRg9GH0LDQuCwg0LrQvtCz0LTQsCDQt9C90LDRh9C10L3QuNGPINCy0L4g0LLRgdC1 0YUg0LrQvtC70L7QvdC60LDRhSDRgdC+0LLQv9Cw0LTQsNC10YIg0LIg0L3QtdGB0LrQvtC70YzQ utC40YUg0LfQsNC/0LjRgdGP0YUuINCf0YDQuCDRjdGC0L7QvCwg0LrQvtC70L7QvdC60Lgg0LIg 0Y3RhNC10LzQtdGA0L3QvtC8INGB0L/QtdC50YHQtSDRgNCw0YHQv9C+0LvQvtC20LXQvdGLINCy INGC0L7QvCDQttC1INC/0L7RgNGP0LTQutC1LCDQsiDQutCw0LrQvtC8INC+0L3QuCDQvtC/0LjR gdCw0L3RiyDQsiDQuNC90LTQtdC60YHQtS4mbmJzcDsg0KIu0LUuINC+0L3QuCwg0YHQutC+0YDQ tdC1INCy0YHQtdCz0L4sINGA0LDRgdC/0L7Qu9C+0LbQtdC90Ysg0L3QtSDQsiDRgtC+0Lwg0LbQ tSDQv9C+0YDRj9C00LrQtSwg0LIg0LrQsNC60L7QvCDQvtC90Lgg0YDQsNGB0L/QvtC70L7QttC1 0L3RiyDQsiDQvtGA0LjQs9C40L3QsNC70YzQvdC+0Lwg0YHQv9C10LnRgdC1LjwvbGk+PGxpPtCU 0LvRjyDRgdC+0LfQtNCw0L3QvdC+0LPQviDRjdGE0LXQvNC10YDQvdC+0LPQviDRgdC/0LXQudGB 0LAg0YHQvtC30LTQsNC10YLRgdGPINC40L3QtNC10LrRgSwg0LrQvtGC0L7RgNGL0LUg0Y/QstC7 0Y/QtdGC0YHRjyBjb3ZlcmluZy4g0JjQvNC10L3QvdC+INC/0L7RjdGC0L7QvNGDINCyINC90LXQ utC+0YLQvtGA0YvRhSDQvNC10YHRgtCw0YUg0L3QsNC/0LjRgdCw0L3Qviwg0YfRgtC+INGB0L7Q t9C00LDQtdGC0YHRjyBjb3ZlcmluZyBpbmRleC48L2xpPjxsaT7Qoi7Qui4g0L/Qu9Cw0L3QuNGA 0L7QstGJ0LjQuiDQv9C+0YHRh9C40YLQsNC7LCDRh9GC0L4g0LHRg9C00LXRgiDQuNGB0L/QvtC7 0YzQt9C+0LLQsNGC0YzRgdGPINCw0LLRgtC+0LjQvdC00LXQutGBLCDRgtC+INCyINC60LDRh9C1 0YHRgtCy0LUg0YHQv9C10LnRgdCwINC40Lcg0LrQvtGC0L7RgNC+0LPQviDQsdGD0LTRg9GCINCy 0YvQsdGA0LDQvdGLINGC0LDQv9C70Ysg0LzRiyDQsdGD0LTQtdC8INC40YHQv9C+0LvRjNC30L7Q stCw0YLRjCDRgdC+0LfQtNCw0L3QvdGL0Lkg0L3QsNC80Lgg0Y3RhNC10LzQtdGA0L3Ri9C5INGB 0L/QtdC50YEuINCe0LTQvdCw0LrQviwg0LLQviDQstGA0LXQvNGPINC/0L7RgdGC0YDQvtC10L3Q uNGPIHZkYmUt0LrQvtC00LAg0LIg0LrQsNGH0LXRgdGC0LLQtSBmaWVsZG5vINCx0YvQu9C+INC4 0YHQv9C+0LvRjNC30L7QstCw0L3QviDRgNCw0YHQv9C+0LvQvtC20LXQvdC40LUg0LrQvtC70L7Q vdC+0Log0LIg0L7RgNC40LPQuNC90LDQu9GM0L3QvtC8INGB0L/QtdC50YHQtS4g0J/QvtGN0YLQ vtC80YMsINCyINGB0LvRg9GH0LDQtSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDQsNCy0YLQ vtC40L3QtNC10LrRgdCwINC80Ysg0LfQsNC80LXQvdGP0LXQvCBmaWVsZG5vINC+0YDQuNCz0LjQ vdCw0LvRjNC90L7Qs9C+INGB0L/QtdC50YHQsCDQsiBPUF9Db2x1bW4g0L3QsCBmaWVsZG5vINCy INGN0YTQtdC80LXRgNC90L7QvCDRgdC/0LXQudGB0LUg0LjRgdC/0L7Qu9GM0LfRg9GPINGB0L7Q t9C00LDQvdC90YvQuSDRgNCw0L3QtdC1IGlkeF9kZWYuPC9saT48L29sPjxkaXY+Jm5ic3A7PC9k aXY+PGRpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7 IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2PjxkaXYgY2xhc3M9ImpzLWhl bHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2Pjxicj4mZ3Q7IFdlIGNyZWF0ZSBpbmRleCBk ZWZpbml0aW9uIGZvciB0aGUgb3JpZ2luYWwgc3BhY2UsIGhvd2V2ZXIgdGhpcyBpbmRleCBkZWZp bml0aW9uPGJyPiZndDsgaXMgbm90IHVzZWQgZm9yIGFueSBhY3R1YWwgaW5kZXguIFRoaXMgaW5k ZXggZGVmaW5pdGlvbiBpcyB1c2VkIGFzIGEgY29ubmVjdGlvbjxicj4mZ3Q7IGJldHdlZW4gb3Jp Z2luYWwgc3BhY2UgYW5kIGNyZWF0ZWQgZXBoZW1lcmFsIHNwYWNlLjxicj48YnI+0J3QtSDQv9C+ 0L3Rj9C7INC90LjRh9C10LPQvi4g0J/QtdGA0LXRhNGA0LDQt9C40YDRg9C5INC90LAg0YDRg9GB 0YHQutC+0Lwg0L/Qu9C40LcsINC80L7QttC10YIg0YLQsNC6INC/0L7QvdGP0YLQvdC10LUg0YHR gtCw0L3QtdGCLjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48ZGl2 Pjxicj7Ql9C00LXRgdGMINGPINC40LzQtdC7INCy0LLQuNC00YMg0YLQviwg0YfRgtC+INC+0L/Q uNGB0LDQuyDQsiDQvy4yINC4Jm5ic3A7INC/LjUg0LLRi9GI0LUuPC9kaXY+PGRpdj48YmxvY2tx dW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBw YWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2PjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNn LW1zZyI+PGRpdj48ZGl2Pjxicj4mZ3Q7Jmd0OyZndDsgSW4gc29tZSBjYXNlcywgdGhpcyBjYW4g c3BlZWQgdXAgZXhlY3V0aW9uLCBzaW5jZSBjcmVhdGluZyBhIG5ldzxicj4mZ3Q7Jmd0OyZndDsg aW5kZXggYW5kIHNlYXJjaGluZyB1c2luZyBpdCBjYW4gYmUgbW9yZSBjb3N0IGVmZmljaWVudCB0 aGFuIHNjYW5uaW5nLjxicj4mZ3Q7Jmd0Ozxicj4mZ3Q7Jmd0OyAyLiBDb3VsZCB5b3UgcHJvdmlk ZSBhbiBleGFtcGxlPzxicj4mZ3Q7IEF0IHRoZSBtb21lbnQgZXhhbXBsZXMgdGhhdCBjYW4gc2hv dyB0aGF0IGluIHNvbWUgY2FzZXMgU1FMIHdvcmtzIGZhc3RlciB3aXRoPGJyPiZndDsgZW5hYmxl ZCBvcHRpbWl6YXRpb24gYXJlIHF1aXRlIGJpZy4gT25lIG9mIHN1Y2ggZXhhbXBsZXMgaXMgUTEz IGZvciBUUEMtSC48YnI+Jmd0OyBTaG91bGQgSSBwcm92aWRlIGRhdGEgZ2VuZXJhdGlvbiBhbmQg cXVlcnk/PGJyPjxicj7QndC10YIsINGB0LrRgNC40L/RgiDRgdC70LjRiNC60L7QvCDQsdC+0LvR jNGI0L7QuSDQvdCw0LLQtdGA0L3Rj9C60LAg0Lgg0L3QtSDRgdC60LDQttC10YIg0L3QuNGH0LXQ s9C+LiDQryDQv9GL0YLQsNGO0YHRjCDQv9C+0L3Rj9GC0YwsPGJyPtC00LvRjyDQutCw0LrQuNGF INC30LDQv9GA0L7RgdC+0LIg0Y3RgtC+INC/0YDQuNC80LXQvdC40LzQvi4g0JrQsNC6INGN0YLQ uCDQt9Cw0L/RgNC+0YHRiyDQvtC/0LjRgdCw0YLRjD8g0JrQsNC6INC/0L4g0LfQsNC/0YDQvtGB 0YMg0L/QvtC90Y/RgtGMLDxicj7QsdGD0LTQtdGCINGC0LDQvCDQsNCy0YLQvtC40L3QtNC10LrR gSDQuNC70Lgg0L3QtdGCPyDQmtC+0L3QutGA0LXRgtC90YvQuSDQv9GA0LjQvNC10YAg0LfQsNC/ 0YDQvtGB0LAg0LzQvtC20LXRgiDQuCDQv9C+0LzQvtC20LXRgiwg0L3QviDRjzxicj7RhdC3LCDR jyDQv9GA0L7RgdGC0L4g0L3QtSDQt9C90LDRjiDQutCw0Log0L7QvSDQstGL0LPQu9GP0LTQuNGC LjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48ZGl2Pjxicj7Qn9C+ 0L3Rj9C7LiDQryDQtNC+0LHQsNCy0LvRjiDQv9GA0LjQvNC10YAg0Lgg0L7Qv9C40YHQsNC90LjQ tSDRgtC+0LPQviwg0LrQvtGC0LPQtNCwINCw0LLRgtC+0LjQvdC00LXQutGBINC/0YDQuNC80LXQ vdGP0LXRgtGB0Y8uJm5ic3A7INCd0LAg0LTQsNC90L3Ri9C5INC80L7QvNC10L3RgiDQvNC+0LPR gyDRgdC60LDQt9Cw0YLRjCwg0YfRgtC+INC+0LTQvdC40Lwg0LjQtyDRgdC70YPRh9Cw0LXQsiDQ utC+0LPQtNCwINC+0L0g0L/RgNC40LzQtdC90Y/QtdGC0YHRjyDigJQg0LfQsNC/0YDQvtGB0Ysg 0YEg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LXQvCBqb2luLiDQrdGC0L7RgiDQstC+0L/RgNC+ 0YEg0Y8g0L7Qv9C40YjRgyDQsdC+0LvQtdC1INC/0L7Qv9C00YDQvtCx0L3QviDRh9GD0YLRjCDQ v9C+0LfQttC1LjwvZGl2PjxkaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBz b2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdj48ZGl2 IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdj48YnI+0JLQvtGCINGC 0Ysg0LTQvtCx0LDQstC40LsgIkF1dG8taW5kZXgiIG9wdGltaXphdGlvbiBpcyBub3cgZW5hYmxl ZCDQsiBjaGFuZ2Vsb2cuINCvINGO0LfQtdGALCDQuCDQvdC1PGJyPtC/0YDQtdC00YHRgtCw0LLQ u9GP0Y4g0YfRgtC+INGN0YLQviDRgtCw0LrQvtC1LiDQotGLINC+0YLQv9GA0LDQstC40YjRjCDQ vNC10L3RjyDRh9C40YLQsNGC0Ywg0LrQvtC0IFRQQy1IINCx0LXQvdGH0LAsINGH0YLQvtCx0Ysg 0L/QvtC90Y/RgtGMPzwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48 ZGl2Pjxicj7Qn9C+0L3Rj9C7LCZuYnNwOyDQuNGB0L/RgNCw0LLQu9GOLjwvZGl2PjxkaXY+PGJs b2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBw eDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVh ZG1zZy1tc2ciPjxkaXY+PGRpdj48YnI+Jmd0OyZndDsmZ3Q7IENvLWF1dGhvcmVkLWJ5OiBNZXJn ZW4gSW1lZXYgJmx0OzxhIGhyZWY9Ii9jb21wb3NlP1RvPWltZWV2bWFAZ21haWwuY29tIj5pbWVl dm1hQGdtYWlsLmNvbTwvYT4mZ3Q7PGJyPiZndDsmZ3Q7Jmd0OyBDby1hdXRob3JlZC1ieTogVGlt dXIgU2FmaW4gJmx0OzxhIGhyZWY9Ii9jb21wb3NlP1RvPXRzYWZpbkB0YXJhbnRvb2wub3JnIj50 c2FmaW5AdGFyYW50b29sLm9yZzwvYT4mZ3Q7PGJyPiZndDsmZ3Q7Jmd0OyAtLS08YnI+Jmd0OyZn dDsmZ3Q7IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRvb2wvdGFyYW50b29sL2lz c3Vlcy80OTMzIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC90 YXJhbnRvb2wvaXNzdWVzLzQ5MzM8L2E+PGJyPiZndDsmZ3Q7Jmd0OyA8YSBocmVmPSJodHRwczov L2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC90cmVlL2ltZWV2bWEvZ2gtNDkzMy1hdXRv aW5kZXgiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFu dG9vbC90cmVlL2ltZWV2bWEvZ2gtNDkzMy1hdXRvaW5kZXg8L2E+PGJyPiZndDsmZ3Q7Jmd0Ozxi cj4mZ3Q7Jmd0OyZndDsgQENoYW5nZUxvZzxicj4mZ3Q7Jmd0OyZndDsgLSAiQXV0by1pbmRleCIg b3B0aW1pemF0aW9uIGlzIG5vdyBlbmFibGVkIChnaC00OTMzKS48YnI+Jmd0OyZndDsmZ3Q7PGJy PiZndDsmZ3Q7Jmd0OyBzcmMvYm94L0NNYWtlTGlzdHMudHh0IHwgMiArLTxicj4mZ3Q7Jmd0OyZn dDsgc3JjL2JveC9zcWwuYyB8IDIgKy08YnI+Jmd0OyZndDsmZ3Q7IHNyYy9ib3gvc3FsL2RlbGV0 ZS5jIHwgMTYgKystLTxicj4mZ3Q7Jmd0OyZndDsgc3JjL2JveC9zcWwvc3FsSW50LmggfCA4ICst PGJyPiZndDsmZ3Q7Jmd0OyBzcmMvYm94L3NxbC93aGVyZS5jIHwgMTcwICsrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tPGJyPiZndDsmZ3Q7Jmd0OyBzcmMvYm94L3NxbC93aGVyZWNv ZGUuYyB8IDEzICstLTxicj4mZ3Q7Jmd0OyZndDsgdGVzdC9zcWwtdGFwL3doZXJlRi50ZXN0Lmx1 YSB8IDE2ICsrKy08YnI+Jmd0OyZndDsmZ3Q7IDcgZmlsZXMgY2hhbmdlZCwgMTUxIGluc2VydGlv bnMoKyksIDc2IGRlbGV0aW9ucygtKTxicj4mZ3Q7Jmd0OyZndDs8YnI+Jmd0OyZndDsmZ3Q7IGRp ZmYgLS1naXQgYS9zcmMvYm94L0NNYWtlTGlzdHMudHh0IGIvc3JjL2JveC9DTWFrZUxpc3RzLnR4 dDxicj4mZ3Q7Jmd0OyZndDsgaW5kZXggYjhiMjY4OWQyLi43ZTNhZDBlMjIgMTAwNjQ0PGJyPiZn dDsmZ3Q7Jmd0OyAtLS0gYS9zcmMvYm94L0NNYWtlTGlzdHMudHh0PGJyPiZndDsmZ3Q7Jmd0OyAr KysgYi9zcmMvYm94L0NNYWtlTGlzdHMudHh0PGJyPiZndDsmZ3Q7Jmd0OyBAQCAtMjE3LDcgKzIx Nyw3IEBAIGFkZF9saWJyYXJ5KGJveCBTVEFUSUM8YnI+Jmd0OyZndDsmZ3Q7IGlmKENNQUtFX0JV SUxEX1RZUEUgU1RSRVFVQUwgIkRlYnVnIik8YnI+Jmd0OyZndDsmZ3Q7IGFkZF9kZWZpbml0aW9u cygtRFNRTF9ERUJVRz0xKTxicj4mZ3Q7Jmd0OyZndDsgZW5kaWYoKTxicj4mZ3Q7Jmd0OyZndDsg LWFkZF9kZWZpbml0aW9ucygtRFNRTF9PTUlUX0FVVE9NQVRJQ19JTkRFWD0xIC1EU1FMX1RFU1Q9 MSk8YnI+Jmd0OyZndDsmZ3Q7ICthZGRfZGVmaW5pdGlvbnMoLURTUUxfVEVTVD0xKTxicj4mZ3Q7 Jmd0Ozxicj4mZ3Q7Jmd0OyAzLiBJIHN0aWxsIHNlZSBTUUxfT01JVF9BVVRPTUFUSUNfSU5ERVgg aW4gc3JjL2JveC9zcWwvd2hlcmUuYy48YnI+Jmd0OyBJIHRoaW5rIHRoZSBvcmlnaW5hbCBpZGVh IHdhcyB0byBtYWtlIGFuIG9wdGlvbiB0byBkaXNhYmxlIHRoaXMgb3B0aW1pemF0aW9uLjxicj4m Z3Q7IFNpbmNlIHN1Y2ggdGhpbmcgaXMgYWxyZWFkeSBleGlzdHMsIEkgZGVjaWRlZCB0byBub3Qg cmVtb3ZlIGl0Ljxicj48YnI+0KMg0L3QsNGBINC90LXRgiDQutC+0L3RhNC40LPRg9GA0LDRhtC4 0Lgg0L7Qv9GG0LjQuSDRgdCx0L7RgNC60LggU1FMLiDQnNGLINC40YUg0LLRgdC1INCy0YvQv9C4 0LvQuNCy0LDQtdC8LCDRgtCw0Log0LrQsNC6INCx0LjQu9C00Ys8YnI+0YMg0L3QsNGBINC/0L7Q tCDQvtC00LjQvSDQutC+0L3QutGA0LXRgtC90YvQuSDQvdCw0LHQvtGAINC+0L/RhtC40LkuINCV 0YHRgtGMIHJ1bnRpbWUg0L7Qv9GG0LjQuCwg0L3QviDRjdGC0L4g0L3QuNGH0LXQs9C+INC+0LHR idC10LPQvjxicj7RgSDQvNCw0LrRgNC+0YHQsNC80Lgg0L3QtSDQuNC80LXQtdGCLiDQldGB0LvQ uCDRjdGC0L7RgiDQvNCw0LrRgNC+0YEg0LHQvtC70LXQtSDQvdC1INGD0LrQsNC30YvQstCw0LXR gtGB0Y8sINGC0L4g0L3QsNC00L4g0LXQs9C+PGJyPtGD0LTQsNC70LjRgtGMINC+0YLQvtCy0YHR jtC00YMuPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvZGl2PjxkaXY+PGJy PtCf0L7QvdGP0LssINC40YHQv9GA0LDQstC70Y4uINCvINC00YPQvNCw0Y4g0LIg0Y3RgtC+0Lwg 0YHQu9GD0YfQsNC1INGPINC00L7QsdCw0LLQu9GOINC90L7QstGD0Y4g0L7Qv9GG0LjRjiDQsiBz ZXNzaW9uX3NldHRpbmdzLCDQutC+0YLQvtGA0LDRjyDQsdGD0LTQtdGCINC+0YLQutC70Y7Rh9Cw 0YLRjCDRjdGC0YMg0L7Qv9GC0LjQvNC40LfQsNGG0LjRji48L2Rpdj48ZGl2PjxibG9ja3F1b3Rl IHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRp bmc6MCAwIDAgMTBweDsiPjxkaXY+PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNn Ij48ZGl2PjxkaXY+PGJyPiZndDsmZ3Q7Jmd0OyBzZXQoRVhUX1NSQ19ESVIgJHtDTUFLRV9TT1VS Q0VfRElSfS9leHRyYSk8YnI+Jmd0OyZndDsmZ3Q7IHNldChFWFRfQklOX0RJUiAke0NNQUtFX0JJ TkFSWV9ESVJ9L2V4dHJhKTxicj4mZ3Q7Jmd0OyZndDsgZGlmZiAtLWdpdCBhL3NyYy9ib3gvc3Fs L2RlbGV0ZS5jIGIvc3JjL2JveC9zcWwvZGVsZXRlLmM8YnI+Jmd0OyZndDsmZ3Q7IGluZGV4IDY4 YWJkMWY1OC4uNTc0NzhjMTI5IDEwMDY0NDxicj4mZ3Q7Jmd0OyZndDsgLS0tIGEvc3JjL2JveC9z cWwvZGVsZXRlLmM8YnI+Jmd0OyZndDsmZ3Q7ICsrKyBiL3NyYy9ib3gvc3FsL2RlbGV0ZS5jPGJy PiZndDsmZ3Q7Jmd0OyBAQCAtNTQ2LDI0ICs1NDYsMjUgQEAgc3FsX2dlbmVyYXRlX3Jvd19kZWxl dGUoc3RydWN0IFBhcnNlICpwYXJzZSwgc3RydWN0IHNwYWNlICpzcGFjZSw8YnI+Jmd0OyZndDsm Z3Q7IH08YnI+Jmd0OyZndDsmZ3Q7PGJyPiZndDsmZ3Q7Jmd0OyBpbnQ8YnI+Jmd0OyZndDsmZ3Q7 IC1zcWxfZ2VuZXJhdGVfaW5kZXhfa2V5KHN0cnVjdCBQYXJzZSAqcGFyc2UsIHN0cnVjdCBpbmRl eCAqaW5kZXgsIGludCBjdXJzb3IsPGJyPiZndDsmZ3Q7Jmd0OyAtIGludCByZWdfb3V0LCBzdHJ1 Y3QgaW5kZXggKnByZXYsIGludCByZWdfcHJldik8YnI+Jmd0OyZndDsmZ3Q7ICtzcWxfZ2VuZXJh dGVfaW5kZXhfa2V5KHN0cnVjdCBQYXJzZSAqcGFyc2UsIHN0cnVjdCBpbmRleF9kZWYgKmlkeF9k ZWYsPGJyPiZndDsmZ3Q7Jmd0OyArIGludCBjdXJzb3IsIGludCByZWdfb3V0LCBzdHJ1Y3QgaW5k ZXggKnByZXYsPGJyPiZndDsmZ3Q7Jmd0OyArIGludCByZWdfcHJldiwgaW50IHJlZ19lcGgpPGJy PiZndDsmZ3Q7PGJyPiZndDsmZ3Q7IDQuIFRoZSBmdW5jdGlvbiBoYXMgbm90aGluZyB0byBkbyB3 aXRoIGVwaGVtZXJhbCBzcGFjZXMuIEl0IGp1c3QgZG9lcyBub3Q8YnI+Jmd0OyZndDsgY2FyZSB3 aGV0aGVyIGl0cyBzcGFjZSBpcyBlcGhlbWVyYWwuIEl0cyB0YXNrIGlzIHRvIGp1c3QgYXNzZW1i bGUgYSBrZXksPGJyPiZndDsmZ3Q7IG5vdCBjYXJpbmcgYWJvdXQgc3BhY2UgdHlwZS4gV2h5IGRp ZCB5b3UgbWFrZSBpdCBhbHdheXMgd29yayB3aXRoIGFuPGJyPiZndDsmZ3Q7IGVwaGVtZXJhbCBz cGFjZT8gV29uJ3QgdGhpcyB3aWxsIGFmZmVjdCBub3JtYWwgc3BhY2VzIC0gdGhleSBkb24ndCBu ZWVkPGJyPiZndDsmZ3Q7IE9QX05leHRJZEVwaGVtZXJhbCBvciB3aGF0ZXZlciBlbHNlIGlzIHJl bGF0ZWQgdG8gZXBoZW1lcmFscy48YnI+Jmd0OyZndDs8YnI+Jmd0OyZndDsgSW4gdGhlIGVuZCBv ZiB0aGUgcmV2aWV3IEkgcmVhbGl6ZWQgdGhlIGZ1bmN0aW9uIGlzIG5ldmVyIHVzZWQgZm9yIGFu eXRoaW5nPGJyPiZndDsmZ3Q7IGV4Y2VwdCBhdXRvbWF0aWMgaW5kZXguIE1vcmVvdmVyLCBwcmV2 IGFuZCByZWdfcHJldiBhcmUgTlVMTCBhbmQgMCBhbHdheXMuPGJyPiZndDsmZ3Q7IEkgc3VnZ2Vz dCB0byBtb3ZlIHRoaXMgZnVuY3Rpb24gaW50byB0aGUgZmlsZSwgd2hpY2ggbmVlZHMgaXQ7IG1h a2UgaXQ8YnI+Jmd0OyZndDsgJ3N0YXRpYyc7IHJlbW92ZSAncHJldicgYW5kICdyZWdfcHJldicg YXJnczsgcmVuYW1lIGl0IHRvIHNvbWV0aGluZyBjbG9zZXIgdG88YnI+Jmd0OyZndDsgd2hhdCBp dCBhY3R1YWxseSBkb2VzLjxicj4mZ3Q7IERvbmUuIEkgcmVmYWN0b3JlZCB0aGlzIGZ1bmN0aW9u IGEgYml0IHdoaWxlIG1vdmluZy4gSG93ZXZlciwgSSBkZWNpZGVkIHRvPGJyPiZndDsgbm90IHJl bW92ZSBwYXJ0IHdpdGggJ09QX1JlYWxpZnknLCBldmVuIHRob3VnaCBJIHRoaW5rIHRoaXMgaXMg ZGVwcmVjYXJlZCBjb2RlLjxicj4mZ3Q7IEZyb20gd2hhdCBJIHNlZSwgdGhpcyBvcGNvZGUgaXMg b3V0ZGF0ZWQgYW5kIHNob3VsZCBiZSByZW1vdmVkLCBidXQgbm90IGluIHRoaXM8YnI+Jmd0OyBw YXRjaC4gSSB3aWxsIHNlbmQgYSBuZXcgcGF0Y2ggbGF0ZXIsIGFzIGEgcmVmYWN0b3JpbmcuPGJy PiZndDs8YnI+Jmd0OyZndDs8YnI+Jmd0OyZndDsgNi4gVGhlIGZ1bmN0aW9uIHRhbGtzIGFib3V0 ICdjb3ZlcmluZycgaW5kZXgsIGJ1dCBjb3ZlcmluZyBtYWtlcyBubzxicj4mZ3Q7Jmd0OyBzZW5z ZSBpbiBUYXJhbnRvb2wuIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBmZXRjaCBhIHBhcnQgb2YgdHVw bGUuIEFsbDxicj4mZ3Q7Jmd0OyBpbmRleGVzIGluIFRhcmFudG9vbCwgZnJvbSBib3ggQVBJIHBv aW50IG9mIHZpZXcsIGFyZSBjb3ZlcmluZy4gU288YnI+Jmd0OyZndDsgd2h5IGlzIHRoaXMgY29u Y2VwdCBzdGlsbCBoZXJlPyBDYW4gd2UgcmVtb3ZlIGl0IGFuZCBzaW1wbGlmeSB0aGluZ3M/PGJy PiZndDsmZ3Q7PGJyPiZndDsgSXQgaXMgdHJ1ZSB0aGF0IHdlIGNhbiBnZXQgb25seSBhIHdob2xl IHR1cGxlLCBob3dldmVyIHRoZSBtYWluIGZlYXR1cmUgb2YgdGhlPGJyPiZndDsgY292ZXJpbmcg aW5kZXhlcyB0aGF0IGl0IGNvbnRhaW5zIGFsbCBuZWVkZWQgaW5mb3JtYXRpb24gYWJvdXQgc3Bh Y2UgZmllbGQuPGJyPjxicj7QndC10YIsINCyINGC0LXRgNC80LjQvdC+0LvQvtCz0LjQuCBzcWxp dGUgY292ZXJpbmcg0L7Qt9C90LDRh9Cw0LXRgiDQuNC80LXQvdC90L4g0L3QsNC70LjRh9C40LUg 0LLRgdC10YUg0LrQvtC70L7QvdC+0LouINCYINCyPGJyPtGN0YLQvtC8INGB0LzRi9GB0LvQtSDQ vtC90L4g0LIg0LrQvtC00LUg0Lgg0L7RgdGC0LDQu9C+0YHRjC4g0K3RgtC+INCx0YvQu9C+INC9 0YPQttC90L4sINGC0LDQuiDQutCw0Log0LjQvdC00LXQutGB0Ysg0LIgc3FsaXRlPGJyPtGF0YDQ sNC90Y/RgiDRgtC+0LvRjNC60L4g0LrQu9GO0YfQtdCy0YvQtSDQutC+0LvQvtC90LrQuC4g0JXR gdC70Lgg0LfQsNC/0YDQvtGBINC40LzQtdC7INC60L7Qu9C+0L3QutC4INC90LUg0LjQtyDQuNC9 0LTQtdC60YHQsCwg0L3Rg9C20L3Qvjxicj7QsdGL0LvQviDQtNC10LvQsNGC0Ywg0L/QvtC40YHQ uiDQsiDRgtCw0LHQu9C40YbQtSAoIT0g0LjQvdC00LXQutGBKS4g0J/QvtGB0LvQtSBjb3Zlcmlu ZyDQuNC90LTQtdC60YHQvtCyINC00LXQu9Cw0YLRjCDQstGC0L7RgNC+0Lk8YnI+0L/QvtC40YHQ uiDQsdGL0LvQviDQvdC1INC90YPQttC90L4uPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9j a3F1b3RlPjwvZGl2PjxkaXY+PGJyPtCY0YHQv9C+0LvRjNC30YPQtdC80YvQuSDQuNC90LTQtdC6 0YEg0YHQvtC00LXRgNC20LjRgiDQstGB0LUg0LrQvtC70L7QvdC60Lgg0Y3RhNC10LzQtdGA0L3Q vtCz0L4g0YHQv9C10LnRgdCwLCDQv9C+0Y3RgtC+0LzRgyDQvtC9IGNvdmVyaW5nLjwvZGl2Pjxk aXY+Jm5ic3A7PC9kaXY+PGRpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNv bGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2PjxkaXYg Y2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2Pjxicj7QotCw0LrQvtC5 INGB0LzRi9GB0Lsg0LLQutC70LDQtNGL0LLQsNC10YLRgdGPIGNvdmVyaW5nLCDQuCDQsiDRgtCw 0LrQvtC8INGB0LzRi9GB0LvQtSDQvtC9INC90LjRh9C10LPQviDQsiDRgtCw0YDQsNC90YLRg9C7 0LUg0L3QtTxicj7Qt9C90LDRh9C40YIsINGC0LDQuiDQutCw0Log0L3QtS1jb3ZlcmluZyDQtdGB 0YLRjCDRgtC+0LvRjNC60L4g0LIg0LLQuNC90LjQu9C1LCDQvdC+PGJyPjEpINC/0YPQsdC70LjR h9C90L7Qs9C+INCw0L/QuCDQtNC70Y8g0LTQvtGB0YLRg9C/0LAg0Log0YHRi9GA0YvQvCDQuNC9 0LTQtdC60YHQsNC8INCy0LjQvdC40LvQsCDQvdC10YI7PGJyPjIpINCy0YHQtSDRgNCw0LLQvdC+ INC90YPQttC10L0g0L/QvtC40YHQuiDQsiDQv9C10YDQstC40YfQvdC+0Lwg0LjQvdC00LXQutGB 0LUsINGC0LDQuiDQutCw0Log0LLRgtC+0YDQuNGH0L3Ri9C5INC40L3QtNC10LrRgSDQvNC+0LbQ tdGCPGJyPtGB0L7QtNC10YDQttCw0YLRjCDRg9C00LDQu9C10L3QvdGL0Lkg0LzRg9GB0L7RgCDQ siDRgdC70YPRh9Cw0LUg0L3QsNGI0LjRhSBMU00t0LTQtdGA0LXQstGM0LXQsi48L2Rpdj48L2Rp dj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGRpdj48YnI+0J7Quiwg0L/QvtC90Y/Q uy4g0JjQt9GD0YfRgyDRjTwvZGl2PjxkaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0 OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRp dj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdj48YnI+Jmd0 OyBGb3IgZXhhbXBsZSwgd2UgZG8gbm90IG5lZWQgdG8gbG9vayBhdCB0aGUgc3BhY2UgZGVmaW5p dGlvbiB0byBmaW5kIGZpZWxkIHR5cGUgaWY8YnI+Jmd0OyB3ZSBoYXZlIGNvdmVyaW5nIGluZGV4 Ljxicj48YnI+0JTQsCwg0L3QviDRjdGC0L4g0L7Qv9GP0YLRjCDQttC1INC90LUg0YHQstGP0LfQ sNC90L4g0L3QuNC60LDQuiDRgSDQv9C+0L3Rj9GC0LjQtdC8IGNvdmVyaW5nLjxicj48YnI+Jmd0 OyBJdCBtYXkgYmUgbm90IHNvIGltcG9ydGFudCBpbiBUYXJhbnRvb2wgYXMgaXQgd2FzIGluPGJy PiZndDsgU1FMaXRlLCBob3dldmVyIHRoaXMgY29uY2VwdCBpcyB1c2VkIHF1aXRlIG9mdGVuIGlu IFNRTCBjb2RlLjxicj48YnI+0K3RgtC+INC70LXQs9Cw0YHQuCDQvtGCIHNxbGl0ZS4g0JIg0YLQ sNGA0LDQvdGC0YPQu9C1INCy0YHQtSDQuNC90LTQtdC60YHRiyDRgdGH0LjRgtCw0Y7RgtGB0Y8g Y292ZXJpbmcuPGJyPjxicj4mZ3Q7IEkgZG8gbm90IHRoaW5rPGJyPiZndDsgdGhhdCB3ZSBzaG91 bGQgZml4IHRoaXMgaXNzdWUgaGVyZS48YnI+PGJyPtCt0YLQviDQt9Cw0LLQuNGB0LjRgiDQvtGC INGC0L7Qs9C+LCDQvdCw0YHQutC+0LvRjNC60L4g0Y3RgtC+INGD0YHQu9C+0LbQvdGP0LXRgiDQ utC+0LQsINGH0YLQvtCx0Ysg0YDQsNC30LTRgNCw0YfQuNCy0LDRgtGMINGN0YLQuDxicj5jb3Zl cmluZy/QvdC1LWNvdmVyaW5nLiDQodGD0LTRjyDQv9C+INC60L7QtNGDINGPINGC0LDQuiDQv9C+ 0L3QuNC80LDRjiwg0YfRgtC+INCyINGN0YTQtdC80LXRgNC90YvQuSDRgdC/0LXQudGBPGJyPtC/ 0L7Qv9Cw0LTQsNGO0YIg0L3QtSDQstGB0LUg0LrQvtC70L7QvdC60Lgg0L7RgNC40LPQuNC90LDQ u9GM0L3QvtCz0L4g0YHQv9C10LnRgdCwLCDQsCDRgtC+0LvRjNC60L4g0L3Rg9C20L3Ri9C1INC0 0LvRjyDQuNC90LTQtdC60YHQsD88YnI+0JjQu9C4INC00LvRjyDQuNC90LTQtdC60YHQsCDQvdGD 0LbQvdGLINC60LDQuiDRgNCw0Lcg0LLRgdC1PzwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxv Y2txdW90ZT48L2Rpdj48ZGl2Pjxicj7QkiDRjdGE0LXQvNC10YDQvdGL0Lkg0YHQv9C10LnRgSDQ v9C+0L/QsNC00LDRjtGCINCy0YHQtSDQuNGB0L/QvtC70YzQt9GD0LXQvNGL0LUg0LIg0LfQsNC/ 0YDQvtGB0LUg0LrQvtC70L7QvdC60LgsINC90LUg0YLQvtC70YzQutC+INGC0LUsINGH0YLQviDQ uNGB0L/QvtC70YzQt9GD0Y7RgtGB0Y8g0LLQviB3aGVyZS4g0J/RgNC4INGN0YLQvtC8INGN0YLQ viDRgdC60L7RgNC10LUg0LLRgdC10LPQviDQvdC1INCy0YHQtSDQutC+0LvQvtC90LrQuCDQvtGA 0LjQs9C40L3QsNC70YzQvdC+0LPQviDRgdC/0LXQudGB0LAuPC9kaXY+PGRpdj48YmxvY2txdW90 ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRk aW5nOjAgMCAwIDEwcHg7Ij48ZGl2PjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1z ZyI+PGRpdj48ZGl2Pjxicj4mZ3Q7IEFsc28sIGV2ZW4gdGhvdWdoIHdlIGdldCBhIHdob2xlIHR1 cGxlLCB3ZSBhY3R1YWxseSB1c2Ugb25seSBuZWVkZWQgY29sdW1uczxicj4mZ3Q7IGZyb20gdGhl IHR1cGxlIHRvIGNyZWF0ZSBhIG5ldyB0dXBsZSBhbmQgcHVzaCBpdCB0byB0aGUgbmV3IGVwaGVt ZXJhbCBzcGFjZS48YnI+PGJyPtCV0YHQu9C4INC00LvRjyDRgtCw0L/Qu9CwINCyINGN0YTQtdC8 0LXRgNC90L7QvCDRgdC/0LXQudGB0LUg0YXRgNCw0L3Rj9GC0YHRjyDQvdC1INCy0YHQtSDQutC+ 0LvQvtC90LrQuCDQvtGA0LjQs9C40L3QsNC70YzQvdC+0LPQviDRgdC/0LXQudGB0LAsPGJyPtGC 0L4g0Y3RgtC+INC90LUgY292ZXJpbmcg0YEg0YLQvtGH0LrQuCDQt9GA0LXQvdC40Y8g0L7RgNC4 0LPQuNC90LDQu9GM0L3QvtCz0L4g0YHQv9C10LnRgdCwLjxicj48YnI+Jmd0OyZndDsmZ3Q7ICsg c3FsVmRiZUFkZE9wNCh2LCBPUF9PcGVuVEVwaGVtZXJhbCwgcmVnX2VwaCwgbktleUNvbCArIDEs IDAsPGJyPiZndDsmZ3Q7Jmd0OyArIChjaGFyICopcGtfaW5mbywgUDRfS0VZSU5GTyk7PGJyPiZn dDsmZ3Q7Jmd0OyArIHNxbFZkYmVBZGRPcDModiwgT1BfSXRlcmF0b3JPcGVuLCBwTGV2ZWwtJmd0 O2lJZHhDdXIsIDAsIHJlZ19lcGgpOzxicj4mZ3Q7Jmd0OyZndDsgKyBWZGJlQ29tbWVudCgodiwg ImZvciAlcyIsIHNwYWNlLSZndDtkZWYtJmd0O25hbWUpKTs8YnI+Jmd0OyZndDsmZ3Q7PGJyPiZn dDsmZ3Q7Jmd0OyAvKiBGaWxsIHRoZSBhdXRvbWF0aWMgaW5kZXggd2l0aCBjb250ZW50ICovPGJy PiZndDsmZ3Q7Jmd0OyBzcWxFeHByQ2FjaGVQdXNoKHBQYXJzZSk7PGJyPiZndDsmZ3Q7Jmd0OyBA QCAtMjg0MSwxMiArMjg4NSwxMiBAQCB0bnRfZXJyb3I6PGJyPiZndDsmZ3Q7Jmd0OyAqIHRob3Nl IG9iamVjdHMsIHNpbmNlIHRoZXJlIGlzIG5vIG9wcG9ydHVuaXR5IHRvIGFkZCBzY2hlbWE8YnI+ Jmd0OyZndDsmZ3Q7ICogaW5kZXhlcyBvbiBzdWJxdWVyaWVzIGFuZCB2aWV3cy48YnI+Jmd0OyZn dDsmZ3Q7ICovPGJyPiZndDsmZ3Q7Jmd0OyAtIHBOZXctJmd0O3JTZXR1cCA9IHJMb2dTaXplICsg clNpemUgKyA0Ozxicj4mZ3Q7Jmd0OyZndDsgLSBpZiAoIXBUYWItJmd0O2RlZi0mZ3Q7b3B0cy5p c192aWV3ICZhbXA7JmFtcDs8YnI+Jmd0OyZndDsmZ3Q7IC0gcFRhYi0mZ3Q7ZGVmLSZndDtpZCA9 PSAwKTxicj4mZ3Q7Jmd0OyZndDsgLSBwTmV3LSZndDtyU2V0dXAgKz0gMjQ7PGJyPiZndDsmZ3Q7 Jmd0OyAtIGlmIChwTmV3LSZndDtyU2V0dXAgJmx0OyAwKTxicj4mZ3Q7Jmd0OyZndDsgLSBwTmV3 LSZndDtyU2V0dXAgPSAwOzxicj4mZ3Q7Jmd0OyZndDsgKyBwTmV3LSZndDtyU2V0dXAgPSByTG9n U2l6ZSArIHJTaXplOzxicj4mZ3Q7Jmd0OyZndDsgKyBpZiAoIXNwYWNlLSZndDtkZWYtJmd0O29w dHMuaXNfdmlldyAmYW1wOyZhbXA7PGJyPiZndDsmZ3Q7Jmd0OyArIHNwYWNlLSZndDtkZWYtJmd0 O2lkID09IDApPGJyPiZndDsmZ3Q7Jmd0OyArIHBOZXctJmd0O3JTZXR1cCArPSAyODs8YnI+Jmd0 OyZndDsmZ3Q7ICsgZWxzZTxicj4mZ3Q7Jmd0OyZndDsgKyBwTmV3LSZndDtyU2V0dXAgLT0gMTA7 PGJyPiZndDsmZ3Q7PGJyPiZndDsmZ3Q7IDEwLiBXaGF0IGlzIHRoaXM/IFdoYXQgYXJlIHRoZSBu dW1iZXJzPzxicj4mZ3Q7IFRoZXNlIG51bWJlcnMgSSBnb3QgZnJvbSBTUUxpdGUuIEFjdHVhbGx5 LCB3ZSBzaG91bGQgZmluZCB0aGVzZSBudW1iZXJzPGJyPiZndDsgZXhwZXJlbWVudGFsbHksIGJ1 dCBJIHN0aWxsIGRvIG5vdCBoYXZlIGEgcHJvcGVyIHdheSB0byBkbyB0aGlzLjxicj4mZ3Q7PGJy PiZndDsgVGhlcmUgaXMgb25lIG1vcmUgcGxhY2Ugd2hlcmUgd2Ugc2hvdWxkIGV4cGVyZW1ldGFs bHkgZmluZCBhIGZ1bmN0aW9uPGJyPiZndDsgb2YgbnVtYmVyIG9mIHR1cGxlcyBpbiB0aGUgc3Bh Y2Ugd2hpY2ggYWxsb3dzIHVzIHRvIGRlY2lkZSBtb3JlIGNhcmVmdWxseSB3aGVuPGJyPiZndDsg d2Ugd2FudCB0byB1c2UgdGhlIG9wdGltaXphdGlvbi4gSGVyZSBpdCBpczo8YnI+Jmd0OyAiclNp emUgPSBERUZBVUxUX1RVUExFX0xPR19DT1VOVDsiPGJyPiZndDs8YnI+Jmd0OyBBcyB5b3UgY2Fu IHNlZSwgdGhpcyBmdW5jdGlvbiBpcyBhIGNvbnN0YW50IGZvciBub3cuIFRoaXMgaXMgYWxzbyBm cm9tIFNRTGl0ZS48YnI+Jmd0Ozxicj4mZ3Q7IEluIGdlbmVyYWwsIHdlIHNob3VsZCB1c2Ugc3Rh dGlzdGljcyBoZXJlLCBidXQgd2UgZG8gbm90IGhhdmUgaXQgYXQgdGhlIG1vbWVudC48YnI+Jmd0 Ozxicj4mZ3Q7IFRoZXNlIG51bWJlcnMgYXJlIHVzZWQgdG8gZGVjaWRlIHdoZW4gdG8gdXNlIGF1 dG8taW5kZXguIEkgdGhpbmsgdGhhdCBzaW5jZSBhdDxicj4mZ3Q7IHRoZSBtb21lbnQgYWxsIHRo ZXNlIHZhbHVlcyBhcmUgY29uc3RhbnRzLCBhdXRvLWluZGV4IGlzIHVzZWQgYWx3YXlzLiBUaGlz IGlzPGJyPiZndDsgb2J2aW91c2x5IHdyb25nLiBJIHBsYW4gdG8gZml4IGl0IGFzIHNvb24gYXMg SSBmaW5kIGEgcHJvcGVyIHdheSB0byB0ZXN0PGJyPiZndDsgcGVyZm9ybWFuY2UuPGJyPjxicj7Q l9C00LXRgdGMINC90YPQttC10L0g0LrQsNC6INC80LjQvdC40LzRg9C8INC60L7QvNC80LXQvdGC 0LDRgNC40Lkg0LIg0LrQvtC00LUsINGH0YLQviDRjdGC0L4g0LfQsCDRh9C40YHQu9CwLiDQotC+ 0YIg0LrQvtC80LzQtdC90YLQsNGA0LjQuSwg0YfRgtC+PGJyPtC10YHRgtGMLCDQvtGH0LXQstC4 0LTQvdC+INGD0YHRgtCw0YDQtdC7LiDQntC9INCz0L7QstC+0YDQuNGCLCDRh9GC0L4g0YHRgtC+ 0LjQvNC+0YHRgtGMINC00LvRjyB2aWV3IC0gNCwg0LAg0YMg0YLQtdCx0Y8gLSAtMTAuINCi0L48 YnI+0LXRgdGC0Ywg0LTQu9GPIHZpZXcg0YLRiyDRgdGH0LjRgtCw0LXRiNGMLCDRh9GC0L4g0LvR g9GH0YjQtSDRgdC+0LfQtNCw0YLRjCDQsNCy0YLQvi3QuNC90LTQtdC60YEsINGH0LXQvCDQvdC1 INGB0L7Qt9C00LDQstCw0YLRjCwg0LLRgdC10LPQtNCwLjxicj7QndC10YI/INCV0YHQu9C4INGC 0LDQuiwg0YLQviDQvtGC0YDQuNGG0LDRgtC10LvRjNC90LDRjyDRgdGC0L7QuNC80L7RgdGC0Ywg 0LLRi9Cz0LvRj9C00LjRgiDQvdC1INC+0YfQtdC90Ywg0L/RgNCw0LLQuNC70YzQvdC+Ljxicj48 YnI+Jmd0OyZndDsmZ3Q7IC8qIFRVTklORzogRWFjaCBpbmRleCBsb29rdXAgeWllbGRzIDIwIHJv d3MgaW4gdGhlIHRhYmxlLiBUaGlzPGJyPiZndDsmZ3Q7Jmd0OyAqIGlzIG1vcmUgdGhhbiB0aGUg dXN1YWwgZ3Vlc3Mgb2YgMTAgcm93cywgc2luY2Ugd2UgaGF2ZSBubyB3YXk8YnI+Jmd0OyZndDsm Z3Q7ICogb2Yga25vd2luZyBob3cgc2VsZWN0aXZlIHRoZSBpbmRleCB3aWxsIHVsdGltYXRlbHkg YmUuIEl0IHdvdWxkPGJyPiZndDsmZ3Q7Jmd0OyBAQCAtNDc5NCwxOCArNDgzOCwzNCBAQCBzcWxX aGVyZUVuZChXaGVyZUluZm8gKiBwV0luZm8pPGJyPiZndDsmZ3Q7Jmd0OyArIGNvbnRpbnVlOzxi cj4mZ3Q7Jmd0OyZndDsgKyB9PGJyPiZndDsmZ3Q7Jmd0OyArIC8qPGJyPiZndDsmZ3Q7Jmd0OyAr ICogSW4gY2FzZSB3ZSBhcmUgdXNpbmcgYXV0by1pbmRleGluZywgd2UgaGF2ZTxicj4mZ3Q7Jmd0 OyZndDsgKyAqIHRvIGNoYW5nZSB0aGUgY29sdW1uIG51bWJlciwgYmVjYXVzZSBpbjxicj4mZ3Q7 Jmd0OyZndDsgKyAqIGVwaGVtZXJhbCBzcGFjZSBjb2x1bW5zIGFyZSBpbiB0aGUgc2FtZSBvcmRl cjxicj4mZ3Q7Jmd0OyZndDsgKyAqIGFzIHRoZXkgZGVzY3JpYmVkIGluIGtleV9kZWYuIFNvLCBp bnN0ZWFkIG9mPGJyPiZndDsmZ3Q7Jmd0OyArICogdGhlIGZpZWxkIG51bWJlciwgd2UgaGF2ZSB0 byBpbnNlcnQgaW5kZXggb2Y8YnI+Jmd0OyZndDsmZ3Q7ICsgKiB0aGUgcGFydCB3aXRoIHRoaXMg ZmllbGRuby48YnI+Jmd0OyZndDs8YnI+Jmd0OyZndDsgMTIuIFdoeSBhcmUgdGhlIGNvbHVtbnMg cmVvcmRlcmVkPzxicj4mZ3Q7IFNlZSBhYm92ZS4gU2hvdWxkIEkgYWRkIHRoaXMgZXhwbGFuYXRp b24gc29tZXdoZXJlIGlzIHRoZSBwYXRjaD88YnI+PGJyPtCV0YHQu9C4INCyINCw0LLRgtC+LdC4 0L3QtNC10LrRgdC1INGC0L7Qu9GM0LrQviDQutC70Y7Rh9C10LLRi9C1INC60L7Qu9C+0L3QutC4 LCDQvtGCINC+0YLQutGD0LTQsCDQsiByZXN1bHQgc2V0INC/0L7Qv9Cw0LTQsNGO0YI8YnI+0L3Q tdC60LvRjtGH0LXQstGL0LUg0LrQvtC70L7QvdC60LgsINC60L7RgtC+0YDRi9C1INCyIFdIRVJF INC90LUg0YPRh9Cw0YHRgtCy0L7QstCw0LvQuD8g0JTQtdC70LDQtdGC0YHRjyDQvtCx0YDQsNGC 0L3QviDQu9GD0LrQsNC/PGJyPtCyINC+0YDQuNCz0LjQvdCw0LvRjNC90L7QvCDRgdC/0LXQudGB 0LUg0YfRgtC+INC70Lg/PGJyPjxicj4mZ3Q7Jmd0OyZndDsgKyAqLzxicj4mZ3Q7Jmd0OyZndDsg KyBzdHJ1Y3Qga2V5X2RlZiAqa2V5X2RlZiA9PGJyPiZndDsmZ3Q7Jmd0OyArIHBMZXZlbC0mZ3Q7 cFdMb29wLSZndDtpbmRleF9kZWYtJmd0O2tleV9kZWY7PGJyPiZndDsmZ3Q7Jmd0OyArIHVpbnQz Ml90IHBhcnRfY291bnQgPSBrZXlfZGVmLSZndDtwYXJ0X2NvdW50Ozxicj4mZ3Q7Jmd0OyZndDsg KyBmb3IgKHVpbnQzMl90IGkgPSAwOyBpICZsdDsgcGFydF9jb3VudDsgKytpKSB7PGJyPiZndDsm Z3Q7Jmd0OyArIGlmICgoaW50KWtleV9kZWYtJmd0O3BhcnRzW2ldLmZpZWxkbm8gPT0geCk8YnI+ Jmd0OyZndDsmZ3Q7ICsgcE9wLSZndDtwMiA9IGk7PGJyPiZndDsmZ3Q7Jmd0OyB9PGJyPiZndDsm Z3Q7Jmd0OyB9PGJyPiZndDsmZ3Q7Jmd0OyB9PGJyPiZndDsmZ3Q7Jmd0OyBkaWZmIC0tZ2l0IGEv dGVzdC9zcWwtdGFwL3doZXJlRi50ZXN0Lmx1YSBiL3Rlc3Qvc3FsLXRhcC93aGVyZUYudGVzdC5s dWE8YnI+Jmd0OyZndDsmZ3Q7IGluZGV4IDVhODk0Yjc0OC4uMzIzNWRmNDM3IDEwMDc1NTxicj4m Z3Q7Jmd0OyZndDsgLS0tIGEvdGVzdC9zcWwtdGFwL3doZXJlRi50ZXN0Lmx1YTxicj4mZ3Q7Jmd0 OyZndDsgKysrIGIvdGVzdC9zcWwtdGFwL3doZXJlRi50ZXN0Lmx1YTxicj4mZ3Q7Jmd0OyZndDsg QEAgLTkwLDEwICs5MCwyMCBAQCB0ZXN0OmRvX2V4ZWNzcWxfdGVzdCg8YnI+Jmd0OyZndDsmZ3Q7 PGJyPiZndDsmZ3Q7Jmd0OyAtLSBmb3IgXyBpbiBYKDAsICJYIWZvcmVhY2giLCBbPVtbInRuIHNx bCIsIlxuIDEgXCJTRUxFQ1QgKiBGUk9NIHQxLCB0MiBXSEVSRSB0MS5hJmd0Oz8gQU5EIHQyLmQm Z3Q7dDEuYyBBTkQgdDEuYj10Mi5lXCJcbiAyIFwiU0VMRUNUICogRlJPTSB0MiwgdDEgV0hFUkUg dDEuYSZndDs/IEFORCB0Mi5kJmd0O3QxLmMgQU5EIHQxLmI9dDIuZVwiXG4gMyBcIlNFTEVDVCAq IEZST00gdDIgQ1JPU1MgSk9JTiB0MSBXSEVSRSB0MS5hJmd0Oz8gQU5EIHQyLmQmZ3Q7dDEuYyBB TkQgdDEuYj10Mi5lXCJcbiJdXT1dKSBkbzxicj4mZ3Q7Jmd0OyZndDsgZm9yIHRuLCBzcWwgaW4g aXBhaXJzKHsiU0VMRUNUICogRlJPTSB0MSwgdDIgV0hFUkUgdDEuYSZndDs/IEFORCB0Mi5kJmd0 O3QxLmMgQU5EIHQxLmI9dDIuZSIsPGJyPiZndDsmZ3Q7Jmd0OyAtICJTRUxFQ1QgKiBGUk9NIHQy LCB0MSBXSEVSRSB0MS5hJmd0Oz8gQU5EIHQyLmQmZ3Q7dDEuYyBBTkQgdDEuYj10Mi5lIiw8YnI+ Jmd0OyZndDsmZ3Q7IC0gIlNFTEVDVCAqIEZST00gdDIgQ1JPU1MgSk9JTiB0MSBXSEVSRSB0MS5h Jmd0Oz8gQU5EIHQyLmQmZ3Q7dDEuYyBBTkQgdDEuYj10Mi5lIn0pIGRvPGJyPiZndDsmZ3Q7Jmd0 OyArICJTRUxFQ1QgKiBGUk9NIHQyLCB0MSBXSEVSRSB0MS5hJmd0Oz8gQU5EIHQyLmQmZ3Q7dDEu YyBBTkQgdDEuYj10Mi5lIn0pIGRvPGJyPiZndDsmZ3Q7Jmd0OyB0ZXN0OmRvX3Rlc3QoPGJyPiZn dDsmZ3Q7Jmd0OyAtICIyLiIuLnRuLDxicj4mZ3Q7Jmd0OyZndDsgKyAiMi4xLiIuLnRuLDxicj4m Z3Q7Jmd0OyZndDsgKyBmdW5jdGlvbigpPGJyPiZndDsmZ3Q7Jmd0OyArIHJldHVybiB0ZXN0OmV4 ZWNzcWwoIkVYUExBSU4gUVVFUlkgUExBTiAiLi5zcWwpPGJyPiZndDsmZ3Q7Jmd0OyArIGVuZCwg ezxicj4mZ3Q7Jmd0OyZndDsgKyAnL1NFQVJDSCBUQUJMRSBUMS8nLDxicj4mZ3Q7Jmd0OyZndDsg KyAnL1NFQVJDSCBUQUJMRSBUMi8nPGJyPiZndDsmZ3Q7Jmd0OyArIH0pPGJyPiZndDsmZ3Q7Jmd0 OyArZW5kPGJyPiZndDsmZ3Q7Jmd0OyArPGJyPiZndDsmZ3Q7Jmd0OyArZm9yIHRuLCBzcWwgaW4g aXBhaXJzKHsiU0VMRUNUICogRlJPTSB0MiBDUk9TUyBKT0lOIHQxIFdIRVJFIHQxLmEmZ3Q7PyBB TkQgdDIuZCZndDt0MS5jIEFORCB0MS5iPXQyLmUifSkgZG88YnI+Jmd0OyZndDsmZ3Q7ICsgdGVz dDpkb190ZXN0KDxicj4mZ3Q7Jmd0OyZndDsgKyAiMi4yLiIuLnRuLDxicj4mZ3Q7Jmd0OyZndDsg ZnVuY3Rpb24oKTxicj4mZ3Q7Jmd0OyZndDsgcmV0dXJuIHRlc3Q6ZXhlY3NxbCgiRVhQTEFJTiBR VUVSWSBQTEFOICIuLnNxbCk8YnI+Jmd0OyZndDsmZ3Q7IGVuZCwgezxicj4mZ3Q7Jmd0Ozxicj4m Z3Q7Jmd0OyAxNC4gU2hvdWxkbid0IHRoZXJlIGJlIGEgdGVzdCBzaG93aW5nICdBVVRPTUFUSUMn IGtleXdvcmQgaW4gdGhlIGV4ZWN1dGlvbiBwbGFuPzxicj4mZ3Q7IEFjdHVhbGx5IGl0IGRvZXMs IGluIHRoZSB0ZXN0IGFib3ZlLjxicj48YnI+0JLQviDQstGB0LXQvCB3aGVyZUYudGVzdC5sdWEg 0YTQsNC50LvQtSDRgdC70L7QstC+IGF1dG9tYXRpYyDQs9GA0LXQv9Cw0LXRgtGB0Y8g0YLQvtC7 0YzQutC+INCyINC60LDQutC+0Lwt0YLQviDQutC+0LzQvNC10L3RgtC1Ljxicj48YnI+Jmd0OyBk aWZmIC0tZ2l0IGEvc3JjL2JveC9zcWwvd2hlcmUuYyBiL3NyYy9ib3gvc3FsL3doZXJlLmM8YnI+ Jmd0OyBpbmRleCBjNWY3OWY5MDguLmY2YjUzM2FiMSAxMDA2NDQ8YnI+Jmd0OyAtLS0gYS9zcmMv Ym94L3NxbC93aGVyZS5jPGJyPiZndDsgKysrIGIvc3JjL2JveC9zcWwvd2hlcmUuYzxicj4mZ3Q7 IEBAIC03MTIsMTAgKzcxMiw2MSBAQCB0ZXJtQ2FuRHJpdmVJbmRleChXaGVyZVRlcm0gKiBwVGVy bSwgLyogV0hFUkUgY2xhdXNlIHRlcm0gdG8gY2hlY2sgKi88YnI+Jmd0OyAjZW5kaWY8YnI+Jmd0 Ozxicj4mZ3Q7ICNpZm5kZWYgU1FMX09NSVRfQVVUT01BVElDX0lOREVYPGJyPiZndDsgKzxicj4m Z3Q7ICsvKio8YnI+Jmd0OyArICogR2VuZXJhdGUgY29kZSB0aGF0IHdpbGwgYXNzZW1ibGUgYW4g aW5kZXgga2V5LCBhZGRzIHJvd2lkIGFuZCBzdG9yZXMgaXQgaW48YnI+Jmd0OyArICogcmVnaXN0 ZXIgcmVnX291dC4gVGhlIGtleSB3aWxsIGJlIGZvciBpbmRleCB3aGljaCBpcyBhbjxicj4mZ3Q7 ICsgKiBpbmRleCBvbiB0YWJsZS4gY3Vyc29yIGlzIHRoZSBpbmRleCBvZiBhIGN1cnNvciBvcGVu IG9uIHRoZTxicj4mZ3Q7ICsgKiB0YWJsZSB0YWJsZSBhbmQgcG9pbnRpbmcgdG8gdGhlIGVudHJ5 IHRoYXQgbmVlZHMgaW5kZXhpbmcuPGJyPiZndDsgKyAqIGN1cnNvciBtdXN0IGJlIHRoZSBjdXJz b3Igb2YgdGhlIFBSSU1BUlkgS0VZIGluZGV4Ljxicj48YnI+0JvQuNC80LjRgiDQvdCwINGI0LjR gNC40L3RgyDQutC+0LzQtdC90YLQsCDRgNCw0YHRiNC40YDQtdC9INC00L4gODAuPGJyPjxicj7Q mtGA0L7QvNC1INGC0L7Qs9C+LCDRgtGLINGH0LjRgtCw0Lsg0Y3RgtC+0YIg0LrQvtC80LzQtdC9 0YI/INCn0YLQviDQt9CwICdpbmRleCB3aGljaCBpcyBhbiBpbmRleCBvbiB0YWJsZSc/PGJyPtCa 0LDQutC+0LkgJ3RhYmxlJz8g0KfRgtC+INC30LAgJ2N1cnNvciBvcGVuIG9uIHRoZSB0YWJsZSB0 YWJsZSc/INCvINC60LDQuiDQsdGD0LTRgtC+PGJyPtC60L7QvdGC0YDQvtC70YzQvdGL0LUg0YTR gNCw0LfRiyDQuNC3INCR0LXQs9GD0YnQtdCz0L4g0J/QviDQm9C10LfQstC40Y4g0YfQuNGC0LDR ji48YnI+PGJyPtCf0LDRgNCw0LzQtdGC0YDRiyDRgyDRgtC10LHRjyDQvtC/0LjRgdCw0L3RiyDQ siDQtNCy0YPRhSDQvNC10YHRgtCw0YUgLSDQstCy0LXRgNGF0YMg0Lgg0LIgQHBhcmFtLiDQlNC+ 0LvQttC90L4g0LHRi9GC0Yw8YnI+0L7QtNC90L4g0LzQtdGB0YLQvi48YnI+PGJyPiZndDsgKyAq PGJyPiZndDsgKyAqIEBwYXJhbSBwYXJzZSBQYXJzaW5nIGNvbnRleHQuPGJyPiZndDsgKyAqIEBw YXJhbSBpZHhfZGVmIFRoZSBpbmRleCBkZWZpbml0aW9uIGZvciB3aGljaCB0byBnZW5lcmF0ZSBh IGtleS48YnI+Jmd0OyArICogQHBhcmFtIGN1cnNvciBDdXJzb3IgbnVtYmVyIGZyb20gd2hpY2gg dG8gdGFrZSBjb2x1bW4gZGF0YS48YnI+Jmd0OyArICogQHBhcmFtIHJlZ19vdXQgUHV0IHRoZSBu ZXcga2V5IGludG8gdGhpcyByZWdpc3RlciBpZiBub3QgTlVMTC48YnI+Jmd0OyArICogQHBhcmFt IHJlZ19lcGggUmVnaXN0ZXIgaG9sZGluZyBhZHJlc3Mgb2YgZXBoZW1lcmFsIHNwYWNlLjxicj4m Z3Q7ICsgKjxicj4mZ3Q7ICsgKiBAcmV0dmFsIFJldHVybiBhIHJlZ2lzdGVyIG51bWJlciB3aGlj aCBpcyB0aGUgZmlyc3QgaW4gYSBibG9jazxicj48YnI+QHJldHZhbCDQv9GA0LjQvdC40LzQsNC1 0YIg0LTQstCwINCw0YDQs9GD0LzQtdC90YLQsCAtINC30L3QsNGH0LXQvdC40LUg0Lgg0L7Qv9C4 0YHQsNC90LjQtS4g0KLQviDQtdGB0YLRjCDRgtGLINC+0L/QuNGB0LDQuywg0YfRgtC+PGJyPtGE 0YPQvdC60YbQuNGPINCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC30L3QsNGH0LXQvdC40LUgJ1JldHVy bicg0YEg0L7Qv9C40YHQsNC90LjQtdC8ICdhIHJlZ2lzdGVyIG51bWJlciAuLi4nLiDQlNC70Y88 YnI+0L7Qv9C40YHQsNC90LjRjyDQsdC10Lcg0LrQvtC90LrRgNC10YLQvdC+0LPQviDQt9C90LDR h9C10L3QuNGPINC10YHRgtGMIEByZXR1cm4vQHJldHVybnMuPGJyPjxicj4mZ3Q7ICsgKiBvZiBy ZWdpc3RlcnMgdGhhdCBob2xkcyB0aGUgZWxlbWVudHMgb2YgdGhlIGluZGV4IGtleS4gVGhlPGJy PiZndDsgKyAqIGJsb2NrIG9mIHJlZ2lzdGVycyBoYXMgYWxyZWFkeSBiZWVuIGRlYWxsb2NhdGVk IGJ5IHRoZSB0aW1lPGJyPiZndDsgKyAqIHRoaXMgcm91dGluZSByZXR1cm5zLjxicj4mZ3Q7ICsg Ki88YnI+Jmd0OyArc3RhdGljIGludDxicj4mZ3Q7ICtnZW5lcmF0ZV9pbmRleF9rZXkoc3RydWN0 IFBhcnNlICpwYXJzZSwgc3RydWN0IGluZGV4X2RlZiAqaWR4X2RlZiw8YnI+PGJyPtCR0YvQu9C+ INCx0Ysg0L3QtdC/0LvQvtGF0L4g0LIg0L3QsNC30LLQsNC90LjQuCDRhNGD0L3QutGG0LjQuCDQ vtGC0YDQsNC30LjRgtGMLCDRh9GC0L4g0L7QvdCwINGA0LDQsdC+0YLQsNC10YIg0YLQvtC70YzQ utC+INGBINGN0YTQtdC80LXRgNC90YvQvNC4PGJyPtGB0L/QtdC50YHQsNC80LguPGJyPjxicj4m Z3Q7ICsgaW50IGN1cnNvciwgaW50IHJlZ19vdXQsIGludCByZWdfZXBoKTxicj4mZ3Q7ICt7PGJy PiZndDsgKyBhc3NlcnQocmVnX291dCAhPSAwKTs8YnI+Jmd0OyArIHN0cnVjdCBWZGJlICp2ID0g cGFyc2UtJmd0O3BWZGJlOzxicj4mZ3Q7ICsgaW50IGNvbF9jbnQgPSBpZHhfZGVmLSZndDtrZXlf ZGVmLSZndDtwYXJ0X2NvdW50Ozxicj4mZ3Q7ICsgaW50IHJlZ19iYXNlID0gc3FsR2V0VGVtcFJh bmdlKHBhcnNlLCBjb2xfY250ICsgMSk7PGJyPiZndDsgKyBmb3IgKGludCBqID0gMDsgaiAmbHQ7 IGNvbF9jbnQ7IGorKykgezxicj4mZ3Q7ICsgdWludDMyX3QgdGFibF9jb2wgPSBpZHhfZGVmLSZn dDtrZXlfZGVmLSZndDtwYXJ0c1tqXS5maWVsZG5vOzxicj4mZ3Q7ICsgc3FsVmRiZUFkZE9wMyh2 LCBPUF9Db2x1bW4sIGN1cnNvciwgdGFibF9jb2wsIHJlZ19iYXNlICsgaik7PGJyPiZndDsgKyAv Kjxicj4mZ3Q7ICsgKiBJZiB0aGUgY29sdW1uIHR5cGUgaXMgTlVNQkVSIGJ1dCB0aGUgbnVtYmVy PGJyPiZndDsgKyAqIGlzIGFuIGludGVnZXIsIHRoZW4gaXQgbWlnaHQgYmUgc3RvcmVkIGluIHRo ZTxicj4mZ3Q7ICsgKiB0YWJsZSBhcyBhbiBpbnRlZ2VyICh1c2luZyBhIGNvbXBhY3Q8YnI+Jmd0 OyArICogcmVwcmVzZW50YXRpb24pIHRoZW4gY29udmVydGVkIHRvIFJFQUwgYnkgYW48YnI+Jmd0 OyArICogT1BfUmVhbGlmeSBvcGNvZGUuIEJ1dCB3ZSBhcmUgZ2V0dGluZzxicj4mZ3Q7ICsgKiBy ZWFkeSB0byBzdG9yZSB0aGlzIHZhbHVlIGJhY2sgaW50byBhbiBpbmRleCw8YnI+Jmd0OyArICog d2hlcmUgaXQgc2hvdWxkIGJlIGNvbnZlcnRlZCBieSB0byBJTlRFR0VSPGJyPiZndDsgKyAqIGFn YWluLiBTbyBvbWl0IHRoZSBPUF9SZWFsaWZ5IG9wY29kZSBpZjxicj4mZ3Q7ICsgKiBpdCBpcyBw cmVzZW50PGJyPiZndDsgKyAqLzxicj4mZ3Q7ICsgc3FsVmRiZURlbGV0ZVByaW9yT3Bjb2RlKHYs IE9QX1JlYWxpZnkpOzxicj4mZ3Q7ICsgfTxicj4mZ3Q7ICsgc3FsVmRiZUFkZE9wMih2LCBPUF9O ZXh0SWRFcGhlbWVyYWwsIHJlZ19lcGgsIHJlZ19iYXNlICsgY29sX2NudCk7PGJyPiZndDsgKyBz cWxWZGJlQWRkT3AzKHYsIE9QX01ha2VSZWNvcmQsIHJlZ19iYXNlLCBjb2xfY250ICsgMSwgcmVn X291dCk7PGJyPiZndDsgKzxicj4mZ3Q7ICsgc3FsUmVsZWFzZVRlbXBSYW5nZShwYXJzZSwgcmVn X2Jhc2UsIGNvbF9jbnQpOzxicj4mZ3Q7ICsgcmV0dXJuIHJlZ19iYXNlOzxicj4mZ3Q7ICt9PGJy PiZndDsgKzxicj4mZ3Q7IC8qPGJyPiZndDsgLSAqIEdlbmVyYXRlIGNvZGUgdG8gY29uc3RydWN0 IHRoZSBJbmRleCBvYmplY3QgZm9yIGFuIGF1dG9tYXRpYyBpbmRleDxicj4mZ3Q7IC0gKiBhbmQg dG8gc2V0IHVwIHRoZSBXaGVyZUxldmVsIG9iamVjdCBwTGV2ZWwgc28gdGhhdCB0aGUgY29kZSBn ZW5lcmF0b3I8YnI+Jmd0OyAtICogbWFrZXMgdXNlIG9mIHRoZSBhdXRvbWF0aWMgaW5kZXguPGJy PiZndDsgKyAqIEdlbmVyYXRlIGNvZGUgdG8gY29uc3RydWN0IHRoZSBlcGhlbWVyYWwgc3BhY2Ug dGhhdCBjb250YWlucyB1c2VkIGluIHF1ZXJ5PGJyPiZndDsgKyAqIGZpZWxkcyBvZiBvbmUgb2Yg dGhlIHRhYmxlcy4gVGhlIGluZGV4IG9mIHRoaXMgZXBoZW1lcmFsIHNwYWNlIHdpbGwgYmUga25v d248YnI+Jmd0OyArICogYXMgYW4gImF1dG9tYXRpYyBpbmRleCIuIEFsc28sIHRoaXMgZnVuY3Rp b25zIHNldCB1cCB0aGUgV2hlcmVMZXZlbCBvYmplY3Q8YnI+Jmd0OyArICogcExldmVsIHNvIHRo YXQgdGhlIGNvZGUgZ2VuZXJhdG9yIG1ha2VzIHVzZSBvZiB0aGUgYXV0b21hdGljIGluZGV4Ljxi cj4mZ3Q7ICovPGJyPiZndDsgc3RhdGljIHZvaWQ8YnI+Jmd0OyBjb25zdHJ1Y3RBdXRvbWF0aWNJ bmRleChQYXJzZSAqIHBQYXJzZSwgLyogVGhlIHBhcnNpbmcgY29udGV4dCAqLzxicj4mZ3Q7IEBA IC04MDEsOSArODUyLDExIEBAIGNvbnN0cnVjdEF1dG9tYXRpY0luZGV4KFBhcnNlICogcFBhcnNl LCAvKiBUaGUgcGFyc2luZyBjb250ZXh0ICovPGJyPiZndDsgbiA9IDA7PGJyPiZndDsgaWR4Q29s cyA9IDA7PGJyPiZndDsgdWludDMyX3Qgc2l6ZSA9IHNpemVvZihzdHJ1Y3Qga2V5X3BhcnRfZGVm KSAqIG5LZXlDb2w7PGJyPiZndDsgLSBzdHJ1Y3Qga2V5X3BhcnRfZGVmICpwYXJ0X2RlZiA9IG1h bGxvYyhzaXplKTs8YnI+Jmd0OyArIHN0cnVjdCByZWdpb24gKnJlZ2lvbiA9ICZhbXA7ZmliZXIo KS0mZ3Q7Z2M7PGJyPiZndDsgKyBzaXplX3QgdXNlZCA9IHJlZ2lvbl91c2VkKHJlZ2lvbik7PGJy PiZndDsgKyBzdHJ1Y3Qga2V5X3BhcnRfZGVmICpwYXJ0X2RlZiA9IHJlZ2lvbl9hbGxvYyhyZWdp b24sIHNpemUpOzxicj48YnI+0K3RgtC+INGA0LDQt9C00L7Qu9Cx0LDQtdGCINGBIEFTQU7QvtC8 INC40Lct0LfQsCDQvtGC0YHRg9GC0YHRgtCy0LjRjyDQstGL0YDQsNCy0L3QuNCy0LDQvdC40Y8u INCd0YPQttC10L0gcmVnaW9uX2FsbG9jX2FycmF5Ljxicj48YnI+0J/QvtGH0LXQvNGDINC90LUg 0LjRgdC/0L7Qu9GM0LfRg9C10YjRjCBQYXJzZS5yZWdpb24/INCk0LDQudCx0LXRgNC90YvQuSDQ vtCx0Y/Qt9Cw0YLQtdC70YzQvdC+INCz0LTQtS3QvdC40LHRg9C00Ywg0L/RgNC+0LXQsdC10YLR gdGPPGJyPtC/0L7Rh9C40YHRgtC40YLRjCDQuCDQvdCw0YfQvdC10YIg0YLQtdGH0YwuPGJyPjxi cj4mZ3Q7IGlmIChwYXJ0X2RlZiA9PSBOVUxMKSB7PGJyPiZndDsgLSBkaWFnX3NldChPdXRPZk1l bW9yeSwgc2l6ZSwgIm1hbGxvYyIsICJwYXJ0X2RlZiIpOzxicj4mZ3Q7ICsgZGlhZ19zZXQoT3V0 T2ZNZW1vcnksIHNpemUsICJyZWdpb25fYWxsb2MiLCAicGFydF9kZWYiKTs8YnI+Jmd0OyBwUGFy c2UtJmd0O2lzX2Fib3J0ZWQgPSB0cnVlOzxicj4mZ3Q7IHJldHVybjs8YnI+Jmd0OyB9PGJyPiZn dDsgQEAgLTg2Nyw3ICs5MTksNyBAQCBjb25zdHJ1Y3RBdXRvbWF0aWNJbmRleChQYXJzZSAqIHBQ YXJzZSwgLyogVGhlIHBhcnNpbmcgY29udGV4dCAqLzxicj4mZ3Q7IGFzc2VydChuID09IG5LZXlD b2wpOzxicj4mZ3Q7PGJyPiZndDsgc3RydWN0IGtleV9kZWYgKmtleV9kZWYgPSBrZXlfZGVmX25l dyhwYXJ0X2RlZiwgbktleUNvbCwgZmFsc2UpOzxicj4mZ3Q7IC0gZnJlZShwYXJ0X2RlZik7PGJy PiZndDsgKyByZWdpb25fdHJ1bmNhdGUocmVnaW9uLCB1c2VkKTs8YnI+PGJyPtCh0LzRi9GB0LvQ sCDQsiDRjdGC0L7QvCDQvNCw0LvQvi4g0JvQuNCx0L4g0YDQtdCz0LjQvtC9INC4INC30LDQsdC4 0YLRjCDQvdCwINC+0YHQstC+0LHQvtC20LXQvdC40Y8sINC70LjQsdC+INC60YPRh9CwLjxicj48 YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvc3JjL2JveC9zcWwvd2hlcmUuYyBiL3NyYy9ib3gvc3FsL3do ZXJlLmM8YnI+Jmd0OyBpbmRleCBlOWU5MzY4NTYuLmY2YjUzM2FiMSAxMDA2NDQ8YnI+Jmd0OyAt LS0gYS9zcmMvYm94L3NxbC93aGVyZS5jPGJyPiZndDsgKysrIGIvc3JjL2JveC9zcWwvd2hlcmUu Yzxicj4mZ3Q7IEBAIC03MTIsMTAgKzcxMiw2MSBAQCB0ZXJtQ2FuRHJpdmVJbmRleChXaGVyZVRl cm0gKiBwVGVybSwgLyogV0hFUkUgY2xhdXNlIHRlcm0gdG8gY2hlY2sgKi88YnI+Jmd0OyAjZW5k aWY8YnI+Jmd0Ozxicj4mZ3Q7ICNpZm5kZWYgU1FMX09NSVRfQVVUT01BVElDX0lOREVYPGJyPiZn dDsgKzxicj4mZ3Q7ICsvKio8YnI+Jmd0OyArICogR2VuZXJhdGUgY29kZSB0aGF0IHdpbGwgYXNz ZW1ibGUgYW4gaW5kZXgga2V5LCBhZGRzIHJvd2lkIGFuZCBzdG9yZXMgaXQgaW48YnI+Jmd0OyAr ICogcmVnaXN0ZXIgcmVnX291dC4gVGhlIGtleSB3aWxsIGJlIGZvciBpbmRleCB3aGljaCBpcyBh bjxicj4mZ3Q7ICsgKiBpbmRleCBvbiB0YWJsZS4gY3Vyc29yIGlzIHRoZSBpbmRleCBvZiBhIGN1 cnNvciBvcGVuIG9uIHRoZTxicj4mZ3Q7ICsgKiB0YWJsZSB0YWJsZSBhbmQgcG9pbnRpbmcgdG8g dGhlIGVudHJ5IHRoYXQgbmVlZHMgaW5kZXhpbmcuPGJyPiZndDsgKyAqIGN1cnNvciBtdXN0IGJl IHRoZSBjdXJzb3Igb2YgdGhlIFBSSU1BUlkgS0VZIGluZGV4Ljxicj4mZ3Q7ICsgKjxicj4mZ3Q7 ICsgKiBAcGFyYW0gcGFyc2UgUGFyc2luZyBjb250ZXh0Ljxicj4mZ3Q7ICsgKiBAcGFyYW0gaWR4 X2RlZiBUaGUgaW5kZXggZGVmaW5pdGlvbiBmb3Igd2hpY2ggdG8gZ2VuZXJhdGUgYSBrZXkuPGJy Pjxicj7Qn9C+0YXQvtC00YMg0YLQtdCx0LUg0LTQvtGB0YLQsNGC0L7Rh9C90L4g0L/QtdGA0LXQ tNCw0LLQsNGC0Ywga2V5X2RlZi4g0JLQtdGB0YwgaWR4X2RlZiDQvdC1INC90YPQttC10L0uPGJy Pjxicj4mZ3Q7ICsgKiBAcGFyYW0gY3Vyc29yIEN1cnNvciBudW1iZXIgZnJvbSB3aGljaCB0byB0 YWtlIGNvbHVtbiBkYXRhLjxicj4mZ3Q7ICsgKiBAcGFyYW0gcmVnX291dCBQdXQgdGhlIG5ldyBr ZXkgaW50byB0aGlzIHJlZ2lzdGVyIGlmIG5vdCBOVUxMLjxicj4mZ3Q7ICsgKiBAcGFyYW0gcmVn X2VwaCBSZWdpc3RlciBob2xkaW5nIGFkcmVzcyBvZiBlcGhlbWVyYWwgc3BhY2UuPGJyPiZndDsg KyAqPGJyPiZndDsgKyAqIEByZXR2YWwgUmV0dXJuIGEgcmVnaXN0ZXIgbnVtYmVyIHdoaWNoIGlz IHRoZSBmaXJzdCBpbiBhIGJsb2NrPGJyPiZndDsgKyAqIG9mIHJlZ2lzdGVycyB0aGF0IGhvbGRz IHRoZSBlbGVtZW50cyBvZiB0aGUgaW5kZXgga2V5LiBUaGU8YnI+Jmd0OyArICogYmxvY2sgb2Yg cmVnaXN0ZXJzIGhhcyBhbHJlYWR5IGJlZW4gZGVhbGxvY2F0ZWQgYnkgdGhlIHRpbWU8YnI+Jmd0 OyArICogdGhpcyByb3V0aW5lIHJldHVybnMuPGJyPiZndDsgKyAqLzxicj4mZ3Q7ICtzdGF0aWMg aW50PGJyPiZndDsgK2dlbmVyYXRlX2luZGV4X2tleShzdHJ1Y3QgUGFyc2UgKnBhcnNlLCBzdHJ1 Y3QgaW5kZXhfZGVmICppZHhfZGVmLDxicj4mZ3Q7ICsgaW50IGN1cnNvciwgaW50IHJlZ19vdXQs IGludCByZWdfZXBoKTxicj4mZ3Q7ICt7PGJyPiZndDsgKyBhc3NlcnQocmVnX291dCAhPSAwKTs8 YnI+Jmd0OyArIHN0cnVjdCBWZGJlICp2ID0gcGFyc2UtJmd0O3BWZGJlOzxicj4mZ3Q7ICsgaW50 IGNvbF9jbnQgPSBpZHhfZGVmLSZndDtrZXlfZGVmLSZndDtwYXJ0X2NvdW50Ozxicj4mZ3Q7ICsg aW50IHJlZ19iYXNlID0gc3FsR2V0VGVtcFJhbmdlKHBhcnNlLCBjb2xfY250ICsgMSk7PGJyPiZn dDsgKyBmb3IgKGludCBqID0gMDsgaiAmbHQ7IGNvbF9jbnQ7IGorKykgezxicj4mZ3Q7ICsgdWlu dDMyX3QgdGFibF9jb2wgPSBpZHhfZGVmLSZndDtrZXlfZGVmLSZndDtwYXJ0c1tqXS5maWVsZG5v Ozxicj4mZ3Q7ICsgc3FsVmRiZUFkZE9wMyh2LCBPUF9Db2x1bW4sIGN1cnNvciwgdGFibF9jb2ws IHJlZ19iYXNlICsgaik7PGJyPiZndDsgKyAvKjxicj4mZ3Q7ICsgKiBJZiB0aGUgY29sdW1uIHR5 cGUgaXMgTlVNQkVSIGJ1dCB0aGUgbnVtYmVyPGJyPiZndDsgKyAqIGlzIGFuIGludGVnZXIsIHRo ZW4gaXQgbWlnaHQgYmUgc3RvcmVkIGluIHRoZTxicj4mZ3Q7ICsgKiB0YWJsZSBhcyBhbiBpbnRl Z2VyICh1c2luZyBhIGNvbXBhY3Q8YnI+Jmd0OyArICogcmVwcmVzZW50YXRpb24pIHRoZW4gY29u dmVydGVkIHRvIFJFQUwgYnkgYW48YnI+Jmd0OyArICogT1BfUmVhbGlmeSBvcGNvZGUuIEJ1dCB3 ZSBhcmUgZ2V0dGluZzxicj4mZ3Q7ICsgKiByZWFkeSB0byBzdG9yZSB0aGlzIHZhbHVlIGJhY2sg aW50byBhbiBpbmRleCw8YnI+Jmd0OyArICogd2hlcmUgaXQgc2hvdWxkIGJlIGNvbnZlcnRlZCBi eSB0byBJTlRFR0VSPGJyPiZndDsgKyAqIGFnYWluLiBTbyBvbWl0IHRoZSBPUF9SZWFsaWZ5IG9w Y29kZSBpZjxicj4mZ3Q7ICsgKiBpdCBpcyBwcmVzZW50PGJyPiZndDsgKyAqLzxicj4mZ3Q7ICsg c3FsVmRiZURlbGV0ZVByaW9yT3Bjb2RlKHYsIE9QX1JlYWxpZnkpOzxicj4mZ3Q7ICsgfTxicj4m Z3Q7ICsgc3FsVmRiZUFkZE9wMih2LCBPUF9OZXh0SWRFcGhlbWVyYWwsIHJlZ19lcGgsIHJlZ19i YXNlICsgY29sX2NudCk7PGJyPiZndDsgKyBzcWxWZGJlQWRkT3AzKHYsIE9QX01ha2VSZWNvcmQs IHJlZ19iYXNlLCBjb2xfY250ICsgMSwgcmVnX291dCk7PGJyPiZndDsgKzxicj4mZ3Q7ICsgc3Fs UmVsZWFzZVRlbXBSYW5nZShwYXJzZSwgcmVnX2Jhc2UsIGNvbF9jbnQpOzxicj48YnI+0JLRi9Cz 0LvRj9C00LjRgiDQutCw0Log0LvRjtGC0YvQuSDRhdCw0LogLSDQsNC70LvQvtGG0LjRgNGD0LXR gtGB0Y8gTiArIDEg0LLRgNC10LzQtdC90L3Ri9GFINGA0LXQs9C40YHRgtGA0L7Qsiwg0L3Qvjxi cj7QvtGB0LLQvtCx0L7QttC00LDQtdGC0YHRjyDRgtC+0LvRjNC60L4gTiwg0YfRgtC+0LEg0LIg 0L/QvtGB0LvQtdC00LXQvCDRh9C1LdGC0L4g0YHQvtGF0YDQsNC90LjRgtGMLiDQotC+INC10YHR gtGMINC90LDQvNC10YDQtdC90L3QsNGPPGJyPtGD0YLQtdGH0LrQsCDQstGA0LXQvNC10L3QvdC+ 0LPQviDRgNC10LPQuNGB0YLRgNCwINC90LAg0LLRgNC10LzRjyDQstGL0L/QvtC70L3QtdC90LjR jyDQt9Cw0L/RgNC+0YHQsC4g0JLRi9Cz0LvRj9C00LjRgiDQvdC1INC+0YfQtdC90YwuPGJyPtCb 0YPRh9GI0LUg0LHRiyDRjdGC0L4g0L/QvtGH0LjQvdC40YLRjCDQvtGC0LTQtdC70YzQvdGL0Lwg 0YLQuNC60LXRgtC+0LwuPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPiZuYnNw OzxkaXY+Jm5ic3A7PC9kaXY+PGRpdiBkYXRhLXNpZ25hdHVyZS13aWRnZXQ9ImNvbnRhaW5lciI+ PGRpdiBkYXRhLXNpZ25hdHVyZS13aWRnZXQ9ImNvbnRlbnQiPjxkaXY+LS0gJmx0O2JyLyZndDvQ nNC10YDQs9C10L0g0JjQvNC10LXQsjwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+ PC9kaXY+PC9CT0RZPjwvSFRNTD4K ----ALT--fE222cBb87dCB104268D55863Fc71A6d1600750986--