<?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>126501</bug_id>
          
          <creation_ts>2014-01-05 11:27:07 -0800</creation_ts>
          <short_desc>Move responsibility for remote layer tree committing to RemoteLayerTreeDrawingArea</short_desc>
          <delta_ts>2014-01-05 20:04:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mkwst</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>964509</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-01-05 11:27:07 -0800</bug_when>
    <thetext>Move responsibility for remote layer tree committing to RemoteLayerTreeDrawingArea</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964510</commentid>
    <comment_count>1</comment_count>
      <attachid>220397</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-01-05 11:35:06 -0800</bug_when>
    <thetext>Created attachment 220397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964512</commentid>
    <comment_count>2</comment_count>
      <attachid>220397</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2014-01-05 11:55:20 -0800</bug_when>
    <thetext>Comment on attachment 220397
Patch

Attachment 220397 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/5244773275271168</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964514</commentid>
    <comment_count>3</comment_count>
      <attachid>220399</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-01-05 13:26:09 -0800</bug_when>
    <thetext>Created attachment 220399
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964541</commentid>
    <comment_count>4</comment_count>
      <attachid>220399</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-01-05 19:58:06 -0800</bug_when>
    <thetext>Comment on attachment 220399
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeContext.h:41
&gt; +// FIXME: this class doesn&apos;t do much now. Roll into RemoteLayerTreeDrawingArea?

&quot;This&quot; should start with a capital T.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964543</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-01-05 20:04:56 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/161327</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220397</attachid>
            <date>2014-01-05 11:35:06 -0800</date>
            <delta_ts>2014-01-05 13:26:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126501-20140105113505.patch</filename>
            <type>text/plain</type>
            <size>40539</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxMzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIyOTQ3Y2E5YWNlOGMw
