<?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>222539</bug_id>
          
          <creation_ts>2021-03-01 03:01:46 -0800</creation_ts>
          <short_desc>[JSC] Optimize getEnumerableLength</short_desc>
          <delta_ts>2021-03-02 15:34:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=135033</see_also>
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1734361</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-01 03:01:46 -0800</bug_when>
    <thetext>[JSC] Rename getEnumerableLength to getEnumerableLengthTracingJSProxy, and remove indirect call of getEnumerableLength</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734362</commentid>
    <comment_count>1</comment_count>
      <attachid>421802</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-01 03:07:34 -0800</bug_when>
    <thetext>Created attachment 421802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734367</commentid>
    <comment_count>2</comment_count>
      <attachid>421803</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-01 03:46:11 -0800</bug_when>
    <thetext>Created attachment 421803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734368</commentid>
    <comment_count>3</comment_count>
      <attachid>421804</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-01 03:48:22 -0800</bug_when>
    <thetext>Created attachment 421804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734369</commentid>
    <comment_count>4</comment_count>
      <attachid>421805</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-01 03:50:22 -0800</bug_when>
    <thetext>Created attachment 421805
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734370</commentid>
    <comment_count>5</comment_count>
      <attachid>421806</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-01 03:57:59 -0800</bug_when>
    <thetext>Created attachment 421806
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734372</commentid>
    <comment_count>6</comment_count>
      <attachid>421807</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-01 04:07:05 -0800</bug_when>
    <thetext>Created attachment 421807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734424</commentid>
    <comment_count>7</comment_count>
      <attachid>421807</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-03-01 08:14:54 -0800</bug_when>
    <thetext>Comment on attachment 421807
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:8
&gt; +        Now getEnumerableLength is only overridden by JSProxy. And this is called in the critical path of propertyNameEnumerator.

1. I am pretty sure we can remove JSProxy handling from getEnumerableLength() because it won&apos;t hit fast path of for/in anyway: canAccessPropertiesQuicklyForEnumeration() will reject it due to overriden getOwnPropertyNames().
2. We can&apos;t optimize access to JSProxy&apos;s indices as they are handled in JSDOMWindow::getOwnPropertySlotByIndex().
3. For/in over window is super slow anyway, as it yield a lot of event handler properties etc, and doesn&apos;t seem like a case we should optimize for.
4. I believe we can optimize enumeration for StringObject / Arguments / TypedArray via getEnumerableLength() overrides, but can we (relatively easily) speed up indexed access for them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735000</commentid>
    <comment_count>8</comment_count>
      <attachid>421807</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-02 13:40:21 -0800</bug_when>
    <thetext>Comment on attachment 421807
Patch

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

&gt;&gt; Source/JavaScriptCore/ChangeLog:8
&gt;&gt; +        Now getEnumerableLength is only overridden by JSProxy. And this is called in the critical path of propertyNameEnumerator.
&gt; 
&gt; 1. I am pretty sure we can remove JSProxy handling from getEnumerableLength() because it won&apos;t hit fast path of for/in anyway: canAccessPropertiesQuicklyForEnumeration() will reject it due to overriden getOwnPropertyNames().
&gt; 2. We can&apos;t optimize access to JSProxy&apos;s indices as they are handled in JSDOMWindow::getOwnPropertySlotByIndex().
&gt; 3. For/in over window is super slow anyway, as it yield a lot of event handler properties etc, and doesn&apos;t seem like a case we should optimize for.
&gt; 4. I believe we can optimize enumeration for StringObject / Arguments / TypedArray via getEnumerableLength() overrides, but can we (relatively easily) speed up indexed access for them?

Thanks,

1, 2, 3: Sounds good. I&apos;ll remove JSProxy chasing part.
4. I think they are rare enough, so we could support with TypeInfo flag in the future. For now, my plan is just keeping it as is (not optimized yet).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735002</commentid>
    <comment_count>9</comment_count>
      <attachid>421807</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-02 13:41:50 -0800</bug_when>
    <thetext>Comment on attachment 421807
Patch

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

&gt;&gt;&gt; Source/JavaScriptCore/ChangeLog:8
&gt;&gt;&gt; +        Now getEnumerableLength is only overridden by JSProxy. And this is called in the critical path of propertyNameEnumerator.
&gt;&gt; 
&gt;&gt; 1. I am pretty sure we can remove JSProxy handling from getEnumerableLength() because it won&apos;t hit fast path of for/in anyway: canAccessPropertiesQuicklyForEnumeration() will reject it due to overriden getOwnPropertyNames().
&gt;&gt; 2. We can&apos;t optimize access to JSProxy&apos;s indices as they are handled in JSDOMWindow::getOwnPropertySlotByIndex().
&gt;&gt; 3. For/in over window is super slow anyway, as it yield a lot of event handler properties etc, and doesn&apos;t seem like a case we should optimize for.
&gt;&gt; 4. I believe we can optimize enumeration for StringObject / Arguments / TypedArray via getEnumerableLength() overrides, but can we (relatively easily) speed up indexed access for them?
&gt; 
&gt; Thanks,
&gt; 
&gt; 1, 2, 3: Sounds good. I&apos;ll remove JSProxy chasing part.
&gt; 4. I think they are rare enough, so we could support with TypeInfo flag in the future. For now, my plan is just keeping it as is (not optimized yet).

For typed-array case, we could just extend the support by using canGetIndexQuickly like feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735004</commentid>
    <comment_count>10</comment_count>
      <attachid>421988</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-02 13:43:39 -0800</bug_when>
    <thetext>Created attachment 421988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735010</commentid>
    <comment_count>11</comment_count>
      <attachid>421992</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-02 13:49:31 -0800</bug_when>
    <thetext>Created attachment 421992
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735015</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-03-02 13:55:24 -0800</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #9)
&gt; For typed-array case, we could just extend the support by using canGetIndexQuickly like feature.

Yeah, we don&apos;t need getEnumerableLength() in a method table for that.
Regarding other objects: we can&apos;t optimize indexed access for them via IndexedForInContext, only enumeration, which won&apos;t benefit much + they are rare.

Fast for/in for TypedArray can be tracked in https://bugs.webkit.org/show_bug.cgi?id=135033.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735072</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-02 15:33:48 -0800</bug_when>
    <thetext>Committed r273766: &lt;https://commits.webkit.org/r273766&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421992.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735075</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-02 15:34:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/74952502&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421802</attachid>
            <date>2021-03-01 03:07:34 -0800</date>
            <delta_ts>2021-03-01 03:46:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222539-20210301030733.patch</filename>
            <type>text/plain</type>
            <size>9874</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NGU5YWZjYWQyMDAyMDUzMzZlOGY1MzE5NzhmZTFjNmE4ZGU2ZGViLi44ODk2NjAxOTRjNTg5ZmU3
ZDQ0ZTU3NWE1M2Y5Njk2ZWY4NWE0NjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAyMS0wMy0wMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbmFtZSBnZXRFbnVtZXJhYmxlTGVuZ3RoIHRvIGdldEVudW1l
cmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eSwgYW5kIHJlbW92ZSBpbmRpcmVjdCBjYWxsIG9mIGdl
dEVudW1lcmFibGVMZW5ndGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjUzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vdyBnZXRFbnVtZXJhYmxlTGVuZ3RoIGlzIG9ubHkgb3ZlcnJpZGRlbiBieSBK
U1Byb3h5LiBBbmQgdGhpcyBpcyBjYWxsZWQgaW4gdGhlIGNyaXRpY2FsIHBhdGggb2YgcHJvcGVy
dHlOYW1lRW51bWVyYXRvci4KKyAgICAgICAgV2Ugc2hvdWxkIG5vdCB1c2UgaW5kaXJlY3QgY2Fs
bCBmb3IgZ2V0RW51bWVyYWJsZUxlbmd0aC4gSW4gdGhpcyBwYXRjaCwgd2UgYWRkIEpTUHJveHkg
dHJhY2luZyBpbnRvIGdldEVudW1lcmFibGVMZW5ndGgsCisgICAgICAgIHJlbmFtZSBnZXRFbnVt
ZXJhYmxlTGVuZ3RoIHRvIGdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eSwgYW5kIGRp
cmVjdGx5IGNhbGwgaXQuCisKKyAgICAgICAgKiBydW50aW1lL0NsYXNzSW5mby5oOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNDZWxsLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDZWxsOjpnZXRFbnVtZXJh
YmxlTGVuZ3RoKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5oOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0RW51
bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Omdl
dEVudW1lcmFibGVMZW5ndGgpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3Qu
aDoKKyAgICAgICAgKiBydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHA6CisgICAg
ICAgIChKU0M6OmdldEVudW1lcmFibGVQcm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKiBydW50aW1l
L0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oOgorICAgICAgICAoSlNDOjpwcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yKToKKyAgICAgICAgKiBydW50aW1lL0pTUHJveHkuY3BwOgorICAgICAgICAoSlND
OjpKU1Byb3h5OjpnZXRFbnVtZXJhYmxlTGVuZ3RoKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50
aW1lL0pTUHJveHkuaDoKKwogMjAyMS0wMi0yOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBw
bGUuY29tPgogCiAgICAgICAgIFtKU0NdIEFkZCBnYyBhbmQgY2xlYXJLZXB0T2JqZWN0cyB0byAk
MjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCmluZGV4IDhiMGM3
YTA1YzcxMTk3Yzg0MzAwZjkxNzA2ZjIxYjE5YTdmZDhhNDIuLmQ3ODlhN2U3MDI2NjVkZmM1MDli
MjQwYmRhOWJlNzY2MDFhMjU4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NsYXNzSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Ns
YXNzSW5mby5oCkBAIC04MSw5ICs4MSw2IEBAIHN0cnVjdCBNZXRob2RUYWJsZSB7CiAgICAgR2V0
T3duUHJvcGVydHlOYW1lc0Z1bmN0aW9uUHRyIE1FVEhPRF9UQUJMRV9FTlRSWShnZXRPd25Qcm9w
ZXJ0eU5hbWVzKTsKICAgICBHZXRPd25Qcm9wZXJ0eU5hbWVzRnVuY3Rpb25QdHIgTUVUSE9EX1RB
QkxFX0VOVFJZKGdldE93blNwZWNpYWxQcm9wZXJ0eU5hbWVzKTsKIAotICAgIHVzaW5nIEdldEVu
dW1lcmFibGVMZW5ndGhGdW5jdGlvblB0ciA9IHVpbnQzMl90ICgqKShKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0Kik7Ci0gICAgR2V0RW51bWVyYWJsZUxlbmd0aEZ1bmN0aW9uUHRyIE1FVEhPRF9U
QUJMRV9FTlRSWShnZXRFbnVtZXJhYmxlTGVuZ3RoKTsKLQogICAgIHVzaW5nIENsYXNzTmFtZUZ1
bmN0aW9uUHRyID0gU3RyaW5nICgqKShjb25zdCBKU09iamVjdCosIFZNJik7CiAgICAgQ2xhc3NO
YW1lRnVuY3Rpb25QdHIgTUVUSE9EX1RBQkxFX0VOVFJZKGNsYXNzTmFtZSk7CiAKQEAgLTE3Miw3
ICsxNjksNiBAQCBzdHJ1Y3QgTWV0aG9kVGFibGUgewogICAgICAgICAmQ2xhc3NOYW1lOjpkZWZh
dWx0VmFsdWUsIFwKICAgICAgICAgJkNsYXNzTmFtZTo6Z2V0T3duUHJvcGVydHlOYW1lcywgXAog
ICAgICAgICAmQ2xhc3NOYW1lOjpnZXRPd25TcGVjaWFsUHJvcGVydHlOYW1lcywgXAotICAgICAg
ICAmQ2xhc3NOYW1lOjpnZXRFbnVtZXJhYmxlTGVuZ3RoLCBcCiAgICAgICAgICZDbGFzc05hbWU6
OmNsYXNzTmFtZSwgXAogICAgICAgICAmQ2xhc3NOYW1lOjp0b1N0cmluZ05hbWUsIFwKICAgICAg
ICAgJkNsYXNzTmFtZTo6Y3VzdG9tSGFzSW5zdGFuY2UsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuY3BwCmluZGV4IGM0N2ZlYzA2MGQ5Mjk5YmE5MTMyNzU4ZTZkNjI4Zjgy
ZTc4ZmFmYzMuLjEwY2U3YWZlM2IzOTkwMDA1NzU5YzMzM2UzMjYyZTUxMmU5ODI3Y2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAtMjQ1LDEyICsyNDUsNiBA
QCBib29sIEpTQ2VsbDo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVj
dCosIFByb3BlcnR5TmFtZSwgY29uc3QgUAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdWludDMy
X3QgSlNDZWxsOjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3Qq
KQotewotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19
Ci0KIGJvb2wgSlNDZWxsOjpwcmV2ZW50RXh0ZW5zaW9ucyhKU09iamVjdCosIEpTR2xvYmFsT2Jq
ZWN0KikKIHsKICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCBmYTI3MDRlY2U4ZjM0ZmJlMzM0MGVhNmExODI4
ZjBhOTEwNWJmNGI1Li4wMzg1MTMzYTJmYjc1OWEzMTI3NGRmZWY0Zjg2YjVhYzIzNDU2ZDUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMjQ4LDcgKzI0OCw2IEBA
IGNsYXNzIEpTQ2VsbCA6IHB1YmxpYyBIZWFwQ2VsbCB7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9E
VUVfVE9fQ1JBU0ggdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiwgSlNHbG9iYWxP
YmplY3QqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIERvbnRFbnVtUHJvcGVydGllc01vZGUpOwogICAg
IHN0YXRpYyBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIHZvaWQgZ2V0T3duU3BlY2lhbFByb3BlcnR5
TmFtZXMoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRG9u
dEVudW1Qcm9wZXJ0aWVzTW9kZSk7CiAKLSAgICBzdGF0aWMgdWludDMyX3QgZ2V0RW51bWVyYWJs
ZUxlbmd0aChKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0Kik7CiAgICAgc3RhdGljIE5PX1JFVFVS
Tl9EVUVfVE9fQ1JBU0ggYm9vbCBwcmV2ZW50RXh0ZW5zaW9ucyhKU09iamVjdCosIEpTR2xvYmFs
T2JqZWN0Kik7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggYm9vbCBpc0V4dGVu
c2libGUoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCopOwogICAgIHN0YXRpYyBOT19SRVRVUk5f
RFVFX1RPX0NSQVNIIGJvb2wgc2V0UHJvdG90eXBlKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3Qq
LCBKU1ZhbHVlLCBib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmNwcAppbmRleCBhNzE3YjliZjJiZmNjYzAzOTZiNjJkZDdiMzZiMTE0MjgxMDhjZjdmLi42OTg3
Yzc3ZGI0MGUyOTVkYTIzZDZiMTg0ZGI2ZjkwMzE0ZjFiNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBAIC0zNzU0LDkgKzM3NTQsMTQgQEAgdm9pZCBK
U09iamVjdDo6c2hpZnRCdXR0ZXJmbHlBZnRlckZsYXR0ZW5pbmcoY29uc3QgR0NTYWZlQ29uY3Vy
cmVudEpTTG9ja2VyJiwgVk0KICAgICBzZXRCdXR0ZXJmbHkodm0sIG5ld0J1dHRlcmZseSk7CiB9
CiAKLXVpbnQzMl90IEpTT2JqZWN0OjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QpCit1aW50MzJfdCBKU09iamVjdDo6Z2V0
RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIEpTT2JqZWN0KiBv
YmplY3QgPSB0aGlzOworCisgICAgd2hpbGUgKG9iamVjdC0+aW5oZXJpdHM8SlNQcm94eT4odm0p
KQorICAgICAgICBvYmplY3QgPSBqc0Nhc3Q8SlNQcm94eSo+KG9iamVjdCktPnRhcmdldCgpOwor
CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7CiAgICAg
aWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpKQog
ICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5o
CmluZGV4IGM5ODllODk2YWYzZDE0NzliMmQwZTU2MDMyNjdkNTg5ZDA1MzJkMjIuLmRlNWE4ZTAx
ODc3YjFjNDRhOTEwMDRlMGUxYTVjOWI2YjQyZGYxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuaApAQCAtNjg1LDcgKzY4NSw3IEBAIGNsYXNzIEpTT2JqZWN0IDog
cHVibGljIEpTQ2VsbCB7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBnZXRPd25Ob25JbmRl
eFByb3BlcnR5TmFtZXMoSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIERvbnRF
bnVtUHJvcGVydGllc01vZGUpOwogICAgIHZvaWQgZ2V0Tm9uUmVpZmllZFN0YXRpY1Byb3BlcnR5
TmFtZXMoVk0mLCBQcm9wZXJ0eU5hbWVBcnJheSYsIERvbnRFbnVtUHJvcGVydGllc01vZGUpOwog
Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHVpbnQzMl90IGdldEVudW1lcmFibGVMZW5n
dGgoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCopOworICAgIEpTX0VYUE9SVF9QUklWQVRFIHVp
bnQzMl90IGdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eShKU0dsb2JhbE9iamVjdCop
OwogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNWYWx1ZSB0b1ByaW1pdGl2ZShKU0dsb2JhbE9i
amVjdCosIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUgPSBOb1ByZWZlcmVuY2UpIGNvbnN0OwogICAg
IEpTX0VYUE9SVF9QUklWQVRFIGRvdWJsZSB0b051bWJlcihKU0dsb2JhbE9iamVjdCopIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVy
dHlOYW1lRW51bWVyYXRvci5jcHAKaW5kZXggOGE1YjY5YzVlOTVkMDJmZTRhNWJhYzdiZWNlODcx
MTdlZmE0ZDg3NC4uZTRmYjhlMGVjNjhjNDA5Mjg4OTk3YmI4MzkzNGQzMjExODdmNjk1NyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3IuY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAgdm9pZCBnZXRFbnVtZXJhYmxl
UHJvcGVydHlOYW1lcyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYmFz
ZSwgUHIKICAgICB9IGVsc2UgewogICAgICAgICBnZXRPd25Qcm9wZXJ0eU5hbWVzKGJhc2UpOwog
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgICAgICAvLyB8
cHJvcGVydHlOYW1lc3wgY29udGFpbnMgYWxsIGluZGV4ZWQgcHJvcGVydGllcywgc28gZGlzYWJs
ZSBlbnVtZXJhdGlvbiBiYXNlZCBvbiBnZXRFbnVtZXJhYmxlTGVuZ3RoKCkuCisgICAgICAgIC8v
IHxwcm9wZXJ0eU5hbWVzfCBjb250YWlucyBhbGwgaW5kZXhlZCBwcm9wZXJ0aWVzLCBzbyBkaXNh
YmxlIGVudW1lcmF0aW9uIGJhc2VkIG9uIGdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5nSlNQcm94
eSgpLgogICAgICAgICBpbmRleGVkTGVuZ3RoID0gMDsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgK
aW5kZXggYTE4NGQ5ZDNkMjM4NTVkNjY2ODcyMTAyZjMyODY4MjA0NzY4YTJjNS4uMTVmNDNkYTAx
NWQ2ZmIxZTc0N2RmNzFiNTNjYjgwYTZkMDUzY2E5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgKQEAgLTEw
OCw3ICsxMDgsNyBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYgogICAgIFZNJiB2bSA9IGdldFZN
KGdsb2JhbE9iamVjdCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OwogCi0gICAgdWludDMyX3QgaW5kZXhlZExlbmd0aCA9IGJhc2UtPm1ldGhvZFRhYmxlKHZtKS0+
Z2V0RW51bWVyYWJsZUxlbmd0aChnbG9iYWxPYmplY3QsIGJhc2UpOworICAgIHVpbnQzMl90IGlu
ZGV4ZWRMZW5ndGggPSBiYXNlLT5nZXRFbnVtZXJhYmxlTGVuZ3RoVHJhY2luZ0pTUHJveHkoZ2xv
YmFsT2JqZWN0KTsKIAogICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogZW51bWVyYXRvciA9
IG51bGxwdHI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
UHJveHkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm94eS5jcHAKaW5k
ZXggMzc2NjgxNTVjMzRkODU2MTQ4Mjc2MjAzM2I0NmE2OThkYjVmYmE0Yy4uMjhmNjc1ZTBlODRk
ZDhjZDU0MDljZWJlN2Y5OGI5NTllM2JhYzNjZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNQcm94eS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNQcm94eS5jcHAKQEAgLTExOCwxMiArMTE4LDYgQEAgYm9vbCBKU1Byb3h5OjpkZWxl
dGVQcm9wZXJ0eUJ5SW5kZXgoSlNDZWxsKiBjZWxsLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LAogICAgIHJldHVybiB0aGlzT2JqZWN0LT50YXJnZXQoKS0+bWV0aG9kVGFibGUoZ2xvYmFs
T2JqZWN0LT52bSgpKS0+ZGVsZXRlUHJvcGVydHlCeUluZGV4KHRoaXNPYmplY3QtPnRhcmdldCgp
LCBnbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSk7CiB9CiAKLXVpbnQzMl90IEpTUHJveHk6Omdl
dEVudW1lcmFibGVMZW5ndGgoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3Qq
IG9iamVjdCkKLXsKLSAgICBKU1Byb3h5KiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTUHJveHkqPihv
YmplY3QpOwotICAgIHJldHVybiB0aGlzT2JqZWN0LT50YXJnZXQoKS0+bWV0aG9kVGFibGUoZ2xv
YmFsT2JqZWN0LT52bSgpKS0+Z2V0RW51bWVyYWJsZUxlbmd0aChnbG9iYWxPYmplY3QsIHRoaXNP
YmplY3QtPnRhcmdldCgpKTsKLX0KLQogdm9pZCBKU1Byb3h5OjpnZXRPd25Qcm9wZXJ0eU5hbWVz
KEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFByb3BlcnR5
TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBEb250RW51bVByb3BlcnRpZXNNb2RlIG1vZGUpCiB7
CiAgICAgSlNQcm94eSogdGhpc09iamVjdCA9IGpzQ2FzdDxKU1Byb3h5Kj4ob2JqZWN0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuaAppbmRleCA2M2MyMmFhOTYxMjg2YWMz
OGExM2EzODZhYTE1MmQ5YzU3MWYwZDc3Li41NThmNjZmYzA2NzRmOTIwZmQxYWJmYzhjMWNlOGJj
YzAwYWY1NGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1By
b3h5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm94eS5oCkBAIC05
Niw3ICs5Niw2IEBAIGNsYXNzIEpTUHJveHkgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwg
SlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWUsIERlbGV0ZVByb3BlcnR5U2xvdCYpOwogICAg
IEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5QnlJbmRleChKU0Nl
bGwqLCBKU0dsb2JhbE9iamVjdCosIHVuc2lnbmVkKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBz
dGF0aWMgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3Qq
LCBQcm9wZXJ0eU5hbWVBcnJheSYsIERvbnRFbnVtUHJvcGVydGllc01vZGUpOwotICAgIEpTX0VY
UE9SVF9QUklWQVRFIHN0YXRpYyB1aW50MzJfdCBnZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFs
T2JqZWN0KiwgSlNPYmplY3QqKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBk
ZWZpbmVPd25Qcm9wZXJ0eShKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0KiwgUHJvcGVydHlOYW1l
LCBjb25zdCBQcm9wZXJ0eURlc2NyaXB0b3ImLCBib29sIHNob3VsZFRocm93KTsKICAgICBKU19F
WFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBzZXRQcm90b3R5cGUoSlNPYmplY3QqLCBKU0dsb2Jh
bE9iamVjdCosIEpTVmFsdWUsIGJvb2wgc2hvdWxkVGhyb3dJZkNhbnRTZXQpOwogICAgIEpTX0VY
UE9SVF9QUklWQVRFIHN0YXRpYyBKU1ZhbHVlIGdldFByb3RvdHlwZShKU09iamVjdCosIEpTR2xv
YmFsT2JqZWN0Kik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421803</attachid>
            <date>2021-03-01 03:46:11 -0800</date>
            <delta_ts>2021-03-01 03:48:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222539-20210301034610.patch</filename>
            <type>text/plain</type>
            <size>12570</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NGU5YWZjYWQyMDAyMDUzMzZlOGY1MzE5NzhmZTFjNmE4ZGU2ZGViLi5lMTU4YWU3YWY1YjQ4Zjc4
