<?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>192372</bug_id>
          
          <creation_ts>2018-12-04 11:52:32 -0800</creation_ts>
          <short_desc>Remove source application identifiers from NetworkProcessCreationParameters</short_desc>
          <delta_ts>2018-12-04 21:57:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>beidson</cc>
    
    <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1484948</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-04 11:52:32 -0800</bug_when>
    <thetext>Remove source application identifiers from NetworkProcessCreationParameters</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484949</commentid>
    <comment_count>1</comment_count>
      <attachid>356524</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-04 11:55:22 -0800</bug_when>
    <thetext>Created attachment 356524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485008</commentid>
    <comment_count>2</comment_count>
      <attachid>356535</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-04 14:30:29 -0800</bug_when>
    <thetext>Created attachment 356535
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485020</commentid>
    <comment_count>3</comment_count>
      <attachid>356539</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-04 14:49:19 -0800</bug_when>
    <thetext>Created attachment 356539
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485021</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-12-04 14:52:00 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485022</commentid>
    <comment_count>5</comment_count>
      <attachid>356540</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-04 14:55:48 -0800</bug_when>
    <thetext>Created attachment 356540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485045</commentid>
    <comment_count>6</comment_count>
      <attachid>356547</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-04 15:38:52 -0800</bug_when>
    <thetext>Created attachment 356547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485049</commentid>
    <comment_count>7</comment_count>
      <attachid>356547</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2018-12-04 16:01:12 -0800</bug_when>
    <thetext>Comment on attachment 356547
Patch

Make it build. Neat.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485080</commentid>
    <comment_count>8</comment_count>
      <attachid>356558</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-04 17:06:27 -0800</bug_when>
    <thetext>Created attachment 356558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485148</commentid>
    <comment_count>9</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-04 21:51:32 -0800</bug_when>
    <thetext>http://trac.webkit.org/r238886</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485153</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-04 21:57:50 -0800</bug_when>
    <thetext>&lt;rdar://problem/46477177&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356524</attachid>
            <date>2018-12-04 11:55:22 -0800</date>
            <delta_ts>2018-12-04 14:30:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192372-20181204115521.patch</filename>
            <type>text/plain</type>
            <size>19260</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzg4NjgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTEyLTA0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHNvdXJj
ZSBhcHBsaWNhdGlvbiBpZGVudGlmaWVycyBmcm9tIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTIzNzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgX1dLV2ViUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHdheSBvZiBzZXR0aW5nIHRoZXNlIHdh
cyBkZXByZWNhdGVkIGluIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcjIzNTEyNworICAgICAgICBU
aGUgcmVwbGFjZW1lbnQgd2FzIGFkb3B0ZWQgaW4gPHJkYXI6Ly9wcm9ibGVtLzQ2MzU5MzMwPgor
ICAgICAgICBUaGUgdHJhbnNpdGlvbiBwcm9jZXNzIGlzIGRvbmUhICBUaW1lIHRvIHJlbW92ZSB0
aGUgb2xkIGNvZGUuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzc0NvY29hKToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0d29ya1Nlc3Npb25Db2NvYSk6
CisgICAgICAgIChXZWJLaXQ6Omdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpnbG9iYWxTb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpnbG9iYWxTb3VyY2VBcHBs
aWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNl
QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6
Y29weSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5tbToKKyAgICAgICAgKC1bX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHNvdXJj
ZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcl0pOgorICAgICAgICAoLVtfV0tQcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24gc2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOl0pOgor
ICAgICAgICAoLVtfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gc291cmNlQXBwbGljYXRpb25T
ZWNvbmRhcnlJZGVudGlmaWVyXSk6CisgICAgICAgICgtW19XS1Byb2Nlc3NQb29sQ29uZmlndXJh
dGlvbiBzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI6XSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29j
b2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0
Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKToKKyAgICAgICAgKFdlYktpdDo6dG9Q
S1BheW1lbnRSZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5p
dGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpj
b25maWd1cmF0aW9uKToKKwogMjAxOC0xMi0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24ocjIzODgxNykgUFNPTiBQYWdlIENhY2hlIEFQSSB0
ZXN0cyBhcmUgZmFpbGluZwpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJ
KHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OCw4ICs2
OCw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmUKICNpZiBQTEFU
Rk9STShDT0NPQSkKICAgICBlbmNvZGVyIDw8IHVpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXI7CiAg
ICAgZW5jb2RlciA8PCB1aVByb2Nlc3NTREtWZXJzaW9uOwotICAgIGVuY29kZXIgPDwgc291cmNl
QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOwotICAgIGVuY29kZXIgPDwgc291cmNlQXBwbGlj
YXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAg
ZW5jb2RlciA8PCBjdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGU7CiAjZW5kaWYKQEAgLTE3OSwx
MCArMTc3LDYgQEAgYm9vbCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZAogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQudWlQcm9j
ZXNzU0RLVmVyc2lvbikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHJlc3VsdC5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc291cmNlQXBw
bGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuY3RE
YXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDog
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjM4ODU2KQorKysgU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CSh3b3JraW5nIGNvcHkpCkBAIC04Miw4ICs4Miw2IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBTdHJpbmcgdWlQcm9j
ZXNzQnVuZGxlSWRlbnRpZmllcjsKICAgICB1aW50MzJfdCB1aVByb2Nlc3NTREtWZXJzaW9uIHsg
MCB9OwotICAgIFN0cmluZyBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7Ci0gICAg
U3RyaW5nIHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQogICAgIFN0cmluZyBjdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGU7CiAj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1By
b2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQkod29y
a2luZyBjb3B5KQpAQCAtODgsOSArODgsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9y
bUluaXRpYWxpemVOCiAKICAgICBTZXNzaW9uVHJhY2tlcjo6c2V0SWRlbnRpZmllckJhc2UocGFy
YW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyKTsKIAotICAgIE5ldHdvcmtTZXNzaW9u
Q29jb2E6OnNldFNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEoc291cmNlQXBwbGljYXRp
b25BdWRpdERhdGEoKSk7Ci0gICAgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGlj
YXRpb25CdW5kbGVJZGVudGlmaWVyKHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJ
ZGVudGlmaWVyKTsKLSAgICBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlv
blNlY29uZGFyeUlkZW50aWZpZXIocGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFy
eUlkZW50aWZpZXIpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgTmV0d29ya1Nlc3Np
b25Db2NvYTo6c2V0Q1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKHBhcmFtZXRlcnMuY3REYXRh
Q29ubmVjdGlvblNlcnZpY2VUeXBlKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgJKHJl
dmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya1Nlc3Npb25Db2NvYS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMCArNDgsNyBAQCBwdWJs
aWM6CiAgICAgfk5ldHdvcmtTZXNzaW9uQ29jb2EoKTsKIAogICAgIC8vIE11c3QgYmUgY2FsbGVk
IGJlZm9yZSBhbnkgTmV0d29ya1Nlc3Npb24gaGFzIGJlZW4gY3JlYXRlZC4KLSAgICAvLyBGSVhN
RTogTW92ZSB0aGVzZSB0byBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy4KLSAgICBz
dGF0aWMgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKFJldGFpblB0cjxD
RkRhdGFSZWY+JiYpOwotICAgIHN0YXRpYyB2b2lkIHNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllcihjb25zdCBTdHJpbmcmKTsKLSAgICBzdGF0aWMgdm9pZCBzZXRTb3VyY2VBcHBs
aWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJik7CisgICAgLy8gRklYTUU6
IE1vdmUgdGhpcyB0byBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy4KICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIHN0YXRpYyB2b2lkIHNldENURGF0YUNvbm5lY3Rpb25TZXJ2
aWNlVHlwZShjb25zdCBTdHJpbmcmKTsKICNlbmRpZgpAQCAtODYsOSArODMsNiBAQCBwcml2YXRl
OgogICAgIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IG1fcHJveHlDb25maWd1cmF0aW9uOwog
ICAgIGJvb2wgbV9zaG91bGRMb2dDb29raWVJbmZvcm1hdGlvbiB7IGZhbHNlIH07CiAgICAgU2Vj
b25kcyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7Ci0KLSAgICBTdHJpbmcgbV9zb3VyY2VBcHBsaWNh
dGlvbkJ1bmRsZUlkZW50aWZpZXI7Ci0gICAgU3RyaW5nIG1fc291cmNlQXBwbGljYXRpb25TZWNv
bmRhcnlJZGVudGlmaWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vz
c2lvbkNvY29hLm1tCShyZXZpc2lvbiAyMzg4NTYpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTU4
MywyNCArNTgzLDYgQEAgc3RhdGljIE5TVVJMU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKmNvbmZpZwog
ICAgIHJldHVybiBbTlNVUkxTZXNzaW9uQ29uZmlndXJhdGlvbiBkZWZhdWx0U2Vzc2lvbkNvbmZp
Z3VyYXRpb25dOwogfQogCi1zdGF0aWMgUmV0YWluUHRyPENGRGF0YVJlZj4mIGdsb2JhbFNvdXJj
ZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxSZXRhaW5QdHI8Q0ZEYXRhUmVmPj4gc291cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YTsK
LSAgICByZXR1cm4gc291cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YS5nZXQoKTsKLX0KLQot
c3RhdGljIFN0cmluZyYgZ2xvYmFsU291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCkK
LXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzb3VyY2VBcHBsaWNhdGlvbkJ1
bmRsZUlkZW50aWZpZXI7Ci0gICAgcmV0dXJuIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRp
Zmllci5nZXQoKTsKLX0KLQotc3RhdGljIFN0cmluZyYgZ2xvYmFsU291cmNlQXBwbGljYXRpb25T
ZWNvbmRhcnlJZGVudGlmaWVyKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5n
PiBzb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI7Ci0gICAgcmV0dXJuIHNvdXJj
ZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllci5nZXQoKTsKLX0KLQogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCiBzdGF0aWMgU3RyaW5nJiBnbG9iYWxDVERhdGFDb25uZWN0aW9uU2Vydmlj
ZVR5cGUoKQogewpAQCAtNjA4LDI0ICs1OTAsNiBAQCBzdGF0aWMgU3RyaW5nJiBnbG9iYWxDVERh
dGFDb25uZWN0aW9uU2VyCiAgICAgcmV0dXJuIGN0RGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZS5n
ZXQoKTsKIH0KICNlbmRpZgotICAgIAotdm9pZCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3Vy
Y2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKFJldGFpblB0cjxDRkRhdGFSZWY+JiYgZGF0YSkK
LXsKLSAgICBBU1NFUlQoIXNlc3Npb25zQ3JlYXRlZCk7Ci0gICAgZ2xvYmFsU291cmNlQXBwbGlj
YXRpb25BdWRpdFRva2VuRGF0YSgpID0gZGF0YTsKLX0KLQotdm9pZCBOZXR3b3JrU2Vzc2lvbkNv
Y29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyKQotewotICAgIEFTU0VSVCghc2Vzc2lvbnNDcmVhdGVkKTsKLSAgICBnbG9iYWxT
b3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKSA9IGlkZW50aWZpZXI7Ci19Ci0KLXZv
aWQgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVu
dGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikKLXsKLSAgICBBU1NFUlQoIXNlc3Npb25z
Q3JlYXRlZCk7Ci0gICAgZ2xvYmFsU291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVy
KCkgPSBpZGVudGlmaWVyOwotfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHZvaWQgTmV0
d29ya1Nlc3Npb25Db2NvYTo6c2V0Q1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKGNvbnN0IFN0
cmluZyYgdHlwZSkKQEAgLTY0Niw4ICs2MTAsNiBAQCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3
b3JrU2Vzc2lvbkNvY29hCiAgICAgLCBtX3Byb3h5Q29uZmlndXJhdGlvbihwYXJhbWV0ZXJzLnBy
b3h5Q29uZmlndXJhdGlvbikKICAgICAsIG1fc2hvdWxkTG9nQ29va2llSW5mb3JtYXRpb24ocGFy
YW1ldGVycy5zaG91bGRMb2dDb29raWVJbmZvcm1hdGlvbikKICAgICAsIG1fbG9hZFRocm90dGxl
TGF0ZW5jeShwYXJhbWV0ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kpCi0gICAgLCBtX3NvdXJjZUFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllcikKLSAgICAsIG1fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyKHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKQogewog
ICAgIEFTU0VSVChoYXNQcm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vz
c1Jhd0Nvb2tpZXMpKTsKIApAQCAtNjcwLDIzICs2MzIsMTYgQEAgTmV0d29ya1Nlc3Npb25Db2Nv
YTo6TmV0d29ya1Nlc3Npb25Db2NvYQogICAgIC8vIFRoZSBXZWJLaXQgbmV0d29yayBjYWNoZSB3
YXMgYWxyZWFkeSBxdWVyaWVkLgogICAgIGNvbmZpZ3VyYXRpb24uVVJMQ2FjaGUgPSBuaWw7CiAK
LSAgICBpZiAoYXV0byYgZGF0YSA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRh
dGEoKSkKKyAgICBpZiAoYXV0byBkYXRhID0gTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnNv
dXJjZUFwcGxpY2F0aW9uQXVkaXREYXRhKCkpCiAgICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJj
ZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEgPSAoX19icmlkZ2UgTlNEYXRhICopZGF0YS5nZXQo
KTsKIAotICAgIGF1dG8mIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IGdsb2Jh
bFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcigpOwotICAgIGlmICghbV9zb3VyY2VB
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGNvbmZpZ3Vy
YXRpb24uX3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IG1fc291cmNlQXBwbGlj
YXRpb25CdW5kbGVJZGVudGlmaWVyOwotICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBs
aWNhdGlvbkF1ZGl0VG9rZW5EYXRhID0gbmlsOwotICAgIH0gZWxzZSBpZiAoIXNvdXJjZUFwcGxp
Y2F0aW9uQnVuZGxlSWRlbnRpZmllci5pc0VtcHR5KCkpIHsKLSAgICAgICAgY29uZmlndXJhdGlv
bi5fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyID0gc291cmNlQXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyOworICAgIGlmICghcGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvbkJ1
bmRsZUlkZW50aWZpZXIuaXNFbXB0eSgpKSB7CisgICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJj
ZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRp
b25CdW5kbGVJZGVudGlmaWVyOwogICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNh
dGlvbkF1ZGl0VG9rZW5EYXRhID0gbmlsOwogICAgIH0KIAotICAgIGF1dG8mIHNvdXJjZUFwcGxp
Y2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllciA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25k
YXJ5SWRlbnRpZmllcigpOwotICAgIGlmICghbV9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlk
ZW50aWZpZXIuaXNFbXB0eSgpKQotICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNh
dGlvblNlY29uZGFyeUlkZW50aWZpZXIgPSBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRl
bnRpZmllcjsKLSAgICBlbHNlIGlmICghc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyLmlzRW1wdHkoKSkKLSAgICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGljYXRpb25T
ZWNvbmRhcnlJZGVudGlmaWVyID0gc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVy
OworICAgIGlmICghcGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZp
ZXIuaXNFbXB0eSgpKQorICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvblNl
Y29uZGFyeUlkZW50aWZpZXIgPSBwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5
SWRlbnRpZmllcjsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYXV0byYgY3REYXRh
Q29ubmVjdGlvblNlcnZpY2VUeXBlID0gZ2xvYmFsQ1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBl
KCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAkocmV2aXNpb24gMjM4ODU2KQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEwOSw4ICsxMDksNiBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1
cmF0aW9uPiBQcm9jZXNzUG9vCiAgICAgY29weS0+bV9pZ25vcmVTeW5jaHJvbm91c01lc3NhZ2lu
Z1RpbWVvdXRzRm9yVGVzdGluZyA9IHRoaXMtPm1faWdub3JlU3luY2hyb25vdXNNZXNzYWdpbmdU
aW1lb3V0c0ZvclRlc3Rpbmc7CiAgICAgY29weS0+bV9hdHRyU3R5bGVFbmFibGVkID0gdGhpcy0+
bV9hdHRyU3R5bGVFbmFibGVkOwogICAgIGNvcHktPm1fb3ZlcnJpZGVMYW5ndWFnZXMgPSB0aGlz
LT5tX292ZXJyaWRlTGFuZ3VhZ2VzOwotICAgIGNvcHktPm1fc291cmNlQXBwbGljYXRpb25CdW5k
bGVJZGVudGlmaWVyID0gdGhpcy0+bV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7
Ci0gICAgY29weS0+bV9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIgPSB0aGlz
LT5tX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKICAgICBjb3B5LT5tX2Fs
d2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSA9IHRoaXMtPm1fYWx3YXlzUnVuc0F0QmFja2dy
b3VuZFByaW9yaXR5OwogICAgIGNvcHktPm1fc2hvdWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlv
biA9IHRoaXMtPm1fc2hvdWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlvbjsKICAgICBjb3B5LT5t
X3Nob3VsZENhcHR1cmVBdWRpb0luVUlQcm9jZXNzID0gdGhpcy0+bV9zaG91bGRDYXB0dXJlQXVk
aW9JblVJUHJvY2VzczsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgJKHJldmlzaW9uIDIzODg1NikK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24uaAkod29ya2luZyBjb3B5KQpAQCAtMTI4LDEyICsxMjgsNiBAQCBwdWJsaWM6CiAKICAgICBj
b25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiBvdmVycmlkZUxhbmd1YWdlcygpIGNvbnN0IHsgcmV0
dXJuIG1fb3ZlcnJpZGVMYW5ndWFnZXM7IH0KICAgICB2b2lkIHNldE92ZXJyaWRlTGFuZ3VhZ2Vz
KFZlY3RvcjxXVEY6OlN0cmluZz4mJiBsYW5ndWFnZXMpIHsgbV9vdmVycmlkZUxhbmd1YWdlcyA9
IFdURk1vdmUobGFuZ3VhZ2VzKTsgfQotCi0gICAgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlQXBwbGlj
YXRpb25CdW5kbGVJZGVudGlmaWVyOyB9Ci0gICAgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1
bmRsZUlkZW50aWZpZXIoY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllcikgeyBtX3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IHNvdXJj
ZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcjsgfQotCi0gICAgY29uc3QgV1RGOjpTdHJpbmcm
IHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1f
c291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOyB9Ci0gICAgdm9pZCBzZXRTb3Vy
Y2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIoY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJj
ZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcikgeyBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllciA9IHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsg
fQogICAgIAogICAgIGJvb2wgYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkgY29uc3Qg
eyByZXR1cm4gbV9hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHk7IH0KICAgICB2b2lkIHNl
dEFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eShib29sIGFsd2F5c1J1bnNBdEJhY2tncm91
bmRQcmlvcml0eSkgeyBtX2Fsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSA9IGFsd2F5c1J1
bnNBdEJhY2tncm91bmRQcmlvcml0eTsgfQpAQCAtMjA5LDggKzIwMyw2IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBtX2lnbm9yZVN5bmNocm9ub3VzTWVzc2FnaW5nVGltZW91dHNGb3JUZXN0aW5nIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fYXR0clN0eWxlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgVmVj
dG9yPFdURjo6U3RyaW5nPiBtX292ZXJyaWRlTGFuZ3VhZ2VzOwotICAgIFdURjo6U3RyaW5nIG1f
c291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOwotICAgIFdURjo6U3RyaW5nIG1fc291
cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOwogICAgIGJvb2wgbV9hbHdheXNSdW5z
QXRCYWNrZ3JvdW5kUHJpb3JpdHkgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRUYWtlVUlC
YWNrZ3JvdW5kQXNzZXJ0aW9uIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9zaG91bGRDYXB0dXJlQXVk
aW9JblVJUHJvY2VzcyB7IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24ubW0JKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTIw
MSwyMiArMjAxLDIwIEBAIC0gKHZvaWQpc2V0QWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzOigK
IAogLSAoTlNTdHJpbmcgKilzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIKIHsKLSAg
ICByZXR1cm4gX3Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi0+c291cmNlQXBwbGljYXRpb25CdW5k
bGVJZGVudGlmaWVyKCk7CisgICAgcmV0dXJuIG5pbDsKIH0KIAogLSAodm9pZClzZXRTb3VyY2VB
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI6KE5TU3RyaW5nICopc291cmNlQXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyCiB7Ci0gICAgX3Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi0+c2V0U291
cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRl
bnRpZmllcik7CiB9CiAKIC0gKE5TU3RyaW5nICopc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJ
ZGVudGlmaWVyCiB7Ci0gICAgcmV0dXJuIF9wcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24tPnNvdXJj
ZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpOworICAgIHJldHVybiBuaWw7CiB9CiAK
IC0gKHZvaWQpc2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOihOU1N0cmlu
ZyAqKXNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcgogewotICAgIF9wcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24tPnNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmll
cihzb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIpOwogfQogCiAtIChCT09MKXNo
b3VsZENhcHR1cmVBdWRpb0luVUlQcm9jZXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Q29jb2EubW0JKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5
Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2NCw3ICsyNjQsNyBAQCBib29sIFdlYlBheW1l
bnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9yCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5OjpwbGF0Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYg
bWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rp
b248dm9pZCAoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAjaWYgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MTAwMDApCi0gICAgUEtDYW5NYWtlUGF5bWVudHNXaXRoTWVyY2hhbnRJZGVudGlmaWVyRG9tYWlu
QW5kU291cmNlQXBwbGljYXRpb24obWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1lLCBtX3dl
YlBhZ2VQcm94eS5wcm9jZXNzKCkucHJvY2Vzc1Bvb2woKS5jb25maWd1cmF0aW9uKCkuc291cmNl
QXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKCksIEJsb2NrUHRyPHZvaWQoQk9PTCwgTlNF
cnJvciAqKT46OmZyb21DYWxsYWJsZShbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKV0oQk9PTCBjYW5NYWtlUGF5bWVudHMsIE5TRXJyb3IgKmVycm9yKSBtdXRh
YmxlIHsKKyAgICBQS0Nhbk1ha2VQYXltZW50c1dpdGhNZXJjaGFudElkZW50aWZpZXJEb21haW5B
bmRTb3VyY2VBcHBsaWNhdGlvbihtZXJjaGFudElkZW50aWZpZXIsIGRvbWFpbk5hbWUsIG1fd2Vi
UGFnZVByb3h5LndlYnNpdGVEYXRhU3RvcmUoKS5jb25maWd1cmF0aW9uKCkuc291cmNlQXBwbGlj
YXRpb25TZWNvbmRhcnlJZGVudGlmaWVyLCBCbG9ja1B0cjx2b2lkKEJPT0wsIE5TRXJyb3IgKik+
Ojpmcm9tQ2FsbGFibGUoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcildKEJPT0wgY2FuTWFrZVBheW1lbnRzLCBOU0Vycm9yICplcnJvcikgbXV0YWJsZSB7CiAg
ICAgICAgIGlmIChlcnJvcikKICAgICAgICAgICAgIExPR19FUlJPUigiUEtDYW5NYWtlUGF5bWVu
dHNXaXRoTWVyY2hhbnRJZGVudGlmaWVyQW5kRG9tYWluIGVycm9yICVAIiwgZXJyb3IpOwogCkBA
IC01MDYsMTMgKzUwNiwxMyBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gdG9QS1BheW1l
bnRSCiAjZW5kaWYKIAogICAgIC8vIEZJWE1FOiBJbnN0ZWFkIG9mIHVzaW5nIHJlc3BvbmRzVG9T
ZWxlY3RvciwgdGhpcyBzaG91bGQgdXNlIGEgcHJvcGVyICNpZiB2ZXJzaW9uIGNoZWNrLgotICAg
IGF1dG8mIGNvbmZpZ3VyYXRpb24gPSB3ZWJQYWdlUHJveHkucHJvY2VzcygpLnByb2Nlc3NQb29s
KCkuY29uZmlndXJhdGlvbigpOworICAgIGF1dG8mIGNvbmZpZ3VyYXRpb24gPSB3ZWJQYWdlUHJv
eHkud2Vic2l0ZURhdGFTdG9yZSgpLmNvbmZpZ3VyYXRpb24oKTsKIAotICAgIGlmICghY29uZmln
dXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKS5pc0VtcHR5KCkgJiYg
W3Jlc3VsdCByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFNvdXJjZUFwcGxpY2F0aW9u
QnVuZGxlSWRlbnRpZmllcjopXSkKLSAgICAgICAgW3Jlc3VsdCBzZXRTb3VyY2VBcHBsaWNhdGlv
bkJ1bmRsZUlkZW50aWZpZXI6Y29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlk
ZW50aWZpZXIoKV07CisgICAgaWYgKCFjb25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllci5pc0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKHNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcjopXSkKKyAgICAgICAg
W3Jlc3VsdCBzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI6Y29uZmlndXJhdGlv
bi5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJdOwogCi0gICAgaWYgKCFjb25maWd1
cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpLmlzRW1wdHkoKSAm
JiBbcmVzdWx0IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0U291cmNlQXBwbGljYXRp
b25TZWNvbmRhcnlJZGVudGlmaWVyOildKQotICAgICAgICBbcmVzdWx0IHNldFNvdXJjZUFwcGxp
Y2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjpjb25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9u
U2Vjb25kYXJ5SWRlbnRpZmllcigpXTsKKyAgICBpZiAoIWNvbmZpZ3VyYXRpb24uc291cmNlQXBw
bGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyLmlzRW1wdHkoKSAmJiBbcmVzdWx0IHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyOildKQorICAgICAgICBbcmVzdWx0IHNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRl
bnRpZmllcjpjb25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmll
cl07CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGlmICghY29uZmlndXJhdGlvbi5j
dERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUoKS5pc0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldENURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZTopXSkK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vz
c1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjY1LDgg
KzI2NSw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZU4KIAogICAg
IHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlTmV0d29ya0NhY2hlRWZmaWNhY3lMb2dnaW5nID0gW2Rl
ZmF1bHRzIGJvb2xGb3JLZXk6V2ViS2l0TmV0d29ya0NhY2hlRWZmaWNhY3lMb2dnaW5nRW5hYmxl
ZERlZmF1bHRzS2V5XTsKIAotICAgIHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJ
ZGVudGlmaWVyID0gbV9jb25maWd1cmF0aW9uLT5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50
aWZpZXIoKTsKLSAgICBwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRp
ZmllciA9IG1fY29uZmlndXJhdGlvbi0+c291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyKCk7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBwYXJhbWV0ZXJzLmN0RGF0YUNv
bm5lY3Rpb25TZXJ2aWNlVHlwZSA9IG1fY29uZmlndXJhdGlvbi0+Y3REYXRhQ29ubmVjdGlvblNl
cnZpY2VUeXBlKCk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHJldmlzaW9uIDIzODg1NikK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUu
aAkod29ya2luZyBjb3B5KQpAQCAtMjA5LDYgKzIwOSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
ZGlkQ3JlYXRlTmV0d29ya1Byb2Nlc3MoKTsKIAorICAgIGNvbnN0IENvbmZpZ3VyYXRpb24mIGNv
bmZpZ3VyYXRpb24oKSB7IHJldHVybiBtX2NvbmZpZ3VyYXRpb247IH0KKwogcHJpdmF0ZToKICAg
ICBleHBsaWNpdCBXZWJzaXRlRGF0YVN0b3JlKFBBTDo6U2Vzc2lvbklEKTsKICAgICBleHBsaWNp
dCBXZWJzaXRlRGF0YVN0b3JlKENvbmZpZ3VyYXRpb24sIFBBTDo6U2Vzc2lvbklEKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356535</attachid>
            <date>2018-12-04 14:30:29 -0800</date>
            <delta_ts>2018-12-04 14:49:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192372-20181204143028.patch</filename>
            <type>text/plain</type>
            <size>19584</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzg4NzQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTEyLTA0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHNvdXJj
ZSBhcHBsaWNhdGlvbiBpZGVudGlmaWVycyBmcm9tIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTIzNzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgX1dLV2ViUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHdheSBvZiBzZXR0aW5nIHRoZXNlIHdh
cyBkZXByZWNhdGVkIGluIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcjIzNTEyNworICAgICAgICBU
aGUgcmVwbGFjZW1lbnQgd2FzIGFkb3B0ZWQgaW4gPHJkYXI6Ly9wcm9ibGVtLzQ2MzU5MzMwPgor
ICAgICAgICBUaGUgdHJhbnNpdGlvbiBwcm9jZXNzIGlzIGRvbmUhICBUaW1lIHRvIHJlbW92ZSB0
aGUgb2xkIGNvZGUuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzc0NvY29hKToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0d29ya1Nlc3Npb25Db2NvYSk6
CisgICAgICAgIChXZWJLaXQ6Omdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpnbG9iYWxTb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpnbG9iYWxTb3VyY2VBcHBs
aWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNl
QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6
Y29weSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5tbToKKyAgICAgICAgKC1bX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHNvdXJj
ZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcl0pOgorICAgICAgICAoLVtfV0tQcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24gc2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOl0pOgor
ICAgICAgICAoLVtfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gc291cmNlQXBwbGljYXRpb25T
ZWNvbmRhcnlJZGVudGlmaWVyXSk6CisgICAgICAgICgtW19XS1Byb2Nlc3NQb29sQ29uZmlndXJh
dGlvbiBzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI6XSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29j
b2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0
Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKToKKyAgICAgICAgKFdlYktpdDo6dG9Q
S1BheW1lbnRSZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5p
dGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpj
b25maWd1cmF0aW9uKToKKwogMjAxOC0xMi0wNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQ2FsbGluZyBnZXRVc2VyTWVkaWEgaW4gYSBsaW5rIHRoYXQgd2Fz
IG9wZW5lZCB3aXRoIHRhcmdldD0iX2JsYW5rIiBkb2VzIG5vdCB3b3JrIHRoZSBzZWNvbmQgdGlt
ZQpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDIzODg1
NikKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OCw4ICs2OCw2IEBAIHZvaWQgTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmUKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICBlbmNvZGVyIDw8IHVpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXI7CiAgICAgZW5jb2RlciA8PCB1
aVByb2Nlc3NTREtWZXJzaW9uOwotICAgIGVuY29kZXIgPDwgc291cmNlQXBwbGljYXRpb25CdW5k
bGVJZGVudGlmaWVyOwotICAgIGVuY29kZXIgPDwgc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJ
ZGVudGlmaWVyOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgZW5jb2RlciA8PCBjdERh
dGFDb25uZWN0aW9uU2VydmljZVR5cGU7CiAjZW5kaWYKQEAgLTE3OSwxMCArMTc3LDYgQEAgYm9v
bCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZAogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQudWlQcm9jZXNzU0RLVmVyc2lvbikp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5z
b3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc291cmNlQXBwbGljYXRpb25TZWNvbmRh
cnlJZGVudGlmaWVyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuY3REYXRhQ29ubmVjdGlvblNl
cnZpY2VUeXBlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkp
CkBAIC04Miw4ICs4Miw2IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBTdHJpbmcgdWlQcm9jZXNzQnVuZGxlSWRlbnRp
ZmllcjsKICAgICB1aW50MzJfdCB1aVByb2Nlc3NTREtWZXJzaW9uIHsgMCB9OwotICAgIFN0cmlu
ZyBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7Ci0gICAgU3RyaW5nIHNvdXJjZUFw
cGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIFN0cmluZyBjdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGU7CiAjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQ
cm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAt
ODgsOSArODgsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOCiAK
ICAgICBTZXNzaW9uVHJhY2tlcjo6c2V0SWRlbnRpZmllckJhc2UocGFyYW1ldGVycy51aVByb2Nl
c3NCdW5kbGVJZGVudGlmaWVyKTsKIAotICAgIE5ldHdvcmtTZXNzaW9uQ29jb2E6OnNldFNvdXJj
ZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEoc291cmNlQXBwbGljYXRpb25BdWRpdERhdGEoKSk7
Ci0gICAgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyKHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKTsKLSAg
ICBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50
aWZpZXIocGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIpOwog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0Q1RE
YXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKHBhcmFtZXRlcnMuY3REYXRhQ29ubmVjdGlvblNlcnZp
Y2VUeXBlKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgJKHJldmlzaW9uIDIzODg1NikK
KysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2Nv
YS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMCArNDgsNyBAQCBwdWJsaWM6CiAgICAgfk5ldHdv
cmtTZXNzaW9uQ29jb2EoKTsKIAogICAgIC8vIE11c3QgYmUgY2FsbGVkIGJlZm9yZSBhbnkgTmV0
d29ya1Nlc3Npb24gaGFzIGJlZW4gY3JlYXRlZC4KLSAgICAvLyBGSVhNRTogTW92ZSB0aGVzZSB0
byBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy4KLSAgICBzdGF0aWMgdm9pZCBzZXRT
b3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKFJldGFpblB0cjxDRkRhdGFSZWY+JiYpOwot
ICAgIHN0YXRpYyB2b2lkIHNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihjb25z
dCBTdHJpbmcmKTsKLSAgICBzdGF0aWMgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFy
eUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJik7CisgICAgLy8gRklYTUU6IE1vdmUgdGhpcyB0byBO
ZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy4KICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIHN0YXRpYyB2b2lkIHNldENURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZShjb25zdCBT
dHJpbmcmKTsKICNlbmRpZgpAQCAtODYsOSArODMsNiBAQCBwcml2YXRlOgogICAgIFJldGFpblB0
cjxDRkRpY3Rpb25hcnlSZWY+IG1fcHJveHlDb25maWd1cmF0aW9uOwogICAgIGJvb2wgbV9zaG91
bGRMb2dDb29raWVJbmZvcm1hdGlvbiB7IGZhbHNlIH07CiAgICAgU2Vjb25kcyBtX2xvYWRUaHJv
dHRsZUxhdGVuY3k7Ci0KLSAgICBTdHJpbmcgbV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50
aWZpZXI7Ci0gICAgU3RyaW5nIG1fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVy
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCShy
ZXZpc2lvbiAyMzg4NTYpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05l
dHdvcmtTZXNzaW9uQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTU4MywyNCArNTgzLDYgQEAg
c3RhdGljIE5TVVJMU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKmNvbmZpZwogICAgIHJldHVybiBbTlNV
UkxTZXNzaW9uQ29uZmlndXJhdGlvbiBkZWZhdWx0U2Vzc2lvbkNvbmZpZ3VyYXRpb25dOwogfQog
Ci1zdGF0aWMgUmV0YWluUHRyPENGRGF0YVJlZj4mIGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVk
aXRUb2tlbkRhdGEoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8Q0ZE
YXRhUmVmPj4gc291cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YTsKLSAgICByZXR1cm4gc291
cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YS5nZXQoKTsKLX0KLQotc3RhdGljIFN0cmluZyYg
Z2xvYmFsU291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCkKLXsKLSAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7
Ci0gICAgcmV0dXJuIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllci5nZXQoKTsKLX0K
LQotc3RhdGljIFN0cmluZyYgZ2xvYmFsU291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzb3VyY2VBcHBsaWNh
dGlvblNlY29uZGFyeUlkZW50aWZpZXI7Ci0gICAgcmV0dXJuIHNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllci5nZXQoKTsKLX0KLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBz
dGF0aWMgU3RyaW5nJiBnbG9iYWxDVERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUoKQogewpAQCAt
NjA4LDI0ICs1OTAsNiBAQCBzdGF0aWMgU3RyaW5nJiBnbG9iYWxDVERhdGFDb25uZWN0aW9uU2Vy
CiAgICAgcmV0dXJuIGN0RGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZS5nZXQoKTsKIH0KICNlbmRp
ZgotICAgIAotdm9pZCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvbkF1
ZGl0VG9rZW5EYXRhKFJldGFpblB0cjxDRkRhdGFSZWY+JiYgZGF0YSkKLXsKLSAgICBBU1NFUlQo
IXNlc3Npb25zQ3JlYXRlZCk7Ci0gICAgZ2xvYmFsU291cmNlQXBwbGljYXRpb25BdWRpdFRva2Vu
RGF0YSgpID0gZGF0YTsKLX0KLQotdm9pZCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VB
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQotewot
ICAgIEFTU0VSVCghc2Vzc2lvbnNDcmVhdGVkKTsKLSAgICBnbG9iYWxTb3VyY2VBcHBsaWNhdGlv
bkJ1bmRsZUlkZW50aWZpZXIoKSA9IGlkZW50aWZpZXI7Ci19Ci0KLXZvaWQgTmV0d29ya1Nlc3Np
b25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllcikKLXsKLSAgICBBU1NFUlQoIXNlc3Npb25zQ3JlYXRlZCk7Ci0gICAg
Z2xvYmFsU291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKCkgPSBpZGVudGlmaWVy
OwotfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHZvaWQgTmV0d29ya1Nlc3Npb25Db2Nv
YTo6c2V0Q1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkKQEAg
LTY0Niw4ICs2MTAsNiBAQCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3JrU2Vzc2lvbkNvY29h
CiAgICAgLCBtX3Byb3h5Q29uZmlndXJhdGlvbihwYXJhbWV0ZXJzLnByb3h5Q29uZmlndXJhdGlv
bikKICAgICAsIG1fc2hvdWxkTG9nQ29va2llSW5mb3JtYXRpb24ocGFyYW1ldGVycy5zaG91bGRM
b2dDb29raWVJbmZvcm1hdGlvbikKICAgICAsIG1fbG9hZFRocm90dGxlTGF0ZW5jeShwYXJhbWV0
ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kpCi0gICAgLCBtX3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllcihwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcikK
LSAgICAsIG1fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKHBhcmFtZXRlcnMu
c291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKQogewogICAgIEFTU0VSVChoYXNQ
cm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMpKTsK
IApAQCAtNjcwLDIzICs2MzIsMTYgQEAgTmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0d29ya1Nlc3Np
b25Db2NvYQogICAgIC8vIFRoZSBXZWJLaXQgbmV0d29yayBjYWNoZSB3YXMgYWxyZWFkeSBxdWVy
aWVkLgogICAgIGNvbmZpZ3VyYXRpb24uVVJMQ2FjaGUgPSBuaWw7CiAKLSAgICBpZiAoYXV0byYg
ZGF0YSA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEoKSkKKyAgICBpZiAo
YXV0byBkYXRhID0gTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnNvdXJjZUFwcGxpY2F0aW9u
QXVkaXREYXRhKCkpCiAgICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFwcGxpY2F0aW9uQXVk
aXRUb2tlbkRhdGEgPSAoX19icmlkZ2UgTlNEYXRhICopZGF0YS5nZXQoKTsKIAotICAgIGF1dG8m
IHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0
aW9uQnVuZGxlSWRlbnRpZmllcigpOwotICAgIGlmICghbV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IG1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyOwotICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9r
ZW5EYXRhID0gbmlsOwotICAgIH0gZWxzZSBpZiAoIXNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRl
bnRpZmllci5pc0VtcHR5KCkpIHsKLSAgICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGlj
YXRpb25CdW5kbGVJZGVudGlmaWVyID0gc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
OworICAgIGlmICghcGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIu
aXNFbXB0eSgpKSB7CisgICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllciA9IHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlm
aWVyOwogICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5E
YXRhID0gbmlsOwogICAgIH0KIAotICAgIGF1dG8mIHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5
SWRlbnRpZmllciA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigp
OwotICAgIGlmICghbV9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIuaXNFbXB0
eSgpKQotICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlk
ZW50aWZpZXIgPSBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKLSAgICBl
bHNlIGlmICghc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyLmlzRW1wdHkoKSkK
LSAgICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyID0gc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOworICAgIGlmICghcGFy
YW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIuaXNFbXB0eSgpKQor
ICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZp
ZXIgPSBwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKIAog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYXV0byYgY3REYXRhQ29ubmVjdGlvblNlcnZp
Y2VUeXBlID0gZ2xvYmFsQ1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uLmNwcAkocmV2aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwOSw4ICsxMDksNiBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBQcm9jZXNz
UG9vCiAgICAgY29weS0+bV9pZ25vcmVTeW5jaHJvbm91c01lc3NhZ2luZ1RpbWVvdXRzRm9yVGVz
dGluZyA9IHRoaXMtPm1faWdub3JlU3luY2hyb25vdXNNZXNzYWdpbmdUaW1lb3V0c0ZvclRlc3Rp
bmc7CiAgICAgY29weS0+bV9hdHRyU3R5bGVFbmFibGVkID0gdGhpcy0+bV9hdHRyU3R5bGVFbmFi
bGVkOwogICAgIGNvcHktPm1fb3ZlcnJpZGVMYW5ndWFnZXMgPSB0aGlzLT5tX292ZXJyaWRlTGFu
Z3VhZ2VzOwotICAgIGNvcHktPm1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyID0g
dGhpcy0+bV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7Ci0gICAgY29weS0+bV9z
b3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIgPSB0aGlzLT5tX3NvdXJjZUFwcGxp
Y2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKICAgICBjb3B5LT5tX2Fsd2F5c1J1bnNBdEJhY2tn
cm91bmRQcmlvcml0eSA9IHRoaXMtPm1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5Owog
ICAgIGNvcHktPm1fc2hvdWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlvbiA9IHRoaXMtPm1fc2hv
dWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlvbjsKICAgICBjb3B5LT5tX3Nob3VsZENhcHR1cmVB
dWRpb0luVUlQcm9jZXNzID0gdGhpcy0+bV9zaG91bGRDYXB0dXJlQXVkaW9JblVJUHJvY2VzczsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgJKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaAkod29ya2luZyBj
b3B5KQpAQCAtMTI4LDEyICsxMjgsNiBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBWZWN0b3I8V1RG
OjpTdHJpbmc+JiBvdmVycmlkZUxhbmd1YWdlcygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVM
YW5ndWFnZXM7IH0KICAgICB2b2lkIHNldE92ZXJyaWRlTGFuZ3VhZ2VzKFZlY3RvcjxXVEY6OlN0
cmluZz4mJiBsYW5ndWFnZXMpIHsgbV9vdmVycmlkZUxhbmd1YWdlcyA9IFdURk1vdmUobGFuZ3Vh
Z2VzKTsgfQotCi0gICAgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyOyB9Ci0gICAgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIo
Y29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcikgeyBt
X3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IHNvdXJjZUFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllcjsgfQotCi0gICAgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0
aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlQXBwbGljYXRp
b25TZWNvbmRhcnlJZGVudGlmaWVyOyB9Ci0gICAgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvblNl
Y29uZGFyeUlkZW50aWZpZXIoY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllcikgeyBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmll
ciA9IHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsgfQogICAgIAogICAgIGJv
b2wgYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkgY29uc3QgeyByZXR1cm4gbV9hbHdh
eXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHk7IH0KICAgICB2b2lkIHNldEFsd2F5c1J1bnNBdEJh
Y2tncm91bmRQcmlvcml0eShib29sIGFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSkgeyBt
X2Fsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSA9IGFsd2F5c1J1bnNBdEJhY2tncm91bmRQ
cmlvcml0eTsgfQpAQCAtMjA5LDggKzIwMyw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lnbm9y
ZVN5bmNocm9ub3VzTWVzc2FnaW5nVGltZW91dHNGb3JUZXN0aW5nIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fYXR0clN0eWxlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgVmVjdG9yPFdURjo6U3RyaW5n
PiBtX292ZXJyaWRlTGFuZ3VhZ2VzOwotICAgIFdURjo6U3RyaW5nIG1fc291cmNlQXBwbGljYXRp
b25CdW5kbGVJZGVudGlmaWVyOwotICAgIFdURjo6U3RyaW5nIG1fc291cmNlQXBwbGljYXRpb25T
ZWNvbmRhcnlJZGVudGlmaWVyOwogICAgIGJvb2wgbV9hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJp
b3JpdHkgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRUYWtlVUlCYWNrZ3JvdW5kQXNzZXJ0
aW9uIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9zaG91bGRDYXB0dXJlQXVkaW9JblVJUHJvY2VzcyB7
IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0JKHJldmlzaW9u
IDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTIwMSwyMiArMjAxLDIwIEBA
IC0gKHZvaWQpc2V0QWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzOigKIAogLSAoTlNTdHJpbmcg
Kilzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIKIHsKLSAgICByZXR1cm4gX3Byb2Nl
c3NQb29sQ29uZmlndXJhdGlvbi0+c291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCk7
CisgICAgcmV0dXJuIG5pbDsKIH0KIAogLSAodm9pZClzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXI6KE5TU3RyaW5nICopc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
CiB7Ci0gICAgX3Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi0+c2V0U291cmNlQXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyKHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcik7CiB9CiAK
IC0gKE5TU3RyaW5nICopc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyCiB7Ci0g
ICAgcmV0dXJuIF9wcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24tPnNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllcigpOworICAgIHJldHVybiBuaWw7CiB9CiAKIC0gKHZvaWQpc2V0U291
cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOihOU1N0cmluZyAqKXNvdXJjZUFwcGxp
Y2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcgogewotICAgIF9wcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24tPnNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcihzb3VyY2VBcHBsaWNh
dGlvblNlY29uZGFyeUlkZW50aWZpZXIpOwogfQogCiAtIChCT09MKXNob3VsZENhcHR1cmVBdWRp
b0luVUlQcm9jZXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9jb2Nv
YS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5Q29jb2EubW0JKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0JKHdvcmtp
bmcgY29weSkKQEAgLTI2NCw3ICsyNjQsNyBAQCBib29sIFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5OjpwbGF0Zm9yCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNh
bk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZ
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCi0gICAgUEtD
YW5NYWtlUGF5bWVudHNXaXRoTWVyY2hhbnRJZGVudGlmaWVyRG9tYWluQW5kU291cmNlQXBwbGlj
YXRpb24obWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1lLCBtX3dlYlBhZ2VQcm94eS5wcm9j
ZXNzKCkucHJvY2Vzc1Bvb2woKS5jb25maWd1cmF0aW9uKCkuc291cmNlQXBwbGljYXRpb25TZWNv
bmRhcnlJZGVudGlmaWVyKCksIEJsb2NrUHRyPHZvaWQoQk9PTCwgTlNFcnJvciAqKT46OmZyb21D
YWxsYWJsZShbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0o
Qk9PTCBjYW5NYWtlUGF5bWVudHMsIE5TRXJyb3IgKmVycm9yKSBtdXRhYmxlIHsKKyAgICBQS0Nh
bk1ha2VQYXltZW50c1dpdGhNZXJjaGFudElkZW50aWZpZXJEb21haW5BbmRTb3VyY2VBcHBsaWNh
dGlvbihtZXJjaGFudElkZW50aWZpZXIsIGRvbWFpbk5hbWUsIG1fd2ViUGFnZVByb3h5LndlYnNp
dGVEYXRhU3RvcmUoKS5jb25maWd1cmF0aW9uKCkuc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJ
ZGVudGlmaWVyLCBCbG9ja1B0cjx2b2lkKEJPT0wsIE5TRXJyb3IgKik+Ojpmcm9tQ2FsbGFibGUo
W2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKEJPT0wgY2Fu
TWFrZVBheW1lbnRzLCBOU0Vycm9yICplcnJvcikgbXV0YWJsZSB7CiAgICAgICAgIGlmIChlcnJv
cikKICAgICAgICAgICAgIExPR19FUlJPUigiUEtDYW5NYWtlUGF5bWVudHNXaXRoTWVyY2hhbnRJ
ZGVudGlmaWVyQW5kRG9tYWluIGVycm9yICVAIiwgZXJyb3IpOwogCkBAIC01MDYsMTYgKzUwNiwx
NiBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gdG9QS1BheW1lbnRSCiAjZW5kaWYKIAog
ICAgIC8vIEZJWE1FOiBJbnN0ZWFkIG9mIHVzaW5nIHJlc3BvbmRzVG9TZWxlY3RvciwgdGhpcyBz
aG91bGQgdXNlIGEgcHJvcGVyICNpZiB2ZXJzaW9uIGNoZWNrLgotICAgIGF1dG8mIGNvbmZpZ3Vy
YXRpb24gPSB3ZWJQYWdlUHJveHkucHJvY2VzcygpLnByb2Nlc3NQb29sKCkuY29uZmlndXJhdGlv
bigpOworICAgIGF1dG8mIGNvbmZpZ3VyYXRpb24gPSB3ZWJQYWdlUHJveHkud2Vic2l0ZURhdGFT
dG9yZSgpLmNvbmZpZ3VyYXRpb24oKTsKIAotICAgIGlmICghY29uZmlndXJhdGlvbi5zb3VyY2VB
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKS5pc0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmll
cjopXSkKLSAgICAgICAgW3Jlc3VsdCBzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZp
ZXI6Y29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKV07Cisg
ICAgaWYgKCFjb25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllci5p
c0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFNvdXJj
ZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcjopXSkKKyAgICAgICAgW3Jlc3VsdCBzZXRTb3Vy
Y2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI6Y29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNh
dGlvbkJ1bmRsZUlkZW50aWZpZXJdOwogCi0gICAgaWYgKCFjb25maWd1cmF0aW9uLnNvdXJjZUFw
cGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpLmlzRW1wdHkoKSAmJiBbcmVzdWx0IHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVu
dGlmaWVyOildKQotICAgICAgICBbcmVzdWx0IHNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5
SWRlbnRpZmllcjpjb25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRp
ZmllcigpXTsKKyAgICBpZiAoIWNvbmZpZ3VyYXRpb24uc291cmNlQXBwbGljYXRpb25TZWNvbmRh
cnlJZGVudGlmaWVyLmlzRW1wdHkoKSAmJiBbcmVzdWx0IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3Ioc2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOildKQorICAgICAg
ICBbcmVzdWx0IHNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjpjb25maWd1
cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcl07CiAKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQotICAgIGlmICghY29uZmlndXJhdGlvbi5jdERhdGFDb25uZWN0aW9u
U2VydmljZVR5cGUoKS5pc0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKHNldENURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZTopXSkKKyAgICBpZiAoIXdlYlBh
Z2VQcm94eS5wcm9jZXNzKCkucHJvY2Vzc1Bvb2woKS5jb25maWd1cmF0aW9uKCkuY3REYXRhQ29u
bmVjdGlvblNlcnZpY2VUeXBlKCkuaXNFbXB0eSgpICYmIFtyZXN1bHQgcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3RvcihzZXRDVERhdGFDb25uZWN0aW9uU2VydmljZVR5cGU6KV0pCiAgICAgICAg
IFtyZXN1bHQgc2V0Q1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlOmNvbmZpZ3VyYXRpb24uY3RE
YXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKCldOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2
aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vz
c1Bvb2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjY1LDggKzI2NSw2IEBAIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZU4KIAogICAgIHBhcmFtZXRlcnMuc2hvdWxk
RW5hYmxlTmV0d29ya0NhY2hlRWZmaWNhY3lMb2dnaW5nID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6
V2ViS2l0TmV0d29ya0NhY2hlRWZmaWNhY3lMb2dnaW5nRW5hYmxlZERlZmF1bHRzS2V5XTsKIAot
ICAgIHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyID0gbV9jb25m
aWd1cmF0aW9uLT5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKTsKLSAgICBwYXJh
bWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllciA9IG1fY29uZmlndXJh
dGlvbi0+c291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKCk7CiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBwYXJhbWV0ZXJzLmN0RGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlw
ZSA9IG1fY29uZmlndXJhdGlvbi0+Y3REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKCk7CiAjZW5k
aWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAkod29ya2luZyBjb3B5KQpA
QCAtMjA5LDYgKzIwOSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlkQ3JlYXRlTmV0d29ya1By
b2Nlc3MoKTsKIAorICAgIGNvbnN0IENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24oKSB7IHJl
dHVybiBtX2NvbmZpZ3VyYXRpb247IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBXZWJzaXRl
RGF0YVN0b3JlKFBBTDo6U2Vzc2lvbklEKTsKICAgICBleHBsaWNpdCBXZWJzaXRlRGF0YVN0b3Jl
KENvbmZpZ3VyYXRpb24sIFBBTDo6U2Vzc2lvbklEKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356539</attachid>
            <date>2018-12-04 14:49:19 -0800</date>
            <delta_ts>2018-12-04 14:55:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192372-20181204144918.patch</filename>
            <type>text/plain</type>
            <size>21510</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzg4NzQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTEyLTA0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHNvdXJj
ZSBhcHBsaWNhdGlvbiBpZGVudGlmaWVycyBmcm9tIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTIzNzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgX1dLV2ViUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHdheSBvZiBzZXR0aW5nIHRoZXNlIHdh
cyBkZXByZWNhdGVkIGluIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcjIzNTEyNworICAgICAgICBU
aGUgcmVwbGFjZW1lbnQgd2FzIGFkb3B0ZWQgaW4gPHJkYXI6Ly9wcm9ibGVtLzQ2MzU5MzMwPgor
ICAgICAgICBUaGUgdHJhbnNpdGlvbiBwcm9jZXNzIGlzIGRvbmUhICBUaW1lIHRvIHJlbW92ZSB0
aGUgb2xkIGNvZGUuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzc0NvY29hKToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0d29ya1Nlc3Npb25Db2NvYSk6
CisgICAgICAgIChXZWJLaXQ6Omdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpnbG9iYWxTb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpnbG9iYWxTb3VyY2VBcHBs
aWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNl
QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6
Y29weSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5tbToKKyAgICAgICAgKC1bX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHNvdXJj
ZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcl0pOgorICAgICAgICAoLVtfV0tQcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24gc2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOl0pOgor
ICAgICAgICAoLVtfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gc291cmNlQXBwbGljYXRpb25T
ZWNvbmRhcnlJZGVudGlmaWVyXSk6CisgICAgICAgICgtW19XS1Byb2Nlc3NQb29sQ29uZmlndXJh
dGlvbiBzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI6XSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29j
b2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0
Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKToKKyAgICAgICAgKFdlYktpdDo6dG9Q
S1BheW1lbnRSZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5p
dGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpj
b25maWd1cmF0aW9uKToKKwogMjAxOC0xMi0wNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQ2FsbGluZyBnZXRVc2VyTWVkaWEgaW4gYSBsaW5rIHRoYXQgd2Fz
IG9wZW5lZCB3aXRoIHRhcmdldD0iX2JsYW5rIiBkb2VzIG5vdCB3b3JrIHRoZSBzZWNvbmQgdGlt
ZQpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDIzODg1
NikKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OCw4ICs2OCw2IEBAIHZvaWQgTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmUKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICBlbmNvZGVyIDw8IHVpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXI7CiAgICAgZW5jb2RlciA8PCB1
aVByb2Nlc3NTREtWZXJzaW9uOwotICAgIGVuY29kZXIgPDwgc291cmNlQXBwbGljYXRpb25CdW5k
bGVJZGVudGlmaWVyOwotICAgIGVuY29kZXIgPDwgc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJ
ZGVudGlmaWVyOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgZW5jb2RlciA8PCBjdERh
dGFDb25uZWN0aW9uU2VydmljZVR5cGU7CiAjZW5kaWYKQEAgLTE3OSwxMCArMTc3LDYgQEAgYm9v
bCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZAogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQudWlQcm9jZXNzU0RLVmVyc2lvbikp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5z
b3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc291cmNlQXBwbGljYXRpb25TZWNvbmRh
cnlJZGVudGlmaWVyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuY3REYXRhQ29ubmVjdGlvblNl
cnZpY2VUeXBlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkp
CkBAIC04Miw4ICs4Miw2IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBTdHJpbmcgdWlQcm9jZXNzQnVuZGxlSWRlbnRp
ZmllcjsKICAgICB1aW50MzJfdCB1aVByb2Nlc3NTREtWZXJzaW9uIHsgMCB9OwotICAgIFN0cmlu
ZyBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7Ci0gICAgU3RyaW5nIHNvdXJjZUFw
cGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIFN0cmluZyBjdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGU7CiAjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQ
cm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAt
ODgsOSArODgsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOCiAK
ICAgICBTZXNzaW9uVHJhY2tlcjo6c2V0SWRlbnRpZmllckJhc2UocGFyYW1ldGVycy51aVByb2Nl
c3NCdW5kbGVJZGVudGlmaWVyKTsKIAotICAgIE5ldHdvcmtTZXNzaW9uQ29jb2E6OnNldFNvdXJj
ZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEoc291cmNlQXBwbGljYXRpb25BdWRpdERhdGEoKSk7
Ci0gICAgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyKHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKTsKLSAg
ICBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50
aWZpZXIocGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIpOwog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0Q1RE
YXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKHBhcmFtZXRlcnMuY3REYXRhQ29ubmVjdGlvblNlcnZp
Y2VUeXBlKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgJKHJldmlzaW9uIDIzODg1NikK
KysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2Nv
YS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMCArNDgsNyBAQCBwdWJsaWM6CiAgICAgfk5ldHdv
cmtTZXNzaW9uQ29jb2EoKTsKIAogICAgIC8vIE11c3QgYmUgY2FsbGVkIGJlZm9yZSBhbnkgTmV0
d29ya1Nlc3Npb24gaGFzIGJlZW4gY3JlYXRlZC4KLSAgICAvLyBGSVhNRTogTW92ZSB0aGVzZSB0
byBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy4KLSAgICBzdGF0aWMgdm9pZCBzZXRT
b3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKFJldGFpblB0cjxDRkRhdGFSZWY+JiYpOwot
ICAgIHN0YXRpYyB2b2lkIHNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihjb25z
dCBTdHJpbmcmKTsKLSAgICBzdGF0aWMgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFy
eUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJik7CisgICAgLy8gRklYTUU6IE1vdmUgdGhpcyB0byBO
ZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy4KICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIHN0YXRpYyB2b2lkIHNldENURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZShjb25zdCBT
dHJpbmcmKTsKICNlbmRpZgpAQCAtODYsOSArODMsNiBAQCBwcml2YXRlOgogICAgIFJldGFpblB0
cjxDRkRpY3Rpb25hcnlSZWY+IG1fcHJveHlDb25maWd1cmF0aW9uOwogICAgIGJvb2wgbV9zaG91
bGRMb2dDb29raWVJbmZvcm1hdGlvbiB7IGZhbHNlIH07CiAgICAgU2Vjb25kcyBtX2xvYWRUaHJv
dHRsZUxhdGVuY3k7Ci0KLSAgICBTdHJpbmcgbV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50
aWZpZXI7Ci0gICAgU3RyaW5nIG1fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVy
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCShy
ZXZpc2lvbiAyMzg4NTYpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05l
dHdvcmtTZXNzaW9uQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTU4MywyNCArNTgzLDYgQEAg
c3RhdGljIE5TVVJMU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKmNvbmZpZwogICAgIHJldHVybiBbTlNV
UkxTZXNzaW9uQ29uZmlndXJhdGlvbiBkZWZhdWx0U2Vzc2lvbkNvbmZpZ3VyYXRpb25dOwogfQog
Ci1zdGF0aWMgUmV0YWluUHRyPENGRGF0YVJlZj4mIGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVk
aXRUb2tlbkRhdGEoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8Q0ZE
YXRhUmVmPj4gc291cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YTsKLSAgICByZXR1cm4gc291
cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YS5nZXQoKTsKLX0KLQotc3RhdGljIFN0cmluZyYg
Z2xvYmFsU291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCkKLXsKLSAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7
Ci0gICAgcmV0dXJuIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllci5nZXQoKTsKLX0K
LQotc3RhdGljIFN0cmluZyYgZ2xvYmFsU291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzb3VyY2VBcHBsaWNh
dGlvblNlY29uZGFyeUlkZW50aWZpZXI7Ci0gICAgcmV0dXJuIHNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllci5nZXQoKTsKLX0KLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBz
dGF0aWMgU3RyaW5nJiBnbG9iYWxDVERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUoKQogewpAQCAt
NjA4LDI0ICs1OTAsNiBAQCBzdGF0aWMgU3RyaW5nJiBnbG9iYWxDVERhdGFDb25uZWN0aW9uU2Vy
CiAgICAgcmV0dXJuIGN0RGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZS5nZXQoKTsKIH0KICNlbmRp
ZgotICAgIAotdm9pZCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvbkF1
ZGl0VG9rZW5EYXRhKFJldGFpblB0cjxDRkRhdGFSZWY+JiYgZGF0YSkKLXsKLSAgICBBU1NFUlQo
IXNlc3Npb25zQ3JlYXRlZCk7Ci0gICAgZ2xvYmFsU291cmNlQXBwbGljYXRpb25BdWRpdFRva2Vu
RGF0YSgpID0gZGF0YTsKLX0KLQotdm9pZCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VB
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQotewot
ICAgIEFTU0VSVCghc2Vzc2lvbnNDcmVhdGVkKTsKLSAgICBnbG9iYWxTb3VyY2VBcHBsaWNhdGlv
bkJ1bmRsZUlkZW50aWZpZXIoKSA9IGlkZW50aWZpZXI7Ci19Ci0KLXZvaWQgTmV0d29ya1Nlc3Np
b25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllcikKLXsKLSAgICBBU1NFUlQoIXNlc3Npb25zQ3JlYXRlZCk7Ci0gICAg
Z2xvYmFsU291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKCkgPSBpZGVudGlmaWVy
OwotfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHZvaWQgTmV0d29ya1Nlc3Npb25Db2Nv
YTo6c2V0Q1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkKQEAg
LTY0Niw4ICs2MTAsNiBAQCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3JrU2Vzc2lvbkNvY29h
CiAgICAgLCBtX3Byb3h5Q29uZmlndXJhdGlvbihwYXJhbWV0ZXJzLnByb3h5Q29uZmlndXJhdGlv
bikKICAgICAsIG1fc2hvdWxkTG9nQ29va2llSW5mb3JtYXRpb24ocGFyYW1ldGVycy5zaG91bGRM
b2dDb29raWVJbmZvcm1hdGlvbikKICAgICAsIG1fbG9hZFRocm90dGxlTGF0ZW5jeShwYXJhbWV0
ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kpCi0gICAgLCBtX3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllcihwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcikK
LSAgICAsIG1fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKHBhcmFtZXRlcnMu
c291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKQogewogICAgIEFTU0VSVChoYXNQ
cm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMpKTsK
IApAQCAtNjcwLDIzICs2MzIsMTYgQEAgTmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0d29ya1Nlc3Np
b25Db2NvYQogICAgIC8vIFRoZSBXZWJLaXQgbmV0d29yayBjYWNoZSB3YXMgYWxyZWFkeSBxdWVy
aWVkLgogICAgIGNvbmZpZ3VyYXRpb24uVVJMQ2FjaGUgPSBuaWw7CiAKLSAgICBpZiAoYXV0byYg
ZGF0YSA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEoKSkKKyAgICBpZiAo
YXV0byBkYXRhID0gTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnNvdXJjZUFwcGxpY2F0aW9u
QXVkaXREYXRhKCkpCiAgICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFwcGxpY2F0aW9uQXVk
aXRUb2tlbkRhdGEgPSAoX19icmlkZ2UgTlNEYXRhICopZGF0YS5nZXQoKTsKIAotICAgIGF1dG8m
IHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0
aW9uQnVuZGxlSWRlbnRpZmllcigpOwotICAgIGlmICghbV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IG1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyOwotICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9r
ZW5EYXRhID0gbmlsOwotICAgIH0gZWxzZSBpZiAoIXNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRl
bnRpZmllci5pc0VtcHR5KCkpIHsKLSAgICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGlj
YXRpb25CdW5kbGVJZGVudGlmaWVyID0gc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
OworICAgIGlmICghcGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIu
aXNFbXB0eSgpKSB7CisgICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllciA9IHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlm
aWVyOwogICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5E
YXRhID0gbmlsOwogICAgIH0KIAotICAgIGF1dG8mIHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5
SWRlbnRpZmllciA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigp
OwotICAgIGlmICghbV9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIuaXNFbXB0
eSgpKQotICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlk
ZW50aWZpZXIgPSBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKLSAgICBl
bHNlIGlmICghc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyLmlzRW1wdHkoKSkK
LSAgICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyID0gc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOworICAgIGlmICghcGFy
YW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIuaXNFbXB0eSgpKQor
ICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZp
ZXIgPSBwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKIAog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYXV0byYgY3REYXRhQ29ubmVjdGlvblNlcnZp
Y2VUeXBlID0gZ2xvYmFsQ1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uLmNwcAkocmV2aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwOSw4ICsxMDksNiBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBQcm9jZXNz
UG9vCiAgICAgY29weS0+bV9pZ25vcmVTeW5jaHJvbm91c01lc3NhZ2luZ1RpbWVvdXRzRm9yVGVz
dGluZyA9IHRoaXMtPm1faWdub3JlU3luY2hyb25vdXNNZXNzYWdpbmdUaW1lb3V0c0ZvclRlc3Rp
bmc7CiAgICAgY29weS0+bV9hdHRyU3R5bGVFbmFibGVkID0gdGhpcy0+bV9hdHRyU3R5bGVFbmFi
bGVkOwogICAgIGNvcHktPm1fb3ZlcnJpZGVMYW5ndWFnZXMgPSB0aGlzLT5tX292ZXJyaWRlTGFu
Z3VhZ2VzOwotICAgIGNvcHktPm1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyID0g
dGhpcy0+bV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7Ci0gICAgY29weS0+bV9z
b3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIgPSB0aGlzLT5tX3NvdXJjZUFwcGxp
Y2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKICAgICBjb3B5LT5tX2Fsd2F5c1J1bnNBdEJhY2tn
cm91bmRQcmlvcml0eSA9IHRoaXMtPm1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5Owog
ICAgIGNvcHktPm1fc2hvdWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlvbiA9IHRoaXMtPm1fc2hv
dWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlvbjsKICAgICBjb3B5LT5tX3Nob3VsZENhcHR1cmVB
dWRpb0luVUlQcm9jZXNzID0gdGhpcy0+bV9zaG91bGRDYXB0dXJlQXVkaW9JblVJUHJvY2VzczsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgJKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaAkod29ya2luZyBj
b3B5KQpAQCAtMTI4LDEyICsxMjgsNiBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBWZWN0b3I8V1RG
OjpTdHJpbmc+JiBvdmVycmlkZUxhbmd1YWdlcygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVM
YW5ndWFnZXM7IH0KICAgICB2b2lkIHNldE92ZXJyaWRlTGFuZ3VhZ2VzKFZlY3RvcjxXVEY6OlN0
cmluZz4mJiBsYW5ndWFnZXMpIHsgbV9vdmVycmlkZUxhbmd1YWdlcyA9IFdURk1vdmUobGFuZ3Vh
Z2VzKTsgfQotCi0gICAgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyOyB9Ci0gICAgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIo
Y29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcikgeyBt
X3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IHNvdXJjZUFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllcjsgfQotCi0gICAgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0
aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlQXBwbGljYXRp
b25TZWNvbmRhcnlJZGVudGlmaWVyOyB9Ci0gICAgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvblNl
Y29uZGFyeUlkZW50aWZpZXIoY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllcikgeyBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmll
ciA9IHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsgfQogICAgIAogICAgIGJv
b2wgYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkgY29uc3QgeyByZXR1cm4gbV9hbHdh
eXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHk7IH0KICAgICB2b2lkIHNldEFsd2F5c1J1bnNBdEJh
Y2tncm91bmRQcmlvcml0eShib29sIGFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSkgeyBt
X2Fsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSA9IGFsd2F5c1J1bnNBdEJhY2tncm91bmRQ
cmlvcml0eTsgfQpAQCAtMjA5LDggKzIwMyw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lnbm9y
ZVN5bmNocm9ub3VzTWVzc2FnaW5nVGltZW91dHNGb3JUZXN0aW5nIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fYXR0clN0eWxlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgVmVjdG9yPFdURjo6U3RyaW5n
PiBtX292ZXJyaWRlTGFuZ3VhZ2VzOwotICAgIFdURjo6U3RyaW5nIG1fc291cmNlQXBwbGljYXRp
b25CdW5kbGVJZGVudGlmaWVyOwotICAgIFdURjo6U3RyaW5nIG1fc291cmNlQXBwbGljYXRpb25T
ZWNvbmRhcnlJZGVudGlmaWVyOwogICAgIGJvb2wgbV9hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJp
b3JpdHkgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRUYWtlVUlCYWNrZ3JvdW5kQXNzZXJ0
aW9uIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9zaG91bGRDYXB0dXJlQXVkaW9JblVJUHJvY2VzcyB7
IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0JKHJldmlzaW9u
IDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTIwMSwyMiArMjAxLDIwIEBA
IC0gKHZvaWQpc2V0QWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzOigKIAogLSAoTlNTdHJpbmcg
Kilzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIKIHsKLSAgICByZXR1cm4gX3Byb2Nl
c3NQb29sQ29uZmlndXJhdGlvbi0+c291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCk7
CisgICAgcmV0dXJuIG5pbDsKIH0KIAogLSAodm9pZClzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXI6KE5TU3RyaW5nICopc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
CiB7Ci0gICAgX3Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi0+c2V0U291cmNlQXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyKHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcik7CiB9CiAK
IC0gKE5TU3RyaW5nICopc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyCiB7Ci0g
ICAgcmV0dXJuIF9wcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24tPnNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllcigpOworICAgIHJldHVybiBuaWw7CiB9CiAKIC0gKHZvaWQpc2V0U291
cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOihOU1N0cmluZyAqKXNvdXJjZUFwcGxp
Y2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcgogewotICAgIF9wcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24tPnNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcihzb3VyY2VBcHBsaWNh
dGlvblNlY29uZGFyeUlkZW50aWZpZXIpOwogfQogCiAtIChCT09MKXNob3VsZENhcHR1cmVBdWRp
b0luVUlQcm9jZXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9BUElX
ZWJzaXRlRGF0YVN0b3JlR0xpYi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvQVBJV2Vic2l0ZURhdGFTdG9yZUdMaWIuY3BwCShyZXZpc2lvbiAyMzg4
NTYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9BUElXZWJzaXRlRGF0YVN0
b3JlR0xpYi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MywxOSArMTYzLDE5IEBAIFdURjo6U3Ry
aW5nIFdlYnNpdGVEYXRhU3RvcmU6OmxlZ2FjeURlZmEKICAgICByZXR1cm4gV2ViQ29yZTo6Rmls
ZVN5c3RlbTo6c3RyaW5nRnJvbUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihqYXZhU2NyaXB0Q29y
ZUNvbmZpZ0RpcmVjdG9yeS5nZXQoKSk7CiB9CiAKLVdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6
Q29uZmlndXJhdGlvbiBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0RGF0YVN0b3JlQ29uZmlndXJh
dGlvbigpCitSZWY8V2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gV2Vic2l0
ZURhdGFTdG9yZTo6ZGVmYXVsdERhdGFTdG9yZUNvbmZpZ3VyYXRpb24oKQogewotICAgIFdlYktp
dDo6V2Vic2l0ZURhdGFTdG9yZTo6Q29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uOworICAgIGF1
dG8gY29uZmlndXJhdGlvbiA9IFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246
OmNyZWF0ZSgpOwogCi0gICAgY29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5
ID0gZGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKLSAgICBjb25maWd1cmF0aW9u
Lm5ldHdvcmtDYWNoZURpcmVjdG9yeSA9IGRlZmF1bHROZXR3b3JrQ2FjaGVEaXJlY3RvcnkoKTsK
KyAgICBjb25maWd1cmF0aW9uLT5zZXRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KGRlZmF1bHRB
cHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkpOworICAgIGNvbmZpZ3VyYXRpb24tPnNldE5ldHdv
cmtDYWNoZURpcmVjdG9yeShkZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5KCkpOwogCi0gICAg
Y29uZmlndXJhdGlvbi5pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSA9IGRlZmF1bHRJbmRleGVk
REJEYXRhYmFzZURpcmVjdG9yeSgpOwotICAgIGNvbmZpZ3VyYXRpb24uc2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRpcmVjdG9yeSA9IGRlZmF1bHRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGly
ZWN0b3J5KCk7Ci0gICAgY29uZmlndXJhdGlvbi53ZWJTUUxEYXRhYmFzZURpcmVjdG9yeSA9IGRl
ZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpOwotICAgIGNvbmZpZ3VyYXRpb24ubG9jYWxT
dG9yYWdlRGlyZWN0b3J5ID0gZGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpOwotICAgIGNv
bmZpZ3VyYXRpb24ubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IGRlZmF1bHRNZWRpYUtleXNT
dG9yYWdlRGlyZWN0b3J5KCk7Ci0gICAgY29uZmlndXJhdGlvbi5yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGlyZWN0b3J5ID0gZGVmYXVsdFJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoKTsK
KyAgICBjb25maWd1cmF0aW9uLT5zZXRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeShkZWZhdWx0
SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKSk7CisgICAgY29uZmlndXJhdGlvbi0+c2V0U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeShkZWZhdWx0U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRpcmVjdG9yeSgpKTsKKyAgICBjb25maWd1cmF0aW9uLT5zZXRXZWJTUUxEYXRhYmFz
ZURpcmVjdG9yeShkZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKSk7CisgICAgY29uZmln
dXJhdGlvbi0+c2V0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KGRlZmF1bHRMb2NhbFN0b3JhZ2VEaXJl
Y3RvcnkoKSk7CisgICAgY29uZmlndXJhdGlvbi0+c2VyTWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eShkZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpKTsKKyAgICBjb25maWd1cmF0aW9u
LT5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KGRlZmF1bHRSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRGlyZWN0b3J5KCkpOwogCiAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247CiB9Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0JKHJl
dmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29h
L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2
NCw3ICsyNjQsNyBAQCBib29sIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9yCiB2
b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNhbk1ha2VQYXltZW50c1dp
dGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7CiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCi0gICAgUEtDYW5NYWtlUGF5bWVudHNX
aXRoTWVyY2hhbnRJZGVudGlmaWVyRG9tYWluQW5kU291cmNlQXBwbGljYXRpb24obWVyY2hhbnRJ
ZGVudGlmaWVyLCBkb21haW5OYW1lLCBtX3dlYlBhZ2VQcm94eS5wcm9jZXNzKCkucHJvY2Vzc1Bv
b2woKS5jb25maWd1cmF0aW9uKCkuc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVy
KCksIEJsb2NrUHRyPHZvaWQoQk9PTCwgTlNFcnJvciAqKT46OmZyb21DYWxsYWJsZShbY29tcGxl
dGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oQk9PTCBjYW5NYWtlUGF5
bWVudHMsIE5TRXJyb3IgKmVycm9yKSBtdXRhYmxlIHsKKyAgICBQS0Nhbk1ha2VQYXltZW50c1dp
dGhNZXJjaGFudElkZW50aWZpZXJEb21haW5BbmRTb3VyY2VBcHBsaWNhdGlvbihtZXJjaGFudElk
ZW50aWZpZXIsIGRvbWFpbk5hbWUsIG1fd2ViUGFnZVByb3h5LndlYnNpdGVEYXRhU3RvcmUoKS5j
b25maWd1cmF0aW9uKCkuc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyLCBCbG9j
a1B0cjx2b2lkKEJPT0wsIE5TRXJyb3IgKik+Ojpmcm9tQ2FsbGFibGUoW2NvbXBsZXRpb25IYW5k
bGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKEJPT0wgY2FuTWFrZVBheW1lbnRzLCBO
U0Vycm9yICplcnJvcikgbXV0YWJsZSB7CiAgICAgICAgIGlmIChlcnJvcikKICAgICAgICAgICAg
IExPR19FUlJPUigiUEtDYW5NYWtlUGF5bWVudHNXaXRoTWVyY2hhbnRJZGVudGlmaWVyQW5kRG9t
YWluIGVycm9yICVAIiwgZXJyb3IpOwogCkBAIC01MDYsMTMgKzUwNiwxMyBAQCBSZXRhaW5QdHI8
UEtQYXltZW50UmVxdWVzdD4gdG9QS1BheW1lbnRSCiAjZW5kaWYKIAogICAgIC8vIEZJWE1FOiBJ
bnN0ZWFkIG9mIHVzaW5nIHJlc3BvbmRzVG9TZWxlY3RvciwgdGhpcyBzaG91bGQgdXNlIGEgcHJv
cGVyICNpZiB2ZXJzaW9uIGNoZWNrLgotICAgIGF1dG8mIGNvbmZpZ3VyYXRpb24gPSB3ZWJQYWdl
UHJveHkucHJvY2VzcygpLnByb2Nlc3NQb29sKCkuY29uZmlndXJhdGlvbigpOworICAgIGF1dG8m
IGNvbmZpZ3VyYXRpb24gPSB3ZWJQYWdlUHJveHkud2Vic2l0ZURhdGFTdG9yZSgpLmNvbmZpZ3Vy
YXRpb24oKTsKIAotICAgIGlmICghY29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIoKS5pc0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKHNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcjopXSkKLSAgICAgICAg
W3Jlc3VsdCBzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI6Y29uZmlndXJhdGlv
bi5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKV07CisgICAgaWYgKCFjb25maWd1
cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllci5pc0VtcHR5KCkgJiYgW3Jl
c3VsdCByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFNvdXJjZUFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllcjopXSkKKyAgICAgICAgW3Jlc3VsdCBzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1
bmRsZUlkZW50aWZpZXI6Y29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50
aWZpZXJdOwogCi0gICAgaWYgKCFjb25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25k
YXJ5SWRlbnRpZmllcigpLmlzRW1wdHkoKSAmJiBbcmVzdWx0IHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3Ioc2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOildKQotICAg
ICAgICBbcmVzdWx0IHNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjpjb25m
aWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpXTsKKyAgICBp
ZiAoIWNvbmZpZ3VyYXRpb24uc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyLmlz
RW1wdHkoKSAmJiBbcmVzdWx0IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0U291cmNl
QXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOildKQorICAgICAgICBbcmVzdWx0IHNldFNv
dXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjpjb25maWd1cmF0aW9uLnNvdXJjZUFw
cGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcl07CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIGlmICghY29uZmlndXJhdGlvbi5jdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUoKS5p
c0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldENURGF0
YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZTopXSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjM4ODU2
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bQkod29ya2luZyBjb3B5KQpAQCAtMjY1LDggKzI2NSw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6
OnBsYXRmb3JtSW5pdGlhbGl6ZU4KIAogICAgIHBhcmFtZXRlcnMuc2hvdWxkRW5hYmxlTmV0d29y
a0NhY2hlRWZmaWNhY3lMb2dnaW5nID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6V2ViS2l0TmV0d29y
a0NhY2hlRWZmaWNhY3lMb2dnaW5nRW5hYmxlZERlZmF1bHRzS2V5XTsKIAotICAgIHBhcmFtZXRl
cnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyID0gbV9jb25maWd1cmF0aW9uLT5z
b3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKTsKLSAgICBwYXJhbWV0ZXJzLnNvdXJj
ZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllciA9IG1fY29uZmlndXJhdGlvbi0+c291cmNl
QXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKCk7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICAgICBwYXJhbWV0ZXJzLmN0RGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZSA9IG1fY29uZmln
dXJhdGlvbi0+Y3REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKCk7CiAjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0
YVN0b3JlLmgJKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtMjA5LDYgKzIw
OSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlkQ3JlYXRlTmV0d29ya1Byb2Nlc3MoKTsKIAor
ICAgIGNvbnN0IENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24oKSB7IHJldHVybiBtX2NvbmZp
Z3VyYXRpb247IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBXZWJzaXRlRGF0YVN0b3JlKFBB
TDo6U2Vzc2lvbklEKTsKICAgICBleHBsaWNpdCBXZWJzaXRlRGF0YVN0b3JlKENvbmZpZ3VyYXRp
b24sIFBBTDo6U2Vzc2lvbklEKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356540</attachid>
            <date>2018-12-04 14:55:48 -0800</date>
            <delta_ts>2018-12-04 15:38:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192372-20181204145548.patch</filename>
            <type>text/plain</type>
            <size>21698</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzg4NzQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTEyLTA0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHNvdXJj
