<?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>113757</bug_id>
          
          <creation_ts>2013-04-02 00:52:31 -0700</creation_ts>
          <short_desc>fourthTier: FTL should support fast property stores</short_desc>
          <delta_ts>2013-05-10 15:57:53 -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>JavaScriptCore</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>112840</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>867631</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-04-02 00:52:31 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867633</commentid>
    <comment_count>1</comment_count>
      <attachid>196088</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-04-02 00:54:08 -0700</bug_when>
    <thetext>Created attachment 196088
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867634</commentid>
    <comment_count>2</comment_count>
      <attachid>196089</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-04-02 00:56:48 -0700</bug_when>
    <thetext>Created attachment 196089
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887653</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-10 15:57:53 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/147446</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196088</attachid>
            <date>2013-04-02 00:54:08 -0700</date>
            <delta_ts>2013-04-02 00:56:48 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>12757</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ3Mzk3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDEzLTA0LTAyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Zm91cnRoVGllcjogRlRMIHNob3VsZCBzdXBwb3J0IGZhc3QgcHJvcGVydHkgc3RvcmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM3NTcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFNpbXBs
aWZpZWQgdGhlIHRhc2sgb2YgaGFuZGxpbmcgcHJvcGVydHkgdHJhbnNpdGlvbnMgYW5kIHJlZHVj
ZWQgYW1vdW50IG9mIGNvZGUKKyAgICAgICAgZHVwbGljYXRpb24gYmV0d2VlbiB0aGUgSklUcy4K
KyAgICAgICAgCisgICAgICAgIEFkZGVkIFB1dEJ5T2Zmc2V0LCBQdXRTdHJ1Y3R1cmUsIFBoYW50
b21QdXRTdHJ1Y3R1cmUsIFdlYWtKU0NvbnN0YW50LCBhbmQgYQorICAgICAgICBzdHViIGZvcm0g
b2YgU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnQgdG8gdGhlIEZUTC4KKworICAgICAgICAq
IGRmZy9ERkdHcmFwaC5oOgorICAgICAgICAoSlNDOjpERkc6OkdyYXBoOjpub3RpZnlDb21waWxp
bmdTdHJ1Y3R1cmVUcmFuc2l0aW9uKToKKyAgICAgICAgKEdyYXBoKToKKyAgICAgICAgKiBkZmcv
REZHSklUQ29tcGlsZXIuaDoKKyAgICAgICAgKEpJVENvbXBpbGVyKToKKyAgICAgICAgKiBkZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICog
ZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6
CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6RlRM
OjpMb3dlckRGR1RvTExWTTo6bG93ZXIpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9M
TFZNOjpjb21waWxlTm9kZSk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNv
bXBpbGVXZWFrSlNDb25zdGFudCk6CisgICAgICAgIChMb3dlckRGR1RvTExWTSk6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0
Y2hwb2ludCk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVQdXRT
dHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlUGhh
bnRvbVB1dFN0cnVjdHVyZSk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNv
bXBpbGVQdXRCeU9mZnNldCk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmFj
Y291bnRlZFBvaW50ZXIpOgorICAgICAgICAqIGZ0bC9GVExPdXRwdXQuaDoKKyAgICAgICAgKE91
dHB1dCk6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojpjb25zdEludFB0cik6CisgICAgICAg
IChKU0M6OkZUTDo6T3V0cHV0OjphYnNvbHV0ZSk6CisKIDIwMTMtMDQtMDEgIEZpbGlwIFBpemxv
ICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBmb3VydGhUaWVyOiBGVEwgc2hvdWxkIHN1
cHBvcnQgc29tZSBtb3JlIGludGVnZXIgYXJpdGhtZXRpYyBvcHMgKG5lZ2F0ZSwgeG9yLCB1cnNo
aWZ0KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAkocmV2aXNpb24gMTQ3
Mzk2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCSh3b3JraW5nIGNv
cHkpCkBAIC02ODcsNiArNjg3LDE2IEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgIH0KICAgICAK
KyAgICB2b2lkIG5vdGlmeUNvbXBpbGluZ1N0cnVjdHVyZVRyYW5zaXRpb24oTm9kZSogbm9kZSkK
KyAgICB7CisgICAgICAgIEFTU0VSVChub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0YSgpLnBy
ZXZpb3VzU3RydWN0dXJlLT50cmFuc2l0aW9uV2F0Y2hwb2ludFNldEhhc0JlZW5JbnZhbGlkYXRl
ZCgpKTsKKyAgICAgICAgCisgICAgICAgIG1fY29kZUJsb2NrLT5hcHBlbmRXZWFrUmVmZXJlbmNl
VHJhbnNpdGlvbigKKyAgICAgICAgICAgIG5vZGUtPmNvZGVPcmlnaW4uY29kZU9yaWdpbk93bmVy
KCksCisgICAgICAgICAgICBub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0YSgpLnByZXZpb3Vz
U3RydWN0dXJlLAorICAgICAgICAgICAgbm9kZS0+c3RydWN0dXJlVHJhbnNpdGlvbkRhdGEoKS5u
ZXdTdHJ1Y3R1cmUpOworICAgIH0KKyAgICAKICAgICBKU0dsb2JhbERhdGEmIG1fZ2xvYmFsRGF0
YTsKICAgICBDb2RlQmxvY2sqIG1fY29kZUJsb2NrOwogICAgIFJlZlB0cjxQcm9maWxlcjo6Q29t
cGlsYXRpb24+IG1fY29tcGlsYXRpb247CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0pJVENvbXBpbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdKSVRDb21waWxlci5oCShyZXZpc2lvbiAxNDczOTYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3NywxMSArMzc3
LDYgQEAgcHVibGljOgogICAgICAgICAgICAgYWRkV2Vha1JlZmVyZW5jZShzdHJ1Y3R1cmVTZXRb
aV0pOwogICAgIH0KICAgICAKLSAgICB2b2lkIGFkZFdlYWtSZWZlcmVuY2VUcmFuc2l0aW9uKEpT
Q2VsbCogY29kZU9yaWdpbiwgSlNDZWxsKiBmcm9tLCBKU0NlbGwqIHRvKQotICAgIHsKLSAgICAg
ICAgbV9jb2RlQmxvY2stPmFwcGVuZFdlYWtSZWZlcmVuY2VUcmFuc2l0aW9uKGNvZGVPcmlnaW4s
IGZyb20sIHRvKTsKLSAgICB9Ci0gICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBK
dW1wIGJyYW5jaFdlYWtQdHIoUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBUIGxlZnQsIEpTQ2Vs
bCogd2Vha1B0cikKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHJldmlzaW9uIDE0NzM5NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQwMzUsMjYgKzQwMzUsMTcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZShOb2RlKiBub2RlKQogICAgICAgICAKICAgICBjYXNlIFBoYW50b21QdXRTdHJ1Y3R1cmU6
IHsKICAgICAgICAgQVNTRVJUKGlzS25vd25DZWxsKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSkpOwot
ICAgICAgICBBU1NFUlQobm9kZS0+c3RydWN0dXJlVHJhbnNpdGlvbkRhdGEoKS5wcmV2aW91c1N0
cnVjdHVyZS0+dHJhbnNpdGlvbldhdGNocG9pbnRTZXRIYXNCZWVuSW52YWxpZGF0ZWQoKSk7Ci0g
ICAgICAgIG1faml0LmFkZFdlYWtSZWZlcmVuY2VUcmFuc2l0aW9uKAotICAgICAgICAgICAgbm9k
ZS0+Y29kZU9yaWdpbi5jb2RlT3JpZ2luT3duZXIoKSwKLSAgICAgICAgICAgIG5vZGUtPnN0cnVj
dHVyZVRyYW5zaXRpb25EYXRhKCkucHJldmlvdXNTdHJ1Y3R1cmUsCi0gICAgICAgICAgICBub2Rl
LT5zdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0YSgpLm5ld1N0cnVjdHVyZSk7CisgICAgICAgIG1faml0
LmdyYXBoKCkubm90aWZ5Q29tcGlsaW5nU3RydWN0dXJlVHJhbnNpdGlvbihub2RlKTsKICAgICAg
ICAgbm9SZXN1bHQobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIGNhc2UgUHV0
U3RydWN0dXJlOiB7Ci0gICAgICAgIEFTU0VSVChub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0
YSgpLnByZXZpb3VzU3RydWN0dXJlLT50cmFuc2l0aW9uV2F0Y2hwb2ludFNldEhhc0JlZW5JbnZh
bGlkYXRlZCgpKTsKKyAgICAgICAgbV9qaXQuZ3JhcGgoKS5ub3RpZnlDb21waWxpbmdTdHJ1Y3R1
cmVUcmFuc2l0aW9uKG5vZGUpOwogCiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2Uo
dGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBHUFJSZWcgYmFzZUdQUiA9IGJhc2UuZ3By
KCk7CiAgICAgICAgIAotICAgICAgICBtX2ppdC5hZGRXZWFrUmVmZXJlbmNlVHJhbnNpdGlvbigK
LSAgICAgICAgICAgIG5vZGUtPmNvZGVPcmlnaW4uY29kZU9yaWdpbk93bmVyKCksCi0gICAgICAg
ICAgICBub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0YSgpLnByZXZpb3VzU3RydWN0dXJlLAot
ICAgICAgICAgICAgbm9kZS0+c3RydWN0dXJlVHJhbnNpdGlvbkRhdGEoKS5uZXdTdHJ1Y3R1cmUp
OwotICAgICAgICAKICNpZiBFTkFCTEUoV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcpCiAgICAgICAg
IC8vIE11c3QgYWx3YXlzIGVtaXQgdGhpcyB3cml0ZSBiYXJyaWVyIGFzIHRoZSBzdHJ1Y3R1cmUg
dHJhbnNpdGlvbiBpdHNlbGYgcmVxdWlyZXMgaXQKICAgICAgICAgd3JpdGVCYXJyaWVyKGJhc2VH
UFIsIG5vZGUtPnN0cnVjdHVyZVRyYW5zaXRpb25EYXRhKCkubmV3U3RydWN0dXJlLCBXcml0ZUJh
cnJpZXJGb3JHZW5lcmljQWNjZXNzKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMTQ3Mzk2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzk0MSwyNiArMzk0MSwxNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
KE5vZGUqIG5vZGUpCiAgICAgICAgIAogICAgIGNhc2UgUGhhbnRvbVB1dFN0cnVjdHVyZTogewog
ICAgICAgICBBU1NFUlQoaXNLbm93bkNlbGwobm9kZS0+Y2hpbGQxKCkubm9kZSgpKSk7Ci0gICAg
ICAgIAotICAgICAgICBBU1NFUlQobm9kZS0+c3RydWN0dXJlVHJhbnNpdGlvbkRhdGEoKS5wcmV2
aW91c1N0cnVjdHVyZS0+dHJhbnNpdGlvbldhdGNocG9pbnRTZXRIYXNCZWVuSW52YWxpZGF0ZWQo
KSk7Ci0gICAgICAgIG1faml0LmFkZFdlYWtSZWZlcmVuY2VUcmFuc2l0aW9uKAotICAgICAgICAg
ICAgbm9kZS0+Y29kZU9yaWdpbi5jb2RlT3JpZ2luT3duZXIoKSwKLSAgICAgICAgICAgIG5vZGUt
PnN0cnVjdHVyZVRyYW5zaXRpb25EYXRhKCkucHJldmlvdXNTdHJ1Y3R1cmUsCi0gICAgICAgICAg
ICBub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0YSgpLm5ld1N0cnVjdHVyZSk7CisgICAgICAg
IG1faml0LmdyYXBoKCkubm90aWZ5Q29tcGlsaW5nU3RydWN0dXJlVHJhbnNpdGlvbihub2RlKTsK
ICAgICAgICAgbm9SZXN1bHQobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICAgICAg
CiAgICAgY2FzZSBQdXRTdHJ1Y3R1cmU6IHsKLSAgICAgICAgQVNTRVJUKG5vZGUtPnN0cnVjdHVy
ZVRyYW5zaXRpb25EYXRhKCkucHJldmlvdXNTdHJ1Y3R1cmUtPnRyYW5zaXRpb25XYXRjaHBvaW50
U2V0SGFzQmVlbkludmFsaWRhdGVkKCkpOworICAgICAgICBtX2ppdC5ncmFwaCgpLm5vdGlmeUNv
bXBpbGluZ1N0cnVjdHVyZVRyYW5zaXRpb24obm9kZSk7CiAKICAgICAgICAgU3BlY3VsYXRlQ2Vs
bE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIEdQUlJlZyBiYXNl
R1BSID0gYmFzZS5ncHIoKTsKICAgICAgICAgCi0gICAgICAgIG1faml0LmFkZFdlYWtSZWZlcmVu
Y2VUcmFuc2l0aW9uKAotICAgICAgICAgICAgbm9kZS0+Y29kZU9yaWdpbi5jb2RlT3JpZ2luT3du
ZXIoKSwKLSAgICAgICAgICAgIG5vZGUtPnN0cnVjdHVyZVRyYW5zaXRpb25EYXRhKCkucHJldmlv
dXNTdHJ1Y3R1cmUsCi0gICAgICAgICAgICBub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0YSgp
Lm5ld1N0cnVjdHVyZSk7CiAgICAgICAgIAogI2lmIEVOQUJMRShXUklURV9CQVJSSUVSX1BST0ZJ
TElORykKICAgICAgICAgLy8gTXVzdCBhbHdheXMgZW1pdCB0aGlzIHdyaXRlIGJhcnJpZXIgYXMg
dGhlIHN0cnVjdHVyZSB0cmFuc2l0aW9uIGl0c2VsZiByZXF1aXJlcyBpdApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAkocmV2aXNpb24gMTQ3
Mzk2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBAIGJvb2wgY2FuQ29tcGlsZShHcmFwaCYgZ3Jh
cGgpCiAgICAgICAgICAgICAKICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgewogICAg
ICAgICAgICAgY2FzZSBKU0NvbnN0YW50OgorICAgICAgICAgICAgY2FzZSBXZWFrSlNDb25zdGFu
dDoKICAgICAgICAgICAgIGNhc2UgR2V0TG9jYWw6CiAgICAgICAgICAgICBjYXNlIFNldExvY2Fs
OgogICAgICAgICAgICAgY2FzZSBNb3ZIaW50QW5kQ2hlY2s6CkBAIC04MSw4ICs4MiwxMiBAQCBi
b29sIGNhbkNvbXBpbGUoR3JhcGgmIGdyYXBoKQogICAgICAgICAgICAgY2FzZSBCaXRMU2hpZnQ6
CiAgICAgICAgICAgICBjYXNlIEJpdFVSU2hpZnQ6CiAgICAgICAgICAgICBjYXNlIENoZWNrU3Ry
dWN0dXJlOgorICAgICAgICAgICAgY2FzZSBTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludDoK
KyAgICAgICAgICAgIGNhc2UgUHV0U3RydWN0dXJlOgorICAgICAgICAgICAgY2FzZSBQaGFudG9t
UHV0U3RydWN0dXJlOgogICAgICAgICAgICAgY2FzZSBHZXRCdXR0ZXJmbHk6CiAgICAgICAgICAg
ICBjYXNlIEdldEJ5T2Zmc2V0OgorICAgICAgICAgICAgY2FzZSBQdXRCeU9mZnNldDoKICAgICAg
ICAgICAgIGNhc2UgR2V0R2xvYmFsVmFyOgogICAgICAgICAgICAgY2FzZSBQdXRHbG9iYWxWYXI6
CiAgICAgICAgICAgICAgICAgLy8gVGhlc2UgYXJlIE9LLgpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE0NzM5NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC04NCw3ICs4NCw3IEBAIHB1YmxpYzoKICAgICAgICAgbV90YWdNYXNrID0g
bV9vdXQuY29uc3RJbnQ2NChUYWdNYXNrKTsKICAgICAgICAgCiAgICAgICAgIG1fYWJvcnRGdW5j
dGlvbiA9IGNvbnN0SW50VG9QdHIoCi0gICAgICAgICAgICBtX291dC5jb25zdEludFB0cihiaXR3
aXNlX2Nhc3Q8aW50cHRyX3Q+KGFib3J0KSksCisgICAgICAgICAgICBtX291dC5jb25zdEludFB0
cihhYm9ydCksCiAgICAgICAgICAgICBwb2ludGVyVHlwZShmdW5jdGlvblR5cGUobV9vdXQudm9p
ZFR5cGUpKSk7CiAgICAgICAgIAogICAgICAgICBmb3IgKEJsb2NrSW5kZXggYmxvY2tJbmRleCA9
IDA7IGJsb2NrSW5kZXggPCBtX2dyYXBoLm1fYmxvY2tzLnNpemUoKTsgKytibG9ja0luZGV4KSB7
CkBAIC0yNDgsNiArMjQ4LDkgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBKU0NvbnN0YW50Ogog
ICAgICAgICAgICAgY29tcGlsZUpTQ29uc3RhbnQoKTsKICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIFdlYWtKU0NvbnN0YW50OgorICAgICAgICAgICAgY29tcGlsZVdlYWtKU0NvbnN0
YW50KCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBHZXRMb2NhbDoKICAgICAg
ICAgICAgIGNvbXBpbGVHZXRMb2NhbCgpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0zMDQsNiAr
MzA3LDE1IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmU6CiAgICAgICAg
ICAgICBjb21waWxlQ2hlY2tTdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50OgorICAgICAgICAgICAgY29tcGls
ZVN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50KCk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmU6CisgICAgICAgICAgICBjb21waWxlUHV0U3RydWN0dXJl
KCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBQaGFudG9tUHV0U3RydWN0dXJl
OgorICAgICAgICAgICAgY29tcGlsZVBoYW50b21QdXRTdHJ1Y3R1cmUoKTsKKyAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIEdldEJ1dHRlcmZseToKICAgICAgICAgICAgIGNvbXBpbGVH
ZXRCdXR0ZXJmbHkoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzE2LDYgKzMyOCw5IEBAIHBy
aXZhdGU6CiAgICAgICAgIGNhc2UgR2V0QnlPZmZzZXQ6CiAgICAgICAgICAgICBjb21waWxlR2V0
QnlPZmZzZXQoKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFB1dEJ5T2Zmc2V0
OgorICAgICAgICAgICAgY29tcGlsZVB1dEJ5T2Zmc2V0KCk7CisgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgY2FzZSBHZXRHbG9iYWxWYXI6CiAgICAgICAgICAgICBjb21waWxlR2V0R2xvYmFs
VmFyKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTM0NSw2ICszNjAsMTEgQEAgcHJpdmF0ZToK
ICAgICAgICAgbV9qc1ZhbHVlVmFsdWVzLmFkZChtX25vZGUsIG1fb3V0LmNvbnN0SW50NjQoSlNW
YWx1ZTo6ZW5jb2RlKG1fZ3JhcGgudmFsdWVPZkpTQ29uc3RhbnQobV9ub2RlKSkpKTsKICAgICB9
CiAgICAgCisgICAgdm9pZCBjb21waWxlV2Vha0pTQ29uc3RhbnQoKQorICAgIHsKKyAgICAgICAg
bV9qc1ZhbHVlVmFsdWVzLmFkZChtX25vZGUsIHdlYWtQb2ludGVyKG1fbm9kZS0+d2Vha0NvbnN0
YW50KCkpKTsKKyAgICB9CisgICAgCiAgICAgdm9pZCBjb21waWxlR2V0TG9jYWwoKQogICAgIHsK
ICAgICAgICAgVmFyaWFibGVBY2Nlc3NEYXRhKiB2YXJpYWJsZSA9IG1fbm9kZS0+dmFyaWFibGVB
Y2Nlc3NEYXRhKCk7CkBAIC02NzksNiArNjk5LDMwIEBAIHByaXZhdGU6CiAgICAgICAgIG1fb3V0
LmFwcGVuZFRvKGNvbnRpbnVhdGlvbiwgbGFzdE5leHQpOwogICAgIH0KICAgICAKKyAgICB2b2lk
IGNvbXBpbGVTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludCgpCisgICAgeworICAgICAgICBj
b2RlQmxvY2soKS0+YXBwZW5kV2Vha1JlZmVyZW5jZShtX25vZGUtPnN0cnVjdHVyZSgpKTsKKyAg
ICAgICAgCisgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgc3RydWN0dXJlIHRyYW5zaXRpb24g
d2F0Y2hwb2ludHMuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTM2NDcKKyAgICAgICAgCisgICAgICAgIHNwZWN1bGF0ZUNlbGwobV9ub2RlLT5j
aGlsZDEoKSk7CisgICAgfQorICAgIAorICAgIHZvaWQgY29tcGlsZVB1dFN0cnVjdHVyZSgpCisg
ICAgeworICAgICAgICBtX2dyYXBoLm5vdGlmeUNvbXBpbGluZ1N0cnVjdHVyZVRyYW5zaXRpb24o
bV9ub2RlKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0LnN0b3JlNjQoCisgICAgICAgICAgICBt
X291dC5jb25zdEludFB0cihtX25vZGUtPnN0cnVjdHVyZVRyYW5zaXRpb25EYXRhKCkubmV3U3Ry
dWN0dXJlKSwKKyAgICAgICAgICAgIGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSksIG1faGVhcHMu
SlNDZWxsX3N0cnVjdHVyZSk7CisgICAgfQorICAgIAorICAgIHZvaWQgY29tcGlsZVBoYW50b21Q
dXRTdHJ1Y3R1cmUoKQorICAgIHsKKyAgICAgICAgbV9ncmFwaC5ub3RpZnlDb21waWxpbmdTdHJ1
Y3R1cmVUcmFuc2l0aW9uKG1fbm9kZSk7CisgICAgfQorICAgIAogICAgIHZvaWQgY29tcGlsZUdl
dEJ1dHRlcmZseSgpCiAgICAgewogICAgICAgICBtX3N0b3JhZ2VWYWx1ZXMuYWRkKApAQCAtNzQ5
LDYgKzc5MywxOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICBkYXRhLm9mZnNldCAq
IHNpemVvZihFbmNvZGVkSlNWYWx1ZSkpKSk7CiAgICAgfQogICAgIAorICAgIHZvaWQgY29tcGls
ZVB1dEJ5T2Zmc2V0KCkKKyAgICB7CisgICAgICAgIFN0b3JhZ2VBY2Nlc3NEYXRhJiBkYXRhID0K
KyAgICAgICAgICAgIG1fZ3JhcGgubV9zdG9yYWdlQWNjZXNzRGF0YVttX25vZGUtPnN0b3JhZ2VB
Y2Nlc3NEYXRhSW5kZXgoKV07CisgICAgICAgIAorICAgICAgICBtX291dC5zdG9yZTY0KAorICAg
ICAgICAgICAgbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMygpKSwKKyAgICAgICAgICAgIG1fb3V0
LmFkZHJlc3MoCisgICAgICAgICAgICAgICAgbV9oZWFwcy5wcm9wZXJ0aWVzW2RhdGEuaWRlbnRp
Zmllck51bWJlcl0sCisgICAgICAgICAgICAgICAgbG93U3RvcmFnZShtX25vZGUtPmNoaWxkMigp
KSwKKyAgICAgICAgICAgICAgICBkYXRhLm9mZnNldCAqIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkp
KTsKKyAgICB9CisgICAgCiAgICAgdm9pZCBjb21waWxlR2V0R2xvYmFsVmFyKCkKICAgICB7CiAg
ICAgICAgIG1fanNWYWx1ZVZhbHVlcy5hZGQobV9ub2RlLCBtX291dC5sb2FkNjQobV9vdXQuYWJz
b2x1dGUobV9ub2RlLT5yZWdpc3RlclBvaW50ZXIoKSkpKTsKQEAgLTEwNTAsNyArMTEwNyw3IEBA
IHByaXZhdGU6CiAgICAgCiAgICAgTFZhbHVlIGFjY291bnRlZFBvaW50ZXIoSlNDZWxsKiBwb2lu
dGVyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fb3V0LmNvbnN0SW50UHRyKGJpdHdpc2VfY2Fz
dDxpbnRwdHJfdD4ocG9pbnRlcikpOworICAgICAgICByZXR1cm4gbV9vdXQuY29uc3RJbnRQdHIo
cG9pbnRlcik7CiAgICAgfQogICAgIAogICAgIExWYWx1ZSB3ZWFrUG9pbnRlcihKU0NlbGwqIHBv
aW50ZXIpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgJKHJldmlzaW9u
IDE0NzM5NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTEwNCw3ICsxMDQsOCBAQCBwdWJsaWM6CiAgICAgTFZhbHVlIHBhcmFtKHVu
c2lnbmVkIGluZGV4KSB7IHJldHVybiBnZXRQYXJhbShtX2Z1bmN0aW9uLCBpbmRleCk7IH0KICAg
ICBMVmFsdWUgY29uc3RCb29sKGJvb2wgdmFsdWUpIHsgcmV0dXJuIGNvbnN0SW50KGJvb2xlYW4s
IHZhbHVlLCBaZXJvRXh0ZW5kKTsgfQogICAgIExWYWx1ZSBjb25zdEludDMyKGludDMyX3QgdmFs
dWUpIHsgcmV0dXJuIGNvbnN0SW50KGludDMyLCB2YWx1ZSwgU2lnbkV4dGVuZCk7IH0KLSAgICBM
VmFsdWUgY29uc3RJbnRQdHIoaW50cHRyX3QgdmFsdWUpIHsgcmV0dXJuIGNvbnN0SW50KGludFB0
ciwgdmFsdWUsIFNpZ25FeHRlbmQpOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBM
VmFsdWUgY29uc3RJbnRQdHIoVCB2YWx1ZSkgeyByZXR1cm4gY29uc3RJbnQoaW50UHRyLCBiaXR3
aXNlX2Nhc3Q8aW50cHRyX3Q+KHZhbHVlKSwgU2lnbkV4dGVuZCk7IH0KICAgICBMVmFsdWUgY29u
c3RJbnQ2NChpbnQ2NF90IHZhbHVlKSB7IHJldHVybiBjb25zdEludChpbnQ2NCwgdmFsdWUsIFNp
Z25FeHRlbmQpOyB9CiAgICAgCiAgICAgTFZhbHVlIGFkZChMVmFsdWUgbGVmdCwgTFZhbHVlIHJp
Z2h0KSB7IHJldHVybiBidWlsZEFkZChtX2J1aWxkZXIsIGxlZnQsIHJpZ2h0KTsgfQpAQCAtMjE0
LDggKzIxNSw3IEBAIHB1YmxpYzoKICAgICAKICAgICBUeXBlZFBvaW50ZXIgYWJzb2x1dGUodm9p
ZCogYWRkcmVzcykKICAgICB7Ci0gICAgICAgIHJldHVybiBUeXBlZFBvaW50ZXIoCi0gICAgICAg
ICAgICBtX2hlYXBzLT5hYnNvbHV0ZVthZGRyZXNzXSwgY29uc3RJbnRQdHIoYml0d2lzZV9jYXN0
PGludHB0cl90PihhZGRyZXNzKSkpOworICAgICAgICByZXR1cm4gVHlwZWRQb2ludGVyKG1faGVh
cHMtPmFic29sdXRlW2FkZHJlc3NdLCBjb25zdEludFB0cihhZGRyZXNzKSk7CiAgICAgfQogICAg
IAogICAgIExWYWx1ZSBsb2FkMzIoTFZhbHVlIGJhc2UsIGNvbnN0IEFic3RyYWN0RmllbGQmIGZp
ZWxkKSB7IHJldHVybiBsb2FkMzIoYWRkcmVzcyhiYXNlLCBmaWVsZCkpOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196089</attachid>
            <date>2013-04-02 00:56:48 -0700</date>
            <delta_ts>2013-04-02 09:29:36 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>13547</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ3Mzk3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBA
