<?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>107772</bug_id>
          
          <creation_ts>2013-01-23 18:31:16 -0800</creation_ts>
          <short_desc>Adds usage instrumentation for indexedDB</short_desc>
          <delta_ts>2013-02-03 21:13:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Kassy Coan">kassycoan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>alecflett</cc>
    
    <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dgrogan</cc>
    
    <cc>jsbell</cc>
    
    <cc>mikelawther</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>814934</commentid>
    <comment_count>0</comment_count>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-23 18:31:16 -0800</bug_when>
    <thetext>Adds usage instrumentation for indexedDB</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814945</commentid>
    <comment_count>1</comment_count>
      <attachid>184377</attachid>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-23 18:40:57 -0800</bug_when>
    <thetext>Created attachment 184377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814952</commentid>
    <comment_count>2</comment_count>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-23 18:53:18 -0800</bug_when>
    <thetext>Tracking these API calls came via request from Chrome DevRel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815044</commentid>
    <comment_count>3</comment_count>
      <attachid>184377</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-23 21:30:49 -0800</bug_when>
    <thetext>Comment on attachment 184377
Patch

Looks reasonable to me, but jsbell should probably take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815543</commentid>
    <comment_count>4</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-24 09:17:31 -0800</bug_when>
    <thetext>(+dgrogan@ who&apos;s been working on reporting for the IDB histograms; he&apos;s unavailable for the next week or so, and won&apos;t be able to look at this.)

This looks fine to me - I assume there will be a Chromium-side histogram XML update coming too.

Nits: whitespace around the histogram calls is inconsistent.

Questions: Why not instrument Create/DeleteIndex at the same time? Is there a specific reason to target just these methods?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815852</commentid>
    <comment_count>5</comment_count>
      <attachid>184583</attachid>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-24 14:49:40 -0800</bug_when>
    <thetext>Created attachment 184583
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815864</commentid>
    <comment_count>6</comment_count>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-24 14:53:40 -0800</bug_when>
    <thetext>createIndex and deleteIndex now included.
Whitespace corrected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815972</commentid>
    <comment_count>7</comment_count>
      <attachid>184583</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-01-24 16:40:02 -0800</bug_when>
    <thetext>Comment on attachment 184583
Patch

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

&gt; Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp:356
&gt; +    IDBCreateObjectStore,

FYI, the enum at the top of this file, IDBBackingStoreErrorSource, essentially lists methods in this file and might be a better place for these new entries. Or you might want a new enum that is just for API methods. Whatever jsbell@ is ok with is fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816604</commentid>
    <comment_count>8</comment_count>
      <attachid>184583</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-25 08:04:26 -0800</bug_when>
    <thetext>Comment on attachment 184583
Patch

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

&gt;&gt; Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp:356
&gt;&gt; +    IDBCreateObjectStore,
&gt; 
&gt; FYI, the enum at the top of this file, IDBBackingStoreErrorSource, essentially lists methods in this file and might be a better place for these new entries. Or you might want a new enum that is just for API methods. Whatever jsbell@ is ok with is fine.

David&apos;s right, I wasn&apos;t looking at the whole file.

The existing histograms/enums are used for (1) identifying the source of errors, and (2) flow through open() which has complex branching logic and ideally where on-disk corruption shows up.

This new histogram is just tracking API usage, but at the backing store level. That leads to a question: why track here, rather than at the entry point from script (e.g. for create/put/etc calls) and event delivery (e.g. transaction creation/complete/abort)? There are pros and cons to each approach (e.g. simpler to do it at the backing store level and maps to actual data changes, v.s. correlating exact with script calls). Without knowing what you&apos;re attempting to learn from this (i.e. what actions would we take based on this data? is it for helping users debug their script in local Chrome sessions?) it&apos;s hard to know which to recommend.

Either way, given how specific the other two enums are I&apos;d actually recommend separating this out into a third enum, and leaving the existing ones alone (and focused on errors). It will probably make the code clearer and analysis of the histogram data easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818542</commentid>
    <comment_count>9</comment_count>
      <attachid>185159</attachid>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-28 22:35:36 -0800</bug_when>
    <thetext>Created attachment 185159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818551</commentid>
    <comment_count>10</comment_count>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-28 22:39:00 -0800</bug_when>
    <thetext>Separated out into 3rd enum.
Histograms also separated for clarity.
Includes 1 histogram with detailed open errors (WebCore.IndexedDB.BackingStore.OpenStatus) , and 1 histogram of general indexedDB method calls (WebCore.IndexedDB) .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818844</commentid>
    <comment_count>11</comment_count>
      <attachid>185159</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-29 04:59:41 -0800</bug_when>
    <thetext>Comment on attachment 185159
Patch

Attachment 185159 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16199111

New failing tests:
fast/workers/worker-document-leak.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819137</commentid>
    <comment_count>12</comment_count>
      <attachid>185159</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2013-01-29 11:38:53 -0800</bug_when>
    <thetext>Comment on attachment 185159
Patch

So I want to point out that you&apos;re adding histograms in the backend code, which does not necessarily have a 1:1 relationship with the frontend API calls. If you&apos;re interested in instrumenting Javascript API usage, this isn&apos;t the way.

For example, things like IDBBackingStore::Transaction::commit may or may not correspond directly with a frontend commit - for instance readonly transactions may never commit (I&apos;m not sure if they do or do not right now) and internal changes to IDB (like internal version changes between chrome releases) may or may not result in a commit.

In addition, as the code changes and evolves, there may be caching layers between the layer you are instrumenting and the frontend APIs.

My suggestion would be to instrument the frontend (i.e. stuff like IDBTransaction.cpp and IDBObjectStore.cpp) and avoid anything in the backend. (i.e. IDBBackingStore* and IDB*BackendI*)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819349</commentid>
    <comment_count>13</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-29 14:49:01 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; In addition, as the code changes and evolves, there may be caching layers between the layer you are instrumenting and the frontend APIs.
&gt; 
&gt; My suggestion would be to instrument the frontend (i.e. stuff like IDBTransaction.cpp and IDBObjectStore.cpp) and avoid anything in the backend. (i.e. IDBBackingStore* and IDB*BackendI*)

It&apos;s not clear from this bug/patch what data kassycoan@ is really trying to gather. If it&apos;s backend operations, this approach is fine. If it&apos;s script usage, I agree with Alec.

Kassy, can you share more about the intent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819358</commentid>
    <comment_count>14</comment_count>
      <attachid>185159</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-29 14:53:55 -0800</bug_when>
    <thetext>Comment on attachment 185159
Patch

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        abarth@webkit.org

This should be left as &quot;Reviewed by NOBODY (OOPS!).&quot; until the patch actually has an r+ from a reviewer.

&gt; Source/WebCore/ChangeLog:7
&gt; +        jsbell@chromium.org

...and I&apos;m not a reviewer (which is a special role in WebKit), just an interested bystander. :)

&gt; Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp:376
&gt; +    HistogramSupport::histogramEnumeration(&quot;WebCore.IndexedDB&quot;, IDBOpen, IDBMethodsMax);

In theory, this could be derived from the number of OpenResult histogram entries, but given the branching in this method I agree that adding this would be beneficial.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819396</commentid>
    <comment_count>15</comment_count>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-29 15:29:27 -0800</bug_when>
    <thetext>Yes, it&apos;s the front end calls that I am wanting to track.
This information is being gathered because of a request from DevRel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819405</commentid>
    <comment_count>16</comment_count>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-29 15:36:44 -0800</bug_when>
    <thetext>Yes, there will be a histograms xml update following.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820493</commentid>
    <comment_count>17</comment_count>
      <attachid>185552</attachid>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-30 13:37:26 -0800</bug_when>
    <thetext>Created attachment 185552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820497</commentid>
    <comment_count>18</comment_count>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-30 13:39:51 -0800</bug_when>
    <thetext>This new patch adds the histogramming in the other .cpp files (not backing store). This should be tracking front end API calls.
I saw it best fit to declare the enum in a new .h file. Please let me know if you think there is a more appropriate place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820818</commentid>
    <comment_count>19</comment_count>
      <attachid>185552</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-30 16:52:02 -0800</bug_when>
    <thetext>Comment on attachment 185552
Patch

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

Overall this seems fine to me. Sorry about the churn! It might be worth grepping for IDB_TRACE to see were we&apos;ve instrumented other API call sites for performance.

&gt; Source/WebCore/Modules/indexeddb/IDBHistograms.h:35
&gt; +    IDBCreateObjectStoreCall,

About half the histograms explicitly set the first item to = 0. Shouldn&apos;t be necessary.

Would this benefit from a comment that this list should only be added to, since these values are sent over the wire? or is the fact that this lives in a Histograms file clear enough?

Also, although not important for this set, perhaps a convention of IDB&lt;objectname&gt;&lt;methodname&gt; would be good to introduce, to eventually disambiguate IDBObjectStore::openCursor from IDBIndex::openCursor. That can also be done later, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820820</commentid>
    <comment_count>20</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-30 16:54:16 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; ... see were we&apos;ve instrumented other API call sites ...

er, entry points, not call sites. We may be getting an IDB-specific timeline in the Inspector at some point; some unified logging/tracing macro might be handy to introduce in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820842</commentid>
    <comment_count>21</comment_count>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-30 17:10:45 -0800</bug_when>
    <thetext>tony@ or abarth@ could you review this? Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820846</commentid>
    <comment_count>22</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-01-30 17:14:27 -0800</bug_when>
    <thetext>Oops - the new header file is going to need to be added to the project files - gypi and so forth.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820993</commentid>
    <comment_count>23</comment_count>
      <attachid>185660</attachid>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-30 19:45:22 -0800</bug_when>
    <thetext>Created attachment 185660
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820996</commentid>
    <comment_count>24</comment_count>
      <attachid>185660</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-30 19:47:55 -0800</bug_when>
    <thetext>Comment on attachment 185660
Patch

Attachment 185660 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16251111</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820997</commentid>
    <comment_count>25</comment_count>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-30 19:49:19 -0800</bug_when>
    <thetext>New header file now added to project files:
  Source/WebCore/GNUmakefile.list.am
  Source/WebCore/Target.pri
  Source/WebCore/WebCore.gypi
  Source/WebCore/WebCore.vcproj/WebCore.vcproj
  Source/WebCore/WebCore.xcodeproj/project.pbxproj</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821075</commentid>
    <comment_count>26</comment_count>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-30 21:52:24 -0800</bug_when>
    <thetext>Tools/Scripts/build-webkit --chromium --release builds fine with ninja locally for me. Let&apos;s try again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821078</commentid>
    <comment_count>27</comment_count>
      <attachid>185676</attachid>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-30 21:55:59 -0800</bug_when>
    <thetext>Created attachment 185676
Retry cr-linux ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821084</commentid>
    <comment_count>28</comment_count>
      <attachid>185676</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-30 22:02:09 -0800</bug_when>
    <thetext>Comment on attachment 185676
Retry cr-linux ews

Attachment 185676 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16264062</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821103</commentid>
    <comment_count>29</comment_count>
      <attachid>185679</attachid>
    <who name="Kassy Coan">kassycoan</who>
    <bug_when>2013-01-30 22:34:10 -0800</bug_when>
    <thetext>Created attachment 185679
Retry cr-linux ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824018</commentid>
    <comment_count>30</comment_count>
      <attachid>185679</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-03 21:13:10 -0800</bug_when>
    <thetext>Comment on attachment 185679
Retry cr-linux ews

Clearing flags on attachment: 185679

Committed r141735: &lt;http://trac.webkit.org/changeset/141735&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824019</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-03 21:13:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184377</attachid>
            <date>2013-01-23 18:40:57 -0800</date>
            <delta_ts>2013-01-24 14:49:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107772-20130124133749.patch</filename>
            <type>text/plain</type>
            <size>8890</size>
            <attacher name="Kassy Coan">kassycoan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDAxMjEwYzU0MDkzZGZh
