From: Reggie Burnett Date: September 11 2012 6:56pm Subject: bzr commit into ABSv2 branch (reggie.burnett:20) List-Archive: http://lists.mysql.com/commits/144722 Message-Id: <201209111856.q8BIuRaG018156@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0296055584==" --===============0296055584== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline I0F0IGZpbGU6Ly8vQzovd29yay93ZXgvYWJzdjIvIGJhc2VkIG9uIHJldmlkOnJlZ2dpZS5idXJu ZXR0QG9yYWNsZS5jb20tMjAxMjA5MDQyMTI1MjktbjFoOGk5OXZlNzN0YjYzdQoKICAgMjAgUmVn Z2llIEJ1cm5ldHQJMjAxMi0wOS0xMQogICAgICBzdGFydGVkIGJ1aWxkIHZlcmlmaWVyIGNvZGUg YWxvbmcgd2l0aCBtc2kgaW50ZXJvcCBjb2RlCgogICAgYWRkZWQ6CiAgICAgIEFic1V0aWxpdHkv QnVpbGRWZXJpZmllci5jcwogICAgICBBYnNVdGlsaXR5L01TSURhdGFiYXNlLmNzCiAgICAgIEFi c1V0aWxpdHkvTVNJSW50ZXJvcC5jcwogICAgICBBYnNVdGlsaXR5L01TSVJlY29yZC5jcwogICAg ICBBYnNVdGlsaXR5L01TSVZpZXcuY3MKICAgIG1vZGlmaWVkOgogICAgICBBYnNKb2JQcm9jZXNz b3IvQWJzSm9iUHJvY2Vzc29yLmNzcHJvagogICAgICBBYnNKb2JQcm9jZXNzb3IvUHJvZ3JhbS5j cwogICAgICBBYnNVdGlsaXR5L0Fic1V0aWxpdHkuY3Nwcm9qCiAgICAgIEFic1V0aWxpdHkvSm9i LmNzCj09PSBtb2RpZmllZCBmaWxlICdBYnNKb2JQcm9jZXNzb3IvQWJzSm9iUHJvY2Vzc29yLmNz cHJvaicKPT09IG1vZGlmaWVkIGZpbGUgJ0Fic0pvYlByb2Nlc3Nvci9BYnNKb2JQcm9jZXNzb3Iu Y3Nwcm9qJwotLS0gYS9BYnNKb2JQcm9jZXNzb3IvQWJzSm9iUHJvY2Vzc29yLmNzcHJvagkyMDEy LTA4LTIyIDE3OjM2OjU1ICswMDAwCisrKyBiL0Fic0pvYlByb2Nlc3Nvci9BYnNKb2JQcm9jZXNz b3IuY3Nwcm9qCTIwMTItMDktMTEgMTg6NTY6MTggKzAwMDAKQEAgLTE1LDcgKzE1LDcgQEAKICAg ICA8RmlsZUFsaWdubWVudD41MTI8L0ZpbGVBbGlnbm1lbnQ+DQogICA8L1Byb3BlcnR5R3JvdXA+ DQogICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IiAnJChDb25maWd1cmF0aW9uKXwkKFBsYXRm b3JtKScgPT0gJ0RlYnVnfHg4NicgIj4NCi0gICAgPFBsYXRmb3JtVGFyZ2V0Png4NjwvUGxhdGZv cm1UYXJnZXQ+DQorICAgIDxQbGF0Zm9ybVRhcmdldD5BbnlDUFU8L1BsYXRmb3JtVGFyZ2V0Pg0K ICAgICA8RGVidWdTeW1ib2xzPnRydWU8L0RlYnVnU3ltYm9scz4NCiAgICAgPERlYnVnVHlwZT5m dWxsPC9EZWJ1Z1R5cGU+DQogICAgIDxPcHRpbWl6ZT5mYWxzZTwvT3B0aW1pemU+DQoKPT09IG1v ZGlmaWVkIGZpbGUgJ0Fic0pvYlByb2Nlc3Nvci9Qcm9ncmFtLmNzJwotLS0gYS9BYnNKb2JQcm9j ZXNzb3IvUHJvZ3JhbS5jcwkyMDEyLTA5LTA0IDIxOjI1OjI5ICswMDAwCisrKyBiL0Fic0pvYlBy b2Nlc3Nvci9Qcm9ncmFtLmNzCTIwMTItMDktMTEgMTg6NTY6MTggKzAwMDAKQEAgLTE2LDYgKzE2 LDIwIEBACiANCiAgICAgICB0cnkNCiAgICAgICB7DQorICAgICAgICBNU0lEYXRhYmFzZSBtID0g bmV3IE1TSURhdGFiYXNlKEAiYzpcXHRlc3QubXNpIik7DQorICAgICAgICBtLk9wZW4oKTsNCisg ICAgICAgIERhdGFUYWJsZSBkdDIgPSBtLkdldFRhYmxlKCJGaWxlIik7DQorICAgICAgICBtLkNs b3NlKCk7DQorICAgICAgfQ0KKyAgICAgIGNhdGNoIChFeGNlcHRpb24gZXgpDQorICAgICAgew0K KyAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoZXguTWVzc2FnZSArIGV4LlN0YWNrVHJhY2UpOw0K KyAgICAgICAgQ29uc29sZS5SZWFkTGluZSgpOw0KKyAgICAgIH0NCisgICAgICByZXR1cm47DQor DQorICAgICAgdHJ5DQorICAgICAgew0KICAgICAgICAgaWYgKCFTZXR0aW5ncy5SZXNvbHZlRm9s ZGVycygpKSByZXR1cm47DQogICAgICAgICBpZiAoIVV0aWxpdHkuU2hvdWxkUnVuKCkpIHJldHVy bjsNCiANCgo9PT0gbW9kaWZpZWQgZmlsZSAnQWJzVXRpbGl0eS9BYnNVdGlsaXR5LmNzcHJvaicK LS0tIGEvQWJzVXRpbGl0eS9BYnNVdGlsaXR5LmNzcHJvagkyMDEyLTA4LTI4IDE5OjEwOjAyICsw MDAwCisrKyBiL0Fic1V0aWxpdHkvQWJzVXRpbGl0eS5jc3Byb2oJMjAxMi0wOS0xMSAxODo1Njox OCArMDAwMApAQCAtNDQsOCArNDQsMTMgQEAKICAgICA8UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3Rl bS5YbWwiIC8+DQogICA8L0l0ZW1Hcm91cD4NCiAgIDxJdGVtR3JvdXA+DQorICAgIDxDb21waWxl IEluY2x1ZGU9IkJ1aWxkVmVyaWZpZXIuY3MiIC8+DQogICAgIDxDb21waWxlIEluY2x1ZGU9Ikpv Yi5jcyIgLz4NCiAgICAgPENvbXBpbGUgSW5jbHVkZT0iSm9iQnVpbGQuY3MiIC8+DQorICAgIDxD b21waWxlIEluY2x1ZGU9Ik1TSURhdGFiYXNlLmNzIiAvPg0KKyAgICA8Q29tcGlsZSBJbmNsdWRl PSJNU0lJbnRlcm9wLmNzIiAvPg0KKyAgICA8Q29tcGlsZSBJbmNsdWRlPSJNU0lSZWNvcmQuY3Mi IC8+DQorICAgIDxDb21waWxlIEluY2x1ZGU9Ik1TSVZpZXcuY3MiIC8+DQogICAgIDxDb21waWxl IEluY2x1ZGU9IlByb2R1Y3QuY3MiIC8+DQogICAgIDxDb21waWxlIEluY2x1ZGU9IlByb3BlcnRp ZXNcQXNzZW1ibHlJbmZvLmNzIiAvPg0KICAgICA8Q29tcGlsZSBJbmNsdWRlPSJTZXR0aW5ncy5j cyIgLz4NCgo9PT0gYWRkZWQgZmlsZSAnQWJzVXRpbGl0eS9CdWlsZFZlcmlmaWVyLmNzJwotLS0g YS9BYnNVdGlsaXR5L0J1aWxkVmVyaWZpZXIuY3MJMTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAor KysgYi9BYnNVdGlsaXR5L0J1aWxkVmVyaWZpZXIuY3MJMjAxMi0wOS0xMSAxODo1NjoxOCArMDAw MApAQCAtMCwwICsxLDU3IEBACivDr8K7wr91c2luZyBTeXN0ZW07DQordXNpbmcgU3lzdGVtLkNv bGxlY3Rpb25zLkdlbmVyaWM7DQordXNpbmcgU3lzdGVtLklPOw0KK3VzaW5nIFN5c3RlbS5MaW5x Ow0KK3VzaW5nIFN5c3RlbS5UZXh0Ow0KKw0KK25hbWVzcGFjZSBBYnMNCit7DQorICBpbnRlcm5h bCBjbGFzcyBCdWlsZFZlcmlmaWVyDQorICB7DQorICAgIHB1YmxpYyBCdWlsZFZlcmlmaWVyKHN0 cmluZyBzZXJpZXMsIHN0cmluZyBsaWNlbnNlLCBzdHJpbmcgZmlsZSkNCisgICAgew0KKyAgICAg IEJ1aWxkRmlsZSA9IGZpbGU7DQorICAgICAgU2VyaWVzID0gc2VyaWVzOw0KKyAgICAgIExpY2Vu c2UgPSBsaWNlbnNlOw0KKyAgICB9DQorDQorICAgIHB1YmxpYyBzdHJpbmcgQnVpbGRGaWxlIHsg Z2V0OyBwcml2YXRlIHNldDsgfQ0KKyAgICBwdWJsaWMgc3RyaW5nIFNlcmllcyB7IGdldDsgcHJp dmF0ZSBzZXQ7IH0NCisgICAgcHVibGljIHN0cmluZyBMaWNlbnNlIHsgZ2V0OyBwcml2YXRlIHNl dDsgfQ0KKw0KKyAgICBwdWJsaWMgdm9pZCBWZXJpZnkoKQ0KKyAgICB7DQorICAgICAgVmVyaWZ5 RmlsZUV4aXN0c0FuZFNpemUoKTsNCisgICAgICBWZXJpZnlQcm9wZXJGaWxlTmFtZSgpOw0KKyAg ICAgIE1TSURhdGFiYXNlIG0gPSBuZXcgTVNJRGF0YWJhc2UoQnVpbGRGaWxlKTsNCisgICAgICB1 c2luZyAobSkNCisgICAgICB7DQorICAgICAgICBtLk9wZW4oKTsNCisgICAgICAgIFZlcmlmeVBy b3BlckZpbGVzSW5jbHVkZWQobSk7DQorICAgICAgICBWZXJpZnlNYW5pZmVzdChtKTsNCisgICAg ICB9DQorICAgIH0NCisNCisgICAgcHJpdmF0ZSB2b2lkIFZlcmlmeUZpbGVFeGlzdHNBbmRTaXpl KCkNCisgICAgew0KKyAgICAgIGlmICghRmlsZS5FeGlzdHMoQnVpbGRGaWxlKSkNCisgICAgICAg IHRocm93IG5ldyBFeGNlcHRpb24oIkluc3RhbGxlciBmaWxlIGRvZXMgbm90IGV4aXN0Iik7DQor ICAgICAgRmlsZUluZm8gZmkgPSBuZXcgRmlsZUluZm8oQnVpbGRGaWxlKTsNCisgICAgICBpZiAo ZmkuTGVuZ3RoIDwgMjAwICogMTAyNCAqIDEwMjQpDQorICAgICAgICB0aHJvdyBuZXcgRXhjZXB0 aW9uKCJJbnN0YWxsZXIgaXMgbm90IGxhcmdlIGVub3VnaCIpOw0KKyAgICB9DQorDQorICAgIHBy aXZhdGUgdm9pZCBWZXJpZnlQcm9wZXJGaWxlTmFtZSgpDQorICAgIHsNCisNCisgICAgfQ0KKw0K KyAgICBwcml2YXRlIHZvaWQgVmVyaWZ5UHJvcGVyRmlsZXNJbmNsdWRlZChNU0lEYXRhYmFzZSBt KQ0KKyAgICB7DQorICAgIH0NCisNCisgICAgcHJpdmF0ZSB2b2lkIFZlcmlmeU1hbmlmZXN0KE1T SURhdGFiYXNlIG0pDQorICAgIHsNCisgICAgfQ0KKyAgfQ0KK30NCgo9PT0gbW9kaWZpZWQgZmls ZSAnQWJzVXRpbGl0eS9Kb2IuY3MnCi0tLSBhL0Fic1V0aWxpdHkvSm9iLmNzCTIwMTItMDktMDQg MjA6MDQ6MDUgKzAwMDAKKysrIGIvQWJzVXRpbGl0eS9Kb2IuY3MJMjAxMi0wOS0xMSAxODo1Njox OCArMDAwMApAQCAtMTUxLDEwICsxNTEsMTkgQEAKICAgICAgIC8vIHVzZSBtc2J1aWxkIHRvIGJ1 aWxkIHNldHVwIG1zaQ0KICAgICAgIEJ1aWxkSW5zdGFsbGVyKHNlcmllcywgbGljZW5zZSk7DQog DQorICAgICAgLy8gbm93IHZlcmlmeSB0aGF0IHRoZSBpbnN0YWxsZXIgaXMgbGlrZWx5IHZhbGlk DQorICAgICAgVmVyaWZ5SW5zdGFsbGVyKHNlcmllcywgbGljZW5zZSk7DQorDQogICAgICAgLy8g bWFyayBqb2IgYXMgZG9uZQ0KICAgICAgIFJlZ2lzdGVyQnVpbGQoc2VyaWVzLCBsaWNlbnNlKTsN CiAgICAgfQ0KIA0KKyAgICBwcml2YXRlIHZvaWQgVmVyaWZ5SW5zdGFsbGVyKHN0cmluZyBzZXJp ZXMsIHN0cmluZyBsaWNlbnNlKQ0KKyAgICB7DQorICAgICAgQnVpbGRWZXJpZmllciB2ID0gbmV3 IEJ1aWxkVmVyaWZpZXIoc2VyaWVzLCBsaWNlbnNlLCBvdXRwdXRGaWxlTmFtZSk7DQorICAgICAg di5WZXJpZnkoKTsNCisgICAgfQ0KKw0KICAgICBwcml2YXRlIHZvaWQgUmVnaXN0ZXJCdWlsZChz dHJpbmcgc2VyaWVzLCBzdHJpbmcgbGljZW5zZSkNCiAgICAgew0KICAgICAgIE15U3FsSGVscGVy LkV4ZWN1dGVOb25RdWVyeShTZXR0aW5ncy5Db25uZWN0aW9uU3RyaW5nLA0KCj09PSBhZGRlZCBm aWxlICdBYnNVdGlsaXR5L01TSURhdGFiYXNlLmNzJwotLS0gYS9BYnNVdGlsaXR5L01TSURhdGFi YXNlLmNzCTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvQWJzVXRpbGl0eS9NU0lEYXRh YmFzZS5jcwkyMDEyLTA5LTExIDE4OjU2OjE4ICswMDAwCkBAIC0wLDAgKzEsNTcgQEAKK8OvwrvC v3VzaW5nIFN5c3RlbTsNCit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsNCit1c2lu ZyBTeXN0ZW0uRGF0YTsNCit1c2luZyBTeXN0ZW0uTGlucTsNCit1c2luZyBTeXN0ZW0uUnVudGlt ZS5JbnRlcm9wU2VydmljZXM7DQordXNpbmcgU3lzdGVtLlRleHQ7DQorDQorbmFtZXNwYWNlIEFi cw0KK3sNCisgIHB1YmxpYyBjbGFzcyBNU0lEYXRhYmFzZSA6IElEaXNwb3NhYmxlDQorICB7DQor ICAgIHB1YmxpYyBNU0lEYXRhYmFzZShzdHJpbmcgZmlsZSkNCisgICAgew0KKyAgICAgIEZpbGVu YW1lID0gZmlsZTsNCisgICAgfQ0KKw0KKyAgICBwdWJsaWMgc3RyaW5nIEZpbGVuYW1lIHsgZ2V0 OyBwcml2YXRlIHNldDsgfQ0KKyAgICBwdWJsaWMgSW50UHRyIEhhbmRsZSB7IGdldDsgcHJpdmF0 ZSBzZXQ7IH0NCisNCisgICAgcHVibGljIHZvaWQgT3BlbigpDQorICAgIHsNCisgICAgICBJbnRQ dHIgaGFuZGxlID0gSW50UHRyLlplcm87DQorICAgICAgV2luZG93c0Vycm9yQ29kZSByZXN1bHQg PSBNU0lJbnRlcm9wLk1zaU9wZW5EYXRhYmFzZShGaWxlbmFtZSwgbmV3IEludFB0cihNU0lJbnRl cm9wLk1TSURCT1BFTl9SRUFET05MWSksIG91dCBoYW5kbGUpOw0KKyAgICAgIGlmIChyZXN1bHQg IT0gV2luZG93c0Vycm9yQ29kZS5FUlJPUl9TVUNDRVNTKQ0KKyAgICAgICAgdGhyb3cgbmV3IEV4 Y2VwdGlvbigiVW5hYmxlIHRvIG9wZW4gbXNpIGRhdGFiYXNlLiBSZXR1cm4gdmFsdWUgd2FzOiAi ICsgcmVzdWx0KTsNCisgICAgICBIYW5kbGUgPSBoYW5kbGU7DQorICAgIH0NCisNCisgICAgcHVi bGljIHZvaWQgQ2xvc2UoKQ0KKyAgICB7DQorICAgICAgaWYgKEhhbmRsZSAhPSBJbnRQdHIuWmVy bykNCisgICAgICAgIE1TSUludGVyb3AuTXNpQ2xvc2VIYW5kbGUoSGFuZGxlKTsNCisgICAgICBI YW5kbGUgPSBJbnRQdHIuWmVybzsNCisgICAgfQ0KKw0KKyAgICBwdWJsaWMgRGF0YVRhYmxlIEdl dFRhYmxlKHN0cmluZyB0YWJsZU5hbWUpDQorICAgIHsNCisgICAgICBNU0lWaWV3IHZpZXcgPSBu ZXcgTVNJVmlldyh0aGlzKTsNCisgICAgICB1c2luZyAodmlldykNCisgICAgICB7DQorICAgICAg ICB2aWV3Lk9wZW4oIlNFTEVDVCAqIEZST00gIiArIHRhYmxlTmFtZSk7DQorICAgICAgICByZXR1 cm4gdmlldy5HZXREYXRhVGFibGUoKTsNCisgICAgICB9DQorICAgIH0NCisNCisgICAgI3JlZ2lv biBJRGlzcG9zYWJsZSBNZW1iZXJzDQorDQorICAgIHB1YmxpYyB2b2lkIERpc3Bvc2UoKQ0KKyAg ICB7DQorICAgICAgQ2xvc2UoKTsNCisgICAgfQ0KKw0KKyAgICAjZW5kcmVnaW9uDQorDQorICB9 DQorDQorfQ0KCj09PSBhZGRlZCBmaWxlICdBYnNVdGlsaXR5L01TSUludGVyb3AuY3MnCi0tLSBh L0Fic1V0aWxpdHkvTVNJSW50ZXJvcC5jcwkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBi L0Fic1V0aWxpdHkvTVNJSW50ZXJvcC5jcwkyMDEyLTA5LTExIDE4OjU2OjE4ICswMDAwCkBAIC0w LDAgKzEsNzYgQEAKK8OvwrvCv3VzaW5nIFN5c3RlbTsNCit1c2luZyBTeXN0ZW0uQ29sbGVjdGlv bnMuR2VuZXJpYzsNCit1c2luZyBTeXN0ZW0uTGlucTsNCit1c2luZyBTeXN0ZW0uUnVudGltZS5J bnRlcm9wU2VydmljZXM7DQordXNpbmcgU3lzdGVtLlRleHQ7DQorDQorbmFtZXNwYWNlIEFicw0K K3sNCisgIHB1YmxpYyBjbGFzcyBNU0lJbnRlcm9wDQorICB7DQorICAgIC8vKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKiogDQorICAgIC8vIERsbEltcG9ydHMgZm9yIHRoZSBNU0kg QVBJJ3MgdXNlZC4NCisgICAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0K KyAgICBbRGxsSW1wb3J0KCJtc2kuZGxsIiwgU2V0TGFzdEVycm9yID0gdHJ1ZSldDQorICAgIHB1 YmxpYyBzdGF0aWMgZXh0ZXJuIFdpbmRvd3NFcnJvckNvZGUgTXNpT3BlbkRhdGFiYXNlKHN0cmlu ZyBzekRhdGFiYXNlUGF0aCwgSW50UHRyIHBoUGVyc2lzdCwgb3V0IEludFB0ciBwaERhdGFiYXNl KTsNCisNCisgICAgW0RsbEltcG9ydCgibXNpLmRsbCIsIEV4YWN0U3BlbGxpbmcgPSB0cnVlKV0N CisgICAgcHVibGljIHN0YXRpYyBleHRlcm4gV2luZG93c0Vycm9yQ29kZSBNc2lDbG9zZUhhbmRs ZShJbnRQdHIgaEFueSk7DQorDQorICAgIFtEbGxJbXBvcnQoIm1zaS5kbGwiLCBDaGFyU2V0ID0g Q2hhclNldC5Vbmljb2RlKV0NCisgICAgcHVibGljIHN0YXRpYyBleHRlcm4gV2luZG93c0Vycm9y Q29kZSBNc2lEYXRhYmFzZU9wZW5WaWV3VyhJbnRQdHIgaERhdGFiYXNlLCBbTWFyc2hhbEFzKFVu bWFuYWdlZFR5cGUuTFBXU3RyKV0gc3RyaW5nIHN6UXVlcnksIG91dCBJbnRQdHIgcGhWaWV3KTsN CisNCisgICAgW0RsbEltcG9ydCgibXNpLmRsbCIsIENoYXJTZXQgPSBDaGFyU2V0LlVuaWNvZGUp XQ0KKyAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBXaW5kb3dzRXJyb3JDb2RlIE1zaVZpZXdFeGVj dXRlKEludFB0ciBoVmlldywgSW50UHRyIGhSZWNvcmQpOw0KKw0KKyAgICBbRGxsSW1wb3J0KCJt c2kuZGxsIiwgQ2hhclNldCA9IENoYXJTZXQuVW5pY29kZSldDQorICAgIHB1YmxpYyBzdGF0aWMg ZXh0ZXJuIFdpbmRvd3NFcnJvckNvZGUgTXNpVmlld0ZldGNoKEludFB0ciBoVmlldywgb3V0IElu dFB0ciBoUmVjb3JkKTsNCisNCisgICAgW0RsbEltcG9ydCgibXNpLmRsbCIsIENoYXJTZXQgPSBD aGFyU2V0LlVuaWNvZGUpXQ0KKyAgICBwdWJsaWMgc3RhdGljIGV4dGVybiBXaW5kb3dzRXJyb3JD b2RlIE1zaURhdGFiYXNlQ29tbWl0KEludFB0ciBoRGF0YWJhc2UpOw0KKw0KKyAgICBwdWJsaWMg Y29uc3QgaW50IE1TSUNPTElORk9fTkFNRVMgPSAwOyAgLy8gcmV0dXJuIGNvbHVtbiBuYW1lcw0K KyAgICBwdWJsaWMgY29uc3QgaW50IE1TSUNPTElORk9fVFlQRVMgPSAxOyAgLy8gcmV0dXJuIGNv bHVtbiBkZWZpbml0aW9ucywgZGF0YXR5cGUgY29kZSBmb2xsb3dlZCBieSB3aWR0aA0KKyAgICBb RGxsSW1wb3J0KCJtc2kuZGxsIiwgRXhhY3RTcGVsbGluZyA9IHRydWUpXQ0KKyAgICBwdWJsaWMg c3RhdGljIGV4dGVybiBXaW5kb3dzRXJyb3JDb2RlIE1zaVZpZXdHZXRDb2x1bW5JbmZvKEludFB0 ciBoVmlldywgaW50IGVDb2x1bW5JbmZvLCBvdXQgSW50UHRyIGhSZWNvcmQpOw0KKw0KKyAgICBb RGxsSW1wb3J0KCJtc2kuZGxsIiwgQ2hhclNldCA9IENoYXJTZXQuVW5pY29kZSldDQorICAgIHB1 YmxpYyBzdGF0aWMgZXh0ZXJuIFdpbmRvd3NFcnJvckNvZGUgTXNpUmVjb3JkR2V0U3RyaW5nKElu dFB0ciBoUmVjb3JkLCBpbnQgaUZpZWxkLCBTdHJpbmdCdWlsZGVyIHN6VmFsdWVCdWYsIHJlZiBp bnQgcGNjaFZhbHVlQnVmKTsNCisNCisgICAgW0RsbEltcG9ydCgibXNpLmRsbCIsIENoYXJTZXQg PSBDaGFyU2V0LlVuaWNvZGUpXQ0KKyAgICBwdWJsaWMgc3RhdGljIGV4dGVybiB1aW50IE1zaVJl Y29yZEdldEZpZWxkQ291bnQoSW50UHRyIHJlY29yZCk7DQorDQorICAgIFtEbGxJbXBvcnQoIm1z aS5kbGwiKV0NCisgICAgcHVibGljIHN0YXRpYyBleHRlcm4gV2luZG93c0Vycm9yQ29kZSBNc2lW aWV3Q2xvc2UoSW50UHRyIHZpZXdoYW5kbGUpOw0KKw0KKyAgICAvLyoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqDQorICAgIC8vIE9wZW4gbW9kZSBjb25zdGFudHMgZm9y IE1zaU9wZW5EYXRhYmFzZS4NCisgICAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKg0KKyAgICBwdWJsaWMgY29uc3QgaW50IE1TSURCT1BFTl9SRUFET05MWSA9IDA7 ICAvLyBkYXRhYmFzZSBvcGVuIHJlYWQtb25seSwgbm8gcGVyc2lzdGVudCBjaGFuZ2VzDQorICAg IHB1YmxpYyBjb25zdCBpbnQgTVNJREJPUEVOX1RSQU5TQUNUID0gMTsgIC8vIGRhdGFiYXNlIHJl YWQvd3JpdGUgaW4gdHJhbnNhY3Rpb24gbW9kZQ0KKyAgICBwdWJsaWMgY29uc3QgaW50IE1TSURC T1BFTl9ESVJFQ1QgPSAyOyAgLy8gZGF0YWJhc2UgZGlyZWN0IHJlYWQvd3JpdGUgd2l0aG91dCB0 cmFuc2FjdGlvbg0KKyAgICBwdWJsaWMgY29uc3QgaW50IE1TSURCT1BFTl9DUkVBVEUgPSAzOyAg Ly8gY3JlYXRlIG5ldyBkYXRhYmFzZSwgdHJhbnNhY3QgbW9kZSByZWFkL3dyaXRlDQorICAgIHB1 YmxpYyBjb25zdCBpbnQgTVNJREJPUEVOX0NSRUFURURJUkVDVCA9IDQ7ICAvLyBjcmVhdGUgbmV3 IGRhdGFiYXNlLCBkaXJlY3QgbW9kZSByZWFkL3dyaXRlDQorICB9DQorDQorICBwdWJsaWMgZW51 bSBXaW5kb3dzRXJyb3JDb2RlIDogaW50DQorICB7DQorICAgIEVSUk9SX1NVQ0NFU1MgPSAwLA0K KyAgICBFUlJPUl9JTlZBTElEX1BBUkFNRVRFUiA9IDg3LA0KKyAgICBFUlJPUl9OT19NT1JFX0lU RU1TID0gMjU5LA0KKyAgICBFUlJPUl9JTlNUQUxMX1VTRVJFWElUID0gMTYwMiwNCisgICAgRVJS T1JfSU5TVEFMTF9GQUlMVVJFID0gMTYwMywNCisgICAgRVJST1JfQkFEX0NPTkZJR1VSQVRJT04g PSAxNjEwLA0KKyAgICBFUlJPUl9JTlNUQUxMX0lOX1BST0dSRVNTID0gMTYxOCwNCisgICAgRVJS T1JfSU5TVEFMTF9TT1VSQ0VfQUJTRU5UID0gMTYxMiwNCisgICAgRVJST1JfVU5LTk9XTl9QUk9E VUNUID0gMTYwNSwNCisgICAgRVJST1JfRlVOQ1RJT05fRkFJTEVEID0gMTYyNywNCisgICAgRVJS T1JfSU5WQUxJRF9IQU5ETEVfU1RBVEUgPSAxNjA5LA0KKyAgICBFUlJPUl9NT1JFX0RBVEEgPSAy MzQsDQorICAgIEVSUk9SX1VOS05PV05fUFJPUEVSVFkgPSAxNjA4LA0KKyAgICBFUlJPUl9DUkVB VEVfRkFJTEVEID0gMTYzMSwNCisgICAgRVJST1JfT1BFTl9GQUlMRUQgPSAxMTAsDQorICAgIEVS Uk9SX0JBRF9RVUVSWV9TWU5UQVggPSAxNjE1DQorICB9DQorDQorfQ0KCj09PSBhZGRlZCBmaWxl ICdBYnNVdGlsaXR5L01TSVJlY29yZC5jcycKLS0tIGEvQWJzVXRpbGl0eS9NU0lSZWNvcmQuY3MJ MTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysgYi9BYnNVdGlsaXR5L01TSVJlY29yZC5jcwky MDEyLTA5LTExIDE4OjU2OjE4ICswMDAwCkBAIC0wLDAgKzEsNTMgQEAKK8OvwrvCv3VzaW5nIFN5 c3RlbTsNCit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsNCit1c2luZyBTeXN0ZW0u TGlucTsNCit1c2luZyBTeXN0ZW0uVGV4dDsNCisNCituYW1lc3BhY2UgQWJzDQorew0KKyAgcHVi bGljIGNsYXNzIE1TSVJlY29yZCA6IElEaXNwb3NhYmxlDQorICB7DQorICAgIHB1YmxpYyBNU0lS ZWNvcmQoKQ0KKyAgICB7DQorICAgIH0NCisNCisgICAgcHVibGljIE1TSVJlY29yZChJbnRQdHIg cmVjb3JkKQ0KKyAgICB7DQorICAgICAgICBIYW5kbGUgPSByZWNvcmQ7DQorICAgIH0NCisNCisg ICAgcHVibGljIEludFB0ciBIYW5kbGUgeyBnZXQ7IHByaXZhdGUgc2V0OyB9DQorDQorICAgIHB1 YmxpYyB2b2lkIENsb3NlKCkNCisgICAgew0KKyAgICAgIGlmIChIYW5kbGUgIT0gSW50UHRyLlpl cm8pDQorICAgICAgICBNU0lJbnRlcm9wLk1zaUNsb3NlSGFuZGxlKEhhbmRsZSk7DQorICAgICAg SGFuZGxlID0gSW50UHRyLlplcm87DQorICAgIH0NCisNCisgICAgcHVibGljIHVpbnQgTnVtYmVy T2ZGaWVsZHMoKQ0KKyAgICB7DQorICAgICAgcmV0dXJuIE1TSUludGVyb3AuTXNpUmVjb3JkR2V0 RmllbGRDb3VudChIYW5kbGUpOw0KKyAgICB9DQorDQorICAgIHB1YmxpYyBzdHJpbmcgR2V0U3Ry aW5nKGludCBpbmRleCwgaW50IG1heFNpemUgPSAxMDI0KQ0KKyAgICB7DQorICAgICAgdmFyIGJ1 aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcihtYXhTaXplKTsNCisgICAgICB2YXIgY291bnQgPSBi dWlsZGVyLkNhcGFjaXR5Ow0KKw0KKyAgICAgIFdpbmRvd3NFcnJvckNvZGUgcmVzdWx0ID0gTVNJ SW50ZXJvcC5Nc2lSZWNvcmRHZXRTdHJpbmcoSGFuZGxlLCBpbmRleCwgYnVpbGRlciwgcmVmIGNv dW50KTsNCisgICAgICBpZiAocmVzdWx0ID09IFdpbmRvd3NFcnJvckNvZGUuRVJST1JfU1VDQ0VT UykNCisgICAgICAgIHJldHVybiBidWlsZGVyLlRvU3RyaW5nKCk7DQorICAgICAgdGhyb3cgbmV3 IEV4Y2VwdGlvbihTdHJpbmcuRm9ybWF0KCJFcnJvciByZXRyaWV2aW5nIHN0cmluZyB2YWx1ZSBm b3IgaW5kZXggezB9IiwgaW5kZXgpKTsNCisgICAgfQ0KKw0KKyAgICAjcmVnaW9uIElEaXNwb3Nh YmxlIE1lbWJlcnMNCisNCisgICAgcHVibGljIHZvaWQgRGlzcG9zZSgpDQorICAgIHsNCisgICAg ICBDbG9zZSgpOw0KKyAgICB9DQorDQorICAgICNlbmRyZWdpb24NCisgIH0NCit9DQoKPT09IGFk ZGVkIGZpbGUgJ0Fic1V0aWxpdHkvTVNJVmlldy5jcycKLS0tIGEvQWJzVXRpbGl0eS9NU0lWaWV3 LmNzCTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvQWJzVXRpbGl0eS9NU0lWaWV3LmNz CTIwMTItMDktMTEgMTg6NTY6MTggKzAwMDAKQEAgLTAsMCArMSwxMTUgQEAKK8OvwrvCv3VzaW5n IFN5c3RlbTsNCit1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsNCit1c2luZyBTeXN0 ZW0uRGF0YTsNCit1c2luZyBTeXN0ZW0uTGlucTsNCit1c2luZyBTeXN0ZW0uVGV4dDsNCisNCitu YW1lc3BhY2UgQWJzDQorew0KKyAgcHVibGljIGNsYXNzIE1TSVZpZXcgOiBJRGlzcG9zYWJsZQ0K KyAgew0KKyAgICBwdWJsaWMgTVNJVmlldyhNU0lEYXRhYmFzZSBkYikgDQorICAgIHsNCisgICAg ICBEYXRhYmFzZSA9IGRiOw0KKyAgICB9DQorDQorICAgIHB1YmxpYyBNU0lEYXRhYmFzZSBEYXRh YmFzZSB7IGdldDsgcHJpdmF0ZSBzZXQ7IH0NCisgICAgcHVibGljIHN0cmluZyBWaWV3U1FMIHsg Z2V0OyBwcml2YXRlIHNldDsgfQ0KKyAgICBwdWJsaWMgSW50UHRyIEhhbmRsZSB7IGdldDsgcHJp dmF0ZSBzZXQ7IH0NCisgICAgcHVibGljIExpc3Q8c3RyaW5nPiBDb2x1bW5OYW1lcyB7IGdldDsg cHJpdmF0ZSBzZXQ7IH0NCisgICAgcHVibGljIExpc3Q8c3RyaW5nPiBDb2x1bW5UeXBlcyB7IGdl dDsgcHJpdmF0ZSBzZXQ7IH0NCisNCisgICAgcHVibGljIHZvaWQgT3BlbihzdHJpbmcgc3FsKQ0K KyAgICB7DQorICAgICAgVmlld1NRTCA9IHNxbDsNCisNCisgICAgICBJbnRQdHIgdmlldyA9IElu dFB0ci5aZXJvOw0KKyAgICAgIFdpbmRvd3NFcnJvckNvZGUgcmVzdWx0ID0gTVNJSW50ZXJvcC5N c2lEYXRhYmFzZU9wZW5WaWV3VyhEYXRhYmFzZS5IYW5kbGUsIFZpZXdTUUwsIG91dCB2aWV3KTsN CisgICAgICBpZiAocmVzdWx0ICE9IFdpbmRvd3NFcnJvckNvZGUuRVJST1JfU1VDQ0VTUykNCisg ICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oU3RyaW5nLkZvcm1hdCgiVW5hYmxlIHRvIG9wZW4g dmlldyBmb3IgezB9IHdpdGggZXJyb3IgezF9Iiwgc3FsLCByZXN1bHQpKTsNCisgICAgICBIYW5k bGUgPSB2aWV3Ow0KKyAgICAgIENvbHVtbk5hbWVzID0gR2V0Q29sdW1uSW5mbyhNU0lJbnRlcm9w Lk1TSUNPTElORk9fTkFNRVMpOw0KKyAgICAgIENvbHVtblR5cGVzID0gR2V0Q29sdW1uSW5mbyhN U0lJbnRlcm9wLk1TSUNPTElORk9fVFlQRVMpOw0KKyAgICB9DQorDQorICAgIHB1YmxpYyB2b2lk IENsb3NlKCkNCisgICAgew0KKyAgICAgIGlmIChIYW5kbGUgIT0gSW50UHRyLlplcm8pDQorICAg ICAgICBNU0lJbnRlcm9wLk1zaUNsb3NlSGFuZGxlKEhhbmRsZSk7DQorICAgICAgSGFuZGxlID0g SW50UHRyLlplcm87DQorICAgIH0NCisNCisgICAgcHVibGljIE1TSVJlY29yZCBGZXRjaFJlY29y ZCgpDQorICAgIHsNCisgICAgICBJbnRQdHIgcmVjb3JkSGFuZGxlID0gSW50UHRyLlplcm87DQor DQorICAgICAgV2luZG93c0Vycm9yQ29kZSByZXN1bHQgPSBNU0lJbnRlcm9wLk1zaVZpZXdGZXRj aChIYW5kbGUsIG91dCByZWNvcmRIYW5kbGUpOw0KKyAgICAgIGlmIChyZXN1bHQgPT0gV2luZG93 c0Vycm9yQ29kZS5FUlJPUl9OT19NT1JFX0lURU1TKSByZXR1cm4gbnVsbDsNCisgICAgICBpZiAo cmVzdWx0ICE9IFdpbmRvd3NFcnJvckNvZGUuRVJST1JfU1VDQ0VTUykNCisgICAgICAgIHRocm93 IG5ldyBFeGNlcHRpb24oU3RyaW5nLkZvcm1hdCgiRXJyb3IgZmV0Y2hpbmcgcmVjb3JkcyBmb3Ig dmlldyB7MH0gd2l0aCBlcnJvciB7MX0iLCBWaWV3U1FMLCByZXN1bHQpKTsNCisgICAgICByZXR1 cm4gbmV3IE1TSVJlY29yZChyZWNvcmRIYW5kbGUpOw0KKyAgICB9DQorDQorICAgIHB1YmxpYyBE YXRhVGFibGUgR2V0RGF0YVRhYmxlKCkNCisgICAgew0KKyAgICAgIERhdGFUYWJsZSBkdCA9IG5l dyBEYXRhVGFibGUoKTsNCisgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IENvbHVtbk5hbWVzLkNv dW50OyB4KyspDQorICAgICAgICBkdC5Db2x1bW5zLkFkZChHZXRDb2x1bW4oQ29sdW1uTmFtZXNb eF0sIENvbHVtblR5cGVzW3hdKSk7DQorDQorICAgICAgV2luZG93c0Vycm9yQ29kZSByZXN1bHQg PSBNU0lJbnRlcm9wLk1zaVZpZXdFeGVjdXRlKEhhbmRsZSwgSW50UHRyLlplcm8pOw0KKyAgICAg IGlmIChyZXN1bHQgIT0gV2luZG93c0Vycm9yQ29kZS5FUlJPUl9TVUNDRVNTKQ0KKyAgICAgICAg dGhyb3cgbmV3IEV4Y2VwdGlvbihTdHJpbmcuRm9ybWF0KCJFcnJvciBleGVjdXRpbmcgdGFibGUg dmlldyBmb3Igc3FsIHswfSB3aXRoIGVycm9yIHsxfSIsIFZpZXdTUUwsIHJlc3VsdCkpOw0KKw0K KyAgICAgIHdoaWxlICh0cnVlKQ0KKyAgICAgIHsNCisgICAgICAgIE1TSVJlY29yZCByID0gRmV0 Y2hSZWNvcmQoKTsNCisgICAgICAgIGlmIChyID09IG51bGwpIGJyZWFrOw0KKyAgICAgICAgRGF0 YVJvdyByb3cgPSBkdC5OZXdSb3coKTsNCisgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgZHQu Q29sdW1ucy5Db3VudDsgeCsrKQ0KKyAgICAgICAgICByb3dbeF0gPSByLkdldFN0cmluZyh4KzEp Ow0KKyAgICAgICAgci5DbG9zZSgpOw0KKyAgICAgICAgZHQuUm93cy5BZGQocm93KTsNCisgICAg ICB9DQorICAgICAgcmV0dXJuIGR0Ow0KKyAgICB9DQorDQorICAgIHByaXZhdGUgTGlzdDxzdHJp bmc+IEdldENvbHVtbkluZm8oaW50IHR5cGUpDQorICAgIHsNCisgICAgICBJbnRQdHIgcmVjb3Jk ID0gSW50UHRyLlplcm87DQorICAgICAgV2luZG93c0Vycm9yQ29kZSByZXN1bHQgPSBNU0lJbnRl cm9wLk1zaVZpZXdHZXRDb2x1bW5JbmZvKEhhbmRsZSwgdHlwZSwgb3V0IHJlY29yZCk7DQorICAg ICAgTVNJUmVjb3JkIHIgPSBuZXcgTVNJUmVjb3JkKHJlY29yZCk7DQorICAgICAgdWludCBudW1G aWVsZHMgPSByLk51bWJlck9mRmllbGRzKCk7DQorDQorICAgICAgTGlzdDxzdHJpbmc+IGNvbGxl Y3Rpb24gPSBuZXcgTGlzdDxzdHJpbmc+KCk7DQorICAgICAgZm9yIChpbnQgeCA9IDE7IHggPD0g bnVtRmllbGRzOyB4KyspDQorICAgICAgICBjb2xsZWN0aW9uLkFkZChyLkdldFN0cmluZyh4KSk7 DQorICAgICAgcmV0dXJuIGNvbGxlY3Rpb247DQorICAgIH0NCisNCisgICAgcHJpdmF0ZSBEYXRh Q29sdW1uIEdldENvbHVtbihzdHJpbmcgbmFtZSwgc3RyaW5nIHR5cGVOYW1lKQ0KKyAgICB7DQor ICAgICAgRGF0YUNvbHVtbiBjID0gbmV3IERhdGFDb2x1bW4oKTsNCisgICAgICBjLkNvbHVtbk5h bWUgPSBuYW1lOw0KKyAgICAgIGlmICh0eXBlTmFtZS5TdGFydHNXaXRoKCJzIikgfHwgdHlwZU5h bWUuU3RhcnRzV2l0aCgiZyIpKQ0KKyAgICAgICAgYy5EYXRhVHlwZSA9IFR5cGUuR2V0VHlwZSgi U3lzdGVtLlN0cmluZyIpOw0KKyAgICAgIGVsc2UgaWYgKHR5cGVOYW1lID09ICJpNCIgfHwgdHlw ZU5hbWUgPT0gImo0IikNCisgICAgICAgIGMuRGF0YVR5cGUgPSBUeXBlLkdldFR5cGUoIlN5c3Rl bS5JbnQ2NCIpOw0KKyAgICAgIGVsc2UgaWYgKHR5cGVOYW1lID09ICJpMiIgfHwgdHlwZU5hbWUu U3RhcnRzV2l0aCgiaiIpKQ0KKyAgICAgICAgYy5EYXRhVHlwZSA9IFR5cGUuR2V0VHlwZSgiU3lz dGVtLkludDMyIik7DQorICAgICAgZWxzZSBpZiAodHlwZU5hbWUgPT0gInYwIikNCisgICAgICAg IGMuRGF0YVR5cGUgPSBUeXBlLkdldFR5cGUoImJ5dGVbXSIpOw0KKyAgICAgIGVsc2UgaWYgKHR5 cGVOYW1lID09ICJPMCIpDQorICAgICAgICBjLkRhdGFUeXBlID0gVHlwZS5HZXRUeXBlKCJTeXN0 ZW0uT2JqZWN0Iik7DQorICAgICAgcmV0dXJuIGM7DQorICAgIH0NCisNCisgICAgI3JlZ2lvbiBJ RGlzcG9zYWJsZSBNZW1iZXJzDQorDQorICAgIHB1YmxpYyB2b2lkIERpc3Bvc2UoKQ0KKyAgICB7 DQorICAgICAgQ2xvc2UoKTsNCisgICAgfQ0KKw0KKyAgICAjZW5kcmVnaW9uDQorICB9DQorfQ0K Cg== --===============0296055584== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/reggie.burnett@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: reggie.burnett@stripped\ # 86jw1hc9yc9k27kc # target_branch: file:///C:/work/wex/absv2/ # testament_sha1: 3785a305ad038f9863e1bfede8f6b44f160e9a81 # timestamp: 2012-09-11 13:56:19 -0500 # base_revision_id: reggie.burnett@stripped\ # n1h8i99ve73tb63u # # Begin bundle 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 --===============0296055584==--