<?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>75211</bug_id>
          
          <creation_ts>2011-12-25 14:05:25 -0800</creation_ts>
          <short_desc>Use OwnPtr and OwnArrayPtr a couple more places in CSSParser</short_desc>
          <delta_ts>2011-12-26 13:45:24 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>41321</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>macpherson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>527080</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-25 14:05:25 -0800</bug_when>
    <thetext>Use OwnPtr and OwnArrayPtr in a couple more places</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527108</commentid>
    <comment_count>1</comment_count>
      <attachid>120516</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-25 19:33:40 -0800</bug_when>
    <thetext>Created attachment 120516
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527235</commentid>
    <comment_count>2</comment_count>
      <attachid>120516</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-12-26 12:17:07 -0800</bug_when>
    <thetext>Comment on attachment 120516
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        There are six pieces here that could each be landed separately.
&gt; +        The big one is CSSParser.

It all looks quite benign, let&apos;s take her to sea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527238</commentid>
    <comment_count>3</comment_count>
      <attachid>120516</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-26 13:45:19 -0800</bug_when>
    <thetext>Comment on attachment 120516
Patch

Clearing flags on attachment: 120516

Committed r103692: &lt;http://trac.webkit.org/changeset/103692&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527239</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-26 13:45:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120516</attachid>
            <date>2011-12-25 19:33:40 -0800</date>
            <delta_ts>2011-12-26 13:45:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75211-20111225193339.patch</filename>
            <type>text/plain</type>
            <size>24029</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMzY3MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDY1IEBACisyMDExLTEyLTI1ICBEYXJpbiBB
ZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgT3duUHRyIGFuZCBPd25BcnJh
eVB0ciBpbiBhIGNvdXBsZSBtb3JlIHBsYWNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJIGhhZCBhIHBhdGNoIHdpdGggc29tZSBjaGFuZ2VzIGZyb20g
YSB3aGlsZSBiYWNrIGZyb20gZ29pbmcgdGhyb3VnaCBhbGwgc29ydHMgb2YKKyAgICAgICAgY2xh
c3NlcyBhbmQgY2hhbmdpbmcgY29kZSB0byB1c2UgYWRvcHRQdHIuIE1vc3Qgd2VyZSBsYW5kZWQg
bG9uZyBhZ28sIHRoZXNlIGFyZSB0aGUKKyAgICAgICAgb25lcyB0aGF0IHN0aWxsIGFwcGx5Lgor
CisgICAgICAgIFRoZXJlIGFyZSBzaXggcGllY2VzIGhlcmUgdGhhdCBjb3VsZCBlYWNoIGJlIGxh
bmRlZCBzZXBhcmF0ZWx5LgorICAgICAgICBUaGUgYmlnIG9uZSBpcyBDU1NQYXJzZXIuCisKKyAg
ICAgICAgKiBjc3MvQ1NTR3JhbW1hci55OiBVcGRhdGUgZm9yIG1lbWJlcnMgYW5kIGZ1bmN0aW9u
cyB0aGF0IG5vdworICAgICAgICByZXR1cm4gUGFzc093blB0ciBpbnN0ZWFkIG9mIHJhdyBwb2lu
dGVycy4KKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlcjo6Q1NTUGFyc2VyKTogUmVtb3ZlIGV4cGxpY2l0IGNvbnN0cnVjdGlvbgorICAgICAg
ICBmb3IgbV92YWx1ZUxpc3QgYW5kIG1fZGF0YSBzaW5jZSBPd25QdHIgYW5kIE93bkFycmF5UHRy
IGluaXRpYWxpemUKKyAgICAgICAgdG8gemVybyB3aXRob3V0IGl0LgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyOjp+Q1NTUGFyc2VyKTogUmVtb3ZlZCBkZWxldGUgbV92YWx1ZUxpc3QgYW5k
CisgICAgICAgIGZhc3RGcmVlKG1fZGF0YSkgc2luY2UgT3duUHRyIGFuZCBPd25BcnJheVB0ciBo
YW5kbGUgdGhhdC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6c2V0dXBQYXJzZXIpOiBV
c2UgYWRvcHRBcnJheVB0ciBhbmQgbmV3IGZvcgorICAgICAgICB0aGUgY2hhcmFjdGVyIGFycmF5
IGluc3RlYWQgb2YgZmFzdEZyZWUvZmFzdE1hbGxvYy4gQWRkZWQgZ2V0CisgICAgICAgIGZ1bmN0
aW9uIGNhbGxzIGFzIG5lZWRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VW
YWx1ZSk6IEFkZGVkIGdldCBmdW5jdGlvbiBjYWxscyBhcyBuZWVkZWQuCisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlQ29udGVudCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjpwYXJzZUZpbGxQcm9wZXJ0eSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjpwYXJzZVRyYW5zZm9ybU9yaWdpblNob3J0aGFuZCk6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlKTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVHJhbnNmb3JtT3JpZ2luKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlUGVyc3BlY3RpdmVPcmlnaW4pOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6c2lua0Zsb2F0aW5nVmFsdWVMaXN0KTogQ2hh
bmdlZCB0byByZXR1cm4gUGFzc093blB0ci4KKyAgICAgICAgVGhlIGFkb3B0UHRyIGNhbGwgaXMg
aGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6c2lua0Zsb2F0aW5nRnVuY3Rpb24p
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1NlbGVjdG9yTGlzdFN0
YXJ0KTogQWRkZWQgZ2V0IGZ1bmN0aW9uIGNhbGxzIGFzIG5lZWRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6bWFya1NlbGVjdG9yTGlzdEVuZCk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjptYXJrUnVsZUJvZHlTdGFydCk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjptYXJrUnVsZUJvZHlFbmQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6bWFya1Byb3BlcnR5U3RhcnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6bWFya1Byb3BlcnR5RW5kKTogRGl0dG8uCisgICAgICAgICogY3NzL0NT
U1BhcnNlci5oOiBNb3ZlZCBjb25kaXRpb25hbCBpbmNsdWRlcyB0byB0aGVpciBvd24gcGFyYWdy
YXBoLgorICAgICAgICBNYWRlIHNpbmtGbG9hdGluZ1ZhbHVlTGlzdCBhbmQgc2lua0Zsb2F0aW5n
RnVuY3Rpb24gcmV0dXJuIFBhc3NPd25QdHIuCisgICAgICAgIE1hZGUgbV92YWx1ZUxpc3QgYW4g
T3duUHRyIGFuZCBtX2RhdGEgYW4gT3duQXJyYXlQdHIuCisgICAgICAgICogY3NzL1NWR0NTU1Bh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU1ZHVmFsdWUpOiBB
ZGRlZCBhIGNhbGwgdG8gdGhlIGdldCBmdW5jdGlvbi4KKworICAgICAgICAqIGh0bWwvUGx1Z2lu
RG9jdW1lbnQuaDogTWFkZSBpc1BsdWdpbkRvY3VtZW50IHByaXZhdGUuIEFsc28gbWFya2VkIGFs
bCB0aGUKKyAgICAgICAgZnVuY3Rpb25zIHRoYXQgYXJlIG92ZXJyaWRpbmcgaGVyZSBhcyBPVkVS
UklERSBzaW5jZSBJIHdhcyB0b3VjaGluZyB0aGUgaGVhZGVyLgorCisgICAgICAgICogaHRtbC9w
YXJzZXIvSFRNTFRva2VuLmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5UeXBlczo6RG9j
dHlwZURhdGE6OkRvY3R5cGVEYXRhKTogUmVtb3ZlZCBhbiB1bm5lZWRlZCBsaW5lCisgICAgICAg
IGV4cGxpY2l0bHkgaW5pdGlhbGl6aW5nIHRoZSBiYXNlIGNsYXNzLgorCisgICAgICAgICogcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWZDb3Vu
dGVkUHJvcGVydHlXcmFwcGVyOjpSZWZDb3VudGVkUHJvcGVydHlXcmFwcGVyKTogRml4ZWQgaW5k
ZW50LgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6IE1vdmVkIGNv
bmRpdGlvbmFsIGluY2x1ZGVzIHRvIHRoZWlyIG93biBwYXJhZ3JhcGguCisKKyAgICAgICAgKiB4
bWwvcGFyc2VyL01hcmt1cFRva2VuQmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwVG9r
ZW5CYXNlOjpiZWdpbkRPQ1RZUEUpOiBSZW1vdmVkIHVubmVlZGVkIHBhcmVudGhlc2VzLgorCiAy
MDExLTEyLTI1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IHRl
c3RzIGZhaWxpbmcgYXMgYSByZXN1bHQgb2YgcjEwMzY0MwpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyYW1tYXIueQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jh
bW1hci55CShyZXZpc2lvbiAxMDM2NjkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1h
ci55CSh3b3JraW5nIGNvcHkpCkBAIC0zMjksOCArMzI5LDcgQEAgd2Via2l0X3ZhbHVlOgogICAg
ICAgICAgICAgaW50IG9sZFBhcnNlZFByb3BlcnRpZXMgPSBwLT5tX251bVBhcnNlZFByb3BlcnRp
ZXM7CiAgICAgICAgICAgICBpZiAoIXAtPnBhcnNlVmFsdWUocC0+bV9pZCwgcC0+bV9pbXBvcnRh
bnQpKQogICAgICAgICAgICAgICAgIHAtPnJvbGxiYWNrTGFzdFByb3BlcnRpZXMocC0+bV9udW1Q
YXJzZWRQcm9wZXJ0aWVzIC0gb2xkUGFyc2VkUHJvcGVydGllcyk7Ci0gICAgICAgICAgICBkZWxl
dGUgcC0+bV92YWx1ZUxpc3Q7Ci0gICAgICAgICAgICBwLT5tX3ZhbHVlTGlzdCA9IDA7CisgICAg
ICAgICAgICBwLT5tX3ZhbHVlTGlzdCA9IG51bGxwdHI7CiAgICAgICAgIH0KICAgICB9CiA7CkBA
IC0xMzA3LDggKzEzMDYsNyBAQCBkZWNsYXJhdGlvbjoKICAgICAgICAgICAgICAgICBwLT5yb2xs
YmFja0xhc3RQcm9wZXJ0aWVzKHAtPm1fbnVtUGFyc2VkUHJvcGVydGllcyAtIG9sZFBhcnNlZFBy
b3BlcnRpZXMpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGlzUHJvcGVydHlQ
YXJzZWQgPSB0cnVlOwotICAgICAgICAgICAgZGVsZXRlIHAtPm1fdmFsdWVMaXN0OwotICAgICAg
ICAgICAgcC0+bV92YWx1ZUxpc3QgPSAwOworICAgICAgICAgICAgcC0+bV92YWx1ZUxpc3QgPSBu
dWxscHRyOwogICAgICAgICB9CiAgICAgICAgIHAtPm1hcmtQcm9wZXJ0eUVuZCgkNSwgaXNQcm9w
ZXJ0eVBhcnNlZCk7CiAgICAgfQpAQCAtMTQ3OSw3ICsxNDc3LDcgQEAgZnVuY3Rpb246CiAgICAg
ICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CiAgICAg
ICAgIENTU1BhcnNlckZ1bmN0aW9uKiBmID0gcC0+Y3JlYXRlRmxvYXRpbmdGdW5jdGlvbigpOwog
ICAgICAgICBmLT5uYW1lID0gJDE7Ci0gICAgICAgIGYtPmFyZ3MgPSBhZG9wdFB0cihwLT5zaW5r
RmxvYXRpbmdWYWx1ZUxpc3QoJDMpKTsKKyAgICAgICAgZi0+YXJncyA9IHAtPnNpbmtGbG9hdGlu
Z1ZhbHVlTGlzdCgkMyk7CiAgICAgICAgICQkLmlkID0gMDsKICAgICAgICAgJCQudW5pdCA9IENT
U1BhcnNlclZhbHVlOjpGdW5jdGlvbjsKICAgICAgICAgJCQuZnVuY3Rpb24gPSBmOwpAQCAtMTQ4
OCw3ICsxNDg2LDcgQEAgZnVuY3Rpb246CiAgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19j
YXN0PENTU1BhcnNlcio+KHBhcnNlcik7CiAgICAgICAgIENTU1BhcnNlckZ1bmN0aW9uKiBmID0g
cC0+Y3JlYXRlRmxvYXRpbmdGdW5jdGlvbigpOwogICAgICAgICBmLT5uYW1lID0gJDE7Ci0gICAg
ICAgIGYtPmFyZ3MgPSBhZG9wdFB0cihwLT5zaW5rRmxvYXRpbmdWYWx1ZUxpc3QoJDMpKTsKKyAg
ICAgICAgZi0+YXJncyA9IHAtPnNpbmtGbG9hdGluZ1ZhbHVlTGlzdCgkMyk7CiAgICAgICAgICQk
LmlkID0gMDsKICAgICAgICAgJCQudW5pdCA9IENTU1BhcnNlclZhbHVlOjpGdW5jdGlvbjsKICAg
ICAgICAgJCQuZnVuY3Rpb24gPSBmOwpAQCAtMTQ5OCw3ICsxNDk2LDcgQEAgZnVuY3Rpb246CiAg
ICAgICAgIENTU1BhcnNlckZ1bmN0aW9uKiBmID0gcC0+Y3JlYXRlRmxvYXRpbmdGdW5jdGlvbigp
OwogICAgICAgICBmLT5uYW1lID0gJDE7CiAgICAgICAgIENTU1BhcnNlclZhbHVlTGlzdCogdmFs
dWVMaXN0ID0gcC0+Y3JlYXRlRmxvYXRpbmdWYWx1ZUxpc3QoKTsKLSAgICAgICAgZi0+YXJncyA9
IGFkb3B0UHRyKHAtPnNpbmtGbG9hdGluZ1ZhbHVlTGlzdCh2YWx1ZUxpc3QpKTsKKyAgICAgICAg
Zi0+YXJncyA9IHAtPnNpbmtGbG9hdGluZ1ZhbHVlTGlzdCh2YWx1ZUxpc3QpOwogICAgICAgICAk
JC5pZCA9IDA7CiAgICAgICAgICQkLnVuaXQgPSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb247CiAg
ICAgICAgICQkLmZ1bmN0aW9uID0gZjsKQEAgLTE2MTYsNyArMTYxNCw3IEBAIGNhbGNfZnVuY3Rp
b246CiAgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNl
cik7CiAgICAgICAgIENTU1BhcnNlckZ1bmN0aW9uKiBmID0gcC0+Y3JlYXRlRmxvYXRpbmdGdW5j
dGlvbigpOwogICAgICAgICBmLT5uYW1lID0gJDE7Ci0gICAgICAgIGYtPmFyZ3MgPSBhZG9wdFB0
cihwLT5zaW5rRmxvYXRpbmdWYWx1ZUxpc3QoJDMpKTsKKyAgICAgICAgZi0+YXJncyA9IHAtPnNp
bmtGbG9hdGluZ1ZhbHVlTGlzdCgkMyk7CiAgICAgICAgICQkLmlkID0gMDsKICAgICAgICAgJCQu
dW5pdCA9IENTU1BhcnNlclZhbHVlOjpGdW5jdGlvbjsKICAgICAgICAgJCQuZnVuY3Rpb24gPSBm
OwpAQCAtMTY0MSw3ICsxNjM5LDcgQEAgbWluX29yX21heF9mdW5jdGlvbjoKICAgICAgICAgQ1NT
UGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsKICAgICAgICAgQ1NT
UGFyc2VyRnVuY3Rpb24qIGYgPSBwLT5jcmVhdGVGbG9hdGluZ0Z1bmN0aW9uKCk7CiAgICAgICAg
IGYtPm5hbWUgPSAkMTsKLSAgICAgICAgZi0+YXJncyA9IGFkb3B0UHRyKHAtPnNpbmtGbG9hdGlu
Z1ZhbHVlTGlzdCgkMykpOworICAgICAgICBmLT5hcmdzID0gcC0+c2lua0Zsb2F0aW5nVmFsdWVM
aXN0KCQzKTsKICAgICAgICAgJCQuaWQgPSAwOwogICAgICAgICAkJC51bml0ID0gQ1NTUGFyc2Vy
VmFsdWU6OkZ1bmN0aW9uOwogICAgICAgICAkJC5mdW5jdGlvbiA9IGY7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24gMTAzNjY5KQorKysgU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NywxMiArMTc3LDEzIEBAIGlubGlu
ZSB2b2lkIENTU1BhcnNlcjo6ZW5zdXJlQ1NTVmFsdWVQb28KICAgICAgICAgbV9jc3NWYWx1ZVBv
b2wgPSBDU1NWYWx1ZVBvb2w6OmNyZWF0ZSgpOwogfQogCisvLyBGSVhNRTogQ2FuIG1fcGFyc2Vk
UHJvcGVydGllcyBqdXN0IGJlIGEgVmVjdG9yPworICAgIAogQ1NTUGFyc2VyOjpDU1NQYXJzZXIo
Ym9vbCBzdHJpY3RQYXJzaW5nKQogICAgIDogbV9zdHJpY3Qoc3RyaWN0UGFyc2luZykKICAgICAs
IG1faW1wb3J0YW50KGZhbHNlKQogICAgICwgbV9pZCgwKQogICAgICwgbV9zdHlsZVNoZWV0KDAp
Ci0gICAgLCBtX3ZhbHVlTGlzdCgwKQogICAgICwgbV9wYXJzZWRQcm9wZXJ0aWVzKHN0YXRpY19j
YXN0PENTU1Byb3BlcnR5Kio+KGZhc3RNYWxsb2MoMzIgKiBzaXplb2YoQ1NTUHJvcGVydHkqKSkp
KQogICAgICwgbV9udW1QYXJzZWRQcm9wZXJ0aWVzKDApCiAgICAgLCBtX21heFBhcnNlZFByb3Bl
cnRpZXMoMzIpCkBAIC0xOTksNyArMjAwLDYgQEAgQ1NTUGFyc2VyOjpDU1NQYXJzZXIoYm9vbCBz
dHJpY3RQYXJzaW5nKQogICAgICwgbV9wcm9wZXJ0eVJhbmdlKFVJTlRfTUFYLCBVSU5UX01BWCkK
ICAgICAsIG1fcnVsZVJhbmdlTWFwKDApCiAgICAgLCBtX2N1cnJlbnRSdWxlRGF0YSgwKQotICAg
ICwgbV9kYXRhKDApCiAgICAgLCB5eV9zdGFydCgxKQogICAgICwgbV9saW5lTnVtYmVyKDApCiAg
ICAgLCBtX2xhc3RTZWxlY3RvckxpbmVOdW1iZXIoMCkKQEAgLTIxNywxMCArMjE3LDYgQEAgQ1NT
UGFyc2VyOjp+Q1NTUGFyc2VyKCkKICAgICBjbGVhclByb3BlcnRpZXMoKTsKICAgICBmYXN0RnJl
ZShtX3BhcnNlZFByb3BlcnRpZXMpOwogCi0gICAgZGVsZXRlIG1fdmFsdWVMaXN0OwotCi0gICAg
ZmFzdEZyZWUobV9kYXRhKTsKLQogICAgIGZhc3REZWxldGVBbGxWYWx1ZXMobV9mbG9hdGluZ1Nl
bGVjdG9ycyk7CiAgICAgZGVsZXRlQWxsVmFsdWVzKG1fZmxvYXRpbmdTZWxlY3RvclZlY3RvcnMp
OwogICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2Zsb2F0aW5nVmFsdWVMaXN0cyk7CkBAIC0yNDgsMTIg
KzI0NCwxMSBAQCB2b2lkIENTU1BhcnNlcjo6c2V0dXBQYXJzZXIoY29uc3QgY2hhciogCiB7CiAg
ICAgaW50IGxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKSArIHN0cmxlbihwcmVmaXgpICsgc3RybGVu
KHN1ZmZpeCkgKyAyOwogCi0gICAgZmFzdEZyZWUobV9kYXRhKTsKLSAgICBtX2RhdGEgPSBzdGF0
aWNfY2FzdDxVQ2hhcio+KGZhc3RNYWxsb2MobGVuZ3RoICogc2l6ZW9mKFVDaGFyKSkpOworICAg
IG1fZGF0YSA9IGFkb3B0QXJyYXlQdHIobmV3IFVDaGFyW2xlbmd0aF0pOwogICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBzdHJsZW4ocHJlZml4KTsgaSsrKQogICAgICAgICBtX2RhdGFbaV0g
PSBwcmVmaXhbaV07CiAKLSAgICBtZW1jcHkobV9kYXRhICsgc3RybGVuKHByZWZpeCksIHN0cmlu
Zy5jaGFyYWN0ZXJzKCksIHN0cmluZy5sZW5ndGgoKSAqIHNpemVvZihVQ2hhcikpOworICAgIG1l
bWNweShtX2RhdGEuZ2V0KCkgKyBzdHJsZW4ocHJlZml4KSwgc3RyaW5nLmNoYXJhY3RlcnMoKSwg
c3RyaW5nLmxlbmd0aCgpICogc2l6ZW9mKFVDaGFyKSk7CiAKICAgICB1bnNpZ25lZCBzdGFydCA9
IHN0cmxlbihwcmVmaXgpICsgc3RyaW5nLmxlbmd0aCgpOwogICAgIHVuc2lnbmVkIGVuZCA9IHN0
YXJ0ICsgc3RybGVuKHN1ZmZpeCk7CkBAIC0yNjUsNyArMjYwLDggQEAgdm9pZCBDU1NQYXJzZXI6
OnNldHVwUGFyc2VyKGNvbnN0IGNoYXIqIAogCiAgICAgeXlfaG9sZF9jaGFyID0gMDsKICAgICB5
eWxlbmcgPSAwOwotICAgIHl5dGV4dCA9IHl5X2NfYnVmX3AgPSBtX2RhdGE7CisgICAgeXl0ZXh0
ID0gbV9kYXRhLmdldCgpOworICAgIHl5X2NfYnVmX3AgPSB5eXRleHQ7CiAgICAgeXlfaG9sZF9j
aGFyID0gKnl5X2NfYnVmX3A7CiAgICAgcmVzZXRSdWxlQm9keU1hcmtzKCk7CiB9CkBAIC01MTIs
OCArNTA4LDggQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTTXV0YWJsZVN0eQogICAg
IHJldHVybiBvazsKIH0KIAotLy8gY29sb3Igd2lsbCBvbmx5IGJlIGNoYW5nZWQgd2hlbiBzdHJp
bmcgY29udGFpbnMgYSB2YWxpZCBjc3MgY29sb3IsIG1ha2luZyBpdAotLy8gcG9zc2libGUgdG8g
c2V0IHVwIGEgZGVmYXVsdCBjb2xvci4KKy8vIFRoZSBjb2xvciB3aWxsIG9ubHkgYmUgY2hhbmdl
ZCB3aGVuIHN0cmluZyBjb250YWlucyBhIHZhbGlkIENTUyBjb2xvciwgc28gY2FsbGVycworLy8g
Y2FuIHNldCBpdCB0byBhIGRlZmF1bHQgY29sb3IgYW5kIGlnbm9yZSB0aGUgYm9vbGVhbiByZXN1
bHQuCiBib29sIENTU1BhcnNlcjo6cGFyc2VDb2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJp
bmcmIHN0cmluZywgYm9vbCBzdHJpY3QpCiB7CiAgICAgLy8gRmlyc3QgdHJ5IGNyZWF0aW5nIGEg
Y29sb3Igc3BlY2lmaWVkIGJ5IG5hbWUsIHJnYmEoKSwgcmdiKCkgb3IgIiMiIHN5bnRheC4KQEAg
LTEyNTMsNyArMTI0OSw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQs
IGIKICAgICAgICAgICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9IGVsc2UgaWYgKGlzR2VuZXJhdGVkSW1hZ2VWYWx1ZSh2YWx1ZSkpIHsKLSAgICAg
ICAgICAgIGlmIChwYXJzZUdlbmVyYXRlZEltYWdlKG1fdmFsdWVMaXN0LCBwYXJzZWRWYWx1ZSkp
CisgICAgICAgICAgICBpZiAocGFyc2VHZW5lcmF0ZWRJbWFnZShtX3ZhbHVlTGlzdC5nZXQoKSwg
cGFyc2VkVmFsdWUpKQogICAgICAgICAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTU2Miw3ICsx
NTU4LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYgogICAgICAg
ICBpZiAoaWQgPT0gQ1NTVmFsdWVOb25lKQogICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0
cnVlOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHNo
YWRvd1ZhbHVlTGlzdCA9IHBhcnNlU2hhZG93KG1fdmFsdWVMaXN0LCBwcm9wSWQpOworICAgICAg
ICAgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gc2hhZG93VmFsdWVMaXN0ID0gcGFyc2VTaGFkb3co
bV92YWx1ZUxpc3QuZ2V0KCksIHByb3BJZCk7CiAgICAgICAgICAgICBpZiAoc2hhZG93VmFsdWVM
aXN0KSB7CiAgICAgICAgICAgICAgICAgYWRkUHJvcGVydHkocHJvcElkLCBzaGFkb3dWYWx1ZUxp
c3QucmVsZWFzZSgpLCBpbXBvcnRhbnQpOwogICAgICAgICAgICAgICAgIG1fdmFsdWVMaXN0LT5u
ZXh0KCk7CkBAIC0yODEzLDcgKzI4MDksNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDb250ZW50
KGludCBwcm9wSWQsCiAgICAgICAgICAgICAgICAgaWYgKCFwYXJzZWRWYWx1ZSkKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfSBlbHNlIGlmIChpc0dlbmVy
YXRlZEltYWdlVmFsdWUodmFsKSkgewotICAgICAgICAgICAgICAgIGlmICghcGFyc2VHZW5lcmF0
ZWRJbWFnZShtX3ZhbHVlTGlzdCwgcGFyc2VkVmFsdWUpKQorICAgICAgICAgICAgICAgIGlmICgh
cGFyc2VHZW5lcmF0ZWRJbWFnZShtX3ZhbHVlTGlzdC5nZXQoKSwgcGFyc2VkVmFsdWUpKQogICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0zMTYzLDcgKzMxNTksNyBAQCBib29sIENTU1Bh
cnNlcjo6cGFyc2VGaWxsUHJvcGVydHkoaW50IHByCiAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kSW1hZ2U6CiAgICAg
ICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tJbWFnZToKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHBhcnNlRmlsbEltYWdlKG1fdmFsdWVMaXN0LCBjdXJyVmFsdWUpKQorICAg
ICAgICAgICAgICAgICAgICBpZiAocGFyc2VGaWxsSW1hZ2UobV92YWx1ZUxpc3QuZ2V0KCksIGN1
cnJWYWx1ZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOwog
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0QmFja2dyb3VuZENsaXA6CkBAIC0zMTkyLDE5ICszMTg4LDE5IEBAIGJvb2wgQ1NT
UGFyc2VyOjpwYXJzZUZpbGxQcm9wZXJ0eShpbnQgcHIKICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvbjoK
ICAgICAgICAgICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFza1Bvc2l0aW9uOgotICAg
ICAgICAgICAgICAgICAgICBwYXJzZUZpbGxQb3NpdGlvbihtX3ZhbHVlTGlzdCwgY3VyclZhbHVl
LCBjdXJyVmFsdWUyKTsKKyAgICAgICAgICAgICAgICAgICAgcGFyc2VGaWxsUG9zaXRpb24obV92
YWx1ZUxpc3QuZ2V0KCksIGN1cnJWYWx1ZSwgY3VyclZhbHVlMik7CiAgICAgICAgICAgICAgICAg
ICAgIC8vIHBhcnNlRmlsbFBvc2l0aW9uIGFkdmFuY2VzIHRoZSBtX3ZhbHVlTGlzdCBwb2ludGVy
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlCYWNrZ3JvdW5kUG9zaXRpb25YOgogICAgICAgICAgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRNYXNrUG9zaXRpb25YOiB7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnJWYWx1ZSA9
IHBhcnNlRmlsbFBvc2l0aW9uWChtX3ZhbHVlTGlzdCk7CisgICAgICAgICAgICAgICAgICAgIGN1
cnJWYWx1ZSA9IHBhcnNlRmlsbFBvc2l0aW9uWChtX3ZhbHVlTGlzdC5nZXQoKSk7CiAgICAgICAg
ICAgICAgICAgICAgIGlmIChjdXJyVmFsdWUpCiAgICAgICAgICAgICAgICAgICAgICAgICBtX3Zh
bHVlTGlzdC0+bmV4dCgpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRQb3NpdGlv
blk6CiAgICAgICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tQb3NpdGlvblk6
IHsKLSAgICAgICAgICAgICAgICAgICAgY3VyclZhbHVlID0gcGFyc2VGaWxsUG9zaXRpb25ZKG1f
dmFsdWVMaXN0KTsKKyAgICAgICAgICAgICAgICAgICAgY3VyclZhbHVlID0gcGFyc2VGaWxsUG9z
aXRpb25ZKG1fdmFsdWVMaXN0LmdldCgpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJW
YWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzM1NSw3ICszMzUxLDcgQEAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUFuaQogCiBib29sIENTU1BhcnNlcjo6cGFyc2VUcmFu
c2Zvcm1PcmlnaW5TaG9ydGhhbmQoUmVmUHRyPENTU1ZhbHVlPiYgdmFsdWUxLCBSZWZQdHI8Q1NT
VmFsdWU+JiB2YWx1ZTIsIFJlZlB0cjxDU1NWYWx1ZT4mIHZhbHVlMykKIHsKLSAgICBwYXJzZUZp
bGxQb3NpdGlvbihtX3ZhbHVlTGlzdCwgdmFsdWUxLCB2YWx1ZTIpOworICAgIHBhcnNlRmlsbFBv
c2l0aW9uKG1fdmFsdWVMaXN0LmdldCgpLCB2YWx1ZTEsIHZhbHVlMik7CiAKICAgICAvLyBub3cg
Z2V0IHoKICAgICBpZiAobV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkgewpAQCAtNTQxMyw3ICs1NDA5
LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2UoaW50IHBybwogICAgICAgICAg
ICAgICAgIGNvbnRleHQuY29tbWl0SW1hZ2UoQ1NTSW1hZ2VWYWx1ZTo6Y3JlYXRlKG1fc3R5bGVT
aGVldC0+Y29tcGxldGVVUkwodmFsLT5zdHJpbmcpKSk7CiAgICAgICAgICAgICB9IGVsc2UgaWYg
KGlzR2VuZXJhdGVkSW1hZ2VWYWx1ZSh2YWwpKSB7CiAgICAgICAgICAgICAgICAgUmVmUHRyPENT
U1ZhbHVlPiB2YWx1ZTsKLSAgICAgICAgICAgICAgICBpZiAocGFyc2VHZW5lcmF0ZWRJbWFnZSht
X3ZhbHVlTGlzdCwgdmFsdWUpKQorICAgICAgICAgICAgICAgIGlmIChwYXJzZUdlbmVyYXRlZElt
YWdlKG1fdmFsdWVMaXN0LmdldCgpLCB2YWx1ZSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRl
eHQuY29tbWl0SW1hZ2UodmFsdWUpOwogICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNzAxMywxMyArNzAwOSwxMyBAQCBib29sIENTU1Bh
cnNlcjo6cGFyc2VUcmFuc2Zvcm1PcmlnaW4oaW50CiAgICAgICAgICAgICAvLyBwYXJzZVRyYW5z
Zm9ybU9yaWdpblNob3J0aGFuZCBhZHZhbmNlcyB0aGUgbV92YWx1ZUxpc3QgcG9pbnRlcgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm1P
cmlnaW5YOiB7Ci0gICAgICAgICAgICB2YWx1ZSA9IHBhcnNlRmlsbFBvc2l0aW9uWChtX3ZhbHVl
TGlzdCk7CisgICAgICAgICAgICB2YWx1ZSA9IHBhcnNlRmlsbFBvc2l0aW9uWChtX3ZhbHVlTGlz
dC5nZXQoKSk7CiAgICAgICAgICAgICBpZiAodmFsdWUpCiAgICAgICAgICAgICAgICAgbV92YWx1
ZUxpc3QtPm5leHQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm1PcmlnaW5ZOiB7Ci0gICAgICAgICAgICB2YWx1
ZSA9IHBhcnNlRmlsbFBvc2l0aW9uWShtX3ZhbHVlTGlzdCk7CisgICAgICAgICAgICB2YWx1ZSA9
IHBhcnNlRmlsbFBvc2l0aW9uWShtX3ZhbHVlTGlzdC5nZXQoKSk7CiAgICAgICAgICAgICBpZiAo
dmFsdWUpCiAgICAgICAgICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICAgICAgICAg
IGJyZWFrOwpAQCAtNzA0NywxNiArNzA0MywxNiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VQZXJz
cGVjdGl2ZU9yaWdpbihpCiAKICAgICBzd2l0Y2ggKHByb3BJZCkgewogICAgICAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0UGVyc3BlY3RpdmVPcmlnaW46Ci0gICAgICAgICAgICBwYXJzZUZpbGxQ
b3NpdGlvbihtX3ZhbHVlTGlzdCwgdmFsdWUsIHZhbHVlMik7CisgICAgICAgICAgICBwYXJzZUZp
bGxQb3NpdGlvbihtX3ZhbHVlTGlzdC5nZXQoKSwgdmFsdWUsIHZhbHVlMik7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFBlcnNwZWN0aXZlT3JpZ2lu
WDogewotICAgICAgICAgICAgdmFsdWUgPSBwYXJzZUZpbGxQb3NpdGlvblgobV92YWx1ZUxpc3Qp
OworICAgICAgICAgICAgdmFsdWUgPSBwYXJzZUZpbGxQb3NpdGlvblgobV92YWx1ZUxpc3QuZ2V0
KCkpOwogICAgICAgICAgICAgaWYgKHZhbHVlKQogICAgICAgICAgICAgICAgIG1fdmFsdWVMaXN0
LT5uZXh0KCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0UGVyc3BlY3RpdmVPcmlnaW5ZOiB7Ci0gICAgICAgICAgICB2YWx1ZSA9
IHBhcnNlRmlsbFBvc2l0aW9uWShtX3ZhbHVlTGlzdCk7CisgICAgICAgICAgICB2YWx1ZSA9IHBh
cnNlRmlsbFBvc2l0aW9uWShtX3ZhbHVlTGlzdC5nZXQoKSk7CiAgICAgICAgICAgICBpZiAodmFs
dWUpCiAgICAgICAgICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtNzQ5NywxMyArNzQ5MywxMyBAQCBDU1NQYXJzZXJWYWx1ZUxpc3QqIENTU1BhcnNl
cjo6Y3JlYXRlRmxvCiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKLUNTU1BhcnNlclZhbHVlTGlzdCog
Q1NTUGFyc2VyOjpzaW5rRmxvYXRpbmdWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVMaXN0KiBsaXN0
KQorUGFzc093blB0cjxDU1NQYXJzZXJWYWx1ZUxpc3Q+IENTU1BhcnNlcjo6c2lua0Zsb2F0aW5n
VmFsdWVMaXN0KENTU1BhcnNlclZhbHVlTGlzdCogbGlzdCkKIHsKICAgICBpZiAobGlzdCkgewog
ICAgICAgICBBU1NFUlQobV9mbG9hdGluZ1ZhbHVlTGlzdHMuY29udGFpbnMobGlzdCkpOwogICAg
ICAgICBtX2Zsb2F0aW5nVmFsdWVMaXN0cy5yZW1vdmUobGlzdCk7CiAgICAgfQotICAgIHJldHVy
biBsaXN0OworICAgIHJldHVybiBhZG9wdFB0cihsaXN0KTsKIH0KIAogQ1NTUGFyc2VyRnVuY3Rp
b24qIENTU1BhcnNlcjo6Y3JlYXRlRmxvYXRpbmdGdW5jdGlvbigpCkBAIC03NTEzLDEzICs3NTA5
LDEzIEBAIENTU1BhcnNlckZ1bmN0aW9uKiBDU1NQYXJzZXI6OmNyZWF0ZUZsb2EKICAgICByZXR1
cm4gZnVuY3Rpb247CiB9CiAKLUNTU1BhcnNlckZ1bmN0aW9uKiBDU1NQYXJzZXI6OnNpbmtGbG9h
dGluZ0Z1bmN0aW9uKENTU1BhcnNlckZ1bmN0aW9uKiBmdW5jdGlvbikKK1Bhc3NPd25QdHI8Q1NT
UGFyc2VyRnVuY3Rpb24+IENTU1BhcnNlcjo6c2lua0Zsb2F0aW5nRnVuY3Rpb24oQ1NTUGFyc2Vy
RnVuY3Rpb24qIGZ1bmN0aW9uKQogewogICAgIGlmIChmdW5jdGlvbikgewogICAgICAgICBBU1NF
UlQobV9mbG9hdGluZ0Z1bmN0aW9ucy5jb250YWlucyhmdW5jdGlvbikpOwogICAgICAgICBtX2Zs
b2F0aW5nRnVuY3Rpb25zLnJlbW92ZShmdW5jdGlvbik7CiAgICAgfQotICAgIHJldHVybiBmdW5j
dGlvbjsKKyAgICByZXR1cm4gYWRvcHRQdHIoZnVuY3Rpb24pOwogfQogCiBDU1NQYXJzZXJWYWx1
ZSYgQ1NTUGFyc2VyOjpzaW5rRmxvYXRpbmdWYWx1ZShDU1NQYXJzZXJWYWx1ZSYgdmFsdWUpCkBA
IC03ODYxLDcgKzc4NTcsNyBAQCB2b2lkIENTU1BhcnNlcjo6dXBkYXRlTGFzdE1lZGlhTGluZShN
ZWRpCiAKIHZvaWQgQ1NTUGFyc2VyOjptYXJrU2VsZWN0b3JMaXN0U3RhcnQoKQogewotICAgIG1f
c2VsZWN0b3JMaXN0UmFuZ2Uuc3RhcnQgPSB5eXRleHQgLSBtX2RhdGE7CisgICAgbV9zZWxlY3Rv
ckxpc3RSYW5nZS5zdGFydCA9IHl5dGV4dCAtIG1fZGF0YS5nZXQoKTsKIH0KIAogdm9pZCBDU1NQ
YXJzZXI6Om1hcmtTZWxlY3Rvckxpc3RFbmQoKQpAQCAtNzg2OSwxOCArNzg2NSwxOCBAQCB2b2lk
IENTU1BhcnNlcjo6bWFya1NlbGVjdG9yTGlzdEVuZCgpCiAgICAgaWYgKCFtX2N1cnJlbnRSdWxl
RGF0YSkKICAgICAgICAgcmV0dXJuOwogICAgIFVDaGFyKiBsaXN0RW5kID0geXl0ZXh0OwotICAg
IHdoaWxlIChsaXN0RW5kID4gbV9kYXRhICsgMSkgeworICAgIHdoaWxlIChsaXN0RW5kID4gbV9k
YXRhLmdldCgpICsgMSkgewogICAgICAgICBpZiAoaXNIVE1MU3BhY2UoKihsaXN0RW5kIC0gMSkp
KQogICAgICAgICAgICAgLS1saXN0RW5kOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBicmVh
azsKICAgICB9Ci0gICAgbV9zZWxlY3Rvckxpc3RSYW5nZS5lbmQgPSBsaXN0RW5kIC0gbV9kYXRh
OworICAgIG1fc2VsZWN0b3JMaXN0UmFuZ2UuZW5kID0gbGlzdEVuZCAtIG1fZGF0YS5nZXQoKTsK
IH0KIAogdm9pZCBDU1NQYXJzZXI6Om1hcmtSdWxlQm9keVN0YXJ0KCkKIHsKLSAgICB1bnNpZ25l
ZCBvZmZzZXQgPSB5eXRleHQgLSBtX2RhdGE7CisgICAgdW5zaWduZWQgb2Zmc2V0ID0geXl0ZXh0
IC0gbV9kYXRhLmdldCgpOwogICAgIGlmICgqeXl0ZXh0ID09ICd7JykKICAgICAgICAgKytvZmZz
ZXQ7IC8vIFNraXAgdGhlIHJ1bGUgYm9keSBvcGVuaW5nIGJyYWNlLgogICAgIGlmIChvZmZzZXQg
PiBtX3J1bGVCb2R5UmFuZ2Uuc3RhcnQpCkBAIC03ODkwLDcgKzc4ODYsNyBAQCB2b2lkIENTU1Bh
cnNlcjo6bWFya1J1bGVCb2R5U3RhcnQoKQogCiB2b2lkIENTU1BhcnNlcjo6bWFya1J1bGVCb2R5
RW5kKCkKIHsKLSAgICB1bnNpZ25lZCBvZmZzZXQgPSB5eXRleHQgLSBtX2RhdGE7CisgICAgdW5z
aWduZWQgb2Zmc2V0ID0geXl0ZXh0IC0gbV9kYXRhLmdldCgpOwogICAgIGlmIChvZmZzZXQgPiBt
X3J1bGVCb2R5UmFuZ2UuZW5kKQogICAgICAgICBtX3J1bGVCb2R5UmFuZ2UuZW5kID0gb2Zmc2V0
OwogfQpAQCAtNzg5OSwxNCArNzg5NSwxNCBAQCB2b2lkIENTU1BhcnNlcjo6bWFya1Byb3BlcnR5
U3RhcnQoKQogewogICAgIGlmICghbV9pblN0eWxlUnVsZU9yRGVjbGFyYXRpb24pCiAgICAgICAg
IHJldHVybjsKLSAgICBtX3Byb3BlcnR5UmFuZ2Uuc3RhcnQgPSB5eXRleHQgLSBtX2RhdGE7Cisg
ICAgbV9wcm9wZXJ0eVJhbmdlLnN0YXJ0ID0geXl0ZXh0IC0gbV9kYXRhLmdldCgpOwogfQogCiB2
b2lkIENTU1BhcnNlcjo6bWFya1Byb3BlcnR5RW5kKGJvb2wgaXNJbXBvcnRhbnRGb3VuZCwgYm9v
bCBpc1Byb3BlcnR5UGFyc2VkKQogewogICAgIGlmICghbV9pblN0eWxlUnVsZU9yRGVjbGFyYXRp
b24pCiAgICAgICAgIHJldHVybjsKLSAgICB1bnNpZ25lZCBvZmZzZXQgPSB5eXRleHQgLSBtX2Rh
dGE7CisgICAgdW5zaWduZWQgb2Zmc2V0ID0geXl0ZXh0IC0gbV9kYXRhLmdldCgpOwogICAgIGlm
ICgqeXl0ZXh0ID09ICc7JykgLy8gSW5jbHVkZSBzZW1pY29sb24gaW50byB0aGUgcHJvcGVydHkg
dGV4dC4KICAgICAgICAgKytvZmZzZXQ7CiAgICAgbV9wcm9wZXJ0eVJhbmdlLmVuZCA9IG9mZnNl
dDsKQEAgLTc5MTUsNyArNzkxMSw3IEBAIHZvaWQgQ1NTUGFyc2VyOjptYXJrUHJvcGVydHlFbmQo
Ym9vbCBpc0kKICAgICAgICAgY29uc3QgdW5zaWduZWQgc3RhcnQgPSBtX3Byb3BlcnR5UmFuZ2Uu
c3RhcnQ7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGVuZCA9IG1fcHJvcGVydHlSYW5nZS5lbmQ7
CiAgICAgICAgIEFTU0VSVChzdGFydCA8IGVuZCk7Ci0gICAgICAgIFN0cmluZyBwcm9wZXJ0eVN0
cmluZyA9IFN0cmluZyhtX2RhdGEgKyBzdGFydCwgZW5kIC0gc3RhcnQpLnN0cmlwV2hpdGVTcGFj
ZSgpOworICAgICAgICBTdHJpbmcgcHJvcGVydHlTdHJpbmcgPSBTdHJpbmcobV9kYXRhLmdldCgp
ICsgc3RhcnQsIGVuZCAtIHN0YXJ0KS5zdHJpcFdoaXRlU3BhY2UoKTsKICAgICAgICAgaWYgKHBy
b3BlcnR5U3RyaW5nLmVuZHNXaXRoKCI7IiwgdHJ1ZSkpCiAgICAgICAgICAgICBwcm9wZXJ0eVN0
cmluZyA9IHByb3BlcnR5U3RyaW5nLmxlZnQocHJvcGVydHlTdHJpbmcubGVuZ3RoKCkgLSAxKTsK
ICAgICAgICAgc2l6ZV90IGNvbG9uSW5kZXggPSBwcm9wZXJ0eVN0cmluZy5maW5kKCI6Iik7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCShyZXZpc2lvbiAxMDM2NjkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDE0ICsyOSwxNiBAQAog
I2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJN
ZWRpYVF1ZXJ5LmgiCi0jaWYgRU5BQkxFKENTU19GSUxURVJTKQotI2luY2x1ZGUgIldlYktpdENT
U0ZpbHRlclZhbHVlLmgiCi0jZW5kaWYKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCisj
aWYgRU5BQkxFKENTU19GSUxURVJTKQorI2luY2x1ZGUgIldlYktpdENTU0ZpbHRlclZhbHVlLmgi
CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NCb3JkZXJJbWFnZVNs
aWNlVmFsdWU7CkBAIC0yMjUsMTAgKzIyNywxMCBAQCBwdWJsaWM6CiAgICAgUGFzc093blB0cjxW
ZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+ID4gc2lua0Zsb2F0aW5nU2VsZWN0b3JW
ZWN0b3IoVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiopOwogCiAgICAgQ1NTUGFy
c2VyVmFsdWVMaXN0KiBjcmVhdGVGbG9hdGluZ1ZhbHVlTGlzdCgpOwotICAgIENTU1BhcnNlclZh
bHVlTGlzdCogc2lua0Zsb2F0aW5nVmFsdWVMaXN0KENTU1BhcnNlclZhbHVlTGlzdCopOworICAg
IFBhc3NPd25QdHI8Q1NTUGFyc2VyVmFsdWVMaXN0PiBzaW5rRmxvYXRpbmdWYWx1ZUxpc3QoQ1NT
UGFyc2VyVmFsdWVMaXN0Kik7CiAKICAgICBDU1NQYXJzZXJGdW5jdGlvbiogY3JlYXRlRmxvYXRp
bmdGdW5jdGlvbigpOwotICAgIENTU1BhcnNlckZ1bmN0aW9uKiBzaW5rRmxvYXRpbmdGdW5jdGlv
bihDU1NQYXJzZXJGdW5jdGlvbiopOworICAgIFBhc3NPd25QdHI8Q1NTUGFyc2VyRnVuY3Rpb24+
IHNpbmtGbG9hdGluZ0Z1bmN0aW9uKENTU1BhcnNlckZ1bmN0aW9uKik7CiAKICAgICBDU1NQYXJz
ZXJWYWx1ZSYgc2lua0Zsb2F0aW5nVmFsdWUoQ1NTUGFyc2VyVmFsdWUmKTsKIApAQCAtMjc4LDcg
KzI4MCw3IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8Q1NTUnVsZT4gbV9ydWxlOwogICAgIFJlZlB0
cjxXZWJLaXRDU1NLZXlmcmFtZVJ1bGU+IG1fa2V5ZnJhbWU7CiAgICAgT3duUHRyPE1lZGlhUXVl
cnk+IG1fbWVkaWFRdWVyeTsKLSAgICBDU1NQYXJzZXJWYWx1ZUxpc3QqIG1fdmFsdWVMaXN0Owor
ICAgIE93blB0cjxDU1NQYXJzZXJWYWx1ZUxpc3Q+IG1fdmFsdWVMaXN0OwogICAgIENTU1Byb3Bl
cnR5KiogbV9wYXJzZWRQcm9wZXJ0aWVzOwogICAgIENTU1NlbGVjdG9yTGlzdCogbV9zZWxlY3Rv
ckxpc3RGb3JQYXJzZVNlbGVjdG9yOwogCkBAIC0zNTQsNyArMzU2LDcgQEAgcHJpdmF0ZToKIAog
ICAgIGJvb2wgcGFyc2VDb2xvcihjb25zdCBTdHJpbmcmKTsKIAotICAgIFVDaGFyKiBtX2RhdGE7
CisgICAgT3duQXJyYXlQdHI8VUNoYXI+IG1fZGF0YTsKICAgICBVQ2hhciogeXl0ZXh0OwogICAg
IFVDaGFyKiB5eV9jX2J1Zl9wOwogICAgIFVDaGFyIHl5X2hvbGRfY2hhcjsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2Nzcy9TVkdDU1NQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2Nzcy9TVkdDU1NQYXJzZXIuY3BwCShyZXZpc2lvbiAxMDM2NjkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcyLDcgKzI3Miw3
IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVNWR1ZhbHVlKGludCBwcm9wSWQKICAgICAgICAgaWYg
KGlkID09IENTU1ZhbHVlTm9uZSkKICAgICAgICAgICAgIHZhbGlkX3ByaW1pdGl2ZSA9IHRydWU7
CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gc2hhZG93
VmFsdWVMaXN0ID0gcGFyc2VTaGFkb3cobV92YWx1ZUxpc3QsIHByb3BJZCk7CisgICAgICAgICAg
ICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBzaGFkb3dWYWx1ZUxpc3QgPSBwYXJzZVNoYWRvdyhtX3Zh
bHVlTGlzdC5nZXQoKSwgcHJvcElkKTsKICAgICAgICAgICAgIGlmIChzaGFkb3dWYWx1ZUxpc3Qp
IHsKICAgICAgICAgICAgICAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIHNoYWRvd1ZhbHVlTGlzdC5y
ZWxlYXNlKCksIGltcG9ydGFudCk7CiAgICAgICAgICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQo
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvUGx1Z2luRG9jdW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1BsdWdpbkRvY3VtZW50LmgJKHJldmlzaW9uIDEwMzY2
OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvUGx1Z2luRG9jdW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMzEsNiArMzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE5vZGU7CiBj
bGFzcyBXaWRnZXQ7CisKIGNsYXNzIFBsdWdpbkRvY3VtZW50IDogcHVibGljIEhUTUxEb2N1bWVu
dCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8UGx1Z2luRG9jdW1lbnQ+IGNyZWF0
ZShGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCkKQEAgLTQzLDkgKzQ0LDcgQEAgcHVibGlj
OgogICAgIFdpZGdldCogcGx1Z2luV2lkZ2V0KCk7CiAgICAgTm9kZSogcGx1Z2luTm9kZSgpOwog
Ci0gICAgdmlydHVhbCBib29sIGlzUGx1Z2luRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiB0cnVl
OyB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7CisgICAgdmlydHVhbCB2b2lkIGRldGFj
aCgpIE9WRVJSSURFOwogCiAgICAgdm9pZCBjYW5jZWxNYW51YWxQbHVnaW5Mb2FkKCk7CiAKQEAg
LTU0LDcgKzUzLDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBQbHVnaW5Eb2N1bWVudChGcmFt
ZSosIGNvbnN0IEtVUkwmKTsKIAotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxEb2N1bWVudFBhcnNl
cj4gY3JlYXRlUGFyc2VyKCk7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPERvY3VtZW50UGFyc2Vy
PiBjcmVhdGVQYXJzZXIoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNQbHVnaW5Eb2N1
bWVudCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0gICAgCiAgICAgICAgIAogICAg
IHZvaWQgc2V0U2hvdWxkTG9hZFBsdWdpbk1hbnVhbGx5KGJvb2wgbG9hZE1hbnVhbGx5KSB7IG1f
c2hvdWxkTG9hZFBsdWdpbk1hbnVhbGx5ID0gbG9hZE1hbnVhbGx5OyB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCShyZXZpc2lvbiAxMDM2NjkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaAkod29ya2luZyBjb3B5KQpAQCAtNDYs
OCArNDYsNyBAQCBwdWJsaWM6CiAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3R5cGVE
YXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvY3R5cGVEYXRhKCkKLSAgICAgICAgICAgIDog
RG9jdHlwZURhdGFCYXNlKCkKLSAgICAgICAgICAgICwgbV9mb3JjZVF1aXJrcyhmYWxzZSkKKyAg
ICAgICAgICAgIDogbV9mb3JjZVF1aXJrcyhmYWxzZSkKICAgICAgICAgewogICAgICAgICB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2Uu
Y3BwCShyZXZpc2lvbiAxMDM2NjkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc3LDggKzM3Nyw4IEBAIHRlbXBs
YXRlIDx0eXBlbmFtZSBUPgogY2xhc3MgUmVmQ291bnRlZFByb3BlcnR5V3JhcHBlciA6IHB1Ymxp
YyBQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8VCo+IHsKIHB1YmxpYzoKICAgICBSZWZDb3VudGVkUHJv
cGVydHlXcmFwcGVyKGludCBwcm9wLCBUKiAoUmVuZGVyU3R5bGU6OipnZXR0ZXIpKCkgY29uc3Qs
IHZvaWQgKFJlbmRlclN0eWxlOjoqc2V0dGVyKShQYXNzUmVmUHRyPFQ+KSkKLSAgICA6IFByb3Bl
cnR5V3JhcHBlckdldHRlcjxUKj4ocHJvcCwgZ2V0dGVyKQotICAgICwgbV9zZXR0ZXIoc2V0dGVy
KQorICAgICAgICA6IFByb3BlcnR5V3JhcHBlckdldHRlcjxUKj4ocHJvcCwgZ2V0dGVyKQorICAg
ICAgICAsIG1fc2V0dGVyKHNldHRlcikKICAgICB7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMTAzNjY5KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTM1LDkgKzM1LDYgQEAKICNpbmNsdWRlICJDb3VudGVyRGlyZWN0aXZlcy5oIgog
I2luY2x1ZGUgIkRhdGFSZWYuaCIKICNpbmNsdWRlICJGaWxsTGF5ZXIuaCIKLSNpZiBFTkFCTEUo
Q1NTX0ZJTFRFUlMpCi0jaW5jbHVkZSAiRmlsdGVyT3BlcmF0aW9ucy5oIgotI2VuZGlmCiAjaW5j
bHVkZSAiRm9udC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzVHlwZXMuaCIKICNpbmNsdWRlICJMZW5n
dGguaCIKQEAgLTUyLDEzICs0OSw3IEBACiAjaW5jbHVkZSAiU3R5bGVCYWNrZ3JvdW5kRGF0YS5o
IgogI2luY2x1ZGUgIlN0eWxlQm94RGF0YS5oIgogI2luY2x1ZGUgIlN0eWxlRGVwcmVjYXRlZEZs
ZXhpYmxlQm94RGF0YS5oIgotI2lmIEVOQUJMRShDU1NfRklMVEVSUykKLSNpbmNsdWRlICJTdHls
ZUZpbHRlckRhdGEuaCIKLSNlbmRpZgogI2luY2x1ZGUgIlN0eWxlRmxleGlibGVCb3hEYXRhLmgi
Ci0jaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKLSNpbmNsdWRlICJTdHlsZUdyaWREYXRhLmgi
Ci0jZW5kaWYKICNpbmNsdWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKICNpbmNsdWRlICJTdHls
ZU1hcnF1ZWVEYXRhLmgiCiAjaW5jbHVkZSAiU3R5bGVNdWx0aUNvbERhdGEuaCIKQEAgLTc5LDYg
KzcwLDE1IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAorI2lmIEVOQUJMRShDU1NfRklMVEVSUykKKyNpbmNsdWRlICJGaWx0ZXJPcGVy
YXRpb25zLmgiCisjaW5jbHVkZSAiU3R5bGVGaWx0ZXJEYXRhLmgiCisjZW5kaWYKKworI2lmIEVO
QUJMRShDU1NfR1JJRF9MQVlPVVQpCisjaW5jbHVkZSAiU3R5bGVHcmlkRGF0YS5oIgorI2VuZGlm
CisKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCiAjaW5jbHVkZSAiU3R5bGVEYXNoYm9h
cmRSZWdpb24uaCIKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9NYXJr
dXBUb2tlbkJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL01h
cmt1cFRva2VuQmFzZS5oCShyZXZpc2lvbiAxMDM2NjkpCisrKyBTb3VyY2UvV2ViQ29yZS94bWwv
cGFyc2VyL01hcmt1cFRva2VuQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsNyArMTUzLDcg
QEAgcHVibGljOgogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdHlwZSA9PSBUeXBlU2V0OjpVbmlu
aXRpYWxpemVkKTsKICAgICAgICAgbV90eXBlID0gVHlwZVNldDo6RE9DVFlQRTsKLSAgICAgICAg
bV9kb2N0eXBlRGF0YSA9IGFkb3B0UHRyKG5ldyBEb2N0eXBlRGF0YSgpKTsKKyAgICAgICAgbV9k
b2N0eXBlRGF0YSA9IGFkb3B0UHRyKG5ldyBEb2N0eXBlRGF0YSk7CiAgICAgfQogCiAgICAgdm9p
ZCBiZWdpbkRPQ1RZUEUoVUNoYXIgY2hhcmFjdGVyKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>