<?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>235919</bug_id>
          
          <creation_ts>2022-01-31 13:55:24 -0800</creation_ts>
          <short_desc>Use more AtomString and un-inline code for ScriptElementCachedScriptFetcher and its subclasses</short_desc>
          <delta_ts>2022-02-01 14:13:09 -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>DOM</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=235876</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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1835700</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-01-31 13:55:24 -0800</bug_when>
    <thetext>Cleanup suggested by Darin in https://bugs.webkit.org/show_bug.cgi?id=235876.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835723</commentid>
    <comment_count>1</comment_count>
      <attachid>450463</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-01-31 14:26:51 -0800</bug_when>
    <thetext>Created attachment 450463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835725</commentid>
    <comment_count>2</comment_count>
      <attachid>450464</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-01-31 14:29:05 -0800</bug_when>
    <thetext>Created attachment 450464
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835991</commentid>
    <comment_count>3</comment_count>
      <attachid>450464</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-01 08:52:45 -0800</bug_when>
    <thetext>Comment on attachment 450464
Patch

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

&gt; Source/WebCore/dom/LoadableClassicScript.cpp:44
&gt; +LoadableClassicScript::LoadableClassicScript(const String&amp; nonce, const AtomString&amp; integrity, ReferrerPolicy policy, const AtomString&amp; crossOriginMode, const String&amp; charset, const AtomString&amp; initiatorName, bool isInUserAgentShadowTree, bool isAsync)

Was nonce going to be AtomString?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836069</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-02-01 11:10:34 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 450464 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=450464&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/LoadableClassicScript.cpp:44
&gt; &gt; +LoadableClassicScript::LoadableClassicScript(const String&amp; nonce, const AtomString&amp; integrity, ReferrerPolicy policy, const AtomString&amp; crossOriginMode, const String&amp; charset, const AtomString&amp; initiatorName, bool isInUserAgentShadowTree, bool isAsync)
&gt; 
&gt; Was nonce going to be AtomString?

Yup. In Element.h we see that:

...
    WEBCORE_EXPORT const AtomString&amp; nonce() const;
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836071</commentid>
    <comment_count>5</comment_count>
      <attachid>450464</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-02-01 11:12:56 -0800</bug_when>
    <thetext>Comment on attachment 450464
Patch

Clearing flags on attachment: 450464

Committed r288900 (?): &lt;https://commits.webkit.org/r288900&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836072</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-02-01 11:12:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836074</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-01 11:13:39 -0800</bug_when>
    <thetext>&lt;rdar://problem/88338714&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836098</commentid>
    <comment_count>8</comment_count>
      <attachid>450464</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-01 12:24:58 -0800</bug_when>
    <thetext>Comment on attachment 450464
Patch

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

&gt;&gt;&gt; Source/WebCore/dom/LoadableClassicScript.cpp:44
&gt;&gt;&gt; +LoadableClassicScript::LoadableClassicScript(const String&amp; nonce, const AtomString&amp; integrity, ReferrerPolicy policy, const AtomString&amp; crossOriginMode, const String&amp; charset, const AtomString&amp; initiatorName, bool isInUserAgentShadowTree, bool isAsync)
&gt;&gt; 
&gt;&gt; Was nonce going to be AtomString?
&gt; 
&gt; Yup. In Element.h we see that:
&gt; 
&gt; ...
&gt;     WEBCORE_EXPORT const AtomString&amp; nonce() const;
&gt; ...

My point is that the code above says const String&amp; nonce instead of const AtomString&amp; nonce.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836143</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-02-01 14:09:08 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; Comment on attachment 450464 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=450464&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/dom/LoadableClassicScript.cpp:44
&gt; &gt;&gt;&gt; +LoadableClassicScript::LoadableClassicScript(const String&amp; nonce, const AtomString&amp; integrity, ReferrerPolicy policy, const AtomString&amp; crossOriginMode, const String&amp; charset, const AtomString&amp; initiatorName, bool isInUserAgentShadowTree, bool isAsync)
&gt; &gt;&gt; 
&gt; &gt;&gt; Was nonce going to be AtomString?
&gt; &gt; 
&gt; &gt; Yup. In Element.h we see that:
&gt; &gt; 
&gt; &gt; ...
&gt; &gt;     WEBCORE_EXPORT const AtomString&amp; nonce() const;
&gt; &gt; ...
&gt; 
&gt; My point is that the code above says const String&amp; nonce instead of const
&gt; AtomString&amp; nonce.

Oh! I missed that. Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836146</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-02-01 14:13:09 -0800</bug_when>
    <thetext>Committed r288912 (246652@trunk): &lt;https://commits.webkit.org/246652@trunk&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450463</attachid>
            <date>2022-01-31 14:26:51 -0800</date>
            <delta_ts>2022-01-31 14:29:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235919-20220131142651.patch</filename>
            <type>text/plain</type>
            <size>15237</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWFkYzJhYWMwOGJjMjkx
YWUwMGZlNzY3Y2UyZDI3OGQzZWJjODdmNy4uNGU1MTBhMjdjMjRiMDM3NDU1ZmIxMmJjYzY4NjU1
YTEwZDNhMDBiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIyLTAxLTMxICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVzZSBtb3JlIEF0b21TdHJp
bmcgYW5kIHVuLWlubGluZSBjb2RlIGZvciBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hl
ciBhbmQgaXRzIHN1YmNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNTkxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogZG9tL0lubGlu
ZUNsYXNzaWNTY3JpcHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQ2xhc3NpY1Njcmlw
dDo6SW5saW5lQ2xhc3NpY1NjcmlwdCk6CisgICAgICAgICogZG9tL0lubGluZUNsYXNzaWNTY3Jp
cHQuaDoKKyAgICAgICAgKiBkb20vTG9hZGFibGVDbGFzc2ljU2NyaXB0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkxvYWRhYmxlQ2xhc3NpY1NjcmlwdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkxvYWRhYmxlQ2xhc3NpY1NjcmlwdDo6TG9hZGFibGVDbGFzc2ljU2NyaXB0KToKKyAgICAg
ICAgKiBkb20vTG9hZGFibGVDbGFzc2ljU2NyaXB0Lmg6CisgICAgICAgICogZG9tL0xvYWRhYmxl
TW9kdWxlU2NyaXB0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlTW9kdWxlU2NyaXB0
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVNb2R1bGVTY3JpcHQ6OkxvYWRh
YmxlTW9kdWxlU2NyaXB0KToKKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3JpcHQuaDoK
KyAgICAgICAgKiBkb20vTG9hZGFibGVTY3JpcHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRh
YmxlU2NyaXB0OjpMb2FkYWJsZVNjcmlwdCk6CisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6U2NyaXB0RWxlbWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50OjpyZXF1ZXN0Q2xhc3NpY1NjcmlwdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50OjpyZXF1ZXN0TW9kdWxlU2NyaXB0KToKKyAg
ICAgICAgKiBkb20vU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyOjpTY3JpcHRFbGVtZW50
Q2FjaGVkU2NyaXB0RmV0Y2hlcik6CisKIDIwMjItMDEtMzEgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgRGVsZXRlIHJ1bnRpbWUgZmxhZyBmb3Igc3VicmVzb3Vy
Y2UgaW50ZWdyaXR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lQ2xhc3Np
Y1NjcmlwdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lQ2xhc3NpY1NjcmlwdC5jcHAK
aW5kZXggYzQxODllNzYwMzRiY2VhY2ZmMjA0M2ZmMDYwMmExNDJjNzZlMDBlNi4uODI4NWQ4NDc0
OWVjYzhlZDcxY2ZkY2Q3MDAyMzJjNWRiYjcwYmMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0lubGluZUNsYXNzaWNTY3JpcHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9J
bmxpbmVDbGFzc2ljU2NyaXB0LmNwcApAQCAtNDMsNCArNDMsOSBAQCBSZWY8SW5saW5lQ2xhc3Np
Y1NjcmlwdD4gSW5saW5lQ2xhc3NpY1NjcmlwdDo6Y3JlYXRlKFNjcmlwdEVsZW1lbnQmIHNjcmlw
dEVsZW1lbgogICAgICAgICBlbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpKTsKIH0K
IAorSW5saW5lQ2xhc3NpY1NjcmlwdDo6SW5saW5lQ2xhc3NpY1NjcmlwdChjb25zdCBBdG9tU3Ry
aW5nJiBub25jZSwgY29uc3QgQXRvbVN0cmluZyYgY3Jvc3NPcmlnaW5Nb2RlLCBjb25zdCBTdHJp
bmcmIGNoYXJzZXQsIGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRvck5hbWUsIGJvb2wgaXNJblVz
ZXJBZ2VudFNoYWRvd1RyZWUpCisgICAgOiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hl
cihub25jZSwgUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nLCBjcm9zc09yaWdpbk1vZGUsIGNo
YXJzZXQsIGluaXRpYXRvck5hbWUsIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKQoreworfQorCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lQ2xhc3NpY1NjcmlwdC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0lubGluZUNsYXNzaWNTY3JpcHQuaAppbmRleCBiNDg5YTFiNmJl
NTVhYjZmYjNlZjM1NjVjMThhMGRmMDc3N2Y2ZWRhLi41ZDQ4NDQ1YzQ5MzNhYmJiMjNiMjJhZmI1
YTQ0ODkyNGU1MDU2ZTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lQ2xh
c3NpY1NjcmlwdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbmxpbmVDbGFzc2ljU2NyaXB0
LmgKQEAgLTM5LDEwICszOSw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzTW9kdWxlU2NyaXB0KCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KIAogcHJpdmF0ZToKLSAgICBJbmxpbmVDbGFz
c2ljU2NyaXB0KGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgY3Jvc3NPcmlnaW5N
b2RlLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRvck5h
bWUsIGJvb2wgaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUpCi0gICAgICAgIDogU2NyaXB0RWxlbWVu
dENhY2hlZFNjcmlwdEZldGNoZXIobm9uY2UsIFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZywg
Y3Jvc3NPcmlnaW5Nb2RlLCBjaGFyc2V0LCBpbml0aWF0b3JOYW1lLCBpc0luVXNlckFnZW50U2hh
ZG93VHJlZSkKLSAgICB7Ci0gICAgfQorICAgIElubGluZUNsYXNzaWNTY3JpcHQoY29uc3QgQXRv
bVN0cmluZyYgbm9uY2UsIGNvbnN0IEF0b21TdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgY29uc3Qg
U3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBpbml0aWF0b3JOYW1lLCBib29sIGlz
SW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Mb2FkYWJsZUNsYXNzaWNTY3JpcHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0xv
YWRhYmxlQ2xhc3NpY1NjcmlwdC5jcHAKaW5kZXggMTA3YzdmZmRkODI3NjRmNzdiODcyYTY1OTk4
NDQ0NDk1YmJkZDQxNS4uZTVmNDdhYmEzZGVkMGU4YmVlYmJmNWFhNjZkM2I3ZWExZTAzNWExMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlQ2xhc3NpY1NjcmlwdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlQ2xhc3NpY1NjcmlwdC5jcHAKQEAgLTM2
LDExICszNiwxOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZjxMb2FkYWJsZUNsYXNz
aWNTY3JpcHQ+IExvYWRhYmxlQ2xhc3NpY1NjcmlwdDo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgbm9u
Y2UsIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0YWRhdGEsIFJlZmVycmVyUG9saWN5IHBvbGlj
eSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwg
Y29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93
VHJlZSwgYm9vbCBpc0FzeW5jKQorUmVmPExvYWRhYmxlQ2xhc3NpY1NjcmlwdD4gTG9hZGFibGVD
bGFzc2ljU2NyaXB0OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgbm9uY2UsIGNvbnN0IEF0b21T
dHJpbmcmIGludGVncml0eU1ldGFkYXRhLCBSZWZlcnJlclBvbGljeSBwb2xpY3ksIGNvbnN0IEF0
b21TdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBB
dG9tU3RyaW5nJiBpbml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlLCBi
b29sIGlzQXN5bmMpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTG9hZGFibGVDbGFzc2lj
U2NyaXB0KG5vbmNlLCBpbnRlZ3JpdHlNZXRhZGF0YSwgcG9saWN5LCBjcm9zc09yaWdpbk1vZGUs
IGNoYXJzZXQsIGluaXRpYXRvck5hbWUsIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlLCBpc0FzeW5j
KSk7CiB9CiAKK0xvYWRhYmxlQ2xhc3NpY1NjcmlwdDo6TG9hZGFibGVDbGFzc2ljU2NyaXB0KGNv
bnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IEF0b21TdHJpbmcmIGludGVncml0eSwgUmVmZXJyZXJQ
b2xpY3kgcG9saWN5LCBjb25zdCBBdG9tU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0IFN0
cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBpc0lu
VXNlckFnZW50U2hhZG93VHJlZSwgYm9vbCBpc0FzeW5jKQorICAgIDogTG9hZGFibGVTY3JpcHQo
bm9uY2UsIHBvbGljeSwgY3Jvc3NPcmlnaW5Nb2RlLCBjaGFyc2V0LCBpbml0aWF0b3JOYW1lLCBp
c0luVXNlckFnZW50U2hhZG93VHJlZSkKKyAgICAsIG1faW50ZWdyaXR5KGludGVncml0eSkKKyAg
ICAsIG1faXNBc3luYyhpc0FzeW5jKQoreworfQorCiBMb2FkYWJsZUNsYXNzaWNTY3JpcHQ6On5M
b2FkYWJsZUNsYXNzaWNTY3JpcHQoKQogewogICAgIGlmIChtX2NhY2hlZFNjcmlwdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZUNsYXNzaWNTY3JpcHQuaAppbmRleCBlODhkNTRkZTQ1NGM0
NjVkMmY0NDE4YTg0NjAyYTlhOWFiYzkxMmI1Li5hNmQxZjE2NjY5NTljZTJiMDM0OGM2MDQwNjQ4
MmMxMDY4Njk3MzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVDbGFz
c2ljU2NyaXB0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlQ2xhc3NpY1Njcmlw
dC5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIExvYWRhYmxlQ2xhc3NpY1NjcmlwdCBmaW5hbCA6
IHB1YmxpYyBMb2FkYWJsZVNjcmlwdCwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjCiBwdWJsaWM6CiAg
ICAgdmlydHVhbCB+TG9hZGFibGVDbGFzc2ljU2NyaXB0KCk7CiAKLSAgICBzdGF0aWMgUmVmPExv
YWRhYmxlQ2xhc3NpY1NjcmlwdD4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0
cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdp
bk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9y
TmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSwgYm9vbCBpc0FzeW5jKTsKKyAgICBz
dGF0aWMgUmVmPExvYWRhYmxlQ2xhc3NpY1NjcmlwdD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcm
IG5vbmNlLCBjb25zdCBBdG9tU3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25z
dCBBdG9tU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29u
c3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJl
ZSwgYm9vbCBpc0FzeW5jKTsKICAgICBib29sIGlzTG9hZGVkKCkgY29uc3QgZmluYWw7CiAgICAg
c3RkOjpvcHRpb25hbDxFcnJvcj4gZXJyb3IoKSBjb25zdCBmaW5hbDsKICAgICBib29sIHdhc0Nh
bmNlbGVkKCkgY29uc3QgZmluYWw7CkBAIC01NiwxOCArNTYsMTMgQEAgcHVibGljOgogICAgIGJv
b2wgbG9hZChEb2N1bWVudCYsIGNvbnN0IFVSTCYpOwogCiBwcml2YXRlOgotICAgIExvYWRhYmxl
Q2xhc3NpY1NjcmlwdChjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGludGVncml0
eSwgUmVmZXJyZXJQb2xpY3kgcG9saWN5LCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwg
Y29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBpbml0aWF0b3JOYW1lLCBi
b29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlLCBib29sIGlzQXN5bmMpCi0gICAgICAgIDogTG9h
ZGFibGVTY3JpcHQobm9uY2UsIHBvbGljeSwgY3Jvc3NPcmlnaW5Nb2RlLCBjaGFyc2V0LCBpbml0
aWF0b3JOYW1lLCBpc0luVXNlckFnZW50U2hhZG93VHJlZSkKLSAgICAgICAgLCBtX2ludGVncml0
eShpbnRlZ3JpdHkpCi0gICAgICAgICwgbV9pc0FzeW5jKGlzQXN5bmMpCi0gICAgewotICAgIH0K
KyAgICBMb2FkYWJsZUNsYXNzaWNTY3JpcHQoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgQXRv
bVN0cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwgY29uc3QgQXRvbVN0cmluZyYgY3Jv
c3NPcmlnaW5Nb2RlLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IEF0b21TdHJpbmcmIGlu
aXRpYXRvck5hbWUsIGJvb2wgaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUsIGJvb2wgaXNBc3luYyk7
CiAKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgTmV0d29y
a0xvYWRNZXRyaWNzJikgZmluYWw7CiAKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRT
Y3JpcHQ+IG1fY2FjaGVkU2NyaXB0IHsgfTsKICAgICBzdGQ6Om9wdGlvbmFsPEVycm9yPiBtX2Vy
cm9yIHsgc3RkOjpudWxsb3B0IH07Ci0gICAgU3RyaW5nIG1faW50ZWdyaXR5OworICAgIGNvbnN0
IEF0b21TdHJpbmcgbV9pbnRlZ3JpdHk7CiAgICAgYm9vbCBtX2lzQXN5bmMgeyBmYWxzZSB9Owog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKaW5kZXgg
YjBlOWFiNDE3YmZmMTA0YzQxYmNmYmUwOTI4ZTg0NzQ0NzM5MDhiZC4uMjhkNTVjMDIzNDZhZTEx
NzQ1ZDk2NzI5ZWVkMzZlYmY0ZDk5YzYxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFi
bGVNb2R1bGVTY3JpcHQuY3BwCkBAIC0zNCwxMiArMzQsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1SZWY8TG9hZGFibGVNb2R1bGVTY3JpcHQ+IExvYWRhYmxlTW9kdWxlU2NyaXB0Ojpj
cmVhdGUoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVy
cmVyUG9saWN5IHBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0IFN0
cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBpc0lu
VXNlckFnZW50U2hhZG93VHJlZSkKK1JlZjxMb2FkYWJsZU1vZHVsZVNjcmlwdD4gTG9hZGFibGVN
b2R1bGVTY3JpcHQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiBub25jZSwgY29uc3QgQXRvbVN0
cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSBwb2xpY3ksIGNvbnN0IEF0b21TdHJpbmcm
IGNyb3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5n
JiBpbml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKQogewogICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IExvYWRhYmxlTW9kdWxlU2NyaXB0KG5vbmNlLCBpbnRlZ3JpdHks
IHBvbGljeSwgY3Jvc3NPcmlnaW5Nb2RlLCBjaGFyc2V0LCBpbml0aWF0b3JOYW1lLCBpc0luVXNl
ckFnZW50U2hhZG93VHJlZSkpOwogfQogCi1Mb2FkYWJsZU1vZHVsZVNjcmlwdDo6TG9hZGFibGVN
b2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHks
IFJlZmVycmVyUG9saWN5IHBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNv
bnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9v
bCBpc0luVXNlckFnZW50U2hhZG93VHJlZSkKK0xvYWRhYmxlTW9kdWxlU2NyaXB0OjpMb2FkYWJs
ZU1vZHVsZVNjcmlwdChjb25zdCBBdG9tU3RyaW5nJiBub25jZSwgY29uc3QgQXRvbVN0cmluZyYg
aW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSBwb2xpY3ksIGNvbnN0IEF0b21TdHJpbmcmIGNyb3Nz
T3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBpbml0
aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKQogICAgIDogTG9hZGFibGVT
Y3JpcHQobm9uY2UsIHBvbGljeSwgY3Jvc3NPcmlnaW5Nb2RlLCBjaGFyc2V0LCBpbml0aWF0b3JO
YW1lLCBpc0luVXNlckFnZW50U2hhZG93VHJlZSkKICAgICAsIG1fcGFyYW1ldGVycyhNb2R1bGVG
ZXRjaFBhcmFtZXRlcnM6OmNyZWF0ZShpbnRlZ3JpdHksIC8qIGlzVG9wTGV2ZWxNb2R1bGUgKi8g
dHJ1ZSkpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1bGVT
Y3JpcHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCmluZGV4
IDg2NzgzNzIwYjM5N2M5ODkyMmY1NjYxNjg5OTU0NzhlMDgwZjljNDQuLjAwNjhlMmQwY2Y1M2Fh
N2NlZWZhMDFlMmUxZDIyNjc3Y2Y2OTc5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJs
ZU1vZHVsZVNjcmlwdC5oCkBAIC0zNyw3ICszNyw3IEBAIGNsYXNzIExvYWRhYmxlTW9kdWxlU2Ny
aXB0IGZpbmFsIDogcHVibGljIExvYWRhYmxlU2NyaXB0IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFs
IH5Mb2FkYWJsZU1vZHVsZVNjcmlwdCgpOwogCi0gICAgc3RhdGljIFJlZjxMb2FkYWJsZU1vZHVs
ZVNjcmlwdD4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgaW50ZWdy
aXR5LCBSZWZlcnJlclBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBp
c0luVXNlckFnZW50U2hhZG93VHJlZSk7CisgICAgc3RhdGljIFJlZjxMb2FkYWJsZU1vZHVsZVNj
cmlwdD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIG5vbmNlLCBjb25zdCBBdG9tU3RyaW5nJiBp
bnRlZ3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25zdCBBdG9tU3RyaW5nJiBjcm9zc09yaWdpbk1v
ZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFt
ZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSk7CiAKICAgICBib29sIGlzTG9hZGVkKCkg
Y29uc3QgZmluYWw7CiAgICAgc3RkOjpvcHRpb25hbDxFcnJvcj4gZXJyb3IoKSBjb25zdCBmaW5h
bDsKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIE1vZHVsZUZldGNoUGFyYW1ldGVycyYg
cGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQogCiBwcml2YXRlOgot
ICAgIExvYWRhYmxlTW9kdWxlU2NyaXB0KGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmlu
ZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1v
ZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFt
ZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSk7CisgICAgTG9hZGFibGVNb2R1bGVTY3Jp
cHQoY29uc3QgQXRvbVN0cmluZyYgbm9uY2UsIGNvbnN0IEF0b21TdHJpbmcmIGludGVncml0eSwg
UmVmZXJyZXJQb2xpY3ksIGNvbnN0IEF0b21TdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgY29uc3Qg
U3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBpbml0aWF0b3JOYW1lLCBib29sIGlz
SW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIAogICAgIFJlZjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+
IG1fcGFyYW1ldGVyczsKICAgICBSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+IG1fbW9kdWxlS2V5
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlU2NyaXB0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTG9hZGFibGVTY3JpcHQuaAppbmRleCBlYjNmMmYxYmM1ODAwMjBmMWVm
ZjQzNWY1MTE0YjdlZjk0ZDg2ZTRjLi42OWQzMzkwYjgxMzIwYmE0YWFmMjNlZGE4YmY2ZjgwZDg4
M2FhODI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVTY3JpcHQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVTY3JpcHQuaApAQCAtNzAsNyArNzAsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVDbGllbnQoTG9hZGFibGVTY3JpcHRDbGllbnQmKTsK
IAogcHJvdGVjdGVkOgotICAgIExvYWRhYmxlU2NyaXB0KGNvbnN0IFN0cmluZyYgbm9uY2UsIFJl
ZmVycmVyUG9saWN5IHBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBp
c0luVXNlckFnZW50U2hhZG93VHJlZSkKKyAgICBMb2FkYWJsZVNjcmlwdChjb25zdCBBdG9tU3Ry
aW5nJiBub25jZSwgUmVmZXJyZXJQb2xpY3kgcG9saWN5LCBjb25zdCBBdG9tU3RyaW5nJiBjcm9z
c09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5p
dGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSkKICAgICAgICAgOiBTY3Jp
cHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlcihub25jZSwgcG9saWN5LCBjcm9zc09yaWdpbk1v
ZGUsIGNoYXJzZXQsIGluaXRpYXRvck5hbWUsIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKQogICAg
IHsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5kZXggMTAwYTJiZTVi
ZWQyNWU1YzA5NDZhYWVmNTNkMjc1OWU2OTZkNjUxOS4uMzNiNjJjM2E5YzJlZjc3M2M2MjAwYjA2
ZjNhMWY4MTI5ZWZiNmIxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcApAQCAt
ODEsOCArODEsMTEgQEAgU2NyaXB0RWxlbWVudDo6U2NyaXB0RWxlbWVudChFbGVtZW50JiBlbGVt
ZW50LCBib29sIHBhcnNlckluc2VydGVkLCBib29sIGFscmVhZHkKICAgICAsIG1fY3JlYXRpb25U
aW1lKE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgICwgbV91c2VyR2VzdHVyZVRva2VuKFVzZXJH
ZXN0dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKSkKIHsKLSAgICBpZiAocGFyc2Vy
SW5zZXJ0ZWQgJiYgbV9lbGVtZW50LmRvY3VtZW50KCkuc2NyaXB0YWJsZURvY3VtZW50UGFyc2Vy
KCkgJiYgIW1fZWxlbWVudC5kb2N1bWVudCgpLmlzSW5Eb2N1bWVudFdyaXRlKCkpCi0gICAgICAg
IG1fc3RhcnRMaW5lTnVtYmVyID0gbV9lbGVtZW50LmRvY3VtZW50KCkuc2NyaXB0YWJsZURvY3Vt
ZW50UGFyc2VyKCktPnRleHRQb3NpdGlvbigpLm1fbGluZTsKKyAgICBpZiAocGFyc2VySW5zZXJ0
ZWQpIHsKKyAgICAgICAgUmVmIGRvY3VtZW50ID0gbV9lbGVtZW50LmRvY3VtZW50KCk7CisgICAg
ICAgIGlmIChSZWZQdHIgcGFyc2VyID0gZG9jdW1lbnQtPnNjcmlwdGFibGVEb2N1bWVudFBhcnNl
cigpOyBwYXJzZXIgJiYgIWRvY3VtZW50LT5pc0luRG9jdW1lbnRXcml0ZSgpKQorICAgICAgICAg
ICAgbV9zdGFydExpbmVOdW1iZXIgPSBwYXJzZXItPnRleHRQb3NpdGlvbigpLm1fbGluZTsKKyAg
ICB9CiB9CiAKIHZvaWQgU2NyaXB0RWxlbWVudDo6ZGlkRmluaXNoSW5zZXJ0aW5nTm9kZSgpCkBA
IC0yODgsMTUgKzI5MSw4IEBAIGJvb2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdENsYXNzaWNTY3Jp
cHQoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiAgICAgQVNTRVJUKG1fZWxlbWVudC5pc0Nvbm5l
Y3RlZCgpKTsKICAgICBBU1NFUlQoIW1fbG9hZGFibGVTY3JpcHQpOwogICAgIGlmICghc3RyaXBM
ZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKHNvdXJjZVVSTCkuaXNFbXB0eSgpKSB7Ci0gICAg
ICAgIGF1dG8gc2NyaXB0ID0gTG9hZGFibGVDbGFzc2ljU2NyaXB0OjpjcmVhdGUoCi0gICAgICAg
ICAgICBtX2VsZW1lbnQubm9uY2UoKSwKLSAgICAgICAgICAgIG1fZWxlbWVudC5hdHRyaWJ1dGVX
aXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6aW50ZWdyaXR5QXR0cikuc3RyaW5nKCks
Ci0gICAgICAgICAgICByZWZlcnJlclBvbGljeSgpLAotICAgICAgICAgICAgbV9lbGVtZW50LmF0
dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpjcm9zc29yaWdpbkF0dHIp
LAotICAgICAgICAgICAgc2NyaXB0Q2hhcnNldCgpLAotICAgICAgICAgICAgbV9lbGVtZW50Lmxv
Y2FsTmFtZSgpLAotICAgICAgICAgICAgbV9lbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVl
KCksCi0gICAgICAgICAgICBoYXNBc3luY0F0dHJpYnV0ZSgpKTsKKyAgICAgICAgYXV0byBzY3Jp
cHQgPSBMb2FkYWJsZUNsYXNzaWNTY3JpcHQ6OmNyZWF0ZShtX2VsZW1lbnQubm9uY2UoKSwgbV9l
bGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjppbnRlZ3Jp
dHlBdHRyKSwgcmVmZXJyZXJQb2xpY3koKSwKKyAgICAgICAgICAgIG1fZWxlbWVudC5hdHRyaWJ1
dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6Y3Jvc3NvcmlnaW5BdHRyKSwgc2Ny
aXB0Q2hhcnNldCgpLCBtX2VsZW1lbnQubG9jYWxOYW1lKCksIG1fZWxlbWVudC5pc0luVXNlckFn
ZW50U2hhZG93VHJlZSgpLCBoYXNBc3luY0F0dHJpYnV0ZSgpKTsKIAogICAgICAgICBhdXRvIHNj
cmlwdFVSTCA9IG1fZWxlbWVudC5kb2N1bWVudCgpLmNvbXBsZXRlVVJMKHNvdXJjZVVSTCk7CiAg
ICAgICAgIG1fZWxlbWVudC5kb2N1bWVudCgpLndpbGxMb2FkU2NyaXB0RWxlbWVudChzY3JpcHRV
UkwpOwpAQCAtMzQ1LDE0ICszNDEsOCBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RNb2R1
bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAgICAg
ICB9CiAKICAgICAgICAgbV9pc0V4dGVybmFsU2NyaXB0ID0gdHJ1ZTsKLSAgICAgICAgYXV0byBz
Y3JpcHQgPSBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6Y3JlYXRlKAotICAgICAgICAgICAgbm9uY2Us
Ci0gICAgICAgICAgICBtX2VsZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihI
VE1MTmFtZXM6OmludGVncml0eUF0dHIpLnN0cmluZygpLAotICAgICAgICAgICAgcmVmZXJyZXJQ
b2xpY3koKSwKLSAgICAgICAgICAgIGNyb3NzT3JpZ2luTW9kZSwKLSAgICAgICAgICAgIHNjcmlw
dENoYXJzZXQoKSwKLSAgICAgICAgICAgIG1fZWxlbWVudC5sb2NhbE5hbWUoKSwKLSAgICAgICAg
ICAgIG1fZWxlbWVudC5pc0luVXNlckFnZW50U2hhZG93VHJlZSgpKTsKKyAgICAgICAgYXV0byBz
Y3JpcHQgPSBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6Y3JlYXRlKG5vbmNlLCBtX2VsZW1lbnQuYXR0
cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OmludGVncml0eUF0dHIpLCBy
ZWZlcnJlclBvbGljeSgpLCBjcm9zc09yaWdpbk1vZGUsCisgICAgICAgICAgICBzY3JpcHRDaGFy
c2V0KCksIG1fZWxlbWVudC5sb2NhbE5hbWUoKSwgbV9lbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFk
b3dUcmVlKCkpOwogICAgICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQpOwog
ICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgpKSB7
CiAgICAgICAgICAgICBhdXRvJiBzY3JpcHQgPSBkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNjcmlw
dD4oKm1fbG9hZGFibGVTY3JpcHQuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIuaAppbmRleCAyMTVmMWQ5ZmYxMDIx
ZDg5N2UxMmNhMTU1OGMwMTc1MzUxODVlY2I0Li40OWQwOWUxYTliNGNhYmZmOWU0YzE0OTM0MTUx
ZmE2MmRmYzEwNGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVu
dENhY2hlZFNjcmlwdEZldGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxl
bWVudENhY2hlZFNjcmlwdEZldGNoZXIuaApAQCAtNDEsMTQgKzQxLDE0IEBAIHB1YmxpYzoKICAg
ICBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY3Jvc3NP
cmlnaW5Nb2RlOyB9CiAKIHByb3RlY3RlZDoKLSAgICBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0
RmV0Y2hlcihjb25zdCBTdHJpbmcmIG5vbmNlLCBSZWZlcnJlclBvbGljeSBwb2xpY3ksIGNvbnN0
IFN0cmluZyYgY3Jvc3NPcmlnaW5Nb2RlLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IEF0
b21TdHJpbmcmIGluaXRpYXRvck5hbWUsIGJvb2wgaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUpCisg
ICAgU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIoY29uc3QgQXRvbVN0cmluZyYgbm9u
Y2UsIFJlZmVycmVyUG9saWN5IHBvbGljeSwgY29uc3QgQXRvbVN0cmluZyYgY3Jvc3NPcmlnaW5N
b2RlLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRvck5h
bWUsIGJvb2wgaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUpCiAgICAgICAgIDogQ2FjaGVkU2NyaXB0
RmV0Y2hlcihub25jZSwgcG9saWN5LCBjaGFyc2V0LCBpbml0aWF0b3JOYW1lLCBpc0luVXNlckFn
ZW50U2hhZG93VHJlZSkKICAgICAgICAgLCBtX2Nyb3NzT3JpZ2luTW9kZShjcm9zc09yaWdpbk1v
ZGUpCiAgICAgewogICAgIH0KIAogcHJpdmF0ZToKLSAgICBTdHJpbmcgbV9jcm9zc09yaWdpbk1v
ZGU7CisgICAgY29uc3QgQXRvbVN0cmluZyBtX2Nyb3NzT3JpZ2luTW9kZTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450464</attachid>
            <date>2022-01-31 14:29:05 -0800</date>
            <delta_ts>2022-02-01 11:12:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235919-20220131142904.patch</filename>
            <type>text/plain</type>
            <size>15354</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWFkYzJhYWMwOGJjMjkx
YWUwMGZlNzY3Y2UyZDI3OGQzZWJjODdmNy4uOTRhNDYzZjY2MzM1MDQ1YzhmYTcxNjE2MzFiY2U1
Yzk3MzJlMzBlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIyLTAxLTMxICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVzZSBtb3JlIEF0b21TdHJp
bmcgYW5kIHVuLWlubGluZSBjb2RlIGZvciBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hl
ciBhbmQgaXRzIHN1YmNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNTkxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVzZSBtb3JlIEF0b21TdHJpbmcgYW5kIG1vdmVkIGNvZGUgZnJvbSBoZWFk
ZXIgZmlsZXMgdG8gY3BwIGZpbGVzIHdoZXJlIGFwcHJvcHJpYXRlLgorCisgICAgICAgICogZG9t
L0lubGluZUNsYXNzaWNTY3JpcHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQ2xhc3Np
Y1NjcmlwdDo6SW5saW5lQ2xhc3NpY1NjcmlwdCk6CisgICAgICAgICogZG9tL0lubGluZUNsYXNz
aWNTY3JpcHQuaDoKKyAgICAgICAgKiBkb20vTG9hZGFibGVDbGFzc2ljU2NyaXB0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlQ2xhc3NpY1NjcmlwdDo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkxvYWRhYmxlQ2xhc3NpY1NjcmlwdDo6TG9hZGFibGVDbGFzc2ljU2NyaXB0KToK
KyAgICAgICAgKiBkb20vTG9hZGFibGVDbGFzc2ljU2NyaXB0Lmg6CisgICAgICAgICogZG9tL0xv
YWRhYmxlTW9kdWxlU2NyaXB0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlTW9kdWxl
U2NyaXB0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVNb2R1bGVTY3JpcHQ6
OkxvYWRhYmxlTW9kdWxlU2NyaXB0KToKKyAgICAgICAgKiBkb20vTG9hZGFibGVNb2R1bGVTY3Jp
cHQuaDoKKyAgICAgICAgKiBkb20vTG9hZGFibGVTY3JpcHQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkxvYWRhYmxlU2NyaXB0OjpMb2FkYWJsZVNjcmlwdCk6CisgICAgICAgICogZG9tL1NjcmlwdEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6U2NyaXB0RWxlbWVu
dCk6IENhbGwgZG9jdW1lbnQoKSBhbmQgc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCkgb25jZS4g
CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50OjpyZXF1ZXN0Q2xhc3NpY1NjcmlwdCk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50OjpyZXF1ZXN0TW9kdWxlU2NyaXB0KToK
KyAgICAgICAgKiBkb20vU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyOjpTY3JpcHRFbGVt
ZW50Q2FjaGVkU2NyaXB0RmV0Y2hlcik6CisKIDIwMjItMDEtMzEgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRGVsZXRlIHJ1bnRpbWUgZmxhZyBmb3Igc3VicmVz
b3VyY2UgaW50ZWdyaXR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lQ2xh
c3NpY1NjcmlwdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lQ2xhc3NpY1NjcmlwdC5j
cHAKaW5kZXggYzQxODllNzYwMzRiY2VhY2ZmMjA0M2ZmMDYwMmExNDJjNzZlMDBlNi4uODI4NWQ4
NDc0OWVjYzhlZDcxY2ZkY2Q3MDAyMzJjNWRiYjcwYmMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0lubGluZUNsYXNzaWNTY3JpcHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9JbmxpbmVDbGFzc2ljU2NyaXB0LmNwcApAQCAtNDMsNCArNDMsOSBAQCBSZWY8SW5saW5lQ2xh
c3NpY1NjcmlwdD4gSW5saW5lQ2xhc3NpY1NjcmlwdDo6Y3JlYXRlKFNjcmlwdEVsZW1lbnQmIHNj
cmlwdEVsZW1lbgogICAgICAgICBlbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkpKTsK
IH0KIAorSW5saW5lQ2xhc3NpY1NjcmlwdDo6SW5saW5lQ2xhc3NpY1NjcmlwdChjb25zdCBBdG9t
U3RyaW5nJiBub25jZSwgY29uc3QgQXRvbVN0cmluZyYgY3Jvc3NPcmlnaW5Nb2RlLCBjb25zdCBT
dHJpbmcmIGNoYXJzZXQsIGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRvck5hbWUsIGJvb2wgaXNJ
blVzZXJBZ2VudFNoYWRvd1RyZWUpCisgICAgOiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0
Y2hlcihub25jZSwgUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nLCBjcm9zc09yaWdpbk1vZGUs
IGNoYXJzZXQsIGluaXRpYXRvck5hbWUsIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKQoreworfQor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lQ2xhc3NpY1NjcmlwdC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0lubGluZUNsYXNzaWNTY3JpcHQuaAppbmRleCBiNDg5YTFi
NmJlNTVhYjZmYjNlZjM1NjVjMThhMGRmMDc3N2Y2ZWRhLi41ZDQ4NDQ1YzQ5MzNhYmJiMjNiMjJh
ZmI1YTQ0ODkyNGU1MDU2ZTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5l
Q2xhc3NpY1NjcmlwdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9JbmxpbmVDbGFzc2ljU2Ny
aXB0LmgKQEAgLTM5LDEwICszOSw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzTW9kdWxlU2NyaXB0
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KIAogcHJpdmF0ZToKLSAgICBJbmxpbmVD
bGFzc2ljU2NyaXB0KGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgY3Jvc3NPcmln
aW5Nb2RlLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRv
ck5hbWUsIGJvb2wgaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUpCi0gICAgICAgIDogU2NyaXB0RWxl
bWVudENhY2hlZFNjcmlwdEZldGNoZXIobm9uY2UsIFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmlu
ZywgY3Jvc3NPcmlnaW5Nb2RlLCBjaGFyc2V0LCBpbml0aWF0b3JOYW1lLCBpc0luVXNlckFnZW50
U2hhZG93VHJlZSkKLSAgICB7Ci0gICAgfQorICAgIElubGluZUNsYXNzaWNTY3JpcHQoY29uc3Qg
QXRvbVN0cmluZyYgbm9uY2UsIGNvbnN0IEF0b21TdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBpbml0aWF0b3JOYW1lLCBib29s
IGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Mb2FkYWJsZUNsYXNzaWNTY3JpcHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0xvYWRhYmxlQ2xhc3NpY1NjcmlwdC5jcHAKaW5kZXggMTA3YzdmZmRkODI3NjRmNzdiODcyYTY1
OTk4NDQ0NDk1YmJkZDQxNS4uZTVmNDdhYmEzZGVkMGU4YmVlYmJmNWFhNjZkM2I3ZWExZTAzNWEx
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlQ2xhc3NpY1NjcmlwdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlQ2xhc3NpY1NjcmlwdC5jcHAKQEAg
LTM2LDExICszNiwxOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZjxMb2FkYWJsZUNs
YXNzaWNTY3JpcHQ+IExvYWRhYmxlQ2xhc3NpY1NjcmlwdDo6Y3JlYXRlKGNvbnN0IFN0cmluZyYg
bm9uY2UsIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0YWRhdGEsIFJlZmVycmVyUG9saWN5IHBv
bGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNl
dCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hh
ZG93VHJlZSwgYm9vbCBpc0FzeW5jKQorUmVmPExvYWRhYmxlQ2xhc3NpY1NjcmlwdD4gTG9hZGFi
bGVDbGFzc2ljU2NyaXB0OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgbm9uY2UsIGNvbnN0IEF0
b21TdHJpbmcmIGludGVncml0eU1ldGFkYXRhLCBSZWZlcnJlclBvbGljeSBwb2xpY3ksIGNvbnN0
IEF0b21TdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25z
dCBBdG9tU3RyaW5nJiBpbml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVl
LCBib29sIGlzQXN5bmMpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTG9hZGFibGVDbGFz
c2ljU2NyaXB0KG5vbmNlLCBpbnRlZ3JpdHlNZXRhZGF0YSwgcG9saWN5LCBjcm9zc09yaWdpbk1v
ZGUsIGNoYXJzZXQsIGluaXRpYXRvck5hbWUsIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlLCBpc0Fz
eW5jKSk7CiB9CiAKK0xvYWRhYmxlQ2xhc3NpY1NjcmlwdDo6TG9hZGFibGVDbGFzc2ljU2NyaXB0
KGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IEF0b21TdHJpbmcmIGludGVncml0eSwgUmVmZXJy
ZXJQb2xpY3kgcG9saWN5LCBjb25zdCBBdG9tU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBp
c0luVXNlckFnZW50U2hhZG93VHJlZSwgYm9vbCBpc0FzeW5jKQorICAgIDogTG9hZGFibGVTY3Jp
cHQobm9uY2UsIHBvbGljeSwgY3Jvc3NPcmlnaW5Nb2RlLCBjaGFyc2V0LCBpbml0aWF0b3JOYW1l
LCBpc0luVXNlckFnZW50U2hhZG93VHJlZSkKKyAgICAsIG1faW50ZWdyaXR5KGludGVncml0eSkK
KyAgICAsIG1faXNBc3luYyhpc0FzeW5jKQoreworfQorCiBMb2FkYWJsZUNsYXNzaWNTY3JpcHQ6
On5Mb2FkYWJsZUNsYXNzaWNTY3JpcHQoKQogewogICAgIGlmIChtX2NhY2hlZFNjcmlwdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZUNsYXNzaWNTY3JpcHQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZUNsYXNzaWNTY3JpcHQuaAppbmRleCBlODhkNTRkZTQ1
NGM0NjVkMmY0NDE4YTg0NjAyYTlhOWFiYzkxMmI1Li5hNmQxZjE2NjY5NTljZTJiMDM0OGM2MDQw
NjQ4MmMxMDY4Njk3MzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVD
bGFzc2ljU2NyaXB0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlQ2xhc3NpY1Nj
cmlwdC5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIExvYWRhYmxlQ2xhc3NpY1NjcmlwdCBmaW5h
bCA6IHB1YmxpYyBMb2FkYWJsZVNjcmlwdCwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjCiBwdWJsaWM6
CiAgICAgdmlydHVhbCB+TG9hZGFibGVDbGFzc2ljU2NyaXB0KCk7CiAKLSAgICBzdGF0aWMgUmVm
PExvYWRhYmxlQ2xhc3NpY1NjcmlwdD4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0
IFN0cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09y
aWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlh
dG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSwgYm9vbCBpc0FzeW5jKTsKKyAg
ICBzdGF0aWMgUmVmPExvYWRhYmxlQ2xhc3NpY1NjcmlwdD4gY3JlYXRlKGNvbnN0IEF0b21TdHJp
bmcmIG5vbmNlLCBjb25zdCBBdG9tU3RyaW5nJiBpbnRlZ3JpdHksIFJlZmVycmVyUG9saWN5LCBj
b25zdCBBdG9tU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwg
Y29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93
VHJlZSwgYm9vbCBpc0FzeW5jKTsKICAgICBib29sIGlzTG9hZGVkKCkgY29uc3QgZmluYWw7CiAg
ICAgc3RkOjpvcHRpb25hbDxFcnJvcj4gZXJyb3IoKSBjb25zdCBmaW5hbDsKICAgICBib29sIHdh
c0NhbmNlbGVkKCkgY29uc3QgZmluYWw7CkBAIC01NiwxOCArNTYsMTMgQEAgcHVibGljOgogICAg
IGJvb2wgbG9hZChEb2N1bWVudCYsIGNvbnN0IFVSTCYpOwogCiBwcml2YXRlOgotICAgIExvYWRh
YmxlQ2xhc3NpY1NjcmlwdChjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGludGVn
cml0eSwgUmVmZXJyZXJQb2xpY3kgcG9saWN5LCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9k
ZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBpbml0aWF0b3JOYW1l
LCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlLCBib29sIGlzQXN5bmMpCi0gICAgICAgIDog
TG9hZGFibGVTY3JpcHQobm9uY2UsIHBvbGljeSwgY3Jvc3NPcmlnaW5Nb2RlLCBjaGFyc2V0LCBp
bml0aWF0b3JOYW1lLCBpc0luVXNlckFnZW50U2hhZG93VHJlZSkKLSAgICAgICAgLCBtX2ludGVn
cml0eShpbnRlZ3JpdHkpCi0gICAgICAgICwgbV9pc0FzeW5jKGlzQXN5bmMpCi0gICAgewotICAg
IH0KKyAgICBMb2FkYWJsZUNsYXNzaWNTY3JpcHQoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3Qg
QXRvbVN0cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwgY29uc3QgQXRvbVN0cmluZyYg
Y3Jvc3NPcmlnaW5Nb2RlLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IEF0b21TdHJpbmcm
IGluaXRpYXRvck5hbWUsIGJvb2wgaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUsIGJvb2wgaXNBc3lu
Yyk7CiAKICAgICB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiwgY29uc3QgTmV0
d29ya0xvYWRNZXRyaWNzJikgZmluYWw7CiAKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRTY3JpcHQ+IG1fY2FjaGVkU2NyaXB0IHsgfTsKICAgICBzdGQ6Om9wdGlvbmFsPEVycm9yPiBt
X2Vycm9yIHsgc3RkOjpudWxsb3B0IH07Ci0gICAgU3RyaW5nIG1faW50ZWdyaXR5OworICAgIGNv
bnN0IEF0b21TdHJpbmcgbV9pbnRlZ3JpdHk7CiAgICAgYm9vbCBtX2lzQXN5bmMgeyBmYWxzZSB9
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlTW9kdWxlU2Ny
aXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5jcHAKaW5k
ZXggYjBlOWFiNDE3YmZmMTA0YzQxYmNmYmUwOTI4ZTg0NzQ0NzM5MDhiZC4uMjhkNTVjMDIzNDZh
ZTExNzQ1ZDk2NzI5ZWVkMzZlYmY0ZDk5YzYxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0xvYWRhYmxlTW9kdWxlU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9h
ZGFibGVNb2R1bGVTY3JpcHQuY3BwCkBAIC0zNCwxMiArMzQsMTIgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1SZWY8TG9hZGFibGVNb2R1bGVTY3JpcHQ+IExvYWRhYmxlTW9kdWxlU2NyaXB0
OjpjcmVhdGUoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHksIFJl
ZmVycmVyUG9saWN5IHBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNvbnN0
IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9vbCBp
c0luVXNlckFnZW50U2hhZG93VHJlZSkKK1JlZjxMb2FkYWJsZU1vZHVsZVNjcmlwdD4gTG9hZGFi
bGVNb2R1bGVTY3JpcHQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiBub25jZSwgY29uc3QgQXRv
bVN0cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSBwb2xpY3ksIGNvbnN0IEF0b21TdHJp
bmcmIGNyb3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3Ry
aW5nJiBpbml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKQogewogICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IExvYWRhYmxlTW9kdWxlU2NyaXB0KG5vbmNlLCBpbnRlZ3Jp
dHksIHBvbGljeSwgY3Jvc3NPcmlnaW5Nb2RlLCBjaGFyc2V0LCBpbml0aWF0b3JOYW1lLCBpc0lu
VXNlckFnZW50U2hhZG93VHJlZSkpOwogfQogCi1Mb2FkYWJsZU1vZHVsZVNjcmlwdDo6TG9hZGFi
bGVNb2R1bGVTY3JpcHQoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3QgU3RyaW5nJiBpbnRlZ3Jp
dHksIFJlZmVycmVyUG9saWN5IHBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUs
IGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwg
Ym9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSkKK0xvYWRhYmxlTW9kdWxlU2NyaXB0OjpMb2Fk
YWJsZU1vZHVsZVNjcmlwdChjb25zdCBBdG9tU3RyaW5nJiBub25jZSwgY29uc3QgQXRvbVN0cmlu
ZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSBwb2xpY3ksIGNvbnN0IEF0b21TdHJpbmcmIGNy
b3NzT3JpZ2luTW9kZSwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBp
bml0aWF0b3JOYW1lLCBib29sIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKQogICAgIDogTG9hZGFi
bGVTY3JpcHQobm9uY2UsIHBvbGljeSwgY3Jvc3NPcmlnaW5Nb2RlLCBjaGFyc2V0LCBpbml0aWF0
b3JOYW1lLCBpc0luVXNlckFnZW50U2hhZG93VHJlZSkKICAgICAsIG1fcGFyYW1ldGVycyhNb2R1
bGVGZXRjaFBhcmFtZXRlcnM6OmNyZWF0ZShpbnRlZ3JpdHksIC8qIGlzVG9wTGV2ZWxNb2R1bGUg
Ki8gdHJ1ZSkpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVNb2R1
bGVTY3JpcHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCmlu
ZGV4IDg2NzgzNzIwYjM5N2M5ODkyMmY1NjYxNjg5OTU0NzhlMDgwZjljNDQuLjAwNjhlMmQwY2Y1
M2FhN2NlZWZhMDFlMmUxZDIyNjc3Y2Y2OTc5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Mb2FkYWJsZU1vZHVsZVNjcmlwdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Mb2Fk
YWJsZU1vZHVsZVNjcmlwdC5oCkBAIC0zNyw3ICszNyw3IEBAIGNsYXNzIExvYWRhYmxlTW9kdWxl
U2NyaXB0IGZpbmFsIDogcHVibGljIExvYWRhYmxlU2NyaXB0IHsKIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5Mb2FkYWJsZU1vZHVsZVNjcmlwdCgpOwogCi0gICAgc3RhdGljIFJlZjxMb2FkYWJsZU1v
ZHVsZVNjcmlwdD4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgaW50
ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNv
bnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9v
bCBpc0luVXNlckFnZW50U2hhZG93VHJlZSk7CisgICAgc3RhdGljIFJlZjxMb2FkYWJsZU1vZHVs
ZVNjcmlwdD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIG5vbmNlLCBjb25zdCBBdG9tU3RyaW5n
JiBpbnRlZ3JpdHksIFJlZmVycmVyUG9saWN5LCBjb25zdCBBdG9tU3RyaW5nJiBjcm9zc09yaWdp
bk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9y
TmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSk7CiAKICAgICBib29sIGlzTG9hZGVk
KCkgY29uc3QgZmluYWw7CiAgICAgc3RkOjpvcHRpb25hbDxFcnJvcj4gZXJyb3IoKSBjb25zdCBm
aW5hbDsKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIE1vZHVsZUZldGNoUGFyYW1ldGVy
cyYgcGFyYW1ldGVycygpIHsgcmV0dXJuIG1fcGFyYW1ldGVycy5nZXQoKTsgfQogCiBwcml2YXRl
OgotICAgIExvYWRhYmxlTW9kdWxlU2NyaXB0KGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0
cmluZyYgaW50ZWdyaXR5LCBSZWZlcnJlclBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdp
bk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9y
TmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSk7CisgICAgTG9hZGFibGVNb2R1bGVT
Y3JpcHQoY29uc3QgQXRvbVN0cmluZyYgbm9uY2UsIGNvbnN0IEF0b21TdHJpbmcmIGludGVncml0
eSwgUmVmZXJyZXJQb2xpY3ksIGNvbnN0IEF0b21TdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0LCBjb25zdCBBdG9tU3RyaW5nJiBpbml0aWF0b3JOYW1lLCBib29s
IGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKTsKIAogICAgIFJlZjxNb2R1bGVGZXRjaFBhcmFtZXRl
cnM+IG1fcGFyYW1ldGVyczsKICAgICBSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+IG1fbW9kdWxl
S2V5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0xvYWRhYmxlU2NyaXB0LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVTY3JpcHQuaAppbmRleCBlYjNmMmYxYmM1ODAwMjBm
MWVmZjQzNWY1MTE0YjdlZjk0ZDg2ZTRjLi42OWQzMzkwYjgxMzIwYmE0YWFmMjNlZGE4YmY2Zjgw
ZDg4M2FhODI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVTY3JpcHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTG9hZGFibGVTY3JpcHQuaApAQCAtNzAsNyArNzAs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVDbGllbnQoTG9hZGFibGVTY3JpcHRDbGllbnQm
KTsKIAogcHJvdGVjdGVkOgotICAgIExvYWRhYmxlU2NyaXB0KGNvbnN0IFN0cmluZyYgbm9uY2Us
IFJlZmVycmVyUG9saWN5IHBvbGljeSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbk1vZGUsIGNv
bnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgYm9v
bCBpc0luVXNlckFnZW50U2hhZG93VHJlZSkKKyAgICBMb2FkYWJsZVNjcmlwdChjb25zdCBBdG9t
U3RyaW5nJiBub25jZSwgUmVmZXJyZXJQb2xpY3kgcG9saWN5LCBjb25zdCBBdG9tU3RyaW5nJiBj
cm9zc09yaWdpbk1vZGUsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgY29uc3QgQXRvbVN0cmluZyYg
aW5pdGlhdG9yTmFtZSwgYm9vbCBpc0luVXNlckFnZW50U2hhZG93VHJlZSkKICAgICAgICAgOiBT
Y3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlcihub25jZSwgcG9saWN5LCBjcm9zc09yaWdp
bk1vZGUsIGNoYXJzZXQsIGluaXRpYXRvck5hbWUsIGlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKQog
ICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5kZXggMTAwYTJi
ZTViZWQyNWU1YzA5NDZhYWVmNTNkMjc1OWU2OTZkNjUxOS4uMzNiNjJjM2E5YzJlZjc3M2M2MjAw
YjA2ZjNhMWY4MTI5ZWZiNmIxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcApA
QCAtODEsOCArODEsMTEgQEAgU2NyaXB0RWxlbWVudDo6U2NyaXB0RWxlbWVudChFbGVtZW50JiBl
bGVtZW50LCBib29sIHBhcnNlckluc2VydGVkLCBib29sIGFscmVhZHkKICAgICAsIG1fY3JlYXRp
b25UaW1lKE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgICwgbV91c2VyR2VzdHVyZVRva2VuKFVz
ZXJHZXN0dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKSkKIHsKLSAgICBpZiAocGFy
c2VySW5zZXJ0ZWQgJiYgbV9lbGVtZW50LmRvY3VtZW50KCkuc2NyaXB0YWJsZURvY3VtZW50UGFy
c2VyKCkgJiYgIW1fZWxlbWVudC5kb2N1bWVudCgpLmlzSW5Eb2N1bWVudFdyaXRlKCkpCi0gICAg
ICAgIG1fc3RhcnRMaW5lTnVtYmVyID0gbV9lbGVtZW50LmRvY3VtZW50KCkuc2NyaXB0YWJsZURv
Y3VtZW50UGFyc2VyKCktPnRleHRQb3NpdGlvbigpLm1fbGluZTsKKyAgICBpZiAocGFyc2VySW5z
ZXJ0ZWQpIHsKKyAgICAgICAgUmVmIGRvY3VtZW50ID0gbV9lbGVtZW50LmRvY3VtZW50KCk7Cisg
ICAgICAgIGlmIChSZWZQdHIgcGFyc2VyID0gZG9jdW1lbnQtPnNjcmlwdGFibGVEb2N1bWVudFBh
cnNlcigpOyBwYXJzZXIgJiYgIWRvY3VtZW50LT5pc0luRG9jdW1lbnRXcml0ZSgpKQorICAgICAg
ICAgICAgbV9zdGFydExpbmVOdW1iZXIgPSBwYXJzZXItPnRleHRQb3NpdGlvbigpLm1fbGluZTsK
KyAgICB9CiB9CiAKIHZvaWQgU2NyaXB0RWxlbWVudDo6ZGlkRmluaXNoSW5zZXJ0aW5nTm9kZSgp
CkBAIC0yODgsMTUgKzI5MSw4IEBAIGJvb2wgU2NyaXB0RWxlbWVudDo6cmVxdWVzdENsYXNzaWNT
Y3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiAgICAgQVNTRVJUKG1fZWxlbWVudC5pc0Nv
bm5lY3RlZCgpKTsKICAgICBBU1NFUlQoIW1fbG9hZGFibGVTY3JpcHQpOwogICAgIGlmICghc3Ry
aXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKHNvdXJjZVVSTCkuaXNFbXB0eSgpKSB7Ci0g
ICAgICAgIGF1dG8gc2NyaXB0ID0gTG9hZGFibGVDbGFzc2ljU2NyaXB0OjpjcmVhdGUoCi0gICAg
ICAgICAgICBtX2VsZW1lbnQubm9uY2UoKSwKLSAgICAgICAgICAgIG1fZWxlbWVudC5hdHRyaWJ1
dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6aW50ZWdyaXR5QXR0cikuc3RyaW5n
KCksCi0gICAgICAgICAgICByZWZlcnJlclBvbGljeSgpLAotICAgICAgICAgICAgbV9lbGVtZW50
LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpjcm9zc29yaWdpbkF0
dHIpLAotICAgICAgICAgICAgc2NyaXB0Q2hhcnNldCgpLAotICAgICAgICAgICAgbV9lbGVtZW50
LmxvY2FsTmFtZSgpLAotICAgICAgICAgICAgbV9lbGVtZW50LmlzSW5Vc2VyQWdlbnRTaGFkb3dU
cmVlKCksCi0gICAgICAgICAgICBoYXNBc3luY0F0dHJpYnV0ZSgpKTsKKyAgICAgICAgYXV0byBz
Y3JpcHQgPSBMb2FkYWJsZUNsYXNzaWNTY3JpcHQ6OmNyZWF0ZShtX2VsZW1lbnQubm9uY2UoKSwg
bV9lbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjppbnRl
Z3JpdHlBdHRyKSwgcmVmZXJyZXJQb2xpY3koKSwKKyAgICAgICAgICAgIG1fZWxlbWVudC5hdHRy
aWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6Y3Jvc3NvcmlnaW5BdHRyKSwg
c2NyaXB0Q2hhcnNldCgpLCBtX2VsZW1lbnQubG9jYWxOYW1lKCksIG1fZWxlbWVudC5pc0luVXNl
ckFnZW50U2hhZG93VHJlZSgpLCBoYXNBc3luY0F0dHJpYnV0ZSgpKTsKIAogICAgICAgICBhdXRv
IHNjcmlwdFVSTCA9IG1fZWxlbWVudC5kb2N1bWVudCgpLmNvbXBsZXRlVVJMKHNvdXJjZVVSTCk7
CiAgICAgICAgIG1fZWxlbWVudC5kb2N1bWVudCgpLndpbGxMb2FkU2NyaXB0RWxlbWVudChzY3Jp
cHRVUkwpOwpAQCAtMzQ1LDE0ICszNDEsOCBAQCBib29sIFNjcmlwdEVsZW1lbnQ6OnJlcXVlc3RN
b2R1bGVTY3JpcHQoY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uKQogICAg
ICAgICB9CiAKICAgICAgICAgbV9pc0V4dGVybmFsU2NyaXB0ID0gdHJ1ZTsKLSAgICAgICAgYXV0
byBzY3JpcHQgPSBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6Y3JlYXRlKAotICAgICAgICAgICAgbm9u
Y2UsCi0gICAgICAgICAgICBtX2VsZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlv
bihIVE1MTmFtZXM6OmludGVncml0eUF0dHIpLnN0cmluZygpLAotICAgICAgICAgICAgcmVmZXJy
ZXJQb2xpY3koKSwKLSAgICAgICAgICAgIGNyb3NzT3JpZ2luTW9kZSwKLSAgICAgICAgICAgIHNj
cmlwdENoYXJzZXQoKSwKLSAgICAgICAgICAgIG1fZWxlbWVudC5sb2NhbE5hbWUoKSwKLSAgICAg
ICAgICAgIG1fZWxlbWVudC5pc0luVXNlckFnZW50U2hhZG93VHJlZSgpKTsKKyAgICAgICAgYXV0
byBzY3JpcHQgPSBMb2FkYWJsZU1vZHVsZVNjcmlwdDo6Y3JlYXRlKG5vbmNlLCBtX2VsZW1lbnQu
YXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OmludGVncml0eUF0dHIp
LCByZWZlcnJlclBvbGljeSgpLCBjcm9zc09yaWdpbk1vZGUsCisgICAgICAgICAgICBzY3JpcHRD
aGFyc2V0KCksIG1fZWxlbWVudC5sb2NhbE5hbWUoKSwgbV9lbGVtZW50LmlzSW5Vc2VyQWdlbnRT
aGFkb3dUcmVlKCkpOwogICAgICAgICBtX2xvYWRhYmxlU2NyaXB0ID0gV1RGTW92ZShzY3JpcHQp
OwogICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5mcmFtZSgp
KSB7CiAgICAgICAgICAgICBhdXRvJiBzY3JpcHQgPSBkb3duY2FzdDxMb2FkYWJsZU1vZHVsZVNj
cmlwdD4oKm1fbG9hZGFibGVTY3JpcHQuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIuaAppbmRleCAyMTVmMWQ5ZmYx
MDIxZDg5N2UxMmNhMTU1OGMwMTc1MzUxODVlY2I0Li40OWQwOWUxYTliNGNhYmZmOWU0YzE0OTM0
MTUxZmE2MmRmYzEwNGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxl
bWVudENhY2hlZFNjcmlwdEZldGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIuaApAQCAtNDEsMTQgKzQxLDE0IEBAIHB1YmxpYzoK
ICAgICBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY3Jv
c3NPcmlnaW5Nb2RlOyB9CiAKIHByb3RlY3RlZDoKLSAgICBTY3JpcHRFbGVtZW50Q2FjaGVkU2Ny
aXB0RmV0Y2hlcihjb25zdCBTdHJpbmcmIG5vbmNlLCBSZWZlcnJlclBvbGljeSBwb2xpY3ksIGNv
bnN0IFN0cmluZyYgY3Jvc3NPcmlnaW5Nb2RlLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0
IEF0b21TdHJpbmcmIGluaXRpYXRvck5hbWUsIGJvb2wgaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUp
CisgICAgU2NyaXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIoY29uc3QgQXRvbVN0cmluZyYg
bm9uY2UsIFJlZmVycmVyUG9saWN5IHBvbGljeSwgY29uc3QgQXRvbVN0cmluZyYgY3Jvc3NPcmln
aW5Nb2RlLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRv
ck5hbWUsIGJvb2wgaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUpCiAgICAgICAgIDogQ2FjaGVkU2Ny
aXB0RmV0Y2hlcihub25jZSwgcG9saWN5LCBjaGFyc2V0LCBpbml0aWF0b3JOYW1lLCBpc0luVXNl
ckFnZW50U2hhZG93VHJlZSkKICAgICAgICAgLCBtX2Nyb3NzT3JpZ2luTW9kZShjcm9zc09yaWdp
bk1vZGUpCiAgICAgewogICAgIH0KIAogcHJpdmF0ZToKLSAgICBTdHJpbmcgbV9jcm9zc09yaWdp
bk1vZGU7CisgICAgY29uc3QgQXRvbVN0cmluZyBtX2Nyb3NzT3JpZ2luTW9kZTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>