<?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>233343</bug_id>
          
          <creation_ts>2021-11-18 16:24:07 -0800</creation_ts>
          <short_desc>Add a basic heuristic for sizing text in image overlay blocks</short_desc>
          <delta_ts>2021-11-29 14:47:46 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1816685</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-18 16:24:07 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816722</commentid>
    <comment_count>1</comment_count>
      <attachid>444769</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-18 18:38:04 -0800</bug_when>
    <thetext>Created attachment 444769
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816730</commentid>
    <comment_count>2</comment_count>
      <attachid>444773</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-18 19:39:07 -0800</bug_when>
    <thetext>Created attachment 444773
Fix unused param</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817858</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-25 16:25:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/85755755&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818131</commentid>
    <comment_count>4</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-28 23:04:02 -0800</bug_when>
    <thetext>*** Bug 233111 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818333</commentid>
    <comment_count>5</comment_count>
      <attachid>444773</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-29 11:17:42 -0800</bug_when>
    <thetext>Comment on attachment 444773
Fix unused param

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

&gt; Source/WebCore/dom/ImageOverlay.cpp:306
&gt; +        rootContainer-&gt;setTranslate(false);

Seems like a nontrivial behavior change that should be in its own patch?

&gt; Source/WebCore/dom/ImageOverlay.cpp:536
&gt; +        document-&gt;updateLayoutIgnorePendingStylesheets();

Does the layout of the rest of the page affect these things at all? If they&apos;re independently positioned and sized, isn&apos;t this a bit overkill? (but also maybe necessary? I don&apos;t know)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818396</commentid>
    <comment_count>6</comment_count>
      <attachid>444773</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-29 12:18:34 -0800</bug_when>
    <thetext>Comment on attachment 444773
Fix unused param

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

Thanks for the review!

&gt;&gt; Source/WebCore/dom/ImageOverlay.cpp:306
&gt;&gt; +        rootContainer-&gt;setTranslate(false);
&gt; 
&gt; Seems like a nontrivial behavior change that should be in its own patch?

True! I will revert this change before landing, and file a separate bug for it.

&gt;&gt; Source/WebCore/dom/ImageOverlay.cpp:536
&gt;&gt; +        document-&gt;updateLayoutIgnorePendingStylesheets();
&gt; 
&gt; Does the layout of the rest of the page affect these things at all? If they&apos;re independently positioned and sized, isn&apos;t this a bit overkill? (but also maybe necessary? I don&apos;t know)

That&apos;s a good point — after chatting with Alan, it looks like each layout update here should be relatively cheap (assuming the rest of the document is laid out), since each of the boxes where we&apos;re changing font sizes are absolutely positioned.

I *think* we could use CSS containment to avoid part of the tree walk, but I think that cost is likely much less than that of running line breaking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818401</commentid>
    <comment_count>7</comment_count>
      <attachid>445325</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-29 12:28:33 -0800</bug_when>
    <thetext>Created attachment 445325
Rebase on trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818424</commentid>
    <comment_count>8</comment_count>
      <attachid>445328</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-29 12:59:42 -0800</bug_when>
    <thetext>Created attachment 445328
Fix unused param</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818491</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-29 14:47:43 -0800</bug_when>
    <thetext>Committed r286265 (244628@main): &lt;https://commits.webkit.org/244628@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445328.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444769</attachid>
            <date>2021-11-18 18:38:04 -0800</date>
            <delta_ts>2021-11-18 20:04:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233343-20211118183803.patch</filename>
            <type>text/plain</type>
            <size>14933</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI3NDkwOTIzY2ZjOTU2