ZDczZjMyNDE2MjcxYTg5NTMwZTU1OTkyNy4uZmUwZTc4ZjYxNzNlMjM3NDU1MjliNTdmODhiODkx
NmFiMDIwNDQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAxLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgcmVzcG9u
c2liaWxpdHkgZm9yIHJlbW90ZSBsYXllciB0cmVlIGNvbW1pdHRpbmcgdG8gUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNjUwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCB0eXBlLXNhZmUgY2FzdGluZyB0byBHcmFwaGljc0xheWVyLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllcjo6aXNHcmFwaGljc0xheWVyQ0EpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllcjo6aXNHcmFwaGljc0xheWVyQ0FSZW1vdGUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NMYXllckNBOjppc0dyYXBoaWNzTGF5ZXJDQSk6CisKIDIwMTQtMDEtMDQgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUHJlcGFyZSB0aGUgU2Nyb2xs
aW5nVHJlZSBmb3IgcmVtb3RlIHVzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGZiNjU2Y2E4MGUxNTJmMmFjZjQy
ZjMwMjljOGM5YzdjYTU2N2JjZTMuLmYxYTgyZGJhZDE1NTEzYTkxZDhkNGY3MzYxY2U1YmEzMzE3
OTY2N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NCBAQAorMjAxNC0wMS0wNSAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIHJlc3BvbnNpYmls
aXR5IGZvciByZW1vdGUgbGF5ZXIgdHJlZSBjb21taXR0aW5nIHRvIFJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjY1MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAg
CisgICAgICAgIFNvb24gd2Ugc2hhbGwgbmVlZCB0byBkbyBhdG9taWMgY29tbWl0cyBvZiBib3Ro
IHRoZSByZW1vdGUgbGF5ZXIgdHJlZSwgYW5kCisgICAgICAgIHRoZSByZW1vdGUgc2Nyb2xsaW5n
IHRyZWUuIFBhdmUgdGhlIHdheSBieSBtb3ZpbmcgcmVzcG9uc2liaWxpdHkgZm9yIHJlbW90ZQor
ICAgICAgICBsYXllciB0cmVlIGNvbW1pdHRpbmcgdG8gUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWEuCisgICAgICAgIAorICAgICAgICBTbyBtb3ZlIHRoZSBmbHVzaGluZyBsb2dpYyBmcm9tIFJl
bW90ZUxheWVyVHJlZUhvc3QgdG8gUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuCisgICAgICAg
IEFmdGVyIHRoaXMgY2hhbmdlLCBSZW1vdGVMYXllclRyZWVIb3N0IGRvZXNuJ3QgZG8gbXVjaCBh
bmQgY291bGQgcG9zc2libHkgYmUKKyAgICAgICAgcmVtb3ZlZCBpbiBmdXR1cmUuCisgICAgICAg
IAorICAgICAgICBBbHNvIGFkZCB0eXBlLXNhZmUgY2FzdGluZyB0byBHcmFwaGljc0xheWVyIGFu
ZCBEcmF3aW5nQXJlYS4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IE91dCB3aXRo
IFJlbW90ZUxheWVyVHJlZUhvc3QsIGluIHdpdGggUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eQorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eS5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5
OjpyZW1vdGVMYXllclRyZWVIb3N0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1JlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMuaW46IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZUhvc3QubWVzc2FnZXMuaW4uCisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1t
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5KTogQWRkIG1lc3NhZ2UgcmVjZWl2ZXIuCisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6On5SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5KTogUmVtb3ZlIG1lc3NhZ2UgcmVjZWl2ZXIuCisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJl
ZSk6IEhhbmQgdGhlIHRyYW5zYWN0aW9uIG9mZiB0byB0aGUgbGF5ZXIKKyAgICAgICAgdHJlZSBo
b3N0LgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9zdC5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9zdC5tbToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTGF5ZXJUcmVlSG9zdDo6UmVtb3RlTGF5ZXJUcmVlSG9zdCk6IE5vIGxvbmdl
ciBhIG1lc3NhZ2UgcmVjZWl2ZXIuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZUhv
c3Q6On5SZW1vdGVMYXllclRyZWVIb3N0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJU
cmVlSG9zdDo6dXBkYXRlTGF5ZXJUcmVlKToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
Lmg6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhOjp0eXBlKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL0dyYXBoaWNzTGF5ZXJDQVJlbW90ZS5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVDb250ZXh0OjpSZW1vdGVMYXllclRyZWVDb250
ZXh0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6Zmx1c2hPdXRP
ZlRyZWVMYXllcnMpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVDb250ZXh0Ojpi
dWlsZFRyYW5zYWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWE6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhKToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNldFJvb3RDb21wb3NpdGlu
Z0xheWVyKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNl
dExheWVyVHJlZVN0YXRlSXNGcm96ZW4pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYTo6Zm9yY2VSZXBhaW50KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmxheWVyRmx1c2hUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmZsdXNo
TGF5ZXJzKToKKwogMjAxNC0wMS0wNCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0dUS10gW0NNYWtlXSBJbXByb3ZlIHRoZSB3YXkgd2UgbG9jYXRl
IGdvYmplY3QtaW50cm9zcGVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDY0NGVlMDQ5NTk4NTZmODRmOWY3YjIxNmRkNDBi
NTk5OWU2NDU4M2UuLjUxZmQ3NjAxMjcyOWRjYTc2OGQyMTJlYjdkMzZjODRmMTY5NGRiNWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgK
QEAgLTQ5Myw2ICs0OTMsOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuVGhyb3R0
bGVMYXllckZsdXNoKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZpcnR1YWwgYm9v
bCBpc0dyYXBoaWNzTGF5ZXJDQSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVh
bCBib29sIGlzR3JhcGhpY3NMYXllckNBUmVtb3RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
KwogcHJvdGVjdGVkOgogICAgIC8vIFNob3VsZCBiZSBjYWxsZWQgZnJvbSBkZXJpdmVkIGNsYXNz
IGRlc3RydWN0b3JzLiBTaG91bGQgY2FsbCB3aWxsQmVEZXN0cm95ZWQoKSBvbiBzdXBlci4KICAg
ICB2aXJ0dWFsIHZvaWQgd2lsbEJlRGVzdHJveWVkKCk7CkBAIC01ODcsNiArNTkwLDggQEAgcHJv
dGVjdGVkOgogICAgIEN1c3RvbUFwcGVhcmFuY2UgbV9jdXN0b21BcHBlYXJhbmNlOwogfTsKIAor
I2RlZmluZSBHUkFQSElDU0xBWUVSX1RZUEVfQ0FTVFMoVG9WYWx1ZVR5cGVOYW1lLCBwcmVkaWNh
dGUpIFwKKyAgICBUWVBFX0NBU1RTX0JBU0UoVG9WYWx1ZVR5cGVOYW1lLCBXZWJDb3JlOjpHcmFw
aGljc0xheWVyLCB2YWx1ZSwgdmFsdWUtPnByZWRpY2F0ZSwgdmFsdWUucHJlZGljYXRlKQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmgKaW5kZXggYWE3Y2IwMjk1M2M1Yjk1MGM2
ODA4MmE4NWM3NmY5MjI5NTYyZGY4ZS4uMWMzN2QwMGZkYzM0NTZhNmFkMDFlNzE0MzczNDBhNjFj
ZDBiNmE1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
R3JhcGhpY3NMYXllckNBLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvR3JhcGhpY3NMYXllckNBLmgKQEAgLTE2Myw2ICsxNjMsOCBAQCBwcm90ZWN0ZWQ6CiAgICAg
dmlydHVhbCB2b2lkIHNldE9wYWNpdHlJbnRlcm5hbChmbG9hdCk7CiAKIHByaXZhdGU6CisgICAg
dmlydHVhbCBib29sIGlzR3JhcGhpY3NMYXllckNBKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQor
CiAgICAgdmlydHVhbCB2b2lkIHdpbGxCZURlc3Ryb3llZCgpOwogCiAgICAgLy8gUGxhdGZvcm1D
QUxheWVyQ2xpZW50IG92ZXJyaWRlcwpAQCAtNTI2LDYgKzUyOCw4IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX2lzQ29tbWl0dGluZ0NoYW5nZXM7CiB9OwogCitHUkFQSElDU0xBWUVSX1RZUEVfQ0FT
VFMoR3JhcGhpY3NMYXllckNBLCBpc0dyYXBoaWNzTGF5ZXJDQSgpKTsKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDg3MzEzNmJi
MTM2ZTcxMDEyMmM3M2Q3ZTIyYTY1M2Q5MmE2YmI4YWUuLmE4ODgwMzBkNDlmZTM3MGMxZDVkZTNl
M2E3MTFlNzYyZmY2ODQ2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtODUs
NyArODUsNyBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBQbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbk1hbmFnZXIgXAogICAgIFBsdWdpblByb2Nlc3NQcm94eSBcCiAgICAgUGx1Z2luUHJveHkg
XAotICAgIFJlbW90ZUxheWVyVHJlZUhvc3QgXAorICAgIFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHkgXAogICAgIFJlbW90ZU9iamVjdFJlZ2lzdHJ5IFwKICAgICBTZWNJdGVtU2hpbSBc
CiAgICAgU2VjSXRlbVNoaW1Qcm94eSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oCmluZGV4
IDAxMjI2M2U3ZTdmMDRiYzFkNzYwNTQ3ZjEwMTZiMGZiY2I2NjRhMjQuLjY4ZWVlMDA0YTFkMGMw
MzAxNGMyNTRlMGUzMGMyYzgzMjg4ZGVlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5o
CkBAIC0zMywxNiArMzMsMjYgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIFJlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uOworCiBjbGFzcyBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YVByb3h5IDogcHVibGljIERyYXdpbmdBcmVhUHJveHkgewogcHVibGljOgogICAgIGV4cGxpY2l0
IFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkoV2ViUGFnZVByb3h5Kik7CiAgICAgdmly
dHVhbCB+UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eSgpOwogCisgICAgY29uc3QgUmVt
b3RlTGF5ZXJUcmVlSG9zdCYgcmVtb3RlTGF5ZXJUcmVlSG9zdCgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVtb3RlTGF5ZXJUcmVlSG9zdDsgfQorICAgIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
c2l6ZURpZENoYW5nZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VTY2FsZUZh
Y3RvckRpZENoYW5nZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGVHZW9t
ZXRyeSgpIE9WRVJSSURFOwogCisgICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVz
c2FnZURlY29kZXImKSBPVkVSUklERTsKKworICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMKKyAgICB2
b2lkIGNvbW1pdExheWVyVHJlZShjb25zdCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYpOwor
ICAgIAogICAgIHZvaWQgc2VuZFVwZGF0ZUdlb21ldHJ5KCk7CiAKICAgICBSZW1vdGVMYXllclRy
ZWVIb3N0IG1fcmVtb3RlTGF5ZXJUcmVlSG9zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eS5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mM2FjODQxZTg5Y2M2NTliN2ZjYmQ0ODhm
MDRjM2FlNWUyNDQ1MTFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0w
LDAgKzEsMjUgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworbWVz
c2FnZXMgLT4gUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eSB7CisgICAgdm9pZCBDb21t
aXRMYXllclRyZWUoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiBsYXllclRyZWVU
cmFuc2FjdGlvbikKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQppbmRleCBiOTg1NWU2
MzNhOGJkNzNjYzVlOTNhNWNlMzJiMTRiOTMxZTdmMGFmLi4wYTgyODY4MjZjOTQwYTNhMGYyYzFh
ODIwNGIxOTAxYzM0NTMxMzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC0y
Niw2ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhUHJveHkuaCIKIAorI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJEcmF3aW5nQXJlYU1lc3NhZ2VzLmgiCiAjaW1w
b3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQcm94eS5oIgpAQCAtMzcs
MTAgKzM4LDEyIEBAIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OlJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhUHJveHkoV2ViUGFnZVByb3h5KiB3CiAgICAgLCBtX3JlbW90ZUxheWVy
VHJlZUhvc3Qod2ViUGFnZVByb3h5KQogICAgICwgbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVHZW9t
ZXRyeShmYWxzZSkKIHsKKyAgICBtX3dlYlBhZ2VQcm94eS0+cHJvY2VzcygpLmFkZE1lc3NhZ2VS
ZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCksICp0aGlzKTsKIH0KIAog
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6flJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHkoKQogeworICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCkucmVtb3ZlTWVzc2Fn
ZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjptZXNz
YWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZVByb3h5LT5wYWdlSUQoKSk7CiB9CiAKIHZvaWQg
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6c2l6ZURpZENoYW5nZSgpCkBAIC03OSw0
ICs4Miw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6c2VuZFVwZGF0
ZUdlb21ldHJ5KCkKICAgICBtX2lzV2FpdGluZ0ZvckRpZFVwZGF0ZUdlb21ldHJ5ID0gdHJ1ZTsK
IH0KIAordm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRy
ZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIGxheWVyVHJlZVRyYW5zYWN0aW9u
KQoreworICAgIG1fcmVtb3RlTGF5ZXJUcmVlSG9zdC51cGRhdGVMYXllclRyZWUobGF5ZXJUcmVl
VHJhbnNhY3Rpb24pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0LmgKaW5kZXggYTQ3OTAx
OGFlNmNjN2QyMDQyMjY0MmNmZTgyM2M1ZTA5M2ZmYzJmYy4uYWY2MmM1MjdiNjkzYjM0N2IxOGRk
MDI4OGIzZTU4YTAyNmYxMjg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9SZW1vdGVMYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9SZW1vdGVMYXllclRyZWVIb3N0LmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgUmVt
b3RlTGF5ZXJUcmVlSG9zdF9oCiAjZGVmaW5lIFJlbW90ZUxheWVyVHJlZUhvc3RfaAogCi0jaW5j
bHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ0FMYXllci5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CkBAIC0zOCwxOSArMzcsMTYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAK
IGNsYXNzIFdlYlBhZ2VQcm94eTsKIAotY2xhc3MgUmVtb3RlTGF5ZXJUcmVlSG9zdCA6IHByaXZh
dGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworY2xhc3MgUmVtb3RlTGF5ZXJUcmVlSG9zdCB7CiBw
dWJsaWM6CiAgICAgZXhwbGljaXQgUmVtb3RlTGF5ZXJUcmVlSG9zdChXZWJQYWdlUHJveHkqKTsK
LSAgICB+UmVtb3RlTGF5ZXJUcmVlSG9zdCgpOworICAgIHZpcnR1YWwgflJlbW90ZUxheWVyVHJl
ZUhvc3QoKTsKIAotcHJpdmF0ZToKLSAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlci4KLSAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNz
YWdlRGVjb2RlciYpIE9WRVJSSURFOworICAgIENBTGF5ZXIgKmdldExheWVyKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCkgY29uc3Q7CiAKLSAgICAvLyBNZXNzYWdlIGhh
bmRsZXJzLgotICAgIHZvaWQgY29tbWl0KGNvbnN0IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9u
Jik7CisgICAgdm9pZCB1cGRhdGVMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb24mKTsKIAotICAgIENBTGF5ZXIgKmdldExheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6
OlBsYXRmb3JtTGF5ZXJJRCkgY29uc3Q7Citwcml2YXRlOgogICAgIENBTGF5ZXIgKmNyZWF0ZUxh
eWVyKFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllckNyZWF0aW9uUHJvcGVydGllcyk7
CiAKICAgICBXZWJQYWdlUHJveHkqIG1fd2ViUGFnZVByb3h5OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0Lm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0Lm1lc3NhZ2Vz
LmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNmMyMTcyNDA2N2MxN2U1Y2VjZGEy
OGNmNThiMTMzYWI0NzI1ZGZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9z
dC5tZXNzYWdlcy5pbgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLSMgQ29weXJpZ2h0
IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotIyBhcmUgbWV0OgotIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnIEFORAotIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0j
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SCi0jIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSMgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IK
LSMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIKLSMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSMgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotbWVzc2FnZXMgLT4gUmVtb3RlTGF5ZXJUcmVl
SG9zdCB7Ci0gICAgdm9pZCBDb21taXQoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
biB0cmFuc2FjdGlvbikKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvUmVtb3RlTGF5ZXJUcmVlSG9zdC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
UmVtb3RlTGF5ZXJUcmVlSG9zdC5tbQppbmRleCA4NzZlMWJjOTVlZDE2ODJlNWU1OWYxYTdkZDgy
MGE4Y2Q4N2MxMWI4Li42MWRkNGIzM2U1NGUzMGViZWM4Mzc1ZDc4MjMwYmExYmZlMTQzMWZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZUhv
c3QubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVI
b3N0Lm1tCkBAIC0yNyw3ICsyNyw2IEBACiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVIb3N0Lmgi
CiAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKLSNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZUhvc3RNZXNz
YWdlcy5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLmgiCiAjaW1w
b3J0ICJSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIgogI2ltcG9ydCAiU2hhcmVhYmxlQml0
bWFwLmgiCkBAIC00NiwxNSArNDUsMTMgQEAgUmVtb3RlTGF5ZXJUcmVlSG9zdDo6UmVtb3RlTGF5
ZXJUcmVlSG9zdChXZWJQYWdlUHJveHkqIHdlYlBhZ2VQcm94eSkKICAgICA6IG1fd2ViUGFnZVBy
b3h5KHdlYlBhZ2VQcm94eSkKICAgICAsIG1fcm9vdExheWVyKG51bGxwdHIpCiB7Ci0gICAgbV93
ZWJQYWdlUHJveHktPnByb2Nlc3MoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90
ZUxheWVyVHJlZUhvc3Q6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV93ZWJQYWdlUHJveHktPnBh
Z2VJRCgpLCAqdGhpcyk7CiB9CiAKIFJlbW90ZUxheWVyVHJlZUhvc3Q6On5SZW1vdGVMYXllclRy
ZWVIb3N0KCkKIHsKLSAgICBtX3dlYlBhZ2VQcm94eS0+cHJvY2VzcygpLnJlbW92ZU1lc3NhZ2VS
ZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlSG9zdDo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOwogfQogCi12b2lkIFJlbW90ZUxheWVyVHJl
ZUhvc3Q6OmNvbW1pdChjb25zdCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rp
b24pCit2b2lkIFJlbW90ZUxheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVyVHJlZShjb25zdCBSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCiB7CiAgICAgTE9HKFJlbW90ZUxh
eWVyVHJlZSwgIiVzIiwgdHJhbnNhY3Rpb24uZGVzY3JpcHRpb24oKS5kYXRhKCkpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
M2M0MDc2MDE4ZDE2YmMxNWFjZWRmY2FiYzljODMyNGVjY2FhY2ZjNy4uMjdkM2JkNjcwMDZhNDdh
NWJmY2FlYmJhN2ZmYjg2NzRkNmY1MjRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTAsNiArNTAsOCBAQAogCQkwRjE3NEFB
MzE0MkE0Q0I3MDAzOTI1MEYgLyogQVBJR2VvbWV0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTc0QUEyMTQyQTRDQjYwMDM5MjUwRiAvKiBBUElH
ZW9tZXRyeS5oICovOyB9OwogCQkwRjE3NEFBNzE0MkFBQzYxMDAzOTI1MEYgLyogV0tHZW9tZXRy
eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjE3
NEFBNjE0MkFBQzYxMDAzOTI1MEYgLyogV0tHZW9tZXRyeS5jcHAgKi87IH07CiAJCTBGQjY1OTIz
MTIwOEI0REIwMDQ0ODE2QyAvKiBEcmF3aW5nQXJlYUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjY1OTIyMTIwOEI0REIwMDQ0ODE2QyAvKiBE
cmF3aW5nQXJlYUluZm8uaCAqLzsgfTsKKwkJMEZGMjRBMkQxODc5RTRCQzAwM0FCRjBDIC8qIFJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGMjRBMkIxODc5RTRCQzAw
M0FCRjBDIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OworCQkwRkYyNEEyRTE4NzlFNEJDMDAzQUJGMEMgLyogUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkYyNEEyQzE4NzlFNEJDMDAzQUJGMEMgLyogUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VzLmggKi87IH07CiAJCTFBMDQzOTc2MTI0RDAzNDgw
MEZGQkZCNSAvKiBQbHVnaW5Qcm9jZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTA0Mzk3NDEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vz
cy5oICovOyB9OwogCQkxQTA0Mzk3NzEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTA0Mzk3
NTEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5jcHAgKi87IH07CiAJCTFBMDQzQTA5
MTI0RDExQTkwMEZGQkZCNSAvKiBXZWJQcm9jZXNzQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEwNDNBMDcxMjREMTFBOTAwRkZCRkI1
IC8qIFdlYlByb2Nlc3NDb25uZWN0aW9uLmggKi87IH07CkBAIC0yMDgsOCArMjEwLDYgQEAKIAkJ
MUFBMkU1MUUxMkU0QzA1RTAwQkM0OTY2IC8qIENHVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQTJFNTFDMTJFNEMwNUUwMEJDNDk2
NiAvKiBDR1V0aWxpdGllcy5jcHAgKi87IH07CiAJCTFBQTNENzVCMTY1MUI0NEYwMDg3MTNEMCAv
KiBSZW1vdGVMYXllclRyZWVIb3N0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFBM0Q3NTkxNjUxQjQ0RjAwODcxM0QwIC8qIFJlbW90ZUxheWVyVHJl
ZUhvc3QubW0gKi87IH07CiAJCTFBQTNENzVDMTY1MUI0NEYwMDg3MTNEMCAvKiBSZW1vdGVMYXll
clRyZWVIb3N0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQUEzRDc1QTE2NTFCNDRGMDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdC5oICovOyB9
OwotCQkxQUEzRDc2MTE2NTFCN0QzMDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdE1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQUEzRDc1RjE2NTFCN0QzMDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdE1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi87IH07Ci0JCTFBQTNENzYyMTY1MUI3RDMwMDg3MTNEMCAvKiBSZW1v
dGVMYXllclRyZWVIb3N0TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBQTNENzYwMTY1MUI3RDMwMDg3MTNEMCAvKiBSZW1vdGVMYXllclRy
ZWVIb3N0TWVzc2FnZXMuaCAqLzsgfTsKIAkJMUFBNDE3Q0IxMkMwMENDQTAwMkJFNjdCIC8qIFRl
eHRDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQUE0MTdDOTEyQzAwQ0NBMDAyQkU2N0IgLyogVGV4dENoZWNrZXIuaCAqLzsgfTsKIAkJMUFB
NDE3RUYxMkMwMEQ4NzAwMkJFNjdCIC8qIFRleHRDaGVja2VyTWFjLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFBNDE3RUQxMkMwMEQ4NzAwMkJFNjdC
IC8qIFRleHRDaGVja2VyTWFjLm1tICovOyB9OwogCQkxQUE0MUFCNTEyQzAyRUM0MDAyQkU2N0Ig
LyogRWRpdG9yU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBQTQxQUI0MTJDMDJFQzQwMDJCRTY3QiAvKiBFZGl0b3JTdGF0ZS5oICovOyB9OwpA
QCAtMTU4OCw2ICsxNTg4LDkgQEAKIAkJMEYxNzRBQTIxNDJBNENCNjAwMzkyNTBGIC8qIEFQSUdl
b21ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSUdlb21ldHJ5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMTc0QUE2MTQyQUFDNjEwMDM5MjUwRiAv
KiBXS0dlb21ldHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdL
R2VvbWV0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkI2NTkyMjEyMDhC
NERCMDA0NDgxNkMgLyogRHJhd2luZ0FyZWFJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERyYXdpbmdBcmVhSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkYyNEEyQjE4NzlFNEJDMDAzQUJGMEMgLyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGMjRBMkMxODc5RTRCQzAwM0FCRjBDIC8q
IFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5TWVzc2Fn
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGMjRBMkYxODc5RTRGRTAwM0FC
RjBDIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMTA1OEM3QjFGRUE1NTg1RTExQ0EyQ0JCIC8qIENvY29hLmZyYW1l
d29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdy
YXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29jb2EuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQ29jb2EuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0
ZT4iOyB9OwogCQkxQTA0Mzk3NDEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5Qcm9jZXNzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMDQzOTc1MTI0RDAzNDgwMEZGQkZCNSAvKiBQbHVnaW5Q
cm9jZXNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpblBy
b2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc2OSw5ICsxNzcyLDYg
QEAKIAkJMUFBMkU1MUMxMkU0QzA1RTAwQkM0OTY2IC8qIENHVXRpbGl0aWVzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENHVXRpbGl0aWVzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFBM0Q3NTkxNjUxQjQ0RjAwODcxM0QwIC8qIFJlbW90ZUxh
eWVyVHJlZUhvc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBS
ZW1vdGVMYXllclRyZWVIb3N0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUEz
RDc1QTE2NTFCNDRGMDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVMYXllclRyZWVIb3N0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTFBQTNENzVEMTY1MUI1QzUwMDg3MTNEMCAvKiBSZW1vdGVMYXll
clRyZWVIb3N0Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJlbW90ZUxheWVy
VHJlZUhvc3QubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBQTNE
NzVGMTY1MUI3RDMwMDg3MTNEMCAvKiBSZW1vdGVMYXllclRyZWVIb3N0TWVzc2FnZVJlY2VpdmVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZUxheWVyVHJl
ZUhvc3RNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkx
QUEzRDc2MDE2NTFCN0QzMDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdE1lc3NhZ2VzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUxheWVyVHJlZUhvc3RNZXNz
YWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUE0MTdDOTEyQzAwQ0NBMDAy
QkU2N0IgLyogVGV4dENoZWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
VGV4dENoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFBNDE3RUQxMkMw
MEQ4NzAwMkJFNjdCIC8qIFRleHRDaGVja2VyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gVGV4dENoZWNrZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBQTQxQUI0MTJDMDJFQzQwMDJCRTY3QiAvKiBFZGl0b3JTdGF0ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0b3JTdGF0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNTM1OSwxMCArNTM1OSwxMCBAQAogCQkJCTg2ODE2MENEMTg3NjNE
NEIwMDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLmggKi8sCiAJCQkJQjg3OEI2MTMx
MzM0MjhEQzAwNjg4OEU5IC8qIENvcnJlY3Rpb25QYW5lbC5oICovLAogCQkJCUI4NzhCNjE0MTMz
NDI4REMwMDY4ODhFOSAvKiBDb3JyZWN0aW9uUGFuZWwubW0gKi8sCisJCQkJMEZGMjRBMkYxODc5
RTRGRTAwM0FCRjBDIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMu
aW4gKi8sCiAJCQkJMUFCMTZBRTAxNjQ4NjU2RDAwMjkwRDYyIC8qIFJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHkuaCAqLywKIAkJCQkxQUIxNkFERjE2NDg2NTZEMDAyOTBENjIgLyogUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSAqLywKIAkJCQkxQUEzRDc1QTE2NTFCNDRG
MDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdC5oICovLAotCQkJCTFBQTNENzVEMTY1MUI1
QzUwMDg3MTNEMCAvKiBSZW1vdGVMYXllclRyZWVIb3N0Lm1lc3NhZ2VzLmluICovLAogCQkJCTFB
QTNENzU5MTY1MUI0NEYwMDg3MTNEMCAvKiBSZW1vdGVMYXllclRyZWVIb3N0Lm1tICovLAogCQkJ
CUUxOEU2OTA5MTY5QjU2M0YwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5LmNwcCAqLywKIAkJ
CQlFMThFNjkwQTE2OUI1NjNGMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eS5oICovLApAQCAt
NTU0MywxMCArNTU0MywxMCBAQAogCQkJCTFBMDQzQjVDMTI0RDVFOUQwMEZGQkZCNSAvKiBQbHVn
aW5Qcm9jZXNzUHJveHlNZXNzYWdlcy5oICovLAogCQkJCTFBOEVGQTZFMTI1MkI4NDEwMEY3MDY3
RiAvKiBQbHVnaW5Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUE4RUZBNkYxMjUy
Qjg0MTAwRjcwNjdGIC8qIFBsdWdpblByb3h5TWVzc2FnZXMuaCAqLywKLQkJCQkxQUEzRDc1RjE2
NTFCN0QzMDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdE1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki8sCi0JCQkJMUFBM0Q3NjAxNjUxQjdEMzAwODcxM0QwIC8qIFJlbW90ZUxheWVyVHJlZUhvc3RN
ZXNzYWdlcy5oICovLAogCQkJCTFBQzEzMzgzMTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmpl
Y3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUFDMTMzODQxODU5MEM0NjAw
RjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCAqLywKKwkJCQkwRkYyNEEy
QjE4NzlFNEJDMDAzQUJGMEMgLyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCisJCQkJMEZGMjRBMkMxODc5RTRCQzAwM0FCRjBDIC8qIFJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oICovLAogCQkJCUUxOEU2OTExMTY5
QjY2N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJ
RTE4RTY5MTIxNjlCNjY3QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltTWVzc2FnZXMuaCAqLywKIAkJ
CQlFMThFNjkxMzE2OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCkBAIC01OTUyLDcgKzU5NTIsNiBAQAogCQkJCTFBQjE2QURFMTY0ODU5ODQw
MDI5MEQ2MiAvKiBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFCMTZBRTIxNjQ4NjU2RDAwMjkwRDYyIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
UHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTNENzVDMTY1MUI0NEYwMDg3MTNEMCAvKiBS
ZW1vdGVMYXllclRyZWVIb3N0LmggaW4gSGVhZGVycyAqLywKLQkJCQkxQUEzRDc2MjE2NTFCN0Qz
MDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdE1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUYxQUM2QzE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQjc4NDcxMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1v
dGVOZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEzMDA2NkUxMTEwRjRG
NzAwMzE5MzdDIC8qIFJlc3BvbnNpdmVuZXNzVGltZXIuaCBpbiBIZWFkZXJzICovLApAQCAtNjE5
Niw2ICs2MTk1LDcgQEAKIAkJCQkzN0M0QzA5NTE4MTRCOUU2MDAzNjg4QjkgLyogV0tCYWNrRm9y
d2FyZExpc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2NDZDMUQxMUREMzk5RjAw
NjQ1NUIwIC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbVJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUFCNDc0REExODRENDQyNTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGMjRBMkUxODc5RTRCQzAwM0FCRjBDIC8qIFJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNEREIzMTcxMjRFQkQxMzAwNDhEMTNDIC8qIFdLQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0NENUVCQkIxNzQ2QTgzRTAwMEMxQzQ1IC8qIFdLQmFzZU1hYy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkNCQUFDNzMxNDRFNjE5RTAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8sCkBAIC03MTMxLDYgKzcxMzEsNyBAQAogCQkJCTI5ODlBNDExMTY3
RDE4MzQwMDRGOTZEMiAvKiBDdXN0b21Qcm90b2NvbE1hbmFnZXJNYWMubW0gaW4gU291cmNlcyAq
LywKIAkJCQkyOTg0RjU4ODE2NEJBMDk1MDA0QkMwQzYgLyogQ3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI5QUQzMDk2MTY0QjRDOTMw
MDcyREVBOSAvKiBDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eU1hYy5tbSBpbiBTb3VyY2VzICov
LAorCQkJCTBGRjI0QTJEMTg3OUU0QkMwMDNBQkYwQyAvKiBSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI5ODRGNTdD
MTY0QjkxNUYwMDRCQzBDNiAvKiBDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0ZDNjdCRDEyRDNDQ0YyMDBBNjA2MTAgLyog
RGVjb2RlckFkYXB0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFODFEOTgxMzFBRTAyMTAw
MjQxOTEwIC8qIERpY3Rpb25hcnlQb3B1cEluZm8uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC03MzE2
LDcgKzczMTcsNiBAQAogCQkJCTFBQjE2QUREMTY0ODU5ODQwMDI5MEQ2MiAvKiBSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBQjE2QUUxMTY0ODY1NkQw
MDI5MEQ2MiAvKiBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUFBM0Q3NUIxNjUxQjQ0RjAwODcxM0QwIC8qIFJlbW90ZUxheWVyVHJlZUhvc3Qu
bW0gaW4gU291cmNlcyAqLywKLQkJCQkxQUEzRDc2MTE2NTFCN0QzMDA4NzEzRDAgLyogUmVtb3Rl
TGF5ZXJUcmVlSG9zdE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUYx
QUM2QjE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gaW4g
U291cmNlcyAqLywKIAkJCQlFMUI3ODQ3MzE2M0YyNTNFMDAwN0I2OTIgLyogUmVtb3RlTmV0d29y
a2luZ0NvbnRleHQubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzExMUIwOTExMkY1RTNDMDAzMzdC
QUIgLyogUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggMDg1NjA3YzNl
ZWY4YmQ0YmZkMzI5MzcwODFkN2Y1Yjk1M2ViNGUxOS4uNDY5OTIzZTYyNGIwMzZhNDczYmE5MWNl
MTMxNGY1NDlhODFhN2YwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhLmgKQEAgLTYxLDYgKzYxLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBz
dGQ6OnVuaXF1ZV9wdHI8RHJhd2luZ0FyZWE+IGNyZWF0ZShXZWJQYWdlKiwgY29uc3QgV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZpcnR1YWwgfkRyYXdpbmdBcmVhKCk7CiAgICAg
CisgICAgRHJhd2luZ0FyZWFUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAg
ICAKICAgICB2b2lkIGRpZFJlY2VpdmVEcmF3aW5nQXJlYU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogCiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzRGlz
cGxheSgpID0gMDsKQEAgLTEzMiw2ICsxMzQsOSBAQCBwcml2YXRlOgogI2VuZGlmCiB9OwogCisj
ZGVmaW5lIERSQVdJTkdfQVJFQV9UWVBFX0NBU1RTKFRvVmFsdWVUeXBlTmFtZSwgcHJlZGljYXRl
KSBcCisgICAgVFlQRV9DQVNUU19CQVNFKFRvVmFsdWVUeXBlTmFtZSwgRHJhd2luZ0FyZWEsIHZh
bHVlLCB2YWx1ZS0+cHJlZGljYXRlLCB2YWx1ZS5wcmVkaWNhdGUpCisKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCiAjZW5kaWYgLy8gRHJhd2luZ0FyZWFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9HcmFwaGljc0xheWVyQ0FSZW1vdGUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvR3JhcGhpY3NMYXllckNBUmVtb3Rl
LmgKaW5kZXggYzJkYWQ0NDBjNDJjZGVhMGVjNGQyNTBkNTQ0NTUzZDQ3ODE1MDFkYS4uYjdiNDVh
ZDdkODU4ODlkMmY1MzAzOTlhMWI0YzA5ZmViNzMxOWY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9HcmFwaGljc0xheWVyQ0FSZW1vdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0dyYXBoaWNzTGF5ZXJDQVJl
bW90ZS5oCkBAIC01MCw2ICs1MCw4IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgorICAg
IHZpcnR1YWwgYm9vbCBpc0dyYXBoaWNzTGF5ZXJDQVJlbW90ZSgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KKwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXI+
IGNyZWF0ZVBsYXRmb3JtQ0FMYXllcihXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlw
ZSwgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyQ2xpZW50KiBvd25lcikgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcj4gY3JlYXRlUGxhdGZv
cm1DQUxheWVyKFBsYXRmb3JtTGF5ZXIqLCBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJDbGllbnQq
IG93bmVyKSBPVkVSUklERTsKIApAQCAtNjIsNiArNjQsOCBAQCBwcml2YXRlOgogICAgIFJlbW90
ZUxheWVyVHJlZUNvbnRleHQqIG1fY29udGV4dDsKIH07CiAKK0dSQVBISUNTTEFZRVJfVFlQRV9D
QVNUUyhHcmFwaGljc0xheWVyQ0FSZW1vdGUsIGlzR3JhcGhpY3NMYXllckNBUmVtb3RlKCkpOwor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5oCmluZGV4IDQ0NDMxYWZkMTkzNTE5YzA0
MjA4YWNmYjU2ZjBhZjVjMGFiMzg1MjUuLjlkNmQ3ZGVhMGRlMTlmNGU0YmQwZTU5NjMxMTViZjY3
MDk2OWM5MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaApAQCAtMTUzLDcgKzE1Myw3IEBA
IHByb3RlY3RlZDoKICAgICBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUoV2ViQ29yZTo6UGxhdGZvcm1D
QUxheWVyOjpMYXllclR5cGUsIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllckNsaWVudCogb3duZXIs
IFJlbW90ZUxheWVyVHJlZUNvbnRleHQqIGNvbnRleHQpOwogCiBwcml2YXRlOgotICAgIHZpcnR1
YWwgYm9vbCBpc1BsYXRmb3JtQ0FMYXllclJlbW90ZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJu
IGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzUGxhdGZvcm1DQUxheWVyUmVtb3RlKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgZW5zdXJlQmFja2luZ1N0b3Jl
KCk7CiAgICAgdm9pZCByZW1vdmVTdWJsYXllcihQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVM
YXllclRyZWVDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1JlbW90ZUxheWVyVHJlZUNvbnRleHQuaAppbmRleCBjOTFjY2I1MmViMjM2ZjQ4OWNiNDU3ZTcw
N2IyM2MyMWU5ZWZkMmVhLi44Mjk3MGMwZGIyMTkwZWJhZjIwODU5ZjQ0NzM4MjAxZGJjMDhmZTNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90
ZUxheWVyVHJlZUNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQuaApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1
ZGUgIldlYlBhZ2UuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXJGYWN0b3J5Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNBTGF5ZXIuaD4KLSNpbmNsdWRlIDxXZWJDb3Jl
L1RpbWVyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
QEAgLTM5LDE1ICszOCwxMiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFBsYXRmb3JtQ0FM
YXllclJlbW90ZTsKIGNsYXNzIFdlYlBhZ2U7CiAKKy8vIEZJWE1FOiB0aGlzIGNsYXNzIGRvZXNu
J3QgZG8gbXVjaCBub3cuIFJvbGwgaW50byBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYT8KIGNs
YXNzIFJlbW90ZUxheWVyVHJlZUNvbnRleHQgOiBwdWJsaWMgV2ViQ29yZTo6R3JhcGhpY3NMYXll
ckZhY3RvcnkgewogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbW90ZUxheWVyVHJlZUNvbnRleHQo
V2ViUGFnZSopOwogICAgIH5SZW1vdGVMYXllclRyZWVDb250ZXh0KCk7CiAKLSAgICB2b2lkIHNl
dFJvb3RMYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7Ci0KLSAgICB2b2lkIHNjaGVkdWxl
TGF5ZXJGbHVzaCgpOwotCiAgICAgdm9pZCBsYXllcldhc0NyZWF0ZWQoUGxhdGZvcm1DQUxheWVy
UmVtb3RlKiwgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyOjpMYXllclR5cGUpOwogICAgIHZvaWQg
bGF5ZXJXaWxsQmVEZXN0cm95ZWQoUGxhdGZvcm1DQUxheWVyUmVtb3RlKik7CiAKQEAgLTU2LDI4
ICs1MiwyMCBAQCBwdWJsaWM6CiAKICAgICBMYXllckhvc3RpbmdNb2RlIGxheWVySG9zdGluZ01v
ZGUoKSBjb25zdCB7IHJldHVybiBtX3dlYlBhZ2UtPmxheWVySG9zdGluZ01vZGUoKTsgfQogCi0g
ICAgdm9pZCBzZXRJc0ZsdXNoaW5nU3VzcGVuZGVkKGJvb2wpOwotCi0gICAgdm9pZCBmb3JjZVJl
cGFpbnQoKTsKKyAgICB2b2lkIGZsdXNoT3V0T2ZUcmVlTGF5ZXJzKCk7CisgICAgdm9pZCBidWls
ZFRyYW5zYWN0aW9uKFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJiwgV2ViQ29yZTo6UGxhdGZv
cm1DQUxheWVyJiByb290TGF5ZXIpOwogCiBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJGYWN0b3J5CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6R3Jh
cGhpY3NMYXllcj4gY3JlYXRlR3JhcGhpY3NMYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2xp
ZW50KikgT1ZFUlJJREU7CiAKLSAgICB2b2lkIGxheWVyRmx1c2hUaW1lckZpcmVkKFdlYkNvcmU6
OlRpbWVyPFJlbW90ZUxheWVyVHJlZUNvbnRleHQ+Kik7Ci0gICAgdm9pZCBmbHVzaExheWVycygp
OwotCiAgICAgV2ViUGFnZSogbV93ZWJQYWdlOwotICAgIFdlYkNvcmU6OlRpbWVyPFJlbW90ZUxh
eWVyVHJlZUNvbnRleHQ+IG1fbGF5ZXJGbHVzaFRpbWVyOwogCiAgICAgUmVmUHRyPFBsYXRmb3Jt
Q0FMYXllclJlbW90ZT4gbV9yb290TGF5ZXI7CiAgICAgVmVjdG9yPFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXIqPiBtX291dE9mVHJlZUxheWVyczsKIAogICAgIFZlY3RvcjxSZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbjo6TGF5ZXJDcmVhdGlvblByb3BlcnRpZXM+IG1fY3JlYXRlZExheWVyczsKICAg
ICBWZWN0b3I8V2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEPiBtX2Rlc3Ry
b3llZExheWVyczsKLQotICAgIGJvb2wgbV9pc0ZsdXNoaW5nU3VzcGVuZGVkOwotICAgIGJvb2wg
bV9oYXNEZWZlcnJlZEZsdXNoOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJl
ZUNvbnRleHQubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90
ZUxheWVyVHJlZUNvbnRleHQubW0KaW5kZXggNzM4Njk2MmQ5YmJiYmY0N2VkZWU1NjRjYzA2MTQ0
NjJjMTFhNzM3MC4uN2FkY2E2ZWE1MDA4ZjFkMTU0NDA0ZGM2ODU0MzNiOTEwY2M5Y2RjMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXll
clRyZWVDb250ZXh0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5tbQpAQCAtMzAsNyArMzAsNiBAQAogI2ltcG9ydCAi
R3JhcGhpY3NMYXllckNBUmVtb3RlLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUu
aCIKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgiCi0jaW1wb3J0ICJSZW1v
dGVMYXllclRyZWVIb3N0TWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlBhZ2UuaCIKICNpbXBvcnQg
PFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL01haW5GcmFtZS5oPgpAQCAt
NDMsOSArNDIsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogUmVtb3RlTGF5ZXJUcmVlQ29udGV4
dDo6UmVtb3RlTGF5ZXJUcmVlQ29udGV4dChXZWJQYWdlKiB3ZWJQYWdlKQogICAgIDogbV93ZWJQ
YWdlKHdlYlBhZ2UpCi0gICAgLCBtX2xheWVyRmx1c2hUaW1lcih0aGlzLCAmUmVtb3RlTGF5ZXJU
cmVlQ29udGV4dDo6bGF5ZXJGbHVzaFRpbWVyRmlyZWQpCi0gICAgLCBtX2lzRmx1c2hpbmdTdXNw
ZW5kZWQoZmFsc2UpCi0gICAgLCBtX2hhc0RlZmVycmVkRmx1c2goZmFsc2UpCiB7CiB9CiAKQEAg
LTUzLDE2ICs0OSw2IEBAIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6On5SZW1vdGVMYXllclRyZWVD
b250ZXh0KCkKIHsKIH0KIAotdm9pZCBSZW1vdGVMYXllclRyZWVDb250ZXh0OjpzZXRSb290TGF5
ZXIoR3JhcGhpY3NMYXllciogcm9vdExheWVyKQotewotICAgIGlmICghcm9vdExheWVyKSB7Ci0g
ICAgICAgIG1fcm9vdExheWVyID0gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIG1fcm9vdExheWVyID0gc3RhdGljX2Nhc3Q8UGxhdGZvcm1DQUxheWVyUmVtb3RlKj4oc3Rh
dGljX2Nhc3Q8R3JhcGhpY3NMYXllckNBUmVtb3RlKj4ocm9vdExheWVyKS0+cGxhdGZvcm1DQUxh
eWVyKCkpOwotfQotCiB2b2lkIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OmxheWVyV2FzQ3JlYXRl
ZChQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIGxheWVyLCBQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlw
ZSB0eXBlKQogewogICAgIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllckNyZWF0aW9u
UHJvcGVydGllcyBjcmVhdGlvblByb3BlcnRpZXM7CkBAIC05NCw3OCArODAsMjYgQEAgdm9pZCBS
ZW1vdGVMYXllclRyZWVDb250ZXh0OjpvdXRPZlRyZWVMYXllcldpbGxCZVJlbW92ZWQoR3JhcGhp
Y3NMYXllciogbGF5ZXIpCiAgICAgbV9vdXRPZlRyZWVMYXllcnMucmVtb3ZlKGxheWVySW5kZXgp
OwogfQogCi12b2lkIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCgp
Ci17Ci0gICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKLX0KLQogc3RkOjp1
bmlxdWVfcHRyPEdyYXBoaWNzTGF5ZXI+IFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OmNyZWF0ZUdy
YXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQogewogICAgIHJldHVybiBz
dGQ6Om1ha2VfdW5pcXVlPEdyYXBoaWNzTGF5ZXJDQVJlbW90ZT4oY2xpZW50LCB0aGlzKTsKIH0K
IAotdm9pZCBSZW1vdGVMYXllclRyZWVDb250ZXh0OjpsYXllckZsdXNoVGltZXJGaXJlZChXZWJD
b3JlOjpUaW1lcjxSZW1vdGVMYXllclRyZWVDb250ZXh0PiopCit2b2lkIFJlbW90ZUxheWVyVHJl
ZUNvbnRleHQ6OmZsdXNoT3V0T2ZUcmVlTGF5ZXJzKCkKIHsKLSAgICBmbHVzaExheWVycygpOwot
fQotCi12b2lkIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OmZsdXNoTGF5ZXJzKCkKLXsKLSAgICBp
ZiAoIW1fcm9vdExheWVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobV9pc0ZsdXNoaW5n
U3VzcGVuZGVkKSB7Ci0gICAgICAgIG1faGFzRGVmZXJyZWRGbHVzaCA9IHRydWU7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiB0cmFuc2Fj
dGlvbjsKLQotICAgIHRyYW5zYWN0aW9uLnNldFJvb3RMYXllcklEKG1fcm9vdExheWVyLT5sYXll
cklEKCkpOwotCi0gICAgbV93ZWJQYWdlLT5sYXlvdXRJZk5lZWRlZCgpOwotICAgIG1fd2ViUGFn
ZS0+Y29yZVBhZ2UoKS0+bWFpbkZyYW1lKCkudmlldygpLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJ
bmNsdWRpbmdTdWJmcmFtZXMoKTsKLQogICAgIGZvciAoY29uc3QgYXV0byYgbGF5ZXIgOiBtX291
dE9mVHJlZUxheWVycykKICAgICAgICAgbGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRo
aXNMYXllck9ubHkoKTsKLQotICAgIHRyYW5zYWN0aW9uLnNldENyZWF0ZWRMYXllcnMoc3RkOjpt
b3ZlKG1fY3JlYXRlZExheWVycykpOwotICAgIHRyYW5zYWN0aW9uLnNldERlc3Ryb3llZExheWVy
SURzKHN0ZDo6bW92ZShtX2Rlc3Ryb3llZExheWVycykpOwotICAgIG1fcm9vdExheWVyLT5yZWN1
cnNpdmVCdWlsZFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKTsKLQotICAgIG1fd2ViUGFnZS0+c2Vu
ZChNZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlSG9zdDo6Q29tbWl0KHRyYW5zYWN0aW9uKSk7Ci19
Ci0KLXZvaWQgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6c2V0SXNGbHVzaGluZ1N1c3BlbmRlZChi
b29sIGlzRnJvemVuKQotewotICAgIGlmIChtX2lzRmx1c2hpbmdTdXNwZW5kZWQgPT0gaXNGcm96
ZW4pCi0gICAgICAgIHJldHVybjsKLQotICAgIG1faXNGbHVzaGluZ1N1c3BlbmRlZCA9IGlzRnJv
emVuOwotCi0gICAgaWYgKCFtX2lzRmx1c2hpbmdTdXNwZW5kZWQgJiYgbV9oYXNEZWZlcnJlZEZs
dXNoKSB7Ci0gICAgICAgIG1faGFzRGVmZXJyZWRGbHVzaCA9IGZhbHNlOwotICAgICAgICBzY2hl
ZHVsZUxheWVyRmx1c2goKTsKLSAgICB9CiB9CiAKLXZvaWQgUmVtb3RlTGF5ZXJUcmVlQ29udGV4
dDo6Zm9yY2VSZXBhaW50KCkKK3ZvaWQgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6YnVpbGRUcmFu
c2FjdGlvbihSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIFBsYXRmb3Jt
Q0FMYXllciYgcm9vdExheWVyKQogewotICAgIGlmIChtX2lzRmx1c2hpbmdTdXNwZW5kZWQpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1fd2ViUGFnZS0+Y29y
ZVBhZ2UoKS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVy
c2VOZXh0KCkpIHsKLSAgICAgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBmcmFtZS0+dmlldygp
OwotICAgICAgICBpZiAoIWZyYW1lVmlldyB8fCAhZnJhbWVWaWV3LT50aWxlZEJhY2tpbmcoKSkK
LSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGZyYW1lVmlldy0+dGlsZWRCYWNraW5n
KCktPmZvcmNlUmVwYWludCgpOwotICAgIH0KKyAgICBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUmIHJv
b3RMYXllclJlbW90ZSA9IHRvUGxhdGZvcm1DQUxheWVyUmVtb3RlKHJvb3RMYXllcik7CisgICAg
dHJhbnNhY3Rpb24uc2V0Um9vdExheWVySUQocm9vdExheWVyUmVtb3RlLmxheWVySUQoKSk7Cisg
ICAgCisgICAgdHJhbnNhY3Rpb24uc2V0Q3JlYXRlZExheWVycyhzdGQ6Om1vdmUobV9jcmVhdGVk
TGF5ZXJzKSk7CisgICAgdHJhbnNhY3Rpb24uc2V0RGVzdHJveWVkTGF5ZXJJRHMoc3RkOjptb3Zl
KG1fZGVzdHJveWVkTGF5ZXJzKSk7CiAKLSAgICBmbHVzaExheWVycygpOworICAgIHJvb3RMYXll
clJlbW90ZS5yZWN1cnNpdmVCdWlsZFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgKaW5k
ZXggZjc1NDE1MWVlZGE4OTc3ZmYyYzEwMDA2NTMxMzVhMjdiMzgwMWJmZS4uOTgxYzIyZWU1NjUy
ODk1MGVhNGNlZTU0NGUwNGVjZWI2YWIwMjUzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWEuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCiAj
aW5jbHVkZSAiR3JhcGhpY3NMYXllckNBUmVtb3RlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFw
aGljc0xheWVyQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9UaW1lci5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg2LDYgKzg3LDkgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZU1haW5GcmFtZUNsaXBzVG9FeHBvc2VkUmVjdCgpOwog
ICAgIHZvaWQgdXBkYXRlU2Nyb2xsZWRFeHBvc2VkUmVjdCgpOwogCisgICAgdm9pZCBsYXllckZs
dXNoVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYT4q
KTsKKyAgICB2b2lkIGZsdXNoTGF5ZXJzKCk7CisKICAgICBXZWJDb3JlOjpUaWxlZEJhY2tpbmcq
IG1haW5GcmFtZVRpbGVkQmFja2luZygpIGNvbnN0OwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJl
bW90ZUxheWVyVHJlZUNvbnRleHQ+IG1fcmVtb3RlTGF5ZXJUcmVlQ29udGV4dDsKQEAgLTk4LDgg
KzEwMiwxNCBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBtX2V4cG9zZWRSZWN0
OwogICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBtX3Njcm9sbGVkRXhwb3NlZFJlY3Q7CiAgICAgYm9v
bCBtX2NsaXBzVG9FeHBvc2VkUmVjdDsKKworICAgIFdlYkNvcmU6OlRpbWVyPFJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhPiBtX2xheWVyRmx1c2hUaW1lcjsKKyAgICBib29sIG1faXNGbHVzaGlu
Z1N1c3BlbmRlZDsKKyAgICBib29sIG1faGFzRGVmZXJyZWRGbHVzaDsKIH07CiAKK0RSQVdJTkdf
QVJFQV9UWVBFX0NBU1RTKFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLCB0eXBlKCkgPT0gRHJh
d2luZ0FyZWFUeXBlUmVtb3RlTGF5ZXJUcmVlKTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
ICNlbmRpZiAvLyBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYV9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYS5tbQppbmRleCAyMjg1NTBhNDVlOTc1MGU1MTZkZjNlMjA0M2VjOGM4
NTNhOTNhNjllLi5mZmRkOTk4YmE4Zjk4MDQxYmI0NTQ4NzM2MDg2ZTRhYTZkZWU2OTM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KQEAgLTI5LDYgKzI5LDcgQEAKICNp
bXBvcnQgIkRyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oIgogI2ltcG9ydCAiR3JhcGhpY3NMYXll
ckNBUmVtb3RlLmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVDb250ZXh0LmgiCisjaW1wb3J0
ICJSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5TWVzc2FnZXMuaCIKICNpbXBvcnQgIldl
YlBhZ2UuaCIKICNpbXBvcnQgPFdlYkNvcmUvRnJhbWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJh
bWVWaWV3Lmg+CkBAIC00NCw2ICs0NSw5IEBAIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYShXZWJQYWdlKiB3ZWJQYWdlLCBjb25zdCBXCiAgICAg
OiBEcmF3aW5nQXJlYShEcmF3aW5nQXJlYVR5cGVSZW1vdGVMYXllclRyZWUsIHdlYlBhZ2UpCiAg
ICAgLCBtX3JlbW90ZUxheWVyVHJlZUNvbnRleHQoc3RkOjptYWtlX3VuaXF1ZTxSZW1vdGVMYXll
clRyZWVDb250ZXh0Pih3ZWJQYWdlKSkKICAgICAsIG1fY2xpcHNUb0V4cG9zZWRSZWN0KGZhbHNl
KQorICAgICwgbV9sYXllckZsdXNoVGltZXIodGhpcywgJlJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhOjpsYXllckZsdXNoVGltZXJGaXJlZCkKKyAgICAsIG1faXNGbHVzaGluZ1N1c3BlbmRlZChm
YWxzZSkKKyAgICAsIG1faGFzRGVmZXJyZWRGbHVzaChmYWxzZSkKIHsKICAgICB3ZWJQYWdlLT5j
b3JlUGFnZSgpLT5zZXR0aW5ncygpLnNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKHRydWUpOwogI2lm
IFBMQVRGT1JNKElPUykKQEAgLTc1LDE0ICs3OSw3IEBAIEdyYXBoaWNzTGF5ZXJGYWN0b3J5KiBS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6Z3JhcGhpY3NMYXllckZhY3RvcnkoKQogCiB2b2lk
IFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzZXRSb290Q29tcG9zaXRpbmdMYXllcihHcmFw
aGljc0xheWVyKiByb290TGF5ZXIpCiB7Ci0gICAgbV9yb290TGF5ZXIgPSByb290TGF5ZXIgPyBz
dGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ0FSZW1vdGUqPihyb290TGF5ZXIpLT5wbGF0Zm9ybUNB
TGF5ZXIoKSA6IG51bGxwdHI7Ci0KLSAgICBtX3JlbW90ZUxheWVyVHJlZUNvbnRleHQtPnNldFJv
b3RMYXllcihyb290TGF5ZXIpOwotfQotCi12b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
OjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCi17Ci0gICAgbV9yZW1vdGVMYXllclRy
ZWVDb250ZXh0LT5zY2hlZHVsZUxheWVyRmx1c2goKTsKKyAgICBtX3Jvb3RMYXllciA9IHJvb3RM
YXllciA/IHRvR3JhcGhpY3NMYXllckNBUmVtb3RlKHJvb3RMYXllciktPnBsYXRmb3JtQ0FMYXll
cigpIDogbnVsbHB0cjsKIH0KIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6dXBk
YXRlR2VvbWV0cnkoY29uc3QgSW50U2l6ZSYgdmlld1NpemUsIGNvbnN0IEludFNpemUmIGxheWVy
UG9zaXRpb24pCkBAIC0yMDIsMTIgKzE5OSwzMSBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhOjpzZXREZXZpY2VTY2FsZUZhY3RvcihmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcikKIAog
dm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2V0TGF5ZXJUcmVlU3RhdGVJc0Zyb3pl
bihib29sIGlzRnJvemVuKQogewotICAgIG1fcmVtb3RlTGF5ZXJUcmVlQ29udGV4dC0+c2V0SXNG
bHVzaGluZ1N1c3BlbmRlZChpc0Zyb3plbik7CisgICAgaWYgKG1faXNGbHVzaGluZ1N1c3BlbmRl
ZCA9PSBpc0Zyb3plbikKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9pc0ZsdXNoaW5nU3VzcGVu
ZGVkID0gaXNGcm96ZW47CisKKyAgICBpZiAoIW1faXNGbHVzaGluZ1N1c3BlbmRlZCAmJiBtX2hh
c0RlZmVycmVkRmx1c2gpIHsKKyAgICAgICAgbV9oYXNEZWZlcnJlZEZsdXNoID0gZmFsc2U7Cisg
ICAgICAgIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCk7CisgICAgfQogfQogCiB2b2lk
IFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmb3JjZVJlcGFpbnQoKQogewotICAgIG1fcmVt
b3RlTGF5ZXJUcmVlQ29udGV4dC0+Zm9yY2VSZXBhaW50KCk7CisgICAgaWYgKG1faXNGbHVzaGlu
Z1N1c3BlbmRlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yIChGcmFtZSogZnJhbWUgPSAm
bV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUt
PnRyZWUoKS50cmF2ZXJzZU5leHQoKSkgeworICAgICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9
IGZyYW1lLT52aWV3KCk7CisgICAgICAgIGlmICghZnJhbWVWaWV3IHx8ICFmcmFtZVZpZXctPnRp
bGVkQmFja2luZygpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgZnJhbWVWaWV3
LT50aWxlZEJhY2tpbmcoKS0+Zm9yY2VSZXBhaW50KCk7CisgICAgfQorCisgICAgZmx1c2hMYXll
cnMoKTsKIH0KIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2V0RXhwb3NlZFJl
Y3QoY29uc3QgRmxvYXRSZWN0JiBleHBvc2VkUmVjdCkKQEAgLTI2OSw0ICsyODUsNDEgQEAgVGls
ZWRCYWNraW5nKiBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6bWFpbkZyYW1lVGlsZWRCYWNr
aW5nKCkgY29uc3QKICAgICByZXR1cm4gZnJhbWVWaWV3ID8gZnJhbWVWaWV3LT50aWxlZEJhY2tp
bmcoKSA6IDA7CiB9CiAKK3ZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxl
Q29tcG9zaXRpbmdMYXllckZsdXNoKCkKK3sKKyAgICBpZiAobV9sYXllckZsdXNoVGltZXIuaXNB
Y3RpdmUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRP
bmVTaG90KDApOworfQorCit2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpsYXllckZs
dXNoVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYT4q
KQoreworICAgIGZsdXNoTGF5ZXJzKCk7Cit9CisKK3ZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWE6OmZsdXNoTGF5ZXJzKCkKK3sKKyAgICBpZiAoIW1fcm9vdExheWVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpZiAobV9pc0ZsdXNoaW5nU3VzcGVuZGVkKSB7CisgICAgICAgIG1faGFz
RGVmZXJyZWRGbHVzaCA9IHRydWU7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3dl
YlBhZ2UtPmxheW91dElmTmVlZGVkKCk7CisgICAgbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWlu
RnJhbWUoKS52aWV3KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygp
OworCisgICAgbV9yZW1vdGVMYXllclRyZWVDb250ZXh0LT5mbHVzaE91dE9mVHJlZUxheWVycygp
OworCisgICAgQVNTRVJUKG1fcm9vdExheWVyKTsKKworICAgIC8vIEZJWE1FOiBtaW5pemUgdGhl
c2UgdHJhbnNhY3Rpb25zIGlmIG5vdGhpbmcgY2hhbmdlZC4KKyAgICBSZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbiBsYXllclRyYW5zYWN0aW9uOworICAgIG1fcmVtb3RlTGF5ZXJUcmVlQ29udGV4
dC0+YnVpbGRUcmFuc2FjdGlvbihsYXllclRyYW5zYWN0aW9uLCAqbV9yb290TGF5ZXIpOworCisg
ICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5OjpDb21taXRMYXllclRyZWUobGF5ZXJUcmFuc2FjdGlvbikpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220399</attachid>
            <date>2014-01-05 13:26:09 -0800</date>
            <delta_ts>2014-01-05 19:58:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126501-20140105132609.patch</filename>
            <type>text/plain</type>
            <size>40844</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxMzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIyOTQ3Y2E5YWNlOGMw