CisyMDEzLTA0LTAyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Zm91cnRoVGllcjogRlRMIHNob3VsZCBzdXBwb3J0IGZhc3QgcHJvcGVydHkgc3RvcmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM3NTcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFNpbXBs
aWZpZWQgdGhlIHRhc2sgb2YgaGFuZGxpbmcgcHJvcGVydHkgdHJhbnNpdGlvbnMgYW5kIHJlZHVj
ZWQgYW1vdW50IG9mIGNvZGUKKyAgICAgICAgZHVwbGljYXRpb24gYmV0d2VlbiB0aGUgSklUcy4K
KyAgICAgICAgCisgICAgICAgIEFkZGVkIFB1dEJ5T2Zmc2V0LCBQdXRTdHJ1Y3R1cmUsIFBoYW50
b21QdXRTdHJ1Y3R1cmUsIFdlYWtKU0NvbnN0YW50LCBhbmQgYQorICAgICAgICBzdHViIGZvcm0g
b2YgU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnQgdG8gdGhlIEZUTC4KKyAgICAgICAgCisg
ICAgICAgIEFsc28gc2ltcGxpZmllZCB0aGUgY3JlYXRpb24gb2YgcG9pbnRlciBjb25zdGFudHMs
IGFuZCBmaXhlZCBhIGJ1ZyBpbgorICAgICAgICBzcGVjdWxhdGVPYmplY3QoKS4KKworICAgICAg
ICAqIGRmZy9ERkdHcmFwaC5oOgorICAgICAgICAoSlNDOjpERkc6OkdyYXBoOjpub3RpZnlDb21w
aWxpbmdTdHJ1Y3R1cmVUcmFuc2l0aW9uKToKKyAgICAgICAgKEdyYXBoKToKKyAgICAgICAgKiBk
ZmcvREZHSklUQ29tcGlsZXIuaDoKKyAgICAgICAgKEpJVENvbXBpbGVyKToKKyAgICAgICAgKiBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNw
cDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAg
ICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGls
ZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6
RlRMOjpMb3dlckRGR1RvTExWTTo6bG93ZXIpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZH
VG9MTFZNOjpjb21waWxlTm9kZSk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06
OmNvbXBpbGVXZWFrSlNDb25zdGFudCk6CisgICAgICAgIChMb3dlckRGR1RvTExWTSk6CisgICAg
ICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVTdHJ1Y3R1cmVUcmFuc2l0aW9u
V2F0Y2hwb2ludCk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVQ
dXRTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxl
UGhhbnRvbVB1dFN0cnVjdHVyZSk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06
OmNvbXBpbGVQdXRCeU9mZnNldCk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06
OnNwZWN1bGF0ZU9iamVjdCk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06Ondl
YWtQb2ludGVyKToKKyAgICAgICAgKiBmdGwvRlRMT3V0cHV0Lmg6CisgICAgICAgIChPdXRwdXQp
OgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6Y29uc3RJbnRQdHIpOgorICAgICAgICAoSlND
OjpGVEw6Ok91dHB1dDo6YWJzb2x1dGUpOgorCiAyMDEzLTA0LTAxICBGaWxpcCBQaXpsbyAgPGZw
aXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgZm91cnRoVGllcjogRlRMIHNob3VsZCBzdXBwb3J0
IHNvbWUgbW9yZSBpbnRlZ2VyIGFyaXRobWV0aWMgb3BzIChuZWdhdGUsIHhvciwgdXJzaGlmdCkK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgJKHJldmlzaW9uIDE0NzM5NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAkod29ya2luZyBjb3B5KQpA
QCAtNjg3LDYgKzY4NywxNiBAQCBwdWJsaWM6CiAgICAgICAgIH0KICAgICB9CiAgICAgCisgICAg
dm9pZCBub3RpZnlDb21waWxpbmdTdHJ1Y3R1cmVUcmFuc2l0aW9uKE5vZGUqIG5vZGUpCisgICAg
eworICAgICAgICBBU1NFUlQobm9kZS0+c3RydWN0dXJlVHJhbnNpdGlvbkRhdGEoKS5wcmV2aW91
c1N0cnVjdHVyZS0+dHJhbnNpdGlvbldhdGNocG9pbnRTZXRIYXNCZWVuSW52YWxpZGF0ZWQoKSk7
CisgICAgICAgIAorICAgICAgICBtX2NvZGVCbG9jay0+YXBwZW5kV2Vha1JlZmVyZW5jZVRyYW5z
aXRpb24oCisgICAgICAgICAgICBub2RlLT5jb2RlT3JpZ2luLmNvZGVPcmlnaW5Pd25lcigpLAor
ICAgICAgICAgICAgbm9kZS0+c3RydWN0dXJlVHJhbnNpdGlvbkRhdGEoKS5wcmV2aW91c1N0cnVj
dHVyZSwKKyAgICAgICAgICAgIG5vZGUtPnN0cnVjdHVyZVRyYW5zaXRpb25EYXRhKCkubmV3U3Ry
dWN0dXJlKTsKKyAgICB9CisgICAgCiAgICAgSlNHbG9iYWxEYXRhJiBtX2dsb2JhbERhdGE7CiAg
ICAgQ29kZUJsb2NrKiBtX2NvZGVCbG9jazsKICAgICBSZWZQdHI8UHJvZmlsZXI6OkNvbXBpbGF0
aW9uPiBtX2NvbXBpbGF0aW9uOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdK
SVRDb21waWxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
SklUQ29tcGlsZXIuaAkocmV2aXNpb24gMTQ3Mzk2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdKSVRDb21waWxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNzcsMTEgKzM3Nyw2IEBA
IHB1YmxpYzoKICAgICAgICAgICAgIGFkZFdlYWtSZWZlcmVuY2Uoc3RydWN0dXJlU2V0W2ldKTsK
ICAgICB9CiAgICAgCi0gICAgdm9pZCBhZGRXZWFrUmVmZXJlbmNlVHJhbnNpdGlvbihKU0NlbGwq
IGNvZGVPcmlnaW4sIEpTQ2VsbCogZnJvbSwgSlNDZWxsKiB0bykKLSAgICB7Ci0gICAgICAgIG1f
Y29kZUJsb2NrLT5hcHBlbmRXZWFrUmVmZXJlbmNlVHJhbnNpdGlvbihjb2RlT3JpZ2luLCBmcm9t
LCB0byk7Ci0gICAgfQotICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgSnVtcCBi
cmFuY2hXZWFrUHRyKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgVCBsZWZ0LCBKU0NlbGwqIHdl
YWtQdHIpCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCShyZXZpc2lvbiAxNDczOTYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MDM1LDI2ICs0MDM1LDE3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUo
Tm9kZSogbm9kZSkKICAgICAgICAgCiAgICAgY2FzZSBQaGFudG9tUHV0U3RydWN0dXJlOiB7CiAg
ICAgICAgIEFTU0VSVChpc0tub3duQ2VsbChub2RlLT5jaGlsZDEoKS5ub2RlKCkpKTsKLSAgICAg
ICAgQVNTRVJUKG5vZGUtPnN0cnVjdHVyZVRyYW5zaXRpb25EYXRhKCkucHJldmlvdXNTdHJ1Y3R1
cmUtPnRyYW5zaXRpb25XYXRjaHBvaW50U2V0SGFzQmVlbkludmFsaWRhdGVkKCkpOwotICAgICAg
ICBtX2ppdC5hZGRXZWFrUmVmZXJlbmNlVHJhbnNpdGlvbigKLSAgICAgICAgICAgIG5vZGUtPmNv
ZGVPcmlnaW4uY29kZU9yaWdpbk93bmVyKCksCi0gICAgICAgICAgICBub2RlLT5zdHJ1Y3R1cmVU
cmFuc2l0aW9uRGF0YSgpLnByZXZpb3VzU3RydWN0dXJlLAotICAgICAgICAgICAgbm9kZS0+c3Ry
dWN0dXJlVHJhbnNpdGlvbkRhdGEoKS5uZXdTdHJ1Y3R1cmUpOworICAgICAgICBtX2ppdC5ncmFw
aCgpLm5vdGlmeUNvbXBpbGluZ1N0cnVjdHVyZVRyYW5zaXRpb24obm9kZSk7CiAgICAgICAgIG5v
UmVzdWx0KG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBjYXNlIFB1dFN0cnVj
dHVyZTogewotICAgICAgICBBU1NFUlQobm9kZS0+c3RydWN0dXJlVHJhbnNpdGlvbkRhdGEoKS5w
cmV2aW91c1N0cnVjdHVyZS0+dHJhbnNpdGlvbldhdGNocG9pbnRTZXRIYXNCZWVuSW52YWxpZGF0
ZWQoKSk7CisgICAgICAgIG1faml0LmdyYXBoKCkubm90aWZ5Q29tcGlsaW5nU3RydWN0dXJlVHJh
bnNpdGlvbihub2RlKTsKIAogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBiYXNlKHRoaXMs
IG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgR1BSUmVnIGJhc2VHUFIgPSBiYXNlLmdwcigpOwog
ICAgICAgICAKLSAgICAgICAgbV9qaXQuYWRkV2Vha1JlZmVyZW5jZVRyYW5zaXRpb24oCi0gICAg
ICAgICAgICBub2RlLT5jb2RlT3JpZ2luLmNvZGVPcmlnaW5Pd25lcigpLAotICAgICAgICAgICAg
bm9kZS0+c3RydWN0dXJlVHJhbnNpdGlvbkRhdGEoKS5wcmV2aW91c1N0cnVjdHVyZSwKLSAgICAg
ICAgICAgIG5vZGUtPnN0cnVjdHVyZVRyYW5zaXRpb25EYXRhKCkubmV3U3RydWN0dXJlKTsKLSAg
ICAgICAgCiAjaWYgRU5BQkxFKFdSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQogICAgICAgICAvLyBN
dXN0IGFsd2F5cyBlbWl0IHRoaXMgd3JpdGUgYmFycmllciBhcyB0aGUgc3RydWN0dXJlIHRyYW5z
aXRpb24gaXRzZWxmIHJlcXVpcmVzIGl0CiAgICAgICAgIHdyaXRlQmFycmllcihiYXNlR1BSLCBu
b2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0YSgpLm5ld1N0cnVjdHVyZSwgV3JpdGVCYXJyaWVy
Rm9yR2VuZXJpY0FjY2Vzcyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDE0NzM5NikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM5NDEsMjYgKzM5NDEsMTcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2Rl
KiBub2RlKQogICAgICAgICAKICAgICBjYXNlIFBoYW50b21QdXRTdHJ1Y3R1cmU6IHsKICAgICAg
ICAgQVNTRVJUKGlzS25vd25DZWxsKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSkpOwotICAgICAgICAK
LSAgICAgICAgQVNTRVJUKG5vZGUtPnN0cnVjdHVyZVRyYW5zaXRpb25EYXRhKCkucHJldmlvdXNT
dHJ1Y3R1cmUtPnRyYW5zaXRpb25XYXRjaHBvaW50U2V0SGFzQmVlbkludmFsaWRhdGVkKCkpOwot
ICAgICAgICBtX2ppdC5hZGRXZWFrUmVmZXJlbmNlVHJhbnNpdGlvbigKLSAgICAgICAgICAgIG5v
ZGUtPmNvZGVPcmlnaW4uY29kZU9yaWdpbk93bmVyKCksCi0gICAgICAgICAgICBub2RlLT5zdHJ1
Y3R1cmVUcmFuc2l0aW9uRGF0YSgpLnByZXZpb3VzU3RydWN0dXJlLAotICAgICAgICAgICAgbm9k
ZS0+c3RydWN0dXJlVHJhbnNpdGlvbkRhdGEoKS5uZXdTdHJ1Y3R1cmUpOworICAgICAgICBtX2pp
dC5ncmFwaCgpLm5vdGlmeUNvbXBpbGluZ1N0cnVjdHVyZVRyYW5zaXRpb24obm9kZSk7CiAgICAg
ICAgIG5vUmVzdWx0KG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgICAgIAogICAg
IGNhc2UgUHV0U3RydWN0dXJlOiB7Ci0gICAgICAgIEFTU0VSVChub2RlLT5zdHJ1Y3R1cmVUcmFu
c2l0aW9uRGF0YSgpLnByZXZpb3VzU3RydWN0dXJlLT50cmFuc2l0aW9uV2F0Y2hwb2ludFNldEhh
c0JlZW5JbnZhbGlkYXRlZCgpKTsKKyAgICAgICAgbV9qaXQuZ3JhcGgoKS5ub3RpZnlDb21waWxp
bmdTdHJ1Y3R1cmVUcmFuc2l0aW9uKG5vZGUpOwogCiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVy
YW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBHUFJSZWcgYmFzZUdQUiA9
IGJhc2UuZ3ByKCk7CiAgICAgICAgIAotICAgICAgICBtX2ppdC5hZGRXZWFrUmVmZXJlbmNlVHJh
bnNpdGlvbigKLSAgICAgICAgICAgIG5vZGUtPmNvZGVPcmlnaW4uY29kZU9yaWdpbk93bmVyKCks
Ci0gICAgICAgICAgICBub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0YSgpLnByZXZpb3VzU3Ry
dWN0dXJlLAotICAgICAgICAgICAgbm9kZS0+c3RydWN0dXJlVHJhbnNpdGlvbkRhdGEoKS5uZXdT
dHJ1Y3R1cmUpOwogICAgICAgICAKICNpZiBFTkFCTEUoV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcp
CiAgICAgICAgIC8vIE11c3QgYWx3YXlzIGVtaXQgdGhpcyB3cml0ZSBiYXJyaWVyIGFzIHRoZSBz
dHJ1Y3R1cmUgdHJhbnNpdGlvbiBpdHNlbGYgcmVxdWlyZXMgaXQKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAJKHJldmlzaW9uIDE0NzM5NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjQsNiArNjQsNyBAQCBib29sIGNhbkNvbXBpbGUoR3JhcGgmIGdyYXBoKQog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKICAgICAgICAg
ICAgIGNhc2UgSlNDb25zdGFudDoKKyAgICAgICAgICAgIGNhc2UgV2Vha0pTQ29uc3RhbnQ6CiAg
ICAgICAgICAgICBjYXNlIEdldExvY2FsOgogICAgICAgICAgICAgY2FzZSBTZXRMb2NhbDoKICAg
ICAgICAgICAgIGNhc2UgTW92SGludEFuZENoZWNrOgpAQCAtODEsOCArODIsMTIgQEAgYm9vbCBj
YW5Db21waWxlKEdyYXBoJiBncmFwaCkKICAgICAgICAgICAgIGNhc2UgQml0TFNoaWZ0OgogICAg
ICAgICAgICAgY2FzZSBCaXRVUlNoaWZ0OgogICAgICAgICAgICAgY2FzZSBDaGVja1N0cnVjdHVy
ZToKKyAgICAgICAgICAgIGNhc2UgU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnQ6CisgICAg
ICAgICAgICBjYXNlIFB1dFN0cnVjdHVyZToKKyAgICAgICAgICAgIGNhc2UgUGhhbnRvbVB1dFN0
cnVjdHVyZToKICAgICAgICAgICAgIGNhc2UgR2V0QnV0dGVyZmx5OgogICAgICAgICAgICAgY2Fz
ZSBHZXRCeU9mZnNldDoKKyAgICAgICAgICAgIGNhc2UgUHV0QnlPZmZzZXQ6CiAgICAgICAgICAg
ICBjYXNlIEdldEdsb2JhbFZhcjoKICAgICAgICAgICAgIGNhc2UgUHV0R2xvYmFsVmFyOgogICAg
ICAgICAgICAgICAgIC8vIFRoZXNlIGFyZSBPSy4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCShyZXZpc2lvbiAxNDczOTYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtODQsNyArODQsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1fdGFnTWFzayA9IG1fb3V0
LmNvbnN0SW50NjQoVGFnTWFzayk7CiAgICAgICAgIAogICAgICAgICBtX2Fib3J0RnVuY3Rpb24g
PSBjb25zdEludFRvUHRyKAotICAgICAgICAgICAgbV9vdXQuY29uc3RJbnRQdHIoYml0d2lzZV9j
YXN0PGludHB0cl90PihhYm9ydCkpLAorICAgICAgICAgICAgbV9vdXQuY29uc3RJbnRQdHIoYWJv
cnQpLAogICAgICAgICAgICAgcG9pbnRlclR5cGUoZnVuY3Rpb25UeXBlKG1fb3V0LnZvaWRUeXBl
KSkpOwogICAgICAgICAKICAgICAgICAgZm9yIChCbG9ja0luZGV4IGJsb2NrSW5kZXggPSAwOyBi
bG9ja0luZGV4IDwgbV9ncmFwaC5tX2Jsb2Nrcy5zaXplKCk7ICsrYmxvY2tJbmRleCkgewpAQCAt
MjQ4LDYgKzI0OCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgSlNDb25zdGFudDoKICAgICAg
ICAgICAgIGNvbXBpbGVKU0NvbnN0YW50KCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBXZWFrSlNDb25zdGFudDoKKyAgICAgICAgICAgIGNvbXBpbGVXZWFrSlNDb25zdGFudCgp
OworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgR2V0TG9jYWw6CiAgICAgICAgICAg
ICBjb21waWxlR2V0TG9jYWwoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzA0LDYgKzMwNywx
NSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIENoZWNrU3RydWN0dXJlOgogICAgICAgICAgICAg
Y29tcGlsZUNoZWNrU3RydWN0dXJlKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSBTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludDoKKyAgICAgICAgICAgIGNvbXBpbGVTdHJ1
Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgUHV0U3RydWN0dXJlOgorICAgICAgICAgICAgY29tcGlsZVB1dFN0cnVjdHVyZSgpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUGhhbnRvbVB1dFN0cnVjdHVyZToKKyAg
ICAgICAgICAgIGNvbXBpbGVQaGFudG9tUHV0U3RydWN0dXJlKCk7CisgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBHZXRCdXR0ZXJmbHk6CiAgICAgICAgICAgICBjb21waWxlR2V0QnV0
dGVyZmx5KCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTMxNiw2ICszMjgsOSBAQCBwcml2YXRl
OgogICAgICAgICBjYXNlIEdldEJ5T2Zmc2V0OgogICAgICAgICAgICAgY29tcGlsZUdldEJ5T2Zm
c2V0KCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBQdXRCeU9mZnNldDoKKyAg
ICAgICAgICAgIGNvbXBpbGVQdXRCeU9mZnNldCgpOworICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgR2V0R2xvYmFsVmFyOgogICAgICAgICAgICAgY29tcGlsZUdldEdsb2JhbFZhcigp
OwogICAgICAgICAgICAgYnJlYWs7CkBAIC0zNDUsNiArMzYwLDExIEBAIHByaXZhdGU6CiAgICAg
ICAgIG1fanNWYWx1ZVZhbHVlcy5hZGQobV9ub2RlLCBtX291dC5jb25zdEludDY0KEpTVmFsdWU6
OmVuY29kZShtX2dyYXBoLnZhbHVlT2ZKU0NvbnN0YW50KG1fbm9kZSkpKSk7CiAgICAgfQogICAg
IAorICAgIHZvaWQgY29tcGlsZVdlYWtKU0NvbnN0YW50KCkKKyAgICB7CisgICAgICAgIG1fanNW
YWx1ZVZhbHVlcy5hZGQobV9ub2RlLCB3ZWFrUG9pbnRlcihtX25vZGUtPndlYWtDb25zdGFudCgp
KSk7CisgICAgfQorICAgIAogICAgIHZvaWQgY29tcGlsZUdldExvY2FsKCkKICAgICB7CiAgICAg
ICAgIFZhcmlhYmxlQWNjZXNzRGF0YSogdmFyaWFibGUgPSBtX25vZGUtPnZhcmlhYmxlQWNjZXNz
RGF0YSgpOwpAQCAtNjc5LDYgKzY5OSwzMCBAQCBwcml2YXRlOgogICAgICAgICBtX291dC5hcHBl
bmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKICAgICB9CiAgICAgCisgICAgdm9pZCBjb21w
aWxlU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnQoKQorICAgIHsKKyAgICAgICAgY29kZUJs
b2NrKCktPmFwcGVuZFdlYWtSZWZlcmVuY2UobV9ub2RlLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAg
IAorICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHN0cnVjdHVyZSB0cmFuc2l0aW9uIHdhdGNo
cG9pbnRzLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTEzNjQ3CisgICAgICAgIAorICAgICAgICBzcGVjdWxhdGVDZWxsKG1fbm9kZS0+Y2hpbGQx
KCkpOworICAgIH0KKyAgICAKKyAgICB2b2lkIGNvbXBpbGVQdXRTdHJ1Y3R1cmUoKQorICAgIHsK
KyAgICAgICAgbV9ncmFwaC5ub3RpZnlDb21waWxpbmdTdHJ1Y3R1cmVUcmFuc2l0aW9uKG1fbm9k
ZSk7CisgICAgICAgIAorICAgICAgICBtX291dC5zdG9yZTY0KAorICAgICAgICAgICAgbV9vdXQu
Y29uc3RJbnRQdHIobV9ub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0YSgpLm5ld1N0cnVjdHVy
ZSksCisgICAgICAgICAgICBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpLCBtX2hlYXBzLkpTQ2Vs
bF9zdHJ1Y3R1cmUpOworICAgIH0KKyAgICAKKyAgICB2b2lkIGNvbXBpbGVQaGFudG9tUHV0U3Ry
dWN0dXJlKCkKKyAgICB7CisgICAgICAgIG1fZ3JhcGgubm90aWZ5Q29tcGlsaW5nU3RydWN0dXJl
VHJhbnNpdGlvbihtX25vZGUpOworICAgIH0KKyAgICAKICAgICB2b2lkIGNvbXBpbGVHZXRCdXR0
ZXJmbHkoKQogICAgIHsKICAgICAgICAgbV9zdG9yYWdlVmFsdWVzLmFkZCgKQEAgLTc0OSw2ICs3
OTMsMTkgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgZGF0YS5vZmZzZXQgKiBzaXpl
b2YoRW5jb2RlZEpTVmFsdWUpKSkpOwogICAgIH0KICAgICAKKyAgICB2b2lkIGNvbXBpbGVQdXRC
eU9mZnNldCgpCisgICAgeworICAgICAgICBTdG9yYWdlQWNjZXNzRGF0YSYgZGF0YSA9CisgICAg
ICAgICAgICBtX2dyYXBoLm1fc3RvcmFnZUFjY2Vzc0RhdGFbbV9ub2RlLT5zdG9yYWdlQWNjZXNz
RGF0YUluZGV4KCldOworICAgICAgICAKKyAgICAgICAgbV9vdXQuc3RvcmU2NCgKKyAgICAgICAg
ICAgIGxvd0pTVmFsdWUobV9ub2RlLT5jaGlsZDMoKSksCisgICAgICAgICAgICBtX291dC5hZGRy
ZXNzKAorICAgICAgICAgICAgICAgIG1faGVhcHMucHJvcGVydGllc1tkYXRhLmlkZW50aWZpZXJO
dW1iZXJdLAorICAgICAgICAgICAgICAgIGxvd1N0b3JhZ2UobV9ub2RlLT5jaGlsZDIoKSksCisg
ICAgICAgICAgICAgICAgZGF0YS5vZmZzZXQgKiBzaXplb2YoRW5jb2RlZEpTVmFsdWUpKSk7Cisg
ICAgfQorICAgIAogICAgIHZvaWQgY29tcGlsZUdldEdsb2JhbFZhcigpCiAgICAgewogICAgICAg
ICBtX2pzVmFsdWVWYWx1ZXMuYWRkKG1fbm9kZSwgbV9vdXQubG9hZDY0KG1fb3V0LmFic29sdXRl
KG1fbm9kZS0+cmVnaXN0ZXJQb2ludGVyKCkpKSk7CkBAIC0xMDQwLDcgKzEwOTcsNyBAQCBwcml2
YXRlOgogICAgICAgICAgICAgY2VsbCwgZWRnZSwgU3BlY09iamVjdCwKICAgICAgICAgICAgIG1f
b3V0LmVxdWFsKAogICAgICAgICAgICAgICAgIG1fb3V0LmxvYWRQdHIoY2VsbCwgbV9oZWFwcy5K
U0NlbGxfc3RydWN0dXJlKSwKLSAgICAgICAgICAgICAgICBhY2NvdW50ZWRQb2ludGVyKGdsb2Jh
bERhdGEoKS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUuZ2V0KCkpKSk7CisgICAgICAgICAgICAgICAgbV9v
dXQuY29uc3RJbnRQdHIoZ2xvYmFsRGF0YSgpLnN0cmluZ1N0cnVjdHVyZS5nZXQoKSkpKTsKICAg
ICB9CiAgICAgCiAgICAgdm9pZCBzcGVjdWxhdGVPYmplY3QoRWRnZSBlZGdlKQpAQCAtMTA0OCwx
NSArMTEwNSwxMCBAQCBwcml2YXRlOgogICAgICAgICBzcGVjdWxhdGVPYmplY3QoZWRnZSwgbG93
Q2VsbChlZGdlKSk7CiAgICAgfQogICAgIAotICAgIExWYWx1ZSBhY2NvdW50ZWRQb2ludGVyKEpT
Q2VsbCogcG9pbnRlcikKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX291dC5jb25zdEludFB0cihi
aXR3aXNlX2Nhc3Q8aW50cHRyX3Q+KHBvaW50ZXIpKTsKLSAgICB9Ci0gICAgCiAgICAgTFZhbHVl
IHdlYWtQb2ludGVyKEpTQ2VsbCogcG9pbnRlcikKICAgICB7CiAgICAgICAgIGNvZGVCbG9jaygp
LT5hcHBlbmRXZWFrUmVmZXJlbmNlKHBvaW50ZXIpOwotICAgICAgICByZXR1cm4gYWNjb3VudGVk
UG9pbnRlcihwb2ludGVyKTsKKyAgICAgICAgcmV0dXJuIGFjY291bnRlZFBvaW50ZXIobV9vdXQu
Y29uc3RJbnRQdHIocG9pbnRlcikpOwogICAgIH0KICAgICAKICAgICBUeXBlZFBvaW50ZXIgYWRk
cmVzc0ZvcihMVmFsdWUgYmFzZSwgaW50IG9wZXJhbmQsIHB0cmRpZmZfdCBvZmZzZXQgPSAwKQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCShyZXZpc2lvbiAxNDczOTYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDQsNyArMTA0LDggQEAgcHVibGljOgogICAgIExWYWx1ZSBwYXJhbSh1bnNpZ25lZCBp
bmRleCkgeyByZXR1cm4gZ2V0UGFyYW0obV9mdW5jdGlvbiwgaW5kZXgpOyB9CiAgICAgTFZhbHVl
IGNvbnN0Qm9vbChib29sIHZhbHVlKSB7IHJldHVybiBjb25zdEludChib29sZWFuLCB2YWx1ZSwg
WmVyb0V4dGVuZCk7IH0KICAgICBMVmFsdWUgY29uc3RJbnQzMihpbnQzMl90IHZhbHVlKSB7IHJl
dHVybiBjb25zdEludChpbnQzMiwgdmFsdWUsIFNpZ25FeHRlbmQpOyB9Ci0gICAgTFZhbHVlIGNv
bnN0SW50UHRyKGludHB0cl90IHZhbHVlKSB7IHJldHVybiBjb25zdEludChpbnRQdHIsIHZhbHVl
LCBTaWduRXh0ZW5kKTsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgTFZhbHVlIGNv
bnN0SW50UHRyKFQgdmFsdWUpIHsgcmV0dXJuIGNvbnN0SW50KGludFB0ciwgYml0d2lzZV9jYXN0
PGludHB0cl90Pih2YWx1ZSksIFNpZ25FeHRlbmQpOyB9CiAgICAgTFZhbHVlIGNvbnN0SW50NjQo
aW50NjRfdCB2YWx1ZSkgeyByZXR1cm4gY29uc3RJbnQoaW50NjQsIHZhbHVlLCBTaWduRXh0ZW5k
KTsgfQogICAgIAogICAgIExWYWx1ZSBhZGQoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyBy
ZXR1cm4gYnVpbGRBZGQobV9idWlsZGVyLCBsZWZ0LCByaWdodCk7IH0KQEAgLTIxNCw4ICsyMTUs
NyBAQCBwdWJsaWM6CiAgICAgCiAgICAgVHlwZWRQb2ludGVyIGFic29sdXRlKHZvaWQqIGFkZHJl
c3MpCiAgICAgewotICAgICAgICByZXR1cm4gVHlwZWRQb2ludGVyKAotICAgICAgICAgICAgbV9o
ZWFwcy0+YWJzb2x1dGVbYWRkcmVzc10sIGNvbnN0SW50UHRyKGJpdHdpc2VfY2FzdDxpbnRwdHJf
dD4oYWRkcmVzcykpKTsKKyAgICAgICAgcmV0dXJuIFR5cGVkUG9pbnRlcihtX2hlYXBzLT5hYnNv
bHV0ZVthZGRyZXNzXSwgY29uc3RJbnRQdHIoYWRkcmVzcykpOwogICAgIH0KICAgICAKICAgICBM
VmFsdWUgbG9hZDMyKExWYWx1ZSBiYXNlLCBjb25zdCBBYnN0cmFjdEZpZWxkJiBmaWVsZCkgeyBy
ZXR1cm4gbG9hZDMyKGFkZHJlc3MoYmFzZSwgZmllbGQpKTsgfQo=
</data>
<flag name="review"
          id="218082"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>