<?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>85412</bug_id>
          
          <creation_ts>2012-05-02 13:16:38 -0700</creation_ts>
          <short_desc>[Chromium] Call isLinkVisited directly</short_desc>
          <delta_ts>2012-05-11 23:45:03 -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>WebKit Misc.</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>
          
          <blocked>82948</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Mark Pilgrim (Google)">pilgrim</assigned_to>
          <cc>abarth</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>haraken</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>614588</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 13:16:38 -0700</bug_when>
    <thetext>As part of the PlatformSupport refactoring (see bug 82948), I need to migrate isLinkVisited out of PlatformSupport.cpp/h and into... somewhere. Or do I? Example usage is here: http://trac.webkit.org/browser/trunk/Source/WebCore/page/PageGroup.cpp#L175 As you can see, Chromium is a special case. Every other port uses m_visitedLinkHashes, but Chromium routes through PlatformSupport. Now, if we want to continue special-casing Chromium, I could create a class in platform/VisitedLinksSupport.cpp/h and another in platform/chromium/VisitedLinksSupportChromium.cpp that contained a static isLinkVisited function that routes to WebKit::Platform::current()-&gt;isLinkVisited(...).  I&apos;ve followed that pattern numerous times (StatsCounter, MemoryUsageSupport, TraceEventSupport). Or should we discuss removing the special case for Chromium and handling visited links the same way as other ports? (I don&apos;t know if this is possible or desirable; I&apos;m just looking for guidance on how to proceed.)

PlatformSupport::visitedLinkHash() is probably also affected by this decision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614777</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-05-02 16:17:39 -0700</bug_when>
    <thetext>I&apos;m pretty sure that we need to maintain the Chromium specific code paths.  The reason for this is that we use a shared memory buffer on the Chromium-side to implement these functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619492</commentid>
    <comment_count>2</comment_count>
      <attachid>140949</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-09 08:13:33 -0700</bug_when>
    <thetext>Created attachment 140949
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619495</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-09 08:15:47 -0700</bug_when>
    <thetext>OK, new VisitedLinkSupport.cpp/h and VisitedLinkSupportChromium.cpp to house isLinkVisited function inside WebCore. Same pattern as, for example, bug 84376.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619507</commentid>
    <comment_count>4</comment_count>
      <attachid>140949</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-09 08:22:58 -0700</bug_when>
    <thetext>Comment on attachment 140949
Patch

Attachment 140949 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12649712</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619508</commentid>
    <comment_count>5</comment_count>
      <attachid>140949</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-09 08:24:43 -0700</bug_when>
    <thetext>Comment on attachment 140949
Patch

Attachment 140949 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12654624</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619515</commentid>
    <comment_count>6</comment_count>
      <attachid>140949</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-09 08:31:12 -0700</bug_when>
    <thetext>Comment on attachment 140949
Patch

Attachment 140949 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12651652</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619529</commentid>
    <comment_count>7</comment_count>
      <attachid>140949</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-09 08:54:54 -0700</bug_when>
    <thetext>Comment on attachment 140949
Patch

Attachment 140949 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/12664026</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619557</commentid>
    <comment_count>8</comment_count>
      <attachid>140949</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-09 09:17:58 -0700</bug_when>
    <thetext>Comment on attachment 140949
Patch

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

Looks like you&apos;ve got some compile troubles.

&gt; Source/WebCore/page/PageGroup.cpp:179
&gt; -    return PlatformSupport::isLinkVisited(visitedLinkHash);
&gt; +    return VisitedLinkSupport::isLinkVisited(visitedLinkHash);

I wonder if we should move this into the client.  This seems more like something the ChromeClient should worry about...

If we are going to keep this as a static, we should use a better name than VisitedLinkSupport though.  Perhaps VistedLinks?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620904</commentid>
    <comment_count>9</comment_count>
      <attachid>141238</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-10 13:31:58 -0700</bug_when>
    <thetext>Created attachment 141238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620905</commentid>
    <comment_count>10</comment_count>
      <attachid>141238</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-10 13:33:07 -0700</bug_when>
    <thetext>Comment on attachment 141238
Patch

Fixed missing include, should fix compile problems. Also renamed VisitedLinkSupport to VisitedLinks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620906</commentid>
    <comment_count>11</comment_count>
      <attachid>141238</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-10 13:35:38 -0700</bug_when>
    <thetext>Comment on attachment 141238
Patch

Did the entry in the header already move?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622181</commentid>
    <comment_count>12</comment_count>
      <attachid>141541</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-11 19:00:09 -0700</bug_when>
    <thetext>Created attachment 141541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622183</commentid>
    <comment_count>13</comment_count>
      <attachid>141541</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-11 19:02:22 -0700</bug_when>
    <thetext>Comment on attachment 141541
Patch

Repatch for ToT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622188</commentid>
    <comment_count>14</comment_count>
      <attachid>141541</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-11 19:06:06 -0700</bug_when>
    <thetext>Comment on attachment 141541
Patch

Attachment 141541 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12668610</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622190</commentid>
    <comment_count>15</comment_count>
      <attachid>141541</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-11 19:06:19 -0700</bug_when>
    <thetext>Comment on attachment 141541
Patch

Attachment 141541 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/12677371</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622191</commentid>
    <comment_count>16</comment_count>
      <attachid>141541</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-11 19:06:45 -0700</bug_when>
    <thetext>Comment on attachment 141541
Patch

Attachment 141541 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12671559</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622202</commentid>
    <comment_count>17</comment_count>
      <attachid>141541</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-11 19:22:05 -0700</bug_when>
    <thetext>Comment on attachment 141541
Patch

Attachment 141541 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12666693</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622207</commentid>
    <comment_count>18</comment_count>
      <attachid>141545</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-11 19:26:17 -0700</bug_when>
    <thetext>Created attachment 141545
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622208</commentid>
    <comment_count>19</comment_count>
      <attachid>141545</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-11 19:27:19 -0700</bug_when>
    <thetext>Comment on attachment 141545
Patch

Well that went badly. Let&apos;s try again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622240</commentid>
    <comment_count>20</comment_count>
      <attachid>141545</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-11 23:09:39 -0700</bug_when>
    <thetext>Comment on attachment 141545
Patch

That looks a lot greener.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622244</commentid>
    <comment_count>21</comment_count>
      <attachid>141545</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 23:44:56 -0700</bug_when>
    <thetext>Comment on attachment 141545
Patch

Clearing flags on attachment: 141545

Committed r116840: &lt;http://trac.webkit.org/changeset/116840&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622245</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-11 23:45:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140949</attachid>
            <date>2012-05-09 08:13:33 -0700</date>
            <delta_ts>2012-05-10 13:31:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85412-20120509111331.patch</filename>
            <type>text/plain</type>
            <size>20158</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjUyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA1LTA5ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwg
