<?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>208223</bug_id>
          
          <creation_ts>2020-02-25 16:05:06 -0800</creation_ts>
          <short_desc>Allow setting of stack sizes for threads</short_desc>
          <delta_ts>2020-04-15 09:01:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</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>187485</blocked>
    
    <blocked>210068</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Don Olmstead">don.olmstead</reporter>
          <assigned_to name="Don Olmstead">don.olmstead</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>galpeter</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>keith_miller</cc>
    
    <cc>luiz</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>noam</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1622805</commentid>
    <comment_count>0</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-02-25 16:05:06 -0800</bug_when>
    <thetext>Currently all threads use the default stack size and no attempt is made to change the size. This might not be ideal on some platforms or some thread types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1622806</commentid>
    <comment_count>1</comment_count>
      <attachid>391698</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-02-25 16:08:36 -0800</bug_when>
    <thetext>Created attachment 391698
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623030</commentid>
    <comment_count>2</comment_count>
      <attachid>391749</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-02-26 09:23:52 -0800</bug_when>
    <thetext>Created attachment 391749
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623081</commentid>
    <comment_count>3</comment_count>
      <attachid>391760</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-02-26 11:27:59 -0800</bug_when>
    <thetext>Created attachment 391760
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623084</commentid>
    <comment_count>4</comment_count>
      <attachid>391762</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-02-26 11:37:48 -0800</bug_when>
    <thetext>Created attachment 391762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623097</commentid>
    <comment_count>5</comment_count>
      <attachid>391762</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-02-26 12:03:53 -0800</bug_when>
    <thetext>Comment on attachment 391762
Patch

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

r=me with fixes.

&gt; Source/WTF/ChangeLog:11
&gt; +        based on their own observations. Additionally a default stack size can be specified
&gt; +        during by defining DEFAULT_THREAD_STACK_SIZE_IN_KB if the default stack for a platform is

Can you clarify what you mean here by &quot;specified during&quot;?  I suspect you&apos;re missing some details.

&gt; Source/WTF/wtf/Threading.cpp:53
&gt;  
&gt; +#if defined(DEFAULT_THREAD_STACK_SIZE_IN_KB) &amp;&amp; DEFAULT_THREAD_STACK_SIZE_IN_KB &gt; 0
&gt; +static constexpr size_t defaultStackSize = DEFAULT_THREAD_STACK_SIZE_IN_KB * 1024;
&gt; +#else
&gt; +// Use the platform&apos;s default stack size
&gt; +static constexpr size_t defaultStackSize = 0;
&gt; +#endif

Just move this into Thread::create() and initialize an Optional&lt;size_t&gt; there.

&gt; Source/WTF/wtf/Threading.cpp:162
&gt; +    // If the stack size is set to 0 then use the system default. Platforms can tune the values here.

Please add a comma after &apos;0&apos;.

&gt; Source/WTF/wtf/Threading.h:247
&gt; +    bool establishHandle(NewThreadContext*, size_t);

Please use Optional&lt;size_t&gt; instead of size_t.  Then we don&apos;t have to worry about the convention of a size of 0 meaning something special.

&gt; Source/WTF/wtf/posix/ThreadingPOSIX.cpp:204
&gt; +bool Thread::establishHandle(NewThreadContext* context, size_t stackSize)

Use Optional&lt;size_t&gt;.

&gt; Source/WTF/wtf/win/ThreadingWin.cpp:156
&gt; +bool Thread::establishHandle(NewThreadContext* data, size_t stackSize)

Use Optional&lt;size_t&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623100</commentid>
    <comment_count>6</comment_count>
      <attachid>391762</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-02-26 12:05:22 -0800</bug_when>
    <thetext>Comment on attachment 391762
Patch

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

&gt;&gt; Source/WTF/wtf/Threading.cpp:53
&gt;&gt; +#endif
&gt; 
&gt; Just move this into Thread::create() and initialize an Optional&lt;size_t&gt; there.

On 2nd thought, let&apos;s have a static defaultStackSize() function that returns an Optional&lt;size_t&gt;, and have Thread::create() call that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623111</commentid>
    <comment_count>7</comment_count>
      <attachid>391768</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-02-26 12:41:20 -0800</bug_when>
    <thetext>Created attachment 391768
Patch

Addressing review feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623113</commentid>
    <comment_count>8</comment_count>
      <attachid>391769</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-02-26 12:42:39 -0800</bug_when>
    <thetext>Created attachment 391769
Patch

Address review feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623123</commentid>
    <comment_count>9</comment_count>
      <attachid>391769</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-02-26 13:02:05 -0800</bug_when>
    <thetext>Comment on attachment 391769
Patch

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