ZTE5ODJlZWU3NzhlYjg0MmYyMmRkYjVlNi4uZDliM2U3MmYyMjUzMGQ4N2RhNDdmYmRjNTBhOTY4
MWE4Y2NkNjFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAxLTIzICBLYXNz
eSBDb2FuICA8a2Fzc3ljb2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGRzIHVzYWdlIGlu
c3RydW1lbnRhdGlvbiBmb3IgaW5kZXhlZERCCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc3NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFVzZXMgZXhpc3RpbmcgSGlzdG9ncmFtU3VwcG9y
dDo6aGlzdG9ncmFtRW51bWVyYXRpb24gdG8gdHJhY2UgaW5kZXhlZERCIEFQSSBjYWxsczogCisg
ICAgICAgIC5vcGVuIAorICAgICAgICAuZGVsZXRlRGF0YWJhc2UgCisgICAgICAgIC5jcmVhdGVP
YmplY3RTdG9yZQorICAgICAgICAuZGVsZXRlT2JqZWN0U3RvcmUKKyAgICAgICAgLnRyYW5zYWN0
aW9uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGFkZGVkLiBUaGlzIGlzIGN1cnJlbnRseSB1bnRl
c3RhYmxlLCBhbmQgc2hvdWxkIGhhdmUgemVybyBlZmZlY3QgCisgICAgICAgIGFwYXJ0IGZyb20g
aGlzdG9ncmFtbWluZy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdT
dG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJCYWNraW5nU3RvcmU6Om9wZW4pOgorICAg
ICAgICAoV2ViQ29yZTo6SURCQmFja2luZ1N0b3JlOjpkZWxldGVEYXRhYmFzZSk6CisgICAgICAg
IChXZWJDb3JlOjpJREJCYWNraW5nU3RvcmU6OmNyZWF0ZU9iamVjdFN0b3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQkJhY2tpbmdTdG9yZTo6ZGVsZXRlT2JqZWN0U3RvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6SURCQmFja2luZ1N0b3JlOjpUcmFuc2FjdGlvbjo6YmVnaW4pOgorICAgICAgICAo
V2ViQ29yZTo6SURCQmFja2luZ1N0b3JlOjpUcmFuc2FjdGlvbjo6Y29tbWl0KToKKyAgICAgICAg
KFdlYkNvcmU6OklEQkJhY2tpbmdTdG9yZTo6VHJhbnNhY3Rpb246OnJvbGxiYWNrKToKKwogMjAx
My0wMS0yMSAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
SW1wbGVtZW50IFVJRXZlbnQgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuY3BwCmluZGV4IGRhNDg0OTk3MTgzMTE2
N2JmYWNmZTkyZDdhNTAxNjlkZDExNjQyMjEuLjE3MjAyODA2M2NkOWFmNjJkNDc3MTgyY2QxYTZl
OGM4ZmUzNDU4M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCQmFja2luZ1N0b3JlLmNwcApAQCAtMzQ0LDcgKzM0NCw3IEBAIElEQkJhY2tpbmdTdG9y
ZTo6fklEQkJhY2tpbmdTdG9yZSgpCiAgICAgbV9jb21wYXJhdG9yLmNsZWFyKCk7CiB9CiAKLWVu
dW0gSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5SZXN1bHQgeworZW51bSBJbmRleGVkRGF0YWJh
c2VNZXRob2RzIHsKICAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1lbW9yeSwKICAgICBJ
REJMZXZlbERCQmFja2luZ1N0b3JlT3BlblN1Y2Nlc3MsCiAgICAgSURCTGV2ZWxEQkJhY2tpbmdT
dG9yZU9wZW5GYWlsZWREaXJlY3RvcnksCkBAIC0zNTMsNyArMzUzLDEzIEBAIGVudW0gSURCTGV2
ZWxEQkJhY2tpbmdTdG9yZU9wZW5SZXN1bHQgewogICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVP
cGVuQ2xlYW51cFJlb3BlbkZhaWxlZCwKICAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkNs
ZWFudXBSZW9wZW5TdWNjZXNzLAogICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuRmFpbGVk
SU9FcnJDaGVja2luZ1NjaGVtYSwKLSAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCwK
KyAgICBJREJDcmVhdGVPYmplY3RTdG9yZSwKKyAgICBJREJEZWxldGVPYmplY3RTdG9yZSwKKyAg
ICBJREJUcmFuc2FjdGlvbkJlZ2luLAorICAgIElEQlRyYW5zYWN0aW9uQ29tbWl0LAorICAgIElE
QlRyYW5zYWN0aW9uUm9sbGJhY2ssCisgICAgSURCRGVsZXRlRGF0YWJhc2UsCisgICAgSURCTWV0
aG9kc01heCwKIH07CiAKIFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlPiBJREJCYWNraW5nU3Rv
cmU6Om9wZW4oU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLCBjb25zdCBTdHJpbmcmIHBh
dGhCYXNlQXJnLCBjb25zdCBTdHJpbmcmIGZpbGVJZGVudGlmaWVyLCBJREJGYWN0b3J5QmFja2Vu
ZEltcGwqIGZhY3RvcnkpCkBAIC0zNjUsMTIgKzM3MSwxMiBAQCBQYXNzUmVmUHRyPElEQkJhY2tp
bmdTdG9yZT4gSURCQmFja2luZ1N0b3JlOjpvcGVuKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9y
aWdpbgogICAgIE93blB0cjxMZXZlbERCRGF0YWJhc2U+IGRiOwogCiAgICAgaWYgKHBhdGhCYXNl
LmlzRW1wdHkoKSkgewotICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJh
dGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZl
bERCQmFja2luZ1N0b3JlT3Blbk1lbW9yeSwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgp
OworICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29y
ZS5JbmRleGVkREIiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1lbW9yeSwgSURCTWV0aG9k
c01heCk7CiAgICAgICAgIGRiID0gTGV2ZWxEQkRhdGFiYXNlOjpvcGVuSW5NZW1vcnkoY29tcGFy
YXRvci5nZXQoKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKCFtYWtlQWxsRGlyZWN0b3Jp
ZXMocGF0aEJhc2UpKSB7CiAgICAgICAgICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBjcmVhdGUg
SW5kZXhlZERCIGRhdGFiYXNlIHBhdGggJXMiLCBwYXRoQmFzZS51dGY4KCkuZGF0YSgpKTsKLSAg
ICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3Jl
LkluZGV4ZWREQi5CYWNraW5nU3RvcmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3Rv
cmVPcGVuRmFpbGVkRGlyZWN0b3J5LCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7Cisg
ICAgICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29y
ZS5JbmRleGVkREIiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkZhaWxlZERpcmVjdG9yeSwg
SURCTWV0aG9kc01heCk7CiAgICAgICAgICAgICByZXR1cm4gUGFzc1JlZlB0cjxJREJCYWNraW5n
U3RvcmU+KCk7CiAgICAgICAgIH0KIApAQCAtMzgxLDI0ICszODcsMjQgQEAgUGFzc1JlZlB0cjxJ
REJCYWNraW5nU3RvcmU+IElEQkJhY2tpbmdTdG9yZTo6b3BlbihTZWN1cml0eU9yaWdpbiogc2Vj
dXJpdHlPcmlnaW4KICAgICAgICAgICAgIGJvb2wga25vd24gPSBmYWxzZTsKICAgICAgICAgICAg
IGJvb2wgb2sgPSBpc1NjaGVtYUtub3duKGRiLmdldCgpLCBrbm93bik7CiAgICAgICAgICAgICBp
ZiAoIW9rKSB7Ci0gICAgICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51
bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwgSURC
TGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5GYWlsZWRJT0VyckNoZWNraW5nU2NoZW1hLCBJREJMZXZl
bERCQmFja2luZ1N0b3JlT3Blbk1heCk7CisgICAgICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9y
dDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCIiwgSURCTGV2ZWxEQkJh
Y2tpbmdTdG9yZU9wZW5GYWlsZWRJT0VyckNoZWNraW5nU2NoZW1hLCBJREJNZXRob2RzTWF4KTsK
ICAgICAgICAgICAgICAgICByZXR1cm4gUGFzc1JlZlB0cjxJREJCYWNraW5nU3RvcmU+KCk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoIWtub3duKSB7CiAgICAgICAgICAgICAgICAg
TE9HX0VSUk9SKCJJbmRleGVkREIgYmFja2luZyBzdG9yZSBoYWQgdW5rbm93biBzY2hlbWEsIHRy
ZWF0aW5nIGl0IGFzIGZhaWx1cmUgdG8gb3BlbiIpOwotICAgICAgICAgICAgICAgIEhpc3RvZ3Jh
bVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5n
U3RvcmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuRmFpbGVkVW5rbm93
blNjaGVtYSwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgpOworICAgICAgICAgICAgICAg
IEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWRE
QiIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuRmFpbGVkVW5rbm93blNjaGVtYSwgSURCTWV0
aG9kc01heCk7CiAgICAgICAgICAgICAgICAgZGIuY2xlYXIoKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogCiAgICAgICAgIGlmIChkYikKLSAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6
Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5nU3RvcmUuT3Bl
blN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuU3VjY2VzcywgSURCTGV2ZWxEQkJh
Y2tpbmdTdG9yZU9wZW5NYXgpOworICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9n
cmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9y
ZU9wZW5TdWNjZXNzLCBJREJNZXRob2RzTWF4KTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAg
ICBMT0dfRVJST1IoIkluZGV4ZWREQiBiYWNraW5nIHN0b3JlIG9wZW4gZmFpbGVkLCBhdHRlbXB0
aW5nIGNsZWFudXAiKTsKICAgICAgICAgICAgIGJvb2wgc3VjY2VzcyA9IExldmVsREJEYXRhYmFz
ZTo6ZGVzdHJveShwYXRoKTsKICAgICAgICAgICAgIGlmICghc3VjY2VzcykgewogICAgICAgICAg
ICAgICAgIExPR19FUlJPUigiSW5kZXhlZERCIGJhY2tpbmcgc3RvcmUgY2xlYW51cCBmYWlsZWQi
KTsKLSAgICAgICAgICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlv
bigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERC
QmFja2luZ1N0b3JlT3BlbkNsZWFudXBEZXN0cm95RmFpbGVkLCBJREJMZXZlbERCQmFja2luZ1N0
b3JlT3Blbk1heCk7CisgICAgICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFt
RW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9w
ZW5DbGVhbnVwRGVzdHJveUZhaWxlZCwgSURCTWV0aG9kc01heCk7CiAgICAgICAgICAgICAgICAg
cmV0dXJuIFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlPigpOwogICAgICAgICAgICAgfQogCkBA
IC00MDYsMTAgKzQxMiwxMCBAQCBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZT4gSURCQmFja2lu
Z1N0b3JlOjpvcGVuKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbgogICAgICAgICAgICAg
ZGIgPSBMZXZlbERCRGF0YWJhc2U6Om9wZW4ocGF0aCwgY29tcGFyYXRvci5nZXQoKSk7CiAgICAg
ICAgICAgICBpZiAoIWRiKSB7CiAgICAgICAgICAgICAgICAgTE9HX0VSUk9SKCJJbmRleGVkREIg
YmFja2luZyBzdG9yZSByZW9wZW4gYWZ0ZXIgcmVjb3ZlcnkgZmFpbGVkIik7Ci0gICAgICAgICAg
ICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5k
ZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9w
ZW5DbGVhbnVwUmVvcGVuRmFpbGVkLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7Cisg
ICAgICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldl
YkNvcmUuSW5kZXhlZERCIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5DbGVhbnVwUmVvcGVu
RmFpbGVkLCBJREJNZXRob2RzTWF4KTsKICAgICAgICAgICAgICAgICByZXR1cm4gUGFzc1JlZlB0
cjxJREJCYWNraW5nU3RvcmU+KCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBIaXN0b2dy
YW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2lu
Z1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkNsZWFudXBSZW9w
ZW5TdWNjZXNzLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CisgICAgICAgICAgICBI
aXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIi
LCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkNsZWFudXBSZW9wZW5TdWNjZXNzLCBJREJNZXRo
b2RzTWF4KTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNTg3LDYgKzU5Myw4IEBAIGJvb2wgSURC
QmFja2luZ1N0b3JlOjpkZWxldGVEYXRhYmFzZShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgY29u
c3QgVmVjdG9yPGNoYXI+IGtleSA9IERhdGFiYXNlTmFtZUtleTo6ZW5jb2RlKG1faWRlbnRpZmll
ciwgbmFtZSk7CiAgICAgdHJhbnNhY3Rpb24tPnJlbW92ZShrZXkpOwogCisgICAgSGlzdG9ncmFt
U3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCIiwgSURCRGVs
ZXRlRGF0YWJhc2UsIElEQk1ldGhvZHNNYXgpOworCiAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLT5j
b21taXQoKTsKIH0KIApAQCAtNzQzLDYgKzc1MSw5IEBAIGJvb2wgSURCQmFja2luZ1N0b3JlOjpj
cmVhdGVPYmplY3RTdG9yZShJREJCYWNraW5nU3RvcmU6OlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlv
CiAgICAgcHV0Qm9vbChsZXZlbERCVHJhbnNhY3Rpb24sIGhhc0tleVBhdGhLZXksICFrZXlQYXRo
LmlzTnVsbCgpKTsKICAgICBwdXRJbnQobGV2ZWxEQlRyYW5zYWN0aW9uLCBrZXlHZW5lcmF0b3JD
dXJyZW50TnVtYmVyS2V5LCBLZXlHZW5lcmF0b3JJbml0aWFsTnVtYmVyKTsKICAgICBwdXRJbnQo
bGV2ZWxEQlRyYW5zYWN0aW9uLCBuYW1lc0tleSwgb2JqZWN0U3RvcmVJZCk7CisKKyAgICBIaXN0
b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIiLCBJ
REJDcmVhdGVPYmplY3RTdG9yZSwgSURCTWV0aG9kc01heCk7CisKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIApAQCAtNzcxLDYgKzc4Miw5IEBAIGJvb2wgSURCQmFja2luZ1N0b3JlOjpkZWxldGVPYmpl
Y3RTdG9yZShJREJCYWNraW5nU3RvcmU6OlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvCiAgICAgZGVs
ZXRlUmFuZ2UobGV2ZWxEQlRyYW5zYWN0aW9uLCBJbmRleE1ldGFEYXRhS2V5OjplbmNvZGUoZGF0
YWJhc2VJZCwgb2JqZWN0U3RvcmVJZCwgMCwgMCksIEluZGV4TWV0YURhdGFLZXk6OmVuY29kZU1h
eEtleShkYXRhYmFzZUlkLCBvYmplY3RTdG9yZUlkKSk7CiAKICAgICBjbGVhck9iamVjdFN0b3Jl
KHRyYW5zYWN0aW9uLCBkYXRhYmFzZUlkLCBvYmplY3RTdG9yZUlkKTsKKworICAgIEhpc3RvZ3Jh
bVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQiIsIElEQkRl
bGV0ZU9iamVjdFN0b3JlLCBJREJNZXRob2RzTWF4KTsKKyAgICAKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIApAQCAtMTgzMyw2ICsxODQ3LDcgQEAgdm9pZCBJREJCYWNraW5nU3RvcmU6OlRyYW5zYWN0
aW9uOjpiZWdpbigpCiAgICAgSURCX1RSQUNFKCJJREJCYWNraW5nU3RvcmU6OlRyYW5zYWN0aW9u
OjpiZWdpbiIpOwogICAgIEFTU0VSVCghbV90cmFuc2FjdGlvbik7CiAgICAgbV90cmFuc2FjdGlv
biA9IExldmVsREJUcmFuc2FjdGlvbjo6Y3JlYXRlKG1fYmFja2luZ1N0b3JlLT5tX2RiLmdldCgp
KTsKKyAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5J
bmRleGVkREIiLCBJREJUcmFuc2FjdGlvbkJlZ2luLCBJREJNZXRob2RzTWF4KTsKIH0KIAogYm9v
bCBJREJCYWNraW5nU3RvcmU6OlRyYW5zYWN0aW9uOjpjb21taXQoKQpAQCAtMTg0MSw2ICsxODU2
LDcgQEAgYm9vbCBJREJCYWNraW5nU3RvcmU6OlRyYW5zYWN0aW9uOjpjb21taXQoKQogICAgIEFT
U0VSVChtX3RyYW5zYWN0aW9uKTsKICAgICBib29sIHJlc3VsdCA9IG1fdHJhbnNhY3Rpb24tPmNv
bW1pdCgpOwogICAgIG1fdHJhbnNhY3Rpb24uY2xlYXIoKTsKKyAgICBIaXN0b2dyYW1TdXBwb3J0
OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIiLCBJREJUcmFuc2FjdGlv
bkNvbW1pdCwgSURCTWV0aG9kc01heCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTg1
MCw2ICsxODY2LDcgQEAgdm9pZCBJREJCYWNraW5nU3RvcmU6OlRyYW5zYWN0aW9uOjpyb2xsYmFj
aygpCiAgICAgQVNTRVJUKG1fdHJhbnNhY3Rpb24pOwogICAgIG1fdHJhbnNhY3Rpb24tPnJvbGxi
YWNrKCk7CiAgICAgbV90cmFuc2FjdGlvbi5jbGVhcigpOworICAgIEhpc3RvZ3JhbVN1cHBvcnQ6
Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQiIsIElEQlRyYW5zYWN0aW9u
Um9sbGJhY2ssIElEQk1ldGhvZHNNYXgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184583</attachid>
            <date>2013-01-24 14:49:40 -0800</date>
            <delta_ts>2013-01-28 22:35:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107772-20130125094631.patch</filename>
            <type>text/plain</type>
            <size>10056</size>
            <attacher name="Kassy Coan">kassycoan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDAxMjEwYzU0MDkzZGZh
