<?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>10604</bug_id>
          
          <creation_ts>2006-08-28 05:46:02 -0700</creation_ts>
          <short_desc>Make regression testing work with Qt (Adding KIO support)</short_desc>
          <delta_ts>2006-09-08 18:30:17 -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>Platform</component>
          <version>420+</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.4</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="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>mjs</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>54021</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-28 05:46:02 -0700</bug_when>
    <thetext>Now that KDE4&apos;s KIO is somewhat usable, we can finally kill the
libcurl usage. It made for regression testing very slow, using KIO
it works much faster.

HTTP POST/GET is supported, as well as working JS XMLHTTPRequest.
(assembleResponseHeaders() etc. is implemented).

I&apos;ll attach a few patches (with comments) soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54022</commentid>
    <comment_count>1</comment_count>
      <attachid>10270</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-28 05:49:47 -0700</bug_when>
    <thetext>Created attachment 10270
Offer QString -&gt; DeprecatedString conversion

Needed for the KIO patch.
(QString &apos;response&apos; -&gt; DeprecatedString &apos;responseHeaders&apos; conversion)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54023</commentid>
    <comment_count>2</comment_count>
      <attachid>10271</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-28 05:51:51 -0700</bug_when>
    <thetext>Created attachment 10271
Replace libcurl usage by KIO

Removes the ResourceLoaderCurl.cpp, adds ResourceLoaderQt.cpp.
Rewrote ResourceLoaderManager from scratch for our needs :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54024</commentid>
    <comment_count>3</comment_count>
      <attachid>10272</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-28 05:53:11 -0700</bug_when>
    <thetext>Created attachment 10272
run-webkit-tests modifications for Qt

Faster polling in DumpRenderTree, &quot;-qt&quot; prefixes for run-webkit-tests.
Removing one nonImplemented() usage in RenderThemeQt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54025</commentid>
    <comment_count>4</comment_count>
      <attachid>10273</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-28 05:54:56 -0700</bug_when>
    <thetext>Created attachment 10273
Fix crash hit in css2.1 - in RenderMenuList

Don&apos;t crash in RenderMenuList, if the RenderTheme
doesn&apos;t implement createPopupMenu. Like Qt :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54032</commentid>
    <comment_count>5</comment_count>
      <attachid>10270</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-08-28 09:13:14 -0700</bug_when>
    <thetext>Comment on attachment 10270
Offer QString -&gt; DeprecatedString conversion

According to Qt docs, utf8Data.data() will not be 0 for null arrays, so this does not convert null strings properly. Yes, this doesn&apos;t really matter in WebCore/platform, but I think we should have this basic conversion right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54033</commentid>
    <comment_count>6</comment_count>
      <attachid>10272</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-08-28 09:20:29 -0700</bug_when>
    <thetext>Comment on attachment 10272
run-webkit-tests modifications for Qt

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54037</commentid>
    <comment_count>7</comment_count>
      <attachid>10273</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2006-08-28 09:41:47 -0700</bug_when>
    <thetext>Comment on attachment 10273
Fix crash hit in css2.1 - in RenderMenuList

Why not just abort early if createPopupMenu fails?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54040</commentid>
    <comment_count>8</comment_count>
      <attachid>10275</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-28 09:58:25 -0700</bug_when>
    <thetext>Created attachment 10275
Updated: Offer QString -&gt; DeprecatedString conversion

Incorporated ap&apos;s comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54041</commentid>
    <comment_count>9</comment_count>
      <attachid>10275</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-08-28 10:00:34 -0700</bug_when>
    <thetext>Comment on attachment 10275
Updated: Offer QString -&gt; DeprecatedString conversion

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54046</commentid>
    <comment_count>10</comment_count>
      <attachid>10280</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-28 11:18:05 -0700</bug_when>
    <thetext>Created attachment 10280
Updated: Fix crash hit in css2.1 - in RenderMenuList

As discussed with Alexey: Provide stub implementation of RenderPopupMenuQt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54047</commentid>
    <comment_count>11</comment_count>
      <attachid>10272</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-08-28 11:35:26 -0700</bug_when>
    <thetext>Comment on attachment 10272
run-webkit-tests modifications for Qt

Committed revision 16077, clearing review flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54048</commentid>
    <comment_count>12</comment_count>
      <attachid>10275</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-08-28 11:35:56 -0700</bug_when>
    <thetext>Comment on attachment 10275
Updated: Offer QString -&gt; DeprecatedString conversion

Committed revision 16078, clearing review flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54049</commentid>
    <comment_count>13</comment_count>
      <attachid>10280</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-08-28 11:39:00 -0700</bug_when>
    <thetext>Comment on attachment 10280
Updated: Fix crash hit in css2.1 - in RenderMenuList

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54050</commentid>
    <comment_count>14</comment_count>
      <attachid>10280</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-08-28 11:43:20 -0700</bug_when>
    <thetext>Comment on attachment 10280
Updated: Fix crash hit in css2.1 - in RenderMenuList

Committed revision 16079, clearing review flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54192</commentid>
    <comment_count>15</comment_count>
      <attachid>10271</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-08-29 15:20:18 -0700</bug_when>
    <thetext>Comment on attachment 10271
Replace libcurl usage by KIO

style: (no {} needed)
+    if (job-&gt;method() == &quot;POST&quot;) {
+        // Will take care of informing our client...
+        // This must be called before receivedAllData(),
+        // otherwhise assembleResponseHeaders() is called too early...
+        job-&gt;receivedResponse(kioJob-&gt;queryMetaData(&quot;HTTP-Headers&quot;));
+    }

The changes in general look sane.  They won&apos;t harm any other port.  However I have neither the Qt expertise nor the Loader architecture expertise to really grill you with this review.  If you&apos;re comfortable with a &quot;yeah this looks sane&quot; review, then r=me.  Otherwise you&apos;ll need to corner maciej when he&apos;s around and ask him about loader architectures.  I doubt anyone on the team has much in the way of Qt expertise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54193</commentid>
    <comment_count>16</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-29 15:23:51 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; The changes in general look sane.  They won&apos;t harm any other port.  However I
&gt; have neither the Qt expertise nor the Loader architecture expertise to really
&gt; grill you with this review.  If you&apos;re comfortable with a &quot;yeah this looks
&gt; sane&quot; review, then r=me.  Otherwise you&apos;ll need to corner maciej when he&apos;s
&gt; around and ask him about loader architectures.  I doubt anyone on the team has
&gt; much in the way of Qt expertise.
&gt; 

Sounds fair enough, when I implement the bridge-like architecture
(the next days :-) I&apos;ll definately ask Maciej for the begin() stuff
- as discussed on IRC. Thanks for the review anyway!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55094</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-09-08 18:30:17 -0700</bug_when>
    <thetext>looks to be landed already.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10270</attachid>
            <date>2006-08-28 05:49:47 -0700</date>
            <delta_ts>2006-08-28 09:58:25 -0700</delta_ts>
            <desc>Offer QString -&gt; DeprecatedString conversion</desc>
            <filename>string.diff</filename>
            <type>text/plain</type>
            <size>1811</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShSZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCShBcmJlaXRza29waWUpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMDYtMDgtMjggIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXhlcyBvbmUgY2h1bmsgb2Y6IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA2MDQKKyAgICAgICAgT2ZmZXIgUVN0cmluZyAtPiBEZXByZWNhdGVk
U3RyaW5nIGNvbnZlcnNpb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9EZXByZWNhdGVkU3RyaW5n
Lmg6CisgICAgICAgICogcGxhdGZvcm0vcXQvU3RyaW5nUXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RGVwcmVjYXRlZFN0cmluZzo6RGVwcmVjYXRlZFN0cmluZyk6CisKIDIwMDYtMDgtMjcgIEJy
YWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1h
Y2llagpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9TdHJpbmdRdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9TdHJpbmdRdC5jcHAJKFJldmlzaW9uIDE2MDcwKQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9xdC9TdHJpbmdRdC5jcHAJKEFyYmVpdHNrb3BpZSkKQEAgLTMyLDYg
KzMyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBTdHJpbmcgY29udmVyc2lvbnMK
IFN0cmluZzo6U3RyaW5nKGNvbnN0IFFTdHJpbmcmIHFzdHIpCiB7CiAgICAgdW5zaWduZWQgaW50
IGxlbiA9IHFzdHIubGVuZ3RoKCk7CkBAIC01MSw2ICs1MiwxMyBAQAogICAgIHJldHVybiBRU3Ry
aW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgUUNoYXIqPihjaGFyYWN0ZXJzKCkpLCBsZW5ndGgo
KSk7CiB9CiAKKy8vIERlcHJlY2F0ZWRTdHJpbmcgY29udmVyc2lvbnMKK0RlcHJlY2F0ZWRTdHJp
bmc6OkRlcHJlY2F0ZWRTdHJpbmcoY29uc3QgUVN0cmluZyYgcXN0cikKK3sKKyAgICBRQnl0ZUFy
cmF5IHV0ZjhEYXRhID0gcXN0ci50b1V0ZjgoKTsKKyAgICAoKnRoaXMpID0gRGVwcmVjYXRlZFN0
cmluZzo6ZnJvbVV0ZjgodXRmOERhdGEuZGF0YSgpLCB1dGY4RGF0YS5sZW5ndGgoKSk7Cit9CisK
IERlcHJlY2F0ZWRTdHJpbmc6Om9wZXJhdG9yIFFTdHJpbmcoKSBjb25zdAogewogICAgIHJldHVy
biBRU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgUUNoYXIqPih1bmljb2RlKCkpLCBsZW5n
dGgoKSk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRTdHJpbmcuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRTdHJpbmcuaAkoUmV2aXNpb24gMTYw
NzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRTdHJpbmcuaAkoQXJiZWl0c2tvcGll
KQpAQCAtMjUzLDYgKzI1Myw3IEBACiAgICAgb3BlcmF0b3IgS0pTOjpVU3RyaW5nKCkgY29uc3Q7
CiAKICNpZiBQTEFURk9STShRVCkKKyAgICBEZXByZWNhdGVkU3RyaW5nKGNvbnN0IFFTdHJpbmcm
KTsKICAgICBvcGVyYXRvciBRU3RyaW5nKCkgY29uc3Q7CiAjZW5kaWYKIAo=
</data>
<flag name="review"
          id="3233"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10271</attachid>
            <date>2006-08-28 05:51:51 -0700</date>
            <delta_ts>2006-08-29 15:20:18 -0700</delta_ts>
            <desc>Replace libcurl usage by KIO</desc>
            <filename>use-kio.diff</filename>
            <type>text/plain</type>
            <size>29923</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShSZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCShBcmJlaXRza29waWUpCkBA