ZTJjMWIwNGQ4N2RhYmNkNjA2M2QwMzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAyMS0wMy0wMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbmFtZSBnZXRFbnVtZXJhYmxlTGVuZ3RoIHRvIGdldEVudW1l
cmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eSwgYW5kIHJlbW92ZSBpbmRpcmVjdCBjYWxsIG9mIGdl
dEVudW1lcmFibGVMZW5ndGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjUzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vdyBnZXRFbnVtZXJhYmxlTGVuZ3RoIGlzIG9ubHkgb3ZlcnJpZGRlbiBieSBK
U1Byb3h5LiBBbmQgdGhpcyBpcyBjYWxsZWQgaW4gdGhlIGNyaXRpY2FsIHBhdGggb2YgcHJvcGVy
dHlOYW1lRW51bWVyYXRvci4KKyAgICAgICAgV2Ugc2hvdWxkIG5vdCB1c2UgaW5kaXJlY3QgY2Fs
bCBmb3IgZ2V0RW51bWVyYWJsZUxlbmd0aC4gSW4gdGhpcyBwYXRjaCwgd2UgYWRkIEpTUHJveHkg
dHJhY2luZyBpbnRvIGdldEVudW1lcmFibGVMZW5ndGgsCisgICAgICAgIHJlbmFtZSBnZXRFbnVt
ZXJhYmxlTGVuZ3RoIHRvIGdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eSwgYW5kIGRp
cmVjdGx5IGNhbGwgaXQuCisKKyAgICAgICAgV2UgYWxzbyBhdm9pZCBjYWxsaW5nIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSBpbiBnZXRFbnVtZXJhYmxlTGVuZ3RoVHJhY2luZ0pTUHJveHkg
d2hlbiBpdCBpcyBtZWFuaW5nbGVzcy4gRm9yIGV4YW1wbGUsCisgICAgICAgIGlmIHRoZSBvYmpl
Y3QgaXMgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTLCB0aGVuIHJlZ2FyZGxlc3Mgb2YgdGhlIGNv
bmRpdGlvbiBvZiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUsIHRoZSByZXN1bHQgb2YKKyAg
ICAgICAgZ2V0RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5IGlzIHplcm8uCisKKyAgICAg
ICAgKiBydW50aW1lL0NsYXNzSW5mby5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmNwcDoK
KyAgICAgICAgKEpTQzo6SlNDZWxsOjpnZXRFbnVtZXJhYmxlTGVuZ3RoKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBydW50aW1lL0pTQ2VsbC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3Bw
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1By
b3h5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgpOiBEZWxl
dGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pT
UHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OmdldEVudW1lcmFibGVQ
cm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKiBydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRv
ci5oOgorICAgICAgICAoSlNDOjpwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKToKKyAgICAgICAgKiBy
dW50aW1lL0pTUHJveHkuY3BwOgorICAgICAgICAoSlNDOjpKU1Byb3h5OjpnZXRFbnVtZXJhYmxl
TGVuZ3RoKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0pTUHJveHkuaDoKKwogMjAyMS0w
Mi0yOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0Nd
IEFkZCBnYyBhbmQgY2xlYXJLZXB0T2JqZWN0cyB0byAkMjYyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NsYXNzSW5mby5oCmluZGV4IDhiMGM3YTA1YzcxMTk3Yzg0MzAwZjkxNzA2ZjIx
YjE5YTdmZDhhNDIuLmQ3ODlhN2U3MDI2NjVkZmM1MDliMjQwYmRhOWJlNzY2MDFhMjU4NWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCkBAIC04MSw5ICs4MSw2
IEBAIHN0cnVjdCBNZXRob2RUYWJsZSB7CiAgICAgR2V0T3duUHJvcGVydHlOYW1lc0Z1bmN0aW9u
UHRyIE1FVEhPRF9UQUJMRV9FTlRSWShnZXRPd25Qcm9wZXJ0eU5hbWVzKTsKICAgICBHZXRPd25Q
cm9wZXJ0eU5hbWVzRnVuY3Rpb25QdHIgTUVUSE9EX1RBQkxFX0VOVFJZKGdldE93blNwZWNpYWxQ
cm9wZXJ0eU5hbWVzKTsKIAotICAgIHVzaW5nIEdldEVudW1lcmFibGVMZW5ndGhGdW5jdGlvblB0
ciA9IHVpbnQzMl90ICgqKShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0Kik7Ci0gICAgR2V0RW51
bWVyYWJsZUxlbmd0aEZ1bmN0aW9uUHRyIE1FVEhPRF9UQUJMRV9FTlRSWShnZXRFbnVtZXJhYmxl
TGVuZ3RoKTsKLQogICAgIHVzaW5nIENsYXNzTmFtZUZ1bmN0aW9uUHRyID0gU3RyaW5nICgqKShj
b25zdCBKU09iamVjdCosIFZNJik7CiAgICAgQ2xhc3NOYW1lRnVuY3Rpb25QdHIgTUVUSE9EX1RB
QkxFX0VOVFJZKGNsYXNzTmFtZSk7CiAKQEAgLTE3Miw3ICsxNjksNiBAQCBzdHJ1Y3QgTWV0aG9k
VGFibGUgewogICAgICAgICAmQ2xhc3NOYW1lOjpkZWZhdWx0VmFsdWUsIFwKICAgICAgICAgJkNs
YXNzTmFtZTo6Z2V0T3duUHJvcGVydHlOYW1lcywgXAogICAgICAgICAmQ2xhc3NOYW1lOjpnZXRP
d25TcGVjaWFsUHJvcGVydHlOYW1lcywgXAotICAgICAgICAmQ2xhc3NOYW1lOjpnZXRFbnVtZXJh
YmxlTGVuZ3RoLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmNsYXNzTmFtZSwgXAogICAgICAgICAm
Q2xhc3NOYW1lOjp0b1N0cmluZ05hbWUsIFwKICAgICAgICAgJkNsYXNzTmFtZTo6Y3VzdG9tSGFz
SW5zdGFuY2UsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Q2VsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4
IGM0N2ZlYzA2MGQ5Mjk5YmE5MTMyNzU4ZTZkNjI4ZjgyZTc4ZmFmYzMuLjEwY2U3YWZlM2IzOTkw
MDA1NzU5YzMzM2UzMjYyZTUxMmU5ODI3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDZWxsLmNwcApAQCAtMjQ1LDEyICsyNDUsNiBAQCBib29sIEpTQ2VsbDo6ZGVmaW5lT3du
UHJvcGVydHkoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgY29uc3Qg
UAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdWludDMyX3QgSlNDZWxsOjpnZXRFbnVtZXJhYmxl
TGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqKQotewotICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIGJvb2wgSlNDZWxsOjpwcmV2ZW50
RXh0ZW5zaW9ucyhKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0KikKIHsKICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApp
bmRleCBmYTI3MDRlY2U4ZjM0ZmJlMzM0MGVhNmExODI4ZjBhOTEwNWJmNGI1Li4wMzg1MTMzYTJm
Yjc1OWEzMTI3NGRmZWY0Zjg2YjVhYzIzNDU2ZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NlbGwuaApAQCAtMjQ4LDcgKzI0OCw2IEBAIGNsYXNzIEpTQ2VsbCA6IHB1YmxpYyBI
ZWFwQ2VsbCB7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggdm9pZCBnZXRPd25Q
cm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWVBcnJh
eSYsIERvbnRFbnVtUHJvcGVydGllc01vZGUpOwogICAgIHN0YXRpYyBOT19SRVRVUk5fRFVFX1RP
X0NSQVNIIHZvaWQgZ2V0T3duU3BlY2lhbFByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBKU0dsb2Jh
bE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7CiAK
LSAgICBzdGF0aWMgdWludDMyX3QgZ2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0Kik7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggYm9vbCBwcmV2
ZW50RXh0ZW5zaW9ucyhKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgc3RhdGljIE5P
X1JFVFVSTl9EVUVfVE9fQ1JBU0ggYm9vbCBpc0V4dGVuc2libGUoSlNPYmplY3QqLCBKU0dsb2Jh
bE9iamVjdCopOwogICAgIHN0YXRpYyBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIGJvb2wgc2V0UHJv
dG90eXBlKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlLCBib29sKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCBhNzE3YjliZjJiZmNj
YzAzOTZiNjJkZDdiMzZiMTE0MjgxMDhjZjdmLi45YTdlYzY5YzQxOWEyZDNiZjUwYjkzMjQ2ZGMz
MTJiNDlmMmJmYTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
Y3BwCkBAIC0zNzU0LDM3ICszNzU0LDQ0IEBAIHZvaWQgSlNPYmplY3Q6OnNoaWZ0QnV0dGVyZmx5
QWZ0ZXJGbGF0dGVuaW5nKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFZNCiAgICAg
c2V0QnV0dGVyZmx5KHZtLCBuZXdCdXR0ZXJmbHkpOwogfQogCi11aW50MzJfdCBKU09iamVjdDo6
Z2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVj
dCogb2JqZWN0KQordWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5n
SlNQcm94eShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3Ry
dWN0dXJlKHZtKTsKLSAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUodm0sIG9iamVjdCkpCi0gICAgICAgIHJldHVybiAwOworICAgIEpTT2JqZWN0KiBvYmplY3Qg
PSB0aGlzOworCisgICAgd2hpbGUgKG9iamVjdC0+aW5oZXJpdHM8SlNQcm94eT4odm0pKQorICAg
ICAgICBvYmplY3QgPSBqc0Nhc3Q8SlNQcm94eSo+KG9iamVjdCktPnRhcmdldCgpOworCiAgICAg
c3dpdGNoIChvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5E
RVhJTkdfVFlQRVM6CiAgICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgorICAg
ICAgICAvLyBSZWdhcmRsZXNzIG9mIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSBjb25kaXRp
b24sIGl0IHJldHVybnMgemVyby4KICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIAogICAgIGNh
c2UgQUxMX0lOVDMyX0lOREVYSU5HX1RZUEVTOgogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5E
RVhJTkdfVFlQRVM6IHsKICAgICAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHkgPSBvYmplY3QtPmJ1
dHRlcmZseSgpOwotICAgICAgICB1bnNpZ25lZCB1c2VkTGVuZ3RoID0gYnV0dGVyZmx5LT5wdWJs
aWNMZW5ndGgoKTsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRMZW5ndGg7
ICsraSkgeworICAgICAgICB1bnNpZ25lZCBlbnVtZXJhYmxlTGVuZ3RoID0gYnV0dGVyZmx5LT5w
dWJsaWNMZW5ndGgoKTsKKyAgICAgICAgaWYgKGVudW1lcmFibGVMZW5ndGggJiYgb2JqZWN0LT5z
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCisg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVu
dW1lcmFibGVMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgaWYgKCFidXR0ZXJmbHktPmNvbnRp
Z3VvdXMoKS5hdChvYmplY3QsIGkpKQogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAg
ICB9Ci0gICAgICAgIHJldHVybiB1c2VkTGVuZ3RoOworICAgICAgICByZXR1cm4gZW51bWVyYWJs
ZUxlbmd0aDsKICAgICB9CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RPVUJMRV9JTkRFWElOR19U
WVBFUzogewogICAgICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseSA9IG9iamVjdC0+YnV0dGVyZmx5
KCk7Ci0gICAgICAgIHVuc2lnbmVkIHVzZWRMZW5ndGggPSBidXR0ZXJmbHktPnB1YmxpY0xlbmd0
aCgpOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXNlZExlbmd0aDsgKytpKSB7
CisgICAgICAgIHVuc2lnbmVkIGVudW1lcmFibGVMZW5ndGggPSBidXR0ZXJmbHktPnB1YmxpY0xl
bmd0aCgpOworICAgICAgICBpZiAoZW51bWVyYWJsZUxlbmd0aCAmJiBvYmplY3QtPnN0cnVjdHVy
ZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkKKyAgICAgICAg
ICAgIHJldHVybiAwOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW51bWVyYWJs
ZUxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICBkb3VibGUgdmFsdWUgPSBidXR0ZXJmbHktPmNv
bnRpZ3VvdXNEb3VibGUoKS5hdChvYmplY3QsIGkpOwogICAgICAgICAgICAgaWYgKHZhbHVlICE9
IHZhbHVlKQogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9Ci0gICAgICAgIHJl
dHVybiB1c2VkTGVuZ3RoOworICAgICAgICByZXR1cm4gZW51bWVyYWJsZUxlbmd0aDsKICAgICB9
CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsK
QEAgLTM3OTIsMTIgKzM3OTksMTQgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVM
ZW5ndGgoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIG8KICAgICAgICAg
aWYgKHN0b3JhZ2UtPm1fc3BhcnNlTWFwLmdldCgpKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgICAgIAotICAgICAgICB1bnNpZ25lZCB1c2VkVmVjdG9yTGVuZ3RoID0gc3RkOjptaW4oc3Rv
cmFnZS0+bGVuZ3RoKCksIHN0b3JhZ2UtPnZlY3Rvckxlbmd0aCgpKTsKLSAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRWZWN0b3JMZW5ndGg7ICsraSkgeworICAgICAgICB1bnNp
Z25lZCBlbnVtZXJhYmxlTGVuZ3RoID0gc3RkOjptaW4oc3RvcmFnZS0+bGVuZ3RoKCksIHN0b3Jh
Z2UtPnZlY3Rvckxlbmd0aCgpKTsKKyAgICAgICAgaWYgKGVudW1lcmFibGVMZW5ndGggJiYgb2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVj
dCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGVudW1lcmFibGVMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgaWYgKCFzdG9yYWdlLT5t
X3ZlY3RvcltpXSkKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQotICAgICAg
ICByZXR1cm4gdXNlZFZlY3Rvckxlbmd0aDsKKyAgICAgICAgcmV0dXJuIGVudW1lcmFibGVMZW5n
dGg7CiAgICAgfQogICAgICAgICAKICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0LmgKaW5kZXggYzk4OWU4OTZhZjNkMTQ3OWIyZDBlNTYwMzI2N2Q1ODlk
MDUzMmQyMi4uZGU1YThlMDE4NzdiMWM0NGE5MTAwNGUwZTFhNWM5YjZiNDJkZjExMCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC02ODUsNyArNjg1LDcgQEAg
Y2xhc3MgSlNPYmplY3QgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2
b2lkIGdldE93bk5vbkluZGV4UHJvcGVydHlOYW1lcyhKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5
TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7CiAgICAgdm9pZCBnZXROb25SZWlm
aWVkU3RhdGljUHJvcGVydHlOYW1lcyhWTSYsIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Q
cm9wZXJ0aWVzTW9kZSk7CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgdWludDMyX3Qg
Z2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0Kik7CisgICAgSlNf
RVhQT1JUX1BSSVZBVEUgdWludDMyX3QgZ2V0RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5
KEpTR2xvYmFsT2JqZWN0Kik7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU1ZhbHVlIHRvUHJp
bWl0aXZlKEpTR2xvYmFsT2JqZWN0KiwgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSA9IE5vUHJlZmVy
ZW5jZSkgY29uc3Q7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgZG91YmxlIHRvTnVtYmVyKEpTR2xv
YmFsT2JqZWN0KikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmNwcAppbmRleCA4YTViNjljNWU5NWQw
MmZlNGE1YmFjN2JlY2U4NzExN2VmYTRkODc0Li5lNGZiOGUwZWM2OGM0MDkyODg5OTdiYjgzOTM0
ZDMyMTE4N2Y2OTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCB2
b2lkIGdldEVudW1lcmFibGVQcm9wZXJ0eU5hbWVzKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTT2JqZWN0KiBiYXNlLCBQcgogICAgIH0gZWxzZSB7CiAgICAgICAgIGdldE93blByb3Bl
cnR5TmFtZXMoYmFzZSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQo
KSk7Ci0gICAgICAgIC8vIHxwcm9wZXJ0eU5hbWVzfCBjb250YWlucyBhbGwgaW5kZXhlZCBwcm9w
ZXJ0aWVzLCBzbyBkaXNhYmxlIGVudW1lcmF0aW9uIGJhc2VkIG9uIGdldEVudW1lcmFibGVMZW5n
dGgoKS4KKyAgICAgICAgLy8gfHByb3BlcnR5TmFtZXN8IGNvbnRhaW5zIGFsbCBpbmRleGVkIHBy
b3BlcnRpZXMsIHNvIGRpc2FibGUgZW51bWVyYXRpb24gYmFzZWQgb24gZ2V0RW51bWVyYWJsZUxl
bmd0aFRyYWNpbmdKU1Byb3h5KCkuCiAgICAgICAgIGluZGV4ZWRMZW5ndGggPSAwOwogICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3IuaAppbmRleCBhMTg0ZDlkM2QyMzg1NWQ2NjY4NzIxMDJmMzI4NjgyMDQ3
NjhhMmM1Li4xNWY0M2RhMDE1ZDZmYjFlNzQ3ZGY3MWI1M2NiODBhNmQwNTNjYTkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IuaApAQCAtMTA4LDcgKzEwOCw3IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IqIHByb3BlcnR5TmFtZUVudW1lcmF0b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iCiAg
ICAgVk0mIHZtID0gZ2V0Vk0oZ2xvYmFsT2JqZWN0KTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICB1aW50MzJfdCBpbmRleGVkTGVuZ3RoID0gYmFzZS0+
bWV0aG9kVGFibGUodm0pLT5nZXRFbnVtZXJhYmxlTGVuZ3RoKGdsb2JhbE9iamVjdCwgYmFzZSk7
CisgICAgdWludDMyX3QgaW5kZXhlZExlbmd0aCA9IGJhc2UtPmdldEVudW1lcmFibGVMZW5ndGhU
cmFjaW5nSlNQcm94eShnbG9iYWxPYmplY3QpOwogCiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKiBlbnVtZXJhdG9yID0gbnVsbHB0cjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNQcm94eS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Byb3h5LmNwcAppbmRleCAzNzY2ODE1NWMzNGQ4NTYxNDgyNzYyMDMzYjQ2YTY5OGRiNWZi
YTRjLi4yOGY2NzVlMGU4NGRkOGNkNTQwOWNlYmU3Zjk4Yjk1OWUzYmFjM2NmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5LmNwcApAQCAtMTE4LDEyICsxMTgsNiBAQCBi
b29sIEpTUHJveHk6OmRlbGV0ZVByb3BlcnR5QnlJbmRleChKU0NlbGwqIGNlbGwsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsCiAgICAgcmV0dXJuIHRoaXNPYmplY3QtPnRhcmdldCgpLT5t
ZXRob2RUYWJsZShnbG9iYWxPYmplY3QtPnZtKCkpLT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgodGhp
c09iamVjdC0+dGFyZ2V0KCksIGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lKTsKIH0KIAotdWlu
dDMyX3QgSlNQcm94eTo6Z2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU09iamVjdCogb2JqZWN0KQotewotICAgIEpTUHJveHkqIHRoaXNPYmplY3QgPSBq
c0Nhc3Q8SlNQcm94eSo+KG9iamVjdCk7Ci0gICAgcmV0dXJuIHRoaXNPYmplY3QtPnRhcmdldCgp
LT5tZXRob2RUYWJsZShnbG9iYWxPYmplY3QtPnZtKCkpLT5nZXRFbnVtZXJhYmxlTGVuZ3RoKGds
b2JhbE9iamVjdCwgdGhpc09iamVjdC0+dGFyZ2V0KCkpOwotfQotCiB2b2lkIEpTUHJveHk6Omdl
dE93blByb3BlcnR5TmFtZXMoSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgUHJvcGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIERvbnRFbnVtUHJvcGVy
dGllc01vZGUgbW9kZSkKIHsKICAgICBKU1Byb3h5KiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTUHJv
eHkqPihvYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNQcm94eS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm94eS5oCmluZGV4
IDYzYzIyYWE5NjEyODZhYzM4YTEzYTM4NmFhMTUyZDljNTcxZjBkNzcuLjU1OGY2NmZjMDY3NGY5
MjBmZDFhYmZjOGMxY2U4YmNjMDBhZjU0YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTUHJveHkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Byb3h5LmgKQEAgLTk2LDcgKzk2LDYgQEAgY2xhc3MgSlNQcm94eSA6IHB1YmxpYyBKU05v
bkZpbmFsT2JqZWN0IHsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBkZWxldGVQ
cm9wZXJ0eShKU0NlbGwqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgRGVsZXRlUHJv
cGVydHlTbG90Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgZGVsZXRlUHJv
cGVydHlCeUluZGV4KEpTQ2VsbCosIEpTR2xvYmFsT2JqZWN0KiwgdW5zaWduZWQpOwogICAgIEpT
X0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3Qq
LCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVz
TW9kZSk7Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHVpbnQzMl90IGdldEVudW1lcmFi
bGVMZW5ndGgoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCopOwogICAgIEpTX0VYUE9SVF9QUklW
QVRFIHN0YXRpYyBib29sIGRlZmluZU93blByb3BlcnR5KEpTT2JqZWN0KiwgSlNHbG9iYWxPYmpl
Y3QqLCBQcm9wZXJ0eU5hbWUsIGNvbnN0IFByb3BlcnR5RGVzY3JpcHRvciYsIGJvb2wgc2hvdWxk
VGhyb3cpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29sIHNldFByb3RvdHlwZShK
U09iamVjdCosIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSwgYm9vbCBzaG91bGRUaHJvd0lmQ2Fu
dFNldCk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIEpTVmFsdWUgZ2V0UHJvdG90eXBl
KEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421804</attachid>
            <date>2021-03-01 03:48:22 -0800</date>
            <delta_ts>2021-03-01 03:50:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222539-20210301034822.patch</filename>
            <type>text/plain</type>
            <size>12675</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NGU5YWZjYWQyMDAyMDUzMzZlOGY1MzE5NzhmZTFjNmE4ZGU2ZGViLi5lMTU4YWU3YWY1YjQ4Zjc4
