<?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>152529</bug_id>
          
          <creation_ts>2015-12-23 09:20:42 -0800</creation_ts>
          <short_desc>Need a story for platform-specific Args</short_desc>
          <delta_ts>2015-12-23 16:14:51 -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>JavaScriptCore</component>
          <version>WebKit 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>152530</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1151084</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-23 09:20:42 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151086</commentid>
    <comment_count>1</comment_count>
      <attachid>267841</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-23 09:25:47 -0800</bug_when>
    <thetext>Created attachment 267841
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151133</commentid>
    <comment_count>2</comment_count>
      <attachid>267852</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-23 12:57:18 -0800</bug_when>
    <thetext>Created attachment 267852
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151151</commentid>
    <comment_count>3</comment_count>
      <attachid>267852</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-12-23 14:16:51 -0800</bug_when>
    <thetext>Comment on attachment 267852
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151205</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-23 16:14:51 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/194401</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267841</attachid>
            <date>2015-12-23 09:25:47 -0800</date>
            <delta_ts>2015-12-23 12:57:18 -0800</delta_ts>
            <desc>work in progress</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>14848</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyVG9BaXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyVG9BaXIuY3BwCShyZXZpc2lv
biAxOTQzODIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNMb3dlclRvQWlyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzM3LDMyICszMzcsNDAgQEAgcHJpdmF0ZToKICAgICB9CiAKICAg
ICAvLyBUaGlzIHR1cm5zIHRoZSBnaXZlbiBvcGVyYW5kIGludG8gYW4gYWRkcmVzcy4KLSAgICBB
cmcgZWZmZWN0aXZlQWRkcihWYWx1ZSogYWRkcmVzcykKKyAgICBBcmcgZWZmZWN0aXZlQWRkcihW
YWx1ZSogYWRkcmVzcywgaW50MzJfdCBvZmZzZXQsIEFyZzo6V2lkdGggd2lkdGgpCiAgICAgewot
ICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbG90c09mVXNlcyA9IDEwOyAvLyBUaGlzIGlz
IGFyYml0cmFyeSBhbmQgd2Ugc2hvdWxkIHR1bmUgaXQgZXZlbnR1YWxseS4KKyAgICAgICAgLy8g
QjMgYWxsb3dzIGFueSBtZW1vcnkgb3BlcmF0aW9uIHRvIGhhdmUgYSAzMi1iaXQgb2Zmc2V0LiBU
aGF0J3Mgbm90IGhvdyBzb21lIGFyY2hpdGVjdHVyZXMKKyAgICAgICAgLy8gd29yay4gV2Ugc29s
dmUgdGhpcyBieSByZXF1aXJpbmcgYSBqdXN0LWJlZm9yZS1sb3dlcmluZyBwaGFzZSB0aGF0IGxl
Z2FsaXplcyBvZmZzZXRzLgorICAgICAgICBBU1NFUlQoQXJnOjppc1ZhbGlkQWRkckZvcm0ob2Zm
c2V0KSk7CisKKyAgICAgICAgYXV0byBmYWxsQmFjayA9IFsmXSAoKSAtPiBBcmcgeworICAgICAg
ICAgICAgcmV0dXJuIEFyZzo6YWRkcih0bXAoYWRkcmVzcyksIG9mZnNldCk7CisgICAgICAgIH07
CiAgICAgICAgIAorICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbG90c09mVXNlcyA9IDEw
OyAvLyBUaGlzIGlzIGFyYml0cmFyeSBhbmQgd2Ugc2hvdWxkIHR1bmUgaXQgZXZlbnR1YWxseS4K
KwogICAgICAgICAvLyBPbmx5IG1hdGNoIGlmIHRoZSBhZGRyZXNzIHZhbHVlIGlzbid0IHVzZWQg
aW4gc29tZSBsYXJnZSBudW1iZXIgb2YgcGxhY2VzLgogICAgICAgICBpZiAobV91c2VDb3VudHMu
bnVtVXNlcyhhZGRyZXNzKSA+IGxvdHNPZlVzZXMpCi0gICAgICAgICAgICByZXR1cm4gQXJnOjph
ZGRyKHRtcChhZGRyZXNzKSk7CisgICAgICAgICAgICByZXR1cm4gZmFsbGJhY2soKTsKICAgICAg
ICAgCiAgICAgICAgIHN3aXRjaCAoYWRkcmVzcy0+b3Bjb2RlKCkpIHsKICAgICAgICAgY2FzZSBB
ZGQ6IHsKICAgICAgICAgICAgIFZhbHVlKiBsZWZ0ID0gYWRkcmVzcy0+Y2hpbGQoMCk7CiAgICAg
ICAgICAgICBWYWx1ZSogcmlnaHQgPSBhZGRyZXNzLT5jaGlsZCgxKTsKIAotICAgICAgICAgICAg
YXV0byB0cnlJbmRleCA9IFsmXSAoVmFsdWUqIGluZGV4LCBWYWx1ZSogb2Zmc2V0KSAtPiBBcmcg
eworICAgICAgICAgICAgYXV0byB0cnlJbmRleCA9IFsmXSAoVmFsdWUqIGluZGV4LCBWYWx1ZSog
YmFzZSkgLT4gQXJnIHsKICAgICAgICAgICAgICAgICBpZiAoaW5kZXgtPm9wY29kZSgpICE9IFNo
bCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFyZygpOwotICAgICAgICAgICAgICAgIGlm
IChtX2xvY2tlZC5jb250YWlucyhpbmRleC0+Y2hpbGQoMCkpIHx8IG1fbG9ja2VkLmNvbnRhaW5z
KG9mZnNldCkpCisgICAgICAgICAgICAgICAgaWYgKG1fbG9ja2VkLmNvbnRhaW5zKGluZGV4LT5j
aGlsZCgwKSkgfHwgbV9sb2NrZWQuY29udGFpbnMoYmFzZSkpCiAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBBcmcoKTsKICAgICAgICAgICAgICAgICBpZiAoIWluZGV4LT5jaGlsZCgxKS0+aGFz
SW50MzIoKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFyZygpOwogICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgIHVuc2lnbmVkIHNjYWxlID0gMSA8PCAoaW5kZXgtPmNoaWxk
KDEpLT5hc0ludDMyKCkgJiAzMSk7Ci0gICAgICAgICAgICAgICAgaWYgKCFBcmc6OmlzVmFsaWRT
Y2FsZShzY2FsZSkpCisgICAgICAgICAgICAgICAgaWYgKCFBcmc6OmlzVmFsaWRJbmRleEZvcm0o
c2NhbGUsIG9mZnNldCwgd2lkdGgpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gQXJnKCk7
CiAKLSAgICAgICAgICAgICAgICByZXR1cm4gQXJnOjppbmRleCh0bXAob2Zmc2V0KSwgdG1wKGlu
ZGV4LT5jaGlsZCgwKSksIHNjYWxlKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gQXJnOjppbmRl
eCh0bXAoYmFzZSksIHRtcChpbmRleC0+Y2hpbGQoMCkpLCBzY2FsZSwgb2Zmc2V0KTsKICAgICAg
ICAgICAgIH07CiAKICAgICAgICAgICAgIGlmIChBcmcgcmVzdWx0ID0gdHJ5SW5kZXgobGVmdCwg
cmlnaHQpKQpAQCAtMzcwLDEwICszNzgsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGlmIChB
cmcgcmVzdWx0ID0gdHJ5SW5kZXgocmlnaHQsIGxlZnQpKQogICAgICAgICAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAKLSAgICAgICAgICAgIGlmIChtX2xvY2tlZC5jb250YWlucyhsZWZ0KSB8fCBt
X2xvY2tlZC5jb250YWlucyhyaWdodCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIEFyZzo6YWRk
cih0bXAoYWRkcmVzcykpOworICAgICAgICAgICAgaWYgKG1fbG9ja2VkLmNvbnRhaW5zKGxlZnQp
IHx8IG1fbG9ja2VkLmNvbnRhaW5zKHJpZ2h0KQorICAgICAgICAgICAgICAgIHx8ICFBcmc6Omlz
VmFsaWRJbmRleEZvcm0oMSwgb2Zmc2V0LCB3aWR0aCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbGxiYWNrKCk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIHJldHVybiBBcmc6OmluZGV4
KHRtcChsZWZ0KSwgdG1wKHJpZ2h0KSk7CisgICAgICAgICAgICByZXR1cm4gQXJnOjppbmRleCh0
bXAobGVmdCksIHRtcChyaWdodCksIDEsIG9mZnNldCk7CiAgICAgICAgIH0KIAogICAgICAgICBj
YXNlIFNobDogewpAQCAtMzgyLDIwICszOTEsMjEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIC8v
IFdlJ2xsIG5ldmVyIHNlZSBjaGlsZCgxKS0+aXNJbnQzMigwKSwgc2luY2UgdGhhdCB3b3VsZCBo
YXZlIGJlZW4gcmVkdWNlZC4gSWYgdGhlIHNoaWZ0CiAgICAgICAgICAgICAvLyBhbW91bnQgaXMg
Z3JlYXRlciB0aGFuIDEsIHRoZW4gdGhlcmUgaXNuJ3QgcmVhbGx5IGFueXRoaW5nIHNtYXJ0IHRo
YXQgd2UgY291bGQgZG8gaGVyZS4KICAgICAgICAgICAgIC8vIFdlIGF2b2lkIHVzaW5nIGJhc2Vs
ZXNzIGluZGV4ZXMgYmVjYXVzZSB0aGVpciBlbmNvZGluZyBpc24ndCBwYXJ0aWN1bGFybHkgZWZm
aWNpZW50LgotICAgICAgICAgICAgaWYgKG1fbG9ja2VkLmNvbnRhaW5zKGxlZnQpIHx8ICFhZGRy
ZXNzLT5jaGlsZCgxKS0+aXNJbnQzMigxKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gQXJnOjph
ZGRyKHRtcChhZGRyZXNzKSk7CisgICAgICAgICAgICBpZiAobV9sb2NrZWQuY29udGFpbnMobGVm
dCkgfHwgIWFkZHJlc3MtPmNoaWxkKDEpLT5pc0ludDMyKDEpCisgICAgICAgICAgICAgICAgfHwg
IUFyZzo6aXNWYWxpZEluZGV4Rm9ybSgxLCBvZmZzZXQsIHdpZHRoKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsbGJhY2soKTsKIAotICAgICAgICAgICAgcmV0dXJuIEFyZzo6aW5kZXgodG1w
KGxlZnQpLCB0bXAobGVmdCkpOworICAgICAgICAgICAgcmV0dXJuIEFyZzo6aW5kZXgodG1wKGxl
ZnQpLCB0bXAobGVmdCksIDEsIG9mZnNldCk7CiAgICAgICAgIH0KIAogICAgICAgICBjYXNlIEZy
YW1lUG9pbnRlcjoKLSAgICAgICAgICAgIHJldHVybiBBcmc6OmFkZHIoVG1wKEdQUkluZm86OmNh
bGxGcmFtZVJlZ2lzdGVyKSk7CisgICAgICAgICAgICByZXR1cm4gQXJnOjphZGRyKFRtcChHUFJJ
bmZvOjpjYWxsRnJhbWVSZWdpc3RlciksIG9mZnNldCk7CiAKICAgICAgICAgY2FzZSBCMzo6U3Rh
Y2tTbG90OgotICAgICAgICAgICAgcmV0dXJuIEFyZzo6c3RhY2sobV9zdGFja1RvU3RhY2suZ2V0
KGFkZHJlc3MtPmFzPFN0YWNrU2xvdFZhbHVlPigpKSk7CisgICAgICAgICAgICByZXR1cm4gQXJn
OjpzdGFjayhtX3N0YWNrVG9TdGFjay5nZXQoYWRkcmVzcy0+YXM8U3RhY2tTbG90VmFsdWU+KCkp
LCBvZmZzZXQpOwogCiAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gQXJnOjph
ZGRyKHRtcChhZGRyZXNzKSk7CisgICAgICAgICAgICByZXR1cm4gZmFsbGJhY2soKTsKICAgICAg
ICAgfQogICAgIH0KIApAQCAtNDA3LDE0ICs0MTcsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgaWYg
KCF2YWx1ZSkKICAgICAgICAgICAgIHJldHVybiBBcmcoKTsKIAotICAgICAgICBBcmcgcmVzdWx0
ID0gZWZmZWN0aXZlQWRkcih2YWx1ZS0+bGFzdENoaWxkKCkpOwotICAgICAgICBBU1NFUlQocmVz
dWx0KTsKLSAgICAgICAgCi0gICAgICAgIGludDMyX3Qgb2Zmc2V0ID0gbWVtb3J5VmFsdWUtPmFz
PE1lbW9yeVZhbHVlPigpLT5vZmZzZXQoKTsKLSAgICAgICAgQXJnIG9mZnNldFJlc3VsdCA9IHJl
c3VsdC53aXRoT2Zmc2V0KG9mZnNldCk7Ci0gICAgICAgIGlmICghb2Zmc2V0UmVzdWx0KQotICAg
ICAgICAgICAgcmV0dXJuIEFyZzo6YWRkcih0bXAodmFsdWUtPmxhc3RDaGlsZCgpKSwgb2Zmc2V0
KTsKLSAgICAgICAgcmV0dXJuIG9mZnNldFJlc3VsdDsKKyAgICAgICAgaW50MzJfdCBvZmZzZXQg
PSB2YWx1ZS0+b2Zmc2V0KCk7CisgICAgICAgIEFyZzo6V2lkdGggd2lkdGggPSBBcmc6OndpZHRo
Rm9yQnl0ZXModmFsdWUtPmFjY2Vzc0J5dGVTaXplKCkpOworCisgICAgICAgIEFyZyByZXN1bHQg
PSBlZmZlY3RpdmVBZGRyKHZhbHVlLT5sYXN0Q2hpbGQoKSwgb2Zmc2V0LCB3aWR0aCk7CisgICAg
ICAgIEFTU0VSVChyZXN1bHQuaXNWYWxpZEZvcm0od2lkdGgpKTsKKworICAgICAgICByZXR1cm4g
cmVzdWx0OwogICAgIH0KIAogICAgIEFyZ1Byb21pc2UgbG9hZFByb21pc2UoVmFsdWUqIGxvYWRW
YWx1ZSwgQjM6Ok9wY29kZSBsb2FkT3Bjb2RlKQpAQCAtNDM1LDggKzQ0NCwxMSBAQCBwcml2YXRl
OgogCiAgICAgQXJnIGltbShWYWx1ZSogdmFsdWUpCiAgICAgewotICAgICAgICBpZiAodmFsdWUt
Pmhhc0ludCgpICYmIHZhbHVlLT5yZXByZXNlbnRhYmxlQXM8aW50MzJfdD4oKSkKLSAgICAgICAg
ICAgIHJldHVybiBBcmc6OmltbSh2YWx1ZS0+YXNOdW1iZXI8aW50MzJfdD4oKSk7CisgICAgICAg
IGlmICh2YWx1ZS0+aGFzSW50KCkpIHsKKyAgICAgICAgICAgIGludDY0X3QgaW50VmFsdWUgPSB2
YWx1ZS0+YXNJbnQoKTsKKyAgICAgICAgICAgIGlmIChBcmc6OmlzVmFsaWRJbW1Gb3JtKGludFZh
bHVlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gQXJnOjppbW0oaW50VmFsdWUpOworICAgICAg
ICB9CiAgICAgICAgIHJldHVybiBBcmcoKTsKICAgICB9CiAKQEAgLTE3ODEsMTUgKzE3OTMsMTIg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGNh
c2UgQ29uc3QzMjogewotICAgICAgICAgICAgYXBwZW5kKE1vdmUsIGltbShtX3ZhbHVlKSwgdG1w
KG1fdmFsdWUpKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQorICAgICAgICBjYXNl
IENvbnN0MzI6CiAgICAgICAgIGNhc2UgQ29uc3Q2NDogewogICAgICAgICAgICAgaWYgKGltbSht
X3ZhbHVlKSkKICAgICAgICAgICAgICAgICBhcHBlbmQoTW92ZSwgaW1tKG1fdmFsdWUpLCB0bXAo
bV92YWx1ZSkpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGFwcGVuZChNb3Zl
LCBBcmc6OmltbTY0KG1fdmFsdWUtPmFzSW50NjQoKSksIHRtcChtX3ZhbHVlKSk7CisgICAgICAg
ICAgICAgICAgYXBwZW5kKE1vdmUsIEFyZzo6aW1tNjQobV92YWx1ZS0+YXNJbnQoKSksIHRtcCht
X3ZhbHVlKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVN0YWNrLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRlU3RhY2suY3BwCShyZXZp
c2lvbiAxOTQzODIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRl
U3RhY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzEsNiArMjMxLDExIEBAIHZvaWQgYWxsb2Nh
dGVTdGFjayhDb2RlJiBjb2RlKQogICAgIC8vIHRyYW5zZm9ybWF0aW9uIHNpbmNlIHdlIGNhbiBz
ZWFyY2ggdGhlIFN0YWNrU2xvdHMgYXJyYXkgdG8gZmlndXJlIG91dCB3aGljaCBTdGFja1Nsb3Qg
YW55CiAgICAgLy8gb2Zmc2V0LWZyb20tRlAgcmVmZXJzIHRvLgogCisgICAgLy8gRklYTUU6IFRo
aXMgbWF5IHByb2R1Y2UgYWRkcmVzc2VzIHRoYXQgYXJlbid0IHZhbGlkIGlmIHdlIGVuZCB1cCB3
aXRoIGEgZ2lub3Jtb3VzIHN0YWNrIGZyYW1lLgorICAgIC8vIFdlIHdvdWxkIGhhdmUgdG8gc2Nh
dmVuZ2UgZm9yIHRlbXBvcmFyaWVzIGlmIHRoaXMgaGFwcGVuZWQuIEZvcnR1bmF0ZWx5LCB0aGlz
IGNhc2Ugd2lsbCBiZQorICAgIC8vIGV4dHJlbWVseSByYXJlIHNvIHdlIGNhbiBkbyBjcmF6eSB0
aGluZ3Mgd2hlbiBpdCBhcmlzZXMuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1MjUzMAorICAgIAogICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBj
b2RlKSB7CiAgICAgICAgIGZvciAoSW5zdCYgaW5zdCA6ICpibG9jaykgewogICAgICAgICAgICAg
Zm9yIChBcmcmIGFyZyA6IGluc3QuYXJncykgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL2Fpci9BaXJBcmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
YWlyL0FpckFyZy5oCShyZXZpc2lvbiAxOTQzODIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvYWlyL0FpckFyZy5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSwxMCBAQCBwdWJsaWM6
CiAgICAgICAgIC8vIGV2ZW50dWFsbHkgYmVjb21lIHJlZ2lzdGVycy4KICAgICAgICAgVG1wLAog
Ci0gICAgICAgIC8vIFRoaXMgaXMgYW4gaW1tZWRpYXRlIHRoYXQgdGhlIGluc3RydWN0aW9uIHdp
bGwgbWF0ZXJpYWxpemUuCisgICAgICAgIC8vIFRoaXMgaXMgYW4gaW1tZWRpYXRlIHRoYXQgdGhl
IGluc3RydWN0aW9uIHdpbGwgbWF0ZXJpYWxpemUuIEltbSBpcyB0aGUgaW1tZWRpYXRlIHRoYXQg
Y2FuIGJlCisgICAgICAgIC8vIGlubGluZWQgaW50byBtb3N0IGluc3RydWN0aW9ucywgd2hpbGUg
SW1tNjQgaW5kaWNhdGVzIGEgY29uc3RhbnQgbWF0ZXJpYWxpemF0aW9uIGFuZCBpcworICAgICAg
ICAvLyB1c3VhbGx5IG9ubHkgdXNhYmxlIHdpdGggTW92ZS4gU3BlY2lhbHMgbWF5IGFsc28gYWRt
aXQgaXQsIGZvciBleGFtcGxlIGZvciBzdGFja21hcHMgdXNlZCBmb3IKKyAgICAgICAgLy8gT1NS
IGV4aXQgYW5kIHRhaWwgY2FsbHMuCiAgICAgICAgIEltbSwKICAgICAgICAgSW1tNjQsCiAKQEAg
LTMyNyw3ICszMzAsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHN0YXRpYyBBcmcg
aW1tKGludDMyX3QgdmFsdWUpCisgICAgc3RhdGljIEFyZyBpbW0oaW50NjRfdCB2YWx1ZSkKICAg
ICB7CiAgICAgICAgIEFyZyByZXN1bHQ7CiAgICAgICAgIHJlc3VsdC5tX2tpbmQgPSBJbW07CkBA
IC0zMzUsNyArMzM4LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0K
IAotICAgIHN0YXRpYyBBcmcgaW1tNjQoaW50cHRyX3QgdmFsdWUpCisgICAgc3RhdGljIEFyZyBp
bW02NChpbnQ2NF90IHZhbHVlKQogICAgIHsKICAgICAgICAgQXJnIHJlc3VsdDsKICAgICAgICAg
cmVzdWx0Lm1fa2luZCA9IEltbTY0OwpAQCAtMzcwLDE0ICszNzMsMjUgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAgIHN0YXRpYyBib29sIGlzVmFsaWRTY2Fs
ZSh1bnNpZ25lZCBzY2FsZSkKKyAgICAvLyBJZiB5b3UgZG9uJ3QgcGFzcyBhIFdpZHRoLCB0aGlz
IG9wdGltaXN0aWNhbGx5IGFzc3VtZXMgdGhhdCB5b3UncmUgdXNpbmcgdGhlIHJpZ2h0IHdpZHRo
LgorICAgIHN0YXRpYyBib29sIGlzVmFsaWRTY2FsZSh1bnNpZ25lZCBzY2FsZSwgT3B0aW9uYWw8
V2lkdGg+IHdpZHRoID0gTnVsbG9wdCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAoc2NhbGUpIHsK
ICAgICAgICAgY2FzZSAxOgorICAgICAgICAgICAgaWYgKGlzWDg2KCkgfHwgaXNBUk02NCgpKQor
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICBjYXNlIDI6CiAgICAgICAgIGNhc2UgNDoKICAgICAgICAgY2FzZSA4OgotICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICBpZiAoaXNYODYoKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChpc0FSTTY0KCkpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoIXdpZHRoKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gc2NhbGUgPT0gYnl0ZXMoKndpZHRoKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQpAQCAtNzU0LDI0ICs3NjgsNTggQEAgcHVibGlj
OgogICAgICAgICByZXR1cm4gdG1wKCkudG1wSW5kZXgoKTsKICAgICB9CiAKLSAgICBBcmcgd2l0
aE9mZnNldChpbnQzMl90IGFkZGl0aW9uYWxPZmZzZXQpIGNvbnN0CisgICAgc3RhdGljIGJvb2wg
aXNWYWxpZEltbUZvcm0oaW50NjRfdCB2YWx1ZSkKKyAgICB7CisgICAgICAgIGlmIChpc1g4Nigp
KQorICAgICAgICAgICAgcmV0dXJuIGlzUmVwcmVzZW50YWJsZUFzPGludDMyX3Q+KHZhbHVlKTsK
KyAgICAgICAgLy8gRklYTUU6IEFSTSBoYXMgc29tZSBzcGVjaWZpYyBydWxlcyBhYm91dCB3aGF0
IGtpbmRzIG9mIGltbWVkaWF0ZXMgYXJlIHZhbGlkLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUyNTMwCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBpc1ZhbGlkQWRkckZvcm0oaW50MzJfdCBvZmZzZXQp
CisgICAgeworICAgICAgICBpZiAoaXNYODYoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICAvLyBGSVhNRTogQVJNIGhhcyBzb21lIHNwZWNpZmljIHJ1bGVzIGFib3V0IHdoYXQg
a2luZHMgb2Ygb2Zmc2V0cyBhcmUgdmFsaWQuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI1MzAKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKworICAgIHN0YXRpYyBib29sIGlzVmFsaWRJbmRleEZvcm0odW5zaWduZWQgc2NhbGUsIGlu
dDMyX3Qgb2Zmc2V0LCBPcHRpb25hbDxXaWR0aD4gd2lkdGggPSBOdWxsb3B0KQorICAgIHsKKyAg
ICAgICAgaWYgKCFpc1ZhbGlkU2NhbGUoc2NhbGUsIHdpZHRoKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgaWYgKGlzWDg2KCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgaWYgKGlzQVJNNjQoKSkKKyAgICAgICAgICAgIHJldHVybiAhb2Zmc2V0OworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgLy8gSWYgeW91IGRvbid0IHBhc3MgYSB3
aWR0aCB0aGVuIHRoaXMgb3B0aW1pc3RpY2FsbHkgYXNzdW1lcyB0aGF0IHlvdSdyZSB1c2luZyB0
aGUgcmlnaHQgd2lkdGguIEJ1dAorICAgIC8vIHRoZSB3aWR0aCBpcyByZWxldmFudCB0byB2YWxp
ZGl0eSwgc28gcGFzc2luZyBhIG51bGwgd2lkdGggaXMgb25seSB1c2VmdWwgZm9yIGFzc2VydGlv
bnMuIERvbid0CisgICAgLy8gcGFzcyBudWxsIHdpZHRocyB3aGVuIGNhc2NhZGluZyB0aHJvdWdo
IEFyZ3MgaW4gdGhlIGluc3RydWN0aW9uIHNlbGVjdG9yIQorICAgIGJvb2wgaXNWYWxpZEZvcm0o
T3B0aW9uYWw8V2lkdGg+IHdpZHRoID0gTnVsbG9wdCkgY29uc3QKICAgICB7Ci0gICAgICAgIGlm
ICghaGFzT2Zmc2V0KCkpCi0gICAgICAgICAgICByZXR1cm4gQXJnKCk7Ci0gICAgICAgIGlmIChz
dW1PdmVyZmxvd3M8aW50MzJfdD4ob2Zmc2V0KCksIGFkZGl0aW9uYWxPZmZzZXQpKQotICAgICAg
ICAgICAgcmV0dXJuIEFyZygpOwogICAgICAgICBzd2l0Y2ggKGtpbmQoKSkgeworICAgICAgICBj
YXNlIEludmFsaWQ6CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGNhc2UgSW1t
OgorICAgICAgICAgICAgcmV0dXJuIGlzVmFsaWRJbW1Gb3JtKHZhbHVlKCkpOworICAgICAgICBj
YXNlIEltbTY0OgorICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2UgQWRkcjoK
LSAgICAgICAgICAgIHJldHVybiBhZGRyKGJhc2UoKSwgb2Zmc2V0KCkgKyBhZGRpdGlvbmFsT2Zm
c2V0KTsKICAgICAgICAgY2FzZSBTdGFjazoKLSAgICAgICAgICAgIHJldHVybiBzdGFjayhzdGFj
a1Nsb3QoKSwgb2Zmc2V0KCkgKyBhZGRpdGlvbmFsT2Zmc2V0KTsKICAgICAgICAgY2FzZSBDYWxs
QXJnOgotICAgICAgICAgICAgcmV0dXJuIGNhbGxBcmcob2Zmc2V0KCkgKyBhZGRpdGlvbmFsT2Zm
c2V0KTsKKyAgICAgICAgICAgIHJldHVybiBpc1ZhbGlkQWRkckZvcm0ob2Zmc2V0KCkpOwogICAg
ICAgICBjYXNlIEluZGV4OgotICAgICAgICAgICAgcmV0dXJuIGluZGV4KGJhc2UoKSwgaW5kZXgo
KSwgc2NhbGUoKSwgb2Zmc2V0KCkgKyBhZGRpdGlvbmFsT2Zmc2V0KTsKLSAgICAgICAgZGVmYXVs
dDoKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAg
ICByZXR1cm4gQXJnKCk7CisgICAgICAgICAgICByZXR1cm4gaXNWYWxpZEluZGV4Rm9ybShvZmZz
ZXQoKSwgc2NhbGUoKSwgd2lkdGgpOworICAgICAgICBjYXNlIFJlbENvbmQ6CisgICAgICAgIGNh
c2UgUmVzQ29uZDoKKyAgICAgICAgY2FzZSBEb3VibGVDb25kOgorICAgICAgICBjYXNlIFNwZWNp
YWw6CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogICAgIH0KIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9vcGNvZGVfZ2VuZXJhdG9yLnJiCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvb3Bjb2RlX2dlbmVyYXRvci5yYgko
cmV2aXNpb24gMTk0MzgyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9vcGNvZGVf
Z2VuZXJhdG9yLnJiCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSwxNCBAQCBjbGFzcyBBcmcK
ICAgICAgICAgQHR5cGUgPSB0eXBlCiAgICAgICAgIEB3aWR0aCA9IHdpZHRoCiAgICAgZW5kCisK
KyAgICBkZWYgd2lkdGhDb2RlCisgICAgICAgIGlmIHdpZHRoID09ICJQdHIiCisgICAgICAgICAg
ICAiQXJnOjpwb2ludGVyV2lkdGgoKSIKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgIkFyZzo6
V2lkdGgje3dpZHRofSIKKyAgICAgICAgZW5kCisgICAgZW5kCiBlbmQKIAogY2xhc3MgT3Zlcmxv
YWQKQEAgLTY0NCwxMyArNjUyLDcgQEAgd3JpdGVIKCJPcGNvZGVVdGlscyIpIHsKICAgICAgICAg
ICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgICAgICBlbmQKIAotICAgICAgICAgICAgICAg
IGlmIGFyZy53aWR0aCA9PSAiUHRyIgotICAgICAgICAgICAgICAgICAgICB3aWR0aCA9ICJBcmc6
OnBvaW50ZXJXaWR0aCgpIgotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAg
ICAgd2lkdGggPSAiQXJnOjpXaWR0aCN7YXJnLndpZHRofSIKLSAgICAgICAgICAgICAgICBlbmQK
LSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBvdXRwLnB1dHMgImZ1bmN0b3IoYXJn
c1sje2luZGV4fV0sIEFyZzo6I3tyb2xlfSwgQXJnOjoje2FyZy50eXBlfVAsICN7d2lkdGh9KTsi
CisgICAgICAgICAgICAgICAgb3V0cC5wdXRzICJmdW5jdG9yKGFyZ3NbI3tpbmRleH1dLCBBcmc6
OiN7cm9sZX0sIEFyZzo6I3thcmcudHlwZX1QLCAje2FyZy53aWR0aENvZGV9KTsiCiAgICAgICAg
ICAgICB9CiAgICAgICAgIGVuZAogICAgIH0KQEAgLTY3NCw5ICs2NzYsMTEgQEAgd3JpdGVIKCJP
cGNvZGVVdGlscyIpIHsKICAgICAgICAgICAgICAgICBjYWxsYmFjayA9IHByb2MgewogICAgICAg
ICAgICAgICAgICAgICB8IGZvcm0gfAogICAgICAgICAgICAgICAgICAgICBub3RTcGVjaWFsID0g
KG5vdCBmb3JtLmtpbmRzLmRldGVjdCB7IHwga2luZCB8IGtpbmQuc3BlY2lhbCB9KQotICAgICAg
ICAgICAgICAgICAgICBiZWdpbkFyY2hzKG91dHAsIGZvcm0uYXJjaHMpCi0gICAgICAgICAgICAg
ICAgICAgIG91dHAucHV0cyAiT1BHRU5fUkVUVVJOKCN7bm90U3BlY2lhbH0pOyIKLSAgICAgICAg
ICAgICAgICAgICAgZW5kQXJjaHMob3V0cCwgZm9ybS5hcmNocykKKyAgICAgICAgICAgICAgICAg
ICAgaWYgbm90U3BlY2lhbAorICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW5BcmNocyhvdXRw
LCBmb3JtLmFyY2hzKQorICAgICAgICAgICAgICAgICAgICAgICAgb3V0cC5wdXRzICJPUEdFTl9S
RVRVUk4odHJ1ZSk7IgorICAgICAgICAgICAgICAgICAgICAgICAgZW5kQXJjaHMob3V0cCwgZm9y
bS5hcmNocykKKyAgICAgICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIG1hdGNoRm9ybXMob3V0cCwgOnNhZmUsIG92ZXJsb2FkLmZvcm1zLCAwLCBj
b2x1bW5HZXR0ZXIsIGZpbHRlciwgY2FsbGJhY2spCiAgICAgICAgICAgICAgICAgb3V0cC5wdXRz
ICJicmVhazsiCkBAIC03NDYsMTcgKzc1MCwzMCBAQCB3cml0ZUgoIk9wY29kZUdlbmVyYXRlZCIp
IHsKICAgICAgICAgICAgIG5lZWRzTW9yZVZhbGlkYXRpb24gPSBmYWxzZQogICAgICAgICAgICAg
b3ZlcmxvYWQuc2lnbmF0dXJlLmxlbmd0aC50aW1lcyB7CiAgICAgICAgICAgICAgICAgfCBpbmRl
eCB8Ci0gICAgICAgICAgICAgICAgcm9sZSA9IG92ZXJsb2FkLnNpZ25hdHVyZVtpbmRleF0ucm9s
ZQotICAgICAgICAgICAgICAgIHR5cGUgPSBvdmVybG9hZC5zaWduYXR1cmVbaW5kZXhdLnR5cGUK
KyAgICAgICAgICAgICAgICBhcmcgPSBvdmVybG9hZC5zaWduYXR1cmVbaW5kZXhdCiAgICAgICAg
ICAgICAgICAga2luZCA9IGZvcm0ua2luZHNbaW5kZXhdCiAgICAgICAgICAgICAgICAgbmVlZHNN
b3JlVmFsaWRhdGlvbiB8PSBraW5kLnNwZWNpYWwKLSAgICAgICAgICAgICAgICAKLSAgICAgICAg
ICAgICAgICAjIFdlIGFscmVhZHkga25vdyB0aGF0IHRoZSBmb3JtIG1hdGNoZXMuIFdlIGRvbid0
IGhhdmUgdG8gdmFsaWRhdGUgdGhlIHJvbGUsIHNpbmNlCi0gICAgICAgICAgICAgICAgIyBraW5k
IGltcGxpZXMgcm9sZS4gU28sIHRoZSBvbmx5IHRoaW5nIGxlZnQgdG8gdmFsaWRhdGUgaXMgdGhl
IHR5cGUuIEFuZCB3ZSBvbmx5IGhhdmUKLSAgICAgICAgICAgICAgICAjIHRvIHZhbGlkYXRlIHRo
ZSB0eXBlIGlmIHdlIGhhdmUgYSBUbXAuCi0gICAgICAgICAgICAgICAgaWYga2luZC5uYW1lID09
ICJUbXAiCi0gICAgICAgICAgICAgICAgICAgIG91dHAucHV0cyAiaWYgKCFhcmdzWyN7aW5kZXh9
XS50bXAoKS5pcyN7dHlwZX1QKCkpIgorCisgICAgICAgICAgICAgICAgIyBTb21lIGtpbmRzIG9m
IEFyZ3MgcmVxaXJlIGFkZGl0aW9uYWwgdmFsaWRhdGlvbi4KKyAgICAgICAgICAgICAgICBjYXNl
IGtpbmQubmFtZQorICAgICAgICAgICAgICAgIHdoZW4gIlRtcCIKKyAgICAgICAgICAgICAgICAg
ICAgb3V0cC5wdXRzICJpZiAoIWFyZ3NbI3tpbmRleH1dLnRtcCgpLmlzI3thcmcudHlwZX1QKCkp
IgogICAgICAgICAgICAgICAgICAgICBvdXRwLnB1dHMgIk9QR0VOX1JFVFVSTihmYWxzZSk7Igor
ICAgICAgICAgICAgICAgIHdoZW4gIkltbSIKKyAgICAgICAgICAgICAgICAgICAgb3V0cC5wdXRz
ICJpZiAoIUFyZzo6aXNWYWxpZEltbUZvcm0oYXJnc1sje2luZGV4fV0udmFsdWUoKSkpIgorICAg
ICAgICAgICAgICAgICAgICBvdXRwLnB1dHMgIk9QR0VOX1JFVFVSTihmYWxzZSk7IgorICAgICAg
ICAgICAgICAgIHdoZW4gIkFkZHIiCisgICAgICAgICAgICAgICAgICAgIG91dHAucHV0cyAiaWYg
KCFBcmc6OmlzVmFsaWRBZGRyRm9ybShhcmdzWyN7aW5kZXh9XS5vZmZzZXQoKSkpIgorICAgICAg
ICAgICAgICAgICAgICBvdXRwLnB1dHMgIk9QR0VOX1JFVFVSTihmYWxzZSk7IgorICAgICAgICAg
ICAgICAgIHdoZW4gIkluZGV4IgorICAgICAgICAgICAgICAgICAgICBvdXRwLnB1dHMgImlmICgh
QXJnOjppc1ZhbGlkSW5kZXhGb3JtKGFyZ3NbI3tpbmRleH1dLnNjYWxlKCksIGFyZ3NbI3tpbmRl
eH1dLm9mZnNldCgpLCAje2FyZy53aWR0aENvZGV9KSkiCisgICAgICAgICAgICAgICAgICAgIG91
dHAucHV0cyAiT1BHRU5fUkVUVVJOKGZhbHNlKTsiCisgICAgICAgICAgICAgICAgd2hlbiAiSW1t
NjQiCisgICAgICAgICAgICAgICAgd2hlbiAiUmVsQ29uZCIKKyAgICAgICAgICAgICAgICB3aGVu
ICJSZXNDb25kIgorICAgICAgICAgICAgICAgIHdoZW4gIkRvdWJsZUNvbmQiCisgICAgICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICByYWlzZSAiVW5leHBlY3RlZCBraW5kOiAj
e2tpbmQubmFtZX0iCiAgICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBpZiBuZWVkc01vcmVWYWxpZGF0aW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267852</attachid>
            <date>2015-12-23 12:57:18 -0800</date>
            <delta_ts>2015-12-23 14:16:51 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>17517</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk0Mzk0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBA
CisyMDE1LTEyLTIzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
TmVlZCBhIHN0b3J5IGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBBcmdzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI1MjkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHRlYWNoZXMgQXJnIHRoYXQgc29t
ZSBBcmcgZm9ybXMgYXJlIG5vdCB2YWxpZCBvbiBzb21lIHRhcmdldHMuIFRoZSBpbnN0cnVjdGlv
biBzZWxlY3RvciBub3cKKyAgICAgICAgdXNlcyB0aGlzIHRvIGF2b2lkIGltbWVkaWF0ZXMgYW5k
IGFkZHJlc3NlcyB0aGF0IHRoZSB0YXJnZXQgd291bGRuJ3QgbGlrZS4KKworICAgICAgICBUaGlz
IHNob3VsZG4ndCBjaGFuZ2UgY29kZSBnZW5lcmF0aW9uIG9uIFg4NiwgYnV0IGlzIG1lYW50IGFz
IGEgc3RlcCB0b3dhcmRzIEFSTTY0IHN1cHBvcnQuCisKKyAgICAgICAgKiBiMy9CM0xvd2VyVG9B
aXIuY3BwOgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpMb3dlclRvQWlyOjpjcm9zc2VzSW50ZXJm
ZXJlbmNlKToKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6TG93ZXJUb0Fpcjo6ZWZmZWN0aXZlQWRk
cik6CisgICAgICAgIChKU0M6OkIzOjpBaXI6Okxvd2VyVG9BaXI6OmFkZHIpOgorICAgICAgICAo
SlNDOjpCMzo6QWlyOjpMb3dlclRvQWlyOjpsb2FkUHJvbWlzZSk6CisgICAgICAgIChKU0M6OkIz
OjpBaXI6Okxvd2VyVG9BaXI6OmltbSk6CisgICAgICAgIChKU0M6OkIzOjpBaXI6Okxvd2VyVG9B
aXI6Omxvd2VyKToKKyAgICAgICAgKiBiMy9haXIvQWlyQWxsb2NhdGVTdGFjay5jcHA6CisgICAg
ICAgIChKU0M6OkIzOjpBaXI6OmFsbG9jYXRlU3RhY2spOgorICAgICAgICAqIGIzL2Fpci9BaXJB
cmcuaDoKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6QXJnOjpBcmcpOgorICAgICAgICAoSlNDOjpC
Mzo6QWlyOjpBcmc6OmltbSk6CisgICAgICAgIChKU0M6OkIzOjpBaXI6OkFyZzo6aW1tNjQpOgor
ICAgICAgICAoSlNDOjpCMzo6QWlyOjpBcmc6OmNhbGxBcmcpOgorICAgICAgICAoSlNDOjpCMzo6
QWlyOjpBcmc6OmlzVmFsaWRTY2FsZSk6CisgICAgICAgIChKU0M6OkIzOjpBaXI6OkFyZzo6dG1w
SW5kZXgpOgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpBcmc6OndpdGhPZmZzZXQpOgorICAgICAg
ICAoSlNDOjpCMzo6QWlyOjpBcmc6OmlzVmFsaWRJbW1Gb3JtKToKKyAgICAgICAgKEpTQzo6QjM6
OkFpcjo6QXJnOjppc1ZhbGlkQWRkckZvcm0pOgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpBcmc6
OmlzVmFsaWRJbmRleEZvcm0pOgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpBcmc6OmlzVmFsaWRG
b3JtKToKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6QXJnOjpmb3JFYWNoVG1wRmFzdCk6CisgICAg
ICAgICogYjMvYWlyL29wY29kZV9nZW5lcmF0b3IucmI6CisKIDIwMTUtMTItMjMgIEFuZHkgVmFu
V2Fnb25lciAgPHRoZXRhbGVjcmFmdGVyQGdtYWlsLmNvbT4KIAogICAgICAgICBbSU5UTF0gSW1w
bGVtZW50IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSBpbiBFQ01BLTQwMgpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTG93ZXJUb0Fpci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTG93ZXJUb0Fpci5jcHAJKHJldmlzaW9uIDE5NDM4
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyVG9BaXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMzcsMzIgKzMzNyw0MiBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIFRo
aXMgdHVybnMgdGhlIGdpdmVuIG9wZXJhbmQgaW50byBhbiBhZGRyZXNzLgotICAgIEFyZyBlZmZl
Y3RpdmVBZGRyKFZhbHVlKiBhZGRyZXNzKQorICAgIEFyZyBlZmZlY3RpdmVBZGRyKFZhbHVlKiBh
ZGRyZXNzLCBpbnQzMl90IG9mZnNldCwgQXJnOjpXaWR0aCB3aWR0aCkKICAgICB7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBsb3RzT2ZVc2VzID0gMTA7IC8vIFRoaXMgaXMgYXJiaXRy
YXJ5IGFuZCB3ZSBzaG91bGQgdHVuZSBpdCBldmVudHVhbGx5LgorICAgICAgICAvLyBCMyBhbGxv
d3MgYW55IG1lbW9yeSBvcGVyYXRpb24gdG8gaGF2ZSBhIDMyLWJpdCBvZmZzZXQuIFRoYXQncyBu
b3QgaG93IHNvbWUgYXJjaGl0ZWN0dXJlcworICAgICAgICAvLyB3b3JrLiBXZSBzb2x2ZSB0aGlz
IGJ5IHJlcXVpcmluZyBhIGp1c3QtYmVmb3JlLWxvd2VyaW5nIHBoYXNlIHRoYXQgbGVnYWxpemVz
IG9mZnNldHMuCisgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgc3VjaCBhIGxlZ2FsaXphdGlv
biBwaGFzZS4KKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MjUzMAorICAgICAgICBBU1NFUlQoQXJnOjppc1ZhbGlkQWRkckZvcm0ob2Zmc2V0KSk7
CisKKyAgICAgICAgYXV0byBmYWxsYmFjayA9IFsmXSAoKSAtPiBBcmcgeworICAgICAgICAgICAg
cmV0dXJuIEFyZzo6YWRkcih0bXAoYWRkcmVzcyksIG9mZnNldCk7CisgICAgICAgIH07CiAgICAg
ICAgIAorICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbG90c09mVXNlcyA9IDEwOyAvLyBU
aGlzIGlzIGFyYml0cmFyeSBhbmQgd2Ugc2hvdWxkIHR1bmUgaXQgZXZlbnR1YWxseS4KKwogICAg
ICAgICAvLyBPbmx5IG1hdGNoIGlmIHRoZSBhZGRyZXNzIHZhbHVlIGlzbid0IHVzZWQgaW4gc29t
ZSBsYXJnZSBudW1iZXIgb2YgcGxhY2VzLgogICAgICAgICBpZiAobV91c2VDb3VudHMubnVtVXNl
cyhhZGRyZXNzKSA+IGxvdHNPZlVzZXMpCi0gICAgICAgICAgICByZXR1cm4gQXJnOjphZGRyKHRt
cChhZGRyZXNzKSk7CisgICAgICAgICAgICByZXR1cm4gZmFsbGJhY2soKTsKICAgICAgICAgCiAg
ICAgICAgIHN3aXRjaCAoYWRkcmVzcy0+b3Bjb2RlKCkpIHsKICAgICAgICAgY2FzZSBBZGQ6IHsK
ICAgICAgICAgICAgIFZhbHVlKiBsZWZ0ID0gYWRkcmVzcy0+Y2hpbGQoMCk7CiAgICAgICAgICAg
ICBWYWx1ZSogcmlnaHQgPSBhZGRyZXNzLT5jaGlsZCgxKTsKIAotICAgICAgICAgICAgYXV0byB0
cnlJbmRleCA9IFsmXSAoVmFsdWUqIGluZGV4LCBWYWx1ZSogb2Zmc2V0KSAtPiBBcmcgeworICAg
ICAgICAgICAgYXV0byB0cnlJbmRleCA9IFsmXSAoVmFsdWUqIGluZGV4LCBWYWx1ZSogYmFzZSkg
LT4gQXJnIHsKICAgICAgICAgICAgICAgICBpZiAoaW5kZXgtPm9wY29kZSgpICE9IFNobCkKICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIEFyZygpOwotICAgICAgICAgICAgICAgIGlmIChtX2xv
Y2tlZC5jb250YWlucyhpbmRleC0+Y2hpbGQoMCkpIHx8IG1fbG9ja2VkLmNvbnRhaW5zKG9mZnNl
dCkpCisgICAgICAgICAgICAgICAgaWYgKG1fbG9ja2VkLmNvbnRhaW5zKGluZGV4LT5jaGlsZCgw
KSkgfHwgbV9sb2NrZWQuY29udGFpbnMoYmFzZSkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBBcmcoKTsKICAgICAgICAgICAgICAgICBpZiAoIWluZGV4LT5jaGlsZCgxKS0+aGFzSW50MzIo
KSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFyZygpOwogICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIHNjYWxlID0gMSA8PCAoaW5kZXgtPmNoaWxkKDEpLT5h
c0ludDMyKCkgJiAzMSk7Ci0gICAgICAgICAgICAgICAgaWYgKCFBcmc6OmlzVmFsaWRTY2FsZShz
Y2FsZSkpCisgICAgICAgICAgICAgICAgaWYgKCFBcmc6OmlzVmFsaWRJbmRleEZvcm0oc2NhbGUs
IG9mZnNldCwgd2lkdGgpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gQXJnKCk7CiAKLSAg
ICAgICAgICAgICAgICByZXR1cm4gQXJnOjppbmRleCh0bXAob2Zmc2V0KSwgdG1wKGluZGV4LT5j
aGlsZCgwKSksIHNjYWxlKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gQXJnOjppbmRleCh0bXAo
YmFzZSksIHRtcChpbmRleC0+Y2hpbGQoMCkpLCBzY2FsZSwgb2Zmc2V0KTsKICAgICAgICAgICAg
IH07CiAKICAgICAgICAgICAgIGlmIChBcmcgcmVzdWx0ID0gdHJ5SW5kZXgobGVmdCwgcmlnaHQp
KQpAQCAtMzcwLDEwICszODAsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGlmIChBcmcgcmVz
dWx0ID0gdHJ5SW5kZXgocmlnaHQsIGxlZnQpKQogICAgICAgICAgICAgICAgIHJldHVybiByZXN1
bHQ7CiAKLSAgICAgICAgICAgIGlmIChtX2xvY2tlZC5jb250YWlucyhsZWZ0KSB8fCBtX2xvY2tl
ZC5jb250YWlucyhyaWdodCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIEFyZzo6YWRkcih0bXAo
YWRkcmVzcykpOworICAgICAgICAgICAgaWYgKG1fbG9ja2VkLmNvbnRhaW5zKGxlZnQpIHx8IG1f
bG9ja2VkLmNvbnRhaW5zKHJpZ2h0KQorICAgICAgICAgICAgICAgIHx8ICFBcmc6OmlzVmFsaWRJ
bmRleEZvcm0oMSwgb2Zmc2V0LCB3aWR0aCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbGxi
YWNrKCk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIHJldHVybiBBcmc6OmluZGV4KHRtcChs
ZWZ0KSwgdG1wKHJpZ2h0KSk7CisgICAgICAgICAgICByZXR1cm4gQXJnOjppbmRleCh0bXAobGVm
dCksIHRtcChyaWdodCksIDEsIG9mZnNldCk7CiAgICAgICAgIH0KIAogICAgICAgICBjYXNlIFNo
bDogewpAQCAtMzgyLDIwICszOTMsMjEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIC8vIFdlJ2xs
IG5ldmVyIHNlZSBjaGlsZCgxKS0+aXNJbnQzMigwKSwgc2luY2UgdGhhdCB3b3VsZCBoYXZlIGJl
ZW4gcmVkdWNlZC4gSWYgdGhlIHNoaWZ0CiAgICAgICAgICAgICAvLyBhbW91bnQgaXMgZ3JlYXRl
ciB0aGFuIDEsIHRoZW4gdGhlcmUgaXNuJ3QgcmVhbGx5IGFueXRoaW5nIHNtYXJ0IHRoYXQgd2Ug
Y291bGQgZG8gaGVyZS4KICAgICAgICAgICAgIC8vIFdlIGF2b2lkIHVzaW5nIGJhc2VsZXNzIGlu
ZGV4ZXMgYmVjYXVzZSB0aGVpciBlbmNvZGluZyBpc24ndCBwYXJ0aWN1bGFybHkgZWZmaWNpZW50
LgotICAgICAgICAgICAgaWYgKG1fbG9ja2VkLmNvbnRhaW5zKGxlZnQpIHx8ICFhZGRyZXNzLT5j
aGlsZCgxKS0+aXNJbnQzMigxKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gQXJnOjphZGRyKHRt
cChhZGRyZXNzKSk7CisgICAgICAgICAgICBpZiAobV9sb2NrZWQuY29udGFpbnMobGVmdCkgfHwg
IWFkZHJlc3MtPmNoaWxkKDEpLT5pc0ludDMyKDEpCisgICAgICAgICAgICAgICAgfHwgIUFyZzo6
aXNWYWxpZEluZGV4Rm9ybSgxLCBvZmZzZXQsIHdpZHRoKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gZmFsbGJhY2soKTsKIAotICAgICAgICAgICAgcmV0dXJuIEFyZzo6aW5kZXgodG1wKGxlZnQp
LCB0bXAobGVmdCkpOworICAgICAgICAgICAgcmV0dXJuIEFyZzo6aW5kZXgodG1wKGxlZnQpLCB0
bXAobGVmdCksIDEsIG9mZnNldCk7CiAgICAgICAgIH0KIAogICAgICAgICBjYXNlIEZyYW1lUG9p
bnRlcjoKLSAgICAgICAgICAgIHJldHVybiBBcmc6OmFkZHIoVG1wKEdQUkluZm86OmNhbGxGcmFt
ZVJlZ2lzdGVyKSk7CisgICAgICAgICAgICByZXR1cm4gQXJnOjphZGRyKFRtcChHUFJJbmZvOjpj
YWxsRnJhbWVSZWdpc3RlciksIG9mZnNldCk7CiAKICAgICAgICAgY2FzZSBCMzo6U3RhY2tTbG90
OgotICAgICAgICAgICAgcmV0dXJuIEFyZzo6c3RhY2sobV9zdGFja1RvU3RhY2suZ2V0KGFkZHJl
c3MtPmFzPFN0YWNrU2xvdFZhbHVlPigpKSk7CisgICAgICAgICAgICByZXR1cm4gQXJnOjpzdGFj
ayhtX3N0YWNrVG9TdGFjay5nZXQoYWRkcmVzcy0+YXM8U3RhY2tTbG90VmFsdWU+KCkpLCBvZmZz
ZXQpOwogCiAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gQXJnOjphZGRyKHRt
cChhZGRyZXNzKSk7CisgICAgICAgICAgICByZXR1cm4gZmFsbGJhY2soKTsKICAgICAgICAgfQog
ICAgIH0KIApAQCAtNDA3LDE0ICs0MTksMTMgQEAgcHJpdmF0ZToKICAgICAgICAgaWYgKCF2YWx1
ZSkKICAgICAgICAgICAgIHJldHVybiBBcmcoKTsKIAotICAgICAgICBBcmcgcmVzdWx0ID0gZWZm
ZWN0aXZlQWRkcih2YWx1ZS0+bGFzdENoaWxkKCkpOwotICAgICAgICBBU1NFUlQocmVzdWx0KTsK
LSAgICAgICAgCi0gICAgICAgIGludDMyX3Qgb2Zmc2V0ID0gbWVtb3J5VmFsdWUtPmFzPE1lbW9y
eVZhbHVlPigpLT5vZmZzZXQoKTsKLSAgICAgICAgQXJnIG9mZnNldFJlc3VsdCA9IHJlc3VsdC53
aXRoT2Zmc2V0KG9mZnNldCk7Ci0gICAgICAgIGlmICghb2Zmc2V0UmVzdWx0KQotICAgICAgICAg
ICAgcmV0dXJuIEFyZzo6YWRkcih0bXAodmFsdWUtPmxhc3RDaGlsZCgpKSwgb2Zmc2V0KTsKLSAg
ICAgICAgcmV0dXJuIG9mZnNldFJlc3VsdDsKKyAgICAgICAgaW50MzJfdCBvZmZzZXQgPSB2YWx1
ZS0+b2Zmc2V0KCk7CisgICAgICAgIEFyZzo6V2lkdGggd2lkdGggPSBBcmc6OndpZHRoRm9yQnl0
ZXModmFsdWUtPmFjY2Vzc0J5dGVTaXplKCkpOworCisgICAgICAgIEFyZyByZXN1bHQgPSBlZmZl
Y3RpdmVBZGRyKHZhbHVlLT5sYXN0Q2hpbGQoKSwgb2Zmc2V0LCB3aWR0aCk7CisgICAgICAgIEFT
U0VSVChyZXN1bHQuaXNWYWxpZEZvcm0od2lkdGgpKTsKKworICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgIH0KIAogICAgIEFyZ1Byb21pc2UgbG9hZFByb21pc2UoVmFsdWUqIGxvYWRWYWx1ZSwg
QjM6Ok9wY29kZSBsb2FkT3Bjb2RlKQpAQCAtNDM1LDggKzQ0NiwxMSBAQCBwcml2YXRlOgogCiAg
ICAgQXJnIGltbShWYWx1ZSogdmFsdWUpCiAgICAgewotICAgICAgICBpZiAodmFsdWUtPmhhc0lu
dCgpICYmIHZhbHVlLT5yZXByZXNlbnRhYmxlQXM8aW50MzJfdD4oKSkKLSAgICAgICAgICAgIHJl
dHVybiBBcmc6OmltbSh2YWx1ZS0+YXNOdW1iZXI8aW50MzJfdD4oKSk7CisgICAgICAgIGlmICh2
YWx1ZS0+aGFzSW50KCkpIHsKKyAgICAgICAgICAgIGludDY0X3QgaW50VmFsdWUgPSB2YWx1ZS0+
YXNJbnQoKTsKKyAgICAgICAgICAgIGlmIChBcmc6OmlzVmFsaWRJbW1Gb3JtKGludFZhbHVlKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gQXJnOjppbW0oaW50VmFsdWUpOworICAgICAgICB9CiAg
ICAgICAgIHJldHVybiBBcmcoKTsKICAgICB9CiAKQEAgLTE3ODEsMTUgKzE3OTUsMTIgQEAgcHJp
dmF0ZToKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGNhc2UgQ29u
c3QzMjogewotICAgICAgICAgICAgYXBwZW5kKE1vdmUsIGltbShtX3ZhbHVlKSwgdG1wKG1fdmFs
dWUpKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQorICAgICAgICBjYXNlIENvbnN0
MzI6CiAgICAgICAgIGNhc2UgQ29uc3Q2NDogewogICAgICAgICAgICAgaWYgKGltbShtX3ZhbHVl
KSkKICAgICAgICAgICAgICAgICBhcHBlbmQoTW92ZSwgaW1tKG1fdmFsdWUpLCB0bXAobV92YWx1
ZSkpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGFwcGVuZChNb3ZlLCBBcmc6
OmltbTY0KG1fdmFsdWUtPmFzSW50NjQoKSksIHRtcChtX3ZhbHVlKSk7CisgICAgICAgICAgICAg
ICAgYXBwZW5kKE1vdmUsIEFyZzo6aW1tNjQobV92YWx1ZS0+YXNJbnQoKSksIHRtcChtX3ZhbHVl
KSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVN0YWNrLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRlU3RhY2suY3BwCShyZXZpc2lvbiAx
OTQzODIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRlU3RhY2su
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzEsNiArMjMxLDExIEBAIHZvaWQgYWxsb2NhdGVTdGFj
ayhDb2RlJiBjb2RlKQogICAgIC8vIHRyYW5zZm9ybWF0aW9uIHNpbmNlIHdlIGNhbiBzZWFyY2gg
dGhlIFN0YWNrU2xvdHMgYXJyYXkgdG8gZmlndXJlIG91dCB3aGljaCBTdGFja1Nsb3QgYW55CiAg
ICAgLy8gb2Zmc2V0LWZyb20tRlAgcmVmZXJzIHRvLgogCisgICAgLy8gRklYTUU6IFRoaXMgbWF5
IHByb2R1Y2UgYWRkcmVzc2VzIHRoYXQgYXJlbid0IHZhbGlkIGlmIHdlIGVuZCB1cCB3aXRoIGEg
Z2lub3Jtb3VzIHN0YWNrIGZyYW1lLgorICAgIC8vIFdlIHdvdWxkIGhhdmUgdG8gc2NhdmVuZ2Ug
Zm9yIHRlbXBvcmFyaWVzIGlmIHRoaXMgaGFwcGVuZWQuIEZvcnR1bmF0ZWx5LCB0aGlzIGNhc2Ug
d2lsbCBiZQorICAgIC8vIGV4dHJlbWVseSByYXJlIHNvIHdlIGNhbiBkbyBjcmF6eSB0aGluZ3Mg
d2hlbiBpdCBhcmlzZXMuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1MjUzMAorICAgIAogICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBjb2RlKSB7
CiAgICAgICAgIGZvciAoSW5zdCYgaW5zdCA6ICpibG9jaykgewogICAgICAgICAgICAgZm9yIChB
cmcmIGFyZyA6IGluc3QuYXJncykgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fp
ci9BaXJBcmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0Fp
ckFyZy5oCShyZXZpc2lvbiAxOTQzODIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWly
L0FpckFyZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiQWly
VG1wLmgiCiAjaW5jbHVkZSAiQjNDb21tb24uaCIKICNpbmNsdWRlICJCM1R5cGUuaCIKKyNpbmNs
dWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7IG5h
bWVzcGFjZSBBaXIgewogCkBAIC00OSw3ICs1MCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIC8vIGV2
ZW50dWFsbHkgYmVjb21lIHJlZ2lzdGVycy4KICAgICAgICAgVG1wLAogCi0gICAgICAgIC8vIFRo
aXMgaXMgYW4gaW1tZWRpYXRlIHRoYXQgdGhlIGluc3RydWN0aW9uIHdpbGwgbWF0ZXJpYWxpemUu
CisgICAgICAgIC8vIFRoaXMgaXMgYW4gaW1tZWRpYXRlIHRoYXQgdGhlIGluc3RydWN0aW9uIHdp
bGwgbWF0ZXJpYWxpemUuIEltbSBpcyB0aGUgaW1tZWRpYXRlIHRoYXQgY2FuIGJlCisgICAgICAg
IC8vIGlubGluZWQgaW50byBtb3N0IGluc3RydWN0aW9ucywgd2hpbGUgSW1tNjQgaW5kaWNhdGVz
IGEgY29uc3RhbnQgbWF0ZXJpYWxpemF0aW9uIGFuZCBpcworICAgICAgICAvLyB1c3VhbGx5IG9u
bHkgdXNhYmxlIHdpdGggTW92ZS4gU3BlY2lhbHMgbWF5IGFsc28gYWRtaXQgaXQsIGZvciBleGFt
cGxlIGZvciBzdGFja21hcHMgdXNlZCBmb3IKKyAgICAgICAgLy8gT1NSIGV4aXQgYW5kIHRhaWwg
Y2FsbHMuCiAgICAgICAgIEltbSwKICAgICAgICAgSW1tNjQsCiAKQEAgLTMyNyw3ICszMzEsNyBA
QCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHN0YXRpYyBBcmcgaW1tKGludDMyX3QgdmFs
dWUpCisgICAgc3RhdGljIEFyZyBpbW0oaW50NjRfdCB2YWx1ZSkKICAgICB7CiAgICAgICAgIEFy
ZyByZXN1bHQ7CiAgICAgICAgIHJlc3VsdC5tX2tpbmQgPSBJbW07CkBAIC0zMzUsNyArMzM5LDcg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAgIHN0YXRpYyBB
cmcgaW1tNjQoaW50cHRyX3QgdmFsdWUpCisgICAgc3RhdGljIEFyZyBpbW02NChpbnQ2NF90IHZh
bHVlKQogICAgIHsKICAgICAgICAgQXJnIHJlc3VsdDsKICAgICAgICAgcmVzdWx0Lm1fa2luZCA9
IEltbTY0OwpAQCAtMzcwLDE0ICszNzQsMjUgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KIAotICAgIHN0YXRpYyBib29sIGlzVmFsaWRTY2FsZSh1bnNpZ25lZCBzY2Fs
ZSkKKyAgICAvLyBJZiB5b3UgZG9uJ3QgcGFzcyBhIFdpZHRoLCB0aGlzIG9wdGltaXN0aWNhbGx5
IGFzc3VtZXMgdGhhdCB5b3UncmUgdXNpbmcgdGhlIHJpZ2h0IHdpZHRoLgorICAgIHN0YXRpYyBi
b29sIGlzVmFsaWRTY2FsZSh1bnNpZ25lZCBzY2FsZSwgT3B0aW9uYWw8V2lkdGg+IHdpZHRoID0g
TnVsbG9wdCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAoc2NhbGUpIHsKICAgICAgICAgY2FzZSAx
OgorICAgICAgICAgICAgaWYgKGlzWDg2KCkgfHwgaXNBUk02NCgpKQorICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBjYXNlIDI6
CiAgICAgICAgIGNhc2UgNDoKICAgICAgICAgY2FzZSA4OgotICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgICAgICAgICBpZiAoaXNYODYoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgICAgIGlmIChpc0FSTTY0KCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoIXdp
ZHRoKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gc2NhbGUgPT0gYnl0ZXMoKndpZHRoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgfQpAQCAtNzU0LDExICs3NjksMTcgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gdG1wKCkudG1wSW5kZXgoKTsKICAgICB9CiAKLSAgICBBcmcgd2l0aE9mZnNldChpbnQzMl90
IGFkZGl0aW9uYWxPZmZzZXQpIGNvbnN0CisgICAgLy8gSWYgJ3RoaXMnIGlzIGFuIGFkZHJlc3Mg
QXJnLCB0aGVuIGl0IHJldHVybnMgYSBuZXcgYWRkcmVzcyBBcmcgd2l0aCB0aGUgYWRkaXRpb25h
bCBvZmZzZXQgYXBwbGllZC4KKyAgICAvLyBOb3RlIHRoYXQgdGhpcyBkb2VzIG5vdCBjb25zaWRl
ciB3aGV0aGVyIGRvaW5nIHNvIHByb2R1Y2VzIGEgdmFsaWQgQXJnIG9yIG5vdC4gVW5sZXNzIHlv
dSByZWFsbHkKKyAgICAvLyBrbm93IHdoYXQgeW91J3JlIGRvaW5nLCB5b3Ugc2hvdWxkIGNhbGwg
QXJnOjppc1ZhbGlkRm9ybSgpIG9uIHRoZSByZXN1bHQuIFNvbWUgY29kZSB3b24ndCBkbyB0aGF0
LAorICAgIC8vIGxpa2UgaWYgeW91J3JlIGFwcGx5aW5nIGEgdmVyeSBzbWFsbCBvZmZzZXQgdG8g
YSBBcmc6OnN0YWNrKCkgdGhhdCB5b3Uga25vdyBoYXMgbm8gb2Zmc2V0IHRvIGJlZ2luCisgICAg
Ly8gd2l0aC4gSXQncyBzYWZlIHRvIGFzc3VtZSB0aGF0IGFsbCB0YXJnZXRzIGFsbG93IHNtYWxs
IG9mZnNldHMgKGxpa2UsIDAuLjcpIGZvciBBZGRyLCBTdGFjaywgYW5kCisgICAgLy8gQ2FsbEFy
Zy4KKyAgICBBcmcgd2l0aE9mZnNldChpbnQ2NF90IGFkZGl0aW9uYWxPZmZzZXQpIGNvbnN0CiAg
ICAgewogICAgICAgICBpZiAoIWhhc09mZnNldCgpKQogICAgICAgICAgICAgcmV0dXJuIEFyZygp
OwotICAgICAgICBpZiAoc3VtT3ZlcmZsb3dzPGludDMyX3Q+KG9mZnNldCgpLCBhZGRpdGlvbmFs
T2Zmc2V0KSkKKyAgICAgICAgaWYgKHN1bU92ZXJmbG93czxpbnQ2NF90PihvZmZzZXQoKSwgYWRk
aXRpb25hbE9mZnNldCkpCiAgICAgICAgICAgICByZXR1cm4gQXJnKCk7CiAgICAgICAgIHN3aXRj
aCAoa2luZCgpKSB7CiAgICAgICAgIGNhc2UgQWRkcjoKQEAgLTc3NSw2ICs3OTYsNjQgQEAgcHVi
bGljOgogICAgICAgICB9CiAgICAgfQogCisgICAgc3RhdGljIGJvb2wgaXNWYWxpZEltbUZvcm0o
aW50NjRfdCB2YWx1ZSkKKyAgICB7CisgICAgICAgIGlmIChpc1g4NigpKQorICAgICAgICAgICAg
cmV0dXJuIEIzOjppc1JlcHJlc2VudGFibGVBczxpbnQzMl90Pih2YWx1ZSk7CisgICAgICAgIC8v
IEZJWE1FOiBBUk0gaGFzIHNvbWUgc3BlY2lmaWMgcnVsZXMgYWJvdXQgd2hhdCBraW5kcyBvZiBp
bW1lZGlhdGVzIGFyZSB2YWxpZC4KKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MjUzMAorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisg
ICAgc3RhdGljIGJvb2wgaXNWYWxpZEFkZHJGb3JtKGludDMyX3Qgb2Zmc2V0KQorICAgIHsKKyAg
ICAgICAgaWYgKGlzWDg2KCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgLy8g
RklYTUU6IEFSTSBoYXMgc29tZSBzcGVjaWZpYyBydWxlcyBhYm91dCB3aGF0IGtpbmRzIG9mIG9m
ZnNldHMgYXJlIHZhbGlkLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTUyNTMwCisgICAgICAgIFVOVVNFRF9QQVJBTShvZmZzZXQpOworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgaXNWYWxpZEluZGV4Rm9y
bSh1bnNpZ25lZCBzY2FsZSwgaW50MzJfdCBvZmZzZXQsIE9wdGlvbmFsPFdpZHRoPiB3aWR0aCA9
IE51bGxvcHQpCisgICAgeworICAgICAgICBpZiAoIWlzVmFsaWRTY2FsZShzY2FsZSwgd2lkdGgp
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoaXNYODYoKSkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBpZiAoaXNBUk02NCgpKQorICAgICAgICAgICAg
cmV0dXJuICFvZmZzZXQ7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICAvLyBJ
ZiB5b3UgZG9uJ3QgcGFzcyBhIHdpZHRoIHRoZW4gdGhpcyBvcHRpbWlzdGljYWxseSBhc3N1bWVz
IHRoYXQgeW91J3JlIHVzaW5nIHRoZSByaWdodCB3aWR0aC4gQnV0CisgICAgLy8gdGhlIHdpZHRo
IGlzIHJlbGV2YW50IHRvIHZhbGlkaXR5LCBzbyBwYXNzaW5nIGEgbnVsbCB3aWR0aCBpcyBvbmx5
IHVzZWZ1bCBmb3IgYXNzZXJ0aW9ucy4gRG9uJ3QKKyAgICAvLyBwYXNzIG51bGwgd2lkdGhzIHdo
ZW4gY2FzY2FkaW5nIHRocm91Z2ggQXJncyBpbiB0aGUgaW5zdHJ1Y3Rpb24gc2VsZWN0b3IhCisg
ICAgYm9vbCBpc1ZhbGlkRm9ybShPcHRpb25hbDxXaWR0aD4gd2lkdGggPSBOdWxsb3B0KSBjb25z
dAorICAgIHsKKyAgICAgICAgc3dpdGNoIChraW5kKCkpIHsKKyAgICAgICAgY2FzZSBJbnZhbGlk
OgorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBjYXNlIFRtcDoKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICBjYXNlIEltbToKKyAgICAgICAgICAgIHJldHVybiBp
c1ZhbGlkSW1tRm9ybSh2YWx1ZSgpKTsKKyAgICAgICAgY2FzZSBJbW02NDoKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICBjYXNlIEFkZHI6CisgICAgICAgIGNhc2UgU3RhY2s6Cisg
ICAgICAgIGNhc2UgQ2FsbEFyZzoKKyAgICAgICAgICAgIHJldHVybiBpc1ZhbGlkQWRkckZvcm0o
b2Zmc2V0KCkpOworICAgICAgICBjYXNlIEluZGV4OgorICAgICAgICAgICAgcmV0dXJuIGlzVmFs
aWRJbmRleEZvcm0ob2Zmc2V0KCksIHNjYWxlKCksIHdpZHRoKTsKKyAgICAgICAgY2FzZSBSZWxD
b25kOgorICAgICAgICBjYXNlIFJlc0NvbmQ6CisgICAgICAgIGNhc2UgRG91YmxlQ29uZDoKKyAg
ICAgICAgY2FzZSBTcGVjaWFsOgorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0K
KyAgICB9CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgogICAgIHZvaWQgZm9yRWFj
aFRtcEZhc3QoY29uc3QgRnVuY3RvciYgZnVuY3RvcikKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvYWlyL29wY29kZV9nZW5lcmF0b3IucmIKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9vcGNvZGVfZ2VuZXJhdG9yLnJiCShyZXZpc2lvbiAx
OTQzODIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL29wY29kZV9nZW5lcmF0b3Iu
cmIJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDE0IEBAIGNsYXNzIEFyZwogICAgICAgICBA
dHlwZSA9IHR5cGUKICAgICAgICAgQHdpZHRoID0gd2lkdGgKICAgICBlbmQKKworICAgIGRlZiB3
aWR0aENvZGUKKyAgICAgICAgaWYgd2lkdGggPT0gIlB0ciIKKyAgICAgICAgICAgICJBcmc6OnBv
aW50ZXJXaWR0aCgpIgorICAgICAgICBlbHNlCisgICAgICAgICAgICAiQXJnOjpXaWR0aCN7d2lk
dGh9IgorICAgICAgICBlbmQKKyAgICBlbmQKIGVuZAogCiBjbGFzcyBPdmVybG9hZApAQCAtNjQ0
LDEzICs2NTIsNyBAQCB3cml0ZUgoIk9wY29kZVV0aWxzIikgewogICAgICAgICAgICAgICAgICAg
ICByYWlzZQogICAgICAgICAgICAgICAgIGVuZAogCi0gICAgICAgICAgICAgICAgaWYgYXJnLndp
ZHRoID09ICJQdHIiCi0gICAgICAgICAgICAgICAgICAgIHdpZHRoID0gIkFyZzo6cG9pbnRlcldp
ZHRoKCkiCi0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB3aWR0aCA9
ICJBcmc6OldpZHRoI3thcmcud2lkdGh9IgotICAgICAgICAgICAgICAgIGVuZAotICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgICAgIG91dHAucHV0cyAiZnVuY3RvcihhcmdzWyN7aW5kZXh9
XSwgQXJnOjoje3JvbGV9LCBBcmc6OiN7YXJnLnR5cGV9UCwgI3t3aWR0aH0pOyIKKyAgICAgICAg
ICAgICAgICBvdXRwLnB1dHMgImZ1bmN0b3IoYXJnc1sje2luZGV4fV0sIEFyZzo6I3tyb2xlfSwg
QXJnOjoje2FyZy50eXBlfVAsICN7YXJnLndpZHRoQ29kZX0pOyIKICAgICAgICAgICAgIH0KICAg
ICAgICAgZW5kCiAgICAgfQpAQCAtNjc0LDkgKzY3NiwxMSBAQCB3cml0ZUgoIk9wY29kZVV0aWxz
IikgewogICAgICAgICAgICAgICAgIGNhbGxiYWNrID0gcHJvYyB7CiAgICAgICAgICAgICAgICAg
ICAgIHwgZm9ybSB8CiAgICAgICAgICAgICAgICAgICAgIG5vdFNwZWNpYWwgPSAobm90IGZvcm0u
a2luZHMuZGV0ZWN0IHsgfCBraW5kIHwga2luZC5zcGVjaWFsIH0pCi0gICAgICAgICAgICAgICAg
ICAgIGJlZ2luQXJjaHMob3V0cCwgZm9ybS5hcmNocykKLSAgICAgICAgICAgICAgICAgICAgb3V0
cC5wdXRzICJPUEdFTl9SRVRVUk4oI3tub3RTcGVjaWFsfSk7IgotICAgICAgICAgICAgICAgICAg
ICBlbmRBcmNocyhvdXRwLCBmb3JtLmFyY2hzKQorICAgICAgICAgICAgICAgICAgICBpZiBub3RT
cGVjaWFsCisgICAgICAgICAgICAgICAgICAgICAgICBiZWdpbkFyY2hzKG91dHAsIGZvcm0uYXJj
aHMpCisgICAgICAgICAgICAgICAgICAgICAgICBvdXRwLnB1dHMgIk9QR0VOX1JFVFVSTih0cnVl
KTsiCisgICAgICAgICAgICAgICAgICAgICAgICBlbmRBcmNocyhvdXRwLCBmb3JtLmFyY2hzKQor
ICAgICAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgbWF0Y2hGb3JtcyhvdXRwLCA6c2FmZSwgb3ZlcmxvYWQuZm9ybXMsIDAsIGNvbHVtbkdldHRl
ciwgZmlsdGVyLCBjYWxsYmFjaykKICAgICAgICAgICAgICAgICBvdXRwLnB1dHMgImJyZWFrOyIK
QEAgLTc0NiwxNyArNzUwLDMwIEBAIHdyaXRlSCgiT3Bjb2RlR2VuZXJhdGVkIikgewogICAgICAg
ICAgICAgbmVlZHNNb3JlVmFsaWRhdGlvbiA9IGZhbHNlCiAgICAgICAgICAgICBvdmVybG9hZC5z
aWduYXR1cmUubGVuZ3RoLnRpbWVzIHsKICAgICAgICAgICAgICAgICB8IGluZGV4IHwKLSAgICAg
ICAgICAgICAgICByb2xlID0gb3ZlcmxvYWQuc2lnbmF0dXJlW2luZGV4XS5yb2xlCi0gICAgICAg
ICAgICAgICAgdHlwZSA9IG92ZXJsb2FkLnNpZ25hdHVyZVtpbmRleF0udHlwZQorICAgICAgICAg
ICAgICAgIGFyZyA9IG92ZXJsb2FkLnNpZ25hdHVyZVtpbmRleF0KICAgICAgICAgICAgICAgICBr
aW5kID0gZm9ybS5raW5kc1tpbmRleF0KICAgICAgICAgICAgICAgICBuZWVkc01vcmVWYWxpZGF0
aW9uIHw9IGtpbmQuc3BlY2lhbAotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICMg
V2UgYWxyZWFkeSBrbm93IHRoYXQgdGhlIGZvcm0gbWF0Y2hlcy4gV2UgZG9uJ3QgaGF2ZSB0byB2
YWxpZGF0ZSB0aGUgcm9sZSwgc2luY2UKLSAgICAgICAgICAgICAgICAjIGtpbmQgaW1wbGllcyBy
b2xlLiBTbywgdGhlIG9ubHkgdGhpbmcgbGVmdCB0byB2YWxpZGF0ZSBpcyB0aGUgdHlwZS4gQW5k
IHdlIG9ubHkgaGF2ZQotICAgICAgICAgICAgICAgICMgdG8gdmFsaWRhdGUgdGhlIHR5cGUgaWYg
d2UgaGF2ZSBhIFRtcC4KLSAgICAgICAgICAgICAgICBpZiBraW5kLm5hbWUgPT0gIlRtcCIKLSAg
ICAgICAgICAgICAgICAgICAgb3V0cC5wdXRzICJpZiAoIWFyZ3NbI3tpbmRleH1dLnRtcCgpLmlz
I3t0eXBlfVAoKSkiCisKKyAgICAgICAgICAgICAgICAjIFNvbWUga2luZHMgb2YgQXJncyByZXFp
cmUgYWRkaXRpb25hbCB2YWxpZGF0aW9uLgorICAgICAgICAgICAgICAgIGNhc2Uga2luZC5uYW1l
CisgICAgICAgICAgICAgICAgd2hlbiAiVG1wIgorICAgICAgICAgICAgICAgICAgICBvdXRwLnB1
dHMgImlmICghYXJnc1sje2luZGV4fV0udG1wKCkuaXMje2FyZy50eXBlfVAoKSkiCiAgICAgICAg
ICAgICAgICAgICAgIG91dHAucHV0cyAiT1BHRU5fUkVUVVJOKGZhbHNlKTsiCisgICAgICAgICAg
ICAgICAgd2hlbiAiSW1tIgorICAgICAgICAgICAgICAgICAgICBvdXRwLnB1dHMgImlmICghQXJn
Ojppc1ZhbGlkSW1tRm9ybShhcmdzWyN7aW5kZXh9XS52YWx1ZSgpKSkiCisgICAgICAgICAgICAg
ICAgICAgIG91dHAucHV0cyAiT1BHRU5fUkVUVVJOKGZhbHNlKTsiCisgICAgICAgICAgICAgICAg
d2hlbiAiQWRkciIKKyAgICAgICAgICAgICAgICAgICAgb3V0cC5wdXRzICJpZiAoIUFyZzo6aXNW
YWxpZEFkZHJGb3JtKGFyZ3NbI3tpbmRleH1dLm9mZnNldCgpKSkiCisgICAgICAgICAgICAgICAg
ICAgIG91dHAucHV0cyAiT1BHRU5fUkVUVVJOKGZhbHNlKTsiCisgICAgICAgICAgICAgICAgd2hl
biAiSW5kZXgiCisgICAgICAgICAgICAgICAgICAgIG91dHAucHV0cyAiaWYgKCFBcmc6OmlzVmFs
aWRJbmRleEZvcm0oYXJnc1sje2luZGV4fV0uc2NhbGUoKSwgYXJnc1sje2luZGV4fV0ub2Zmc2V0
KCksICN7YXJnLndpZHRoQ29kZX0pKSIKKyAgICAgICAgICAgICAgICAgICAgb3V0cC5wdXRzICJP
UEdFTl9SRVRVUk4oZmFsc2UpOyIKKyAgICAgICAgICAgICAgICB3aGVuICJJbW02NCIKKyAgICAg
ICAgICAgICAgICB3aGVuICJSZWxDb25kIgorICAgICAgICAgICAgICAgIHdoZW4gIlJlc0NvbmQi
CisgICAgICAgICAgICAgICAgd2hlbiAiRG91YmxlQ29uZCIKKyAgICAgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgICAgIHJhaXNlICJVbmV4cGVjdGVkIGtpbmQ6ICN7a2luZC5uYW1l
fSIKICAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIG5l
ZWRzTW9yZVZhbGlkYXRpb24K
</data>
<flag name="review"
          id="292848"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>