<?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>166874</bug_id>
          
          <creation_ts>2017-01-09 19:27:47 -0800</creation_ts>
          <short_desc>JSArray has some object scanning races</short_desc>
          <delta_ts>2017-01-13 16:07:57 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>165909</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>i</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1265264</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-01-09 19:27:47 -0800</bug_when>
    <thetext>Fix them with locks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265265</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-01-09 19:28:08 -0800</bug_when>
    <thetext>&lt;rdar://problem/29941356&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265271</commentid>
    <comment_count>2</comment_count>
      <attachid>298436</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-01-09 20:03:26 -0800</bug_when>
    <thetext>Created attachment 298436
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265272</commentid>
    <comment_count>3</comment_count>
      <attachid>298437</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-01-09 20:05:17 -0800</bug_when>
    <thetext>Created attachment 298437
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265301</commentid>
    <comment_count>4</comment_count>
      <attachid>298437</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-01-09 23:17:39 -0800</bug_when>
    <thetext>Comment on attachment 298437
the patch

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

r=me

&gt; Source/JavaScriptCore/runtime/JSArray.cpp:1081
&gt; -
&gt; +    

Please undo this empty space change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265417</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-01-10 10:39:30 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 298437 [details]
&gt; the patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=298437&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/JSArray.cpp:1081
&gt; &gt; -
&gt; &gt; +    
&gt; 
&gt; Please undo this empty space change.

Fixed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265427</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-01-10 10:46:07 -0800</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/210553</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266644</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-01-13 16:07:57 -0800</bug_when>
    <thetext>*** Bug 166795 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298436</attachid>
            <date>2017-01-09 20:03:26 -0800</date>
            <delta_ts>2017-01-09 20:05:17 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>7704</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEwNTM0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBA
CisyMDE3LTAxLTA5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SlNBcnJheSBoYXMgc29tZSBvYmplY3Qgc2Nhbm5pbmcgcmFjZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Njg3NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgVGhpcyBmaXhlcyB0d28gc2Vw
YXJhdGUgYnVncywgYm90aCBvZiB3aGljaCBJIGRldGVjdGVkIGJ5IHJ1bm5pbmcKKyAgICAgICAg
YXJyYXktc3BsaWNlLWNvbnRpZ3VvdXMuanMgaW4gZXh0cmVtZSBhbmdlcjoKKyAgICAgICAgCisg
ICAgICAgIDEpIFNvbWUgb2YgdGhlIHBhdGhzIG9mIHNoaWZ0aW5nIGFuZCB1bnNoaWZ0aW5nIHdl
cmUgbm90IGdyYWJiaW5nIHRoZSBpbnRlcm5hbCBjZWxsCisgICAgICAgICAgIGxvY2suIFRoaXMg
d2FzIGNhdXNpbmcgdGhlIGFycmF5IHN0b3JhZ2Ugc2NhbiB0byBjcmFzaCwgZXZlbiB0aG91Z2gg
aXQgd2FzIHdlbGwKKyAgICAgICAgICAgc3luY2hyb25pemVkICh0aGUgc2NhbiBkb2VzIGhvbGQg
dGhlIGxvY2spLiBUaGUgZml4IGlzIGp1c3QgdG8gaG9sZCB0aGUgbG9jayBhbnl3aGVyZQorICAg
ICAgICAgICB0aGF0IG1lbW1vdmVzIHRoZSBpbm5hcmRzIG9mIHRoZSBidXR0ZXJmbHkuCisgICAg
ICAgIAorICAgICAgICAyKSBPdXQgb2YgbGluZSBwcm9wZXJ0eSBzY2FubmluZyB3YXMgc3luY2hy
b25pemVkIHVzaW5nIGRvdWJsZSBjb2xsZWN0IHNuYXBzaG90LiBBcnJheQorICAgICAgICAgICBz
dG9yYWdlIHNjYW5uaW5nIHdhcyBzeW5jaHJvbml6ZWQgdXNpbmcgbG9ja3MuIEJ1dCB3aGF0IGlm
IGFycmF5IHN0b3JhZ2UKKyAgICAgICAgICAgdHJhbnNmb3JtYXRpb25zIG1lc3NlZCB1cCB0aGUg
b3V0IG9mIGxpbmUgcHJvcGVydGllcz8gSXQgdHVybnMgb3V0IHRoYXQgd2UgYWN0dWFsbHkKKyAg
ICAgICAgICAgbmVlZCB0byBob2lzdCB0aGUgYXJyYXkgc3RvcmFnZSBzY2FubmVyJ3MgbG9ja2lu
ZyB1cCBpbnRvIHRoZSBkb3VibGUgY29sbGVjdAorICAgICAgICAgICBzbmFwc2hvdC4KKyAgICAg
ICAgCisgICAgICAgIEkgZG9uJ3Qga25vdyBob3cgdG8gd3JpdGUgYSB0ZXN0IHRoYXQgZG9lcyBh
bnkgYmV0dGVyIG9mIGEgam9iIG9mIGNhdGNoaW5nIHRoaXMgdGhhbgorICAgICAgICBhcnJheS1z
cGxpY2UtY29udGlndW91cy5qcy4KKworICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5jcHA6Cisg
ICAgICAgIChKU0M6OkpTQXJyYXk6OnVuc2hpZnRDb3VudFNsb3dDYXNlKToKKyAgICAgICAgKEpT
Qzo6SlNBcnJheTo6c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpK
U0FycmF5Ojp1bnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlKToKKyAgICAgICAgKiBydW50aW1l
L0pTT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnZpc2l0QnV0dGVyZmx5SW1w
bCk6CisKIDIwMTctMDEtMDkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCBmaXggY2xvb3AuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5LmNwcAkocmV2aXNpb24gMjEwNTM0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5OCw3ICsyOTgs
NyBAQCB2b2lkIEpTQXJyYXk6OmdldE93bk5vbkluZGV4UHJvcGVydHlOYW1lCiB9CiAKIC8vIFRo
aXMgbWV0aG9kIG1ha2VzIHJvb20gaW4gdGhlIHZlY3RvciwgYnV0IGxlYXZlcyB0aGUgbmV3IHNw
YWNlIGZvciBjb3VudCBzbG90cyB1bmNsZWFyZWQuCi1ib29sIEpTQXJyYXk6OnVuc2hpZnRDb3Vu
dFNsb3dDYXNlKFZNJiB2bSwgRGVmZXJHQyYsIGJvb2wgYWRkVG9Gcm9udCwgdW5zaWduZWQgY291
bnQpCitib29sIEpTQXJyYXk6OnVuc2hpZnRDb3VudFNsb3dDYXNlKGNvbnN0IEFic3RyYWN0TG9j
a2VyJiwgVk0mIHZtLCBEZWZlckdDJiwgYm9vbCBhZGRUb0Zyb250LCB1bnNpZ25lZCBjb3VudCkK
IHsKICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBlbnN1cmVBcnJheVN0b3JhZ2Uodm0pOwog
ICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5ID0gc3RvcmFnZS0+YnV0dGVyZmx5KCk7CkBAIC04OTIs
NiArODkyLDkgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFycmF5U3RvcmFnZQogICAg
IGlmIChzdGFydEluZGV4ID49IHZlY3Rvckxlbmd0aCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgCisgICAgRGlzYWxsb3dHQyBkaXNhbGxvd0dDOworICAgIGF1dG8gbG9ja2VyID0gaG9sZExv
Y2soKnRoaXMpOworICAgIAogICAgIGlmIChzdGFydEluZGV4ICsgY291bnQgPiB2ZWN0b3JMZW5n
dGgpCiAgICAgICAgIGNvdW50ID0gdmVjdG9yTGVuZ3RoIC0gc3RhcnRJbmRleDsKICAgICAKQEAg
LTkzMCw3ICs5MzMsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdl
CiAgICAgICAgIC8vIHRoZSBzdGFydCBvZiB0aGUgQnV0dGVyZmx5LCB3aGljaCBuZWVkcyB0byBw
b2ludCBhdCB0aGUgZmlyc3QgaW5kZXhlZCBwcm9wZXJ0eSBpbiB0aGUgdXNlZAogICAgICAgICAv
LyBwb3J0aW9uIG9mIHRoZSB2ZWN0b3IuCiAgICAgICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5ID0g
bV9idXR0ZXJmbHkuZ2V0KCktPnNoaWZ0KHN0cnVjdHVyZSgpLCBjb3VudCk7Ci0gICAgICAgIG1f
YnV0dGVyZmx5LnNldFdpdGhvdXRCYXJyaWVyKGJ1dHRlcmZseSk7CisgICAgICAgIHNldEJ1dHRl
cmZseSh2bSwgYnV0dGVyZmx5KTsKICAgICAgICAgc3RvcmFnZSA9IGJ1dHRlcmZseS0+YXJyYXlT
dG9yYWdlKCk7CiAgICAgICAgIHN0b3JhZ2UtPm1faW5kZXhCaWFzICs9IGNvdW50OwogCkBAIC0x
MDc1LDcgKzEwNzgsNyBAQCBib29sIEpTQXJyYXk6OnVuc2hpZnRDb3VudFdpdGhBcnJheVN0b3Jh
CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RvcmFnZS0+bGVuZ3RoKCk7CiAKICAgICBSRUxFQVNF
X0FTU0VSVChzdGFydEluZGV4IDw9IGxlbmd0aCk7Ci0KKyAgICAKICAgICAvLyBJZiB0aGUgYXJy
YXkgY29udGFpbnMgaG9sZXMgb3IgaXMgb3RoZXJ3aXNlIGluIGFuIGFibm9ybWFsIHN0YXRlLAog
ICAgIC8vIHVzZSB0aGUgZ2VuZXJpYyBhbGdvcml0aG0gaW4gQXJyYXlQcm90b3R5cGUuCiAgICAg
aWYgKHN0b3JhZ2UtPmhhc0hvbGVzKCkgfHwgc3RvcmFnZS0+aW5TcGFyc2VNb2RlKCkgfHwgc2hv
dWxkVXNlU2xvd1B1dChpbmRleGluZ1R5cGUoKSkpCkBAIC0xMDk4LDcgKzExMDEsNyBAQCBib29s
IEpTQXJyYXk6OnVuc2hpZnRDb3VudFdpdGhBcnJheVN0b3JhCiAgICAgICAgIHNldEJ1dHRlcmZs
eSh2bSwgbmV3QnV0dGVyZmx5KTsKICAgICB9IGVsc2UgaWYgKCFtb3ZlRnJvbnQgJiYgdmVjdG9y
TGVuZ3RoIC0gbGVuZ3RoID49IGNvdW50KQogICAgICAgICBzdG9yYWdlID0gc3RvcmFnZS0+YnV0
dGVyZmx5KCktPmFycmF5U3RvcmFnZSgpOwotICAgIGVsc2UgaWYgKHVuc2hpZnRDb3VudFNsb3dD
YXNlKHZtLCBkZWZlckdDLCBtb3ZlRnJvbnQsIGNvdW50KSkKKyAgICBlbHNlIGlmICh1bnNoaWZ0
Q291bnRTbG93Q2FzZShsb2NrZXIsIHZtLCBkZWZlckdDLCBtb3ZlRnJvbnQsIGNvdW50KSkKICAg
ICAgICAgc3RvcmFnZSA9IGFycmF5U3RvcmFnZSgpOwogICAgIGVsc2UgewogICAgICAgICB0aHJv
d091dE9mTWVtb3J5RXJyb3IoZXhlYywgc2NvcGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXkuaAkocmV2aXNpb24gMjEwNTM0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzcsNyArMTc3LDcg
QEAgcHJpdmF0ZToKIAogICAgIGJvb2wgdW5zaGlmdENvdW50V2l0aEFueUluZGV4aW5nVHlwZShF
eGVjU3RhdGUqLCB1bnNpZ25lZCBzdGFydEluZGV4LCB1bnNpZ25lZCBjb3VudCk7CiAgICAgYm9v
bCB1bnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHN0YXJ0
SW5kZXgsIHVuc2lnbmVkIGNvdW50LCBBcnJheVN0b3JhZ2UqKTsKLSAgICBib29sIHVuc2hpZnRD
b3VudFNsb3dDYXNlKFZNJiwgRGVmZXJHQyYsIGJvb2wsIHVuc2lnbmVkKTsKKyAgICBib29sIHVu
c2hpZnRDb3VudFNsb3dDYXNlKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgVk0mLCBEZWZlckdDJiwg
Ym9vbCwgdW5zaWduZWQpOwogCiAgICAgYm9vbCBzZXRMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKEV4
ZWNTdGF0ZSosIHVuc2lnbmVkIG5ld0xlbmd0aCwgYm9vbCB0aHJvd0V4Y2VwdGlvbiwgQXJyYXlT
dG9yYWdlKik7CiAgICAgdm9pZCBzZXRMZW5ndGhXcml0YWJsZShFeGVjU3RhdGUqLCBib29sIHdy
aXRhYmxlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5j
cHAJKHJldmlzaW9uIDIxMDUzNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgzLDYgKzM4MywyMCBAQCBBTFdBWVNfSU5M
SU5FIFN0cnVjdHVyZSogSlNPYmplY3Q6OnZpc2l0CiAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIHN0cnVjdHVyZSA9IHZtLmdldFN0cnVjdHVyZShzdHJ1Y3R1cmVJRCk7CiAgICAgbGFzdE9m
ZnNldCA9IHN0cnVjdHVyZS0+bGFzdE9mZnNldCgpOworICAgIEluZGV4aW5nVHlwZSBpbmRleGlu
Z1R5cGUgPSBzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpOworICAgIExvY2tlcjxKU0NlbGw+IGxv
Y2tlcihOb0xvY2tpbmdOZWNlc3NhcnkpOworICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKSB7Cisg
ICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKKyAgICBjYXNlIEFMTF9BUlJB
WV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgorICAgICAgICAvLyBXZSBuZWVkIHRvIGhvbGQgdGhp
cyBsb2NrIHRvIHByb3RlY3QgYWdhaW5zdCBjaGFuZ2VzIHRvIHRoZSBpbm5hcmRzIG9mIHRoZSBi
dXR0ZXJmbHkKKyAgICAgICAgLy8gdGhhdCBjYW4gaGFwcGVuIHdoZW4gdGhlIGJ1dHRlcmZseSBp
cyB1c2VkIGZvciBhcnJheSBzdG9yYWdlLiBXZSBjb25zZXJ2YXRpdmVseQorICAgICAgICAvLyBh
c3N1bWUgdGhhdCBhIGNvbnRpZ3VvdXMgYnV0dGVyZmx5IG1heSB0cmFuc2Zvcm0gaW50byBhbiBh
cnJheSBzdG9yYWdlIG9uZSwgdGhvdWdoCisgICAgICAgIC8vIHRoaXMgaXMgcHJvYmFibHkgbW9y
ZSBjb25zZXJ2YXRpdmUgdGhhbiBuZWNlc3NhcnkuCisgICAgICAgIGxvY2tlciA9IExvY2tlcjxK
U0NlbGw+KCp0aGlzKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJl
YWs7CisgICAgfQogICAgIFdURjo6bG9hZExvYWRGZW5jZSgpOwogICAgIGJ1dHRlcmZseSA9IHRo
aXMtPmJ1dHRlcmZseSgpOwogICAgIGlmICghYnV0dGVyZmx5KQpAQCAtMzk1LDI3ICs0MDksMTcg
QEAgQUxXQVlTX0lOTElORSBTdHJ1Y3R1cmUqIEpTT2JqZWN0Ojp2aXNpdAogICAgIAogICAgIG1h
cmtBdXhpbGlhcnlBbmRWaXNpdE91dE9mTGluZVByb3BlcnRpZXModmlzaXRvciwgYnV0dGVyZmx5
LCBzdHJ1Y3R1cmUsIGxhc3RPZmZzZXQpOwogICAgIAotICAgIEluZGV4aW5nVHlwZSBvbGRUeXBl
ID0gc3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKTsKLSAgICBzd2l0Y2ggKG9sZFR5cGUpIHsKKyAg
ICBBU1NFUlQoaW5kZXhpbmdUeXBlID09IHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpOworICAg
IAorICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKSB7CiAgICAgY2FzZSBBTExfQ09OVElHVU9VU19J
TkRFWElOR19UWVBFUzoKLSAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVT
OiB7Ci0gICAgICAgIC8vIFRoaXMgbG9jayBpcyBoZXJlIHRvIHByb3RlY3QgQ29udGlndW91cy0+
QXJyYXlTdG9yYWdlIHRyYW5zaXRpb25zLCBidXQgd2UgY291bGQgbWFrZSB0aGF0Ci0gICAgICAg
IC8vIHJhY2Ugd29yayBpZiB3ZSBuZWVkZWQgdG8uCi0gICAgICAgIGF1dG8gbG9ja2VyID0gaG9s
ZExvY2soKnRoaXMpOwotICAgICAgICBJbmRleGluZ1R5cGUgbmV3VHlwZSA9IHRoaXMtPmluZGV4
aW5nVHlwZSgpOwotICAgICAgICBidXR0ZXJmbHkgPSB0aGlzLT5idXR0ZXJmbHkoKTsKLSAgICAg
ICAgc3dpdGNoIChuZXdUeXBlKSB7Ci0gICAgICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJ
TkdfVFlQRVM6Ci0gICAgICAgICAgICB2aXNpdG9yLmFwcGVuZFZhbHVlc0hpZGRlbihidXR0ZXJm
bHktPmNvbnRpZ3VvdXMoKS5kYXRhKCksIGJ1dHRlcmZseS0+cHVibGljTGVuZ3RoKCkpOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6IC8vIEFMTF9BUlJBWV9TVE9SQUdFX0lO
REVYSU5HX1RZUEVTCi0gICAgICAgICAgICB2aXNpdG9yLmFwcGVuZFZhbHVlc0hpZGRlbihidXR0
ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3ZlY3RvciwgYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2Uo
KS0+dmVjdG9yTGVuZ3RoKCkpOwotICAgICAgICAgICAgaWYgKGJ1dHRlcmZseS0+YXJyYXlTdG9y
YWdlKCktPm1fc3BhcnNlTWFwKQotICAgICAgICAgICAgICAgIHZpc2l0b3IuYXBwZW5kKGJ1dHRl
cmZseS0+YXJyYXlTdG9yYWdlKCktPm1fc3BhcnNlTWFwKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9CisgICAgICAgIHZpc2l0b3IuYXBwZW5kVmFsdWVzSGlkZGVuKGJ1dHRlcmZseS0+
Y29udGlndW91cygpLmRhdGEoKSwgYnV0dGVyZmx5LT5wdWJsaWNMZW5ndGgoKSk7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CisgICAg
ICAgIHZpc2l0b3IuYXBwZW5kVmFsdWVzSGlkZGVuKGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCkt
Pm1fdmVjdG9yLCBidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKSk7Cisg
ICAgICAgIGlmIChidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3NwYXJzZU1hcCkKKyAgICAg
ICAgICAgIHZpc2l0b3IuYXBwZW5kKGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fc3BhcnNl
TWFwKTsKICAgICAgICAgYnJlYWs7Ci0gICAgfQogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFr
OwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298437</attachid>
            <date>2017-01-09 20:05:17 -0800</date>
            <delta_ts>2017-01-09 23:17:39 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>8939</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEwNTM0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBA
CisyMDE3LTAxLTA5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SlNBcnJheSBoYXMgc29tZSBvYmplY3Qgc2Nhbm5pbmcgcmFjZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Njg3NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgVGhpcyBmaXhlcyB0d28gc2Vw
YXJhdGUgYnVncywgYm90aCBvZiB3aGljaCBJIGRldGVjdGVkIGJ5IHJ1bm5pbmcKKyAgICAgICAg
YXJyYXktc3BsaWNlLWNvbnRpZ3VvdXMuanMgaW4gZXh0cmVtZSBhbmdlcjoKKyAgICAgICAgCisg
ICAgICAgIDEpIFNvbWUgb2YgdGhlIHBhdGhzIG9mIHNoaWZ0aW5nIGFuZCB1bnNoaWZ0aW5nIHdl
cmUgbm90IGdyYWJiaW5nIHRoZSBpbnRlcm5hbCBjZWxsCisgICAgICAgICAgIGxvY2suIFRoaXMg
d2FzIGNhdXNpbmcgdGhlIGFycmF5IHN0b3JhZ2Ugc2NhbiB0byBjcmFzaCwgZXZlbiB0aG91Z2gg
aXQgd2FzIHdlbGwKKyAgICAgICAgICAgc3luY2hyb25pemVkICh0aGUgc2NhbiBkb2VzIGhvbGQg
dGhlIGxvY2spLiBUaGUgZml4IGlzIGp1c3QgdG8gaG9sZCB0aGUgbG9jayBhbnl3aGVyZQorICAg
ICAgICAgICB0aGF0IG1lbW1vdmVzIHRoZSBpbm5hcmRzIG9mIHRoZSBidXR0ZXJmbHkuCisgICAg
ICAgIAorICAgICAgICAyKSBPdXQgb2YgbGluZSBwcm9wZXJ0eSBzY2FubmluZyB3YXMgc3luY2hy
b25pemVkIHVzaW5nIGRvdWJsZSBjb2xsZWN0IHNuYXBzaG90LiBBcnJheQorICAgICAgICAgICBz
dG9yYWdlIHNjYW5uaW5nIHdhcyBzeW5jaHJvbml6ZWQgdXNpbmcgbG9ja3MuIEJ1dCB3aGF0IGlm
IGFycmF5IHN0b3JhZ2UKKyAgICAgICAgICAgdHJhbnNmb3JtYXRpb25zIG1lc3NlZCB1cCB0aGUg
b3V0IG9mIGxpbmUgcHJvcGVydGllcz8gSXQgdHVybnMgb3V0IHRoYXQgd2UgYWN0dWFsbHkKKyAg
ICAgICAgICAgbmVlZCB0byBob2lzdCB0aGUgYXJyYXkgc3RvcmFnZSBzY2FubmVyJ3MgbG9ja2lu
ZyB1cCBpbnRvIHRoZSBkb3VibGUgY29sbGVjdAorICAgICAgICAgICBzbmFwc2hvdC4KKyAgICAg
ICAgCisgICAgICAgIEkgZG9uJ3Qga25vdyBob3cgdG8gd3JpdGUgYSB0ZXN0IHRoYXQgZG9lcyBh
bnkgYmV0dGVyIG9mIGEgam9iIG9mIGNhdGNoaW5nIHRoaXMgdGhhbgorICAgICAgICBhcnJheS1z
cGxpY2UtY29udGlndW91cy5qcy4KKworICAgICAgICAqIGhlYXAvRGVmZXJHQy5oOiBNYWtlIERp
c2FsbG93R0MgdXNhYmxlIGV2ZW4gaWYgTkRFQlVHLgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJh
eS5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OnVuc2hpZnRDb3VudFNsb3dDYXNlKToKKyAg
ICAgICAgKEpTQzo6SlNBcnJheTo6c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UpOgorICAgICAg
ICAoSlNDOjpKU0FycmF5Ojp1bnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlKToKKyAgICAgICAg
KiBydW50aW1lL0pTT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnZpc2l0QnV0
dGVyZmx5SW1wbCk6CisKIDIwMTctMDEtMDkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggY2xvb3AuCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9EZWZlckdDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvRGVmZXJHQy5oCShyZXZpc2lvbiAyMTA1MzQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9EZWZlckdDLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3LDMxICs2Nyw0MSBAQCBw
cml2YXRlOgogICAgIEhlYXAmIG1faGVhcDsKIH07CiAKLSNpZm5kZWYgTkRFQlVHCiBjbGFzcyBE
aXNhbGxvd0dDIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEaXNhbGxvd0dDKTsKIHB1Ymxp
YzoKICAgICBEaXNhbGxvd0dDKCkKICAgICB7CisjaWZuZGVmIE5ERUJVRwogICAgICAgICBXVEY6
OnRocmVhZFNwZWNpZmljU2V0KHNfaXNHQ0Rpc2FsbG93ZWRPbkN1cnJlbnRUaHJlYWQsIHJlaW50
ZXJwcmV0X2Nhc3Q8dm9pZCo+KHRydWUpKTsKKyNlbmRpZgogICAgIH0KIAogICAgIH5EaXNhbGxv
d0dDKCkKICAgICB7CisjaWZuZGVmIE5ERUJVRwogICAgICAgICBXVEY6OnRocmVhZFNwZWNpZmlj
U2V0KHNfaXNHQ0Rpc2FsbG93ZWRPbkN1cnJlbnRUaHJlYWQsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9p
ZCo+KGZhbHNlKSk7CisjZW5kaWYKICAgICB9CiAKICAgICBzdGF0aWMgYm9vbCBpc0dDRGlzYWxs
b3dlZE9uQ3VycmVudFRocmVhZCgpCiAgICAgeworI2lmbmRlZiBOREVCVUcKICAgICAgICAgcmV0
dXJuICEhV1RGOjp0aHJlYWRTcGVjaWZpY0dldChzX2lzR0NEaXNhbGxvd2VkT25DdXJyZW50VGhy
ZWFkKTsKKyNlbHNlCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogICAgIH0KICAgICBz
dGF0aWMgdm9pZCBpbml0aWFsaXplKCkKICAgICB7CisjaWZuZGVmIE5ERUJVRwogICAgICAgICBX
VEY6OnRocmVhZFNwZWNpZmljS2V5Q3JlYXRlKCZzX2lzR0NEaXNhbGxvd2VkT25DdXJyZW50VGhy
ZWFkLCAwKTsKKyNlbmRpZgogICAgIH0KIAorI2lmbmRlZiBOREVCVUcKICAgICBKU19FWFBPUlRf
UFJJVkFURSBzdGF0aWMgV1RGOjpUaHJlYWRTcGVjaWZpY0tleSBzX2lzR0NEaXNhbGxvd2VkT25D
dXJyZW50VGhyZWFkOworI2VuZGlmCiB9OwotI2VuZGlmIC8vIE5ERUJVRwogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3Bw
CShyZXZpc2lvbiAyMTA1MzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk4LDcgKzI5OCw3IEBAIHZvaWQgSlNBcnJheTo6
Z2V0T3duTm9uSW5kZXhQcm9wZXJ0eU5hbWUKIH0KIAogLy8gVGhpcyBtZXRob2QgbWFrZXMgcm9v
bSBpbiB0aGUgdmVjdG9yLCBidXQgbGVhdmVzIHRoZSBuZXcgc3BhY2UgZm9yIGNvdW50IHNsb3Rz
IHVuY2xlYXJlZC4KLWJvb2wgSlNBcnJheTo6dW5zaGlmdENvdW50U2xvd0Nhc2UoVk0mIHZtLCBE
ZWZlckdDJiwgYm9vbCBhZGRUb0Zyb250LCB1bnNpZ25lZCBjb3VudCkKK2Jvb2wgSlNBcnJheTo6
dW5zaGlmdENvdW50U2xvd0Nhc2UoY29uc3QgQWJzdHJhY3RMb2NrZXImLCBWTSYgdm0sIERlZmVy
R0MmLCBib29sIGFkZFRvRnJvbnQsIHVuc2lnbmVkIGNvdW50KQogewogICAgIEFycmF5U3RvcmFn
ZSogc3RvcmFnZSA9IGVuc3VyZUFycmF5U3RvcmFnZSh2bSk7CiAgICAgQnV0dGVyZmx5KiBidXR0
ZXJmbHkgPSBzdG9yYWdlLT5idXR0ZXJmbHkoKTsKQEAgLTg5Miw2ICs4OTIsOSBAQCBib29sIEpT
QXJyYXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlCiAgICAgaWYgKHN0YXJ0SW5kZXggPj0g
dmVjdG9yTGVuZ3RoKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAKKyAgICBEaXNhbGxvd0dD
IGRpc2FsbG93R0M7CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jaygqdGhpcyk7CisgICAgCiAg
ICAgaWYgKHN0YXJ0SW5kZXggKyBjb3VudCA+IHZlY3Rvckxlbmd0aCkKICAgICAgICAgY291bnQg
PSB2ZWN0b3JMZW5ndGggLSBzdGFydEluZGV4OwogICAgIApAQCAtOTMwLDcgKzkzMyw3IEBAIGJv
b2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UKICAgICAgICAgLy8gdGhlIHN0
YXJ0IG9mIHRoZSBCdXR0ZXJmbHksIHdoaWNoIG5lZWRzIHRvIHBvaW50IGF0IHRoZSBmaXJzdCBp
bmRleGVkIHByb3BlcnR5IGluIHRoZSB1c2VkCiAgICAgICAgIC8vIHBvcnRpb24gb2YgdGhlIHZl
Y3Rvci4KICAgICAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHkgPSBtX2J1dHRlcmZseS5nZXQoKS0+
c2hpZnQoc3RydWN0dXJlKCksIGNvdW50KTsKLSAgICAgICAgbV9idXR0ZXJmbHkuc2V0V2l0aG91
dEJhcnJpZXIoYnV0dGVyZmx5KTsKKyAgICAgICAgc2V0QnV0dGVyZmx5KHZtLCBidXR0ZXJmbHkp
OwogICAgICAgICBzdG9yYWdlID0gYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAg
c3RvcmFnZS0+bV9pbmRleEJpYXMgKz0gY291bnQ7CiAKQEAgLTEwNzUsNyArMTA3OCw3IEBAIGJv
b2wgSlNBcnJheTo6dW5zaGlmdENvdW50V2l0aEFycmF5U3RvcmEKICAgICB1bnNpZ25lZCBsZW5n
dGggPSBzdG9yYWdlLT5sZW5ndGgoKTsKIAogICAgIFJFTEVBU0VfQVNTRVJUKHN0YXJ0SW5kZXgg
PD0gbGVuZ3RoKTsKLQorICAgIAogICAgIC8vIElmIHRoZSBhcnJheSBjb250YWlucyBob2xlcyBv
ciBpcyBvdGhlcndpc2UgaW4gYW4gYWJub3JtYWwgc3RhdGUsCiAgICAgLy8gdXNlIHRoZSBnZW5l
cmljIGFsZ29yaXRobSBpbiBBcnJheVByb3RvdHlwZS4KICAgICBpZiAoc3RvcmFnZS0+aGFzSG9s
ZXMoKSB8fCBzdG9yYWdlLT5pblNwYXJzZU1vZGUoKSB8fCBzaG91bGRVc2VTbG93UHV0KGluZGV4
aW5nVHlwZSgpKSkKQEAgLTEwOTgsNyArMTEwMSw3IEBAIGJvb2wgSlNBcnJheTo6dW5zaGlmdENv
dW50V2l0aEFycmF5U3RvcmEKICAgICAgICAgc2V0QnV0dGVyZmx5KHZtLCBuZXdCdXR0ZXJmbHkp
OwogICAgIH0gZWxzZSBpZiAoIW1vdmVGcm9udCAmJiB2ZWN0b3JMZW5ndGggLSBsZW5ndGggPj0g
Y291bnQpCiAgICAgICAgIHN0b3JhZ2UgPSBzdG9yYWdlLT5idXR0ZXJmbHkoKS0+YXJyYXlTdG9y
YWdlKCk7Ci0gICAgZWxzZSBpZiAodW5zaGlmdENvdW50U2xvd0Nhc2Uodm0sIGRlZmVyR0MsIG1v
dmVGcm9udCwgY291bnQpKQorICAgIGVsc2UgaWYgKHVuc2hpZnRDb3VudFNsb3dDYXNlKGxvY2tl
ciwgdm0sIGRlZmVyR0MsIG1vdmVGcm9udCwgY291bnQpKQogICAgICAgICBzdG9yYWdlID0gYXJy
YXlTdG9yYWdlKCk7CiAgICAgZWxzZSB7CiAgICAgICAgIHRocm93T3V0T2ZNZW1vcnlFcnJvcihl
eGVjLCBzY29wZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5o
CShyZXZpc2lvbiAyMTA1MzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5LmgJKHdvcmtpbmcgY29weSkKQEAgLTE3Nyw3ICsxNzcsNyBAQCBwcml2YXRlOgogCiAgICAg
Ym9vbCB1bnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbmdUeXBlKEV4ZWNTdGF0ZSosIHVuc2lnbmVk
IHN0YXJ0SW5kZXgsIHVuc2lnbmVkIGNvdW50KTsKICAgICBib29sIHVuc2hpZnRDb3VudFdpdGhB
cnJheVN0b3JhZ2UoRXhlY1N0YXRlKiwgdW5zaWduZWQgc3RhcnRJbmRleCwgdW5zaWduZWQgY291
bnQsIEFycmF5U3RvcmFnZSopOwotICAgIGJvb2wgdW5zaGlmdENvdW50U2xvd0Nhc2UoVk0mLCBE
ZWZlckdDJiwgYm9vbCwgdW5zaWduZWQpOworICAgIGJvb2wgdW5zaGlmdENvdW50U2xvd0Nhc2Uo
Y29uc3QgQWJzdHJhY3RMb2NrZXImLCBWTSYsIERlZmVyR0MmLCBib29sLCB1bnNpZ25lZCk7CiAK
ICAgICBib29sIHNldExlbmd0aFdpdGhBcnJheVN0b3JhZ2UoRXhlY1N0YXRlKiwgdW5zaWduZWQg
bmV3TGVuZ3RoLCBib29sIHRocm93RXhjZXB0aW9uLCBBcnJheVN0b3JhZ2UqKTsKICAgICB2b2lk
IHNldExlbmd0aFdyaXRhYmxlKEV4ZWNTdGF0ZSosIGJvb2wgd3JpdGFibGUpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMjEwNTM0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zODMsNiArMzgzLDIwIEBAIEFMV0FZU19JTkxJTkUgU3RydWN0dXJlKiBKU09i
amVjdDo6dmlzaXQKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgc3RydWN0dXJlID0gdm0u
Z2V0U3RydWN0dXJlKHN0cnVjdHVyZUlEKTsKICAgICBsYXN0T2Zmc2V0ID0gc3RydWN0dXJlLT5s
YXN0T2Zmc2V0KCk7CisgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSA9IHN0cnVjdHVyZS0+
aW5kZXhpbmdUeXBlKCk7CisgICAgTG9ja2VyPEpTQ2VsbD4gbG9ja2VyKE5vTG9ja2luZ05lY2Vz
c2FyeSk7CisgICAgc3dpdGNoIChpbmRleGluZ1R5cGUpIHsKKyAgICBjYXNlIEFMTF9DT05USUdV
T1VTX0lOREVYSU5HX1RZUEVTOgorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdf
VFlQRVM6CisgICAgICAgIC8vIFdlIG5lZWQgdG8gaG9sZCB0aGlzIGxvY2sgdG8gcHJvdGVjdCBh
Z2FpbnN0IGNoYW5nZXMgdG8gdGhlIGlubmFyZHMgb2YgdGhlIGJ1dHRlcmZseQorICAgICAgICAv
LyB0aGF0IGNhbiBoYXBwZW4gd2hlbiB0aGUgYnV0dGVyZmx5IGlzIHVzZWQgZm9yIGFycmF5IHN0
b3JhZ2UuIFdlIGNvbnNlcnZhdGl2ZWx5CisgICAgICAgIC8vIGFzc3VtZSB0aGF0IGEgY29udGln
dW91cyBidXR0ZXJmbHkgbWF5IHRyYW5zZm9ybSBpbnRvIGFuIGFycmF5IHN0b3JhZ2Ugb25lLCB0
aG91Z2gKKyAgICAgICAgLy8gdGhpcyBpcyBwcm9iYWJseSBtb3JlIGNvbnNlcnZhdGl2ZSB0aGFu
IG5lY2Vzc2FyeS4KKyAgICAgICAgbG9ja2VyID0gTG9ja2VyPEpTQ2VsbD4oKnRoaXMpOworICAg
ICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CiAgICAgV1RG
Ojpsb2FkTG9hZEZlbmNlKCk7CiAgICAgYnV0dGVyZmx5ID0gdGhpcy0+YnV0dGVyZmx5KCk7CiAg
ICAgaWYgKCFidXR0ZXJmbHkpCkBAIC0zOTUsMjcgKzQwOSwxNyBAQCBBTFdBWVNfSU5MSU5FIFN0
cnVjdHVyZSogSlNPYmplY3Q6OnZpc2l0CiAgICAgCiAgICAgbWFya0F1eGlsaWFyeUFuZFZpc2l0
T3V0T2ZMaW5lUHJvcGVydGllcyh2aXNpdG9yLCBidXR0ZXJmbHksIHN0cnVjdHVyZSwgbGFzdE9m
ZnNldCk7CiAgICAgCi0gICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBzdHJ1Y3R1cmUtPmluZGV4
aW5nVHlwZSgpOwotICAgIHN3aXRjaCAob2xkVHlwZSkgeworICAgIEFTU0VSVChpbmRleGluZ1R5
cGUgPT0gc3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKSk7CisgICAgCisgICAgc3dpdGNoIChpbmRl
eGluZ1R5cGUpIHsKICAgICBjYXNlIEFMTF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVTOgotICAg
IGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKLSAgICAgICAgLy8gVGhp
cyBsb2NrIGlzIGhlcmUgdG8gcHJvdGVjdCBDb250aWd1b3VzLT5BcnJheVN0b3JhZ2UgdHJhbnNp
dGlvbnMsIGJ1dCB3ZSBjb3VsZCBtYWtlIHRoYXQKLSAgICAgICAgLy8gcmFjZSB3b3JrIGlmIHdl
IG5lZWRlZCB0by4KLSAgICAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jaygqdGhpcyk7Ci0gICAg
ICAgIEluZGV4aW5nVHlwZSBuZXdUeXBlID0gdGhpcy0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgICAg
IGJ1dHRlcmZseSA9IHRoaXMtPmJ1dHRlcmZseSgpOwotICAgICAgICBzd2l0Y2ggKG5ld1R5cGUp
IHsKLSAgICAgICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKLSAgICAgICAg
ICAgIHZpc2l0b3IuYXBwZW5kVmFsdWVzSGlkZGVuKGJ1dHRlcmZseS0+Y29udGlndW91cygpLmRh
dGEoKSwgYnV0dGVyZmx5LT5wdWJsaWNMZW5ndGgoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgZGVmYXVsdDogLy8gQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVMKLSAgICAg
ICAgICAgIHZpc2l0b3IuYXBwZW5kVmFsdWVzSGlkZGVuKGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdl
KCktPm1fdmVjdG9yLCBidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKSk7
Ci0gICAgICAgICAgICBpZiAoYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9zcGFyc2VNYXAp
Ci0gICAgICAgICAgICAgICAgdmlzaXRvci5hcHBlbmQoYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2Uo
KS0+bV9zcGFyc2VNYXApOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KKyAgICAgICAg
dmlzaXRvci5hcHBlbmRWYWx1ZXNIaWRkZW4oYnV0dGVyZmx5LT5jb250aWd1b3VzKCkuZGF0YSgp
LCBidXR0ZXJmbHktPnB1YmxpY0xlbmd0aCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBB
TExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKKyAgICAgICAgdmlzaXRvci5hcHBlbmRW
YWx1ZXNIaWRkZW4oYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3IsIGJ1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCktPnZlY3Rvckxlbmd0aCgpKTsKKyAgICAgICAgaWYgKGJ1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCktPm1fc3BhcnNlTWFwKQorICAgICAgICAgICAgdmlzaXRvci5hcHBl
bmQoYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9zcGFyc2VNYXApOwogICAgICAgICBicmVh
azsKLSAgICB9CiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQo=
</data>
<flag name="review"
          id="320597"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>