<?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>80196</bug_id>
          
          <creation_ts>2012-03-02 15:11:04 -0800</creation_ts>
          <short_desc>Replace uses of x(), y() and width(), height() pairs with locationOffset and size()</short_desc>
          <delta_ts>2012-03-05 14:59:16 -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>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="Emil A Eklund">eae</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>leviw</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>569977</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-02 15:11:04 -0800</bug_when>
    <thetext>We still have a handful of places in the code where we use x, y and width, height pairs instead of Points and Sizes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570005</commentid>
    <comment_count>1</comment_count>
      <attachid>129970</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-02 15:47:37 -0800</bug_when>
    <thetext>Created attachment 129970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570830</commentid>
    <comment_count>2</comment_count>
      <attachid>129970</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-05 10:42:18 -0800</bug_when>
    <thetext>Comment on attachment 129970
Patch

Nit: In HTMLCanvasElement, this line could welcome the same change: FloatRect r = mapRect(rect, FloatRect(0, 0, size().width(), size().height()), destRect);

Also there are other places where we could use the same pattern (like IntRect(0, 0, someComputedHeight, someComputedWidth) in the rendering code) so it seems as if the title is misleading IMHO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570832</commentid>
    <comment_count>3</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-05 10:44:39 -0800</bug_when>
    <thetext>Thanks! I&apos;ll make the suggested changes to HTMLCanvasElement and have renamed the bug to make it clear what I am changing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570837</commentid>
    <comment_count>4</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-03-05 10:52:20 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Thanks! I&apos;ll make the suggested changes to HTMLCanvasElement and have renamed the bug to make it clear what I am changing.

It makes it a little bit clearer but what I had in mind was not to use &apos;remaining&apos; as there are some remaining use after your change (look at RenderScrollbar.cpp for example).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570844</commentid>
    <comment_count>5</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-05 10:58:11 -0800</bug_when>
    <thetext>Good point. Grep failed to find some of the computed value ones. I&apos;ll take care of the ones in RenderScrollbar and have updated the summary as suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570921</commentid>
    <comment_count>6</comment_count>
      <attachid>130174</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-05 12:03:44 -0800</bug_when>
    <thetext>Created attachment 130174
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571007</commentid>
    <comment_count>7</comment_count>
      <attachid>130174</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-05 13:45:11 -0800</bug_when>
    <thetext>Comment on attachment 130174
Patch for landing

These changes are so fantastic.  Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571073</commentid>
    <comment_count>8</comment_count>
      <attachid>130174</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-05 14:59:11 -0800</bug_when>
    <thetext>Comment on attachment 130174
Patch for landing

Clearing flags on attachment: 130174

Committed r109805: &lt;http://trac.webkit.org/changeset/109805&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571074</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-05 14:59:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129970</attachid>
            <date>2012-03-02 15:47:37 -0800</date>
            <delta_ts>2012-03-05 12:03:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80196-20120302154736.patch</filename>
            <type>text/plain</type>
            <size>11714</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwOTYyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDEyLTAzLTAyICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBsYWNlIHJlbWFpbmluZyB1