IC0xLDMgKzEsNDEgQEAKKzIwMDYtMDgtMjggIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXhlcyBvbmUgY2h1bmsgb2Y6IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA2MDQKKworICAgICAgICBGaW5pc2ggVW5pdHkgbWVyZ2luZy4gUmVt
b3ZlIGxpYmN1cmwgdXNhZ2UsIGluIGZhdm91ciBvZiBLSU8uCisgICAgICAgIFRoaXMgbWFrZXMg
dGhlIHJlZ3Jlc3Npb24gdGVzdGluZyBmbHkhIElPIHByb2Nlc3NpbmcgaXMgd2F5IGZhc3RlciBu
b3cuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9SZXNv
dXJjZUxvYWRlckludGVybmFsLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcklu
dGVybmFsOjpSZXNvdXJjZUxvYWRlckludGVybmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9G
cmFtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lUXQ6Om9wZW5VUkwpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVRdDo6c3VibWl0Rm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVF0Ojp1cmxTZWxlY3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVF0OjpjcmVhdGVFbXB0
eURvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lUXQ6OnJlY2VpdmVkRGF0YSk6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVF0OjpyZWNlaXZlZEFsbERhdGEpOgorICAgICAgICAqIHBs
YXRmb3JtL3F0L0ZyYW1lUXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZXNvdXJjZUxvYWRl
ckN1cmwuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL3F0L1Jlc291cmNlTG9hZGVy
TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlck1hbmFnZXI6OlJl
c291cmNlTG9hZGVyTWFuYWdlcik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlck1h
bmFnZXI6On5SZXNvdXJjZUxvYWRlck1hbmFnZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VMb2FkZXJNYW5hZ2VyOjpzZWxmKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVy
TWFuYWdlcjo6c2xvdERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXJNYW5h
Z2VyOjpzbG90TWltZXR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXJNYW5h
Z2VyOjpzbG90UmVzdWx0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyTWFuYWdl
cjo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyTWFuYWdlcjo6YWRk
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZXNvdXJjZUxvYWRlck1hbmFnZXIuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9SZXNvdXJjZUxvYWRlclF0LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRlckludGVybmFsOjp+UmVzb3VyY2VMb2FkZXJJbnRlcm5hbCk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6flJlc291cmNlTG9hZGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRlcjo6Y2FuY2VsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyOjphc3NlbWJsZVJlc3BvbnNlSGVhZGVycyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRlcjo6cmV0cmlldmVDaGFyc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyOjpyZWNlaXZlZFJlc3BvbnNlKToKKwogMjAwNi0wOC0yNyAgQnJhZHkgRWlkc29uICA8YmVp
ZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqCkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL3F0L0ZyYW1lUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L3F0L0ZyYW1lUXQuaAkoUmV2aXNpb24gMTYwNzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L0Zy
YW1lUXQuaAkoQXJiZWl0c2tvcGllKQpAQCAtMTQ2LDcgKzE0Niw3IEBACiAgICAgdmlydHVhbCBi
b29sIHBhc3NNb3VzZURvd25FdmVudFRvV2lkZ2V0KFdpZGdldCopOwogCiAgICAgRnJhbWVRdENs
aWVudCogbV9jbGllbnQ7Ci0gICAgCisgICAgYm9vbCBtX2JlZ2luQ2FsbGVkIDogMTsgICAgCiB9
OwogCiB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1Jlc291cmNlTG9hZGVyTWFuYWdlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVzb3VyY2VMb2FkZXJNYW5hZ2Vy
LmgJKFJldmlzaW9uIDE2MDcwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZXNvdXJjZUxvYWRl
ck1hbmFnZXIuaAkoQXJiZWl0c2tvcGllKQpAQCAtMSw2ICsxLDYgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDYgTWljaGFlbCBFbW1lbCBtaWtlLmVtbWVsQGdtYWlsLmNvbSAK
KyAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2Rl
Lm9yZz4KKyAqCiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAt
MjIsNTIgKzIyLDQ1IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgUmVzb3VyY2VM
b2FkZXJNYW5hZ2VyX0hfCi0jZGVmaW5lIFJlc291cmNlTG9hZGVyTWFuYWdlcl9IXworI2lmbmRl
ZiBSZXNvdXJjZUxvYWRlck1hbmFnZXJfSAorI2RlZmluZSBSZXNvdXJjZUxvYWRlck1hbmFnZXJf
SAogCisjaW5jbHVkZSA8UU1hcD4KKyNpbmNsdWRlIDxRT2JqZWN0PgorCiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyQ2xpZW50
LmgiCi0jaW5jbHVkZSA8Y3VybC9jdXJsLmg+CisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXIuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZXNvdXJjZUxvYWRlck1hbmFnZXIgewor
Y2xhc3MgUmVzb3VyY2VMb2FkZXJNYW5hZ2VyIDogcHVibGljIFFPYmplY3QgeworUV9PQkpFQ1QK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVzb3VyY2VMb2FkZXJNYW5hZ2VyKiBnZXQoKTsKKyAgICBz
dGF0aWMgUmVzb3VyY2VMb2FkZXJNYW5hZ2VyKiBzZWxmKCk7CisKICAgICB2b2lkIGFkZChSZXNv
dXJjZUxvYWRlciopOwogICAgIHZvaWQgY2FuY2VsKFJlc291cmNlTG9hZGVyKik7CiAKLSAgICAv
LyBJZiB0cnVlLCBkb24ndCBtdWx0aXBsZXggZG93bmxvYWRzOiBkb3dubG9hZCBjb21wbGV0ZWx5
IG9uZSBhdCBhIHRpbWUuCi0gICAgdm9pZCB1c2VTaW1wbGVUcmFuc2Zlcihib29sIHVzZVNpbXBs
ZSk7Ci0KK3B1YmxpYyBRX1NMT1RTOgorICAgIHZvaWQgc2xvdERhdGEoS0lPOjpKb2IqLCBjb25z
dCBRQnl0ZUFycmF5JiBkYXRhKTsKKyAgICB2b2lkIHNsb3RNaW1ldHlwZShLSU86OkpvYiosIGNv
bnN0IFFTdHJpbmcmIHR5cGUpOworICAgIHZvaWQgc2xvdFJlc3VsdChLSm9iKik7CisgICAgCiBw
cml2YXRlOgogICAgIFJlc291cmNlTG9hZGVyTWFuYWdlcigpOwotICAgIHZvaWQgZG93bmxvYWRU
aW1lckNhbGxiYWNrKFRpbWVyPFJlc291cmNlTG9hZGVyTWFuYWdlcj4qKTsKKyAgICB+UmVzb3Vy
Y2VMb2FkZXJNYW5hZ2VyKCk7CisKICAgICB2b2lkIHJlbW92ZShSZXNvdXJjZUxvYWRlciopOwog
Ci0gICAgYm9vbCBtX3VzZVNpbXBsZTsKLSAgICBIYXNoU2V0PFJlc291cmNlTG9hZGVyKj4qIGpv
YnM7Ci0gICAgVGltZXI8UmVzb3VyY2VMb2FkZXJNYW5hZ2VyPiBtX2Rvd25sb2FkVGltZXI7Ci0g
ICAgQ1VSTE0qIGN1cmxNdWx0aUhhbmRsZTsgLy8gbm90IGZyZWVkCi0KLSAgICAvLyBjdXJsIGZp
bGVoYW5kbGVzIHRvIHBvbGwgd2l0aCBzZWxlY3QKLSAgICBmZF9zZXQgZmRyZWFkOwotICAgIGZk
X3NldCBmZHdyaXRlOwotICAgIGZkX3NldCBmZGV4Y2VwOwotCi0gICAgaW50IG1heGZkOwotICAg
IGNoYXIgZXJyb3JfYnVmZmVyW0NVUkxfRVJST1JfU0laRV07Ci0KLSAgICAvLyBOVUxMLXRlcm1p
bmF0ZWQgbGlzdCBvZiBzdXBwb3J0ZWQgcHJvdG9jb2xzCi0gICAgY29uc3QgY2hhciogY29uc3Qq
IGN1cmxfcHJvdG9jb2xzOyAvLyBub3QgZnJlZWQKKyAgICAvLyBLSU8gSm9iIDwtPiBXZWJLaXQg
Sm9iIG1hcHBpbmcKKyAgICBRTWFwPFJlc291cmNlTG9hZGVyKiwgS0lPOjpKb2IqPiBtX2pvYlRv
S2lvTWFwOworICAgIFFNYXA8S0lPOjpKb2IqLCBSZXNvdXJjZUxvYWRlcio+IG1fa2lvVG9Kb2JN
YXA7CiB9OwogCiB9CiAKICNlbmRpZgotCi0vLyB2aW06IHRzPTQgc3c9NCBldApJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9SZXNvdXJjZUxvYWRlclF0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL3F0L1Jlc291cmNlTG9hZGVyUXQuY3BwCShSZXZpc2lvbiAwKQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9SZXNvdXJjZUxvYWRlclF0LmNwcAkoUmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxMDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5u
IDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSA8a2lvL2pvYi5oPgorCisjaW5jbHVk
ZSAiRG9jTG9hZGVyLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXIuaCIKKyNpbmNsdWRlICJE
ZXByZWNhdGVkU3RyaW5nLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJNYW5hZ2VyLmgiCisj
aW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJJbnRlcm5hbC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1Jlc291cmNlTG9hZGVySW50ZXJuYWw6On5SZXNvdXJjZUxvYWRlckludGVybmFsKCkKK3sK
K30KKworUmVzb3VyY2VMb2FkZXI6On5SZXNvdXJjZUxvYWRlcigpCit7CisgICAgY2FuY2VsKCk7
Cit9CisKK2Jvb2wgUmVzb3VyY2VMb2FkZXI6OnN0YXJ0KERvY0xvYWRlciopCit7CisgICAgUmVz
b3VyY2VMb2FkZXJNYW5hZ2VyOjpzZWxmKCktPmFkZCh0aGlzKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKwordm9pZCBSZXNvdXJjZUxvYWRlcjo6Y2FuY2VsKCkKK3sKKyAgICBSZXNvdXJjZUxvYWRl
ck1hbmFnZXI6OnNlbGYoKS0+Y2FuY2VsKHRoaXMpOworfQorCit2b2lkIFJlc291cmNlTG9hZGVy
Ojphc3NlbWJsZVJlc3BvbnNlSGVhZGVycygpIGNvbnN0Cit7CisgICAgaWYgKCFkLT5hc3NlbWJs
ZWRSZXNwb25zZUhlYWRlcnMpIHsKKyAgICAgICAgZC0+cmVzcG9uc2VIZWFkZXJzID0gZC0+bV9y
ZXNwb25zZTsKKyAgICAgICAgZC0+YXNzZW1ibGVkUmVzcG9uc2VIZWFkZXJzID0gdHJ1ZTsKKyAg
ICAgICAgZC0+bV9yZXNwb25zZSA9IFFTdHJpbmcoKTsgLy8gUmVzZXQKKyAgICB9Cit9CisKK3Zv
aWQgUmVzb3VyY2VMb2FkZXI6OnJldHJpZXZlQ2hhcnNldCgpIGNvbnN0Cit7CisgICAgaWYgKCFk
LT5yZXRyaWV2ZWRDaGFyc2V0KSB7CisgICAgICAgIGQtPnJldHJpZXZlZENoYXJzZXQgPSB0cnVl
OworCisgICAgICAgIGludCBwb3MgPSBkLT5yZXNwb25zZUhlYWRlcnMuZmluZCgiY29udGVudC10
eXBlOiIsIDAsIGZhbHNlKTsKKworICAgICAgICBpZiAocG9zID4gLTEpIHsKKyAgICAgICAgICAg
IHBvcyArPSAxMzsKKyAgICAgICAgICAgIGludCBpbmRleCA9IGQtPnJlc3BvbnNlSGVhZGVycy5m
aW5kKCdcbicsIHBvcyk7CisgICAgICAgICAgICBRU3RyaW5nIHR5cGUgPSBkLT5yZXNwb25zZUhl
YWRlcnMubWlkKHBvcywgKGluZGV4IC0gcG9zKSk7CisgICAgICAgICAgICBpbmRleCA9IHR5cGUu
aW5kZXhPZignOycpOworCisgICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkgeworICAgICAgICAg
ICAgICAgIFFTdHJpbmcgZW5jb2RpbmcgPSB0eXBlLm1pZChpbmRleCArIDEpLnJlbW92ZShRUmVn
RXhwKCJjaGFyc2V0WyBdKj1bIF0qIiwgUXQ6OkNhc2VJbnNlbnNpdGl2ZSkpLnRyaW1tZWQoKTsK
KyAgICAgICAgICAgICAgICBkLT5tZXRhRGF0YS5zZXQoImNoYXJzZXQiLCBlbmNvZGluZyk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgUmVzb3VyY2VMb2FkZXI6
OnJlY2VpdmVkUmVzcG9uc2UoUVN0cmluZyByZXNwb25zZSkKK3sKKyAgICBRX0FTU0VSVChtZXRo
b2QoKSA9PSAiUE9TVCIpOworCisgICAgZC0+YXNzZW1ibGVkUmVzcG9uc2VIZWFkZXJzID0gZmFs
c2U7CisgICAgZC0+cmV0cmlldmVkQ2hhcnNldCA9IGZhbHNlOworICAgIGQtPm1fcmVzcG9uc2Ug
PSByZXNwb25zZTsKKworICAgIGlmIChkLT5jbGllbnQpCisgICAgICAgIGQtPmNsaWVudC0+cmVj
ZWl2ZWRSZXNwb25zZShjb25zdF9jYXN0PFJlc291cmNlTG9hZGVyKj4odGhpcyksIHJlc3BvbnNl
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9x
dC9GcmFtZVF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0L0ZyYW1lUXQu
Y3BwCShSZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vcXQvRnJhbWVRdC5jcHAJ
KEFyYmVpdHNrb3BpZSkKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJET01XaW5kb3cuaCIK
ICNpbmNsdWRlICJET01JbXBsZW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkJyb3dzZXJFeHRlbnNp
b25RdC5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZGVySW50ZXJuYWwuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiUGx1Z2luLmgiCkBA
IC0xNDEsMTUgKzE0MiwxMCBAQAogYm9vbCBGcmFtZVF0OjpvcGVuVVJMKGNvbnN0IEtVUkwmIHVy
bCkKIHsKICAgICBkaWRPcGVuVVJMKHVybCk7CisgICAgbV9iZWdpbkNhbGxlZCA9IGZhbHNlOwog
Ci0gICAgLy8gRklYTUU6IFVzZSBtaW1ldHlwZSBsb2dpYyBmcm9tIEtJTyEKLSAgICAvLyBSZXNv
dXJjZVJlcXVlc3QgcmVxdWVzdChyZXNvdXJjZVJlcXVlc3QoKSk7Ci0gICAgLy8gcmVxdWVzdC5t
X3Jlc3BvbnNlTUlNRVR5cGUgPSAiaW1hZ2Uvc3ZnK3htbCI7Ci0gICAgLy8gc2V0UmVzb3VyY2VS
ZXF1ZXN0KHJlcXVlc3QpOwotCi0gICAgYmVnaW4odXJsKTsKICAgICBSZXNvdXJjZUxvYWRlciog
am9iID0gbmV3IFJlc291cmNlTG9hZGVyKHRoaXMsICJHRVQiLCB1cmwpOwotICAgIGpvYi0+c3Rh
cnQoZG9jdW1lbnQoKS0+ZG9jTG9hZGVyKCkpOworICAgIGpvYi0+c3RhcnQoMCk7CiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKQEAgLTE2NiwxMCArMTYyLDEwIEBACiAgICAgICAgIG1fY2xpZW50LT5z
dWJtaXRGb3JtKHJlcXVlc3QuZG9Qb3N0KCkgPyAiUE9TVCIgOiAiR0VUIiwgcmVxdWVzdC51cmwo
KSwgJnJlcXVlc3QucG9zdERhdGEpOwogICAgICovCiAKLSAgICBiZWdpbihyZXF1ZXN0LnVybCgp
KTsKKyAgICBtX2JlZ2luQ2FsbGVkID0gZmFsc2U7CiAKICAgICBSZXNvdXJjZUxvYWRlciogam9i
ID0gbmV3IFJlc291cmNlTG9hZGVyKHRoaXMsIHJlcXVlc3QuZG9Qb3N0KCkgPyAiUE9TVCIgOiAi
R0VUIiwgcmVxdWVzdC51cmwoKSwgcmVxdWVzdC5wb3N0RGF0YSk7Ci0gICAgam9iLT5zdGFydChk
b2N1bWVudCgpLT5kb2NMb2FkZXIoKSk7CisgICAgam9iLT5zdGFydCgwKTsKICAgICAKICAgICBj
bGVhclJlY29yZGVkRm9ybVZhbHVlcygpOwogfQpAQCAtMTc4LDEwICsxNzQsMTIgQEAKIHsKICAg
ICAvL25lZWQgdG8gcG90ZW50aWFsbHkgdXBkYXRlTG9jYXRpb25CYXIoc3RyLmFzY2lpKCkpOyBv
ciBub3RpZnkgc3lzIG9mIG5ldyB1cmwgbXliZSBldmVudCBvciBjYWxsYmFjawogICAgIGNvbnN0
IEtVUkwgdXJsID0gcmVxdWVzdC51cmwoKTsKLSAgICBkaWRPcGVuVVJMKHVybCk7Ci0gICAgYmVn
aW4odXJsKTsKKworICAgIGRpZE9wZW5VUkwodXJsKTsgCisgICAgbV9iZWdpbkNhbGxlZCA9IGZh
bHNlOworCiAgICAgUmVzb3VyY2VMb2FkZXIqIGpvYiA9IG5ldyBSZXNvdXJjZUxvYWRlcih0aGlz
LCAiR0VUIiwgdXJsKTsKLSAgICBqb2ItPnN0YXJ0KGRvY3VtZW50KCktPmRvY0xvYWRlcigpKTsK
KyAgICBqb2ItPnN0YXJ0KDApOwogfQogCiBTdHJpbmcgRnJhbWVRdDo6dXNlckFnZW50KCkgY29u
c3QKQEAgLTI3Niw3ICsyNzQsMTEgQEAKIAogdm9pZCBGcmFtZVF0OjpjcmVhdGVFbXB0eURvY3Vt
ZW50KCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQg
bGlrZSBkZXNjcmliZWQgaW4gdGhpcyBjb21tZW50IGZyb20gRnJhbWVNYWM6CisgICAgLy8KKyAg
ICAvLyBBbHRob3VnaCBpdCdzIG5vdCBjb21wbGV0ZWx5IGNsZWFyIGZyb20gdGhlIG5hbWUgb2Yg
dGhpcyBmdW5jdGlvbiwKKyAgICAvLyBpdCBkb2VzIG5vdGhpbmcgaWYgd2UgYWxyZWFkeSBoYXZl
IGEgZG9jdW1lbnQsIGFuZCBqdXN0IGNyZWF0ZXMgYW4KKyAgICAvLyBlbXB0eSBvbmUgaWYgd2Ug
aGF2ZSBubyBkb2N1bWVudCBhdCBhbGwuCiB9CiAKIFJhbmdlKiBGcmFtZVF0OjptYXJrZWRUZXh0
UmFuZ2UoKSBjb25zdApAQCAtNTI3LDEyICs1MjksMjcgQEAKIAogdm9pZCBGcmFtZVF0OjpyZWNl
aXZlZERhdGEoUmVzb3VyY2VMb2FkZXIqIGpvYiwgY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0
aCkKIHsKKyAgICBpZiAoIW1fYmVnaW5DYWxsZWQpIHsKKyAgICAgICAgbV9iZWdpbkNhbGxlZCA9
IHRydWU7CisKKyAgICAgICAgLy8gQXNzaWduIGNvcnJlY3QgbWltZXR5cGUgX2JlZm9yZV8gY2Fs
bGluZyBiZWdpbigpIQorICAgICAgICBSZXNvdXJjZUxvYWRlckludGVybmFsKiBkID0gam9iLT5n
ZXRJbnRlcm5hbCgpOworICAgICAgICBpZiAoZCkgeworICAgICAgICAgICAgUmVzb3VyY2VSZXF1
ZXN0IHJlcXVlc3QocmVzb3VyY2VSZXF1ZXN0KCkpOworICAgICAgICAgICAgcmVxdWVzdC5tX3Jl
c3BvbnNlTUlNRVR5cGUgPSBkLT5tX21pbWV0eXBlOworICAgICAgICAgICAgc2V0UmVzb3VyY2VS
ZXF1ZXN0KHJlcXVlc3QpOworICAgICAgICB9CisKKyAgICAgICAgYmVnaW4oam9iLT51cmwoKSk7
CisgICAgfQorCiAgICAgd3JpdGUoZGF0YSwgbGVuZ3RoKTsKIH0KIAogdm9pZCBGcmFtZVF0Ojpy
ZWNlaXZlZEFsbERhdGEoUmVzb3VyY2VMb2FkZXIqIGpvYiwgUGxhdGZvcm1EYXRhIGRhdGEpCiB7
CiAgICAgZW5kKCk7CisgICAgbV9iZWdpbkNhbGxlZCA9IGZhbHNlOwogfQogCiB2b2lkIEZyYW1l
UXQ6OnNldEZyYW1lR2VvbWV0cnkoY29uc3QgSW50UmVjdCYgcikKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vcXQvUmVzb3VyY2VMb2FkZXJDdXJsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL3F0L1Jlc291cmNlTG9hZGVyQ3VybC5jcHAJKFJldmlzaW9uIDE2MDcwKQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9SZXNvdXJjZUxvYWRlckN1cmwuY3BwCShBcmJlaXRza29waWUpCkBA
IC0xLDEwNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA2IEFwcGxlIENv
bXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA1
LCAyMDA2IE1pY2hhZWwgRW1tZWwgbWlrZS5lbW1lbEBnbWFpbC5jb20gCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Ci0gCi0gKiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVk
ZSAiUmVzb3VyY2VMb2FkZXIuaCIKLQotI2luY2x1ZGUgIkRvY0xvYWRlci5oIgotI2luY2x1ZGUg
IlJlc291cmNlTG9hZGVySW50ZXJuYWwuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWRlck1hbmFn
ZXIuaCIKLQotI2RlZmluZSBub3RJbXBsZW1lbnRlZCgpIGRvIHsgZnByaW50ZihzdGRlcnIsICJG
SVhNRTogVU5JTVBMRU1FTlRFRDogJXM6JWRcbiIsIF9fRklMRV9fLCBfX0xJTkVfXyk7IH0gd2hp
bGUoMCkKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZXNvdXJjZUxvYWRlckludGVybmFsOjp+
UmVzb3VyY2VMb2FkZXJJbnRlcm5hbCgpCi17Ci19Ci0KLVJlc291cmNlTG9hZGVyOjp+UmVzb3Vy
Y2VMb2FkZXIoKQotewotICAgIGNhbmNlbCgpOwotfQotCi1ib29sIFJlc291cmNlTG9hZGVyOjpz
dGFydChEb2NMb2FkZXIqIGRvY0xvYWRlcikKLXsKLSAgICBSZXNvdXJjZUxvYWRlck1hbmFnZXI6
OmdldCgpLT5hZGQodGhpcyk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgUmVzb3VyY2VM
b2FkZXI6OmNhbmNlbCgpCi17Ci0gICAgUmVzb3VyY2VMb2FkZXJNYW5hZ2VyOjpnZXQoKS0+Y2Fu
Y2VsKHRoaXMpOwotfQotCi12b2lkIFJlc291cmNlTG9hZGVyOjphc3NlbWJsZVJlc3BvbnNlSGVh
ZGVycygpIGNvbnN0Ci17Ci0gICAgaWYgKCFkLT5hc3NlbWJsZWRSZXNwb25zZUhlYWRlcnMpIHsK
LSAgICAgICAgZC0+cmVzcG9uc2VIZWFkZXJzID0gRGVwcmVjYXRlZFN0cmluZzo6ZnJvbVV0Zjgo
ZC0+cmVzcG9uc2UudG9VdGY4KCksIGQtPnJlc3BvbnNlLmxlbmd0aCgpKTsKLSAgICAgICAgZC0+
YXNzZW1ibGVkUmVzcG9uc2VIZWFkZXJzID0gdHJ1ZTsKLSAKLSAgICAgICAgLy8gRklYTUU6IE1v
dmUgdGhlIGNsaWVudCBhY3RpdmF0aW9uIHRvIHJlY2VpdmVkUmVzcG9uc2UoKSwgb25jZQotICAg
ICAgICAvLyB3ZSB1c2UgS0lPLCBhbmQgcmVjZWl2ZWRSZXNwb25zZSgpIGlzIGNhbGxlZCBvbmx5
IG9uY2UuCi0gICAgICAgIGlmIChkLT5jbGllbnQpCi0gICAgICAgICAgICBkLT5jbGllbnQtPnJl
Y2VpdmVkUmVzcG9uc2UoY29uc3RfY2FzdDxSZXNvdXJjZUxvYWRlcio+KHRoaXMpLCBkLT5yZXNw
b25zZSk7Ci0KLSAgICAgICAgZC0+cmVzcG9uc2UgPSBRU3RyaW5nKCk7IC8vIFJlc2V0Ci0gICAg
fQotfQotCi12b2lkIFJlc291cmNlTG9hZGVyOjpyZXRyaWV2ZUNoYXJzZXQoKSBjb25zdAotewot
ICAgIGlmICghZC0+cmV0cmlldmVkQ2hhcnNldCkKLSAgICAgICAgZC0+cmV0cmlldmVkQ2hhcnNl
dCA9IHRydWU7Ci0KLSAgICAvLyBGSVhNRTogV2UgY2FuIGp1c3QgcGFyc2UgdGhlIGhlYWRlcnMg
aGVyZSwgYnV0IG9uY2Ugd2UgdXNlIEtJTwotICAgIC8vIHdlIGNhbiBzZXQgdGhlIHJlc3BvbnNl
IHBhcmFtZXRlciB0byBzdGguIGVsc2UgdGhhbiBhICJjaGFyKiIuCi0gICAgLy8gSSBzYXZlIG15
IHRpbWUgYnV0IG5vdCBpbXBsZW1lbnRpbmcgaXQgZm9yIG5vdyA6LSkKLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotfQotCi12b2lkIFJlc291cmNlTG9hZGVyOjpyZWNlaXZlZFJlc3BvbnNlKFFTdHJp
bmcgcmVzcG9uc2UpCi17Ci0gICAgUV9BU1NFUlQobWV0aG9kKCkgPT0gIlBPU1QiKTsKLQotICAg
IGQtPmFzc2VtYmxlZFJlc3BvbnNlSGVhZGVycyA9IGZhbHNlOwotICAgIGQtPnJldHJpZXZlZENo
YXJzZXQgPSBmYWxzZTsKLQotICAgIC8vIEZJWE1FOiBUaGlzIGlzIGZsYXdlZDoKLSAgICAvLyAt
IHVzdWFsbHkgcmVjZWl2ZWRSZXNwb25zZSgpIHNob3VsZCBiZSBjYWxsZWQgX29uY2VfLCB3aGVu
IHRoZQotICAgIC8vICAgcmVzcG9uc2UgaXMgYXZhaWxhYmxlIC0gc2VlbXMgdmVyeSB1bmZsZXhp
YmxlIHRvIGRvIHRoYXQgd2l0aCBsaWJjdXJsCi0gICAgLy8gICAoc28gbGV0J3Mgd2FpdCB1bnRp
bCBpdCBkaWVzIGFuZCBkbyBpdCBwcm9wZXJseSB3aXRoIEtJTyB0aGVuLikKLSAgICAvLyAtIFFT
dHJpbmc6OmZyb21MYXRpbjEoKSBpcyBhbHNvIHdyb25nLCBvZiBjb3Vyc2UuCi0gICAgLy8KLSAg
ICAvLyBBbnl3YXksIGxldCdzIGNvbGxlY3QgdGhlIHJlc3BvbnNlIGRhdGEgaGVyZSwgYXMgdGhl
IFJlc291cmNlTG9hZGVyTWFuYWdlcgotICAgIC8vIGNhbGxzIHVzIGZvciBldmVyeSBsaW5lIG9m
IHRoZSBoZWFkZXIgaXQgcmVjZWl2ZXMuCi0gICAgZC0+cmVzcG9uc2UgKz0gcmVzcG9uc2U7Ci19
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotLy8gdmltOiB0cz00IHN3PTQgZXQKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVzb3VyY2VMb2FkZXJNYW5hZ2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0L1Jlc291cmNlTG9hZGVyTWFuYWdlci5jcHAJKFJldmlz
aW9uIDE2MDcwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZXNvdXJjZUxvYWRlck1hbmFnZXIu
Y3BwCShBcmJlaXRza29waWUpCkBAIC0xLDYgKzEsNiBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwNCwgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
IENvcHlyaWdodCAoQykgMjAwNiBNaWNoYWVsIEVtbWVsIG1pa2UuZW1tZWxAZ21haWwuY29tIAor
ICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUu
b3JnPgorICoKICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0y
NiwyMDUgKzI2LDE1MyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJS
ZXNvdXJjZUxvYWRlck1hbmFnZXIuaCIKIAotI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyLmgiCisj
aW5jbHVkZSA8a2lvL2pvYi5oPgorCisjaW5jbHVkZSAiRnJhbWVRdC5oIgorI2luY2x1ZGUgIlJl
c291cmNlTG9hZGVyTWFuYWdlci5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZGVySW50ZXJuYWwu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBpbnQgc2VsZWN0VGltZW91dE1TID0g
NTsKLWNvbnN0IGRvdWJsZSBwb2xsVGltZVNlY29uZHMgPSAwLjA1Oworc3RhdGljIFJlc291cmNl
TG9hZGVyTWFuYWdlciogc19zZWxmID0gMDsKIAogUmVzb3VyY2VMb2FkZXJNYW5hZ2VyOjpSZXNv
dXJjZUxvYWRlck1hbmFnZXIoKQotICAgIDogbV91c2VTaW1wbGUoZmFsc2UpCi0gICAgLCBqb2Jz
KG5ldyBIYXNoU2V0PFJlc291cmNlTG9hZGVyKj4pCi0gICAgLCBtX2Rvd25sb2FkVGltZXIodGhp
cywgJlJlc291cmNlTG9hZGVyTWFuYWdlcjo6ZG93bmxvYWRUaW1lckNhbGxiYWNrKQorICAgIDog
bV9qb2JUb0tpb01hcCgpCisgICAgLCBtX2tpb1RvSm9iTWFwKCkKIHsKLSAgICBjdXJsX2dsb2Jh
bF9pbml0KENVUkxfR0xPQkFMX0FMTCk7Ci0gICAgY3VybE11bHRpSGFuZGxlID0gY3VybF9tdWx0
aV9pbml0KCk7CiB9CiAKLVJlc291cmNlTG9hZGVyTWFuYWdlciogUmVzb3VyY2VMb2FkZXJNYW5h
Z2VyOjpnZXQoKQorUmVzb3VyY2VMb2FkZXJNYW5hZ2VyOjp+UmVzb3VyY2VMb2FkZXJNYW5hZ2Vy
KCkKIHsKLSAgICBzdGF0aWMgUmVzb3VyY2VMb2FkZXJNYW5hZ2VyKiBzX3NpbmdsZXRvbjsKLQot
ICAgIGlmICghc19zaW5nbGV0b24pCi0gICAgICAgIHNfc2luZ2xldG9uID0gbmV3IFJlc291cmNl
TG9hZGVyTWFuYWdlcjsKLQotICAgIHJldHVybiBzX3NpbmdsZXRvbjsKIH0KIAotdm9pZCBSZXNv
dXJjZUxvYWRlck1hbmFnZXI6OnVzZVNpbXBsZVRyYW5zZmVyKGJvb2wgdXNlU2ltcGxlKQorUmVz
b3VyY2VMb2FkZXJNYW5hZ2VyKiBSZXNvdXJjZUxvYWRlck1hbmFnZXI6OnNlbGYoKQogewotICAg
IG1fdXNlU2ltcGxlID0gdXNlU2ltcGxlOworICAgIGlmICghc19zZWxmKQorICAgICAgICBzX3Nl
bGYgPSBuZXcgUmVzb3VyY2VMb2FkZXJNYW5hZ2VyKCk7CisKKyAgICByZXR1cm4gc19zZWxmOwog
fQogCi1zdGF0aWMgc2l6ZV90IHdyaXRlQ2FsbGJhY2sodm9pZCogcHRyLCBzaXplX3Qgc2l6ZSwg
c2l6ZV90IG5tZW1iLCB2b2lkKiBvYmopCit2b2lkIFJlc291cmNlTG9hZGVyTWFuYWdlcjo6c2xv
dERhdGEoS0lPOjpKb2IqIGtpb0pvYiwgY29uc3QgUUJ5dGVBcnJheSYgZGF0YSkKIHsKLSAgICBS
ZXNvdXJjZUxvYWRlciogam9iID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VMb2FkZXIqPihvYmopOwor
CisgICAgUmVzb3VyY2VMb2FkZXIqIGpvYiA9IDA7CisKKyAgICAvLyBDaGVjayBpZiB3ZSBrbm93
IGFib3V0ICdraW9Kb2InLi4uCisgICAgUU1hcDxLSU86OkpvYiosIFJlc291cmNlTG9hZGVyKj46
OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9raW9Ub0pvYk1hcC5maW5kKGtpb0pvYik7CisgICAgaWYg
KGl0ICE9IG1fa2lvVG9Kb2JNYXAuZW5kKCkpCisgICAgICAgIGpvYiA9IGl0LnZhbHVlKCk7CisK
KyAgICBpZiAoIWpvYikKKyAgICAgICAgcmV0dXJuOworCiAgICAgUmVzb3VyY2VMb2FkZXJJbnRl
cm5hbCogZCA9IGpvYi0+Z2V0SW50ZXJuYWwoKTsKLSAgICBpbnQgdG90YWxTaXplID0gc2l6ZSAq
IG5tZW1iOwotICAgIGQtPmNsaWVudC0+cmVjZWl2ZWREYXRhKGpvYiwgc3RhdGljX2Nhc3Q8Y2hh
cio+KHB0ciksIHRvdGFsU2l6ZSk7Ci0gICAgcmV0dXJuIHRvdGFsU2l6ZTsKKyAgICBpZiAoIWQg
fHwgIWQtPmNsaWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZC0+Y2xpZW50LT5yZWNlaXZl
ZERhdGEoam9iLCBkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOwogfQogCi1zdGF0aWMgc2l6ZV90
IGhlYWRlckNhbGxiYWNrKGNoYXIqIHB0ciwgc2l6ZV90IHNpemUsIHNpemVfdCBubWVtYiwgdm9p
ZCogb2JqKQordm9pZCBSZXNvdXJjZUxvYWRlck1hbmFnZXI6OnNsb3RNaW1ldHlwZShLSU86Okpv
Yioga2lvSm9iLCBjb25zdCBRU3RyaW5nJiB0eXBlKQogewotICAgIFJlc291cmNlTG9hZGVyKiBq
b2IgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUxvYWRlcio+KG9iaik7Ci0gCi0gICAgaWYgKGpvYi0+
bWV0aG9kKCkgPT0gIlBPU1QiKQotICAgICAgICBqb2ItPnJlY2VpdmVkUmVzcG9uc2UocHRyKTsK
LSAgICAKLSAgICBpbnQgdG90YWxTaXplID0gc2l6ZSAqIG5tZW1iOwotICAgIHJldHVybiB0b3Rh
bFNpemU7CisKKyAgICBSZXNvdXJjZUxvYWRlciogam9iID0gMDsKKworICAgIC8vIENoZWNrIGlm
IHdlIGtub3cgYWJvdXQgJ2tpb0pvYicuLi4KKyAgICBRTWFwPEtJTzo6Sm9iKiwgUmVzb3VyY2VM
b2FkZXIqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2tpb1RvSm9iTWFwLmZpbmQoa2lvSm9iKTsK
KyAgICBpZiAoaXQgIT0gbV9raW9Ub0pvYk1hcC5lbmQoKSkKKyAgICAgICAgam9iID0gaXQudmFs
dWUoKTsKKworICAgIGlmICgham9iKQorICAgICAgICByZXR1cm47CisKKyAgICBSZXNvdXJjZUxv
YWRlckludGVybmFsKiBkID0gam9iLT5nZXRJbnRlcm5hbCgpOworICAgIGlmICghZCB8fCAhZC0+
Y2xpZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBkLT5tX21pbWV0eXBlID0gdHlwZTsKIH0K
IAotdm9pZCBSZXNvdXJjZUxvYWRlck1hbmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjayhUaW1l
cjxSZXNvdXJjZUxvYWRlck1hbmFnZXI+KiB0aW1lcikKK3ZvaWQgUmVzb3VyY2VMb2FkZXJNYW5h
Z2VyOjpzbG90UmVzdWx0KEtKb2IqIGtqb2IpCiB7Ci0gICAgaWYgKGpvYnMtPmlzRW1wdHkoKSkg
ewotICAgICAgICBtX2Rvd25sb2FkVGltZXIuc3RvcCgpOworICAKKyAgICBLSU86OkpvYioga2lv
Sm9iID0gcW9iamVjdF9jYXN0PEtJTzo6Sm9iKj4oa2pvYik7CisgICAgaWYgKCFraW9Kb2IpCiAg
ICAgICAgIHJldHVybjsKLSAgICB9CiAKLSAgICBpZiAobV91c2VTaW1wbGUpIHsKLSAgICAgICAg
Zm9yIChIYXNoU2V0PFJlc291cmNlTG9hZGVyKj46Oml0ZXJhdG9yIGl0ID0gam9icy0+YmVnaW4o
KTsgaXQgIT0gam9icy0+ZW5kKCk7ICsraXQpIHsKLSAgICAgICAgICAgIFJlc291cmNlTG9hZGVy
KiBqb2IgPSAqaXQ7Ci0gICAgICAgICAgICBSZXNvdXJjZUxvYWRlckludGVybmFsKiBkID0gam9i
LT5nZXRJbnRlcm5hbCgpOwotICAgICAgICAgICAgQ1VSTGNvZGUgcmVzID0gY3VybF9lYXN5X3Bl
cmZvcm0oZC0+bV9oYW5kbGUpOwotICAgICAgICAgICAgaWYgKHJlcyAhPSBDVVJMRV9PSykKLSAg
ICAgICAgICAgICAgICBwcmludGYoIkVycm9yIFdJVEggSk9CICVkXG4iLCByZXMpOwotICAgICAg
ICAgICAgZC0+Y2xpZW50LT5yZWNlaXZlZEFsbERhdGEoam9iLCAwKTsKLSAgICAgICAgICAgIGQt
PmNsaWVudC0+cmVjZWl2ZWRBbGxEYXRhKGpvYik7Ci0gICAgICAgICAgICBjdXJsX2Vhc3lfY2xl
YW51cChkLT5tX2hhbmRsZSk7Ci0gICAgICAgICAgICBkLT5tX2hhbmRsZSA9IDA7Ci0gICAgICAg
IH0KKyAgICBSZXNvdXJjZUxvYWRlciogam9iID0gMDsKIAotICAgICAgICBqb2JzLT5jbGVhcigp
OwotICAgICAgICBtX2Rvd25sb2FkVGltZXIuc3RvcCgpOwotICAgIH0gZWxzZSB7Ci0gICAgICAg
IEZEX1pFUk8oJmZkcmVhZCk7Ci0gICAgICAgIEZEX1pFUk8oJmZkd3JpdGUpOwotICAgICAgICBG
RF9aRVJPKCZmZGV4Y2VwKTsKLSAgICAgICAgY3VybF9tdWx0aV9mZHNldChjdXJsTXVsdGlIYW5k
bGUsICZmZHJlYWQsICZmZHdyaXRlLCAmZmRleGNlcCwgJm1heGZkKTsKLSAgICAgICAgaW50IG5y
dW5uaW5nOwotICAgICAgICBzdHJ1Y3QgdGltZXZhbCB0aW1lb3V0OwotICAgICAgICBpbnQgcmV0
dmFsOwotICAgICAgICB0aW1lb3V0LnR2X3NlYyA9IDA7Ci0gICAgICAgIHRpbWVvdXQudHZfdXNl
YyA9IHNlbGVjdFRpbWVvdXRNUyAqIDEwMDA7ICAgICAgIC8vIHNlbGVjdCB3YWl0cyBtaWNyb3Nl
Y29uZHMKLSAgICAgICAgcmV0dmFsID0gOjpzZWxlY3QobWF4ZmQgKyAxLCAmZmRyZWFkLCAmZmR3
cml0ZSwgJmZkZXhjZXAsICZ0aW1lb3V0KTsKLSAgICAgICAgc3dpdGNoIChyZXR2YWwpIHsKLSAg
ICAgICAgICAgIGNhc2UgLTE6ICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2VsZWN0IGVycm9y
Ci0gICAgICAgICAgICAgICAgLyogZmFsbHRocm91Z2gqLwotICAgICAgICAgICAgY2FzZSAwOiAg
ICAgICAgICAgICAgICAgLy8gc2VsZWN0IHRpbWVvdXQKLSAgICAgICAgICAgICAgICAvKiBmYWxs
dGhyb3VnaC4gdGhpcyBjYW4gYmUgdGhlIGZpcnN0IHBlcmZvcm0gdG8gYmUgbWFkZSAqLwotICAg
ICAgICAgICAgZGVmYXVsdDogICAgICAgICAgICAgICAgICAgICAgICAvLyAxKyBkZXNjcmlwdG9y
cyBoYXZlIGRhdGEKLSAgICAgICAgICAgICAgICB3aGlsZSAoQ1VSTE1fQ0FMTF9NVUxUSV9QRVJG
T1JNID09IGN1cmxfbXVsdGlfcGVyZm9ybShjdXJsTXVsdGlIYW5kbGUsICZucnVubmluZykpCi0g
ICAgICAgICAgICAgICAgICAgIHsgfQotICAgICAgICB9CisgICAgLy8gQ2hlY2sgaWYgd2Uga25v
dyBhYm91dCAna2lvSm9iJy4uLgorICAgIFFNYXA8S0lPOjpKb2IqLCBSZXNvdXJjZUxvYWRlcio+
Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fa2lvVG9Kb2JNYXAuZmluZChraW9Kb2IpOworICAgIGlm
IChpdCAhPSBtX2tpb1RvSm9iTWFwLmVuZCgpKQorICAgICAgICBqb2IgPSBpdC52YWx1ZSgpOwog
Ci0gICAgICAgIC8vIGNoZWNrIHRoZSBjdXJsIG1lc3NhZ2VzIGluZGljYXRpbmcgY29tcGxldGVk
IHRyYW5zZmVycwotICAgICAgICAvLyBhbmQgZnJlZSB0aGVpciByZXNvdXJjZXMKLSAgICAgICAg
aW50IG5tc2dzOwotICAgICAgICB3aGlsZSAoQ1VSTE1zZyogbXNnID0gY3VybF9tdWx0aV9pbmZv
X3JlYWQoY3VybE11bHRpSGFuZGxlLCAmbm1zZ3MpKSB7Ci0gICAgICAgICAgICBpZiAobXNnLT5t
c2cgPT0gQ1VSTE1TR19ET05FKSB7Ci0gICAgICAgICAgICAgICAgLy8gZmluZCB0aGUgbm9kZSB3
aGljaCBoYXMgc2FtZSBkLT5tX2hhbmRsZSBhcyBjb21wbGV0ZWQgdHJhbnNmZXIKLSAgICAgICAg
ICAgICAgICBDVVJMKiBjaGFuZGxlID0gbXNnLT5lYXN5X2hhbmRsZTsKLSAgICAgICAgICAgICAg
ICBhc3NlcnQoY2hhbmRsZSk7Ci0gICAgICAgICAgICAgICAgUmVzb3VyY2VMb2FkZXIqIGpvYjsK
LSAgICAgICAgICAgICAgICBjdXJsX2Vhc3lfZ2V0aW5mbyhjaGFuZGxlLCBDVVJMSU5GT19QUklW
QVRFLCAmam9iKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQoam9iKTsgLy9maXhtZTogYXNzZXJ0
LT5pZiA/Ci0gICAgICAgICAgICAgICAgLy8gaWYgZm91bmQsIGRlbGV0ZSBpdAotICAgICAgICAg
ICAgICAgIGlmIChqb2IpIHsKLSAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VMb2FkZXJJbnRl
cm5hbCogZCA9IGpvYi0+Z2V0SW50ZXJuYWwoKTsKLSAgICAgICAgICAgICAgICAgICAgc3dpdGNo
IChtc2ctPmRhdGEucmVzdWx0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIENVUkxF
X09LOiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdXNlIHRoaXMgdG8gYXV0aGVu
dGljYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyByZXNwQ29kZSA9IC0xOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cmxfZWFzeV9nZXRpbmZvKGQtPm1faGFuZGxl
LCBDVVJMSU5GT19SRVNQT05TRV9DT0RFLCAmcmVzcENvZGUpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlbW92ZShqb2IpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIkN1cmwgRVJST1IgJXNc
biIsIGN1cmxfZWFzeV9zdHJlcnJvcihtc2ctPmRhdGEucmVzdWx0KSk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgam9iLT5zZXRFcnJvcihtc2ctPmRhdGEucmVzdWx0KTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZW1vdmUoam9iKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgICAgIHByaW50ZigiQ3VybFJlcXVlc3Qgbm90IGZvdW5kLCBl
dmVudGhvdWdoIGN1cmwgZC0+bV9oYW5kbGUgZmluaXNoZWRcbiIpOwotICAgICAgICAgICAgICAg
ICAgICBhc3NlcnQoMCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQorICAgIGlm
ICgham9iKQorICAgICAgICByZXR1cm47CiAKLSAgICAgICAgfQotICAgIH0KLSAgICBpZiAoIWpv
YnMtPmlzRW1wdHkoKSkKLSAgICAgICAgbV9kb3dubG9hZFRpbWVyLnN0YXJ0T25lU2hvdChwb2xs
VGltZVNlY29uZHMpOworICAgIGpvYi0+c2V0RXJyb3Ioa2pvYi0+ZXJyb3IoKSk7CisgICAgcmVt
b3ZlKGpvYik7CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkZXJNYW5hZ2VyOjpyZW1vdmUoUmVzb3Vy
Y2VMb2FkZXIqIGpvYikKIHsKKyAKICAgICBSZXNvdXJjZUxvYWRlckludGVybmFsKiBkID0gam9i
LT5nZXRJbnRlcm5hbCgpOwotICAgIGlmICghZC0+bV9oYW5kbGUpCisgICAgaWYgKCFkIHx8ICFk
LT5jbGllbnQpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoam9icy0+Y29udGFpbnMoam9iKSkK
LSAgICAgICAgam9icy0+cmVtb3ZlKGpvYik7Ci0gICAgaWYgKGpvYnMtPmlzRW1wdHkoKSkKLSAg
ICAgICAgbV9kb3dubG9hZFRpbWVyLnN0b3AoKTsKKworICAgIEtJTzo6Sm9iKiBraW9Kb2IgPSAw
OworCisgICAgLy8gQ2hlY2sgaWYgd2Uga25vdyBhYm91dCAnam9iJy4uLgorICAgIFFNYXA8UmVz
b3VyY2VMb2FkZXIqLCBLSU86OkpvYio+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fam9iVG9LaW9N
YXAuZmluZChqb2IpOworICAgIGlmIChpdCAhPSBtX2pvYlRvS2lvTWFwLmVuZCgpKQorICAgICAg
ICBraW9Kb2IgPSBpdC52YWx1ZSgpOworCisgICAgaWYgKCFraW9Kb2IpCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmIChqb2ItPm1ldGhvZCgpID09ICJQT1NUIikgeworICAgICAgICAvLyBXaWxs
IHRha2UgY2FyZSBvZiBpbmZvcm1pbmcgb3VyIGNsaWVudC4uLgorICAgICAgICAvLyBUaGlzIG11
c3QgYmUgY2FsbGVkIGJlZm9yZSByZWNlaXZlZEFsbERhdGEoKSwKKyAgICAgICAgLy8gb3RoZXJ3
aGlzZSBhc3NlbWJsZVJlc3BvbnNlSGVhZGVycygpIGlzIGNhbGxlZCB0b28gZWFybHkuLi4KKyAg
ICAgICAgam9iLT5yZWNlaXZlZFJlc3BvbnNlKGtpb0pvYi0+cXVlcnlNZXRhRGF0YSgiSFRUUC1I
ZWFkZXJzIikpOworICAgIH0KKwogICAgIGQtPmNsaWVudC0+cmVjZWl2ZWRBbGxEYXRhKGpvYiwg
MCk7CiAgICAgZC0+Y2xpZW50LT5yZWNlaXZlZEFsbERhdGEoam9iKTsKLSAgICBpZiAoZC0+bV9o
YW5kbGUpIHsKLSAgICAgICAgY3VybF9tdWx0aV9yZW1vdmVfaGFuZGxlKGN1cmxNdWx0aUhhbmRs
ZSwgZC0+bV9oYW5kbGUpOwotICAgICAgICBjdXJsX2Vhc3lfY2xlYW51cChkLT5tX2hhbmRsZSk7
Ci0gICAgICAgIGQtPm1faGFuZGxlID0gTlVMTDsKLSAgICB9CisKKyAgICBtX2pvYlRvS2lvTWFw
LnJlbW92ZShqb2IpOworICAgIG1fa2lvVG9Kb2JNYXAucmVtb3ZlKGtpb0pvYik7CiB9CiAKIHZv
aWQgUmVzb3VyY2VMb2FkZXJNYW5hZ2VyOjphZGQoUmVzb3VyY2VMb2FkZXIqIGpvYikKIHsKLSAg
ICBib29sIHN0YXJ0VGltZXIgPSBqb2JzLT5pc0VtcHR5KCk7CiAgICAgUmVzb3VyY2VMb2FkZXJJ
bnRlcm5hbCogZCA9IGpvYi0+Z2V0SW50ZXJuYWwoKTsKICAgICBEZXByZWNhdGVkU3RyaW5nIHVy
bCA9IGQtPlVSTC51cmwoKTsKLSAgICBkLT5tX2hhbmRsZSA9IGN1cmxfZWFzeV9pbml0KCk7Ci0g
ICAgY3VybF9lYXN5X3NldG9wdChkLT5tX2hhbmRsZSwgQ1VSTE9QVF9QUklWQVRFLCBqb2IpOwot
ICAgIGN1cmxfZWFzeV9zZXRvcHQoZC0+bV9oYW5kbGUsIENVUkxPUFRfRVJST1JCVUZGRVIsIGVy
cm9yX2J1ZmZlcik7Ci0gICAgY3VybF9lYXN5X3NldG9wdChkLT5tX2hhbmRsZSwgQ1VSTE9QVF9X
UklURUZVTkNUSU9OLCB3cml0ZUNhbGxiYWNrKTsKLSAgICBjdXJsX2Vhc3lfc2V0b3B0KGQtPm1f
aGFuZGxlLCBDVVJMT1BUX1dSSVRFREFUQSwgam9iKTsKLSAgICBjdXJsX2Vhc3lfc2V0b3B0KGQt
Pm1faGFuZGxlLCBDVVJMT1BUX0hFQURFUkZVTkNUSU9OLCBoZWFkZXJDYWxsYmFjayk7Ci0gICAg
Y3VybF9lYXN5X3NldG9wdChkLT5tX2hhbmRsZSwgQ1VSTE9QVF9XUklURUhFQURFUiwgam9iKTsK
LSAgICBjdXJsX2Vhc3lfc2V0b3B0KGQtPm1faGFuZGxlLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9O
LCAxKTsKLSAgICBjdXJsX2Vhc3lfc2V0b3B0KGQtPm1faGFuZGxlLCBDVVJMT1BUX01BWFJFRElS
UywgMTApOwotICAgIGN1cmxfZWFzeV9zZXRvcHQoZC0+bV9oYW5kbGUsIENVUkxPUFRfSFRUUEFV
VEgsIENVUkxBVVRIX0FOWSk7Ci0gICAgLy8gdXJsIHB0ciBtdXN0IHJlbWFpbiB2YWxpZCB0aHJv
dWdoIHRoZSByZXF1ZXN0Ci0gICAgY3VybF9lYXN5X3NldG9wdChkLT5tX2hhbmRsZSwgQ1VSTE9Q
VF9VUkwsIHVybC5hc2NpaSgpKTsKIAotICAgIGlmIChqb2ItPm1ldGhvZCgpID09ICJQT1NUIikg
eworICAgIEtJTzo6Sm9iKiBraW9Kb2IgPSAwOworCisgICAgaWYgKGpvYi0+bWV0aG9kKCkgPT0g
IkdFVCIpCisgICAgICAgIGtpb0pvYiA9IEtJTzo6Z2V0KEtVcmwodXJsKSwgZmFsc2UsIGZhbHNl
KTsKKyAgICBlbHNlIGlmIChqb2ItPm1ldGhvZCgpID09ICJQT1NUIikgewogICAgICAgICBEZXBy
ZWNhdGVkU3RyaW5nIHBvc3REYXRhID0gam9iLT5wb3N0RGF0YSgpLmZsYXR0ZW5Ub1N0cmluZygp
OworICAgICAgICBRQnl0ZUFycmF5IHBvc3REYXRhQXJyYXkocG9zdERhdGEuYXNjaWkoKSwgcG9z
dERhdGEubGVuZ3RoKCkpOwogCi0gICAgICAgIGNoYXIqIHBvc3REYXRhU3RyaW5nID0gKGNoYXIq
KW1hbGxvYyhwb3N0RGF0YS5sZW5ndGgoKSArIDEpOwotICAgICAgICBzdHJuY3B5KHBvc3REYXRh
U3RyaW5nLCBwb3N0RGF0YS5hc2NpaSgpLCBwb3N0RGF0YS5sZW5ndGgoKSk7Ci0gICAgICAgIHBv
c3REYXRhU3RyaW5nW3Bvc3REYXRhLmxlbmd0aCgpXSA9ICdcMCc7Ci0KLSAgICAgICAgLy8gRklY
TUU6IERvIGl0IHByb3Blcmx5IGFmdGVyIHdlIGdvdCByaWQgb2YgbGliY3VybCEgKGFsc28gbGVh
a3MgdGhlIGhlYWRlcmxpc3QuIGhtcGYuKQotICAgICAgICBjdXJsX2Vhc3lfc2V0b3B0KGQtPm1f
aGFuZGxlLCBDVVJMT1BUX1BPU1RGSUVMRFMsIHBvc3REYXRhU3RyaW5nKTsKKyAgICAgICAga2lv
Sm9iID0gS0lPOjpodHRwX3Bvc3QoS1VybCh1cmwpLCBwb3N0RGF0YUFycmF5LCBmYWxzZSk7Cisg
ICAgICAgIGtpb0pvYi0+YWRkTWV0YURhdGEoIlByb3BhZ2F0ZUh0dHBIZWFkZXIiLCAidHJ1ZSIp
OworICAgICAgICBraW9Kb2ItPmFkZE1ldGFEYXRhKCJjb250ZW50LXR5cGUiLCAiQ29udGVudC1U
eXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKTsKICAgICB9CiAKLSAgICBp
ZiAobV91c2VTaW1wbGUpCi0gICAgICAgIGpvYnMtPmFkZChqb2IpOwotICAgIGVsc2UgewotICAg
ICAgICBDVVJMTWNvZGUgcmV0ID0gY3VybF9tdWx0aV9hZGRfaGFuZGxlKGN1cmxNdWx0aUhhbmRs
ZSwgZC0+bV9oYW5kbGUpOwotICAgICAgICAvLyBkb24ndCBjYWxsIHBlcmZvcm0sIGJlY2F1c2Ug
ZXZlbnRzIG11c3QgYmUgYXN5bmMKLSAgICAgICAgLy8gdGltZW91dCB3aWxsIG9jY3VyIGFuZCBk
byBjdXJsX211bHRpX3BlcmZvcm0KLSAgICAgICAgaWYgKHJldCAmJiByZXQgIT0gQ1VSTE1fQ0FM
TF9NVUxUSV9QRVJGT1JNKSB7Ci0gICAgICAgICAgICBwcmludGYoIkVycm9yICVkIHN0YXJ0aW5n
IGpvYiAlc1xuIiwgcmV0LCBkLT5VUkwudXJsKCkuYXNjaWkoKSk7Ci0gICAgICAgICAgICBqb2It
PnNldEVycm9yKDEpOwotICAgICAgICAgICAgc3RhcnRUaW1lciA9ZmFsc2U7Ci0gICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgam9icy0+YWRkKGpvYik7Ci0gICAgfQotICAgIGlmIChzdGFydFRp
bWVyKQotICAgICAgICBtX2Rvd25sb2FkVGltZXIuc3RhcnRPbmVTaG90KHBvbGxUaW1lU2Vjb25k
cyk7CisgICAgUV9BU1NFUlQoa2lvSm9iICE9IDApOworCisgICAgUU9iamVjdDo6Y29ubmVjdChr
aW9Kb2IsIFNJR05BTChkYXRhKEtJTzo6Sm9iKiwgY29uc3QgUUJ5dGVBcnJheSYpKSwgdGhpcywg
U0xPVChzbG90RGF0YShLSU86OkpvYiosIGNvbnN0IFFCeXRlQXJyYXkmKSkpOworICAgIFFPYmpl
Y3Q6OmNvbm5lY3Qoa2lvSm9iLCBTSUdOQUwobWltZXR5cGUoS0lPOjpKb2IqLCBjb25zdCBRU3Ry
aW5nJikpLCB0aGlzLCBTTE9UKHNsb3RNaW1ldHlwZShLSU86OkpvYiosIGNvbnN0IFFTdHJpbmcm
KSkpOworICAgIFFPYmplY3Q6OmNvbm5lY3Qoa2lvSm9iLCBTSUdOQUwocmVzdWx0KEtKb2IqKSks
IHRoaXMsIFNMT1Qoc2xvdFJlc3VsdChLSm9iKikpKTsKKworICAgIG1fam9iVG9LaW9NYXAuaW5z
ZXJ0KGpvYiwga2lvSm9iKTsKKyAgICBtX2tpb1RvSm9iTWFwLmluc2VydChraW9Kb2IsIGpvYik7
CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkZXJNYW5hZ2VyOjpjYW5jZWwoUmVzb3VyY2VMb2FkZXIq
IGpvYikKQEAgLTIzNSw0ICsxODMsNCBAQAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLS8v
IHZpbTogdHM9NCBzdz00IGV0CisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJNYW5hZ2VyLm1vYyIK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vUmVzb3VyY2VMb2FkZXJJbnRlcm5hbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vUmVzb3VyY2VMb2FkZXJJbnRlcm5hbC5oCShSZXZpc2lv
biAxNjA3MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vUmVzb3VyY2VMb2FkZXJJbnRlcm5hbC5oCShB
cmJlaXRza29waWUpCkBAIC00Miw3ICs0Miw2IEBACiAKICNpZiBQTEFURk9STShRVCkKICNpbmNs
dWRlIDxRU3RyaW5nPgotdHlwZWRlZiB2b2lkIENVUkw7CiAjZW5kaWYKIAogLy8gVGhlIGFsbG9j
YXRpb25zIGFuZCByZWxlYXNlcyBpbiBSZXNvdXJjZUxvYWRlckludGVybmFsIGFyZQpAQCAtNzcs
NyArNzYsNyBAQAogICAgICAgICAgICAgLCBtX2Zvcm1EYXRhTGVuZ3RoKDApCiAgICAgICAgICAg
ICAsIG1fYnl0ZXNSZW1haW5pbmdUb1dyaXRlKDApCiAjZW5kaWYKLSNpZiBQTEFURk9STShHREsp
IHx8IFBMQVRGT1JNKFFUKQorI2lmIFBMQVRGT1JNKEdESykKICAgICAgICAgICAgICwgbV9oYW5k
bGUoMCkKICNlbmRpZgogICAgICAgICB7CkBAIC0xMDcsNyArMTA2LDcgQEAKICAgICAgICAgICAg
ICwgbV9mb3JtRGF0YUxlbmd0aCgwKQogICAgICAgICAgICAgLCBtX2J5dGVzUmVtYWluaW5nVG9X
cml0ZSgwKQogI2VuZGlmCi0jaWYgUExBVEZPUk0oR0RLKSB8fCBQTEFURk9STShRVCkKKyNpZiBQ
TEFURk9STShHREspCiAgICAgICAgICAgICAsIG1faGFuZGxlKDApCiAjZW5kaWYKICAgICAgICAg
ewpAQCAtMTQ4LDggKzE0Nyw4IEBACiAgICAgICAgIENVUkwgKm1faGFuZGxlOwogI2VuZGlmCiAj
aWYgUExBVEZPUk0oUVQpCi0gICAgICAgIENVUkwgKm1faGFuZGxlOwotICAgICAgICBRU3RyaW5n
IHJlc3BvbnNlOworICAgICAgICBRU3RyaW5nIG1fbWltZXR5cGU7CisgICAgICAgIFFTdHJpbmcg
bV9yZXNwb25zZTsKICNlbmRpZgogCiAgICAgICAgIH07CkluZGV4OiBXZWJDb3JlL0NNYWtlTGlz
dHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKFJldmlzaW9uIDE2
MDcwKQorKysgV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkoQXJiZWl0c2tvcGllKQpAQCAtNjcsNyAr
NjcsOSBAQAogICBhZGRfZGVmaW5pdGlvbnMgKCAtV25vLXZhcmlhZGljLW1hY3JvcyApCiBFTkRJ
RihfX0tERV9IQVZFX1dWQVJJQURJQ19NQUNST1MpCiAKK2tkZTRfYXV0b21vYyhwbGF0Zm9ybS9x
dC9TaGFyZWRUaW1lclF0LmNwcCkKIGtkZTRfYXV0b21vYyhwbGF0Zm9ybS9xdC9TY3JvbGxWaWV3
Q2FudmFzUXQuY3BwKQora2RlNF9hdXRvbW9jKHBsYXRmb3JtL3F0L1Jlc291cmNlTG9hZGVyTWFu
YWdlci5jcHApCiAKICMgcnVsZXMgZm9yIGdlbmVyYXRlZCBmaWxlcwogSUYgKFVTRV9XRUJLSVRf
U1ZHX1NVUFBPUlQpCkBAIC04NjYsNyArODY4LDcgQEAKICAgICBwbGF0Zm9ybS9xdC9SZW5kZXJU
aGVtZVF0LmNwcAogICAgIHBsYXRmb3JtL3F0L0ZvbnREYXRhUXQuY3BwCiAgICAgcGxhdGZvcm0v
cXQvU2hhcmVkVGltZXJRdC5jcHAKLSAgICBwbGF0Zm9ybS9xdC9SZXNvdXJjZUxvYWRlckN1cmwu
Y3BwCisgICAgcGxhdGZvcm0vcXQvUmVzb3VyY2VMb2FkZXJRdC5jcHAKICAgICBwbGF0Zm9ybS9x
dC9SZXNvdXJjZUxvYWRlck1hbmFnZXIuY3BwCiAgICAgcGxhdGZvcm0vcXQvRmxvYXRQb2ludFF0
LmNwcAogICAgIHBsYXRmb3JtL3F0L0xpc3RCb3hRdC5jcHAKQEAgLTEwMDcsOSArMTAwOSw2IEBA
CiAgICAgJHtXZWJDb3JlLXVuaXR5LUlETEdlbmVyYXRlZFNvdXJjZXN9CiApCiAKLQota2RlNF9h
dXRvbW9jKHBsYXRmb3JtL3F0L1NoYXJlZFRpbWVyUXQuY3BwKQotCiBrZGU0X2FkZF9saWJyYXJ5
KFdlYkNvcmUtdW5pdHkgU0hBUkVEICAke1dlYkNvcmVfU1JDU30pCiAKIHRhcmdldF9saW5rX2xp
YnJhcmllcyhXZWJDb3JlLXVuaXR5CkBAIC0xMDIxLDkgKzEwMjAsOCBAQAogICAke0xJQlhTTFRf
TElCUkFSSUVTfQogICAke0xJQlhNTDJfTElCUkFSSUVTfQogICBpY3V1YwotICBjdXJsCisgIGtp
bwogICB3dGYtdW5pdHkKICAga2pzLXVuaXR5CiAgIHBjcmUtdW5pdHkKLQogKQpJbmRleDogQ01h
a2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gQ01ha2VMaXN0cy50eHQJKFJldmlzaW9uIDE2MDcw
KQorKysgQ01ha2VMaXN0cy50eHQJKEFyYmVpdHNrb3BpZSkKQEAgLTE3LDggKzE3LDYgQEAKICMg
cXVpY2sgY2hlY2sgdGhlIGxpYmljdSBpcyBhdmFpbGFibGUKIGZpbmRfcGF0aChMSUJJQ1VfSU5D
TFVERV9ESVIgdW5pY29kZS91bWFjaGluZS5oICkKIAotZmluZF9wYXRoKExJQkNVUkxfSU5DTFVE
RV9ESVIgY3VybC9jdXJsLmggKQotCiBpZiAoTk9UIEJJU09OX0VYRUNVVEFCTEUpCiAgICBtZXNz
YWdlKEZBVEFMX0VSUk9SICJDb3VsZCBub3QgZmluZCBiaXNvbiIpCiBlbmRpZiAoTk9UIEJJU09O
X0VYRUNVVEFCTEUpCkBAIC0zMSwxMCArMjksNiBAQAogICAgbWVzc2FnZShGQVRBTF9FUlJPUiAi
bGliaWN1IG5vdCBmb3VuZCwgY2Fubm90IGNyZWF0ZSB1bml0eSB3aXRob3V0IGl0IikKIGVuZGlm
IChOT1QgTElCSUNVX0lOQ0xVREVfRElSKQogCi1pZiAoTk9UIExJQkNVUkxfSU5DTFVERV9ESVIp
Ci0gICBtZXNzYWdlKEZBVEFMX0VSUk9SICJsaWJjdXJsIG5vdCBmb3VuZCwgY2Fubm90IGNyZWF0
ZSB1bml0eSB3aXRob3V0IGl0IikKLWVuZGlmIChOT1QgTElCQ1VSTF9JTkNMVURFX0RJUikKLQog
YWRkX2RlZmluaXRpb25zICgke1FUX0RFRklOSVRJT05TfSAke0tERTRfREVGSU5JVElPTlN9IC1E
UVQzX1NVUFBPUlQgLURIQVZFX0NPTkZJR19IPTEpCiBsaW5rX2RpcmVjdG9yaWVzICgke0tERTRf
TElCX0RJUn0pCiBpbmNsdWRlX2RpcmVjdG9yaWVzICgke0NNQUtFX1NPVVJDRV9ESVJ9ICR7Q01B
S0VfQklOQVJZX0RJUn0gJHtLREU0X0lOQ0xVREVTfSAke0xJQklDVV9JTkNMVURFX0RJUn0pCg==
</data>
<flag name="review"
          id="3234"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10272</attachid>
            <date>2006-08-28 05:53:11 -0700</date>
            <delta_ts>2006-08-28 11:35:26 -0700</delta_ts>
            <desc>run-webkit-tests modifications for Qt</desc>
            <filename>misc-fixes.diff</filename>
            <type>text/plain</type>
            <size>3014</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShSZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCShBcmJlaXRza29waWUpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMDYtMDgtMjggIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXhlcyBvbmUgY2h1bmsgb2Y6IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA2MDQKKyAgICAgICAgUmVtb3ZlIGFubm95aW5nIG5vdEltcGxlbWVu
