<?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>85607</bug_id>
          
          <creation_ts>2012-05-04 05:09:19 -0700</creation_ts>
          <short_desc>[Qt] Qt support for new Layout types</short_desc>
          <delta_ts>2012-05-11 07:10:47 -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="Allan Sandfeld Jensen">allan.jensen</reporter>
          <assigned_to name="Allan Sandfeld Jensen">allan.jensen</assigned_to>
          <cc>jturcotte</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>616088</commentid>
    <comment_count>0</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-05-04 05:09:19 -0700</bug_when>
    <thetext>New layout types has recently been added to replace IntPoint et al. The new types however does not yet support conversion to or from Qt datatypes like the old ones and can not be streamed to QDebug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616093</commentid>
    <comment_count>1</comment_count>
      <attachid>140194</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-05-04 05:16:56 -0700</bug_when>
    <thetext>Created attachment 140194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616111</commentid>
    <comment_count>2</comment_count>
      <attachid>140194</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-04 05:49:59 -0700</bug_when>
    <thetext>Comment on attachment 140194
Patch

Attachment 140194 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12633134</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616115</commentid>
    <comment_count>3</comment_count>
      <attachid>140194</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-04 05:54:44 -0700</bug_when>
    <thetext>Comment on attachment 140194
Patch

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

&gt; Source/WebCore/platform/graphics/qt/FractionalLayoutPointQt.cpp:2
&gt; + * Copyright (C) 2006 Zack Rusin &lt;zack@kde.org&gt;

I wonder how much of this code is actually by Zack, if any?

&gt; Source/WebCore/platform/graphics/qt/FractionalLayoutSizeQt.cpp:37
&gt; +FractionalLayoutSize::FractionalLayoutSize(const QSizeF&amp; r)

Doesn&apos;t size make more sense than r

&gt; Source/WebCore/platform/graphics/qt/FractionalLayoutSizeQt.cpp:50
&gt; +// vim: ts=4 sw=4 et

Are we supposed to add this? I think we should leave it out</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616118</commentid>
    <comment_count>4</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-05-04 06:00:32 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 140194 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=140194&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/qt/FractionalLayoutPointQt.cpp:2
&gt; &gt; + * Copyright (C) 2006 Zack Rusin &lt;zack@kde.org&gt;
&gt; 
&gt; I wonder how much of this code is actually by Zack, if any?
&gt; 
I copied the files from the similar versions of IntSomethingQt.cpp, the copyright is just copied from there and updated. The code is boiler plate enough that copyright probably doesn&apos;t matter though.

&gt; &gt; Source/WebCore/platform/graphics/qt/FractionalLayoutSizeQt.cpp:37
&gt; &gt; +FractionalLayoutSize::FractionalLayoutSize(const QSizeF&amp; r)
&gt; 
&gt; Doesn&apos;t size make more sense than r
&gt; 
Makes sense.

&gt; &gt; Source/WebCore/platform/graphics/qt/FractionalLayoutSizeQt.cpp:50
&gt; &gt; +// vim: ts=4 sw=4 et
&gt; 
&gt; Are we supposed to add this? I think we should leave it out
Okay, I was just copying the file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619241</commentid>
    <comment_count>5</comment_count>
      <attachid>140194</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-05-09 00:45:01 -0700</bug_when>
    <thetext>Comment on attachment 140194
Patch

