<?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>41874</bug_id>
          
          <creation_ts>2010-07-08 11:03:08 -0700</creation_ts>
          <short_desc>WebKit2: Add stubbed out WebBackForwardListProxy</short_desc>
          <delta_ts>2010-07-08 11:52:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</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="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>248343</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-07-08 11:03:08 -0700</bug_when>
    <thetext>Add stubbed out WebBackForwardListProxy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248345</commentid>
    <comment_count>1</comment_count>
      <attachid>60912</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-07-08 11:04:45 -0700</bug_when>
    <thetext>Created attachment 60912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248392</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-07-08 11:52:35 -0700</bug_when>
    <thetext>Fixed in r62805.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60912</attachid>
            <date>2010-07-08 11:04:45 -0700</date>
            <delta_ts>2010-07-08 11:07:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>37462</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MjgwNCkKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzEgQEAKKzIwMTAtMDctMDggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBm
b3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxODc0CisgICAgICAg
IEFkZCBzdHViYmVkIG91dCBXZWJCYWNrRm9yd2FyZExpc3RQcm94eQorCisgICAgICAgIC0gUmVu
YW1lIHRoZSBvbGQgV2ViQmFja0ZvcndhcmRMaXN0UHJveHkgdG8gV2ViQmFja0ZvcndhcmRMaXN0
IHNpbmNlIGl0CisgICAgICAgICAgd2lsbCBiZSB0aGUgaW1wbGVtZW50YXRpb24sIG5vdCB0aGUg
cHJveHkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0LmNwcDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmFja0Zvcndh
cmRMaXN0LmNwcDogQ29waWVkIGZyb20gVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5
LmNwcC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0Lmg6IENvcGllZCBm
cm9tIFVJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oLgorICAgICAgICAoV2ViS2l0
OjpXZWJCYWNrRm9yd2FyZExpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkJh
Y2tGb3J3YXJkTGlzdFByb3h5LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
QmFja0ZvcndhcmRMaXN0UHJveHkuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpXZWJQYWdlUHJv
eHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpiYWNrRm9yd2FyZExpc3QpOgorICAgICAgICAqIFdlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
QmFja0ZvcndhcmRMaXN0UHJveHkuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OldlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpjcmVhdGUpOgorICAgICAgICAqIHdpbi9XZWJLaXQy
LnZjcHJvajoKKwogMjAxMC0wNy0wOCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KSW5kZXg6IFVJUHJvY2Vzcy9XZWJC
YWNrRm9yd2FyZExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFVJUHJvY2Vzcy9XZWJCYWNrRm9yd2Fy
ZExpc3QuY3BwCShyZXZpc2lvbiA2Mjc5NykJKGZyb20gVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJk
TGlzdFByb3h5LmNwcDo2Mjc5NykKKysrIFVJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3Bw
CSh3b3JraW5nIGNvcHkpCkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExp
c3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlz
dC5jcHAJKHJldmlzaW9uIDYyNzk3KQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0Zvcndh
cmRMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMsNTQgKzIzLDU0IEBACiAgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJk
TGlzdFByb3h5LmgiCisjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0LmgiCiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgTm9DdXJyZW50SXRlbUluZGV4ID0g
VUlOVF9NQVg7CiAKLVdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpXZWJCYWNrRm9yd2FyZExpc3RQ
cm94eShXZWJQYWdlUHJveHkqIHBhZ2UpCitXZWJCYWNrRm9yd2FyZExpc3Q6OldlYkJhY2tGb3J3
YXJkTGlzdChXZWJQYWdlUHJveHkqIHBhZ2UpCiAgICAgOiBtX3BhZ2UocGFnZSkKICAgICAsIG1f
Y3VycmVudChOb0N1cnJlbnRJdGVtSW5kZXgpCiB7CiB9CiAKLVdlYkJhY2tGb3J3YXJkTGlzdFBy
b3h5Ojp+V2ViQmFja0ZvcndhcmRMaXN0UHJveHkoKQorV2ViQmFja0ZvcndhcmRMaXN0Ojp+V2Vi
QmFja0ZvcndhcmRMaXN0KCkKIHsKIH0KIAotV2ViQmFja0ZvcndhcmRMaXN0SXRlbSogV2ViQmFj
a0ZvcndhcmRMaXN0UHJveHk6OmN1cnJlbnRJdGVtKCkKK1dlYkJhY2tGb3J3YXJkTGlzdEl0ZW0q
IFdlYkJhY2tGb3J3YXJkTGlzdDo6Y3VycmVudEl0ZW0oKQogewogICAgIGlmIChtX2N1cnJlbnQg
IT0gTm9DdXJyZW50SXRlbUluZGV4KQogICAgICAgICByZXR1cm4gbV9lbnRyaWVzW21fY3VycmVu
dF0uZ2V0KCk7CiAgICAgcmV0dXJuIDA7CiB9CiAKLVdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIFdl
YkJhY2tGb3J3YXJkTGlzdFByb3h5OjpiYWNrSXRlbSgpCitXZWJCYWNrRm9yd2FyZExpc3RJdGVt
KiBXZWJCYWNrRm9yd2FyZExpc3Q6OmJhY2tJdGVtKCkKIHsKICAgICBpZiAobV9jdXJyZW50ICYm
IG1fY3VycmVudCAhPSBOb0N1cnJlbnRJdGVtSW5kZXgpCiAgICAgICAgIHJldHVybiBtX2VudHJp
ZXNbbV9jdXJyZW50IC0gMV0uZ2V0KCk7CiAgICAgcmV0dXJuIDA7CiB9CiAKLVdlYkJhY2tGb3J3
YXJkTGlzdEl0ZW0qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5Ojpmb3J3YXJkSXRlbSgpCitXZWJC
YWNrRm9yd2FyZExpc3RJdGVtKiBXZWJCYWNrRm9yd2FyZExpc3Q6OmZvcndhcmRJdGVtKCkKIHsK
ICAgICBpZiAobV9lbnRyaWVzLnNpemUoKSAmJiBtX2N1cnJlbnQgPCBtX2VudHJpZXMuc2l6ZSgp
IC0gMSkKICAgICAgICAgcmV0dXJuIG1fZW50cmllc1ttX2N1cnJlbnQgKyAxXS5nZXQoKTsKICAg
ICByZXR1cm4gMDsKIH0KIAotdW5zaWduZWQgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmJhY2tM
aXN0Q291bnQoKQordW5zaWduZWQgV2ViQmFja0ZvcndhcmRMaXN0OjpiYWNrTGlzdENvdW50KCkK
IHsKICAgICByZXR1cm4gbV9jdXJyZW50ID09IE5vQ3VycmVudEl0ZW1JbmRleCA/IDAgOiBtX2N1
cnJlbnQ7CiB9CiAKLXVuc2lnbmVkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5Ojpmb3J3YXJkTGlz
dENvdW50KCkKK3Vuc2lnbmVkIFdlYkJhY2tGb3J3YXJkTGlzdDo6Zm9yd2FyZExpc3RDb3VudCgp
CiB7CiAgICAgcmV0dXJuIG1fY3VycmVudCA9PSBOb0N1cnJlbnRJdGVtSW5kZXggPyAwIDogbV9l
bnRyaWVzLnNpemUoKSAtIChtX2N1cnJlbnQgKyAxKTsKIH0KIAotQmFja0ZvcndhcmRMaXN0SXRl
bVZlY3RvciBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6YmFja0xpc3RXaXRoTGltaXQodW5zaWdu
ZWQgbGltaXQpCitCYWNrRm9yd2FyZExpc3RJdGVtVmVjdG9yIFdlYkJhY2tGb3J3YXJkTGlzdDo6
YmFja0xpc3RXaXRoTGltaXQodW5zaWduZWQgbGltaXQpCiB7CiAgICAgQmFja0ZvcndhcmRMaXN0
SXRlbVZlY3RvciBsaXN0OwogICAgIHVuc2lnbmVkIHNpemUgPSBzdGQ6Om1pbihiYWNrTGlzdENv
dW50KCksIGxpbWl0KTsKQEAgLTg0LDcgKzg0LDcgQEAgQmFja0ZvcndhcmRMaXN0SXRlbVZlY3Rv
ciBXZWJCYWNrRm9yd2FyZAogICAgIHJldHVybiBsaXN0OwogfQogCi1CYWNrRm9yd2FyZExpc3RJ
dGVtVmVjdG9yIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5Ojpmb3J3YXJkTGlzdFdpdGhMaW1pdCh1
bnNpZ25lZCBsaW1pdCkKK0JhY2tGb3J3YXJkTGlzdEl0ZW1WZWN0b3IgV2ViQmFja0ZvcndhcmRM
aXN0Ojpmb3J3YXJkTGlzdFdpdGhMaW1pdCh1bnNpZ25lZCBsaW1pdCkKIHsKICAgICBCYWNrRm9y
d2FyZExpc3RJdGVtVmVjdG9yIGxpc3Q7CiAgICAgdW5zaWduZWQgc2l6ZSA9IHN0ZDo6bWluKGZv
cndhcmRMaXN0Q291bnQoKSwgbGltaXQpOwpAQCAtMTExLDcgKzExMSw3IEBAIHN0YXRpYyB2b2lk
IHdlYkJhY2tGb3J3YXJkTGlzdEl0ZW1EZXJlZigKICAgICBzdGF0aWNfY2FzdDxXZWJCYWNrRm9y
d2FyZExpc3RJdGVtKj4oY29uc3RfY2FzdDx2b2lkKj4oaXRlbSkpLT5kZXJlZigpOwogfQogCi1Q
YXNzUmVmUHRyPEltbXV0YWJsZUFycmF5PiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6YmFja0xp
c3RBc0ltbXV0YWJsZUFycmF5V2l0aExpbWl0KHVuc2lnbmVkIGxpbWl0KQorUGFzc1JlZlB0cjxJ
bW11dGFibGVBcnJheT4gV2ViQmFja0ZvcndhcmRMaXN0OjpiYWNrTGlzdEFzSW1tdXRhYmxlQXJy
YXlXaXRoTGltaXQodW5zaWduZWQgbGltaXQpCiB7CiAgICAgdW5zaWduZWQgc2l6ZSA9IHN0ZDo6
bWluKGJhY2tMaXN0Q291bnQoKSwgbGltaXQpOwogICAgIGlmICghc2l6ZSkKQEAgLTEzMSw3ICsx
MzEsNyBAQCBQYXNzUmVmUHRyPEltbXV0YWJsZUFycmF5PiBXZWJCYWNrRm9yd2FyCiAgICAgcmV0
dXJuIEltbXV0YWJsZUFycmF5OjphZG9wdChhcnJheSwgc2l6ZSwgJmNhbGxiYWNrcyk7CiB9CiAK
LVBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5Ojpmb3J3
YXJkTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQodW5zaWduZWQgbGltaXQpCitQYXNzUmVm
UHRyPEltbXV0YWJsZUFycmF5PiBXZWJCYWNrRm9yd2FyZExpc3Q6OmZvcndhcmRMaXN0QXNJbW11
dGFibGVBcnJheVdpdGhMaW1pdCh1bnNpZ25lZCBsaW1pdCkKIHsKICAgICB1bnNpZ25lZCBzaXpl
ID0gc3RkOjptaW4oZm9yd2FyZExpc3RDb3VudCgpLCBsaW1pdCk7CiAgICAgaWYgKCFzaXplKQpJ
bmRleDogVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFVJUHJv
Y2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuaAkocmV2aXNpb24gNjI3OTcpCShmcm9tIFVJUHJvY2Vz
cy9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oOjYyNzk3KQorKysgVUlQcm9jZXNzL1dlYkJhY2tG
b3J3YXJkTGlzdC5oCSh3b3JraW5nIGNvcHkpCkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJC
YWNrRm9yd2FyZExpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNr
Rm9yd2FyZExpc3QuaAkocmV2aXNpb24gNjI3OTcpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJC
YWNrRm9yd2FyZExpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsOCArMjMsOCBAQAogICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgV2ViQmFja0Zvcndh
cmRMaXN0UHJveHlfaAotI2RlZmluZSBXZWJCYWNrRm9yd2FyZExpc3RQcm94eV9oCisjaWZuZGVm
IFdlYkJhY2tGb3J3YXJkTGlzdF9oCisjZGVmaW5lIFdlYkJhY2tGb3J3YXJkTGlzdF9oCiAKICNp
bmNsdWRlICJJbW11dGFibGVBcnJheS5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0
ZW0uaCIKQEAgLTQ1LDEzICs0NSwxMyBAQCB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8V2ViQmFja0Zv
cndhcmRMaXN0CiAgKiAgICAgIEJhY2sgICAgICAgIEZvcndhcmQKICAqLwogCi1jbGFzcyBXZWJC
YWNrRm9yd2FyZExpc3RQcm94eSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkJhY2tGb3J3YXJkTGlz
dFByb3h5PiB7CitjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxX
ZWJCYWNrRm9yd2FyZExpc3Q+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJC
YWNrRm9yd2FyZExpc3RQcm94eT4gY3JlYXRlKFdlYlBhZ2VQcm94eSogcGFnZSkKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxXZWJCYWNrRm9yd2FyZExpc3Q+IGNyZWF0ZShXZWJQYWdlUHJveHkqIHBh
Z2UpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkJhY2tGb3J3YXJkTGlz
dFByb3h5KHBhZ2UpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJCYWNrRm9yd2Fy
ZExpc3QocGFnZSkpOwogICAgIH0KLSAgICB+V2ViQmFja0ZvcndhcmRMaXN0UHJveHkoKTsKKyAg
ICB+V2ViQmFja0ZvcndhcmRMaXN0KCk7CiAKICAgICBXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBj
dXJyZW50SXRlbSgpOwogICAgIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIGJhY2tJdGVtKCk7CkBA
IC02Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPEltbXV0YWJsZUFycmF5PiBm
b3J3YXJkTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQodW5zaWduZWQgbGltaXQpOwogCiBw
cml2YXRlOgotICAgIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5KFdlYlBhZ2VQcm94eSopOworICAg
IFdlYkJhY2tGb3J3YXJkTGlzdChXZWJQYWdlUHJveHkqKTsKIAogICAgIFdlYlBhZ2VQcm94eSog
bV9wYWdlOwogICAgIEJhY2tGb3J3YXJkTGlzdEl0ZW1WZWN0b3IgbV9lbnRyaWVzOwpAQCAtNzYs
NCArNzYsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8v
IFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5X2gKKyNlbmRpZiAvLyBXZWJCYWNrRm9yd2FyZExpc3Rf
aApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNw
cAkocmV2aXNpb24gNjI3OTcpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExp
c3RQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMTU1ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCIKLQotbmFtZXNwYWNlIFdlYktp
dCB7Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBOb0N1cnJlbnRJdGVtSW5kZXggPSBVSU5UX01B
WDsKLQotV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OldlYkJhY2tGb3J3YXJkTGlzdFByb3h5KFdl
YlBhZ2VQcm94eSogcGFnZSkKLSAgICA6IG1fcGFnZShwYWdlKQotICAgICwgbV9jdXJyZW50KE5v
Q3VycmVudEl0ZW1JbmRleCkKLXsKLX0KLQotV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6On5XZWJC
YWNrRm9yd2FyZExpc3RQcm94eSgpCi17Ci19Ci0KLVdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIFdl
YkJhY2tGb3J3YXJkTGlzdFByb3h5OjpjdXJyZW50SXRlbSgpCi17Ci0gICAgaWYgKG1fY3VycmVu
dCAhPSBOb0N1cnJlbnRJdGVtSW5kZXgpCi0gICAgICAgIHJldHVybiBtX2VudHJpZXNbbV9jdXJy
ZW50XS5nZXQoKTsKLSAgICByZXR1cm4gMDsKLX0KLQotV2ViQmFja0ZvcndhcmRMaXN0SXRlbSog
V2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmJhY2tJdGVtKCkKLXsKLSAgICBpZiAobV9jdXJyZW50
ICYmIG1fY3VycmVudCAhPSBOb0N1cnJlbnRJdGVtSW5kZXgpCi0gICAgICAgIHJldHVybiBtX2Vu
dHJpZXNbbV9jdXJyZW50IC0gMV0uZ2V0KCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLVdlYkJhY2tG
b3J3YXJkTGlzdEl0ZW0qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5Ojpmb3J3YXJkSXRlbSgpCi17
Ci0gICAgaWYgKG1fZW50cmllcy5zaXplKCkgJiYgbV9jdXJyZW50IDwgbV9lbnRyaWVzLnNpemUo
KSAtIDEpCi0gICAgICAgIHJldHVybiBtX2VudHJpZXNbbV9jdXJyZW50ICsgMV0uZ2V0KCk7Ci0g
ICAgcmV0dXJuIDA7Ci19Ci0KLXVuc2lnbmVkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpiYWNr
TGlzdENvdW50KCkKLXsKLSAgICByZXR1cm4gbV9jdXJyZW50ID09IE5vQ3VycmVudEl0ZW1JbmRl
eCA/IDAgOiBtX2N1cnJlbnQ7Ci19Ci0KLXVuc2lnbmVkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5
Ojpmb3J3YXJkTGlzdENvdW50KCkKLXsKLSAgICByZXR1cm4gbV9jdXJyZW50ID09IE5vQ3VycmVu
dEl0ZW1JbmRleCA/IDAgOiBtX2VudHJpZXMuc2l6ZSgpIC0gKG1fY3VycmVudCArIDEpOwotfQot
Ci1CYWNrRm9yd2FyZExpc3RJdGVtVmVjdG9yIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpiYWNr
TGlzdFdpdGhMaW1pdCh1bnNpZ25lZCBsaW1pdCkKLXsKLSAgICBCYWNrRm9yd2FyZExpc3RJdGVt
VmVjdG9yIGxpc3Q7Ci0gICAgdW5zaWduZWQgc2l6ZSA9IHN0ZDo6bWluKGJhY2tMaXN0Q291bnQo
KSwgbGltaXQpOwotICAgIGlmICghc2l6ZSkKLSAgICAgICAgcmV0dXJuIGxpc3Q7Ci0KLSAgICBs
aXN0LnJlc2l6ZShzaXplKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGQ6Om1heChtX2N1cnJl
bnQgLSBsaW1pdCwgMFUpLCBqID0gMDsgaSA8IG1fY3VycmVudDsgKytpLCArK2opCi0gICAgICAg
IGxpc3Rbal0gPSBtX2VudHJpZXNbaV07Ci0KLSAgICByZXR1cm4gbGlzdDsKLX0KLQotQmFja0Zv
cndhcmRMaXN0SXRlbVZlY3RvciBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6Zm9yd2FyZExpc3RX
aXRoTGltaXQodW5zaWduZWQgbGltaXQpCi17Ci0gICAgQmFja0ZvcndhcmRMaXN0SXRlbVZlY3Rv
ciBsaXN0OwotICAgIHVuc2lnbmVkIHNpemUgPSBzdGQ6Om1pbihmb3J3YXJkTGlzdENvdW50KCks
IGxpbWl0KTsKLSAgICBpZiAoIXNpemUpCi0gICAgICAgIHJldHVybiBsaXN0OwotCi0gICAgbGlz
dC5yZXNpemUoc2l6ZSk7Ci0gICAgdW5zaWduZWQgbGFzdCA9IHN0ZDo6bWluKG1fY3VycmVudCAr
IGxpbWl0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9lbnRyaWVzLnNpemUoKSAtIDEpKTsKLSAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBtX2N1cnJlbnQgKyAxLCBqID0gMDsgaSA8PSBsYXN0OyArK2ks
ICsraikKLSAgICAgICAgbGlzdFtqXSA9IG1fZW50cmllc1tpXTsKLQotICAgIHJldHVybiBsaXN0
OwotfQotCi0vLyBJbW11dGFibGVBcnJheTo6SW1tdXRhYmxlQXJyYXlDYWxsYmFjayBbZm9yIFdl
YkJhY2tGb3J3YXJkTGlzdEl0ZW1dIGNhbGxiYWNrcwotCi1zdGF0aWMgdm9pZCB3ZWJCYWNrRm9y
d2FyZExpc3RJdGVtUmVmKGNvbnN0IHZvaWQqIGl0ZW0pCi17Ci0gICAgc3RhdGljX2Nhc3Q8V2Vi
QmFja0ZvcndhcmRMaXN0SXRlbSo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGl0ZW0pKS0+cmVmKCk7Ci19
Ci0KLXN0YXRpYyB2b2lkIHdlYkJhY2tGb3J3YXJkTGlzdEl0ZW1EZXJlZihjb25zdCB2b2lkKiBp
dGVtKQotewotICAgIHN0YXRpY19jYXN0PFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qPihjb25zdF9j
YXN0PHZvaWQqPihpdGVtKSktPmRlcmVmKCk7Ci19Ci0KLVBhc3NSZWZQdHI8SW1tdXRhYmxlQXJy
YXk+IFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpiYWNrTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRo
TGltaXQodW5zaWduZWQgbGltaXQpCi17Ci0gICAgdW5zaWduZWQgc2l6ZSA9IHN0ZDo6bWluKGJh
Y2tMaXN0Q291bnQoKSwgbGltaXQpOwotICAgIGlmICghc2l6ZSkKLSAgICAgICAgcmV0dXJuIElt
bXV0YWJsZUFycmF5OjpjcmVhdGUoKTsKLQotICAgIHZvaWQqKiBhcnJheSA9IG5ldyB2b2lkKltz
aXplXTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGQ6Om1heChtX2N1cnJlbnQgLSBsaW1pdCwg
MFUpLCBqID0gMDsgaSA8IG1fY3VycmVudDsgKytpLCArK2opIHsKLSAgICAgICAgV2ViQmFja0Zv
cndhcmRMaXN0SXRlbSogaXRlbSA9IG1fZW50cmllc1tpXS5nZXQoKTsKLSAgICAgICAgaXRlbS0+
cmVmKCk7Ci0gICAgICAgIGFycmF5W2pdID0gaXRlbTsKLSAgICB9Ci0KLSAgICBJbW11dGFibGVB
cnJheTo6SW1tdXRhYmxlQXJyYXlDYWxsYmFja3MgY2FsbGJhY2tzID0gewotICAgICAgICB3ZWJC
YWNrRm9yd2FyZExpc3RJdGVtUmVmLAotICAgICAgICB3ZWJCYWNrRm9yd2FyZExpc3RJdGVtRGVy
ZWYKLSAgICB9OwotICAgIHJldHVybiBJbW11dGFibGVBcnJheTo6YWRvcHQoYXJyYXksIHNpemUs
ICZjYWxsYmFja3MpOwotfQotCi1QYXNzUmVmUHRyPEltbXV0YWJsZUFycmF5PiBXZWJCYWNrRm9y
d2FyZExpc3RQcm94eTo6Zm9yd2FyZExpc3RBc0ltbXV0YWJsZUFycmF5V2l0aExpbWl0KHVuc2ln
bmVkIGxpbWl0KQotewotICAgIHVuc2lnbmVkIHNpemUgPSBzdGQ6Om1pbihmb3J3YXJkTGlzdENv
dW50KCksIGxpbWl0KTsKLSAgICBpZiAoIXNpemUpCi0gICAgICAgIHJldHVybiBJbW11dGFibGVB
cnJheTo6Y3JlYXRlKCk7Ci0KLSAgICB2b2lkKiogYXJyYXkgPSBuZXcgdm9pZCpbc2l6ZV07Ci0g
ICAgdW5zaWduZWQgbGFzdCA9IHN0ZDo6bWluKG1fY3VycmVudCArIGxpbWl0LCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4obV9lbnRyaWVzLnNpemUoKSAtIDEpKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkg
PSBtX2N1cnJlbnQgKyAxLCBqID0gMDsgaSA8PSBsYXN0OyArK2ksICsraikgewotICAgICAgICBX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBpdGVtID0gbV9lbnRyaWVzW2ldLmdldCgpOwotICAgICAg
ICBpdGVtLT5yZWYoKTsKLSAgICAgICAgYXJyYXlbal0gPSBpdGVtOwotICAgIH0KLQotICAgIElt
bXV0YWJsZUFycmF5OjpJbW11dGFibGVBcnJheUNhbGxiYWNrcyBjYWxsYmFja3MgPSB7Ci0gICAg
ICAgIHdlYkJhY2tGb3J3YXJkTGlzdEl0ZW1SZWYsCi0gICAgICAgIHdlYkJhY2tGb3J3YXJkTGlz
dEl0ZW1EZXJlZgotICAgIH07Ci0gICAgcmV0dXJuIEltbXV0YWJsZUFycmF5OjphZG9wdChhcnJh
eSwgc2l6ZSwgJmNhbGxiYWNrcyk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDog
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oCShyZXZpc2lvbiA2
Mjc5NykKKysrIFdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgJKHdv
cmtpbmcgY29weSkKQEAgLTEsNzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgV2ViQmFj
a0ZvcndhcmRMaXN0UHJveHlfaAotI2RlZmluZSBXZWJCYWNrRm9yd2FyZExpc3RQcm94eV9oCi0K
LSNpbmNsdWRlICJJbW11dGFibGVBcnJheS5oIgotI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlz
dEl0ZW0uaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYlBhZ2VQcm94eTsKLQotdHlwZWRl
ZiBWZWN0b3I8UmVmUHRyPFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0+ID4gQmFja0ZvcndhcmRMaXN0
SXRlbVZlY3RvcjsKLQotLyoKLSAqICAgICAgICAgIEN1cnJlbnQKLSAqICAgfC0tLS0tLS0tLSot
LS0tLS0tLS0tLS0tLXwgRW50cmllcwotICogICAgICBCYWNrICAgICAgICBGb3J3YXJkCi0gKi8K
LQotY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0UHJveHkgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJC
YWNrRm9yd2FyZExpc3RQcm94eT4gewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdl
YkJhY2tGb3J3YXJkTGlzdFByb3h5PiBjcmVhdGUoV2ViUGFnZVByb3h5KiBwYWdlKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJCYWNrRm9yd2FyZExpc3RQcm94eShwYWdl
KSk7Ci0gICAgfQotICAgIH5XZWJCYWNrRm9yd2FyZExpc3RQcm94eSgpOwotCi0gICAgV2ViQmFj
a0ZvcndhcmRMaXN0SXRlbSogY3VycmVudEl0ZW0oKTsKLSAgICBXZWJCYWNrRm9yd2FyZExpc3RJ
dGVtKiBiYWNrSXRlbSgpOwotICAgIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIGZvcndhcmRJdGVt
KCk7Ci0KLSAgICB1bnNpZ25lZCBiYWNrTGlzdENvdW50KCk7Ci0gICAgdW5zaWduZWQgZm9yd2Fy
ZExpc3RDb3VudCgpOwotCi0gICAgQmFja0ZvcndhcmRMaXN0SXRlbVZlY3RvciBiYWNrTGlzdFdp
dGhMaW1pdCh1bnNpZ25lZCBsaW1pdCk7Ci0gICAgQmFja0ZvcndhcmRMaXN0SXRlbVZlY3RvciBm
b3J3YXJkTGlzdFdpdGhMaW1pdCh1bnNpZ25lZCBsaW1pdCk7Ci0KLSAgICBQYXNzUmVmUHRyPElt
bXV0YWJsZUFycmF5PiBiYWNrTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQodW5zaWduZWQg
bGltaXQpOwotICAgIFBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IGZvcndhcmRMaXN0QXNJbW11
dGFibGVBcnJheVdpdGhMaW1pdCh1bnNpZ25lZCBsaW1pdCk7Ci0KLXByaXZhdGU6Ci0gICAgV2Vi
QmFja0ZvcndhcmRMaXN0UHJveHkoV2ViUGFnZVByb3h5Kik7Ci0KLSAgICBXZWJQYWdlUHJveHkq
IG1fcGFnZTsKLSAgICBCYWNrRm9yd2FyZExpc3RJdGVtVmVjdG9yIG1fZW50cmllczsKLSAgICB1
bnNpZ25lZCBtX2N1cnJlbnQ7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlm
IC8vIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5X2gKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAkocmV2aXNpb24gNjI3OTcpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiRHJhd2lu
Z0FyZWFQcm94eS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VJRC5oIgogI2luY2x1ZGUgIlBhZ2VDbGll
bnQuaCIKLSNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIgorI2luY2x1ZGUgIldl
YkJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKICNpbmNsdWRlICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJFdmVudC5oIgpAQCAtNjgsNyAr
NjgsNyBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShXZWJQYWdlTmFtZXNwCiAgICAgLCBt
X2VzdGltYXRlZFByb2dyZXNzKDAuMCkKICAgICAsIG1fY2FuR29CYWNrKGZhbHNlKQogICAgICwg
bV9jYW5Hb0ZvcndhcmQoZmFsc2UpCi0gICAgLCBtX2JhY2tGb3J3YXJkTGlzdChXZWJCYWNrRm9y
d2FyZExpc3RQcm94eTo6Y3JlYXRlKHRoaXMpKQorICAgICwgbV9iYWNrRm9yd2FyZExpc3QoV2Vi
QmFja0ZvcndhcmRMaXN0OjpjcmVhdGUodGhpcykpCiAgICAgLCBtX3ZhbGlkKHRydWUpCiAgICAg
LCBtX2Nsb3NlZChmYWxzZSkKICAgICAsIG1fcGFnZUlEKHBhZ2VJRCkKSW5kZXg6IFdlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiA2Mjc5NykKKysrIFdlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw3ICs2MCw3IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBjbGFzcyBEcmF3aW5nQXJlYVByb3h5OwogY2xhc3MgUGFnZUNsaWVudDsKLWNs
YXNzIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OworY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0Owog
Y2xhc3MgV2ViS2V5Ym9hcmRFdmVudDsKIGNsYXNzIFdlYk1vdXNlRXZlbnQ7CiBjbGFzcyBXZWJQ
YWdlTmFtZXNwYWNlOwpAQCAtODMsNyArODMsNyBAQCBwdWJsaWM6CiAKICAgICBEcmF3aW5nQXJl
YVByb3h5KiBkcmF3aW5nQXJlYSgpIHsgcmV0dXJuIG1fZHJhd2luZ0FyZWEuZ2V0KCk7IH0KIAot
ICAgIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5KiBiYWNrRm9yd2FyZExpc3QoKSB7IHJldHVybiBt
X2JhY2tGb3J3YXJkTGlzdC5nZXQoKTsgfQorICAgIFdlYkJhY2tGb3J3YXJkTGlzdCogYmFja0Zv
cndhcmRMaXN0KCkgeyByZXR1cm4gbV9iYWNrRm9yd2FyZExpc3QuZ2V0KCk7IH0KIAogICAgIHZv
aWQgc2V0UGFnZUNsaWVudChQYWdlQ2xpZW50Kik7CiAgICAgdm9pZCBpbml0aWFsaXplTG9hZGVy
Q2xpZW50KFdLUGFnZUxvYWRlckNsaWVudCopOwpAQCAtMjE0LDcgKzIxNCw3IEBAIHByaXZhdGU6
CiAKICAgICBib29sIG1fY2FuR29CYWNrOwogICAgIGJvb2wgbV9jYW5Hb0ZvcndhcmQ7Ci0gICAg
UmVmUHRyPFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5PiBtX2JhY2tGb3J3YXJkTGlzdDsKKyAgICBS
ZWZQdHI8V2ViQmFja0ZvcndhcmRMaXN0PiBtX2JhY2tGb3J3YXJkTGlzdDsKIAogICAgIFdlYkNv
cmU6OlN0cmluZyBtX3Rvb2xUaXA7CiAKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
QVBJQ2FzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2Fz
dC5oCShyZXZpc2lvbiA2Mjc5NykKKysrIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2Fz
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw4ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJheTsKK2NsYXNzIFdlYkJh
Y2tGb3J3YXJkTGlzdDsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW07Ci1jbGFzcyBXZWJC
YWNrRm9yd2FyZExpc3RQcm94eTsKIGNsYXNzIFdlYkNvbnRleHQ7CiBjbGFzcyBXZWJGcmFtZVBv
bGljeUxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJGcmFtZVByb3h5OwpAQCAtNjEsNyArNjEsNyBA
QCB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElUeXBlSW5mbzxXS1VSTFJlZj4gCiB0ZW1wbGF0ZTw+IHN0
cnVjdCBBUElUeXBlSW5mbzxXS05hdmlnYXRpb25EYXRhUmVmPiAgICAgICAgICAgICAgeyB0eXBl
ZGVmIFdlYk5hdmlnYXRpb25EYXRhKiBJbXBsVHlwZTsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEFQ
SVR5cGVJbmZvPFdLQXJyYXlSZWY+ICAgICAgICAgICAgICAgICAgICAgICB7IHR5cGVkZWYgSW1t
dXRhYmxlQXJyYXkqIEltcGxUeXBlOyB9OwogdGVtcGxhdGU8PiBzdHJ1Y3QgQVBJVHlwZUluZm88
V0tCYWNrRm9yd2FyZExpc3RJdGVtUmVmPiAgICAgICAgIHsgdHlwZWRlZiBXZWJCYWNrRm9yd2Fy
ZExpc3RJdGVtKiBJbXBsVHlwZTsgfTsKLXRlbXBsYXRlPD4gc3RydWN0IEFQSVR5cGVJbmZvPFdL
QmFja0ZvcndhcmRMaXN0UmVmPiAgICAgICAgICAgICB7IHR5cGVkZWYgV2ViQmFja0ZvcndhcmRM
aXN0UHJveHkqIEltcGxUeXBlOyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQVBJVHlwZUluZm88V0tC
YWNrRm9yd2FyZExpc3RSZWY+ICAgICAgICAgICAgIHsgdHlwZWRlZiBXZWJCYWNrRm9yd2FyZExp
c3QqIEltcGxUeXBlOyB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBJbXBsVHlwZT4gc3RydWN0IElt
cGxUeXBlSW5mbyB7IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBJbXBsVHlwZUluZm88V2ViRnJhbWVQ
cm94eSo+ICAgICAgICAgICAgICAgICAgeyB0eXBlZGVmIFdLRnJhbWVSZWYgQVBJVHlwZTsgfTsK
QEAgLTc0LDcgKzc0LDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSW1wbFR5cGVJbmZvPFdlYkNvcmU6
OgogdGVtcGxhdGU8PiBzdHJ1Y3QgSW1wbFR5cGVJbmZvPFdlYk5hdmlnYXRpb25EYXRhKj4gICAg
ICAgICAgICAgIHsgdHlwZWRlZiBXS05hdmlnYXRpb25EYXRhUmVmIEFQSVR5cGU7IH07CiB0ZW1w
bGF0ZTw+IHN0cnVjdCBJbXBsVHlwZUluZm88SW1tdXRhYmxlQXJyYXkqPiAgICAgICAgICAgICAg
ICAgeyB0eXBlZGVmIFdLQXJyYXlSZWYgQVBJVHlwZTsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IElt
cGxUeXBlSW5mbzxXZWJCYWNrRm9yd2FyZExpc3RJdGVtKj4gICAgICAgICB7IHR5cGVkZWYgV0tC
YWNrRm9yd2FyZExpc3RJdGVtUmVmIEFQSVR5cGU7IH07Ci10ZW1wbGF0ZTw+IHN0cnVjdCBJbXBs
VHlwZUluZm88V2ViQmFja0ZvcndhcmRMaXN0UHJveHkqPiAgICAgICAgeyB0eXBlZGVmIFdLQmFj
a0ZvcndhcmRMaXN0UmVmIEFQSVR5cGU7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBJbXBsVHlwZUlu
Zm88V2ViQmFja0ZvcndhcmRMaXN0Kj4gICAgICAgICAgICAgeyB0eXBlZGVmIFdLQmFja0Zvcndh
cmRMaXN0UmVmIEFQSVR5cGU7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCkluZGV4OiBX
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3QuY3BwCShyZXZpc2lv
biA2Mjc5NykKKysrIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiV0tCYWNrRm9y
d2FyZExpc3QuaCIKIAotI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgiCisjaW5j
bHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCiAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAJ
KHJldmlzaW9uIDYyNzk3KQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgIldLUGFnZVByaXZhdGUu
aCIKIAogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgotI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlz
dFByb3h5LmgiCisjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAiV2Vi
UGFnZVByb3h5LmgiCiAKICNpZmRlZiBfX0JMT0NLU19fCkluZGV4OiBXZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNjI3OTcpCisrKyBXZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTU0LDEz
ICsxNTQsMTUgQEAKIAkJQkM2NDY5NzAxMURCRTYwMzAwNjQ1NUIwIC8qIEltbXV0YWJsZUFycmF5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzY0Njk2
RTExREJFNjAzMDA2NDU1QjAgLyogSW1tdXRhYmxlQXJyYXkuaCAqLzsgfTsKIAkJQkM2NDZCRjkx
MUREMzc3QjAwNjQ1NUIwIC8qIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM2NDZCRjUxMUREMzc3QjAwNjQ1
NUIwIC8qIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwICovOyB9OwogCQlCQzY0NkJGQTExREQz
NzdCMDA2NDU1QjAgLyogV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM2NDZCRjYxMUREMzc3QjAwNjQ1NUIwIC8q
IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCAqLzsgfTsKLQkJQkM2NDZCRkIxMUREMzc3QjAwNjQ1
NUIwIC8qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNjQ2QkY3MTFERDM3N0IwMDY0NTVCMCAvKiBXZWJC
YWNrRm9yd2FyZExpc3RQcm94eS5jcHAgKi87IH07Ci0JCUJDNjQ2QkZDMTFERDM3N0IwMDY0NTVC
MCAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkM2NDZCRjgxMUREMzc3QjAwNjQ1NUIwIC8qIFdlYkJhY2tG
b3J3YXJkTGlzdFByb3h5LmggKi87IH07CiAJCUJDNjQ2QzFBMTFERDM5OUYwMDY0NTVCMCAvKiBX
S0JhY2tGb3J3YXJkTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzY0NkMxNjExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3Qu
Y3BwICovOyB9OwogCQlCQzY0NkMxQjExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExp
c3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNjQ2
QzE3MTFERDM5OUYwMDY0NTVCMCAvKiBXS0JhY2tGb3J3YXJkTGlzdC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJQkM2NDZDMUMxMUREMzk5RjAwNjQ1
NUIwIC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzY0NkMxODExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNr
Rm9yd2FyZExpc3RJdGVtLmNwcCAqLzsgfTsKIAkJQkM2NDZDMUQxMUREMzk5RjAwNjQ1NUIwIC8q
IFdLQmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM2NDZDMTkxMUREMzk5RjAwNjQ1NUIwIC8qIFdLQmFja0ZvcndhcmRM
aXN0SXRlbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsK
IAkJQkM2RURBQTYxMTEyNzFDNjAwRTc2NzhCIC8qIFBhZ2VDbGllbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNkVEQUE1MTExMjcxQzYwMEU3Njc4
QiAvKiBQYWdlQ2xpZW50LmggKi87IH07CisJCUJDNzJCOUZBMTFFNjQ3NkIwMDFFQjRFQSAvKiBX
ZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzcyQjlGODExRTY0NzZCMDAxRUI0RUEgLyogV2ViQmFja0Zvcndh
cmRMaXN0UHJveHkuY3BwICovOyB9OworCQlCQzcyQjlGQjExRTY0NzZCMDAxRUI0RUEgLyogV2Vi
QmFja0ZvcndhcmRMaXN0UHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDNzJCOUY5MTFFNjQ3NkIwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExp
c3RQcm94eS5oICovOyB9OworCQlCQzcyQkExRDExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0Zv
cndhcmRMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDNzJCQTFCMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3QuY3BwICov
OyB9OworCQlCQzcyQkExRTExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzcyQkExQzEx
RTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0LmggKi87IH07CiAJCUJDODQ1MkE3
MTE2MkM4MDkwMENBQjlCNSAvKiBEcmF3aW5nQXJlYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzg0NTJBNTExNjJDODA5MDBDQUI5QjUgLyogRHJh
d2luZ0FyZWEuY3BwICovOyB9OwogCQlCQzg0NTJBODExNjJDODA5MDBDQUI5QjUgLyogRHJhd2lu
Z0FyZWEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
ODQ1MkE2MTE2MkM4MDkwMENBQjlCNSAvKiBEcmF3aW5nQXJlYS5oICovOyB9OwogCQlCQzg2OTlC
NTExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzg2OTlCMjExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwpAQCAtNDA4LDEz
ICs0MTAsMTUgQEAKIAkJQkM2NDY5NkUxMURCRTYwMzAwNjQ1NUIwIC8qIEltbXV0YWJsZUFycmF5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltbXV0YWJsZUFycmF5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNjQ2QkY1MTFERDM3N0IwMDY0NTVCMCAvKiBX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQzY0NkJGNjExREQzNzdCMDA2NDU1QjAgLyogV2ViQmFja0ZvcndhcmRMaXN0SXRl
bS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJCYWNrRm9yd2FyZExpc3RJ
dGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDNjQ2QkY3MTFERDM3N0IwMDY0
NTVCMCAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUJDNjQ2QkY4MTFERDM3N0IwMDY0NTVCMCAvKiBXZWJCYWNrRm9y
d2FyZExpc3RQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJCYWNr
Rm9yd2FyZExpc3RQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzY0NkMx
NjExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tCYWNrRm9yd2FyZExpc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCQzY0NkMxNzExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9y
d2FyZExpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCYWNrRm9yd2Fy
ZExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM2NDZDMTgxMUREMzk5RjAw
NjQ1NUIwIC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCQzY0NkMxOTExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2Fy
ZExpc3RJdGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQmFja0Zvcndh
cmRMaXN0SXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzZFREFBNTExMTI3
MUM2MDBFNzY3OEIgLyogUGFnZUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQYWdlQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDNzJCOUY4
MTFFNjQ3NkIwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDNzJCOUY5MTFFNjQ3NkIwMDFFQjRFQSAv
KiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCQzcyQkExQjExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkJhY2tGb3J3YXJkTGlzdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDNzJCQTFDMTFFNjQ5MDcwMDFFQjRF
QSAvKiBXZWJCYWNrRm9yd2FyZExpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViQmFja0ZvcndhcmRMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
ODQ1MkE1MTE2MkM4MDkwMENBQjlCNSAvKiBEcmF3aW5nQXJlYS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEcmF3aW5nQXJlYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDODQ1MkE2MTE2MkM4MDkwMENBQjlCNSAvKiBEcmF3aW5nQXJlYS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEcmF3aW5nQXJlYS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCQzg2OTlCMjExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLVmlldy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNzM1LDYgKzczOSw4IEBACiAJCQkJQkM1RjdCQjMxMTgyMzc2QzAw
NTJDMDJDIC8qIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5oICovLAogCQkJCTBGNTI2NUIxMTFE
RDM3NjgwMDA2RDMzQyAvKiBMYXllckJhY2tlZERyYXdpbmdBcmVhLmNwcCAqLywKIAkJCQkwRjUy
NjVCMjExREQzNzY4MDAwNkQzM0MgLyogTGF5ZXJCYWNrZWREcmF3aW5nQXJlYS5oICovLAorCQkJ
CUJDNzJCOUY4MTFFNjQ3NkIwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAg
Ki8sCisJCQkJQkM3MkI5RjkxMUU2NDc2QjAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdFBy
b3h5LmggKi8sCiAJCQkJQkMxMTFBREMxMTJGNUI5MzAwMzM3QkFCIC8qIFdlYkZyYW1lLmNwcCAq
LywKIAkJCQlCQzAzMkQ4OTEwRjQzN0EwMDA1OEMxNUEgLyogV2ViRnJhbWUuaCAqLywKIAkJCQlC
Qzk2M0Q2QTExM0REMTkyMDA1NzRCRTIgLyogV2ViUGFnZS5jcHAgKi8sCkBAIC03NjEsMTAgKzc2
NywxMCBAQAogCQkJCUJDNTk3MDc0MTE2NTkxRDAwMDU1MUZDQSAvKiBQcm9jZXNzTW9kZWwuaCAq
LywKIAkJCQlCQzExMUIwODExMkY1RTNDMDAzMzdCQUIgLyogUmVzcG9uc2l2ZW5lc3NUaW1lci5j
cHAgKi8sCiAJCQkJMUEzMDA2NkMxMTEwRjRGNzAwMzE5MzdDIC8qIFJlc3BvbnNpdmVuZXNzVGlt
ZXIuaCAqLywKKwkJCQlCQzcyQkExQjExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRM
aXN0LmNwcCAqLywKKwkJCQlCQzcyQkExQzExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0Zvcndh
cmRMaXN0LmggKi8sCiAJCQkJQkM2NDZCRjUxMUREMzc3QjAwNjQ1NUIwIC8qIFdlYkJhY2tGb3J3
YXJkTGlzdEl0ZW0uY3BwICovLAogCQkJCUJDNjQ2QkY2MTFERDM3N0IwMDY0NTVCMCAvKiBXZWJC
YWNrRm9yd2FyZExpc3RJdGVtLmggKi8sCi0JCQkJQkM2NDZCRjcxMUREMzc3QjAwNjQ1NUIwIC8q
IFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcCAqLywKLQkJCQlCQzY0NkJGODExREQzNzdCMDA2
NDU1QjAgLyogV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCAqLywKIAkJCQlCQ0I5RTI0MjExMjBE
QUNBMDBBMTM3RTAgLyogV2ViQ29udGV4dC5jcHAgKi8sCiAJCQkJQkNCOUUyNDExMTIwREFDQTAw
QTEzN0UwIC8qIFdlYkNvbnRleHQuaCAqLywKIAkJCQlCQ0RFMDU5QTExQ0RBOEFFMDBFNDFBRjEg
LyogV2ViQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50LmNwcCAqLywKQEAgLTExMzgsNyArMTE0
NCw2IEBACiAJCQkJQkM2NDY4MDMxMURCQkE3MzAwNjQ1NUIwIC8qIFdLQXJyYXkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDNjQ2OTcwMTFEQkU2MDMwMDY0NTVCMCAvKiBJbW11dGFibGVBcnJheS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2NDZCRkExMUREMzc3QjAwNjQ1NUIwIC8qIFdlYkJhY2tG
b3J3YXJkTGlzdEl0ZW0uaCBpbiBIZWFkZXJzICovLAotCQkJCUJDNjQ2QkZDMTFERDM3N0IwMDY0
NTVCMCAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2
NDZDMUIxMUREMzk5RjAwNjQ1NUIwIC8qIFdLQmFja0ZvcndhcmRMaXN0LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzY0NkMxRDExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVt
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjUyNjVCNDExREQzNzY4MDAwNkQzM0MgLyogTGF5ZXJC
YWNrZWREcmF3aW5nQXJlYS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTQ4LDYgKzExNTMsOCBAQAog
CQkJCUJDQThDNkE5MTFFM0JBNUYwMDgxMkZCNyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQThDNkIwMTFFM0MwODcwMDgxMkZCNyAvKiBJ
bmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBOEM5REMx
MUU0MDg2NTAwODEyRkI3IC8qIFdlYkJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQkM3MkI5RkIxMUU2NDc2QjAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJk
TGlzdFByb3h5LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzcyQkExRTExRTY0OTA3MDAxRUI0RUEg
LyogV2ViQmFja0ZvcndhcmRMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTEzMTMsNyArMTMyMCw2
IEBACiAJCQkJQkM2NDY4MEIxMURCQkQ2OTAwNjQ1NUIwIC8qIFdLQXJyYXkuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkM2NDY5NkYxMURCRTYwMzAwNjQ1NUIwIC8qIEltbXV0YWJsZUFycmF5LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDNjQ2QkY5MTFERDM3N0IwMDY0NTVCMCAvKiBXZWJCYWNr
Rm9yd2FyZExpc3RJdGVtLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUJDNjQ2QkZCMTFERDM3N0Iw
MDY0NTVCMCAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzY0NkMxQTExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3QuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkM2NDZDMUMxMUREMzk5RjAwNjQ1NUIwIC8qIFdLQmFja0ZvcndhcmRM
aXN0SXRlbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjUyNjVCMzExREQzNzY4MDAwNkQzM0Mg
LyogTGF5ZXJCYWNrZWREcmF3aW5nQXJlYS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEzMjgsNiAr
MTMzNCw4IEBACiAJCQkJQkNBOEM2QTgxMUUzQkE1RjAwODEyRkI3IC8qIEluamVjdGVkQnVuZGxl
UGFnZUxvYWRlckNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0E4QzZBRjExRTNDMDg3
MDA4MTJGQjcgLyogSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkNBOEM5REQxMUU0MDg2NTAwODEyRkI3IC8qIFdlYkJhY2tGb3J3YXJkQ29udHJvbGxl
ckNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCQzcyQjlGQTExRTY0NzZCMDAxRUI0RUEg
LyogV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQkM3MkJB
MUQxMUU2NDkwNzAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFBy
b3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNr
Rm9yd2FyZExpc3RQcm94eS5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdFByb3h5
LmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0hpc3RvcnlJdGVtLmg+CisKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViQmFja0ZvcndhcmRMaXN0UHJv
eHk6OldlYkJhY2tGb3J3YXJkTGlzdFByb3h5KFdlYlBhZ2UqIHBhZ2UpCisgICAgOiBtX3BhZ2Uo
cGFnZSkKK3sKK30KKworV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6On5XZWJCYWNrRm9yd2FyZExp
c3RQcm94eSgpCit7Cit9CisKK3ZvaWQgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmFkZEl0ZW0o
UGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4pCit7Cit9CisKK3ZvaWQgV2ViQmFja0ZvcndhcmRMaXN0
UHJveHk6OmdvVG9JdGVtKEhpc3RvcnlJdGVtKikKK3sKK30KKworSGlzdG9yeUl0ZW0qIFdlYkJh
Y2tGb3J3YXJkTGlzdFByb3h5OjpiYWNrSXRlbSgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK0hp
c3RvcnlJdGVtKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6Zm9yd2FyZEl0ZW0oKQoreworICAg
IHJldHVybiAwOworfQorCitIaXN0b3J5SXRlbSogV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmN1
cnJlbnRJdGVtKCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworaW50IFdlYkJhY2tGb3J3YXJkTGlz
dFByb3h5OjpjYXBhY2l0eSgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgV2ViQmFja0Zv
cndhcmRMaXN0UHJveHk6OnNldENhcGFjaXR5KGludCkKK3sKK30KKworYm9vbCBXZWJCYWNrRm9y
d2FyZExpc3RQcm94eTo6ZW5hYmxlZCgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lk
IFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpzZXRFbmFibGVkKGJvb2wpCit7Cit9CisKK2ludCBX
ZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6YmFja0xpc3RDb3VudCgpCit7CisgICAgcmV0dXJuIDA7
Cit9CisKK2ludCBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6Zm9yd2FyZExpc3RDb3VudCgpCit7
CisgICAgcmV0dXJuIDA7Cit9CisKK0hpc3RvcnlJdGVtKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94
eTo6aXRlbUF0SW5kZXgoaW50KQoreworICAgIHJldHVybiAwOworfQorCit2b2lkIFdlYkJhY2tG
b3J3YXJkTGlzdFByb3h5OjpwdXNoU3RhdGVJdGVtKFBhc3NSZWZQdHI8SGlzdG9yeUl0ZW0+KQor
eworfQorCitIaXN0b3J5SXRlbVZlY3RvciYgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmVudHJp
ZXMoKQoreworICAgIHN0YXRpYyBIaXN0b3J5SXRlbVZlY3RvciBub0VudHJpZXM7CisgICAgcmV0
dXJuIG5vRW50cmllczsKK30KKwordm9pZCBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6Y2xvc2Uo
KQoreworfQorCitib29sIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpjbG9zZWQoKQoreworICAg
IHJldHVybiB0cnVlOworfQorCit2b2lkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5Ojpnb0JhY2so
KQoreworfQorCit2b2lkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5Ojpnb0ZvcndhcmQoKQorewor
fQorCit2b2lkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpiYWNrTGlzdFdpdGhMaW1pdChpbnQs
IEhpc3RvcnlJdGVtVmVjdG9yJikKK3sKK30KKwordm9pZCBXZWJCYWNrRm9yd2FyZExpc3RQcm94
eTo6Zm9yd2FyZExpc3RXaXRoTGltaXQoaW50LCBIaXN0b3J5SXRlbVZlY3RvciYpCit7Cit9CisK
K2Jvb2wgV2ViQmFja0ZvcndhcmRMaXN0UHJveHk6OmNvbnRhaW5zSXRlbShIaXN0b3J5SXRlbSop
Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5
OjpyZW1vdmVJdGVtKEhpc3RvcnlJdGVtKikKK3sKK30KKworI2lmIEVOQUJMRShXTUwpCit2b2lk
IFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpjbGVhcldNTFBhZ2VIaXN0b3J5KCkKK3sKK30KKyNl
bmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaAkocmV2aXNpb24gMCkK
KysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmgJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkJh
Y2tGb3J3YXJkTGlzdFByb3h5X2gKKyNkZWZpbmUgV2ViQmFja0ZvcndhcmRMaXN0UHJveHlfaAor
CisjaW5jbHVkZSA8V2ViQ29yZS9CYWNrRm9yd2FyZExpc3QuaD4KKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK2NsYXNzIFdlYlBhZ2U7CisKK2NsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5IDog
cHVibGljIFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdCB7CitwdWJsaWM6IAorICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5PiBjcmVhdGUoV2ViUGFnZSogcGFnZSkg
eyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5KHBhZ2UpKTsgfQor
ICAgIH5XZWJCYWNrRm9yd2FyZExpc3RQcm94eSgpOworCisgICAgdm9pZCBhZGRJdGVtKFBhc3NS
ZWZQdHI8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+KTsKKyAgICB2b2lkIGdvQmFjaygpOworICAgIHZv
aWQgZ29Gb3J3YXJkKCk7CisgICAgdm9pZCBnb1RvSXRlbShXZWJDb3JlOjpIaXN0b3J5SXRlbSop
OworICAgICAgICAKKyAgICBXZWJDb3JlOjpIaXN0b3J5SXRlbSogYmFja0l0ZW0oKTsKKyAgICBX
ZWJDb3JlOjpIaXN0b3J5SXRlbSogY3VycmVudEl0ZW0oKTsKKyAgICBXZWJDb3JlOjpIaXN0b3J5
SXRlbSogZm9yd2FyZEl0ZW0oKTsKKyAgICBXZWJDb3JlOjpIaXN0b3J5SXRlbSogaXRlbUF0SW5k
ZXgoaW50KTsKKworICAgIHZvaWQgYmFja0xpc3RXaXRoTGltaXQoaW50LCBXZWJDb3JlOjpIaXN0
b3J5SXRlbVZlY3RvciYpOworICAgIHZvaWQgZm9yd2FyZExpc3RXaXRoTGltaXQoaW50LCBXZWJD
b3JlOjpIaXN0b3J5SXRlbVZlY3RvciYpOworCisgICAgaW50IGNhcGFjaXR5KCk7CisgICAgdm9p
ZCBzZXRDYXBhY2l0eShpbnQpOworICAgIGJvb2wgZW5hYmxlZCgpOworICAgIHZvaWQgc2V0RW5h
YmxlZChib29sKTsKKyAgICBpbnQgYmFja0xpc3RDb3VudCgpOworICAgIGludCBmb3J3YXJkTGlz
dENvdW50KCk7CisgICAgYm9vbCBjb250YWluc0l0ZW0oV2ViQ29yZTo6SGlzdG9yeUl0ZW0qKTsK
KworICAgIHZvaWQgY2xvc2UoKTsKKyAgICBib29sIGNsb3NlZCgpOworICAgIAorICAgIHZvaWQg
cmVtb3ZlSXRlbShXZWJDb3JlOjpIaXN0b3J5SXRlbSopOworICAgIFdlYkNvcmU6Okhpc3RvcnlJ
dGVtVmVjdG9yJiBlbnRyaWVzKCk7CisgICAgCisgICAgdm9pZCBwdXNoU3RhdGVJdGVtKFBhc3NS
ZWZQdHI8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+KTsKKworI2lmIEVOQUJMRShXTUwpCisgICAgdm9p
ZCBjbGVhcldNTFBhZ2VIaXN0b3J5KCk7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBXZWJCYWNr
Rm9yd2FyZExpc3RQcm94eShXZWJQYWdlKik7CisgICAgCisgICAgV2ViUGFnZSogbV9wYWdlOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBXZWJCYWNrRm9yd2FyZExp
c3RQcm94eV9oCkluZGV4OiBXZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvago9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagkocmV2aXNpb24gNjI3OTcpCisrKyBXZWJLaXQy
L3dpbi9XZWJLaXQyLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNjgwLDYgKzY4MCwxNCBAQAog
CQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
V2ViUHJvY2Vzc1xXZWJQYWdlXFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcCINCisJCQkJCT4N
CisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxXZWJQcm9j
ZXNzXFdlYlBhZ2VcV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCINCisJCQkJCT4NCisJCQkJPC9G
aWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxXZWJQcm9jZXNzXFdlYlBh
Z2VcV2ViRnJhbWUuY3BwIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQpAQCAtODUzLDE5ICs4NjEs
MTkgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0i
Li5cVUlQcm9jZXNzXFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIg0KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXFVJUHJvY2Vzc1xXZWJCYWNrRm9yd2FyZExpc3QuY3BwIg0KIAkJCQk+DQogCQkJPC9G
aWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYkJhY2tG
b3J3YXJkTGlzdEl0ZW0uaCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViQmFj
a0ZvcndhcmRMaXN0LmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwIg0KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCIN
CiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJ
UHJvY2Vzc1xXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFVJUHJvY2Vzc1xXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCg==
</data>
<flag name="review"
          id="48741"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>