dGVkKCkgdXNhZ2UgaW4gc3lzdGVtRm9udCgpCisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5k
ZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnN5c3RlbUZv
bnQpOgorCiAyMDA2LTA4LTI3ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWoKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKFJldmlzaW9uIDE2MDcwKQorKysg
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShBcmJlaXRza29waWUpCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MDYtMDgtMjggIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyBvbmUgY2h1
bmsgb2Y6IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2
MDQKKworICAgICAgICBGYXN0ZXIgcG9sbGluZyBmb3IgaXNMb2FkZWQoKSBpbiBRdCdzIER1bXBS
ZW5kZXJUcmVlLgorICAgICAgICBVc2UgLWV4cGVjdGVkLXF0LnR4dCBldGMuLiBvdXRwdXQgaW4g
cnVuLXdlYmtpdC10ZXN0IGlmIGlzUXQoKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0R1
bXBSZW5kZXJUcmVlLnF0cHJvai9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEdW1wUmVuZGVyVHJlZTo6Y2hlY2tMb2FkZWQpOgorICAgICAgICAqIFNjcmlwdHMvcnVuLXdl
YmtpdC10ZXN0czoKKwogMjAwNi0wOC0yNyAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzLgpJbmRleDogV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUucXRwcm9qL0R1bXBSZW5kZXJUcmVlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5x
dHByb2ovRHVtcFJlbmRlclRyZWUuY3BwCShSZXZpc2lvbiAxNjA3MCkKKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvai9EdW1wUmVuZGVyVHJlZS5jcHAJ
KEFyYmVpdHNrb3BpZSkKQEAgLTExOCw3ICsxMTgsNyBAQAogICAgICAgICAgICAgUUFwcGxpY2F0
aW9uOjpleGl0KCk7CiAgICAgICAgIH0KICAgICB9IGVsc2UKLSAgICAgICAgUVRpbWVyOjpzaW5n
bGVTaG90KDIwLCB0aGlzLCBTTE9UKGNoZWNrTG9hZGVkKCkpKTsKKyAgICAgICAgUVRpbWVyOjpz
aW5nbGVTaG90KDEwLCB0aGlzLCBTTE9UKGNoZWNrTG9hZGVkKCkpKTsKIH0KIAogfQpJbmRleDog
V2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cwkoUmV2aXNpb24gMTYwNzApCisrKyBXZWJL
aXRUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMJKEFyYmVpdHNrb3BpZSkKQEAgLTk0LDE0
ICs5NCwyMiBAQAogbXkgJGV4cGVjdGVkVGFnID0gImV4cGVjdGVkIjsKIGlmIChpc0N5Z3dpbigp
KSB7CiAgICAgJGV4cGVjdGVkVGFnID0gImV4cGVjdGVkLXdpbiI7Cit9IGVsc2lmIChpc1F0KCkp
IHsKKyAgICAkZXhwZWN0ZWRUYWcgPSAiZXhwZWN0ZWQtcXQiOwogfQorCiBteSAkYWN0dWFsVGFn
ID0gImFjdHVhbCI7CiBpZiAoaXNDeWd3aW4oKSkgewogICAgICRhY3R1YWxUYWcgPSAiYWN0dWFs
LXdpbiI7Cit9IGVsc2lmIChpc1F0KCkpIHsKKyAgICAkYWN0dWFsVGFnID0gImFjdHVhbC1xdCI7
CiB9CisKIG15ICRkaWZmc1RhZyA9ICJkaWZmcyI7CiBpZiAoaXNDeWd3aW4oKSkgewogICAgICRh
Y3R1YWxUYWcgPSAiZGlmZnMtd2luIjsKK30gZWxzaWYgKGlzUXQoKSkgeworICAgICRhY3R1YWxU
YWcgPSAiZGlmZnMtcXQiOwogfQogCiBteSAkdXNhZ2UgPQpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9xdC9SZW5kZXJUaGVtZVF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0
L1JlbmRlclRoZW1lUXQuY3BwCShSZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
cXQvUmVuZGVyVGhlbWVRdC5jcHAJKEFyYmVpdHNrb3BpZSkKQEAgLTExMyw3ICsxMTMsNyBAQAog
CiB2b2lkIFJlbmRlclRoZW1lUXQ6OnN5c3RlbUZvbnQoaW50IHByb3BJZCwgRm9udERlc2NyaXB0
aW9uJiBmb250RGVzY3JpcHRpb24pIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICAvLyBuby1vcAogfQogCiBSZW5kZXJQb3B1cE1lbnUqIFJlbmRlclRoZW1lUXQ6OmNyZWF0ZVBv
cHVwTWVudShSZW5kZXJBcmVuYSosIERvY3VtZW50KiwgUmVuZGVyTWVudUxpc3QqKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10273</attachid>
            <date>2006-08-28 05:54:56 -0700</date>
            <delta_ts>2006-08-28 11:18:05 -0700</delta_ts>
            <desc>Fix crash hit in css2.1 - in RenderMenuList</desc>
            <filename>fix-crash.diff</filename>
            <type>text/plain</type>
            <size>1794</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShSZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCShBcmJlaXRza29waWUpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMDYtMDgtMjggIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXhlcyBvbmUgY2h1bmsgb2Y6IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA2MDQKKyAgICAgICAgRG9uJ3QgY3Jhc2ggaWYgdGhlIFJlbmRlclRo
