Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:63461 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 49264 invoked from network); 16 Oct 2012 12:11:18 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 Oct 2012 12:11:18 -0000 Authentication-Results: pb1.pair.com smtp.mail=cpriest@zerocue.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=cpriest@zerocue.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zerocue.com designates 74.115.204.80 as permitted sender) X-PHP-List-Original-Sender: cpriest@zerocue.com X-Host-Fingerprint: 74.115.204.80 relay-hub206.domainlocalhost.com Received: from [74.115.204.80] ([74.115.204.80:2787] helo=relay-hub206.domainlocalhost.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C1/CE-10021-5EE4D705 for ; Tue, 16 Oct 2012 08:11:17 -0400 Received: from MBX202.domain.local ([169.254.169.44]) by HUB206.domain.local ([192.168.68.50]) with mapi id 14.02.0283.003; Tue, 16 Oct 2012 08:10:20 -0400 To: Jazzer Dane CC: Stas Malyshev , "internals@lists.php.net" Thread-Topic: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 Thread-Index: Ac2oOZ3+vAOzWRcnRpOb6a/hOVK5+ADZjV8AAAUXXnAAAD/RgAAH9CHg Date: Tue, 16 Oct 2012 12:10:20 +0000 Message-ID: <9570D903A3BECE4092E924C2985CE485612B6E43@MBX202.domain.local> References: <9570D903A3BECE4092E924C2985CE485612B53E4@MBX202.domain.local> <507D24E0.9070203@sugarcrm.com> <9570D903A3BECE4092E924C2985CE485612B6DC9@MBX202.domain.local> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.168.64.21] Content-Type: multipart/alternative; boundary="_000_9570D903A3BECE4092E924C2985CE485612B6E43MBX202domainloc_" MIME-Version: 1.0 Subject: RE: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 From: cpriest@zerocue.com (Clint Priest) --_000_9570D903A3BECE4092E924C2985CE485612B6E43MBX202domainloc_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhpcyB3b3VsZCBjb25mbGljdCB3aXRoIHRoZSBjb25jZXB0IG9mIGF1dG8taW1wbGVtZW50YXRp b24sIHdoaWNoIGlmIHdlIHdlbnQgd2l0aCBOaWtpdGHigJlzIHN1Z2dlc3Rpb24sIHdvdWxkIG1h a2UgYW4gdW5kZWZpbmVkIGJvZHkgc2V0dGVyIGFjdHVhbGx5IHNldCB0aGUgcHJvcGVydHkgaXQg c2hhZG93cy4NCg0KRm9yIGV4YW1wbGUNCg0KY2xhc3MgYSB7DQogICAgICAgICAgICAgICAgcHVi bGljICRwcm9wIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0KCkgeyDigKYg fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5hbCBzZXQoJHgpOw0KICAgICAg ICAgICAgICAgIH0NCn0NCg0KV291bGQgaGF2ZSBmaW5hbCBzZXQoKSB0cmFuc2xhdGUgdG8gZmlu YWwgc2V0KCR4KSB7ICR0aGlzLT5wcm9wID0gJHg7IH0NCg0KV2UgKmNvdWxkKiBoYXZlIGl0IGJl IHRoYXQgZmluYWwgc2V0OyBvciBmaW5hbCBzZXQoKTsgPC0tIFdpdGhvdXQgdGhlICgpIG9yIHdp dGhvdXQgdGhlICgkeCkgc3BlY2lmaWNhbGx5IG1lYW4gdGhhdCBpdCBpcyByZWFkLW9ubHkgYnV0 IHRoZSBjbGFyaXR5IGdvZXMgV0FZIGRvd24uICBJdCBpcyBub3QgYXQgYWxsIGludHVpdGl2ZSB0 aGF0IGFueSBvZiB0aG9zZSB0aGluZ3MgbWVhbnMg4oCYcmVhZC1vbmx54oCZDQoNCldoeSBpcyBl dmVyeW9uZSBzbyBhZ2FpbnN0IHRoZSB0d28gbmV3IGtleXdvcmRzPyAgSeKAmW0gdG9sZCB0aGVy ZSBoYXMgYmVlbiB0YWxrIGxvbmcgYWdvIGFib3V0IGhhdmluZyB0aGVtIGFzIGtleXdvcmRzIGFu eXdheS4gIElzIGl0IHRoZSBkYXNoPw0KDQpJcyB0aGlzIG1vcmUgcGFsYXRhYmxlPw0KDQpwdWJs aWMgcmVhZG9ubHkgJHByb3Agew0KICAgICAgICAgICAgICAgIGdldCgpIHsgfQ0KfQ0KDQpPcg0K DQpwdWJsaWMgcmVhZF9vbmx5ICRwcm9wIHsg4oCmIH0NCg0KU3BlY2lmaWNhbGx5LCByZWFkLW9u bHkgYWN0dWFsbHkgaGFzIHRoZSBhZHZhbnRhZ2UgdGhhdCBvbmUgb2YgdGhlIGZldyB3YXlzIHRo YXQgaXQgd291bGQgYnJlYWsgQkMgaXMgaWYgc29tZW9uZSBoYWQgZGVmaW5lZCBhIHZhcmlhYmxl IG5hbWVkICRyZWFkIGFuZCBhdHRlbXB0ZWQgdG8gc3VidHJhY3QgYSBjb25zdGFudCBvciBzdHJp bmcgb2Yg4oCYb25seeKAmSBmcm9tIGl0Lg0KDQokcmVhZCA9IDU7DQplY2hvICRyZWFkLW9ubHk7 ICAgICAgICAgICAgIC8vIFlpZWxkcyA1DQoNCndpdGggZGVmaW5lKOKAmG9ubHnigJksIDIpOw0K DQplY2hvICRyZWFkLW9ubHk7ICAgICAgICAgICAgIC8vIEJlY29tZXMgMw0KDQpJIGZpbmQgaXQg aGlnaGx5IHVubGlrZWx5IHRoYXQgc29tZW9uZSB3b3VsZCBoYXZlIGJlZW4gdXNpbmcgJHJlYWQt b25seSBvciAkd3JpdGUtb25seSBzaW5jZSB2YXJpYWJsZXMgY2Fubm90IGhhdmUgZGFzaGVzIGlu IHRoZW0sIGhlIGludGVycHJldGVyIHNlZXMgdGhhdCBhcyBhIHN1YnRyYWN0aW9uIGFuZCBhcyBz aG93biBhYm92ZSBpdCB3b3VsZCBiZSBub25zZW5zaWNhbCB0byBoYXZlIHdyaXR0ZW4gUEhQIGxp a2UgdGhhdC4NCg0KDQpGcm9tOiBKYXp6ZXIgRGFuZSBbbWFpbHRvOnRicHJvZ3JhbW1lckBnbWFp bC5jb21dDQpTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDE2LCAyMDEyIDY6NDUgQU0NClRvOiBDbGlu dCBQcmllc3QNCkNjOiBTdGFzIE1hbHlzaGV2OyBpbnRlcm5hbHNAbGlzdHMucGhwLm5ldA0KU3Vi amVjdDogUmU6IFtQSFAtREVWXSBbUEhQLURFViBbUkZDXSBQcm9wZXJ0eSBBY2Nlc3NvcnMgdjEu Mg0KDQpwcml2YXRlIGZpbmFsIGdldC9zZXQoKSB7fSBpcyBpbmRlZWQgbm90IGEgcmVhZC93cml0 ZSBvbmx5IGZ1bmN0aW9uYWxpdHkuIEkgcmVhbGx5IHdvdWxkIGxpa2UgdG8ga2VlcCBuZXcga2V5 d29yZHMgb3V0IG9mIHdoYXRldmVyIHN5bnRheCBpcyBpbXBsZW1lbnRlZCwgYnV0IEkgdGhpbmsg dGhlIGxhdGVzdCBwcm9wb3NhbCBjYW4gYW5kIHNob3VsZCBiZSBpbXByb3ZlZCB1cG9uLg0KDQpJ J3ZlIGJlZW4gdGhpbmtpbmcgYWJvdXQgdGhpcyBxdWl0ZSBhIGJpdC4NClRvIHJlaXRlcmF0ZSB0 aGUgaW5pdGlhbCBwcm9ibGVtLCBhbHRob3VnaCB3ZSBjYW4gZGlzYWJsZSBnZXQvc2V0IGJ5IG5v dCBpbmNsdWRpbmcgaXQgaW4gdGhlIGFjY2Vzc29yLCB0aGUgcmVhc29uIHdlIG5lZWQgcmVhZC93 cml0ZSBvbmx5IGlzLCB3aXRob3V0IGl0LCB0aGVyZSBpcyBubyB3YXkgdG8gbm90IGFsbG93IHN1 YmNsYXNzZXMgdG8gYWRkIHNldC9nZXQgdG8gdGhlaXIgcGFyZW50J3MgYWNjZXNzb3IuDQoNCkdv aW5nIHdpdGggdGhlIGlkZWEgdGhhdCBub3QgaW5jbHVkaW5nIGdldC9zZXQgZGlzYWJsZXMgdGhl bSwgd2hhdCBhYm91dCB0aGlzIHN5bnRheDoNCmNsYXNzIE15T2JqZWN0DQp7DQogIHB1YmxpYyAk cHJvcGVydHkgew0KICAgIGdldCgpIHsgLi4uIH0NCiAgICBmaW5hbCBzZXQ7IC8vIERlZmluaW5n IGFuIGFjY2Vzc29yIGZ1bmN0aW9uIHdpdGhvdXQgYm9keSBpcyB2aXJ0dWFsbHkgdGhlIHNhbWUg YXMgbm90IGRlZmluaW5nIHRoZSBhY2Nlc3NvciBmdW5jdGlvbiBhdCBhbGwsIGkuZS4gdGhpcyBw cm9wZXJ0eSBhY2Nlc3NvciBjYW4gbm90IGJlIHNldC4NCiAgfQ0KfQ0KDQokb2JqZWN0ID0gbmV3 IE15T2JqZWN0KCk7DQokcHJvcGVydHlWYWx1ZSA9ICRvYmplY3QtPnByb3BlcnR5OyAvLyBXb3Jr cw0KJG9iamVjdC0+cHJvcGVydHkgPSAxMDsgLy8gRG9lcyBub3Qgd29yaywgc2V0IG5vdCBhbGxv d2VkDQoNCkJ5ICJkaXNhYmxpbmciIGFjY2Vzc29yIGZ1bmN0aW9ucyB0aGF0IGRvbid0IHByb3Zp ZGUgYSBib2R5LCB3ZSBjYW4gZWFzaWx5IGltaXRhdGUgcmVhZC93cml0ZSBhcmd1YWJseSBiZXR0 ZXIgdGhhbiB3aGF0IHRoZSBjdXJyZW50IFJGQyBpcyBjYXBhYmxlIG9mLCBhbmQgdXNlIGV4Y2Vw dGlvbnMgdGhhdCBhbHJlYWR5IGV4aXN0IChzYW1lIGFzIHRoZSBleGNlcHRpb24gdGhyb3duIGlm IHRoZSBhY2Nlc3NvciBmdW5jdGlvbiBpcyBuZXZlciBkZWZpbmVkIGluIHRoZSBwcm9wZXJ0eSBh Y2Nlc3NvcikuDQpPbiBUdWUsIE9jdCAxNiwgMjAxMiBhdCA0OjE5IEFNLCBDbGludCBQcmllc3Qg PGNwcmllc3RAemVyb2N1ZS5jb208bWFpbHRvOmNwcmllc3RAemVyb2N1ZS5jb20+PiB3cm90ZToN CkhleSBTdGFzLCBhIGJ1bmNoIG9mIHRoaXMgaGFzIGFscmVhZHkgYmVlbiBjb3ZlcmVkIGJ1dCBJ IHdpbGwgYXR0ZW1wdCB0byBhbnN3ZXIgZWFjaCBvZiB0aGVzZSBhcyBpcyBteSBjdXJyZW50IHVu ZGVyc3RhbmRpbmcgb2YgInRoZSBoaXZlcyIgZGVjaXNpb24uLi4gOlANCg0KPiAxLiBBY2Nlc3Nv cnMgSU1PIHNob3VsZCBiZSByZWd1bGFyIFBIUCBtZXRob2RzIHRoYXQgUEhQIGdlbmVyYXRlcyB3 aXRoIHR3byBhZGRpdGlvbmFsIHRoaW5nczoNCj4gYS4gVGhlaXIgbmFtZSBpcyBnZW5lcmF0ZWQg YnkgUEhQDQo+IGIuIFRoZWlyIGFyZ3VtZW50IHNldCBpcyBkZWZpbmVkIGJ5IHRoZSBhY2Nlc3Nv ciBwYXR0ZXJuIChpLmUuIHNhbWUgdGhpbmcgYXMgX19nZXQvX19zZXQpLg0KPiBXZSBzaG91bGQg a2VlcCB0aGUgYW1vdW50IG9mIG1hZ2ljIGFuZCBzcGVjaWFsIGNhc2VzIHRvIHRoZSBtaW5pbXVt LCB0aGUgZW5naW5lIGlzIGNvbXBsZXggZW5vdWdoIGFzIGl0IGlzLg0KPiBUaGlzIG9mIGNvdXJz ZSBpbmNsdWRlcyB0aGUgZnVsbCByYW5nZSBvZiBvcHRpb25zIGF2YWlsYWJsZSBmb3IgdGhlIG1l dGhvZHMgLSBmaW5hbCwgcmVmbGVjdGlvbiwgY2FsbCBzY2VuYXJpb3MsIGV0Yy4NClRoaXMgaXMg dGhlIHdheSBpdCBpcywgdGhvdWdoIE5pa2l0YSBzdHJvbmdseSBkaXNhZ3JlZXMgdGhhdCB0aGV5 IHNob3VsZCBiZSAiY2FsbGFibGUsIHZpc2libGUiIG1ldGhvZHMgb24gdGhlIG9iamVjdCBhbmQg SSBhZ3JlZSB3aXRoIE5pa2l0YSBvbiB0aGlzIGlzc3VlLCBJIG5ldmVyIGRpZCBsaWtlIHRoZSBp ZGVhIHRoYXQgX19nZXRIb3VycygpIGFuZCBfX3NldEhvdXJzKCkgd2VyZSBtZXRob2RzIG9mIGEg Y2xhc3MganVzdCBiZWNhdXNlIG9mIGFuIGFjY2Vzc29yIGRlZmluaXRpb24sIHdoaWNoIGlzIHdo eSBJIHdvcmtlZCB0byBoYXZlIFJlZmxlY3Rpb24gaGlkZSB0aGF0IGZhY3QuICBJZiBJIHdlcmUg dG8gZ28gYWJvdXQgdGhpcyBhZ2FpbiwgdGhleSBwcm9iYWJseSB3aWxsIG5vdCBiZSBtZXRob2Rz IG9mIHRoZSBjbGFzcy4gIEludGVybmFsbHkgdGhlcmUgaXMgbGl0dGxlIHJlcXVpcmluZyBhbiBv cF9hcnJheSB0byBiZSBhdHRhY2hlZCB0byBhIGNsYXNzIGluIG9yZGVyIHRvIGJlIGV4ZWN1dGVk Lg0KDQo+IDIuIGlzc2V0IGlzIGRlZmluZWQgYXM6DQo+ICAgICAgICAgaXNzZXQoKSB7IHJldHVy biAkdGhpcy0+SG91cnMgIT0gTlVMTDsgfSBUaGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgY29ycmVj dCAtICE9IE5VTEwgZG9lcyBub3Qgd29yayBsaWtlIGlzc2V0IG5vdy4NCj4gVHJ5IHRoaXM6DQo+ IGNsYXNzIEEgeyBwdWJsaWMgJHggPSAwOyB9DQo+ICRhID0gbmV3IEE7DQo+IHZhcl9kdW1wKGlz c2V0KCRhLT54KSk7DQo+IHZhcl9kdW1wKCRhLT54ICE9IE5VTEwpOw0KPiBUaGlzIG5lZWRzIHRv IGJlIGZpeGVkIC0gZ2VuZXJhdGVkIGlzc2V0KCkgc2hvdWxkIGJlIGRlZmluZWQgdG8gd29yayBl eGFjdGx5IGxpa2UgcmVndWxhciBpc3NldCBhbmQgYWN0dWFsbHkgdXNlIHRoZSBzYW1lIGNvZGUg cGF0aC4NCj4gQXJndW1lbnQgdG8gaXNzZXQoKSBjYWxsIGNhbiBiZSByZXRyaWV2ZWQgdXNpbmcg YWNjZXNzb3IgYnV0IGl0IHNob3VsZCBub3QgZGlmZmVyIGZyb20gaXNzZXQoKSByZXN1bHQgaW4g YW55IHBvc3NpYmxlIHdheSBvciBzaXR1YXRpb24NCj4gKGluY2x1ZGluZyBlcnJvciBzaXR1YXRp b25zIC0gZS5nLiBub3RpY2VzLCBldGMuKQ0KVGhlIHJlYXNvbiB0aGF0ID0gTlVMTCBhbmQgIT0g TlVMTCB3YXMgY2hvc2VuIGlzIGJlY2F1c2UgaXNzZXQoKSBhbmQgdW5zZXQoKSBhcmUgc3BlY2lh bCBzdGF0ZXMgdGhhdCBhcmUgYXZhaWxhYmxlIG9ubHkgdG8gYSB2YXJpYWJsZSBvciBwcm9wZXJ0 eSwgc2luY2UgYSBnZXQvc2V0IGRvIG5vdCByZXR1cm4gYSByZWFsIHByb3BlcnR5IHRoZXkgY2Fu bm90IGJlIHVzZWQgd2l0aCBpc3NldC91bnNldC4gIE5vdyB0aGF0IHRoZXJlIGhhcyBiZWVuIGRp c2N1c3Npb24gb2YgYW4gYWNjZXNzb3IgYmVpbmcgYSByZWFsIHByb3BlcnR5IHNoYWRvd2VkIGJ5 IGdldC9zZXQsIHN0YW5kYXJkIGlzc2V0L3Vuc2V0IGNvdWxkIHBvdGVudGlhbGx5IGJlIHVzZWQg YWdhaW5zdCB0aGUgdW5kZXJseWluZyBwcm9wZXJ0eS4NCg0KPiAzLiBIb3cgcmVmZXJlbmNlcyBh bmQgY29tcGxleCBjYXNlcyBhcmUgaGFuZGxlZD8gRGlkbid0IGZpbmQgYW55dGhpbmcgYWJvdXQg aXQsIGUuZy4gaG93IGl0IGhhbmRsZXMgJGZvby0+YmFyKyssICRmb28tPmJhcltdID0gMSwNCj4g JGZvby0+YmFyWzEyM10gPSA0LCBldGMuICgkZm9vLT5iYXIgYmVpbmcgcHJvcGVydHkgd2l0aCBn ZXQvc2V0IGRlZmluZWQgb2YgY291cnNlKT8gSG93ICRmb29iYXIgPSYgJGZvby0+YmFyIGlzIGhh bmRsZWQ/IFRoZSBzb3J0KCkNCj4gY2FzZSBtZW50aW9ucyBieS1yZWYgcmV0dXJuIGJ1dCBkb2Vz IG5vdCBleHBsaWNpdGx5IG1lbnRpb24gYWxsIG90aGVyIGNhc2VzLg0KPiBUaGVzZSBuZWVkIHRv IGJlIGNvdmVyZWQgZXhwbGljaXRseSBpbiB0aGUgUkZDLg0KVGhpcyBpcyBjb3ZlcmVkIGluIHRo ZSBSRkMsIHBlcmhhcHMgbm90IGNsZWFybHkgZW5vdWdoIChsZXQgbWUga25vdyBob3cgSSBjb3Vs ZCBleHBhbmQgb24gaXQgZnVydGhlciBmb3IgY2xhcml0eSkuICBUbyBhbnN3ZXIgZWFjaCBvZiB5 b3VyIHF1ZXN0aW9ucywgeW91IGNhbiB0aGluayBvZiB3aGF0IHdvdWxkIGhhcHBlbiBhcyBpZiBp dCB3ZXJlIGEgZnVuY3Rpb24gY2FsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgZGlkICRmb28tPmJh cigpWzEyM10gPSA0IHlvdSB3b3VsZCBiZSBtb2RpZnlpbmcgYSByZXR1cm4tYnktdmFsLiAgSWYg YmFyIHdlcmUgaW5zdGVhZCBkZWZpbmVkIGFzIHJldHVybmluZyBhIHJlZmVyZW5jZSwgdGhlbiBp dCB3b3VsZCBpbmRlZWQgd29yayBhcyB5b3UgZXhwZWN0IGFib3ZlLiAgJGZvb2JhciA9ICYkZm9v LT5iYXIgd291bGQgd29yayBhcyBleHBlY3RlZCBhcyBsb25nIGFzIHRoZSBnZXR0ZXIgaXMgcmV0 dXJuaW5nIGEgcmVmZXJlbmNlIGFzIHdlbGwuDQoNCkksIHBlcmhhcHMgbWlzdGFrZW5seSwgYXNz dW1lZCB0aGF0IGlmIHJldHVybi1ieS1yZWYgYW5kIHNvcnQoKSB3b3JrZWQgcHJvcGVybHksIHRo ZW4gYWxsIG90aGVyICJ1c2FnZXMgb2YgcmVmZXJlbmNlcyIgc2hvdWxkIGVxdWFsbHkgd29yayB0 aGUgc2FtZSwgaXMgdGhhdCBub3QgcmlnaHQ/ICBJZiBpdCdzIG5vdCByaWdodCwgd2h5IG5vdD8N Cg0KPiA0LiBXZSBoYXZlIHNvbWUgTFNQIGNvbnRyb2xzIG5vdyBpbiBwbGFjZSB0byBlbnN1cmUg bm9uLUxTUCBvdmVycmlkZXMgZ2VuZXJhdGUgRV9TVFJJQ1QuIFdpbGwgdGhpcyBiZSB0aGUgY2Fz ZSBmb3IgcHJvcGVydGllcyB0b28/DQo+IE1lYW5pbmcsIHdoYXQgaGFwcGVucyBpZiB5b3UgYWRk IG92ZXJyaWRpbmcgcHJvdGVjdGVkIGdldHRlciB0byBhIHByb3BlcnR5IHRoYXQgd2FzIHByZXZp b3VzbHkgZnVsbHkgcHVibGljIC0gdGh1cyB2aW9sYXRpbmcgdGhlIExTUD8NCkNlcnRhaW5seSwg dGhpcyBiYXNpYyBvYmplY3Qgb3JpZW50ZWQgZnVuY3Rpb25hbGl0eSwgb2YgY291cnNlIGl0IGlz IHVwaGVsZC4gIFRoaXMgaXMgb25lIG9mIHRoZSByZWFzb25zIEkgbGV2ZXJhZ2VkIHN0YW5kYXJk IGZ1bmN0aW9ucyBpbiB0aGUgZmlyc3QgcGxhY2UsIGJlY2F1c2UgdGhlc2UgaXNzdWVzIHdlcmUg YXV0b21hdGljYWxseSBoYW5kbGVkIGJ5IHRoZSBleGlzdGluZyBjb3JlLg0KDQo+DQo+IDUuIFdo YXQgaGFwcGVucyBpZiB5b3Ugb3ZlcnJpZGUgYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBwbGFpbiBv bGQgdmFyaWFibGUgcHJvcGVydHk/IEkuZS46DQo+DQo+IGNsYXNzIEEgew0KPiAgICBwcm90ZWN0 ZWQgJHNlY3JldCB7DQo+ICAgICAgIGdldCgpIHsgcmV0dXJuICJzZWNyZXQiOyB9DQo+ICAgfQ0K PiB9DQo+DQo+IGNsYXNzIEIgZXh0ZW5kcyBBIHsNCj4gICAgcHVibGljICRzZWNyZXQgPSAibm90 IGEgc2VjcmV0IGFueW1vcmUiOyB9DQo+DQo+IEFsc28sIHdoYXQgaGFwcGVucyBoZXJlIGlmIEEg ZXh0ZW5kcyBCIGluIHRoZSBzYW1lIHNjZW5hcmlvICh0aGlzIHJlZmVycyB0byB0aGUgIzQgdG9v KS4NClRoaXMgaXMgY3VycmVudGx5IHVwIGluIHRoZSBhaXIgb24gdGhlIFJGQyBzaWRlIGFuZCBp cyBiZWluZyByZWZlcnJlZCB0byBhcyB3aGljaCAic2hhZG93cyIgd2hpY2guICBUaGUgY29kZSBj dXJyZW50bHkgaGFzIGl0IHRoYXQgcHJvcGVydGllcyBzaGFkb3cgYWNjZXNzb3JzLCBOaWtpdGEg c3VnZ2VzdGVkIHRoYXQgc2hvdWxkIGJlIGludmVydGVkIGFuZCBJIGFncmVlLCBzbyB1bmxlc3Mg c29tZW9uZSBlbHNlIHRoaW5rcyBvdGhlcndpc2UsIGFjY2Vzc29ycyB3aWxsIHByb2JhYmx5IHNo YWRvdyBwcm9wZXJ0aWVzLg0KDQo+DQo+IDYuIFRoaW5raW5nIG1vcmUgYWJvdXQgaXNzZXQvdW5z ZXQgLSB3aHkgbm90IG1ha2UgaXNzZXQvdW5zZXQgYWx3YXlzIGJlIHRoZSBkZWZhdWx0IHVubGVz cyBvdmVycmlkZGVuPyBJIGNhbid0IHJlYWxseSBzZWUgdGhlIGNhc2UNCj4gd2hlcmUgeW91IHdh bnQgZWNobyAkZm9vLT5iYXIgdG8gd29yayBidXQgaWYoaXNzZXQoJGZvby0+YmFyKSkgZWNobyAk Zm9vLT5iYXIgdG8gbm90IHdvcmsuIEkgdGhpbmsgaXNzZXQoKSBhbmQgdW5zZXQoKSBzaG91bGQg YWx3YXlzDQo+IHVzZSBhdXRvbWF0aWMgaW1wbGVtZW50YXRpb25zIGJ5IGRlZmF1bHQgKGZpeGVk IGluIGFjY29yZCB3aXRoICMyIG9mIGNvdXJzZSkuDQpTZWUgcmVzcG9uc2UgdG8gIzIgYWJvdmUs IHdpdGhvdXQgYSBnZXR0ZXIvc2V0dGVyIHJldHVybmluZyBhIHJlYWwgcHJvcGVydHksIGlzc2V0 L3Vuc2V0IGFjY2Vzc29ycyB3ZXJlIG5lY2Vzc2FyeSBiZWNhdXNlIGlzc2V0KCkvdW5zZXQoKSBj YW5ub3QgcGVyZm9ybSBvbiBhIGR5bmFtaWMgdmFsdWUuICBDb25zaWRlciB0aGlzOiB1bnNldCgk Zm9vLT5iYXIoKSkgb3IgaXNzZXQoJGZvby0+YmFyKCkpLiAgU2luY2Ugd2UgYXJlIG1vdmluZyBp biB0aGUgZGlyZWN0aW9uIG9mIGFjY2Vzc29ycyBzaGFkb3dpbmcgcHJvcGVydGllcywgSSBjb3Vs ZCBzZWUgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgaXNzZXQvdW5zZXQgYWN0dWFsbHkg YmUgbW9yZSBsaWtlIHVuc2V0KCkgeyByZXR1cm4gdW5zZXQoJHRoaXMtPmJhcik7IH0gYW5kIGlz c2V0KCkgeyByZXR1cm4gaXNzZXQoJHRoaXMtPmJhcik7IH0NCg0KPiA3LiAiRXJyb3IgbWVzc2Fn aW5nIiBzZWN0aW9uIGlzIG5vdCBjbGVhci4gU29tZSBleGFtcGxlcyB3b3VsZCBoZWxwIC0gd2hh dCBpcyBiZWluZyB0cmFuc2xhdGVkIHRvIHdoYXQ/DQpJIHdpbGwgZXhwYW5kIG9uIHRoaXMgc2Vj dGlvbiBpbiB0aGUgUkZDLCBidXQgdGhpcyBzZWN0aW9uIGlzIHJlZmVycmluZyB0byB0aGUgZmFj dCB0aGF0IGlmIGJhciB3ZXJlIGFuIGFjY2Vzc29yIHdpdGhvdXQgYSBzZXQoKSBhbmQgdGhpcyB3 ZXJlIGF0dGVtcHRlZDoNCg0KJGZvby0+YmFyID0gNDsNCg0KSXQgd291bGQgaGF2ZSBlcnJvcmVk IHdpdGg6DQogICAgICAgIEZhdGFsIGVycm9yOiBubyBmdW5jdGlvbiBfX3NldGJhcigpIGV4aXN0 cyBvbiBvYmplY3QgJGZvbyAgICAgICA8LS0gVGhhdCBpcyBub3QgZXhhY3RseSB0aGUgbWVzc2Fn ZSByZXR1cm5lZCBieSBjb3JlLCBidXQgeW91IGdldCB0aGUgcG9pbnQNCg0KU28gdGhlIHNlY3Rp b24gb24gZXJyb3IgbWVzc2FnaW5nIGlzIHJlZmVycmluZyB0byB0aGUgZmFjdCB0aGF0IGFsbCBl cnJvcnMgaW52b2x2aW5nIGFjY2Vzc29ycyBoYXZlIGJlZW4gY2hhbmdlZCB0byBtYWtlIG1vcmUg c2Vuc2UsIGllOg0KICAgICAgICBGYXRhbCBlcnJvcjogY2Fubm90IHNldCAkZm9vLT5iYXIsIG5v IHNldHRlciBpcyBkZWZpbmVkLg0KDQo+IDguICJTdGF0aWMgYWNjZXNzb3JzIiBzZWN0aW9uIGlz IG5vdCBjbGVhciwgbmFtZWx5IHRoaXMgb25lOg0KPiBUaGlzIHlpZWxkZWQgdGhlIHBvc3NpYmls aXR5IHRoYXQgYSBnZXR0ZXIgY2FsbCB3YXMgYmVpbmcgbWFkZSB3aGlsZSBpdCBzaG91bGQgbm90 IGJlIGFsbG93ZWQgKGlmIHRoZXJlIHdhcyBubyBnZXR0ZXIgZGVmaW5lZCkgYW5kIHNvDQo+IHBh c3NfdHdvKCkgd2FzIGNoYW5nZWQgdG8gbG9vayBmb3IgdGhlc2Ugbm9uLWJhY2twYXRjaGVkIGls bGVnYWwgc3RhdGljIGdldHRlciBjYWxscyBhbmQgYSBjb21waWxlIHRpbWUgZXJyb3IgaXMgcHJv ZHVjZWQuDQo+DQo+IFdoZW4gdGhlIGNvZGUgaXMgY29tcGlsZWQsIHRoZSBjbGFzcyBkZWZpbml0 aW9uIChhbmQsIGluIGZhY3QsIHRoZSBuYW1lIG9mIHRoZSBjbGFzcyB3ZSdyZSB0YWxraW5nIGFi b3V0KSBtYXkgbm90IGJlIGF2YWlsYWJsZSwgc28gaG93DQo+IGNhbiB5b3Uga25vd24gaWYgY2Vy dGFpbiBwcm9wZXJ0eSBvZiB0aGlzIGNsYXNzIGhhcyBnZXR0ZXJzIGRlZmluZWQ/DQpPaCBjcmFw LCB5b3UncmUgcmVmZXJyaW5nIHRvIHRoZSBpZGVhIHRoYXQgZHVyaW5nIGNvbXBpbGF0aW9uIGEg Y2xhc3MgZGVmaW5pdGlvbiBtYXkgZXhpc3QgYmVsb3cgdGhlIHBvaW50IG9mICJjdXJyZW50IGNv bXBpbGF0aW9uLCIgcmlnaHQ/ICBJIGhhZCBub3QgY29uc2lkZXJlZCB0aGlzIGNhc2UgYW5kIHlv dSdyZSByaWdodCwgdGhpcyB3b3VsZCBicmVhayBiYWRseS4NCg0KPiBBbHNvLCBJJ20gbm90IHN1 cmUgd2hhdCBpcyB0aGUgdGhpbmcgYWJvdXQgYmFja3BhdGNoaW5nIGFuZCBjb252ZXJ0aW5nIHRv IGZ1bmN0aW9uIGNhbGxzIC0gSSB0aGluayBpdCBzaG91bGQgd29yayB2aWEgZW5naW5lIGhhbmRs ZXJzDQo+IGp1c3QgYXMgdGhlIHJlc3Qgb2YgdGhlIHRoaW5ncyB3b3JrIGluIHRoZSBlbmdpbmUs IGlzIGl0IG5vdCB0aGUgY2FzZT8gSWYgbm90LCBpdCBzaG91bGQgYmUgbWFkZSB0aGUgY2FzZS4N ClRoZSBzdGF0aWMgYWNjZXNzb3JzIHdhcyBhYm92ZSBteSBwYXkgZ3JhZGUgd2hlbiBJIGZpcnN0 IHRhY2tsZWQgdGhlbSwgaW4gY29tcGFyaXNvbiB0aGUgb2JqZWN0IGdldC9zZXQgd2FzIGEgcGll Y2Ugb2YgY2FrZSBiZWNhdXNlIGl0IHdhcyBhbHJlYWR5IGJlaW5nIGhhbmRsZWQgYnkgX19nZXQo KSBhbmQgX19zZXQoKSBidXQgc3RhdGljIHByb3BlcnRpZXMgYXJlIGhhbmRsZWQgaW4gYW4gZW50 aXJlbHkgZGlmZmVyZW50IHdheS4gIEJlY2F1c2Ugb2YgdGhlIG5lYXJseSBjb21wbGV0ZWx5IHVu ZG9jdW1lbnRlZCBjb2RlLCBJIGNvdWxkIG5vdCBtYWtlIGhlYWRzIG5vciB0YWlscyBvZiBob3cg aXQgd29ya2VkLiAgSSBzdGlsbCBkbyBub3Qga25vdyBpZiBJIGNvdWxkIG1ha2UgdGhpcyB3b3Jr IGF0IHRoZSB2bS9vcGNvZGUgbGV2ZWwgZHVyaW5nIHJ1bnRpbWUgYnV0IEknZCBiZSBtdWNoIG1v cmUgd2lsbGluZyB0byBnaXZlIGl0IGEgZ28gbm93Lg0KDQpNb3N0IG9mIG15IGRlZXAgcXVlc3Rp b25zIG92ZXIgdGhlIGxhc3QgeWVhciBoYXZlIGdvbmUgdW5hbnN3ZXJlZCBhbmQgc28gSSB3YXMg bGVmdCB0byBteSBvd24gZGV2aWNlcyB0byBmaW5kIGEgd2F5IHRvIG1ha2UgaXQgd29yay4NCg0K PiA5LiBUaGlzOg0KPiBFbGltaW5hdGUgdGhlIGFiaWxpdHkgZm9yIGFuIGFjY2Vzc29yIHRvIGJl IGNhbGxlZCB2aWEgJG/ihpJfX2dldEhvdXJzKCksIHRoZSBhY2Nlc3NvciBmdW5jdGlvbnMgd2ls bCBiZSBjb21wbGV0ZWx5IHVuYXZhaWxhYmxlIGZvciB1c2UNCj4gZXhjZXB0IGFzIHByb3BlcnR5 IHJlZmVyZW5jZXMgKCRv4oaSSG91cnMpDQo+DQo+IEkgdGhpbmsgaXQgYSBtaXN0YWtlLiBNb3Jl IG1hZ2ljIGFuZCBjb21wbGljYXRpb24gaW4gdGhlIGVuZ2luZSBpcyBub3QgYSBnb29kIHRoaW5n IGFuZCB3b3VsZCByZXF1aXJlIHRvbnMgb2Ygc3BlY2lhbCBjYXNlIGNoZWNrcyBpbg0KPiBhbGwg cGxhY2VzIHdoZXJlIHdlIGRlYWwgd2l0aCBmdW5jdGlvbnMuIEkgdGhpbmsgaXQgaXMgd3Jvbmcg LSBpZiB3ZSBjcmVhdGUgYSBjYWxsYWJsZSBlbnRpdHksIGl0IHNob3VsZCBiZSBjYWxsYWJsZS4g X18gaW4gdGhlIG5hbWUgaXMgdGhlDQo+IGluZGljYXRpb24gZW5vdWdoIHRoYXQgeW91J3JlIGRl YWxpbmcgd2l0aCBzcGVjaWFsIG1ldGhvZCBhbmQgeW91IHNob3VsZCB0cmVhZCBjYXJlZnVsbHks IHdlIHNob3VsZCBub3QgZ28gb3V0IG9mIG91ciB3YXkgdG8gbWVzcw0KPiB1cCB0aGUgZW5naW5l IHRvIHByZXZlbnQgaXQuDQpZb3UgYW5kIE5pa2l0YSBnZXQgeW91ciBnbG92ZXMgb24sIG1ha2Vz IGl0IGVhc2llciBvbiBtZSB0byBnbyB5b3VyIGRpcmVjdGlvbiBidXQgTmlraXRhIGRpZCBub3Qg bGlrZSB0aGlzIGF0IGFsbC4NCg0KPiAxMC4gSSdtIG5vdCBzdXJlIHdoYXQgdGhlIHBvaW50IGFi b3V0IGRlYnVnX2JhY2t0cmFjZSgpIGlzIGJ1dCBhZ2Fpbiwgd2Ugc2hvdWxkIG5vdCBjcmVhdGUg bW9yZSBjb21wbGljYXRlZCBtYWdpYyB0aGVyZSwgaXQganVzdA0KPiBzaG91bGQgc2hvdyB3aGF0 IHJlYWxseSBpcyBoYXBwZW5pbmcuDQpUaGlzIHdvdWxkIHJlZmVyIHRvIHRoZSBmYWN0IHRoYXQg YSBkZWJ1ZyBiYWNrdHJhY2Ugd291bGQgc2hvdyB0aGF0IGl0J3MgaW4gYSBmdW5jdGlvbiBjYWxs ZWQgX19nZXRIb3VycygpIChmb3IgZXhhbXBsZSkgd2hpY2ggd291bGQgb25seSBzZXJ2ZSB0byBj b25mdXNlIGEgcGhwIGRldmVsb3BlciB3aG8gZG9lc24ndCBrbm93IHRoYXQgYSBnZXR0ZXIgZm9y ICRIb3VycyBpcyByZWFsbHkgYSBmdW5jdGlvbiBuYW1lZCBfX2dldEhvdXJzKCkuICBUaGVyZWZv cmUgSSB3aWxsIGJlIHBhdGNoaW5nIHRoZSBlcnJvciBzbyB0aGF0IGl0IGluZGljYXRlcyBzb21l dGhpbmcgdGhlIHBocCBkZXZlbG9wZXIgd2lsbCB1bmRlcnN0YW5kLCBuYW1lbHkgdGhhdCB0aGUg bGluZSBpcyByZWZlcnJpbmcgdG8gYSBnZXR0ZXIuDQoNCj4gMTEuIEFib3V0IHJlYWQtb25seS93 cml0ZS1vbmx5IHRoaW5nIC0gSSBsaWtlIG5vdCBoYXZpbmcgdGhlIGtleXdvcmRzLCBidXQgaXQg aXMgc3RpbGwgbm90IGNsZWFyIGhvdyBmaW5hbCBwcm9kdWNlcyByZWFkLW9ubHkgcHJvcGVydHkg LQ0KPiBkbyBJIHNheSBzb21ldGhpbmcgbGlrZSAiZmluYWwgc2V0KCk7IiBvciBob3cgY2FuIEkg c2F5ICJ0aGVyZSdzIG5vIHNldCBhbmQgbmV2ZXIgd2lsbCBiZSI/DQpJIGNvdWxkIG5vdCBnZXQg dGhpcyBwb2ludCBhY3Jvc3MgdG8gYW55b25lIGJ1dCBnYXZlIHVwLCBwcml2YXRlIGZpbmFsIHNl dCgpOyAhPSByZWFkLW9ubHkuICBXaXRoIGEgbm9uICJyZWFkLW9ubHkiIGtleXdvcmQgc2NlbmFy aW8sIGEgInNldCIgY2FsbCB3b3VsZCBzdGlsbCBiZSBhbGxvd2VkIGFuZCB3b3VsZCBzaG93IHVw IGFzIGFuIGFjY2VzcyB2aW9sYXRpb24gdG8gb3V0c2lkZSBvYnNlcnZlcnMgYW5kIHdvdWxkIGJl IGFsbG93ZWQgZnJvbSB3aXRoaW4gdGhlIGNsYXNzLiAgVGhpcyBpcyBub3Qgd2hhdCBJIHdhbnRl ZCBidXQgSSBoYWQgZW5vdWdoIG90aGVyIHBvaW50cyBvZiBjb250ZW50aW9uIGFuZCBJIHlpZWxk ZWQgb24gdGhpcy4NCg0KPiBJJ20gc29ycnkgaWYgc29tZSBwb2ludHMgd2VyZSBhbHJlYWR5IGRp c2N1c3NlZCAtIEkgc2Nhbm5lZCB0aHJvdWdoIHRoZSBtdWx0aXBsZSB0aHJlYWRzIGJ1dCBtYXkg dmVyeSB3ZWxsIG1pc3NlZCBzb21ldGhpbmcgaW4NCj4gMTAwKyBtZXNzYWdlcyB0aGF0IHRoZXJl IGFyZSwgaW4gYW55IGNhc2UgSSBmZWVsIG1vc3Qgb2YgdGhlIHF1ZXN0aW9ucyBhYm92ZSBtdXN0 IGJlIHJlZmxlY3RlZCBpbiBSRkMgZXhwbGljaXRseS4NCj4NCj4gVGhhbmtzLA0KPiAtLQ0KPiBT dGFuaXNsYXYgTWFseXNoZXYsIFNvZnR3YXJlIEFyY2hpdGVjdA0KPiBTdWdhckNSTTogaHR0cDov L3d3dy5zdWdhcmNybS5jb20vDQo+ICg0MDgpNDU0LTY5MDAgZXh0LiAyMjc8dGVsOiUyODQwOCUy OTQ1NC02OTAwJTIwZXh0LiUyMDIyNz4NCg0K --_000_9570D903A3BECE4092E924C2985CE485612B6E43MBX202domainloc_--