<?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>36505</bug_id>
          
          <creation_ts>2010-03-23 14:17:50 -0700</creation_ts>
          <short_desc>Generated run-in Content is Mistakenly Getting Deleted</short_desc>
          <delta_ts>2010-03-26 14:42:38 -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>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>hyatt</cc>
    
    <cc>joepeck</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>203204</commentid>
    <comment_count>0</comment_count>
      <attachid>51452</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-23 14:17:50 -0700</bug_when>
    <thetext>Created attachment 51452
[TEST] This Just Adds a Dynamic Style Update to the Existing &quot;fast/runin/generated.html&quot; testgenerated

Generated Content, such as `div:before { content: &quot;generated&quot;; display: run-in }` is mistakenly getting deleted on an update to the content it was &quot;run into&quot; on later layouts. Test case attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203229</commentid>
    <comment_count>1</comment_count>
      <attachid>51456</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-23 14:54:51 -0700</bug_when>
    <thetext>Created attachment 51456
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203422</commentid>
    <comment_count>2</comment_count>
      <attachid>51456</attachid>
    <who name="">mitz</who>
    <bug_when>2010-03-24 08:44:51 -0700</bug_when>
    <thetext>Comment on attachment 51456
[PATCH] Proposed Fix

I am going to review the code change soon, but I already have a comment about the test.

&gt; +// Force a second, dynamic layout
&gt; +setTimeout(function() {
&gt; +    document.getElementById(&apos;inner&apos;).style.color = &apos;blue&apos;;
&gt; +}, 0);

This is not a reliable (because without using LayoutTestController’s waitUntilDone()/notifyDone() the test may end before the timer fires) nor efficient way to do this. The standard way to force layout is to query a DOM property that depends on layout. Tests commonly just include this statement:
    document.body.offsetTop;
which forces layout. Then you do your style change, then when the document is done loading, it forces another layout, then the final render tree is dumped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203443</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-24 09:20:03 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; This is not a reliable (because without using LayoutTestController’s
&gt; waitUntilDone()/notifyDone() the test may end before the timer fires) nor
&gt; efficient way to do this. The standard way to force layout is to query a DOM
&gt; property that depends on layout. Tests commonly just include this statement:
&gt;     document.body.offsetTop;
&gt; which forces layout. Then you do your style change, then when the document is
&gt; done loading, it forces another layout, then the final render tree is dumped.

Ahh, thanks. I should have realized this. I corrected the test and expected results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203444</commentid>
    <comment_count>4</comment_count>
      <attachid>51513</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-24 09:22:06 -0700</bug_when>
    <thetext>Created attachment 51513
[PATCH] Fixed Test and Expected Results

Note that the run-in content is not blue, even though it gets injected into div#inner. I believe this is the expected behavior, but I could be wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203473</commentid>
    <comment_count>5</comment_count>
      <attachid>51513</attachid>
    <who name="">mitz</who>
    <bug_when>2010-03-24 10:29:51 -0700</bug_when>
    <thetext>Comment on attachment 51513
[PATCH] Fixed Test and Expected Results

I think this breaks the case identical to your test case except you set the style on the &quot;target&quot; element. It looks like in that case, with your patch, you will get two copies of “PASS”. You need to somehow distinguish between the case where the run-in is :before content from an ancestor and the case where it is your own. I don’t know exactly how you would do that, but I think beforeAfterContainer() is the function that should resolve that.

Since this patch wasn’t up for review, I will not r- it :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203488</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-24 10:47:43 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 51513 [details])
&gt; I think this breaks the case identical to your test case except you set the
&gt; style on the &quot;target&quot; element. It looks like in that case, with your patch, you
&gt; will get two copies of “PASS”. You need to somehow distinguish between the case
&gt; where the run-in is :before content from an ancestor and the case where it is
&gt; your own. I don’t know exactly how you would do that, but I think
&gt; beforeAfterContainer() is the function that should resolve that.

You&apos;re correct. Thanks for the pointers!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203684</commentid>
    <comment_count>7</comment_count>
      <attachid>51565</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-24 16:36:22 -0700</bug_when>
    <thetext>Created attachment 51565
[PATCH] Addressed Comments - New Test