aXNMaW5rVmlzaXRlZCBkaXJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODU0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQYXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcg
YnVnIDgyOTQ4LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFnZS9QYWdl
R3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjppc0xpbmtWaXNpdGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaXNpdGVkTGlua1N1cHBvcnQuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VmlzaXRlZExpbmtTdXBwb3J0Ojppc0xp
bmtWaXNpdGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9WaXNpdGVkTGlua1N1cHBvcnQuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFZpc2l0ZWRMaW5rU3VwcG9ydCk6Cisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vVmlzaXRlZExpbmtTdXBwb3J0Q2hyb21pdW0uY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VmlzaXRlZExpbmtTdXBwb3J0
Ojppc0xpbmtWaXNpdGVkKToKKwogMjAxMi0wNS0wOSAgVGFrYXNoaSBTYWthbW90byAgPHRhc2Fr
QGdvb2dsZS5jb20+CiAKICAgICAgICAgU2hhZG93Um9vdCBuZWVkcyBhcHBseUF1dGhvclN0eWxl
cwpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDExNjUyMykKKysrIFNvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMTM1LDYgKzExMzUsNyBA
QCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vVGhyZWFkVGltZXJzLmNwcAogICAg
IHBsYXRmb3JtL1RpbWVyLmNwcAogICAgIHBsYXRmb3JtL1VVSUQuY3BwCisgICAgcGxhdGZvcm0v
VmlzaXRlZExpbmtTdXBwb3J0LmNwcAogICAgIHBsYXRmb3JtL1dpZGdldC5jcHAKIAogICAgIHBs
YXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb24uY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0JKHJldmlzaW9uIDExNjUyMykKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTM2NjksNiArMzY2OSw4IEBAIHdlYmNvcmVfc291
cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVVJRC5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1VVSUQuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlzaXRl
ZExpbmtTdHJhdGVneS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaXNpdGVkTGlua1N1
cHBvcnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaXNpdGVkTGlua1N1cHBvcnQu
aCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vV2lkZ2V0LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1dpbmRvd3NL
ZXlib2FyZENvZGVzLmggXApJbmRleDogU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCShyZXZpc2lvbiAxMTY1MjMpCisrKyBT
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCSh3b3JraW5nIGNvcHkpCkBAIC0xMjE2LDYgKzEyMTYs
NyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS90ZXh0L1VuaWNvZGVSYW5nZS5jcHAgXAog
ICAgIHBsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5jcHAgXAogICAgIHBs
YXRmb3JtL1VVSUQuY3BwIFwKKyAgICBwbGF0Zm9ybS9WaXNpdGVkTGlua1N1cHBvcnQuY3BwIFwK
ICAgICBwbGF0Zm9ybS9XaWRnZXQuY3BwIFwKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdp
ZXMuY3BwIFwKICAgICBwbHVnaW5zL0lGcmFtZVNoaW1TdXBwb3J0LmNwcCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCShyZXZpc2lvbiAxMTY1MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkJKHdvcmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsNyBAQAogICAgICAgICAgICAgJ3BsYXRm
b3JtL1RpbWVyLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1RyZWVTaGFyZWQuaCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vVmlzaXRlZExpbmtTdHJhdGVneS5oJywKKyAgICAgICAgICAgICdw
bGF0Zm9ybS9WaXNpdGVkTGlua1N1cHBvcnQuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vV2lk
Z2V0LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1dpbmRvd3NLZXlib2FyZENvZGVzLmgnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb24uaCcsCkBAIC0zMzU1LDYg
KzMzNTYsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1RoZW1lQ2hyb21pdW1N
YWMuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vVGhlbWVDaHJvbWl1bU1hYy5t
bScsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oJywKKyAgICAg
ICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9WaXNpdGVkTGlua1N1cHBvcnRDaHJvbWl1bS5jcHAn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1dpZGdldENocm9taXVtLmNwcCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vY29jb2EvS2V5RXZlbnRDb2NvYS5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9jb2NvYS9LZXlFdmVudENvY29hLm1tJywKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAxMTY1MjMpCisrKyBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5
KQpAQCAtMjgxMzgsNiArMjgxMzgsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cVmlzaXRlZExpbmtTdXBwb3J0LmNwcCIKKwkJ
CQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1c
VmlzaXRlZExpbmtTdXBwb3J0LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFdpZGdldC5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpJ
bmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gMTE2NTIzKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01ODIwLDYgKzU4MjAsNyBAQAog
CQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTMgLyogSGlzdG9ncmFtU3VwcG9ydC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUyQUIxNDlCRjM0NDAw
NUIyRjkzIC8qIEhpc3RvZ3JhbVN1cHBvcnQuaCAqLzsgfTsKIAkJRDYzMEUyQUMxNDlCRjM0NDAw
NUIyRjk0IC8qIFN0YXRzQ291bnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk0IC8qIFN0YXRzQ291bnRlci5o
ICovOyB9OwogCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5VXNhZ2VTdXBwb3J0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENjMwRTJB
QjE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmggKi87IH07CisJCUQ2MzBF
MkFDMTQ5QkYzNDQwMDVCMkY5NyAvKiBWaXNpdGVkTGlua1N1cHBvcnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5
NyAvKiBWaXNpdGVkTGlua1N1cHBvcnQuaCAqLzsgfTsKIAkJRDZFMjc2QUYxNDYzNzQ1NTAwMUQy
ODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFMjc2QUQxNDYzNzQ1NTAwMUQyODBBIC8q
IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwICovOyB9OwogCQlENkUyNzZCMDE0NjM3
NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFMjc2QUUxNDYzNzQ1NTAwMUQy
ODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCAqLzsgfTsKIAkJRDZFNTI4QTMx
NDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTUyOEExMTQ5QTky
NkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHAgKi87IH07CkBA
IC01ODI3LDYgKzU4MjgsNyBAQAogCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9n
cmFtU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFtU3VwcG9ydC5jcHAgKi87
IH07CiAJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0NvdW50ZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYx
OTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAgKi87IH07CiAJCUQ2RkRBRUYzMTQ5QzA2MTkw
MDM3QjFFMyAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUzIC8qIE1lbW9y
eVVzYWdlU3VwcG9ydC5jcHAgKi87IH07CisJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFNSAvKiBW
aXNpdGVkTGlua1N1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYxOTAwMzdCMUU1IC8qIFZpc2l0ZWRMaW5rU3VwcG9y
dC5jcHAgKi87IH07CiAJCUQ3MEFENjU3MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDcwQUQ2
NTUxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5jcHAgKi87IH07CiAJCUQ3MEFENjU4
MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ3MEFENjU2MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5k
ZXJSZWdpb24uaCAqLzsgfTsKIAkJRDcyRjZENzkxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJl
YWRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEQ3MkY2RDc3MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5j
cHAgKi87IH07CkBAIC0xMjk3Miw2ICsxMjk3NCw3IEBACiAJCUQ2MzBFMkFCMTQ5QkYzNDQwMDVC
MkY5MyAvKiBIaXN0b2dyYW1TdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEhpc3RvZ3JhbVN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDYz
MEUyQUIxNDlCRjM0NDAwNUIyRjk0IC8qIFN0YXRzQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTdGF0c0NvdW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk1IC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZW1vcnlVc2FnZVN1cHBvcnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk3IC8qIFZp
c2l0ZWRMaW5rU3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBWaXNp
dGVkTGlua1N1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFMjc2QUQx
NDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJh
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RTI3NkFFMTQ2Mzc0NTUw
MDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFNTI4QTExNDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0
aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTEyOTc5LDYgKzEyOTgyLDcgQEAKIAkJRDZGREFFRjIxNDlDMDYx
OTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSGlzdG9ncmFtU3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0NvdW50ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RhdHNDb3VudGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUzIC8qIE1l
bW9yeVVzYWdlU3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNZW1vcnlVc2FnZVN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
NkZEQUVGMjE0OUMwNjE5MDAzN0IxRTUgLyogVmlzaXRlZExpbmtTdXBwb3J0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZpc2l0ZWRMaW5rU3VwcG9ydC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ3MEFENjU1MTNFMTM0MkIwMDVCNTBCNCAvKiBS
ZW5kZXJSZWdpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVu
ZGVyUmVnaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDcwQUQ2NTYxM0Ux
MzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZW5kZXJSZWdpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDcy
RjZENzcxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMzkyLDYgKzIwMzk2LDggQEAKIAkJCQky
RTNCQkYwNTExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5jcHAgKi8sCiAJCQkJMkUzQkJGMDYxMTYy
REExMTAwQjk0MDlBIC8qIFVVSUQuaCAqLywKIAkJCQk1MTU3ODhDMDEyMDc4NTJDMDBBMzdDNEEg
LyogVmlzaXRlZExpbmtTdHJhdGVneS5oICovLAorCQkJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFF
NSAvKiBWaXNpdGVkTGlua1N1cHBvcnQuY3BwICovLAorCQkJCUQ2MzBFMkFCMTQ5QkYzNDQwMDVC
MkY5NyAvKiBWaXNpdGVkTGlua1N1cHBvcnQuaCAqLywKIAkJCQk5MzgwRjQ3MTA5QTExQUI0MDAx
RkRCMzQgLyogV2lkZ2V0LmNwcCAqLywKIAkJCQk5MzgwRjQ3MjA5QTExQUI0MDAxRkRCMzQgLyog
V2lkZ2V0LmggKi8sCiAJCQkJRTFFMUJFRkYxMTVGRjZGQjAwNkY1MkNBIC8qIFdpbmRvd3NLZXli
b2FyZENvZGVzLmggKi8sCkBAIC0yNDcxNSw2ICsyNDcyMSw3IEBACiAJCQkJOTMzMDlFMjAwOTlF
NjQ5MjAwNTZFNTgxIC8qIFZpc2libGVQb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg4
M0RGMjgwRjNEMDQ1RDAwRjE5QkY2IC8qIFZpc2libGVTZWxlY3Rpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxNTc4OEMxMTIwNzg1MkMwMEEzN0M0QSAvKiBWaXNpdGVkTGlua1N0cmF0ZWd5Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTcgLyogVmlzaXRlZExp
bmtTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDQ2MTNCNjBDRDYzNDRFMDBGQURBNzUg
LyogVm9pZENhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDdGMjk5MjEzRDRDMENCMDBB
RDk1MzUgLyogV2F2ZVNoYXBlckRTUEtlcm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ3RjI5
OTQxM0Q0QzBDQjAwQUQ5NTM1IC8qIFdhdmVTaGFwZXJOb2RlLmggaW4gSGVhZGVycyAqLywKQEAg
LTI3NzUzLDYgKzI3NzYwLDcgQEAKIAkJCQk5MzMwOUUxRDA5OUU2NDkyMDA1NkU1ODEgLyogdmlz
aWJsZV91bml0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUUxRjA5OUU2NDkyMDA1NkU1
ODEgLyogVmlzaWJsZVBvc2l0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4ODNERjI3MEYz
RDA0NUQwMEYxOUJGNiAvKiBWaXNpYmxlU2VsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFNSAvKiBWaXNpdGVkTGlua1N1cHBvcnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRkQ3RjI5OTExM0Q0QzBDQjAwQUQ5NTM1IC8qIFdhdmVTaGFwZXJEU1BL
ZXJuZWwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ3RjI5OTMxM0Q0QzBDQjAwQUQ5NTM1IC8q
IFdhdmVTaGFwZXJOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEN0YyOTk2MTNENEMwQ0Iw
MEFEOTUzNSAvKiBXYXZlU2hhcGVyUHJvY2Vzc29yLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmNwcAkocmV2aXNpb24gMTE2NTIzKQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBA
CiAjaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFjZS5oIgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0p
Ci0jaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCisjaW5jbHVkZSAiVmlzaXRlZExpbmtTdXBw
b3J0LmgiCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTc2LDcgKzE3Niw3IEBA
IGJvb2wgUGFnZUdyb3VwOjppc0xpbmtWaXNpdGVkKExpbmtIYXNoIHYKIHsKICNpZiBQTEFURk9S
TShDSFJPTUlVTSkKICAgICAvLyBVc2UgQ2hyb21pdW0ncyBidWlsdC1pbiB2aXNpdGVkIGxpbmsg
ZGF0YWJhc2UuCi0gICAgcmV0dXJuIFBsYXRmb3JtU3VwcG9ydDo6aXNMaW5rVmlzaXRlZCh2aXNp
dGVkTGlua0hhc2gpOworICAgIHJldHVybiBWaXNpdGVkTGlua1N1cHBvcnQ6OmlzTGlua1Zpc2l0
ZWQodmlzaXRlZExpbmtIYXNoKTsKICNlbHNlCiAgICAgaWYgKCFtX3Zpc2l0ZWRMaW5rc1BvcHVs
YXRlZCkgewogICAgICAgICBtX3Zpc2l0ZWRMaW5rc1BvcHVsYXRlZCA9IHRydWU7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaXNpdGVkTGlua1N1cHBvcnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Zpc2l0ZWRMaW5rU3VwcG9ydC5jcHAJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaXNpdGVkTGlua1N1cHBvcnQuY3Bw
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEy
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wgVmlzaXRlZExpbmtTdXBwb3J0Ojppc0xpbmtWaXNpdGVk
KExpbmtIYXNoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlzaXRlZExpbmtTdXBwb3J0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlzaXRlZExpbmtTdXBwb3J0
LmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaXNpdGVkTGlua1N1
cHBvcnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgVmlzaXRlZExpbmtT
dXBwb3J0X2gKKyNkZWZpbmUgVmlzaXRlZExpbmtTdXBwb3J0X2gKKworI2luY2x1ZGUgIkxpbmtI
YXNoLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgVmlzaXRlZExpbmtTdXBwb3J0
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgYm9vbCBpc0xpbmtWaXNpdGVkKExpbmtIYXNoKTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFZpc2l0ZWRMaW5rU3VwcG9y
dF9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBv
cnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0
Zm9ybVN1cHBvcnQuaAkocmV2aXNpb24gMTE2NTIzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4NCw3ICsz
ODQsNiBAQCBwdWJsaWM6CiAgICAgLy8gVmlzaXRlZCBsaW5rcyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBzdGF0aWMgTGlua0hhc2gg
dmlzaXRlZExpbmtIYXNoKGNvbnN0IFVDaGFyKiB1cmwsIHVuc2lnbmVkIGxlbmd0aCk7CiAgICAg
c3RhdGljIExpbmtIYXNoIHZpc2l0ZWRMaW5rSGFzaChjb25zdCBLVVJMJiBiYXNlLCBjb25zdCBB
dG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCk7Ci0gICAgc3RhdGljIGJvb2wgaXNMaW5rVmlzaXRl
ZChMaW5rSGFzaCk7CiAKICAgICBzdGF0aWMgdm9pZCBkaWRTdGFydFdvcmtlclJ1bkxvb3AoV29y
a2VyUnVuTG9vcCopOwogICAgIHN0YXRpYyB2b2lkIGRpZFN0b3BXb3JrZXJSdW5Mb29wKFdvcmtl
clJ1bkxvb3AqKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Zpc2l0
ZWRMaW5rU3VwcG9ydENocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9WaXNpdGVkTGlua1N1cHBvcnRDaHJvbWl1bS5jcHAJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9WaXNpdGVkTGlua1N1cHBv
cnRDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiVmlzaXRlZExpbmtTdXBwb3J0LmgiCisKKyNpbmNsdWRlIDxwdWJs
aWMvUGxhdGZvcm0uaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIFZpc2l0ZWRMaW5r
U3VwcG9ydDo6aXNMaW5rVmlzaXRlZChMaW5rSGFzaCB2aXNpdGVkTGlua0hhc2gpCit7CisgICAg
cmV0dXJuIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+aXNMaW5rVmlzaXRlZCh2aXNpdGVk
TGlua0hhc2gpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE2NTIzKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wNS0wOSAg
TWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVt
XSBDYWxsIGlzTGlua1Zpc2l0ZWQgZGlyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUGFydCBvZiBhIHJlZmFjdG9yaW5nIHNlcmllcy4gU2VlIHRy
YWNraW5nIGJ1ZyA4Mjk0OC4KKworICAgICAgICAqIHNyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTItMDUtMDkgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gRGlzYWJsZSBXZWJWaWV3VGVzdC5UZXh0
SW5wdXRUeXBlIGJlY2F1c2UgdGhlIHRlc3QgaXMgaW5jb21wbGV0ZS4KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkocmV2aXNpb24gMTE2
NTIzKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODczLDExICs4NzMsNiBAQCBMaW5rSGFzaCBQbGF0Zm9ybVN1cHBv
cnQ6OnZpc2l0ZWRMaW5rSGFzCiAgICAgcmV0dXJuIHdlYktpdFBsYXRmb3JtU3VwcG9ydCgpLT52
aXNpdGVkTGlua0hhc2goYnVmZmVyLmRhdGEoKSwgYnVmZmVyLmxlbmd0aCgpKTsKIH0KIAotYm9v
bCBQbGF0Zm9ybVN1cHBvcnQ6OmlzTGlua1Zpc2l0ZWQoTGlua0hhc2ggdmlzaXRlZExpbmtIYXNo
KQotewotICAgIHJldHVybiB3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKS0+aXNMaW5rVmlzaXRlZCh2
aXNpdGVkTGlua0hhc2gpOwotfQotCiAvLyBUaGVzZSBhcmUgdGVtcG9yYXJ5IG1ldGhvZHMgdGhh
dCB0aGUgV2ViS2l0IGxheWVyIGNhbiB1c2UgdG8gY2FsbCB0byB0aGUKIC8vIEdsdWUgbGF5ZXIu
IE9uY2UgdGhlIEdsdWUgbGF5ZXIgbW92ZXMgZW50aXJlbHkgaW50byB0aGUgV2ViS2l0IGxheWVy
LCB0aGVzZQogLy8gbWV0aG9kcyB3aWxsIGJlIGRlbGV0ZWQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141238</attachid>
            <date>2012-05-10 13:31:58 -0700</date>
            <delta_ts>2012-05-11 18:59:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85412-20120510163154.patch</filename>
            <type>text/plain</type>
            <size>19922</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjY4MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA1LTEwICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwg
aXNMaW5rVmlzaXRlZCBkaXJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODU0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQYXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcg
YnVnIDgyOTQ4LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFnZS9QYWdl
R3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjppc0xpbmtWaXNpdGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaXNpdGVkTGlua3MuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VmlzaXRlZExpbmtzOjppc0xpbmtWaXNpdGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaXNpdGVkTGlua3MuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFZpc2l0ZWRMaW5rcyk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vUGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVmlzaXRl
ZExpbmtzQ2hyb21pdW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6VmlzaXRlZExpbmtzOjppc0xpbmtWaXNpdGVkKToKKwogMjAxMi0wNS0xMCAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBoZWFwIHNuYXBzaG90IGNvbXBhcmlzb24gdmlldyBpcyBicm9rZW4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMTY2ODEpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTEzNSw2ICsxMTM1LDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIHBsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKICAgICBwbGF0Zm9ybS9UaW1l
ci5jcHAKICAgICBwbGF0Zm9ybS9VVUlELmNwcAorICAgIHBsYXRmb3JtL1Zpc2l0ZWRMaW5rcy5j
cHAKICAgICBwbGF0Zm9ybS9XaWRnZXQuY3BwCiAKICAgICBwbGF0Zm9ybS9hbmltYXRpb24vQW5p
bWF0aW9uLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAx
MTY2ODEpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNv
cHkpCkBAIC0zNjY4LDYgKzM2NjgsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VVUlE
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaCBcCisJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlzaXRlZExpbmtzLmNwcCBcCisJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVmlzaXRlZExpbmtzLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1dp
ZGdldC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1dpZGdldC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9XaW5kb3dzS2V5Ym9hcmRDb2Rlcy5oIFwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQkocmV2aXNpb24gMTE2NjgxKQorKysgU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkod29ya2lu
ZyBjb3B5KQpAQCAtMTIxNSw2ICsxMjE1LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0v
dGV4dC9Vbmljb2RlUmFuZ2UuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9u
dFRyYW5zY29kZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9VVUlELmNwcCBcCisgICAgcGxhdGZvcm0v
VmlzaXRlZExpbmtzLmNwcCBcCiAgICAgcGxhdGZvcm0vV2lkZ2V0LmNwcCBcCiAgICAgcGxhdGZv
cm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBcCiAgICAgcGx1Z2lucy9JRnJhbWVTaGltU3VwcG9y
dC5jcHAgXApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gMTE2NjgxKQorKysgU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0zMjYsNiArMzI2LDcgQEAK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9UaW1lci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9U
cmVlU2hhcmVkLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Zpc2l0ZWRMaW5rU3RyYXRlZ3ku
aCcsCisgICAgICAgICAgICAncGxhdGZvcm0vVmlzaXRlZExpbmtzLmgnLAogICAgICAgICAgICAg
J3BsYXRmb3JtL1dpZGdldC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9XaW5kb3dzS2V5Ym9h
cmRDb2Rlcy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmgn
LApAQCAtMzM1NSw2ICszMzU2LDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9U
aGVtZUNocm9taXVtTWFjLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1RoZW1l
Q2hyb21pdW1NYWMubW0nLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1RyYWNlRXZl
bnQuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vVmlzaXRlZExpbmtzQ2hyb21p
dW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9XaWRnZXRDaHJvbWl1bS5j
cHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2NvY29hL0tleUV2ZW50Q29jb2EuaCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vY29jb2EvS2V5RXZlbnRDb2NvYS5tbScsCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gMTE2Njgx
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtp
bmcgY29weSkKQEAgLTI4MTM4LDYgKzI4MTM4LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFZpc2l0ZWRMaW5rcy5jcHAiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3Jt
XFZpc2l0ZWRMaW5rcy5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxwbGF0Zm9ybVxXaWRnZXQuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHJldmlzaW9uIDExNjY4MSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNTgxOSw2ICs1ODE5LDcgQEAKIAkJRDYz
MEUyQUMxNDlCRjM0NDAwNUIyRjkzIC8qIEhpc3RvZ3JhbVN1cHBvcnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5
MyAvKiBIaXN0b2dyYW1TdXBwb3J0LmggKi87IH07CiAJCUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5
NCAvKiBTdGF0c0NvdW50ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NCAvKiBTdGF0c0NvdW50ZXIuaCAqLzsg
fTsKIAkJRDYzMEUyQUMxNDlCRjM0NDAwNUIyRjk1IC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUyQUIxNDlC
RjM0NDAwNUIyRjk1IC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5oICovOyB9OworCQlENjMwRTJBQzE0
OUJGMzQ0MDA1QjJGOTcgLyogVmlzaXRlZExpbmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTcgLyogVmlzaXRl
ZExpbmtzLmggKi87IH07CiAJCUQ2RTI3NkFGMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9i
c2VydmVyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEQ2RTI3NkFEMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVy
UmVnaXN0cmF0aW9uLmNwcCAqLzsgfTsKIAkJRDZFMjc2QjAxNDYzNzQ1NTAwMUQyODBBIC8qIE11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTI3NkFFMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9i
c2VydmVyUmVnaXN0cmF0aW9uLmggKi87IH07CiAJCUQ2RTUyOEEzMTQ5QTkyNkQwMEVGRTFGMyAv
KiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkU1MjhBMTE0OUE5MjZEMDBFRkUxRjMgLyogTXV0
YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwICovOyB9OwpAQCAtNTgyNiw2ICs1ODI3LDcg
QEAKIAkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlD
MDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwICovOyB9OwogCQlENkZEQUVGMzE0
OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0
c0NvdW50ZXIuY3BwICovOyB9OwogCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTMgLyogTWVtb3J5
VXNhZ2VTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMyAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuY3Bw
ICovOyB9OworCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTUgLyogVmlzaXRlZExpbmtzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5
QzA2MTkwMDM3QjFFNSAvKiBWaXNpdGVkTGlua3MuY3BwICovOyB9OwogCQlENzBBRDY1NzEzRTEz
NDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ3MEFENjU1MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJS
ZWdpb24uY3BwICovOyB9OwogCQlENzBBRDY1ODEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVn
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENzBB
RDY1NjEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmggKi87IH07CiAJCUQ3MkY2RDc5
MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENzJGNkQ3NzE1MzE1OUEzMDAxRUU0
NEUgLyogRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwICovOyB9OwpAQCAtMTI5NzAsNiArMTI5NzIs
NyBAQAogCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTMgLyogSGlzdG9ncmFtU3VwcG9ydC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIaXN0b2dyYW1TdXBwb3J0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NCAvKiBTdGF0
c0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RhdHNDb3VudGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5
NSAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTWVtb3J5VXNhZ2VTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ2
MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NyAvKiBWaXNpdGVkTGlua3MuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVmlzaXRlZExpbmtzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUQ2RTI3NkFEMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
NkUyNzZBRTE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RTUyOEExMTQ5QTkyNkQw
MEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjk3Nyw2ICsxMjk4MCw3IEBACiAJ
CUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMSAvKiBIaXN0b2dyYW1TdXBwb3J0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpc3RvZ3JhbVN1cHBvcnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTIgLyogU3Rh
dHNDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0YXRz
Q291bnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RkRBRUYyMTQ5QzA2
MTkwMDM3QjFFMyAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUU1IC8qIFZpc2l0ZWRMaW5rcy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaXNpdGVkTGlua3MuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENzBBRDY1NTEzRTEzNDJCMDA1QjUwQjQg
LyogUmVuZGVyUmVnaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlbmRlclJlZ2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ3MEFENjU2
MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVuZGVyUmVnaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQ3MkY2RDc3MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGbG93VGhyZWFkQ29udHJvbGxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDM4OSw2ICsyMDM5Myw4IEBACiAJ
CQkJMkUzQkJGMDUxMTYyREExMTAwQjk0MDlBIC8qIFVVSUQuY3BwICovLAogCQkJCTJFM0JCRjA2
MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmggKi8sCiAJCQkJNTE1Nzg4QzAxMjA3ODUyQzAwQTM3
QzRBIC8qIFZpc2l0ZWRMaW5rU3RyYXRlZ3kuaCAqLywKKwkJCQlENkZEQUVGMjE0OUMwNjE5MDAz
N0IxRTUgLyogVmlzaXRlZExpbmtzLmNwcCAqLywKKwkJCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJG
OTcgLyogVmlzaXRlZExpbmtzLmggKi8sCiAJCQkJOTM4MEY0NzEwOUExMUFCNDAwMUZEQjM0IC8q
IFdpZGdldC5jcHAgKi8sCiAJCQkJOTM4MEY0NzIwOUExMUFCNDAwMUZEQjM0IC8qIFdpZGdldC5o
ICovLAogCQkJCUUxRTFCRUZGMTE1RkY2RkIwMDZGNTJDQSAvKiBXaW5kb3dzS2V5Ym9hcmRDb2Rl
cy5oICovLApAQCAtMjQ3MTIsNiArMjQ3MTgsNyBAQAogCQkJCTkzMzA5RTIwMDk5RTY0OTIwMDU2
RTU4MSAvKiBWaXNpYmxlUG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUE4ODNERjI4MEYz
RDA0NUQwMEYxOUJGNiAvKiBWaXNpYmxlU2VsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTU3ODhDMTEyMDc4NTJDMDBBMzdDNEEgLyogVmlzaXRlZExpbmtTdHJhdGVneS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJRDYzMEUyQUMxNDlCRjM0NDAwNUIyRjk3IC8qIFZpc2l0ZWRMaW5rcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTQ0NjEzQjYwQ0Q2MzQ0RTAwRkFEQTc1IC8qIFZvaWRDYWxsYmFj
ay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ3RjI5OTIxM0Q0QzBDQjAwQUQ5NTM1IC8qIFdhdmVT
aGFwZXJEU1BLZXJuZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEN0YyOTk0MTNENEMwQ0IwMEFE
OTUzNSAvKiBXYXZlU2hhcGVyTm9kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzc0OSw2ICsyNzc1
Niw3IEBACiAJCQkJOTMzMDlFMUQwOTlFNjQ5MjAwNTZFNTgxIC8qIHZpc2libGVfdW5pdHMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlFMUYwOTlFNjQ5MjAwNTZFNTgxIC8qIFZpc2libGVQ
b3NpdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODgzREYyNzBGM0QwNDVEMDBGMTlCRjYg
LyogVmlzaWJsZVNlbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlENkZEQUVGMzE0OUMw
NjE5MDAzN0IxRTUgLyogVmlzaXRlZExpbmtzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEN0Yy
OTkxMTNENEMwQ0IwMEFEOTUzNSAvKiBXYXZlU2hhcGVyRFNQS2VybmVsLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUZEN0YyOTkzMTNENEMwQ0IwMEFEOTUzNSAvKiBXYXZlU2hhcGVyTm9kZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlGRDdGMjk5NjEzRDRDMENCMDBBRDk1MzUgLyogV2F2ZVNoYXBl
clByb2Nlc3Nvci5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUdyb3VwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cC5jcHAJKHJldmlzaW9uIDExNjY4MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQAogI2luY2x1ZGUgIlN0b3JhZ2VO
YW1lc3BhY2UuaCIKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotI2luY2x1ZGUgIlBsYXRmb3Jt
U3VwcG9ydC5oIgorI2luY2x1ZGUgIlZpc2l0ZWRMaW5rcy5oIgogI2VuZGlmCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTE3Niw3ICsxNzYsNyBAQCBib29sIFBhZ2VHcm91cDo6aXNMaW5rVmlz
aXRlZChMaW5rSGFzaCB2CiB7CiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgLy8gVXNlIENo
cm9taXVtJ3MgYnVpbHQtaW4gdmlzaXRlZCBsaW5rIGRhdGFiYXNlLgotICAgIHJldHVybiBQbGF0
Zm9ybVN1cHBvcnQ6OmlzTGlua1Zpc2l0ZWQodmlzaXRlZExpbmtIYXNoKTsKKyAgICByZXR1cm4g
VmlzaXRlZExpbmtzOjppc0xpbmtWaXNpdGVkKHZpc2l0ZWRMaW5rSGFzaCk7CiAjZWxzZQogICAg
IGlmICghbV92aXNpdGVkTGlua3NQb3B1bGF0ZWQpIHsKICAgICAgICAgbV92aXNpdGVkTGlua3NQ
b3B1bGF0ZWQgPSB0cnVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlzaXRlZExp
bmtzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaXNpdGVkTGlu
a3MuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlzaXRlZExp
bmtzLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJWaXNpdGVkTGlua3MuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29s
IFZpc2l0ZWRMaW5rczo6aXNMaW5rVmlzaXRlZChMaW5rSGFzaCkKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Zpc2l0ZWRMaW5rcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Zpc2l0ZWRMaW5rcy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVmlzaXRlZExpbmtzLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFZp
c2l0ZWRMaW5rc19oCisjZGVmaW5lIFZpc2l0ZWRMaW5rc19oCisKKyNpbmNsdWRlICJMaW5rSGFz
aC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFZpc2l0ZWRMaW5rcyB7CitwdWJs
aWM6CisgICAgc3RhdGljIGJvb2wgaXNMaW5rVmlzaXRlZChMaW5rSGFzaCk7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBWaXNpdGVkTGlua3NfaApJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgJ
KHJldmlzaW9uIDExNjY4MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bs
YXRmb3JtU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zODIsNyArMzgyLDYgQEAgcHVibGlj
OgogICAgIC8vIFZpc2l0ZWQgbGlua3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgc3RhdGljIExpbmtIYXNoIHZpc2l0ZWRMaW5rSGFz
aChjb25zdCBVQ2hhciogdXJsLCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHN0YXRpYyBMaW5rSGFz
aCB2aXNpdGVkTGlua0hhc2goY29uc3QgS1VSTCYgYmFzZSwgY29uc3QgQXRvbWljU3RyaW5nJiBh
dHRyaWJ1dGVVUkwpOwotICAgIHN0YXRpYyBib29sIGlzTGlua1Zpc2l0ZWQoTGlua0hhc2gpOwog
CiAgICAgc3RhdGljIHZvaWQgZGlkU3RhcnRXb3JrZXJSdW5Mb29wKFdvcmtlclJ1bkxvb3AqKTsK
ICAgICBzdGF0aWMgdm9pZCBkaWRTdG9wV29ya2VyUnVuTG9vcChXb3JrZXJSdW5Mb29wKik7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9WaXNpdGVkTGlua3NDaHJvbWl1
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVmlz
aXRlZExpbmtzQ2hyb21pdW0uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vVmlzaXRlZExpbmtzQ2hyb21pdW0uY3BwCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlZpc2l0ZWRMaW5rcy5o
IgorCisjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworYm9vbCBWaXNpdGVkTGlua3M6OmlzTGlua1Zpc2l0ZWQoTGlua0hhc2ggdmlzaXRlZExpbmtI
YXNoKQoreworICAgIHJldHVybiBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmlzTGlua1Zp
c2l0ZWQodmlzaXRlZExpbmtIYXNoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjY4MSkKKysrIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTItMDUtMTAgIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFtDaHJvbWl1bV0gQ2FsbCBpc0xpbmtWaXNpdGVkIGRpcmVjdGx5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTQxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnQgb2YgYSByZWZhY3RvcmluZyBz
ZXJpZXMuIFNlZSB0cmFja2luZyBidWcgODI5NDguCisKKyAgICAgICAgKiBzcmMvUGxhdGZvcm1T
dXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTA1LTEwICBWYXJ1biBKYWlu
ICA8dmFydW5qYWluQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBUcmlnZ2VyIGNv
bnRleHQgbWVudSBmb3IgbG9uZyBwcmVzcyBnZXN0dXJlCkluZGV4OiBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAJKHJldmlzaW9uIDExNjY4MSkKKysr
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTg2MiwxMSArODYyLDYgQEAgTGlua0hhc2ggUGxhdGZvcm1TdXBwb3J0Ojp2aXNp
dGVkTGlua0hhcwogICAgIHJldHVybiB3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKS0+dmlzaXRlZExp
bmtIYXNoKGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5sZW5ndGgoKSk7CiB9CiAKLWJvb2wgUGxhdGZv
cm1TdXBwb3J0Ojppc0xpbmtWaXNpdGVkKExpbmtIYXNoIHZpc2l0ZWRMaW5rSGFzaCkKLXsKLSAg
ICByZXR1cm4gd2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmlzTGlua1Zpc2l0ZWQodmlzaXRlZExp
bmtIYXNoKTsKLX0KLQogLy8gVGhlc2UgYXJlIHRlbXBvcmFyeSBtZXRob2RzIHRoYXQgdGhlIFdl
YktpdCBsYXllciBjYW4gdXNlIHRvIGNhbGwgdG8gdGhlCiAvLyBHbHVlIGxheWVyLiBPbmNlIHRo
ZSBHbHVlIGxheWVyIG1vdmVzIGVudGlyZWx5IGludG8gdGhlIFdlYktpdCBsYXllciwgdGhlc2UK
IC8vIG1ldGhvZHMgd2lsbCBiZSBkZWxldGVkLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141541</attachid>
            <date>2012-05-11 19:00:09 -0700</date>
            <delta_ts>2012-05-11 19:26:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85412-20120511220003.patch</filename>
            <type>text/plain</type>
            <size>8308</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjgzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTExICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwg
