<?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>238664</bug_id>
          
          <creation_ts>2022-04-01 05:23:18 -0700</creation_ts>
          <short_desc>Reject Clients.openWindow and Client.navigate promises in some failure cases</short_desc>
          <delta_ts>2022-04-11 01:00:15 -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>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>238503</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1857240</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-01 05:23:18 -0700</bug_when>
    <thetext>Investigate rejecting Clients.openWindow promise in some cases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857241</commentid>
    <comment_count>1</comment_count>
      <attachid>456352</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-01 05:30:43 -0700</bug_when>
    <thetext>Created attachment 456352
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858807</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-06 06:42:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/91350577&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858808</commentid>
    <comment_count>3</comment_count>
      <attachid>456815</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-06 06:43:00 -0700</bug_when>
    <thetext>Created attachment 456815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858858</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-06 09:09:37 -0700</bug_when>
    <thetext>Comments from https://bugs.webkit.org/show_bug.cgi?id=238503#c14:

I had a look at Chrome code.
Chrome is rejecting the promise in some cases that the spec does not define, like openWindow(&apos;file://&apos;).
I filed https://bugs.webkit.org/show_bug.cgi?id=238658 to keep track of that.

Chrome has the infrastructure to reject the promise based on the openWindow result gathered from the main process: https://source.chromium.org/chromium/chromium/src/+/main:content/browser/service_worker/service_worker_client_utils.cc;l=429;drc=7fb345a0da63049b102e1c0bcdc8d7831110e324.
A few things worth noting (from code inspection so this needs actual validation):
- It seems the default implementation of the callback (no tab is created) will trigger rejection of the promise. This is inline with this patch.
- If openWindow triggers creation of a tab that quickly got closed, promise is resolved with null. I am not sure we are aligned here, since probably we would reject if WebFrameProxy got deallocated.
- navigate and openWindow use the same code path so I would expect similar resolve/reject behaviour.
- navigate and openWindow do reject for some bad URLs, which is not described in the spec. This seems to indicate that errors in HTML navigate could sometimes lead to rejection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859635</commentid>
    <comment_count>5</comment_count>
      <attachid>457034</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-08 02:26:38 -0700</bug_when>
    <thetext>Created attachment 457034
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860224</commentid>
    <comment_count>6</comment_count>
      <attachid>457034</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-11 01:00:15 -0700</bug_when>
    <thetext>Comment on attachment 457034
Patch

Marking as r?
This patch makes it more consistent in navigate algorithm when UIProcess stops the load differently (in case of &apos;view-source//&apos; and in case of &apos;file:///&apos;). We align with Chrome behavior here.
It also rejects in case the service worker openWindow delegate is not implemented, which I think mirrors what Chrome is doing.
This area still needs some interop and spec work since Firefox for instance is not rejecting on &apos;file:///&apos;but does on &apos;view-source://&apos;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456352</attachid>
            <date>2022-04-01 05:30:43 -0700</date>
            <delta_ts>2022-04-06 06:42:56 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-238664-20220401143041.patch</filename>
            <type>text/plain</type>
            <size>4990</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk3NjQ3OWZlZTcwNjcwZDQ5
NTYxZTRjZGMwODk5MzgwM2M3MWZkYWQuLjMxZWY5NGUxNGY1N2M5NzdmMjZhODAxN2IyMTA5MmE0
ZGYyM2I0MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjItMDQtMDEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEludmVzdGlnYXRlIHJlamVjdGlu
ZyBDbGllbnRzLm9wZW5XaW5kb3cgcHJvbWlzZSBpbiBzb21lIGNhc2VzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2NjQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBjYXNlIGRlbGVnYXRlIGRvZXMg
bm90IGdpdmUgdXMgYSBXZWIgUGFnZSwgd2UgcmVqZWN0IG9wZW5XaW5kb3cuCisgICAgICAgIElu
IGFsbCBvdGhlciBjYXNlcywgd2UgcmV0dXJuIHRoZSBwYWdlIGlkZW50aWZpZXIgdG8gbmV0d29y
ayBwcm9jZXNzLgorICAgICAgICBJZiB0aGVyZSBpcyBubyBjbGllbnQgZm9yIHRoYXQgcGFnZSBp
ZGVudGlmaWVyLCBvcGVuV2luZG93IHdpbGwgcmVzb2x2ZSB3aXRoIG51bGwuCisgICAgICAgIFRo
aXMgbWlnaHQgaGFwcGVuIGlmIHRoZSBsb2FkIGlzIGJsb2NrZWQgZm9yIGluc3RhbmNlLgorCisg
ICAgICAgIENvdmVyZWQgYnkgQVBJIHRlc3QuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9T
ZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbjo6b3BlbldpbmRvdyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpvcGVuV2luZG93RnJvbVNlcnZpY2VXb3Jr
ZXIpOgorCiAyMDIyLTA0LTAxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50cy5vcGVuV2luZG93IHNob3VsZCBub3QgbmVlZCB0
byBnZXQgYWxsIGNsaWVudHMgYXN5bmNocm9ub3VzbHkgdG8gcmVzb2x2ZSBpdHMgcHJvbWlzZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcApp
bmRleCBjY2Q1NWNlYWExZmU4MjI3ZGFhMjk2NWY3ZWVmMmM2M2RjYTVjNzE2Li5iNjhhY2I5MzJi
N2MzOWYzNWQ4MzEzYThhZTFjY2VhMzA3MDcyZWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcApAQCAtMTg2LDggKzE4Niw3IEBAIHZv
aWQgV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uOjpvcGVuV2luZG93KFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyCiAKICAgICBhdXRvIGlubmVyQ2FsbGJhY2sgPSBbY2FsbGJh
Y2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgc2VydmVyID0gV2Vha1B0ciB7ICpzZXJ2ZXIgfSwgb3Jp
Z2luID0gd29ya2VyLT5vcmlnaW4oKV0oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdlSWRlbnRp
Zmllcj4mJiBwYWdlSWRlbnRpZmllcikgbXV0YWJsZSB7CiAgICAgICAgIGlmICghcGFnZUlkZW50
aWZpZXIpIHsKLSAgICAgICAgICAgIC8vIEZJWE1FOiB2YWxpZGF0ZSB3aGV0aGVyIHdlIHNob3Vs
ZCByZWplY3Qgb3IgcmVzb2x2ZSB3aXRoIG51bGwsIGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvU2Vy
dmljZVdvcmtlci9pc3N1ZXMvMTYzOQotICAgICAgICAgICAgY2FsbGJhY2soeyB9KTsKKyAgICAg
ICAgICAgIGNhbGxiYWNrKG1ha2VVbmV4cGVjdGVkKEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJyb3Is
ICJvcGVuV2luZG93IGZhaWxlZCBvcGVuaW5nIGEgdGFiIl9zIH0pKTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCmluZGV4IDExYmJmNTRmMGI0MGZmMTIz
YTI0MWJhY2YzNjZiYjkyYmJmMDM5MTcuLjg1YWRkYzViZjg0NTkwYWIyZjYxYjI4NjdkNzVlOTJj
OGM3ZDg5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCkBAIC0yMTE3LDE4ICsyMTE3LDEyIEBAIHZvaWQg
V2Vic2l0ZURhdGFTdG9yZTo6b3BlbldpbmRvd0Zyb21TZXJ2aWNlV29ya2VyKGNvbnN0IFN0cmlu
ZyYgdXJsU3RyaW5nLCBjb25zCiAKICAgICAgICAgaWYgKCFuZXdQYWdlLT5wYWdlTG9hZFN0YXRl
KCkuaXNMb2FkaW5nKCkpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HKExvYWRpbmcsICJUaGUg
V0tXZWJWaWV3IHByb3ZpZGVkIGluIHJlc3BvbnNlIHRvIGEgU2VydmljZVdvcmtlciBvcGVuV2lu
ZG93IHJlcXVlc3Qgd2FzIG5vdCBpbiB0aGUgbG9hZGluZyBzdGF0ZSIpOwotICAgICAgICAgICAg
Y2FsbGJhY2soc3RkOjpudWxsb3B0KTsKKyAgICAgICAgICAgIGNhbGxiYWNrKG5ld1BhZ2UtPndl
YlBhZ2VJRCgpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGF1
dG8gaW5uZXJDYWxsYmFjayA9IFtwYWdlSUQgPSBuZXdQYWdlLT5pZGVudGlmaWVyKCksIGNhbGxi
YWNrID0gV1RGTW92ZShjYWxsYmFjayldIChib29sIHN1Y2Nlc3MpIG11dGFibGUgewotICAgICAg
ICAgICAgYXV0byogbmV3UGFnZSA9IFdlYlByb2Nlc3NQcm94eTo6d2ViUGFnZShwYWdlSUQpOwot
ICAgICAgICAgICAgaWYgKCFuZXdQYWdlIHx8ICFzdWNjZXNzKSB7Ci0gICAgICAgICAgICAgICAg
Y2FsbGJhY2soc3RkOjpudWxsb3B0KTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
ICAgICB9Ci0KLSAgICAgICAgICAgIGNhbGxiYWNrKG5ld1BhZ2UtPndlYlBhZ2VJRCgpKTsKKyAg
ICAgICAgYXV0byBpbm5lckNhbGxiYWNrID0gW3BhZ2VJRCA9IG5ld1BhZ2UtPndlYlBhZ2VJRCgp
LCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoYm9vbCkgbXV0YWJsZSB7CisgICAgICAg
ICAgICBjYWxsYmFjayhwYWdlSUQpOwogICAgICAgICB9OwogCiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDcwNDEzYTM1NWZmMDUxYTgzNWFjYTc4MDY1ODNmN2Y1ZTFlMTMzZGIuLjA5ZWQxMjUxN2Ux
NjM0ZjM0MGI0NjMwMjZhYzQ2ZWQxZjU3ZWUwMDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMi0wNC0wMSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgSW52ZXN0aWdhdGUgcmVq
ZWN0aW5nIENsaWVudHMub3BlbldpbmRvdyBwcm9taXNlIGluIHNvbWUgY2FzZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODY2NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFzaWMubW06CisKIDIwMjItMDQtMDEgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNlcnZpY2VXb3JrZXJD
bGllbnRzLm9wZW5XaW5kb3cgc2hvdWxkIG5vdCBuZWVkIHRvIGdldCBhbGwgY2xpZW50cyBhc3lu
Y2hyb25vdXNseSB0byByZXNvbHZlIGl0cyBwcm9taXNlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCmlu
ZGV4IGUxMzFkNGM4NmM3NmEzYmNmYzBkNDJjZWZkZmFiMDNlMDg2OGNkZGUuLjI2ZWZiMzdjYzhj
Yzg5ZTRkOThhMzk0OGQ3ZDMyNWQyNzdmMWRlZDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCkBA
IC0zMDQzLDcgKzMwNDMsNyBAQCBURVNUKFNlcnZpY2VXb3JrZXIsIG9wZW5XaW5kb3dXaXRob3V0
RGVsZWdhdGUpCiAgICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JBbGVy
dF0sICJzdWNjZXNzZnVsbHkgcmVnaXN0ZXJlZCIpOwogCiAgICAgZG9uZSA9IGZhbHNlOwotICAg
IGV4cGVjdGVkTWVzc2FnZSA9ICJvcGVuZWQgd2l0aG91dCBjbGllbnQiOworICAgIGV4cGVjdGVk
TWVzc2FnZSA9ICJub3Qgb3BlbmVkIjsKICAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6
QCJvcGVuV2luZG93Q2xpZW50KCkiIGNvbXBsZXRpb25IYW5kbGVyOiBuaWxdOwogICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456815</attachid>
            <date>2022-04-06 06:43:00 -0700</date>
            <delta_ts>2022-04-08 02:26:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238664-20220406154258.patch</filename>
            <type>text/plain</type>
            <size>23223</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE4MzRjNjkzZDhlNGFmN2Rh
YjIwOWFhNjhiYjAwYWQ5MWE3MjJkNjIuLjRjNjQ0NmVmNDIwNWI5OWM1YTY4MDM1MWEyODM1MDQ2
NTA5OTlhMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjItMDQtMDYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEludmVzdGlnYXRlIHJlamVjdGlu
ZyBDbGllbnRzLm9wZW5XaW5kb3cgcHJvbWlzZSBpbiBzb21lIGNhc2VzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2NjQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBjYXNlIGRlbGVnYXRlIGRvZXMg
bm90IGdpdmUgdXMgYSBXZWIgUGFnZSwgd2UgcmVqZWN0IG9wZW5XaW5kb3cuCisgICAgICAgIElu
IGNhc2UgZGVsZWdhdGVzIGJsb2NrIHRoZSBsb2Fkcywgd2UgcmVqZWN0IG9wZW5XaW5kb3cgYW5k
IG5hdmlnYXRlLgorICAgICAgICBSZXVzZSBXZWJGcmFtZVByb3h5IG5hdmlnYXRpb24gZGVsZWdh
dGUgZm9yIG9wZW5XaW5kb3cgb25jZSB0aGUgbWFpbiBmcmFtZSBpcyBjcmVhdGVkLgorICAgICAg
ICBUaGlzIGVuc3VyZXMgd2UgZ2V0IHRoZSBzYW1lIGJlaGF2aW9yIGZvciBib3RoIGNvZGUgcGF0
aHMgYW5kIG1ha2VzIHN1cmUgb3BlbldpbmRvdyBkb2VzIG5vdCBoYW5nIGlmIGRlbGVnYXRlIGJs
b2NrcyB0aGUgbG9hZC4KKyAgICAgICAgSWYgYSBkZWxlZ2F0ZSBjYW5jZWxzIHRoZSBsb2FkLCB3
ZSBub3cgcmV0dXJuIG5vIHBhZ2UgaWRlbnRpZmllciBmb3IgYm90aCBvcGVuV2luZG93IGFuZCBu
YXZpZ2F0ZSwgd2hpY2ggd2lsbCByZWplY3QgdGhlIHJlbGF0ZWQgcHJvbWlzZXMuCisgICAgICAg
IEZpeCB0aGUgY2FzZSBvZiBuYXZpZ2F0aW9uIHJlcXVlc3QgYmVpbmcgYmxvY2tlZCBiZWZvcmUg
V2ViUGFnZTo6TmF2aWdhdGVTZXJ2aWNlV29ya2VyQ2xpZW50IGNhbGxiYWNrIGlzIGNhbGxlZC4K
KyAgICAgICAgSWYgdGhlIFVSTCBpcyBub3QgbWF0Y2hpbmcsIHdlIGNvbnNpZGVyIHRoYXQgdGhl
IG5hdmlnYXRlIHJlcXVlc3QgZmFpbGVkLgorCisgICAgICAgIENvdmVyZWQgYnkgQVBJIHRlc3Rz
IGFuZCByZWJhc2VkIFdQVCB0ZXN0cy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZp
Y2VXb3JrZXIvV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViRnJhbWVQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJv
eHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorCiAyMDIyLTA0LTA2ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbiBjYXNlIG9mIENPT1AtYmFzZWQgcHJvY2VzcyBz
d2FwLCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgZG9jdW1lbnQgZ2V0cyBjb250cm9sbGVkIGJ5
IGl0cyBtYXRjaGluZyBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29u
dGV4dENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAKaW5kZXggMTRiM2I0ZjEy
ZTgwNDIwYjFjN2E5YjdjNTg2YTk2MmU2MjBlZjIzMC4uMmNlZWRmNmVhNjAwYTI4OTQyMjVmN2Vl
NWQ5NGYwODI5ZjAxYjI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9D
b250ZXh0Q29ubmVjdGlvbi5jcHAKQEAgLTE4Niw4ICsxODYsNyBAQCB2b2lkIFdlYlNXU2VydmVy
VG9Db250ZXh0Q29ubmVjdGlvbjo6b3BlbldpbmRvdyhXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRl
bnRpZmllcgogCiAgICAgYXV0byBpbm5lckNhbGxiYWNrID0gW2NhbGxiYWNrID0gV1RGTW92ZShj
YWxsYmFjayksIHNlcnZlciA9IFdlYWtQdHIgeyAqc2VydmVyIH0sIG9yaWdpbiA9IHdvcmtlci0+
b3JpZ2luKCldKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXI+JiYgcGFnZUlk
ZW50aWZpZXIpIG11dGFibGUgewogICAgICAgICBpZiAoIXBhZ2VJZGVudGlmaWVyKSB7Ci0gICAg
ICAgICAgICAvLyBGSVhNRTogdmFsaWRhdGUgd2hldGhlciB3ZSBzaG91bGQgcmVqZWN0IG9yIHJl
c29sdmUgd2l0aCBudWxsLCBodHRwczovL2dpdGh1Yi5jb20vdzNjL1NlcnZpY2VXb3JrZXIvaXNz
dWVzLzE2MzkKLSAgICAgICAgICAgIGNhbGxiYWNrKHsgfSk7CisgICAgICAgICAgICBjYWxsYmFj
ayhtYWtlVW5leHBlY3RlZChFeGNlcHRpb25EYXRhIHsgVHlwZUVycm9yLCAib3BlbldpbmRvdyBm
YWlsZWQgb3BlbmluZyBhIHRhYiJfcyB9KSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAppbmRleCA1ODQz
YzllZjQ3MTVjNjZhNTA5ZTE4NGRhYjQ4ODkwZWUwMTY0NGYzLi41YWM5YmZjYWM1MjYxMWZkNWNm
YTZlMGVjYjdlOGI0NmJmY2YzYzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJGcmFtZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFt
ZVByb3h5LmNwcApAQCAtMTA1LDYgKzEwNSwxMCBAQCB2b2lkIFdlYkZyYW1lUHJveHk6Om5hdmln
YXRlU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SQog
ICAgICAgICB9CiAKICAgICAgICAgaWYgKCFtX2FjdGl2ZUxpc3RlbmVyKSB7CisgICAgICAgICAg
ICBpZiAodGhpcy0+dXJsKCkgIT0gdXJsKSB7CisgICAgICAgICAgICAgICAgY2FsbGJhY2soeyB9
KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBj
YWxsYmFjayhwYWdlSWRlbnRpZmllcigpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQpAQCAtMjQ4LDcgKzI1Miw3IEBAIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eSYgV2ViRnJh
bWVQcm94eTo6c2V0VXBQb2xpY3lMaXN0ZW5lclByb3h5KENvbXBsZXRpb25ICiAgICAgICAgIG1f
YWN0aXZlTGlzdGVuZXItPmlnbm9yZSgpOwogICAgIG1fYWN0aXZlTGlzdGVuZXIgPSBXZWJGcmFt
ZVBvbGljeUxpc3RlbmVyUHJveHk6OmNyZWF0ZShbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7
ICp0aGlzIH0sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
IChQb2xpY3lBY3Rpb24gYWN0aW9uLCBBUEk6OldlYnNpdGVQb2xpY2llcyogcG9saWNpZXMsIFBy
b2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQgcHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCwg
UmVmUHRyPFNhZmVCcm93c2luZ1dhcm5pbmc+JiYgc2FmZUJyb3dzaW5nV2FybmluZywgc3RkOjpv
cHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbikgbXV0YWJsZSB7CiAgICAgICAgIGlmIChhY3Rpb24gIT0gUG9saWN5QWN0aW9uOjpV
c2UgJiYgbV9uYXZpZ2F0ZUNhbGxiYWNrKQotICAgICAgICAgICAgbV9uYXZpZ2F0ZUNhbGxiYWNr
KHBhZ2VJZGVudGlmaWVyKCkpOworICAgICAgICAgICAgbV9uYXZpZ2F0ZUNhbGxiYWNrKHsgfSk7
CiAKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoYWN0aW9uLCBwb2xpY2llcywgcHJvY2Vzc1N3
YXBSZXF1ZXN0ZWRCeUNsaWVudCwgV1RGTW92ZShzYWZlQnJvd3NpbmdXYXJuaW5nKSwgaXNOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbik7CiAgICAgICAgIG1fYWN0aXZlTGlzdGVuZXIgPSBudWxs
cHRyOwpAQCAtMjgyLDYgKzI4NiwxNyBAQCB2b2lkIFdlYkZyYW1lUHJveHk6OnNldFVucmVhY2hh
YmxlVVJMKGNvbnN0IFVSTCYgdW5yZWFjaGFibGVVUkwpCiAgICAgbV9mcmFtZUxvYWRTdGF0ZS5z
ZXRVbnJlYWNoYWJsZVVSTCh1bnJlYWNoYWJsZVVSTCk7CiB9CiAKK3ZvaWQgV2ViRnJhbWVQcm94
eTo6dHJhbnNmZXJOYXZpZ2F0aW9uQ2FsbGJhY2tUb0ZyYW1lKFdlYkZyYW1lUHJveHkmIGZyYW1l
KQoreworICAgIGZyYW1lLnNldE5hdmlnYXRpb25DYWxsYmFjayhXVEZNb3ZlKG1fbmF2aWdhdGVD
YWxsYmFjaykpOworfQorCit2b2lkIFdlYkZyYW1lUHJveHk6OnNldE5hdmlnYXRpb25DYWxsYmFj
ayhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGFnZUlkZW50
aWZpZXI+KT4mJiBuYXZpZ2F0ZUNhbGxiYWNrKQoreworICAgIEFTU0VSVCghbV9uYXZpZ2F0ZUNh
bGxiYWNrKTsKKyAgICBtX25hdmlnYXRlQ2FsbGJhY2sgPSBXVEZNb3ZlKG5hdmlnYXRlQ2FsbGJh
Y2spOworfQorCiAjaWYgRU5BQkxFKENPTlRFTlRfRklMVEVSSU5HKQogYm9vbCBXZWJGcmFtZVBy
b3h5OjpkaWRIYW5kbGVDb250ZW50RmlsdGVyVW5ibG9ja05hdmlnYXRpb24oY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViRnJhbWVQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQcm94
eS5oCmluZGV4IDYwNmVjMDJkZDQ5ZjE1ZTc3NTMyZGI1MjNlZDIxNzhkZGYyNDM5NWMuLmU0ZmE0
M2I5MDQ5ZGRmODdiNGY1MjEzZGJjODNkMzFhYTI3ZTBjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJGcmFtZVByb3h5LmgKQEAgLTEzMCw3ICsxMzAsOCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBjb2xsYXBzZVNlbGVjdGlvbigpOwogI2VuZGlmCiAKLSAgICB2b2lkIHRyYW5zZmVyTmF2aWdh
dGlvbkNhbGxiYWNrVG9GcmFtZShXZWJGcmFtZVByb3h5JiBmcmFtZSkgeyBmcmFtZS5tX25hdmln
YXRlQ2FsbGJhY2sgPSBXVEZNb3ZlKG1fbmF2aWdhdGVDYWxsYmFjayk7IH0KKyAgICB2b2lkIHRy
YW5zZmVyTmF2aWdhdGlvbkNhbGxiYWNrVG9GcmFtZShXZWJGcmFtZVByb3h5Jik7CisgICAgdm9p
ZCBzZXROYXZpZ2F0aW9uQ2FsbGJhY2soQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPik+JiYpOwogCiBwcml2YXRlOgogICAgIFdlYkZy
YW1lUHJveHkoV2ViUGFnZVByb3h5JiwgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDkwNzM2OTZhMjVkYzllOTE1
YjMyNWQ3ZDZjMzlkZjMyOTFlM2Y5ZTMuLjFjODA0MzU2NmI1ZjFjMGU4NDA4Mzc0YTMzYzYxNzdh
NmU2ZmJhMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAt
NDYxMCw2ICs0NjEwLDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZENyZWF0ZU1haW5GcmFtZShG
cmFtZUlkZW50aWZpZXIgZnJhbWVJRCkKIAogICAgIG1fbWFpbkZyYW1lID0gV2ViRnJhbWVQcm94
eTo6Y3JlYXRlKCp0aGlzLCBmcmFtZUlEKTsKIAorICAgIGlmIChtX3NlcnZpY2VXb3JrZXJPcGVu
V2luZG93Q29tcGxldGlvbkNhbGxiYWNrKQorICAgICAgICBtX21haW5GcmFtZS0+c2V0TmF2aWdh
dGlvbkNhbGxiYWNrKFdURk1vdmUobV9zZXJ2aWNlV29ya2VyT3BlbldpbmRvd0NvbXBsZXRpb25D
YWxsYmFjaykpOworCiAgICAgLy8gQWRkIHRoZSBmcmFtZSB0byB0aGUgcHJvY2VzcyB3aWRlIG1h
cC4KICAgICBtX3Byb2Nlc3MtPmZyYW1lQ3JlYXRlZChmcmFtZUlELCAqbV9tYWluRnJhbWUpOwog
fQpAQCAtNDk1Niw3ICs0OTU5LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNhbGxMb2FkQ29tcGxl
dGlvbkhhbmRsZXJzSWZOZWNlc3NhcnkoYm9vbCBzdWNjZXNzKQogICAgICAgICBtX3NlcnZpY2VX
b3JrZXJMYXVuY2hDb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAKICAgICBpZiAobV9zZXJ2aWNl
V29ya2VyT3BlbldpbmRvd0NvbXBsZXRpb25DYWxsYmFjaykKLSAgICAgICAgbV9zZXJ2aWNlV29y
a2VyT3BlbldpbmRvd0NvbXBsZXRpb25DYWxsYmFjayhzdWNjZXNzKTsKKyAgICAgICAgbV9zZXJ2
aWNlV29ya2VyT3BlbldpbmRvd0NvbXBsZXRpb25DYWxsYmFjayhzdWNjZXNzID8gd2ViUGFnZUlE
KCkgOiBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyPiB7IH0pOwogI2VuZGlm
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYWQ3N2JiNjhi
ZjRjYjYxOWNlMDVkMDhiYjhkYWE0MGIwODAxYmExZS4uZTM5ZWY4NDljYTgyZWNkNzM4ZWMwYzQz
N2I2YTUwNDY2NzZlYTA4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
QEAgLTIwODcsNyArMjA4Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGludGVyYWN0aW9uUmVnaW9u
cyhXZWJDb3JlOjpGbG9hdFJlY3QgcmVjdEluQ29udGVudENvb3JkaW5hdGVzLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFZlY3RvcjxXZWJDb3JlOjpJbnRlcmFjdGlvblJlZ2lvbj4pPiYmKTsKIAog
I2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJPcGVu
V2luZG93Q29tcGxldGlvbkNhbGxiYWNrKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYg
Y29tcGxldGlvbkNhbGxiYWNrKQorICAgIHZvaWQgc2V0U2VydmljZVdvcmtlck9wZW5XaW5kb3dD
b21wbGV0aW9uQ2FsbGJhY2soQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OlBhZ2VJZGVudGlmaWVyPik+JiYgY29tcGxldGlvbkNhbGxiYWNrKQogICAgIHsKICAg
ICAgICAgQVNTRVJUKCFtX3NlcnZpY2VXb3JrZXJPcGVuV2luZG93Q29tcGxldGlvbkNhbGxiYWNr
KTsKICAgICAgICAgbV9zZXJ2aWNlV29ya2VyT3BlbldpbmRvd0NvbXBsZXRpb25DYWxsYmFjayA9
IFdURk1vdmUoY29tcGxldGlvbkNhbGxiYWNrKTsKQEAgLTMxMzcsNyArMzEzNyw3IEBAIHByaXZh
dGU6CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIGJvb2wgbV9pc1NlcnZpY2VXb3Jr
ZXJQYWdlIHsgZmFsc2UgfTsKICAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiBtX3Nl
cnZpY2VXb3JrZXJMYXVuY2hDb21wbGV0aW9uSGFuZGxlcjsKLSAgICBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wpPiBtX3NlcnZpY2VXb3JrZXJPcGVuV2luZG93Q29tcGxldGlvbkNhbGxiYWNr
OworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYWdl
SWRlbnRpZmllcj4pPiBtX3NlcnZpY2VXb3JrZXJPcGVuV2luZG93Q29tcGxldGlvbkNhbGxiYWNr
OwogI2VuZGlmCiAKICAgICBSdW5Mb29wOjpUaW1lcjxXZWJQYWdlUHJveHk+IG1fdHJ5Q2xvc2VU
aW1lb3V0VGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCmluZGV4IGI3MDBjOTk5ZTRiMGVhZGQ1MTcyMjY1
NjFkOGQzMTBmYWRkMGI1YzAuLjIxNmNjNDdjZDEyN2YyZGRmOWIxZWZiZDg5MzVkZGJlNTQ5OWRj
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmUuY3BwCkBAIC0yMTM1LDE4ICsyMTM1LDggQEAgdm9pZCBXZWJzaXRl
RGF0YVN0b3JlOjpvcGVuV2luZG93RnJvbVNlcnZpY2VXb3JrZXIoY29uc3QgU3RyaW5nJiB1cmxT
dHJpbmcsIGNvbnMKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGF1
dG8gaW5uZXJDYWxsYmFjayA9IFtwYWdlSUQgPSBuZXdQYWdlLT5pZGVudGlmaWVyKCksIGNhbGxi
YWNrID0gV1RGTW92ZShjYWxsYmFjayldIChib29sIHN1Y2Nlc3MpIG11dGFibGUgewotICAgICAg
ICAgICAgYXV0byogbmV3UGFnZSA9IFdlYlByb2Nlc3NQcm94eTo6d2ViUGFnZShwYWdlSUQpOwot
ICAgICAgICAgICAgaWYgKCFuZXdQYWdlIHx8ICFzdWNjZXNzKSB7Ci0gICAgICAgICAgICAgICAg
Y2FsbGJhY2soc3RkOjpudWxsb3B0KTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
ICAgICB9Ci0KLSAgICAgICAgICAgIGNhbGxiYWNrKG5ld1BhZ2UtPndlYlBhZ2VJRCgpKTsKLSAg
ICAgICAgfTsKLQogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICAgICAgbmV3UGFnZS0+
c2V0U2VydmljZVdvcmtlck9wZW5XaW5kb3dDb21wbGV0aW9uQ2FsbGJhY2soV1RGTW92ZShpbm5l
ckNhbGxiYWNrKSk7CisgICAgICAgIG5ld1BhZ2UtPnNldFNlcnZpY2VXb3JrZXJPcGVuV2luZG93
Q29tcGxldGlvbkNhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKTsKICNlbmRpZgogICAgIH07CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlMmVk
NDc3ZWIzMjM1OTAzYzc5MDZhZDVhZDk4NGU3MGJkZTJhZWRmLi40ZTBkNTc5YmIxMmYyZjU3MzE4
MWM0NjE5ZGI5NTUyMjRiZDk5M2U4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDQtMDYgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEludmVzdGlnYXRlIHJlamVjdGluZyBD
bGllbnRzLm9wZW5XaW5kb3cgcHJvbWlzZSBpbiBzb21lIGNhc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2NjQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tOgorCiAyMDIyLTA0LTA2ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbiBjYXNlIG9mIENPT1AtYmFzZWQg
cHJvY2VzcyBzd2FwLCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgZG9jdW1lbnQgZ2V0cyBjb250
cm9sbGVkIGJ5IGl0cyBtYXRjaGluZyBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24KZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtl
ckJhc2ljLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNl
V29ya2VyQmFzaWMubW0KaW5kZXggOTYyZTg5OTkyOTg0N2YxNGFiOWY2MzlkYjAxYTUwYzg0ZjFk
MGJiMi4uZjJhNmMyMWEyODg3ZTMzNzUyYjk4ZDIwMmQ5YjA4MWVlMDBiZDYxMyAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFz
aWMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNl
V29ya2VyQmFzaWMubW0KQEAgLTUxLDYgKzUxLDcgQEAKICNpbXBvcnQgPFdlYktpdC9fV0tSZW1v
dGVPYmplY3RJbnRlcmZhY2UuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tSZW1vdGVPYmplY3RSZWdp
c3RyeS5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9u
Lmg+CisjaW1wb3J0IDxXZWJLaXQvX1dLV2Vic2l0ZURhdGFTdG9yZURlbGVnYXRlLmg+CiAjaW1w
b3J0IDx3dGYvRGVxdWUuaD4KICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3dGYv
UmV0YWluUHRyLmg+CkBAIC0zMDQzLDcgKzMwNDQsNyBAQCBURVNUKFNlcnZpY2VXb3JrZXIsIG9w
ZW5XaW5kb3dXaXRob3V0RGVsZWdhdGUpCiAgICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3IF90
ZXN0X3dhaXRGb3JBbGVydF0sICJzdWNjZXNzZnVsbHkgcmVnaXN0ZXJlZCIpOwogCiAgICAgZG9u
ZSA9IGZhbHNlOwotICAgIGV4cGVjdGVkTWVzc2FnZSA9ICJvcGVuZWQgd2l0aG91dCBjbGllbnQi
X3M7CisgICAgZXhwZWN0ZWRNZXNzYWdlID0gIm5vdCBvcGVuZWQiX3M7CiAgICAgW3dlYlZpZXcg
ZXZhbHVhdGVKYXZhU2NyaXB0OkAib3BlbldpbmRvd0NsaWVudCgpIiBjb21wbGV0aW9uSGFuZGxl
cjogbmlsXTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogfQpAQCAtMzA4
NCw2ICszMDg1LDEzIEBAIHN0YXRpYyBjb25zdGV4cHIgYXV0byBTZXJ2aWNlV29ya2VyV2luZG93
Q2xpZW50TmF2aWdhdGVNYWluID0KICIgICAgICAgIGFsZXJ0KGV2ZW50LmRhdGEpOyIKICIgICAg
fTsiCiAifSIKKyIiCisiZnVuY3Rpb24gb3BlbldpbmRvd1RvVVJMKHVybCkgeyIKKyIgICAgd29y
a2VyLnBvc3RNZXNzYWdlKHtvcGVuV2luZG93VG9VUkw6IHVybH0pOyIKKyIgICAgbmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIub25tZXNzYWdlID0gKGV2ZW50KSA9PiB7IgorIiAgICAgICAgYWxlcnQo
ZXZlbnQuZGF0YSk7IgorIiAgICB9OyIKKyJ9IgogIjwvc2NyaXB0PiJfczsKIAogc3RhdGljIGNv
bnN0ZXhwciBhdXRvIFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnROYXZpZ2F0ZUpTID0KQEAgLTMx
MTEsOSArMzExOSwxOCBAQCBzdGF0aWMgY29uc3RleHByIGF1dG8gU2VydmljZVdvcmtlcldpbmRv
d0NsaWVudE5hdmlnYXRlSlMgPQogIiAgICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoY3Vy
cmVudENsaWVudHMubGVuZ3RoICsgJyBjbGllbnQocyknKTsiCiAiICAgICAgIHJldHVybjsiCiAi
ICAgfSIKKyIgICBpZiAoZXZlbnQuZGF0YSAmJiBldmVudC5kYXRhLm9wZW5XaW5kb3dUb1VSTCkg
eyIKKyIgICAgICAgYXdhaXQgc2VsZi5jbGllbnRzLm9wZW5XaW5kb3coZXZlbnQuZGF0YS5vcGVu
V2luZG93VG9VUkwpLnRoZW4oKGNsaWVudCkgPT4geyIKKyIgICAgICAgICAgIGV2ZW50LnNvdXJj
ZS5wb3N0TWVzc2FnZShjbGllbnQgPyAnY2xpZW50JyA6ICdub25lJyk7IgorIiAgICAgICB9LCAo
ZSkgPT4geyIKKyIgICAgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSgnZmFpbGVkJyk7
IgorIiAgICAgICB9KTsiCisiICAgICAgIHJldHVybjsiCisiICAgfSIKICJ9KTsiX3M7CiAKLQor
c3RhdGljIGJvb2wgc2hvdWxkU2VydmljZVdvcmtlclBTT05OYXZpZ2F0aW9uRGVsZWdhdGVBbGxv
d05hdmlnYXRpb24gPSB0cnVlOworc3RhdGljIGJvb2wgc2hvdWxkU2VydmljZVdvcmtlclBTT05O
YXZpZ2F0aW9uRGVsZWdhdGVBbGxvd05hdmlnYXRpb25SZXNwb25zZSA9IHRydWU7CiBAaW50ZXJm
YWNlIFNlcnZpY2VXb3JrZXJQU09OTmF2aWdhdGlvbkRlbGVnYXRlIDogTlNPYmplY3QgPFdLTmF2
aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZT4gewogICAgIEBwdWJsaWMgdm9pZCAoXmRlY2lkZVBvbGlj
eUZvck5hdmlnYXRpb25BY3Rpb24pKFdLTmF2aWdhdGlvbkFjdGlvbiAqLCB2b2lkICheKShXS05h
dmlnYXRpb25BY3Rpb25Qb2xpY3kpKTsKICAgICBAcHVibGljIHZvaWQgKF5kaWRTdGFydFByb3Zp
c2lvbmFsTmF2aWdhdGlvbkhhbmRsZXIpKCk7CkBAIC0zMTMxLDEyICszMTQ4LDEyIEBAIHN0YXRp
YyBjb25zdGV4cHIgYXV0byBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50TmF2aWdhdGVKUyA9CiAK
IC0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uOihXS05hdmlnYXRpb25BY3Rpb24gKiluYXZpZ2F0aW9uQWN0aW9uIGRlY2lz
aW9uSGFuZGxlcjoodm9pZCAoXikoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5KSlkZWNpc2lvbkhh
bmRsZXIKIHsKLSAgICBkZWNpc2lvbkhhbmRsZXIoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5QWxs
b3cpOworICAgIGRlY2lzaW9uSGFuZGxlcihzaG91bGRTZXJ2aWNlV29ya2VyUFNPTk5hdmlnYXRp
b25EZWxlZ2F0ZUFsbG93TmF2aWdhdGlvbiA/IFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeUFsbG93
IDogV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5Q2FuY2VsKTsKIH0KIAogLSAodm9pZCl3ZWJWaWV3
OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25SZXNwb25zZToo
V0tOYXZpZ2F0aW9uUmVzcG9uc2UgKiluYXZpZ2F0aW9uUmVzcG9uc2UgZGVjaXNpb25IYW5kbGVy
Oih2b2lkICheKShXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeSkpZGVjaXNpb25IYW5kbGVyCiB7
Ci0gICAgZGVjaXNpb25IYW5kbGVyKFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5QWxsb3cpOwor
ICAgIGRlY2lzaW9uSGFuZGxlcihzaG91bGRTZXJ2aWNlV29ya2VyUFNPTk5hdmlnYXRpb25EZWxl
Z2F0ZUFsbG93TmF2aWdhdGlvblJlc3BvbnNlID8gV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3lB
bGxvdyA6IFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5Q2FuY2VsKTsKIH0KIAogQGVuZApAQCAt
MzE2Niw2ICszMTgzLDggQEAgVEVTVChTZXJ2aWNlV29ya2VyLCBXaW5kb3dDbGllbnROYXZpZ2F0
ZSkKICAgICBUZXN0V2ViS2l0QVBJOjpIVFRQU2VydmVyIHNlcnZlcih7CiAgICAgICAgIHsgIi8i
X3MsIHsgU2VydmljZVdvcmtlcldpbmRvd0NsaWVudE5hdmlnYXRlTWFpbiB9IH0sCiAgICAgICAg
IHsgIi8/dGVzdCJfcywgeyBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50TmF2aWdhdGVNYWluIH0g
fSwKKyAgICAgICAgeyAiLz9mYWlsMSJfcywgeyBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50TmF2
aWdhdGVNYWluIH0gfSwKKyAgICAgICAgeyAiLz9mYWlsMiJfcywgeyBTZXJ2aWNlV29ya2VyV2lu
ZG93Q2xpZW50TmF2aWdhdGVNYWluIH0gfSwKICAgICAgICAgeyAiLz9zd2FwIl9zLCB7IHt7ICJD
b250ZW50LVR5cGUiX3MsICJhcHBsaWNhdGlvbi9odG1sIl9zIH0sIHsgIkNyb3NzLU9yaWdpbi1P
cGVuZXItUG9saWN5Il9zLCAic2FtZS1vcmlnaW4iX3MgfSB9LCBTZXJ2aWNlV29ya2VyV2luZG93
Q2xpZW50TmF2aWdhdGVNYWluIH0gfSwKICAgICAgICAgeyAiL3N3LmpzIl9zLCB7IHt7ICJDb250
ZW50LVR5cGUiX3MsICJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0Il9zIH19LCBTZXJ2aWNlV29ya2Vy
V2luZG93Q2xpZW50TmF2aWdhdGVKUyB9IH0KICAgICB9LCBUZXN0V2ViS2l0QVBJOjpIVFRQU2Vy
dmVyOjpQcm90b2NvbDo6SHR0cCwgbnVsbHB0ciwgbnVsbHB0ciwgODA5MSk7CkBAIC0zMTk0LDYg
KzMyMTMsMTkgQEAgVEVTVChTZXJ2aWNlV29ya2VyLCBXaW5kb3dDbGllbnROYXZpZ2F0ZSkKIAog
ICAgIFt3ZWJWaWV3MSBldmFsdWF0ZUphdmFTY3JpcHQ6QCJjb3VudFNlcnZpY2VXb3JrZXJDbGll
bnRzKCkiIGNvbXBsZXRpb25IYW5kbGVyOiBuaWxdOwogICAgIEVYUEVDVF9XS19TVFJFUShbd2Vi
VmlldzEgX3Rlc3Rfd2FpdEZvckFsZXJ0XSwgIjEgY2xpZW50KHMpIik7CisKKyAgICBzaG91bGRT
ZXJ2aWNlV29ya2VyUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZUFsbG93TmF2aWdhdGlvbiA9IGZhbHNl
OworICAgIHNob3VsZFNlcnZpY2VXb3JrZXJQU09OTmF2aWdhdGlvbkRlbGVnYXRlQWxsb3dOYXZp
Z2F0aW9uUmVzcG9uc2UgPSB0cnVlOworICAgIFt3ZWJWaWV3MSBldmFsdWF0ZUphdmFTY3JpcHQ6
W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJuYXZpZ2F0ZU90aGVyQ2xpZW50VG9VUkwoJyVA
P2ZhaWwxJykiLCBiYXNlVVJMXSBjb21wbGV0aW9uSGFuZGxlcjogbmlsXTsKKyAgICBFWFBFQ1Rf
V0tfU1RSRVEoW3dlYlZpZXcxIF90ZXN0X3dhaXRGb3JBbGVydF0sICJmYWlsZWQiKTsKKworICAg
IHNob3VsZFNlcnZpY2VXb3JrZXJQU09OTmF2aWdhdGlvbkRlbGVnYXRlQWxsb3dOYXZpZ2F0aW9u
ID0gdHJ1ZTsKKyAgICBzaG91bGRTZXJ2aWNlV29ya2VyUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZUFs
bG93TmF2aWdhdGlvblJlc3BvbnNlID0gZmFsc2U7CisgICAgW3dlYlZpZXcxIGV2YWx1YXRlSmF2
YVNjcmlwdDpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIm5hdmlnYXRlT3RoZXJDbGllbnRU
b1VSTCgnJUA/ZmFpbDInKSIsIGJhc2VVUkxdIGNvbXBsZXRpb25IYW5kbGVyOiBuaWxdOworICAg
IEVYUEVDVF9XS19TVFJFUShbd2ViVmlldzEgX3Rlc3Rfd2FpdEZvckFsZXJ0XSwgImZhaWxlZCIp
OworCisgICAgc2hvdWxkU2VydmljZVdvcmtlclBTT05OYXZpZ2F0aW9uRGVsZWdhdGVBbGxvd05h
dmlnYXRpb24gPSB0cnVlOworICAgIHNob3VsZFNlcnZpY2VXb3JrZXJQU09OTmF2aWdhdGlvbkRl
bGVnYXRlQWxsb3dOYXZpZ2F0aW9uUmVzcG9uc2UgPSB0cnVlOwogfQogCiBURVNUKFNlcnZpY2VX
b3JrZXIsIFdpbmRvd0NsaWVudE5hdmlnYXRlQ3Jvc3NPcmlnaW4pCkBAIC0zMjMxLDMgKzMyNjMs
MTIxIEBAIFRFU1QoU2VydmljZVdvcmtlciwgV2luZG93Q2xpZW50TmF2aWdhdGVDcm9zc09yaWdp
bikKICAgICBbd2ViVmlldzEgZXZhbHVhdGVKYXZhU2NyaXB0OltOU1N0cmluZyBzdHJpbmdXaXRo
Rm9ybWF0OkAibmF2aWdhdGVPdGhlckNsaWVudFRvVVJMKCclQCcpIiwgW1tzZXJ2ZXIyLnJlcXVl
c3QoKSBVUkxdIGFic29sdXRlU3RyaW5nXV0gY29tcGxldGlvbkhhbmRsZXI6IG5pbF07CiAgICAg
RVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3MSBfdGVzdF93YWl0Rm9yQWxlcnRdLCAibm9uZSIpOwog
fQorCitAaW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJPcGVuV2luZG93V2Vic2l0ZURhdGFTdG9yZURl
bGVnYXRlOiBOU09iamVjdCA8X1dLV2Vic2l0ZURhdGFTdG9yZURlbGVnYXRlPiB7CitAcHJpdmF0
ZQorICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24qIF9jb25maWd1cmF0aW9uOworICAgIFJldGFp
blB0cjxTZXJ2aWNlV29ya2VyUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZT4gX25hdmlnYXRpb25EZWxl
Z2F0ZTsKKyAgICBSZXRhaW5QdHI8VGVzdFdLV2ViVmlldz4gX3dlYlZpZXc7Cit9CistIChpbnN0
YW5jZXR5cGUpaW5pdFdpdGhDb25maWd1cmF0aW9uOihXS1dlYlZpZXdDb25maWd1cmF0aW9uKilj
b25maWd1cmF0aW9uOworQGVuZAorCitAaW1wbGVtZW50YXRpb24gU2VydmljZVdvcmtlck9wZW5X
aW5kb3dXZWJzaXRlRGF0YVN0b3JlRGVsZWdhdGUgeyB9CistIChpbnN0YW5jZXR5cGUpaW5pdFdp
dGhDb25maWd1cmF0aW9uOihXS1dlYlZpZXdDb25maWd1cmF0aW9uKiljb25maWd1cmF0aW9uCit7
CisgICAgX2NvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uOworICAgIHJldHVybiBzZWxmOwor
fQorCistICh2b2lkKXdlYnNpdGVEYXRhU3RvcmU6KFdLV2Vic2l0ZURhdGFTdG9yZSAqKWRhdGFT
dG9yZSBvcGVuV2luZG93OihOU1VSTCAqKXVybCBmcm9tU2VydmljZVdvcmtlck9yaWdpbjooV0tT
ZWN1cml0eU9yaWdpbiAqKXNlcnZpY2VXb3JrZXJPcmlnaW4gY29tcGxldGlvbkhhbmRsZXI6KHZv
aWQgKF4pKFdLV2ViVmlldyAqbmV3V2ViVmlldykpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBf
bmF2aWdhdGlvbkRlbGVnYXRlID0gYWRvcHROUyhbW1NlcnZpY2VXb3JrZXJQU09OTmF2aWdhdGlv
bkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgX3dlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBj
b25maWd1cmF0aW9uOl9jb25maWd1cmF0aW9uIGFkZFRvV2luZG93OllFU10pOworICAgIFtfd2Vi
VmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6X25hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKV07CisK
KyAgICBbX3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1
cmxdXTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihfd2ViVmlldy5nZXQoKSk7Cit9CisKK0BlbmQK
KworVEVTVChTZXJ2aWNlV29ya2VyLCBPcGVuV2luZG93V2Vic2l0ZURhdGFTdG9yZURlbGVnYXRl
KQoreworICAgIFtXS1dlYnNpdGVEYXRhU3RvcmUgX2FsbG93V2Vic2l0ZURhdGFSZWNvcmRzRm9y
QWxsT3JpZ2luc107CisKKyAgICAvLyBTdGFydCB3aXRoIGEgY2xlYW4gc2xhdGUgZGF0YSBzdG9y
ZQorICAgIFtbV0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1bHREYXRhU3RvcmVdIHJlbW92ZURhdGFP
ZlR5cGVzOltXS1dlYnNpdGVEYXRhU3RvcmUgYWxsV2Vic2l0ZURhdGFUeXBlc10gbW9kaWZpZWRT
aW5jZTpbTlNEYXRlIGRpc3RhbnRQYXN0XSBjb21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAgICAg
ICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRv
bmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0
TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisKKyAgICBhdXRvIHBy
ZWZlcmVuY2VzID0gW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdOworICAgIGZvciAoX1dLSW50
ZXJuYWxEZWJ1Z0ZlYXR1cmUgKmZlYXR1cmUgaW4gW1dLUHJlZmVyZW5jZXMgX2ludGVybmFsRGVi
dWdGZWF0dXJlc10pIHsKKyAgICAgICAgaWYgKFtmZWF0dXJlLmtleSBpc0VxdWFsVG9TdHJpbmc6
QCJTZXJ2aWNlV29ya2Vyc1VzZXJHZXN0dXJlRW5hYmxlZCJdKQorICAgICAgICAgICAgW3ByZWZl
cmVuY2VzIF9zZXRFbmFibGVkOk5PIGZvckludGVybmFsRGVidWdGZWF0dXJlOmZlYXR1cmVdOwor
ICAgIH0KKworICAgIGF1dG8gZGF0YVN0b3JlRGVsZWdhdGUgPSBhZG9wdE5TKFtbU2VydmljZVdv
cmtlck9wZW5XaW5kb3dXZWJzaXRlRGF0YVN0b3JlRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoQ29u
ZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgW1tjb25maWd1cmF0aW9uIHdl
YnNpdGVEYXRhU3RvcmVdIHNldF9kZWxlZ2F0ZTpkYXRhU3RvcmVEZWxlZ2F0ZS5nZXQoKV07CisK
KyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3Vy
YXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisKKyAgICBUZXN0V2ViS2l0QVBJOjpIVFRQ
U2VydmVyIHNlcnZlcih7CisgICAgICAgIHsgIi8iX3MsIHsgU2VydmljZVdvcmtlcldpbmRvd0Ns
aWVudE5hdmlnYXRlTWFpbiB9IH0sCisgICAgICAgIHsgIi9zdy5qcyJfcywgeyB7eyAiQ29udGVu
dC1UeXBlIl9zLCAiYXBwbGljYXRpb24vamF2YXNjcmlwdCJfcyB9fSwgU2VydmljZVdvcmtlcldp
bmRvd0NsaWVudE5hdmlnYXRlSlMgfSB9CisgICAgfSwgVGVzdFdlYktpdEFQSTo6SFRUUFNlcnZl
cjo6UHJvdG9jb2w6Okh0dHAsIG51bGxwdHIsIG51bGxwdHIsIDgwOTEpOworCisgICAgW3dlYlZp
ZXcgbG9hZFJlcXVlc3Q6c2VydmVyLnJlcXVlc3QoKV07CisgICAgRVhQRUNUX1dLX1NUUkVRKFt3
ZWJWaWV3IF90ZXN0X3dhaXRGb3JBbGVydF0sICJzdWNjZXNzZnVsbHkgcmVnaXN0ZXJlZCIpOwor
CisgICAgc2hvdWxkU2VydmljZVdvcmtlclBTT05OYXZpZ2F0aW9uRGVsZWdhdGVBbGxvd05hdmln
YXRpb24gPSB0cnVlOworICAgIHNob3VsZFNlcnZpY2VXb3JrZXJQU09OTmF2aWdhdGlvbkRlbGVn
YXRlQWxsb3dOYXZpZ2F0aW9uUmVzcG9uc2UgPSB0cnVlOworICAgIFt3ZWJWaWV3IGV2YWx1YXRl
SmF2YVNjcmlwdDpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIm9wZW5XaW5kb3dUb1VSTCgn
JUAnKSIsIFtbc2VydmVyLnJlcXVlc3QoKSBVUkxdIGFic29sdXRlU3RyaW5nXV0gY29tcGxldGlv
bkhhbmRsZXI6IG5pbF07CisgICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3IF90ZXN0X3dhaXRG
b3JBbGVydF0sICJjbGllbnQiKTsKKworICAgIHNob3VsZFNlcnZpY2VXb3JrZXJQU09OTmF2aWdh
dGlvbkRlbGVnYXRlQWxsb3dOYXZpZ2F0aW9uID0gZmFsc2U7CisgICAgc2hvdWxkU2VydmljZVdv
cmtlclBTT05OYXZpZ2F0aW9uRGVsZWdhdGVBbGxvd05hdmlnYXRpb25SZXNwb25zZSA9IHRydWU7
CisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OltOU1N0cmluZyBzdHJpbmdXaXRoRm9y
bWF0OkAib3BlbldpbmRvd1RvVVJMKCclQCcpIiwgW1tzZXJ2ZXIucmVxdWVzdCgpIFVSTF0gYWJz
b2x1dGVTdHJpbmddXSBjb21wbGV0aW9uSGFuZGxlcjogbmlsXTsKKyAgICBFWFBFQ1RfV0tfU1RS
RVEoW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckFsZXJ0XSwgImZhaWxlZCIpOworCisgICAgc2hvdWxk
U2VydmljZVdvcmtlclBTT05OYXZpZ2F0aW9uRGVsZWdhdGVBbGxvd05hdmlnYXRpb24gPSB0cnVl
OworICAgIHNob3VsZFNlcnZpY2VXb3JrZXJQU09OTmF2aWdhdGlvbkRlbGVnYXRlQWxsb3dOYXZp
Z2F0aW9uUmVzcG9uc2UgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6
W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJvcGVuV2luZG93VG9VUkwoJyVAJykiLCBbW3Nl
cnZlci5yZXF1ZXN0KCkgVVJMXSBhYnNvbHV0ZVN0cmluZ11dIGNvbXBsZXRpb25IYW5kbGVyOiBu
aWxdOworICAgIEVYUEVDVF9XS19TVFJFUShbd2ViVmlldyBfdGVzdF93YWl0Rm9yQWxlcnRdLCAi
ZmFpbGVkIik7CisKKyAgICBzaG91bGRTZXJ2aWNlV29ya2VyUFNPTk5hdmlnYXRpb25EZWxlZ2F0
ZUFsbG93TmF2aWdhdGlvbiA9IHRydWU7CisgICAgc2hvdWxkU2VydmljZVdvcmtlclBTT05OYXZp
Z2F0aW9uRGVsZWdhdGVBbGxvd05hdmlnYXRpb25SZXNwb25zZSA9IHRydWU7Cit9CisKK1RFU1Qo
U2VydmljZVdvcmtlciwgT3BlbldpbmRvd0NPT1ApCit7CisgICAgW1dLV2Vic2l0ZURhdGFTdG9y
ZSBfYWxsb3dXZWJzaXRlRGF0YVJlY29yZHNGb3JBbGxPcmlnaW5zXTsKKworICAgIC8vIFN0YXJ0
IHdpdGggYSBjbGVhbiBzbGF0ZSBkYXRhIHN0b3JlCisgICAgW1tXS1dlYnNpdGVEYXRhU3RvcmUg
ZGVmYXVsdERhdGFTdG9yZV0gcmVtb3ZlRGF0YU9mVHlwZXM6W1dLV2Vic2l0ZURhdGFTdG9yZSBh
bGxXZWJzaXRlRGF0YVR5cGVzXSBtb2RpZmllZFNpbmNlOltOU0RhdGUgZGlzdGFudFBhc3RdIGNv
bXBsZXRpb25IYW5kbGVyOl4oKSB7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisg
ICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g
YWxsb2NdIGluaXRdKTsKKworICAgIGF1dG8gcHJlZmVyZW5jZXMgPSBbY29uZmlndXJhdGlvbiBw
cmVmZXJlbmNlc107CisgICAgZm9yIChfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAqZmVhdHVyZSBp
biBbV0tQcmVmZXJlbmNlcyBfaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzXSkgeworICAgICAgICBpZiAo
W2ZlYXR1cmUua2V5IGlzRXF1YWxUb1N0cmluZzpAIlNlcnZpY2VXb3JrZXJzVXNlckdlc3R1cmVF
bmFibGVkIl0pCisgICAgICAgICAgICBbcHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6Tk8gZm9ySW50
ZXJuYWxEZWJ1Z0ZlYXR1cmU6ZmVhdHVyZV07CisgICAgfQorCisgICAgYXV0byBkYXRhU3RvcmVE
ZWxlZ2F0ZSA9IGFkb3B0TlMoW1tTZXJ2aWNlV29ya2VyT3BlbldpbmRvd1dlYnNpdGVEYXRhU3Rv
cmVEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhDb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0
KCldKTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gd2Vic2l0ZURhdGFTdG9yZV0gc2V0X2RlbGVnYXRl
OmRhdGFTdG9yZURlbGVnYXRlLmdldCgpXTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMo
W1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAw
LCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNd
KTsKKworICAgIFRlc3RXZWJLaXRBUEk6OkhUVFBTZXJ2ZXIgc2VydmVyKHsKKyAgICAgICAgeyAi
LyJfcywgeyBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50TmF2aWdhdGVNYWluIH0gfSwKKyAgICAg
ICAgeyAiL3N3LmpzIl9zLCB7IHt7ICJDb250ZW50LVR5cGUiX3MsICJhcHBsaWNhdGlvbi9qYXZh
c2NyaXB0Il9zIH19LCBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50TmF2aWdhdGVKUyB9IH0sCisg
ICAgICAgIHsgIi8/c3dhcCJfcywgeyB7eyAiQ29udGVudC1UeXBlIl9zLCAiYXBwbGljYXRpb24v
aHRtbCJfcyB9LCB7ICJDcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeSJfcywgInNhbWUtb3JpZ2lu
Il9zIH0gfSwgU2VydmljZVdvcmtlcldpbmRvd0NsaWVudE5hdmlnYXRlTWFpbiB9IH0KKyAgICB9
LCBUZXN0V2ViS2l0QVBJOjpIVFRQU2VydmVyOjpQcm90b2NvbDo6SHR0cCwgbnVsbHB0ciwgbnVs
bHB0ciwgODA5MSk7CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpzZXJ2ZXIucmVxdWVzdCgp
XTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckFsZXJ0XSwgInN1
Y2Nlc3NmdWxseSByZWdpc3RlcmVkIik7CisKKyAgICBzaG91bGRTZXJ2aWNlV29ya2VyUFNPTk5h
dmlnYXRpb25EZWxlZ2F0ZUFsbG93TmF2aWdhdGlvbiA9IHRydWU7CisgICAgc2hvdWxkU2Vydmlj
ZVdvcmtlclBTT05OYXZpZ2F0aW9uRGVsZWdhdGVBbGxvd05hdmlnYXRpb25SZXNwb25zZSA9IHRy
dWU7CisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OltOU1N0cmluZyBzdHJpbmdXaXRo
Rm9ybWF0OkAib3BlbldpbmRvd1RvVVJMKCclQD9zd2FwJykiLCBbW3NlcnZlci5yZXF1ZXN0KCkg
VVJMXSBhYnNvbHV0ZVN0cmluZ11dIGNvbXBsZXRpb25IYW5kbGVyOiBuaWxdOworICAgIEVYUEVD
VF9XS19TVFJFUShbd2ViVmlldyBfdGVzdF93YWl0Rm9yQWxlcnRdLCAiY2xpZW50Iik7Cit9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA0NGE3NDIwZDk2OTRhOGU5ZDFlMzQyY2E0
ZTkyNzAyMjcyNjFlMWMxLi45MDcyNzNkOTgxN2E1ZmIwOTM5ZTMxNjlkNzUyNzk3ZjI0ZjViZDk0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMi0w
NC0wNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgSW52ZXN0
aWdhdGUgcmVqZWN0aW5nIENsaWVudHMub3BlbldpbmRvdyBwcm9taXNlIGluIHNvbWUgY2FzZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODY2NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93aW5kb3djbGllbnQt
bmF2aWdhdGUuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIyLTA0LTA2ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgU2VydmljZVdvcmtlcldp
bmRvd0NsaWVudC5uYXZpZ2F0ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2luZG93
Y2xpZW50LW5hdmlnYXRlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dp
bmRvd2NsaWVudC1uYXZpZ2F0ZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNDlmOGU4ZjI0NDM2
MmZjZjY2NWMyNTgyNjQwYWFlMDk4YTg3MWU5Ni4uNWQwNzlmZDgzNmZmZTBjY2MzOWRlYzI1NjE2
YTZlYjM3OTczOGVlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2luZG93Y2xpZW50
LW5hdmlnYXRlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93aW5k
b3djbGllbnQtbmF2aWdhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xOCw3ICsxOCw3IEBAIFBB
U1Mgb3V0IG9mIHNjb3BlIHdvcmtlciBzaWRlCiBQQVNTIGNyb3NzIG9yZ2luIHVybCB3b3JrZXIg
c2lkZQogUEFTUyBpbnZhbGlkIHVybCAoaHR0cDovL1tleGFtcGxlLmNvbV0pIHdvcmtlciBzaWRl
CiBQQVNTIGludmFsaWQgdXJsICh2aWV3LXNvdXJjZTovL2V4YW1wbGUuY29tKSB3b3JrZXIgc2lk
ZQotRkFJTCBpbnZhbGlkIHVybCAoZmlsZTovLy8pIHdvcmtlciBzaWRlIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIChzdHJpbmcpICJUeXBlRXJyb3IiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAorUEFT
UyBpbnZhbGlkIHVybCAoZmlsZTovLy8pIHdvcmtlciBzaWRlCiBQQVNTIGludmFsaWQgdXJsIChh
Ym91dDpibGFuaykgd29ya2VyIHNpZGUKIEZBSUwgbmF2aWdhdGUgb24gYSB0b3AtbGV2ZWwgd2lu
ZG93IGNsaWVudCB3b3JrZXIgc2lkZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAidG9wLWxldmVs
IiBidXQgZ290ICJhdXhpbGlhcnkiCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457034</attachid>
            <date>2022-04-08 02:26:38 -0700</date>
            <delta_ts>2022-04-11 01:00:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238664-20220408112636.patch</filename>
            <type>text/plain</type>
            <size>9387</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVkMjhhYWUwNWQxNjFmZWQ3
MGEzYjM3MDIyOWM4YjljMDFiZWVkNmIuLjYzMjJhNjUyOTM1NGYyYWNiOGUyYTc0ZTc5YmIyMzU2
MGViYjQyNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjItMDQtMDggIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlamVjdCBDbGllbnRzLm9wZW5X
aW5kb3cgYW5kIENsaWVudC5uYXZpZ2F0ZSBwcm9taXNlcyBpbiBzb21lIGZhaWx1cmUgY2FzZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODY2NAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTEzNTA1Nzc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gY2FzZSBkZWxlZ2F0ZSBkb2VzIG5vdCBnaXZl
IHVzIGEgV2ViIFBhZ2UsIHdlIHJlamVjdCBvcGVuV2luZG93LgorICAgICAgICBJbiBjYXNlIGRl
bGVnYXRlcyBibG9jayB0aGUgbG9hZHMsIHdlIHJlamVjdCBvcGVuV2luZG93IGFuZCBuYXZpZ2F0
ZS4KKyAgICAgICAgUmV1c2UgV2ViRnJhbWVQcm94eSBuYXZpZ2F0aW9uIGRlbGVnYXRlIGZvciBv
cGVuV2luZG93IG9uY2UgdGhlIG1haW4gZnJhbWUgaXMgY3JlYXRlZC4KKyAgICAgICAgVGhpcyBl
bnN1cmVzIHdlIGdldCB0aGUgc2FtZSBiZWhhdmlvciBmb3IgYm90aCBjb2RlIHBhdGhzIGFuZCBt
YWtlcyBzdXJlIG9wZW5XaW5kb3cgZG9lcyBub3QgaGFuZyBpZiBkZWxlZ2F0ZSBibG9ja3MgdGhl
IGxvYWQuCisgICAgICAgIElmIGEgZGVsZWdhdGUgY2FuY2VscyB0aGUgbG9hZCwgd2Ugbm93IHJl
dHVybiBubyBwYWdlIGlkZW50aWZpZXIgZm9yIGJvdGggb3BlbldpbmRvdyBhbmQgbmF2aWdhdGUs
IHdoaWNoIHdpbGwgcmVqZWN0IHRoZSByZWxhdGVkIHByb21pc2VzLgorICAgICAgICBGaXggdGhl
IGNhc2Ugb2YgbmF2aWdhdGlvbiByZXF1ZXN0IGJlaW5nIGJsb2NrZWQgYmVmb3JlIFdlYlBhZ2U6
Ok5hdmlnYXRlU2VydmljZVdvcmtlckNsaWVudCBjYWxsYmFjayBpcyBjYWxsZWQuCisgICAgICAg
IElmIHRoZSBVUkwgaXMgbm90IG1hdGNoaW5nLCB3ZSBjb25zaWRlciB0aGF0IHRoZSBuYXZpZ2F0
ZSByZXF1ZXN0IGZhaWxlZC4KKworICAgICAgICBDb3ZlcmVkIGJ5IEFQSSB0ZXN0cyBhbmQgcmVi
YXNlZCBXUFQgdGVzdC4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViRnJhbWVQcm94eS5jcHA6CisKIDIwMjItMDQtMDggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIEluY29ycmVjdCBDT1JQL0NPRVAgY2hlY2sg
aW4gMzA0IHJlc3BvbnNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJUb0NvbnRl
eHRDb25uZWN0aW9uLmNwcAppbmRleCAwMDM4NTRiNjEwZjMzMWQ3ZTg0NDk5YmU5YjFjZDY2NjM2
ZTFmZDM1Li4zZDgyMGU4MTUzZWEzZjdiOGM0ZjBmMWNkNDJiNjE1Yjk3YmY0ZmQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcApAQCAt
MTg1LDggKzE4NSw3IEBAIHZvaWQgV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uOjpvcGVu
V2luZG93KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyCiAKICAgICBhdXRvIGlubmVy
Q2FsbGJhY2sgPSBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgc2VydmVyID0gV2Vha1B0
ciB7ICpzZXJ2ZXIgfSwgb3JpZ2luID0gd29ya2VyLT5vcmlnaW4oKV0oc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpQYWdlSWRlbnRpZmllcj4mJiBwYWdlSWRlbnRpZmllcikgbXV0YWJsZSB7CiAgICAg
ICAgIGlmICghcGFnZUlkZW50aWZpZXIpIHsKLSAgICAgICAgICAgIC8vIEZJWE1FOiB2YWxpZGF0
ZSB3aGV0aGVyIHdlIHNob3VsZCByZWplY3Qgb3IgcmVzb2x2ZSB3aXRoIG51bGwsIGh0dHBzOi8v
Z2l0aHViLmNvbS93M2MvU2VydmljZVdvcmtlci9pc3N1ZXMvMTYzOQotICAgICAgICAgICAgY2Fs
bGJhY2soeyB9KTsKKyAgICAgICAgICAgIGNhbGxiYWNrKG1ha2VVbmV4cGVjdGVkKEV4Y2VwdGlv
bkRhdGEgeyBUeXBlRXJyb3IsICJvcGVuV2luZG93IGZhaWxlZCBvcGVuaW5nIGEgdGFiIl9zIH0p
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkZyYW1lUHJveHkuY3BwCmluZGV4IGFmZjE1ZWNiYzBlMGFhZWZlYmVlY2M0ZmUxODA3
OWViYTE5N2MwN2YuLjVhYzliZmNhYzUyNjExZmQ1Y2ZhNmUwZWNiN2U4YjQ2YmZjZjNjOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCkBAIC0xMDUsNiArMTA1
LDEwIEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6bmF2aWdhdGVTZXJ2aWNlV29ya2VyQ2xpZW50KFdl
YkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJCiAgICAgICAgIH0KIAogICAgICAgICBpZiAo
IW1fYWN0aXZlTGlzdGVuZXIpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLT51cmwoKSAhPSB1cmwp
IHsKKyAgICAgICAgICAgICAgICBjYWxsYmFjayh7IH0pOworICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNhbGxiYWNrKHBhZ2VJZGVudGlmaWVyKCkp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0yNDgsNyArMjUyLDcgQEAgV2Vi
RnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5JiBXZWJGcmFtZVByb3h5OjpzZXRVcFBvbGljeUxpc3Rl
bmVyUHJveHkoQ29tcGxldGlvbkgKICAgICAgICAgbV9hY3RpdmVMaXN0ZW5lci0+aWdub3JlKCk7
CiAgICAgbV9hY3RpdmVMaXN0ZW5lciA9IFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6Y3Jl
YXRlKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgY29tcGxldGlvbkhhbmRs
ZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKFBvbGljeUFjdGlvbiBhY3Rpb24sIEFQ
STo6V2Vic2l0ZVBvbGljaWVzKiBwb2xpY2llcywgUHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVu
dCBwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50LCBSZWZQdHI8U2FmZUJyb3dzaW5nV2Fybmlu
Zz4mJiBzYWZlQnJvd3NpbmdXYXJuaW5nLCBzdGQ6Om9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJv
dW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKSBtdXRhYmxlIHsKICAgICAg
ICAgaWYgKGFjdGlvbiAhPSBQb2xpY3lBY3Rpb246OlVzZSAmJiBtX25hdmlnYXRlQ2FsbGJhY2sp
Ci0gICAgICAgICAgICBtX25hdmlnYXRlQ2FsbGJhY2socGFnZUlkZW50aWZpZXIoKSk7CisgICAg
ICAgICAgICBtX25hdmlnYXRlQ2FsbGJhY2soeyB9KTsKIAogICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcihhY3Rpb24sIHBvbGljaWVzLCBwcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50LCBXVEZN
b3ZlKHNhZmVCcm93c2luZ1dhcm5pbmcpLCBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKTsK
ICAgICAgICAgbV9hY3RpdmVMaXN0ZW5lciA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2Q0MTJjOGEyZWQyMzIyNmE2NDg3ZDIy
MmZhNmE4YThlNGM5ZTJkNy4uZWJlMWY5ZmI3YzRlZTUzYWE5NGYxZTgxMDY2NzIwZDczY2FkOGY0
MCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDIyLTA0LTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBSZWplY3QgQ2xpZW50cy5vcGVuV2luZG93IGFuZCBDbGllbnQubmF2aWdh
dGUgcHJvbWlzZXMgaW4gc29tZSBmYWlsdXJlIGNhc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2NjQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzkxMzUwNTc3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFzaWMu
bW06CisKIDIwMjItMDQtMDcgIEVsbGlvdHQgV2lsbGlhbXMgIDxlbXdAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtYQ0J1aWxkXSBFbmFibGUgZGVwZW5kZW5jeSB2YWxpZGF0aW9uIGJ5IGRlZmF1bHQK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2Vydmlj
ZVdvcmtlckJhc2ljLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9T
ZXJ2aWNlV29ya2VyQmFzaWMubW0KaW5kZXggYzgxNzIxODRhMGExZDc1NmM0ZThhMTdhYjE0YmJh
M2U2NjAyMTcyMC4uZjJhNmMyMWEyODg3ZTMzNzUyYjk4ZDIwMmQ5YjA4MWVlMDBiZDYxMyAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29y
a2VyQmFzaWMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9T
ZXJ2aWNlV29ya2VyQmFzaWMubW0KQEAgLTMwNDQsNyArMzA0NCw3IEBAIFRFU1QoU2VydmljZVdv
cmtlciwgb3BlbldpbmRvd1dpdGhvdXREZWxlZ2F0ZSkKICAgICBFWFBFQ1RfV0tfU1RSRVEoW3dl
YlZpZXcgX3Rlc3Rfd2FpdEZvckFsZXJ0XSwgInN1Y2Nlc3NmdWxseSByZWdpc3RlcmVkIik7CiAK
ICAgICBkb25lID0gZmFsc2U7Ci0gICAgZXhwZWN0ZWRNZXNzYWdlID0gIm9wZW5lZCB3aXRob3V0
IGNsaWVudCJfczsKKyAgICBleHBlY3RlZE1lc3NhZ2UgPSAibm90IG9wZW5lZCJfczsKICAgICBb
d2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJvcGVuV2luZG93Q2xpZW50KCkiIGNvbXBsZXRp
b25IYW5kbGVyOiBuaWxdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiB9
CkBAIC0zMjE3LDEyICszMjE3LDEyIEBAIFRFU1QoU2VydmljZVdvcmtlciwgV2luZG93Q2xpZW50
TmF2aWdhdGUpCiAgICAgc2hvdWxkU2VydmljZVdvcmtlclBTT05OYXZpZ2F0aW9uRGVsZWdhdGVB
bGxvd05hdmlnYXRpb24gPSBmYWxzZTsKICAgICBzaG91bGRTZXJ2aWNlV29ya2VyUFNPTk5hdmln
YXRpb25EZWxlZ2F0ZUFsbG93TmF2aWdhdGlvblJlc3BvbnNlID0gdHJ1ZTsKICAgICBbd2ViVmll
dzEgZXZhbHVhdGVKYXZhU2NyaXB0OltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAibmF2aWdh
dGVPdGhlckNsaWVudFRvVVJMKCclQD9mYWlsMScpIiwgYmFzZVVSTF0gY29tcGxldGlvbkhhbmRs
ZXI6IG5pbF07Ci0gICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3MSBfdGVzdF93YWl0Rm9yQWxl
cnRdLCAibm9uZSIpOworICAgIEVYUEVDVF9XS19TVFJFUShbd2ViVmlldzEgX3Rlc3Rfd2FpdEZv
ckFsZXJ0XSwgImZhaWxlZCIpOwogCiAgICAgc2hvdWxkU2VydmljZVdvcmtlclBTT05OYXZpZ2F0
aW9uRGVsZWdhdGVBbGxvd05hdmlnYXRpb24gPSB0cnVlOwogICAgIHNob3VsZFNlcnZpY2VXb3Jr
ZXJQU09OTmF2aWdhdGlvbkRlbGVnYXRlQWxsb3dOYXZpZ2F0aW9uUmVzcG9uc2UgPSBmYWxzZTsK
ICAgICBbd2ViVmlldzEgZXZhbHVhdGVKYXZhU2NyaXB0OltOU1N0cmluZyBzdHJpbmdXaXRoRm9y
bWF0OkAibmF2aWdhdGVPdGhlckNsaWVudFRvVVJMKCclQD9mYWlsMicpIiwgYmFzZVVSTF0gY29t
cGxldGlvbkhhbmRsZXI6IG5pbF07Ci0gICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3MSBfdGVz
dF93YWl0Rm9yQWxlcnRdLCAibm9uZSIpOworICAgIEVYUEVDVF9XS19TVFJFUShbd2ViVmlldzEg
X3Rlc3Rfd2FpdEZvckFsZXJ0XSwgImZhaWxlZCIpOwogCiAgICAgc2hvdWxkU2VydmljZVdvcmtl
clBTT05OYXZpZ2F0aW9uRGVsZWdhdGVBbGxvd05hdmlnYXRpb24gPSB0cnVlOwogICAgIHNob3Vs
ZFNlcnZpY2VXb3JrZXJQU09OTmF2aWdhdGlvbkRlbGVnYXRlQWxsb3dOYXZpZ2F0aW9uUmVzcG9u
c2UgPSB0cnVlOwpAQCAtMzMzMiwxMiArMzMzMiwxMiBAQCBURVNUKFNlcnZpY2VXb3JrZXIsIE9w
ZW5XaW5kb3dXZWJzaXRlRGF0YVN0b3JlRGVsZWdhdGUpCiAgICAgc2hvdWxkU2VydmljZVdvcmtl
clBTT05OYXZpZ2F0aW9uRGVsZWdhdGVBbGxvd05hdmlnYXRpb24gPSBmYWxzZTsKICAgICBzaG91
bGRTZXJ2aWNlV29ya2VyUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZUFsbG93TmF2aWdhdGlvblJlc3Bv
bnNlID0gdHJ1ZTsKICAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6W05TU3RyaW5nIHN0
cmluZ1dpdGhGb3JtYXQ6QCJvcGVuV2luZG93VG9VUkwoJyVAJykiLCBbW3NlcnZlci5yZXF1ZXN0
KCkgVVJMXSBhYnNvbHV0ZVN0cmluZ11dIGNvbXBsZXRpb25IYW5kbGVyOiBuaWxdOwotICAgIEVY
UEVDVF9XS19TVFJFUShbd2ViVmlldyBfdGVzdF93YWl0Rm9yQWxlcnRdLCAibm9uZSIpOworICAg
IEVYUEVDVF9XS19TVFJFUShbd2ViVmlldyBfdGVzdF93YWl0Rm9yQWxlcnRdLCAiZmFpbGVkIik7
CiAKICAgICBzaG91bGRTZXJ2aWNlV29ya2VyUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZUFsbG93TmF2
aWdhdGlvbiA9IHRydWU7CiAgICAgc2hvdWxkU2VydmljZVdvcmtlclBTT05OYXZpZ2F0aW9uRGVs
ZWdhdGVBbGxvd05hdmlnYXRpb25SZXNwb25zZSA9IGZhbHNlOwogICAgIFt3ZWJWaWV3IGV2YWx1
YXRlSmF2YVNjcmlwdDpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIm9wZW5XaW5kb3dUb1VS
TCgnJUAnKSIsIFtbc2VydmVyLnJlcXVlc3QoKSBVUkxdIGFic29sdXRlU3RyaW5nXV0gY29tcGxl
dGlvbkhhbmRsZXI6IG5pbF07Ci0gICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3IF90ZXN0X3dh
aXRGb3JBbGVydF0sICJub25lIik7CisgICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3IF90ZXN0
X3dhaXRGb3JBbGVydF0sICJmYWlsZWQiKTsKIAogICAgIHNob3VsZFNlcnZpY2VXb3JrZXJQU09O
TmF2aWdhdGlvbkRlbGVnYXRlQWxsb3dOYXZpZ2F0aW9uID0gdHJ1ZTsKICAgICBzaG91bGRTZXJ2
aWNlV29ya2VyUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZUFsbG93TmF2aWdhdGlvblJlc3BvbnNlID0g
dHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGNlMjE2N2MyYzFlYjMzN2Rh
YjVjYTkzYzQ5NmMxZjRmNWI5YjU5MDMuLjBjNmYyOWY5NzI1MDJkMjFkYmFlMzAwYWQzMTBmMGI1
NzdlOTJmN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDIyLTA0LTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBJbnZlc3RpZ2F0ZSByZWplY3RpbmcgQ2xpZW50cy5vcGVuV2luZG93IHByb21pc2UgaW4gc29t
ZSBjYXNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM4NjY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dpbmRv
d2NsaWVudC1uYXZpZ2F0ZS5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMjItMDQtMDggIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIEluY29ycmVj
dCBDT1JQL0NPRVAgY2hlY2sgaW4gMzA0IHJlc3BvbnNlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvd2luZG93Y2xpZW50LW5hdmlnYXRlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3dpbmRvd2NsaWVudC1uYXZpZ2F0ZS5odHRwcy1leHBlY3RlZC50eHQKaW5k
ZXggNDlmOGU4ZjI0NDM2MmZjZjY2NWMyNTgyNjQwYWFlMDk4YTg3MWU5Ni4uNWQwNzlmZDgzNmZm
ZTBjY2MzOWRlYzI1NjE2YTZlYjM3OTczOGVlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvd2luZG93Y2xpZW50LW5hdmlnYXRlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci93aW5kb3djbGllbnQtbmF2aWdhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0x
OCw3ICsxOCw3IEBAIFBBU1Mgb3V0IG9mIHNjb3BlIHdvcmtlciBzaWRlCiBQQVNTIGNyb3NzIG9y
Z2luIHVybCB3b3JrZXIgc2lkZQogUEFTUyBpbnZhbGlkIHVybCAoaHR0cDovL1tleGFtcGxlLmNv
bV0pIHdvcmtlciBzaWRlCiBQQVNTIGludmFsaWQgdXJsICh2aWV3LXNvdXJjZTovL2V4YW1wbGUu
Y29tKSB3b3JrZXIgc2lkZQotRkFJTCBpbnZhbGlkIHVybCAoZmlsZTovLy8pIHdvcmtlciBzaWRl
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJUeXBlRXJyb3IiIGJ1dCBnb3QgKG9i
amVjdCkgbnVsbAorUEFTUyBpbnZhbGlkIHVybCAoZmlsZTovLy8pIHdvcmtlciBzaWRlCiBQQVNT
IGludmFsaWQgdXJsIChhYm91dDpibGFuaykgd29ya2VyIHNpZGUKIEZBSUwgbmF2aWdhdGUgb24g
YSB0b3AtbGV2ZWwgd2luZG93IGNsaWVudCB3b3JrZXIgc2lkZSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAidG9wLWxldmVsIiBidXQgZ290ICJhdXhpbGlhcnkiCiAK
</data>
<flag name="review"
          id="485791"
          type_id="1"
          status="?"
          setter="youennf"
    />
          </attachment>
      

    </bug>

</bugzilla>