YmJkMzM2YzFkN2MwMzZkYTFmYzhhYTFlOS4uMTA3MzAyMTliODQxMTVjMzI1ZjAxYmUxMzVhNTY1
MGU2N2Y3OWRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIxLTExLTE4ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGJhc2lj
IGhldXJpc3RpYyBmb3Igc2l6aW5nIHRleHQgaW4gaW1hZ2Ugb3ZlcmxheSBibG9ja3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzM0MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHJlc3MgYSBGSVhN
RSBieSBpbXBsZW1lbnRpbmcgYSBzaW1wbGUgaGV1cmlzdGljIGZvciBzaXppbmcgdGV4dCBpbiBp
bWFnZSBvdmVybGF5IGJsb2Nrcy4gRWFjaCBpbWFnZSBvdmVybGF5CisgICAgICAgIGJsb2NrIGhh
cyBhIHByZWRldGVybWluZWQgdGFyZ2V0IHdpZHRoIGFuZCBoZWlnaHQ7IGN1cnJlbnRseSwgd2Ug
aGFyZC1jb2RlIHRoZSBmb250IHNpemUgaW4gZWFjaCBvZiB0aGVzZSBibG9ja3MKKyAgICAgICAg
dG8gYmUgODAlIG9mIHRoZSB0YXJnZXQgaGVpZ2h0LiBXaGlsZSB0aGlzIHdvcmtzIGluIHNvbWUg
Y2FzZXMsIGl0IGFsc28gY2F1c2VzIGNvbnRlbnQgaW4gdGhlc2UgYmxvY2tzIHRvCisgICAgICAg
IG92ZXJmbG93IHRoZSBjb250YWluZXIgaWYgdGhlcmUncyB0b28gbXVjaCB0ZXh0LgorCisgICAg
ICAgIEF2b2lkIHRoaXMgcHJvYmxlbSBieSBmaW5kaW5nIHRoZSBsYXJnZXN0IGZvbnQgc2l6ZSwg
c3VjaCB0aGF0IHRleHQgaW4gZWFjaCBjb250YWluZXIgZml0cyB3aXRoaW4gdGhlIHRhcmdldAor
ICAgICAgICBib3VuZHMgd2l0aG91dCBvdmVyZmxvd2luZyB2ZXJ0aWNhbGx5ICh3ZSBkb24ndCBu
ZWVkIHRvIHdvcnJ5IGFib3V0IGhvcml6b250YWwgb3ZlcmZsb3cgYmVjYXVzZSBob3Jpem9udGFs
bHkKKyAgICAgICAgb3ZlcmZsb3dpbmcgdGV4dCB3aWxsIHNpbXBseSB3cmFwIHRvIHRoZSBuZXh0
IGxpbmUpLgorCisgICAgICAgIEJlY2F1c2Ugb2YgbGluZSB3cmFwcGluZywgaXQncyBkaWZmaWN1
bHQgdG8gYW5hbHl0aWNhbGx5IGNvbXB1dGUgdGhpcyBmb250IHNpemUsIHNvIEknbSBpbnN0ZWFk
IHVzaW5nIGJpbmFyeQorICAgICAgICBzZWFyY2ggKHVwIHRvIGEgZml4ZWQgbnVtYmVyIG9mIGl0
ZXJhdGlvbnMpIHRvIGNvbnZlcmdlIG9uIHRoaXMgbGFyZ2VzdCBzaXplIHRoYXQgYXZvaWRzIGV4
Y2VlZGluZyB0aGUgdGFyZ2V0CisgICAgICAgIGhlaWdodC4gU2VlIGJlbG93IGZvciBtb3JlIGRl
dGFpbHMuCisKKyAgICAgICAgVGVzdDogZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25pdGlvbi9pbWFn
ZS1vdmVybGF5LWJsb2Nrcy5odG1sCisKKyAgICAgICAgKiBkb20vSW1hZ2VPdmVybGF5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlT3ZlcmxheTo6dXBkYXRlU3VidHJlZSk6CisKKyAgICAg
ICAgRHJpdmUtYnkgZml4OiBhbHNvIG1ha2UgYSBzbGlnaHQgYWRqdXN0bWVudCBoZXJlIHRvIGF2
b2lkIHRyYW5zbGF0aW5nIGNvbnRlbnQgaW5zaWRlIGltYWdlIG92ZXJsYXlzLgorCisgICAgICAg
IChXZWJDb3JlOjpJbWFnZU92ZXJsYXk6OnVwZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQp
OgorCisgICAgICAgIEltcGxlbWVudCB0aGUgbWFpbiBsb2dpYyBvZiB0aGUgYmluYXJ5IHNlYXJj
aC4gRXN0YWJsaXNoIGEgZ29hbCBvZiBlbmRpbmcgdXAgd2l0aCB0ZXh0IHRoYXQgZmlsbHMgYXQg
bGVhc3QgOTAlCisgICAgICAgIG9mIHRoZSBhdmFpbGFibGUgc3BhY2UgaW4gdGhlIGNvbnRhaW5l
ciAod2l0aCBhIG1heCBvZiBqdXN0IHNsaWdodGx5IG92ZXIgMTAwJSwgc28gdGhhdCB3ZSBzdG9w
IGVhcmx5IGlmIHdlCisgICAgICAgIGhhcHBlbiB0byBvbmx5IGJhcmVseSBleGNlZWQgdGhlIHRh
cmdldCBoZWlnaHQpLiBUaGVuLCBzdGFydGluZyB3aXRoIGEgZm9udCBzaXplIHRoYXQncyA4MCUg
b2YgdGhlIHRhcmdldAorICAgICAgICBoZWlnaHQsIGNvbnZlcmdlIG9uIGEgZm9udCBzaXplIGJl
dHdlZW4gMCUgYW5kIDEwMCUgb2YgdGhlIHRhcmdldCBoZWlnaHQgdGhhdCBhY2hpZXZlcyB0aGlz
IGdvYWwuIEluIHByYWN0aWNlLAorICAgICAgICBtb3N0IG9mIHRoZSBpbmplY3RlZCBibG9ja3Mg
b2YgdGV4dCB3aWxsIHN0b3AgYWZ0ZXIgYSBzaW5nbGUgaXRlcmF0aW9uIChkdWUgdG8gdGhlICI4
MCUtb2YtaGVpZ2h0IiBmb250IHNpemUKKyAgICAgICAgYmVpbmcgc3VmZmljaWVudCB0byBtb3N0
bHkgZmlsbCBhdmFpbGFibGUgdmVydGljYWwgc3BhY2UpLgorCisgICAgICAgIEVhY2ggRm9udFNp
emVBZGp1c3RtZW50U3RhdGUgaGVyZSByZXByZXNlbnRzIGEgc2luZ2xlIGJsb2NrIGNvbnRhaW5l
ci4gQXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIGl0ZXJhdGlvbiwgd2UKKyAgICAgICAgZW5zdXJl
IHRoYXQgbGF5b3V0IGlzIHVwIHRvIGRhdGUsIGFuZCBzZXQgdGhlIGZvbnQgc2l6ZSB0byBiZSBi
ZXR3ZWVuIHRoZSBjdXJyZW50IG1pbiBhbmQgbWF4IHZhbHVlIChzY2FsaW5nIGJ5CisgICAgICAg
IHRhcmdldCBoZWlnaHQgdG8gZ2V0IGZvbnQgc2l6ZSkuIFVzaW5nIGBsaW5lc0JvdW5kaW5nQm94
KClgLCB3ZSBjb21wdXRlIHRoZSBoZWlnaHQgb2YgdGhlIHJlbmRlcmVkIHRleHQgcmVsYXRpdmUK
KyAgICAgICAgdG8gaXRzIHBhcmVudCAod2hpY2ggd2Uga25vdyBhLXByaW9yaSB0byBiZSBhcyB0
YWxsIGFzIHRoZSB0YXJnZXQgaGVpZ2h0KS4gSWYgdGhpcyBoZWlnaHQgaXMgYXQgbGVhc3QgOTAl
IG9mIHRoZQorICAgICAgICB0YXJnZXQgaGVpZ2h0LCB3ZSBmaW5pc2ggYW5kIHJlbW92ZSB0aGUg
Zm9udCBzaXplIGFkanVzdG1lbnQgc3RhdGUgZnJvbSB0aGUgdmVjdG9yIG9mIHBlbmRpbmcgZm9u
dCBhZGp1c3RtZW50czsKKyAgICAgICAgb3RoZXJ3aXNlLCB3ZSBhZGp1c3QgdGhlIG1pbiBhbmQg
bWF4IHRvIGVpdGhlciBpbmNyZWFzZSBvciBkZWNyZWFzZSB0aGUgZm9udCBzaXplIGFzIG5lZWRl
ZCwgYW5kIGNvbnRpbnVlIHRoZQorICAgICAgICBsb29wLiBXZSBmaW5hbGx5IGJhaWwgYWZ0ZXIg
YW4gYXJiaXRyYXJpbHktY2hvc2VuIDEwIGl0ZXJhdGlvbnMsIGlmIHRoZSB0ZXh0IGluIHRoZSBj
b250YWluZXIgaXMgc3RpbGwgdG9vCisgICAgICAgIHNtYWxsLgorCisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjppbnN0YWxsSW1h
Z2VPdmVybGF5KToKKworICAgICAgICBBdWdtZW50IHRoaXMgdGVzdGluZy1vbmx5IGludGVybmFs
cyBob29rIHNvIHRoYXQgd2UgY2FuIGluamVjdCBhcmJpdHJhcnkgaW1hZ2Ugb3ZlcmxheSBibG9j
ayBjb250ZW50IGluc2lkZQorICAgICAgICBpbWFnZSBvdmVybGF5cy4KKworICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAy
MDIxLTExLTE4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIFttYWNPU10gW0xpdmUgVGV4dF0gQXZvaWQgYW5hbHl6aW5nIGltYWdlcyBpbiBlZGl0YWJs
ZSBjb250ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW1hZ2VPdmVybGF5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbWFnZU92ZXJsYXkuY3BwCmluZGV4IGY4YTlhOWRkMGJi
YzE1MmJjZTVjMzcyNGQ3MjkwNDM4ZTYzYjMyYmEuLjE4Y2RiOGQ0OTAxOGRjOWIwYzA2MDUxMzQz
MTRmNjc1NjQzNjZmNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9JbWFnZU92ZXJs
YXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbWFnZU92ZXJsYXkuY3BwCkBAIC00MSw2
ICs0MSw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlF1aXJrcy5oIgogI2luY2x1
ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgogI2luY2x1ZGUgIlNo
YWRvd1Jvb3QuaCIKICNpbmNsdWRlICJTaW1wbGVSYW5nZS5oIgogI2luY2x1ZGUgIlRleHQuaCIK
QEAgLTMwMiw2ICszMDMsNyBAQCBzdGF0aWMgRWxlbWVudHMgdXBkYXRlU3VidHJlZShIVE1MRWxl
bWVudCYgZWxlbWVudCwgY29uc3QgVGV4dFJlY29nbml0aW9uUmVzdWx0JgogICAgIGlmICghZWxl
bWVudHMucm9vdCkgewogICAgICAgICBhdXRvIHJvb3RDb250YWluZXIgPSBIVE1MRGl2RWxlbWVu
dDo6Y3JlYXRlKGRvY3VtZW50LmdldCgpKTsKICAgICAgICAgcm9vdENvbnRhaW5lci0+c2V0SWRB
dHRyaWJ1dGUoaW1hZ2VPdmVybGF5RWxlbWVudElkZW50aWZpZXIoKSk7CisgICAgICAgIHJvb3RD
b250YWluZXItPnNldFRyYW5zbGF0ZShmYWxzZSk7CiAgICAgICAgIGlmIChkb2N1bWVudC0+aXNJ
bWFnZURvY3VtZW50KCkpCiAgICAgICAgICAgICByb290Q29udGFpbmVyLT5zZXRJbmxpbmVTdHls
ZVByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0VXNlclNlbGVjdCwgQ1NTVmFsdWVUZXh0KTsKIApA
QCAtNDk4LDYgKzUwMCwyNSBAQCB2b2lkIHVwZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQo
SFRNTEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFRleHRSZWNvZ25pdGlvbgogICAgIH0KICNlbmRp
ZiAvLyBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAKKyAgICBjb25zdGV4cHIgZmxvYXQgbWluU2Nh
bGVGb3JGb250U2l6ZSA9IDA7CisgICAgY29uc3RleHByIGZsb2F0IGluaXRpYWxTY2FsZUZvckZv
bnRTaXplID0gMC44OworICAgIGNvbnN0ZXhwciBmbG9hdCBtYXhTY2FsZUZvckZvbnRTaXplID0g
MTsKKyAgICBjb25zdGV4cHIgdW5zaWduZWQgaXRlcmF0aW9uTGltaXQgPSAxMDsKKyAgICBjb25z
dGV4cHIgZmxvYXQgbWluVGFyZ2V0U2NvcmUgPSAwLjk7CisgICAgY29uc3RleHByIGZsb2F0IG1h
eFRhcmdldFNjb3JlID0gMS4wMjsKKworICAgIHN0cnVjdCBGb250U2l6ZUFkanVzdG1lbnRTdGF0
ZSB7CisgICAgICAgIFJlZjxIVE1MRWxlbWVudD4gY29udGFpbmVyOworICAgICAgICBmbG9hdCB0
YXJnZXRIZWlnaHQ7CisgICAgICAgIGZsb2F0IHNjYWxlIHsgaW5pdGlhbFNjYWxlRm9yRm9udFNp
emUgfTsKKyAgICAgICAgZmxvYXQgbWluU2NhbGUgeyBtaW5TY2FsZUZvckZvbnRTaXplIH07Cisg
ICAgICAgIGZsb2F0IG1heFNjYWxlIHsgbWF4U2NhbGVGb3JGb250U2l6ZSB9OworICAgICAgICBi
b29sIG1heVJlcXVpcmVBZGp1c3RtZW50IHsgdHJ1ZSB9OworICAgIH07CisKKyAgICBWZWN0b3I8
Rm9udFNpemVBZGp1c3RtZW50U3RhdGU+IGVsZW1lbnRzVG9BZGp1c3Q7CisgICAgZWxlbWVudHNU
b0FkanVzdC5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJlc3VsdC5ibG9ja3Muc2l6ZSgpKTsKKwog
ICAgIEFTU0VSVChyZXN1bHQuYmxvY2tzLnNpemUoKSA9PSBlbGVtZW50cy5ibG9ja3Muc2l6ZSgp
KTsKICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgcmVzdWx0LmJsb2Nrcy5zaXpl
KCk7ICsraW5kZXgpIHsKICAgICAgICAgYXV0byYgYmxvY2sgPSByZXN1bHQuYmxvY2tzW2luZGV4
XTsKQEAgLTUwNiw5ICs1MjcsNTMgQEAgdm9pZCB1cGRhdGVXaXRoVGV4dFJlY29nbml0aW9uUmVz
dWx0KEhUTUxFbGVtZW50JiBlbGVtZW50LCBjb25zdCBUZXh0UmVjb2duaXRpb24KIAogICAgICAg
ICBhdXRvIGJsb2NrQ29udGFpbmVyID0gZWxlbWVudHMuYmxvY2tzW2luZGV4XTsKICAgICAgICAg
YXV0byBib3VuZHMgPSBmaXRFbGVtZW50VG9RdWFkKGJsb2NrQ29udGFpbmVyLmdldCgpLCBjb252
ZXJ0VG9Db250YWluZXJDb29yZGluYXRlcyhibG9jay5ub3JtYWxpemVkUXVhZCkpOwotICAgICAg
ICAvLyBGSVhNRTogV2UnbGwgbmVlZCBhIHNtYXJ0ZXIgYWxnb3JpdGhtIGhlcmUgdGhhdCBjaG9v
c2VzIHRoZSBsYXJnZXN0IGZvbnQgc2l6ZSBmb3IgdGhlIGNvbnRhaW5lciB3aXRob3V0Ci0gICAg
ICAgIC8vIHZlcnRpY2FsbHkgb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lci4KLSAgICAgICAgYmxv
Y2tDb250YWluZXItPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlGb250U2l6ZSwg
c3RkOjpyb3VuZCgwLjggKiBib3VuZHMuc2l6ZS5oZWlnaHQoKSksIENTU1VuaXRUeXBlOjpDU1Nf
UFgpOworICAgICAgICBibG9ja0NvbnRhaW5lci0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQ
cm9wZXJ0eUZvbnRTaXplLCBpbml0aWFsU2NhbGVGb3JGb250U2l6ZSAqIGJvdW5kcy5zaXplLmhl
aWdodCgpLCBDU1NVbml0VHlwZTo6Q1NTX1BYKTsKKyAgICAgICAgZWxlbWVudHNUb0FkanVzdC51
bmNoZWNrZWRBcHBlbmQoeyBXVEZNb3ZlKGJsb2NrQ29udGFpbmVyKSwgYm91bmRzLnNpemUuaGVp
Z2h0KCkgfSk7CisgICAgfQorCisgICAgdW5zaWduZWQgY3VycmVudEl0ZXJhdGlvbiA9IDA7Cisg
ICAgd2hpbGUgKCFlbGVtZW50c1RvQWRqdXN0LmlzRW1wdHkoKSkgeworICAgICAgICBkb2N1bWVu
dC0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisKKyAgICAgICAgZm9y
IChhdXRvJiBzdGF0ZSA6IGVsZW1lbnRzVG9BZGp1c3QpIHsKKyAgICAgICAgICAgIFJlZlB0ciB0
ZXh0Tm9kZSA9IHN0YXRlLmNvbnRhaW5lci0+Zmlyc3RDaGlsZCgpOworICAgICAgICAgICAgaWYg
KCFpczxUZXh0Pih0ZXh0Tm9kZSkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgICAgICAgICBzdGF0ZS5tYXlSZXF1aXJlQWRqdXN0bWVudCA9IGZhbHNl
OworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBhdXRvKiB0ZXh0UmVuZGVyZXIgPSBkb3duY2FzdDxUZXh0PigqdGV4dE5vZGUpLnJlbmRlcmVy
KCk7CisgICAgICAgICAgICBpZiAoIXRleHRSZW5kZXJlcikgeworICAgICAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgIHN0YXRlLm1heVJlcXVpcmVBZGp1
c3RtZW50ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGF1dG8gY3VycmVudFNjb3JlID0gdGV4dFJlbmRlcmVyLT5saW5lc0Jv
dW5kaW5nQm94KCkuaGVpZ2h0KCkgLyBzdGF0ZS50YXJnZXRIZWlnaHQ7CisgICAgICAgICAgICBp
ZiAoY3VycmVudFNjb3JlIDwgbWluVGFyZ2V0U2NvcmUpCisgICAgICAgICAgICAgICAgc3RhdGUu
bWluU2NhbGUgPSBzdGF0ZS5zY2FsZTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGN1cnJlbnRTY29y
ZSA+IG1heFRhcmdldFNjb3JlKQorICAgICAgICAgICAgICAgIHN0YXRlLm1heFNjYWxlID0gc3Rh
dGUuc2NhbGU7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBzdGF0ZS5tYXlS
ZXF1aXJlQWRqdXN0bWVudCA9IGZhbHNlOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBzdGF0ZS5zY2FsZSA9IChzdGF0ZS5taW5TY2FsZSAr
IHN0YXRlLm1heFNjYWxlKSAvIDI7CisgICAgICAgICAgICBzdGF0ZS5jb250YWluZXItPnNldElu
bGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlGb250U2l6ZSwgc3RhdGUudGFyZ2V0SGVpZ2h0
ICogc3RhdGUuc2NhbGUsIENTU1VuaXRUeXBlOjpDU1NfUFgpOworICAgICAgICB9CisKKyAgICAg
ICAgZWxlbWVudHNUb0FkanVzdC5yZW1vdmVBbGxNYXRjaGluZyhbXShhdXRvJiBzdGF0ZSkgewor
ICAgICAgICAgICAgcmV0dXJuICFzdGF0ZS5tYXlSZXF1aXJlQWRqdXN0bWVudDsKKyAgICAgICAg
fSk7CisKKyAgICAgICAgaWYgKCsrY3VycmVudEl0ZXJhdGlvbiA+IGl0ZXJhdGlvbkxpbWl0KSB7
CisgICAgICAgICAgICAvLyBGYWxsIGJhY2sgdG8gdGhlIGxhcmdlc3QgZm9udCBzaXplIHRoYXQg
c3RpbGwgdmVydGljYWxseSBmaXRzIHdpdGhpbiB0aGUgY29udGFpbmVyLgorICAgICAgICAgICAg
Zm9yIChhdXRvJiBzdGF0ZSA6IGVsZW1lbnRzVG9BZGp1c3QpCisgICAgICAgICAgICAgICAgc3Rh
dGUuY29udGFpbmVyLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFNpemUs
IHN0YXRlLnRhcmdldEhlaWdodCAqIHN0YXRlLm1pblNjYWxlLCBDU1NVbml0VHlwZTo6Q1NTX1BY
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKFJlZlB0
ciBmcmFtZSA9IGRvY3VtZW50LT5mcmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCmluZGV4IGIwYzA4NzU5MTIyYWZkNWZkZjE5YjQ3OGJjYzI1MDFjNzdiY2IyZGQuLjZhOTlh
ZDcyOWE0ZTk4ODk3YTVlNzdlOWExMjU1NmIwZGZkOTI4NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKQEAgLTU3NTYsNiArNTc1Niw3IEBAIE1vY2tQYXltZW50Q29vcmRpbmF0
b3ImIEludGVybmFsczo6bW9ja1BheW1lbnRDb29yZGluYXRvcihEb2N1bWVudCYgZG9jdW1lbnQp
CiAKIEludGVybmFsczo6SW1hZ2VPdmVybGF5TGluZTo6fkltYWdlT3ZlcmxheUxpbmUoKSA9IGRl
ZmF1bHQ7CiBJbnRlcm5hbHM6OkltYWdlT3ZlcmxheVRleHQ6On5JbWFnZU92ZXJsYXlUZXh0KCkg
PSBkZWZhdWx0OworSW50ZXJuYWxzOjpJbWFnZU92ZXJsYXlCbG9jazo6fkltYWdlT3ZlcmxheUJs
b2NrKCkgPSBkZWZhdWx0OwogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCkBAIC01ODA0
LDcgKzU4MDUsNyBAQCBSZWZQdHI8RWxlbWVudD4gSW50ZXJuYWxzOjp0ZXh0UmVjb2duaXRpb25D
YW5kaWRhdGUoKSBjb25zdAogCiAjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCi12
b2lkIEludGVybmFsczo6aW5zdGFsbEltYWdlT3ZlcmxheShFbGVtZW50JiBlbGVtZW50LCBWZWN0
b3I8SW1hZ2VPdmVybGF5TGluZT4mJiBsaW5lcykKK3ZvaWQgSW50ZXJuYWxzOjppbnN0YWxsSW1h
Z2VPdmVybGF5KEVsZW1lbnQmIGVsZW1lbnQsIFZlY3RvcjxJbWFnZU92ZXJsYXlMaW5lPiYmIGxp
bmVzLCBWZWN0b3I8SW1hZ2VPdmVybGF5QmxvY2s+JiYgYmxvY2tzKQogewogICAgIGlmICghaXM8
SFRNTEVsZW1lbnQ+KGVsZW1lbnQpKQogICAgICAgICByZXR1cm47CkBAIC01ODE3LDcgKzU4MTgs
OSBAQCB2b2lkIEludGVybmFsczo6aW5zdGFsbEltYWdlT3ZlcmxheShFbGVtZW50JiBlbGVtZW50
LCBWZWN0b3I8SW1hZ2VPdmVybGF5TGluZT4mJgogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikK
ICAgICAgICAgLCBWZWN0b3I8VGV4dFJlY29nbml0aW9uRGF0YURldGVjdG9yPigpCiAjZW5kaWYK
LSAgICAgICAgLCBWZWN0b3I8VGV4dFJlY29nbml0aW9uQmxvY2tEYXRhPigpCisgICAgICAgICwg
YmxvY2tzLm1hcChbXSAoYXV0byYgYmxvY2spIHsKKyAgICAgICAgICAgIHJldHVybiBUZXh0UmVj
b2duaXRpb25CbG9ja0RhdGEgeyBibG9jay50ZXh0LCBnZXRRdWFkPEltYWdlT3ZlcmxheUJsb2Nr
PihibG9jaykgfTsKKyAgICAgICAgfSkKICAgICB9KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFN
KGxpbmVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IGI0Zjg1YTY5ZjE3Yjdj
ZTM3YjdlNmUxZGEyY2U4ODJhMjgxNDE2YTcuLjhkMzQ3NTdmOGVkNGRiYWMyNDMyOWQ2MmNhZjU0
MjU5OWZmMzRjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtOTE4LDcgKzkx
OCwxOCBAQCBwdWJsaWM6CiAKICAgICAgICAgfkltYWdlT3ZlcmxheUxpbmUoKTsKICAgICB9Owot
ICAgIHZvaWQgaW5zdGFsbEltYWdlT3ZlcmxheShFbGVtZW50JiwgVmVjdG9yPEltYWdlT3Zlcmxh
eUxpbmU+JiYpOworCisgICAgc3RydWN0IEltYWdlT3ZlcmxheUJsb2NrIHsKKyAgICAgICAgU3Ry
aW5nIHRleHQ7CisgICAgICAgIFJlZlB0cjxET01Qb2ludFJlYWRPbmx5PiB0b3BMZWZ0OworICAg
ICAgICBSZWZQdHI8RE9NUG9pbnRSZWFkT25seT4gdG9wUmlnaHQ7CisgICAgICAgIFJlZlB0cjxE
T01Qb2ludFJlYWRPbmx5PiBib3R0b21SaWdodDsKKyAgICAgICAgUmVmUHRyPERPTVBvaW50UmVh
ZE9ubHk+IGJvdHRvbUxlZnQ7CisKKyAgICAgICAgfkltYWdlT3ZlcmxheUJsb2NrKCk7CisgICAg
fTsKKworICAgIHZvaWQgaW5zdGFsbEltYWdlT3ZlcmxheShFbGVtZW50JiwgVmVjdG9yPEltYWdl
T3ZlcmxheUxpbmU+JiYsIFZlY3RvcjxJbWFnZU92ZXJsYXlCbG9jaz4mJiA9IHsgfSk7CiAKICNp
ZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAgICAgdm9pZCByZXF1ZXN0VGV4dFJlY29nbml0aW9u
KEVsZW1lbnQmLCBSZWZQdHI8Vm9pZENhbGxiYWNrPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbAppbmRleCA2MWNlNzM4ZjA3ZWU3YmQwNWRmMGM3MTNhN2EzMzRhNTUzZjdkNDA0
Li4zMDMyMDc4ODUxYTVjYzFhMzE4NzdmYTI3ZjczOWEyMWZmZDA5N2JjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0yODYsNiArMjg2LDE3IEBAIGVudW0gQXV0b3BsYXlQ
b2xpY3kgewogICAgIHNlcXVlbmNlPEltYWdlT3ZlcmxheVRleHQ+IGNoaWxkcmVuOwogfTsKIAor
WworICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JULAorICAgIEpTR2Vu
ZXJhdGVUb0pTT2JqZWN0LAorXSBkaWN0aW9uYXJ5IEltYWdlT3ZlcmxheUJsb2NrIHsKKyAgICBy
ZXF1aXJlZCBET01TdHJpbmcgdGV4dDsKKyAgICByZXF1aXJlZCBET01Qb2ludFJlYWRPbmx5IHRv
cExlZnQ7CisgICAgcmVxdWlyZWQgRE9NUG9pbnRSZWFkT25seSB0b3BSaWdodDsKKyAgICByZXF1
aXJlZCBET01Qb2ludFJlYWRPbmx5IGJvdHRvbVJpZ2h0OworICAgIHJlcXVpcmVkIERPTVBvaW50
UmVhZE9ubHkgYm90dG9tTGVmdDsKK307CisKIFsKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX1RF
U1RTVVBQT1JUX0VYUE9SVCwKICAgICBMZWdhY3lOb0ludGVyZmFjZU9iamVjdCwKQEAgLTk0MSw3
ICs5NTIsNyBAQCBlbnVtIEF1dG9wbGF5UG9saWN5IHsKIAogICAgIFtDb25kaXRpb25hbD1JTUFH
RV9BTkFMWVNJU10gcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IHRleHRSZWNvZ25pdGlvbkNh
bmRpZGF0ZTsKICAgICBbQ29uZGl0aW9uYWw9SU1BR0VfQU5BTFlTSVNdIHVuZGVmaW5lZCByZXF1
ZXN0VGV4dFJlY29nbml0aW9uKEVsZW1lbnQgZWxlbWVudCwgVm9pZENhbGxiYWNrIGNhbGxiYWNr
KTsKLSAgICB1bmRlZmluZWQgaW5zdGFsbEltYWdlT3ZlcmxheShFbGVtZW50IGVsZW1lbnQsIHNl
cXVlbmNlPEltYWdlT3ZlcmxheUxpbmU+IGxpbmVzKTsKKyAgICB1bmRlZmluZWQgaW5zdGFsbElt
YWdlT3ZlcmxheShFbGVtZW50IGVsZW1lbnQsIHNlcXVlbmNlPEltYWdlT3ZlcmxheUxpbmU+IGxp
bmVzLCBvcHRpb25hbCBzZXF1ZW5jZTxJbWFnZU92ZXJsYXlCbG9jaz4gYmxvY2tzID0gW10pOwog
CiAgICAgYm9vbGVhbiB1c2luZ0FwcGxlSW50ZXJuYWxTREsoKTsKICAgICBib29sZWFuIHVzaW5n
R1N0cmVhbWVyKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmY4NTYxNTE3YzE1YWZmMDViMWI4MTU2OGJhY2M5ZjVhOWFh
NTI1YS4uMjQxM2JlNmU4MjU2ZmU5ZDBhODY2ZjExNzU5OWI5MmU0Mjg3YmJmMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDIxLTExLTE4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBhIGJhc2ljIGhldXJpc3RpYyBmb3Igc2l6aW5nIHRleHQg
aW4gaW1hZ2Ugb3ZlcmxheSBibG9ja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMzM0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBsYXlvdXQgdGVzdC4gU2VlIFdlYkNvcmUvQ2hhbmdl
TG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBmYXN0L2ltYWdlcy90ZXh0LXJlY29n
bml0aW9uL2ltYWdlLW92ZXJsYXktYmxvY2tzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1ibG9ja3MuaHRt
bDogQWRkZWQuCisKIDIwMjEtMTEtMTggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW21hY09TXSBbTGl2ZSBUZXh0XSBBdm9pZCBhbmFseXppbmcgaW1h
Z2VzIGluIGVkaXRhYmxlIGNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1h
Z2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1ibG9ja3MtZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1i
bG9ja3MtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDFlYTgyOGYwZDk0OTZjNjFjODZhMmJl
MjFhMzk4Yjg1YzdhY2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFn
ZXMvdGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5LWJsb2Nrcy1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4K
K2JvZHksIGh0bWwgeworICAgIG1hcmdpbjogMDsKK30KKworLmNvdmVyLWJsb2NrLWNvbnRhaW5l
ciB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBsZWZ0OiAwOwor
ICAgIHdpZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAgIGJhY2tncm91bmQtY29s
b3I6IGJsYWNrOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGltZyBzcmM9Ii4uL3Jl
c291cmNlcy9ncmVlbi00MDB4NDAwLnBuZyI+PC9pbWc+Cis8ZGl2IGNsYXNzPSJjb3Zlci1ibG9j
ay1jb250YWluZXIiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3RleHQtcmVjb2du
aXRpb24vaW1hZ2Utb3ZlcmxheS1ibG9ja3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2Vz
L3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1ibG9ja3MuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
NjgwMWQ4YTk1OGUzN2ExMzQyOTMzZTc5ZDBmNjYxM2ZjMDc5NzYyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5
LWJsb2Nrcy5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzdHlsZT4KK2JvZHksIGh0bWwgeworICAgIG1hcmdpbjogMDsKK30KKworLmNvdmVy
LWJsb2NrLWNvbnRhaW5lciB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsK
KyAgICBsZWZ0OiAwOworICAgIHdpZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAg
IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGltZyBzcmM9Ii4uL3Jlc291cmNlcy9ncmVlbi00MDB4NDAwLnBuZyI+PC9pbWc+Cis8ZGl2IGNs
YXNzPSJjb3Zlci1ibG9jay1jb250YWluZXIiPjwvZGl2PgorPHNjcmlwdD4KK2FkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCAoKSA9PiB7CisgICAgbGV0IGltYWdlID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigiaW1nIik7CisgICAgaW50ZXJuYWxzLmluc3RhbGxJbWFnZU92ZXJsYXkoaW1hZ2UsIFtd
LCBbCisgICAgICAgIHsKKyAgICAgICAgICAgIHRvcExlZnQgOiBuZXcgRE9NUG9pbnRSZWFkT25s
eSgwLjEsIDAuMSksCisgICAgICAgICAgICB0b3BSaWdodCA6IG5ldyBET01Qb2ludFJlYWRPbmx5
KDAuNCwgMC4xKSwKKyAgICAgICAgICAgIGJvdHRvbVJpZ2h0IDogbmV3IERPTVBvaW50UmVhZE9u
bHkoMC40LCAwLjQpLAorICAgICAgICAgICAgYm90dG9tTGVmdCA6IG5ldyBET01Qb2ludFJlYWRP
bmx5KDAuMSwgMC40KSwKKyAgICAgICAgICAgIHRleHQgOiAiVGhpcyBpcyBhIGxvdCBvZiB0ZXh0
IHRoYXQgbWlnaHQgb3ZlcmZsb3cgdGhlIG92ZXJsYXkgYmxvY2sgdW5sZXNzIHdlIGRvIHNvbWV0
aGluZyBhYm91dCBpdC4iLAorICAgICAgICB9CisgICAgXSk7CisgICAgY29uc3QgYmxvY2sgPSBp
bnRlcm5hbHMuc2hhZG93Um9vdChpbWFnZSkucXVlcnlTZWxlY3RvcigiZGl2LmltYWdlLW92ZXJs
YXktYmxvY2siKTsKKyAgICBibG9jay5zdHlsZS5vdmVyZmxvdyA9ICJ2aXNpYmxlIjsKK30pOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="commit-queue"
          id="469881"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444773</attachid>
            <date>2021-11-18 19:39:07 -0800</date>
            <delta_ts>2021-11-29 11:17:42 -0800</delta_ts>
            <desc>Fix unused param</desc>
            <filename>bug-233343-20211118193904.patch</filename>
            <type>text/plain</type>
            <size>14988</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDcxMjYwN2FmOWIxMjAz