ZTJjMWIwNGQ4N2RhYmNkNjA2M2QwMzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAyMS0wMy0wMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbmFtZSBnZXRFbnVtZXJhYmxlTGVuZ3RoIHRvIGdldEVudW1l
cmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eSwgYW5kIHJlbW92ZSBpbmRpcmVjdCBjYWxsIG9mIGdl
dEVudW1lcmFibGVMZW5ndGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjUzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vdyBnZXRFbnVtZXJhYmxlTGVuZ3RoIGlzIG9ubHkgb3ZlcnJpZGRlbiBieSBK
U1Byb3h5LiBBbmQgdGhpcyBpcyBjYWxsZWQgaW4gdGhlIGNyaXRpY2FsIHBhdGggb2YgcHJvcGVy
dHlOYW1lRW51bWVyYXRvci4KKyAgICAgICAgV2Ugc2hvdWxkIG5vdCB1c2UgaW5kaXJlY3QgY2Fs
bCBmb3IgZ2V0RW51bWVyYWJsZUxlbmd0aC4gSW4gdGhpcyBwYXRjaCwgd2UgYWRkIEpTUHJveHkg
dHJhY2luZyBpbnRvIGdldEVudW1lcmFibGVMZW5ndGgsCisgICAgICAgIHJlbmFtZSBnZXRFbnVt
ZXJhYmxlTGVuZ3RoIHRvIGdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eSwgYW5kIGRp
cmVjdGx5IGNhbGwgaXQuCisKKyAgICAgICAgV2UgYWxzbyBhdm9pZCBjYWxsaW5nIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSBpbiBnZXRFbnVtZXJhYmxlTGVuZ3RoVHJhY2luZ0pTUHJveHkg
d2hlbiBpdCBpcyBtZWFuaW5nbGVzcy4gRm9yIGV4YW1wbGUsCisgICAgICAgIGlmIHRoZSBvYmpl
Y3QgaXMgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTLCB0aGVuIHJlZ2FyZGxlc3Mgb2YgdGhlIGNv
bmRpdGlvbiBvZiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUsIHRoZSByZXN1bHQgb2YKKyAg
ICAgICAgZ2V0RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5IGlzIHplcm8uCisKKyAgICAg
ICAgKiBydW50aW1lL0NsYXNzSW5mby5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmNwcDoK
KyAgICAgICAgKEpTQzo6SlNDZWxsOjpnZXRFbnVtZXJhYmxlTGVuZ3RoKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBydW50aW1lL0pTQ2VsbC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3Bw
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1By
b3h5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgpOiBEZWxl
dGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pT
UHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OmdldEVudW1lcmFibGVQ
cm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKiBydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRv
ci5oOgorICAgICAgICAoSlNDOjpwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKToKKyAgICAgICAgKiBy
dW50aW1lL0pTUHJveHkuY3BwOgorICAgICAgICAoSlNDOjpKU1Byb3h5OjpnZXRFbnVtZXJhYmxl
TGVuZ3RoKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0pTUHJveHkuaDoKKwogMjAyMS0w
Mi0yOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0Nd
IEFkZCBnYyBhbmQgY2xlYXJLZXB0T2JqZWN0cyB0byAkMjYyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NsYXNzSW5mby5oCmluZGV4IDhiMGM3YTA1YzcxMTk3Yzg0MzAwZjkxNzA2ZjIx
YjE5YTdmZDhhNDIuLmQ3ODlhN2U3MDI2NjVkZmM1MDliMjQwYmRhOWJlNzY2MDFhMjU4NWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCkBAIC04MSw5ICs4MSw2
IEBAIHN0cnVjdCBNZXRob2RUYWJsZSB7CiAgICAgR2V0T3duUHJvcGVydHlOYW1lc0Z1bmN0aW9u
UHRyIE1FVEhPRF9UQUJMRV9FTlRSWShnZXRPd25Qcm9wZXJ0eU5hbWVzKTsKICAgICBHZXRPd25Q
cm9wZXJ0eU5hbWVzRnVuY3Rpb25QdHIgTUVUSE9EX1RBQkxFX0VOVFJZKGdldE93blNwZWNpYWxQ
cm9wZXJ0eU5hbWVzKTsKIAotICAgIHVzaW5nIEdldEVudW1lcmFibGVMZW5ndGhGdW5jdGlvblB0
ciA9IHVpbnQzMl90ICgqKShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0Kik7Ci0gICAgR2V0RW51
bWVyYWJsZUxlbmd0aEZ1bmN0aW9uUHRyIE1FVEhPRF9UQUJMRV9FTlRSWShnZXRFbnVtZXJhYmxl
TGVuZ3RoKTsKLQogICAgIHVzaW5nIENsYXNzTmFtZUZ1bmN0aW9uUHRyID0gU3RyaW5nICgqKShj
b25zdCBKU09iamVjdCosIFZNJik7CiAgICAgQ2xhc3NOYW1lRnVuY3Rpb25QdHIgTUVUSE9EX1RB
QkxFX0VOVFJZKGNsYXNzTmFtZSk7CiAKQEAgLTE3Miw3ICsxNjksNiBAQCBzdHJ1Y3QgTWV0aG9k
VGFibGUgewogICAgICAgICAmQ2xhc3NOYW1lOjpkZWZhdWx0VmFsdWUsIFwKICAgICAgICAgJkNs
YXNzTmFtZTo6Z2V0T3duUHJvcGVydHlOYW1lcywgXAogICAgICAgICAmQ2xhc3NOYW1lOjpnZXRP
d25TcGVjaWFsUHJvcGVydHlOYW1lcywgXAotICAgICAgICAmQ2xhc3NOYW1lOjpnZXRFbnVtZXJh
YmxlTGVuZ3RoLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmNsYXNzTmFtZSwgXAogICAgICAgICAm
Q2xhc3NOYW1lOjp0b1N0cmluZ05hbWUsIFwKICAgICAgICAgJkNsYXNzTmFtZTo6Y3VzdG9tSGFz
SW5zdGFuY2UsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Q2VsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4
IGM0N2ZlYzA2MGQ5Mjk5YmE5MTMyNzU4ZTZkNjI4ZjgyZTc4ZmFmYzMuLjEwY2U3YWZlM2IzOTkw
MDA1NzU5YzMzM2UzMjYyZTUxMmU5ODI3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDZWxsLmNwcApAQCAtMjQ1LDEyICsyNDUsNiBAQCBib29sIEpTQ2VsbDo6ZGVmaW5lT3du
UHJvcGVydHkoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgY29uc3Qg
UAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdWludDMyX3QgSlNDZWxsOjpnZXRFbnVtZXJhYmxl
TGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqKQotewotICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIGJvb2wgSlNDZWxsOjpwcmV2ZW50
RXh0ZW5zaW9ucyhKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0KikKIHsKICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApp
bmRleCBmYTI3MDRlY2U4ZjM0ZmJlMzM0MGVhNmExODI4ZjBhOTEwNWJmNGI1Li4wMzg1MTMzYTJm
Yjc1OWEzMTI3NGRmZWY0Zjg2YjVhYzIzNDU2ZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NlbGwuaApAQCAtMjQ4LDcgKzI0OCw2IEBAIGNsYXNzIEpTQ2VsbCA6IHB1YmxpYyBI
ZWFwQ2VsbCB7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggdm9pZCBnZXRPd25Q
cm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWVBcnJh
eSYsIERvbnRFbnVtUHJvcGVydGllc01vZGUpOwogICAgIHN0YXRpYyBOT19SRVRVUk5fRFVFX1RP
X0NSQVNIIHZvaWQgZ2V0T3duU3BlY2lhbFByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBKU0dsb2Jh
bE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7CiAK
LSAgICBzdGF0aWMgdWludDMyX3QgZ2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0Kik7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggYm9vbCBwcmV2
ZW50RXh0ZW5zaW9ucyhKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgc3RhdGljIE5P
X1JFVFVSTl9EVUVfVE9fQ1JBU0ggYm9vbCBpc0V4dGVuc2libGUoSlNPYmplY3QqLCBKU0dsb2Jh
bE9iamVjdCopOwogICAgIHN0YXRpYyBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIGJvb2wgc2V0UHJv
dG90eXBlKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlLCBib29sKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCBhNzE3YjliZjJiZmNj
YzAzOTZiNjJkZDdiMzZiMTE0MjgxMDhjZjdmLi4yYTVmZTBiOTE5YzdiOTFmMjMxODFiNDQyNmFm
MjMxOTc4NjUwOTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
Y3BwCkBAIC0zNzU0LDM3ICszNzU0LDQ4IEBAIHZvaWQgSlNPYmplY3Q6OnNoaWZ0QnV0dGVyZmx5
QWZ0ZXJGbGF0dGVuaW5nKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFZNCiAgICAg
c2V0QnV0dGVyZmx5KHZtLCBuZXdCdXR0ZXJmbHkpOwogfQogCi11aW50MzJfdCBKU09iamVjdDo6
Z2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVj
dCogb2JqZWN0KQordWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5n
SlNQcm94eShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3Ry
dWN0dXJlKHZtKTsKLSAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUodm0sIG9iamVjdCkpCi0gICAgICAgIHJldHVybiAwOworICAgIEpTT2JqZWN0KiBvYmplY3Qg
PSB0aGlzOworCisgICAgd2hpbGUgKG9iamVjdC0+aW5oZXJpdHM8SlNQcm94eT4odm0pKQorICAg
ICAgICBvYmplY3QgPSBqc0Nhc3Q8SlNQcm94eSo+KG9iamVjdCktPnRhcmdldCgpOworCiAgICAg
c3dpdGNoIChvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5E
RVhJTkdfVFlQRVM6CiAgICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgorICAg
ICAgICAvLyBSZWdhcmRsZXNzIG9mIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSBjb25kaXRp
b24sIGl0IHJldHVybnMgemVyby4KICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIAogICAgIGNh
c2UgQUxMX0lOVDMyX0lOREVYSU5HX1RZUEVTOgogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5E
RVhJTkdfVFlQRVM6IHsKICAgICAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHkgPSBvYmplY3QtPmJ1
dHRlcmZseSgpOwotICAgICAgICB1bnNpZ25lZCB1c2VkTGVuZ3RoID0gYnV0dGVyZmx5LT5wdWJs
aWNMZW5ndGgoKTsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRMZW5ndGg7
ICsraSkgeworICAgICAgICB1bnNpZ25lZCBlbnVtZXJhYmxlTGVuZ3RoID0gYnV0dGVyZmx5LT5w
dWJsaWNMZW5ndGgoKTsKKyAgICAgICAgaWYgKCFlbnVtZXJhYmxlTGVuZ3RoKQorICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgIGlmIChvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkKKyAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW51bWVyYWJsZUxlbmd0aDsgKytpKSB7
CiAgICAgICAgICAgICBpZiAoIWJ1dHRlcmZseS0+Y29udGlndW91cygpLmF0KG9iamVjdCwgaSkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHVz
ZWRMZW5ndGg7CisgICAgICAgIHJldHVybiBlbnVtZXJhYmxlTGVuZ3RoOwogICAgIH0KICAgICAg
ICAgCiAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIEJ1dHRl
cmZseSogYnV0dGVyZmx5ID0gb2JqZWN0LT5idXR0ZXJmbHkoKTsKLSAgICAgICAgdW5zaWduZWQg
dXNlZExlbmd0aCA9IGJ1dHRlcmZseS0+cHVibGljTGVuZ3RoKCk7Ci0gICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCB1c2VkTGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdW5zaWduZWQgZW51
bWVyYWJsZUxlbmd0aCA9IGJ1dHRlcmZseS0+cHVibGljTGVuZ3RoKCk7CisgICAgICAgIGlmICgh
ZW51bWVyYWJsZUxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBpZiAob2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVj
dCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGVudW1lcmFibGVMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgZG91YmxlIHZhbHVlID0g
YnV0dGVyZmx5LT5jb250aWd1b3VzRG91YmxlKCkuYXQob2JqZWN0LCBpKTsKICAgICAgICAgICAg
IGlmICh2YWx1ZSAhPSB2YWx1ZSkKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAg
fQotICAgICAgICByZXR1cm4gdXNlZExlbmd0aDsKKyAgICAgICAgcmV0dXJuIGVudW1lcmFibGVM
ZW5ndGg7CiAgICAgfQogICAgICAgICAKICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVY
SU5HX1RZUEVTOiB7CkBAIC0zNzkyLDEyICszODAzLDE2IEBAIHVpbnQzMl90IEpTT2JqZWN0Ojpn
ZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0
KiBvCiAgICAgICAgIGlmIChzdG9yYWdlLT5tX3NwYXJzZU1hcC5nZXQoKSkKICAgICAgICAgICAg
IHJldHVybiAwOwogICAgICAgICAKLSAgICAgICAgdW5zaWduZWQgdXNlZFZlY3Rvckxlbmd0aCA9
IHN0ZDo6bWluKHN0b3JhZ2UtPmxlbmd0aCgpLCBzdG9yYWdlLT52ZWN0b3JMZW5ndGgoKSk7Ci0g
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2VkVmVjdG9yTGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgdW5zaWduZWQgZW51bWVyYWJsZUxlbmd0aCA9IHN0ZDo6bWluKHN0b3JhZ2UtPmxl
bmd0aCgpLCBzdG9yYWdlLT52ZWN0b3JMZW5ndGgoKSk7CisgICAgICAgIGlmICghZW51bWVyYWJs
ZUxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBpZiAob2JqZWN0LT5zdHJ1
Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCisgICAg
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudW1l
cmFibGVMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgaWYgKCFzdG9yYWdlLT5tX3ZlY3Rvcltp
XSkKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQotICAgICAgICByZXR1cm4g
dXNlZFZlY3Rvckxlbmd0aDsKKyAgICAgICAgcmV0dXJuIGVudW1lcmFibGVMZW5ndGg7CiAgICAg
fQogICAgICAgICAKICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmgKaW5kZXggYzk4OWU4OTZhZjNkMTQ3OWIyZDBlNTYwMzI2N2Q1ODlkMDUzMmQyMi4u
ZGU1YThlMDE4NzdiMWM0NGE5MTAwNGUwZTFhNWM5YjZiNDJkZjExMCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC02ODUsNyArNjg1LDcgQEAgY2xhc3MgSlNP
YmplY3QgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGdldE93
bk5vbkluZGV4UHJvcGVydHlOYW1lcyhKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5
JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7CiAgICAgdm9pZCBnZXROb25SZWlmaWVkU3RhdGlj
UHJvcGVydHlOYW1lcyhWTSYsIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVz
TW9kZSk7CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgdWludDMyX3QgZ2V0RW51bWVy
YWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0Kik7CisgICAgSlNfRVhQT1JUX1BS
SVZBVEUgdWludDMyX3QgZ2V0RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5KEpTR2xvYmFs
T2JqZWN0Kik7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU1ZhbHVlIHRvUHJpbWl0aXZlKEpT
R2xvYmFsT2JqZWN0KiwgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSA9IE5vUHJlZmVyZW5jZSkgY29u
c3Q7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgZG91YmxlIHRvTnVtYmVyKEpTR2xvYmFsT2JqZWN0
KikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1By
b3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmNwcAppbmRleCA4YTViNjljNWU5NWQwMmZlNGE1YmFj
N2JlY2U4NzExN2VmYTRkODc0Li5lNGZiOGUwZWM2OGM0MDkyODg5OTdiYjgzOTM0ZDMyMTE4N2Y2
OTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
UHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCB2b2lkIGdldEVu
dW1lcmFibGVQcm9wZXJ0eU5hbWVzKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBiYXNlLCBQcgogICAgIH0gZWxzZSB7CiAgICAgICAgIGdldE93blByb3BlcnR5TmFtZXMo
YmFzZSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAg
ICAgIC8vIHxwcm9wZXJ0eU5hbWVzfCBjb250YWlucyBhbGwgaW5kZXhlZCBwcm9wZXJ0aWVzLCBz
byBkaXNhYmxlIGVudW1lcmF0aW9uIGJhc2VkIG9uIGdldEVudW1lcmFibGVMZW5ndGgoKS4KKyAg
ICAgICAgLy8gfHByb3BlcnR5TmFtZXN8IGNvbnRhaW5zIGFsbCBpbmRleGVkIHByb3BlcnRpZXMs
IHNvIGRpc2FibGUgZW51bWVyYXRpb24gYmFzZWQgb24gZ2V0RW51bWVyYWJsZUxlbmd0aFRyYWNp
bmdKU1Byb3h5KCkuCiAgICAgICAgIGluZGV4ZWRMZW5ndGggPSAwOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IuaAppbmRleCBhMTg0ZDlkM2QyMzg1NWQ2NjY4NzIxMDJmMzI4NjgyMDQ3NjhhMmM1Li4x
NWY0M2RhMDE1ZDZmYjFlNzQ3ZGY3MWI1M2NiODBhNmQwNTNjYTkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3Iu
aApAQCAtMTA4LDcgKzEwOCw3IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHBy
b3BlcnR5TmFtZUVudW1lcmF0b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iCiAgICAgVk0mIHZt
ID0gZ2V0Vk0oZ2xvYmFsT2JqZWN0KTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7CiAKLSAgICB1aW50MzJfdCBpbmRleGVkTGVuZ3RoID0gYmFzZS0+bWV0aG9kVGFi
bGUodm0pLT5nZXRFbnVtZXJhYmxlTGVuZ3RoKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgdWlu
dDMyX3QgaW5kZXhlZExlbmd0aCA9IGJhc2UtPmdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5nSlNQ
cm94eShnbG9iYWxPYmplY3QpOwogCiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBlbnVt
ZXJhdG9yID0gbnVsbHB0cjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNQcm94eS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5
LmNwcAppbmRleCAzNzY2ODE1NWMzNGQ4NTYxNDgyNzYyMDMzYjQ2YTY5OGRiNWZiYTRjLi4yOGY2
NzVlMGU4NGRkOGNkNTQwOWNlYmU3Zjk4Yjk1OWUzYmFjM2NmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1Byb3h5LmNwcApAQCAtMTE4LDEyICsxMTgsNiBAQCBib29sIEpTUHJv
eHk6OmRlbGV0ZVByb3BlcnR5QnlJbmRleChKU0NlbGwqIGNlbGwsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsCiAgICAgcmV0dXJuIHRoaXNPYmplY3QtPnRhcmdldCgpLT5tZXRob2RUYWJs
ZShnbG9iYWxPYmplY3QtPnZtKCkpLT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgodGhpc09iamVjdC0+
dGFyZ2V0KCksIGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lKTsKIH0KIAotdWludDMyX3QgSlNQ
cm94eTo6Z2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdCogb2JqZWN0KQotewotICAgIEpTUHJveHkqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNQ
cm94eSo+KG9iamVjdCk7Ci0gICAgcmV0dXJuIHRoaXNPYmplY3QtPnRhcmdldCgpLT5tZXRob2RU
YWJsZShnbG9iYWxPYmplY3QtPnZtKCkpLT5nZXRFbnVtZXJhYmxlTGVuZ3RoKGdsb2JhbE9iamVj
dCwgdGhpc09iamVjdC0+dGFyZ2V0KCkpOwotfQotCiB2b2lkIEpTUHJveHk6OmdldE93blByb3Bl
cnR5TmFtZXMoSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
UHJvcGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIERvbnRFbnVtUHJvcGVydGllc01vZGUg
bW9kZSkKIHsKICAgICBKU1Byb3h5KiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTUHJveHkqPihvYmpl
Y3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm94eS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm94eS5oCmluZGV4IDYzYzIyYWE5
NjEyODZhYzM4YTEzYTM4NmFhMTUyZDljNTcxZjBkNzcuLjU1OGY2NmZjMDY3NGY5MjBmZDFhYmZj
OGMxY2U4YmNjMDBhZjU0YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTUHJveHkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5
LmgKQEAgLTk2LDcgKzk2LDYgQEAgY2xhc3MgSlNQcm94eSA6IHB1YmxpYyBKU05vbkZpbmFsT2Jq
ZWN0IHsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShK
U0NlbGwqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgRGVsZXRlUHJvcGVydHlTbG90
Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHlCeUlu
ZGV4KEpTQ2VsbCosIEpTR2xvYmFsT2JqZWN0KiwgdW5zaWduZWQpOwogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIHN0YXRpYyB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBKU0dsb2Jh
bE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7Ci0g
ICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHVpbnQzMl90IGdldEVudW1lcmFibGVMZW5ndGgo
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCopOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRp
YyBib29sIGRlZmluZU93blByb3BlcnR5KEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBQcm9w
ZXJ0eU5hbWUsIGNvbnN0IFByb3BlcnR5RGVzY3JpcHRvciYsIGJvb2wgc2hvdWxkVGhyb3cpOwog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29sIHNldFByb3RvdHlwZShKU09iamVjdCos
IEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSwgYm9vbCBzaG91bGRUaHJvd0lmQ2FudFNldCk7CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIEpTVmFsdWUgZ2V0UHJvdG90eXBlKEpTT2JqZWN0
KiwgSlNHbG9iYWxPYmplY3QqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421805</attachid>
            <date>2021-03-01 03:50:22 -0800</date>
            <delta_ts>2021-03-01 03:57:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222539-20210301035021.patch</filename>
            <type>text/plain</type>
            <size>12675</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NGU5YWZjYWQyMDAyMDUzMzZlOGY1MzE5NzhmZTFjNmE4ZGU2ZGViLi5lMTU4YWU3YWY1YjQ4Zjc4
