<?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>107872</bug_id>
          
          <creation_ts>2013-01-24 15:55:09 -0800</creation_ts>
          <short_desc>[WK2] Send sandbox extensions for local files to NetworkProcess</short_desc>
          <delta_ts>2013-01-25 10:08:37 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>815928</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-24 15:55:09 -0800</bug_when>
    <thetext>NetworkProcess will need sandbox extensions for local files once sandboxed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815932</commentid>
    <comment_count>1</comment_count>
      <attachid>184602</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-24 15:57:49 -0800</bug_when>
    <thetext>Created attachment 184602
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816704</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-25 10:08:37 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/140843&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184602</attachid>
            <date>2013-01-24 15:57:49 -0800</date>
            <delta_ts>2013-01-24 16:07:38 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>SendExtensions.txt</filename>
            <type>text/plain</type>
            <size>18419</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MDc0MikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ5IEBACisyMDEzLTAxLTI0ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFNlbmQgc2FuZGJveCBleHRl
bnNpb25zIGZvciBsb2NhbCBmaWxlcyB0byBOZXR3b3JrUHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3ODcyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VuZCBzYW5kYm94IGV4dGVuc2lvbnMg
aW4gTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMsIGFuZCBjb25zdW1lL2ludmFsaWRhdGUK
KyAgICAgICAgdGhlbSBkdXJpbmcgbG9hZGluZy4gQ2hhbmdlZCBOZXR3b3JrUHJvY2VzcyBjb2Rl
IHRvIG9ubHkgdXNlIHRoYXQgY2xhc3MgZm9yIElQQywKKyAgICAgICAgbm90IGZvciBhY3R1YWwg
aW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Ib3N0UmVjb3JkLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6SG9zdFJlY29yZDo6c2NoZWR1bGVSZXNvdXJjZUxvYWRlcik6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVk
dWxlTG9hZGVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxl
cjo6cmVtb3ZlTG9hZGVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFNj
aGVkdWxlcjo6cmVjZWl2ZWRSZWRpcmVjdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNl
TG9hZGVyOjpkZXN0aW5hdGlvbklEKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNl
TG9hZGVyOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6
cmVzb3VyY2VIYW5kbGVTdG9wcGVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNl
TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVz
b3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OmRpZEZhaWwpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI6OnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKToKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9TY2hlZHVsYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNjaGVkdWxh
YmxlTG9hZGVyOjpTY2hlZHVsYWJsZUxvYWRlcik6CisgICAgICAgIChXZWJLaXQ6OlNjaGVkdWxh
YmxlTG9hZGVyOjpjb25zdW1lU2FuZGJveEV4dGVuc2lvbnMpOgorICAgICAgICAoV2ViS2l0OjpT
Y2hlZHVsYWJsZUxvYWRlcjo6aW52YWxpZGF0ZVNhbmRib3hFeHRlbnNpb25zKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9TY2hlZHVsYWJsZUxvYWRlci5oOgorICAgICAgICAoV2ViS2l0OjpT
Y2hlZHVsYWJsZUxvYWRlcjo6aWRlbnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6OlNjaGVkdWxh
YmxlTG9hZGVyOjpyZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6U2NoZWR1bGFibGVMb2FkZXI6
OnByaW9yaXR5KToKKyAgICAgICAgKFdlYktpdDo6U2NoZWR1bGFibGVMb2FkZXI6OmNvbnRlbnRT
bmlmZmluZ1BvbGljeSk6CisgICAgICAgIChXZWJLaXQ6OlNjaGVkdWxhYmxlTG9hZGVyOjphbGxv
d1N0b3JlZENyZWRlbnRpYWxzKToKKyAgICAgICAgKFdlYktpdDo6U2NoZWR1bGFibGVMb2FkZXI6
OmluUHJpdmF0ZUJyb3dzaW5nTW9kZSk6CisgICAgICAgIChTY2hlZHVsYWJsZUxvYWRlcik6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvU3luY05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlN5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0KToKKyAgICAg
ICAgKiBTaGFyZWQvTmV0d29yay9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzOjplbmNvZGUpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVyczo6ZGVjb2RlKToK
KyAgICAgICAgKiBTaGFyZWQvTmV0d29yay9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5o
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVyczo6c2FuZGJv
eEV4dGVuc2lvbnMpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1l
dGVyczo6cmVzb3VyY2VTYW5kYm94RXh0ZW5zaW9uKToKKwogMjAxMy0wMS0yNCAgU2FtIFdlaW5p
ZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIENsZWFudXAgc2FuZGJveCBpbml0aWFsaXph
dGlvbiBhIGJpdApJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvSG9zdFJlY29y
ZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvSG9zdFJl
Y29yZC5jcHAJKHJldmlzaW9uIDE0MDcwNikKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL0hvc3RSZWNvcmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NSw3ICs2NSw3IEBAIHZvaWQg
SG9zdFJlY29yZDo6c2NoZWR1bGVSZXNvdXJjZUxvYWRlcigKICAgICBpZiAobG9hZGVyLT5pc1N5
bmNocm9ub3VzKCkpCiAgICAgICAgIG1fc3luY0xvYWRlcnNQZW5kaW5nLmFwcGVuZChsb2FkZXIp
OwogICAgIGVsc2UKLSAgICAgICAgbV9sb2FkZXJzUGVuZGluZ1tsb2FkZXItPmxvYWRQYXJhbWV0
ZXJzKCkucHJpb3JpdHkoKV0uYXBwZW5kKGxvYWRlcik7CisgICAgICAgIG1fbG9hZGVyc1BlbmRp
bmdbbG9hZGVyLT5wcmlvcml0eSgpXS5hcHBlbmQobG9hZGVyKTsKIH0KIAogdm9pZCBIb3N0UmVj
b3JkOjphZGRMb2FkZXJJblByb2dyZXNzKFNjaGVkdWxhYmxlTG9hZGVyKiBsb2FkZXIpCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAkocmV2aXNpb24gMTQwNzA2KQorKysgU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQxLDggKzQxLDggQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyOjpyZXF1ZQogCiB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNj
aGVkdWxlTG9hZGVyKFBhc3NSZWZQdHI8U2NoZWR1bGFibGVMb2FkZXI+IGxvYWRlcikKIHsKLSAg
ICBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSA9IGxvYWRlci0+bG9hZFBhcmFtZXRlcnMo
KS5wcmlvcml0eSgpOwotICAgIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0
ID0gbG9hZGVyLT5sb2FkUGFyYW1ldGVycygpLnJlcXVlc3QoKTsKKyAgICBSZXNvdXJjZUxvYWRQ
cmlvcml0eSBwcmlvcml0eSA9IGxvYWRlci0+cHJpb3JpdHkoKTsKKyAgICBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCA9IGxvYWRlci0+cmVxdWVzdCgpOwogICAgICAgICAK
ICAgICBMT0coTmV0d29ya1NjaGVkdWxpbmcsICIoTmV0d29ya1Byb2Nlc3MpIE5ldHdvcmtSZXNv
dXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlTG9hZGVyIHJlc291cmNlICclcyciLCByZXNvdXJj
ZVJlcXVlc3QudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAKQEAgLTgyLDcgKzgyLDcg
QEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZW1vdgogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAgICAgQVNTRVJUKGxvYWRlcik7CiAKLSAgICBMT0coTmV0d29ya1Nj
aGVkdWxpbmcsICIoTmV0d29ya1Byb2Nlc3MpIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXI6
OnJlbW92ZUxvYWRJZGVudGlmaWVyIHJlbW92aW5nIGxvYWRlciAlcyIsIGxvYWRlci0+bG9hZFBh
cmFtZXRlcnMoKS5yZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CisgICAg
TE9HKE5ldHdvcmtTY2hlZHVsaW5nLCAiKE5ldHdvcmtQcm9jZXNzKSBOZXR3b3JrUmVzb3VyY2VM
b2FkU2NoZWR1bGVyOjpyZW1vdmVMb2FkSWRlbnRpZmllciByZW1vdmluZyBsb2FkZXIgJXMiLCBs
b2FkZXItPnJlcXVlc3QoKS51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKIAogICAgIEhv
c3RSZWNvcmQqIGhvc3QgPSBsb2FkZXItPmhvc3RSZWNvcmQoKTsKICAgICAKQEAgLTk4LDcgKzk4
LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZW1vdgogdm9pZCBOZXR3
b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZWNlaXZlZFJlZGlyZWN0KFNjaGVkdWxhYmxlTG9h
ZGVyKiBsb2FkZXIsIGNvbnN0IFdlYkNvcmU6OktVUkwmIHJlZGlyZWN0VVJMKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgTE9HKE5ldHdvcmtTY2hlZHVsaW5nLCAiKE5ldHdv
cmtQcm9jZXNzKSBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZWNlaXZlZFJlZGlyZWN0
IGxvYWRlciBvcmlnaW5hbGx5IGZvciAnJXMnIHJlZGlyZWN0ZWQgdG8gJyVzJyIsIGxvYWRlci0+
bG9hZFBhcmFtZXRlcnMoKS5yZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwg
cmVkaXJlY3RVUkwuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CisgICAgTE9HKE5ldHdvcmtTY2hl
ZHVsaW5nLCAiKE5ldHdvcmtQcm9jZXNzKSBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpy
ZWNlaXZlZFJlZGlyZWN0IGxvYWRlciBvcmlnaW5hbGx5IGZvciAnJXMnIHJlZGlyZWN0ZWQgdG8g
JyVzJyIsIGxvYWRlci0+cmVxdWVzdCgpLnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCksIHJl
ZGlyZWN0VVJMLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgSG9zdFJlY29yZCogb2xk
SG9zdCA9IGxvYWRlci0+aG9zdFJlY29yZCgpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAJKHJldmlz
aW9uIDE0MDcwNikKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDcgKzY2LDcgQEAgQ29yZUlQQzo6
Q29ubmVjdGlvbiogTmV0d29ya1Jlc291cmNlTG9hZAogCiB1aW50NjRfdCBOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI6OmRlc3RpbmF0aW9uSUQoKSBjb25zdAogewotICAgIHJldHVybiBsb2FkUGFyYW1l
dGVycygpLmlkZW50aWZpZXIoKTsKKyAgICByZXR1cm4gaWRlbnRpZmllcigpOwogfQogCiB2b2lk
IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c3RhcnQoKQpAQCAtNzcsMTAgKzc3LDEyIEBAIHZvaWQg
TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydCgpCiAgICAgcmVmKCk7CiAgICAgCiAgICAgLy8g
RklYTUUgKE5ldHdvcmtQcm9jZXNzKTogQ3JlYXRlIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0IHdp
dGggYWN0dWFsIHNldHRpbmdzLgotICAgIG1fbmV0d29ya2luZ0NvbnRleHQgPSBSZW1vdGVOZXR3
b3JraW5nQ29udGV4dDo6Y3JlYXRlKGZhbHNlLCBmYWxzZSwgbG9hZFBhcmFtZXRlcnMoKS5pblBy
aXZhdGVCcm93c2luZ01vZGUoKSk7CisgICAgbV9uZXR3b3JraW5nQ29udGV4dCA9IFJlbW90ZU5l
dHdvcmtpbmdDb250ZXh0OjpjcmVhdGUoZmFsc2UsIGZhbHNlLCBpblByaXZhdGVCcm93c2luZ01v
ZGUoKSk7CisKKyAgICBjb25zdW1lU2FuZGJveEV4dGVuc2lvbnMoKTsKIAogICAgIC8vIEZJWE1F
IChOZXR3b3JrUHJvY2Vzcyk6IFBhc3MgYW4gYWN0dWFsIHZhbHVlIGZvciBkZWZlcnNMb2FkaW5n
Ci0gICAgbV9oYW5kbGUgPSBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKG1fbmV0d29ya2luZ0NvbnRl
eHQuZ2V0KCksIGxvYWRQYXJhbWV0ZXJzKCkucmVxdWVzdCgpLCB0aGlzLCBmYWxzZSAvKiBkZWZl
cnNMb2FkaW5nICovLCBsb2FkUGFyYW1ldGVycygpLmNvbnRlbnRTbmlmZmluZ1BvbGljeSgpID09
IFNuaWZmQ29udGVudCk7CisgICAgbV9oYW5kbGUgPSBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKG1f
bmV0d29ya2luZ0NvbnRleHQuZ2V0KCksIHJlcXVlc3QoKSwgdGhpcywgZmFsc2UgLyogZGVmZXJz
TG9hZGluZyAqLywgY29udGVudFNuaWZmaW5nUG9saWN5KCkgPT0gU25pZmZDb250ZW50KTsKIH0K
IAogc3RhdGljIGJvb2wgc3RvcFJlcXVlc3RzQ2FsbGVkID0gZmFsc2U7CkBAIC0xMjgsNyArMTMw
LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJlc291cmNlSGFuZAogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBpZiAoRm9ybURhdGEqIGZvcm1EYXRhID0gbG9h
ZFBhcmFtZXRlcnMoKS5yZXF1ZXN0KCkuaHR0cEJvZHkoKSkKKyAgICBpZiAoRm9ybURhdGEqIGZv
cm1EYXRhID0gcmVxdWVzdCgpLmh0dHBCb2R5KCkpCiAgICAgICAgIGZvcm1EYXRhLT5yZW1vdmVH
ZW5lcmF0ZWRGaWxlc0lmTmVlZGVkKCk7CiAKICAgICBtX2hhbmRsZSA9IDA7CkBAIC0xNDQsNyAr
MTQ2LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJlc291cmNlSGFuZAogdm9pZCBO
ZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSos
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewogICAgIC8vIEZJWE1FIChOZXR3
b3JrUHJvY2Vzcyk6IENhY2hlIHRoZSByZXNwb25zZS4KLSAgICBpZiAoRm9ybURhdGEqIGZvcm1E
YXRhID0gbG9hZFBhcmFtZXRlcnMoKS5yZXF1ZXN0KCkuaHR0cEJvZHkoKSkKKyAgICBpZiAoRm9y
bURhdGEqIGZvcm1EYXRhID0gcmVxdWVzdCgpLmh0dHBCb2R5KCkpCiAgICAgICAgIGZvcm1EYXRh
LT5yZW1vdmVHZW5lcmF0ZWRGaWxlc0lmTmVlZGVkKCk7CiAgICAgc2VuZChNZXNzYWdlczo6V2Vi
UmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUluZm8ocmVz
cG9uc2UsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNlKSkpOwogfQpAQCAtMTYyLDYg
KzE2NCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2EKIHsKICAg
ICAvLyBGSVhNRSAoTmV0d29ya1Byb2Nlc3MpOiBGb3IgdGhlIG1lbW9yeSBjYWNoZSB3ZSdsbCBu
ZWVkIHRvIHVwZGF0ZSB0aGUgZmluaXNoZWQgc3RhdHVzIG9mIHRoZSBjYWNoZWQgcmVzb3VyY2Ug
aGVyZS4KICAgICAvLyBTdWNoIGJvb2trZWVwaW5nIHdpbGwgbmVlZCB0byBiZSB0aHJlYWQgc2Fm
ZSwgYXMgdGhpcyBjYWxsYmFjayBpcyBoYXBwZW5pbmcgb24gYSBiYWNrZ3JvdW5kIHRocmVhZC4K
KyAgICBpbnZhbGlkYXRlU2FuZGJveEV4dGVuc2lvbnMoKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJSZXNvdXJjZUxvYWRlcjo6RGlkRmluaXNoUmVzb3VyY2VMb2FkKGZpbmlzaFRpbWUpKTsKICAg
ICBzY2hlZHVsZVN0b3BPbk1haW5UaHJlYWQoKTsKIH0KQEAgLTE3MCw2ICsxNzMsNyBAQCB2b2lk
IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbChSZXNvCiB7CiAgICAgLy8gRklYTUUgKE5l
dHdvcmtQcm9jZXNzKTogRm9yIHRoZSBtZW1vcnkgY2FjaGUgd2UnbGwgbmVlZCB0byB1cGRhdGUg
dGhlIGZpbmlzaGVkIHN0YXR1cyBvZiB0aGUgY2FjaGVkIHJlc291cmNlIGhlcmUuCiAgICAgLy8g
U3VjaCBib29ra2VlcGluZyB3aWxsIG5lZWQgdG8gYmUgdGhyZWFkIHNhZmUsIGFzIHRoaXMgY2Fs
bGJhY2sgaXMgaGFwcGVuaW5nIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQuCisgICAgaW52YWxpZGF0
ZVNhbmRib3hFeHRlbnNpb25zKCk7CiAgICAgc2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2Fk
ZXI6OkRpZEZhaWxSZXNvdXJjZUxvYWQoZXJyb3IpKTsKICAgICBzY2hlZHVsZVN0b3BPbk1haW5U
aHJlYWQoKTsKIH0KQEAgLTIxOCw3ICsyMjIsNyBAQCBib29sIE5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6c2hvdWxkVXNlQ3JlCiAgICAgLy8gV2hlbiB0aGUgV2ViUHJvY2VzcyBpcyBoYW5kbGluZyBs
b2FkaW5nIGEgY2xpZW50IGlzIGNvbnN1bHRlZCBlYWNoIHRpbWUgdGhpcyBzaG91bGRVc2VDcmVk
ZW50aWFsU3RvcmFnZSBxdWVzdGlvbiBpcyBhc2tlZC4KICAgICAvLyBJbiBOZXR3b3JrUHJvY2Vz
cyBtb2RlIHdlIGFzayB0aGUgV2ViUHJvY2VzcyBjbGllbnQgdXAgZnJvbnQgb25jZSBhbmQgdGhl
biByZXVzZSB0aGUgY2FjaGVkIGFuc3dlci4KIAotICAgIHJldHVybiBsb2FkUGFyYW1ldGVycygp
LmFsbG93U3RvcmVkQ3JlZGVudGlhbHMoKSA9PSBBbGxvd1N0b3JlZENyZWRlbnRpYWxzOworICAg
IHJldHVybiBhbGxvd1N0b3JlZENyZWRlbnRpYWxzKCkgPT0gQWxsb3dTdG9yZWRDcmVkZW50aWFs
czsKIH0KIAogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShSZXNvdXJjZUhhbmRsZSosIGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlJiBjaGFsbGVuZ2UpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9TY2hl
ZHVsYWJsZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvU2NoZWR1bGFibGVMb2FkZXIuY3BwCShyZXZpc2lvbiAxNDA3MDYpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9TY2hlZHVsYWJsZUxvYWRlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMxLDkgKzMxLDE5IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogU2NoZWR1bGFibGVM
b2FkZXI6OlNjaGVkdWxhYmxlTG9hZGVyKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzLCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyogY29ubmVjdGlv
bikKLSAgICA6IG1fbmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMocGFyYW1ldGVycykKKyAg
ICA6IG1faWRlbnRpZmllcihwYXJhbWV0ZXJzLmlkZW50aWZpZXIoKSkKKyAgICAsIG1fcmVxdWVz
dChwYXJhbWV0ZXJzLnJlcXVlc3QoKSkKKyAgICAsIG1fcHJpb3JpdHkocGFyYW1ldGVycy5wcmlv
cml0eSgpKQorICAgICwgbV9jb250ZW50U25pZmZpbmdQb2xpY3kocGFyYW1ldGVycy5jb250ZW50
U25pZmZpbmdQb2xpY3koKSkKKyAgICAsIG1fYWxsb3dTdG9yZWRDcmVkZW50aWFscyhwYXJhbWV0
ZXJzLmFsbG93U3RvcmVkQ3JlZGVudGlhbHMoKSkKKyAgICAsIG1faW5Qcml2YXRlQnJvd3NpbmdN
b2RlKHBhcmFtZXRlcnMuaW5Qcml2YXRlQnJvd3NpbmdNb2RlKCkpCiAgICAgLCBtX2Nvbm5lY3Rp
b24oY29ubmVjdGlvbikKIHsKKyAgICBmb3IgKHNpemVfdCBpID0gMCwgY291bnQgPSBwYXJhbWV0
ZXJzLnNhbmRib3hFeHRlbnNpb25zKCkuc2l6ZSgpOyBpIDwgY291bnQ7ICsraSkgeworICAgICAg
ICBpZiAoUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IGV4dGVuc2lvbiA9IFNhbmRib3hFeHRlbnNp
b246OmNyZWF0ZShwYXJhbWV0ZXJzLnNhbmRib3hFeHRlbnNpb25zKClbaV0pKQorICAgICAgICAg
ICAgbV9zYW5kYm94RXh0ZW5zaW9ucy5hcHBlbmQoZXh0ZW5zaW9uKTsKKyAgICB9CisgICAgbV9y
ZXNvdXJjZVNhbmRib3hFeHRlbnNpb24gPSBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGUocGFyYW1l
dGVycy5yZXNvdXJjZVNhbmRib3hFeHRlbnNpb24oKSk7CiB9CiAKIFNjaGVkdWxhYmxlTG9hZGVy
Ojp+U2NoZWR1bGFibGVMb2FkZXIoKQpAQCAtNDgsNiArNTgsMjQgQEAgdm9pZCBTY2hlZHVsYWJs
ZUxvYWRlcjo6Y29ubmVjdGlvblRvV2ViUAogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6
IENhbmNlbCB0aGUgbG9hZC4gVGhlIHJlcXVlc3QgbWF5IGJlIGxvbmctbGl2aW5nLCBzbyB3ZSBk
b24ndCB3YW50IGl0IHRvIGxpbmdlciBhcm91bmQgYWZ0ZXIgYWxsIGNsaWVudHMgYXJlIGdvbmUu
CiB9CiAKK3ZvaWQgU2NoZWR1bGFibGVMb2FkZXI6OmNvbnN1bWVTYW5kYm94RXh0ZW5zaW9ucygp
Cit7CisgICAgZm9yIChzaXplX3QgaSA9IDAsIGNvdW50ID0gbV9zYW5kYm94RXh0ZW5zaW9ucy5z
aXplKCk7IGkgPCBjb3VudDsgKytpKQorICAgICAgICBtX3NhbmRib3hFeHRlbnNpb25zW2ldLT5j
b25zdW1lKCk7CisKKyAgICBpZiAobV9yZXNvdXJjZVNhbmRib3hFeHRlbnNpb24pCisgICAgICAg
IG1fcmVzb3VyY2VTYW5kYm94RXh0ZW5zaW9uLT5jb25zdW1lKCk7Cit9CisKK3ZvaWQgU2NoZWR1
bGFibGVMb2FkZXI6OmludmFsaWRhdGVTYW5kYm94RXh0ZW5zaW9ucygpCit7CisgICAgZm9yIChz
aXplX3QgaSA9IDAsIGNvdW50ID0gbV9zYW5kYm94RXh0ZW5zaW9ucy5zaXplKCk7IGkgPCBjb3Vu
dDsgKytpKQorICAgICAgICBtX3NhbmRib3hFeHRlbnNpb25zW2ldLT5pbnZhbGlkYXRlKCk7CisK
KyAgICBpZiAobV9yZXNvdXJjZVNhbmRib3hFeHRlbnNpb24pCisgICAgICAgIG1fcmVzb3VyY2VT
YW5kYm94RXh0ZW5zaW9uLT5pbnZhbGlkYXRlKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCiAjZW5kaWYgLy8gRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL1NjaGVkdWxhYmxlTG9hZGVyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvU2NoZWR1bGFibGVMb2FkZXIuaAkocmV2aXNpb24g
MTQwNzA2KQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvU2NoZWR1bGFibGVMb2Fk
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsMTIgQEAgY2xhc3MgU2NoZWR1bGFibGVM
b2FkZXIgOiBwdWJsaWMgUmVmQ291bgogcHVibGljOgogICAgIHZpcnR1YWwgflNjaGVkdWxhYmxl
TG9hZGVyKCk7CiAKLSAgICBjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYgbG9h
ZFBhcmFtZXRlcnMoKSBjb25zdCB7IHJldHVybiBtX25ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzOyB9CisgICAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9pZGVudGlmaWVyOyB9CisgICAgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0OyB9CisgICAgV2ViQ29yZTo6UmVz
b3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkoKSBjb25zdCB7IHJldHVybiBtX3ByaW9yaXR5OyB9
CisgICAgV2ViQ29yZTo6Q29udGVudFNuaWZmaW5nUG9saWN5IGNvbnRlbnRTbmlmZmluZ1BvbGlj
eSgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFNuaWZmaW5nUG9saWN5OyB9CisgICAgV2ViQ29y
ZTo6U3RvcmVkQ3JlZGVudGlhbHMgYWxsb3dTdG9yZWRDcmVkZW50aWFscygpIGNvbnN0IHsgcmV0
dXJuIG1fYWxsb3dTdG9yZWRDcmVkZW50aWFsczsgfQorICAgIGJvb2wgaW5Qcml2YXRlQnJvd3Np
bmdNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9pblByaXZhdGVCcm93c2luZ01vZGU7IH0KIAogICAg
IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKiBjb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkg
Y29uc3QgeyByZXR1cm4gbV9jb25uZWN0aW9uLmdldCgpOyB9CiAgICAgdm9pZCBjb25uZWN0aW9u
VG9XZWJQcm9jZXNzRGlkQ2xvc2UoKTsKQEAgLTU1LDggKzYwLDIwIEBAIHB1YmxpYzoKIHByb3Rl
Y3RlZDoKICAgICBTY2hlZHVsYWJsZUxvYWRlcihjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFy
YW1ldGVycyYsIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKik7CiAKKyAgICB2b2lkIGNv
bnN1bWVTYW5kYm94RXh0ZW5zaW9ucygpOworICAgIHZvaWQgaW52YWxpZGF0ZVNhbmRib3hFeHRl
bnNpb25zKCk7CisKIHByaXZhdGU6Ci0gICAgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMg
bV9uZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVyczsKKyAgICBSZXNvdXJjZUxvYWRJZGVudGlm
aWVyIG1faWRlbnRpZmllcjsKKyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0
OworICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5IG1fcHJpb3JpdHk7CisgICAgV2Vi
Q29yZTo6Q29udGVudFNuaWZmaW5nUG9saWN5IG1fY29udGVudFNuaWZmaW5nUG9saWN5OworICAg
IFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzIG1fYWxsb3dTdG9yZWRDcmVkZW50aWFsczsKKyAg
ICBib29sIG1faW5Qcml2YXRlQnJvd3NpbmdNb2RlOworCisgICAgVmVjdG9yPFJlZlB0cjxTYW5k
Ym94RXh0ZW5zaW9uPiA+IG1fc2FuZGJveEV4dGVuc2lvbnM7CisgICAgUmVmUHRyPFNhbmRib3hF
eHRlbnNpb24+IG1fcmVzb3VyY2VTYW5kYm94RXh0ZW5zaW9uOworCiAgICAgUmVmUHRyPE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBtX2Nvbm5lY3Rpb247CiAgICAgCiAgICAgUmVmUHRy
PEhvc3RSZWNvcmQ+IG1faG9zdFJlY29yZDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL1N5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1N5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCShy
ZXZpc2lvbiAxNDA3MDYpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9TeW5jTmV0
d29ya1Jlc291cmNlTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsMTIgKzU4LDE0IEBA
IHZvaWQgU3luY05ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c3RhcnQoKQogICAgIFJlc291cmNlUmVz
cG9uc2UgcmVzcG9uc2U7CiAgICAgVmVjdG9yPGNoYXI+IGRhdGE7CiAgICAgCi0gICAgY29uc3Qg
TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMgPSBsb2FkUGFyYW1ldGVy
cygpOwotCiAgICAgLy8gRklYTUUgKE5ldHdvcmtQcm9jZXNzKTogQ3JlYXRlIFJlbW90ZU5ldHdv
cmtpbmdDb250ZXh0IHdpdGggYWN0dWFsIHNldHRpbmdzLgotICAgIFJlZlB0cjxSZW1vdGVOZXR3
b3JraW5nQ29udGV4dD4gbmV0d29ya2luZ0NvbnRleHQgPSBSZW1vdGVOZXR3b3JraW5nQ29udGV4
dDo6Y3JlYXRlKGZhbHNlLCBmYWxzZSwgcGFyYW1ldGVycy5pblByaXZhdGVCcm93c2luZ01vZGUo
KSk7Ci0gICAgCi0gICAgUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHko
bmV0d29ya2luZ0NvbnRleHQuZ2V0KCksIHBhcmFtZXRlcnMucmVxdWVzdCgpLCBwYXJhbWV0ZXJz
LmFsbG93U3RvcmVkQ3JlZGVudGlhbHMoKSwgZXJyb3IsIHJlc3BvbnNlLCBkYXRhKTsKKyAgICBS
ZWZQdHI8UmVtb3RlTmV0d29ya2luZ0NvbnRleHQ+IG5ldHdvcmtpbmdDb250ZXh0ID0gUmVtb3Rl
TmV0d29ya2luZ0NvbnRleHQ6OmNyZWF0ZShmYWxzZSwgZmFsc2UsIGluUHJpdmF0ZUJyb3dzaW5n
TW9kZSgpKTsKKworICAgIGNvbnN1bWVTYW5kYm94RXh0ZW5zaW9ucygpOworCisgICAgUmVzb3Vy
Y2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkobmV0d29ya2luZ0NvbnRleHQuZ2V0
KCksIHJlcXVlc3QoKSwgYWxsb3dTdG9yZWRDcmVkZW50aWFscygpLCBlcnJvciwgcmVzcG9uc2Us
IGRhdGEpOworCisgICAgaW52YWxpZGF0ZVNhbmRib3hFeHRlbnNpb25zKCk7CiAKICAgICBtX2Rl
bGF5ZWRSZXBseS0+c2VuZChlcnJvciwgcmVzcG9uc2UsIENvcmVJUEM6OkRhdGFSZWZlcmVuY2Uo
KHVpbnQ4X3QqKWRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSkpOwogICAgIApJbmRleDogU291cmNl
L1dlYktpdDIvU2hhcmVkL05ldHdvcmsvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OZXR3b3JrL05ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzLmNwcAkocmV2aXNpb24gMTQwNzA2KQorKysgU291cmNlL1dlYktp
dDIvU2hhcmVkL05ldHdvcmsvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NSw2ICs2NSwzMSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJh
bWV0ZXJzOjplbmNvCiAgICAgICAgIEVuY29kZXJBZGFwdGVyIGh0dHBCb2R5RW5jb2RlckFkYXB0
ZXI7CiAgICAgICAgIG1fcmVxdWVzdC5odHRwQm9keSgpLT5lbmNvZGUoaHR0cEJvZHlFbmNvZGVy
QWRhcHRlcik7CiAgICAgICAgIGVuY29kZXIuZW5jb2RlKGh0dHBCb2R5RW5jb2RlckFkYXB0ZXIu
ZGF0YVJlZmVyZW5jZSgpKTsKKworICAgICAgICBjb25zdCBWZWN0b3I8Rm9ybURhdGFFbGVtZW50
PiYgZWxlbWVudHMgPSBtX3JlcXVlc3QuaHR0cEJvZHkoKS0+ZWxlbWVudHMoKTsKKyAgICAgICAg
c2l6ZV90IGZpbGVDb3VudCA9IDA7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwLCBjb3VudCA9
IGVsZW1lbnRzLnNpemUoKTsgaSA8IGNvdW50OyArK2kpIHsKKyAgICAgICAgICAgIGlmIChlbGVt
ZW50c1tpXS5tX3R5cGUgPT0gRm9ybURhdGFFbGVtZW50OjplbmNvZGVkRmlsZSkKKyAgICAgICAg
ICAgICAgICArK2ZpbGVDb3VudDsKKyAgICAgICAgfQorCisgICAgICAgIFNhbmRib3hFeHRlbnNp
b246OkhhbmRsZUFycmF5IHNhbmRib3hFeHRlbnNpb25zOworICAgICAgICBzYW5kYm94RXh0ZW5z
aW9ucy5hbGxvY2F0ZShmaWxlQ291bnQpOworICAgICAgICBzaXplX3QgZXh0ZW5zaW9uSW5kZXgg
PSAwOworICAgICAgICBmb3IgKHNpemVfdCBpID0gMCwgY291bnQgPSBlbGVtZW50cy5zaXplKCk7
IGkgPCBjb3VudDsgKytpKSB7CisgICAgICAgICAgICBjb25zdCBGb3JtRGF0YUVsZW1lbnQmIGVs
ZW1lbnQgPSBlbGVtZW50c1tpXTsKKyAgICAgICAgICAgIGlmIChlbGVtZW50Lm1fdHlwZSA9PSBG
b3JtRGF0YUVsZW1lbnQ6OmVuY29kZWRGaWxlKSB7CisgICAgICAgICAgICAgICAgY29uc3QgU3Ry
aW5nJiBwYXRoID0gZWxlbWVudC5tX3Nob3VsZEdlbmVyYXRlRmlsZSA/IGVsZW1lbnQubV9nZW5l
cmF0ZWRGaWxlbmFtZSA6IGVsZW1lbnQubV9maWxlbmFtZTsKKyAgICAgICAgICAgICAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGUocGF0aCwgU2FuZGJveEV4dGVuc2lvbjo6UmVhZE9u
bHksIHNhbmRib3hFeHRlbnNpb25zW2V4dGVuc2lvbkluZGV4KytdKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICBlbmNvZGVyLmVuY29kZShzYW5kYm94RXh0ZW5zaW9ucyk7Cisg
ICAgfQorCisgICAgaWYgKG1fcmVxdWVzdC51cmwoKS5pc0xvY2FsRmlsZSgpKSB7CisgICAgICAg
IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBoYW5kbGU7CisgICAgICAgIFNhbmRib3hFeHRlbnNp
b246OmNyZWF0ZUhhbmRsZShtX3JlcXVlc3QudXJsKCkucGF0aCgpLCBTYW5kYm94RXh0ZW5zaW9u
OjpSZWFkT25seSwgaGFuZGxlKTsKKyAgICAgICAgZW5jb2Rlci5lbmNvZGUoaGFuZGxlKTsKICAg
ICB9CiAKICAgICBlbmNvZGVyLmVuY29kZUVudW0obV9wcmlvcml0eSk7CkBAIC05MSw2ICsxMTYs
MTQgQEAgYm9vbCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVyczo6ZGVjbwogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBEZWNvZGVyQWRhcHRlciBodHRwQm9keURlY29kZXJB
ZGFwdGVyKGZvcm1EYXRhLmRhdGEoKSwgZm9ybURhdGEuc2l6ZSgpKTsKICAgICAgICAgcmVzdWx0
Lm1fcmVxdWVzdC5zZXRIVFRQQm9keShGb3JtRGF0YTo6ZGVjb2RlKGh0dHBCb2R5RGVjb2RlckFk
YXB0ZXIpKTsKKworICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShyZXN1bHQubV9zYW5kYm94
RXh0ZW5zaW9ucykpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYg
KHJlc3VsdC5tX3JlcXVlc3QudXJsKCkuaXNMb2NhbEZpbGUoKSkgeworICAgICAgICBpZiAoIWRl
Y29kZXItPmRlY29kZShyZXN1bHQubV9yZXNvdXJjZVNhbmRib3hFeHRlbnNpb24pKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlRW51
bShyZXN1bHQubV9wcmlvcml0eSkpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29y
ay9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9OZXR3b3JrL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgJKHJl
dmlzaW9uIDE0MDcwNikKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OZXR3b3JrL05ldHdvcmtS
ZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAK
ICNpZm5kZWYgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnNfaAogI2RlZmluZSBOZXR3b3Jr
UmVzb3VyY2VMb2FkUGFyYW1ldGVyc19oCiAKKyNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VMb2FkZXJPcHRpb25zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVl
c3QuaD4KQEAgLTUxLDYgKzUyLDggQEAgcHVibGljOgogCiAgICAgUmVzb3VyY2VMb2FkSWRlbnRp
ZmllciBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CiAgICAgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9y
ZXF1ZXN0OyB9CisgICAgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkmIHNhbmRi
b3hFeHRlbnNpb25zKCkgY29uc3QgeyByZXR1cm4gbV9zYW5kYm94RXh0ZW5zaW9uczsgfQorICAg
IGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgcmVzb3VyY2VTYW5kYm94RXh0ZW5zaW9u
KCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZVNhbmRib3hFeHRlbnNpb247IH0KICAgICBXZWJD
b3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJp
b3JpdHk7IH0KICAgICBXZWJDb3JlOjpDb250ZW50U25pZmZpbmdQb2xpY3kgY29udGVudFNuaWZm
aW5nUG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50U25pZmZpbmdQb2xpY3k7IH0KICAg
ICBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFscyBhbGxvd1N0b3JlZENyZWRlbnRpYWxzKCkgY29u
c3QgeyByZXR1cm4gbV9hbGxvd1N0b3JlZENyZWRlbnRpYWxzOyB9CkBAIC01OSw2ICs2Miw4IEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciBtX2lkZW50aWZp
ZXI7CiAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IG1fcmVxdWVzdDsKKyAgICBTYW5kYm94
RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBtX3NhbmRib3hFeHRlbnNpb25zOyAvLyBDcmVhdGVkIGF1
dG9tYXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
IG1fcmVzb3VyY2VTYW5kYm94RXh0ZW5zaW9uOyAvLyBDcmVhdGVkIGF1dG9tYXRpY2FsbHkgZm9y
IHRoZSBzZW5kZXIuCiAgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHkgbV9wcmlvcml0
eTsKICAgICBXZWJDb3JlOjpDb250ZW50U25pZmZpbmdQb2xpY3kgbV9jb250ZW50U25pZmZpbmdQ
b2xpY3k7CiAgICAgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHMgbV9hbGxvd1N0b3JlZENyZWRl
bnRpYWxzOwo=
</data>
<flag name="review"
          id="203377"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>