|
From: <jue...@we...> - 2003-03-09 16:15:54
|
SGkgZmlsZSB1cGxvYWRlcnMsDQogDQpDb25jZXJuaW5nIFNwcmluZyBtdWx0aXBhcnQgaGFuZGxp bmc6IFRoZXJlJ3MgYSBzZWNvbmQgd2F5IG9mIHByb3ZpZGluZyBwbHVnZ2FibGUgbXVsdGlwYXJ0 IHN1cHBvcnQgdGhhdCBJIHByZWZlciBpbiB0aGUgbWVhbnRpbWUuIFRoZSBnb2FsIGlzIHN0aWxs IHRvIGF1dG9tYXRpY2FsbHkgZXhjaGFuZ2UgdGhlIEh0dHBTZXJ2bGV0UmVxdWVzdCB3aXRoIGEg TXVsdGlwYXJ0U2VydmxldFJlcXVlc3QgaW4gY2FzZSBvZiAibXVsdGlwYXJ0L2Zvcm0tZGF0YSIu IEJ1dCBpbnN0ZWFkIG9mIGFkZGluZyBhIE11bHRpcGFydFJlc29sdmVyIGNhcGFiaWxpdHkgdG8g Q29udHJvbGxlclNlcnZsZXQsIHdlIGNvdWxkIHNpbXBseSB1c2UgYSBzb3BoaXN0aWNhdGVkIHNl cnZsZXQgZmlsdGVyIHRoYXQgaGFuZGxlcyB0aGUgcmVxdWVzdCBleGNoYW5naW5nIGJlZm9yZSBh bmQgdGhlIHJlc291cmNlIGNsZWFudXAgYWZ0ZXIgY3VzdG9tIHJlcXVlc3QgcHJvY2Vzc2luZy4N CiANClRoZSBiYXNpYyBpZGVhIGlzIGluc3BpcmVkIGJ5IEphc29uIEh1bnRlcidzIE11bHRpcGFy dEZpbHRlciwgYnV0IHVzaW5nIHRoZSBnZW5lcmljIGludGVyZmFjZXMgdGhhdCBJJ3ZlIHByb3Bv c2VkLCBhbmQgaW5jbHVkaW5nIHJlc291cmNlIGNsZWFudXAuIEFuIEFic3RyYWN0TXVsdGlwYXJ0 RmlsdGVyIGltcGxlbWVudHMgYWxsIHRoZSBwcm9jZXNzaW5nIGFuZCBjbGVhbnVwLCB1c2luZyBh IHNpbXBsZSB0ZW1wbGF0ZSBtZXRob2QgIk11bHRpcGFydFNlcnZsZXRSZXF1ZXN0IGNyZWF0ZU11 bHRpcGFydFJlcXVlc3QoSHR0cFNlcnZsZXRSZXF1ZXN0KSIuIENvbmNyZXRlIHN1YmNsYXNzZXMg bGlrZSBDb3NNdWx0aXBhcnRGaWx0ZXIgYW5kIEpha2FydGFNdWx0aXBhcnRGaWx0ZXIgc2ltcGx5 IGltcGxlbWVudCB0aGlzIHRlbXBsYXRlIG1ldGhvZCwgaS5lLiByZXR1cm4gdGhlaXIgaW1wbGVt ZW50YXRpb24gb2YgdGhlIE11bHRpcGFydFNlcnZsZXRSZXF1ZXN0IGludGVyZmFjZSAoYXNzdW1h Ymx5IGEgc3ViY2xhc3Mgb2YgYSBwcm92aWRlZCBBYnN0cmFjdE11bHRpcGFydFNlcnZsZXRSZXF1 ZXN0IHRoYXQgaW1wbGVtZW50cyB0aGUgY29udmVuaWVuY2Ugc3R1ZmYpLg0KIA0KVGhlIG1ham9y IGFkdmFudGFnZSBvZiB0aGUgZmlsdGVyIGFwcHJvYWNoIGlzIHRoYXQgaXQgaXMgY29tcGxldGVs eSBpbmRlcGVuZGVudCBvZiB0aGUgcmVzdCBvZiBTcHJpbmcuIEluIGZhY3QgaXQgY291bGQgYmUg YSBzZXBhcmF0ZSBzbWFsbCBsaWJyYXJ5LCBidXQgaXQgZG9lc24ndCBuZWVkIHRvIGJlIC0gZmlu ZS1ncmFudWxhciByZXVzYWJpbGl0eSBldmVuIGluIGEgbGFyZ2VyIGxpYnJhcnkgaXMgbW9yZSBp bXBvcnRhbnQgdGhhbiBhIGxvdCBvZiBzbWFsbCBmcmFjdHVyZWQgSkFScywgSU1ITy4gQW55d2F5 LCBhIG11bHRpcGFydCBmaWx0ZXIgY291bGQgYmUgdXNlZCBpbiBhbnkgd2ViIGFwcGxpY2F0aW9u LCBubyBtYXR0ZXIgd2hhdCBvdGhlciBTcHJpbmcgcGFydHMgYXJlIHVzZWQgaW4gdGhhdCBhcHAu IEFuZCBJIGRvbid0IHNlZSBhIGRyYXdiYWNrIGNvbXBhcmVkIHRvIGRpcmVjdCBzdXBwb3J0IHdp dGhpbiBDb250cm9sbGVyU2VydmxldCwgYXMgZmlsdGVyIG1hcHBpbmdzIGFsbG93IGZvciBmbGV4 aWJsZSBjb25maWd1cmF0aW9uLCBldmVuIHBlciBzcGVjaWZpYyBjb250cm9sbGVyIGlmIGRlc2ly ZWQuDQogDQpBcHJvcG9zIGNvbmZpZ3VyYXRpb246IFN1Y2ggYSBmaWx0ZXIgd291bGQgaGF2ZSB0 byBiZSBjb25maWd1cmVkIGluIHdlYi54bWwgaW5zdGVhZCBvZiBpbiBhIFNwcmluZyBhcHBsaWNh dGlvbiBjb250ZXh0LiBCdXQgdGhhdCBzaG91bGRuJ3QgbWF0dGVyLCBhcyBubyBvdGhlciBiZWFu cyBuZWVkIHRvIGtub3cgb3IgdXNlIG11bHRpcGFydCBoYW5kbGVycy4gRm9yIGVhc2Ugb2YgcGFy YW1ldGVyIHBhcnNpbmcsIEFic3RyYWN0TXVsdGlwYXJ0RmlsdGVyIHNob3VsZCBleHRlbmQgRmls dGVyQmVhbiwgYSBuZXcgU3ByaW5nIGZpbHRlciBiYXNlIGNsYXNzIHRoYXQgYmluZHMgaXRzIGNv bmZpZyBwYXJhbWV0ZXJzIHRvIGJlYW4gcHJvcGVydGllcywgYW5hbG9nb3VzIHRvIEh0dHBTZXJ2 bGV0QmVhbi4NCiANCklNTywgdGhlcmUncyBzaWduaWZpY2FudCBhZGRlZCB2YWx1ZSBpbiBzdWNo IGEgbXVsdGlwYXJ0IGZpbHRlci4gQ09TIHByb3ZpZGVzIGEgcmF0aGVyIHByaW1pdGl2ZSBmaWx0 ZXIgd2l0aG91dCByZXNvdXJjZSBjbGVhbnVwIC0gdGhlIGFwcGxpY2F0aW9uIGRldmVsb3BlciBo YXMgdG8gY2FyZSBhYm91dCB0ZW1wb3JhcnkgZmlsZSBjbGVhbnVwLCBldmVuIGluIGNhc2UgYSBT ZXJ2bGV0RXhjZXB0aW9uIGJlaW5nIHRocm93biAtLCBhbmQgbm8gc3VwcG9ydCBmb3IgaW4tbWVt b3J5IHN0b3JhZ2UuIEpha2FydGEgQ29tbW9ucyBGaWxlVXBsb2FkIHByb3ZpZGVzIHRoZSBsYXR0 ZXIgYnV0IG5vIGZpbHRlciBvciBIdHRwU2VydmxldFJlcXVlc3Qgd3JhcHBlciwgYXMgaXQgY3Vy cmVudGx5IGp1c3Qgc2VydmVzIGFzIGxvdy1sZXZlbCBtdWx0aXBhcnQgcHJvdG9jb2wgaGFuZGxl ciBmb3IgU3RydXRzLiBJbXBsZW1lbnRpbmcgdGhlIHByb3Bvc2VkIGFwcHJvYWNoIGZvciBib3Ro IHNob3VsZCBiZSBzdHJhaWdodGZvcndhcmQgYW5kIHJlc3VsdCBpbiBhIHZlcnkgdGhpbiBsYXll ciBvbiB0b3AuDQogDQpXaGF0IGRvIHlvdSB0aGluaz8NCiANCkp1ZXJnZW4NCiANCiANCg0KCS0t LS0tVXJzcHLDvG5nbGljaGUgTmFjaHJpY2h0LS0tLS0gDQoJVm9uOiBKw7xyZ2VuIEjDtmxsZXIg W21haWx0bzpqdWVyZ2VuLmhvZWxsZXJAbGl3ZXN0LmF0XSANCglHZXNlbmRldDogTW8gMjQuMDIu MjAwMyAxNjoyNCANCglBbjogc3ByaW5nZnJhbWV3b3JrLWRldmVsb3BlckBsaXN0cy5zb3VyY2Vm b3JnZS5uZXQgDQoJQ2M6IA0KCUJldHJlZmY6IFtTcHJpbmdmcmFtZXdvcmstZGV2ZWxvcGVyXSBG aWxlIHVwbG9hZCBha2EgbXVsdGlwYXJ0IHJlcXVlc3QgaGFuZGxpbmcNCgkNCgkNCg0KCUhpIGV2 ZXJ5Ym9keSwNCgkNCglJJ2QgbGlrZSB0byBjb21tdW5pY2F0ZSBhbiBpZGVhIHRoYXQgSSd2ZSBi ZWVuIHRoaW5raW5nIGFib3V0IGZvciBxdWl0ZSBhDQoJd2hpbGUuIEN1cnJlbnRseSBoYW5naW5n IGFyb3VuZCBhdCBob21lIGJlaW5nIGEgYml0IHNpY2ssIHRoaXMgaXMgYSBnb29kIHdheQ0KCXRv IHVzZSB0aGUgdGltZS4uLiA7LSkgQW55d2F5LCBJJ3ZlIGFscmVhZHkgcmFpc2VkIHRoZSB0b3Bp YyBvZiB1dGlsaXR5DQoJbGlicmFyaWVzIG9uIHRoZSBXcm94IGZvcnVtIHNvbWUgdGltZSBhZ28s IGFuZCBJJ3ZlIGRvbmUgc29tZSByZXNlYXJjaA0KCXNpbmNlLiBUaGUgbWFpbiBpc3N1ZSBpcyBm aWxlIHVwbG9hZCBha2EgbXVsdGlwYXJ0IHJlcXVlc3QgaGFuZGxpbmcuDQoJDQoJVGhlcmUgYXJl IGN1cnJlbnRseSAyIG5vdGV3b3J0aHkgcmV1c2FibGUgdXBsb2FkIGxpYnJhcmllczoNCgktIEph c29uIEh1bnRlcidzIENPUyAoY29tLm9yZWlsbHkuc2VydmxldCk6IHRoZSBjbGFzc2ljLCB1bmRl ciBKYXNvbidzICJidXkNCglteSBib29rIiBsaWNlbnNlOw0KCS0gSmFrYXJ0YSdzIENvbW1vbnMg RmlsZVVwbG9hZCAoY3VycmVudGx5IDEuMCBiZXRhKTogYSBuZXcgYWx0ZXJuYXRpdmUsDQoJdW5k ZXIgdGhlIEFwYWNoZSBsaWNlbnNlLg0KCQ0KCVRoZSBsYXR0ZXIgaXMgbm93IHRoZSBkZWZhdWx0 IGltcGxlbWVudGF0aW9uIG9mIFN0cnV0cyAxLjEncw0KCU11bHRpcGFydFJlcXVlc3RIYW5kbGVy IChhbHRlcm5hdGl2ZWx5LCBTdHJ1dHMgc3RpbGwgaGFzIHRoZSBvbGQgMS4wDQoJaW1wbGVtZW50 YXRpb24sIHRoZSBzaW1wbGUgRGlza011bHRpcGFydFJlcXVlc3RIYW5kbGVyKS4gQ09TIG1heSBi ZSBvbGRlcg0KCWFuZCBiZXR0ZXIgdGVzdGVkLCBidXQgQ29tbW9ucyBGaWxlVXBsb2FkIGlzIG1v cmUgc29waGlzdGljYXRlZDogRm9yDQoJZXhhbXBsZSwgaXQgY2FuIGtlZXAgdXBsb2FkZWQgZmls ZXMgc21hbGxlciB0aGFuIGEgc3BlY2lmaWVkIHRocmVzaG9sZCBpbg0KCW1lbW9yeSBpbnN0ZWFk IG9mIHdyaXRpbmcgZXZlcnl0aGluZyB0ZW1wb3JhcmlseSB0byBkaXNrLg0KCQ0KCU15IGdvYWwg aXMgdG8gc3VwcG9ydCBmaWxlIHVwbG9hZCB3aXRoaW4gU3ByaW5nJ3Mgd2ViIHBhY2thZ2UsIGlu IGENCglzdHJhaWdodGZvcndhcmQgYW5kIHBsdWdnYWJsZSB3YXkuIFRoZSBvYnZpb3VzIHdheSB3 b3VsZCBiZSBzb21lIG11bHRpcGFydA0KCWNoZWNrIGluIENvbnRyb2xsZXJTZXJ2bGV0J3MgZG9T ZXJ2aWNlIG1ldGhvZCB0aGF0IGV4Y2hhbmdlcyB0aGUgc3RhbmRhcmQNCglIdHRwU2VydmxldFJl cXVlc3Qgd2l0aCBhIHdyYXBwaW5nIE11bHRpcGFydFNlcnZsZXRSZXF1ZXN0IChhbiBpbnRlcmZh Y2UNCglkZXJpdmVkIGZyb20gSHR0cFNlcnZsZXRSZXF1ZXN0KSBpZiBpdCBkZXRlY3RzIGEgbXVs dGlwYXJ0IHJlcXVlc3QuDQoJQ29udHJvbGxlciBpbXBsZW1lbnRhdGlvbnMgY2FuIGNoZWNrIGZv ciBhIG11bHRpcGFydCByZXF1ZXN0IHZpYSAicmVxdWVzdA0KCWluc3RhbmNlb2YgTXVsdGlwYXJ0 U2VydmxldFJlcXVlc3QiLCBvciBzaW1wbHkgY2FzdCB0byB0aGUgY2xhc3MgaWYgdGhleQ0KCWV4 cGVjdCBvbmUuDQoJDQoJVGhlIGZvbGxvd2luZyBwcm9wb3NhbCBmb3IgU3ByaW5nJ3MgbXVsdGlw YXJ0IGhhbmRsZXIgaW50ZXJmYWNlcyBpcw0KCW9idmlvdXNseSBpbnNwaXJlZCBieSBib3RoIENP UycgTXVsdGlwYXJ0UmVxdWVzdCBhbmQgQ29tbW9ucyBGaWxlVXBsb2FkJ3MNCglGaWxlSXRlbSBj bGFzc2VzLCBzbyBkb24ndCBibGFtZSBtZSEgOy0pIEl0IHNob3VsZCBiZSBlYXN5IHRvIHdyaXRl DQoJaW1wbGVtZW50YXRpb25zIGZvciBDT1MgYW5kIENvbW1vbnMgRmlsZVVwbG9hZCB0aGF0IHdl IGNvdWxkIGluY2x1ZGUgb3V0IG9mDQoJdGhlIGJveC4gT2YgY291cnNlLCB3ZSBhcmUgb25seSBh bGxvd2VkIHRvIGluY2x1ZGUgQ29tbW9ucyBGaWxlVXBsb2FkIGluIGENCglTcHJpbmcgZGlzdHJp YnV0aW9uLCBpbiB0ZXJtcyBvZiBsaWNlbnNlLiBXaG9ldmVyIHdhbnRzIHRvIHVzZSBDT1MgY291 bGQNCglzaW1wbHkgZG93bmxvYWQgaXQsIGFkZCBpdCB0byBoaXMgd2ViIGFwcCBsaWJyYXJpZXMs IGFuZCBjb25maWd1cmUgYWZmZWN0ZWQNCglTcHJpbmcgY29udHJvbGxlciBzZXJ2bGV0cyBhY2Nv cmRpbmdseS4NCgkNCglUaGUgTXVsdGlwYXJ0U2VydmxldFJlcXVlc3QgaW50ZXJmYWNlIG5lZWRz IHRvIHN1cHBvcnQgZ2V0UGFyYW1ldGVyIGFuZA0KCWFzc29jaWF0ZWQgbWV0aG9kcywgdG8gYmUg YWJsZSB0byBoYW5kbGUgc2ltcGxlIHBhcmFtZXRlcnMgaW4gYSBtdWx0aXBhcnQNCglyZXF1ZXN0 IHRyYW5zcGFyZW50bHksIGp1c3QgbGlrZSB3aGVuIGRlYWxpbmcgd2l0aCBhIG5vcm1hbCByZXF1 ZXN0LiBGb3INCglmaWxlIGhhbmRsaW5nLCBJIHByb3Bvc2UgdG8gYWRkIHRoZSBmb2xsb3dpbmcg bWV0aG9kcyBiZXlvbmQNCglIdHRwU2VydmxldFJlcXVlc3QsIGFuYWxvZ291cyB0byBwYXJhbWV0 ZXIgaGFuZGxpbmc6DQoJLSBNdWx0aXBhcnRGaWxlIGdldEZpbGUoU3RyaW5nIG5hbWUpLi4uIHJl dHVybmluZyBhIGZpbGUgZGVzY3JpcHRvciBmb3IgdGhlDQoJc3BlY2lmaWVkIGZpbGUsIG9yIG51 bGwNCgktIE1hcCBnZXRGaWxlTWFwKCkuLi4gcmV0dXJuaW5nIGEgTWFwIHdpdGggZmlsZSBuYW1l cyBhcyBrZXlzIGFuZA0KCU11bHRpcGFydEZpbGUgaW5zdGFuY2VzIGFzIHZhbHVlcw0KCS0gY2xl YXJGaWxlUmVzb3VyY2VzKCkuLi4gY2xlYXJpbmcgYWxsIHRlbXBvcmFyeSBmaWxlIHJlc291cmNl cw0KCShhdXRvbWF0aWNhbGx5IGNhbGxlZCBieSBDb250cm9sbGVyU2VydmxldCBhZnRlciBDb250 cm9sbGVyIHByb2Nlc3NpbmcpDQoJDQoJTXVsdGlwYXJ0RmlsZSBpcyBhbiBpbnRlcmZhY2Ugd2l0 aCB0aGUgZm9sbG93aW5nIG1ldGhvZHM6DQoJLSBJbnB1dFN0cmVhbSBnZXRJbnB1dFN0cmVhbSgp Li4uIHJldHVybmluZyBhbiBpbnB1dCBzdHJlYW0gd2l0aCB0aGUNCgljb250ZW50cyBvZiB0aGUg ZmlsZQ0KCS0gU3RyaW5nIGdldEZpbGVOYW1lKCkuLi4gcmV0dXJuaW5nIHRoZSBvcmlnaW5hbCBm aWxlIG5hbWUgZ2l2ZW4gYnkgdGhlDQoJY2xpZW50DQoJLSBTdHJpbmcgZ2V0Q29udGVudFR5cGUo KS4uLiByZXR1cm5pbmcgdGhlIGNvbnRlbnQgdHlwZSBnaXZlbiBieSB0aGUgY2xpZW50DQoJDQoJ VGhlc2Ugc2hvdWxkIGFsbG93IGZvciBib3RoIHNpbXBsZSBpbXBsZW1lbnRhdGlvbnMgYW5kIHNp bXBsZSB1c2FnZSBieQ0KCWN1c3RvbSBjb250cm9sbGVyIGltcGxlbWVudGF0aW9ucy4gVGhlIGlu dGVyZmFjZXMgY291bGQgZXZlbiBiZSB1c2VkIGJ5DQoJSlNQcywgYXMgdGhlIHdyYXBwZWQgcmVx dWVzdCB3aWxsIGFsc28gYmUgdXNlZCB3aGVuIGZvcndhcmRpbmcsIGFsdGhvdWdoDQoJdGhhdCBp cyBub3QgcmVjb21tZW5kZWQgcHJhY3RpY2UuIE5vcm1hbGx5LCBhIGN1c3RvbSB1cGxvYWQgY29u dHJvbGxlciB3aWxsDQoJZXZhbHVhdGUgdGhlIHVwbG9hZGVkIGZpbGVzIGFuZCBwYXJhbWV0ZXJz LCBhbmQgdHJhbnNmZXIgdGhlbSB0byBzb21lDQoJYXBwbGljYXRpb24tc3BlY2lmaWMgc3RvcmFn ZSBsb2NhdGlvbiB0aGF0IGNvdWxkIGJlIGEgZmlsZXN5c3RlbSBvciBhDQoJZGF0YWJhc2UuIEZv ciBhcHBsaWNhdGlvbiBwcm9ncmFtbWVycywgaXQgaXMgbm90IGltcG9ydGFudCB3aGVyZSB0aGUg ZmlsZXMNCglhcmUgc3RvcmVkIHRlbXBvcmFyaWx5IG9yIGlmIHRoZXkgYXJlIHN0b3JlZCBvbiBk aXNrIGF0IGFsbCwgdGhlcmVmb3JlIHRoZQ0KCWludGVyZmFjZXMgZG8gbm90IGNvdmVyIHN1Y2gg YXNwZWN0cy4gRXNzZW50aWFsbHksIG11bHRpcGFydCBoYW5kbGluZyBzaG91bGQNCgliZSBhcyBl YXN5IGFuZCB0cmFuc3BhcmVudCBhcyBwb3NzaWJsZS4NCgkNCglGaW5hbGx5LCBob3cgd2lsbCBh IENvbnRyb2xsZXJTZXJ2bGV0IHJldHJpZXZlIGEgTXVsdGlwYXJ0U2VydmxldFJlcXVlc3QNCglp bnN0YW5jZSwgdXNpbmcgdGhlIHRvb2xraXQgb2YgdGhlIGFwcGxpY2F0aW9uJ3MgY2hvaWNlPyBB IHN0cmFpZ2h0Zm9yd2FyZA0KCVNwcmluZyB3YXkgd291bGQgYmUgdG8gZGVmaW5lIGEgc3RhbmRh cmQgYmVhbiBuYW1lICJtdWx0aXBhcnRSZXNvbHZlciINCgkoYW5hbG9nb3VzIHRvICJ2aWV3UmVz b2x2ZXIiIGFuZCAibG9jYWxlUmVzb2x2ZXIiKSB0aGF0IG5lZWRzIHRvIGltcGxlbWVudA0KCXRo ZSBpbnRlcmZhY2UgTXVsdGlwYXJ0UmVzb2x2ZXI6DQoJLSBNdWx0aXBhcnRTZXJ2bGV0UmVxdWVz dCBjcmVhdGVNdWx0aXBhcnRSZXF1ZXN0KEh0dHBTZXJ2bGV0UmVxdWVzdA0KCXJlcXVlc3QpLi4u IGNyZWF0aW5nIGEgd3JhcHBlcg0KCS0gYm9vbGVhbiBoYXNNdWx0aXBhcnRDb250ZW50KEh0dHBT ZXJ2bGV0UmVxdWVzdCByZXF1ZXN0KS4uLiBjaGVja2luZyB0aGUNCgljb250ZW50IHR5cGUNCgkN CglPZiBjb3Vyc2UsIENvbnRyb2xsZXJTZXJ2bGV0IHNob3VsZCBzaW1wbHkgaWdub3JlIG11bHRp cGFydCBoYW5kbGluZyB3aGVuDQoJdGhlcmUncyBubyAibXVsdGlwYXJ0UmVzb2x2ZXIiIGJlYW4s IG1heWJlIGxvZyBhIHdhcm5pbmcgb24gaW5pdGlhbGl6YXRpb24uDQoJDQoJV2hhdCBkbyB5b3Ug dGhpbms/IElmIHdlIHNldHRsZSBvbiB0aGUgcHJvcG9zYWwsIEkgY291bGQgaW1wbGVtZW50IGl0 DQoJcHJvbXB0bHkgKHJpZ2h0IGFmdGVyIGxvY2FsZSByZXNvbHV0aW9uKS4gSSBkZWZpbml0ZWx5 IGNvbnNpZGVyIGZpbGUgdXBsb2FkDQoJYSAxLjAgaXNzdWUsIGFzIGJvdGggU3RydXRzIGFuZCBX ZWJXb3JrIGhhdmUgYnVpbHQtaW4gc3VwcG9ydCBmb3IgaXQuDQoJDQoJSnVlcmdlbg0KDQo= |