<?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>80471</bug_id>
          
          <creation_ts>2012-03-06 18:48:17 -0800</creation_ts>
          <short_desc>[chromium] wrong transform causing incorrect culling</short_desc>
          <delta_ts>2012-03-13 16:28:58 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Shawn Singh">shawnsingh</reporter>
          <assigned_to name="Shawn Singh">shawnsingh</assigned_to>
          <cc>backer</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>danakj</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>572431</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-03-06 18:48:17 -0800</bug_when>
    <thetext>To reproduce: 
  1. run chromium with --enable-partial-swap on osx   (should probably repro on cros and linux osmesa, too)
  2. visit www.apple.com/iphone

Things disappear awkwardly.   Its likely this is either a culling or damage tracking issue.

I also visualized paint and damage rects, and the rects go a little crazy.  Because of that, its reasonable to assume that its a damage tracking bug (or two).  If it becomes clear that its a culling issue I&apos;ll hand it off to Dana.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577700</commentid>
    <comment_count>1</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-03-13 12:54:28 -0700</bug_when>
    <thetext>Figured out the problem: in CCRenderPass, where the quad was being created for a RenderSurface, the quadTransforms was being initialized by the surface&apos;s drawTransform.   I believe this should actually be the originTransform instead, following the same pattern as other layers.

Without culling/damage tracking, it did not affect rendering because renderSurfaces draw themselves separately using the drawTransform, and they never used the quadTransform.

With both culling and damage tracking, however, things go wrong.  Culling (correctly) uses the quadTransform to determine the quad in target surface space; and, because the quadTransform was wrong, the quad becomes shifted incorrectly.  Therefore, when intersecting the damageRect, incorrect regions get culled.

Patch coming in just a moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577709</commentid>
    <comment_count>2</comment_count>
      <attachid>131699</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-03-13 13:03:11 -0700</bug_when>
    <thetext>Created attachment 131699
Patch

This patch also shuffles code around so that the fix can be more easily tested</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577717</commentid>
    <comment_count>3</comment_count>
      <attachid>131699</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-13 13:11:07 -0700</bug_when>
    <thetext>Comment on attachment 131699
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=131699&amp;action=review

+1

&gt; Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h:41
&gt;  #include &quot;cc/CCLayerQuad.h&quot;
&gt; +#include &quot;cc/CCRenderPass.h&quot;

Can this file forward-declare class CCSharedQuadState, and the .cpp includes CCSharedQuadState.h?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577725</commentid>
    <comment_count>4</comment_count>
      <attachid>131699</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-03-13 13:17:17 -0700</bug_when>
    <thetext>Comment on attachment 131699
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=131699&amp;action=review

R=me. I like the forward decl idea as well.

&gt; Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp:105
&gt; +    // for reference, remove before committing
&gt; +    // return CCSharedQuadState::create(originTransform(), drawTransform(), contentRect(), clipRect(), drawOpacity(), isOpaque);

don&apos;t forget to do this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577777</commentid>
    <comment_count>5</comment_count>
      <attachid>131707</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-03-13 13:49:00 -0700</bug_when>
    <thetext>Created attachment 131707
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577779</commentid>
    <comment_count>6</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-03-13 13:50:05 -0700</bug_when>
    <thetext>Cool - thanks to both of you for the quick review =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577971</commentid>
    <comment_count>7</comment_count>
      <attachid>131707</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 16:28:53 -0700</bug_when>
    <thetext>Comment on attachment 131707
Patch for landing

Clearing flags on attachment: 131707

Committed r110635: &lt;http://trac.webkit.org/changeset/110635&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577972</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 16:28:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131699</attachid>
            <date>2012-03-13 13:03:11 -0700</date>
            <delta_ts>2012-03-13 13:48:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80471-20120313130310.patch</filename>
            <type>text/plain</type>
            <size>7354</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGI0OGZhYmVmYjdkOWE3
