<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>106692</bug_id>
          
          <creation_ts>2013-01-11 13:11:30 -0800</creation_ts>
          <short_desc>Removed getDirectLocation and offsetForLocation and all their uses</short_desc>
          <delta_ts>2013-01-11 13:35:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>805555</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-11 13:11:30 -0800</bug_when>
    <thetext>Removed getDirectLocation and all its uses</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805556</commentid>
    <comment_count>1</comment_count>
      <attachid>182401</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-11 13:16:28 -0800</bug_when>
    <thetext>Created attachment 182401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805563</commentid>
    <comment_count>2</comment_count>
      <attachid>182401</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-01-11 13:21:12 -0800</bug_when>
    <thetext>Comment on attachment 182401
Patch

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805577</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-11 13:35:02 -0800</bug_when>
    <thetext>Committed r139491: &lt;http://trac.webkit.org/changeset/139491&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182401</attachid>
            <date>2013-01-11 13:16:28 -0800</date>
            <delta_ts>2013-01-11 13:22:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106692-20130111131331.patch</filename>
            <type>text/plain</type>
            <size>19722</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM5NDg4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYyIEBA
CisyMDEzLTAxLTExICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVtb3ZlZCBnZXREaXJlY3RMb2NhdGlvbiBhbmQgYWxsIGl0cyB1c2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY2OTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBnZXREaXJlY3RMb2NhdGlvbiBy
ZWxpZWQgb24gZGV0YWlsZWQga25vd2xlZGdlIG9mIHRoZSBydWxlcyBvZiBQcm9wZXJ0eU9mZnNl
dCwKKyAgICAgICAgSlNPYmplY3QsIGFuZCBTdHJ1Y3R1cmUsIHdoaWNoIGlzIGEgaGFyZCB0aGlu
ZyB0byByZXZlcnNlLWVuZ2luZWVyCisgICAgICAgIHJlbGlhYmx5LiBMdWNraWx5LCBpdCB3YXNu
J3QgbmVlZGVkLCBhbmQgYWxsIGNsaWVudHMgZWl0aGVyIHdhbnRlZAorICAgICAgICBhIHRydWUg
dmFsdWUgb3IgYSBQcm9wZXJ0eU9mZnNldC4gU28sIEkgcmVmYWN0b3JlZCBhY2NvcmRpbmdseS4K
KworICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDogUmVuYW1lZCBwdXREaXJlY3RPZmZz
ZXQgdG8gcHV0RGlyZWN0LCB0byBjbGFyaWZ5CisgICAgICAgIHRoYXQgd2UgYXJlIG5vdCBwdXR0
aW5nIGFuIG9mZnNldC4KKworICAgICAgICAqIHJ1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNBY3RpdmF0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QpOiBHZXQgYSB2YWx1
ZSBpbnN0ZWFkIG9mIGEgdmFsdWUKKyAgICAgICAgcG9pbnRlciwgc2luY2Ugd2UgbmV2ZXIgd2Fu
dGVkIGEgcG9pbnRlciB0byBiZWdpbiB3aXRoLgorCisgICAgICAgICogcnVudGltZS9KU0Z1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KTog
VXNlIGEgUHJvcGVydHlPZmZzZXQgaW5zdGVhZCBvZiBhIHBvaW50ZXIsCisgICAgICAgIHNvIHdl
IGRvbid0IGhhdmUgdG8gcmV2ZXJzZS1lbmdpbmVlciB0aGUgb2Zmc2V0IGZyb20gdGhlIHBvaW50
ZXIuCisKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNP
YmplY3Q6OnB1dCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpyZXNldEluaGVyaXRvcklEKToK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmluaGVyaXRvcklEKToKKyAgICAgICAgKEpTQzo6SlNP
YmplY3Q6OnJlbW92ZURpcmVjdCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpmaWxsR2V0dGVy
UHJvcGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcik6IFJlbmFtZWQgZ2V0RGlyZWN0T2Zmc2V0IGFuZAorICAgICAgICBwdXREaXJlY3RP
ZmZzZXQsIGFzIGV4cGxhaW5kIGFib3ZlLiBXZSB3YW50IHRvIHVzZSB0aGUgbmFtZSAiZ2V0RGly
ZWN0T2Zmc2V0IgorICAgICAgICBmb3Igd2hlbiB0aGUgdGhpbmcgeW91J3JlIGdldHRpbmcgaXMg
dGhlIG9mZnNldC4KKworICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKEpT
Qzo6SlNPYmplY3Q6OmdldERpcmVjdCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXREaXJl
Y3RPZmZzZXQpOiBDaGFuZ2VkIGdldERpcmVjdExvY2F0aW9uIHRvIGdldERpcmVjdE9mZnNldCwK
KyAgICAgICAgc2luY2UgY2xpZW50cyByZWFsbHkgd2FudHMgUHJvcGVydHlPZmZzZXRzIGFuZCBu
b3QgbG9jYXRpb25zLgorCisgICAgICAgIChKU09iamVjdDo6b2Zmc2V0Rm9yTG9jYXRpb24pOiBS
ZW1vdmVkIHRoaXMgZnVuY3Rpb24gYmVjYXVzZSBpdCB3YXMgaGFyZAorICAgICAgICB0byBnZXQg
cmlnaHQuCisKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dERpcmVjdCk6CisgICAgICAgIChK
U0M6OkpTT2JqZWN0OjpwdXREaXJlY3RVbmRlZmluZWQpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6aW5saW5lR2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1
dERpcmVjdEludGVybmFsKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTU2NvcGUuY3BwOgorICAgICAgICAo
SlNDOjpleGVjdXRlUmVzb2x2ZU9wZXJhdGlvbnMpOgorICAgICAgICAoSlNDOjpKU1Njb3BlOjpy
ZXNvbHZlUHV0KToKKyAgICAgICAgKiBydW50aW1lL0pTVmFsdWUuY3BwOgorICAgICAgICAoSlND
OjpKU1ZhbHVlOjpwdXRUb1ByaW1pdGl2ZSk6IFVwZGF0ZWQgZm9yIHJlbmFtZXMuCisKKyAgICAg
ICAgKiBydW50aW1lL0xvb2t1cC5jcHA6CisgICAgICAgIChKU0M6OnNldFVwU3RhdGljRnVuY3Rp
b25TbG90KTogVXNlIGEgUHJvcGVydHlPZmZzZXQgaW5zdGVhZCBvZiBhIHBvaW50ZXIsCisgICAg
ICAgIHNvIHdlIGRvbid0IGhhdmUgdG8gcmV2ZXJzZS1lbmdpbmVlciB0aGUgb2Zmc2V0IGZyb20g
dGhlIHBvaW50ZXIuCisKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5jcHA6CisgICAgICAg
IChKU0M6OlN0cnVjdHVyZTo6ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUpOiBVcGRhdGVkIGZv
ciByZW5hbWVzLgorCiAyMDEzLTAxLTExICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlZCBhbiB1bnVzZWQgdmVyc2lvbiBvZiBnZXREaXJlY3RMb2Nh
dGlvbgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3Bw
CShyZXZpc2lvbiAxMzk0ODgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJh
dGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQxLDcgKzE0NDEsNyBAQCB2b2lkIERGR19P
UEVSQVRJT04gb3BlcmF0aW9uUmVhbGxvY2F0ZVN0CiAgICAgQVNTRVJUKHN0cnVjdHVyZS0+b3V0
T2ZMaW5lQ2FwYWNpdHkoKSA+IGJhc2UtPnN0cnVjdHVyZSgpLT5vdXRPZkxpbmVDYXBhY2l0eSgp
KTsKICAgICBBU1NFUlQoIWdsb2JhbERhdGEuaGVhcC5zdG9yYWdlQWxsb2NhdG9yKCkuZmFzdFBh
dGhTaG91bGRTdWNjZWVkKHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSAqIHNpemVvZihK
U1ZhbHVlKSkpOwogICAgIGJhc2UtPnNldFN0cnVjdHVyZUFuZFJlYWxsb2NhdGVTdG9yYWdlSWZO
ZWNlc3NhcnkoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKTsKLSAgICBiYXNlLT5wdXREaXJlY3RPZmZz
ZXQoZ2xvYmFsRGF0YSwgb2Zmc2V0LCBKU1ZhbHVlOjpkZWNvZGUodmFsdWUpKTsKKyAgICBiYXNl
LT5wdXREaXJlY3QoZ2xvYmFsRGF0YSwgb2Zmc2V0LCBKU1ZhbHVlOjpkZWNvZGUodmFsdWUpKTsK
IH0KIAogY2hhciogREZHX09QRVJBVElPTiBvcGVyYXRpb25BbGxvY2F0ZVByb3BlcnR5U3RvcmFn
ZVdpdGhJbml0aWFsQ2FwYWNpdHkoRXhlY1N0YXRlKiBleGVjKQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uY3BwCShyZXZpc2lvbiAxMzk0ODgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNTYsOCArMTU2LDggQEAgYm9vbCBKU0FjdGl2YXRpb246OmdldE93blBy
b3BlcnR5U2xvdChKUwogICAgIGlmICh0aGlzT2JqZWN0LT5zeW1ib2xUYWJsZUdldChwcm9wZXJ0
eU5hbWUsIHNsb3QpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChXcml0ZUJhcnJp
ZXJCYXNlPFVua25vd24+KiBsb2NhdGlvbiA9IHRoaXNPYmplY3QtPmdldERpcmVjdExvY2F0aW9u
KGV4ZWMtPmdsb2JhbERhdGEoKSwgcHJvcGVydHlOYW1lKSkgewotICAgICAgICBzbG90LnNldFZh
bHVlKGxvY2F0aW9uLT5nZXQoKSk7CisgICAgaWYgKEpTVmFsdWUgdmFsdWUgPSB0aGlzT2JqZWN0
LT5nZXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBwcm9wZXJ0eU5hbWUpKSB7CisgICAgICAg
IHNsb3Quc2V0VmFsdWUodmFsdWUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZp
c2lvbiAxMzk0ODgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE4LDE2ICsyMTgsMTYgQEAgYm9vbCBKU0Z1bmN0aW9u
OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZQogICAgICAgICByZXR1cm4gQmFzZTo6Z2V0T3duUHJv
cGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiAKICAgICBp
ZiAocHJvcGVydHlOYW1lID09IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUpIHsKLSAg
ICAgICAgV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPiogbG9jYXRpb24gPSB0aGlzT2JqZWN0LT5n
ZXREaXJlY3RMb2NhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIHByb3BlcnR5TmFtZSk7Ci0KLSAg
ICAgICAgaWYgKCFsb2NhdGlvbikgeworICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSB0
aGlzT2JqZWN0LT5nZXREaXJlY3RPZmZzZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCBwcm9wZXJ0eU5h
bWUpOworICAgICAgICBpZiAoIWlzVmFsaWRPZmZzZXQob2Zmc2V0KSkgewogICAgICAgICAgICAg
SlNPYmplY3QqIHByb3RvdHlwZSA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHRoaXNPYmpl
Y3QtPmdsb2JhbE9iamVjdCgpLT5lbXB0eU9iamVjdFN0cnVjdHVyZSgpKTsKICAgICAgICAgICAg
IHByb3RvdHlwZS0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlO
YW1lcygpLmNvbnN0cnVjdG9yLCB0aGlzT2JqZWN0LCBEb250RW51bSk7CiAgICAgICAgICAgICB0
aGlzT2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5h
bWVzKCkucHJvdG90eXBlLCBwcm90b3R5cGUsIERvbnREZWxldGUgfCBEb250RW51bSk7Ci0gICAg
ICAgICAgICBsb2NhdGlvbiA9IHRoaXNPYmplY3QtPmdldERpcmVjdExvY2F0aW9uKGV4ZWMtPmds
b2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSk7CisgICAgICAgICAg
ICBvZmZzZXQgPSB0aGlzT2JqZWN0LT5nZXREaXJlY3RPZmZzZXQoZXhlYy0+Z2xvYmFsRGF0YSgp
LCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlKTsKKyAgICAgICAgICAgIEFTU0VSVChp
c1ZhbGlkT2Zmc2V0KG9mZnNldCkpOwogICAgICAgICB9CiAKLSAgICAgICAgc2xvdC5zZXRWYWx1
ZSh0aGlzT2JqZWN0LCBsb2NhdGlvbi0+Z2V0KCksIHRoaXNPYmplY3QtPm9mZnNldEZvckxvY2F0
aW9uKGxvY2F0aW9uKSk7CisgICAgICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVjdCwgdGhpc09i
amVjdC0+Z2V0RGlyZWN0KG9mZnNldCksIG9mZnNldCk7CiAgICAgfQogCiAgICAgaWYgKHByb3Bl
cnR5TmFtZSA9PSBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuYXJndW1lbnRzKSB7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShyZXZpc2lvbiAxMzk0ODgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM3OSw3ICszNzksNyBAQCB2b2lkIEpTT2JqZWN0OjpwdXQoSlNDZWxsKiBjZWxs
LCBFeGVjU3RhCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCi0gICAg
ICAgICAgICBKU1ZhbHVlIGdzID0gb2JqLT5nZXREaXJlY3RPZmZzZXQob2Zmc2V0KTsKKyAgICAg
ICAgICAgIEpTVmFsdWUgZ3MgPSBvYmotPmdldERpcmVjdChvZmZzZXQpOwogICAgICAgICAgICAg
aWYgKGdzLmlzR2V0dGVyU2V0dGVyKCkpIHsKICAgICAgICAgICAgICAgICBBU1NFUlQoYXR0cmli
dXRlcyAmIEFjY2Vzc29yKTsKICAgICAgICAgICAgICAgICBBU1NFUlQodGhpc09iamVjdC0+c3Ry
dWN0dXJlKCktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhleGVjLT5nbG9iYWxE
YXRhKCksIHByb3BlcnR5TmFtZSkgfHwgb2JqID09IHRoaXNPYmplY3QpOwpAQCAtMTE5MywxMyAr
MTE5MywxMiBAQCB2b2lkIEpTT2JqZWN0OjpyZXNldEluaGVyaXRvcklEKEpTR2xvYmFsCiAgICAg
aWYgKCFpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBw
dXREaXJlY3RPZmZzZXQoZ2xvYmFsRGF0YSwgb2Zmc2V0LCBqc1VuZGVmaW5lZCgpKTsKKyAgICBw
dXREaXJlY3QoZ2xvYmFsRGF0YSwgb2Zmc2V0LCBqc1VuZGVmaW5lZCgpKTsKIH0KIAogU3RydWN0
dXJlKiBKU09iamVjdDo6aW5oZXJpdG9ySUQoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQogewot
ICAgIGlmIChXcml0ZUJhcnJpZXJCYXNlPFVua25vd24+KiBsb2NhdGlvbiA9IGdldERpcmVjdExv
Y2F0aW9uKGdsb2JhbERhdGEsIGdsb2JhbERhdGEubV9pbmhlcml0b3JJREtleSkpIHsKLSAgICAg
ICAgSlNWYWx1ZSB2YWx1ZSA9IGxvY2F0aW9uLT5nZXQoKTsKKyAgICBpZiAoSlNWYWx1ZSB2YWx1
ZSA9IGdldERpcmVjdChnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXkpKSB7
CiAgICAgICAgIGlmICh2YWx1ZS5pc0NlbGwoKSkgewogICAgICAgICAgICAgU3RydWN0dXJlKiBp
bmhlcml0b3JJRCA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPih2YWx1ZSk7CiAgICAgICAgICAgICBBU1NF
UlQoaW5oZXJpdG9ySUQtPmlzRW1wdHkoKSk7CkBAIC0xNjQyLDIwICsxNjQxLDIwIEBAIGJvb2wg
SlNPYmplY3Q6OnJlbW92ZURpcmVjdChKU0dsb2JhbERhdGEKICAgICAgICAgb2Zmc2V0ID0gc3Ry
dWN0dXJlKCktPnJlbW92ZVByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgcHJv
cGVydHlOYW1lKTsKICAgICAgICAgaWYgKG9mZnNldCA9PSBpbnZhbGlkT2Zmc2V0KQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBwdXRVbmRlZmluZWRBdERpcmVjdE9mZnNldChv
ZmZzZXQpOworICAgICAgICBwdXREaXJlY3RVbmRlZmluZWQob2Zmc2V0KTsKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQogCiAgICAgc2V0U3RydWN0dXJlKGdsb2JhbERhdGEsIFN0cnVjdHVy
ZTo6cmVtb3ZlUHJvcGVydHlUcmFuc2l0aW9uKGdsb2JhbERhdGEsIHN0cnVjdHVyZSgpLCBwcm9w
ZXJ0eU5hbWUsIG9mZnNldCkpOwogICAgIGlmIChvZmZzZXQgPT0gaW52YWxpZE9mZnNldCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHB1dFVuZGVmaW5lZEF0RGlyZWN0T2Zmc2V0KG9mZnNl
dCk7CisgICAgcHV0RGlyZWN0VW5kZWZpbmVkKG9mZnNldCk7CiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKIE5FVkVSX0lOTElORSB2b2lkIEpTT2JqZWN0OjpmaWxsR2V0dGVyUHJvcGVydHlTbG90KFBy
b3BlcnR5U2xvdCYgc2xvdCwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0KQogewotICAgIGlmIChKU09i
amVjdCogZ2V0dGVyRnVuY3Rpb24gPSBhc0dldHRlclNldHRlcihnZXREaXJlY3RPZmZzZXQob2Zm
c2V0KSktPmdldHRlcigpKSB7CisgICAgaWYgKEpTT2JqZWN0KiBnZXR0ZXJGdW5jdGlvbiA9IGFz
R2V0dGVyU2V0dGVyKGdldERpcmVjdChvZmZzZXQpKS0+Z2V0dGVyKCkpIHsKICAgICAgICAgaWYg
KCFzdHJ1Y3R1cmUoKS0+aXNEaWN0aW9uYXJ5KCkpCiAgICAgICAgICAgICBzbG90LnNldENhY2hl
YWJsZUdldHRlclNsb3QodGhpcywgZ2V0dGVyRnVuY3Rpb24sIG9mZnNldCk7CiAgICAgICAgIGVs
c2UKQEAgLTI0MjgsNyArMjQyNyw3IEBAIGJvb2wgSlNPYmplY3Q6OmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcigKICAgICBKU0NlbGwqIGNlbGwgPSAwOwogICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCA9IG9iamVjdC0+c3RydWN0dXJlKCktPmdldChleGVjLT5nbG9iYWxEYXRhKCksIHByb3BlcnR5
TmFtZSwgYXR0cmlidXRlcywgY2VsbCk7CiAgICAgaWYgKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSkg
ewotICAgICAgICBkZXNjcmlwdG9yLnNldERlc2NyaXB0b3Iob2JqZWN0LT5nZXREaXJlY3RPZmZz
ZXQob2Zmc2V0KSwgYXR0cmlidXRlcyk7CisgICAgICAgIGRlc2NyaXB0b3Iuc2V0RGVzY3JpcHRv
cihvYmplY3QtPmdldERpcmVjdChvZmZzZXQpLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5oCShyZXZpc2lvbiAxMzk0ODgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MDUsMTQgKzUwNSwxNCBAQCBwdWJs
aWM6CiAgICAgewogICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUoKS0+
Z2V0KGdsb2JhbERhdGEsIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIGNoZWNrT2Zmc2V0KG9mZnNl
dCwgc3RydWN0dXJlKCktPmlubGluZUNhcGFjaXR5KCkpOwotICAgICAgICByZXR1cm4gb2Zmc2V0
ICE9IGludmFsaWRPZmZzZXQgPyBnZXREaXJlY3RPZmZzZXQob2Zmc2V0KSA6IEpTVmFsdWUoKTsK
KyAgICAgICAgcmV0dXJuIG9mZnNldCAhPSBpbnZhbGlkT2Zmc2V0ID8gZ2V0RGlyZWN0KG9mZnNl
dCkgOiBKU1ZhbHVlKCk7CiAgICAgfQogCi0gICAgV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPiog
Z2V0RGlyZWN0TG9jYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBQcm9wZXJ0eU5hbWUg
cHJvcGVydHlOYW1lKQorICAgIFByb3BlcnR5T2Zmc2V0IGdldERpcmVjdE9mZnNldChKU0dsb2Jh
bERhdGEmIGdsb2JhbERhdGEsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiAgICAgewogICAg
ICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUoKS0+Z2V0KGdsb2JhbERhdGEs
IHByb3BlcnR5TmFtZSk7CiAgICAgICAgIGNoZWNrT2Zmc2V0KG9mZnNldCwgc3RydWN0dXJlKCkt
PmlubGluZUNhcGFjaXR5KCkpOwotICAgICAgICByZXR1cm4gaXNWYWxpZE9mZnNldChvZmZzZXQp
ID8gbG9jYXRpb25Gb3JPZmZzZXQob2Zmc2V0KSA6IDA7CisgICAgICAgIHJldHVybiBvZmZzZXQ7
CiAgICAgfQogCiAgICAgYm9vbCBoYXNJbmxpbmVTdG9yYWdlKCkgY29uc3QgeyByZXR1cm4gc3Ry
dWN0dXJlKCktPmhhc0lubGluZVN0b3JhZ2UoKTsgfQpAQCAtNTU1LDE4ICs1NTUsNiBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiAmb3V0T2ZMaW5lU3RvcmFnZSgpW29mZnNldEluT3V0T2ZMaW5l
U3RvcmFnZShvZmZzZXQpXTsKICAgICB9CiAKLSAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXRGb3JM
b2NhdGlvbihXcml0ZUJhcnJpZXJCYXNlPFVua25vd24+KiBsb2NhdGlvbikgY29uc3QKLSAgICB7
Ci0gICAgICAgIFByb3BlcnR5T2Zmc2V0IHJlc3VsdDsKLSAgICAgICAgc2l6ZV90IG9mZnNldElu
SW5saW5lU3RvcmFnZSA9IGxvY2F0aW9uIC0gaW5saW5lU3RvcmFnZVVuc2FmZSgpOwotICAgICAg
ICBpZiAob2Zmc2V0SW5JbmxpbmVTdG9yYWdlIDwgc3RhdGljX2Nhc3Q8c2l6ZV90PihmaXJzdE91
dE9mTGluZU9mZnNldCkpCi0gICAgICAgICAgICByZXN1bHQgPSBvZmZzZXRJbklubGluZVN0b3Jh
Z2U7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3VsdCA9IG91dE9mTGluZVN0b3JhZ2Uo
KSAtIGxvY2F0aW9uICsgKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IC0gMSk7Ci0gICAgICAgIHZhbGlk
YXRlT2Zmc2V0KHJlc3VsdCwgc3RydWN0dXJlKCktPmlubGluZUNhcGFjaXR5KCkpOwotICAgICAg
ICByZXR1cm4gcmVzdWx0OwotICAgIH0KLQogICAgIHZvaWQgdHJhbnNpdGlvblRvKEpTR2xvYmFs
RGF0YSYsIFN0cnVjdHVyZSopOwogCiAgICAgYm9vbCByZW1vdmVEaXJlY3QoSlNHbG9iYWxEYXRh
JiwgUHJvcGVydHlOYW1lKTsgLy8gUmV0dXJuIHRydWUgaWYgYW55dGhpbmcgaXMgcmVtb3ZlZC4K
QEAgLTU4MSw5ICs1NjksOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBwdXRPd25EYXRhUHJvcGVydHko
SlNHbG9iYWxEYXRhJiwgUHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsK
IAogICAgIC8vIEZhc3QgYWNjZXNzIHRvIGtub3duIHByb3BlcnR5IG9mZnNldHMuCi0gICAgSlNW
YWx1ZSBnZXREaXJlY3RPZmZzZXQoUHJvcGVydHlPZmZzZXQgb2Zmc2V0KSBjb25zdCB7IHJldHVy
biBsb2NhdGlvbkZvck9mZnNldChvZmZzZXQpLT5nZXQoKTsgfQotICAgIHZvaWQgcHV0RGlyZWN0
T2Zmc2V0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBK
U1ZhbHVlIHZhbHVlKSB7IGxvY2F0aW9uRm9yT2Zmc2V0KG9mZnNldCktPnNldChnbG9iYWxEYXRh
LCB0aGlzLCB2YWx1ZSk7IH0KLSAgICB2b2lkIHB1dFVuZGVmaW5lZEF0RGlyZWN0T2Zmc2V0KFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCkgeyBsb2NhdGlvbkZvck9mZnNldChvZmZzZXQpLT5zZXRVbmRl
ZmluZWQoKTsgfQorICAgIEpTVmFsdWUgZ2V0RGlyZWN0KFByb3BlcnR5T2Zmc2V0IG9mZnNldCkg
Y29uc3QgeyByZXR1cm4gbG9jYXRpb25Gb3JPZmZzZXQob2Zmc2V0KS0+Z2V0KCk7IH0KKyAgICB2
b2lkIHB1dERpcmVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCwgSlNWYWx1ZSB2YWx1ZSkgeyBsb2NhdGlvbkZvck9mZnNldChvZmZzZXQpLT5zZXQoZ2xv
YmFsRGF0YSwgdGhpcywgdmFsdWUpOyB9CisgICAgdm9pZCBwdXREaXJlY3RVbmRlZmluZWQoUHJv
cGVydHlPZmZzZXQgb2Zmc2V0KSB7IGxvY2F0aW9uRm9yT2Zmc2V0KG9mZnNldCktPnNldFVuZGVm
aW5lZCgpOyB9CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBkZWZpbmVPd25Q
cm9wZXJ0eShKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlEZXNj
cmlwdG9yJiwgYm9vbCBzaG91bGRUaHJvdyk7CiAKQEAgLTExODksNyArMTE3Nyw3IEBAIEFMV0FZ
U19JTkxJTkUgYm9vbCBKU09iamVjdDo6aW5saW5lR2V0T3cKIHsKICAgICBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQgPSBzdHJ1Y3R1cmUoKS0+Z2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgcHJvcGVydHlO
YW1lKTsKICAgICBpZiAoTElLRUxZKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSkpIHsKLSAgICAgICAg
SlNWYWx1ZSB2YWx1ZSA9IGdldERpcmVjdE9mZnNldChvZmZzZXQpOworICAgICAgICBKU1ZhbHVl
IHZhbHVlID0gZ2V0RGlyZWN0KG9mZnNldCk7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUoKS0+aGFz
R2V0dGVyU2V0dGVyUHJvcGVydGllcygpICYmIHZhbHVlLmlzR2V0dGVyU2V0dGVyKCkpCiAgICAg
ICAgICAgICBmaWxsR2V0dGVyUHJvcGVydHlTbG90KHNsb3QsIG9mZnNldCk7CiAgICAgICAgIGVs
c2UKQEAgLTEyOTcsNyArMTI4NSw3IEBAIGlubGluZSBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJ
bnRlcm5hbCgKICAgICAgICAgICAgIGlmICgobW9kZSA9PSBQdXRNb2RlUHV0KSAmJiBjdXJyZW50
QXR0cmlidXRlcyAmIFJlYWRPbmx5KQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgICAgICAgICAgcHV0RGlyZWN0T2Zmc2V0KGdsb2JhbERhdGEsIG9mZnNldCwgdmFsdWUpOwor
ICAgICAgICAgICAgcHV0RGlyZWN0KGdsb2JhbERhdGEsIG9mZnNldCwgdmFsdWUpOwogICAgICAg
ICAgICAgLy8gQXQgdGhpcyBwb2ludCwgdGhlIG9iamVjdHMgc3RydWN0dXJlIG9ubHkgaGFzIGEg
c3BlY2lmaWMgdmFsdWUgc2V0IGlmIHByZXZpb3VzbHkgdGhlcmUKICAgICAgICAgICAgIC8vIGhh
ZCBiZWVuIG9uZSBzZXQsIGFuZCBpZiB0aGUgbmV3IHZhbHVlIGJlaW5nIHNwZWNpZmllZCBpcyB0
aGUgc2FtZSAob3RoZXJ3aXNlIHdlIHdvdWxkCiAgICAgICAgICAgICAvLyBoYXZlIGRlc3BlY2lm
aWVkLCBhYm92ZSkuICBTbywgaWYgY3VycmVudFNwZWNpZmljRnVuY3Rpb24gaXMgbm90IHNldCwg
b3IgaWYgdGhlIG5ldwpAQCAtMTMyMCw3ICsxMzA4LDcgQEAgaW5saW5lIGJvb2wgSlNPYmplY3Q6
OnB1dERpcmVjdEludGVybmFsKAogCiAgICAgICAgIHZhbGlkYXRlT2Zmc2V0KG9mZnNldCk7CiAg
ICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aXNWYWxpZE9mZnNldChvZmZzZXQpKTsKLSAgICAg
ICAgcHV0RGlyZWN0T2Zmc2V0KGdsb2JhbERhdGEsIG9mZnNldCwgdmFsdWUpOworICAgICAgICBw
dXREaXJlY3QoZ2xvYmFsRGF0YSwgb2Zmc2V0LCB2YWx1ZSk7CiAgICAgICAgIC8vIFNlZSBjb21t
ZW50IG9uIHNldE5ld1Byb3BlcnR5IGNhbGwgYmVsb3cuCiAgICAgICAgIGlmICghc3BlY2lmaWNG
dW5jdGlvbikKICAgICAgICAgICAgIHNsb3Quc2V0TmV3UHJvcGVydHkodGhpcywgb2Zmc2V0KTsK
QEAgLTEzMzksNyArMTMyNyw3IEBAIGlubGluZSBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbnRl
cm5hbCgKICAgICAgICAgdmFsaWRhdGVPZmZzZXQob2Zmc2V0KTsKICAgICAgICAgQVNTRVJUKHN0
cnVjdHVyZS0+aXNWYWxpZE9mZnNldChvZmZzZXQpKTsKICAgICAgICAgc2V0QnV0dGVyZmx5KGds
b2JhbERhdGEsIG5ld0J1dHRlcmZseSwgc3RydWN0dXJlKTsKLSAgICAgICAgcHV0RGlyZWN0T2Zm
c2V0KGdsb2JhbERhdGEsIG9mZnNldCwgdmFsdWUpOworICAgICAgICBwdXREaXJlY3QoZ2xvYmFs
RGF0YSwgb2Zmc2V0LCB2YWx1ZSk7CiAgICAgICAgIC8vIFRoaXMgaXMgYSBuZXcgcHJvcGVydHk7
IHRyYW5zaXRpb25zIHdpdGggc3BlY2lmaWMgdmFsdWVzIGFyZSBub3QgY3VycmVudGx5IGNhY2hh
YmxlLAogICAgICAgICAvLyBzbyBsZWF2ZSB0aGUgc2xvdCBpbiBhbiB1bmNhY2hhYmxlIHN0YXRl
LgogICAgICAgICBpZiAoIXNwZWNpZmljRnVuY3Rpb24pCkBAIC0xMzY2LDcgKzEzNTQsNyBAQCBp
bmxpbmUgYm9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW50ZXJuYWwoCiAgICAgICAgIGlmIChjdXJy
ZW50U3BlY2lmaWNGdW5jdGlvbikgewogICAgICAgICAgICAgLy8gY2FzZSAoMSkgRG8gdGhlIHB1
dCwgdGhlbiByZXR1cm4gbGVhdmluZyB0aGUgc2xvdCB1bmNhY2hhYmxlLgogICAgICAgICAgICAg
aWYgKHNwZWNpZmljRnVuY3Rpb24gPT0gY3VycmVudFNwZWNpZmljRnVuY3Rpb24pIHsKLSAgICAg
ICAgICAgICAgICBwdXREaXJlY3RPZmZzZXQoZ2xvYmFsRGF0YSwgb2Zmc2V0LCB2YWx1ZSk7Cisg
ICAgICAgICAgICAgICAgcHV0RGlyZWN0KGdsb2JhbERhdGEsIG9mZnNldCwgdmFsdWUpOwogICAg
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLy8g
Y2FzZSAoMikgRGVzcGVjaWZ5LCBmYWxsIHRocm91Z2ggdG8gKDMpLgpAQCAtMTM3NSw3ICsxMzYz
LDcgQEAgaW5saW5lIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEludGVybmFsKAogCiAgICAgICAg
IC8vIGNhc2UgKDMpIHNldCB0aGUgc2xvdCwgZG8gdGhlIHB1dCwgcmV0dXJuLgogICAgICAgICBz
bG90LnNldEV4aXN0aW5nUHJvcGVydHkodGhpcywgb2Zmc2V0KTsKLSAgICAgICAgcHV0RGlyZWN0
T2Zmc2V0KGdsb2JhbERhdGEsIG9mZnNldCwgdmFsdWUpOworICAgICAgICBwdXREaXJlY3QoZ2xv
YmFsRGF0YSwgb2Zmc2V0LCB2YWx1ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApA
QCAtMTM4OCw3ICsxMzc2LDcgQEAgaW5saW5lIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEludGVy
bmFsKAogICAgIEFTU0VSVChzdHJ1Y3R1cmUtPmlzVmFsaWRPZmZzZXQob2Zmc2V0KSk7CiAgICAg
c2V0U3RydWN0dXJlQW5kUmVhbGxvY2F0ZVN0b3JhZ2VJZk5lY2Vzc2FyeShnbG9iYWxEYXRhLCBz
dHJ1Y3R1cmUpOwogCi0gICAgcHV0RGlyZWN0T2Zmc2V0KGdsb2JhbERhdGEsIG9mZnNldCwgdmFs
dWUpOworICAgIHB1dERpcmVjdChnbG9iYWxEYXRhLCBvZmZzZXQsIHZhbHVlKTsKICAgICAvLyBU
aGlzIGlzIGEgbmV3IHByb3BlcnR5OyB0cmFuc2l0aW9ucyB3aXRoIHNwZWNpZmljIHZhbHVlcyBh
cmUgbm90IGN1cnJlbnRseSBjYWNoYWJsZSwKICAgICAvLyBzbyBsZWF2ZSB0aGUgc2xvdCBpbiBh
biB1bmNhY2hhYmxlIHN0YXRlLgogICAgIGlmICghc3BlY2lmaWNGdW5jdGlvbikKQEAgLTE0NDgs
NyArMTQzNiw3IEBAIGlubGluZSB2b2lkIEpTT2JqZWN0OjpwdXREaXJlY3RXaXRob3V0VHIKICAg
ICAgICAgbmV3QnV0dGVyZmx5ID0gZ3Jvd091dE9mTGluZVN0b3JhZ2UoZ2xvYmFsRGF0YSwgc3Ry
dWN0dXJlKCktPm91dE9mTGluZUNhcGFjaXR5KCksIHN0cnVjdHVyZSgpLT5zdWdnZXN0ZWROZXdP
dXRPZkxpbmVTdG9yYWdlQ2FwYWNpdHkoKSk7CiAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0g
c3RydWN0dXJlKCktPmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgcHJv
cGVydHlOYW1lLCBhdHRyaWJ1dGVzLCBnZXRDYWxsYWJsZU9iamVjdCh2YWx1ZSkpOwogICAgIHNl
dEJ1dHRlcmZseShnbG9iYWxEYXRhLCBuZXdCdXR0ZXJmbHksIHN0cnVjdHVyZSgpKTsKLSAgICBw
dXREaXJlY3RPZmZzZXQoZ2xvYmFsRGF0YSwgb2Zmc2V0LCB2YWx1ZSk7CisgICAgcHV0RGlyZWN0
KGdsb2JhbERhdGEsIG9mZnNldCwgdmFsdWUpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVj
dDo6dG9QcmltaXRpdmUoRXhlY1N0YXRlKiBleGVjLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlIHBy
ZWZlcnJlZFR5cGUpIGNvbnN0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1Njb3BlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1Njb3BlLmNwcAkocmV2aXNpb24gMTM5NDg4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNTY29wZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw3ICsxNjYsNyBAQCBzdGF0
aWMgYm9vbCBleGVjdXRlUmVzb2x2ZU9wZXJhdGlvbnMoQ2FsCiAgICAgICAgIGNhc2UgUmVzb2x2
ZU9wZXJhdGlvbjo6R2V0QW5kUmV0dXJuR2xvYmFsUHJvcGVydHk6IHsKICAgICAgICAgICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBzY29wZS0+Z2xvYmFsT2JqZWN0KCk7CiAgICAg
ICAgICAgICBpZiAoZ2xvYmFsT2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSBwYy0+bV9zdHJ1Y3R1cmUu
Z2V0KCkpIHsKLSAgICAgICAgICAgICAgICByZXN1bHQuc2V0VmFsdWUoZ2xvYmFsT2JqZWN0LT5n
ZXREaXJlY3RPZmZzZXQocGMtPm1fb2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgcmVzdWx0LnNl
dFZhbHVlKGdsb2JhbE9iamVjdC0+Z2V0RGlyZWN0KHBjLT5tX29mZnNldCkpOwogICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogCkBAIC01ODEsNyArNTgxLDcgQEAg
dm9pZCBKU1Njb3BlOjpyZXNvbHZlUHV0KENhbGxGcmFtZSogY2FsbAogICAgICAgICBKU09iamVj
dCogb2JqZWN0ID0ganNDYXN0PEpTT2JqZWN0Kj4oYmFzZSk7CiAgICAgICAgIGlmIChvcGVyYXRp
b24tPm1fc3RydWN0dXJlLmdldCgpICE9IG9iamVjdC0+c3RydWN0dXJlKCkpCiAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgb2JqZWN0LT5wdXREaXJlY3RPZmZzZXQoY2FsbEZyYW1lLT5nbG9i
YWxEYXRhKCksIG9wZXJhdGlvbi0+bV9vZmZzZXQsIHZhbHVlKTsKKyAgICAgICAgb2JqZWN0LT5w
dXREaXJlY3QoY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCksIG9wZXJhdGlvbi0+bV9vZmZzZXQsIHZh
bHVlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNWYWx1ZS5jcHAJKHJldmlzaW9uIDEzOTQ4OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNyAr
MTQ0LDcgQEAgdm9pZCBKU1ZhbHVlOjpwdXRUb1ByaW1pdGl2ZShFeGVjU3RhdGUqIAogICAgICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgSlNWYWx1ZSBn
cyA9IG9iai0+Z2V0RGlyZWN0T2Zmc2V0KG9mZnNldCk7CisgICAgICAgICAgICBKU1ZhbHVlIGdz
ID0gb2JqLT5nZXREaXJlY3Qob2Zmc2V0KTsKICAgICAgICAgICAgIGlmIChncy5pc0dldHRlclNl
dHRlcigpKSB7CiAgICAgICAgICAgICAgICAgSlNPYmplY3QqIHNldHRlckZ1bmMgPSBhc0dldHRl
clNldHRlcihncyktPnNldHRlcigpOyAgICAgICAgCiAgICAgICAgICAgICAgICAgaWYgKCFzZXR0
ZXJGdW5jKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5jcHAJ
KHJldmlzaW9uIDEzOTQ4OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1
cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY4LDkgKzY4LDkgQEAgYm9vbCBzZXRVcFN0YXRpY0Z1
bmN0aW9uU2xvdChFeGVjU3RhdGUqIAogewogICAgIEFTU0VSVCh0aGlzT2JqLT5nbG9iYWxPYmpl
Y3QoKSk7CiAgICAgQVNTRVJUKGVudHJ5LT5hdHRyaWJ1dGVzKCkgJiBGdW5jdGlvbik7Ci0gICAg
V3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPiogbG9jYXRpb24gPSB0aGlzT2JqLT5nZXREaXJlY3RM
b2NhdGlvbihleGVjLT5nbG9iYWxEYXRhKCksIHByb3BlcnR5TmFtZSk7CisgICAgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0ID0gdGhpc09iai0+Z2V0RGlyZWN0T2Zmc2V0KGV4ZWMtPmdsb2JhbERhdGEo
KSwgcHJvcGVydHlOYW1lKTsKIAotICAgIGlmICghbG9jYXRpb24pIHsKKyAgICBpZiAoIWlzVmFs
aWRPZmZzZXQob2Zmc2V0KSkgewogICAgICAgICAvLyBJZiBhIHByb3BlcnR5IGlzIGV2ZXIgZGVs
ZXRlZCBmcm9tIGFuIG9iamVjdCB3aXRoIGEgc3RhdGljIHRhYmxlLCB0aGVuIHdlIHJlaWZ5CiAg
ICAgICAgIC8vIGFsbCBzdGF0aWMgZnVuY3Rpb25zIGF0IHRoYXQgdGltZSAtIGFmdGVyIHRoaXMg
d2Ugc2hvdWxkbid0IGJlIHJlLWFkZGluZyBhbnl0aGluZy4KICAgICAgICAgaWYgKHRoaXNPYmot
PnN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoKSkKQEAgLTgxLDEwICs4MSwxMSBAQCBib29sIHNldFVw
U3RhdGljRnVuY3Rpb25TbG90KEV4ZWNTdGF0ZSogCiAgICAgICAgIAogICAgICAgICBKU0Z1bmN0
aW9uKiBmdW5jdGlvbiA9IEpTRnVuY3Rpb246OmNyZWF0ZShleGVjLCB0aGlzT2JqLT5nbG9iYWxP
YmplY3QoKSwgZW50cnktPmZ1bmN0aW9uTGVuZ3RoKCksIG5hbWUsIGVudHJ5LT5mdW5jdGlvbigp
LCBlbnRyeS0+aW50cmluc2ljKCkpOwogICAgICAgICB0aGlzT2JqLT5wdXREaXJlY3QoZXhlYy0+
Z2xvYmFsRGF0YSgpLCBwcm9wZXJ0eU5hbWUsIGZ1bmN0aW9uLCBlbnRyeS0+YXR0cmlidXRlcygp
KTsKLSAgICAgICAgbG9jYXRpb24gPSB0aGlzT2JqLT5nZXREaXJlY3RMb2NhdGlvbihleGVjLT5n
bG9iYWxEYXRhKCksIHByb3BlcnR5TmFtZSk7CisgICAgICAgIG9mZnNldCA9IHRoaXNPYmotPmdl
dERpcmVjdE9mZnNldChleGVjLT5nbG9iYWxEYXRhKCksIHByb3BlcnR5TmFtZSk7CisgICAgICAg
IEFTU0VSVChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpOwogICAgIH0KIAotICAgIHNsb3Quc2V0VmFs
dWUodGhpc09iaiwgbG9jYXRpb24tPmdldCgpLCB0aGlzT2JqLT5vZmZzZXRGb3JMb2NhdGlvbihs
b2NhdGlvbikpOworICAgIHNsb3Quc2V0VmFsdWUodGhpc09iaiwgdGhpc09iai0+Z2V0RGlyZWN0
KG9mZnNldCksIG9mZnNldCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24gMTM5NDg4KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjM0LDEzICs2MzQsMTMgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmZsYXR0ZW5E
aWN0aW9uYXJ5UwogICAgICAgICB1bnNpZ25lZCBpID0gMDsKICAgICAgICAgUHJvcGVydHlUYWJs
ZTo6aXRlcmF0b3IgZW5kID0gbV9wcm9wZXJ0eVRhYmxlLT5lbmQoKTsKICAgICAgICAgZm9yIChQ
cm9wZXJ0eVRhYmxlOjppdGVyYXRvciBpdGVyID0gbV9wcm9wZXJ0eVRhYmxlLT5iZWdpbigpOyBp
dGVyICE9IGVuZDsgKytpdGVyLCArK2kpIHsKLSAgICAgICAgICAgIHZhbHVlc1tpXSA9IG9iamVj
dC0+Z2V0RGlyZWN0T2Zmc2V0KGl0ZXItPm9mZnNldCk7CisgICAgICAgICAgICB2YWx1ZXNbaV0g
PSBvYmplY3QtPmdldERpcmVjdChpdGVyLT5vZmZzZXQpOwogICAgICAgICAgICAgaXRlci0+b2Zm
c2V0ID0gb2Zmc2V0Rm9yUHJvcGVydHlOdW1iZXIoaSwgbV9pbmxpbmVDYXBhY2l0eSk7CiAgICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgIC8vIENvcGllcyBpbiBvdXIgdmFsdWVzIHRvIHRoZWly
IGNvbXBhY3RlZCBsb2NhdGlvbnMuCiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBw
cm9wZXJ0eUNvdW50OyBpKyspCi0gICAgICAgICAgICBvYmplY3QtPnB1dERpcmVjdE9mZnNldChn
bG9iYWxEYXRhLCBvZmZzZXRGb3JQcm9wZXJ0eU51bWJlcihpLCBtX2lubGluZUNhcGFjaXR5KSwg
dmFsdWVzW2ldKTsKKyAgICAgICAgICAgIG9iamVjdC0+cHV0RGlyZWN0KGdsb2JhbERhdGEsIG9m
ZnNldEZvclByb3BlcnR5TnVtYmVyKGksIG1faW5saW5lQ2FwYWNpdHkpLCB2YWx1ZXNbaV0pOwog
CiAgICAgICAgIG1fcHJvcGVydHlUYWJsZS0+Y2xlYXJEZWxldGVkT2Zmc2V0cygpOwogICAgIH0K
</data>
<flag name="review"
          id="200387"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>