<?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>182193</bug_id>
          
          <creation_ts>2018-01-26 16:06:18 -0800</creation_ts>
          <short_desc>Cache API should make sure to resolve caches.open promises in the same order as called</short_desc>
          <delta_ts>2018-01-29 17:41:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>182134</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1393703</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-26 16:06:18 -0800</bug_when>
    <thetext>Cache API should make sure to resolve caches.open promises in the same order as called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393720</commentid>
    <comment_count>1</comment_count>
      <attachid>332429</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-26 16:44:43 -0800</bug_when>
    <thetext>Created attachment 332429
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393740</commentid>
    <comment_count>2</comment_count>
      <attachid>332436</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-26 17:14:44 -0800</bug_when>
    <thetext>Created attachment 332436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393742</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-26 17:15:08 -0800</bug_when>
    <thetext>&lt;rdar://problem/36930363&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393849</commentid>
    <comment_count>4</comment_count>
      <attachid>332470</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-27 07:34:55 -0800</bug_when>
    <thetext>Created attachment 332470
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394117</commentid>
    <comment_count>5</comment_count>
      <attachid>332470</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-01-29 09:42:37 -0800</bug_when>
    <thetext>Comment on attachment 332470
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=332470&amp;action=review

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp:554
&gt; +        m_pendingWritingCachesToDiskCallbacks.append([this, weakThis = m_weakFactory.createWeakPtr(*this), updateCounter, callback = WTFMove(callback)] () mutable {

Why do we need this weakThis? m_pendingWritingCachesToDiskCallbacks is a data member of |this| and therefore would be cleared when |this| is destroyed. Same comment for the other lambdas.

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.h:94
&gt; +    WeakPtr&lt;Caches&gt; createWeakPtr() { return m_weakFactory.createWeakPtr(*this); }

If we need to use a weakPtr somewhere for some reason, I think you should rely on this getter more instead of using m_weakFactory.createWeakPtr(*this) in your lambda captures.

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.h:110
&gt; +    Deque&lt;CompletionHandler&lt;void()&gt;&gt; m_pendingWritingCachesToDiskCallbacks;

Assuming the Caches object can be deleted, how can this be CompletionHandlers? When the Caches object gets destroyed, what makes sure the completion handlers have been called?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394249</commentid>
    <comment_count>6</comment_count>
      <attachid>332577</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-29 13:58:25 -0800</bug_when>
    <thetext>Created attachment 332577
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394255</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-01-29 14:04:48 -0800</bug_when>
    <thetext>GTK build is red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394263</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-29 14:28:29 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #7)
&gt; GTK build is red.

It seems GTK would like this-&gt;clear() instead of clear()...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394264</commentid>
    <comment_count>9</comment_count>
      <attachid>332580</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-29 14:28:55 -0800</bug_when>
    <thetext>Created attachment 332580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394298</commentid>
    <comment_count>10</comment_count>
      <attachid>332580</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-01-29 15:35:20 -0800</bug_when>
    <thetext>Comment on attachment 332580
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=332580&amp;action=review

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp:211
&gt; +            ASSERT(!error);

Why this assertion? If I have 2 clear requests in m_pendingWritingCachesToDiskCallbacks, then presumably, the second one will be resolved with an error once the first request is processed, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394304</commentid>
    <comment_count>11</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-29 15:41:23 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #10)
&gt; Comment on attachment 332580 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=332580&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp:211
&gt; &gt; +            ASSERT(!error);
&gt; 
&gt; Why this assertion? If I have 2 clear requests in
&gt; m_pendingWritingCachesToDiskCallbacks, then presumably, the second one will
&gt; be resolved with an error once the first request is processed, right?

In fact, even if a previous write disk operation failed or if there is a clear request, we should anyway try clearing things, especially since we have no ways currently to expose a potential failure in clearing stuff.
I&apos;ll remove the ASSERT and the if statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394316</commentid>
    <comment_count>12</comment_count>
      <attachid>332594</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-29 15:58:05 -0800</bug_when>
    <thetext>Created attachment 332594
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394348</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-29 17:21:40 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 332594:

imported/w3c/web-platform-tests/fetch/api/redirect/redirect-to-dataurl-worker.html bug 182270 (author: youennf@gmail.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394351</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-29 17:21:49 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 332594:

js/dom/JSON-stringify.html bug 144784 (author: fpizlo@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394361</commentid>
    <comment_count>15</comment_count>
      <attachid>332594</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-29 17:41:27 -0800</bug_when>
    <thetext>Comment on attachment 332594
Patch for landing

Clearing flags on attachment: 332594

Committed r227768: &lt;https://trac.webkit.org/changeset/227768&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394362</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-29 17:41:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332429</attachid>
            <date>2018-01-26 16:44:43 -0800</date>
            <delta_ts>2018-01-26 17:14:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182193-20180126164442.patch</filename>
            <type>text/plain</type>
            <size>8463</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3NjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiZWI1ZmE0M2U3NDNmMGVl
OTBlNTk1YzY3NWRiNzA5MzU0MmZkZjcuLmJhNGYyZjExMjdlNTUwYzM2MTJkOGU5OGQ5MjBhMzVl
YWI2MzRlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTgtMDEtMjYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENhY2hlIEFQSSBzaG91bGQgbWFr
ZSBzdXJlIHRvIHJlc29sdmUgY2FjaGVzLm9wZW4gcHJvbWlzZXMgaW4gdGhlIHNhbWUgb3JkZXIg
YXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODIxOTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDb3ZlcmVkIGJ5IGFkZGVkIHRlc3QuCisgICAgICAgIFdoZW5ldmVyIG9wZW5pbmcvcmVtb3Zp
bmcgYSBjYWNoZSByZXF1aXJlcyB3cml0aW5nIHRvIGRpc2ssIHdhaXQgdG8gZmluaXNoIHRoZSB0
YXNrCisgICAgICAgIHVudGlsIGFueSBkaXNrIHdyaXRpbmcgdGFzayBpcyBkb25lLgorICAgICAg
ICBBcHBseWluZyB0aGlzIHN0cmF0ZWd5IHdoZW4gY2xlYXJpbmcgZGF0YSBzbyB0aGF0IHdlIGFs
c28gY2xlYXIgZGF0YSB0aGF0IGlzIHBlbmRpbmcgdG8gYmUgd3JpdHRlbi4KKworICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpjbGVhcik6CisgICAgICAgIChXZWJL
aXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpvcGVuKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVT
dG9yYWdlOjpDYWNoZXM6OnJlbW92ZSk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6
Q2FjaGVzOjp3cml0ZUNhY2hlc1RvRGlzayk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmg6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3Rv
cmFnZTo6Q2FjaGVzOjpjcmVhdGVXZWFrUHRyKToKKwogMjAxOC0wMS0yNSAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU2VydmljZVdvcmtlckNsaWVudEZldGNo
IHNob3VsZCBub3QgY29uc2lkZXIgcmVzcG9uc2VzIHdpdGhvdXQgTG9jYXRpb24gaGVhZGVycyBh
cyByZWRpcmVjdGlvbiByZXNwb25zZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAppbmRl
eCA0ODAxNjk0OWM1YWU5NDc3MmRlOWEyZGIxMDZlMzUwOWE2ZDllZTZkLi41MTExYTdjZDVjMmM4
NGFhNTUxNWJmMWU0ZDgyMGI5ZDdlYTY2Y2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMu
Y3BwCkBAIC0yMDAsNiArMjAwLDE1IEBAIHZvaWQgQ2FjaGVzOjpkZXRhY2goKQogCiB2b2lkIENh
Y2hlczo6Y2xlYXIoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogeworICAgIGlmIChtX2lzV3JpdGluZ0NhY2hlc1RvRGlzaykgeworICAgICAgICBtX3BlbmRp
bmdXcml0aW5nQ2FjaGVzVG9EaXNrQ2FsbGJhY2tzLmFwcGVuZChbdGhpcywgd2Vha1RoaXMgPSBt
X3dlYWtGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICgh
d2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgY2xlYXIoV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKwogICAgIGlmIChtX2VuZ2luZSkKICAgICAgICAgbV9lbmdpbmUtPnJlbW92ZUZpbGUo
Y2FjaGVzTGlzdEZpbGVuYW1lKG1fcm9vdFBhdGgpKTsKICAgICBpZiAobV9zdG9yYWdlKSB7CkBA
IC0yMTEsNiArMjIwLDcgQEAgdm9pZCBDYWNoZXM6OmNsZWFyKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBj
bGVhck1lbW9yeVJlcHJlc2VudGF0aW9uKCk7CisgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1Rv
RGlza0NhbGxiYWNrcy5jbGVhcigpOwogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKQEAg
LTIzNSw2ICsyNDUsMTUgQEAgdm9pZCBDYWNoZXM6Om9wZW4oY29uc3QgU3RyaW5nJiBuYW1lLCBD
YWNoZUlkZW50aWZpZXJDYWxsYmFjayYmIGNhbGxiYWNrKQogICAgIEFTU0VSVChtX2lzSW5pdGlh
bGl6ZWQpOwogICAgIEFTU0VSVChtX2VuZ2luZSk7CiAKKyAgICBpZiAobV9pc1dyaXRpbmdDYWNo
ZXNUb0Rpc2spIHsKKyAgICAgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0NhbGxiYWNr
cy5hcHBlbmQoW3RoaXMsIHdlYWtUaGlzID0gbV93ZWFrRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0
aGlzKSwgbmFtZSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKCkgbXV0YWJsZSB7Cisg
ICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIG9wZW4obmFtZSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICB9KTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChhdXRvKiBjYWNoZSA9IGZpbmQobmFtZSkpIHsK
ICAgICAgICAgY2FjaGUtPm9wZW4oW2NhY2hlSWRlbnRpZmllciA9IGNhY2hlLT5pZGVudGlmaWVy
KCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYg
ZXJyb3IpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKGVycm9yKSB7CkBAIC0yNjEsNiArMjgw
LDE1IEBAIHZvaWQgQ2FjaGVzOjpyZW1vdmUodWludDY0X3QgaWRlbnRpZmllciwgQ2FjaGVJZGVu
dGlmaWVyQ2FsbGJhY2smJiBjYWxsYmFjaykKICAgICBBU1NFUlQobV9pc0luaXRpYWxpemVkKTsK
ICAgICBBU1NFUlQobV9lbmdpbmUpOwogCisgICAgaWYgKG1faXNXcml0aW5nQ2FjaGVzVG9EaXNr
KSB7CisgICAgICAgIG1fcGVuZGluZ1dyaXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MuYXBwZW5k
KFt0aGlzLCB3ZWFrVGhpcyA9IG1fd2Vha0ZhY3RvcnkuY3JlYXRlV2Vha1B0cigqdGhpcyksIGlk
ZW50aWZpZXIsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldICgpIG11dGFibGUgeworICAg
ICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICByZW1vdmUoaWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICB9KTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGF1dG8gcG9zaXRpb24gPSBtX2NhY2hlcy5m
aW5kTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0ZW0uaWRlbnRpZmll
cigpID09IGlkZW50aWZpZXI7IH0pOwogCiAgICAgaWYgKHBvc2l0aW9uID09IG5vdEZvdW5kKSB7
CkBAIC0zNzEsNiArMzk5LDcgQEAgdm9pZCBDYWNoZXM6OnJlYWRDYWNoZXNGcm9tRGlzayhXVEY6
OkZ1bmN0aW9uPHZvaWQoRXhwZWN0ZWQ8VmVjdG9yPENhY2hlPiwgRXJyb3IKIAogdm9pZCBDYWNo
ZXM6OndyaXRlQ2FjaGVzVG9EaXNrKENvbXBsZXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQogewor
ICAgIEFTU0VSVCghbV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2spOwogICAgIEFTU0VSVChtX2lzSW5p
dGlhbGl6ZWQpOwogICAgIGlmICghc2hvdWxkUGVyc2lzdCgpKSB7CiAgICAgICAgIGNhbGxiYWNr
KHN0ZDo6bnVsbG9wdCk7CkBAIC0zODUsOCArNDE0LDE1IEBAIHZvaWQgQ2FjaGVzOjp3cml0ZUNh
Y2hlc1RvRGlzayhDb21wbGV0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIG1fZW5naW5lLT53cml0ZUZpbGUoY2FjaGVzTGlzdEZpbGVuYW1lKG1f
cm9vdFBhdGgpLCBlbmNvZGVDYWNoZU5hbWVzKG1fY2FjaGVzKSwgW2NhbGxiYWNrID0gV1RGTW92
ZShjYWxsYmFjayldKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYgZXJyb3IpIG11dGFibGUgeworICAg
IG1faXNXcml0aW5nQ2FjaGVzVG9EaXNrID0gdHJ1ZTsKKyAgICBtX2VuZ2luZS0+d3JpdGVGaWxl
KGNhY2hlc0xpc3RGaWxlbmFtZShtX3Jvb3RQYXRoKSwgZW5jb2RlQ2FjaGVOYW1lcyhtX2NhY2hl
cyksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RG
TW92ZShjYWxsYmFjayldKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYgZXJyb3IpIG11dGFibGUgewor
ICAgICAgICBtX2lzV3JpdGluZ0NhY2hlc1RvRGlzayA9IGZhbHNlOwogICAgICAgICBjYWxsYmFj
ayhXVEZNb3ZlKGVycm9yKSk7CisgICAgICAgIHdoaWxlICghbV9wZW5kaW5nV3JpdGluZ0NhY2hl
c1RvRGlza0NhbGxiYWNrcy5pc0VtcHR5KCkgJiYgIW1faXNXcml0aW5nQ2FjaGVzVG9EaXNrKSB7
CisgICAgICAgICAgICBhdXRvIGNhbGxiYWNrID0gV1RGTW92ZShtX3BlbmRpbmdXcml0aW5nQ2Fj
aGVzVG9EaXNrQ2FsbGJhY2tzLmZpcnN0KCkpOworICAgICAgICAgICAgbV9wZW5kaW5nV3JpdGlu
Z0NhY2hlc1RvRGlza0NhbGxiYWNrcy5yZW1vdmUoMCk7CisgICAgICAgICAgICBjYWxsYmFjaygp
OworICAgICAgICB9CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oCmluZGV4
IGFhODIzZjIxNmIwMjQwMTUwYjliNjQ1NTJhMmZlNjcwN2ExNjRiN2YuLjYzYzk0NDkzZmJhNzFm
Yjg3YzM0NDE1ODMwOWQ2YmRkM2U5MGZjZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmgKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaApA
QCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZVN0b3JhZ2UuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL0NsaWVudE9yaWdpbi5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFu
ZGxlci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CkBAIC04OSw2ICs5MCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIG1ha2VEaXJ0eSgpIHsgKytt
X3VwZGF0ZUNvdW50ZXI7IH0KICAgICBib29sIGlzRGlydHkodWludDY0X3QgdXBkYXRlQ291bnRl
cikgY29uc3Q7CisgICAgV2Vha1B0cjxDYWNoZXM+IGNyZWF0ZVdlYWtQdHIoKSB7IHJldHVybiBt
X3dlYWtGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpOyB9CiAKICAgICBib29sIG1faXNJbml0
aWFsaXplZCB7IGZhbHNlIH07CiAgICAgRW5naW5lKiBtX2VuZ2luZSB7IG51bGxwdHIgfTsKQEAg
LTEwMyw2ICsxMDUsOSBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8TmV0d29ya0NhY2hlOjpLZXks
IFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmQ+IG1fdm9sYXRpbGVTdG9yYWdlOwogICAg
IG11dGFibGUgc3RkOjpvcHRpb25hbDxOZXR3b3JrQ2FjaGU6OlNhbHQ+IG1fdm9sYXRpbGVTYWx0
OwogICAgIFZlY3RvcjxXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNr
PiBtX3BlbmRpbmdJbml0aWFsaXphdGlvbkNhbGxiYWNrczsKKyAgICBib29sIG1faXNXcml0aW5n
Q2FjaGVzVG9EaXNrIHsgZmFsc2UgfTsKKyAgICBWZWN0b3I8Q29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPj4gbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0NhbGxiYWNrczsKKyAgICBXZWFrUHRy
RmFjdG9yeTxDYWNoZXM+IG1fd2Vha0ZhY3Rvcnk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBDYWNo
ZVN0b3JhZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA4ZmUxNjQ2NGE3MTYxNDJkM2ZkZWNmMThjNDZhYjg1OTEzZGE1OTM4
Li5hYzJmMTI3MjU2OTMwODQ3MzIzNGMxMTViZjkzZDQzOGVhZjVjZDE5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTgtMDEtMjYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CisgICAgICAgIENhY2hlIEFQSSBzaG91bGQgbWFrZSBzdXJlIHRvIHJlc29sdmUgY2FjaGVzLm9w
ZW4gcHJvbWlzZXMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODIxOTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2Uv
Y2FjaGUtb3Blbi5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0
L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi5odHRwcy5odG1sOiBBZGRlZC4KKwogMjAxOC0wMS0y
NSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU2VydmljZVdv
cmtlckNsaWVudEZldGNoIHNob3VsZCBub3QgY29uc2lkZXIgcmVzcG9uc2VzIHdpdGhvdXQgTG9j
YXRpb24gaGVhZGVycyBhcyByZWRpcmVjdGlvbiByZXNwb25zZXMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLW9wZW4uaHR0cHMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0NTYyM2M3ZjlmN2I1YWRlYTFlMTk4OTg5ZGRiODk2
ODczZTIxMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1z
dG9yYWdlL2NhY2hlLW9wZW4uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQ
QVNTIFRlc3Rpbmcgb3JkZXJpbmcgb2Ygb3BlbmluZyBjYWNoZSBwcm9taXNlcyByZXNvbHV0aW9u
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hl
LW9wZW4uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2Fj
aGUtb3Blbi5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkYWY3NjQyMDMwMjAzMTY2MDRjNWU2NWJk
MDg5ZTVmNTM5NjNlYTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9j
YWNoZS1zdG9yYWdlL2NhY2hlLW9wZW4uaHR0cHMuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Q2FjaGUgU3RvcmFnZTogdGVzdGlu
ZyBvcGVuIGFuZCBwdXQgaW4gcGFyYWxsZWw8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
cHJvbWlzZV90ZXN0KGFzeW5jIHRlc3QgPT4geworICAgIHZhciByZXN1bHQgPSAiIjsKKyAgICBh
d2FpdCBjYWNoZXMuZGVsZXRlKCJ0ZXN0Iik7CisgICAgdmFyIGkgPSAwOworICAgIGZvciAodmFy
IGogPSAwIDsgaiA8PSA5OyArK2opIHsKKyAgICAgICAgY2FjaGVzLm9wZW4oInRlc3QiKS50aGVu
KCgpPT4geworICAgICAgICAgICAgcmVzdWx0ICs9IGkrKzsKKyAgICAgICAgfSk7CisgICAgfQor
ICAgIGF3YWl0IGNhY2hlcy5vcGVuKCJ0ZXN0Iik7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQs
ICIwMTIzNDU2Nzg5Iik7CisgICAgYXdhaXQgY2FjaGVzLmRlbGV0ZSgidGVzdCIpOworfSwgIlRl
c3Rpbmcgb3JkZXJpbmcgb2Ygb3BlbmluZyBjYWNoZSBwcm9taXNlcyByZXNvbHV0aW9uIik7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332436</attachid>
            <date>2018-01-26 17:14:44 -0800</date>
            <delta_ts>2018-01-27 07:34:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182193-20180126171443.patch</filename>
            <type>text/plain</type>
            <size>8380</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3NjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiZWI1ZmE0M2U3NDNmMGVl
OTBlNTk1YzY3NWRiNzA5MzU0MmZkZjcuLmJhNGYyZjExMjdlNTUwYzM2MTJkOGU5OGQ5MjBhMzVl
YWI2MzRlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTgtMDEtMjYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENhY2hlIEFQSSBzaG91bGQgbWFr
ZSBzdXJlIHRvIHJlc29sdmUgY2FjaGVzLm9wZW4gcHJvbWlzZXMgaW4gdGhlIHNhbWUgb3JkZXIg
YXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODIxOTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDb3ZlcmVkIGJ5IGFkZGVkIHRlc3QuCisgICAgICAgIFdoZW5ldmVyIG9wZW5pbmcvcmVtb3Zp
bmcgYSBjYWNoZSByZXF1aXJlcyB3cml0aW5nIHRvIGRpc2ssIHdhaXQgdG8gZmluaXNoIHRoZSB0
YXNrCisgICAgICAgIHVudGlsIGFueSBkaXNrIHdyaXRpbmcgdGFzayBpcyBkb25lLgorICAgICAg
ICBBcHBseWluZyB0aGlzIHN0cmF0ZWd5IHdoZW4gY2xlYXJpbmcgZGF0YSBzbyB0aGF0IHdlIGFs
c28gY2xlYXIgZGF0YSB0aGF0IGlzIHBlbmRpbmcgdG8gYmUgd3JpdHRlbi4KKworICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpjbGVhcik6CisgICAgICAgIChXZWJL
aXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpvcGVuKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVT
dG9yYWdlOjpDYWNoZXM6OnJlbW92ZSk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6
Q2FjaGVzOjp3cml0ZUNhY2hlc1RvRGlzayk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmg6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3Rv
cmFnZTo6Q2FjaGVzOjpjcmVhdGVXZWFrUHRyKToKKwogMjAxOC0wMS0yNSAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU2VydmljZVdvcmtlckNsaWVudEZldGNo
IHNob3VsZCBub3QgY29uc2lkZXIgcmVzcG9uc2VzIHdpdGhvdXQgTG9jYXRpb24gaGVhZGVycyBh
cyByZWRpcmVjdGlvbiByZXNwb25zZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAppbmRl
eCA0ODAxNjk0OWM1YWU5NDc3MmRlOWEyZGIxMDZlMzUwOWE2ZDllZTZkLi43MmVkMjdkOTBmNjk0
ZTc4ODIyM2UwMmNhODAwODkzOTMyZDFlZjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMu
Y3BwCkBAIC0yMDAsNiArMjAwLDE1IEBAIHZvaWQgQ2FjaGVzOjpkZXRhY2goKQogCiB2b2lkIENh
Y2hlczo6Y2xlYXIoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogeworICAgIGlmIChtX2lzV3JpdGluZ0NhY2hlc1RvRGlzaykgeworICAgICAgICBtX3BlbmRp
bmdXcml0aW5nQ2FjaGVzVG9EaXNrQ2FsbGJhY2tzLmFwcGVuZChbdGhpcywgd2Vha1RoaXMgPSBt
X3dlYWtGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICgh
d2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgY2xlYXIoV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKwogICAgIGlmIChtX2VuZ2luZSkKICAgICAgICAgbV9lbmdpbmUtPnJlbW92ZUZpbGUo
Y2FjaGVzTGlzdEZpbGVuYW1lKG1fcm9vdFBhdGgpKTsKICAgICBpZiAobV9zdG9yYWdlKSB7CkBA
IC0yMTEsNiArMjIwLDcgQEAgdm9pZCBDYWNoZXM6OmNsZWFyKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBj
bGVhck1lbW9yeVJlcHJlc2VudGF0aW9uKCk7CisgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1Rv
RGlza0NhbGxiYWNrcy5jbGVhcigpOwogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKQEAg
LTIzNSw2ICsyNDUsMTUgQEAgdm9pZCBDYWNoZXM6Om9wZW4oY29uc3QgU3RyaW5nJiBuYW1lLCBD
YWNoZUlkZW50aWZpZXJDYWxsYmFjayYmIGNhbGxiYWNrKQogICAgIEFTU0VSVChtX2lzSW5pdGlh
bGl6ZWQpOwogICAgIEFTU0VSVChtX2VuZ2luZSk7CiAKKyAgICBpZiAobV9pc1dyaXRpbmdDYWNo
ZXNUb0Rpc2spIHsKKyAgICAgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0NhbGxiYWNr
cy5hcHBlbmQoW3RoaXMsIHdlYWtUaGlzID0gbV93ZWFrRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0
aGlzKSwgbmFtZSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKCkgbXV0YWJsZSB7Cisg
ICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIG9wZW4obmFtZSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICB9KTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChhdXRvKiBjYWNoZSA9IGZpbmQobmFtZSkpIHsK
ICAgICAgICAgY2FjaGUtPm9wZW4oW2NhY2hlSWRlbnRpZmllciA9IGNhY2hlLT5pZGVudGlmaWVy
KCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYg
ZXJyb3IpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKGVycm9yKSB7CkBAIC0yNjEsNiArMjgw
LDE1IEBAIHZvaWQgQ2FjaGVzOjpyZW1vdmUodWludDY0X3QgaWRlbnRpZmllciwgQ2FjaGVJZGVu
dGlmaWVyQ2FsbGJhY2smJiBjYWxsYmFjaykKICAgICBBU1NFUlQobV9pc0luaXRpYWxpemVkKTsK
ICAgICBBU1NFUlQobV9lbmdpbmUpOwogCisgICAgaWYgKG1faXNXcml0aW5nQ2FjaGVzVG9EaXNr
KSB7CisgICAgICAgIG1fcGVuZGluZ1dyaXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MuYXBwZW5k
KFt0aGlzLCB3ZWFrVGhpcyA9IG1fd2Vha0ZhY3RvcnkuY3JlYXRlV2Vha1B0cigqdGhpcyksIGlk
ZW50aWZpZXIsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldICgpIG11dGFibGUgeworICAg
ICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICByZW1vdmUoaWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICB9KTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGF1dG8gcG9zaXRpb24gPSBtX2NhY2hlcy5m
aW5kTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0ZW0uaWRlbnRpZmll
cigpID09IGlkZW50aWZpZXI7IH0pOwogCiAgICAgaWYgKHBvc2l0aW9uID09IG5vdEZvdW5kKSB7
CkBAIC0zNzEsNiArMzk5LDcgQEAgdm9pZCBDYWNoZXM6OnJlYWRDYWNoZXNGcm9tRGlzayhXVEY6
OkZ1bmN0aW9uPHZvaWQoRXhwZWN0ZWQ8VmVjdG9yPENhY2hlPiwgRXJyb3IKIAogdm9pZCBDYWNo
ZXM6OndyaXRlQ2FjaGVzVG9EaXNrKENvbXBsZXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQogewor
ICAgIEFTU0VSVCghbV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2spOwogICAgIEFTU0VSVChtX2lzSW5p
dGlhbGl6ZWQpOwogICAgIGlmICghc2hvdWxkUGVyc2lzdCgpKSB7CiAgICAgICAgIGNhbGxiYWNr
KHN0ZDo6bnVsbG9wdCk7CkBAIC0zODUsOCArNDE0LDEyIEBAIHZvaWQgQ2FjaGVzOjp3cml0ZUNh
Y2hlc1RvRGlzayhDb21wbGV0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIG1fZW5naW5lLT53cml0ZUZpbGUoY2FjaGVzTGlzdEZpbGVuYW1lKG1f
cm9vdFBhdGgpLCBlbmNvZGVDYWNoZU5hbWVzKG1fY2FjaGVzKSwgW2NhbGxiYWNrID0gV1RGTW92
ZShjYWxsYmFjayldKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYgZXJyb3IpIG11dGFibGUgeworICAg
IG1faXNXcml0aW5nQ2FjaGVzVG9EaXNrID0gdHJ1ZTsKKyAgICBtX2VuZ2luZS0+d3JpdGVGaWxl
KGNhY2hlc0xpc3RGaWxlbmFtZShtX3Jvb3RQYXRoKSwgZW5jb2RlQ2FjaGVOYW1lcyhtX2NhY2hl
cyksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RG
TW92ZShjYWxsYmFjayldKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYgZXJyb3IpIG11dGFibGUgewor
ICAgICAgICBtX2lzV3JpdGluZ0NhY2hlc1RvRGlzayA9IGZhbHNlOwogICAgICAgICBjYWxsYmFj
ayhXVEZNb3ZlKGVycm9yKSk7CisgICAgICAgIHdoaWxlICghbV9wZW5kaW5nV3JpdGluZ0NhY2hl
c1RvRGlza0NhbGxiYWNrcy5pc0VtcHR5KCkgJiYgIW1faXNXcml0aW5nQ2FjaGVzVG9EaXNrKQor
ICAgICAgICAgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0NhbGxiYWNrcy50YWtlRmly
c3QoKSgpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaAppbmRleCBhYTgy
M2YyMTZiMDI0MDE1MGI5YjY0NTUyYTJmZTY3MDdhMTY0YjdmLi41ZmQzYWY5MTY1ODFjM2VlNjlm
MzNjYTljMDY0Y2ZlNzZmMDBlNmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmgKQEAgLTI5
LDYgKzI5LDggQEAKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9DbGllbnRPcmlnaW4uaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIu
aD4KKyNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtODksNiArOTEsNyBAQCBwcml2YXRlOgogCiAgICAgdm9p
ZCBtYWtlRGlydHkoKSB7ICsrbV91cGRhdGVDb3VudGVyOyB9CiAgICAgYm9vbCBpc0RpcnR5KHVp
bnQ2NF90IHVwZGF0ZUNvdW50ZXIpIGNvbnN0OworICAgIFdlYWtQdHI8Q2FjaGVzPiBjcmVhdGVX
ZWFrUHRyKCkgeyByZXR1cm4gbV93ZWFrRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlzKTsgfQog
CiAgICAgYm9vbCBtX2lzSW5pdGlhbGl6ZWQgeyBmYWxzZSB9OwogICAgIEVuZ2luZSogbV9lbmdp
bmUgeyBudWxscHRyIH07CkBAIC0xMDMsNiArMTA2LDkgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFw
PE5ldHdvcmtDYWNoZTo6S2V5LCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3JkPiBtX3Zv
bGF0aWxlU3RvcmFnZTsKICAgICBtdXRhYmxlIHN0ZDo6b3B0aW9uYWw8TmV0d29ya0NhY2hlOjpT
YWx0PiBtX3ZvbGF0aWxlU2FsdDsKICAgICBWZWN0b3I8V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6
OkNvbXBsZXRpb25DYWxsYmFjaz4gbV9wZW5kaW5nSW5pdGlhbGl6YXRpb25DYWxsYmFja3M7Cisg
ICAgYm9vbCBtX2lzV3JpdGluZ0NhY2hlc1RvRGlzayB7IGZhbHNlIH07CisgICAgRGVxdWU8Q29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPj4gbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0NhbGxi
YWNrczsKKyAgICBXZWFrUHRyRmFjdG9yeTxDYWNoZXM+IG1fd2Vha0ZhY3Rvcnk7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBDYWNoZVN0b3JhZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkNGMyZjJmNzdkODg4OWEyMjZhYmNm
MzFlZGFiNjAzNzU3ZTZiNTJiLi44YTQwMzMxNDdkYWVjMWFmMjE5MDVmM2M0OThhNzdiYTM0OTlm
NzdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMDEtMjYgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENhY2hlIEFQSSBzaG91bGQgbWFrZSBzdXJlIHRv
IHJlc29sdmUgY2FjaGVzLm9wZW4gcHJvbWlzZXMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgY2FsbGVk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODIxOTMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAv
d3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi5odHRwcy5odG1sOiBB
ZGRlZC4KKwogMjAxOC0wMS0yNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAK
ICAgICAgICAgTGF5b3V0IFRlc3QgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYXBwY2FjaGUtb3JkZXJpbmctbWFpbi5odHRwcy5o
dG1sIGlzIGZsYWt5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9y
YWdlL2NhY2hlLW9wZW4uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y2FjaGUtc3RvcmFnZS9jYWNoZS1vcGVuLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
NDU2MjNjN2Y5ZjdiNWFkZWExZTE5ODk4OWRkYjg5Njg3M2UyMTJjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1vcGVuLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBUZXN0aW5nIG9yZGVyaW5nIG9mIG9w
ZW5pbmcgY2FjaGUgcHJvbWlzZXMgcmVzb2x1dGlvbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1vcGVuLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLW9wZW4uaHR0cHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ZGFmNzY0MjAzMDIwMzE2NjA0YzVlNjViZDA4OWU1ZjUzOTYzZWE4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1vcGVuLmh0
dHBzLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHRpdGxlPkNhY2hlIFN0b3JhZ2U6IHRlc3Rpbmcgb3BlbiBhbmQgcHV0IGluIHBhcmFsbGVs
PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0ID0+
IHsKKyAgICB2YXIgcmVzdWx0ID0gIiI7CisgICAgYXdhaXQgY2FjaGVzLmRlbGV0ZSgidGVzdCIp
OworICAgIHZhciBpID0gMDsKKyAgICBmb3IgKHZhciBqID0gMCA7IGogPD0gOTsgKytqKSB7Cisg
ICAgICAgIGNhY2hlcy5vcGVuKCJ0ZXN0IikudGhlbigoKT0+IHsKKyAgICAgICAgICAgIHJlc3Vs
dCArPSBpKys7CisgICAgICAgIH0pOworICAgIH0KKyAgICBhd2FpdCBjYWNoZXMub3BlbigidGVz
dCIpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAiMDEyMzQ1Njc4OSIpOworICAgIGF3YWl0
IGNhY2hlcy5kZWxldGUoInRlc3QiKTsKK30sICJUZXN0aW5nIG9yZGVyaW5nIG9mIG9wZW5pbmcg
Y2FjaGUgcHJvbWlzZXMgcmVzb2x1dGlvbiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332470</attachid>
            <date>2018-01-27 07:34:55 -0800</date>
            <delta_ts>2018-01-29 13:58:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182193-20180127073454.patch</filename>
            <type>text/plain</type>
            <size>13503</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3NzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTkyZWU5Y2FmOTVkNTFm
YjdlYzM3OGM2ZjAyMDEzMjZjMGQxZTFkMi4uMDZlY2YwZDM3YzVkZDBkY2MwMmJmMThmNjZhYmVl
MzI5NzM3MWExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTAxLTI3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDYWNoZSBBUEkgc2hvdWxk
IG1ha2Ugc3VyZSB0byByZXNvbHZlIGNhY2hlcy5vcGVuIHByb21pc2VzIGluIHRoZSBzYW1lIG9y
ZGVyIGFzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgyMTkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjkzMDM2Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IExheW91
dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi1kZWxldGUtaW4tcGFyYWxs
ZWwuaHR0cHMuaHRtbC4KKworICAgICAgICAqIE1vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTUNhY2hlU3RvcmFnZTo6ZG9SZW1vdmUpOiBSZW1v
dmVkIG9wdGltaXphdGlvbiBjb25zaXN0aW5nIGluIHJlbW92aW5nIHRoZSBjYWNoZSBmcm9tIERP
TUNhY2hlU3RvcmFnZSBvYmplY3Qgc3luY2hyb25vdXNseS4KKyAgICAgICAgVGhpcyBvcHRpbWl6
YXRpb24gcHJldmVudHMgZ29pbmcgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcyB0byB0cnkgZGVsZXRp
bmcgdGhlIGNhY2hlLgorCiAyMDE4LTAxLTI2ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjIyOTYxKTogQ2xlYXIgZnVuY3Rpb24gbm90IGNs
ZWFyaW5nIHdob2xlIHNjcmVlbiB3aGVuIGFudGlhbGlhcyBpcyBzZXQgdG8gZmFsc2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggYmE3MDRiMjYyNzExODhlNzE0N2JlZWE2YmY2MmZiYzg4ZTIxZDVhYi4uMGRiYzQ3MTU1
MDZjZDE1N2U5OGVkZDA1YTI1NWEwZTNjMDY0NDRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBA
QAorMjAxOC0wMS0yNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgQ2FjaGUgQVBJIHNob3VsZCBtYWtlIHN1cmUgdG8gcmVzb2x2ZSBjYWNoZXMub3BlbiBwcm9t
aXNlcyBpbiB0aGUgc2FtZSBvcmRlciBhcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjE5MworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzY5MzAzNjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ292ZXJlZCBieSBhZGRlZCB0ZXN0LgorICAgICAgICBXaGVuZXZlciBvcGVuaW5nL3JlbW92
aW5nIGEgY2FjaGUgcmVxdWlyZXMgd3JpdGluZyB0byBkaXNrLCB3YWl0IHRvIGZpbmlzaCB0aGUg
dGFzaworICAgICAgICB1bnRpbCBhbnkgZGlzayB3cml0aW5nIHRhc2sgaXMgZG9uZS4KKyAgICAg
ICAgQXBwbHlpbmcgdGhpcyBzdHJhdGVneSB3aGVuIGNsZWFyaW5nIGRhdGEgc28gdGhhdCB3ZSBh
bHNvIGNsZWFyIGRhdGEgdGhhdCBpcyBwZW5kaW5nIHRvIGJlIHdyaXR0ZW4uCisgICAgICAgIEZv
ciByZW1vdmluZyBjYWNoZSwgd2Ugbm93IHJldHVybiB3aGV0aGVyIGEgY2FjaGUgd2FzIGFjdHVh
bGx5IGRlbGV0ZWQgYnkgcmV0dXJuaW5nIHplcm8gYXMgcmVtb3ZlZCBjYWNoZSBpZGVudGlmaWVy
LgorICAgICAgICBXZWJDb3JlIHVzZXMgdGhhdCBpbmZvcm1hdGlvbiB0byByZXR1cm4gdHJ1ZS9m
YWxzZSBhcyBwcm9taXNlIHJlc29sdXRpb24gdmFsdWUuCisKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNo
ZVN0b3JhZ2U6OkVuZ2luZTo6cmV0cmlldmVDYWNoZXMpOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpjbGVhcik6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3Rv
cmFnZTo6Q2FjaGVzOjpvcGVuKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNo
ZXM6OnJlbW92ZSk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjp3cml0
ZUNhY2hlc1RvRGlzayk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpj
YWNoZUluZm9zKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OmNhY2hl
SW5mb3MgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0Nh
Y2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6
OkNhY2hlczo6Y3JlYXRlV2Vha1B0cik6CisKIDIwMTgtMDEtMjYgIEFsZXggQ2hyaXN0ZW5zZW4g
IDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBbGxvdyBjZWxsdWxhciBhY2Nl
c3MgZm9yIGRlZmF1bHQtY3JlYXRlZCBlcGhlbWVyYWwgc2Vzc2lvbnMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdlLmNwcAppbmRleCBlYTczYjFkYjgz
YzA0OTAxNDg3ZmJhY2UwMzkxMmVlYmExYTgxYTY5Li4zZjVmYjkzYjM5Yzk5MTM4OGUwMDRlNzQ5
YjA0ZDkyYTVlZjliZTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hl
L0RPTUNhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9E
T01DYWNoZVN0b3JhZ2UuY3BwCkBAIC0yMzMsMTEgKzIzMywxMCBAQCB2b2lkIERPTUNhY2hlU3Rv
cmFnZTo6ZG9SZW1vdmUoY29uc3QgU3RyaW5nJiBuYW1lLCBET01Qcm9taXNlRGVmZXJyZWQ8SURM
Qm9vbGVhbgogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC52
YWx1ZSgpLmhhZFN0b3JhZ2VFcnJvcikKICAgICAgICAgICAgICAgICAgICAgbG9nQ29uc29sZVBl
cnNpc3RlbmN5RXJyb3Ioc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBuYW1lKTsKLSAgICAgICAg
ICAgICAgICBwcm9taXNlLnJlc29sdmUodHJ1ZSk7CisgICAgICAgICAgICAgICAgcHJvbWlzZS5y
ZXNvbHZlKCEhcmVzdWx0LnZhbHVlKCkuaWRlbnRpZmllcik7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICB9KTsKLSAgICBtX2NhY2hlcy5yZW1vdmUocG9zaXRpb24pOwogfQogCiB2b2lk
IERPTUNhY2hlU3RvcmFnZTo6a2V5cyhLZXlzUHJvbWlzZSYmIHByb21pc2UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2lu
ZS5jcHAKaW5kZXggYjY4MDIzYmE3MmQ1ZTI2OTg0ZTA4MGUzMDEzYTdmMzRhOTg2OGE1NS4uOWJj
OGZhODMzNTBiMWNmNzlmMTVhYmVmMTExOGQ4YmY4N2Q3MDlkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNw
cApAQCAtMTM4LDcgKzEzOCw3IEBAIHZvaWQgRW5naW5lOjpyZXRyaWV2ZUNhY2hlcyhjb25zdCBX
ZWJDb3JlOjpDbGllbnRPcmlnaW4mIG9yaWdpbiwgdWludDY0X3QgdXBkYXRlCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBjYWxsYmFjayhjYWNoZXNPckVycm9yLnZh
bHVlKCkuZ2V0KCkuY2FjaGVJbmZvcyh1cGRhdGVDb3VudGVyKSk7CisgICAgICAgIGNhY2hlc09y
RXJyb3IudmFsdWUoKS5nZXQoKS5jYWNoZUluZm9zKHVwZGF0ZUNvdW50ZXIsIFdURk1vdmUoY2Fs
bGJhY2spKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCmluZGV4
IDQ4MDE2OTQ5YzVhZTk0NzcyZGU5YTJkYjEwNmUzNTA5YTZkOWVlNmQuLmZhMDc0ZmQ3NzliYTlh
M2M5NjZmYTBhYWY5MzBkOGUxY2JiODNiMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5j
cHAKQEAgLTIwMCw2ICsyMDAsMTUgQEAgdm9pZCBDYWNoZXM6OmRldGFjaCgpCiAKIHZvaWQgQ2Fj
aGVzOjpjbGVhcihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CisgICAgaWYgKG1faXNXcml0aW5nQ2FjaGVzVG9EaXNrKSB7CisgICAgICAgIG1fcGVuZGlu
Z1dyaXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MuYXBwZW5kKFt0aGlzLCB3ZWFrVGhpcyA9IG1f
d2Vha0ZhY3RvcnkuY3JlYXRlV2Vha1B0cigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKCF3
ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBjbGVhcihXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCiAgICAgaWYgKG1fZW5naW5lKQogICAgICAgICBtX2VuZ2luZS0+cmVtb3ZlRmlsZShj
YWNoZXNMaXN0RmlsZW5hbWUobV9yb290UGF0aCkpOwogICAgIGlmIChtX3N0b3JhZ2UpIHsKQEAg
LTIxMSw2ICsyMjAsNyBAQCB2b2lkIENhY2hlczo6Y2xlYXIoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNs
ZWFyTWVtb3J5UmVwcmVzZW50YXRpb24oKTsKKyAgICBtX3BlbmRpbmdXcml0aW5nQ2FjaGVzVG9E
aXNrQ2FsbGJhY2tzLmNsZWFyKCk7CiAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIApAQCAt
MjM1LDYgKzI0NSwxNSBAQCB2b2lkIENhY2hlczo6b3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIENh
Y2hlSWRlbnRpZmllckNhbGxiYWNrJiYgY2FsbGJhY2spCiAgICAgQVNTRVJUKG1faXNJbml0aWFs
aXplZCk7CiAgICAgQVNTRVJUKG1fZW5naW5lKTsKIAorICAgIGlmIChtX2lzV3JpdGluZ0NhY2hl
c1RvRGlzaykgeworICAgICAgICBtX3BlbmRpbmdXcml0aW5nQ2FjaGVzVG9EaXNrQ2FsbGJhY2tz
LmFwcGVuZChbdGhpcywgd2Vha1RoaXMgPSBtX3dlYWtGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRo
aXMpLCBuYW1lLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoKSBtdXRhYmxlIHsKKyAg
ICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgb3BlbihuYW1lLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgICAgIH0pOworICAgICAg
ICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKGF1dG8qIGNhY2hlID0gZmluZChuYW1lKSkgewog
ICAgICAgICBjYWNoZS0+b3BlbihbY2FjaGVJZGVudGlmaWVyID0gY2FjaGUtPmlkZW50aWZpZXIo
KSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oc3RkOjpvcHRpb25hbDxFcnJvcj4mJiBl
cnJvcikgbXV0YWJsZSB7CiAgICAgICAgICAgICBpZiAoZXJyb3IpIHsKQEAgLTI2MSwxMSArMjgw
LDIwIEBAIHZvaWQgQ2FjaGVzOjpyZW1vdmUodWludDY0X3QgaWRlbnRpZmllciwgQ2FjaGVJZGVu
dGlmaWVyQ2FsbGJhY2smJiBjYWxsYmFjaykKICAgICBBU1NFUlQobV9pc0luaXRpYWxpemVkKTsK
ICAgICBBU1NFUlQobV9lbmdpbmUpOwogCisgICAgaWYgKG1faXNXcml0aW5nQ2FjaGVzVG9EaXNr
KSB7CisgICAgICAgIG1fcGVuZGluZ1dyaXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MuYXBwZW5k
KFt0aGlzLCB3ZWFrVGhpcyA9IG1fd2Vha0ZhY3RvcnkuY3JlYXRlV2Vha1B0cigqdGhpcyksIGlk
ZW50aWZpZXIsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldICgpIG11dGFibGUgeworICAg
ICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICByZW1vdmUoaWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICB9KTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGF1dG8gcG9zaXRpb24gPSBtX2NhY2hlcy5m
aW5kTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0ZW0uaWRlbnRpZmll
cigpID09IGlkZW50aWZpZXI7IH0pOwogCiAgICAgaWYgKHBvc2l0aW9uID09IG5vdEZvdW5kKSB7
CiAgICAgICAgIEFTU0VSVChtX3JlbW92ZWRDYWNoZXMuZmluZE1hdGNoaW5nKFsmXShjb25zdCBh
dXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLmlkZW50aWZpZXIoKSA9PSBpZGVudGlmaWVyOyB9KSAh
PSBub3RGb3VuZCk7Ci0gICAgICAgIGNhbGxiYWNrKENhY2hlSWRlbnRpZmllck9wZXJhdGlvblJl
c3VsdCB7IGlkZW50aWZpZXIsIGZhbHNlIH0pOworICAgICAgICBjYWxsYmFjayhDYWNoZUlkZW50
aWZpZXJPcGVyYXRpb25SZXN1bHQgeyAwLCBmYWxzZSB9KTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApAQCAtMzcxLDYgKzM5OSw3IEBAIHZvaWQgQ2FjaGVzOjpyZWFkQ2FjaGVzRnJvbURpc2so
V1RGOjpGdW5jdGlvbjx2b2lkKEV4cGVjdGVkPFZlY3RvcjxDYWNoZT4sIEVycm9yCiAKIHZvaWQg
Q2FjaGVzOjp3cml0ZUNhY2hlc1RvRGlzayhDb21wbGV0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykK
IHsKKyAgICBBU1NFUlQoIW1faXNXcml0aW5nQ2FjaGVzVG9EaXNrKTsKICAgICBBU1NFUlQobV9p
c0luaXRpYWxpemVkKTsKICAgICBpZiAoIXNob3VsZFBlcnNpc3QoKSkgewogICAgICAgICBjYWxs
YmFjayhzdGQ6Om51bGxvcHQpOwpAQCAtMzg1LDggKzQxNCwxMiBAQCB2b2lkIENhY2hlczo6d3Jp
dGVDYWNoZXNUb0Rpc2soQ29tcGxldGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICBtX2VuZ2luZS0+d3JpdGVGaWxlKGNhY2hlc0xpc3RGaWxlbmFt
ZShtX3Jvb3RQYXRoKSwgZW5jb2RlQ2FjaGVOYW1lcyhtX2NhY2hlcyksIFtjYWxsYmFjayA9IFdU
Rk1vdmUoY2FsbGJhY2spXShzdGQ6Om9wdGlvbmFsPEVycm9yPiYmIGVycm9yKSBtdXRhYmxlIHsK
KyAgICBtX2lzV3JpdGluZ0NhY2hlc1RvRGlzayA9IHRydWU7CisgICAgbV9lbmdpbmUtPndyaXRl
RmlsZShjYWNoZXNMaXN0RmlsZW5hbWUobV9yb290UGF0aCksIGVuY29kZUNhY2hlTmFtZXMobV9j
YWNoZXMpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjYWxsYmFjayA9
IFdURk1vdmUoY2FsbGJhY2spXShzdGQ6Om9wdGlvbmFsPEVycm9yPiYmIGVycm9yKSBtdXRhYmxl
IHsKKyAgICAgICAgbV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2sgPSBmYWxzZTsKICAgICAgICAgY2Fs
bGJhY2soV1RGTW92ZShlcnJvcikpOworICAgICAgICB3aGlsZSAoIW1fcGVuZGluZ1dyaXRpbmdD
YWNoZXNUb0Rpc2tDYWxsYmFja3MuaXNFbXB0eSgpICYmICFtX2lzV3JpdGluZ0NhY2hlc1RvRGlz
aykKKyAgICAgICAgICAgIG1fcGVuZGluZ1dyaXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MudGFr
ZUZpcnN0KCkoKTsKICAgICB9KTsKIH0KIApAQCAtNTE1LDE1ICs1NDgsMjQgQEAgY29uc3QgTmV0
d29ya0NhY2hlOjpTYWx0JiBDYWNoZXM6OnNhbHQoKSBjb25zdAogICAgIHJldHVybiBtX3ZvbGF0
aWxlU2FsdC52YWx1ZSgpOwogfQogCi1DYWNoZUluZm9zIENhY2hlczo6Y2FjaGVJbmZvcyh1aW50
NjRfdCB1cGRhdGVDb3VudGVyKSBjb25zdAordm9pZCBDYWNoZXM6OmNhY2hlSW5mb3ModWludDY0
X3QgdXBkYXRlQ291bnRlciwgQ2FjaGVJbmZvc0NhbGxiYWNrJiYgY2FsbGJhY2spCiB7CisgICAg
aWYgKG1faXNXcml0aW5nQ2FjaGVzVG9EaXNrKSB7CisgICAgICAgIG1fcGVuZGluZ1dyaXRpbmdD
YWNoZXNUb0Rpc2tDYWxsYmFja3MuYXBwZW5kKFt0aGlzLCB3ZWFrVGhpcyA9IG1fd2Vha0ZhY3Rv
cnkuY3JlYXRlV2Vha1B0cigqdGhpcyksIHVwZGF0ZUNvdW50ZXIsIGNhbGxiYWNrID0gV1RGTW92
ZShjYWxsYmFjayldICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBjYWNoZUluZm9zKHVwZGF0ZUNvdW50
ZXIsIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKICAgICBWZWN0b3I8Q2FjaGVJbmZvPiBjYWNoZUluZm9zOwogICAgIGlmIChpc0RpcnR5
KHVwZGF0ZUNvdW50ZXIpKSB7CiAgICAgICAgIGNhY2hlSW5mb3MucmVzZXJ2ZUluaXRpYWxDYXBh
Y2l0eShtX2NhY2hlcy5zaXplKCkpOwogICAgICAgICBmb3IgKGF1dG8mIGNhY2hlIDogbV9jYWNo
ZXMpCiAgICAgICAgICAgICBjYWNoZUluZm9zLnVuY2hlY2tlZEFwcGVuZChDYWNoZUluZm8geyBj
YWNoZS5pZGVudGlmaWVyKCksIGNhY2hlLm5hbWUoKSB9KTsKICAgICB9Ci0gICAgcmV0dXJuIHsg
V1RGTW92ZShjYWNoZUluZm9zKSwgbV91cGRhdGVDb3VudGVyIH07CisgICAgY2FsbGJhY2soQ2Fj
aGVJbmZvcyB7IFdURk1vdmUoY2FjaGVJbmZvcyksIG1fdXBkYXRlQ291bnRlciB9KTsKIH0KIAog
dm9pZCBDYWNoZXM6OmFwcGVuZFJlcHJlc2VudGF0aW9uKFN0cmluZ0J1aWxkZXImIGJ1aWxkZXIp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0Nh
Y2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaAppbmRleCBhYTgyM2YyMTZiMDI0MDE1MGI5
YjY0NTUyYTJmZTY3MDdhMTY0YjdmLi4xYWY4MzgyNDU1OWZlYzdiYWVmM2E1OGI3MmZlMmViZDNh
NTMwYTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0Nh
Y2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmgKQEAgLTI5LDYgKzI5LDggQEAKICNp
bmNsdWRlICJOZXR3b3JrQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9DbGllbnRP
cmlnaW4uaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KKyNpbmNsdWRlIDx3
dGYvRGVxdWUuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIApAQCAtNTAsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZXRhY2goKTsKIAogICAg
IGJvb2wgaXNJbml0aWFsaXplZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNJbml0aWFsaXplZDsgfQot
ICAgIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDYWNoZUluZm9zIGNhY2hlSW5mb3ModWludDY0
X3QgdXBkYXRlQ291bnRlcikgY29uc3Q7CisgICAgdm9pZCBjYWNoZUluZm9zKHVpbnQ2NF90IHVw
ZGF0ZUNvdW50ZXIsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDYWNoZUluZm9zQ2FsbGJhY2sm
Jik7CiAKICAgICBDYWNoZSogZmluZCh1aW50NjRfdCBpZGVudGlmaWVyKTsKICAgICB2b2lkIGFw
cGVuZFJlcHJlc2VudGF0aW9uKFN0cmluZ0J1aWxkZXImKSBjb25zdDsKQEAgLTg5LDYgKzkxLDcg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgbWFrZURpcnR5KCkgeyArK21fdXBkYXRlQ291bnRlcjsg
fQogICAgIGJvb2wgaXNEaXJ0eSh1aW50NjRfdCB1cGRhdGVDb3VudGVyKSBjb25zdDsKKyAgICBX
ZWFrUHRyPENhY2hlcz4gY3JlYXRlV2Vha1B0cigpIHsgcmV0dXJuIG1fd2Vha0ZhY3RvcnkuY3Jl
YXRlV2Vha1B0cigqdGhpcyk7IH0KIAogICAgIGJvb2wgbV9pc0luaXRpYWxpemVkIHsgZmFsc2Ug
fTsKICAgICBFbmdpbmUqIG1fZW5naW5lIHsgbnVsbHB0ciB9OwpAQCAtMTAzLDYgKzEwNiw5IEBA
IHByaXZhdGU6CiAgICAgSGFzaE1hcDxOZXR3b3JrQ2FjaGU6OktleSwgV2ViQ29yZTo6RE9NQ2Fj
aGVFbmdpbmU6OlJlY29yZD4gbV92b2xhdGlsZVN0b3JhZ2U7CiAgICAgbXV0YWJsZSBzdGQ6Om9w
dGlvbmFsPE5ldHdvcmtDYWNoZTo6U2FsdD4gbV92b2xhdGlsZVNhbHQ7CiAgICAgVmVjdG9yPFdl
YkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2s+IG1fcGVuZGluZ0luaXRp
YWxpemF0aW9uQ2FsbGJhY2tzOworICAgIGJvb2wgbV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2sgeyBm
YWxzZSB9OworICAgIERlcXVlPENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4+IG1fcGVuZGluZ1dy
aXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3M7CisgICAgV2Vha1B0ckZhY3Rvcnk8Q2FjaGVzPiBt
X3dlYWtGYWN0b3J5OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQ2FjaGVTdG9yYWdlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MWRhMzc4OWY4NWJjZGRhYzNhMGI3YWZlNzM3ZmZiZWUyYTNmOWNmZC4uMDk3MGYyNWI3ZTExZDU5
Mzg1NGY5NDg0ZjkyMWJiZThmZjA3ODZkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTAx
LTI3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDYWNoZSBB
UEkgc2hvdWxkIG1ha2Ugc3VyZSB0byByZXNvbHZlIGNhY2hlcy5vcGVuIHByb21pc2VzIGluIHRo
ZSBzYW1lIG9yZGVyIGFzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgyMTkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjkzMDM2Mz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAv
d3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi5odHRwcy5odG1sOiBB
ZGRlZC4KKwogMjAxOC0wMS0yNiAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW1dpbl0gVXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1vcGVuLWRlbGV0ZS1pbi1w
YXJhbGxlbC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1z
dG9yYWdlL2NhY2hlLW9wZW4tZGVsZXRlLWluLXBhcmFsbGVsLmh0dHBzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zZjg2MGZjMjgxNTUzMWIzMjFkMzMyNjVmNGI3ZTRiNGIzNWU0NTVkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1v
cGVuLWRlbGV0ZS1pbi1wYXJhbGxlbC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBA
CisKK1BBU1MgVGVzdGluZyBvcmRlcmluZyBvZiBvcGVuaW5nIGNhY2hlIHByb21pc2VzIHJlc29s
dXRpb24gCitQQVNTIFRlc3Rpbmcgb3JkZXJpbmcgb2YgZGVsZXRpbmcgY2FjaGUgcHJvbWlzZXMg
cmVzb2x1dGlvbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3Rv
cmFnZS9jYWNoZS1vcGVuLWRlbGV0ZS1pbi1wYXJhbGxlbC5odHRwcy5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1vcGVuLWRlbGV0ZS1pbi1wYXJhbGxlbC5o
dHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5MTRmM2RlOGRlNGU0YjEwODYyZDVhYmJlYmU5NjFhZjc0
NzhjNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9y
YWdlL2NhY2hlLW9wZW4tZGVsZXRlLWluLXBhcmFsbGVsLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwz
MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkNhY2hlIFN0b3Jh
Z2U6IHRlc3Rpbmcgb3BlbiBhbmQgZGVsZXRlIGluIHBhcmFsbGVsPC90aXRsZT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0ID0+IHsKKyAgICBhd2FpdCBjYWNo
ZXMuZGVsZXRlKCJ0ZXN0Iik7CisKKyAgICB2YXIgcmVzdWx0ID0gIkZBSUwiOworICAgIGNhY2hl
cy5vcGVuKCJ0ZXN0IikudGhlbigoKT0+IHJlc3VsdCA9ICJQQVNTIik7CisgICAgYXdhaXQgY2Fj
aGVzLm9wZW4oInRlc3QiKTsKKworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAiUEFTUyIsICJP
cGVuIHJlc29sdXRpb24gb3JkZXIiKTsKK30sICJUZXN0aW5nIG9yZGVyaW5nIG9mIG9wZW5pbmcg
Y2FjaGUgcHJvbWlzZXMgcmVzb2x1dGlvbiIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdCA9
PiB7CisgICAgYXdhaXQgY2FjaGVzLm9wZW4oInRlc3QiKTsKKworICAgIHZhciByZXN1bHQgPSAi
RkFJTCI7CisgICAgY2FjaGVzLmRlbGV0ZSgidGVzdCIpLnRoZW4oKHZhbHVlKT0+IHsKKyAgICAg
ICAgcmVzdWx0ID0gdmFsdWUgPyAiUEFTUyIgOiAiRkFJTDogZGVsZXRlIGRpZCBub3QgcmV0dXJu
IHRydWUiOworICAgIH0pOworICAgIGFzc2VydF9mYWxzZShhd2FpdCBjYWNoZXMuZGVsZXRlKCJ0
ZXN0IikpOworCisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICJQQVNTIiwgIkRlbGV0ZSByZXNv
bHV0aW9uIG9yZGVyIik7Cit9LCAiVGVzdGluZyBvcmRlcmluZyBvZiBkZWxldGluZyBjYWNoZSBw
cm9taXNlcyByZXNvbHV0aW9uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332577</attachid>
            <date>2018-01-29 13:58:25 -0800</date>
            <delta_ts>2018-01-29 14:28:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182193-20180129135825.patch</filename>
            <type>text/plain</type>
            <size>15249</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3NzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk4NDYxMTVjODhhNTRk
MzYyYTc3ZTJiYmViZWFmOWEwYmQxNzkwMi4uY2Y4NjQ4MmY1MDM5YmZkZmI5MjYzODhkNGI1NDlj
ZWM1ZmU0NjUzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTAxLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDYWNoZSBBUEkgc2hvdWxk
IG1ha2Ugc3VyZSB0byByZXNvbHZlIGNhY2hlcy5vcGVuIHByb21pc2VzIGluIHRoZSBzYW1lIG9y
ZGVyIGFzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgyMTkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjkzMDM2Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IExheW91
dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi1kZWxldGUtaW4tcGFyYWxs
ZWwuaHR0cHMuaHRtbC4KKworICAgICAgICAqIE1vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTUNhY2hlU3RvcmFnZTo6ZG9SZW1vdmUpOiBSZW1v
dmVkIG9wdGltaXphdGlvbiBjb25zaXN0aW5nIGluIHJlbW92aW5nIHRoZSBjYWNoZSBmcm9tIERP
TUNhY2hlU3RvcmFnZSBvYmplY3Qgc3luY2hyb25vdXNseS4KKyAgICAgICAgVGhpcyBvcHRpbWl6
YXRpb24gcHJldmVudHMgZ29pbmcgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcyB0byB0cnkgZGVsZXRp
bmcgdGhlIGNhY2hlLgorCiAyMDE4LTAxLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBMYXlvdXQgVGVzdCBmYXN0L2V2ZW50cy9iZWZvcmV1bmxvYWQt
ZG9tLW1hbmlwdWxhdGlvbi1jcmFzaC5odG1sIGlzIGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU4Y2M4
OTIzODk0YThjZjgzZGUwYzgxZjVkOWNjNDA4ZTRlMDRkY2MuLmVjN2YwMGIxOTE2NWFkOTY2NjRh
NDFmNjhiZDk1NWI0MmMxNmM1ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTgtMDEt
MjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENhY2hlIEFQ
SSBzaG91bGQgbWFrZSBzdXJlIHRvIHJlc29sdmUgY2FjaGVzLm9wZW4gcHJvbWlzZXMgaW4gdGhl
IHNhbWUgb3JkZXIgYXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODIxOTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM2OTMwMzYzPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvdmVyZWQg
YnkgYWRkZWQgdGVzdC4KKyAgICAgICAgV2hlbmV2ZXIgb3BlbmluZy9yZW1vdmluZyBhIGNhY2hl
IHJlcXVpcmVzIHdyaXRpbmcgdG8gZGlzaywgd2FpdCB0byBmaW5pc2ggdGhlIHRhc2sKKyAgICAg
ICAgdW50aWwgYW55IGRpc2sgd3JpdGluZyB0YXNrIGlzIGRvbmUuCisgICAgICAgIEFwcGx5aW5n
IHRoaXMgc3RyYXRlZ3kgd2hlbiBjbGVhcmluZyBkYXRhIHNvIHRoYXQgd2UgYWxzbyBjbGVhciBk
YXRhIHRoYXQgaXMgcGVuZGluZyB0byBiZSB3cml0dGVuLgorICAgICAgICBGb3IgcmVtb3Zpbmcg
Y2FjaGUsIHdlIG5vdyByZXR1cm4gd2hldGhlciBhIGNhY2hlIHdhcyBhY3R1YWxseSBkZWxldGVk
IGJ5IHJldHVybmluZyB6ZXJvIGFzIHJlbW92ZWQgY2FjaGUgaWRlbnRpZmllci4KKyAgICAgICAg
V2ViQ29yZSB1c2VzIHRoYXQgaW5mb3JtYXRpb24gdG8gcmV0dXJuIHRydWUvZmFsc2UgYXMgcHJv
bWlzZSByZXNvbHV0aW9uIHZhbHVlLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUv
Q2FjaGVTdG9yYWdlRW5naW5lLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpF
bmdpbmU6OnJldHJpZXZlQ2FjaGVzKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9D
YWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3Jh
Z2U6OkNhY2hlczo6Y2xlYXIpOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hl
czo6b3Blbik6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpyZW1vdmUp
OgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6d3JpdGVDYWNoZXNUb0Rp
c2spOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6Y2FjaGVJbmZvcyk6
CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpjYWNoZUluZm9zIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VF
bmdpbmVDYWNoZXMuaDoKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OmNy
ZWF0ZVdlYWtQdHIpOgorCiAyMDE4LTAxLTI5ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbQ2Fpcm9dIEFkZCBHcmFwaGljc0NvbnRleHRJbXBsQ2Fpcm86
OmNyZWF0ZUZhY3RvcnkoKSBoZWxwZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0RPTUNhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0RPTUNhY2hlU3RvcmFnZS5jcHAKaW5kZXggZWE3M2IxZGI4M2MwNDkwMTQ4N2ZiYWNlMDM5
MTJlZWJhMWE4MWE2OS4uM2Y1ZmI5M2IzOWM5OTEzODhlMDA0ZTc0OWIwNGQ5MmE1ZWY5YmU1MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZVN0b3JhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdlLmNw
cApAQCAtMjMzLDExICsyMzMsMTAgQEAgdm9pZCBET01DYWNoZVN0b3JhZ2U6OmRvUmVtb3ZlKGNv
bnN0IFN0cmluZyYgbmFtZSwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4KICAgICAgICAg
ICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGlmIChyZXN1bHQudmFsdWUoKS5oYWRTdG9yYWdl
RXJyb3IpCiAgICAgICAgICAgICAgICAgICAgIGxvZ0NvbnNvbGVQZXJzaXN0ZW5jeUVycm9yKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgbmFtZSk7Ci0gICAgICAgICAgICAgICAgcHJvbWlzZS5y
ZXNvbHZlKHRydWUpOworICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSghIXJlc3VsdC52
YWx1ZSgpLmlkZW50aWZpZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSk7Ci0g
ICAgbV9jYWNoZXMucmVtb3ZlKHBvc2l0aW9uKTsKIH0KIAogdm9pZCBET01DYWNoZVN0b3JhZ2U6
OmtleXMoS2V5c1Byb21pc2UmJiBwcm9taXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCmluZGV4IGI2ODAy
M2JhNzJkNWUyNjk4NGUwODBlMzAxM2E3ZjM0YTk4NjhhNTUuLjliYzhmYTgzMzUwYjFjZjc5ZjE1
YWJlZjExMThkOGJmODdkNzA5ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKQEAgLTEzOCw3ICsxMzgs
NyBAQCB2b2lkIEVuZ2luZTo6cmV0cmlldmVDYWNoZXMoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3Jp
Z2luJiBvcmlnaW4sIHVpbnQ2NF90IHVwZGF0ZQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAKLSAgICAgICAgY2FsbGJhY2soY2FjaGVzT3JFcnJvci52YWx1ZSgpLmdldCgpLmNhY2hl
SW5mb3ModXBkYXRlQ291bnRlcikpOworICAgICAgICBjYWNoZXNPckVycm9yLnZhbHVlKCkuZ2V0
KCkuY2FjaGVJbmZvcyh1cGRhdGVDb3VudGVyLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiAgICAgfSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2Fj
aGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAppbmRleCA0ODAxNjk0OWM1YWU5NDc3
MmRlOWEyZGIxMDZlMzUwOWE2ZDllZTZkLi45YjE0N2FhZjA2MzQzZWJlNjVlNzg5ODIxYjNiNjhj
MmRhZmU3ODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCkBAIC01MCw2ICs1MCwx
MSBAQCBzdGF0aWMgaW5saW5lIFN0cmluZyBjYWNoZXNPcmlnaW5GaWxlbmFtZShjb25zdCBTdHJp
bmcmIGNhY2hlc1Jvb3RQYXRoKQogICAgIHJldHVybiBXZWJDb3JlOjpGaWxlU3lzdGVtOjpwYXRo
QnlBcHBlbmRpbmdDb21wb25lbnQoY2FjaGVzUm9vdFBhdGgsIEFTQ0lJTGl0ZXJhbCgib3JpZ2lu
IikpOwogfQogCitDYWNoZXM6On5DYWNoZXMoKQoreworICAgIEFTU0VSVChtX3BlbmRpbmdXcml0
aW5nQ2FjaGVzVG9EaXNrQ2FsbGJhY2tzLmlzRW1wdHkoKSk7Cit9CisKIHZvaWQgQ2FjaGVzOjpy
ZXRyaWV2ZU9yaWdpbkZyb21EaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBmb2xkZXJQYXRoLCBXb3Jr
UXVldWUmIHF1ZXVlLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpDbGllbnRPcmlnaW4+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIHF1
ZXVlLmRpc3BhdGNoKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpLCBmb2xkZXJQYXRoID0gZm9sZGVyUGF0aC5pc29sYXRlZENvcHkoKV0oKSBtdXRhYmxlIHsK
QEAgLTE5NiwxMCArMjAxLDIzIEBAIHZvaWQgQ2FjaGVzOjpkZXRhY2goKQogewogICAgIG1fZW5n
aW5lID0gbnVsbHB0cjsKICAgICBtX3Jvb3RQYXRoID0geyB9OworICAgIGNsZWFyUGVuZGluZ1dy
aXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MoKTsKIH0KIAogdm9pZCBDYWNoZXM6OmNsZWFyKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBpZiAo
bV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2spIHsKKyAgICAgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hl
c1RvRGlza0NhbGxiYWNrcy5hcHBlbmQoW3RoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildIChhdXRvJiYgZXJyb3IpIG11dGFibGUgeworICAgICAgICAg
ICAgQVNTRVJUKCFlcnJvcik7CisgICAgICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGNsZWFyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
KyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAobV9lbmdpbmUp
CiAgICAgICAgIG1fZW5naW5lLT5yZW1vdmVGaWxlKGNhY2hlc0xpc3RGaWxlbmFtZShtX3Jvb3RQ
YXRoKSk7CiAgICAgaWYgKG1fc3RvcmFnZSkgewpAQCAtMjExLDkgKzIyOSwxNyBAQCB2b2lkIENh
Y2hlczo6Y2xlYXIoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNsZWFyTWVtb3J5UmVwcmVzZW50YXRpb24o
KTsKKyAgICBjbGVhclBlbmRpbmdXcml0aW5nQ2FjaGVzVG9EaXNrQ2FsbGJhY2tzKCk7CiAgICAg
Y29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAordm9pZCBDYWNoZXM6OmNsZWFyUGVuZGluZ1dyaXRp
bmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MoKQoreworICAgIGF1dG8gcGVuZGluZ1dyaXRpbmdDYWNo
ZXNUb0Rpc2tDYWxsYmFja3MgPSBXVEZNb3ZlKG1fcGVuZGluZ1dyaXRpbmdDYWNoZXNUb0Rpc2tD
YWxsYmFja3MpOworICAgIGZvciAoYXV0byYgY2FsbGJhY2sgOiBwZW5kaW5nV3JpdGluZ0NhY2hl
c1RvRGlza0NhbGxiYWNrcykKKyAgICAgICAgY2FsbGJhY2soRXJyb3I6OkludGVybmFsKTsKK30K
KwogQ2FjaGUqIENhY2hlczo6ZmluZChjb25zdCBTdHJpbmcmIG5hbWUpCiB7CiAgICAgYXV0byBw
b3NpdGlvbiA9IG1fY2FjaGVzLmZpbmRNYXRjaGluZyhbJl0oY29uc3QgYXV0byYgaXRlbSkgeyBy
ZXR1cm4gaXRlbS5uYW1lKCkgPT0gbmFtZTsgfSk7CkBAIC0yMzUsNiArMjYxLDE3IEBAIHZvaWQg
Q2FjaGVzOjpvcGVuKGNvbnN0IFN0cmluZyYgbmFtZSwgQ2FjaGVJZGVudGlmaWVyQ2FsbGJhY2sm
JiBjYWxsYmFjaykKICAgICBBU1NFUlQobV9pc0luaXRpYWxpemVkKTsKICAgICBBU1NFUlQobV9l
bmdpbmUpOwogCisgICAgaWYgKG1faXNXcml0aW5nQ2FjaGVzVG9EaXNrKSB7CisgICAgICAgIG1f
cGVuZGluZ1dyaXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MuYXBwZW5kKFt0aGlzLCBuYW1lLCBj
YWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoYXV0byYmIGVycm9yKSBtdXRhYmxlIHsKKyAg
ICAgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgICAgIGNhbGxiYWNrKG1ha2VVbmV4
cGVjdGVkKGVycm9yLnZhbHVlKCkpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBvcGVuKG5hbWUsIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICAg
ICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoYXV0byogY2FjaGUgPSBm
aW5kKG5hbWUpKSB7CiAgICAgICAgIGNhY2hlLT5vcGVuKFtjYWNoZUlkZW50aWZpZXIgPSBjYWNo
ZS0+aWRlbnRpZmllcigpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShzdGQ6Om9wdGlv
bmFsPEVycm9yPiYmIGVycm9yKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlmIChlcnJvcikgewpA
QCAtMjYxLDExICsyOTgsMjIgQEAgdm9pZCBDYWNoZXM6OnJlbW92ZSh1aW50NjRfdCBpZGVudGlm
aWVyLCBDYWNoZUlkZW50aWZpZXJDYWxsYmFjayYmIGNhbGxiYWNrKQogICAgIEFTU0VSVChtX2lz
SW5pdGlhbGl6ZWQpOwogICAgIEFTU0VSVChtX2VuZ2luZSk7CiAKKyAgICBpZiAobV9pc1dyaXRp
bmdDYWNoZXNUb0Rpc2spIHsKKyAgICAgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0Nh
bGxiYWNrcy5hcHBlbmQoW3RoaXMsIGlkZW50aWZpZXIsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxs
YmFjayldIChhdXRvJiYgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKGVycm9yKSB7
CisgICAgICAgICAgICAgICAgY2FsbGJhY2sobWFrZVVuZXhwZWN0ZWQoZXJyb3IudmFsdWUoKSkp
OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJl
bW92ZShpZGVudGlmaWVyLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgICAgIH0pOworICAgICAg
ICByZXR1cm47CisgICAgfQorCiAgICAgYXV0byBwb3NpdGlvbiA9IG1fY2FjaGVzLmZpbmRNYXRj
aGluZyhbJl0oY29uc3QgYXV0byYgaXRlbSkgeyByZXR1cm4gaXRlbS5pZGVudGlmaWVyKCkgPT0g
aWRlbnRpZmllcjsgfSk7CiAKICAgICBpZiAocG9zaXRpb24gPT0gbm90Rm91bmQpIHsKICAgICAg
ICAgQVNTRVJUKG1fcmVtb3ZlZENhY2hlcy5maW5kTWF0Y2hpbmcoWyZdKGNvbnN0IGF1dG8mIGl0
ZW0pIHsgcmV0dXJuIGl0ZW0uaWRlbnRpZmllcigpID09IGlkZW50aWZpZXI7IH0pICE9IG5vdEZv
dW5kKTsKLSAgICAgICAgY2FsbGJhY2soQ2FjaGVJZGVudGlmaWVyT3BlcmF0aW9uUmVzdWx0IHsg
aWRlbnRpZmllciwgZmFsc2UgfSk7CisgICAgICAgIGNhbGxiYWNrKENhY2hlSWRlbnRpZmllck9w
ZXJhdGlvblJlc3VsdCB7IDAsIGZhbHNlIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBA
IC0zNzEsNiArNDE5LDcgQEAgdm9pZCBDYWNoZXM6OnJlYWRDYWNoZXNGcm9tRGlzayhXVEY6OkZ1
bmN0aW9uPHZvaWQoRXhwZWN0ZWQ8VmVjdG9yPENhY2hlPiwgRXJyb3IKIAogdm9pZCBDYWNoZXM6
OndyaXRlQ2FjaGVzVG9EaXNrKENvbXBsZXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQogeworICAg
IEFTU0VSVCghbV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2spOwogICAgIEFTU0VSVChtX2lzSW5pdGlh
bGl6ZWQpOwogICAgIGlmICghc2hvdWxkUGVyc2lzdCgpKSB7CiAgICAgICAgIGNhbGxiYWNrKHN0
ZDo6bnVsbG9wdCk7CkBAIC0zODUsOCArNDM0LDEyIEBAIHZvaWQgQ2FjaGVzOjp3cml0ZUNhY2hl
c1RvRGlzayhDb21wbGV0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIG1fZW5naW5lLT53cml0ZUZpbGUoY2FjaGVzTGlzdEZpbGVuYW1lKG1fcm9v
dFBhdGgpLCBlbmNvZGVDYWNoZU5hbWVzKG1fY2FjaGVzKSwgW2NhbGxiYWNrID0gV1RGTW92ZShj
YWxsYmFjayldKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYgZXJyb3IpIG11dGFibGUgeworICAgIG1f
aXNXcml0aW5nQ2FjaGVzVG9EaXNrID0gdHJ1ZTsKKyAgICBtX2VuZ2luZS0+d3JpdGVGaWxlKGNh
Y2hlc0xpc3RGaWxlbmFtZShtX3Jvb3RQYXRoKSwgZW5jb2RlQ2FjaGVOYW1lcyhtX2NhY2hlcyks
IFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92
ZShjYWxsYmFjayldKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYgZXJyb3IpIG11dGFibGUgeworICAg
ICAgICBtX2lzV3JpdGluZ0NhY2hlc1RvRGlzayA9IGZhbHNlOwogICAgICAgICBjYWxsYmFjayhX
VEZNb3ZlKGVycm9yKSk7CisgICAgICAgIHdoaWxlICghbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1Rv
RGlza0NhbGxiYWNrcy5pc0VtcHR5KCkgJiYgIW1faXNXcml0aW5nQ2FjaGVzVG9EaXNrKQorICAg
ICAgICAgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0NhbGxiYWNrcy50YWtlRmlyc3Qo
KShzdGQ6Om51bGxvcHQpOwogICAgIH0pOwogfQogCkBAIC01MTUsMTUgKzU2OCwyNiBAQCBjb25z
dCBOZXR3b3JrQ2FjaGU6OlNhbHQmIENhY2hlczo6c2FsdCgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
dm9sYXRpbGVTYWx0LnZhbHVlKCk7CiB9CiAKLUNhY2hlSW5mb3MgQ2FjaGVzOjpjYWNoZUluZm9z
KHVpbnQ2NF90IHVwZGF0ZUNvdW50ZXIpIGNvbnN0Cit2b2lkIENhY2hlczo6Y2FjaGVJbmZvcyh1
aW50NjRfdCB1cGRhdGVDb3VudGVyLCBDYWNoZUluZm9zQ2FsbGJhY2smJiBjYWxsYmFjaykKIHsK
KyAgICBpZiAobV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2spIHsKKyAgICAgICAgbV9wZW5kaW5nV3Jp
dGluZ0NhY2hlc1RvRGlza0NhbGxiYWNrcy5hcHBlbmQoW3RoaXMsIHVwZGF0ZUNvdW50ZXIsIGNh
bGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldIChhdXRvJiYgZXJyb3IpIG11dGFibGUgeworICAg
ICAgICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICAgICAgY2FsbGJhY2sobWFrZVVuZXhw
ZWN0ZWQoZXJyb3IudmFsdWUoKSkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGNhY2hlSW5mb3ModXBkYXRlQ291bnRlciwgV1RGTW92ZShjYWxs
YmFjaykpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIFZlY3Rv
cjxDYWNoZUluZm8+IGNhY2hlSW5mb3M7CiAgICAgaWYgKGlzRGlydHkodXBkYXRlQ291bnRlcikp
IHsKICAgICAgICAgY2FjaGVJbmZvcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fY2FjaGVzLnNp
emUoKSk7CiAgICAgICAgIGZvciAoYXV0byYgY2FjaGUgOiBtX2NhY2hlcykKICAgICAgICAgICAg
IGNhY2hlSW5mb3MudW5jaGVja2VkQXBwZW5kKENhY2hlSW5mbyB7IGNhY2hlLmlkZW50aWZpZXIo
KSwgY2FjaGUubmFtZSgpIH0pOwogICAgIH0KLSAgICByZXR1cm4geyBXVEZNb3ZlKGNhY2hlSW5m
b3MpLCBtX3VwZGF0ZUNvdW50ZXIgfTsKKyAgICBjYWxsYmFjayhDYWNoZUluZm9zIHsgV1RGTW92
ZShjYWNoZUluZm9zKSwgbV91cGRhdGVDb3VudGVyIH0pOwogfQogCiB2b2lkIENhY2hlczo6YXBw
ZW5kUmVwcmVzZW50YXRpb24oU3RyaW5nQnVpbGRlciYgYnVpbGRlcikgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5l
Q2FjaGVzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFn
ZUVuZ2luZUNhY2hlcy5oCmluZGV4IGFhODIzZjIxNmIwMjQwMTUwYjliNjQ1NTJhMmZlNjcwN2Ex
NjRiN2YuLjI0ZThhZTEzN2NlODAyYmU1M2FkOTg4MzY2ODU4N2Y4MDliZWM5YmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5l
Q2FjaGVzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0
b3JhZ2VFbmdpbmVDYWNoZXMuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtD
YWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NsaWVudE9yaWdpbi5oPgogI2luY2x1
ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzksNiArNDAsNyBAQCBjbGFzcyBFbmdpbmU7CiBjbGFz
cyBDYWNoZXMgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZXM+IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPENhY2hlcz4gY3JlYXRlKEVuZ2luZSYgZW5naW5lLCBXZWJDb3JlOjpDbGllbnRPcmln
aW4mJiBvcmlnaW4sIFN0cmluZyYmIHJvb3RQYXRoLCB1aW50NjRfdCBxdW90YSkgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBDYWNoZXMgeyBlbmdpbmUsIFdURk1vdmUob3JpZ2luKSwgV1RGTW92ZShy
b290UGF0aCksIHF1b3RhIH0pOyB9CisgICAgfkNhY2hlcygpOwogCiAgICAgc3RhdGljIHZvaWQg
cmV0cmlldmVPcmlnaW5Gcm9tRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgZm9sZGVyUGF0aCwgV29y
a1F1ZXVlJiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6Q2xpZW50T3JpZ2luPiYmKT4mJik7CiAKQEAgLTUwLDcgKzUyLDcgQEAgcHVibGljOgogICAg
IHZvaWQgZGV0YWNoKCk7CiAKICAgICBib29sIGlzSW5pdGlhbGl6ZWQoKSBjb25zdCB7IHJldHVy
biBtX2lzSW5pdGlhbGl6ZWQ7IH0KLSAgICBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q2FjaGVJ
bmZvcyBjYWNoZUluZm9zKHVpbnQ2NF90IHVwZGF0ZUNvdW50ZXIpIGNvbnN0OworICAgIHZvaWQg
Y2FjaGVJbmZvcyh1aW50NjRfdCB1cGRhdGVDb3VudGVyLCBXZWJDb3JlOjpET01DYWNoZUVuZ2lu
ZTo6Q2FjaGVJbmZvc0NhbGxiYWNrJiYpOwogCiAgICAgQ2FjaGUqIGZpbmQodWludDY0X3QgaWRl
bnRpZmllcik7CiAgICAgdm9pZCBhcHBlbmRSZXByZXNlbnRhdGlvbihTdHJpbmdCdWlsZGVyJikg
Y29uc3Q7CkBAIC04Niw2ICs4OCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6Q2xpZW50T3JpZ2luPiByZWFkT3JpZ2luKGNvbnN0IE5ldHdvcmtDYWNoZTo6
RGF0YSYpOwogCiAgICAgQ2FjaGUqIGZpbmQoY29uc3QgU3RyaW5nJiBuYW1lKTsKKyAgICB2b2lk
IGNsZWFyUGVuZGluZ1dyaXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MoKTsKIAogICAgIHZvaWQg
bWFrZURpcnR5KCkgeyArK21fdXBkYXRlQ291bnRlcjsgfQogICAgIGJvb2wgaXNEaXJ0eSh1aW50
NjRfdCB1cGRhdGVDb3VudGVyKSBjb25zdDsKQEAgLTEwMyw2ICsxMDYsOCBAQCBwcml2YXRlOgog
ICAgIEhhc2hNYXA8TmV0d29ya0NhY2hlOjpLZXksIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpS
ZWNvcmQ+IG1fdm9sYXRpbGVTdG9yYWdlOwogICAgIG11dGFibGUgc3RkOjpvcHRpb25hbDxOZXR3
b3JrQ2FjaGU6OlNhbHQ+IG1fdm9sYXRpbGVTYWx0OwogICAgIFZlY3RvcjxXZWJDb3JlOjpET01D
YWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrPiBtX3BlbmRpbmdJbml0aWFsaXphdGlvbkNh
bGxiYWNrczsKKyAgICBib29sIG1faXNXcml0aW5nQ2FjaGVzVG9EaXNrIHsgZmFsc2UgfTsKKyAg
ICBEZXF1ZTxDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RE9N
Q2FjaGVFbmdpbmU6OkVycm9yPik+PiBtX3BlbmRpbmdXcml0aW5nQ2FjaGVzVG9EaXNrQ2FsbGJh
Y2tzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQ2FjaGVTdG9yYWdlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDk1NDM3NTYw
NzdmNDhlZjQyZmU2NGVkOTYwNjRmOTM5ODAxMGE0OC4uNGJkNjM5YmU3MzU1Y2EyYmQ5NWExNGYw
MjIwNTM0YjQ0NzE1NDA4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTAxLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDYWNoZSBBUEkgc2hvdWxk
IG1ha2Ugc3VyZSB0byByZXNvbHZlIGNhY2hlcy5vcGVuIHByb21pc2VzIGluIHRoZSBzYW1lIG9y
ZGVyIGFzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgyMTkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjkzMDM2Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvd3B0L2NhY2hl
LXN0b3JhZ2UvY2FjaGUtb3Blbi5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi5odHRwcy5odG1sOiBBZGRlZC4KKwog
MjAxOC0wMS0yOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgTGF5b3V0IFRlc3QgZmFzdC9ldmVudHMvYmVmb3JldW5sb2FkLWRvbS1tYW5pcHVsYXRpb24t
Y3Jhc2guaHRtbCBpcyBjcmFzaGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y2FjaGUtc3RvcmFnZS9jYWNoZS1vcGVuLWRlbGV0ZS1pbi1wYXJhbGxlbC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLW9wZW4tZGVs
ZXRlLWluLXBhcmFsbGVsLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjg2MGZjMjgx
NTUzMWIzMjFkMzMyNjVmNGI3ZTRiNGIzNWU0NTVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1vcGVuLWRlbGV0ZS1pbi1wYXJhbGxl
bC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdGluZyBvcmRl
cmluZyBvZiBvcGVuaW5nIGNhY2hlIHByb21pc2VzIHJlc29sdXRpb24gCitQQVNTIFRlc3Rpbmcg
b3JkZXJpbmcgb2YgZGVsZXRpbmcgY2FjaGUgcHJvbWlzZXMgcmVzb2x1dGlvbiAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1vcGVuLWRlbGV0
ZS1pbi1wYXJhbGxlbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3Rv
cmFnZS9jYWNoZS1vcGVuLWRlbGV0ZS1pbi1wYXJhbGxlbC5odHRwcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU5MTRmM2RlOGRlNGU0YjEwODYyZDVhYmJlYmU5NjFhZjc0NzhjNzIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLW9wZW4tZGVsZXRl
LWluLXBhcmFsbGVsLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkNhY2hlIFN0b3JhZ2U6IHRlc3Rpbmcgb3BlbiBhbmQg
ZGVsZXRlIGluIHBhcmFsbGVsPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3Byb21pc2Vf
dGVzdChhc3luYyB0ZXN0ID0+IHsKKyAgICBhd2FpdCBjYWNoZXMuZGVsZXRlKCJ0ZXN0Iik7CisK
KyAgICB2YXIgcmVzdWx0ID0gIkZBSUwiOworICAgIGNhY2hlcy5vcGVuKCJ0ZXN0IikudGhlbigo
KT0+IHJlc3VsdCA9ICJQQVNTIik7CisgICAgYXdhaXQgY2FjaGVzLm9wZW4oInRlc3QiKTsKKwor
ICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAiUEFTUyIsICJPcGVuIHJlc29sdXRpb24gb3JkZXIi
KTsKK30sICJUZXN0aW5nIG9yZGVyaW5nIG9mIG9wZW5pbmcgY2FjaGUgcHJvbWlzZXMgcmVzb2x1
dGlvbiIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdCA9PiB7CisgICAgYXdhaXQgY2FjaGVz
Lm9wZW4oInRlc3QiKTsKKworICAgIHZhciByZXN1bHQgPSAiRkFJTCI7CisgICAgY2FjaGVzLmRl
bGV0ZSgidGVzdCIpLnRoZW4oKHZhbHVlKT0+IHsKKyAgICAgICAgcmVzdWx0ID0gdmFsdWUgPyAi
UEFTUyIgOiAiRkFJTDogZGVsZXRlIGRpZCBub3QgcmV0dXJuIHRydWUiOworICAgIH0pOworICAg
IGFzc2VydF9mYWxzZShhd2FpdCBjYWNoZXMuZGVsZXRlKCJ0ZXN0IikpOworCisgICAgYXNzZXJ0
X2VxdWFscyhyZXN1bHQsICJQQVNTIiwgIkRlbGV0ZSByZXNvbHV0aW9uIG9yZGVyIik7Cit9LCAi
VGVzdGluZyBvcmRlcmluZyBvZiBkZWxldGluZyBjYWNoZSBwcm9taXNlcyByZXNvbHV0aW9uIik7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332580</attachid>
            <date>2018-01-29 14:28:55 -0800</date>
            <delta_ts>2018-01-29 15:58:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182193-20180129142854.patch</filename>
            <type>text/plain</type>
            <size>15273</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3NzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk4NDYxMTVjODhhNTRk
MzYyYTc3ZTJiYmViZWFmOWEwYmQxNzkwMi4uY2Y4NjQ4MmY1MDM5YmZkZmI5MjYzODhkNGI1NDlj
ZWM1ZmU0NjUzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTAxLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDYWNoZSBBUEkgc2hvdWxk
IG1ha2Ugc3VyZSB0byByZXNvbHZlIGNhY2hlcy5vcGVuIHByb21pc2VzIGluIHRoZSBzYW1lIG9y
ZGVyIGFzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgyMTkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjkzMDM2Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IExheW91
dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi1kZWxldGUtaW4tcGFyYWxs
ZWwuaHR0cHMuaHRtbC4KKworICAgICAgICAqIE1vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTUNhY2hlU3RvcmFnZTo6ZG9SZW1vdmUpOiBSZW1v
dmVkIG9wdGltaXphdGlvbiBjb25zaXN0aW5nIGluIHJlbW92aW5nIHRoZSBjYWNoZSBmcm9tIERP
TUNhY2hlU3RvcmFnZSBvYmplY3Qgc3luY2hyb25vdXNseS4KKyAgICAgICAgVGhpcyBvcHRpbWl6
YXRpb24gcHJldmVudHMgZ29pbmcgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcyB0byB0cnkgZGVsZXRp
bmcgdGhlIGNhY2hlLgorCiAyMDE4LTAxLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBMYXlvdXQgVGVzdCBmYXN0L2V2ZW50cy9iZWZvcmV1bmxvYWQt
ZG9tLW1hbmlwdWxhdGlvbi1jcmFzaC5odG1sIGlzIGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU4Y2M4
OTIzODk0YThjZjgzZGUwYzgxZjVkOWNjNDA4ZTRlMDRkY2MuLmVjN2YwMGIxOTE2NWFkOTY2NjRh
NDFmNjhiZDk1NWI0MmMxNmM1ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTgtMDEt
MjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENhY2hlIEFQ
SSBzaG91bGQgbWFrZSBzdXJlIHRvIHJlc29sdmUgY2FjaGVzLm9wZW4gcHJvbWlzZXMgaW4gdGhl
IHNhbWUgb3JkZXIgYXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODIxOTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM2OTMwMzYzPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvdmVyZWQg
YnkgYWRkZWQgdGVzdC4KKyAgICAgICAgV2hlbmV2ZXIgb3BlbmluZy9yZW1vdmluZyBhIGNhY2hl
IHJlcXVpcmVzIHdyaXRpbmcgdG8gZGlzaywgd2FpdCB0byBmaW5pc2ggdGhlIHRhc2sKKyAgICAg
ICAgdW50aWwgYW55IGRpc2sgd3JpdGluZyB0YXNrIGlzIGRvbmUuCisgICAgICAgIEFwcGx5aW5n
IHRoaXMgc3RyYXRlZ3kgd2hlbiBjbGVhcmluZyBkYXRhIHNvIHRoYXQgd2UgYWxzbyBjbGVhciBk
YXRhIHRoYXQgaXMgcGVuZGluZyB0byBiZSB3cml0dGVuLgorICAgICAgICBGb3IgcmVtb3Zpbmcg
Y2FjaGUsIHdlIG5vdyByZXR1cm4gd2hldGhlciBhIGNhY2hlIHdhcyBhY3R1YWxseSBkZWxldGVk
IGJ5IHJldHVybmluZyB6ZXJvIGFzIHJlbW92ZWQgY2FjaGUgaWRlbnRpZmllci4KKyAgICAgICAg
V2ViQ29yZSB1c2VzIHRoYXQgaW5mb3JtYXRpb24gdG8gcmV0dXJuIHRydWUvZmFsc2UgYXMgcHJv
bWlzZSByZXNvbHV0aW9uIHZhbHVlLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUv
Q2FjaGVTdG9yYWdlRW5naW5lLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpF
bmdpbmU6OnJldHJpZXZlQ2FjaGVzKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9D
YWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3Jh
Z2U6OkNhY2hlczo6Y2xlYXIpOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hl
czo6b3Blbik6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpyZW1vdmUp
OgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6d3JpdGVDYWNoZXNUb0Rp
c2spOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6Y2FjaGVJbmZvcyk6
CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpjYWNoZUluZm9zIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VF
bmdpbmVDYWNoZXMuaDoKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OmNy
ZWF0ZVdlYWtQdHIpOgorCiAyMDE4LTAxLTI5ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbQ2Fpcm9dIEFkZCBHcmFwaGljc0NvbnRleHRJbXBsQ2Fpcm86
OmNyZWF0ZUZhY3RvcnkoKSBoZWxwZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NhY2hlL0RPTUNhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0RPTUNhY2hlU3RvcmFnZS5jcHAKaW5kZXggZWE3M2IxZGI4M2MwNDkwMTQ4N2ZiYWNlMDM5
MTJlZWJhMWE4MWE2OS4uM2Y1ZmI5M2IzOWM5OTEzODhlMDA0ZTc0OWIwNGQ5MmE1ZWY5YmU1MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZVN0b3JhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdlLmNw
cApAQCAtMjMzLDExICsyMzMsMTAgQEAgdm9pZCBET01DYWNoZVN0b3JhZ2U6OmRvUmVtb3ZlKGNv
bnN0IFN0cmluZyYgbmFtZSwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4KICAgICAgICAg
ICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGlmIChyZXN1bHQudmFsdWUoKS5oYWRTdG9yYWdl
RXJyb3IpCiAgICAgICAgICAgICAgICAgICAgIGxvZ0NvbnNvbGVQZXJzaXN0ZW5jeUVycm9yKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgbmFtZSk7Ci0gICAgICAgICAgICAgICAgcHJvbWlzZS5y
ZXNvbHZlKHRydWUpOworICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSghIXJlc3VsdC52
YWx1ZSgpLmlkZW50aWZpZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSk7Ci0g
ICAgbV9jYWNoZXMucmVtb3ZlKHBvc2l0aW9uKTsKIH0KIAogdm9pZCBET01DYWNoZVN0b3JhZ2U6
OmtleXMoS2V5c1Byb21pc2UmJiBwcm9taXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCmluZGV4IGI2ODAy
M2JhNzJkNWUyNjk4NGUwODBlMzAxM2E3ZjM0YTk4NjhhNTUuLjliYzhmYTgzMzUwYjFjZjc5ZjE1
YWJlZjExMThkOGJmODdkNzA5ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKQEAgLTEzOCw3ICsxMzgs
NyBAQCB2b2lkIEVuZ2luZTo6cmV0cmlldmVDYWNoZXMoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3Jp
Z2luJiBvcmlnaW4sIHVpbnQ2NF90IHVwZGF0ZQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAKLSAgICAgICAgY2FsbGJhY2soY2FjaGVzT3JFcnJvci52YWx1ZSgpLmdldCgpLmNhY2hl
SW5mb3ModXBkYXRlQ291bnRlcikpOworICAgICAgICBjYWNoZXNPckVycm9yLnZhbHVlKCkuZ2V0
KCkuY2FjaGVJbmZvcyh1cGRhdGVDb3VudGVyLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiAgICAgfSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2Fj
aGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAppbmRleCA0ODAxNjk0OWM1YWU5NDc3
MmRlOWEyZGIxMDZlMzUwOWE2ZDllZTZkLi42ZDFkOTA5MTc1NzYwZmYyNzhkM2QzZjlmNTk0OWQx
ZGUyM2EyNWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCkBAIC01MCw2ICs1MCwx
MSBAQCBzdGF0aWMgaW5saW5lIFN0cmluZyBjYWNoZXNPcmlnaW5GaWxlbmFtZShjb25zdCBTdHJp
bmcmIGNhY2hlc1Jvb3RQYXRoKQogICAgIHJldHVybiBXZWJDb3JlOjpGaWxlU3lzdGVtOjpwYXRo
QnlBcHBlbmRpbmdDb21wb25lbnQoY2FjaGVzUm9vdFBhdGgsIEFTQ0lJTGl0ZXJhbCgib3JpZ2lu
IikpOwogfQogCitDYWNoZXM6On5DYWNoZXMoKQoreworICAgIEFTU0VSVChtX3BlbmRpbmdXcml0
aW5nQ2FjaGVzVG9EaXNrQ2FsbGJhY2tzLmlzRW1wdHkoKSk7Cit9CisKIHZvaWQgQ2FjaGVzOjpy
ZXRyaWV2ZU9yaWdpbkZyb21EaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBmb2xkZXJQYXRoLCBXb3Jr
UXVldWUmIHF1ZXVlLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpDbGllbnRPcmlnaW4+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIHF1
ZXVlLmRpc3BhdGNoKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpLCBmb2xkZXJQYXRoID0gZm9sZGVyUGF0aC5pc29sYXRlZENvcHkoKV0oKSBtdXRhYmxlIHsK
QEAgLTE5NiwxMCArMjAxLDIzIEBAIHZvaWQgQ2FjaGVzOjpkZXRhY2goKQogewogICAgIG1fZW5n
aW5lID0gbnVsbHB0cjsKICAgICBtX3Jvb3RQYXRoID0geyB9OworICAgIGNsZWFyUGVuZGluZ1dy
aXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MoKTsKIH0KIAogdm9pZCBDYWNoZXM6OmNsZWFyKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBpZiAo
bV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2spIHsKKyAgICAgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hl
c1RvRGlza0NhbGxiYWNrcy5hcHBlbmQoW3RoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildIChhdXRvJiYgZXJyb3IpIG11dGFibGUgeworICAgICAgICAg
ICAgQVNTRVJUKCFlcnJvcik7CisgICAgICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIHRoaXMtPmNsZWFyKFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAobV9l
bmdpbmUpCiAgICAgICAgIG1fZW5naW5lLT5yZW1vdmVGaWxlKGNhY2hlc0xpc3RGaWxlbmFtZSht
X3Jvb3RQYXRoKSk7CiAgICAgaWYgKG1fc3RvcmFnZSkgewpAQCAtMjExLDkgKzIyOSwxNyBAQCB2
b2lkIENhY2hlczo6Y2xlYXIoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNsZWFyTWVtb3J5UmVwcmVzZW50
YXRpb24oKTsKKyAgICBjbGVhclBlbmRpbmdXcml0aW5nQ2FjaGVzVG9EaXNrQ2FsbGJhY2tzKCk7
CiAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAordm9pZCBDYWNoZXM6OmNsZWFyUGVuZGlu
Z1dyaXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MoKQoreworICAgIGF1dG8gcGVuZGluZ1dyaXRp
bmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MgPSBXVEZNb3ZlKG1fcGVuZGluZ1dyaXRpbmdDYWNoZXNU
b0Rpc2tDYWxsYmFja3MpOworICAgIGZvciAoYXV0byYgY2FsbGJhY2sgOiBwZW5kaW5nV3JpdGlu
Z0NhY2hlc1RvRGlza0NhbGxiYWNrcykKKyAgICAgICAgY2FsbGJhY2soRXJyb3I6OkludGVybmFs
KTsKK30KKwogQ2FjaGUqIENhY2hlczo6ZmluZChjb25zdCBTdHJpbmcmIG5hbWUpCiB7CiAgICAg
YXV0byBwb3NpdGlvbiA9IG1fY2FjaGVzLmZpbmRNYXRjaGluZyhbJl0oY29uc3QgYXV0byYgaXRl
bSkgeyByZXR1cm4gaXRlbS5uYW1lKCkgPT0gbmFtZTsgfSk7CkBAIC0yMzUsNiArMjYxLDE3IEBA
IHZvaWQgQ2FjaGVzOjpvcGVuKGNvbnN0IFN0cmluZyYgbmFtZSwgQ2FjaGVJZGVudGlmaWVyQ2Fs
bGJhY2smJiBjYWxsYmFjaykKICAgICBBU1NFUlQobV9pc0luaXRpYWxpemVkKTsKICAgICBBU1NF
UlQobV9lbmdpbmUpOwogCisgICAgaWYgKG1faXNXcml0aW5nQ2FjaGVzVG9EaXNrKSB7CisgICAg
ICAgIG1fcGVuZGluZ1dyaXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MuYXBwZW5kKFt0aGlzLCBu
YW1lLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoYXV0byYmIGVycm9yKSBtdXRhYmxl
IHsKKyAgICAgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgICAgIGNhbGxiYWNrKG1h
a2VVbmV4cGVjdGVkKGVycm9yLnZhbHVlKCkpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICB0aGlzLT5vcGVuKG5hbWUsIFdURk1vdmUoY2FsbGJh
Y2spKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoYXV0
byogY2FjaGUgPSBmaW5kKG5hbWUpKSB7CiAgICAgICAgIGNhY2hlLT5vcGVuKFtjYWNoZUlkZW50
aWZpZXIgPSBjYWNoZS0+aWRlbnRpZmllcigpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2sp
XShzdGQ6Om9wdGlvbmFsPEVycm9yPiYmIGVycm9yKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlm
IChlcnJvcikgewpAQCAtMjYxLDExICsyOTgsMjIgQEAgdm9pZCBDYWNoZXM6OnJlbW92ZSh1aW50
NjRfdCBpZGVudGlmaWVyLCBDYWNoZUlkZW50aWZpZXJDYWxsYmFjayYmIGNhbGxiYWNrKQogICAg
IEFTU0VSVChtX2lzSW5pdGlhbGl6ZWQpOwogICAgIEFTU0VSVChtX2VuZ2luZSk7CiAKKyAgICBp
ZiAobV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2spIHsKKyAgICAgICAgbV9wZW5kaW5nV3JpdGluZ0Nh
Y2hlc1RvRGlza0NhbGxiYWNrcy5hcHBlbmQoW3RoaXMsIGlkZW50aWZpZXIsIGNhbGxiYWNrID0g
V1RGTW92ZShjYWxsYmFjayldIChhdXRvJiYgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAg
aWYgKGVycm9yKSB7CisgICAgICAgICAgICAgICAgY2FsbGJhY2sobWFrZVVuZXhwZWN0ZWQoZXJy
b3IudmFsdWUoKSkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIHRoaXMtPnJlbW92ZShpZGVudGlmaWVyLCBXVEZNb3ZlKGNhbGxiYWNrKSk7Cisg
ICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgYXV0byBwb3NpdGlvbiA9
IG1fY2FjaGVzLmZpbmRNYXRjaGluZyhbJl0oY29uc3QgYXV0byYgaXRlbSkgeyByZXR1cm4gaXRl
bS5pZGVudGlmaWVyKCkgPT0gaWRlbnRpZmllcjsgfSk7CiAKICAgICBpZiAocG9zaXRpb24gPT0g
bm90Rm91bmQpIHsKICAgICAgICAgQVNTRVJUKG1fcmVtb3ZlZENhY2hlcy5maW5kTWF0Y2hpbmco
WyZdKGNvbnN0IGF1dG8mIGl0ZW0pIHsgcmV0dXJuIGl0ZW0uaWRlbnRpZmllcigpID09IGlkZW50
aWZpZXI7IH0pICE9IG5vdEZvdW5kKTsKLSAgICAgICAgY2FsbGJhY2soQ2FjaGVJZGVudGlmaWVy
T3BlcmF0aW9uUmVzdWx0IHsgaWRlbnRpZmllciwgZmFsc2UgfSk7CisgICAgICAgIGNhbGxiYWNr
KENhY2hlSWRlbnRpZmllck9wZXJhdGlvblJlc3VsdCB7IDAsIGZhbHNlIH0pOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCkBAIC0zNzEsNiArNDE5LDcgQEAgdm9pZCBDYWNoZXM6OnJlYWRDYWNo
ZXNGcm9tRGlzayhXVEY6OkZ1bmN0aW9uPHZvaWQoRXhwZWN0ZWQ8VmVjdG9yPENhY2hlPiwgRXJy
b3IKIAogdm9pZCBDYWNoZXM6OndyaXRlQ2FjaGVzVG9EaXNrKENvbXBsZXRpb25DYWxsYmFjayYm
IGNhbGxiYWNrKQogeworICAgIEFTU0VSVCghbV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2spOwogICAg
IEFTU0VSVChtX2lzSW5pdGlhbGl6ZWQpOwogICAgIGlmICghc2hvdWxkUGVyc2lzdCgpKSB7CiAg
ICAgICAgIGNhbGxiYWNrKHN0ZDo6bnVsbG9wdCk7CkBAIC0zODUsOCArNDM0LDEyIEBAIHZvaWQg
Q2FjaGVzOjp3cml0ZUNhY2hlc1RvRGlzayhDb21wbGV0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fZW5naW5lLT53cml0ZUZpbGUoY2FjaGVz
TGlzdEZpbGVuYW1lKG1fcm9vdFBhdGgpLCBlbmNvZGVDYWNoZU5hbWVzKG1fY2FjaGVzKSwgW2Nh
bGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYgZXJyb3Ip
IG11dGFibGUgeworICAgIG1faXNXcml0aW5nQ2FjaGVzVG9EaXNrID0gdHJ1ZTsKKyAgICBtX2Vu
Z2luZS0+d3JpdGVGaWxlKGNhY2hlc0xpc3RGaWxlbmFtZShtX3Jvb3RQYXRoKSwgZW5jb2RlQ2Fj
aGVOYW1lcyhtX2NhY2hlcyksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyks
IGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYgZXJy
b3IpIG11dGFibGUgeworICAgICAgICBtX2lzV3JpdGluZ0NhY2hlc1RvRGlzayA9IGZhbHNlOwog
ICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKGVycm9yKSk7CisgICAgICAgIHdoaWxlICghbV9wZW5k
aW5nV3JpdGluZ0NhY2hlc1RvRGlza0NhbGxiYWNrcy5pc0VtcHR5KCkgJiYgIW1faXNXcml0aW5n
Q2FjaGVzVG9EaXNrKQorICAgICAgICAgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0Nh
bGxiYWNrcy50YWtlRmlyc3QoKShzdGQ6Om51bGxvcHQpOwogICAgIH0pOwogfQogCkBAIC01MTUs
MTUgKzU2OCwyNiBAQCBjb25zdCBOZXR3b3JrQ2FjaGU6OlNhbHQmIENhY2hlczo6c2FsdCgpIGNv
bnN0CiAgICAgcmV0dXJuIG1fdm9sYXRpbGVTYWx0LnZhbHVlKCk7CiB9CiAKLUNhY2hlSW5mb3Mg
Q2FjaGVzOjpjYWNoZUluZm9zKHVpbnQ2NF90IHVwZGF0ZUNvdW50ZXIpIGNvbnN0Cit2b2lkIENh
Y2hlczo6Y2FjaGVJbmZvcyh1aW50NjRfdCB1cGRhdGVDb3VudGVyLCBDYWNoZUluZm9zQ2FsbGJh
Y2smJiBjYWxsYmFjaykKIHsKKyAgICBpZiAobV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2spIHsKKyAg
ICAgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0NhbGxiYWNrcy5hcHBlbmQoW3RoaXMs
IHVwZGF0ZUNvdW50ZXIsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldIChhdXRvJiYgZXJy
b3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICAgICAg
Y2FsbGJhY2sobWFrZVVuZXhwZWN0ZWQoZXJyb3IudmFsdWUoKSkpOworICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHRoaXMtPmNhY2hlSW5mb3ModXBk
YXRlQ291bnRlciwgV1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKwogICAgIFZlY3RvcjxDYWNoZUluZm8+IGNhY2hlSW5mb3M7CiAgICAgaWYg
KGlzRGlydHkodXBkYXRlQ291bnRlcikpIHsKICAgICAgICAgY2FjaGVJbmZvcy5yZXNlcnZlSW5p
dGlhbENhcGFjaXR5KG1fY2FjaGVzLnNpemUoKSk7CiAgICAgICAgIGZvciAoYXV0byYgY2FjaGUg
OiBtX2NhY2hlcykKICAgICAgICAgICAgIGNhY2hlSW5mb3MudW5jaGVja2VkQXBwZW5kKENhY2hl
SW5mbyB7IGNhY2hlLmlkZW50aWZpZXIoKSwgY2FjaGUubmFtZSgpIH0pOwogICAgIH0KLSAgICBy
ZXR1cm4geyBXVEZNb3ZlKGNhY2hlSW5mb3MpLCBtX3VwZGF0ZUNvdW50ZXIgfTsKKyAgICBjYWxs
YmFjayhDYWNoZUluZm9zIHsgV1RGTW92ZShjYWNoZUluZm9zKSwgbV91cGRhdGVDb3VudGVyIH0p
OwogfQogCiB2b2lkIENhY2hlczo6YXBwZW5kUmVwcmVzZW50YXRpb24oU3RyaW5nQnVpbGRlciYg
YnVpbGRlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oCmluZGV4IGFhODIzZjIxNmIw
MjQwMTUwYjliNjQ1NTJhMmZlNjcwN2ExNjRiN2YuLjI0ZThhZTEzN2NlODAyYmU1M2FkOTg4MzY2
ODU4N2Y4MDliZWM5YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaApAQCAtMjksNiArMjks
NyBAQAogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L0NsaWVudE9yaWdpbi5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzksNiArNDAs
NyBAQCBjbGFzcyBFbmdpbmU7CiBjbGFzcyBDYWNoZXMgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNo
ZXM+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPENhY2hlcz4gY3JlYXRlKEVuZ2luZSYgZW5n
aW5lLCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFN0cmluZyYmIHJvb3RQYXRoLCB1
aW50NjRfdCBxdW90YSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZXMgeyBlbmdpbmUsIFdU
Rk1vdmUob3JpZ2luKSwgV1RGTW92ZShyb290UGF0aCksIHF1b3RhIH0pOyB9CisgICAgfkNhY2hl
cygpOwogCiAgICAgc3RhdGljIHZvaWQgcmV0cmlldmVPcmlnaW5Gcm9tRGlyZWN0b3J5KGNvbnN0
IFN0cmluZyYgZm9sZGVyUGF0aCwgV29ya1F1ZXVlJiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Q2xpZW50T3JpZ2luPiYmKT4mJik7CiAKQEAgLTUw
LDcgKzUyLDcgQEAgcHVibGljOgogICAgIHZvaWQgZGV0YWNoKCk7CiAKICAgICBib29sIGlzSW5p
dGlhbGl6ZWQoKSBjb25zdCB7IHJldHVybiBtX2lzSW5pdGlhbGl6ZWQ7IH0KLSAgICBXZWJDb3Jl
OjpET01DYWNoZUVuZ2luZTo6Q2FjaGVJbmZvcyBjYWNoZUluZm9zKHVpbnQ2NF90IHVwZGF0ZUNv
dW50ZXIpIGNvbnN0OworICAgIHZvaWQgY2FjaGVJbmZvcyh1aW50NjRfdCB1cGRhdGVDb3VudGVy
LCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q2FjaGVJbmZvc0NhbGxiYWNrJiYpOwogCiAgICAg
Q2FjaGUqIGZpbmQodWludDY0X3QgaWRlbnRpZmllcik7CiAgICAgdm9pZCBhcHBlbmRSZXByZXNl
bnRhdGlvbihTdHJpbmdCdWlsZGVyJikgY29uc3Q7CkBAIC04Niw2ICs4OCw3IEBAIHByaXZhdGU6
CiAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Q2xpZW50T3JpZ2luPiByZWFkT3Jp
Z2luKGNvbnN0IE5ldHdvcmtDYWNoZTo6RGF0YSYpOwogCiAgICAgQ2FjaGUqIGZpbmQoY29uc3Qg
U3RyaW5nJiBuYW1lKTsKKyAgICB2b2lkIGNsZWFyUGVuZGluZ1dyaXRpbmdDYWNoZXNUb0Rpc2tD
YWxsYmFja3MoKTsKIAogICAgIHZvaWQgbWFrZURpcnR5KCkgeyArK21fdXBkYXRlQ291bnRlcjsg
fQogICAgIGJvb2wgaXNEaXJ0eSh1aW50NjRfdCB1cGRhdGVDb3VudGVyKSBjb25zdDsKQEAgLTEw
Myw2ICsxMDYsOCBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8TmV0d29ya0NhY2hlOjpLZXksIFdl
YkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmQ+IG1fdm9sYXRpbGVTdG9yYWdlOwogICAgIG11
dGFibGUgc3RkOjpvcHRpb25hbDxOZXR3b3JrQ2FjaGU6OlNhbHQ+IG1fdm9sYXRpbGVTYWx0Owog
ICAgIFZlY3RvcjxXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrPiBt
X3BlbmRpbmdJbml0aWFsaXphdGlvbkNhbGxiYWNrczsKKyAgICBib29sIG1faXNXcml0aW5nQ2Fj
aGVzVG9EaXNrIHsgZmFsc2UgfTsKKyAgICBEZXF1ZTxDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkVycm9yPik+PiBtX3BlbmRpbmdX
cml0aW5nQ2FjaGVzVG9EaXNrQ2FsbGJhY2tzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQ2FjaGVT
dG9yYWdlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZDk1NDM3NTYwNzdmNDhlZjQyZmU2NGVkOTYwNjRmOTM5ODAxMGE0OC4u
NGJkNjM5YmU3MzU1Y2EyYmQ5NWExNGYwMjIwNTM0YjQ0NzE1NDA4MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDE4LTAxLTI5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBDYWNoZSBBUEkgc2hvdWxkIG1ha2Ugc3VyZSB0byByZXNvbHZlIGNhY2hlcy5vcGVu
IHByb21pc2VzIGluIHRoZSBzYW1lIG9yZGVyIGFzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMTkzCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8zNjkzMDM2Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi5odHRwcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Bl
bi5odHRwcy5odG1sOiBBZGRlZC4KKwogMjAxOC0wMS0yOSAgUGVyIEFybmUgVm9sbGFuICA8cHZv
bGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgTGF5b3V0IFRlc3QgZmFzdC9ldmVudHMvYmVmb3Jl
dW5sb2FkLWRvbS1tYW5pcHVsYXRpb24tY3Jhc2guaHRtbCBpcyBjcmFzaGluZwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1vcGVuLWRlbGV0ZS1p
bi1wYXJhbGxlbC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNo
ZS1zdG9yYWdlL2NhY2hlLW9wZW4tZGVsZXRlLWluLXBhcmFsbGVsLmh0dHBzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zZjg2MGZjMjgxNTUzMWIzMjFkMzMyNjVmNGI3ZTRiNGIzNWU0NTVkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNo
ZS1vcGVuLWRlbGV0ZS1pbi1wYXJhbGxlbC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0
IEBACisKK1BBU1MgVGVzdGluZyBvcmRlcmluZyBvZiBvcGVuaW5nIGNhY2hlIHByb21pc2VzIHJl
c29sdXRpb24gCitQQVNTIFRlc3Rpbmcgb3JkZXJpbmcgb2YgZGVsZXRpbmcgY2FjaGUgcHJvbWlz
ZXMgcmVzb2x1dGlvbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUt
c3RvcmFnZS9jYWNoZS1vcGVuLWRlbGV0ZS1pbi1wYXJhbGxlbC5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1vcGVuLWRlbGV0ZS1pbi1wYXJhbGxl
bC5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5MTRmM2RlOGRlNGU0YjEwODYyZDVhYmJlYmU5NjFh
Zjc0NzhjNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1z
dG9yYWdlL2NhY2hlLW9wZW4tZGVsZXRlLWluLXBhcmFsbGVsLmh0dHBzLmh0bWwKQEAgLTAsMCAr
MSwzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkNhY2hlIFN0
b3JhZ2U6IHRlc3Rpbmcgb3BlbiBhbmQgZGVsZXRlIGluIHBhcmFsbGVsPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0ID0+IHsKKyAgICBhd2FpdCBj
YWNoZXMuZGVsZXRlKCJ0ZXN0Iik7CisKKyAgICB2YXIgcmVzdWx0ID0gIkZBSUwiOworICAgIGNh
Y2hlcy5vcGVuKCJ0ZXN0IikudGhlbigoKT0+IHJlc3VsdCA9ICJQQVNTIik7CisgICAgYXdhaXQg
Y2FjaGVzLm9wZW4oInRlc3QiKTsKKworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAiUEFTUyIs
ICJPcGVuIHJlc29sdXRpb24gb3JkZXIiKTsKK30sICJUZXN0aW5nIG9yZGVyaW5nIG9mIG9wZW5p
bmcgY2FjaGUgcHJvbWlzZXMgcmVzb2x1dGlvbiIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVz
dCA9PiB7CisgICAgYXdhaXQgY2FjaGVzLm9wZW4oInRlc3QiKTsKKworICAgIHZhciByZXN1bHQg
PSAiRkFJTCI7CisgICAgY2FjaGVzLmRlbGV0ZSgidGVzdCIpLnRoZW4oKHZhbHVlKT0+IHsKKyAg
ICAgICAgcmVzdWx0ID0gdmFsdWUgPyAiUEFTUyIgOiAiRkFJTDogZGVsZXRlIGRpZCBub3QgcmV0
dXJuIHRydWUiOworICAgIH0pOworICAgIGFzc2VydF9mYWxzZShhd2FpdCBjYWNoZXMuZGVsZXRl
KCJ0ZXN0IikpOworCisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICJQQVNTIiwgIkRlbGV0ZSBy
ZXNvbHV0aW9uIG9yZGVyIik7Cit9LCAiVGVzdGluZyBvcmRlcmluZyBvZiBkZWxldGluZyBjYWNo
ZSBwcm9taXNlcyByZXNvbHV0aW9uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332594</attachid>
            <date>2018-01-29 15:58:05 -0800</date>
            <delta_ts>2018-01-29 17:41:27 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-182193-20180129155804.patch</filename>
            <type>text/plain</type>
            <size>15131</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3NzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk4NDYxMTVjODhhNTRk
MzYyYTc3ZTJiYmViZWFmOWEwYmQxNzkwMi4uMGJjZGYxZDQxMzIxNzljOTI4ZjY0OTM5N2U1NWNi
MGIxMGQyZTk3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTAxLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDYWNoZSBBUEkgc2hvdWxk
IG1ha2Ugc3VyZSB0byByZXNvbHZlIGNhY2hlcy5vcGVuIHByb21pc2VzIGluIHRoZSBzYW1lIG9y
ZGVyIGFzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgyMTkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjkzMDM2Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBDb3ZlcmVkIGJ5IExheW91dFRl
c3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi1kZWxldGUtaW4tcGFyYWxsZWwu
aHR0cHMuaHRtbC4KKworICAgICAgICAqIE1vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTUNhY2hlU3RvcmFnZTo6ZG9SZW1vdmUpOiBSZW1vdmVk
IG9wdGltaXphdGlvbiBjb25zaXN0aW5nIGluIHJlbW92aW5nIHRoZSBjYWNoZSBmcm9tIERPTUNh
Y2hlU3RvcmFnZSBvYmplY3Qgc3luY2hyb25vdXNseS4KKyAgICAgICAgVGhpcyBvcHRpbWl6YXRp
b24gcHJldmVudHMgZ29pbmcgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcyB0byB0cnkgZGVsZXRpbmcg
dGhlIGNhY2hlLgorCiAyMDE4LTAxLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBMYXlvdXQgVGVzdCBmYXN0L2V2ZW50cy9iZWZvcmV1bmxvYWQtZG9t
LW1hbmlwdWxhdGlvbi1jcmFzaC5odG1sIGlzIGNyYXNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU4Y2M4OTIz
ODk0YThjZjgzZGUwYzgxZjVkOWNjNDA4ZTRlMDRkY2MuLmU0NWJiNjQxY2UzNzgwMDY1NTIzN2Zh
YzQ3OTRkNmRlNDkwZmFhNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTgtMDEtMjkg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENhY2hlIEFQSSBz
aG91bGQgbWFrZSBzdXJlIHRvIHJlc29sdmUgY2FjaGVzLm9wZW4gcHJvbWlzZXMgaW4gdGhlIHNh
bWUgb3JkZXIgYXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODIxOTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM2OTMwMzYzPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgIENvdmVyZWQgYnkgYWRk
ZWQgdGVzdC4KKyAgICAgICAgV2hlbmV2ZXIgb3BlbmluZy9yZW1vdmluZyBhIGNhY2hlIHJlcXVp
cmVzIHdyaXRpbmcgdG8gZGlzaywgd2FpdCB0byBmaW5pc2ggdGhlIHRhc2sKKyAgICAgICAgdW50
aWwgYW55IGRpc2sgd3JpdGluZyB0YXNrIGlzIGRvbmUuCisgICAgICAgIEFwcGx5aW5nIHRoaXMg
c3RyYXRlZ3kgd2hlbiBjbGVhcmluZyBkYXRhIHNvIHRoYXQgd2UgYWxzbyBjbGVhciBkYXRhIHRo
YXQgaXMgcGVuZGluZyB0byBiZSB3cml0dGVuLgorICAgICAgICBGb3IgcmVtb3ZpbmcgY2FjaGUs
IHdlIG5vdyByZXR1cm4gd2hldGhlciBhIGNhY2hlIHdhcyBhY3R1YWxseSBkZWxldGVkIGJ5IHJl
dHVybmluZyB6ZXJvIGFzIHJlbW92ZWQgY2FjaGUgaWRlbnRpZmllci4KKyAgICAgICAgV2ViQ29y
ZSB1c2VzIHRoYXQgaW5mb3JtYXRpb24gdG8gcmV0dXJuIHRydWUvZmFsc2UgYXMgcHJvbWlzZSBy
ZXNvbHV0aW9uIHZhbHVlLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVT
dG9yYWdlRW5naW5lLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpFbmdpbmU6
OnJldHJpZXZlQ2FjaGVzKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0
b3JhZ2VFbmdpbmVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNh
Y2hlczo6Y2xlYXIpOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6b3Bl
bik6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpyZW1vdmUpOgorICAg
ICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6d3JpdGVDYWNoZXNUb0Rpc2spOgor
ICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6Y2FjaGVJbmZvcyk6CisgICAg
ICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpjYWNoZUluZm9zIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVD
YWNoZXMuaDoKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OmNyZWF0ZVdl
YWtQdHIpOgorCiAyMDE4LTAxLTI5ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbQ2Fpcm9dIEFkZCBHcmFwaGljc0NvbnRleHRJbXBsQ2Fpcm86OmNyZWF0
ZUZhY3RvcnkoKSBoZWxwZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0RPTUNhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RP
TUNhY2hlU3RvcmFnZS5jcHAKaW5kZXggZWE3M2IxZGI4M2MwNDkwMTQ4N2ZiYWNlMDM5MTJlZWJh
MWE4MWE2OS4uM2Y1ZmI5M2IzOWM5OTEzODhlMDA0ZTc0OWIwNGQ5MmE1ZWY5YmU1MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZVN0b3JhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdlLmNwcApAQCAt
MjMzLDExICsyMzMsMTAgQEAgdm9pZCBET01DYWNoZVN0b3JhZ2U6OmRvUmVtb3ZlKGNvbnN0IFN0
cmluZyYgbmFtZSwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4KICAgICAgICAgICAgIGVs
c2UgewogICAgICAgICAgICAgICAgIGlmIChyZXN1bHQudmFsdWUoKS5oYWRTdG9yYWdlRXJyb3Ip
CiAgICAgICAgICAgICAgICAgICAgIGxvZ0NvbnNvbGVQZXJzaXN0ZW5jeUVycm9yKHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSwgbmFtZSk7Ci0gICAgICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZl
KHRydWUpOworICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSghIXJlc3VsdC52YWx1ZSgp
LmlkZW50aWZpZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSk7Ci0gICAgbV9j
YWNoZXMucmVtb3ZlKHBvc2l0aW9uKTsKIH0KIAogdm9pZCBET01DYWNoZVN0b3JhZ2U6OmtleXMo
S2V5c1Byb21pc2UmJiBwcm9taXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCmluZGV4IGI2ODAyM2JhNzJk
NWUyNjk4NGUwODBlMzAxM2E3ZjM0YTk4NjhhNTUuLjliYzhmYTgzMzUwYjFjZjc5ZjE1YWJlZjEx
MThkOGJmODdkNzA5ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCB2
b2lkIEVuZ2luZTo6cmV0cmlldmVDYWNoZXMoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBv
cmlnaW4sIHVpbnQ2NF90IHVwZGF0ZQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAK
LSAgICAgICAgY2FsbGJhY2soY2FjaGVzT3JFcnJvci52YWx1ZSgpLmdldCgpLmNhY2hlSW5mb3Mo
dXBkYXRlQ291bnRlcikpOworICAgICAgICBjYWNoZXNPckVycm9yLnZhbHVlKCkuZ2V0KCkuY2Fj
aGVJbmZvcyh1cGRhdGVDb3VudGVyLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiAgICAgfSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9y
YWdlRW5naW5lQ2FjaGVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
Q2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAppbmRleCA0ODAxNjk0OWM1YWU5NDc3MmRlOWEy
ZGIxMDZlMzUwOWE2ZDllZTZkLi5lZWM5MDk5Mzk4MjRiMDEyODY5MWRmZWE1MGRmM2ZmNjg4MDAy
MGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hl
U3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCkBAIC01MCw2ICs1MCwxMSBAQCBz
dGF0aWMgaW5saW5lIFN0cmluZyBjYWNoZXNPcmlnaW5GaWxlbmFtZShjb25zdCBTdHJpbmcmIGNh
Y2hlc1Jvb3RQYXRoKQogICAgIHJldHVybiBXZWJDb3JlOjpGaWxlU3lzdGVtOjpwYXRoQnlBcHBl
bmRpbmdDb21wb25lbnQoY2FjaGVzUm9vdFBhdGgsIEFTQ0lJTGl0ZXJhbCgib3JpZ2luIikpOwog
fQogCitDYWNoZXM6On5DYWNoZXMoKQoreworICAgIEFTU0VSVChtX3BlbmRpbmdXcml0aW5nQ2Fj
aGVzVG9EaXNrQ2FsbGJhY2tzLmlzRW1wdHkoKSk7Cit9CisKIHZvaWQgQ2FjaGVzOjpyZXRyaWV2
ZU9yaWdpbkZyb21EaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBmb2xkZXJQYXRoLCBXb3JrUXVldWUm
IHF1ZXVlLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpDbGllbnRPcmlnaW4+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIHF1ZXVlLmRp
c3BhdGNoKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBm
b2xkZXJQYXRoID0gZm9sZGVyUGF0aC5pc29sYXRlZENvcHkoKV0oKSBtdXRhYmxlIHsKQEAgLTE5
NiwxMCArMjAxLDE4IEBAIHZvaWQgQ2FjaGVzOjpkZXRhY2goKQogewogICAgIG1fZW5naW5lID0g
bnVsbHB0cjsKICAgICBtX3Jvb3RQYXRoID0geyB9OworICAgIGNsZWFyUGVuZGluZ1dyaXRpbmdD
YWNoZXNUb0Rpc2tDYWxsYmFja3MoKTsKIH0KIAogdm9pZCBDYWNoZXM6OmNsZWFyKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBpZiAobV9pc1dy
aXRpbmdDYWNoZXNUb0Rpc2spIHsKKyAgICAgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlz
a0NhbGxiYWNrcy5hcHBlbmQoW3RoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcildIChhdXRvJiYgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgdGhp
cy0+Y2xlYXIoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICB9KTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChtX2VuZ2luZSkKICAgICAgICAgbV9lbmdpbmUt
PnJlbW92ZUZpbGUoY2FjaGVzTGlzdEZpbGVuYW1lKG1fcm9vdFBhdGgpKTsKICAgICBpZiAobV9z
dG9yYWdlKSB7CkBAIC0yMTEsOSArMjI0LDE3IEBAIHZvaWQgQ2FjaGVzOjpjbGVhcihDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgY2xlYXJNZW1vcnlSZXByZXNlbnRhdGlvbigpOworICAgIGNsZWFyUGVuZGlu
Z1dyaXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFja3MoKTsKICAgICBjb21wbGV0aW9uSGFuZGxlcigp
OwogfQogCit2b2lkIENhY2hlczo6Y2xlYXJQZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0NhbGxi
YWNrcygpCit7CisgICAgYXV0byBwZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0NhbGxiYWNrcyA9
IFdURk1vdmUobV9wZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0NhbGxiYWNrcyk7CisgICAgZm9y
IChhdXRvJiBjYWxsYmFjayA6IHBlbmRpbmdXcml0aW5nQ2FjaGVzVG9EaXNrQ2FsbGJhY2tzKQor
ICAgICAgICBjYWxsYmFjayhFcnJvcjo6SW50ZXJuYWwpOworfQorCiBDYWNoZSogQ2FjaGVzOjpm
aW5kKGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKICAgICBhdXRvIHBvc2l0aW9uID0gbV9jYWNoZXMu
ZmluZE1hdGNoaW5nKFsmXShjb25zdCBhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLm5hbWUoKSA9
PSBuYW1lOyB9KTsKQEAgLTIzNSw2ICsyNTYsMTcgQEAgdm9pZCBDYWNoZXM6Om9wZW4oY29uc3Qg
U3RyaW5nJiBuYW1lLCBDYWNoZUlkZW50aWZpZXJDYWxsYmFjayYmIGNhbGxiYWNrKQogICAgIEFT
U0VSVChtX2lzSW5pdGlhbGl6ZWQpOwogICAgIEFTU0VSVChtX2VuZ2luZSk7CiAKKyAgICBpZiAo
bV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2spIHsKKyAgICAgICAgbV9wZW5kaW5nV3JpdGluZ0NhY2hl
c1RvRGlza0NhbGxiYWNrcy5hcHBlbmQoW3RoaXMsIG5hbWUsIGNhbGxiYWNrID0gV1RGTW92ZShj
YWxsYmFjayldIChhdXRvJiYgZXJyb3IpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKGVycm9y
KSB7CisgICAgICAgICAgICAgICAgY2FsbGJhY2sobWFrZVVuZXhwZWN0ZWQoZXJyb3IudmFsdWUo
KSkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHRoaXMtPm9wZW4obmFtZSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICB9KTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChhdXRvKiBjYWNoZSA9IGZpbmQobmFtZSkpIHsK
ICAgICAgICAgY2FjaGUtPm9wZW4oW2NhY2hlSWRlbnRpZmllciA9IGNhY2hlLT5pZGVudGlmaWVy
KCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKHN0ZDo6b3B0aW9uYWw8RXJyb3I+JiYg
ZXJyb3IpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKGVycm9yKSB7CkBAIC0yNjEsMTEgKzI5
MywyMiBAQCB2b2lkIENhY2hlczo6cmVtb3ZlKHVpbnQ2NF90IGlkZW50aWZpZXIsIENhY2hlSWRl
bnRpZmllckNhbGxiYWNrJiYgY2FsbGJhY2spCiAgICAgQVNTRVJUKG1faXNJbml0aWFsaXplZCk7
CiAgICAgQVNTRVJUKG1fZW5naW5lKTsKIAorICAgIGlmIChtX2lzV3JpdGluZ0NhY2hlc1RvRGlz
aykgeworICAgICAgICBtX3BlbmRpbmdXcml0aW5nQ2FjaGVzVG9EaXNrQ2FsbGJhY2tzLmFwcGVu
ZChbdGhpcywgaWRlbnRpZmllciwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKGF1dG8m
JiBlcnJvcikgbXV0YWJsZSB7CisgICAgICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAg
ICAgICBjYWxsYmFjayhtYWtlVW5leHBlY3RlZChlcnJvci52YWx1ZSgpKSk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdGhpcy0+cmVtb3ZlKGlk
ZW50aWZpZXIsIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKICAgICBhdXRvIHBvc2l0aW9uID0gbV9jYWNoZXMuZmluZE1hdGNoaW5nKFsm
XShjb25zdCBhdXRvJiBpdGVtKSB7IHJldHVybiBpdGVtLmlkZW50aWZpZXIoKSA9PSBpZGVudGlm
aWVyOyB9KTsKIAogICAgIGlmIChwb3NpdGlvbiA9PSBub3RGb3VuZCkgewogICAgICAgICBBU1NF
UlQobV9yZW1vdmVkQ2FjaGVzLmZpbmRNYXRjaGluZyhbJl0oY29uc3QgYXV0byYgaXRlbSkgeyBy
ZXR1cm4gaXRlbS5pZGVudGlmaWVyKCkgPT0gaWRlbnRpZmllcjsgfSkgIT0gbm90Rm91bmQpOwot
ICAgICAgICBjYWxsYmFjayhDYWNoZUlkZW50aWZpZXJPcGVyYXRpb25SZXN1bHQgeyBpZGVudGlm
aWVyLCBmYWxzZSB9KTsKKyAgICAgICAgY2FsbGJhY2soQ2FjaGVJZGVudGlmaWVyT3BlcmF0aW9u
UmVzdWx0IHsgMCwgZmFsc2UgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTM3MSw2
ICs0MTQsNyBAQCB2b2lkIENhY2hlczo6cmVhZENhY2hlc0Zyb21EaXNrKFdURjo6RnVuY3Rpb248
dm9pZChFeHBlY3RlZDxWZWN0b3I8Q2FjaGU+LCBFcnJvcgogCiB2b2lkIENhY2hlczo6d3JpdGVD
YWNoZXNUb0Rpc2soQ29tcGxldGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCiB7CisgICAgQVNTRVJU
KCFtX2lzV3JpdGluZ0NhY2hlc1RvRGlzayk7CiAgICAgQVNTRVJUKG1faXNJbml0aWFsaXplZCk7
CiAgICAgaWYgKCFzaG91bGRQZXJzaXN0KCkpIHsKICAgICAgICAgY2FsbGJhY2soc3RkOjpudWxs
b3B0KTsKQEAgLTM4NSw4ICs0MjksMTIgQEAgdm9pZCBDYWNoZXM6OndyaXRlQ2FjaGVzVG9EaXNr
KENvbXBsZXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgbV9lbmdpbmUtPndyaXRlRmlsZShjYWNoZXNMaXN0RmlsZW5hbWUobV9yb290UGF0aCks
IGVuY29kZUNhY2hlTmFtZXMobV9jYWNoZXMpLCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNr
KV0oc3RkOjpvcHRpb25hbDxFcnJvcj4mJiBlcnJvcikgbXV0YWJsZSB7CisgICAgbV9pc1dyaXRp
bmdDYWNoZXNUb0Rpc2sgPSB0cnVlOworICAgIG1fZW5naW5lLT53cml0ZUZpbGUoY2FjaGVzTGlz
dEZpbGVuYW1lKG1fcm9vdFBhdGgpLCBlbmNvZGVDYWNoZU5hbWVzKG1fY2FjaGVzKSwgW3RoaXMs
IHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxi
YWNrKV0oc3RkOjpvcHRpb25hbDxFcnJvcj4mJiBlcnJvcikgbXV0YWJsZSB7CisgICAgICAgIG1f
aXNXcml0aW5nQ2FjaGVzVG9EaXNrID0gZmFsc2U7CiAgICAgICAgIGNhbGxiYWNrKFdURk1vdmUo
ZXJyb3IpKTsKKyAgICAgICAgd2hpbGUgKCFtX3BlbmRpbmdXcml0aW5nQ2FjaGVzVG9EaXNrQ2Fs
bGJhY2tzLmlzRW1wdHkoKSAmJiAhbV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2spCisgICAgICAgICAg
ICBtX3BlbmRpbmdXcml0aW5nQ2FjaGVzVG9EaXNrQ2FsbGJhY2tzLnRha2VGaXJzdCgpKHN0ZDo6
bnVsbG9wdCk7CiAgICAgfSk7CiB9CiAKQEAgLTUxNSwxNSArNTYzLDI2IEBAIGNvbnN0IE5ldHdv
cmtDYWNoZTo6U2FsdCYgQ2FjaGVzOjpzYWx0KCkgY29uc3QKICAgICByZXR1cm4gbV92b2xhdGls
ZVNhbHQudmFsdWUoKTsKIH0KIAotQ2FjaGVJbmZvcyBDYWNoZXM6OmNhY2hlSW5mb3ModWludDY0
X3QgdXBkYXRlQ291bnRlcikgY29uc3QKK3ZvaWQgQ2FjaGVzOjpjYWNoZUluZm9zKHVpbnQ2NF90
IHVwZGF0ZUNvdW50ZXIsIENhY2hlSW5mb3NDYWxsYmFjayYmIGNhbGxiYWNrKQogeworICAgIGlm
IChtX2lzV3JpdGluZ0NhY2hlc1RvRGlzaykgeworICAgICAgICBtX3BlbmRpbmdXcml0aW5nQ2Fj
aGVzVG9EaXNrQ2FsbGJhY2tzLmFwcGVuZChbdGhpcywgdXBkYXRlQ291bnRlciwgY2FsbGJhY2sg
PSBXVEZNb3ZlKGNhbGxiYWNrKV0gKGF1dG8mJiBlcnJvcikgbXV0YWJsZSB7CisgICAgICAgICAg
ICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBjYWxsYmFjayhtYWtlVW5leHBlY3RlZChl
cnJvci52YWx1ZSgpKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgdGhpcy0+Y2FjaGVJbmZvcyh1cGRhdGVDb3VudGVyLCBXVEZNb3ZlKGNhbGxi
YWNrKSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgVmVjdG9y
PENhY2hlSW5mbz4gY2FjaGVJbmZvczsKICAgICBpZiAoaXNEaXJ0eSh1cGRhdGVDb3VudGVyKSkg
ewogICAgICAgICBjYWNoZUluZm9zLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobV9jYWNoZXMuc2l6
ZSgpKTsKICAgICAgICAgZm9yIChhdXRvJiBjYWNoZSA6IG1fY2FjaGVzKQogICAgICAgICAgICAg
Y2FjaGVJbmZvcy51bmNoZWNrZWRBcHBlbmQoQ2FjaGVJbmZvIHsgY2FjaGUuaWRlbnRpZmllcigp
LCBjYWNoZS5uYW1lKCkgfSk7CiAgICAgfQotICAgIHJldHVybiB7IFdURk1vdmUoY2FjaGVJbmZv
cyksIG1fdXBkYXRlQ291bnRlciB9OworICAgIGNhbGxiYWNrKENhY2hlSW5mb3MgeyBXVEZNb3Zl
KGNhY2hlSW5mb3MpLCBtX3VwZGF0ZUNvdW50ZXIgfSk7CiB9CiAKIHZvaWQgQ2FjaGVzOjphcHBl
bmRSZXByZXNlbnRhdGlvbihTdHJpbmdCdWlsZGVyJiBidWlsZGVyKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVD
YWNoZXMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdl
RW5naW5lQ2FjaGVzLmgKaW5kZXggYWE4MjNmMjE2YjAyNDAxNTBiOWI2NDU1MmEyZmU2NzA3YTE2
NGI3Zi4uMjRlOGFlMTM3Y2U4MDJiZTUzYWQ5ODgzNjY4NTg3ZjgwOWJlYzliYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVD
YWNoZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3Rv
cmFnZUVuZ2luZUNhY2hlcy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiTmV0d29ya0Nh
Y2hlU3RvcmFnZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ2xpZW50T3JpZ2luLmg+CiAjaW5jbHVk
ZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CisjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCkBAIC0zOSw2ICs0MCw3IEBAIGNsYXNzIEVuZ2luZTsKIGNsYXNz
IENhY2hlcyA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlcz4gewogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8Q2FjaGVzPiBjcmVhdGUoRW5naW5lJiBlbmdpbmUsIFdlYkNvcmU6OkNsaWVudE9yaWdp
biYmIG9yaWdpbiwgU3RyaW5nJiYgcm9vdFBhdGgsIHVpbnQ2NF90IHF1b3RhKSB7IHJldHVybiBh
ZG9wdFJlZigqbmV3IENhY2hlcyB7IGVuZ2luZSwgV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKHJv
b3RQYXRoKSwgcXVvdGEgfSk7IH0KKyAgICB+Q2FjaGVzKCk7CiAKICAgICBzdGF0aWMgdm9pZCBy
ZXRyaWV2ZU9yaWdpbkZyb21EaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBmb2xkZXJQYXRoLCBXb3Jr
UXVldWUmLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpDbGllbnRPcmlnaW4+JiYpPiYmKTsKIApAQCAtNTAsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBkZXRhY2goKTsKIAogICAgIGJvb2wgaXNJbml0aWFsaXplZCgpIGNvbnN0IHsgcmV0dXJu
IG1faXNJbml0aWFsaXplZDsgfQotICAgIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDYWNoZUlu
Zm9zIGNhY2hlSW5mb3ModWludDY0X3QgdXBkYXRlQ291bnRlcikgY29uc3Q7CisgICAgdm9pZCBj
YWNoZUluZm9zKHVpbnQ2NF90IHVwZGF0ZUNvdW50ZXIsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5l
OjpDYWNoZUluZm9zQ2FsbGJhY2smJik7CiAKICAgICBDYWNoZSogZmluZCh1aW50NjRfdCBpZGVu
dGlmaWVyKTsKICAgICB2b2lkIGFwcGVuZFJlcHJlc2VudGF0aW9uKFN0cmluZ0J1aWxkZXImKSBj
b25zdDsKQEAgLTg2LDYgKzg4LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+IHJlYWRPcmlnaW4oY29uc3QgTmV0d29ya0NhY2hlOjpE
YXRhJik7CiAKICAgICBDYWNoZSogZmluZChjb25zdCBTdHJpbmcmIG5hbWUpOworICAgIHZvaWQg
Y2xlYXJQZW5kaW5nV3JpdGluZ0NhY2hlc1RvRGlza0NhbGxiYWNrcygpOwogCiAgICAgdm9pZCBt
YWtlRGlydHkoKSB7ICsrbV91cGRhdGVDb3VudGVyOyB9CiAgICAgYm9vbCBpc0RpcnR5KHVpbnQ2
NF90IHVwZGF0ZUNvdW50ZXIpIGNvbnN0OwpAQCAtMTAzLDYgKzEwNiw4IEBAIHByaXZhdGU6CiAg
ICAgSGFzaE1hcDxOZXR3b3JrQ2FjaGU6OktleSwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJl
Y29yZD4gbV92b2xhdGlsZVN0b3JhZ2U7CiAgICAgbXV0YWJsZSBzdGQ6Om9wdGlvbmFsPE5ldHdv
cmtDYWNoZTo6U2FsdD4gbV92b2xhdGlsZVNhbHQ7CiAgICAgVmVjdG9yPFdlYkNvcmU6OkRPTUNh
Y2hlRW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2s+IG1fcGVuZGluZ0luaXRpYWxpemF0aW9uQ2Fs
bGJhY2tzOworICAgIGJvb2wgbV9pc1dyaXRpbmdDYWNoZXNUb0Rpc2sgeyBmYWxzZSB9OworICAg
IERlcXVlPENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpET01D
YWNoZUVuZ2luZTo6RXJyb3I+KT4+IG1fcGVuZGluZ1dyaXRpbmdDYWNoZXNUb0Rpc2tDYWxsYmFj
a3M7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBDYWNoZVN0b3JhZ2UKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkOTU0Mzc1NjA3
N2Y0OGVmNDJmZTY0ZWQ5NjA2NGY5Mzk4MDEwYTQ4Li4xNzdhMzBlYjQ4M2E3N2ZkZjc4NmYxYTRk
MzcyMzYwNGU3NzQwNDE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMDEtMjkgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENhY2hlIEFQSSBzaG91bGQg
bWFrZSBzdXJlIHRvIHJlc29sdmUgY2FjaGVzLm9wZW4gcHJvbWlzZXMgaW4gdGhlIHNhbWUgb3Jk
ZXIgYXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODIxOTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM2OTMwMzYzPgorCisgICAgICAg
IFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICogaHR0cC93cHQvY2FjaGUtc3Rv
cmFnZS9jYWNoZS1vcGVuLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1vcGVuLmh0dHBzLmh0bWw6IEFkZGVkLgorCiAyMDE4
LTAxLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBM
YXlvdXQgVGVzdCBmYXN0L2V2ZW50cy9iZWZvcmV1bmxvYWQtZG9tLW1hbmlwdWxhdGlvbi1jcmFz
aC5odG1sIGlzIGNyYXNoaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNo
ZS1zdG9yYWdlL2NhY2hlLW9wZW4tZGVsZXRlLWluLXBhcmFsbGVsLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi1kZWxldGUt
aW4tcGFyYWxsZWwuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmODYwZmMyODE1NTMx
YjMyMWQzMzI2NWY0YjdlNGI0YjM1ZTQ1NWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLW9wZW4tZGVsZXRlLWluLXBhcmFsbGVsLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBUZXN0aW5nIG9yZGVyaW5n
IG9mIG9wZW5pbmcgY2FjaGUgcHJvbWlzZXMgcmVzb2x1dGlvbiAKK1BBU1MgVGVzdGluZyBvcmRl
cmluZyBvZiBkZWxldGluZyBjYWNoZSBwcm9taXNlcyByZXNvbHV0aW9uIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLW9wZW4tZGVsZXRlLWlu
LXBhcmFsbGVsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdl
L2NhY2hlLW9wZW4tZGVsZXRlLWluLXBhcmFsbGVsLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTkx
NGYzZGU4ZGU0ZTRiMTA4NjJkNWFiYmViZTk2MWFmNzQ3OGM3MgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3Blbi1kZWxldGUtaW4t
cGFyYWxsZWwuaHR0cHMuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+Q2FjaGUgU3RvcmFnZTogdGVzdGluZyBvcGVuIGFuZCBkZWxl
dGUgaW4gcGFyYWxsZWw8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0
KGFzeW5jIHRlc3QgPT4geworICAgIGF3YWl0IGNhY2hlcy5kZWxldGUoInRlc3QiKTsKKworICAg
IHZhciByZXN1bHQgPSAiRkFJTCI7CisgICAgY2FjaGVzLm9wZW4oInRlc3QiKS50aGVuKCgpPT4g
cmVzdWx0ID0gIlBBU1MiKTsKKyAgICBhd2FpdCBjYWNoZXMub3BlbigidGVzdCIpOworCisgICAg
YXNzZXJ0X2VxdWFscyhyZXN1bHQsICJQQVNTIiwgIk9wZW4gcmVzb2x1dGlvbiBvcmRlciIpOwor
fSwgIlRlc3Rpbmcgb3JkZXJpbmcgb2Ygb3BlbmluZyBjYWNoZSBwcm9taXNlcyByZXNvbHV0aW9u
Iik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0ID0+IHsKKyAgICBhd2FpdCBjYWNoZXMub3Bl
bigidGVzdCIpOworCisgICAgdmFyIHJlc3VsdCA9ICJGQUlMIjsKKyAgICBjYWNoZXMuZGVsZXRl
KCJ0ZXN0IikudGhlbigodmFsdWUpPT4geworICAgICAgICByZXN1bHQgPSB2YWx1ZSA/ICJQQVNT
IiA6ICJGQUlMOiBkZWxldGUgZGlkIG5vdCByZXR1cm4gdHJ1ZSI7CisgICAgfSk7CisgICAgYXNz
ZXJ0X2ZhbHNlKGF3YWl0IGNhY2hlcy5kZWxldGUoInRlc3QiKSk7CisKKyAgICBhc3NlcnRfZXF1
YWxzKHJlc3VsdCwgIlBBU1MiLCAiRGVsZXRlIHJlc29sdXRpb24gb3JkZXIiKTsKK30sICJUZXN0
aW5nIG9yZGVyaW5nIG9mIGRlbGV0aW5nIGNhY2hlIHByb21pc2VzIHJlc29sdXRpb24iKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>