<?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>97518</bug_id>
          
          <creation_ts>2012-09-24 21:20:02 -0700</creation_ts>
          <short_desc>Add missing support for Geolocation tests on WebKit2</short_desc>
          <delta_ts>2012-09-25 12:06:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>727252</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-24 21:20:02 -0700</bug_when>
    <thetext>After r129444, we can add proper test support for WebKit2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727267</commentid>
    <comment_count>1</comment_count>
      <attachid>165515</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-24 21:33:58 -0700</bug_when>
    <thetext>Created attachment 165515
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727268</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-24 21:34:45 -0700</bug_when>
    <thetext>Note: this adds new WebKit2 C API: WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727370</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-09-25 00:50:22 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Note: this adds new WebKit2 C API: WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage().

Would it make sense to pass a WKErrorRef rather than a error message string?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727846</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-25 12:02:43 -0700</bug_when>
    <thetext>&gt; &gt; Note: this adds new WebKit2 C API: WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage().
&gt; 
&gt; Would it make sense to pass a WKErrorRef rather than a error message string?

The only information we can give to the GeolocationAPI is a descriptive string. I think passing a string make this API simpler. We can alway extend later if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727851</commentid>
    <comment_count>5</comment_count>
      <attachid>165515</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-25 12:06:13 -0700</bug_when>
    <thetext>Comment on attachment 165515
Patch

Clearing flags on attachment: 165515

Committed r129536: &lt;http://trac.webkit.org/changeset/129536&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727852</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-09-25 12:06:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165515</attachid>
            <date>2012-09-24 21:33:58 -0700</date>
            <delta_ts>2012-09-25 12:06:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97518-20120924213319.patch</filename>
            <type>text/plain</type>
            <size>29430</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTY3ZTRlNzViNjM2MTE1