ZTE5ODJlZWU3NzhlYjg0MmYyMmRkYjVlNi4uMGUyYWZkNDk1NDUxYWIzOTljMjlhZmZiZGEzMzQ5
NjRhNWExMGI1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAxLTIzICBLYXNz
eSBDb2FuICA8a2Fzc3ljb2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGRzIHVzYWdlIGlu
c3RydW1lbnRhdGlvbiBmb3IgaW5kZXhlZERCCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc3NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFVzZXMgZXhpc3RpbmcgSGlzdG9ncmFtU3VwcG9y
dDo6aGlzdG9ncmFtRW51bWVyYXRpb24gdG8gdHJhY2UgaW5kZXhlZERCIEFQSSBjYWxsczogCisg
ICAgICAgIC5vcGVuIAorICAgICAgICAuZGVsZXRlRGF0YWJhc2UgCisgICAgICAgIC5jcmVhdGVP
YmplY3RTdG9yZQorICAgICAgICAuZGVsZXRlT2JqZWN0U3RvcmUKKyAgICAgICAgLnRyYW5zYWN0
aW9uCisgICAgICAgIC5jcmVhdGVJbmRleAorICAgICAgICAuZGVsZXRlSW5kZXgKKworICAgICAg
ICBObyBuZXcgdGVzdHMgYWRkZWQuIFRoaXMgaXMgY3VycmVudGx5IHVudGVzdGFibGUsIGFuZCBz
aG91bGQgaGF2ZSB6ZXJvIGVmZmVjdCAKKyAgICAgICAgYXBhcnQgZnJvbSBoaXN0b2dyYW1taW5n
LgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklEQkJhY2tpbmdTdG9yZTo6b3Blbik6CisgICAgICAgIChXZWJDb3Jl
OjpJREJCYWNraW5nU3RvcmU6OmRlbGV0ZURhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OklE
QkJhY2tpbmdTdG9yZTo6Y3JlYXRlT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURC
QmFja2luZ1N0b3JlOjpkZWxldGVPYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJC
YWNraW5nU3RvcmU6OlRyYW5zYWN0aW9uOjpiZWdpbik6CisgICAgICAgIChXZWJDb3JlOjpJREJC
YWNraW5nU3RvcmU6OlRyYW5zYWN0aW9uOjpjb21taXQpOgorICAgICAgICAoV2ViQ29yZTo6SURC
QmFja2luZ1N0b3JlOjpUcmFuc2FjdGlvbjo6cm9sbGJhY2spOgorCiAyMDEzLTAxLTIxICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgVUlF
dmVudCBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkJhY2tpbmdTdG9yZS5jcHAKaW5kZXggZGE0ODQ5OTcxODMxMTY3YmZhY2ZlOTJkN2E1
MDE2OWRkMTE2NDIyMS4uMDA1NTExYTU4NDY5MDM1ZGZjZWJkZTU4MzhmNTFkY2NjNjNiOThkNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0
b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5n
U3RvcmUuY3BwCkBAIC0zNDQsNyArMzQ0LDcgQEAgSURCQmFja2luZ1N0b3JlOjp+SURCQmFja2lu
Z1N0b3JlKCkKICAgICBtX2NvbXBhcmF0b3IuY2xlYXIoKTsKIH0KIAotZW51bSBJREJMZXZlbERC
QmFja2luZ1N0b3JlT3BlblJlc3VsdCB7CitlbnVtIEluZGV4ZWREYXRhYmFzZU1ldGhvZHMgewog
ICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWVtb3J5LAogICAgIElEQkxldmVsREJCYWNr
aW5nU3RvcmVPcGVuU3VjY2VzcywKICAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkZhaWxl
ZERpcmVjdG9yeSwKQEAgLTM1Myw3ICszNTMsMTUgQEAgZW51bSBJREJMZXZlbERCQmFja2luZ1N0
b3JlT3BlblJlc3VsdCB7CiAgICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5DbGVhbnVwUmVv
cGVuRmFpbGVkLAogICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuQ2xlYW51cFJlb3BlblN1
Y2Nlc3MsCiAgICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5GYWlsZWRJT0VyckNoZWNraW5n
U2NoZW1hLAotICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWF4LAorICAgIElEQkNyZWF0
ZU9iamVjdFN0b3JlLAorICAgIElEQkRlbGV0ZU9iamVjdFN0b3JlLAorICAgIElEQlRyYW5zYWN0
aW9uQmVnaW4sCisgICAgSURCVHJhbnNhY3Rpb25Db21taXQsCisgICAgSURCVHJhbnNhY3Rpb25S
b2xsYmFjaywKKyAgICBJREJEZWxldGVEYXRhYmFzZSwKKyAgICBJREJDcmVhdGVJbmRleCwKKyAg
ICBJREJEZWxldGVJbmRleCwKKyAgICBJREJNZXRob2RzTWF4LAogfTsKIAogUGFzc1JlZlB0cjxJ
REJCYWNraW5nU3RvcmU+IElEQkJhY2tpbmdTdG9yZTo6b3BlbihTZWN1cml0eU9yaWdpbiogc2Vj
dXJpdHlPcmlnaW4sIGNvbnN0IFN0cmluZyYgcGF0aEJhc2VBcmcsIGNvbnN0IFN0cmluZyYgZmls
ZUlkZW50aWZpZXIsIElEQkZhY3RvcnlCYWNrZW5kSW1wbCogZmFjdG9yeSkKQEAgLTM2NSwxMiAr
MzczLDEyIEBAIFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlPiBJREJCYWNraW5nU3RvcmU6Om9w
ZW4oU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luCiAgICAgT3duUHRyPExldmVsREJEYXRh
YmFzZT4gZGI7CiAKICAgICBpZiAocGF0aEJhc2UuaXNFbXB0eSgpKSB7Ci0gICAgICAgIEhpc3Rv
Z3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNr
aW5nU3RvcmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWVtb3J5LCBJ
REJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CisgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6
Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQiIsIElEQkxldmVsREJCYWNr
aW5nU3RvcmVPcGVuTWVtb3J5LCBJREJNZXRob2RzTWF4KTsKICAgICAgICAgZGIgPSBMZXZlbERC
RGF0YWJhc2U6Om9wZW5Jbk1lbW9yeShjb21wYXJhdG9yLmdldCgpKTsKICAgICB9IGVsc2Ugewog
ICAgICAgICBpZiAoIW1ha2VBbGxEaXJlY3RvcmllcyhwYXRoQmFzZSkpIHsKICAgICAgICAgICAg
IExPR19FUlJPUigiVW5hYmxlIHRvIGNyZWF0ZSBJbmRleGVkREIgZGF0YWJhc2UgcGF0aCAlcyIs
IHBhdGhCYXNlLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6
aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVu
U3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5GYWlsZWREaXJlY3RvcnksIElEQkxl
dmVsREJCYWNraW5nU3RvcmVPcGVuTWF4KTsKKyAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6
Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQiIsIElEQkxldmVsREJCYWNr
aW5nU3RvcmVPcGVuRmFpbGVkRGlyZWN0b3J5LCBJREJNZXRob2RzTWF4KTsKICAgICAgICAgICAg
IHJldHVybiBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZT4oKTsKICAgICAgICAgfQogCkBAIC0z
ODEsMjQgKzM4OSwyNCBAQCBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZT4gSURCQmFja2luZ1N0
b3JlOjpvcGVuKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbgogICAgICAgICAgICAgYm9v
bCBrbm93biA9IGZhbHNlOwogICAgICAgICAgICAgYm9vbCBvayA9IGlzU2NoZW1hS25vd24oZGIu
Z2V0KCksIGtub3duKTsKICAgICAgICAgICAgIGlmICghb2spIHsKLSAgICAgICAgICAgICAgICBI
aXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIu
QmFja2luZ1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkZhaWxl
ZElPRXJyQ2hlY2tpbmdTY2hlbWEsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWF4KTsKKyAg
ICAgICAgICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2Vi
Q29yZS5JbmRleGVkREIiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkZhaWxlZElPRXJyQ2hl
Y2tpbmdTY2hlbWEsIElEQk1ldGhvZHNNYXgpOwogICAgICAgICAgICAgICAgIHJldHVybiBQYXNz
UmVmUHRyPElEQkJhY2tpbmdTdG9yZT4oKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlm
ICgha25vd24pIHsKICAgICAgICAgICAgICAgICBMT0dfRVJST1IoIkluZGV4ZWREQiBiYWNraW5n
IHN0b3JlIGhhZCB1bmtub3duIHNjaGVtYSwgdHJlYXRpbmcgaXQgYXMgZmFpbHVyZSB0byBvcGVu
Iik7Ci0gICAgICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRp
b24oIldlYkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwgSURCTGV2ZWxE
QkJhY2tpbmdTdG9yZU9wZW5GYWlsZWRVbmtub3duU2NoZW1hLCBJREJMZXZlbERCQmFja2luZ1N0
b3JlT3Blbk1heCk7CisgICAgICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFt
RW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9w
ZW5GYWlsZWRVbmtub3duU2NoZW1hLCBJREJNZXRob2RzTWF4KTsKICAgICAgICAgICAgICAgICBk
Yi5jbGVhcigpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgaWYgKGRiKQot
ICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNv
cmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tpbmdT
dG9yZU9wZW5TdWNjZXNzLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CisgICAgICAg
ICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRl
eGVkREIiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlblN1Y2Nlc3MsIElEQk1ldGhvZHNNYXgp
OwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIExPR19FUlJPUigiSW5kZXhlZERCIGJhY2tp
bmcgc3RvcmUgb3BlbiBmYWlsZWQsIGF0dGVtcHRpbmcgY2xlYW51cCIpOwogICAgICAgICAgICAg
Ym9vbCBzdWNjZXNzID0gTGV2ZWxEQkRhdGFiYXNlOjpkZXN0cm95KHBhdGgpOwogICAgICAgICAg
ICAgaWYgKCFzdWNjZXNzKSB7CiAgICAgICAgICAgICAgICAgTE9HX0VSUk9SKCJJbmRleGVkREIg
YmFja2luZyBzdG9yZSBjbGVhbnVwIGZhaWxlZCIpOwotICAgICAgICAgICAgICAgIEhpc3RvZ3Jh
bVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5n
U3RvcmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuQ2xlYW51cERlc3Ry
b3lGYWlsZWQsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWF4KTsKKyAgICAgICAgICAgICAg
ICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVk
REIiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkNsZWFudXBEZXN0cm95RmFpbGVkLCBJREJN
ZXRob2RzTWF4KTsKICAgICAgICAgICAgICAgICByZXR1cm4gUGFzc1JlZlB0cjxJREJCYWNraW5n
U3RvcmU+KCk7CiAgICAgICAgICAgICB9CiAKQEAgLTQwNiwxMCArNDE0LDEwIEBAIFBhc3NSZWZQ
dHI8SURCQmFja2luZ1N0b3JlPiBJREJCYWNraW5nU3RvcmU6Om9wZW4oU2VjdXJpdHlPcmlnaW4q
IHNlY3VyaXR5T3JpZ2luCiAgICAgICAgICAgICBkYiA9IExldmVsREJEYXRhYmFzZTo6b3Blbihw
YXRoLCBjb21wYXJhdG9yLmdldCgpKTsKICAgICAgICAgICAgIGlmICghZGIpIHsKICAgICAgICAg
ICAgICAgICBMT0dfRVJST1IoIkluZGV4ZWREQiBiYWNraW5nIHN0b3JlIHJlb3BlbiBhZnRlciBy
ZWNvdmVyeSBmYWlsZWQiKTsKLSAgICAgICAgICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0
b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9wZW5TdGF0
dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkNsZWFudXBSZW9wZW5GYWlsZWQsIElEQkxl
dmVsREJCYWNraW5nU3RvcmVPcGVuTWF4KTsKKyAgICAgICAgICAgICAgICBIaXN0b2dyYW1TdXBw
b3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIiLCBJREJMZXZlbERC
QmFja2luZ1N0b3JlT3BlbkNsZWFudXBSZW9wZW5GYWlsZWQsIElEQk1ldGhvZHNNYXgpOwogICAg
ICAgICAgICAgICAgIHJldHVybiBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZT4oKTsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0
aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5nU3RvcmUuT3BlblN0YXR1cyIsIElEQkxldmVs
REJCYWNraW5nU3RvcmVPcGVuQ2xlYW51cFJlb3BlblN1Y2Nlc3MsIElEQkxldmVsREJCYWNraW5n
U3RvcmVPcGVuTWF4KTsKKyAgICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVu
dW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQiIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVu
Q2xlYW51cFJlb3BlblN1Y2Nlc3MsIElEQk1ldGhvZHNNYXgpOwogICAgICAgICB9CiAgICAgfQog
CkBAIC01ODYsNyArNTk0LDcgQEAgYm9vbCBJREJCYWNraW5nU3RvcmU6OmRlbGV0ZURhdGFiYXNl
KGNvbnN0IFN0cmluZyYgbmFtZSkKIAogICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBrZXkgPSBEYXRh
YmFzZU5hbWVLZXk6OmVuY29kZShtX2lkZW50aWZpZXIsIG5hbWUpOwogICAgIHRyYW5zYWN0aW9u
LT5yZW1vdmUoa2V5KTsKLQorICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0
aW9uKCJXZWJDb3JlLkluZGV4ZWREQiIsIElEQkRlbGV0ZURhdGFiYXNlLCBJREJNZXRob2RzTWF4
KTsKICAgICByZXR1cm4gdHJhbnNhY3Rpb24tPmNvbW1pdCgpOwogfQogCkBAIC03NDMsNiArNzUx
LDcgQEAgYm9vbCBJREJCYWNraW5nU3RvcmU6OmNyZWF0ZU9iamVjdFN0b3JlKElEQkJhY2tpbmdT
dG9yZTo6VHJhbnNhY3Rpb24qIHRyYW5zYWN0aW8KICAgICBwdXRCb29sKGxldmVsREJUcmFuc2Fj
dGlvbiwgaGFzS2V5UGF0aEtleSwgIWtleVBhdGguaXNOdWxsKCkpOwogICAgIHB1dEludChsZXZl
bERCVHJhbnNhY3Rpb24sIGtleUdlbmVyYXRvckN1cnJlbnROdW1iZXJLZXksIEtleUdlbmVyYXRv
ckluaXRpYWxOdW1iZXIpOwogICAgIHB1dEludChsZXZlbERCVHJhbnNhY3Rpb24sIG5hbWVzS2V5
LCBvYmplY3RTdG9yZUlkKTsKKyAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJh
dGlvbigiV2ViQ29yZS5JbmRleGVkREIiLCBJREJDcmVhdGVPYmplY3RTdG9yZSwgSURCTWV0aG9k
c01heCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTc3MSw2ICs3ODAsNyBAQCBib29sIElE
QkJhY2tpbmdTdG9yZTo6ZGVsZXRlT2JqZWN0U3RvcmUoSURCQmFja2luZ1N0b3JlOjpUcmFuc2Fj
dGlvbiogdHJhbnNhY3RpbwogICAgIGRlbGV0ZVJhbmdlKGxldmVsREJUcmFuc2FjdGlvbiwgSW5k
ZXhNZXRhRGF0YUtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlSWQsIDAsIDApLCBJ
bmRleE1ldGFEYXRhS2V5OjplbmNvZGVNYXhLZXkoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVJZCkp
OwogCiAgICAgY2xlYXJPYmplY3RTdG9yZSh0cmFuc2FjdGlvbiwgZGF0YWJhc2VJZCwgb2JqZWN0
U3RvcmVJZCk7CisgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldl
YkNvcmUuSW5kZXhlZERCIiwgSURCRGVsZXRlT2JqZWN0U3RvcmUsIElEQk1ldGhvZHNNYXgpOwog
ICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0xMDc0LDYgKzEwODQsNyBAQCBib29sIElEQkJhY2tp
bmdTdG9yZTo6Y3JlYXRlSW5kZXgoSURCQmFja2luZ1N0b3JlOjpUcmFuc2FjdGlvbiogdHJhbnNh
Y3Rpb24sIGludAogICAgIHB1dEJvb2wobGV2ZWxEQlRyYW5zYWN0aW9uLCB1bmlxdWVLZXksIGlz
VW5pcXVlKTsKICAgICBwdXRJREJLZXlQYXRoKGxldmVsREJUcmFuc2FjdGlvbiwga2V5UGF0aEtl
eSwga2V5UGF0aCk7CiAgICAgcHV0Qm9vbChsZXZlbERCVHJhbnNhY3Rpb24sIG11bHRpRW50cnlL
ZXksIGlzTXVsdGlFbnRyeSk7CisgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVy
YXRpb24oIldlYkNvcmUuSW5kZXhlZERCIiwgSURCQ3JlYXRlSW5kZXgsIElEQk1ldGhvZHNNYXgp
OwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0xMDg5LDYgKzExMDAsNyBAQCB2b2lkIElEQkJh
Y2tpbmdTdG9yZTo6ZGVsZXRlSW5kZXgoSURCQmFja2luZ1N0b3JlOjpUcmFuc2FjdGlvbiogdHJh
bnNhY3Rpb24sIGludAogICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBpbmRleERhdGFTdGFydCA9IElu
ZGV4RGF0YUtleTo6ZW5jb2RlTWluS2V5KGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlSWQsIGluZGV4
SWQpOwogICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBpbmRleERhdGFFbmQgPSBJbmRleERhdGFLZXk6
OmVuY29kZU1heEtleShkYXRhYmFzZUlkLCBvYmplY3RTdG9yZUlkLCBpbmRleElkKTsKICAgICBk
ZWxldGVSYW5nZShsZXZlbERCVHJhbnNhY3Rpb24sIGluZGV4RGF0YVN0YXJ0LCBpbmRleERhdGFF
bmQpOworICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3Jl
LkluZGV4ZWREQiIsIElEQkRlbGV0ZUluZGV4LCBJREJNZXRob2RzTWF4KTsKIH0KIAogdm9pZCBJ
REJCYWNraW5nU3RvcmU6OnB1dEluZGV4RGF0YUZvclJlY29yZChJREJCYWNraW5nU3RvcmU6OlRy
YW5zYWN0aW9uKiB0cmFuc2FjdGlvbiwgaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVj
dFN0b3JlSWQsIGludDY0X3QgaW5kZXhJZCwgY29uc3QgSURCS2V5JiBrZXksIGNvbnN0IFJlY29y
ZElkZW50aWZpZXImIHJlY29yZElkZW50aWZpZXIpCkBAIC0xODMzLDYgKzE4NDUsNyBAQCB2b2lk
IElEQkJhY2tpbmdTdG9yZTo6VHJhbnNhY3Rpb246OmJlZ2luKCkKICAgICBJREJfVFJBQ0UoIklE
QkJhY2tpbmdTdG9yZTo6VHJhbnNhY3Rpb246OmJlZ2luIik7CiAgICAgQVNTRVJUKCFtX3RyYW5z
YWN0aW9uKTsKICAgICBtX3RyYW5zYWN0aW9uID0gTGV2ZWxEQlRyYW5zYWN0aW9uOjpjcmVhdGUo
bV9iYWNraW5nU3RvcmUtPm1fZGIuZ2V0KCkpOworICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3Rv
Z3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQiIsIElEQlRyYW5zYWN0aW9uQmVnaW4s
IElEQk1ldGhvZHNNYXgpOwogfQogCiBib29sIElEQkJhY2tpbmdTdG9yZTo6VHJhbnNhY3Rpb246
OmNvbW1pdCgpCkBAIC0xODQxLDYgKzE4NTQsNyBAQCBib29sIElEQkJhY2tpbmdTdG9yZTo6VHJh
bnNhY3Rpb246OmNvbW1pdCgpCiAgICAgQVNTRVJUKG1fdHJhbnNhY3Rpb24pOwogICAgIGJvb2wg
cmVzdWx0ID0gbV90cmFuc2FjdGlvbi0+Y29tbWl0KCk7CiAgICAgbV90cmFuc2FjdGlvbi5jbGVh
cigpOworICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3Jl
LkluZGV4ZWREQiIsIElEQlRyYW5zYWN0aW9uQ29tbWl0LCBJREJNZXRob2RzTWF4KTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xODUwLDYgKzE4NjQsNyBAQCB2b2lkIElEQkJhY2tpbmdT
dG9yZTo6VHJhbnNhY3Rpb246OnJvbGxiYWNrKCkKICAgICBBU1NFUlQobV90cmFuc2FjdGlvbik7
CiAgICAgbV90cmFuc2FjdGlvbi0+cm9sbGJhY2soKTsKICAgICBtX3RyYW5zYWN0aW9uLmNsZWFy
KCk7CisgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUu
SW5kZXhlZERCIiwgSURCVHJhbnNhY3Rpb25Sb2xsYmFjaywgSURCTWV0aG9kc01heCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185159</attachid>
            <date>2013-01-28 22:35:36 -0800</date>
            <delta_ts>2013-01-30 13:37:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107772-20130129173222.patch</filename>
            <type>text/plain</type>
            <size>7057</size>
            <attacher name="Kassy Coan">kassycoan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDAxMjEwYzU0MDkzZGZh
