<?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>10122</bug_id>
          
          <creation_ts>2006-07-26 13:37:46 -0700</creation_ts>
          <short_desc>Background composite property should apply to background color, not just images</short_desc>
          <delta_ts>2021-12-24 13:47:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234661</see_also>
          <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="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bdakin</cc>
    
    <cc>hyatt</cc>
    
    <cc>ntim</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>50862</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-26 13:37:46 -0700</bug_when>
    <thetext>Right now -webkit-background-composite only applies to images. This should also apply to background color fills.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50863</commentid>
    <comment_count>1</comment_count>
      <attachid>9703</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-26 13:41:17 -0700</bug_when>
    <thetext>Created attachment 9703
Test Case

This test case renders a red background. If the composite mode applies the rendering will be black (or transparent if you enable Safari transparent window mode.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45601</commentid>
    <comment_count>2</comment_count>
      <attachid>11545</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-11-16 21:25:04 -0800</bug_when>
    <thetext>Created attachment 11545
Proposed patch

Makes -webkit-background-composite apply to background-color.
Adds compositeOperation() function to GraphicsContext.
Fixes functions in GraphicsContext that never drew when alpha() was 0,
this optimization only works when the compositeOperation is SourceOver.

* manual-tests/background-composite-color.html: Added.
* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawRect): check the compositeOperation
(WebCore::GraphicsContext::drawEllipse): ditto
(WebCore::GraphicsContext::drawConvexPolygon): ditto
(WebCore::GraphicsContext::fillRect): ditto
* platform/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::compositeOperation): Added.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBackgroundExtended):</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45550</commentid>
    <comment_count>3</comment_count>
      <attachid>11545</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2006-11-17 11:44:44 -0800</bug_when>
    <thetext>Comment on attachment 11545
Proposed patch

r=me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38715</commentid>
    <comment_count>4</comment_count>
      <attachid>11545</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-31 07:29:37 -0800</bug_when>
    <thetext>Comment on attachment 11545
Proposed patch

Clearing bdakin&apos;s r+ since this patch has bit-rotten.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38716</commentid>
    <comment_count>5</comment_count>
      <attachid>12134</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-31 07:39:06 -0800</bug_when>
    <thetext>Created attachment 12134
Updated patch to fix bit rottenness

This patch applies cleanly now, but it causes an assertion failure while running layout tests on a locally-built debug build of WebKit r18491 with Safari 2.0.4 (419.3) on Mac OS X 10.4.8 (8N1037).  The assertion failure occurs on editing/pasteboard/subframe-dragndrop-1.html (as well as when simply clicking on a link after Safari opened with the test results!):

ASSERTION FAILED: !paintingDisabled()
(/.../WebKit/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:89 CGContext* WebCore::GraphicsContext::platformContext() const)
Segmentation fault

0   com.apple.WebCore           0x013d169c WebCore::GraphicsContext::platformContext() const + 74 (GraphicsContextCG.cpp
:89)
1   com.apple.WebCore           0x013d53b7 WebCore::GraphicsContext::compositeOperation() + 89 (GraphicsContextMac.mm:10
5)
2   com.apple.WebCore           0x0115cdba WebCore::RenderBox::paintBackgroundExtended(WebCore::GraphicsContext*, WebCor
e::Color const&amp;, WebCore::BackgroundLayer const*, int, int, int, int, int, int, int, int, int, int) + 1680 (RenderBox.cp
p:514)
3   com.apple.WebCore           0x0115b933 WebCore::RenderBox::paintBackground(WebCore::GraphicsContext*, WebCore::Color
 const&amp;, WebCore::BackgroundLayer const*, int, int, int, int, int, int) + 201 (RenderBox.cpp:392)
