<?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>23428</bug_id>
          
          <creation_ts>2009-01-20 03:55:14 -0800</creation_ts>
          <short_desc>Frame Refactor: Move forceLayout,adjustPageHeight,forceLa. to FrameView</short_desc>
          <delta_ts>2009-02-02 05:43:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Holger Freyther">zecke</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>106314</commentid>
    <comment_count>0</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-01-20 03:55:14 -0800</bug_when>
    <thetext>Move the following methods to FrameView:

void forceLayout(bool allowSubtree = false);
void forceLayoutWithPageWidthRange(float minPageWidth, float maxPageWidth, bool adjustViewSize);
void adjustPageHeight(float* newBottom, float oldTop, float oldBottom, float bottomLimit);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106320</commentid>
    <comment_count>1</comment_count>
      <attachid>26858</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-01-20 04:38:14 -0800</bug_when>
    <thetext>Created attachment 26858
Carry out the move

Tested on the mac. Zoom functions were left in Frame due the state they store in the Frame (which would have to be saved/restored on navigation and FrameView creation)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106802</commentid>
    <comment_count>2</comment_count>
      <attachid>26858</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-23 14:22:09 -0800</bug_when>
    <thetext>Comment on attachment 26858
Carry out the move

&gt; +    // We cannot unschedule a pending relayout, since the force can be called with
&gt; +    // a tiny rectangle from a drawRect update.  By unscheduling we in effect
&gt; +    // &quot;validate&quot; and stop the necessary full repaint from occurring.  Basically any basic
&gt; +    // append/remove DHTML is broken by this call.  For now, I have removed the optimization
&gt; +    // until we have a better invalidation stategy. -dwh
&gt; +    //v-&gt;unscheduleRelayout();

The &quot;v-&gt;&quot; no longer makes sense here.

&gt;      if (minPageWidth &gt; 0.0)
&gt; -        coreFrame-&gt;forceLayoutWithPageWidthRange(minPageWidth, maxPageWidth, adjustViewSize);
&gt; +        coreFrame-&gt;view()-&gt;forceLayoutWithPageWidthRange(minPageWidth, maxPageWidth, adjustViewSize);
&gt;      else {
&gt; -        coreFrame-&gt;forceLayout(!adjustViewSize);
&gt; +        coreFrame-&gt;view()-&gt;forceLayout(!adjustViewSize);
&gt;          if (adjustViewSize)
&gt;              coreFrame-&gt;view()-&gt;adjustViewSize();
&gt;      }

No need to null-check view() here? Are you sure?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107953</commentid>
    <comment_count>3</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-02-02 05:43:50 -0800</bug_when>
    <thetext>Landed in r40473. I added a null check for the view.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26858</attachid>
            <date>2009-01-20 04:38:14 -0800</date>
            <delta_ts>2009-01-23 14:22:09 -0800</delta_ts>
            <desc>Carry out the move</desc>
            <filename>0003-Move-Frame-forceLayout-Frame-adjustPageHeight-and.patch</filename>
            <type>text/plain</type>
            <size>16347</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSA2ZGJkZmRiOWI3ZDEzMDdhOTAyZjQwZGIzZWM1NDBiMTQxNTBlYjZhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IFRodSwgMjUgRGVjIDIwMDggMDE6MjI6MzcgKzAxMDAKU3ViamVjdDog
