<?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>184716</bug_id>
          
          <creation_ts>2018-04-17 16:56:48 -0700</creation_ts>
          <short_desc>Set RemoteDOMWindow&apos;s initial opener</short_desc>
          <delta_ts>2018-04-18 15:28:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</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>
          <dependson>184515</dependson>
          <blocked>184466</blocked>
    
    <blocked>184756</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1415345</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-04-17 16:56:48 -0700</bug_when>
    <thetext>Set RemoteDOMWindow&apos;s initial opener.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415346</commentid>
    <comment_count>1</comment_count>
      <attachid>338160</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-04-17 16:57:33 -0700</bug_when>
    <thetext>Created attachment 338160
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415437</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2018-04-17 19:34:14 -0700</bug_when>
    <thetext>As I mentioned to Chris elsewhere, I think I might consider having RemoteDOMWindow::opener() return a WindowProxyController (and perhaps rename it to WindowProxy or DOMWindowProxy) since a WindowProxyController is just the window proxy part of an AbstractFrame.  I would further change everything (in the IDLs) that returns a DOMWindow to return a WindowProxy instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415444</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-04-17 19:56:28 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #2)
&gt; As I mentioned to Chris elsewhere, I think I might consider having
&gt; RemoteDOMWindow::opener() return a WindowProxyController (and perhaps rename
&gt; it to WindowProxy or DOMWindowProxy) since a WindowProxyController is just
&gt; the window proxy part of an AbstractFrame.  I would further change
&gt; everything (in the IDLs) that returns a DOMWindow to return a WindowProxy
&gt; instead.

I think I could return a WindowProxyController instead of an AbstractFrame in this patch, I like the idea and this is a small change.

Updating all the IDLs to use WindowProxy is definitely the way to go, I agree but I think this is out of scope of this patch. I can take care of it in a follow-up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415624</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-04-18 11:52:42 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #2)
&gt; As I mentioned to Chris elsewhere, I think I might consider having
&gt; RemoteDOMWindow::opener() return a WindowProxyController (and perhaps rename
&gt; it to WindowProxy or DOMWindowProxy) since a WindowProxyController is just
&gt; the window proxy part of an AbstractFrame.  I would further change
&gt; everything (in the IDLs) that returns a DOMWindow to return a WindowProxy
&gt; instead.

Note that forcing the implementation to return a WindowProxyController means we have to null check the frame. Previously, we&apos;d just return a potentially null frame and toJS() would take care of the null check for us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415672</commentid>
    <comment_count>5</comment_count>
      <attachid>338251</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-04-18 13:17:24 -0700</bug_when>
    <thetext>Created attachment 338251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415686</commentid>
    <comment_count>6</comment_count>
      <attachid>338251</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2018-04-18 13:31:05 -0700</bug_when>
    <thetext>Comment on attachment 338251
Patch

Very nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415752</commentid>
    <comment_count>7</comment_count>
      <attachid>338251</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-18 15:27:25 -0700</bug_when>
    <thetext>Comment on attachment 338251
Patch

Clearing flags on attachment: 338251

Committed r230789: &lt;https://trac.webkit.org/changeset/230789&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415753</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-18 15:27:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415754</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-18 15:28:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/39543247&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338160</attachid>
            <date>2018-04-17 16:57:33 -0700</date>
            <delta_ts>2018-04-18 13:17:23 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>184716_basic_opener_support_wip.patch</filename>
            <type>text/plain</type>
            <size>12656</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wcm9jZXNzLXN3