OTg0N2JmOGQ5MmJmMDJmZDliYmMyYjYyMy4uODExOTAxNjA3YzYzNGNhNzM5Njk0MTZkNzc4ZDE2
ODM3MTIzOTEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIxLTExLTE4ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGJhc2lj
IGhldXJpc3RpYyBmb3Igc2l6aW5nIHRleHQgaW4gaW1hZ2Ugb3ZlcmxheSBibG9ja3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzM0MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHJlc3MgYSBGSVhN
RSBieSBpbXBsZW1lbnRpbmcgYSBzaW1wbGUgaGV1cmlzdGljIGZvciBzaXppbmcgdGV4dCBpbiBp
bWFnZSBvdmVybGF5IGJsb2Nrcy4gRWFjaCBpbWFnZSBvdmVybGF5CisgICAgICAgIGJsb2NrIGhh
cyBhIHByZWRldGVybWluZWQgdGFyZ2V0IHdpZHRoIGFuZCBoZWlnaHQ7IGN1cnJlbnRseSwgd2Ug
aGFyZC1jb2RlIHRoZSBmb250IHNpemUgaW4gZWFjaCBvZiB0aGVzZSBibG9ja3MKKyAgICAgICAg
dG8gYmUgODAlIG9mIHRoZSB0YXJnZXQgaGVpZ2h0LiBXaGlsZSB0aGlzIHdvcmtzIGluIHNvbWUg
Y2FzZXMsIGl0IGFsc28gY2F1c2VzIGNvbnRlbnQgaW4gdGhlc2UgYmxvY2tzIHRvCisgICAgICAg
IG92ZXJmbG93IHRoZSBjb250YWluZXIgaWYgdGhlcmUncyB0b28gbXVjaCB0ZXh0LgorCisgICAg
ICAgIEF2b2lkIHRoaXMgcHJvYmxlbSBieSBmaW5kaW5nIHRoZSBsYXJnZXN0IGZvbnQgc2l6ZSwg
c3VjaCB0aGF0IHRleHQgaW4gZWFjaCBjb250YWluZXIgZml0cyB3aXRoaW4gdGhlIHRhcmdldAor
ICAgICAgICBib3VuZHMgd2l0aG91dCBvdmVyZmxvd2luZyB2ZXJ0aWNhbGx5ICh3ZSBkb24ndCBu
ZWVkIHRvIHdvcnJ5IGFib3V0IGhvcml6b250YWwgb3ZlcmZsb3cgYmVjYXVzZSBob3Jpem9udGFs
bHkKKyAgICAgICAgb3ZlcmZsb3dpbmcgdGV4dCB3aWxsIHNpbXBseSB3cmFwIHRvIHRoZSBuZXh0
IGxpbmUpLgorCisgICAgICAgIEJlY2F1c2Ugb2YgbGluZSB3cmFwcGluZywgaXQncyBkaWZmaWN1
bHQgdG8gYW5hbHl0aWNhbGx5IGNvbXB1dGUgdGhpcyBmb250IHNpemUsIHNvIEknbSBpbnN0ZWFk
IHVzaW5nIGJpbmFyeQorICAgICAgICBzZWFyY2ggKHVwIHRvIGEgZml4ZWQgbnVtYmVyIG9mIGl0
ZXJhdGlvbnMpIHRvIGNvbnZlcmdlIG9uIHRoaXMgbGFyZ2VzdCBzaXplIHRoYXQgYXZvaWRzIGV4
Y2VlZGluZyB0aGUgdGFyZ2V0CisgICAgICAgIGhlaWdodC4gU2VlIGJlbG93IGZvciBtb3JlIGRl
dGFpbHMuCisKKyAgICAgICAgVGVzdDogZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25pdGlvbi9pbWFn
ZS1vdmVybGF5LWJsb2Nrcy5odG1sCisKKyAgICAgICAgKiBkb20vSW1hZ2VPdmVybGF5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlT3ZlcmxheTo6dXBkYXRlU3VidHJlZSk6CisKKyAgICAg
ICAgRHJpdmUtYnkgZml4OiBhbHNvIG1ha2UgYSBzbGlnaHQgYWRqdXN0bWVudCBoZXJlIHRvIGF2
b2lkIHRyYW5zbGF0aW5nIGNvbnRlbnQgaW5zaWRlIGltYWdlIG92ZXJsYXlzLgorCisgICAgICAg
IChXZWJDb3JlOjpJbWFnZU92ZXJsYXk6OnVwZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQp
OgorCisgICAgICAgIEltcGxlbWVudCB0aGUgbWFpbiBsb2dpYyBvZiB0aGUgYmluYXJ5IHNlYXJj
aC4gRXN0YWJsaXNoIGEgZ29hbCBvZiBlbmRpbmcgdXAgd2l0aCB0ZXh0IHRoYXQgZmlsbHMgYXQg
bGVhc3QgOTAlCisgICAgICAgIG9mIHRoZSBhdmFpbGFibGUgc3BhY2UgaW4gdGhlIGNvbnRhaW5l
ciAod2l0aCBhIG1heCBvZiBqdXN0IHNsaWdodGx5IG92ZXIgMTAwJSwgc28gdGhhdCB3ZSBzdG9w
IGVhcmx5IGlmIHdlCisgICAgICAgIGhhcHBlbiB0byBvbmx5IGJhcmVseSBleGNlZWQgdGhlIHRh
cmdldCBoZWlnaHQpLiBUaGVuLCBzdGFydGluZyB3aXRoIGEgZm9udCBzaXplIHRoYXQncyA4MCUg
b2YgdGhlIHRhcmdldAorICAgICAgICBoZWlnaHQsIGNvbnZlcmdlIG9uIGEgZm9udCBzaXplIGJl
dHdlZW4gMCUgYW5kIDEwMCUgb2YgdGhlIHRhcmdldCBoZWlnaHQgdGhhdCBhY2hpZXZlcyB0aGlz
IGdvYWwuIEluIHByYWN0aWNlLAorICAgICAgICBtb3N0IG9mIHRoZSBpbmplY3RlZCBibG9ja3Mg
b2YgdGV4dCB3aWxsIHN0b3AgYWZ0ZXIgYSBzaW5nbGUgaXRlcmF0aW9uIChkdWUgdG8gdGhlICI4
MCUtb2YtaGVpZ2h0IiBmb250IHNpemUKKyAgICAgICAgYmVpbmcgc3VmZmljaWVudCB0byBtb3N0
bHkgZmlsbCBhdmFpbGFibGUgdmVydGljYWwgc3BhY2UpLgorCisgICAgICAgIEVhY2ggRm9udFNp
emVBZGp1c3RtZW50U3RhdGUgaGVyZSByZXByZXNlbnRzIGEgc2luZ2xlIGJsb2NrIGNvbnRhaW5l
ci4gQXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIGl0ZXJhdGlvbiwgd2UKKyAgICAgICAgZW5zdXJl
IHRoYXQgbGF5b3V0IGlzIHVwIHRvIGRhdGUsIGFuZCBzZXQgdGhlIGZvbnQgc2l6ZSB0byBiZSBi
ZXR3ZWVuIHRoZSBjdXJyZW50IG1pbiBhbmQgbWF4IHZhbHVlIChzY2FsaW5nIGJ5CisgICAgICAg
IHRhcmdldCBoZWlnaHQgdG8gZ2V0IGZvbnQgc2l6ZSkuIFVzaW5nIGBsaW5lc0JvdW5kaW5nQm94
KClgLCB3ZSBjb21wdXRlIHRoZSBoZWlnaHQgb2YgdGhlIHJlbmRlcmVkIHRleHQgcmVsYXRpdmUK
KyAgICAgICAgdG8gaXRzIHBhcmVudCAod2hpY2ggd2Uga25vdyBhLXByaW9yaSB0byBiZSBhcyB0
YWxsIGFzIHRoZSB0YXJnZXQgaGVpZ2h0KS4gSWYgdGhpcyBoZWlnaHQgaXMgYXQgbGVhc3QgOTAl
IG9mIHRoZQorICAgICAgICB0YXJnZXQgaGVpZ2h0LCB3ZSBmaW5pc2ggYW5kIHJlbW92ZSB0aGUg
Zm9udCBzaXplIGFkanVzdG1lbnQgc3RhdGUgZnJvbSB0aGUgdmVjdG9yIG9mIHBlbmRpbmcgZm9u
dCBhZGp1c3RtZW50czsKKyAgICAgICAgb3RoZXJ3aXNlLCB3ZSBhZGp1c3QgdGhlIG1pbiBhbmQg
bWF4IHRvIGVpdGhlciBpbmNyZWFzZSBvciBkZWNyZWFzZSB0aGUgZm9udCBzaXplIGFzIG5lZWRl
ZCwgYW5kIGNvbnRpbnVlIHRoZQorICAgICAgICBsb29wLiBXZSBmaW5hbGx5IGJhaWwgYWZ0ZXIg
YW4gYXJiaXRyYXJpbHktY2hvc2VuIDEwIGl0ZXJhdGlvbnMsIGlmIHRoZSB0ZXh0IGluIHRoZSBj
b250YWluZXIgaXMgc3RpbGwgdG9vCisgICAgICAgIHNtYWxsLgorCisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjppbnN0YWxsSW1h
Z2VPdmVybGF5KToKKworICAgICAgICBBdWdtZW50IHRoaXMgdGVzdGluZy1vbmx5IGludGVybmFs
cyBob29rIHNvIHRoYXQgd2UgY2FuIGluamVjdCBhcmJpdHJhcnkgaW1hZ2Ugb3ZlcmxheSBibG9j
ayBjb250ZW50IGluc2lkZQorICAgICAgICBpbWFnZSBvdmVybGF5cy4KKworICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAy
MDIxLTExLTE4ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBTdWJT
cGFjZSBjb25zdHJ1Y3RvcnMgc2hvdWxkIHRha2UgYSBjb25zdCBIZWFwQ2VsbFR5cGUmIGluc3Rl
YWQgb2YgYSBIZWFwQ2VsbFR5cGUqLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0lt
YWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW1hZ2VPdmVybGF5LmNwcAppbmRl
eCBmOGE5YTlkZDBiYmMxNTJiY2U1YzM3MjRkNzI5MDQzOGU2M2IzMmJhLi4xOGNkYjhkNDkwMThk
YzliMGMwNjA1MTM0MzE0ZjY3NTY0MzY2ZjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vSW1hZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW1hZ2VPdmVybGF5
LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJRdWly
a3MuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUgIlJlbmRlclRleHQuaCIK
ICNpbmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVkZSAiU2ltcGxlUmFuZ2UuaCIKICNpbmNs
dWRlICJUZXh0LmgiCkBAIC0zMDIsNiArMzAzLDcgQEAgc3RhdGljIEVsZW1lbnRzIHVwZGF0ZVN1
YnRyZWUoSFRNTEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFRleHRSZWNvZ25pdGlvblJlc3VsdCYK
ICAgICBpZiAoIWVsZW1lbnRzLnJvb3QpIHsKICAgICAgICAgYXV0byByb290Q29udGFpbmVyID0g
SFRNTERpdkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudC5nZXQoKSk7CiAgICAgICAgIHJvb3RDb250
YWluZXItPnNldElkQXR0cmlidXRlKGltYWdlT3ZlcmxheUVsZW1lbnRJZGVudGlmaWVyKCkpOwor
ICAgICAgICByb290Q29udGFpbmVyLT5zZXRUcmFuc2xhdGUoZmFsc2UpOwogICAgICAgICBpZiAo
ZG9jdW1lbnQtPmlzSW1hZ2VEb2N1bWVudCgpKQogICAgICAgICAgICAgcm9vdENvbnRhaW5lci0+
c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdFVzZXJTZWxlY3QsIENTU1Zh
bHVlVGV4dCk7CiAKQEAgLTQ5OCw2ICs1MDAsMjUgQEAgdm9pZCB1cGRhdGVXaXRoVGV4dFJlY29n
bml0aW9uUmVzdWx0KEhUTUxFbGVtZW50JiBlbGVtZW50LCBjb25zdCBUZXh0UmVjb2duaXRpb24K
ICAgICB9CiAjZW5kaWYgLy8gRU5BQkxFKERBVEFfREVURUNUSU9OKQogCisgICAgY29uc3RleHBy
IGZsb2F0IG1pblNjYWxlRm9yRm9udFNpemUgPSAwOworICAgIGNvbnN0ZXhwciBmbG9hdCBpbml0
aWFsU2NhbGVGb3JGb250U2l6ZSA9IDAuODsKKyAgICBjb25zdGV4cHIgZmxvYXQgbWF4U2NhbGVG
b3JGb250U2l6ZSA9IDE7CisgICAgY29uc3RleHByIHVuc2lnbmVkIGl0ZXJhdGlvbkxpbWl0ID0g
MTA7CisgICAgY29uc3RleHByIGZsb2F0IG1pblRhcmdldFNjb3JlID0gMC45OworICAgIGNvbnN0
ZXhwciBmbG9hdCBtYXhUYXJnZXRTY29yZSA9IDEuMDI7CisKKyAgICBzdHJ1Y3QgRm9udFNpemVB
ZGp1c3RtZW50U3RhdGUgeworICAgICAgICBSZWY8SFRNTEVsZW1lbnQ+IGNvbnRhaW5lcjsKKyAg
ICAgICAgZmxvYXQgdGFyZ2V0SGVpZ2h0OworICAgICAgICBmbG9hdCBzY2FsZSB7IGluaXRpYWxT
Y2FsZUZvckZvbnRTaXplIH07CisgICAgICAgIGZsb2F0IG1pblNjYWxlIHsgbWluU2NhbGVGb3JG
b250U2l6ZSB9OworICAgICAgICBmbG9hdCBtYXhTY2FsZSB7IG1heFNjYWxlRm9yRm9udFNpemUg
fTsKKyAgICAgICAgYm9vbCBtYXlSZXF1aXJlQWRqdXN0bWVudCB7IHRydWUgfTsKKyAgICB9Owor
CisgICAgVmVjdG9yPEZvbnRTaXplQWRqdXN0bWVudFN0YXRlPiBlbGVtZW50c1RvQWRqdXN0Owor
ICAgIGVsZW1lbnRzVG9BZGp1c3QucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZXN1bHQuYmxvY2tz
LnNpemUoKSk7CisKICAgICBBU1NFUlQocmVzdWx0LmJsb2Nrcy5zaXplKCkgPT0gZWxlbWVudHMu
YmxvY2tzLnNpemUoKSk7CiAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IHJlc3Vs
dC5ibG9ja3Muc2l6ZSgpOyArK2luZGV4KSB7CiAgICAgICAgIGF1dG8mIGJsb2NrID0gcmVzdWx0
LmJsb2Nrc1tpbmRleF07CkBAIC01MDYsOSArNTI3LDUzIEBAIHZvaWQgdXBkYXRlV2l0aFRleHRS
ZWNvZ25pdGlvblJlc3VsdChIVE1MRWxlbWVudCYgZWxlbWVudCwgY29uc3QgVGV4dFJlY29nbml0
aW9uCiAKICAgICAgICAgYXV0byBibG9ja0NvbnRhaW5lciA9IGVsZW1lbnRzLmJsb2Nrc1tpbmRl
eF07CiAgICAgICAgIGF1dG8gYm91bmRzID0gZml0RWxlbWVudFRvUXVhZChibG9ja0NvbnRhaW5l
ci5nZXQoKSwgY29udmVydFRvQ29udGFpbmVyQ29vcmRpbmF0ZXMoYmxvY2subm9ybWFsaXplZFF1
YWQpKTsKLSAgICAgICAgLy8gRklYTUU6IFdlJ2xsIG5lZWQgYSBzbWFydGVyIGFsZ29yaXRobSBo
ZXJlIHRoYXQgY2hvb3NlcyB0aGUgbGFyZ2VzdCBmb250IHNpemUgZm9yIHRoZSBjb250YWluZXIg
d2l0aG91dAotICAgICAgICAvLyB2ZXJ0aWNhbGx5IG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIu
Ci0gICAgICAgIGJsb2NrQ29udGFpbmVyLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3Bl
cnR5Rm9udFNpemUsIHN0ZDo6cm91bmQoMC44ICogYm91bmRzLnNpemUuaGVpZ2h0KCkpLCBDU1NV
bml0VHlwZTo6Q1NTX1BYKTsKKyAgICAgICAgYmxvY2tDb250YWluZXItPnNldElubGluZVN0eWxl
UHJvcGVydHkoQ1NTUHJvcGVydHlGb250U2l6ZSwgaW5pdGlhbFNjYWxlRm9yRm9udFNpemUgKiBi
b3VuZHMuc2l6ZS5oZWlnaHQoKSwgQ1NTVW5pdFR5cGU6OkNTU19QWCk7CisgICAgICAgIGVsZW1l
bnRzVG9BZGp1c3QudW5jaGVja2VkQXBwZW5kKHsgV1RGTW92ZShibG9ja0NvbnRhaW5lciksIGJv
dW5kcy5zaXplLmhlaWdodCgpIH0pOworICAgIH0KKworICAgIHVuc2lnbmVkIGN1cnJlbnRJdGVy
YXRpb24gPSAwOworICAgIHdoaWxlICghZWxlbWVudHNUb0FkanVzdC5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgZG9jdW1lbnQtPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwor
CisgICAgICAgIGZvciAoYXV0byYgc3RhdGUgOiBlbGVtZW50c1RvQWRqdXN0KSB7CisgICAgICAg
ICAgICBSZWZQdHIgdGV4dE5vZGUgPSBzdGF0ZS5jb250YWluZXItPmZpcnN0Q2hpbGQoKTsKKyAg
ICAgICAgICAgIGlmICghaXM8VGV4dD4odGV4dE5vZGUpKSB7CisgICAgICAgICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICAgICAgc3RhdGUubWF5UmVxdWlyZUFkanVz
dG1lbnQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgYXV0byogdGV4dFJlbmRlcmVyID0gZG93bmNhc3Q8VGV4dD4oKnRleHRO
b2RlKS5yZW5kZXJlcigpOworICAgICAgICAgICAgaWYgKCF0ZXh0UmVuZGVyZXIpIHsKKyAgICAg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgICAgICBzdGF0ZS5t
YXlSZXF1aXJlQWRqdXN0bWVudCA9IGZhbHNlOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBhdXRvIGN1cnJlbnRTY29yZSA9IHRleHRSZW5k
ZXJlci0+bGluZXNCb3VuZGluZ0JveCgpLmhlaWdodCgpIC8gc3RhdGUudGFyZ2V0SGVpZ2h0Owor
ICAgICAgICAgICAgaWYgKGN1cnJlbnRTY29yZSA8IG1pblRhcmdldFNjb3JlKQorICAgICAgICAg
ICAgICAgIHN0YXRlLm1pblNjYWxlID0gc3RhdGUuc2NhbGU7CisgICAgICAgICAgICBlbHNlIGlm
IChjdXJyZW50U2NvcmUgPiBtYXhUYXJnZXRTY29yZSkKKyAgICAgICAgICAgICAgICBzdGF0ZS5t
YXhTY2FsZSA9IHN0YXRlLnNjYWxlOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAg
ICAgc3RhdGUubWF5UmVxdWlyZUFkanVzdG1lbnQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgc3RhdGUuc2NhbGUgPSAoc3Rh
dGUubWluU2NhbGUgKyBzdGF0ZS5tYXhTY2FsZSkgLyAyOworICAgICAgICAgICAgc3RhdGUuY29u
dGFpbmVyLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFNpemUsIHN0YXRl
LnRhcmdldEhlaWdodCAqIHN0YXRlLnNjYWxlLCBDU1NVbml0VHlwZTo6Q1NTX1BYKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGVsZW1lbnRzVG9BZGp1c3QucmVtb3ZlQWxsTWF0Y2hpbmcoW10oYXV0
byYgc3RhdGUpIHsKKyAgICAgICAgICAgIHJldHVybiAhc3RhdGUubWF5UmVxdWlyZUFkanVzdG1l
bnQ7CisgICAgICAgIH0pOworCisgICAgICAgIGlmICgrK2N1cnJlbnRJdGVyYXRpb24gPiBpdGVy
YXRpb25MaW1pdCkgeworICAgICAgICAgICAgLy8gRmFsbCBiYWNrIHRvIHRoZSBsYXJnZXN0IGZv
bnQgc2l6ZSB0aGF0IHN0aWxsIHZlcnRpY2FsbHkgZml0cyB3aXRoaW4gdGhlIGNvbnRhaW5lci4K
KyAgICAgICAgICAgIGZvciAoYXV0byYgc3RhdGUgOiBlbGVtZW50c1RvQWRqdXN0KQorICAgICAg
ICAgICAgICAgIHN0YXRlLmNvbnRhaW5lci0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUZvbnRTaXplLCBzdGF0ZS50YXJnZXRIZWlnaHQgKiBzdGF0ZS5taW5TY2FsZSwgQ1NTVW5p
dFR5cGU6OkNTU19QWCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0KIAog
ICAgIGlmIChSZWZQdHIgZnJhbWUgPSBkb2N1bWVudC0+ZnJhbWUoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAppbmRleCA4NzU3MjMwODU4NDE3MmUxNmMwMWFhMDE0M2I0ZmQzZDI1
YWQzZWM5Li40Y2RlNDAzNjg2OWQzNDQ3OGU4Y2M1YWJlNDk2MGM5NWZhN2M0ZTM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC01NzUxLDYgKzU3NTEsNyBAQCBNb2NrUGF5
bWVudENvb3JkaW5hdG9yJiBJbnRlcm5hbHM6Om1vY2tQYXltZW50Q29vcmRpbmF0b3IoRG9jdW1l
bnQmIGRvY3VtZW50KQogCiBJbnRlcm5hbHM6OkltYWdlT3ZlcmxheUxpbmU6On5JbWFnZU92ZXJs
YXlMaW5lKCkgPSBkZWZhdWx0OwogSW50ZXJuYWxzOjpJbWFnZU92ZXJsYXlUZXh0Ojp+SW1hZ2VP
dmVybGF5VGV4dCgpID0gZGVmYXVsdDsKK0ludGVybmFsczo6SW1hZ2VPdmVybGF5QmxvY2s6On5J
bWFnZU92ZXJsYXlCbG9jaygpID0gZGVmYXVsdDsKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJ
UykKIApAQCAtNTc5OSw3ICs1ODAwLDcgQEAgUmVmUHRyPEVsZW1lbnQ+IEludGVybmFsczo6dGV4
dFJlY29nbml0aW9uQ2FuZGlkYXRlKCkgY29uc3QKIAogI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9B
TkFMWVNJUykKIAotdm9pZCBJbnRlcm5hbHM6Omluc3RhbGxJbWFnZU92ZXJsYXkoRWxlbWVudCYg
ZWxlbWVudCwgVmVjdG9yPEltYWdlT3ZlcmxheUxpbmU+JiYgbGluZXMpCit2b2lkIEludGVybmFs
czo6aW5zdGFsbEltYWdlT3ZlcmxheShFbGVtZW50JiBlbGVtZW50LCBWZWN0b3I8SW1hZ2VPdmVy
bGF5TGluZT4mJiBsaW5lcywgVmVjdG9yPEltYWdlT3ZlcmxheUJsb2NrPiYmIGJsb2NrcykKIHsK
ICAgICBpZiAoIWlzPEhUTUxFbGVtZW50PihlbGVtZW50KSkKICAgICAgICAgcmV0dXJuOwpAQCAt
NTgxMiwxMCArNTgxMywxMyBAQCB2b2lkIEludGVybmFsczo6aW5zdGFsbEltYWdlT3ZlcmxheShF
bGVtZW50JiBlbGVtZW50LCBWZWN0b3I8SW1hZ2VPdmVybGF5TGluZT4mJgogI2lmIEVOQUJMRShE
QVRBX0RFVEVDVElPTikKICAgICAgICAgLCBWZWN0b3I8VGV4dFJlY29nbml0aW9uRGF0YURldGVj
dG9yPigpCiAjZW5kaWYKLSAgICAgICAgLCBWZWN0b3I8VGV4dFJlY29nbml0aW9uQmxvY2tEYXRh
PigpCisgICAgICAgICwgYmxvY2tzLm1hcChbXSAoYXV0byYgYmxvY2spIHsKKyAgICAgICAgICAg
IHJldHVybiBUZXh0UmVjb2duaXRpb25CbG9ja0RhdGEgeyBibG9jay50ZXh0LCBnZXRRdWFkPElt
YWdlT3ZlcmxheUJsb2NrPihibG9jaykgfTsKKyAgICAgICAgfSkKICAgICB9KTsKICNlbHNlCiAg
ICAgVU5VU0VEX1BBUkFNKGxpbmVzKTsKKyAgICBVTlVTRURfUEFSQU0oYmxvY2tzKTsKICNlbmRp
ZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBiNGY4NWE2OWYxN2I3Y2Uz
N2I3ZTZlMWRhMmNlODgyYTI4MTQxNmE3Li44ZDM0NzU3ZjhlZDRkYmFjMjQzMjlkNjJjYWY1NDI1
OTlmZjM0YzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTkxOCw3ICs5MTgs
MTggQEAgcHVibGljOgogCiAgICAgICAgIH5JbWFnZU92ZXJsYXlMaW5lKCk7CiAgICAgfTsKLSAg
ICB2b2lkIGluc3RhbGxJbWFnZU92ZXJsYXkoRWxlbWVudCYsIFZlY3RvcjxJbWFnZU92ZXJsYXlM
aW5lPiYmKTsKKworICAgIHN0cnVjdCBJbWFnZU92ZXJsYXlCbG9jayB7CisgICAgICAgIFN0cmlu
ZyB0ZXh0OworICAgICAgICBSZWZQdHI8RE9NUG9pbnRSZWFkT25seT4gdG9wTGVmdDsKKyAgICAg
ICAgUmVmUHRyPERPTVBvaW50UmVhZE9ubHk+IHRvcFJpZ2h0OworICAgICAgICBSZWZQdHI8RE9N
UG9pbnRSZWFkT25seT4gYm90dG9tUmlnaHQ7CisgICAgICAgIFJlZlB0cjxET01Qb2ludFJlYWRP
bmx5PiBib3R0b21MZWZ0OworCisgICAgICAgIH5JbWFnZU92ZXJsYXlCbG9jaygpOworICAgIH07
CisKKyAgICB2b2lkIGluc3RhbGxJbWFnZU92ZXJsYXkoRWxlbWVudCYsIFZlY3RvcjxJbWFnZU92
ZXJsYXlMaW5lPiYmLCBWZWN0b3I8SW1hZ2VPdmVybGF5QmxvY2s+JiYgPSB7IH0pOwogCiAjaWYg
RU5BQkxFKElNQUdFX0FOQUxZU0lTKQogICAgIHZvaWQgcmVxdWVzdFRleHRSZWNvZ25pdGlvbihF
bGVtZW50JiwgUmVmUHRyPFZvaWRDYWxsYmFjaz4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKaW5kZXggNjFjZTczOGYwN2VlN2JkMDVkZjBjNzEzYTdhMzM0YTU1M2Y3ZDQwNC4u
MzAzMjA3ODg1MWE1Y2MxYTMxODc3ZmEyN2Y3MzlhMjFmZmQwOTdiYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMjg2LDYgKzI4NiwxNyBAQCBlbnVtIEF1dG9wbGF5UG9s
aWN5IHsKICAgICBzZXF1ZW5jZTxJbWFnZU92ZXJsYXlUZXh0PiBjaGlsZHJlbjsKIH07CiAKK1sK
KyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX1RFU1RTVVBQT1JUX0VYUE9SVCwKKyAgICBKU0dlbmVy
YXRlVG9KU09iamVjdCwKK10gZGljdGlvbmFyeSBJbWFnZU92ZXJsYXlCbG9jayB7CisgICAgcmVx
dWlyZWQgRE9NU3RyaW5nIHRleHQ7CisgICAgcmVxdWlyZWQgRE9NUG9pbnRSZWFkT25seSB0b3BM
ZWZ0OworICAgIHJlcXVpcmVkIERPTVBvaW50UmVhZE9ubHkgdG9wUmlnaHQ7CisgICAgcmVxdWly
ZWQgRE9NUG9pbnRSZWFkT25seSBib3R0b21SaWdodDsKKyAgICByZXF1aXJlZCBET01Qb2ludFJl
YWRPbmx5IGJvdHRvbUxlZnQ7Cit9OworCiBbCiAgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9URVNU
U1VQUE9SVF9FWFBPUlQsCiAgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCkBAIC05NDEsNyAr
OTUyLDcgQEAgZW51bSBBdXRvcGxheVBvbGljeSB7CiAKICAgICBbQ29uZGl0aW9uYWw9SU1BR0Vf
QU5BTFlTSVNdIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50PyB0ZXh0UmVjb2duaXRpb25DYW5k
aWRhdGU7CiAgICAgW0NvbmRpdGlvbmFsPUlNQUdFX0FOQUxZU0lTXSB1bmRlZmluZWQgcmVxdWVz
dFRleHRSZWNvZ25pdGlvbihFbGVtZW50IGVsZW1lbnQsIFZvaWRDYWxsYmFjayBjYWxsYmFjayk7
Ci0gICAgdW5kZWZpbmVkIGluc3RhbGxJbWFnZU92ZXJsYXkoRWxlbWVudCBlbGVtZW50LCBzZXF1
ZW5jZTxJbWFnZU92ZXJsYXlMaW5lPiBsaW5lcyk7CisgICAgdW5kZWZpbmVkIGluc3RhbGxJbWFn
ZU92ZXJsYXkoRWxlbWVudCBlbGVtZW50LCBzZXF1ZW5jZTxJbWFnZU92ZXJsYXlMaW5lPiBsaW5l
cywgb3B0aW9uYWwgc2VxdWVuY2U8SW1hZ2VPdmVybGF5QmxvY2s+IGJsb2NrcyA9IFtdKTsKIAog
ICAgIGJvb2xlYW4gdXNpbmdBcHBsZUludGVybmFsU0RLKCk7CiAgICAgYm9vbGVhbiB1c2luZ0dT
dHJlYW1lcigpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDZmN2JhNTMzY2UyNmExYzEwNWEwMzgxYTgxYzdlYzJjN2Q3M2Ey
NWYuLjVlYWQzZDdiZWM4YjNlOTk2Y2IyMzUzNWE4NjcyODMwYWM3ZTdjYjUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0xMS0xOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgYSBiYXNpYyBoZXVyaXN0aWMgZm9yIHNpemluZyB0ZXh0IGlu
IGltYWdlIG92ZXJsYXkgYmxvY2tzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzMzNDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgYSBuZXcgbGF5b3V0IHRlc3QuIFNlZSBXZWJDb3JlL0NoYW5nZUxv
ZyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25p
dGlvbi9pbWFnZS1vdmVybGF5LWJsb2Nrcy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktYmxvY2tzLmh0bWw6
IEFkZGVkLgorCiAyMDIxLTExLTE4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIFttYWNPU10gW0xpdmUgVGV4dF0gQXZvaWQgYW5hbHl6aW5nIGltYWdl
cyBpbiBlZGl0YWJsZSBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdl
cy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktYmxvY2tzLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktYmxv
Y2tzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQxZWE4MjhmMGQ5NDk2YzYxYzg2YTJiZTIx
YTM5OGI4NWM3YWNmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2Vz
L3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1ibG9ja3MtZXhwZWN0ZWQuaHRtbApAQCAt
MCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+Citi
b2R5LCBodG1sIHsKKyAgICBtYXJnaW46IDA7Cit9CisKKy5jb3Zlci1ibG9jay1jb250YWluZXIg
eworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDA7CisgICAgbGVmdDogMDsKKyAg
ICB3aWR0aDogMjAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9y
OiBibGFjazsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpbWcgc3JjPSIuLi9yZXNv
dXJjZXMvZ3JlZW4tNDAweDQwMC5wbmciPjwvaW1nPgorPGRpdiBjbGFzcz0iY292ZXItYmxvY2st
Y29udGFpbmVyIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0
aW9uL2ltYWdlLW92ZXJsYXktYmxvY2tzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy90
ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktYmxvY2tzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY4
MDFkOGE5NThlMzdhMTM0MjkzM2U3OWQwZjY2MTNmYzA3OTc2MgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1i
bG9ja3MuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c3R5bGU+Citib2R5LCBodG1sIHsKKyAgICBtYXJnaW46IDA7Cit9CisKKy5jb3Zlci1i
bG9jay1jb250YWluZXIgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDA7Cisg
ICAgbGVmdDogMDsKKyAgICB3aWR0aDogMjAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxp
bWcgc3JjPSIuLi9yZXNvdXJjZXMvZ3JlZW4tNDAweDQwMC5wbmciPjwvaW1nPgorPGRpdiBjbGFz
cz0iY292ZXItYmxvY2stY29udGFpbmVyIj48L2Rpdj4KKzxzY3JpcHQ+CithZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgKCkgPT4geworICAgIGxldCBpbWFnZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoImltZyIpOworICAgIGludGVybmFscy5pbnN0YWxsSW1hZ2VPdmVybGF5KGltYWdlLCBbXSwg
WworICAgICAgICB7CisgICAgICAgICAgICB0b3BMZWZ0IDogbmV3IERPTVBvaW50UmVhZE9ubHko
MC4xLCAwLjEpLAorICAgICAgICAgICAgdG9wUmlnaHQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgw
LjQsIDAuMSksCisgICAgICAgICAgICBib3R0b21SaWdodCA6IG5ldyBET01Qb2ludFJlYWRPbmx5
KDAuNCwgMC40KSwKKyAgICAgICAgICAgIGJvdHRvbUxlZnQgOiBuZXcgRE9NUG9pbnRSZWFkT25s
eSgwLjEsIDAuNCksCisgICAgICAgICAgICB0ZXh0IDogIlRoaXMgaXMgYSBsb3Qgb2YgdGV4dCB0
aGF0IG1pZ2h0IG92ZXJmbG93IHRoZSBvdmVybGF5IGJsb2NrIHVubGVzcyB3ZSBkbyBzb21ldGhp
bmcgYWJvdXQgaXQuIiwKKyAgICAgICAgfQorICAgIF0pOworICAgIGNvbnN0IGJsb2NrID0gaW50
ZXJuYWxzLnNoYWRvd1Jvb3QoaW1hZ2UpLnF1ZXJ5U2VsZWN0b3IoImRpdi5pbWFnZS1vdmVybGF5
LWJsb2NrIik7CisgICAgYmxvY2suc3R5bGUub3ZlcmZsb3cgPSAidmlzaWJsZSI7Cit9KTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="469877"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445325</attachid>
            <date>2021-11-29 12:28:33 -0800</date>
            <delta_ts>2021-11-29 12:58:59 -0800</delta_ts>
            <desc>Rebase on trunk</desc>
            <filename>bug-233343-20211129122833.patch</filename>
            <type>text/plain</type>
            <size>14385</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI2MGY4NWM3NGFjY2Iy