ZSBhcHBsaWNhdGlvbiBpZGVudGlmaWVycyBmcm9tIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTIzNzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgX1dLV2ViUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHdheSBvZiBzZXR0aW5nIHRoZXNlIHdh
cyBkZXByZWNhdGVkIGluIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcjIzNTEyNworICAgICAgICBU
aGUgcmVwbGFjZW1lbnQgd2FzIGFkb3B0ZWQgaW4gPHJkYXI6Ly9wcm9ibGVtLzQ2MzU5MzMwPgor
ICAgICAgICBUaGUgdHJhbnNpdGlvbiBwcm9jZXNzIGlzIGRvbmUhICBUaW1lIHRvIHJlbW92ZSB0
aGUgb2xkIGNvZGUuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzc0NvY29hKToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0d29ya1Nlc3Npb25Db2NvYSk6
CisgICAgICAgIChXZWJLaXQ6Omdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpnbG9iYWxTb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpnbG9iYWxTb3VyY2VBcHBs
aWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNl
QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6
Y29weSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5tbToKKyAgICAgICAgKC1bX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHNvdXJj
ZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcl0pOgorICAgICAgICAoLVtfV0tQcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24gc2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOl0pOgor
ICAgICAgICAoLVtfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gc291cmNlQXBwbGljYXRpb25T
ZWNvbmRhcnlJZGVudGlmaWVyXSk6CisgICAgICAgICgtW19XS1Byb2Nlc3NQb29sQ29uZmlndXJh
dGlvbiBzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI6XSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29j
b2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0
Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKToKKyAgICAgICAgKFdlYktpdDo6dG9Q
S1BheW1lbnRSZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5p
dGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpj
b25maWd1cmF0aW9uKToKKwogMjAxOC0xMi0wNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQ2FsbGluZyBnZXRVc2VyTWVkaWEgaW4gYSBsaW5rIHRoYXQgd2Fz
IG9wZW5lZCB3aXRoIHRhcmdldD0iX2JsYW5rIiBkb2VzIG5vdCB3b3JrIHRoZSBzZWNvbmQgdGlt
ZQpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDIzODg1
NikKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OCw4ICs2OCw2IEBAIHZvaWQgTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmUKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICBlbmNvZGVyIDw8IHVpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXI7CiAgICAgZW5jb2RlciA8PCB1
aVByb2Nlc3NTREtWZXJzaW9uOwotICAgIGVuY29kZXIgPDwgc291cmNlQXBwbGljYXRpb25CdW5k
bGVJZGVudGlmaWVyOwotICAgIGVuY29kZXIgPDwgc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJ
ZGVudGlmaWVyOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgZW5jb2RlciA8PCBjdERh
dGFDb25uZWN0aW9uU2VydmljZVR5cGU7CiAjZW5kaWYKQEAgLTE3OSwxMCArMTc3LDYgQEAgYm9v
bCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZAogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQudWlQcm9jZXNzU0RLVmVyc2lvbikp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5z
b3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc291cmNlQXBwbGljYXRpb25TZWNvbmRh
cnlJZGVudGlmaWVyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuY3REYXRhQ29ubmVjdGlvblNl
cnZpY2VUeXBlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkp
CkBAIC04Miw4ICs4Miw2IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBTdHJpbmcgdWlQcm9jZXNzQnVuZGxlSWRlbnRp
ZmllcjsKICAgICB1aW50MzJfdCB1aVByb2Nlc3NTREtWZXJzaW9uIHsgMCB9OwotICAgIFN0cmlu
ZyBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7Ci0gICAgU3RyaW5nIHNvdXJjZUFw
cGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIFN0cmluZyBjdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGU7CiAjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQ
cm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAt
ODgsOSArODgsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOCiAK
ICAgICBTZXNzaW9uVHJhY2tlcjo6c2V0SWRlbnRpZmllckJhc2UocGFyYW1ldGVycy51aVByb2Nl
c3NCdW5kbGVJZGVudGlmaWVyKTsKIAotICAgIE5ldHdvcmtTZXNzaW9uQ29jb2E6OnNldFNvdXJj
ZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEoc291cmNlQXBwbGljYXRpb25BdWRpdERhdGEoKSk7
Ci0gICAgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyKHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKTsKLSAg
ICBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50
aWZpZXIocGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIpOwog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0Q1RE
YXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKHBhcmFtZXRlcnMuY3REYXRhQ29ubmVjdGlvblNlcnZp
Y2VUeXBlKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgJKHJldmlzaW9uIDIzODg1NikK
KysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2Nv
YS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMCArNDgsNyBAQCBwdWJsaWM6CiAgICAgfk5ldHdv
cmtTZXNzaW9uQ29jb2EoKTsKIAogICAgIC8vIE11c3QgYmUgY2FsbGVkIGJlZm9yZSBhbnkgTmV0
d29ya1Nlc3Npb24gaGFzIGJlZW4gY3JlYXRlZC4KLSAgICAvLyBGSVhNRTogTW92ZSB0aGVzZSB0
byBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy4KLSAgICBzdGF0aWMgdm9pZCBzZXRT
b3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKFJldGFpblB0cjxDRkRhdGFSZWY+JiYpOwot
ICAgIHN0YXRpYyB2b2lkIHNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihjb25z
dCBTdHJpbmcmKTsKLSAgICBzdGF0aWMgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFy
eUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJik7CisgICAgLy8gRklYTUU6IE1vdmUgdGhpcyB0byBO
ZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy4KICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIHN0YXRpYyB2b2lkIHNldENURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZShjb25zdCBT
dHJpbmcmKTsKICNlbmRpZgpAQCAtODYsOSArODMsNiBAQCBwcml2YXRlOgogICAgIFJldGFpblB0
cjxDRkRpY3Rpb25hcnlSZWY+IG1fcHJveHlDb25maWd1cmF0aW9uOwogICAgIGJvb2wgbV9zaG91
bGRMb2dDb29raWVJbmZvcm1hdGlvbiB7IGZhbHNlIH07CiAgICAgU2Vjb25kcyBtX2xvYWRUaHJv
dHRsZUxhdGVuY3k7Ci0KLSAgICBTdHJpbmcgbV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50
aWZpZXI7Ci0gICAgU3RyaW5nIG1fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVy
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCShy
ZXZpc2lvbiAyMzg4NTYpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05l
dHdvcmtTZXNzaW9uQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTU4MywyNCArNTgzLDYgQEAg
c3RhdGljIE5TVVJMU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKmNvbmZpZwogICAgIHJldHVybiBbTlNV
UkxTZXNzaW9uQ29uZmlndXJhdGlvbiBkZWZhdWx0U2Vzc2lvbkNvbmZpZ3VyYXRpb25dOwogfQog
Ci1zdGF0aWMgUmV0YWluUHRyPENGRGF0YVJlZj4mIGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVk
aXRUb2tlbkRhdGEoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8Q0ZE
YXRhUmVmPj4gc291cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YTsKLSAgICByZXR1cm4gc291
cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YS5nZXQoKTsKLX0KLQotc3RhdGljIFN0cmluZyYg
Z2xvYmFsU291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCkKLXsKLSAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7
Ci0gICAgcmV0dXJuIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllci5nZXQoKTsKLX0K
LQotc3RhdGljIFN0cmluZyYgZ2xvYmFsU291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzb3VyY2VBcHBsaWNh
dGlvblNlY29uZGFyeUlkZW50aWZpZXI7Ci0gICAgcmV0dXJuIHNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllci5nZXQoKTsKLX0KLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBz
dGF0aWMgU3RyaW5nJiBnbG9iYWxDVERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUoKQogewpAQCAt
NjA4LDI0ICs1OTAsNiBAQCBzdGF0aWMgU3RyaW5nJiBnbG9iYWxDVERhdGFDb25uZWN0aW9uU2Vy
CiAgICAgcmV0dXJuIGN0RGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZS5nZXQoKTsKIH0KICNlbmRp
ZgotICAgIAotdm9pZCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvbkF1
ZGl0VG9rZW5EYXRhKFJldGFpblB0cjxDRkRhdGFSZWY+JiYgZGF0YSkKLXsKLSAgICBBU1NFUlQo
IXNlc3Npb25zQ3JlYXRlZCk7Ci0gICAgZ2xvYmFsU291cmNlQXBwbGljYXRpb25BdWRpdFRva2Vu
RGF0YSgpID0gZGF0YTsKLX0KLQotdm9pZCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VB
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQotewot
ICAgIEFTU0VSVCghc2Vzc2lvbnNDcmVhdGVkKTsKLSAgICBnbG9iYWxTb3VyY2VBcHBsaWNhdGlv
bkJ1bmRsZUlkZW50aWZpZXIoKSA9IGlkZW50aWZpZXI7Ci19Ci0KLXZvaWQgTmV0d29ya1Nlc3Np
b25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllcikKLXsKLSAgICBBU1NFUlQoIXNlc3Npb25zQ3JlYXRlZCk7Ci0gICAg
Z2xvYmFsU291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKCkgPSBpZGVudGlmaWVy
OwotfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHZvaWQgTmV0d29ya1Nlc3Npb25Db2Nv
YTo6c2V0Q1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkKQEAg
LTY0Niw4ICs2MTAsNiBAQCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3JrU2Vzc2lvbkNvY29h
CiAgICAgLCBtX3Byb3h5Q29uZmlndXJhdGlvbihwYXJhbWV0ZXJzLnByb3h5Q29uZmlndXJhdGlv
bikKICAgICAsIG1fc2hvdWxkTG9nQ29va2llSW5mb3JtYXRpb24ocGFyYW1ldGVycy5zaG91bGRM
b2dDb29raWVJbmZvcm1hdGlvbikKICAgICAsIG1fbG9hZFRocm90dGxlTGF0ZW5jeShwYXJhbWV0
ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kpCi0gICAgLCBtX3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllcihwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcikK
LSAgICAsIG1fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKHBhcmFtZXRlcnMu
c291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKQogewogICAgIEFTU0VSVChoYXNQ
cm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMpKTsK
IApAQCAtNjcwLDIzICs2MzIsMTYgQEAgTmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0d29ya1Nlc3Np
b25Db2NvYQogICAgIC8vIFRoZSBXZWJLaXQgbmV0d29yayBjYWNoZSB3YXMgYWxyZWFkeSBxdWVy
aWVkLgogICAgIGNvbmZpZ3VyYXRpb24uVVJMQ2FjaGUgPSBuaWw7CiAKLSAgICBpZiAoYXV0byYg
ZGF0YSA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEoKSkKKyAgICBpZiAo
YXV0byBkYXRhID0gTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnNvdXJjZUFwcGxpY2F0aW9u
QXVkaXREYXRhKCkpCiAgICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFwcGxpY2F0aW9uQXVk
aXRUb2tlbkRhdGEgPSAoX19icmlkZ2UgTlNEYXRhICopZGF0YS5nZXQoKTsKIAotICAgIGF1dG8m
IHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0
aW9uQnVuZGxlSWRlbnRpZmllcigpOwotICAgIGlmICghbV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IG1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyOwotICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9r
ZW5EYXRhID0gbmlsOwotICAgIH0gZWxzZSBpZiAoIXNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRl
bnRpZmllci5pc0VtcHR5KCkpIHsKLSAgICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGlj
YXRpb25CdW5kbGVJZGVudGlmaWVyID0gc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
OworICAgIGlmICghcGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIu
aXNFbXB0eSgpKSB7CisgICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllciA9IHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlm
aWVyOwogICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5E
YXRhID0gbmlsOwogICAgIH0KIAotICAgIGF1dG8mIHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5
SWRlbnRpZmllciA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigp
OwotICAgIGlmICghbV9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIuaXNFbXB0
eSgpKQotICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlk
ZW50aWZpZXIgPSBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKLSAgICBl
bHNlIGlmICghc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyLmlzRW1wdHkoKSkK
LSAgICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyID0gc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOworICAgIGlmICghcGFy
YW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIuaXNFbXB0eSgpKQor
ICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZp
ZXIgPSBwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKIAog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYXV0byYgY3REYXRhQ29ubmVjdGlvblNlcnZp
Y2VUeXBlID0gZ2xvYmFsQ1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uLmNwcAkocmV2aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwOSw4ICsxMDksNiBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBQcm9jZXNz
UG9vCiAgICAgY29weS0+bV9pZ25vcmVTeW5jaHJvbm91c01lc3NhZ2luZ1RpbWVvdXRzRm9yVGVz
dGluZyA9IHRoaXMtPm1faWdub3JlU3luY2hyb25vdXNNZXNzYWdpbmdUaW1lb3V0c0ZvclRlc3Rp
bmc7CiAgICAgY29weS0+bV9hdHRyU3R5bGVFbmFibGVkID0gdGhpcy0+bV9hdHRyU3R5bGVFbmFi
bGVkOwogICAgIGNvcHktPm1fb3ZlcnJpZGVMYW5ndWFnZXMgPSB0aGlzLT5tX292ZXJyaWRlTGFu
Z3VhZ2VzOwotICAgIGNvcHktPm1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyID0g
dGhpcy0+bV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7Ci0gICAgY29weS0+bV9z
b3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIgPSB0aGlzLT5tX3NvdXJjZUFwcGxp
Y2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKICAgICBjb3B5LT5tX2Fsd2F5c1J1bnNBdEJhY2tn
cm91bmRQcmlvcml0eSA9IHRoaXMtPm1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5Owog
ICAgIGNvcHktPm1fc2hvdWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlvbiA9IHRoaXMtPm1fc2hv
dWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlvbjsKICAgICBjb3B5LT5tX3Nob3VsZENhcHR1cmVB
dWRpb0luVUlQcm9jZXNzID0gdGhpcy0+bV9zaG91bGRDYXB0dXJlQXVkaW9JblVJUHJvY2VzczsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgJKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaAkod29ya2luZyBj
b3B5KQpAQCAtMTI4LDEyICsxMjgsNiBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBWZWN0b3I8V1RG
OjpTdHJpbmc+JiBvdmVycmlkZUxhbmd1YWdlcygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVM
YW5ndWFnZXM7IH0KICAgICB2b2lkIHNldE92ZXJyaWRlTGFuZ3VhZ2VzKFZlY3RvcjxXVEY6OlN0
cmluZz4mJiBsYW5ndWFnZXMpIHsgbV9vdmVycmlkZUxhbmd1YWdlcyA9IFdURk1vdmUobGFuZ3Vh
Z2VzKTsgfQotCi0gICAgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyOyB9Ci0gICAgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIo
Y29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcikgeyBt
X3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IHNvdXJjZUFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllcjsgfQotCi0gICAgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0
aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlQXBwbGljYXRp
b25TZWNvbmRhcnlJZGVudGlmaWVyOyB9Ci0gICAgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvblNl
Y29uZGFyeUlkZW50aWZpZXIoY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllcikgeyBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmll
ciA9IHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsgfQogICAgIAogICAgIGJv
b2wgYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkgY29uc3QgeyByZXR1cm4gbV9hbHdh
eXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHk7IH0KICAgICB2b2lkIHNldEFsd2F5c1J1bnNBdEJh
Y2tncm91bmRQcmlvcml0eShib29sIGFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSkgeyBt
X2Fsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSA9IGFsd2F5c1J1bnNBdEJhY2tncm91bmRQ
cmlvcml0eTsgfQpAQCAtMjA5LDggKzIwMyw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lnbm9y
ZVN5bmNocm9ub3VzTWVzc2FnaW5nVGltZW91dHNGb3JUZXN0aW5nIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fYXR0clN0eWxlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgVmVjdG9yPFdURjo6U3RyaW5n
PiBtX292ZXJyaWRlTGFuZ3VhZ2VzOwotICAgIFdURjo6U3RyaW5nIG1fc291cmNlQXBwbGljYXRp
b25CdW5kbGVJZGVudGlmaWVyOwotICAgIFdURjo6U3RyaW5nIG1fc291cmNlQXBwbGljYXRpb25T
ZWNvbmRhcnlJZGVudGlmaWVyOwogICAgIGJvb2wgbV9hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJp
b3JpdHkgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRUYWtlVUlCYWNrZ3JvdW5kQXNzZXJ0
aW9uIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9zaG91bGRDYXB0dXJlQXVkaW9JblVJUHJvY2VzcyB7
IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0JKHJldmlzaW9u
IDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTIwMSwyMiArMjAxLDIwIEBA
IC0gKHZvaWQpc2V0QWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzOigKIAogLSAoTlNTdHJpbmcg
Kilzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIKIHsKLSAgICByZXR1cm4gX3Byb2Nl
c3NQb29sQ29uZmlndXJhdGlvbi0+c291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCk7
CisgICAgcmV0dXJuIG5pbDsKIH0KIAogLSAodm9pZClzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXI6KE5TU3RyaW5nICopc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
CiB7Ci0gICAgX3Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi0+c2V0U291cmNlQXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyKHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcik7CiB9CiAK
IC0gKE5TU3RyaW5nICopc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyCiB7Ci0g
ICAgcmV0dXJuIF9wcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24tPnNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllcigpOworICAgIHJldHVybiBuaWw7CiB9CiAKIC0gKHZvaWQpc2V0U291
cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOihOU1N0cmluZyAqKXNvdXJjZUFwcGxp
Y2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcgogewotICAgIF9wcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24tPnNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcihzb3VyY2VBcHBsaWNh
dGlvblNlY29uZGFyeUlkZW50aWZpZXIpOwogfQogCiAtIChCT09MKXNob3VsZENhcHR1cmVBdWRp
b0luVUlQcm9jZXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9BUElX
ZWJzaXRlRGF0YVN0b3JlR0xpYi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvQVBJV2Vic2l0ZURhdGFTdG9yZUdMaWIuY3BwCShyZXZpc2lvbiAyMzg4
NTYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9BUElXZWJzaXRlRGF0YVN0
b3JlR0xpYi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJBUElXZWJzaXRlRGF0YVN0b3JlLmgiCiAKKyNpbmNsdWRlICJX
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRmlsZVN5
c3RlbS5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KIApAQCAtMTYzLDE5ICsx
NjQsMTkgQEAgV1RGOjpTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6bGVnYWN5RGVmYQogICAgIHJl
dHVybiBXZWJDb3JlOjpGaWxlU3lzdGVtOjpzdHJpbmdGcm9tRmlsZVN5c3RlbVJlcHJlc2VudGF0
aW9uKGphdmFTY3JpcHRDb3JlQ29uZmlnRGlyZWN0b3J5LmdldCgpKTsKIH0KIAotV2ViS2l0OjpX
ZWJzaXRlRGF0YVN0b3JlOjpDb25maWd1cmF0aW9uIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRE
YXRhU3RvcmVDb25maWd1cmF0aW9uKCkKK1JlZjxXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25m
aWd1cmF0aW9uPiBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0RGF0YVN0b3JlQ29uZmlndXJhdGlv
bigpCiB7Ci0gICAgV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpDb25maWd1cmF0aW9uIGNvbmZp
Z3VyYXRpb247CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gV2ViS2l0OjpXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbjo6Y3JlYXRlKCk7CiAKLSAgICBjb25maWd1cmF0aW9uLmFwcGxpY2F0
aW9uQ2FjaGVEaXJlY3RvcnkgPSBkZWZhdWx0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpOwot
ICAgIGNvbmZpZ3VyYXRpb24ubmV0d29ya0NhY2hlRGlyZWN0b3J5ID0gZGVmYXVsdE5ldHdvcmtD
YWNoZURpcmVjdG9yeSgpOworICAgIGNvbmZpZ3VyYXRpb24tPnNldEFwcGxpY2F0aW9uQ2FjaGVE
aXJlY3RvcnkoZGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKSk7CisgICAgY29uZmln
dXJhdGlvbi0+c2V0TmV0d29ya0NhY2hlRGlyZWN0b3J5KGRlZmF1bHROZXR3b3JrQ2FjaGVEaXJl
Y3RvcnkoKSk7CiAKLSAgICBjb25maWd1cmF0aW9uLmluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5
ID0gZGVmYXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCk7Ci0gICAgY29uZmlndXJhdGlv
bi5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5ID0gZGVmYXVsdFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKTsKLSAgICBjb25maWd1cmF0aW9uLndlYlNRTERhdGFi
YXNlRGlyZWN0b3J5ID0gZGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7Ci0gICAgY29u
ZmlndXJhdGlvbi5sb2NhbFN0b3JhZ2VEaXJlY3RvcnkgPSBkZWZhdWx0TG9jYWxTdG9yYWdlRGly
ZWN0b3J5KCk7Ci0gICAgY29uZmlndXJhdGlvbi5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0g
ZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKLSAgICBjb25maWd1cmF0aW9uLnJl
c291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkgPSBkZWZhdWx0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0RpcmVjdG9yeSgpOworICAgIGNvbmZpZ3VyYXRpb24tPnNldEluZGV4ZWREQkRhdGFiYXNl
RGlyZWN0b3J5KGRlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpKTsKKyAgICBjb25m
aWd1cmF0aW9uLT5zZXRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KGRlZmF1bHRT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KCkpOworICAgIGNvbmZpZ3VyYXRpb24t
PnNldFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KGRlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9y
eSgpKTsKKyAgICBjb25maWd1cmF0aW9uLT5zZXRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoZGVmYXVs
dExvY2FsU3RvcmFnZURpcmVjdG9yeSgpKTsKKyAgICBjb25maWd1cmF0aW9uLT5zZXJNZWRpYUtl
eXNTdG9yYWdlRGlyZWN0b3J5KGRlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkpOwor
ICAgIGNvbmZpZ3VyYXRpb24tPnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoZGVm
YXVsdFJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoKSk7CiAKICAgICByZXR1cm4gY29u
ZmlndXJhdGlvbjsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L2Nv
Y29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQkod29y
a2luZyBjb3B5KQpAQCAtMjY0LDcgKzI2NCw3IEBAIGJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHk6OnBsYXRmb3IKIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3Jt
Q2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29s
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1J
TFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKLSAgICBQ
S0Nhbk1ha2VQYXltZW50c1dpdGhNZXJjaGFudElkZW50aWZpZXJEb21haW5BbmRTb3VyY2VBcHBs
aWNhdGlvbihtZXJjaGFudElkZW50aWZpZXIsIGRvbWFpbk5hbWUsIG1fd2ViUGFnZVByb3h5LnBy
b2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmNvbmZpZ3VyYXRpb24oKS5zb3VyY2VBcHBsaWNhdGlvblNl
Y29uZGFyeUlkZW50aWZpZXIoKSwgQmxvY2tQdHI8dm9pZChCT09MLCBOU0Vycm9yICopPjo6ZnJv
bUNhbGxhYmxlKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
XShCT09MIGNhbk1ha2VQYXltZW50cywgTlNFcnJvciAqZXJyb3IpIG11dGFibGUgeworICAgIFBL
Q2FuTWFrZVBheW1lbnRzV2l0aE1lcmNoYW50SWRlbnRpZmllckRvbWFpbkFuZFNvdXJjZUFwcGxp
Y2F0aW9uKG1lcmNoYW50SWRlbnRpZmllciwgZG9tYWluTmFtZSwgbV93ZWJQYWdlUHJveHkud2Vi
c2l0ZURhdGFTdG9yZSgpLmNvbmZpZ3VyYXRpb24oKS5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFy
eUlkZW50aWZpZXIsIEJsb2NrUHRyPHZvaWQoQk9PTCwgTlNFcnJvciAqKT46OmZyb21DYWxsYWJs
ZShbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oQk9PTCBj
YW5NYWtlUGF5bWVudHMsIE5TRXJyb3IgKmVycm9yKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKGVy
cm9yKQogICAgICAgICAgICAgTE9HX0VSUk9SKCJQS0Nhbk1ha2VQYXltZW50c1dpdGhNZXJjaGFu
dElkZW50aWZpZXJBbmREb21haW4gZXJyb3IgJUAiLCBlcnJvcik7CiAKQEAgLTUwNiwxMyArNTA2
LDEzIEBAIFJldGFpblB0cjxQS1BheW1lbnRSZXF1ZXN0PiB0b1BLUGF5bWVudFIKICNlbmRpZgog
CiAgICAgLy8gRklYTUU6IEluc3RlYWQgb2YgdXNpbmcgcmVzcG9uZHNUb1NlbGVjdG9yLCB0aGlz
IHNob3VsZCB1c2UgYSBwcm9wZXIgI2lmIHZlcnNpb24gY2hlY2suCi0gICAgYXV0byYgY29uZmln
dXJhdGlvbiA9IHdlYlBhZ2VQcm94eS5wcm9jZXNzKCkucHJvY2Vzc1Bvb2woKS5jb25maWd1cmF0
aW9uKCk7CisgICAgYXV0byYgY29uZmlndXJhdGlvbiA9IHdlYlBhZ2VQcm94eS53ZWJzaXRlRGF0
YVN0b3JlKCkuY29uZmlndXJhdGlvbigpOwogCi0gICAgaWYgKCFjb25maWd1cmF0aW9uLnNvdXJj
ZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcigpLmlzRW1wdHkoKSAmJiBbcmVzdWx0IHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlm
aWVyOildKQotICAgICAgICBbcmVzdWx0IHNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRp
Zmllcjpjb25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcigpXTsK
KyAgICBpZiAoIWNvbmZpZ3VyYXRpb24uc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
LmlzRW1wdHkoKSAmJiBbcmVzdWx0IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0U291
cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOildKQorICAgICAgICBbcmVzdWx0IHNldFNv
dXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcjpjb25maWd1cmF0aW9uLnNvdXJjZUFwcGxp
Y2F0aW9uQnVuZGxlSWRlbnRpZmllcl07CiAKLSAgICBpZiAoIWNvbmZpZ3VyYXRpb24uc291cmNl
QXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKCkuaXNFbXB0eSgpICYmIFtyZXN1bHQgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlk
ZW50aWZpZXI6KV0pCi0gICAgICAgIFtyZXN1bHQgc2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRh
cnlJZGVudGlmaWVyOmNvbmZpZ3VyYXRpb24uc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVu
dGlmaWVyKCldOworICAgIGlmICghY29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvblNlY29u
ZGFyeUlkZW50aWZpZXIuaXNFbXB0eSgpICYmIFtyZXN1bHQgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3RvcihzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI6KV0pCisgICAg
ICAgIFtyZXN1bHQgc2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOmNvbmZp
Z3VyYXRpb24uc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyXTsKIAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCiAgICAgaWYgKCFjb25maWd1cmF0aW9uLmN0RGF0YUNvbm5lY3Rp
b25TZXJ2aWNlVHlwZSgpLmlzRW1wdHkoKSAmJiBbcmVzdWx0IHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3Ioc2V0Q1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlOildKQpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1t
CShyZXZpc2lvbiAyMzg4NTYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNjUsOCArMjY1LDYgQEAgdm9p
ZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTgogCiAgICAgcGFyYW1ldGVycy5z
aG91bGRFbmFibGVOZXR3b3JrQ2FjaGVFZmZpY2FjeUxvZ2dpbmcgPSBbZGVmYXVsdHMgYm9vbEZv
cktleTpXZWJLaXROZXR3b3JrQ2FjaGVFZmZpY2FjeUxvZ2dpbmdFbmFibGVkRGVmYXVsdHNLZXld
OwogCi0gICAgcGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIgPSBt
X2NvbmZpZ3VyYXRpb24tPnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcigpOwotICAg
IHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyID0gbV9jb25m
aWd1cmF0aW9uLT5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIoKTsKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQogICAgIHBhcmFtZXRlcnMuY3REYXRhQ29ubmVjdGlvblNlcnZp
Y2VUeXBlID0gbV9jb25maWd1cmF0aW9uLT5jdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUoKTsK
ICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAkocmV2aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDksNiArMjA5LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBkaWRDcmVhdGVOZXR3
b3JrUHJvY2VzcygpOwogCisgICAgY29uc3QgQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbigp
IHsgcmV0dXJuIG1fY29uZmlndXJhdGlvbjsgfQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdl
YnNpdGVEYXRhU3RvcmUoUEFMOjpTZXNzaW9uSUQpOwogICAgIGV4cGxpY2l0IFdlYnNpdGVEYXRh
U3RvcmUoQ29uZmlndXJhdGlvbiwgUEFMOjpTZXNzaW9uSUQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356547</attachid>
            <date>2018-12-04 15:38:52 -0800</date>
            <delta_ts>2018-12-04 17:06:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192372-20181204153851.patch</filename>
            <type>text/plain</type>
            <size>19579</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzg4NzQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTEyLTA0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHNvdXJj
ZSBhcHBsaWNhdGlvbiBpZGVudGlmaWVycyBmcm9tIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTIzNzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgX1dLV2ViUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHdheSBvZiBzZXR0aW5nIHRoZXNlIHdh
cyBkZXByZWNhdGVkIGluIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcjIzNTEyNworICAgICAgICBU
aGUgcmVwbGFjZW1lbnQgd2FzIGFkb3B0ZWQgaW4gPHJkYXI6Ly9wcm9ibGVtLzQ2MzU5MzMwPgor
ICAgICAgICBUaGUgdHJhbnNpdGlvbiBwcm9jZXNzIGlzIGRvbmUhICBUaW1lIHRvIHJlbW92ZSB0
aGUgb2xkIGNvZGUuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzc0NvY29hKToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0d29ya1Nlc3Npb25Db2NvYSk6
CisgICAgICAgIChXZWJLaXQ6Omdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpnbG9iYWxTb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpnbG9iYWxTb3VyY2VBcHBs
aWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNl
QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6
Y29weSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5tbToKKyAgICAgICAgKC1bX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHNvdXJj
ZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcl0pOgorICAgICAgICAoLVtfV0tQcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24gc2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOl0pOgor
ICAgICAgICAoLVtfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gc291cmNlQXBwbGljYXRpb25T
ZWNvbmRhcnlJZGVudGlmaWVyXSk6CisgICAgICAgICgtW19XS1Byb2Nlc3NQb29sQ29uZmlndXJh
dGlvbiBzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI6XSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29j
b2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0
Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKToKKyAgICAgICAgKFdlYktpdDo6dG9Q
S1BheW1lbnRSZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5p
dGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpj
b25maWd1cmF0aW9uKToKKwogMjAxOC0xMi0wNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQ2FsbGluZyBnZXRVc2VyTWVkaWEgaW4gYSBsaW5rIHRoYXQgd2Fz
IG9wZW5lZCB3aXRoIHRhcmdldD0iX2JsYW5rIiBkb2VzIG5vdCB3b3JrIHRoZSBzZWNvbmQgdGlt
ZQpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDIzODg1
NikKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OCw4ICs2OCw2IEBAIHZvaWQgTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmUKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICBlbmNvZGVyIDw8IHVpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXI7CiAgICAgZW5jb2RlciA8PCB1
aVByb2Nlc3NTREtWZXJzaW9uOwotICAgIGVuY29kZXIgPDwgc291cmNlQXBwbGljYXRpb25CdW5k
bGVJZGVudGlmaWVyOwotICAgIGVuY29kZXIgPDwgc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJ
ZGVudGlmaWVyOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgZW5jb2RlciA8PCBjdERh
dGFDb25uZWN0aW9uU2VydmljZVR5cGU7CiAjZW5kaWYKQEAgLTE3OSwxMCArMTc3LDYgQEAgYm9v
bCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZAogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQudWlQcm9jZXNzU0RLVmVyc2lvbikp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5z
b3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc291cmNlQXBwbGljYXRpb25TZWNvbmRh
cnlJZGVudGlmaWVyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuY3REYXRhQ29ubmVjdGlvblNl
cnZpY2VUeXBlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkp
CkBAIC04Miw4ICs4Miw2IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBTdHJpbmcgdWlQcm9jZXNzQnVuZGxlSWRlbnRp
ZmllcjsKICAgICB1aW50MzJfdCB1aVByb2Nlc3NTREtWZXJzaW9uIHsgMCB9OwotICAgIFN0cmlu
ZyBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7Ci0gICAgU3RyaW5nIHNvdXJjZUFw
cGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIFN0cmluZyBjdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGU7CiAjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQ
cm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAt
ODgsOSArODgsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOCiAK
ICAgICBTZXNzaW9uVHJhY2tlcjo6c2V0SWRlbnRpZmllckJhc2UocGFyYW1ldGVycy51aVByb2Nl
c3NCdW5kbGVJZGVudGlmaWVyKTsKIAotICAgIE5ldHdvcmtTZXNzaW9uQ29jb2E6OnNldFNvdXJj
ZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEoc291cmNlQXBwbGljYXRpb25BdWRpdERhdGEoKSk7
Ci0gICAgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyKHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKTsKLSAg
ICBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50
aWZpZXIocGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIpOwog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0Q1RE
YXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKHBhcmFtZXRlcnMuY3REYXRhQ29ubmVjdGlvblNlcnZp
Y2VUeXBlKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgJKHJldmlzaW9uIDIzODg1NikK
KysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2Nv
YS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMCArNDgsNyBAQCBwdWJsaWM6CiAgICAgfk5ldHdv
cmtTZXNzaW9uQ29jb2EoKTsKIAogICAgIC8vIE11c3QgYmUgY2FsbGVkIGJlZm9yZSBhbnkgTmV0
d29ya1Nlc3Npb24gaGFzIGJlZW4gY3JlYXRlZC4KLSAgICAvLyBGSVhNRTogTW92ZSB0aGVzZSB0
byBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy4KLSAgICBzdGF0aWMgdm9pZCBzZXRT
b3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKFJldGFpblB0cjxDRkRhdGFSZWY+JiYpOwot
ICAgIHN0YXRpYyB2b2lkIHNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihjb25z
dCBTdHJpbmcmKTsKLSAgICBzdGF0aWMgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFy
eUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJik7CisgICAgLy8gRklYTUU6IE1vdmUgdGhpcyB0byBO
ZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy4KICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIHN0YXRpYyB2b2lkIHNldENURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZShjb25zdCBT
dHJpbmcmKTsKICNlbmRpZgpAQCAtODYsOSArODMsNiBAQCBwcml2YXRlOgogICAgIFJldGFpblB0
cjxDRkRpY3Rpb25hcnlSZWY+IG1fcHJveHlDb25maWd1cmF0aW9uOwogICAgIGJvb2wgbV9zaG91
bGRMb2dDb29raWVJbmZvcm1hdGlvbiB7IGZhbHNlIH07CiAgICAgU2Vjb25kcyBtX2xvYWRUaHJv
dHRsZUxhdGVuY3k7Ci0KLSAgICBTdHJpbmcgbV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50
aWZpZXI7Ci0gICAgU3RyaW5nIG1fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVy
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCShy
ZXZpc2lvbiAyMzg4NTYpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05l
dHdvcmtTZXNzaW9uQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTU4MywyNCArNTgzLDYgQEAg
c3RhdGljIE5TVVJMU2Vzc2lvbkNvbmZpZ3VyYXRpb24gKmNvbmZpZwogICAgIHJldHVybiBbTlNV
UkxTZXNzaW9uQ29uZmlndXJhdGlvbiBkZWZhdWx0U2Vzc2lvbkNvbmZpZ3VyYXRpb25dOwogfQog
Ci1zdGF0aWMgUmV0YWluUHRyPENGRGF0YVJlZj4mIGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVk
aXRUb2tlbkRhdGEoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8Q0ZE
YXRhUmVmPj4gc291cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YTsKLSAgICByZXR1cm4gc291
cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YS5nZXQoKTsKLX0KLQotc3RhdGljIFN0cmluZyYg
Z2xvYmFsU291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCkKLXsKLSAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7
Ci0gICAgcmV0dXJuIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllci5nZXQoKTsKLX0K
LQotc3RhdGljIFN0cmluZyYgZ2xvYmFsU291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzb3VyY2VBcHBsaWNh
dGlvblNlY29uZGFyeUlkZW50aWZpZXI7Ci0gICAgcmV0dXJuIHNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllci5nZXQoKTsKLX0KLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBz
dGF0aWMgU3RyaW5nJiBnbG9iYWxDVERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUoKQogewpAQCAt
NjA4LDI0ICs1OTAsNiBAQCBzdGF0aWMgU3RyaW5nJiBnbG9iYWxDVERhdGFDb25uZWN0aW9uU2Vy
CiAgICAgcmV0dXJuIGN0RGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZS5nZXQoKTsKIH0KICNlbmRp
ZgotICAgIAotdm9pZCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VBcHBsaWNhdGlvbkF1
ZGl0VG9rZW5EYXRhKFJldGFpblB0cjxDRkRhdGFSZWY+JiYgZGF0YSkKLXsKLSAgICBBU1NFUlQo
IXNlc3Npb25zQ3JlYXRlZCk7Ci0gICAgZ2xvYmFsU291cmNlQXBwbGljYXRpb25BdWRpdFRva2Vu
RGF0YSgpID0gZGF0YTsKLX0KLQotdm9pZCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VB
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQotewot
ICAgIEFTU0VSVCghc2Vzc2lvbnNDcmVhdGVkKTsKLSAgICBnbG9iYWxTb3VyY2VBcHBsaWNhdGlv
bkJ1bmRsZUlkZW50aWZpZXIoKSA9IGlkZW50aWZpZXI7Ci19Ci0KLXZvaWQgTmV0d29ya1Nlc3Np
b25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllcikKLXsKLSAgICBBU1NFUlQoIXNlc3Npb25zQ3JlYXRlZCk7Ci0gICAg
Z2xvYmFsU291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKCkgPSBpZGVudGlmaWVy
OwotfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHZvaWQgTmV0d29ya1Nlc3Npb25Db2Nv
YTo6c2V0Q1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkKQEAg
LTY0Niw4ICs2MTAsNiBAQCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3JrU2Vzc2lvbkNvY29h
CiAgICAgLCBtX3Byb3h5Q29uZmlndXJhdGlvbihwYXJhbWV0ZXJzLnByb3h5Q29uZmlndXJhdGlv
bikKICAgICAsIG1fc2hvdWxkTG9nQ29va2llSW5mb3JtYXRpb24ocGFyYW1ldGVycy5zaG91bGRM
b2dDb29raWVJbmZvcm1hdGlvbikKICAgICAsIG1fbG9hZFRocm90dGxlTGF0ZW5jeShwYXJhbWV0
ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kpCi0gICAgLCBtX3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllcihwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcikK
LSAgICAsIG1fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKHBhcmFtZXRlcnMu
c291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKQogewogICAgIEFTU0VSVChoYXNQ
cm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMpKTsK
IApAQCAtNjcwLDIzICs2MzIsMTYgQEAgTmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0d29ya1Nlc3Np
b25Db2NvYQogICAgIC8vIFRoZSBXZWJLaXQgbmV0d29yayBjYWNoZSB3YXMgYWxyZWFkeSBxdWVy
aWVkLgogICAgIGNvbmZpZ3VyYXRpb24uVVJMQ2FjaGUgPSBuaWw7CiAKLSAgICBpZiAoYXV0byYg
ZGF0YSA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEoKSkKKyAgICBpZiAo
YXV0byBkYXRhID0gTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnNvdXJjZUFwcGxpY2F0aW9u
QXVkaXREYXRhKCkpCiAgICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFwcGxpY2F0aW9uQXVk
aXRUb2tlbkRhdGEgPSAoX19icmlkZ2UgTlNEYXRhICopZGF0YS5nZXQoKTsKIAotICAgIGF1dG8m
IHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0
aW9uQnVuZGxlSWRlbnRpZmllcigpOwotICAgIGlmICghbV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IG1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyOwotICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9r
ZW5EYXRhID0gbmlsOwotICAgIH0gZWxzZSBpZiAoIXNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRl
bnRpZmllci5pc0VtcHR5KCkpIHsKLSAgICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGlj
YXRpb25CdW5kbGVJZGVudGlmaWVyID0gc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
OworICAgIGlmICghcGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIu
aXNFbXB0eSgpKSB7CisgICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllciA9IHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlm
aWVyOwogICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5E
YXRhID0gbmlsOwogICAgIH0KIAotICAgIGF1dG8mIHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5
SWRlbnRpZmllciA9IGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigp
OwotICAgIGlmICghbV9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIuaXNFbXB0
eSgpKQotICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlk
ZW50aWZpZXIgPSBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKLSAgICBl
bHNlIGlmICghc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyLmlzRW1wdHkoKSkK
LSAgICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyID0gc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOworICAgIGlmICghcGFy
YW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIuaXNFbXB0eSgpKQor
ICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZp
ZXIgPSBwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKIAog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYXV0byYgY3REYXRhQ29ubmVjdGlvblNlcnZp
Y2VUeXBlID0gZ2xvYmFsQ1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uLmNwcAkocmV2aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwOSw4ICsxMDksNiBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBQcm9jZXNz
UG9vCiAgICAgY29weS0+bV9pZ25vcmVTeW5jaHJvbm91c01lc3NhZ2luZ1RpbWVvdXRzRm9yVGVz
dGluZyA9IHRoaXMtPm1faWdub3JlU3luY2hyb25vdXNNZXNzYWdpbmdUaW1lb3V0c0ZvclRlc3Rp
bmc7CiAgICAgY29weS0+bV9hdHRyU3R5bGVFbmFibGVkID0gdGhpcy0+bV9hdHRyU3R5bGVFbmFi
bGVkOwogICAgIGNvcHktPm1fb3ZlcnJpZGVMYW5ndWFnZXMgPSB0aGlzLT5tX292ZXJyaWRlTGFu
Z3VhZ2VzOwotICAgIGNvcHktPm1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyID0g
dGhpcy0+bV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7Ci0gICAgY29weS0+bV9z
b3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIgPSB0aGlzLT5tX3NvdXJjZUFwcGxp
Y2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKICAgICBjb3B5LT5tX2Fsd2F5c1J1bnNBdEJhY2tn
cm91bmRQcmlvcml0eSA9IHRoaXMtPm1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5Owog
ICAgIGNvcHktPm1fc2hvdWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlvbiA9IHRoaXMtPm1fc2hv
dWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlvbjsKICAgICBjb3B5LT5tX3Nob3VsZENhcHR1cmVB
dWRpb0luVUlQcm9jZXNzID0gdGhpcy0+bV9zaG91bGRDYXB0dXJlQXVkaW9JblVJUHJvY2VzczsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgJKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaAkod29ya2luZyBj
b3B5KQpAQCAtMTI4LDEyICsxMjgsNiBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBWZWN0b3I8V1RG
OjpTdHJpbmc+JiBvdmVycmlkZUxhbmd1YWdlcygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcnJpZGVM
YW5ndWFnZXM7IH0KICAgICB2b2lkIHNldE92ZXJyaWRlTGFuZ3VhZ2VzKFZlY3RvcjxXVEY6OlN0
cmluZz4mJiBsYW5ndWFnZXMpIHsgbV9vdmVycmlkZUxhbmd1YWdlcyA9IFdURk1vdmUobGFuZ3Vh
Z2VzKTsgfQotCi0gICAgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyOyB9Ci0gICAgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIo
Y29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcikgeyBt
X3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IHNvdXJjZUFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllcjsgfQotCi0gICAgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0
aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlQXBwbGljYXRp
b25TZWNvbmRhcnlJZGVudGlmaWVyOyB9Ci0gICAgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvblNl
Y29uZGFyeUlkZW50aWZpZXIoY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllcikgeyBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmll
ciA9IHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsgfQogICAgIAogICAgIGJv
b2wgYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkgY29uc3QgeyByZXR1cm4gbV9hbHdh
eXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHk7IH0KICAgICB2b2lkIHNldEFsd2F5c1J1bnNBdEJh
Y2tncm91bmRQcmlvcml0eShib29sIGFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSkgeyBt
X2Fsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSA9IGFsd2F5c1J1bnNBdEJhY2tncm91bmRQ
cmlvcml0eTsgfQpAQCAtMjA5LDggKzIwMyw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lnbm9y
ZVN5bmNocm9ub3VzTWVzc2FnaW5nVGltZW91dHNGb3JUZXN0aW5nIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fYXR0clN0eWxlRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgVmVjdG9yPFdURjo6U3RyaW5n
PiBtX292ZXJyaWRlTGFuZ3VhZ2VzOwotICAgIFdURjo6U3RyaW5nIG1fc291cmNlQXBwbGljYXRp
b25CdW5kbGVJZGVudGlmaWVyOwotICAgIFdURjo6U3RyaW5nIG1fc291cmNlQXBwbGljYXRpb25T
ZWNvbmRhcnlJZGVudGlmaWVyOwogICAgIGJvb2wgbV9hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJp
b3JpdHkgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRUYWtlVUlCYWNrZ3JvdW5kQXNzZXJ0
aW9uIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9zaG91bGRDYXB0dXJlQXVkaW9JblVJUHJvY2VzcyB7
IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0JKHJldmlzaW9u
IDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTIwMSwyMiArMjAxLDIwIEBA
IC0gKHZvaWQpc2V0QWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzOigKIAogLSAoTlNTdHJpbmcg
Kilzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIKIHsKLSAgICByZXR1cm4gX3Byb2Nl
c3NQb29sQ29uZmlndXJhdGlvbi0+c291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCk7
CisgICAgcmV0dXJuIG5pbDsKIH0KIAogLSAodm9pZClzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXI6KE5TU3RyaW5nICopc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
CiB7Ci0gICAgX3Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi0+c2V0U291cmNlQXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyKHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcik7CiB9CiAK
IC0gKE5TU3RyaW5nICopc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyCiB7Ci0g
ICAgcmV0dXJuIF9wcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24tPnNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllcigpOworICAgIHJldHVybiBuaWw7CiB9CiAKIC0gKHZvaWQpc2V0U291
cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOihOU1N0cmluZyAqKXNvdXJjZUFwcGxp
Y2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcgogewotICAgIF9wcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24tPnNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcihzb3VyY2VBcHBsaWNh
dGlvblNlY29uZGFyeUlkZW50aWZpZXIpOwogfQogCiAtIChCT09MKXNob3VsZENhcHR1cmVBdWRp
b0luVUlQcm9jZXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9jb2Nv
YS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5Q29jb2EubW0JKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0JKHdvcmtp
bmcgY29weSkKQEAgLTI2NCw3ICsyNjQsNyBAQCBib29sIFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5OjpwbGF0Zm9yCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNh
bk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZ
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCi0gICAgUEtD
YW5NYWtlUGF5bWVudHNXaXRoTWVyY2hhbnRJZGVudGlmaWVyRG9tYWluQW5kU291cmNlQXBwbGlj
YXRpb24obWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1lLCBtX3dlYlBhZ2VQcm94eS5wcm9j
ZXNzKCkucHJvY2Vzc1Bvb2woKS5jb25maWd1cmF0aW9uKCkuc291cmNlQXBwbGljYXRpb25TZWNv
bmRhcnlJZGVudGlmaWVyKCksIEJsb2NrUHRyPHZvaWQoQk9PTCwgTlNFcnJvciAqKT46OmZyb21D
YWxsYWJsZShbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0o
Qk9PTCBjYW5NYWtlUGF5bWVudHMsIE5TRXJyb3IgKmVycm9yKSBtdXRhYmxlIHsKKyAgICBQS0Nh
bk1ha2VQYXltZW50c1dpdGhNZXJjaGFudElkZW50aWZpZXJEb21haW5BbmRTb3VyY2VBcHBsaWNh
dGlvbihtZXJjaGFudElkZW50aWZpZXIsIGRvbWFpbk5hbWUsIG1fd2ViUGFnZVByb3h5LndlYnNp
dGVEYXRhU3RvcmUoKS5jb25maWd1cmF0aW9uKCkuc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJ
ZGVudGlmaWVyLCBCbG9ja1B0cjx2b2lkKEJPT0wsIE5TRXJyb3IgKik+Ojpmcm9tQ2FsbGFibGUo
W2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKEJPT0wgY2Fu
TWFrZVBheW1lbnRzLCBOU0Vycm9yICplcnJvcikgbXV0YWJsZSB7CiAgICAgICAgIGlmIChlcnJv
cikKICAgICAgICAgICAgIExPR19FUlJPUigiUEtDYW5NYWtlUGF5bWVudHNXaXRoTWVyY2hhbnRJ
ZGVudGlmaWVyQW5kRG9tYWluIGVycm9yICVAIiwgZXJyb3IpOwogCkBAIC01MDYsMTYgKzUwNiwx
NiBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gdG9QS1BheW1lbnRSCiAjZW5kaWYKIAog
ICAgIC8vIEZJWE1FOiBJbnN0ZWFkIG9mIHVzaW5nIHJlc3BvbmRzVG9TZWxlY3RvciwgdGhpcyBz
aG91bGQgdXNlIGEgcHJvcGVyICNpZiB2ZXJzaW9uIGNoZWNrLgotICAgIGF1dG8mIGNvbmZpZ3Vy
YXRpb24gPSB3ZWJQYWdlUHJveHkucHJvY2VzcygpLnByb2Nlc3NQb29sKCkuY29uZmlndXJhdGlv
bigpOworICAgIGF1dG8mIGNvbmZpZ3VyYXRpb24gPSB3ZWJQYWdlUHJveHkud2Vic2l0ZURhdGFT
dG9yZSgpLmNvbmZpZ3VyYXRpb24oKTsKIAotICAgIGlmICghY29uZmlndXJhdGlvbi5zb3VyY2VB
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKS5pc0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmll
cjopXSkKLSAgICAgICAgW3Jlc3VsdCBzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZp
ZXI6Y29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKV07Cisg
ICAgaWYgKCFjb25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllci5p
c0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFNvdXJj
ZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcjopXSkKKyAgICAgICAgW3Jlc3VsdCBzZXRTb3Vy
Y2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI6Y29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNh
dGlvbkJ1bmRsZUlkZW50aWZpZXJdOwogCi0gICAgaWYgKCFjb25maWd1cmF0aW9uLnNvdXJjZUFw
cGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpLmlzRW1wdHkoKSAmJiBbcmVzdWx0IHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVu
dGlmaWVyOildKQotICAgICAgICBbcmVzdWx0IHNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5
SWRlbnRpZmllcjpjb25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRp
ZmllcigpXTsKKyAgICBpZiAoIWNvbmZpZ3VyYXRpb24uc291cmNlQXBwbGljYXRpb25TZWNvbmRh
cnlJZGVudGlmaWVyLmlzRW1wdHkoKSAmJiBbcmVzdWx0IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3Ioc2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOildKQorICAgICAg
ICBbcmVzdWx0IHNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjpjb25maWd1
cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcl07CiAKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQotICAgIGlmICghY29uZmlndXJhdGlvbi5jdERhdGFDb25uZWN0aW9u
U2VydmljZVR5cGUoKS5pc0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKHNldENURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZTopXSkKKyAgICBpZiAoIXdlYlBh
Z2VQcm94eS53ZWJzaXRlRGF0YVN0b3JlKCkuY29uZmlndXJhdGlvbigpLmN0RGF0YUNvbm5lY3Rp
b25TZXJ2aWNlVHlwZSgpLmlzRW1wdHkoKSAmJiBbcmVzdWx0IHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3Ioc2V0Q1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlOildKQogICAgICAgICBbcmVz
dWx0IHNldENURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZTpjb25maWd1cmF0aW9uLmN0RGF0YUNv
bm5lY3Rpb25TZXJ2aWNlVHlwZSgpXTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9u
IDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2NSw4ICsyNjUsNiBAQCB2b2lkIFdlYlByb2Nl
c3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOCiAKICAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJs
ZU5ldHdvcmtDYWNoZUVmZmljYWN5TG9nZ2luZyA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYktp
dE5ldHdvcmtDYWNoZUVmZmljYWN5TG9nZ2luZ0VuYWJsZWREZWZhdWx0c0tleV07CiAKLSAgICBw
YXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IG1fY29uZmlndXJh
dGlvbi0+c291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCk7Ci0gICAgcGFyYW1ldGVy
cy5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIgPSBtX2NvbmZpZ3VyYXRpb24t
PnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpOwogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAgICAgcGFyYW1ldGVycy5jdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUgPSBt
X2NvbmZpZ3VyYXRpb24tPmN0RGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZSgpOwogI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3Jl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5oCShyZXZpc2lvbiAyMzg4NTYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIw
OSw2ICsyMDksOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZENyZWF0ZU5ldHdvcmtQcm9jZXNz
KCk7CiAKKyAgICBjb25zdCBDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKCkgeyByZXR1cm4g
bV9jb25maWd1cmF0aW9uOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV2Vic2l0ZURhdGFT
dG9yZShQQUw6OlNlc3Npb25JRCk7CiAgICAgZXhwbGljaXQgV2Vic2l0ZURhdGFTdG9yZShDb25m
aWd1cmF0aW9uLCBQQUw6OlNlc3Npb25JRCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356558</attachid>
            <date>2018-12-04 17:06:27 -0800</date>
            <delta_ts>2018-12-04 17:29:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192372-20181204170626.patch</filename>
            <type>text/plain</type>
            <size>19735</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzg4NzQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTEyLTA0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHNvdXJj
ZSBhcHBsaWNhdGlvbiBpZGVudGlmaWVycyBmcm9tIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTIzNzIKKworICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBFaWRzb24uCisKKyAgICAgICAgVGhl
IF9XS1dlYlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiB3YXkgb2Ygc2V0dGluZyB0aGVzZSB3YXMg
ZGVwcmVjYXRlZCBpbiBodHRwOi8vdHJhYy53ZWJraXQub3JnL3IyMzUxMjcKKyAgICAgICAgVGhl
IHJlcGxhY2VtZW50IHdhcyBhZG9wdGVkIGluIDxyZGFyOi8vcHJvYmxlbS80NjM1OTMzMD4KKyAg
ICAgICAgVGhlIHRyYW5zaXRpb24gcHJvY2VzcyBpcyBkb25lISAgVGltZSB0byByZW1vdmUgdGhl
IG9sZCBjb2RlLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1By
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3NDb2NvYSk6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6Ok5ldHdvcmtTZXNzaW9uQ29jb2EpOgor
ICAgICAgICAoV2ViS2l0OjpnbG9iYWxTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Z2xvYmFsU291cmNlQXBwbGljYXRpb25CdW5kbGVJ
ZGVudGlmaWVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Z2xvYmFsU291cmNlQXBwbGlj
YXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6OnNldFNvdXJjZUFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtTZXNzaW9uQ29jb2E6OnNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmll
cik6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb24uY3BwOgorICAgICAgICAoQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OmNv
cHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9u
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24ubW06CisgICAgICAgICgtW19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbiBzb3VyY2VB
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJdKToKKyAgICAgICAgKC1bX1dLUHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uIHNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcjpdKToKKyAg
ICAgICAgKC1bX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllcl0pOgorICAgICAgICAoLVtfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24gc2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOl0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29h
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZv
cm1DYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCk6CisgICAgICAgIChXZWJLaXQ6OnRvUEtQ
YXltZW50UmVxdWVzdCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRp
YWxpemVOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6Y29u
ZmlndXJhdGlvbik6CisKIDIwMTgtMTItMDQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIENhbGxpbmcgZ2V0VXNlck1lZGlhIGluIGEgbGluayB0aGF0IHdhcyBv
cGVuZWQgd2l0aCB0YXJnZXQ9Il9ibGFuayIgZG9lcyBub3Qgd29yayB0aGUgc2Vjb25kIHRpbWUK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyMzg4NTYp
CisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjgsOCArNjgsNiBAQCB2b2lkIE5ldHdv
cmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
ZW5jb2RlciA8PCB1aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyOwogICAgIGVuY29kZXIgPDwgdWlQ
cm9jZXNzU0RLVmVyc2lvbjsKLSAgICBlbmNvZGVyIDw8IHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllcjsKLSAgICBlbmNvZGVyIDw8IHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRl
bnRpZmllcjsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGVuY29kZXIgPDwgY3REYXRh
Q29ubmVjdGlvblNlcnZpY2VUeXBlOwogI2VuZGlmCkBAIC0xNzksMTAgKzE3Nyw2IEBAIGJvb2wg
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmQKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnVpUHJvY2Vzc1NES1ZlcnNpb24pKQog
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc291
cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5
SWRlbnRpZmllcikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmN0RGF0YUNvbm5lY3Rpb25TZXJ2
aWNlVHlwZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgJKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkod29ya2luZyBjb3B5KQpA
QCAtODIsOCArODIsNiBAQCBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMg
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgU3RyaW5nIHVpUHJvY2Vzc0J1bmRsZUlkZW50aWZp
ZXI7CiAgICAgdWludDMyX3QgdWlQcm9jZXNzU0RLVmVyc2lvbiB7IDAgfTsKLSAgICBTdHJpbmcg
c291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOwotICAgIFN0cmluZyBzb3VyY2VBcHBs
aWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAg
ICBTdHJpbmcgY3REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlOwogI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJv
Y2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyMzg4NTYpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTg4
LDkgKzg4LDYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTgogCiAg
ICAgU2Vzc2lvblRyYWNrZXI6OnNldElkZW50aWZpZXJCYXNlKHBhcmFtZXRlcnMudWlQcm9jZXNz
QnVuZGxlSWRlbnRpZmllcik7CiAKLSAgICBOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXRTb3VyY2VB
cHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKHNvdXJjZUFwcGxpY2F0aW9uQXVkaXREYXRhKCkpOwot
ICAgIE5ldHdvcmtTZXNzaW9uQ29jb2E6OnNldFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRp
ZmllcihwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcik7Ci0gICAg
TmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyKHBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyKTsKICNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIE5ldHdvcmtTZXNzaW9uQ29jb2E6OnNldENURGF0
YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZShwYXJhbWV0ZXJzLmN0RGF0YUNvbm5lY3Rpb25TZXJ2aWNl
VHlwZSk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya1Nlc3Npb25Db2NvYS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5oCShyZXZpc2lvbiAyMzg4NTYpCisr
KyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2Eu
aAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTAgKzQ4LDcgQEAgcHVibGljOgogICAgIH5OZXR3b3Jr
U2Vzc2lvbkNvY29hKCk7CiAKICAgICAvLyBNdXN0IGJlIGNhbGxlZCBiZWZvcmUgYW55IE5ldHdv
cmtTZXNzaW9uIGhhcyBiZWVuIGNyZWF0ZWQuCi0gICAgLy8gRklYTUU6IE1vdmUgdGhlc2UgdG8g
TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuCi0gICAgc3RhdGljIHZvaWQgc2V0U291
cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0YShSZXRhaW5QdHI8Q0ZEYXRhUmVmPiYmKTsKLSAg
ICBzdGF0aWMgdm9pZCBzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoY29uc3Qg
U3RyaW5nJik7Ci0gICAgc3RhdGljIHZvaWQgc2V0U291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJ
ZGVudGlmaWVyKGNvbnN0IFN0cmluZyYpOworICAgIC8vIEZJWE1FOiBNb3ZlIHRoaXMgdG8gTmV0
d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ICAgICBzdGF0aWMgdm9pZCBzZXRDVERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUoY29uc3QgU3Ry
aW5nJik7CiAjZW5kaWYKQEAgLTg2LDkgKzgzLDYgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8
Q0ZEaWN0aW9uYXJ5UmVmPiBtX3Byb3h5Q29uZmlndXJhdGlvbjsKICAgICBib29sIG1fc2hvdWxk
TG9nQ29va2llSW5mb3JtYXRpb24geyBmYWxzZSB9OwogICAgIFNlY29uZHMgbV9sb2FkVGhyb3R0
bGVMYXRlbmN5OwotCi0gICAgU3RyaW5nIG1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlm
aWVyOwotICAgIFN0cmluZyBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQkocmV2
aXNpb24gMjM4ODU2KQorKysgU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3
b3JrU2Vzc2lvbkNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01ODMsMjQgKzU4Myw2IEBAIHN0
YXRpYyBOU1VSTFNlc3Npb25Db25maWd1cmF0aW9uICpjb25maWcKICAgICByZXR1cm4gW05TVVJM
U2Vzc2lvbkNvbmZpZ3VyYXRpb24gZGVmYXVsdFNlc3Npb25Db25maWd1cmF0aW9uXTsKIH0KIAot
c3RhdGljIFJldGFpblB0cjxDRkRhdGFSZWY+JiBnbG9iYWxTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0
VG9rZW5EYXRhKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmV0YWluUHRyPENGRGF0
YVJlZj4+IHNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGE7Ci0gICAgcmV0dXJuIHNvdXJj
ZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRhdGEuZ2V0KCk7Ci19Ci0KLXN0YXRpYyBTdHJpbmcmIGds
b2JhbFNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcigpCi17Ci0gICAgc3RhdGljIE5l
dmVyRGVzdHJveWVkPFN0cmluZz4gc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOwot
ICAgIHJldHVybiBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIuZ2V0KCk7Ci19Ci0K
LXN0YXRpYyBTdHJpbmcmIGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmll
cigpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmluZz4gc291cmNlQXBwbGljYXRp
b25TZWNvbmRhcnlJZGVudGlmaWVyOwotICAgIHJldHVybiBzb3VyY2VBcHBsaWNhdGlvblNlY29u
ZGFyeUlkZW50aWZpZXIuZ2V0KCk7Ci19Ci0KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogc3Rh
dGljIFN0cmluZyYgZ2xvYmFsQ1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKCkKIHsKQEAgLTYw
OCwyNCArNTkwLDYgQEAgc3RhdGljIFN0cmluZyYgZ2xvYmFsQ1REYXRhQ29ubmVjdGlvblNlcgog
ICAgIHJldHVybiBjdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUuZ2V0KCk7CiB9CiAjZW5kaWYK
LSAgICAKLXZvaWQgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBwbGljYXRpb25BdWRp
dFRva2VuRGF0YShSZXRhaW5QdHI8Q0ZEYXRhUmVmPiYmIGRhdGEpCi17Ci0gICAgQVNTRVJUKCFz
ZXNzaW9uc0NyZWF0ZWQpOwotICAgIGdsb2JhbFNvdXJjZUFwcGxpY2F0aW9uQXVkaXRUb2tlbkRh
dGEoKSA9IGRhdGE7Ci19Ci0KLXZvaWQgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2V0U291cmNlQXBw
bGljYXRpb25CdW5kbGVJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikKLXsKLSAg
ICBBU1NFUlQoIXNlc3Npb25zQ3JlYXRlZCk7Ci0gICAgZ2xvYmFsU291cmNlQXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyKCkgPSBpZGVudGlmaWVyOwotfQotCi12b2lkIE5ldHdvcmtTZXNzaW9u
Q29jb2E6OnNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcihjb25zdCBTdHJp
bmcmIGlkZW50aWZpZXIpCi17Ci0gICAgQVNTRVJUKCFzZXNzaW9uc0NyZWF0ZWQpOwotICAgIGds
b2JhbFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpID0gaWRlbnRpZmllcjsK
LX0KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiB2b2lkIE5ldHdvcmtTZXNzaW9uQ29jb2E6
OnNldENURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCkBAIC02
NDYsOCArNjEwLDYgQEAgTmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0d29ya1Nlc3Npb25Db2NvYQog
ICAgICwgbV9wcm94eUNvbmZpZ3VyYXRpb24ocGFyYW1ldGVycy5wcm94eUNvbmZpZ3VyYXRpb24p
CiAgICAgLCBtX3Nob3VsZExvZ0Nvb2tpZUluZm9ybWF0aW9uKHBhcmFtZXRlcnMuc2hvdWxkTG9n
Q29va2llSW5mb3JtYXRpb24pCiAgICAgLCBtX2xvYWRUaHJvdHRsZUxhdGVuY3kocGFyYW1ldGVy
cy5sb2FkVGhyb3R0bGVMYXRlbmN5KQotICAgICwgbV9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlk
ZW50aWZpZXIocGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIpCi0g
ICAgLCBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcihwYXJhbWV0ZXJzLnNv
dXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcikKIHsKICAgICBBU1NFUlQoaGFzUHJv
Y2Vzc1ByaXZpbGVnZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5BY2Nlc3NSYXdDb29raWVzKSk7CiAK
QEAgLTY3MCwyMyArNjMyLDE2IEBAIE5ldHdvcmtTZXNzaW9uQ29jb2E6Ok5ldHdvcmtTZXNzaW9u
Q29jb2EKICAgICAvLyBUaGUgV2ViS2l0IG5ldHdvcmsgY2FjaGUgd2FzIGFscmVhZHkgcXVlcmll
ZC4KICAgICBjb25maWd1cmF0aW9uLlVSTENhY2hlID0gbmlsOwogCi0gICAgaWYgKGF1dG8mIGRh
dGEgPSBnbG9iYWxTb3VyY2VBcHBsaWNhdGlvbkF1ZGl0VG9rZW5EYXRhKCkpCisgICAgaWYgKGF1
dG8gZGF0YSA9IE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5zb3VyY2VBcHBsaWNhdGlvbkF1
ZGl0RGF0YSgpKQogICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvbkF1ZGl0
VG9rZW5EYXRhID0gKF9fYnJpZGdlIE5TRGF0YSAqKWRhdGEuZ2V0KCk7CiAKLSAgICBhdXRvJiBz
b3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIgPSBnbG9iYWxTb3VyY2VBcHBsaWNhdGlv
bkJ1bmRsZUlkZW50aWZpZXIoKTsKLSAgICBpZiAoIW1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJ
ZGVudGlmaWVyLmlzRW1wdHkoKSkgewotICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBs
aWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIgPSBtX3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRp
ZmllcjsKLSAgICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGljYXRpb25BdWRpdFRva2Vu
RGF0YSA9IG5pbDsKLSAgICB9IGVsc2UgaWYgKCFzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50
aWZpZXIuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFwcGxpY2F0
aW9uQnVuZGxlSWRlbnRpZmllciA9IHNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcjsK
KyAgICBpZiAoIXBhcmFtZXRlcnMuc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyLmlz
RW1wdHkoKSkgeworICAgICAgICBjb25maWd1cmF0aW9uLl9zb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIgPSBwYXJhbWV0ZXJzLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmll
cjsKICAgICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGljYXRpb25BdWRpdFRva2VuRGF0
YSA9IG5pbDsKICAgICB9CiAKLSAgICBhdXRvJiBzb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlk
ZW50aWZpZXIgPSBnbG9iYWxTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIoKTsK
LSAgICBpZiAoIW1fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyLmlzRW1wdHko
KSkKLSAgICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVu
dGlmaWVyID0gbV9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI7Ci0gICAgZWxz
ZSBpZiAoIXNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllci5pc0VtcHR5KCkpCi0g
ICAgICAgIGNvbmZpZ3VyYXRpb24uX3NvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmll
ciA9IHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKKyAgICBpZiAoIXBhcmFt
ZXRlcnMuc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyLmlzRW1wdHkoKSkKKyAg
ICAgICAgY29uZmlndXJhdGlvbi5fc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVy
ID0gcGFyYW1ldGVycy5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI7CiAKICNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGF1dG8mIGN0RGF0YUNvbm5lY3Rpb25TZXJ2aWNl
VHlwZSA9IGdsb2JhbENURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZSgpOwpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbi5jcHAJKHJldmlzaW9uIDIzODg1NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDksOCArMTA5LDYgQEAgUmVmPFByb2Nlc3NQb29sQ29uZmlndXJhdGlvbj4gUHJvY2Vzc1Bv
bwogICAgIGNvcHktPm1faWdub3JlU3luY2hyb25vdXNNZXNzYWdpbmdUaW1lb3V0c0ZvclRlc3Rp
bmcgPSB0aGlzLT5tX2lnbm9yZVN5bmNocm9ub3VzTWVzc2FnaW5nVGltZW91dHNGb3JUZXN0aW5n
OwogICAgIGNvcHktPm1fYXR0clN0eWxlRW5hYmxlZCA9IHRoaXMtPm1fYXR0clN0eWxlRW5hYmxl
ZDsKICAgICBjb3B5LT5tX292ZXJyaWRlTGFuZ3VhZ2VzID0gdGhpcy0+bV9vdmVycmlkZUxhbmd1
YWdlczsKLSAgICBjb3B5LT5tX3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IHRo
aXMtPm1fc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOwotICAgIGNvcHktPm1fc291
cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyID0gdGhpcy0+bV9zb3VyY2VBcHBsaWNh
dGlvblNlY29uZGFyeUlkZW50aWZpZXI7CiAgICAgY29weS0+bV9hbHdheXNSdW5zQXRCYWNrZ3Jv
dW5kUHJpb3JpdHkgPSB0aGlzLT5tX2Fsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eTsKICAg
ICBjb3B5LT5tX3Nob3VsZFRha2VVSUJhY2tncm91bmRBc3NlcnRpb24gPSB0aGlzLT5tX3Nob3Vs
ZFRha2VVSUJhY2tncm91bmRBc3NlcnRpb247CiAgICAgY29weS0+bV9zaG91bGRDYXB0dXJlQXVk
aW9JblVJUHJvY2VzcyA9IHRoaXMtPm1fc2hvdWxkQ2FwdHVyZUF1ZGlvSW5VSVByb2Nlc3M7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVByb2Nl
c3NQb29sQ29uZmlndXJhdGlvbi5oCShyZXZpc2lvbiAyMzg4NTYpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEyOCwxMiArMTI4LDYgQEAgcHVibGljOgogCiAgICAgY29uc3QgVmVjdG9yPFdURjo6
U3RyaW5nPiYgb3ZlcnJpZGVMYW5ndWFnZXMoKSBjb25zdCB7IHJldHVybiBtX292ZXJyaWRlTGFu
Z3VhZ2VzOyB9CiAgICAgdm9pZCBzZXRPdmVycmlkZUxhbmd1YWdlcyhWZWN0b3I8V1RGOjpTdHJp
bmc+JiYgbGFuZ3VhZ2VzKSB7IG1fb3ZlcnJpZGVMYW5ndWFnZXMgPSBXVEZNb3ZlKGxhbmd1YWdl
cyk7IH0KLQotICAgIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlk
ZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRp
ZmllcjsgfQotICAgIHZvaWQgc2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKGNv
bnN0IFdURjo6U3RyaW5nJiBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIpIHsgbV9z
b3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIgPSBzb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXI7IH0KLQotICAgIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VBcHBsaWNhdGlv
blNlY29uZGFyeUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZUFwcGxpY2F0aW9u
U2Vjb25kYXJ5SWRlbnRpZmllcjsgfQotICAgIHZvaWQgc2V0U291cmNlQXBwbGljYXRpb25TZWNv
bmRhcnlJZGVudGlmaWVyKGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VBcHBsaWNhdGlvblNlY29u
ZGFyeUlkZW50aWZpZXIpIHsgbV9zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIg
PSBzb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI7IH0KICAgICAKICAgICBib29s
IGFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSgpIGNvbnN0IHsgcmV0dXJuIG1fYWx3YXlz
UnVuc0F0QmFja2dyb3VuZFByaW9yaXR5OyB9CiAgICAgdm9pZCBzZXRBbHdheXNSdW5zQXRCYWNr
Z3JvdW5kUHJpb3JpdHkoYm9vbCBhbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkpIHsgbV9h
bHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkgPSBhbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJp
b3JpdHk7IH0KQEAgLTIwOSw4ICsyMDMsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pZ25vcmVT
eW5jaHJvbm91c01lc3NhZ2luZ1RpbWVvdXRzRm9yVGVzdGluZyB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX2F0dHJTdHlsZUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIFZlY3RvcjxXVEY6OlN0cmluZz4g
bV9vdmVycmlkZUxhbmd1YWdlczsKLSAgICBXVEY6OlN0cmluZyBtX3NvdXJjZUFwcGxpY2F0aW9u
QnVuZGxlSWRlbnRpZmllcjsKLSAgICBXVEY6OlN0cmluZyBtX3NvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllcjsKICAgICBib29sIG1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9y
aXR5IHsgZmFsc2UgfTsKICAgICBib29sIG1fc2hvdWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlv
biB7IHRydWUgfTsKICAgICBib29sIG1fc2hvdWxkQ2FwdHVyZUF1ZGlvSW5VSVByb2Nlc3MgeyBm
YWxzZSB9OwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nl
c3NQb29sQ29uZmlndXJhdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tCShyZXZpc2lvbiAy
Mzg4NTYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bv
b2xDb25maWd1cmF0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMDEsMjIgKzIwMSwyMCBAQCAt
ICh2b2lkKXNldEFsd2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lczooCiAKIC0gKE5TU3RyaW5nICop
c291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyCiB7Ci0gICAgcmV0dXJuIF9wcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24tPnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcigpOwor
ICAgIHJldHVybiBuaWw7CiB9CiAKIC0gKHZvaWQpc2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJ
ZGVudGlmaWVyOihOU1N0cmluZyAqKXNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcgog
ewotICAgIF9wcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24tPnNldFNvdXJjZUFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllcihzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIpOwogfQogCiAt
IChOU1N0cmluZyAqKXNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcgogewotICAg
IHJldHVybiBfcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLT5zb3VyY2VBcHBsaWNhdGlvblNlY29u
ZGFyeUlkZW50aWZpZXIoKTsKKyAgICByZXR1cm4gbmlsOwogfQogCiAtICh2b2lkKXNldFNvdXJj
ZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjooTlNTdHJpbmcgKilzb3VyY2VBcHBsaWNh
dGlvblNlY29uZGFyeUlkZW50aWZpZXIKIHsKLSAgICBfcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9u
LT5zZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIoc291cmNlQXBwbGljYXRp
b25TZWNvbmRhcnlJZGVudGlmaWVyKTsKIH0KIAogLSAoQk9PTClzaG91bGRDYXB0dXJlQXVkaW9J
blVJUHJvY2VzcwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGVQYXkvY29jb2Ev
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eUNvY29hLm1tCShyZXZpc2lvbiAyMzg4NTYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
cHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0yNjQsNyArMjY0LDcgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6cGxhdGZvcgogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1DYW5N
YWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkg
JiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKQotICAgIFBLQ2Fu
TWFrZVBheW1lbnRzV2l0aE1lcmNoYW50SWRlbnRpZmllckRvbWFpbkFuZFNvdXJjZUFwcGxpY2F0
aW9uKG1lcmNoYW50SWRlbnRpZmllciwgZG9tYWluTmFtZSwgbV93ZWJQYWdlUHJveHkucHJvY2Vz
cygpLnByb2Nlc3NQb29sKCkuY29uZmlndXJhdGlvbigpLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25k
YXJ5SWRlbnRpZmllcigpLCBCbG9ja1B0cjx2b2lkKEJPT0wsIE5TRXJyb3IgKik+Ojpmcm9tQ2Fs
bGFibGUoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKEJP
T0wgY2FuTWFrZVBheW1lbnRzLCBOU0Vycm9yICplcnJvcikgbXV0YWJsZSB7CisgICAgUEtDYW5N
YWtlUGF5bWVudHNXaXRoTWVyY2hhbnRJZGVudGlmaWVyRG9tYWluQW5kU291cmNlQXBwbGljYXRp
b24obWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1lLCBtX3dlYlBhZ2VQcm94eS53ZWJzaXRl
RGF0YVN0b3JlKCkuY29uZmlndXJhdGlvbigpLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRl
bnRpZmllciwgQmxvY2tQdHI8dm9pZChCT09MLCBOU0Vycm9yICopPjo6ZnJvbUNhbGxhYmxlKFtj
b21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShCT09MIGNhbk1h
a2VQYXltZW50cywgTlNFcnJvciAqZXJyb3IpIG11dGFibGUgewogICAgICAgICBpZiAoZXJyb3Ip
CiAgICAgICAgICAgICBMT0dfRVJST1IoIlBLQ2FuTWFrZVBheW1lbnRzV2l0aE1lcmNoYW50SWRl
bnRpZmllckFuZERvbWFpbiBlcnJvciAlQCIsIGVycm9yKTsKIApAQCAtNTA2LDE3ICs1MDYsMTcg
QEAgUmV0YWluUHRyPFBLUGF5bWVudFJlcXVlc3Q+IHRvUEtQYXltZW50UgogI2VuZGlmCiAKICAg
ICAvLyBGSVhNRTogSW5zdGVhZCBvZiB1c2luZyByZXNwb25kc1RvU2VsZWN0b3IsIHRoaXMgc2hv
dWxkIHVzZSBhIHByb3BlciAjaWYgdmVyc2lvbiBjaGVjay4KLSAgICBhdXRvJiBjb25maWd1cmF0
aW9uID0gd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmNvbmZpZ3VyYXRpb24o
KTsKKyAgICBhdXRvJiBjb25maWd1cmF0aW9uID0gd2ViUGFnZVByb3h5LndlYnNpdGVEYXRhU3Rv
cmUoKS5jb25maWd1cmF0aW9uKCk7CiAKLSAgICBpZiAoIWNvbmZpZ3VyYXRpb24uc291cmNlQXBw
bGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCkuaXNFbXB0eSgpICYmIFtyZXN1bHQgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3RvcihzZXRTb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI6
KV0pCi0gICAgICAgIFtyZXN1bHQgc2V0U291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
OmNvbmZpZ3VyYXRpb24uc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCldOworICAg
IGlmICghY29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIuaXNF
bXB0eSgpICYmIFtyZXN1bHQgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRTb3VyY2VB
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI6KV0pCisgICAgICAgIFtyZXN1bHQgc2V0U291cmNl
QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOmNvbmZpZ3VyYXRpb24uc291cmNlQXBwbGljYXRp
b25CdW5kbGVJZGVudGlmaWVyXTsKIAotICAgIGlmICghY29uZmlndXJhdGlvbi5zb3VyY2VBcHBs
aWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIoKS5pc0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRp
ZmllcjopXSkKLSAgICAgICAgW3Jlc3VsdCBzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlk
ZW50aWZpZXI6Y29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZp
ZXIoKV07CisgICAgaWYgKCFjb25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5
SWRlbnRpZmllci5pc0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKHNldFNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjopXSkKKyAgICAgICAg
W3Jlc3VsdCBzZXRTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI6Y29uZmlndXJh
dGlvbi5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXJdOwogCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKLSAgICBpZiAoIWNvbmZpZ3VyYXRpb24uY3REYXRhQ29ubmVjdGlvblNl
cnZpY2VUeXBlKCkuaXNFbXB0eSgpICYmIFtyZXN1bHQgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3RvcihzZXRDVERhdGFDb25uZWN0aW9uU2VydmljZVR5cGU6KV0pCi0gICAgICAgIFtyZXN1bHQg
c2V0Q1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlOmNvbmZpZ3VyYXRpb24uY3REYXRhQ29ubmVj
dGlvblNlcnZpY2VUeXBlKCldOworICAgIGlmICghd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5wcm9j
ZXNzUG9vbCgpLmNvbmZpZ3VyYXRpb24oKS5jdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUoKS5p
c0VtcHR5KCkgJiYgW3Jlc3VsdCByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldENURGF0
YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZTopXSkKKyAgICAgICAgW3Jlc3VsdCBzZXRDVERhdGFDb25u
ZWN0aW9uU2VydmljZVR5cGU6d2ViUGFnZVByb3h5LnByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmNv
bmZpZ3VyYXRpb24oKS5jdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUoKV07CiAjZW5kaWYKIAog
ICAgIHJldHVybiByZXN1bHQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDIzODg1NikKKysrIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHdvcmtp
bmcgY29weSkKQEAgLTI2NSw4ICsyNjUsNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9y
bUluaXRpYWxpemVOCiAKICAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZU5ldHdvcmtDYWNoZUVm
ZmljYWN5TG9nZ2luZyA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYktpdE5ldHdvcmtDYWNoZUVm
ZmljYWN5TG9nZ2luZ0VuYWJsZWREZWZhdWx0c0tleV07CiAKLSAgICBwYXJhbWV0ZXJzLnNvdXJj
ZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciA9IG1fY29uZmlndXJhdGlvbi0+c291cmNlQXBw
bGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCk7Ci0gICAgcGFyYW1ldGVycy5zb3VyY2VBcHBsaWNh
dGlvblNlY29uZGFyeUlkZW50aWZpZXIgPSBtX2NvbmZpZ3VyYXRpb24tPnNvdXJjZUFwcGxpY2F0
aW9uU2Vjb25kYXJ5SWRlbnRpZmllcigpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAg
cGFyYW1ldGVycy5jdERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUgPSBtX2NvbmZpZ3VyYXRpb24t
PmN0RGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZSgpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5o
CShyZXZpc2lvbiAyMzg4NTYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwOSw2ICsyMDksOCBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGRpZENyZWF0ZU5ldHdvcmtQcm9jZXNzKCk7CiAKKyAgICBjb25z
dCBDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKCkgeyByZXR1cm4gbV9jb25maWd1cmF0aW9u
OyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV2Vic2l0ZURhdGFTdG9yZShQQUw6OlNlc3Np
b25JRCk7CiAgICAgZXhwbGljaXQgV2Vic2l0ZURhdGFTdG9yZShDb25maWd1cmF0aW9uLCBQQUw6
OlNlc3Npb25JRCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>