W1BBVENIXSBNb3ZlIEZyYW1lOjpmb3JjZUxheW91dCwgRnJhbWU6OmFkanVzdFBhZ2VIZWlnaHQg
YW5kIEZyYW1lOjpmb3JjZUxheW91dFdpdGhQYWdlV2lkdGhSYW5nZSB0byBGcmFtZVZpZXcKCkZy
YW1lVmlldzo6Zm9yY2VMYXlvdXQgY291bGQgYmUga2lsbGVkIGJ1dCB0aGUgY29tbWVudCBtaWdo
dApjb250YWluIGEgdmFsdWUgb3ZlciB0aGUgdGhlIHBsYWluIEZyYW1lVmlldzo6bGF5b3V0Li4u
CgpBZGp1c3QgdGhlIFdlYkNvcmUvV2ViS2l0IGNvbnN1bWVycyBvZiB0aGVzZSBtZXRob2RzLgot
LS0KIFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgNiArLQogV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDYxICstLS0tLS0tLS0tLS0tLS0tLS0tCiBXZWJDb3JlL3BhZ2UvRnJhbWUuaCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDUgLS0KIFdlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1NiArKysrKysrKysrKysrKysrKysK
IFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg
NiArKwogV2ViQ29yZS9wYWdlL1ByaW50Q29udGV4dC5jcHAgICAgICAgICAgICAgICAgICAgICAg
fCAgICAyICstCiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3Rr
LmNwcCB8ICAgIDQgKy0KIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwICAgICAg
ICAgICAgICAgIHwgICAgMiArLQogV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tICAgICAg
ICAgICAgICAgICAgICAgfCAgICAyICstCiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcu
bW0gICAgICAgICAgICAgICAgICB8ICAgIDcgKy0KIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3Bw
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQogV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwICAgfCAgICA0ICstCiBXZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCB8ICAgIDQgKy0KIDEzIGZpbGVzIGNo
YW5nZWQsIDgzIGluc2VydGlvbnMoKyksIDc4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5iYXNlLmV4cCBiL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAppbmRleCA5
MTQyNGZmLi4wMjAzMDMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKKysr
IGIvV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCkBAIC00NzIsMTIgKzQ3MiwxMCBAQCBfX1pON1dl
YkNvcmU1Q2FjaGUxMXNldERpc2FibGVkRWIKIF9fWk43V2ViQ29yZTVDYWNoZTEzZ2V0U3RhdGlz
dGljc0V2CiBfX1pON1dlYkNvcmU1Q2FjaGUxM3NldENhcGFjaXRpZXNFampqCiBfX1pON1dlYkNv
cmU1RnJhbWUxMGZpbmRTdHJpbmdFUktOU182U3RyaW5nRWJiYmIKLV9fWk43V2ViQ29yZTVGcmFt
ZTExZm9yY2VMYXlvdXRFYgogX19aTjdXZWJDb3JlNUZyYW1lMTFzaG91bGRDbG9zZUV2CiBfX1pO
N1dlYkNvcmU1RnJhbWUxM3JlYXBwbHlTdHlsZXNFdgogX19aTjdXZWJDb3JlNUZyYW1lMTNzZXRa
b29tRmFjdG9yRWZiCiBfX1pON1dlYkNvcmU1RnJhbWUxNGZyYW1lRm9yV2lkZ2V0RVBLTlNfNldp
ZGdldEUKLV9fWk43V2ViQ29yZTVGcmFtZTE2YWRqdXN0UGFnZUhlaWdodEVQZmZmZgogX19aTjdX
ZWJDb3JlNUZyYW1lMTdzZXRJc0Rpc2Nvbm5lY3RlZEViCiBfX1pON1dlYkNvcmU1RnJhbWUxOXNl
dEluVmlld1NvdXJjZU1vZGVFYgogX19aTjdXZWJDb3JlNUZyYW1lMjBzZXRTZWxlY3Rpb25Gcm9t
Tm9uZUV2CkBAIC00ODcsNyArNDg1LDYgQEAgX19aTjdXZWJDb3JlNUZyYW1lMjRjb21wdXRlQW5k
U2V0VHlwaW5nU3R5bGVFUE5TXzE5Q1NTU3R5bGVEZWNsYXJhdGlvbkVOU18xMEVkaXQKIF9fWk43
V2ViQ29yZTVGcmFtZTI0c2V0RXhjbHVkZUZyb21UZXh0U2VhcmNoRWIKIF9fWk43V2ViQ29yZTVG
cmFtZTI1bWF0Y2hMYWJlbHNBZ2FpbnN0RWxlbWVudEVQN05TQXJyYXlQTlNfN0VsZW1lbnRFCiBf
X1pON1dlYkNvcmU1RnJhbWUyOHNlYXJjaEZvckxhYmVsc0JlZm9yZUVsZW1lbnRFUDdOU0FycmF5
UE5TXzdFbGVtZW50RQotX19aTjdXZWJDb3JlNUZyYW1lMjlmb3JjZUxheW91dFdpdGhQYWdlV2lk
dGhSYW5nZUVmZmIKIF9fWk43V2ViQ29yZTVGcmFtZTM0c2V0TWFya2VkVGV4dE1hdGNoZXNBcmVI
aWdobGlnaHRlZEViCiBfX1pON1dlYkNvcmU1RnJhbWU0aW5pdEV2CiBfX1pON1dlYkNvcmU1RnJh
bWU2c2NyaXB0RXYKQEAgLTYzOCw2ICs2MzUsOSBAQCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjNs
YXlvdXRJZk5lZWRlZFJlY3Vyc2l2ZUV2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjlzZXRTaG91
bGRVcGRhdGVXaGlsZU9mZnNjcmVlbkViCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3QzFFUE5TXzVG
cmFtZUUKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXdDMUVQTlNfNUZyYW1lRVJLTlNfN0ludFNpemVF
CitfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTZhZGp1c3RQYWdlSGVpZ2h0RVBmZmZmCitfX1pON1dl
YkNvcmU5RnJhbWVWaWV3Mjlmb3JjZUxheW91dFdpdGhQYWdlV2lkdGhSYW5nZUVmZmIKK19fWk43
V2ViQ29yZTlGcmFtZVZpZXcxMWZvcmNlTGF5b3V0RWIKIF9fWk43V2ViQ29yZTlIVE1MTmFtZXMx
MGxpc3RpbmdUYWdFCiBfX1pON1dlYkNvcmU5SFRNTE5hbWVzMTNibG9ja3F1b3RlVGFnRQogX19a
TjdXZWJDb3JlOUhUTUxOYW1lczRhVGFnRQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZyYW1l
LmNwcCBiL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggOGMzOTVjMy4uOTU5NmI0MCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRnJhbWUu
Y3BwCkBAIC03NTMsNyArNzUzLDcgQEAgdm9pZCBGcmFtZTo6c2V0UHJpbnRpbmcoYm9vbCBwcmlu
dGluZywgZmxvYXQgbWluUGFnZVdpZHRoLCBmbG9hdCBtYXhQYWdlV2lkdGgsIGIKICAgICBtX2Rv
Yy0+c2V0UHJpbnRpbmcocHJpbnRpbmcpOwogICAgIHZpZXcoKS0+c2V0TWVkaWFUeXBlKHByaW50
aW5nID8gInByaW50IiA6ICJzY3JlZW4iKTsKICAgICBtX2RvYy0+dXBkYXRlU3R5bGVTZWxlY3Rv
cigpOwotICAgIGZvcmNlTGF5b3V0V2l0aFBhZ2VXaWR0aFJhbmdlKG1pblBhZ2VXaWR0aCwgbWF4
UGFnZVdpZHRoLCBhZGp1c3RWaWV3U2l6ZSk7CisgICAgdmlldygpLT5mb3JjZUxheW91dFdpdGhQ
YWdlV2lkdGhSYW5nZShtaW5QYWdlV2lkdGgsIG1heFBhZ2VXaWR0aCwgYWRqdXN0Vmlld1NpemUp
OwogCiAgICAgZm9yIChGcmFtZSogY2hpbGQgPSB0cmVlKCktPmZpcnN0Q2hpbGQoKTsgY2hpbGQ7
IGNoaWxkID0gY2hpbGQtPnRyZWUoKS0+bmV4dFNpYmxpbmcoKSkKICAgICAgICAgY2hpbGQtPnNl
dFByaW50aW5nKHByaW50aW5nLCBtaW5QYWdlV2lkdGgsIG1heFBhZ2VXaWR0aCwgYWRqdXN0Vmll
d1NpemUpOwpAQCAtMTI5NSwyMiArMTI5NSw2IEBAIHZvaWQgRnJhbWU6OnJldmVhbENhcmV0KGNv
bnN0IFJlbmRlckxheWVyOjpTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCkgY29uc3QKICAgICB9
CiB9CiAKLXZvaWQgRnJhbWU6OmFkanVzdFBhZ2VIZWlnaHQoZmxvYXQqIG5ld0JvdHRvbSwgZmxv
YXQgb2xkVG9wLCBmbG9hdCBvbGRCb3R0b20sIGZsb2F0IC8qYm90dG9tTGltaXQqLykKLXsKLSAg
ICBSZW5kZXJWaWV3KiByb290ID0gY29udGVudFJlbmRlcmVyKCk7Ci0gICAgaWYgKHJvb3QpIHsK
LSAgICAgICAgLy8gVXNlIGEgY29udGV4dCB3aXRoIHBhaW50aW5nIGRpc2FibGVkLgotICAgICAg
ICBHcmFwaGljc0NvbnRleHQgY29udGV4dCgoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqKTApOwot
ICAgICAgICByb290LT5zZXRUcnVuY2F0ZWRBdCgoaW50KWZsb29yZihvbGRCb3R0b20pKTsKLSAg
ICAgICAgSW50UmVjdCBkaXJ0eVJlY3QoMCwgKGludClmbG9vcmYob2xkVG9wKSwgcm9vdC0+ZG9j
V2lkdGgoKSwgKGludCljZWlsZihvbGRCb3R0b20gLSBvbGRUb3ApKTsKLSAgICAgICAgcm9vdC0+
bGF5ZXIoKS0+cGFpbnQoJmNvbnRleHQsIGRpcnR5UmVjdCk7Ci0gICAgICAgICpuZXdCb3R0b20g
PSByb290LT5iZXN0VHJ1bmNhdGVkQXQoKTsKLSAgICAgICAgaWYgKCpuZXdCb3R0b20gPT0gMCkK
LSAgICAgICAgICAgICpuZXdCb3R0b20gPSBvbGRCb3R0b207Ci0gICAgfSBlbHNlCi0gICAgICAg
ICpuZXdCb3R0b20gPSBvbGRCb3R0b207Ci19Ci0KIEZyYW1lKiBGcmFtZTo6ZnJhbWVGb3JXaWRn
ZXQoY29uc3QgV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgQVNTRVJUX0FSRyh3aWRnZXQsIHdpZGdl
dCk7CkBAIC0xMzI1LDQ5ICsxMzA5LDYgQEAgRnJhbWUqIEZyYW1lOjpmcmFtZUZvcldpZGdldChj
b25zdCBXaWRnZXQqIHdpZGdldCkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgRnJhbWVW
aWV3Kj4od2lkZ2V0KS0+ZnJhbWUoKTsKIH0KIAotdm9pZCBGcmFtZTo6Zm9yY2VMYXlvdXQoYm9v
bCBhbGxvd1N1YnRyZWUpCi17Ci0gICAgRnJhbWVWaWV3ICp2ID0gbV92aWV3LmdldCgpOwotICAg
IGlmICh2KSB7Ci0gICAgICAgIHYtPmxheW91dChhbGxvd1N1YnRyZWUpOwotICAgICAgICAvLyBX
ZSBjYW5ub3QgdW5zY2hlZHVsZSBhIHBlbmRpbmcgcmVsYXlvdXQsIHNpbmNlIHRoZSBmb3JjZSBj
YW4gYmUgY2FsbGVkIHdpdGgKLSAgICAgICAgLy8gYSB0aW55IHJlY3RhbmdsZSBmcm9tIGEgZHJh
d1JlY3QgdXBkYXRlLiAgQnkgdW5zY2hlZHVsaW5nIHdlIGluIGVmZmVjdAotICAgICAgICAvLyAi
dmFsaWRhdGUiIGFuZCBzdG9wIHRoZSBuZWNlc3NhcnkgZnVsbCByZXBhaW50IGZyb20gb2NjdXJy
aW5nLiAgQmFzaWNhbGx5IGFueSBiYXNpYwotICAgICAgICAvLyBhcHBlbmQvcmVtb3ZlIERIVE1M
IGlzIGJyb2tlbiBieSB0aGlzIGNhbGwuICBGb3Igbm93LCBJIGhhdmUgcmVtb3ZlZCB0aGUgb3B0
aW1pemF0aW9uCi0gICAgICAgIC8vIHVudGlsIHdlIGhhdmUgYSBiZXR0ZXIgaW52YWxpZGF0aW9u
IHN0YXRlZ3kuIC1kd2gKLSAgICAgICAgLy92LT51bnNjaGVkdWxlUmVsYXlvdXQoKTsKLSAgICB9
Ci19Ci0KLXZvaWQgRnJhbWU6OmZvcmNlTGF5b3V0V2l0aFBhZ2VXaWR0aFJhbmdlKGZsb2F0IG1p
blBhZ2VXaWR0aCwgZmxvYXQgbWF4UGFnZVdpZHRoLCBib29sIGFkanVzdFZpZXdTaXplKQotewot
ICAgIC8vIER1bXBpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihtX2ZyYW1lLT5yZW5kZXJlcigp
KS5hc2NpaSgpIGlzIGEgZ29vZCB0cmljayB0byBzZWUKLSAgICAvLyB0aGUgc3RhdGUgb2YgdGhp
bmdzIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIGxheW91dAotICAgIFJlbmRlclZpZXcgKnJvb3QgPSBz
dGF0aWNfY2FzdDxSZW5kZXJWaWV3Kj4oZG9jdW1lbnQoKS0+cmVuZGVyZXIoKSk7Ci0gICAgaWYg
KHJvb3QpIHsKLSAgICAgICAgLy8gVGhpcyBtYWdpYyBpcyBiYXNpY2FsbHkgY29waWVkIGZyb20g
a2h0bWx2aWV3OjpwcmludAotICAgICAgICBpbnQgcGFnZVcgPSAoaW50KWNlaWxmKG1pblBhZ2VX
aWR0aCk7Ci0gICAgICAgIHJvb3QtPnNldFdpZHRoKHBhZ2VXKTsKLSAgICAgICAgcm9vdC0+c2V0
TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7Ci0gICAgICAgIGZvcmNlTGF5b3V0KCk7
Ci0gICAgICAgIAotICAgICAgICAvLyBJZiB3ZSBkb24ndCBmaXQgaW4gdGhlIG1pbmltdW0gcGFn
ZSB3aWR0aCwgd2UnbGwgbGF5IG91dCBhZ2Fpbi4gSWYgd2UgZG9uJ3QgZml0IGluIHRoZQotICAg
ICAgICAvLyBtYXhpbXVtIHBhZ2Ugd2lkdGgsIHdlIHdpbGwgbGF5IG91dCB0byB0aGUgbWF4aW11
bSBwYWdlIHdpZHRoIGFuZCBjbGlwIGV4dHJhIGNvbnRlbnQuCi0gICAgICAgIC8vIEZJWE1FOiBX
ZSBhcmUgYXNzdW1pbmcgYSBzaHJpbmstdG8tZml0IHByaW50aW5nIGltcGxlbWVudGF0aW9uLiAg
QSBjcm9wcGluZwotICAgICAgICAvLyBpbXBsZW1lbnRhdGlvbiBzaG91bGQgbm90IGRvIHRoaXMh
Ci0gICAgICAgIGludCByaWdodG1vc3RQb3MgPSByb290LT5yaWdodG1vc3RQb3NpdGlvbigpOwot
ICAgICAgICBpZiAocmlnaHRtb3N0UG9zID4gbWluUGFnZVdpZHRoKSB7Ci0gICAgICAgICAgICBw
YWdlVyA9IG1pbihyaWdodG1vc3RQb3MsIChpbnQpY2VpbGYobWF4UGFnZVdpZHRoKSk7Ci0gICAg
ICAgICAgICByb290LT5zZXRXaWR0aChwYWdlVyk7Ci0gICAgICAgICAgICByb290LT5zZXROZWVk
c0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKLSAgICAgICAgICAgIGZvcmNlTGF5b3V0KCk7
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoYWRqdXN0Vmlld1NpemUgJiYgdmlldygpKQot
ICAgICAgICB2aWV3KCktPmFkanVzdFZpZXdTaXplKCk7Ci19Ci0KIHZvaWQgRnJhbWU6OmNsZWFy
VGltZXJzKEZyYW1lVmlldyAqdmlldywgRG9jdW1lbnQgKmRvY3VtZW50KQogewogICAgIGlmICh2
aWV3KSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1dlYkNvcmUvcGFnZS9G
cmFtZS5oCmluZGV4IGZiOGEyODMuLmUzNWY5NjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9G
cmFtZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0xNzUsMTEgKzE3NSw2IEBAIHBy
aXZhdGU6CiAvLyA9PT0gdG8gYmUgbW92ZWQgaW50byBGcmFtZVZpZXcKIAogcHVibGljOiAKLSAg
ICB2b2lkIGZvcmNlTGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlID0gZmFsc2UpOwotICAgIHZvaWQg
Zm9yY2VMYXlvdXRXaXRoUGFnZVdpZHRoUmFuZ2UoZmxvYXQgbWluUGFnZVdpZHRoLCBmbG9hdCBt
YXhQYWdlV2lkdGgsIGJvb2wgYWRqdXN0Vmlld1NpemUpOwotCi0gICAgdm9pZCBhZGp1c3RQYWdl
SGVpZ2h0KGZsb2F0KiBuZXdCb3R0b20sIGZsb2F0IG9sZFRvcCwgZmxvYXQgb2xkQm90dG9tLCBm
bG9hdCBib3R0b21MaW1pdCk7Ci0KICAgICB2b2lkIHNldFpvb21GYWN0b3IoZmxvYXQgc2NhbGUs
IGJvb2wgaXNUZXh0T25seSk7CiAgICAgZmxvYXQgem9vbUZhY3RvcigpIGNvbnN0OwogICAgIGJv
b2wgaXNab29tRmFjdG9yVGV4dE9ubHkoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZDhjNmU4
MS4uMTc5OTg1MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTEyMzksNCArMTIzOSw2MCBAQCB2b2lkIEZy
YW1lVmlldzo6bGF5b3V0SWZOZWVkZWRSZWN1cnNpdmUoKQogICAgICAgICAgICAgc3RhdGljX2Nh
c3Q8RnJhbWVWaWV3Kj4oKmN1cnJlbnQpLT5sYXlvdXRJZk5lZWRlZFJlY3Vyc2l2ZSgpOwogfQog
Cit2b2lkIEZyYW1lVmlldzo6Zm9yY2VMYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUpCit7CisgICAg
bGF5b3V0KGFsbG93U3VidHJlZSk7CisgICAgLy8gV2UgY2Fubm90IHVuc2NoZWR1bGUgYSBwZW5k
aW5nIHJlbGF5b3V0LCBzaW5jZSB0aGUgZm9yY2UgY2FuIGJlIGNhbGxlZCB3aXRoCisgICAgLy8g
YSB0aW55IHJlY3RhbmdsZSBmcm9tIGEgZHJhd1JlY3QgdXBkYXRlLiAgQnkgdW5zY2hlZHVsaW5n
IHdlIGluIGVmZmVjdAorICAgIC8vICJ2YWxpZGF0ZSIgYW5kIHN0b3AgdGhlIG5lY2Vzc2FyeSBm
dWxsIHJlcGFpbnQgZnJvbSBvY2N1cnJpbmcuICBCYXNpY2FsbHkgYW55IGJhc2ljCisgICAgLy8g
YXBwZW5kL3JlbW92ZSBESFRNTCBpcyBicm9rZW4gYnkgdGhpcyBjYWxsLiAgRm9yIG5vdywgSSBo
YXZlIHJlbW92ZWQgdGhlIG9wdGltaXphdGlvbgorICAgIC8vIHVudGlsIHdlIGhhdmUgYSBiZXR0
ZXIgaW52YWxpZGF0aW9uIHN0YXRlZ3kuIC1kd2gKKyAgICAvL3YtPnVuc2NoZWR1bGVSZWxheW91
dCgpOworfQorCit2b2lkIEZyYW1lVmlldzo6Zm9yY2VMYXlvdXRXaXRoUGFnZVdpZHRoUmFuZ2Uo
ZmxvYXQgbWluUGFnZVdpZHRoLCBmbG9hdCBtYXhQYWdlV2lkdGgsIGJvb2wgX2FkanVzdFZpZXdT
aXplKQoreworICAgIC8vIER1bXBpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihtX2ZyYW1lLT5y
ZW5kZXJlcigpKS5hc2NpaSgpIGlzIGEgZ29vZCB0cmljayB0byBzZWUKKyAgICAvLyB0aGUgc3Rh
dGUgb2YgdGhpbmdzIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIGxheW91dAorICAgIFJlbmRlclZpZXcg
KnJvb3QgPSBzdGF0aWNfY2FzdDxSZW5kZXJWaWV3Kj4obV9mcmFtZS0+ZG9jdW1lbnQoKS0+cmVu
ZGVyZXIoKSk7CisgICAgaWYgKHJvb3QpIHsKKyAgICAgICAgLy8gVGhpcyBtYWdpYyBpcyBiYXNp
Y2FsbHkgY29waWVkIGZyb20ga2h0bWx2aWV3OjpwcmludAorICAgICAgICBpbnQgcGFnZVcgPSAo
aW50KWNlaWxmKG1pblBhZ2VXaWR0aCk7CisgICAgICAgIHJvb3QtPnNldFdpZHRoKHBhZ2VXKTsK
KyAgICAgICAgcm9vdC0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CisgICAg
ICAgIGZvcmNlTGF5b3V0KCk7CisKKyAgICAgICAgLy8gSWYgd2UgZG9uJ3QgZml0IGluIHRoZSBt
aW5pbXVtIHBhZ2Ugd2lkdGgsIHdlJ2xsIGxheSBvdXQgYWdhaW4uIElmIHdlIGRvbid0IGZpdCBp
biB0aGUKKyAgICAgICAgLy8gbWF4aW11bSBwYWdlIHdpZHRoLCB3ZSB3aWxsIGxheSBvdXQgdG8g
dGhlIG1heGltdW0gcGFnZSB3aWR0aCBhbmQgY2xpcCBleHRyYSBjb250ZW50LgorICAgICAgICAv
LyBGSVhNRTogV2UgYXJlIGFzc3VtaW5nIGEgc2hyaW5rLXRvLWZpdCBwcmludGluZyBpbXBsZW1l
bnRhdGlvbi4gIEEgY3JvcHBpbmcKKyAgICAgICAgLy8gaW1wbGVtZW50YXRpb24gc2hvdWxkIG5v
dCBkbyB0aGlzIQorICAgICAgICBpbnQgcmlnaHRtb3N0UG9zID0gcm9vdC0+cmlnaHRtb3N0UG9z
aXRpb24oKTsKKyAgICAgICAgaWYgKHJpZ2h0bW9zdFBvcyA+IG1pblBhZ2VXaWR0aCkgeworICAg
ICAgICAgICAgcGFnZVcgPSBzdGQ6Om1pbihyaWdodG1vc3RQb3MsIChpbnQpY2VpbGYobWF4UGFn
ZVdpZHRoKSk7CisgICAgICAgICAgICByb290LT5zZXRXaWR0aChwYWdlVyk7CisgICAgICAgICAg
ICByb290LT5zZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKKyAgICAgICAgICAg
IGZvcmNlTGF5b3V0KCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoX2FkanVzdFZpZXdT
aXplKQorICAgICAgICBhZGp1c3RWaWV3U2l6ZSgpOworfQorCit2b2lkIEZyYW1lVmlldzo6YWRq
dXN0UGFnZUhlaWdodChmbG9hdCAqbmV3Qm90dG9tLCBmbG9hdCBvbGRUb3AsIGZsb2F0IG9sZEJv
dHRvbSwgZmxvYXQgLypib3R0b21MaW1pdCovKQoreworICAgIFJlbmRlclZpZXcqIHJvb3QgPSBt
X2ZyYW1lLT5jb250ZW50UmVuZGVyZXIoKTsKKyAgICBpZiAocm9vdCkgeworICAgICAgICAvLyBV
c2UgYSBjb250ZXh0IHdpdGggcGFpbnRpbmcgZGlzYWJsZWQuCisgICAgICAgIEdyYXBoaWNzQ29u
dGV4dCBjb250ZXh0KChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCopMCk7CisgICAgICAgIHJvb3Qt
PnNldFRydW5jYXRlZEF0KChpbnQpZmxvb3JmKG9sZEJvdHRvbSkpOworICAgICAgICBJbnRSZWN0
IGRpcnR5UmVjdCgwLCAoaW50KWZsb29yZihvbGRUb3ApLCByb290LT5kb2NXaWR0aCgpLCAoaW50
KWNlaWxmKG9sZEJvdHRvbSAtIG9sZFRvcCkpOworICAgICAgICByb290LT5sYXllcigpLT5wYWlu
dCgmY29udGV4dCwgZGlydHlSZWN0KTsKKyAgICAgICAgKm5ld0JvdHRvbSA9IHJvb3QtPmJlc3RU
cnVuY2F0ZWRBdCgpOworICAgICAgICBpZiAoKm5ld0JvdHRvbSA9PSAwKQorICAgICAgICAgICAg
Km5ld0JvdHRvbSA9IG9sZEJvdHRvbTsKKyAgICB9IGVsc2UKKyAgICAgICAgKm5ld0JvdHRvbSA9
IG9sZEJvdHRvbTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGEx
ZDUxNGYuLmViNWUxMjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysg
Yi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTE2OCw2ICsxNjgsMTIgQEAgcHVibGljOgog
CiAgICAgdm9pZCBzZXRJc1Zpc3VhbGx5Tm9uRW1wdHkoKSB7IG1faXNWaXN1YWxseU5vbkVtcHR5
ID0gdHJ1ZTsgfQogCisgICAgdm9pZCBmb3JjZUxheW91dChib29sIGFsbG93U3VidHJlZSA9IGZh
bHNlKTsKKyAgICB2b2lkIGZvcmNlTGF5b3V0V2l0aFBhZ2VXaWR0aFJhbmdlKGZsb2F0IG1pblBh
Z2VXaWR0aCwgZmxvYXQgbWF4UGFnZVdpZHRoLCBib29sIGFkanVzdFZpZXdTaXplKTsKKworICAg
IHZvaWQgYWRqdXN0UGFnZUhlaWdodChmbG9hdCogbmV3Qm90dG9tLCBmbG9hdCBvbGRUb3AsIGZs
b2F0IG9sZEJvdHRvbSwgZmxvYXQgYm90dG9tTGltaXQpOworCisKIHByaXZhdGU6CiAgICAgdm9p
ZCByZXNldCgpOwogICAgIHZvaWQgaW5pdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1By
aW50Q29udGV4dC5jcHAgYi9XZWJDb3JlL3BhZ2UvUHJpbnRDb250ZXh0LmNwcAppbmRleCA3OTY3
MmEzLi5iODNkNzE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUHJpbnRDb250ZXh0LmNwcAor
KysgYi9XZWJDb3JlL3BhZ2UvUHJpbnRDb250ZXh0LmNwcApAQCAtODUsNyArODUsNyBAQCB2b2lk
IFByaW50Q29udGV4dDo6Y29tcHV0ZVBhZ2VSZWN0cyhjb25zdCBGbG9hdFJlY3QmIHByaW50UmVj
dCwgZmxvYXQgaGVhZGVySGVpZwogICAgIGZsb2F0IHByaW50ZWRQYWdlc0hlaWdodCA9IDAuMDsK
ICAgICBkbyB7CiAgICAgICAgIGZsb2F0IHByb3Bvc2VkQm90dG9tID0gc3RkOjptaW4oZG9jSGVp
Z2h0LCBwcmludGVkUGFnZXNIZWlnaHQgKyBwYWdlSGVpZ2h0KTsKLSAgICAgICAgbV9mcmFtZS0+
YWRqdXN0UGFnZUhlaWdodCgmcHJvcG9zZWRCb3R0b20sIHByaW50ZWRQYWdlc0hlaWdodCwgcHJv
cG9zZWRCb3R0b20sIHByaW50ZWRQYWdlc0hlaWdodCk7CisgICAgICAgIG1fZnJhbWUtPnZpZXco
KS0+YWRqdXN0UGFnZUhlaWdodCgmcHJvcG9zZWRCb3R0b20sIHByaW50ZWRQYWdlc0hlaWdodCwg
cHJvcG9zZWRCb3R0b20sIHByaW50ZWRQYWdlc0hlaWdodCk7CiAgICAgICAgIGN1cnJQYWdlSGVp
Z2h0ID0gbWF4KDEuMGYsIHByb3Bvc2VkQm90dG9tIC0gcHJpbnRlZFBhZ2VzSGVpZ2h0KTsKIAog
ICAgICAgICBtX3BhZ2VSZWN0cy5hcHBlbmQoSW50UmVjdCgwLCAoaW50KXByaW50ZWRQYWdlc0hl
aWdodCwgKGludCljdXJyUGFnZVdpZHRoLCAoaW50KWN1cnJQYWdlSGVpZ2h0KSk7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcCBi
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCmluZGV4
IDFiNDEwYzcuLmY0ZDFmMTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCkBAIC01MjQsNyArNTI0LDkgQEAgdm9pZCBGcmFtZUxv
YWRlckNsaWVudDo6bWFrZVJlcHJlc2VudGF0aW9uKERvY3VtZW50TG9hZGVyKikKIAogdm9pZCBG
cmFtZUxvYWRlckNsaWVudDo6Zm9yY2VMYXlvdXQoKQogewotICAgIGNvcmUobV9mcmFtZSktPmZv
cmNlTGF5b3V0KHRydWUpOworICAgIEZyYW1lVmlldyogdmlldyA9IGNvcmUobV9mcmFtZSktPnZp
ZXcoKTsKKyAgICBpZiAodmlldykKKyAgICAgICAgdmlldy0+Zm9yY2VMYXlvdXQodHJ1ZSk7CiB9
CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnQ6OmZvcmNlTGF5b3V0Rm9yTm9uSFRNTCgpCmRpZmYg
LS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IDM1OGFjZTkuLmNlODIwZjggMTAwNjQ0Ci0t
LSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC01MzUsNyArNTM1LDcgQEAgc3RhdGljIHZvaWQg
d2Via2l0X3dlYl92aWV3X3NpemVfYWxsb2NhdGUoR3RrV2lkZ2V0KiB3aWRnZXQsIEd0a0FsbG9j
YXRpb24qIGFsbG8KICAgICAgICAgcmV0dXJuOwogCiAgICAgZnJhbWUtPnZpZXcoKS0+cmVzaXpl
KGFsbG9jYXRpb24tPndpZHRoLCBhbGxvY2F0aW9uLT5oZWlnaHQpOwotICAgIGZyYW1lLT5mb3Jj
ZUxheW91dCgpOworICAgIGZyYW1lLT52aWV3KCktPmZvcmNlTGF5b3V0KCk7CiAgICAgZnJhbWUt
PnZpZXcoKS0+YWRqdXN0Vmlld1NpemUoKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYkZyYW1lLm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCmluZGV4
IDZjNTY4YTQuLjg3OWE5Y2MgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFt
ZS5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KQEAgLTYxNiw3ICs2MTYs
NyBAQCBzdGF0aWMgaW5saW5lIFdlYkRhdGFTb3VyY2UgKmRhdGFTb3VyY2UoRG9jdW1lbnRMb2Fk
ZXIqIGxvYWRlcikKICAgICAvLyBXZSBuZWVkIHRvIGdpdmUgdGhlIHBhcnQgdGhlIG9wcG9ydHVu
aXR5IHRvIGFkanVzdCB0aGUgcGFnZSBoZWlnaHQgYXQgZWFjaCBzdGVwLgogICAgIGZvciAoZmxv
YXQgaSA9IDA7IGkgPCBkb2NIZWlnaHQ7IGkgKz0gY3VyclBhZ2VIZWlnaHQpIHsKICAgICAgICAg
ZmxvYXQgcHJvcG9zZWRCb3R0b20gPSBtaW4oZG9jSGVpZ2h0LCBpICsgcHJpbnRIZWlnaHQpOwot
ICAgICAgICBfcHJpdmF0ZS0+Y29yZUZyYW1lLT5hZGp1c3RQYWdlSGVpZ2h0KCZwcm9wb3NlZEJv
dHRvbSwgaSwgcHJvcG9zZWRCb3R0b20sIGkpOworICAgICAgICB2aWV3LT5hZGp1c3RQYWdlSGVp
Z2h0KCZwcm9wb3NlZEJvdHRvbSwgaSwgcHJvcG9zZWRCb3R0b20sIGkpOwogICAgICAgICBjdXJy
UGFnZUhlaWdodCA9IG1heCgxLjBmLCBwcm9wb3NlZEJvdHRvbSAtIGkpOwogICAgICAgICBmb3Ig
KGZsb2F0IGogPSAwOyBqIDwgZG9jV2lkdGg7IGogKz0gcHJpbnRXaWR0aCkgewogICAgICAgICAg
ICAgTlNWYWx1ZSogdmFsID0gW05TVmFsdWUgdmFsdWVXaXRoUmVjdDogTlNNYWtlUmVjdChqLCBp
LCBwcmludFdpZHRoLCBjdXJyUGFnZUhlaWdodCldOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1t
CmluZGV4IDNjZWI0OWUuLjY2ZmI0ZTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJIVE1MVmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KQEAg
LTI4MTIsOSArMjgxMiw5IEBAIHN0YXRpYyB2b2lkIF91cGRhdGVGb2N1c2VkQW5kQWN0aXZlU3Rh
dGVUaW1lckNhbGxiYWNrKENGUnVuTG9vcFRpbWVyUmVmIHRpbWVyLCB2CiAgICAgfQogCiAgICAg
aWYgKG1pblBhZ2VXaWR0aCA+IDAuMCkKLSAgICAgICAgY29yZUZyYW1lLT5mb3JjZUxheW91dFdp
dGhQYWdlV2lkdGhSYW5nZShtaW5QYWdlV2lkdGgsIG1heFBhZ2VXaWR0aCwgYWRqdXN0Vmlld1Np
emUpOworICAgICAgICBjb3JlRnJhbWUtPnZpZXcoKS0+Zm9yY2VMYXlvdXRXaXRoUGFnZVdpZHRo
UmFuZ2UobWluUGFnZVdpZHRoLCBtYXhQYWdlV2lkdGgsIGFkanVzdFZpZXdTaXplKTsKICAgICBl
bHNlIHsKLSAgICAgICAgY29yZUZyYW1lLT5mb3JjZUxheW91dCghYWRqdXN0Vmlld1NpemUpOwor
ICAgICAgICBjb3JlRnJhbWUtPnZpZXcoKS0+Zm9yY2VMYXlvdXQoIWFkanVzdFZpZXdTaXplKTsK
ICAgICAgICAgaWYgKGFkanVzdFZpZXdTaXplKQogICAgICAgICAgICAgY29yZUZyYW1lLT52aWV3
KCktPmFkanVzdFZpZXdTaXplKCk7CiAgICAgfQpAQCAtMzQ0Myw3ICszNDQzLDggQEAgbm9Qcm9t
aXNlZERhdGE6CiAgICAgICAgIFtzZWxmIF9zZXRQcmludGluZzpZRVMgbWluaW11bVBhZ2VXaWR0
aDowLjBmIG1heGltdW1QYWdlV2lkdGg6MC4wZiBhZGp1c3RWaWV3U2l6ZTpOT107CiAKICAgICBm
bG9hdCBuZXdCb3R0b21GbG9hdCA9ICpuZXdCb3R0b207Ci0gICAgY29yZShbc2VsZiBfZnJhbWVd
KS0+YWRqdXN0UGFnZUhlaWdodCgmbmV3Qm90dG9tRmxvYXQsIG9sZFRvcCwgb2xkQm90dG9tLCBi
b3R0b21MaW1pdCk7CisgICAgaWYgKEZyYW1lVmlldyogdmlldyA9IGNvcmUoW3NlbGYgX2ZyYW1l
XSktPnZpZXcoKSkKKyAgICAgICAgdmlldy0+YWRqdXN0UGFnZUhlaWdodCgmbmV3Qm90dG9tRmxv
YXQsIG9sZFRvcCwgb2xkQm90dG9tLCBib3R0b21MaW1pdCk7CiAKICNpZmRlZiBfX0xQNjRfXwog
ICAgIC8vIElmIHRoZSBuZXcgYm90dG9tIGlzIGVxdWFsIHRvIHRoZSBvbGQgYm90dG9tICh3aGVu
IGJvdGggYXJlIHRyZWF0ZWQgYXMgZmxvYXRzKSwgd2UganVzdCBjb3B5CmRpZmYgLS1naXQgYS9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmlu
ZGV4IDc0ODIzODEuLjUyZDliNjYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
Y3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0xNTQ2LDcgKzE1NDYsNyBA
QCB2b2lkIFFXZWJQYWdlOjpzZXRWaWV3cG9ydFNpemUoY29uc3QgUVNpemUgJnNpemUpIGNvbnN0
CiAgICAgaWYgKGZyYW1lLT5kLT5mcmFtZSAmJiBmcmFtZS0+ZC0+ZnJhbWUtPnZpZXcoKSkgewog
ICAgICAgICBXZWJDb3JlOjpGcmFtZVZpZXcqIHZpZXcgPSBmcmFtZS0+ZC0+ZnJhbWUtPnZpZXco
KTsKICAgICAgICAgdmlldy0+c2V0RnJhbWVSZWN0KFFSZWN0KFFQb2ludCgwLCAwKSwgc2l6ZSkp
OwotICAgICAgICBmcmFtZS0+ZC0+ZnJhbWUtPmZvcmNlTGF5b3V0KCk7CisgICAgICAgIHZpZXct
PmZvcmNlTGF5b3V0KCk7CiAgICAgICAgIHZpZXctPmFkanVzdFZpZXdTaXplKCk7CiAgICAgfQog
fQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3Bw
CmluZGV4IDQwZjYzNTcuLmRiYjM3N2UgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKQEAgLTIzMSw3ICsyMzEsOSBAQCB2b2lkIEZyYW1l
TG9hZGVyQ2xpZW50UXQ6Om1ha2VSZXByZXNlbnRhdGlvbihEb2N1bWVudExvYWRlciopCiAKIHZv
aWQgRnJhbWVMb2FkZXJDbGllbnRRdDo6Zm9yY2VMYXlvdXQoKQogewotICAgIG1fZnJhbWUtPmZv
cmNlTGF5b3V0KHRydWUpOworICAgIEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKTsK
KyAgICBpZiAodmlldykKKyAgICAgICAgdmlldy0+Zm9yY2VMYXlvdXQodHJ1ZSk7CiB9CiAKIApk
aWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5jcHAgYi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cAppbmRleCAyZGY0ZWE3Li43ZmU4OWUxIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtOTEsNyArOTEsOSBAQCBib29sIFdl
YkZyYW1lTG9hZGVyQ2xpZW50OjpoYXNXZWJWaWV3KCkgY29uc3QKIAogdm9pZCBXZWJGcmFtZUxv
YWRlckNsaWVudDo6Zm9yY2VMYXlvdXQoKQogewotICAgIGNvcmUobV93ZWJGcmFtZSktPmZvcmNl
TGF5b3V0KHRydWUpOworICAgIEZyYW1lVmlldyogdmlldyA9IGNvcmUobV93ZWJGcmFtZSktPnZp
ZXcoKTsKKyAgICBpZiAodmlldykKKyAgICAgICAgdmlldy0+Zm9yY2VMYXlvdXQodHJ1ZSk7CiB9
CiAKIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxS
ZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQotLSAKMS42LjAuMgoK
</data>
<flag name="review"
          id="12840"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>