<?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>129063</bug_id>
          
          <creation_ts>2014-02-19 14:26:52 -0800</creation_ts>
          <short_desc>Move to using std::unique_ptr for Document and related classes</short_desc>
          <delta_ts>2014-02-20 01:41:36 -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>
          
          <blocked>128007</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>982546</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-19 14:26:52 -0800</bug_when>
    <thetext>Move to using std::unique_ptr for Document and related classes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982548</commentid>
    <comment_count>1</comment_count>
      <attachid>224678</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-19 14:37:12 -0800</bug_when>
    <thetext>Created attachment 224678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982737</commentid>
    <comment_count>2</comment_count>
      <attachid>224678</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-20 01:41:30 -0800</bug_when>
    <thetext>Comment on attachment 224678
Patch

Clearing flags on attachment: 224678

Committed r164420: &lt;http://trac.webkit.org/changeset/164420&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982738</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-20 01:41:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224678</attachid>
            <date>2014-02-19 14:37:12 -0800</date>
            <delta_ts>2014-02-20 01:41:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129063-20140219233710.patch</filename>
            <type>text/plain</type>
            <size>25095</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0Mzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjViOTBlZjEyNzFlNjky
MmU5OWQxNDk2YzRhY2UwNzcxYzhhNmM1NC4uYjE4NWI5NzhkZDI0ODFmZDg2ZmJhMzM3M2U2NWUx
YWQ0ZDdjMWU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE0LTAyLTE5ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBNb3ZlIHRvIHVzaW5n
IHN0ZDo6dW5pcXVlX3B0ciBmb3IgRG9jdW1lbnQgYW5kIHJlbGF0ZWQgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5MDYzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFjZSB1c2VzIG9m
IE93blB0ciBhbmQgUGFzc093blB0ciBpbiB0aGUgRG9jdW1lbnQgYW5kIHJlbGF0ZWQgY2xhc3Nl
cyB3aXRoIHN0ZDo6dW5pcXVlX3B0ci4KKworICAgICAgICAqIGRvbS9ET01JbXBsZW1lbnRhdGlv
bi5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlbW92ZWRMYXN0
UmVmKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZWxlY3RvclF1ZXJ5Q2FjaGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50Ojpmb3JtQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6Y3JlYXRlU3R5bGVSZXNvbHZlcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
Y2xlYXJTdHlsZVJlc29sdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjbGVhckFY
T2JqZWN0Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmF4T2JqZWN0Q2FjaGUp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFBhcnNpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OnN0eWxlUmVzb2x2ZXJDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpzZXRUcmFuc2Zvcm1Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OmFjY2Vzc1NWR0V4dGVuc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNo
YXJlZE9iamVjdFBvb2xDbGVhclRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoK
KyAgICAgICAgKiBkb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50RXZlbnRRdWV1ZTo6RG9jdW1lbnRFdmVudFF1ZXVlKToKKyAgICAgICAgKiBkb20v
RG9jdW1lbnRFdmVudFF1ZXVlLmg6CisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFk
ZE1hcmtlcik6CisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudFNoYXJlZE9iamVjdFBvb2wuY3BwOgorICAgICAgICAqIGRvbS9E
b2N1bWVudFNoYXJlZE9iamVjdFBvb2wuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRTdHlsZVNo
ZWV0Q29sbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFN0eWxlU2hlZXRD
b2xsZWN0aW9uOjp1cGRhdGVBY3RpdmVTdHlsZVNoZWV0cyk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9uOjphY3RpdmVTdHlsZVNoZWV0c0NvbnRhaW5zKToK
KyAgICAgICAgKiBkb20vRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbi5oOgorICAgICAgICAq
IGRvbS9Eb2N1bWVudFR5cGUuaDoKKyAgICAgICAgKiBodG1sL0Zvcm1Db250cm9sbGVyLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaDoKKyAgICAgICAgKiB4bWwvcGFyc2Vy
L1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1
bWVudFBhcnNlcjo6ZG9FbmQpOgorCiAyMDE0LTAyLTE5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3
ZWJraXQub3JnPgogCiAgICAgICAgIGlzRWRpdGFibGVQb3NpdGlvbiBzaG91bGRuJ3QgdHJpZ2dl
ciBzeW5jaHJvbm91cyBsYXlvdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01J
bXBsZW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmgK
aW5kZXggMDA2MDAwNzYzNDIyMjg5YTc2NmQ5YWQzZjc4ZGY5N2EwZDY3OGQ1YS4uNDc0YjIyMjYw
Yjc1M2JjMGRlYjFmNTU5MDQ4ZjlmYWJkYTQxN2Y0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUlt
cGxlbWVudGF0aW9uLmgKQEAgLTI2LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIKKyNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CkBAIC00NCw3ICs0NSw4IEBAIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNv
ZGU7CiBjbGFzcyBET01JbXBsZW1lbnRhdGlvbiA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3du
UHRyPERPTUltcGxlbWVudGF0aW9uPiBjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50KSB7IHJldHVy
biBhZG9wdFB0cihuZXcgRE9NSW1wbGVtZW50YXRpb24oZG9jdW1lbnQpKTsgfQorICAgIGV4cGxp
Y2l0IERPTUltcGxlbWVudGF0aW9uKERvY3VtZW50Jik7CisKICAgICAKICAgICB2b2lkIHJlZigp
IHsgbV9kb2N1bWVudC5yZWYoKTsgfQogICAgIHZvaWQgZGVyZWYoKSB7IG1fZG9jdW1lbnQuZGVy
ZWYoKTsgfQpAQCAtNzAsOCArNzIsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgaXNUZXh0
TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBNSU1FVHlwZSk7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGlj
aXQgRE9NSW1wbGVtZW50YXRpb24oRG9jdW1lbnQmKTsKLQogICAgIERvY3VtZW50JiBtX2RvY3Vt
ZW50OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMmViMTZlYjVmM2NjYjg5NzIx
OTI5MDZjZDFkZTdlZmE0ZWQxNzJhMC4uNzhkYjQ5OTVkMWE5NThjYzhkMDdiNGVlMjRkNDY4MWYy
ZDBjMDgxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MzUsNyArNDM1LDcgQEAgRG9j
dW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgVVJMJiB1cmwsIHVuc2lnbmVkIGRv
Y3VtZW50Q2xhc3NlcywgdW5zaWcKICAgICAsIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlUmVzdG9y
ZXNTZWxlY3Rpb24oZmFsc2UpCiAgICAgLCBtX2lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudCgw
KQogICAgICwgbV90aXRsZVNldEV4cGxpY2l0bHkoZmFsc2UpCi0gICAgLCBtX21hcmtlcnMoYWRv
cHRQdHIobmV3IERvY3VtZW50TWFya2VyQ29udHJvbGxlcikpCisgICAgLCBtX21hcmtlcnMoc3Rk
OjptYWtlX3VuaXF1ZTxEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI+KCkpCiAgICAgLCBtX3VwZGF0
ZUZvY3VzQXBwZWFyYW5jZVRpbWVyKHRoaXMsICZEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJh
bmNlVGltZXJGaXJlZCkKICAgICAsIG1fcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRUaW1lcih0aGlz
LCAmRG9jdW1lbnQ6OnJlc2V0SGlkZGVuRm9jdXNFbGVtZW50VGltZXIpCiAgICAgLCBtX2Nzc1Rh
cmdldChudWxscHRyKQpAQCAtNTIwLDcgKzUyMCw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFt
ZSogZnJhbWUsIGNvbnN0IFVSTCYgdXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMsIHVuc2ln
CiAgICAgbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+c2V0RG9jdW1lbnQodGhpcyk7CiAKICNpZiBF
TkFCTEUoVEVYVF9BVVRPU0laSU5HKQotICAgIG1fdGV4dEF1dG9zaXplciA9IFRleHRBdXRvc2l6
ZXI6OmNyZWF0ZSh0aGlzKTsKKyAgICBtX3RleHRBdXRvc2l6ZXIgPSBzdGQ6Om1ha2VfdW5pcXVl
PFRleHRBdXRvc2l6ZXI+KHRoaXMpOwogI2VuZGlmCiAKICAgICByZXNldExpbmtDb2xvcigpOwpA
QCAtNjY1LDcgKzY2NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnJlbW92ZWRMYXN0UmVmKCkKIAogICAg
ICAgICBkZXN0cm95VHJlZVNjb3BlRGF0YSgpOwogICAgICAgICByZW1vdmVEZXRhY2hlZENoaWxk
cmVuKCk7Ci0gICAgICAgIG1fZm9ybUNvbnRyb2xsZXIuY2xlYXIoKTsKKyAgICAgICAgbV9mb3Jt
Q29udHJvbGxlciA9IG51bGxwdHI7CiAgICAgICAgIAogICAgICAgICBtX21hcmtlcnMtPmRldGFj
aCgpOwogICAgICAgICAKQEAgLTc0NSw3ICs3NDUsNyBAQCBIVE1MSW1hZ2VFbGVtZW50KiBEb2N1
bWVudDo6aW1hZ2VFbGVtZW50QnlMb3dlcmNhc2VkVXNlbWFwKGNvbnN0IEF0b21pY1N0cmluZ0lt
cAogU2VsZWN0b3JRdWVyeUNhY2hlJiBEb2N1bWVudDo6c2VsZWN0b3JRdWVyeUNhY2hlKCkKIHsK
ICAgICBpZiAoIW1fc2VsZWN0b3JRdWVyeUNhY2hlKQotICAgICAgICBtX3NlbGVjdG9yUXVlcnlD
YWNoZSA9IGFkb3B0UHRyKG5ldyBTZWxlY3RvclF1ZXJ5Q2FjaGUoKSk7CisgICAgICAgIG1fc2Vs
ZWN0b3JRdWVyeUNhY2hlID0gc3RkOjptYWtlX3VuaXF1ZTxTZWxlY3RvclF1ZXJ5Q2FjaGU+KCk7
CiAgICAgcmV0dXJuICptX3NlbGVjdG9yUXVlcnlDYWNoZTsKIH0KIApAQCAtNzk2LDcgKzc5Niw3
IEBAIHZvaWQgRG9jdW1lbnQ6OnJlc2V0QWN0aXZlTGlua0NvbG9yKCkKIERPTUltcGxlbWVudGF0
aW9uKiBEb2N1bWVudDo6aW1wbGVtZW50YXRpb24oKQogewogICAgIGlmICghbV9pbXBsZW1lbnRh
dGlvbikKLSAgICAgICAgbV9pbXBsZW1lbnRhdGlvbiA9IERPTUltcGxlbWVudGF0aW9uOjpjcmVh
dGUoKnRoaXMpOworICAgICAgICBtX2ltcGxlbWVudGF0aW9uID0gc3RkOjptYWtlX3VuaXF1ZTxE
T01JbXBsZW1lbnRhdGlvbj4oKnRoaXMpOwogICAgIHJldHVybiBtX2ltcGxlbWVudGF0aW9uLmdl
dCgpOwogfQogCkBAIC0xNjAyLDcgKzE2MDIsNyBAQCBOb2RlOjpOb2RlVHlwZSBEb2N1bWVudDo6
bm9kZVR5cGUoKSBjb25zdAogRm9ybUNvbnRyb2xsZXImIERvY3VtZW50Ojpmb3JtQ29udHJvbGxl
cigpCiB7CiAgICAgaWYgKCFtX2Zvcm1Db250cm9sbGVyKQotICAgICAgICBtX2Zvcm1Db250cm9s
bGVyID0gRm9ybUNvbnRyb2xsZXI6OmNyZWF0ZSgpOworICAgICAgICBtX2Zvcm1Db250cm9sbGVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxGb3JtQ29udHJvbGxlcj4oKTsKICAgICByZXR1cm4gKm1fZm9y
bUNvbnRyb2xsZXI7CiB9CiAKQEAgLTE5MjIsMTMgKzE5MjIsMTMgQEAgdm9pZCBEb2N1bWVudDo6
Y3JlYXRlU3R5bGVSZXNvbHZlcigpCiAgICAgYm9vbCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMg
PSB0cnVlOwogICAgIGlmIChTZXR0aW5ncyogc2V0dGluZ3MgPSB0aGlzLT5zZXR0aW5ncygpKQog
ICAgICAgICBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMgPSBzZXR0aW5ncy0+YXV0aG9yQW5kVXNl
clN0eWxlc0VuYWJsZWQoKTsKLSAgICBtX3N0eWxlUmVzb2x2ZXIgPSBhZG9wdFB0cihuZXcgU3R5
bGVSZXNvbHZlcigqdGhpcywgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKSk7CisgICAgbV9zdHls
ZVJlc29sdmVyID0gc3RkOjptYWtlX3VuaXF1ZTxTdHlsZVJlc29sdmVyPigqdGhpcywgbWF0Y2hB
dXRob3JBbmRVc2VyU3R5bGVzKTsKICAgICBtX3N0eWxlU2hlZXRDb2xsZWN0aW9uLmNvbWJpbmVD
U1NGZWF0dXJlRmxhZ3MoKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6Y2xlYXJTdHlsZVJlc29sdmVy
KCkKIHsKLSAgICBtX3N0eWxlUmVzb2x2ZXIuY2xlYXIoKTsKKyAgICBtX3N0eWxlUmVzb2x2ZXIg
PSBudWxscHRyOwogfQogCiB2b2lkIERvY3VtZW50OjpjcmVhdGVSZW5kZXJUcmVlKCkKQEAgLTIx
NTYsNyArMjE1Niw3IEBAIHZvaWQgRG9jdW1lbnQ6OmNsZWFyQVhPYmplY3RDYWNoZSgpCiAgICAg
QVNTRVJUKCZ0b3BEb2N1bWVudCgpID09IHRoaXMpOwogICAgIC8vIENsZWFyIHRoZSBjYWNoZSBt
ZW1iZXIgdmFyaWFibGUgYmVmb3JlIGNhbGxpbmcgZGVsZXRlIGJlY2F1c2UgYXR0ZW1wdHMKICAg
ICAvLyBhcmUgbWFkZSB0byBhY2Nlc3MgaXQgZHVyaW5nIGRlc3RydWN0aW9uLgotICAgIG1fYXhP
YmplY3RDYWNoZS5jbGVhcigpOworICAgIG1fYXhPYmplY3RDYWNoZSA9IG51bGxwdHI7CiB9CiAK
IEFYT2JqZWN0Q2FjaGUqIERvY3VtZW50OjpleGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSBjb25zdApA
QCAtMjE4NCw3ICsyMTg0LDcgQEAgQVhPYmplY3RDYWNoZSogRG9jdW1lbnQ6OmF4T2JqZWN0Q2Fj
aGUoKSBjb25zdAogCiAgICAgQVNTRVJUKCZ0b3BEb2N1bWVudCA9PSB0aGlzIHx8ICFtX2F4T2Jq
ZWN0Q2FjaGUpOwogICAgIGlmICghdG9wRG9jdW1lbnQubV9heE9iamVjdENhY2hlKQotICAgICAg
ICB0b3BEb2N1bWVudC5tX2F4T2JqZWN0Q2FjaGUgPSBhZG9wdFB0cihuZXcgQVhPYmplY3RDYWNo
ZSh0b3BEb2N1bWVudCkpOworICAgICAgICB0b3BEb2N1bWVudC5tX2F4T2JqZWN0Q2FjaGUgPSBz
dGQ6Om1ha2VfdW5pcXVlPEFYT2JqZWN0Q2FjaGU+KHRvcERvY3VtZW50KTsKICAgICByZXR1cm4g
dG9wRG9jdW1lbnQubV9heE9iamVjdENhY2hlLmdldCgpOwogfQogCkBAIC0yNDY1LDcgKzI0NjUs
NyBAQCB2b2lkIERvY3VtZW50OjpzZXRQYXJzaW5nKGJvb2wgYikKICAgICBtX2JQYXJzaW5nID0g
YjsKIAogICAgIGlmIChtX2JQYXJzaW5nICYmICFtX3NoYXJlZE9iamVjdFBvb2wpCi0gICAgICAg
IG1fc2hhcmVkT2JqZWN0UG9vbCA9IERvY3VtZW50U2hhcmVkT2JqZWN0UG9vbDo6Y3JlYXRlKCk7
CisgICAgICAgIG1fc2hhcmVkT2JqZWN0UG9vbCA9IHN0ZDo6bWFrZV91bmlxdWU8RG9jdW1lbnRT
aGFyZWRPYmplY3RQb29sPigpOwogCiAgICAgaWYgKCFtX2JQYXJzaW5nICYmIHZpZXcoKSkKICAg
ICAgICAgdmlldygpLT5zY2hlZHVsZVJlbGF5b3V0KCk7CkBAIC0zMTc5LDcgKzMxNzksNyBAQCB2
b2lkIERvY3VtZW50OjpzdHlsZVJlc29sdmVyQ2hhbmdlZChTdHlsZVJlc29sdmVyVXBkYXRlRmxh
ZyB1cGRhdGVGbGFnKQogICAgIC8vIERvbid0IGJvdGhlciB1cGRhdGluZywgc2luY2Ugd2UgaGF2
ZW4ndCBsb2FkZWQgYWxsIG91ciBzdHlsZSBpbmZvIHlldAogICAgIC8vIGFuZCBoYXZlbid0IGNh
bGN1bGF0ZWQgdGhlIHN0eWxlIHNlbGVjdG9yIGZvciB0aGUgZmlyc3QgdGltZS4KICAgICBpZiAo
IWhhc0xpdmluZ1JlbmRlclRyZWUoKSB8fCAoIW1fZGlkQ2FsY3VsYXRlU3R5bGVSZXNvbHZlciAm
JiAhaGF2ZVN0eWxlc2hlZXRzTG9hZGVkKCkpKSB7Ci0gICAgICAgIG1fc3R5bGVSZXNvbHZlci5j
bGVhcigpOworICAgICAgICBtX3N0eWxlUmVzb2x2ZXIgPSBudWxscHRyOwogICAgICAgICByZXR1
cm47CiAgICAgfQogICAgIG1fZGlkQ2FsY3VsYXRlU3R5bGVSZXNvbHZlciA9IHRydWU7CkBAIC00
MjI4LDkgKzQyMjgsOSBAQCB2b2lkIERvY3VtZW50OjphcHBseVhTTFRyYW5zZm9ybShQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24qIHBpKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVE
b2N1bWVudFVwZGF0ZWQob3duZXJGcmFtZSk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OnNldFRyYW5z
Zm9ybVNvdXJjZShQYXNzT3duUHRyPFRyYW5zZm9ybVNvdXJjZT4gc291cmNlKQordm9pZCBEb2N1
bWVudDo6c2V0VHJhbnNmb3JtU291cmNlKHN0ZDo6dW5pcXVlX3B0cjxUcmFuc2Zvcm1Tb3VyY2U+
IHNvdXJjZSkKIHsKLSAgICBtX3RyYW5zZm9ybVNvdXJjZSA9IHNvdXJjZTsKKyAgICBtX3RyYW5z
Zm9ybVNvdXJjZSA9IHN0ZDo6bW92ZShzb3VyY2UpOwogfQogCiAjZW5kaWYKQEAgLTQzMDQsNyAr
NDMwNCw3IEBAIGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogRG9jdW1lbnQ6OnN2Z0V4dGVu
c2lvbnMoKQogU1ZHRG9jdW1lbnRFeHRlbnNpb25zKiBEb2N1bWVudDo6YWNjZXNzU1ZHRXh0ZW5z
aW9ucygpCiB7CiAgICAgaWYgKCFtX3N2Z0V4dGVuc2lvbnMpCi0gICAgICAgIG1fc3ZnRXh0ZW5z
aW9ucyA9IGFkb3B0UHRyKG5ldyBTVkdEb2N1bWVudEV4dGVuc2lvbnModGhpcykpOworICAgICAg
ICBtX3N2Z0V4dGVuc2lvbnMgPSBzdGQ6Om1ha2VfdW5pcXVlPFNWR0RvY3VtZW50RXh0ZW5zaW9u
cz4odGhpcyk7CiAgICAgcmV0dXJuIG1fc3ZnRXh0ZW5zaW9ucy5nZXQoKTsKIH0KIApAQCAtNDQy
MCw3ICs0NDIwLDcgQEAgdm9pZCBEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKCkKIAogdm9pZCBE
b2N1bWVudDo6c2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4m
KQogewotICAgIG1fc2hhcmVkT2JqZWN0UG9vbC5jbGVhcigpOworICAgIG1fc2hhcmVkT2JqZWN0
UG9vbCA9IG51bGxwdHI7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmRpZEFjY2Vzc1N0eWxlUmVzb2x2
ZXIoKQpAQCAtNTYwOCw3ICs1NjA4LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGlkQWRkVG91Y2hFdmVu
dEhhbmRsZXIoTm9kZSogaGFuZGxlcikKIHsKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAg
IGlmICghbV90b3VjaEV2ZW50VGFyZ2V0cy5nZXQoKSkKLSAgICAgICAgbV90b3VjaEV2ZW50VGFy
Z2V0cyA9IGFkb3B0UHRyKG5ldyBUb3VjaEV2ZW50VGFyZ2V0U2V0KTsKKyAgICAgICAgbV90b3Vj
aEV2ZW50VGFyZ2V0cyA9IHN0ZDo6bWFrZV91bmlxdWU8VG91Y2hFdmVudFRhcmdldFNldD4oKTsK
ICAgICBtX3RvdWNoRXZlbnRUYXJnZXRzLT5hZGQoaGFuZGxlcik7CiAgICAgaWYgKERvY3VtZW50
KiBwYXJlbnQgPSBwYXJlbnREb2N1bWVudCgpKSB7CiAgICAgICAgIHBhcmVudC0+ZGlkQWRkVG91
Y2hFdmVudEhhbmRsZXIodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDNhYzg1YzRkYWI1
NjAyZmI1NGU0NDcwZDQ3YmNiN2EyMDFhYmMwM2QuLmJhZGRlOGMyNDU1NGY4ZmQzMTFmZjgzZWNh
OWZmYjU3ZTE2NjZlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC05NTAsNyArOTUwLDcgQEAg
cHVibGljOgogICAgIFBhc3NSZWZQdHI8RG9jdW1lbnQ+IHRyYW5zZm9ybVNvdXJjZURvY3VtZW50
KCkgeyByZXR1cm4gbV90cmFuc2Zvcm1Tb3VyY2VEb2N1bWVudDsgfQogICAgIHZvaWQgc2V0VHJh
bnNmb3JtU291cmNlRG9jdW1lbnQoRG9jdW1lbnQqIGRvYykgeyBtX3RyYW5zZm9ybVNvdXJjZURv
Y3VtZW50ID0gZG9jOyB9CiAKLSAgICB2b2lkIHNldFRyYW5zZm9ybVNvdXJjZShQYXNzT3duUHRy
PFRyYW5zZm9ybVNvdXJjZT4pOworICAgIHZvaWQgc2V0VHJhbnNmb3JtU291cmNlKHN0ZDo6dW5p
cXVlX3B0cjxUcmFuc2Zvcm1Tb3VyY2U+KTsKICAgICBUcmFuc2Zvcm1Tb3VyY2UqIHRyYW5zZm9y
bVNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNmb3JtU291cmNlLmdldCgpOyB9CiAjZW5k
aWYKIApAQCAtMTM0NSw3ICsxMzQ1LDcgQEAgcHJpdmF0ZToKIAogICAgIERlZmVycmFibGVPbmVT
aG90VGltZXI8RG9jdW1lbnQ+IG1fc3R5bGVSZXNvbHZlclRocm93YXdheVRpbWVyOwogCi0gICAg
T3duUHRyPFN0eWxlUmVzb2x2ZXI+IG1fc3R5bGVSZXNvbHZlcjsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8U3R5bGVSZXNvbHZlcj4gbV9zdHlsZVJlc29sdmVyOwogICAgIGJvb2wgbV9kaWRDYWxjdWxh
dGVTdHlsZVJlc29sdmVyOwogICAgIGJvb2wgbV9oYXNOb2Rlc1dpdGhQbGFjZWhvbGRlclN0eWxl
OwogICAgIGJvb2wgbV9uZWVkc05vdGlmeVJlbW92ZUFsbFBlbmRpbmdTdHlsZXNoZWV0OwpAQCAt
MTM4Niw3ICsxMzg2LDcgQEAgcHJpdmF0ZToKIAogICAgIFN0cmluZyBtX2Jhc2VUYXJnZXQ7CiAK
LSAgICBPd25QdHI8RE9NSW1wbGVtZW50YXRpb24+IG1faW1wbGVtZW50YXRpb247CisgICAgc3Rk
Ojp1bmlxdWVfcHRyPERPTUltcGxlbWVudGF0aW9uPiBtX2ltcGxlbWVudGF0aW9uOwogCiAgICAg
UmVmUHRyPENTU1N0eWxlU2hlZXQ+IG1fZWxlbWVudFNoZWV0OwogCkBAIC0xNDE5LDcgKzE0MTks
NyBAQCBwcml2YXRlOgogICAgIERvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24gbV9zdHlsZVNo
ZWV0Q29sbGVjdGlvbjsKICAgICBSZWZQdHI8U3R5bGVTaGVldExpc3Q+IG1fc3R5bGVTaGVldExp
c3Q7CiAKLSAgICBPd25QdHI8Rm9ybUNvbnRyb2xsZXI+IG1fZm9ybUNvbnRyb2xsZXI7CisgICAg
c3RkOjp1bmlxdWVfcHRyPEZvcm1Db250cm9sbGVyPiBtX2Zvcm1Db250cm9sbGVyOwogCiAgICAg
Q29sb3IgbV9saW5rQ29sb3I7CiAgICAgQ29sb3IgbV92aXNpdGVkTGlua0NvbG9yOwpAQCAtMTQ1
MSw4ICsxNDUxLDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fdGl0bGVTZXRFeHBsaWNpdGx5Owog
ICAgIFJlZlB0cjxFbGVtZW50PiBtX3RpdGxlRWxlbWVudDsKIAotICAgIE93blB0cjxBWE9iamVj
dENhY2hlPiBtX2F4T2JqZWN0Q2FjaGU7Ci0gICAgY29uc3QgT3duUHRyPERvY3VtZW50TWFya2Vy
Q29udHJvbGxlcj4gbV9tYXJrZXJzOworICAgIHN0ZDo6dW5pcXVlX3B0cjxBWE9iamVjdENhY2hl
PiBtX2F4T2JqZWN0Q2FjaGU7CisgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPERvY3VtZW50TWFy
a2VyQ29udHJvbGxlcj4gbV9tYXJrZXJzOwogICAgIAogICAgIFRpbWVyPERvY3VtZW50PiBtX3Vw
ZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyOwogICAgIFRpbWVyPERvY3VtZW50PiBtX3Jlc2V0SGlk
ZGVuRm9jdXNFbGVtZW50VGltZXI7CkBAIC0xNDc1LDcgKzE0NzUsNyBAQCBwcml2YXRlOgogICAg
IFZlY3RvcjxSZWZQdHI8SFRNTFNjcmlwdEVsZW1lbnQ+PiBtX2N1cnJlbnRTY3JpcHRTdGFjazsK
IAogI2lmIEVOQUJMRShYU0xUKQotICAgIE93blB0cjxUcmFuc2Zvcm1Tb3VyY2U+IG1fdHJhbnNm
b3JtU291cmNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxUcmFuc2Zvcm1Tb3VyY2U+IG1fdHJhbnNm
b3JtU291cmNlOwogICAgIFJlZlB0cjxEb2N1bWVudD4gbV90cmFuc2Zvcm1Tb3VyY2VEb2N1bWVu
dDsKICNlbmRpZgogCkBAIC0xNDk3LDcgKzE0OTcsNyBAQCBwcml2YXRlOgogCiAgICAgUmVmUHRy
PFhQYXRoRXZhbHVhdG9yPiBtX3hwYXRoRXZhbHVhdG9yOwogCi0gICAgT3duUHRyPFNWR0RvY3Vt
ZW50RXh0ZW5zaW9ucz4gbV9zdmdFeHRlbnNpb25zOworICAgIHN0ZDo6dW5pcXVlX3B0cjxTVkdE
b2N1bWVudEV4dGVuc2lvbnM+IG1fc3ZnRXh0ZW5zaW9uczsKIAogI2lmIEVOQUJMRShEQVNIQk9B
UkRfU1VQUE9SVCkKICAgICBWZWN0b3I8QW5ub3RhdGVkUmVnaW9uVmFsdWU+IG1fYW5ub3RhdGVk
UmVnaW9uczsKQEAgLTE1MjcsNyArMTUyNyw3IEBAIHByaXZhdGU6CiAKICAgICBEb2N1bWVudE9y
ZGVyZWRNYXAgbV9pbWFnZXNCeVVzZW1hcDsKIAotICAgIE93blB0cjxTZWxlY3RvclF1ZXJ5Q2Fj
aGU+IG1fc2VsZWN0b3JRdWVyeUNhY2hlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxTZWxlY3RvclF1
ZXJ5Q2FjaGU+IG1fc2VsZWN0b3JRdWVyeUNhY2hlOwogCiAgICAgRG9jdW1lbnRDbGFzc0ZsYWdz
IG1fZG9jdW1lbnRDbGFzc2VzOwogCkBAIC0xNTc5LDcgKzE1NzksNyBAQCBwcml2YXRlOgogICAg
IAogICAgIHVuc2lnbmVkIG1fd2hlZWxFdmVudEhhbmRsZXJDb3VudDsKICNpZiBFTkFCTEUoVE9V
Q0hfRVZFTlRTKQotICAgIE93blB0cjxUb3VjaEV2ZW50VGFyZ2V0U2V0PiBtX3RvdWNoRXZlbnRU
YXJnZXRzOworICAgIHN0ZDo6dW5pcXVlX3B0cjxUb3VjaEV2ZW50VGFyZ2V0U2V0PiBtX3RvdWNo
RXZlbnRUYXJnZXRzOwogI2VuZGlmCiAKICAgICBkb3VibGUgbV9sYXN0SGFuZGxlZFVzZXJHZXN0
dXJlVGltZXN0YW1wOwpAQCAtMTYzMiw3ICsxNjMyLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAj
aWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKLSAgICBPd25QdHI8VGV4dEF1dG9zaXplcj4gbV90
ZXh0QXV0b3NpemVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxUZXh0QXV0b3NpemVyPiBtX3RleHRB
dXRvc2l6ZXI7CiAjZW5kaWYKIAogICAgIHZvaWQgcGxhdGZvcm1TdXNwZW5kT3JTdG9wQWN0aXZl
RE9NT2JqZWN0cygpOwpAQCAtMTY1MSw3ICsxNjUxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNo
YXJlZE9iamVjdFBvb2xDbGVhclRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Jik7CiAgICAgVGlt
ZXI8RG9jdW1lbnQ+IG1fc2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXI7CiAKLSAgICBPd25QdHI8
RG9jdW1lbnRTaGFyZWRPYmplY3RQb29sPiBtX3NoYXJlZE9iamVjdFBvb2w7CisgICAgc3RkOjp1
bmlxdWVfcHRyPERvY3VtZW50U2hhcmVkT2JqZWN0UG9vbD4gbV9zaGFyZWRPYmplY3RQb29sOwog
CiAjaWZuZGVmIE5ERUJVRwogICAgIGJvb2wgbV9kaWREaXNwYXRjaFZpZXdwb3J0UHJvcGVydGll
c0NoYW5nZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1
ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCmluZGV4
IDYzMTY1M2FiN2I4ZDg1ODNlMGYzMTlhZDUxZTg1OWFlOWIyZTA1MWYuLjA1MGE4MWRmNTA1ZmRj
NTJkY2YwYmE2NDkyN2UwOTY2MmU1NDJiOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dEV2ZW50UXVldWUuY3BwCkBAIC0zOCwxOCArMzgsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIAogY2xhc3MgRG9jdW1lbnRFdmVudFF1ZXVlOjpUaW1lciBmaW5hbCA6IHB1YmxpYyBTdXNw
ZW5kYWJsZVRpbWVyIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxUaW1lcj4gY3Jl
YXRlKERvY3VtZW50RXZlbnRRdWV1ZSYgZXZlbnRRdWV1ZSkKLSAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFB0cihuZXcgVGltZXIoZXZlbnRRdWV1ZSkpOwotICAgIH0KLQotcHJpdmF0ZToKICAg
ICBUaW1lcihEb2N1bWVudEV2ZW50UXVldWUmIGV2ZW50UXVldWUpCiAgICAgICAgIDogU3VzcGVu
ZGFibGVUaW1lcigmZXZlbnRRdWV1ZS5tX2RvY3VtZW50KQogICAgICAgICAsIG1fZXZlbnRRdWV1
ZShldmVudFF1ZXVlKQogICAgIHsKICAgICB9CiAKK3ByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lk
IGZpcmVkKCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIEFTU0VSVCghaXNTdXNwZW5kZWQoKSk7
CkBAIC02MSw3ICs1Niw3IEBAIHByaXZhdGU6CiAKIERvY3VtZW50RXZlbnRRdWV1ZTo6RG9jdW1l
bnRFdmVudFF1ZXVlKERvY3VtZW50JiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1l
bnQpCi0gICAgLCBtX3BlbmRpbmdFdmVudFRpbWVyKFRpbWVyOjpjcmVhdGUoKnRoaXMpKQorICAg
ICwgbV9wZW5kaW5nRXZlbnRUaW1lcihzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcykpCiAg
ICAgLCBtX2lzQ2xvc2VkKGZhbHNlKQogewogICAgIG1fcGVuZGluZ0V2ZW50VGltZXItPnN1c3Bl
bmRJZk5lZWRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZl
bnRRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5oCmluZGV4
IDNhYzA1ZTRmNGQ3MDNlOTVhYmY0Y2JlNTRhNjc5M2RlZGFhYjlkNWYuLmZkZTc0OWM3YmNlYWRk
ZGE3OTJmNjg4NTI1OWRkODc4ZDk0OTk4NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudEV2ZW50UXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRF
dmVudFF1ZXVlLmgKQEAgLTI5LDkgKzI5LDkgQEAKICNkZWZpbmUgRG9jdW1lbnRFdmVudFF1ZXVl
X2gKIAogI2luY2x1ZGUgIkV2ZW50UXVldWUuaCIKKyNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KLSNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTcsNyArNTcsNyBA
QCBwcml2YXRlOgogICAgIGNsYXNzIFRpbWVyOwogCiAgICAgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7
Ci0gICAgT3duUHRyPFRpbWVyPiBtX3BlbmRpbmdFdmVudFRpbWVyOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxUaW1lcj4gbV9wZW5kaW5nRXZlbnRUaW1lcjsKICAgICBMaXN0SGFzaFNldDxSZWZQdHI8
RXZlbnQ+LCAxNj4gbV9xdWV1ZWRFdmVudHM7CiAgICAgSGFzaFNldDxOb2RlKj4gbV9ub2Rlc1dp
dGhRdWV1ZWRTY3JvbGxFdmVudHM7CiAgICAgYm9vbCBtX2lzQ2xvc2VkOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcAppbmRleCBiY2M3MzY5Y2Nj
ZjBlNmVlNjg0ODAzZmY0ZDVjMWQwZjk4ZDAxZGZjLi5jN2Q2OWMzZjg3NzVjYmUwYjFiNjdhZmI4
MDM2NDljYjBlZGYxYzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRN
YXJrZXJDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJr
ZXJDb250cm9sbGVyLmNwcApAQCAtMTY4LDEwICsxNjgsMTAgQEAgdm9pZCBEb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXI6OmFkZE1hcmtlcihOb2RlKiBub2RlLCBjb25zdCBEb2N1bWVudE1hcmtlciYg
bmV3TWEKIAogICAgIG1fcG9zc2libHlFeGlzdGluZ01hcmtlclR5cGVzLmFkZChuZXdNYXJrZXIu
dHlwZSgpKTsKIAotICAgIE93blB0cjxNYXJrZXJMaXN0PiYgbGlzdCA9IG1fbWFya2Vycy5hZGQo
bm9kZSwgbnVsbHB0cikuaXRlcmF0b3ItPnZhbHVlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxNYXJr
ZXJMaXN0PiYgbGlzdCA9IG1fbWFya2Vycy5hZGQobm9kZSwgbnVsbHB0cikuaXRlcmF0b3ItPnZh
bHVlOwogCiAgICAgaWYgKCFsaXN0KSB7Ci0gICAgICAgIGxpc3QgPSBhZG9wdFB0cihuZXcgTWFy
a2VyTGlzdCk7CisgICAgICAgIGxpc3QgPSBzdGQ6Om1ha2VfdW5pcXVlPE1hcmtlckxpc3Q+KCk7
CiAgICAgICAgIGxpc3QtPmFwcGVuZChSZW5kZXJlZERvY3VtZW50TWFya2VyKG5ld01hcmtlcikp
OwogI2lmIFBMQVRGT1JNKElPUykKICAgICB9IGVsc2UgaWYgKG5ld01hcmtlci50eXBlKCkgPT0g
RG9jdW1lbnRNYXJrZXI6OkRpY3RhdGlvblBocmFzZVdpdGhBbHRlcm5hdGl2ZXMgfHwgbmV3TWFy
a2VyLnR5cGUoKSA9PSBEb2N1bWVudE1hcmtlcjo6RGljdGF0aW9uUmVzdWx0KSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggNzY5NDY0Nzhi
ZTViM2U3Yzk4NTgwMzgxMTkwNmQ0YTRlN2FmNzYxYy4uZGM2NTgxZDRkYjQ1NDUwMzIxM2RhZmFh
MDhmNDcxYTQ2N2ZmNmVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
TWFya2VyQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXIuaApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJr
ZXIuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC05Niw3ICs5Nyw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhZGRNYXJrZXIoTm9kZSosIGNvbnN0IERvY3VtZW50TWFy
a2VyJik7CiAKICAgICB0eXBlZGVmIFZlY3RvcjxSZW5kZXJlZERvY3VtZW50TWFya2VyPiBNYXJr
ZXJMaXN0OwotICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8Tm9kZT4sIE93blB0cjxNYXJrZXJM
aXN0Pj4gTWFya2VyTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8Tm9kZT4sIHN0ZDo6
dW5pcXVlX3B0cjxNYXJrZXJMaXN0Pj4gTWFya2VyTWFwOwogICAgIGJvb2wgcG9zc2libHlIYXNN
YXJrZXJzKERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBlcyk7CiAgICAgdm9pZCByZW1vdmVNYXJr
ZXJzRnJvbUxpc3QoTWFya2VyTWFwOjppdGVyYXRvciwgRG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5
cGVzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50U2hhcmVkT2Jq
ZWN0UG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRTaGFyZWRPYmplY3RQb29s
LmNwcAppbmRleCAyY2Y3YWVhYjNhOGZjYjllZTBmYzI1MmVkMzQ5OWY5NDAzOTRhZmU2Li5hNDFm
ZTgzYzg3NjEyOTkxMjJiY2ZkNjIxMWM2Yjk3Zjk4MDg2MmIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnRTaGFyZWRPYmplY3RQb29sLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnRTaGFyZWRPYmplY3RQb29sLmNwcApAQCAtNTksMTIgKzU5LDQgQEAg
UGFzc1JlZjxTaGFyZWFibGVFbGVtZW50RGF0YT4gRG9jdW1lbnRTaGFyZWRPYmplY3RQb29sOjpj
YWNoZWRTaGFyZWFibGVFbGVtZW50RGEKICAgICByZXR1cm4gKmNhY2hlZERhdGE7CiB9CiAKLURv
Y3VtZW50U2hhcmVkT2JqZWN0UG9vbDo6RG9jdW1lbnRTaGFyZWRPYmplY3RQb29sKCkKLXsKLX0K
LQotRG9jdW1lbnRTaGFyZWRPYmplY3RQb29sOjp+RG9jdW1lbnRTaGFyZWRPYmplY3RQb29sKCkK
LXsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50U2hhcmVk
T2JqZWN0UG9vbC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50U2hhcmVkT2JqZWN0UG9v
bC5oCmluZGV4IDIxY2E4ZjVhNjgxNzUyYzAyY2JhMmY0NTE1ZTM0MTgxNTcxZjQyYTUuLmMyYWU2
Y2JmZjUyMzk2M2YyYjRhMWU3NjMyZmExNmIzZGIwNmRkZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudFNoYXJlZE9iamVjdFBvb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnRTaGFyZWRPYmplY3RQb29sLmgKQEAgLTI3LDggKzI3LDggQEAKICNpZm5k
ZWYgRG9jdW1lbnRTaGFyZWRPYmplY3RQb29sX2gKICNkZWZpbmUgRG9jdW1lbnRTaGFyZWRPYmpl
Y3RQb29sX2gKIAorI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgot
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtMzksMTQgKzM5LDkgQEAgY2xhc3Mg
U2hhcmVhYmxlRWxlbWVudERhdGE7CiAKIGNsYXNzIERvY3VtZW50U2hhcmVkT2JqZWN0UG9vbCB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RG9jdW1lbnRTaGFyZWRPYmplY3RQb29s
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFB0cihuZXcgRG9jdW1lbnRTaGFyZWRPYmplY3RQb29s
KTsgfQotICAgIH5Eb2N1bWVudFNoYXJlZE9iamVjdFBvb2woKTsKLQogICAgIFBhc3NSZWY8U2hh
cmVhYmxlRWxlbWVudERhdGE+IGNhY2hlZFNoYXJlYWJsZUVsZW1lbnREYXRhV2l0aEF0dHJpYnV0
ZXMoY29uc3QgVmVjdG9yPEF0dHJpYnV0ZT4mKTsKIAogcHJpdmF0ZToKLSAgICBEb2N1bWVudFNo
YXJlZE9iamVjdFBvb2woKTsKLQogICAgIHR5cGVkZWYgSGFzaE1hcDx1bnNpZ25lZCwgUmVmUHRy
PFNoYXJlYWJsZUVsZW1lbnREYXRhPiwgQWxyZWFkeUhhc2hlZD4gU2hhcmVhYmxlRWxlbWVudERh
dGFDYWNoZTsKICAgICBTaGFyZWFibGVFbGVtZW50RGF0YUNhY2hlIG1fc2hhcmVhYmxlRWxlbWVu
dERhdGFDYWNoZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRT
dHlsZVNoZWV0Q29sbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRTdHls
ZVNoZWV0Q29sbGVjdGlvbi5jcHAKaW5kZXggZmEyMzZhYmYxZmEzMmIwOTI2NjE1YTI5MDAwOGYx
NjgzMDBhYmQzNy4uNzE5OWMwMWMwNTVlODE3ZWFlZjU0MWJhNDExNjUzOWY0NzdlMGVhMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9u
LmNwcApAQCAtNDY3LDcgKzQ2Nyw3IEBAIGJvb2wgRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlv
bjo6dXBkYXRlQWN0aXZlU3R5bGVTaGVldHMoVXBkYXRlRmxhZyB1cGRhdGVGbGFnCiAgICAgICAg
IHJlc2V0Q1NTRmVhdHVyZUZsYWdzKCk7CiAgICAgfQogCi0gICAgbV93ZWFrQ29weU9mQWN0aXZl
U3R5bGVTaGVldExpc3RGb3JGYXN0TG9va3VwLmNsZWFyKCk7CisgICAgbV93ZWFrQ29weU9mQWN0
aXZlU3R5bGVTaGVldExpc3RGb3JGYXN0TG9va3VwID0gbnVsbHB0cjsKICAgICBtX2FjdGl2ZUF1
dGhvclN0eWxlU2hlZXRzLnN3YXAoYWN0aXZlQ1NTU3R5bGVTaGVldHMpOwogICAgIG1fc3R5bGVT
aGVldHNGb3JTdHlsZVNoZWV0TGlzdC5zd2FwKGFjdGl2ZVN0eWxlU2hlZXRzKTsKIApAQCAtNDgw
LDcgKzQ4MCw3IEBAIGJvb2wgRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbjo6dXBkYXRlQWN0
aXZlU3R5bGVTaGVldHMoVXBkYXRlRmxhZyB1cGRhdGVGbGFnCiBib29sIERvY3VtZW50U3R5bGVT
aGVldENvbGxlY3Rpb246OmFjdGl2ZVN0eWxlU2hlZXRzQ29udGFpbnMoY29uc3QgQ1NTU3R5bGVT
aGVldCogc2hlZXQpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3dlYWtDb3B5T2ZBY3RpdmVTdHlsZVNo
ZWV0TGlzdEZvckZhc3RMb29rdXApIHsKLSAgICAgICAgbV93ZWFrQ29weU9mQWN0aXZlU3R5bGVT
aGVldExpc3RGb3JGYXN0TG9va3VwID0gYWRvcHRQdHIobmV3IEhhc2hTZXQ8Y29uc3QgQ1NTU3R5
bGVTaGVldCo+KTsKKyAgICAgICAgbV93ZWFrQ29weU9mQWN0aXZlU3R5bGVTaGVldExpc3RGb3JG
YXN0TG9va3VwID0gc3RkOjptYWtlX3VuaXF1ZTxIYXNoU2V0PGNvbnN0IENTU1N0eWxlU2hlZXQq
Pj4oKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fYWN0aXZlQXV0aG9yU3R5
bGVTaGVldHMuc2l6ZSgpOyArK2kpCiAgICAgICAgICAgICBtX3dlYWtDb3B5T2ZBY3RpdmVTdHls
ZVNoZWV0TGlzdEZvckZhc3RMb29rdXAtPmFkZChtX2FjdGl2ZUF1dGhvclN0eWxlU2hlZXRzW2ld
LmdldCgpKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRT
dHlsZVNoZWV0Q29sbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50U3R5bGVT
aGVldENvbGxlY3Rpb24uaAppbmRleCBkY2VjMjA5YmJkM2YyZWJjNzAwNWQ4MDhkYzFhOTk3YTdl
YjlhNzQ2Li44NmNmNmEzMDllZjVhNzYwYzYxYTgyOThhMDUyOTZjOWZjODhhNjMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9uLmgKQEAg
LTI4LDYgKzI4LDcgQEAKICNpZm5kZWYgRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbl9oCiAj
ZGVmaW5lIERvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb25faAogCisjaW5jbHVkZSA8bWVtb3J5
PgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMTMyLDcgKzEzMyw3IEBAIHByaXZhdGU6
CiAgICAgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0Pj4gbV9hY3RpdmVBdXRob3JTdHlsZVNo
ZWV0czsKIAogICAgIC8vIFRoaXMgaXMgYSBtaXJyb3Igb2YgbV9hY3RpdmVBdXRob3JTdHlsZVNo
ZWV0cyB0aGF0IGdldHMgcG9wdWxhdGVkIG9uIGRlbWFuZCBmb3IgYWN0aXZlU3R5bGVTaGVldHND
b250YWlucygpLgotICAgIG11dGFibGUgT3duUHRyPEhhc2hTZXQ8Y29uc3QgQ1NTU3R5bGVTaGVl
dCo+PiBtX3dlYWtDb3B5T2ZBY3RpdmVTdHlsZVNoZWV0TGlzdEZvckZhc3RMb29rdXA7CisgICAg
bXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8SGFzaFNldDxjb25zdCBDU1NTdHlsZVNoZWV0Kj4+IG1f
d2Vha0NvcHlPZkFjdGl2ZVN0eWxlU2hlZXRMaXN0Rm9yRmFzdExvb2t1cDsKIAogICAgIC8vIFRy
YWNrIHRoZSBudW1iZXIgb2YgY3VycmVudGx5IGxvYWRpbmcgdG9wLWxldmVsIHN0eWxlc2hlZXRz
IG5lZWRlZCBmb3IgcmVuZGVyaW5nLgogICAgIC8vIFNoZWV0cyBsb2FkZWQgdXNpbmcgdGhlIEBp
bXBvcnQgZGlyZWN0aXZlIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhpcyBjb3VudC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudFR5cGUuaAppbmRleCBkZjg1NzhiOGIyMWUwMmYwYjkzNmMyOTE3YzFhNDZlODFh
M2Y2YWJlLi5hYTYzNmRhZDExYjM1M2NhMTgzOTIzNWQ2YTRiMDNiNTNkY2Y5NDBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50VHlwZS5oCkBAIC0zNyw5ICszNyw5IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBEb2N1bWVudFR5cGUoZG9jdW1lbnQsIG5hbWUsIHB1YmxpY0lk
LCBzeXN0ZW1JZCkpOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBXZSBuZXZlciBmaWxsIG1fZW50
aXRpZXMgYW5kIG1fbm90YXRpb25zLiBDdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIE5hbWVkTm9k
ZU1hcCBkb2Vzbid0IHdvcmsgd2l0aG91dCBhbiBhc3NvY2lhdGVkIEVsZW1lbnQgeWV0LgotICAg
IE5hbWVkTm9kZU1hcCogZW50aXRpZXMoKSBjb25zdCB7IHJldHVybiBtX2VudGl0aWVzLmdldCgp
OyB9Ci0gICAgTmFtZWROb2RlTWFwKiBub3RhdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX25vdGF0
aW9ucy5nZXQoKTsgfQorICAgIC8vIEZJWE1FOiBXZSByZXR1cm4gbnVsbCBlbnRpdGllcyBhbmQg
bm90YXRpb25zLiBDdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIE5hbWVkTm9kZU1hcCBkb2Vzbid0
IHdvcmsgd2l0aG91dCBhbiBhc3NvY2lhdGVkIEVsZW1lbnQgeWV0LgorICAgIE5hbWVkTm9kZU1h
cCogZW50aXRpZXMoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CisgICAgTmFtZWROb2RlTWFw
KiBub3RhdGlvbnMoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAKICAgICBjb25zdCBTdHJp
bmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KICAgICBjb25zdCBTdHJpbmcmIHB1
YmxpY0lkKCkgY29uc3QgeyByZXR1cm4gbV9wdWJsaWNJZDsgfQpAQCAtNTQsOSArNTQsNiBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgTm9kZVR5cGUgbm9kZVR5cGUoKSBjb25zdCBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZT4gY2xvbmVOb2RlKGJvb2wgZGVlcCkgb3ZlcnJp
ZGU7CiAKLSAgICBPd25QdHI8TmFtZWROb2RlTWFwPiBtX2VudGl0aWVzOwotICAgIE93blB0cjxO
YW1lZE5vZGVNYXA+IG1fbm90YXRpb25zOwotCiAgICAgU3RyaW5nIG1fbmFtZTsKICAgICBTdHJp
bmcgbV9wdWJsaWNJZDsKICAgICBTdHJpbmcgbV9zeXN0ZW1JZDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9y
bUNvbnRyb2xsZXIuaAppbmRleCBlMTQ2YjY0ZjYwY2JlZGE3ODRjMTA5YmQ5MTQwMWVlN2UyYTFm
ZmVmLi5iNjM1N2I0MjU5ODNiZTRlMWJlMTVkMDBlOThhM2FiYzQzZTE0NzllIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9Gb3JtQ29udHJvbGxlci5oCkBAIC03NCwxMCArNzQsNyBAQCBpbmxpbmUgdm9pZCBG
b3JtQ29udHJvbFN0YXRlOjphcHBlbmQoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIGNsYXNzIEZvcm1D
b250cm9sbGVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgT3duUHRyPEZvcm1Db250cm9sbGVyPiBjcmVhdGUoKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkb3B0UHRyKG5ldyBGb3JtQ29udHJvbGxlcik7Ci0gICAgfQorICAgIEZvcm1Db250cm9s
bGVyKCk7CiAgICAgfkZvcm1Db250cm9sbGVyKCk7CiAKICAgICBDaGVja2VkUmFkaW9CdXR0b25z
JiBjaGVja2VkUmFkaW9CdXR0b25zKCkgeyByZXR1cm4gbV9jaGVja2VkUmFkaW9CdXR0b25zOyB9
CkBAIC0xMDEsNyArOTgsNiBAQCBwcml2YXRlOgogICAgIHR5cGVkZWYgTGlzdEhhc2hTZXQ8UmVm
UHRyPEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU+LCA2ND4gRm9ybUVsZW1lbnRMaXN0
SGFzaFNldDsKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+LCBP
d25QdHI8U2F2ZWRGb3JtU3RhdGU+PiBTYXZlZEZvcm1TdGF0ZU1hcDsKIAotICAgIEZvcm1Db250
cm9sbGVyKCk7CiAgICAgc3RhdGljIE93blB0cjxTYXZlZEZvcm1TdGF0ZU1hcD4gY3JlYXRlU2F2
ZWRGb3JtU3RhdGVNYXAoY29uc3QgRm9ybUVsZW1lbnRMaXN0SGFzaFNldCYpOwogICAgIEZvcm1D
b250cm9sU3RhdGUgdGFrZVN0YXRlRm9yRm9ybUVsZW1lbnQoY29uc3QgSFRNTEZvcm1Db250cm9s
RWxlbWVudFdpdGhTdGF0ZSYpOwogICAgIHN0YXRpYyB2b2lkIGZvcm1TdGF0ZXNGcm9tU3RhdGVW
ZWN0b3IoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBTYXZlZEZvcm1TdGF0ZU1hcCYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgKaW5kZXggZjFmNjc1Mzg1Y2FiYzRjNjQz
MWVlYzQ0Y2Q1YTI2ZTk5MzU1ODk1My4uZWU1MTY4OTc3ZTE3MGVlMzAxMTFlMDRmMmI0MTI4ZGU5
OGE3MTZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oCkBAIC00
Niw4ICs0Niw3IEBAIGNsYXNzIFRleHRBdXRvc2l6ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRleHRBdXRvc2l6ZXIpOwogCiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8VGV4
dEF1dG9zaXplcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkgeyByZXR1cm4gYWRvcHRQdHIo
bmV3IFRleHRBdXRvc2l6ZXIoZG9jdW1lbnQpKTsgfQotCisgICAgZXhwbGljaXQgVGV4dEF1dG9z
aXplcihEb2N1bWVudCopOwogICAgIHZpcnR1YWwgflRleHRBdXRvc2l6ZXIoKTsKIAogICAgIGJv
b2wgcHJvY2Vzc1N1YnRyZWUoUmVuZGVyT2JqZWN0KiBsYXlvdXRSb290KTsKQEAgLTYxLDggKzYw
LDYgQEAgcHJpdmF0ZToKICAgICAgICAgTGFzdFRvRmlyc3QKICAgICB9OwogCi0gICAgZXhwbGlj
aXQgVGV4dEF1dG9zaXplcihEb2N1bWVudCopOwotCiAgICAgZmxvYXQgY2x1c3Rlck11bHRpcGxp
ZXIoV3JpdGluZ01vZGUsIGNvbnN0IFRleHRBdXRvc2l6aW5nV2luZG93SW5mbyYsIGZsb2F0IHRl
eHRXaWR0aCkgY29uc3Q7CiAKICAgICB2b2lkIHByb2Nlc3NDbHVzdGVySW50ZXJuYWwoVGV4dEF1
dG9zaXppbmdDbHVzdGVySW5mbyYsIFJlbmRlckJsb2NrKiBjb250YWluZXIsIFJlbmRlck9iamVj
dCogc3VidHJlZVJvb3QsIGNvbnN0IFRleHRBdXRvc2l6aW5nV2luZG93SW5mbyYsIGZsb2F0IG11
bHRpcGxpZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1
bWVudFBhcnNlckxpYnhtbDIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1
bWVudFBhcnNlckxpYnhtbDIuY3BwCmluZGV4IDFjMWM2MTkxMWMzMGVhMDhlMzNiM2RhODNlZTIy
NTU5OWZjM2Q0MDMuLmJkZjVhODMxM2VlYWI2NzExMWUyZGYyMjU1ZmZmZTQ0NjI3NjAzMTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJMaWJ4
bWwyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2Vy
TGlieG1sMi5jcHAKQEAgLTEzNzQsNyArMTM3NCw3IEBAIHZvaWQgWE1MRG9jdW1lbnRQYXJzZXI6
OmRvRW5kKCkKICAgICAgICAgeG1sVHJlZVZpZXdlci50cmFuc2Zvcm1Eb2N1bWVudFRvVHJlZVZp
ZXcoKTsKICAgICB9IGVsc2UgaWYgKG1fc2F3WFNMVHJhbnNmb3JtKSB7CiAgICAgICAgIHZvaWQq
IGRvYyA9IHhtbERvY1B0ckZvclN0cmluZyhkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRl
cigpLCBtX29yaWdpbmFsU291cmNlRm9yVHJhbnNmb3JtLnRvU3RyaW5nKCksIGRvY3VtZW50KCkt
PnVybCgpLnN0cmluZygpKTsKLSAgICAgICAgZG9jdW1lbnQoKS0+c2V0VHJhbnNmb3JtU291cmNl
KGFkb3B0UHRyKG5ldyBUcmFuc2Zvcm1Tb3VyY2UoZG9jKSkpOworICAgICAgICBkb2N1bWVudCgp
LT5zZXRUcmFuc2Zvcm1Tb3VyY2Uoc3RkOjptYWtlX3VuaXF1ZTxUcmFuc2Zvcm1Tb3VyY2U+KGRv
YykpOwogCiAgICAgICAgIGRvY3VtZW50KCktPnNldFBhcnNpbmcoZmFsc2UpOyAvLyBNYWtlIHRo
ZSBkb2N1bWVudCB0aGluayBpdCdzIGRvbmUsIHNvIGl0IHdpbGwgYXBwbHkgWFNMIHN0eWxlc2hl
ZXRzLgogICAgICAgICBkb2N1bWVudCgpLT5zdHlsZVJlc29sdmVyQ2hhbmdlZChSZWNhbGNTdHls
ZUltbWVkaWF0ZWx5KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>