YjY0OTMzNTc3N2Y2OTdiZGZlNzFjZTQxOC4uZmJhNDZiNDY2ZDI2Mzc5ZWE1YTVjNjVhN2Q0NjZk
ZGEwZWU5M2ExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIxLTExLTI5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGJhc2lj
IGhldXJpc3RpYyBmb3Igc2l6aW5nIHRleHQgaW4gaW1hZ2Ugb3ZlcmxheSBibG9ja3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzM0MworICAgICAg
ICByZGFyOi8vODU3NTU3NTUKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisg
ICAgICAgIEFkZHJlc3MgYSBGSVhNRSBieSBpbXBsZW1lbnRpbmcgYSBzaW1wbGUgaGV1cmlzdGlj
IGZvciBzaXppbmcgdGV4dCBpbiBpbWFnZSBvdmVybGF5IGJsb2Nrcy4gRWFjaCBpbWFnZSBvdmVy
bGF5CisgICAgICAgIGJsb2NrIGhhcyBhIHByZWRldGVybWluZWQgdGFyZ2V0IHdpZHRoIGFuZCBo
ZWlnaHQ7IGN1cnJlbnRseSwgd2UgaGFyZC1jb2RlIHRoZSBmb250IHNpemUgaW4gZWFjaCBvZiB0
aGVzZSBibG9ja3MKKyAgICAgICAgdG8gYmUgODAlIG9mIHRoZSB0YXJnZXQgaGVpZ2h0LiBXaGls
ZSB0aGlzIHdvcmtzIGluIHNvbWUgY2FzZXMsIGl0IGFsc28gY2F1c2VzIGNvbnRlbnQgaW4gdGhl
c2UgYmxvY2tzIHRvCisgICAgICAgIG92ZXJmbG93IHRoZSBjb250YWluZXIgaWYgdGhlcmUncyB0
b28gbXVjaCB0ZXh0LgorCisgICAgICAgIEF2b2lkIHRoaXMgcHJvYmxlbSBieSBmaW5kaW5nIHRo
ZSBsYXJnZXN0IGZvbnQgc2l6ZSwgc3VjaCB0aGF0IHRleHQgaW4gZWFjaCBjb250YWluZXIgZml0
cyB3aXRoaW4gdGhlIHRhcmdldAorICAgICAgICBib3VuZHMgd2l0aG91dCBvdmVyZmxvd2luZyB2
ZXJ0aWNhbGx5ICh3ZSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGhvcml6b250YWwgb3ZlcmZs
b3cgYmVjYXVzZSBob3Jpem9udGFsbHkKKyAgICAgICAgb3ZlcmZsb3dpbmcgdGV4dCB3aWxsIHNp
bXBseSB3cmFwIHRvIHRoZSBuZXh0IGxpbmUpLgorCisgICAgICAgIEJlY2F1c2Ugb2YgbGluZSB3
cmFwcGluZywgaXQncyBkaWZmaWN1bHQgdG8gYW5hbHl0aWNhbGx5IGNvbXB1dGUgdGhpcyBmb250
IHNpemUsIHNvIEknbSBpbnN0ZWFkIHVzaW5nIGJpbmFyeQorICAgICAgICBzZWFyY2ggKHVwIHRv
IGEgZml4ZWQgbnVtYmVyIG9mIGl0ZXJhdGlvbnMpIHRvIGNvbnZlcmdlIG9uIHRoaXMgbGFyZ2Vz
dCBzaXplIHRoYXQgYXZvaWRzIGV4Y2VlZGluZyB0aGUgdGFyZ2V0CisgICAgICAgIGhlaWdodC4g
U2VlIGJlbG93IGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgVGVzdDogZmFzdC9pbWFnZXMv
dGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5LWJsb2Nrcy5odG1sCisKKyAgICAgICAgKiBk
b20vSW1hZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlT3ZlcmxheTo6dXBk
YXRlV2l0aFRleHRSZWNvZ25pdGlvblJlc3VsdCk6CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBt
YWluIGxvZ2ljIG9mIHRoZSBiaW5hcnkgc2VhcmNoLiBFc3RhYmxpc2ggYSBnb2FsIG9mIGVuZGlu
ZyB1cCB3aXRoIHRleHQgdGhhdCBmaWxscyBhdCBsZWFzdCA5MCUKKyAgICAgICAgb2YgdGhlIGF2
YWlsYWJsZSBzcGFjZSBpbiB0aGUgY29udGFpbmVyICh3aXRoIGEgbWF4IG9mIGp1c3Qgc2xpZ2h0
bHkgb3ZlciAxMDAlLCBzbyB0aGF0IHdlIHN0b3AgZWFybHkgaWYgd2UKKyAgICAgICAgaGFwcGVu
IHRvIG9ubHkgYmFyZWx5IGV4Y2VlZCB0aGUgdGFyZ2V0IGhlaWdodCkuIFRoZW4sIHN0YXJ0aW5n
IHdpdGggYSBmb250IHNpemUgdGhhdCdzIDgwJSBvZiB0aGUgdGFyZ2V0CisgICAgICAgIGhlaWdo
dCwgY29udmVyZ2Ugb24gYSBmb250IHNpemUgYmV0d2VlbiAwJSBhbmQgMTAwJSBvZiB0aGUgdGFy
Z2V0IGhlaWdodCB0aGF0IGFjaGlldmVzIHRoaXMgZ29hbC4gSW4gcHJhY3RpY2UsCisgICAgICAg
IG1vc3Qgb2YgdGhlIGluamVjdGVkIGJsb2NrcyBvZiB0ZXh0IHdpbGwgc3RvcCBhZnRlciBhIHNp
bmdsZSBpdGVyYXRpb24gKGR1ZSB0byB0aGUgIjgwJS1vZi1oZWlnaHQiIGZvbnQgc2l6ZQorICAg
ICAgICBiZWluZyBzdWZmaWNpZW50IHRvIG1vc3RseSBmaWxsIGF2YWlsYWJsZSB2ZXJ0aWNhbCBz
cGFjZSkuCisKKyAgICAgICAgRWFjaCBGb250U2l6ZUFkanVzdG1lbnRTdGF0ZSBoZXJlIHJlcHJl
c2VudHMgYSBzaW5nbGUgYmxvY2sgY29udGFpbmVyLiBBdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2gg
aXRlcmF0aW9uLCB3ZQorICAgICAgICBlbnN1cmUgdGhhdCBsYXlvdXQgaXMgdXAgdG8gZGF0ZSwg
YW5kIHNldCB0aGUgZm9udCBzaXplIHRvIGJlIGJldHdlZW4gdGhlIGN1cnJlbnQgbWluIGFuZCBt
YXggdmFsdWUgKHNjYWxpbmcgYnkKKyAgICAgICAgdGFyZ2V0IGhlaWdodCB0byBnZXQgZm9udCBz
aXplKS4gVXNpbmcgYGxpbmVzQm91bmRpbmdCb3goKWAsIHdlIGNvbXB1dGUgdGhlIGhlaWdodCBv
ZiB0aGUgcmVuZGVyZWQgdGV4dCByZWxhdGl2ZQorICAgICAgICB0byBpdHMgcGFyZW50ICh3aGlj
aCB3ZSBrbm93IGEtcHJpb3JpIHRvIGJlIGFzIHRhbGwgYXMgdGhlIHRhcmdldCBoZWlnaHQpLiBJ
ZiB0aGlzIGhlaWdodCBpcyBhdCBsZWFzdCA5MCUgb2YgdGhlCisgICAgICAgIHRhcmdldCBoZWln
aHQsIHdlIGZpbmlzaCBhbmQgcmVtb3ZlIHRoZSBmb250IHNpemUgYWRqdXN0bWVudCBzdGF0ZSBm
cm9tIHRoZSB2ZWN0b3Igb2YgcGVuZGluZyBmb250IGFkanVzdG1lbnRzOworICAgICAgICBvdGhl
cndpc2UsIHdlIGFkanVzdCB0aGUgbWluIGFuZCBtYXggdG8gZWl0aGVyIGluY3JlYXNlIG9yIGRl
Y3JlYXNlIHRoZSBmb250IHNpemUgYXMgbmVlZGVkLCBhbmQgY29udGludWUgdGhlCisgICAgICAg
IGxvb3AuIFdlIGZpbmFsbHkgYmFpbCBhZnRlciBhbiBhcmJpdHJhcmlseS1jaG9zZW4gMTAgaXRl
cmF0aW9ucywgaWYgdGhlIHRleHQgaW4gdGhlIGNvbnRhaW5lciBpcyBzdGlsbCB0b28KKyAgICAg
ICAgc21hbGwuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6Omluc3RhbGxJbWFnZU92ZXJsYXkpOgorCisgICAgICAgIEF1Z21l
bnQgdGhpcyB0ZXN0aW5nLW9ubHkgaW50ZXJuYWxzIGhvb2sgc28gdGhhdCB3ZSBjYW4gaW5qZWN0
IGFyYml0cmFyeSBpbWFnZSBvdmVybGF5IGJsb2NrIGNvbnRlbnQgaW5zaWRlCisgICAgICAgIGlt
YWdlIG92ZXJsYXlzLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjEtMTEtMjQgIEFudG9pbmUgUXVpbnQgIDxn
cmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW01vZGVsXSBjbGVhbiB1cCBjb21waWxlLXRp
bWUgZmxhZ3MgYW5kIGNvbmRpdGlvbiBJREwgbWV0aG9kcyBiZWhpbmQgdGhlbQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0ltYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vSW1hZ2VPdmVybGF5LmNwcAppbmRleCBmOGE5YTlkZDBiYmMxNTJiY2U1YzM3MjRkNzI5MDQz
OGU2M2IzMmJhLi5mODU1M2NlZDM3ZGJmZGMwNmZhZjhmOGY3MmI0ZWEzOGFlNzc2ZTA0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW1hZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vSW1hZ2VPdmVybGF5LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUg
IlBhZ2UuaCIKICNpbmNsdWRlICJRdWlya3MuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgor
I2luY2x1ZGUgIlJlbmRlclRleHQuaCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVk
ZSAiU2ltcGxlUmFuZ2UuaCIKICNpbmNsdWRlICJUZXh0LmgiCkBAIC00OTgsNiArNDk5LDI1IEBA
IHZvaWQgdXBkYXRlV2l0aFRleHRSZWNvZ25pdGlvblJlc3VsdChIVE1MRWxlbWVudCYgZWxlbWVu
dCwgY29uc3QgVGV4dFJlY29nbml0aW9uCiAgICAgfQogI2VuZGlmIC8vIEVOQUJMRShEQVRBX0RF
VEVDVElPTikKIAorICAgIGNvbnN0ZXhwciBmbG9hdCBtaW5TY2FsZUZvckZvbnRTaXplID0gMDsK
KyAgICBjb25zdGV4cHIgZmxvYXQgaW5pdGlhbFNjYWxlRm9yRm9udFNpemUgPSAwLjg7CisgICAg
Y29uc3RleHByIGZsb2F0IG1heFNjYWxlRm9yRm9udFNpemUgPSAxOworICAgIGNvbnN0ZXhwciB1
bnNpZ25lZCBpdGVyYXRpb25MaW1pdCA9IDEwOworICAgIGNvbnN0ZXhwciBmbG9hdCBtaW5UYXJn
ZXRTY29yZSA9IDAuOTsKKyAgICBjb25zdGV4cHIgZmxvYXQgbWF4VGFyZ2V0U2NvcmUgPSAxLjAy
OworCisgICAgc3RydWN0IEZvbnRTaXplQWRqdXN0bWVudFN0YXRlIHsKKyAgICAgICAgUmVmPEhU
TUxFbGVtZW50PiBjb250YWluZXI7CisgICAgICAgIGZsb2F0IHRhcmdldEhlaWdodDsKKyAgICAg
ICAgZmxvYXQgc2NhbGUgeyBpbml0aWFsU2NhbGVGb3JGb250U2l6ZSB9OworICAgICAgICBmbG9h
dCBtaW5TY2FsZSB7IG1pblNjYWxlRm9yRm9udFNpemUgfTsKKyAgICAgICAgZmxvYXQgbWF4U2Nh
bGUgeyBtYXhTY2FsZUZvckZvbnRTaXplIH07CisgICAgICAgIGJvb2wgbWF5UmVxdWlyZUFkanVz
dG1lbnQgeyB0cnVlIH07CisgICAgfTsKKworICAgIFZlY3RvcjxGb250U2l6ZUFkanVzdG1lbnRT
dGF0ZT4gZWxlbWVudHNUb0FkanVzdDsKKyAgICBlbGVtZW50c1RvQWRqdXN0LnJlc2VydmVJbml0
aWFsQ2FwYWNpdHkocmVzdWx0LmJsb2Nrcy5zaXplKCkpOworCiAgICAgQVNTRVJUKHJlc3VsdC5i
bG9ja3Muc2l6ZSgpID09IGVsZW1lbnRzLmJsb2Nrcy5zaXplKCkpOwogICAgIGZvciAoc2l6ZV90
IGluZGV4ID0gMDsgaW5kZXggPCByZXN1bHQuYmxvY2tzLnNpemUoKTsgKytpbmRleCkgewogICAg
ICAgICBhdXRvJiBibG9jayA9IHJlc3VsdC5ibG9ja3NbaW5kZXhdOwpAQCAtNTA2LDkgKzUyNiw1
MyBAQCB2b2lkIHVwZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQoSFRNTEVsZW1lbnQmIGVs
ZW1lbnQsIGNvbnN0IFRleHRSZWNvZ25pdGlvbgogCiAgICAgICAgIGF1dG8gYmxvY2tDb250YWlu
ZXIgPSBlbGVtZW50cy5ibG9ja3NbaW5kZXhdOwogICAgICAgICBhdXRvIGJvdW5kcyA9IGZpdEVs
ZW1lbnRUb1F1YWQoYmxvY2tDb250YWluZXIuZ2V0KCksIGNvbnZlcnRUb0NvbnRhaW5lckNvb3Jk
aW5hdGVzKGJsb2NrLm5vcm1hbGl6ZWRRdWFkKSk7Ci0gICAgICAgIC8vIEZJWE1FOiBXZSdsbCBu
ZWVkIGEgc21hcnRlciBhbGdvcml0aG0gaGVyZSB0aGF0IGNob29zZXMgdGhlIGxhcmdlc3QgZm9u
dCBzaXplIGZvciB0aGUgY29udGFpbmVyIHdpdGhvdXQKLSAgICAgICAgLy8gdmVydGljYWxseSBv
dmVyZmxvd2luZyB0aGUgY29udGFpbmVyLgotICAgICAgICBibG9ja0NvbnRhaW5lci0+c2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTaXplLCBzdGQ6OnJvdW5kKDAuOCAqIGJv
dW5kcy5zaXplLmhlaWdodCgpKSwgQ1NTVW5pdFR5cGU6OkNTU19QWCk7CisgICAgICAgIGJsb2Nr
Q29udGFpbmVyLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFNpemUsIGlu
aXRpYWxTY2FsZUZvckZvbnRTaXplICogYm91bmRzLnNpemUuaGVpZ2h0KCksIENTU1VuaXRUeXBl
OjpDU1NfUFgpOworICAgICAgICBlbGVtZW50c1RvQWRqdXN0LnVuY2hlY2tlZEFwcGVuZCh7IFdU
Rk1vdmUoYmxvY2tDb250YWluZXIpLCBib3VuZHMuc2l6ZS5oZWlnaHQoKSB9KTsKKyAgICB9CisK
KyAgICB1bnNpZ25lZCBjdXJyZW50SXRlcmF0aW9uID0gMDsKKyAgICB3aGlsZSAoIWVsZW1lbnRz
VG9BZGp1c3QuaXNFbXB0eSgpKSB7CisgICAgICAgIGRvY3VtZW50LT51cGRhdGVMYXlvdXRJZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKworICAgICAgICBmb3IgKGF1dG8mIHN0YXRlIDogZWxl
bWVudHNUb0FkanVzdCkgeworICAgICAgICAgICAgUmVmUHRyIHRleHROb2RlID0gc3RhdGUuY29u
dGFpbmVyLT5maXJzdENoaWxkKCk7CisgICAgICAgICAgICBpZiAoIWlzPFRleHQ+KHRleHROb2Rl
KSkgeworICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAg
ICAgIHN0YXRlLm1heVJlcXVpcmVBZGp1c3RtZW50ID0gZmFsc2U7CisgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGF1dG8qIHRleHRSZW5kZXJl
ciA9IGRvd25jYXN0PFRleHQ+KCp0ZXh0Tm9kZSkucmVuZGVyZXIoKTsKKyAgICAgICAgICAgIGlm
ICghdGV4dFJlbmRlcmVyKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgICAgICAgICAgc3RhdGUubWF5UmVxdWlyZUFkanVzdG1lbnQgPSBmYWxzZTsKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0
byBjdXJyZW50U2NvcmUgPSB0ZXh0UmVuZGVyZXItPmxpbmVzQm91bmRpbmdCb3goKS5oZWlnaHQo
KSAvIHN0YXRlLnRhcmdldEhlaWdodDsKKyAgICAgICAgICAgIGlmIChjdXJyZW50U2NvcmUgPCBt
aW5UYXJnZXRTY29yZSkKKyAgICAgICAgICAgICAgICBzdGF0ZS5taW5TY2FsZSA9IHN0YXRlLnNj
YWxlOworICAgICAgICAgICAgZWxzZSBpZiAoY3VycmVudFNjb3JlID4gbWF4VGFyZ2V0U2NvcmUp
CisgICAgICAgICAgICAgICAgc3RhdGUubWF4U2NhbGUgPSBzdGF0ZS5zY2FsZTsKKyAgICAgICAg
ICAgIGVsc2UgeworICAgICAgICAgICAgICAgIHN0YXRlLm1heVJlcXVpcmVBZGp1c3RtZW50ID0g
ZmFsc2U7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIHN0YXRlLnNjYWxlID0gKHN0YXRlLm1pblNjYWxlICsgc3RhdGUubWF4U2NhbGUpIC8g
MjsKKyAgICAgICAgICAgIHN0YXRlLmNvbnRhaW5lci0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShD
U1NQcm9wZXJ0eUZvbnRTaXplLCBzdGF0ZS50YXJnZXRIZWlnaHQgKiBzdGF0ZS5zY2FsZSwgQ1NT
VW5pdFR5cGU6OkNTU19QWCk7CisgICAgICAgIH0KKworICAgICAgICBlbGVtZW50c1RvQWRqdXN0
LnJlbW92ZUFsbE1hdGNoaW5nKFtdKGF1dG8mIHN0YXRlKSB7CisgICAgICAgICAgICByZXR1cm4g
IXN0YXRlLm1heVJlcXVpcmVBZGp1c3RtZW50OworICAgICAgICB9KTsKKworICAgICAgICBpZiAo
KytjdXJyZW50SXRlcmF0aW9uID4gaXRlcmF0aW9uTGltaXQpIHsKKyAgICAgICAgICAgIC8vIEZh
bGwgYmFjayB0byB0aGUgbGFyZ2VzdCBmb250IHNpemUgdGhhdCBzdGlsbCB2ZXJ0aWNhbGx5IGZp
dHMgd2l0aGluIHRoZSBjb250YWluZXIuCisgICAgICAgICAgICBmb3IgKGF1dG8mIHN0YXRlIDog
ZWxlbWVudHNUb0FkanVzdCkKKyAgICAgICAgICAgICAgICBzdGF0ZS5jb250YWluZXItPnNldElu
bGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlGb250U2l6ZSwgc3RhdGUudGFyZ2V0SGVpZ2h0
ICogc3RhdGUubWluU2NhbGUsIENTU1VuaXRUeXBlOjpDU1NfUFgpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoUmVmUHRyIGZyYW1lID0gZG9jdW1lbnQt
PmZyYW1lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggZDIwOGY0MWZm
ZjA2NGVkMGI1ZWZmZTVmZjI0YzAwNTNkYjJiZDUzZC4uNzIwNWU1YTM3YTljMDljZTM4MDk2Nzcw
M2UxODBmOGYwY2QzOTAzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAt
NTc1Myw2ICs1NzUzLDcgQEAgTW9ja1BheW1lbnRDb29yZGluYXRvciYgSW50ZXJuYWxzOjptb2Nr
UGF5bWVudENvb3JkaW5hdG9yKERvY3VtZW50JiBkb2N1bWVudCkKIAogSW50ZXJuYWxzOjpJbWFn
ZU92ZXJsYXlMaW5lOjp+SW1hZ2VPdmVybGF5TGluZSgpID0gZGVmYXVsdDsKIEludGVybmFsczo6
SW1hZ2VPdmVybGF5VGV4dDo6fkltYWdlT3ZlcmxheVRleHQoKSA9IGRlZmF1bHQ7CitJbnRlcm5h
bHM6OkltYWdlT3ZlcmxheUJsb2NrOjp+SW1hZ2VPdmVybGF5QmxvY2soKSA9IGRlZmF1bHQ7CiAK
ICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKQEAgLTU4MDEsNyArNTgwMiw3IEBAIFJlZlB0
cjxFbGVtZW50PiBJbnRlcm5hbHM6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZSgpIGNvbnN0CiAK
ICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKLXZvaWQgSW50ZXJuYWxzOjppbnN0
YWxsSW1hZ2VPdmVybGF5KEVsZW1lbnQmIGVsZW1lbnQsIFZlY3RvcjxJbWFnZU92ZXJsYXlMaW5l
PiYmIGxpbmVzKQordm9pZCBJbnRlcm5hbHM6Omluc3RhbGxJbWFnZU92ZXJsYXkoRWxlbWVudCYg
ZWxlbWVudCwgVmVjdG9yPEltYWdlT3ZlcmxheUxpbmU+JiYgbGluZXMsIFZlY3RvcjxJbWFnZU92
ZXJsYXlCbG9jaz4mJiBibG9ja3MpCiB7CiAgICAgaWYgKCFpczxIVE1MRWxlbWVudD4oZWxlbWVu
dCkpCiAgICAgICAgIHJldHVybjsKQEAgLTU4MTQsNyArNTgxNSw5IEBAIHZvaWQgSW50ZXJuYWxz
OjppbnN0YWxsSW1hZ2VPdmVybGF5KEVsZW1lbnQmIGVsZW1lbnQsIFZlY3RvcjxJbWFnZU92ZXJs
YXlMaW5lPiYmCiAjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQogICAgICAgICAsIFZlY3RvcjxU
ZXh0UmVjb2duaXRpb25EYXRhRGV0ZWN0b3I+KCkKICNlbmRpZgotICAgICAgICAsIFZlY3RvcjxU
ZXh0UmVjb2duaXRpb25CbG9ja0RhdGE+KCkKKyAgICAgICAgLCBibG9ja3MubWFwKFtdIChhdXRv
JiBibG9jaykgeworICAgICAgICAgICAgcmV0dXJuIFRleHRSZWNvZ25pdGlvbkJsb2NrRGF0YSB7
IGJsb2NrLnRleHQsIGdldFF1YWQ8SW1hZ2VPdmVybGF5QmxvY2s+KGJsb2NrKSB9OworICAgICAg
ICB9KQogICAgIH0pOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0obGluZXMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggYjRmODVhNjlmMTdiN2NlMzdiN2U2ZTFkYTJjZTg4MmEy
ODE0MTZhNy4uOGQzNDc1N2Y4ZWQ0ZGJhYzI0MzI5ZDYyY2FmNTQyNTk5ZmYzNGM4ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC05MTgsNyArOTE4LDE4IEBAIHB1YmxpYzoKIAog
ICAgICAgICB+SW1hZ2VPdmVybGF5TGluZSgpOwogICAgIH07Ci0gICAgdm9pZCBpbnN0YWxsSW1h
Z2VPdmVybGF5KEVsZW1lbnQmLCBWZWN0b3I8SW1hZ2VPdmVybGF5TGluZT4mJik7CisKKyAgICBz
dHJ1Y3QgSW1hZ2VPdmVybGF5QmxvY2sgeworICAgICAgICBTdHJpbmcgdGV4dDsKKyAgICAgICAg
UmVmUHRyPERPTVBvaW50UmVhZE9ubHk+IHRvcExlZnQ7CisgICAgICAgIFJlZlB0cjxET01Qb2lu
dFJlYWRPbmx5PiB0b3BSaWdodDsKKyAgICAgICAgUmVmUHRyPERPTVBvaW50UmVhZE9ubHk+IGJv
dHRvbVJpZ2h0OworICAgICAgICBSZWZQdHI8RE9NUG9pbnRSZWFkT25seT4gYm90dG9tTGVmdDsK
KworICAgICAgICB+SW1hZ2VPdmVybGF5QmxvY2soKTsKKyAgICB9OworCisgICAgdm9pZCBpbnN0
YWxsSW1hZ2VPdmVybGF5KEVsZW1lbnQmLCBWZWN0b3I8SW1hZ2VPdmVybGF5TGluZT4mJiwgVmVj
dG9yPEltYWdlT3ZlcmxheUJsb2NrPiYmID0geyB9KTsKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFM
WVNJUykKICAgICB2b2lkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oRWxlbWVudCYsIFJlZlB0cjxW
b2lkQ2FsbGJhY2s+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDYx
Y2U3MzhmMDdlZTdiZDA1ZGYwYzcxM2E3YTMzNGE1NTNmN2Q0MDQuLjMwMzIwNzg4NTFhNWNjMWEz
MTg3N2ZhMjdmNzM5YTIxZmZkMDk3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKQEAgLTI4Niw2ICsyODYsMTcgQEAgZW51bSBBdXRvcGxheVBvbGljeSB7CiAgICAgc2VxdWVu
Y2U8SW1hZ2VPdmVybGF5VGV4dD4gY2hpbGRyZW47CiB9OwogCitbCisgICAgRXhwb3J0TWFjcm89
V0VCQ09SRV9URVNUU1VQUE9SVF9FWFBPUlQsCisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCitd
IGRpY3Rpb25hcnkgSW1hZ2VPdmVybGF5QmxvY2sgeworICAgIHJlcXVpcmVkIERPTVN0cmluZyB0
ZXh0OworICAgIHJlcXVpcmVkIERPTVBvaW50UmVhZE9ubHkgdG9wTGVmdDsKKyAgICByZXF1aXJl
ZCBET01Qb2ludFJlYWRPbmx5IHRvcFJpZ2h0OworICAgIHJlcXVpcmVkIERPTVBvaW50UmVhZE9u
bHkgYm90dG9tUmlnaHQ7CisgICAgcmVxdWlyZWQgRE9NUG9pbnRSZWFkT25seSBib3R0b21MZWZ0
OworfTsKKwogWwogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JULAog
ICAgIExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LApAQCAtOTQxLDcgKzk1Miw3IEBAIGVudW0gQXV0
b3BsYXlQb2xpY3kgewogCiAgICAgW0NvbmRpdGlvbmFsPUlNQUdFX0FOQUxZU0lTXSByZWFkb25s
eSBhdHRyaWJ1dGUgRWxlbWVudD8gdGV4dFJlY29nbml0aW9uQ2FuZGlkYXRlOwogICAgIFtDb25k
aXRpb25hbD1JTUFHRV9BTkFMWVNJU10gdW5kZWZpbmVkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24o
RWxlbWVudCBlbGVtZW50LCBWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHVuZGVmaW5lZCBp
bnN0YWxsSW1hZ2VPdmVybGF5KEVsZW1lbnQgZWxlbWVudCwgc2VxdWVuY2U8SW1hZ2VPdmVybGF5
TGluZT4gbGluZXMpOworICAgIHVuZGVmaW5lZCBpbnN0YWxsSW1hZ2VPdmVybGF5KEVsZW1lbnQg
ZWxlbWVudCwgc2VxdWVuY2U8SW1hZ2VPdmVybGF5TGluZT4gbGluZXMsIG9wdGlvbmFsIHNlcXVl
bmNlPEltYWdlT3ZlcmxheUJsb2NrPiBibG9ja3MgPSBbXSk7CiAKICAgICBib29sZWFuIHVzaW5n
QXBwbGVJbnRlcm5hbFNESygpOwogICAgIGJvb2xlYW4gdXNpbmdHU3RyZWFtZXIoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA4MWQ4MDAyOTA2Y2VmOWNjNjI0YzY5OTMyNjJjNTJlM2U2NDg0OTE1Li42NjM3NTZhN2MzNWJm
NDNjOTQ2NGUzYjE4MWEwYzI1YzhjMjhkNDg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEt
MTEtMjkgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIGEgYmFzaWMgaGV1cmlzdGljIGZvciBzaXppbmcgdGV4dCBpbiBpbWFnZSBvdmVybGF5IGJs
b2NrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
MzQzCisgICAgICAgIHJkYXI6Ly84NTc1NTc1NQorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBI
b3J0b24uCisKKyAgICAgICAgQWRkIGEgbmV3IGxheW91dCB0ZXN0LiBTZWUgV2ViQ29yZS9DaGFu
Z2VMb2cgZm9yIG1vcmUgZGV0YWlscy4KKworICAgICAgICAqIGZhc3QvaW1hZ2VzL3RleHQtcmVj
b2duaXRpb24vaW1hZ2Utb3ZlcmxheS1ibG9ja3MtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9pbWFnZXMvdGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5LWJsb2Nrcy5o
dG1sOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgQXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xk
bWludHNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRlIHRlc3QgZXhwZWN0YXRp
b25zIGFuZCBiYXNlbGluZXMuIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXkt
YmxvY2tzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy90ZXh0LXJlY29n
bml0aW9uL2ltYWdlLW92ZXJsYXktYmxvY2tzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQx
ZWE4MjhmMGQ5NDk2YzYxYzg2YTJiZTIxYTM5OGI4NWM3YWNmOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1i
bG9ja3MtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c3R5bGU+Citib2R5LCBodG1sIHsKKyAgICBtYXJnaW46IDA7Cit9CisK
Ky5jb3Zlci1ibG9jay1jb250YWluZXIgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0
b3A6IDA7CisgICAgbGVmdDogMDsKKyAgICB3aWR0aDogMjAwcHg7CisgICAgaGVpZ2h0OiAyMDBw
eDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvZ3JlZW4tNDAweDQwMC5wbmciPjwvaW1nPgor
PGRpdiBjbGFzcz0iY292ZXItYmxvY2stY29udGFpbmVyIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktYmxvY2tzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktYmxv
Y2tzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY4MDFkOGE5NThlMzdhMTM0MjkzM2U3OWQwZjY2MTNmYzA3
OTc2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3RleHQtcmVj
b2duaXRpb24vaW1hZ2Utb3ZlcmxheS1ibG9ja3MuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+Citib2R5LCBodG1sIHsKKyAgICBt
YXJnaW46IDA7Cit9CisKKy5jb3Zlci1ibG9jay1jb250YWluZXIgeworICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICB0b3A6IDA7CisgICAgbGVmdDogMDsKKyAgICB3aWR0aDogMjAwcHg7Cisg
ICAgaGVpZ2h0OiAyMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvZ3JlZW4tNDAweDQw
MC5wbmciPjwvaW1nPgorPGRpdiBjbGFzcz0iY292ZXItYmxvY2stY29udGFpbmVyIj48L2Rpdj4K
KzxzY3JpcHQ+CithZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgKCkgPT4geworICAgIGxldCBpbWFn
ZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImltZyIpOworICAgIGludGVybmFscy5pbnN0YWxs
SW1hZ2VPdmVybGF5KGltYWdlLCBbXSwgWworICAgICAgICB7CisgICAgICAgICAgICB0b3BMZWZ0
IDogbmV3IERPTVBvaW50UmVhZE9ubHkoMC4xLCAwLjEpLAorICAgICAgICAgICAgdG9wUmlnaHQg
OiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLjQsIDAuMSksCisgICAgICAgICAgICBib3R0b21SaWdo
dCA6IG5ldyBET01Qb2ludFJlYWRPbmx5KDAuNCwgMC40KSwKKyAgICAgICAgICAgIGJvdHRvbUxl
ZnQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLjEsIDAuNCksCisgICAgICAgICAgICB0ZXh0IDog
IlRoaXMgaXMgYSBsb3Qgb2YgdGV4dCB0aGF0IG1pZ2h0IG92ZXJmbG93IHRoZSBvdmVybGF5IGJs
b2NrIHVubGVzcyB3ZSBkbyBzb21ldGhpbmcgYWJvdXQgaXQuIiwKKyAgICAgICAgfQorICAgIF0p
OworICAgIGNvbnN0IGJsb2NrID0gaW50ZXJuYWxzLnNoYWRvd1Jvb3QoaW1hZ2UpLnF1ZXJ5U2Vs
ZWN0b3IoImRpdi5pbWFnZS1vdmVybGF5LWJsb2NrIik7CisgICAgYmxvY2suc3R5bGUub3ZlcmZs
b3cgPSAidmlzaWJsZSI7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="commit-queue"
          id="470481"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445328</attachid>
            <date>2021-11-29 12:59:42 -0800</date>
            <delta_ts>2021-11-29 14:47:44 -0800</delta_ts>
            <desc>Fix unused param</desc>
            <filename>bug-233343-20211129125942.patch</filename>
            <type>text/plain</type>
            <size>14424</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI2MGY4NWM3NGFjY2Iy