c2VzIG9mIHgsIHkgYW5kIHdpZHRoLCBoZWlnaHQgcGFpcnMgd2l0aCBQb2ludCBhbmQgU2l6ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxOTYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXBsYWNlIElu
dFNpemUoeCgpLCB5KCkpIHdpdGggbG9jYXRpb25PZmZzZXQoKQorICAgICAgICBSZXBsYWNlIElu
dFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpIHdpdGggc2l6ZSgpCisgICAgICAgIFJlcGxhY2UgSW50
UmVjdCgwLCAwLCB3aWR0aCgpLCBoZWlnaHQoKSkgd2l0aCBJbnRSZWN0KEludFBvaW50KCksIHNp
emUoKSkKKyAgICAgICAgUmVwbGFjZSBJbnRSZWN0Ojptb3ZlKHgoKSwgeSgpKSB3aXRoIEludFJl
Y3Q6Om1vdmUobG9jYXRpb25PZmZzZXQoKSkKKworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAg
ICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxDYW52YXNFbGVtZW50OjpjcmVhdGVJbWFnZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MQ2FudmFzRWxlbWVudDo6YmFzZVRyYW5zZm9ybSk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpzaW1wbGlmaWVk
TGF5b3V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJveDo6bWFwTG9jYWxUb0NvbnRhaW5lcik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNvbXB1dGVSZWN0Rm9yUmVwYWludCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpib3JkZXJCb3hSZWN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6bGF5b3V0Qmxv
Y2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0QmxvY2spOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxp
c3RNYXJrZXI6OmxvY2FsU2VsZWN0aW9uUmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clJlcGxhY2VkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpsb2NhbFNl
bGVjdGlvblJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpzZXRDZWxsTG9naWNhbFdp
ZHRocyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3Mp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclZpZXc6OnZpZXdSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6bGF5b3V0KToKKwog
MjAxMi0wMy0wMiAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWly
YUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBOYW1lZE5vZGVNYXA6OnNldE5h
bWVkSXRlbSgpIGluIHRlcm1zIG9mIEVsZW1lbnQ6OnNldEF0dHJpYnV0ZU5vZGUoKSBpbnN0ZWFk
IG9mIHRoZSBvdGhlciB3YXkgcm91bmQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENh
bnZhc0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENh
bnZhc0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxMDk0NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxDYW52YXNFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDkwLDcgKzQ5MCw3IEBA
IHZvaWQgSFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUltYWdlQnVmZmUKIAogICAgIG1faGFzQ3Jl
YXRlZEltYWdlQnVmZmVyID0gdHJ1ZTsKIAotICAgIEZsb2F0U2l6ZSBsb2dpY2FsU2l6ZSh3aWR0
aCgpLCBoZWlnaHQoKSk7CisgICAgRmxvYXRTaXplIGxvZ2ljYWxTaXplID0gc2l6ZSgpOwogICAg
IEZsb2F0U2l6ZSBkZXZpY2VTaXplID0gY29udmVydExvZ2ljYWxUb0RldmljZShsb2dpY2FsU2l6
ZSk7CiAgICAgaWYgKCFkZXZpY2VTaXplLmlzRXhwcmVzc2libGVBc0ludFNpemUoKSkKICAgICAg
ICAgcmV0dXJuOwpAQCAtNTcyLDcgKzU3Miw3IEBAIHZvaWQgSFRNTENhbnZhc0VsZW1lbnQ6OmNs
ZWFyQ29waWVkSW1hZ2UKIEFmZmluZVRyYW5zZm9ybSBIVE1MQ2FudmFzRWxlbWVudDo6YmFzZVRy
YW5zZm9ybSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1faGFzQ3JlYXRlZEltYWdlQnVmZmVyKTsK
LSAgICBGbG9hdFNpemUgdW5zY2FsZWRTaXplKHdpZHRoKCksIGhlaWdodCgpKTsKKyAgICBGbG9h
dFNpemUgdW5zY2FsZWRTaXplID0gc2l6ZSgpOwogICAgIEZsb2F0U2l6ZSBkZXZpY2VTaXplID0g
Y29udmVydExvZ2ljYWxUb0RldmljZSh1bnNjYWxlZFNpemUpOwogICAgIEludFNpemUgc2l6ZShk
ZXZpY2VTaXplLndpZHRoKCksIGRldmljZVNpemUuaGVpZ2h0KCkpOwogICAgIEFmZmluZVRyYW5z
Zm9ybSB0cmFuc2Zvcm07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAJKHJldmlzaW9uIDEwOTQ1NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzNzcsNyArMjM3Nyw3IEBAIGJvb2wgUmVu
ZGVyQmxvY2s6OnNpbXBsaWZpZWRMYXlvdXQoKQogICAgIGlmICgoIXBvc0NoaWxkTmVlZHNMYXlv
dXQoKSAmJiAhbmVlZHNTaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgpKSB8fCBub3JtYWxDaGls
ZE5lZWRzTGF5b3V0KCkgfHwgc2VsZk5lZWRzTGF5b3V0KCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hlcih2aWV3KCksIHRoaXMs
IEludFNpemUoeCgpLCB5KCkpLCBoYXNDb2x1bW5zKCkgfHwgaGFzVHJhbnNmb3JtKCkgfHwgaGFz
UmVmbGVjdGlvbigpIHx8IHN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpOwor
ICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hlcih2aWV3KCksIHRoaXMsIGxvY2F0
aW9uT2Zmc2V0KCksIGhhc0NvbHVtbnMoKSB8fCBoYXNUcmFuc2Zvcm0oKSB8fCBoYXNSZWZsZWN0
aW9uKCkgfHwgc3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSk7CiAgICAgCiAg
ICAgaWYgKG5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0KCkgJiYgIXRyeUxheW91dERvaW5n
UG9zaXRpb25lZE1vdmVtZW50T25seSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkocmV2aXNpb24gMTA5NDU2KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEzNTQsOCArMTM1NCw3IEBAIHZvaWQgUmVuZGVyQm94OjptYXBMb2NhbFRvQ29udGFpbmVyKFJl
bmQKICAgICBpZiAoUmVuZGVyVmlldyogdiA9IHZpZXcoKSkgewogICAgICAgICBpZiAodi0+bGF5
b3V0U3RhdGVFbmFibGVkKCkgJiYgIXJlcGFpbnRDb250YWluZXIpIHsKICAgICAgICAgICAgIExh
eW91dFN0YXRlKiBsYXlvdXRTdGF0ZSA9IHYtPmxheW91dFN0YXRlKCk7Ci0gICAgICAgICAgICBM
YXlvdXRTaXplIG9mZnNldCA9IGxheW91dFN0YXRlLT5tX3BhaW50T2Zmc2V0OwotICAgICAgICAg
ICAgb2Zmc2V0LmV4cGFuZCh4KCksIHkoKSk7CisgICAgICAgICAgICBMYXlvdXRTaXplIG9mZnNl
dCA9IGxheW91dFN0YXRlLT5tX3BhaW50T2Zmc2V0ICsgbG9jYXRpb25PZmZzZXQoKTsKICAgICAg
ICAgICAgIGlmIChzdHlsZSgpLT5wb3NpdGlvbigpID09IFJlbGF0aXZlUG9zaXRpb24gJiYgbGF5
ZXIoKSkKICAgICAgICAgICAgICAgICBvZmZzZXQgKz0gbGF5ZXIoKS0+cmVsYXRpdmVQb3NpdGlv
bk9mZnNldCgpOwogICAgICAgICAgICAgdHJhbnNmb3JtU3RhdGUubW92ZShvZmZzZXQpOwpAQCAt
MTYwNSw3ICsxNjA0LDcgQEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVSZWN0Rm9yUmVwYWludChS
ZQogI2VuZGlmCiAKICAgICBMYXlvdXRQb2ludCB0b3BMZWZ0ID0gcmVjdC5sb2NhdGlvbigpOwot
ICAgIHRvcExlZnQubW92ZSh4KCksIHkoKSk7CisgICAgdG9wTGVmdC5tb3ZlKGxvY2F0aW9uT2Zm
c2V0KCkpOwogCiAgICAgRVBvc2l0aW9uIHBvc2l0aW9uID0gc3R5bGVUb1VzZS0+cG9zaXRpb24o
KTsKIApAQCAtMTYxNSw3ICsxNjE0LDcgQEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVSZWN0Rm9y
UmVwYWludChSZQogICAgICAgICBmaXhlZCA9IHBvc2l0aW9uID09IEZpeGVkUG9zaXRpb247CiAg
ICAgICAgIHJlY3QgPSBsYXllcigpLT50cmFuc2Zvcm0oKS0+bWFwUmVjdChyZWN0KTsKICAgICAg
ICAgdG9wTGVmdCA9IHJlY3QubG9jYXRpb24oKTsKLSAgICAgICAgdG9wTGVmdC5tb3ZlKHgoKSwg
eSgpKTsKKyAgICAgICAgdG9wTGVmdC5tb3ZlKGxvY2F0aW9uT2Zmc2V0KCkpOwogICAgIH0gZWxz
ZSBpZiAocG9zaXRpb24gPT0gRml4ZWRQb3NpdGlvbikKICAgICAgICAgZml4ZWQgPSB0cnVlOwog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiAxMDk0NTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtpbmcgY29weSkK
QEAgLTEyNyw3ICsxMjcsNyBAQCBwdWJsaWM6CiAgICAgTGF5b3V0UmVjdCBmcmFtZVJlY3QoKSBj
b25zdCB7IHJldHVybiBtX2ZyYW1lUmVjdDsgfQogICAgIHZvaWQgc2V0RnJhbWVSZWN0KGNvbnN0
IExheW91dFJlY3QmIHJlY3QpIHsgbV9mcmFtZVJlY3QgPSByZWN0OyB9CiAKLSAgICBMYXlvdXRS
ZWN0IGJvcmRlckJveFJlY3QoKSBjb25zdCB7IHJldHVybiBMYXlvdXRSZWN0KDAsIDAsIHdpZHRo
KCksIGhlaWdodCgpKTsgfQorICAgIExheW91dFJlY3QgYm9yZGVyQm94UmVjdCgpIGNvbnN0IHsg
cmV0dXJuIExheW91dFJlY3QoTGF5b3V0UG9pbnQoKSwgc2l6ZSgpKTsgfQogICAgIHZpcnR1YWwg
TGF5b3V0UmVjdCBib3JkZXJCb3VuZGluZ0JveCgpIGNvbnN0IHsgcmV0dXJuIGJvcmRlckJveFJl
Y3QoKTsgfSAKIAogICAgIC8vIFRoZSBjb250ZW50IGFyZWEgb2YgdGhlIGJveCAoZXhjbHVkZXMg
cGFkZGluZyBhbmQgYm9yZGVyKS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwCShyZXZpc2lvbiAxMDk0
NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxl
Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI2LDcgKzIyNiw3IEBAIHZvaWQgUmVuZGVyRGVw
cmVjYXRlZEZsZXhpYmxlQm94OjpsYXlvdXQKICAgICAgICAgcmV0dXJuOwogCiAgICAgTGF5b3V0
UmVwYWludGVyIHJlcGFpbnRlcigqdGhpcywgY2hlY2tGb3JSZXBhaW50RHVyaW5nTGF5b3V0KCkp
OwotICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hlcih2aWV3KCksIHRoaXMsIExh
eW91dFNpemUoeCgpLCB5KCkpLCBoYXNUcmFuc2Zvcm0oKSB8fCBoYXNSZWZsZWN0aW9uKCkgfHwg
c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSk7CisgICAgTGF5b3V0U3RhdGVN
YWludGFpbmVyIHN0YXRlUHVzaGVyKHZpZXcoKSwgdGhpcywgbG9jYXRpb25PZmZzZXQoKSwgaGFz
VHJhbnNmb3JtKCkgfHwgaGFzUmVmbGVjdGlvbigpIHx8IHN0eWxlKCktPmlzRmxpcHBlZEJsb2Nr
c1dyaXRpbmdNb2RlKCkpOwogCiAgICAgaWYgKGluUmVuZGVyRmxvd1RocmVhZCgpKSB7CiAgICAg
ICAgIC8vIFJlZ2lvbnMgY2hhbmdpbmcgd2lkdGhzIGNhbiBmb3JjZSB1cyB0byByZWxheW91dCBv
dXIgY2hpbGRyZW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGli
bGVCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bGV4aWJsZUJveC5jcHAJKHJldmlzaW9uIDEwOTQ1NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMCw3ICsyMDAs
NyBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRCbG9jayhib29sCiAgICAgICAgIHJl
dHVybjsKIAogICAgIExheW91dFJlcGFpbnRlciByZXBhaW50ZXIoKnRoaXMsIGNoZWNrRm9yUmVw
YWludER1cmluZ0xheW91dCgpKTsKLSAgICBMYXlvdXRTdGF0ZU1haW50YWluZXIgc3RhdGVQdXNo
ZXIodmlldygpLCB0aGlzLCBJbnRTaXplKHgoKSwgeSgpKSwgaGFzVHJhbnNmb3JtKCkgfHwgaGFz
UmVmbGVjdGlvbigpIHx8IHN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpOwor
ICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hlcih2aWV3KCksIHRoaXMsIGxvY2F0
aW9uT2Zmc2V0KCksIGhhc1RyYW5zZm9ybSgpIHx8IGhhc1JlZmxlY3Rpb24oKSB8fCBzdHlsZSgp
LT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKTsKIAogICAgIGlmIChpblJlbmRlckZsb3dU
aHJlYWQoKSkgewogICAgICAgICAvLyBSZWdpb25zIGNoYW5naW5nIHdpZHRocyBjYW4gZm9yY2Ug
dXMgdG8gcmVsYXlvdXQgb3VyIGNoaWxkcmVuLgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAkocmV2aXNpb24gMTA5NDU2KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDk0LDcgKzEwOTQsNyBAQCBJbnRSZWN0IFJlbmRlckxpc3RNYXJrZXI6OmxvY2FsU2VsZWN0
aW9uCiB7CiAgICAgSW5saW5lQm94KiBib3ggPSBpbmxpbmVCb3hXcmFwcGVyKCk7CiAgICAgaWYg
KCFib3gpCi0gICAgICAgIHJldHVybiBJbnRSZWN0KDAsIDAsIHdpZHRoKCksIGhlaWdodCgpKTsK
KyAgICAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQoKSwgc2l6ZSgpKTsKICAgICBSb290SW5s
aW5lQm94KiByb290ID0gbV9pbmxpbmVCb3hXcmFwcGVyLT5yb290KCk7CiAgICAgaW50IG5ld0xv
Z2ljYWxUb3AgPSByb290LT5ibG9jaygpLT5zdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5n
TW9kZSgpID8gbV9pbmxpbmVCb3hXcmFwcGVyLT5sb2dpY2FsQm90dG9tKCkgLSByb290LT5zZWxl
Y3Rpb25Cb3R0b20oKSA6IHJvb3QtPnNlbGVjdGlvblRvcCgpIC0gbV9pbmxpbmVCb3hXcmFwcGVy
LT5sb2dpY2FsVG9wKCk7CiAgICAgaWYgKHJvb3QtPmJsb2NrKCktPnN0eWxlKCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UmVwbGFjZWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJSZXBsYWNlZC5jcHAJKHJldmlzaW9uIDEwOTQ1NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSZXBsYWNlZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5NSw3ICs0OTUsNyBA
QCBJbnRSZWN0IFJlbmRlclJlcGxhY2VkOjpsb2NhbFNlbGVjdGlvblJlCiAKICAgICBpZiAoIW1f
aW5saW5lQm94V3JhcHBlcikKICAgICAgICAgLy8gV2UncmUgYSBibG9jay1sZXZlbCByZXBsYWNl
ZCBlbGVtZW50LiAgSnVzdCByZXR1cm4gb3VyIG93biBkaW1lbnNpb25zLgotICAgICAgICByZXR1
cm4gSW50UmVjdCgwLCAwLCB3aWR0aCgpLCBoZWlnaHQoKSk7CisgICAgICAgIHJldHVybiBJbnRS
ZWN0KEludFBvaW50KCksIHNpemUoKSk7CiAgICAgCiAgICAgUm9vdElubGluZUJveCogcm9vdCA9
IG1faW5saW5lQm94V3JhcHBlci0+cm9vdCgpOwogICAgIGludCBuZXdMb2dpY2FsVG9wID0gcm9v
dC0+YmxvY2soKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSA/IG1faW5s
aW5lQm94V3JhcHBlci0+bG9naWNhbEJvdHRvbSgpIC0gcm9vdC0+c2VsZWN0aW9uQm90dG9tKCkg
OiByb290LT5zZWxlY3Rpb25Ub3AoKSAtIG1faW5saW5lQm94V3JhcHBlci0+bG9naWNhbFRvcCgp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlv
bi5jcHAJKHJldmlzaW9uIDEwOTQ1NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVNlY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDQsNyArMzA0LDcgQEAgdm9p
ZCBSZW5kZXJUYWJsZVNlY3Rpb246OnNldENlbGxMb2dpY2FsVwogICAgICAgICAgICAgICAgICAg
ICBpZiAoIXN0YXRlUHVzaGVyLmRpZFB1c2goKSkgewogICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gVGVjaG5pY2FsbHksIHdlIHNob3VsZCBhbHNvIHB1c2ggc3RhdGUgZm9yIHRoZSByb3csIGJ1
dCBzaW5jZQogICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm93cyBkb24ndCBwdXNoIGEgY29v
cmRpbmF0ZSB0cmFuc2Zvcm0sIHRoYXQncyBub3QgbmVjZXNzYXJ5LgotICAgICAgICAgICAgICAg
ICAgICAgICAgc3RhdGVQdXNoZXIucHVzaCh0aGlzLCBMYXlvdXRTaXplKHgoKSwgeSgpKSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZVB1c2hlci5wdXNoKHRoaXMsIGxvY2F0aW9uT2Zm
c2V0KCkpOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGNlbGwt
PnJlcGFpbnQoKTsKICAgICAgICAgICAgICAgICB9CkBAIC01MDIsNyArNTAyLDcgQEAgaW50IFJl
bmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cyhpbnQgdAogICAgIGludCB2c3BhY2luZyA9IHRh
YmxlKCktPnZCb3JkZXJTcGFjaW5nKCk7CiAgICAgdW5zaWduZWQgbkVmZkNvbHMgPSB0YWJsZSgp
LT5udW1FZmZDb2xzKCk7CiAKLSAgICBMYXlvdXRTdGF0ZU1haW50YWluZXIgc3RhdGVQdXNoZXIo
dmlldygpLCB0aGlzLCBMYXlvdXRTaXplKHgoKSwgeSgpKSwgc3R5bGUoKS0+aXNGbGlwcGVkQmxv
Y2tzV3JpdGluZ01vZGUoKSk7CisgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHN0YXRlUHVzaGVy
KHZpZXcoKSwgdGhpcywgbG9jYXRpb25PZmZzZXQoKSwgc3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tz
V3JpdGluZ01vZGUoKSk7CiAKICAgICBmb3IgKHVuc2lnbmVkIHIgPSAwOyByIDwgdG90YWxSb3dz
OyByKyspIHsKICAgICAgICAgLy8gU2V0IHRoZSByb3cncyB4L3kgcG9zaXRpb24gYW5kIHdpZHRo
L2hlaWdodC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJKHJl
dmlzaW9uIDEwOTQ1NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzAzLDcgKzcwMyw3IEBAIHZvaWQgUmVuZGVyVmlldzo6bm90
aWZ5V2lkZ2V0cyhXaWRnZXROb3QKIEludFJlY3QgUmVuZGVyVmlldzo6dmlld1JlY3QoKSBjb25z
dAogewogICAgIGlmIChwcmludGluZygpKQotICAgICAgICByZXR1cm4gSW50UmVjdCgwLCAwLCB3
aWR0aCgpLCBoZWlnaHQoKSk7CisgICAgICAgIHJldHVybiBJbnRSZWN0KEludFBvaW50KCksIHNp
emUoKSk7CiAgICAgaWYgKG1fZnJhbWVWaWV3KQogICAgICAgICByZXR1cm4gbV9mcmFtZVZpZXct
PnZpc2libGVDb250ZW50UmVjdCgpOwogICAgIHJldHVybiBJbnRSZWN0KCk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAJKHJldmlzaW9u
IDEwOTQ1NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFJlbmRlclNWR1Jvb3Q6
OmxheW91dCgpCiAgICAgYm9vbCBuZWVkc0xheW91dCA9IHNlbGZOZWVkc0xheW91dCgpOwogICAg
IExheW91dFJlcGFpbnRlciByZXBhaW50ZXIoKnRoaXMsIGNoZWNrRm9yUmVwYWludER1cmluZ0xh
eW91dCgpICYmIG5lZWRzTGF5b3V0KTsKIAotICAgIExheW91dFNpemUgb2xkU2l6ZSh3aWR0aCgp
LCBoZWlnaHQoKSk7CisgICAgTGF5b3V0U2l6ZSBvbGRTaXplID0gc2l6ZSgpOwogICAgIGNvbXB1
dGVMb2dpY2FsV2lkdGgoKTsKICAgICBjb21wdXRlTG9naWNhbEhlaWdodCgpOwogICAgIGJ1aWxk
TG9jYWxUb0JvcmRlckJveFRyYW5zZm9ybSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130174</attachid>
            <date>2012-03-05 12:03:44 -0800</date>
            <delta_ts>2012-03-05 14:59:11 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-80196-20120305120342.patch</filename>
            <type>text/plain</type>
            <size>13100</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwOTc3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTAzLTA1ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBsYWNlIHVzZXMgb2YgeCgp
