From: <val...@gm...> - 2007-10-26 10:01:20
|
SGksCgpUaW5vLCB0aGFua3MgZm9yIHRoZSByZXBseS4gWW91ciB0aGVzaXMgbWlnaHQgYmUgdmVy eSBpbnRlcmVzdGluZyB0bwptZS4gQmFzaWNhbGx5IEkgbmVlZCB0byBkbyB0aGUgc2FtZSB0aGlu Zy4KCj4gSW4gZ2VuZXJhbCBteSBhcHByb2FjaCB0byBpdCB3YXMgdGhlIGZvbGxvd2luZzoKPiBJ IGdvdCB2ZWhpY2xlIGNvdW50cyBmcm9tIGluZHVjdGlvbiBsb29wcyBhbmQgd2FudGVkIHRvIGZl ZWQgdGhlbSBpbnRvCj4gU1VNTy4gKFdoYXQga2luZCBvZiBkYXRhIGRvIHlvdSBoYXZlPykKCkkg aGF2ZSB2ZWhpY2xlIGNvdW50cyBhbmQgdHlwZXMgZnJvbSBpbmR1Y3Rpb24gbG9vcHMgbG9jYXRl ZCBvbiB0aGUKZW50cmFuY2VzIHRvIHRoZSBjaXR5LiBCYXNpY2FsbHksIHdoYXQgSSdtIHBsYW5u aW5nIHRvIGRvIGZvciB0aGUKYmVnaW5uaW5nIGlzIHRvIHBlcmZvcm0gYW4gb25saW5lIHNpbXVs YXRpb24gdGhpcyB3YXk6CiogZGVsZXRpbmcgbnVtYmVycyBvZiB2ZWhpY2xlcyBmcm9tIHRoZSBz aW11bGF0aW9uIHRoYXQgZXhpdCB0aGUgY2l0eQooSSB3aWxsIGRlbGV0ZSB2ZWhpY2xlcyBjbG9z ZXN0IHRvIHRoZSBpbmR1Y3Rpb24gbG9vcCB3aGVyZSB0aGUKdmVoaWNsZSBpbiAicmVhbCBsaWZl IiBleGl0ZWQpLgoqIGFkZGluZyB2ZWhpY2xlcyB0byB0aGUgc2ltdWxhdGlvbiBvbiB0aGUgbG9j YXRpb25zIG9mIHRoZSBpbmR1Y3Rpb24gbG9vcHMuCgpJIGRvbid0IHRoaW5rIHRoaXMgbWV0aG9k IHdpbGwgZ2l2ZSBhIHZlcnkgcHJlY2lzZSBzaW11bGF0aW9uLCBidXQgaXQKaXMgYSBnb29kIHdh eSB0byBzdGFydCBwbGF5aW5nIHdpdGggdGhlIGNvZGUuCgpCeSB0aGUgd2F5LCBpIG5vdGljZWQg dGhhdCBpdG0gcmVtb3RlIHNlcnZlciBjb21wb25lbnQgd2FzIHJlbmFtZWQgdG8KdHJhY2ktc2Vy dmVyIGluIHRoZSByZXBvc2l0b3J5LiBJdCBpcyByZWFsbHkgdXNlZnVsIHRvIGhhdmUgdGhpcyBr aW5kCm9mIHN0ZXAgYnkgc3RlcCBjb250cm9sIG92ZXIgc2ltdWxhdGlvbiwgdGhvdWdoIHVuZm9y dHVuYXRlbHkgdGhlcmUKYXJlIG5vIGRlbGV0ZSBhbmQgYWRkIHZlaGljbGUgZnVuY3Rpb25zIHRo ZXJlLgoKSSB0cmllZCB5b3VyIHZlaGljbGUgZGVsZXRpb24gY29kZSwgaXQgd29ya3MgZmluZS4K ClJlZ2FyZHMsClZhbGRlbWFyYXMgUmVwxaF5cwoKPiBBcGFydCBmcm9tIHRoZSBwcm9ibGVtIG9m IGdldHRpbmcKPiBpbmZvcm1hdGlvbiBpbnRvIFNVTU8sIHRpbWluZyBpcyB2aXRhbCBmb3Igb25s aW5lIHNpbXVsYXRpb24uIEJlY2F1c2UgSQo+IGRpZG4ndCB3YW50IHRvIGNoYW5nZSBTVU1PIHRv byBtdWNoIEkgZGVjaWRlZCB0byBpbXBsZW1lbnQgdGhlIHRpbWluZwo+IGNvbXBvbmVudCBleHRl cm5hbGx5IGFuZCB0cmlnZ2VyIGEgdGltZXN0ZXAgZXZlcnkgc2Vjb25kIHVzaW5nIHRoZSBpdG0K PiByZW1vdGUgc2VydmVyIGNvbXBvbmVudCBvZiBTVU1PICh0aGVyZSBpcyBtb3JlIGluZm9ybWF0 aW9uIG9uIHRoaXMgaW4KPiB0aGUgbWFpbGluZyBsaXN0IGFyY2hpdmUpLiBXaGlsZSBzZW5kaW5n IHRoZSB0cmlnZ2VyIHRvIHNpbXVsYXRlIGEgbmV3Cj4gdGltZXN0ZXAgSSBhbHNvIHRyYW5zbWl0 dGVkIHRoZSBuZXcgdmVoaWNsZSBjb3VudCBkYXRhIHRvIFNVTU8uIEkgdGhlbgo+IHdyb3RlIGEg dHJpZ2dlciBzaW1pbGFyIHRvIHRoZSBlbWl0dGVyIHdoaWNoIGVpdGhlciBlbWl0cyBvciByZW1v dmVzCj4gdmVoaWNsZXMuCj4KPiBOb3cgZm9yIHRoZSBiYWQgbmV3czogdGhlIGNvZGUgaXMgYSkg b25seSBhIHByb29mIG9mIGNvbmNlcHQsIGkuZS4gbm90Cj4gY29kZWQgb3IgdGVzdGVkIHZlcnkg d2VsbCwgYW5kIGIpIG5vdCB5ZXQgY29tbWl0dGVkIHRvIHRoZSBTVU1PIHByb2plY3QuCj4gSSB0 b29rIGFuIGV4dGVuZGVkIGJyZWFrIGFmdGVyIEkgaGFuZGVkIGluIHRoZSB0aGVzaXMsIGJ1dCBJ IGhvcGUgdG8gZ2V0Cj4gZ29pbmcgYWdhaW4gbmV4dCB3ZWVrIGFuZCB0byBjbGVhbiB1cCBhbmQg Y29tbWl0IG15IGNvZGUuCj4KPgo+ID4gPgo+ID4gPiBBbm90aGVyIHF1ZXN0aW9uOgo+ID4gPiBJ J20gdHJ5aW5nIHRvIGRlbGV0ZSBhIHZlaGljbGUgaW4gYW4gb25nb2luZyBzaW11bGF0aW9uIG9u IGEgY2VydGFpbgo+ID4gPiB0aW1lIHN0ZXAuIENvZGUgbW9yZSBvciBsZXNzIGxvb2tzIGxpa2Ug dGhhdC4KPiA+ID4KPiA+ID4gICAgIGlmIChuZXQtPmdldEN1cnJlbnRUaW1lU3RlcCgpID09IDYp IHsKPiA+ID4KPiA+ID4gICAgICAgICBNU1ZlaGljbGUqIHZlaDsKPiA+ID4gICAgICAgICAgICAg Zm9yIChtYXA8c3RyaW5nLCBNU1ZlaGljbGUqPjo6Y29uc3RfaXRlcmF0b3IgaXRlciA9Cj4gPiA+ IHZlaENvbnRyb2wtPmxvYWRlZFZlaEJlZ2luKCk7IGl0ZXIgIT0gdmVoQ29udHJvbC0+bG9hZGVk VmVoRW5kKCk7Cj4gPiA+ICsraXRlcikgewo+ID4gPiAgICAgICAgICAgICAgICAgICAgIHZlaCA9 ICgqaXRlcikuc2Vjb25kOwo+ID4gPiAgICAgICAgICAgICB9Cj4gPiA+Cj4gPiA+ICAgICAgICAg ICAgIE1TTmV0OjpnZXRJbnN0YW5jZSgpLT5nZXRWZWhpY2xlQ29udHJvbCgpLnNjaGVkdWxlVmVo aWNsZVJlbW92YWwodmVoKTsKPiA+ID4gICAgIH0KPiA+ID4KPiA+ID4KPiA+ID4gVGhpcyBjb2Rl IGlzIGludm9rZWQganVzdCBiZWZvcmUgaW52b2tpbmcgc2ltdWxhdGlvblN0ZXAoc3RhcnQsCj4g PiA+IG15U3RlcCk7IGFuZCBpbiB0aGlzIHNpbXVsYXRpb25TdGVwIHNlZ21lbnRhdGlvbiBmYXVs dCBvY2N1cnMgYW5kIHN1bW8KPiA+ID4gY3Jhc2hlcy4KPiA+ID4gSXMgdGhlIHdheSBJIGFtIGRl bGV0aW5nIHRoZSB2ZWhpY2xlIGlzIGNvcnJlY3QsIHdoYXQgY291bGQgYmUgdGhlIHByb2JsZW0/ Cj4gPiA+Cj4gPiA+Cj4gPgo+IEhlcmUgaXMgdGhlIGNvZGUgSSB1c2UgdG8gcmVtb3ZlIHZlaGlj bGVzLCBJIGFtIG5vdCBzdXJlIGlmIGFsbCB0aGlzIGlzCj4gbmVjZXNzYXJ5IGJ1dCBhdCBsZWFz dCBpdCB3b3JrZWQgZm9yIG1lOgo+Cj4gICAgIHZlaC0+bGVhdmVMYW5lQXRMYW5lQ2hhbmdlKCk7 Cj4gICAgIHZlaC0+b25UcmlwRW5kKCk7Cj4gICAgIE1TTmV0OjpnZXRJbnN0YW5jZSgpLT5nZXRN U1Bob25lTmV0KCktPnJlbW92ZVZlaGljbGUoKnZlaCwKPiBNU05ldDo6Z2V0SW5zdGFuY2UoKS0+ Z2V0Q3VycmVudFRpbWVTdGVwKCkpOwo+ICAgICBteURlc3RMYW5lLT5yZW1vdmVWZWhpY2xlKHZl aCk7Cj4gICAgIE1TTmV0OjpnZXRJbnN0YW5jZSgpLT5nZXRWZWhpY2xlQ29udHJvbCgpLnNjaGVk dWxlVmVoaWNsZVJlbW92YWwodmVoKTsKPgo+Cj4gbXlEZXN0TGFuZSBpcyBhbiBpbnN0YW5jZSBv ZiBNU0xhbmUsIHRoZSByZW1vdmVWZWhpY2xlKCkgbWV0aG9kIGlzIG9uZSBJCj4gaGF2ZSBpbXBs ZW1lbnRlZCAoYmFzZWQgb24gdGhlIHJlbW92ZUZpcnN0VmVoaWNsZSgpIG1ldGhvZCk6Cj4KPiBN U1ZlaGljbGUgKgo+IE1TTGFuZTo6cmVtb3ZlVmVoaWNsZShNU1ZlaGljbGUgKiByZW1WZWgpCj4g ewo+ICAgICBmb3IoTVNMYW5lOjpWZWhDb250OjppdGVyYXRvciBpdCA9IG15VmVoaWNsZXMuYmVn aW4oKTsKPiAgICAgICAgIGl0IDwgbXlWZWhpY2xlcy5lbmQoKTsKPiAgICAgICAgIGl0KyspIHsK PiAgICAgICAgIGlmKHJlbVZlaC0+Z2V0SUQoKSA9PSAoKml0KS0+Z2V0SUQoKSl7Cj4KPiAgICAg ICAgICAgICByZW1WZWgtPmxlYXZlTGFuZUF0TGFuZUNoYW5nZSgpOwo+ICAgICAgICAgICAgIG15 VmVoaWNsZXMuZXJhc2UoaXQpOwo+ICAgICAgICAgICAgIG15VXNlRGVmaW5pdGlvbi0+bm9WZWhp Y2xlcy0tOwo+ICAgICAgICAgICAgIG15VXNlRGVmaW5pdGlvbi0+dmVoTGVuU3VtIC09IHJlbVZl aC0+Z2V0TGVuZ3RoKCk7Cj4gICAgICAgICAgICAgYnJlYWs7Cj4gICAgICAgICB9Cj4gICAgIH0K Pgo+ICAgICByZXR1cm4gcmVtVmVoOwo+IH0KPgo+IEFnYWluLCBJIGFtIGNlcnRhaW4gdGhlcmUg YXJlIG1vcmUgZWxlZ2FudCB3YXlzIG9mIGltcGxlbWVudGluZyB0aGlzLAo+IGJ1dCBhdCBsZWFz dCB0aGlzIGJpdCBvZiBjb2RlIGRpZCByZW1vdmUgdGhlIHZlaGljbGVzIGFuZCB0aGlzIHdhcyBh bGwgSQo+IG5lZWRlZC4KPgo+Cj4gSG9wZSB0aGF0IGhlbHBlZCBhIGJpdCwgSSdsbCBrZWVwIHlv dSB1cGRhdGVkIHdoZW4gSSBtYW5hZ2UgdG8gY2hlY2sgaW4KPiBteSBjb2RlIC8gbXkgdGhlc2lz IGdldHMgcHVibGlzaGVkLgo+Cj4gUmVnYXJkcywKPgo+IFRpbm8KPgo+ID4gPiBUaGFua3MhIQo+ ID4gPiBWYWxkZW1hcmFzIFJlcMWheXMKPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiBUaGlz IFNGLm5ldCBlbWFpbCBpcyBzcG9uc29yZWQgYnk6IFNwbHVuayBJbmMuCj4gPiA+IFN0aWxsIGdy ZXBwaW5nIHRocm91Z2ggbG9nIGZpbGVzIHRvIGZpbmQgcHJvYmxlbXM/ICBTdG9wLgo+ID4gPiBO b3cgU2VhcmNoIGxvZyBldmVudHMgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMgdXNpbmcgQUpBWCBh bmQgYSBicm93c2VyLgo+ID4gPiBEb3dubG9hZCB5b3VyIEZSRUUgY29weSBvZiBTcGx1bmsgbm93 ID4+IGh0dHA6Ly9nZXQuc3BsdW5rLmNvbS8KPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4gc3Vtby11c2VyIG1haWxpbmcgbGlzdAo+ID4g PiBzdW1vLXVzZXJAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gPiA+IGh0dHBzOi8vbGlzdHMuc291 cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL3N1bW8tdXNlcgo+ID4gPgo+ID4KPgo+Cj4KPgo= |