YjY0OTMzNTc3N2Y2OTdiZGZlNzFjZTQxOC4uZmJhNDZiNDY2ZDI2Mzc5ZWE1YTVjNjVhN2Q0NjZk
ZGEwZWU5M2ExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIxLTExLTI5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGJhc2lj
IGhldXJpc3RpYyBmb3Igc2l6aW5nIHRleHQgaW4gaW1hZ2Ugb3ZlcmxheSBibG9ja3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzM0MworICAgICAg
ICByZGFyOi8vODU3NTU3NTUKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisg
ICAgICAgIEFkZHJlc3MgYSBGSVhNRSBieSBpbXBsZW1lbnRpbmcgYSBzaW1wbGUgaGV1cmlzdGlj
IGZvciBzaXppbmcgdGV4dCBpbiBpbWFnZSBvdmVybGF5IGJsb2Nrcy4gRWFjaCBpbWFnZSBvdmVy
bGF5CisgICAgICAgIGJsb2NrIGhhcyBhIHByZWRldGVybWluZWQgdGFyZ2V0IHdpZHRoIGFuZCBo
ZWlnaHQ7IGN1cnJlbnRseSwgd2UgaGFyZC1jb2RlIHRoZSBmb250IHNpemUgaW4gZWFjaCBvZiB0
aGVzZSBibG9ja3MKKyAgICAgICAgdG8gYmUgODAlIG9mIHRoZSB0YXJnZXQgaGVpZ2h0LiBXaGls
ZSB0aGlzIHdvcmtzIGluIHNvbWUgY2FzZXMsIGl0IGFsc28gY2F1c2VzIGNvbnRlbnQgaW4gdGhl
c2UgYmxvY2tzIHRvCisgICAgICAgIG92ZXJmbG93IHRoZSBjb250YWluZXIgaWYgdGhlcmUncyB0
b28gbXVjaCB0ZXh0LgorCisgICAgICAgIEF2b2lkIHRoaXMgcHJvYmxlbSBieSBmaW5kaW5nIHRo
ZSBsYXJnZXN0IGZvbnQgc2l6ZSwgc3VjaCB0aGF0IHRleHQgaW4gZWFjaCBjb250YWluZXIgZml0
cyB3aXRoaW4gdGhlIHRhcmdldAorICAgICAgICBib3VuZHMgd2l0aG91dCBvdmVyZmxvd2luZyB2
ZXJ0aWNhbGx5ICh3ZSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGhvcml6b250YWwgb3ZlcmZs
b3cgYmVjYXVzZSBob3Jpem9udGFsbHkKKyAgICAgICAgb3ZlcmZsb3dpbmcgdGV4dCB3aWxsIHNp
bXBseSB3cmFwIHRvIHRoZSBuZXh0IGxpbmUpLgorCisgICAgICAgIEJlY2F1c2Ugb2YgbGluZSB3
cmFwcGluZywgaXQncyBkaWZmaWN1bHQgdG8gYW5hbHl0aWNhbGx5IGNvbXB1dGUgdGhpcyBmb250
IHNpemUsIHNvIEknbSBpbnN0ZWFkIHVzaW5nIGJpbmFyeQorICAgICAgICBzZWFyY2ggKHVwIHRv
IGEgZml4ZWQgbnVtYmVyIG9mIGl0ZXJhdGlvbnMpIHRvIGNvbnZlcmdlIG9uIHRoaXMgbGFyZ2Vz
dCBzaXplIHRoYXQgYXZvaWRzIGV4Y2VlZGluZyB0aGUgdGFyZ2V0CisgICAgICAgIGhlaWdodC4g
U2VlIGJlbG93IGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgVGVzdDogZmFzdC9pbWFnZXMv
dGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5LWJsb2Nrcy5odG1sCisKKyAgICAgICAgKiBk
b20vSW1hZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlT3ZlcmxheTo6dXBk
YXRlV2l0aFRleHRSZWNvZ25pdGlvblJlc3VsdCk6CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBt
YWluIGxvZ2ljIG9mIHRoZSBiaW5hcnkgc2VhcmNoLiBFc3RhYmxpc2ggYSBnb2FsIG9mIGVuZGlu
ZyB1cCB3aXRoIHRleHQgdGhhdCBmaWxscyBhdCBsZWFzdCA5MCUKKyAgICAgICAgb2YgdGhlIGF2
YWlsYWJsZSBzcGFjZSBpbiB0aGUgY29udGFpbmVyICh3aXRoIGEgbWF4IG9mIGp1c3Qgc2xpZ2h0
bHkgb3ZlciAxMDAlLCBzbyB0aGF0IHdlIHN0b3AgZWFybHkgaWYgd2UKKyAgICAgICAgaGFwcGVu
IHRvIG9ubHkgYmFyZWx5IGV4Y2VlZCB0aGUgdGFyZ2V0IGhlaWdodCkuIFRoZW4sIHN0YXJ0aW5n
IHdpdGggYSBmb250IHNpemUgdGhhdCdzIDgwJSBvZiB0aGUgdGFyZ2V0CisgICAgICAgIGhlaWdo
dCwgY29udmVyZ2Ugb24gYSBmb250IHNpemUgYmV0d2VlbiAwJSBhbmQgMTAwJSBvZiB0aGUgdGFy
Z2V0IGhlaWdodCB0aGF0IGFjaGlldmVzIHRoaXMgZ29hbC4gSW4gcHJhY3RpY2UsCisgICAgICAg
IG1vc3Qgb2YgdGhlIGluamVjdGVkIGJsb2NrcyBvZiB0ZXh0IHdpbGwgc3RvcCBhZnRlciBhIHNp
bmdsZSBpdGVyYXRpb24gKGR1ZSB0byB0aGUgIjgwJS1vZi1oZWlnaHQiIGZvbnQgc2l6ZQorICAg
ICAgICBiZWluZyBzdWZmaWNpZW50IHRvIG1vc3RseSBmaWxsIGF2YWlsYWJsZSB2ZXJ0aWNhbCBz
cGFjZSkuCisKKyAgICAgICAgRWFjaCBGb250U2l6ZUFkanVzdG1lbnRTdGF0ZSBoZXJlIHJlcHJl
c2VudHMgYSBzaW5nbGUgYmxvY2sgY29udGFpbmVyLiBBdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2gg
aXRlcmF0aW9uLCB3ZQorICAgICAgICBlbnN1cmUgdGhhdCBsYXlvdXQgaXMgdXAgdG8gZGF0ZSwg
YW5kIHNldCB0aGUgZm9udCBzaXplIHRvIGJlIGJldHdlZW4gdGhlIGN1cnJlbnQgbWluIGFuZCBt
YXggdmFsdWUgKHNjYWxpbmcgYnkKKyAgICAgICAgdGFyZ2V0IGhlaWdodCB0byBnZXQgZm9udCBz
aXplKS4gVXNpbmcgYGxpbmVzQm91bmRpbmdCb3goKWAsIHdlIGNvbXB1dGUgdGhlIGhlaWdodCBv
ZiB0aGUgcmVuZGVyZWQgdGV4dCByZWxhdGl2ZQorICAgICAgICB0byBpdHMgcGFyZW50ICh3aGlj
aCB3ZSBrbm93IGEtcHJpb3JpIHRvIGJlIGFzIHRhbGwgYXMgdGhlIHRhcmdldCBoZWlnaHQpLiBJ
ZiB0aGlzIGhlaWdodCBpcyBhdCBsZWFzdCA5MCUgb2YgdGhlCisgICAgICAgIHRhcmdldCBoZWln
aHQsIHdlIGZpbmlzaCBhbmQgcmVtb3ZlIHRoZSBmb250IHNpemUgYWRqdXN0bWVudCBzdGF0ZSBm
cm9tIHRoZSB2ZWN0b3Igb2YgcGVuZGluZyBmb250IGFkanVzdG1lbnRzOworICAgICAgICBvdGhl
cndpc2UsIHdlIGFkanVzdCB0aGUgbWluIGFuZCBtYXggdG8gZWl0aGVyIGluY3JlYXNlIG9yIGRl
Y3JlYXNlIHRoZSBmb250IHNpemUgYXMgbmVlZGVkLCBhbmQgY29udGludWUgdGhlCisgICAgICAg
IGxvb3AuIFdlIGZpbmFsbHkgYmFpbCBhZnRlciBhbiBhcmJpdHJhcmlseS1jaG9zZW4gMTAgaXRl
cmF0aW9ucywgaWYgdGhlIHRleHQgaW4gdGhlIGNvbnRhaW5lciBpcyBzdGlsbCB0b28KKyAgICAg
ICAgc21hbGwuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6Omluc3RhbGxJbWFnZU92ZXJsYXkpOgorCisgICAgICAgIEF1Z21l
bnQgdGhpcyB0ZXN0aW5nLW9ubHkgaW50ZXJuYWxzIGhvb2sgc28gdGhhdCB3ZSBjYW4gaW5qZWN0
IGFyYml0cmFyeSBpbWFnZSBvdmVybGF5IGJsb2NrIGNvbnRlbnQgaW5zaWRlCisgICAgICAgIGlt
YWdlIG92ZXJsYXlzLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjEtMTEtMjQgIEFudG9pbmUgUXVpbnQgIDxn
cmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW01vZGVsXSBjbGVhbiB1cCBjb21waWxlLXRp
bWUgZmxhZ3MgYW5kIGNvbmRpdGlvbiBJREwgbWV0aG9kcyBiZWhpbmQgdGhlbQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0ltYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vSW1hZ2VPdmVybGF5LmNwcAppbmRleCBmOGE5YTlkZDBiYmMxNTJiY2U1YzM3MjRkNzI5MDQz
OGU2M2IzMmJhLi5mODU1M2NlZDM3ZGJmZGMwNmZhZjhmOGY3MmI0ZWEzOGFlNzc2ZTA0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW1hZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vSW1hZ2VPdmVybGF5LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUg
IlBhZ2UuaCIKICNpbmNsdWRlICJRdWlya3MuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgor
I2luY2x1ZGUgIlJlbmRlclRleHQuaCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVk
ZSAiU2ltcGxlUmFuZ2UuaCIKICNpbmNsdWRlICJUZXh0LmgiCkBAIC00OTgsNiArNDk5LDI1IEBA
IHZvaWQgdXBkYXRlV2l0aFRleHRSZWNvZ25pdGlvblJlc3VsdChIVE1MRWxlbWVudCYgZWxlbWVu
dCwgY29uc3QgVGV4dFJlY29nbml0aW9uCiAgICAgfQogI2VuZGlmIC8vIEVOQUJMRShEQVRBX0RF
VEVDVElPTikKIAorICAgIGNvbnN0ZXhwciBmbG9hdCBtaW5TY2FsZUZvckZvbnRTaXplID0gMDsK
KyAgICBjb25zdGV4cHIgZmxvYXQgaW5pdGlhbFNjYWxlRm9yRm9udFNpemUgPSAwLjg7CisgICAg
Y29uc3RleHByIGZsb2F0IG1heFNjYWxlRm9yRm9udFNpemUgPSAxOworICAgIGNvbnN0ZXhwciB1
bnNpZ25lZCBpdGVyYXRpb25MaW1pdCA9IDEwOworICAgIGNvbnN0ZXhwciBmbG9hdCBtaW5UYXJn
ZXRTY29yZSA9IDAuOTsKKyAgICBjb25zdGV4cHIgZmxvYXQgbWF4VGFyZ2V0U2NvcmUgPSAxLjAy
OworCisgICAgc3RydWN0IEZvbnRTaXplQWRqdXN0bWVudFN0YXRlIHsKKyAgICAgICAgUmVmPEhU
TUxFbGVtZW50PiBjb250YWluZXI7CisgICAgICAgIGZsb2F0IHRhcmdldEhlaWdodDsKKyAgICAg
ICAgZmxvYXQgc2NhbGUgeyBpbml0aWFsU2NhbGVGb3JGb250U2l6ZSB9OworICAgICAgICBmbG9h
dCBtaW5TY2FsZSB7IG1pblNjYWxlRm9yRm9udFNpemUgfTsKKyAgICAgICAgZmxvYXQgbWF4U2Nh
bGUgeyBtYXhTY2FsZUZvckZvbnRTaXplIH07CisgICAgICAgIGJvb2wgbWF5UmVxdWlyZUFkanVz
dG1lbnQgeyB0cnVlIH07CisgICAgfTsKKworICAgIFZlY3RvcjxGb250U2l6ZUFkanVzdG1lbnRT
dGF0ZT4gZWxlbWVudHNUb0FkanVzdDsKKyAgICBlbGVtZW50c1RvQWRqdXN0LnJlc2VydmVJbml0
aWFsQ2FwYWNpdHkocmVzdWx0LmJsb2Nrcy5zaXplKCkpOworCiAgICAgQVNTRVJUKHJlc3VsdC5i
bG9ja3Muc2l6ZSgpID09IGVsZW1lbnRzLmJsb2Nrcy5zaXplKCkpOwogICAgIGZvciAoc2l6ZV90
IGluZGV4ID0gMDsgaW5kZXggPCByZXN1bHQuYmxvY2tzLnNpemUoKTsgKytpbmRleCkgewogICAg
ICAgICBhdXRvJiBibG9jayA9IHJlc3VsdC5ibG9ja3NbaW5kZXhdOwpAQCAtNTA2LDkgKzUyNiw1
MyBAQCB2b2lkIHVwZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQoSFRNTEVsZW1lbnQmIGVs
ZW1lbnQsIGNvbnN0IFRleHRSZWNvZ25pdGlvbgogCiAgICAgICAgIGF1dG8gYmxvY2tDb250YWlu
ZXIgPSBlbGVtZW50cy5ibG9ja3NbaW5kZXhdOwogICAgICAgICBhdXRvIGJvdW5kcyA9IGZpdEVs
ZW1lbnRUb1F1YWQoYmxvY2tDb250YWluZXIuZ2V0KCksIGNvbnZlcnRUb0NvbnRhaW5lckNvb3Jk
aW5hdGVzKGJsb2NrLm5vcm1hbGl6ZWRRdWFkKSk7Ci0gICAgICAgIC8vIEZJWE1FOiBXZSdsbCBu
ZWVkIGEgc21hcnRlciBhbGdvcml0aG0gaGVyZSB0aGF0IGNob29zZXMgdGhlIGxhcmdlc3QgZm9u
dCBzaXplIGZvciB0aGUgY29udGFpbmVyIHdpdGhvdXQKLSAgICAgICAgLy8gdmVydGljYWxseSBv
dmVyZmxvd2luZyB0aGUgY29udGFpbmVyLgotICAgICAgICBibG9ja0NvbnRhaW5lci0+c2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRTaXplLCBzdGQ6OnJvdW5kKDAuOCAqIGJv
dW5kcy5zaXplLmhlaWdodCgpKSwgQ1NTVW5pdFR5cGU6OkNTU19QWCk7CisgICAgICAgIGJsb2Nr
Q29udGFpbmVyLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5Rm9udFNpemUsIGlu
aXRpYWxTY2FsZUZvckZvbnRTaXplICogYm91bmRzLnNpemUuaGVpZ2h0KCksIENTU1VuaXRUeXBl
OjpDU1NfUFgpOworICAgICAgICBlbGVtZW50c1RvQWRqdXN0LnVuY2hlY2tlZEFwcGVuZCh7IFdU
Rk1vdmUoYmxvY2tDb250YWluZXIpLCBib3VuZHMuc2l6ZS5oZWlnaHQoKSB9KTsKKyAgICB9CisK
KyAgICB1bnNpZ25lZCBjdXJyZW50SXRlcmF0aW9uID0gMDsKKyAgICB3aGlsZSAoIWVsZW1lbnRz
VG9BZGp1c3QuaXNFbXB0eSgpKSB7CisgICAgICAgIGRvY3VtZW50LT51cGRhdGVMYXlvdXRJZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKworICAgICAgICBmb3IgKGF1dG8mIHN0YXRlIDogZWxl
bWVudHNUb0FkanVzdCkgeworICAgICAgICAgICAgUmVmUHRyIHRleHROb2RlID0gc3RhdGUuY29u
dGFpbmVyLT5maXJzdENoaWxkKCk7CisgICAgICAgICAgICBpZiAoIWlzPFRleHQ+KHRleHROb2Rl
KSkgeworICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAg
ICAgIHN0YXRlLm1heVJlcXVpcmVBZGp1c3RtZW50ID0gZmFsc2U7CisgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGF1dG8qIHRleHRSZW5kZXJl
ciA9IGRvd25jYXN0PFRleHQ+KCp0ZXh0Tm9kZSkucmVuZGVyZXIoKTsKKyAgICAgICAgICAgIGlm
ICghdGV4dFJlbmRlcmVyKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgICAgICAgICAgc3RhdGUubWF5UmVxdWlyZUFkanVzdG1lbnQgPSBmYWxzZTsKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0
byBjdXJyZW50U2NvcmUgPSB0ZXh0UmVuZGVyZXItPmxpbmVzQm91bmRpbmdCb3goKS5oZWlnaHQo
KSAvIHN0YXRlLnRhcmdldEhlaWdodDsKKyAgICAgICAgICAgIGlmIChjdXJyZW50U2NvcmUgPCBt
aW5UYXJnZXRTY29yZSkKKyAgICAgICAgICAgICAgICBzdGF0ZS5taW5TY2FsZSA9IHN0YXRlLnNj
YWxlOworICAgICAgICAgICAgZWxzZSBpZiAoY3VycmVudFNjb3JlID4gbWF4VGFyZ2V0U2NvcmUp
CisgICAgICAgICAgICAgICAgc3RhdGUubWF4U2NhbGUgPSBzdGF0ZS5zY2FsZTsKKyAgICAgICAg
ICAgIGVsc2UgeworICAgICAgICAgICAgICAgIHN0YXRlLm1heVJlcXVpcmVBZGp1c3RtZW50ID0g
ZmFsc2U7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIHN0YXRlLnNjYWxlID0gKHN0YXRlLm1pblNjYWxlICsgc3RhdGUubWF4U2NhbGUpIC8g
MjsKKyAgICAgICAgICAgIHN0YXRlLmNvbnRhaW5lci0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShD
U1NQcm9wZXJ0eUZvbnRTaXplLCBzdGF0ZS50YXJnZXRIZWlnaHQgKiBzdGF0ZS5zY2FsZSwgQ1NT
VW5pdFR5cGU6OkNTU19QWCk7CisgICAgICAgIH0KKworICAgICAgICBlbGVtZW50c1RvQWRqdXN0
LnJlbW92ZUFsbE1hdGNoaW5nKFtdKGF1dG8mIHN0YXRlKSB7CisgICAgICAgICAgICByZXR1cm4g
IXN0YXRlLm1heVJlcXVpcmVBZGp1c3RtZW50OworICAgICAgICB9KTsKKworICAgICAgICBpZiAo
KytjdXJyZW50SXRlcmF0aW9uID4gaXRlcmF0aW9uTGltaXQpIHsKKyAgICAgICAgICAgIC8vIEZh
bGwgYmFjayB0byB0aGUgbGFyZ2VzdCBmb250IHNpemUgdGhhdCBzdGlsbCB2ZXJ0aWNhbGx5IGZp
dHMgd2l0aGluIHRoZSBjb250YWluZXIuCisgICAgICAgICAgICBmb3IgKGF1dG8mIHN0YXRlIDog
ZWxlbWVudHNUb0FkanVzdCkKKyAgICAgICAgICAgICAgICBzdGF0ZS5jb250YWluZXItPnNldElu
bGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlGb250U2l6ZSwgc3RhdGUudGFyZ2V0SGVpZ2h0
ICogc3RhdGUubWluU2NhbGUsIENTU1VuaXRUeXBlOjpDU1NfUFgpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoUmVmUHRyIGZyYW1lID0gZG9jdW1lbnQt
PmZyYW1lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggZDIwOGY0MWZm
ZjA2NGVkMGI1ZWZmZTVmZjI0YzAwNTNkYjJiZDUzZC4uNDJlOWMwZDY4NThlYzkxYzMxOWNiMjMz
NGNlMGIyMjE1MzMxZmE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAt
NTc1Myw2ICs1NzUzLDcgQEAgTW9ja1BheW1lbnRDb29yZGluYXRvciYgSW50ZXJuYWxzOjptb2Nr
UGF5bWVudENvb3JkaW5hdG9yKERvY3VtZW50JiBkb2N1bWVudCkKIAogSW50ZXJuYWxzOjpJbWFn
ZU92ZXJsYXlMaW5lOjp+SW1hZ2VPdmVybGF5TGluZSgpID0gZGVmYXVsdDsKIEludGVybmFsczo6
SW1hZ2VPdmVybGF5VGV4dDo6fkltYWdlT3ZlcmxheVRleHQoKSA9IGRlZmF1bHQ7CitJbnRlcm5h
bHM6OkltYWdlT3ZlcmxheUJsb2NrOjp+SW1hZ2VPdmVybGF5QmxvY2soKSA9IGRlZmF1bHQ7CiAK
ICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKQEAgLTU4MDEsNyArNTgwMiw3IEBAIFJlZlB0
cjxFbGVtZW50PiBJbnRlcm5hbHM6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZSgpIGNvbnN0CiAK
ICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAKLXZvaWQgSW50ZXJuYWxzOjppbnN0
YWxsSW1hZ2VPdmVybGF5KEVsZW1lbnQmIGVsZW1lbnQsIFZlY3RvcjxJbWFnZU92ZXJsYXlMaW5l
PiYmIGxpbmVzKQordm9pZCBJbnRlcm5hbHM6Omluc3RhbGxJbWFnZU92ZXJsYXkoRWxlbWVudCYg
ZWxlbWVudCwgVmVjdG9yPEltYWdlT3ZlcmxheUxpbmU+JiYgbGluZXMsIFZlY3RvcjxJbWFnZU92
ZXJsYXlCbG9jaz4mJiBibG9ja3MpCiB7CiAgICAgaWYgKCFpczxIVE1MRWxlbWVudD4oZWxlbWVu
dCkpCiAgICAgICAgIHJldHVybjsKQEAgLTU4MTQsOSArNTgxNSwxMiBAQCB2b2lkIEludGVybmFs
czo6aW5zdGFsbEltYWdlT3ZlcmxheShFbGVtZW50JiBlbGVtZW50LCBWZWN0b3I8SW1hZ2VPdmVy
bGF5TGluZT4mJgogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKICAgICAgICAgLCBWZWN0b3I8
VGV4dFJlY29nbml0aW9uRGF0YURldGVjdG9yPigpCiAjZW5kaWYKLSAgICAgICAgLCBWZWN0b3I8
VGV4dFJlY29nbml0aW9uQmxvY2tEYXRhPigpCisgICAgICAgICwgYmxvY2tzLm1hcChbXSAoYXV0
byYgYmxvY2spIHsKKyAgICAgICAgICAgIHJldHVybiBUZXh0UmVjb2duaXRpb25CbG9ja0RhdGEg
eyBibG9jay50ZXh0LCBnZXRRdWFkPEltYWdlT3ZlcmxheUJsb2NrPihibG9jaykgfTsKKyAgICAg
ICAgfSkKICAgICB9KTsKICNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGJsb2Nrcyk7CiAgICAgVU5V
U0VEX1BBUkFNKGxpbmVzKTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
aW5kZXggYjRmODVhNjlmMTdiN2NlMzdiN2U2ZTFkYTJjZTg4MmEyODE0MTZhNy4uOGQzNDc1N2Y4
ZWQ0ZGJhYzI0MzI5ZDYyY2FmNTQyNTk5ZmYzNGM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCkBAIC05MTgsNyArOTE4LDE4IEBAIHB1YmxpYzoKIAogICAgICAgICB+SW1hZ2VPdmVy
bGF5TGluZSgpOwogICAgIH07Ci0gICAgdm9pZCBpbnN0YWxsSW1hZ2VPdmVybGF5KEVsZW1lbnQm
LCBWZWN0b3I8SW1hZ2VPdmVybGF5TGluZT4mJik7CisKKyAgICBzdHJ1Y3QgSW1hZ2VPdmVybGF5
QmxvY2sgeworICAgICAgICBTdHJpbmcgdGV4dDsKKyAgICAgICAgUmVmUHRyPERPTVBvaW50UmVh
ZE9ubHk+IHRvcExlZnQ7CisgICAgICAgIFJlZlB0cjxET01Qb2ludFJlYWRPbmx5PiB0b3BSaWdo
dDsKKyAgICAgICAgUmVmUHRyPERPTVBvaW50UmVhZE9ubHk+IGJvdHRvbVJpZ2h0OworICAgICAg
ICBSZWZQdHI8RE9NUG9pbnRSZWFkT25seT4gYm90dG9tTGVmdDsKKworICAgICAgICB+SW1hZ2VP
dmVybGF5QmxvY2soKTsKKyAgICB9OworCisgICAgdm9pZCBpbnN0YWxsSW1hZ2VPdmVybGF5KEVs
ZW1lbnQmLCBWZWN0b3I8SW1hZ2VPdmVybGF5TGluZT4mJiwgVmVjdG9yPEltYWdlT3ZlcmxheUJs
b2NrPiYmID0geyB9KTsKIAogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKICAgICB2b2lkIHJl
cXVlc3RUZXh0UmVjb2duaXRpb24oRWxlbWVudCYsIFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDYxY2U3MzhmMDdlZTdiZDA1ZGYw
YzcxM2E3YTMzNGE1NTNmN2Q0MDQuLjMwMzIwNzg4NTFhNWNjMWEzMTg3N2ZhMjdmNzM5YTIxZmZk
MDk3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTI4Niw2ICsyODYs
MTcgQEAgZW51bSBBdXRvcGxheVBvbGljeSB7CiAgICAgc2VxdWVuY2U8SW1hZ2VPdmVybGF5VGV4
dD4gY2hpbGRyZW47CiB9OwogCitbCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9URVNUU1VQUE9S
VF9FWFBPUlQsCisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCitdIGRpY3Rpb25hcnkgSW1hZ2VP
dmVybGF5QmxvY2sgeworICAgIHJlcXVpcmVkIERPTVN0cmluZyB0ZXh0OworICAgIHJlcXVpcmVk
IERPTVBvaW50UmVhZE9ubHkgdG9wTGVmdDsKKyAgICByZXF1aXJlZCBET01Qb2ludFJlYWRPbmx5
IHRvcFJpZ2h0OworICAgIHJlcXVpcmVkIERPTVBvaW50UmVhZE9ubHkgYm90dG9tUmlnaHQ7Cisg
ICAgcmVxdWlyZWQgRE9NUG9pbnRSZWFkT25seSBib3R0b21MZWZ0OworfTsKKwogWwogICAgIEV4
cG9ydE1hY3JvPVdFQkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JULAogICAgIExlZ2FjeU5vSW50ZXJm
YWNlT2JqZWN0LApAQCAtOTQxLDcgKzk1Miw3IEBAIGVudW0gQXV0b3BsYXlQb2xpY3kgewogCiAg
ICAgW0NvbmRpdGlvbmFsPUlNQUdFX0FOQUxZU0lTXSByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVu
dD8gdGV4dFJlY29nbml0aW9uQ2FuZGlkYXRlOwogICAgIFtDb25kaXRpb25hbD1JTUFHRV9BTkFM
WVNJU10gdW5kZWZpbmVkIHJlcXVlc3RUZXh0UmVjb2duaXRpb24oRWxlbWVudCBlbGVtZW50LCBW
b2lkQ2FsbGJhY2sgY2FsbGJhY2spOwotICAgIHVuZGVmaW5lZCBpbnN0YWxsSW1hZ2VPdmVybGF5
KEVsZW1lbnQgZWxlbWVudCwgc2VxdWVuY2U8SW1hZ2VPdmVybGF5TGluZT4gbGluZXMpOworICAg
IHVuZGVmaW5lZCBpbnN0YWxsSW1hZ2VPdmVybGF5KEVsZW1lbnQgZWxlbWVudCwgc2VxdWVuY2U8
SW1hZ2VPdmVybGF5TGluZT4gbGluZXMsIG9wdGlvbmFsIHNlcXVlbmNlPEltYWdlT3ZlcmxheUJs
b2NrPiBibG9ja3MgPSBbXSk7CiAKICAgICBib29sZWFuIHVzaW5nQXBwbGVJbnRlcm5hbFNESygp
OwogICAgIGJvb2xlYW4gdXNpbmdHU3RyZWFtZXIoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4MDAyOTA2Y2VmOWNj
NjI0YzY5OTMyNjJjNTJlM2U2NDg0OTE1Li42NjM3NTZhN2MzNWJmNDNjOTQ2NGUzYjE4MWEwYzI1
YzhjMjhkNDg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMjkgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgYmFzaWMgaGV1cmlz
dGljIGZvciBzaXppbmcgdGV4dCBpbiBpbWFnZSBvdmVybGF5IGJsb2NrcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzQzCisgICAgICAgIHJkYXI6
Ly84NTc1NTc1NQorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAg
QWRkIGEgbmV3IGxheW91dCB0ZXN0LiBTZWUgV2ViQ29yZS9DaGFuZ2VMb2cgZm9yIG1vcmUgZGV0
YWlscy4KKworICAgICAgICAqIGZhc3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3Zl
cmxheS1ibG9ja3MtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMv
dGV4dC1yZWNvZ25pdGlvbi9pbWFnZS1vdmVybGF5LWJsb2Nrcy5odG1sOiBBZGRlZC4KKwogMjAy
MS0xMS0yOSAgQXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xkbWludHNAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR0xJQl0gVXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zIGFuZCBiYXNlbGluZXMu
IFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktYmxvY2tzLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJs
YXktYmxvY2tzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQxZWE4MjhmMGQ5NDk2YzYxYzg2
YTJiZTIxYTM5OGI4NWM3YWNmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3ZlcmxheS1ibG9ja3MtZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5
bGU+Citib2R5LCBodG1sIHsKKyAgICBtYXJnaW46IDA7Cit9CisKKy5jb3Zlci1ibG9jay1jb250
YWluZXIgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDA7CisgICAgbGVmdDog
MDsKKyAgICB3aWR0aDogMjAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiBibGFjazsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpbWcgc3JjPSIu
Li9yZXNvdXJjZXMvZ3JlZW4tNDAweDQwMC5wbmciPjwvaW1nPgorPGRpdiBjbGFzcz0iY292ZXIt
YmxvY2stY29udGFpbmVyIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy90ZXh0LXJl
Y29nbml0aW9uL2ltYWdlLW92ZXJsYXktYmxvY2tzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2lt
YWdlcy90ZXh0LXJlY29nbml0aW9uL2ltYWdlLW92ZXJsYXktYmxvY2tzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzY4MDFkOGE5NThlMzdhMTM0MjkzM2U3OWQwZjY2MTNmYzA3OTc2MgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3RleHQtcmVjb2duaXRpb24vaW1hZ2Utb3Zl
cmxheS1ibG9ja3MuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c3R5bGU+Citib2R5LCBodG1sIHsKKyAgICBtYXJnaW46IDA7Cit9CisKKy5j
b3Zlci1ibG9jay1jb250YWluZXIgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6
IDA7CisgICAgbGVmdDogMDsKKyAgICB3aWR0aDogMjAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsK
KyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvZ3JlZW4tNDAweDQwMC5wbmciPjwvaW1nPgorPGRp
diBjbGFzcz0iY292ZXItYmxvY2stY29udGFpbmVyIj48L2Rpdj4KKzxzY3JpcHQ+CithZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgKCkgPT4geworICAgIGxldCBpbWFnZSA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoImltZyIpOworICAgIGludGVybmFscy5pbnN0YWxsSW1hZ2VPdmVybGF5KGltYWdl
LCBbXSwgWworICAgICAgICB7CisgICAgICAgICAgICB0b3BMZWZ0IDogbmV3IERPTVBvaW50UmVh
ZE9ubHkoMC4xLCAwLjEpLAorICAgICAgICAgICAgdG9wUmlnaHQgOiBuZXcgRE9NUG9pbnRSZWFk
T25seSgwLjQsIDAuMSksCisgICAgICAgICAgICBib3R0b21SaWdodCA6IG5ldyBET01Qb2ludFJl
YWRPbmx5KDAuNCwgMC40KSwKKyAgICAgICAgICAgIGJvdHRvbUxlZnQgOiBuZXcgRE9NUG9pbnRS
ZWFkT25seSgwLjEsIDAuNCksCisgICAgICAgICAgICB0ZXh0IDogIlRoaXMgaXMgYSBsb3Qgb2Yg
dGV4dCB0aGF0IG1pZ2h0IG92ZXJmbG93IHRoZSBvdmVybGF5IGJsb2NrIHVubGVzcyB3ZSBkbyBz
b21ldGhpbmcgYWJvdXQgaXQuIiwKKyAgICAgICAgfQorICAgIF0pOworICAgIGNvbnN0IGJsb2Nr
ID0gaW50ZXJuYWxzLnNoYWRvd1Jvb3QoaW1hZ2UpLnF1ZXJ5U2VsZWN0b3IoImRpdi5pbWFnZS1v
dmVybGF5LWJsb2NrIik7CisgICAgYmxvY2suc3R5bGUub3ZlcmZsb3cgPSAidmlzaWJsZSI7Cit9
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>