4   com.apple.WebCore           0x0115b9e8 WebCore::RenderBox::paintBackgrounds(WebCore::GraphicsContext*, WebCore::Colo
r const&amp;, WebCore::BackgroundLayer const*, int, int, int, int, int, int) + 174 (RenderBox.cpp:386)
5   com.apple.WebCore           0x0115bd82 WebCore::RenderBox::paintRootBoxDecorations(WebCore::RenderObject::PaintInfo&amp;
, int, int) + 920 (RenderBox.cpp:340)
6   com.apple.WebCore           0x0115be76 WebCore::RenderBox::paintBoxDecorations(WebCore::RenderObject::PaintInfo&amp;, in
t, int) + 86 (RenderBox.cpp:350)
7   com.apple.WebCore           0x011560ab WebCore::RenderBlock::paintObject(WebCore::RenderObject::PaintInfo&amp;, int, int
) + 163 (RenderBlock.cpp:1355)
8   com.apple.WebCore           0x0114ed55 WebCore::RenderBlock::paint(WebCore::RenderObject::PaintInfo&amp;, int, int) + 46
7 (RenderBlock.cpp:1286)
9   com.apple.WebCore           0x0117d8ce WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsCont
ext*, WebCore::IntRect const&amp;, bool, WebCore::PaintRestriction, WebCore::RenderObject*) + 864 (RenderLayer.cpp:1411)
10  com.apple.WebCore           0x0117dccc WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsCont
ext*, WebCore::IntRect const&amp;, bool, WebCore::PaintRestriction, WebCore::RenderObject*) + 1886 (RenderLayer.cpp:1462)
11  com.apple.WebCore           0x0117dd94 WebCore::RenderLayer::paint(WebCore::GraphicsContext*, WebCore::IntRect const
&amp;, WebCore::PaintRestriction, WebCore::RenderObject*) + 60 (RenderLayer.cpp:1331)
12  com.apple.WebCore           0x010dcb63 WebCore::Frame::paint(WebCore::GraphicsContext*, WebCore::IntRect const&amp;) + 5
39 (Frame.cpp:1045)
13  com.apple.WebCore           0x010dd58d WebCore::Frame::setIsActive(bool) + 795 (Frame.cpp:1254)
14  com.apple.WebKit            0x0033eabb -[WebHTMLView(WebPrivate) _updateActiveState] + 311 (WebHTMLView.m:1805)
15  com.apple.WebKit            0x00342b9b -[WebHTMLView windowDidBecomeKey:] + 213 (WebHTMLView.m:2777)
16  com.apple.Foundation        0x925f0207 _nsnote_callback + 230
17  com.apple.CoreFoundation    0x908543f6 __CFXNotificationPost + 345
18  com.apple.CoreFoundation    0x9084bc11 _CFXNotificationPostNotification + 600
19  com.apple.Foundation        0x925e8860 -[NSNotificationCenter postNotificationName:object:userInfo:] + 121
20  com.apple.Foundation        0x925ef755 -[NSNotificationCenter postNotificationName:object:] + 55
21  com.apple.AppKit            0x9334ff09 -[NSWindow becomeKeyWindow] + 746
22  com.apple.Safari            0x000259e4 0x1000 + 149988
23  com.apple.AppKit            0x9334efa0 _NXShowKeyAndMain + 365
24  com.apple.AppKit            0x9335bdf1 -[NSWindow sendEvent:] + 3809
25  com.apple.Safari            0x000230c6 0x1000 + 139462
26  com.apple.AppKit            0x9334e350 -[NSApplication sendEvent:] + 5023
27  com.apple.Safari            0x00022c56 0x1000 + 138326
28  com.apple.AppKit            0x93278dfe -[NSApplication run] + 547
29  com.apple.AppKit            0x9326cd2f NSApplicationMain + 573
30  com.apple.Safari            0x0005f54a 0x1000 + 386378
31  com.apple.Safari            0x0005f471 0x1000 + 386161</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57538</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-10-01 09:08:55 -0700</bug_when>
    <thetext>The patch did not apply cleanly to feature-branch, however I imagine this bug would be pretty easy to finish once feature-branch/trunk calm down.  (Assuming it&apos;s still desired.  -webkit-background-composite seems like a rather odd feature).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826761</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-12-24 13:47:49 -0800</bug_when>
    <thetext>Bug 234661 is removing -webkit-background-composite.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9703</attachid>
            <date>2006-07-26 13:41:17 -0700</date>
            <delta_ts>2006-07-26 13:41:17 -0700</delta_ts>
            <desc>Test Case</desc>
            <filename>background.html</filename>
            <type>text/html</type>
            <size>105</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">PGh0bWw+CjxzdHlsZT4KYm9keSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cgktd2Via2l0