LCB5KCkgYW5kIHdpZHRoKCksIGhlaWdodCgpIHBhaXJzIHdpdGggbG9jYXRpb25PZmZzZXQgYW5k
IHNpemUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODAxOTYKKworICAgICAgICBSZXZpZXdlZCBieSBKdWxpZW4gQ2hhZmZyYWl4LgorCisgICAgICAg
IFJlcGxhY2UgSW50U2l6ZSh4KCksIHkoKSkgd2l0aCBsb2NhdGlvbk9mZnNldCgpCisgICAgICAg
IFJlcGxhY2UgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkgd2l0aCBzaXplKCkKKyAgICAgICAg
UmVwbGFjZSBJbnRSZWN0KDAsIDAsIHdpZHRoKCksIGhlaWdodCgpKSB3aXRoIEludFJlY3QoSW50
UG9pbnQoKSwgc2l6ZSgpKQorICAgICAgICBSZXBsYWNlIEludFJlY3Q6Om1vdmUoeCgpLCB5KCkp
IHdpdGggSW50UmVjdDo6bW92ZShsb2NhdGlvbk9mZnNldCgpKQorCisgICAgICAgIE5vIG5ldyB0
ZXN0cy4KKworICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUltYWdlQnVmZmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpiYXNlVHJhbnNmb3JtKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OnNpbXBsaWZpZWRMYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjptYXBMb2NhbFRvQ29udGFpbmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVJlY3RGb3JSZXBhaW50KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmJv
cmRlckJveFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGli
bGVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94
OjpsYXlvdXRCbG9jayk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRCbG9jayk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGlzdE1hcmtlcjo6bG9jYWxTZWxlY3Rpb25SZWN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVwbGFj
ZWQ6OmxvY2FsU2VsZWN0aW9uUmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9s
bGJhci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXI6OnVwZGF0ZVNjcm9s
bGJhclBhcnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhcjo6YnV0dG9uUmVj
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OnNldENlbGxMb2dpY2FsV2lkdGhzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cyk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmll
dzo6dmlld1JlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290OjpsYXlvdXQpOgorCiAyMDEyLTAzLTA1
ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9t
aXVtXSBJbml0aWFsaXplIENDT3ZlcmRyYXdDb3VudHMgc3RydWN0IHRvIHplcm8KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxMDk3Njcp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDkwLDcgKzQ5MCw3IEBAIHZvaWQgSFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUlt
YWdlQnVmZmUKIAogICAgIG1faGFzQ3JlYXRlZEltYWdlQnVmZmVyID0gdHJ1ZTsKIAotICAgIEZs
b2F0U2l6ZSBsb2dpY2FsU2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSk7CisgICAgRmxvYXRTaXplIGxv
Z2ljYWxTaXplID0gc2l6ZSgpOwogICAgIEZsb2F0U2l6ZSBkZXZpY2VTaXplID0gY29udmVydExv
Z2ljYWxUb0RldmljZShsb2dpY2FsU2l6ZSk7CiAgICAgaWYgKCFkZXZpY2VTaXplLmlzRXhwcmVz
c2libGVBc0ludFNpemUoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNTcyLDcgKzU3Miw3IEBAIHZv
aWQgSFRNTENhbnZhc0VsZW1lbnQ6OmNsZWFyQ29waWVkSW1hZ2UKIEFmZmluZVRyYW5zZm9ybSBI
VE1MQ2FudmFzRWxlbWVudDo6YmFzZVRyYW5zZm9ybSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1f
aGFzQ3JlYXRlZEltYWdlQnVmZmVyKTsKLSAgICBGbG9hdFNpemUgdW5zY2FsZWRTaXplKHdpZHRo
KCksIGhlaWdodCgpKTsKKyAgICBGbG9hdFNpemUgdW5zY2FsZWRTaXplID0gc2l6ZSgpOwogICAg
IEZsb2F0U2l6ZSBkZXZpY2VTaXplID0gY29udmVydExvZ2ljYWxUb0RldmljZSh1bnNjYWxlZFNp
emUpOwogICAgIEludFNpemUgc2l6ZShkZXZpY2VTaXplLndpZHRoKCksIGRldmljZVNpemUuaGVp
Z2h0KCkpOwogICAgIEFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDEwOTc2NykKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0
MzksNyArMjQzOSw3IEBAIGJvb2wgUmVuZGVyQmxvY2s6OnNpbXBsaWZpZWRMYXlvdXQoKQogICAg
IGlmICgoIXBvc0NoaWxkTmVlZHNMYXlvdXQoKSAmJiAhbmVlZHNTaW1wbGlmaWVkTm9ybWFsRmxv
d0xheW91dCgpKSB8fCBub3JtYWxDaGlsZE5lZWRzTGF5b3V0KCkgfHwgc2VsZk5lZWRzTGF5b3V0
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBz
dGF0ZVB1c2hlcih2aWV3KCksIHRoaXMsIEludFNpemUoeCgpLCB5KCkpLCBoYXNDb2x1bW5zKCkg
fHwgaGFzVHJhbnNmb3JtKCkgfHwgaGFzUmVmbGVjdGlvbigpIHx8IHN0eWxlKCktPmlzRmxpcHBl
ZEJsb2Nrc1dyaXRpbmdNb2RlKCkpOworICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1
c2hlcih2aWV3KCksIHRoaXMsIGxvY2F0aW9uT2Zmc2V0KCksIGhhc0NvbHVtbnMoKSB8fCBoYXNU
cmFuc2Zvcm0oKSB8fCBoYXNSZWZsZWN0aW9uKCkgfHwgc3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tz
V3JpdGluZ01vZGUoKSk7CiAgICAgCiAgICAgaWYgKG5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5
b3V0KCkgJiYgIXRyeUxheW91dERvaW5nUG9zaXRpb25lZE1vdmVtZW50T25seSgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAkocmV2aXNpb24gMTA5NzY3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNTksOCArMTM1OSw3IEBAIHZvaWQgUmVuZGVyQm94
OjptYXBMb2NhbFRvQ29udGFpbmVyKFJlbmQKICAgICBpZiAoUmVuZGVyVmlldyogdiA9IHZpZXco
KSkgewogICAgICAgICBpZiAodi0+bGF5b3V0U3RhdGVFbmFibGVkKCkgJiYgIXJlcGFpbnRDb250
YWluZXIpIHsKICAgICAgICAgICAgIExheW91dFN0YXRlKiBsYXlvdXRTdGF0ZSA9IHYtPmxheW91
dFN0YXRlKCk7Ci0gICAgICAgICAgICBMYXlvdXRTaXplIG9mZnNldCA9IGxheW91dFN0YXRlLT5t
X3BhaW50T2Zmc2V0OwotICAgICAgICAgICAgb2Zmc2V0LmV4cGFuZCh4KCksIHkoKSk7CisgICAg
ICAgICAgICBMYXlvdXRTaXplIG9mZnNldCA9IGxheW91dFN0YXRlLT5tX3BhaW50T2Zmc2V0ICsg
bG9jYXRpb25PZmZzZXQoKTsKICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5wb3NpdGlvbigpID09
IFJlbGF0aXZlUG9zaXRpb24gJiYgbGF5ZXIoKSkKICAgICAgICAgICAgICAgICBvZmZzZXQgKz0g
bGF5ZXIoKS0+cmVsYXRpdmVQb3NpdGlvbk9mZnNldCgpOwogICAgICAgICAgICAgdHJhbnNmb3Jt
U3RhdGUubW92ZShvZmZzZXQpOwpAQCAtMTYxMCw3ICsxNjA5LDcgQEAgdm9pZCBSZW5kZXJCb3g6
OmNvbXB1dGVSZWN0Rm9yUmVwYWludChSZQogI2VuZGlmCiAKICAgICBMYXlvdXRQb2ludCB0b3BM
ZWZ0ID0gcmVjdC5sb2NhdGlvbigpOwotICAgIHRvcExlZnQubW92ZSh4KCksIHkoKSk7CisgICAg
dG9wTGVmdC5tb3ZlKGxvY2F0aW9uT2Zmc2V0KCkpOwogCiAgICAgRVBvc2l0aW9uIHBvc2l0aW9u
ID0gc3R5bGVUb1VzZS0+cG9zaXRpb24oKTsKIApAQCAtMTYyMCw3ICsxNjE5LDcgQEAgdm9pZCBS
ZW5kZXJCb3g6OmNvbXB1dGVSZWN0Rm9yUmVwYWludChSZQogICAgICAgICBmaXhlZCA9IHBvc2l0
aW9uID09IEZpeGVkUG9zaXRpb247CiAgICAgICAgIHJlY3QgPSBsYXllcigpLT50cmFuc2Zvcm0o
KS0+bWFwUmVjdChyZWN0KTsKICAgICAgICAgdG9wTGVmdCA9IHJlY3QubG9jYXRpb24oKTsKLSAg
ICAgICAgdG9wTGVmdC5tb3ZlKHgoKSwgeSgpKTsKKyAgICAgICAgdG9wTGVmdC5tb3ZlKGxvY2F0
aW9uT2Zmc2V0KCkpOwogICAgIH0gZWxzZSBpZiAocG9zaXRpb24gPT0gRml4ZWRQb3NpdGlvbikK
ICAgICAgICAgZml4ZWQgPSB0cnVlOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCShyZXZpc2lvbiAxMDk3NjcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNyw3ICsxMjcsNyBAQCBwdWJsaWM6CiAgICAg
TGF5b3V0UmVjdCBmcmFtZVJlY3QoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lUmVjdDsgfQogICAg
IHZvaWQgc2V0RnJhbWVSZWN0KGNvbnN0IExheW91dFJlY3QmIHJlY3QpIHsgbV9mcmFtZVJlY3Qg
PSByZWN0OyB9CiAKLSAgICBMYXlvdXRSZWN0IGJvcmRlckJveFJlY3QoKSBjb25zdCB7IHJldHVy
biBMYXlvdXRSZWN0KDAsIDAsIHdpZHRoKCksIGhlaWdodCgpKTsgfQorICAgIExheW91dFJlY3Qg
Ym9yZGVyQm94UmVjdCgpIGNvbnN0IHsgcmV0dXJuIExheW91dFJlY3QoTGF5b3V0UG9pbnQoKSwg
c2l6ZSgpKTsgfQogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBib3JkZXJCb3VuZGluZ0JveCgpIGNv
bnN0IHsgcmV0dXJuIGJvcmRlckJveFJlY3QoKTsgfSAKIAogICAgIC8vIFRoZSBjb250ZW50IGFy
ZWEgb2YgdGhlIGJveCAoZXhjbHVkZXMgcGFkZGluZyBhbmQgYm9yZGVyKS4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGli
bGVCb3guY3BwCShyZXZpc2lvbiAxMDk3NjcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI2LDcg
KzIyNiw3IEBAIHZvaWQgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94OjpsYXlvdXQKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgTGF5b3V0UmVwYWludGVyIHJlcGFpbnRlcigqdGhpcywgY2hlY2tG
b3JSZXBhaW50RHVyaW5nTGF5b3V0KCkpOwotICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0
ZVB1c2hlcih2aWV3KCksIHRoaXMsIExheW91dFNpemUoeCgpLCB5KCkpLCBoYXNUcmFuc2Zvcm0o
KSB8fCBoYXNSZWZsZWN0aW9uKCkgfHwgc3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01v
ZGUoKSk7CisgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHN0YXRlUHVzaGVyKHZpZXcoKSwgdGhp
cywgbG9jYXRpb25PZmZzZXQoKSwgaGFzVHJhbnNmb3JtKCkgfHwgaGFzUmVmbGVjdGlvbigpIHx8
IHN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpOwogCiAgICAgaWYgKGluUmVu
ZGVyRmxvd1RocmVhZCgpKSB7CiAgICAgICAgIC8vIFJlZ2lvbnMgY2hhbmdpbmcgd2lkdGhzIGNh
biBmb3JjZSB1cyB0byByZWxheW91dCBvdXIgY2hpbGRyZW4uCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAJKHJldmlzaW9uIDEwOTc2NykK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTIwMCw3ICsyMDAsNyBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpsYXlv
dXRCbG9jayhib29sCiAgICAgICAgIHJldHVybjsKIAogICAgIExheW91dFJlcGFpbnRlciByZXBh
aW50ZXIoKnRoaXMsIGNoZWNrRm9yUmVwYWludER1cmluZ0xheW91dCgpKTsKLSAgICBMYXlvdXRT
dGF0ZU1haW50YWluZXIgc3RhdGVQdXNoZXIodmlldygpLCB0aGlzLCBJbnRTaXplKHgoKSwgeSgp
KSwgaGFzVHJhbnNmb3JtKCkgfHwgaGFzUmVmbGVjdGlvbigpIHx8IHN0eWxlKCktPmlzRmxpcHBl
ZEJsb2Nrc1dyaXRpbmdNb2RlKCkpOworICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1
c2hlcih2aWV3KCksIHRoaXMsIGxvY2F0aW9uT2Zmc2V0KCksIGhhc1RyYW5zZm9ybSgpIHx8IGhh
c1JlZmxlY3Rpb24oKSB8fCBzdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKTsK
IAogICAgIGlmIChpblJlbmRlckZsb3dUaHJlYWQoKSkgewogICAgICAgICAvLyBSZWdpb25zIGNo
YW5naW5nIHdpZHRocyBjYW4gZm9yY2UgdXMgdG8gcmVsYXlvdXQgb3VyIGNoaWxkcmVuLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAkocmV2
aXNpb24gMTA5NzY3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJr
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDk0LDcgKzEwOTQsNyBAQCBJbnRSZWN0IFJlbmRl
ckxpc3RNYXJrZXI6OmxvY2FsU2VsZWN0aW9uCiB7CiAgICAgSW5saW5lQm94KiBib3ggPSBpbmxp
bmVCb3hXcmFwcGVyKCk7CiAgICAgaWYgKCFib3gpCi0gICAgICAgIHJldHVybiBJbnRSZWN0KDAs
IDAsIHdpZHRoKCksIGhlaWdodCgpKTsKKyAgICAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQo
KSwgc2l6ZSgpKTsKICAgICBSb290SW5saW5lQm94KiByb290ID0gbV9pbmxpbmVCb3hXcmFwcGVy
LT5yb290KCk7CiAgICAgaW50IG5ld0xvZ2ljYWxUb3AgPSByb290LT5ibG9jaygpLT5zdHlsZSgp
LT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpID8gbV9pbmxpbmVCb3hXcmFwcGVyLT5sb2dp
Y2FsQm90dG9tKCkgLSByb290LT5zZWxlY3Rpb25Cb3R0b20oKSA6IHJvb3QtPnNlbGVjdGlvblRv
cCgpIC0gbV9pbmxpbmVCb3hXcmFwcGVyLT5sb2dpY2FsVG9wKCk7CiAgICAgaWYgKHJvb3QtPmJs
b2NrKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAJKHJldmlzaW9uIDEwOTc2NykK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ5NSw3ICs0OTUsNyBAQCBJbnRSZWN0IFJlbmRlclJlcGxhY2VkOjpsb2NhbFNl
bGVjdGlvblJlCiAKICAgICBpZiAoIW1faW5saW5lQm94V3JhcHBlcikKICAgICAgICAgLy8gV2Un
cmUgYSBibG9jay1sZXZlbCByZXBsYWNlZCBlbGVtZW50LiAgSnVzdCByZXR1cm4gb3VyIG93biBk
aW1lbnNpb25zLgotICAgICAgICByZXR1cm4gSW50UmVjdCgwLCAwLCB3aWR0aCgpLCBoZWlnaHQo
KSk7CisgICAgICAgIHJldHVybiBJbnRSZWN0KEludFBvaW50KCksIHNpemUoKSk7CiAgICAgCiAg
ICAgUm9vdElubGluZUJveCogcm9vdCA9IG1faW5saW5lQm94V3JhcHBlci0+cm9vdCgpOwogICAg
IGludCBuZXdMb2dpY2FsVG9wID0gcm9vdC0+YmxvY2soKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxv
Y2tzV3JpdGluZ01vZGUoKSA/IG1faW5saW5lQm94V3JhcHBlci0+bG9naWNhbEJvdHRvbSgpIC0g
cm9vdC0+c2VsZWN0aW9uQm90dG9tKCkgOiByb290LT5zZWxlY3Rpb25Ub3AoKSAtIG1faW5saW5l
Qm94V3JhcHBlci0+bG9naWNhbFRvcCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNjcm9sbGJhci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNjcm9sbGJhci5jcHAJKHJldmlzaW9uIDEwOTc2NykKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDIs
NyArMjAyLDcgQEAgdm9pZCBSZW5kZXJTY3JvbGxiYXI6OnVwZGF0ZVNjcm9sbGJhclBhcgogICAg
IH0KICAgICAKICAgICBpZiAobmV3VGhpY2tuZXNzICE9IG9sZFRoaWNrbmVzcykgewotICAgICAg
ICBzZXRGcmFtZVJlY3QoSW50UmVjdCh4KCksIHkoKSwgaXNIb3Jpem9udGFsID8gd2lkdGgoKSA6
IG5ld1RoaWNrbmVzcywgaXNIb3Jpem9udGFsID8gbmV3VGhpY2tuZXNzIDogaGVpZ2h0KCkpKTsK
KyAgICAgICAgc2V0RnJhbWVSZWN0KEludFJlY3QobG9jYXRpb24oKSwgSW50U2l6ZShpc0hvcml6
b250YWwgPyB3aWR0aCgpIDogbmV3VGhpY2tuZXNzLCBpc0hvcml6b250YWwgPyBuZXdUaGlja25l
c3MgOiBoZWlnaHQoKSkpKTsKICAgICAgICAgaWYgKFJlbmRlckJveCogYm94ID0gb3duaW5nUmVu
ZGVyZXIoKSkKICAgICAgICAgICAgIGJveC0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlKTsKICAg
ICB9CkBAIC0yOTcsNyArMjk3LDcgQEAgSW50UmVjdCBSZW5kZXJTY3JvbGxiYXI6OmJ1dHRvblJl
Y3QoU2NybwogICAgIAogICAgIGJvb2wgaXNIb3Jpem9udGFsID0gb3JpZW50YXRpb24oKSA9PSBI
b3Jpem9udGFsU2Nyb2xsYmFyOwogICAgIGlmIChwYXJ0VHlwZSA9PSBCYWNrQnV0dG9uU3RhcnRQ
YXJ0KQotICAgICAgICByZXR1cm4gSW50UmVjdCh4KCksIHkoKSwgaXNIb3Jpem9udGFsID8gcGFy
dFJlbmRlcmVyLT53aWR0aCgpIDogd2lkdGgoKSwgaXNIb3Jpem9udGFsID8gaGVpZ2h0KCkgOiBw
YXJ0UmVuZGVyZXItPmhlaWdodCgpKTsKKyAgICAgICAgcmV0dXJuIEludFJlY3QobG9jYXRpb24o
KSwgSW50U2l6ZShpc0hvcml6b250YWwgPyBwYXJ0UmVuZGVyZXItPndpZHRoKCkgOiB3aWR0aCgp
LCBpc0hvcml6b250YWwgPyBoZWlnaHQoKSA6IHBhcnRSZW5kZXJlci0+aGVpZ2h0KCkpKTsKICAg
ICBpZiAocGFydFR5cGUgPT0gRm9yd2FyZEJ1dHRvbkVuZFBhcnQpCiAgICAgICAgIHJldHVybiBJ
bnRSZWN0KGlzSG9yaXpvbnRhbCA/IHgoKSArIHdpZHRoKCkgLSBwYXJ0UmVuZGVyZXItPndpZHRo
KCkgOiB4KCksCiAgICAgICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlU2VjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlU2VjdGlvbi5jcHAJKHJldmlzaW9uIDEwOTc2NykKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MDQsNyArMzA0LDcgQEAgdm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OnNldENlbGxMb2dpY2FsVwog
ICAgICAgICAgICAgICAgICAgICBpZiAoIXN0YXRlUHVzaGVyLmRpZFB1c2goKSkgewogICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gVGVjaG5pY2FsbHksIHdlIHNob3VsZCBhbHNvIHB1c2ggc3Rh
dGUgZm9yIHRoZSByb3csIGJ1dCBzaW5jZQogICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm93
cyBkb24ndCBwdXNoIGEgY29vcmRpbmF0ZSB0cmFuc2Zvcm0sIHRoYXQncyBub3QgbmVjZXNzYXJ5
LgotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVQdXNoZXIucHVzaCh0aGlzLCBMYXlvdXRT
aXplKHgoKSwgeSgpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZVB1c2hlci5wdXNo
KHRoaXMsIGxvY2F0aW9uT2Zmc2V0KCkpOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgICAgIGNlbGwtPnJlcGFpbnQoKTsKICAgICAgICAgICAgICAgICB9CkBAIC01MDMs
NyArNTAzLDcgQEAgaW50IFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cyhpbnQgdAogICAg
IGludCB2c3BhY2luZyA9IHRhYmxlKCktPnZCb3JkZXJTcGFjaW5nKCk7CiAgICAgdW5zaWduZWQg
bkVmZkNvbHMgPSB0YWJsZSgpLT5udW1FZmZDb2xzKCk7CiAKLSAgICBMYXlvdXRTdGF0ZU1haW50
YWluZXIgc3RhdGVQdXNoZXIodmlldygpLCB0aGlzLCBMYXlvdXRTaXplKHgoKSwgeSgpKSwgc3R5
bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSk7CisgICAgTGF5b3V0U3RhdGVNYWlu
dGFpbmVyIHN0YXRlUHVzaGVyKHZpZXcoKSwgdGhpcywgbG9jYXRpb25PZmZzZXQoKSwgc3R5bGUo
KS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSk7CiAKICAgICBmb3IgKHVuc2lnbmVkIHIg
PSAwOyByIDwgdG90YWxSb3dzOyByKyspIHsKICAgICAgICAgLy8gU2V0IHRoZSByb3cncyB4L3kg
cG9zaXRpb24gYW5kIHdpZHRoL2hlaWdodC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5jcHAJKHJldmlzaW9uIDEwOTc2NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzAzLDcgKzcwMyw3IEBAIHZv
aWQgUmVuZGVyVmlldzo6bm90aWZ5V2lkZ2V0cyhXaWRnZXROb3QKIEludFJlY3QgUmVuZGVyVmll
dzo6dmlld1JlY3QoKSBjb25zdAogewogICAgIGlmIChwcmludGluZygpKQotICAgICAgICByZXR1
cm4gSW50UmVjdCgwLCAwLCB3aWR0aCgpLCBoZWlnaHQoKSk7CisgICAgICAgIHJldHVybiBJbnRS
ZWN0KEludFBvaW50KCksIHNpemUoKSk7CiAgICAgaWYgKG1fZnJhbWVWaWV3KQogICAgICAgICBy
ZXR1cm4gbV9mcmFtZVZpZXctPnZpc2libGVDb250ZW50UmVjdCgpOwogICAgIHJldHVybiBJbnRS
ZWN0KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3Qu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
Um9vdC5jcHAJKHJldmlzaW9uIDEwOTc2NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUm9vdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxOCw3ICsyMTgsNyBAQCB2
b2lkIFJlbmRlclNWR1Jvb3Q6OmxheW91dCgpCiAgICAgYm9vbCBuZWVkc0xheW91dCA9IHNlbGZO
ZWVkc0xheW91dCgpOwogICAgIExheW91dFJlcGFpbnRlciByZXBhaW50ZXIoKnRoaXMsIGNoZWNr
Rm9yUmVwYWludER1cmluZ0xheW91dCgpICYmIG5lZWRzTGF5b3V0KTsKIAotICAgIExheW91dFNp
emUgb2xkU2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSk7CisgICAgTGF5b3V0U2l6ZSBvbGRTaXplID0g
c2l6ZSgpOwogICAgIGNvbXB1dGVMb2dpY2FsV2lkdGgoKTsKICAgICBjb21wdXRlTG9naWNhbEhl
aWdodCgpOwogICAgIGJ1aWxkTG9jYWxUb0JvcmRlckJveFRyYW5zZm9ybSgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>