<?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>154132</bug_id>
          
          <creation_ts>2016-02-11 14:10:02 -0800</creation_ts>
          <short_desc>Move Download authentication code to AuthenticationManager</short_desc>
          <delta_ts>2016-02-15 14:26:34 -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>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>154142</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1163865</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-02-11 14:10:02 -0800</bug_when>
    <thetext>Move Download authentication code to AuthenticationManager</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163897</commentid>
    <comment_count>1</comment_count>
      <attachid>271095</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-02-11 14:54:41 -0800</bug_when>
    <thetext>Created attachment 271095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163914</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-02-11 16:02:44 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/196453</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163953</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-11 17:23:31 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 154142</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164899</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-02-15 14:26:34 -0800</bug_when>
    <thetext>Added #if USE(CFNETWORK) checks around calls to AuthenticationChallenge::sender and recommitted to http://trac.webkit.org/changeset/196600</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271095</attachid>
            <date>2016-02-11 14:54:41 -0800</date>
            <delta_ts>2016-02-11 15:56:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154132-20160211145418.patch</filename>
            <type>text/plain</type>
            <size>28055</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NjQzNykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc4IEBACisyMDE2LTAyLTExICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBEb3du
bG9hZCBhdXRoZW50aWNhdGlvbiBjb2RlIHRvIEF1dGhlbnRpY2F0aW9uTWFuYWdlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MTMyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBhIHZpZGVvIGVs
ZW1lbnQgbWFrZXMgYSByZXF1ZXN0IHRoYXQgcmVjZWl2ZXMgYW4gYXV0aGVudGljYXRpb24gY2hh
bGxlbmdlLCB0aGUKKyAgICAgICAgQXV0aGVudGljYXRpb25NYW5hZ2VyIHJlY2VpdmVzIGFuIEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIHdpdGhvdXQgYW4gQXV0aGVudGljYXRpb25DbGllbnQuCisg
ICAgICAgIEFzIGEgcmVzdWx0LCBEb3dubG9hZDo6cmVjZWl2ZWRDcmVkZW50aWFsIGFuZCBvdGhl
ciBmdW5jdGlvbnMgd2VyZSBiZWluZyBjYWxsZWQsIHdoaWNoCisgICAgICAgIHNlbnQgYSBtZXNz
YWdlIHRvIHRoZSBjaGFsbGVuZ2UncyBzZW5kZXIuICBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90
IHNwZWNpZmljIHRvIGRvd25sb2FkcywKKyAgICAgICAgc28gSSBtb3ZlZCBpdCBmcm9tIERvd25s
b2FkIHRvIEF1dGhlbnRpY2F0aW9uTWFuYWdlci4KKworICAgICAgICBUaGlzIGZpeGVzIGh0dHAv
dGVzdHMvbWVkaWEvdmlkZW8tYXV0aC5odG1sIHdoZW4gdXNpbmcgTmV0d29ya1Nlc3Npb24gCisg
ICAgICAgIGJlY2F1c2UgSSB1c2UgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZlZENyZWRl
bnRpYWwgaWYgdGhlcmUgaXMgbm8gQXV0aGVudGljYXRpb25DbGllbnQKKyAgICAgICAgaW5zdGVh
ZCBvZiBpbXByb3Blcmx5IGFzc2VydGluZyB0aGF0IHRoZXJlIGlzIGFsd2F5cyBhbiBBdXRoZW50
aWNhdGlvbkNsaWVudCBpZiB0aGVyZSBpcyBubworICAgICAgICBjb21wbGV0aW9uSGFuZGxlci4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW06CisgICAgICAg
IChXZWJLaXQ6OkRvd25sb2FkOjpwbGF0Zm9ybURpZEZpbmlzaCk6CisgICAgICAgIChXZWJLaXQ6
OkRvd25sb2FkOjpyZWNlaXZlZENyZWRlbnRpYWwpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0
OjpEb3dubG9hZDo6cmVjZWl2ZWRSZXF1ZXN0VG9Db250aW51ZVdpdGhvdXRDcmVkZW50aWFsKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWQ6OnJlY2VpdmVkQ2FuY2VsbGF0aW9u
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWQ6OnJlY2VpdmVkUmVxdWVzdFRv
UGVyZm9ybURlZmF1bHRIYW5kbGluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkRvd25s
b2FkOjpyZWNlaXZlZENoYWxsZW5nZVJlamVjdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvRG93bmxvYWRzL21hYy9Eb3dubG9hZE1hYy5tbToKKyAgICAgICAgKFdlYktp
dDo6RG93bmxvYWQ6OnBsYXRmb3JtRGlkRmluaXNoKToKKyAgICAgICAgKFdlYktpdDo6RG93bmxv
YWQ6OnJlY2VpdmVkQ3JlZGVudGlhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkRvd25s
b2FkOjpyZWNlaXZlZFJlcXVlc3RUb0NvbnRpbnVlV2l0aG91dENyZWRlbnRpYWwpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZDo6cmVjZWl2ZWRDYW5jZWxsYXRpb24pOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZDo6cmVjZWl2ZWRSZXF1ZXN0VG9QZXJmb3Jt
RGVmYXVsdEhhbmRsaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWQ6OnJl
Y2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9Eb3dubG9hZHMvc291cC9Eb3dubG9hZFNvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpE
b3dubG9hZDo6cGxhdGZvcm1EaWRGaW5pc2gpOgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZDo6
cmVjZWl2ZWRDcmVkZW50aWFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWQ6
OnJlY2VpdmVkUmVxdWVzdFRvQ29udGludWVXaXRob3V0Q3JlZGVudGlhbCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJLaXQ6OkRvd25sb2FkOjpyZWNlaXZlZENhbmNlbGxhdGlvbik6IERlbGV0ZWQu
CisgICAgICAgIChXZWJLaXQ6OkRvd25sb2FkOjpjb250aW51ZVdpdGhvdXRDcmVkZW50aWFsKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWQ6OnVzZUNyZWRlbnRpYWwpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZDo6Y2FuY2VsQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZDo6cmVjZWl2ZWRSZXF1
ZXN0VG9QZXJmb3JtRGVmYXVsdEhhbmRsaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
RG93bmxvYWQ6OnJlY2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAg
KiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAg
ICAgKiBQbGF0Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRp
b25NYW5hZ2VyOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOgorICAgICAgICAo
V2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnVzZUNyZWRlbnRpYWxGb3JTaW5nbGVDaGFs
bGVuZ2UpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OmNvbnRpbnVl
V2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50
aWNhdGlvbk1hbmFnZXI6OmNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JTaW5nbGVDaGFsbGVu
Z2UpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OmNhbmNlbENoYWxs
ZW5nZSk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Y2FuY2VsU2lu
Z2xlQ2hhbGxlbmdlKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpw
ZXJmb3JtRGVmYXVsdEhhbmRsaW5nKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25N
YW5hZ2VyOjpwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9yU2luZ2xlQ2hhbGxlbmdlKToKKyAgICAg
ICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWplY3RQcm90ZWN0aW9uU3BhY2VB
bmRDb250aW51ZSk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVq
ZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29udGludWVGb3JTaW5nbGVDaGFsbGVuZ2UpOgorICAgICAg
ICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaDoKKyAgICAg
ICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpvdXRzdGFuZGluZ0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlQ291bnQpOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9jb2Nv
YTogQWRkZWQuCisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL2NvY29hL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlckNvY29hLm1tOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGlj
YXRpb25NYW5hZ2VyOjpyZWNlaXZlZENyZWRlbnRpYWwpOgorICAgICAgICAoV2ViS2l0OjpBdXRo
ZW50aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVkUmVxdWVzdFRvQ29udGludWVXaXRob3V0Q3JlZGVu
dGlhbCk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRD
YW5jZWxsYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJl
Y2VpdmVkUmVxdWVzdFRvUGVyZm9ybURlZmF1bHRIYW5kbGluZyk6CisgICAgICAgIChXZWJLaXQ6
OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRDaGFsbGVuZ2VSZWplY3Rpb24pOgorICAg
ICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9zb3VwOiBBZGRlZC4KKyAgICAgICAgKiBTaGFy
ZWQvQXV0aGVudGljYXRpb24vc291cC9BdXRoZW50aWNhdGlvbk1hbmFnZXJTb3VwLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRDcmVk
ZW50aWFsKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZl
ZFJlcXVlc3RUb0NvbnRpbnVlV2l0aG91dENyZWRlbnRpYWwpOgorICAgICAgICAoV2ViS2l0OjpB
dXRoZW50aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVkQ2FuY2VsbGF0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZlZFJlcXVlc3RUb1BlcmZvcm1EZWZh
dWx0SGFuZGxpbmcpOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJl
Y2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9uKToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisKIDIwMTYtMDItMTEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0
ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVc2UgQmxvYlJlc291cmNlSGFuZGxlIHdoZW4g
bG9hZGluZyBibG9iIHVybHMsIGV2ZW4gd2hlbiB1c2luZyBOZXR3b3JrU2Vzc2lvbgpJbmRleDog
U291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvUGxhdGZvcm1FZmwuY21ha2UJKHJldmlzaW9uIDE5NjMyMykKKysrIFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtRWZsLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw4IEBAIGxp
c3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogCiAgICAgU2hhcmVkL0FQSS9jL2VmbC9XS0FycmF5
RWZsLmNwcAogCisgICAgU2hhcmVkL0F1dGhlbnRpY2F0aW9uL3NvdXAvQXV0aGVudGljYXRpb25N
YW5hZ2VyU291cC5jcHAKKwogICAgIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkQmFja2luZ1N0b3JlLmNwcAogICAgIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5jcHAKICAgICBTaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybUdUSy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bUdUSy5jbWFrZQkocmV2aXNpb24gMTk2MzIzKQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm1H
VEsuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYgKzU3LDggQEAgbGlzdChBUFBFTkQgV2Vi
S2l0Ml9TT1VSQ0VTCiAKICAgICBTaGFyZWQvQVBJL2MvY2Fpcm8vV0tJbWFnZUNhaXJvLmNwcAog
CisgICAgU2hhcmVkL0F1dGhlbnRpY2F0aW9uL3NvdXAvQXV0aGVudGljYXRpb25NYW5hZ2VyU291
cC5jcHAKKwogICAgIFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpbk1v
ZHVsZVgxMS5jcHAKIAogICAgIFNoYXJlZC9QbHVnaW5zL3VuaXgvUGx1Z2luU2VhcmNoUGF0aC5j
cHAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtlCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtlCShyZXZpc2lvbiAxOTYzMjMpCisrKyBT
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybU1hYy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNTQsNiAr
NTQsOCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvQVBJV2ViQXJj
aGl2ZS5tbQogICAgIFNoYXJlZC9BUElXZWJBcmNoaXZlUmVzb3VyY2UubW0KIAorICAgIFNoYXJl
ZC9BdXRoZW50aWNhdGlvbi9jb2NvYS9BdXRoZW50aWNhdGlvbk1hbmFnZXJDb2NvYS5tbQorCiAg
ICAgU2hhcmVkL0FQSS9Db2NvYS9SZW1vdGVPYmplY3RJbnZvY2F0aW9uLm1tCiAgICAgU2hhcmVk
L0FQSS9Db2NvYS9SZW1vdGVPYmplY3RSZWdpc3RyeS5tbQogICAgIFNoYXJlZC9BUEkvQ29jb2Ev
V0tCcm93c2luZ0NvbnRleHRIYW5kbGUubW0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCShyZXZpc2lvbiAxOTYzMjMpCisr
KyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAkod29y
a2luZyBjb3B5KQpAQCAtMTEzLDE5ICsxMTMsNiBAQCBwdWJsaWM6CiAgICAgRG93bmxvYWRBdXRo
ZW50aWNhdGlvbkNsaWVudCogYXV0aGVudGljYXRpb25DbGllbnQoKTsKICNlbmRpZgogCi0jaWYg
IVVTRShORVRXT1JLX1NFU1NJT04pCi0gICAgLy8gQXV0aGVudGljYXRpb24KLSAgICBzdGF0aWMg
dm9pZCByZWNlaXZlZENyZWRlbnRpYWwoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFs
bGVuZ2UmLCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJik7Ci0gICAgc3RhdGljIHZvaWQgcmVj
ZWl2ZWRSZXF1ZXN0VG9Db250aW51ZVdpdGhvdXRDcmVkZW50aWFsKGNvbnN0IFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7Ci0gICAgc3RhdGljIHZvaWQgcmVjZWl2ZWRDYW5jZWxs
YXRpb24oY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKLSAgICBzdGF0
aWMgdm9pZCByZWNlaXZlZFJlcXVlc3RUb1BlcmZvcm1EZWZhdWx0SGFuZGxpbmcoY29uc3QgV2Vi
Q29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKLSAgICBzdGF0aWMgdm9pZCByZWNlaXZl
ZENoYWxsZW5nZVJlamVjdGlvbihjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSYpOwotCi0gICAgdm9pZCB1c2VDcmVkZW50aWFsKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJiwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYpOwotICAgIHZvaWQgY29u
dGludWVXaXRob3V0Q3JlZGVudGlhbChjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSYpOwotICAgIHZvaWQgY2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgV2Vi
Q29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKLSNlbmRpZgotCiBwcml2YXRlOgogICAg
IC8vIElQQzo6TWVzc2FnZVNlbmRlcgogICAgIHZpcnR1YWwgSVBDOjpDb25uZWN0aW9uKiBtZXNz
YWdlU2VuZGVyQ29ubmVjdGlvbigpIG92ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1t
CShyZXZpc2lvbiAxOTYzMjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3du
bG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsMzEgKzE1Nyw2
IEBAIHZvaWQgRG93bmxvYWQ6OnBsYXRmb3JtRGlkRmluaXNoKCkKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogfQogCi12b2lkIERvd25sb2FkOjpyZWNlaXZlZENyZWRlbnRpYWwoY29uc3QgQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBDcmVkZW50aWFsJikKLXsKLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotfQotCi12b2lkIERvd25sb2FkOjpyZWNlaXZlZFJlcXVlc3RUb0NvbnRpbnVlV2l0
aG91dENyZWRlbnRpYWwoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKQotewotICAgIG5v
dEltcGxlbWVudGVkKCk7Ci19Ci0KLXZvaWQgRG93bmxvYWQ6OnJlY2VpdmVkQ2FuY2VsbGF0aW9u
KGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OwotfQotCi12b2lkIERvd25sb2FkOjpyZWNlaXZlZFJlcXVlc3RUb1BlcmZvcm1EZWZhdWx0SGFu
ZGxpbmcoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKQotewotICAgIG5v
dEltcGxlbWVudGVkKCk7Ci19Ci0KLXZvaWQgRG93bmxvYWQ6OnJlY2VpdmVkQ2hhbGxlbmdlUmVq
ZWN0aW9uKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikKLXsKLSAgICBu
b3RJbXBsZW1lbnRlZCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8v
IFVTRShDRk5FVFdPUkspICYmICFVU0UoTkVUV09SS19TRVNTSU9OKQpJbmRleDogU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL21hYy9Eb3dubG9hZE1hYy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFjL0Rvd25s
b2FkTWFjLm1tCShyZXZpc2lvbiAxOTYzMjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9Eb3dubG9hZHMvbWFjL0Rvd25sb2FkTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMzEs
MzEgKzEzMSw2IEBAIHZvaWQgRG93bmxvYWQ6OnBsYXRmb3JtRGlkRmluaXNoKCkKIHsKIH0KIAot
dm9pZCBEb3dubG9hZDo6cmVjZWl2ZWRDcmVkZW50aWFsKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlJiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSwgY29uc3QgQ3JlZGVudGlhbCYgY3JlZGVu
dGlhbCkKLXsKLSAgICBbYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uuc2VuZGVyKCkgdXNlQ3JlZGVu
dGlhbDpjcmVkZW50aWFsLm5zQ3JlZGVudGlhbCgpIGZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07
Ci19Ci0KLXZvaWQgRG93bmxvYWQ6OnJlY2VpdmVkUmVxdWVzdFRvQ29udGludWVXaXRob3V0Q3Jl
ZGVudGlhbChjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgYXV0aGVudGljYXRpb25DaGFs
bGVuZ2UpCi17Ci0gICAgW2F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLnNlbmRlcigpIGNvbnRpbnVl
V2l0aG91dENyZWRlbnRpYWxGb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTphdXRoZW50aWNhdGlv
bkNoYWxsZW5nZS5uc1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCldOwotfQotCi12b2lkIERv
d25sb2FkOjpyZWNlaXZlZENhbmNlbGxhdGlvbihjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSYgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpCi17Ci0gICAgW2F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlLnNlbmRlcigpIGNhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOmF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07Ci19Ci0KLXZvaWQgRG93
bmxvYWQ6OnJlY2VpdmVkUmVxdWVzdFRvUGVyZm9ybURlZmF1bHRIYW5kbGluZyhjb25zdCBBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSYgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpCi17Ci0gICAgW2F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLnNlbmRlcigpIHBlcmZvcm1EZWZhdWx0SGFuZGxpbmdGb3JB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZTphdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5uc1VSTEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlKCldOwotfQotCi12b2lkIERvd25sb2FkOjpyZWNlaXZlZENoYWxs
ZW5nZVJlamVjdGlvbihjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgYXV0aGVudGljYXRp
b25DaGFsbGVuZ2UpCi17Ci0gICAgW2F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLnNlbmRlcigpIHJl
amVjdFByb3RlY3Rpb25TcGFjZUFuZENvbnRpbnVlV2l0aENoYWxsZW5nZTphdXRoZW50aWNhdGlv
bkNoYWxsZW5nZS5uc1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCldOwotfQotCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAogQGltcGxlbWVudGF0aW9uIFdLRG93bmxvYWRBc0RlbGVnYXRlCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvc291cC9Eb3dubG9h
ZFNvdXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rv
d25sb2Fkcy9zb3VwL0Rvd25sb2FkU291cC5jcHAJKHJldmlzaW9uIDE5NjMyMykKKysrIFNvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9zb3VwL0Rvd25sb2FkU291cC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI2OSw0NCArMjY5LDQgQEAgdm9pZCBEb3dubG9hZDo6cGxhdGZv
cm1EaWRGaW5pc2goKQogICAgIG1fcmVzb3VyY2VIYW5kbGUgPSBudWxscHRyOwogfQogCi12b2lk
IERvd25sb2FkOjpyZWNlaXZlZENyZWRlbnRpYWwoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UmLCBjb25zdCBDcmVkZW50aWFsJikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi12
b2lkIERvd25sb2FkOjpyZWNlaXZlZFJlcXVlc3RUb0NvbnRpbnVlV2l0aG91dENyZWRlbnRpYWwo
Y29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci19Ci0KLXZvaWQgRG93bmxvYWQ6OnJlY2VpdmVkQ2FuY2VsbGF0aW9uKGNvbnN0IEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlJikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi12b2lkIERv
d25sb2FkOjpjb250aW51ZVdpdGhvdXRDcmVkZW50aWFsKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlICYpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQotdm9pZCBEb3dubG9hZDo6
dXNlQ3JlZGVudGlhbChjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IENyZWRl
bnRpYWwmKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLXZvaWQgRG93bmxvYWQ6OmNh
bmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
JikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi12b2lkIERvd25sb2FkOjpyZWNlaXZl
ZFJlcXVlc3RUb1BlcmZvcm1EZWZhdWx0SGFuZGxpbmcoY29uc3QgQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UmKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLXZvaWQgRG93bmxvYWQ6OnJl
Y2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9uKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikK
LXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1h
bmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAxOTYzMjMpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIHZvaWQgQXV0aGVudGljYXRpb25N
YW5hZ2VyOjpkaWRSZWNlaXZlQXUKICAgICBhdXRvIHBhZ2VJRCA9IGZyYW1lLT5wYWdlKCktPnBh
Z2VJRCgpOwogICAgIHVpbnQ2NF90IGNoYWxsZW5nZUlEID0gYWRkQ2hhbGxlbmdlVG9DaGFsbGVu
Z2VNYXAoe3BhZ2VJRCwgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UKICNpZiBVU0UoTkVUV09SS19T
RVNTSU9OKQotICAgICAgICAsIENoYWxsZW5nZUNvbXBsZXRpb25IYW5kbGVyKCkKKyAgICAgICAg
LCB7IH0KICNlbmRpZgogICAgIH0pOwogCkBAIC0xNjEsNyArMTYxLDcgQEAgdm9pZCBBdXRoZW50
aWNhdGlvbk1hbmFnZXI6OmRpZFJlY2VpdmVBdQogCiAgICAgdWludDY0X3QgY2hhbGxlbmdlSUQg
PSBhZGRDaGFsbGVuZ2VUb0NoYWxsZW5nZU1hcCh7cGFnZUlELCBhdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZQogI2lmIFVTRShORVRXT1JLX1NFU1NJT04pCi0gICAgICAgICwgQ2hhbGxlbmdlQ29tcGxl
dGlvbkhhbmRsZXIoKQorICAgICAgICAsIHsgfQogI2VuZGlmCiAgICAgfSk7CiAKQEAgLTIxOSwx
NyArMjE5LDEyIEBAIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp1c2VDcmVkZW50aWEKICAg
ICAgICAgY2hhbGxlbmdlLmNvbXBsZXRpb25IYW5kbGVyKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
RGlzcG9zaXRpb246OlVzZUNyZWRlbnRpYWwsIGNyZWRlbnRpYWwpOwogICAgICAgICByZXR1cm47
CiAgICAgfQotI2Vsc2UKLSAgICBpZiAoIWNvcmVDbGllbnQpIHsKLSAgICAgICAgLy8gRklYTUU6
IFRoZSBhdXRoZW50aWNhdGlvbiBjbGllbnQgaXMgbnVsbCBmb3IgZG93bmxvYWRzLCBidXQgaXQg
Y2FuIGFsc28gYmUgbnVsbCBmb3IgY2FuY2VsZWQgbG9hZHMuCi0gICAgICAgIC8vIFdlIHNob3Vs
ZCBub3QgY2FsbCBEb3dubG9hZDo6cmVjZWl2ZWRDcmVkZW50aWFsIGluIHRoZSBsYXR0ZXIgY2Fz
ZS4KLSAgICAgICAgRG93bmxvYWQ6OnJlY2VpdmVkQ3JlZGVudGlhbChjaGFsbGVuZ2UuY2hhbGxl
bmdlLCBjcmVkZW50aWFsKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KICNlbmRpZgogCi0gICAg
QVNTRVJUKGNvcmVDbGllbnQpOwotICAgIGNvcmVDbGllbnQtPnJlY2VpdmVkQ3JlZGVudGlhbChj
aGFsbGVuZ2UuY2hhbGxlbmdlLCBjcmVkZW50aWFsKTsKKyAgICBpZiAoY29yZUNsaWVudCkKKyAg
ICAgICAgY29yZUNsaWVudC0+cmVjZWl2ZWRDcmVkZW50aWFsKGNoYWxsZW5nZS5jaGFsbGVuZ2Us
IGNyZWRlbnRpYWwpOworICAgIGVsc2UKKyAgICAgICAgcmVjZWl2ZWRDcmVkZW50aWFsKGNoYWxs
ZW5nZS5jaGFsbGVuZ2UsIGNyZWRlbnRpYWwpOwogfQogCiB2b2lkIEF1dGhlbnRpY2F0aW9uTWFu
YWdlcjo6Y29udGludWVXaXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFs
bGVuZ2VJRCkKQEAgLTI1MiwxNyArMjQ3LDEyIEBAIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2Vy
Ojpjb250aW51ZVdpdGgKICAgICAgICAgY2hhbGxlbmdlLmNvbXBsZXRpb25IYW5kbGVyKEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlRGlzcG9zaXRpb246OlVzZUNyZWRlbnRpYWwsIENyZWRlbnRpYWwo
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0jZWxzZQotICAgIGlmICghY29yZUNsaWVudCkg
ewotICAgICAgICAvLyBGSVhNRTogVGhlIGF1dGhlbnRpY2F0aW9uIGNsaWVudCBpcyBudWxsIGZv
ciBkb3dubG9hZHMsIGJ1dCBpdCBjYW4gYWxzbyBiZSBudWxsIGZvciBjYW5jZWxlZCBsb2Fkcy4K
LSAgICAgICAgLy8gV2Ugc2hvdWxkIG5vdCBjYWxsIERvd25sb2FkOjpyZWNlaXZlZENyZWRlbnRp
YWwgaW4gdGhlIGxhdHRlciBjYXNlLgotICAgICAgICBEb3dubG9hZDo6cmVjZWl2ZWRSZXF1ZXN0
VG9Db250aW51ZVdpdGhvdXRDcmVkZW50aWFsKGNoYWxsZW5nZS5jaGFsbGVuZ2UpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQogI2VuZGlmCiAKLSAgICBBU1NFUlQoY29yZUNsaWVudCk7Ci0gICAg
Y29yZUNsaWVudC0+cmVjZWl2ZWRSZXF1ZXN0VG9Db250aW51ZVdpdGhvdXRDcmVkZW50aWFsKGNo
YWxsZW5nZS5jaGFsbGVuZ2UpOworICAgIGlmIChjb3JlQ2xpZW50KQorICAgICAgICBjb3JlQ2xp
ZW50LT5yZWNlaXZlZFJlcXVlc3RUb0NvbnRpbnVlV2l0aG91dENyZWRlbnRpYWwoY2hhbGxlbmdl
LmNoYWxsZW5nZSk7CisgICAgZWxzZQorICAgICAgICByZWNlaXZlZFJlcXVlc3RUb0NvbnRpbnVl
V2l0aG91dENyZWRlbnRpYWwoY2hhbGxlbmdlLmNoYWxsZW5nZSk7CiB9CiAKIHZvaWQgQXV0aGVu
dGljYXRpb25NYW5hZ2VyOjpjYW5jZWxDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpCkBA
IC0yODUsMTcgKzI3NSwxMiBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6Y2FuY2VsU2lu
Z2xlCiAgICAgICAgIGNoYWxsZW5nZS5jb21wbGV0aW9uSGFuZGxlcihBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZURpc3Bvc2l0aW9uOjpDYW5jZWwsIENyZWRlbnRpYWwoKSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9Ci0jZWxzZQotICAgIGlmICghY29yZUNsaWVudCkgewotICAgICAgICAvLyBGSVhN
RTogVGhlIGF1dGhlbnRpY2F0aW9uIGNsaWVudCBpcyBudWxsIGZvciBkb3dubG9hZHMsIGJ1dCBp
dCBjYW4gYWxzbyBiZSBudWxsIGZvciBjYW5jZWxlZCBsb2Fkcy4KLSAgICAgICAgLy8gV2Ugc2hv
dWxkIG5vdCBjYWxsIERvd25sb2FkOjpyZWNlaXZlZENyZWRlbnRpYWwgaW4gdGhlIGxhdHRlciBj
YXNlLgotICAgICAgICBEb3dubG9hZDo6cmVjZWl2ZWRDYW5jZWxsYXRpb24oY2hhbGxlbmdlLmNo
YWxsZW5nZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CiAjZW5kaWYKIAotICAgIEFTU0VSVChj
b3JlQ2xpZW50KTsKLSAgICBjb3JlQ2xpZW50LT5yZWNlaXZlZENhbmNlbGxhdGlvbihjaGFsbGVu
Z2UuY2hhbGxlbmdlKTsKKyAgICBpZiAoY29yZUNsaWVudCkKKyAgICAgICAgY29yZUNsaWVudC0+
cmVjZWl2ZWRDYW5jZWxsYXRpb24oY2hhbGxlbmdlLmNoYWxsZW5nZSk7CisgICAgZWxzZQorICAg
ICAgICByZWNlaXZlZENhbmNlbGxhdGlvbihjaGFsbGVuZ2UuY2hhbGxlbmdlKTsKIH0KIAogdm9p
ZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnBlcmZvcm1EZWZhdWx0SGFuZGxpbmcodWludDY0X3Qg
Y2hhbGxlbmdlSUQpCkBAIC0zMTgsMTcgKzMwMywxMiBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uTWFu
YWdlcjo6cGVyZm9ybURlZmF1CiAgICAgICAgIGNoYWxsZW5nZS5jb21wbGV0aW9uSGFuZGxlcihB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uOjpQZXJmb3JtRGVmYXVsdEhhbmRsaW5n
LCBDcmVkZW50aWFsKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotI2Vsc2UKLSAgICBpZiAo
IWNvcmVDbGllbnQpIHsKLSAgICAgICAgLy8gRklYTUU6IFRoZSBhdXRoZW50aWNhdGlvbiBjbGll
bnQgaXMgbnVsbCBmb3IgZG93bmxvYWRzLCBidXQgaXQgY2FuIGFsc28gYmUgbnVsbCBmb3IgY2Fu
Y2VsZWQgbG9hZHMuCi0gICAgICAgIC8vIFdlIHNob3VsZCBub3QgY2FsbCBEb3dubG9hZDo6cmVj
ZWl2ZWRDcmVkZW50aWFsIGluIHRoZSBsYXR0ZXIgY2FzZS4KLSAgICAgICAgRG93bmxvYWQ6OnJl
Y2VpdmVkUmVxdWVzdFRvUGVyZm9ybURlZmF1bHRIYW5kbGluZyhjaGFsbGVuZ2UuY2hhbGxlbmdl
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KICNlbmRpZgogCi0gICAgQVNTRVJUKGNvcmVDbGll
bnQpOwotICAgIGNvcmVDbGllbnQtPnJlY2VpdmVkUmVxdWVzdFRvUGVyZm9ybURlZmF1bHRIYW5k
bGluZyhjaGFsbGVuZ2UuY2hhbGxlbmdlKTsKKyAgICBpZiAoY29yZUNsaWVudCkKKyAgICAgICAg
Y29yZUNsaWVudC0+cmVjZWl2ZWRSZXF1ZXN0VG9QZXJmb3JtRGVmYXVsdEhhbmRsaW5nKGNoYWxs
ZW5nZS5jaGFsbGVuZ2UpOworICAgIGVsc2UKKyAgICAgICAgcmVjZWl2ZWRSZXF1ZXN0VG9QZXJm
b3JtRGVmYXVsdEhhbmRsaW5nKGNoYWxsZW5nZS5jaGFsbGVuZ2UpOwogfQogCiB2b2lkIEF1dGhl
bnRpY2F0aW9uTWFuYWdlcjo6cmVqZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29udGludWUodWludDY0
X3QgY2hhbGxlbmdlSUQpCkBAIC0zNTEsMTcgKzMzMSwxMiBAQCB2b2lkIEF1dGhlbnRpY2F0aW9u
TWFuYWdlcjo6cmVqZWN0UHJvdGVjCiAgICAgICAgIGNoYWxsZW5nZS5jb21wbGV0aW9uSGFuZGxl
cihBdXRoZW50aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uOjpSZWplY3RQcm90ZWN0aW9uU3Bh
Y2UsIENyZWRlbnRpYWwoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0jZWxzZQotICAgIGlm
ICghY29yZUNsaWVudCkgewotICAgICAgICAvLyBGSVhNRTogVGhlIGF1dGhlbnRpY2F0aW9uIGNs
aWVudCBpcyBudWxsIGZvciBkb3dubG9hZHMsIGJ1dCBpdCBjYW4gYWxzbyBiZSBudWxsIGZvciBj
YW5jZWxlZCBsb2Fkcy4KLSAgICAgICAgLy8gV2Ugc2hvdWxkIG5vdCBjYWxsIERvd25sb2FkOjpy
ZWNlaXZlZENyZWRlbnRpYWwgaW4gdGhlIGxhdHRlciBjYXNlLgotICAgICAgICBEb3dubG9hZDo6
cmVjZWl2ZWRDaGFsbGVuZ2VSZWplY3Rpb24oY2hhbGxlbmdlLmNoYWxsZW5nZSk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9CiAjZW5kaWYKIAotICAgIEFTU0VSVChjb3JlQ2xpZW50KTsKLSAgICBj
b3JlQ2xpZW50LT5yZWNlaXZlZENoYWxsZW5nZVJlamVjdGlvbihjaGFsbGVuZ2UuY2hhbGxlbmdl
KTsKKyAgICBpZiAoY29yZUNsaWVudCkKKyAgICAgICAgY29yZUNsaWVudC0+cmVjZWl2ZWRDaGFs
bGVuZ2VSZWplY3Rpb24oY2hhbGxlbmdlLmNoYWxsZW5nZSk7CisgICAgZWxzZQorICAgICAgICBy
ZWNlaXZlZENoYWxsZW5nZVJlamVjdGlvbihjaGFsbGVuZ2UuY2hhbGxlbmdlKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCShyZXZpc2lv
biAxOTYzMjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVu
dGljYXRpb25NYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTc2LDYgKzc2LDEyIEBAIHB1Ymxp
YzoKIAogICAgIHVpbnQ2NF90IG91dHN0YW5kaW5nQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDb3Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fY2hhbGxlbmdlcy5zaXplKCk7IH0KIAorICAgIHN0YXRpYyB2
b2lkIHJlY2VpdmVkQ3JlZGVudGlhbChjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSYsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmKTsKKyAgICBzdGF0aWMgdm9pZCByZWNl
aXZlZFJlcXVlc3RUb0NvbnRpbnVlV2l0aG91dENyZWRlbnRpYWwoY29uc3QgV2ViQ29yZTo6QXV0
aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKKyAgICBzdGF0aWMgdm9pZCByZWNlaXZlZENhbmNlbGxh
dGlvbihjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOworICAgIHN0YXRp
YyB2b2lkIHJlY2VpdmVkUmVxdWVzdFRvUGVyZm9ybURlZmF1bHRIYW5kbGluZyhjb25zdCBXZWJD
b3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOworICAgIHN0YXRpYyB2b2lkIHJlY2VpdmVk
Q2hhbGxlbmdlUmVqZWN0aW9uKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Jik7CisKIHByaXZhdGU6CiAgICAgc3RydWN0IENoYWxsZW5nZSB7CiAgICAgICAgIHVpbnQ2NF90
IHBhZ2VJRDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9jb2Nv
YS9BdXRoZW50aWNhdGlvbk1hbmFnZXJDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vY29jb2EvQXV0aGVudGljYXRpb25NYW5hZ2VyQ29j
b2EubW0JKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRp
b24vY29jb2EvQXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAi
QXV0aGVudGljYXRpb25NYW5hZ2VyLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitu
YW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVk
Q3JlZGVudGlhbChjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgYXV0aGVudGljYXRpb25D
aGFsbGVuZ2UsIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRlbnRpYWwpCit7CisgICAgW2F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlLnNlbmRlcigpIHVzZUNyZWRlbnRpYWw6Y3JlZGVudGlhbC5uc0NyZWRl
bnRpYWwoKSBmb3JBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTphdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZS5uc1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCldOworfQorCit2b2lkIEF1dGhlbnRpY2F0
aW9uTWFuYWdlcjo6cmVjZWl2ZWRSZXF1ZXN0VG9Db250aW51ZVdpdGhvdXRDcmVkZW50aWFsKGNv
bnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkKK3sK
KyAgICBbYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uuc2VuZGVyKCkgY29udGludWVXaXRob3V0Q3Jl
ZGVudGlhbEZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Lm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07Cit9CisKK3ZvaWQgQXV0aGVudGljYXRp
b25NYW5hZ2VyOjpyZWNlaXZlZENhbmNlbGxhdGlvbihjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSYgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpCit7CisgICAgW2F1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlLnNlbmRlcigpIGNhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOmF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKV07Cit9CisKK3ZvaWQg
QXV0aGVudGljYXRpb25NYW5hZ2VyOjpyZWNlaXZlZFJlcXVlc3RUb1BlcmZvcm1EZWZhdWx0SGFu
ZGxpbmcoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKQoreworICAgIFthdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5zZW5kZXIoKSBwZXJmb3JtRGVm
YXVsdEhhbmRsaW5nRm9yQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6YXV0aGVudGljYXRpb25DaGFs
bGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpXTsKK30KKwordm9pZCBBdXRoZW50
aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9uKGNvbnN0IEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlJiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkKK3sKKyAgICBbYXV0aGVu
dGljYXRpb25DaGFsbGVuZ2Uuc2VuZGVyKCkgcmVqZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29udGlu
dWVXaXRoQ2hhbGxlbmdlOmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UoKV07Cit9CisKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRo
ZW50aWNhdGlvbi9zb3VwL0F1dGhlbnRpY2F0aW9uTWFuYWdlclNvdXAuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9zb3VwL0F1dGhlbnRpY2F0
aW9uTWFuYWdlclNvdXAuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVk
L0F1dGhlbnRpY2F0aW9uL3NvdXAvQXV0aGVudGljYXRpb25NYW5hZ2VyU291cC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCIKKwordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIEF1dGhlbnRpY2F0aW9uTWFu
YWdlcjo6cmVjZWl2ZWRDcmVkZW50aWFsKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwg
Y29uc3QgQ3JlZGVudGlhbCYpCit7Cit9CisKK3ZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpy
ZWNlaXZlZFJlcXVlc3RUb0NvbnRpbnVlV2l0aG91dENyZWRlbnRpYWwoY29uc3QgQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UmKQoreworfQorCit2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVj
ZWl2ZWRDYW5jZWxsYXRpb24oY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKQoreworfQor
Cit2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6cmVjZWl2ZWRSZXF1ZXN0VG9QZXJmb3JtRGVm
YXVsdEhhbmRsaW5nKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikKK3sKK30KKwordm9p
ZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnJlY2VpdmVkQ2hhbGxlbmdlUmVqZWN0aW9uKGNvbnN0
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikKK3sKK30KKworfQpJbmRleDogU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTk2
MzIzKQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDQzLDYgKzEwNDMsNyBAQAogCQk1MkQ1QTFCMDFDNTc0OTVB
MDBERTM0QTMgLyogV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MkQ1QTFBQTFDNTc0OTRFMDBERTM0
QTMgLyogV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmggKi87IH07CiAJCTUyRDVBMUIx
MUM1NzQ5NjIwMERFMzRBMyAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MkQ1QTFBQzFDNTc0
OTRFMDBERTM0QTMgLyogV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tICovOyB9Owog
CQk1MkQ1QTFCNzFDNTc0QTAyMDBERTM0QTMgLyogV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyRDVBMUI0
MUM1NzQ5RjIwMERFMzRBMyAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tICovOyB9Owor
CQk1QzA1MkYyNjFDNkQzQkQzMDA3NkU5MTkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2Eu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzA1MkYy
NDFDNkQzQUI2MDA3NkU5MTkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2EubW0gKi87IH07
CiAJCTVDMTQyNkVDMUMyM0Y4MDkwMEQ0MTE4MyAvKiBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1QzE0MjZFMjFDMjNGODA1MDBENDExODMgLyogTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwICovOyB9OwogCQk1QzE0MjZFRDFDMjNGODA5MDBENDExODMgLyogTmV0d29ya1By
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVDMTQyNkUzMUMyM0Y4MDUwMEQ0MTE4MyAvKiBOZXR3b3JrUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oICovOyB9OwogCQk1QzE0MjZFRTFDMjNGODA5MDBENDExODMg
LyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1QzE0MjZFNDFDMjNGODA1MDBENDExODMgLyogTmV0d29ya1By
b2Nlc3NTdXBwbGVtZW50LmggKi87IH07CkBAIC0zMTQ5LDYgKzMxNTAsNyBAQAogCQk1MkQ1QTFC
MjFDNTc0OUYyMDBERTM0QTMgLyogV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyRDVBMUIzMUM1NzQ5RjIwMERFMzRBMyAvKiBX
ZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUyRDVBMUI0MUM1NzQ5RjIwMERFMzRBMyAvKiBXZWJWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNUMwNTJGMjQxQzZEM0FCNjAwNzZFOTE5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlckNvY29h
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gQXV0aGVudGljYXRp
b25NYW5hZ2VyQ29jb2EubW07IHBhdGggPSBBdXRoZW50aWNhdGlvbi9jb2NvYS9BdXRoZW50aWNh
dGlvbk1hbmFnZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUMxNDI2
RTIxQzIzRjgwNTAwRDQxMTgzIC8qIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUMx
NDI2RTMxQzIzRjgwNTAwRDQxMTgzIC8qIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1QzE0MjZFNDFD
MjNGODA1MDBENDExODMgLyogTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5oOyBwYXRoID0g
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC01NTUwLDYgKzU1NTIsNyBAQAogCQk1MThFOEVGMTE2QjIwOEYwMDBF
OTE0MjkgLyogQXV0aGVudGljYXRpb24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAorCQkJCTVDMDUyRjIzMUM2RDNBQTEwMDc2RTkxOSAvKiBjb2NvYSAqLywKIAkJ
CQk1MThFOEVGNjE2QjIwOTFDMDBFOTE0MjkgLyogbWFjICovLAogCQkJCTUxOEU4RUYzMTZCMjA5
MUMwMEU5MTQyOSAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwICovLAogCQkJCTUxOEU4RUY0
MTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCAqLywKQEAgLTU2Njgs
NiArNTY3MSwxNCBAQAogCQkJbmFtZSA9IEljb25EYXRhYmFzZTsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CiAJCX07CisJCTVDMDUyRjIzMUM2RDNBQTEwMDc2RTkxOSAvKiBjb2NvYSAqLyA9
IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNUMwNTJGMjQxQzZE
M0FCNjAwNzZFOTE5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlckNvY29hLm1tICovLAorCQkJKTsK
KwkJCW5hbWUgPSBjb2NvYTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTVD
MTQyNkYxMUMyM0Y4MTcwMEQ0MTE4MyAvKiBEb3dubG9hZHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtOTI1OSw2ICs5MjcwLDcgQEAKIAkJCQlCQzhBQ0Ex
NDE2NjcwRDg5MDA0QzE5NDEgLyogT2JqQ09iamVjdEdyYXBoLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkNDRjY3MzMxMkM3RjE1QzAwOEY5QzM1IC8qIE9yaWdpbkFuZERhdGFiYXNlcy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk3QzM4NzQzNDE3MkY1NjE1MDAxQkQ4OEEgLyogUGFnZUJhbm5lci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk1QzA1MkYyNjFDNkQzQkQzMDA3NkU5MTkgLyogQXV0aGVu
dGljYXRpb25NYW5hZ2VyQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzZEMzdGQzE3MkY1
NTVGMDA5RDI4NDcgLyogUGFnZUJhbm5lck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTBGQ0I0
RTYzMThCQkUzRDkwMDBGQ0ZDOSAvKiBQYWdlQ2xpZW50SW1wbC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTBGQ0I0RTQ3MThCQkUwNDQwMDBGQ0ZDOSAvKiBQYWdlQ2xpZW50SW1wbElPUy5tbSBpbiBT
b3VyY2VzICovLAo=
</data>
<flag name="review"
          id="295934"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>