ZW1lKCkgZG9lc24ndCBpbXBsZW1lbnQgY3JlYXRlUG9wdXBNZW51KCkuCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVu
dUxpc3Q6OnNob3dQb3B1cCk6CisKIDIwMDYtMDgtMjcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25A
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llagpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck1lbnVMaXN0LmNwcAkoUmV2aXNpb24gMTYwNzApCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKEFyYmVpdHNrb3BpZSkKQEAgLTIxNiwxNSArMjE2LDIy
IEBACiAgICAgLy8gVGhpcyBpcyBpbXBvcnRhbnQgYmVjYXVzZSBvdGhlcndpc2Ugd2UgbWlnaHQg
dHJ5IHRvIGNyZWF0ZSBtX2lubmVyQmxvY2sKICAgICAvLyBpbnNpZGUgdGhlIHNob3dQb3B1cCBj
YWxsIGFuZCBpdCB3b3VsZCBmYWlsLgogICAgIGNyZWF0ZUlubmVyQmxvY2soKTsKKyAKICAgICBp
ZiAoIW1fcG9wdXApCiAgICAgICAgIG1fcG9wdXAgPSB0aGVtZSgpLT5jcmVhdGVQb3B1cE1lbnUo
cmVuZGVyQXJlbmEoKSwgZG9jdW1lbnQoKSwgdGhpcyk7CisKICAgICBSZW5kZXJTdHlsZSogbmV3
U3R5bGUgPSBuZXcgKHJlbmRlckFyZW5hKCkpIFJlbmRlclN0eWxlOwogICAgIG5ld1N0eWxlLT5p
bmhlcml0RnJvbShzdHlsZSgpKTsKLSAgICBtX3BvcHVwLT5zZXRTdHlsZShuZXdTdHlsZSk7CisK
KyAgICBpZiAobV9wb3B1cCkKKyAgICAgICAgbV9wb3B1cC0+c2V0U3R5bGUobmV3U3R5bGUpOwor
CisgICAgbV9wb3B1cElzVmlzaWJsZSA9IHRydWU7CisKICAgICBIVE1MU2VsZWN0RWxlbWVudCog
c2VsZWN0ID0gc3RhdGljX2Nhc3Q8SFRNTFNlbGVjdEVsZW1lbnQqPihub2RlKCkpOwotICAgIG1f
cG9wdXBJc1Zpc2libGUgPSB0cnVlOwotICAgIG1fcG9wdXAtPnNob3dQb3B1cChhYnNvbHV0ZUJv
dW5kaW5nQm94UmVjdCgpLCBkb2N1bWVudCgpLT52aWV3KCksCi0gICAgICAgIHNlbGVjdC0+b3B0
aW9uVG9MaXN0SW5kZXgoc2VsZWN0LT5zZWxlY3RlZEluZGV4KCkpKTsKKyAgICBpZiAobV9wb3B1
cCkKKyAgICAgICAgbV9wb3B1cC0+c2hvd1BvcHVwKGFic29sdXRlQm91bmRpbmdCb3hSZWN0KCks
IGRvY3VtZW50KCktPnZpZXcoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC0+
b3B0aW9uVG9MaXN0SW5kZXgoc2VsZWN0LT5zZWxlY3RlZEluZGV4KCkpKTsKIH0KIAogdm9pZCBS
ZW5kZXJNZW51TGlzdDo6aGlkZVBvcHVwKCkK
</data>
<flag name="review"
          id="3236"
          type_id="1"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10275</attachid>
            <date>2006-08-28 09:58:25 -0700</date>
            <delta_ts>2006-08-28 11:35:56 -0700</delta_ts>
            <desc>Updated: Offer QString -&gt; DeprecatedString conversion</desc>
            <filename>string.diff</filename>
            <type>text/plain</type>
            <size>1861</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShSZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCShBcmJlaXRza29waWUpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMDYtMDgtMjggIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXhlcyBvbmUgY2h1bmsgb2Y6IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA2MDQKKyAgICAgICAgT2ZmZXIgUVN0cmluZyAtPiBEZXByZWNhdGVk