ZTE5ODJlZWU3NzhlYjg0MmYyMmRkYjVlNi4uMjM2NTdhODJlMGJkMTU5OGVjMWQ2OTEzYjJiM2Uw
OTBhYjAzMjc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAxLTIzICBLYXNz
eSBDb2FuICA8a2Fzc3ljb2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGRzIHVzYWdlIGlu
c3RydW1lbnRhdGlvbiBmb3IgaW5kZXhlZERCCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc3NzIKKworICAgICAgICBhYmFydGhAd2Via2l0Lm9yZwor
ICAgICAgICBqc2JlbGxAY2hyb21pdW0ub3JnCisgICAgICAgIAorICAgICAgICBVc2VzIGV4aXN0
aW5nIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uIHRvIHRyYWNlIGluZGV4
ZWREQiBBUEkgY2FsbHM6IAorICAgICAgICAub3BlbiAKKyAgICAgICAgLmRlbGV0ZURhdGFiYXNl
IAorICAgICAgICAuY3JlYXRlT2JqZWN0U3RvcmUKKyAgICAgICAgLmRlbGV0ZU9iamVjdFN0b3Jl
CisgICAgICAgIC50cmFuc2FjdGlvbgorICAgICAgICAuY3JlYXRlSW5kZXgKKyAgICAgICAgLmRl
bGV0ZUluZGV4CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGFkZGVkLiBUaGlzIGlzIGN1cnJlbnRs
eSB1bnRlc3RhYmxlLCBhbmQgc2hvdWxkIGhhdmUgemVybyBlZmZlY3QgCisgICAgICAgIGFwYXJ0
IGZyb20gaGlzdG9ncmFtbWluZy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkJh
Y2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJCYWNraW5nU3RvcmU6Om9wZW4p
OgorICAgICAgICAoV2ViQ29yZTo6SURCQmFja2luZ1N0b3JlOjpkZWxldGVEYXRhYmFzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJCYWNraW5nU3RvcmU6OmNyZWF0ZU9iamVjdFN0b3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQkJhY2tpbmdTdG9yZTo6ZGVsZXRlT2JqZWN0U3RvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCQmFja2luZ1N0b3JlOjpUcmFuc2FjdGlvbjo6YmVnaW4pOgorICAg
ICAgICAoV2ViQ29yZTo6SURCQmFja2luZ1N0b3JlOjpUcmFuc2FjdGlvbjo6Y29tbWl0KToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQkJhY2tpbmdTdG9yZTo6VHJhbnNhY3Rpb246OnJvbGxiYWNrKToK
KwogMjAxMy0wMS0yMSAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgSW1wbGVtZW50IFVJRXZlbnQgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuY3BwCmluZGV4IGRhNDg0OTk3
MTgzMTE2N2JmYWNmZTkyZDdhNTAxNjlkZDExNjQyMjEuLmIzMjg5YzlkNzBmZDQ3MTg4YTQwYzU2
ZDgzN2ZjY2Q4MTE1ODdjMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmNwcApAQCAtNzQsNiArNzQsMzEgQEAgZW51bSBJREJC
YWNraW5nU3RvcmVFcnJvclNvdXJjZSB7CiAgICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZUludGVy
bmFsRXJyb3JNYXgsCiB9OwogCitlbnVtIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuUmVzdWx0
IHsKKyAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1lbW9yeSwKKyAgICBJREJMZXZlbERC
QmFja2luZ1N0b3JlT3BlblN1Y2Nlc3MsCisgICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5G
YWlsZWREaXJlY3RvcnksCisgICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5GYWlsZWRVbmtu
b3duU2NoZW1hLAorICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuQ2xlYW51cERlc3Ryb3lG
YWlsZWQsCisgICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5DbGVhbnVwUmVvcGVuRmFpbGVk
LAorICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuQ2xlYW51cFJlb3BlblN1Y2Nlc3MsCisg
ICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5GYWlsZWRJT0VyckNoZWNraW5nU2NoZW1hLAor
ICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWF4LAorfTsKKworZW51bSBJbmRleGVkRGF0
YWJhc2VNZXRob2RzIHsKKyAgICBJREJDcmVhdGVPYmplY3RTdG9yZSwKKyAgICBJREJEZWxldGVP
YmplY3RTdG9yZSwKKyAgICBJREJUcmFuc2FjdGlvbkJlZ2luLAorICAgIElEQlRyYW5zYWN0aW9u
Q29tbWl0LAorICAgIElEQlRyYW5zYWN0aW9uUm9sbGJhY2ssCisgICAgSURCRGVsZXRlRGF0YWJh
c2UsCisgICAgSURCQ3JlYXRlSW5kZXgsCisgICAgSURCRGVsZXRlSW5kZXgsCisgICAgSURCT3Bl
biwKKyAgICBJREJNZXRob2RzTWF4LAorfTsKKwogc3RhdGljIHZvaWQgcmVjb3JkSW50ZXJuYWxF
cnJvcihjb25zdCBjaGFyKiB0eXBlLCBJREJCYWNraW5nU3RvcmVFcnJvclNvdXJjZSBsb2NhdGlv
bikKIHsKICAgICBTdHJpbmcgbmFtZSA9IFN0cmluZzo6Zm9ybWF0KCJXZWJDb3JlLkluZGV4ZWRE
Qi5CYWNraW5nU3RvcmUuJXNFcnJvciIsIHR5cGUpOwpAQCAtMzQ0LDIyICszNjksMTEgQEAgSURC
QmFja2luZ1N0b3JlOjp+SURCQmFja2luZ1N0b3JlKCkKICAgICBtX2NvbXBhcmF0b3IuY2xlYXIo
KTsKIH0KIAotZW51bSBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlblJlc3VsdCB7Ci0gICAgSURC
TGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NZW1vcnksCi0gICAgSURCTGV2ZWxEQkJhY2tpbmdTdG9y
ZU9wZW5TdWNjZXNzLAotICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuRmFpbGVkRGlyZWN0
b3J5LAotICAgIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuRmFpbGVkVW5rbm93blNjaGVtYSwK
LSAgICBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkNsZWFudXBEZXN0cm95RmFpbGVkLAotICAg
IElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuQ2xlYW51cFJlb3BlbkZhaWxlZCwKLSAgICBJREJM
ZXZlbERCQmFja2luZ1N0b3JlT3BlbkNsZWFudXBSZW9wZW5TdWNjZXNzLAotICAgIElEQkxldmVs
REJCYWNraW5nU3RvcmVPcGVuRmFpbGVkSU9FcnJDaGVja2luZ1NjaGVtYSwKLSAgICBJREJMZXZl
bERCQmFja2luZ1N0b3JlT3Blbk1heCwKLX07Ci0KIFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3Jl
PiBJREJCYWNraW5nU3RvcmU6Om9wZW4oU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLCBj
b25zdCBTdHJpbmcmIHBhdGhCYXNlQXJnLCBjb25zdCBTdHJpbmcmIGZpbGVJZGVudGlmaWVyLCBJ
REJGYWN0b3J5QmFja2VuZEltcGwqIGZhY3RvcnkpCiB7CiAgICAgSURCX1RSQUNFKCJJREJCYWNr
aW5nU3RvcmU6Om9wZW4iKTsKICAgICBTdHJpbmcgcGF0aEJhc2UgPSBwYXRoQmFzZUFyZzsKKyAg
ICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVk
REIiLCBJREJPcGVuLCBJREJNZXRob2RzTWF4KTsKIAogICAgIE93blB0cjxMZXZlbERCQ29tcGFy
YXRvcj4gY29tcGFyYXRvciA9IGFkb3B0UHRyKG5ldyBDb21wYXJhdG9yKCkpOwogICAgIE93blB0
cjxMZXZlbERCRGF0YWJhc2U+IGRiOwpAQCAtNTg2LDcgKzYwMCw3IEBAIGJvb2wgSURCQmFja2lu
Z1N0b3JlOjpkZWxldGVEYXRhYmFzZShjb25zdCBTdHJpbmcmIG5hbWUpCiAKICAgICBjb25zdCBW
ZWN0b3I8Y2hhcj4ga2V5ID0gRGF0YWJhc2VOYW1lS2V5OjplbmNvZGUobV9pZGVudGlmaWVyLCBu
YW1lKTsKICAgICB0cmFuc2FjdGlvbi0+cmVtb3ZlKGtleSk7Ci0KKyAgICBIaXN0b2dyYW1TdXBw
b3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIiLCBJREJEZWxldGVE
YXRhYmFzZSwgSURCTWV0aG9kc01heCk7CiAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLT5jb21taXQo
KTsKIH0KIApAQCAtNzQzLDYgKzc1Nyw3IEBAIGJvb2wgSURCQmFja2luZ1N0b3JlOjpjcmVhdGVP
YmplY3RTdG9yZShJREJCYWNraW5nU3RvcmU6OlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvCiAgICAg
cHV0Qm9vbChsZXZlbERCVHJhbnNhY3Rpb24sIGhhc0tleVBhdGhLZXksICFrZXlQYXRoLmlzTnVs
bCgpKTsKICAgICBwdXRJbnQobGV2ZWxEQlRyYW5zYWN0aW9uLCBrZXlHZW5lcmF0b3JDdXJyZW50
TnVtYmVyS2V5LCBLZXlHZW5lcmF0b3JJbml0aWFsTnVtYmVyKTsKICAgICBwdXRJbnQobGV2ZWxE
QlRyYW5zYWN0aW9uLCBuYW1lc0tleSwgb2JqZWN0U3RvcmVJZCk7CisgICAgSGlzdG9ncmFtU3Vw
cG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCIiwgSURCQ3JlYXRl
T2JqZWN0U3RvcmUsIElEQk1ldGhvZHNNYXgpOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC03
NzEsNiArNzg2LDcgQEAgYm9vbCBJREJCYWNraW5nU3RvcmU6OmRlbGV0ZU9iamVjdFN0b3JlKElE
QkJhY2tpbmdTdG9yZTo6VHJhbnNhY3Rpb24qIHRyYW5zYWN0aW8KICAgICBkZWxldGVSYW5nZShs
ZXZlbERCVHJhbnNhY3Rpb24sIEluZGV4TWV0YURhdGFLZXk6OmVuY29kZShkYXRhYmFzZUlkLCBv
YmplY3RTdG9yZUlkLCAwLCAwKSwgSW5kZXhNZXRhRGF0YUtleTo6ZW5jb2RlTWF4S2V5KGRhdGFi
YXNlSWQsIG9iamVjdFN0b3JlSWQpKTsKIAogICAgIGNsZWFyT2JqZWN0U3RvcmUodHJhbnNhY3Rp
b24sIGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlSWQpOworICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhp
c3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQiIsIElEQkRlbGV0ZU9iamVjdFN0
b3JlLCBJREJNZXRob2RzTWF4KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTA3NCw2ICsx
MDkwLDcgQEAgYm9vbCBJREJCYWNraW5nU3RvcmU6OmNyZWF0ZUluZGV4KElEQkJhY2tpbmdTdG9y
ZTo6VHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBpbnQKICAgICBwdXRCb29sKGxldmVsREJUcmFu
c2FjdGlvbiwgdW5pcXVlS2V5LCBpc1VuaXF1ZSk7CiAgICAgcHV0SURCS2V5UGF0aChsZXZlbERC
VHJhbnNhY3Rpb24sIGtleVBhdGhLZXksIGtleVBhdGgpOwogICAgIHB1dEJvb2wobGV2ZWxEQlRy
YW5zYWN0aW9uLCBtdWx0aUVudHJ5S2V5LCBpc011bHRpRW50cnkpOworICAgIEhpc3RvZ3JhbVN1
cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQiIsIElEQkNyZWF0
ZUluZGV4LCBJREJNZXRob2RzTWF4KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTA4OSw2
ICsxMTA2LDcgQEAgdm9pZCBJREJCYWNraW5nU3RvcmU6OmRlbGV0ZUluZGV4KElEQkJhY2tpbmdT
dG9yZTo6VHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBpbnQKICAgICBjb25zdCBWZWN0b3I8Y2hh
cj4gaW5kZXhEYXRhU3RhcnQgPSBJbmRleERhdGFLZXk6OmVuY29kZU1pbktleShkYXRhYmFzZUlk
LCBvYmplY3RTdG9yZUlkLCBpbmRleElkKTsKICAgICBjb25zdCBWZWN0b3I8Y2hhcj4gaW5kZXhE
YXRhRW5kID0gSW5kZXhEYXRhS2V5OjplbmNvZGVNYXhLZXkoZGF0YWJhc2VJZCwgb2JqZWN0U3Rv
cmVJZCwgaW5kZXhJZCk7CiAgICAgZGVsZXRlUmFuZ2UobGV2ZWxEQlRyYW5zYWN0aW9uLCBpbmRl
eERhdGFTdGFydCwgaW5kZXhEYXRhRW5kKTsKKyAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dy
YW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIiLCBJREJEZWxldGVJbmRleCwgSURCTWV0
aG9kc01heCk7CiB9CiAKIHZvaWQgSURCQmFja2luZ1N0b3JlOjpwdXRJbmRleERhdGFGb3JSZWNv
cmQoSURCQmFja2luZ1N0b3JlOjpUcmFuc2FjdGlvbiogdHJhbnNhY3Rpb24sIGludDY0X3QgZGF0
YWJhc2VJZCwgaW50NjRfdCBvYmplY3RTdG9yZUlkLCBpbnQ2NF90IGluZGV4SWQsIGNvbnN0IElE
QktleSYga2V5LCBjb25zdCBSZWNvcmRJZGVudGlmaWVyJiByZWNvcmRJZGVudGlmaWVyKQpAQCAt
MTgzMyw2ICsxODUxLDcgQEAgdm9pZCBJREJCYWNraW5nU3RvcmU6OlRyYW5zYWN0aW9uOjpiZWdp
bigpCiAgICAgSURCX1RSQUNFKCJJREJCYWNraW5nU3RvcmU6OlRyYW5zYWN0aW9uOjpiZWdpbiIp
OwogICAgIEFTU0VSVCghbV90cmFuc2FjdGlvbik7CiAgICAgbV90cmFuc2FjdGlvbiA9IExldmVs
REJUcmFuc2FjdGlvbjo6Y3JlYXRlKG1fYmFja2luZ1N0b3JlLT5tX2RiLmdldCgpKTsKKyAgICBI
aXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIi
LCBJREJUcmFuc2FjdGlvbkJlZ2luLCBJREJNZXRob2RzTWF4KTsKIH0KIAogYm9vbCBJREJCYWNr
aW5nU3RvcmU6OlRyYW5zYWN0aW9uOjpjb21taXQoKQpAQCAtMTg0MSw2ICsxODYwLDcgQEAgYm9v
bCBJREJCYWNraW5nU3RvcmU6OlRyYW5zYWN0aW9uOjpjb21taXQoKQogICAgIEFTU0VSVChtX3Ry
YW5zYWN0aW9uKTsKICAgICBib29sIHJlc3VsdCA9IG1fdHJhbnNhY3Rpb24tPmNvbW1pdCgpOwog
ICAgIG1fdHJhbnNhY3Rpb24uY2xlYXIoKTsKKyAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dy
YW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIiLCBJREJUcmFuc2FjdGlvbkNvbW1pdCwg
SURCTWV0aG9kc01heCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTg1MCw2ICsxODcw
LDcgQEAgdm9pZCBJREJCYWNraW5nU3RvcmU6OlRyYW5zYWN0aW9uOjpyb2xsYmFjaygpCiAgICAg
QVNTRVJUKG1fdHJhbnNhY3Rpb24pOwogICAgIG1fdHJhbnNhY3Rpb24tPnJvbGxiYWNrKCk7CiAg
ICAgbV90cmFuc2FjdGlvbi5jbGVhcigpOworICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3Jh
bUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQiIsIElEQlRyYW5zYWN0aW9uUm9sbGJhY2ss
IElEQk1ldGhvZHNNYXgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185552</attachid>
            <date>2013-01-30 13:37:26 -0800</date>
            <delta_ts>2013-01-30 19:45:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107772-20130131083410.patch</filename>
            <type>text/plain</type>
            <size>6994</size>
            <attacher name="Kassy Coan">kassycoan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNjZGNhNDg0NDI3MjFl
