<?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>34227</bug_id>
          
          <creation_ts>2010-01-27 14:38:34 -0800</creation_ts>
          <short_desc>MessageEvent.data should deserialize in the context of the MessageEvent&apos;s global object</short_desc>
          <delta_ts>2010-01-27 23:59:46 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>185223</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-01-27 14:38:34 -0800</bug_when>
    <thetext>MessageEvent.data should deserialize in the context of the MessageEvent&apos;s global object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185267</commentid>
    <comment_count>1</comment_count>
      <attachid>47572</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-01-27 16:23:44 -0800</bug_when>
    <thetext>Created attachment 47572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185270</commentid>
    <comment_count>2</comment_count>
      <attachid>47572</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-01-27 16:24:30 -0800</bug_when>
    <thetext>Comment on attachment 47572
Patch

Don&apos;t want actual review yet (as i don&apos;t have testcases yet)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185322</commentid>
    <comment_count>3</comment_count>
      <attachid>47587</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-01-27 20:18:56 -0800</bug_when>
    <thetext>Created attachment 47587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185325</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-27 20:30:01 -0800</bug_when>
    <thetext>Attachment 47587 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/216413</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185328</commentid>
    <comment_count>5</comment_count>
      <attachid>47587</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-01-27 20:39:43 -0800</bug_when>
    <thetext>Comment on attachment 47587
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185331</commentid>
    <comment_count>6</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-01-27 20:47:15 -0800</bug_when>
    <thetext>Committed r53969: &lt;http://trac.webkit.org/changeset/53969&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185360</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-27 23:58:59 -0800</bug_when>
    <thetext>This change was a flamethrower.  But I think most of the tree has been put out.  Gtk still looks broken though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185361</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-27 23:59:46 -0800</bug_when>
    <thetext>--- /var/lib/buildbot/build/gtk-linux-release/build/layout-test-results/fast/dom/Window/window-postmessage-clone-frames-expected.txt	2010-01-27 23:38:26.000000000 -0800
+++ /var/lib/buildbot/build/gtk-linux-release/build/layout-test-results/fast/dom/Window/window-postmessage-clone-frames-actual.txt	2010-01-27 23:38:26.000000000 -0800
@@ -5,8 +5,8 @@
 PASS: (frames[0].tests[1]).event.data instanceof (frames[0]).Array is true of type boolean
 PASS: (frames[0].tests[2]).eventData instanceof (frames[0]).Date is true of type boolean
 PASS: (frames[0].tests[2]).event.data instanceof (frames[0]).Date is true of type boolean
-PASS: (frames[0].tests[3]).eventData instanceof (frames[0]).File is true of type boolean
-PASS: (frames[0].tests[3]).event.data instanceof (frames[0]).File is true of type boolean
+FAIL: (frames[0].tests[3]).eventData instanceof (frames[0]).File is false should be true of type boolean
+FAIL: (frames[0].tests[3]).event.data instanceof (frames[0]).File is false should be true of type boolean
 PASS: (frames[0].tests[4]).eventData instanceof (frames[0]).FileList is true of type boolean
 PASS: (frames[0].tests[4]).event.data instanceof (frames[0]).FileList is true of type boolean</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47572</attachid>
            <date>2010-01-27 16:23:44 -0800</date>
            <delta_ts>2010-01-27 20:18:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34227-20100127162342.patch</filename>
            <type>text/plain</type>
            <size>12781</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA5MzNmZGMxLi40M2RhNmY4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTAtMDEtMjcgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZXNzYWdlRXZlbnQuZGF0
YSBzaG91bGQgZGVzZXJpYWxpemUgaW4gdGhlIGNvbnRleHQgb2YgdGhlIE1lc3NhZ2VFdmVudCdz
IGdsb2JhbCBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM0MjI3CisKKyAgICAgICAgQWRkIGxvZ2ljIHRvIGFsbG93IHVzIHRvIGNyZWF0ZSBh
biBPYmplY3QsIEFycmF5LCBvciBEYXRlIGluc3RhbmNlCisgICAgICAgIHNvIHdlIGNhbiBjcmVh
dGUgdGhlbSBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIGdsb2JhbCBvYmplY3QsCisgICAg
ICAgIHJhdGhlciB0aGFuIGp1c3QgdXNpbmcgdGhlIGN1cnJlbnQgbGV4aWNhbCBnbG9iYWwgb2Jq
ZWN0LgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIHJ1bnRpbWUv
RGF0ZUluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6RGF0ZUluc3RhbmNlOjpEYXRlSW5zdGFu
Y2UpOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUluc3RhbmNlLmg6CisgICAgICAgICogcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5oOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RFbXB0eU9iamVjdCk6
CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEVtcHR5QXJyYXkpOgorCiAyMDEwLTAxLTI3ICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5l
eHAgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggNGY4ZGU5MS4uN2M5
M2Y2NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCisrKyBi
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMTA5LDYgKzEwOSw3IEBAIF9f
Wk4zSlNDMTFVU3RyaW5nSW1wbDdzX2VtcHR5RQogX19aTjNKU0MxMVVTdHJpbmdJbXBsRDFFdgog
X19aTjNKU0MxMWNoZWNrU3ludGF4RVBOU185RXhlY1N0YXRlRVJLTlNfMTBTb3VyY2VDb2RlRQog
X19aTjNKU0MxMkRhdGVJbnN0YW5jZTRpbmZvRQorX19aTjNKU0MxMkRhdGVJbnN0YW5jZUMxRVBO
U185RXhlY1N0YXRlRU4zV1RGMTdOb25OdWxsUGFzc1JlZlB0cklOU185U3RydWN0dXJlRUVFZAog
X19aTjNKU0MxMkRhdGVJbnN0YW5jZUMxRVBOU185RXhlY1N0YXRlRWQKIF9fWk4zSlNDMTJKU0ds
b2JhbERhdGExMENsaWVudERhdGFEMkV2CiBfX1pOM0pTQzEySlNHbG9iYWxEYXRhMTFqc0FycmF5
VlB0ckUKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmNw
cCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmNwcAppbmRleCA3N2E5MmJl
Li5iNDNiMTgzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5j
ZS5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuY3BwCkBAIC00
MCw2ICs0MCwxMiBAQCBEYXRlSW5zdGFuY2U6OkRhdGVJbnN0YW5jZShFeGVjU3RhdGUqIGV4ZWMs
IE5vbk51bGxQYXNzUmVmUHRyPFN0cnVjdHVyZT4gc3RydWN0dQogICAgIHNldEludGVybmFsVmFs
dWUoanNOYU4oZXhlYykpOwogfQogCitEYXRlSW5zdGFuY2U6OkRhdGVJbnN0YW5jZShFeGVjU3Rh
dGUqIGV4ZWMsIE5vbk51bGxQYXNzUmVmUHRyPFN0cnVjdHVyZT4gc3RydWN0dXJlLCBkb3VibGUg
dGltZSkKKyAgICA6IEpTV3JhcHBlck9iamVjdChzdHJ1Y3R1cmUpCit7CisgICAgc2V0SW50ZXJu
YWxWYWx1ZShqc051bWJlcihleGVjLCB0aW1lQ2xpcCh0aW1lKSkpOworfQorCiBEYXRlSW5zdGFu
Y2U6OkRhdGVJbnN0YW5jZShFeGVjU3RhdGUqIGV4ZWMsIGRvdWJsZSB0aW1lKQogICAgIDogSlNX
cmFwcGVyT2JqZWN0KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+ZGF0ZVN0cnVjdHVyZSgp
KQogewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmgKaW5kZXggNDRiNzUyMS4uYjgz
ZDJiZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5oCkBAIC0zMiw2ICszMiw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIERhdGVJbnN0YW5jZSA6IHB1YmxpYyBKU1dy
YXBwZXJPYmplY3QgewogICAgIHB1YmxpYzoKICAgICAgICAgRGF0ZUluc3RhbmNlKEV4ZWNTdGF0
ZSosIGRvdWJsZSk7CisgICAgICAgIERhdGVJbnN0YW5jZShFeGVjU3RhdGUqLCBOb25OdWxsUGFz
c1JlZlB0cjxTdHJ1Y3R1cmU+LCBkb3VibGUpOwogICAgICAgICBleHBsaWNpdCBEYXRlSW5zdGFu
Y2UoRXhlY1N0YXRlKiwgTm9uTnVsbFBhc3NSZWZQdHI8U3RydWN0dXJlPik7CiAKICAgICAgICAg
ZG91YmxlIGludGVybmFsTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gaW50ZXJuYWxWYWx1ZSgpLnVu
Y2hlY2tlZEdldE51bWJlcigpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKaW5kZXggOWU0ZWY0OS4uOThkN2VmOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaApAQCAtNDEzLDExICs0MTMsMjEgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewog
ICAgICAgICByZXR1cm4gbmV3IChleGVjKSBKU09iamVjdChleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCktPmVtcHR5T2JqZWN0U3RydWN0dXJlKCkpOwogICAgIH0KKyAgICAKKyAgICBpbmxpbmUg
SlNPYmplY3QqIGNvbnN0cnVjdEVtcHR5T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkKKyAgICB7CisgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpT
T2JqZWN0KGdsb2JhbE9iamVjdC0+ZW1wdHlPYmplY3RTdHJ1Y3R1cmUoKSk7CisgICAgfQogCiAg
ICAgaW5saW5lIEpTQXJyYXkqIGNvbnN0cnVjdEVtcHR5QXJyYXkoRXhlY1N0YXRlKiBleGVjKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIG5ldyAoZXhlYykgSlNBcnJheShleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJlKCkpOwogICAgIH0KKyAgICAKKyAgICBpbmxpbmUg
SlNBcnJheSogY29uc3RydWN0RW1wdHlBcnJheShFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IChleGVjKSBKU0Fy
cmF5KGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmUoKSk7CisgICAgfQogCiAgICAgaW5saW5l
IEpTQXJyYXkqIGNvbnN0cnVjdEVtcHR5QXJyYXkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBp
bml0aWFsTGVuZ3RoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMTFjMzc5Yi4uMTQ0MjVhMCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMSBAQAogMjAx
MC0wMS0yNyAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lc3NhZ2VFdmVudC5kYXRhIHNob3Vs
ZCBkZXNlcmlhbGl6ZSBpbiB0aGUgY29udGV4dCBvZiB0aGUgTWVzc2FnZUV2ZW50J3MgZ2xvYmFs
IG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzQyMjcKKworICAgICAgICBNYWtlIFNjcmlwdFZhbHVlIGRlc2VyaWFsaXNhdGlvbiBzdXBwb3J0
IHRoZSBwcm92aXNpb24gb2YgYSBzcGVjaWZpYyBnbG9iYWwKKyAgICAgICAgb2JqZWN0IHRvIHVz
ZSB3aGVuIGNyZWF0aW5nIG5ldyBvYmplY3RzLiAgVGhpcyB0aGVuIGFsbG93cyB1cyB0byBtYWtl
CisgICAgICAgIE1lc3NhZ2VFdmVudC5kYXRhIGFuZCBQb3BTdGF0ZUV2ZW50LnN0YXRlIGRlc2Vy
aWFsaXplIGluIHRoZSBjb3JyZWN0CisgICAgICAgIGNvbnRleHQuCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwOgorICAgICAgICAgIFJlbW92ZSBjdXN0
b20gaW1wbGVtZW50YXRpb24gb2Ygc3RhdGUgZ2V0dGVyCisgICAgICAgICogYmluZGluZ3MvanMv
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlc2VyaWFsaXpp
bmdUcmVlV2Fsa2VyOjpEZXNlcmlhbGl6aW5nVHJlZVdhbGtlcik6CisgICAgICAgIChXZWJDb3Jl
OjpEZXNlcmlhbGl6aW5nVHJlZVdhbGtlcjo6Y3JlYXRlT3V0cHV0QXJyYXkpOgorICAgICAgICAo
V2ViQ29yZTo6RGVzZXJpYWxpemluZ1RyZWVXYWxrZXI6OmNyZWF0ZU91dHB1dE9iamVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXNlcmlhbGl6aW5nVHJlZVdhbGtlcjo6Y29udmVydElmVGVybWlu
YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlRGF0YTo6ZGVzZXJp
YWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjpkZXNlcmlh
bGl6ZSk6CisgICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgICBV
cGF0ZSBiaW5kaW5ncyBnZW5lcmF0aW9uIHRvIHBhc3MgdGhlIGNvcnJlY3QgZ2xvYmFsIG9iamVj
dAorCisyMDEwLTAxLTI3ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKICAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgogCiAgICAgICAgIEFuaW1hdGVkIHNjYWxpbmcg
b2YgYmFja2dyb3VuZC1pbWFnZSBpcyB0b28gc2xvdwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwCmluZGV4IGVlODZhMDkuLjNmNWZkN2UgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKQEAgLTQ1LDEzICs0
NSw0IEBAIEpTVmFsdWUgSlNQb3BTdGF0ZUV2ZW50Ojppbml0UG9wU3RhdGVFdmVudChFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7
CiB9CiAKLUpTQzo6SlNWYWx1ZSBKU1BvcFN0YXRlRXZlbnQ6OnN0YXRlKEpTQzo6RXhlY1N0YXRl
KiBleGVjKSBjb25zdAotewotICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogb2JqZWN0ID0gc3Rh
dGljX2Nhc3Q8UG9wU3RhdGVFdmVudCo+KGltcGwoKSktPnN0YXRlKCk7Ci0gICAgaWYgKCFvYmpl
Y3QpCi0gICAgICAgIHJldHVybiBKU0M6OmpzTnVsbCgpOwotICAgIAotICAgIHJldHVybiBvYmpl
Y3QtPmRlc2VyaWFsaXplKGV4ZWMpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgYi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggMzU3M2Uz
NS4uZGY4NjViMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZh
bHVlLmNwcApAQCAtNjEzLDEwICs2MTMsMTAgQEAgc3RydWN0IERlc2VyaWFsaXppbmdUcmVlV2Fs
a2VyIDogcHVibGljIEJhc2VXYWxrZXIgewogICAgIHR5cGVkZWYgSlNPYmplY3QqIE91dHB1dE9i
amVjdDsKICAgICB0eXBlZGVmIFNlcmlhbGl6ZWRPYmplY3Q6OlByb3BlcnR5TmFtZUxpc3QgUHJv
cGVydHlMaXN0OwogCi0gICAgRGVzZXJpYWxpemluZ1RyZWVXYWxrZXIoRXhlY1N0YXRlKiBleGVj
LCBib29sIG11c3RDb3B5KQorICAgIERlc2VyaWFsaXppbmdUcmVlV2Fsa2VyKEV4ZWNTdGF0ZSog
ZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgYm9vbCBtdXN0Q29weSkKICAgICAg
ICAgOiBCYXNlV2Fsa2VyKGV4ZWMpCi0gICAgICAgICwgbV9nbG9iYWxPYmplY3QoZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpKQotICAgICAgICAsIG1faXNET01HbG9iYWxPYmplY3QobV9nbG9i
YWxPYmplY3QtPmluaGVyaXRzKCZKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZvKSkKKyAgICAgICAg
LCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCisgICAgICAgICwgbV9pc0RPTUdsb2JhbE9i
amVjdChnbG9iYWxPYmplY3QtPmluaGVyaXRzKCZKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZvKSkK
ICAgICAgICAgLCBtX211c3RDb3B5KG11c3RDb3B5KQogICAgIHsKICAgICB9CkBAIC02NDUsMTQg
KzY0NSwxNCBAQCBzdHJ1Y3QgRGVzZXJpYWxpemluZ1RyZWVXYWxrZXIgOiBwdWJsaWMgQmFzZVdh
bGtlciB7CiAKICAgICBKU0FycmF5KiBjcmVhdGVPdXRwdXRBcnJheSh1bnNpZ25lZCBsZW5ndGgp
CiAgICAgewotICAgICAgICBKU0FycmF5KiBhcnJheSA9IGNvbnN0cnVjdEVtcHR5QXJyYXkobV9l
eGVjKTsKKyAgICAgICAgSlNBcnJheSogYXJyYXkgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KG1fZXhl
YywgbV9nbG9iYWxPYmplY3QpOwogICAgICAgICBhcnJheS0+c2V0TGVuZ3RoKGxlbmd0aCk7CiAg
ICAgICAgIHJldHVybiBhcnJheTsKICAgICB9CiAKICAgICBKU09iamVjdCogY3JlYXRlT3V0cHV0
T2JqZWN0KCkKICAgICB7Ci0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChtX2V4
ZWMpOworICAgICAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QobV9leGVjLCBtX2dsb2Jh
bE9iamVjdCk7CiAgICAgfQogCiAgICAgdWludDMyX3QgbGVuZ3RoKFJlZlB0cjxTZXJpYWxpemVk
QXJyYXk+IGFycmF5KQpAQCAtNjk1LDExICs2OTUsMTEgQEAgc3RydWN0IERlc2VyaWFsaXppbmdU
cmVlV2Fsa2VyIDogcHVibGljIEJhc2VXYWxrZXIgewogICAgICAgICAgICAgY2FzZSBTZXJpYWxp
emVkU2NyaXB0VmFsdWVEYXRhOjpOdW1iZXJUeXBlOgogICAgICAgICAgICAgICAgIHJldHVybiBq
c051bWJlcihtX2V4ZWMsIHZhbHVlLmFzRG91YmxlKCkpOwogICAgICAgICAgICAgY2FzZSBTZXJp
YWxpemVkU2NyaXB0VmFsdWVEYXRhOjpEYXRlVHlwZToKLSAgICAgICAgICAgICAgICByZXR1cm4g
bmV3IChtX2V4ZWMpIERhdGVJbnN0YW5jZShtX2V4ZWMsIHZhbHVlLmFzRG91YmxlKCkpOworICAg
ICAgICAgICAgICAgIHJldHVybiBuZXcgKG1fZXhlYykgRGF0ZUluc3RhbmNlKG1fZXhlYywgbV9n
bG9iYWxPYmplY3QtPmRhdGVTdHJ1Y3R1cmUoKSwgdmFsdWUuYXNEb3VibGUoKSk7CiAgICAgICAg
ICAgICBjYXNlIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZURhdGE6OkZpbGVUeXBlOgogICAgICAgICAg
ICAgICAgIGlmICghbV9pc0RPTUdsb2JhbE9iamVjdCkKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIGpzTnVsbCgpOwotICAgICAgICAgICAgICAgIHJldHVybiB0b0pTKG1fZXhlYywgc3RhdGlj
X2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihtX2V4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSks
IEZpbGU6OmNyZWF0ZSh2YWx1ZS5hc1N0cmluZygpLmNyb3NzVGhyZWFkU3RyaW5nKCkpKTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gdG9KUyhtX2V4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFs
T2JqZWN0Kj4obV9nbG9iYWxPYmplY3QpLCBGaWxlOjpjcmVhdGUodmFsdWUuYXNTdHJpbmcoKS5j
cm9zc1RocmVhZFN0cmluZygpKSk7CiAgICAgICAgICAgICBjYXNlIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZURhdGE6OkZpbGVMaXN0VHlwZTogewogICAgICAgICAgICAgICAgIGlmICghbV9pc0RPTUds
b2JhbE9iamVjdCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwpAQCAtNzA4
LDcgKzcwOCw3IEBAIHN0cnVjdCBEZXNlcmlhbGl6aW5nVHJlZVdhbGtlciA6IHB1YmxpYyBCYXNl
V2Fsa2VyIHsKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBzZXJpYWxpemVkRmls
ZUxpc3QtPmxlbmd0aCgpOwogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBsZW5ndGg7IGkrKykKICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQoRmlsZTo6
Y3JlYXRlKHNlcmlhbGl6ZWRGaWxlTGlzdC0+aXRlbShpKSkpOwotICAgICAgICAgICAgICAgIHJl
dHVybiB0b0pTKG1fZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihtX2V4ZWMt
PmxleGljYWxHbG9iYWxPYmplY3QoKSksIHJlc3VsdC5nZXQoKSk7CisgICAgICAgICAgICAgICAg
cmV0dXJuIHRvSlMobV9leGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KG1fZ2xv
YmFsT2JqZWN0KSwgcmVzdWx0LmdldCgpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNh
c2UgU2VyaWFsaXplZFNjcmlwdFZhbHVlRGF0YTo6RW1wdHlUeXBlOgogICAgICAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtNzU4LDEwICs3NTgsMTAgQEAgcHJpdmF0ZToKICAg
ICBib29sIG1fbXVzdENvcHk7CiB9OwogCi1KU1ZhbHVlIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZURh
dGE6OmRlc2VyaWFsaXplKEV4ZWNTdGF0ZSogZXhlYywgYm9vbCBtdXN0Q29weSkgY29uc3QKK0pT
VmFsdWUgU2VyaWFsaXplZFNjcmlwdFZhbHVlRGF0YTo6ZGVzZXJpYWxpemUoRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsLCBib29sIG11c3RDb3B5KSBjb25zdAogewogICAg
IEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAgRGVzZXJpYWxpemluZ1Ry
ZWVXYWxrZXIgY29udGV4dChleGVjLCBtdXN0Q29weSk7CisgICAgRGVzZXJpYWxpemluZ1RyZWVX
YWxrZXIgY29udGV4dChleGVjLCBnbG9iYWwsIG11c3RDb3B5KTsKICAgICByZXR1cm4gd2FsazxE
ZXNlcmlhbGl6aW5nVHJlZVdhbGtlcj4oY29udGV4dCwgKnRoaXMpOwogfQogCkBAIC05MzYsNyAr
OTM2LDcgQEAgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTo6Y3JlYXRlKEpTQ29udGV4dFJlZiBvcmkKIEpTVmFsdWVSZWYgU2VyaWFsaXplZFNj
cmlwdFZhbHVlOjpkZXNlcmlhbGl6ZShKU0NvbnRleHRSZWYgZGVzdGluYXRpb25Db250ZXh0LCBK
U1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CiAgICAgRXhlY1N0YXRlKiBleGVjID0gdG9KUyhkZXN0
aW5hdGlvbkNvbnRleHQpOwotICAgIEpTVmFsdWUgdmFsdWUgPSBkZXNlcmlhbGl6ZShleGVjKTsK
KyAgICBKU1ZhbHVlIHZhbHVlID0gZGVzZXJpYWxpemUoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpIHsKICAgICAgICAgaWYg
KGV4Y2VwdGlvbikKICAgICAgICAgICAgICpleGNlcHRpb24gPSB0b1JlZihleGVjLCBleGVjLT5l
eGNlcHRpb24oKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUu
aAppbmRleCBkMzE1OWZjLi4zNDdkOGYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmgKQEAgLTY1LDcgKzY1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgICAgIFNlcmlhbGl6ZWRUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0K
ICAgICAgICAgc3RhdGljIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZURhdGEgc2VyaWFsaXplKEpTQzo6
RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKTsKLSAgICAgICAgSlNDOjpKU1ZhbHVlIGRlc2VyaWFs
aXplKEpTQzo6RXhlY1N0YXRlKiwgYm9vbCBtdXN0Q29weSkgY29uc3Q7CisgICAgICAgIEpTQzo6
SlNWYWx1ZSBkZXNlcmlhbGl6ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBib29sIG11c3RDb3B5KSBjb25zdDsKIAogICAgICAgICB+U2VyaWFsaXplZFNjcmlwdFZhbHVl
RGF0YSgpCiAgICAgICAgIHsKQEAgLTE5NiwxMSArMTk2LDExIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgICAgIHJldHVybiBtX3ZhbHVlLmFzU3RyaW5nKCk7CiAgICAgICAgIH0KIAot
ICAgICAgICBKU0M6OkpTVmFsdWUgZGVzZXJpYWxpemUoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCisg
ICAgICAgIEpTQzo6SlNWYWx1ZSBkZXNlcmlhbGl6ZShKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlND
OjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgICAgICB7CiAgICAgICAgICAgICBp
ZiAoIW1fdmFsdWUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEpTQzo6anNOdWxsKCk7Ci0gICAg
ICAgICAgICByZXR1cm4gbV92YWx1ZS5kZXNlcmlhbGl6ZShleGVjLCBtX211c3RDb3B5KTsKKyAg
ICAgICAgICAgIHJldHVybiBtX3ZhbHVlLmRlc2VyaWFsaXplKGV4ZWMsIGdsb2JhbE9iamVjdCwg
bV9tdXN0Q29weSk7CiAgICAgICAgIH0KIAogICAgICAgICBKU1ZhbHVlUmVmIGRlc2VyaWFsaXpl
KEpTQ29udGV4dFJlZiwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDE1MWVkZjEuLmIxMzQ1MzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMTg0Niw3ICsx
ODQ2LDcgQEAgc3ViIEpTVmFsdWVUb05hdGl2ZQogICAgICAgICByZXR1cm4gIiR2YWx1ZS50b1N0
cmluZyhleGVjKSI7CiAgICAgfQogCi0gICAgaWYgKCR0eXBlIGVxICJTZXJpYWxpemVkU2NyaXB0
VmFsdWUiKSB7CisgICAgaWYgKCR0eXBlIGVxICJTZXJpYWxpemVkU2NyaXB0VmFsdWUiIG9yICR0
eXBlIGVxICJhbnkiKSB7CiAgICAgICAgICRpbXBsSW5jbHVkZXN7IlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5oIn0gPSAxOwogICAgICAgICByZXR1cm4gIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3Jl
YXRlKGV4ZWMsICR2YWx1ZSkiOwogICAgIH0KQEAgLTE5NTEsOSArMTk1MSw5IEBAIHN1YiBOYXRp
dmVUb0pTVmFsdWUKICAgICAgICAgJGpvaW5lZE5hbWUgPSAkdHlwZTsKICAgICAgICAgJGpvaW5l
ZE5hbWUgPX4gcy9BYnN8UmVsLy87CiAgICAgICAgICRpbXBsSW5jbHVkZXN7IiRqb2luZWROYW1l
LmgifSA9IDE7Ci0gICAgfSBlbHNpZiAoJHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIp
IHsKLSAgICAgICAgJGltcGxJbmNsdWRlc3siJHR5cGUuaCJ9ID0gMTsKLSAgICAgICAgcmV0dXJu
ICIkdmFsdWUtPmRlc2VyaWFsaXplKGV4ZWMpIjsKKyAgICB9IGVsc2lmICgkdHlwZSBlcSAiU2Vy
aWFsaXplZFNjcmlwdFZhbHVlIiBvciAkdHlwZSBlcSAiYW55IikgeworICAgICAgICAkaW1wbElu
Y2x1ZGVzeyJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCJ9ID0gMTsKKyAgICAgICAgcmV0dXJuICIk
dmFsdWUgPyAkdmFsdWUtPmRlc2VyaWFsaXplKGV4ZWMsIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVj
dCgpKSA6IGpzTnVsbCgpIjsKICAgICB9IGVsc2UgewogICAgICAgICAjIERlZmF1bHQsIGluY2x1
ZGUgaGVhZGVyIHdpdGggc2FtZSBuYW1lLgogICAgICAgICAkaW1wbEluY2x1ZGVzeyJKUyR0eXBl
LmgifSA9IDE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Qb3BTdGF0ZUV2ZW50LmlkbCBiL1dl
YkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuaWRsCmluZGV4IGI5ZWY2OTIuLmRmYTc3ZTMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuaWRsCisrKyBiL1dlYkNvcmUvZG9tL1Bv
cFN0YXRlRXZlbnQuaWRsCkBAIC0zMiw3ICszMiw3IEBAIG1vZHVsZSBldmVudHMgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY2FuY2VsYWJsZUFyZywgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYW55IHN0YXRlQXJnKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21H
ZXR0ZXJdIGFueSBzdGF0ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGFueSBzdGF0ZTsK
ICAgICB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47587</attachid>
            <date>2010-01-27 20:18:56 -0800</date>
            <delta_ts>2010-01-27 20:39:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34227-20100127201855.patch</filename>
            <type>text/plain</type>
            <size>19962</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3MWY4MDFmLi5jOWQ1ZWE5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTAtMDEtMjcgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZXNzYWdlRXZlbnQuZGF0
YSBzaG91bGQgZGVzZXJpYWxpemUgaW4gdGhlIGNvbnRleHQgb2YgdGhlIE1lc3NhZ2VFdmVudCdz
IGdsb2JhbCBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM0MjI3CisKKyAgICAgICAgQWRkIGxvZ2ljIHRvIGFsbG93IHVzIHRvIGNyZWF0ZSBh
biBPYmplY3QsIEFycmF5LCBvciBEYXRlIGluc3RhbmNlCisgICAgICAgIHNvIHdlIGNhbiBjcmVh
dGUgdGhlbSBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIGdsb2JhbCBvYmplY3QsCisgICAg
ICAgIHJhdGhlciB0aGFuIGp1c3QgdXNpbmcgdGhlIGN1cnJlbnQgbGV4aWNhbCBnbG9iYWwgb2Jq
ZWN0LgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIHJ1bnRpbWUv
RGF0ZUluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpTQzo6RGF0ZUluc3RhbmNlOjpEYXRlSW5zdGFu
Y2UpOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUluc3RhbmNlLmg6CisgICAgICAgICogcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5oOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RFbXB0eU9iamVjdCk6
CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEVtcHR5QXJyYXkpOgorCiAyMDEwLTAxLTI3ICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhw
IGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IDRmOGRlOTEuLjdjOTNm
NjQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTEwOSw2ICsxMDksNyBAQCBfX1pO
M0pTQzExVVN0cmluZ0ltcGw3c19lbXB0eUUKIF9fWk4zSlNDMTFVU3RyaW5nSW1wbEQxRXYKIF9f
Wk4zSlNDMTFjaGVja1N5bnRheEVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwU291cmNlQ29kZUUKIF9f
Wk4zSlNDMTJEYXRlSW5zdGFuY2U0aW5mb0UKK19fWk4zSlNDMTJEYXRlSW5zdGFuY2VDMUVQTlNf
OUV4ZWNTdGF0ZUVOM1dURjE3Tm9uTnVsbFBhc3NSZWZQdHJJTlNfOVN0cnVjdHVyZUVFRWQKIF9f
Wk4zSlNDMTJEYXRlSW5zdGFuY2VDMUVQTlNfOUV4ZWNTdGF0ZUVkCiBfX1pOM0pTQzEySlNHbG9i
YWxEYXRhMTBDbGllbnREYXRhRDJFdgogX19aTjNKU0MxMkpTR2xvYmFsRGF0YTExanNBcnJheVZQ
dHJFCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5jcHAg
Yi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5jcHAKaW5kZXggNzdhOTJiZS4u
YjQzYjE4MyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2Uu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmNwcApAQCAtNDAs
NiArNDAsMTIgQEAgRGF0ZUluc3RhbmNlOjpEYXRlSW5zdGFuY2UoRXhlY1N0YXRlKiBleGVjLCBO
b25OdWxsUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IHN0cnVjdHUKICAgICBzZXRJbnRlcm5hbFZhbHVl
KGpzTmFOKGV4ZWMpKTsKIH0KIAorRGF0ZUluc3RhbmNlOjpEYXRlSW5zdGFuY2UoRXhlY1N0YXRl
KiBleGVjLCBOb25OdWxsUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IHN0cnVjdHVyZSwgZG91YmxlIHRp
bWUpCisgICAgOiBKU1dyYXBwZXJPYmplY3Qoc3RydWN0dXJlKQoreworICAgIHNldEludGVybmFs
VmFsdWUoanNOdW1iZXIoZXhlYywgdGltZUNsaXAodGltZSkpKTsKK30KKwogRGF0ZUluc3RhbmNl
OjpEYXRlSW5zdGFuY2UoRXhlY1N0YXRlKiBleGVjLCBkb3VibGUgdGltZSkKICAgICA6IEpTV3Jh
cHBlck9iamVjdChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmRhdGVTdHJ1Y3R1cmUoKSkK
IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmggYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5oCmluZGV4IDQ0Yjc1MjEuLmI4M2Qy
YmUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuaApAQCAtMzIsNiArMzIsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBEYXRlSW5zdGFuY2UgOiBwdWJsaWMgSlNXcmFw
cGVyT2JqZWN0IHsKICAgICBwdWJsaWM6CiAgICAgICAgIERhdGVJbnN0YW5jZShFeGVjU3RhdGUq
LCBkb3VibGUpOworICAgICAgICBEYXRlSW5zdGFuY2UoRXhlY1N0YXRlKiwgTm9uTnVsbFBhc3NS
ZWZQdHI8U3RydWN0dXJlPiwgZG91YmxlKTsKICAgICAgICAgZXhwbGljaXQgRGF0ZUluc3RhbmNl
KEV4ZWNTdGF0ZSosIE5vbk51bGxQYXNzUmVmUHRyPFN0cnVjdHVyZT4pOwogCiAgICAgICAgIGRv
dWJsZSBpbnRlcm5hbE51bWJlcigpIGNvbnN0IHsgcmV0dXJuIGludGVybmFsVmFsdWUoKS51bmNo
ZWNrZWRHZXROdW1iZXIoKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5o
CmluZGV4IDllNGVmNDkuLjk4ZDdlZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmgKQEAgLTQxMywxMSArNDEzLDIxIEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHsKICAg
ICAgICAgcmV0dXJuIG5ldyAoZXhlYykgSlNPYmplY3QoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpLT5lbXB0eU9iamVjdFN0cnVjdHVyZSgpKTsKICAgICB9CisgICAgCisgICAgaW5saW5lIEpT
T2JqZWN0KiBjb25zdHJ1Y3RFbXB0eU9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IChleGVjKSBKU09i
amVjdChnbG9iYWxPYmplY3QtPmVtcHR5T2JqZWN0U3RydWN0dXJlKCkpOworICAgIH0KIAogICAg
IGlubGluZSBKU0FycmF5KiBjb25zdHJ1Y3RFbXB0eUFycmF5KEV4ZWNTdGF0ZSogZXhlYykKICAg
ICB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpTQXJyYXkoZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpKTsKICAgICB9CisgICAgCisgICAgaW5saW5lIEpT
QXJyYXkqIGNvbnN0cnVjdEVtcHR5QXJyYXkoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIG5ldyAoZXhlYykgSlNBcnJh
eShnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlKCkpOworICAgIH0KIAogICAgIGlubGluZSBK
U0FycmF5KiBjb25zdHJ1Y3RFbXB0eUFycmF5KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaW5p
dGlhbExlbmd0aCkKICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTQxN2I5OS4uNTU3NjViOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDEwLTAxLTI3ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVzc2FnZUV2
ZW50LmRhdGEgc2hvdWxkIGRlc2VyaWFsaXplIGluIHRoZSBjb250ZXh0IG9mIHRoZSBNZXNzYWdl
RXZlbnQncyBnbG9iYWwgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zNDIyNworCisgICAgICAgIFRlc3QgdGhhdCB0aGUgb2JqZWN0IHJldHVy
bmVkIGZyb20gcG9zdE1lc3NhZ2UuZGF0YSBpcyBjcmVhdGVkIGluIHRoZSBjb3JyZWN0IGNvbnRl
eHQKKworICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvd2luZG93LXBvc3RtZXNz
YWdlLWNsb25lLWZyYW1lcy1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9X
aW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZnJh
bWVzLmh0bWw6IEFkZGVkLgorCiAyMDEwLTAxLTI3ICBKb2huIEFiZC1FbC1NYWxlayAgPGphbUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3Jlc291cmNlcy93aW5kb3ctcG9z
dG1lc3NhZ2UtY2xvbmUtZnJhbWVzLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvcmVzb3VyY2VzL3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1mcmFtZXMtZnJhbWUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDk0ZjU5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3Jlc291cmNlcy93aW5kb3ctcG9z
dG1lc3NhZ2UtY2xvbmUtZnJhbWVzLWZyYW1lLmh0bWwKQEAgLTAsMCArMSw3IEBACis8c2NyaXB0
PgordmFyIHRlc3RzID0gW107Cit3aW5kb3cub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2ZW50KSB7
CisgICAgdGVzdHMucHVzaCh7ZXZlbnQ6IGV2ZW50LCBldmVudERhdGE6IGV2ZW50LmRhdGF9KTsK
KyAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoImJsYXJnaCIsICIqIik7Cit9Cis8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1l
c3NhZ2UtY2xvbmUtZnJhbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZnJhbWVzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2RiNmYyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1mcmFt
ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3RzIHRoYXQgd2UgY2xvbmUgb2Jq
ZWN0IGhpZXJhcmNoaWVzCitQQVNTOiAoZnJhbWVzWzBdLnRlc3RzWzBdKS5ldmVudERhdGEgaW5z
dGFuY2VvZiAoZnJhbWVzWzBdKS5PYmplY3QgaXMgdHJ1ZSBvZiB0eXBlIGJvb2xlYW4KK1BBU1M6
IChmcmFtZXNbMF0udGVzdHNbMF0pLmV2ZW50LmRhdGEgaW5zdGFuY2VvZiAoZnJhbWVzWzBdKS5P
YmplY3QgaXMgdHJ1ZSBvZiB0eXBlIGJvb2xlYW4KK1BBU1M6IChmcmFtZXNbMF0udGVzdHNbMV0p
LmV2ZW50RGF0YSBpbnN0YW5jZW9mIChmcmFtZXNbMF0pLkFycmF5IGlzIHRydWUgb2YgdHlwZSBi
b29sZWFuCitQQVNTOiAoZnJhbWVzWzBdLnRlc3RzWzFdKS5ldmVudC5kYXRhIGluc3RhbmNlb2Yg
KGZyYW1lc1swXSkuQXJyYXkgaXMgdHJ1ZSBvZiB0eXBlIGJvb2xlYW4KK1BBU1M6IChmcmFtZXNb
MF0udGVzdHNbMl0pLmV2ZW50RGF0YSBpbnN0YW5jZW9mIChmcmFtZXNbMF0pLkRhdGUgaXMgdHJ1
ZSBvZiB0eXBlIGJvb2xlYW4KK1BBU1M6IChmcmFtZXNbMF0udGVzdHNbMl0pLmV2ZW50LmRhdGEg
aW5zdGFuY2VvZiAoZnJhbWVzWzBdKS5EYXRlIGlzIHRydWUgb2YgdHlwZSBib29sZWFuCitQQVNT
OiAoZnJhbWVzWzBdLnRlc3RzWzNdKS5ldmVudERhdGEgaW5zdGFuY2VvZiAoZnJhbWVzWzBdKS5G
aWxlIGlzIHRydWUgb2YgdHlwZSBib29sZWFuCitQQVNTOiAoZnJhbWVzWzBdLnRlc3RzWzNdKS5l
dmVudC5kYXRhIGluc3RhbmNlb2YgKGZyYW1lc1swXSkuRmlsZSBpcyB0cnVlIG9mIHR5cGUgYm9v
bGVhbgorUEFTUzogKGZyYW1lc1swXS50ZXN0c1s0XSkuZXZlbnREYXRhIGluc3RhbmNlb2YgKGZy
YW1lc1swXSkuRmlsZUxpc3QgaXMgdHJ1ZSBvZiB0eXBlIGJvb2xlYW4KK1BBU1M6IChmcmFtZXNb
MF0udGVzdHNbNF0pLmV2ZW50LmRhdGEgaW5zdGFuY2VvZiAoZnJhbWVzWzBdKS5GaWxlTGlzdCBp
cyB0cnVlIG9mIHR5cGUgYm9vbGVhbgorIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1mcmFtZXMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZnJhbWVzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY4OTFkNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xv
bmUtZnJhbWVzLmh0bWwKQEAgLTAsMCArMSwxMTYgQEAKKzxodG1sPgorPGhlYWQ+PC9oZWFkPgor
PGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxpbnB1dCB0eXBlPSJmaWxlIiBpZD0iZmlsZUlucHV0Ij4KKzxpZnJhbWUgc3JjPSJy
ZXNvdXJjZXMvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWZyYW1lcy1mcmFtZS5odG1sIiBvbmxv
YWQ9InN0YXJ0VGVzdCgpIj48L2lmcmFtZT4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK30KKwordmFyIGNvbnNv
bGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworCit2YXIgdGVzdHMgPSBb
XTsKKworZnVuY3Rpb24gZXF1YWwoYWN0dWFsLCBleHBlY3RlZCkKK3sKKyAgICBpZiAodHlwZW9m
IGFjdHVhbCAhPT0gdHlwZW9mIGV4cGVjdGVkKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
aWYgKGFjdHVhbCA9PT0gZXhwZWN0ZWQpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmICgo
YWN0dWFsIGluc3RhbmNlb2YgRGF0ZSkgfHwgKGV4cGVjdGVkIGluc3RhbmNlb2YgRGF0ZSkpIHsK
KyAgICAgICAgaWYgKChhY3R1YWwgaW5zdGFuY2VvZiBEYXRlKSAmJiAoZXhwZWN0ZWQgaW5zdGFu
Y2VvZiBEYXRlKSkKKyAgICAgICAgICAgIHJldHVybiAoZXhwZWN0ZWQgaW5zdGFuY2VvZiBEYXRl
KSAmJiBhY3R1YWwuZ2V0VGltZSgpID09IGV4cGVjdGVkLmdldFRpbWUoKTsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKyAgICBpZiAoQXJyYXkuaXNBcnJheShhY3R1YWwpIHx8IEFycmF5
LmlzQXJyYXkoZXhwZWN0ZWQpKSB7CisgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShhY3R1YWwp
IHx8ICFBcnJheS5pc0FycmF5KGV4cGVjdGVkKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgaWYgKGFjdHVhbC5sZW5ndGggIT0gZXhwZWN0ZWQubGVuZ3RoKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFjdHVhbC5sZW5n
dGg7IGkrKykgeworICAgICAgICAgICAgaWYgKChpIGluIGFjdHVhbCkgXiAoaSBpbiBleHBlY3Rl
ZCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgaWYgKCFlcXVh
bChhY3R1YWxbaV0sIGV4cGVjdGVkW2ldKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGlmIChhY3R1YWwu
Y29uc3RydWN0b3IgIT09IGV4cGVjdGVkLmNvbnN0cnVjdG9yKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgaWYgKCJvYmplY3QiICE9IHR5cGVvZiBhY3R1YWwpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKGFjdHVhbCk7CisgICAgaWYgKCFlcXVh
bChrZXlzLCBPYmplY3Qua2V5cyhleHBlY3RlZCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGlmICgh
ZXF1YWwoYWN0dWFsW2tleXNbaV1dLCBleHBlY3RlZFtrZXlzW2ldXSkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCitmdW5jdGlvbiBzYWZl
VG9TdHJpbmcobykgeworICAgIGlmIChvIGluc3RhbmNlb2YgRGF0ZSkKKyAgICAgICAgcmV0dXJu
IG8udG9JU09TdHJpbmcoKTsKKyAgICBpZiAodHlwZW9mIG8gIT09ICJvYmplY3QiIHx8ICFvKQor
ICAgICAgICByZXR1cm4gbzsKKyAgICB0cnkgeworICAgICAgICByZXR1cm4gby50b1N0cmluZygp
OworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbChvKSArICIoZGVmYXVsdCB0b1N0cmluZyB0aHJldyAiK2UrIikiOworICAgIH0K
K30KKworZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkKK3sKKyAgICB2YXIgYWN0
dWFsVmFsdWUgPSBldmFsKGFjdHVhbCk7CisgICAgdmFyIGV4cGVjdGVkVmFsdWUgPSBldmFsKGV4
cGVjdGVkKTsKKyAgICBpZiAoZXF1YWwoYWN0dWFsVmFsdWUsIGV4cGVjdGVkVmFsdWUpKQorICAg
ICAgICBjb25zb2xlLmlubmVySFRNTCArPSAiUEFTUzogIiArIGFjdHVhbCArICIgaXMgIiArIHNh
ZmVUb1N0cmluZyhleHBlY3RlZFZhbHVlKSArICIgb2YgdHlwZSAiICsgdHlwZW9mIGFjdHVhbFZh
bHVlICsgIjxicj4iOworICAgIGVsc2UKKyAgICAgICAgY29uc29sZS5pbm5lckhUTUwgKz0gIkZB
SUw6ICIgKyBhY3R1YWwgKyAiIGlzICIgKyBhY3R1YWxWYWx1ZSArICIgc2hvdWxkIGJlICIgKyBl
eHBlY3RlZFZhbHVlICsgIiBvZiB0eXBlICIgKyB0eXBlb2YgZXhwZWN0ZWRWYWx1ZSArICI8YnI+
IjsKK30KK3ZhciBpID0gMDsKK3dpbmRvdy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldnQpIHsKKyAg
ICBzaG91bGRCZSgiKGZyYW1lc1swXS50ZXN0c1siK2krIl0pLmV2ZW50RGF0YSBpbnN0YW5jZW9m
IChmcmFtZXNbMF0pLiIrdGVzdHNbaV0uY29uc3RydWN0b3IsICJ0cnVlIik7CisgICAgc2hvdWxk
QmUoIihmcmFtZXNbMF0udGVzdHNbIitpKyJdKS5ldmVudC5kYXRhIGluc3RhbmNlb2YgKGZyYW1l
c1swXSkuIit0ZXN0c1tpXS5jb25zdHJ1Y3RvciwgInRydWUiKTsKKyAgICBpKys7CisgICAgaWYg
KHRlc3RzLmxlbmd0aCA9PT0gaSAmJiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gdHJ5
UG9zdE1lc3NhZ2UobWVzc2FnZSwgY29uc3RydWN0b3IpIHsKKyAgICB0cnkgeworICAgICAgICB2
YXIgdmFsdWUgPSBldmFsKG1lc3NhZ2UpOworICAgICAgICBmcmFtZXNbMF0ucG9zdE1lc3NhZ2Uo
dmFsdWUsICIqIik7CisgICAgICAgIHRlc3RzLnB1c2goe2NvbnN0cnVjdG9yOiBjb25zdHJ1Y3Rv
cn0pOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBjb25zb2xlLmlubmVySFRNTCArPSAiRkFJ
TDogJ3Bvc3RNZXNzYWdlKCIrbWVzc2FnZSsiKScgc2hvdWxkIG5vdCB0aHJvdyBidXQgdGhyZXcg
IiArIGUgKyAiPGJyPiI7CisgICAgfQorfQorCitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVz
Y3JpcHRpb24iKS5pbm5lckhUTUwgPSAiVGVzdHMgdGhhdCB3ZSBjbG9uZSBvYmplY3QgaGllcmFy
Y2hpZXMiOworCitmdW5jdGlvbiBzdGFydFRlc3QoKSB7CisgICAgdHJ5UG9zdE1lc3NhZ2UoJyh7
fSknLCAiT2JqZWN0Iik7CisgICAgdHJ5UG9zdE1lc3NhZ2UoJ1tdJywgIkFycmF5Iik7CisgICAg
dHJ5UG9zdE1lc3NhZ2UoJ25ldyBEYXRlJywgIkRhdGUiKTsKKyAgICB2YXIgZmlsZUlucHV0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGVJbnB1dCIpOworICAgIHZhciBmaWxlUmVjdCA9
IGZpbGVJbnB1dC5nZXRDbGllbnRSZWN0cygpWzBdOworICAgIHZhciB0YXJnZXRYID0gZmlsZVJl
Y3QubGVmdCArIGZpbGVSZWN0LndpZHRoIC8gMjsKKyAgICB2YXIgdGFyZ2V0WSA9IGZpbGVSZWN0
LnRvcCArIGZpbGVSZWN0LmhlaWdodCAvIDI7CisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikg
eworICAgICAgICBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXMoWydnZXQtZmlsZS11cGxv
YWQuaHRtbCddKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8odGFyZ2V0WCwgdGFy
Z2V0WSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICAgICAgdHJ5UG9zdE1l
c3NhZ2UoJ2ZpbGVJbnB1dC5maWxlc1swXScsICJGaWxlIik7CisgICAgICAgIHRyeVBvc3RNZXNz
YWdlKCdmaWxlSW5wdXQuZmlsZXMnLCAiRmlsZUxpc3QiKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggOGJhMTJkMS4uYmM0YjA1MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMC0w
MS0yNyAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lc3NhZ2VFdmVudC5kYXRhIHNob3VsZCBk
ZXNlcmlhbGl6ZSBpbiB0aGUgY29udGV4dCBvZiB0aGUgTWVzc2FnZUV2ZW50J3MgZ2xvYmFsIG9i
amVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQy
MjcKKworICAgICAgICBNYWtlIFNjcmlwdFZhbHVlIGRlc2VyaWFsaXNhdGlvbiBzdXBwb3J0IHRo
ZSBwcm92aXNpb24gb2YgYSBzcGVjaWZpYyBnbG9iYWwKKyAgICAgICAgb2JqZWN0IHRvIHVzZSB3
aGVuIGNyZWF0aW5nIG5ldyBvYmplY3RzLiAgVGhpcyB0aGVuIGFsbG93cyB1cyB0byBtYWtlCisg
ICAgICAgIE1lc3NhZ2VFdmVudC5kYXRhIGFuZCBQb3BTdGF0ZUV2ZW50LnN0YXRlIGRlc2VyaWFs
aXplIGluIHRoZSBjb3JyZWN0CisgICAgICAgIGNvbnRleHQuCisKKyAgICAgICAgVGVzdDogZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1mcmFtZXMuaHRtbAorCisgICAg
ICAgICogYmluZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgICBS
ZW1vdmUgY3VzdG9tIGltcGxlbWVudGF0aW9uIG9mIHN0YXRlIGdldHRlcgorICAgICAgICAqIGJp
bmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
ZXNlcmlhbGl6aW5nVHJlZVdhbGtlcjo6RGVzZXJpYWxpemluZ1RyZWVXYWxrZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6RGVzZXJpYWxpemluZ1RyZWVXYWxrZXI6OmNyZWF0ZU91dHB1dEFycmF5KToK
KyAgICAgICAgKFdlYkNvcmU6OkRlc2VyaWFsaXppbmdUcmVlV2Fsa2VyOjpjcmVhdGVPdXRwdXRP
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6RGVzZXJpYWxpemluZ1RyZWVXYWxrZXI6OmNvbnZl
cnRJZlRlcm1pbmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZURh
dGE6OmRlc2VyaWFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6ZGVzZXJpYWxpemUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjpkZXNlcmlh
bGl6ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06Cisg
ICAgICAgICAgVXBkYXRlIGJpbmRpbmdzIGdlbmVyYXRpb24gdG8gcGFzcyB0aGUgY29ycmVjdCBn
bG9iYWwgb2JqZWN0LCBhbmQgdG8KKyAgICAgICAgICB0cmVhdCAiYW55IiBhcyBzeW5vbnltb3Vz
IHdpdGggU2VyaWFsaXplZFZhbHVlLgorICAgICAgICAqIGRvbS9Qb3BTdGF0ZUV2ZW50LmlkbDoK
KwogMjAxMC0wMS0yNyAgTmljaG9sYXMgWW91bmcgIDxuaWNob2xhcy55b3VuZ0Bub2tpYS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwCmluZGV4IGVlODZhMDkuLjNmNWZkN2UgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcAor
KysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKQEAgLTQ1
LDEzICs0NSw0IEBAIEpTVmFsdWUgSlNQb3BTdGF0ZUV2ZW50Ojppbml0UG9wU3RhdGVFdmVudChF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCiAgICAgcmV0dXJuIGpzVW5kZWZp
bmVkKCk7CiB9CiAKLUpTQzo6SlNWYWx1ZSBKU1BvcFN0YXRlRXZlbnQ6OnN0YXRlKEpTQzo6RXhl
Y1N0YXRlKiBleGVjKSBjb25zdAotewotICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogb2JqZWN0
ID0gc3RhdGljX2Nhc3Q8UG9wU3RhdGVFdmVudCo+KGltcGwoKSktPnN0YXRlKCk7Ci0gICAgaWYg
KCFvYmplY3QpCi0gICAgICAgIHJldHVybiBKU0M6OmpzTnVsbCgpOwotICAgIAotICAgIHJldHVy
biBvYmplY3QtPmRlc2VyaWFsaXplKGV4ZWMpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5j
cHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXgg
MzU3M2UzNS4uYjk3YjZjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmNwcApAQCAtNjEzLDEwICs2MTMsMTAgQEAgc3RydWN0IERlc2VyaWFsaXppbmdU
cmVlV2Fsa2VyIDogcHVibGljIEJhc2VXYWxrZXIgewogICAgIHR5cGVkZWYgSlNPYmplY3QqIE91
dHB1dE9iamVjdDsKICAgICB0eXBlZGVmIFNlcmlhbGl6ZWRPYmplY3Q6OlByb3BlcnR5TmFtZUxp
c3QgUHJvcGVydHlMaXN0OwogCi0gICAgRGVzZXJpYWxpemluZ1RyZWVXYWxrZXIoRXhlY1N0YXRl
KiBleGVjLCBib29sIG11c3RDb3B5KQorICAgIERlc2VyaWFsaXppbmdUcmVlV2Fsa2VyKEV4ZWNT
dGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgYm9vbCBtdXN0Q29weSkK
ICAgICAgICAgOiBCYXNlV2Fsa2VyKGV4ZWMpCi0gICAgICAgICwgbV9nbG9iYWxPYmplY3QoZXhl
Yy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKQotICAgICAgICAsIG1faXNET01HbG9iYWxPYmplY3Qo
bV9nbG9iYWxPYmplY3QtPmluaGVyaXRzKCZKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZvKSkKKyAg
ICAgICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCisgICAgICAgICwgbV9pc0RPTUds
b2JhbE9iamVjdChnbG9iYWxPYmplY3QtPmluaGVyaXRzKCZKU0RPTUdsb2JhbE9iamVjdDo6c19p
bmZvKSkKICAgICAgICAgLCBtX211c3RDb3B5KG11c3RDb3B5KQogICAgIHsKICAgICB9CkBAIC02
NDUsMTQgKzY0NSwxNCBAQCBzdHJ1Y3QgRGVzZXJpYWxpemluZ1RyZWVXYWxrZXIgOiBwdWJsaWMg
QmFzZVdhbGtlciB7CiAKICAgICBKU0FycmF5KiBjcmVhdGVPdXRwdXRBcnJheSh1bnNpZ25lZCBs
ZW5ndGgpCiAgICAgewotICAgICAgICBKU0FycmF5KiBhcnJheSA9IGNvbnN0cnVjdEVtcHR5QXJy
YXkobV9leGVjKTsKKyAgICAgICAgSlNBcnJheSogYXJyYXkgPSBjb25zdHJ1Y3RFbXB0eUFycmF5
KG1fZXhlYywgbV9nbG9iYWxPYmplY3QpOwogICAgICAgICBhcnJheS0+c2V0TGVuZ3RoKGxlbmd0
aCk7CiAgICAgICAgIHJldHVybiBhcnJheTsKICAgICB9CiAKICAgICBKU09iamVjdCogY3JlYXRl
T3V0cHV0T2JqZWN0KCkKICAgICB7Ci0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVj
dChtX2V4ZWMpOworICAgICAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QobV9leGVjLCBt
X2dsb2JhbE9iamVjdCk7CiAgICAgfQogCiAgICAgdWludDMyX3QgbGVuZ3RoKFJlZlB0cjxTZXJp
YWxpemVkQXJyYXk+IGFycmF5KQpAQCAtNjk1LDExICs2OTUsMTEgQEAgc3RydWN0IERlc2VyaWFs
aXppbmdUcmVlV2Fsa2VyIDogcHVibGljIEJhc2VXYWxrZXIgewogICAgICAgICAgICAgY2FzZSBT
ZXJpYWxpemVkU2NyaXB0VmFsdWVEYXRhOjpOdW1iZXJUeXBlOgogICAgICAgICAgICAgICAgIHJl
dHVybiBqc051bWJlcihtX2V4ZWMsIHZhbHVlLmFzRG91YmxlKCkpOwogICAgICAgICAgICAgY2Fz
ZSBTZXJpYWxpemVkU2NyaXB0VmFsdWVEYXRhOjpEYXRlVHlwZToKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gbmV3IChtX2V4ZWMpIERhdGVJbnN0YW5jZShtX2V4ZWMsIHZhbHVlLmFzRG91YmxlKCkp
OworICAgICAgICAgICAgICAgIHJldHVybiBuZXcgKG1fZXhlYykgRGF0ZUluc3RhbmNlKG1fZXhl
YywgbV9nbG9iYWxPYmplY3QtPmRhdGVTdHJ1Y3R1cmUoKSwgdmFsdWUuYXNEb3VibGUoKSk7CiAg
ICAgICAgICAgICBjYXNlIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZURhdGE6OkZpbGVUeXBlOgogICAg
ICAgICAgICAgICAgIGlmICghbV9pc0RPTUdsb2JhbE9iamVjdCkKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIGpzTnVsbCgpOwotICAgICAgICAgICAgICAgIHJldHVybiB0b0pTKG1fZXhlYywg
c3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihtX2V4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKSksIEZpbGU6OmNyZWF0ZSh2YWx1ZS5hc1N0cmluZygpLmNyb3NzVGhyZWFkU3RyaW5nKCkp
KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdG9KUyhtX2V4ZWMsIHN0YXRpY19jYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4obV9nbG9iYWxPYmplY3QpLCBGaWxlOjpjcmVhdGUodmFsdWUuYXNTdHJp
bmcoKS5jcm9zc1RocmVhZFN0cmluZygpKSk7CiAgICAgICAgICAgICBjYXNlIFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZURhdGE6OkZpbGVMaXN0VHlwZTogewogICAgICAgICAgICAgICAgIGlmICghbV9p
c0RPTUdsb2JhbE9iamVjdCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwpA
QCAtNzA4LDcgKzcwOCw3IEBAIHN0cnVjdCBEZXNlcmlhbGl6aW5nVHJlZVdhbGtlciA6IHB1Ymxp
YyBCYXNlV2Fsa2VyIHsKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBzZXJpYWxp
emVkRmlsZUxpc3QtPmxlbmd0aCgpOwogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBsZW5ndGg7IGkrKykKICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQo
RmlsZTo6Y3JlYXRlKHNlcmlhbGl6ZWRGaWxlTGlzdC0+aXRlbShpKSkpOwotICAgICAgICAgICAg
ICAgIHJldHVybiB0b0pTKG1fZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPiht
X2V4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIHJlc3VsdC5nZXQoKSk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIHRvSlMobV9leGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+
KG1fZ2xvYmFsT2JqZWN0KSwgcmVzdWx0LmdldCgpKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIGNhc2UgU2VyaWFsaXplZFNjcmlwdFZhbHVlRGF0YTo6RW1wdHlUeXBlOgogICAgICAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtNzUzLDE1ICs3NTMsMTYgQEAgc3RydWN0
IERlc2VyaWFsaXppbmdUcmVlV2Fsa2VyIDogcHVibGljIEJhc2VXYWxrZXIgewogICAgIH0KIAog
cHJpdmF0ZToKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90KTsKICAgICBKU0dsb2JhbE9i
amVjdCogbV9nbG9iYWxPYmplY3Q7CiAgICAgYm9vbCBtX2lzRE9NR2xvYmFsT2JqZWN0OwogICAg
IGJvb2wgbV9tdXN0Q29weTsKIH07CiAKLUpTVmFsdWUgU2VyaWFsaXplZFNjcmlwdFZhbHVlRGF0
YTo6ZGVzZXJpYWxpemUoRXhlY1N0YXRlKiBleGVjLCBib29sIG11c3RDb3B5KSBjb25zdAorSlNW
YWx1ZSBTZXJpYWxpemVkU2NyaXB0VmFsdWVEYXRhOjpkZXNlcmlhbGl6ZShFeGVjU3RhdGUqIGV4
ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWwsIGJvb2wgbXVzdENvcHkpIGNvbnN0CiB7CiAgICAg
SlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICBEZXNlcmlhbGl6aW5nVHJl
ZVdhbGtlciBjb250ZXh0KGV4ZWMsIG11c3RDb3B5KTsKKyAgICBEZXNlcmlhbGl6aW5nVHJlZVdh
bGtlciBjb250ZXh0KGV4ZWMsIGdsb2JhbCwgbXVzdENvcHkpOwogICAgIHJldHVybiB3YWxrPERl
c2VyaWFsaXppbmdUcmVlV2Fsa2VyPihjb250ZXh0LCAqdGhpcyk7CiB9CiAKQEAgLTkzNiw3ICs5
MzcsNyBAQCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gU2VyaWFsaXplZFNjcmlw
dFZhbHVlOjpjcmVhdGUoSlNDb250ZXh0UmVmIG9yaQogSlNWYWx1ZVJlZiBTZXJpYWxpemVkU2Ny
aXB0VmFsdWU6OmRlc2VyaWFsaXplKEpTQ29udGV4dFJlZiBkZXN0aW5hdGlvbkNvbnRleHQsIEpT
VmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAgICBFeGVjU3RhdGUqIGV4ZWMgPSB0b0pTKGRlc3Rp
bmF0aW9uQ29udGV4dCk7Ci0gICAgSlNWYWx1ZSB2YWx1ZSA9IGRlc2VyaWFsaXplKGV4ZWMpOwor
ICAgIEpTVmFsdWUgdmFsdWUgPSBkZXNlcmlhbGl6ZShleGVjLCBleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkgewogICAgICAgICBpZiAo
ZXhjZXB0aW9uKQogICAgICAgICAgICAgKmV4Y2VwdGlvbiA9IHRvUmVmKGV4ZWMsIGV4ZWMtPmV4
Y2VwdGlvbigpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
CmluZGV4IGQzMTU5ZmMuLjM0N2Q4ZjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMv
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuaApAQCAtNjUsNyArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAgICAgU2VyaWFsaXplZFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQog
ICAgICAgICBzdGF0aWMgU2VyaWFsaXplZFNjcmlwdFZhbHVlRGF0YSBzZXJpYWxpemUoSlNDOjpF
eGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUpOwotICAgICAgICBKU0M6OkpTVmFsdWUgZGVzZXJpYWxp
emUoSlNDOjpFeGVjU3RhdGUqLCBib29sIG11c3RDb3B5KSBjb25zdDsKKyAgICAgICAgSlNDOjpK
U1ZhbHVlIGRlc2VyaWFsaXplKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCos
IGJvb2wgbXVzdENvcHkpIGNvbnN0OwogCiAgICAgICAgIH5TZXJpYWxpemVkU2NyaXB0VmFsdWVE
YXRhKCkKICAgICAgICAgewpAQCAtMTk2LDExICsxOTYsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAgICAgcmV0dXJuIG1fdmFsdWUuYXNTdHJpbmcoKTsKICAgICAgICAgfQogCi0g
ICAgICAgIEpTQzo6SlNWYWx1ZSBkZXNlcmlhbGl6ZShKU0M6OkV4ZWNTdGF0ZSogZXhlYykKKyAg
ICAgICAgSlNDOjpKU1ZhbHVlIGRlc2VyaWFsaXplKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6
OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlm
ICghbV92YWx1ZSkKICAgICAgICAgICAgICAgICByZXR1cm4gSlNDOjpqc051bGwoKTsKLSAgICAg
ICAgICAgIHJldHVybiBtX3ZhbHVlLmRlc2VyaWFsaXplKGV4ZWMsIG1fbXVzdENvcHkpOworICAg
ICAgICAgICAgcmV0dXJuIG1fdmFsdWUuZGVzZXJpYWxpemUoZXhlYywgZ2xvYmFsT2JqZWN0LCBt
X211c3RDb3B5KTsKICAgICAgICAgfQogCiAgICAgICAgIEpTVmFsdWVSZWYgZGVzZXJpYWxpemUo
SlNDb250ZXh0UmVmLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggMTUxZWRmMS4uYjEzNDUzOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xODQ2LDcgKzE4
NDYsNyBAQCBzdWIgSlNWYWx1ZVRvTmF0aXZlCiAgICAgICAgIHJldHVybiAiJHZhbHVlLnRvU3Ry
aW5nKGV4ZWMpIjsKICAgICB9CiAKLSAgICBpZiAoJHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZSIpIHsKKyAgICBpZiAoJHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIgb3IgJHR5
cGUgZXEgImFueSIpIHsKICAgICAgICAgJGltcGxJbmNsdWRlc3siU2VyaWFsaXplZFNjcmlwdFZh
bHVlLmgifSA9IDE7CiAgICAgICAgIHJldHVybiAiU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVh
dGUoZXhlYywgJHZhbHVlKSI7CiAgICAgfQpAQCAtMTk1MSw5ICsxOTUxLDkgQEAgc3ViIE5hdGl2
ZVRvSlNWYWx1ZQogICAgICAgICAkam9pbmVkTmFtZSA9ICR0eXBlOwogICAgICAgICAkam9pbmVk
TmFtZSA9fiBzL0Fic3xSZWwvLzsKICAgICAgICAgJGltcGxJbmNsdWRlc3siJGpvaW5lZE5hbWUu
aCJ9ID0gMTsKLSAgICB9IGVsc2lmICgkdHlwZSBlcSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlIikg
ewotICAgICAgICAkaW1wbEluY2x1ZGVzeyIkdHlwZS5oIn0gPSAxOwotICAgICAgICByZXR1cm4g
IiR2YWx1ZS0+ZGVzZXJpYWxpemUoZXhlYykiOworICAgIH0gZWxzaWYgKCR0eXBlIGVxICJTZXJp
YWxpemVkU2NyaXB0VmFsdWUiIG9yICR0eXBlIGVxICJhbnkiKSB7CisgICAgICAgICRpbXBsSW5j
bHVkZXN7IlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIn0gPSAxOworICAgICAgICByZXR1cm4gIiR2
YWx1ZSA/ICR2YWx1ZS0+ZGVzZXJpYWxpemUoZXhlYywgY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0
KCkpIDoganNOdWxsKCkiOwogICAgIH0gZWxzZSB7CiAgICAgICAgICMgRGVmYXVsdCwgaW5jbHVk
ZSBoZWFkZXIgd2l0aCBzYW1lIG5hbWUuCiAgICAgICAgICRpbXBsSW5jbHVkZXN7IkpTJHR5cGUu
aCJ9ID0gMTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuaWRsIGIvV2Vi
Q29yZS9kb20vUG9wU3RhdGVFdmVudC5pZGwKaW5kZXggYjllZjY5Mi4uZGZhNzdlMyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5pZGwKKysrIGIvV2ViQ29yZS9kb20vUG9w
U3RhdGVFdmVudC5pZGwKQEAgLTMyLDcgKzMyLDcgQEAgbW9kdWxlIGV2ZW50cyB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBjYW5jZWxhYmxlQXJnLCAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBhbnkgc3RhdGVBcmcpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbUdl
dHRlcl0gYW55IHN0YXRlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYW55IHN0YXRlOwog
ICAgIH07CiAKIH0K
</data>
<flag name="review"
          id="30061"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>