Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 62644200C08 for ; Thu, 26 Jan 2017 18:03:01 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 60D3D160B4C; Thu, 26 Jan 2017 17:03:01 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id B77F6160B31 for ; Thu, 26 Jan 2017 18:02:59 +0100 (CET) Received: (qmail 14042 invoked by uid 500); 26 Jan 2017 17:02:54 -0000 Mailing-List: contact dev-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flink.apache.org Delivered-To: mailing list dev@flink.apache.org Received: (qmail 14030 invoked by uid 99); 26 Jan 2017 17:02:53 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Jan 2017 17:02:53 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id EF1A218C8CD for ; Thu, 26 Jan 2017 17:02:52 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -5.319 X-Spam-Level: X-Spam-Status: No, score=-5.319 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-2.999, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id zfdE8XXOjKcB for ; Thu, 26 Jan 2017 17:02:43 +0000 (UTC) Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id AE8425F47A for ; Thu, 26 Jan 2017 17:02:42 +0000 (UTC) Received: from 172.18.7.190 (EHLO lhreml708-cah.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DFH15157; Thu, 26 Jan 2017 17:02:41 +0000 (GMT) Received: from LHREML503-MBX.china.huawei.com ([10.125.30.103]) by lhreml708-cah.china.huawei.com ([10.201.5.202]) with mapi id 14.03.0301.000; Thu, 26 Jan 2017 17:02:36 +0000 From: Radu Tudoran To: "dev@flink.apache.org" Subject: RE: [DISCUSS] Development of SQL OVER / Table API Row Windows for streaming tables Thread-Topic: [DISCUSS] Development of SQL OVER / Table API Row Windows for streaming tables Thread-Index: AQHSdY3KRMKyrPRksEmlPTyMZ0K5JKFGjP+AgAALUjCAAAMqgIAAhgPFgAA8bECAAFdHAIAA+10AgAAr3MCAABqpAIABKiuAgAAn6ICAAIjAAIAALhgw Date: Thu, 26 Jan 2017 17:02:35 +0000 Message-ID: <8B754047F81D6B4290B9F4CE928333A517BF24D2@lhreml503-mbx> References: <8B754047F81D6B4290B9F4CE928333A517BF0F3F@lhreml503-mbx> <81855F577D8EA841ACA61B25347E999692F543@SZXEMI504-MBS.china.huawei.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.204.62.142] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090203.588A2BB2.0097,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 8b7598b901d30070c12673162037097b archived-at: Thu, 26 Jan 2017 17:03:01 -0000 VGhhbmtzIGZvciB0aGlzIHJlZGVzaWduIEZhYmlhbiwNCg0KDQpJIGFtIGludGVyZXN0ZWQgaW4g Ii0gRkxJTkstNTY1NDogcHJvY2Vzc2luZyB0aW1lIE9WRVIgUkFOR0UgeCBQUkVDRURJTkciDQoN Ckhvd2V2ZXIsIEkgdGhvdWdoIHRoZSBpc3N1ZSBudW1iZXIgaXMgDQpodHRwczovL2lzc3Vlcy5h cGFjaGUub3JnL2ppcmEvYnJvd3NlL0ZMSU5LLTU2NTQNCmFtIEkgd3Jvbmc/DQoNCkFzIHlvdSBw cm9wb3NlZCAgSSB3aWxsIG1vdmUgdGhlIGRpc2N1c3Npb24gYWJvdXQgeW91ciByZW1hcmsgaW4g dGhlIGNvbW1lbnQgc2VjdGlvbiBmb3IgdGhpcyBpc3N1ZS4NCg0KDQotLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KRnJvbTogRmFiaWFuIEh1ZXNrZSBbbWFpbHRvOmZodWVza2VAZ21haWwuY29t XSANClNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDI2LCAyMDE3IDM6MTQgUE0NClRvOiBkZXZAZmxp bmsuYXBhY2hlLm9yZw0KU3ViamVjdDogUmU6IFtESVNDVVNTXSBEZXZlbG9wbWVudCBvZiBTUUwg T1ZFUiAvIFRhYmxlIEFQSSBSb3cgV2luZG93cyBmb3Igc3RyZWFtaW5nIHRhYmxlcw0KDQpIaSBl dmVyeWJvZHksDQoNCkkgY3JlYXRlZCB0aGUgZm9sbG93aW5nIEpJUkFzOg0KDQotIEZMSU5LLTU2 NTM6IHByb2Nlc3NpbmcgdGltZSBPVkVSIFJPV1MgeCBQUkVDRURJTkcNCi0gRkxJTkstNTY1NDog cHJvY2Vzc2luZyB0aW1lIE9WRVIgUkFOR0UgeCBQUkVDRURJTkcNCi0gRkxJTkstNTY1NTogZXZl bnQgdGltZSBPVkVSIFJBTkdFIHggUFJFQ0VESU5HDQoNCi0gRkxJTkstNTY1NjogcHJvY2Vzc2lu ZyB0aW1lIE9WRVIgUk9XUyBVTkJPVU5ERUQgUFJFQ0VESU5HDQotIEZMSU5LLTU2NTc6IHByb2Nl c3NpbmcgdGltZSBPVkVSIFJBTkdFIFVOQk9VTkRFRCBQUkVDRURJTkcNCi0gRkxJTkstNTY1ODog ZXZlbnQgdGltZSBPVkVSIFJBTkdFIFVOQk9VTkRFRCBQUkVDRURJTkcNCg0KTGV0J3MgbW92ZSB0 aGUgZGlzY3Vzc2lvbnMgYWJvdXQgdGhlIGRlc2lnbiBvZiB0aGUgcnVudGltZSBvcGVyYXRvcnMg dG8gdGhlc2UgaXNzdWVzLg0KDQpTaW5jZSBzb21lIG9mIHlvdSBoYXZlIGFscmVhZHkgc3RhcnRl ZCB3b3JraW5nIG9uIHNvbWUgb2YgdGhlIGlzc3VlcywgaXQgd291bGQgYmUgZ29vZCBpZiB5b3Ug Y291bGQgcGljayB0aGUgb25lcyB5b3UgcGxhbiB0byB3b3JrIG9uLg0KSWYgdGhlcmUgYXJlIG92 ZXJsYXBwaW5nIGludGVyZXN0cywgaXQgd291bGQgYmUgZ3JlYXQgdG8gY29sbGFib3JhdGUsIGUu ZywgZGVzaWduLCBjb2RpbmcsIHRlc3RpbmcsIGNvZGUgcmV2aWV3Lg0KDQpBIGZldyBtb3JlIGNv bW1lbnRzOg0KDQpAU2hhb3h1YW46IFlvdSBhcmUgcmlnaHQsIHdlIGNhbiBpbXBsZW1lbnQgdGhl IHByb2Nlc3NpbmcgdGltZSB3aW5kb3dzIHdpdGggUHJvY2Vzc0Z1bmN0aW9uIGFzIHdlbGwuIEEg R2xvYmFsV2luZG93IGlzIGVzc2VudGlhbGx5IGEgRklGTyBxdWV1ZSBvZiBhcnJpdmluZyByZWNv cmRzLiBXaXRoIGN1c3RvbSB0cmlnZ2VycyBhbmQgZXZpY3RvcnMsIHdlIGNvdWxkIGltcGxlbWVu dCB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgcHJvY2Vzc2luZyB0aW1lIE9WRVIgd2luZG93cy4g V2UgY291bGQgYXNrIEFsam9zY2hhIChoZSBrbm93cyBldmVyeSBkZXRhaWwgb2YgRmxpbmsncyB3 aW5kb3cgZnJhbWV3b3JrKSBpZiBhIFByb2Nlc3NGdW5jdGlvbiBoYXMgbW9yZSBvcHRpbWl6YXRp b24gcG90ZW50aWFsIHRoYW4gYSBHbG9iYWxXaW5kb3cuDQoNCkBKYXJrOiBUaGF0J3MgYSBnb29k IHBvaW50LiBXZSBuZWVkIGxvZ2ljIHRvIGNvbXB1dGUgbm9uLXJldHJhY3RhYmxlIGFnZ3JlZ2F0 aW9uIGZ1bmN0aW9ucyBhcyB3ZWxsLg0KDQpAUmFkdTogU28gZmFyIHdlIGhhZCB2ZXJ5IGNvYXJz ZSBncmFpbmVkIERhdGFTdHJlYW1SZWxOb2RlcyAoZS5nLiwgRGF0YVN0cmVhbUFnZ3JlZ2F0ZSBp bXBsZW1lbnRzIHR1bWJsaW5nLCBzbGlkaW5nLCBhbmQgc2Vzc2lvbiB3aW5kb3dzIGZvciBwcm9j ZXNzaW5nIGFuZCBldmVudCB0aW1lKS4gSG93ZXZlciwgaXQgbWlnaHQgbWFrZSBzZW5zZSB0byBz dGFydCBpbXBsZW1lbnRpbmcgbW9yZSBmaW5lLWdyYWluZWQgRGF0YVN0cmVhbVJlbE5vZGVzLg0K DQpJJ2xsIGdvIGFoZWFkIGFuZCBtb2RpZnkgdGhlIHByZXZpb3VzIEpJUkFzIGFib3V0IFNsaWRl Um93LCBUdW1ibGVSb3csIGFuZCBTZXNzaW9uUm93IHRvIGV4cGxpY2l0bHkgYWRkcmVzcyB0aGUg VGFibGUgQVBJIGFuZCBob3cgdGhleSByZWxhdGUgdG8gdGhlIG5ldyBKSVJBcy4NCg0KQmVzdCwN CkZhYmlhbg0KDQoyMDE3LTAxLTI2IDc6MDUgR01UKzAxOjAwIEphcmsgV3UgPHd1Y2hvbmcud2NA YWxpYmFiYS1pbmMuY29tPjoNCg0KPiBIaSBGYWJpYW4sDQo+DQo+IEkgY29tcGxldGVseSBhZ2dy ZWUgd2l0aCB0aGUgc2l4IEpJUkFzIGFuZCBkaWZmZXJlbnQgcnVudGltZSANCj4gaW1wbGVtZW50 YXRpb25zLg0KPiBBbmQgSSBhbHNvIGFnZ3JlZSB3aXRoIEBzaGFveHVhbidzIHByb3Bvc2FsIGNh biB3b3JrIGZvciBib3RoIA0KPiBwcm9jZXNzaW5nIHRpbWUgYW5kIGV2ZW50IHRpbWUuDQo+DQo+ IEhpIFNoYW94dWFuLA0KPg0KPiBJIHJlYWxseSBsaWtlIHRoZSBpZGVhIHlvdSBwcm9wb3NlZCB0 aGF0IHVzaW5nIHJldHJhY3Rpb24gdG8gZGVjcmVhc2UgDQo+IGNvbXB1dGF0aW9uLg0KPiBJdCdz IGEgZ3JlYXQgb3B0aW1pemF0aW9uIGZvciBpbmNyZW1lbnRhbCBhZ2dyZWdhdGlvbiAob25seSBv bmUgDQo+IHJlZHVjZWQgdmFsdWUgaXMga2VwdCkuDQo+IEJ1dCBtYXkgbm90IHdvcmsgZm9yIG5v bi1pbmNyZW1lbnRhbCBhZ2dyZWdhdGlvbiAoZS5nLiBtYXgsIG1pbiwgYW5kDQo+IG1lZGlhbikg d2hpY2gNCj4gbmVlZHMgdG8gYnVmZmVyIGFsbCB0aGUgcmVjb3JkcyBpbiB0aGUgZ3JvdXAgJiB3 aW5kb3csIGFuZCByZWNhbGN1bGF0ZSANCj4gYWxsIHRoZSByZWNvcmRzIHdoZW4gcmV0cmFjdGlv biBoYXBwZW4uIFRoYXQgbWVhbnMgd2Ugd2lsbCBnZXQgYSB3b3JzZSANCj4gcGVyZm9ybWFuY2Ug Zm9yIG5vbi1pbmNyZW1lbnRhbCAgYWdncmVnYXRpb25zIHdoZW4gdXNpbmcgcmV0cmFjdGlvbiAN Cj4gb3B0aW1pemF0aW9uIGhlcmUuDQo+DQo+IElNTywgd2Ugc3RpbGwgbmVlZCBhIGdlbmVyYWwg ZGVzaWduIGZvciBPVkVSIHdpbmRvdyBhcyBmb2xsb3dpbmc6DQo+DQo+IDEuIHdlIGJ1ZmZlciBy ZWNvcmRzIGluIGEgbGlzdCBzdGF0ZSAobWF5YmUgc29ydGVkKSBmb3IgZWFjaCBncm91cCAyLiAN Cj4gd2hlbiBhbiBvdmVyIHdpbmRvdyBpcyB1cCB0byB0cmlnZ2VyLCBjcmVhdGUgYW4gYWNjdW11 bGF0b3IgYW5kIA0KPiBhY2N1bXVsYXRlIGFsbA0KPiAgICAgdGhlIHJlY29yZHMgaW4gdGhlIGJv dW5kYXJ5IG9mIHRoZSBsaXN0IHN0YXRlLg0KPiAzLiBlbWl0IHRoZSBhZ2dyZWdhdGUgcmVzdWx0 IGFuZCBkZWxldGUgdGhlIGFjY3VtdWxhdG9yLg0KPg0KPiBBbmQgdGhlIHJldHJhY3Rpb24gbWVj aGFuaXNtIHRoYXQga2VlcHMgdGhlIGFjY3VtdWxhdG9yIGZvciB0aGUgd2hvbGUgDQo+IGxpZmUg d2l0aG91dCBkZWxldGluZywgY291bGQgYmUgaW1wbGVtZW50ZWQgYXMgYW4gb3B0aW1pemF0aW9u IG9uIGl0IA0KPiBmb3IgaW5jcmVhbWVudGFsIGFnZ3JlZ2F0aW9ucy4NCj4NCj4gUmVnYXJkcywg SmFyaw0KPg0KPg0KPiA+IOWcqCAyMDE35bm0MeaciDI25pel77yM5LiK5Y2IMTE6NDLvvIxTaGFv eHVhbiBXYW5nIDx3c2hhb3h1YW5AZ21haWwuY29tPiDlhpnpgZPvvJoNCj4gPg0KPiA+IFllcyBG YWJpYW4sDQo+ID4gSSB3aWxsIGNvbXBsZXRlIG15IGRlc2lnbiB3aXRoIG1vcmUgdGhvcm91Z2gg dGhvdWdodHMuIEJUVywgSSB0aGluayANCj4gPiB0aGUgaW5jcmVtZW50YWwgYWdncmVnYXRlICh0 aGUga2V5IHBvaW50IEkgc3VnZ2VzdGVkIGlzIHRvIGVsaW1pbmF0ZSANCj4gPiBzdGF0ZQ0KPiBw ZXINCj4gPiBlYWNoIHdpbmRvdykgSSBwcm9wb3NlZCBzaG91bGQgd29yayBmb3IgYm90aCBwcm9j ZXNzaW5nIHRpbWUgYW5kIA0KPiA+IGV2ZW50IHRpbWUuIEl0IGp1c3QgZG9lcyBub3QgbmVlZCBh IHNvcnRlZCBzdGF0ZSBmb3IgdGhlIHByb2Nlc3NpbmcgDQo+ID4gdGltZSBzY2VuYXJpb3MuIChO ZWVkIHRvIHZlcmlmeSkuDQo+ID4NCj4gPiBSZWdhcmRzLA0KPiA+IFNoYW94dWFuDQo+ID4NCj4g Pg0KPiA+IE9uIFdlZCwgSmFuIDI1LCAyMDE3IGF0IDU6NTUgUE0sIEZhYmlhbiBIdWVza2UgPGZo dWVza2VAZ21haWwuY29tPg0KPiB3cm90ZToNCj4gPg0KPiA+PiBIaSBldmVyeWJvZHksDQo+ID4+ DQo+ID4+IHRoYW5rcyBmb3IgdGhlIGdyZWF0IGRpc2N1c3Npb25zIHNvIGZhci4gSXQncyBhd2Vz b21lIHRvIHNlZSBzbyANCj4gPj4gbXVjaCBpbnRlcmVzdCBpbiB0aGlzIHRvcGljIQ0KPiA+Pg0K PiA+PiBGaXJzdCwgSSdkIGxpa2UgdG8gY29tbWVudCBvbiB0aGUgZGV2ZWxvcG1lbnQgcHJvY2Vz cyBmb3IgdGhpcyANCj4gPj4gZmVhdHVyZQ0KPiBhbmQNCj4gPj4gbGF0ZXIgb24gdGhlIGRlc2ln biBvZiB0aGUgcnVudGltZToNCj4gPj4NCj4gPj4gRGV2IFByb2Nlc3MNCj4gPj4gLS0tLQ0KPiA+ PiBAU2hhb3h1YW4sIEkgY29tcGxldGVseSBhZ3JlZSB3aXRoIHlvdS4gV2Ugc2hvdWxkIGZpcnN0 IGNvbWUgdXAgDQo+ID4+IHdpdGgNCj4gZ29vZA0KPiA+PiBkZXNpZ25zIGZvciB0aGUgcnVudGlt ZSBvcGVyYXRvcnMgb2YgdGhlIGRpZmZlcmVudCB3aW5kb3cgdHlwZXMuIA0KPiA+PiBPbmNlIHdl IGhhdmUgdGhhdCwgd2UgY2FuIHN0YXJ0IGltcGxlbWVudGluZyB0aGUgb3BlcmF0b3JzIGFuZCAN Cj4gPj4gaW50ZWdyYXRlIHRoZW0NCj4gd2l0aA0KPiA+PiBDYWxjaXRlJ3Mgb3B0aW1pemF0aW9u LiBUaGlzIHdpbGwgYmUgYW4gaW50ZXJtZWRpYXRlIHN0ZXAgYW5kIGFzIGEgDQo+ID4+IGJ5cHJv ZHVjdCBnaXZlIHVzIHN1cHBvcnQgZm9yIFNRTCBPVkVSIHdpbmRvd3MuIE9uY2UgdGhpcyBpcyBk b25lLCANCj4gPj4gd2UNCj4gY2FuDQo+ID4+IGV4dGVuZCB0aGUgVGFibGUgQVBJIGFuZCB0cmFu c2xhdGUgdGhlIFRhYmxlIEFQSSBjYWxscyBpbnRvIHRoZSANCj4gPj4gc2FtZSBSZWxOb2RlcyBh cyBDYWxjaXRlJ3MgU1FMIHBhcnNlciBkb2VzLg0KPiA+Pg0KPiA+PiBSdW50aW1lIERlc2lnbg0K PiA+PiAtLS0tDQo+ID4+IEkgdGhpbmsgaXQgbWFrZXMgc2Vuc2UgdG8gZGlzdGluZ3Vpc2ggdGhl IGRpZmZlcmVudCB0eXBlcyBvZiBPVkVSDQo+IHdpbmRvd3MNCj4gPj4gYmVjYXVzZSB0aGV5IGhh dmUgZGlmZmVyZW50IHJlcXVpcmVtZW50cyB3aGljaCByZXN1bHQgaW4gZGlmZmVyZW50DQo+IHJ1 bnRpbWUNCj4gPj4gaW1wbGVtZW50YXRpb25zICh3aXRoIGRpZmZlcmVudCBpbXBsZW1lbnRhdGlv biBjb21wbGV4aXR5IGFuZA0KPiBwZXJmb3JtYW5jZSkuDQo+ID4+IEluIGEgcHJldmlvdXMgbWFp bCBJIHByb3Bvc2VkIHRvIHNwbGl0IHRoZSBzdXBwb3J0IGZvciBPVkVSIHdpbmRvd3MgDQo+ID4+ IGludG8gdGhlIGZvbGxvd2luZyBzdWJ0YXNrczoNCj4gPj4NCj4gPj4gIyBib3VuZGVkIFBSRUNF RElORw0KPiA+PiAtIE9WRVIgUk9XUyBmb3IgcHJvY2Vzc2luZyB0aW1lDQo+ID4+ICAtIGRvZXMg bm90IHJlcXVpcmUgc29ydGVkIHN0YXRlIChkYXRhIGFsd2F5cyBhcnJpdmVzIGluIHByb2Nlc3Np bmcgDQo+ID4+IHRpbWUNCj4gPj4gb3JkZXIpDQo+ID4+ICAtIG5vIG5lZWQgdG8gY29uc2lkZXIg cmV0cmFjdGlvbiAocHJvY2Vzc2luZyB0aW1lIGlzIG5ldmVyIGxhdGUpDQo+ID4+ICAtIGRlZmlu ZXMgd2luZG93cyBvbiByb3cgY291bnQuDQo+ID4+ICAtIEEgR2xvYmFsV2luZG93IHdpdGggZXZp Y3RvciArIHRyaWdnZXIgbWlnaHQgYmUgdGhlIGJlc3QNCj4gaW1wbGVtZW50YXRpb24NCj4gPj4g KGJhc2ljYWxseSB0aGUgc2FtZSBhcyBEYXRhU3RyZWFtLmNvdW50V2luZG93KGxvbmcsIGxvbmcp LiBXZSBuZWVkIA0KPiA+PiB0bw0KPiBhZGQNCj4gPj4gdGltZW91dHMgdG8gY2xlYW4gdXAgc3Rh dGUgZm9yIG5vbi11c2VkIGtleXMgdGhvdWdoLg0KPiA+Pg0KPiA+PiAtIE9WRVIgUkFOR0UgZm9y IHByb2Nlc3NpbmcgdGltZQ0KPiA+PiAgLSBkb2VzIG5vdCByZXF1aXJlIHNvcnRlZCBzdGF0ZSAo ZGF0YSBhbHdheXMgYXJyaXZlcyBpbiBwcm9jZXNzaW5nIA0KPiA+PiB0aW1lDQo+ID4+IG9yZGVy KQ0KPiA+PiAgLSBubyBuZWVkIHRvIGNvbnNpZGVyIHJldHJhY3Rpb24gKHByb2Nlc3NpbmcgdGlt ZSBpcyBuZXZlciBsYXRlKQ0KPiA+PiAgLSBkZWZpbmVzIHdpbmRvd3Mgb24gcm93IGNvdW50DQo+ ID4+ICAtIEkgdGhpbmsgdGhpcyBjb3VsZCBhbHNvIGJlIGltcGxlbWVudGVkIHdpdGggYSBHbG9i YWxXaW5kb3cgd2l0aA0KPiBldmljdG9yDQo+ID4+ICsgdHJpZ2dlciAobmVlZCB0byB2ZXJpZnkp DQo+ID4+DQo+ID4+IC0gT1ZFUiBSQU5HRSBmb3IgZXZlbnQgdGltZQ0KPiA+PiAgLSBuZWVkIGZv ciBzb3J0ZWQgc3RhdGUgKGxhdGUgZGF0YSBwb3NzaWJsZSkNCj4gPj4gIC0gSU1PLCBhIFByb2Nl c3NGdW5jdGlvbiBnaXZlcyB1cyB0aGUgbW9zdCBmbGV4aWJpbGl0eSBpbiBhZGRpbmcgDQo+ID4+ IGxhdGVyIGZlYXR1cmVzIChyZXRyYWN0aW9uLCB1cGRhdGUgcmF0ZSwgZXRjLikNCj4gPj4gIC0g QFNoYW94dWFuLCB5b3Ugc2tldGNoZWQgYSBnb29kIGRlc2lnbi4gV291bGQgeW91IGxpa2UgdG8g DQo+ID4+IGNvbnRpbnVlDQo+IHdpdGgNCj4gPj4gYSBkZXNpZ24gcHJvcG9zYWw/DQo+ID4+DQo+ ID4+ICMgVU5CT1VOREVEIFBSRUNFRElORw0KPiA+PiBTaW1pbGFyIGNvbnNpZGVyYXRpb25zIGFw cGx5IGZvciB0aGUgVU5CT1VOREVEIFBSRUNFRElORyBjYXNlcyBvZiANCj4gPj4gdGhlDQo+IGFi b3ZlDQo+ID4+IHdpbmRvdyB0eXBlcy4NCj4gPj4NCj4gPj4gSWYgd2UgYWxsIGFncmVlIHRoYXQg dGhlIHNlcGFyYXRpb24gaW50byBzaXggSklSQXMgDQo+ID4+IChib3VuZGVkL3VuYm91bmRlZCAq IHJvdy1wdC9yYW5nZS1wdC8gcmFuZ2UtZXQpIG1ha2VzIHNlbnNlLCBJIA0KPiA+PiB3b3VsZCBz dWdnZXN0IHRvIG1vdmUgdGhlIGRpc2N1c3Npb25zIGFib3V0IHRoZSBkZXNpZ24gb2YgdGhlIA0K PiA+PiBpbXBsZW1lbnRhdGlvbiB0byB0aGUgaW5kaXZpZHVhbA0KPiBKSVJBcy4NCj4gPj4NCj4g Pj4gV2hhdCBkbyB0aGluaz8NCj4gPj4NCj4gPj4gQmVzdCwgRmFiaWFuDQo+ID4+DQo+ID4+IDIw MTctMDEtMjUgOToxOSBHTVQrMDE6MDAgU2hhb3h1YW4gV2FuZyA8d3NoYW94dWFuQGdtYWlsLmNv bT46DQo+ID4+DQo+ID4+PiBIaSBMaXV4aW5jaHVuLA0KPiA+Pj4gSSBhbSBub3Qgc3VyZSB3aGVy ZSBkaWQgeW91IGdldCB0aGUgaW5jZXB0aW9uOiBhbnlvbmUgaGFzIA0KPiA+Pj4gc3VnZ2VzdGVk ICJ0byBwcm9jZXNzIEV2ZW50IHRpbWUgd2luZG93IGluIFNsaWRpbmcgUm93IFdpbmRvdyIuIElm IA0KPiA+Pj4geW91IHdlcmUgcmVmZXJyaW5nDQo+ID4+IG15DQo+ID4+PiBwb3N0LCB0aGVyZSBt YXkgYmUgc29tZSBtaXN1bmRlcnN0YW5kaW5nIHRoZXJlLiBJIHRoaW5rIHlvdSB3ZXJlIA0KPiA+ Pj4gYXNraW5nDQo+ID4+IHRoZQ0KPiA+Pj4gc2ltaWxhciBxdWVzdGlvbiBhcyBIb25neXVob25n LiBJIGhhdmUganVzdCByZXBsaWVkIHRvIGhpbS4gUGxlYXNlDQo+IHRha2UgYQ0KPiA+Pj4gbG9v ayBhbmQgbGV0IG1lIGtub3cgaWYgdGhhdCBtYWtlcyBzZW5zZSB0byB5b3UuICJSZXRyYWN0aW9u IiBpcyANCj4gPj4+IGFuIGltcG9ydGFudCBidWlsZGluZyBibG9jayB0byBjb21wdXRlIGNvcnJl Y3QgaW5jcmVtZW50YWwgcmVzdWx0cyANCj4gPj4+IGluIHN0cmVhbWluZy4gSXQgaXMgYW5vdGhl ciBiaWcgdG9waWMsIHdlIHNob3VsZCBkaXNjdXNzIHRoaXMgaW4gDQo+ID4+PiBhbm90aGVyIHRo cmVhZC4NCj4gPj4+DQo+ID4+PiBSZWdhcmRzLA0KPiA+Pj4gU2hhb3h1YW4NCj4gPj4+DQo+ID4+ Pg0KPiA+Pj4NCj4gPj4+IE9uIFdlZCwgSmFuIDI1LCAyMDE3IGF0IDM6NDQgUE0sIGxpdXhpbmNo dW4gDQo+ID4+PiA8bGl1eGluY2h1bkBodWF3ZWkuY29tPg0KPiA+PiB3cm90ZToNCj4gPj4+DQo+ ID4+Pj4gSSBkb24ndCB0aGluayBpdCBpcyBhIGdvb2QgaWRlYSB0byBwcm9jZXNzIEV2ZW50IHRp bWUgd2luZG93IGluDQo+IFNsaWRpbmcNCj4gPj4+PiBSb3cgV2luZG93LiBJbiBTbGlkaW5nIFRp bWUgd2luZG93LCB3aGVuIGFuIGVsZW1lbnQgaXMgbGF0ZSwgd2UgDQo+ID4+Pj4gY2FuDQo+ID4+ PiB0cmlnZ2VyDQo+ID4+Pj4gdGhlIHJlY2FsY3VsYXRpb24gb2YgdGhlIHJlbGF0ZWQgd2luZG93 cy4gQW5kIHRoZSBzbGlkaW5nIHBlcmlvZCANCj4gPj4+PiBpcyBjb2Fyc2UtZ2FpbmVkLCBXZSBv bmx5IG5lZWQgdG8gcmVjYWxjdWxhdGUgc2l6ZS9zbGlkaW5nIG51bWJlciANCj4gPj4+PiBvZg0K PiA+Pj4gd2luZG93cy4NCj4gPj4+PiBCdXQgaW4gU2xpZGluZyBSb3cgV2luZG93LCB0aGUgY2Fs Y3VsYXRpb24gaXMgdHJpZ2dlcmVkIHdoZW4gDQo+ID4+Pj4gZXZlcnkNCj4gPj4+IGVsZW1lbnQN Cj4gPj4+PiBpcyBjb21pbmcuIFRoZSBzbGlkaW5nIHBlcmlvZCBpcyBiZWNvbWluZyBmaW5lLWdh aW5lZC4gV2hlbiBhbiANCj4gPj4+PiBlbGVtZW50DQo+ID4+IGlzDQo+ID4+Pj4gbGF0ZSwgdGhl cmUgYXJlIHNvIG1hbnkgIndpbmRvd3MiIGFyZSBpbmZsdWVuY2VkLiBFdmVuIGlmIHdlIA0KPiA+ Pj4+IHN0b3JlIGFsbA0KPiA+Pj4gdGhlDQo+ID4+Pj4gcmF3IGRhdGEsIHRoZSBjb21wdXRhdGlv biBpcyB2ZXJ5IGxhcmdlLg0KPiA+Pj4+DQo+ID4+Pj4gSSB0aGluayBpZiBpdCBpcyBwb3NzaWJs ZSB0byBzZXQgYSBzdGFuZGFyZCB0byBzbGlkaW5nIEV2ZW50IFRpbWUgDQo+ID4+Pj4gUm93IFdp bmRvdywgV2hlbiBjZXJ0YWluIGVsZW1lbnRzIGFyZSBsYXRlLCB3ZSBjYW4gb25seSANCj4gPj4+ PiByZWNhbGN1bGF0ZQ0KPiBwYXJ0aWFsDQo+ID4+Pj4gd2luZG93cyBhbmQgcGVybWl0IHNvbWUg ZXJyb3IuIEZvciBleGFtcGxlLCB3ZSBjYW4gb25seSANCj4gPj4+PiByZWNhbGN1bGF0ZQ0KPiB0 aGUNCj4gPj4+PiB3aW5kb3dzIGVuZCBpbiByYW5nZSBiZXR3ZWVuIChsYXRlRWxlbWVudC50aW1l c3RhbXAgLSBsZWZ0RGVsdGEsIA0KPiA+Pj4+IGxhdGVFbGVtZW50LnRpbWVzdGFtcF0gYW5kIHRo b3NlIHdpbmRvd3MgYmVnaW4gaW4gcmFuZ2UgYmV0d2VlbiANCj4gPj4+PiBbbGF0ZUVsZW1lbnQu dGltZXN0YW1wLCBsYXRlRWxlbWVudC50aW1lc3RhbXAgKyByaWdodERlbHRhKS4NCj4gPj4+PiAv Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8NCj4gPj4+PiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KPiA+Pj4+IEhpIGV2ZXJ5b25l LA0KPiA+Pj4+IFRoYW5rcyBmb3IgdGhpcyBncmVhdCBkaXNjdXNzaW9uLCBhbmQgZ2xhZCB0byBz ZWUgbW9yZSBhbmQgbW9yZSANCj4gPj4+PiBwZW9wbGUNCj4gPj4+IGFyZQ0KPiA+Pj4+IGludGVy ZXN0ZWQgb24gc3RyZWFtIFNRTCAmIHRhYmxlQVBJLg0KPiA+Pj4+DQo+ID4+Pj4gSU1PLCB0aGUg a2V5IHByb2JsZW1zIGZvciBPdmVyIHdpbmRvdyBkZXNpZ24gYXJlIHRoZSBTUUwgDQo+ID4+Pj4g c2VtYW50aWNzIGFuZA0KPiA+Pj4gdGhlDQo+ID4+Pj4gcnVudGltZSBkZXNpZ24uIEkgdG90YWxs eSBhZ3JlZSB3aXRoIEZhYmlhbiB0aGF0IHdlIHNob3VsZCBza2lwIA0KPiA+Pj4+IHRoZQ0KPiA+ Pj4gZGVzaWduDQo+ID4+Pj4gb2YgVHVtYmxlUm93cyBhbmQgU2Vzc2lvblJvd3Mgd2luZG93cyBm b3Igbm93LCBhcyB0aGV5IGFyZSBub3QgDQo+ID4+Pj4gd2VsbA0KPiA+Pj4gZGVmaW5lZA0KPiA+ Pj4+IGluIFNRTCBzZW1hbnRpY3MuDQo+ID4+Pj4NCj4gPj4+PiBSdW50aW1lIGRlc2lnbiBpcyB0 aGUgbW9zdCBjcnVjaWFsIHBhcnQgd2UgYXJlIGludGVyZXN0ZWQgaW4gYW5kIA0KPiA+Pj4+IHZv bHVudGVlcmVkIHRvIGNvbnRyaWJ1dGUgaW50by4gV2UgaGF2ZSB0aG91c2FuZHMgb2YgbWFjaGlu ZXMgDQo+ID4+Pj4gcnVubmluZw0KPiA+Pj4gZmxpbmsNCj4gPj4+PiBzdHJlYW1pbmcgam9icy4g VGhlIGNvc3RzIGluIHRlcm1zIG9mIENQVSwgbWVtb3J5LCBhbmQgc3RhdGUgYXJlIA0KPiA+Pj4+ IHRoZQ0KPiA+Pj4gdml0YWwNCj4gPj4+PiBmYWN0b3JzIHRoYXQgd2UgaGF2ZSB0byB0YWtlbiBp bnRvIGFjY291bnQuIFdlIGhhdmUgYmVlbiB3b3JraW5nIA0KPiA+Pj4+IG9uDQo+IHRoZQ0KPiA+ Pj4+IGRlc2lnbiBvZiBPVkVSIHdpbmRvdyBpbiB0aGUgcGFzdCBtb250aHMsIGFuZCBwbGFubmlu ZyB0byBzZW5kIA0KPiA+Pj4+IG91dCBhIGRldGFpbGVkIGRlc2lnbiBkb2MgdG8gREVWIHF1aXRl IHNvb24uIEJ1dCBzaW5jZSBGYWJpYW4gDQo+ID4+Pj4gc3RhcnRlZCBhIGdvb2QgZGlzY3Vzc2lv biBvbiBPVkVSIHdpbmRvdywgSSB3b3VsZCBsaWtlIHRvIHNoYXJlIA0KPiA+Pj4+IG91ciBpZGVh cy90aG91Z2h0cw0KPiA+PiBhYm91dA0KPiA+Pj4+IHRoZSBydW50aW1lIGRlc2lnbiBmb3IgT1ZF UiB3aW5kb3cuDQo+ID4+Pj4NCj4gPj4+PiAgIDEuIEFzIFN1bkppbmNoZW5nIHBvaW50ZWQgb3V0 IGVhcmxpZXIsIHNsaWRpbmcgd2luZG93IGRvZXMgbm90IA0KPiA+Pj4+IHdvcmsNCj4gPj4+IGZv cg0KPiA+Pj4+ICAgdW5ib3VuZGVkIHByZWNlZGluZywgd2UgbmVlZCBhbHRlcm5hdGl2ZSBhcHBy b2FjaCBmb3IgdW5ib3VuZCANCj4gPj4+PiBvdmVyIHdpbmRvdy4NCj4gPj4+PiAgIDIuIFRob3Vn aCBzbGlkaW5nIHdpbmRvdyBtYXkgd29yayBmb3Igc29tZSBjYXNlcyBvZiBib3VuZGVkIHdpbmRv dywNCj4gPj4+PiAgIGl0IGlzIG5vdCB2ZXJ5IGVmZmljaWVudCB0aGVyZWJ5IHNob3VsZCBub3Qg YmUgdXNlZCBmb3IgcHJvZHVjdGlvbi4NCj4gPj4gVG8NCj4gPj4+PiB0aGUNCj4gPj4+PiAgIGJl c3Qgb2YgbXkgdW5kZXJzdGFuZGluZywgdGhlIGN1cnJlbnQgcnVudGltZSBpbXBsZW1lbnRhdGlv biBvZg0KPiA+Pj4gc2xpZGluZw0KPiA+Pj4+ICAgd2luZG93IGhhcyBub3QgbGV2ZXJhZ2VkIHRo ZSBjb25jZXB0cyBvZiBzdGF0ZSBQYW5lcyB5ZXQuIFRoaXMgDQo+ID4+Pj4gbWVhbnMgdGhhdA0K PiA+Pj4+ICAgaWYgd2UgdXNlIHNsaWRpbmcgd2luZG93IGZvciBPVkVSIHdpbmRvdywgIHRoZXJl IHdpbGwgYmUgYSANCj4gPj4+PiBiYWNrZW5kDQo+ID4+PiBzdGF0ZQ0KPiA+Pj4+ICAgY3JlYXRl ZCBwZXIgZWFjaCBncm91cCAocGFydGl0aW9uIGJ5KSBhbmQgZWFjaCByb3csIGFuZCANCj4gPj4+ PiB3aGVuZXZlciBhDQo+ID4+IG5ldw0KPiA+Pj4+ICAgcmVjb3JkIGFycml2ZXMsIGl0IHdpbGwg YmUgYWNjdW11bGF0ZWQgdG8gYWxsIHRoZSBleGlzdGluZyANCj4gPj4+PiB3aW5kb3dzDQo+ID4+ PiB0aGF0DQo+ID4+Pj4gaGFzDQo+ID4+Pj4gICBub3QgYmVlbiBjbG9zZWQuIFRoaXMgd291bGQg Y2F1c2UgcXVpdGUgYSBsb3Qgb2Ygb3ZlcmhlYWQgaW4gDQo+ID4+Pj4gdGVybXMNCj4gPj4gb2YN Cj4gPj4+PiBib3RoDQo+ID4+Pj4gICBDUFUgYW5kIG1lbW9yeSZzdGF0ZS4NCj4gPj4+PiAgIDMu IEZhYmlhbiBoYXMgbWVudGlvbmVkIGFuIGFwcHJvYWNoIG9mIGxldmVyYWdpbmcg4oCcUHJvY2Vz c0Z1bmN0aW9u4oCdDQo+ID4+PiBhbmQNCj4gPj4+PiAgIGEg4oCcc29ydGVkU3RhdGXigJ0uIEkg bGlrZSB0aGlzIGlkZWEuIFRoZSBkZXNpZ24gZGV0YWlscyBvbiB0aGlzIA0KPiA+Pj4+IGFyZQ0K PiA+PiBub3QNCj4gPj4+PiBxdWl0ZQ0KPiA+Pj4+ICAgY2xlYXIgeWV0LiBTbyBJIHdvdWxkIGxp a2UgdG8gYWRkIG1vcmUgdGhvdWdodHMgb24gdGhpcy4gUmVnYXJkbGVzcw0KPiA+Pj4+ICAgd2hp Y2ggZGF0YVN0cmVhbSBBUEkgd2UgYXJlIGdvaW5nIHRvIHVzZSAoaXQgaXMgdmVyeSBsaWtlbHkg DQo+ID4+Pj4gdGhhdCB3ZQ0KPiA+Pj4gbmVlZA0KPiA+Pj4+ICAgYSBuZXcgQVBJKSwgd2Ugc2hv dWxkIGNvbWUgb3V0IHdpdGggYW4gb3B0aW1hbCBhcHByb2FjaC4gVGhlIA0KPiA+Pj4+IHB1cnBv c2UNCj4gPj4+IG9mDQo+ID4+Pj4gICBncm91cGluZyB3aW5kb3cgYW5kIG92ZXIgd2luZG93IGlz IHRvIHBhcnRpdGlvbiB0aGUgZGF0YSwgc3VjaCANCj4gPj4+PiB0aGF0DQo+ID4+IHdlDQo+ID4+ Pj4gY2FuDQo+ID4+Pj4gICBnZW5lcmF0ZSB0aGUgYWdncmVnYXRlIHJlc3VsdHMuIFNvIHdoZW4g d2UgdGFsayBhYm91dCB0aGUgDQo+ID4+Pj4gZGVzaWduIG9mDQo+ID4+PiBPVkVSDQo+ID4+Pj4g ICB3aW5kb3csIHdlIGhhdmUgdG8gdGhpbmsgYWJvdXQgdGhlIGFnZ3JlZ2F0ZXMuIEFzIHdlIHBy b3Bvc2VkIA0KPiA+Pj4+IGluIG91ciByZWNlbnQNCj4gPj4+PiAgIFVEQUdHIGRvYyBodHRwczov L2dvby5nbC82bnRjbEIsICB0aGUgdXNlciBkZWZpbmVkIGFjY3VtdWxhdG9yIA0KPiA+Pj4+IHdp bGwNCj4gPj4+IGJlDQo+ID4+Pj4gICBzdG9yZWQgaW4gdGhlIGFnZ3JlZ2F0ZSBzdGF0ZS4gQmVz aWRlcyBhY2N1bXVsYXRvciwgd2UgaGF2ZSANCj4gPj4+PiBhbHNvIGludHJvZHVjZWQNCj4gPj4+ PiAgIGEgcmV0cmFjdCBBUEkgZm9yIFVEQUdHLiBXaXRoIGFnZ3JlZ2F0ZSBhY2N1bXVsYXRvciBh bmQgcmV0cmFjdA0KPiA+PiBBUEksIEkNCj4gPj4+PiBhbQ0KPiA+Pj4+ICAgcHJvcG9zaW5nIGEg cnVudGltZSBhcHByb2FjaCB0byBpbXBsZW1lbnQgdGhlIE9WRVIgd2luZG93IGFzDQo+ID4+PiBm b2xsb3dpbmdzLg0KPiA+Pj4+ICAgNC4NCj4gPj4+PiAgICAgIC0gV2UgZmlyc3QgaW1wbGVtZW50 IGEgc29ydGVkIHN0YXRlIGludGVyZmFjZQ0KPiA+Pj4+ICAgICAgLSBQZXIgZWFjaCBncm91cCwg d2UganVzdCBjcmVhdGUgb25lIHNvcnRlZCBzdGF0ZS4gV2hlbiBhIA0KPiA+Pj4+IG5ldw0KPiA+ Pj4gcmVjb3JkDQo+ID4+Pj4gICAgICBhcnJpdmVzLCBpdCB3aWxsIGluc2VydCBpbnRvIHRoaXMg c29ydGVkIHN0YXRlLCBpbiB0aGUgDQo+ID4+Pj4gbWVhbndoaWxlDQo+ID4+IGl0DQo+ID4+Pj4g d2lsbCBiZQ0KPiA+Pj4+ICAgICAgYWNjdW11bGF0ZWQgdG8gdGhlIGFnZ3JlZ2F0ZSBhY2N1bXVs YXRvci4NCj4gPj4+PiAgICAgIC0gRm9yIG92ZXIgd2luZG93LCB3ZSBrZWVwIHRoZSBhZ2dyZWdh dGUgYWNjdW11bGF0b3IgZm9yIHRoZQ0KPiA+PiBlbnRpcmUNCj4gPj4+PiAgICAgIGpvYiBsaWZl bG9uZyB0aW1lLiBUaGlzIGlzIGRpZmZlcmVudCB0aGFuIHRoZSBjYXNlIHdoZXJlIHdlDQo+ID4+ IGRlbGV0ZQ0KPiA+Pj4+IHRoZQ0KPiA+Pj4+ICAgICAgYWNjdW11bGF0b3IgZm9yIGVhY2ggZ3Jv dXAvd2luZG93IHdoZW4gYSBncm91cGluZy13aW5kb3cgaXMNCj4gPj4+IGZpbmlzaGVkLg0KPiA+ Pj4+ICAgICAgLSBXaGVuIGFuIG92ZXIgd2luZG93IGlzIHVwIHRvIHRyaWdnZXIsIHdlIGdyYWIg dGhlDQo+ID4+Pj4gICAgICBwcmV2aW91cyBhY2N1bXVsYXRvciBmcm9tIHRoZSBzdGF0ZSBhbmQg YWNjdW11bGF0ZSB2YWx1ZXMgDQo+ID4+Pj4gb250byBpdCB3aXRoIGFsbA0KPiA+Pj4+ICAgICAg dGhlIHJlY29yZHMgdGlsbCB0aGUgdXBwZXJCb3VuZGFyeSBvZiB0aGUgY3VycmVudCB3aW5kb3cs IA0KPiA+Pj4+IGFuZCByZXRyYWN0IGFsbA0KPiA+Pj4+ICAgICAgdGhlIG91dCBvZiBzY29wZSBy ZWNvcmRzIHRpbGwgaXRzIGxvd2VyQm91bmRhcnkuIFdlIGVtaXQgdGhlDQo+ID4+Pj4gICAgICBh Z2dyZWdhdGUgcmVzdWx0IGFuZCBzYXZlIHRoZSBhY2N1bXVsYXRvciBmb3IgdGhlIG5leHQgd2lu ZG93Lg0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+PiBIZWxsbyBGYWJpYW4sDQo+ID4+Pj4gSSB3b3Vs ZCBzdWdnZXN0IHdlIHNob3VsZCBmaXJzdCBzdGFydCB3b3JraW5nIG9uIHJ1bnRpbWUgZGVzaWdu IA0KPiA+Pj4+IG9mDQo+IG92ZXINCj4gPj4+PiB3aW5kb3cgYW5kIGFnZ3JlZ2F0ZS4gT25jZSB3 ZSBoYXZlIGEgZ29vZCBkZXNpZ24gdGhlcmUsIG9uZSBjYW4gDQo+ID4+Pj4gZWFzaWx5DQo+ID4+ PiBhZGQNCj4gPj4+PiB0aGUgc3VwcG9ydCBmb3IgU1FMIGFzIHdlbGwgYXMgdGFibGVBUEkuIFdo YXQgZG8geW91IHRoaW5rPw0KPiA+Pj4+DQo+ID4+Pj4gUmVnYXJkcywNCj4gPj4+PiBTaGFveHVh bg0KPiA+Pj4+DQo+ID4+Pj4gT24gVHVlLCBKYW4gMjQsIDIwMTcgYXQgMTA6NDIgUE0sIEZhYmlh biBIdWVza2UgDQo+ID4+Pj4gPGZodWVza2VAZ21haWwuY29tPg0KPiA+Pj4gd3JvdGU6DQo+ID4+ Pj4NCj4gPj4+Pj4gSGkgUmFkdSwNCj4gPj4+Pj4NCj4gPj4+Pj4gdGhhbmtzIGZvciB5b3VyIGNv bW1lbnRzIQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBZZXMsIG15IGludGVudGlvbiBpcyB0byBvcGVuIG5l dyBKSVJBIGlzc3VlcyB0byBzdHJ1Y3R1cmUgdGhlIA0KPiA+Pj4+PiBkZXZlbG9wbWVudCBwcm9j ZXNzLiBFdmVyeWJvZHkgaXMgdmVyeSB3ZWxjb21lIHRvIHBpY2sgdXAgaXNzdWVzIA0KPiA+Pj4+ PiBhbmQgZGlzY3VzcyB0aGUgZGVzaWduIHByb3Bvc2Fscy4NCj4gPj4+Pj4gQXQgdGhlIG1vbWVu dCBJIHNlZSB0aGUgZm9sbG93aW5nIHNpeCBpc3N1ZXMgdG8gc3RhcnQgd2l0aDoNCj4gPj4+Pj4N Cj4gPj4+Pj4gLSBzdHJlYW1pbmcgU1FMIE9WRVIgUk9XIGZvciBwcm9jZXNzaW5nIHRpbWUNCj4g Pj4+Pj4gIC0gYm91bmRlZCBQUkVDRURJTkcNCj4gPj4+Pj4gIC0gdW5ib3VuZGVkIFBSRUNFRElO Rw0KPiA+Pj4+Pg0KPiA+Pj4+PiAtIHN0cmVhbWluZyBTUUwgT1ZFUiBSQU5HRSBmb3IgcHJvY2Vz c2luZyB0aW1lDQo+ID4+Pj4+ICAtIGJvdW5kZWQgUFJFQ0VESU5HDQo+ID4+Pj4+ICAtIHVuYm91 bmRlZCBQUkVDRURJTkcNCj4gPj4+Pj4NCj4gPj4+Pj4gLSBzdHJlYW1pbmcgU1FMIE9WRVIgUkFO R0UgZm9yIGV2ZW50IHRpbWUNCj4gPj4+Pj4gIC0gYm91bmRlZCBQUkVDRURJTkcNCj4gPj4+Pj4g IC0gdW5ib3VuZGVkIFBSRUNFRElORw0KPiA+Pj4+Pg0KPiA+Pj4+PiBGb3IgZWFjaCBvZiB0aGVz ZSB3aW5kb3dzIHdlIG5lZWQgY29ycmVzcG9uZGluZyB0cmFuc2xhdGlvbiANCj4gPj4+Pj4gcnVs ZXMgYW5kIGV4ZWN1dGlvbiBjb2RlLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBTdWJzZXF1ZW50IEpJUkFz IHdvdWxkIGJlDQo+ID4+Pj4+IC0gZXh0ZW5kaW5nIHRoZSBUYWJsZSBBUEkgZm9yIHN1cHBvcnRl ZCBTUUwgd2luZG93cw0KPiA+Pj4+PiAtIGFkZCBzdXBwb3J0IGZvciBGT0xMT1dJTkcNCj4gPj4+ Pj4gLSBldGMuDQo+ID4+Pj4+DQo+ID4+Pj4+IFJlZ2FyZGluZyB0aGUgcmVxdWlyZW1lbnQgZm9y IGEgc29ydGVkIHN0YXRlLiBJIGFtIG5vdCBzdXJlIGlmIA0KPiA+Pj4+PiB0aGUgT1ZFUiB3aW5k b3dzIHNob3VsZCBiZSBpbXBsZW1lbnRlZCB1c2luZyBGbGluaydzIERhdGFTdHJlYW0gDQo+ID4+ Pj4+IHdpbmRvdw0KPiA+Pj4+IGZyYW1ld29yay4NCj4gPj4+Pj4gV2UgbmVlZCBhIGdvb2QgZGVz aWduIGRvY3VtZW50IHRvIGZpZ3VyZSBvdXQgd2hhdCBpcyB0aGUgYmVzdCANCj4gPj4+Pj4gYXBw cm9hY2guIEEgUHJvY2Vzc0Z1bmN0aW9uIHdpdGggYSBzb3J0ZWQgc3RhdGUgbWlnaHQgYmUgYSBn b29kDQo+ID4+PiBzb2x1dGlvbg0KPiA+Pj4+IGFzIHdlbGwuDQo+ID4+Pj4+DQo+ID4+Pj4+IEJl c3QsIEZhYmlhbg0KPiA+Pj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+PiAyMDE3LTAxLTI0IDEwOjQxIEdN VCswMTowMCBSYWR1IFR1ZG9yYW4gPHJhZHUudHVkb3JhbkBodWF3ZWkuY29tPjoNCj4gPj4+Pj4N Cj4gPj4+Pj4+IEhpIGFsbCwNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGFua3MgZm9yIHN0YXJ0aW5n IHRoZXNlIGRpc2N1c3Npb24gLSBpdCBpcyB2ZXJ5IHVzZWZ1bC4NCj4gPj4+Pj4+IEl0IGRvZXMg bWFrZSBzZW5zZSBpbmRlZWQgdG8gcmVmYWN0b3IgYWxsIHRoZXNlIGFuZCBjb29yZGluYXRlIA0K PiA+Pj4+Pj4gYQ0KPiA+PiBiaXQNCj4gPj4+Pj4+IHRoZSBlZmZvcnRzIG5vdCB0byBoYXZlIG92 ZXJsYXBwaW5nIGltcGxlbWVudGF0aW9ucyBhbmQNCj4gPj4gaW5jb21wYXRpYmxlDQo+ID4+Pj4+ IHNvbHV0aW9ucy4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBJZiB5b3UgY2xvc2UgdGhlIDMgamlyYSBp c3N1ZXMgeW91IG1lbnRpb25lZCAtIGRvIHlvdSBwbGFuIHRvIA0KPiA+Pj4+Pj4gcmVkZXNpZ24g dGhlbSBhbmQgb3BlbiBuZXcgb25lcz8gRG8geW91IG5lZWQgaGVscCBmcm9tIG91ciBzaWRlIA0K PiA+Pj4+Pj4gLQ0KPiA+PiB3ZQ0KPiA+Pj4+Pj4gY2FuIGFsc28gcGljayB0aGUgcmVkZXNpZ24g b2Ygc29tZSBvZiB0aGVzZSBuZXcgamlyYSBpc3N1ZXMuIA0KPiA+Pj4+Pj4gRm9yIGV4YW1wbGUg d2UgYWxyZWFkeQ0KPiA+Pj4+PiBoYXZlDQo+ID4+Pj4+PiBhbiBpbXBsZW1lbnRhdGlvbiBmb3Ig dGhpcyBhbmQgd2UgY2FuIGhlbHAgd2l0aCB0aGUgZGVzaWduLg0KPiA+Pj4+Pj4gTmV2ZXJ0aGVs ZXNzLCBsZXQncyBjb29yZGluYXRlIHRoZSBlZmZvcnQuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gUmVn YXJkaW5nIHRoZSBzdXBwb3J0IGZvciB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIHdpbmRvdyAtIEkg DQo+ID4+Pj4+PiB0aGluayB0aGUNCj4gPj4+Pj4gYmVzdA0KPiA+Pj4+Pj4gb3B0aW9uIGlzIHRv IHNwbGl0IHRoZSBpbXBsZW1lbnRhdGlvbiBpbiBzbWFsbCB1bml0cy4gV2UgY2FuIA0KPiA+Pj4+ Pj4gZWFzaWx5IGRvDQo+ID4+Pj4+IHRoaXMNCj4gPj4+Pj4+IGZyb20gdGhlIHRyYW5zZm9ybWF0 aW9uIHJ1bGUgY2xhc3MgYW5kIHdpdGggdGhpcyBlYWNoIA0KPiA+Pj4+Pj4gcGFydGljdWxhciB0 eXBlIG9mIHdpbmRvdyAoc2Vzc2lvbi9zbGlkaW5nL3NsaWRlcm93cy9wcm9jZXNzaW5nIA0KPiA+ Pj4+Pj4gdGltZS8uLi4pDQo+ID4+IHdpbGwNCj4gPj4+Pj4+IGhhdmUgYSBjbGVhciBpbXBsZW1l bnRhdGlvbiBhbmQgYSBjb3JyZXNwb25kaW5nIGFyY2hpdGVjdHVyZSANCj4gPj4+Pj4+IHdpdGhp bg0KPiA+Pj4+IHRoZSBqaXJhIGlzc3VlPw0KPiA+Pj4+PiBXaGF0DQo+ID4+Pj4+PiBkbyB5b3Ug dGhpbmsgYWJvdXQgc3VjaCBhIGdyYW51bGFyaXR5Pw0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IFJlZ2Fy ZGluZyB0aGUgaXNzdWUgb2YgIiBRNDogVGhlIGltcGxlbWVudGFpb24gb2YgU2xpZGVSb3dzIA0K PiA+Pj4+Pj4gc3RpbGwgbmVlZCBhIGN1c3RvbSBvcGVyYXRvciB0aGF0IGNvbGxlY3RzIHJlY29y ZHMgaW4gYSANCj4gPj4+Pj4+IHByaW9yaXR5IHF1ZXVlIG9yZGVyZWQgYnkgdGhlICJyb3d0aW1l Iiwgd2hpY2ggaXMgc2ltaWxhciB0byANCj4gPj4+Pj4+IHRoZSBkZXNpZ24gd2UgZGlzY3Vzc2Vk IGluIEZMSU5LLTQ2OTcsIHJpZ2h0PyAiDQo+ID4+Pj4+PiBXaHkgd291bGQgeW91IG5lZWQgdGhp cyBvcGVyYXRvcj8gVGhlIHdpbmRvdyBidWZmZXIgY2FuIGFjdCB0byANCj4gPj4+Pj4+IHNvbWUN Cj4gPj4+Pj4gZXh0ZW50DQo+ID4+Pj4+PiBhcyBhIHByaW9yaXR5IHF1ZXVlIGFzIGxvbmcgYXMg dGhlIHRyaWdnZXIgYW5kIGV2aWN0b3IgaXMgc2V0IA0KPiA+Pj4+Pj4gdG8gd29yaw0KPiA+Pj4+ PiBiYXNlZA0KPiA+Pj4+Pj4gb24gdGhlIHJvd3RpbWUgLSBvciBtYXliZSBJIGFtIG1pc3Npbmcg c29tZXRoaW5nLi4uIENhbiB5b3UgDQo+ID4+Pj4+PiBwbGVhc2UNCj4gPj4+Pj4gY2xhcmlmeQ0K PiA+Pj4+Pj4gdGhpcy4NCj4gPj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gRHIuIFJhZHUgVHVk b3Jhbg0KPiA+Pj4+Pj4gU2VuaW9yIFJlc2VhcmNoIEVuZ2luZWVyIC0gQmlnIERhdGEgRXhwZXJ0 IElUIFImRCBEaXZpc2lvbg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBIVUFXRUkgVEVD SE5PTE9HSUVTIER1ZXNzZWxkb3JmIEdtYkggRXVyb3BlYW4gUmVzZWFyY2ggQ2VudGVyIA0KPiA+ Pj4+Pj4gUmllc3N0cmFzc2UgMjUsIDgwOTkyIE3DvG5jaGVuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4g RS1tYWlsOiByYWR1LnR1ZG9yYW5AaHVhd2VpLmNvbQ0KPiA+Pj4+Pj4gTW9iaWxlOiArNDkgMTUy MDkwODQzMzANCj4gPj4+Pj4+IFRlbGVwaG9uZTogKzQ5IDg5MTU4ODM0NDE3Mw0KPiA+Pj4+Pj4N Cj4gPj4+Pj4+IEhVQVdFSSBURUNITk9MT0dJRVMgRHVlc3NlbGRvcmYgR21iSCBIYW5zYWFsbGVl IDIwNSwgNDA1NDkgDQo+ID4+Pj4+PiBEw7xzc2VsZG9yZiwgR2VybWFueSwgd3d3Lmh1YXdlaS5j b20gUmVnaXN0ZXJlZCBPZmZpY2U6IA0KPiA+Pj4+Pj4gRMO8c3NlbGRvcmYsIFJlZ2lzdGVyIENv dXJ0IETDvHNzZWxkb3JmLCBIUkINCj4gPj4gNTYwNjMsDQo+ID4+Pj4+PiBNYW5hZ2luZyBEaXJl Y3RvcjogQm8gUEVORywgV2FuemhvdSBNRU5HLCBMaWZhbmcgQ0hFTiBTaXR6IGRlciANCj4gPj4+ Pj4+IEdlc2VsbHNjaGFmdDogRMO8c3NlbGRvcmYsIEFtdHNnZXJpY2h0IETDvHNzZWxkb3JmLCBI UkINCj4gPj4gNTYwNjMsDQo+ID4+Pj4+PiBHZXNjaMOkZnRzZsO8aHJlcjogQm8gUEVORywgV2Fu emhvdSBNRU5HLCBMaWZhbmcgQ0hFTiBUaGlzIGUtbWFpbCANCj4gPj4+Pj4+IGFuZCBpdHMgYXR0 YWNobWVudHMgY29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24NCj4gPj4gZnJvbQ0KPiA+ Pj4+Pj4gSFVBV0VJLCB3aGljaCBpcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVu dGl0eSB3aG9zZQ0KPiA+PiBhZGRyZXNzDQo+ID4+Pj4gaXMNCj4gPj4+Pj4+IGxpc3RlZCBhYm92 ZS4gQW55IHVzZSBvZiB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBpbiANCj4gPj4+ Pj4+IGFueQ0KPiA+PiB3YXkNCj4gPj4+Pj4+IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0 bywgdG90YWwgb3IgcGFydGlhbCBkaXNjbG9zdXJlLA0KPiA+Pj4+PiByZXByb2R1Y3Rpb24sDQo+ ID4+Pj4+PiBvciBkaXNzZW1pbmF0aW9uKSBieSBwZXJzb25zIG90aGVyIHRoYW4gdGhlIGludGVu ZGVkIA0KPiA+Pj4+Pj4gcmVjaXBpZW50KHMpDQo+ID4+IGlzDQo+ID4+Pj4+PiBwcm9oaWJpdGVk LiBJZiB5b3UgcmVjZWl2ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSANCj4g Pj4+Pj4+IHRoZQ0KPiA+Pj4+IHNlbmRlcg0KPiA+Pj4+Pj4gYnkgcGhvbmUgb3IgZW1haWwgaW1t ZWRpYXRlbHkgYW5kIGRlbGV0ZSBpdCENCj4gPj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+Pj4+IEZyb206IEphcmsgV3UgW21haWx0bzp3 dWNob25nLndjQGFsaWJhYmEtaW5jLmNvbV0NCj4gPj4+Pj4+IFNlbnQ6IFR1ZXNkYXksIEphbnVh cnkgMjQsIDIwMTcgNjo1MyBBTQ0KPiA+Pj4+Pj4gVG86IGRldkBmbGluay5hcGFjaGUub3JnDQo+ ID4+Pj4+PiBTdWJqZWN0OiBSZTogW0RJU0NVU1NdIERldmVsb3BtZW50IG9mIFNRTCBPVkVSIC8g VGFibGUgQVBJIFJvdw0KPiA+Pj4gV2luZG93cw0KPiA+Pj4+PiBmb3INCj4gPj4+Pj4+IHN0cmVh bWluZyB0YWJsZXMNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBIaSBGYWJpYW4sDQo+ID4+Pj4+Pg0KPiA+ Pj4+Pj4gVGhhbmtzIGZvciBicmluZ2luZyB1cCB0aGlzIGRpc2N1c3Npb24gYW5kIHRoZSBuaWNl IGFwcHJvYWNoIHRvDQo+ID4+IGF2b2lkDQo+ID4+Pj4+PiBvdmVybGFwcGluZyBjb250cmlidXRp b25zLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEFsbCBvZiB0aGVzZSBtYWtlIHNlbnNlIHRvIG1lLiBC dXQgSSBoYXZlIHNvbWUgcXVlc3Rpb25zLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IFExOiBJZiBJIHVu ZGVyc3RhbmQgY29ycmVjdGx5LCB3ZSB3aWxsIG5vdCBzdXBwb3J0IFR1bWJsZVJvd3MgDQo+ID4+ Pj4+PiBhbmQgU2Vzc2lvblJvd3MgYXQgdGhlIGJlZ2lubmluZy4gQnV0IG1heWJlIHN1cHBvcnQg dGhlbSBhcyBhIA0KPiA+Pj4+Pj4gc3ludGF4DQo+ID4+PiBzdWdhcg0KPiA+Pj4+PiAoaW4NCj4g Pj4+Pj4+IFRhYmxlIEFQSSkgd2hlbiB0aGUgU2xpZGVSb3dzIGlzIHN1cHBvcnRlZCBpbiB0aGUg ZnV0dXJlLiBSaWdodCA/DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gUTI6IEhvdyB0byBzdXBwb3J0IFNl c3Npb25Sb3dzIGJhc2VkIG9uIFNsaWRlUm93cyA/ICBJIGRvbid0IA0KPiA+Pj4+Pj4gZ2V0DQo+ ID4+IGhvdw0KPiA+Pj4gdG8NCj4gPj4+Pj4+IHBhcnRpdGlvbiBvbiAiZ2FwLXNlcGFyYXRlZCIu DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gUTM6IFNob3VsZCB3ZSBicmVhayBkb3duIHRoZSBhcHByb2Fj aCBpbnRvIHNtYWxsZXIgdGFza3MgZm9yDQo+ID4+PiBzdHJlYW1pbmcNCj4gPj4+Pj4+IHRhYmxl cyBhbmQgYmF0Y2ggdGFibGVzID8NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBRNDogVGhlIGltcGxlbWVu dGFpb24gb2YgU2xpZGVSb3dzIHN0aWxsIG5lZWQgYSBjdXN0b20gb3BlcmF0b3INCj4gPj4gdGhh dA0KPiA+Pj4+Pj4gY29sbGVjdHMgcmVjb3JkcyBpbiBhIHByaW9yaXR5IHF1ZXVlIG9yZGVyZWQg YnkgdGhlICJyb3d0aW1lIiwNCj4gPj4gd2hpY2gNCj4gPj4+IGlzDQo+ID4+Pj4+PiBzaW1pbGFy IHRvIHRoZSBkZXNpZ24gd2UgZGlzY3Vzc2VkIGluIEZMSU5LLTQ2OTcsIHJpZ2h0Pw0KPiA+Pj4+ Pj4NCj4gPj4+Pj4+ICsxIG5vdCBzdXBwb3J0IGZvciBPVkVSIFJPVyBmb3IgZXZlbnQgdGltZSBh dCB0aGlzIHBvaW50Lg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IFJlZ2FyZHMsIEphcmsNCj4gPj4+Pj4+ DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4+IOWcqCAyMDE35bm0MeaciDI05pel77yM5LiK5Y2IMTA6Mjjv vIxIb25neXVob25nIDxob25neXVob25nQGh1YXdlaS5jb20+IOWGmemBk++8mg0KPiA+Pj4+Pj4+ DQo+ID4+Pj4+Pj4gSGksDQo+ID4+Pj4+Pj4gV2UgYXJlIGFsc28gaW50ZXJlc3RlZCBpbiBzdHJl YW1pbmcgc3FsIGFuZCB2ZXJ5IHdpbGxpbmcgdG8NCj4gPj4+PiBwYXJ0aWNpcGF0ZQ0KPiA+Pj4+ Pj4gYW5kIGNvbnRyaWJ1dGUuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBXZSBhcmUgbm93IGluIHBy b2dyZXNzIGFuZCB3ZSB3aWxsIGFsc28gY29udHJpYnV0ZSB0byBjYWxjaXRlIA0KPiA+Pj4+Pj4+ IHRvDQo+ID4+PiBwdXNoDQo+ID4+Pj4+PiBmb3J3YXJkIHRoZSB3aW5kb3cgYW5kIHN0cmVhbS1q b2luIHN1cHBvcnQuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4g LS0tLS0tLS0tLS0tLS0NCj4gPj4+Pj4+PiBTZW5kZXI6IEZhYmlhbiBIdWVza2UgW21haWx0bzpm aHVlc2tlQGdtYWlsLmNvbV0gU2VuZCBUaW1lOg0KPiA+Pj4+IDIwMTflubQx5pyIMjTml6UNCj4g Pj4+Pj4+PiA1OjU1DQo+ID4+Pj4+Pj4gUmVjZWl2ZXI6IGRldkBmbGluay5hcGFjaGUub3JnDQo+ ID4+Pj4+Pj4gVGhlbWU6IFJlOiBbRElTQ1VTU10gRGV2ZWxvcG1lbnQgb2YgU1FMIE9WRVIgLyBU YWJsZSBBUEkgUm93DQo+ID4+PiBXaW5kb3dzDQo+ID4+Pj4+Pj4gZm9yIHN0cmVhbWluZyB0YWJs ZXMNCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IEhpIEhhb2h1aSwNCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+ IG91ciBwbGFuIHdhcyBpbiBmYWN0IHRvIHBpZ2d5LWJhY2sgb24gQ2FsY2l0ZSBhbmQgdXNlIHRo ZSANCj4gPj4+Pj4+PiBUVU1CTEUNCj4gPj4+Pj4+IGZ1bmN0aW9uIFsxXSBvbmNlIGlzIGl0IGlz IGF2YWlsYWJsZSAoQ0FMQ0lURS0xMzQ1IFsyXSkuDQo+ID4+Pj4+Pj4gVW5mb3J0dW5hdGVseSwg dGhpcyBpc3N1ZSBkb2VzIG5vdCBzZWVtIHRvIGJlIHZlcnkgYWN0aXZlLCBzbyANCj4gPj4+Pj4+ PiBJDQo+ID4+PiBkb24ndA0KPiA+Pj4+Pj4ga25vdyB3aGF0IHRoZSBwcm9ncmVzcyBpcy4NCj4g Pj4+Pj4+Pg0KPiA+Pj4+Pj4+IEkgd291bGQgc3VnZ2VzdCB0byBtb3ZlIHRoZSBkaXNjdXNzaW9u IGFib3V0IGdyb3VwIHdpbmRvd3MgdG8gDQo+ID4+Pj4+Pj4gYQ0KPiA+Pj4+PiBzZXBhcmF0ZQ0K PiA+Pj4+Pj4gdGhyZWFkIGFuZCBrZWVwIHRoaXMgb25lIGZvY3VzZWQgb24gdGhlIG9yZ2FuaXph dGlvbiBvZiB0aGUgU1FMDQo+ID4+IE9WRVINCj4gPj4+Pj4+IHdpbmRvd3MuDQo+ID4+Pj4+Pj4N Cj4gPj4+Pj4+PiBCZXN0LA0KPiA+Pj4+Pj4+IEZhYmlhbg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4g WzFdIGh0dHA6Ly9jYWxjaXRlLmFwYWNoZS5vcmcvZG9jcy9zdHJlYW0uaHRtbCkNCj4gPj4+Pj4+ PiBbMl0gaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jyb3dzZS9DQUxDSVRFLTEzNDUN Cj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IDIwMTctMDEtMjMgMjI6NDIgR01UKzAxOjAwIEhhb2h1aSBN YWkgPHJpY2V0b25zQGdtYWlsLmNvbT46DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gSGkgRmFiaWFu LA0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBGTElOSy00NjkyIGhhcyBhZGRlZCB0aGUgc3VwcG9y dCBmb3IgdHVtYmxpbmcgd2luZG93IGFuZCB3ZSANCj4gPj4+Pj4+Pj4gYXJlIGV4Y2l0ZWQgdG8g dHJ5IGl0IG91dCBhbmQgZXhwb3NlIGl0IGFzIGEgU1FMIGNvbnN0cnVjdC4NCj4gPj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4gSnVzdCBjdXJpb3VzIC0tIHdoYXQncyB5b3VyIHRob3VnaHQgb24gdGhlIFNR TCBzeW50YXggb24NCj4gPj4gdHVtYmxpbmcNCj4gPj4+Pj4+IHdpbmRvdz8NCj4gPj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4gSW1wbGVtZW50YXRpb24gd2lzZSBpdCBtaWdodCBtYWtlIHNlbnNlIHRvIHRo aW5rIHR1bWJsaW5nIA0KPiA+Pj4+Pj4+PiB3aW5kb3cNCj4gPj4+IGFzDQo+ID4+Pj4gYQ0KPiA+ Pj4+Pj4+PiBzcGVjaWFsIGNhc2Ugb2YgdGhlIHNsaWRpbmcgd2luZG93Lg0KPiA+Pj4+Pj4+Pg0K PiA+Pj4+Pj4+PiBUaGUgcHJvYmxlbSBJIHNlZSBpcyB0aGF0IHRoZSBPVkVSIGNvbnN0cnVjdCBt aWdodCBiZQ0KPiA+PiBpbnN1ZmZpY2llbnQNCj4gPj4+PiB0bw0KPiA+Pj4+Pj4+PiBzdXBwb3J0 IGFsbCB0aGUgdXNlIGNhc2VzIG9mIHR1bWJsaW5nIHdpbmRvd3MuIEZvciBleGFtcGxlLCANCj4g Pj4+Pj4+Pj4gaXQNCj4gPj4+IGZhaWxzDQo+ID4+Pj4+Pj4+IHRvIGV4cHJlc3MgdHVtYmxpbmcg d2luZG93cyB0aGF0IGhhdmUgZnJhY3Rpb25hbCB0aW1lIHVuaXRzIA0KPiA+Pj4+Pj4+PiAoYXMg cG9pbnRlZCBvdXQgaW4gaHR0cDovL2NhbGNpdGUuYXBhY2hlLm9yZy9kb2NzL3N0cmVhbS5odG1s KS4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gSXQgbG9va3MgdG8gbWUgdGhhdCB0aGUgQ2FsY2l0 ZSAvIEF6dXJlIFN0cmVhbSBBbmFseXRpY3MgaGF2ZSANCj4gPj4+Pj4+Pj4gaW50cm9kdWNlZCBh IG5ldyBjb25zdHJ1Y3QgKFRVTUJMRSAvIFRVTUJMSU5HV0lORE9XKSB0byANCj4gPj4+Pj4+Pj4g YWRkcmVzcw0KPiA+Pj4gdGhpcw0KPiA+Pj4+Pj4gaXNzdWUuDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+IERvIHlvdSB0aGluayBpdCBpcyBhIGdvb2QgaWRlYSB0byBmb2xsb3cgdGhlIHNhbWUgY29u dmVudGlvbnM/DQo+ID4+PiBZb3VyDQo+ID4+Pj4+Pj4+IGlkZWFzIGFyZSBhcHByZWNpYXRlZC4N Cj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gUmVnYXJkcywNCj4gPj4+Pj4+Pj4gSGFvaHVpDQo+ID4+ Pj4+Pj4+DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IE9uIE1vbiwgSmFuIDIzLCAyMDE3IGF0IDE6 MDIgUE0gSGFvaHVpIE1haSANCj4gPj4+Pj4+Pj4gPHJpY2V0b25zQGdtYWlsLmNvbT4NCj4gPj4+ Pj4gd3JvdGU6DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiArMQ0KPiA+Pj4+Pj4+Pj4NCj4gPj4+ Pj4+Pj4+IFdlIGFyZSBhbHNvIHF1aXRlIGludGVyZXN0ZWQgaW4gdGhlc2UgZmVhdHVyZXMgYW5k IHdvdWxkIA0KPiA+Pj4+Pj4+Pj4gbG92ZQ0KPiA+PiB0bw0KPiA+Pj4+Pj4+Pj4gcGFydGljaXBh dGUgYW5kIGNvbnRyaWJ1dGUuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gfkhhb2h1aQ0KPiA+ Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IE9uIE1vbiwgSmFuIDIzLCAyMDE3IGF0IDc6MzEgQU0gRmFi aWFuIEh1ZXNrZSA8DQo+ID4+IGZodWVza2VAZ21haWwuY29tDQo+ID4+Pj4NCj4gPj4+Pj4+IHdy b3RlOg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBIaSBldmVyeWJvZHksDQo+ID4+Pj4+Pj4+ Pj4NCj4gPj4+Pj4+Pj4+PiBpdCBzZWVtcyB0aGF0IGN1cnJlbnRseSBzZXZlcmFsIGNvbnRyaWJ1 dG9ycyBhcmUgd29ya2luZyBvbg0KPiA+PiBuZXcNCj4gPj4+Pj4+Pj4+PiBmZWF0dXJlcyBmb3Ig dGhlIHN0cmVhbWluZyBUYWJsZSBBUEkgLyBTUUwgYXJvdW5kIHJvdyANCj4gPj4+Pj4+Pj4+PiB3 aW5kb3dzDQo+ID4+PiAoYXMNCj4gPj4+Pj4+Pj4+PiBkZWZpbmVkIGluDQo+ID4+Pj4+Pj4+Pj4g RkxJUC0xMQ0KPiA+Pj4+Pj4+Pj4+IFsxXSkgYW5kIFNRTCBPVkVSLXN0eWxlIHdpbmRvdyAoRkxJ TkstNDY3OCwgRkxJTkstNDY3OSwNCj4gPj4+PiBGTElOSy00NjgwLA0KPiA+Pj4+Pj4+Pj4+IEZM SU5LLTU1ODQpLg0KPiA+Pj4+Pj4+Pj4+IFNpbmNlIHRoZXNlIGVmZm9ydHMgb3ZlcmxhcCBxdWl0 ZSBhIGJpdCBJIHNwZW50IHNvbWUgdGltZQ0KPiA+Pj4gdGhpbmtpbmcNCj4gPj4+Pj4+Pj4+PiBh Ym91dCBob3cgd2UgY2FuIGFwcHJvYWNoIHRoZXNlIGZlYXR1cmVzIGFuZCBob3cgdG8gYXZvaWQg DQo+ID4+Pj4+Pj4+Pj4gb3ZlcmxhcHBpbmcgY29udHJpYnV0aW9ucy4NCj4gPj4+Pj4+Pj4+Pg0K PiA+Pj4+Pj4+Pj4+IFRoZSBjaGFsbGVuZ2UgaGVyZSBpcyB0aGUgZm9sbG93aW5nLiBTb21lIG9m IHRoZSBUYWJsZSBBUEkgDQo+ID4+Pj4+Pj4+Pj4gcm93IHdpbmRvd3MNCj4gPj4+Pj4+Pj4gYXMN Cj4gPj4+Pj4+Pj4+PiBkZWZpbmVkIGJ5IEZMSVAtMTEgWzFdIGFyZSBiYXNpY2FsbHkgU1FMIE9W RVIgd2luZG93cyB3aGlsZQ0KPiA+Pj4gb3RoZXINCj4gPj4+Pj4+Pj4+PiBjYW5ub3QgYmUgZWFz aWx5IGV4cHJlc3NlZCBhcyBzdWNoIChUdW1ibGVSb3dzIGZvciANCj4gPj4+Pj4+Pj4+PiByb3ct Y291bnQgaW50ZXJ2YWxzLCBTZXNzaW9uUm93cykuDQo+ID4+Pj4+Pj4+Pj4gSG93ZXZlciwgc2lu Y2UgQ2FsY2l0ZSBhbHJlYWR5IHN1cHBvcnRzIFNRTCBPVkVSIHdpbmRvd3MsIA0KPiA+Pj4+Pj4+ Pj4+IHdlDQo+ID4+IGNhbg0KPiA+Pj4+Pj4+Pj4+IHJldXNlDQo+ID4+Pj4+Pj4+IHRoZQ0KPiA+ Pj4+Pj4+Pj4+IG9wdGltaXphdGlvbiBsb2dpYyBmb3Igc29tZSBvZiB0aGUgVGFibGUgQVBJIHJv dyB3aW5kb3dzLiBJDQo+ID4+IGFsc28NCj4gPj4+Pj4+Pj4+PiB0aG91Z2h0IGFib3V0IHRoZSBz ZW1hbnRpY3Mgb2YgdGhlIFR1bWJsZVJvd3MgYW5kIA0KPiA+Pj4+Pj4+Pj4+IFNlc3Npb25Sb3dz IHdpbmRvd3MgYXMgZGVmaW5lZCBpbg0KPiA+Pj4+Pj4+Pj4+IEZMSVAtMTEgYW5kIGNhbWUgdG8g dGhlIGNvbmNsdXNpb24gdGhhdCB0aGVzZSBhcmUgbm90IHdlbGwNCj4gPj4+IGRlZmluZWQNCj4g Pj4+Pj4+Pj4+PiBpbg0KPiA+Pj4+Pj4+Pj4+IEZMSVAtMTEgYW5kIHNob3VsZCByYXRoZXIgYmUg ZGVmaW5lZCBhcyBTbGlkZVJvd3Mgd2luZG93cw0KPiA+PiB3aXRoIGENCj4gPj4+Pj4+Pj4+PiBz cGVjaWFsIFBBUlRJVElPTiBCWSBjbGF1c2UuDQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBJ IHByb3Bvc2UgdG8gYXBwcm9hY2ggU1FMIE9WRVIgd2luZG93cyBhbmQgVGFibGUgQVBJIHJvdw0K PiA+PiB3aW5kb3dzDQo+ID4+Pj4gYXMNCj4gPj4+Pj4+Pj4+PiBmb2xsb3dzOg0KPiA+Pj4+Pj4+ Pj4+DQo+ID4+Pj4+Pj4+Pj4gV2Ugc3RhcnQgd2l0aCB0aHJlZSBzaW1wbGUgY2FzZXMgZm9yIFNR TCBPVkVSIHdpbmRvd3MgKG5vdA0KPiA+PiBUYWJsZQ0KPiA+Pj4+Pj4+Pj4+IEFQSQ0KPiA+Pj4+ Pj4+PiB5ZXQpOg0KPiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4gKiBPVkVSIFJBTkdFIGZvciBl dmVudCB0aW1lDQo+ID4+Pj4+Pj4+Pj4gKiBPVkVSIFJBTkdFIGZvciBwcm9jZXNzaW5nIHRpbWUN Cj4gPj4+Pj4+Pj4+PiAqIE9WRVIgUk9XIGZvciBwcm9jZXNzaW5nIHRpbWUNCj4gPj4+Pj4+Pj4+ Pg0KPiA+Pj4+Pj4+Pj4+IEFsbCBjYXNlcyBmdWxmaWxsIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rp b25zOg0KPiA+Pj4+Pj4+Pj4+IC0gQWxsIGFnZ3JlZ2F0aW9ucyBpbiBTRUxFQ1QgbXVzdCByZWZl ciB0byB0aGUgc2FtZSB3aW5kb3cuDQo+ID4+Pj4+Pj4+Pj4gLSBQQVJUSVRJT04gQlkgbWF5IG5v dCBjb250YWluIHRoZSByb3d0aW1lIGF0dHJpYnV0ZS4NCj4gPj4+Pj4+Pj4+PiAtIE9SREVSIEJZ IG11c3QgYmUgb24gcm93dGltZSBhdHRyaWJ1dGUgKGZvciBldmVudCB0aW1lKSBvcg0KPiA+PiBv biBhDQo+ID4+Pj4+Pj4+Pj4gbWFya2VyIGZ1bmN0aW9uIHRoYXQgaW5kaWNhdGVzIHByb2Nlc3Np bmcgdGltZS4gQWRkaXRpb25hbA0KPiA+PiBzb3J0DQo+ID4+Pj4+Pj4+Pj4gYXR0cmlidXRlcyBh cmUgbm90IHN1cHBvcnRlZCBpbml0aWFsbHkuDQo+ID4+Pj4+Pj4+Pj4gLSBvbmx5ICJCRVRXRUVO IFVOQk9VTkRFRCBQUkVDRURJTkcgQU5EIENVUlJFTlQgUk9XIiBhbmQNCj4gPj4+ICJCRVRXRUVO DQo+ID4+Pj4geA0KPiA+Pj4+Pj4+Pj4+IFBSRUNFRElORyBBTkQgQ1VSUkVOVCBST1ciIGFyZSBz dXBwb3J0ZWQuDQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBPVkVSIFJPVyBmb3IgZXZlbnQg dGltZSBjYW5ub3QgYmUgZWFzaWx5IHN1cHBvcnRlZC4gV2l0aCANCj4gPj4+Pj4+Pj4+PiBldmVu dCB0aW1lLCB3ZSBtYXkgaGF2ZSBsYXRlIHJlY29yZHMgd2hpY2ggbmVlZCB0byBiZSANCj4gPj4+ Pj4+Pj4+PiBpbmplY3RlZCBpbnRvDQo+ID4+PiB0aGUNCj4gPj4+Pj4+Pj4+PiBvcmRlciBvZiBy ZWNvcmRzLg0KPiA+Pj4+Pj4+Pj4+IFdoZW4NCj4gPj4+Pj4+Pj4+PiBhIHJlY29yZCBpbiBpbmpl Y3RlZCBpbiB0byB0aGUgb3JkZXIgd2hlcmUgYSByb3ctY291bnQgDQo+ID4+Pj4+Pj4+Pj4gd2lu ZG93DQo+ID4+PiBoYXMNCj4gPj4+Pj4+Pj4gYWxyZWFkeQ0KPiA+Pj4+Pj4+Pj4+IGJlZW4gY29t cHV0ZWQsIHRoaXMgYW5kIGFsbCBmb2xsb3dpbmcgd2luZG93cyB3aWxsIGNoYW5nZS4gDQo+ID4+ Pj4+Pj4+Pj4gV2UNCj4gPj4+PiBjb3VsZA0KPiA+Pj4+Pj4+PiBlaXRoZXINCj4gPj4+Pj4+Pj4+ PiBkcm9wIHRoZSByZWNvcmQgb3Igc2VudCBvdXQgbWFueSByZXRyYWN0aW9uIHJlY29yZHMuIEkg DQo+ID4+Pj4+Pj4+Pj4gdGhpbmsNCj4gPj4gaXQNCj4gPj4+IGlzDQo+ID4+Pj4+Pj4+Pj4gYmVz dA0KPiA+Pj4+Pj4+PiB0bw0KPiA+Pj4+Pj4+Pj4+IG5vdCBvcGVuIHRoaXMgY2FuIG9mIHdvcm1z IGF0IHRoaXMgcG9pbnQuDQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBUaGUgcmF0aW9uYWwg Zm9yIGFsbCBvZiB0aGUgYWJvdmUgcmVzdHJpY3Rpb25zIGlzIHRvIGhhdmUNCj4gPj4gZmlyc3QN Cj4gPj4+Pj4+Pj4+PiB2ZXJzaW9ucyBvZiBPVkVSIHdpbmRvd3Mgc29vbi4NCj4gPj4+Pj4+Pj4+ PiBPbmNlIHdlIGhhdmUgdGhlIGFib3ZlIGNhc2VzIGNvdmVyZWQgd2UgY2FuIGV4dGVuZCBhbmQg DQo+ID4+Pj4+Pj4+Pj4gcmVtb3ZlDQo+ID4+Pj4+Pj4+IGxpbWl0YXRpb25zDQo+ID4+Pj4+Pj4+ Pj4gYXMgZm9sbG93czoNCj4gPj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IC0gVGFibGUgQVBJIFNs aWRlUm93IHdpbmRvd3MgKHdpdGggdGhlIHNhbWUgcmVzdHJpY3Rpb25zIGFzDQo+ID4+Pj4gYWJv dmUpLg0KPiA+Pj4+Pj4+Pj4+IFRoaXMgd2lsbCBiZSBtb3N0bHkgQVBJIHdvcmsgc2luY2UgdGhl IGV4ZWN1dGlvbiBwYXJ0IGhhcyANCj4gPj4+Pj4+Pj4+PiBiZWVuDQo+ID4+Pj4+IHNvbHZlZA0K PiA+Pj4+Pj4gYmVmb3JlLg0KPiA+Pj4+Pj4+Pj4+IC0gQWRkIHN1cHBvcnQgZm9yIEZPTExPV0lO RyAoZXhjZXB0IFVOQk9VTkRFRCBGT0xMT1dJTkcpDQo+ID4+Pj4+Pj4+Pj4gLSBBZGQgc3VwcG9y dCBmb3IgZGlmZmVyZW50IHdpbmRvd3MgaW4gU0VMRUNULiBBbGwgd2luZG93cw0KPiA+PiBtdXN0 DQo+ID4+PiBiZQ0KPiA+Pj4+Pj4+Pj4+IHBhcnRpdGlvbmVkIGFuZCBvcmRlcmVkIGluIHRoZSBz YW1lIHdheS4NCj4gPj4+Pj4+Pj4+PiAtIEFkZCBzdXBwb3J0IGZvciBhZGRpdGlvbmFsIE9SREVS IEJZIGF0dHJpYnV0ZXMgKGJlc2lkZXMNCj4gPj4gdGltZSkuDQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+ Pj4+Pj4+PiBBcyBJIHNhaWQgYmVmb3JlLCBUdW1ibGVSb3dzIGFuZCBTZXNzaW9uUm93cyB3aW5k b3dzIGFzIGluDQo+ID4+PiBGTElQLTExDQo+ID4+Pj4+Pj4+Pj4gYXJlDQo+ID4+Pj4+Pj4+IG5v dA0KPiA+Pj4+Pj4+Pj4+IHdlbGwgZGVmaW5lZCwgSU1PLg0KPiA+Pj4+Pj4+Pj4+IFRoZXkgY2Fu IGJlIGV4cHJlc3NlZCBhcyBTbGlkZVJvd3Mgd2luZG93cyB3aXRoIHNwZWNpYWwgDQo+ID4+Pj4+ Pj4+Pj4gcGFydGl0aW9uaW5nIChwYXJ0aXRpb25pbmcgb24gZml4ZWQsIG5vbi1vdmVybGFwcGlu ZyB0aW1lDQo+ID4+IHJhbmdlcw0KPiA+Pj4+Pj4+Pj4+IGZvciBUdW1ibGVSb3dzLCBhbmQgZ2Fw LXNlcGFyYXRlZCwgbm9uLW92ZXJsYXBwaW5nIHRpbWUgDQo+ID4+Pj4+Pj4+Pj4gcmFuZ2VzDQo+ ID4+PiBmb3INCj4gPj4+Pj4+Pj4+PiBTZXNzaW9uUm93cykgSSB3b3VsZCBub3Qgc3RhcnQgdG8g d29yayBvbiB0aG9zZSB5ZXQuDQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBJIHdvdWxkIGxp a2UgdG8gY2xvc2UgYWxsIHJlbGF0ZWQgSklSQSBpc3N1ZXMgKEZMSU5LLTQ2NzgsIA0KPiA+Pj4+ Pj4+Pj4+IEZMSU5LLTQ2NzksIEZMSU5LLTQ2ODAsIEZMSU5LLTU1ODQpIGFuZCByZXN0cnVjdHVy ZSB0aGUNCj4gPj4+PiBkZXZlbG9wbWVudA0KPiA+Pj4+Pj4+Pj4+IG9mIHRoZXNlDQo+ID4+Pj4+ Pj4+IGZlYXR1cmVzDQo+ID4+Pj4+Pj4+Pj4gYXMgb3V0bGluZWQgYWJvdmUgd2l0aCBjb3JyZXNw b25kaW5nIEpJUkEgaXNzdWVzLg0KPiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4gV2hhdCBkbyBv dGhlcnMgdGhpbms/IChJIGNjJ2VkIHRoZSBjb250cmlidXRvcnMgYXNzaWduZWQgdG8NCj4gPj4g dGhlDQo+ID4+Pj4+Pj4+Pj4gYWJvdmUNCj4gPj4+Pj4+Pj4gSklSQQ0KPiA+Pj4+Pj4+Pj4+IGlz c3VlcykNCj4gPj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IEJlc3QsIEZhYmlhbg0KPiA+Pj4+Pj4+ Pj4+DQo+ID4+Pj4+Pj4+Pj4gWzFdDQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBodHRwczov L2N3aWtpLmFwYWNoZS5vcmcvY29uZmx1ZW5jZS9kaXNwbGF5L0ZMSU5LL0ZMSVAtDQo+ID4+Pj4+ Pj4+IDExJTNBK1RhYmxlK0FQSStTdHJlYW0rQWdncmVnYXRpb25zDQo+ID4+Pj4+Pj4+Pj4NCj4g Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4NCj4gPj4+ Pg0KPiA+Pj4NCj4gPj4NCj4NCj4NCg==