<?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>33504</bug_id>
          
          <creation_ts>2010-01-11 17:08:04 -0800</creation_ts>
          <short_desc>[Chromium] Re-work webkit_unit_tests so that WebKit is initialized only once</short_desc>
          <delta_ts>2010-01-13 01:59:49 -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>WebKit Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Fisher (:fishd, Google)">fishd</reporter>
          <assigned_to name="Darin Fisher (:fishd, Google)">fishd</assigned_to>
          <cc>abarth</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yaar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>179620</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-11 17:08:04 -0800</bug_when>
    <thetext>[Chromium] Re-work webkit_unit_tests so that WebKit is initialized only once

It was wrong that I re-initialized WebKit for each test case.  That may cause problems down the road since background threads may try to call through to the WebKitClient.

Instead, we should change to only initialize WebKit once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179621</commentid>
    <comment_count>1</comment_count>
      <attachid>46321</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-11 17:09:13 -0800</bug_when>
    <thetext>Created attachment 46321
v1 patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179623</commentid>
    <comment_count>2</comment_count>
      <attachid>46322</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-11 17:10:52 -0800</bug_when>
    <thetext>Created attachment 46322
v2 patch (adds a comment)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179624</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-11 17:11:27 -0800</bug_when>
    <thetext>Attachment 46321 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
Skipping input &apos;WebKit/chromium/tests/WebKitTest.h&apos;: Can&apos;t open for reading
WebKit/chromium/tests/RunAllTests.cpp:32:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit/chromium/tests/RunAllTests.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
WebKit/chromium/tests/KURLTest.cpp:36:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179626</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-11 17:11:56 -0800</bug_when>
    <thetext>Attachment 46322 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