aXNMaW5rVmlzaXRlZCBkaXJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODU0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQYXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcg
YnVnIDgyOTQ4LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFnZS9QYWdl
R3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjppc0xpbmtWaXNpdGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKwogMjAxMi0w
NS0xMSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2Mjc4CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAkocmV2aXNpb24gMTE2ODMxKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTExMzcsNiArMTEzNyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMK
ICAgICBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCiAgICAgcGxhdGZvcm0vVGltZXIuY3BwCiAg
ICAgcGxhdGZvcm0vVVVJRC5jcHAKKyAgICBwbGF0Zm9ybS9WaXNpdGVkTGlua3MuY3BwCiAgICAg
cGxhdGZvcm0vV2lkZ2V0LmNwcAogCiAgICAgcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbi5j
cHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gMTE2ODMxKQor
KysgU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAt
MzY3MCw2ICszNjcwLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9VVUlELmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVVJRC5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaXNpdGVkTGlua1N0cmF0ZWd5LmggXAorCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Zpc2l0ZWRMaW5rcy5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Zpc2l0ZWRMaW5rcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vV2luZG93c0tleWJvYXJkQ29kZXMuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHJldmlz
aW9uIDExNjgzMSkKKysrIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdvcmtpbmcgY29weSkK
QEAgLTEyMTYsNiArMTIxNiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL3RleHQvVW5p
Y29kZVJhbmdlLmNwcCBcCiAgICAgcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2Nv
ZGVyLmNwcCBcCiAgICAgcGxhdGZvcm0vVVVJRC5jcHAgXAorICAgIHBsYXRmb3JtL1Zpc2l0ZWRM
aW5rcy5jcHAgXAogICAgIHBsYXRmb3JtL1dpZGdldC5jcHAgXAogICAgIHBsYXRmb3JtL1BsYXRm
b3JtU3RyYXRlZ2llcy5jcHAgXAogICAgIHBsdWdpbnMvSUZyYW1lU2hpbVN1cHBvcnQuY3BwIFwK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDExNjgzMSkKKysrIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzI3LDYgKzMyNyw3IEBACiAgICAgICAg
ICAgICAncGxhdGZvcm0vVGltZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vVHJlZVNoYXJl
ZC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9WaXNpdGVkTGlua1N0cmF0ZWd5LmgnLAorICAg
ICAgICAgICAgJ3BsYXRmb3JtL1Zpc2l0ZWRMaW5rcy5oJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9XaWRnZXQuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vV2luZG93c0tleWJvYXJkQ29kZXMu
aCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbi5oJywKQEAgLTMz
NTcsNiArMzM1OCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vVGhlbWVDaHJv
bWl1bU1hYy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9UaGVtZUNocm9taXVt
TWFjLm1tJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmgnLAor
ICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1Zpc2l0ZWRMaW5rc0Nocm9taXVtLmNwcCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vV2lkZ2V0Q2hyb21pdW0uY3BwJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9jb2NvYS9LZXlFdmVudENvY29hLmgnLAogICAgICAgICAgICAg
J3BsYXRmb3JtL2NvY29hL0tleUV2ZW50Q29jb2EubW0nLApJbmRleDogU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDExNjgzMSkKKysrIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0yODE0Niw2ICsyODE0NiwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxWaXNpdGVkTGlua3MuY3BwIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxWaXNpdGVk
TGlua3MuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5ccGxhdGZvcm1cV2lkZ2V0LmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAxMTY4MzEpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTIwMzk1LDYgKzIwMzk1LDggQEAKIAkJCQkyRTNCQkYw
NTExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5jcHAgKi8sCiAJCQkJMkUzQkJGMDYxMTYyREExMTAw
Qjk0MDlBIC8qIFVVSUQuaCAqLywKIAkJCQk1MTU3ODhDMDEyMDc4NTJDMDBBMzdDNEEgLyogVmlz
aXRlZExpbmtTdHJhdGVneS5oICovLAorCQkJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFNSAvKiBW
aXNpdGVkTGlua3MuY3BwICovLAorCQkJCUQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NyAvKiBWaXNp
dGVkTGlua3MuaCAqLywKIAkJCQk5MzgwRjQ3MTA5QTExQUI0MDAxRkRCMzQgLyogV2lkZ2V0LmNw
cCAqLywKIAkJCQk5MzgwRjQ3MjA5QTExQUI0MDAxRkRCMzQgLyogV2lkZ2V0LmggKi8sCiAJCQkJ
RTFFMUJFRkYxMTVGRjZGQjAwNkY1MkNBIC8qIFdpbmRvd3NLZXlib2FyZENvZGVzLmggKi8sCkBA
IC0yNDcxOSw2ICsyNDcyMSw3IEBACiAJCQkJOTMzMDlFMjAwOTlFNjQ5MjAwNTZFNTgxIC8qIFZp
c2libGVQb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg4M0RGMjgwRjNEMDQ1RDAwRjE5
QkY2IC8qIFZpc2libGVTZWxlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNTc4OEMxMTIw
Nzg1MkMwMEEzN0M0QSAvKiBWaXNpdGVkTGlua1N0cmF0ZWd5LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTcgLyogVmlzaXRlZExpbmtzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFNDQ2MTNCNjBDRDYzNDRFMDBGQURBNzUgLyogVm9pZENhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGRDdGMjk5MjEzRDRDMENCMDBBRDk1MzUgLyogV2F2ZVNoYXBlckRTUEtl
cm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ3RjI5OTQxM0Q0QzBDQjAwQUQ5NTM1IC8qIFdh
dmVTaGFwZXJOb2RlLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NzU3LDYgKzI3NzYwLDcgQEAKIAkJ
CQk5MzMwOUUxRDA5OUU2NDkyMDA1NkU1ODEgLyogdmlzaWJsZV91bml0cy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk5MzMwOUUxRjA5OUU2NDkyMDA1NkU1ODEgLyogVmlzaWJsZVBvc2l0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUE4ODNERjI3MEYzRDA0NUQwMEYxOUJGNiAvKiBWaXNpYmxl
U2VsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFF
NSAvKiBWaXNpdGVkTGlua3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ3RjI5OTExM0Q0QzBD
QjAwQUQ5NTM1IC8qIFdhdmVTaGFwZXJEU1BLZXJuZWwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkQ3RjI5OTMxM0Q0QzBDQjAwQUQ5NTM1IC8qIFdhdmVTaGFwZXJOb2RlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUZEN0YyOTk2MTNENEMwQ0IwMEFEOTUzNSAvKiBXYXZlU2hhcGVyUHJvY2Vzc29y
LmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmNwcAkocmV2
aXNpb24gMTE2ODMxKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFjZS5o
IgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0jaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0Lmgi
CisjaW5jbHVkZSAiVmlzaXRlZExpbmtzLmgiCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMTc2LDcgKzE3Niw3IEBAIGJvb2wgUGFnZUdyb3VwOjppc0xpbmtWaXNpdGVkKExpbmtI
YXNoIHYKIHsKICNpZiBQTEFURk9STShDSFJPTUlVTSkKICAgICAvLyBVc2UgQ2hyb21pdW0ncyBi
dWlsdC1pbiB2aXNpdGVkIGxpbmsgZGF0YWJhc2UuCi0gICAgcmV0dXJuIFBsYXRmb3JtU3VwcG9y
dDo6aXNMaW5rVmlzaXRlZCh2aXNpdGVkTGlua0hhc2gpOworICAgIHJldHVybiBWaXNpdGVkTGlu
a3M6OmlzTGlua1Zpc2l0ZWQodmlzaXRlZExpbmtIYXNoKTsKICNlbHNlCiAgICAgaWYgKCFtX3Zp
c2l0ZWRMaW5rc1BvcHVsYXRlZCkgewogICAgICAgICBtX3Zpc2l0ZWRMaW5rc1BvcHVsYXRlZCA9
IHRydWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1
cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Q
bGF0Zm9ybVN1cHBvcnQuaAkocmV2aXNpb24gMTE2ODMxKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2OCw3
ICszNjgsNiBAQCBwdWJsaWM6CiAgICAgLy8gVmlzaXRlZCBsaW5rcyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBzdGF0aWMgTGlua0hh
c2ggdmlzaXRlZExpbmtIYXNoKGNvbnN0IFVDaGFyKiB1cmwsIHVuc2lnbmVkIGxlbmd0aCk7CiAg
ICAgc3RhdGljIExpbmtIYXNoIHZpc2l0ZWRMaW5rSGFzaChjb25zdCBLVVJMJiBiYXNlLCBjb25z
dCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCk7Ci0gICAgc3RhdGljIGJvb2wgaXNMaW5rVmlz
aXRlZChMaW5rSGFzaCk7CiAKICAgICBzdGF0aWMgdm9pZCBkaWRTdGFydFdvcmtlclJ1bkxvb3Ao
V29ya2VyUnVuTG9vcCopOwogICAgIHN0YXRpYyB2b2lkIGRpZFN0b3BXb3JrZXJSdW5Mb29wKFdv
cmtlclJ1bkxvb3AqKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAx
MTY4MzEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA1LTExICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwgaXNMaW5rVmlzaXRlZCBkaXJl
Y3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU0
MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0
IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4LgorCisgICAg
ICAgICogc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAx
Mi0wNS0xMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBEbyBh
IERFUFMgcm9sbCBwZXIgYnVpbGQgZmFpbHVyZSBjYXVzZWQgYnkgcjExNjgxMC4KSW5kZXg6IFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkocmV2aXNp
b24gMTE2ODMxKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODMwLDExICs4MzAsNiBAQCBMaW5rSGFzaCBQbGF0Zm9y
bVN1cHBvcnQ6OnZpc2l0ZWRMaW5rSGFzCiAgICAgcmV0dXJuIHdlYktpdFBsYXRmb3JtU3VwcG9y
dCgpLT52aXNpdGVkTGlua0hhc2goYnVmZmVyLmRhdGEoKSwgYnVmZmVyLmxlbmd0aCgpKTsKIH0K
IAotYm9vbCBQbGF0Zm9ybVN1cHBvcnQ6OmlzTGlua1Zpc2l0ZWQoTGlua0hhc2ggdmlzaXRlZExp
bmtIYXNoKQotewotICAgIHJldHVybiB3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKS0+aXNMaW5rVmlz
aXRlZCh2aXNpdGVkTGlua0hhc2gpOwotfQotCiAvLyBUaGVzZSBhcmUgdGVtcG9yYXJ5IG1ldGhv
ZHMgdGhhdCB0aGUgV2ViS2l0IGxheWVyIGNhbiB1c2UgdG8gY2FsbCB0byB0aGUKIC8vIEdsdWUg
bGF5ZXIuIE9uY2UgdGhlIEdsdWUgbGF5ZXIgbW92ZXMgZW50aXJlbHkgaW50byB0aGUgV2ViS2l0
IGxheWVyLCB0aGVzZQogLy8gbWV0aG9kcyB3aWxsIGJlIGRlbGV0ZWQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141545</attachid>
            <date>2012-05-11 19:26:17 -0700</date>
            <delta_ts>2012-05-11 23:44:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85412-20120511222611.patch</filename>
            <type>text/plain</type>
            <size>14918</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjgzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA1LTExICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwg
aXNMaW5rVmlzaXRlZCBkaXJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODU0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQYXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcg
YnVnIDgyOTQ4LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFnZS9QYWdl
R3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjppc0xpbmtWaXNpdGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaXNpdGVkTGlua3MuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VmlzaXRlZExpbmtzOjppc0xpbmtWaXNpdGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaXNpdGVkTGlua3MuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFZpc2l0ZWRMaW5rcyk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vUGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVmlzaXRl
ZExpbmtzQ2hyb21pdW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6VmlzaXRlZExpbmtzOjppc0xpbmtWaXNpdGVkKToKKwogMjAxMi0wNS0xMSAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1RleHR1cmVN
YXBwZXJdIFRpbGVzIGFyZSBub3QgY3JlYXRlZCBmb3IgbGFyZ2UgdGV4dHVyZXMKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMTY4MzQpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTEzNyw2ICsxMTM3LDcgQEAgU0VUKFdlYkNv
cmVfU09VUkNFUwogICAgIHBsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKICAgICBwbGF0Zm9ybS9U
aW1lci5jcHAKICAgICBwbGF0Zm9ybS9VVUlELmNwcAorICAgIHBsYXRmb3JtL1Zpc2l0ZWRMaW5r
cy5jcHAKICAgICBwbGF0Zm9ybS9XaWRnZXQuY3BwCiAKICAgICBwbGF0Zm9ybS9hbmltYXRpb24v
QW5pbWF0aW9uLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lv
biAxMTY4MzQpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5n
IGNvcHkpCkBAIC0zNjcwLDYgKzM2NzAsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9V
VUlELmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaCBc
CisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlzaXRlZExpbmtzLmNwcCBcCisJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVmlzaXRlZExpbmtzLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1dpZGdldC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1dpZGdldC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9XaW5kb3dzS2V5Ym9hcmRDb2Rlcy5oIFwKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQkocmV2aXNpb24gMTE2ODM0KQorKysgU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkod29y
a2luZyBjb3B5KQpAQCAtMTIxNiw2ICsxMjE2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZv
cm0vdGV4dC9Vbmljb2RlUmFuZ2UuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIv
Rm9udFRyYW5zY29kZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9VVUlELmNwcCBcCisgICAgcGxhdGZv
cm0vVmlzaXRlZExpbmtzLmNwcCBcCiAgICAgcGxhdGZvcm0vV2lkZ2V0LmNwcCBcCiAgICAgcGxh
dGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBcCiAgICAgcGx1Z2lucy9JRnJhbWVTaGltU3Vw
cG9ydC5jcHAgXApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gMTE2ODM0KQorKysgU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0zMjcsNiArMzI3LDcg
QEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9UaW1lci5oJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9UcmVlU2hhcmVkLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Zpc2l0ZWRMaW5rU3RyYXRl
Z3kuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vVmlzaXRlZExpbmtzLmgnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL1dpZGdldC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9XaW5kb3dzS2V5
Ym9hcmRDb2Rlcy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9u
LmgnLApAQCAtMzM1Nyw2ICszMzU4LDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1
bS9UaGVtZUNocm9taXVtTWFjLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1Ro
ZW1lQ2hyb21pdW1NYWMubW0nLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1RyYWNl
RXZlbnQuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vVmlzaXRlZExpbmtzQ2hy
b21pdW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9XaWRnZXRDaHJvbWl1
bS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2NvY29hL0tleUV2ZW50Q29jb2EuaCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vY29jb2EvS2V5RXZlbnRDb2NvYS5tbScsCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gMTE2
ODM0KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdv
cmtpbmcgY29weSkKQEAgLTI4MTQ2LDYgKzI4MTQ2LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFZpc2l0ZWRMaW5rcy5jcHAi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRm
b3JtXFZpc2l0ZWRMaW5rcy5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVs
YXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxXaWRnZXQuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHJldmlzaW9uIDExNjgzNCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjAzOTUsNiArMjAzOTUsOCBAQAog
CQkJCTJFM0JCRjA1MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmNwcCAqLywKIAkJCQkyRTNCQkYw
NjExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5oICovLAogCQkJCTUxNTc4OEMwMTIwNzg1MkMwMEEz
N0M0QSAvKiBWaXNpdGVkTGlua1N0cmF0ZWd5LmggKi8sCisJCQkJRDZGREFFRjIxNDlDMDYxOTAw
MzdCMUU1IC8qIFZpc2l0ZWRMaW5rcy5jcHAgKi8sCisJCQkJRDYzMEUyQUIxNDlCRjM0NDAwNUIy
Rjk3IC8qIFZpc2l0ZWRMaW5rcy5oICovLAogCQkJCTkzODBGNDcxMDlBMTFBQjQwMDFGREIzNCAv
KiBXaWRnZXQuY3BwICovLAogCQkJCTkzODBGNDcyMDlBMTFBQjQwMDFGREIzNCAvKiBXaWRnZXQu
aCAqLywKIAkJCQlFMUUxQkVGRjExNUZGNkZCMDA2RjUyQ0EgLyogV2luZG93c0tleWJvYXJkQ29k
ZXMuaCAqLywKQEAgLTI0NzE5LDYgKzI0NzIxLDcgQEAKIAkJCQk5MzMwOUUyMDA5OUU2NDkyMDA1
NkU1ODEgLyogVmlzaWJsZVBvc2l0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODgzREYyODBG
M0QwNDVEMDBGMTlCRjYgLyogVmlzaWJsZVNlbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTE1Nzg4QzExMjA3ODUyQzAwQTM3QzRBIC8qIFZpc2l0ZWRMaW5rU3RyYXRlZ3kuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5NyAvKiBWaXNpdGVkTGlua3MuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0NDYxM0I2MENENjM0NEUwMEZBREE3NSAvKiBWb2lkQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovLAogCQkJCUZEN0YyOTkyMTNENEMwQ0IwMEFEOTUzNSAvKiBXYXZl
U2hhcGVyRFNQS2VybmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDdGMjk5NDEzRDRDMENCMDBB
RDk1MzUgLyogV2F2ZVNoYXBlck5vZGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjc3NTcsNiArMjc3
NjAsNyBAQAogCQkJCTkzMzA5RTFEMDk5RTY0OTIwMDU2RTU4MSAvKiB2aXNpYmxlX3VuaXRzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5RTFGMDk5RTY0OTIwMDU2RTU4MSAvKiBWaXNpYmxl
UG9zaXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg4M0RGMjcwRjNEMDQ1RDAwRjE5QkY2
IC8qIFZpc2libGVTZWxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRDZGREFFRjMxNDlD
MDYxOTAwMzdCMUU1IC8qIFZpc2l0ZWRMaW5rcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDdG
Mjk5MTEzRDRDMENCMDBBRDk1MzUgLyogV2F2ZVNoYXBlckRTUEtlcm5lbC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlGRDdGMjk5MzEzRDRDMENCMDBBRDk1MzUgLyogV2F2ZVNoYXBlck5vZGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ3RjI5OTYxM0Q0QzBDQjAwQUQ5NTM1IC8qIFdhdmVTaGFw
ZXJQcm9jZXNzb3IuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VHcm91cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3Jv
dXAuY3BwCShyZXZpc2lvbiAxMTY4MzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAKICNpbmNsdWRlICJTdG9yYWdl
TmFtZXNwYWNlLmgiCiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkKLSNpbmNsdWRlICJQbGF0Zm9y
bVN1cHBvcnQuaCIKKyNpbmNsdWRlICJWaXNpdGVkTGlua3MuaCIKICNlbmRpZgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0xNzYsNyArMTc2LDcgQEAgYm9vbCBQYWdlR3JvdXA6OmlzTGlua1Zp
c2l0ZWQoTGlua0hhc2ggdgogewogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQogICAgIC8vIFVzZSBD
aHJvbWl1bSdzIGJ1aWx0LWluIHZpc2l0ZWQgbGluayBkYXRhYmFzZS4KLSAgICByZXR1cm4gUGxh
dGZvcm1TdXBwb3J0Ojppc0xpbmtWaXNpdGVkKHZpc2l0ZWRMaW5rSGFzaCk7CisgICAgcmV0dXJu
IFZpc2l0ZWRMaW5rczo6aXNMaW5rVmlzaXRlZCh2aXNpdGVkTGlua0hhc2gpOwogI2Vsc2UKICAg
ICBpZiAoIW1fdmlzaXRlZExpbmtzUG9wdWxhdGVkKSB7CiAgICAgICAgIG1fdmlzaXRlZExpbmtz
UG9wdWxhdGVkID0gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Zpc2l0ZWRM
aW5rcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlzaXRlZExp
bmtzLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Zpc2l0ZWRM
aW5rcy5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiVmlzaXRlZExpbmtzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworYm9v
bCBWaXNpdGVkTGlua3M6OmlzTGlua1Zpc2l0ZWQoTGlua0hhc2gpCit7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9WaXNpdGVkTGlua3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9WaXNpdGVkTGlua3MuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Zpc2l0ZWRMaW5rcy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBW
aXNpdGVkTGlua3NfaAorI2RlZmluZSBWaXNpdGVkTGlua3NfaAorCisjaW5jbHVkZSAiTGlua0hh
c2guaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBWaXNpdGVkTGlua3MgeworcHVi
bGljOgorICAgIHN0YXRpYyBib29sIGlzTGlua1Zpc2l0ZWQoTGlua0hhc2gpOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVmlzaXRlZExpbmtzX2gKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5o
CShyZXZpc2lvbiAxMTY4MzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Q
bGF0Zm9ybVN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzY4LDcgKzM2OCw2IEBAIHB1Ymxp
YzoKICAgICAvLyBWaXNpdGVkIGxpbmtzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIHN0YXRpYyBMaW5rSGFzaCB2aXNpdGVkTGlua0hh
c2goY29uc3QgVUNoYXIqIHVybCwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBzdGF0aWMgTGlua0hh
c2ggdmlzaXRlZExpbmtIYXNoKGNvbnN0IEtVUkwmIGJhc2UsIGNvbnN0IEF0b21pY1N0cmluZyYg
YXR0cmlidXRlVVJMKTsKLSAgICBzdGF0aWMgYm9vbCBpc0xpbmtWaXNpdGVkKExpbmtIYXNoKTsK
IAogICAgIHN0YXRpYyB2b2lkIGRpZFN0YXJ0V29ya2VyUnVuTG9vcChXb3JrZXJSdW5Mb29wKik7
CiAgICAgc3RhdGljIHZvaWQgZGlkU3RvcFdvcmtlclJ1bkxvb3AoV29ya2VyUnVuTG9vcCopOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVmlzaXRlZExpbmtzQ2hyb21p
dW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Zp
c2l0ZWRMaW5rc0Nocm9taXVtLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1Zpc2l0ZWRMaW5rc0Nocm9taXVtLmNwcAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWaXNpdGVkTGlua3Mu
aCIKKworI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2Jvb2wgVmlzaXRlZExpbmtzOjppc0xpbmtWaXNpdGVkKExpbmtIYXNoIHZpc2l0ZWRMaW5r
SGFzaCkKK3sKKyAgICByZXR1cm4gV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5pc0xpbmtW
aXNpdGVkKHZpc2l0ZWRMaW5rSGFzaCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTY4MzUpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDEyLTA1LTExICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBbQ2hyb21pdW1dIENhbGwgaXNMaW5rVmlzaXRlZCBkaXJlY3RseQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU0MTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEgcmVmYWN0b3Jpbmcg
c2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4LgorCisgICAgICAgICogc3JjL1BsYXRmb3Jt
U3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0wNS0xMSAgU2hhd24gU2lu
Z2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFBsdW1i
IC0tc2hvdy1wYWludC1yZWN0cyB0byBhY2NlbGVyYXRlZCBjb21wb3NpdG9yCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAJKHJldmlzaW9u
IDExNjgzNCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTgzMCwxMSArODMwLDYgQEAgTGlua0hhc2ggUGxhdGZvcm1T
dXBwb3J0Ojp2aXNpdGVkTGlua0hhcwogICAgIHJldHVybiB3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQo
KS0+dmlzaXRlZExpbmtIYXNoKGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5sZW5ndGgoKSk7CiB9CiAK
LWJvb2wgUGxhdGZvcm1TdXBwb3J0Ojppc0xpbmtWaXNpdGVkKExpbmtIYXNoIHZpc2l0ZWRMaW5r
SGFzaCkKLXsKLSAgICByZXR1cm4gd2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmlzTGlua1Zpc2l0
ZWQodmlzaXRlZExpbmtIYXNoKTsKLX0KLQogLy8gVGhlc2UgYXJlIHRlbXBvcmFyeSBtZXRob2Rz
IHRoYXQgdGhlIFdlYktpdCBsYXllciBjYW4gdXNlIHRvIGNhbGwgdG8gdGhlCiAvLyBHbHVlIGxh
eWVyLiBPbmNlIHRoZSBHbHVlIGxheWVyIG1vdmVzIGVudGlyZWx5IGludG8gdGhlIFdlYktpdCBs
YXllciwgdGhlc2UKIC8vIG1ldGhvZHMgd2lsbCBiZSBkZWxldGVkLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>