ZTJjMWIwNGQ4N2RhYmNkNjA2M2QwMzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAyMS0wMy0wMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbmFtZSBnZXRFbnVtZXJhYmxlTGVuZ3RoIHRvIGdldEVudW1l
cmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eSwgYW5kIHJlbW92ZSBpbmRpcmVjdCBjYWxsIG9mIGdl
dEVudW1lcmFibGVMZW5ndGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjUzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vdyBnZXRFbnVtZXJhYmxlTGVuZ3RoIGlzIG9ubHkgb3ZlcnJpZGRlbiBieSBK
U1Byb3h5LiBBbmQgdGhpcyBpcyBjYWxsZWQgaW4gdGhlIGNyaXRpY2FsIHBhdGggb2YgcHJvcGVy
dHlOYW1lRW51bWVyYXRvci4KKyAgICAgICAgV2Ugc2hvdWxkIG5vdCB1c2UgaW5kaXJlY3QgY2Fs
bCBmb3IgZ2V0RW51bWVyYWJsZUxlbmd0aC4gSW4gdGhpcyBwYXRjaCwgd2UgYWRkIEpTUHJveHkg
dHJhY2luZyBpbnRvIGdldEVudW1lcmFibGVMZW5ndGgsCisgICAgICAgIHJlbmFtZSBnZXRFbnVt
ZXJhYmxlTGVuZ3RoIHRvIGdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eSwgYW5kIGRp
cmVjdGx5IGNhbGwgaXQuCisKKyAgICAgICAgV2UgYWxzbyBhdm9pZCBjYWxsaW5nIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSBpbiBnZXRFbnVtZXJhYmxlTGVuZ3RoVHJhY2luZ0pTUHJveHkg
d2hlbiBpdCBpcyBtZWFuaW5nbGVzcy4gRm9yIGV4YW1wbGUsCisgICAgICAgIGlmIHRoZSBvYmpl
Y3QgaXMgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTLCB0aGVuIHJlZ2FyZGxlc3Mgb2YgdGhlIGNv
bmRpdGlvbiBvZiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUsIHRoZSByZXN1bHQgb2YKKyAg
ICAgICAgZ2V0RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5IGlzIHplcm8uCisKKyAgICAg
ICAgKiBydW50aW1lL0NsYXNzSW5mby5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmNwcDoK
KyAgICAgICAgKEpTQzo6SlNDZWxsOjpnZXRFbnVtZXJhYmxlTGVuZ3RoKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBydW50aW1lL0pTQ2VsbC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3Bw
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1By
b3h5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgpOiBEZWxl
dGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pT
UHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OmdldEVudW1lcmFibGVQ
cm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKiBydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRv
ci5oOgorICAgICAgICAoSlNDOjpwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKToKKyAgICAgICAgKiBy
dW50aW1lL0pTUHJveHkuY3BwOgorICAgICAgICAoSlNDOjpKU1Byb3h5OjpnZXRFbnVtZXJhYmxl
TGVuZ3RoKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0pTUHJveHkuaDoKKwogMjAyMS0w
Mi0yOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0Nd
IEFkZCBnYyBhbmQgY2xlYXJLZXB0T2JqZWN0cyB0byAkMjYyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NsYXNzSW5mby5oCmluZGV4IDhiMGM3YTA1YzcxMTk3Yzg0MzAwZjkxNzA2ZjIx
YjE5YTdmZDhhNDIuLmQ3ODlhN2U3MDI2NjVkZmM1MDliMjQwYmRhOWJlNzY2MDFhMjU4NWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCkBAIC04MSw5ICs4MSw2
IEBAIHN0cnVjdCBNZXRob2RUYWJsZSB7CiAgICAgR2V0T3duUHJvcGVydHlOYW1lc0Z1bmN0aW9u
UHRyIE1FVEhPRF9UQUJMRV9FTlRSWShnZXRPd25Qcm9wZXJ0eU5hbWVzKTsKICAgICBHZXRPd25Q
cm9wZXJ0eU5hbWVzRnVuY3Rpb25QdHIgTUVUSE9EX1RBQkxFX0VOVFJZKGdldE93blNwZWNpYWxQ
cm9wZXJ0eU5hbWVzKTsKIAotICAgIHVzaW5nIEdldEVudW1lcmFibGVMZW5ndGhGdW5jdGlvblB0
ciA9IHVpbnQzMl90ICgqKShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0Kik7Ci0gICAgR2V0RW51
bWVyYWJsZUxlbmd0aEZ1bmN0aW9uUHRyIE1FVEhPRF9UQUJMRV9FTlRSWShnZXRFbnVtZXJhYmxl
TGVuZ3RoKTsKLQogICAgIHVzaW5nIENsYXNzTmFtZUZ1bmN0aW9uUHRyID0gU3RyaW5nICgqKShj
b25zdCBKU09iamVjdCosIFZNJik7CiAgICAgQ2xhc3NOYW1lRnVuY3Rpb25QdHIgTUVUSE9EX1RB
QkxFX0VOVFJZKGNsYXNzTmFtZSk7CiAKQEAgLTE3Miw3ICsxNjksNiBAQCBzdHJ1Y3QgTWV0aG9k
VGFibGUgewogICAgICAgICAmQ2xhc3NOYW1lOjpkZWZhdWx0VmFsdWUsIFwKICAgICAgICAgJkNs
YXNzTmFtZTo6Z2V0T3duUHJvcGVydHlOYW1lcywgXAogICAgICAgICAmQ2xhc3NOYW1lOjpnZXRP
d25TcGVjaWFsUHJvcGVydHlOYW1lcywgXAotICAgICAgICAmQ2xhc3NOYW1lOjpnZXRFbnVtZXJh
YmxlTGVuZ3RoLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmNsYXNzTmFtZSwgXAogICAgICAgICAm
Q2xhc3NOYW1lOjp0b1N0cmluZ05hbWUsIFwKICAgICAgICAgJkNsYXNzTmFtZTo6Y3VzdG9tSGFz
SW5zdGFuY2UsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Q2VsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4
IGM0N2ZlYzA2MGQ5Mjk5YmE5MTMyNzU4ZTZkNjI4ZjgyZTc4ZmFmYzMuLjEwY2U3YWZlM2IzOTkw
MDA1NzU5YzMzM2UzMjYyZTUxMmU5ODI3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDZWxsLmNwcApAQCAtMjQ1LDEyICsyNDUsNiBAQCBib29sIEpTQ2VsbDo6ZGVmaW5lT3du
UHJvcGVydHkoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgY29uc3Qg
UAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdWludDMyX3QgSlNDZWxsOjpnZXRFbnVtZXJhYmxl
TGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqKQotewotICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIGJvb2wgSlNDZWxsOjpwcmV2ZW50
RXh0ZW5zaW9ucyhKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0KikKIHsKICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApp
bmRleCBmYTI3MDRlY2U4ZjM0ZmJlMzM0MGVhNmExODI4ZjBhOTEwNWJmNGI1Li4wMzg1MTMzYTJm
Yjc1OWEzMTI3NGRmZWY0Zjg2YjVhYzIzNDU2ZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NlbGwuaApAQCAtMjQ4LDcgKzI0OCw2IEBAIGNsYXNzIEpTQ2VsbCA6IHB1YmxpYyBI
ZWFwQ2VsbCB7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggdm9pZCBnZXRPd25Q
cm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWVBcnJh
eSYsIERvbnRFbnVtUHJvcGVydGllc01vZGUpOwogICAgIHN0YXRpYyBOT19SRVRVUk5fRFVFX1RP
X0NSQVNIIHZvaWQgZ2V0T3duU3BlY2lhbFByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBKU0dsb2Jh
bE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7CiAK
LSAgICBzdGF0aWMgdWludDMyX3QgZ2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0Kik7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggYm9vbCBwcmV2
ZW50RXh0ZW5zaW9ucyhKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgc3RhdGljIE5P
X1JFVFVSTl9EVUVfVE9fQ1JBU0ggYm9vbCBpc0V4dGVuc2libGUoSlNPYmplY3QqLCBKU0dsb2Jh
bE9iamVjdCopOwogICAgIHN0YXRpYyBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIGJvb2wgc2V0UHJv
dG90eXBlKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlLCBib29sKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCBhNzE3YjliZjJiZmNj
YzAzOTZiNjJkZDdiMzZiMTE0MjgxMDhjZjdmLi4yYTVmZTBiOTE5YzdiOTFmMjMxODFiNDQyNmFm
MjMxOTc4NjUwOTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
Y3BwCkBAIC0zNzU0LDM3ICszNzU0LDQ4IEBAIHZvaWQgSlNPYmplY3Q6OnNoaWZ0QnV0dGVyZmx5
QWZ0ZXJGbGF0dGVuaW5nKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFZNCiAgICAg
c2V0QnV0dGVyZmx5KHZtLCBuZXdCdXR0ZXJmbHkpOwogfQogCi11aW50MzJfdCBKU09iamVjdDo6
Z2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVj
dCogb2JqZWN0KQordWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5n
SlNQcm94eShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3Ry
dWN0dXJlKHZtKTsKLSAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUodm0sIG9iamVjdCkpCi0gICAgICAgIHJldHVybiAwOworICAgIEpTT2JqZWN0KiBvYmplY3Qg
PSB0aGlzOworCisgICAgd2hpbGUgKG9iamVjdC0+aW5oZXJpdHM8SlNQcm94eT4odm0pKQorICAg
ICAgICBvYmplY3QgPSBqc0Nhc3Q8SlNQcm94eSo+KG9iamVjdCktPnRhcmdldCgpOworCiAgICAg
c3dpdGNoIChvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5E
RVhJTkdfVFlQRVM6CiAgICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgorICAg
ICAgICAvLyBSZWdhcmRsZXNzIG9mIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSBjb25kaXRp
b24sIGl0IHJldHVybnMgemVyby4KICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIAogICAgIGNh
c2UgQUxMX0lOVDMyX0lOREVYSU5HX1RZUEVTOgogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5E
RVhJTkdfVFlQRVM6IHsKICAgICAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHkgPSBvYmplY3QtPmJ1
dHRlcmZseSgpOwotICAgICAgICB1bnNpZ25lZCB1c2VkTGVuZ3RoID0gYnV0dGVyZmx5LT5wdWJs
aWNMZW5ndGgoKTsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRMZW5ndGg7
ICsraSkgeworICAgICAgICB1bnNpZ25lZCBlbnVtZXJhYmxlTGVuZ3RoID0gYnV0dGVyZmx5LT5w
dWJsaWNMZW5ndGgoKTsKKyAgICAgICAgaWYgKCFlbnVtZXJhYmxlTGVuZ3RoKQorICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgIGlmIChvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkKKyAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW51bWVyYWJsZUxlbmd0aDsgKytpKSB7
CiAgICAgICAgICAgICBpZiAoIWJ1dHRlcmZseS0+Y29udGlndW91cygpLmF0KG9iamVjdCwgaSkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHVz
ZWRMZW5ndGg7CisgICAgICAgIHJldHVybiBlbnVtZXJhYmxlTGVuZ3RoOwogICAgIH0KICAgICAg
ICAgCiAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIEJ1dHRl
cmZseSogYnV0dGVyZmx5ID0gb2JqZWN0LT5idXR0ZXJmbHkoKTsKLSAgICAgICAgdW5zaWduZWQg
dXNlZExlbmd0aCA9IGJ1dHRlcmZseS0+cHVibGljTGVuZ3RoKCk7Ci0gICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCB1c2VkTGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdW5zaWduZWQgZW51
bWVyYWJsZUxlbmd0aCA9IGJ1dHRlcmZseS0+cHVibGljTGVuZ3RoKCk7CisgICAgICAgIGlmICgh
ZW51bWVyYWJsZUxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBpZiAob2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVj
dCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGVudW1lcmFibGVMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgZG91YmxlIHZhbHVlID0g
YnV0dGVyZmx5LT5jb250aWd1b3VzRG91YmxlKCkuYXQob2JqZWN0LCBpKTsKICAgICAgICAgICAg
IGlmICh2YWx1ZSAhPSB2YWx1ZSkKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAg
fQotICAgICAgICByZXR1cm4gdXNlZExlbmd0aDsKKyAgICAgICAgcmV0dXJuIGVudW1lcmFibGVM
ZW5ndGg7CiAgICAgfQogICAgICAgICAKICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVY
SU5HX1RZUEVTOiB7CkBAIC0zNzkyLDEyICszODAzLDE2IEBAIHVpbnQzMl90IEpTT2JqZWN0Ojpn
ZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0
KiBvCiAgICAgICAgIGlmIChzdG9yYWdlLT5tX3NwYXJzZU1hcC5nZXQoKSkKICAgICAgICAgICAg
IHJldHVybiAwOwogICAgICAgICAKLSAgICAgICAgdW5zaWduZWQgdXNlZFZlY3Rvckxlbmd0aCA9
IHN0ZDo6bWluKHN0b3JhZ2UtPmxlbmd0aCgpLCBzdG9yYWdlLT52ZWN0b3JMZW5ndGgoKSk7Ci0g
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2VkVmVjdG9yTGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgdW5zaWduZWQgZW51bWVyYWJsZUxlbmd0aCA9IHN0ZDo6bWluKHN0b3JhZ2UtPmxl
bmd0aCgpLCBzdG9yYWdlLT52ZWN0b3JMZW5ndGgoKSk7CisgICAgICAgIGlmICghZW51bWVyYWJs
ZUxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBpZiAob2JqZWN0LT5zdHJ1
Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCisgICAg
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudW1l
cmFibGVMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgaWYgKCFzdG9yYWdlLT5tX3ZlY3Rvcltp
XSkKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQotICAgICAgICByZXR1cm4g
dXNlZFZlY3Rvckxlbmd0aDsKKyAgICAgICAgcmV0dXJuIGVudW1lcmFibGVMZW5ndGg7CiAgICAg
fQogICAgICAgICAKICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmgKaW5kZXggYzk4OWU4OTZhZjNkMTQ3OWIyZDBlNTYwMzI2N2Q1ODlkMDUzMmQyMi4u
ZGU1YThlMDE4NzdiMWM0NGE5MTAwNGUwZTFhNWM5YjZiNDJkZjExMCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC02ODUsNyArNjg1LDcgQEAgY2xhc3MgSlNP
YmplY3QgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGdldE93
bk5vbkluZGV4UHJvcGVydHlOYW1lcyhKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5
JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7CiAgICAgdm9pZCBnZXROb25SZWlmaWVkU3RhdGlj
UHJvcGVydHlOYW1lcyhWTSYsIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVz
TW9kZSk7CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgdWludDMyX3QgZ2V0RW51bWVy
YWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0Kik7CisgICAgSlNfRVhQT1JUX1BS
SVZBVEUgdWludDMyX3QgZ2V0RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5KEpTR2xvYmFs
T2JqZWN0Kik7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU1ZhbHVlIHRvUHJpbWl0aXZlKEpT
R2xvYmFsT2JqZWN0KiwgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSA9IE5vUHJlZmVyZW5jZSkgY29u
c3Q7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgZG91YmxlIHRvTnVtYmVyKEpTR2xvYmFsT2JqZWN0
KikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1By
b3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmNwcAppbmRleCA4YTViNjljNWU5NWQwMmZlNGE1YmFj
N2JlY2U4NzExN2VmYTRkODc0Li5lNGZiOGUwZWM2OGM0MDkyODg5OTdiYjgzOTM0ZDMyMTE4N2Y2
OTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
UHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCB2b2lkIGdldEVu
dW1lcmFibGVQcm9wZXJ0eU5hbWVzKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBiYXNlLCBQcgogICAgIH0gZWxzZSB7CiAgICAgICAgIGdldE93blByb3BlcnR5TmFtZXMo
YmFzZSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAg
ICAgIC8vIHxwcm9wZXJ0eU5hbWVzfCBjb250YWlucyBhbGwgaW5kZXhlZCBwcm9wZXJ0aWVzLCBz
byBkaXNhYmxlIGVudW1lcmF0aW9uIGJhc2VkIG9uIGdldEVudW1lcmFibGVMZW5ndGgoKS4KKyAg
ICAgICAgLy8gfHByb3BlcnR5TmFtZXN8IGNvbnRhaW5zIGFsbCBpbmRleGVkIHByb3BlcnRpZXMs
IHNvIGRpc2FibGUgZW51bWVyYXRpb24gYmFzZWQgb24gZ2V0RW51bWVyYWJsZUxlbmd0aFRyYWNp
bmdKU1Byb3h5KCkuCiAgICAgICAgIGluZGV4ZWRMZW5ndGggPSAwOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IuaAppbmRleCBhMTg0ZDlkM2QyMzg1NWQ2NjY4NzIxMDJmMzI4NjgyMDQ3NjhhMmM1Li4x
NWY0M2RhMDE1ZDZmYjFlNzQ3ZGY3MWI1M2NiODBhNmQwNTNjYTkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3Iu
aApAQCAtMTA4LDcgKzEwOCw3IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHBy
b3BlcnR5TmFtZUVudW1lcmF0b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iCiAgICAgVk0mIHZt
ID0gZ2V0Vk0oZ2xvYmFsT2JqZWN0KTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7CiAKLSAgICB1aW50MzJfdCBpbmRleGVkTGVuZ3RoID0gYmFzZS0+bWV0aG9kVGFi
bGUodm0pLT5nZXRFbnVtZXJhYmxlTGVuZ3RoKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgdWlu
dDMyX3QgaW5kZXhlZExlbmd0aCA9IGJhc2UtPmdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5nSlNQ
cm94eShnbG9iYWxPYmplY3QpOwogCiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBlbnVt
ZXJhdG9yID0gbnVsbHB0cjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNQcm94eS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5
LmNwcAppbmRleCAzNzY2ODE1NWMzNGQ4NTYxNDgyNzYyMDMzYjQ2YTY5OGRiNWZiYTRjLi4yOGY2
NzVlMGU4NGRkOGNkNTQwOWNlYmU3Zjk4Yjk1OWUzYmFjM2NmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1Byb3h5LmNwcApAQCAtMTE4LDEyICsxMTgsNiBAQCBib29sIEpTUHJv
eHk6OmRlbGV0ZVByb3BlcnR5QnlJbmRleChKU0NlbGwqIGNlbGwsIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsCiAgICAgcmV0dXJuIHRoaXNPYmplY3QtPnRhcmdldCgpLT5tZXRob2RUYWJs
ZShnbG9iYWxPYmplY3QtPnZtKCkpLT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgodGhpc09iamVjdC0+
dGFyZ2V0KCksIGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lKTsKIH0KIAotdWludDMyX3QgSlNQ
cm94eTo6Z2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdCogb2JqZWN0KQotewotICAgIEpTUHJveHkqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNQ
cm94eSo+KG9iamVjdCk7Ci0gICAgcmV0dXJuIHRoaXNPYmplY3QtPnRhcmdldCgpLT5tZXRob2RU
YWJsZShnbG9iYWxPYmplY3QtPnZtKCkpLT5nZXRFbnVtZXJhYmxlTGVuZ3RoKGdsb2JhbE9iamVj
dCwgdGhpc09iamVjdC0+dGFyZ2V0KCkpOwotfQotCiB2b2lkIEpTUHJveHk6OmdldE93blByb3Bl
cnR5TmFtZXMoSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
UHJvcGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIERvbnRFbnVtUHJvcGVydGllc01vZGUg
bW9kZSkKIHsKICAgICBKU1Byb3h5KiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTUHJveHkqPihvYmpl
Y3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm94eS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm94eS5oCmluZGV4IDYzYzIyYWE5
NjEyODZhYzM4YTEzYTM4NmFhMTUyZDljNTcxZjBkNzcuLjU1OGY2NmZjMDY3NGY5MjBmZDFhYmZj
OGMxY2U4YmNjMDBhZjU0YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTUHJveHkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5
LmgKQEAgLTk2LDcgKzk2LDYgQEAgY2xhc3MgSlNQcm94eSA6IHB1YmxpYyBKU05vbkZpbmFsT2Jq
ZWN0IHsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShK
U0NlbGwqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgRGVsZXRlUHJvcGVydHlTbG90
Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHlCeUlu
ZGV4KEpTQ2VsbCosIEpTR2xvYmFsT2JqZWN0KiwgdW5zaWduZWQpOwogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIHN0YXRpYyB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBKU0dsb2Jh
bE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7Ci0g
ICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHVpbnQzMl90IGdldEVudW1lcmFibGVMZW5ndGgo
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCopOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRp
YyBib29sIGRlZmluZU93blByb3BlcnR5KEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBQcm9w
ZXJ0eU5hbWUsIGNvbnN0IFByb3BlcnR5RGVzY3JpcHRvciYsIGJvb2wgc2hvdWxkVGhyb3cpOwog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29sIHNldFByb3RvdHlwZShKU09iamVjdCos
IEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSwgYm9vbCBzaG91bGRUaHJvd0lmQ2FudFNldCk7CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIEpTVmFsdWUgZ2V0UHJvdG90eXBlKEpTT2JqZWN0
KiwgSlNHbG9iYWxPYmplY3QqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421806</attachid>
            <date>2021-03-01 03:57:59 -0800</date>
            <delta_ts>2021-03-01 04:13:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222539-20210301035758.patch</filename>
            <type>text/plain</type>
            <size>14230</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NGU5YWZjYWQyMDAyMDUzMzZlOGY1MzE5NzhmZTFjNmE4ZGU2ZGViLi4yODZjYjc4NWFlNjVkM2Q1