YjhmMzdjZTA3YmIzZTU1MDU4ZjYzOGZmNy4uMzQ5Yzc0MmJmMzFhNWEzZmQyMjQ3MWI4YzU3ZmEx
ZDZlMzYxN2ZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTEzICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0g
d3JvbmcgdHJhbnNmb3JtIGNhdXNpbmcgaW5jb3JyZWN0IGN1bGxpbmcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDcxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5pdCB0ZXN0IGFkZGVkIHRvIENDUmVu
ZGVyU3VyZmFjZVRlc3QuY3BwCisKKyAgICAgICAgSW4gYWRkaXRpb24gdG8gdXNpbmcgb3JpZ2lu
VHJhbnNmb3JtKCkgaW5zdGVhZCBvZiBkcmF3VHJhbnNmb3JtKCksCisgICAgICAgIHRoaXMgcGF0
Y2ggc2h1ZmZsZXMgYSBiaXQgb2YgY29kZSBzbyB0aGF0IGEgdW5pdCB0ZXN0IGNhbiBiZQorICAg
ICAgICBlYXNpbHkgYWRkZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclBhc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJQYXNzOjph
cHBlbmRRdWFkc0ZvclJlbmRlclN1cmZhY2VMYXllcik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNDUmVuZGVyU3VyZmFjZTo6Y3JlYXRlU2hhcmVkUXVhZFN0YXRlKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3Vy
ZmFjZS5oOgorICAgICAgICAoQ0NSZW5kZXJTdXJmYWNlKToKKwogMjAxMi0wMy0xMSAgU2hhd24g
U2luZ2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXggcmVncmVzc2lv
biBvbiBmYXN0L3RhYmxlL3RhYmxlLXJvdy1jb21wb3NpdGluZy1yZXBhaW50LWNyYXNoLmh0bWwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNzcwMjE1Y2NkZWIwZmExMmUyOGYyZWQ4NGZm
NzcyNmEwNTcyOThhOC4uZTQ3YmFkZTJjMzZlOTk5OWQ3ZmY4MjBjMjJiOTk3NGEwYWM2YTQ3MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wMy0xMyAg
U2hhd24gU2luZ2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21p
dW1dIHdyb25nIHRyYW5zZm9ybSBjYXVzaW5nIGluY29ycmVjdCBjdWxsaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ3MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvQ0NSZW5kZXJTdXJm
YWNlVGVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpURVNUKToKKyAgICAgICAgKFdlYkNvcmUp
OgorCiAyMDEyLTAzLTEyICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtjaHJvbWl1bV0gQ2xlYW4gdXAgY3VsbGluZyB0ZXN0cyBhbmQgdGVtcGxhdGl6ZSB0
byB0ZXN0IGltcGwgY29uc3RydWN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHAKaW5kZXggYmQ4
NzdlYzMwOTkwOGM1MzIzODkxZmM5ZDUxYmI5MDQ5NzY4NmY5My4uNzk1YTEwODZkNzBiMzdkMTNm
ODBlMmNjNzI3YWExNTNlYjMzM2JjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwCkBAIC01
OSw4ICs1OSw3IEBAIHZvaWQgQ0NSZW5kZXJQYXNzOjphcHBlbmRRdWFkc0ZvclJlbmRlclN1cmZh
Y2VMYXllcihDQ0xheWVySW1wbCogbGF5ZXIpCiAgICAgLy8gRklYTUU6IHJlbmRlciBzdXJmYWNl
IGxheWVycyBzaG91bGQgYmUgYSBDQ0xheWVySW1wbC1kZXJpdmVkIGNsYXNzIGFuZAogICAgIC8v
IG5vdCBiZSBoYW5kbGVkIHNwZWNpYWxseSBoZXJlLgogICAgIENDUmVuZGVyU3VyZmFjZSogc3Vy
ZmFjZSA9IGxheWVyLT5yZW5kZXJTdXJmYWNlKCk7Ci0gICAgYm9vbCBpc09wYXF1ZSA9IGZhbHNl
OwotICAgIE93blB0cjxDQ1NoYXJlZFF1YWRTdGF0ZT4gc2hhcmVkUXVhZFN0YXRlID0gQ0NTaGFy
ZWRRdWFkU3RhdGU6OmNyZWF0ZShzdXJmYWNlLT5kcmF3VHJhbnNmb3JtKCksIHN1cmZhY2UtPmRy
YXdUcmFuc2Zvcm0oKSwgc3VyZmFjZS0+Y29udGVudFJlY3QoKSwgc3VyZmFjZS0+Y2xpcFJlY3Qo
KSwgc3VyZmFjZS0+ZHJhd09wYWNpdHkoKSwgaXNPcGFxdWUpOworICAgIE93blB0cjxDQ1NoYXJl
ZFF1YWRTdGF0ZT4gc2hhcmVkUXVhZFN0YXRlID0gc3VyZmFjZS0+Y3JlYXRlU2hhcmVkUXVhZFN0
YXRlKCk7CiAgICAgbV9xdWFkTGlzdC5hcHBlbmQoQ0NSZW5kZXJTdXJmYWNlRHJhd1F1YWQ6OmNy
ZWF0ZShzaGFyZWRRdWFkU3RhdGUuZ2V0KCksIHN1cmZhY2UtPmNvbnRlbnRSZWN0KCksIGxheWVy
LCBzdXJmYWNlRGFtYWdlUmVjdCgpKSk7CiAgICAgbV9zaGFyZWRRdWFkU3RhdGVMaXN0LmFwcGVu
ZChzaGFyZWRRdWFkU3RhdGUucmVsZWFzZSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZh
Y2UuY3BwCmluZGV4IDI1YWM4ZmE5YmU4YjAwZThhNzNlODJlODBmYWNhZDRiNjllMmNiNDkuLmY3
NTMwZGE4MmM5ZWE0YjYwNWMxYjJmYjRkM2RiYzI1YTg5YmQ4ODggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NS
ZW5kZXJTdXJmYWNlLmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgImNjL0NDRGFtYWdl
VHJhY2tlci5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NQ
cm94eS5oIgorI2luY2x1ZGUgImNjL0NDUmVuZGVyU3VyZmFjZURyYXdRdWFkLmgiCiAjaW5jbHVk
ZSAiY2MvQ0NSZW5kZXJTdXJmYWNlRmlsdGVycy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KIApAQCAtMzAxLDUgKzMwMiwxMSBAQCBib29sIENDUmVuZGVyU3VyZmFjZTo6c3VyZmFj
ZVByb3BlcnR5Q2hhbmdlZE9ubHlGcm9tRGVzY2VuZGFudCgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
c3VyZmFjZVByb3BlcnR5Q2hhbmdlZCAmJiAhbV9vd25pbmdMYXllci0+bGF5ZXJQcm9wZXJ0eUNo
YW5nZWQoKTsKIH0KIAorUGFzc093blB0cjxDQ1NoYXJlZFF1YWRTdGF0ZT4gQ0NSZW5kZXJTdXJm
YWNlOjpjcmVhdGVTaGFyZWRRdWFkU3RhdGUoKSBjb25zdAoreworICAgIGJvb2wgaXNPcGFxdWUg
PSBmYWxzZTsKKyAgICByZXR1cm4gQ0NTaGFyZWRRdWFkU3RhdGU6OmNyZWF0ZShvcmlnaW5UcmFu
c2Zvcm0oKSwgZHJhd1RyYW5zZm9ybSgpLCBjb250ZW50UmVjdCgpLCBjbGlwUmVjdCgpLCBkcmF3
T3BhY2l0eSgpLCBpc09wYXF1ZSk7Cit9CisKIH0KICNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCmluZGV4IDE0MWVkMmQyNDBl
NjQwMGRiNjExYmU5N2Y3NDAzZjE3ZGUyZmRjODMuLjAxZTQ1N2UyZTdmMTY4MTY3ZDM0MjE0ZDFj
MjFhYjgxZWMzZmEzMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCkBAIC0zOCw2ICsz
OCw3IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1hbmFnZXIuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1h
dGlvbk1hdHJpeC5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJRdWFkLmgiCisjaW5jbHVkZSAiY2Mv
Q0NSZW5kZXJQYXNzLmgiCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTExNCw2ICsxMTUsOCBAQCBwdWJsaWM6CiAKICAgICBDQ0RhbWFnZVRy
YWNrZXIqIGRhbWFnZVRyYWNrZXIoKSBjb25zdCB7IHJldHVybiBtX2RhbWFnZVRyYWNrZXIuZ2V0
KCk7IH0KIAorICAgIFBhc3NPd25QdHI8Q0NTaGFyZWRRdWFkU3RhdGU+IGNyZWF0ZVNoYXJlZFF1
YWRTdGF0ZSgpIGNvbnN0OworCiBwcml2YXRlOgogICAgIHZvaWQgZHJhd0xheWVyKExheWVyUmVu
ZGVyZXJDaHJvbWl1bSosIENDTGF5ZXJJbXBsKiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgm
LCBjb25zdCBTa0JpdG1hcCYgZmlsdGVyQml0bWFwKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NSZW5kZXJTdXJmYWNl
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDUmVuZGVyU3VyZmFjZVRl
c3QuY3BwCmluZGV4IDEyMDE1ODdjNzhkZjdiNTg0MDI3NzRkZjBjNjkzZjRlZWRkZGQ2MDAuLmM0
MDM2OGQyZmRlYjhiOTcxYTFiOTMwN2QxNWMwYjFlOTBjNjkxMTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NSZW5kZXJTdXJmYWNlVGVzdC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1JlbmRlclN1cmZhY2VUZXN0LmNwcApAQCAtMjYs
NyArMjYsOSBAQAogCiAjaW5jbHVkZSAiY2MvQ0NSZW5kZXJTdXJmYWNlLmgiCiAKKyNpbmNsdWRl
ICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJJbXBsLmgiCisj
aW5jbHVkZSAiY2MvQ0NTaGFyZWRRdWFkU3RhdGUuaCIKICNpbmNsdWRlICJjYy9DQ1NpbmdsZVRo
cmVhZFByb3h5LmgiCiAjaW5jbHVkZSA8Z21vY2svZ21vY2suaD4KICNpbmNsdWRlIDxndGVzdC9n
dGVzdC5oPgpAQCAtODksNCArOTEsNDEgQEAgVEVTVChDQ1JlbmRlclN1cmZhY2VUZXN0LCB2ZXJp
ZnlTdXJmYWNlQ2hhbmdlc0FyZVRyYWNrZWRQcm9wZXJseSkKICAgICBFWEVDVVRFX0FORF9WRVJJ
RllfU1VSRkFDRV9ESURfTk9UX0NIQU5HRShyZW5kZXJTdXJmYWNlLT5zZXRNYXNrTGF5ZXIoZHVt
bXlNYXNrLmdldCgpKSk7CiB9CiAKK1RFU1QoQ0NSZW5kZXJTdXJmYWNlVGVzdCwgc2FuaXR5Q2hl
Y2tTdXJmYWNlQ3JlYXRlc0NvcnJlY3RTaGFyZWRRdWFkU3RhdGUpCit7CisgICAgLy8gVGhpcyB3
aWxsIGZha2UgdGhhdCB3ZSBhcmUgb24gdGhlIGNvcnJlY3QgdGhyZWFkIGZvciB0ZXN0aW5nIHB1
cnBvc2VzLgorICAgIERlYnVnU2NvcGVkU2V0SW1wbFRocmVhZCBzZXRJbXBsVGhyZWFkOworCisg
ICAgT3duUHRyPENDTGF5ZXJJbXBsPiBvd25pbmdMYXllciA9IENDTGF5ZXJJbXBsOjpjcmVhdGUo
MCk7CisgICAgb3duaW5nTGF5ZXItPmNyZWF0ZVJlbmRlclN1cmZhY2UoKTsKKyAgICBBU1NFUlRf
VFJVRShvd25pbmdMYXllci0+cmVuZGVyU3VyZmFjZSgpKTsKKyAgICBDQ1JlbmRlclN1cmZhY2Uq
IHJlbmRlclN1cmZhY2UgPSBvd25pbmdMYXllci0+cmVuZGVyU3VyZmFjZSgpOworCisgICAgLy8g
Zm9yIHJlZmVyZW5jZSwgcmVtb3ZlIGJlZm9yZSBjb21taXR0aW5nCisgICAgLy8gcmV0dXJuIEND
U2hhcmVkUXVhZFN0YXRlOjpjcmVhdGUob3JpZ2luVHJhbnNmb3JtKCksIGRyYXdUcmFuc2Zvcm0o
KSwgY29udGVudFJlY3QoKSwgY2xpcFJlY3QoKSwgZHJhd09wYWNpdHkoKSwgaXNPcGFxdWUpOwor
CisgICAgSW50UmVjdCBjb250ZW50UmVjdCA9IEludFJlY3QoSW50UG9pbnQ6Onplcm8oKSwgSW50
U2l6ZSg1MCwgNTApKTsKKyAgICBJbnRSZWN0IGNsaXBSZWN0ID0gSW50UmVjdChJbnRQb2ludCg1
LCA1KSwgSW50U2l6ZSg0MCwgNDApKTsKKyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBkcmF3Owor
ICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG9yaWdpbjsKKworICAgIGRyYXcudHJhbnNsYXRlKDMw
LCA0MCk7CisKKyAgICByZW5kZXJTdXJmYWNlLT5zZXREcmF3VHJhbnNmb3JtKGRyYXcpOworICAg
IHJlbmRlclN1cmZhY2UtPnNldE9yaWdpblRyYW5zZm9ybShvcmlnaW4pOworICAgIHJlbmRlclN1
cmZhY2UtPnNldENvbnRlbnRSZWN0KGNvbnRlbnRSZWN0KTsKKyAgICByZW5kZXJTdXJmYWNlLT5z
ZXRDbGlwUmVjdChjbGlwUmVjdCk7CisgICAgcmVuZGVyU3VyZmFjZS0+c2V0RHJhd09wYWNpdHko
MSk7CisKKyAgICBPd25QdHI8Q0NTaGFyZWRRdWFkU3RhdGU+IHNoYXJlZFF1YWRTdGF0ZSA9IHJl
bmRlclN1cmZhY2UtPmNyZWF0ZVNoYXJlZFF1YWRTdGF0ZSgpOworCisgICAgRVhQRUNUX1RSVUUo
c2hhcmVkUXVhZFN0YXRlLT5xdWFkVHJhbnNmb3JtKCkuaXNJZGVudGl0eSgpKTsKKyAgICBFWFBF
Q1RfRVEoMzAsIHNoYXJlZFF1YWRTdGF0ZS0+bGF5ZXJUcmFuc2Zvcm0oKS5tNDEoKSk7CisgICAg
RVhQRUNUX0VRKDQwLCBzaGFyZWRRdWFkU3RhdGUtPmxheWVyVHJhbnNmb3JtKCkubTQyKCkpOwor
ICAgIEVYUEVDVF9FUShjb250ZW50UmVjdCwgc2hhcmVkUXVhZFN0YXRlLT5sYXllclJlY3QoKSk7
CisgICAgRVhQRUNUX0VRKGNsaXBSZWN0LCBzaGFyZWRRdWFkU3RhdGUtPmNsaXBSZWN0KCkpOwor
ICAgIEVYUEVDVF9FUSgxLCBzaGFyZWRRdWFkU3RhdGUtPm9wYWNpdHkoKSk7CisgICAgRVhQRUNU
X0ZBTFNFKHNoYXJlZFF1YWRTdGF0ZS0+aXNPcGFxdWUoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131707</attachid>
            <date>2012-03-13 13:49:00 -0700</date>
            <delta_ts>2012-03-13 16:28:53 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-80471-20120313134859.patch</filename>
            <type>text/plain</type>
            <size>7098</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQ1YzgzMDM5Yjc4ZTY3