Taking this out of the review queue due to the EWS failure (missing #include?). Otherwise I think the patch is okay (modulo Kenneth&apos;s comments :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621365</commentid>
    <comment_count>6</comment_count>
      <attachid>141346</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-05-11 01:02:39 -0700</bug_when>
    <thetext>Created attachment 141346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621373</commentid>
    <comment_count>7</comment_count>
      <attachid>141346</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-05-11 01:17:06 -0700</bug_when>
    <thetext>Comment on attachment 141346
Patch

let&apos;s wait for EWS results before landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621611</commentid>
    <comment_count>8</comment_count>
      <attachid>141346</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 07:10:43 -0700</bug_when>
    <thetext>Comment on attachment 141346
Patch

Clearing flags on attachment: 141346

Committed r116767: &lt;http://trac.webkit.org/changeset/116767&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621613</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 07:10:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140194</attachid>
            <date>2012-05-04 05:16:56 -0700</date>
            <delta_ts>2012-05-11 01:02:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85607-20120504141701.patch</filename>
            <type>text/plain</type>
            <size>13279</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY2MTg1OGY5ZjYxYTZk
M2E0MjAyY2IzYTI5MWFhYTIwM2Y2NGI2Ni4uNDk4NjA4YTU2YjRmNDM0NWI1YzI3YTg0YzAyODA0
YzI3YzhhN2Q3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA1LTA0ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIFF0
IHN1cHBvcnQgZm9yIG5ldyBsYXlvdXQgdHlwZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTYwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgc2ltaWxhciBRdCBzdXBwb3J0IHRvIEZyYWN0aW9u
YWxMYXlvdXQgY2xhc3NlcyBhcyBRdCBoYXMgZm9yCisgICAgICAgIEZsb2F0U29tZXRoaW5nIGFu
ZCBJbnRTb21ldGhpbmcgY2xhc3Nlcy4gVGhpcyBtZWFucyBRdCBjb2RlIGNhbiBzdGF5CisgICAg
ICAgIHVuY2hhbmdlZCBmcm9tIGFmdGVyIHRoZSByZWRlZmluaXRpb24gb2YgTGF5b3V0IGNsYXNz
ZXMuCisKKyAgICAgICAgTm8gbmV3IGZ1bmN0aW9uYWxpdHkuIE5vIG5ldyB0ZXN0cy4gCisKKyAg
ICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIHBsYXRmb3JtL0ZyYWN0aW9uYWxMYXlvdXRV
bml0Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwp
OgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I+Pik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvRnJhY3Rpb25hbExheW91dFBvaW50Lmg6CisgICAgICAgIChGcmFjdGlvbmFsTGF5b3V0
UG9pbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8
KToKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPj4pOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRSZWN0Lmg6CisgICAgICAgIChGcmFjdGlvbmFsTGF5b3V0
UmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFNpemUu
aDoKKyAgICAgICAgKEZyYWN0aW9uYWxMYXlvdXRTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9xdC9GcmFjdGlvbmFsTGF5b3V0UG9pbnRRdC5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFjdGlvbmFsTGF5b3V0UG9pbnQ6OkZyYWN0
aW9uYWxMYXlvdXRQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFjdGlvbmFsTGF5b3V0UG9p
bnQ6Om9wZXJhdG9yIFFQb2ludEYpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0Zy
YWN0aW9uYWxMYXlvdXRSZWN0UXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhY3Rpb25hbExheW91dFJlY3Q6OkZyYWN0aW9uYWxMYXlvdXRSZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYWN0aW9uYWxMYXlvdXRSZWN0OjpvcGVyYXRvciBRUmVj
dEYpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0ZyYWN0aW9uYWxMYXlvdXRTaXpl
UXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
Y3Rpb25hbExheW91dFNpemU6OkZyYWN0aW9uYWxMYXlvdXRTaXplKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYWN0aW9uYWxMYXlvdXRTaXplOjpvcGVyYXRvciBRU2l6ZUYpOgorCiAyMDEyLTA1LTAz
ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBjcmVhdGVSYXdMb2NhdGlvbkJ5VVJMIGlzIHRvbyBzbG93IGlmIGEgYmlnIG51
bWJlciBvZiBldmFscyBoYXBwZW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBlNzJlOGE4Njc0ZWY4OTE1YmVh
NjU1ZjY4M2M5ZjBhOWEzOGZiNWRmLi4zZjdmNzE3ZjUxODg4ZDQ4ODQ3YzQ5NjJmOThiNTU2NWZm
NTZlZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTI4NDksNiArMjg0OSw5IEBAIFNPVVJDRVMgKz0gXAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGFRdC5jcHAgXAogICAgIHBs
YXRmb3JtL2dyYXBoaWNzL3F0L0Zsb2F0UG9pbnRRdC5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL3F0L0Zsb2F0UmVjdFF0LmNwcCBcCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRnJhY3Rp
b25hbExheW91dFBvaW50UXQuY3BwIFwKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9xdC9GcmFjdGlv
bmFsTGF5b3V0UmVjdFF0LmNwcCBcCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRnJhY3Rpb25h
bExheW91dFNpemVRdC5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYWRpZW50UXQu
Y3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAgXAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0ljb25RdC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vRnJhY3Rpb25hbExheW91dFVuaXQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0ZyYWN0aW9uYWxMYXlvdXRVbml0LmgKaW5kZXggMTkzZWM5ODRkNDNmMTZmZTQz
ZDk1MDZhMzhjNTFjMDY1NDdmYmRjMi4uY2NlMzllNDkyZjA0YjA1MmQ4NmU3MzU4MTdlOTdlYTI4
NWE3MTljMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRnJhY3Rpb25hbExh
eW91dFVuaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0
VW5pdC5oCkBAIC0zNiw2ICszNiwxMCBAQAogI2luY2x1ZGUgPG1hdGguaD4KICNpbmNsdWRlIDxz
dGRsaWIuaD4KIAorI2lmIFBMQVRGT1JNKFFUKQorI2luY2x1ZGUgPFFEYXRhU3RyZWFtPgorI2Vu
ZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmZGVmIE5ERUJVRwpAQCAtNTU2LDYgKzU2
MCwyNyBAQCBpbmxpbmUgaW50IHNuYXBTaXplVG9QaXhlbChGcmFjdGlvbmFsTGF5b3V0VW5pdCBz
aXplLCBGcmFjdGlvbmFsTGF5b3V0VW5pdCBsb2NhdAogICAgIHJldHVybiAobG9jYXRpb24gKyBz
aXplKS5yb3VuZCgpIC0gbG9jYXRpb24ucm91bmQoKTsKIH0KIAorI2lmIFBMQVRGT1JNKFFUKQor
aW5saW5lIFFEYXRhU3RyZWFtJiBvcGVyYXRvcjw8KFFEYXRhU3RyZWFtJiBzdHJlYW0sIGNvbnN0
IEZyYWN0aW9uYWxMYXlvdXRVbml0JiB2YWx1ZSkKK3sKKyAgICBpZiAoa0ZpeGVkUG9pbnREZW5v
bWluYXRvciA9PSAxKQorICAgICAgICBzdHJlYW0gPDwgdmFsdWUucmF3VmFsdWUoKTsKKyAgICBl
bHNlCisgICAgICAgIHN0cmVhbSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCIlMSIpLmFyZyh2YWx1
ZS50b0Zsb2F0KCksIDAsICdmJywgMik7CisKKyAgICByZXR1cm4gc3RyZWFtOworfQorCitpbmxp
bmUgUURhdGFTdHJlYW0mIG9wZXJhdG9yPj4oUURhdGFTdHJlYW0mIHN0cmVhbSwgRnJhY3Rpb25h
bExheW91dFVuaXQmIHZhbHVlKQoreworICAgIGZsb2F0IHY7CisgICAgc3RyZWFtID4+IHY7Cisg
ICAgdmFsdWUgPSB2OworICAgIHJldHVybiBzdHJlYW07Cit9CisjZW5kaWYKKworCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBGcmFjdGlvbmFsTGF5b3V0VW5pdF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5b3V0
UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxMYXlv
dXRQb2ludC5oCmluZGV4IDU1ZWVhNWYxYWQyMDMzMjUzNjc5MWZiZjliZWQ3NGI4NTMxNTkxODYu
LjJlNDkyNDAwY2JkYWIyY2NhYjFmOTg4OWRlNDhlMTMwMjU4Yjg1OTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRQb2ludC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRQb2lu
dC5oCkBAIC0zNSw2ICszNSwxMCBAQAogI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRTaXplLmgi
CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAorI2lmIFBMQVRGT1JNKFFUKQorI2luY2x1
ZGUgPFFEYXRhU3RyZWFtPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
RnJhY3Rpb25hbExheW91dFBvaW50IHsKQEAgLTgyLDYgKzg2LDExIEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIEZyYWN0aW9uYWxMYXlvdXRQb2ludChtX3ksIG1feCk7CiAgICAgfQogCisjaWYg
UExBVEZPUk0oUVQpCisgICAgZXhwbGljaXQgRnJhY3Rpb25hbExheW91dFBvaW50KGNvbnN0IFFQ
b2ludEYmKTsKKyAgICBvcGVyYXRvciBRUG9pbnRGKCkgY29uc3Q7CisjZW5kaWYKKwogcHJpdmF0
ZToKICAgICBGcmFjdGlvbmFsTGF5b3V0VW5pdCBtX3gsIG1feTsKIH07CkBAIC0xNTgsNiArMTY3
LDI4IEBAIGlubGluZSBJbnRQb2ludCBjZWlsZWRJbnRQb2ludChjb25zdCBGcmFjdGlvbmFsTGF5
b3V0UG9pbnQmIHBvaW50KQogICAgIHJldHVybiBJbnRQb2ludChwb2ludC54KCkuY2VpbCgpLCBw
b2ludC55KCkuY2VpbCgpKTsKIH0KIAorI2lmIFBMQVRGT1JNKFFUKQoraW5saW5lIFFEYXRhU3Ry
ZWFtJiBvcGVyYXRvcjw8KFFEYXRhU3RyZWFtJiBzdHJlYW0sIGNvbnN0IEZyYWN0aW9uYWxMYXlv
dXRQb2ludCYgcG9pbnQpCit7CisgICAgc3RyZWFtIDw8IHBvaW50LngoKSA8PCBwb2ludC55KCk7
CisgICAgcmV0dXJuIHN0cmVhbTsKK30KKworaW5saW5lIFFEYXRhU3RyZWFtJiBvcGVyYXRvcjw8
KFFEYXRhU3RyZWFtJiBzdHJlYW0sIEZyYWN0aW9uYWxMYXlvdXRQb2ludCBwb2ludCkKK3sKKyAg
ICBzdHJlYW0gPDwgcG9pbnQueCgpIDw8IHBvaW50LnkoKTsKKyAgICByZXR1cm4gc3RyZWFtOwor
fQorCitpbmxpbmUgUURhdGFTdHJlYW0mIG9wZXJhdG9yPj4oUURhdGFTdHJlYW0mIHN0cmVhbSwg
RnJhY3Rpb25hbExheW91dFBvaW50JiBwb2ludCkKK3sKKyAgICBGcmFjdGlvbmFsTGF5b3V0VW5p
dCB4LCB5OworICAgIHN0cmVhbSA+PiB4ID4+IHk7CisgICAgcG9pbnQuc2V0WCh4KTsKKyAgICBw
b2ludC5zZXRZKHkpOworICAgIHJldHVybiBzdHJlYW07Cit9CisjZW5kaWYKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9GcmFjdGlvbmFsTGF5b3V0UmVjdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRnJhY3Rpb25hbExheW91dFJlY3QuaAppbmRleCA2N2RmYjQ1OTNlMDFhNTdlYzJjYWYx
NmEzMDRjZTBkMjdlMWMxY2JlLi5iOWY2MmVhODAwNjU3MjU3MGE1MGVkOThhNGM5MDlmNTJiNzQ5
Y2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlv
bmFsTGF5b3V0UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zy
YWN0aW9uYWxMYXlvdXRSZWN0LmgKQEAgLTE1Myw2ICsxNTMsMTEgQEAgcHVibGljOgogCiAgICAg
c3RhdGljIEZyYWN0aW9uYWxMYXlvdXRSZWN0IGluZmluaXRlUmVjdCgpIHtyZXR1cm4gRnJhY3Rp
b25hbExheW91dFJlY3QoRnJhY3Rpb25hbExheW91dFVuaXQ6Om1pbigpIC8gMiwgRnJhY3Rpb25h
bExheW91dFVuaXQ6Om1pbigpIC8gMiwgRnJhY3Rpb25hbExheW91dFVuaXQ6Om1heCgpLCBGcmFj
dGlvbmFsTGF5b3V0VW5pdDo6bWF4KCkpOyB9CiAKKyNpZiBQTEFURk9STShRVCkKKyAgICBleHBs
aWNpdCBGcmFjdGlvbmFsTGF5b3V0UmVjdChjb25zdCBRUmVjdEYmKTsKKyAgICBvcGVyYXRvciBR
UmVjdEYoKSBjb25zdDsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIEZyYWN0aW9uYWxMYXlvdXRQ
b2ludCBtX2xvY2F0aW9uOwogICAgIEZyYWN0aW9uYWxMYXlvdXRTaXplIG1fc2l6ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRT
aXplLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5b3V0
U2l6ZS5oCmluZGV4IDFiOWU5NDJmZjlkYzU2ODRmYmY2YTA3NjQ5MWE5NGFkZWZiOTkyZmIuLjE0
OTJhMGJlNGQyYmE0NzhlODBjYjA4YTBlZWY1MzczZDI1ZmNjMjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRTaXplLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFNpemUuaApA
QCAtOTIsNiArOTIsMTEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gRnJhY3Rpb25hbExheW91
dFNpemUobV9oZWlnaHQsIG1fd2lkdGgpOwogICAgIH0KIAorI2lmIFBMQVRGT1JNKFFUKQorICAg
IGV4cGxpY2l0IEZyYWN0aW9uYWxMYXlvdXRTaXplKGNvbnN0IFFTaXplRiYpOworICAgIG9wZXJh
dG9yIFFTaXplRigpIGNvbnN0OworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgRnJhY3Rpb25hbExh
eW91dFVuaXQgbV93aWR0aCwgbV9oZWlnaHQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRnJhY3Rpb25hbExheW91dFBvaW50UXQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRnJhY3Rpb25hbExheW91dFBvaW50UXQu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjcxNWM5MDEyOGZlMTgxZDU1NzljY2RiZmI4MmVkYTY5NTM2MmQ4ZTIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9G
cmFjdGlvbmFsTGF5b3V0UG9pbnRRdC5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAwNiBaYWNrIFJ1c2luIDx6YWNrQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgor
ICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiRnJhY3Rpb25hbExheW91dFBvaW50LmgiCisKKyNpbmNsdWRlIDxRUG9pbnRGPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZyYWN0aW9uYWxMYXlvdXRQb2ludDo6RnJhY3Rpb25hbExh
eW91dFBvaW50KGNvbnN0IFFQb2ludEYmIHApCisgICAgOiBtX3gocC54KCkpCisgICAgLCBtX3ko
cC55KCkpCit7Cit9CisKK0ZyYWN0aW9uYWxMYXlvdXRQb2ludDo6b3BlcmF0b3IgUVBvaW50Rigp
IGNvbnN0Cit7CisgICAgcmV0dXJuIFFQb2ludEYobV94LCBtX3kpOworfQorCit9CisKKy8vIHZp
bTogdHM9NCBzdz00IGV0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9GcmFjdGlvbmFsTGF5b3V0UmVjdFF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L0ZyYWN0aW9uYWxMYXlvdXRSZWN0UXQuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMx
Y2IzOTQ5ZjQ5MWU5NjRiYWM3MDBhMzViZThmYjUyOWM4ZTQ1ODkKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9GcmFjdGlvbmFsTGF5b3V0UmVj
dFF0LmNwcApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IFphY2sg
UnVzaW4gPHphY2tAa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3Jh
dGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
Q09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBD
T01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJGcmFjdGlvbmFsTGF5
b3V0UmVjdC5oIgorCisjaW5jbHVkZSA8UVJlY3RGPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0ZyYWN0aW9uYWxMYXlvdXRSZWN0OjpGcmFjdGlvbmFsTGF5b3V0UmVjdChjb25zdCBRUmVjdEYm
IHIpCisgICAgOiBtX2xvY2F0aW9uKHIudG9wTGVmdCgpKQorICAgICwgbV9zaXplKHIud2lkdGgo
KSwgci5oZWlnaHQoKSkKK3sKK30KKworRnJhY3Rpb25hbExheW91dFJlY3Q6Om9wZXJhdG9yIFFS
ZWN0RigpIGNvbnN0Cit7CisgICAgcmV0dXJuIFFSZWN0Rih4KCksIHkoKSwgd2lkdGgoKSwgaGVp
Z2h0KCkpOworfQorCit9CisKKy8vIHZpbTogdHM9NCBzdz00IGV0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9GcmFjdGlvbmFsTGF5b3V0U2l6ZVF0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZyYWN0aW9uYWxMYXlvdXRT
aXplUXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzMTYzOGYyOWQ4NzBiMTlhMGNmN2E1OWM1YWQ0YmRkZTkx
MzE2ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9GcmFjdGlvbmFsTGF5b3V0U2l6ZVF0LmNwcApAQCAtMCwwICsxLDUwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3Jn
PgorICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vi
c2lkaWFyeSgtaWVzKQorICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiRnJhY3Rpb25hbExheW91dFNpemUuaCIKKworI2lu
Y2x1ZGUgPFFTaXplPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZyYWN0aW9uYWxMYXlvdXRT
aXplOjpGcmFjdGlvbmFsTGF5b3V0U2l6ZShjb25zdCBRU2l6ZUYmIHIpCisgICAgOiBtX3dpZHRo
KHIud2lkdGgoKSkKKyAgICAsIG1faGVpZ2h0KHIuaGVpZ2h0KCkpCit7Cit9CisKK0ZyYWN0aW9u
YWxMYXlvdXRTaXplOjpvcGVyYXRvciBRU2l6ZUYoKSBjb25zdAoreworICAgIHJldHVybiBRU2l6
ZUYod2lkdGgoKSwgaGVpZ2h0KCkpOworfQorCit9CisKKy8vIHZpbTogdHM9NCBzdz00IGV0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141346</attachid>
            <date>2012-05-11 01:02:39 -0700</date>
            <delta_ts>2012-05-11 07:10:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85607-20120511100243.patch</filename>
            <type>text/plain</type>
            <size>11904</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ4N2FjN2EyZGVkMDVj
OWMzOWE5YTgyZjU2N2Y1Y2FmYjQ3MzgxNC4uZTEwNTJlMGVjZWFjNmRmYjQ0MzVkYjU2YWI4NzY1
OWMyY2M5ZmJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA1LTExICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIFF0
IHN1cHBvcnQgZm9yIG5ldyBsYXlvdXQgdHlwZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTYwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgc2ltaWxhciBRdCBzdXBwb3J0IHRvIEZyYWN0aW9u
YWxMYXlvdXQgY2xhc3NlcyBhcyBRdCBoYXMgZm9yCisgICAgICAgIEZsb2F0U29tZXRoaW5nIGFu
ZCBJbnRTb21ldGhpbmcgY2xhc3Nlcy4gVGhpcyBtZWFucyBRdCBjb2RlIGNhbiBzdGF5CisgICAg
ICAgIHVuY2hhbmdlZCBmcm9tIGFmdGVyIHRoZSByZWRlZmluaXRpb24gb2YgTGF5b3V0IGNsYXNz
ZXMuCisKKyAgICAgICAgTm8gbmV3IGZ1bmN0aW9uYWxpdHkuIE5vIG5ldyB0ZXN0cy4KKworICAg
ICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogcGxhdGZvcm0vRnJhY3Rpb25hbExheW91dFVu
aXQuaDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAoV2ViQ29yZTo6
b3BlcmF0b3I+Pik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExheW91
dFBvaW50Lmg6CisgICAgICAgIChGcmFjdGlvbmFsTGF5b3V0UG9pbnQpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRSZWN0Lmg6CisgICAgICAgIChGcmFjdGlv
bmFsTGF5b3V0UmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExh
eW91dFNpemUuaDoKKyAgICAgICAgKEZyYWN0aW9uYWxMYXlvdXRTaXplKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9xdC9GcmFjdGlvbmFsTGF5b3V0UG9pbnRRdC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RnJhY3Rpb25hbExheW91dFBvaW50OjpGcmFjdGlvbmFsTGF5b3V0
UG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhY3Rpb25hbExheW91dFBvaW50OjpvcGVyYXRv
ciBRUG9pbnRGKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9GcmFjdGlvbmFsTGF5
b3V0UmVjdFF0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGcmFjdGlvbmFsTGF5b3V0
UmVjdDo6RnJhY3Rpb25hbExheW91dFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RnJhY3Rpb25h
bExheW91dFJlY3Q6Om9wZXJhdG9yIFFSZWN0Rik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvRnJhY3Rpb25hbExheW91dFNpemVRdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6RnJhY3Rpb25hbExheW91dFNpemU6OkZyYWN0aW9uYWxMYXlvdXRTaXplKToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYWN0aW9uYWxMYXlvdXRTaXplOjpvcGVyYXRvciBRU2l6ZUYpOgorCiAyMDEy
LTA1LTEwICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgog
CiAgICAgICAgIEZyYWN0aW9uYWxMYXlvdXRVbml0IG1pbm9yIG1hdGggYnVncwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkK
aW5kZXggNWQ4NGMwZmQwMmFhZDMxODFhMTJhODU0NThmYjZhMTA1ODM0NjgwOS4uYjRkOWQ5ZDFl
MGFkMjdmZjMzMTM3YTViNDZiZmFjYzBiYWJmYjk3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yODU0LDYg
KzI4NTQsOSBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxh
dGZvcm1EYXRhUXQuY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9xdC9GbG9hdFBvaW50UXQu
Y3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9xdC9GbG9hdFJlY3RRdC5jcHAgXAorICAgIHBs
YXRmb3JtL2dyYXBoaWNzL3F0L0ZyYWN0aW9uYWxMYXlvdXRQb2ludFF0LmNwcCBcCisgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvcXQvRnJhY3Rpb25hbExheW91dFJlY3RRdC5jcHAgXAorICAgIHBsYXRm
b3JtL2dyYXBoaWNzL3F0L0ZyYWN0aW9uYWxMYXlvdXRTaXplUXQuY3BwIFwKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFkaWVudFF0LmNwcCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
R3JhcGhpY3NDb250ZXh0UXQuY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9xdC9JY29uUXQu
Y3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZyYWN0aW9uYWxMYXlv
dXRVbml0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5o
CmluZGV4IDU2MTg1YmNkMjBhZDIyYzQ0YjkzYTMxYTI1ZmFhNGM1NGY2M2Q2OGYuLmQ5NDU5NzNl
M2NkNDk4NTAzNjFhYTEwYzRmZTIyZjNmMGQ3MWI3NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0ZyYWN0aW9uYWxMYXlvdXRVbml0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vRnJhY3Rpb25hbExheW91dFVuaXQuaApAQCAtMzYsNiArMzYsMTAgQEAKICNpbmNs
dWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAKKyNpZiBQTEFURk9STShRVCkKKyNp
bmNsdWRlIDxRRGF0YVN0cmVhbT4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNp
ZmRlZiBOREVCVUcKQEAgLTU5Niw2ICs2MDAsMjYgQEAgaW5saW5lIGludCBzbmFwU2l6ZVRvUGl4
ZWwoRnJhY3Rpb25hbExheW91dFVuaXQgc2l6ZSwgRnJhY3Rpb25hbExheW91dFVuaXQgbG9jYXQK
ICAgICByZXR1cm4gKGxvY2F0aW9uICsgc2l6ZSkucm91bmQoKSAtIGxvY2F0aW9uLnJvdW5kKCk7
CiB9CiAKKyNpZiBQTEFURk9STShRVCkKK2lubGluZSBRRGF0YVN0cmVhbSYgb3BlcmF0b3I8PChR
RGF0YVN0cmVhbSYgc3RyZWFtLCBjb25zdCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYgdmFsdWUpCit7
CisgICAgaWYgKGtGaXhlZFBvaW50RGVub21pbmF0b3IgPT0gMSkKKyAgICAgICAgc3RyZWFtIDw8
IHZhbHVlLnJhd1ZhbHVlKCk7CisgICAgZWxzZQorICAgICAgICBzdHJlYW0gPDwgUVN0cmluZzo6
ZnJvbUxhdGluMSgiJTEiKS5hcmcodmFsdWUudG9GbG9hdCgpLCAwLCAnZicsIDIpOworCisgICAg
cmV0dXJuIHN0cmVhbTsKK30KKworaW5saW5lIFFEYXRhU3RyZWFtJiBvcGVyYXRvcj4+KFFEYXRh
U3RyZWFtJiBzdHJlYW0sIEZyYWN0aW9uYWxMYXlvdXRVbml0JiB2YWx1ZSkKK3sKKyAgICBmbG9h
dCB2OworICAgIHN0cmVhbSA+PiB2OworICAgIHZhbHVlID0gdjsKKyAgICByZXR1cm4gc3RyZWFt
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEZyYWN0
aW9uYWxMYXlvdXRVbml0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFBvaW50LmgKaW5kZXggNTVlZWE1ZjFhZDIwMzMyNTM2
NzkxZmJmOWJlZDc0Yjg1MzE1OTE4Ni4uMTc3ZTI2MTc0N2Y2N2YxN2RhZjY2OTUyZDkyYTZiY2Jh
MzZlZWNlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRnJh
Y3Rpb25hbExheW91dFBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRnJhY3Rpb25hbExheW91dFBvaW50LmgKQEAgLTM1LDYgKzM1LDE0IEBACiAjaW5jbHVkZSAi
RnJhY3Rpb25hbExheW91dFNpemUuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCisj
aWYgUExBVEZPUk0oUVQpCisjaW5jbHVkZSA8cWdsb2JhbC5oPgorUVRfQkVHSU5fTkFNRVNQQUNF
CitjbGFzcyBRUG9pbnQ7CitjbGFzcyBRUG9pbnRGOworUVRfRU5EX05BTUVTUEFDRQorI2VuZGlm
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhY3Rpb25hbExheW91dFBvaW50IHsK
QEAgLTgyLDYgKzkwLDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEZyYWN0aW9uYWxMYXlv
dXRQb2ludChtX3ksIG1feCk7CiAgICAgfQogCisjaWYgUExBVEZPUk0oUVQpCisgICAgZXhwbGlj
aXQgRnJhY3Rpb25hbExheW91dFBvaW50KGNvbnN0IFFQb2ludCYpOworICAgIGV4cGxpY2l0IEZy
YWN0aW9uYWxMYXlvdXRQb2ludChjb25zdCBRUG9pbnRGJik7CisgICAgb3BlcmF0b3IgUVBvaW50
RigpIGNvbnN0OworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgRnJhY3Rpb25hbExheW91dFVuaXQg
bV94LCBtX3k7CiB9OwpAQCAtMTU4LDcgKzE3Miw2IEBAIGlubGluZSBJbnRQb2ludCBjZWlsZWRJ
bnRQb2ludChjb25zdCBGcmFjdGlvbmFsTGF5b3V0UG9pbnQmIHBvaW50KQogICAgIHJldHVybiBJ
bnRQb2ludChwb2ludC54KCkuY2VpbCgpLCBwb2ludC55KCkuY2VpbCgpKTsKIH0KIAotCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBGcmFjdGlvbmFsTGF5b3V0UG9pbnRfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExh
eW91dFJlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxM
YXlvdXRSZWN0LmgKaW5kZXggZWQ1MjEyZDllOGE2MzVlYWFmZDFlZTUxZWU3MWZhMmNmMzIzMTNi
Yi4uZDkxYmU5MzFhYjAxMWQzNjFmMDNkOWUwMGIwMzM0MDU0YWZkMTAxOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFJlY3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5b3V0UmVj
dC5oCkBAIC0zNSw2ICszNSwxNCBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAKKyNpZiBQTEFURk9STShRVCkKKyNpbmNsdWRlIDxxZ2xvYmFsLmg+CitR
VF9CRUdJTl9OQU1FU1BBQ0UKK2NsYXNzIFFSZWN0OworY2xhc3MgUVJlY3RGOworUVRfRU5EX05B
TUVTUEFDRQorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmxvYXRSZWN0
OwpAQCAtMTUzLDYgKzE2MSwxMiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgRnJhY3Rpb25hbExh
eW91dFJlY3QgaW5maW5pdGVSZWN0KCkge3JldHVybiBGcmFjdGlvbmFsTGF5b3V0UmVjdChGcmFj
dGlvbmFsTGF5b3V0VW5pdDo6bWluKCkgLyAyLCBGcmFjdGlvbmFsTGF5b3V0VW5pdDo6bWluKCkg
LyAyLCBGcmFjdGlvbmFsTGF5b3V0VW5pdDo6bWF4KCksIEZyYWN0aW9uYWxMYXlvdXRVbml0Ojpt
YXgoKSk7IH0KIAorI2lmIFBMQVRGT1JNKFFUKQorICAgIGV4cGxpY2l0IEZyYWN0aW9uYWxMYXlv
dXRSZWN0KGNvbnN0IFFSZWN0Jik7CisgICAgZXhwbGljaXQgRnJhY3Rpb25hbExheW91dFJlY3Qo
Y29uc3QgUVJlY3RGJik7CisgICAgb3BlcmF0b3IgUVJlY3RGKCkgY29uc3Q7CisjZW5kaWYKKwog
cHJpdmF0ZToKICAgICBGcmFjdGlvbmFsTGF5b3V0UG9pbnQgbV9sb2NhdGlvbjsKICAgICBGcmFj
dGlvbmFsTGF5b3V0U2l6ZSBtX3NpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5b3V0U2l6ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFNpemUuaAppbmRleCAyODFiZjU1YTM0OTVm
YWJmNWVjZDVhM2YwNDM4MTk5NDBiOTBlZjQyLi40ZWQ5N2UzNDk0NDExOWExOWMyN2RlZjUwYzli
YWIxMDVjZWU5NWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GcmFjdGlvbmFsTGF5b3V0U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRTaXplLmgKQEAgLTM1LDYgKzM1LDE0IEBACiAjaW5jbHVk
ZSAiRnJhY3Rpb25hbExheW91dFVuaXQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAKKyNpZiBQ
TEFURk9STShRVCkKKyNpbmNsdWRlIDxxZ2xvYmFsLmg+CitRVF9CRUdJTl9OQU1FU1BBQ0UKK2Ns
YXNzIFFTaXplOworY2xhc3MgUVNpemVGOworUVRfRU5EX05BTUVTUEFDRQorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhY3Rpb25hbExheW91dFBvaW50OwpAQCAtOTIs
NiArMTAwLDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEZyYWN0aW9uYWxMYXlvdXRTaXpl
KG1faGVpZ2h0LCBtX3dpZHRoKTsKICAgICB9CiAKKyNpZiBQTEFURk9STShRVCkKKyAgICBleHBs
aWNpdCBGcmFjdGlvbmFsTGF5b3V0U2l6ZShjb25zdCBRU2l6ZSYpOworICAgIGV4cGxpY2l0IEZy
YWN0aW9uYWxMYXlvdXRTaXplKGNvbnN0IFFTaXplRiYpOworICAgIG9wZXJhdG9yIFFTaXplRigp
IGNvbnN0OworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgRnJhY3Rpb25hbExheW91dFVuaXQgbV93
aWR0aCwgbV9oZWlnaHQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvRnJhY3Rpb25hbExheW91dFBvaW50UXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvRnJhY3Rpb25hbExheW91dFBvaW50UXQuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM5ZTU2M2E5Y2I2Y2M1MDRkYjkyM2ZlYjQxODk2YTNmYTFmMjczMjMKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9GcmFjdGlvbmFsTGF5
b3V0UG9pbnRRdC5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIw
MTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisKKyAgICBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAg
ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRQb2ludC5oIgorCisj
aW5jbHVkZSA8UVBvaW50PgorI2luY2x1ZGUgPFFQb2ludEY+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworRnJhY3Rpb25hbExheW91dFBvaW50OjpGcmFjdGlvbmFsTGF5b3V0UG9pbnQoY29uc3Qg
UVBvaW50JiBwb2ludCkKKyAgICA6IG1feChwb2ludC54KCkpCisgICAgLCBtX3kocG9pbnQueSgp
KQoreworfQorCitGcmFjdGlvbmFsTGF5b3V0UG9pbnQ6OkZyYWN0aW9uYWxMYXlvdXRQb2ludChj
b25zdCBRUG9pbnRGJiBwb2ludCkKKyAgICA6IG1feChwb2ludC54KCkpCisgICAgLCBtX3kocG9p
bnQueSgpKQoreworfQorCitGcmFjdGlvbmFsTGF5b3V0UG9pbnQ6Om9wZXJhdG9yIFFQb2ludEYo
KSBjb25zdAoreworICAgIHJldHVybiBRUG9pbnRGKG1feCwgbV95KTsKK30KKworfSAvLyBuYW1l
c3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0Zy
YWN0aW9uYWxMYXlvdXRSZWN0UXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvRnJhY3Rpb25hbExheW91dFJlY3RRdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWRhZDkxNGJiZmE1
YjI4ZTY0Njg0MjJjMTFiY2M3NjBiMjE2N2FmOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZyYWN0aW9uYWxMYXlvdXRSZWN0UXQuY3BwCkBA
IC0wLDAgKzEsNDUgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisg
ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAg
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJGcmFjdGlvbmFsTGF5b3V0UmVjdC5oIgorCisjaW5jbHVkZSA8UVJlY3Q+Cisj
aW5jbHVkZSA8UVJlY3RGPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZyYWN0aW9uYWxMYXlv
dXRSZWN0OjpGcmFjdGlvbmFsTGF5b3V0UmVjdChjb25zdCBRUmVjdCYgcikKKyAgICA6IG1fbG9j
YXRpb24oci50b3BMZWZ0KCkpCisgICAgLCBtX3NpemUoci53aWR0aCgpLCByLmhlaWdodCgpKQor
eworfQorCitGcmFjdGlvbmFsTGF5b3V0UmVjdDo6RnJhY3Rpb25hbExheW91dFJlY3QoY29uc3Qg
UVJlY3RGJiByKQorICAgIDogbV9sb2NhdGlvbihyLnRvcExlZnQoKSkKKyAgICAsIG1fc2l6ZShy
LndpZHRoKCksIHIuaGVpZ2h0KCkpCit7Cit9CisKK0ZyYWN0aW9uYWxMYXlvdXRSZWN0OjpvcGVy
YXRvciBRUmVjdEYoKSBjb25zdAoreworICAgIHJldHVybiBRUmVjdEYoeCgpLCB5KCksIHdpZHRo
KCksIGhlaWdodCgpKTsKK30KKworfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZyYWN0aW9uYWxMYXlvdXRTaXplUXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRnJhY3Rpb25hbExheW91dFNpemVR
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZWQ1OWQwMDM3MzhmNjc0MjFmODZkZmI2ZDIxNTlhMDE4MGIxYzdk
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0ZyYWN0aW9uYWxMYXlvdXRTaXplUXQuY3BwCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgICAgQ29w
eXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgt
aWVzKQorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlv
dXRTaXplLmgiCisKKyNpbmNsdWRlIDxRU2l6ZT4KKyNpbmNsdWRlIDxRU2l6ZUY+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworRnJhY3Rpb25hbExheW91dFNpemU6OkZyYWN0aW9uYWxMYXlvdXRT
aXplKGNvbnN0IFFTaXplJiBzaXplKQorICAgIDogbV93aWR0aChzaXplLndpZHRoKCkpCisgICAg
LCBtX2hlaWdodChzaXplLmhlaWdodCgpKQoreworfQorCitGcmFjdGlvbmFsTGF5b3V0U2l6ZTo6
RnJhY3Rpb25hbExheW91dFNpemUoY29uc3QgUVNpemVGJiBzaXplKQorICAgIDogbV93aWR0aChz
aXplLndpZHRoKCkpCisgICAgLCBtX2hlaWdodChzaXplLmhlaWdodCgpKQoreworfQorCitGcmFj
dGlvbmFsTGF5b3V0U2l6ZTo6b3BlcmF0b3IgUVNpemVGKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
UVNpemVGKHdpZHRoKCksIGhlaWdodCgpKTsKK30KKworfSAvLyBuYW1lc3BhY2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>