MzAxNTVlMmM3NjgyZjczZTZiODcwZWJhMi4uNjg3MDQxMWE5YmFiMmQ2ZjczM2I1Mjk1NmYwMGRm
NjRhZGViNzdkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTMwICBLYXNz
eSBDb2FuICA8a2Fzc3ljb2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGRzIHVzYWdlIGlu
c3RydW1lbnRhdGlvbiBmb3IgaW5kZXhlZERCCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc3NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHkgdW50ZXN0YWJsZS4gSGFzIHplcm8gZWZmZWN0
IGFwYXJ0IGZyb20gaGlzdG9ncmFtbWluZy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L0lEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlOjpjcmVhdGVP
YmplY3RTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6ZGVsZXRlT2JqZWN0
U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OnRyYW5zYWN0aW9uKToKKyAg
ICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklEQkZhY3Rvcnk6Om9wZW5JbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0
b3J5OjpkZWxldGVEYXRhYmFzZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCSGlz
dG9ncmFtcy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEzLTAxLTI5ICBKdXN0
aW4gTm92b3NhZCAgPGp1bm92QGdvb2dsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjEz
NTYyOC0xMzU2MzIpOiBEb3VibGUgYm94IHNoYWRvdyBmYWlsdXJlIHRvIHJlbmRlcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCmluZGV4IGE3
NWMyNjliYzk1ZTMxMWI1M2M1MmEzMjkwZTM1Y2YwZmM4NmU2NTkuLjJmMmEyYWQyM2Y0MjI5YTcx
MTliNzhjOGZmM2E3YTUzNjdkMjllZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKQEAgLTMxLDExICszMSwxMyBAQAogI2luY2x1ZGUg
IkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKICNpbmNsdWRlICJJ
REJBbnkuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUNhbGxiYWNrcy5oIgogI2luY2x1ZGUgIklE
QkRhdGFiYXNlRXJyb3IuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5oIgogI2lu
Y2x1ZGUgIklEQkV2ZW50RGlzcGF0Y2hlci5oIgorI2luY2x1ZGUgIklEQkhpc3RvZ3JhbXMuaCIK
ICNpbmNsdWRlICJJREJJbmRleC5oIgogI2luY2x1ZGUgIklEQktleVBhdGguaCIKICNpbmNsdWRl
ICJJREJPYmplY3RTdG9yZS5oIgpAQCAtMTU3LDYgKzE1OSw3IEBAIFBhc3NSZWZQdHI8SURCT2Jq
ZWN0U3RvcmU+IElEQkRhdGFiYXNlOjpjcmVhdGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5h
bWUsIGNvCiAKIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IElEQkRhdGFiYXNlOjpjcmVhdGVP
YmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IElEQktleVBhdGgmIGtleVBhdGgs
IGJvb2wgYXV0b0luY3JlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CisgICAgSGlzdG9ncmFt
U3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkZyb250RW5k
QVBJQ2FsbHMiLCBJREJDcmVhdGVPYmplY3RTdG9yZUNhbGwsIElEQk1ldGhvZHNNYXgpOwogICAg
IGlmICghbV92ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24pIHsKICAgICAgICAgZWMgPSBJREJEYXRh
YmFzZUV4Y2VwdGlvbjo6SW52YWxpZFN0YXRlRXJyb3I7CiAgICAgICAgIHJldHVybiAwOwpAQCAt
MTk1LDYgKzE5OCw3IEBAIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IElEQkRhdGFiYXNlOjpj
cmVhdGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvCiAKIHZvaWQgSURCRGF0YWJh
c2U6OmRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CisgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNv
cmUuSW5kZXhlZERCLkZyb250RW5kQVBJQ2FsbHMiLCBJREJEZWxldGVPYmplY3RTdG9yZUNhbGws
IElEQk1ldGhvZHNNYXgpOwogICAgIGlmICghbV92ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24pIHsK
ICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxpZFN0YXRlRXJyb3I7CiAg
ICAgICAgIHJldHVybjsKQEAgLTIxNyw2ICsyMjEsNyBAQCB2b2lkIElEQkRhdGFiYXNlOjpkZWxl
dGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogCiBQ
YXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiBJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHNjb3BlLCBj
b25zdCBTdHJpbmcmIG1vZGVTdHJpbmcsIEV4Y2VwdGlvbkNvZGUmIGVjKQogeworICAgIEhpc3Rv
Z3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5Gcm9u
dEVuZEFQSUNhbGxzIiwgSURCVHJhbnNhY3Rpb25DYWxsLCBJREJNZXRob2RzTWF4KTsKICAgICBp
ZiAoIXNjb3BlLnNpemUoKSkgewogICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJ
bnZhbGlkQWNjZXNzRXJyb3I7CiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmNwcAppbmRleCAyZDNjMGQzZDA3M2IxZTkz
NDk2YmFlOGNkZDk3YmI5Njg0MTc4NzAyLi4wZjQxM2M1N2Y4NTA4M2UxODdiYjNjYTgzYjYyMzMz
OTU3Y2M5ODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJG
YWN0b3J5LmNwcApAQCAtMzUsMTEgKzM1LDEzIEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5o
IgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiR3JvdXBTZXR0aW5ncy5oIgorI2luY2x1
ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKICNpbmNsdWRlICJJREJCaW5kaW5nVXRpbGl0aWVzLmgi
CiAjaW5jbHVkZSAiSURCRGF0YWJhc2UuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUNhbGxiYWNr
c0ltcGwuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIklE
QkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmgiCisjaW5jbHVkZSAiSURCSGlzdG9ncmFtcy5oIgog
I2luY2x1ZGUgIklEQktleS5oIgogI2luY2x1ZGUgIklEQktleVJhbmdlLmgiCiAjaW5jbHVkZSAi
SURCT3BlbkRCUmVxdWVzdC5oIgpAQCAtMTE4LDYgKzEyMCw3IEBAIFBhc3NSZWZQdHI8SURCT3Bl
bkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6b3BlbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBjCiAKIFBhc3NSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6b3Blbklu
dGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgaW50NjRfdCB2ZXJzaW9uLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKKyAgICBIaXN0b2dyYW1T
dXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuRnJvbnRFbmRB
UElDYWxscyIsIElEQk9wZW5DYWxsLCBJREJNZXRob2RzTWF4KTsKICAgICBBU1NFUlQodmVyc2lv
biA+PSAxIHx8IHZlcnNpb24gPT0gSURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJzaW9uKTsK
ICAgICBpZiAobmFtZS5pc051bGwoKSkgewogICAgICAgICBlYyA9IFR5cGVFcnJvcjsKQEAgLTE0
MCw2ICsxNDMsNyBAQCBQYXNzUmVmUHRyPElEQk9wZW5EQlJlcXVlc3Q+IElEQkZhY3Rvcnk6Om9w
ZW4oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgYwogCiBQYXNzUmVmUHRyPElEQk9w
ZW5EQlJlcXVlc3Q+IElEQkZhY3Rvcnk6OmRlbGV0ZURhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7
CisgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5k
ZXhlZERCLkZyb250RW5kQVBJQ2FsbHMiLCBJREJEZWxldGVEYXRhYmFzZUNhbGwsIElEQk1ldGhv
ZHNNYXgpOwogICAgIGlmIChuYW1lLmlzTnVsbCgpKSB7CiAgICAgICAgIGVjID0gVHlwZUVycm9y
OwogICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkhpc3RvZ3JhbXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkhpc3RvZ3JhbXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNThmMDg4YmQ5M2I2OGE1ZGU1YzRkODU2
NjBjMDQ5OTFkN2M4MzM5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCSGlzdG9ncmFtcy5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMu
ICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJ
REJIaXN0b2dyYW1zX2gKKyNkZWZpbmUgSURCSGlzdG9ncmFtc19oCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworZW51bSBJbmRleGVkRGF0YWJhc2VNZXRob2RzIHsKKyAgICBJREJDcmVhdGVPYmpl
Y3RTdG9yZUNhbGwsCisgICAgSURCRGVsZXRlT2JqZWN0U3RvcmVDYWxsLAorICAgIElEQlRyYW5z
YWN0aW9uQ2FsbCwKKyAgICBJREJEZWxldGVEYXRhYmFzZUNhbGwsCisgICAgSURCT3BlbkNhbGws
CisgICAgSURCTWV0aG9kc01heCwKK307CisKK30KKworI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185660</attachid>
            <date>2013-01-30 19:45:22 -0800</date>
            <delta_ts>2013-01-30 21:55:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107772-20130131144206.patch</filename>
            <type>text/plain</type>
            <size>12052</size>
            <attacher name="Kassy Coan">kassycoan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNjZGNhNDg0NDI3MjFl