U3RyaW5nIGNvbnZlcnNpb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9EZXByZWNhdGVkU3RyaW5n
Lmg6CisgICAgICAgICogcGxhdGZvcm0vcXQvU3RyaW5nUXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RGVwcmVjYXRlZFN0cmluZzo6RGVwcmVjYXRlZFN0cmluZyk6CisKIDIwMDYtMDgtMjcgIEJy
YWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1h
Y2llagpJbmRleDogcGxhdGZvcm0vRGVwcmVjYXRlZFN0cmluZy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBs
YXRmb3JtL0RlcHJlY2F0ZWRTdHJpbmcuaAkoUmV2aXNpb24gMTYwNzApCisrKyBwbGF0Zm9ybS9E
ZXByZWNhdGVkU3RyaW5nLmgJKEFyYmVpdHNrb3BpZSkKQEAgLTI1Myw2ICsyNTMsNyBAQAogICAg
IG9wZXJhdG9yIEtKUzo6VVN0cmluZygpIGNvbnN0OwogCiAjaWYgUExBVEZPUk0oUVQpCisgICAg
RGVwcmVjYXRlZFN0cmluZyhjb25zdCBRU3RyaW5nJik7CiAgICAgb3BlcmF0b3IgUVN0cmluZygp
IGNvbnN0OwogI2VuZGlmCiAKSW5kZXg6IHBsYXRmb3JtL3F0L1N0cmluZ1F0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBwbGF0Zm9ybS9xdC9TdHJpbmdRdC5jcHAJKFJldmlzaW9uIDE2MDcwKQorKysgcGxh
dGZvcm0vcXQvU3RyaW5nUXQuY3BwCShBcmJlaXRza29waWUpCkBAIC0zMiw2ICszMiw3IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gU3RyaW5nIGNvbnZlcnNpb25zCiBTdHJpbmc6OlN0
cmluZyhjb25zdCBRU3RyaW5nJiBxc3RyKQogewogICAgIHVuc2lnbmVkIGludCBsZW4gPSBxc3Ry
Lmxlbmd0aCgpOwpAQCAtNTEsNiArNTIsMTcgQEAKICAgICByZXR1cm4gUVN0cmluZyhyZWludGVy
cHJldF9jYXN0PGNvbnN0IFFDaGFyKj4oY2hhcmFjdGVycygpKSwgbGVuZ3RoKCkpOwogfQogCisv
LyBEZXByZWNhdGVkU3RyaW5nIGNvbnZlcnNpb25zCitEZXByZWNhdGVkU3RyaW5nOjpEZXByZWNh
dGVkU3RyaW5nKGNvbnN0IFFTdHJpbmcmIHFzdHIpCit7CisgICAgaWYgKHFzdHIuaXNOdWxsKCkp
IHsKKyAgICAgICAgKCp0aGlzKSA9IERlcHJlY2F0ZWRTdHJpbmc6Om51bGw7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgUUJ5dGVBcnJheSB1dGY4RGF0YSA9IHFzdHIudG9VdGY4KCk7CisgICAgICAg
ICgqdGhpcykgPSBEZXByZWNhdGVkU3RyaW5nOjpmcm9tVXRmOCh1dGY4RGF0YS5kYXRhKCksIHV0
ZjhEYXRhLmxlbmd0aCgpKTsKKyAgICB9Cit9CisKIERlcHJlY2F0ZWRTdHJpbmc6Om9wZXJhdG9y
IFFTdHJpbmcoKSBjb25zdAogewogICAgIHJldHVybiBRU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgUUNoYXIqPih1bmljb2RlKCkpLCBsZW5ndGgoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10280</attachid>
            <date>2006-08-28 11:18:05 -0700</date>
            <delta_ts>2006-08-28 11:43:20 -0700</delta_ts>
            <desc>Updated: Fix crash hit in css2.1 - in RenderMenuList</desc>
            <filename>popupmenu-fixes.diff</filename>
            <type>text/plain</type>
            <size>7222</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShSZXZpc2lvbiAxNjA3MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCShBcmJlaXRza29waWUpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDYtMDgtMjggIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXhlcyBvbmUgY2h1bmsgb2Y6IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA2MDQKKyAgICAgICAgUHJvdmlkZSBzdHViIGltcGxlbWVudGF0aW9u