ZmQzODRlZTA4YWJmNTY3NmI0ZjEwMmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MiBAQAorMjAyMS0wMy0wMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbmFtZSBnZXRFbnVtZXJhYmxlTGVuZ3RoIHRvIGdldEVudW1l
cmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eSwgYW5kIHJlbW92ZSBpbmRpcmVjdCBjYWxsIG9mIGdl
dEVudW1lcmFibGVMZW5ndGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjUzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vdyBnZXRFbnVtZXJhYmxlTGVuZ3RoIGlzIG9ubHkgb3ZlcnJpZGRlbiBieSBK
U1Byb3h5LiBBbmQgdGhpcyBpcyBjYWxsZWQgaW4gdGhlIGNyaXRpY2FsIHBhdGggb2YgcHJvcGVy
dHlOYW1lRW51bWVyYXRvci4KKyAgICAgICAgV2Ugc2hvdWxkIG5vdCB1c2UgaW5kaXJlY3QgY2Fs
bCBmb3IgZ2V0RW51bWVyYWJsZUxlbmd0aC4gSW4gdGhpcyBwYXRjaCwgd2UgYWRkIEpTUHJveHkg
dHJhY2luZyBpbnRvIGdldEVudW1lcmFibGVMZW5ndGgsCisgICAgICAgIHJlbmFtZSBnZXRFbnVt
ZXJhYmxlTGVuZ3RoIHRvIGdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eSwgYW5kIGRp
cmVjdGx5IGNhbGwgaXQuCisKKyAgICAgICAgV2UgYWxzbyBhdm9pZCBjYWxsaW5nIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSBpbiBnZXRFbnVtZXJhYmxlTGVuZ3RoVHJhY2luZ0pTUHJveHkg
d2hlbiBpdCBpcyBtZWFuaW5nbGVzcy4gRm9yIGV4YW1wbGUsCisgICAgICAgIGlmIHRoZSBvYmpl
Y3QgaXMgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTLCB0aGVuIHJlZ2FyZGxlc3Mgb2YgdGhlIGNv
bmRpdGlvbiBvZiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUsIHRoZSByZXN1bHQgb2YKKyAg
ICAgICAgZ2V0RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5IGlzIHplcm8uCisKKyAgICAg
ICAgKiBydW50aW1lL0NsYXNzSW5mby5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDYXN0Lmg6Cisg
ICAgICAgICogcnVudGltZS9KU0NlbGwuY3BwOgorICAgICAgICAoSlNDOjpKU0NlbGw6OmdldEVu
dW1lcmFibGVMZW5ndGgpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6Cisg
ICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpn
ZXRFbnVtZXJhYmxlTGVuZ3RoVHJhY2luZ0pTUHJveHkpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6Z2V0RW51bWVyYWJsZUxlbmd0aCk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9KU09i
amVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmNwcDoK
KyAgICAgICAgKEpTQzo6Z2V0RW51bWVyYWJsZVByb3BlcnR5TmFtZXMpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmg6CisgICAgICAgIChKU0M6OnByb3BlcnR5
TmFtZUVudW1lcmF0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm94eS5jcHA6CisgICAgICAg
IChKU0M6OkpTUHJveHk6OmdldEVudW1lcmFibGVMZW5ndGgpOiBEZWxldGVkLgorICAgICAgICAq
IHJ1bnRpbWUvSlNQcm94eS5oOgorICAgICAgICAoSlNDOjpKU1Byb3h5OjpzdWJzcGFjZUZvcik6
IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTUHJveHk6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChKU0M6OkpTUHJveHk6OmNyZWF0ZVN0cnVjdHVyZSk6IERlbGV0ZWQuCisgICAgICAgIChK
U0M6OkpTUHJveHk6OnRhcmdldCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTUHJv
eHk6OnRhcmdldE9mZnNldCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTUHJveHk6OkpTUHJv
eHkpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU1Byb3h5OjpmaW5pc2hDcmVhdGlvbik6IERl
bGV0ZWQuCisKIDIwMjEtMDItMjggIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4K
IAogICAgICAgICBbSlNDXSBBZGQgZ2MgYW5kIGNsZWFyS2VwdE9iamVjdHMgdG8gJDI2MgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8uaAppbmRleCA4YjBjN2EwNWM3MTE5
N2M4NDMwMGY5MTcwNmYyMWIxOWE3ZmQ4YTQyLi5kNzg5YTdlNzAyNjY1ZGZjNTA5YjI0MGJkYTli
ZTc2NjAxYTI1ODVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
bGFzc0luZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8u
aApAQCAtODEsOSArODEsNiBAQCBzdHJ1Y3QgTWV0aG9kVGFibGUgewogICAgIEdldE93blByb3Bl
cnR5TmFtZXNGdW5jdGlvblB0ciBNRVRIT0RfVEFCTEVfRU5UUlkoZ2V0T3duUHJvcGVydHlOYW1l
cyk7CiAgICAgR2V0T3duUHJvcGVydHlOYW1lc0Z1bmN0aW9uUHRyIE1FVEhPRF9UQUJMRV9FTlRS
WShnZXRPd25TcGVjaWFsUHJvcGVydHlOYW1lcyk7CiAKLSAgICB1c2luZyBHZXRFbnVtZXJhYmxl
TGVuZ3RoRnVuY3Rpb25QdHIgPSB1aW50MzJfdCAoKikoSlNHbG9iYWxPYmplY3QqLCBKU09iamVj
dCopOwotICAgIEdldEVudW1lcmFibGVMZW5ndGhGdW5jdGlvblB0ciBNRVRIT0RfVEFCTEVfRU5U
UlkoZ2V0RW51bWVyYWJsZUxlbmd0aCk7Ci0KICAgICB1c2luZyBDbGFzc05hbWVGdW5jdGlvblB0
ciA9IFN0cmluZyAoKikoY29uc3QgSlNPYmplY3QqLCBWTSYpOwogICAgIENsYXNzTmFtZUZ1bmN0
aW9uUHRyIE1FVEhPRF9UQUJMRV9FTlRSWShjbGFzc05hbWUpOwogCkBAIC0xNzIsNyArMTY5LDYg
QEAgc3RydWN0IE1ldGhvZFRhYmxlIHsKICAgICAgICAgJkNsYXNzTmFtZTo6ZGVmYXVsdFZhbHVl
LCBcCiAgICAgICAgICZDbGFzc05hbWU6OmdldE93blByb3BlcnR5TmFtZXMsIFwKICAgICAgICAg
JkNsYXNzTmFtZTo6Z2V0T3duU3BlY2lhbFByb3BlcnR5TmFtZXMsIFwKLSAgICAgICAgJkNsYXNz
TmFtZTo6Z2V0RW51bWVyYWJsZUxlbmd0aCwgXAogICAgICAgICAmQ2xhc3NOYW1lOjpjbGFzc05h
bWUsIFwKICAgICAgICAgJkNsYXNzTmFtZTo6dG9TdHJpbmdOYW1lLCBcCiAgICAgICAgICZDbGFz
c05hbWU6OmN1c3RvbUhhc0luc3RhbmNlLCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Nhc3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Q2FzdC5oCmluZGV4IDM1Y2YxNzgyNjViN2YzNjg2MWRjN2JiMTVhMTFkZTY0YzEzNTE3ZWMuLjUx
ODJhMzFlMWMwYjNlZDEwYTQ4YjI0ZTEyODA1N2Q4YjZhNDZiZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2FzdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ2FzdC5oCkBAIC03OSw2ICs3OSw3IEBAIHN0cnVjdCBKU1R5cGVSYW5n
ZSB7CiAgICAgbWFjcm8oSlNBcnJheUJ1ZmZlciwgSlNUeXBlOjpBcnJheUJ1ZmZlclR5cGUsIEpT
VHlwZTo6QXJyYXlCdWZmZXJUeXBlKSBcCiAgICAgbWFjcm8oSlNBcnJheUJ1ZmZlclZpZXcsIEZp
cnN0VHlwZWRBcnJheVR5cGUsIExhc3RUeXBlZEFycmF5VHlwZSkgXAogICAgIG1hY3JvKEpTUHJv
bWlzZSwgSlNUeXBlOjpKU1Byb21pc2VUeXBlLCBKU1R5cGU6OkpTUHJvbWlzZVR5cGUpIFwKKyAg
ICBtYWNybyhKU1Byb3h5LCBKU1R5cGU6OlB1cmVGb3J3YXJkaW5nUHJveHlUeXBlLCBKU1R5cGU6
OkltcHVyZVByb3h5VHlwZSkgXAogICAgIG1hY3JvKEpTU2V0LCBKU1R5cGU6OkpTU2V0VHlwZSwg
SlNUeXBlOjpKU1NldFR5cGUpIFwKICAgICBtYWNybyhKU01hcCwgSlNUeXBlOjpKU01hcFR5cGUs
IEpTVHlwZTo6SlNNYXBUeXBlKSBcCiAgICAgbWFjcm8oSlNXZWFrU2V0LCBKU1R5cGU6OkpTV2Vh
a1NldFR5cGUsIEpTVHlwZTo6SlNXZWFrU2V0VHlwZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ2VsbC5jcHAKaW5kZXggYzQ3ZmVjMDYwZDkyOTliYTkxMzI3NThlNmQ2MjhmODJl
NzhmYWZjMy4uMTBjZTdhZmUzYjM5OTAwMDU3NTljMzMzZTMyNjJlNTEyZTk4MjdjZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCkBAIC0yNDUsMTIgKzI0NSw2IEBA
IGJvb2wgSlNDZWxsOjpkZWZpbmVPd25Qcm9wZXJ0eShKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0
KiwgUHJvcGVydHlOYW1lLCBjb25zdCBQCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi11aW50MzJf
dCBKU0NlbGw6OmdldEVudW1lcmFibGVMZW5ndGgoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCop
Ci17Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMDsKLX0K
LQogYm9vbCBKU0NlbGw6OnByZXZlbnRFeHRlbnNpb25zKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmpl
Y3QqKQogewogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IGZhMjcwNGVjZThmMzRmYmUzMzQwZWE2YTE4Mjhm
MGE5MTA1YmY0YjUuLjAzODUxMzNhMmZiNzU5YTMxMjc0ZGZlZjRmODZiNWFjMjM0NTZkNTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCkBAIC0yNDgsNyArMjQ4LDYgQEAg
Y2xhc3MgSlNDZWxsIDogcHVibGljIEhlYXBDZWxsIHsKICAgICBzdGF0aWMgTk9fUkVUVVJOX0RV
RV9UT19DUkFTSCB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBKU0dsb2JhbE9i
amVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7CiAgICAg
c3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggdm9pZCBnZXRPd25TcGVjaWFsUHJvcGVydHlO
YW1lcyhKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lQXJyYXkmLCBEb250
RW51bVByb3BlcnRpZXNNb2RlKTsKIAotICAgIHN0YXRpYyB1aW50MzJfdCBnZXRFbnVtZXJhYmxl
TGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqKTsKICAgICBzdGF0aWMgTk9fUkVUVVJO
X0RVRV9UT19DUkFTSCBib29sIHByZXZlbnRFeHRlbnNpb25zKEpTT2JqZWN0KiwgSlNHbG9iYWxP
YmplY3QqKTsKICAgICBzdGF0aWMgTk9fUkVUVVJOX0RVRV9UT19DUkFTSCBib29sIGlzRXh0ZW5z
aWJsZShKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9E
VUVfVE9fQ1JBU0ggYm9vbCBzZXRQcm90b3R5cGUoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCos
IEpTVmFsdWUsIGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
Y3BwCmluZGV4IGE3MTdiOWJmMmJmY2NjMDM5NmI2MmRkN2IzNmIxMTQyODEwOGNmN2YuLjJhNWZl
MGI5MTljN2I5MWYyMzE4MWI0NDI2YWYyMzE5Nzg2NTA5NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKQEAgLTM3NTQsMzcgKzM3NTQsNDggQEAgdm9pZCBK
U09iamVjdDo6c2hpZnRCdXR0ZXJmbHlBZnRlckZsYXR0ZW5pbmcoY29uc3QgR0NTYWZlQ29uY3Vy
cmVudEpTTG9ja2VyJiwgVk0KICAgICBzZXRCdXR0ZXJmbHkodm0sIG5ld0J1dHRlcmZseSk7CiB9
CiAKLXVpbnQzMl90IEpTT2JqZWN0OjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QpCit1aW50MzJfdCBKU09iamVjdDo6Z2V0
RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwotICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwotICAgIGlmIChzdHJ1Y3R1cmUtPmhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkKLSAgICAgICAgcmV0dXJuIDA7
CisgICAgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7CisKKyAgICB3aGlsZSAob2JqZWN0LT5pbmhl
cml0czxKU1Byb3h5Pih2bSkpCisgICAgICAgIG9iamVjdCA9IGpzQ2FzdDxKU1Byb3h5Kj4ob2Jq
ZWN0KS0+dGFyZ2V0KCk7CisKICAgICBzd2l0Y2ggKG9iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHsK
ICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICBjYXNlIEFMTF9VTkRFQ0lE
RURfSU5ERVhJTkdfVFlQRVM6CisgICAgICAgIC8vIFJlZ2FyZGxlc3Mgb2YgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlIGNvbmRpdGlvbiwgaXQgcmV0dXJucyB6ZXJvLgogICAgICAgICByZXR1
cm4gMDsKICAgICAgICAgCiAgICAgY2FzZSBBTExfSU5UMzJfSU5ERVhJTkdfVFlQRVM6CiAgICAg
Y2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzogewogICAgICAgICBCdXR0ZXJmbHkq
IGJ1dHRlcmZseSA9IG9iamVjdC0+YnV0dGVyZmx5KCk7Ci0gICAgICAgIHVuc2lnbmVkIHVzZWRM
ZW5ndGggPSBidXR0ZXJmbHktPnB1YmxpY0xlbmd0aCgpOwotICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgdXNlZExlbmd0aDsgKytpKSB7CisgICAgICAgIHVuc2lnbmVkIGVudW1lcmFi
bGVMZW5ndGggPSBidXR0ZXJmbHktPnB1YmxpY0xlbmd0aCgpOworICAgICAgICBpZiAoIWVudW1l
cmFibGVMZW5ndGgpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgaWYgKG9iamVjdC0+
c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpKQor
ICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBl
bnVtZXJhYmxlTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIGlmICghYnV0dGVyZmx5LT5jb250
aWd1b3VzKCkuYXQob2JqZWN0LCBpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAg
ICAgfQotICAgICAgICByZXR1cm4gdXNlZExlbmd0aDsKKyAgICAgICAgcmV0dXJuIGVudW1lcmFi
bGVMZW5ndGg7CiAgICAgfQogICAgICAgICAKICAgICBjYXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdf
VFlQRVM6IHsKICAgICAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHkgPSBvYmplY3QtPmJ1dHRlcmZs
eSgpOwotICAgICAgICB1bnNpZ25lZCB1c2VkTGVuZ3RoID0gYnV0dGVyZmx5LT5wdWJsaWNMZW5n
dGgoKTsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRMZW5ndGg7ICsraSkg
eworICAgICAgICB1bnNpZ25lZCBlbnVtZXJhYmxlTGVuZ3RoID0gYnV0dGVyZmx5LT5wdWJsaWNM
ZW5ndGgoKTsKKyAgICAgICAgaWYgKCFlbnVtZXJhYmxlTGVuZ3RoKQorICAgICAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgIGlmIChvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW51bWVyYWJsZUxlbmd0aDsgKytpKSB7CiAgICAg
ICAgICAgICBkb3VibGUgdmFsdWUgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKS5hdChv
YmplY3QsIGkpOwogICAgICAgICAgICAgaWYgKHZhbHVlICE9IHZhbHVlKQogICAgICAgICAgICAg
ICAgIHJldHVybiAwOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiB1c2VkTGVuZ3RoOworICAg
ICAgICByZXR1cm4gZW51bWVyYWJsZUxlbmd0aDsKICAgICB9CiAgICAgICAgIAogICAgIGNhc2Ug
QUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKQEAgLTM3OTIsMTIgKzM4MDMsMTYg
QEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIG8KICAgICAgICAgaWYgKHN0b3JhZ2UtPm1fc3BhcnNl
TWFwLmdldCgpKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIAotICAgICAgICB1bnNp
Z25lZCB1c2VkVmVjdG9yTGVuZ3RoID0gc3RkOjptaW4oc3RvcmFnZS0+bGVuZ3RoKCksIHN0b3Jh
Z2UtPnZlY3Rvckxlbmd0aCgpKTsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVz
ZWRWZWN0b3JMZW5ndGg7ICsraSkgeworICAgICAgICB1bnNpZ25lZCBlbnVtZXJhYmxlTGVuZ3Ro
ID0gc3RkOjptaW4oc3RvcmFnZS0+bGVuZ3RoKCksIHN0b3JhZ2UtPnZlY3Rvckxlbmd0aCgpKTsK
KyAgICAgICAgaWYgKCFlbnVtZXJhYmxlTGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIGlmIChvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgb2JqZWN0KSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgZW51bWVyYWJsZUxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICBp
ZiAoIXN0b3JhZ2UtPm1fdmVjdG9yW2ldKQogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAg
ICAgICB9Ci0gICAgICAgIHJldHVybiB1c2VkVmVjdG9yTGVuZ3RoOworICAgICAgICByZXR1cm4g
ZW51bWVyYWJsZUxlbmd0aDsKICAgICB9CiAgICAgICAgIAogICAgIGRlZmF1bHQ6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAppbmRleCBjOTg5ZTg5NmFmM2QxNDc5YjJk
MGU1NjAzMjY3ZDU4OWQwNTMyZDIyLi5kZTVhOGUwMTg3N2IxYzQ0YTkxMDA0ZTBlMWE1YzliNmI0
MmRmMTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAgLTY4
NSw3ICs2ODUsNyBAQCBjbGFzcyBKU09iamVjdCA6IHB1YmxpYyBKU0NlbGwgewogICAgIEpTX0VY
UE9SVF9QUklWQVRFIHZvaWQgZ2V0T3duTm9uSW5kZXhQcm9wZXJ0eU5hbWVzKEpTR2xvYmFsT2Jq
ZWN0KiwgUHJvcGVydHlOYW1lQXJyYXkmLCBEb250RW51bVByb3BlcnRpZXNNb2RlKTsKICAgICB2
b2lkIGdldE5vblJlaWZpZWRTdGF0aWNQcm9wZXJ0eU5hbWVzKFZNJiwgUHJvcGVydHlOYW1lQXJy
YXkmLCBEb250RW51bVByb3BlcnRpZXNNb2RlKTsKIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0
YXRpYyB1aW50MzJfdCBnZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmpl
Y3QqKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSB1aW50MzJfdCBnZXRFbnVtZXJhYmxlTGVuZ3Ro
VHJhY2luZ0pTUHJveHkoSlNHbG9iYWxPYmplY3QqKTsKIAogICAgIEpTX0VYUE9SVF9QUklWQVRF
IEpTVmFsdWUgdG9QcmltaXRpdmUoSlNHbG9iYWxPYmplY3QqLCBQcmVmZXJyZWRQcmltaXRpdmVU
eXBlID0gTm9QcmVmZXJlbmNlKSBjb25zdDsKICAgICBKU19FWFBPUlRfUFJJVkFURSBkb3VibGUg
dG9OdW1iZXIoSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwCmluZGV4
IDhhNWI2OWM1ZTk1ZDAyZmU0YTViYWM3YmVjZTg3MTE3ZWZhNGQ4NzQuLmU0ZmI4ZTBlYzY4YzQw
OTI4ODk5N2JiODM5MzRkMzIxMTg3ZjY5NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmNwcApAQCAtMTI0
LDcgKzEyNCw3IEBAIHZvaWQgZ2V0RW51bWVyYWJsZVByb3BlcnR5TmFtZXMoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGJhc2UsIFByCiAgICAgfSBlbHNlIHsKICAgICAg
ICAgZ2V0T3duUHJvcGVydHlOYW1lcyhiYXNlKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgdm9pZCgpKTsKLSAgICAgICAgLy8gfHByb3BlcnR5TmFtZXN8IGNvbnRhaW5zIGFs
bCBpbmRleGVkIHByb3BlcnRpZXMsIHNvIGRpc2FibGUgZW51bWVyYXRpb24gYmFzZWQgb24gZ2V0
RW51bWVyYWJsZUxlbmd0aCgpLgorICAgICAgICAvLyB8cHJvcGVydHlOYW1lc3wgY29udGFpbnMg
YWxsIGluZGV4ZWQgcHJvcGVydGllcywgc28gZGlzYWJsZSBlbnVtZXJhdGlvbiBiYXNlZCBvbiBn
ZXRFbnVtZXJhYmxlTGVuZ3RoVHJhY2luZ0pTUHJveHkoKS4KICAgICAgICAgaW5kZXhlZExlbmd0
aCA9IDA7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCmluZGV4IGExODRkOWQzZDIzODU1ZDY2Njg3
MjEwMmYzMjg2ODIwNDc2OGEyYzUuLjE1ZjQzZGEwMTVkNmZiMWU3NDdkZjcxYjUzY2I4MGE2ZDA1
M2NhOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVy
dHlOYW1lRW51bWVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
UHJvcGVydHlOYW1lRW51bWVyYXRvci5oCkBAIC0xMDgsNyArMTA4LDcgQEAgaW5saW5lIEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvciogcHJvcGVydHlOYW1lRW51bWVyYXRvcihKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2IKICAgICBWTSYgdm0gPSBnZXRWTShnbG9iYWxPYmplY3QpOwogICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIHVpbnQzMl90IGluZGV4ZWRM
ZW5ndGggPSBiYXNlLT5tZXRob2RUYWJsZSh2bSktPmdldEVudW1lcmFibGVMZW5ndGgoZ2xvYmFs
T2JqZWN0LCBiYXNlKTsKKyAgICB1aW50MzJfdCBpbmRleGVkTGVuZ3RoID0gYmFzZS0+Z2V0RW51
bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5KGdsb2JhbE9iamVjdCk7CiAKICAgICBKU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3IqIGVudW1lcmF0b3IgPSBudWxscHRyOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTUHJveHkuY3BwCmluZGV4IDM3NjY4MTU1YzM0ZDg1NjE0ODI3NjIw
MzNiNDZhNjk4ZGI1ZmJhNGMuLjI4ZjY3NWUwZTg0ZGQ4Y2Q1NDA5Y2ViZTdmOThiOTU5ZTNiYWMz
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuY3BwCkBAIC0xMTgs
MTIgKzExOCw2IEBAIGJvb2wgSlNQcm94eTo6ZGVsZXRlUHJvcGVydHlCeUluZGV4KEpTQ2VsbCog
Y2VsbCwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwKICAgICByZXR1cm4gdGhpc09iamVj
dC0+dGFyZ2V0KCktPm1ldGhvZFRhYmxlKGdsb2JhbE9iamVjdC0+dm0oKSktPmRlbGV0ZVByb3Bl
cnR5QnlJbmRleCh0aGlzT2JqZWN0LT50YXJnZXQoKSwgZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5h
bWUpOwogfQogCi11aW50MzJfdCBKU1Byb3h5OjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgSlNQcm94eSog
dGhpc09iamVjdCA9IGpzQ2FzdDxKU1Byb3h5Kj4ob2JqZWN0KTsKLSAgICByZXR1cm4gdGhpc09i
amVjdC0+dGFyZ2V0KCktPm1ldGhvZFRhYmxlKGdsb2JhbE9iamVjdC0+dm0oKSktPmdldEVudW1l
cmFibGVMZW5ndGgoZ2xvYmFsT2JqZWN0LCB0aGlzT2JqZWN0LT50YXJnZXQoKSk7Ci19Ci0KIHZv
aWQgSlNQcm94eTo6Z2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVjdCogb2JqZWN0LCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywg
RG9udEVudW1Qcm9wZXJ0aWVzTW9kZSBtb2RlKQogewogICAgIEpTUHJveHkqIHRoaXNPYmplY3Qg
PSBqc0Nhc3Q8SlNQcm94eSo+KG9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1Byb3h5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1Byb3h5LmgKaW5kZXggNjNjMjJhYTk2MTI4NmFjMzhhMTNhMzg2YWExNTJkOWM1NzFmMGQ3Ny4u
NTRiMGYwZDkwN2QyZTdhNWY0Mjc3OWFmZjBkZDE5ZGY0ZGFhZDE1YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm94eS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTUHJveHkuaApAQCAtMjksNyArMjksNyBAQAogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotY2xhc3MgSlNQcm94eSA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKK2NsYXNz
IEpTUHJveHkgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6CiAgICAg
dXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0
T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlOYW1lcyB8IE92ZXJyaWRl
c0dldFByb3RvdHlwZSB8IEludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldo
ZW5MZW5ndGhJc05vdFplcm87CkBAIC05Niw3ICs5Niw2IEBAIGNsYXNzIEpTUHJveHkgOiBwdWJs
aWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wg
ZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWUsIERl
bGV0ZVByb3BlcnR5U2xvdCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29sIGRl
bGV0ZVByb3BlcnR5QnlJbmRleChKU0NlbGwqLCBKU0dsb2JhbE9iamVjdCosIHVuc2lnbmVkKTsK
ICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEpT
T2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIERvbnRFbnVtUHJv
cGVydGllc01vZGUpOwotICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB1aW50MzJfdCBnZXRF
bnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqKTsKICAgICBKU19FWFBP
UlRfUFJJVkFURSBzdGF0aWMgYm9vbCBkZWZpbmVPd25Qcm9wZXJ0eShKU09iamVjdCosIEpTR2xv
YmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lLCBjb25zdCBQcm9wZXJ0eURlc2NyaXB0b3ImLCBib29s
IHNob3VsZFRocm93KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBzZXRQcm90
b3R5cGUoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUsIGJvb2wgc2hvdWxkVGhy
b3dJZkNhbnRTZXQpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBKU1ZhbHVlIGdldFBy
b3RvdHlwZShKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0Kik7Cg==
</data>
<flag name="commit-queue"
          id="440763"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421807</attachid>
            <date>2021-03-01 04:07:05 -0800</date>
            <delta_ts>2021-03-02 13:43:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222539-20210301040705.patch</filename>
            <type>text/plain</type>
            <size>13509</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NGU5YWZjYWQyMDAyMDUzMzZlOGY1MzE5NzhmZTFjNmE4ZGU2ZGViLi43ZDJhOWNiZjU1Mjg3YmQw