LWJhY2tncm91bmQtY29tcG9zaXRlOiBjbGVhcjsKfQo8L3N0eWxlPgo8Ym9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11545</attachid>
            <date>2006-11-16 21:25:04 -0800</date>
            <delta_ts>2006-12-31 07:39:06 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>10122.patch</filename>
            <type>text/plain</type>
            <size>7270</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE3ODI1
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMDYtMTEt
MTYgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAxMDEyMjogQmFja2dyb3VuZCBj
b21wb3NpdGUgcHJvcGVydHkgc2hvdWxkIGFwcGx5IHRvIGJhY2tncm91bmQgY29sb3IsIG5vdCBq
dXN0IGltYWdlcworICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDEyMgorICAgICAgICAKKyAgICAgICAgTWFrZXMgLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBv
c2l0ZSBhcHBseSB0byBiYWNrZ3JvdW5kLWNvbG9yLgorICAgICAgICBBZGRzIGNvbXBvc2l0ZU9w
ZXJhdGlvbigpIGZ1bmN0aW9uIHRvIEdyYXBoaWNzQ29udGV4dC4KKyAgICAgICAgRml4ZXMgZnVu
Y3Rpb25zIGluIEdyYXBoaWNzQ29udGV4dCB0aGF0IG5ldmVyIGRyZXcgd2hlbiBhbHBoYSgpIHdh
cyAwLAorICAgICAgICB0aGlzIG9wdGltaXphdGlvbiBvbmx5IHdvcmtzIHdoZW4gdGhlIGNvbXBv
c2l0ZU9wZXJhdGlvbiBpcyBTb3VyY2VPdmVyLgorCisgICAgICAgICogbWFudWFsLXRlc3RzL2Jh
Y2tncm91bmQtY29tcG9zaXRlLWNvbG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDo6ZHJhd1JlY3QpOiBjaGVjayB0aGUgY29tcG9zaXRlT3BlcmF0aW9uCisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdFbGxpcHNlKTogZGl0dG8KKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd0NvbnZleFBvbHlnb24pOiBkaXR0bworICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdCk6IGRpdHRvCisgICAgICAgICog
cGxhdGZvcm0vbWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDo6Y29tcG9zaXRlT3BlcmF0aW9uKTogQWRkZWQuCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnBhaW50
QmFja2dyb3VuZEV4dGVuZGVkKToKKwogMjAwNi0xMS0xNiAgUm9iIEJ1aXMgIDxidWlzQGtkZS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYW5kIGxhbmRlZCBieSBCcmFkeQpJbmRleDogbWFudWFs
LXRlc3RzL2JhY2tncm91bmQtY29tcG9zaXRlLWNvbG9yLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbWFu
dWFsLXRlc3RzL2JhY2tncm91bmQtY29tcG9zaXRlLWNvbG9yLmh0bWwJKHJldmlzaW9uIDApCisr
KyBtYW51YWwtdGVzdHMvYmFja2dyb3VuZC1jb21wb3NpdGUtY29sb3IuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxMCBAQAorPGh0bWw+Cis8c3R5bGU+Citib2R5IHsKKyAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiByZWQ7CisgICAgY29sb3I6IHdoaXRlOworCS13ZWJraXQtYmFja2dyb3VuZC1j
b21wb3NpdGU6IGNsZWFyOworfQorPC9zdHlsZT4KKzxib2R5PgorU3VjY2VzcyBpZiBCbGFjay4K
SW5kZXg6IHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCShyZXZpc2lvbiAxNzgyNSkKKysr
IHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
NTYsNiArMTU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldEFscGhh
KGZsb2F0KTsKIAogICAgICAgICB2b2lkIHNldENvbXBvc2l0ZU9wZXJhdGlvbihDb21wb3NpdGVP
cGVyYXRvcik7CisgICAgICAgIENvbXBvc2l0ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdGlvbigp
OwogCiAgICAgICAgIHZvaWQgY2xpcChjb25zdCBQYXRoJik7CiAKSW5kZXg6IHBsYXRmb3JtL2dy
YXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS9n
cmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHJldmlzaW9uIDE3ODI1KQorKysgcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTQsNyArMTE0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdSZWN0KGNvbnN0IElu
dAogCiAgICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBwbGF0Zm9ybUNvbnRleHQoKTsKIAotICAg
IGlmIChmaWxsQ29sb3IoKS5hbHBoYSgpKSB7CisgICAgaWYgKGZpbGxDb2xvcigpLmFscGhhKCkg
fHwgY29tcG9zaXRlT3BlcmF0aW9uKCkgIT0gQ29tcG9zaXRlU291cmNlT3ZlcikgewogICAgICAg
ICBzZXRDR0ZpbGxDb2xvcihjb250ZXh0LCBmaWxsQ29sb3IoKSk7CiAgICAgICAgIENHQ29udGV4
dEZpbGxSZWN0KGNvbnRleHQsIHJlY3QpOwogICAgIH0KQEAgLTI2Nyw3ICsyNjcsNyBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0VsbGlwc2UoY29uc3QgCiAgICAgQ0dDb250ZXh0QWRkQXJj
KGNvbnRleHQsIHJlY3QueCgpICsgciwgcmVjdC55KCkgKyByLCByLCAwLCAyKk1fUEksIHRydWUp
OwogICAgIENHQ29udGV4dENsb3NlUGF0aChjb250ZXh0KTsKIAotICAgIGlmIChmaWxsQ29sb3Io
KS5hbHBoYSgpKSB7CisgICAgaWYgKGZpbGxDb2xvcigpLmFscGhhKCkgfHwgY29tcG9zaXRlT3Bl
cmF0aW9uKCkgIT0gQ29tcG9zaXRlU291cmNlT3ZlcikgewogICAgICAgICBzZXRDR0ZpbGxDb2xv
cihjb250ZXh0LCBmaWxsQ29sb3IoKSk7CiAgICAgICAgIGlmIChwZW4oKS5zdHlsZSgpICE9IFBl
bjo6Tm9QZW4pIHsKICAgICAgICAgICAgIC8vIHN0cm9rZSBhbmQgZmlsbApAQCAtNDEzLDcgKzQx
Myw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3Q29udmV4UG9seWdvbigKICAgICAgICAg
Q0dDb250ZXh0QWRkTGluZVRvUG9pbnQoY29udGV4dCwgcG9pbnRzW2ldLngoKSwgcG9pbnRzW2ld
LnkoKSk7CiAgICAgQ0dDb250ZXh0Q2xvc2VQYXRoKGNvbnRleHQpOwogCi0gICAgaWYgKGZpbGxD
b2xvcigpLmFscGhhKCkpIHsKKyAgICBpZiAoZmlsbENvbG9yKCkuYWxwaGEoKSB8fCBjb21wb3Np
dGVPcGVyYXRpb24oKSAhPSBDb21wb3NpdGVTb3VyY2VPdmVyKSB7CiAgICAgICAgIHNldENHRmls
bENvbG9yKGNvbnRleHQsIGZpbGxDb2xvcigpKTsKICAgICAgICAgQ0dDb250ZXh0RU9GaWxsUGF0
aChjb250ZXh0KTsKICAgICB9CkBAIC00MzEsNyArNDMxLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmZpbGxSZWN0KGNvbnN0IEludAogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAg
ICAgICAgIHJldHVybjsKLSAgICBpZiAoY29sb3IuYWxwaGEoKSkgeworICAgIGlmIChjb2xvci5h
bHBoYSgpIHx8IGNvbXBvc2l0ZU9wZXJhdGlvbigpICE9IENvbXBvc2l0ZVNvdXJjZU92ZXIpIHsK
ICAgICAgICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBwbGF0Zm9ybUNvbnRleHQoKTsKICAgICAg
ICAgc2V0Q0dGaWxsQ29sb3IoY29udGV4dCwgY29sb3IpOwogICAgICAgICBDR0NvbnRleHRGaWxs
UmVjdChjb250ZXh0LCByZWN0KTsKQEAgLTQ0Miw3ICs0NDIsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZmlsbFJlY3QoY29uc3QgRmxvCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkK
ICAgICAgICAgcmV0dXJuOwotICAgIGlmIChjb2xvci5hbHBoYSgpKSB7CisgICAgaWYgKGNvbG9y
LmFscGhhKCkgfHwgY29tcG9zaXRlT3BlcmF0aW9uKCkgIT0gQ29tcG9zaXRlU291cmNlT3Zlcikg
ewogICAgICAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IHBsYXRmb3JtQ29udGV4dCgpOwogICAg
ICAgICBzZXRDR0ZpbGxDb2xvcihjb250ZXh0LCBjb2xvcik7CiAgICAgICAgIENHQ29udGV4dEZp
bGxSZWN0KGNvbnRleHQsIHJlY3QpOwpJbmRleDogcGxhdGZvcm0vbWFjL0dyYXBoaWNzQ29udGV4
dE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1t
CShyZXZpc2lvbiAxNzgyNSkKKysrIHBsYXRmb3JtL21hYy9HcmFwaGljc0NvbnRleHRNYWMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTk5LDYgKzk5LDE0IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0Ojpz
ZXRDb21wb3NpdGVPcGVyYXQKICAgICBbcG9vbCByZWxlYXNlXTsKIH0KIAorQ29tcG9zaXRlT3Bl
cmF0b3IgR3JhcGhpY3NDb250ZXh0Ojpjb21wb3NpdGVPcGVyYXRpb24oKQoreworICAgIE5TQXV0
b3JlbGVhc2VQb29sKiBwb29sID0gW1tOU0F1dG9yZWxlYXNlUG9vbCBhbGxvY10gaW5pdF07Cisg
ICAgQ29tcG9zaXRlT3BlcmF0b3Igb3AgPSAoQ29tcG9zaXRlT3BlcmF0b3IpW1tOU0dyYXBoaWNz
Q29udGV4dCBncmFwaGljc0NvbnRleHRXaXRoR3JhcGhpY3NQb3J0OnBsYXRmb3JtQ29udGV4dCgp
IGZsaXBwZWQ6WUVTXSBjb21wb3NpdGluZ09wZXJhdGlvbl07CisgICAgW3Bvb2wgcmVsZWFzZV07
CisgICAgcmV0dXJuIG9wOworfQorCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JN
aXNzcGVsbGluZ09yQmFkR3JhbW1hcihjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCwg
Ym9vbCBncmFtbWFyKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCkluZGV4OiByZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAkocmV2aXNpb24gMTc4MjUpCisrKyByZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTA0LDIyICs1MDQsMzEgQEAgdm9pZCBSZW5kZXJCb3g6OnBhaW50QmFja2dyb3Vu
ZEV4dGVuZGVkKAogICAgIC8vIFBhaW50IHRoZSBjb2xvciBmaXJzdCB1bmRlcm5lYXRoIGFsbCBp
bWFnZXMuCiAgICAgaWYgKCFiZ0xheWVyLT5uZXh0KCkpIHsKICAgICAgICAgSW50UmVjdCByZWN0
KF90eCwgY2xpcHksIHcsIGNsaXBoKTsKKwogICAgICAgICAvLyBJZiB3ZSBoYXZlIGFuIGFscGhh
IGFuZCB3ZSBhcmUgcGFpbnRpbmcgdGhlIHJvb3QgZWxlbWVudCwgZ28gYWhlYWQgYW5kIGJsZW5k
IHdpdGggdGhlIGJhc2UgYmFja2dyb3VuZCBjb2xvci4KLSAgICAgICAgaWYgKGlzUm9vdCgpICYm
ICghYmdDb2xvci5pc1ZhbGlkKCkgfHwgYmdDb2xvci5hbHBoYSgpIDwgMHhGRikgJiYgIWlzVHJh
bnNwYXJlbnQpIHsKKyAgICAgICAgLy8gVW5sZXNzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGlzIHZh
bGlkIGFuZCB0aGUgYmFja2dyb3VuZCBjb21wb3NpdGUgaXMgY29weSwgdGhlbiB0aGUgYmFzZSBi
YWNrZ3JvdW5kIGNvbG9yIGlzbid0IG5lZWRlZC4KKyAgICAgICAgaWYgKGlzUm9vdCgpICYmICFp
c1RyYW5zcGFyZW50ICYmICghYmdDb2xvci5pc1ZhbGlkKCkgfHwgKGJnQ29sb3IuYWxwaGEoKSA8
IDB4RkYgJiYgYmdMYXllci0+YmFja2dyb3VuZENvbXBvc2l0ZSgpICE9IENvbXBvc2l0ZUNvcHkp
KSkgewogICAgICAgICAgICAgQ29sb3IgYmFzZUNvbG9yID0gdmlldygpLT5mcmFtZVZpZXcoKS0+
YmFzZUJhY2tncm91bmRDb2xvcigpOwotICAgICAgICAgICAgaWYgKGJhc2VDb2xvci5hbHBoYSgp
ID4gMCkgewotICAgICAgICAgICAgICAgIHAtPnNhdmUoKTsKKyAgICAgICAgICAgIENvbXBvc2l0
ZU9wZXJhdG9yIHByZXZpb3VzT3BlcmF0b3IgPSBwLT5jb21wb3NpdGVPcGVyYXRpb24oKTsKKyAg
ICAgICAgICAgIGJvb2wgbmVlZHNPcGVyYXRvckNoYW5nZWQgPSBwcmV2aW91c09wZXJhdG9yICE9
IENvbXBvc2l0ZUNvcHk7CisgICAgICAgICAgICBpZiAobmVlZHNPcGVyYXRvckNoYW5nZWQpCiAg
ICAgICAgICAgICAgICAgcC0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZUNvcHkpOwot
ICAgICAgICAgICAgICAgIHAtPmZpbGxSZWN0KHJlY3QsIGJhc2VDb2xvcik7Ci0gICAgICAgICAg
ICAgICAgcC0+cmVzdG9yZSgpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAg
cC0+Y2xlYXJSZWN0KHJlY3QpOworICAgICAgICAgICAgcC0+ZmlsbFJlY3QocmVjdCwgYmFzZUNv
bG9yKTsKKyAgICAgICAgICAgIGlmIChuZWVkc09wZXJhdG9yQ2hhbmdlZCkKKyAgICAgICAgICAg
ICAgICBwLT5zZXRDb21wb3NpdGVPcGVyYXRpb24ocHJldmlvdXNPcGVyYXRvcik7CiAgICAgICAg
IH0KIAotICAgICAgICBpZiAoYmdDb2xvci5pc1ZhbGlkKCkgJiYgYmdDb2xvci5hbHBoYSgpID4g
MCkKKyAgICAgICAgaWYgKGJnQ29sb3IuaXNWYWxpZCgpKSB7CisgICAgICAgICAgICBDb21wb3Np
dGVPcGVyYXRvciBwcmV2aW91c09wZXJhdG9yID0gcC0+Y29tcG9zaXRlT3BlcmF0aW9uKCk7Cisg
ICAgICAgICAgICBib29sIG5lZWRzT3BlcmF0b3JDaGFuZ2VkID0gcHJldmlvdXNPcGVyYXRvciAh
PSBiZ0xheWVyLT5iYWNrZ3JvdW5kQ29tcG9zaXRlKCk7CisgICAgICAgICAgICBpZiAobmVlZHNP
cGVyYXRvckNoYW5nZWQpCisgICAgICAgICAgICAgICAgcC0+c2V0Q29tcG9zaXRlT3BlcmF0aW9u
KGJnTGF5ZXItPmJhY2tncm91bmRDb21wb3NpdGUoKSk7CiAgICAgICAgICAgICBwLT5maWxsUmVj
dChyZWN0LCBiZ0NvbG9yKTsKKyAgICAgICAgICAgIGlmIChuZWVkc09wZXJhdG9yQ2hhbmdlZCkK
KyAgICAgICAgICAgICAgICBwLT5zZXRDb21wb3NpdGVPcGVyYXRpb24ocHJldmlvdXNPcGVyYXRv
cik7CisgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICAvLyBubyBwcm9ncmVzc2l2ZSBsb2Fk
aW5nIG9mIHRoZSBiYWNrZ3JvdW5kIGltYWdlCiAgICAgaWYgKHNob3VsZFBhaW50QmFja2dyb3Vu
ZEltYWdlKSB7CiAgICAgICAgIGludCBzeCA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12134</attachid>
            <date>2006-12-31 07:39:06 -0800</date>
            <delta_ts>2010-06-10 15:09:50 -0700</delta_ts>
            <desc>Updated patch to fix bit rottenness</desc>
            <filename>bug-10122-updated.diff</filename>
            <type>text/plain</type>
            <size>7456</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxODQ5MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDYtMTItMzEgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEJ1ZyAxMDEyMjogQmFja2dyb3VuZCBjb21wb3NpdGUgcHJvcGVydHkgc2hvdWxkIGFwcGx5IHRv