MzAxNTVlMmM3NjgyZjczZTZiODcwZWJhMi4uMTQ3YWZjYTRjY2Y0NWNkNTE1ZmM3ZjhjMWYyMmM2
MzFmNTRkZWJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEzLTAxLTMwICBLYXNz
eSBDb2FuICA8a2Fzc3ljb2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGRzIHVzYWdlIGlu
c3RydW1lbnRhdGlvbiBmb3IgaW5kZXhlZERCCisgICAgICAgIEluY2x1ZGVzIG5ldyBoZWFkZXIg
ZmlsZSBpbiBwcm9qZWN0IGZpbGVzCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNzc3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEN1cnJlbnRseSB1bnRlc3RhYmxlLiBIYXMgemVybyBlZmZlY3QgYXBh
cnQgZnJvbSBoaXN0b2dyYW1taW5nLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURC
RGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OmNyZWF0ZU9iamVj
dFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlOjpkZWxldGVPYmplY3RTdG9y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SURCRmFjdG9yeTo6b3BlbkludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3Rvcnk6
OmRlbGV0ZURhdGFiYXNlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJIaXN0b2dy
YW1zLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlOjpjcmVhdGVPYmplY3RTdG9yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6ZGVsZXRlT2JqZWN0U3RvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6SURCRGF0YWJhc2U6OnRyYW5zYWN0aW9uKToKKyAgICAgICAgKiBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3Rvcnk6Om9w
ZW5JbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0b3J5OjpkZWxldGVEYXRhYmFz
ZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCSGlzdG9ncmFtcy5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKworICAgICAgICAq
IEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0
YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OmNyZWF0ZU9iamVjdFN0
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlOjpkZWxldGVPYmplY3RTdG9yZSk6
CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURC
RmFjdG9yeTo6b3BlbkludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3Rvcnk6OmRl
bGV0ZURhdGFiYXNlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJIaXN0b2dyYW1z
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAy
MDEzLTAxLTI5ICBKdXN0aW4gTm92b3NhZCAgPGp1bm92QGdvb2dsZS5jb20+CiAKICAgICAgICAg
UkVHUkVTU0lPTiAocjEzNTYyOC0xMzU2MzIpOiBEb3VibGUgYm94IHNoYWRvdyBmYWlsdXJlIHRv
IHJlbmRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBi
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZmQxN2VkNWJmZDQ2NTgz
MTQ4ZDA2Mjg0YThkOGM4YWRhMGE5MGU0ZC4uYmMzODI3MmU5MTQzZGVkOGZlMDZhZmI4ODMyMWI2
ZDM2OWU5ZGI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xODgxLDYgKzE4
ODEsNyBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuaCBcCiAJU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuaCBcCisgICAgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCSGlzdG9ncmFtcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJJbmRleC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkluZGV4LmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktl
eS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
RGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJh
c2UuY3BwCmluZGV4IGE3NWMyNjliYzk1ZTMxMWI1M2M1MmEzMjkwZTM1Y2YwZmM4NmU2NTkuLjJm
MmEyYWQyM2Y0MjI5YTcxMTliNzhjOGZmM2E3YTUzNjdkMjllZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKQEAgLTMxLDExICszMSwx
MyBAQAogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJFdmVudFF1ZXVlLmgi
CiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQu
aCIKICNpbmNsdWRlICJJREJBbnkuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUNhbGxiYWNrcy5o
IgogI2luY2x1ZGUgIklEQkRhdGFiYXNlRXJyb3IuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUV4
Y2VwdGlvbi5oIgogI2luY2x1ZGUgIklEQkV2ZW50RGlzcGF0Y2hlci5oIgorI2luY2x1ZGUgIklE
Qkhpc3RvZ3JhbXMuaCIKICNpbmNsdWRlICJJREJJbmRleC5oIgogI2luY2x1ZGUgIklEQktleVBh
dGguaCIKICNpbmNsdWRlICJJREJPYmplY3RTdG9yZS5oIgpAQCAtMTU3LDYgKzE1OSw3IEBAIFBh
c3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IElEQkRhdGFiYXNlOjpjcmVhdGVPYmplY3RTdG9yZShj
b25zdCBTdHJpbmcmIG5hbWUsIGNvCiAKIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IElEQkRh
dGFiYXNlOjpjcmVhdGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IElEQktl
eVBhdGgmIGtleVBhdGgsIGJvb2wgYXV0b0luY3JlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7
CisgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5k
ZXhlZERCLkZyb250RW5kQVBJQ2FsbHMiLCBJREJDcmVhdGVPYmplY3RTdG9yZUNhbGwsIElEQk1l
dGhvZHNNYXgpOwogICAgIGlmICghbV92ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24pIHsKICAgICAg
ICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxpZFN0YXRlRXJyb3I7CiAgICAgICAg
IHJldHVybiAwOwpAQCAtMTk1LDYgKzE5OCw3IEBAIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+
IElEQkRhdGFiYXNlOjpjcmVhdGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvCiAK
IHZvaWQgSURCRGF0YWJhc2U6OmRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwg
RXhjZXB0aW9uQ29kZSYgZWMpCiB7CisgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51
bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkZyb250RW5kQVBJQ2FsbHMiLCBJREJEZWxldGVP
YmplY3RTdG9yZUNhbGwsIElEQk1ldGhvZHNNYXgpOwogICAgIGlmICghbV92ZXJzaW9uQ2hhbmdl
VHJhbnNhY3Rpb24pIHsKICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxp
ZFN0YXRlRXJyb3I7CiAgICAgICAgIHJldHVybjsKQEAgLTIxNyw2ICsyMjEsNyBAQCB2b2lkIElE
QkRhdGFiYXNlOjpkZWxldGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlv
bkNvZGUmIGVjKQogCiBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiBJREJEYXRhYmFzZTo6dHJh
bnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgVmVjdG9yPFN0
cmluZz4mIHNjb3BlLCBjb25zdCBTdHJpbmcmIG1vZGVTdHJpbmcsIEV4Y2VwdGlvbkNvZGUmIGVj
KQogeworICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3Jl
LkluZGV4ZWREQi5Gcm9udEVuZEFQSUNhbGxzIiwgSURCVHJhbnNhY3Rpb25DYWxsLCBJREJNZXRo
b2RzTWF4KTsKICAgICBpZiAoIXNjb3BlLnNpemUoKSkgewogICAgICAgICBlYyA9IElEQkRhdGFi
YXNlRXhjZXB0aW9uOjpJbnZhbGlkQWNjZXNzRXJyb3I7CiAgICAgICAgIHJldHVybiAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmNwcAppbmRleCAy
ZDNjMGQzZDA3M2IxZTkzNDk2YmFlOGNkZDk3YmI5Njg0MTc4NzAyLi4wZjQxM2M1N2Y4NTA4M2Ux
ODdiYjNjYTgzYjYyMzMzOTU3Y2M5ODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJGYWN0b3J5LmNwcApAQCAtMzUsMTEgKzM1LDEzIEBACiAjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiR3JvdXBTZXR0
aW5ncy5oIgorI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKICNpbmNsdWRlICJJREJCaW5k
aW5nVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiSURCRGF0YWJhc2UuaCIKICNpbmNsdWRlICJJREJE
YXRhYmFzZUNhbGxiYWNrc0ltcGwuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5o
IgogI2luY2x1ZGUgIklEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmgiCisjaW5jbHVkZSAiSURC
SGlzdG9ncmFtcy5oIgogI2luY2x1ZGUgIklEQktleS5oIgogI2luY2x1ZGUgIklEQktleVJhbmdl
LmgiCiAjaW5jbHVkZSAiSURCT3BlbkRCUmVxdWVzdC5oIgpAQCAtMTE4LDYgKzEyMCw3IEBAIFBh
c3NSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6b3BlbihTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBjCiAKIFBhc3NSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURC
RmFjdG9yeTo6b3BlbkludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFN0cmluZyYgbmFtZSwgaW50NjRfdCB2ZXJzaW9uLCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
KyAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRl
eGVkREIuRnJvbnRFbmRBUElDYWxscyIsIElEQk9wZW5DYWxsLCBJREJNZXRob2RzTWF4KTsKICAg
ICBBU1NFUlQodmVyc2lvbiA+PSAxIHx8IHZlcnNpb24gPT0gSURCRGF0YWJhc2VNZXRhZGF0YTo6
Tm9JbnRWZXJzaW9uKTsKICAgICBpZiAobmFtZS5pc051bGwoKSkgewogICAgICAgICBlYyA9IFR5
cGVFcnJvcjsKQEAgLTE0MCw2ICsxNDMsNyBAQCBQYXNzUmVmUHRyPElEQk9wZW5EQlJlcXVlc3Q+
IElEQkZhY3Rvcnk6Om9wZW4oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgYwogCiBQ
YXNzUmVmUHRyPElEQk9wZW5EQlJlcXVlc3Q+IElEQkZhY3Rvcnk6OmRlbGV0ZURhdGFiYXNlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0
aW9uQ29kZSYgZWMpCiB7CisgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRp
b24oIldlYkNvcmUuSW5kZXhlZERCLkZyb250RW5kQVBJQ2FsbHMiLCBJREJEZWxldGVEYXRhYmFz
ZUNhbGwsIElEQk1ldGhvZHNNYXgpOwogICAgIGlmIChuYW1lLmlzTnVsbCgpKSB7CiAgICAgICAg
IGVjID0gVHlwZUVycm9yOwogICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkhpc3RvZ3JhbXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkhpc3RvZ3JhbXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNThmMDg4YmQ5
M2I2OGE1ZGU1YzRkODU2NjBjMDQ5OTFkN2M4MzM5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSGlzdG9ncmFtcy5oCkBAIC0wLDAgKzEsNDUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxl
IENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdP
T0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
KyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBJREJIaXN0b2dyYW1zX2gKKyNkZWZpbmUgSURCSGlzdG9ncmFtc19oCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBJbmRleGVkRGF0YWJhc2VNZXRob2RzIHsKKyAg
ICBJREJDcmVhdGVPYmplY3RTdG9yZUNhbGwsCisgICAgSURCRGVsZXRlT2JqZWN0U3RvcmVDYWxs
LAorICAgIElEQlRyYW5zYWN0aW9uQ2FsbCwKKyAgICBJREJEZWxldGVEYXRhYmFzZUNhbGwsCisg
ICAgSURCT3BlbkNhbGwsCisgICAgSURCTWV0aG9kc01heCwKK307CisKK30KKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQppbmRleCA1MDVkYjVlMjY4MzhkYzE5Y2ZmOThhNGQ3MTJmOTdkODRkMDg2Y2Y5Li4y
NTQyMGI3ZjFhNTU1YjBkNTc0ZDcyNDQxNDkxYjMyZmZiMDQxMmNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAg
LTMwNTYsNiArMzA1Niw3IEBAIGVuYWJsZT8oSU5ERVhFRF9EQVRBQkFTRSkgewogICAgICAgICBN
b2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmggXAogICAgICAgICBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIFwKICAgICAgICAgTW9kdWxlcy9pbmRleGVk
ZGIvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmggXAorICAgICAgICBNb2R1bGVzL2luZGV4ZWRkYi9J
REJIaXN0b2dyYW1zLmggXAogICAgICAgICBNb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5oIFwK
ICAgICAgICAgTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5LmggXAogICAgICAgICBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJLZXlSYW5nZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA3NGE4MzNkNzZjY2U2
Mjk4N2UyNWIxZTQ4MmI3ZGRjZWZjZWM5Njk4Li4yZGNkZmFkMjBiOTcwMzBkMzY4N2ZkMmMyZDE2
NjFmNjk3OWY5ZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC03NDIsNiArNzQyLDcgQEAKICAgICAg
ICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5QmFja2VuZEltcGwuaCcsCiAgICAg
ICAgICAgICAnTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuY3Bw
JywKICAgICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5QmFja2VuZEludGVy
ZmFjZS5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9JREJIaXN0b2dyYW1zLmgn
CiAgICAgICAgICAgICAnTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguY3BwJywKICAgICAgICAg
ICAgICdNb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5oJywKICAgICAgICAgICAgICdNb2R1bGVz
L2luZGV4ZWRkYi9JREJLZXkuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKaW5kZXggYWVlNjYwNTA5ODNlNTNiYmU1OWQ5ZTY0YjNlNzgzNTcwZmZk
ZWFhOC4uNDQxZTMwOTY2YjEzNTEzZWExNDBkZmI5ZWRiNTBmNWZjMWRiMDRjZCAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI1MTQ5LDYgKzI1
MTQ5LDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQ
YXRoPSIuLi9Nb2R1bGVzXGluZGV4ZWRkYlxJREJIaXN0b2dyYW1zLmgiCisJCQkJCT4KKwkJCQk8
L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXGluZGV4ZWRk
YlxJREJJbmRleC5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzVjMDA3ZWQ0MDlkN2Ex
ZDZkMTdhZWY5MDcwOTEzYTJhOWFkN2U2Mi4uNzI2NTFmNzQ3ZGZhZjAyYzQyN2EzMmQ2YmQwYmMy
NzVkODYzM2UwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTQ3MSw2ICsxNDcxLDcgQEAKIAkJNEI2RkE2RjQwQzM5RTQ4QzAw
MDg3MDExIC8qIFNtYXJ0UmVwbGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNEI2RkE2RjIwQzM5RTQ4QzAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRCNkZB
NkY1MEMzOUU0OEMwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI2RkE2RjMwQzM5RTQ4QzAwMDg3MDExIC8q
IFNtYXJ0UmVwbGFjZS5jcHAgKi87IH07CiAJCTRCNkZBNkY3MEMzOUU0QTEwMDA4NzAxMSAvKiBT
bWFydFJlcGxhY2VDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0QjZGQTZGNjBDMzlFNEExMDAwODcwMTEgLyogU21hcnRSZXBsYWNlQ0YuY3BwICov
OyB9OworCQk0QjYxNzM3Mzc5NjM2RjYxNkUyNzczNjggLyogSURCSGlzdG9ncmFtcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI2MTczNzM3OTYzNkY2
MTZFMjc3MzY4IC8qIElEQkhpc3RvZ3JhbXMuaCAqLzsgfTsKIAkJNEI4QUY0QUEwQjFDRTAyQjAw
Njg3NjkwIC8qIENsaXBib2FyZEFjY2Vzc1BvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI4QUY0QTkwQjFDRTAyQjAwNjg3NjkwIC8qIENsaXBi
b2FyZEFjY2Vzc1BvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTRCQUU5NUIxMEIyRkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCQUU5
NUIwMEIyRkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rpb24uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0RDI3M0NGOTE2Njk0MjA4MDAy
NTlDQTEgLyogSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RDI3M0NGNzE2Njk0MjA4MDAyNTlDQTEgLyogSW5zcGVj
dG9ySW5wdXRBZ2VudC5jcHAgKi87IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185676</attachid>
            <date>2013-01-30 21:55:59 -0800</date>
            <delta_ts>2013-01-30 22:34:03 -0800</delta_ts>
            <desc>Retry cr-linux ews</desc>
            <filename>bug-107772-20130131165243.patch</filename>
            <type>text/plain</type>
            <size>12067</size>
            <attacher name="Kassy Coan">kassycoan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFjNjI0YWUxZWJkYTNl