ZDhjMDlhZjEwY2QwOGNmMzc4NWFmMzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAyMS0wMy0wMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbmFtZSBnZXRFbnVtZXJhYmxlTGVuZ3RoIHRvIGdldEVudW1l
cmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eSwgYW5kIHJlbW92ZSBpbmRpcmVjdCBjYWxsIG9mIGdl
dEVudW1lcmFibGVMZW5ndGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMjUzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vdyBnZXRFbnVtZXJhYmxlTGVuZ3RoIGlzIG9ubHkgb3ZlcnJpZGRlbiBieSBK
U1Byb3h5LiBBbmQgdGhpcyBpcyBjYWxsZWQgaW4gdGhlIGNyaXRpY2FsIHBhdGggb2YgcHJvcGVy
dHlOYW1lRW51bWVyYXRvci4KKyAgICAgICAgV2Ugc2hvdWxkIG5vdCB1c2UgaW5kaXJlY3QgY2Fs
bCBmb3IgZ2V0RW51bWVyYWJsZUxlbmd0aC4gSW4gdGhpcyBwYXRjaCwgd2UgYWRkIEpTUHJveHkg
dHJhY2luZyBpbnRvIGdldEVudW1lcmFibGVMZW5ndGgsCisgICAgICAgIHJlbmFtZSBnZXRFbnVt
ZXJhYmxlTGVuZ3RoIHRvIGdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eSwgYW5kIGRp
cmVjdGx5IGNhbGwgaXQuCisKKyAgICAgICAgV2UgYWxzbyBhdm9pZCBjYWxsaW5nIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSBpbiBnZXRFbnVtZXJhYmxlTGVuZ3RoVHJhY2luZ0pTUHJveHkg
d2hlbiBpdCBpcyBtZWFuaW5nbGVzcy4gRm9yIGV4YW1wbGUsCisgICAgICAgIGlmIHRoZSBvYmpl
Y3QgaXMgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTLCB0aGVuIHJlZ2FyZGxlc3Mgb2YgdGhlIGNv
bmRpdGlvbiBvZiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUsIHRoZSByZXN1bHQgb2YKKyAg
ICAgICAgZ2V0RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5IGlzIHplcm8uCisKKyAgICAg
ICAgKiBydW50aW1lL0NsYXNzSW5mby5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDYXN0Lmg6Cisg
ICAgICAgICogcnVudGltZS9KU0NlbGwuY3BwOgorICAgICAgICAoSlNDOjpKU0NlbGw6OmdldEVu
dW1lcmFibGVMZW5ndGgpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6Cisg
ICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpn
ZXRFbnVtZXJhYmxlTGVuZ3RoVHJhY2luZ0pTUHJveHkpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6Z2V0RW51bWVyYWJsZUxlbmd0aCk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9KU09i
amVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmNwcDoK
KyAgICAgICAgKEpTQzo6Z2V0RW51bWVyYWJsZVByb3BlcnR5TmFtZXMpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmg6CisgICAgICAgIChKU0M6OnByb3BlcnR5
TmFtZUVudW1lcmF0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm94eS5jcHA6CisgICAgICAg
IChKU0M6OkpTUHJveHk6OmdldEVudW1lcmFibGVMZW5ndGgpOiBEZWxldGVkLgorICAgICAgICAq
IHJ1bnRpbWUvSlNQcm94eS5oOgorCiAyMDIxLTAyLTI4ICBZdXN1a2UgU3V6dWtpICA8eXN1enVr
aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gQWRkIGdjIGFuZCBjbGVhcktlcHRPYmplY3Rz
IHRvICQyNjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNz
SW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKaW5kZXgg
OGIwYzdhMDVjNzExOTdjODQzMDBmOTE3MDZmMjFiMTlhN2ZkOGE0Mi4uZDc4OWE3ZTcwMjY2NWRm
YzUwOWIyNDBiZGE5YmU3NjYwMWEyNTg1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ2xhc3NJbmZvLmgKQEAgLTgxLDkgKzgxLDYgQEAgc3RydWN0IE1ldGhvZFRhYmxlIHsKICAg
ICBHZXRPd25Qcm9wZXJ0eU5hbWVzRnVuY3Rpb25QdHIgTUVUSE9EX1RBQkxFX0VOVFJZKGdldE93
blByb3BlcnR5TmFtZXMpOwogICAgIEdldE93blByb3BlcnR5TmFtZXNGdW5jdGlvblB0ciBNRVRI
T0RfVEFCTEVfRU5UUlkoZ2V0T3duU3BlY2lhbFByb3BlcnR5TmFtZXMpOwogCi0gICAgdXNpbmcg
R2V0RW51bWVyYWJsZUxlbmd0aEZ1bmN0aW9uUHRyID0gdWludDMyX3QgKCopKEpTR2xvYmFsT2Jq
ZWN0KiwgSlNPYmplY3QqKTsKLSAgICBHZXRFbnVtZXJhYmxlTGVuZ3RoRnVuY3Rpb25QdHIgTUVU
SE9EX1RBQkxFX0VOVFJZKGdldEVudW1lcmFibGVMZW5ndGgpOwotCiAgICAgdXNpbmcgQ2xhc3NO
YW1lRnVuY3Rpb25QdHIgPSBTdHJpbmcgKCopKGNvbnN0IEpTT2JqZWN0KiwgVk0mKTsKICAgICBD
bGFzc05hbWVGdW5jdGlvblB0ciBNRVRIT0RfVEFCTEVfRU5UUlkoY2xhc3NOYW1lKTsKIApAQCAt
MTcyLDcgKzE2OSw2IEBAIHN0cnVjdCBNZXRob2RUYWJsZSB7CiAgICAgICAgICZDbGFzc05hbWU6
OmRlZmF1bHRWYWx1ZSwgXAogICAgICAgICAmQ2xhc3NOYW1lOjpnZXRPd25Qcm9wZXJ0eU5hbWVz
LCBcCiAgICAgICAgICZDbGFzc05hbWU6OmdldE93blNwZWNpYWxQcm9wZXJ0eU5hbWVzLCBcCi0g
ICAgICAgICZDbGFzc05hbWU6OmdldEVudW1lcmFibGVMZW5ndGgsIFwKICAgICAgICAgJkNsYXNz
TmFtZTo6Y2xhc3NOYW1lLCBcCiAgICAgICAgICZDbGFzc05hbWU6OnRvU3RyaW5nTmFtZSwgXAog
ICAgICAgICAmQ2xhc3NOYW1lOjpjdXN0b21IYXNJbnN0YW5jZSwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDYXN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Nhc3QuaAppbmRleCAzNWNmMTc4MjY1YjdmMzY4NjFkYzdiYjE1YTExZGU2
NGMxMzUxN2VjLi41MTgyYTMxZTFjMGIzZWQxMGE0OGIyNGUxMjgwNTdkOGI2YTQ2YmYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nhc3QuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nhc3QuaApAQCAtNzksNiArNzksNyBAQCBzdHJ1
Y3QgSlNUeXBlUmFuZ2UgewogICAgIG1hY3JvKEpTQXJyYXlCdWZmZXIsIEpTVHlwZTo6QXJyYXlC
dWZmZXJUeXBlLCBKU1R5cGU6OkFycmF5QnVmZmVyVHlwZSkgXAogICAgIG1hY3JvKEpTQXJyYXlC
dWZmZXJWaWV3LCBGaXJzdFR5cGVkQXJyYXlUeXBlLCBMYXN0VHlwZWRBcnJheVR5cGUpIFwKICAg
ICBtYWNybyhKU1Byb21pc2UsIEpTVHlwZTo6SlNQcm9taXNlVHlwZSwgSlNUeXBlOjpKU1Byb21p
c2VUeXBlKSBcCisgICAgbWFjcm8oSlNQcm94eSwgSlNUeXBlOjpQdXJlRm9yd2FyZGluZ1Byb3h5
VHlwZSwgSlNUeXBlOjpJbXB1cmVQcm94eVR5cGUpIFwKICAgICBtYWNybyhKU1NldCwgSlNUeXBl
OjpKU1NldFR5cGUsIEpTVHlwZTo6SlNTZXRUeXBlKSBcCiAgICAgbWFjcm8oSlNNYXAsIEpTVHlw
ZTo6SlNNYXBUeXBlLCBKU1R5cGU6OkpTTWFwVHlwZSkgXAogICAgIG1hY3JvKEpTV2Vha1NldCwg
SlNUeXBlOjpKU1dlYWtTZXRUeXBlLCBKU1R5cGU6OkpTV2Vha1NldFR5cGUpIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IGM0N2ZlYzA2MGQ5Mjk5YmE5MTMy
NzU4ZTZkNjI4ZjgyZTc4ZmFmYzMuLjEwY2U3YWZlM2IzOTkwMDA1NzU5YzMzM2UzMjYyZTUxMmU5
ODI3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAtMjQ1
LDEyICsyNDUsNiBAQCBib29sIEpTQ2VsbDo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBK
U0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgY29uc3QgUAogICAgIHJldHVybiBmYWxzZTsK
IH0KIAotdWludDMyX3QgSlNDZWxsOjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFsT2JqZWN0
KiwgSlNPYmplY3QqKQotewotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
cmV0dXJuIDA7Ci19Ci0KIGJvb2wgSlNDZWxsOjpwcmV2ZW50RXh0ZW5zaW9ucyhKU09iamVjdCos
IEpTR2xvYmFsT2JqZWN0KikKIHsKICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCBmYTI3MDRlY2U4ZjM0ZmJl
MzM0MGVhNmExODI4ZjBhOTEwNWJmNGI1Li4wMzg1MTMzYTJmYjc1OWEzMTI3NGRmZWY0Zjg2YjVh
YzIzNDU2ZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nl
bGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMjQ4
LDcgKzI0OCw2IEBAIGNsYXNzIEpTQ2VsbCA6IHB1YmxpYyBIZWFwQ2VsbCB7CiAgICAgc3RhdGlj
IE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0
KiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIERvbnRFbnVtUHJvcGVydGll
c01vZGUpOwogICAgIHN0YXRpYyBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIHZvaWQgZ2V0T3duU3Bl
Y2lhbFByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFt
ZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7CiAKLSAgICBzdGF0aWMgdWludDMyX3Qg
Z2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0Kik7CiAgICAgc3Rh
dGljIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggYm9vbCBwcmV2ZW50RXh0ZW5zaW9ucyhKU09iamVj
dCosIEpTR2xvYmFsT2JqZWN0Kik7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0gg
Ym9vbCBpc0V4dGVuc2libGUoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCopOwogICAgIHN0YXRp
YyBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIGJvb2wgc2V0UHJvdG90eXBlKEpTT2JqZWN0KiwgSlNH
bG9iYWxPYmplY3QqLCBKU1ZhbHVlLCBib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmNwcAppbmRleCBhNzE3YjliZjJiZmNjYzAzOTZiNjJkZDdiMzZiMTE0Mjgx
MDhjZjdmLi4yYTVmZTBiOTE5YzdiOTFmMjMxODFiNDQyNmFmMjMxOTc4NjUwOTViIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBAIC0zNzU0LDM3ICszNzU0
LDQ4IEBAIHZvaWQgSlNPYmplY3Q6OnNoaWZ0QnV0dGVyZmx5QWZ0ZXJGbGF0dGVuaW5nKGNvbnN0
IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFZNCiAgICAgc2V0QnV0dGVyZmx5KHZtLCBuZXdC
dXR0ZXJmbHkpOwogfQogCi11aW50MzJfdCBKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogb2JqZWN0KQordWludDMyX3Qg
SlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3RydWN0dXJlKHZtKTsKLSAgICBpZiAo
c3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCi0gICAg
ICAgIHJldHVybiAwOworICAgIEpTT2JqZWN0KiBvYmplY3QgPSB0aGlzOworCisgICAgd2hpbGUg
KG9iamVjdC0+aW5oZXJpdHM8SlNQcm94eT4odm0pKQorICAgICAgICBvYmplY3QgPSBqc0Nhc3Q8
SlNQcm94eSo+KG9iamVjdCktPnRhcmdldCgpOworCiAgICAgc3dpdGNoIChvYmplY3QtPmluZGV4
aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgY2Fz
ZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgorICAgICAgICAvLyBSZWdhcmRsZXNzIG9m
IGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSBjb25kaXRpb24sIGl0IHJldHVybnMgemVyby4K
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0lOVDMyX0lOREVYSU5H
X1RZUEVTOgogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAg
ICAgQnV0dGVyZmx5KiBidXR0ZXJmbHkgPSBvYmplY3QtPmJ1dHRlcmZseSgpOwotICAgICAgICB1
bnNpZ25lZCB1c2VkTGVuZ3RoID0gYnV0dGVyZmx5LT5wdWJsaWNMZW5ndGgoKTsKLSAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRMZW5ndGg7ICsraSkgeworICAgICAgICB1bnNp
Z25lZCBlbnVtZXJhYmxlTGVuZ3RoID0gYnV0dGVyZmx5LT5wdWJsaWNMZW5ndGgoKTsKKyAgICAg
ICAgaWYgKCFlbnVtZXJhYmxlTGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
IGlmIChvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSwgb2JqZWN0KSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgZW51bWVyYWJsZUxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICBpZiAoIWJ1
dHRlcmZseS0+Y29udGlndW91cygpLmF0KG9iamVjdCwgaSkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHVzZWRMZW5ndGg7CisgICAgICAgIHJl
dHVybiBlbnVtZXJhYmxlTGVuZ3RoOwogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBBTExfRE9V
QkxFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5ID0gb2Jq
ZWN0LT5idXR0ZXJmbHkoKTsKLSAgICAgICAgdW5zaWduZWQgdXNlZExlbmd0aCA9IGJ1dHRlcmZs
eS0+cHVibGljTGVuZ3RoKCk7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2Vk
TGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdW5zaWduZWQgZW51bWVyYWJsZUxlbmd0aCA9IGJ1dHRl
cmZseS0+cHVibGljTGVuZ3RoKCk7CisgICAgICAgIGlmICghZW51bWVyYWJsZUxlbmd0aCkKKyAg
ICAgICAgICAgIHJldHVybiAwOworICAgICAgICBpZiAob2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5o
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCisgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudW1lcmFibGVMZW5ndGg7
ICsraSkgewogICAgICAgICAgICAgZG91YmxlIHZhbHVlID0gYnV0dGVyZmx5LT5jb250aWd1b3Vz
RG91YmxlKCkuYXQob2JqZWN0LCBpKTsKICAgICAgICAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gdXNl
ZExlbmd0aDsKKyAgICAgICAgcmV0dXJuIGVudW1lcmFibGVMZW5ndGg7CiAgICAgfQogICAgICAg
ICAKICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CkBAIC0zNzky
LDEyICszODAzLDE2IEBAIHVpbnQzMl90IEpTT2JqZWN0OjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvCiAgICAgICAgIGlmIChzdG9y
YWdlLT5tX3NwYXJzZU1hcC5nZXQoKSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAK
LSAgICAgICAgdW5zaWduZWQgdXNlZFZlY3Rvckxlbmd0aCA9IHN0ZDo6bWluKHN0b3JhZ2UtPmxl
bmd0aCgpLCBzdG9yYWdlLT52ZWN0b3JMZW5ndGgoKSk7Ci0gICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCB1c2VkVmVjdG9yTGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdW5zaWduZWQgZW51
bWVyYWJsZUxlbmd0aCA9IHN0ZDo6bWluKHN0b3JhZ2UtPmxlbmd0aCgpLCBzdG9yYWdlLT52ZWN0
b3JMZW5ndGgoKSk7CisgICAgICAgIGlmICghZW51bWVyYWJsZUxlbmd0aCkKKyAgICAgICAgICAg
IHJldHVybiAwOworICAgICAgICBpZiAob2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudW1lcmFibGVMZW5ndGg7ICsraSkgewog
ICAgICAgICAgICAgaWYgKCFzdG9yYWdlLT5tX3ZlY3RvcltpXSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gMDsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gdXNlZFZlY3Rvckxlbmd0aDsKKyAg
ICAgICAgcmV0dXJuIGVudW1lcmFibGVMZW5ndGg7CiAgICAgfQogICAgICAgICAKICAgICBkZWZh
dWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKaW5kZXggYzk4OWU4
OTZhZjNkMTQ3OWIyZDBlNTYwMzI2N2Q1ODlkMDUzMmQyMi4uZGU1YThlMDE4NzdiMWM0NGE5MTAw
NGUwZTFhNWM5YjZiNDJkZjExMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5oCkBAIC02ODUsNyArNjg1LDcgQEAgY2xhc3MgSlNPYmplY3QgOiBwdWJsaWMgSlNDZWxs
IHsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGdldE93bk5vbkluZGV4UHJvcGVydHlOYW1l
cyhKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVz
TW9kZSk7CiAgICAgdm9pZCBnZXROb25SZWlmaWVkU3RhdGljUHJvcGVydHlOYW1lcyhWTSYsIFBy
b3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7CiAKLSAgICBKU19FWFBP
UlRfUFJJVkFURSBzdGF0aWMgdWludDMyX3QgZ2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0Kik7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgdWludDMyX3QgZ2V0RW51
bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5KEpTR2xvYmFsT2JqZWN0Kik7CiAKICAgICBKU19F
WFBPUlRfUFJJVkFURSBKU1ZhbHVlIHRvUHJpbWl0aXZlKEpTR2xvYmFsT2JqZWN0KiwgUHJlZmVy
cmVkUHJpbWl0aXZlVHlwZSA9IE5vUHJlZmVyZW5jZSkgY29uc3Q7CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgZG91YmxlIHRvTnVtYmVyKEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yLmNwcAppbmRleCA4YTViNjljNWU5NWQwMmZlNGE1YmFjN2JlY2U4NzExN2VmYTRkODc0Li5l
NGZiOGUwZWM2OGM0MDkyODg5OTdiYjgzOTM0ZDMyMTE4N2Y2OTU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRv
ci5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCB2b2lkIGdldEVudW1lcmFibGVQcm9wZXJ0eU5hbWVz
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBiYXNlLCBQcgogICAgIH0g
ZWxzZSB7CiAgICAgICAgIGdldE93blByb3BlcnR5TmFtZXMoYmFzZSk7CiAgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgICAgIC8vIHxwcm9wZXJ0eU5hbWVz
fCBjb250YWlucyBhbGwgaW5kZXhlZCBwcm9wZXJ0aWVzLCBzbyBkaXNhYmxlIGVudW1lcmF0aW9u
IGJhc2VkIG9uIGdldEVudW1lcmFibGVMZW5ndGgoKS4KKyAgICAgICAgLy8gfHByb3BlcnR5TmFt
ZXN8IGNvbnRhaW5zIGFsbCBpbmRleGVkIHByb3BlcnRpZXMsIHNvIGRpc2FibGUgZW51bWVyYXRp
b24gYmFzZWQgb24gZ2V0RW51bWVyYWJsZUxlbmd0aFRyYWNpbmdKU1Byb3h5KCkuCiAgICAgICAg
IGluZGV4ZWRMZW5ndGggPSAwOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAppbmRleCBhMTg0ZDlk
M2QyMzg1NWQ2NjY4NzIxMDJmMzI4NjgyMDQ3NjhhMmM1Li4xNWY0M2RhMDE1ZDZmYjFlNzQ3ZGY3
MWI1M2NiODBhNmQwNTNjYTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaApAQCAtMTA4LDcgKzEwOCw3IEBA
IGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnR5TmFtZUVudW1lcmF0b3Io
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iCiAgICAgVk0mIHZtID0gZ2V0Vk0oZ2xvYmFsT2JqZWN0
KTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICB1aW50
MzJfdCBpbmRleGVkTGVuZ3RoID0gYmFzZS0+bWV0aG9kVGFibGUodm0pLT5nZXRFbnVtZXJhYmxl
TGVuZ3RoKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgdWludDMyX3QgaW5kZXhlZExlbmd0aCA9
IGJhc2UtPmdldEVudW1lcmFibGVMZW5ndGhUcmFjaW5nSlNQcm94eShnbG9iYWxPYmplY3QpOwog
CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBlbnVtZXJhdG9yID0gbnVsbHB0cjsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm94eS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5LmNwcAppbmRleCAzNzY2ODE1NWMz
NGQ4NTYxNDgyNzYyMDMzYjQ2YTY5OGRiNWZiYTRjLi4yOGY2NzVlMGU4NGRkOGNkNTQwOWNlYmU3
Zjk4Yjk1OWUzYmFjM2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5
LmNwcApAQCAtMTE4LDEyICsxMTgsNiBAQCBib29sIEpTUHJveHk6OmRlbGV0ZVByb3BlcnR5QnlJ
bmRleChKU0NlbGwqIGNlbGwsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsCiAgICAgcmV0
dXJuIHRoaXNPYmplY3QtPnRhcmdldCgpLT5tZXRob2RUYWJsZShnbG9iYWxPYmplY3QtPnZtKCkp
LT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgodGhpc09iamVjdC0+dGFyZ2V0KCksIGdsb2JhbE9iamVj
dCwgcHJvcGVydHlOYW1lKTsKIH0KIAotdWludDMyX3QgSlNQcm94eTo6Z2V0RW51bWVyYWJsZUxl
bmd0aChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogb2JqZWN0KQotewot
ICAgIEpTUHJveHkqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNQcm94eSo+KG9iamVjdCk7Ci0gICAg
cmV0dXJuIHRoaXNPYmplY3QtPnRhcmdldCgpLT5tZXRob2RUYWJsZShnbG9iYWxPYmplY3QtPnZt
KCkpLT5nZXRFbnVtZXJhYmxlTGVuZ3RoKGdsb2JhbE9iamVjdCwgdGhpc09iamVjdC0+dGFyZ2V0
KCkpOwotfQotCiB2b2lkIEpTUHJveHk6OmdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3QqIG9i
amVjdCwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUHJvcGVydHlOYW1lQXJyYXkmIHBy
b3BlcnR5TmFtZXMsIERvbnRFbnVtUHJvcGVydGllc01vZGUgbW9kZSkKIHsKICAgICBKU1Byb3h5
KiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTUHJveHkqPihvYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm94eS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNQcm94eS5oCmluZGV4IDYzYzIyYWE5NjEyODZhYzM4YTEzYTM4NmFhMTUy
ZDljNTcxZjBkNzcuLjU1OGY2NmZjMDY3NGY5MjBmZDFhYmZjOGMxY2U4YmNjMDBhZjU0YzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5LmgKQEAgLTk2LDcgKzk2LDYgQEAg
Y2xhc3MgSlNQcm94eSA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICBKU19FWFBPUlRf
UFJJVkFURSBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBKU0dsb2JhbE9iamVj
dCosIFByb3BlcnR5TmFtZSwgRGVsZXRlUHJvcGVydHlTbG90Jik7CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHlCeUluZGV4KEpTQ2VsbCosIEpTR2xvYmFs
T2JqZWN0KiwgdW5zaWduZWQpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkIGdl
dE93blByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFt
ZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUg
c3RhdGljIHVpbnQzMl90IGdldEVudW1lcmFibGVMZW5ndGgoSlNHbG9iYWxPYmplY3QqLCBKU09i
amVjdCopOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29sIGRlZmluZU93blByb3Bl
cnR5KEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5hbWUsIGNvbnN0IFByb3Bl
cnR5RGVzY3JpcHRvciYsIGJvb2wgc2hvdWxkVGhyb3cpOwogICAgIEpTX0VYUE9SVF9QUklWQVRF
IHN0YXRpYyBib29sIHNldFByb3RvdHlwZShKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0KiwgSlNW
YWx1ZSwgYm9vbCBzaG91bGRUaHJvd0lmQ2FudFNldCk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
c3RhdGljIEpTVmFsdWUgZ2V0UHJvdG90eXBlKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421988</attachid>
            <date>2021-03-02 13:43:39 -0800</date>
            <delta_ts>2021-03-02 13:49:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222539-20210302134339.patch</filename>
            <type>text/plain</type>
            <size>12443</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZTI4ODc2ODE2OWY5MjdhNTY3YzYzZDc4YTRhYjljNzljOWU1OWQ4Li40NTQ0Yzc5ZWRhOWQwZGI0