IGJhY2tncm91bmQgY29sb3IsIG5vdCBqdXN0IGltYWdlcworICAgICAgICBodHRwOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEyMgorCisgICAgICAgIE1ha2VzIC13ZWJraXQt
YmFja2dyb3VuZC1jb21wb3NpdGUgYXBwbHkgdG8gYmFja2dyb3VuZC1jb2xvci4KKyAgICAgICAg
QWRkcyBjb21wb3NpdGVPcGVyYXRpb24oKSBmdW5jdGlvbiB0byBHcmFwaGljc0NvbnRleHQuCisg
ICAgICAgIEZpeGVzIGZ1bmN0aW9ucyBpbiBHcmFwaGljc0NvbnRleHQgdGhhdCBuZXZlciBkcmV3
IHdoZW4gYWxwaGEoKSB3YXMgMCwKKyAgICAgICAgdGhpcyBvcHRpbWl6YXRpb24gb25seSB3b3Jr
cyB3aGVuIHRoZSBjb21wb3NpdGVPcGVyYXRpb24gaXMgU291cmNlT3Zlci4KKworICAgICAgICAq
IG1hbnVhbC10ZXN0cy9iYWNrZ3JvdW5kLWNvbXBvc2l0ZS1jb2xvci5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdSZWN0KTpjaGVjayB0aGUgY29tcG9zaXRlT3BlcmF0
aW9uCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdFbGxpcHNlKTogZGl0
dG8KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd0NvbnZleFBvbHlnb24p
OiBkaXR0bworICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdCk6IGRp
dHRvCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dE1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6Y29tcG9zaXRlT3BlcmF0aW9u
KTogQWRkZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCb3g6OnBhaW50QmFja2dyb3VuZEV4dGVuZGVkKToKKwogMjAwNi0xMi0z
MSAgTWl0eiBQZXR0ZWwgIDxtaXR6QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
SHlhdHQuCkluZGV4OiBXZWJDb3JlL21hbnVhbC10ZXN0cy9iYWNrZ3JvdW5kLWNvbXBvc2l0ZS1j
b2xvci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL2JhY2tncm91bmQt
Y29tcG9zaXRlLWNvbG9yLmh0bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10ZXN0
cy9iYWNrZ3JvdW5kLWNvbXBvc2l0ZS1jb2xvci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDEwIEBACis8aHRtbD4KKzxzdHlsZT4KK2JvZHkgeworICAgIGJhY2tncm91bmQtY29sb3I6IHJl
ZDsKKyAgICBjb2xvcjogd2hpdGU7CisJLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZTogY2xl
YXI7Cit9Cis8L3N0eWxlPgorPGJvZHk+CitTdWNjZXNzIGlmIEJsYWNrLgpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCShyZXZpc2lvbiAxODQ4OSkK
KysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE3Miw2ICsxNzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZv
aWQgc2V0QWxwaGEoZmxvYXQpOwogCiAgICAgICAgIHZvaWQgc2V0Q29tcG9zaXRlT3BlcmF0aW9u
KENvbXBvc2l0ZU9wZXJhdG9yKTsKKyAgICAgICAgQ29tcG9zaXRlT3BlcmF0b3IgY29tcG9zaXRl
T3BlcmF0aW9uKCk7CiAKICAgICAgICAgdm9pZCBiZWdpblBhdGgoKTsKICAgICAgICAgdm9pZCBh
ZGRQYXRoKGNvbnN0IFBhdGgmIHBhdGgpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHJldmlzaW9uIDE4NDg5KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTExNSw3ICsxMTUsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1Jl
Y3QoY29uc3QgSW50CiAKICAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IHBsYXRmb3JtQ29udGV4
dCgpOwogCi0gICAgaWYgKGZpbGxDb2xvcigpLmFscGhhKCkpCisgICAgaWYgKGZpbGxDb2xvcigp
LmFscGhhKCkgfHwgY29tcG9zaXRlT3BlcmF0aW9uKCkgIT0gQ29tcG9zaXRlU291cmNlT3ZlcikK
ICAgICAgICAgQ0dDb250ZXh0RmlsbFJlY3QoY29udGV4dCwgcmVjdCk7CiAKICAgICBpZiAoc3Ry
b2tlU3R5bGUoKSAhPSBOb1N0cm9rZSAmJiBzdHJva2VDb2xvcigpLmFscGhhKCkpIHsKQEAgLTI2
NCw3ICsyNjQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0VsbGlwc2UoY29uc3QgCiAg
ICAgQ0dDb250ZXh0QWRkQXJjKGNvbnRleHQsIHJlY3QueCgpICsgciwgcmVjdC55KCkgKyByLCBy
LCAwLCAyKk1fUEksIHRydWUpOwogICAgIENHQ29udGV4dENsb3NlUGF0aChjb250ZXh0KTsKIAot
ICAgIGlmIChmaWxsQ29sb3IoKS5hbHBoYSgpKSB7CisgICAgaWYgKGZpbGxDb2xvcigpLmFscGhh
KCkgfHwgY29tcG9zaXRlT3BlcmF0aW9uKCkgIT0gQ29tcG9zaXRlU291cmNlT3ZlcikgewogICAg
ICAgICBpZiAoc3Ryb2tlU3R5bGUoKSAhPSBOb1N0cm9rZSkKICAgICAgICAgICAgIC8vIHN0cm9r
ZSBhbmQgZmlsbAogICAgICAgICAgICAgQ0dDb250ZXh0RHJhd1BhdGgoY29udGV4dCwga0NHUGF0
aEZpbGxTdHJva2UpOwpAQCAtMzg3LDcgKzM4Nyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0Ojpk
cmF3Q29udmV4UG9seWdvbigKICAgICAgICAgQ0dDb250ZXh0QWRkTGluZVRvUG9pbnQoY29udGV4
dCwgcG9pbnRzW2ldLngoKSwgcG9pbnRzW2ldLnkoKSk7CiAgICAgQ0dDb250ZXh0Q2xvc2VQYXRo
KGNvbnRleHQpOwogCi0gICAgaWYgKGZpbGxDb2xvcigpLmFscGhhKCkpCisgICAgaWYgKGZpbGxD
b2xvcigpLmFscGhhKCkgfHwgY29tcG9zaXRlT3BlcmF0aW9uKCkgIT0gQ29tcG9zaXRlU291cmNl
T3ZlcikKICAgICAgICAgQ0dDb250ZXh0RU9GaWxsUGF0aChjb250ZXh0KTsKIAogICAgIGlmIChz
dHJva2VTdHlsZSgpICE9IE5vU3Ryb2tlKQpAQCAtNDAwLDcgKzQwMCw3IEBAIHZvaWQgR3JhcGhp
Y3NDb250ZXh0OjpmaWxsUmVjdChjb25zdCBJbnQKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxl
ZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKGNvbG9yLmFscGhhKCkpIHsKKyAgICBpZiAo
Y29sb3IuYWxwaGEoKSB8fCBjb21wb3NpdGVPcGVyYXRpb24oKSAhPSBDb21wb3NpdGVTb3VyY2VP
dmVyKSB7CiAgICAgICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0gcGxhdGZvcm1Db250ZXh0KCk7
CiAgICAgICAgIENvbG9yIG9sZEZpbGxDb2xvciA9IGZpbGxDb2xvcigpOwogICAgICAgICBpZiAo
b2xkRmlsbENvbG9yICE9IGNvbG9yKQpAQCAtNDE1LDcgKzQxNSw3IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0OjpmaWxsUmVjdChjb25zdCBGbG8KIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgp
KQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKGNvbG9yLmFscGhhKCkpIHsKKyAgICBpZiAoY29s
b3IuYWxwaGEoKSB8fCBjb21wb3NpdGVPcGVyYXRpb24oKSAhPSBDb21wb3NpdGVTb3VyY2VPdmVy
KSB7CiAgICAgICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0gcGxhdGZvcm1Db250ZXh0KCk7CiAg
ICAgICAgIENvbG9yIG9sZEZpbGxDb2xvciA9IGZpbGxDb2xvcigpOwogICAgICAgICBpZiAob2xk
RmlsbENvbG9yICE9IGNvbG9yKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
R3JhcGhpY3NDb250ZXh0TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQkocmV2aXNpb24gMTg0ODkpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRNYWMubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTk5LDYgKzk5LDE0IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRDb21wb3Np
dGVPcGVyYXQKICAgICBbcG9vbCByZWxlYXNlXTsKIH0KIAorQ29tcG9zaXRlT3BlcmF0b3IgR3Jh
cGhpY3NDb250ZXh0Ojpjb21wb3NpdGVPcGVyYXRpb24oKQoreworICAgIE5TQXV0b3JlbGVhc2VQ
b29sKiBwb29sID0gW1tOU0F1dG9yZWxlYXNlUG9vbCBhbGxvY10gaW5pdF07CisgICAgQ29tcG9z
aXRlT3BlcmF0b3Igb3AgPSAoQ29tcG9zaXRlT3BlcmF0b3IpW1tOU0dyYXBoaWNzQ29udGV4dCBn
cmFwaGljc0NvbnRleHRXaXRoR3JhcGhpY3NQb3J0OnBsYXRmb3JtQ29udGV4dCgpIGZsaXBwZWQ6
WUVTXSBjb21wb3NpdGluZ09wZXJhdGlvbl07CisgICAgW3Bvb2wgcmVsZWFzZV07CisgICAgcmV0
dXJuIG9wOworfQorCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JNaXNzcGVsbGlu
Z09yQmFkR3JhbW1hcihjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCwgYm9vbCBncmFt
bWFyKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAJKHJldmlzaW9uIDE4NDkwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTA2LDIyICs1MDYsMzEgQEAgdm9pZCBSZW5kZXJCb3g6
OnBhaW50QmFja2dyb3VuZEV4dGVuZGVkKAogICAgIC8vIFBhaW50IHRoZSBjb2xvciBmaXJzdCB1
bmRlcm5lYXRoIGFsbCBpbWFnZXMuCiAgICAgaWYgKCFiZ0xheWVyLT5uZXh0KCkpIHsKICAgICAg
ICAgSW50UmVjdCByZWN0KF90eCwgY2xpcHksIHcsIGNsaXBoKTsKKwogICAgICAgICAvLyBJZiB3
ZSBoYXZlIGFuIGFscGhhIGFuZCB3ZSBhcmUgcGFpbnRpbmcgdGhlIHJvb3QgZWxlbWVudCwgZ28g
YWhlYWQgYW5kIGJsZW5kIHdpdGggdGhlIGJhc2UgYmFja2dyb3VuZCBjb2xvci4KLSAgICAgICAg
aWYgKGlzUm9vdCgpICYmICghYmdDb2xvci5pc1ZhbGlkKCkgfHwgYmdDb2xvci5hbHBoYSgpIDwg
MHhGRikgJiYgIWlzVHJhbnNwYXJlbnQpIHsKKyAgICAgICAgLy8gVW5sZXNzIHRoZSBiYWNrZ3Jv
dW5kIGNvbG9yIGlzIHZhbGlkIGFuZCB0aGUgYmFja2dyb3VuZCBjb21wb3NpdGUgaXMgY29weSwg
dGhlbiB0aGUgYmFzZSBiYWNrZ3JvdW5kIGNvbG9yIGlzbid0IG5lZWRlZC4KKyAgICAgICAgaWYg
KGlzUm9vdCgpICYmICFpc1RyYW5zcGFyZW50ICYmICghYmdDb2xvci5pc1ZhbGlkKCkgfHwgKGJn
Q29sb3IuYWxwaGEoKSA8IDB4RkYgJiYgYmdMYXllci0+YmFja2dyb3VuZENvbXBvc2l0ZSgpICE9
IENvbXBvc2l0ZUNvcHkpKSkgewogICAgICAgICAgICAgQ29sb3IgYmFzZUNvbG9yID0gdmlldygp
LT5mcmFtZVZpZXcoKS0+YmFzZUJhY2tncm91bmRDb2xvcigpOwotICAgICAgICAgICAgaWYgKGJh
c2VDb2xvci5hbHBoYSgpID4gMCkgewotICAgICAgICAgICAgICAgIHAtPnNhdmUoKTsKKyAgICAg
ICAgICAgIENvbXBvc2l0ZU9wZXJhdG9yIHByZXZpb3VzT3BlcmF0b3IgPSBwLT5jb21wb3NpdGVP
cGVyYXRpb24oKTsKKyAgICAgICAgICAgIGJvb2wgbmVlZHNPcGVyYXRvckNoYW5nZWQgPSBwcmV2
aW91c09wZXJhdG9yICE9IENvbXBvc2l0ZUNvcHk7CisgICAgICAgICAgICBpZiAobmVlZHNPcGVy
YXRvckNoYW5nZWQpCiAgICAgICAgICAgICAgICAgcC0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKENv
bXBvc2l0ZUNvcHkpOwotICAgICAgICAgICAgICAgIHAtPmZpbGxSZWN0KHJlY3QsIGJhc2VDb2xv
cik7Ci0gICAgICAgICAgICAgICAgcC0+cmVzdG9yZSgpOwotICAgICAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICAgICAgcC0+Y2xlYXJSZWN0KHJlY3QpOworICAgICAgICAgICAgcC0+ZmlsbFJl
Y3QocmVjdCwgYmFzZUNvbG9yKTsKKyAgICAgICAgICAgIGlmIChuZWVkc09wZXJhdG9yQ2hhbmdl
ZCkKKyAgICAgICAgICAgICAgICBwLT5zZXRDb21wb3NpdGVPcGVyYXRpb24ocHJldmlvdXNPcGVy
YXRvcik7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoYmdDb2xvci5pc1ZhbGlkKCkgJiYgYmdD
b2xvci5hbHBoYSgpID4gMCkKKyAgICAgICAgaWYgKGJnQ29sb3IuaXNWYWxpZCgpKSB7CisgICAg
ICAgICAgICBDb21wb3NpdGVPcGVyYXRvciBwcmV2aW91c09wZXJhdG9yID0gcC0+Y29tcG9zaXRl
T3BlcmF0aW9uKCk7CisgICAgICAgICAgICBib29sIG5lZWRzT3BlcmF0b3JDaGFuZ2VkID0gcHJl
dmlvdXNPcGVyYXRvciAhPSBiZ0xheWVyLT5iYWNrZ3JvdW5kQ29tcG9zaXRlKCk7CisgICAgICAg
ICAgICBpZiAobmVlZHNPcGVyYXRvckNoYW5nZWQpCisgICAgICAgICAgICAgICAgcC0+c2V0Q29t
cG9zaXRlT3BlcmF0aW9uKGJnTGF5ZXItPmJhY2tncm91bmRDb21wb3NpdGUoKSk7CiAgICAgICAg
ICAgICBwLT5maWxsUmVjdChyZWN0LCBiZ0NvbG9yKTsKKyAgICAgICAgICAgIGlmIChuZWVkc09w
ZXJhdG9yQ2hhbmdlZCkKKyAgICAgICAgICAgICAgICBwLT5zZXRDb21wb3NpdGVPcGVyYXRpb24o
cHJldmlvdXNPcGVyYXRvcik7CisgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICAvLyBubyBw
cm9ncmVzc2l2ZSBsb2FkaW5nIG9mIHRoZSBiYWNrZ3JvdW5kIGltYWdlCiAgICAgaWYgKHNob3Vs
ZFBhaW50QmFja2dyb3VuZEltYWdlKSB7CiAgICAgICAgIGludCBzeCA9IDA7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>