Skipping input &apos;WebKit/chromium/tests/WebKitTest.h&apos;: Can&apos;t open for reading
WebKit/chromium/tests/RunAllTests.cpp:32:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit/chromium/tests/RunAllTests.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
WebKit/chromium/tests/KURLTest.cpp:36:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179854</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-12 09:42:09 -0800</bug_when>
    <thetext>I&apos;m ignoring those style errors.  The style tool gets confused about header usage in WebKit/chromium/*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179866</commentid>
    <comment_count>6</comment_count>
      <attachid>46322</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-01-12 09:56:29 -0800</bug_when>
    <thetext>Comment on attachment 46322
v2 patch (adds a comment)

ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179875</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-12 10:11:55 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/53144</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180126</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-13 01:59:49 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; I&apos;m ignoring those style errors.  The style tool gets confused about header
&gt; usage in WebKit/chromium/*

Is the issue the lack of config.h?  We should fix the style checker not to be confused.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46321</attachid>
            <date>2010-01-11 17:09:13 -0800</date>
            <delta_ts>2010-01-11 17:10:52 -0800</delta_ts>
            <desc>v1 patch</desc>
            <filename>test_1.txt</filename>
            <type>text/plain</type>
            <size>10736</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1MzExMikKKysrIFdlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wMS0xMSAgRGFy
aW4gRmlzaGVyICA8ZGFyaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gUmUtd29yayB3ZWJraXRfdW5pdF90
ZXN0cyBzbyB0aGF0IFdlYktpdCBpcyBpbml0aWFsaXplZCBvbmx5IG9uY2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzNTA0CisKKyAgICAgICAgKiBX
ZWJLaXQuZ3lwOgorICAgICAgICAqIHRlc3RzL0tVUkxUZXN0LmNwcDoKKyAgICAgICAgKENvbXBv
bmVudENhc2U6OlRFU1QpOgorICAgICAgICAqIHRlc3RzL1J1bkFsbFRlc3RzLmNwcDogQWRkZWQu
CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB0ZXN0cy9XZWJLaXRUZXN0Lmg6IFJlbW92ZWQu
CisKIDIwMTAtMDEtMDkgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9XZWJLaXQu
Z3lwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9u
IDUzMTEyKQorKysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAg
LTQxNyw4ICs0MTcsNyBAQAogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICdzb3VyY2VzJzog
WwogICAgICAgICAgICAgICAgICd0ZXN0cy9LVVJMVGVzdC5jcHAnLAotICAgICAgICAgICAgICAg
ICd0ZXN0cy9XZWJLaXRUZXN0LmgnLAotICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19k
aXIpL2Jhc2UvdGVzdC9ydW5fYWxsX3VuaXR0ZXN0cy5jYycsCisgICAgICAgICAgICAgICAgJ3Rl
c3RzL1J1bkFsbFRlc3RzLmNwcCcsCiAgICAgICAgICAgICBdLAogICAgICAgICB9LAogICAgIF0s
ICMgdGFyZ2V0cwpJbmRleDogV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0tVUkxUZXN0LmNwcA0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS90ZXN0cy9LVVJMVGVzdC5jcHAJKHJldmlzaW9u
IDUzMTEyKQorKysgV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0tVUkxUZXN0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzMsOCArMzMsOSBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKKyNpbmNsdWRl
IDxndGVzdC9ndGVzdC5oPgorCiAjaW5jbHVkZSAiS1VSTC5oIgotI2luY2x1ZGUgIldlYktpdFRl
c3QuaCIKIAogbmFtZXNwYWNlIHsKIApAQCAtNTcsMTEgKzU4LDggQEAgc3RydWN0IENvbXBvbmVu
dENhc2UgewogICAgIGNvbnN0IGNoYXIqIHJlZjsKIH07CiAKLWNsYXNzIEtVUkxUZXN0IDogcHVi
bGljIFdlYktpdFRlc3QgewotfTsKLQogLy8gVGVzdCB0aGUgY2FzZXMgd2hlcmUgd2Ugc2hvdWxk
IGJlIHRoZSBzYW1lIGFzIFdlYktpdCdzIG9sZCBLVVJMLgotVEVTVF9GKEtVUkxUZXN0LCBTYW1l
R2V0dGVycykKK1RFU1QoS1VSTFRlc3QsIFNhbWVHZXR0ZXJzKQogewogICAgIHN0cnVjdCBHZXR0
ZXJDYXNlIHsKICAgICAgICAgY29uc3QgY2hhciogdXJsOwpAQCAtMTE0LDcgKzExMiw3IEBAIFRF
U1RfRihLVVJMVGVzdCwgU2FtZUdldHRlcnMpCiAKIC8vIFRlc3QgYSBmZXcgY2FzZXMgd2hlcmUg
d2UncmUgZGlmZmVyZW50IGp1c3QgdG8gbWFrZSBzdXJlIHdlIGdpdmUgcmVhc29uYWJsZQogLy8g
b3V0cHV0LgotVEVTVF9GKEtVUkxUZXN0LCBEaWZmZXJlbnRHZXR0ZXJzKQorVEVTVChLVVJMVGVz
dCwgRGlmZmVyZW50R2V0dGVycykKIHsKICAgICBDb21wb25lbnRDYXNlIGNhc2VzW10gPSB7CiAg
ICAgICAgIC8vIHVybCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29s
ICAgICAgaG9zdCAgICAgICAgcG9ydCAgdXNlciAgcGFzcyAgICBwYXRoICAgICAgICAgICAgICAg
IGxhc3RQYXRoICBxdWVyeSAgICAgIHJlZgpAQCAtMTU0LDcgKzE1Miw3IEBAIFRFU1RfRihLVVJM
VGVzdCwgRGlmZmVyZW50R2V0dGVycykKIAogLy8gRW5zdXJlcyB0aGF0IGJvdGggQVNDSUkgYW5k
IFVURi04IGNhbm9uaWNhbCBVUkxzIGFyZSBoYW5kbGVkIHByb3Blcmx5IGFuZCB3ZQogLy8gZ2V0
IHRoZSBjb3JyZWN0IHN0cmluZyBvYmplY3Qgb3V0LgotVEVTVF9GKEtVUkxUZXN0LCBVVEY4KQor
VEVTVChLVVJMVGVzdCwgVVRGOCkKIHsKICAgICBjb25zdCBjaGFyIGFzY2lpVVJMW10gPSAiaHR0
cDovL2Zvby9iYXIjYmF6IjsKICAgICBXZWJDb3JlOjpLVVJMIGFzY2lpS1VSTChXZWJDb3JlOjpQ
YXJzZWRVUkxTdHJpbmcsIGFzY2lpVVJMKTsKQEAgLTE3Nyw3ICsxNzUsNyBAQCBURVNUX0YoS1VS
TFRlc3QsIFVURjgpCiAgICAgRVhQRUNUX1RSVUUodXRmOEtVUkwuc3RyaW5nKCkgPT0gV2ViQ29y
ZTo6U3RyaW5nOjpmcm9tVVRGOCh1dGY4VVJMKSk7CiB9CiAKLVRFU1RfRihLVVJMVGVzdCwgU2V0
dGVycykKK1RFU1QoS1VSTFRlc3QsIFNldHRlcnMpCiB7CiAgICAgLy8gUmVwbGFjZSB0aGUgc3Rh
cnRpbmcgVVJMIHdpdGggdGhlIGdpdmVuIGNvbXBvbmVudHMgb25lIGF0IGEgdGltZSBhbmQKICAg
ICAvLyB2ZXJpZnkgdGhhdCB3ZSdyZSBhbHdheXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBLVVJMLgpA
QCAtMjYzLDcgKzI2MSw3IEBAIFRFU1RfRihLVVJMVGVzdCwgU2V0dGVycykKIAogLy8gVGVzdHMg
dGhhdCBLVVJMOjpkZWNvZGVVUkxFc2NhcGVTZXF1ZW5jZXMgd29ya3MgYXMgZXhwZWN0ZWQKICNp
ZiBVU0UoR09PR0xFVVJMKQotVEVTVF9GKEtVUkxUZXN0LCBEZWNvZGUpCitURVNUKEtVUkxUZXN0
LCBEZWNvZGUpCiB7CiAgICAgc3RydWN0IERlY29kZUNhc2UgewogICAgICAgICBjb25zdCBjaGFy
KiBpbnB1dDsKQEAgLTMwMyw3ICszMDEsNyBAQCBURVNUX0YoS1VSTFRlc3QsIERlY29kZSkKIH0K
ICNlbmRpZgogCi1URVNUX0YoS1VSTFRlc3QsIEVuY29kZSkKK1RFU1QoS1VSTFRlc3QsIEVuY29k
ZSkKIHsKICAgICAvLyBBbHNvIHRlc3QgdGhhdCBpdCBnZXRzIGNvbnZlcnRlZCB0byBVVEYtOCBw
cm9wZXJseS4KICAgICBjaGFyMTYgd2lkZUlucHV0SGVscGVyWzNdID0geyAweDRmNjAsIDB4NTk3
ZCwgMCB9OwpAQCAtMzI0LDcgKzMyMiw3IEBAIFRFU1RfRihLVVJMVGVzdCwgRW5jb2RlKQogICAg
IEVYUEVDVF9FUShyZWZlcmVuY2UsIG91dHB1dCk7CiB9CiAKLVRFU1RfRihLVVJMVGVzdCwgUmVz
b2x2ZUVtcHR5KQorVEVTVChLVVJMVGVzdCwgUmVzb2x2ZUVtcHR5KQogewogICAgIFdlYkNvcmU6
OktVUkwgZW1wdHlCYXNlOwogCkBAIC0zNDMsNyArMzQxLDcgQEAgVEVTVF9GKEtVUkxUZXN0LCBS
ZXNvbHZlRW1wdHkpCiAKIC8vIFdlYktpdCB3aWxsIG1ha2UgZW1wdHkgVVJMcyBhbmQgc2V0IGNv
bXBvbmVudHMgb24gdGhlbS4ga3VybCBkb2Vzbid0IGFsbG93CiAvLyByZXBsYWNlbWVudHMgb24g
aW52YWxpZCBVUkxzLCBidXQgaGVyZSB3ZSBkby4KLVRFU1RfRihLVVJMVGVzdCwgUmVwbGFjZUlu
dmFsaWQpCitURVNUKEtVUkxUZXN0LCBSZXBsYWNlSW52YWxpZCkKIHsKICAgICBXZWJDb3JlOjpL
VVJMIGt1cmw7CiAKQEAgLTM5MCw3ICszODgsNyBAQCBURVNUX0YoS1VSTFRlc3QsIFJlcGxhY2VJ
bnZhbGlkKQogI2VuZGlmCiB9CiAKLVRFU1RfRihLVVJMVGVzdCwgUGF0aCkKK1RFU1QoS1VSTFRl
c3QsIFBhdGgpCiB7CiAgICAgY29uc3QgY2hhciBpbml0aWFsW10gPSAiaHR0cDovL3d3dy5nb29n
bGUuY29tL3BhdGgvZm9vIjsKICAgICBXZWJDb3JlOjpLVVJMIGt1cmwoV2ViQ29yZTo6UGFyc2Vk
VVJMU3RyaW5nLCBpbml0aWFsKTsKQEAgLTQwNCw3ICs0MDIsNyBAQCBURVNUX0YoS1VSTFRlc3Qs
IFBhdGgpCiAKIC8vIFRlc3QgdGhhdCBzZXR0aW5nIHRoZSBxdWVyeSB0byBkaWZmZXJlbnQgdGhp
bmdzIHdvcmtzLiBUaHEgcXVlcnkgaXMgaGFuZGxlZAogLy8gYSBsaXR0bGVyIGRpZmZlcmVudGx5
IHRoYW4gc29tZSBvZiB0aGUgb3RoZXIgY29tcG9uZW50cy4KLVRFU1RfRihLVVJMVGVzdCwgUXVl
cnkpCitURVNUKEtVUkxUZXN0LCBRdWVyeSkKIHsKICAgICBjb25zdCBjaGFyIGluaXRpYWxbXSA9
ICJodHRwOi8vd3d3Lmdvb2dsZS5jb20vc2VhcmNoP3E9YXdlc29tZSI7CiAgICAgV2ViQ29yZTo6
S1VSTCBrdXJsKFdlYkNvcmU6OlBhcnNlZFVSTFN0cmluZywgaW5pdGlhbCk7CkBAIC00MzUsNyAr
NDMzLDcgQEAgVEVTVF9GKEtVUkxUZXN0LCBRdWVyeSkKICAgICAgICAgICAgICAgICAga3VybC5z
dHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKIH0KIAotVEVTVF9GKEtVUkxUZXN0LCBSZWYpCitURVNU
KEtVUkxUZXN0LCBSZWYpCiB7CiAgICAgV2ViQ29yZTo6S1VSTCBrdXJsKFdlYkNvcmU6OlBhcnNl
ZFVSTFN0cmluZywgImh0dHA6Ly9mb28vYmFyI2JheiIpOwogCkBAIC00NjQsNyArNDYyLDcgQEAg
VEVTVF9GKEtVUkxUZXN0LCBSZWYpCiAgICAgRVhQRUNUX1NUUkVRKCJodHRwOi8vZm9vL2JhciIs
IGN1ci5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKIH0KIAotVEVTVF9GKEtVUkxUZXN0LCBFbXB0
eSkKK1RFU1QoS1VSTFRlc3QsIEVtcHR5KQogewogICAgIFdlYkNvcmU6OktVUkwga3VybDsKIApA
QCAtNTM3LDcgKzUzNSw3IEBAIFRFU1RfRihLVVJMVGVzdCwgRW1wdHkpCiAgICAgRVhQRUNUX0ZB
TFNFKGt1cmw3LnN0cmluZygpLmlzTnVsbCgpKTsKIH0KIAotVEVTVF9GKEtVUkxUZXN0LCBVc2Vy
UGFzcykKK1RFU1QoS1VSTFRlc3QsIFVzZXJQYXNzKQogewogICAgIGNvbnN0IGNoYXIqIHNyYyA9
ICJodHRwOi8vdXNlcjpwYXNzQGdvb2dsZS5jb20vIjsKICAgICBXZWJDb3JlOjpLVVJMIGt1cmwo
V2ViQ29yZTo6UGFyc2VkVVJMU3RyaW5nLCBzcmMpOwpAQCAtNTU2LDcgKzU1NCw3IEBAIFRFU1Rf
RihLVVJMVGVzdCwgVXNlclBhc3MpCiAgICAgRVhQRUNUX0VRKCJodHRwOi8vZ29vZ2xlLmNvbS8i
LCBrdXJsLnN0cmluZygpKTsKIH0KIAotVEVTVF9GKEtVUkxUZXN0LCBPZmZzZXRzKQorVEVTVChL
VVJMVGVzdCwgT2Zmc2V0cykKIHsKICAgICBjb25zdCBjaGFyKiBzcmMxID0gImh0dHA6Ly91c2Vy
OnBhc3NAZ29vZ2xlLmNvbS9mb28vYmFyLmh0bWw/YmF6PXF1ZXJ5I3JlZiI7CiAgICAgV2ViQ29y
ZTo6S1VSTCBrdXJsMShXZWJDb3JlOjpQYXJzZWRVUkxTdHJpbmcsIHNyYzEpOwpAQCAtNTg2LDcg
KzU4NCw3IEBAIFRFU1RfRihLVVJMVGVzdCwgT2Zmc2V0cykKICAgICBFWFBFQ1RfRVEoMTF1LCBr
dXJsMy5wYXRoQWZ0ZXJMYXN0U2xhc2goKSk7CiB9CiAKLVRFU1RfRihLVVJMVGVzdCwgRGVlcENv
cHkpCitURVNUKEtVUkxUZXN0LCBEZWVwQ29weSkKIHsKICAgICBjb25zdCBjaGFyIHVybFtdID0g
Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iOwogICAgIFdlYkNvcmU6OktVUkwgc3JjKFdlYkNvcmU6
OlBhcnNlZFVSTFN0cmluZywgdXJsKTsKQEAgLTU5OSw3ICs1OTcsNyBAQCBURVNUX0YoS1VSTFRl
c3QsIERlZXBDb3B5KQogICAgIEVYUEVDVF9ORShkZXN0LnV0ZjhTdHJpbmcoKS5kYXRhKCksIHNy
Yy51dGY4U3RyaW5nKCkuZGF0YSgpKTsKIH0KIAotVEVTVF9GKEtVUkxUZXN0LCBQcm90b2NvbElz
KQorVEVTVChLVVJMVGVzdCwgUHJvdG9jb2xJcykKIHsKICAgICBXZWJDb3JlOjpLVVJMIHVybDEo
V2ViQ29yZTo6UGFyc2VkVVJMU3RyaW5nLCAiZm9vOi8vYmFyIik7CiAgICAgRVhQRUNUX1RSVUUo
dXJsMS5wcm90b2NvbElzKCJmb28iKSk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVu
QWxsVGVzdHMuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1J1bkFs
bFRlc3RzLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS90ZXN0cy9SdW5BbGxU
ZXN0cy5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBGSVhNRTogQXZvaWQgdGhp
cyBzb3VyY2UgZGVwZW5kZW5jeSBvbiBDaHJvbWl1bSdzIGJhc2UgbW9kdWxlLgorI2luY2x1ZGUg
PGJhc2UvdGVzdC90ZXN0X3N1aXRlLmg+CisKKyNpbmNsdWRlICJXZWJLaXQuaCIKKyNpbmNsdWRl
ICJXZWJLaXRDbGllbnQuaCIKKworY2xhc3MgRHVtbXlXZWJLaXRDbGllbnQgOiBwdWJsaWMgV2Vi
S2l0OjpXZWJLaXRDbGllbnQgeworfTsKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2
KQoreworICAgIER1bW15V2ViS2l0Q2xpZW50IGR1bW15Q2xpZW50OworICAgIFdlYktpdDo6aW5p
dGlhbGl6ZSgmZHVtbXlDbGllbnQpOworCisgICAgaW50IHJlc3VsdCA9IFRlc3RTdWl0ZShhcmdj
LCBhcmd2KS5SdW4oKTsKKworICAgIFdlYktpdDo6c2h1dGRvd24oKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQoNClByb3BlcnR5IGNoYW5nZXMgb246IFdlYktpdFxjaHJvbWl1bVx0ZXN0c1xSdW5B
bGxUZXN0cy5jcHANCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18NCkFkZGVkOiBzdm46ZW9sLXN0eWxlDQogICArIExGDQoN
CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViS2l0VGVzdC5oDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYktpdFRlc3QuaAkocmV2aXNpb24gNTMxMTIpCisr
KyBXZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViS2l0VGVzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDU3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1l
dDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaWZuZGVmIFdlYktpdFRlc3RfaAotI2RlZmluZSBXZWJLaXRUZXN0X2gKLQot
I2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+Ci0KLSNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRl
ICJXZWJLaXRDbGllbnQuaCIKLQotY2xhc3MgV2ViS2l0VGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpU
ZXN0IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgU2V0VXAoKQotICAgIHsKLSAgICAgICAg
V2ViS2l0Ojppbml0aWFsaXplKCZtX2R1bW15Q2xpZW50KTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFs
IHZvaWQgVGVhckRvd24oKQotICAgIHsKLSAgICAgICAgV2ViS2l0OjpzaHV0ZG93bigpOwotICAg
IH0KLQotcHJpdmF0ZToKLSAgICAvLyBXZWJLaXRDbGllbnQgaGFzIGEgcHJvdGVjdGVkIGRlc3Ry
dWN0b3IsIHNvIHdlIG5lZWQgdG8gc3ViY2xhc3MuCi0gICAgY2xhc3MgRHVtbXlDbGllbnQgOiBw
dWJsaWMgV2ViS2l0OjpXZWJLaXRDbGllbnQge307Ci0gICAgRHVtbXlDbGllbnQgbV9kdW1teUNs
aWVudDsKLX07Ci0KLSNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46322</attachid>
            <date>2010-01-11 17:10:52 -0800</date>
            <delta_ts>2010-01-12 09:56:28 -0800</delta_ts>
            <desc>v2 patch (adds a comment)</desc>
            <filename>test_2.txt</filename>
            <type>text/plain</type>
            <size>10805</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1MzExMikKKysrIFdlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wMS0xMSAgRGFy
aW4gRmlzaGVyICA8ZGFyaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gUmUtd29yayB3ZWJraXRfdW5pdF90
ZXN0cyBzbyB0aGF0IFdlYktpdCBpcyBpbml0aWFsaXplZCBvbmx5IG9uY2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzNTA0CisKKyAgICAgICAgKiBX
ZWJLaXQuZ3lwOgorICAgICAgICAqIHRlc3RzL0tVUkxUZXN0LmNwcDoKKyAgICAgICAgKENvbXBv
bmVudENhc2U6OlRFU1QpOgorICAgICAgICAqIHRlc3RzL1J1bkFsbFRlc3RzLmNwcDogQWRkZWQu
CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB0ZXN0cy9XZWJLaXRUZXN0Lmg6IFJlbW92ZWQu
CisKIDIwMTAtMDEtMDkgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9XZWJLaXQu
Z3lwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9u
IDUzMTEyKQorKysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAg
LTQxNyw4ICs0MTcsNyBAQAogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICdzb3VyY2VzJzog
WwogICAgICAgICAgICAgICAgICd0ZXN0cy9LVVJMVGVzdC5jcHAnLAotICAgICAgICAgICAgICAg
ICd0ZXN0cy9XZWJLaXRUZXN0LmgnLAotICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19k
aXIpL2Jhc2UvdGVzdC9ydW5fYWxsX3VuaXR0ZXN0cy5jYycsCisgICAgICAgICAgICAgICAgJ3Rl
c3RzL1J1bkFsbFRlc3RzLmNwcCcsCiAgICAgICAgICAgICBdLAogICAgICAgICB9LAogICAgIF0s
ICMgdGFyZ2V0cwpJbmRleDogV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0tVUkxUZXN0LmNwcA0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS90ZXN0cy9LVVJMVGVzdC5jcHAJKHJldmlzaW9u
IDUzMTEyKQorKysgV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0tVUkxUZXN0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzMsOCArMzMsOSBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKKyNpbmNsdWRl
IDxndGVzdC9ndGVzdC5oPgorCiAjaW5jbHVkZSAiS1VSTC5oIgotI2luY2x1ZGUgIldlYktpdFRl
c3QuaCIKIAogbmFtZXNwYWNlIHsKIApAQCAtNTcsMTEgKzU4LDggQEAgc3RydWN0IENvbXBvbmVu
dENhc2UgewogICAgIGNvbnN0IGNoYXIqIHJlZjsKIH07CiAKLWNsYXNzIEtVUkxUZXN0IDogcHVi
bGljIFdlYktpdFRlc3QgewotfTsKLQogLy8gVGVzdCB0aGUgY2FzZXMgd2hlcmUgd2Ugc2hvdWxk
IGJlIHRoZSBzYW1lIGFzIFdlYktpdCdzIG9sZCBLVVJMLgotVEVTVF9GKEtVUkxUZXN0LCBTYW1l
R2V0dGVycykKK1RFU1QoS1VSTFRlc3QsIFNhbWVHZXR0ZXJzKQogewogICAgIHN0cnVjdCBHZXR0
ZXJDYXNlIHsKICAgICAgICAgY29uc3QgY2hhciogdXJsOwpAQCAtMTE0LDcgKzExMiw3IEBAIFRF
U1RfRihLVVJMVGVzdCwgU2FtZUdldHRlcnMpCiAKIC8vIFRlc3QgYSBmZXcgY2FzZXMgd2hlcmUg
d2UncmUgZGlmZmVyZW50IGp1c3QgdG8gbWFrZSBzdXJlIHdlIGdpdmUgcmVhc29uYWJsZQogLy8g
b3V0cHV0LgotVEVTVF9GKEtVUkxUZXN0LCBEaWZmZXJlbnRHZXR0ZXJzKQorVEVTVChLVVJMVGVz
dCwgRGlmZmVyZW50R2V0dGVycykKIHsKICAgICBDb21wb25lbnRDYXNlIGNhc2VzW10gPSB7CiAg
ICAgICAgIC8vIHVybCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29s
ICAgICAgaG9zdCAgICAgICAgcG9ydCAgdXNlciAgcGFzcyAgICBwYXRoICAgICAgICAgICAgICAg
IGxhc3RQYXRoICBxdWVyeSAgICAgIHJlZgpAQCAtMTU0LDcgKzE1Miw3IEBAIFRFU1RfRihLVVJM
VGVzdCwgRGlmZmVyZW50R2V0dGVycykKIAogLy8gRW5zdXJlcyB0aGF0IGJvdGggQVNDSUkgYW5k
IFVURi04IGNhbm9uaWNhbCBVUkxzIGFyZSBoYW5kbGVkIHByb3Blcmx5IGFuZCB3ZQogLy8gZ2V0
IHRoZSBjb3JyZWN0IHN0cmluZyBvYmplY3Qgb3V0LgotVEVTVF9GKEtVUkxUZXN0LCBVVEY4KQor
VEVTVChLVVJMVGVzdCwgVVRGOCkKIHsKICAgICBjb25zdCBjaGFyIGFzY2lpVVJMW10gPSAiaHR0
cDovL2Zvby9iYXIjYmF6IjsKICAgICBXZWJDb3JlOjpLVVJMIGFzY2lpS1VSTChXZWJDb3JlOjpQ
YXJzZWRVUkxTdHJpbmcsIGFzY2lpVVJMKTsKQEAgLTE3Nyw3ICsxNzUsNyBAQCBURVNUX0YoS1VS
TFRlc3QsIFVURjgpCiAgICAgRVhQRUNUX1RSVUUodXRmOEtVUkwuc3RyaW5nKCkgPT0gV2ViQ29y
ZTo6U3RyaW5nOjpmcm9tVVRGOCh1dGY4VVJMKSk7CiB9CiAKLVRFU1RfRihLVVJMVGVzdCwgU2V0
dGVycykKK1RFU1QoS1VSTFRlc3QsIFNldHRlcnMpCiB7CiAgICAgLy8gUmVwbGFjZSB0aGUgc3Rh
cnRpbmcgVVJMIHdpdGggdGhlIGdpdmVuIGNvbXBvbmVudHMgb25lIGF0IGEgdGltZSBhbmQKICAg
ICAvLyB2ZXJpZnkgdGhhdCB3ZSdyZSBhbHdheXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBLVVJMLgpA
QCAtMjYzLDcgKzI2MSw3IEBAIFRFU1RfRihLVVJMVGVzdCwgU2V0dGVycykKIAogLy8gVGVzdHMg
dGhhdCBLVVJMOjpkZWNvZGVVUkxFc2NhcGVTZXF1ZW5jZXMgd29ya3MgYXMgZXhwZWN0ZWQKICNp
ZiBVU0UoR09PR0xFVVJMKQotVEVTVF9GKEtVUkxUZXN0LCBEZWNvZGUpCitURVNUKEtVUkxUZXN0
LCBEZWNvZGUpCiB7CiAgICAgc3RydWN0IERlY29kZUNhc2UgewogICAgICAgICBjb25zdCBjaGFy
KiBpbnB1dDsKQEAgLTMwMyw3ICszMDEsNyBAQCBURVNUX0YoS1VSTFRlc3QsIERlY29kZSkKIH0K
ICNlbmRpZgogCi1URVNUX0YoS1VSTFRlc3QsIEVuY29kZSkKK1RFU1QoS1VSTFRlc3QsIEVuY29k
ZSkKIHsKICAgICAvLyBBbHNvIHRlc3QgdGhhdCBpdCBnZXRzIGNvbnZlcnRlZCB0byBVVEYtOCBw
cm9wZXJseS4KICAgICBjaGFyMTYgd2lkZUlucHV0SGVscGVyWzNdID0geyAweDRmNjAsIDB4NTk3
ZCwgMCB9OwpAQCAtMzI0LDcgKzMyMiw3IEBAIFRFU1RfRihLVVJMVGVzdCwgRW5jb2RlKQogICAg
IEVYUEVDVF9FUShyZWZlcmVuY2UsIG91dHB1dCk7CiB9CiAKLVRFU1RfRihLVVJMVGVzdCwgUmVz
b2x2ZUVtcHR5KQorVEVTVChLVVJMVGVzdCwgUmVzb2x2ZUVtcHR5KQogewogICAgIFdlYkNvcmU6
OktVUkwgZW1wdHlCYXNlOwogCkBAIC0zNDMsNyArMzQxLDcgQEAgVEVTVF9GKEtVUkxUZXN0LCBS
ZXNvbHZlRW1wdHkpCiAKIC8vIFdlYktpdCB3aWxsIG1ha2UgZW1wdHkgVVJMcyBhbmQgc2V0IGNv
bXBvbmVudHMgb24gdGhlbS4ga3VybCBkb2Vzbid0IGFsbG93CiAvLyByZXBsYWNlbWVudHMgb24g
aW52YWxpZCBVUkxzLCBidXQgaGVyZSB3ZSBkby4KLVRFU1RfRihLVVJMVGVzdCwgUmVwbGFjZUlu
dmFsaWQpCitURVNUKEtVUkxUZXN0LCBSZXBsYWNlSW52YWxpZCkKIHsKICAgICBXZWJDb3JlOjpL
VVJMIGt1cmw7CiAKQEAgLTM5MCw3ICszODgsNyBAQCBURVNUX0YoS1VSTFRlc3QsIFJlcGxhY2VJ
bnZhbGlkKQogI2VuZGlmCiB9CiAKLVRFU1RfRihLVVJMVGVzdCwgUGF0aCkKK1RFU1QoS1VSTFRl
c3QsIFBhdGgpCiB7CiAgICAgY29uc3QgY2hhciBpbml0aWFsW10gPSAiaHR0cDovL3d3dy5nb29n
bGUuY29tL3BhdGgvZm9vIjsKICAgICBXZWJDb3JlOjpLVVJMIGt1cmwoV2ViQ29yZTo6UGFyc2Vk
VVJMU3RyaW5nLCBpbml0aWFsKTsKQEAgLTQwNCw3ICs0MDIsNyBAQCBURVNUX0YoS1VSTFRlc3Qs
IFBhdGgpCiAKIC8vIFRlc3QgdGhhdCBzZXR0aW5nIHRoZSBxdWVyeSB0byBkaWZmZXJlbnQgdGhp
bmdzIHdvcmtzLiBUaHEgcXVlcnkgaXMgaGFuZGxlZAogLy8gYSBsaXR0bGVyIGRpZmZlcmVudGx5
IHRoYW4gc29tZSBvZiB0aGUgb3RoZXIgY29tcG9uZW50cy4KLVRFU1RfRihLVVJMVGVzdCwgUXVl
cnkpCitURVNUKEtVUkxUZXN0LCBRdWVyeSkKIHsKICAgICBjb25zdCBjaGFyIGluaXRpYWxbXSA9
ICJodHRwOi8vd3d3Lmdvb2dsZS5jb20vc2VhcmNoP3E9YXdlc29tZSI7CiAgICAgV2ViQ29yZTo6
S1VSTCBrdXJsKFdlYkNvcmU6OlBhcnNlZFVSTFN0cmluZywgaW5pdGlhbCk7CkBAIC00MzUsNyAr
NDMzLDcgQEAgVEVTVF9GKEtVUkxUZXN0LCBRdWVyeSkKICAgICAgICAgICAgICAgICAga3VybC5z
dHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKIH0KIAotVEVTVF9GKEtVUkxUZXN0LCBSZWYpCitURVNU
KEtVUkxUZXN0LCBSZWYpCiB7CiAgICAgV2ViQ29yZTo6S1VSTCBrdXJsKFdlYkNvcmU6OlBhcnNl
ZFVSTFN0cmluZywgImh0dHA6Ly9mb28vYmFyI2JheiIpOwogCkBAIC00NjQsNyArNDYyLDcgQEAg
VEVTVF9GKEtVUkxUZXN0LCBSZWYpCiAgICAgRVhQRUNUX1NUUkVRKCJodHRwOi8vZm9vL2JhciIs
IGN1ci5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKIH0KIAotVEVTVF9GKEtVUkxUZXN0LCBFbXB0
eSkKK1RFU1QoS1VSTFRlc3QsIEVtcHR5KQogewogICAgIFdlYkNvcmU6OktVUkwga3VybDsKIApA
QCAtNTM3LDcgKzUzNSw3IEBAIFRFU1RfRihLVVJMVGVzdCwgRW1wdHkpCiAgICAgRVhQRUNUX0ZB
TFNFKGt1cmw3LnN0cmluZygpLmlzTnVsbCgpKTsKIH0KIAotVEVTVF9GKEtVUkxUZXN0LCBVc2Vy
UGFzcykKK1RFU1QoS1VSTFRlc3QsIFVzZXJQYXNzKQogewogICAgIGNvbnN0IGNoYXIqIHNyYyA9
ICJodHRwOi8vdXNlcjpwYXNzQGdvb2dsZS5jb20vIjsKICAgICBXZWJDb3JlOjpLVVJMIGt1cmwo
V2ViQ29yZTo6UGFyc2VkVVJMU3RyaW5nLCBzcmMpOwpAQCAtNTU2LDcgKzU1NCw3IEBAIFRFU1Rf
RihLVVJMVGVzdCwgVXNlclBhc3MpCiAgICAgRVhQRUNUX0VRKCJodHRwOi8vZ29vZ2xlLmNvbS8i
LCBrdXJsLnN0cmluZygpKTsKIH0KIAotVEVTVF9GKEtVUkxUZXN0LCBPZmZzZXRzKQorVEVTVChL
VVJMVGVzdCwgT2Zmc2V0cykKIHsKICAgICBjb25zdCBjaGFyKiBzcmMxID0gImh0dHA6Ly91c2Vy
OnBhc3NAZ29vZ2xlLmNvbS9mb28vYmFyLmh0bWw/YmF6PXF1ZXJ5I3JlZiI7CiAgICAgV2ViQ29y
ZTo6S1VSTCBrdXJsMShXZWJDb3JlOjpQYXJzZWRVUkxTdHJpbmcsIHNyYzEpOwpAQCAtNTg2LDcg
KzU4NCw3IEBAIFRFU1RfRihLVVJMVGVzdCwgT2Zmc2V0cykKICAgICBFWFBFQ1RfRVEoMTF1LCBr
dXJsMy5wYXRoQWZ0ZXJMYXN0U2xhc2goKSk7CiB9CiAKLVRFU1RfRihLVVJMVGVzdCwgRGVlcENv
cHkpCitURVNUKEtVUkxUZXN0LCBEZWVwQ29weSkKIHsKICAgICBjb25zdCBjaGFyIHVybFtdID0g
Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iOwogICAgIFdlYkNvcmU6OktVUkwgc3JjKFdlYkNvcmU6
OlBhcnNlZFVSTFN0cmluZywgdXJsKTsKQEAgLTU5OSw3ICs1OTcsNyBAQCBURVNUX0YoS1VSTFRl
c3QsIERlZXBDb3B5KQogICAgIEVYUEVDVF9ORShkZXN0LnV0ZjhTdHJpbmcoKS5kYXRhKCksIHNy
Yy51dGY4U3RyaW5nKCkuZGF0YSgpKTsKIH0KIAotVEVTVF9GKEtVUkxUZXN0LCBQcm90b2NvbElz
KQorVEVTVChLVVJMVGVzdCwgUHJvdG9jb2xJcykKIHsKICAgICBXZWJDb3JlOjpLVVJMIHVybDEo
V2ViQ29yZTo6UGFyc2VkVVJMU3RyaW5nLCAiZm9vOi8vYmFyIik7CiAgICAgRVhQRUNUX1RSVUUo
dXJsMS5wcm90b2NvbElzKCJmb28iKSk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVu
QWxsVGVzdHMuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1J1bkFs
bFRlc3RzLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS90ZXN0cy9SdW5BbGxU
ZXN0cy5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBGSVhNRTogQXZvaWQgdGhp
cyBzb3VyY2UgZGVwZW5kZW5jeSBvbiBDaHJvbWl1bSdzIGJhc2UgbW9kdWxlLgorI2luY2x1ZGUg
PGJhc2UvdGVzdC90ZXN0X3N1aXRlLmg+CisKKyNpbmNsdWRlICJXZWJLaXQuaCIKKyNpbmNsdWRl
ICJXZWJLaXRDbGllbnQuaCIKKworLy8gV2ViS2l0Q2xpZW50IGhhcyBhIHByb3RlY3RlZCBkZXN0
cnVjdG9yLCBzbyB3ZSBuZWVkIHRvIHN1YmNsYXNzLgorY2xhc3MgRHVtbXlXZWJLaXRDbGllbnQg
OiBwdWJsaWMgV2ViS2l0OjpXZWJLaXRDbGllbnQgeworfTsKKworaW50IG1haW4oaW50IGFyZ2Ms
IGNoYXIqKiBhcmd2KQoreworICAgIER1bW15V2ViS2l0Q2xpZW50IGR1bW15Q2xpZW50OworICAg
IFdlYktpdDo6aW5pdGlhbGl6ZSgmZHVtbXlDbGllbnQpOworCisgICAgaW50IHJlc3VsdCA9IFRl
c3RTdWl0ZShhcmdjLCBhcmd2KS5SdW4oKTsKKworICAgIFdlYktpdDo6c2h1dGRvd24oKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQoNClByb3BlcnR5IGNoYW5nZXMgb246IFdlYktpdFxjaHJvbWl1
bVx0ZXN0c1xSdW5BbGxUZXN0cy5jcHANCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkFkZGVkOiBzdm46ZW9sLXN0eWxl
DQogICArIExGDQoNCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViS2l0VGVzdC5oDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYktpdFRlc3QuaAkocmV2aXNp
b24gNTMxMTIpCisrKyBXZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViS2l0VGVzdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDU3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdlYktpdFRlc3RfaAotI2RlZmluZSBXZWJL
aXRUZXN0X2gKLQotI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+Ci0KLSNpbmNsdWRlICJXZWJLaXQu
aCIKLSNpbmNsdWRlICJXZWJLaXRDbGllbnQuaCIKLQotY2xhc3MgV2ViS2l0VGVzdCA6IHB1Ymxp
YyB0ZXN0aW5nOjpUZXN0IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgU2V0VXAoKQotICAg
IHsKLSAgICAgICAgV2ViS2l0Ojppbml0aWFsaXplKCZtX2R1bW15Q2xpZW50KTsKLSAgICB9Ci0K
LSAgICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKQotICAgIHsKLSAgICAgICAgV2ViS2l0OjpzaHV0
ZG93bigpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICAvLyBXZWJLaXRDbGllbnQgaGFzIGEgcHJv
dGVjdGVkIGRlc3RydWN0b3IsIHNvIHdlIG5lZWQgdG8gc3ViY2xhc3MuCi0gICAgY2xhc3MgRHVt
bXlDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJLaXRDbGllbnQge307Ci0gICAgRHVtbXlDbGll
bnQgbV9kdW1teUNsaWVudDsKLX07Ci0KLSNlbmRpZgo=
</data>
<flag name="review"
          id="28566"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>