ZDczZjMyNDE2MjcxYTg5NTMwZTU1OTkyNy4uZmUwZTc4ZjYxNzNlMjM3NDU1MjliNTdmODhiODkx
NmFiMDIwNDQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAxLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgcmVzcG9u
c2liaWxpdHkgZm9yIHJlbW90ZSBsYXllciB0cmVlIGNvbW1pdHRpbmcgdG8gUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNjUwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCB0eXBlLXNhZmUgY2FzdGluZyB0byBHcmFwaGljc0xheWVyLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllcjo6aXNHcmFwaGljc0xheWVyQ0EpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllcjo6aXNHcmFwaGljc0xheWVyQ0FSZW1vdGUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NMYXllckNBOjppc0dyYXBoaWNzTGF5ZXJDQSk6CisKIDIwMTQtMDEtMDQgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUHJlcGFyZSB0aGUgU2Nyb2xs
aW5nVHJlZSBmb3IgcmVtb3RlIHVzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGZiNjU2Y2E4MGUxNTJmMmFjZjQy
ZjMwMjljOGM5YzdjYTU2N2JjZTMuLmYxYTgyZGJhZDE1NTEzYTkxZDhkNGY3MzYxY2U1YmEzMzE3
OTY2N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NCBAQAorMjAxNC0wMS0wNSAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIHJlc3BvbnNpYmls
aXR5IGZvciByZW1vdGUgbGF5ZXIgdHJlZSBjb21taXR0aW5nIHRvIFJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjY1MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAg
CisgICAgICAgIFNvb24gd2Ugc2hhbGwgbmVlZCB0byBkbyBhdG9taWMgY29tbWl0cyBvZiBib3Ro
IHRoZSByZW1vdGUgbGF5ZXIgdHJlZSwgYW5kCisgICAgICAgIHRoZSByZW1vdGUgc2Nyb2xsaW5n
IHRyZWUuIFBhdmUgdGhlIHdheSBieSBtb3ZpbmcgcmVzcG9uc2liaWxpdHkgZm9yIHJlbW90ZQor
ICAgICAgICBsYXllciB0cmVlIGNvbW1pdHRpbmcgdG8gUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWEuCisgICAgICAgIAorICAgICAgICBTbyBtb3ZlIHRoZSBmbHVzaGluZyBsb2dpYyBmcm9tIFJl
bW90ZUxheWVyVHJlZUhvc3QgdG8gUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuCisgICAgICAg
IEFmdGVyIHRoaXMgY2hhbmdlLCBSZW1vdGVMYXllclRyZWVIb3N0IGRvZXNuJ3QgZG8gbXVjaCBh
bmQgY291bGQgcG9zc2libHkgYmUKKyAgICAgICAgcmVtb3ZlZCBpbiBmdXR1cmUuCisgICAgICAg
IAorICAgICAgICBBbHNvIGFkZCB0eXBlLXNhZmUgY2FzdGluZyB0byBHcmFwaGljc0xheWVyIGFu
ZCBEcmF3aW5nQXJlYS4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IE91dCB3aXRo
IFJlbW90ZUxheWVyVHJlZUhvc3QsIGluIHdpdGggUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eQorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eS5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5
OjpyZW1vdGVMYXllclRyZWVIb3N0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1JlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMuaW46IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZUhvc3QubWVzc2FnZXMuaW4uCisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1t
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5KTogQWRkIG1lc3NhZ2UgcmVjZWl2ZXIuCisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6On5SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5KTogUmVtb3ZlIG1lc3NhZ2UgcmVjZWl2ZXIuCisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJl
ZSk6IEhhbmQgdGhlIHRyYW5zYWN0aW9uIG9mZiB0byB0aGUgbGF5ZXIKKyAgICAgICAgdHJlZSBo
b3N0LgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9zdC5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9zdC5tbToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTGF5ZXJUcmVlSG9zdDo6UmVtb3RlTGF5ZXJUcmVlSG9zdCk6IE5vIGxvbmdl
ciBhIG1lc3NhZ2UgcmVjZWl2ZXIuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZUhv
c3Q6On5SZW1vdGVMYXllclRyZWVIb3N0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJU
cmVlSG9zdDo6dXBkYXRlTGF5ZXJUcmVlKToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
Lmg6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhOjp0eXBlKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL0dyYXBoaWNzTGF5ZXJDQVJlbW90ZS5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVDb250ZXh0OjpSZW1vdGVMYXllclRyZWVDb250
ZXh0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6Zmx1c2hPdXRP
ZlRyZWVMYXllcnMpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVDb250ZXh0Ojpi
dWlsZFRyYW5zYWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWE6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhKToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNldFJvb3RDb21wb3NpdGlu
Z0xheWVyKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNl
dExheWVyVHJlZVN0YXRlSXNGcm96ZW4pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYTo6Zm9yY2VSZXBhaW50KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmxheWVyRmx1c2hUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmZsdXNo
TGF5ZXJzKToKKwogMjAxNC0wMS0wNCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0dUS10gW0NNYWtlXSBJbXByb3ZlIHRoZSB3YXkgd2UgbG9jYXRl
IGdvYmplY3QtaW50cm9zcGVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDY0NGVlMDQ5NTk4NTZmODRmOWY3YjIxNmRkNDBi
NTk5OWU2NDU4M2UuLjUxZmQ3NjAxMjcyOWRjYTc2OGQyMTJlYjdkMzZjODRmMTY5NGRiNWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgK
QEAgLTQ5Myw2ICs0OTMsOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuVGhyb3R0
bGVMYXllckZsdXNoKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZpcnR1YWwgYm9v
bCBpc0dyYXBoaWNzTGF5ZXJDQSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVh
bCBib29sIGlzR3JhcGhpY3NMYXllckNBUmVtb3RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
KwogcHJvdGVjdGVkOgogICAgIC8vIFNob3VsZCBiZSBjYWxsZWQgZnJvbSBkZXJpdmVkIGNsYXNz
IGRlc3RydWN0b3JzLiBTaG91bGQgY2FsbCB3aWxsQmVEZXN0cm95ZWQoKSBvbiBzdXBlci4KICAg
ICB2aXJ0dWFsIHZvaWQgd2lsbEJlRGVzdHJveWVkKCk7CkBAIC01ODcsNiArNTkwLDggQEAgcHJv
dGVjdGVkOgogICAgIEN1c3RvbUFwcGVhcmFuY2UgbV9jdXN0b21BcHBlYXJhbmNlOwogfTsKIAor
I2RlZmluZSBHUkFQSElDU0xBWUVSX1RZUEVfQ0FTVFMoVG9WYWx1ZVR5cGVOYW1lLCBwcmVkaWNh
dGUpIFwKKyAgICBUWVBFX0NBU1RTX0JBU0UoVG9WYWx1ZVR5cGVOYW1lLCBXZWJDb3JlOjpHcmFw
aGljc0xheWVyLCB2YWx1ZSwgdmFsdWUtPnByZWRpY2F0ZSwgdmFsdWUucHJlZGljYXRlKQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmgKaW5kZXggYWE3Y2IwMjk1M2M1Yjk1MGM2
ODA4MmE4NWM3NmY5MjI5NTYyZGY4ZS4uMWMzN2QwMGZkYzM0NTZhNmFkMDFlNzE0MzczNDBhNjFj
ZDBiNmE1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
R3JhcGhpY3NMYXllckNBLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvR3JhcGhpY3NMYXllckNBLmgKQEAgLTE2Myw2ICsxNjMsOCBAQCBwcm90ZWN0ZWQ6CiAgICAg
dmlydHVhbCB2b2lkIHNldE9wYWNpdHlJbnRlcm5hbChmbG9hdCk7CiAKIHByaXZhdGU6CisgICAg
dmlydHVhbCBib29sIGlzR3JhcGhpY3NMYXllckNBKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQor
CiAgICAgdmlydHVhbCB2b2lkIHdpbGxCZURlc3Ryb3llZCgpOwogCiAgICAgLy8gUGxhdGZvcm1D
QUxheWVyQ2xpZW50IG92ZXJyaWRlcwpAQCAtNTI2LDYgKzUyOCw4IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX2lzQ29tbWl0dGluZ0NoYW5nZXM7CiB9OwogCitHUkFQSElDU0xBWUVSX1RZUEVfQ0FT
VFMoR3JhcGhpY3NMYXllckNBLCBpc0dyYXBoaWNzTGF5ZXJDQSgpKTsKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDg3MzEzNmJi
MTM2ZTcxMDEyMmM3M2Q3ZTIyYTY1M2Q5MmE2YmI4YWUuLmE4ODgwMzBkNDlmZTM3MGMxZDVkZTNl
M2E3MTFlNzYyZmY2ODQ2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtODUs
NyArODUsNyBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBQbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbk1hbmFnZXIgXAogICAgIFBsdWdpblByb2Nlc3NQcm94eSBcCiAgICAgUGx1Z2luUHJveHkg
XAotICAgIFJlbW90ZUxheWVyVHJlZUhvc3QgXAorICAgIFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHkgXAogICAgIFJlbW90ZU9iamVjdFJlZ2lzdHJ5IFwKICAgICBTZWNJdGVtU2hpbSBc
CiAgICAgU2VjSXRlbVNoaW1Qcm94eSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oCmluZGV4
IDAxMjI2M2U3ZTdmMDRiYzFkNzYwNTQ3ZjEwMTZiMGZiY2I2NjRhMjQuLjY4ZWVlMDA0YTFkMGMw
MzAxNGMyNTRlMGUzMGMyYzgzMjg4ZGVlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5o
CkBAIC0zMywxNiArMzMsMjYgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIFJlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uOworCiBjbGFzcyBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YVByb3h5IDogcHVibGljIERyYXdpbmdBcmVhUHJveHkgewogcHVibGljOgogICAgIGV4cGxpY2l0
IFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkoV2ViUGFnZVByb3h5Kik7CiAgICAgdmly
dHVhbCB+UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eSgpOwogCisgICAgY29uc3QgUmVt
b3RlTGF5ZXJUcmVlSG9zdCYgcmVtb3RlTGF5ZXJUcmVlSG9zdCgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVtb3RlTGF5ZXJUcmVlSG9zdDsgfQorICAgIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
c2l6ZURpZENoYW5nZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VTY2FsZUZh
Y3RvckRpZENoYW5nZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGVHZW9t
ZXRyeSgpIE9WRVJSSURFOwogCisgICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVz
c2FnZURlY29kZXImKSBPVkVSUklERTsKKworICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMKKyAgICB2
b2lkIGNvbW1pdExheWVyVHJlZShjb25zdCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYpOwor
ICAgIAogICAgIHZvaWQgc2VuZFVwZGF0ZUdlb21ldHJ5KCk7CiAKICAgICBSZW1vdGVMYXllclRy
ZWVIb3N0IG1fcmVtb3RlTGF5ZXJUcmVlSG9zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eS5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mM2FjODQxZTg5Y2M2NTliN2ZjYmQ0ODhm
MDRjM2FlNWUyNDQ1MTFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0w
LDAgKzEsMjUgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworbWVz
c2FnZXMgLT4gUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eSB7CisgICAgdm9pZCBDb21t
aXRMYXllclRyZWUoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiBsYXllclRyZWVU
cmFuc2FjdGlvbikKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQppbmRleCBiOTg1NWU2
MzNhOGJkNzNjYzVlOTNhNWNlMzJiMTRiOTMxZTdmMGFmLi4wYTgyODY4MjZjOTQwYTNhMGYyYzFh
ODIwNGIxOTAxYzM0NTMxMzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC0y
Niw2ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhUHJveHkuaCIKIAorI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJEcmF3aW5nQXJlYU1lc3NhZ2VzLmgiCiAjaW1w
b3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQcm94eS5oIgpAQCAtMzcs
MTAgKzM4LDEyIEBAIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OlJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhUHJveHkoV2ViUGFnZVByb3h5KiB3CiAgICAgLCBtX3JlbW90ZUxheWVy
VHJlZUhvc3Qod2ViUGFnZVByb3h5KQogICAgICwgbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVHZW9t
ZXRyeShmYWxzZSkKIHsKKyAgICBtX3dlYlBhZ2VQcm94eS0+cHJvY2VzcygpLmFkZE1lc3NhZ2VS
ZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCksICp0aGlzKTsKIH0KIAog
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6flJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHkoKQogeworICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCkucmVtb3ZlTWVzc2Fn
ZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjptZXNz
YWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZVByb3h5LT5wYWdlSUQoKSk7CiB9CiAKIHZvaWQg
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6c2l6ZURpZENoYW5nZSgpCkBAIC03OSw0
ICs4Miw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6c2VuZFVwZGF0
ZUdlb21ldHJ5KCkKICAgICBtX2lzV2FpdGluZ0ZvckRpZFVwZGF0ZUdlb21ldHJ5ID0gdHJ1ZTsK
IH0KIAordm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRy
ZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIGxheWVyVHJlZVRyYW5zYWN0aW9u
KQoreworICAgIG1fcmVtb3RlTGF5ZXJUcmVlSG9zdC51cGRhdGVMYXllclRyZWUobGF5ZXJUcmVl
VHJhbnNhY3Rpb24pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0LmgKaW5kZXggYTQ3OTAx
OGFlNmNjN2QyMDQyMjY0MmNmZTgyM2M1ZTA5M2ZmYzJmYy4uYWY2MmM1MjdiNjkzYjM0N2IxOGRk
MDI4OGIzZTU4YTAyNmYxMjg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9SZW1vdGVMYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9SZW1vdGVMYXllclRyZWVIb3N0LmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgUmVt
b3RlTGF5ZXJUcmVlSG9zdF9oCiAjZGVmaW5lIFJlbW90ZUxheWVyVHJlZUhvc3RfaAogCi0jaW5j
bHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ0FMYXllci5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CkBAIC0zOCwxOSArMzcsMTYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAK
IGNsYXNzIFdlYlBhZ2VQcm94eTsKIAotY2xhc3MgUmVtb3RlTGF5ZXJUcmVlSG9zdCA6IHByaXZh
dGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworY2xhc3MgUmVtb3RlTGF5ZXJUcmVlSG9zdCB7CiBw
dWJsaWM6CiAgICAgZXhwbGljaXQgUmVtb3RlTGF5ZXJUcmVlSG9zdChXZWJQYWdlUHJveHkqKTsK
LSAgICB+UmVtb3RlTGF5ZXJUcmVlSG9zdCgpOworICAgIHZpcnR1YWwgflJlbW90ZUxheWVyVHJl
ZUhvc3QoKTsKIAotcHJpdmF0ZToKLSAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlci4KLSAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNz
YWdlRGVjb2RlciYpIE9WRVJSSURFOworICAgIENBTGF5ZXIgKmdldExheWVyKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCkgY29uc3Q7CiAKLSAgICAvLyBNZXNzYWdlIGhh
bmRsZXJzLgotICAgIHZvaWQgY29tbWl0KGNvbnN0IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9u
Jik7CisgICAgdm9pZCB1cGRhdGVMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb24mKTsKIAotICAgIENBTGF5ZXIgKmdldExheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6
OlBsYXRmb3JtTGF5ZXJJRCkgY29uc3Q7Citwcml2YXRlOgogICAgIENBTGF5ZXIgKmNyZWF0ZUxh
eWVyKFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllckNyZWF0aW9uUHJvcGVydGllcyk7
CiAKICAgICBXZWJQYWdlUHJveHkqIG1fd2ViUGFnZVByb3h5OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0Lm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0Lm1lc3NhZ2Vz
LmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNmMyMTcyNDA2N2MxN2U1Y2VjZGEy
OGNmNThiMTMzYWI0NzI1ZGZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9z
dC5tZXNzYWdlcy5pbgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLSMgQ29weXJpZ2h0
IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotIyBhcmUgbWV0OgotIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnIEFORAotIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0j
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SCi0jIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSMgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IK
LSMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIKLSMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSMgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotbWVzc2FnZXMgLT4gUmVtb3RlTGF5ZXJUcmVl
SG9zdCB7Ci0gICAgdm9pZCBDb21taXQoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
biB0cmFuc2FjdGlvbikKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvUmVtb3RlTGF5ZXJUcmVlSG9zdC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
UmVtb3RlTGF5ZXJUcmVlSG9zdC5tbQppbmRleCA4NzZlMWJjOTVlZDE2ODJlNWU1OWYxYTdkZDgy
MGE4Y2Q4N2MxMWI4Li42MWRkNGIzM2U1NGUzMGViZWM4Mzc1ZDc4MjMwYmExYmZlMTQzMWZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZUhv
c3QubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVI
b3N0Lm1tCkBAIC0yNyw3ICsyNyw2IEBACiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVIb3N0Lmgi
CiAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKLSNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZUhvc3RNZXNz
YWdlcy5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLmgiCiAjaW1w
b3J0ICJSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIgogI2ltcG9ydCAiU2hhcmVhYmxlQml0
bWFwLmgiCkBAIC00NiwxNSArNDUsMTMgQEAgUmVtb3RlTGF5ZXJUcmVlSG9zdDo6UmVtb3RlTGF5
ZXJUcmVlSG9zdChXZWJQYWdlUHJveHkqIHdlYlBhZ2VQcm94eSkKICAgICA6IG1fd2ViUGFnZVBy
b3h5KHdlYlBhZ2VQcm94eSkKICAgICAsIG1fcm9vdExheWVyKG51bGxwdHIpCiB7Ci0gICAgbV93
ZWJQYWdlUHJveHktPnByb2Nlc3MoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90
ZUxheWVyVHJlZUhvc3Q6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV93ZWJQYWdlUHJveHktPnBh
Z2VJRCgpLCAqdGhpcyk7CiB9CiAKIFJlbW90ZUxheWVyVHJlZUhvc3Q6On5SZW1vdGVMYXllclRy
ZWVIb3N0KCkKIHsKLSAgICBtX3dlYlBhZ2VQcm94eS0+cHJvY2VzcygpLnJlbW92ZU1lc3NhZ2VS
ZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlSG9zdDo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOwogfQogCi12b2lkIFJlbW90ZUxheWVyVHJl
ZUhvc3Q6OmNvbW1pdChjb25zdCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rp
b24pCit2b2lkIFJlbW90ZUxheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVyVHJlZShjb25zdCBSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCiB7CiAgICAgTE9HKFJlbW90ZUxh
eWVyVHJlZSwgIiVzIiwgdHJhbnNhY3Rpb24uZGVzY3JpcHRpb24oKS5kYXRhKCkpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
M2M0MDc2MDE4ZDE2YmMxNWFjZWRmY2FiYzljODMyNGVjY2FhY2ZjNy4uMjdkM2JkNjcwMDZhNDdh
NWJmY2FlYmJhN2ZmYjg2NzRkNmY1MjRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTAsNiArNTAsOCBAQAogCQkwRjE3NEFB
MzE0MkE0Q0I3MDAzOTI1MEYgLyogQVBJR2VvbWV0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTc0QUEyMTQyQTRDQjYwMDM5MjUwRiAvKiBBUElH
ZW9tZXRyeS5oICovOyB9OwogCQkwRjE3NEFBNzE0MkFBQzYxMDAzOTI1MEYgLyogV0tHZW9tZXRy
eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjE3
NEFBNjE0MkFBQzYxMDAzOTI1MEYgLyogV0tHZW9tZXRyeS5jcHAgKi87IH07CiAJCTBGQjY1OTIz
MTIwOEI0REIwMDQ0ODE2QyAvKiBEcmF3aW5nQXJlYUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjY1OTIyMTIwOEI0REIwMDQ0ODE2QyAvKiBE
cmF3aW5nQXJlYUluZm8uaCAqLzsgfTsKKwkJMEZGMjRBMkQxODc5RTRCQzAwM0FCRjBDIC8qIFJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZGMjRBMkIxODc5RTRCQzAw
M0FCRjBDIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OworCQkwRkYyNEEyRTE4NzlFNEJDMDAzQUJGMEMgLyogUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkYyNEEyQzE4NzlFNEJDMDAzQUJGMEMgLyogUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VzLmggKi87IH07CiAJCTFBMDQzOTc2MTI0RDAzNDgw
MEZGQkZCNSAvKiBQbHVnaW5Qcm9jZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTA0Mzk3NDEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vz
cy5oICovOyB9OwogCQkxQTA0Mzk3NzEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTA0Mzk3
NTEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5jcHAgKi87IH07CiAJCTFBMDQzQTA5
MTI0RDExQTkwMEZGQkZCNSAvKiBXZWJQcm9jZXNzQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEwNDNBMDcxMjREMTFBOTAwRkZCRkI1
IC8qIFdlYlByb2Nlc3NDb25uZWN0aW9uLmggKi87IH07CkBAIC0yMDgsOCArMjEwLDYgQEAKIAkJ
MUFBMkU1MUUxMkU0QzA1RTAwQkM0OTY2IC8qIENHVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQTJFNTFDMTJFNEMwNUUwMEJDNDk2
NiAvKiBDR1V0aWxpdGllcy5jcHAgKi87IH07CiAJCTFBQTNENzVCMTY1MUI0NEYwMDg3MTNEMCAv
KiBSZW1vdGVMYXllclRyZWVIb3N0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFBM0Q3NTkxNjUxQjQ0RjAwODcxM0QwIC8qIFJlbW90ZUxheWVyVHJl
ZUhvc3QubW0gKi87IH07CiAJCTFBQTNENzVDMTY1MUI0NEYwMDg3MTNEMCAvKiBSZW1vdGVMYXll
clRyZWVIb3N0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQUEzRDc1QTE2NTFCNDRGMDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdC5oICovOyB9
OwotCQkxQUEzRDc2MTE2NTFCN0QzMDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdE1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQUEzRDc1RjE2NTFCN0QzMDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdE1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi87IH07Ci0JCTFBQTNENzYyMTY1MUI3RDMwMDg3MTNEMCAvKiBSZW1v
dGVMYXllclRyZWVIb3N0TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBQTNENzYwMTY1MUI3RDMwMDg3MTNEMCAvKiBSZW1vdGVMYXllclRy
ZWVIb3N0TWVzc2FnZXMuaCAqLzsgfTsKIAkJMUFBNDE3Q0IxMkMwMENDQTAwMkJFNjdCIC8qIFRl
eHRDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQUE0MTdDOTEyQzAwQ0NBMDAyQkU2N0IgLyogVGV4dENoZWNrZXIuaCAqLzsgfTsKIAkJMUFB
NDE3RUYxMkMwMEQ4NzAwMkJFNjdCIC8qIFRleHRDaGVja2VyTWFjLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFBNDE3RUQxMkMwMEQ4NzAwMkJFNjdC
IC8qIFRleHRDaGVja2VyTWFjLm1tICovOyB9OwogCQkxQUE0MUFCNTEyQzAyRUM0MDAyQkU2N0Ig
LyogRWRpdG9yU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBQTQxQUI0MTJDMDJFQzQwMDJCRTY3QiAvKiBFZGl0b3JTdGF0ZS5oICovOyB9OwpA
QCAtMTU4OCw2ICsxNTg4LDkgQEAKIAkJMEYxNzRBQTIxNDJBNENCNjAwMzkyNTBGIC8qIEFQSUdl
b21ldHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSUdlb21ldHJ5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMTc0QUE2MTQyQUFDNjEwMDM5MjUwRiAv
KiBXS0dlb21ldHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdL
R2VvbWV0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkI2NTkyMjEyMDhC
NERCMDA0NDgxNkMgLyogRHJhd2luZ0FyZWFJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERyYXdpbmdBcmVhSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRkYyNEEyQjE4NzlFNEJDMDAzQUJGMEMgLyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGMjRBMkMxODc5RTRCQzAwM0FCRjBDIC8q
IFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5TWVzc2Fn
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZGMjRBMkYxODc5RTRGRTAwM0FC
RjBDIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMTA1OEM3QjFGRUE1NTg1RTExQ0EyQ0JCIC8qIENvY29hLmZyYW1l
d29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdy
YXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29jb2EuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQ29jb2EuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0
ZT4iOyB9OwogCQkxQTA0Mzk3NDEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5Qcm9jZXNzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMDQzOTc1MTI0RDAzNDgwMEZGQkZCNSAvKiBQbHVnaW5Q
cm9jZXNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpblBy
b2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc2OSw5ICsxNzcyLDYg
QEAKIAkJMUFBMkU1MUMxMkU0QzA1RTAwQkM0OTY2IC8qIENHVXRpbGl0aWVzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENHVXRpbGl0aWVzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFBM0Q3NTkxNjUxQjQ0RjAwODcxM0QwIC8qIFJlbW90ZUxh
eWVyVHJlZUhvc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBS
ZW1vdGVMYXllclRyZWVIb3N0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUEz
RDc1QTE2NTFCNDRGMDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVMYXllclRyZWVIb3N0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTFBQTNENzVEMTY1MUI1QzUwMDg3MTNEMCAvKiBSZW1vdGVMYXll
clRyZWVIb3N0Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJlbW90ZUxheWVy
VHJlZUhvc3QubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBQTNE
NzVGMTY1MUI3RDMwMDg3MTNEMCAvKiBSZW1vdGVMYXllclRyZWVIb3N0TWVzc2FnZVJlY2VpdmVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZUxheWVyVHJl
ZUhvc3RNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkx
QUEzRDc2MDE2NTFCN0QzMDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdE1lc3NhZ2VzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUxheWVyVHJlZUhvc3RNZXNz
YWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUE0MTdDOTEyQzAwQ0NBMDAy
QkU2N0IgLyogVGV4dENoZWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
VGV4dENoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFBNDE3RUQxMkMw
MEQ4NzAwMkJFNjdCIC8qIFRleHRDaGVja2VyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gVGV4dENoZWNrZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBQTQxQUI0MTJDMDJFQzQwMDJCRTY3QiAvKiBFZGl0b3JTdGF0ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0b3JTdGF0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNTM1OSwxMCArNTM1OSwxMCBAQAogCQkJCTg2ODE2MENEMTg3NjNE
NEIwMDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLmggKi8sCiAJCQkJQjg3OEI2MTMx
MzM0MjhEQzAwNjg4OEU5IC8qIENvcnJlY3Rpb25QYW5lbC5oICovLAogCQkJCUI4NzhCNjE0MTMz
NDI4REMwMDY4ODhFOSAvKiBDb3JyZWN0aW9uUGFuZWwubW0gKi8sCisJCQkJMEZGMjRBMkYxODc5
RTRGRTAwM0FCRjBDIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMu
aW4gKi8sCiAJCQkJMUFCMTZBRTAxNjQ4NjU2RDAwMjkwRDYyIC8qIFJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHkuaCAqLywKIAkJCQkxQUIxNkFERjE2NDg2NTZEMDAyOTBENjIgLyogUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSAqLywKIAkJCQkxQUEzRDc1QTE2NTFCNDRG
MDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdC5oICovLAotCQkJCTFBQTNENzVEMTY1MUI1
QzUwMDg3MTNEMCAvKiBSZW1vdGVMYXllclRyZWVIb3N0Lm1lc3NhZ2VzLmluICovLAogCQkJCTFB
QTNENzU5MTY1MUI0NEYwMDg3MTNEMCAvKiBSZW1vdGVMYXllclRyZWVIb3N0Lm1tICovLAogCQkJ
CUUxOEU2OTA5MTY5QjU2M0YwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5LmNwcCAqLywKIAkJ
CQlFMThFNjkwQTE2OUI1NjNGMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eS5oICovLApAQCAt
NTU0MywxMCArNTU0MywxMCBAQAogCQkJCTFBMDQzQjVDMTI0RDVFOUQwMEZGQkZCNSAvKiBQbHVn
aW5Qcm9jZXNzUHJveHlNZXNzYWdlcy5oICovLAogCQkJCTFBOEVGQTZFMTI1MkI4NDEwMEY3MDY3
RiAvKiBQbHVnaW5Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUE4RUZBNkYxMjUy
Qjg0MTAwRjcwNjdGIC8qIFBsdWdpblByb3h5TWVzc2FnZXMuaCAqLywKLQkJCQkxQUEzRDc1RjE2
NTFCN0QzMDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdE1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki8sCi0JCQkJMUFBM0Q3NjAxNjUxQjdEMzAwODcxM0QwIC8qIFJlbW90ZUxheWVyVHJlZUhvc3RN
ZXNzYWdlcy5oICovLAogCQkJCTFBQzEzMzgzMTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmpl
Y3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUFDMTMzODQxODU5MEM0NjAw
RjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCAqLywKKwkJCQkwRkYyNEEy
QjE4NzlFNEJDMDAzQUJGMEMgLyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCisJCQkJMEZGMjRBMkMxODc5RTRCQzAwM0FCRjBDIC8qIFJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oICovLAogCQkJCUUxOEU2OTExMTY5
QjY2N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJ
RTE4RTY5MTIxNjlCNjY3QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltTWVzc2FnZXMuaCAqLywKIAkJ
CQlFMThFNjkxMzE2OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCkBAIC01OTUyLDcgKzU5NTIsNiBAQAogCQkJCTFBQjE2QURFMTY0ODU5ODQw
MDI5MEQ2MiAvKiBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFCMTZBRTIxNjQ4NjU2RDAwMjkwRDYyIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
UHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTNENzVDMTY1MUI0NEYwMDg3MTNEMCAvKiBS
ZW1vdGVMYXllclRyZWVIb3N0LmggaW4gSGVhZGVycyAqLywKLQkJCQkxQUEzRDc2MjE2NTFCN0Qz
MDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdE1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUYxQUM2QzE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQjc4NDcxMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1v
dGVOZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEzMDA2NkUxMTEwRjRG
NzAwMzE5MzdDIC8qIFJlc3BvbnNpdmVuZXNzVGltZXIuaCBpbiBIZWFkZXJzICovLApAQCAtNjE5
Niw2ICs2MTk1LDcgQEAKIAkJCQkzN0M0QzA5NTE4MTRCOUU2MDAzNjg4QjkgLyogV0tCYWNrRm9y
d2FyZExpc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2NDZDMUQxMUREMzk5RjAw
NjQ1NUIwIC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbVJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUFCNDc0REExODRENDQyNTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZGMjRBMkUxODc5RTRCQzAwM0FCRjBDIC8qIFJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNEREIzMTcxMjRFQkQxMzAwNDhEMTNDIC8qIFdLQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0NENUVCQkIxNzQ2QTgzRTAwMEMxQzQ1IC8qIFdLQmFzZU1hYy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkNCQUFDNzMxNDRFNjE5RTAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8sCkBAIC03MTMxLDYgKzcxMzEsNyBAQAogCQkJCTI5ODlBNDExMTY3
RDE4MzQwMDRGOTZEMiAvKiBDdXN0b21Qcm90b2NvbE1hbmFnZXJNYWMubW0gaW4gU291cmNlcyAq
LywKIAkJCQkyOTg0RjU4ODE2NEJBMDk1MDA0QkMwQzYgLyogQ3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI5QUQzMDk2MTY0QjRDOTMw
MDcyREVBOSAvKiBDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eU1hYy5tbSBpbiBTb3VyY2VzICov
LAorCQkJCTBGRjI0QTJEMTg3OUU0QkMwMDNBQkYwQyAvKiBSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI5ODRGNTdD
MTY0QjkxNUYwMDRCQzBDNiAvKiBDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0ZDNjdCRDEyRDNDQ0YyMDBBNjA2MTAgLyog
RGVjb2RlckFkYXB0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFODFEOTgxMzFBRTAyMTAw
MjQxOTEwIC8qIERpY3Rpb25hcnlQb3B1cEluZm8uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC03MzE2
LDcgKzczMTcsNiBAQAogCQkJCTFBQjE2QUREMTY0ODU5ODQwMDI5MEQ2MiAvKiBSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBQjE2QUUxMTY0ODY1NkQw
MDI5MEQ2MiAvKiBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUFBM0Q3NUIxNjUxQjQ0RjAwODcxM0QwIC8qIFJlbW90ZUxheWVyVHJlZUhvc3Qu
bW0gaW4gU291cmNlcyAqLywKLQkJCQkxQUEzRDc2MTE2NTFCN0QzMDA4NzEzRDAgLyogUmVtb3Rl
TGF5ZXJUcmVlSG9zdE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUYx
QUM2QjE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gaW4g
U291cmNlcyAqLywKIAkJCQlFMUI3ODQ3MzE2M0YyNTNFMDAwN0I2OTIgLyogUmVtb3RlTmV0d29y
a2luZ0NvbnRleHQubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzExMUIwOTExMkY1RTNDMDAzMzdC
QUIgLyogUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggMDg1NjA3YzNl
ZWY4YmQ0YmZkMzI5MzcwODFkN2Y1Yjk1M2ViNGUxOS4uZTRlNmJiYTI0MDI4ODY5ODIwYzEzNTg0
ZTQ2YTJiNWM3ZWY4ZTA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhLmgKQEAgLTYxLDYgKzYxLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBz
dGQ6OnVuaXF1ZV9wdHI8RHJhd2luZ0FyZWE+IGNyZWF0ZShXZWJQYWdlKiwgY29uc3QgV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZpcnR1YWwgfkRyYXdpbmdBcmVhKCk7CiAgICAg
CisgICAgRHJhd2luZ0FyZWFUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAg
ICAKICAgICB2b2lkIGRpZFJlY2VpdmVEcmF3aW5nQXJlYU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogCiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzRGlz
cGxheSgpID0gMDsKQEAgLTEwNiw3ICsxMDgsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZv
aWQgZGlzcGF0Y2hBZnRlckVuc3VyaW5nVXBkYXRlZFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZ1bmN0
aW9uPHZvaWQgKCk+Jik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgdmlld1N0YXRlRGlkQ2hhbmdlKFZp
ZXdTdGF0ZTo6RmxhZ3MgY2hhbmdlZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHZpZXdTdGF0ZURp
ZENoYW5nZShWaWV3U3RhdGU6OkZsYWdzKSB7IH0KIAogcHJvdGVjdGVkOgogICAgIERyYXdpbmdB
cmVhKERyYXdpbmdBcmVhVHlwZSwgV2ViUGFnZSopOwpAQCAtMTMyLDYgKzEzNCw5IEBAIHByaXZh
dGU6CiAjZW5kaWYKIH07CiAKKyNkZWZpbmUgRFJBV0lOR19BUkVBX1RZUEVfQ0FTVFMoVG9WYWx1
ZVR5cGVOYW1lLCBwcmVkaWNhdGUpIFwKKyAgICBUWVBFX0NBU1RTX0JBU0UoVG9WYWx1ZVR5cGVO
YW1lLCBEcmF3aW5nQXJlYSwgdmFsdWUsIHZhbHVlLT5wcmVkaWNhdGUsIHZhbHVlLnByZWRpY2F0
ZSkKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBEcmF3aW5nQXJlYV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0dyYXBoaWNz
TGF5ZXJDQVJlbW90ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9H
cmFwaGljc0xheWVyQ0FSZW1vdGUuaAppbmRleCBjMmRhZDQ0MGM0MmNkZWEwZWM0ZDI1MGQ1NDQ1
NTNkNDc4MTUwMWRhLi5iN2I0NWFkN2Q4NTg4OWQyZjUzMDM5OWExYjRjMDlmZWI3MzE5ZjY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0dyYXBoaWNz
TGF5ZXJDQVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvR3JhcGhpY3NMYXllckNBUmVtb3RlLmgKQEAgLTUwLDYgKzUwLDggQEAgcHVibGljOgogI2Vu
ZGlmCiAKIHByaXZhdGU6CisgICAgdmlydHVhbCBib29sIGlzR3JhcGhpY3NMYXllckNBUmVtb3Rl
KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNv
cmU6OlBsYXRmb3JtQ0FMYXllcj4gY3JlYXRlUGxhdGZvcm1DQUxheWVyKFdlYkNvcmU6OlBsYXRm
b3JtQ0FMYXllcjo6TGF5ZXJUeXBlLCBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJDbGllbnQqIG93
bmVyKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6UGxhdGZvcm1D
QUxheWVyPiBjcmVhdGVQbGF0Zm9ybUNBTGF5ZXIoUGxhdGZvcm1MYXllciosIFdlYkNvcmU6OlBs
YXRmb3JtQ0FMYXllckNsaWVudCogb3duZXIpIE9WRVJSSURFOwogCkBAIC02Miw2ICs2NCw4IEBA
IHByaXZhdGU6CiAgICAgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCogbV9jb250ZXh0OwogfTsKIAor
R1JBUEhJQ1NMQVlFUl9UWVBFX0NBU1RTKEdyYXBoaWNzTGF5ZXJDQVJlbW90ZSwgaXNHcmFwaGlj
c0xheWVyQ0FSZW1vdGUoKSk7CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8g
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmgKaW5k
ZXggNDQ0MzFhZmQxOTM1MTljMDQyMDhhY2ZiNTZmMGFmNWMwYWIzODUyNS4uOWQ2ZDdkZWEwZGUx
OWY0ZTRiZDBlNTk2MzExNWJmNjcwOTY5YzkzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5o
CkBAIC0xNTMsNyArMTUzLDcgQEAgcHJvdGVjdGVkOgogICAgIFBsYXRmb3JtQ0FMYXllclJlbW90
ZShXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZSwgV2ViQ29yZTo6UGxhdGZvcm1D
QUxheWVyQ2xpZW50KiBvd25lciwgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCogY29udGV4dCk7CiAK
IHByaXZhdGU6Ci0gICAgdmlydHVhbCBib29sIGlzUGxhdGZvcm1DQUxheWVyUmVtb3RlKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNQbGF0Zm9y
bUNBTGF5ZXJSZW1vdGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9p
ZCBlbnN1cmVCYWNraW5nU3RvcmUoKTsKICAgICB2b2lkIHJlbW92ZVN1YmxheWVyKFBsYXRmb3Jt
Q0FMYXllclJlbW90ZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5oCmluZGV4IGM5MWNj
YjUyZWIyMzZmNDg5Y2I0NTdlNzA3YjIzYzIxZTllZmQyZWEuLjgyOTcwYzBkYjIxOTBlYmFmMjA4
NTlmNDQ3MzgyMDFkYmMwOGZlM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5oCkBAIC0z
MSw3ICszMSw2IEBACiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvR3Jh
cGhpY3NMYXllckZhY3RvcnkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtQ0FMYXllci5o
PgotI2luY2x1ZGUgPFdlYkNvcmUvVGltZXIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtMzksMTUgKzM4LDEyIEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogY2xhc3MgUGxhdGZvcm1DQUxheWVyUmVtb3RlOwogY2xhc3MgV2ViUGFnZTsKIAorLy8gRklY
TUU6IHRoaXMgY2xhc3MgZG9lc24ndCBkbyBtdWNoIG5vdy4gUm9sbCBpbnRvIFJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhPwogY2xhc3MgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCA6IHB1YmxpYyBX
ZWJDb3JlOjpHcmFwaGljc0xheWVyRmFjdG9yeSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVt
b3RlTGF5ZXJUcmVlQ29udGV4dChXZWJQYWdlKik7CiAgICAgflJlbW90ZUxheWVyVHJlZUNvbnRl
eHQoKTsKIAotICAgIHZvaWQgc2V0Um9vdExheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKTsK
LQotICAgIHZvaWQgc2NoZWR1bGVMYXllckZsdXNoKCk7Ci0KICAgICB2b2lkIGxheWVyV2FzQ3Jl
YXRlZChQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqLCBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXI6Okxh
eWVyVHlwZSk7CiAgICAgdm9pZCBsYXllcldpbGxCZURlc3Ryb3llZChQbGF0Zm9ybUNBTGF5ZXJS
ZW1vdGUqKTsKIApAQCAtNTYsMjggKzUyLDIwIEBAIHB1YmxpYzoKIAogICAgIExheWVySG9zdGlu
Z01vZGUgbGF5ZXJIb3N0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViUGFnZS0+bGF5ZXJI
b3N0aW5nTW9kZSgpOyB9CiAKLSAgICB2b2lkIHNldElzRmx1c2hpbmdTdXNwZW5kZWQoYm9vbCk7
Ci0KLSAgICB2b2lkIGZvcmNlUmVwYWludCgpOworICAgIHZvaWQgZmx1c2hPdXRPZlRyZWVMYXll
cnMoKTsKKyAgICB2b2lkIGJ1aWxkVHJhbnNhY3Rpb24oUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rp
b24mLCBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXImIHJvb3RMYXllcik7CiAKIHByaXZhdGU6CiAg
ICAgLy8gV2ViQ29yZTo6R3JhcGhpY3NMYXllckZhY3RvcnkKICAgICB2aXJ0dWFsIHN0ZDo6dW5p
cXVlX3B0cjxXZWJDb3JlOjpHcmFwaGljc0xheWVyPiBjcmVhdGVHcmFwaGljc0xheWVyKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXJDbGllbnQqKSBPVkVSUklERTsKIAotICAgIHZvaWQgbGF5ZXJGbHVz
aFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8UmVtb3RlTGF5ZXJUcmVlQ29udGV4dD4qKTsKLSAg
ICB2b2lkIGZsdXNoTGF5ZXJzKCk7Ci0KICAgICBXZWJQYWdlKiBtX3dlYlBhZ2U7Ci0gICAgV2Vi
Q29yZTo6VGltZXI8UmVtb3RlTGF5ZXJUcmVlQ29udGV4dD4gbV9sYXllckZsdXNoVGltZXI7CiAK
ICAgICBSZWZQdHI8UGxhdGZvcm1DQUxheWVyUmVtb3RlPiBtX3Jvb3RMYXllcjsKICAgICBWZWN0
b3I8V2ViQ29yZTo6R3JhcGhpY3NMYXllcio+IG1fb3V0T2ZUcmVlTGF5ZXJzOwogCiAgICAgVmVj
dG9yPFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllckNyZWF0aW9uUHJvcGVydGllcz4g
bV9jcmVhdGVkTGF5ZXJzOwogICAgIFZlY3RvcjxXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0
Zm9ybUxheWVySUQ+IG1fZGVzdHJveWVkTGF5ZXJzOwotCi0gICAgYm9vbCBtX2lzRmx1c2hpbmdT
dXNwZW5kZWQ7Ci0gICAgYm9vbCBtX2hhc0RlZmVycmVkRmx1c2g7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5tbQppbmRleCA3Mzg2OTYyZDli
YmJiZjQ3ZWRlZTU2NGNjMDYxNDQ2MmMxMWE3MzcwLi43YWRjYTZlYTUwMDhmMWQxNTQ0MDRkYzY4
NTQzM2I5MTBjYzljZGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW0KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tCkBAIC0zMCw3
ICszMCw2IEBACiAjaW1wb3J0ICJHcmFwaGljc0xheWVyQ0FSZW1vdGUuaCIKICNpbXBvcnQgIlBs
YXRmb3JtQ0FMYXllclJlbW90ZS5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rp
b24uaCIKLSNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZUhvc3RNZXNzYWdlcy5oIgogI2ltcG9ydCAi
V2ViUGFnZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZVZpZXcuaD4KICNpbXBvcnQgPFdlYkNv
cmUvTWFpbkZyYW1lLmg+CkBAIC00Myw5ICs0Miw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBS
ZW1vdGVMYXllclRyZWVDb250ZXh0OjpSZW1vdGVMYXllclRyZWVDb250ZXh0KFdlYlBhZ2UqIHdl
YlBhZ2UpCiAgICAgOiBtX3dlYlBhZ2Uod2ViUGFnZSkKLSAgICAsIG1fbGF5ZXJGbHVzaFRpbWVy
KHRoaXMsICZSZW1vdGVMYXllclRyZWVDb250ZXh0OjpsYXllckZsdXNoVGltZXJGaXJlZCkKLSAg
ICAsIG1faXNGbHVzaGluZ1N1c3BlbmRlZChmYWxzZSkKLSAgICAsIG1faGFzRGVmZXJyZWRGbHVz
aChmYWxzZSkKIHsKIH0KIApAQCAtNTMsMTYgKzQ5LDYgQEAgUmVtb3RlTGF5ZXJUcmVlQ29udGV4
dDo6flJlbW90ZUxheWVyVHJlZUNvbnRleHQoKQogewogfQogCi12b2lkIFJlbW90ZUxheWVyVHJl
ZUNvbnRleHQ6OnNldFJvb3RMYXllcihHcmFwaGljc0xheWVyKiByb290TGF5ZXIpCi17Ci0gICAg
aWYgKCFyb290TGF5ZXIpIHsKLSAgICAgICAgbV9yb290TGF5ZXIgPSBudWxscHRyOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgbV9yb290TGF5ZXIgPSBzdGF0aWNfY2FzdDxQbGF0Zm9y
bUNBTGF5ZXJSZW1vdGUqPihzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ0FSZW1vdGUqPihyb290
TGF5ZXIpLT5wbGF0Zm9ybUNBTGF5ZXIoKSk7Ci19Ci0KIHZvaWQgUmVtb3RlTGF5ZXJUcmVlQ29u
dGV4dDo6bGF5ZXJXYXNDcmVhdGVkKFBsYXRmb3JtQ0FMYXllclJlbW90ZSogbGF5ZXIsIFBsYXRm
b3JtQ0FMYXllcjo6TGF5ZXJUeXBlIHR5cGUpCiB7CiAgICAgUmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb246OkxheWVyQ3JlYXRpb25Qcm9wZXJ0aWVzIGNyZWF0aW9uUHJvcGVydGllczsKQEAgLTk0
LDc4ICs4MCwyNiBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6Om91dE9mVHJlZUxheWVy
V2lsbEJlUmVtb3ZlZChHcmFwaGljc0xheWVyKiBsYXllcikKICAgICBtX291dE9mVHJlZUxheWVy
cy5yZW1vdmUobGF5ZXJJbmRleCk7CiB9CiAKLXZvaWQgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6
c2NoZWR1bGVMYXllckZsdXNoKCkKLXsKLSAgICBpZiAobV9sYXllckZsdXNoVGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVT
aG90KDApOwotfQotCiBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NMYXllcj4gUmVtb3RlTGF5ZXJU
cmVlQ29udGV4dDo6Y3JlYXRlR3JhcGhpY3NMYXllcihHcmFwaGljc0xheWVyQ2xpZW50KiBjbGll
bnQpCiB7CiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8R3JhcGhpY3NMYXllckNBUmVtb3Rl
PihjbGllbnQsIHRoaXMpOwogfQogCi12b2lkIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OmxheWVy
Rmx1c2hUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPFJlbW90ZUxheWVyVHJlZUNvbnRleHQ+KikK
K3ZvaWQgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6Zmx1c2hPdXRPZlRyZWVMYXllcnMoKQogewot
ICAgIGZsdXNoTGF5ZXJzKCk7Ci19Ci0KLXZvaWQgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6Zmx1
c2hMYXllcnMoKQotewotICAgIGlmICghbV9yb290TGF5ZXIpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGlmIChtX2lzRmx1c2hpbmdTdXNwZW5kZWQpIHsKLSAgICAgICAgbV9oYXNEZWZlcnJlZEZs
dXNoID0gdHJ1ZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIFJlbW90ZUxheWVyVHJl
ZVRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uOwotCi0gICAgdHJhbnNhY3Rpb24uc2V0Um9vdExheWVy
SUQobV9yb290TGF5ZXItPmxheWVySUQoKSk7Ci0KLSAgICBtX3dlYlBhZ2UtPmxheW91dElmTmVl
ZGVkKCk7Ci0gICAgbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS52aWV3KCktPmZs
dXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwotCiAgICAgZm9yIChjb25z
dCBhdXRvJiBsYXllciA6IG1fb3V0T2ZUcmVlTGF5ZXJzKQogICAgICAgICBsYXllci0+Zmx1c2hD
b21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpOwotCi0gICAgdHJhbnNhY3Rpb24uc2V0
Q3JlYXRlZExheWVycyhzdGQ6Om1vdmUobV9jcmVhdGVkTGF5ZXJzKSk7Ci0gICAgdHJhbnNhY3Rp
b24uc2V0RGVzdHJveWVkTGF5ZXJJRHMoc3RkOjptb3ZlKG1fZGVzdHJveWVkTGF5ZXJzKSk7Ci0g
ICAgbV9yb290TGF5ZXItPnJlY3Vyc2l2ZUJ1aWxkVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pOwot
Ci0gICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVMYXllclRyZWVIb3N0OjpDb21t
aXQodHJhbnNhY3Rpb24pKTsKLX0KLQotdm9pZCBSZW1vdGVMYXllclRyZWVDb250ZXh0OjpzZXRJ
c0ZsdXNoaW5nU3VzcGVuZGVkKGJvb2wgaXNGcm96ZW4pCi17Ci0gICAgaWYgKG1faXNGbHVzaGlu
Z1N1c3BlbmRlZCA9PSBpc0Zyb3plbikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9pc0ZsdXNo
aW5nU3VzcGVuZGVkID0gaXNGcm96ZW47Ci0KLSAgICBpZiAoIW1faXNGbHVzaGluZ1N1c3BlbmRl
ZCAmJiBtX2hhc0RlZmVycmVkRmx1c2gpIHsKLSAgICAgICAgbV9oYXNEZWZlcnJlZEZsdXNoID0g
ZmFsc2U7Ci0gICAgICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwotICAgIH0KIH0KIAotdm9pZCBS
ZW1vdGVMYXllclRyZWVDb250ZXh0Ojpmb3JjZVJlcGFpbnQoKQordm9pZCBSZW1vdGVMYXllclRy
ZWVDb250ZXh0OjpidWlsZFRyYW5zYWN0aW9uKFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJiB0
cmFuc2FjdGlvbiwgUGxhdGZvcm1DQUxheWVyJiByb290TGF5ZXIpCiB7Ci0gICAgaWYgKG1faXNG
bHVzaGluZ1N1c3BlbmRlZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZm9yIChGcmFtZSogZnJh
bWUgPSAmbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0g
ZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHQoKSkgewotICAgICAgICBGcmFtZVZpZXcqIGZyYW1l
VmlldyA9IGZyYW1lLT52aWV3KCk7Ci0gICAgICAgIGlmICghZnJhbWVWaWV3IHx8ICFmcmFtZVZp
ZXctPnRpbGVkQmFja2luZygpKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgZnJh
bWVWaWV3LT50aWxlZEJhY2tpbmcoKS0+Zm9yY2VSZXBhaW50KCk7Ci0gICAgfQorICAgIFBsYXRm
b3JtQ0FMYXllclJlbW90ZSYgcm9vdExheWVyUmVtb3RlID0gdG9QbGF0Zm9ybUNBTGF5ZXJSZW1v
dGUocm9vdExheWVyKTsKKyAgICB0cmFuc2FjdGlvbi5zZXRSb290TGF5ZXJJRChyb290TGF5ZXJS
ZW1vdGUubGF5ZXJJRCgpKTsKKyAgICAKKyAgICB0cmFuc2FjdGlvbi5zZXRDcmVhdGVkTGF5ZXJz
KHN0ZDo6bW92ZShtX2NyZWF0ZWRMYXllcnMpKTsKKyAgICB0cmFuc2FjdGlvbi5zZXREZXN0cm95
ZWRMYXllcklEcyhzdGQ6Om1vdmUobV9kZXN0cm95ZWRMYXllcnMpKTsKIAotICAgIGZsdXNoTGF5
ZXJzKCk7CisgICAgcm9vdExheWVyUmVtb3RlLnJlY3Vyc2l2ZUJ1aWxkVHJhbnNhY3Rpb24odHJh
bnNhY3Rpb24pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWEuaAppbmRleCBmNzU0MTUxZWVkYTg5NzdmZjJjMTAwMDY1MzEzNWEyN2Iz
ODAxYmZlLi45ODFjMjJlZTU2NTI4OTUwZWE0Y2VlNTQ0ZTA0ZWNlYjZhYjAyNTM0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVk
ZSAiRHJhd2luZ0FyZWEuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyQ0FSZW1vdGUuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXJDbGllbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1RpbWVyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtODYsNiArODcsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlTWFpbkZyYW1lQ2xp
cHNUb0V4cG9zZWRSZWN0KCk7CiAgICAgdm9pZCB1cGRhdGVTY3JvbGxlZEV4cG9zZWRSZWN0KCk7
CiAKKyAgICB2b2lkIGxheWVyRmx1c2hUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPFJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhPiopOworICAgIHZvaWQgZmx1c2hMYXllcnMoKTsKKwogICAgIFdl
YkNvcmU6OlRpbGVkQmFja2luZyogbWFpbkZyYW1lVGlsZWRCYWNraW5nKCkgY29uc3Q7CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTGF5ZXJUcmVlQ29udGV4dD4gbV9yZW1vdGVMYXllclRy
ZWVDb250ZXh0OwpAQCAtOTgsOCArMTAyLDE0IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6Rmxv
YXRSZWN0IG1fZXhwb3NlZFJlY3Q7CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fc2Nyb2xsZWRF
eHBvc2VkUmVjdDsKICAgICBib29sIG1fY2xpcHNUb0V4cG9zZWRSZWN0OworCisgICAgV2ViQ29y
ZTo6VGltZXI8UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE+IG1fbGF5ZXJGbHVzaFRpbWVyOwor
ICAgIGJvb2wgbV9pc0ZsdXNoaW5nU3VzcGVuZGVkOworICAgIGJvb2wgbV9oYXNEZWZlcnJlZEZs
dXNoOwogfTsKIAorRFJBV0lOR19BUkVBX1RZUEVfQ0FTVFMoUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEsIHR5cGUoKSA9PSBEcmF3aW5nQXJlYVR5cGVSZW1vdGVMYXllclRyZWUpOworCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCmluZGV4IDIyODU1MGE0NWU5
NzUwZTUxNmRmM2UyMDQzZWM4Yzg1M2E5M2E2OWUuLmZmZGQ5OThiYThmOTgwNDFiYjQ1NDg3MzYw
ODZlNGFhNmRlZTY5MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQpA
QCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VzLmgiCiAj
aW1wb3J0ICJHcmFwaGljc0xheWVyQ0FSZW1vdGUuaCIKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJl
ZUNvbnRleHQuaCIKKyNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNz
YWdlcy5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9GcmFtZVZpZXcuaD4KQEAgLTQ0LDYgKzQ1LDkgQEAgUmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWE6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhKFdlYlBhZ2UqIHdl
YlBhZ2UsIGNvbnN0IFcKICAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhVHlwZVJlbW90ZUxh
eWVyVHJlZSwgd2ViUGFnZSkKICAgICAsIG1fcmVtb3RlTGF5ZXJUcmVlQ29udGV4dChzdGQ6Om1h
a2VfdW5pcXVlPFJlbW90ZUxheWVyVHJlZUNvbnRleHQ+KHdlYlBhZ2UpKQogICAgICwgbV9jbGlw
c1RvRXhwb3NlZFJlY3QoZmFsc2UpCisgICAgLCBtX2xheWVyRmx1c2hUaW1lcih0aGlzLCAmUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmxheWVyRmx1c2hUaW1lckZpcmVkKQorICAgICwgbV9p
c0ZsdXNoaW5nU3VzcGVuZGVkKGZhbHNlKQorICAgICwgbV9oYXNEZWZlcnJlZEZsdXNoKGZhbHNl
KQogewogICAgIHdlYlBhZ2UtPmNvcmVQYWdlKCktPnNldHRpbmdzKCkuc2V0Rm9yY2VDb21wb3Np
dGluZ01vZGUodHJ1ZSk7CiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtNzUsMTQgKzc5LDcgQEAgR3Jh
cGhpY3NMYXllckZhY3RvcnkqIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpncmFwaGljc0xh
eWVyRmFjdG9yeSgpCiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNldFJvb3RD
b21wb3NpdGluZ0xheWVyKEdyYXBoaWNzTGF5ZXIqIHJvb3RMYXllcikKIHsKLSAgICBtX3Jvb3RM
YXllciA9IHJvb3RMYXllciA/IHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDQVJlbW90ZSo+KHJv
b3RMYXllciktPnBsYXRmb3JtQ0FMYXllcigpIDogbnVsbHB0cjsKLQotICAgIG1fcmVtb3RlTGF5
ZXJUcmVlQ29udGV4dC0+c2V0Um9vdExheWVyKHJvb3RMYXllcik7Ci19Ci0KLXZvaWQgUmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKLXsK
LSAgICBtX3JlbW90ZUxheWVyVHJlZUNvbnRleHQtPnNjaGVkdWxlTGF5ZXJGbHVzaCgpOworICAg
IG1fcm9vdExheWVyID0gcm9vdExheWVyID8gdG9HcmFwaGljc0xheWVyQ0FSZW1vdGUocm9vdExh
eWVyKS0+cGxhdGZvcm1DQUxheWVyKCkgOiBudWxscHRyOwogfQogCiB2b2lkIFJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhOjp1cGRhdGVHZW9tZXRyeShjb25zdCBJbnRTaXplJiB2aWV3U2l6ZSwg
Y29uc3QgSW50U2l6ZSYgbGF5ZXJQb3NpdGlvbikKQEAgLTIwMiwxMiArMTk5LDMxIEBAIHZvaWQg
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNldERldmljZVNjYWxlRmFjdG9yKGZsb2F0IGRl
dmljZVNjYWxlRmFjdG9yKQogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzZXRM
YXllclRyZWVTdGF0ZUlzRnJvemVuKGJvb2wgaXNGcm96ZW4pCiB7Ci0gICAgbV9yZW1vdGVMYXll
clRyZWVDb250ZXh0LT5zZXRJc0ZsdXNoaW5nU3VzcGVuZGVkKGlzRnJvemVuKTsKKyAgICBpZiAo
bV9pc0ZsdXNoaW5nU3VzcGVuZGVkID09IGlzRnJvemVuKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX2lzRmx1c2hpbmdTdXNwZW5kZWQgPSBpc0Zyb3plbjsKKworICAgIGlmICghbV9pc0ZsdXNo
aW5nU3VzcGVuZGVkICYmIG1faGFzRGVmZXJyZWRGbHVzaCkgeworICAgICAgICBtX2hhc0RlZmVy
cmVkRmx1c2ggPSBmYWxzZTsKKyAgICAgICAgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2go
KTsKKyAgICB9CiB9CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmZvcmNlUmVw
YWludCgpCiB7Ci0gICAgbV9yZW1vdGVMYXllclRyZWVDb250ZXh0LT5mb3JjZVJlcGFpbnQoKTsK
KyAgICBpZiAobV9pc0ZsdXNoaW5nU3VzcGVuZGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBm
b3IgKEZyYW1lKiBmcmFtZSA9ICZtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpOyBm
cmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKSB7CisgICAgICAgIEZy
YW1lVmlldyogZnJhbWVWaWV3ID0gZnJhbWUtPnZpZXcoKTsKKyAgICAgICAgaWYgKCFmcmFtZVZp
ZXcgfHwgIWZyYW1lVmlldy0+dGlsZWRCYWNraW5nKCkpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICBmcmFtZVZpZXctPnRpbGVkQmFja2luZygpLT5mb3JjZVJlcGFpbnQoKTsKKyAg
ICB9CisKKyAgICBmbHVzaExheWVycygpOwogfQogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhOjpzZXRFeHBvc2VkUmVjdChjb25zdCBGbG9hdFJlY3QmIGV4cG9zZWRSZWN0KQpAQCAt
MjY5LDQgKzI4NSw0MSBAQCBUaWxlZEJhY2tpbmcqIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
OjptYWluRnJhbWVUaWxlZEJhY2tpbmcoKSBjb25zdAogICAgIHJldHVybiBmcmFtZVZpZXcgPyBm
cmFtZVZpZXctPnRpbGVkQmFja2luZygpIDogMDsKIH0KIAordm9pZCBSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQoreworICAgIGlmICht
X2xheWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2xh
eWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMCk7Cit9CisKK3ZvaWQgUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWE6OmxheWVyRmx1c2hUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPFJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhPiopCit7CisgICAgZmx1c2hMYXllcnMoKTsKK30KKwordm9pZCBS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6Zmx1c2hMYXllcnMoKQoreworICAgIGlmICghbV9y
b290TGF5ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2lzRmx1c2hpbmdTdXNwZW5k
ZWQpIHsKKyAgICAgICAgbV9oYXNEZWZlcnJlZEZsdXNoID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIG1fd2ViUGFnZS0+bGF5b3V0SWZOZWVkZWQoKTsKKyAgICBtX3dlYlBh
Z2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLnZpZXcoKS0+Zmx1c2hDb21wb3NpdGluZ1N0YXRl
SW5jbHVkaW5nU3ViZnJhbWVzKCk7CisKKyAgICBtX3JlbW90ZUxheWVyVHJlZUNvbnRleHQtPmZs
dXNoT3V0T2ZUcmVlTGF5ZXJzKCk7CisKKyAgICBBU1NFUlQobV9yb290TGF5ZXIpOworCisgICAg
Ly8gRklYTUU6IG1pbml6ZSB0aGVzZSB0cmFuc2FjdGlvbnMgaWYgbm90aGluZyBjaGFuZ2VkLgor
ICAgIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uIGxheWVyVHJhbnNhY3Rpb247CisgICAgbV9y
ZW1vdGVMYXllclRyZWVDb250ZXh0LT5idWlsZFRyYW5zYWN0aW9uKGxheWVyVHJhbnNhY3Rpb24s
ICptX3Jvb3RMYXllcik7CisKKyAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OlJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OkNvbW1pdExheWVyVHJlZShsYXllclRyYW5zYWN0aW9u
KSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="244105"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>