NGE4ZGU2NThlZTM4YTc0NTNjZTRhYWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAyMS0wMy0wMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE9wdGltaXplIGdldEVudW1lcmFibGVMZW5ndGgKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjUzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyBnZXRFbnVtZXJhYmxl
TGVuZ3RoIGlzIG9ubHkgb3ZlcnJpZGRlbiBieSBKU1Byb3h5LiBBbmQgdGhpcyBpcyBjYWxsZWQg
aW4gdGhlIGNyaXRpY2FsIHBhdGggb2YgcHJvcGVydHlOYW1lRW51bWVyYXRvci4KKyAgICAgICAg
V2Ugc2hvdWxkIG5vdCB1c2UgaW5kaXJlY3QgY2FsbCBmb3IgZ2V0RW51bWVyYWJsZUxlbmd0aC4g
V2UgcmVtb3ZlIGluZGlyZWN0IGZ1bmN0aW9ucyBmb3IgZ2V0RW51bWVyYWJsZUxlbmd0aC4gRm9y
IEpTUHJveHksCisgICAgICAgIGFueSByZXN1bHRzIGlzIE9LIHNpbmNlIGFueXdheSBKU1Byb3h5
IGRvZXMgbm90IHV0aWxpemUgdGhlIHJlc3VsdCBvZiB0aGlzIGZ1bmN0aW9uIHNpbmNlIGl0IGNh
bm5vdCB1c2UgZmFzdCBpbmRleCBlbnVtZXJhdG9yLgorCisgICAgICAgIFdlIGFsc28gYXZvaWQg
Y2FsbGluZyBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUgaW4gZ2V0RW51bWVyYWJsZUxlbmd0
aCB3aGVuIGl0IGlzIG1lYW5pbmdsZXNzLiBGb3IgZXhhbXBsZSwKKyAgICAgICAgaWYgdGhlIG9i
amVjdCBpcyBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVMsIHRoZW4gcmVnYXJkbGVzcyBvZiB0aGUg
Y29uZGl0aW9uIG9mIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSwgdGhlIHJlc3VsdCBvZgor
ICAgICAgICBnZXRFbnVtZXJhYmxlTGVuZ3RoIGlzIHplcm8uCisKKyAgICAgICAgKiBydW50aW1l
L0NsYXNzSW5mby5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDYXN0Lmg6CisgICAgICAgICogcnVu
dGltZS9KU0NlbGwuY3BwOgorICAgICAgICAoSlNDOjpKU0NlbGw6OmdldEVudW1lcmFibGVMZW5n
dGgpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisgICAgICAgICogcnVu
dGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRFbnVtZXJhYmxl
TGVuZ3RoKToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgICogcnVudGlt
ZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaDoKKyAgICAgICAgKEpTQzo6cHJvcGVydHlOYW1l
RW51bWVyYXRvcik6CisgICAgICAgICogcnVudGltZS9KU1Byb3h5LmNwcDoKKyAgICAgICAgKEpT
Qzo6SlNQcm94eTo6Z2V0RW51bWVyYWJsZUxlbmd0aCk6IERlbGV0ZWQuCisgICAgICAgICogcnVu
dGltZS9KU1Byb3h5Lmg6CisKIDIwMjEtMDMtMDIgIEJKIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+
CiAKICAgICAgICAgW0NvY29hXSBSRUdSRVNTSU9OKHIyNzI3NTIpOiBmaXggc29tZSBpbnRlcm5h
bCBidWlsZHMgdGhhdCB1c2UgV1RGU3RyaW5nOjpXVEZTdHJpbmcoTlNTdHJpbmcgKikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKaW5kZXggOGIwYzdhMDVjNzExOTdj
ODQzMDBmOTE3MDZmMjFiMTlhN2ZkOGE0Mi4uZDc4OWE3ZTcwMjY2NWRmYzUwOWIyNDBiZGE5YmU3
NjYwMWEyNTg1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xh
c3NJbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgK
QEAgLTgxLDkgKzgxLDYgQEAgc3RydWN0IE1ldGhvZFRhYmxlIHsKICAgICBHZXRPd25Qcm9wZXJ0
eU5hbWVzRnVuY3Rpb25QdHIgTUVUSE9EX1RBQkxFX0VOVFJZKGdldE93blByb3BlcnR5TmFtZXMp
OwogICAgIEdldE93blByb3BlcnR5TmFtZXNGdW5jdGlvblB0ciBNRVRIT0RfVEFCTEVfRU5UUlko
Z2V0T3duU3BlY2lhbFByb3BlcnR5TmFtZXMpOwogCi0gICAgdXNpbmcgR2V0RW51bWVyYWJsZUxl
bmd0aEZ1bmN0aW9uUHRyID0gdWludDMyX3QgKCopKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3Qq
KTsKLSAgICBHZXRFbnVtZXJhYmxlTGVuZ3RoRnVuY3Rpb25QdHIgTUVUSE9EX1RBQkxFX0VOVFJZ
KGdldEVudW1lcmFibGVMZW5ndGgpOwotCiAgICAgdXNpbmcgQ2xhc3NOYW1lRnVuY3Rpb25QdHIg
PSBTdHJpbmcgKCopKGNvbnN0IEpTT2JqZWN0KiwgVk0mKTsKICAgICBDbGFzc05hbWVGdW5jdGlv
blB0ciBNRVRIT0RfVEFCTEVfRU5UUlkoY2xhc3NOYW1lKTsKIApAQCAtMTcyLDcgKzE2OSw2IEBA
IHN0cnVjdCBNZXRob2RUYWJsZSB7CiAgICAgICAgICZDbGFzc05hbWU6OmRlZmF1bHRWYWx1ZSwg
XAogICAgICAgICAmQ2xhc3NOYW1lOjpnZXRPd25Qcm9wZXJ0eU5hbWVzLCBcCiAgICAgICAgICZD
bGFzc05hbWU6OmdldE93blNwZWNpYWxQcm9wZXJ0eU5hbWVzLCBcCi0gICAgICAgICZDbGFzc05h
bWU6OmdldEVudW1lcmFibGVMZW5ndGgsIFwKICAgICAgICAgJkNsYXNzTmFtZTo6Y2xhc3NOYW1l
LCBcCiAgICAgICAgICZDbGFzc05hbWU6OnRvU3RyaW5nTmFtZSwgXAogICAgICAgICAmQ2xhc3NO
YW1lOjpjdXN0b21IYXNJbnN0YW5jZSwgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNDYXN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nh
c3QuaAppbmRleCAzNWNmMTc4MjY1YjdmMzY4NjFkYzdiYjE1YTExZGU2NGMxMzUxN2VjLi41MTgy
YTMxZTFjMGIzZWQxMGE0OGIyNGUxMjgwNTdkOGI2YTQ2YmYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nhc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Nhc3QuaApAQCAtNzksNiArNzksNyBAQCBzdHJ1Y3QgSlNUeXBlUmFuZ2Ug
ewogICAgIG1hY3JvKEpTQXJyYXlCdWZmZXIsIEpTVHlwZTo6QXJyYXlCdWZmZXJUeXBlLCBKU1R5
cGU6OkFycmF5QnVmZmVyVHlwZSkgXAogICAgIG1hY3JvKEpTQXJyYXlCdWZmZXJWaWV3LCBGaXJz
dFR5cGVkQXJyYXlUeXBlLCBMYXN0VHlwZWRBcnJheVR5cGUpIFwKICAgICBtYWNybyhKU1Byb21p
c2UsIEpTVHlwZTo6SlNQcm9taXNlVHlwZSwgSlNUeXBlOjpKU1Byb21pc2VUeXBlKSBcCisgICAg
bWFjcm8oSlNQcm94eSwgSlNUeXBlOjpQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSwgSlNUeXBlOjpJ
bXB1cmVQcm94eVR5cGUpIFwKICAgICBtYWNybyhKU1NldCwgSlNUeXBlOjpKU1NldFR5cGUsIEpT
VHlwZTo6SlNTZXRUeXBlKSBcCiAgICAgbWFjcm8oSlNNYXAsIEpTVHlwZTo6SlNNYXBUeXBlLCBK
U1R5cGU6OkpTTWFwVHlwZSkgXAogICAgIG1hY3JvKEpTV2Vha1NldCwgSlNUeXBlOjpKU1dlYWtT
ZXRUeXBlLCBKU1R5cGU6OkpTV2Vha1NldFR5cGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NlbGwuY3BwCmluZGV4IGM0N2ZlYzA2MGQ5Mjk5YmE5MTMyNzU4ZTZkNjI4ZjgyZTc4
ZmFmYzMuLjEwY2U3YWZlM2IzOTkwMDA1NzU5YzMzM2UzMjYyZTUxMmU5ODI3Y2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAtMjQ1LDEyICsyNDUsNiBAQCBi
b29sIEpTQ2VsbDo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCos
IFByb3BlcnR5TmFtZSwgY29uc3QgUAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdWludDMyX3Qg
SlNDZWxsOjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqKQot
ewotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0K
IGJvb2wgSlNDZWxsOjpwcmV2ZW50RXh0ZW5zaW9ucyhKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0
KikKIHsKICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NlbGwuaAppbmRleCBmYTI3MDRlY2U4ZjM0ZmJlMzM0MGVhNmExODI4ZjBh
OTEwNWJmNGI1Li4wMzg1MTMzYTJmYjc1OWEzMTI3NGRmZWY0Zjg2YjVhYzIzNDU2ZDUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMjQ4LDcgKzI0OCw2IEBAIGNs
YXNzIEpTQ2VsbCA6IHB1YmxpYyBIZWFwQ2VsbCB7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVf
VE9fQ1JBU0ggdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmpl
Y3QqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIERvbnRFbnVtUHJvcGVydGllc01vZGUpOwogICAgIHN0
YXRpYyBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIHZvaWQgZ2V0T3duU3BlY2lhbFByb3BlcnR5TmFt
ZXMoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVu
dW1Qcm9wZXJ0aWVzTW9kZSk7CiAKLSAgICBzdGF0aWMgdWludDMyX3QgZ2V0RW51bWVyYWJsZUxl
bmd0aChKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0Kik7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9E
VUVfVE9fQ1JBU0ggYm9vbCBwcmV2ZW50RXh0ZW5zaW9ucyhKU09iamVjdCosIEpTR2xvYmFsT2Jq
ZWN0Kik7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggYm9vbCBpc0V4dGVuc2li
bGUoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCopOwogICAgIHN0YXRpYyBOT19SRVRVUk5fRFVF
X1RPX0NSQVNIIGJvb2wgc2V0UHJvdG90eXBlKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBK
U1ZhbHVlLCBib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cAppbmRleCBhNzE3YjliZjJiZmNjYzAzOTZiNjJkZDdiMzZiMTE0MjgxMDhjZjdmLi41NTM4NzNj
OTNhMzliNjhhMTYyZWYwZjI3YzRhNTQxNTk1ODQwYmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBAIC0zNzU0LDM3ICszNzU0LDQ4IEBAIHZvaWQgSlNP
YmplY3Q6OnNoaWZ0QnV0dGVyZmx5QWZ0ZXJGbGF0dGVuaW5nKGNvbnN0IEdDU2FmZUNvbmN1cnJl
bnRKU0xvY2tlciYsIFZNCiAgICAgc2V0QnV0dGVyZmx5KHZtLCBuZXdCdXR0ZXJmbHkpOwogfQog
Ci11aW50MzJfdCBKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogb2JqZWN0KQordWludDMyX3QgSlNPYmplY3Q6OmdldEVu
dW1lcmFibGVMZW5ndGgoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBWTSYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBvYmpl
Y3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCBvYmplY3QpKQotICAgICAgICByZXR1cm4gMDsKKyAgICBKU09iamVjdCog
b2JqZWN0ID0gdGhpczsKKworICAgIHdoaWxlIChvYmplY3QtPmluaGVyaXRzPEpTUHJveHk+KHZt
KSkKKyAgICAgICAgb2JqZWN0ID0ganNDYXN0PEpTUHJveHkqPihvYmplY3QpLT50YXJnZXQoKTsK
KwogICAgIHN3aXRjaCAob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JM
QU5LX0lOREVYSU5HX1RZUEVTOgogICAgIGNhc2UgQUxMX1VOREVDSURFRF9JTkRFWElOR19UWVBF
UzoKKyAgICAgICAgLy8gUmVnYXJkbGVzcyBvZiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUg
Y29uZGl0aW9uLCBpdCByZXR1cm5zIHplcm8uCiAgICAgICAgIHJldHVybiAwOwogICAgICAgICAK
ICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICBjYXNlIEFMTF9DT05USUdV
T1VTX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5ID0gb2Jq
ZWN0LT5idXR0ZXJmbHkoKTsKLSAgICAgICAgdW5zaWduZWQgdXNlZExlbmd0aCA9IGJ1dHRlcmZs
eS0+cHVibGljTGVuZ3RoKCk7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2Vk
TGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdW5zaWduZWQgZW51bWVyYWJsZUxlbmd0aCA9IGJ1dHRl
cmZseS0+cHVibGljTGVuZ3RoKCk7CisgICAgICAgIGlmICghZW51bWVyYWJsZUxlbmd0aCkKKyAg
ICAgICAgICAgIHJldHVybiAwOworICAgICAgICBpZiAob2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5o
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCisgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVudW1lcmFibGVMZW5ndGg7
ICsraSkgewogICAgICAgICAgICAgaWYgKCFidXR0ZXJmbHktPmNvbnRpZ3VvdXMoKS5hdChvYmpl
Y3QsIGkpKQogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9Ci0gICAgICAgIHJl
dHVybiB1c2VkTGVuZ3RoOworICAgICAgICByZXR1cm4gZW51bWVyYWJsZUxlbmd0aDsKICAgICB9
CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RPVUJMRV9JTkRFWElOR19UWVBFUzogewogICAgICAg
ICBCdXR0ZXJmbHkqIGJ1dHRlcmZseSA9IG9iamVjdC0+YnV0dGVyZmx5KCk7Ci0gICAgICAgIHVu
c2lnbmVkIHVzZWRMZW5ndGggPSBidXR0ZXJmbHktPnB1YmxpY0xlbmd0aCgpOwotICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXNlZExlbmd0aDsgKytpKSB7CisgICAgICAgIHVuc2ln
bmVkIGVudW1lcmFibGVMZW5ndGggPSBidXR0ZXJmbHktPnB1YmxpY0xlbmd0aCgpOworICAgICAg
ICBpZiAoIWVudW1lcmFibGVMZW5ndGgpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
aWYgKG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
LCBvYmplY3QpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBlbnVtZXJhYmxlTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIGRvdWJsZSB2
YWx1ZSA9IGJ1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpLmF0KG9iamVjdCwgaSk7CiAgICAg
ICAgICAgICBpZiAodmFsdWUgIT0gdmFsdWUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHVzZWRMZW5ndGg7CisgICAgICAgIHJldHVybiBlbnVt
ZXJhYmxlTGVuZ3RoOwogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFH
RV9JTkRFWElOR19UWVBFUzogewpAQCAtMzc5MiwxMiArMzgwMywxNiBAQCB1aW50MzJfdCBKU09i
amVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdCogbwogICAgICAgICBpZiAoc3RvcmFnZS0+bV9zcGFyc2VNYXAuZ2V0KCkpCiAgICAg
ICAgICAgICByZXR1cm4gMDsKICAgICAgICAgCi0gICAgICAgIHVuc2lnbmVkIHVzZWRWZWN0b3JM
ZW5ndGggPSBzdGQ6Om1pbihzdG9yYWdlLT5sZW5ndGgoKSwgc3RvcmFnZS0+dmVjdG9yTGVuZ3Ro
KCkpOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXNlZFZlY3Rvckxlbmd0aDsg
KytpKSB7CisgICAgICAgIHVuc2lnbmVkIGVudW1lcmFibGVMZW5ndGggPSBzdGQ6Om1pbihzdG9y
YWdlLT5sZW5ndGgoKSwgc3RvcmFnZS0+dmVjdG9yTGVuZ3RoKCkpOworICAgICAgICBpZiAoIWVu
dW1lcmFibGVMZW5ndGgpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgaWYgKG9iamVj
dC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3Qp
KQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBlbnVtZXJhYmxlTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIGlmICghc3RvcmFnZS0+bV92
ZWN0b3JbaV0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAg
cmV0dXJuIHVzZWRWZWN0b3JMZW5ndGg7CisgICAgICAgIHJldHVybiBlbnVtZXJhYmxlTGVuZ3Ro
OwogICAgIH0KICAgICAgICAgCiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5oCmluZGV4IGM5ODllODk2YWYzZDE0NzliMmQwZTU2MDMyNjdkNTg5ZDA1
MzJkMjIuLjA0MTliMmViMGM2ODg1NTZlZGY2YWE4ZjJjMGNjNjk2NzI3ZTg2YTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaApAQCAtNjg1LDcgKzY4NSw3IEBAIGNs
YXNzIEpTT2JqZWN0IDogcHVibGljIEpTQ2VsbCB7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBnZXRPd25Ob25JbmRleFByb3BlcnR5TmFtZXMoSlNHbG9iYWxPYmplY3QqLCBQcm9wZXJ0eU5h
bWVBcnJheSYsIERvbnRFbnVtUHJvcGVydGllc01vZGUpOwogICAgIHZvaWQgZ2V0Tm9uUmVpZmll
ZFN0YXRpY1Byb3BlcnR5TmFtZXMoVk0mLCBQcm9wZXJ0eU5hbWVBcnJheSYsIERvbnRFbnVtUHJv
cGVydGllc01vZGUpOwogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHVpbnQzMl90IGdl
dEVudW1lcmFibGVMZW5ndGgoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCopOworICAgIEpTX0VY
UE9SVF9QUklWQVRFIHVpbnQzMl90IGdldEVudW1lcmFibGVMZW5ndGgoSlNHbG9iYWxPYmplY3Qq
KTsKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTVmFsdWUgdG9QcmltaXRpdmUoSlNHbG9iYWxP
YmplY3QqLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlID0gTm9QcmVmZXJlbmNlKSBjb25zdDsKICAg
ICBKU19FWFBPUlRfUFJJVkFURSBkb3VibGUgdG9OdW1iZXIoSlNHbG9iYWxPYmplY3QqKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlO
YW1lRW51bWVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yLmgKaW5kZXggYTE4NGQ5ZDNkMjM4NTVkNjY2ODcyMTAyZjMyODY4MjA0
NzY4YTJjNS4uMDIwMTFkNDFjN2Y2NmRhZDg4M2FlOGQ3NzBiNWQzZDI4NmNkNTA4NyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yLmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKiBwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYgog
ICAgIFZNJiB2bSA9IGdldFZNKGdsb2JhbE9iamVjdCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgdWludDMyX3QgaW5kZXhlZExlbmd0aCA9IGJhc2Ut
Pm1ldGhvZFRhYmxlKHZtKS0+Z2V0RW51bWVyYWJsZUxlbmd0aChnbG9iYWxPYmplY3QsIGJhc2Up
OworICAgIHVpbnQzMl90IGluZGV4ZWRMZW5ndGggPSBiYXNlLT5nZXRFbnVtZXJhYmxlTGVuZ3Ro
KGdsb2JhbE9iamVjdCk7CiAKICAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIGVudW1lcmF0
b3IgPSBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Byb3h5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuY3Bw
CmluZGV4IDM3NjY4MTU1YzM0ZDg1NjE0ODI3NjIwMzNiNDZhNjk4ZGI1ZmJhNGMuLjI4ZjY3NWUw
ZTg0ZGQ4Y2Q1NDA5Y2ViZTdmOThiOTU5ZTNiYWMzY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTUHJveHkuY3BwCkBAIC0xMTgsMTIgKzExOCw2IEBAIGJvb2wgSlNQcm94eTo6
ZGVsZXRlUHJvcGVydHlCeUluZGV4KEpTQ2VsbCogY2VsbCwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwKICAgICByZXR1cm4gdGhpc09iamVjdC0+dGFyZ2V0KCktPm1ldGhvZFRhYmxlKGds
b2JhbE9iamVjdC0+dm0oKSktPmRlbGV0ZVByb3BlcnR5QnlJbmRleCh0aGlzT2JqZWN0LT50YXJn
ZXQoKSwgZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUpOwogfQogCi11aW50MzJfdCBKU1Byb3h5
OjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBvYmplY3QpCi17Ci0gICAgSlNQcm94eSogdGhpc09iamVjdCA9IGpzQ2FzdDxKU1Byb3h5
Kj4ob2JqZWN0KTsKLSAgICByZXR1cm4gdGhpc09iamVjdC0+dGFyZ2V0KCktPm1ldGhvZFRhYmxl
KGdsb2JhbE9iamVjdC0+dm0oKSktPmdldEVudW1lcmFibGVMZW5ndGgoZ2xvYmFsT2JqZWN0LCB0
aGlzT2JqZWN0LT50YXJnZXQoKSk7Ci19Ci0KIHZvaWQgSlNQcm94eTo6Z2V0T3duUHJvcGVydHlO
YW1lcyhKU09iamVjdCogb2JqZWN0LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQcm9w
ZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSBtb2Rl
KQogewogICAgIEpTUHJveHkqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNQcm94eSo+KG9iamVjdCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5LmgKaW5kZXggNjNjMjJhYTk2MTI4
NmFjMzhhMTNhMzg2YWExNTJkOWM1NzFmMGQ3Ny4uNTU4ZjY2ZmMwNjc0ZjkyMGZkMWFiZmM4YzFj
ZThiY2MwMGFmNTRjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNQcm94eS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuaApA
QCAtOTYsNyArOTYsNiBAQCBjbGFzcyBKU1Byb3h5IDogcHVibGljIEpTTm9uRmluYWxPYmplY3Qg
ewogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29sIGRlbGV0ZVByb3BlcnR5KEpTQ2Vs
bCosIEpTR2xvYmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lLCBEZWxldGVQcm9wZXJ0eVNsb3QmKTsK
ICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eUJ5SW5kZXgo
SlNDZWxsKiwgSlNHbG9iYWxPYmplY3QqLCB1bnNpZ25lZCk7CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgc3RhdGljIHZvaWQgZ2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVjdCosIEpTR2xvYmFsT2Jq
ZWN0KiwgUHJvcGVydHlOYW1lQXJyYXkmLCBEb250RW51bVByb3BlcnRpZXNNb2RlKTsKLSAgICBK
U19FWFBPUlRfUFJJVkFURSBzdGF0aWMgdWludDMyX3QgZ2V0RW51bWVyYWJsZUxlbmd0aChKU0ds
b2JhbE9iamVjdCosIEpTT2JqZWN0Kik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJv
b2wgZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5
TmFtZSwgY29uc3QgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCBzaG91bGRUaHJvdyk7CiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgc2V0UHJvdG90eXBlKEpTT2JqZWN0KiwgSlNH
bG9iYWxPYmplY3QqLCBKU1ZhbHVlLCBib29sIHNob3VsZFRocm93SWZDYW50U2V0KTsKICAgICBK
U19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNWYWx1ZSBnZXRQcm90b3R5cGUoSlNPYmplY3QqLCBK
U0dsb2JhbE9iamVjdCopOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421992</attachid>
            <date>2021-03-02 13:49:31 -0800</date>
            <delta_ts>2021-03-02 15:33:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222539-20210302134931.patch</filename>
            <type>text/plain</type>
            <size>12344</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZTI4ODc2ODE2OWY5MjdhNTY3YzYzZDc4YTRhYjljNzljOWU1OWQ4Li40NTQ0Yzc5ZWRhOWQwZGI0