NzE0NDgxYzUxMzNkYmQ3ODY5ZWEzZTg1MC4uNGRjZjNhYTA2Mzg4ODc5ODM5NTFjZGVlM2FlNjgx
NTQxZGFmNGE5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTEzICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0g
d3JvbmcgdHJhbnNmb3JtIGNhdXNpbmcgaW5jb3JyZWN0IGN1bGxpbmcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDcxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisKKyAgICAgICAgVW5pdCB0ZXN0IGFkZGVkIHRvIENDUmVu
ZGVyU3VyZmFjZVRlc3QuY3BwCisKKyAgICAgICAgSW4gYWRkaXRpb24gdG8gdXNpbmcgb3JpZ2lu
VHJhbnNmb3JtKCkgaW5zdGVhZCBvZiBkcmF3VHJhbnNmb3JtKCksCisgICAgICAgIHRoaXMgcGF0
Y2ggc2h1ZmZsZXMgYSBiaXQgb2YgY29kZSBzbyB0aGF0IGEgdW5pdCB0ZXN0IGNhbiBiZQorICAg
ICAgICBlYXNpbHkgYWRkZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclBhc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJQYXNzOjph
cHBlbmRRdWFkc0ZvclJlbmRlclN1cmZhY2VMYXllcik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNDUmVuZGVyU3VyZmFjZTo6Y3JlYXRlU2hhcmVkUXVhZFN0YXRlKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3Vy
ZmFjZS5oOgorICAgICAgICAoQ0NSZW5kZXJTdXJmYWNlKToKKwogMjAxMi0wMy0xMyAgRGFuaWVs
IEJhdGVzICA8ZGJhdGVzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyOTkzNjkp
OiBGaWxlIGlucHV0IGJ1dHRvbiBkb2Vzbid0IGhpZ2hsaWdodCB3aGVuIHByZXNzZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZDRlMzEyM2I3YzQxY2I4ZTE4NDI0MjgwODY4MWU2YmYy
OTQzMGZmMy4uY2M4ZDFiY2RkNDU4YWE4ZDZjZWFlMGYzNzM2ZDE4ZjUwYmE4ZDcxNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wMy0xMyAgU2hhd24g
U2luZ2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIHdy
b25nIHRyYW5zZm9ybSBjYXVzaW5nIGluY29ycmVjdCBjdWxsaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ3MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IEphbWVzIFJvYmluc29uLgorCisgICAgICAgICogdGVzdHMvQ0NSZW5kZXJTdXJmYWNlVGVz
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpURVNUKToKKyAgICAgICAgKFdlYkNvcmUpOgorCiAy
MDEyLTAzLTEzICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtjaHJvbWl1bV0gVXNlIENDT2NjbHVzaW9uVHJhY2tlciBmb3IgZHJhdyBjdWxsaW5nCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Jl
bmRlclBhc3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NSZW5kZXJQYXNzLmNwcAppbmRleCA2NzQxMjdlMjBlZjBlZGI3MWRjZGQyNzVmZTA2YzZl
YjYxODhiYzI0Li44YzQzMTgzNTA2NmRkYmZkODgwMDkzYjE3OWEyYTc5ZDQ1N2Y3MjEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Jl
bmRlclBhc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDUmVuZGVyUGFzcy5jcHAKQEAgLTYxLDggKzYxLDcgQEAgdm9pZCBDQ1JlbmRlclBh
c3M6OmFwcGVuZFF1YWRzRm9yUmVuZGVyU3VyZmFjZUxheWVyKENDTGF5ZXJJbXBsKiBsYXllcikK
ICAgICAvLyBGSVhNRTogcmVuZGVyIHN1cmZhY2UgbGF5ZXJzIHNob3VsZCBiZSBhIENDTGF5ZXJJ
bXBsLWRlcml2ZWQgY2xhc3MgYW5kCiAgICAgLy8gbm90IGJlIGhhbmRsZWQgc3BlY2lhbGx5IGhl
cmUuCiAgICAgQ0NSZW5kZXJTdXJmYWNlKiBzdXJmYWNlID0gbGF5ZXItPnJlbmRlclN1cmZhY2Uo
KTsKLSAgICBib29sIGlzT3BhcXVlID0gZmFsc2U7Ci0gICAgT3duUHRyPENDU2hhcmVkUXVhZFN0
YXRlPiBzaGFyZWRRdWFkU3RhdGUgPSBDQ1NoYXJlZFF1YWRTdGF0ZTo6Y3JlYXRlKHN1cmZhY2Ut
PmRyYXdUcmFuc2Zvcm0oKSwgc3VyZmFjZS0+ZHJhd1RyYW5zZm9ybSgpLCBzdXJmYWNlLT5jb250
ZW50UmVjdCgpLCBzdXJmYWNlLT5jbGlwUmVjdCgpLCBzdXJmYWNlLT5kcmF3T3BhY2l0eSgpLCBp
c09wYXF1ZSk7CisgICAgT3duUHRyPENDU2hhcmVkUXVhZFN0YXRlPiBzaGFyZWRRdWFkU3RhdGUg
PSBzdXJmYWNlLT5jcmVhdGVTaGFyZWRRdWFkU3RhdGUoKTsKICAgICBtX3F1YWRMaXN0LmFwcGVu
ZChDQ1JlbmRlclN1cmZhY2VEcmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZS5nZXQoKSwg
c3VyZmFjZS0+Y29udGVudFJlY3QoKSwgbGF5ZXIsIHN1cmZhY2VEYW1hZ2VSZWN0KCkpKTsKICAg
ICBtX3NoYXJlZFF1YWRTdGF0ZUxpc3QuYXBwZW5kKHNoYXJlZFF1YWRTdGF0ZS5yZWxlYXNlKCkp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAKaW5kZXggNTRmMGZlODEwMTE4NjRl
MWQ5ZjViOWMyMzYwYmYwY2JjM2MzOGFjYS4uM2JlMTQ4YjBhN2IzMzAxOTQyM2NiMjkwMzA1MTU0
NGNkYTMzM2Q0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCkBAIC00MSw2ICs0
MSw3IEBACiAjaW5jbHVkZSAiY2MvQ0NMYXllckltcGwuaCIKICNpbmNsdWRlICJjYy9DQ1Byb3h5
LmgiCiAjaW5jbHVkZSAiY2MvQ0NSZW5kZXJTdXJmYWNlRmlsdGVycy5oIgorI2luY2x1ZGUgImNj
L0NDU2hhcmVkUXVhZFN0YXRlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMDEsNSArMzAyLDExIEBAIGJvb2wgQ0NSZW5kZXJTdXJm
YWNlOjpzdXJmYWNlUHJvcGVydHlDaGFuZ2VkT25seUZyb21EZXNjZW5kYW50KCkgY29uc3QKICAg
ICByZXR1cm4gbV9zdXJmYWNlUHJvcGVydHlDaGFuZ2VkICYmICFtX293bmluZ0xheWVyLT5sYXll
clByb3BlcnR5Q2hhbmdlZCgpOwogfQogCitQYXNzT3duUHRyPENDU2hhcmVkUXVhZFN0YXRlPiBD
Q1JlbmRlclN1cmZhY2U6OmNyZWF0ZVNoYXJlZFF1YWRTdGF0ZSgpIGNvbnN0Cit7CisgICAgYm9v
bCBpc09wYXF1ZSA9IGZhbHNlOworICAgIHJldHVybiBDQ1NoYXJlZFF1YWRTdGF0ZTo6Y3JlYXRl
KG9yaWdpblRyYW5zZm9ybSgpLCBkcmF3VHJhbnNmb3JtKCksIGNvbnRlbnRSZWN0KCksIGNsaXBS
ZWN0KCksIGRyYXdPcGFjaXR5KCksIGlzT3BhcXVlKTsKK30KKwogfQogI2VuZGlmIC8vIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKaW5kZXgg
MTQxZWQyZDI0MGU2NDAwZGI2MTFiZTk3Zjc0MDNmMTdkZTJmZGM4My4uYjVjZDNhODM0NDBhN2Fj
Mjk1ZTgwMTViZjFkZTY3YmUxODc3YjU4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgK
QEAgLTQzLDYgKzQzLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ0NEYW1hZ2VU
cmFja2VyOworY2xhc3MgQ0NTaGFyZWRRdWFkU3RhdGU7CiBjbGFzcyBDQ0xheWVySW1wbDsKIGNs
YXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bTsKIGNsYXNzIE1hbmFnZWRUZXh0dXJlOwpAQCAtMTE0
LDYgKzExNSw4IEBAIHB1YmxpYzoKIAogICAgIENDRGFtYWdlVHJhY2tlciogZGFtYWdlVHJhY2tl
cigpIGNvbnN0IHsgcmV0dXJuIG1fZGFtYWdlVHJhY2tlci5nZXQoKTsgfQogCisgICAgUGFzc093
blB0cjxDQ1NoYXJlZFF1YWRTdGF0ZT4gY3JlYXRlU2hhcmVkUXVhZFN0YXRlKCkgY29uc3Q7CisK
IHByaXZhdGU6CiAgICAgdm9pZCBkcmF3TGF5ZXIoTGF5ZXJSZW5kZXJlckNocm9taXVtKiwgQ0NM
YXllckltcGwqLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGNvbnN0IFNrQml0bWFwJiBm
aWx0ZXJCaXRtYXApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1JlbmRlclN1cmZhY2VUZXN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NSZW5kZXJTdXJmYWNlVGVzdC5jcHAKaW5kZXggMTIwMTU4
N2M3OGRmN2I1ODQwMjc3NGRmMGM2OTNmNGVlZGRkZDYwMC4uN2RhYzAwNWQyNGNhZmFjYzI3MWI4
NmFkNWZkZTM4NTY2ZDBiZDg3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9DQ1JlbmRlclN1cmZhY2VUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL0NDUmVuZGVyU3VyZmFjZVRlc3QuY3BwCkBAIC0yNiw3ICsyNiw5IEBACiAKICNpbmNs
dWRlICJjYy9DQ1JlbmRlclN1cmZhY2UuaCIKIAorI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0
cml4LmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXllckltcGwuaCIKKyNpbmNsdWRlICJjYy9DQ1NoYXJl
ZFF1YWRTdGF0ZS5oIgogI2luY2x1ZGUgImNjL0NDU2luZ2xlVGhyZWFkUHJveHkuaCIKICNpbmNs
dWRlIDxnbW9jay9nbW9jay5oPgogI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CkBAIC04OSw0ICs5
MSwzOCBAQCBURVNUKENDUmVuZGVyU3VyZmFjZVRlc3QsIHZlcmlmeVN1cmZhY2VDaGFuZ2VzQXJl
VHJhY2tlZFByb3Blcmx5KQogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TVVJGQUNFX0RJRF9OT1Rf
Q0hBTkdFKHJlbmRlclN1cmZhY2UtPnNldE1hc2tMYXllcihkdW1teU1hc2suZ2V0KCkpKTsKIH0K
IAorVEVTVChDQ1JlbmRlclN1cmZhY2VUZXN0LCBzYW5pdHlDaGVja1N1cmZhY2VDcmVhdGVzQ29y
cmVjdFNoYXJlZFF1YWRTdGF0ZSkKK3sKKyAgICAvLyBUaGlzIHdpbGwgZmFrZSB0aGF0IHdlIGFy
ZSBvbiB0aGUgY29ycmVjdCB0aHJlYWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuCisgICAgRGVidWdT
Y29wZWRTZXRJbXBsVGhyZWFkIHNldEltcGxUaHJlYWQ7CisKKyAgICBPd25QdHI8Q0NMYXllcklt
cGw+IG93bmluZ0xheWVyID0gQ0NMYXllckltcGw6OmNyZWF0ZSgwKTsKKyAgICBvd25pbmdMYXll
ci0+Y3JlYXRlUmVuZGVyU3VyZmFjZSgpOworICAgIEFTU0VSVF9UUlVFKG93bmluZ0xheWVyLT5y
ZW5kZXJTdXJmYWNlKCkpOworICAgIENDUmVuZGVyU3VyZmFjZSogcmVuZGVyU3VyZmFjZSA9IG93
bmluZ0xheWVyLT5yZW5kZXJTdXJmYWNlKCk7CisKKyAgICBJbnRSZWN0IGNvbnRlbnRSZWN0ID0g
SW50UmVjdChJbnRQb2ludDo6emVybygpLCBJbnRTaXplKDUwLCA1MCkpOworICAgIEludFJlY3Qg
Y2xpcFJlY3QgPSBJbnRSZWN0KEludFBvaW50KDUsIDUpLCBJbnRTaXplKDQwLCA0MCkpOworICAg
IFRyYW5zZm9ybWF0aW9uTWF0cml4IGRyYXc7CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggb3Jp
Z2luOworCisgICAgZHJhdy50cmFuc2xhdGUoMzAsIDQwKTsKKworICAgIHJlbmRlclN1cmZhY2Ut
PnNldERyYXdUcmFuc2Zvcm0oZHJhdyk7CisgICAgcmVuZGVyU3VyZmFjZS0+c2V0T3JpZ2luVHJh
bnNmb3JtKG9yaWdpbik7CisgICAgcmVuZGVyU3VyZmFjZS0+c2V0Q29udGVudFJlY3QoY29udGVu
dFJlY3QpOworICAgIHJlbmRlclN1cmZhY2UtPnNldENsaXBSZWN0KGNsaXBSZWN0KTsKKyAgICBy
ZW5kZXJTdXJmYWNlLT5zZXREcmF3T3BhY2l0eSgxKTsKKworICAgIE93blB0cjxDQ1NoYXJlZFF1
YWRTdGF0ZT4gc2hhcmVkUXVhZFN0YXRlID0gcmVuZGVyU3VyZmFjZS0+Y3JlYXRlU2hhcmVkUXVh
ZFN0YXRlKCk7CisKKyAgICBFWFBFQ1RfVFJVRShzaGFyZWRRdWFkU3RhdGUtPnF1YWRUcmFuc2Zv
cm0oKS5pc0lkZW50aXR5KCkpOworICAgIEVYUEVDVF9FUSgzMCwgc2hhcmVkUXVhZFN0YXRlLT5s
YXllclRyYW5zZm9ybSgpLm00MSgpKTsKKyAgICBFWFBFQ1RfRVEoNDAsIHNoYXJlZFF1YWRTdGF0
ZS0+bGF5ZXJUcmFuc2Zvcm0oKS5tNDIoKSk7CisgICAgRVhQRUNUX0VRKGNvbnRlbnRSZWN0LCBz
aGFyZWRRdWFkU3RhdGUtPmxheWVyUmVjdCgpKTsKKyAgICBFWFBFQ1RfRVEoY2xpcFJlY3QsIHNo
YXJlZFF1YWRTdGF0ZS0+Y2xpcFJlY3QoKSk7CisgICAgRVhQRUNUX0VRKDEsIHNoYXJlZFF1YWRT
dGF0ZS0+b3BhY2l0eSgpKTsKKyAgICBFWFBFQ1RfRkFMU0Uoc2hhcmVkUXVhZFN0YXRlLT5pc09w
YXF1ZSgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>