<?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>69765</bug_id>
          
          <creation_ts>2011-10-10 10:24:33 -0700</creation_ts>
          <short_desc>[chromium] Update comments about transform hierarchy in CCLayerTreeHostCommon</short_desc>
          <delta_ts>2011-10-17 17:53:54 -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>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>480993</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-10-10 10:24:33 -0700</bug_when>
    <thetext>This patch (coming shortly) extends the comments in calculateDrawTransformsAndVisibility, so that this complex function is hopefully a bit more readable.

This change was originally part of https://bugs.webkit.org/show_bug.cgi?id=69197 but it made sense to separate them since feedback may still continue on this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481119</commentid>
    <comment_count>1</comment_count>
      <attachid>110396</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-10-10 13:44:20 -0700</bug_when>
    <thetext>Created attachment 110396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481178</commentid>
    <comment_count>2</comment_count>
      <attachid>110396</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-10-10 14:42:12 -0700</bug_when>
    <thetext>Comment on attachment 110396
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:117
&gt; +    // 4. Definition of various transformsed used:

typo &quot;transformsed&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481216</commentid>
    <comment_count>3</comment_count>
      <attachid>110417</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-10-10 15:21:16 -0700</bug_when>
    <thetext>Created attachment 110417
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481352</commentid>
    <comment_count>4</comment_count>
      <attachid>110417</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-10-10 17:44:26 -0700</bug_when>
    <thetext>Comment on attachment 110417
Patch

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

Awesome.  This is much more understandable.  :)

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:102
&gt; +    //    projection applied at render time flips the Y axis appropriately.

s/render/draw/, for consistency

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:122
&gt; +    //        Tr[o2a] is the translation from the layer&apos;s origin to its anchor point
&gt; +    //        Tr[o2c] is the translation from the layer&apos;s origin to its center

I realize it&apos;s wordy, but originToAnchor, originToCenter, anchorToCenter would be better than abbreviating.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:129
&gt; +    //        Tr[a2c] = T[o2a].inverse * T[o2c]

T =&gt; Tr?, inverse =&gt; inverse()?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:140
&gt; +    // The draw transform for the layer is:

It is a little inconsistent to me that draw transforms go to the center of the layer, but screen space transforms go to the origin.  Can you maybe call this out explicitly in these comments? I know it&apos;s obvious from the math, but...

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:146
&gt; +    //                       = M[root] * Tr[layer-&gt;position()] * M[l] * Tr[o2a].inverse()

M[l] =&gt; M[layer]?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481377</commentid>
    <comment_count>5</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-10-10 18:26:12 -0700</bug_when>
    <thetext>OK thanks for the comments!  Will upload a new patch tonight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481407</commentid>
    <comment_count>6</comment_count>
      <attachid>110465</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-10-10 20:04:23 -0700</bug_when>
    <thetext>Created attachment 110465
addressed review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481681</commentid>
    <comment_count>7</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-10-11 09:42:01 -0700</bug_when>
    <thetext>Looks unofficially good to me.  Thanks for doing this.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481739</commentid>
    <comment_count>8</comment_count>
      <attachid>110465</attachid>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2011-10-11 11:01:00 -0700</bug_when>
    <thetext>Comment on attachment 110465
addressed review comments

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

This is looking great.  Just one more possible addition to consider.  Otherwise, an (unofficial) r+ from me.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:144
&gt; +    //        Interpreting the math left-to-right, this transforms from the layer&apos;s render surface to the center of the layer.

I think it would be nice to put another point in the list above about render surfaces, since you&apos;re mentioning them here.  Something to help folks understand that the draw transform is relative to the layer&apos;s target render surface, not to the viewport.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482509</commentid>
    <comment_count>9</comment_count>
      <attachid>110702</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2011-10-12 10:43:07 -0700</bug_when>
    <thetext>Created attachment 110702
added point 5 about render surface</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482997</commentid>
    <comment_count>10</comment_count>
    <who name="Vangelis Kokkevis">vangelis</who>
    <bug_when>2011-10-12 21:54:21 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created an attachment (id=110702) [details]
&gt; added point 5 about render surface

Looks great.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485683</commentid>
    <comment_count>11</comment_count>
      <attachid>110702</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 17:53:50 -0700</bug_when>
    <thetext>Comment on attachment 110702
added point 5 about render surface

Clearing flags on attachment: 110702

Committed r97685: &lt;http://trac.webkit.org/changeset/97685&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485684</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 17:53:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110396</attachid>
            <date>2011-10-10 13:44:20 -0700</date>
            <delta_ts>2011-10-10 15:21:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69765-20111010134419.patch</filename>
            <type>text/plain</type>
            <size>9962</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZjdlYWQyOWFkODEyYTg2
MzlkOGE0MGU3M2IyZjNkZDdiNzAyNWI0Li45NDRkOTAyNzZjNzhjZDQxN2Y3MTg1YTFhYzA5ODQz
N2I5NmI2ZTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAtMTAgIFNoYXdu
IFNpbmdoICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBV
cGRhdGUgY29tbWVudHMgYWJvdXQgdHJhbnNmb3JtIGhpZXJhcmNoeSBpbiBDQ0xheWVyVHJlZUhv
c3RDb21tb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY5NzY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T25seSBjb21tZW50cyBjaGFuZ2VkLCBubyB0ZXN0cyBuZWVkZWQuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5SW50ZXJu
YWwpOgorCiAyMDExLTEwLTEwICBDYXJ5IENsYXJrICA8Y2FyeWNsYXJrQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgW1NraWEgb24gQ2hyb21pdW0gTWFjXSBTZXQgY2FuRXhwYW5kQXJvdW5kSWRlb2dy
YXBoc0luQ29tcGxleFRleHQgdG8gdHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dENvbW1vbi5jcHAKaW5kZXggYmNkNWFjNzM1ZWViYTE5MWFhY2JjZjhkOGMxZjJmZmRmMzMzZmEw
OS4uZjQ5ZjA2M2QzYjBhNDg0ZTBkYzQ3NGIwYzE5OTk1NjM4MjM3MWM0YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0Q29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uY3BwCkBAIC05MSwyNCArOTEsNzMgQEAgdGVt
cGxhdGU8dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJTdXJmYWNlVHlwZSwgdHlw
ZW5hbWUgTGF5ZXJTb3J0ZXI+CiBzdGF0aWMgdm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0Fu
ZFZpc2liaWxpdHlJbnRlcm5hbChMYXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXll
ciwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHBhcmVudE1hdHJpeCwgY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmIGZ1bGxIaWVyYXJjaHlNYXRyaXgsIFZlY3RvcjxSZWZQdHI8TGF5ZXJU
eXBlPiA+JiByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBWZWN0b3I8UmVmUHRyPExheWVyVHlwZT4g
PiYgbGF5ZXJMaXN0LCBMYXllclNvcnRlciogbGF5ZXJTb3J0ZXIsIGludCBtYXhUZXh0dXJlU2l6
ZSkKIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8TGF5ZXJUeXBlPiA+IExheWVyTGlzdDsK
LSAgICAvLyBDb21wdXRlIHRoZSBuZXcgbWF0cml4IHRyYW5zZm9ybWF0aW9uIHRoYXQgd2lsbCBi
ZSBhcHBsaWVkIHRvIHRoaXMgbGF5ZXIgYW5kCi0gICAgLy8gYWxsIGl0cyBjaGlsZHJlbi4gSXQn
cyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCB0aGUgbGF5ZXIncyBwb3NpdGlvbgotICAgIC8v
IGlzIHRoZSBwb3NpdGlvbiBvZiB0aGUgbGF5ZXIncyBhbmNob3IgcG9pbnQuIEFsc28sIHRoZSBj
b29yZGluYXRlIHN5c3RlbSB1c2VkCi0gICAgLy8gYXNzdW1lcyB0aGF0IHRoZSBvcmlnaW4gaXMg
YXQgdGhlIGxvd2VyIGxlZnQgZXZlbiB0aG91Z2ggdGhlIGNvb3JkaW5hdGVzIHRoZSBicm93c2Vy
Ci0gICAgLy8gZ2l2ZXMgdXMgZm9yIHRoZSBsYXllcnMgYXJlIGZvciB0aGUgdXBwZXIgbGVmdCBj
b3JuZXIuIFRoZSBZIGZsaXAgaGFwcGVucyB2aWEKLSAgICAvLyB0aGUgb3J0aG9ncmFwaGljIHBy
b2plY3Rpb24gYXBwbGllZCBhdCByZW5kZXIgdGltZS4KLSAgICAvLyBUaGUgdHJhbnNmb3JtYXRp
b24gY2hhaW4gZm9yIHRoZSBsYXllciBpcyAodXNpbmcgdGhlIE1hdHJpeCB4IFZlY3RvciBvcmRl
cik6Ci0gICAgLy8gTSA9IE1bcF0gKiBUcltsXSAqIE1bbF0gKiBUcltjXQotICAgIC8vIFdoZXJl
IE1bcF0gaXMgdGhlIHBhcmVudCBtYXRyaXggcGFzc2VkIGRvd24gdG8gdGhlIGZ1bmN0aW9uCi0g
ICAgLy8gICAgICAgVHJbbF0gaXMgdGhlIHRyYW5zbGF0aW9uIG1hdHJpeCBsb2NhdGluZyB0aGUg
bGF5ZXIncyBhbmNob3IgcG9pbnQKLSAgICAvLyAgICAgICBUcltjXSBpcyB0aGUgdHJhbnNsYXRp
b24gb2Zmc2V0IGJldHdlZW4gdGhlIGFuY2hvciBwb2ludCBhbmQgdGhlIGNlbnRlciBvZiB0aGUg
bGF5ZXIKLSAgICAvLyAgICAgICBNW2xdIGlzIHRoZSBsYXllcidzIG1hdHJpeCAoYXBwbGllZCBh
dCB0aGUgYW5jaG9yIHBvaW50KQotICAgIC8vIFRoaXMgdHJhbnNmb3JtIGNyZWF0ZXMgYSBjb29y
ZGluYXRlIHN5c3RlbSB3aG9zZSBvcmlnaW4gaXMgdGhlIGNlbnRlciBvZiB0aGUgbGF5ZXIuCi0g
ICAgLy8gTm90ZSB0aGF0IHRoZSBmaW5hbCBtYXRyaXggdXNlZCBieSB0aGUgc2hhZGVyIGZvciB0
aGUgbGF5ZXIgaXMgUCAqIE0gKiBTIC4gVGhpcyBmaW5hbCBwcm9kdWN0Ci0gICAgLy8gaXMgY29t
cHV0ZWQgaW4gZHJhd1RleHR1cmVkUXVhZCgpLgotICAgIC8vIFdoZXJlOiBQIGlzIHRoZSBwcm9q
ZWN0aW9uIG1hdHJpeAotICAgIC8vICAgICAgICBNIGlzIHRoZSBsYXllcidzIG1hdHJpeCBjb21w
dXRlZCBhYm92ZQorICAgIC8vIFRoaXMgZnVuY3Rpb24gY29tcHV0ZXMgdGhlIG5ldyBtYXRyaXgg
dHJhbnNmb3JtYXRpb25zIHRoYXQgd2lsbCBiZSBhcHBsaWVkIHRvIHRoaXMgbGF5ZXIgYW5kCisg
ICAgLy8gYWxsIGl0cyBjaGlsZHJlbi4gU29tZSBpbXBvcnRhbnQgcG9pbnRzIHRvIHJlbWVtYmVy
OgorICAgIC8vCisgICAgLy8gMC4gSGVyZSwgdHJhbnNmb3JtcyBhcmUgbm90YXRlZCBpbiBNYXRy
aXggeCBWZWN0b3Igb3JkZXIsIGFuZCBpbiB3b3JkcyB3ZSBkZXNjcmliZSB3aGF0CisgICAgLy8g
ICAgdGhlIHRyYW5zZm9ybSBkb2VzIGZyb20gbGVmdCB0byByaWdodC4KKyAgICAvLworICAgIC8v
IDEuIEluIG91ciB0ZXJtaW5vbG9neSwgdGhlICJsYXllciBvcmlnaW4iIHJlZmVycyB0byB0aGUg
dG9wLWxlZnQgY29ybmVyIG9mIGEgbGF5ZXIsIGFuZCB0aGUKKyAgICAvLyAgICBwb3NpdGl2ZSBZ
LWF4aXMgcG9pbnRzIGRvd253YXJkcy4gVGhpcyBpbnRlcnByZXRhdGlvbiBpcyB2YWxpZCBiZWNh
dXNlIHRoZSBvcnRob2dyYXBoaWMKKyAgICAvLyAgICBwcm9qZWN0aW9uIGFwcGxpZWQgYXQgcmVu
ZGVyIHRpbWUgZmxpcHMgdGhlIFkgYXhpcyBhcHByb3ByaWF0ZWx5LgorICAgIC8vCisgICAgLy8g
Mi4gVGhlIGFuY2hvciBwb2ludCwgd2hlbiBnaXZlbiBhcyBhIEZsb2F0UG9pbnQgb2JqZWN0LCBp
cyBzcGVjaWZpZWQgaW4gInVuaXQgbGF5ZXIgc3BhY2UiLAorICAgIC8vICAgIHdoZXJlIHRoZSBi
b3VuZHMgb2YgdGhlIGxheWVyIG1hcCB0byBbMCwgMV0uIEhvd2V2ZXIsIGFzIGEgVHJhbnNmb3Jt
YXRpb25NYXRyaXggb2JqZWN0LAorICAgIC8vICAgIHRoZSB0cmFuc2Zvcm0gdG8gdGhlIGFuY2hv
ciBwb2ludCBpcyBzcGVjaWZpZWQgaW4gInBpeGVsIGxheWVyIHNwYWNlIiwgd2hlcmUgdGhlIGJv
dW5kcworICAgIC8vICAgIG9mIHRoZSBsYXllciBtYXAgdG8gW2JvdW5kcy53aWR0aCgpLCBib3Vu
ZHMuaGVpZ2h0KCldLgorICAgIC8vCisgICAgLy8gMy4gVGhlIHZhbHVlIG9mIGxheWVyLT5wb3Np
dGlvbigpIGlzIGFjdHVhbGx5IHRoZSBwb3NpdGlvbiBvZiB0aGUgYW5jaG9yIHBvaW50IHdpdGgg
cmVzcGVjdCB0byB0aGUgcG9zaXRpb24KKyAgICAvLyAgICBvZiB0aGUgbGF5ZXIncyBvcmlnaW4u
IFRoYXQgaXM6CisgICAgLy8gICAgICAgIGxheWVyLT5wb3NpdGlvbigpID0gcG9zaXRpb25PZkxh
eWVyT3JpZ2luICsgYW5jaG9yUG9pbnQgKGluIHBpeGVsIHVuaXRzKQorICAgIC8vCisgICAgLy8g
ICAgT3IsIGVxdWl2YWxlbnRseSwKKyAgICAvLyAgICAgICAgcG9zaXRpb25PZkxheWVyT3JpZ2lu
LnggPSAgbGF5ZXItPnBvc2l0aW9uLnggLSAobGF5ZXItPmFuY2hvclBvaW50LnggKiBib3VuZHMu
d2lkdGgpCisgICAgLy8gICAgICAgIHBvc2l0aW9uT2ZMYXllck9yaWdpbi55ID0gIGxheWVyLT5w
b3NpdGlvbi55IC0gKGxheWVyLT5hbmNob3JQb2ludC55ICogYm91bmRzLmhlaWdodCkKKyAgICAv
LworICAgIC8vIDQuIERlZmluaXRpb24gb2YgdmFyaW91cyB0cmFuc2Zvcm1zZWQgdXNlZDoKKyAg
ICAvLyAgICAgICAgTVtwYXJlbnRdIGlzIHRoZSBwYXJlbnQgbWF0cml4LCB3aXRoIHJlc3BlY3Qg
dG8gdGhlIG5lYXJlc3QgcmVuZGVyIHN1cmZhY2UsIHBhc3NlZCBkb3duIHJlY3Vyc2l2ZWx5Lgor
ICAgIC8vICAgICAgICBNW3Jvb3RdIGlzIHRoZSBmdWxsIGhpZXJhcmNoeSwgd2l0aCByZXNwZWN0
IHRvIHRoZSByb290LCBwYXNzZWQgZG93biByZWN1cnNpdmVseS4KKyAgICAvLyAgICAgICAgVHJb
b3JpZ2luXSBpcyB0aGUgdHJhbnNsYXRpb24gbWF0cml4IGZyb20gdGhlIHBhcmVudCdzIG9yaWdp
biB0byB0aGlzIGxheWVyJ3Mgb3JpZ2luLgorICAgIC8vICAgICAgICBUcltvMmFdIGlzIHRoZSB0
cmFuc2xhdGlvbiBmcm9tIHRoZSBsYXllcidzIG9yaWdpbiB0byBpdHMgYW5jaG9yIHBvaW50Cisg
ICAgLy8gICAgICAgIFRyW28yY10gaXMgdGhlIHRyYW5zbGF0aW9uIGZyb20gdGhlIGxheWVyJ3Mg
b3JpZ2luIHRvIGl0cyBjZW50ZXIKKyAgICAvLyAgICAgICAgTVtsYXllcl0gaXMgdGhlIGxheWVy
J3MgbWF0cml4IChhcHBsaWVkIGF0IHRoZSBhbmNob3IgcG9pbnQpCisgICAgLy8gICAgICAgIE1b
c3VibGF5ZXJdIGlzIHRoZSBsYXllcidzIHN1YmxheWVyIHRyYW5zZm9ybSAoYXBwbGllZCBhdCB0
aGUgbGF5ZXIncyBjZW50ZXIpCisgICAgLy8gICAgICAgIFRyW2EyY10gaXMgdGhlIHRyYW5zbGF0
aW9uIG9mZnNldCBmcm9tIHRoZSBhbmNob3IgcG9pbnQgYW5kIHRoZSBjZW50ZXIgb2YgdGhlIGxh
eWVyCisgICAgLy8KKyAgICAvLyAgICBTb21lIHNob3J0Y3V0cyBhbmQgc3Vic3RpdHV0aW9ucyBh
cmUgdXNlZCBpbiB0aGUgY29kZSB0byByZWR1Y2UgbWF0cml4IG11bHRpcGxpY2F0aW9uczoKKyAg
ICAvLyAgICAgICAgVHJhbnNsYXRpbmcgYnkgdGhlIHZhbHVlIG9mIGxheWVyLT5wb3NpdGlvbigp
LCBUcltsYXllci0+cG9zaXRpb24oKV0gPSBUcltvcmlnaW5dICogVHJbbzJhXQorICAgIC8vICAg
ICAgICBUclthMmNdID0gVFtvMmFdLmludmVyc2UgKiBUW28yY10KKyAgICAvLworICAgIC8vICAg
IFNvbWUgY29tcG9zaXRlIHRyYW5zZm9ybXMgY2FuIGhlbHAgaW4gdW5kZXJzdGFuZGluZyB0aGUg
c2VxdWVuY2Ugb2YgdHJhbnNmb3JtczoKKyAgICAvLyAgICAgICAgY29tcG9zaXRlTGF5ZXJUcmFu
c2Zvcm0gPSBUcltvMmFdICogTVtsYXllcl0gKiBUcltvMmFdLmludmVyc2UoKQorICAgIC8vICAg
ICAgICBjb21wb3NpdGVTdWJsYXllclRyYW5zZm9ybSA9IFRyW28yY10gKiBNW3N1YmxheWVyXSAq
IFRyW28yY10uaW52ZXJzZSgpCisgICAgLy8KKyAgICAvLyAgICBJbiB3b3JkcywgdGhlIGxheWVy
IHRyYW5zZm9ybSBpcyBhcHBsaWVkIGFib3V0IHRoZSBhbmNob3IgcG9pbnQsIGFuZCB0aGUgc3Vi
bGF5ZXIgdHJhbnNmb3JtIGlzCisgICAgLy8gICAgYXBwbGllZCBhYm91dCB0aGUgY2VudGVyIG9m
IHRoZSBsYXllci4KKyAgICAvLworICAgIC8vIFVzaW5nIHRoZXNlIGRlZmluaXRpb25zLCB0aGVu
OgorICAgIC8vCisgICAgLy8gVGhlIGRyYXcgdHJhbnNmb3JtIGZvciB0aGUgbGF5ZXIgaXM6Cisg
ICAgLy8gICAgICAgIE1bZHJhd10gPSBNW3BhcmVudF0gKiBUcltvcmlnaW5dICogY29tcG9zaXRl
TGF5ZXJUcmFuc2Zvcm0gKiBUcltvMmNdCisgICAgLy8gICAgICAgICAgICAgICAgPSBNW3BhcmVu
dF0gKiBUcltsYXllci0+cG9zaXRpb24oKV0gKiBNW2xheWVyXSAqIFRyW2EyY10KKyAgICAvLwor
ICAgIC8vIFRoZSBzY3JlZW4gc3BhY2UgdHJhbnNmb3JtIGlzOgorICAgIC8vICAgICAgICBNW3Nj
cmVlbnNwYWNlXSA9IE1bcm9vdF0gKiBUcltvcmlnaW5dICogY29tcG9zaXRlTGF5ZXJUcmFuc2Zv
cm0KKyAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgPSBNW3Jvb3RdICogVHJbbGF5ZXItPnBv
c2l0aW9uKCldICogTVtsXSAqIFRyW28yYV0uaW52ZXJzZSgpCisgICAgLy8KKyAgICAvLyBUaGUg
dHJhbnNmb3JtIGhpZXJhcmNoeSB0aGF0IGlzIHBhc3NlZCBvbiB0byBjaGlsZHJlbiAoaS5lLiB0
aGUgY2hpbGQncyBwYXJlbnRNYXRyaXgpIGlzOgorICAgIC8vICAgICAgICBNW3BhcmVudF1fZm9y
X2NoaWxkID0gTVtwYXJlbnRdICogVHJbb3JpZ2luXSAqIGNvbXBvc2l0ZUxheWVyVHJhbnNmb3Jt
ICogY29tcG9zaXRlU3VibGF5ZXJUcmFuc2Zvcm0KKyAgICAvLyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IE1bcGFyZW50XSAqIFRyW2xheWVyLT5wb3NpdGlvbigpXSAqIE1bbGF5ZXJdICog
VHJbYTJjXSAqIE1bc3VibGF5ZXJdICogVHJbbzJjXS5pbnZlcnNlKCkKKyAgICAvLyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IE1bZHJhd10gKiBNW3N1YmxheWVyXSAqIFRyW28yY10uaW52
ZXJzZSgpCisgICAgLy8KKyAgICAvLyAgICAgICAgYW5kIGEgc2ltaWxhciBtYXRyaXggZm9yIHRo
ZSBmdWxsIGhpZXJhcmNoeSB3aXRoIHJlc3BlY3QgdG8gdGhlIHJvb3QuCisgICAgLy8KKyAgICAv
LyBGaW5hbGx5LCBub3RlIHRoYXQgdGhlIGZpbmFsIG1hdHJpeCB1c2VkIGJ5IHRoZSBzaGFkZXIg
Zm9yIHRoZSBsYXllciBpcyBQICogTVtkcmF3XSAqIFMgLiBUaGlzIGZpbmFsIHByb2R1Y3QKKyAg
ICAvLyBpcyBjb21wdXRlZCBpbiBkcmF3VGV4dHVyZWRRdWFkKCksIHdoZXJlOgorICAgIC8vICAg
ICAgICBQIGlzIHRoZSBwcm9qZWN0aW9uIG1hdHJpeAogICAgIC8vICAgICAgICBTIGlzIHRoZSBz
Y2FsZSBhZGp1c3RtZW50ICh0byBzY2FsZSB1cCB0byB0aGUgbGF5ZXIgc2l6ZSkKKyAgICAvLwor
CiAgICAgSW50U2l6ZSBib3VuZHMgPSBsYXllci0+Ym91bmRzKCk7CiAgICAgRmxvYXRQb2ludCBh
bmNob3JQb2ludCA9IGxheWVyLT5hbmNob3JQb2ludCgpOwogICAgIEZsb2F0UG9pbnQgcG9zaXRp
b24gPSBsYXllci0+cG9zaXRpb24oKSAtIGxheWVyLT5zY3JvbGxEZWx0YSgpOwpAQCAtMTE4LDEx
ICsxNjcsMTEgQEAgc3RhdGljIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmls
aXR5SW50ZXJuYWwoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXIKICAgICBmbG9hdCBjZW50ZXJPZmZz
ZXRZID0gKDAuNSAtIGFuY2hvclBvaW50LnkoKSkgKiBib3VuZHMuaGVpZ2h0KCk7CiAKICAgICBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCBsYXllckxvY2FsVHJhbnNmb3JtOwotICAgIC8vIExUID0gVHJb
bF0KKyAgICAvLyBMVCA9IFRyW29yaWdpbl0gKiBUcltvMmFdCiAgICAgbGF5ZXJMb2NhbFRyYW5z
Zm9ybS50cmFuc2xhdGUzZChwb3NpdGlvbi54KCksIHBvc2l0aW9uLnkoKSwgbGF5ZXItPmFuY2hv
clBvaW50WigpKTsKLSAgICAvLyBMVCA9IFRyW2xdICogTVtsXQorICAgIC8vIExUID0gVHJbb3Jp
Z2luXSAqIFRyW28yYV0gKiBNW2xheWVyXQogICAgIGxheWVyTG9jYWxUcmFuc2Zvcm0ubXVsdGlw
bHkobGF5ZXItPnRyYW5zZm9ybSgpKTsKLSAgICAvLyBMVCA9IFRyW2xdICogTVtsXSAqIFRyW2Nd
CisgICAgLy8gTFQgPSBUcltvcmlnaW5dICogVHJbbzJhXSAqIE1bbGF5ZXJdICogVHJbYTJjXQog
ICAgIGxheWVyTG9jYWxUcmFuc2Zvcm0udHJhbnNsYXRlM2QoY2VudGVyT2Zmc2V0WCwgY2VudGVy
T2Zmc2V0WSwgLWxheWVyLT5hbmNob3JQb2ludFooKSk7CiAKICAgICBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCBjb21iaW5lZFRyYW5zZm9ybSA9IHBhcmVudE1hdHJpeDsKQEAgLTE5Nyw3ICsyNDYsNiBA
QCBzdGF0aWMgdm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHlJbnRlcm5h
bChMYXllclR5cGUqIGxheWVyLCBMYXllcgogCiAgICAgICAgIHJlbmRlclN1cmZhY2VMYXllckxp
c3QuYXBwZW5kKGxheWVyKTsKICAgICB9IGVsc2UgewotICAgICAgICAvLyBEVCA9IE1bcF0gKiBM
VAogICAgICAgICBsYXllci0+c2V0RHJhd1RyYW5zZm9ybShjb21iaW5lZFRyYW5zZm9ybSk7CiAg
ICAgICAgIHRyYW5zZm9ybWVkTGF5ZXJSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChsYXllci0+ZHJh
d1RyYW5zZm9ybSgpLm1hcFJlY3QobGF5ZXJSZWN0KSk7CiAKQEAgLTIyNyw4ICsyNzUsNyBAQCBz
dGF0aWMgdm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHlJbnRlcm5hbChM
YXllclR5cGUqIGxheWVyLCBMYXllcgogICAgIH0KIAogICAgIC8vIE5vdGUgdGhhdCBhdCB0aGlz
IHBvaW50LCBsYXllci0+ZHJhd1RyYW5zZm9ybSgpIGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgc2Ft
ZSBhcyBsb2NhbCB2YXJpYWJsZSBkcmF3VHJhbnNmb3JtLgotICAgIC8vIGxheWVyU2NyZWVuU3Bh
Y2VUcmFuc2Zvcm0gcmVwcmVzZW50cyB0aGUgdHJhbnNmb3JtIGJldHdlZW4gbGF5ZXIgc3BhY2Ug
KGluIHBpeGVscykgYW5kIHNjcmVlbiBzcGFjZS4KLSAgICAvLyBTbyB3ZSBkbyBub3QgaW5jbHVk
ZSBwcm9qZWN0aW9uIFAgb3Igc2NhbGluZyB0cmFuc2Zvcm0gUyAoc2VlIGNvbW1lbnRzIGFib3Zl
IHRoYXQgZGVzY3JpYmUgUCpNKlMpLgorICAgIC8vIGxheWVyU2NyZWVuU3BhY2VUcmFuc2Zvcm0g
cmVwcmVzZW50cyB0aGUgdHJhbnNmb3JtIGJldHdlZW4gcm9vdCBsYXllcidzICJzY3JlZW4gc3Bh
Y2UiIGFuZCBsb2NhbCBsYXllciBzcGFjZS4KICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBsYXll
clNjcmVlblNwYWNlVHJhbnNmb3JtID0gbmV4dEhpZXJhcmNoeU1hdHJpeDsKICAgICBsYXllclNj
cmVlblNwYWNlVHJhbnNmb3JtLm11bHRpcGx5KGxheWVyLT5kcmF3VHJhbnNmb3JtKCkpOwogICAg
IGxheWVyU2NyZWVuU3BhY2VUcmFuc2Zvcm0udHJhbnNsYXRlM2QoLTAuNSAqIGJvdW5kcy53aWR0
aCgpLCAtMC41ICogYm91bmRzLmhlaWdodCgpLCAwKTsKQEAgLTI2Nyw5ICszMTQsNyBAQCBzdGF0
aWMgdm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0FuZFZpc2liaWxpdHlJbnRlcm5hbChMYXll
clR5cGUqIGxheWVyLCBMYXllcgogICAgIC8vIEFwcGx5IHRoZSBzdWJsYXllciB0cmFuc2Zvcm0g
YXQgdGhlIGNlbnRlciBvZiB0aGUgbGF5ZXIuCiAgICAgc3VibGF5ZXJNYXRyaXgubXVsdGlwbHko
bGF5ZXItPnN1YmxheWVyVHJhbnNmb3JtKCkpOwogCi0gICAgLy8gVGhlIG9yaWdpbiBvZiB0aGUg
Y2hpbGRyZW4gaXMgdGhlIHRvcCBsZWZ0IGNvcm5lciBvZiB0aGUgbGF5ZXIsIG5vdCB0aGUKLSAg
ICAvLyBjZW50ZXIuIFRoZSBtYXRyaXggcGFzc2VkIGRvd24gdG8gdGhlIGNoaWxkcmVuIGlzIHRo
ZXJlZm9yZToKLSAgICAvLyBNW3NdID0gTSAqIFRyWy1jZW50ZXJdCisgICAgLy8gVGhlIGNvb3Jk
aW5hdGUgc3lzdGVtIGdpdmVuIHRvIGNoaWxkcmVuIGlzIGxvY2F0ZWQgYXQgdGhlIGxheWVyJ3Mg
b3JpZ2luLCBub3QgdGhlIGNlbnRlci4KICAgICBzdWJsYXllck1hdHJpeC50cmFuc2xhdGUzZCgt
Ym91bmRzLndpZHRoKCkgKiAwLjUsIC1ib3VuZHMuaGVpZ2h0KCkgKiAwLjUsIDApOwogCiAgICAg
TGF5ZXJMaXN0JiBkZXNjZW5kYW50cyA9IChsYXllci0+cmVuZGVyU3VyZmFjZSgpID8gbGF5ZXIt
PnJlbmRlclN1cmZhY2UoKS0+bGF5ZXJMaXN0KCkgOiBsYXllckxpc3QpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110417</attachid>
            <date>2011-10-10 15:21:16 -0700</date>
            <delta_ts>2011-10-10 20:04:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69765-20111010152115.patch</filename>
            <type>text/plain</type>
            <size>9960</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZjdlYWQyOWFkODEyYTg2
MzlkOGE0MGU3M2IyZjNkZDdiNzAyNWI0Li45NDRkOTAyNzZjNzhjZDQxN2Y3MTg1YTFhYzA5ODQz
N2I5NmI2ZTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAtMTAgIFNoYXdu
IFNpbmdoICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBV
cGRhdGUgY29tbWVudHMgYWJvdXQgdHJhbnNmb3JtIGhpZXJhcmNoeSBpbiBDQ0xheWVyVHJlZUhv
c3RDb21tb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY5NzY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T25seSBjb21tZW50cyBjaGFuZ2VkLCBubyB0ZXN0cyBuZWVkZWQuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5SW50ZXJu
YWwpOgorCiAyMDExLTEwLTEwICBDYXJ5IENsYXJrICA8Y2FyeWNsYXJrQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgW1NraWEgb24gQ2hyb21pdW0gTWFjXSBTZXQgY2FuRXhwYW5kQXJvdW5kSWRlb2dy
YXBoc0luQ29tcGxleFRleHQgdG8gdHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dENvbW1vbi5jcHAKaW5kZXggYmNkNWFjNzM1ZWViYTE5MWFhY2JjZjhkOGMxZjJmZmRmMzMzZmEw
OS4uZDk1OTg3NmNjMDVhYTQyZTMzNWUzMzJhM2NlYWVjZDZlZTMxMWQ5YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0Q29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uY3BwCkBAIC05MSwyNCArOTEsNzMgQEAgdGVt
cGxhdGU8dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJTdXJmYWNlVHlwZSwgdHlw
ZW5hbWUgTGF5ZXJTb3J0ZXI+CiBzdGF0aWMgdm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0Fu
ZFZpc2liaWxpdHlJbnRlcm5hbChMYXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXll
ciwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHBhcmVudE1hdHJpeCwgY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmIGZ1bGxIaWVyYXJjaHlNYXRyaXgsIFZlY3RvcjxSZWZQdHI8TGF5ZXJU
eXBlPiA+JiByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBWZWN0b3I8UmVmUHRyPExheWVyVHlwZT4g
PiYgbGF5ZXJMaXN0LCBMYXllclNvcnRlciogbGF5ZXJTb3J0ZXIsIGludCBtYXhUZXh0dXJlU2l6
ZSkKIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8TGF5ZXJUeXBlPiA+IExheWVyTGlzdDsK
LSAgICAvLyBDb21wdXRlIHRoZSBuZXcgbWF0cml4IHRyYW5zZm9ybWF0aW9uIHRoYXQgd2lsbCBi
ZSBhcHBsaWVkIHRvIHRoaXMgbGF5ZXIgYW5kCi0gICAgLy8gYWxsIGl0cyBjaGlsZHJlbi4gSXQn
cyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCB0aGUgbGF5ZXIncyBwb3NpdGlvbgotICAgIC8v
IGlzIHRoZSBwb3NpdGlvbiBvZiB0aGUgbGF5ZXIncyBhbmNob3IgcG9pbnQuIEFsc28sIHRoZSBj
b29yZGluYXRlIHN5c3RlbSB1c2VkCi0gICAgLy8gYXNzdW1lcyB0aGF0IHRoZSBvcmlnaW4gaXMg
YXQgdGhlIGxvd2VyIGxlZnQgZXZlbiB0aG91Z2ggdGhlIGNvb3JkaW5hdGVzIHRoZSBicm93c2Vy
Ci0gICAgLy8gZ2l2ZXMgdXMgZm9yIHRoZSBsYXllcnMgYXJlIGZvciB0aGUgdXBwZXIgbGVmdCBj
b3JuZXIuIFRoZSBZIGZsaXAgaGFwcGVucyB2aWEKLSAgICAvLyB0aGUgb3J0aG9ncmFwaGljIHBy
b2plY3Rpb24gYXBwbGllZCBhdCByZW5kZXIgdGltZS4KLSAgICAvLyBUaGUgdHJhbnNmb3JtYXRp
b24gY2hhaW4gZm9yIHRoZSBsYXllciBpcyAodXNpbmcgdGhlIE1hdHJpeCB4IFZlY3RvciBvcmRl
cik6Ci0gICAgLy8gTSA9IE1bcF0gKiBUcltsXSAqIE1bbF0gKiBUcltjXQotICAgIC8vIFdoZXJl
IE1bcF0gaXMgdGhlIHBhcmVudCBtYXRyaXggcGFzc2VkIGRvd24gdG8gdGhlIGZ1bmN0aW9uCi0g
ICAgLy8gICAgICAgVHJbbF0gaXMgdGhlIHRyYW5zbGF0aW9uIG1hdHJpeCBsb2NhdGluZyB0aGUg
bGF5ZXIncyBhbmNob3IgcG9pbnQKLSAgICAvLyAgICAgICBUcltjXSBpcyB0aGUgdHJhbnNsYXRp
b24gb2Zmc2V0IGJldHdlZW4gdGhlIGFuY2hvciBwb2ludCBhbmQgdGhlIGNlbnRlciBvZiB0aGUg
bGF5ZXIKLSAgICAvLyAgICAgICBNW2xdIGlzIHRoZSBsYXllcidzIG1hdHJpeCAoYXBwbGllZCBh
dCB0aGUgYW5jaG9yIHBvaW50KQotICAgIC8vIFRoaXMgdHJhbnNmb3JtIGNyZWF0ZXMgYSBjb29y
ZGluYXRlIHN5c3RlbSB3aG9zZSBvcmlnaW4gaXMgdGhlIGNlbnRlciBvZiB0aGUgbGF5ZXIuCi0g
ICAgLy8gTm90ZSB0aGF0IHRoZSBmaW5hbCBtYXRyaXggdXNlZCBieSB0aGUgc2hhZGVyIGZvciB0
aGUgbGF5ZXIgaXMgUCAqIE0gKiBTIC4gVGhpcyBmaW5hbCBwcm9kdWN0Ci0gICAgLy8gaXMgY29t
cHV0ZWQgaW4gZHJhd1RleHR1cmVkUXVhZCgpLgotICAgIC8vIFdoZXJlOiBQIGlzIHRoZSBwcm9q
ZWN0aW9uIG1hdHJpeAotICAgIC8vICAgICAgICBNIGlzIHRoZSBsYXllcidzIG1hdHJpeCBjb21w
dXRlZCBhYm92ZQorICAgIC8vIFRoaXMgZnVuY3Rpb24gY29tcHV0ZXMgdGhlIG5ldyBtYXRyaXgg
dHJhbnNmb3JtYXRpb25zIHRoYXQgd2lsbCBiZSBhcHBsaWVkIHRvIHRoaXMgbGF5ZXIgYW5kCisg
ICAgLy8gYWxsIGl0cyBjaGlsZHJlbi4gU29tZSBpbXBvcnRhbnQgcG9pbnRzIHRvIHJlbWVtYmVy
OgorICAgIC8vCisgICAgLy8gMC4gSGVyZSwgdHJhbnNmb3JtcyBhcmUgbm90YXRlZCBpbiBNYXRy
aXggeCBWZWN0b3Igb3JkZXIsIGFuZCBpbiB3b3JkcyB3ZSBkZXNjcmliZSB3aGF0CisgICAgLy8g
ICAgdGhlIHRyYW5zZm9ybSBkb2VzIGZyb20gbGVmdCB0byByaWdodC4KKyAgICAvLworICAgIC8v
IDEuIEluIG91ciB0ZXJtaW5vbG9neSwgdGhlICJsYXllciBvcmlnaW4iIHJlZmVycyB0byB0aGUg
dG9wLWxlZnQgY29ybmVyIG9mIGEgbGF5ZXIsIGFuZCB0aGUKKyAgICAvLyAgICBwb3NpdGl2ZSBZ
LWF4aXMgcG9pbnRzIGRvd253YXJkcy4gVGhpcyBpbnRlcnByZXRhdGlvbiBpcyB2YWxpZCBiZWNh
dXNlIHRoZSBvcnRob2dyYXBoaWMKKyAgICAvLyAgICBwcm9qZWN0aW9uIGFwcGxpZWQgYXQgcmVu
ZGVyIHRpbWUgZmxpcHMgdGhlIFkgYXhpcyBhcHByb3ByaWF0ZWx5LgorICAgIC8vCisgICAgLy8g
Mi4gVGhlIGFuY2hvciBwb2ludCwgd2hlbiBnaXZlbiBhcyBhIEZsb2F0UG9pbnQgb2JqZWN0LCBp
cyBzcGVjaWZpZWQgaW4gInVuaXQgbGF5ZXIgc3BhY2UiLAorICAgIC8vICAgIHdoZXJlIHRoZSBi
b3VuZHMgb2YgdGhlIGxheWVyIG1hcCB0byBbMCwgMV0uIEhvd2V2ZXIsIGFzIGEgVHJhbnNmb3Jt
YXRpb25NYXRyaXggb2JqZWN0LAorICAgIC8vICAgIHRoZSB0cmFuc2Zvcm0gdG8gdGhlIGFuY2hv
ciBwb2ludCBpcyBzcGVjaWZpZWQgaW4gInBpeGVsIGxheWVyIHNwYWNlIiwgd2hlcmUgdGhlIGJv
dW5kcworICAgIC8vICAgIG9mIHRoZSBsYXllciBtYXAgdG8gW2JvdW5kcy53aWR0aCgpLCBib3Vu
ZHMuaGVpZ2h0KCldLgorICAgIC8vCisgICAgLy8gMy4gVGhlIHZhbHVlIG9mIGxheWVyLT5wb3Np
dGlvbigpIGlzIGFjdHVhbGx5IHRoZSBwb3NpdGlvbiBvZiB0aGUgYW5jaG9yIHBvaW50IHdpdGgg
cmVzcGVjdCB0byB0aGUgcG9zaXRpb24KKyAgICAvLyAgICBvZiB0aGUgbGF5ZXIncyBvcmlnaW4u
IFRoYXQgaXM6CisgICAgLy8gICAgICAgIGxheWVyLT5wb3NpdGlvbigpID0gcG9zaXRpb25PZkxh
eWVyT3JpZ2luICsgYW5jaG9yUG9pbnQgKGluIHBpeGVsIHVuaXRzKQorICAgIC8vCisgICAgLy8g
ICAgT3IsIGVxdWl2YWxlbnRseSwKKyAgICAvLyAgICAgICAgcG9zaXRpb25PZkxheWVyT3JpZ2lu
LnggPSAgbGF5ZXItPnBvc2l0aW9uLnggLSAobGF5ZXItPmFuY2hvclBvaW50LnggKiBib3VuZHMu
d2lkdGgpCisgICAgLy8gICAgICAgIHBvc2l0aW9uT2ZMYXllck9yaWdpbi55ID0gIGxheWVyLT5w
b3NpdGlvbi55IC0gKGxheWVyLT5hbmNob3JQb2ludC55ICogYm91bmRzLmhlaWdodCkKKyAgICAv
LworICAgIC8vIDQuIERlZmluaXRpb24gb2YgdmFyaW91cyB0cmFuc2Zvcm1zIHVzZWQ6CisgICAg
Ly8gICAgICAgIE1bcGFyZW50XSBpcyB0aGUgcGFyZW50IG1hdHJpeCwgd2l0aCByZXNwZWN0IHRv
IHRoZSBuZWFyZXN0IHJlbmRlciBzdXJmYWNlLCBwYXNzZWQgZG93biByZWN1cnNpdmVseS4KKyAg
ICAvLyAgICAgICAgTVtyb290XSBpcyB0aGUgZnVsbCBoaWVyYXJjaHksIHdpdGggcmVzcGVjdCB0
byB0aGUgcm9vdCwgcGFzc2VkIGRvd24gcmVjdXJzaXZlbHkuCisgICAgLy8gICAgICAgIFRyW29y
aWdpbl0gaXMgdGhlIHRyYW5zbGF0aW9uIG1hdHJpeCBmcm9tIHRoZSBwYXJlbnQncyBvcmlnaW4g
dG8gdGhpcyBsYXllcidzIG9yaWdpbi4KKyAgICAvLyAgICAgICAgVHJbbzJhXSBpcyB0aGUgdHJh
bnNsYXRpb24gZnJvbSB0aGUgbGF5ZXIncyBvcmlnaW4gdG8gaXRzIGFuY2hvciBwb2ludAorICAg
IC8vICAgICAgICBUcltvMmNdIGlzIHRoZSB0cmFuc2xhdGlvbiBmcm9tIHRoZSBsYXllcidzIG9y
aWdpbiB0byBpdHMgY2VudGVyCisgICAgLy8gICAgICAgIE1bbGF5ZXJdIGlzIHRoZSBsYXllcidz
IG1hdHJpeCAoYXBwbGllZCBhdCB0aGUgYW5jaG9yIHBvaW50KQorICAgIC8vICAgICAgICBNW3N1
YmxheWVyXSBpcyB0aGUgbGF5ZXIncyBzdWJsYXllciB0cmFuc2Zvcm0gKGFwcGxpZWQgYXQgdGhl
IGxheWVyJ3MgY2VudGVyKQorICAgIC8vICAgICAgICBUclthMmNdIGlzIHRoZSB0cmFuc2xhdGlv
biBvZmZzZXQgZnJvbSB0aGUgYW5jaG9yIHBvaW50IGFuZCB0aGUgY2VudGVyIG9mIHRoZSBsYXll
cgorICAgIC8vCisgICAgLy8gICAgU29tZSBzaG9ydGN1dHMgYW5kIHN1YnN0aXR1dGlvbnMgYXJl
IHVzZWQgaW4gdGhlIGNvZGUgdG8gcmVkdWNlIG1hdHJpeCBtdWx0aXBsaWNhdGlvbnM6CisgICAg
Ly8gICAgICAgIFRyYW5zbGF0aW5nIGJ5IHRoZSB2YWx1ZSBvZiBsYXllci0+cG9zaXRpb24oKSwg
VHJbbGF5ZXItPnBvc2l0aW9uKCldID0gVHJbb3JpZ2luXSAqIFRyW28yYV0KKyAgICAvLyAgICAg
ICAgVHJbYTJjXSA9IFRbbzJhXS5pbnZlcnNlICogVFtvMmNdCisgICAgLy8KKyAgICAvLyAgICBT
b21lIGNvbXBvc2l0ZSB0cmFuc2Zvcm1zIGNhbiBoZWxwIGluIHVuZGVyc3RhbmRpbmcgdGhlIHNl
cXVlbmNlIG9mIHRyYW5zZm9ybXM6CisgICAgLy8gICAgICAgIGNvbXBvc2l0ZUxheWVyVHJhbnNm
b3JtID0gVHJbbzJhXSAqIE1bbGF5ZXJdICogVHJbbzJhXS5pbnZlcnNlKCkKKyAgICAvLyAgICAg
ICAgY29tcG9zaXRlU3VibGF5ZXJUcmFuc2Zvcm0gPSBUcltvMmNdICogTVtzdWJsYXllcl0gKiBU
cltvMmNdLmludmVyc2UoKQorICAgIC8vCisgICAgLy8gICAgSW4gd29yZHMsIHRoZSBsYXllciB0
cmFuc2Zvcm0gaXMgYXBwbGllZCBhYm91dCB0aGUgYW5jaG9yIHBvaW50LCBhbmQgdGhlIHN1Ymxh
eWVyIHRyYW5zZm9ybSBpcworICAgIC8vICAgIGFwcGxpZWQgYWJvdXQgdGhlIGNlbnRlciBvZiB0
aGUgbGF5ZXIuCisgICAgLy8KKyAgICAvLyBVc2luZyB0aGVzZSBkZWZpbml0aW9ucywgdGhlbjoK
KyAgICAvLworICAgIC8vIFRoZSBkcmF3IHRyYW5zZm9ybSBmb3IgdGhlIGxheWVyIGlzOgorICAg
IC8vICAgICAgICBNW2RyYXddID0gTVtwYXJlbnRdICogVHJbb3JpZ2luXSAqIGNvbXBvc2l0ZUxh
eWVyVHJhbnNmb3JtICogVHJbbzJjXQorICAgIC8vICAgICAgICAgICAgICAgID0gTVtwYXJlbnRd
ICogVHJbbGF5ZXItPnBvc2l0aW9uKCldICogTVtsYXllcl0gKiBUclthMmNdCisgICAgLy8KKyAg
ICAvLyBUaGUgc2NyZWVuIHNwYWNlIHRyYW5zZm9ybSBpczoKKyAgICAvLyAgICAgICAgTVtzY3Jl
ZW5zcGFjZV0gPSBNW3Jvb3RdICogVHJbb3JpZ2luXSAqIGNvbXBvc2l0ZUxheWVyVHJhbnNmb3Jt
CisgICAgLy8gICAgICAgICAgICAgICAgICAgICAgID0gTVtyb290XSAqIFRyW2xheWVyLT5wb3Np
dGlvbigpXSAqIE1bbF0gKiBUcltvMmFdLmludmVyc2UoKQorICAgIC8vCisgICAgLy8gVGhlIHRy
YW5zZm9ybSBoaWVyYXJjaHkgdGhhdCBpcyBwYXNzZWQgb24gdG8gY2hpbGRyZW4gKGkuZS4gdGhl
IGNoaWxkJ3MgcGFyZW50TWF0cml4KSBpczoKKyAgICAvLyAgICAgICAgTVtwYXJlbnRdX2Zvcl9j
aGlsZCA9IE1bcGFyZW50XSAqIFRyW29yaWdpbl0gKiBjb21wb3NpdGVMYXllclRyYW5zZm9ybSAq
IGNvbXBvc2l0ZVN1YmxheWVyVHJhbnNmb3JtCisgICAgLy8gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSBNW3BhcmVudF0gKiBUcltsYXllci0+cG9zaXRpb24oKV0gKiBNW2xheWVyXSAqIFRy
W2EyY10gKiBNW3N1YmxheWVyXSAqIFRyW28yY10uaW52ZXJzZSgpCisgICAgLy8gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSBNW2RyYXddICogTVtzdWJsYXllcl0gKiBUcltvMmNdLmludmVy
c2UoKQorICAgIC8vCisgICAgLy8gICAgICAgIGFuZCBhIHNpbWlsYXIgbWF0cml4IGZvciB0aGUg
ZnVsbCBoaWVyYXJjaHkgd2l0aCByZXNwZWN0IHRvIHRoZSByb290LgorICAgIC8vCisgICAgLy8g
RmluYWxseSwgbm90ZSB0aGF0IHRoZSBmaW5hbCBtYXRyaXggdXNlZCBieSB0aGUgc2hhZGVyIGZv
ciB0aGUgbGF5ZXIgaXMgUCAqIE1bZHJhd10gKiBTIC4gVGhpcyBmaW5hbCBwcm9kdWN0CisgICAg
Ly8gaXMgY29tcHV0ZWQgaW4gZHJhd1RleHR1cmVkUXVhZCgpLCB3aGVyZToKKyAgICAvLyAgICAg
ICAgUCBpcyB0aGUgcHJvamVjdGlvbiBtYXRyaXgKICAgICAvLyAgICAgICAgUyBpcyB0aGUgc2Nh
bGUgYWRqdXN0bWVudCAodG8gc2NhbGUgdXAgdG8gdGhlIGxheWVyIHNpemUpCisgICAgLy8KKwog
ICAgIEludFNpemUgYm91bmRzID0gbGF5ZXItPmJvdW5kcygpOwogICAgIEZsb2F0UG9pbnQgYW5j
aG9yUG9pbnQgPSBsYXllci0+YW5jaG9yUG9pbnQoKTsKICAgICBGbG9hdFBvaW50IHBvc2l0aW9u
ID0gbGF5ZXItPnBvc2l0aW9uKCkgLSBsYXllci0+c2Nyb2xsRGVsdGEoKTsKQEAgLTExOCwxMSAr
MTY3LDExIEBAIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0
eUludGVybmFsKExheWVyVHlwZSogbGF5ZXIsIExheWVyCiAgICAgZmxvYXQgY2VudGVyT2Zmc2V0
WSA9ICgwLjUgLSBhbmNob3JQb2ludC55KCkpICogYm91bmRzLmhlaWdodCgpOwogCiAgICAgVHJh
bnNmb3JtYXRpb25NYXRyaXggbGF5ZXJMb2NhbFRyYW5zZm9ybTsKLSAgICAvLyBMVCA9IFRyW2xd
CisgICAgLy8gTFQgPSBUcltvcmlnaW5dICogVHJbbzJhXQogICAgIGxheWVyTG9jYWxUcmFuc2Zv
cm0udHJhbnNsYXRlM2QocG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCksIGxheWVyLT5hbmNob3JQ
b2ludFooKSk7Ci0gICAgLy8gTFQgPSBUcltsXSAqIE1bbF0KKyAgICAvLyBMVCA9IFRyW29yaWdp
bl0gKiBUcltvMmFdICogTVtsYXllcl0KICAgICBsYXllckxvY2FsVHJhbnNmb3JtLm11bHRpcGx5
KGxheWVyLT50cmFuc2Zvcm0oKSk7Ci0gICAgLy8gTFQgPSBUcltsXSAqIE1bbF0gKiBUcltjXQor
ICAgIC8vIExUID0gVHJbb3JpZ2luXSAqIFRyW28yYV0gKiBNW2xheWVyXSAqIFRyW2EyY10KICAg
ICBsYXllckxvY2FsVHJhbnNmb3JtLnRyYW5zbGF0ZTNkKGNlbnRlck9mZnNldFgsIGNlbnRlck9m
ZnNldFksIC1sYXllci0+YW5jaG9yUG9pbnRaKCkpOwogCiAgICAgVHJhbnNmb3JtYXRpb25NYXRy
aXggY29tYmluZWRUcmFuc2Zvcm0gPSBwYXJlbnRNYXRyaXg7CkBAIC0xOTcsNyArMjQ2LDYgQEAg
c3RhdGljIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5SW50ZXJuYWwo
TGF5ZXJUeXBlKiBsYXllciwgTGF5ZXIKIAogICAgICAgICByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0
LmFwcGVuZChsYXllcik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgLy8gRFQgPSBNW3BdICogTFQK
ICAgICAgICAgbGF5ZXItPnNldERyYXdUcmFuc2Zvcm0oY29tYmluZWRUcmFuc2Zvcm0pOwogICAg
ICAgICB0cmFuc2Zvcm1lZExheWVyUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QobGF5ZXItPmRyYXdU
cmFuc2Zvcm0oKS5tYXBSZWN0KGxheWVyUmVjdCkpOwogCkBAIC0yMjcsOCArMjc1LDcgQEAgc3Rh
dGljIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5SW50ZXJuYWwoTGF5
ZXJUeXBlKiBsYXllciwgTGF5ZXIKICAgICB9CiAKICAgICAvLyBOb3RlIHRoYXQgYXQgdGhpcyBw
b2ludCwgbGF5ZXItPmRyYXdUcmFuc2Zvcm0oKSBpcyBub3QgbmVjZXNzYXJpbHkgdGhlIHNhbWUg
YXMgbG9jYWwgdmFyaWFibGUgZHJhd1RyYW5zZm9ybS4KLSAgICAvLyBsYXllclNjcmVlblNwYWNl
VHJhbnNmb3JtIHJlcHJlc2VudHMgdGhlIHRyYW5zZm9ybSBiZXR3ZWVuIGxheWVyIHNwYWNlIChp
biBwaXhlbHMpIGFuZCBzY3JlZW4gc3BhY2UuCi0gICAgLy8gU28gd2UgZG8gbm90IGluY2x1ZGUg
cHJvamVjdGlvbiBQIG9yIHNjYWxpbmcgdHJhbnNmb3JtIFMgKHNlZSBjb21tZW50cyBhYm92ZSB0
aGF0IGRlc2NyaWJlIFAqTSpTKS4KKyAgICAvLyBsYXllclNjcmVlblNwYWNlVHJhbnNmb3JtIHJl
cHJlc2VudHMgdGhlIHRyYW5zZm9ybSBiZXR3ZWVuIHJvb3QgbGF5ZXIncyAic2NyZWVuIHNwYWNl
IiBhbmQgbG9jYWwgbGF5ZXIgc3BhY2UuCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbGF5ZXJT
Y3JlZW5TcGFjZVRyYW5zZm9ybSA9IG5leHRIaWVyYXJjaHlNYXRyaXg7CiAgICAgbGF5ZXJTY3Jl
ZW5TcGFjZVRyYW5zZm9ybS5tdWx0aXBseShsYXllci0+ZHJhd1RyYW5zZm9ybSgpKTsKICAgICBs
YXllclNjcmVlblNwYWNlVHJhbnNmb3JtLnRyYW5zbGF0ZTNkKC0wLjUgKiBib3VuZHMud2lkdGgo
KSwgLTAuNSAqIGJvdW5kcy5oZWlnaHQoKSwgMCk7CkBAIC0yNjcsOSArMzE0LDcgQEAgc3RhdGlj
IHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5SW50ZXJuYWwoTGF5ZXJU
eXBlKiBsYXllciwgTGF5ZXIKICAgICAvLyBBcHBseSB0aGUgc3VibGF5ZXIgdHJhbnNmb3JtIGF0
IHRoZSBjZW50ZXIgb2YgdGhlIGxheWVyLgogICAgIHN1YmxheWVyTWF0cml4Lm11bHRpcGx5KGxh
eWVyLT5zdWJsYXllclRyYW5zZm9ybSgpKTsKIAotICAgIC8vIFRoZSBvcmlnaW4gb2YgdGhlIGNo
aWxkcmVuIGlzIHRoZSB0b3AgbGVmdCBjb3JuZXIgb2YgdGhlIGxheWVyLCBub3QgdGhlCi0gICAg
Ly8gY2VudGVyLiBUaGUgbWF0cml4IHBhc3NlZCBkb3duIHRvIHRoZSBjaGlsZHJlbiBpcyB0aGVy
ZWZvcmU6Ci0gICAgLy8gTVtzXSA9IE0gKiBUclstY2VudGVyXQorICAgIC8vIFRoZSBjb29yZGlu
YXRlIHN5c3RlbSBnaXZlbiB0byBjaGlsZHJlbiBpcyBsb2NhdGVkIGF0IHRoZSBsYXllcidzIG9y
aWdpbiwgbm90IHRoZSBjZW50ZXIuCiAgICAgc3VibGF5ZXJNYXRyaXgudHJhbnNsYXRlM2QoLWJv
dW5kcy53aWR0aCgpICogMC41LCAtYm91bmRzLmhlaWdodCgpICogMC41LCAwKTsKIAogICAgIExh
eWVyTGlzdCYgZGVzY2VuZGFudHMgPSAobGF5ZXItPnJlbmRlclN1cmZhY2UoKSA/IGxheWVyLT5y
ZW5kZXJTdXJmYWNlKCktPmxheWVyTGlzdCgpIDogbGF5ZXJMaXN0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110465</attachid>
            <date>2011-10-10 20:04:23 -0700</date>
            <delta_ts>2011-10-12 10:43:03 -0700</delta_ts>
            <desc>addressed review comments</desc>
            <filename>bug-69765-20111010200422.patch</filename>
            <type>text/plain</type>
            <size>10443</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZjdlYWQyOWFkODEyYTg2
MzlkOGE0MGU3M2IyZjNkZDdiNzAyNWI0Li45NDRkOTAyNzZjNzhjZDQxN2Y3MTg1YTFhYzA5ODQz
N2I5NmI2ZTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAtMTAgIFNoYXdu
IFNpbmdoICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBV
cGRhdGUgY29tbWVudHMgYWJvdXQgdHJhbnNmb3JtIGhpZXJhcmNoeSBpbiBDQ0xheWVyVHJlZUhv
c3RDb21tb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY5NzY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T25seSBjb21tZW50cyBjaGFuZ2VkLCBubyB0ZXN0cyBuZWVkZWQuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5SW50ZXJu
YWwpOgorCiAyMDExLTEwLTEwICBDYXJ5IENsYXJrICA8Y2FyeWNsYXJrQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgW1NraWEgb24gQ2hyb21pdW0gTWFjXSBTZXQgY2FuRXhwYW5kQXJvdW5kSWRlb2dy
YXBoc0luQ29tcGxleFRleHQgdG8gdHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dENvbW1vbi5jcHAKaW5kZXggYmNkNWFjNzM1ZWViYTE5MWFhY2JjZjhkOGMxZjJmZmRmMzMzZmEw
OS4uZjRiZGRhZmFkNTk0MjQ2OTc5YjcxOGU2YzY2ZDgyYWM5MTUyMzYyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0Q29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uY3BwCkBAIC05MSwyNCArOTEsNzcgQEAgdGVt
cGxhdGU8dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJTdXJmYWNlVHlwZSwgdHlw
ZW5hbWUgTGF5ZXJTb3J0ZXI+CiBzdGF0aWMgdm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0Fu
ZFZpc2liaWxpdHlJbnRlcm5hbChMYXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXll
ciwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHBhcmVudE1hdHJpeCwgY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmIGZ1bGxIaWVyYXJjaHlNYXRyaXgsIFZlY3RvcjxSZWZQdHI8TGF5ZXJU
eXBlPiA+JiByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBWZWN0b3I8UmVmUHRyPExheWVyVHlwZT4g
PiYgbGF5ZXJMaXN0LCBMYXllclNvcnRlciogbGF5ZXJTb3J0ZXIsIGludCBtYXhUZXh0dXJlU2l6
ZSkKIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8TGF5ZXJUeXBlPiA+IExheWVyTGlzdDsK
LSAgICAvLyBDb21wdXRlIHRoZSBuZXcgbWF0cml4IHRyYW5zZm9ybWF0aW9uIHRoYXQgd2lsbCBi
ZSBhcHBsaWVkIHRvIHRoaXMgbGF5ZXIgYW5kCi0gICAgLy8gYWxsIGl0cyBjaGlsZHJlbi4gSXQn
cyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCB0aGUgbGF5ZXIncyBwb3NpdGlvbgotICAgIC8v
IGlzIHRoZSBwb3NpdGlvbiBvZiB0aGUgbGF5ZXIncyBhbmNob3IgcG9pbnQuIEFsc28sIHRoZSBj
b29yZGluYXRlIHN5c3RlbSB1c2VkCi0gICAgLy8gYXNzdW1lcyB0aGF0IHRoZSBvcmlnaW4gaXMg
YXQgdGhlIGxvd2VyIGxlZnQgZXZlbiB0aG91Z2ggdGhlIGNvb3JkaW5hdGVzIHRoZSBicm93c2Vy
Ci0gICAgLy8gZ2l2ZXMgdXMgZm9yIHRoZSBsYXllcnMgYXJlIGZvciB0aGUgdXBwZXIgbGVmdCBj
b3JuZXIuIFRoZSBZIGZsaXAgaGFwcGVucyB2aWEKLSAgICAvLyB0aGUgb3J0aG9ncmFwaGljIHBy
b2plY3Rpb24gYXBwbGllZCBhdCByZW5kZXIgdGltZS4KLSAgICAvLyBUaGUgdHJhbnNmb3JtYXRp
b24gY2hhaW4gZm9yIHRoZSBsYXllciBpcyAodXNpbmcgdGhlIE1hdHJpeCB4IFZlY3RvciBvcmRl
cik6Ci0gICAgLy8gTSA9IE1bcF0gKiBUcltsXSAqIE1bbF0gKiBUcltjXQotICAgIC8vIFdoZXJl
IE1bcF0gaXMgdGhlIHBhcmVudCBtYXRyaXggcGFzc2VkIGRvd24gdG8gdGhlIGZ1bmN0aW9uCi0g
ICAgLy8gICAgICAgVHJbbF0gaXMgdGhlIHRyYW5zbGF0aW9uIG1hdHJpeCBsb2NhdGluZyB0aGUg
bGF5ZXIncyBhbmNob3IgcG9pbnQKLSAgICAvLyAgICAgICBUcltjXSBpcyB0aGUgdHJhbnNsYXRp
b24gb2Zmc2V0IGJldHdlZW4gdGhlIGFuY2hvciBwb2ludCBhbmQgdGhlIGNlbnRlciBvZiB0aGUg
bGF5ZXIKLSAgICAvLyAgICAgICBNW2xdIGlzIHRoZSBsYXllcidzIG1hdHJpeCAoYXBwbGllZCBh
dCB0aGUgYW5jaG9yIHBvaW50KQotICAgIC8vIFRoaXMgdHJhbnNmb3JtIGNyZWF0ZXMgYSBjb29y
ZGluYXRlIHN5c3RlbSB3aG9zZSBvcmlnaW4gaXMgdGhlIGNlbnRlciBvZiB0aGUgbGF5ZXIuCi0g
ICAgLy8gTm90ZSB0aGF0IHRoZSBmaW5hbCBtYXRyaXggdXNlZCBieSB0aGUgc2hhZGVyIGZvciB0
aGUgbGF5ZXIgaXMgUCAqIE0gKiBTIC4gVGhpcyBmaW5hbCBwcm9kdWN0Ci0gICAgLy8gaXMgY29t
cHV0ZWQgaW4gZHJhd1RleHR1cmVkUXVhZCgpLgotICAgIC8vIFdoZXJlOiBQIGlzIHRoZSBwcm9q
ZWN0aW9uIG1hdHJpeAotICAgIC8vICAgICAgICBNIGlzIHRoZSBsYXllcidzIG1hdHJpeCBjb21w
dXRlZCBhYm92ZQorICAgIC8vIFRoaXMgZnVuY3Rpb24gY29tcHV0ZXMgdGhlIG5ldyBtYXRyaXgg
dHJhbnNmb3JtYXRpb25zIHRoYXQgd2lsbCBiZSBhcHBsaWVkIHRvIHRoaXMgbGF5ZXIgYW5kCisg
ICAgLy8gYWxsIGl0cyBjaGlsZHJlbi4gU29tZSBpbXBvcnRhbnQgcG9pbnRzIHRvIHJlbWVtYmVy
OgorICAgIC8vCisgICAgLy8gMC4gSGVyZSwgdHJhbnNmb3JtcyBhcmUgbm90YXRlZCBpbiBNYXRy
aXggeCBWZWN0b3Igb3JkZXIsIGFuZCBpbiB3b3JkcyB3ZSBkZXNjcmliZSB3aGF0CisgICAgLy8g
ICAgdGhlIHRyYW5zZm9ybSBkb2VzIGZyb20gbGVmdCB0byByaWdodC4KKyAgICAvLworICAgIC8v
IDEuIEluIG91ciB0ZXJtaW5vbG9neSwgdGhlICJsYXllciBvcmlnaW4iIHJlZmVycyB0byB0aGUg
dG9wLWxlZnQgY29ybmVyIG9mIGEgbGF5ZXIsIGFuZCB0aGUKKyAgICAvLyAgICBwb3NpdGl2ZSBZ
LWF4aXMgcG9pbnRzIGRvd253YXJkcy4gVGhpcyBpbnRlcnByZXRhdGlvbiBpcyB2YWxpZCBiZWNh
dXNlIHRoZSBvcnRob2dyYXBoaWMKKyAgICAvLyAgICBwcm9qZWN0aW9uIGFwcGxpZWQgYXQgZHJh
dyB0aW1lIGZsaXBzIHRoZSBZIGF4aXMgYXBwcm9wcmlhdGVseS4KKyAgICAvLworICAgIC8vIDIu
IFRoZSBhbmNob3IgcG9pbnQsIHdoZW4gZ2l2ZW4gYXMgYSBGbG9hdFBvaW50IG9iamVjdCwgaXMg
c3BlY2lmaWVkIGluICJ1bml0IGxheWVyIHNwYWNlIiwKKyAgICAvLyAgICB3aGVyZSB0aGUgYm91
bmRzIG9mIHRoZSBsYXllciBtYXAgdG8gWzAsIDFdLiBIb3dldmVyLCBhcyBhIFRyYW5zZm9ybWF0
aW9uTWF0cml4IG9iamVjdCwKKyAgICAvLyAgICB0aGUgdHJhbnNmb3JtIHRvIHRoZSBhbmNob3Ig
cG9pbnQgaXMgc3BlY2lmaWVkIGluICJwaXhlbCBsYXllciBzcGFjZSIsIHdoZXJlIHRoZSBib3Vu
ZHMKKyAgICAvLyAgICBvZiB0aGUgbGF5ZXIgbWFwIHRvIFtib3VuZHMud2lkdGgoKSwgYm91bmRz
LmhlaWdodCgpXS4KKyAgICAvLworICAgIC8vIDMuIFRoZSB2YWx1ZSBvZiBsYXllci0+cG9zaXRp
b24oKSBpcyBhY3R1YWxseSB0aGUgcG9zaXRpb24gb2YgdGhlIGFuY2hvciBwb2ludCB3aXRoIHJl
c3BlY3QgdG8gdGhlIHBvc2l0aW9uCisgICAgLy8gICAgb2YgdGhlIGxheWVyJ3Mgb3JpZ2luLiBU
aGF0IGlzOgorICAgIC8vICAgICAgICBsYXllci0+cG9zaXRpb24oKSA9IHBvc2l0aW9uT2ZMYXll
ck9yaWdpbiArIGFuY2hvclBvaW50IChpbiBwaXhlbCB1bml0cykKKyAgICAvLworICAgIC8vICAg
IE9yLCBlcXVpdmFsZW50bHksCisgICAgLy8gICAgICAgIHBvc2l0aW9uT2ZMYXllck9yaWdpbi54
ID0gIGxheWVyLT5wb3NpdGlvbi54IC0gKGxheWVyLT5hbmNob3JQb2ludC54ICogYm91bmRzLndp
ZHRoKQorICAgIC8vICAgICAgICBwb3NpdGlvbk9mTGF5ZXJPcmlnaW4ueSA9ICBsYXllci0+cG9z
aXRpb24ueSAtIChsYXllci0+YW5jaG9yUG9pbnQueSAqIGJvdW5kcy5oZWlnaHQpCisgICAgLy8K
KyAgICAvLyA0LiBEZWZpbml0aW9uIG9mIHZhcmlvdXMgdHJhbnNmb3JtcyB1c2VkOgorICAgIC8v
ICAgICAgICBNW3BhcmVudF0gaXMgdGhlIHBhcmVudCBtYXRyaXgsIHdpdGggcmVzcGVjdCB0byB0
aGUgbmVhcmVzdCByZW5kZXIgc3VyZmFjZSwgcGFzc2VkIGRvd24gcmVjdXJzaXZlbHkuCisgICAg
Ly8gICAgICAgIE1bcm9vdF0gaXMgdGhlIGZ1bGwgaGllcmFyY2h5LCB3aXRoIHJlc3BlY3QgdG8g
dGhlIHJvb3QsIHBhc3NlZCBkb3duIHJlY3Vyc2l2ZWx5LgorICAgIC8vICAgICAgICBUcltvcmln
aW5dIGlzIHRoZSB0cmFuc2xhdGlvbiBtYXRyaXggZnJvbSB0aGUgcGFyZW50J3Mgb3JpZ2luIHRv
IHRoaXMgbGF5ZXIncyBvcmlnaW4uCisgICAgLy8gICAgICAgIFRyW29yaWdpbjJhbmNob3JdIGlz
IHRoZSB0cmFuc2xhdGlvbiBmcm9tIHRoZSBsYXllcidzIG9yaWdpbiB0byBpdHMgYW5jaG9yIHBv
aW50CisgICAgLy8gICAgICAgIFRyW29yaWdpbjJjZW50ZXJdIGlzIHRoZSB0cmFuc2xhdGlvbiBm
cm9tIHRoZSBsYXllcidzIG9yaWdpbiB0byBpdHMgY2VudGVyCisgICAgLy8gICAgICAgIE1bbGF5
ZXJdIGlzIHRoZSBsYXllcidzIG1hdHJpeCAoYXBwbGllZCBhdCB0aGUgYW5jaG9yIHBvaW50KQor
ICAgIC8vICAgICAgICBNW3N1YmxheWVyXSBpcyB0aGUgbGF5ZXIncyBzdWJsYXllciB0cmFuc2Zv
cm0gKGFwcGxpZWQgYXQgdGhlIGxheWVyJ3MgY2VudGVyKQorICAgIC8vICAgICAgICBUclthbmNo
b3IyY2VudGVyXSBpcyB0aGUgdHJhbnNsYXRpb24gb2Zmc2V0IGZyb20gdGhlIGFuY2hvciBwb2lu
dCBhbmQgdGhlIGNlbnRlciBvZiB0aGUgbGF5ZXIKKyAgICAvLworICAgIC8vICAgIFNvbWUgc2hv
cnRjdXRzIGFuZCBzdWJzdGl0dXRpb25zIGFyZSB1c2VkIGluIHRoZSBjb2RlIHRvIHJlZHVjZSBt
YXRyaXggbXVsdGlwbGljYXRpb25zOgorICAgIC8vICAgICAgICBUcmFuc2xhdGluZyBieSB0aGUg
dmFsdWUgb2YgbGF5ZXItPnBvc2l0aW9uKCksIFRyW2xheWVyLT5wb3NpdGlvbigpXSA9IFRyW29y
aWdpbl0gKiBUcltvcmlnaW4yYW5jaG9yXQorICAgIC8vICAgICAgICBUclthbmNob3IyY2VudGVy
XSA9IFRyW29yaWdpbjJhbmNob3JdLmludmVyc2UoKSAqIFRyW29yaWdpbjJjZW50ZXJdCisgICAg
Ly8KKyAgICAvLyAgICBTb21lIGNvbXBvc2l0ZSB0cmFuc2Zvcm1zIGNhbiBoZWxwIGluIHVuZGVy
c3RhbmRpbmcgdGhlIHNlcXVlbmNlIG9mIHRyYW5zZm9ybXM6CisgICAgLy8gICAgICAgIGNvbXBv
c2l0ZUxheWVyVHJhbnNmb3JtID0gVHJbb3JpZ2luMmFuY2hvcl0gKiBNW2xheWVyXSAqIFRyW29y
aWdpbjJhbmNob3JdLmludmVyc2UoKQorICAgIC8vICAgICAgICBjb21wb3NpdGVTdWJsYXllclRy
YW5zZm9ybSA9IFRyW29yaWdpbjJjZW50ZXJdICogTVtzdWJsYXllcl0gKiBUcltvcmlnaW4yY2Vu
dGVyXS5pbnZlcnNlKCkKKyAgICAvLworICAgIC8vICAgIEluIHdvcmRzLCB0aGUgbGF5ZXIgdHJh
bnNmb3JtIGlzIGFwcGxpZWQgYWJvdXQgdGhlIGFuY2hvciBwb2ludCwgYW5kIHRoZSBzdWJsYXll
ciB0cmFuc2Zvcm0gaXMKKyAgICAvLyAgICBhcHBsaWVkIGFib3V0IHRoZSBjZW50ZXIgb2YgdGhl
IGxheWVyLgorICAgIC8vCisgICAgLy8gVXNpbmcgdGhlc2UgZGVmaW5pdGlvbnMsIHRoZW46Cisg
ICAgLy8KKyAgICAvLyBUaGUgZHJhdyB0cmFuc2Zvcm0gZm9yIHRoZSBsYXllciBpczoKKyAgICAv
LyAgICAgICAgTVtkcmF3XSA9IE1bcGFyZW50XSAqIFRyW29yaWdpbl0gKiBjb21wb3NpdGVMYXll
clRyYW5zZm9ybSAqIFRyW29yaWdpbjJjZW50ZXJdCisgICAgLy8gICAgICAgICAgICAgICAgPSBN
W3BhcmVudF0gKiBUcltsYXllci0+cG9zaXRpb24oKV0gKiBNW2xheWVyXSAqIFRyW2FuY2hvcjJj
ZW50ZXJdCisgICAgLy8KKyAgICAvLyAgICAgICAgSW50ZXJwcmV0aW5nIHRoZSBtYXRoIGxlZnQt
dG8tcmlnaHQsIHRoaXMgdHJhbnNmb3JtcyBmcm9tIHRoZSBsYXllcidzIHJlbmRlciBzdXJmYWNl
IHRvIHRoZSBjZW50ZXIgb2YgdGhlIGxheWVyLgorICAgIC8vCisgICAgLy8gVGhlIHNjcmVlbiBz
cGFjZSB0cmFuc2Zvcm0gaXM6CisgICAgLy8gICAgICAgIE1bc2NyZWVuc3BhY2VdID0gTVtyb290
XSAqIFRyW29yaWdpbl0gKiBjb21wb3NpdGVMYXllclRyYW5zZm9ybQorICAgIC8vICAgICAgICAg
ICAgICAgICAgICAgICA9IE1bcm9vdF0gKiBUcltsYXllci0+cG9zaXRpb24oKV0gKiBNW2xheWVy
XSAqIFRyW29yaWdpbjJhbmNob3JdLmludmVyc2UoKQorICAgIC8vCisgICAgLy8gICAgICAgIElu
dGVycHJldGluZyB0aGUgbWF0aCBsZWZ0LXRvLXJpZ2h0LCB0aGlzIHRyYW5zZm9ybXMgZnJvbSB0
aGUgcm9vdCBsYXllciBzcGFjZSB0byB0aGUgbG9jYWwgbGF5ZXIncyBvcmlnaW4uCisgICAgLy8K
KyAgICAvLyBUaGUgdHJhbnNmb3JtIGhpZXJhcmNoeSB0aGF0IGlzIHBhc3NlZCBvbiB0byBjaGls
ZHJlbiAoaS5lLiB0aGUgY2hpbGQncyBwYXJlbnRNYXRyaXgpIGlzOgorICAgIC8vICAgICAgICBN
W3BhcmVudF1fZm9yX2NoaWxkID0gTVtwYXJlbnRdICogVHJbb3JpZ2luXSAqIGNvbXBvc2l0ZUxh
eWVyVHJhbnNmb3JtICogY29tcG9zaXRlU3VibGF5ZXJUcmFuc2Zvcm0KKyAgICAvLyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IE1bcGFyZW50XSAqIFRyW2xheWVyLT5wb3NpdGlvbigpXSAq
IE1bbGF5ZXJdICogVHJbYW5jaG9yMmNlbnRlcl0gKiBNW3N1YmxheWVyXSAqIFRyW29yaWdpbjJj
ZW50ZXJdLmludmVyc2UoKQorICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gTVtk
cmF3XSAqIE1bc3VibGF5ZXJdICogVHJbb3JpZ2luMmNlbnRlcl0uaW52ZXJzZSgpCisgICAgLy8K
KyAgICAvLyAgICAgICAgYW5kIGEgc2ltaWxhciBtYXRyaXggZm9yIHRoZSBmdWxsIGhpZXJhcmNo
eSB3aXRoIHJlc3BlY3QgdG8gdGhlIHJvb3QuCisgICAgLy8KKyAgICAvLyBGaW5hbGx5LCBub3Rl
IHRoYXQgdGhlIGZpbmFsIG1hdHJpeCB1c2VkIGJ5IHRoZSBzaGFkZXIgZm9yIHRoZSBsYXllciBp
cyBQICogTVtkcmF3XSAqIFMgLiBUaGlzIGZpbmFsIHByb2R1Y3QKKyAgICAvLyBpcyBjb21wdXRl
ZCBpbiBkcmF3VGV4dHVyZWRRdWFkKCksIHdoZXJlOgorICAgIC8vICAgICAgICBQIGlzIHRoZSBw
cm9qZWN0aW9uIG1hdHJpeAogICAgIC8vICAgICAgICBTIGlzIHRoZSBzY2FsZSBhZGp1c3RtZW50
ICh0byBzY2FsZSB1cCB0byB0aGUgbGF5ZXIgc2l6ZSkKKyAgICAvLworCiAgICAgSW50U2l6ZSBi
b3VuZHMgPSBsYXllci0+Ym91bmRzKCk7CiAgICAgRmxvYXRQb2ludCBhbmNob3JQb2ludCA9IGxh
eWVyLT5hbmNob3JQb2ludCgpOwogICAgIEZsb2F0UG9pbnQgcG9zaXRpb24gPSBsYXllci0+cG9z
aXRpb24oKSAtIGxheWVyLT5zY3JvbGxEZWx0YSgpOwpAQCAtMTE4LDExICsxNzEsMTEgQEAgc3Rh
dGljIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5SW50ZXJuYWwoTGF5
ZXJUeXBlKiBsYXllciwgTGF5ZXIKICAgICBmbG9hdCBjZW50ZXJPZmZzZXRZID0gKDAuNSAtIGFu
Y2hvclBvaW50LnkoKSkgKiBib3VuZHMuaGVpZ2h0KCk7CiAKICAgICBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCBsYXllckxvY2FsVHJhbnNmb3JtOwotICAgIC8vIExUID0gVHJbbF0KKyAgICAvLyBMVCA9
IFRyW29yaWdpbl0gKiBUcltvcmlnaW4yYW5jaG9yXQogICAgIGxheWVyTG9jYWxUcmFuc2Zvcm0u
dHJhbnNsYXRlM2QocG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCksIGxheWVyLT5hbmNob3JQb2lu
dFooKSk7Ci0gICAgLy8gTFQgPSBUcltsXSAqIE1bbF0KKyAgICAvLyBMVCA9IFRyW29yaWdpbl0g
KiBUcltvcmlnaW4yYW5jaG9yXSAqIE1bbGF5ZXJdCiAgICAgbGF5ZXJMb2NhbFRyYW5zZm9ybS5t
dWx0aXBseShsYXllci0+dHJhbnNmb3JtKCkpOwotICAgIC8vIExUID0gVHJbbF0gKiBNW2xdICog
VHJbY10KKyAgICAvLyBMVCA9IFRyW29yaWdpbl0gKiBUcltvcmlnaW4yYW5jaG9yXSAqIE1bbGF5
ZXJdICogVHJbYW5jaG9yMmNlbnRlcl0KICAgICBsYXllckxvY2FsVHJhbnNmb3JtLnRyYW5zbGF0
ZTNkKGNlbnRlck9mZnNldFgsIGNlbnRlck9mZnNldFksIC1sYXllci0+YW5jaG9yUG9pbnRaKCkp
OwogCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggY29tYmluZWRUcmFuc2Zvcm0gPSBwYXJlbnRN
YXRyaXg7CkBAIC0xOTcsNyArMjUwLDYgQEAgc3RhdGljIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5z
Zm9ybXNBbmRWaXNpYmlsaXR5SW50ZXJuYWwoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXIKIAogICAg
ICAgICByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LmFwcGVuZChsYXllcik7CiAgICAgfSBlbHNlIHsK
LSAgICAgICAgLy8gRFQgPSBNW3BdICogTFQKICAgICAgICAgbGF5ZXItPnNldERyYXdUcmFuc2Zv
cm0oY29tYmluZWRUcmFuc2Zvcm0pOwogICAgICAgICB0cmFuc2Zvcm1lZExheWVyUmVjdCA9IGVu
Y2xvc2luZ0ludFJlY3QobGF5ZXItPmRyYXdUcmFuc2Zvcm0oKS5tYXBSZWN0KGxheWVyUmVjdCkp
OwogCkBAIC0yMjcsOCArMjc5LDcgQEAgc3RhdGljIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9y
bXNBbmRWaXNpYmlsaXR5SW50ZXJuYWwoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXIKICAgICB9CiAK
ICAgICAvLyBOb3RlIHRoYXQgYXQgdGhpcyBwb2ludCwgbGF5ZXItPmRyYXdUcmFuc2Zvcm0oKSBp
cyBub3QgbmVjZXNzYXJpbHkgdGhlIHNhbWUgYXMgbG9jYWwgdmFyaWFibGUgZHJhd1RyYW5zZm9y
bS4KLSAgICAvLyBsYXllclNjcmVlblNwYWNlVHJhbnNmb3JtIHJlcHJlc2VudHMgdGhlIHRyYW5z
Zm9ybSBiZXR3ZWVuIGxheWVyIHNwYWNlIChpbiBwaXhlbHMpIGFuZCBzY3JlZW4gc3BhY2UuCi0g
ICAgLy8gU28gd2UgZG8gbm90IGluY2x1ZGUgcHJvamVjdGlvbiBQIG9yIHNjYWxpbmcgdHJhbnNm
b3JtIFMgKHNlZSBjb21tZW50cyBhYm92ZSB0aGF0IGRlc2NyaWJlIFAqTSpTKS4KKyAgICAvLyBs
YXllclNjcmVlblNwYWNlVHJhbnNmb3JtIHJlcHJlc2VudHMgdGhlIHRyYW5zZm9ybSBiZXR3ZWVu
IHJvb3QgbGF5ZXIncyAic2NyZWVuIHNwYWNlIiBhbmQgbG9jYWwgbGF5ZXIgc3BhY2UuCiAgICAg
VHJhbnNmb3JtYXRpb25NYXRyaXggbGF5ZXJTY3JlZW5TcGFjZVRyYW5zZm9ybSA9IG5leHRIaWVy
YXJjaHlNYXRyaXg7CiAgICAgbGF5ZXJTY3JlZW5TcGFjZVRyYW5zZm9ybS5tdWx0aXBseShsYXll
ci0+ZHJhd1RyYW5zZm9ybSgpKTsKICAgICBsYXllclNjcmVlblNwYWNlVHJhbnNmb3JtLnRyYW5z
bGF0ZTNkKC0wLjUgKiBib3VuZHMud2lkdGgoKSwgLTAuNSAqIGJvdW5kcy5oZWlnaHQoKSwgMCk7
CkBAIC0yNjcsOSArMzE4LDcgQEAgc3RhdGljIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNB
bmRWaXNpYmlsaXR5SW50ZXJuYWwoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXIKICAgICAvLyBBcHBs
eSB0aGUgc3VibGF5ZXIgdHJhbnNmb3JtIGF0IHRoZSBjZW50ZXIgb2YgdGhlIGxheWVyLgogICAg
IHN1YmxheWVyTWF0cml4Lm11bHRpcGx5KGxheWVyLT5zdWJsYXllclRyYW5zZm9ybSgpKTsKIAot
ICAgIC8vIFRoZSBvcmlnaW4gb2YgdGhlIGNoaWxkcmVuIGlzIHRoZSB0b3AgbGVmdCBjb3JuZXIg
b2YgdGhlIGxheWVyLCBub3QgdGhlCi0gICAgLy8gY2VudGVyLiBUaGUgbWF0cml4IHBhc3NlZCBk
b3duIHRvIHRoZSBjaGlsZHJlbiBpcyB0aGVyZWZvcmU6Ci0gICAgLy8gTVtzXSA9IE0gKiBUclst
Y2VudGVyXQorICAgIC8vIFRoZSBjb29yZGluYXRlIHN5c3RlbSBnaXZlbiB0byBjaGlsZHJlbiBp
cyBsb2NhdGVkIGF0IHRoZSBsYXllcidzIG9yaWdpbiwgbm90IHRoZSBjZW50ZXIuCiAgICAgc3Vi
bGF5ZXJNYXRyaXgudHJhbnNsYXRlM2QoLWJvdW5kcy53aWR0aCgpICogMC41LCAtYm91bmRzLmhl
aWdodCgpICogMC41LCAwKTsKIAogICAgIExheWVyTGlzdCYgZGVzY2VuZGFudHMgPSAobGF5ZXIt
PnJlbmRlclN1cmZhY2UoKSA/IGxheWVyLT5yZW5kZXJTdXJmYWNlKCktPmxheWVyTGlzdCgpIDog
bGF5ZXJMaXN0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110702</attachid>
            <date>2011-10-12 10:43:07 -0700</date>
            <delta_ts>2011-10-17 17:53:50 -0700</delta_ts>
            <desc>added point 5 about render surface</desc>
            <filename>bug-69765-20111012104306.patch</filename>
            <type>text/plain</type>
            <size>11062</size>
            <attacher name="Shawn Singh">shawnsingh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZjdlYWQyOWFkODEyYTg2
MzlkOGE0MGU3M2IyZjNkZDdiNzAyNWI0Li45NDRkOTAyNzZjNzhjZDQxN2Y3MTg1YTFhYzA5ODQz
N2I5NmI2ZTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAtMTAgIFNoYXdu
IFNpbmdoICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBV
cGRhdGUgY29tbWVudHMgYWJvdXQgdHJhbnNmb3JtIGhpZXJhcmNoeSBpbiBDQ0xheWVyVHJlZUhv
c3RDb21tb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY5NzY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T25seSBjb21tZW50cyBjaGFuZ2VkLCBubyB0ZXN0cyBuZWVkZWQuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5SW50ZXJu
YWwpOgorCiAyMDExLTEwLTEwICBDYXJ5IENsYXJrICA8Y2FyeWNsYXJrQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgW1NraWEgb24gQ2hyb21pdW0gTWFjXSBTZXQgY2FuRXhwYW5kQXJvdW5kSWRlb2dy
YXBoc0luQ29tcGxleFRleHQgdG8gdHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dENvbW1vbi5jcHAKaW5kZXggYmNkNWFjNzM1ZWViYTE5MWFhY2JjZjhkOGMxZjJmZmRmMzMzZmEw
OS4uY2MwMzgwY2JiZjVlNDVlYWQ2YWYxOTA4OTAyMzgxYWMyYWYxNjZkNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0Q29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RDb21tb24uY3BwCkBAIC05MSwyNCArOTEsODQgQEAgdGVt
cGxhdGU8dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJTdXJmYWNlVHlwZSwgdHlw
ZW5hbWUgTGF5ZXJTb3J0ZXI+CiBzdGF0aWMgdm9pZCBjYWxjdWxhdGVEcmF3VHJhbnNmb3Jtc0Fu
ZFZpc2liaWxpdHlJbnRlcm5hbChMYXllclR5cGUqIGxheWVyLCBMYXllclR5cGUqIHJvb3RMYXll
ciwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHBhcmVudE1hdHJpeCwgY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmIGZ1bGxIaWVyYXJjaHlNYXRyaXgsIFZlY3RvcjxSZWZQdHI8TGF5ZXJU
eXBlPiA+JiByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0LCBWZWN0b3I8UmVmUHRyPExheWVyVHlwZT4g
PiYgbGF5ZXJMaXN0LCBMYXllclNvcnRlciogbGF5ZXJTb3J0ZXIsIGludCBtYXhUZXh0dXJlU2l6
ZSkKIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8TGF5ZXJUeXBlPiA+IExheWVyTGlzdDsK
LSAgICAvLyBDb21wdXRlIHRoZSBuZXcgbWF0cml4IHRyYW5zZm9ybWF0aW9uIHRoYXQgd2lsbCBi
ZSBhcHBsaWVkIHRvIHRoaXMgbGF5ZXIgYW5kCi0gICAgLy8gYWxsIGl0cyBjaGlsZHJlbi4gSXQn
cyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCB0aGUgbGF5ZXIncyBwb3NpdGlvbgotICAgIC8v
IGlzIHRoZSBwb3NpdGlvbiBvZiB0aGUgbGF5ZXIncyBhbmNob3IgcG9pbnQuIEFsc28sIHRoZSBj
b29yZGluYXRlIHN5c3RlbSB1c2VkCi0gICAgLy8gYXNzdW1lcyB0aGF0IHRoZSBvcmlnaW4gaXMg
YXQgdGhlIGxvd2VyIGxlZnQgZXZlbiB0aG91Z2ggdGhlIGNvb3JkaW5hdGVzIHRoZSBicm93c2Vy
Ci0gICAgLy8gZ2l2ZXMgdXMgZm9yIHRoZSBsYXllcnMgYXJlIGZvciB0aGUgdXBwZXIgbGVmdCBj
b3JuZXIuIFRoZSBZIGZsaXAgaGFwcGVucyB2aWEKLSAgICAvLyB0aGUgb3J0aG9ncmFwaGljIHBy
b2plY3Rpb24gYXBwbGllZCBhdCByZW5kZXIgdGltZS4KLSAgICAvLyBUaGUgdHJhbnNmb3JtYXRp
b24gY2hhaW4gZm9yIHRoZSBsYXllciBpcyAodXNpbmcgdGhlIE1hdHJpeCB4IFZlY3RvciBvcmRl
cik6Ci0gICAgLy8gTSA9IE1bcF0gKiBUcltsXSAqIE1bbF0gKiBUcltjXQotICAgIC8vIFdoZXJl
IE1bcF0gaXMgdGhlIHBhcmVudCBtYXRyaXggcGFzc2VkIGRvd24gdG8gdGhlIGZ1bmN0aW9uCi0g
ICAgLy8gICAgICAgVHJbbF0gaXMgdGhlIHRyYW5zbGF0aW9uIG1hdHJpeCBsb2NhdGluZyB0aGUg
bGF5ZXIncyBhbmNob3IgcG9pbnQKLSAgICAvLyAgICAgICBUcltjXSBpcyB0aGUgdHJhbnNsYXRp
b24gb2Zmc2V0IGJldHdlZW4gdGhlIGFuY2hvciBwb2ludCBhbmQgdGhlIGNlbnRlciBvZiB0aGUg
bGF5ZXIKLSAgICAvLyAgICAgICBNW2xdIGlzIHRoZSBsYXllcidzIG1hdHJpeCAoYXBwbGllZCBh
dCB0aGUgYW5jaG9yIHBvaW50KQotICAgIC8vIFRoaXMgdHJhbnNmb3JtIGNyZWF0ZXMgYSBjb29y
ZGluYXRlIHN5c3RlbSB3aG9zZSBvcmlnaW4gaXMgdGhlIGNlbnRlciBvZiB0aGUgbGF5ZXIuCi0g
ICAgLy8gTm90ZSB0aGF0IHRoZSBmaW5hbCBtYXRyaXggdXNlZCBieSB0aGUgc2hhZGVyIGZvciB0
aGUgbGF5ZXIgaXMgUCAqIE0gKiBTIC4gVGhpcyBmaW5hbCBwcm9kdWN0Ci0gICAgLy8gaXMgY29t
cHV0ZWQgaW4gZHJhd1RleHR1cmVkUXVhZCgpLgotICAgIC8vIFdoZXJlOiBQIGlzIHRoZSBwcm9q
ZWN0aW9uIG1hdHJpeAotICAgIC8vICAgICAgICBNIGlzIHRoZSBsYXllcidzIG1hdHJpeCBjb21w
dXRlZCBhYm92ZQorICAgIC8vIFRoaXMgZnVuY3Rpb24gY29tcHV0ZXMgdGhlIG5ldyBtYXRyaXgg
dHJhbnNmb3JtYXRpb25zIHJlY3Vyc2l2ZWx5IGZvciB0aGlzCisgICAgLy8gbGF5ZXIgYW5kIGFs
bCBpdHMgZGVzY2VuZGFudHMuIEl0IGFsc28gY29tcHV0ZXMgdGhlIGFwcHJvcHJpYXRlIHJlbmRl
ciBzdXJmYWNlcy4KKyAgICAvLyBTb21lIGltcG9ydGFudCBwb2ludHMgdG8gcmVtZW1iZXI6Cisg
ICAgLy8KKyAgICAvLyAwLiBIZXJlLCB0cmFuc2Zvcm1zIGFyZSBub3RhdGVkIGluIE1hdHJpeCB4
IFZlY3RvciBvcmRlciwgYW5kIGluIHdvcmRzIHdlIGRlc2NyaWJlIHdoYXQKKyAgICAvLyAgICB0
aGUgdHJhbnNmb3JtIGRvZXMgZnJvbSBsZWZ0IHRvIHJpZ2h0LgorICAgIC8vCisgICAgLy8gMS4g
SW4gb3VyIHRlcm1pbm9sb2d5LCB0aGUgImxheWVyIG9yaWdpbiIgcmVmZXJzIHRvIHRoZSB0b3At
bGVmdCBjb3JuZXIgb2YgYSBsYXllciwgYW5kIHRoZQorICAgIC8vICAgIHBvc2l0aXZlIFktYXhp
cyBwb2ludHMgZG93bndhcmRzLiBUaGlzIGludGVycHJldGF0aW9uIGlzIHZhbGlkIGJlY2F1c2Ug
dGhlIG9ydGhvZ3JhcGhpYworICAgIC8vICAgIHByb2plY3Rpb24gYXBwbGllZCBhdCBkcmF3IHRp
bWUgZmxpcHMgdGhlIFkgYXhpcyBhcHByb3ByaWF0ZWx5LgorICAgIC8vCisgICAgLy8gMi4gVGhl
IGFuY2hvciBwb2ludCwgd2hlbiBnaXZlbiBhcyBhIEZsb2F0UG9pbnQgb2JqZWN0LCBpcyBzcGVj
aWZpZWQgaW4gInVuaXQgbGF5ZXIgc3BhY2UiLAorICAgIC8vICAgIHdoZXJlIHRoZSBib3VuZHMg
b2YgdGhlIGxheWVyIG1hcCB0byBbMCwgMV0uIEhvd2V2ZXIsIGFzIGEgVHJhbnNmb3JtYXRpb25N
YXRyaXggb2JqZWN0LAorICAgIC8vICAgIHRoZSB0cmFuc2Zvcm0gdG8gdGhlIGFuY2hvciBwb2lu
dCBpcyBzcGVjaWZpZWQgaW4gInBpeGVsIGxheWVyIHNwYWNlIiwgd2hlcmUgdGhlIGJvdW5kcwor
ICAgIC8vICAgIG9mIHRoZSBsYXllciBtYXAgdG8gW2JvdW5kcy53aWR0aCgpLCBib3VuZHMuaGVp
Z2h0KCldLgorICAgIC8vCisgICAgLy8gMy4gVGhlIHZhbHVlIG9mIGxheWVyLT5wb3NpdGlvbigp
IGlzIGFjdHVhbGx5IHRoZSBwb3NpdGlvbiBvZiB0aGUgYW5jaG9yIHBvaW50IHdpdGggcmVzcGVj
dCB0byB0aGUgcG9zaXRpb24KKyAgICAvLyAgICBvZiB0aGUgbGF5ZXIncyBvcmlnaW4uIFRoYXQg
aXM6CisgICAgLy8gICAgICAgIGxheWVyLT5wb3NpdGlvbigpID0gcG9zaXRpb25PZkxheWVyT3Jp
Z2luICsgYW5jaG9yUG9pbnQgKGluIHBpeGVsIHVuaXRzKQorICAgIC8vCisgICAgLy8gICAgT3Is
IGVxdWl2YWxlbnRseSwKKyAgICAvLyAgICAgICAgcG9zaXRpb25PZkxheWVyT3JpZ2luLnggPSAg
bGF5ZXItPnBvc2l0aW9uLnggLSAobGF5ZXItPmFuY2hvclBvaW50LnggKiBib3VuZHMud2lkdGgp
CisgICAgLy8gICAgICAgIHBvc2l0aW9uT2ZMYXllck9yaWdpbi55ID0gIGxheWVyLT5wb3NpdGlv
bi55IC0gKGxheWVyLT5hbmNob3JQb2ludC55ICogYm91bmRzLmhlaWdodCkKKyAgICAvLworICAg
IC8vIDQuIERlZmluaXRpb24gb2YgdmFyaW91cyB0cmFuc2Zvcm1zIHVzZWQ6CisgICAgLy8gICAg
ICAgIE1bcGFyZW50XSBpcyB0aGUgcGFyZW50IG1hdHJpeCwgd2l0aCByZXNwZWN0IHRvIHRoZSBu
ZWFyZXN0IHJlbmRlciBzdXJmYWNlLCBwYXNzZWQgZG93biByZWN1cnNpdmVseS4KKyAgICAvLyAg
ICAgICAgTVtyb290XSBpcyB0aGUgZnVsbCBoaWVyYXJjaHksIHdpdGggcmVzcGVjdCB0byB0aGUg
cm9vdCwgcGFzc2VkIGRvd24gcmVjdXJzaXZlbHkuCisgICAgLy8gICAgICAgIFRyW29yaWdpbl0g
aXMgdGhlIHRyYW5zbGF0aW9uIG1hdHJpeCBmcm9tIHRoZSBwYXJlbnQncyBvcmlnaW4gdG8gdGhp
cyBsYXllcidzIG9yaWdpbi4KKyAgICAvLyAgICAgICAgVHJbb3JpZ2luMmFuY2hvcl0gaXMgdGhl
IHRyYW5zbGF0aW9uIGZyb20gdGhlIGxheWVyJ3Mgb3JpZ2luIHRvIGl0cyBhbmNob3IgcG9pbnQK
KyAgICAvLyAgICAgICAgVHJbb3JpZ2luMmNlbnRlcl0gaXMgdGhlIHRyYW5zbGF0aW9uIGZyb20g
dGhlIGxheWVyJ3Mgb3JpZ2luIHRvIGl0cyBjZW50ZXIKKyAgICAvLyAgICAgICAgTVtsYXllcl0g
aXMgdGhlIGxheWVyJ3MgbWF0cml4IChhcHBsaWVkIGF0IHRoZSBhbmNob3IgcG9pbnQpCisgICAg
Ly8gICAgICAgIE1bc3VibGF5ZXJdIGlzIHRoZSBsYXllcidzIHN1YmxheWVyIHRyYW5zZm9ybSAo
YXBwbGllZCBhdCB0aGUgbGF5ZXIncyBjZW50ZXIpCisgICAgLy8gICAgICAgIFRyW2FuY2hvcjJj
ZW50ZXJdIGlzIHRoZSB0cmFuc2xhdGlvbiBvZmZzZXQgZnJvbSB0aGUgYW5jaG9yIHBvaW50IGFu
ZCB0aGUgY2VudGVyIG9mIHRoZSBsYXllcgorICAgIC8vCisgICAgLy8gICAgU29tZSBzaG9ydGN1
dHMgYW5kIHN1YnN0aXR1dGlvbnMgYXJlIHVzZWQgaW4gdGhlIGNvZGUgdG8gcmVkdWNlIG1hdHJp
eCBtdWx0aXBsaWNhdGlvbnM6CisgICAgLy8gICAgICAgIFRyYW5zbGF0aW5nIGJ5IHRoZSB2YWx1
ZSBvZiBsYXllci0+cG9zaXRpb24oKSwgVHJbbGF5ZXItPnBvc2l0aW9uKCldID0gVHJbb3JpZ2lu
XSAqIFRyW29yaWdpbjJhbmNob3JdCisgICAgLy8gICAgICAgIFRyW2FuY2hvcjJjZW50ZXJdID0g
VHJbb3JpZ2luMmFuY2hvcl0uaW52ZXJzZSgpICogVHJbb3JpZ2luMmNlbnRlcl0KKyAgICAvLwor
ICAgIC8vICAgIFNvbWUgY29tcG9zaXRlIHRyYW5zZm9ybXMgY2FuIGhlbHAgaW4gdW5kZXJzdGFu
ZGluZyB0aGUgc2VxdWVuY2Ugb2YgdHJhbnNmb3JtczoKKyAgICAvLyAgICAgICAgY29tcG9zaXRl
TGF5ZXJUcmFuc2Zvcm0gPSBUcltvcmlnaW4yYW5jaG9yXSAqIE1bbGF5ZXJdICogVHJbb3JpZ2lu
MmFuY2hvcl0uaW52ZXJzZSgpCisgICAgLy8gICAgICAgIGNvbXBvc2l0ZVN1YmxheWVyVHJhbnNm
b3JtID0gVHJbb3JpZ2luMmNlbnRlcl0gKiBNW3N1YmxheWVyXSAqIFRyW29yaWdpbjJjZW50ZXJd
LmludmVyc2UoKQorICAgIC8vCisgICAgLy8gICAgSW4gd29yZHMsIHRoZSBsYXllciB0cmFuc2Zv
cm0gaXMgYXBwbGllZCBhYm91dCB0aGUgYW5jaG9yIHBvaW50LCBhbmQgdGhlIHN1YmxheWVyIHRy
YW5zZm9ybSBpcworICAgIC8vICAgIGFwcGxpZWQgYWJvdXQgdGhlIGNlbnRlciBvZiB0aGUgbGF5
ZXIuCisgICAgLy8KKyAgICAvLyA1LiBXaGVuIGEgbGF5ZXIgKG9yIHJlbmRlciBzdXJmYWNlKSBp
cyBkcmF3biwgaXQgaXMgZHJhd24gaW50byBhICJ0YXJnZXQgcmVuZGVyIHN1cmZhY2UiLiBUaGVy
ZWZvcmUgdGhlIGRyYXcKKyAgICAvLyAgICB0cmFuc2Zvcm0gZG9lcyBub3QgbmVjZXNzYXJpbHkg
dHJhbnNmb3JtIGZyb20gc2NyZWVuIHNwYWNlIHRvIGxvY2FsIGxheWVyIHNwYWNlLiBJbnN0ZWFk
LCB0aGUgZHJhdyB0cmFuc2Zvcm0KKyAgICAvLyAgICBpcyB0aGUgdHJhbnNmb3JtIGJldHdlZW4g
dGhlICJ0YXJnZXQgcmVuZGVyIHN1cmZhY2Ugc3BhY2UiIGFuZCBsb2NhbCBsYXllciBzcGFjZS4g
Tm90ZSB0aGF0IHJlbmRlciBzdXJmYWNlcywKKyAgICAvLyAgICBleGNlcHQgZm9yIHRoZSByb290
LCBhbHNvIGRyYXcgdGhlbXNlbHZlcyBpbnRvIGEgZGlmZmVyZW50IHRhcmdldCByZW5kZXIgc3Vy
ZmFjZSwgYW5kIHNvIHRoZWlyIGRyYXcKKyAgICAvLyAgICB0cmFuc2Zvcm0gYW5kIG9yaWdpbiB0
cmFuc2Zvcm1zIGFyZSBhbHNvIGRlc2NyaWJlZCB3aXRoIHJlc3BlY3QgdG8gdGhlIHRhcmdldC4K
KyAgICAvLworICAgIC8vIFVzaW5nIHRoZXNlIGRlZmluaXRpb25zLCB0aGVuOgorICAgIC8vCisg
ICAgLy8gVGhlIGRyYXcgdHJhbnNmb3JtIGZvciB0aGUgbGF5ZXIgaXM6CisgICAgLy8gICAgICAg
IE1bZHJhd10gPSBNW3BhcmVudF0gKiBUcltvcmlnaW5dICogY29tcG9zaXRlTGF5ZXJUcmFuc2Zv
cm0gKiBUcltvcmlnaW4yY2VudGVyXQorICAgIC8vICAgICAgICAgICAgICAgID0gTVtwYXJlbnRd
ICogVHJbbGF5ZXItPnBvc2l0aW9uKCldICogTVtsYXllcl0gKiBUclthbmNob3IyY2VudGVyXQor
ICAgIC8vCisgICAgLy8gICAgICAgIEludGVycHJldGluZyB0aGUgbWF0aCBsZWZ0LXRvLXJpZ2h0
LCB0aGlzIHRyYW5zZm9ybXMgZnJvbSB0aGUgbGF5ZXIncyByZW5kZXIgc3VyZmFjZSB0byB0aGUg
Y2VudGVyIG9mIHRoZSBsYXllci4KKyAgICAvLworICAgIC8vIFRoZSBzY3JlZW4gc3BhY2UgdHJh
bnNmb3JtIGlzOgorICAgIC8vICAgICAgICBNW3NjcmVlbnNwYWNlXSA9IE1bcm9vdF0gKiBUcltv
cmlnaW5dICogY29tcG9zaXRlTGF5ZXJUcmFuc2Zvcm0KKyAgICAvLyAgICAgICAgICAgICAgICAg
ICAgICAgPSBNW3Jvb3RdICogVHJbbGF5ZXItPnBvc2l0aW9uKCldICogTVtsYXllcl0gKiBUcltv
cmlnaW4yYW5jaG9yXS5pbnZlcnNlKCkKKyAgICAvLworICAgIC8vICAgICAgICBJbnRlcnByZXRp
bmcgdGhlIG1hdGggbGVmdC10by1yaWdodCwgdGhpcyB0cmFuc2Zvcm1zIGZyb20gdGhlIHJvb3Qg
bGF5ZXIgc3BhY2UgdG8gdGhlIGxvY2FsIGxheWVyJ3Mgb3JpZ2luLgorICAgIC8vCisgICAgLy8g
VGhlIHRyYW5zZm9ybSBoaWVyYXJjaHkgdGhhdCBpcyBwYXNzZWQgb24gdG8gY2hpbGRyZW4gKGku
ZS4gdGhlIGNoaWxkJ3MgcGFyZW50TWF0cml4KSBpczoKKyAgICAvLyAgICAgICAgTVtwYXJlbnRd
X2Zvcl9jaGlsZCA9IE1bcGFyZW50XSAqIFRyW29yaWdpbl0gKiBjb21wb3NpdGVMYXllclRyYW5z
Zm9ybSAqIGNvbXBvc2l0ZVN1YmxheWVyVHJhbnNmb3JtCisgICAgLy8gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSBNW3BhcmVudF0gKiBUcltsYXllci0+cG9zaXRpb24oKV0gKiBNW2xheWVy
XSAqIFRyW2FuY2hvcjJjZW50ZXJdICogTVtzdWJsYXllcl0gKiBUcltvcmlnaW4yY2VudGVyXS5p
bnZlcnNlKCkKKyAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IE1bZHJhd10gKiBN
W3N1YmxheWVyXSAqIFRyW29yaWdpbjJjZW50ZXJdLmludmVyc2UoKQorICAgIC8vCisgICAgLy8g
ICAgICAgIGFuZCBhIHNpbWlsYXIgbWF0cml4IGZvciB0aGUgZnVsbCBoaWVyYXJjaHkgd2l0aCBy
ZXNwZWN0IHRvIHRoZSByb290LgorICAgIC8vCisgICAgLy8gRmluYWxseSwgbm90ZSB0aGF0IHRo
ZSBmaW5hbCBtYXRyaXggdXNlZCBieSB0aGUgc2hhZGVyIGZvciB0aGUgbGF5ZXIgaXMgUCAqIE1b
ZHJhd10gKiBTIC4gVGhpcyBmaW5hbCBwcm9kdWN0CisgICAgLy8gaXMgY29tcHV0ZWQgaW4gZHJh
d1RleHR1cmVkUXVhZCgpLCB3aGVyZToKKyAgICAvLyAgICAgICAgUCBpcyB0aGUgcHJvamVjdGlv
biBtYXRyaXgKICAgICAvLyAgICAgICAgUyBpcyB0aGUgc2NhbGUgYWRqdXN0bWVudCAodG8gc2Nh
bGUgdXAgdG8gdGhlIGxheWVyIHNpemUpCisgICAgLy8KKwogICAgIEludFNpemUgYm91bmRzID0g
bGF5ZXItPmJvdW5kcygpOwogICAgIEZsb2F0UG9pbnQgYW5jaG9yUG9pbnQgPSBsYXllci0+YW5j
aG9yUG9pbnQoKTsKICAgICBGbG9hdFBvaW50IHBvc2l0aW9uID0gbGF5ZXItPnBvc2l0aW9uKCkg
LSBsYXllci0+c2Nyb2xsRGVsdGEoKTsKQEAgLTExOCwxMSArMTc4LDExIEBAIHN0YXRpYyB2b2lk
IGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJpbGl0eUludGVybmFsKExheWVyVHlwZSog
bGF5ZXIsIExheWVyCiAgICAgZmxvYXQgY2VudGVyT2Zmc2V0WSA9ICgwLjUgLSBhbmNob3JQb2lu
dC55KCkpICogYm91bmRzLmhlaWdodCgpOwogCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbGF5
ZXJMb2NhbFRyYW5zZm9ybTsKLSAgICAvLyBMVCA9IFRyW2xdCisgICAgLy8gTFQgPSBUcltvcmln
aW5dICogVHJbb3JpZ2luMmFuY2hvcl0KICAgICBsYXllckxvY2FsVHJhbnNmb3JtLnRyYW5zbGF0
ZTNkKHBvc2l0aW9uLngoKSwgcG9zaXRpb24ueSgpLCBsYXllci0+YW5jaG9yUG9pbnRaKCkpOwot
ICAgIC8vIExUID0gVHJbbF0gKiBNW2xdCisgICAgLy8gTFQgPSBUcltvcmlnaW5dICogVHJbb3Jp
Z2luMmFuY2hvcl0gKiBNW2xheWVyXQogICAgIGxheWVyTG9jYWxUcmFuc2Zvcm0ubXVsdGlwbHko
bGF5ZXItPnRyYW5zZm9ybSgpKTsKLSAgICAvLyBMVCA9IFRyW2xdICogTVtsXSAqIFRyW2NdCisg
ICAgLy8gTFQgPSBUcltvcmlnaW5dICogVHJbb3JpZ2luMmFuY2hvcl0gKiBNW2xheWVyXSAqIFRy
W2FuY2hvcjJjZW50ZXJdCiAgICAgbGF5ZXJMb2NhbFRyYW5zZm9ybS50cmFuc2xhdGUzZChjZW50
ZXJPZmZzZXRYLCBjZW50ZXJPZmZzZXRZLCAtbGF5ZXItPmFuY2hvclBvaW50WigpKTsKIAogICAg
IFRyYW5zZm9ybWF0aW9uTWF0cml4IGNvbWJpbmVkVHJhbnNmb3JtID0gcGFyZW50TWF0cml4OwpA
QCAtMTk3LDcgKzI1Nyw2IEBAIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5k
VmlzaWJpbGl0eUludGVybmFsKExheWVyVHlwZSogbGF5ZXIsIExheWVyCiAKICAgICAgICAgcmVu
ZGVyU3VyZmFjZUxheWVyTGlzdC5hcHBlbmQobGF5ZXIpOwogICAgIH0gZWxzZSB7Ci0gICAgICAg
IC8vIERUID0gTVtwXSAqIExUCiAgICAgICAgIGxheWVyLT5zZXREcmF3VHJhbnNmb3JtKGNvbWJp
bmVkVHJhbnNmb3JtKTsKICAgICAgICAgdHJhbnNmb3JtZWRMYXllclJlY3QgPSBlbmNsb3NpbmdJ
bnRSZWN0KGxheWVyLT5kcmF3VHJhbnNmb3JtKCkubWFwUmVjdChsYXllclJlY3QpKTsKIApAQCAt
MjI3LDggKzI4Niw3IEBAIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlz
aWJpbGl0eUludGVybmFsKExheWVyVHlwZSogbGF5ZXIsIExheWVyCiAgICAgfQogCiAgICAgLy8g
Tm90ZSB0aGF0IGF0IHRoaXMgcG9pbnQsIGxheWVyLT5kcmF3VHJhbnNmb3JtKCkgaXMgbm90IG5l
Y2Vzc2FyaWx5IHRoZSBzYW1lIGFzIGxvY2FsIHZhcmlhYmxlIGRyYXdUcmFuc2Zvcm0uCi0gICAg
Ly8gbGF5ZXJTY3JlZW5TcGFjZVRyYW5zZm9ybSByZXByZXNlbnRzIHRoZSB0cmFuc2Zvcm0gYmV0
d2VlbiBsYXllciBzcGFjZSAoaW4gcGl4ZWxzKSBhbmQgc2NyZWVuIHNwYWNlLgotICAgIC8vIFNv
IHdlIGRvIG5vdCBpbmNsdWRlIHByb2plY3Rpb24gUCBvciBzY2FsaW5nIHRyYW5zZm9ybSBTIChz
ZWUgY29tbWVudHMgYWJvdmUgdGhhdCBkZXNjcmliZSBQKk0qUykuCisgICAgLy8gbGF5ZXJTY3Jl
ZW5TcGFjZVRyYW5zZm9ybSByZXByZXNlbnRzIHRoZSB0cmFuc2Zvcm0gYmV0d2VlbiByb290IGxh
eWVyJ3MgInNjcmVlbiBzcGFjZSIgYW5kIGxvY2FsIGxheWVyIHNwYWNlLgogICAgIFRyYW5zZm9y
bWF0aW9uTWF0cml4IGxheWVyU2NyZWVuU3BhY2VUcmFuc2Zvcm0gPSBuZXh0SGllcmFyY2h5TWF0
cml4OwogICAgIGxheWVyU2NyZWVuU3BhY2VUcmFuc2Zvcm0ubXVsdGlwbHkobGF5ZXItPmRyYXdU
cmFuc2Zvcm0oKSk7CiAgICAgbGF5ZXJTY3JlZW5TcGFjZVRyYW5zZm9ybS50cmFuc2xhdGUzZCgt
MC41ICogYm91bmRzLndpZHRoKCksIC0wLjUgKiBib3VuZHMuaGVpZ2h0KCksIDApOwpAQCAtMjY3
LDkgKzMyNSw3IEBAIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZURyYXdUcmFuc2Zvcm1zQW5kVmlzaWJp
bGl0eUludGVybmFsKExheWVyVHlwZSogbGF5ZXIsIExheWVyCiAgICAgLy8gQXBwbHkgdGhlIHN1
YmxheWVyIHRyYW5zZm9ybSBhdCB0aGUgY2VudGVyIG9mIHRoZSBsYXllci4KICAgICBzdWJsYXll
ck1hdHJpeC5tdWx0aXBseShsYXllci0+c3VibGF5ZXJUcmFuc2Zvcm0oKSk7CiAKLSAgICAvLyBU
aGUgb3JpZ2luIG9mIHRoZSBjaGlsZHJlbiBpcyB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSBs
YXllciwgbm90IHRoZQotICAgIC8vIGNlbnRlci4gVGhlIG1hdHJpeCBwYXNzZWQgZG93biB0byB0
aGUgY2hpbGRyZW4gaXMgdGhlcmVmb3JlOgotICAgIC8vIE1bc10gPSBNICogVHJbLWNlbnRlcl0K
KyAgICAvLyBUaGUgY29vcmRpbmF0ZSBzeXN0ZW0gZ2l2ZW4gdG8gY2hpbGRyZW4gaXMgbG9jYXRl
ZCBhdCB0aGUgbGF5ZXIncyBvcmlnaW4sIG5vdCB0aGUgY2VudGVyLgogICAgIHN1YmxheWVyTWF0
cml4LnRyYW5zbGF0ZTNkKC1ib3VuZHMud2lkdGgoKSAqIDAuNSwgLWJvdW5kcy5oZWlnaHQoKSAq
IDAuNSwgMCk7CiAKICAgICBMYXllckxpc3QmIGRlc2NlbmRhbnRzID0gKGxheWVyLT5yZW5kZXJT
dXJmYWNlKCkgPyBsYXllci0+cmVuZGVyU3VyZmFjZSgpLT5sYXllckxpc3QoKSA6IGxheWVyTGlz
dCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>