&gt; Source/WTF/wtf/Threading.cpp:48
&gt; +static Optional&lt;size_t&gt; defaultStackSize() {

WebKit style requires the { to be on the next line.

&gt; Source/WTF/wtf/Threading.cpp:173
&gt; +#if PLATFORM(PLAYSTATION)
&gt; +    if (threadType == ThreadType::JavaScript)
&gt; +        stackSize = 512 * 1024;
&gt; +#else
&gt; +    UNUSED_PARAM(threadType);
&gt; +#endif

Hmmm ... further improvement: let rename defaultStackSize() to stackSize() and pass it the ThreadType.  With that, you can move this logic in there, and we can have the computation of the stack size to use all in one place.

&gt; Source/WTF/wtf/posix/ThreadingPOSIX.cpp:212
&gt; +    if (stackSize.hasValue())

You can just say &quot;if (stackSize)&quot; instead.

&gt; Source/WTF/wtf/win/ThreadingWin.cpp:159
&gt; +    unsigned initFlag = stackSize.hasValue() ? STACK_SIZE_PARAM_IS_A_RESERVATION : 0;

Ditto: just use &quot;staskSize ?&quot; instead of &quot;stackSize.hasValue() ?&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623130</commentid>
    <comment_count>10</comment_count>
      <attachid>391773</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-02-26 13:13:30 -0800</bug_when>
    <thetext>Created attachment 391773
Patch

More cleanup. Good idea with the stackSize function!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623135</commentid>
    <comment_count>11</comment_count>
      <attachid>391769</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-02-26 13:15:41 -0800</bug_when>
    <thetext>Comment on attachment 391769
Patch

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

&gt;&gt; Source/WTF/wtf/Threading.cpp:173
&gt;&gt; +#endif
&gt; 
&gt; Hmmm ... further improvement: let rename defaultStackSize() to stackSize() and pass it the ThreadType.  With that, you can move this logic in there, and we can have the computation of the stack size to use all in one place.

Sounds better.

&gt;&gt; Source/WTF/wtf/win/ThreadingWin.cpp:159
&gt;&gt; +    unsigned initFlag = stackSize.hasValue() ? STACK_SIZE_PARAM_IS_A_RESERVATION : 0;
&gt; 
&gt; Ditto: just use &quot;staskSize ?&quot; instead of &quot;stackSize.hasValue() ?&quot;.

Or, use `stackSize.valueOr(0)`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623136</commentid>
    <comment_count>12</comment_count>
      <attachid>391773</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-02-26 13:16:54 -0800</bug_when>
    <thetext>Comment on attachment 391773
Patch

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

r=me

&gt; Source/WTF/wtf/Threading.cpp:174
&gt; +

Remove this line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623139</commentid>
    <comment_count>13</comment_count>
      <attachid>391774</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-02-26 13:23:37 -0800</bug_when>
    <thetext>Created attachment 391774
Patch

Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623217</commentid>
    <comment_count>14</comment_count>
      <attachid>391774</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-26 15:27:23 -0800</bug_when>
    <thetext>Comment on attachment 391774
Patch

Clearing flags on attachment: 391774

Committed r257521: &lt;https://trac.webkit.org/changeset/257521&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623218</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-26 15:27:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623220</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-26 15:28:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/59824199&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391698</attachid>
            <date>2020-02-25 16:08:36 -0800</date>
            <delta_ts>2020-02-26 09:23:52 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>bug-208223.diff</filename>
            <type>text/plain</type>
            <size>5637</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmcuY3BwCmluZGV4IGJiMGQ1ZDkzZWJlNi4uZjQzZjQyYWZkMTllIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1Ro
cmVhZGluZy5jcHAKQEAgLTE0OCw5ICsxNDgsMTkgQEAgdm9pZCBUaHJlYWQ6OmVudHJ5UG9pbnQo
TmV3VGhyZWFkQ29udGV4dCogbmV3VGhyZWFkQ29udGV4dCkKICAgICBmdW5jdGlvbigpOwogfQog
Ci1SZWY8VGhyZWFkPiBUaHJlYWQ6OmNyZWF0ZShjb25zdCBjaGFyKiBuYW1lLCBGdW5jdGlvbjx2
b2lkKCk+JiYgZW50cnlQb2ludCkKK1JlZjxUaHJlYWQ+IFRocmVhZDo6Y3JlYXRlKGNvbnN0IGNo
YXIqIG5hbWUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBlbnRyeVBvaW50LCBUaHJlYWRUeXBlIHR5cGUp
CiB7CiAgICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgLy8gU2V0IHRoZSBzdGFj
ayBzaXplIGZvciB0aGUgY3JlYXRlZCB0aHJlYWQgYmFzZWQgb24gaXRzIHR5cGUuCisgICAgLy8g
SWYgdGhlIHN0YWNrIHNpemUgaXMgc2V0IHRvIDAgdGhlbiB1c2UgdGhlIHN5c3RlbSBkZWZhdWx0
LiBQbGF0Zm9ybXMgY2FuIHR1bmUgdGhlIHZhbHVlcyBoZXJlLgorICAgIHNpemVfdCBzdGFja1Np
emU7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgVGhyZWFkVHlwZTo6SmF2YVNj
cmlwdDoKKyAgICAgICAgICAgc3RhY2tTaXplID0gMDsKKyAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGRlZmF1bHQ6CisgICAgICAgICAgIHN0YWNrU2l6ZSA9IDA7CisgICAgfQogICAgIFJlZjxU
aHJlYWQ+IHRocmVhZCA9IGFkb3B0UmVmKCpuZXcgVGhyZWFkKCkpOwogICAgIFJlZjxOZXdUaHJl
YWRDb250ZXh0PiBjb250ZXh0ID0gYWRvcHRSZWYoKm5ldyBOZXdUaHJlYWRDb250ZXh0IHsgbmFt
ZSwgV1RGTW92ZShlbnRyeVBvaW50KSwgdGhyZWFkLmNvcHlSZWYoKSB9KTsKICAgICAvLyBJbmNy
ZW1lbnQgdGhlIGNvbnRleHQgcmVmIG9uIGJlaGFsZiBvZiB0aGUgY3JlYXRlZCB0aHJlYWQuIFdl
IGRvIG5vdCBqdXN0IHVzZSBhIHVuaXF1ZV9wdHIgYW5kIGxlYWsgaXQgdG8gdGhlIGNyZWF0ZWQg
dGhyZWFkIGJlY2F1c2UgYm90aCB0aGUgY3JlYXRvciBhbmQgY3JlYXRlZCB0aHJlYWQgaGFzIGEg
bmVlZCB0byBrZWVwIHRoZSBjb250ZXh0IGFsaXZlOgpAQCAtMTYxLDcgKzE3MSw3IEBAIFJlZjxU
aHJlYWQ+IFRocmVhZDo6Y3JlYXRlKGNvbnN0IGNoYXIqIG5hbWUsIEZ1bmN0aW9uPHZvaWQoKT4m
JiBlbnRyeVBvaW50KQogICAgIGNvbnRleHQtPnJlZigpOwogICAgIHsKICAgICAgICAgTXV0ZXhM
b2NrZXIgbG9ja2VyKGNvbnRleHQtPm11dGV4KTsKLSAgICAgICAgYm9vbCBzdWNjZXNzID0gdGhy
ZWFkLT5lc3RhYmxpc2hIYW5kbGUoY29udGV4dC5wdHIoKSk7CisgICAgICAgIGJvb2wgc3VjY2Vz
cyA9IHRocmVhZC0+ZXN0YWJsaXNoSGFuZGxlKGNvbnRleHQucHRyKCksIHN0YWNrU2l6ZSk7CiAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKHN1Y2Nlc3MpOwogICAgICAgICBjb250ZXh0LT5zdGFnZSA9
IE5ld1RocmVhZENvbnRleHQ6OlN0YWdlOjpFc3RhYmxpc2hlZEhhbmRsZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmggYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcu
aAppbmRleCAxZmM0NjZmNGVkM2EuLmRjMTYxYTI2YTc4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvVGhyZWFkaW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmgKQEAgLTgy
LDYgKzgyLDEyIEBAIGVudW0gY2xhc3MgR0NUaHJlYWRUeXBlIDogdWludDhfdCB7CiAgICAgSGVs
cGVyLAogfTsKIAorZW51bSBjbGFzcyBUaHJlYWRUeXBlIDogdWludDhfdCB7CisgICAgVW5rbm93
biA9IDAsCisgICAgSmF2YVNjcmlwdCwKKyAgICBTdG9yYWdlLAorfTsKKwogY2xhc3MgVGhyZWFk
IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFRocmVhZD4gewogcHVibGljOgogICAgIGZy
aWVuZCBjbGFzcyBUaHJlYWRHcm91cDsKQEAgLTkxLDcgKzk3LDcgQEAgcHVibGljOgogCiAgICAg
Ly8gUmV0dXJucyBudWxscHRyIGlmIHRocmVhZCBjcmVhdGlvbiBmYWlsZWQuCiAgICAgLy8gVGhl
IHRocmVhZCBuYW1lIG11c3QgYmUgYSBsaXRlcmFsIHNpbmNlIG9uIHNvbWUgcGxhdGZvcm1zIGl0
J3MgcGFzc2VkIGluIHRvIHRoZSB0aHJlYWQuCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRp
YyBSZWY8VGhyZWFkPiBjcmVhdGUoY29uc3QgY2hhciogdGhyZWFkTmFtZSwgRnVuY3Rpb248dm9p
ZCgpPiYmKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJlZjxUaHJlYWQ+IGNyZWF0
ZShjb25zdCBjaGFyKiB0aHJlYWROYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYsIFRocmVhZFR5cGUg
dHlwZSA9IFRocmVhZFR5cGU6OlVua25vd24pOwogCiAgICAgLy8gUmV0dXJucyBUaHJlYWQgb2Jq
ZWN0LgogICAgIHN0YXRpYyBUaHJlYWQmIGN1cnJlbnQoKTsKQEAgLTIzNSw3ICsyNDEsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCBpbml0aWFsaXplSW5UaHJlYWQoKTsKIAogICAgIC8vIEludGVy
bmFsIHBsYXRmb3JtLXNwZWNpZmljIFRocmVhZCBlc3RhYmxpc2htZW50IGltcGxlbWVudGF0aW9u
LgotICAgIGJvb2wgZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqKTsKKyAgICBib29s
IGVzdGFibGlzaEhhbmRsZShOZXdUaHJlYWRDb250ZXh0Kiwgc2l6ZV90KTsKIAogI2lmIFVTRShQ
VEhSRUFEUykKICAgICB2b2lkIGVzdGFibGlzaFBsYXRmb3JtU3BlY2lmaWNIYW5kbGUoUGxhdGZv
cm1UaHJlYWRIYW5kbGUpOwpAQCAtMzc5LDQgKzM4NSw1IEBAIGlubGluZSBUaHJlYWQmIFRocmVh
ZDo6Y3VycmVudCgpCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpUaHJlYWQ7Cit1
c2luZyBXVEY6OlRocmVhZFR5cGU7CiB1c2luZyBXVEY6OkdDVGhyZWFkVHlwZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcAppbmRleCBkZDU1OGQ4NDRlNDMuLjE2YjRlMGZk
NmVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvcG9zaXgvVGhyZWFkaW5nUE9TSVguY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcApAQCAtMjAxLDcg
KzIwMSw3IEBAIHN0YXRpYyB2b2lkKiB3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqIGNvbnRleHQp
CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLWJvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5kbGUo
TmV3VGhyZWFkQ29udGV4dCogY29udGV4dCkKK2Jvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5kbGUo
TmV3VGhyZWFkQ29udGV4dCogY29udGV4dCwgc2l6ZV90IHN0YWNrU2l6ZSkKIHsKICAgICBwdGhy
ZWFkX3QgdGhyZWFkSGFuZGxlOwogICAgIHB0aHJlYWRfYXR0cl90IGF0dHI7CkBAIC0yMDksNiAr
MjA5LDkgQEAgYm9vbCBUaHJlYWQ6OmVzdGFibGlzaEhhbmRsZShOZXdUaHJlYWRDb250ZXh0KiBj
b250ZXh0KQogI2lmIEhBVkUoUU9TX0NMQVNTRVMpCiAgICAgcHRocmVhZF9hdHRyX3NldF9xb3Nf
Y2xhc3NfbnAoJmF0dHIsIGFkanVzdGVkUU9TQ2xhc3MoUU9TX0NMQVNTX1VTRVJfSU5JVElBVEVE
KSwgMCk7CiAjZW5kaWYKKyAgICBpZiAoc3RhY2tTaXplID4gMCkgeworICAgICAgICBwdGhyZWFk
X2F0dHJfc2V0c3RhY2tzaXplKCZhdHRyLCBzdGFja1NpemUpOworICAgIH0KICAgICBpbnQgZXJy
b3IgPSBwdGhyZWFkX2NyZWF0ZSgmdGhyZWFkSGFuZGxlLCAmYXR0ciwgd3RmVGhyZWFkRW50cnlQ
b2ludCwgY29udGV4dCk7CiAgICAgcHRocmVhZF9hdHRyX2Rlc3Ryb3koJmF0dHIpOwogICAgIGlm
IChlcnJvcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5j
cHAgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vVGhyZWFkaW5nV2luLmNwcAppbmRleCAyMjRhYWMzN2E0
OWUuLmYxN2IzOWRjNzcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL1RocmVhZGlu
Z1dpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5jcHAKQEAgLTE1
MywxMCArMTUzLDExIEBAIHN0YXRpYyB1bnNpZ25lZCBfX3N0ZGNhbGwgd3RmVGhyZWFkRW50cnlQ
b2ludCh2b2lkKiBkYXRhKQogICAgIHJldHVybiAwOwogfQogCi1ib29sIFRocmVhZDo6ZXN0YWJs
aXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGRhdGEpCitib29sIFRocmVhZDo6ZXN0YWJsaXNo
SGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGRhdGEsIHNpemVfdCBzdGFja1NpemUpCiB7CiAgICAg
dW5zaWduZWQgdGhyZWFkSWRlbnRpZmllciA9IDA7Ci0gICAgSEFORExFIHRocmVhZEhhbmRsZSA9
IHJlaW50ZXJwcmV0X2Nhc3Q8SEFORExFPihfYmVnaW50aHJlYWRleCgwLCAwLCB3dGZUaHJlYWRF
bnRyeVBvaW50LCBkYXRhLCAwLCAmdGhyZWFkSWRlbnRpZmllcikpOworICAgIHVuc2lnbmVkIGlu
aXRGbGFnID0gc3RhY2tTaXplID4gMCA/IFNUQUNLX1NJWkVfUEFSQU1fSVNfQV9SRVNFUlZBVElP
TiA6IDA7CisgICAgSEFORExFIHRocmVhZEhhbmRsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8SEFORExF
PihfYmVnaW50aHJlYWRleCgwLCBzdGFja1NpemUsIHd0ZlRocmVhZEVudHJ5UG9pbnQsIGRhdGEs
IGluaXRGbGFnLCAmdGhyZWFkSWRlbnRpZmllcikpOwogICAgIGlmICghdGhyZWFkSGFuZGxlKSB7
CiAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQgYXQgZW50cnkgcG9p
bnQgJXAgd2l0aCBkYXRhICVwOiAlbGQiLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBkYXRhLCBlcnJu
byk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmNwcAppbmRleCAwZjMxNThmNjE0MjIuLjM2MTEzODcwNGE4MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtMTQ0LDcgKzE0NCw3IEBAIHZvaWQgV29ya2Vy
VGhyZWFkOjpzdGFydChXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgU3RyaW5nJik+JiYgZXZhbHVh
dGVDYWxsYmFjaykKIAogICAgIFJlZjxUaHJlYWQ+IHRocmVhZCA9IFRocmVhZDo6Y3JlYXRlKGlz
U2VydmljZVdvcmtlclRocmVhZCgpID8gIldlYkNvcmU6IFNlcnZpY2UgV29ya2VyIiA6ICJXZWJD
b3JlOiBXb3JrZXIiLCBbdGhpc10gewogICAgICAgICB3b3JrZXJUaHJlYWQoKTsKLSAgICB9KTsK
KyAgICB9LCBUaHJlYWRUeXBlOjpKYXZhU2NyaXB0KTsKICAgICAvLyBGb3JjZSB0aGUgVGhyZWFk
IG9iamVjdCB0byBiZSBpbml0aWFsaXplZCBmdWxseSBiZWZvcmUgc3RvcmluZyBpdCB0byBtX3Ro
cmVhZCAoYW5kIGJlY29taW5nIHZpc2libGUgdG8gb3RoZXIgdGhyZWFkcykuCiAgICAgV1RGOjpz
dG9yZVN0b3JlRmVuY2UoKTsKICAgICBtX3RocmVhZCA9IFdURk1vdmUodGhyZWFkKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391749</attachid>
            <date>2020-02-26 09:23:52 -0800</date>
            <delta_ts>2020-02-26 11:27:59 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>bug-208223.diff</filename>
            <type>text/plain</type>
            <size>6087</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmcuY3BwCmluZGV4IGJiMGQ1ZDkzZWJlNi4uMGE5NTE0NWM5OTc2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1Ro
cmVhZGluZy5jcHAKQEAgLTQ1LDYgKzQ1LDEzIEBACiAKIG5hbWVzcGFjZSBXVEYgewogCisjaWYg
ZGVmaW5lZChERUZBVUxUX1NUQUNLX1NJWkVfSU5fS0IpICYmIERFRkFVTFRfU1RBQ0tfU0laRV9J
Tl9LQiA+IDAKK3N0YXRpYyBjb25zdGV4cHIgc2l6ZV90IGRlZmF1bHRTdGFja1NpemUgPSBERUZB
VUxUX1NUQUNLX1NJWkVfSU5fS0IgKiAxMDI0OworI2Vsc2UKKy8vIFVzZSB0aGUgcGxhdGZvcm0n
cyBkZWZhdWx0IHN0YWNrIHNpemUKK3N0YXRpYyBjb25zdGV4cHIgc2l6ZV90IGRlZmF1bHRTdGFj
a1NpemUgPSAwOworI2VuZGlmCisKIHN0cnVjdCBUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQgOiBw
dWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TmV3VGhyZWFkQ29udGV4dD4gewogcHVibGljOgog
ICAgIE5ld1RocmVhZENvbnRleHQoY29uc3QgY2hhciogbmFtZSwgRnVuY3Rpb248dm9pZCgpPiYm
IGVudHJ5UG9pbnQsIFJlZjxUaHJlYWQ+JiYgdGhyZWFkKQpAQCAtMTQ4LDkgKzE1NSwxNiBAQCB2
b2lkIFRocmVhZDo6ZW50cnlQb2ludChOZXdUaHJlYWRDb250ZXh0KiBuZXdUaHJlYWRDb250ZXh0
KQogICAgIGZ1bmN0aW9uKCk7CiB9CiAKLVJlZjxUaHJlYWQ+IFRocmVhZDo6Y3JlYXRlKGNvbnN0
IGNoYXIqIG5hbWUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBlbnRyeVBvaW50KQorUmVmPFRocmVhZD4g
VGhyZWFkOjpjcmVhdGUoY29uc3QgY2hhciogbmFtZSwgRnVuY3Rpb248dm9pZCgpPiYmIGVudHJ5
UG9pbnQsIFRocmVhZFR5cGUgdHlwZSkKIHsKICAgICBXVEY6OmluaXRpYWxpemVUaHJlYWRpbmco
KTsKKyAgICAvLyBTZXQgdGhlIHN0YWNrIHNpemUgZm9yIHRoZSBjcmVhdGVkIHRocmVhZCBiYXNl
ZCBvbiBpdHMgdHlwZS4KKyAgICAvLyBJZiB0aGUgc3RhY2sgc2l6ZSBpcyBzZXQgdG8gMCB0aGVu
IHVzZSB0aGUgc3lzdGVtIGRlZmF1bHQuIFBsYXRmb3JtcyBjYW4gdHVuZSB0aGUgdmFsdWVzIGhl
cmUuCisgICAgc2l6ZV90IHN0YWNrU2l6ZSA9IGRlZmF1bHRTdGFja1NpemU7CisjaWYgUExBVEZP
Uk0oUExBWVNUQVRJT04pCisgICAgaWYgKHR5cGUgPT0gVGhyZWFkVHlwZTo6SmF2YVNjcmlwdCkK
KyAgICAgICAgc3RhY2tTaXplID0gNTEyICogMTAyNDsKKyNlbmRpZgogICAgIFJlZjxUaHJlYWQ+
IHRocmVhZCA9IGFkb3B0UmVmKCpuZXcgVGhyZWFkKCkpOwogICAgIFJlZjxOZXdUaHJlYWRDb250
ZXh0PiBjb250ZXh0ID0gYWRvcHRSZWYoKm5ldyBOZXdUaHJlYWRDb250ZXh0IHsgbmFtZSwgV1RG
TW92ZShlbnRyeVBvaW50KSwgdGhyZWFkLmNvcHlSZWYoKSB9KTsKICAgICAvLyBJbmNyZW1lbnQg
dGhlIGNvbnRleHQgcmVmIG9uIGJlaGFsZiBvZiB0aGUgY3JlYXRlZCB0aHJlYWQuIFdlIGRvIG5v
dCBqdXN0IHVzZSBhIHVuaXF1ZV9wdHIgYW5kIGxlYWsgaXQgdG8gdGhlIGNyZWF0ZWQgdGhyZWFk
IGJlY2F1c2UgYm90aCB0aGUgY3JlYXRvciBhbmQgY3JlYXRlZCB0aHJlYWQgaGFzIGEgbmVlZCB0
byBrZWVwIHRoZSBjb250ZXh0IGFsaXZlOgpAQCAtMTYxLDcgKzE3NSw3IEBAIFJlZjxUaHJlYWQ+
IFRocmVhZDo6Y3JlYXRlKGNvbnN0IGNoYXIqIG5hbWUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBlbnRy
eVBvaW50KQogICAgIGNvbnRleHQtPnJlZigpOwogICAgIHsKICAgICAgICAgTXV0ZXhMb2NrZXIg
bG9ja2VyKGNvbnRleHQtPm11dGV4KTsKLSAgICAgICAgYm9vbCBzdWNjZXNzID0gdGhyZWFkLT5l
c3RhYmxpc2hIYW5kbGUoY29udGV4dC5wdHIoKSk7CisgICAgICAgIGJvb2wgc3VjY2VzcyA9IHRo
cmVhZC0+ZXN0YWJsaXNoSGFuZGxlKGNvbnRleHQucHRyKCksIHN0YWNrU2l6ZSk7CiAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKHN1Y2Nlc3MpOwogICAgICAgICBjb250ZXh0LT5zdGFnZSA9IE5ld1Ro
cmVhZENvbnRleHQ6OlN0YWdlOjpFc3RhYmxpc2hlZEhhbmRsZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvVGhyZWFkaW5nLmggYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAppbmRl
eCAxZmM0NjZmNGVkM2EuLmRjMTYxYTI2YTc4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
VGhyZWFkaW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmgKQEAgLTgyLDYgKzgy
LDEyIEBAIGVudW0gY2xhc3MgR0NUaHJlYWRUeXBlIDogdWludDhfdCB7CiAgICAgSGVscGVyLAog
fTsKIAorZW51bSBjbGFzcyBUaHJlYWRUeXBlIDogdWludDhfdCB7CisgICAgVW5rbm93biA9IDAs
CisgICAgSmF2YVNjcmlwdCwKKyAgICBTdG9yYWdlLAorfTsKKwogY2xhc3MgVGhyZWFkIDogcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFRocmVhZD4gewogcHVibGljOgogICAgIGZyaWVuZCBj
bGFzcyBUaHJlYWRHcm91cDsKQEAgLTkxLDcgKzk3LDcgQEAgcHVibGljOgogCiAgICAgLy8gUmV0
dXJucyBudWxscHRyIGlmIHRocmVhZCBjcmVhdGlvbiBmYWlsZWQuCiAgICAgLy8gVGhlIHRocmVh
ZCBuYW1lIG11c3QgYmUgYSBsaXRlcmFsIHNpbmNlIG9uIHNvbWUgcGxhdGZvcm1zIGl0J3MgcGFz
c2VkIGluIHRvIHRoZSB0aHJlYWQuCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBSZWY8
VGhyZWFkPiBjcmVhdGUoY29uc3QgY2hhciogdGhyZWFkTmFtZSwgRnVuY3Rpb248dm9pZCgpPiYm
KTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJlZjxUaHJlYWQ+IGNyZWF0ZShjb25z
dCBjaGFyKiB0aHJlYWROYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYsIFRocmVhZFR5cGUgdHlwZSA9
IFRocmVhZFR5cGU6OlVua25vd24pOwogCiAgICAgLy8gUmV0dXJucyBUaHJlYWQgb2JqZWN0Lgog
ICAgIHN0YXRpYyBUaHJlYWQmIGN1cnJlbnQoKTsKQEAgLTIzNSw3ICsyNDEsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgdm9pZCBpbml0aWFsaXplSW5UaHJlYWQoKTsKIAogICAgIC8vIEludGVybmFsIHBs
YXRmb3JtLXNwZWNpZmljIFRocmVhZCBlc3RhYmxpc2htZW50IGltcGxlbWVudGF0aW9uLgotICAg
IGJvb2wgZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqKTsKKyAgICBib29sIGVzdGFi
bGlzaEhhbmRsZShOZXdUaHJlYWRDb250ZXh0Kiwgc2l6ZV90KTsKIAogI2lmIFVTRShQVEhSRUFE
UykKICAgICB2b2lkIGVzdGFibGlzaFBsYXRmb3JtU3BlY2lmaWNIYW5kbGUoUGxhdGZvcm1UaHJl
YWRIYW5kbGUpOwpAQCAtMzc5LDQgKzM4NSw1IEBAIGlubGluZSBUaHJlYWQmIFRocmVhZDo6Y3Vy
cmVudCgpCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpUaHJlYWQ7Cit1c2luZyBX
VEY6OlRocmVhZFR5cGU7CiB1c2luZyBXVEY6OkdDVGhyZWFkVHlwZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3Bv
c2l4L1RocmVhZGluZ1BPU0lYLmNwcAppbmRleCBkZDU1OGQ4NDRlNDMuLjE2YjRlMGZkNmVjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvcG9zaXgvVGhyZWFkaW5nUE9TSVguY3BwCisrKyBi
L1NvdXJjZS9XVEYvd3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcApAQCAtMjAxLDcgKzIwMSw3
IEBAIHN0YXRpYyB2b2lkKiB3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqIGNvbnRleHQpCiAgICAg
cmV0dXJuIG51bGxwdHI7CiB9CiAKLWJvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5kbGUoTmV3VGhy
ZWFkQ29udGV4dCogY29udGV4dCkKK2Jvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5kbGUoTmV3VGhy
ZWFkQ29udGV4dCogY29udGV4dCwgc2l6ZV90IHN0YWNrU2l6ZSkKIHsKICAgICBwdGhyZWFkX3Qg
dGhyZWFkSGFuZGxlOwogICAgIHB0aHJlYWRfYXR0cl90IGF0dHI7CkBAIC0yMDksNiArMjA5LDkg
QEAgYm9vbCBUaHJlYWQ6OmVzdGFibGlzaEhhbmRsZShOZXdUaHJlYWRDb250ZXh0KiBjb250ZXh0
KQogI2lmIEhBVkUoUU9TX0NMQVNTRVMpCiAgICAgcHRocmVhZF9hdHRyX3NldF9xb3NfY2xhc3Nf
bnAoJmF0dHIsIGFkanVzdGVkUU9TQ2xhc3MoUU9TX0NMQVNTX1VTRVJfSU5JVElBVEVEKSwgMCk7
CiAjZW5kaWYKKyAgICBpZiAoc3RhY2tTaXplID4gMCkgeworICAgICAgICBwdGhyZWFkX2F0dHJf
c2V0c3RhY2tzaXplKCZhdHRyLCBzdGFja1NpemUpOworICAgIH0KICAgICBpbnQgZXJyb3IgPSBw
dGhyZWFkX2NyZWF0ZSgmdGhyZWFkSGFuZGxlLCAmYXR0ciwgd3RmVGhyZWFkRW50cnlQb2ludCwg
Y29udGV4dCk7CiAgICAgcHRocmVhZF9hdHRyX2Rlc3Ryb3koJmF0dHIpOwogICAgIGlmIChlcnJv
cikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5jcHAgYi9T
b3VyY2UvV1RGL3d0Zi93aW4vVGhyZWFkaW5nV2luLmNwcAppbmRleCAyMjRhYWMzN2E0OWUuLmYx
N2IzOWRjNzcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5j
cHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5jcHAKQEAgLTE1MywxMCAr
MTUzLDExIEBAIHN0YXRpYyB1bnNpZ25lZCBfX3N0ZGNhbGwgd3RmVGhyZWFkRW50cnlQb2ludCh2
b2lkKiBkYXRhKQogICAgIHJldHVybiAwOwogfQogCi1ib29sIFRocmVhZDo6ZXN0YWJsaXNoSGFu
ZGxlKE5ld1RocmVhZENvbnRleHQqIGRhdGEpCitib29sIFRocmVhZDo6ZXN0YWJsaXNoSGFuZGxl
KE5ld1RocmVhZENvbnRleHQqIGRhdGEsIHNpemVfdCBzdGFja1NpemUpCiB7CiAgICAgdW5zaWdu
ZWQgdGhyZWFkSWRlbnRpZmllciA9IDA7Ci0gICAgSEFORExFIHRocmVhZEhhbmRsZSA9IHJlaW50
ZXJwcmV0X2Nhc3Q8SEFORExFPihfYmVnaW50aHJlYWRleCgwLCAwLCB3dGZUaHJlYWRFbnRyeVBv
aW50LCBkYXRhLCAwLCAmdGhyZWFkSWRlbnRpZmllcikpOworICAgIHVuc2lnbmVkIGluaXRGbGFn
ID0gc3RhY2tTaXplID4gMCA/IFNUQUNLX1NJWkVfUEFSQU1fSVNfQV9SRVNFUlZBVElPTiA6IDA7
CisgICAgSEFORExFIHRocmVhZEhhbmRsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8SEFORExFPihfYmVn
aW50aHJlYWRleCgwLCBzdGFja1NpemUsIHd0ZlRocmVhZEVudHJ5UG9pbnQsIGRhdGEsIGluaXRG
bGFnLCAmdGhyZWFkSWRlbnRpZmllcikpOwogICAgIGlmICghdGhyZWFkSGFuZGxlKSB7CiAgICAg
ICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQgYXQgZW50cnkgcG9pbnQgJXAg
d2l0aCBkYXRhICVwOiAlbGQiLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBkYXRhLCBlcnJubyk7CiAg
ICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNw
cAppbmRleCAwZjMxNThmNjE0MjIuLjM2MTEzODcwNGE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmNwcApAQCAtMTQ0LDcgKzE0NCw3IEBAIHZvaWQgV29ya2VyVGhyZWFk
OjpzdGFydChXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgU3RyaW5nJik+JiYgZXZhbHVhdGVDYWxs
YmFjaykKIAogICAgIFJlZjxUaHJlYWQ+IHRocmVhZCA9IFRocmVhZDo6Y3JlYXRlKGlzU2Vydmlj
ZVdvcmtlclRocmVhZCgpID8gIldlYkNvcmU6IFNlcnZpY2UgV29ya2VyIiA6ICJXZWJDb3JlOiBX
b3JrZXIiLCBbdGhpc10gewogICAgICAgICB3b3JrZXJUaHJlYWQoKTsKLSAgICB9KTsKKyAgICB9
LCBUaHJlYWRUeXBlOjpKYXZhU2NyaXB0KTsKICAgICAvLyBGb3JjZSB0aGUgVGhyZWFkIG9iamVj
dCB0byBiZSBpbml0aWFsaXplZCBmdWxseSBiZWZvcmUgc3RvcmluZyBpdCB0byBtX3RocmVhZCAo
YW5kIGJlY29taW5nIHZpc2libGUgdG8gb3RoZXIgdGhyZWFkcykuCiAgICAgV1RGOjpzdG9yZVN0
b3JlRmVuY2UoKTsKICAgICBtX3RocmVhZCA9IFdURk1vdmUodGhyZWFkKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391760</attachid>
            <date>2020-02-26 11:27:59 -0800</date>
            <delta_ts>2020-02-26 11:37:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208223.diff</filename>
            <type>text/plain</type>
            <size>17351</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE2OGFmNDBjNTI3YS4uZWEzMmZlNDk0MDlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMi0yNiAgRG9u
IE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisgICAgICAgIEFsbG93IHNldHRp
bmcgb2Ygc3RhY2sgc2l6ZXMgZm9yIHRocmVhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNwZWNpZnkgVGhyZWFkVHlwZSBhdCB0aGUgVGhyZWFkOjpj
cmVhdGUgY2FsbHNpdGUuCisKKyAgICAgICAgKiBoZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlND
OjpIZWFwOjpub3RpZnlJc1NhZmVUb0NvbGxlY3QpOgorCiAyMDIwLTAyLTI2ICBDYWlvIExpbWEg
IDx0aWNhaW9saW1hQGdtYWlsLmNvbT4KIAogICAgICAgICBbSlNDXVtNSVBTXSBBZGRpbmcgc3Vw
cG9ydCB0byBDaGVja3BvaW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAppbmRleCA0
Yzg0MTVlYTI4MjMuLmNiOTc2YTE5NDVhMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5j
cHAKQEAgLTI5MDcsNyArMjkwNyw3IEBAIHZvaWQgSGVhcDo6bm90aWZ5SXNTYWZlVG9Db2xsZWN0
KCkKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgVGhyZWFkVHlw
ZTo6R2FyYmFnZUNvbGxlY3Rpb24pOwogICAgIH0KICAgICAKICAgICBkYXRhTG9nSWYoT3B0aW9u
czo6bG9nR0MoKSwgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gYmVmb3JlKS5taWxsaXNlY29uZHMo
KSwgIm1zXVxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCmluZGV4IDZlMWQ4ZWNhYTNiZS4uZWJhNzdhNDQ5ZDExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI3IEBACisyMDIwLTAyLTI2ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5j
b20+CisKKyAgICAgICAgQWxsb3cgc2V0dGluZyBvZiBzdGFjayBzaXplcyBmb3IgdGhyZWFkcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjIzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNl
IFRocmVhZFR5cGUgd2hpY2ggaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNwZWNpZnkgYSBzdGFjayBz
aXplIGZvciBhIHBhcnRpY3VsYXIKKyAgICAgICAgdHlwZSBvZiB0aHJlYWQuIFBsYXRmb3JtcyBj
YW4gbWFrZSB0aGVpciBvd24gZGVjaXNpb25zIG9uIHdoYXQgdGhlIHN0YWNrIHNpemUgc2hvdWxk
IGJlCisgICAgICAgIGJhc2VkIG9uIHRoZWlyIG93biBvYnNlcnZhdGlvbnMuIEFkZGl0aW9uYWxs
eSBhIGRlZmF1bHQgc3RhY2sgc2l6ZSBjYW4gYmUgc3BlY2lmaWVkCisgICAgICAgIGR1cmluZyBi
eSBkZWZpbmluZyBERUZBVUxUX1NUQUNLX1NJWkVfSU5fS0IgaWYgdGhlIGRlZmF1bHQgc3RhY2sg
Zm9yIGEgcGxhdGZvcm0gaXMKKyAgICAgICAgaW5zdWZmaWNpZW50IGluIGFsbCBjYXNlcywgb3Ig
d2hlbiBhdHRlbXB0aW5nIHRvIGdhdGhlciBtZXRyaWNzIHRvIHR1bmUgdGhlIHZhbHVlcy4KKwor
ICAgICAgICBCb3RoIHRoZSBwdGhyZWFkIGFuZCBXaW5kb3dzIHRocmVhZCBpbXBsZW1lbnRhdGlv
bnMgYXJlIG1vZGlmaWVkIHRvIHNldCB0aGUgc3RhY2sgc2l6ZQorICAgICAgICBpZiBwcm92aWRl
ZC4KKworICAgICAgICAqIHd0Zi9UaHJlYWRpbmcuY3BwOgorICAgICAgICAoV1RGOjpUaHJlYWQ6
OmNyZWF0ZSk6CisgICAgICAgICogd3RmL1RocmVhZGluZy5oOgorICAgICAgICAqIHd0Zi9wb3Np
eC9UaHJlYWRpbmdQT1NJWC5jcHA6CisgICAgICAgIChXVEY6OlRocmVhZDo6ZXN0YWJsaXNoSGFu
ZGxlKToKKyAgICAgICAgKiB3dGYvd2luL1RocmVhZGluZ1dpbi5jcHA6CisgICAgICAgIChXVEY6
OlRocmVhZDo6ZXN0YWJsaXNoSGFuZGxlKToKKwogMjAyMC0wMi0yNSAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjogc2FmYXJpIGFwcCBl
eHRlbnNpb24gaXNvbGF0ZWQgd29ybGRzIGFuZCBpbmplY3RlZCBmaWxlcyB1c2UgdGhlIGV4dGVu
c2lvbidzIGlkZW50aWZpZXIgaW5zdGVhZCBvZiBpdHMgbmFtZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvVGhyZWFkaW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAKaW5k
ZXggYmIwZDVkOTNlYmU2Li5iZjJjMWMwNWUyNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1RocmVhZGluZy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcApAQCAtNDUs
NiArNDUsMTMgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKKyNpZiBkZWZpbmVkKERFRkFVTFRfU1RB
Q0tfU0laRV9JTl9LQikgJiYgREVGQVVMVF9TVEFDS19TSVpFX0lOX0tCID4gMAorc3RhdGljIGNv
bnN0ZXhwciBzaXplX3QgZGVmYXVsdFN0YWNrU2l6ZSA9IERFRkFVTFRfU1RBQ0tfU0laRV9JTl9L
QiAqIDEwMjQ7CisjZWxzZQorLy8gVXNlIHRoZSBwbGF0Zm9ybSdzIGRlZmF1bHQgc3RhY2sgc2l6
ZQorc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgZGVmYXVsdFN0YWNrU2l6ZSA9IDA7CisjZW5kaWYK
Kwogc3RydWN0IFRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVm
Q291bnRlZDxOZXdUaHJlYWRDb250ZXh0PiB7CiBwdWJsaWM6CiAgICAgTmV3VGhyZWFkQ29udGV4
dChjb25zdCBjaGFyKiBuYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYgZW50cnlQb2ludCwgUmVmPFRo
cmVhZD4mJiB0aHJlYWQpCkBAIC0xNDgsOSArMTU1LDE5IEBAIHZvaWQgVGhyZWFkOjplbnRyeVBv
aW50KE5ld1RocmVhZENvbnRleHQqIG5ld1RocmVhZENvbnRleHQpCiAgICAgZnVuY3Rpb24oKTsK
IH0KIAotUmVmPFRocmVhZD4gVGhyZWFkOjpjcmVhdGUoY29uc3QgY2hhciogbmFtZSwgRnVuY3Rp
b248dm9pZCgpPiYmIGVudHJ5UG9pbnQpCitSZWY8VGhyZWFkPiBUaHJlYWQ6OmNyZWF0ZShjb25z
dCBjaGFyKiBuYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYgZW50cnlQb2ludCwgVGhyZWFkVHlwZSB0
eXBlKQogewogICAgIFdURjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIC8vIFNldCB0aGUg
c3RhY2sgc2l6ZSBmb3IgdGhlIGNyZWF0ZWQgdGhyZWFkIGJhc2VkIG9uIGl0cyB0eXBlLgorICAg
IC8vIElmIHRoZSBzdGFjayBzaXplIGlzIHNldCB0byAwIHRoZW4gdXNlIHRoZSBzeXN0ZW0gZGVm
YXVsdC4gUGxhdGZvcm1zIGNhbiB0dW5lIHRoZSB2YWx1ZXMgaGVyZS4KKyAgICAvLyBFbmFibGUg
U1RBQ0tfU1RBVFMgaW4gU3RhY2tTdGF0cy5oIHRvIGNyZWF0ZSBhIGJ1aWxkIHRoYXQgd2lsbCB0
cmFjayB0aGUgaW5mb3JtYXRpb24gZm9yIHR1bmluZy4KKyAgICBzaXplX3Qgc3RhY2tTaXplID0g
ZGVmYXVsdFN0YWNrU2l6ZTsKKyNpZiBQTEFURk9STShQTEFZU1RBVElPTikKKyAgICBpZiAodHlw
ZSA9PSBUaHJlYWRUeXBlOjpKYXZhU2NyaXB0KQorICAgICAgICBzdGFja1NpemUgPSA1MTIgKiAx
MDI0OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0odHlwZSk7CisjZW5kaWYKICAgICBSZWY8VGhy
ZWFkPiB0aHJlYWQgPSBhZG9wdFJlZigqbmV3IFRocmVhZCgpKTsKICAgICBSZWY8TmV3VGhyZWFk
Q29udGV4dD4gY29udGV4dCA9IGFkb3B0UmVmKCpuZXcgTmV3VGhyZWFkQ29udGV4dCB7IG5hbWUs
IFdURk1vdmUoZW50cnlQb2ludCksIHRocmVhZC5jb3B5UmVmKCkgfSk7CiAgICAgLy8gSW5jcmVt
ZW50IHRoZSBjb250ZXh0IHJlZiBvbiBiZWhhbGYgb2YgdGhlIGNyZWF0ZWQgdGhyZWFkLiBXZSBk
byBub3QganVzdCB1c2UgYSB1bmlxdWVfcHRyIGFuZCBsZWFrIGl0IHRvIHRoZSBjcmVhdGVkIHRo
cmVhZCBiZWNhdXNlIGJvdGggdGhlIGNyZWF0b3IgYW5kIGNyZWF0ZWQgdGhyZWFkIGhhcyBhIG5l
ZWQgdG8ga2VlcCB0aGUgY29udGV4dCBhbGl2ZToKQEAgLTE2MSw3ICsxNzgsNyBAQCBSZWY8VGhy
ZWFkPiBUaHJlYWQ6OmNyZWF0ZShjb25zdCBjaGFyKiBuYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYg
ZW50cnlQb2ludCkKICAgICBjb250ZXh0LT5yZWYoKTsKICAgICB7CiAgICAgICAgIE11dGV4TG9j
a2VyIGxvY2tlcihjb250ZXh0LT5tdXRleCk7Ci0gICAgICAgIGJvb2wgc3VjY2VzcyA9IHRocmVh
ZC0+ZXN0YWJsaXNoSGFuZGxlKGNvbnRleHQucHRyKCkpOworICAgICAgICBib29sIHN1Y2Nlc3Mg
PSB0aHJlYWQtPmVzdGFibGlzaEhhbmRsZShjb250ZXh0LnB0cigpLCBzdGFja1NpemUpOwogICAg
ICAgICBSRUxFQVNFX0FTU0VSVChzdWNjZXNzKTsKICAgICAgICAgY29udGV4dC0+c3RhZ2UgPSBO
ZXdUaHJlYWRDb250ZXh0OjpTdGFnZTo6RXN0YWJsaXNoZWRIYW5kbGU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5oIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmgK
aW5kZXggMWZjNDY2ZjRlZDNhLi5hMGZkNWEyMDQyYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1RocmVhZGluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5oCkBAIC04Miw2
ICs4MiwxNSBAQCBlbnVtIGNsYXNzIEdDVGhyZWFkVHlwZSA6IHVpbnQ4X3QgewogICAgIEhlbHBl
ciwKIH07CiAKK2VudW0gY2xhc3MgVGhyZWFkVHlwZSA6IHVpbnQ4X3QgeworICAgIFVua25vd24g
PSAwLAorICAgIEphdmFTY3JpcHQsCisgICAgR2FyYmFnZUNvbGxlY3Rpb24sCisgICAgTmV0d29y
aywKKyAgICBHcmFwaGljcywKKyAgICBBdWRpbywKK307CisKIGNsYXNzIFRocmVhZCA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxUaHJlYWQ+IHsKIHB1YmxpYzoKICAgICBmcmllbmQgY2xh
c3MgVGhyZWFkR3JvdXA7CkBAIC05MSw3ICsxMDAsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBSZXR1
cm5zIG51bGxwdHIgaWYgdGhyZWFkIGNyZWF0aW9uIGZhaWxlZC4KICAgICAvLyBUaGUgdGhyZWFk
IG5hbWUgbXVzdCBiZSBhIGxpdGVyYWwgc2luY2Ugb24gc29tZSBwbGF0Zm9ybXMgaXQncyBwYXNz
ZWQgaW4gdG8gdGhlIHRocmVhZC4KLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJlZjxU
aHJlYWQ+IGNyZWF0ZShjb25zdCBjaGFyKiB0aHJlYWROYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYp
OworICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgUmVmPFRocmVhZD4gY3JlYXRlKGNvbnN0
IGNoYXIqIHRocmVhZE5hbWUsIEZ1bmN0aW9uPHZvaWQoKT4mJiwgVGhyZWFkVHlwZSB0eXBlID0g
VGhyZWFkVHlwZTo6VW5rbm93bik7CiAKICAgICAvLyBSZXR1cm5zIFRocmVhZCBvYmplY3QuCiAg
ICAgc3RhdGljIFRocmVhZCYgY3VycmVudCgpOwpAQCAtMjM1LDcgKzI0NCw3IEBAIHByb3RlY3Rl
ZDoKICAgICB2b2lkIGluaXRpYWxpemVJblRocmVhZCgpOwogCiAgICAgLy8gSW50ZXJuYWwgcGxh
dGZvcm0tc3BlY2lmaWMgVGhyZWFkIGVzdGFibGlzaG1lbnQgaW1wbGVtZW50YXRpb24uCi0gICAg
Ym9vbCBlc3RhYmxpc2hIYW5kbGUoTmV3VGhyZWFkQ29udGV4dCopOworICAgIGJvb2wgZXN0YWJs
aXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqLCBzaXplX3QpOwogCiAjaWYgVVNFKFBUSFJFQURT
KQogICAgIHZvaWQgZXN0YWJsaXNoUGxhdGZvcm1TcGVjaWZpY0hhbmRsZShQbGF0Zm9ybVRocmVh
ZEhhbmRsZSk7CkBAIC0zNzksNCArMzg4LDUgQEAgaW5saW5lIFRocmVhZCYgVGhyZWFkOjpjdXJy
ZW50KCkKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6OlRocmVhZDsKK3VzaW5nIFdU
Rjo6VGhyZWFkVHlwZTsKIHVzaW5nIFdURjo6R0NUaHJlYWRUeXBlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvcG9zaXgvVGhyZWFkaW5nUE9TSVguY3BwIGIvU291cmNlL1dURi93dGYvcG9z
aXgvVGhyZWFkaW5nUE9TSVguY3BwCmluZGV4IGRkNTU4ZDg0NGU0My4uNmU5MTRlMDU2NTRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9UaHJlYWRpbmdQT1NJWC5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvcG9zaXgvVGhyZWFkaW5nUE9TSVguY3BwCkBAIC0yMDEsNyArMjAxLDcg
QEAgc3RhdGljIHZvaWQqIHd0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCogY29udGV4dCkKICAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KIAotYm9vbCBUaHJlYWQ6OmVzdGFibGlzaEhhbmRsZShOZXdUaHJl
YWRDb250ZXh0KiBjb250ZXh0KQorYm9vbCBUaHJlYWQ6OmVzdGFibGlzaEhhbmRsZShOZXdUaHJl
YWRDb250ZXh0KiBjb250ZXh0LCBzaXplX3Qgc3RhY2tTaXplKQogewogICAgIHB0aHJlYWRfdCB0
aHJlYWRIYW5kbGU7CiAgICAgcHRocmVhZF9hdHRyX3QgYXR0cjsKQEAgLTIwOSw2ICsyMDksOCBA
QCBib29sIFRocmVhZDo6ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGNvbnRleHQp
CiAjaWYgSEFWRShRT1NfQ0xBU1NFUykKICAgICBwdGhyZWFkX2F0dHJfc2V0X3Fvc19jbGFzc19u
cCgmYXR0ciwgYWRqdXN0ZWRRT1NDbGFzcyhRT1NfQ0xBU1NfVVNFUl9JTklUSUFURUQpLCAwKTsK
ICNlbmRpZgorICAgIGlmIChzdGFja1NpemUgPiAwKQorICAgICAgICBwdGhyZWFkX2F0dHJfc2V0
c3RhY2tzaXplKCZhdHRyLCBzdGFja1NpemUpOwogICAgIGludCBlcnJvciA9IHB0aHJlYWRfY3Jl
YXRlKCZ0aHJlYWRIYW5kbGUsICZhdHRyLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBjb250ZXh0KTsK
ICAgICBwdGhyZWFkX2F0dHJfZGVzdHJveSgmYXR0cik7CiAgICAgaWYgKGVycm9yKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vVGhyZWFkaW5nV2luLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL3dpbi9UaHJlYWRpbmdXaW4uY3BwCmluZGV4IDIyNGFhYzM3YTQ5ZS4uZjE3YjM5ZGM3NzJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi93aW4vVGhyZWFkaW5nV2luLmNwcAorKysgYi9T
b3VyY2UvV1RGL3d0Zi93aW4vVGhyZWFkaW5nV2luLmNwcApAQCAtMTUzLDEwICsxNTMsMTEgQEAg
c3RhdGljIHVuc2lnbmVkIF9fc3RkY2FsbCB3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqIGRhdGEp
CiAgICAgcmV0dXJuIDA7CiB9CiAKLWJvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5kbGUoTmV3VGhy
ZWFkQ29udGV4dCogZGF0YSkKK2Jvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5kbGUoTmV3VGhyZWFk
Q29udGV4dCogZGF0YSwgc2l6ZV90IHN0YWNrU2l6ZSkKIHsKICAgICB1bnNpZ25lZCB0aHJlYWRJ
ZGVudGlmaWVyID0gMDsKLSAgICBIQU5ETEUgdGhyZWFkSGFuZGxlID0gcmVpbnRlcnByZXRfY2Fz
dDxIQU5ETEU+KF9iZWdpbnRocmVhZGV4KDAsIDAsIHd0ZlRocmVhZEVudHJ5UG9pbnQsIGRhdGEs
IDAsICZ0aHJlYWRJZGVudGlmaWVyKSk7CisgICAgdW5zaWduZWQgaW5pdEZsYWcgPSBzdGFja1Np
emUgPiAwID8gU1RBQ0tfU0laRV9QQVJBTV9JU19BX1JFU0VSVkFUSU9OIDogMDsKKyAgICBIQU5E
TEUgdGhyZWFkSGFuZGxlID0gcmVpbnRlcnByZXRfY2FzdDxIQU5ETEU+KF9iZWdpbnRocmVhZGV4
KDAsIHN0YWNrU2l6ZSwgd3RmVGhyZWFkRW50cnlQb2ludCwgZGF0YSwgaW5pdEZsYWcsICZ0aHJl
YWRJZGVudGlmaWVyKSk7CiAgICAgaWYgKCF0aHJlYWRIYW5kbGUpIHsKICAgICAgICAgTE9HX0VS
Uk9SKCJGYWlsZWQgdG8gY3JlYXRlIHRocmVhZCBhdCBlbnRyeSBwb2ludCAlcCB3aXRoIGRhdGEg
JXA6ICVsZCIsIHd0ZlRocmVhZEVudHJ5UG9pbnQsIGRhdGEsIGVycm5vKTsKICAgICAgICAgcmV0
dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFlYWY5NjdiMzhkMy4uOWJhYjUwNjVhMWM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjAtMDItMjYgIERvbiBPbG1zdGVhZCAgPGRvbi5v
bG1zdGVhZEBzb255LmNvbT4KKworICAgICAgICBBbGxvdyBzZXR0aW5nIG9mIHN0YWNrIHNpemVz
IGZvciB0aHJlYWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDgyMjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBTcGVjaWZ5IFRocmVhZFR5cGUgYXQgdGhlIFRocmVhZDo6Y3JlYXRlIGNhbGxzaXRlLgor
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Bc3luY0F1ZGlvRGVjb2Rlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBc3luY0F1ZGlvRGVjb2Rlcjo6QXN5bmNBdWRpb0RlY29kZXIpOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6c3RhcnRSZW5k
ZXJpbmcpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0T25BbHRlcm5hdGVUaHJlYWRG
b3JEZWJ1Z2dpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZXZlcmJDb252b2x2ZXI6OlJldmVyYkNvbnZvbHZlcik6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29wQ0YuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6bG9hZGVyUnVuTG9vcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
SGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdp
dGhPcGVyYXRpb25RdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRSdW5Mb29wKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3RTY2hlZHVsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q3VybFJlcXVlc3RTY2hlZHVsZXI6OnN0YXJ0VGhyZWFkSWZOZWVk
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU3RyZWFtU2NoZWR1bGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1cmxTdHJlYW1TY2hlZHVsZXI6OnN0YXJ0VGhyZWFk
SWZOZWVkZWQpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtlclRocmVhZDo6c3RhcnQpOgorCiAyMDIwLTAyLTI2ICBKYWNvYiBVcGhv
ZmYgIDxqYWNvYl91cGhvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIyNTczNzMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0FzeW5jQXVkaW9EZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXN5bmNBdWRpb0RlY29kZXIuY3BwCmluZGV4IDJmNTQyNzJhYzVjMC4uOGE4YmI2YmU1YTUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FzeW5jQXVkaW9E
ZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FzeW5jQXVk
aW9EZWNvZGVyLmNwcApAQCAtNDEsNyArNDEsNyBAQCBBc3luY0F1ZGlvRGVjb2Rlcjo6QXN5bmNB
dWRpb0RlY29kZXIoKQogICAgIExvY2tIb2xkZXIgbG9jayhtX3RocmVhZENyZWF0aW9uTXV0ZXgp
OwogICAgIG1fdGhyZWFkID0gVGhyZWFkOjpjcmVhdGUoIkF1ZGlvIERlY29kZXIiLCBbdGhpc10g
ewogICAgICAgICBydW5Mb29wKCk7Ci0gICAgfSk7CisgICAgfSwgVGhyZWFkVHlwZTo6QXVkaW8p
OwogfQogCiBBc3luY0F1ZGlvRGVjb2Rlcjo6fkFzeW5jQXVkaW9EZWNvZGVyKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGluYXRp
b25Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlv
RGVzdGluYXRpb25Ob2RlLmNwcAppbmRleCBlZjdiMzNhODZkNjUuLjZhMTk1NTQ2Y2Y3MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0
aW5hdGlvbk5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2Zm
bGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApAQCAtOTcsNyArOTcsNyBAQCB2b2lkIE9mZmxp
bmVBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6c3RhcnRSZW5kZXJpbmcoKQogICAgICAgICAgICAgY29u
dGV4dCgpLmZpbmlzaGVkUmVuZGVyaW5nKGRpZFJlbmRlcik7CiAgICAgICAgICAgICBkZXJlZigp
OwogICAgICAgICB9KTsKLSAgICB9KTsKKyAgICB9LCBUaHJlYWRUeXBlOjpBdWRpbyk7CiB9CiAK
IGJvb2wgT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpvZmZsaW5lUmVuZGVyKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwCmluZGV4IGM0OWZhMWFiZjk3
MC4uODMyNzg0YTRiZTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9H
Q0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJv
bGxlci5jcHAKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lkIEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNv
bGxlY3ROb3dJZk5vdERvbmVSZWNlbnRseSgpCiAKIHZvaWQgR0NDb250cm9sbGVyOjpnYXJiYWdl
Q29sbGVjdE9uQWx0ZXJuYXRlVGhyZWFkRm9yRGVidWdnaW5nKGJvb2wgd2FpdFVudGlsRG9uZSkK
IHsKLSAgICBhdXRvIHRocmVhZCA9IFRocmVhZDo6Y3JlYXRlKCJXZWJDb3JlOiBHQ0NvbnRyb2xs
ZXIiLCAmY29sbGVjdCk7CisgICAgYXV0byB0aHJlYWQgPSBUaHJlYWQ6OmNyZWF0ZSgiV2ViQ29y
ZTogR0NDb250cm9sbGVyIiwgJmNvbGxlY3QsIFRocmVhZFR5cGU6OkdhcmJhZ2VDb2xsZWN0aW9u
KTsKIAogICAgIGlmICh3YWl0VW50aWxEb25lKSB7CiAgICAgICAgIHRocmVhZC0+d2FpdEZvckNv
bXBsZXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Jl
dmVyYkNvbnZvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJD
b252b2x2ZXIuY3BwCmluZGV4IGE5YzkzNWMxYTI4NS4uYTEyZjE2NTRlMDVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlci5jcHAKQEAgLTEy
Myw3ICsxMjMsNyBAQCBSZXZlcmJDb252b2x2ZXI6OlJldmVyYkNvbnZvbHZlcihBdWRpb0NoYW5u
ZWwqIGltcHVsc2VSZXNwb25zZSwgc2l6ZV90IHJlbmRlclNsaQogICAgIGlmICh0aGlzLT51c2VC
YWNrZ3JvdW5kVGhyZWFkcygpICYmIG1fYmFja2dyb3VuZFN0YWdlcy5zaXplKCkgPiAwKSB7CiAg
ICAgICAgIG1fYmFja2dyb3VuZFRocmVhZCA9IFRocmVhZDo6Y3JlYXRlKCJjb252b2x1dGlvbiBi
YWNrZ3JvdW5kIHRocmVhZCIsIFt0aGlzXSB7CiAgICAgICAgICAgICBiYWNrZ3JvdW5kVGhyZWFk
RW50cnkoKTsKLSAgICAgICAgfSk7CisgICAgICAgIH0sIFRocmVhZFR5cGU6OkF1ZGlvKTsKICAg
ICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
TG9hZGVyUnVuTG9vcENGLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
TG9hZGVyUnVuTG9vcENGLmNwcAppbmRleCBjZmQ2YWIwYmFlZWEuLmY2MzNmZWQwMTA1YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29w
Q0YuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTG9hZGVyUnVu
TG9vcENGLmNwcApAQCAtNzQsNyArNzQsNyBAQCBDRlJ1bkxvb3BSZWYgbG9hZGVyUnVuTG9vcCgp
CiAgICAgICAgICAgICAgICAgQXV0b2RyYWluZWRQb29sIHBvb2w7CiAgICAgICAgICAgICAgICAg
cmVzdWx0ID0gQ0ZSdW5Mb29wUnVuSW5Nb2RlKGtDRlJ1bkxvb3BEZWZhdWx0TW9kZSwgc3RkOjpu
dW1lcmljX2xpbWl0czxkb3VibGU+OjptYXgoKSwgdHJ1ZSk7CiAgICAgICAgICAgICB9IHdoaWxl
IChyZXN1bHQgIT0ga0NGUnVuTG9vcFJ1blN0b3BwZWQgJiYgcmVzdWx0ICE9IGtDRlJ1bkxvb3BS
dW5GaW5pc2hlZCk7Ci0gICAgICAgIH0pOworICAgICAgICB9LCBUaHJlYWRUeXBlOjpOZXR3b3Jr
KTsKIAogICAgICAgICBsb2FkZXJSdW5Mb29wQ29uZGl0aW9uVmFyaWFibGUud2FpdChsb2NrLCBb
XSB7IHJldHVybiBsb2FkZXJSdW5Mb29wT2JqZWN0OyB9KTsKICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0
LmNwcAppbmRleCAzMjJhODQ1MDhlNTkuLjkwMDgxY2JlYzA5ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQu
Y3BwCkBAIC01OTUsNyArNTk1LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2Fk
UmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXgKIAogICAgICAg
ICAgICAgd2hpbGUgKHRydWUpCiAgICAgICAgICAgICAgICAgQ0ZSdW5Mb29wUnVuSW5Nb2RlKGtD
RlJ1bkxvb3BEZWZhdWx0TW9kZSwgMUUzMCwgdHJ1ZSk7Ci0gICAgICAgIH0pOworICAgICAgICB9
LCBUaHJlYWRUeXBlOjpOZXR3b3JrKTsKICAgICAgICAgc2VtLndhaXQoKTsKICAgICB9CiAgICAg
Q0ZVUkxDb25uZWN0aW9uU2NoZWR1bGVXaXRoUnVuTG9vcChoYW5kbGUtPmNvbm5lY3Rpb24oKSwg
cnVuTG9vcCwga0NGUnVuTG9vcERlZmF1bHRNb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxl
Z2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9u
UXVldWUuY3BwCmluZGV4IDlkMWU5YzQxYjk0Zi4uODBkODYwZWNmMjhhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25u
ZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0
ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCBzdGF0aWMgQ0ZSdW5M
b29wUmVmIGdldFJ1bkxvb3AoKQogCiAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkKICAgICAgICAg
ICAgICAgICBDRlJ1bkxvb3BSdW5Jbk1vZGUoa0NGUnVuTG9vcERlZmF1bHRNb2RlLCAxRTMwLCB0
cnVlKTsKLSAgICAgICAgfSk7CisgICAgICAgIH0sIFRocmVhZFR5cGU6Ok5ldHdvcmspOwogICAg
ICAgICBzZW0ud2FpdCgpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0U2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdFNjaGVkdWxlci5jcHAKaW5kZXgg
M2FhNWY1MmRiNjI3Li40ZDA5ZTZiNWI3ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdFNjaGVkdWxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0U2NoZWR1bGVyLmNwcApA
QCAtOTcsNyArOTcsNyBAQCB2b2lkIEN1cmxSZXF1ZXN0U2NoZWR1bGVyOjpzdGFydFRocmVhZElm
TmVlZGVkKCkKIAogICAgICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fbXV0ZXgpOwogICAg
ICAgICBtX3J1blRocmVhZCA9IGZhbHNlOwotICAgIH0pOworICAgIH0sIFRocmVhZFR5cGU6Ok5l
dHdvcmspOwogfQogCiB2b2lkIEN1cmxSZXF1ZXN0U2NoZWR1bGVyOjpzdG9wVGhyZWFkSWZOb01v
cmVKb2JSdW5uaW5nKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY3VybC9DdXJsU3RyZWFtU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsU3RyZWFtU2NoZWR1bGVyLmNwcAppbmRleCA4NDU4ZTNjMTQxNjcu
LjNmYjg3NTk5ODRhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0N1cmxTdHJlYW1TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY3VybC9DdXJsU3RyZWFtU2NoZWR1bGVyLmNwcApAQCAtMTE4LDcgKzExOCw3
IEBAIHZvaWQgQ3VybFN0cmVhbVNjaGVkdWxlcjo6c3RhcnRUaHJlYWRJZk5lZWRlZCgpCiAKICAg
ICBtX3RocmVhZCA9IFRocmVhZDo6Y3JlYXRlKCJjdXJsU3RyZWFtVGhyZWFkIiwgW3RoaXNdIHsK
ICAgICAgICAgd29ya2VyVGhyZWFkKCk7Ci0gICAgfSk7CisgICAgfSwgVGhyZWFkVHlwZTo6TmV0
d29yayk7CiB9CiAKIHZvaWQgQ3VybFN0cmVhbVNjaGVkdWxlcjo6c3RvcFRocmVhZElmTm9Nb3Jl
Sm9iUnVubmluZygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRo
cmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXgg
MGYzMTU4ZjYxNDIyLi4zNjExMzg3MDRhODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clRocmVhZC5jcHAKQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIFdvcmtlclRocmVhZDo6c3RhcnQo
V1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IFN0cmluZyYpPiYmIGV2YWx1YXRlQ2FsbGJhY2spCiAK
ICAgICBSZWY8VGhyZWFkPiB0aHJlYWQgPSBUaHJlYWQ6OmNyZWF0ZShpc1NlcnZpY2VXb3JrZXJU
aHJlYWQoKSA/ICJXZWJDb3JlOiBTZXJ2aWNlIFdvcmtlciIgOiAiV2ViQ29yZTogV29ya2VyIiwg
W3RoaXNdIHsKICAgICAgICAgd29ya2VyVGhyZWFkKCk7Ci0gICAgfSk7CisgICAgfSwgVGhyZWFk
VHlwZTo6SmF2YVNjcmlwdCk7CiAgICAgLy8gRm9yY2UgdGhlIFRocmVhZCBvYmplY3QgdG8gYmUg
aW5pdGlhbGl6ZWQgZnVsbHkgYmVmb3JlIHN0b3JpbmcgaXQgdG8gbV90aHJlYWQgKGFuZCBiZWNv
bWluZyB2aXNpYmxlIHRvIG90aGVyIHRocmVhZHMpLgogICAgIFdURjo6c3RvcmVTdG9yZUZlbmNl
KCk7CiAgICAgbV90aHJlYWQgPSBXVEZNb3ZlKHRocmVhZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhmMzk3ZjE4
NGQ1My4uMmIzZWU0NjllZGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTAyLTI2
ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CisKKyAgICAgICAgQWxsb3cg
c2V0dGluZyBvZiBzdGFjayBzaXplcyBmb3IgdGhyZWFkcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlY2lmeSBUaHJlYWRUeXBlIGF0IHRoZSBUaHJl
YWQ6OmNyZWF0ZSBjYWxsc2l0ZS4KKworICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwOgorICAgICAgICAo
V2ViS2l0OjpjcmVhdGVSdW5Mb29wKToKKwogMjAyMC0wMi0yNiAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTc0NzEu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3Ro
cmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdS
dW5Mb29wLmNwcAppbmRleCA3MTU4NTdhNjQ4MTQuLjgyOGNiMTA3NWE2MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0
b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29y
ZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3Bw
CkBAIC00Nyw3ICs0Nyw3IEBAIHN0YXRpYyBSdW5Mb29wKiBjcmVhdGVSdW5Mb29wKCkKICAgICAg
ICAgcnVuTG9vcCA9ICZSdW5Mb29wOjpjdXJyZW50KCk7CiAgICAgICAgIHNlbWFwaG9yZS5zaWdu
YWwoKTsKICAgICAgICAgcnVuTG9vcC0+cnVuKCk7Ci0gICAgfSktPmRldGFjaCgpOworICAgIH0s
IFRocmVhZFR5cGU6OkdyYXBoaWNzKS0+ZGV0YWNoKCk7CiAgICAgc2VtYXBob3JlLndhaXQoKTsK
IAogICAgIHJldHVybiBydW5Mb29wOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391762</attachid>
            <date>2020-02-26 11:37:48 -0800</date>
            <delta_ts>2020-02-26 12:41:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208223.diff</filename>
            <type>text/plain</type>
            <size>17403</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE2OGFmNDBjNTI3YS4uZWEzMmZlNDk0MDlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMi0yNiAgRG9u
IE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisgICAgICAgIEFsbG93IHNldHRp
bmcgb2Ygc3RhY2sgc2l6ZXMgZm9yIHRocmVhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNwZWNpZnkgVGhyZWFkVHlwZSBhdCB0aGUgVGhyZWFkOjpj
cmVhdGUgY2FsbHNpdGUuCisKKyAgICAgICAgKiBoZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlND
OjpIZWFwOjpub3RpZnlJc1NhZmVUb0NvbGxlY3QpOgorCiAyMDIwLTAyLTI2ICBDYWlvIExpbWEg
IDx0aWNhaW9saW1hQGdtYWlsLmNvbT4KIAogICAgICAgICBbSlNDXVtNSVBTXSBBZGRpbmcgc3Vw
cG9ydCB0byBDaGVja3BvaW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAppbmRleCA0
Yzg0MTVlYTI4MjMuLmNiOTc2YTE5NDVhMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5j
cHAKQEAgLTI5MDcsNyArMjkwNyw3IEBAIHZvaWQgSGVhcDo6bm90aWZ5SXNTYWZlVG9Db2xsZWN0
KCkKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgVGhyZWFkVHlw
ZTo6R2FyYmFnZUNvbGxlY3Rpb24pOwogICAgIH0KICAgICAKICAgICBkYXRhTG9nSWYoT3B0aW9u
czo6bG9nR0MoKSwgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gYmVmb3JlKS5taWxsaXNlY29uZHMo
KSwgIm1zXVxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCmluZGV4IDZlMWQ4ZWNhYTNiZS4uMGQ4OTFmZjk0NzNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI3IEBACisyMDIwLTAyLTI2ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5j
b20+CisKKyAgICAgICAgQWxsb3cgc2V0dGluZyBvZiBzdGFjayBzaXplcyBmb3IgdGhyZWFkcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjIzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNl
IFRocmVhZFR5cGUgd2hpY2ggaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNwZWNpZnkgYSBzdGFjayBz
aXplIGZvciBhIHBhcnRpY3VsYXIKKyAgICAgICAgdHlwZSBvZiB0aHJlYWQuIFBsYXRmb3JtcyBj
YW4gbWFrZSB0aGVpciBvd24gZGVjaXNpb25zIG9uIHdoYXQgdGhlIHN0YWNrIHNpemUgc2hvdWxk
IGJlCisgICAgICAgIGJhc2VkIG9uIHRoZWlyIG93biBvYnNlcnZhdGlvbnMuIEFkZGl0aW9uYWxs
eSBhIGRlZmF1bHQgc3RhY2sgc2l6ZSBjYW4gYmUgc3BlY2lmaWVkCisgICAgICAgIGR1cmluZyBi
eSBkZWZpbmluZyBERUZBVUxUX1RIUkVBRF9TVEFDS19TSVpFX0lOX0tCIGlmIHRoZSBkZWZhdWx0
IHN0YWNrIGZvciBhIHBsYXRmb3JtIGlzCisgICAgICAgIGluc3VmZmljaWVudCBpbiBhbGwgY2Fz
ZXMsIG9yIHdoZW4gYXR0ZW1wdGluZyB0byBnYXRoZXIgbWV0cmljcyB0byB0dW5lIHRoZSB2YWx1
ZXMuCisKKyAgICAgICAgQm90aCB0aGUgcHRocmVhZCBhbmQgV2luZG93cyB0aHJlYWQgaW1wbGVt
ZW50YXRpb25zIGFyZSBtb2RpZmllZCB0byBzZXQgdGhlIHN0YWNrIHNpemUKKyAgICAgICAgaWYg
cHJvdmlkZWQuCisKKyAgICAgICAgKiB3dGYvVGhyZWFkaW5nLmNwcDoKKyAgICAgICAgKFdURjo6
VGhyZWFkOjpjcmVhdGUpOgorICAgICAgICAqIHd0Zi9UaHJlYWRpbmcuaDoKKyAgICAgICAgKiB3
dGYvcG9zaXgvVGhyZWFkaW5nUE9TSVguY3BwOgorICAgICAgICAoV1RGOjpUaHJlYWQ6OmVzdGFi
bGlzaEhhbmRsZSk6CisgICAgICAgICogd3RmL3dpbi9UaHJlYWRpbmdXaW4uY3BwOgorICAgICAg
ICAoV1RGOjpUaHJlYWQ6OmVzdGFibGlzaEhhbmRsZSk6CisKIDIwMjAtMDItMjUgIERldmluIFJv
dXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHNhZmFy
aSBhcHAgZXh0ZW5zaW9uIGlzb2xhdGVkIHdvcmxkcyBhbmQgaW5qZWN0ZWQgZmlsZXMgdXNlIHRo
ZSBleHRlbnNpb24ncyBpZGVudGlmaWVyIGluc3RlYWQgb2YgaXRzIG5hbWUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcu
Y3BwCmluZGV4IGJiMGQ1ZDkzZWJlNi4uYWU0YTk5ZDljZGMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAK
QEAgLTQ1LDYgKzQ1LDEzIEBACiAKIG5hbWVzcGFjZSBXVEYgewogCisjaWYgZGVmaW5lZChERUZB
VUxUX1RIUkVBRF9TVEFDS19TSVpFX0lOX0tCKSAmJiBERUZBVUxUX1RIUkVBRF9TVEFDS19TSVpF
X0lOX0tCID4gMAorc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgZGVmYXVsdFN0YWNrU2l6ZSA9IERF
RkFVTFRfVEhSRUFEX1NUQUNLX1NJWkVfSU5fS0IgKiAxMDI0OworI2Vsc2UKKy8vIFVzZSB0aGUg
cGxhdGZvcm0ncyBkZWZhdWx0IHN0YWNrIHNpemUKK3N0YXRpYyBjb25zdGV4cHIgc2l6ZV90IGRl
ZmF1bHRTdGFja1NpemUgPSAwOworI2VuZGlmCisKIHN0cnVjdCBUaHJlYWQ6Ok5ld1RocmVhZENv
bnRleHQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TmV3VGhyZWFkQ29udGV4dD4gewog
cHVibGljOgogICAgIE5ld1RocmVhZENvbnRleHQoY29uc3QgY2hhciogbmFtZSwgRnVuY3Rpb248
dm9pZCgpPiYmIGVudHJ5UG9pbnQsIFJlZjxUaHJlYWQ+JiYgdGhyZWFkKQpAQCAtMTQ4LDkgKzE1
NSwxOSBAQCB2b2lkIFRocmVhZDo6ZW50cnlQb2ludChOZXdUaHJlYWRDb250ZXh0KiBuZXdUaHJl
YWRDb250ZXh0KQogICAgIGZ1bmN0aW9uKCk7CiB9CiAKLVJlZjxUaHJlYWQ+IFRocmVhZDo6Y3Jl
YXRlKGNvbnN0IGNoYXIqIG5hbWUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBlbnRyeVBvaW50KQorUmVm
PFRocmVhZD4gVGhyZWFkOjpjcmVhdGUoY29uc3QgY2hhciogbmFtZSwgRnVuY3Rpb248dm9pZCgp
PiYmIGVudHJ5UG9pbnQsIFRocmVhZFR5cGUgdGhyZWFkVHlwZSkKIHsKICAgICBXVEY6OmluaXRp
YWxpemVUaHJlYWRpbmcoKTsKKyAgICAvLyBTZXQgdGhlIHN0YWNrIHNpemUgZm9yIHRoZSBjcmVh
dGVkIHRocmVhZCBiYXNlZCBvbiBpdHMgdHlwZS4KKyAgICAvLyBJZiB0aGUgc3RhY2sgc2l6ZSBp
cyBzZXQgdG8gMCB0aGVuIHVzZSB0aGUgc3lzdGVtIGRlZmF1bHQuIFBsYXRmb3JtcyBjYW4gdHVu
ZSB0aGUgdmFsdWVzIGhlcmUuCisgICAgLy8gRW5hYmxlIFNUQUNLX1NUQVRTIGluIFN0YWNrU3Rh
dHMuaCB0byBjcmVhdGUgYSBidWlsZCB0aGF0IHdpbGwgdHJhY2sgdGhlIGluZm9ybWF0aW9uIGZv
ciB0dW5pbmcuCisgICAgc2l6ZV90IHN0YWNrU2l6ZSA9IGRlZmF1bHRTdGFja1NpemU7CisjaWYg
UExBVEZPUk0oUExBWVNUQVRJT04pCisgICAgaWYgKHRocmVhZFR5cGUgPT0gVGhyZWFkVHlwZTo6
SmF2YVNjcmlwdCkKKyAgICAgICAgc3RhY2tTaXplID0gNTEyICogMTAyNDsKKyNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKHRocmVhZFR5cGUpOworI2VuZGlmCiAgICAgUmVmPFRocmVhZD4gdGhyZWFk
ID0gYWRvcHRSZWYoKm5ldyBUaHJlYWQoKSk7CiAgICAgUmVmPE5ld1RocmVhZENvbnRleHQ+IGNv
bnRleHQgPSBhZG9wdFJlZigqbmV3IE5ld1RocmVhZENvbnRleHQgeyBuYW1lLCBXVEZNb3ZlKGVu
dHJ5UG9pbnQpLCB0aHJlYWQuY29weVJlZigpIH0pOwogICAgIC8vIEluY3JlbWVudCB0aGUgY29u
dGV4dCByZWYgb24gYmVoYWxmIG9mIHRoZSBjcmVhdGVkIHRocmVhZC4gV2UgZG8gbm90IGp1c3Qg
dXNlIGEgdW5pcXVlX3B0ciBhbmQgbGVhayBpdCB0byB0aGUgY3JlYXRlZCB0aHJlYWQgYmVjYXVz
ZSBib3RoIHRoZSBjcmVhdG9yIGFuZCBjcmVhdGVkIHRocmVhZCBoYXMgYSBuZWVkIHRvIGtlZXAg
dGhlIGNvbnRleHQgYWxpdmU6CkBAIC0xNjEsNyArMTc4LDcgQEAgUmVmPFRocmVhZD4gVGhyZWFk
OjpjcmVhdGUoY29uc3QgY2hhciogbmFtZSwgRnVuY3Rpb248dm9pZCgpPiYmIGVudHJ5UG9pbnQp
CiAgICAgY29udGV4dC0+cmVmKCk7CiAgICAgewogICAgICAgICBNdXRleExvY2tlciBsb2NrZXIo
Y29udGV4dC0+bXV0ZXgpOwotICAgICAgICBib29sIHN1Y2Nlc3MgPSB0aHJlYWQtPmVzdGFibGlz
aEhhbmRsZShjb250ZXh0LnB0cigpKTsKKyAgICAgICAgYm9vbCBzdWNjZXNzID0gdGhyZWFkLT5l
c3RhYmxpc2hIYW5kbGUoY29udGV4dC5wdHIoKSwgc3RhY2tTaXplKTsKICAgICAgICAgUkVMRUFT
RV9BU1NFUlQoc3VjY2Vzcyk7CiAgICAgICAgIGNvbnRleHQtPnN0YWdlID0gTmV3VGhyZWFkQ29u
dGV4dDo6U3RhZ2U6OkVzdGFibGlzaGVkSGFuZGxlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9UaHJlYWRpbmcuaCBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5oCmluZGV4IDFmYzQ2
NmY0ZWQzYS4uYjhlNWEwZTZjN2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRp
bmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaApAQCAtODIsNiArODIsMTUgQEAg
ZW51bSBjbGFzcyBHQ1RocmVhZFR5cGUgOiB1aW50OF90IHsKICAgICBIZWxwZXIsCiB9OwogCitl
bnVtIGNsYXNzIFRocmVhZFR5cGUgOiB1aW50OF90IHsKKyAgICBVbmtub3duID0gMCwKKyAgICBK
YXZhU2NyaXB0LAorICAgIEdhcmJhZ2VDb2xsZWN0aW9uLAorICAgIE5ldHdvcmssCisgICAgR3Jh
cGhpY3MsCisgICAgQXVkaW8sCit9OworCiBjbGFzcyBUaHJlYWQgOiBwdWJsaWMgVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQ8VGhyZWFkPiB7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNzIFRocmVhZEdy
b3VwOwpAQCAtOTEsNyArMTAwLDcgQEAgcHVibGljOgogCiAgICAgLy8gUmV0dXJucyBudWxscHRy
IGlmIHRocmVhZCBjcmVhdGlvbiBmYWlsZWQuCiAgICAgLy8gVGhlIHRocmVhZCBuYW1lIG11c3Qg
YmUgYSBsaXRlcmFsIHNpbmNlIG9uIHNvbWUgcGxhdGZvcm1zIGl0J3MgcGFzc2VkIGluIHRvIHRo
ZSB0aHJlYWQuCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBSZWY8VGhyZWFkPiBjcmVh
dGUoY29uc3QgY2hhciogdGhyZWFkTmFtZSwgRnVuY3Rpb248dm9pZCgpPiYmKTsKKyAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIFJlZjxUaHJlYWQ+IGNyZWF0ZShjb25zdCBjaGFyKiB0aHJl
YWROYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYsIFRocmVhZFR5cGUgdGhyZWFkVHlwZSA9IFRocmVh
ZFR5cGU6OlVua25vd24pOwogCiAgICAgLy8gUmV0dXJucyBUaHJlYWQgb2JqZWN0LgogICAgIHN0
YXRpYyBUaHJlYWQmIGN1cnJlbnQoKTsKQEAgLTIzNSw3ICsyNDQsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgdm9pZCBpbml0aWFsaXplSW5UaHJlYWQoKTsKIAogICAgIC8vIEludGVybmFsIHBsYXRmb3Jt
LXNwZWNpZmljIFRocmVhZCBlc3RhYmxpc2htZW50IGltcGxlbWVudGF0aW9uLgotICAgIGJvb2wg
ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqKTsKKyAgICBib29sIGVzdGFibGlzaEhh
bmRsZShOZXdUaHJlYWRDb250ZXh0Kiwgc2l6ZV90KTsKIAogI2lmIFVTRShQVEhSRUFEUykKICAg
ICB2b2lkIGVzdGFibGlzaFBsYXRmb3JtU3BlY2lmaWNIYW5kbGUoUGxhdGZvcm1UaHJlYWRIYW5k
bGUpOwpAQCAtMzc5LDQgKzM4OCw1IEBAIGlubGluZSBUaHJlYWQmIFRocmVhZDo6Y3VycmVudCgp
CiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpUaHJlYWQ7Cit1c2luZyBXVEY6OlRo
cmVhZFR5cGU7CiB1c2luZyBXVEY6OkdDVGhyZWFkVHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L1Ro
cmVhZGluZ1BPU0lYLmNwcAppbmRleCBkZDU1OGQ4NDRlNDMuLjZlOTE0ZTA1NjU0ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvcG9zaXgvVGhyZWFkaW5nUE9TSVguY3BwCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcApAQCAtMjAxLDcgKzIwMSw3IEBAIHN0
YXRpYyB2b2lkKiB3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqIGNvbnRleHQpCiAgICAgcmV0dXJu
IG51bGxwdHI7CiB9CiAKLWJvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5kbGUoTmV3VGhyZWFkQ29u
dGV4dCogY29udGV4dCkKK2Jvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5kbGUoTmV3VGhyZWFkQ29u
dGV4dCogY29udGV4dCwgc2l6ZV90IHN0YWNrU2l6ZSkKIHsKICAgICBwdGhyZWFkX3QgdGhyZWFk
SGFuZGxlOwogICAgIHB0aHJlYWRfYXR0cl90IGF0dHI7CkBAIC0yMDksNiArMjA5LDggQEAgYm9v
bCBUaHJlYWQ6OmVzdGFibGlzaEhhbmRsZShOZXdUaHJlYWRDb250ZXh0KiBjb250ZXh0KQogI2lm
IEhBVkUoUU9TX0NMQVNTRVMpCiAgICAgcHRocmVhZF9hdHRyX3NldF9xb3NfY2xhc3NfbnAoJmF0
dHIsIGFkanVzdGVkUU9TQ2xhc3MoUU9TX0NMQVNTX1VTRVJfSU5JVElBVEVEKSwgMCk7CiAjZW5k
aWYKKyAgICBpZiAoc3RhY2tTaXplID4gMCkKKyAgICAgICAgcHRocmVhZF9hdHRyX3NldHN0YWNr
c2l6ZSgmYXR0ciwgc3RhY2tTaXplKTsKICAgICBpbnQgZXJyb3IgPSBwdGhyZWFkX2NyZWF0ZSgm
dGhyZWFkSGFuZGxlLCAmYXR0ciwgd3RmVGhyZWFkRW50cnlQb2ludCwgY29udGV4dCk7CiAgICAg
cHRocmVhZF9hdHRyX2Rlc3Ryb3koJmF0dHIpOwogICAgIGlmIChlcnJvcikgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi93
aW4vVGhyZWFkaW5nV2luLmNwcAppbmRleCAyMjRhYWMzN2E0OWUuLmYxN2IzOWRjNzcyYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5jcHAKQEAgLTE1MywxMCArMTUzLDExIEBAIHN0YXRp
YyB1bnNpZ25lZCBfX3N0ZGNhbGwgd3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKiBkYXRhKQogICAg
IHJldHVybiAwOwogfQogCi1ib29sIFRocmVhZDo6ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENv
bnRleHQqIGRhdGEpCitib29sIFRocmVhZDo6ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRl
eHQqIGRhdGEsIHNpemVfdCBzdGFja1NpemUpCiB7CiAgICAgdW5zaWduZWQgdGhyZWFkSWRlbnRp
ZmllciA9IDA7Ci0gICAgSEFORExFIHRocmVhZEhhbmRsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8SEFO
RExFPihfYmVnaW50aHJlYWRleCgwLCAwLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBkYXRhLCAwLCAm
dGhyZWFkSWRlbnRpZmllcikpOworICAgIHVuc2lnbmVkIGluaXRGbGFnID0gc3RhY2tTaXplID4g
MCA/IFNUQUNLX1NJWkVfUEFSQU1fSVNfQV9SRVNFUlZBVElPTiA6IDA7CisgICAgSEFORExFIHRo
cmVhZEhhbmRsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8SEFORExFPihfYmVnaW50aHJlYWRleCgwLCBz
dGFja1NpemUsIHd0ZlRocmVhZEVudHJ5UG9pbnQsIGRhdGEsIGluaXRGbGFnLCAmdGhyZWFkSWRl
bnRpZmllcikpOwogICAgIGlmICghdGhyZWFkSGFuZGxlKSB7CiAgICAgICAgIExPR19FUlJPUigi
RmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQgYXQgZW50cnkgcG9pbnQgJXAgd2l0aCBkYXRhICVwOiAl
bGQiLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBkYXRhLCBlcnJubyk7CiAgICAgICAgIHJldHVybiBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBhZWFmOTY3YjM4ZDMuLjliYWI1MDY1YTFjNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAyLTI2ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3Rl
YWRAc29ueS5jb20+CisKKyAgICAgICAgQWxsb3cgc2V0dGluZyBvZiBzdGFjayBzaXplcyBmb3Ig
dGhyZWFkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA4MjIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
U3BlY2lmeSBUaHJlYWRUeXBlIGF0IHRoZSBUaHJlYWQ6OmNyZWF0ZSBjYWxsc2l0ZS4KKworICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRpb0RlY29kZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QXN5bmNBdWRpb0RlY29kZXI6OkFzeW5jQXVkaW9EZWNvZGVyKToKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpPZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGU6OnN0YXJ0UmVuZGVyaW5n
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE9uQWx0ZXJuYXRlVGhyZWFkRm9yRGVi
dWdnaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmV2ZXJiQ29udm9sdmVyOjpSZXZlcmJDb252b2x2ZXIpOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvTG9hZGVyUnVuTG9vcENGLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmxvYWRlclJ1bkxvb3ApOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2Yv
UmVzb3VyY2VIYW5kbGVDRk5ldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRs
ZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3Bl
cmF0aW9uUXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0UnVuTG9vcCk6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0U2NoZWR1bGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkN1cmxSZXF1ZXN0U2NoZWR1bGVyOjpzdGFydFRocmVhZElmTmVlZGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFN0cmVhbVNjaGVkdWxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDdXJsU3RyZWFtU2NoZWR1bGVyOjpzdGFydFRocmVhZElmTmVl
ZGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJUaHJlYWQ6OnN0YXJ0KToKKwogMjAyMC0wMi0yNiAgSmFjb2IgVXBob2ZmICA8
amFjb2JfdXBob2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMjU3MzczLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
c3luY0F1ZGlvRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Fz
eW5jQXVkaW9EZWNvZGVyLmNwcAppbmRleCAyZjU0MjcyYWM1YzAuLjhhOGJiNmJlNWE1MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Bc3luY0F1ZGlvRGVjb2Rl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Bc3luY0F1ZGlvRGVj
b2Rlci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgQXN5bmNBdWRpb0RlY29kZXI6OkFzeW5jQXVkaW9E
ZWNvZGVyKCkKICAgICBMb2NrSG9sZGVyIGxvY2sobV90aHJlYWRDcmVhdGlvbk11dGV4KTsKICAg
ICBtX3RocmVhZCA9IFRocmVhZDo6Y3JlYXRlKCJBdWRpbyBEZWNvZGVyIiwgW3RoaXNdIHsKICAg
ICAgICAgcnVuTG9vcCgpOwotICAgIH0pOworICAgIH0sIFRocmVhZFR5cGU6OkF1ZGlvKTsKIH0K
IAogQXN5bmNBdWRpb0RlY29kZXI6On5Bc3luY0F1ZGlvRGVjb2RlcigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3Rp
bmF0aW9uTm9kZS5jcHAKaW5kZXggZWY3YjMzYTg2ZDY1Li42YTE5NTU0NmNmNzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGluYXRp
b25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVB
dWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKQEAgLTk3LDcgKzk3LDcgQEAgdm9pZCBPZmZsaW5lQXVk
aW9EZXN0aW5hdGlvbk5vZGU6OnN0YXJ0UmVuZGVyaW5nKCkKICAgICAgICAgICAgIGNvbnRleHQo
KS5maW5pc2hlZFJlbmRlcmluZyhkaWRSZW5kZXIpOwogICAgICAgICAgICAgZGVyZWYoKTsKICAg
ICAgICAgfSk7Ci0gICAgfSk7CisgICAgfSwgVGhyZWFkVHlwZTo6QXVkaW8pOwogfQogCiBib29s
IE9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6b2ZmbGluZVJlbmRlcigpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcAppbmRleCBjNDlmYTFhYmY5NzAuLjgz
Mjc4NGE0YmUxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIu
Y3BwCkBAIC0xMTEsNyArMTExLDcgQEAgdm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0
Tm93SWZOb3REb25lUmVjZW50bHkoKQogCiB2b2lkIEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxl
Y3RPbkFsdGVybmF0ZVRocmVhZEZvckRlYnVnZ2luZyhib29sIHdhaXRVbnRpbERvbmUpCiB7Ci0g
ICAgYXV0byB0aHJlYWQgPSBUaHJlYWQ6OmNyZWF0ZSgiV2ViQ29yZTogR0NDb250cm9sbGVyIiwg
JmNvbGxlY3QpOworICAgIGF1dG8gdGhyZWFkID0gVGhyZWFkOjpjcmVhdGUoIldlYkNvcmU6IEdD
Q29udHJvbGxlciIsICZjb2xsZWN0LCBUaHJlYWRUeXBlOjpHYXJiYWdlQ29sbGVjdGlvbik7CiAK
ICAgICBpZiAod2FpdFVudGlsRG9uZSkgewogICAgICAgICB0aHJlYWQtPndhaXRGb3JDb21wbGV0
aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJD
b252b2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9s
dmVyLmNwcAppbmRleCBhOWM5MzVjMWEyODUuLmExMmYxNjU0ZTA1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXIuY3BwCkBAIC0xMjMsNyAr
MTIzLDcgQEAgUmV2ZXJiQ29udm9sdmVyOjpSZXZlcmJDb252b2x2ZXIoQXVkaW9DaGFubmVsKiBp
bXB1bHNlUmVzcG9uc2UsIHNpemVfdCByZW5kZXJTbGkKICAgICBpZiAodGhpcy0+dXNlQmFja2dy
b3VuZFRocmVhZHMoKSAmJiBtX2JhY2tncm91bmRTdGFnZXMuc2l6ZSgpID4gMCkgewogICAgICAg
ICBtX2JhY2tncm91bmRUaHJlYWQgPSBUaHJlYWQ6OmNyZWF0ZSgiY29udm9sdXRpb24gYmFja2dy
b3VuZCB0aHJlYWQiLCBbdGhpc10gewogICAgICAgICAgICAgYmFja2dyb3VuZFRocmVhZEVudHJ5
KCk7Ci0gICAgICAgIH0pOworICAgICAgICB9LCBUaHJlYWRUeXBlOjpBdWRpbyk7CiAgICAgfQog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0xvYWRl
clJ1bkxvb3BDRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0xvYWRl
clJ1bkxvb3BDRi5jcHAKaW5kZXggY2ZkNmFiMGJhZWVhLi5mNjMzZmVkMDEwNWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTG9hZGVyUnVuTG9vcENGLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0xvYWRlclJ1bkxvb3BD
Ri5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgQ0ZSdW5Mb29wUmVmIGxvYWRlclJ1bkxvb3AoKQogICAg
ICAgICAgICAgICAgIEF1dG9kcmFpbmVkUG9vbCBwb29sOwogICAgICAgICAgICAgICAgIHJlc3Vs
dCA9IENGUnVuTG9vcFJ1bkluTW9kZShrQ0ZSdW5Mb29wRGVmYXVsdE1vZGUsIHN0ZDo6bnVtZXJp
Y19saW1pdHM8ZG91YmxlPjo6bWF4KCksIHRydWUpOwogICAgICAgICAgICAgfSB3aGlsZSAocmVz
dWx0ICE9IGtDRlJ1bkxvb3BSdW5TdG9wcGVkICYmIHJlc3VsdCAhPSBrQ0ZSdW5Mb29wUnVuRmlu
aXNoZWQpOwotICAgICAgICB9KTsKKyAgICAgICAgfSwgVGhyZWFkVHlwZTo6TmV0d29yayk7CiAK
ICAgICAgICAgbG9hZGVyUnVuTG9vcENvbmRpdGlvblZhcmlhYmxlLndhaXQobG9jaywgW10geyBy
ZXR1cm4gbG9hZGVyUnVuTG9vcE9iamVjdDsgfSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAK
aW5kZXggMzIyYTg0NTA4ZTU5Li45MDA4MWNiZWMwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcApA
QCAtNTk1LDcgKzU5NSw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291
cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4CiAKICAgICAgICAgICAg
IHdoaWxlICh0cnVlKQogICAgICAgICAgICAgICAgIENGUnVuTG9vcFJ1bkluTW9kZShrQ0ZSdW5M
b29wRGVmYXVsdE1vZGUsIDFFMzAsIHRydWUpOwotICAgICAgICB9KTsKKyAgICAgICAgfSwgVGhy
ZWFkVHlwZTo6TmV0d29yayk7CiAgICAgICAgIHNlbS53YWl0KCk7CiAgICAgfQogICAgIENGVVJM
Q29ubmVjdGlvblNjaGVkdWxlV2l0aFJ1bkxvb3AoaGFuZGxlLT5jb25uZWN0aW9uKCksIHJ1bkxv
b3AsIGtDRlJ1bkxvb3BEZWZhdWx0TW9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVX
aXRoT3BlcmF0aW9uUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
Zi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVl
LmNwcAppbmRleCA5ZDFlOWM0MWI5NGYuLjgwZDg2MGVjZjI4YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlv
bkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRo
T3BlcmF0aW9uUXVldWUuY3BwCkBAIC0xMTksNyArMTE5LDcgQEAgc3RhdGljIENGUnVuTG9vcFJl
ZiBnZXRSdW5Mb29wKCkKIAogICAgICAgICAgICAgd2hpbGUgKHRydWUpCiAgICAgICAgICAgICAg
ICAgQ0ZSdW5Mb29wUnVuSW5Nb2RlKGtDRlJ1bkxvb3BEZWZhdWx0TW9kZSwgMUUzMCwgdHJ1ZSk7
Ci0gICAgICAgIH0pOworICAgICAgICB9LCBUaHJlYWRUeXBlOjpOZXR3b3JrKTsKICAgICAgICAg
c2VtLndhaXQoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdFNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3RTY2hlZHVsZXIuY3BwCmluZGV4IDNhYTVm
NTJkYjYyNy4uNGQwOWU2YjViN2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3RTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdFNjaGVkdWxlci5jcHAKQEAgLTk3
LDcgKzk3LDcgQEAgdm9pZCBDdXJsUmVxdWVzdFNjaGVkdWxlcjo6c3RhcnRUaHJlYWRJZk5lZWRl
ZCgpCiAKICAgICAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX211dGV4KTsKICAgICAgICAg
bV9ydW5UaHJlYWQgPSBmYWxzZTsKLSAgICB9KTsKKyAgICB9LCBUaHJlYWRUeXBlOjpOZXR3b3Jr
KTsKIH0KIAogdm9pZCBDdXJsUmVxdWVzdFNjaGVkdWxlcjo6c3RvcFRocmVhZElmTm9Nb3JlSm9i
UnVubmluZygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvQ3VybFN0cmVhbVNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvQ3VybFN0cmVhbVNjaGVkdWxlci5jcHAKaW5kZXggODQ1OGUzYzE0MTY3Li4zZmI4
NzU5OTg0YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3Vy
bC9DdXJsU3RyZWFtU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2N1cmwvQ3VybFN0cmVhbVNjaGVkdWxlci5jcHAKQEAgLTExOCw3ICsxMTgsNyBAQCB2
b2lkIEN1cmxTdHJlYW1TY2hlZHVsZXI6OnN0YXJ0VGhyZWFkSWZOZWVkZWQoKQogCiAgICAgbV90
aHJlYWQgPSBUaHJlYWQ6OmNyZWF0ZSgiY3VybFN0cmVhbVRocmVhZCIsIFt0aGlzXSB7CiAgICAg
ICAgIHdvcmtlclRocmVhZCgpOwotICAgIH0pOworICAgIH0sIFRocmVhZFR5cGU6Ok5ldHdvcmsp
OwogfQogCiB2b2lkIEN1cmxTdHJlYW1TY2hlZHVsZXI6OnN0b3BUaHJlYWRJZk5vTW9yZUpvYlJ1
bm5pbmcoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IDBmMzE1
OGY2MTQyMi4uMzYxMTM4NzA0YTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBXb3JrZXJUaHJlYWQ6OnN0YXJ0KFdURjo6
RnVuY3Rpb248dm9pZChjb25zdCBTdHJpbmcmKT4mJiBldmFsdWF0ZUNhbGxiYWNrKQogCiAgICAg
UmVmPFRocmVhZD4gdGhyZWFkID0gVGhyZWFkOjpjcmVhdGUoaXNTZXJ2aWNlV29ya2VyVGhyZWFk
KCkgPyAiV2ViQ29yZTogU2VydmljZSBXb3JrZXIiIDogIldlYkNvcmU6IFdvcmtlciIsIFt0aGlz
XSB7CiAgICAgICAgIHdvcmtlclRocmVhZCgpOwotICAgIH0pOworICAgIH0sIFRocmVhZFR5cGU6
OkphdmFTY3JpcHQpOwogICAgIC8vIEZvcmNlIHRoZSBUaHJlYWQgb2JqZWN0IHRvIGJlIGluaXRp
YWxpemVkIGZ1bGx5IGJlZm9yZSBzdG9yaW5nIGl0IHRvIG1fdGhyZWFkIChhbmQgYmVjb21pbmcg
dmlzaWJsZSB0byBvdGhlciB0aHJlYWRzKS4KICAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOwog
ICAgIG1fdGhyZWFkID0gV1RGTW92ZSh0aHJlYWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4ZjM5N2YxODRkNTMu
LjJiM2VlNDY5ZWRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMi0yNiAgRG9u
IE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisgICAgICAgIEFsbG93IHNldHRp
bmcgb2Ygc3RhY2sgc2l6ZXMgZm9yIHRocmVhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNwZWNpZnkgVGhyZWFkVHlwZSBhdCB0aGUgVGhyZWFkOjpj
cmVhdGUgY2FsbHNpdGUuCisKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90
aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Y3JlYXRlUnVuTG9vcCk6CisKIDIwMjAtMDItMjYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU3NDcxLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRl
ZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9v
cC5jcHAKaW5kZXggNzE1ODU3YTY0ODE0Li44MjhjYjEwNzVhNjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0Nv
bXBvc2l0aW5nUnVuTG9vcC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0
ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcApAQCAt
NDcsNyArNDcsNyBAQCBzdGF0aWMgUnVuTG9vcCogY3JlYXRlUnVuTG9vcCgpCiAgICAgICAgIHJ1
bkxvb3AgPSAmUnVuTG9vcDo6Y3VycmVudCgpOwogICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7
CiAgICAgICAgIHJ1bkxvb3AtPnJ1bigpOwotICAgIH0pLT5kZXRhY2goKTsKKyAgICB9LCBUaHJl
YWRUeXBlOjpHcmFwaGljcyktPmRldGFjaCgpOwogICAgIHNlbWFwaG9yZS53YWl0KCk7CiAKICAg
ICByZXR1cm4gcnVuTG9vcDsK
</data>
<flag name="review"
          id="407287"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391768</attachid>
            <date>2020-02-26 12:41:20 -0800</date>
            <delta_ts>2020-02-26 12:42:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208223.diff</filename>
            <type>text/plain</type>
            <size>17491</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE2OGFmNDBjNTI3YS4uZWEzMmZlNDk0MDlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMi0yNiAgRG9u
IE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisgICAgICAgIEFsbG93IHNldHRp
bmcgb2Ygc3RhY2sgc2l6ZXMgZm9yIHRocmVhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNwZWNpZnkgVGhyZWFkVHlwZSBhdCB0aGUgVGhyZWFkOjpj
cmVhdGUgY2FsbHNpdGUuCisKKyAgICAgICAgKiBoZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlND
OjpIZWFwOjpub3RpZnlJc1NhZmVUb0NvbGxlY3QpOgorCiAyMDIwLTAyLTI2ICBDYWlvIExpbWEg
IDx0aWNhaW9saW1hQGdtYWlsLmNvbT4KIAogICAgICAgICBbSlNDXVtNSVBTXSBBZGRpbmcgc3Vw
cG9ydCB0byBDaGVja3BvaW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAppbmRleCA0
Yzg0MTVlYTI4MjMuLmNiOTc2YTE5NDVhMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5j
cHAKQEAgLTI5MDcsNyArMjkwNyw3IEBAIHZvaWQgSGVhcDo6bm90aWZ5SXNTYWZlVG9Db2xsZWN0
KCkKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgVGhyZWFkVHlw
ZTo6R2FyYmFnZUNvbGxlY3Rpb24pOwogICAgIH0KICAgICAKICAgICBkYXRhTG9nSWYoT3B0aW9u
czo6bG9nR0MoKSwgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gYmVmb3JlKS5taWxsaXNlY29uZHMo
KSwgIm1zXVxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCmluZGV4IDZlMWQ4ZWNhYTNiZS4uNDljMjBhYjhhN2VhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI4IEBACisyMDIwLTAyLTI2ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5j
b20+CisKKyAgICAgICAgQWxsb3cgc2V0dGluZyBvZiBzdGFjayBzaXplcyBmb3IgdGhyZWFkcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjIzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNl
IFRocmVhZFR5cGUgd2hpY2ggaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNwZWNpZnkgYSBzdGFjayBz
aXplIGZvciBhIHBhcnRpY3VsYXIKKyAgICAgICAgdHlwZSBvZiB0aHJlYWQuIFBsYXRmb3JtcyBj
YW4gbWFrZSB0aGVpciBvd24gZGVjaXNpb25zIG9uIHdoYXQgdGhlIHN0YWNrIHNpemUgc2hvdWxk
IGJlCisgICAgICAgIGJhc2VkIG9uIHRoZWlyIG93biBvYnNlcnZhdGlvbnMuIEFkZGl0aW9uYWxs
eSBhIGRlZmF1bHQgc3RhY2sgc2l6ZSBjYW4gYmUgc3BlY2lmaWVkCisgICAgICAgIGJ5IGRlZmlu
aW5nIERFRkFVTFRfVEhSRUFEX1NUQUNLX1NJWkVfSU5fS0IgaWYgdGhlIGRlZmF1bHQgc3RhY2sg
Zm9yIGEgcGxhdGZvcm0gaXMKKyAgICAgICAgaW5zdWZmaWNpZW50IGluIGFsbCBjYXNlcywgb3Ig
d2hlbiBpbnZlc3RpZ2F0aW5nIHRoZSBzdGFjayBzaXplIGZvciB0dW5pbmcuCisKKyAgICAgICAg
Qm90aCB0aGUgcHRocmVhZCBhbmQgV2luZG93cyB0aHJlYWQgaW1wbGVtZW50YXRpb25zIGFyZSBt
b2RpZmllZCB0byBzZXQgdGhlIHN0YWNrIHNpemUKKyAgICAgICAgaWYgcHJvdmlkZWQuCisKKyAg
ICAgICAgKiB3dGYvVGhyZWFkaW5nLmNwcDoKKyAgICAgICAgKFdURjo6ZGVmYXVsdFN0YWNrU2l6
ZSk6CisgICAgICAgIChXVEY6OlRocmVhZDo6Y3JlYXRlKToKKyAgICAgICAgKiB3dGYvVGhyZWFk
aW5nLmg6CisgICAgICAgICogd3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcDoKKyAgICAgICAg
KFdURjo6VGhyZWFkOjplc3RhYmxpc2hIYW5kbGUpOgorICAgICAgICAqIHd0Zi93aW4vVGhyZWFk
aW5nV2luLmNwcDoKKyAgICAgICAgKFdURjo6VGhyZWFkOjplc3RhYmxpc2hIYW5kbGUpOgorCiAy
MDIwLTAyLTI1ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBzYWZhcmkgYXBwIGV4dGVuc2lvbiBpc29sYXRlZCB3b3JsZHMgYW5kIGlu
amVjdGVkIGZpbGVzIHVzZSB0aGUgZXh0ZW5zaW9uJ3MgaWRlbnRpZmllciBpbnN0ZWFkIG9mIGl0
cyBuYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwIGIvU291cmNl
L1dURi93dGYvVGhyZWFkaW5nLmNwcAppbmRleCBiYjBkNWQ5M2ViZTYuLmMyNTE4NjUzNzExMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC00NSw2ICs0NSwxNSBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAorc3RhdGljIE9wdGlvbmFsPHNpemVfdD4gZGVmYXVsdFN0YWNrU2l6ZSgpIHsKKyNpZiBkZWZp
bmVkKERFRkFVTFRfVEhSRUFEX1NUQUNLX1NJWkVfSU5fS0IpICYmIERFRkFVTFRfVEhSRUFEX1NU
QUNLX1NJWkVfSU5fS0IgPiAwCisgICAgcmV0dXJuIERFRkFVTFRfVEhSRUFEX1NUQUNLX1NJWkVf
SU5fS0IgKiAxMDI0OworI2Vsc2UKKyAgICAvLyBVc2UgdGhlIHBsYXRmb3JtJ3MgZGVmYXVsdCBz
dGFjayBzaXplCisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyNlbmRpZgorfQorCiBzdHJ1Y3Qg
VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE5l
d1RocmVhZENvbnRleHQ+IHsKIHB1YmxpYzoKICAgICBOZXdUaHJlYWRDb250ZXh0KGNvbnN0IGNo
YXIqIG5hbWUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBlbnRyeVBvaW50LCBSZWY8VGhyZWFkPiYmIHRo
cmVhZCkKQEAgLTE0OCw5ICsxNTcsMjAgQEAgdm9pZCBUaHJlYWQ6OmVudHJ5UG9pbnQoTmV3VGhy
ZWFkQ29udGV4dCogbmV3VGhyZWFkQ29udGV4dCkKICAgICBmdW5jdGlvbigpOwogfQogCi1SZWY8
VGhyZWFkPiBUaHJlYWQ6OmNyZWF0ZShjb25zdCBjaGFyKiBuYW1lLCBGdW5jdGlvbjx2b2lkKCk+
JiYgZW50cnlQb2ludCkKK1JlZjxUaHJlYWQ+IFRocmVhZDo6Y3JlYXRlKGNvbnN0IGNoYXIqIG5h
bWUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBlbnRyeVBvaW50LCBUaHJlYWRUeXBlIHRocmVhZFR5cGUp
CiB7CiAgICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisKKyAgICAvLyBTZXQgdGhlIHN0
YWNrIHNpemUgZm9yIHRoZSBjcmVhdGVkIHRocmVhZCBiYXNlZCBvbiBpdHMgdHlwZS4KKyAgICAv
LyBJZiB0aGUgc3RhY2sgc2l6ZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIHVzZSB0aGUgc3lzdGVt
IGRlZmF1bHQuIFBsYXRmb3JtcyBjYW4gdHVuZSB0aGUgdmFsdWVzIGhlcmUuCisgICAgLy8gRW5h
YmxlIFNUQUNLX1NUQVRTIGluIFN0YWNrU3RhdHMuaCB0byBjcmVhdGUgYSBidWlsZCB0aGF0IHdp
bGwgdHJhY2sgdGhlIGluZm9ybWF0aW9uIGZvciB0dW5pbmcuCisgICAgYXV0byBzdGFja1NpemUg
PSBkZWZhdWx0U3RhY2tTaXplKCk7CisjaWYgUExBVEZPUk0oUExBWVNUQVRJT04pCisgICAgaWYg
KHRocmVhZFR5cGUgPT0gVGhyZWFkVHlwZTo6SmF2YVNjcmlwdCkKKyAgICAgICAgc3RhY2tTaXpl
ID0gNTEyICogMTAyNDsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHRocmVhZFR5cGUpOworI2Vu
ZGlmCiAgICAgUmVmPFRocmVhZD4gdGhyZWFkID0gYWRvcHRSZWYoKm5ldyBUaHJlYWQoKSk7CiAg
ICAgUmVmPE5ld1RocmVhZENvbnRleHQ+IGNvbnRleHQgPSBhZG9wdFJlZigqbmV3IE5ld1RocmVh
ZENvbnRleHQgeyBuYW1lLCBXVEZNb3ZlKGVudHJ5UG9pbnQpLCB0aHJlYWQuY29weVJlZigpIH0p
OwogICAgIC8vIEluY3JlbWVudCB0aGUgY29udGV4dCByZWYgb24gYmVoYWxmIG9mIHRoZSBjcmVh
dGVkIHRocmVhZC4gV2UgZG8gbm90IGp1c3QgdXNlIGEgdW5pcXVlX3B0ciBhbmQgbGVhayBpdCB0
byB0aGUgY3JlYXRlZCB0aHJlYWQgYmVjYXVzZSBib3RoIHRoZSBjcmVhdG9yIGFuZCBjcmVhdGVk
IHRocmVhZCBoYXMgYSBuZWVkIHRvIGtlZXAgdGhlIGNvbnRleHQgYWxpdmU6CkBAIC0xNjEsNyAr
MTgxLDcgQEAgUmVmPFRocmVhZD4gVGhyZWFkOjpjcmVhdGUoY29uc3QgY2hhciogbmFtZSwgRnVu
Y3Rpb248dm9pZCgpPiYmIGVudHJ5UG9pbnQpCiAgICAgY29udGV4dC0+cmVmKCk7CiAgICAgewog
ICAgICAgICBNdXRleExvY2tlciBsb2NrZXIoY29udGV4dC0+bXV0ZXgpOwotICAgICAgICBib29s
IHN1Y2Nlc3MgPSB0aHJlYWQtPmVzdGFibGlzaEhhbmRsZShjb250ZXh0LnB0cigpKTsKKyAgICAg
ICAgYm9vbCBzdWNjZXNzID0gdGhyZWFkLT5lc3RhYmxpc2hIYW5kbGUoY29udGV4dC5wdHIoKSwg
c3RhY2tTaXplKTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3VjY2Vzcyk7CiAgICAgICAgIGNv
bnRleHQtPnN0YWdlID0gTmV3VGhyZWFkQ29udGV4dDo6U3RhZ2U6OkVzdGFibGlzaGVkSGFuZGxl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaCBiL1NvdXJjZS9XVEYv
d3RmL1RocmVhZGluZy5oCmluZGV4IDFmYzQ2NmY0ZWQzYS4uY2UzYmYwNjgzMGE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJl
YWRpbmcuaApAQCAtODIsNiArODIsMTUgQEAgZW51bSBjbGFzcyBHQ1RocmVhZFR5cGUgOiB1aW50
OF90IHsKICAgICBIZWxwZXIsCiB9OwogCitlbnVtIGNsYXNzIFRocmVhZFR5cGUgOiB1aW50OF90
IHsKKyAgICBVbmtub3duID0gMCwKKyAgICBKYXZhU2NyaXB0LAorICAgIEdhcmJhZ2VDb2xsZWN0
aW9uLAorICAgIE5ldHdvcmssCisgICAgR3JhcGhpY3MsCisgICAgQXVkaW8sCit9OworCiBjbGFz
cyBUaHJlYWQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8VGhyZWFkPiB7CiBwdWJsaWM6
CiAgICAgZnJpZW5kIGNsYXNzIFRocmVhZEdyb3VwOwpAQCAtOTEsNyArMTAwLDcgQEAgcHVibGlj
OgogCiAgICAgLy8gUmV0dXJucyBudWxscHRyIGlmIHRocmVhZCBjcmVhdGlvbiBmYWlsZWQuCiAg
ICAgLy8gVGhlIHRocmVhZCBuYW1lIG11c3QgYmUgYSBsaXRlcmFsIHNpbmNlIG9uIHNvbWUgcGxh
dGZvcm1zIGl0J3MgcGFzc2VkIGluIHRvIHRoZSB0aHJlYWQuCi0gICAgV1RGX0VYUE9SVF9QUklW
QVRFIHN0YXRpYyBSZWY8VGhyZWFkPiBjcmVhdGUoY29uc3QgY2hhciogdGhyZWFkTmFtZSwgRnVu
Y3Rpb248dm9pZCgpPiYmKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJlZjxUaHJl
YWQ+IGNyZWF0ZShjb25zdCBjaGFyKiB0aHJlYWROYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYsIFRo
cmVhZFR5cGUgdGhyZWFkVHlwZSA9IFRocmVhZFR5cGU6OlVua25vd24pOwogCiAgICAgLy8gUmV0
dXJucyBUaHJlYWQgb2JqZWN0LgogICAgIHN0YXRpYyBUaHJlYWQmIGN1cnJlbnQoKTsKQEAgLTIz
NSw3ICsyNDQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBpbml0aWFsaXplSW5UaHJlYWQoKTsK
IAogICAgIC8vIEludGVybmFsIHBsYXRmb3JtLXNwZWNpZmljIFRocmVhZCBlc3RhYmxpc2htZW50
IGltcGxlbWVudGF0aW9uLgotICAgIGJvb2wgZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRl
eHQqKTsKKyAgICBib29sIGVzdGFibGlzaEhhbmRsZShOZXdUaHJlYWRDb250ZXh0KiwgT3B0aW9u
YWw8c2l6ZV90Pik7CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAgICAgdm9pZCBlc3RhYmxpc2hQbGF0
Zm9ybVNwZWNpZmljSGFuZGxlKFBsYXRmb3JtVGhyZWFkSGFuZGxlKTsKQEAgLTM3OSw0ICszODgs
NSBAQCBpbmxpbmUgVGhyZWFkJiBUaHJlYWQ6OmN1cnJlbnQoKQogfSAvLyBuYW1lc3BhY2UgV1RG
CiAKIHVzaW5nIFdURjo6VGhyZWFkOwordXNpbmcgV1RGOjpUaHJlYWRUeXBlOwogdXNpbmcgV1RG
OjpHQ1RocmVhZFR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9UaHJlYWRp
bmdQT1NJWC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9UaHJlYWRpbmdQT1NJWC5jcHAKaW5k
ZXggZGQ1NThkODQ0ZTQzLi45ZDNmZjZlMTA2YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9UaHJl
YWRpbmdQT1NJWC5jcHAKQEAgLTIwMSw3ICsyMDEsNyBAQCBzdGF0aWMgdm9pZCogd3RmVGhyZWFk
RW50cnlQb2ludCh2b2lkKiBjb250ZXh0KQogICAgIHJldHVybiBudWxscHRyOwogfQogCi1ib29s
IFRocmVhZDo6ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGNvbnRleHQpCitib29s
IFRocmVhZDo6ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGNvbnRleHQsIE9wdGlv
bmFsPHNpemVfdD4gc3RhY2tTaXplKQogewogICAgIHB0aHJlYWRfdCB0aHJlYWRIYW5kbGU7CiAg
ICAgcHRocmVhZF9hdHRyX3QgYXR0cjsKQEAgLTIwOSw2ICsyMDksOCBAQCBib29sIFRocmVhZDo6
ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGNvbnRleHQpCiAjaWYgSEFWRShRT1Nf
Q0xBU1NFUykKICAgICBwdGhyZWFkX2F0dHJfc2V0X3Fvc19jbGFzc19ucCgmYXR0ciwgYWRqdXN0
ZWRRT1NDbGFzcyhRT1NfQ0xBU1NfVVNFUl9JTklUSUFURUQpLCAwKTsKICNlbmRpZgorICAgIGlm
IChzdGFja1NpemUuaGFzVmFsdWUpCisgICAgICAgIHB0aHJlYWRfYXR0cl9zZXRzdGFja3NpemUo
JmF0dHIsIHN0YWNrU2l6ZS52YWx1ZSgpKTsKICAgICBpbnQgZXJyb3IgPSBwdGhyZWFkX2NyZWF0
ZSgmdGhyZWFkSGFuZGxlLCAmYXR0ciwgd3RmVGhyZWFkRW50cnlQb2ludCwgY29udGV4dCk7CiAg
ICAgcHRocmVhZF9hdHRyX2Rlc3Ryb3koJmF0dHIpOwogICAgIGlmIChlcnJvcikgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi93aW4vVGhyZWFkaW5nV2luLmNwcAppbmRleCAyMjRhYWMzN2E0OWUuLmFmODkwYjY0MjEwZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5jcHAKQEAgLTE1MywxMCArMTUzLDExIEBAIHN0
YXRpYyB1bnNpZ25lZCBfX3N0ZGNhbGwgd3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKiBkYXRhKQog
ICAgIHJldHVybiAwOwogfQogCi1ib29sIFRocmVhZDo6ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVh
ZENvbnRleHQqIGRhdGEpCitib29sIFRocmVhZDo6ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENv
bnRleHQqIGRhdGEsIE9wdGlvbmFsPHNpemVfdD4gc3RhY2tTaXplKQogewogICAgIHVuc2lnbmVk
IHRocmVhZElkZW50aWZpZXIgPSAwOwotICAgIEhBTkRMRSB0aHJlYWRIYW5kbGUgPSByZWludGVy
cHJldF9jYXN0PEhBTkRMRT4oX2JlZ2ludGhyZWFkZXgoMCwgMCwgd3RmVGhyZWFkRW50cnlQb2lu
dCwgZGF0YSwgMCwgJnRocmVhZElkZW50aWZpZXIpKTsKKyAgICB1bnNpZ25lZCBpbml0RmxhZyA9
IHN0YWNrU2l6ZS5oYXNWYWx1ZSgpID8gU1RBQ0tfU0laRV9QQVJBTV9JU19BX1JFU0VSVkFUSU9O
IDogMDsKKyAgICBIQU5ETEUgdGhyZWFkSGFuZGxlID0gcmVpbnRlcnByZXRfY2FzdDxIQU5ETEU+
KF9iZWdpbnRocmVhZGV4KDAsIHN0YWNrU2l6ZS52YWx1ZU9yKDApLCB3dGZUaHJlYWRFbnRyeVBv
aW50LCBkYXRhLCBpbml0RmxhZywgJnRocmVhZElkZW50aWZpZXIpKTsKICAgICBpZiAoIXRocmVh
ZEhhbmRsZSkgewogICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgdGhyZWFkIGF0
IGVudHJ5IHBvaW50ICVwIHdpdGggZGF0YSAlcDogJWxkIiwgd3RmVGhyZWFkRW50cnlQb2ludCwg
ZGF0YSwgZXJybm8pOwogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWVhZjk2
N2IzOGQzLi45YmFiNTA2NWExYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAyMC0w
Mi0yNiAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisgICAgICAgIEFs
bG93IHNldHRpbmcgb2Ygc3RhY2sgc2l6ZXMgZm9yIHRocmVhZHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODIyMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWNpZnkgVGhyZWFkVHlwZSBhdCB0aGUg
VGhyZWFkOjpjcmVhdGUgY2FsbHNpdGUuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0Fz
eW5jQXVkaW9EZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jQXVkaW9EZWNvZGVy
OjpBc3luY0F1ZGlvRGVjb2Rlcik6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5l
QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6T2ZmbGluZUF1ZGlv
RGVzdGluYXRpb25Ob2RlOjpzdGFydFJlbmRlcmluZyk6CisgICAgICAgICogYmluZGluZ3MvanMv
R0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdDQ29udHJvbGxlcjo6Z2FyYmFn
ZUNvbGxlY3RPbkFsdGVybmF0ZVRocmVhZEZvckRlYnVnZ2luZyk6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJldmVyYkNv
bnZvbHZlcjo6UmV2ZXJiQ29udm9sdmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2Nm
L0xvYWRlclJ1bkxvb3BDRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsb2FkZXJSdW5Mb29wKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3lu
Y2hyb25vdXNseSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRs
ZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmdldFJ1bkxvb3ApOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9D
dXJsUmVxdWVzdFNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXJsUmVxdWVzdFNj
aGVkdWxlcjo6c3RhcnRUaHJlYWRJZk5lZWRlZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0N1cmxTdHJlYW1TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFN0
cmVhbVNjaGVkdWxlcjo6c3RhcnRUaHJlYWRJZk5lZWRlZCk6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpzdGFydCk6
CisKIDIwMjAtMDItMjYgIEphY29iIFVwaG9mZiAgPGphY29iX3VwaG9mZkBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1NzM3My4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRpb0RlY29kZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Bc3luY0F1ZGlvRGVjb2Rlci5jcHAKaW5kZXgg
MmY1NDI3MmFjNWMwLi44YThiYjZiZTVhNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRpb0RlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRpb0RlY29kZXIuY3BwCkBAIC00MSw3ICs0MSw3IEBA
IEFzeW5jQXVkaW9EZWNvZGVyOjpBc3luY0F1ZGlvRGVjb2RlcigpCiAgICAgTG9ja0hvbGRlciBs
b2NrKG1fdGhyZWFkQ3JlYXRpb25NdXRleCk7CiAgICAgbV90aHJlYWQgPSBUaHJlYWQ6OmNyZWF0
ZSgiQXVkaW8gRGVjb2RlciIsIFt0aGlzXSB7CiAgICAgICAgIHJ1bkxvb3AoKTsKLSAgICB9KTsK
KyAgICB9LCBUaHJlYWRUeXBlOjpBdWRpbyk7CiB9CiAKIEFzeW5jQXVkaW9EZWNvZGVyOjp+QXN5
bmNBdWRpb0RlY29kZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IGVmN2Iz
M2E4NmQ2NS4uNmExOTU1NDZjZjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCkBA
IC05Nyw3ICs5Nyw3IEBAIHZvaWQgT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpzdGFydFJl
bmRlcmluZygpCiAgICAgICAgICAgICBjb250ZXh0KCkuZmluaXNoZWRSZW5kZXJpbmcoZGlkUmVu
ZGVyKTsKICAgICAgICAgICAgIGRlcmVmKCk7CiAgICAgICAgIH0pOwotICAgIH0pOworICAgIH0s
IFRocmVhZFR5cGU6OkF1ZGlvKTsKIH0KIAogYm9vbCBPZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5v
ZGU6Om9mZmxpbmVSZW5kZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvR0NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJv
bGxlci5jcHAKaW5kZXggYzQ5ZmExYWJmOTcwLi44MzI3ODRhNGJlMTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcApAQCAtMTExLDcgKzExMSw3IEBAIHZv
aWQgR0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE5vd0lmTm90RG9uZVJlY2VudGx5KCkKIAog
dm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0T25BbHRlcm5hdGVUaHJlYWRGb3JEZWJ1
Z2dpbmcoYm9vbCB3YWl0VW50aWxEb25lKQogewotICAgIGF1dG8gdGhyZWFkID0gVGhyZWFkOjpj
cmVhdGUoIldlYkNvcmU6IEdDQ29udHJvbGxlciIsICZjb2xsZWN0KTsKKyAgICBhdXRvIHRocmVh
ZCA9IFRocmVhZDo6Y3JlYXRlKCJXZWJDb3JlOiBHQ0NvbnRyb2xsZXIiLCAmY29sbGVjdCwgVGhy
ZWFkVHlwZTo6R2FyYmFnZUNvbGxlY3Rpb24pOwogCiAgICAgaWYgKHdhaXRVbnRpbERvbmUpIHsK
ICAgICAgICAgdGhyZWFkLT53YWl0Rm9yQ29tcGxldGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlci5jcHAKaW5kZXggYTljOTM1YzFhMjg1
Li5hMTJmMTY1NGUwNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L1JldmVyYkNvbnZvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UmV2ZXJiQ29udm9sdmVyLmNwcApAQCAtMTIzLDcgKzEyMyw3IEBAIFJldmVyYkNvbnZvbHZlcjo6
UmV2ZXJiQ29udm9sdmVyKEF1ZGlvQ2hhbm5lbCogaW1wdWxzZVJlc3BvbnNlLCBzaXplX3QgcmVu
ZGVyU2xpCiAgICAgaWYgKHRoaXMtPnVzZUJhY2tncm91bmRUaHJlYWRzKCkgJiYgbV9iYWNrZ3Jv
dW5kU3RhZ2VzLnNpemUoKSA+IDApIHsKICAgICAgICAgbV9iYWNrZ3JvdW5kVGhyZWFkID0gVGhy
ZWFkOjpjcmVhdGUoImNvbnZvbHV0aW9uIGJhY2tncm91bmQgdGhyZWFkIiwgW3RoaXNdIHsKICAg
ICAgICAgICAgIGJhY2tncm91bmRUaHJlYWRFbnRyeSgpOwotICAgICAgICB9KTsKKyAgICAgICAg
fSwgVGhyZWFkVHlwZTo6QXVkaW8pOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29wQ0YuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29wQ0YuY3BwCmluZGV4IGNmZDZh
YjBiYWVlYS4uZjYzM2ZlZDAxMDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL0xvYWRlclJ1bkxvb3BDRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29wQ0YuY3BwCkBAIC03NCw3ICs3NCw3IEBAIENG
UnVuTG9vcFJlZiBsb2FkZXJSdW5Mb29wKCkKICAgICAgICAgICAgICAgICBBdXRvZHJhaW5lZFBv
b2wgcG9vbDsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBDRlJ1bkxvb3BSdW5Jbk1vZGUoa0NG
UnVuTG9vcERlZmF1bHRNb2RlLCBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCgpLCB0
cnVlKTsKICAgICAgICAgICAgIH0gd2hpbGUgKHJlc3VsdCAhPSBrQ0ZSdW5Mb29wUnVuU3RvcHBl
ZCAmJiByZXN1bHQgIT0ga0NGUnVuTG9vcFJ1bkZpbmlzaGVkKTsKLSAgICAgICAgfSk7CisgICAg
ICAgIH0sIFRocmVhZFR5cGU6Ok5ldHdvcmspOwogCiAgICAgICAgIGxvYWRlclJ1bkxvb3BDb25k
aXRpb25WYXJpYWJsZS53YWl0KGxvY2ssIFtdIHsgcmV0dXJuIGxvYWRlclJ1bkxvb3BPYmplY3Q7
IH0pOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCmluZGV4IDMyMmE4NDUwOGU1OS4uOTAwODFj
YmVjMDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlSGFuZGxlQ0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKQEAgLTU5NSw3ICs1OTUsNyBAQCB2b2lkIFJl
c291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2lu
Z0NvbnRleHQqIGNvbnRleAogCiAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkKICAgICAgICAgICAg
ICAgICBDRlJ1bkxvb3BSdW5Jbk1vZGUoa0NGUnVuTG9vcERlZmF1bHRNb2RlLCAxRTMwLCB0cnVl
KTsKLSAgICAgICAgfSk7CisgICAgICAgIH0sIFRocmVhZFR5cGU6Ok5ldHdvcmspOwogICAgICAg
ICBzZW0ud2FpdCgpOwogICAgIH0KICAgICBDRlVSTENvbm5lY3Rpb25TY2hlZHVsZVdpdGhSdW5M
b29wKGhhbmRsZS0+Y29ubmVjdGlvbigpLCBydW5Mb29wLCBrQ0ZSdW5Mb29wRGVmYXVsdE1vZGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJj
ZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5l
Y3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAKaW5kZXggOWQxZTljNDFiOTRmLi44
MGQ4NjBlY2YyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhh
bmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcApAQCAtMTE5
LDcgKzExOSw3IEBAIHN0YXRpYyBDRlJ1bkxvb3BSZWYgZ2V0UnVuTG9vcCgpCiAKICAgICAgICAg
ICAgIHdoaWxlICh0cnVlKQogICAgICAgICAgICAgICAgIENGUnVuTG9vcFJ1bkluTW9kZShrQ0ZS
dW5Mb29wRGVmYXVsdE1vZGUsIDFFMzAsIHRydWUpOwotICAgICAgICB9KTsKKyAgICAgICAgfSwg
VGhyZWFkVHlwZTo6TmV0d29yayk7CiAgICAgICAgIHNlbS53YWl0KCk7CiAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3RT
Y2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxS
ZXF1ZXN0U2NoZWR1bGVyLmNwcAppbmRleCAzYWE1ZjUyZGI2MjcuLjRkMDllNmI1YjdlNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0
U2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwv
Q3VybFJlcXVlc3RTY2hlZHVsZXIuY3BwCkBAIC05Nyw3ICs5Nyw3IEBAIHZvaWQgQ3VybFJlcXVl
c3RTY2hlZHVsZXI6OnN0YXJ0VGhyZWFkSWZOZWVkZWQoKQogCiAgICAgICAgIGF1dG8gbG9ja2Vy
ID0gaG9sZExvY2sobV9tdXRleCk7CiAgICAgICAgIG1fcnVuVGhyZWFkID0gZmFsc2U7Ci0gICAg
fSk7CisgICAgfSwgVGhyZWFkVHlwZTo6TmV0d29yayk7CiB9CiAKIHZvaWQgQ3VybFJlcXVlc3RT
Y2hlZHVsZXI6OnN0b3BUaHJlYWRJZk5vTW9yZUpvYlJ1bm5pbmcoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTdHJlYW1TY2hlZHVsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTdHJlYW1TY2hlZHVs
ZXIuY3BwCmluZGV4IDg0NThlM2MxNDE2Ny4uM2ZiODc1OTk4NGFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFN0cmVhbVNjaGVkdWxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTdHJlYW1TY2hl
ZHVsZXIuY3BwCkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBDdXJsU3RyZWFtU2NoZWR1bGVyOjpz
dGFydFRocmVhZElmTmVlZGVkKCkKIAogICAgIG1fdGhyZWFkID0gVGhyZWFkOjpjcmVhdGUoImN1
cmxTdHJlYW1UaHJlYWQiLCBbdGhpc10gewogICAgICAgICB3b3JrZXJUaHJlYWQoKTsKLSAgICB9
KTsKKyAgICB9LCBUaHJlYWRUeXBlOjpOZXR3b3JrKTsKIH0KIAogdm9pZCBDdXJsU3RyZWFtU2No
ZWR1bGVyOjpzdG9wVGhyZWFkSWZOb01vcmVKb2JSdW5uaW5nKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCAwZjMxNThmNjE0MjIuLjM2MTEzODcwNGE4MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtMTQ0LDcgKzE0NCw3IEBA
IHZvaWQgV29ya2VyVGhyZWFkOjpzdGFydChXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgU3RyaW5n
Jik+JiYgZXZhbHVhdGVDYWxsYmFjaykKIAogICAgIFJlZjxUaHJlYWQ+IHRocmVhZCA9IFRocmVh
ZDo6Y3JlYXRlKGlzU2VydmljZVdvcmtlclRocmVhZCgpID8gIldlYkNvcmU6IFNlcnZpY2UgV29y
a2VyIiA6ICJXZWJDb3JlOiBXb3JrZXIiLCBbdGhpc10gewogICAgICAgICB3b3JrZXJUaHJlYWQo
KTsKLSAgICB9KTsKKyAgICB9LCBUaHJlYWRUeXBlOjpKYXZhU2NyaXB0KTsKICAgICAvLyBGb3Jj
ZSB0aGUgVGhyZWFkIG9iamVjdCB0byBiZSBpbml0aWFsaXplZCBmdWxseSBiZWZvcmUgc3Rvcmlu
ZyBpdCB0byBtX3RocmVhZCAoYW5kIGJlY29taW5nIHZpc2libGUgdG8gb3RoZXIgdGhyZWFkcyku
CiAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKICAgICBtX3RocmVhZCA9IFdURk1vdmUodGhy
ZWFkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggOGYzOTdmMTg0ZDUzLi4yYjNlZTQ2OWVkZjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMjAtMDItMjYgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBz
b255LmNvbT4KKworICAgICAgICBBbGxvdyBzZXR0aW5nIG9mIHN0YWNrIHNpemVzIGZvciB0aHJl
YWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDgy
MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVj
aWZ5IFRocmVhZFR5cGUgYXQgdGhlIFRocmVhZDo6Y3JlYXRlIGNhbGxzaXRlLgorCisgICAgICAg
ICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0
aW5nUnVuTG9vcC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmNyZWF0ZVJ1bkxvb3ApOgorCiAyMDIw
LTAyLTI2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjI1NzQ3MS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVu
TG9vcC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVh
ZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwCmluZGV4IDcxNTg1N2E2NDgxNC4u
ODI4Y2IxMDc1YTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRl
ZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3Np
dG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgc3RhdGljIFJ1bkxv
b3AqIGNyZWF0ZVJ1bkxvb3AoKQogICAgICAgICBydW5Mb29wID0gJlJ1bkxvb3A6OmN1cnJlbnQo
KTsKICAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOwogICAgICAgICBydW5Mb29wLT5ydW4oKTsK
LSAgICB9KS0+ZGV0YWNoKCk7CisgICAgfSwgVGhyZWFkVHlwZTo6R3JhcGhpY3MpLT5kZXRhY2go
KTsKICAgICBzZW1hcGhvcmUud2FpdCgpOwogCiAgICAgcmV0dXJuIHJ1bkxvb3A7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391769</attachid>
            <date>2020-02-26 12:42:39 -0800</date>
            <delta_ts>2020-02-26 13:13:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208223.diff</filename>
            <type>text/plain</type>
            <size>17493</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE2OGFmNDBjNTI3YS4uZWEzMmZlNDk0MDlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMi0yNiAgRG9u
IE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisgICAgICAgIEFsbG93IHNldHRp
bmcgb2Ygc3RhY2sgc2l6ZXMgZm9yIHRocmVhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNwZWNpZnkgVGhyZWFkVHlwZSBhdCB0aGUgVGhyZWFkOjpj
cmVhdGUgY2FsbHNpdGUuCisKKyAgICAgICAgKiBoZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlND
OjpIZWFwOjpub3RpZnlJc1NhZmVUb0NvbGxlY3QpOgorCiAyMDIwLTAyLTI2ICBDYWlvIExpbWEg
IDx0aWNhaW9saW1hQGdtYWlsLmNvbT4KIAogICAgICAgICBbSlNDXVtNSVBTXSBBZGRpbmcgc3Vw
cG9ydCB0byBDaGVja3BvaW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAppbmRleCA0
Yzg0MTVlYTI4MjMuLmNiOTc2YTE5NDVhMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5j
cHAKQEAgLTI5MDcsNyArMjkwNyw3IEBAIHZvaWQgSGVhcDo6bm90aWZ5SXNTYWZlVG9Db2xsZWN0
KCkKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgVGhyZWFkVHlw
ZTo6R2FyYmFnZUNvbGxlY3Rpb24pOwogICAgIH0KICAgICAKICAgICBkYXRhTG9nSWYoT3B0aW9u
czo6bG9nR0MoKSwgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gYmVmb3JlKS5taWxsaXNlY29uZHMo
KSwgIm1zXVxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCmluZGV4IDZlMWQ4ZWNhYTNiZS4uNDljMjBhYjhhN2VhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI4IEBACisyMDIwLTAyLTI2ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5j
b20+CisKKyAgICAgICAgQWxsb3cgc2V0dGluZyBvZiBzdGFjayBzaXplcyBmb3IgdGhyZWFkcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjIzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNl
IFRocmVhZFR5cGUgd2hpY2ggaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNwZWNpZnkgYSBzdGFjayBz
aXplIGZvciBhIHBhcnRpY3VsYXIKKyAgICAgICAgdHlwZSBvZiB0aHJlYWQuIFBsYXRmb3JtcyBj
YW4gbWFrZSB0aGVpciBvd24gZGVjaXNpb25zIG9uIHdoYXQgdGhlIHN0YWNrIHNpemUgc2hvdWxk
IGJlCisgICAgICAgIGJhc2VkIG9uIHRoZWlyIG93biBvYnNlcnZhdGlvbnMuIEFkZGl0aW9uYWxs
eSBhIGRlZmF1bHQgc3RhY2sgc2l6ZSBjYW4gYmUgc3BlY2lmaWVkCisgICAgICAgIGJ5IGRlZmlu
aW5nIERFRkFVTFRfVEhSRUFEX1NUQUNLX1NJWkVfSU5fS0IgaWYgdGhlIGRlZmF1bHQgc3RhY2sg
Zm9yIGEgcGxhdGZvcm0gaXMKKyAgICAgICAgaW5zdWZmaWNpZW50IGluIGFsbCBjYXNlcywgb3Ig
d2hlbiBpbnZlc3RpZ2F0aW5nIHRoZSBzdGFjayBzaXplIGZvciB0dW5pbmcuCisKKyAgICAgICAg
Qm90aCB0aGUgcHRocmVhZCBhbmQgV2luZG93cyB0aHJlYWQgaW1wbGVtZW50YXRpb25zIGFyZSBt
b2RpZmllZCB0byBzZXQgdGhlIHN0YWNrIHNpemUKKyAgICAgICAgaWYgcHJvdmlkZWQuCisKKyAg
ICAgICAgKiB3dGYvVGhyZWFkaW5nLmNwcDoKKyAgICAgICAgKFdURjo6ZGVmYXVsdFN0YWNrU2l6
ZSk6CisgICAgICAgIChXVEY6OlRocmVhZDo6Y3JlYXRlKToKKyAgICAgICAgKiB3dGYvVGhyZWFk
aW5nLmg6CisgICAgICAgICogd3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcDoKKyAgICAgICAg
KFdURjo6VGhyZWFkOjplc3RhYmxpc2hIYW5kbGUpOgorICAgICAgICAqIHd0Zi93aW4vVGhyZWFk
aW5nV2luLmNwcDoKKyAgICAgICAgKFdURjo6VGhyZWFkOjplc3RhYmxpc2hIYW5kbGUpOgorCiAy
MDIwLTAyLTI1ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBzYWZhcmkgYXBwIGV4dGVuc2lvbiBpc29sYXRlZCB3b3JsZHMgYW5kIGlu
amVjdGVkIGZpbGVzIHVzZSB0aGUgZXh0ZW5zaW9uJ3MgaWRlbnRpZmllciBpbnN0ZWFkIG9mIGl0
cyBuYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwIGIvU291cmNl
L1dURi93dGYvVGhyZWFkaW5nLmNwcAppbmRleCBiYjBkNWQ5M2ViZTYuLmMyNTE4NjUzNzExMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC00NSw2ICs0NSwxNSBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAorc3RhdGljIE9wdGlvbmFsPHNpemVfdD4gZGVmYXVsdFN0YWNrU2l6ZSgpIHsKKyNpZiBkZWZp
bmVkKERFRkFVTFRfVEhSRUFEX1NUQUNLX1NJWkVfSU5fS0IpICYmIERFRkFVTFRfVEhSRUFEX1NU
QUNLX1NJWkVfSU5fS0IgPiAwCisgICAgcmV0dXJuIERFRkFVTFRfVEhSRUFEX1NUQUNLX1NJWkVf
SU5fS0IgKiAxMDI0OworI2Vsc2UKKyAgICAvLyBVc2UgdGhlIHBsYXRmb3JtJ3MgZGVmYXVsdCBz
dGFjayBzaXplCisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyNlbmRpZgorfQorCiBzdHJ1Y3Qg
VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE5l
d1RocmVhZENvbnRleHQ+IHsKIHB1YmxpYzoKICAgICBOZXdUaHJlYWRDb250ZXh0KGNvbnN0IGNo
YXIqIG5hbWUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBlbnRyeVBvaW50LCBSZWY8VGhyZWFkPiYmIHRo
cmVhZCkKQEAgLTE0OCw5ICsxNTcsMjAgQEAgdm9pZCBUaHJlYWQ6OmVudHJ5UG9pbnQoTmV3VGhy
ZWFkQ29udGV4dCogbmV3VGhyZWFkQ29udGV4dCkKICAgICBmdW5jdGlvbigpOwogfQogCi1SZWY8
VGhyZWFkPiBUaHJlYWQ6OmNyZWF0ZShjb25zdCBjaGFyKiBuYW1lLCBGdW5jdGlvbjx2b2lkKCk+
JiYgZW50cnlQb2ludCkKK1JlZjxUaHJlYWQ+IFRocmVhZDo6Y3JlYXRlKGNvbnN0IGNoYXIqIG5h
bWUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBlbnRyeVBvaW50LCBUaHJlYWRUeXBlIHRocmVhZFR5cGUp
CiB7CiAgICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisKKyAgICAvLyBTZXQgdGhlIHN0
YWNrIHNpemUgZm9yIHRoZSBjcmVhdGVkIHRocmVhZCBiYXNlZCBvbiBpdHMgdHlwZS4KKyAgICAv
LyBJZiB0aGUgc3RhY2sgc2l6ZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIHVzZSB0aGUgc3lzdGVt
IGRlZmF1bHQuIFBsYXRmb3JtcyBjYW4gdHVuZSB0aGUgdmFsdWVzIGhlcmUuCisgICAgLy8gRW5h
YmxlIFNUQUNLX1NUQVRTIGluIFN0YWNrU3RhdHMuaCB0byBjcmVhdGUgYSBidWlsZCB0aGF0IHdp
bGwgdHJhY2sgdGhlIGluZm9ybWF0aW9uIGZvciB0dW5pbmcuCisgICAgYXV0byBzdGFja1NpemUg
PSBkZWZhdWx0U3RhY2tTaXplKCk7CisjaWYgUExBVEZPUk0oUExBWVNUQVRJT04pCisgICAgaWYg
KHRocmVhZFR5cGUgPT0gVGhyZWFkVHlwZTo6SmF2YVNjcmlwdCkKKyAgICAgICAgc3RhY2tTaXpl
ID0gNTEyICogMTAyNDsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHRocmVhZFR5cGUpOworI2Vu
ZGlmCiAgICAgUmVmPFRocmVhZD4gdGhyZWFkID0gYWRvcHRSZWYoKm5ldyBUaHJlYWQoKSk7CiAg
ICAgUmVmPE5ld1RocmVhZENvbnRleHQ+IGNvbnRleHQgPSBhZG9wdFJlZigqbmV3IE5ld1RocmVh
ZENvbnRleHQgeyBuYW1lLCBXVEZNb3ZlKGVudHJ5UG9pbnQpLCB0aHJlYWQuY29weVJlZigpIH0p
OwogICAgIC8vIEluY3JlbWVudCB0aGUgY29udGV4dCByZWYgb24gYmVoYWxmIG9mIHRoZSBjcmVh
dGVkIHRocmVhZC4gV2UgZG8gbm90IGp1c3QgdXNlIGEgdW5pcXVlX3B0ciBhbmQgbGVhayBpdCB0
byB0aGUgY3JlYXRlZCB0aHJlYWQgYmVjYXVzZSBib3RoIHRoZSBjcmVhdG9yIGFuZCBjcmVhdGVk
IHRocmVhZCBoYXMgYSBuZWVkIHRvIGtlZXAgdGhlIGNvbnRleHQgYWxpdmU6CkBAIC0xNjEsNyAr
MTgxLDcgQEAgUmVmPFRocmVhZD4gVGhyZWFkOjpjcmVhdGUoY29uc3QgY2hhciogbmFtZSwgRnVu
Y3Rpb248dm9pZCgpPiYmIGVudHJ5UG9pbnQpCiAgICAgY29udGV4dC0+cmVmKCk7CiAgICAgewog
ICAgICAgICBNdXRleExvY2tlciBsb2NrZXIoY29udGV4dC0+bXV0ZXgpOwotICAgICAgICBib29s
IHN1Y2Nlc3MgPSB0aHJlYWQtPmVzdGFibGlzaEhhbmRsZShjb250ZXh0LnB0cigpKTsKKyAgICAg
ICAgYm9vbCBzdWNjZXNzID0gdGhyZWFkLT5lc3RhYmxpc2hIYW5kbGUoY29udGV4dC5wdHIoKSwg
c3RhY2tTaXplKTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3VjY2Vzcyk7CiAgICAgICAgIGNv
bnRleHQtPnN0YWdlID0gTmV3VGhyZWFkQ29udGV4dDo6U3RhZ2U6OkVzdGFibGlzaGVkSGFuZGxl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaCBiL1NvdXJjZS9XVEYv
d3RmL1RocmVhZGluZy5oCmluZGV4IDFmYzQ2NmY0ZWQzYS4uY2UzYmYwNjgzMGE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJl
YWRpbmcuaApAQCAtODIsNiArODIsMTUgQEAgZW51bSBjbGFzcyBHQ1RocmVhZFR5cGUgOiB1aW50
OF90IHsKICAgICBIZWxwZXIsCiB9OwogCitlbnVtIGNsYXNzIFRocmVhZFR5cGUgOiB1aW50OF90
IHsKKyAgICBVbmtub3duID0gMCwKKyAgICBKYXZhU2NyaXB0LAorICAgIEdhcmJhZ2VDb2xsZWN0
aW9uLAorICAgIE5ldHdvcmssCisgICAgR3JhcGhpY3MsCisgICAgQXVkaW8sCit9OworCiBjbGFz
cyBUaHJlYWQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8VGhyZWFkPiB7CiBwdWJsaWM6
CiAgICAgZnJpZW5kIGNsYXNzIFRocmVhZEdyb3VwOwpAQCAtOTEsNyArMTAwLDcgQEAgcHVibGlj
OgogCiAgICAgLy8gUmV0dXJucyBudWxscHRyIGlmIHRocmVhZCBjcmVhdGlvbiBmYWlsZWQuCiAg
ICAgLy8gVGhlIHRocmVhZCBuYW1lIG11c3QgYmUgYSBsaXRlcmFsIHNpbmNlIG9uIHNvbWUgcGxh
dGZvcm1zIGl0J3MgcGFzc2VkIGluIHRvIHRoZSB0aHJlYWQuCi0gICAgV1RGX0VYUE9SVF9QUklW
QVRFIHN0YXRpYyBSZWY8VGhyZWFkPiBjcmVhdGUoY29uc3QgY2hhciogdGhyZWFkTmFtZSwgRnVu
Y3Rpb248dm9pZCgpPiYmKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJlZjxUaHJl
YWQ+IGNyZWF0ZShjb25zdCBjaGFyKiB0aHJlYWROYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYsIFRo
cmVhZFR5cGUgdGhyZWFkVHlwZSA9IFRocmVhZFR5cGU6OlVua25vd24pOwogCiAgICAgLy8gUmV0
dXJucyBUaHJlYWQgb2JqZWN0LgogICAgIHN0YXRpYyBUaHJlYWQmIGN1cnJlbnQoKTsKQEAgLTIz
NSw3ICsyNDQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBpbml0aWFsaXplSW5UaHJlYWQoKTsK
IAogICAgIC8vIEludGVybmFsIHBsYXRmb3JtLXNwZWNpZmljIFRocmVhZCBlc3RhYmxpc2htZW50
IGltcGxlbWVudGF0aW9uLgotICAgIGJvb2wgZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRl
eHQqKTsKKyAgICBib29sIGVzdGFibGlzaEhhbmRsZShOZXdUaHJlYWRDb250ZXh0KiwgT3B0aW9u
YWw8c2l6ZV90Pik7CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAgICAgdm9pZCBlc3RhYmxpc2hQbGF0
Zm9ybVNwZWNpZmljSGFuZGxlKFBsYXRmb3JtVGhyZWFkSGFuZGxlKTsKQEAgLTM3OSw0ICszODgs
NSBAQCBpbmxpbmUgVGhyZWFkJiBUaHJlYWQ6OmN1cnJlbnQoKQogfSAvLyBuYW1lc3BhY2UgV1RG
CiAKIHVzaW5nIFdURjo6VGhyZWFkOwordXNpbmcgV1RGOjpUaHJlYWRUeXBlOwogdXNpbmcgV1RG
OjpHQ1RocmVhZFR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9UaHJlYWRp
bmdQT1NJWC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9UaHJlYWRpbmdQT1NJWC5jcHAKaW5k
ZXggZGQ1NThkODQ0ZTQzLi5kNWY3MDRmYzliODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9UaHJl
YWRpbmdQT1NJWC5jcHAKQEAgLTIwMSw3ICsyMDEsNyBAQCBzdGF0aWMgdm9pZCogd3RmVGhyZWFk
RW50cnlQb2ludCh2b2lkKiBjb250ZXh0KQogICAgIHJldHVybiBudWxscHRyOwogfQogCi1ib29s
IFRocmVhZDo6ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGNvbnRleHQpCitib29s
IFRocmVhZDo6ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGNvbnRleHQsIE9wdGlv
bmFsPHNpemVfdD4gc3RhY2tTaXplKQogewogICAgIHB0aHJlYWRfdCB0aHJlYWRIYW5kbGU7CiAg
ICAgcHRocmVhZF9hdHRyX3QgYXR0cjsKQEAgLTIwOSw2ICsyMDksOCBAQCBib29sIFRocmVhZDo6
ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGNvbnRleHQpCiAjaWYgSEFWRShRT1Nf
Q0xBU1NFUykKICAgICBwdGhyZWFkX2F0dHJfc2V0X3Fvc19jbGFzc19ucCgmYXR0ciwgYWRqdXN0
ZWRRT1NDbGFzcyhRT1NfQ0xBU1NfVVNFUl9JTklUSUFURUQpLCAwKTsKICNlbmRpZgorICAgIGlm
IChzdGFja1NpemUuaGFzVmFsdWUoKSkKKyAgICAgICAgcHRocmVhZF9hdHRyX3NldHN0YWNrc2l6
ZSgmYXR0ciwgc3RhY2tTaXplLnZhbHVlKCkpOwogICAgIGludCBlcnJvciA9IHB0aHJlYWRfY3Jl
YXRlKCZ0aHJlYWRIYW5kbGUsICZhdHRyLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBjb250ZXh0KTsK
ICAgICBwdGhyZWFkX2F0dHJfZGVzdHJveSgmYXR0cik7CiAgICAgaWYgKGVycm9yKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vVGhyZWFkaW5nV2luLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL3dpbi9UaHJlYWRpbmdXaW4uY3BwCmluZGV4IDIyNGFhYzM3YTQ5ZS4uYWY4OTBiNjQyMTBk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi93aW4vVGhyZWFkaW5nV2luLmNwcAorKysgYi9T
b3VyY2UvV1RGL3d0Zi93aW4vVGhyZWFkaW5nV2luLmNwcApAQCAtMTUzLDEwICsxNTMsMTEgQEAg
c3RhdGljIHVuc2lnbmVkIF9fc3RkY2FsbCB3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqIGRhdGEp
CiAgICAgcmV0dXJuIDA7CiB9CiAKLWJvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5kbGUoTmV3VGhy
ZWFkQ29udGV4dCogZGF0YSkKK2Jvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5kbGUoTmV3VGhyZWFk
Q29udGV4dCogZGF0YSwgT3B0aW9uYWw8c2l6ZV90PiBzdGFja1NpemUpCiB7CiAgICAgdW5zaWdu
ZWQgdGhyZWFkSWRlbnRpZmllciA9IDA7Ci0gICAgSEFORExFIHRocmVhZEhhbmRsZSA9IHJlaW50
ZXJwcmV0X2Nhc3Q8SEFORExFPihfYmVnaW50aHJlYWRleCgwLCAwLCB3dGZUaHJlYWRFbnRyeVBv
aW50LCBkYXRhLCAwLCAmdGhyZWFkSWRlbnRpZmllcikpOworICAgIHVuc2lnbmVkIGluaXRGbGFn
ID0gc3RhY2tTaXplLmhhc1ZhbHVlKCkgPyBTVEFDS19TSVpFX1BBUkFNX0lTX0FfUkVTRVJWQVRJ
T04gOiAwOworICAgIEhBTkRMRSB0aHJlYWRIYW5kbGUgPSByZWludGVycHJldF9jYXN0PEhBTkRM
RT4oX2JlZ2ludGhyZWFkZXgoMCwgc3RhY2tTaXplLnZhbHVlT3IoMCksIHd0ZlRocmVhZEVudHJ5
UG9pbnQsIGRhdGEsIGluaXRGbGFnLCAmdGhyZWFkSWRlbnRpZmllcikpOwogICAgIGlmICghdGhy
ZWFkSGFuZGxlKSB7CiAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQg
YXQgZW50cnkgcG9pbnQgJXAgd2l0aCBkYXRhICVwOiAlbGQiLCB3dGZUaHJlYWRFbnRyeVBvaW50
LCBkYXRhLCBlcnJubyk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhZWFm
OTY3YjM4ZDMuLjliYWI1MDY1YTFjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIw
LTAyLTI2ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CisKKyAgICAgICAg
QWxsb3cgc2V0dGluZyBvZiBzdGFjayBzaXplcyBmb3IgdGhyZWFkcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjIzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlY2lmeSBUaHJlYWRUeXBlIGF0IHRo
ZSBUaHJlYWQ6OmNyZWF0ZSBjYWxsc2l0ZS4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
QXN5bmNBdWRpb0RlY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNBdWRpb0RlY29k
ZXI6OkFzeW5jQXVkaW9EZWNvZGVyKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL09mZmxp
bmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpPZmZsaW5lQXVk
aW9EZXN0aW5hdGlvbk5vZGU6OnN0YXJ0UmVuZGVyaW5nKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9HQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpnYXJi
YWdlQ29sbGVjdE9uQWx0ZXJuYXRlVGhyZWFkRm9yRGVidWdnaW5nKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2ZXJi
Q29udm9sdmVyOjpSZXZlcmJDb252b2x2ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
Y2YvTG9hZGVyUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxvYWRlclJ1bkxvb3Ap
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VT
eW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFu
ZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Z2V0UnVuTG9vcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jdXJs
L0N1cmxSZXF1ZXN0U2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1cmxSZXF1ZXN0
U2NoZWR1bGVyOjpzdGFydFRocmVhZElmTmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvQ3VybFN0cmVhbVNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXJs
U3RyZWFtU2NoZWR1bGVyOjpzdGFydFRocmVhZElmTmVlZGVkKToKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OnN0YXJ0
KToKKwogMjAyMC0wMi0yNiAgSmFjb2IgVXBob2ZmICA8amFjb2JfdXBob2ZmQGFwcGxlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU3MzczLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Bc3luY0F1ZGlvRGVjb2Rlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FzeW5jQXVkaW9EZWNvZGVyLmNwcAppbmRl
eCAyZjU0MjcyYWM1YzAuLjhhOGJiNmJlNWE1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9Bc3luY0F1ZGlvRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9Bc3luY0F1ZGlvRGVjb2Rlci5jcHAKQEAgLTQxLDcgKzQxLDcg
QEAgQXN5bmNBdWRpb0RlY29kZXI6OkFzeW5jQXVkaW9EZWNvZGVyKCkKICAgICBMb2NrSG9sZGVy
IGxvY2sobV90aHJlYWRDcmVhdGlvbk11dGV4KTsKICAgICBtX3RocmVhZCA9IFRocmVhZDo6Y3Jl
YXRlKCJBdWRpbyBEZWNvZGVyIiwgW3RoaXNdIHsKICAgICAgICAgcnVuTG9vcCgpOwotICAgIH0p
OworICAgIH0sIFRocmVhZFR5cGU6OkF1ZGlvKTsKIH0KIAogQXN5bmNBdWRpb0RlY29kZXI6On5B
c3luY0F1ZGlvRGVjb2RlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKaW5kZXggZWY3
YjMzYTg2ZDY1Li42YTE5NTU0NmNmNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAK
QEAgLTk3LDcgKzk3LDcgQEAgdm9pZCBPZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGU6OnN0YXJ0
UmVuZGVyaW5nKCkKICAgICAgICAgICAgIGNvbnRleHQoKS5maW5pc2hlZFJlbmRlcmluZyhkaWRS
ZW5kZXIpOwogICAgICAgICAgICAgZGVyZWYoKTsKICAgICAgICAgfSk7Ci0gICAgfSk7CisgICAg
fSwgVGhyZWFkVHlwZTo6QXVkaW8pOwogfQogCiBib29sIE9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9u
Tm9kZTo6b2ZmbGluZVJlbmRlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9HQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250
cm9sbGVyLmNwcAppbmRleCBjNDlmYTFhYmY5NzAuLjgzMjc4NGE0YmUxOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwCkBAIC0xMTEsNyArMTExLDcgQEAg
dm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0Tm93SWZOb3REb25lUmVjZW50bHkoKQog
CiB2b2lkIEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbkFsdGVybmF0ZVRocmVhZEZvckRl
YnVnZ2luZyhib29sIHdhaXRVbnRpbERvbmUpCiB7Ci0gICAgYXV0byB0aHJlYWQgPSBUaHJlYWQ6
OmNyZWF0ZSgiV2ViQ29yZTogR0NDb250cm9sbGVyIiwgJmNvbGxlY3QpOworICAgIGF1dG8gdGhy
ZWFkID0gVGhyZWFkOjpjcmVhdGUoIldlYkNvcmU6IEdDQ29udHJvbGxlciIsICZjb2xsZWN0LCBU
aHJlYWRUeXBlOjpHYXJiYWdlQ29sbGVjdGlvbik7CiAKICAgICBpZiAod2FpdFVudGlsRG9uZSkg
ewogICAgICAgICB0aHJlYWQtPndhaXRGb3JDb21wbGV0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyLmNwcAppbmRleCBhOWM5MzVjMWEy
ODUuLmExMmYxNjU0ZTA1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vUmV2ZXJiQ29udm9sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9SZXZlcmJDb252b2x2ZXIuY3BwCkBAIC0xMjMsNyArMTIzLDcgQEAgUmV2ZXJiQ29udm9sdmVy
OjpSZXZlcmJDb252b2x2ZXIoQXVkaW9DaGFubmVsKiBpbXB1bHNlUmVzcG9uc2UsIHNpemVfdCBy
ZW5kZXJTbGkKICAgICBpZiAodGhpcy0+dXNlQmFja2dyb3VuZFRocmVhZHMoKSAmJiBtX2JhY2tn
cm91bmRTdGFnZXMuc2l6ZSgpID4gMCkgewogICAgICAgICBtX2JhY2tncm91bmRUaHJlYWQgPSBU
aHJlYWQ6OmNyZWF0ZSgiY29udm9sdXRpb24gYmFja2dyb3VuZCB0aHJlYWQiLCBbdGhpc10gewog
ICAgICAgICAgICAgYmFja2dyb3VuZFRocmVhZEVudHJ5KCk7Ci0gICAgICAgIH0pOworICAgICAg
ICB9LCBUaHJlYWRUeXBlOjpBdWRpbyk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0xvYWRlclJ1bkxvb3BDRi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0xvYWRlclJ1bkxvb3BDRi5jcHAKaW5kZXggY2Zk
NmFiMGJhZWVhLi5mNjMzZmVkMDEwNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY2YvTG9hZGVyUnVuTG9vcENGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NmL0xvYWRlclJ1bkxvb3BDRi5jcHAKQEAgLTc0LDcgKzc0LDcgQEAg
Q0ZSdW5Mb29wUmVmIGxvYWRlclJ1bkxvb3AoKQogICAgICAgICAgICAgICAgIEF1dG9kcmFpbmVk
UG9vbCBwb29sOwogICAgICAgICAgICAgICAgIHJlc3VsdCA9IENGUnVuTG9vcFJ1bkluTW9kZShr
Q0ZSdW5Mb29wRGVmYXVsdE1vZGUsIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCks
IHRydWUpOwogICAgICAgICAgICAgfSB3aGlsZSAocmVzdWx0ICE9IGtDRlJ1bkxvb3BSdW5TdG9w
cGVkICYmIHJlc3VsdCAhPSBrQ0ZSdW5Mb29wUnVuRmluaXNoZWQpOwotICAgICAgICB9KTsKKyAg
ICAgICAgfSwgVGhyZWFkVHlwZTo6TmV0d29yayk7CiAKICAgICAgICAgbG9hZGVyUnVuTG9vcENv
bmRpdGlvblZhcmlhYmxlLndhaXQobG9jaywgW10geyByZXR1cm4gbG9hZGVyUnVuTG9vcE9iamVj
dDsgfSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKaW5kZXggMzIyYTg0NTA4ZTU5Li45MDA4
MWNiZWMwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
UmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcApAQCAtNTk1LDcgKzU5NSw3IEBAIHZvaWQg
UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3Jr
aW5nQ29udGV4dCogY29udGV4CiAKICAgICAgICAgICAgIHdoaWxlICh0cnVlKQogICAgICAgICAg
ICAgICAgIENGUnVuTG9vcFJ1bkluTW9kZShrQ0ZSdW5Mb29wRGVmYXVsdE1vZGUsIDFFMzAsIHRy
dWUpOwotICAgICAgICB9KTsKKyAgICAgICAgfSwgVGhyZWFkVHlwZTo6TmV0d29yayk7CiAgICAg
ICAgIHNlbS53YWl0KCk7CiAgICAgfQogICAgIENGVVJMQ29ubmVjdGlvblNjaGVkdWxlV2l0aFJ1
bkxvb3AoaGFuZGxlLT5jb25uZWN0aW9uKCksIHJ1bkxvb3AsIGtDRlJ1bkxvb3BEZWZhdWx0TW9k
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291
cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29u
bmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcAppbmRleCA5ZDFlOWM0MWI5NGYu
LjgwZDg2MGVjZjI4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1
ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNl
SGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwCkBAIC0x
MTksNyArMTE5LDcgQEAgc3RhdGljIENGUnVuTG9vcFJlZiBnZXRSdW5Mb29wKCkKIAogICAgICAg
ICAgICAgd2hpbGUgKHRydWUpCiAgICAgICAgICAgICAgICAgQ0ZSdW5Mb29wUnVuSW5Nb2RlKGtD
RlJ1bkxvb3BEZWZhdWx0TW9kZSwgMUUzMCwgdHJ1ZSk7Ci0gICAgICAgIH0pOworICAgICAgICB9
LCBUaHJlYWRUeXBlOjpOZXR3b3JrKTsKICAgICAgICAgc2VtLndhaXQoKTsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVz
dFNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3Vy
bFJlcXVlc3RTY2hlZHVsZXIuY3BwCmluZGV4IDNhYTVmNTJkYjYyNy4uNGQwOWU2YjViN2U1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVl
c3RTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3Vy
bC9DdXJsUmVxdWVzdFNjaGVkdWxlci5jcHAKQEAgLTk3LDcgKzk3LDcgQEAgdm9pZCBDdXJsUmVx
dWVzdFNjaGVkdWxlcjo6c3RhcnRUaHJlYWRJZk5lZWRlZCgpCiAKICAgICAgICAgYXV0byBsb2Nr
ZXIgPSBob2xkTG9jayhtX211dGV4KTsKICAgICAgICAgbV9ydW5UaHJlYWQgPSBmYWxzZTsKLSAg
ICB9KTsKKyAgICB9LCBUaHJlYWRUeXBlOjpOZXR3b3JrKTsKIH0KIAogdm9pZCBDdXJsUmVxdWVz
dFNjaGVkdWxlcjo6c3RvcFRocmVhZElmTm9Nb3JlSm9iUnVubmluZygpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFN0cmVhbVNjaGVkdWxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFN0cmVhbVNjaGVk
dWxlci5jcHAKaW5kZXggODQ1OGUzYzE0MTY3Li4zZmI4NzU5OTg0YWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU3RyZWFtU2NoZWR1bGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFN0cmVhbVNj
aGVkdWxlci5jcHAKQEAgLTExOCw3ICsxMTgsNyBAQCB2b2lkIEN1cmxTdHJlYW1TY2hlZHVsZXI6
OnN0YXJ0VGhyZWFkSWZOZWVkZWQoKQogCiAgICAgbV90aHJlYWQgPSBUaHJlYWQ6OmNyZWF0ZSgi
Y3VybFN0cmVhbVRocmVhZCIsIFt0aGlzXSB7CiAgICAgICAgIHdvcmtlclRocmVhZCgpOwotICAg
IH0pOworICAgIH0sIFRocmVhZFR5cGU6Ok5ldHdvcmspOwogfQogCiB2b2lkIEN1cmxTdHJlYW1T
Y2hlZHVsZXI6OnN0b3BUaHJlYWRJZk5vTW9yZUpvYlJ1bm5pbmcoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IDBmMzE1OGY2MTQyMi4uMzYxMTM4NzA0YTgzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0xNDQsNyArMTQ0LDcg
QEAgdm9pZCBXb3JrZXJUaHJlYWQ6OnN0YXJ0KFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBTdHJp
bmcmKT4mJiBldmFsdWF0ZUNhbGxiYWNrKQogCiAgICAgUmVmPFRocmVhZD4gdGhyZWFkID0gVGhy
ZWFkOjpjcmVhdGUoaXNTZXJ2aWNlV29ya2VyVGhyZWFkKCkgPyAiV2ViQ29yZTogU2VydmljZSBX
b3JrZXIiIDogIldlYkNvcmU6IFdvcmtlciIsIFt0aGlzXSB7CiAgICAgICAgIHdvcmtlclRocmVh
ZCgpOwotICAgIH0pOworICAgIH0sIFRocmVhZFR5cGU6OkphdmFTY3JpcHQpOwogICAgIC8vIEZv
cmNlIHRoZSBUaHJlYWQgb2JqZWN0IHRvIGJlIGluaXRpYWxpemVkIGZ1bGx5IGJlZm9yZSBzdG9y
aW5nIGl0IHRvIG1fdGhyZWFkIChhbmQgYmVjb21pbmcgdmlzaWJsZSB0byBvdGhlciB0aHJlYWRz
KS4KICAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOwogICAgIG1fdGhyZWFkID0gV1RGTW92ZSh0
aHJlYWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCA4ZjM5N2YxODRkNTMuLjJiM2VlNDY5ZWRmMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMi0yNiAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFk
QHNvbnkuY29tPgorCisgICAgICAgIEFsbG93IHNldHRpbmcgb2Ygc3RhY2sgc2l6ZXMgZm9yIHRo
cmVhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNw
ZWNpZnkgVGhyZWFkVHlwZSBhdCB0aGUgVGhyZWFkOjpjcmVhdGUgY2FsbHNpdGUuCisKKyAgICAg
ICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9z
aXRpbmdSdW5Mb29wLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRlUnVuTG9vcCk6CisKIDIw
MjAtMDItMjYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMjU3NDcxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdS
dW5Mb29wLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhy
ZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKaW5kZXggNzE1ODU3YTY0ODE0
Li44MjhjYjEwNzVhNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBv
c2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcApAQCAtNDcsNyArNDcsNyBAQCBzdGF0aWMgUnVu
TG9vcCogY3JlYXRlUnVuTG9vcCgpCiAgICAgICAgIHJ1bkxvb3AgPSAmUnVuTG9vcDo6Y3VycmVu
dCgpOwogICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgICAgIHJ1bkxvb3AtPnJ1bigp
OwotICAgIH0pLT5kZXRhY2goKTsKKyAgICB9LCBUaHJlYWRUeXBlOjpHcmFwaGljcyktPmRldGFj
aCgpOwogICAgIHNlbWFwaG9yZS53YWl0KCk7CiAKICAgICByZXR1cm4gcnVuTG9vcDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391773</attachid>
            <date>2020-02-26 13:13:30 -0800</date>
            <delta_ts>2020-02-26 13:23:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208223.diff</filename>
            <type>text/plain</type>
            <size>17449</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE2OGFmNDBjNTI3YS4uZWEzMmZlNDk0MDlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMi0yNiAgRG9u
IE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisgICAgICAgIEFsbG93IHNldHRp
bmcgb2Ygc3RhY2sgc2l6ZXMgZm9yIHRocmVhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNwZWNpZnkgVGhyZWFkVHlwZSBhdCB0aGUgVGhyZWFkOjpj
cmVhdGUgY2FsbHNpdGUuCisKKyAgICAgICAgKiBoZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlND
OjpIZWFwOjpub3RpZnlJc1NhZmVUb0NvbGxlY3QpOgorCiAyMDIwLTAyLTI2ICBDYWlvIExpbWEg
IDx0aWNhaW9saW1hQGdtYWlsLmNvbT4KIAogICAgICAgICBbSlNDXVtNSVBTXSBBZGRpbmcgc3Vw
cG9ydCB0byBDaGVja3BvaW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAppbmRleCA0
Yzg0MTVlYTI4MjMuLmNiOTc2YTE5NDVhMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5j
cHAKQEAgLTI5MDcsNyArMjkwNyw3IEBAIHZvaWQgSGVhcDo6bm90aWZ5SXNTYWZlVG9Db2xsZWN0
KCkKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgVGhyZWFkVHlw
ZTo6R2FyYmFnZUNvbGxlY3Rpb24pOwogICAgIH0KICAgICAKICAgICBkYXRhTG9nSWYoT3B0aW9u
czo6bG9nR0MoKSwgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gYmVmb3JlKS5taWxsaXNlY29uZHMo
KSwgIm1zXVxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCmluZGV4IDZlMWQ4ZWNhYTNiZS4uZDY2OWFmZTA0ZTZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI4IEBACisyMDIwLTAyLTI2ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5j
b20+CisKKyAgICAgICAgQWxsb3cgc2V0dGluZyBvZiBzdGFjayBzaXplcyBmb3IgdGhyZWFkcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjIzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNl
IFRocmVhZFR5cGUgd2hpY2ggaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNwZWNpZnkgYSBzdGFjayBz
aXplIGZvciBhIHBhcnRpY3VsYXIKKyAgICAgICAgdHlwZSBvZiB0aHJlYWQuIFBsYXRmb3JtcyBj
YW4gbWFrZSB0aGVpciBvd24gZGVjaXNpb25zIG9uIHdoYXQgdGhlIHN0YWNrIHNpemUgc2hvdWxk
IGJlCisgICAgICAgIGJhc2VkIG9uIHRoZWlyIG93biBvYnNlcnZhdGlvbnMuIEFkZGl0aW9uYWxs
eSBhIGRlZmF1bHQgc3RhY2sgc2l6ZSBjYW4gYmUgc3BlY2lmaWVkCisgICAgICAgIGJ5IGRlZmlu
aW5nIERFRkFVTFRfVEhSRUFEX1NUQUNLX1NJWkVfSU5fS0IgaWYgdGhlIGRlZmF1bHQgc3RhY2sg
Zm9yIGEgcGxhdGZvcm0gaXMKKyAgICAgICAgaW5zdWZmaWNpZW50IGluIGFsbCBjYXNlcywgb3Ig
d2hlbiBpbnZlc3RpZ2F0aW5nIHRoZSBzdGFjayBzaXplIGZvciB0dW5pbmcuCisKKyAgICAgICAg
Qm90aCB0aGUgcHRocmVhZCBhbmQgV2luZG93cyB0aHJlYWQgaW1wbGVtZW50YXRpb25zIGFyZSBt
b2RpZmllZCB0byBzZXQgdGhlIHN0YWNrIHNpemUKKyAgICAgICAgaWYgcHJvdmlkZWQuCisKKyAg
ICAgICAgKiB3dGYvVGhyZWFkaW5nLmNwcDoKKyAgICAgICAgKFdURjo6c3RhY2tTaXplKToKKyAg
ICAgICAgKFdURjo6VGhyZWFkOjpjcmVhdGUpOgorICAgICAgICAqIHd0Zi9UaHJlYWRpbmcuaDoK
KyAgICAgICAgKiB3dGYvcG9zaXgvVGhyZWFkaW5nUE9TSVguY3BwOgorICAgICAgICAoV1RGOjpU
aHJlYWQ6OmVzdGFibGlzaEhhbmRsZSk6CisgICAgICAgICogd3RmL3dpbi9UaHJlYWRpbmdXaW4u
Y3BwOgorICAgICAgICAoV1RGOjpUaHJlYWQ6OmVzdGFibGlzaEhhbmRsZSk6CisKIDIwMjAtMDIt
MjUgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IHNhZmFyaSBhcHAgZXh0ZW5zaW9uIGlzb2xhdGVkIHdvcmxkcyBhbmQgaW5qZWN0ZWQg
ZmlsZXMgdXNlIHRoZSBleHRlbnNpb24ncyBpZGVudGlmaWVyIGluc3RlYWQgb2YgaXRzIG5hbWUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmcuY3BwCmluZGV4IGJiMGQ1ZDkzZWJlNi4uYWE4OWQzN2NjZmNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1Ro
cmVhZGluZy5jcHAKQEAgLTQ1LDYgKzQ1LDI2IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCitzdGF0
aWMgT3B0aW9uYWw8c2l6ZV90PiBzdGFja1NpemUoVGhyZWFkVHlwZSB0aHJlYWRUeXBlKQorewor
ICAgIC8vIFJldHVybiB0aGUgc3RhY2sgc2l6ZSBmb3IgdGhlIGNyZWF0ZWQgdGhyZWFkIGJhc2Vk
IG9uIGl0cyB0eXBlLgorICAgIC8vIElmIHRoZSBzdGFjayBzaXplIGlzIG5vdCBzcGVjaWZpZWQs
IHRoZW4gdXNlIHRoZSBzeXN0ZW0gZGVmYXVsdC4gUGxhdGZvcm1zIGNhbiB0dW5lIHRoZSB2YWx1
ZXMgaGVyZS4KKyAgICAvLyBFbmFibGUgU1RBQ0tfU1RBVFMgaW4gU3RhY2tTdGF0cy5oIHRvIGNy
ZWF0ZSBhIGJ1aWxkIHRoYXQgd2lsbCB0cmFjayB0aGUgaW5mb3JtYXRpb24gZm9yIHR1bmluZy4K
KyNpZiBQTEFURk9STShQTEFZU1RBVElPTikKKyAgICBpZiAodGhyZWFkVHlwZSA9PSBUaHJlYWRU
eXBlOjpKYXZhU2NyaXB0KQorICAgICAgICByZXR1cm4gNTEyICogMTAyNDsKKyNlbHNlCisgICAg
VU5VU0VEX1BBUkFNKHRocmVhZFR5cGUpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKERFRkFVTFRf
VEhSRUFEX1NUQUNLX1NJWkVfSU5fS0IpICYmIERFRkFVTFRfVEhSRUFEX1NUQUNLX1NJWkVfSU5f
S0IgPiAwCisgICAgcmV0dXJuIERFRkFVTFRfVEhSRUFEX1NUQUNLX1NJWkVfSU5fS0IgKiAxMDI0
OworI2Vsc2UKKyAgICAvLyBVc2UgdGhlIHBsYXRmb3JtJ3MgZGVmYXVsdCBzdGFjayBzaXplCisg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyNlbmRpZgorfQorCiBzdHJ1Y3QgVGhyZWFkOjpOZXdU
aHJlYWRDb250ZXh0IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE5ld1RocmVhZENvbnRl
eHQ+IHsKIHB1YmxpYzoKICAgICBOZXdUaHJlYWRDb250ZXh0KGNvbnN0IGNoYXIqIG5hbWUsIEZ1
bmN0aW9uPHZvaWQoKT4mJiBlbnRyeVBvaW50LCBSZWY8VGhyZWFkPiYmIHRocmVhZCkKQEAgLTE0
OCw5ICsxNjgsMTAgQEAgdm9pZCBUaHJlYWQ6OmVudHJ5UG9pbnQoTmV3VGhyZWFkQ29udGV4dCog
bmV3VGhyZWFkQ29udGV4dCkKICAgICBmdW5jdGlvbigpOwogfQogCi1SZWY8VGhyZWFkPiBUaHJl
YWQ6OmNyZWF0ZShjb25zdCBjaGFyKiBuYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYgZW50cnlQb2lu
dCkKK1JlZjxUaHJlYWQ+IFRocmVhZDo6Y3JlYXRlKGNvbnN0IGNoYXIqIG5hbWUsIEZ1bmN0aW9u
PHZvaWQoKT4mJiBlbnRyeVBvaW50LCBUaHJlYWRUeXBlIHRocmVhZFR5cGUpCiB7CiAgICAgV1RG
Ojppbml0aWFsaXplVGhyZWFkaW5nKCk7CisKICAgICBSZWY8VGhyZWFkPiB0aHJlYWQgPSBhZG9w
dFJlZigqbmV3IFRocmVhZCgpKTsKICAgICBSZWY8TmV3VGhyZWFkQ29udGV4dD4gY29udGV4dCA9
IGFkb3B0UmVmKCpuZXcgTmV3VGhyZWFkQ29udGV4dCB7IG5hbWUsIFdURk1vdmUoZW50cnlQb2lu
dCksIHRocmVhZC5jb3B5UmVmKCkgfSk7CiAgICAgLy8gSW5jcmVtZW50IHRoZSBjb250ZXh0IHJl
ZiBvbiBiZWhhbGYgb2YgdGhlIGNyZWF0ZWQgdGhyZWFkLiBXZSBkbyBub3QganVzdCB1c2UgYSB1
bmlxdWVfcHRyIGFuZCBsZWFrIGl0IHRvIHRoZSBjcmVhdGVkIHRocmVhZCBiZWNhdXNlIGJvdGgg
dGhlIGNyZWF0b3IgYW5kIGNyZWF0ZWQgdGhyZWFkIGhhcyBhIG5lZWQgdG8ga2VlcCB0aGUgY29u
dGV4dCBhbGl2ZToKQEAgLTE2MSw3ICsxODIsNyBAQCBSZWY8VGhyZWFkPiBUaHJlYWQ6OmNyZWF0
ZShjb25zdCBjaGFyKiBuYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYgZW50cnlQb2ludCkKICAgICBj
b250ZXh0LT5yZWYoKTsKICAgICB7CiAgICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihjb250ZXh0
LT5tdXRleCk7Ci0gICAgICAgIGJvb2wgc3VjY2VzcyA9IHRocmVhZC0+ZXN0YWJsaXNoSGFuZGxl
KGNvbnRleHQucHRyKCkpOworICAgICAgICBib29sIHN1Y2Nlc3MgPSB0aHJlYWQtPmVzdGFibGlz
aEhhbmRsZShjb250ZXh0LnB0cigpLCBzdGFja1NpemUodGhyZWFkVHlwZSkpOwogICAgICAgICBS
RUxFQVNFX0FTU0VSVChzdWNjZXNzKTsKICAgICAgICAgY29udGV4dC0+c3RhZ2UgPSBOZXdUaHJl
YWRDb250ZXh0OjpTdGFnZTo6RXN0YWJsaXNoZWRIYW5kbGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1RocmVhZGluZy5oIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmgKaW5kZXgg
MWZjNDY2ZjRlZDNhLi5jZTNiZjA2ODMwYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1Ro
cmVhZGluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5oCkBAIC04Miw2ICs4Miwx
NSBAQCBlbnVtIGNsYXNzIEdDVGhyZWFkVHlwZSA6IHVpbnQ4X3QgewogICAgIEhlbHBlciwKIH07
CiAKK2VudW0gY2xhc3MgVGhyZWFkVHlwZSA6IHVpbnQ4X3QgeworICAgIFVua25vd24gPSAwLAor
ICAgIEphdmFTY3JpcHQsCisgICAgR2FyYmFnZUNvbGxlY3Rpb24sCisgICAgTmV0d29yaywKKyAg
ICBHcmFwaGljcywKKyAgICBBdWRpbywKK307CisKIGNsYXNzIFRocmVhZCA6IHB1YmxpYyBUaHJl
YWRTYWZlUmVmQ291bnRlZDxUaHJlYWQ+IHsKIHB1YmxpYzoKICAgICBmcmllbmQgY2xhc3MgVGhy
ZWFkR3JvdXA7CkBAIC05MSw3ICsxMDAsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBSZXR1cm5zIG51
bGxwdHIgaWYgdGhyZWFkIGNyZWF0aW9uIGZhaWxlZC4KICAgICAvLyBUaGUgdGhyZWFkIG5hbWUg
bXVzdCBiZSBhIGxpdGVyYWwgc2luY2Ugb24gc29tZSBwbGF0Zm9ybXMgaXQncyBwYXNzZWQgaW4g
dG8gdGhlIHRocmVhZC4KLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJlZjxUaHJlYWQ+
IGNyZWF0ZShjb25zdCBjaGFyKiB0aHJlYWROYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYpOworICAg
IFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgUmVmPFRocmVhZD4gY3JlYXRlKGNvbnN0IGNoYXIq
IHRocmVhZE5hbWUsIEZ1bmN0aW9uPHZvaWQoKT4mJiwgVGhyZWFkVHlwZSB0aHJlYWRUeXBlID0g
VGhyZWFkVHlwZTo6VW5rbm93bik7CiAKICAgICAvLyBSZXR1cm5zIFRocmVhZCBvYmplY3QuCiAg
ICAgc3RhdGljIFRocmVhZCYgY3VycmVudCgpOwpAQCAtMjM1LDcgKzI0NCw3IEBAIHByb3RlY3Rl
ZDoKICAgICB2b2lkIGluaXRpYWxpemVJblRocmVhZCgpOwogCiAgICAgLy8gSW50ZXJuYWwgcGxh
dGZvcm0tc3BlY2lmaWMgVGhyZWFkIGVzdGFibGlzaG1lbnQgaW1wbGVtZW50YXRpb24uCi0gICAg
Ym9vbCBlc3RhYmxpc2hIYW5kbGUoTmV3VGhyZWFkQ29udGV4dCopOworICAgIGJvb2wgZXN0YWJs
aXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqLCBPcHRpb25hbDxzaXplX3Q+KTsKIAogI2lmIFVT
RShQVEhSRUFEUykKICAgICB2b2lkIGVzdGFibGlzaFBsYXRmb3JtU3BlY2lmaWNIYW5kbGUoUGxh
dGZvcm1UaHJlYWRIYW5kbGUpOwpAQCAtMzc5LDQgKzM4OCw1IEBAIGlubGluZSBUaHJlYWQmIFRo
cmVhZDo6Y3VycmVudCgpCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpUaHJlYWQ7
Cit1c2luZyBXVEY6OlRocmVhZFR5cGU7CiB1c2luZyBXVEY6OkdDVGhyZWFkVHlwZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcAppbmRleCBkZDU1OGQ4NDRlNDMuLjRjNTQ3
NmE4MDViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvcG9zaXgvVGhyZWFkaW5nUE9TSVgu
Y3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcApAQCAtMjAx
LDcgKzIwMSw3IEBAIHN0YXRpYyB2b2lkKiB3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqIGNvbnRl
eHQpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLWJvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5k
bGUoTmV3VGhyZWFkQ29udGV4dCogY29udGV4dCkKK2Jvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5k
bGUoTmV3VGhyZWFkQ29udGV4dCogY29udGV4dCwgT3B0aW9uYWw8c2l6ZV90PiBzdGFja1NpemUp
CiB7CiAgICAgcHRocmVhZF90IHRocmVhZEhhbmRsZTsKICAgICBwdGhyZWFkX2F0dHJfdCBhdHRy
OwpAQCAtMjA5LDYgKzIwOSw4IEBAIGJvb2wgVGhyZWFkOjplc3RhYmxpc2hIYW5kbGUoTmV3VGhy
ZWFkQ29udGV4dCogY29udGV4dCkKICNpZiBIQVZFKFFPU19DTEFTU0VTKQogICAgIHB0aHJlYWRf
YXR0cl9zZXRfcW9zX2NsYXNzX25wKCZhdHRyLCBhZGp1c3RlZFFPU0NsYXNzKFFPU19DTEFTU19V
U0VSX0lOSVRJQVRFRCksIDApOwogI2VuZGlmCisgICAgaWYgKHN0YWNrU2l6ZSkKKyAgICAgICAg
cHRocmVhZF9hdHRyX3NldHN0YWNrc2l6ZSgmYXR0ciwgc3RhY2tTaXplLnZhbHVlKCkpOwogICAg
IGludCBlcnJvciA9IHB0aHJlYWRfY3JlYXRlKCZ0aHJlYWRIYW5kbGUsICZhdHRyLCB3dGZUaHJl
YWRFbnRyeVBvaW50LCBjb250ZXh0KTsKICAgICBwdGhyZWFkX2F0dHJfZGVzdHJveSgmYXR0cik7
CiAgICAgaWYgKGVycm9yKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vVGhyZWFk
aW5nV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9UaHJlYWRpbmdXaW4uY3BwCmluZGV4IDIy
NGFhYzM3YTQ5ZS4uMTAyYTY0ZTZiNGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi93aW4v
VGhyZWFkaW5nV2luLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vVGhyZWFkaW5nV2luLmNw
cApAQCAtMTUzLDEwICsxNTMsMTEgQEAgc3RhdGljIHVuc2lnbmVkIF9fc3RkY2FsbCB3dGZUaHJl
YWRFbnRyeVBvaW50KHZvaWQqIGRhdGEpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWJvb2wgVGhyZWFk
Ojplc3RhYmxpc2hIYW5kbGUoTmV3VGhyZWFkQ29udGV4dCogZGF0YSkKK2Jvb2wgVGhyZWFkOjpl
c3RhYmxpc2hIYW5kbGUoTmV3VGhyZWFkQ29udGV4dCogZGF0YSwgT3B0aW9uYWw8c2l6ZV90PiBz
dGFja1NpemUpCiB7CiAgICAgdW5zaWduZWQgdGhyZWFkSWRlbnRpZmllciA9IDA7Ci0gICAgSEFO
RExFIHRocmVhZEhhbmRsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8SEFORExFPihfYmVnaW50aHJlYWRl
eCgwLCAwLCB3dGZUaHJlYWRFbnRyeVBvaW50LCBkYXRhLCAwLCAmdGhyZWFkSWRlbnRpZmllcikp
OworICAgIHVuc2lnbmVkIGluaXRGbGFnID0gc3RhY2tTaXplID8gU1RBQ0tfU0laRV9QQVJBTV9J
U19BX1JFU0VSVkFUSU9OIDogMDsKKyAgICBIQU5ETEUgdGhyZWFkSGFuZGxlID0gcmVpbnRlcnBy
ZXRfY2FzdDxIQU5ETEU+KF9iZWdpbnRocmVhZGV4KDAsIHN0YWNrU2l6ZS52YWx1ZU9yKDApLCB3
dGZUaHJlYWRFbnRyeVBvaW50LCBkYXRhLCBpbml0RmxhZywgJnRocmVhZElkZW50aWZpZXIpKTsK
ICAgICBpZiAoIXRocmVhZEhhbmRsZSkgewogICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBj
cmVhdGUgdGhyZWFkIGF0IGVudHJ5IHBvaW50ICVwIHdpdGggZGF0YSAlcDogJWxkIiwgd3RmVGhy
ZWFkRW50cnlQb2ludCwgZGF0YSwgZXJybm8pOwogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggYWVhZjk2N2IzOGQzLi45YmFiNTA2NWExYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzMyBAQAorMjAyMC0wMi0yNiAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29t
PgorCisgICAgICAgIEFsbG93IHNldHRpbmcgb2Ygc3RhY2sgc2l6ZXMgZm9yIHRocmVhZHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODIyMworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWNpZnkgVGhy
ZWFkVHlwZSBhdCB0aGUgVGhyZWFkOjpjcmVhdGUgY2FsbHNpdGUuCisKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL0FzeW5jQXVkaW9EZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFz
eW5jQXVkaW9EZWNvZGVyOjpBc3luY0F1ZGlvRGVjb2Rlcik6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6T2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpzdGFydFJlbmRlcmluZyk6CisgICAgICAg
ICogYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdDQ29u
dHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbkFsdGVybmF0ZVRocmVhZEZvckRlYnVnZ2luZyk6Cisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJldmVyYkNvbnZvbHZlcjo6UmV2ZXJiQ29udm9sdmVyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL2NmL0xvYWRlclJ1bkxvb3BDRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjps
b2FkZXJSdW5Mb29wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFu
ZGxlQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3Jt
TG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9j
Zi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFJ1bkxvb3ApOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdFNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDdXJsUmVxdWVzdFNjaGVkdWxlcjo6c3RhcnRUaHJlYWRJZk5lZWRlZCk6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTdHJlYW1TY2hlZHVsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q3VybFN0cmVhbVNjaGVkdWxlcjo6c3RhcnRUaHJlYWRJZk5lZWRlZCk6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
VGhyZWFkOjpzdGFydCk6CisKIDIwMjAtMDItMjYgIEphY29iIFVwaG9mZiAgPGphY29iX3VwaG9m
ZkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1NzM3My4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRpb0Rl
Y29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Bc3luY0F1ZGlvRGVj
b2Rlci5jcHAKaW5kZXggMmY1NDI3MmFjNWMwLi44YThiYjZiZTVhNTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRpb0RlY29kZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRpb0RlY29kZXIuY3BwCkBA
IC00MSw3ICs0MSw3IEBAIEFzeW5jQXVkaW9EZWNvZGVyOjpBc3luY0F1ZGlvRGVjb2RlcigpCiAg
ICAgTG9ja0hvbGRlciBsb2NrKG1fdGhyZWFkQ3JlYXRpb25NdXRleCk7CiAgICAgbV90aHJlYWQg
PSBUaHJlYWQ6OmNyZWF0ZSgiQXVkaW8gRGVjb2RlciIsIFt0aGlzXSB7CiAgICAgICAgIHJ1bkxv
b3AoKTsKLSAgICB9KTsKKyAgICB9LCBUaHJlYWRUeXBlOjpBdWRpbyk7CiB9CiAKIEFzeW5jQXVk
aW9EZWNvZGVyOjp+QXN5bmNBdWRpb0RlY29kZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUu
Y3BwCmluZGV4IGVmN2IzM2E4NmQ2NS4uNmExOTU1NDZjZjcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5h
dGlvbk5vZGUuY3BwCkBAIC05Nyw3ICs5Nyw3IEBAIHZvaWQgT2ZmbGluZUF1ZGlvRGVzdGluYXRp
b25Ob2RlOjpzdGFydFJlbmRlcmluZygpCiAgICAgICAgICAgICBjb250ZXh0KCkuZmluaXNoZWRS
ZW5kZXJpbmcoZGlkUmVuZGVyKTsKICAgICAgICAgICAgIGRlcmVmKCk7CiAgICAgICAgIH0pOwot
ICAgIH0pOworICAgIH0sIFRocmVhZFR5cGU6OkF1ZGlvKTsKIH0KIAogYm9vbCBPZmZsaW5lQXVk
aW9EZXN0aW5hdGlvbk5vZGU6Om9mZmxpbmVSZW5kZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0dDQ29udHJvbGxlci5jcHAKaW5kZXggYzQ5ZmExYWJmOTcwLi44MzI3ODRhNGJlMTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcApAQCAtMTEx
LDcgKzExMSw3IEBAIHZvaWQgR0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE5vd0lmTm90RG9u
ZVJlY2VudGx5KCkKIAogdm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0T25BbHRlcm5h
dGVUaHJlYWRGb3JEZWJ1Z2dpbmcoYm9vbCB3YWl0VW50aWxEb25lKQogewotICAgIGF1dG8gdGhy
ZWFkID0gVGhyZWFkOjpjcmVhdGUoIldlYkNvcmU6IEdDQ29udHJvbGxlciIsICZjb2xsZWN0KTsK
KyAgICBhdXRvIHRocmVhZCA9IFRocmVhZDo6Y3JlYXRlKCJXZWJDb3JlOiBHQ0NvbnRyb2xsZXIi
LCAmY29sbGVjdCwgVGhyZWFkVHlwZTo6R2FyYmFnZUNvbGxlY3Rpb24pOwogCiAgICAgaWYgKHdh
aXRVbnRpbERvbmUpIHsKICAgICAgICAgdGhyZWFkLT53YWl0Rm9yQ29tcGxldGlvbigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlci5jcHAKaW5k
ZXggYTljOTM1YzFhMjg1Li5hMTJmMTY1NGUwNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyLmNwcApAQCAtMTIzLDcgKzEyMyw3IEBAIFJl
dmVyYkNvbnZvbHZlcjo6UmV2ZXJiQ29udm9sdmVyKEF1ZGlvQ2hhbm5lbCogaW1wdWxzZVJlc3Bv
bnNlLCBzaXplX3QgcmVuZGVyU2xpCiAgICAgaWYgKHRoaXMtPnVzZUJhY2tncm91bmRUaHJlYWRz
KCkgJiYgbV9iYWNrZ3JvdW5kU3RhZ2VzLnNpemUoKSA+IDApIHsKICAgICAgICAgbV9iYWNrZ3Jv
dW5kVGhyZWFkID0gVGhyZWFkOjpjcmVhdGUoImNvbnZvbHV0aW9uIGJhY2tncm91bmQgdGhyZWFk
IiwgW3RoaXNdIHsKICAgICAgICAgICAgIGJhY2tncm91bmRUaHJlYWRFbnRyeSgpOwotICAgICAg
ICB9KTsKKyAgICAgICAgfSwgVGhyZWFkVHlwZTo6QXVkaW8pOwogICAgIH0KIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29wQ0Yu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29wQ0Yu
Y3BwCmluZGV4IGNmZDZhYjBiYWVlYS4uZjYzM2ZlZDAxMDVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0xvYWRlclJ1bkxvb3BDRi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29wQ0YuY3BwCkBAIC03
NCw3ICs3NCw3IEBAIENGUnVuTG9vcFJlZiBsb2FkZXJSdW5Mb29wKCkKICAgICAgICAgICAgICAg
ICBBdXRvZHJhaW5lZFBvb2wgcG9vbDsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBDRlJ1bkxv
b3BSdW5Jbk1vZGUoa0NGUnVuTG9vcERlZmF1bHRNb2RlLCBzdGQ6Om51bWVyaWNfbGltaXRzPGRv
dWJsZT46Om1heCgpLCB0cnVlKTsKICAgICAgICAgICAgIH0gd2hpbGUgKHJlc3VsdCAhPSBrQ0ZS
dW5Mb29wUnVuU3RvcHBlZCAmJiByZXN1bHQgIT0ga0NGUnVuTG9vcFJ1bkZpbmlzaGVkKTsKLSAg
ICAgICAgfSk7CisgICAgICAgIH0sIFRocmVhZFR5cGU6Ok5ldHdvcmspOwogCiAgICAgICAgIGxv
YWRlclJ1bkxvb3BDb25kaXRpb25WYXJpYWJsZS53YWl0KGxvY2ssIFtdIHsgcmV0dXJuIGxvYWRl
clJ1bkxvb3BPYmplY3Q7IH0pOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCmluZGV4IDMyMmE4
NDUwOGU1OS4uOTAwODFjYmVjMDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKQEAgLTU5NSw3ICs1
OTUsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9u
b3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleAogCiAgICAgICAgICAgICB3aGlsZSAodHJ1
ZSkKICAgICAgICAgICAgICAgICBDRlJ1bkxvb3BSdW5Jbk1vZGUoa0NGUnVuTG9vcERlZmF1bHRN
b2RlLCAxRTMwLCB0cnVlKTsKLSAgICAgICAgfSk7CisgICAgICAgIH0sIFRocmVhZFR5cGU6Ok5l
dHdvcmspOwogICAgICAgICBzZW0ud2FpdCgpOwogICAgIH0KICAgICBDRlVSTENvbm5lY3Rpb25T
Y2hlZHVsZVdpdGhSdW5Mb29wKGhhbmRsZS0+Y29ubmVjdGlvbigpLCBydW5Mb29wLCBrQ0ZSdW5M
b29wRGVmYXVsdE1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlv
blF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VI
YW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAKaW5kZXgg
OWQxZTljNDFiOTRmLi44MGQ4NjBlY2YyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdp
dGhPcGVyYXRpb25RdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1
ZXVlLmNwcApAQCAtMTE5LDcgKzExOSw3IEBAIHN0YXRpYyBDRlJ1bkxvb3BSZWYgZ2V0UnVuTG9v
cCgpCiAKICAgICAgICAgICAgIHdoaWxlICh0cnVlKQogICAgICAgICAgICAgICAgIENGUnVuTG9v
cFJ1bkluTW9kZShrQ0ZSdW5Mb29wRGVmYXVsdE1vZGUsIDFFMzAsIHRydWUpOwotICAgICAgICB9
KTsKKyAgICAgICAgfSwgVGhyZWFkVHlwZTo6TmV0d29yayk7CiAgICAgICAgIHNlbS53YWl0KCk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvQ3VybFJlcXVlc3RTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jdXJsL0N1cmxSZXF1ZXN0U2NoZWR1bGVyLmNwcAppbmRleCAzYWE1ZjUyZGI2MjcuLjRk
MDllNmI1YjdlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL0N1cmxSZXF1ZXN0U2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3RTY2hlZHVsZXIuY3BwCkBAIC05Nyw3ICs5Nyw3IEBA
IHZvaWQgQ3VybFJlcXVlc3RTY2hlZHVsZXI6OnN0YXJ0VGhyZWFkSWZOZWVkZWQoKQogCiAgICAg
ICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9tdXRleCk7CiAgICAgICAgIG1fcnVuVGhyZWFk
ID0gZmFsc2U7Ci0gICAgfSk7CisgICAgfSwgVGhyZWFkVHlwZTo6TmV0d29yayk7CiB9CiAKIHZv
aWQgQ3VybFJlcXVlc3RTY2hlZHVsZXI6OnN0b3BUaHJlYWRJZk5vTW9yZUpvYlJ1bm5pbmcoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTdHJl
YW1TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1
cmxTdHJlYW1TY2hlZHVsZXIuY3BwCmluZGV4IDg0NThlM2MxNDE2Ny4uM2ZiODc1OTk4NGFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFN0cmVh
bVNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L0N1cmxTdHJlYW1TY2hlZHVsZXIuY3BwCkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBDdXJsU3Ry
ZWFtU2NoZWR1bGVyOjpzdGFydFRocmVhZElmTmVlZGVkKCkKIAogICAgIG1fdGhyZWFkID0gVGhy
ZWFkOjpjcmVhdGUoImN1cmxTdHJlYW1UaHJlYWQiLCBbdGhpc10gewogICAgICAgICB3b3JrZXJU
aHJlYWQoKTsKLSAgICB9KTsKKyAgICB9LCBUaHJlYWRUeXBlOjpOZXR3b3JrKTsKIH0KIAogdm9p
ZCBDdXJsU3RyZWFtU2NoZWR1bGVyOjpzdG9wVGhyZWFkSWZOb01vcmVKb2JSdW5uaW5nKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCAwZjMxNThmNjE0MjIuLjM2
MTEzODcwNGE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAt
MTQ0LDcgKzE0NCw3IEBAIHZvaWQgV29ya2VyVGhyZWFkOjpzdGFydChXVEY6OkZ1bmN0aW9uPHZv
aWQoY29uc3QgU3RyaW5nJik+JiYgZXZhbHVhdGVDYWxsYmFjaykKIAogICAgIFJlZjxUaHJlYWQ+
IHRocmVhZCA9IFRocmVhZDo6Y3JlYXRlKGlzU2VydmljZVdvcmtlclRocmVhZCgpID8gIldlYkNv
cmU6IFNlcnZpY2UgV29ya2VyIiA6ICJXZWJDb3JlOiBXb3JrZXIiLCBbdGhpc10gewogICAgICAg
ICB3b3JrZXJUaHJlYWQoKTsKLSAgICB9KTsKKyAgICB9LCBUaHJlYWRUeXBlOjpKYXZhU2NyaXB0
KTsKICAgICAvLyBGb3JjZSB0aGUgVGhyZWFkIG9iamVjdCB0byBiZSBpbml0aWFsaXplZCBmdWxs
eSBiZWZvcmUgc3RvcmluZyBpdCB0byBtX3RocmVhZCAoYW5kIGJlY29taW5nIHZpc2libGUgdG8g
b3RoZXIgdGhyZWFkcykuCiAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKICAgICBtX3RocmVh
ZCA9IFdURk1vdmUodGhyZWFkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOGYzOTdmMTg0ZDUzLi4yYjNlZTQ2OWVk
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDItMjYgIERvbiBPbG1zdGVhZCAg
PGRvbi5vbG1zdGVhZEBzb255LmNvbT4KKworICAgICAgICBBbGxvdyBzZXR0aW5nIG9mIHN0YWNr
IHNpemVzIGZvciB0aHJlYWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDgyMjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTcGVjaWZ5IFRocmVhZFR5cGUgYXQgdGhlIFRocmVhZDo6Y3JlYXRlIGNhbGxz
aXRlLgorCisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21w
b3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmNyZWF0ZVJ1
bkxvb3ApOgorCiAyMDIwLTAyLTI2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1NzQ3MS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9y
L0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRl
ZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwCmluZGV4
IDcxNTg1N2E2NDgxNC4uODI4Y2IxMDc1YTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1
bkxvb3AuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
dGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKQEAgLTQ3LDcgKzQ3LDcg
QEAgc3RhdGljIFJ1bkxvb3AqIGNyZWF0ZVJ1bkxvb3AoKQogICAgICAgICBydW5Mb29wID0gJlJ1
bkxvb3A6OmN1cnJlbnQoKTsKICAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOwogICAgICAgICBy
dW5Mb29wLT5ydW4oKTsKLSAgICB9KS0+ZGV0YWNoKCk7CisgICAgfSwgVGhyZWFkVHlwZTo6R3Jh
cGhpY3MpLT5kZXRhY2goKTsKICAgICBzZW1hcGhvcmUud2FpdCgpOwogCiAgICAgcmV0dXJuIHJ1
bkxvb3A7Cg==
</data>
<flag name="review"
          id="407296"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391774</attachid>
            <date>2020-02-26 13:23:37 -0800</date>
            <delta_ts>2020-02-26 15:27:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208223.diff</filename>
            <type>text/plain</type>
            <size>17109</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE2OGFmNDBjNTI3YS4uNmViZDVkZDU2NDJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMi0yNiAgRG9u
IE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgorCisgICAgICAgIEFsbG93IHNldHRp
bmcgb2Ygc3RhY2sgc2l6ZXMgZm9yIHRocmVhZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODIyMworCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3Vr
ZSBTdXp1a2kuCisKKyAgICAgICAgU3BlY2lmeSBUaHJlYWRUeXBlIGF0IHRoZSBUaHJlYWQ6OmNy
ZWF0ZSBjYWxsc2l0ZS4KKworICAgICAgICAqIGhlYXAvSGVhcC5jcHA6CisgICAgICAgIChKU0M6
OkhlYXA6Om5vdGlmeUlzU2FmZVRvQ29sbGVjdCk6CisKIDIwMjAtMDItMjYgIENhaW8gTGltYSAg
PHRpY2Fpb2xpbWFAZ21haWwuY29tPgogCiAgICAgICAgIFtKU0NdW01JUFNdIEFkZGluZyBzdXBw
b3J0IHRvIENoZWNrcG9pbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9IZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCmluZGV4IDRj
ODQxNWVhMjgyMy4uY2I5NzZhMTk0NWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9IZWFwLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNw
cApAQCAtMjkwNyw3ICsyOTA3LDcgQEAgdm9pZCBIZWFwOjpub3RpZnlJc1NhZmVUb0NvbGxlY3Qo
KQogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCBUaHJlYWRUeXBl
OjpHYXJiYWdlQ29sbGVjdGlvbik7CiAgICAgfQogICAgIAogICAgIGRhdGFMb2dJZihPcHRpb25z
Ojpsb2dHQygpLCAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBiZWZvcmUpLm1pbGxpc2Vjb25kcygp
LCAibXNdXG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dU
Ri9DaGFuZ2VMb2cKaW5kZXggNmUxZDhlY2FhM2JlLi4yZTUzMjEyZTllM2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjggQEAKKzIwMjAtMDItMjYgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNv
bT4KKworICAgICAgICBBbGxvdyBzZXR0aW5nIG9mIHN0YWNrIHNpemVzIGZvciB0aHJlYWRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDgyMjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIEludHJvZHVjZSBU
aHJlYWRUeXBlIHdoaWNoIGlzIHVzZWQgaW50ZXJuYWxseSB0byBzcGVjaWZ5IGEgc3RhY2sgc2l6
ZSBmb3IgYSBwYXJ0aWN1bGFyCisgICAgICAgIHR5cGUgb2YgdGhyZWFkLiBQbGF0Zm9ybXMgY2Fu
IG1ha2UgdGhlaXIgb3duIGRlY2lzaW9ucyBvbiB3aGF0IHRoZSBzdGFjayBzaXplIHNob3VsZCBi
ZQorICAgICAgICBiYXNlZCBvbiB0aGVpciBvd24gb2JzZXJ2YXRpb25zLiBBZGRpdGlvbmFsbHkg
YSBkZWZhdWx0IHN0YWNrIHNpemUgY2FuIGJlIHNwZWNpZmllZAorICAgICAgICBieSBkZWZpbmlu
ZyBERUZBVUxUX1RIUkVBRF9TVEFDS19TSVpFX0lOX0tCIGlmIHRoZSBkZWZhdWx0IHN0YWNrIGZv
ciBhIHBsYXRmb3JtIGlzCisgICAgICAgIGluc3VmZmljaWVudCBpbiBhbGwgY2FzZXMsIG9yIHdo
ZW4gaW52ZXN0aWdhdGluZyB0aGUgc3RhY2sgc2l6ZSBmb3IgdHVuaW5nLgorCisgICAgICAgIEJv
dGggdGhlIHB0aHJlYWQgYW5kIFdpbmRvd3MgdGhyZWFkIGltcGxlbWVudGF0aW9ucyBhcmUgbW9k
aWZpZWQgdG8gc2V0IHRoZSBzdGFjayBzaXplCisgICAgICAgIGlmIHByb3ZpZGVkLgorCisgICAg
ICAgICogd3RmL1RocmVhZGluZy5jcHA6CisgICAgICAgIChXVEY6OnN0YWNrU2l6ZSk6CisgICAg
ICAgIChXVEY6OlRocmVhZDo6Y3JlYXRlKToKKyAgICAgICAgKiB3dGYvVGhyZWFkaW5nLmg6Cisg
ICAgICAgICogd3RmL3Bvc2l4L1RocmVhZGluZ1BPU0lYLmNwcDoKKyAgICAgICAgKFdURjo6VGhy
ZWFkOjplc3RhYmxpc2hIYW5kbGUpOgorICAgICAgICAqIHd0Zi93aW4vVGhyZWFkaW5nV2luLmNw
cDoKKyAgICAgICAgKFdURjo6VGhyZWFkOjplc3RhYmxpc2hIYW5kbGUpOgorCiAyMDIwLTAyLTI1
ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBzYWZhcmkgYXBwIGV4dGVuc2lvbiBpc29sYXRlZCB3b3JsZHMgYW5kIGluamVjdGVkIGZp
bGVzIHVzZSB0aGUgZXh0ZW5zaW9uJ3MgaWRlbnRpZmllciBpbnN0ZWFkIG9mIGl0cyBuYW1lCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwIGIvU291cmNlL1dURi93dGYv
VGhyZWFkaW5nLmNwcAppbmRleCBiYjBkNWQ5M2ViZTYuLjE5MjZiMDZlNzZlYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJl
YWRpbmcuY3BwCkBAIC00NSw2ICs0NSwyNiBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAorc3RhdGlj
IE9wdGlvbmFsPHNpemVfdD4gc3RhY2tTaXplKFRocmVhZFR5cGUgdGhyZWFkVHlwZSkKK3sKKyAg
ICAvLyBSZXR1cm4gdGhlIHN0YWNrIHNpemUgZm9yIHRoZSBjcmVhdGVkIHRocmVhZCBiYXNlZCBv
biBpdHMgdHlwZS4KKyAgICAvLyBJZiB0aGUgc3RhY2sgc2l6ZSBpcyBub3Qgc3BlY2lmaWVkLCB0
aGVuIHVzZSB0aGUgc3lzdGVtIGRlZmF1bHQuIFBsYXRmb3JtcyBjYW4gdHVuZSB0aGUgdmFsdWVz
IGhlcmUuCisgICAgLy8gRW5hYmxlIFNUQUNLX1NUQVRTIGluIFN0YWNrU3RhdHMuaCB0byBjcmVh
dGUgYSBidWlsZCB0aGF0IHdpbGwgdHJhY2sgdGhlIGluZm9ybWF0aW9uIGZvciB0dW5pbmcuCisj
aWYgUExBVEZPUk0oUExBWVNUQVRJT04pCisgICAgaWYgKHRocmVhZFR5cGUgPT0gVGhyZWFkVHlw
ZTo6SmF2YVNjcmlwdCkKKyAgICAgICAgcmV0dXJuIDUxMiAqIDEwMjQ7CisjZWxzZQorICAgIFVO
VVNFRF9QQVJBTSh0aHJlYWRUeXBlKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChERUZBVUxUX1RI
UkVBRF9TVEFDS19TSVpFX0lOX0tCKSAmJiBERUZBVUxUX1RIUkVBRF9TVEFDS19TSVpFX0lOX0tC
ID4gMAorICAgIHJldHVybiBERUZBVUxUX1RIUkVBRF9TVEFDS19TSVpFX0lOX0tCICogMTAyNDsK
KyNlbHNlCisgICAgLy8gVXNlIHRoZSBwbGF0Zm9ybSdzIGRlZmF1bHQgc3RhY2sgc2l6ZQorICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CisjZW5kaWYKK30KKwogc3RydWN0IFRocmVhZDo6TmV3VGhy
ZWFkQ29udGV4dCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxOZXdUaHJlYWRDb250ZXh0
PiB7CiBwdWJsaWM6CiAgICAgTmV3VGhyZWFkQ29udGV4dChjb25zdCBjaGFyKiBuYW1lLCBGdW5j
dGlvbjx2b2lkKCk+JiYgZW50cnlQb2ludCwgUmVmPFRocmVhZD4mJiB0aHJlYWQpCkBAIC0xNDgs
NyArMTY4LDcgQEAgdm9pZCBUaHJlYWQ6OmVudHJ5UG9pbnQoTmV3VGhyZWFkQ29udGV4dCogbmV3
VGhyZWFkQ29udGV4dCkKICAgICBmdW5jdGlvbigpOwogfQogCi1SZWY8VGhyZWFkPiBUaHJlYWQ6
OmNyZWF0ZShjb25zdCBjaGFyKiBuYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYgZW50cnlQb2ludCkK
K1JlZjxUaHJlYWQ+IFRocmVhZDo6Y3JlYXRlKGNvbnN0IGNoYXIqIG5hbWUsIEZ1bmN0aW9uPHZv
aWQoKT4mJiBlbnRyeVBvaW50LCBUaHJlYWRUeXBlIHRocmVhZFR5cGUpCiB7CiAgICAgV1RGOjpp
bml0aWFsaXplVGhyZWFkaW5nKCk7CiAgICAgUmVmPFRocmVhZD4gdGhyZWFkID0gYWRvcHRSZWYo
Km5ldyBUaHJlYWQoKSk7CkBAIC0xNjEsNyArMTgxLDcgQEAgUmVmPFRocmVhZD4gVGhyZWFkOjpj
cmVhdGUoY29uc3QgY2hhciogbmFtZSwgRnVuY3Rpb248dm9pZCgpPiYmIGVudHJ5UG9pbnQpCiAg
ICAgY29udGV4dC0+cmVmKCk7CiAgICAgewogICAgICAgICBNdXRleExvY2tlciBsb2NrZXIoY29u
dGV4dC0+bXV0ZXgpOwotICAgICAgICBib29sIHN1Y2Nlc3MgPSB0aHJlYWQtPmVzdGFibGlzaEhh
bmRsZShjb250ZXh0LnB0cigpKTsKKyAgICAgICAgYm9vbCBzdWNjZXNzID0gdGhyZWFkLT5lc3Rh
Ymxpc2hIYW5kbGUoY29udGV4dC5wdHIoKSwgc3RhY2tTaXplKHRocmVhZFR5cGUpKTsKICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoc3VjY2Vzcyk7CiAgICAgICAgIGNvbnRleHQtPnN0YWdlID0gTmV3
VGhyZWFkQ29udGV4dDo6U3RhZ2U6OkVzdGFibGlzaGVkSGFuZGxlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaCBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5oCmlu
ZGV4IDFmYzQ2NmY0ZWQzYS4uY2UzYmYwNjgzMGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaApAQCAtODIsNiAr
ODIsMTUgQEAgZW51bSBjbGFzcyBHQ1RocmVhZFR5cGUgOiB1aW50OF90IHsKICAgICBIZWxwZXIs
CiB9OwogCitlbnVtIGNsYXNzIFRocmVhZFR5cGUgOiB1aW50OF90IHsKKyAgICBVbmtub3duID0g
MCwKKyAgICBKYXZhU2NyaXB0LAorICAgIEdhcmJhZ2VDb2xsZWN0aW9uLAorICAgIE5ldHdvcmss
CisgICAgR3JhcGhpY3MsCisgICAgQXVkaW8sCit9OworCiBjbGFzcyBUaHJlYWQgOiBwdWJsaWMg
VGhyZWFkU2FmZVJlZkNvdW50ZWQ8VGhyZWFkPiB7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNz
IFRocmVhZEdyb3VwOwpAQCAtOTEsNyArMTAwLDcgQEAgcHVibGljOgogCiAgICAgLy8gUmV0dXJu
cyBudWxscHRyIGlmIHRocmVhZCBjcmVhdGlvbiBmYWlsZWQuCiAgICAgLy8gVGhlIHRocmVhZCBu
YW1lIG11c3QgYmUgYSBsaXRlcmFsIHNpbmNlIG9uIHNvbWUgcGxhdGZvcm1zIGl0J3MgcGFzc2Vk
IGluIHRvIHRoZSB0aHJlYWQuCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBSZWY8VGhy
ZWFkPiBjcmVhdGUoY29uc3QgY2hhciogdGhyZWFkTmFtZSwgRnVuY3Rpb248dm9pZCgpPiYmKTsK
KyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJlZjxUaHJlYWQ+IGNyZWF0ZShjb25zdCBj
aGFyKiB0aHJlYWROYW1lLCBGdW5jdGlvbjx2b2lkKCk+JiYsIFRocmVhZFR5cGUgdGhyZWFkVHlw
ZSA9IFRocmVhZFR5cGU6OlVua25vd24pOwogCiAgICAgLy8gUmV0dXJucyBUaHJlYWQgb2JqZWN0
LgogICAgIHN0YXRpYyBUaHJlYWQmIGN1cnJlbnQoKTsKQEAgLTIzNSw3ICsyNDQsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgdm9pZCBpbml0aWFsaXplSW5UaHJlYWQoKTsKIAogICAgIC8vIEludGVybmFs
IHBsYXRmb3JtLXNwZWNpZmljIFRocmVhZCBlc3RhYmxpc2htZW50IGltcGxlbWVudGF0aW9uLgot
ICAgIGJvb2wgZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqKTsKKyAgICBib29sIGVz
dGFibGlzaEhhbmRsZShOZXdUaHJlYWRDb250ZXh0KiwgT3B0aW9uYWw8c2l6ZV90Pik7CiAKICNp
ZiBVU0UoUFRIUkVBRFMpCiAgICAgdm9pZCBlc3RhYmxpc2hQbGF0Zm9ybVNwZWNpZmljSGFuZGxl
KFBsYXRmb3JtVGhyZWFkSGFuZGxlKTsKQEAgLTM3OSw0ICszODgsNSBAQCBpbmxpbmUgVGhyZWFk
JiBUaHJlYWQ6OmN1cnJlbnQoKQogfSAvLyBuYW1lc3BhY2UgV1RGCiAKIHVzaW5nIFdURjo6VGhy
ZWFkOwordXNpbmcgV1RGOjpUaHJlYWRUeXBlOwogdXNpbmcgV1RGOjpHQ1RocmVhZFR5cGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9UaHJlYWRpbmdQT1NJWC5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi9wb3NpeC9UaHJlYWRpbmdQT1NJWC5jcHAKaW5kZXggZGQ1NThkODQ0ZTQzLi40
YzU0NzZhODA1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L1RocmVhZGluZ1BP
U0lYLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9UaHJlYWRpbmdQT1NJWC5jcHAKQEAg
LTIwMSw3ICsyMDEsNyBAQCBzdGF0aWMgdm9pZCogd3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKiBj
b250ZXh0KQogICAgIHJldHVybiBudWxscHRyOwogfQogCi1ib29sIFRocmVhZDo6ZXN0YWJsaXNo
SGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGNvbnRleHQpCitib29sIFRocmVhZDo6ZXN0YWJsaXNo
SGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGNvbnRleHQsIE9wdGlvbmFsPHNpemVfdD4gc3RhY2tT
aXplKQogewogICAgIHB0aHJlYWRfdCB0aHJlYWRIYW5kbGU7CiAgICAgcHRocmVhZF9hdHRyX3Qg
YXR0cjsKQEAgLTIwOSw2ICsyMDksOCBAQCBib29sIFRocmVhZDo6ZXN0YWJsaXNoSGFuZGxlKE5l
d1RocmVhZENvbnRleHQqIGNvbnRleHQpCiAjaWYgSEFWRShRT1NfQ0xBU1NFUykKICAgICBwdGhy
ZWFkX2F0dHJfc2V0X3Fvc19jbGFzc19ucCgmYXR0ciwgYWRqdXN0ZWRRT1NDbGFzcyhRT1NfQ0xB
U1NfVVNFUl9JTklUSUFURUQpLCAwKTsKICNlbmRpZgorICAgIGlmIChzdGFja1NpemUpCisgICAg
ICAgIHB0aHJlYWRfYXR0cl9zZXRzdGFja3NpemUoJmF0dHIsIHN0YWNrU2l6ZS52YWx1ZSgpKTsK
ICAgICBpbnQgZXJyb3IgPSBwdGhyZWFkX2NyZWF0ZSgmdGhyZWFkSGFuZGxlLCAmYXR0ciwgd3Rm
VGhyZWFkRW50cnlQb2ludCwgY29udGV4dCk7CiAgICAgcHRocmVhZF9hdHRyX2Rlc3Ryb3koJmF0
dHIpOwogICAgIGlmIChlcnJvcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvd2luL1Ro
cmVhZGluZ1dpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vVGhyZWFkaW5nV2luLmNwcAppbmRl
eCAyMjRhYWMzN2E0OWUuLjEwMmE2NGU2YjRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
d2luL1RocmVhZGluZ1dpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dp
bi5jcHAKQEAgLTE1MywxMCArMTUzLDExIEBAIHN0YXRpYyB1bnNpZ25lZCBfX3N0ZGNhbGwgd3Rm
VGhyZWFkRW50cnlQb2ludCh2b2lkKiBkYXRhKQogICAgIHJldHVybiAwOwogfQogCi1ib29sIFRo
cmVhZDo6ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGRhdGEpCitib29sIFRocmVh
ZDo6ZXN0YWJsaXNoSGFuZGxlKE5ld1RocmVhZENvbnRleHQqIGRhdGEsIE9wdGlvbmFsPHNpemVf
dD4gc3RhY2tTaXplKQogewogICAgIHVuc2lnbmVkIHRocmVhZElkZW50aWZpZXIgPSAwOwotICAg
IEhBTkRMRSB0aHJlYWRIYW5kbGUgPSByZWludGVycHJldF9jYXN0PEhBTkRMRT4oX2JlZ2ludGhy
ZWFkZXgoMCwgMCwgd3RmVGhyZWFkRW50cnlQb2ludCwgZGF0YSwgMCwgJnRocmVhZElkZW50aWZp
ZXIpKTsKKyAgICB1bnNpZ25lZCBpbml0RmxhZyA9IHN0YWNrU2l6ZSA/IFNUQUNLX1NJWkVfUEFS
QU1fSVNfQV9SRVNFUlZBVElPTiA6IDA7CisgICAgSEFORExFIHRocmVhZEhhbmRsZSA9IHJlaW50
ZXJwcmV0X2Nhc3Q8SEFORExFPihfYmVnaW50aHJlYWRleCgwLCBzdGFja1NpemUudmFsdWVPcigw
KSwgd3RmVGhyZWFkRW50cnlQb2ludCwgZGF0YSwgaW5pdEZsYWcsICZ0aHJlYWRJZGVudGlmaWVy
KSk7CiAgICAgaWYgKCF0aHJlYWRIYW5kbGUpIHsKICAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQg
dG8gY3JlYXRlIHRocmVhZCBhdCBlbnRyeSBwb2ludCAlcCB3aXRoIGRhdGEgJXA6ICVsZCIsIHd0
ZlRocmVhZEVudHJ5UG9pbnQsIGRhdGEsIGVycm5vKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGFlYWY5NjdiMzhkMy4uOGQ2MmQyNzRmNGFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMjAtMDItMjYgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255
LmNvbT4KKworICAgICAgICBBbGxvdyBzZXR0aW5nIG9mIHN0YWNrIHNpemVzIGZvciB0aHJlYWRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDgyMjMK
KworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIFNwZWNpZnkg
VGhyZWFkVHlwZSBhdCB0aGUgVGhyZWFkOjpjcmVhdGUgY2FsbHNpdGUuCisKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0FzeW5jQXVkaW9EZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFzeW5jQXVkaW9EZWNvZGVyOjpBc3luY0F1ZGlvRGVjb2Rlcik6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6T2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpzdGFydFJlbmRlcmluZyk6CisgICAg
ICAgICogYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdD
Q29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbkFsdGVybmF0ZVRocmVhZEZvckRlYnVnZ2luZyk6
CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJldmVyYkNvbnZvbHZlcjo6UmV2ZXJiQ29udm9sdmVyKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL2NmL0xvYWRlclJ1bkxvb3BDRi5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpsb2FkZXJSdW5Mb29wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNl
SGFuZGxlQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnBsYXRm
b3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1
ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFJ1bkxvb3ApOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdFNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDdXJsUmVxdWVzdFNjaGVkdWxlcjo6c3RhcnRUaHJlYWRJZk5lZWRlZCk6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTdHJlYW1TY2hlZHVsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q3VybFN0cmVhbVNjaGVkdWxlcjo6c3RhcnRUaHJlYWRJZk5lZWRlZCk6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyVGhyZWFkOjpzdGFydCk6CisKIDIwMjAtMDItMjYgIEphY29iIFVwaG9mZiAgPGphY29iX3Vw
aG9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1NzM3
My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRp
b0RlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Bc3luY0F1ZGlv
RGVjb2Rlci5jcHAKaW5kZXggMmY1NDI3MmFjNWMwLi44YThiYjZiZTVhNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRpb0RlY29kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRpb0RlY29kZXIuY3Bw
CkBAIC00MSw3ICs0MSw3IEBAIEFzeW5jQXVkaW9EZWNvZGVyOjpBc3luY0F1ZGlvRGVjb2Rlcigp
CiAgICAgTG9ja0hvbGRlciBsb2NrKG1fdGhyZWFkQ3JlYXRpb25NdXRleCk7CiAgICAgbV90aHJl
YWQgPSBUaHJlYWQ6OmNyZWF0ZSgiQXVkaW8gRGVjb2RlciIsIFt0aGlzXSB7CiAgICAgICAgIHJ1
bkxvb3AoKTsKLSAgICB9KTsKKyAgICB9LCBUaHJlYWRUeXBlOjpBdWRpbyk7CiB9CiAKIEFzeW5j
QXVkaW9EZWNvZGVyOjp+QXN5bmNBdWRpb0RlY29kZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuY3BwCmluZGV4IGVmN2IzM2E4NmQ2NS4uNmExOTU1NDZjZjcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0
aW5hdGlvbk5vZGUuY3BwCkBAIC05Nyw3ICs5Nyw3IEBAIHZvaWQgT2ZmbGluZUF1ZGlvRGVzdGlu
YXRpb25Ob2RlOjpzdGFydFJlbmRlcmluZygpCiAgICAgICAgICAgICBjb250ZXh0KCkuZmluaXNo
ZWRSZW5kZXJpbmcoZGlkUmVuZGVyKTsKICAgICAgICAgICAgIGRlcmVmKCk7CiAgICAgICAgIH0p
OwotICAgIH0pOworICAgIH0sIFRocmVhZFR5cGU6OkF1ZGlvKTsKIH0KIAogYm9vbCBPZmZsaW5l
QXVkaW9EZXN0aW5hdGlvbk5vZGU6Om9mZmxpbmVSZW5kZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKaW5kZXggYzQ5ZmExYWJmOTcwLi44MzI3ODRhNGJl
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcApAQCAt
MTExLDcgKzExMSw3IEBAIHZvaWQgR0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE5vd0lmTm90
RG9uZVJlY2VudGx5KCkKIAogdm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0T25BbHRl
cm5hdGVUaHJlYWRGb3JEZWJ1Z2dpbmcoYm9vbCB3YWl0VW50aWxEb25lKQogewotICAgIGF1dG8g
dGhyZWFkID0gVGhyZWFkOjpjcmVhdGUoIldlYkNvcmU6IEdDQ29udHJvbGxlciIsICZjb2xsZWN0
KTsKKyAgICBhdXRvIHRocmVhZCA9IFRocmVhZDo6Y3JlYXRlKCJXZWJDb3JlOiBHQ0NvbnRyb2xs
ZXIiLCAmY29sbGVjdCwgVGhyZWFkVHlwZTo6R2FyYmFnZUNvbGxlY3Rpb24pOwogCiAgICAgaWYg
KHdhaXRVbnRpbERvbmUpIHsKICAgICAgICAgdGhyZWFkLT53YWl0Rm9yQ29tcGxldGlvbigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlci5jcHAK
aW5kZXggYTljOTM1YzFhMjg1Li5hMTJmMTY1NGUwNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyLmNwcApAQCAtMTIzLDcgKzEyMyw3IEBA
IFJldmVyYkNvbnZvbHZlcjo6UmV2ZXJiQ29udm9sdmVyKEF1ZGlvQ2hhbm5lbCogaW1wdWxzZVJl
c3BvbnNlLCBzaXplX3QgcmVuZGVyU2xpCiAgICAgaWYgKHRoaXMtPnVzZUJhY2tncm91bmRUaHJl
YWRzKCkgJiYgbV9iYWNrZ3JvdW5kU3RhZ2VzLnNpemUoKSA+IDApIHsKICAgICAgICAgbV9iYWNr
Z3JvdW5kVGhyZWFkID0gVGhyZWFkOjpjcmVhdGUoImNvbnZvbHV0aW9uIGJhY2tncm91bmQgdGhy
ZWFkIiwgW3RoaXNdIHsKICAgICAgICAgICAgIGJhY2tncm91bmRUaHJlYWRFbnRyeSgpOwotICAg
ICAgICB9KTsKKyAgICAgICAgfSwgVGhyZWFkVHlwZTo6QXVkaW8pOwogICAgIH0KIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29w
Q0YuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29w
Q0YuY3BwCmluZGV4IGNmZDZhYjBiYWVlYS4uZjYzM2ZlZDAxMDVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0xvYWRlclJ1bkxvb3BDRi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29wQ0YuY3BwCkBA
IC03NCw3ICs3NCw3IEBAIENGUnVuTG9vcFJlZiBsb2FkZXJSdW5Mb29wKCkKICAgICAgICAgICAg
ICAgICBBdXRvZHJhaW5lZFBvb2wgcG9vbDsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBDRlJ1
bkxvb3BSdW5Jbk1vZGUoa0NGUnVuTG9vcERlZmF1bHRNb2RlLCBzdGQ6Om51bWVyaWNfbGltaXRz
PGRvdWJsZT46Om1heCgpLCB0cnVlKTsKICAgICAgICAgICAgIH0gd2hpbGUgKHJlc3VsdCAhPSBr
Q0ZSdW5Mb29wUnVuU3RvcHBlZCAmJiByZXN1bHQgIT0ga0NGUnVuTG9vcFJ1bkZpbmlzaGVkKTsK
LSAgICAgICAgfSk7CisgICAgICAgIH0sIFRocmVhZFR5cGU6Ok5ldHdvcmspOwogCiAgICAgICAg
IGxvYWRlclJ1bkxvb3BDb25kaXRpb25WYXJpYWJsZS53YWl0KGxvY2ssIFtdIHsgcmV0dXJuIGxv
YWRlclJ1bkxvb3BPYmplY3Q7IH0pOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCmluZGV4IDMy
MmE4NDUwOGU1OS4uOTAwODFjYmVjMDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKQEAgLTU5NSw3
ICs1OTUsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNo
cm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleAogCiAgICAgICAgICAgICB3aGlsZSAo
dHJ1ZSkKICAgICAgICAgICAgICAgICBDRlJ1bkxvb3BSdW5Jbk1vZGUoa0NGUnVuTG9vcERlZmF1
bHRNb2RlLCAxRTMwLCB0cnVlKTsKLSAgICAgICAgfSk7CisgICAgICAgIH0sIFRocmVhZFR5cGU6
Ok5ldHdvcmspOwogICAgICAgICBzZW0ud2FpdCgpOwogICAgIH0KICAgICBDRlVSTENvbm5lY3Rp
b25TY2hlZHVsZVdpdGhSdW5Mb29wKGhhbmRsZS0+Y29ubmVjdGlvbigpLCBydW5Mb29wLCBrQ0ZS
dW5Mb29wRGVmYXVsdE1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJh
dGlvblF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3Vy
Y2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAKaW5k
ZXggOWQxZTljNDFiOTRmLi44MGQ4NjBlY2YyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0
ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlv
blF1ZXVlLmNwcApAQCAtMTE5LDcgKzExOSw3IEBAIHN0YXRpYyBDRlJ1bkxvb3BSZWYgZ2V0UnVu
TG9vcCgpCiAKICAgICAgICAgICAgIHdoaWxlICh0cnVlKQogICAgICAgICAgICAgICAgIENGUnVu
TG9vcFJ1bkluTW9kZShrQ0ZSdW5Mb29wRGVmYXVsdE1vZGUsIDFFMzAsIHRydWUpOwotICAgICAg
ICB9KTsKKyAgICAgICAgfSwgVGhyZWFkVHlwZTo6TmV0d29yayk7CiAgICAgICAgIHNlbS53YWl0
KCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybFJlcXVlc3RTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0U2NoZWR1bGVyLmNwcAppbmRleCAzYWE1ZjUyZGI2Mjcu
LjRkMDllNmI1YjdlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0N1cmxSZXF1ZXN0U2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3RTY2hlZHVsZXIuY3BwCkBAIC05Nyw3ICs5Nyw3
IEBAIHZvaWQgQ3VybFJlcXVlc3RTY2hlZHVsZXI6OnN0YXJ0VGhyZWFkSWZOZWVkZWQoKQogCiAg
ICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9tdXRleCk7CiAgICAgICAgIG1fcnVuVGhy
ZWFkID0gZmFsc2U7Ci0gICAgfSk7CisgICAgfSwgVGhyZWFkVHlwZTo6TmV0d29yayk7CiB9CiAK
IHZvaWQgQ3VybFJlcXVlc3RTY2hlZHVsZXI6OnN0b3BUaHJlYWRJZk5vTW9yZUpvYlJ1bm5pbmco
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxT
dHJlYW1TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L0N1cmxTdHJlYW1TY2hlZHVsZXIuY3BwCmluZGV4IDg0NThlM2MxNDE2Ny4uM2ZiODc1OTk4NGFh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFN0
cmVhbVNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL0N1cmxTdHJlYW1TY2hlZHVsZXIuY3BwCkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBDdXJs
U3RyZWFtU2NoZWR1bGVyOjpzdGFydFRocmVhZElmTmVlZGVkKCkKIAogICAgIG1fdGhyZWFkID0g
VGhyZWFkOjpjcmVhdGUoImN1cmxTdHJlYW1UaHJlYWQiLCBbdGhpc10gewogICAgICAgICB3b3Jr
ZXJUaHJlYWQoKTsKLSAgICB9KTsKKyAgICB9LCBUaHJlYWRUeXBlOjpOZXR3b3JrKTsKIH0KIAog
dm9pZCBDdXJsU3RyZWFtU2NoZWR1bGVyOjpzdG9wVGhyZWFkSWZOb01vcmVKb2JSdW5uaW5nKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCAwZjMxNThmNjE0MjIu
LjM2MTEzODcwNGE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApA
QCAtMTQ0LDcgKzE0NCw3IEBAIHZvaWQgV29ya2VyVGhyZWFkOjpzdGFydChXVEY6OkZ1bmN0aW9u
PHZvaWQoY29uc3QgU3RyaW5nJik+JiYgZXZhbHVhdGVDYWxsYmFjaykKIAogICAgIFJlZjxUaHJl
YWQ+IHRocmVhZCA9IFRocmVhZDo6Y3JlYXRlKGlzU2VydmljZVdvcmtlclRocmVhZCgpID8gIldl
YkNvcmU6IFNlcnZpY2UgV29ya2VyIiA6ICJXZWJDb3JlOiBXb3JrZXIiLCBbdGhpc10gewogICAg
ICAgICB3b3JrZXJUaHJlYWQoKTsKLSAgICB9KTsKKyAgICB9LCBUaHJlYWRUeXBlOjpKYXZhU2Ny
aXB0KTsKICAgICAvLyBGb3JjZSB0aGUgVGhyZWFkIG9iamVjdCB0byBiZSBpbml0aWFsaXplZCBm
dWxseSBiZWZvcmUgc3RvcmluZyBpdCB0byBtX3RocmVhZCAoYW5kIGJlY29taW5nIHZpc2libGUg
dG8gb3RoZXIgdGhyZWFkcykuCiAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKICAgICBtX3Ro
cmVhZCA9IFdURk1vdmUodGhyZWFkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOGYzOTdmMTg0ZDUzLi4zYTZiN2U1
ZjM2ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDItMjYgIERvbiBPbG1zdGVh
ZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KKworICAgICAgICBBbGxvdyBzZXR0aW5nIG9mIHN0
YWNrIHNpemVzIGZvciB0aHJlYWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDgyMjMKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtp
LgorCisgICAgICAgIFNwZWNpZnkgVGhyZWFkVHlwZSBhdCB0aGUgVGhyZWFkOjpjcmVhdGUgY2Fs
bHNpdGUuCisKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNv
bXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRl
UnVuTG9vcCk6CisKIDIwMjAtMDItMjYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU3NDcxLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0
b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHAKaW5k
ZXggNzE1ODU3YTY0ODE0Li44MjhjYjEwNzVhNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5n
UnVuTG9vcC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
cy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcApAQCAtNDcsNyArNDcs
NyBAQCBzdGF0aWMgUnVuTG9vcCogY3JlYXRlUnVuTG9vcCgpCiAgICAgICAgIHJ1bkxvb3AgPSAm
UnVuTG9vcDo6Y3VycmVudCgpOwogICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgICAg
IHJ1bkxvb3AtPnJ1bigpOwotICAgIH0pLT5kZXRhY2goKTsKKyAgICB9LCBUaHJlYWRUeXBlOjpH
cmFwaGljcyktPmRldGFjaCgpOwogICAgIHNlbWFwaG9yZS53YWl0KCk7CiAKICAgICByZXR1cm4g
cnVuTG9vcDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>