MTNhZGQwNzM1NjcyNGVhZTI0MzBlN2I3YS4uNWM2MWVjNmM1MjQ1MDc1NTdhMTVmYzc5NmU1Nzdj
NjZkNDgzZjlmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEzLTAxLTMwICBLYXNz
eSBDb2FuICA8a2Fzc3ljb2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGRzIHVzYWdlIGlu
c3RydW1lbnRhdGlvbiBmb3IgaW5kZXhlZERCCisgICAgICAgIEluY2x1ZGVzIG5ldyBoZWFkZXIg
ZmlsZSBpbiBwcm9qZWN0IGZpbGVzCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNzc3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEN1cnJlbnRseSB1bnRlc3RhYmxlLiBIYXMgemVybyBlZmZlY3QgYXBh
cnQgZnJvbSBoaXN0b2dyYW1taW5nLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURC
RGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OmNyZWF0ZU9iamVj
dFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlOjpkZWxldGVPYmplY3RTdG9y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SURCRmFjdG9yeTo6b3BlbkludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3Rvcnk6
OmRlbGV0ZURhdGFiYXNlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJIaXN0b2dy
YW1zLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlOjpjcmVhdGVPYmplY3RTdG9yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6ZGVsZXRlT2JqZWN0U3RvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6SURCRGF0YWJhc2U6OnRyYW5zYWN0aW9uKToKKyAgICAgICAgKiBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3Rvcnk6Om9w
ZW5JbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0b3J5OjpkZWxldGVEYXRhYmFz
ZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCSGlzdG9ncmFtcy5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKworICAgICAgICAq
IEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0
YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OmNyZWF0ZU9iamVjdFN0
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlOjpkZWxldGVPYmplY3RTdG9yZSk6
CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURC
RmFjdG9yeTo6b3BlbkludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3Rvcnk6OmRl
bGV0ZURhdGFiYXNlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJIaXN0b2dyYW1z
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAy
MDEzLTAxLTMwICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBT
cGxpdCBDU1NPTVdyYXBwZXIgZGF0YSBhbmQgZnVuY3Rpb25zIG91dCBmcm9tIFN0eWxlUmVzb2x2
ZXIgaW50byBpdHMgb3duIGNsYXNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXgg
ZWU5ZWZhOTIwNjNjODVkZjAyM2U0Yjk3ZjJjNzRkNzhmZTc1ZmY2Ni4uNTBjODcwMjVlZjhlMDBl
ZTY5MjlhYzQ1Y2M2NjFkODg3NTc2NWM5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CkBAIC0xODc4LDYgKzE4NzgsNyBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2Uu
aCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuaCBcCisgICAgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSGlzdG9ncmFtcy5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQktleS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCRGF0YWJhc2UuY3BwCmluZGV4IGE3NWMyNjliYzk1ZTMxMWI1M2M1MmEzMjkwZTM1
Y2YwZmM4NmU2NTkuLjJmMmEyYWQyM2Y0MjI5YTcxMTliNzhjOGZmM2E3YTUzNjdkMjllZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAK
QEAgLTMxLDExICszMSwxMyBAQAogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRl
ICJFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkhp
c3RvZ3JhbVN1cHBvcnQuaCIKICNpbmNsdWRlICJJREJBbnkuaCIKICNpbmNsdWRlICJJREJEYXRh
YmFzZUNhbGxiYWNrcy5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlRXJyb3IuaCIKICNpbmNsdWRl
ICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIklEQkV2ZW50RGlzcGF0Y2hlci5o
IgorI2luY2x1ZGUgIklEQkhpc3RvZ3JhbXMuaCIKICNpbmNsdWRlICJJREJJbmRleC5oIgogI2lu
Y2x1ZGUgIklEQktleVBhdGguaCIKICNpbmNsdWRlICJJREJPYmplY3RTdG9yZS5oIgpAQCAtMTU3
LDYgKzE1OSw3IEBAIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IElEQkRhdGFiYXNlOjpjcmVh
dGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvCiAKIFBhc3NSZWZQdHI8SURCT2Jq
ZWN0U3RvcmU+IElEQkRhdGFiYXNlOjpjcmVhdGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IElEQktleVBhdGgmIGtleVBhdGgsIGJvb2wgYXV0b0luY3JlbWVudCwgRXhjZXB0
aW9uQ29kZSYgZWMpCiB7CisgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRp
b24oIldlYkNvcmUuSW5kZXhlZERCLkZyb250RW5kQVBJQ2FsbHMiLCBJREJDcmVhdGVPYmplY3RT
dG9yZUNhbGwsIElEQk1ldGhvZHNNYXgpOwogICAgIGlmICghbV92ZXJzaW9uQ2hhbmdlVHJhbnNh
Y3Rpb24pIHsKICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxpZFN0YXRl
RXJyb3I7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMTk1LDYgKzE5OCw3IEBAIFBhc3NSZWZQdHI8
SURCT2JqZWN0U3RvcmU+IElEQkRhdGFiYXNlOjpjcmVhdGVPYmplY3RTdG9yZShjb25zdCBTdHJp
bmcmIG5hbWUsIGNvCiAKIHZvaWQgSURCRGF0YWJhc2U6OmRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0
IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CisgICAgSGlzdG9ncmFtU3VwcG9y
dDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkZyb250RW5kQVBJQ2Fs
bHMiLCBJREJEZWxldGVPYmplY3RTdG9yZUNhbGwsIElEQk1ldGhvZHNNYXgpOwogICAgIGlmICgh
bV92ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24pIHsKICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4
Y2VwdGlvbjo6SW52YWxpZFN0YXRlRXJyb3I7CiAgICAgICAgIHJldHVybjsKQEAgLTIxNyw2ICsy
MjEsNyBAQCB2b2lkIElEQkRhdGFiYXNlOjpkZWxldGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcm
IG5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogCiBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiBJ
REJEYXRhYmFzZTo6dHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
Y29uc3QgVmVjdG9yPFN0cmluZz4mIHNjb3BlLCBjb25zdCBTdHJpbmcmIG1vZGVTdHJpbmcsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogeworICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1l
cmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5Gcm9udEVuZEFQSUNhbGxzIiwgSURCVHJhbnNhY3Rp
b25DYWxsLCBJREJNZXRob2RzTWF4KTsKICAgICBpZiAoIXNjb3BlLnNpemUoKSkgewogICAgICAg
ICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZhbGlkQWNjZXNzRXJyb3I7CiAgICAgICAg
IHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0
b3J5LmNwcAppbmRleCAyZDNjMGQzZDA3M2IxZTkzNDk2YmFlOGNkZDk3YmI5Njg0MTc4NzAyLi4w
ZjQxM2M1N2Y4NTA4M2UxODdiYjNjYTgzYjYyMzMzOTU3Y2M5ODY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmNwcApAQCAtMzUsMTEgKzM1LDEz
IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiR3JvdXBTZXR0aW5ncy5oIgorI2luY2x1ZGUgIkhpc3RvZ3JhbVN1cHBvcnQuaCIKICNp
bmNsdWRlICJJREJCaW5kaW5nVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiSURCRGF0YWJhc2UuaCIK
ICNpbmNsdWRlICJJREJEYXRhYmFzZUNhbGxiYWNrc0ltcGwuaCIKICNpbmNsdWRlICJJREJEYXRh
YmFzZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIklEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmgi
CisjaW5jbHVkZSAiSURCSGlzdG9ncmFtcy5oIgogI2luY2x1ZGUgIklEQktleS5oIgogI2luY2x1
ZGUgIklEQktleVJhbmdlLmgiCiAjaW5jbHVkZSAiSURCT3BlbkRCUmVxdWVzdC5oIgpAQCAtMTE4
LDYgKzEyMCw3IEBAIFBhc3NSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6b3Bl
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjCiAKIFBhc3NSZWZQdHI8SURCT3Bl
bkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6b3BlbkludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgaW50NjRfdCB2ZXJzaW9uLCBFeGNlcHRp
b25Db2RlJiBlYykKIHsKKyAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlv
bigiV2ViQ29yZS5JbmRleGVkREIuRnJvbnRFbmRBUElDYWxscyIsIElEQk9wZW5DYWxsLCBJREJN
ZXRob2RzTWF4KTsKICAgICBBU1NFUlQodmVyc2lvbiA+PSAxIHx8IHZlcnNpb24gPT0gSURCRGF0
YWJhc2VNZXRhZGF0YTo6Tm9JbnRWZXJzaW9uKTsKICAgICBpZiAobmFtZS5pc051bGwoKSkgewog
ICAgICAgICBlYyA9IFR5cGVFcnJvcjsKQEAgLTE0MCw2ICsxNDMsNyBAQCBQYXNzUmVmUHRyPElE
Qk9wZW5EQlJlcXVlc3Q+IElEQkZhY3Rvcnk6Om9wZW4oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCwgYwogCiBQYXNzUmVmUHRyPElEQk9wZW5EQlJlcXVlc3Q+IElEQkZhY3Rvcnk6OmRl
bGV0ZURhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CisgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlz
dG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkZyb250RW5kQVBJQ2FsbHMiLCBJ
REJEZWxldGVEYXRhYmFzZUNhbGwsIElEQk1ldGhvZHNNYXgpOwogICAgIGlmIChuYW1lLmlzTnVs
bCgpKSB7CiAgICAgICAgIGVjID0gVHlwZUVycm9yOwogICAgICAgICByZXR1cm4gMDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkhpc3RvZ3JhbXMuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkhpc3RvZ3JhbXMuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kNThmMDg4YmQ5M2I2OGE1ZGU1YzRkODU2NjBjMDQ5OTFkN2M4MzM5Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSGlzdG9ncmFtcy5o
CkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9m
CisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEdPT0dMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YK
KyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJREJIaXN0b2dyYW1zX2gKKyNkZWZpbmUgSURC
SGlzdG9ncmFtc19oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBJbmRleGVkRGF0YWJh
c2VNZXRob2RzIHsKKyAgICBJREJDcmVhdGVPYmplY3RTdG9yZUNhbGwsCisgICAgSURCRGVsZXRl
T2JqZWN0U3RvcmVDYWxsLAorICAgIElEQlRyYW5zYWN0aW9uQ2FsbCwKKyAgICBJREJEZWxldGVE
YXRhYmFzZUNhbGwsCisgICAgSURCT3BlbkNhbGwsCisgICAgSURCTWV0aG9kc01heCwKK307CisK
K30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBjM2I4ZmMwMjBjMTI2YTY0ZDYxOWE3ZDcwYmVi
YmM5N2JkYmRmMjFkLi5lNTY5N2FmYzhhZjc1MDhmM2M2ZGFhYWZkZjQ3NTM1ZGUzOTI3ZjRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKQEAgLTMwNTcsNiArMzA1Nyw3IEBAIGVuYWJsZT8oSU5ERVhFRF9EQVRBQkFT
RSkgewogICAgICAgICBNb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmggXAogICAgICAgICBN
b2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIFwKICAgICAgICAg
TW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmggXAorICAgICAgICBNb2R1
bGVzL2luZGV4ZWRkYi9JREJIaXN0b2dyYW1zLmggXAogICAgICAgICBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJJbmRleC5oIFwKICAgICAgICAgTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5LmggXAogICAg
ICAgICBNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlSYW5nZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRl
eCA3ZWRjYTI2ZjYzNGRhMWI1NDQwNGU0ZGVhN2M2NjY1NmE4NTM5NzYzLi5iNjBlOWFjM2Y2YTMx
Y2JjZGE1OGM2Y2NkNjJjZjAwZDRmODAyZWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC03NDIsNiAr
NzQyLDcgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5QmFja2Vu
ZEltcGwuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeUJhY2tl
bmRJbnRlcmZhY2UuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0
b3J5QmFja2VuZEludGVyZmFjZS5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9J
REJIaXN0b2dyYW1zLmgnCiAgICAgICAgICAgICAnTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXgu
Y3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5oJywKICAgICAg
ICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXkuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMTE3OWM5NTRjN2E0YTMxYWFjN2Ji
YjI4MDg4MmJhN2NmM2JlNWEyYS4uMjQ5MzhiYjk2NjkyMmE3ZTE1ODNkN2MwODE2ZGZlZmZkYThh
MzMwMCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
QEAgLTI1MDkzLDYgKzI1MDkzLDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUK
KwkJCQkJUmVsYXRpdmVQYXRoPSIuLi9Nb2R1bGVzXGluZGV4ZWRkYlxJREJIaXN0b2dyYW1zLmgi
CisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxN
b2R1bGVzXGluZGV4ZWRkYlxJREJJbmRleC5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MjUzNjI0NGQyOTAxMTI1N2FkOTc5ZTI0MTY1MzM5YTBhODE1ZTkyYi4uMWUyMmY3YTVmZWY3ZmE4
Y2ZhMTMwNmY4ZjkyZTkwMDA4NmFhOWZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQ3MSw2ICsxNDcxLDcgQEAKIAkJNEI2
RkE2RjQwQzM5RTQ4QzAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI2RkE2RjIwQzM5RTQ4QzAwMDg3MDExIC8q
IFNtYXJ0UmVwbGFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTRCNkZBNkY1MEMzOUU0OEMwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI2RkE2RjMwQzM5
RTQ4QzAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZS5jcHAgKi87IH07CiAJCTRCNkZBNkY3MEMzOUU0
QTEwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2VDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QjZGQTZGNjBDMzlFNEExMDAwODcwMTEgLyogU21hcnRS
ZXBsYWNlQ0YuY3BwICovOyB9OworCQk0QjYxNzM3Mzc5NjM2RjYxNkUyNzczNjggLyogSURCSGlz
dG9ncmFtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NEI2MTczNzM3OTYzNkY2MTZFMjc3MzY4IC8qIElEQkhpc3RvZ3JhbXMuaCAqLzsgfTsKIAkJNEI4
QUY0QUEwQjFDRTAyQjAwNjg3NjkwIC8qIENsaXBib2FyZEFjY2Vzc1BvbGljeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI4QUY0QTkwQjFDRTAyQjAw
Njg3NjkwIC8qIENsaXBib2FyZEFjY2Vzc1BvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRCQUU5NUIxMEIyRkE5Q0UwMEFFRDhBMCAvKiBF
ZGl0b3JEZWxldGVBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDRCQUU5NUIwMEIyRkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rpb24u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0RDI3
M0NGOTE2Njk0MjA4MDAyNTlDQTEgLyogSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RDI3M0NGNzE2Njk0MjA4MDAy
NTlDQTEgLyogSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHAgKi87IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185679</attachid>
            <date>2013-01-30 22:34:10 -0800</date>
            <delta_ts>2013-02-03 21:13:10 -0800</delta_ts>
            <desc>Retry cr-linux ews</desc>
            <filename>bug-107772-20130131173054.patch</filename>
            <type>text/plain</type>
            <size>11191</size>
            <attacher name="Kassy Coan">kassycoan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFjNjI0YWUxZWJkYTNl
