<?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>43213</bug_id>
          
          <creation_ts>2010-07-29 14:29:45 -0700</creation_ts>
          <short_desc>ctx.clearRect improperly clears shadow</short_desc>
          <delta_ts>2010-07-30 22:08:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Delaney">mdelaney7</reporter>
          <assigned_to name="Matthew Delaney">mdelaney7</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>257887</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-07-29 14:29:45 -0700</bug_when>
    <thetext>Per the canvas spec: &quot;Shapes are painted without affecting the current path, and are subject to the clipping region, and, with the exception of clearRect(), also shadow effects, global alpha, and global composition operators.&quot;

Currently, we&apos;re clearing the rect properly but also clearing the shadow (and apparently not properly neglecting the rest of the attributes as well).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257975</commentid>
    <comment_count>1</comment_count>
      <attachid>63009</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-07-29 16:45:07 -0700</bug_when>
    <thetext>Created attachment 63009
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258038</commentid>
    <comment_count>2</comment_count>
      <attachid>63009</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-29 20:43:45 -0700</bug_when>
    <thetext>Comment on attachment 63009
Patch

&gt; +    GraphicsContext* c = drawingContext();

I suggest the name &quot;context&quot; here instead of just &quot;c&quot;.

&gt; +    c-&gt;setShadow(FloatSize(width, -height), state().m_shadowBlur, state().m_shadowColor, DeviceColorSpace);

I suggest just passing FloatSize(), 0, and Color::transparent instead of fetching the values we just set in state().

&gt; +    save();
&gt; +    setAllAttributesToDefault();
&gt;      willDraw(rect);
&gt;      c-&gt;clearRect(rect);
&gt; +    restore();

Does this extra work hurt performance? How much?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258342</commentid>
    <comment_count>3</comment_count>
      <attachid>63095</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-07-30 13:09:05 -0700</bug_when>
    <thetext>Created attachment 63095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258344</commentid>
    <comment_count>4</comment_count>
      <attachid>63095</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-30 13:14:05 -0700</bug_when>
    <thetext>Comment on attachment 63095
Patch