This patch has two tests. The one from before and the one from Dan&apos;s comment about (about updating the style on #target causing duplicate content).  The comment in the code describes how I handle the situation.

Hyatt mentioned on IRC I should probably break this up into two patches. I can do that if you want!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203686</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-24 16:45:23 -0700</bug_when>
    <thetext>hyatt&apos;s comments on IRC were:

&gt; (1) teach the parent block not to be confused by a child run-in
&gt; that is inline (and thus belongs to the parent block&apos;s parent)
&gt; (2) teach the grandparent block how to find and update a successfully
&gt; run-in child in one of its child blocks

&gt; your bug fix is very close to fixing (1) but needs to check for inline
&gt; display (inline renderobject type) also (2) is a separate bug and
&gt; could be filed on its own fixing (1) won&apos;t make (2) any worse

I put them together because I believe fixing (1) did cause (2) to get worse (the duplicate rendering still happened). So I came up with the above solution, which worked as I expected it too in all the cases I could come up with (adding extra block elements, floaters, etc).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204274</commentid>
    <comment_count>9</comment_count>
      <attachid>51687</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-25 15:59:25 -0700</bug_when>
    <thetext>Created attachment 51687
[PATCH] Addressed List Marker Comments - Another Test

This addressed Hyatt&apos;s comments about skipping list markers. Indeed that was necessary, and the new test (generated4.html) checks for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204276</commentid>
    <comment_count>10</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-25 16:04:26 -0700</bug_when>
    <thetext>Just a heads up, besides correctly handling listMarkers I also made an optimization:

&gt; -        while (first &amp;&amp; (!first-&gt;isRenderBlock() || first-&gt;isFloatingOrPositioned()))
&gt; +        if (!first-&gt;isRenderBlock())
&gt; +            return 0;
&gt; +        while (first &amp;&amp; first-&gt;isFloatingOrPositioned())

Render block sibling should only be render blocks. So I can check once (before the loop) instead of every iteration. That is what the original isRunIn() handling code did. Also, a null check for first is handled before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204730</commentid>
    <comment_count>11</comment_count>
      <attachid>51687</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-03-26 12:51:18 -0700</bug_when>
    <thetext>Comment on attachment 51687
[PATCH] Addressed List Marker Comments - Another Test

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204787</commentid>
    <comment_count>12</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-26 14:42:38 -0700</bug_when>
    <thetext>Committed r56641
	M	WebCore/ChangeLog
	M	WebCore/rendering/RenderObjectChildList.cpp
	A	LayoutTests/platform/mac/fast/runin/generated4-expected.txt
	A	LayoutTests/platform/mac/fast/runin/generated2-expected.txt
	A	LayoutTests/platform/mac/fast/runin/generated3-expected.txt
	A	LayoutTests/fast/runin/generated2.html
	A	LayoutTests/fast/runin/generated3.html
	A	LayoutTests/fast/runin/generated4.html
	M	LayoutTests/ChangeLog
r56641 = 78029fb8a2fe47e969b9f03e90fccc9f5117245a (trunk)
http://trac.webkit.org/changeset/56641

All the bots so far have produced the correct expected results!
Windows bots haven&apos;t finished yet, but I will close this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>51452</attachid>
            <date>2010-03-23 14:17:50 -0700</date>
            <delta_ts>2010-03-23 14:17:50 -0700</delta_ts>
            <desc>[TEST] This Just Adds a Dynamic Style Update to the Existing &quot;fast/runin/generated.html&quot; testgenerated</desc>
            <filename>generated2.html</filename>
            <type>text/html</type>
            <size>331</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">PHN0eWxlPgojdGFyZ2V0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiUEFTUyI7CiAgICBkaXNwbGF5
OiBydW4taW47Cn0KPC9zdHlsZT4KPHA+eDwvcD4KPGRpdiBpZD0idGFyZ2V0Ij4KICAgPGRpdiBp
ZD0iaW5uZXIiPiAmbHQ7IHRoaXMgc2hvdWxkIHNheSBzdGlsbCBzYXkgJmxkcXVvO1BBU1MmcmRx
dW87PC9kaXY+CjwvZGl2Pgo8c2NyaXB0PgovLyBGb3JjZSBhIHNlY29uZCwgZHluYW1pYyBsYXlv
dXQKc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdp
bm5lcicpLnN0eWxlLmNvbG9yID0gJ2JsdWUnOwp9LCAwKTsKPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51456</attachid>
            <date>2010-03-23 14:54:51 -0700</date>
            <delta_ts>2010-03-24 09:22:06 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>runin.txt</filename>
            <type>text/plain</type>
            <size>4253</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2YjZjMzI0Li4xZmQ0ODRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDMt
MjMgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZW5lcmF0ZWQgcnVuLWluIENvbnRl
bnQgaXMgTWlzdGFrZW5seSBHZXR0aW5nIERlbGV0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2NTA1CisKKyAgICAgICAgKiBmYXN0L3J1bmluL2dl
bmVyYXRlZDIuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcnVuaW4v
Z2VuZXJhdGVkMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEwLTAzLTIzICBNT1JJVEEgSGFq
aW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQ
cm9za3VyeWFrb3YuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3J1bmluL2dlbmVyYXRl
ZDIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcnVuaW4vZ2VuZXJhdGVkMi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4YTFhOGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3J1bmluL2dlbmVyYXRlZDIuaHRtbApAQCAtMCwwICsxLDE2IEBACis8
c3R5bGU+CisjdGFyZ2V0OmJlZm9yZSB7CisgICAgY29udGVudDogIlBBU1MiOworICAgIGRpc3Bs
YXk6IHJ1bi1pbjsKK30KKzwvc3R5bGU+Cis8cD54PC9wPgorPGRpdiBpZD0idGFyZ2V0Ij4KKyAg
IDxkaXYgaWQ9ImlubmVyIj4gJmx0OyB0aGlzIHNob3VsZCBzYXkgc3RpbGwgc2F5ICZsZHF1bztQ
QVNTJnJkcXVvOzwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorLy8gRm9yY2UgYSBzZWNvbmQsIGR5
bmFtaWMgbGF5b3V0CitzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdpbm5lcicpLnN0eWxlLmNvbG9yID0gJ2JsdWUnOworfSwgMCk7Cis8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3J1bmluL2dlbmVy
YXRlZDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcnVuaW4v
Z2VuZXJhdGVkMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNjk5ZjRlNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3J1bmluL2dlbmVyYXRlZDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYw
MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4
NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOAorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4eDE4CisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggODogIngiCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwz
NCkgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3
ODR4MTgKKyAgICAgICAgICBSZW5kZXJJbmxpbmUgKGdlbmVyYXRlZCkgYXQgKDAsMCkgc2l6ZSAz
OXgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDM5eDE4CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM5OiAiUEFTUyIKKyAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDM5LDApIHNpemUgMjE4eDE4CisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMzksMCkgd2lkdGggMjE4OiAiIDwgdGhpcyBzaG91bGQgc2F5IHN0aWxsIHNheSBceHsy
MDFDfVBBU1NceHsyMDFEfSIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggODkwYTljZS4uZWNkZWEwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0w
My0yMyAgSm9zZXBoIFBlY29yYXJvICA8am9lcGVja0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdlbmVyYXRlZCBydW4taW4gQ29u
dGVudCBpcyBNaXN0YWtlbmx5IEdldHRpbmcgRGVsZXRlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY1MDUKKworICAgICAgICBUZXN0OiBmYXN0L3J1
bmluL2dlbmVyYXRlZDIuaHRtbAorCisgICAgICAgIERvIG5vdCBkZXN0b3J5IDpiZWZvcmUvOmFm
dGVyIGdlbmVyYXRlZCBjb250ZW50IHdpdGggZGlzcGxheSBydW4taW4KKyAgICAgICAgd2hlbiBy
ZWxheWluZyBvdXQgdGhlIGNvbnRlbnQgdGhhdCB0aGUgcnVuLWluIG1lcmdlZCBpbnRvLgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJPYmplY3RDaGlsZExpc3Q6OnVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudCk6
CisKIDIwMTAtMDMtMjIgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBLaWx6ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcAppbmRleCBkNTZhMDE1Li41Y2QwMzYxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAKQEAgLTMxNCw3ICszMTQsNyBA
QCB2b2lkIFJlbmRlck9iamVjdENoaWxkTGlzdDo6dXBkYXRlQmVmb3JlQWZ0ZXJDb250ZW50KFJl
bmRlck9iamVjdCogb3duZXIsIFBzZXVkbwogICAgIC8vIFdoZXRoZXIgb3Igbm90IHdlIGN1cnJl
bnRseSBoYXZlIGdlbmVyYXRlZCBjb250ZW50IGF0dGFjaGVkLgogICAgIGJvb2wgb2xkQ29udGVu
dFByZXNlbnQgPSBjaGlsZDsKIAotICAgIC8vIFdoZXRoZXIgb3Igbm90IHdlIG5vdyB3YW50IGdl
bmVyYXRlZCBjb250ZW50LiAgCisgICAgLy8gV2hldGhlciBvciBub3Qgd2Ugbm93IHdhbnQgZ2Vu
ZXJhdGVkIGNvbnRlbnQuCiAgICAgYm9vbCBuZXdDb250ZW50V2FudGVkID0gcHNldWRvRWxlbWVu
dFN0eWxlICYmIHBzZXVkb0VsZW1lbnRTdHlsZS0+ZGlzcGxheSgpICE9IE5PTkU7CiAKICAgICAv
LyBGb3IgPHE+PHAvPjwvcT4sIGlmIHRoaXMgb2JqZWN0IGlzIHRoZSBpbmxpbmUgY29udGludWF0
aW9uIG9mIHRoZSA8cT4sIHdlIG9ubHkgd2FudCB0byBnZW5lcmF0ZQpAQCAtMzMyLDcgKzMzMiw3
IEBAIHZvaWQgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0Ojp1cGRhdGVCZWZvcmVBZnRlckNvbnRlbnQo
UmVuZGVyT2JqZWN0KiBvd25lciwgUHNldWRvCiAgICAgLy8gb2YgdGhlIG9sZCBnZW5lcmF0ZWQg
Y29udGVudC4KICAgICBpZiAoIW5ld0NvbnRlbnRXYW50ZWQgfHwgKG9sZENvbnRlbnRQcmVzZW50
ICYmIE5vZGU6OmRpZmYoY2hpbGQtPnN0eWxlKCksIHBzZXVkb0VsZW1lbnRTdHlsZSkgPT0gTm9k
ZTo6RGV0YWNoKSkgewogICAgICAgICAvLyBOdWtlIHRoZSBjaGlsZC4gCi0gICAgICAgIGlmIChj
aGlsZCAmJiBjaGlsZC0+c3R5bGUoKS0+c3R5bGVUeXBlKCkgPT0gdHlwZSkgeworICAgICAgICBp
ZiAoY2hpbGQgJiYgY2hpbGQtPnN0eWxlKCktPnN0eWxlVHlwZSgpID09IHR5cGUgJiYgIWNoaWxk
LT5pc1J1bkluKCkpIHsKICAgICAgICAgICAgIG9sZENvbnRlbnRQcmVzZW50ID0gZmFsc2U7CiAg
ICAgICAgICAgICBjaGlsZC0+ZGVzdHJveSgpOwogICAgICAgICAgICAgY2hpbGQgPSAodHlwZSA9
PSBCRUZPUkUpID8gb3duZXItPnZpcnR1YWxDaGlsZHJlbigpLT5maXJzdENoaWxkKCkgOiBvd25l
ci0+dmlydHVhbENoaWxkcmVuKCktPmxhc3RDaGlsZCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51513</attachid>
            <date>2010-03-24 09:22:06 -0700</date>
            <delta_ts>2010-03-24 16:36:22 -0700</delta_ts>
            <desc>[PATCH] Fixed Test and Expected Results</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>4351</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZTQ1NmRiLi45YTM3YzQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDMt
MjMgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZW5lcmF0ZWQgcnVuLWluIENvbnRl
bnQgaXMgTWlzdGFrZW5seSBHZXR0aW5nIERlbGV0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2NTA1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83
NzY3MTYxPgorCisgICAgICAgICogZmFzdC9ydW5pbi9nZW5lcmF0ZWQyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3J1bmluL2dlbmVyYXRlZDItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKwogMjAxMC0wMy0yMyAgQ2hyaXMgRXZhbnMgIDxjZXZhbnNAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ydW5pbi9nZW5lcmF0ZWQyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3J1bmlu
L2dlbmVyYXRlZDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YWRj
NTMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ydW5pbi9nZW5lcmF0ZWQy
Lmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPHN0eWxlPgorI3RhcmdldDpiZWZvcmUgeworICAgIGNv
bnRlbnQ6ICJQQVNTIjsKKyAgICBkaXNwbGF5OiBydW4taW47Cit9Cis8L3N0eWxlPgorPHA+eDwv
cD4KKzxkaXYgaWQ9InRhcmdldCI+CisgICA8ZGl2IGlkPSJpbm5lciI+ICZsdDsgdGhpcyBzaG91
bGQgc2F5IHN0aWxsIHNheSAmbGRxdW87UEFTUyZyZHF1bzs8L2Rpdj4KKzwvZGl2PgorPHNjcmlw
dD4KKy8vIEZvcmNlIGxheW91dC4KK2RvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworCisvLyBDYXVz
ZSBhIGxheW91dCBvZiB0aGUgaW5uZXIgZGl2LgorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lu
bmVyJykuc3R5bGUuY29sb3IgPSAnYmx1ZSc7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3J1bmluL2dlbmVyYXRlZDItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcnVuaW4vZ2VuZXJhdGVkMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE2YjA2NAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3J1bmluL2dlbmVyYXRlZDIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJs
b2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSA4eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODog
IngiCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwzNCkgc2l6ZSA3ODR4MTgKKyAgICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDAwRkZd
CisgICAgICAgICAgUmVuZGVySW5saW5lIChnZW5lcmF0ZWQpIGF0ICgwLDApIHNpemUgMzl4MTgg
W2NvbG9yPSMwMDAwMDBdCisgICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMzl4
MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzk6ICJQQVNTIgorICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzksMCkgc2l6ZSAyMTh4MTgKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgzOSwwKSB3aWR0aCAyMTg6ICIgPCB0aGlzIHNob3VsZCBzYXkgc3Rp
bGwgc2F5IFx4ezIwMUN9UEFTU1x4ezIwMUR9IgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNzI4NTQzLi40OTIwMTYyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEwLTAzLTIzICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2VuZXJhdGVk
IHJ1bi1pbiBDb250ZW50IGlzIE1pc3Rha2VubHkgR2V0dGluZyBEZWxldGVkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjUwNQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNzc2NzE2MT4KKworICAgICAgICBUZXN0OiBmYXN0L3J1bmluL2dlbmVyYXRl
ZDIuaHRtbAorCisgICAgICAgIERvIG5vdCBkZXN0b3J5IDpiZWZvcmUvOmFmdGVyIGdlbmVyYXRl
ZCBjb250ZW50IHdpdGggZGlzcGxheSBydW4taW4KKyAgICAgICAgd2hlbiByZWxheWluZyBvdXQg
dGhlIGNvbnRlbnQgdGhhdCB0aGUgcnVuLWluIG1lcmdlZCBpbnRvLgorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJPYmplY3RDaGlsZExpc3Q6OnVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudCk6CisKIDIwMTAtMDMt
MjMgIENocmlzIEV2YW5zICA8Y2V2YW5zQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdENoaWxkTGlzdC5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExp
c3QuY3BwCmluZGV4IGQ1NmEwMTUuLjVjZDAzNjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcApAQCAtMzE0LDcgKzMxNCw3IEBAIHZvaWQgUmVuZGVyT2Jq
ZWN0Q2hpbGRMaXN0Ojp1cGRhdGVCZWZvcmVBZnRlckNvbnRlbnQoUmVuZGVyT2JqZWN0KiBvd25l
ciwgUHNldWRvCiAgICAgLy8gV2hldGhlciBvciBub3Qgd2UgY3VycmVudGx5IGhhdmUgZ2VuZXJh
dGVkIGNvbnRlbnQgYXR0YWNoZWQuCiAgICAgYm9vbCBvbGRDb250ZW50UHJlc2VudCA9IGNoaWxk
OwogCi0gICAgLy8gV2hldGhlciBvciBub3Qgd2Ugbm93IHdhbnQgZ2VuZXJhdGVkIGNvbnRlbnQu
ICAKKyAgICAvLyBXaGV0aGVyIG9yIG5vdCB3ZSBub3cgd2FudCBnZW5lcmF0ZWQgY29udGVudC4K
ICAgICBib29sIG5ld0NvbnRlbnRXYW50ZWQgPSBwc2V1ZG9FbGVtZW50U3R5bGUgJiYgcHNldWRv
RWxlbWVudFN0eWxlLT5kaXNwbGF5KCkgIT0gTk9ORTsKIAogICAgIC8vIEZvciA8cT48cC8+PC9x
PiwgaWYgdGhpcyBvYmplY3QgaXMgdGhlIGlubGluZSBjb250aW51YXRpb24gb2YgdGhlIDxxPiwg
d2Ugb25seSB3YW50IHRvIGdlbmVyYXRlCkBAIC0zMzIsNyArMzMyLDcgQEAgdm9pZCBSZW5kZXJP
YmplY3RDaGlsZExpc3Q6OnVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudChSZW5kZXJPYmplY3QqIG93
bmVyLCBQc2V1ZG8KICAgICAvLyBvZiB0aGUgb2xkIGdlbmVyYXRlZCBjb250ZW50LgogICAgIGlm
ICghbmV3Q29udGVudFdhbnRlZCB8fCAob2xkQ29udGVudFByZXNlbnQgJiYgTm9kZTo6ZGlmZihj
aGlsZC0+c3R5bGUoKSwgcHNldWRvRWxlbWVudFN0eWxlKSA9PSBOb2RlOjpEZXRhY2gpKSB7CiAg
ICAgICAgIC8vIE51a2UgdGhlIGNoaWxkLiAKLSAgICAgICAgaWYgKGNoaWxkICYmIGNoaWxkLT5z
dHlsZSgpLT5zdHlsZVR5cGUoKSA9PSB0eXBlKSB7CisgICAgICAgIGlmIChjaGlsZCAmJiBjaGls
ZC0+c3R5bGUoKS0+c3R5bGVUeXBlKCkgPT0gdHlwZSAmJiAhY2hpbGQtPmlzUnVuSW4oKSkgewog
ICAgICAgICAgICAgb2xkQ29udGVudFByZXNlbnQgPSBmYWxzZTsKICAgICAgICAgICAgIGNoaWxk
LT5kZXN0cm95KCk7CiAgICAgICAgICAgICBjaGlsZCA9ICh0eXBlID09IEJFRk9SRSkgPyBvd25l
ci0+dmlydHVhbENoaWxkcmVuKCktPmZpcnN0Q2hpbGQoKSA6IG93bmVyLT52aXJ0dWFsQ2hpbGRy
ZW4oKS0+bGFzdENoaWxkKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51565</attachid>
            <date>2010-03-24 16:36:22 -0700</date>
            <delta_ts>2010-03-25 15:59:25 -0700</delta_ts>
            <desc>[PATCH] Addressed Comments - New Test</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>8787</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZTQ1NmRiLi5hYmNhMDYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDMt
MjQgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZW5lcmF0ZWQgcnVuLWluIENvbnRl
bnQgaXMgTWlzdGFrZW5seSBHZXR0aW5nIERlbGV0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2NTA1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83
NzY3MTYxPgorCisgICAgICAgICAgVGVzdCBkeW5hbWljIHVwZGF0ZSBvZiB0aGUgaW5uZXIgYmxv
Y2ssIGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZAorICAgICAgICAgIHJ1bi1pbiwgYnV0IG5vdCBv
d25pbmcgaXQgd2l0aCB0aGUgOmJlZm9yZSBydWxlLgorCisgICAgICAgICogZmFzdC9ydW5pbi9n
ZW5lcmF0ZWQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3J1bmlu
L2dlbmVyYXRlZDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKworICAgICAgICAgIFRlc3QgZHluYW1p
YyB1cGRhdGUgb2YgdGhlIG91dGVyIGJsb2NrLCB0aGlzIGJsb2NrIG93bnMgdGhlCisgICAgICAg
ICAgZ2VuZXJhdGVkIHJ1bi1pbiwgYnV0IGl0IGlzIGFjdHVhbGx5IGNvbnRhaW5lZCBpbiBhIGNo
aWxkIGJsb2NrLgorCisgICAgICAgICogZmFzdC9ydW5pbi9nZW5lcmF0ZWQyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3J1bmluL2dlbmVyYXRlZDMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKwogMjAxMC0wMy0yMyAgQ2hyaXMgRXZhbnMgIDxjZXZhbnNAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9ydW5pbi9nZW5lcmF0ZWQyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3J1
bmluL2dlbmVyYXRlZDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44
YWRjNTMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ydW5pbi9nZW5lcmF0
ZWQyLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPHN0eWxlPgorI3RhcmdldDpiZWZvcmUgeworICAg
IGNvbnRlbnQ6ICJQQVNTIjsKKyAgICBkaXNwbGF5OiBydW4taW47Cit9Cis8L3N0eWxlPgorPHA+
eDwvcD4KKzxkaXYgaWQ9InRhcmdldCI+CisgICA8ZGl2IGlkPSJpbm5lciI+ICZsdDsgdGhpcyBz
aG91bGQgc2F5IHN0aWxsIHNheSAmbGRxdW87UEFTUyZyZHF1bzs8L2Rpdj4KKzwvZGl2PgorPHNj
cmlwdD4KKy8vIEZvcmNlIGxheW91dC4KK2RvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworCisvLyBD
YXVzZSBhIGxheW91dCBvZiB0aGUgaW5uZXIgZGl2LgorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2lubmVyJykuc3R5bGUuY29sb3IgPSAnYmx1ZSc7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvcnVuaW4vZ2VuZXJhdGVkMy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9y
dW5pbi9nZW5lcmF0ZWQzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NjllOTRhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcnVuaW4vZ2VuZXJh
dGVkMy5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxzdHlsZT4KKyN0YXJnZXQ6YmVmb3JlIHsKKyAg
ICBjb250ZW50OiAiUEFTUyI7CisgICAgZGlzcGxheTogcnVuLWluOworfQorPC9zdHlsZT4KKzxw
Png8L3A+Cis8ZGl2IGlkPSJ0YXJnZXQiPgorICAgPGRpdiBpZD0iaW5uZXIiPiAmbHQ7IHRoaXMg
c2hvdWxkIHNheSBzdGlsbCBzYXkgJmxkcXVvO1BBU1MmcmRxdW87PC9kaXY+Cis8L2Rpdj4KKzxz
Y3JpcHQ+CisvLyBGb3JjZSBsYXlvdXQuCitkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKKworLy8g
Q2F1c2UgYSBsYXlvdXQgb2YgdGhlIG91dGVyIGRpdi4KK2RvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0YXJnZXQnKS5zdHlsZS5jb2xvciA9ICdibHVlJzsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcnVuaW4vZ2VuZXJhdGVkMi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ydW5pbi9nZW5lcmF0ZWQyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTZiMDY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcnVuaW4vZ2VuZXJh
dGVkMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYw
MAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4CisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDh4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA4OiAieCIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDM0KSBzaXplIDc4NHgxOAor
ICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHgxOCBbY29sb3I9IzAw
MDBGRl0KKyAgICAgICAgICBSZW5kZXJJbmxpbmUgKGdlbmVyYXRlZCkgYXQgKDAsMCkgc2l6ZSAz
OXgxOCBbY29sb3I9IzAwMDAwMF0KKyAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6
ZSAzOXgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzOTogIlBBU1Mi
CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzOSwwKSBzaXplIDIxOHgxOAorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDM5LDApIHdpZHRoIDIxODogIiA8IHRoaXMgc2hvdWxkIHNh
eSBzdGlsbCBzYXkgXHh7MjAxQ31QQVNTXHh7MjAxRH0iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9ydW5pbi9nZW5lcmF0ZWQzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3J1bmluL2dlbmVyYXRlZDMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4NWFhZmMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ydW5pbi9nZW5lcmF0ZWQzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgOHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg6ICJ4Igor
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzQpIHNpemUgNzg0eDE4IFtjb2xvcj0jMDAw
MEZGXQorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHgxOAorICAg
ICAgICAgIFJlbmRlcklubGluZSAoZ2VuZXJhdGVkKSBhdCAoMCwwKSBzaXplIDM5eDE4CisgICAg
ICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMzl4MTgKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMzk6ICJQQVNTIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMzksMCkgc2l6ZSAyMTh4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzOSww
KSB3aWR0aCAyMTg6ICIgPCB0aGlzIHNob3VsZCBzYXkgc3RpbGwgc2F5IFx4ezIwMUN9UEFTU1x4
ezIwMUR9IgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCAzNzI4NTQzLi5hYWM2ZTBhIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEwLTAzLTI0ICBKb3Nl
cGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2VuZXJhdGVkIHJ1bi1pbiBDb250ZW50IGlzIE1p
c3Rha2VubHkgR2V0dGluZyBEZWxldGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zNjUwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzc2NzE2MT4K
KworICAgICAgICBUZXN0OiBmYXN0L3J1bmluL2dlbmVyYXRlZDIuaHRtbAorICAgICAgICBUZXN0
OiBmYXN0L3J1bmluL2dlbmVyYXRlZDMuaHRtbAorCisgICAgICAgIERvIG5vdCBkZXN0b3J5IDpi
ZWZvcmUvOmFmdGVyIGdlbmVyYXRlZCBjb250ZW50IHdpdGggZGlzcGxheSBydW4taW4KKyAgICAg
ICAgd2hlbiByZWxheWluZyBvdXQgZGlmZmVyZW50IG5vZGVzLgorCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJP
YmplY3RDaGlsZExpc3Q6OnVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudCk6IHNpbXBsaWZpZWQgbG9n
aWMKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdENoaWxkTGlzdDo6YmVmb3JlQWZ0ZXJD
b250YWluZXIpOiBza2lwIGdlbmVyYXRlZCBydW4taW5zIHdoZW4gY2hlY2tpbmcgY2hpbGRyZW4s
IGNoZWNrIGZvciB0aGVtIGluIGdyYW5kY2hpbGRyZW4KKwogMjAxMC0wMy0yMyAgQ2hyaXMgRXZh
bnMgIDxjZXZhbnNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFk
bGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0
LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAKaW5kZXgg
ZDU2YTAxNS4uOGNhOWEwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0Q2hpbGRMaXN0LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGls
ZExpc3QuY3BwCkBAIC0yMzQsMTcgKzIzNCwzNyBAQCB2b2lkIFJlbmRlck9iamVjdENoaWxkTGlz
dDo6aW5zZXJ0Q2hpbGROb2RlKFJlbmRlck9iamVjdCogb3duZXIsIFJlbmRlck9iamVjdCogYwog
c3RhdGljIFJlbmRlck9iamVjdCogYmVmb3JlQWZ0ZXJDb250YWluZXIoUmVuZGVyT2JqZWN0KiBj
b250YWluZXIsIFBzZXVkb0lkIHR5cGUpCiB7CiAgICAgaWYgKHR5cGUgPT0gQkVGT1JFKSB7Cisg
ICAgICAgIC8vIEFuIGFub255bW91cyAoZ2VuZXJhdGVkKSBpbmxpbmUgcnVuLWluIHRoYXQgaGFz
IFBzZXVkb0lkIEJFRk9SRSBtdXN0IGNvbWUgZnJvbSBhIGdyYW5kcGFyZW50LgorICAgICAgICAv
LyBUaGVyZWZvcmUgd2Ugc2hvdWxkIHNraXAgdGhlc2UgZ2VuZXJhdGVkIHJ1bi1pbnMgd2hlbiBj
aGVja2luZyBvdXIgaW1tZWRpYXRlIGNoaWxkcmVuLgorICAgICAgICAvLyBJZiB3ZSBkb24ndCBm
aW5kIG91ciA6YmVmb3JlIGNoaWxkIGltbWVkaWF0ZWx5LCB0aGVuIHdlIHNob3VsZCBjaGVjayBp
ZiB3ZSBvd24gYQorICAgICAgICAvLyBnZW5lcmF0ZWQgaW5saW5lIHJ1bi1pbiBpbiB0aGUgbmV4
dCBsZXZlbCBvZiBjaGlsZHJlbi4KICAgICAgICAgUmVuZGVyT2JqZWN0KiBmaXJzdCA9IGNvbnRh
aW5lcjsKICAgICAgICAgZG8gewotICAgICAgICAgICAgLy8gU2tpcCBsaXN0IG1hcmtlcnMuCisg
ICAgICAgICAgICAvLyBTa2lwIGxpc3QgbWFya2VycyBhbmQgZ2VuZXJhdGVkIHJ1bi1pbnMKICAg
ICAgICAgICAgIGZpcnN0ID0gZmlyc3QtPmZpcnN0Q2hpbGQoKTsKLSAgICAgICAgICAgIHdoaWxl
IChmaXJzdCAmJiBmaXJzdC0+aXNMaXN0TWFya2VyKCkpCisgICAgICAgICAgICB3aGlsZSAoZmly
c3QgJiYgKGZpcnN0LT5pc0xpc3RNYXJrZXIoKSB8fCAoZmlyc3QtPmlzUmVuZGVySW5saW5lKCkg
JiYgZmlyc3QtPmlzUnVuSW4oKSAmJiBmaXJzdC0+aXNBbm9ueW1vdXMoKSkpKQogICAgICAgICAg
ICAgICAgIGZpcnN0ID0gZmlyc3QtPm5leHRTaWJsaW5nKCk7CiAgICAgICAgIH0gd2hpbGUgKGZp
cnN0ICYmIGZpcnN0LT5pc0Fub255bW91cygpICYmIGZpcnN0LT5zdHlsZSgpLT5zdHlsZVR5cGUo
KSA9PSBOT1BTRVVETyk7Ci0gICAgICAgIGlmIChmaXJzdCAmJiBmaXJzdC0+c3R5bGUoKS0+c3R5
bGVUeXBlKCkgIT0gdHlwZSkKKworICAgICAgICBpZiAoIWZpcnN0KQogICAgICAgICAgICAgcmV0
dXJuIDA7Ci0gICAgICAgIHJldHVybiBmaXJzdDsKKworICAgICAgICBpZiAoZmlyc3QtPnN0eWxl
KCktPnN0eWxlVHlwZSgpID09IHR5cGUpCisgICAgICAgICAgICByZXR1cm4gZmlyc3Q7CisKKyAg
ICAgICAgLy8gQ2hlY2sgZm9yIGEgcG9zc2libGUgZ2VuZXJhdGVkIHJ1bi1pbiwgdXNpbmcgcnVu
LWluIHBvc2l0aW9uaW5nIHJ1bGVzLgorICAgICAgICAvLyBTa2lwIGlubGluZXMgYW5kIGZsb2F0
aW5nIC8gcG9zaXRpb25lZCBibG9ja3MsIGFuZCBwbGFjZSBhcyB0aGUgZmlyc3QgY2hpbGQuCisg
ICAgICAgIGZpcnN0ID0gY29udGFpbmVyLT5maXJzdENoaWxkKCk7CisgICAgICAgIHdoaWxlIChm
aXJzdCAmJiAoIWZpcnN0LT5pc1JlbmRlckJsb2NrKCkgfHwgZmlyc3QtPmlzRmxvYXRpbmdPclBv
c2l0aW9uZWQoKSkpCisgICAgICAgICAgICBmaXJzdCA9IGZpcnN0LT5uZXh0U2libGluZygpOwor
ICAgICAgICBpZiAoZmlyc3QpIHsKKyAgICAgICAgICAgIGZpcnN0ID0gZmlyc3QtPmZpcnN0Q2hp
bGQoKTsKKyAgICAgICAgICAgIGlmIChmaXJzdCAmJiBmaXJzdC0+c3R5bGUoKS0+c3R5bGVUeXBl
KCkgPT0gdHlwZSAmJiBmaXJzdC0+aXNSZW5kZXJJbmxpbmUoKSAmJiBmaXJzdC0+aXNSdW5Jbigp
ICYmIGZpcnN0LT5pc0Fub255bW91cygpKQorICAgICAgICAgICAgICAgIHJldHVybiBmaXJzdDsK
KyAgICAgICAgfQorICAgICAgICByZXR1cm4gMDsKICAgICB9CisKICAgICBpZiAodHlwZSA9PSBB
RlRFUikgewogICAgICAgICBSZW5kZXJPYmplY3QqIGxhc3QgPSBjb250YWluZXI7CiAgICAgICAg
IGRvIHsKQEAgLTMxNCw3ICszMzQsNyBAQCB2b2lkIFJlbmRlck9iamVjdENoaWxkTGlzdDo6dXBk
YXRlQmVmb3JlQWZ0ZXJDb250ZW50KFJlbmRlck9iamVjdCogb3duZXIsIFBzZXVkbwogICAgIC8v
IFdoZXRoZXIgb3Igbm90IHdlIGN1cnJlbnRseSBoYXZlIGdlbmVyYXRlZCBjb250ZW50IGF0dGFj
aGVkLgogICAgIGJvb2wgb2xkQ29udGVudFByZXNlbnQgPSBjaGlsZDsKIAotICAgIC8vIFdoZXRo
ZXIgb3Igbm90IHdlIG5vdyB3YW50IGdlbmVyYXRlZCBjb250ZW50LiAgCisgICAgLy8gV2hldGhl
ciBvciBub3Qgd2Ugbm93IHdhbnQgZ2VuZXJhdGVkIGNvbnRlbnQuCiAgICAgYm9vbCBuZXdDb250
ZW50V2FudGVkID0gcHNldWRvRWxlbWVudFN0eWxlICYmIHBzZXVkb0VsZW1lbnRTdHlsZS0+ZGlz
cGxheSgpICE9IE5PTkU7CiAKICAgICAvLyBGb3IgPHE+PHAvPjwvcT4sIGlmIHRoaXMgb2JqZWN0
IGlzIHRoZSBpbmxpbmUgY29udGludWF0aW9uIG9mIHRoZSA8cT4sIHdlIG9ubHkgd2FudCB0byBn
ZW5lcmF0ZQpAQCAtMzMwLDkgKzM1MCw5IEBAIHZvaWQgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0Ojp1
cGRhdGVCZWZvcmVBZnRlckNvbnRlbnQoUmVuZGVyT2JqZWN0KiBvd25lciwgUHNldWRvCiAgICAg
Ly8gSWYgd2UgZG9uJ3Qgd2FudCBnZW5lcmF0ZWQgY29udGVudCBhbnkgbG9uZ2VyLCBvciBpZiB3
ZSBoYXZlIGdlbmVyYXRlZCBjb250ZW50LCBidXQgaXQncyBubyBsb25nZXIKICAgICAvLyBpZGVu
dGljYWwgdG8gdGhlIG5ldyBjb250ZW50IGRhdGEgd2Ugd2FudCB0byBidWlsZCByZW5kZXIgb2Jq
ZWN0cyBmb3IsIHRoZW4gd2UgbnVrZSBhbGwKICAgICAvLyBvZiB0aGUgb2xkIGdlbmVyYXRlZCBj
b250ZW50LgotICAgIGlmICghbmV3Q29udGVudFdhbnRlZCB8fCAob2xkQ29udGVudFByZXNlbnQg
JiYgTm9kZTo6ZGlmZihjaGlsZC0+c3R5bGUoKSwgcHNldWRvRWxlbWVudFN0eWxlKSA9PSBOb2Rl
OjpEZXRhY2gpKSB7CisgICAgaWYgKG9sZENvbnRlbnRQcmVzZW50ICYmICghbmV3Q29udGVudFdh
bnRlZCB8fCBOb2RlOjpkaWZmKGNoaWxkLT5zdHlsZSgpLCBwc2V1ZG9FbGVtZW50U3R5bGUpID09
IE5vZGU6OkRldGFjaCkpIHsKICAgICAgICAgLy8gTnVrZSB0aGUgY2hpbGQuIAotICAgICAgICBp
ZiAoY2hpbGQgJiYgY2hpbGQtPnN0eWxlKCktPnN0eWxlVHlwZSgpID09IHR5cGUpIHsKKyAgICAg
ICAgaWYgKGNoaWxkLT5zdHlsZSgpLT5zdHlsZVR5cGUoKSA9PSB0eXBlKSB7CiAgICAgICAgICAg
ICBvbGRDb250ZW50UHJlc2VudCA9IGZhbHNlOwogICAgICAgICAgICAgY2hpbGQtPmRlc3Ryb3ko
KTsKICAgICAgICAgICAgIGNoaWxkID0gKHR5cGUgPT0gQkVGT1JFKSA/IG93bmVyLT52aXJ0dWFs
Q2hpbGRyZW4oKS0+Zmlyc3RDaGlsZCgpIDogb3duZXItPnZpcnR1YWxDaGlsZHJlbigpLT5sYXN0
Q2hpbGQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51687</attachid>
            <date>2010-03-25 15:59:25 -0700</date>
            <delta_ts>2010-03-26 12:51:18 -0700</delta_ts>
            <desc>[PATCH] Addressed List Marker Comments - Another Test</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>12044</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyYzQ2YWUwLi44NTA2NjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTAtMDMt
MjQgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZW5lcmF0ZWQgcnVuLWluIENvbnRl
bnQgaXMgTWlzdGFrZW5seSBHZXR0aW5nIERlbGV0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2NTA1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83
NzY3MTYxPgorCisgICAgICAgICAgVGVzdCBkeW5hbWljIHVwZGF0ZSBvZiB0aGUgaW5uZXIgYmxv
Y2ssIGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZAorICAgICAgICAgIHJ1bi1pbiwgYnV0IG5vdCBv
d25pbmcgaXQgd2l0aCB0aGUgOmJlZm9yZSBydWxlLgorCisgICAgICAgICogZmFzdC9ydW5pbi9n
ZW5lcmF0ZWQyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3J1bmlu
L2dlbmVyYXRlZDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKworICAgICAgICAgIFRlc3QgZHluYW1p
YyB1cGRhdGUgb2YgdGhlIG91dGVyIGJsb2NrLCB0aGlzIGJsb2NrIG93bnMgdGhlCisgICAgICAg
ICAgZ2VuZXJhdGVkIHJ1bi1pbiwgYnV0IGl0IGlzIGFjdHVhbGx5IGNvbnRhaW5lZCBpbiBhIGNo
aWxkIGJsb2NrLgorCisgICAgICAgICogZmFzdC9ydW5pbi9nZW5lcmF0ZWQzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3J1bmluL2dlbmVyYXRlZDMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKworICAgICAgICAgIFRlc3QgZHluYW1pYyB1cGRhdGVzIGFmZmVjdGluZyBn
ZW5lcmF0ZWQgcnVuLWlucyBib3RoCisgICAgICAgICAgaW4gcmVsYXRpb24gdG8gYW5kIG5vdCBp
biByZWxhdGlvbiB0byBsaXN0IG1hcmtlcnMuCisKKyAgICAgICAgKiBmYXN0L3J1bmluL2dlbmVy
YXRlZDQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcnVuaW4vZ2Vu
ZXJhdGVkNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEwLTAzLTI0ICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkZWxlIFBl
dGVyc29uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ydW5pbi9nZW5lcmF0ZWQyLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3J1bmluL2dlbmVyYXRlZDIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi44YWRjNTMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ydW5pbi9nZW5lcmF0ZWQyLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPHN0eWxl
PgorI3RhcmdldDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJQQVNTIjsKKyAgICBkaXNwbGF5OiBy
dW4taW47Cit9Cis8L3N0eWxlPgorPHA+eDwvcD4KKzxkaXYgaWQ9InRhcmdldCI+CisgICA8ZGl2
IGlkPSJpbm5lciI+ICZsdDsgdGhpcyBzaG91bGQgc2F5IHN0aWxsIHNheSAmbGRxdW87UEFTUyZy
ZHF1bzs8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKy8vIEZvcmNlIGxheW91dC4KK2RvY3VtZW50
LmJvZHkub2Zmc2V0VG9wOworCisvLyBDYXVzZSBhIGxheW91dCBvZiB0aGUgaW5uZXIgZGl2Lgor
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lubmVyJykuc3R5bGUuY29sb3IgPSAnYmx1ZSc7Cis8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcnVuaW4vZ2VuZXJhdGVkMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ydW5pbi9nZW5lcmF0ZWQzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjllOTRhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvcnVuaW4vZ2VuZXJhdGVkMy5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxzdHls
ZT4KKyN0YXJnZXQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiUEFTUyI7CisgICAgZGlzcGxheTog
cnVuLWluOworfQorPC9zdHlsZT4KKzxwPng8L3A+Cis8ZGl2IGlkPSJ0YXJnZXQiPgorICAgPGRp
diBpZD0iaW5uZXIiPiAmbHQ7IHRoaXMgc2hvdWxkIHNheSBzdGlsbCBzYXkgJmxkcXVvO1BBU1Mm
cmRxdW87PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisvLyBGb3JjZSBsYXlvdXQuCitkb2N1bWVu
dC5ib2R5Lm9mZnNldFRvcDsKKworLy8gQ2F1c2UgYSBsYXlvdXQgb2YgdGhlIG91dGVyIGRpdi4K
K2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKS5zdHlsZS5jb2xvciA9ICdibHVlJzsK
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ydW5pbi9nZW5lcmF0ZWQ0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3J1bmluL2dlbmVyYXRlZDQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGQ4NjI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ydW5pbi9nZW5lcmF0ZWQ0Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPHN0
eWxlPgorLmhhc1J1bkluOmJlZm9yZSB7CisgIGNvbnRlbnQ6ICJGQUlMIjsKKyAgZGlzcGxheTog
cnVuLWluOworICBjb2xvcjogcmVkOworfQorPC9zdHlsZT4KKworPHVsIGNsYXNzPSJoYXNSdW5J
biI+CisgIDxsaT54PC9saT4KKzwvdWw+CisKKzxkaXY+CisgIDxkaXYgY2xhc3M9Imhhc1J1bklu
Ij4KKyAgICA8cD54PC9wPgorICA8L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0PgorLy8gRm9yY2Ug
TGF5b3V0LgorZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7CisKKy8vIFRoaXMgaXMgbm90IGEg
TGl2ZSBDb2xsZWN0aW9uLCBzbyBpdCBpcyBzYWZlIHRvIGl0ZXJhdGUuCit2YXIgZWxlbXMgPSBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuaGFzUnVuSW4nKTsKK2ZvciAodmFyIGk9MDsgaTxl
bGVtcy5sZW5ndGg7ICsraSkKKyAgZWxlbXNbaV0uY2xhc3NOYW1lID0gJyc7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3J1bmluL2dlbmVyYXRl
ZDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcnVuaW4vZ2Vu
ZXJhdGVkMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MGE2YjA2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3J1bmluL2dlbmVyYXRlZDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1
ODQKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOAorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4eDE4CisgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggODogIngiCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwzNCkg
c2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4
MTggW2NvbG9yPSMwMDAwRkZdCisgICAgICAgICAgUmVuZGVySW5saW5lIChnZW5lcmF0ZWQpIGF0
ICgwLDApIHNpemUgMzl4MTggW2NvbG9yPSMwMDAwMDBdCisgICAgICAgICAgICBSZW5kZXJUZXh0
IGF0ICgwLDApIHNpemUgMzl4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggMzk6ICJQQVNTIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzksMCkgc2l6
ZSAyMTh4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzOSwwKSB3aWR0aCAyMTg6ICIgPCB0
aGlzIHNob3VsZCBzYXkgc3RpbGwgc2F5IFx4ezIwMUN9UEFTU1x4ezIwMUR9IgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcnVuaW4vZ2VuZXJhdGVkMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ydW5pbi9nZW5lcmF0ZWQzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODVhYWZjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcnVuaW4vZ2Vu
ZXJhdGVkMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAw
eDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAg
UmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4CisgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDh4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCA4OiAieCIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDM0KSBzaXplIDc4NHgx
OCBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSA3ODR4MTgKKyAgICAgICAgICBSZW5kZXJJbmxpbmUgKGdlbmVyYXRlZCkgYXQgKDAsMCkgc2l6
ZSAzOXgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDM5eDE4CisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM5OiAiUEFTUyIKKyAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM5LDApIHNpemUgMjE4eDE4CisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMzksMCkgd2lkdGggMjE4OiAiIDwgdGhpcyBzaG91bGQgc2F5IHN0aWxsIHNheSBc
eHsyMDFDfVBBU1NceHsyMDFEfSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3J1bmluL2dlbmVyYXRlZDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvcnVuaW4vZ2VuZXJhdGVkNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uYjZiNjkzYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3J1bmluL2dlbmVyYXRlZDQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTUgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHg1NzYKKyAgICAgIFJlbmRlckJsb2NrIHtVTH0gYXQgKDAsMCkg
c2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVyTGlzdEl0ZW0ge0xJfSBhdCAoNDAsMCkgc2l6ZSA3
NDR4MTgKKyAgICAgICAgICBSZW5kZXJMaXN0TWFya2VyIGF0ICgtMTcsMCkgc2l6ZSA3eDE4OiBi
dWxsZXQKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4eDE4Cisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4OiAieCIKKyAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDM0KSBzaXplIDc4NHgxOAorICAgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCwwKSBzaXplIDc4NHgxOAorICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCww
KSBzaXplIDc4NHgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgOHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4OiAieCIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3J1bmluL2dlbmVyYXRlZDUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcnVuaW4vZ2VuZXJh
dGVkNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q1
NTY0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3J1
bmluL2dlbmVyYXRlZDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NzYK
KyAgICAgIFJlbmRlckJsb2NrIHtVTH0gYXQgKDAsMCkgc2l6ZSA3ODR4ODYKKyAgICAgICAgUmVu
ZGVyQmxvY2sgKGdlbmVyYXRlZCkgYXQgKDQwLDApIHNpemUgNzQ0eDE4CisgICAgICAgICAgUmVu
ZGVyVGV4dCBhdCAoMCwwKSBzaXplIDM1eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAzNTogIkhlbGxvIgorICAgICAgICBSZW5kZXJMaXN0SXRlbSB7TEl9IGF0ICg0MCwz
NCkgc2l6ZSA3NDR4NTIKKyAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3
NDR4MTgKKyAgICAgICAgICAgIFJlbmRlckxpc3RNYXJrZXIgYXQgKC0xNywwKSBzaXplIDd4MTg6
IGJ1bGxldAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOHgx
OAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4OiAieCIKKyAgICAgICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzNCkgc2l6ZSA3NDR4MTgKKyAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDUweDE4CisgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDUwOiAiQ29udGVudCIKKyAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3MGM4YzJkLi40ZGU0NWNmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDEwLTAzLTI0ICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2VuZXJh
dGVkIHJ1bi1pbiBDb250ZW50IGlzIE1pc3Rha2VubHkgR2V0dGluZyBEZWxldGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjUwNQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzc2NzE2MT4KKworICAgICAgICBUZXN0OiBmYXN0L3J1bmluL2dlbmVy
YXRlZDIuaHRtbAorICAgICAgICBUZXN0OiBmYXN0L3J1bmluL2dlbmVyYXRlZDMuaHRtbAorICAg
ICAgICBUZXN0OiBmYXN0L3J1bmluL2dlbmVyYXRlZDQuaHRtbAorCisgICAgICAgIERvIG5vdCBk
ZXN0b3J5IDpiZWZvcmUvOmFmdGVyIGdlbmVyYXRlZCBjb250ZW50IHdpdGggZGlzcGxheSBydW4t
aW4KKyAgICAgICAgd2hlbiByZWxheWluZyBvdXQgZGlmZmVyZW50IG5vZGVzLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJPYmplY3RDaGlsZExpc3Q6OnVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudCk6IHNpbXBs
aWZpZWQgbG9naWMKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdENoaWxkTGlzdDo6YmVm
b3JlQWZ0ZXJDb250YWluZXIpOiBza2lwIGdlbmVyYXRlZCBydW4taW5zIHdoZW4gY2hlY2tpbmcg
Y2hpbGRyZW4sIGNoZWNrIGZvciB0aGVtIGluIGdyYW5kY2hpbGRyZW4KKwogMjAxMC0wMy0yNSAg
Sm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBKZXJlbXkgT3Jsb3cuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3RDaGlsZExpc3QuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRM
aXN0LmNwcAppbmRleCBkNTZhMDE1Li44ZWU4MTEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdENoaWxkTGlzdC5jcHAKQEAgLTIzNCwxNyArMjM0LDQyIEBAIHZvaWQgUmVuZGVy
T2JqZWN0Q2hpbGRMaXN0OjppbnNlcnRDaGlsZE5vZGUoUmVuZGVyT2JqZWN0KiBvd25lciwgUmVu
ZGVyT2JqZWN0KiBjCiBzdGF0aWMgUmVuZGVyT2JqZWN0KiBiZWZvcmVBZnRlckNvbnRhaW5lcihS
ZW5kZXJPYmplY3QqIGNvbnRhaW5lciwgUHNldWRvSWQgdHlwZSkKIHsKICAgICBpZiAodHlwZSA9
PSBCRUZPUkUpIHsKKyAgICAgICAgLy8gQW4gYW5vbnltb3VzIChnZW5lcmF0ZWQpIGlubGluZSBy
dW4taW4gdGhhdCBoYXMgUHNldWRvSWQgQkVGT1JFIG11c3QgY29tZSBmcm9tIGEgZ3JhbmRwYXJl
bnQuCisgICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBzaG91bGQgc2tpcCB0aGVzZSBnZW5lcmF0ZWQg
cnVuLWlucyB3aGVuIGNoZWNraW5nIG91ciBpbW1lZGlhdGUgY2hpbGRyZW4uCisgICAgICAgIC8v
IElmIHdlIGRvbid0IGZpbmQgb3VyIDpiZWZvcmUgY2hpbGQgaW1tZWRpYXRlbHksIHRoZW4gd2Ug
c2hvdWxkIGNoZWNrIGlmIHdlIG93biBhCisgICAgICAgIC8vIGdlbmVyYXRlZCBpbmxpbmUgcnVu
LWluIGluIHRoZSBuZXh0IGxldmVsIG9mIGNoaWxkcmVuLgogICAgICAgICBSZW5kZXJPYmplY3Qq
IGZpcnN0ID0gY29udGFpbmVyOwogICAgICAgICBkbyB7Ci0gICAgICAgICAgICAvLyBTa2lwIGxp
c3QgbWFya2Vycy4KKyAgICAgICAgICAgIC8vIFNraXAgbGlzdCBtYXJrZXJzIGFuZCBnZW5lcmF0
ZWQgcnVuLWlucwogICAgICAgICAgICAgZmlyc3QgPSBmaXJzdC0+Zmlyc3RDaGlsZCgpOwotICAg
ICAgICAgICAgd2hpbGUgKGZpcnN0ICYmIGZpcnN0LT5pc0xpc3RNYXJrZXIoKSkKKyAgICAgICAg
ICAgIHdoaWxlIChmaXJzdCAmJiAoZmlyc3QtPmlzTGlzdE1hcmtlcigpIHx8IChmaXJzdC0+aXNS
ZW5kZXJJbmxpbmUoKSAmJiBmaXJzdC0+aXNSdW5JbigpICYmIGZpcnN0LT5pc0Fub255bW91cygp
KSkpCiAgICAgICAgICAgICAgICAgZmlyc3QgPSBmaXJzdC0+bmV4dFNpYmxpbmcoKTsKICAgICAg
ICAgfSB3aGlsZSAoZmlyc3QgJiYgZmlyc3QtPmlzQW5vbnltb3VzKCkgJiYgZmlyc3QtPnN0eWxl
KCktPnN0eWxlVHlwZSgpID09IE5PUFNFVURPKTsKLSAgICAgICAgaWYgKGZpcnN0ICYmIGZpcnN0
LT5zdHlsZSgpLT5zdHlsZVR5cGUoKSAhPSB0eXBlKQorCisgICAgICAgIGlmICghZmlyc3QpCisg
ICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBpZiAoZmlyc3QtPnN0eWxlKCktPnN0eWxl
VHlwZSgpID09IHR5cGUpCisgICAgICAgICAgICByZXR1cm4gZmlyc3Q7CisKKyAgICAgICAgLy8g
Q2hlY2sgZm9yIGEgcG9zc2libGUgZ2VuZXJhdGVkIHJ1bi1pbiwgdXNpbmcgcnVuLWluIHBvc2l0
aW9uaW5nIHJ1bGVzLgorICAgICAgICAvLyBTa2lwIGlubGluZXMgYW5kIGZsb2F0aW5nIC8gcG9z
aXRpb25lZCBibG9ja3MsIGFuZCBwbGFjZSBhcyB0aGUgZmlyc3QgY2hpbGQuCisgICAgICAgIGZp
cnN0ID0gY29udGFpbmVyLT5maXJzdENoaWxkKCk7CisgICAgICAgIGlmICghZmlyc3QtPmlzUmVu
ZGVyQmxvY2soKSkKICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICByZXR1cm4gZmlyc3Q7
CisgICAgICAgIHdoaWxlIChmaXJzdCAmJiBmaXJzdC0+aXNGbG9hdGluZ09yUG9zaXRpb25lZCgp
KQorICAgICAgICAgICAgZmlyc3QgPSBmaXJzdC0+bmV4dFNpYmxpbmcoKTsKKyAgICAgICAgaWYg
KGZpcnN0KSB7CisgICAgICAgICAgICBmaXJzdCA9IGZpcnN0LT5maXJzdENoaWxkKCk7CisgICAg
ICAgICAgICAvLyBXZSBzdGlsbCBuZWVkIHRvIHNraXAgYW55IGxpc3QgbWFya2VycyB0aGF0IGNv
dWxkIGV4aXN0IGJlZm9yZSB0aGUgcnVuLWluLgorICAgICAgICAgICAgd2hpbGUgKGZpcnN0ICYm
IGZpcnN0LT5pc0xpc3RNYXJrZXIoKSkKKyAgICAgICAgICAgICAgICBmaXJzdCA9IGZpcnN0LT5u
ZXh0U2libGluZygpOworICAgICAgICAgICAgaWYgKGZpcnN0ICYmIGZpcnN0LT5zdHlsZSgpLT5z
dHlsZVR5cGUoKSA9PSB0eXBlICYmIGZpcnN0LT5pc1JlbmRlcklubGluZSgpICYmIGZpcnN0LT5p
c1J1bkluKCkgJiYgZmlyc3QtPmlzQW5vbnltb3VzKCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZpcnN0OworICAgICAgICB9CisgICAgICAgIHJldHVybiAwOwogICAgIH0KKwogICAgIGlmICh0
eXBlID09IEFGVEVSKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogbGFzdCA9IGNvbnRhaW5lcjsK
ICAgICAgICAgZG8gewpAQCAtMzE0LDcgKzMzOSw3IEBAIHZvaWQgUmVuZGVyT2JqZWN0Q2hpbGRM
aXN0Ojp1cGRhdGVCZWZvcmVBZnRlckNvbnRlbnQoUmVuZGVyT2JqZWN0KiBvd25lciwgUHNldWRv
CiAgICAgLy8gV2hldGhlciBvciBub3Qgd2UgY3VycmVudGx5IGhhdmUgZ2VuZXJhdGVkIGNvbnRl
bnQgYXR0YWNoZWQuCiAgICAgYm9vbCBvbGRDb250ZW50UHJlc2VudCA9IGNoaWxkOwogCi0gICAg
Ly8gV2hldGhlciBvciBub3Qgd2Ugbm93IHdhbnQgZ2VuZXJhdGVkIGNvbnRlbnQuICAKKyAgICAv
LyBXaGV0aGVyIG9yIG5vdCB3ZSBub3cgd2FudCBnZW5lcmF0ZWQgY29udGVudC4KICAgICBib29s
IG5ld0NvbnRlbnRXYW50ZWQgPSBwc2V1ZG9FbGVtZW50U3R5bGUgJiYgcHNldWRvRWxlbWVudFN0
eWxlLT5kaXNwbGF5KCkgIT0gTk9ORTsKIAogICAgIC8vIEZvciA8cT48cC8+PC9xPiwgaWYgdGhp
cyBvYmplY3QgaXMgdGhlIGlubGluZSBjb250aW51YXRpb24gb2YgdGhlIDxxPiwgd2Ugb25seSB3
YW50IHRvIGdlbmVyYXRlCkBAIC0zMzAsOSArMzU1LDkgQEAgdm9pZCBSZW5kZXJPYmplY3RDaGls
ZExpc3Q6OnVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudChSZW5kZXJPYmplY3QqIG93bmVyLCBQc2V1
ZG8KICAgICAvLyBJZiB3ZSBkb24ndCB3YW50IGdlbmVyYXRlZCBjb250ZW50IGFueSBsb25nZXIs
IG9yIGlmIHdlIGhhdmUgZ2VuZXJhdGVkIGNvbnRlbnQsIGJ1dCBpdCdzIG5vIGxvbmdlcgogICAg
IC8vIGlkZW50aWNhbCB0byB0aGUgbmV3IGNvbnRlbnQgZGF0YSB3ZSB3YW50IHRvIGJ1aWxkIHJl
bmRlciBvYmplY3RzIGZvciwgdGhlbiB3ZSBudWtlIGFsbAogICAgIC8vIG9mIHRoZSBvbGQgZ2Vu
ZXJhdGVkIGNvbnRlbnQuCi0gICAgaWYgKCFuZXdDb250ZW50V2FudGVkIHx8IChvbGRDb250ZW50
UHJlc2VudCAmJiBOb2RlOjpkaWZmKGNoaWxkLT5zdHlsZSgpLCBwc2V1ZG9FbGVtZW50U3R5bGUp
ID09IE5vZGU6OkRldGFjaCkpIHsKKyAgICBpZiAob2xkQ29udGVudFByZXNlbnQgJiYgKCFuZXdD
b250ZW50V2FudGVkIHx8IE5vZGU6OmRpZmYoY2hpbGQtPnN0eWxlKCksIHBzZXVkb0VsZW1lbnRT
dHlsZSkgPT0gTm9kZTo6RGV0YWNoKSkgewogICAgICAgICAvLyBOdWtlIHRoZSBjaGlsZC4gCi0g
ICAgICAgIGlmIChjaGlsZCAmJiBjaGlsZC0+c3R5bGUoKS0+c3R5bGVUeXBlKCkgPT0gdHlwZSkg
eworICAgICAgICBpZiAoY2hpbGQtPnN0eWxlKCktPnN0eWxlVHlwZSgpID09IHR5cGUpIHsKICAg
ICAgICAgICAgIG9sZENvbnRlbnRQcmVzZW50ID0gZmFsc2U7CiAgICAgICAgICAgICBjaGlsZC0+
ZGVzdHJveSgpOwogICAgICAgICAgICAgY2hpbGQgPSAodHlwZSA9PSBCRUZPUkUpID8gb3duZXIt
PnZpcnR1YWxDaGlsZHJlbigpLT5maXJzdENoaWxkKCkgOiBvd25lci0+dmlydHVhbENoaWxkcmVu
KCktPmxhc3RDaGlsZCgpOwo=
</data>
<flag name="review"
          id="35000"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>