MTNhZGQwNzM1NjcyNGVhZTI0MzBlN2I3YS4uYjMwMTE2YzZiNGEzMDJmMWYzMzQ3MTM4NjViNGQx
NjZiZTE2MjZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAxLTMwICBLYXNz
eSBDb2FuICA8a2Fzc3ljb2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGRzIHVzYWdlIGlu
c3RydW1lbnRhdGlvbiBmb3IgaW5kZXhlZERCCisgICAgICAgIEluY2x1ZGVzIG5ldyBoZWFkZXIg
ZmlsZSBpbiBwcm9qZWN0IGZpbGVzCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNzc3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEN1cnJlbnRseSB1bnRlc3RhYmxlLiBIYXMgemVybyBlZmZlY3QgYXBh
cnQgZnJvbSBoaXN0b2dyYW1taW5nLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJREJEYXRhYmFzZTo6Y3JlYXRlT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6SURCRGF0YWJhc2U6OmRlbGV0ZU9iamVjdFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklE
QkRhdGFiYXNlOjp0cmFuc2FjdGlvbik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURC
RmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0b3J5OjpvcGVuSW50ZXJuYWwp
OgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeTo6ZGVsZXRlRGF0YWJhc2UpOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkhpc3RvZ3JhbXMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToK
KyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTMtMDEtMzAgIEhheWF0byBJdG8g
IDxoYXlhdG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNwbGl0IENTU09NV3JhcHBlciBkYXRh
IGFuZCBmdW5jdGlvbnMgb3V0IGZyb20gU3R5bGVSZXNvbHZlciBpbnRvIGl0cyBvd24gY2xhc3Mu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBlZTllZmE5MjA2M2M4NWRmMDIzZTRi
OTdmMmM3NGQ3OGZlNzVmZjY2Li41MGM4NzAyNWVmOGUwMGVlNjkyOWFjNDVjYzY2MWQ4ODc1NzY1
YzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTE4NzgsNiArMTg3OCw3IEBA
IHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCRmFjdG9yeS5oIFwKKyAgICBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJIaXN0b2dyYW1zLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkluZGV4LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
SW5kZXguaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5LmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAK
aW5kZXggYTc1YzI2OWJjOTVlMzExYjUzYzUyYTMyOTBlMzVjZjBmYzg2ZTY1OS4uMmYyYTJhZDIz
ZjQyMjlhNzExOWI3OGM4ZmYzYTdhNTM2N2QyOWVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcApAQCAtMzEsMTEgKzMxLDEzIEBACiAj
aW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIkV2ZW50UXVldWUuaCIKICNpbmNs
dWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgogI2lu
Y2x1ZGUgIklEQkFueS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlQ2FsbGJhY2tzLmgiCiAjaW5j
bHVkZSAiSURCRGF0YWJhc2VFcnJvci5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlRXhjZXB0aW9u
LmgiCiAjaW5jbHVkZSAiSURCRXZlbnREaXNwYXRjaGVyLmgiCisjaW5jbHVkZSAiSURCSGlzdG9n
cmFtcy5oIgogI2luY2x1ZGUgIklEQkluZGV4LmgiCiAjaW5jbHVkZSAiSURCS2V5UGF0aC5oIgog
I2luY2x1ZGUgIklEQk9iamVjdFN0b3JlLmgiCkBAIC0xNTcsNiArMTU5LDcgQEAgUGFzc1JlZlB0
cjxJREJPYmplY3RTdG9yZT4gSURCRGF0YWJhc2U6OmNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0
cmluZyYgbmFtZSwgY28KIAogUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gSURCRGF0YWJhc2U6
OmNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgSURCS2V5UGF0aCYg
a2V5UGF0aCwgYm9vbCBhdXRvSW5jcmVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKKyAgICBI
aXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIu
RnJvbnRFbmRBUElDYWxscyIsIElEQkNyZWF0ZU9iamVjdFN0b3JlQ2FsbCwgSURCTWV0aG9kc01h
eCk7CiAgICAgaWYgKCFtX3ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbikgewogICAgICAgICBlYyA9
IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZhbGlkU3RhdGVFcnJvcjsKICAgICAgICAgcmV0dXJu
IDA7CkBAIC0xOTUsNiArMTk4LDcgQEAgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gSURCRGF0
YWJhc2U6OmNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgY28KIAogdm9pZCBJ
REJEYXRhYmFzZTo6ZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRp
b25Db2RlJiBlYykKIHsKKyAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlv
bigiV2ViQ29yZS5JbmRleGVkREIuRnJvbnRFbmRBUElDYWxscyIsIElEQkRlbGV0ZU9iamVjdFN0
b3JlQ2FsbCwgSURCTWV0aG9kc01heCk7CiAgICAgaWYgKCFtX3ZlcnNpb25DaGFuZ2VUcmFuc2Fj
dGlvbikgewogICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZhbGlkU3RhdGVF
cnJvcjsKICAgICAgICAgcmV0dXJuOwpAQCAtMjE3LDYgKzIyMSw3IEBAIHZvaWQgSURCRGF0YWJh
c2U6OmRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiAKIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IElEQkRhdGFiYXNlOjp0cmFuc2FjdGlv
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYg
c2NvcGUsIGNvbnN0IFN0cmluZyYgbW9kZVN0cmluZywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Cisg
ICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhl
ZERCLkZyb250RW5kQVBJQ2FsbHMiLCBJREJUcmFuc2FjdGlvbkNhbGwsIElEQk1ldGhvZHNNYXgp
OwogICAgIGlmICghc2NvcGUuc2l6ZSgpKSB7CiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNl
cHRpb246OkludmFsaWRBY2Nlc3NFcnJvcjsKICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCmluZGV4IDJkM2MwZDNk
MDczYjFlOTM0OTZiYWU4Y2RkOTdiYjk2ODQxNzg3MDIuLjBmNDEzYzU3Zjg1MDgzZTE4N2JiM2Nh
ODNiNjIzMzM5NTdjYzk4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkZhY3RvcnkuY3BwCkBAIC0zNSwxMSArMzUsMTMgQEAKICNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJHcm91cFNldHRpbmdzLmgi
CisjaW5jbHVkZSAiSGlzdG9ncmFtU3VwcG9ydC5oIgogI2luY2x1ZGUgIklEQkJpbmRpbmdVdGls
aXRpZXMuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNl
Q2FsbGJhY2tzSW1wbC5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlRXhjZXB0aW9uLmgiCiAjaW5j
bHVkZSAiSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuaCIKKyNpbmNsdWRlICJJREJIaXN0b2dy
YW1zLmgiCiAjaW5jbHVkZSAiSURCS2V5LmgiCiAjaW5jbHVkZSAiSURCS2V5UmFuZ2UuaCIKICNp
bmNsdWRlICJJREJPcGVuREJSZXF1ZXN0LmgiCkBAIC0xMTgsNiArMTIwLDcgQEAgUGFzc1JlZlB0
cjxJREJPcGVuREJSZXF1ZXN0PiBJREJGYWN0b3J5OjpvcGVuKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIGMKIAogUGFzc1JlZlB0cjxJREJPcGVuREJSZXF1ZXN0PiBJREJGYWN0b3J5
OjpvcGVuSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBpbnQ2NF90IHZlcnNpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQogeworICAgIEhp
c3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5G
cm9udEVuZEFQSUNhbGxzIiwgSURCT3BlbkNhbGwsIElEQk1ldGhvZHNNYXgpOwogICAgIEFTU0VS
VCh2ZXJzaW9uID49IDEgfHwgdmVyc2lvbiA9PSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0ludFZl
cnNpb24pOwogICAgIGlmIChuYW1lLmlzTnVsbCgpKSB7CiAgICAgICAgIGVjID0gVHlwZUVycm9y
OwpAQCAtMTQwLDYgKzE0Myw3IEBAIFBhc3NSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURCRmFj
dG9yeTo6b3BlbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjCiAKIFBhc3NSZWZQ
dHI8SURCT3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6ZGVsZXRlRGF0YWJhc2UoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKKyAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2Vi
Q29yZS5JbmRleGVkREIuRnJvbnRFbmRBUElDYWxscyIsIElEQkRlbGV0ZURhdGFiYXNlQ2FsbCwg
SURCTWV0aG9kc01heCk7CiAgICAgaWYgKG5hbWUuaXNOdWxsKCkpIHsKICAgICAgICAgZWMgPSBU
eXBlRXJyb3I7CiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCSGlzdG9ncmFtcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCSGlzdG9ncmFtcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1OGYwODhiZDkzYjY4YTVk
ZTVjNGQ4NTY2MGMwNDk5MWQ3YzgzMzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJIaXN0b2dyYW1zLmgKQEAgLTAsMCArMSw0NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0
ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisg
KiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgR09PR0xFIEFO
RCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIElEQkhpc3RvZ3JhbXNfaAorI2RlZmluZSBJREJIaXN0b2dyYW1zX2gKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitlbnVtIEluZGV4ZWREYXRhYmFzZU1ldGhvZHMgeworICAgIElEQkNy
ZWF0ZU9iamVjdFN0b3JlQ2FsbCwKKyAgICBJREJEZWxldGVPYmplY3RTdG9yZUNhbGwsCisgICAg
SURCVHJhbnNhY3Rpb25DYWxsLAorICAgIElEQkRlbGV0ZURhdGFiYXNlQ2FsbCwKKyAgICBJREJP
cGVuQ2FsbCwKKyAgICBJREJNZXRob2RzTWF4LAorfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CmluZGV4IGMzYjhmYzAyMGMxMjZhNjRkNjE5YTdkNzBiZWJiYzk3YmRiZGYyMWQuLmU1Njk3YWZj
OGFmNzUwOGYzYzZkYWFhZmRmNDc1MzVkZTM5MjdmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMzA1Nyw2
ICszMDU3LDcgQEAgZW5hYmxlPyhJTkRFWEVEX0RBVEFCQVNFKSB7CiAgICAgICAgIE1vZHVsZXMv
aW5kZXhlZGRiL0lEQkZhY3RvcnkuaCBcCiAgICAgICAgIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkZh
Y3RvcnlCYWNrZW5kSW50ZXJmYWNlLmggXAogICAgICAgICBNb2R1bGVzL2luZGV4ZWRkYi9JREJG
YWN0b3J5QmFja2VuZEltcGwuaCBcCisgICAgICAgIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkhpc3Rv
Z3JhbXMuaCBcCiAgICAgICAgIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmggXAogICAgICAg
ICBNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXkuaCBcCiAgICAgICAgIE1vZHVsZXMvaW5kZXhlZGRi
L0lEQktleVJhbmdlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDdlZGNhMjZmNjM0ZGExYjU0NDA0
ZTRkZWE3YzY2NjU2YTg1Mzk3NjMuLjA5YjQ0ZmIxODAyZTg4MTg4NDQ5OWU1ODExNDg3MDNjMjY3
ZDViNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTc0Miw2ICs3NDIsNyBAQAogICAgICAgICAgICAg
J01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5oJywKICAgICAgICAgICAg
ICdNb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5jcHAnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmgn
LAorICAgICAgICAgICAgJ01vZHVsZXMvaW5kZXhlZGRiL0lEQkhpc3RvZ3JhbXMuaCcsCiAgICAg
ICAgICAgICAnTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguY3BwJywKICAgICAgICAgICAgICdN
b2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL2luZGV4
ZWRkYi9JREJLZXkuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKaW5kZXggMTE3OWM5NTRjN2E0YTMxYWFjN2JiYjI4MDg4MmJhN2NmM2JlNWEyYS4u
MjQ5MzhiYjk2NjkyMmE3ZTE1ODNkN2MwODE2ZGZlZmZkYThhMzMwMCAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI1MDkzLDYgKzI1MDkzLDEw
IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIu
Li9Nb2R1bGVzXGluZGV4ZWRkYlxJREJIaXN0b2dyYW1zLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+
CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXGluZGV4ZWRkYlxJREJJ
bmRleC5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjUzNjI0NGQyOTAxMTI1N2FkOTc5
ZTI0MTY1MzM5YTBhODE1ZTkyYi4uMWUyMmY3YTVmZWY3ZmE4Y2ZhMTMwNmY4ZjkyZTkwMDA4NmFh
OWZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTQ3MSw2ICsxNDcxLDcgQEAKIAkJNEI2RkE2RjQwQzM5RTQ4QzAwMDg3MDEx
IC8qIFNtYXJ0UmVwbGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNEI2RkE2RjIwQzM5RTQ4QzAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRCNkZBNkY1MEMz
OUU0OEMwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI2RkE2RjMwQzM5RTQ4QzAwMDg3MDExIC8qIFNtYXJ0
UmVwbGFjZS5jcHAgKi87IH07CiAJCTRCNkZBNkY3MEMzOUU0QTEwMDA4NzAxMSAvKiBTbWFydFJl
cGxhY2VDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0QjZGQTZGNjBDMzlFNEExMDAwODcwMTEgLyogU21hcnRSZXBsYWNlQ0YuY3BwICovOyB9Owor
CQk0QjYxNzM3Mzc5NjM2RjYxNkUyNzczNjggLyogSURCSGlzdG9ncmFtcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI2MTczNzM3OTYzNkY2MTZFMjc3
MzY4IC8qIElEQkhpc3RvZ3JhbXMuaCAqLzsgfTsKIAkJNEI4QUY0QUEwQjFDRTAyQjAwNjg3Njkw
IC8qIENsaXBib2FyZEFjY2Vzc1BvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNEI4QUY0QTkwQjFDRTAyQjAwNjg3NjkwIC8qIENsaXBib2FyZEFj
Y2Vzc1BvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTRCQUU5NUIxMEIyRkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCQUU5NUIwMEIy
RkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0RDI3M0NGOTE2Njk0MjA4MDAyNTlDQTEg
LyogSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0RDI3M0NGNzE2Njk0MjA4MDAyNTlDQTEgLyogSW5zcGVjdG9ySW5w
dXRBZ2VudC5jcHAgKi87IH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>