NGE4ZGU2NThlZTM4YTc0NTNjZTRhYWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAyMS0wMy0wMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE9wdGltaXplIGdldEVudW1lcmFibGVMZW5ndGgKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjUzOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyBnZXRFbnVtZXJhYmxl
TGVuZ3RoIGlzIG9ubHkgb3ZlcnJpZGRlbiBieSBKU1Byb3h5LiBBbmQgdGhpcyBpcyBjYWxsZWQg
aW4gdGhlIGNyaXRpY2FsIHBhdGggb2YgcHJvcGVydHlOYW1lRW51bWVyYXRvci4KKyAgICAgICAg
V2Ugc2hvdWxkIG5vdCB1c2UgaW5kaXJlY3QgY2FsbCBmb3IgZ2V0RW51bWVyYWJsZUxlbmd0aC4g
V2UgcmVtb3ZlIGluZGlyZWN0IGZ1bmN0aW9ucyBmb3IgZ2V0RW51bWVyYWJsZUxlbmd0aC4gRm9y
IEpTUHJveHksCisgICAgICAgIGFueSByZXN1bHRzIGlzIE9LIHNpbmNlIGFueXdheSBKU1Byb3h5
IGRvZXMgbm90IHV0aWxpemUgdGhlIHJlc3VsdCBvZiB0aGlzIGZ1bmN0aW9uIHNpbmNlIGl0IGNh
bm5vdCB1c2UgZmFzdCBpbmRleCBlbnVtZXJhdG9yLgorCisgICAgICAgIFdlIGFsc28gYXZvaWQg
Y2FsbGluZyBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUgaW4gZ2V0RW51bWVyYWJsZUxlbmd0
aCB3aGVuIGl0IGlzIG1lYW5pbmdsZXNzLiBGb3IgZXhhbXBsZSwKKyAgICAgICAgaWYgdGhlIG9i
amVjdCBpcyBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVMsIHRoZW4gcmVnYXJkbGVzcyBvZiB0aGUg
Y29uZGl0aW9uIG9mIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSwgdGhlIHJlc3VsdCBvZgor
ICAgICAgICBnZXRFbnVtZXJhYmxlTGVuZ3RoIGlzIHplcm8uCisKKyAgICAgICAgKiBydW50aW1l
L0NsYXNzSW5mby5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDYXN0Lmg6CisgICAgICAgICogcnVu
dGltZS9KU0NlbGwuY3BwOgorICAgICAgICAoSlNDOjpKU0NlbGw6OmdldEVudW1lcmFibGVMZW5n
dGgpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisgICAgICAgICogcnVu
dGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRFbnVtZXJhYmxl
TGVuZ3RoKToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgICogcnVudGlt
ZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaDoKKyAgICAgICAgKEpTQzo6cHJvcGVydHlOYW1l
RW51bWVyYXRvcik6CisgICAgICAgICogcnVudGltZS9KU1Byb3h5LmNwcDoKKyAgICAgICAgKEpT
Qzo6SlNQcm94eTo6Z2V0RW51bWVyYWJsZUxlbmd0aCk6IERlbGV0ZWQuCisgICAgICAgICogcnVu
dGltZS9KU1Byb3h5Lmg6CisKIDIwMjEtMDMtMDIgIEJKIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+
CiAKICAgICAgICAgW0NvY29hXSBSRUdSRVNTSU9OKHIyNzI3NTIpOiBmaXggc29tZSBpbnRlcm5h
bCBidWlsZHMgdGhhdCB1c2UgV1RGU3RyaW5nOjpXVEZTdHJpbmcoTlNTdHJpbmcgKikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKaW5kZXggOGIwYzdhMDVjNzExOTdj
ODQzMDBmOTE3MDZmMjFiMTlhN2ZkOGE0Mi4uZDc4OWE3ZTcwMjY2NWRmYzUwOWIyNDBiZGE5YmU3
NjYwMWEyNTg1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xh
c3NJbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgK
QEAgLTgxLDkgKzgxLDYgQEAgc3RydWN0IE1ldGhvZFRhYmxlIHsKICAgICBHZXRPd25Qcm9wZXJ0
eU5hbWVzRnVuY3Rpb25QdHIgTUVUSE9EX1RBQkxFX0VOVFJZKGdldE93blByb3BlcnR5TmFtZXMp
OwogICAgIEdldE93blByb3BlcnR5TmFtZXNGdW5jdGlvblB0ciBNRVRIT0RfVEFCTEVfRU5UUlko
Z2V0T3duU3BlY2lhbFByb3BlcnR5TmFtZXMpOwogCi0gICAgdXNpbmcgR2V0RW51bWVyYWJsZUxl
bmd0aEZ1bmN0aW9uUHRyID0gdWludDMyX3QgKCopKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3Qq
KTsKLSAgICBHZXRFbnVtZXJhYmxlTGVuZ3RoRnVuY3Rpb25QdHIgTUVUSE9EX1RBQkxFX0VOVFJZ
KGdldEVudW1lcmFibGVMZW5ndGgpOwotCiAgICAgdXNpbmcgQ2xhc3NOYW1lRnVuY3Rpb25QdHIg
PSBTdHJpbmcgKCopKGNvbnN0IEpTT2JqZWN0KiwgVk0mKTsKICAgICBDbGFzc05hbWVGdW5jdGlv
blB0ciBNRVRIT0RfVEFCTEVfRU5UUlkoY2xhc3NOYW1lKTsKIApAQCAtMTcyLDcgKzE2OSw2IEBA
IHN0cnVjdCBNZXRob2RUYWJsZSB7CiAgICAgICAgICZDbGFzc05hbWU6OmRlZmF1bHRWYWx1ZSwg
XAogICAgICAgICAmQ2xhc3NOYW1lOjpnZXRPd25Qcm9wZXJ0eU5hbWVzLCBcCiAgICAgICAgICZD
bGFzc05hbWU6OmdldE93blNwZWNpYWxQcm9wZXJ0eU5hbWVzLCBcCi0gICAgICAgICZDbGFzc05h
bWU6OmdldEVudW1lcmFibGVMZW5ndGgsIFwKICAgICAgICAgJkNsYXNzTmFtZTo6Y2xhc3NOYW1l
LCBcCiAgICAgICAgICZDbGFzc05hbWU6OnRvU3RyaW5nTmFtZSwgXAogICAgICAgICAmQ2xhc3NO
YW1lOjpjdXN0b21IYXNJbnN0YW5jZSwgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNDYXN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nh
c3QuaAppbmRleCAzNWNmMTc4MjY1YjdmMzY4NjFkYzdiYjE1YTExZGU2NGMxMzUxN2VjLi41MTgy
YTMxZTFjMGIzZWQxMGE0OGIyNGUxMjgwNTdkOGI2YTQ2YmYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nhc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Nhc3QuaApAQCAtNzksNiArNzksNyBAQCBzdHJ1Y3QgSlNUeXBlUmFuZ2Ug
ewogICAgIG1hY3JvKEpTQXJyYXlCdWZmZXIsIEpTVHlwZTo6QXJyYXlCdWZmZXJUeXBlLCBKU1R5
cGU6OkFycmF5QnVmZmVyVHlwZSkgXAogICAgIG1hY3JvKEpTQXJyYXlCdWZmZXJWaWV3LCBGaXJz
dFR5cGVkQXJyYXlUeXBlLCBMYXN0VHlwZWRBcnJheVR5cGUpIFwKICAgICBtYWNybyhKU1Byb21p
c2UsIEpTVHlwZTo6SlNQcm9taXNlVHlwZSwgSlNUeXBlOjpKU1Byb21pc2VUeXBlKSBcCisgICAg
bWFjcm8oSlNQcm94eSwgSlNUeXBlOjpQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSwgSlNUeXBlOjpJ
bXB1cmVQcm94eVR5cGUpIFwKICAgICBtYWNybyhKU1NldCwgSlNUeXBlOjpKU1NldFR5cGUsIEpT
VHlwZTo6SlNTZXRUeXBlKSBcCiAgICAgbWFjcm8oSlNNYXAsIEpTVHlwZTo6SlNNYXBUeXBlLCBK
U1R5cGU6OkpTTWFwVHlwZSkgXAogICAgIG1hY3JvKEpTV2Vha1NldCwgSlNUeXBlOjpKU1dlYWtT
ZXRUeXBlLCBKU1R5cGU6OkpTV2Vha1NldFR5cGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NlbGwuY3BwCmluZGV4IGM0N2ZlYzA2MGQ5Mjk5YmE5MTMyNzU4ZTZkNjI4ZjgyZTc4
ZmFmYzMuLjEwY2U3YWZlM2IzOTkwMDA1NzU5YzMzM2UzMjYyZTUxMmU5ODI3Y2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAtMjQ1LDEyICsyNDUsNiBAQCBi
b29sIEpTQ2VsbDo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCos
IFByb3BlcnR5TmFtZSwgY29uc3QgUAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdWludDMyX3Qg
SlNDZWxsOjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqKQot
ewotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0K
IGJvb2wgSlNDZWxsOjpwcmV2ZW50RXh0ZW5zaW9ucyhKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0
KikKIHsKICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NlbGwuaAppbmRleCBmYTI3MDRlY2U4ZjM0ZmJlMzM0MGVhNmExODI4ZjBh
OTEwNWJmNGI1Li4wMzg1MTMzYTJmYjc1OWEzMTI3NGRmZWY0Zjg2YjVhYzIzNDU2ZDUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMjQ4LDcgKzI0OCw2IEBAIGNs
YXNzIEpTQ2VsbCA6IHB1YmxpYyBIZWFwQ2VsbCB7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVf
VE9fQ1JBU0ggdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmpl
Y3QqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIERvbnRFbnVtUHJvcGVydGllc01vZGUpOwogICAgIHN0
YXRpYyBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIHZvaWQgZ2V0T3duU3BlY2lhbFByb3BlcnR5TmFt
ZXMoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVu
dW1Qcm9wZXJ0aWVzTW9kZSk7CiAKLSAgICBzdGF0aWMgdWludDMyX3QgZ2V0RW51bWVyYWJsZUxl
bmd0aChKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0Kik7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9E
VUVfVE9fQ1JBU0ggYm9vbCBwcmV2ZW50RXh0ZW5zaW9ucyhKU09iamVjdCosIEpTR2xvYmFsT2Jq
ZWN0Kik7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggYm9vbCBpc0V4dGVuc2li
bGUoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCopOwogICAgIHN0YXRpYyBOT19SRVRVUk5fRFVF
X1RPX0NSQVNIIGJvb2wgc2V0UHJvdG90eXBlKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBK
U1ZhbHVlLCBib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cAppbmRleCBhNzE3YjliZjJiZmNjYzAzOTZiNjJkZDdiMzZiMTE0MjgxMDhjZjdmLi43MjU5YjVk
MzE0MDcxNWRlOTgzMjJmNWM0MGFhMzkzMjBkOTY3NmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBAIC0zNzU0LDM3ICszNzU0LDQ1IEBAIHZvaWQgSlNP
YmplY3Q6OnNoaWZ0QnV0dGVyZmx5QWZ0ZXJGbGF0dGVuaW5nKGNvbnN0IEdDU2FmZUNvbmN1cnJl
bnRKU0xvY2tlciYsIFZNCiAgICAgc2V0QnV0dGVyZmx5KHZtLCBuZXdCdXR0ZXJmbHkpOwogfQog
Ci11aW50MzJfdCBKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogb2JqZWN0KQordWludDMyX3QgSlNPYmplY3Q6OmdldEVu
dW1lcmFibGVMZW5ndGgoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsKICAgICBWTSYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBvYmpl
Y3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCBvYmplY3QpKQotICAgICAgICByZXR1cm4gMDsKKyAgICBKU09iamVjdCog
b2JqZWN0ID0gdGhpczsKKwogICAgIHN3aXRjaCAob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewog
ICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgIGNhc2UgQUxMX1VOREVDSURF
RF9JTkRFWElOR19UWVBFUzoKKyAgICAgICAgLy8gUmVnYXJkbGVzcyBvZiBob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUgY29uZGl0aW9uLCBpdCByZXR1cm5zIHplcm8uCiAgICAgICAgIHJldHVy
biAwOwogICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICBj
YXNlIEFMTF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIEJ1dHRlcmZseSog
YnV0dGVyZmx5ID0gb2JqZWN0LT5idXR0ZXJmbHkoKTsKLSAgICAgICAgdW5zaWduZWQgdXNlZExl
bmd0aCA9IGJ1dHRlcmZseS0+cHVibGljTGVuZ3RoKCk7Ci0gICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCB1c2VkTGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdW5zaWduZWQgZW51bWVyYWJs
ZUxlbmd0aCA9IGJ1dHRlcmZseS0+cHVibGljTGVuZ3RoKCk7CisgICAgICAgIGlmICghZW51bWVy
YWJsZUxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBpZiAob2JqZWN0LT5z
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCisg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGVu
dW1lcmFibGVMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgaWYgKCFidXR0ZXJmbHktPmNvbnRp
Z3VvdXMoKS5hdChvYmplY3QsIGkpKQogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAg
ICB9Ci0gICAgICAgIHJldHVybiB1c2VkTGVuZ3RoOworICAgICAgICByZXR1cm4gZW51bWVyYWJs
ZUxlbmd0aDsKICAgICB9CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RPVUJMRV9JTkRFWElOR19U
WVBFUzogewogICAgICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseSA9IG9iamVjdC0+YnV0dGVyZmx5
KCk7Ci0gICAgICAgIHVuc2lnbmVkIHVzZWRMZW5ndGggPSBidXR0ZXJmbHktPnB1YmxpY0xlbmd0
aCgpOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXNlZExlbmd0aDsgKytpKSB7
CisgICAgICAgIHVuc2lnbmVkIGVudW1lcmFibGVMZW5ndGggPSBidXR0ZXJmbHktPnB1YmxpY0xl
bmd0aCgpOworICAgICAgICBpZiAoIWVudW1lcmFibGVMZW5ndGgpCisgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgaWYgKG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnVtZXJhYmxlTGVuZ3RoOyArK2kpIHsKICAgICAg
ICAgICAgIGRvdWJsZSB2YWx1ZSA9IGJ1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpLmF0KG9i
amVjdCwgaSk7CiAgICAgICAgICAgICBpZiAodmFsdWUgIT0gdmFsdWUpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHVzZWRMZW5ndGg7CisgICAg
ICAgIHJldHVybiBlbnVtZXJhYmxlTGVuZ3RoOwogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBB
TExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewpAQCAtMzc5MiwxMiArMzgwMCwxNiBA
QCB1aW50MzJfdCBKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogbwogICAgICAgICBpZiAoc3RvcmFnZS0+bV9zcGFyc2VN
YXAuZ2V0KCkpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgCi0gICAgICAgIHVuc2ln
bmVkIHVzZWRWZWN0b3JMZW5ndGggPSBzdGQ6Om1pbihzdG9yYWdlLT5sZW5ndGgoKSwgc3RvcmFn
ZS0+dmVjdG9yTGVuZ3RoKCkpOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXNl
ZFZlY3Rvckxlbmd0aDsgKytpKSB7CisgICAgICAgIHVuc2lnbmVkIGVudW1lcmFibGVMZW5ndGgg
PSBzdGQ6Om1pbihzdG9yYWdlLT5sZW5ndGgoKSwgc3RvcmFnZS0+dmVjdG9yTGVuZ3RoKCkpOwor
ICAgICAgICBpZiAoIWVudW1lcmFibGVMZW5ndGgpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAg
ICAgICAgaWYgKG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtLCBvYmplY3QpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBlbnVtZXJhYmxlTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIGlm
ICghc3RvcmFnZS0+bV92ZWN0b3JbaV0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuIHVzZWRWZWN0b3JMZW5ndGg7CisgICAgICAgIHJldHVybiBl
bnVtZXJhYmxlTGVuZ3RoOwogICAgIH0KICAgICAgICAgCiAgICAgZGVmYXVsdDoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IGM5ODllODk2YWYzZDE0NzliMmQw
ZTU2MDMyNjdkNTg5ZDA1MzJkMjIuLjA0MTliMmViMGM2ODg1NTZlZGY2YWE4ZjJjMGNjNjk2NzI3
ZTg2YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaApAQCAtNjg1
LDcgKzY4NSw3IEBAIGNsYXNzIEpTT2JqZWN0IDogcHVibGljIEpTQ2VsbCB7CiAgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBnZXRPd25Ob25JbmRleFByb3BlcnR5TmFtZXMoSlNHbG9iYWxPYmpl
Y3QqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIERvbnRFbnVtUHJvcGVydGllc01vZGUpOwogICAgIHZv
aWQgZ2V0Tm9uUmVpZmllZFN0YXRpY1Byb3BlcnR5TmFtZXMoVk0mLCBQcm9wZXJ0eU5hbWVBcnJh
eSYsIERvbnRFbnVtUHJvcGVydGllc01vZGUpOwogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgc3Rh
dGljIHVpbnQzMl90IGdldEVudW1lcmFibGVMZW5ndGgoSlNHbG9iYWxPYmplY3QqLCBKU09iamVj
dCopOworICAgIEpTX0VYUE9SVF9QUklWQVRFIHVpbnQzMl90IGdldEVudW1lcmFibGVMZW5ndGgo
SlNHbG9iYWxPYmplY3QqKTsKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTVmFsdWUgdG9Qcmlt
aXRpdmUoSlNHbG9iYWxPYmplY3QqLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlID0gTm9QcmVmZXJl
bmNlKSBjb25zdDsKICAgICBKU19FWFBPUlRfUFJJVkFURSBkb3VibGUgdG9OdW1iZXIoSlNHbG9i
YWxPYmplY3QqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgKaW5kZXggYTE4NGQ5ZDNkMjM4NTVkNjY2
ODcyMTAyZjMyODY4MjA0NzY4YTJjNS4uMDIwMTFkNDFjN2Y2NmRhZDg4M2FlOGQ3NzBiNWQzZDI4
NmNkNTA4NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBpbmxpbmUgSlNQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYgogICAgIFZNJiB2bSA9IGdldFZNKGdsb2JhbE9iamVjdCk7CiAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgdWludDMyX3QgaW5kZXhl
ZExlbmd0aCA9IGJhc2UtPm1ldGhvZFRhYmxlKHZtKS0+Z2V0RW51bWVyYWJsZUxlbmd0aChnbG9i
YWxPYmplY3QsIGJhc2UpOworICAgIHVpbnQzMl90IGluZGV4ZWRMZW5ndGggPSBiYXNlLT5nZXRF
bnVtZXJhYmxlTGVuZ3RoKGdsb2JhbE9iamVjdCk7CiAKICAgICBKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IqIGVudW1lcmF0b3IgPSBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1Byb3h5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTUHJveHkuY3BwCmluZGV4IDM3NjY4MTU1YzM0ZDg1NjE0ODI3NjIwMzNiNDZhNjk4ZGI1
ZmJhNGMuLjI4ZjY3NWUwZTg0ZGQ4Y2Q1NDA5Y2ViZTdmOThiOTU5ZTNiYWMzY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuY3BwCkBAIC0xMTgsMTIgKzExOCw2IEBA
IGJvb2wgSlNQcm94eTo6ZGVsZXRlUHJvcGVydHlCeUluZGV4KEpTQ2VsbCogY2VsbCwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwKICAgICByZXR1cm4gdGhpc09iamVjdC0+dGFyZ2V0KCkt
Pm1ldGhvZFRhYmxlKGdsb2JhbE9iamVjdC0+dm0oKSktPmRlbGV0ZVByb3BlcnR5QnlJbmRleCh0
aGlzT2JqZWN0LT50YXJnZXQoKSwgZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUpOwogfQogCi11
aW50MzJfdCBKU1Byb3h5OjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgSlNQcm94eSogdGhpc09iamVjdCA9
IGpzQ2FzdDxKU1Byb3h5Kj4ob2JqZWN0KTsKLSAgICByZXR1cm4gdGhpc09iamVjdC0+dGFyZ2V0
KCktPm1ldGhvZFRhYmxlKGdsb2JhbE9iamVjdC0+dm0oKSktPmdldEVudW1lcmFibGVMZW5ndGgo
Z2xvYmFsT2JqZWN0LCB0aGlzT2JqZWN0LT50YXJnZXQoKSk7Ci19Ci0KIHZvaWQgSlNQcm94eTo6
Z2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVjdCogb2JqZWN0LCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRG9udEVudW1Qcm9w
ZXJ0aWVzTW9kZSBtb2RlKQogewogICAgIEpTUHJveHkqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNQ
cm94eSo+KG9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Byb3h5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5LmgKaW5k
ZXggNjNjMjJhYTk2MTI4NmFjMzhhMTNhMzg2YWExNTJkOWM1NzFmMGQ3Ny4uNTU4ZjY2ZmMwNjc0
ZjkyMGZkMWFiZmM4YzFjZThiY2MwMGFmNTRjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNQcm94eS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTUHJveHkuaApAQCAtOTYsNyArOTYsNiBAQCBjbGFzcyBKU1Byb3h5IDogcHVibGljIEpT
Tm9uRmluYWxPYmplY3QgewogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29sIGRlbGV0
ZVByb3BlcnR5KEpTQ2VsbCosIEpTR2xvYmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lLCBEZWxldGVQ
cm9wZXJ0eVNsb3QmKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBkZWxldGVQ
cm9wZXJ0eUJ5SW5kZXgoSlNDZWxsKiwgSlNHbG9iYWxPYmplY3QqLCB1bnNpZ25lZCk7CiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQgZ2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVj
dCosIEpTR2xvYmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lQXJyYXkmLCBEb250RW51bVByb3BlcnRp
ZXNNb2RlKTsKLSAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgdWludDMyX3QgZ2V0RW51bWVy
YWJsZUxlbmd0aChKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0Kik7CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIGJvb2wgZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBKU0dsb2JhbE9i
amVjdCosIFByb3BlcnR5TmFtZSwgY29uc3QgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCBzaG91
bGRUaHJvdyk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgc2V0UHJvdG90eXBl
KEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlLCBib29sIHNob3VsZFRocm93SWZD
YW50U2V0KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNWYWx1ZSBnZXRQcm90b3R5
cGUoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCopOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>