IG9mIFJlbmRlclBvcHVwTWVudVF0LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vcXQvUmVuZGVyUG9wdXBNZW51UXQuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclBvcHVwTWVudVF0OjpSZW5kZXJQb3B1cE1lbnVRdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJQb3B1cE1lbnVRdDo6flJlbmRlclBvcHVwTWVudVF0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclBvcHVwTWVudVF0OjpjbGVhcik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJQb3B1cE1lbnVRdDo6cG9wdWxhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
UG9wdXBNZW51UXQ6OnNob3dQb3B1cCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQb3B1cE1l
bnVRdDo6aGlkZVBvcHVwKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclBvcHVwTWVudVF0Ojph
ZGRTZXBhcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUG9wdXBNZW51UXQ6OmFkZEdy
b3VwTGFiZWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUG9wdXBNZW51UXQ6OmFkZE9wdGlv
bik6CisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyUG9wdXBNZW51UXQuaDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZVF0OjpzeXN0ZW1Gb250KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lUXQ6OmNyZWF0ZVBvcHVwTWVudSk6CisKIDIwMDYtMDgtMjggIERhdmlkIEhhcnJpc29uICA8
aGFycmlzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluLgpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJQb3B1cE1lbnVRdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyUG9wdXBNZW51UXQuaAkoUmV2aXNpb24gMCkKKysrIFdl
YkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyUG9wdXBNZW51UXQuaAkoUmV2aXNpb24gMCkKQEAgLTAs
MCArMSw1NCBAQAorLyoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBwb3B1cCBtZW51IGlt
cGxlbWVudGF0aW9uIGZvciA8c2VsZWN0PiBlbGVtZW50cyBpbiBXZWJDb3JlLgorICoKKyAqIENv
cHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAy
MDA2IE1pY2hhZWwgRW1tZWwgbWlrZS5lbW1lbEBnbWFpbC5jb20gCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMw
LAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgUkVO
REVSX1BPUFVQTUVOVV9RVF9ICisjZGVmaW5lIFJFTkRFUl9QT1BVUE1FTlVfUVRfSAorCisjaW5j
bHVkZSAiUmVuZGVyUG9wdXBNZW51LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
SFRNTE9wdGlvbkVsZW1lbnQ7CitjbGFzcyBIVE1MT3B0R3JvdXBFbGVtZW50OworCitjbGFzcyBS
ZW5kZXJQb3B1cE1lbnVRdCA6IHB1YmxpYyBSZW5kZXJQb3B1cE1lbnUgeworcHVibGljOgorICAg
IFJlbmRlclBvcHVwTWVudVF0KE5vZGUqLCBSZW5kZXJNZW51TGlzdCopOworICAgIH5SZW5kZXJQ
b3B1cE1lbnVRdCgpOworCisgICAgdmlydHVhbCB2b2lkIGNsZWFyKCk7CisgICAgdmlydHVhbCB2
b2lkIHBvcHVsYXRlKCk7CisgICAgdmlydHVhbCB2b2lkIHNob3dQb3B1cChjb25zdCBJbnRSZWN0
JiwgRnJhbWVWaWV3KiwgaW50IGluZGV4KTsKKyAgICB2aXJ0dWFsIHZvaWQgaGlkZVBvcHVwKCk7
CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIHZvaWQgYWRkU2VwYXJhdG9yKCk7CisgICAgdmly
dHVhbCB2b2lkIGFkZEdyb3VwTGFiZWwoSFRNTE9wdEdyb3VwRWxlbWVudCopOworICAgIHZpcnR1
YWwgdm9pZCBhZGRPcHRpb24oSFRNTE9wdGlvbkVsZW1lbnQqKTsKKworfTsKKworfQorCisjZW5k
aWYKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyUG9wdXBNZW51UXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyUG9wdXBNZW51UXQuY3BwCShSZXZp
c2lvbiAwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJQb3B1cE1lbnVRdC5jcHAJKFJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0
aGUgcG9wdXAgbWVudSBpbXBsZW1lbnRhdGlvbiBmb3IgPHNlbGVjdD4gZWxlbWVudHMgaW4gV2Vi
Q29yZS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAq
IENvcHlyaWdodCAoQykgMjAwNiBNaWNoYWVsIEVtbWVsIG1pa2UuZW1tZWxAZ21haWwuY29tIAor
ICogQ295cHJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUu
b3JnPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQ
bGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICoKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVuZGVyUG9wdXBNZW51UXQuaCIK
KworI2RlZmluZSBub3RJbXBsZW1lbnRlZCgpIGRvIHsgZnByaW50ZihzdGRlcnIsICJGSVhNRTog
VU5JTVBMRU1FTlRFRDogJXM6JWRcbiIsIF9fRklMRV9fLCBfX0xJTkVfXyk7IH0gd2hpbGUoMCkK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZW5kZXJQb3B1cE1lbnVRdDo6UmVuZGVyUG9wdXBN
ZW51UXQoTm9kZSogZWxlbWVudCwgUmVuZGVyTWVudUxpc3QqIG1lbnVMaXN0KQorICAgIDogUmVu
ZGVyUG9wdXBNZW51KGVsZW1lbnQsIG1lbnVMaXN0KQoreworfQorCitSZW5kZXJQb3B1cE1lbnVR
dDo6flJlbmRlclBvcHVwTWVudVF0KCkKK3sKK30KKwordm9pZCBSZW5kZXJQb3B1cE1lbnVRdDo6
Y2xlYXIoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgUmVuZGVyUG9wdXBN
ZW51UXQ6OnBvcHVsYXRlKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFJl
bmRlclBvcHVwTWVudVF0OjpzaG93UG9wdXAoY29uc3QgSW50UmVjdCYsIEZyYW1lVmlldyosIGlu
dCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFJlbmRlclBvcHVwTWVudVF0
OjpoaWRlUG9wdXAoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgUmVuZGVy
UG9wdXBNZW51UXQ6OmFkZFNlcGFyYXRvcigpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30K
Kwordm9pZCBSZW5kZXJQb3B1cE1lbnVRdDo6YWRkR3JvdXBMYWJlbChIVE1MT3B0R3JvdXBFbGVt
ZW50KikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFJlbmRlclBvcHVwTWVu
dVF0OjphZGRPcHRpb24oSFRNTE9wdGlvbkVsZW1lbnQqKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKK30KKworLy8gdmltOiB0cz00IHN3PTQgZXQKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9x
dC9SZW5kZXJUaGVtZVF0LmNwcAkoUmV2aXNpb24gMTYwNzIpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L3F0L1JlbmRlclRoZW1lUXQuY3BwCShBcmJlaXRza29waWUpCkBAIC0zMCw4ICszMCwxMCBAQAog
I2luY2x1ZGUgPFFQYWludGVyPgogI2luY2x1ZGUgPFFTdHlsZU9wdGlvbkJ1dHRvbj4KIAorI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJH
cmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJSZW5kZXJQb3B1cE1lbnVRdC5oIgogCiAjZGVm
aW5lIG5vdEltcGxlbWVudGVkKCkgZG8geyBmcHJpbnRmKHN0ZGVyciwgIkZJWE1FOiBVTklNUExF
TUVOVEVEOiAlczolZFxuIiwgX19GSUxFX18sIF9fTElORV9fKTsgfSB3aGlsZSgwKQogCkBAIC0x
MTMsMTMgKzExNSwxMiBAQAogCiB2b2lkIFJlbmRlclRoZW1lUXQ6OnN5c3RlbUZvbnQoaW50IHBy
b3BJZCwgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24pIGNvbnN0CiB7Ci0gICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICAvLyBuby1vcAogfQogCi1SZW5kZXJQb3B1cE1lbnUqIFJlbmRl
clRoZW1lUXQ6OmNyZWF0ZVBvcHVwTWVudShSZW5kZXJBcmVuYSosIERvY3VtZW50KiwgUmVuZGVy
TWVudUxpc3QqKQorUmVuZGVyUG9wdXBNZW51KiBSZW5kZXJUaGVtZVF0OjpjcmVhdGVQb3B1cE1l
bnUoUmVuZGVyQXJlbmEqIGFyZW5hLCBEb2N1bWVudCogZG9jLCBSZW5kZXJNZW51TGlzdCogbWVu
dUxpc3QpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1
cm4gbmV3IChhcmVuYSkgUmVuZGVyUG9wdXBNZW51UXQoZG9jLCBtZW51TGlzdCk7CiB9CiAKIHZv
aWQgUmVuZGVyVGhlbWVRdDo6YWRkSW50cmluc2ljTWFyZ2lucyhSZW5kZXJTdHlsZSogc3R5bGUp
IGNvbnN0CkluZGV4OiBXZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvQ01ha2VMaXN0cy50eHQJKFJldmlzaW9uIDE2MDcyKQorKysgV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAkoQXJiZWl0c2tvcGllKQpAQCAtODY2LDYgKzg2Niw3IEBACiAgICAgcGxhdGZvcm0vcXQv
UmVuZGVyVGhlbWVRdC5jcHAKICAgICBwbGF0Zm9ybS9xdC9Gb250RGF0YVF0LmNwcAogICAgIHBs
YXRmb3JtL3F0L1NoYXJlZFRpbWVyUXQuY3BwCisgICAgcGxhdGZvcm0vcXQvUmVuZGVyUG9wdXBN
ZW51UXQuY3BwCiAgICAgcGxhdGZvcm0vcXQvUmVzb3VyY2VMb2FkZXJDdXJsLmNwcAogICAgIHBs
YXRmb3JtL3F0L1Jlc291cmNlTG9hZGVyTWFuYWdlci5jcHAKICAgICBwbGF0Zm9ybS9xdC9GbG9h
dFBvaW50UXQuY3BwCkBAIC05MDcsNiArOTA4LDcgQEAKICAgICByZW5kZXJpbmcvUmVuZGVyUGFy
dE9iamVjdC5jcHAKICAgICByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKICAgICByZW5kZXJpbmcv
UmVuZGVyTWVudUxpc3QuY3BwCisgICAgcmVuZGVyaW5nL1JlbmRlclBvcHVwTWVudS5jcHAKICAg
ICByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKICAgICByZW5kZXJpbmcvUmVuZGVyTGlzdE1h
cmtlci5jcHAKICAgICByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>