NjJhNjBjNGE2Y2QwNWFhN2Y2MDBjNWU5Zi4uYzJmZWRkNWFlYTUyZWI5ZTVkYjhkZTg2ZmJkNjc2
ZmQ3ZDEyNmQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA5LTI0ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBtaXNzaW5n
IHN1cHBvcnQgZm9yIEdlb2xvY2F0aW9uIHRlc3RzIG9uIFdlYktpdDIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTE4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGV4aXN0aW5nIEFQSSBmb3IgcmVw
b3J0aW5nIGVycm9yIGRvZXMgbm90IHN1cHBvcnQgcGFzc2luZyBhbmQgZXJyb3IgbWVzc2FnZS4K
KworICAgICAgICBUaGUgaW50ZXJmYWNlIFVJUHJvY2VzczwtPldlYlByb2Nlc3MgaXMgY2hhbmdl
ZCB0byB0YWtlIGFuIGVycm9yIG1lc3NhZ2UsIHRoZQorICAgICAgICBleGlzdGluZyBBUEkgbm93
IHBhc3MgYSBudWxsIFN0cmluZywgYW5kIHRoZSBuZXcgZnVuY3Rpb24KKyAgICAgICAgV0tHZW9s
b2NhdGlvbk1hbmFnZXJQcm92aWRlckRpZEZhaWxUb0RldGVybWluZVBvc2l0aW9uV2l0aEVycm9y
TWVzc2FnZSgpIHByb3ZpZGUKKyAgICAgICAgdGhlIGV4dGVuZGVkIHN1cHBvcnQgd2l0aCBlcnJv
ciBtZXNzYWdlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLR2VvbG9jYXRpb25NYW5h
Z2VyLmNwcDoKKyAgICAgICAgKFdLR2VvbG9jYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRGYWlsVG9E
ZXRlcm1pbmVQb3NpdGlvbldpdGhFcnJvck1lc3NhZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS0dlb2xvY2F0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJHZW9s
b2NhdGlvbk1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdlb2xvY2F0aW9u
TWFuYWdlclByb3h5Ojpwcm92aWRlckRpZEZhaWxUb0RldGVybWluZVBvc2l0aW9uKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKFdl
Ykdlb2xvY2F0aW9uTWFuYWdlclByb3h5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dlb2xvY2F0
aW9uL1dlYkdlb2xvY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdlb2xv
Y2F0aW9uTWFuYWdlcjo6ZGlkRmFpbFRvRGV0ZXJtaW5lUG9zaXRpb24pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5hZ2VyLmg6CisgICAgICAgIChX
ZWJHZW9sb2NhdGlvbk1hbmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR2VvbG9jYXRpb24v
V2ViR2VvbG9jYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluOgorCiAyMDEyLTA5LTI0ICBCbyBMaXUg
IDxib2xpdUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVsYW5kICJBZGQgaW4tcGxhY2UgcmVs
b2FkIGJlaGF2aW9yIHRvIEltYWdlc0VuYWJsZWQgc2V0dGluZyIgd2l0aCBvcHRpbWl6YXRpb25z
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tHZW9sb2NhdGlv
bk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLR2VvbG9jYXRp
b25NYW5hZ2VyLmNwcAppbmRleCBlZTg0MDkwYjkzMjgwZjZjNDQwMTM0MzEyNGMyODdjMzMxYWM5
NTVlLi4zODRlMDUxNTZiOWU3MjlhNjk1ZGVjZjc3NTFmZjA2OWU5N2IyZWYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tHZW9sb2NhdGlvbk1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uTWFuYWdl
ci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTUwLDMgKzUwLDggQEAgdm9pZCBXS0dlb2xvY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlk
RmFpbFRvRGV0ZXJtaW5lUG9zaXRpb24oV0tHZW9sb2NhdGlvbk1hbmFnZXIKIHsKICAgICB0b0lt
cGwoZ2VvbG9jYXRpb25NYW5hZ2VyUmVmKS0+cHJvdmlkZXJEaWRGYWlsVG9EZXRlcm1pbmVQb3Np
dGlvbigpOwogfQorCit2b2lkIFdLR2VvbG9jYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRGYWlsVG9E
ZXRlcm1pbmVQb3NpdGlvbldpdGhFcnJvck1lc3NhZ2UoV0tHZW9sb2NhdGlvbk1hbmFnZXJSZWYg
Z2VvbG9jYXRpb25NYW5hZ2VyUmVmLCBXS1N0cmluZ1JlZiBlcnJvck1lc3NhZ2UpCit7CisgICAg
dG9JbXBsKGdlb2xvY2F0aW9uTWFuYWdlclJlZiktPnByb3ZpZGVyRGlkRmFpbFRvRGV0ZXJtaW5l
UG9zaXRpb24odG9XVEZTdHJpbmcoZXJyb3JNZXNzYWdlKSk7Cit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tHZW9sb2NhdGlvbk1hbmFnZXIuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uTWFuYWdlci5oCmluZGV4IGJj
MmJkZDkxMGExYmM1MzE5ODYwMWIzZjZiZGJhOTk4MDE5MDczOGYuLjdmOWNiNjg5MTA5YTM5Nzcw
ZmYxMmEwNTJlZmUxM2FjNjI3MmUzYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0dlb2xvY2F0aW9uTWFuYWdlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01Myw2ICs1Myw4IEBAIFdLX0VY
UE9SVCB2b2lkIFdLR2VvbG9jYXRpb25NYW5hZ2VyU2V0UHJvdmlkZXIoV0tHZW9sb2NhdGlvbk1h
bmFnZXJSZWYgZ2VvbG9jYXRpCiBXS19FWFBPUlQgdm9pZCBXS0dlb2xvY2F0aW9uTWFuYWdlclBy
b3ZpZGVyRGlkQ2hhbmdlUG9zaXRpb24oV0tHZW9sb2NhdGlvbk1hbmFnZXJSZWYgZ2VvbG9jYXRp
b25NYW5hZ2VyLCBXS0dlb2xvY2F0aW9uUG9zaXRpb25SZWYgcG9zaXRpb24pOwogV0tfRVhQT1JU
IHZvaWQgV0tHZW9sb2NhdGlvbk1hbmFnZXJQcm92aWRlckRpZEZhaWxUb0RldGVybWluZVBvc2l0
aW9uKFdLR2VvbG9jYXRpb25NYW5hZ2VyUmVmIGdlb2xvY2F0aW9uTWFuYWdlcik7CiAKK1dLX0VY
UE9SVCB2b2lkIFdLR2VvbG9jYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRGYWlsVG9EZXRlcm1pbmVQ
b3NpdGlvbldpdGhFcnJvck1lc3NhZ2UoV0tHZW9sb2NhdGlvbk1hbmFnZXJSZWYgZ2VvbG9jYXRp
b25NYW5hZ2VyLCBXS1N0cmluZ1JlZiBlcnJvck1lc3NhZ2UpOworCiAjaWZkZWYgX19jcGx1c3Bs
dXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkdl
b2xvY2F0aW9uTWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJH
ZW9sb2NhdGlvbk1hbmFnZXJQcm94eS5jcHAKaW5kZXggMTRhYjg4YWVkMjRjNzU4ZTM5ZmI0NzFi
MDY0NDc0MjAxNzY1ZTBkNC4uYWY0OWY5YmMxZjQ3ODUzYzgwMGY2ZWNlYzc1ZTljY2Q2MDZhOGRh
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkdlb2xvY2F0aW9uTWFu
YWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViR2VvbG9jYXRp
b25NYW5hZ2VyUHJveHkuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC02NCwxMiArNjQsMTIgQEAgdm9pZCBXZWJHZW9sb2NhdGlvbk1h
bmFnZXJQcm94eTo6cHJvdmlkZXJEaWRDaGFuZ2VQb3NpdGlvbihXZWJHZW9sb2NhdGlvblBvc2l0
aW8KICAgICBtX2NvbnRleHQtPnNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViR2VvbG9j
YXRpb25NYW5hZ2VyOjpEaWRDaGFuZ2VQb3NpdGlvbihwb3NpdGlvbi0+ZGF0YSgpKSk7CiB9CiAK
LXZvaWQgV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHk6OnByb3ZpZGVyRGlkRmFpbFRvRGV0ZXJt
aW5lUG9zaXRpb24oKQordm9pZCBXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eTo6cHJvdmlkZXJE
aWRGYWlsVG9EZXRlcm1pbmVQb3NpdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkKIHsK
ICAgICBpZiAoIW1fY29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT5z
ZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYkdlb2xvY2F0aW9uTWFuYWdlcjo6RGlkRmFp
bFRvRGV0ZXJtaW5lUG9zaXRpb24oKSk7CisgICAgbV9jb250ZXh0LT5zZW5kVG9BbGxQcm9jZXNz
ZXMoTWVzc2FnZXM6OldlYkdlb2xvY2F0aW9uTWFuYWdlcjo6RGlkRmFpbFRvRGV0ZXJtaW5lUG9z
aXRpb24oZXJyb3JNZXNzYWdlKSk7CiB9CiAKIHZvaWQgV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJv
eHk6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENv
cmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJn
dW1lbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkdlb2xvY2F0
aW9uTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViR2VvbG9jYXRp
b25NYW5hZ2VyUHJveHkuaAppbmRleCA1MDkxNjkzMTgxNzg4MjMzMmFhNjQ4ZDJkZGQ0YTg0OTg5
OTQxNTVhLi42NWQ3YjdhN2VlNjc1NWNmZDU3YWFjOGRlMjAxYWY0YTczYTM1NGVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJv
eHkuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIk1l
c3NhZ2VJRC5oIgogI2luY2x1ZGUgIldlYkdlb2xvY2F0aW9uUHJvdmlkZXIuaCIKKyNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewogY2xhc3MgQXJn
dW1lbnREZWNvZGVyOwpAQCAtNTMsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbml0aWFs
aXplUHJvdmlkZXIoY29uc3QgV0tHZW9sb2NhdGlvblByb3ZpZGVyKik7CiAKICAgICB2b2lkIHBy
b3ZpZGVyRGlkQ2hhbmdlUG9zaXRpb24oV2ViR2VvbG9jYXRpb25Qb3NpdGlvbiopOwotICAgIHZv
aWQgcHJvdmlkZXJEaWRGYWlsVG9EZXRlcm1pbmVQb3NpdGlvbigpOworICAgIHZvaWQgcHJvdmlk
ZXJEaWRGYWlsVG9EZXRlcm1pbmVQb3NpdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSA9
IFN0cmluZygpKTsKIAogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVj
dGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2Vv
bG9jYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRp
b24vV2ViR2VvbG9jYXRpb25NYW5hZ2VyLmNwcAppbmRleCA2OTE4NDRhYWE3MDNhZmVjNjBkMjMw
MmY0NjcwNzBhNDJjMjAwOGM5Li5mMDdjNDA2MGRjZjY4MDc5Mzc4ZWRmMzkzNGQyZjY5MjNmMDlm
YmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0dlb2xvY2F0aW9uL1dl
Ykdlb2xvY2F0aW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9H
ZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC04OCwxMSArODgsMTEgQEAgdm9p
ZCBXZWJHZW9sb2NhdGlvbk1hbmFnZXI6OmRpZENoYW5nZVBvc2l0aW9uKGNvbnN0IFdlYkdlb2xv
Y2F0aW9uUG9zaXRpb246OkRhdGEKICNlbmRpZiAvLyBFTkFCTEUoR0VPTE9DQVRJT04pCiB9CiAK
LXZvaWQgV2ViR2VvbG9jYXRpb25NYW5hZ2VyOjpkaWRGYWlsVG9EZXRlcm1pbmVQb3NpdGlvbigp
Cit2b2lkIFdlYkdlb2xvY2F0aW9uTWFuYWdlcjo6ZGlkRmFpbFRvRGV0ZXJtaW5lUG9zaXRpb24o
Y29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCiB7CiAjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQog
ICAgIC8vIEZJWE1FOiBBZGQgbG9jYWxpemVkIGVycm9yIHN0cmluZy4KLSAgICBSZWZQdHI8R2Vv
bG9jYXRpb25FcnJvcj4gZXJyb3IgPSBHZW9sb2NhdGlvbkVycm9yOjpjcmVhdGUoR2VvbG9jYXRp
b25FcnJvcjo6UG9zaXRpb25VbmF2YWlsYWJsZSwgLyogTG9jYWxpemVkIGVycm9yIHN0cmluZyAq
LyBTdHJpbmcoIiIpKTsKKyAgICBSZWZQdHI8R2VvbG9jYXRpb25FcnJvcj4gZXJyb3IgPSBHZW9s
b2NhdGlvbkVycm9yOjpjcmVhdGUoR2VvbG9jYXRpb25FcnJvcjo6UG9zaXRpb25VbmF2YWlsYWJs
ZSwgZXJyb3JNZXNzYWdlKTsKIAogICAgIFZlY3RvcjxSZWZQdHI8V2ViUGFnZT4gPiB3ZWJQYWdl
Q29weTsKICAgICBjb3B5VG9WZWN0b3IobV9wYWdlU2V0LCB3ZWJQYWdlQ29weSk7CkBAIC0xMDEs
NiArMTAxLDggQEAgdm9pZCBXZWJHZW9sb2NhdGlvbk1hbmFnZXI6OmRpZEZhaWxUb0RldGVybWlu
ZVBvc2l0aW9uKCkKICAgICAgICAgaWYgKHBhZ2UtPmNvcmVQYWdlKCkpCiAgICAgICAgICAgICBH
ZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZS0+Y29yZVBhZ2UoKSktPmVycm9yT2NjdXJy
ZWQoZXJyb3IuZ2V0KCkpOwogICAgIH0KKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGVycm9yTWVz
c2FnZSk7CiAjZW5kaWYgLy8gRU5BQkxFKEdFT0xPQ0FUSU9OKQogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0dlb2xvY2F0aW9uL1dlYkdlb2xvY2F0aW9uTWFuYWdl
ci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlv
bk1hbmFnZXIuaAppbmRleCA3OGZiZDVhY2Y4NDFiOWI4MTc5MDc2MjY1MGExMmFkNzY4MzYxZDMx
Li41YzNkZmFlOTM2NDY3NjQzYmU0M2Y3ZWUzNGI1YzJhN2U4N2ZkZTIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0dlb2xvY2F0aW9uL1dlYkdlb2xvY2F0aW9uTWFuYWdl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9j
YXRpb25NYW5hZ2VyLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTQxLDYgKzQxLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEdlb2xvY2F0aW9uOwogfQogCituYW1lc3BhY2UgV1RGIHsKK2NsYXNzIFN0cmluZzsKK30KKwog
bmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlByb2Nlc3M7CkBAIC02NCw3ICs2OCw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViR2VvbG9jYXRpb25NYW5hZ2VyTWVzc2Fn
ZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1
bWVudERlY29kZXIqKTsKIAogICAgIHZvaWQgZGlkQ2hhbmdlUG9zaXRpb24oY29uc3QgV2ViR2Vv
bG9jYXRpb25Qb3NpdGlvbjo6RGF0YSYpOwotICAgIHZvaWQgZGlkRmFpbFRvRGV0ZXJtaW5lUG9z
aXRpb24oKTsKKyAgICB2b2lkIGRpZEZhaWxUb0RldGVybWluZVBvc2l0aW9uKGNvbnN0IFdURjo6
U3RyaW5nJiBlcnJvck1lc3NhZ2UpOwogCiAgICAgV2ViUHJvY2VzcyogbV9wcm9jZXNzOwogICAg
IEhhc2hTZXQ8V2ViUGFnZSo+IG1fcGFnZVNldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1h
bmFnZXIubWVzc2FnZXMuaW4KaW5kZXggZjJlOWE5ZGE5MTc1NmU3MWZiNzBjNmUxZDRkOTg2NGQ5
ODE4OWI5MS4uODk4ZDFhZWNjZDI2ODkxOWY2ZGE5Y2VmNTNiNTMzMTMwNDI0NWFhZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlv
bk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9HZW9s
b2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIyLDUgKzIyLDUg
QEAKIAogbWVzc2FnZXMgLT4gV2ViR2VvbG9jYXRpb25NYW5hZ2VyIHsKICAgICBEaWRDaGFuZ2VQ
b3NpdGlvbihXZWJLaXQ6OldlYkdlb2xvY2F0aW9uUG9zaXRpb246OkRhdGEgcG9zaXRpb24pOwot
ICAgIERpZEZhaWxUb0RldGVybWluZVBvc2l0aW9uKCk7CisgICAgRGlkRmFpbFRvRGV0ZXJtaW5l
UG9zaXRpb24oV1RGOjpTdHJpbmcgZXJyb3JNZXNzYWdlKTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3NDBkOTg5YTJmOGJmNTk3MzM3NjI0
YzY4MzdiNDE2YjgxYWI0YTc1Li5lZmRjMjhhOTU4YzAxM2QwZWFjZjg2YmYxZTY2ZDI3ZWRiNWFl
OGVlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsNDggQEAKIDIwMTItMDktMjQgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBh
cHBsZS5jb20+CiAKKyAgICAgICAgQWRkIG1pc3Npbmcgc3VwcG9ydCBmb3IgR2VvbG9jYXRpb24g
dGVzdHMgb24gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTc1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGVyZSBhcmUgdHdvIG1haW4gZmVhdHVyZXMgYWRkZWQgdG8gdGhlIHRvb2xpbmcg
dG8gbWFrZSB0aGUgdGVzdCBydW46CisgICAgICAgIC1BZGQgc3VwcG9ydCBmb3IgZXJyb3IgcmVw
b3J0aW5nIGZvciBwb3NpdGlvbiBlcnJvcnMgdGhyb3VnaCBzZXRNb2NrR2VvbG9jYXRpb25Qb3Np
dGlvblVuYXZhaWxhYmxlRXJyb3IuCisgICAgICAgIC1TdXBwb3J0IHRoZSAzIHN0YXRlcyBwZXJt
aXNzaW9uOiB1bmRlZmluZWQtYWxsb3dlZC1kZW5pZWQuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL0dlb2xvY2F0aW9uUHJvdmlkZXJNb2NrLmNwcDoKKyAgICAgICAgKFdUUjo6R2VvbG9j
YXRpb25Qcm92aWRlck1vY2s6Okdlb2xvY2F0aW9uUHJvdmlkZXJNb2NrKToKKyAgICAgICAgKFdU
Ujo6R2VvbG9jYXRpb25Qcm92aWRlck1vY2s6OnNldFBvc2l0aW9uKToKKyAgICAgICAgKFdUUjo6
R2VvbG9jYXRpb25Qcm92aWRlck1vY2s6OnNldFBvc2l0aW9uVW5hdmFpbGFibGVFcnJvcik6Cisg
ICAgICAgIChXVFI6Okdlb2xvY2F0aW9uUHJvdmlkZXJNb2NrOjpzdGFydFVwZGF0aW5nKToKKyAg
ICAgICAgKFdUUjo6R2VvbG9jYXRpb25Qcm92aWRlck1vY2s6OnNlbmRQb3NpdGlvbklmTmVlZGVk
KToKKyAgICAgICAgKFdUUjo6R2VvbG9jYXRpb25Qcm92aWRlck1vY2s6OnNlbmRFcnJvcklmTmVl
ZGVkKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0dlb2xvY2F0aW9uUHJvdmlkZXJNb2Nr
Lmg6CisgICAgICAgIChHZW9sb2NhdGlvblByb3ZpZGVyTW9jayk6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbDoKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoK
KyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9u
VW5hdmFpbGFibGVFcnJvcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAoSW5qZWN0ZWRCdW5kbGUpOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAg
ICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uVW5hdmFpbGFi
bGVFcnJvcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmg6CisgICAgICAgIChUZXN0UnVubmVyKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OlRl
c3RDb250cm9sbGVyKToKKyAgICAgICAgKFdUUjo6ZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdCk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFN0
YXRlVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNl
dEdlb2xvY2F0aW9uUGVybWlzc2lvbik6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpz
ZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbik6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVy
OjpzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvblVuYXZhaWxhYmxlRXJyb3IpOgorICAgICAgICAo
V1RSOjpUZXN0Q29udHJvbGxlcjo6aGFuZGxlR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdCk6
CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0SWZQb3NzaWJsZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoVGVzdENvbnRyb2xsZXIpOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0
SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorCisyMDEy
LTA5LTI0ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCiAgICAgICAg
IEZpeCBHZW9sb2NhdGlvbiBlcnJvciByZXBvcnRpbmcgaW4gdGhlIHRlc3Qgc3VwcG9ydAogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTczODYKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9HZW9sb2NhdGlvblByb3ZpZGVyTW9jay5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0dlb2xvY2F0aW9uUHJvdmlkZXJNb2NrLmNwcApp
bmRleCBiYWJiZjZlMGRkNmM4ODdkMjFiNWY3NTE4YWQ0MmVmYzcyMDA3MTcwLi41ODc3YzY1ZjY5
NTRhNDkwZTZiYzI2YTBmMzEzOWE4N2U1ZjlkYjg3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0dlb2xvY2F0aW9uUHJvdmlkZXJNb2NrLmNwcAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0dlb2xvY2F0aW9uUHJvdmlkZXJNb2NrLmNwcApAQCAtNDYsNiArNDYsNyBAQCBz
dGF0aWMgdm9pZCBzdG9wVXBkYXRpbmdDYWxsYmFjayhXS0dlb2xvY2F0aW9uTWFuYWdlclJlZiBn
ZW9sb2NhdGlvbk1hbmFnZXIsIGNvbgogCiBHZW9sb2NhdGlvblByb3ZpZGVyTW9jazo6R2VvbG9j
YXRpb25Qcm92aWRlck1vY2soV0tDb250ZXh0UmVmIGNvbnRleHQpCiAgICAgOiBtX2lzQWN0aXZl
KGZhbHNlKQorICAgICwgbV9oYXNFcnJvcihmYWxzZSkKIHsKICAgICBtX2dlb2xvY2F0aW9uTWFu
YWdlciA9IFdLQ29udGV4dEdldEdlb2xvY2F0aW9uTWFuYWdlcihjb250ZXh0KTsKIApAQCAtNTcs
MTEgKzU4LDE3IEBAIEdlb2xvY2F0aW9uUHJvdmlkZXJNb2NrOjpHZW9sb2NhdGlvblByb3ZpZGVy
TW9jayhXS0NvbnRleHRSZWYgY29udGV4dCkKICAgICBXS0dlb2xvY2F0aW9uTWFuYWdlclNldFBy
b3ZpZGVyKG1fZ2VvbG9jYXRpb25NYW5hZ2VyLCAmcHJvdmlkZXJDYWxsYmFjayk7CiB9CiAKLXZv
aWQgR2VvbG9jYXRpb25Qcm92aWRlck1vY2s6OnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKGRv
dWJsZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91YmxlIGFjY3VyYWN5KQordm9pZCBH
ZW9sb2NhdGlvblByb3ZpZGVyTW9jazo6c2V0UG9zaXRpb24oZG91YmxlIGxhdGl0dWRlLCBkb3Vi
bGUgbG9uZ2l0dWRlLCBkb3VibGUgYWNjdXJhY3kpCiB7CiAgICAgbV9wb3NpdGlvbi5hZG9wdChX
S0dlb2xvY2F0aW9uUG9zaXRpb25DcmVhdGUoY3VycmVudFRpbWUoKSwgbGF0aXR1ZGUsIGxvbmdp
dHVkZSwgYWNjdXJhY3kpKTsKLSAgICBpZiAobV9pc0FjdGl2ZSkKLSAgICAgICAgV0tHZW9sb2Nh
dGlvbk1hbmFnZXJQcm92aWRlckRpZENoYW5nZVBvc2l0aW9uKG1fZ2VvbG9jYXRpb25NYW5hZ2Vy
LCBtX3Bvc2l0aW9uLmdldCgpKTsKKyAgICBzZW5kUG9zaXRpb25JZk5lZWRlZCgpOworfQorCit2
b2lkIEdlb2xvY2F0aW9uUHJvdmlkZXJNb2NrOjpzZXRQb3NpdGlvblVuYXZhaWxhYmxlRXJyb3Io
V0tTdHJpbmdSZWYgZXJyb3JNZXNzYWdlKQoreworICAgIG1fZXJyb3JNZXNzYWdlID0gZXJyb3JN
ZXNzYWdlOworICAgIG1faGFzRXJyb3IgPSB0cnVlOworICAgIHNlbmRFcnJvcklmTmVlZGVkKCk7
CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25Qcm92aWRlck1vY2s6OnN0YXJ0VXBkYXRpbmcoV0tHZW9s
b2NhdGlvbk1hbmFnZXJSZWYgZ2VvbG9jYXRpb25NYW5hZ2VyKQpAQCAtNjksOCArNzYsOCBAQCB2
b2lkIEdlb2xvY2F0aW9uUHJvdmlkZXJNb2NrOjpzdGFydFVwZGF0aW5nKFdLR2VvbG9jYXRpb25N
YW5hZ2VyUmVmIGdlb2xvY2F0aW9uTQogICAgIEFTU0VSVF9VTlVTRUQoZ2VvbG9jYXRpb25NYW5h
Z2VyLCBnZW9sb2NhdGlvbk1hbmFnZXIgPT0gbV9nZW9sb2NhdGlvbk1hbmFnZXIpOwogCiAgICAg
bV9pc0FjdGl2ZSA9IHRydWU7Ci0gICAgaWYgKG1fcG9zaXRpb24pCi0gICAgICAgIFdLR2VvbG9j
YXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRDaGFuZ2VQb3NpdGlvbihtX2dlb2xvY2F0aW9uTWFuYWdl
ciwgbV9wb3NpdGlvbi5nZXQoKSk7CisgICAgc2VuZFBvc2l0aW9uSWZOZWVkZWQoKTsKKyAgICBz
ZW5kRXJyb3JJZk5lZWRlZCgpOwogfQogCiB2b2lkIEdlb2xvY2F0aW9uUHJvdmlkZXJNb2NrOjpz
dG9wVXBkYXRpbmcoV0tHZW9sb2NhdGlvbk1hbmFnZXJSZWYgZ2VvbG9jYXRpb25NYW5hZ2VyKQpA
QCAtODAsNCArODcsMjEgQEAgdm9pZCBHZW9sb2NhdGlvblByb3ZpZGVyTW9jazo6c3RvcFVwZGF0
aW5nKFdLR2VvbG9jYXRpb25NYW5hZ2VyUmVmIGdlb2xvY2F0aW9uTWEKICAgICBtX2lzQWN0aXZl
ID0gZmFsc2U7CiB9CiAKK3ZvaWQgR2VvbG9jYXRpb25Qcm92aWRlck1vY2s6OnNlbmRQb3NpdGlv
bklmTmVlZGVkKCkKK3sKKyAgICBpZiAobV9pc0FjdGl2ZSAmJiBtX3Bvc2l0aW9uKSB7CisgICAg
ICAgIFdLR2VvbG9jYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRDaGFuZ2VQb3NpdGlvbihtX2dlb2xv
Y2F0aW9uTWFuYWdlciwgbV9wb3NpdGlvbi5nZXQoKSk7CisgICAgICAgIG1fcG9zaXRpb24uY2xl
YXIoKTsKKyAgICB9Cit9CisKK3ZvaWQgR2VvbG9jYXRpb25Qcm92aWRlck1vY2s6OnNlbmRFcnJv
cklmTmVlZGVkKCkKK3sKKyAgICBpZiAobV9pc0FjdGl2ZSAmJiBtX2hhc0Vycm9yKSB7CisgICAg
ICAgIG1faGFzRXJyb3IgPSBmYWxzZTsKKyAgICAgICAgV0tHZW9sb2NhdGlvbk1hbmFnZXJQcm92
aWRlckRpZEZhaWxUb0RldGVybWluZVBvc2l0aW9uV2l0aEVycm9yTWVzc2FnZShtX2dlb2xvY2F0
aW9uTWFuYWdlciwgbV9lcnJvck1lc3NhZ2UuZ2V0KCkpOworICAgICAgICBtX2Vycm9yTWVzc2Fn
ZS5jbGVhcigpOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0dlb2xvY2F0aW9uUHJvdmlkZXJNb2NrLmggYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0dlb2xvY2F0aW9uUHJvdmlkZXJNb2NrLmgKaW5kZXggMGY2Mjg0YTJm
NGFlMDFkMjI2NmMzN2EwMDBkODBjMGRiOGQwZDJkOS4uNGEwNmYwOGY5YjI3NmZmZThmNzU5YmI1
M2FkZDk5MzlmOWZjMGRkMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9HZW9s
b2NhdGlvblByb3ZpZGVyTW9jay5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvR2VvbG9j
YXRpb25Qcm92aWRlck1vY2suaApAQCAtMzQsMTYgKzM0LDIzIEBAIGNsYXNzIEdlb2xvY2F0aW9u
UHJvdmlkZXJNb2NrIHsKIHB1YmxpYzoKICAgICBHZW9sb2NhdGlvblByb3ZpZGVyTW9jayhXS0Nv
bnRleHRSZWYpOwogCi0gICAgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihkb3VibGUg
bGF0aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUsIGRvdWJsZSBhY2N1cmFjeSk7CisgICAgdm9pZCBz
ZXRQb3NpdGlvbihkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUsIGRvdWJsZSBhY2N1
cmFjeSk7CisgICAgdm9pZCBzZXRQb3NpdGlvblVuYXZhaWxhYmxlRXJyb3IoV0tTdHJpbmdSZWYg
ZXJyb3JNZXNzYWdlKTsKIAogICAgIHZvaWQgc3RhcnRVcGRhdGluZyhXS0dlb2xvY2F0aW9uTWFu
YWdlclJlZik7CiAgICAgdm9pZCBzdG9wVXBkYXRpbmcoV0tHZW9sb2NhdGlvbk1hbmFnZXJSZWYp
OwogCiBwcml2YXRlOgorICAgIHZvaWQgc2VuZFBvc2l0aW9uSWZOZWVkZWQoKTsKKyAgICB2b2lk
IHNlbmRFcnJvcklmTmVlZGVkKCk7CisKICAgICBXS0dlb2xvY2F0aW9uTWFuYWdlclJlZiBtX2dl
b2xvY2F0aW9uTWFuYWdlcjsKICAgICBib29sIG1faXNBY3RpdmU7CiAKICAgICBXS1JldGFpblB0
cjxXS0dlb2xvY2F0aW9uUG9zaXRpb25SZWY+IG1fcG9zaXRpb247CisKKyAgICBib29sIG1faGFz
RXJyb3I7CisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1fZXJyb3JNZXNzYWdlOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAppbmRleCA1YjE3
N2Q1YmNlZWRlMzI0ZmQ1YTdjN2ZmN2Q2MzZiN2JkNDMwMGEyLi41ZjkwNzE3MTc3MzE3MTg3OGVk
NDQ3NDFkZjgyMjc1N2EzMTE3MTNhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTE4
MSw2ICsxODEsNyBAQCBtb2R1bGUgV1RSIHsKICAgICAgICAgLy8gR2VvbG9jYXRpb24KICAgICAg
ICAgdm9pZCBzZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oaW4gYm9vbGVhbiB2YWx1ZSk7CiAgICAg
ICAgIHZvaWQgc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oaW4gZG91YmxlIGxhdGl0dWRlLCBp
biBkb3VibGUgbG9uZ2l0dWRlLCBpbiBkb3VibGUgYWNjdXJhY3kpOworICAgICAgICB2b2lkIHNl
dE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uVW5hdmFpbGFibGVFcnJvcihpbiBET01TdHJpbmcgZXJy
b3JNZXNzYWdlKTsKIAogICAgICAgICBib29sZWFuIGNhbGxTaG91bGRDbG9zZU9uV2ViVmlldygp
OwogICAgIH07CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IDJiMjQyNDBlZjMxNmE0YzJhMDA2Yjg2Y2Vl
NjNmNjgyYTQwZTM5OGEuLjEzNzY1YzBmZjBhYzQ1MjA3MWMyNGJmZDY2ZDY5N2M5Y2MzMjE1Yjcg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0zODYsNCArMzg2LDEwIEBAIHZvaWQgSW5qZWN0ZWRCdW5k
bGU6OnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKGRvdWJsZSBsYXRpdHVkZSwgZG91YmxlIGxv
bmdpdHVkCiAgICAgV0tCdW5kbGVQb3N0TWVzc2FnZShtX2J1bmRsZSwgbWVzc2FnZU5hbWUuZ2V0
KCksIG1lc3NhZ2VCb2R5LmdldCgpKTsKIH0KIAordm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0TW9j
a0dlb2xvY2F0aW9uUG9zaXRpb25VbmF2YWlsYWJsZUVycm9yKFdLU3RyaW5nUmVmIGVycm9yTWVz
c2FnZSkKK3sKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRX
SywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldE1vY2tHZW9sb2NhdGlvblBvc2l0
aW9uVW5hdmFpbGFibGVFcnJvciIpKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKG1fYnVuZGxl
LCBtZXNzYWdlTmFtZS5nZXQoKSwgZXJyb3JNZXNzYWdlKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V1RSCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmgKaW5kZXggNjczYTRiZTM0M2M1NGViOGIzNTAxYTRmNGQzNGQzNDgyNTYx
NmFmZi4uZTI5NjE0MmMxNGQ5YjM5OWJmMzU1Y2RiNjM0YjI0N2FlNjcxNjMyMiAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5o
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuaApAQCAtOTMsNiArOTMsNyBAQCBwdWJsaWM6CiAgICAgLy8gR2VvbG9jYXRpb24uCiAgICAg
dm9pZCBzZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oYm9vbCk7CiAgICAgdm9pZCBzZXRNb2NrR2Vv
bG9jYXRpb25Qb3NpdGlvbihkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUsIGRvdWJs
ZSBhY2N1cmFjeSk7CisgICAgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvblVuYXZhaWxh
YmxlRXJyb3IoV0tTdHJpbmdSZWYgZXJyb3JNZXNzYWdlKTsKIAogcHJpdmF0ZToKICAgICBJbmpl
Y3RlZEJ1bmRsZSgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggMTNjMTgzODhiMzg2NGQ2Y2U1NWU5NmUxYjAwMGZj
YjkxZTcxNDllMi4uZGI3NTIwZDM5MTRhN2FkYWU2MWU3ZTg1ZGYwNWI2M2JmYWJiYTIwZiAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuY3BwCkBAIC03NzgsNiArNzc4LDEyIEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0TW9ja0dlb2xv
Y2F0aW9uUG9zaXRpb24oZG91YmxlIGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0dWRlLCBkCiAgICAg
SW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKGxhdGl0
dWRlLCBsb25naXR1ZGUsIGFjY3VyYWN5KTsKIH0KIAordm9pZCBUZXN0UnVubmVyOjpzZXRNb2Nr
R2VvbG9jYXRpb25Qb3NpdGlvblVuYXZhaWxhYmxlRXJyb3IoSlNTdHJpbmdSZWYgbWVzc2FnZSkK
K3sKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZVdLID0gdG9XSyhtZXNzYWdl
KTsKKyAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRp
b25VbmF2YWlsYWJsZUVycm9yKG1lc3NhZ2VXSy5nZXQoKSk7Cit9CisKIGJvb2wgVGVzdFJ1bm5l
cjo6Y2FsbFNob3VsZENsb3NlT25XZWJWaWV3KCkKIHsKICAgICBXS0J1bmRsZUZyYW1lUmVmIG1h
aW5GcmFtZSA9IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShJbmplY3RlZEJ1bmRsZTo6c2hhcmVk
KCkucGFnZSgpLT5wYWdlKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAppbmRleCA2MzAwNDMxZWRhYTU3OGE0ZDhiOWYxY2QyNTJk
NDQ1NDkyYjk3MzZmLi5iNWQwMjA0MDA2YzcxODViMDQyOWQ0ZDE5Y2JlMTc1YmQ2NzIyMmM4IDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuaApAQCAtMjUwLDYgKzI1MCw3IEBAIHB1YmxpYzoKICAgICAvLyBHZW9sb2NhdGlvbi4KICAg
ICB2b2lkIHNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihib29sKTsKICAgICB2b2lkIHNldE1vY2tH
ZW9sb2NhdGlvblBvc2l0aW9uKGRvdWJsZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91
YmxlIGFjY3VyYWN5KTsKKyAgICB2b2lkIHNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uVW5hdmFp
bGFibGVFcnJvcihKU1N0cmluZ1JlZiBtZXNzYWdlKTsKIAogICAgIEpTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBwbGF0Zm9ybU5hbWUoKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcAppbmRleCA5ZDYzZjAzNWUyZjdlOGMxNmU2YWFmZWE3YjQzMjcyYjYxOGE4Zjgy
Li5lNmJkYzlkZDYzM2IyZjEzMTRkZTM5MmIyZjI1ODcyNTA5M2I0ZDllIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtOTEsNiArOTEsNyBAQCBUZXN0Q29u
dHJvbGxlcjo6VGVzdENvbnRyb2xsZXIoaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAg
ICAsIG1fZGlkUHJpbnRXZWJQcm9jZXNzQ3Jhc2hlZE1lc3NhZ2UoZmFsc2UpCiAgICAgLCBtX3No
b3VsZEV4aXRXaGVuV2ViUHJvY2Vzc0NyYXNoZXModHJ1ZSkKICAgICAsIG1fYmVmb3JlVW5sb2Fk
UmV0dXJuVmFsdWUodHJ1ZSkKKyAgICAsIG1faXNHZW9sb2NhdGlvblBlcm1pc3Npb25TZXQoZmFs
c2UpCiAgICAgLCBtX2lzR2VvbG9jYXRpb25QZXJtaXNzaW9uQWxsb3dlZChmYWxzZSkKICNpZiBQ
TEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JN
KEVGTCkKICAgICAsIG1fZXZlbnRTZW5kZXJQcm94eShuZXcgRXZlbnRTZW5kZXJQcm94eSh0aGlz
KSkKQEAgLTE3NCwxMCArMTc1LDcgQEAgc3RhdGljIHZvaWQgdW5mb2N1cyhXS1BhZ2VSZWYgcGFn
ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvckdl
b2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS1NlY3Vy
aXR5T3JpZ2luUmVmLCBXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWYgcGVybWlzc2lv
blJlcXVlc3QsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAgICAgVGVzdENvbnRyb2xsZXIq
IHRlc3RDb250cm9sbGVyID0gc3RhdGljX2Nhc3Q8VGVzdENvbnRyb2xsZXIqPihjb25zdF9jYXN0
PHZvaWQqPihjbGllbnRJbmZvKSk7Ci0gICAgaWYgKHRlc3RDb250cm9sbGVyLT5pc0dlb2xvY2F0
aW9uUGVybWlzc2lvbkFsbG93ZWQoKSkKLSAgICAgICAgV0tHZW9sb2NhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0QWxsb3cocGVybWlzc2lvblJlcXVlc3QpOwotICAgIGVsc2UKLSAgICAgICAgV0tHZW9s
b2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0RGVueShwZXJtaXNzaW9uUmVxdWVzdCk7CisgICAgdGVz
dENvbnRyb2xsZXItPmhhbmRsZUdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QocGVybWlzc2lv
blJlcXVlc3QpOwogfQogCiBXS1BhZ2VSZWYgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFn
ZShXS1BhZ2VSZWYgb2xkUGFnZSwgV0tVUkxSZXF1ZXN0UmVmLCBXS0RpY3Rpb25hcnlSZWYsIFdL
RXZlbnRNb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCopCkBAIC01Mjgs
NiArNTI2LDExIEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRW
YWx1ZXMoKQogICAgIC8vIFJlc2V0IG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9ucwogICAgIG1fd2Vi
Tm90aWZpY2F0aW9uUHJvdmlkZXIucmVzZXQoKTsKIAorICAgIC8vIFJlc2V0IEdlb2xvY2F0aW9u
IHBlcm1pc3Npb25zLgorICAgIG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdHMuY2xlYXIo
KTsKKyAgICBtX2lzR2VvbG9jYXRpb25QZXJtaXNzaW9uU2V0ID0gZmFsc2U7CisgICAgbV9pc0dl
b2xvY2F0aW9uUGVybWlzc2lvbkFsbG93ZWQgPSBmYWxzZTsKKwogICAgIC8vIFJlc2V0IG1haW4g
cGFnZSBiYWNrIHRvIGFib3V0OmJsYW5rCiAgICAgbV9kb25lUmVzZXR0aW5nID0gZmFsc2U7CiAK
QEAgLTk5OSw5ICsxMDAyLDQxIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNpbXVsYXRlV2ViTm90
aWZpY2F0aW9uQ2xpY2sodWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiAgICAgbV93ZWJOb3RpZmlj
YXRpb25Qcm92aWRlci5zaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKG5vdGlmaWNhdGlvbklE
KTsKIH0KIAordm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKGJv
b2wgZW5hYmxlZCkKK3sKKyAgICBtX2lzR2VvbG9jYXRpb25QZXJtaXNzaW9uU2V0ID0gdHJ1ZTsK
KyAgICBtX2lzR2VvbG9jYXRpb25QZXJtaXNzaW9uQWxsb3dlZCA9IGVuYWJsZWQ7CisgICAgZGVj
aWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdElmUG9zc2libGUoKTsKK30K
Kwogdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oZG91Ymxl
IGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0dWRlLCBkb3VibGUgYWNjdXJhY3kpCiB7Ci0gICAgbV9n
ZW9sb2NhdGlvblByb3ZpZGVyLT5zZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihsYXRpdHVkZSwg
bG9uZ2l0dWRlLCBhY2N1cmFjeSk7CisgICAgbV9nZW9sb2NhdGlvblByb3ZpZGVyLT5zZXRQb3Np
dGlvbihsYXRpdHVkZSwgbG9uZ2l0dWRlLCBhY2N1cmFjeSk7Cit9CisKK3ZvaWQgVGVzdENvbnRy
b2xsZXI6OnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uVW5hdmFpbGFibGVFcnJvcihXS1N0cmlu
Z1JlZiBlcnJvck1lc3NhZ2UpCit7CisgICAgbV9nZW9sb2NhdGlvblByb3ZpZGVyLT5zZXRQb3Np
dGlvblVuYXZhaWxhYmxlRXJyb3IoZXJyb3JNZXNzYWdlKTsKK30KKwordm9pZCBUZXN0Q29udHJv
bGxlcjo6aGFuZGxlR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXS0dlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RSZWYgZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdCkKK3sKKyAgICBt
X2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzLmFwcGVuZChnZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0KTsKKyAgICBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0SWZQb3NzaWJsZSgpOworfQorCit2b2lkIFRlc3RDb250cm9sbGVyOjpkZWNpZGVQb2xpY3lG
b3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0SWZQb3NzaWJsZSgpCit7CisgICAgaWYgKCFt
X2lzR2VvbG9jYXRpb25QZXJtaXNzaW9uU2V0KQorICAgICAgICByZXR1cm47CisKKyAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdHMuc2l6ZSgp
OyArK2kpIHsKKyAgICAgICAgV0tHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UmVmJiBwZXJt
aXNzaW9uUmVxdWVzdCA9IG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdHNbaV07CisgICAg
ICAgIGlmIChtX2lzR2VvbG9jYXRpb25QZXJtaXNzaW9uQWxsb3dlZCkKKyAgICAgICAgICAgIFdL
R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEFsbG93KHBlcm1pc3Npb25SZXF1ZXN0KTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgV0tHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0RGVu
eShwZXJtaXNzaW9uUmVxdWVzdCk7CisgICAgfQogfQogCiB2b2lkIFRlc3RDb250cm9sbGVyOjpk
ZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXS1BhZ2VSZWYgcGFn
ZSwgV0tTZWN1cml0eU9yaWdpblJlZiBvcmlnaW4sIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RSZWYgcmVxdWVzdCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCA4MTI1YTM2NDZmOWQ4ZTg3YmE1MTY5YWVkMzg1
NWU0N2Q5MTJkNGRlLi5mNzg4ODkyM2JkMWZlODQxMmFlOWUxOWRhYWU3ZjE1M2MxYzExNTliIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCkBAIC0zMiw2ICszMiw3IEBA
CiAjaW5jbHVkZSA8c3RyaW5nPgogI2luY2x1ZGUgPHZlY3Rvcj4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV1RSIHsKIApAQCAt
NjcsOSArNjgsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2ltdWxhdGVXZWJOb3RpZmljYXRpb25D
bGljayh1aW50NjRfdCBub3RpZmljYXRpb25JRCk7CiAKICAgICAvLyBHZW9sb2NhdGlvbi4KLSAg
ICB2b2lkIHNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihib29sIGVuYWJsZWQpIHsgbV9pc0dlb2xv
Y2F0aW9uUGVybWlzc2lvbkFsbG93ZWQgPSBlbmFibGVkOyB9Ci0gICAgYm9vbCBpc0dlb2xvY2F0
aW9uUGVybWlzc2lvbkFsbG93ZWQoKSBjb25zdCB7IHJldHVybiBtX2lzR2VvbG9jYXRpb25QZXJt
aXNzaW9uQWxsb3dlZDsgfQorICAgIHZvaWQgc2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKGJvb2wp
OwogICAgIHZvaWQgc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oZG91YmxlIGxhdGl0dWRlLCBk
b3VibGUgbG9uZ2l0dWRlLCBkb3VibGUgYWNjdXJhY3kpOworICAgIHZvaWQgc2V0TW9ja0dlb2xv
Y2F0aW9uUG9zaXRpb25VbmF2YWlsYWJsZUVycm9yKFdLU3RyaW5nUmVmIGVycm9yTWVzc2FnZSk7
CisgICAgdm9pZCBoYW5kbGVHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdLR2VvbG9jYXRp
b25QZXJtaXNzaW9uUmVxdWVzdFJlZik7CiAKICAgICBib29sIHJlc2V0U3RhdGVUb0NvbnNpc3Rl
bnRWYWx1ZXMoKTsKIApAQCAtODcsNiArODksOCBAQCBwcml2YXRlOgogICAgIHZvaWQgaW5pdGlh
bGl6ZUluamVjdGVkQnVuZGxlUGF0aCgpOwogICAgIHZvaWQgaW5pdGlhbGl6ZVRlc3RQbHVnaW5E
aXJlY3RvcnkoKTsKIAorICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNz
aW9uUmVxdWVzdElmUG9zc2libGUoKTsKKwogICAgIC8vIFdLQ29udGV4dEluamVjdGVkQnVuZGxl
Q2xpZW50CiAgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5k
bGUoV0tDb250ZXh0UmVmLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3Nh
Z2VCb2R5LCBjb25zdCB2b2lkKik7CiAgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVN5bmNocm9u
b3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZShXS0NvbnRleHRSZWYsIFdLU3RyaW5nUmVmIG1l
c3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIFdLVHlwZVJlZiogcmV0dXJuRGF0YSwg
Y29uc3Qgdm9pZCopOwpAQCAtMTI5LDcgKzEzMyw2IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFBs
YXRmb3JtV2ViVmlldz4gbV9tYWluV2ViVmlldzsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRS
ZWY+IG1fY29udGV4dDsKICAgICBXS1JldGFpblB0cjxXS1BhZ2VHcm91cFJlZj4gbV9wYWdlR3Jv
dXA7Ci0gICAgT3duUHRyPEdlb2xvY2F0aW9uUHJvdmlkZXJNb2NrPiBtX2dlb2xvY2F0aW9uUHJv
dmlkZXI7CiAKICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgSW5pdGlhbCwKQEAgLTE1MCw2ICsx
NTMsOSBAQCBwcml2YXRlOgogICAgIAogICAgIGJvb2wgbV9iZWZvcmVVbmxvYWRSZXR1cm5WYWx1
ZTsKIAorICAgIE93blB0cjxHZW9sb2NhdGlvblByb3ZpZGVyTW9jaz4gbV9nZW9sb2NhdGlvblBy
b3ZpZGVyOworICAgIFZlY3RvcjxXS0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWY+IG1f
Z2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdHM7CisgICAgYm9vbCBtX2lzR2VvbG9jYXRpb25Q
ZXJtaXNzaW9uU2V0OwogICAgIGJvb2wgbV9pc0dlb2xvY2F0aW9uUGVybWlzc2lvbkFsbG93ZWQ7
CiAKICAgICBFdmVudFNlbmRlclByb3h5KiBtX2V2ZW50U2VuZGVyUHJveHk7CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCmluZGV4IDQ0OWMxYjBkMzA0YzdjMjI1Yzk2
ZDg3YjQ2NTNiOGVhNGQzMjZjNjIuLjljYTc1YWVmNzkzYjUwNmJjNTUzYTI5OWYxMmI4NzAyMGJm
Zjg0MWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24u
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBAIC0z
NzUsNiArMzc1LDEzIEBAIHZvaWQgVGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVNZXNzYWdlRnJv
bUluamVjdGVkQnVuZGxlKFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFt
ZSwgIlNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uVW5hdmFpbGFibGVFcnJvciIpKSB7CisgICAg
ICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQo
KSk7CisgICAgICAgIFdLU3RyaW5nUmVmIGVycm9yTWVzc2FnZSA9IHN0YXRpY19jYXN0PFdLU3Ry
aW5nUmVmPihtZXNzYWdlQm9keSk7CisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5z
ZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvblVuYXZhaWxhYmxlRXJyb3IoZXJyb3JNZXNzYWdlKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggOThmNDllNWFkNDEzNTU1ZTA4OTlhZDA1MTFmNDY3ZDhkZDQxODg3My4uMDc1MDYz
NTEzZjRmZmY0MDUyYTZjOTVjMDAzMjNmNmZkMTYyMGFlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDEyLTA5LTI0ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIEFkZCBtaXNzaW5nIHN1cHBvcnQgZm9yIEdlb2xvY2F0aW9uIHRlc3RzIG9uIFdlYktp
dDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NTE4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5za2lw
IGFsbW9zdCBhbGwgdGhlIGxheW91dCB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL3drMi9T
a2lwcGVkOgorCiAyMDEyLTA5LTI0ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBXZSBzaG91bGQgbm90IGV4cGVjdCBwZXJjZW50LWVzY2FwZWQgaG9z
dG5hbWUgZm9yIGludmFsaWQgVVJMcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2syL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZAppbmRleCBhNjgx
MTMyMTNiNWZkMDZmNTExYmRkNzU0NTE5ZDIxM2Q4YjIzZTI3Li4wODk3OThhMjk0NzZmMDE5ZjFj
NGJjMDdjOGVkMDIxMzc5NDMxYmMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
azIvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZApAQCAtMjkx
LDE3ICsyOTEsNyBAQCBwbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGlvblVJLWRp
ZmZlcmluZy1iYWNrZ3JvdW5kLmh0bWwKIHBsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2Rl
bGV0aW9uVUktbWluaW11bS1zaXplLmh0bWwKIHBsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5n
L2RlbGV0aW9uVUktc3VjY2Vzc2Z1bC1kZWxldGlvbi5odG1sCiAKLSMgR2VvbG9jYXRpb24gVGVz
dHMgZm9yIHdoaWNoIFdlYktpdFRlc3RSdW5uZXIgc3RpbGwgbWlzc2VzIHN1cHBvcnQuCi1mYXN0
L2RvbS9HZW9sb2NhdGlvbi9kZWxheWVkLXBlcm1pc3Npb24tYWxsb3dlZC1mb3ItbXVsdGlwbGUt
cmVxdWVzdHMuaHRtbAotZmFzdC9kb20vR2VvbG9jYXRpb24vZGVsYXllZC1wZXJtaXNzaW9uLWFs
bG93ZWQuaHRtbAotZmFzdC9kb20vR2VvbG9jYXRpb24vZGVsYXllZC1wZXJtaXNzaW9uLWRlbmll
ZC1mb3ItbXVsdGlwbGUtcmVxdWVzdHMuaHRtbAotZmFzdC9kb20vR2VvbG9jYXRpb24vZGVsYXll
ZC1wZXJtaXNzaW9uLWRlbmllZC5odG1sCi1mYXN0L2RvbS9HZW9sb2NhdGlvbi9lcnJvci1jbGVh
ci13YXRjaC5odG1sCi1mYXN0L2RvbS9HZW9sb2NhdGlvbi9lcnJvci5odG1sCi1mYXN0L2RvbS9H
ZW9sb2NhdGlvbi9tYXhpbXVtLWFnZS5odG1sCi1mYXN0L2RvbS9HZW9sb2NhdGlvbi9wZXJtaXNz
aW9uLWRlbmllZC1hbHJlYWR5LWVycm9yLmh0bWwKLWZhc3QvZG9tL0dlb2xvY2F0aW9uL3JlZW50
cmFudC1lcnJvci5odG1sCi1mYXN0L2RvbS9HZW9sb2NhdGlvbi93YXRjaC5odG1sCisjIEZhaWwg
b24gV2ViS2l0MiwgdGhlIHRlc3QgY3Jhc2guCiBmYXN0L2RvbS9HZW9sb2NhdGlvbi93aW5kb3ct
Y2xvc2UtY3Jhc2guaHRtbAogCiAjIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgbGF5b3V0VGVzdENv
bnRyb2xsZXIuc2V0RGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUKQEAgLTU1OCw3ICs1NDgsNiBA
QCBmYXN0L3RleHQtYXV0b3NpemluZwogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTQ1NTQKIGluc3BlY3Rvci9nZW9sb2NhdGlvbi1lcnJvci5odG1sCiBpbnNwZWN0
b3IvZ2VvbG9jYXRpb24tc3VjY2Vzcy5odG1sCi1pbnNwZWN0b3IvZ2VvbG9jYXRpb24td2F0Y2hQ
b3NpdGlvbi5odG1sCiAKICMgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9s
aWN5IG1ldGhvZHMgc2hvdWxkIGNvbnNpZGVyIAogIyAnV0tCdW5kbGVQYWdlUG9saWN5QWN0aW9u
UGFzc1Rocm91Z2gnIHBvbGljeSBhY3Rpb24gCkBAIC0xMDA2LDggKzk5NSw2IEBAIHBsdWdpbnMv
ZGVzdHJveS1vbi1zZXR3aW5kb3cuaHRtbAogZmFzdC9mb3Jtcy9pbnB1dC1hbGlnbi5odG1sCiAK
ICMgV2ViUHJvY2VzcyBzb21ldGltZXMgdGVybWluYXRlcyB3aGVuIHJ1bm5pbmcgdGhlc2UgdGVz
dHMKLWZhc3QvZG9tL0dlb2xvY2F0aW9uL25vdGltZXItYWZ0ZXItdW5sb2FkLmh0bWwKLWZhc3Qv
ZG9tL0dlb2xvY2F0aW9uL3JlbW92ZS1yZW1vdGUtY29udGV4dC1pbi1lcnJvci1jYWxsYmFjay1j
cmFzaC5odG1sCiBmYXN0L2Zvcm1zL2Zvcm0tYXNzb2NpYXRlZC1lbGVtZW50LWNyYXNoLmh0bWwK
IAogIyBOZXcgaGlzdG9yeSB0ZXN0cyBhZGRlZCBpbiByNzYyMDUgZmFpbCBvbiBXZWJLaXQyIChw
ZXJoYXBzIHRoZSBjaGFuZ2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>