&gt; Index: LayoutTests/canvas/philip/tests/2d.composite.operation.clear.html
&gt; ===================================================================
&gt; --- LayoutTests/canvas/philip/tests/2d.composite.operation.clear.html	(revision 64316)
&gt; +++ LayoutTests/canvas/philip/tests/2d.composite.operation.clear.html	(working copy)
&gt; @@ -26,7 +26,7 @@
&gt;  _addTest(function(canvas, ctx) {
&gt;  
&gt;  ctx.globalCompositeOperation = &apos;xor&apos;;
&gt; -ctx.globalCompositeOperation = &apos;clear&apos;;
&gt; +ctx.globalCompositeOperation = &apos;foobar!&apos;;

Changing this test doesn&apos;t make a lot of sense given its name, and is separate from what you&apos;re doing here, so this should not be included in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258348</commentid>
    <comment_count>5</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-07-30 13:24:01 -0700</bug_when>
    <thetext>Sorry, stray file from a different patch.

And on the performance, I&apos;m seeing a different of 2 usec on average for that block of code (save() to restore(), inclusive) increasing from 5 to 7 usec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258349</commentid>
    <comment_count>6</comment_count>
      <attachid>63097</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-07-30 13:24:14 -0700</bug_when>
    <thetext>Created attachment 63097
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258386</commentid>
    <comment_count>7</comment_count>
      <attachid>63097</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-07-30 14:31:29 -0700</bug_when>
    <thetext>Comment on attachment 63097
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258430</commentid>
    <comment_count>8</comment_count>
      <attachid>63097</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-30 15:45:40 -0700</bug_when>
    <thetext>Comment on attachment 63097
Patch

Rejecting patch 63097 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/build-webkit&apos;, &apos;--debug&apos;]&quot; exit_code: 1
Last 500 characters of output:
bin/yacc
    /bin/sh -c /Users/eseidel/Projects/CommitQueue/WebKitBuild/WebCore.build/Debug/WebCore.build/Script-5DF50887116F3077005202AB.sh
** BUILD FAILED **

The following build commands failed:
WebCore:
	Distributed-CompileC /Users/eseidel/Projects/CommitQueue/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/i386/CanvasRenderingContext2D.o /Users/eseidel/Projects/CommitQueue/WebCore/html/canvas/CanvasRenderingContext2D.cpp normal i386 c++ com.apple.compilers.gcc.4_2
(1 failure)


Full output: http://queues.webkit.org/results/3592638</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258433</commentid>
    <comment_count>9</comment_count>
      <attachid>63114</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-07-30 15:58:16 -0700</bug_when>
    <thetext>Created attachment 63114
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258434</commentid>
    <comment_count>10</comment_count>
      <attachid>63114</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-30 16:00:45 -0700</bug_when>
    <thetext>Comment on attachment 63114
Patch

&gt; +    state().m_globalAlpha = (float)1.0;

Our consensus on best practice is to just put &quot;1&quot; in cases like this. If you really want a float, then 1.0f is the way to do it. (float)1.0 is not preferred style.

&gt; +    context-&gt;setAlpha((float)1.0);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258441</commentid>
    <comment_count>11</comment_count>
      <attachid>63115</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-07-30 16:09:40 -0700</bug_when>
    <thetext>Created attachment 63115
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258443</commentid>
    <comment_count>12</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2010-07-30 16:10:19 -0700</bug_when>
    <thetext>Gotcha. Here&apos;s the fix!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258535</commentid>
    <comment_count>13</comment_count>
      <attachid>63115</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-30 22:08:26 -0700</bug_when>
    <thetext>Comment on attachment 63115
Patch

Clearing flags on attachment: 63115

Committed r64407: &lt;http://trac.webkit.org/changeset/64407&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258536</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-30 22:08:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63009</attachid>
            <date>2010-07-29 16:45:07 -0700</date>
            <delta_ts>2010-07-30 13:09:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43213-20100729164505.patch</filename>
            <type>text/plain</type>
            <size>11081</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDMyMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjkgIE1hdHRoZXcgRGVsYW5leSAgPG1kZWxhbmV5QGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBjdHguY2xlYXJSZWN0IGltcHJvcGVybHkgY2xlYXJzIHNoYWRvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMyMTMKKworICAgICAgICBUZXN0czog
Y2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUuaHRtbAor
ICAgICAgICAgICAgICAgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3Qu
YWxwaGEwLmh0bWwKKyAgICAgICAgICAgICAgIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJS
ZWN0K2ZpbGxSZWN0LmJhc2ljLmh0bWwKKworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OnNldEFsbEF0dHJpYnV0ZXNUb0RlZmF1bHQpOgorICAgICAgICBBZGRlZCBhIG5l
dyBtZXRob2QgdG8gd2lwZSBvdXQgYWxsIGNvbnRleHQgYXR0cmlidXRlcyB0byB0aGVpciBkZWZh
dWx0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xlYXJS
ZWN0KToKKyAgICAgICAgVXBkYXRlZCBjbGVhclJlY3QgdG8gaWdub3JlIHNoYWRvdywgYWxwaGEs
IGFuZCBnbG9iYWwgY29tcG9zaXRlIGF0dHJpYnV0ZXMKKyAgICAgICAgd2hlbiBjbGVhcmluZyB0
aGUgaW5wdXQgcmVjdCBhcyBwZXIgdGhlIGNhbnZhcyBzcGVjLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oOgorCiAyMDEwLTA3LTI5ICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaXJr
IFNjaHVsemUuCkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA2NDMxNikKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY0LDYgKzE2
NCwyNSBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6cmVzdG9yZSgpCiAgICAgYy0+
cmVzdG9yZSgpOwogfQogCit2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c2V0QWxsQXR0
cmlidXRlc1RvRGVmYXVsdCgpIAoreworICAgIHN0YXRlKCkubV9nbG9iYWxBbHBoYSA9IDEuMDsK
KyAgICBzdGF0ZSgpLm1fc2hhZG93T2Zmc2V0ID0gRmxvYXRTaXplKCk7CisgICAgc3RhdGUoKS5t
X3NoYWRvd0JsdXIgPSAwOworICAgIHN0YXRlKCkubV9zaGFkb3dDb2xvciA9IENvbG9yOjp0cmFu
c3BhcmVudDsKKyAgICBzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlID0gQ29tcG9zaXRlU291cmNl
T3ZlcjsKKworICAgIEdyYXBoaWNzQ29udGV4dCogYyA9IGRyYXdpbmdDb250ZXh0KCk7CisgICAg
aWYgKCFjKQorICAgICAgICByZXR1cm47CisKKyAgICBmbG9hdCB3aWR0aCA9IHN0YXRlKCkubV9z
aGFkb3dPZmZzZXQud2lkdGgoKTsKKyAgICBmbG9hdCBoZWlnaHQgPSBzdGF0ZSgpLm1fc2hhZG93
T2Zmc2V0LmhlaWdodCgpOworICAgIGMtPnNldFNoYWRvdyhGbG9hdFNpemUod2lkdGgsIC1oZWln
aHQpLCBzdGF0ZSgpLm1fc2hhZG93Qmx1ciwgc3RhdGUoKS5tX3NoYWRvd0NvbG9yLCBEZXZpY2VD
b2xvclNwYWNlKTsKKyAgICBjLT5zZXRBbHBoYSgxLjApOworICAgIGMtPnNldENvbXBvc2l0ZU9w
ZXJhdGlvbihDb21wb3NpdGVTb3VyY2VPdmVyKTsKK30KKwogQ2FudmFzU3R5bGUqIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRDo6c3Ryb2tlU3R5bGUoKSBjb25zdAogewogICAgIHJldHVybiBzdGF0
ZSgpLm1fc3Ryb2tlU3R5bGUuZ2V0KCk7CkBAIC03OTYsOCArODE1LDEyIEBAIHZvaWQgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjpjbGVhclJlY3QKICAgICBpZiAoIXN0YXRlKCkubV9pbnZlcnRp
YmxlQ1RNKQogICAgICAgICByZXR1cm47CiAgICAgRmxvYXRSZWN0IHJlY3QoeCwgeSwgd2lkdGgs
IGhlaWdodCk7CisKKyAgICBzYXZlKCk7CisgICAgc2V0QWxsQXR0cmlidXRlc1RvRGVmYXVsdCgp
OwogICAgIHdpbGxEcmF3KHJlY3QpOwogICAgIGMtPmNsZWFyUmVjdChyZWN0KTsKKyAgICByZXN0
b3JlKCk7CiB9CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmaWxsUmVjdChmbG9h
dCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KQpJbmRleDogV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oCShyZXZpc2lvbiA2NDMx
NikKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgJKHdv
cmtpbmcgY29weSkKQEAgLTEwNCw2ICsxMDQsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNhdmUo
KTsKICAgICB2b2lkIHJlc3RvcmUoKTsKKyAgICB2b2lkIHNldEFsbEF0dHJpYnV0ZXNUb0RlZmF1
bHQoKTsKIAogICAgIHZvaWQgc2NhbGUoZmxvYXQgc3gsIGZsb2F0IHN5KTsKICAgICB2b2lkIHJv
dGF0ZShmbG9hdCBhbmdsZUluUmFkaWFucyk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NDMyMCkKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisy
MDEwLTA3LTI5ICBNYXR0aGV3IERlbGFuZXkgIDxtZGVsYW5leUBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgY3R4LmNsZWFyUmVjdCBp
bXByb3Blcmx5IGNsZWFycyBzaGFkb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzMjEzCisKKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAuNS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJS
ZWN0K2ZpbGxSZWN0LmFscGhhMC41Lmh0bWw6IEFkZGVkLgorICAgICAgICBTYW1lIGFzIGFib3Zl
IGJ1dCB3aXRoIGFscGhhIG9mIG9uZSBoYWxmLgorICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVz
dHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVz
dHMgdGhhdCBjbGVhcmluZyByZWN0IHdpdGggYWxwaGEgb3IgMCBoYXMgbm8gdW53YW50ZWQgc2lk
ZS1lZmZlY3RzCisgICAgICAgICogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmls
bFJlY3QuYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlw
L3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy5odG1sOiBBZGRlZC4KKyAgICAgICAg
VGVzdHMgY2xlYXJpbmcgYSByZWN0IGFuZCB0aGVuIGZpbGxpbmcgYmFjayBvdmVyIGRvZXNuJ3Qg
c2hvdyBhbnkKKyAgICAgICAgc2lkZSBlZmZlY3RzIChzdWNoIGFzIGNhdXNlZCBieSBub3QgaWdu
b3JpbmcvcmVzdG9yaW5nIGFwcHJvcHJpYXRlCisgICAgICAgIGNvbnRleHQgYXR0cmlidXRlcyku
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6IHVuc2tpcHBpbmcgbm93IHBhc3Npbmcg
dGVzdAorCiAyMDEwLTA3LTI4ICBEdW1pdHJ1IERhbmlsaXVjICA8ZHVtaUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCkluZGV4OiBMYXlvdXRUZXN0cy9j
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xl
YXJSZWN0K2ZpbGxSZWN0LmFscGhhMC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcgQEAKK1tpbmRleF0KKzJkLmNs
ZWFyUmVjdAorZmlsbFJlY3QgcHJlY2VkZWQgYnkgYSBjbGVhclJlY3QgKGN0eC5nbG9iYWxBbHBo
YSA9IDAuMCkgb24gdGhlIHNhbWUgYXJlYSBzaG91bGQgc2hvdyBubyBzaWRlIGVmZmVjdHMKK1Jl
ZmVyZW5jZXM6IDJkLmNsZWFyUmVjdAorQWN0dWFsIG91dHB1dDoKK0V4cGVjdGVkIG91dHB1dDoK
K1Bhc3NlZApJbmRleDogTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJl
Y3QrZmlsbFJlY3QuYWxwaGEwLjUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC41LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVz
dHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC41LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw4IEBACitbaW5kZXhdCisyZC5jbGVhclJlY3QKK2ZpbGxSZWN0IHByZWNl
ZGVkIGJ5IGEgY2xlYXJSZWN0IChjdHguZ2xvYmFsQWxwaGEgPSAwLjUpIG9uIHRoZSBzYW1lIGFy
ZWEgc2hvdWxkIHNob3cgbm8gc2lkZSBlZmZlY3RzCitSZWZlcmVuY2VzOiAyZC5jbGVhclJlY3QK
K0FjdHVhbCBvdXRwdXQ6CitFeHBlY3RlZCBvdXRwdXQ6CisKK1Bhc3NlZApJbmRleDogTGF5b3V0
VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNs
ZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAuNS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+
Q2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAuNTwvdGl0bGU+Cis8c2Ny
aXB0IHNyYz0iLi4vdGVzdHMuanMiPjwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi90ZXN0cy5jc3MiPgorPGJvZHkgY2xhc3M9InNob3dfb3V0cHV0Ij4KKzxwPgorIDxh
IGhyZWY9ImluZGV4Lmh0bWwiPltpbmRleF08L2E+Cis8aDE+PGEgaHJlZj0iaW5kZXguMmQuaHRt
bCI+MmQ8L2E+LjxhIGhyZWY9ImluZGV4LjJkLmNsZWFyUmVjdC5odG1sIj5jbGVhclJlY3Q8L2E+
PC9oMT4KKzxwIGNsYXNzPSJkZXNjIj5maWxsUmVjdCBwcmVjZWRlZCBieSBhIGNsZWFyUmVjdCAo
Y3R4Lmdsb2JhbEFscGhhID0gMC41KSBvbiB0aGUgc2FtZSBhcmVhIHNob3VsZCBzaG93IG5vIHNp
ZGUgZWZmZWN0czwvcD4KKzxkaXYgY2xhc3M9InJlZnMiPlJlZmVyZW5jZXM6Cis8dWw+Cis8bGk+
PGEgaHJlZj0ic3BlYy5odG1sI3Rlc3RyZWZzLjJkLmNsZWFyUmVjdCI+MmQuY2xlYXJSZWN0PC9h
PgorPC91bD4KKzwvZGl2PgorCis8cCBjbGFzcz0ib3V0cHV0Ij5BY3R1YWwgb3V0cHV0OjwvcD4K
KzxjYW52YXMgaWQ9ImMiIGNsYXNzPSJvdXRwdXQiIHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiPjxw
IGNsYXNzPSJmYWxsYmFjayI+RkFJTCAoZmFsbGJhY2sgY29udGVudCk8L3A+PC9jYW52YXM+Cis8
cCBjbGFzcz0ib3V0cHV0IGV4cGVjdGVkdGV4dCI+RXhwZWN0ZWQgb3V0cHV0OjxwPjxpbWcgc3Jj
PSJncmVlbi0xMDB4NTAucG5nIiBjbGFzcz0ib3V0cHV0IGV4cGVjdGVkIiBpZD0iZXhwZWN0ZWQi
IGFsdD0iIj4KKzx1bCBpZD0iZCI+PC91bD4KKzxzY3JpcHQ+CitfYWRkVGVzdChmdW5jdGlvbihj
YW52YXMsIGN0eCkgeworCitjdHguZmlsbFN0eWxlID0gJyNmMDAnOworY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOworY3R4Lmdsb2JhbEFscGhhID0gMC41OworY3R4LmNsZWFyUmVjdCgwLCAw
LCAxMDAsIDUwKTsKK2N0eC5nbG9iYWxBbHBoYSA9IDEuMDsKK2N0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CitfYXNzZXJ0UGl4ZWwoY2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworCisKK30pOworPC9z
Y3JpcHQ+CisKSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJS
ZWN0K2ZpbGxSZWN0LmFscGhhMC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZh
cy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmls
bFJlY3QuYWxwaGEwLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPHRpdGxlPkNhbnZhcyB0ZXN0OiAyZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEw
PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi90ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rlc3RzLmNzcyI+Cis8Ym9keSBjbGFzcz0ic2hvd19vdXRw
dXQiPgorPHA+CisgPGEgaHJlZj0iaW5kZXguaHRtbCI+W2luZGV4XTwvYT4KKzxoMT48YSBocmVm
PSJpbmRleC4yZC5odG1sIj4yZDwvYT4uPGEgaHJlZj0iaW5kZXguMmQuY2xlYXJSZWN0Lmh0bWwi
PmNsZWFyUmVjdDwvYT48L2gxPgorPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IHByZWNlZGVkIGJ5
IGEgY2xlYXJSZWN0IChjdHguZ2xvYmFsQWxwaGEgPSAwLjApIG9uIHRoZSBzYW1lIGFyZWEgc2hv
dWxkIHNob3cgbm8gc2lkZSBlZmZlY3RzPC9wPjxkaXYgY2xhc3M9InJlZnMiPgorPGRpdiBjbGFz
cz0icmVmcyI+UmVmZXJlbmNlczoKKzx1bD4KKzxsaT48YSBocmVmPSJzcGVjLmh0bWwjdGVzdHJl
ZnMuMmQuY2xlYXJSZWN0Ij4yZC5jbGVhclJlY3Q8L2E+Cis8L3VsPgorPC9kaXY+CisKKworPHAg
Y2xhc3M9Im91dHB1dCI+QWN0dWFsIG91dHB1dDo8L3A+Cis8Y2FudmFzIGlkPSJjIiBjbGFzcz0i
b3V0cHV0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj48cCBjbGFzcz0iZmFsbGJhY2siPkZBSUwg
KGZhbGxiYWNrIGNvbnRlbnQpPC9wPjwvY2FudmFzPgorPHAgY2xhc3M9Im91dHB1dCBleHBlY3Rl
ZHRleHQiPkV4cGVjdGVkIG91dHB1dDo8cD48aW1nIHNyYz0iZ3JlZW4tMTAweDUwLnBuZyIgY2xh
c3M9Im91dHB1dCBleHBlY3RlZCIgaWQ9ImV4cGVjdGVkIiBhbHQ9IiI+Cis8dWwgaWQ9ImQiPjwv
dWw+Cis8c2NyaXB0PgorX2FkZFRlc3QoZnVuY3Rpb24oY2FudmFzLCBjdHgpIHsKKworY3R4LmZp
bGxTdHlsZSA9ICcjZjAwJzsKK2N0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKK2N0eC5nbG9i
YWxBbHBoYSA9IDAuMDsKK2N0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CitjdHguZ2xvYmFs
QWxwaGEgPSAxLjA7CitjdHguZmlsbFN0eWxlID0gJyMwZjAnOworY3R4LmZpbGxSZWN0KDAsIDAs
IDEwMCwgNTApOworX2Fzc2VydFBpeGVsKGNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAs
MjUiLCAiMCwyNTUsMCwyNTUiKTsKKworCit9KTsKKzwvc2NyaXB0PgorCkluZGV4OiBMYXlvdXRU
ZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8y
ZC5jbGVhclJlY3QrZmlsbFJlY3QuYmFzaWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYmFz
aWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDggQEAKK1tpbmRleF0KKzJk
LmNsZWFyUmVjdAorZmlsbFJlY3QgcHJlY2VkZWQgYnkgYSBjbGVhclJlY3Qgb24gdGhlIHNhbWUg
YXJlYSBzaG91bGQgc2hvdyBubyBzaWRlIGVmZmVjdHMKK1JlZmVyZW5jZXM6IDJkLmNsZWFyUmVj
dAorQWN0dWFsIG91dHB1dDoKK0V4cGVjdGVkIG91dHB1dDoKKworUGFzc2VkCkluZGV4OiBMYXlv
dXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xl
YXJSZWN0K2ZpbGxSZWN0LmJhc2ljLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9j
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDMzIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DYW52YXMg
dGVzdDogMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmJhc2ljPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIu
Li90ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rl
c3RzLmNzcyI+Cis8Ym9keSBjbGFzcz0ic2hvd19vdXRwdXQiPgorPHA+CisgPGEgaHJlZj0iaW5k
ZXguaHRtbCI+W2luZGV4XTwvYT4KKzxoMT48YSBocmVmPSJpbmRleC4yZC5odG1sIj4yZDwvYT4u
PGEgaHJlZj0iaW5kZXguMmQuY2xlYXJSZWN0Lmh0bWwiPmNsZWFyUmVjdDwvYT48L2gxPgorPHAg
Y2xhc3M9ImRlc2MiPmZpbGxSZWN0IHByZWNlZGVkIGJ5IGEgY2xlYXJSZWN0IG9uIHRoZSBzYW1l
IGFyZWEgc2hvdWxkIHNob3cgbm8gc2lkZSBlZmZlY3RzPC9wPgorPGRpdiBjbGFzcz0icmVmcyI+
UmVmZXJlbmNlczoKKzx1bD4KKzxsaT48YSBocmVmPSJzcGVjLmh0bWwjdGVzdHJlZnMuMmQuY2xl
YXJSZWN0Ij4yZC5jbGVhclJlY3Q8L2E+Cis8L3VsPgorPC9kaXY+CisKKzxwIGNsYXNzPSJvdXRw
dXQiPkFjdHVhbCBvdXRwdXQ6PC9wPgorPGNhbnZhcyBpZD0iYyIgY2xhc3M9Im91dHB1dCIgd2lk
dGg9IjEwMCIgaGVpZ2h0PSI1MCI+PHAgY2xhc3M9ImZhbGxiYWNrIj5GQUlMIChmYWxsYmFjayBj
b250ZW50KTwvcD48L2NhbnZhcz4KKzxwIGNsYXNzPSJvdXRwdXQgZXhwZWN0ZWR0ZXh0Ij5FeHBl
Y3RlZCBvdXRwdXQ6PHA+PGltZyBzcmM9ImdyZWVuLTEwMHg1MC5wbmciIGNsYXNzPSJvdXRwdXQg
ZXhwZWN0ZWQiIGlkPSJleHBlY3RlZCIgYWx0PSIiPgorPHVsIGlkPSJkIj48L3VsPgorPHNjcmlw
dD4KK19hZGRUZXN0KGZ1bmN0aW9uKGNhbnZhcywgY3R4KSB7CisKK2N0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CitjdHguY2xlYXJSZWN0KDAsIDAs
IDEwMCwgNTApOworY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKK2N0eC5maWxsUmVjdCgwLCAwLCAx
MDAsIDUwKTsKK19hc3NlcnRQaXhlbChjYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1
IiwgIjAsMjU1LDAsMjU1Iik7CisKKworfSk7Cis8L3NjcmlwdD4KKwpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDY0MzE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTE2NSw3ICsxNjUsNiBAQCBzY3JvbGxiYXJz
L3Njcm9sbGJhci1jbGljay1kb2VzLW5vdC1ibHVyCiAjIEZhaWxpbmcgY2FudmFzIHRlc3QgY2Fz
ZXMgZnJvbSBodHRwOi8vcGhpbGlwLmh0bWw1Lm9yZy90ZXN0cy9jYW52YXMvc3VpdGUvdGVzdHMv
CiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRyYXdJbWFnZS5icm9rZW4uaHRtbAogY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC5wYXRoLmNsaXAuZW1wdHkuaHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy8y
ZC5jbGVhclJlY3Quc2hhZG93Lmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRl
Lm9wZXJhdGlvbi5jbGVhci5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5v
cGVyYXRpb24uZGFya2VyLmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLm9w
ZXJhdGlvbi5oaWdobGlnaHQuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63095</attachid>
            <date>2010-07-30 13:09:05 -0700</date>
            <delta_ts>2010-07-30 13:24:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43213-20100730130904.patch</filename>
            <type>text/plain</type>
            <size>11809</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDMyMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjkgIE1hdHRoZXcgRGVsYW5leSAgPG1kZWxhbmV5QGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBjdHguY2xlYXJSZWN0IGltcHJvcGVybHkgY2xlYXJzIHNoYWRvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMyMTMKKworICAgICAgICBUZXN0czog
Y2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUuaHRtbAor
ICAgICAgICAgICAgICAgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3Qu
YWxwaGEwLmh0bWwKKyAgICAgICAgICAgICAgIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJS
ZWN0K2ZpbGxSZWN0LmJhc2ljLmh0bWwKKworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OnNldEFsbEF0dHJpYnV0ZXNUb0RlZmF1bHQpOgorICAgICAgICBBZGRlZCBhIG5l
dyBtZXRob2QgdG8gd2lwZSBvdXQgYWxsIGNvbnRleHQgYXR0cmlidXRlcyB0byB0aGVpciBkZWZh
dWx0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xlYXJS
ZWN0KToKKyAgICAgICAgVXBkYXRlZCBjbGVhclJlY3QgdG8gaWdub3JlIHNoYWRvdywgYWxwaGEs
IGFuZCBnbG9iYWwgY29tcG9zaXRlIGF0dHJpYnV0ZXMKKyAgICAgICAgd2hlbiBjbGVhcmluZyB0
aGUgaW5wdXQgcmVjdCB0byBtYXRjaCB0aGUgY2FudmFzIHNwZWMuCisgICAgICAgICogaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6CisKIDIwMTAtMDctMjkgIE1hcnRpbiBS
b2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERp
cmsgU2NodWx6ZS4KSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5jcHAJKHJldmlzaW9uIDY0MzE2KQorKysgV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjQsNiAr
MTY0LDIzIEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpyZXN0b3JlKCkKICAgICBj
LT5yZXN0b3JlKCk7CiB9CiAKK3ZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRBbGxB
dHRyaWJ1dGVzVG9EZWZhdWx0KCkgCit7CisgICAgc3RhdGUoKS5tX2dsb2JhbEFscGhhID0gMS4w
OworICAgIHN0YXRlKCkubV9zaGFkb3dPZmZzZXQgPSBGbG9hdFNpemUoKTsKKyAgICBzdGF0ZSgp
Lm1fc2hhZG93Qmx1ciA9IDA7CisgICAgc3RhdGUoKS5tX3NoYWRvd0NvbG9yID0gQ29sb3I6OnRy
YW5zcGFyZW50OworICAgIHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPSBDb21wb3NpdGVTb3Vy
Y2VPdmVyOworCisgICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0ID0gZHJhd2luZ0NvbnRleHQo
KTsKKyAgICBpZiAoIWNvbnRleHQpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbnRleHQtPnNl
dFNoYWRvdyhGbG9hdFNpemUoKSwgMCwgQ29sb3I6OnRyYW5zcGFyZW50LCBEZXZpY2VDb2xvclNw
YWNlKTsKKyAgICBjb250ZXh0LT5zZXRBbHBoYSgxLjApOworICAgIGNvbnRleHQtPnNldENvbXBv
c2l0ZU9wZXJhdGlvbihDb21wb3NpdGVTb3VyY2VPdmVyKTsKK30KKwogQ2FudmFzU3R5bGUqIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c3Ryb2tlU3R5bGUoKSBjb25zdAogewogICAgIHJldHVy
biBzdGF0ZSgpLm1fc3Ryb2tlU3R5bGUuZ2V0KCk7CkBAIC03OTAsMTQgKzgwNywxOCBAQCB2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xlYXJSZWN0CiB7CiAgICAgaWYgKCF2YWxpZGF0
ZVJlY3RGb3JDYW52YXMoeCwgeSwgd2lkdGgsIGhlaWdodCkpCiAgICAgICAgIHJldHVybjsKLSAg
ICBHcmFwaGljc0NvbnRleHQqIGMgPSBkcmF3aW5nQ29udGV4dCgpOwotICAgIGlmICghYykKKyAg
ICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBkcmF3aW5nQ29udGV4dCgpOworICAgIGlmICgh
Y29udGV4dCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVD
VE0pCiAgICAgICAgIHJldHVybjsKICAgICBGbG9hdFJlY3QgcmVjdCh4LCB5LCB3aWR0aCwgaGVp
Z2h0KTsKKworICAgIHNhdmUoKTsKKyAgICBzZXRBbGxBdHRyaWJ1dGVzVG9EZWZhdWx0KCk7CiAg
ICAgd2lsbERyYXcocmVjdCk7Ci0gICAgYy0+Y2xlYXJSZWN0KHJlY3QpOworICAgIGNvbnRleHQt
PmNsZWFyUmVjdChyZWN0KTsKKyAgICByZXN0b3JlKCk7CiB9CiAKIHZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjpmaWxsUmVjdChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxv
YXQgaGVpZ2h0KQpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5oCShyZXZpc2lvbiA2NDMxNikKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw2ICsxMDQsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHNhdmUoKTsKICAgICB2b2lkIHJlc3RvcmUoKTsKKyAgICB2
b2lkIHNldEFsbEF0dHJpYnV0ZXNUb0RlZmF1bHQoKTsKIAogICAgIHZvaWQgc2NhbGUoZmxvYXQg
c3gsIGZsb2F0IHN5KTsKICAgICB2b2lkIHJvdGF0ZShmbG9hdCBhbmdsZUluUmFkaWFucyk7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiA2NDMyMCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDEwLTA3LTI5ICBNYXR0aGV3IERlbGFuZXkgIDxt
ZGVsYW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgY3R4LmNsZWFyUmVjdCBpbXByb3Blcmx5IGNsZWFycyBzaGFkb3cKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzMjEzCisKKyAgICAg
ICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFy
UmVjdCtmaWxsUmVjdC5hbHBoYTAuNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNh
bnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC41Lmh0bWw6IEFk
ZGVkLgorICAgICAgICBTYW1lIGFzIGFib3ZlIGJ1dCB3aXRoIGFscGhhIG9mIG9uZSBoYWxmLgor
ICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhh
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVzdHMgdGhhdCBjbGVhcmluZyByZWN0IHdpdGggYWxw
aGEgb3IgMCBoYXMgbm8gdW53YW50ZWQgc2lkZS1lZmZlY3RzCisgICAgICAgICogY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5i
YXNpYy5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVzdHMgY2xlYXJpbmcgYSByZWN0IGFuZCB0aGVu
IGZpbGxpbmcgYmFjayBvdmVyIGRvZXNuJ3Qgc2hvdyBhbnkKKyAgICAgICAgc2lkZSBlZmZlY3Rz
IChzdWNoIGFzIGNhdXNlZCBieSBub3QgaWdub3JpbmcvcmVzdG9yaW5nIGFwcHJvcHJpYXRlCisg
ICAgICAgIGNvbnRleHQgYXR0cmlidXRlcykuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBw
ZWQ6IHVuc2tpcHBpbmcgbm93IHBhc3NpbmcgdGVzdAorCiAyMDEwLTA3LTI4ICBEdW1pdHJ1IERh
bmlsaXVjICA8ZHVtaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQg
TGV2aW4uCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVj
dCtmaWxsUmVjdC5hbHBoYTAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDcgQEAKK1tpbmRleF0KKzJkLmNsZWFyUmVjdAorZmlsbFJlY3QgcHJlY2VkZWQgYnkg
YSBjbGVhclJlY3QgKGN0eC5nbG9iYWxBbHBoYSA9IDAuMCkgb24gdGhlIHNhbWUgYXJlYSBzaG91
bGQgc2hvdyBubyBzaWRlIGVmZmVjdHMKK1JlZmVyZW5jZXM6IDJkLmNsZWFyUmVjdAorQWN0dWFs
IG91dHB1dDoKK0V4cGVjdGVkIG91dHB1dDoKK1Bhc3NlZApJbmRleDogTGF5b3V0VGVzdHMvY2Fu
dmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xl
YXJSZWN0K2ZpbGxSZWN0LmFscGhhMC41LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhh
MC41LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4IEBACitbaW5kZXhdCisy
ZC5jbGVhclJlY3QKK2ZpbGxSZWN0IHByZWNlZGVkIGJ5IGEgY2xlYXJSZWN0IChjdHguZ2xvYmFs
QWxwaGEgPSAwLjUpIG9uIHRoZSBzYW1lIGFyZWEgc2hvdWxkIHNob3cgbm8gc2lkZSBlZmZlY3Rz
CitSZWZlcmVuY2VzOiAyZC5jbGVhclJlY3QKK0FjdHVhbCBvdXRwdXQ6CitFeHBlY3RlZCBvdXRw
dXQ6CisKK1Bhc3NlZApJbmRleDogTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5j
bGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAuNS5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVh
clJlY3QrZmlsbFJlY3QuYWxwaGEwLjUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdCtmaWxs
UmVjdC5hbHBoYTAuNTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iLi4vdGVzdHMuanMiPjwvc2NyaXB0
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi90ZXN0cy5jc3MiPgorPGJvZHkgY2xh
c3M9InNob3dfb3V0cHV0Ij4KKzxwPgorIDxhIGhyZWY9ImluZGV4Lmh0bWwiPltpbmRleF08L2E+
Cis8aDE+PGEgaHJlZj0iaW5kZXguMmQuaHRtbCI+MmQ8L2E+LjxhIGhyZWY9ImluZGV4LjJkLmNs
ZWFyUmVjdC5odG1sIj5jbGVhclJlY3Q8L2E+PC9oMT4KKzxwIGNsYXNzPSJkZXNjIj5maWxsUmVj
dCBwcmVjZWRlZCBieSBhIGNsZWFyUmVjdCAoY3R4Lmdsb2JhbEFscGhhID0gMC41KSBvbiB0aGUg
c2FtZSBhcmVhIHNob3VsZCBzaG93IG5vIHNpZGUgZWZmZWN0czwvcD4KKzxkaXYgY2xhc3M9InJl
ZnMiPlJlZmVyZW5jZXM6Cis8dWw+Cis8bGk+PGEgaHJlZj0ic3BlYy5odG1sI3Rlc3RyZWZzLjJk
LmNsZWFyUmVjdCI+MmQuY2xlYXJSZWN0PC9hPgorPC91bD4KKzwvZGl2PgorCis8cCBjbGFzcz0i
b3V0cHV0Ij5BY3R1YWwgb3V0cHV0OjwvcD4KKzxjYW52YXMgaWQ9ImMiIGNsYXNzPSJvdXRwdXQi
IHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiPjxwIGNsYXNzPSJmYWxsYmFjayI+RkFJTCAoZmFsbGJh
Y2sgY29udGVudCk8L3A+PC9jYW52YXM+Cis8cCBjbGFzcz0ib3V0cHV0IGV4cGVjdGVkdGV4dCI+
RXhwZWN0ZWQgb3V0cHV0OjxwPjxpbWcgc3JjPSJncmVlbi0xMDB4NTAucG5nIiBjbGFzcz0ib3V0
cHV0IGV4cGVjdGVkIiBpZD0iZXhwZWN0ZWQiIGFsdD0iIj4KKzx1bCBpZD0iZCI+PC91bD4KKzxz
Y3JpcHQ+CitfYWRkVGVzdChmdW5jdGlvbihjYW52YXMsIGN0eCkgeworCitjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOworY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworY3R4Lmdsb2JhbEFscGhh
ID0gMC41OworY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKK2N0eC5nbG9iYWxBbHBoYSA9
IDEuMDsKK2N0eC5maWxsU3R5bGUgPSAnIzBmMCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CitfYXNzZXJ0UGl4ZWwoY2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOworCisKK30pOworPC9zY3JpcHQ+CisKSW5kZXg6IExheW91dFRlc3RzL2Nh
bnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2Zp
bGxSZWN0LmFscGhhMC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkNhbnZhcyB0ZXN0OiAy
ZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi90ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rlc3RzLmNz
cyI+Cis8Ym9keSBjbGFzcz0ic2hvd19vdXRwdXQiPgorPHA+CisgPGEgaHJlZj0iaW5kZXguaHRt
bCI+W2luZGV4XTwvYT4KKzxoMT48YSBocmVmPSJpbmRleC4yZC5odG1sIj4yZDwvYT4uPGEgaHJl
Zj0iaW5kZXguMmQuY2xlYXJSZWN0Lmh0bWwiPmNsZWFyUmVjdDwvYT48L2gxPgorPHAgY2xhc3M9
ImRlc2MiPmZpbGxSZWN0IHByZWNlZGVkIGJ5IGEgY2xlYXJSZWN0IChjdHguZ2xvYmFsQWxwaGEg
PSAwLjApIG9uIHRoZSBzYW1lIGFyZWEgc2hvdWxkIHNob3cgbm8gc2lkZSBlZmZlY3RzPC9wPjxk
aXYgY2xhc3M9InJlZnMiPgorPGRpdiBjbGFzcz0icmVmcyI+UmVmZXJlbmNlczoKKzx1bD4KKzxs
aT48YSBocmVmPSJzcGVjLmh0bWwjdGVzdHJlZnMuMmQuY2xlYXJSZWN0Ij4yZC5jbGVhclJlY3Q8
L2E+Cis8L3VsPgorPC9kaXY+CisKKworPHAgY2xhc3M9Im91dHB1dCI+QWN0dWFsIG91dHB1dDo8
L3A+Cis8Y2FudmFzIGlkPSJjIiBjbGFzcz0ib3V0cHV0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUw
Ij48cCBjbGFzcz0iZmFsbGJhY2siPkZBSUwgKGZhbGxiYWNrIGNvbnRlbnQpPC9wPjwvY2FudmFz
PgorPHAgY2xhc3M9Im91dHB1dCBleHBlY3RlZHRleHQiPkV4cGVjdGVkIG91dHB1dDo8cD48aW1n
IHNyYz0iZ3JlZW4tMTAweDUwLnBuZyIgY2xhc3M9Im91dHB1dCBleHBlY3RlZCIgaWQ9ImV4cGVj
dGVkIiBhbHQ9IiI+Cis8dWwgaWQ9ImQiPjwvdWw+Cis8c2NyaXB0PgorX2FkZFRlc3QoZnVuY3Rp
b24oY2FudmFzLCBjdHgpIHsKKworY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKK2N0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKK2N0eC5nbG9iYWxBbHBoYSA9IDAuMDsKK2N0eC5jbGVhclJlY3Qo
MCwgMCwgMTAwLCA1MCk7CitjdHguZ2xvYmFsQWxwaGEgPSAxLjA7CitjdHguZmlsbFN0eWxlID0g
JyMwZjAnOworY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworX2Fzc2VydFBpeGVsKGNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKworCit9KTsK
Kzwvc2NyaXB0PgorCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNs
ZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYmFzaWMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0
cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYmFzaWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDggQEAKK1tpbmRleF0KKzJkLmNsZWFyUmVjdAorZmlsbFJlY3QgcHJlY2VkZWQg
YnkgYSBjbGVhclJlY3Qgb24gdGhlIHNhbWUgYXJlYSBzaG91bGQgc2hvdyBubyBzaWRlIGVmZmVj
dHMKK1JlZmVyZW5jZXM6IDJkLmNsZWFyUmVjdAorQWN0dWFsIG91dHB1dDoKK0V4cGVjdGVkIG91
dHB1dDoKKworUGFzc2VkCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmJhc2ljLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVj
dCtmaWxsUmVjdC5iYXNpYy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMzIEBACis8IURP
Q1RZUEUgaHRtbD4KKzx0aXRsZT5DYW52YXMgdGVzdDogMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmJh
c2ljPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi90ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rlc3RzLmNzcyI+Cis8Ym9keSBjbGFzcz0ic2hvd19v
dXRwdXQiPgorPHA+CisgPGEgaHJlZj0iaW5kZXguaHRtbCI+W2luZGV4XTwvYT4KKzxoMT48YSBo
cmVmPSJpbmRleC4yZC5odG1sIj4yZDwvYT4uPGEgaHJlZj0iaW5kZXguMmQuY2xlYXJSZWN0Lmh0
bWwiPmNsZWFyUmVjdDwvYT48L2gxPgorPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IHByZWNlZGVk
IGJ5IGEgY2xlYXJSZWN0IG9uIHRoZSBzYW1lIGFyZWEgc2hvdWxkIHNob3cgbm8gc2lkZSBlZmZl
Y3RzPC9wPgorPGRpdiBjbGFzcz0icmVmcyI+UmVmZXJlbmNlczoKKzx1bD4KKzxsaT48YSBocmVm
PSJzcGVjLmh0bWwjdGVzdHJlZnMuMmQuY2xlYXJSZWN0Ij4yZC5jbGVhclJlY3Q8L2E+Cis8L3Vs
PgorPC9kaXY+CisKKzxwIGNsYXNzPSJvdXRwdXQiPkFjdHVhbCBvdXRwdXQ6PC9wPgorPGNhbnZh
cyBpZD0iYyIgY2xhc3M9Im91dHB1dCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+PHAgY2xhc3M9
ImZhbGxiYWNrIj5GQUlMIChmYWxsYmFjayBjb250ZW50KTwvcD48L2NhbnZhcz4KKzxwIGNsYXNz
PSJvdXRwdXQgZXhwZWN0ZWR0ZXh0Ij5FeHBlY3RlZCBvdXRwdXQ6PHA+PGltZyBzcmM9ImdyZWVu
LTEwMHg1MC5wbmciIGNsYXNzPSJvdXRwdXQgZXhwZWN0ZWQiIGlkPSJleHBlY3RlZCIgYWx0PSIi
PgorPHVsIGlkPSJkIj48L3VsPgorPHNjcmlwdD4KK19hZGRUZXN0KGZ1bmN0aW9uKGNhbnZhcywg
Y3R4KSB7CisKK2N0eC5maWxsU3R5bGUgPSAnI2YwMCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CitjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTApOworY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKK2N0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKK19hc3NlcnRQaXhlbChjYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisKKworfSk7Cis8
L3NjcmlwdD4KKwpJbmRleDogTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21w
b3NpdGUub3BlcmF0aW9uLmNsZWFyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2Fu
dmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNsZWFyLmh0bWwJKHJldmlz
aW9uIDY0MzE2KQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3Np
dGUub3BlcmF0aW9uLmNsZWFyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAK
IF9hZGRUZXN0KGZ1bmN0aW9uKGNhbnZhcywgY3R4KSB7CiAKIGN0eC5nbG9iYWxDb21wb3NpdGVP
cGVyYXRpb24gPSAneG9yJzsKLWN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnY2xlYXIn
OworY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdmb29iYXIhJzsKIF9hc3NlcnRFcXVh
bChjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uLCAneG9yJywgImN0eC5nbG9iYWxDb21wb3Np
dGVPcGVyYXRpb24iLCAiJ3hvciciKTsKIAogCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBl
ZAkocmV2aXNpb24gNjQzMTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAko
d29ya2luZyBjb3B5KQpAQCAtMTY1LDcgKzE2NSw2IEBAIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLWNs
aWNrLWRvZXMtbm90LWJsdXIKICMgRmFpbGluZyBjYW52YXMgdGVzdCBjYXNlcyBmcm9tIGh0dHA6
Ly9waGlsaXAuaHRtbDUub3JnL3Rlc3RzL2NhbnZhcy9zdWl0ZS90ZXN0cy8KIGNhbnZhcy9waGls
aXAvdGVzdHMvMmQuZHJhd0ltYWdlLmJyb2tlbi5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LnBhdGguY2xpcC5lbXB0eS5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdC5z
aGFkb3cuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNs
ZWFyLmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJr
ZXIuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hs
aWdodC5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63097</attachid>
            <date>2010-07-30 13:24:14 -0700</date>
            <delta_ts>2010-07-30 15:58:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43213-20100730132413.patch</filename>
            <type>text/plain</type>
            <size>11222</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDMyMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjkgIE1hdHRoZXcgRGVsYW5leSAgPG1kZWxhbmV5QGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBjdHguY2xlYXJSZWN0IGltcHJvcGVybHkgY2xlYXJzIHNoYWRvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMyMTMKKworICAgICAgICBUZXN0czog
Y2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUuaHRtbAor
ICAgICAgICAgICAgICAgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3Qu
YWxwaGEwLmh0bWwKKyAgICAgICAgICAgICAgIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJS
ZWN0K2ZpbGxSZWN0LmJhc2ljLmh0bWwKKworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OnNldEFsbEF0dHJpYnV0ZXNUb0RlZmF1bHQpOgorICAgICAgICBBZGRlZCBhIG5l
dyBtZXRob2QgdG8gd2lwZSBvdXQgYWxsIGNvbnRleHQgYXR0cmlidXRlcyB0byB0aGVpciBkZWZh
dWx0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xlYXJS
ZWN0KToKKyAgICAgICAgVXBkYXRlZCBjbGVhclJlY3QgdG8gaWdub3JlIHNoYWRvdywgYWxwaGEs
IGFuZCBnbG9iYWwgY29tcG9zaXRlIGF0dHJpYnV0ZXMKKyAgICAgICAgd2hlbiBjbGVhcmluZyB0
aGUgaW5wdXQgcmVjdCB0byBtYXRjaCB0aGUgY2FudmFzIHNwZWMuCisgICAgICAgICogaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6CisKIDIwMTAtMDctMjkgIE1hcnRpbiBS
b2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERp
cmsgU2NodWx6ZS4KSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5jcHAJKHJldmlzaW9uIDY0MzE2KQorKysgV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjQsNiAr
MTY0LDIzIEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpyZXN0b3JlKCkKICAgICBj
LT5yZXN0b3JlKCk7CiB9CiAKK3ZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRBbGxB
dHRyaWJ1dGVzVG9EZWZhdWx0KCkgCit7CisgICAgc3RhdGUoKS5tX2dsb2JhbEFscGhhID0gMS4w
OworICAgIHN0YXRlKCkubV9zaGFkb3dPZmZzZXQgPSBGbG9hdFNpemUoKTsKKyAgICBzdGF0ZSgp
Lm1fc2hhZG93Qmx1ciA9IDA7CisgICAgc3RhdGUoKS5tX3NoYWRvd0NvbG9yID0gQ29sb3I6OnRy
YW5zcGFyZW50OworICAgIHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPSBDb21wb3NpdGVTb3Vy
Y2VPdmVyOworCisgICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0ID0gZHJhd2luZ0NvbnRleHQo
KTsKKyAgICBpZiAoIWNvbnRleHQpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbnRleHQtPnNl
dFNoYWRvdyhGbG9hdFNpemUoKSwgMCwgQ29sb3I6OnRyYW5zcGFyZW50LCBEZXZpY2VDb2xvclNw
YWNlKTsKKyAgICBjb250ZXh0LT5zZXRBbHBoYSgxLjApOworICAgIGNvbnRleHQtPnNldENvbXBv
c2l0ZU9wZXJhdGlvbihDb21wb3NpdGVTb3VyY2VPdmVyKTsKK30KKwogQ2FudmFzU3R5bGUqIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c3Ryb2tlU3R5bGUoKSBjb25zdAogewogICAgIHJldHVy
biBzdGF0ZSgpLm1fc3Ryb2tlU3R5bGUuZ2V0KCk7CkBAIC03OTAsMTQgKzgwNywxOCBAQCB2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xlYXJSZWN0CiB7CiAgICAgaWYgKCF2YWxpZGF0
ZVJlY3RGb3JDYW52YXMoeCwgeSwgd2lkdGgsIGhlaWdodCkpCiAgICAgICAgIHJldHVybjsKLSAg
ICBHcmFwaGljc0NvbnRleHQqIGMgPSBkcmF3aW5nQ29udGV4dCgpOwotICAgIGlmICghYykKKyAg
ICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBkcmF3aW5nQ29udGV4dCgpOworICAgIGlmICgh
Y29udGV4dCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVD
VE0pCiAgICAgICAgIHJldHVybjsKICAgICBGbG9hdFJlY3QgcmVjdCh4LCB5LCB3aWR0aCwgaGVp
Z2h0KTsKKworICAgIHNhdmUoKTsKKyAgICBzZXRBbGxBdHRyaWJ1dGVzVG9EZWZhdWx0KCk7CiAg
ICAgd2lsbERyYXcocmVjdCk7Ci0gICAgYy0+Y2xlYXJSZWN0KHJlY3QpOworICAgIGNvbnRleHQt
PmNsZWFyUmVjdChyZWN0KTsKKyAgICByZXN0b3JlKCk7CiB9CiAKIHZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjpmaWxsUmVjdChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxv
YXQgaGVpZ2h0KQpJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5oCShyZXZpc2lvbiA2NDMxNikKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw2ICsxMDQsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHNhdmUoKTsKICAgICB2b2lkIHJlc3RvcmUoKTsKKyAgICB2
b2lkIHNldEFsbEF0dHJpYnV0ZXNUb0RlZmF1bHQoKTsKIAogICAgIHZvaWQgc2NhbGUoZmxvYXQg
c3gsIGZsb2F0IHN5KTsKICAgICB2b2lkIHJvdGF0ZShmbG9hdCBhbmdsZUluUmFkaWFucyk7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiA2NDMyMCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDEwLTA3LTI5ICBNYXR0aGV3IERlbGFuZXkgIDxt
ZGVsYW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgY3R4LmNsZWFyUmVjdCBpbXByb3Blcmx5IGNsZWFycyBzaGFkb3cKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzMjEzCisKKyAgICAg
ICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFy
UmVjdCtmaWxsUmVjdC5hbHBoYTAuNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNh
bnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC41Lmh0bWw6IEFk
ZGVkLgorICAgICAgICBTYW1lIGFzIGFib3ZlIGJ1dCB3aXRoIGFscGhhIG9mIG9uZSBoYWxmLgor
ICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhh
MC5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVzdHMgdGhhdCBjbGVhcmluZyByZWN0IHdpdGggYWxw
aGEgb3IgMCBoYXMgbm8gdW53YW50ZWQgc2lkZS1lZmZlY3RzCisgICAgICAgICogY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5i
YXNpYy5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVzdHMgY2xlYXJpbmcgYSByZWN0IGFuZCB0aGVu
IGZpbGxpbmcgYmFjayBvdmVyIGRvZXNuJ3Qgc2hvdyBhbnkKKyAgICAgICAgc2lkZSBlZmZlY3Rz
IChzdWNoIGFzIGNhdXNlZCBieSBub3QgaWdub3JpbmcvcmVzdG9yaW5nIGFwcHJvcHJpYXRlCisg
ICAgICAgIGNvbnRleHQgYXR0cmlidXRlcykuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBw
ZWQ6IHVuc2tpcHBpbmcgbm93IHBhc3NpbmcgdGVzdAorCiAyMDEwLTA3LTI4ICBEdW1pdHJ1IERh
bmlsaXVjICA8ZHVtaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQg
TGV2aW4uCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVj
dCtmaWxsUmVjdC5hbHBoYTAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDcgQEAKK1tpbmRleF0KKzJkLmNsZWFyUmVjdAorZmlsbFJlY3QgcHJlY2VkZWQgYnkg
YSBjbGVhclJlY3QgKGN0eC5nbG9iYWxBbHBoYSA9IDAuMCkgb24gdGhlIHNhbWUgYXJlYSBzaG91
bGQgc2hvdyBubyBzaWRlIGVmZmVjdHMKK1JlZmVyZW5jZXM6IDJkLmNsZWFyUmVjdAorQWN0dWFs
IG91dHB1dDoKK0V4cGVjdGVkIG91dHB1dDoKK1Bhc3NlZApJbmRleDogTGF5b3V0VGVzdHMvY2Fu
dmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xl
YXJSZWN0K2ZpbGxSZWN0LmFscGhhMC41LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhh
MC41LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4IEBACitbaW5kZXhdCisy
ZC5jbGVhclJlY3QKK2ZpbGxSZWN0IHByZWNlZGVkIGJ5IGEgY2xlYXJSZWN0IChjdHguZ2xvYmFs
QWxwaGEgPSAwLjUpIG9uIHRoZSBzYW1lIGFyZWEgc2hvdWxkIHNob3cgbm8gc2lkZSBlZmZlY3Rz
CitSZWZlcmVuY2VzOiAyZC5jbGVhclJlY3QKK0FjdHVhbCBvdXRwdXQ6CitFeHBlY3RlZCBvdXRw
dXQ6CisKK1Bhc3NlZApJbmRleDogTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5j
bGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAuNS5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVh
clJlY3QrZmlsbFJlY3QuYWxwaGEwLjUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdCtmaWxs
UmVjdC5hbHBoYTAuNTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iLi4vdGVzdHMuanMiPjwvc2NyaXB0
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi90ZXN0cy5jc3MiPgorPGJvZHkgY2xh
c3M9InNob3dfb3V0cHV0Ij4KKzxwPgorIDxhIGhyZWY9ImluZGV4Lmh0bWwiPltpbmRleF08L2E+
Cis8aDE+PGEgaHJlZj0iaW5kZXguMmQuaHRtbCI+MmQ8L2E+LjxhIGhyZWY9ImluZGV4LjJkLmNs
ZWFyUmVjdC5odG1sIj5jbGVhclJlY3Q8L2E+PC9oMT4KKzxwIGNsYXNzPSJkZXNjIj5maWxsUmVj
dCBwcmVjZWRlZCBieSBhIGNsZWFyUmVjdCAoY3R4Lmdsb2JhbEFscGhhID0gMC41KSBvbiB0aGUg
c2FtZSBhcmVhIHNob3VsZCBzaG93IG5vIHNpZGUgZWZmZWN0czwvcD4KKzxkaXYgY2xhc3M9InJl
ZnMiPlJlZmVyZW5jZXM6Cis8dWw+Cis8bGk+PGEgaHJlZj0ic3BlYy5odG1sI3Rlc3RyZWZzLjJk
LmNsZWFyUmVjdCI+MmQuY2xlYXJSZWN0PC9hPgorPC91bD4KKzwvZGl2PgorCis8cCBjbGFzcz0i
b3V0cHV0Ij5BY3R1YWwgb3V0cHV0OjwvcD4KKzxjYW52YXMgaWQ9ImMiIGNsYXNzPSJvdXRwdXQi
IHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiPjxwIGNsYXNzPSJmYWxsYmFjayI+RkFJTCAoZmFsbGJh
Y2sgY29udGVudCk8L3A+PC9jYW52YXM+Cis8cCBjbGFzcz0ib3V0cHV0IGV4cGVjdGVkdGV4dCI+
RXhwZWN0ZWQgb3V0cHV0OjxwPjxpbWcgc3JjPSJncmVlbi0xMDB4NTAucG5nIiBjbGFzcz0ib3V0
cHV0IGV4cGVjdGVkIiBpZD0iZXhwZWN0ZWQiIGFsdD0iIj4KKzx1bCBpZD0iZCI+PC91bD4KKzxz
Y3JpcHQ+CitfYWRkVGVzdChmdW5jdGlvbihjYW52YXMsIGN0eCkgeworCitjdHguZmlsbFN0eWxl
ID0gJyNmMDAnOworY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworY3R4Lmdsb2JhbEFscGhh
ID0gMC41OworY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKK2N0eC5nbG9iYWxBbHBoYSA9
IDEuMDsKK2N0eC5maWxsU3R5bGUgPSAnIzBmMCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1
MCk7CitfYXNzZXJ0UGl4ZWwoY2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIw
LDI1NSwwLDI1NSIpOworCisKK30pOworPC9zY3JpcHQ+CisKSW5kZXg6IExheW91dFRlc3RzL2Nh
bnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2Zp
bGxSZWN0LmFscGhhMC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkNhbnZhcyB0ZXN0OiAy
ZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi90ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rlc3RzLmNz
cyI+Cis8Ym9keSBjbGFzcz0ic2hvd19vdXRwdXQiPgorPHA+CisgPGEgaHJlZj0iaW5kZXguaHRt
bCI+W2luZGV4XTwvYT4KKzxoMT48YSBocmVmPSJpbmRleC4yZC5odG1sIj4yZDwvYT4uPGEgaHJl
Zj0iaW5kZXguMmQuY2xlYXJSZWN0Lmh0bWwiPmNsZWFyUmVjdDwvYT48L2gxPgorPHAgY2xhc3M9
ImRlc2MiPmZpbGxSZWN0IHByZWNlZGVkIGJ5IGEgY2xlYXJSZWN0IChjdHguZ2xvYmFsQWxwaGEg
PSAwLjApIG9uIHRoZSBzYW1lIGFyZWEgc2hvdWxkIHNob3cgbm8gc2lkZSBlZmZlY3RzPC9wPjxk
aXYgY2xhc3M9InJlZnMiPgorPGRpdiBjbGFzcz0icmVmcyI+UmVmZXJlbmNlczoKKzx1bD4KKzxs
aT48YSBocmVmPSJzcGVjLmh0bWwjdGVzdHJlZnMuMmQuY2xlYXJSZWN0Ij4yZC5jbGVhclJlY3Q8
L2E+Cis8L3VsPgorPC9kaXY+CisKKworPHAgY2xhc3M9Im91dHB1dCI+QWN0dWFsIG91dHB1dDo8
L3A+Cis8Y2FudmFzIGlkPSJjIiBjbGFzcz0ib3V0cHV0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUw
Ij48cCBjbGFzcz0iZmFsbGJhY2siPkZBSUwgKGZhbGxiYWNrIGNvbnRlbnQpPC9wPjwvY2FudmFz
PgorPHAgY2xhc3M9Im91dHB1dCBleHBlY3RlZHRleHQiPkV4cGVjdGVkIG91dHB1dDo8cD48aW1n
IHNyYz0iZ3JlZW4tMTAweDUwLnBuZyIgY2xhc3M9Im91dHB1dCBleHBlY3RlZCIgaWQ9ImV4cGVj
dGVkIiBhbHQ9IiI+Cis8dWwgaWQ9ImQiPjwvdWw+Cis8c2NyaXB0PgorX2FkZFRlc3QoZnVuY3Rp
b24oY2FudmFzLCBjdHgpIHsKKworY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKK2N0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKK2N0eC5nbG9iYWxBbHBoYSA9IDAuMDsKK2N0eC5jbGVhclJlY3Qo
MCwgMCwgMTAwLCA1MCk7CitjdHguZ2xvYmFsQWxwaGEgPSAxLjA7CitjdHguZmlsbFN0eWxlID0g
JyMwZjAnOworY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworX2Fzc2VydFBpeGVsKGNhbnZh
cywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKworCit9KTsK
Kzwvc2NyaXB0PgorCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNs
ZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYmFzaWMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0
cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYmFzaWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDggQEAKK1tpbmRleF0KKzJkLmNsZWFyUmVjdAorZmlsbFJlY3QgcHJlY2VkZWQg
YnkgYSBjbGVhclJlY3Qgb24gdGhlIHNhbWUgYXJlYSBzaG91bGQgc2hvdyBubyBzaWRlIGVmZmVj
dHMKK1JlZmVyZW5jZXM6IDJkLmNsZWFyUmVjdAorQWN0dWFsIG91dHB1dDoKK0V4cGVjdGVkIG91
dHB1dDoKKworUGFzc2VkCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmJhc2ljLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVj
dCtmaWxsUmVjdC5iYXNpYy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMzIEBACis8IURP
Q1RZUEUgaHRtbD4KKzx0aXRsZT5DYW52YXMgdGVzdDogMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmJh
c2ljPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi90ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rlc3RzLmNzcyI+Cis8Ym9keSBjbGFzcz0ic2hvd19v
dXRwdXQiPgorPHA+CisgPGEgaHJlZj0iaW5kZXguaHRtbCI+W2luZGV4XTwvYT4KKzxoMT48YSBo
cmVmPSJpbmRleC4yZC5odG1sIj4yZDwvYT4uPGEgaHJlZj0iaW5kZXguMmQuY2xlYXJSZWN0Lmh0
bWwiPmNsZWFyUmVjdDwvYT48L2gxPgorPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IHByZWNlZGVk
IGJ5IGEgY2xlYXJSZWN0IG9uIHRoZSBzYW1lIGFyZWEgc2hvdWxkIHNob3cgbm8gc2lkZSBlZmZl
Y3RzPC9wPgorPGRpdiBjbGFzcz0icmVmcyI+UmVmZXJlbmNlczoKKzx1bD4KKzxsaT48YSBocmVm
PSJzcGVjLmh0bWwjdGVzdHJlZnMuMmQuY2xlYXJSZWN0Ij4yZC5jbGVhclJlY3Q8L2E+Cis8L3Vs
PgorPC9kaXY+CisKKzxwIGNsYXNzPSJvdXRwdXQiPkFjdHVhbCBvdXRwdXQ6PC9wPgorPGNhbnZh
cyBpZD0iYyIgY2xhc3M9Im91dHB1dCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+PHAgY2xhc3M9
ImZhbGxiYWNrIj5GQUlMIChmYWxsYmFjayBjb250ZW50KTwvcD48L2NhbnZhcz4KKzxwIGNsYXNz
PSJvdXRwdXQgZXhwZWN0ZWR0ZXh0Ij5FeHBlY3RlZCBvdXRwdXQ6PHA+PGltZyBzcmM9ImdyZWVu
LTEwMHg1MC5wbmciIGNsYXNzPSJvdXRwdXQgZXhwZWN0ZWQiIGlkPSJleHBlY3RlZCIgYWx0PSIi
PgorPHVsIGlkPSJkIj48L3VsPgorPHNjcmlwdD4KK19hZGRUZXN0KGZ1bmN0aW9uKGNhbnZhcywg
Y3R4KSB7CisKK2N0eC5maWxsU3R5bGUgPSAnI2YwMCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMTAw
LCA1MCk7CitjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTApOworY3R4LmZpbGxTdHlsZSA9ICcj
MGYwJzsKK2N0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsKK19hc3NlcnRQaXhlbChjYW52YXMs
IDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisKKworfSk7Cis8
L3NjcmlwdD4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDY0MzE2
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAg
LTE2NSw3ICsxNjUsNiBAQCBzY3JvbGxiYXJzL3Njcm9sbGJhci1jbGljay1kb2VzLW5vdC1ibHVy
CiAjIEZhaWxpbmcgY2FudmFzIHRlc3QgY2FzZXMgZnJvbSBodHRwOi8vcGhpbGlwLmh0bWw1Lm9y
Zy90ZXN0cy9jYW52YXMvc3VpdGUvdGVzdHMvCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRyYXdJ
bWFnZS5icm9rZW4uaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5wYXRoLmNsaXAuZW1wdHku
aHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3Quc2hhZG93Lmh0bWwKIGNhbnZh
cy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5jbGVhci5odG1sCiBjYW52YXMv
cGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5vcGVyYXRpb24uZGFya2VyLmh0bWwKIGNhbnZhcy9w
aGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5oaWdobGlnaHQuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63114</attachid>
            <date>2010-07-30 15:58:16 -0700</date>
            <delta_ts>2010-07-30 16:09:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43213-20100730155815.patch</filename>
            <type>text/plain</type>
            <size>11236</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDMyMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjkgIE1hdHRoZXcgRGVsYW5leSAgPG1kZWxhbmV5QGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBjdHguY2xlYXJSZWN0IGltcHJvcGVybHkgY2xlYXJzIHNoYWRvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMyMTMKKworICAgICAgICBUZXN0czog
Y2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUuaHRtbAor
ICAgICAgICAgICAgICAgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3Qu
YWxwaGEwLmh0bWwKKyAgICAgICAgICAgICAgIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJS
ZWN0K2ZpbGxSZWN0LmJhc2ljLmh0bWwKKworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OnNldEFsbEF0dHJpYnV0ZXNUb0RlZmF1bHQpOgorICAgICAgICBBZGRlZCBhIG5l
dyBtZXRob2QgdG8gd2lwZSBvdXQgYWxsIGNvbnRleHQgYXR0cmlidXRlcyB0byB0aGVpciBkZWZh
dWx0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xlYXJS
ZWN0KToKKyAgICAgICAgVXBkYXRlZCBjbGVhclJlY3QgdG8gaWdub3JlIHNoYWRvdywgYWxwaGEs
IGFuZCBnbG9iYWwgY29tcG9zaXRlIGF0dHJpYnV0ZXMKKyAgICAgICAgd2hlbiBjbGVhcmluZyB0
aGUgaW5wdXQgcmVjdCB0byBtYXRjaCB0aGUgY2FudmFzIHNwZWMuCisgICAgICAgICogaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6CisKIDIwMTAtMDctMjkgIE1hcnRpbiBS
b2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERp
cmsgU2NodWx6ZS4KSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5jcHAJKHJldmlzaW9uIDY0MzE2KQorKysgV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjQsNiAr
MTY0LDIzIEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpyZXN0b3JlKCkKICAgICBj
LT5yZXN0b3JlKCk7CiB9CiAKK3ZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRBbGxB
dHRyaWJ1dGVzVG9EZWZhdWx0KCkgCit7CisgICAgc3RhdGUoKS5tX2dsb2JhbEFscGhhID0gKGZs
b2F0KTEuMDsKKyAgICBzdGF0ZSgpLm1fc2hhZG93T2Zmc2V0ID0gRmxvYXRTaXplKCk7CisgICAg
c3RhdGUoKS5tX3NoYWRvd0JsdXIgPSAwOworICAgIHN0YXRlKCkubV9zaGFkb3dDb2xvciA9IENv
bG9yOjp0cmFuc3BhcmVudDsKKyAgICBzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlID0gQ29tcG9z
aXRlU291cmNlT3ZlcjsKKworICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCA9IGRyYXdpbmdD
b250ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm47CisKKyAgICBjb250
ZXh0LT5zZXRTaGFkb3coRmxvYXRTaXplKCksIDAsIENvbG9yOjp0cmFuc3BhcmVudCwgRGV2aWNl
Q29sb3JTcGFjZSk7CisgICAgY29udGV4dC0+c2V0QWxwaGEoKGZsb2F0KTEuMCk7CisgICAgY29u
dGV4dC0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZVNvdXJjZU92ZXIpOworfQorCiBD
YW52YXNTdHlsZSogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzdHJva2VTdHlsZSgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIHN0YXRlKCkubV9zdHJva2VTdHlsZS5nZXQoKTsKQEAgLTc5MCwxNCAr
ODA3LDE4IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjbGVhclJlY3QKIHsKICAg
ICBpZiAoIXZhbGlkYXRlUmVjdEZvckNhbnZhcyh4LCB5LCB3aWR0aCwgaGVpZ2h0KSkKICAgICAg
ICAgcmV0dXJuOwotICAgIEdyYXBoaWNzQ29udGV4dCogYyA9IGRyYXdpbmdDb250ZXh0KCk7Ci0g
ICAgaWYgKCFjKQorICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCA9IGRyYXdpbmdDb250ZXh0
KCk7CisgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCFzdGF0ZSgp
Lm1faW52ZXJ0aWJsZUNUTSkKICAgICAgICAgcmV0dXJuOwogICAgIEZsb2F0UmVjdCByZWN0KHgs
IHksIHdpZHRoLCBoZWlnaHQpOworCisgICAgc2F2ZSgpOworICAgIHNldEFsbEF0dHJpYnV0ZXNU
b0RlZmF1bHQoKTsKICAgICB3aWxsRHJhdyhyZWN0KTsKLSAgICBjLT5jbGVhclJlY3QocmVjdCk7
CisgICAgY29udGV4dC0+Y2xlYXJSZWN0KHJlY3QpOworICAgIHJlc3RvcmUoKTsKIH0KIAogdm9p
ZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZpbGxSZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZs
b2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpCkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgJKHJldmlzaW9uIDY0MzE2KQorKysgV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAkod29ya2luZyBjb3B5KQpAQCAt
MTA0LDYgKzEwNCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2F2ZSgpOwogICAgIHZvaWQgcmVz
dG9yZSgpOworICAgIHZvaWQgc2V0QWxsQXR0cmlidXRlc1RvRGVmYXVsdCgpOwogCiAgICAgdm9p
ZCBzY2FsZShmbG9hdCBzeCwgZmxvYXQgc3kpOwogICAgIHZvaWQgcm90YXRlKGZsb2F0IGFuZ2xl
SW5SYWRpYW5zKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDY0MzIwKQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDctMjkgIE1hdHRo
ZXcgRGVsYW5leSAgPG1kZWxhbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBjdHguY2xlYXJSZWN0IGltcHJvcGVybHkgY2xlYXJz
IHNoYWRvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDMyMTMKKworICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxS
ZWN0LmFscGhhMC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC41LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxw
aGEwLjUuaHRtbDogQWRkZWQuCisgICAgICAgIFNhbWUgYXMgYWJvdmUgYnV0IHdpdGggYWxwaGEg
b2Ygb25lIGhhbGYuCisgICAgICAgICogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3Qr
ZmlsbFJlY3QuYWxwaGEwLmh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0cyB0aGF0IGNsZWFyaW5n
IHJlY3Qgd2l0aCBhbHBoYSBvciAwIGhhcyBubyB1bndhbnRlZCBzaWRlLWVmZmVjdHMKKyAgICAg
ICAgKiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJS
ZWN0K2ZpbGxSZWN0LmJhc2ljLmh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0cyBjbGVhcmluZyBh
IHJlY3QgYW5kIHRoZW4gZmlsbGluZyBiYWNrIG92ZXIgZG9lc24ndCBzaG93IGFueQorICAgICAg
ICBzaWRlIGVmZmVjdHMgKHN1Y2ggYXMgY2F1c2VkIGJ5IG5vdCBpZ25vcmluZy9yZXN0b3Jpbmcg
YXBwcm9wcmlhdGUKKyAgICAgICAgY29udGV4dCBhdHRyaWJ1dGVzKS4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvU2tpcHBlZDogdW5za2lwcGluZyBub3cgcGFzc2luZyB0ZXN0CisKIDIwMTAtMDct
MjggIER1bWl0cnUgRGFuaWxpdWMgIDxkdW1pQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXZpZCBMZXZpbi4KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVz
dHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3Qu
YWxwaGEwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9w
aGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNyBAQAorW2luZGV4XQorMmQuY2xlYXJSZWN0CitmaWxsUmVj
dCBwcmVjZWRlZCBieSBhIGNsZWFyUmVjdCAoY3R4Lmdsb2JhbEFscGhhID0gMC4wKSBvbiB0aGUg
c2FtZSBhcmVhIHNob3VsZCBzaG93IG5vIHNpZGUgZWZmZWN0cworUmVmZXJlbmNlczogMmQuY2xl
YXJSZWN0CitBY3R1YWwgb3V0cHV0OgorRXhwZWN0ZWQgb3V0cHV0OgorUGFzc2VkCkluZGV4OiBM
YXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBo
YTAuNS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3Qr
ZmlsbFJlY3QuYWxwaGEwLjUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgg
QEAKK1tpbmRleF0KKzJkLmNsZWFyUmVjdAorZmlsbFJlY3QgcHJlY2VkZWQgYnkgYSBjbGVhclJl
Y3QgKGN0eC5nbG9iYWxBbHBoYSA9IDAuNSkgb24gdGhlIHNhbWUgYXJlYSBzaG91bGQgc2hvdyBu
byBzaWRlIGVmZmVjdHMKK1JlZmVyZW5jZXM6IDJkLmNsZWFyUmVjdAorQWN0dWFsIG91dHB1dDoK
K0V4cGVjdGVkIG91dHB1dDoKKworUGFzc2VkCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAuNS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0
LmFscGhhMC41Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlw
L3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAuNS5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DYW52YXMgdGVzdDogMmQu
Y2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC41PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi90ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rlc3RzLmNz
cyI+Cis8Ym9keSBjbGFzcz0ic2hvd19vdXRwdXQiPgorPHA+CisgPGEgaHJlZj0iaW5kZXguaHRt
bCI+W2luZGV4XTwvYT4KKzxoMT48YSBocmVmPSJpbmRleC4yZC5odG1sIj4yZDwvYT4uPGEgaHJl
Zj0iaW5kZXguMmQuY2xlYXJSZWN0Lmh0bWwiPmNsZWFyUmVjdDwvYT48L2gxPgorPHAgY2xhc3M9
ImRlc2MiPmZpbGxSZWN0IHByZWNlZGVkIGJ5IGEgY2xlYXJSZWN0IChjdHguZ2xvYmFsQWxwaGEg
PSAwLjUpIG9uIHRoZSBzYW1lIGFyZWEgc2hvdWxkIHNob3cgbm8gc2lkZSBlZmZlY3RzPC9wPgor
PGRpdiBjbGFzcz0icmVmcyI+UmVmZXJlbmNlczoKKzx1bD4KKzxsaT48YSBocmVmPSJzcGVjLmh0
bWwjdGVzdHJlZnMuMmQuY2xlYXJSZWN0Ij4yZC5jbGVhclJlY3Q8L2E+Cis8L3VsPgorPC9kaXY+
CisKKzxwIGNsYXNzPSJvdXRwdXQiPkFjdHVhbCBvdXRwdXQ6PC9wPgorPGNhbnZhcyBpZD0iYyIg
Y2xhc3M9Im91dHB1dCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+PHAgY2xhc3M9ImZhbGxiYWNr
Ij5GQUlMIChmYWxsYmFjayBjb250ZW50KTwvcD48L2NhbnZhcz4KKzxwIGNsYXNzPSJvdXRwdXQg
ZXhwZWN0ZWR0ZXh0Ij5FeHBlY3RlZCBvdXRwdXQ6PHA+PGltZyBzcmM9ImdyZWVuLTEwMHg1MC5w
bmciIGNsYXNzPSJvdXRwdXQgZXhwZWN0ZWQiIGlkPSJleHBlY3RlZCIgYWx0PSIiPgorPHVsIGlk
PSJkIj48L3VsPgorPHNjcmlwdD4KK19hZGRUZXN0KGZ1bmN0aW9uKGNhbnZhcywgY3R4KSB7CisK
K2N0eC5maWxsU3R5bGUgPSAnI2YwMCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7Citj
dHguZ2xvYmFsQWxwaGEgPSAwLjU7CitjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTApOworY3R4
Lmdsb2JhbEFscGhhID0gMS4wOworY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKK2N0eC5maWxsUmVj
dCgwLCAwLCAxMDAsIDUwKTsKK19hc3NlcnRQaXhlbChjYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1
NSwgIjUwLDI1IiwgIjAsMjU1LDAsMjU1Iik7CisKKworfSk7Cis8L3NjcmlwdD4KKwpJbmRleDog
TGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxw
aGEwLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8y
ZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+
Q2FudmFzIHRlc3Q6IDJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTA8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii4uL3Rlc3RzLmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vdGVzdHMuY3NzIj4KKzxib2R5IGNsYXNzPSJzaG93X291dHB1dCI+Cis8cD4KKyA8YSBo
cmVmPSJpbmRleC5odG1sIj5baW5kZXhdPC9hPgorPGgxPjxhIGhyZWY9ImluZGV4LjJkLmh0bWwi
PjJkPC9hPi48YSBocmVmPSJpbmRleC4yZC5jbGVhclJlY3QuaHRtbCI+Y2xlYXJSZWN0PC9hPjwv
aDE+Cis8cCBjbGFzcz0iZGVzYyI+ZmlsbFJlY3QgcHJlY2VkZWQgYnkgYSBjbGVhclJlY3QgKGN0
eC5nbG9iYWxBbHBoYSA9IDAuMCkgb24gdGhlIHNhbWUgYXJlYSBzaG91bGQgc2hvdyBubyBzaWRl
IGVmZmVjdHM8L3A+PGRpdiBjbGFzcz0icmVmcyI+Cis8ZGl2IGNsYXNzPSJyZWZzIj5SZWZlcmVu
Y2VzOgorPHVsPgorPGxpPjxhIGhyZWY9InNwZWMuaHRtbCN0ZXN0cmVmcy4yZC5jbGVhclJlY3Qi
PjJkLmNsZWFyUmVjdDwvYT4KKzwvdWw+Cis8L2Rpdj4KKworCis8cCBjbGFzcz0ib3V0cHV0Ij5B
Y3R1YWwgb3V0cHV0OjwvcD4KKzxjYW52YXMgaWQ9ImMiIGNsYXNzPSJvdXRwdXQiIHdpZHRoPSIx
MDAiIGhlaWdodD0iNTAiPjxwIGNsYXNzPSJmYWxsYmFjayI+RkFJTCAoZmFsbGJhY2sgY29udGVu
dCk8L3A+PC9jYW52YXM+Cis8cCBjbGFzcz0ib3V0cHV0IGV4cGVjdGVkdGV4dCI+RXhwZWN0ZWQg
b3V0cHV0OjxwPjxpbWcgc3JjPSJncmVlbi0xMDB4NTAucG5nIiBjbGFzcz0ib3V0cHV0IGV4cGVj
dGVkIiBpZD0iZXhwZWN0ZWQiIGFsdD0iIj4KKzx1bCBpZD0iZCI+PC91bD4KKzxzY3JpcHQ+Citf
YWRkVGVzdChmdW5jdGlvbihjYW52YXMsIGN0eCkgeworCitjdHguZmlsbFN0eWxlID0gJyNmMDAn
OworY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworY3R4Lmdsb2JhbEFscGhhID0gMC4wOwor
Y3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDUwKTsKK2N0eC5nbG9iYWxBbHBoYSA9IDEuMDsKK2N0
eC5maWxsU3R5bGUgPSAnIzBmMCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CitfYXNz
ZXJ0UGl4ZWwoY2FudmFzLCA1MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1
NSIpOworCisKK30pOworPC9zY3JpcHQ+CisKSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGls
aXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmJhc2ljLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxs
UmVjdC5iYXNpYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jYW52
YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorW2luZGV4XQorMmQuY2xlYXJSZWN0CitmaWxs
UmVjdCBwcmVjZWRlZCBieSBhIGNsZWFyUmVjdCBvbiB0aGUgc2FtZSBhcmVhIHNob3VsZCBzaG93
IG5vIHNpZGUgZWZmZWN0cworUmVmZXJlbmNlczogMmQuY2xlYXJSZWN0CitBY3R1YWwgb3V0cHV0
OgorRXhwZWN0ZWQgb3V0cHV0OgorCitQYXNzZWQKSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9w
aGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmJhc2ljLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3Qu
YmFzaWMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVz
dHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmJhc2ljLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkNhbnZhcyB0ZXN0OiAyZC5jbGVhclJl
Y3QrZmlsbFJlY3QuYmFzaWM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii4uL3Rlc3RzLmpzIj48L3Nj
cmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vdGVzdHMuY3NzIj4KKzxib2R5
IGNsYXNzPSJzaG93X291dHB1dCI+Cis8cD4KKyA8YSBocmVmPSJpbmRleC5odG1sIj5baW5kZXhd
PC9hPgorPGgxPjxhIGhyZWY9ImluZGV4LjJkLmh0bWwiPjJkPC9hPi48YSBocmVmPSJpbmRleC4y
ZC5jbGVhclJlY3QuaHRtbCI+Y2xlYXJSZWN0PC9hPjwvaDE+Cis8cCBjbGFzcz0iZGVzYyI+Zmls
bFJlY3QgcHJlY2VkZWQgYnkgYSBjbGVhclJlY3Qgb24gdGhlIHNhbWUgYXJlYSBzaG91bGQgc2hv
dyBubyBzaWRlIGVmZmVjdHM8L3A+Cis8ZGl2IGNsYXNzPSJyZWZzIj5SZWZlcmVuY2VzOgorPHVs
PgorPGxpPjxhIGhyZWY9InNwZWMuaHRtbCN0ZXN0cmVmcy4yZC5jbGVhclJlY3QiPjJkLmNsZWFy
UmVjdDwvYT4KKzwvdWw+Cis8L2Rpdj4KKworPHAgY2xhc3M9Im91dHB1dCI+QWN0dWFsIG91dHB1
dDo8L3A+Cis8Y2FudmFzIGlkPSJjIiBjbGFzcz0ib3V0cHV0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9
IjUwIj48cCBjbGFzcz0iZmFsbGJhY2siPkZBSUwgKGZhbGxiYWNrIGNvbnRlbnQpPC9wPjwvY2Fu
dmFzPgorPHAgY2xhc3M9Im91dHB1dCBleHBlY3RlZHRleHQiPkV4cGVjdGVkIG91dHB1dDo8cD48
aW1nIHNyYz0iZ3JlZW4tMTAweDUwLnBuZyIgY2xhc3M9Im91dHB1dCBleHBlY3RlZCIgaWQ9ImV4
cGVjdGVkIiBhbHQ9IiI+Cis8dWwgaWQ9ImQiPjwvdWw+Cis8c2NyaXB0PgorX2FkZFRlc3QoZnVu
Y3Rpb24oY2FudmFzLCBjdHgpIHsKKworY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKK2N0eC5maWxs
UmVjdCgwLCAwLCAxMDAsIDUwKTsKK2N0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CitjdHgu
ZmlsbFN0eWxlID0gJyMwZjAnOworY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworX2Fzc2Vy
dFBpeGVsKGNhbnZhcywgNTAsMjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUi
KTsKKworCit9KTsKKzwvc2NyaXB0PgorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
U2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAko
cmV2aXNpb24gNjQzMTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAkod29y
a2luZyBjb3B5KQpAQCAtMTY1LDcgKzE2NSw2IEBAIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLWNsaWNr
LWRvZXMtbm90LWJsdXIKICMgRmFpbGluZyBjYW52YXMgdGVzdCBjYXNlcyBmcm9tIGh0dHA6Ly9w
aGlsaXAuaHRtbDUub3JnL3Rlc3RzL2NhbnZhcy9zdWl0ZS90ZXN0cy8KIGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuZHJhd0ltYWdlLmJyb2tlbi5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLnBh
dGguY2xpcC5lbXB0eS5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdC5zaGFk
b3cuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNsZWFy
Lmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXIu
aHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdo
dC5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63115</attachid>
            <date>2010-07-30 16:09:40 -0700</date>
            <delta_ts>2010-07-30 22:08:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43213-20100730160939.patch</filename>
            <type>text/plain</type>
            <size>11218</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDMyMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDctMjkgIE1hdHRoZXcgRGVsYW5leSAgPG1kZWxhbmV5QGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBjdHguY2xlYXJSZWN0IGltcHJvcGVybHkgY2xlYXJzIHNoYWRvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMyMTMKKworICAgICAgICBUZXN0czog
Y2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUuaHRtbAor
ICAgICAgICAgICAgICAgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3Qu
YWxwaGEwLmh0bWwKKyAgICAgICAgICAgICAgIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJS
ZWN0K2ZpbGxSZWN0LmJhc2ljLmh0bWwKKworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OnNldEFsbEF0dHJpYnV0ZXNUb0RlZmF1bHQpOgorICAgICAgICBBZGRlZCBhIG5l
dyBtZXRob2QgdG8gd2lwZSBvdXQgYWxsIGNvbnRleHQgYXR0cmlidXRlcyB0byB0aGVpciBkZWZh
dWx0cy4KKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xlYXJS
ZWN0KToKKyAgICAgICAgVXBkYXRlZCBjbGVhclJlY3QgdG8gaWdub3JlIHNoYWRvdywgYWxwaGEs
IGFuZCBnbG9iYWwgY29tcG9zaXRlIGF0dHJpYnV0ZXMKKyAgICAgICAgd2hlbiBjbGVhcmluZyB0
aGUgaW5wdXQgcmVjdCB0byBtYXRjaCB0aGUgY2FudmFzIHNwZWMuCisgICAgICAgICogaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6CisKIDIwMTAtMDctMjkgIE1hcnRpbiBS
b2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERp
cmsgU2NodWx6ZS4KSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5jcHAJKHJldmlzaW9uIDY0MzE2KQorKysgV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjQsNiAr
MTY0LDIzIEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpyZXN0b3JlKCkKICAgICBj
LT5yZXN0b3JlKCk7CiB9CiAKK3ZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRBbGxB
dHRyaWJ1dGVzVG9EZWZhdWx0KCkgCit7CisgICAgc3RhdGUoKS5tX2dsb2JhbEFscGhhID0gMTsK
KyAgICBzdGF0ZSgpLm1fc2hhZG93T2Zmc2V0ID0gRmxvYXRTaXplKCk7CisgICAgc3RhdGUoKS5t
X3NoYWRvd0JsdXIgPSAwOworICAgIHN0YXRlKCkubV9zaGFkb3dDb2xvciA9IENvbG9yOjp0cmFu
c3BhcmVudDsKKyAgICBzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlID0gQ29tcG9zaXRlU291cmNl
T3ZlcjsKKworICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCA9IGRyYXdpbmdDb250ZXh0KCk7
CisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm47CisKKyAgICBjb250ZXh0LT5zZXRT
aGFkb3coRmxvYXRTaXplKCksIDAsIENvbG9yOjp0cmFuc3BhcmVudCwgRGV2aWNlQ29sb3JTcGFj
ZSk7CisgICAgY29udGV4dC0+c2V0QWxwaGEoMSk7CisgICAgY29udGV4dC0+c2V0Q29tcG9zaXRl
T3BlcmF0aW9uKENvbXBvc2l0ZVNvdXJjZU92ZXIpOworfQorCiBDYW52YXNTdHlsZSogQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjpzdHJva2VTdHlsZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHN0
YXRlKCkubV9zdHJva2VTdHlsZS5nZXQoKTsKQEAgLTc5MCwxNCArODA3LDE4IEBAIHZvaWQgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjbGVhclJlY3QKIHsKICAgICBpZiAoIXZhbGlkYXRlUmVj
dEZvckNhbnZhcyh4LCB5LCB3aWR0aCwgaGVpZ2h0KSkKICAgICAgICAgcmV0dXJuOwotICAgIEdy
YXBoaWNzQ29udGV4dCogYyA9IGRyYXdpbmdDb250ZXh0KCk7Ci0gICAgaWYgKCFjKQorICAgIEdy
YXBoaWNzQ29udGV4dCogY29udGV4dCA9IGRyYXdpbmdDb250ZXh0KCk7CisgICAgaWYgKCFjb250
ZXh0KQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkK
ICAgICAgICAgcmV0dXJuOwogICAgIEZsb2F0UmVjdCByZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQp
OworCisgICAgc2F2ZSgpOworICAgIHNldEFsbEF0dHJpYnV0ZXNUb0RlZmF1bHQoKTsKICAgICB3
aWxsRHJhdyhyZWN0KTsKLSAgICBjLT5jbGVhclJlY3QocmVjdCk7CisgICAgY29udGV4dC0+Y2xl
YXJSZWN0KHJlY3QpOworICAgIHJlc3RvcmUoKTsKIH0KIAogdm9pZCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OmZpbGxSZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBo
ZWlnaHQpCkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmgJKHJldmlzaW9uIDY0MzE2KQorKysgV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaAkod29ya2luZyBjb3B5KQpAQCAtMTA0LDYgKzEwNCw3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgc2F2ZSgpOwogICAgIHZvaWQgcmVzdG9yZSgpOworICAgIHZvaWQg
c2V0QWxsQXR0cmlidXRlc1RvRGVmYXVsdCgpOwogCiAgICAgdm9pZCBzY2FsZShmbG9hdCBzeCwg
ZmxvYXQgc3kpOwogICAgIHZvaWQgcm90YXRlKGZsb2F0IGFuZ2xlSW5SYWRpYW5zKTsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDY0MzIwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDctMjkgIE1hdHRoZXcgRGVsYW5leSAgPG1kZWxh
bmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBjdHguY2xlYXJSZWN0IGltcHJvcGVybHkgY2xlYXJzIHNoYWRvdworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMyMTMKKworICAgICAgICAq
IGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0
K2ZpbGxSZWN0LmFscGhhMC41LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUuaHRtbDogQWRkZWQu
CisgICAgICAgIFNhbWUgYXMgYWJvdmUgYnV0IHdpdGggYWxwaGEgb2Ygb25lIGhhbGYuCisgICAg
ICAgICogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLmh0
bWw6IEFkZGVkLgorICAgICAgICBUZXN0cyB0aGF0IGNsZWFyaW5nIHJlY3Qgd2l0aCBhbHBoYSBv
ciAwIGhhcyBubyB1bndhbnRlZCBzaWRlLWVmZmVjdHMKKyAgICAgICAgKiBjYW52YXMvcGhpbGlw
L3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmJhc2lj
Lmh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0cyBjbGVhcmluZyBhIHJlY3QgYW5kIHRoZW4gZmls
bGluZyBiYWNrIG92ZXIgZG9lc24ndCBzaG93IGFueQorICAgICAgICBzaWRlIGVmZmVjdHMgKHN1
Y2ggYXMgY2F1c2VkIGJ5IG5vdCBpZ25vcmluZy9yZXN0b3JpbmcgYXBwcm9wcmlhdGUKKyAgICAg
ICAgY29udGV4dCBhdHRyaWJ1dGVzKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDog
dW5za2lwcGluZyBub3cgcGFzc2luZyB0ZXN0CisKIDIwMTAtMDctMjggIER1bWl0cnUgRGFuaWxp
dWMgIDxkdW1pQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZp
bi4KSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2Zp
bGxSZWN0LmFscGhhMC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2Fu
dmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xl
YXJSZWN0K2ZpbGxSZWN0LmFscGhhMC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNyBAQAorW2luZGV4XQorMmQuY2xlYXJSZWN0CitmaWxsUmVjdCBwcmVjZWRlZCBieSBhIGNs
ZWFyUmVjdCAoY3R4Lmdsb2JhbEFscGhhID0gMC4wKSBvbiB0aGUgc2FtZSBhcmVhIHNob3VsZCBz
aG93IG5vIHNpZGUgZWZmZWN0cworUmVmZXJlbmNlczogMmQuY2xlYXJSZWN0CitBY3R1YWwgb3V0
cHV0OgorRXhwZWN0ZWQgb3V0cHV0OgorUGFzc2VkCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMv
cGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAuNS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJl
Y3QrZmlsbFJlY3QuYWxwaGEwLjUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLjUt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDggQEAKK1tpbmRleF0KKzJkLmNs
ZWFyUmVjdAorZmlsbFJlY3QgcHJlY2VkZWQgYnkgYSBjbGVhclJlY3QgKGN0eC5nbG9iYWxBbHBo
YSA9IDAuNSkgb24gdGhlIHNhbWUgYXJlYSBzaG91bGQgc2hvdyBubyBzaWRlIGVmZmVjdHMKK1Jl
ZmVyZW5jZXM6IDJkLmNsZWFyUmVjdAorQWN0dWFsIG91dHB1dDoKK0V4cGVjdGVkIG91dHB1dDoK
KworUGFzc2VkCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFy
UmVjdCtmaWxsUmVjdC5hbHBoYTAuNS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Nh
bnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2ZpbGxSZWN0LmFscGhhMC41Lmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVj
dCtmaWxsUmVjdC5hbHBoYTAuNS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM1IEBACis8
IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DYW52YXMgdGVzdDogMmQuY2xlYXJSZWN0K2ZpbGxSZWN0
LmFscGhhMC41PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi90ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Rlc3RzLmNzcyI+Cis8Ym9keSBjbGFzcz0i
c2hvd19vdXRwdXQiPgorPHA+CisgPGEgaHJlZj0iaW5kZXguaHRtbCI+W2luZGV4XTwvYT4KKzxo
MT48YSBocmVmPSJpbmRleC4yZC5odG1sIj4yZDwvYT4uPGEgaHJlZj0iaW5kZXguMmQuY2xlYXJS
ZWN0Lmh0bWwiPmNsZWFyUmVjdDwvYT48L2gxPgorPHAgY2xhc3M9ImRlc2MiPmZpbGxSZWN0IHBy
ZWNlZGVkIGJ5IGEgY2xlYXJSZWN0IChjdHguZ2xvYmFsQWxwaGEgPSAwLjUpIG9uIHRoZSBzYW1l
IGFyZWEgc2hvdWxkIHNob3cgbm8gc2lkZSBlZmZlY3RzPC9wPgorPGRpdiBjbGFzcz0icmVmcyI+
UmVmZXJlbmNlczoKKzx1bD4KKzxsaT48YSBocmVmPSJzcGVjLmh0bWwjdGVzdHJlZnMuMmQuY2xl
YXJSZWN0Ij4yZC5jbGVhclJlY3Q8L2E+Cis8L3VsPgorPC9kaXY+CisKKzxwIGNsYXNzPSJvdXRw
dXQiPkFjdHVhbCBvdXRwdXQ6PC9wPgorPGNhbnZhcyBpZD0iYyIgY2xhc3M9Im91dHB1dCIgd2lk
dGg9IjEwMCIgaGVpZ2h0PSI1MCI+PHAgY2xhc3M9ImZhbGxiYWNrIj5GQUlMIChmYWxsYmFjayBj
b250ZW50KTwvcD48L2NhbnZhcz4KKzxwIGNsYXNzPSJvdXRwdXQgZXhwZWN0ZWR0ZXh0Ij5FeHBl
Y3RlZCBvdXRwdXQ6PHA+PGltZyBzcmM9ImdyZWVuLTEwMHg1MC5wbmciIGNsYXNzPSJvdXRwdXQg
ZXhwZWN0ZWQiIGlkPSJleHBlY3RlZCIgYWx0PSIiPgorPHVsIGlkPSJkIj48L3VsPgorPHNjcmlw
dD4KK19hZGRUZXN0KGZ1bmN0aW9uKGNhbnZhcywgY3R4KSB7CisKK2N0eC5maWxsU3R5bGUgPSAn
I2YwMCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CitjdHguZ2xvYmFsQWxwaGEgPSAw
LjU7CitjdHguY2xlYXJSZWN0KDAsIDAsIDEwMCwgNTApOworY3R4Lmdsb2JhbEFscGhhID0gMS4w
OworY3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKK2N0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUwKTsK
K19hc3NlcnRQaXhlbChjYW52YXMsIDUwLDI1LCAwLDI1NSwwLDI1NSwgIjUwLDI1IiwgIjAsMjU1
LDAsMjU1Iik7CisKKworfSk7Cis8L3NjcmlwdD4KKwpJbmRleDogTGF5b3V0VGVzdHMvY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJl
Y3QuYWxwaGEwLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlw
L3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTAuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q2FudmFzIHRlc3Q6IDJkLmNs
ZWFyUmVjdCtmaWxsUmVjdC5hbHBoYTA8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii4uL3Rlc3RzLmpz
Ij48L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vdGVzdHMuY3NzIj4K
Kzxib2R5IGNsYXNzPSJzaG93X291dHB1dCI+Cis8cD4KKyA8YSBocmVmPSJpbmRleC5odG1sIj5b
aW5kZXhdPC9hPgorPGgxPjxhIGhyZWY9ImluZGV4LjJkLmh0bWwiPjJkPC9hPi48YSBocmVmPSJp
bmRleC4yZC5jbGVhclJlY3QuaHRtbCI+Y2xlYXJSZWN0PC9hPjwvaDE+Cis8cCBjbGFzcz0iZGVz
YyI+ZmlsbFJlY3QgcHJlY2VkZWQgYnkgYSBjbGVhclJlY3QgKGN0eC5nbG9iYWxBbHBoYSA9IDAu
MCkgb24gdGhlIHNhbWUgYXJlYSBzaG91bGQgc2hvdyBubyBzaWRlIGVmZmVjdHM8L3A+PGRpdiBj
bGFzcz0icmVmcyI+Cis8ZGl2IGNsYXNzPSJyZWZzIj5SZWZlcmVuY2VzOgorPHVsPgorPGxpPjxh
IGhyZWY9InNwZWMuaHRtbCN0ZXN0cmVmcy4yZC5jbGVhclJlY3QiPjJkLmNsZWFyUmVjdDwvYT4K
KzwvdWw+Cis8L2Rpdj4KKworCis8cCBjbGFzcz0ib3V0cHV0Ij5BY3R1YWwgb3V0cHV0OjwvcD4K
KzxjYW52YXMgaWQ9ImMiIGNsYXNzPSJvdXRwdXQiIHdpZHRoPSIxMDAiIGhlaWdodD0iNTAiPjxw
IGNsYXNzPSJmYWxsYmFjayI+RkFJTCAoZmFsbGJhY2sgY29udGVudCk8L3A+PC9jYW52YXM+Cis8
cCBjbGFzcz0ib3V0cHV0IGV4cGVjdGVkdGV4dCI+RXhwZWN0ZWQgb3V0cHV0OjxwPjxpbWcgc3Jj
PSJncmVlbi0xMDB4NTAucG5nIiBjbGFzcz0ib3V0cHV0IGV4cGVjdGVkIiBpZD0iZXhwZWN0ZWQi
IGFsdD0iIj4KKzx1bCBpZD0iZCI+PC91bD4KKzxzY3JpcHQ+CitfYWRkVGVzdChmdW5jdGlvbihj
YW52YXMsIGN0eCkgeworCitjdHguZmlsbFN0eWxlID0gJyNmMDAnOworY3R4LmZpbGxSZWN0KDAs
IDAsIDEwMCwgNTApOworY3R4Lmdsb2JhbEFscGhhID0gMC4wOworY3R4LmNsZWFyUmVjdCgwLCAw
LCAxMDAsIDUwKTsKK2N0eC5nbG9iYWxBbHBoYSA9IDEuMDsKK2N0eC5maWxsU3R5bGUgPSAnIzBm
MCc7CitjdHguZmlsbFJlY3QoMCwgMCwgMTAwLCA1MCk7CitfYXNzZXJ0UGl4ZWwoY2FudmFzLCA1
MCwyNSwgMCwyNTUsMCwyNTUsICI1MCwyNSIsICIwLDI1NSwwLDI1NSIpOworCisKK30pOworPC9z
Y3JpcHQ+CisKSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJS
ZWN0K2ZpbGxSZWN0LmJhc2ljLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNsZWFyUmVjdCtmaWxsUmVjdC5iYXNpYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsOCBAQAorW2luZGV4XQorMmQuY2xlYXJSZWN0CitmaWxsUmVjdCBwcmVjZWRlZCBieSBh
IGNsZWFyUmVjdCBvbiB0aGUgc2FtZSBhcmVhIHNob3VsZCBzaG93IG5vIHNpZGUgZWZmZWN0cwor
UmVmZXJlbmNlczogMmQuY2xlYXJSZWN0CitBY3R1YWwgb3V0cHV0OgorRXhwZWN0ZWQgb3V0cHV0
OgorCitQYXNzZWQKSW5kZXg6IExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xl
YXJSZWN0K2ZpbGxSZWN0LmJhc2ljLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY2Fu
dmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYmFzaWMuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0K2Zp
bGxSZWN0LmJhc2ljLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPHRpdGxlPkNhbnZhcyB0ZXN0OiAyZC5jbGVhclJlY3QrZmlsbFJlY3QuYmFzaWM8
L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii4uL3Rlc3RzLmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vdGVzdHMuY3NzIj4KKzxib2R5IGNsYXNzPSJzaG93X291dHB1
dCI+Cis8cD4KKyA8YSBocmVmPSJpbmRleC5odG1sIj5baW5kZXhdPC9hPgorPGgxPjxhIGhyZWY9
ImluZGV4LjJkLmh0bWwiPjJkPC9hPi48YSBocmVmPSJpbmRleC4yZC5jbGVhclJlY3QuaHRtbCI+
Y2xlYXJSZWN0PC9hPjwvaDE+Cis8cCBjbGFzcz0iZGVzYyI+ZmlsbFJlY3QgcHJlY2VkZWQgYnkg
YSBjbGVhclJlY3Qgb24gdGhlIHNhbWUgYXJlYSBzaG91bGQgc2hvdyBubyBzaWRlIGVmZmVjdHM8
L3A+Cis8ZGl2IGNsYXNzPSJyZWZzIj5SZWZlcmVuY2VzOgorPHVsPgorPGxpPjxhIGhyZWY9InNw
ZWMuaHRtbCN0ZXN0cmVmcy4yZC5jbGVhclJlY3QiPjJkLmNsZWFyUmVjdDwvYT4KKzwvdWw+Cis8
L2Rpdj4KKworPHAgY2xhc3M9Im91dHB1dCI+QWN0dWFsIG91dHB1dDo8L3A+Cis8Y2FudmFzIGlk
PSJjIiBjbGFzcz0ib3V0cHV0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj48cCBjbGFzcz0iZmFs
bGJhY2siPkZBSUwgKGZhbGxiYWNrIGNvbnRlbnQpPC9wPjwvY2FudmFzPgorPHAgY2xhc3M9Im91
dHB1dCBleHBlY3RlZHRleHQiPkV4cGVjdGVkIG91dHB1dDo8cD48aW1nIHNyYz0iZ3JlZW4tMTAw
eDUwLnBuZyIgY2xhc3M9Im91dHB1dCBleHBlY3RlZCIgaWQ9ImV4cGVjdGVkIiBhbHQ9IiI+Cis8
dWwgaWQ9ImQiPjwvdWw+Cis8c2NyaXB0PgorX2FkZFRlc3QoZnVuY3Rpb24oY2FudmFzLCBjdHgp
IHsKKworY3R4LmZpbGxTdHlsZSA9ICcjZjAwJzsKK2N0eC5maWxsUmVjdCgwLCAwLCAxMDAsIDUw
KTsKK2N0eC5jbGVhclJlY3QoMCwgMCwgMTAwLCA1MCk7CitjdHguZmlsbFN0eWxlID0gJyMwZjAn
OworY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgNTApOworX2Fzc2VydFBpeGVsKGNhbnZhcywgNTAs
MjUsIDAsMjU1LDAsMjU1LCAiNTAsMjUiLCAiMCwyNTUsMCwyNTUiKTsKKworCit9KTsKKzwvc2Ny
aXB0PgorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAkocmV2aXNpb24gNjQzMTYpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtMTY1
LDcgKzE2NSw2IEBAIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLWNsaWNrLWRvZXMtbm90LWJsdXIKICMg
RmFpbGluZyBjYW52YXMgdGVzdCBjYXNlcyBmcm9tIGh0dHA6Ly9waGlsaXAuaHRtbDUub3JnL3Rl
c3RzL2NhbnZhcy9zdWl0ZS90ZXN0cy8KIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZHJhd0ltYWdl
LmJyb2tlbi5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLnBhdGguY2xpcC5lbXB0eS5odG1s
Ci1jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdC5zaGFkb3cuaHRtbAogY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmNsZWFyLmh0bWwKIGNhbnZhcy9waGls
aXAvdGVzdHMvMmQuY29tcG9zaXRlLm9wZXJhdGlvbi5kYXJrZXIuaHRtbAogY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5jb21wb3NpdGUub3BlcmF0aW9uLmhpZ2hsaWdodC5odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>