YXAtd2luZG93LW9wZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZp
Z2F0aW9uL3Byb2Nlc3Mtc3dhcC13aW5kb3ctb3Blbi1leHBlY3RlZC50eHQKaW5kZXggMTEyNjIz
ZTNmYzkuLmQ4YmY1ZDA3OGEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25h
dmlnYXRpb24vcHJvY2Vzcy1zd2FwLXdpbmRvdy1vcGVuLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcHJvY2Vzcy1zd2FwLXdpbmRvdy1vcGVuLWV4
cGVjdGVkLnR4dApAQCAtMjMsNyArMjMsNyBAQCBQQVNTIHcucGFyZW50IGlzIHcKIFBBU1Mgdy5m
cmFtZXMgaXMgdwogUEFTUyB3LmNsb3NlZCBpcyBmYWxzZQogUEFTUyB3Lmxlbmd0aCBpcyAwCi1G
QUlMIHcub3BlbmVyIHNob3VsZCBiZSBbb2JqZWN0IFdpbmRvd10uIFdhcyBudWxsLgorUEFTUyB3
Lm9wZW5lciBpcyB3aW5kb3cKIFBBU1Mgdy5jbG9zZSBpcyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlv
bgogUEFTUyB3LmZvY3VzIGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIHcuYmx1ciBp
cyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDMxZmJiZmYxMDMzLi5lOTdmZjAzYTMxNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMjM0Niw2ICsyMzQ2LDcgQEAKIAkJODNCMkQxNzUxQjhCQ0Q2QTAwQTAyRTQ3IC8qIE5h
dGl2ZU5vZGVGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDgzRTk1OUUxMUI4QkMyMkIwMDREOTM4NSAvKiBOYXRpdmVOb2RlRmlsdGVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODNCNzRFRjYx
RjNFMEJGMjAwOTk2QkM3IC8qIEtlZXBhbGl2ZVJlcXVlc3RUcmFja2VyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4M0I3NEVGMzFGM0UwQkQ3MDA5OTZC
QzcgLyogS2VlcGFsaXZlUmVxdWVzdFRyYWNrZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4M0I5Njg3QjE5RjhBQjgzMDA0RUY3QUYgLyogU3R5
bGVCdWlsZGVyQ29udmVydGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4M0I5Njg3OTE5RjhBQjgzMDA0RUY3QUYgLyogU3R5bGVCdWlsZGVyQ29udmVy
dGVyLmggKi87IH07CisJCTgzQjlFNzBCMjA4NkJBNDMwMEU1RDc1NiAvKiBKU0RPTUNvbnZlcnRX
aW5kb3dQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODNCOUU3MDkyMDg2QkEyNzAwRTVENzU2IC8qIEpTRE9NQ29udmVydFdpbmRvd1Byb3h5Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODNCQjVD
ODgxRDVENkY0NTAwNUE3MUY0IC8qIEFsbERlc2NlbmRhbnRzQ29sbGVjdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNCQjVDODcxRDVENkYzQTAw
NUE3MUY0IC8qIEFsbERlc2NlbmRhbnRzQ29sbGVjdGlvbi5oICovOyB9OwogCQk4M0MwNUE1QjFB
Njg2MjEyMDA3RTVERUEgLyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZEZ1bmN0aW9ucy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNDMDVBNTkxQTY4NjIx
MjAwN0U1REVBIC8qIFN0eWxlUHJvcGVydHlTaG9ydGhhbmRGdW5jdGlvbnMuaCAqLzsgfTsKIAkJ
ODNDMUQ0MjUxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdBcmNBYnMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzQzFENDEzMTc4RDVBQjQwMDE0
MUU2OCAvKiBTVkdQYXRoU2VnQXJjQWJzLmggKi87IH07CkBAIC05ODIwLDYgKzk4MjEsNyBAQAog
CQk4M0I3NEVGMjFGM0UwQkQ3MDA5OTZCQzcgLyogS2VlcGFsaXZlUmVxdWVzdFRyYWNrZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gS2VlcGFsaXZlUmVxdWVzdFRy
YWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0I3NEVGMzFGM0UwQkQ3
MDA5OTZCQzcgLyogS2VlcGFsaXZlUmVxdWVzdFRyYWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gS2VlcGFsaXZlUmVxdWVzdFRyYWNrZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODNCOTY4NzkxOUY4QUI4MzAwNEVGN0FGIC8qIFN0eWxlQnVpbGRlckNv
bnZlcnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZUJ1aWxkZXJD
b252ZXJ0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODNCOUU3MDkyMDg2QkEy
NzAwRTVENzU2IC8qIEpTRE9NQ29udmVydFdpbmRvd1Byb3h5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTRE9NQ29udmVydFdpbmRvd1Byb3h5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTgzQkI1Qzg3MUQ1RDZGM0EwMDVBNzFGNCAvKiBBbGxEZXNjZW5kYW50
c0NvbGxlY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWxsRGVzY2Vu
ZGFudHNDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzQzA1QTU4
MUE2ODYyMTIwMDdFNURFQSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kRnVuY3Rpb25zLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmRGdW5jdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0MwNUE1OTFB
Njg2MjEyMDA3RTVERUEgLyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZEZ1bmN0aW9ucy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZVByb3BlcnR5U2hvcnRoYW5kRnVuY3Rp
b25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTY5NSw2ICsxOTY5Nyw3IEBA
CiAJCQkJN0M4RTM0QUExRTRBMzM4RTAwNTRDRTIzIC8qIEpTRE9NQ29udmVydFZhcmlhZGljLmgg
Ki8sCiAJCQkJN0NCQTVCQTYxRjBCNEJERTAwMzRENzQ1IC8qIEpTRE9NQ29udmVydFdlYkdMLmNw
cCAqLywKIAkJCQk3QzhFMzRBQjFFNEEzMzhFMDA1NENFMjMgLyogSlNET01Db252ZXJ0V2ViR0wu
aCAqLywKKwkJCQk4M0I5RTcwOTIwODZCQTI3MDBFNUQ3NTYgLyogSlNET01Db252ZXJ0V2luZG93
UHJveHkuaCAqLywKIAkJCQk3QzhFMzRBQzFFNEEzMzhFMDA1NENFMjMgLyogSlNET01Db252ZXJ0
WFBhdGhOU1Jlc29sdmVyLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IENvbnZlcnNpb25zOwpAQCAt
MjgzMDMsNiArMjgzMDYsNyBAQAogCQkJCTY1RTBFOTQ0MTEzM0M4OUYwMEI0Q0IxMCAvKiBKU0RP
TVdyYXBwZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNDVDOUQzMUUzRkNCRDcwMEFBQjU1OCAv
KiBKU0RPTVdyYXBwZXJDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNBODA2MUUxRTAzQjU4
NTAwOEExRjI2IC8qIEpTRG91YmxlUmFuZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTgzQjlFNzBC
MjA4NkJBNDMwMEU1RDc1NiAvKiBKU0RPTUNvbnZlcnRXaW5kb3dQcm94eS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkQ3ODY4QkExMzZCOTk5MjAwRDQwM0RGIC8qIEpTRHluYW1pY3NDb21wcmVzc29y
Tm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc2ODE0NDExRTcwOUZBNDAwRTc3NzU0IC8qIEpT
RWNkaEtleURlcml2ZVBhcmFtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdFRUFBNTUxRUEwMDFC
MTAwNzAxMTI0IC8qIEpTRWNkc2FQYXJhbXMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvSURMVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL0lETFR5cGVzLmgKaW5kZXggMzA0MTZiMWYxY2QuLjIzYTNlMzg4NDJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL0lETFR5cGVzLmgKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgSURCS2V5OwogY2xhc3MgSURCS2V5RGF0YTsKIGNsYXNzIElEQlZhbHVlOworY2xh
c3MgSlNET01XaW5kb3dQcm94eTsKIGNsYXNzIERPTVByb21pc2U7CiBjbGFzcyBTY2hlZHVsZWRB
Y3Rpb247CiAKQEAgLTI3Myw2ICsyNzQsNyBAQCBzdHJ1Y3QgSURMU2NoZWR1bGVkQWN0aW9uIDog
SURMVHlwZTxzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPj4geyB9OwogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IElETFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSA6IElETFdyYXBwZXI8
VD4geyB9OwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElETEV2ZW50TGlzdGVuZXIgOiBJ
RExXcmFwcGVyPFQ+IHsgfTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBJRExYUGF0aE5T
UmVzb2x2ZXIgOiBJRExXcmFwcGVyPFQ+IHsgfTsKK3N0cnVjdCBJRExXaW5kb3dQcm94eSA6IElE
TFdyYXBwZXI8SlNET01XaW5kb3dQcm94eT4geyB9OwogCiBzdHJ1Y3QgSURMSURCS2V5IDogSURM
V3JhcHBlcjxJREJLZXk+IHsgfTsKIHN0cnVjdCBJRExJREJLZXlEYXRhIDogSURMV3JhcHBlcjxJ
REJLZXlEYXRhPiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUNvbnZlcnRXaW5kb3dQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Db252ZXJ0V2luZG93UHJveHkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uNjYxNDhjYmNlNTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUNvbnZlcnRXaW5kb3dQcm94eS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIklETFR5cGVzLmgiCisjaW5jbHVkZSAi
SlNET01Db252ZXJ0QmFzZS5oIgorI2luY2x1ZGUgIkpTRE9NV2luZG93UHJveHkuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBKU0NvbnZlcnRlcjxJRExXaW5k
b3dQcm94eT4geworICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBuZWVkc1N0YXRlID0gdHJ1ZTsK
KyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgbmVlZHNHbG9iYWxPYmplY3QgPSBmYWxzZTsKKwor
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPgorICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgY29udmVy
dChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIFUmJiB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVy
biB0b0pTKCZzdGF0ZSwgc3RkOjpmb3J3YXJkPFU+KHZhbHVlKSk7CisgICAgfQorfTsKKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCmlu
ZGV4IDQ3YWYyMmQxNzI3Li45NTI0MjlhMGU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQpAQCAtODkxLDYgKzg5MSw3IEBAIHN1YiBJ
c0J1aWx0aW5UeXBlCiAgICAgcmV0dXJuIDEgaWYgJHR5cGUtPm5hbWUgZXEgIlhQYXRoTlNSZXNv
bHZlciI7CiAgICAgcmV0dXJuIDEgaWYgJHR5cGUtPm5hbWUgZXEgImFueSI7CiAgICAgcmV0dXJu
IDEgaWYgJHR5cGUtPm5hbWUgZXEgIm9iamVjdCI7CisgICAgcmV0dXJuIDEgaWYgJHR5cGUtPm5h
bWUgZXEgIldpbmRvd1Byb3h5IjsKIAogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA5ZTFjMGM5
ZjdhOS4uMTg1OTA1NzU5OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC00MjAsNiArNDIwLDEyIEBAIHN1YiBBZGRUb0lu
Y2x1ZGVzRm9ySURMVHlwZQogICAgICAgICBBZGRUb0luY2x1ZGVzKCJKU0RPTUNvbnZlcnRTZXJp
YWxpemVkU2NyaXB0VmFsdWUuaCIsICRpbmNsdWRlc1JlZiwgJGNvbmRpdGlvbmFsKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KKyAgICAKKyAgICBpZiAoJHR5cGUtPm5hbWUgZXEgIldpbmRvd1By
b3h5IikgeworICAgICAgICBBZGRUb0luY2x1ZGVzKCJKU0RPTVdpbmRvd1Byb3h5LmgiLCAkaW5j
bHVkZXNSZWYsICRjb25kaXRpb25hbCk7CisgICAgICAgIEFkZFRvSW5jbHVkZXMoIkpTRE9NQ29u
dmVydFdpbmRvd1Byb3h5LmgiLCAkaW5jbHVkZXNSZWYsICRjb25kaXRpb25hbCk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CiAKICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzU3RyaW5nVHlwZSgk
dHlwZSkpIHsKICAgICAgICAgQWRkVG9JbmNsdWRlcygiSlNET01Db252ZXJ0U3RyaW5ncy5oIiwg
JGluY2x1ZGVzUmVmLCAkY29uZGl0aW9uYWwpOwpAQCAtNjM4NCw2ICs2MzkwLDcgQEAgc3ViIEdl
dEJhc2VJRExUeXBlCiAgICAgICAgICJKU09OIiA9PiAiSURMSlNPTiIsCiAgICAgICAgICJTY2hl
ZHVsZWRBY3Rpb24iID0+ICJJRExTY2hlZHVsZWRBY3Rpb24iLAogICAgICAgICAiU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlIiA9PiAiSURMU2VyaWFsaXplZFNjcmlwdFZhbHVlPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4iLAorICAgICAgICAiV2luZG93UHJveHkiID0+ICJJRExXaW5kb3dQcm94eSIsCiAg
ICAgICAgICJYUGF0aE5TUmVzb2x2ZXIiID0+ICJJRExYUGF0aE5TUmVzb2x2ZXI8WFBhdGhOU1Jl
c29sdmVyPiIsCiAgICAgKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZW1v
dGVET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZW1vdGVET01XaW5kb3cuY3Bw
CmluZGV4IGY3Y2UxMGVhNDY2Li4xYmEwNzY4ZTA4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9SZW1vdGVET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVt
b3RlRE9NV2luZG93LmNwcApAQCAtOTQsMTAgKzk0LDEyIEBAIFJlbW90ZURPTVdpbmRvdyogUmVt
b3RlRE9NV2luZG93Ojp0b3AoKSBjb25zdAogICAgIHJldHVybiBjb25zdF9jYXN0PFJlbW90ZURP
TVdpbmRvdyo+KHRoaXMpOwogfQogCi1ET01XaW5kb3cqIFJlbW90ZURPTVdpbmRvdzo6b3BlbmVy
KCkgY29uc3QKK0Fic3RyYWN0RnJhbWUqIFJlbW90ZURPTVdpbmRvdzo6b3BlbmVyKCkgY29uc3QK
IHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50ZWQgdGhpcy4KLSAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJu
IG1fZnJhbWUtPm9wZW5lcigpOwogfQogCiBSZW1vdGVET01XaW5kb3cqIFJlbW90ZURPTVdpbmRv
dzo6cGFyZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVtb3Rl
RE9NV2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbW90ZURPTVdpbmRvdy5oCmluZGV4
IDEwODlhOThkNzc2Li5jODAzOGVlMjIwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9SZW1vdGVET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbW90ZURPTVdp
bmRvdy5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGJsdXIoKTsKICAgICB1
bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsKICAgICBSZW1vdGVET01XaW5kb3cqIHRvcCgpIGNvbnN0
OwotICAgIERPTVdpbmRvdyogb3BlbmVyKCkgY29uc3Q7CisgICAgQWJzdHJhY3RGcmFtZSogb3Bl
bmVyKCkgY29uc3Q7CiAgICAgUmVtb3RlRE9NV2luZG93KiBwYXJlbnQoKSBjb25zdDsKICAgICBF
eGNlcHRpb25Pcjx2b2lkPiBwb3N0TWVzc2FnZShKU0M6OkV4ZWNTdGF0ZSYsIERPTVdpbmRvdyYg
aW5jdW1iZW50V2luZG93LCBKU0M6OkpTVmFsdWUgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiB0YXJn
ZXRPcmlnaW4sIFZlY3RvcjxKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0Pj4mJik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVtb3RlRE9NV2luZG93LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUmVtb3RlRE9NV2luZG93LmlkbAppbmRleCAyMjQyNjg5MmEyNC4uZGE5OGVl
NTA5NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVtb3RlRE9NV2luZG93Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbW90ZURPTVdpbmRvdy5pZGwKQEAgLTUzLDcg
KzUzLDcgQEAKICAgICBbUmVwbGFjZWFibGUsIEltcGxlbWVudGVkQXM9c2VsZl0gcmVhZG9ubHkg
YXR0cmlidXRlIFJlbW90ZURPTVdpbmRvdyBmcmFtZXM7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgW1VuZm9yZ2VhYmxlXSBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NV2luZG93PyB0b3A7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVdpbmRvdz8gb3BlbmVyOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8g
b3BlbmVyOwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVdpbmRvdz8g
cGFyZW50OwogICAgIFtDYWxsV2l0aD1TY3JpcHRTdGF0ZSZJbmN1bWJlbnRXaW5kb3csIEZvcndh
cmREZWNsYXJlSW5IZWFkZXIsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIHBvc3RNZXNzYWdlKGFu
eSBtZXNzYWdlLCBVU1ZTdHJpbmcgdGFyZ2V0T3JpZ2luLCBvcHRpb25hbCBzZXF1ZW5jZTxvYmpl
Y3Q+IHRyYW5zZmVyID0gW10pOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UmVtb3RlRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVtb3RlRnJhbWUuaAppbmRleCAz
NmZjM2ZiMTk3MS4uNTA3NTJmZmY2MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UmVtb3RlRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbW90ZUZyYW1lLmgKQEAg
LTQ3LDYgKzQ3LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2luZG93KFJlbW90ZURPTVdpbmRv
dyogd2luZG93KSB7IG1fd2luZG93ID0gd2luZG93OyB9CiAgICAgUmVtb3RlRE9NV2luZG93KiB3
aW5kb3coKSBjb25zdCB7IHJldHVybiBtX3dpbmRvdzsgfQogCisgICAgdm9pZCBzZXRPcGVuZXIo
QWJzdHJhY3RGcmFtZSogb3BlbmVyKSB7IG1fb3BlbmVyID0gb3BlbmVyOyB9CisgICAgQWJzdHJh
Y3RGcmFtZSogb3BlbmVyKCkgY29uc3QgeyByZXR1cm4gbV9vcGVuZXIuZ2V0KCk7IH0KKwogcHJp
dmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBSZW1vdGVGcmFtZShHbG9iYWxGcmFt
ZUlkZW50aWZpZXImJik7CiAKQEAgLTU3LDYgKzYwLDggQEAgcHJpdmF0ZToKIAogICAgIEdsb2Jh
bEZyYW1lSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAgICAgUmVtb3RlRE9NV2luZG93KiBtX3dp
bmRvdyB7IG51bGxwdHIgfTsKKworICAgIFJlZlB0cjxBYnN0cmFjdEZyYW1lPiBtX29wZW5lcjsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMjBkY2MxYzU0MGEuLjllOTFjM2I4ZTUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTg4Niw2
ICs1ODg2LDggQEAgdm9pZCBXZWJQYWdlOjpmcmFtZUJlY2FtZVJlbW90ZSh1aW50NjRfdCBmcmFt
ZUlELCBHbG9iYWxGcmFtZUlkZW50aWZpZXImJiByZW1vdGUKICAgICBhdXRvIHJlbW90ZVdpbmRv
dyA9IFJlbW90ZURPTVdpbmRvdzo6Y3JlYXRlKHJlbW90ZUZyYW1lLmNvcHlSZWYoKSwgV1RGTW92
ZShyZW1vdGVXaW5kb3dJZGVudGlmaWVyKSk7CiAgICAgVU5VU0VEX1BBUkFNKHJlbW90ZVdpbmRv
dyk7CiAKKyAgICByZW1vdGVGcmFtZS0+c2V0T3BlbmVyKGZyYW1lLT5jb3JlRnJhbWUoKS0+bG9h
ZGVyKCkub3BlbmVyKCkpOworCiAgICAgYXV0byB3aW5kb3dQcm94aWVzID0gZnJhbWUtPmNvcmVG
cmFtZSgpLT53aW5kb3dQcm94eUNvbnRyb2xsZXIoKS5yZWxlYXNlV2luZG93UHJveGllcygpOwog
ICAgIHJlbW90ZUZyYW1lLT53aW5kb3dQcm94eUNvbnRyb2xsZXIoKS5zZXRXaW5kb3dQcm94aWVz
KFdURk1vdmUod2luZG93UHJveGllcykpOwogICAgIHJlbW90ZUZyYW1lLT53aW5kb3dQcm94eUNv
bnRyb2xsZXIoKS5zZXRET01XaW5kb3dGb3JXaW5kb3dQcm94eShyZW1vdGVXaW5kb3cucHRyKCkp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338251</attachid>
            <date>2018-04-18 13:17:24 -0700</date>
            <delta_ts>2018-04-18 15:27:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184716-20180418131724.patch</filename>
            <type>text/plain</type>
            <size>27969</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODExNWIzNWYyZGQ2MzQ2
MmY5NWJmN2I5ZjNiZWFiZTg4YWY4MTU5MC4uMTQyZWE0OTBjZTcxMjBhZjkzMjc0YTAyNmRmYzQx
ZTBiNWE0YWVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE4LTA0LTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU2V0IFJlbW90ZURPTVdpbmRv
dydzIGluaXRpYWwgb3BlbmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODQ3MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2luZG93UHJveHkgdHlwZSBpbiB0aGUgSURMLiBU
aGUgaW1wbGVtZW50YXRpb24gc2hvdWxkCisgICAgICAgIHJldHVybiBhIFdpbmRvd1Byb3h5Q29u
dHJvbGxlciBhbmQgdG9KUygpIHdpbGwgdGFrZSBjYXJlIG9mIGNvbnZlcnRpbmcKKyAgICAgICAg
dGhpcyBpbnRvIGEgSlNWYWx1ZSB2aWEgSlNET01XaW5kb3dQcm94eS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRlc3QuCisKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvSURMVHlwZXMu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRXaW5kb3dQcm94eS5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTQ29udmVydGVyPElETFdpbmRvd1Byb3h5Pjo6Y29udmVy
dCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5o
OgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01X
aW5kb3dQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlNET01XaW5kb3dQcm94eSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5k
b3dQcm94eS5oOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgIChXZWJDb3JlOjp0
b0pTRE9NV2luZG93UHJveHkpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUmVtb3RlRE9NV2lu
ZG93QmFzZS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZW1vdGVET01XaW5kb3dCYXNl
Lmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtOgorICAgICAg
ICAoSXNCdWlsdGluVHlwZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG06CisgICAgICAgIChBZGRUb0luY2x1ZGVzRm9ySURMVHlwZSk6CisgICAgICAgIChH
ZXRCYXNlSURMVHlwZSk6CisgICAgICAgICogcGFnZS9SZW1vdGVET01XaW5kb3cuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVtb3RlRE9NV2luZG93OjpzZWxmIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbW90ZURPTVdpbmRvdzo6dG9wIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bW90ZURPTVdpbmRvdzo6b3BlbmVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbW90ZURP
TVdpbmRvdzo6cGFyZW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1JlbW90ZURPTVdpbmRvdy5o
OgorICAgICAgICAqIHBhZ2UvUmVtb3RlRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL1Jl
bW90ZUZyYW1lLmg6CisKIDIwMTgtMDQtMTggIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogVXNpbmcgdGhlIHJlbG9hZCBidXR0b24gd2hpbGUg
b2ZmbGluZSBwdXNoZXMgaWRlbnRpY2FsIHBhZ2VzIG9udG8gdGhlIGJhY2svZm9yd2FyZCBsaXN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IGM5OTk4ZDRhOWY0Y2QwZWI1MDFkNmU1NzE1YWI5OTc1ZGEwODVhYWYuLjk4
ODQyNzEyOTI3ODhiZDFjYjJhNDVkNTExZTZhMjExOWRiYmI5YjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTgtMDQtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwor
ICAgICAgICBTZXQgUmVtb3RlRE9NV2luZG93J3MgaW5pdGlhbCBvcGVuZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDcxNgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYSBmcmFtZSBiZWNvbWVz
IHJlbW90ZSwgdHJhbnNmZXIgdGhlIGZyYW1lIG9wZW5lciBmcm9tIHRoZSBvbGQKKyAgICAgICAg
ZnJhbWUgdG8gdGhlIG5ldyByZW1vdGUgb25lLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpmcmFtZUJlY2FtZVJl
bW90ZSk6CisKIDIwMTgtMDQtMTggIFBhdWwgS25pZ2h0ICA8cGtuaWdodEBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIC1bX1dLSW5wdXREZWxlZ2F0ZURlbGVnYXRlIHdpbGxTdGFydElucHV0U2Vz
c2lvbjpdIGZvciBjbGllbnRzIHRoYXQgd2FudCB0byBjb25maWd1cmUgaW5wdXQgc2Vzc2lvbiBi
ZWZvcmUgYXNzaXN0aW5nIGZvcm0gbm9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUwNTU3ZWFjNDcxNTNkMGQ4ZmM3NjY5YTQ3
YzM5ZjI1OGM0ZGNjNDkuLjAxZGNkM2VlZGZhYTc1NWUwNjNjNmU3OWYzOTg1MDQ3MWNmMzNhYjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTIzNDUsNiArMjM0NSw3IEBACiAJCTgzQjJEMTc1MUI4QkNENkEwMEEwMkU0NyAvKiBO
YXRpdmVOb2RlRmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4M0U5NTlFMTFCOEJDMjJCMDA0RDkzODUgLyogTmF0aXZlTm9kZUZpbHRlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTgzQjc0RUY2
MUYzRTBCRjIwMDk5NkJDNyAvKiBLZWVwYWxpdmVSZXF1ZXN0VHJhY2tlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNCNzRFRjMxRjNFMEJENzAwOTk2
QkM3IC8qIEtlZXBhbGl2ZVJlcXVlc3RUcmFja2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODNCOTY4N0IxOUY4QUI4MzAwNEVGN0FGIC8qIFN0
eWxlQnVpbGRlckNvbnZlcnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODNCOTY4NzkxOUY4QUI4MzAwNEVGN0FGIC8qIFN0eWxlQnVpbGRlckNvbnZl
cnRlci5oICovOyB9OworCQk4M0I5RTcwQjIwODZCQTQzMDBFNUQ3NTYgLyogSlNET01Db252ZXJ0
V2luZG93UHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDgzQjlFNzA5MjA4NkJBMjcwMEU1RDc1NiAvKiBKU0RPTUNvbnZlcnRXaW5kb3dQcm94eS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTgzQkI1
Qzg4MUQ1RDZGNDUwMDVBNzFGNCAvKiBBbGxEZXNjZW5kYW50c0NvbGxlY3Rpb24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzQkI1Qzg3MUQ1RDZGM0Ew
MDVBNzFGNCAvKiBBbGxEZXNjZW5kYW50c0NvbGxlY3Rpb24uaCAqLzsgfTsKIAkJODNDMDVBNUIx
QTY4NjIxMjAwN0U1REVBIC8qIFN0eWxlUHJvcGVydHlTaG9ydGhhbmRGdW5jdGlvbnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzQzA1QTU5MUE2ODYy
MTIwMDdFNURFQSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kRnVuY3Rpb25zLmggKi87IH07CiAJ
CTgzQzFENDI1MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2VnQXJjQWJzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4M0MxRDQxMzE3OEQ1QUI0MDAx
NDFFNjggLyogU1ZHUGF0aFNlZ0FyY0Ficy5oICovOyB9OwpAQCAtOTgyMCw2ICs5ODIxLDcgQEAK
IAkJODNCNzRFRjIxRjNFMEJENzAwOTk2QkM3IC8qIEtlZXBhbGl2ZVJlcXVlc3RUcmFja2VyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEtlZXBhbGl2ZVJlcXVlc3RU
cmFja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODNCNzRFRjMxRjNFMEJE
NzAwOTk2QkM3IC8qIEtlZXBhbGl2ZVJlcXVlc3RUcmFja2VyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEtlZXBhbGl2ZVJlcXVlc3RUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTgzQjk2ODc5MTlGOEFCODMwMDRFRjdBRiAvKiBTdHlsZUJ1aWxkZXJD
b252ZXJ0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVCdWlsZGVy
Q29udmVydGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzQjlFNzA5MjA4NkJB
MjcwMEU1RDc1NiAvKiBKU0RPTUNvbnZlcnRXaW5kb3dQcm94eS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0RPTUNvbnZlcnRXaW5kb3dQcm94eS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4M0JCNUM4NzFENUQ2RjNBMDA1QTcxRjQgLyogQWxsRGVzY2VuZGFu
dHNDb2xsZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFsbERlc2Nl
bmRhbnRzQ29sbGVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0MwNUE1
ODFBNjg2MjEyMDA3RTVERUEgLyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZEZ1bmN0aW9ucy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kRnVuY3Rpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODNDMDVBNTkx
QTY4NjIxMjAwN0U1REVBIC8qIFN0eWxlUHJvcGVydHlTaG9ydGhhbmRGdW5jdGlvbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVQcm9wZXJ0eVNob3J0aGFuZEZ1bmN0
aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYxNzgsOCArMTYxODAsOCBA
QAogCQkyNkI5OTk4RDE4MDNBREZBMDBEMDExMjEgLyogY3Nzaml0ICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQlGRTI3MUY2NDIwODJEQkJFMDBBOTUyRDQg
LyogQ1NTUHRyVGFnLmggKi8sCiAJCQkJRTQ0NTEwNzcyMDJDN0UwMTAwNjU3RDMzIC8qIENvbXBp
bGVkU2VsZWN0b3IuaCAqLywKKwkJCQlGRTI3MUY2NDIwODJEQkJFMDBBOTUyRDQgLyogQ1NTUHRy
VGFnLmggKi8sCiAJCQkJMjZCOTk5OTIxODAzQjlEOTAwRDAxMTIxIC8qIEZ1bmN0aW9uQ2FsbC5o
ICovLAogCQkJCTI2Qjk5OThFMTgwM0FFNzIwMEQwMTEyMSAvKiBSZWdpc3RlckFsbG9jYXRvci5o
ICovLAogCQkJCTI2Qjk5OTk0MTgwNEQ1NDIwMEQwMTEyMSAvKiBTZWxlY3RvckNvbXBpbGVyLmNw
cCAqLywKQEAgLTE5Njk3LDYgKzE5Njk5LDcgQEAKIAkJCQk3QzhFMzRBQTFFNEEzMzhFMDA1NENF
MjMgLyogSlNET01Db252ZXJ0VmFyaWFkaWMuaCAqLywKIAkJCQk3Q0JBNUJBNjFGMEI0QkRFMDAz
NEQ3NDUgLyogSlNET01Db252ZXJ0V2ViR0wuY3BwICovLAogCQkJCTdDOEUzNEFCMUU0QTMzOEUw
MDU0Q0UyMyAvKiBKU0RPTUNvbnZlcnRXZWJHTC5oICovLAorCQkJCTgzQjlFNzA5MjA4NkJBMjcw
MEU1RDc1NiAvKiBKU0RPTUNvbnZlcnRXaW5kb3dQcm94eS5oICovLAogCQkJCTdDOEUzNEFDMUU0
QTMzOEUwMDU0Q0UyMyAvKiBKU0RPTUNvbnZlcnRYUGF0aE5TUmVzb2x2ZXIuaCAqLywKIAkJCSk7
CiAJCQluYW1lID0gQ29udmVyc2lvbnM7CkBAIC0yNzI5Miw2ICsyNzI5NSw3IEBACiAJCQkJOTQ2
RDM3NDYxRDZEMDFENDAwNzcwODRGIC8qIENTU1Byb3BlcnR5UGFyc2VyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5NDlDNzcwNTFENkUzOUVBMDBDMERFNEYgLyogQ1NTUHJvcGVydHlQYXJzZXJIZWxw
ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MkUzRDhERjEyMkVBMEQxMDAzQUU1QkMgLyogQ1NT
UHJvcGVydHlTb3VyY2VEYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQlGRTI3MUY2NzIwODJEQkU1
MDBBOTUyRDQgLyogQ1NTUHRyVGFnLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzYyNjQwQjBERTEx
MzdEMDA5RDVBMDAgLyogQ1NTUmVmbGVjdGlvbkRpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkM1QTEyRTAwREMwNDE0ODAwQzlBRkFEIC8qIENTU1JlZmxlY3RWYWx1ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkM3RDhGRjQxQkQxQTQ3OTAwRkZFNTQwIC8qIENTU1JldmVydFZhbHVlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTI3NjQ2LDcgKzI3NjUwLDYgQEAKIAkJCQk2RTBFNTY5QzE4M0JG
RkU2MDBFMEU4RDUgLyogRmxvYXRSb3VuZGVkUmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjI3
NTM1NkQwQjA1MzgxNDAwMkNFNjRGIC8qIEZsb2F0U2l6ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NThDRDM1Q0IxOEVCNEMzOTAwQjlGM0FDIC8qIEZsb2F0U2l6ZUhhc2guaCBpbiBIZWFkZXJzICov
LAotCQkJCUZFMjcxRjY3MjA4MkRCRTUwMEE5NTJENCAvKiBDU1NQdHJUYWcuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTE0OTkzQkU2MEIyRjJCMUMwMDUwNDk3RiAvKiBGb2N1c0NvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTA2MjI4Nzg0MEI0REIzMjIwMDBDMzRERiAvKiBGb2N1c0RpcmVj
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjZEOUQyMzUxNEVBQkQyNjAwOTBENzVFIC8qIEZv
Y3VzRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjgyNjAsNiArMjgyNjMsNyBAQAogCQkJCTdD
OEUzNEM0MUU0QTMzQjAwMDU0Q0UyMyAvKiBKU0RPTUNvbnZlcnRVbmlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0M4RTM0QzUxRTRBMzNCMDAwNTRDRTIzIC8qIEpTRE9NQ29udmVydFZhcmlhZGlj
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzhFMzRDNjFFNEEzM0IwMDA1NENFMjMgLyogSlNET01D
b252ZXJ0V2ViR0wuaCBpbiBIZWFkZXJzICovLAorCQkJCTgzQjlFNzBCMjA4NkJBNDMwMEU1RDc1
NiAvKiBKU0RPTUNvbnZlcnRXaW5kb3dQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M4RTM0
QzcxRTRBMzNCMDAwNTRDRTIzIC8qIEpTRE9NQ29udmVydFhQYXRoTlNSZXNvbHZlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRkM5RTBFNEQxNjQxOUMxRTAwMzkyQkUzIC8qIEpTRE9NQ1NTTmFtZXNw
YWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzYwRDdDMTBEMjlBNDYzMDBCOTkxOEYgLyogSlNE
T01FeGNlcHRpb24uaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvSURMVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL0lETFR5cGVzLmgK
aW5kZXggMzA0MTZiMWYxY2Q2ZTdkOTRlZDkxZWU4MjA1YTA4YjBlN2NkZmE1Yy4uMjNhM2UzODg0
MmZjNTE0YWExOTk3MGM4YTIwN2JiYzg1YmNjMTgxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvSURMVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExU
eXBlcy5oCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIElEQktl
eTsKIGNsYXNzIElEQktleURhdGE7CiBjbGFzcyBJREJWYWx1ZTsKK2NsYXNzIEpTRE9NV2luZG93
UHJveHk7CiBjbGFzcyBET01Qcm9taXNlOwogY2xhc3MgU2NoZWR1bGVkQWN0aW9uOwogCkBAIC0y
NzMsNiArMjc0LDcgQEAgc3RydWN0IElETFNjaGVkdWxlZEFjdGlvbiA6IElETFR5cGU8c3RkOjp1
bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4+IHsgfTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBJRExTZXJpYWxpemVkU2NyaXB0VmFsdWUgOiBJRExXcmFwcGVyPFQ+IHsgfTsKIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBJRExFdmVudExpc3RlbmVyIDogSURMV3JhcHBlcjxUPiB7
IH07CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSURMWFBhdGhOU1Jlc29sdmVyIDogSURM
V3JhcHBlcjxUPiB7IH07CitzdHJ1Y3QgSURMV2luZG93UHJveHkgOiBJRExXcmFwcGVyPEpTRE9N
V2luZG93UHJveHk+IHsgfTsKIAogc3RydWN0IElETElEQktleSA6IElETFdyYXBwZXI8SURCS2V5
PiB7IH07CiBzdHJ1Y3QgSURMSURCS2V5RGF0YSA6IElETFdyYXBwZXI8SURCS2V5RGF0YT4geyB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0V2lu
ZG93UHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFdpbmRv
d1Byb3h5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjYxNDhjYmNlNTY5OWYwNGRmY2FhYmI0MTUyMDYwNzUzYWM0
YjI3OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
Q29udmVydFdpbmRvd1Byb3h5LmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKKyNpbmNsdWRlICJKU0RPTUNvbnZlcnRC
YXNlLmgiCisjaW5jbHVkZSAiSlNET01XaW5kb3dQcm94eS5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEpTQ29udmVydGVyPElETFdpbmRvd1Byb3h5PiB7Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciBib29sIG5lZWRzU3RhdGUgPSB0cnVlOworICAgIHN0YXRpYyBj
b25zdGV4cHIgYm9vbCBuZWVkc0dsb2JhbE9iamVjdCA9IGZhbHNlOworCisgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIFU+CisgICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBjb252ZXJ0KEpTQzo6RXhlY1N0
YXRlJiBzdGF0ZSwgVSYmIHZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRvSlMoJnN0YXRl
LCBzdGQ6OmZvcndhcmQ8VT4odmFsdWUpKTsKKyAgICB9Cit9OworCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRleCAxYmZlMThhNjgwNjQx
NzI3NzRhNWFiYWU4ZmRjNmExMmU3MGJmZmExLi5iZTRiZTE1ODBlZGQ2OTQyZDEzZGYxOTQ3Y2My
MjYxNjFlYWU2Y2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93QmFzZS5jcHAKQEAgLTI0OCwyMSArMjQ4LDEyIEBAIEpTRE9NV2luZG93UHJveHkqIEpTRE9N
V2luZG93QmFzZTo6cHJveHkoKSBjb25zdAogICAgIHJldHVybiBtX3Byb3h5OwogfQogCi0vLyBK
U0RPTUdsb2JhbE9iamVjdCogaXMgaWdub3JlZCwgYWNjZXNzaW5nIGEgd2luZG93IGluIGFueSBj
b250ZXh0IHdpbGwKLS8vIHVzZSB0aGF0IERPTVdpbmRvdydzIHByb3RvdHlwZSBjaGFpbi4KLUpT
VmFsdWUgdG9KUyhFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCosIERPTVdpbmRv
dyYgZG9tV2luZG93KQotewotICAgIHJldHVybiB0b0pTKHN0YXRlLCBkb21XaW5kb3cpOwotfQot
Ci1KU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCos
IEZyYW1lJiBmcmFtZSkKLXsKLSAgICByZXR1cm4gdG9KUyhzdGF0ZSwgZnJhbWUpOwotfQotCiBK
U1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBzdGF0ZSwgRE9NV2luZG93JiBkb21XaW5kb3cpCiB7Ci0g
ICAgcmV0dXJuIHRvSlMoc3RhdGUsIGRvbVdpbmRvdy5mcmFtZSgpKTsKKyAgICBhdXRvKiBmcmFt
ZSA9IGRvbVdpbmRvdy5mcmFtZSgpOworICAgIGlmICghZnJhbWUpCisgICAgICAgIHJldHVybiBq
c051bGwoKTsKKyAgICByZXR1cm4gdG9KUyhzdGF0ZSwgZnJhbWUtPndpbmRvd1Byb3h5Q29udHJv
bGxlcigpKTsKIH0KIAogSlNET01XaW5kb3cqIHRvSlNET01XaW5kb3coRnJhbWUmIGZyYW1lLCBE
T01XcmFwcGVyV29ybGQmIHdvcmxkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0Jhc2UuaAppbmRleCA5MGYwZDdjYTI5OTViMjdjYzNkMTU0MGZlODZjZDg3NjcxZGM0
MzMzLi44Y2RiOTRiNGU4M2IyYjkwZDQ1NzE1ZTQ4OWZhNTJhOGY0NGJmNjdiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApAQCAtMTAwLDEzICsxMDAs
MTEgQEAgcHJpdmF0ZToKICAgICBKU0RPTVdpbmRvd1Byb3h5KiBtX3Byb3h5OwogfTsKIAorV0VC
Q09SRV9FWFBPUlQgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqLCBET01XaW5kb3cm
KTsKIC8vIFRoZSBmb2xsb3dpbmcgcmV0dXJuIGEgSlNET01XaW5kb3dQcm94eSBvciBqc051bGwo
KQogLy8gSlNET01HbG9iYWxPYmplY3QqIGlzIGlnbm9yZWQsIGFjY2Vzc2luZyBhIHdpbmRvdyBp
biBhbnkgY29udGV4dCB3aWxsIHVzZSB0aGF0IERPTVdpbmRvdydzIHByb3RvdHlwZSBjaGFpbi4K
LVdFQkNPUkVfRVhQT1JUIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01H
bG9iYWxPYmplY3QqLCBET01XaW5kb3cmKTsKK2lubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6
OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiwgRE9NV2luZG93JiB3aW5kb3cp
IHsgcmV0dXJuIHRvSlMoc3RhdGUsIHdpbmRvdyk7IH0KIGlubGluZSBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IERPTVdpbmRvdyogd2luZG93KSB7IHJldHVybiB3aW5kb3cgPyB0b0pTKHN0YXRlLCBnbG9iYWxP
YmplY3QsICp3aW5kb3cpIDogSlNDOjpqc051bGwoKTsgfQotSlNDOjpKU1ZhbHVlIHRvSlMoSlND
OjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIEZyYW1lJik7Ci1pbmxpbmUgSlNDOjpK
U1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGZyYW1lID8gdG9KUyhzdGF0ZSwgZ2xv
YmFsT2JqZWN0LCAqZnJhbWUpIDogSlNDOjpqc051bGwoKTsgfQotSlNDOjpKU1ZhbHVlIHRvSlMo
SlNDOjpFeGVjU3RhdGUqLCBET01XaW5kb3cmKTsKIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhK
U0M6OkV4ZWNTdGF0ZSogc3RhdGUsIERPTVdpbmRvdyogd2luZG93KSB7IHJldHVybiB3aW5kb3cg
PyB0b0pTKHN0YXRlLCAqd2luZG93KSA6IEpTQzo6anNOdWxsKCk7IH0KIAogLy8gVGhlIGZvbGxv
d2luZyByZXR1cm4gYSBKU0RPTVdpbmRvdyBvciBudWxscHRyLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1Byb3h5LmNwcAppbmRleCAzN2ViZWNlM2JlZDU5ZmVl
MTY3NmIwYjM2ZTg5MzNiMTAyYTk5ZWFlLi45MzcyZGM5NWM2ZGIxYWM5YjQwMDUwZWNlZDMyNGJh
YWNmM2IzNDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d1Byb3h5LmNwcApAQCAtMTQwLDE0ICsxNDAsMTQgQEAgQWJzdHJhY3RET01XaW5kb3cqIEpTRE9N
V2luZG93UHJveHk6OnRvV3JhcHBlZChWTSYgdm0sIEpTT2JqZWN0KiB2YWx1ZSkKICAgICByZXR1
cm4gd3JhcHBlciA/ICZ3cmFwcGVyLT53cmFwcGVkKCkgOiBudWxscHRyOwogfQogCi1KU1ZhbHVl
IHRvSlMoRXhlY1N0YXRlKiBzdGF0ZSwgQWJzdHJhY3RGcmFtZSYgZnJhbWUpCitKU1ZhbHVlIHRv
SlMoRXhlY1N0YXRlKiBzdGF0ZSwgV2luZG93UHJveHlDb250cm9sbGVyJiB3aW5kb3dQcm94eUNv
bnRyb2xsZXIpCiB7Ci0gICAgcmV0dXJuICZmcmFtZS53aW5kb3dQcm94eUNvbnRyb2xsZXIoKS53
aW5kb3dQcm94eShjdXJyZW50V29ybGQoKnN0YXRlKSk7CisgICAgcmV0dXJuICZ3aW5kb3dQcm94
eUNvbnRyb2xsZXIud2luZG93UHJveHkoY3VycmVudFdvcmxkKCpzdGF0ZSkpOwogfQogCi1KU0RP
TVdpbmRvd1Byb3h5JiB0b0pTRE9NV2luZG93UHJveHkoQWJzdHJhY3RGcmFtZSYgZnJhbWUsIERP
TVdyYXBwZXJXb3JsZCYgd29ybGQpCitKU0RPTVdpbmRvd1Byb3h5JiB0b0pTRE9NV2luZG93UHJv
eHkoV2luZG93UHJveHlDb250cm9sbGVyJiB3aW5kb3dQcm94eUNvbnRyb2xsZXIsIERPTVdyYXBw
ZXJXb3JsZCYgd29ybGQpCiB7Ci0gICAgcmV0dXJuIGZyYW1lLndpbmRvd1Byb3h5Q29udHJvbGxl
cigpLndpbmRvd1Byb3h5KHdvcmxkKTsKKyAgICByZXR1cm4gd2luZG93UHJveHlDb250cm9sbGVy
LndpbmRvd1Byb3h5KHdvcmxkKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dQcm94eS5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dQcm94eS5oCmluZGV4IGU2YjRlYWJi
YjRiNTAzYjI0ZGIxMTY3OWFmMzYwNWQ3NzE0MTk2YmYuLjNkZGQwNWJmZDhlNDJhYWVjNjVkMTQ4
MTg3ZGQ5NDgzOGUxMjJmNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd1Byb3h5LmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBBYnN0cmFjdERPTVdpbmRvdzsKIGNsYXNzIEFic3RyYWN0RnJhbWU7CitjbGFzcyBXaW5k
b3dQcm94eUNvbnRyb2xsZXI7CiAKIGNsYXNzIEpTRE9NV2luZG93UHJveHkgZmluYWwgOiBwdWJs
aWMgSlNDOjpKU1Byb3h5IHsKICAgICB1c2luZyBCYXNlID0gSlNDOjpKU1Byb3h5OwpAQCAtNjcs
MTEgKzY4LDEyIEBAIHByaXZhdGU6CiB9OwogCiAvLyBKU0RPTVdpbmRvd1Byb3h5IGlzIGEgbGl0
dGxlIG9kZCBpbiB0aGF0IGl0J3Mgbm90IGEgdHJhZGl0aW9uYWwgd3JhcHBlciBhbmQgaGFzIG5v
IGJhY2sgcG9pbnRlci4KLS8vIEl0IGlzLCBob3dldmVyLCBzdHJvbmdseSBvd25lZCBieSBGcmFt
ZSB2aWEgaXRzIFNjcmlwdENvbnRyb2xsZXIsIHNvIHdlIGNhbiBnZXQgb25lIGZyb20gYSBmcmFt
ZS4KLUpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgQWJzdHJhY3RGcmFtZSYpOwot
aW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgQWJzdHJhY3RG
cmFtZSogZnJhbWUpIHsgcmV0dXJuIGZyYW1lID8gdG9KUyhzdGF0ZSwgKmZyYW1lKSA6IEpTQzo6
anNOdWxsKCk7IH0KKy8vIEl0IGlzLCBob3dldmVyLCBzdHJvbmdseSBvd25lZCBieSBBYnN0cmFj
dEZyYW1lIHZpYSBpdHMgV2luZG93UHJveHlDb250cm9sbGVyLCBzbyB3ZSBjYW4gZ2V0IG9uZSBm
cm9tIGEgV2luZG93UHJveHlDb250cm9sbGVyLgorSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVj
U3RhdGUqLCBXaW5kb3dQcm94eUNvbnRyb2xsZXImKTsKK2lubGluZSBKU0M6OkpTVmFsdWUgdG9K
UyhKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIFdpbmRvd1Byb3h5Q29udHJvbGxlciogd2luZG93UHJv
eHlDb250cm9sbGVyKSB7IHJldHVybiB3aW5kb3dQcm94eUNvbnRyb2xsZXIgPyB0b0pTKHN0YXRl
LCAqd2luZG93UHJveHlDb250cm9sbGVyKSA6IEpTQzo6anNOdWxsKCk7IH0KKworSlNET01XaW5k
b3dQcm94eSYgdG9KU0RPTVdpbmRvd1Byb3h5KFdpbmRvd1Byb3h5Q29udHJvbGxlciYsIERPTVdy
YXBwZXJXb3JsZCYpOworaW5saW5lIEpTRE9NV2luZG93UHJveHkqIHRvSlNET01XaW5kb3dQcm94
eShXaW5kb3dQcm94eUNvbnRyb2xsZXIqIHdpbmRvd1Byb3h5Q29udHJvbGxlciwgRE9NV3JhcHBl
cldvcmxkJiB3b3JsZCkgeyByZXR1cm4gd2luZG93UHJveHlDb250cm9sbGVyID8gJnRvSlNET01X
aW5kb3dQcm94eSgqd2luZG93UHJveHlDb250cm9sbGVyLCB3b3JsZCkgOiBudWxscHRyOyB9CiAK
LUpTRE9NV2luZG93UHJveHkmIHRvSlNET01XaW5kb3dQcm94eShBYnN0cmFjdEZyYW1lJiwgRE9N
V3JhcHBlcldvcmxkJik7Ci1pbmxpbmUgSlNET01XaW5kb3dQcm94eSogdG9KU0RPTVdpbmRvd1By
b3h5KEFic3RyYWN0RnJhbWUqIGZyYW1lLCBET01XcmFwcGVyV29ybGQmIHdvcmxkKSB7IHJldHVy
biBmcmFtZSA/ICZ0b0pTRE9NV2luZG93UHJveHkoKmZyYW1lLCB3b3JsZCkgOiBudWxscHRyOyB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTUmVtb3RlRE9NV2luZG93QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1JlbW90ZURPTVdpbmRvd0Jhc2UuY3BwCmluZGV4IGNiZDJkMzZkYjA5ODRkYjg3
MzIzNDAyMzMzMDlhZmEyZDcxMmIxZmIuLjhlZTE0ZjBjOTQyMjg1MDQ3MzExNzI4OTA2YmJlMDUw
OTNmYjRjNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVtb3Rl
RE9NV2luZG93QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZW1v
dGVET01XaW5kb3dCYXNlLmNwcApAQCAtNjYsMTYgKzY2LDYgQEAgUnVudGltZUZsYWdzIEpTUmVt
b3RlRE9NV2luZG93QmFzZTo6amF2YVNjcmlwdFJ1bnRpbWVGbGFncyhjb25zdCBKU0dsb2JhbE9i
amVjdCoKICAgICByZXR1cm4gUnVudGltZUZsYWdzIHsgfTsKIH0KIAotSlNWYWx1ZSB0b0pTKEV4
ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiwgUmVtb3RlRE9NV2luZG93JiBkb21X
aW5kb3cpCi17Ci0gICAgcmV0dXJuIHRvSlMoc3RhdGUsIGRvbVdpbmRvdyk7Ci19Ci0KLUpTVmFs
dWUgdG9KUyhFeGVjU3RhdGUqIHN0YXRlLCBSZW1vdGVET01XaW5kb3cmIGRvbVdpbmRvdykKLXsK
LSAgICByZXR1cm4gdG9KUyhzdGF0ZSwgZG9tV2luZG93LmZyYW1lKCkpOwotfQotCiBKU1JlbW90
ZURPTVdpbmRvdyogdG9KU1JlbW90ZURPTVdpbmRvdyhKU0M6OlZNJiB2bSwgSlNWYWx1ZSB2YWx1
ZSkKIHsKICAgICBpZiAoIXZhbHVlLmlzT2JqZWN0KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1JlbW90ZURPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTUmVtb3RlRE9NV2luZG93QmFzZS5oCmluZGV4IGEzYzZiMDUwOTYwZjM0
OWQ2NzI0OGYwZmI4MTFjODY0M2JkYjU4ZjkuLjhiMTgyNWZkYWI3YjMyNDMxMDVkZDJkYzg2NDJk
OWFhMjFjNjk0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVt
b3RlRE9NV2luZG93QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVt
b3RlRE9NV2luZG93QmFzZS5oCkBAIC01MywxMiArNTMsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0
cjxSZW1vdGVET01XaW5kb3c+IG1fd3JhcHBlZDsKIH07CiAKLVdFQkNPUkVfRVhQT1JUIEpTQzo6
SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBSZW1vdGVE
T01XaW5kb3cmKTsKLWlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogc3Rh
dGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlbW90ZURPTVdpbmRvdyogd2lu
ZG93KSB7IHJldHVybiB3aW5kb3cgPyB0b0pTKHN0YXRlLCBnbG9iYWxPYmplY3QsICp3aW5kb3cp
IDogSlNDOjpqc051bGwoKTsgfQotCi1KU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSos
IFJlbW90ZURPTVdpbmRvdyYpOwotaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0
YXRlKiBzdGF0ZSwgUmVtb3RlRE9NV2luZG93KiB3aW5kb3cpIHsgcmV0dXJuIHdpbmRvdyA/IHRv
SlMoc3RhdGUsICp3aW5kb3cpIDogSlNDOjpqc051bGwoKTsgfQotCiBXRUJDT1JFX0VYUE9SVCBK
U1JlbW90ZURPTVdpbmRvdyogdG9KU1JlbW90ZURPTVdpbmRvdyhKU0M6OlZNJiwgSlNDOjpKU1Zh
bHVlKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCmluZGV4IDQ3YWYyMmQxNzI3NDlmNWE1NzQw
MWZjNWNiZmFiODY2MTJlNTQyODUuLjk1MjQyOWEwZTQ5Nzc0YmFkMjJjMWU1OGViYjJlNGVkZGJh
ZDNiNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3IucG0KQEAgLTg5MSw2ICs4OTEsNyBAQCBzdWIgSXNCdWlsdGluVHlwZQogICAgIHJldHVy
biAxIGlmICR0eXBlLT5uYW1lIGVxICJYUGF0aE5TUmVzb2x2ZXIiOwogICAgIHJldHVybiAxIGlm
ICR0eXBlLT5uYW1lIGVxICJhbnkiOwogICAgIHJldHVybiAxIGlmICR0eXBlLT5uYW1lIGVxICJv
YmplY3QiOworICAgIHJldHVybiAxIGlmICR0eXBlLT5uYW1lIGVxICJXaW5kb3dQcm94eSI7CiAK
ICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggOWUxYzBjOWY3YTlmZTk0OTQ1ODg5ZWQ0MDNlMWQ5
MWNmZDJiYjZlMC4uMGY1ZGNmZWZjZjEzYzVhZTE2YmU4YTY5Yjg5ZTg0NGRhNGFhM2FlYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KQEAgLTQyMSw2ICs0MjEsMTIgQEAgc3ViIEFkZFRvSW5jbHVkZXNGb3JJRExUeXBlCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoJHR5cGUtPm5hbWUgZXEgIldpbmRvd1Byb3h5
IikgeworICAgICAgICBBZGRUb0luY2x1ZGVzKCJKU0RPTVdpbmRvd1Byb3h5LmgiLCAkaW5jbHVk
ZXNSZWYsICRjb25kaXRpb25hbCk7CisgICAgICAgIEFkZFRvSW5jbHVkZXMoIkpTRE9NQ29udmVy
dFdpbmRvd1Byb3h5LmgiLCAkaW5jbHVkZXNSZWYsICRjb25kaXRpb25hbCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklzU3RyaW5nVHlwZSgkdHlw
ZSkpIHsKICAgICAgICAgQWRkVG9JbmNsdWRlcygiSlNET01Db252ZXJ0U3RyaW5ncy5oIiwgJGlu
Y2x1ZGVzUmVmLCAkY29uZGl0aW9uYWwpOwogICAgICAgICByZXR1cm47CkBAIC02Mzg0LDYgKzYz
OTAsNyBAQCBzdWIgR2V0QmFzZUlETFR5cGUKICAgICAgICAgIkpTT04iID0+ICJJRExKU09OIiwK
ICAgICAgICAgIlNjaGVkdWxlZEFjdGlvbiIgPT4gIklETFNjaGVkdWxlZEFjdGlvbiIsCiAgICAg
ICAgICJTZXJpYWxpemVkU2NyaXB0VmFsdWUiID0+ICJJRExTZXJpYWxpemVkU2NyaXB0VmFsdWU8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPiIsCisgICAgICAgICJXaW5kb3dQcm94eSIgPT4gIklETFdp
bmRvd1Byb3h5IiwKICAgICAgICAgIlhQYXRoTlNSZXNvbHZlciIgPT4gIklETFhQYXRoTlNSZXNv
bHZlcjxYUGF0aE5TUmVzb2x2ZXI+IiwKICAgICApOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1JlbW90ZURPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbW90
ZURPTVdpbmRvdy5jcHAKaW5kZXggZjdjZTEwZWE0NjY1ZDY1OTc4OTUxZGVhNDNlZjhlY2QzMWYw
NjY3Yi4uZDViNDZmM2UyZjVkNmM5ZGEzMTZmMTljZWJlYzk1MmYwYmNmMzliZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZW1vdGVET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUmVtb3RlRE9NV2luZG93LmNwcApAQCAtNDUsMTEgKzQ1LDExIEBAIFJlbW90
ZURPTVdpbmRvdzo6flJlbW90ZURPTVdpbmRvdygpCiAgICAgICAgIG1fZnJhbWUtPnNldFdpbmRv
dyhudWxscHRyKTsKIH0KIAotUmVtb3RlRE9NV2luZG93KiBSZW1vdGVET01XaW5kb3c6OnNlbGYo
KSBjb25zdAorV2luZG93UHJveHlDb250cm9sbGVyKiBSZW1vdGVET01XaW5kb3c6OnNlbGYoKSBj
b25zdAogewogICAgIGlmICghbV9mcmFtZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAg
cmV0dXJuIGNvbnN0X2Nhc3Q8UmVtb3RlRE9NV2luZG93Kj4odGhpcyk7CisgICAgcmV0dXJuICZt
X2ZyYW1lLT53aW5kb3dQcm94eUNvbnRyb2xsZXIoKTsKIH0KIAogTG9jYXRpb24qIFJlbW90ZURP
TVdpbmRvdzo6bG9jYXRpb24oKSBjb25zdApAQCAtODUsMjggKzg1LDM0IEBAIHVuc2lnbmVkIFJl
bW90ZURPTVdpbmRvdzo6bGVuZ3RoKCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAotUmVtb3Rl
RE9NV2luZG93KiBSZW1vdGVET01XaW5kb3c6OnRvcCgpIGNvbnN0CitXaW5kb3dQcm94eUNvbnRy
b2xsZXIqIFJlbW90ZURPTVdpbmRvdzo6dG9wKCkgY29uc3QKIHsKICAgICBpZiAoIW1fZnJhbWUp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgLy8gRklYTUU6IEltcGxlbWVudGVkIHRo
aXMuCi0gICAgcmV0dXJuIGNvbnN0X2Nhc3Q8UmVtb3RlRE9NV2luZG93Kj4odGhpcyk7CisgICAg
cmV0dXJuICZtX2ZyYW1lLT53aW5kb3dQcm94eUNvbnRyb2xsZXIoKTsKIH0KIAotRE9NV2luZG93
KiBSZW1vdGVET01XaW5kb3c6Om9wZW5lcigpIGNvbnN0CitXaW5kb3dQcm94eUNvbnRyb2xsZXIq
IFJlbW90ZURPTVdpbmRvdzo6b3BlbmVyKCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVt
ZW50ZWQgdGhpcy4KLSAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoIW1fZnJhbWUpCisgICAg
ICAgIHJldHVybiBudWxscHRyOworCisgICAgYXV0byogb3BlbmVyRnJhbWUgPSBtX2ZyYW1lLT5v
cGVuZXIoKTsKKyAgICBpZiAoIW9wZW5lckZyYW1lKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KworICAgIHJldHVybiAmb3BlbmVyRnJhbWUtPndpbmRvd1Byb3h5Q29udHJvbGxlcigpOwogfQog
Ci1SZW1vdGVET01XaW5kb3cqIFJlbW90ZURPTVdpbmRvdzo6cGFyZW50KCkgY29uc3QKK1dpbmRv
d1Byb3h5Q29udHJvbGxlciogUmVtb3RlRE9NV2luZG93OjpwYXJlbnQoKSBjb25zdAogewogICAg
IGlmICghbV9mcmFtZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAvLyBGSVhNRTog
SW1wbGVtZW50ZWQgdGhpcy4KLSAgICByZXR1cm4gY29uc3RfY2FzdDxSZW1vdGVET01XaW5kb3cq
Pih0aGlzKTsKKyAgICByZXR1cm4gJm1fZnJhbWUtPndpbmRvd1Byb3h5Q29udHJvbGxlcigpOwog
fQogCiBFeGNlcHRpb25Pcjx2b2lkPiBSZW1vdGVET01XaW5kb3c6OnBvc3RNZXNzYWdlKEpTQzo6
RXhlY1N0YXRlJiwgRE9NV2luZG93JiBpbmN1bWJlbnRXaW5kb3csIEpTQzo6SlNWYWx1ZSBtZXNz
YWdlLCBjb25zdCBTdHJpbmcmIHRhcmdldE9yaWdpbiwgVmVjdG9yPEpTQzo6U3Ryb25nPEpTQzo6
SlNPYmplY3Q+PiYmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZW1vdGVET01X
aW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVtb3RlRE9NV2luZG93LmgKaW5kZXggMTA4
OWE5OGQ3NzZiYzdmYzYzYzE0MjFiYWZmNzc2YWM1MmYyZWI0Zi4uM2E3MTUxMWJlY2RjMWI3Yzhl
NWFhODY4ZjdhMzNkN2EwNGQzNjg4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9S
ZW1vdGVET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbW90ZURPTVdpbmRv
dy5oCkBAIC01NSwxNiArNTUsMTYgQEAgcHVibGljOgogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBudWxscHRy
OyB9CiAKICAgICAvLyBET00gQVBJIGV4cG9zZWQgY3Jvc3Mtb3JpZ2luLgotICAgIFJlbW90ZURP
TVdpbmRvdyogc2VsZigpIGNvbnN0OworICAgIFdpbmRvd1Byb3h5Q29udHJvbGxlciogc2VsZigp
IGNvbnN0OwogICAgIExvY2F0aW9uKiBsb2NhdGlvbigpIGNvbnN0OwogICAgIHZvaWQgY2xvc2Uo
RG9jdW1lbnQmKTsKICAgICBib29sIGNsb3NlZCgpIGNvbnN0OwogICAgIHZvaWQgZm9jdXMoRE9N
V2luZG93JiBpbmN1bWJlbnRXaW5kb3cpOwogICAgIHZvaWQgYmx1cigpOwogICAgIHVuc2lnbmVk
IGxlbmd0aCgpIGNvbnN0OwotICAgIFJlbW90ZURPTVdpbmRvdyogdG9wKCkgY29uc3Q7Ci0gICAg
RE9NV2luZG93KiBvcGVuZXIoKSBjb25zdDsKLSAgICBSZW1vdGVET01XaW5kb3cqIHBhcmVudCgp
IGNvbnN0OworICAgIFdpbmRvd1Byb3h5Q29udHJvbGxlciogdG9wKCkgY29uc3Q7CisgICAgV2lu
ZG93UHJveHlDb250cm9sbGVyKiBvcGVuZXIoKSBjb25zdDsKKyAgICBXaW5kb3dQcm94eUNvbnRy
b2xsZXIqIHBhcmVudCgpIGNvbnN0OwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdl
KEpTQzo6RXhlY1N0YXRlJiwgRE9NV2luZG93JiBpbmN1bWJlbnRXaW5kb3csIEpTQzo6SlNWYWx1
ZSBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHRhcmdldE9yaWdpbiwgVmVjdG9yPEpTQzo6U3Ryb25n
PEpTQzo6SlNPYmplY3Q+PiYmKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUmVtb3RlRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVtb3Rl
RE9NV2luZG93LmlkbAppbmRleCAyMjQyNjg5MmEyNDdlMjRlZTlmY2MxYmFmMTM2Y2E3N2FlMzRj
NmIzLi4wZTI1YjVhNjY3N2E5MjQ1ZTVmOWEzMzg2NzczNWVkNzZkZjc0ZTc4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbW90ZURPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9SZW1vdGVET01XaW5kb3cuaWRsCkBAIC00MywxNyArNDMsMTcgQEAKICAgICBO
b0ludGVyZmFjZU9iamVjdCwKICAgICBQcmltYXJ5R2xvYmFsLAogXSBpbnRlcmZhY2UgUmVtb3Rl
RE9NV2luZG93IHsKLSAgICBbVW5mb3JnZWFibGUsIEltcGxlbWVudGVkQXM9c2VsZl0gcmVhZG9u
bHkgYXR0cmlidXRlIFJlbW90ZURPTVdpbmRvdyB3aW5kb3c7Ci0gICAgW1JlcGxhY2VhYmxlXSBy
ZWFkb25seSBhdHRyaWJ1dGUgUmVtb3RlRE9NV2luZG93IHNlbGY7CisgICAgW1VuZm9yZ2VhYmxl
LCBJbXBsZW1lbnRlZEFzPXNlbGZdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eSB3aW5k
b3c7CisgICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgc2Vs
ZjsKICAgICBbUHV0Rm9yd2FyZHM9aHJlZiwgVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBMb2NhdGlvbj8gbG9jYXRpb247IC8vIEZJWE1FOiBTaG91bGQgbm90IGJlIG51bGxhYmxlLgog
ICAgIFtDYWxsV2l0aD1JbmN1bWJlbnREb2N1bWVudCwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0g
dm9pZCBjbG9zZSgpOwogICAgIFtGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBjbG9zZWQ7CiAgICAgW0NhbGxXaXRoPUluY3VtYmVudFdpbmRvdywgRm9y
d2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBmb2N1cygpOwogICAgIFtGb3J3YXJkRGVjbGFyZUlu
SGVhZGVyXSB2b2lkIGJsdXIoKTsKLSAgICBbUmVwbGFjZWFibGUsIEltcGxlbWVudGVkQXM9c2Vs
Zl0gcmVhZG9ubHkgYXR0cmlidXRlIFJlbW90ZURPTVdpbmRvdyBmcmFtZXM7CisgICAgW1JlcGxh
Y2VhYmxlLCBJbXBsZW1lbnRlZEFzPXNlbGZdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94
eSBmcmFtZXM7CiAgICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7Ci0gICAgW1VuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NV2lu
ZG93PyB0b3A7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVdpbmRvdz8gb3BlbmVyOwotICAg
IFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVdpbmRvdz8gcGFyZW50OworICAg
IFtVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyB0b3A7CisgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBvcGVuZXI7CisgICAgW1JlcGxhY2VhYmxl
XSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IHBhcmVudDsKICAgICBbQ2FsbFdpdGg9
U2NyaXB0U3RhdGUmSW5jdW1iZW50V2luZG93LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyLCBNYXlU
aHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgVVNWU3RyaW5nIHRh
cmdldE9yaWdpbiwgb3B0aW9uYWwgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2ZlciA9IFtdKTsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbW90ZUZyYW1lLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1JlbW90ZUZyYW1lLmgKaW5kZXggMzZmYzNmYjE5NzFiNTYzMjdlMTUzNTJk
MWExOGU5YWU0MzkwZDkyMi4uNTA3NTJmZmY2MjYxZDNmYjdmOWYwYTU3ODgzNDA0MzMxNTQ1ODEz
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZW1vdGVGcmFtZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUmVtb3RlRnJhbWUuaApAQCAtNDcsNiArNDcsOSBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRXaW5kb3coUmVtb3RlRE9NV2luZG93KiB3aW5kb3cpIHsgbV93aW5kb3cg
PSB3aW5kb3c7IH0KICAgICBSZW1vdGVET01XaW5kb3cqIHdpbmRvdygpIGNvbnN0IHsgcmV0dXJu
IG1fd2luZG93OyB9CiAKKyAgICB2b2lkIHNldE9wZW5lcihBYnN0cmFjdEZyYW1lKiBvcGVuZXIp
IHsgbV9vcGVuZXIgPSBvcGVuZXI7IH0KKyAgICBBYnN0cmFjdEZyYW1lKiBvcGVuZXIoKSBjb25z
dCB7IHJldHVybiBtX29wZW5lci5nZXQoKTsgfQorCiBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQ
T1JUIGV4cGxpY2l0IFJlbW90ZUZyYW1lKEdsb2JhbEZyYW1lSWRlbnRpZmllciYmKTsKIApAQCAt
NTcsNiArNjAsOCBAQCBwcml2YXRlOgogCiAgICAgR2xvYmFsRnJhbWVJZGVudGlmaWVyIG1faWRl
bnRpZmllcjsKICAgICBSZW1vdGVET01XaW5kb3cqIG1fd2luZG93IHsgbnVsbHB0ciB9OworCisg
ICAgUmVmUHRyPEFic3RyYWN0RnJhbWU+IG1fb3BlbmVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApp
bmRleCAyMGRjYzFjNTQwYWVmZjJkMTA1Yjk3ZWZhOTY0M2YyMmU0ZGY1ZDBlLi45ZTkxYzNiOGU1
MjMzOGI2NDkyY2Q2NjljMjExZjEyNWJhZjY0Y2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTg4Niw2ICs1ODg2LDggQEAgdm9pZCBXZWJQ
YWdlOjpmcmFtZUJlY2FtZVJlbW90ZSh1aW50NjRfdCBmcmFtZUlELCBHbG9iYWxGcmFtZUlkZW50
aWZpZXImJiByZW1vdGUKICAgICBhdXRvIHJlbW90ZVdpbmRvdyA9IFJlbW90ZURPTVdpbmRvdzo6
Y3JlYXRlKHJlbW90ZUZyYW1lLmNvcHlSZWYoKSwgV1RGTW92ZShyZW1vdGVXaW5kb3dJZGVudGlm
aWVyKSk7CiAgICAgVU5VU0VEX1BBUkFNKHJlbW90ZVdpbmRvdyk7CiAKKyAgICByZW1vdGVGcmFt
ZS0+c2V0T3BlbmVyKGZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkub3BlbmVyKCkpOworCiAg
ICAgYXV0byB3aW5kb3dQcm94aWVzID0gZnJhbWUtPmNvcmVGcmFtZSgpLT53aW5kb3dQcm94eUNv
bnRyb2xsZXIoKS5yZWxlYXNlV2luZG93UHJveGllcygpOwogICAgIHJlbW90ZUZyYW1lLT53aW5k
b3dQcm94eUNvbnRyb2xsZXIoKS5zZXRXaW5kb3dQcm94aWVzKFdURk1vdmUod2luZG93UHJveGll
cykpOwogICAgIHJlbW90ZUZyYW1lLT53aW5kb3dQcm94eUNvbnRyb2xsZXIoKS5zZXRET01XaW5k
b3dGb3JXaW5kb3dQcm94eShyZW1vdGVXaW5kb3cucHRyKCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNiMzBhOThkODUy
YWQ4YWVmNTBkOWJmMjRkZjU5MGM5OWYxZjVhNzEuLjA3ZDdiOGE2YjA4ZWVjOTc2YjM0NDhlMzNk
MjZlNjk1MjcxOTVhYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0wNC0xOCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFNldCBSZW1vdGVET01XaW5kb3cn
cyBpbml0aWFsIG9wZW5lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg0NzE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmViYXNlbGluZSBleGlzdGluZyB0ZXN0IG5vdyB0aGF0IHJlbW90ZVdpbmRvdy5v
cGVuZXIgbm93IHJldHVybnMKKyAgICAgICAgaXRzIGluaXRpYWwgb3BlbmVyLgorCisgICAgICAg
ICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Byb2Nlc3Mtc3dhcC13aW5kb3ctb3Blbi1leHBlY3Rl
ZC50eHQ6CisKIDIwMTgtMDQtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBBZGQgc3VwcG9ydCBmb3IgY29udmVydGluZyBhIGxvY2FsIHdpbmRvdyB0byBhIHJl
bW90ZSB3aW5kb3cKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlv
bi9wcm9jZXNzLXN3YXAtd2luZG93LW9wZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3Byb2Nlc3Mtc3dhcC13aW5kb3ctb3Blbi1leHBlY3RlZC50eHQK
aW5kZXggMTEyNjIzZTNmYzk0YjBlYmM3OWI0ZTJhZmNjNDk4NThiNTEwOGFjYy4uZDhiZjVkMDc4
YTA0NzIxNTZmODYyOGI3N2ZkNWEwZDAzMjBmYzhiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Byb2Nlc3Mtc3dhcC13aW5kb3ctb3Blbi1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Byb2Nlc3Mtc3dhcC13
aW5kb3ctb3Blbi1leHBlY3RlZC50eHQKQEAgLTIzLDcgKzIzLDcgQEAgUEFTUyB3LnBhcmVudCBp
cyB3CiBQQVNTIHcuZnJhbWVzIGlzIHcKIFBBU1Mgdy5jbG9zZWQgaXMgZmFsc2UKIFBBU1Mgdy5s
ZW5ndGggaXMgMAotRkFJTCB3Lm9wZW5lciBzaG91bGQgYmUgW29iamVjdCBXaW5kb3ddLiBXYXMg
bnVsbC4KK1BBU1Mgdy5vcGVuZXIgaXMgd2luZG93CiBQQVNTIHcuY2xvc2UgaXMgYW4gaW5zdGFu
Y2Ugb2YgRnVuY3Rpb24KIFBBU1Mgdy5mb2N1cyBpcyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgog
UEFTUyB3LmJsdXIgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24K
</data>

          </attachment>
      

    </bug>

</bugzilla>