<?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>110932</bug_id>
          
          <creation_ts>2013-02-26 18:30:16 -0800</creation_ts>
          <short_desc>[chromium] Implement TRACE_EVENT macros for sampling profiling</short_desc>
          <delta_ts>2013-03-08 01:49:07 -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>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>paulirish</cc>
    
    <cc>rniwa</cc>
    
    <cc>roger_fong</cc>
    
    <cc>scottmg</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>842580</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-26 18:30:16 -0800</bug_when>
    <thetext>We are implementing TRACE_EVENT macros for sampling profiling. It works in the following mechanism:

- Chromium defines global state variables for sampling profiling. (i.e. g_trace_state0, g_trace_state1, g_trace_state2 in trace_event.h)

- WebKit gets the addresses of the global state variables at the initialization step. (i.e. EventTracer::initialize())

- WebKit updates the global states by using TRACE_EVENT_SAMPLING_STATE() macros every time WebKit changes its state. (e.g. DOM attribute getters/setters/methods)

- A sampling thread running in Chrome reads the global states periodically and visualizes the profiling results into about://tracing.

In this bug, we implement (1) a WebKit API to get the addresses of the global states and (2) the TRACE_EVENT_SAMPLING_STATE() macro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842584</commentid>
    <comment_count>1</comment_count>
      <attachid>190410</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-26 18:33:59 -0800</bug_when>
    <thetext>Created attachment 190410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842585</commentid>
    <comment_count>2</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-26 18:34:47 -0800</bug_when>
    <thetext>The patch depends on the Chromium patch: https://codereview.chromium.org/12316146

Early comments are appreciated:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842616</commentid>
    <comment_count>3</comment_count>
      <attachid>190410</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2013-02-26 19:32:01 -0800</bug_when>
    <thetext>Comment on attachment 190410
Patch

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

&gt; Source/WebCore/platform/chromium/TraceEvent.h:559
&gt; +        *WebCore::traceSamplingState##threadBucket = reinterpret_cast&lt;TraceEventAPIAtomicWord&gt;(name); \

the sampling thread expects the string to be of the form &quot;category\0name&quot;. if you don&apos;t think we need a category, perhaps this macro could be changed to

  ... reinterpret_cast&lt;TraceEventAPIAtomicWord&gt;(&quot;WebKit\0&quot; name); \

?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842618</commentid>
    <comment_count>4</comment_count>
      <attachid>190421</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-26 19:35:13 -0800</bug_when>
    <thetext>Created attachment 190421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842619</commentid>
    <comment_count>5</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-26 19:35:39 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; the sampling thread expects the string to be of the form &quot;category\0name&quot;. if you don&apos;t think we need a category, perhaps this macro could be changed to
&gt; 
&gt;   ... reinterpret_cast&lt;TraceEventAPIAtomicWord&gt;(&quot;WebKit\0&quot; name); \

Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842623</commentid>
    <comment_count>6</comment_count>
      <attachid>190424</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-26 19:36:53 -0800</bug_when>
    <thetext>Created attachment 190424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843097</commentid>
    <comment_count>7</comment_count>
      <attachid>190424</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-27 08:37:31 -0800</bug_when>
    <thetext>Comment on attachment 190424
Patch

Setting r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843098</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 08:38:46 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843102</commentid>
    <comment_count>9</comment_count>
      <attachid>190424</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-27 08:42:13 -0800</bug_when>
    <thetext>Comment on attachment 190424
Patch

Attachment 190424 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/16784049</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843103</commentid>
    <comment_count>10</comment_count>
      <attachid>190424</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-02-27 08:42:18 -0800</bug_when>
    <thetext>Comment on attachment 190424
Patch

Attachment 190424 did not pass gtk-ews (gtk):
Output: http://webkit-commit-queue.appspot.com/results/16678177</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843110</commentid>
    <comment_count>11</comment_count>
      <attachid>190532</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-27 08:46:42 -0800</bug_when>
    <thetext>Created attachment 190532
fixed builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843254</commentid>
    <comment_count>12</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-27 10:51:13 -0800</bug_when>
    <thetext>nduca, scottmg: informal review please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846937</commentid>
    <comment_count>13</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2013-03-04 15:40:03 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; nduca, scottmg: informal review please?

lgtm. I like the TRACE_EVENT_SAMPLING_STATE0 style over the change I made in Chromium. We should change it there (rather than the confusing passing of an argument that must be a literal).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846943</commentid>
    <comment_count>14</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-04 15:43:20 -0800</bug_when>
    <thetext>Thanks scott!

abarth: r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847051</commentid>
    <comment_count>15</comment_count>
      <attachid>190532</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-04 17:02:14 -0800</bug_when>
    <thetext>Comment on attachment 190532
fixed builds

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

r=me, assuming you&apos;re confident in the answer to my question below.

&gt; Source/WebCore/platform/chromium/TraceEvent.h:559
&gt; +        *WebCore::traceSamplingState##threadBucket = reinterpret_cast&lt;TraceEventAPIAtomicWord&gt;(&quot;WebKit\0&quot; name); \

Is this operation really atomic?  You&apos;re using names like &quot;AtomicWord&quot; in the names of the types, but I don&apos;t know enough about the subtle threading issues to know if what you&apos;re doing here is sufficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847066</commentid>
    <comment_count>16</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-04 17:14:31 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 190532 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190532&amp;action=review
&gt; 
&gt; r=me, assuming you&apos;re confident in the answer to my question below.
&gt; 
&gt; &gt; Source/WebCore/platform/chromium/TraceEvent.h:559
&gt; &gt; +        *WebCore::traceSamplingState##threadBucket = reinterpret_cast&lt;TraceEventAPIAtomicWord&gt;(&quot;WebKit\0&quot; name); \
&gt; 
&gt; Is this operation really atomic?  You&apos;re using names like &quot;AtomicWord&quot; in the names of the types, but I don&apos;t know enough about the subtle threading issues to know if what you&apos;re doing here is sufficient.

No, I&apos;m not confident. In practice, this operation does not need to be atomic. Before talking about threading conflict, we&apos;ve not yet taken care of the issue that we cannot distinguish which main thread or worker thread called the TRACE_EVENT_SAMPLING_STATE0() macro. We are thinking it&apos;s OK for the time being because we are just interested in profiling the main thread.

Maybe can we rename TraceEventAPIAtomicWord to TraceEventAPIWord ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847076</commentid>
    <comment_count>17</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2013-03-04 17:24:44 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; (From update of attachment 190532 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190532&amp;action=review
&gt; &gt; 
&gt; &gt; r=me, assuming you&apos;re confident in the answer to my question below.
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/chromium/TraceEvent.h:559
&gt; &gt; &gt; +        *WebCore::traceSamplingState##threadBucket = reinterpret_cast&lt;TraceEventAPIAtomicWord&gt;(&quot;WebKit\0&quot; name); \
&gt; &gt; 
&gt; &gt; Is this operation really atomic?  You&apos;re using names like &quot;AtomicWord&quot; in the names of the types, but I don&apos;t know enough about the subtle threading issues to know if what you&apos;re doing here is sufficient.
&gt; 
&gt; No, I&apos;m not confident. In practice, this operation does not need to be atomic. Before talking about threading conflict, we&apos;ve not yet taken care of the issue that we cannot distinguish which main thread or worker thread called the TRACE_EVENT_SAMPLING_STATE0() macro. We are thinking it&apos;s OK for the time being because we are just interested in profiling the main thread.
&gt; 
&gt; Maybe can we rename TraceEventAPIAtomicWord to TraceEventAPIWord ?


As long as &quot;long int&quot; isn&apos;t 8 bytes on some crazy config, &quot;*p = v&quot; with 32 bit sizes is OK for this code, at least on x86 and ARM.

Perhaps we could add a static_assert that sizeof(TraceEventAPIAtomicWord) == 4, and #error if !(ARCH=x86 || ARCH=arm). I think the size is already checked by needing to match getTraceSamplingState.

(Assuming there&apos;s not some atomics primitives we could be using instead)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847080</commentid>
    <comment_count>18</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-04 17:31:42 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; As long as &quot;long int&quot; isn&apos;t 8 bytes on some crazy config, &quot;*p = v&quot; with 32 bit sizes is OK for this code, at least on x86 and ARM.
&gt; 
&gt; Perhaps we could add a static_assert that sizeof(TraceEventAPIAtomicWord) == 4, and #error if !(ARCH=x86 || ARCH=arm). I think the size is already checked by needing to match getTraceSamplingState.

Will add the assert about the size and a comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847100</commentid>
    <comment_count>19</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-04 17:44:23 -0800</bug_when>
    <thetext>Committed r144701: &lt;http://trac.webkit.org/changeset/144701&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847155</commentid>
    <comment_count>20</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2013-03-04 18:23:52 -0800</bug_when>
    <thetext>Hello, this appears to have broken all the mac builds.
Here is the error message:
Source/WebCore/platform/EventTracer.cpp:37:1: error: function &apos;initialize&apos; could be declared with attribute &apos;noreturn&apos; [-Werror,-Wmissing-noreturn]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847164</commentid>
    <comment_count>21</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-04 18:44:25 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; Hello, this appears to have broken all the mac builds.
&gt; Here is the error message:
&gt; Source/WebCore/platform/EventTracer.cpp:37:1: error: function &apos;initialize&apos; could be declared with attribute &apos;noreturn&apos; [-Werror,-Wmissing-noreturn]

Sorry, fix is coming in mins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847173</commentid>
    <comment_count>22</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-04 18:50:58 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #20)
&gt; &gt; Hello, this appears to have broken all the mac builds.
&gt; &gt; Here is the error message:
&gt; &gt; Source/WebCore/platform/EventTracer.cpp:37:1: error: function &apos;initialize&apos; could be declared with attribute &apos;noreturn&apos; [-Werror,-Wmissing-noreturn]
&gt; 
&gt; Sorry, fix is coming in mins.

Fixed in r144707.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847194</commentid>
    <comment_count>23</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-03-04 19:37:29 -0800</bug_when>
    <thetext>Mac builds are still broken.

Removing that bogus &quot;return&quot; won&apos;t fix the Mac builds.

The issue is that the assertion is always false. That&apos;s because sizeof(long int) is not 4 on 64-bit platforms.

I suggest using COMPILE_ASSERT instead of ASSERT for compile time assertions. And I suggest int rather than long int if you are looking for a type that is 4 bytes even on 64-bit platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847198</commentid>
    <comment_count>24</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-04 19:46:24 -0800</bug_when>
    <thetext>Removed the ASSERT in r144711.

Scott: sizeof(long int) is 8 bytes, so atomicity is not guaranteed. Given that we don&apos;t care about atomicity, maybe shall we rename TraceEventAPIAtomicWord to TraceEventAPIWord ?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190410</attachid>
            <date>2013-02-26 18:33:59 -0800</date>
            <delta_ts>2013-02-26 19:35:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110932-20130226183013.patch</filename>
            <type>text/plain</type>
            <size>12486</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBmYTVlMzBjNDc4NTcy
MjY5N2I2YjRiZTkxMjEyZTBiNGE4MWFiODJmLi4xNGM1YzgwMTNmOGE5ODk0YjQ4ZjRkNTA4ODM3
YTk2Yjk0YjE1OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMy0wMi0yNiAg
S2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVt
XSBJbXBsZW1lbnQgVFJBQ0VfRVZFTlQgbWFjcm9zIGZvciBzYW1wbGluZyBwcm9maWxpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDkzMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGFyZSBpbXBs
ZW1lbnRpbmcgVFJBQ0VfRVZFTlQgbWFjcm9zIGZvciBzYW1wbGluZyBwcm9maWxpbmcuCisgICAg
ICAgIEl0IHdvcmtzIGluIHRoZSBmb2xsb3dpbmcgbWVjaGFuaXNtOgorCisgICAgICAgIC0gQ2hy
b21pdW0gZGVmaW5lcyBnbG9iYWwgc3RhdGUgdmFyaWFibGVzIGZvciBzYW1wbGluZyBwcm9maWxp
bmcuCisgICAgICAgIChpLmUuIGdfdHJhY2Vfc3RhdGUwLCBnX3RyYWNlX3N0YXRlMSwgZ190cmFj
ZV9zdGF0ZTIgaW4gdHJhY2VfZXZlbnQuaCkKKworICAgICAgICAtIFdlYktpdCBnZXRzIHRoZSBh
ZGRyZXNzZXMgb2YgdGhlIGdsb2JhbCBzdGF0ZSB2YXJpYWJsZXMgYXQgdGhlCisgICAgICAgIGlu
aXRpYWxpemF0aW9uIHN0ZXAuIChpLmUuIEV2ZW50VHJhY2VyOjppbml0aWFsaXplKCkpCisKKyAg
ICAgICAgLSBXZWJLaXQgdXBkYXRlcyB0aGUgZ2xvYmFsIHN0YXRlcyBieSB1c2luZyBUUkFDRV9F
VkVOVF9TQU1QTElOR19TVEFURSgpCisgICAgICAgIG1hY3JvcyBldmVyeSB0aW1lIFdlYktpdCBj
aGFuZ2VzIGl0cyBzdGF0ZS4gKGUuZy4gRE9NIGF0dHJpYnV0ZQorICAgICAgICBnZXR0ZXJzL3Nl
dHRlcnMvbWV0aG9kcykKKworICAgICAgICAtIEEgc2FtcGxpbmcgdGhyZWFkIHJ1bm5pbmcgaW4g
Q2hyb21lIHJlYWRzIHRoZSBnbG9iYWwgc3RhdGVzCisgICAgICAgIHBlcmlvZGljYWxseSBhbmQg
dmlzdWFsaXplcyB0aGUgcHJvZmlsaW5nIHJlc3VsdHMgaW50byBhYm91dDovL3RyYWNpbmcuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1lbnRzICgxKSBhIFdlYktpdCBBUEkgdG8gZ2V0IHRo
ZSBhZGRyZXNzZXMgb2YKKyAgICAgICAgdGhlIGdsb2JhbCBzdGF0ZXMgYW5kICgyKSB0aGUgVFJB
Q0VfRVZFTlRfU0FNUExJTkdfU1RBVEUoKSBtYWNyby4KKworICAgICAgICAqIGNocm9taXVtL3B1
YmxpYy9QbGF0Zm9ybS5oOgorICAgICAgICAoUGxhdGZvcm0pOgorICAgICAgICAoV2ViS2l0OjpQ
bGF0Zm9ybTo6Z2V0VHJhY2VTYW1wbGluZ1N0YXRlKToKKwogMjAxMy0wMi0yMiAgQWxpIEp1bWEg
IDxhanVtYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZWdpc3RlciBuZXds
eS1jcmVhdGVkIGxheWVycyBmb3IgYW5pbWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmNTBlMjFlNjdl
MGNiZDg5ODVlYjI3OTUyYzhkNWY4ZTUxYWIyZi4uZmY4YWI2MDA1M2VkYmY1MDNiMjkwMTg4ZWY1
NjVlN2VlYTkzOTE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEzLTAyLTI2ICBL
ZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1d
IEltcGxlbWVudCBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBsaW5nIHByb2ZpbGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTMyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYXJlIGltcGxl
bWVudGluZyBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBsaW5nIHByb2ZpbGluZy4KKyAgICAg
ICAgSXQgd29ya3MgaW4gdGhlIGZvbGxvd2luZyBtZWNoYW5pc206CisKKyAgICAgICAgLSBDaHJv
bWl1bSBkZWZpbmVzIGdsb2JhbCBzdGF0ZSB2YXJpYWJsZXMgZm9yIHNhbXBsaW5nIHByb2ZpbGlu
Zy4KKyAgICAgICAgKGkuZS4gZ190cmFjZV9zdGF0ZTAsIGdfdHJhY2Vfc3RhdGUxLCBnX3RyYWNl
X3N0YXRlMiBpbiB0cmFjZV9ldmVudC5oKQorCisgICAgICAgIC0gV2ViS2l0IGdldHMgdGhlIGFk
ZHJlc3NlcyBvZiB0aGUgZ2xvYmFsIHN0YXRlIHZhcmlhYmxlcyBhdCB0aGUKKyAgICAgICAgaW5p
dGlhbGl6YXRpb24gc3RlcC4gKGkuZS4gRXZlbnRUcmFjZXI6OmluaXRpYWxpemUoKSkKKworICAg
ICAgICAtIFdlYktpdCB1cGRhdGVzIHRoZSBnbG9iYWwgc3RhdGVzIGJ5IHVzaW5nIFRSQUNFX0VW
RU5UX1NBTVBMSU5HX1NUQVRFKCkKKyAgICAgICAgbWFjcm9zIGV2ZXJ5IHRpbWUgV2ViS2l0IGNo
YW5nZXMgaXRzIHN0YXRlLiAoZS5nLiBET00gYXR0cmlidXRlCisgICAgICAgIGdldHRlcnMvc2V0
dGVycy9tZXRob2RzKQorCisgICAgICAgIC0gQSBzYW1wbGluZyB0aHJlYWQgcnVubmluZyBpbiBD
aHJvbWUgcmVhZHMgdGhlIGdsb2JhbCBzdGF0ZXMKKyAgICAgICAgcGVyaW9kaWNhbGx5IGFuZCB2
aXN1YWxpemVzIHRoZSBwcm9maWxpbmcgcmVzdWx0cyBpbnRvIGFib3V0Oi8vdHJhY2luZy4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgKDEpIGEgV2ViS2l0IEFQSSB0byBnZXQgdGhl
IGFkZHJlc3NlcyBvZgorICAgICAgICB0aGUgZ2xvYmFsIHN0YXRlcyBhbmQgKDIpIHRoZSBUUkFD
RV9FVkVOVF9TQU1QTElOR19TVEFURSgpIG1hY3JvLgorCisgICAgICAgIE5vIHRlc3RzLiBUaGUg
c2FtcGxpbmcgcHJvZmlsZXIgaXMgbm90IGVuYWJsZWQgaW4gQ2hyb21lIGJ5IGRlZmF1bHQuCisg
ICAgICAgIEkgbWFudWFsbHkgaW5zZXJ0ZWQgVFJBQ0VfRVZFTlRfU0FNUExJTkdfU1RBVEUoKSBt
YWNyb3MgYW5kCisgICAgICAgIGNvbmZpcm1lZCB0aGF0IHRoZSBzYW1wbGluZyBwcm9maWxpbmcg
aXMgd29ya2luZyBhcyBleHBlY3RlZC4KKworICAgICAgICAqIHBsYXRmb3JtL0V2ZW50VHJhY2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VHJhY2VyOjppbml0aWFsaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50VHJhY2VyOjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vRXZlbnRUcmFjZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRXZlbnRUcmFjZXIpOgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL0V2ZW50VHJhY2VyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRyYWNlcjo6aW5pdGlhbGl6ZSk6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oOgorCiAyMDEzLTAyLTI1ICBLZW50YXJvIEhh
cmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZp
eCBhZnRlciByMTQzOTY1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAzM2FjYTY1YTk2
MTU4NzhjNWMyM2FhNzM2OGZhMzY1MWY3NjhhNDlkLi5lZjhlNjdkOGI0NTFhNjU0MmIzNDYwZmFl
ODZkNTE1YzE3Yzg5M2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMy
IEBACisyMDEzLTAyLTI2ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbY2hyb21pdW1dIEltcGxlbWVudCBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBs
aW5nIHByb2ZpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEwOTMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2UgYXJlIGltcGxlbWVudGluZyBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBsaW5n
IHByb2ZpbGluZy4KKyAgICAgICAgSXQgd29ya3MgaW4gdGhlIGZvbGxvd2luZyBtZWNoYW5pc206
CisKKyAgICAgICAgLSBDaHJvbWl1bSBkZWZpbmVzIGdsb2JhbCBzdGF0ZSB2YXJpYWJsZXMgZm9y
IHNhbXBsaW5nIHByb2ZpbGluZy4KKyAgICAgICAgKGkuZS4gZ190cmFjZV9zdGF0ZTAsIGdfdHJh
Y2Vfc3RhdGUxLCBnX3RyYWNlX3N0YXRlMiBpbiB0cmFjZV9ldmVudC5oKQorCisgICAgICAgIC0g
V2ViS2l0IGdldHMgdGhlIGFkZHJlc3NlcyBvZiB0aGUgZ2xvYmFsIHN0YXRlIHZhcmlhYmxlcyBh
dCB0aGUKKyAgICAgICAgaW5pdGlhbGl6YXRpb24gc3RlcC4gKGkuZS4gRXZlbnRUcmFjZXI6Omlu
aXRpYWxpemUoKSkKKworICAgICAgICAtIFdlYktpdCB1cGRhdGVzIHRoZSBnbG9iYWwgc3RhdGVz
IGJ5IHVzaW5nIFRSQUNFX0VWRU5UX1NBTVBMSU5HX1NUQVRFKCkKKyAgICAgICAgbWFjcm9zIGV2
ZXJ5IHRpbWUgV2ViS2l0IGNoYW5nZXMgaXRzIHN0YXRlLiAoZS5nLiBET00gYXR0cmlidXRlCisg
ICAgICAgIGdldHRlcnMvc2V0dGVycy9tZXRob2RzKQorCisgICAgICAgIC0gQSBzYW1wbGluZyB0
aHJlYWQgcnVubmluZyBpbiBDaHJvbWUgcmVhZHMgdGhlIGdsb2JhbCBzdGF0ZXMKKyAgICAgICAg
cGVyaW9kaWNhbGx5IGFuZCB2aXN1YWxpemVzIHRoZSBwcm9maWxpbmcgcmVzdWx0cyBpbnRvIGFi
b3V0Oi8vdHJhY2luZy4KKworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgKDEpIGEgV2Vi
S2l0IEFQSSB0byBnZXQgdGhlIGFkZHJlc3NlcyBvZgorICAgICAgICB0aGUgZ2xvYmFsIHN0YXRl
cyBhbmQgKDIpIHRoZSBUUkFDRV9FVkVOVF9TQU1QTElOR19TVEFURSgpIG1hY3JvLgorCisgICAg
ICAgICogc3JjL1dlYktpdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVXaXRob3V0
VjgpOgorCiAyMDEzLTAyLTI1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWls
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQzOTM2LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oIGIvU291cmNl
L1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oCmluZGV4IGVlMTgwY2IwZjZjODMx
ZGQ4MzE3ODIzNDAzYTk5YTNhNmRkMmY3MjYuLjVmMTcxNzlkZGFkNmY2YTIwYjQyZGY0NzA5Yjk5
ODYwZjZhZWEyNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
UGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRmb3Jt
LmgKQEAgLTM4MCw2ICszODAsMTQgQEAgcHVibGljOgogICAgIC8vIGFkZFRyYWNlRXZlbnQgaXMg
ZXhwZWN0ZWQgdG8gYmUgY2FsbGVkIGJ5IHRoZSB0cmFjZSBldmVudCBtYWNyb3MuCiAgICAgdmly
dHVhbCBjb25zdCB1bnNpZ25lZCBjaGFyKiBnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29u
c3QgY2hhciogY2F0ZWdvcnlOYW1lKSB7IHJldHVybiAwOyB9CiAKKyAgICB0eXBlZGVmIGxvbmcg
aW50IFRyYWNlRXZlbnRBUElBdG9taWNXb3JkOworCisgICAgLy8gR2V0IGEgcG9pbnRlciB0byBh
IGdsb2JhbCBzdGF0ZSBvZiB0aGUgZ2l2ZW4gdGhyZWFkLiBBbiBlbWJlZGRlciBpcworICAgIC8v
IGV4cGVjdGVkIHRvIHVwZGF0ZSB0aGUgZ2xvYmFsIHN0YXRlIGFzIHRoZSBzdGF0ZSBvZiB0aGUg
ZW1iZWRkZXIgY2hhbmdlcy4KKyAgICAvLyBBIHNhbXBsaW5nIHRocmVhZCBpbiB0aGUgQ2hyb21p
dW0gc2lkZSByZWFkcyB0aGUgZ2xvYmFsIHN0YXRlIHBlcmlvZGljYWxseQorICAgIC8vIGFuZCBy
ZWZsZWN0cyB0aGUgc2FtcGxpbmcgcHJvZmlsZWQgcmVzdWx0cyBpbnRvIGFib3V0OnRyYWNpbmcu
CisgICAgdmlydHVhbCBUcmFjZUV2ZW50QVBJQXRvbWljV29yZCogZ2V0VHJhY2VTYW1wbGluZ1N0
YXRlKGNvbnN0IHVuc2lnbmVkIGJ1Y2tldE5hbWUpIHsgcmV0dXJuIDA7IH0KKwogICAgIC8vIEFk
ZCBhIHRyYWNlIGV2ZW50IHRvIHRoZSBwbGF0Zm9ybSB0cmFjaW5nIHN5c3RlbS4gRGVwZW5kaW5n
IG9uIHRoZSBhY3R1YWwKICAgICAvLyBlbmFibGVkIHN0YXRlLCB0aGlzIGV2ZW50IG1heSBiZSBy
ZWNvcmRlZCBvciBkcm9wcGVkLiAKICAgICAvLyAtIHBoYXNlIHNwZWNpZmllcyB0aGUgdHlwZSBv
ZiBldmVudDoKQEAgLTQ0NCw3ICs0NTIsNiBAQCBwdWJsaWM6CiAgICAgLy8gRW51bWVyYXRpb24g
aGlzdG9ncmFtIGJ1Y2tldHMgYXJlIGxpbmVhciwgYm91bmRhcnlWYWx1ZSBzaG91bGQgYmUgbGFy
Z2VyIHRoYW4gYW55IHBvc3NpYmxlIHNhbXBsZSB2YWx1ZS4KICAgICB2aXJ0dWFsIHZvaWQgaGlz
dG9ncmFtRW51bWVyYXRpb24oY29uc3QgY2hhciogbmFtZSwgaW50IHNhbXBsZSwgaW50IGJvdW5k
YXJ5VmFsdWUpIHsgfQogCi0KICAgICAvLyBHUFUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIC8vCiAgICAgLy8gTWF5
IHJldHVybiBudWxsIGlmIEdQVSBpcyBub3Qgc3VwcG9ydGVkLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRUcmFjZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vRXZlbnRUcmFjZXIuY3BwCmluZGV4IDg1ODAzNjNjZGYxNGZlNjFmZjIxMGYxYjM2OTBlNmNh
YzdlZDE5Y2EuLjA2NjExOTEzOWJhNTAzMmU5NGEzY2ZhMzZjNmQ2OTJhZWU0NGNiMWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50VHJhY2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudFRyYWNlci5jcHAKQEAgLTMzLDExICszMywxNiBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IHVuc2lnbmVkIGNoYXIqIEV2ZW50VHJhY2Vy
OjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3QgY2hhciopCit2b2lkIEV2ZW50VHJh
Y2VyOjppbml0aWFsaXplKCkKIHsKICAgICByZXR1cm4gMDsKIH0KICAgICAKK2NvbnN0IHVuc2ln
bmVkIGNoYXIqIEV2ZW50VHJhY2VyOjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3Qg
Y2hhciopCit7CisgICAgcmV0dXJuIDA7Cit9CisKIHZvaWQgRXZlbnRUcmFjZXI6OmFkZFRyYWNl
RXZlbnQoY2hhciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
bnNpZ25lZCBjaGFyKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBjaGFyKiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50VHJhY2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudFRyYWNlci5oCmluZGV4IDczOWMyYjA4
YTgyMGRhNTUyZWRjZWVmYWQ0NWI1ZDYyMWZlODgwODYuLjgzNmUyZTllNDE1MTk2MzVmY2VjOTVm
NDI2NzI5ZDQ2NTMzNzM3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2
ZW50VHJhY2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRUcmFjZXIuaApA
QCAtMzMsOCArMzMsMTUgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCit0eXBlZGVmIGxvbmcg
aW50IFRyYWNlRXZlbnRBUElBdG9taWNXb3JkOworCitleHRlcm4gVHJhY2VFdmVudEFQSUF0b21p
Y1dvcmQqIHRyYWNlU2FtcGxpbmdTdGF0ZTA7CitleHRlcm4gVHJhY2VFdmVudEFQSUF0b21pY1dv
cmQqIHRyYWNlU2FtcGxpbmdTdGF0ZTE7CitleHRlcm4gVHJhY2VFdmVudEFQSUF0b21pY1dvcmQq
IHRyYWNlU2FtcGxpbmdTdGF0ZTI7CisKIGNsYXNzIEV2ZW50VHJhY2VyIHsKIHB1YmxpYzoKKyAg
ICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIqIGdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjb25zdCBjaGFyKik7CiAgICAgc3RhdGlj
IHZvaWQgYWRkVHJhY2VFdmVudChjaGFyIHBoYXNlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBjYXRlZ29yeUVuYWJsZWRGbGFnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRXZlbnRUcmFjZXJDaHJvbWl1bS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9FdmVudFRyYWNlckNocm9taXVt
LmNwcAppbmRleCBjOWMwYjQ3MDI1MzY5Yzc2YzFhM2ZiZjE3ZjRmOTlmOTU4MTZmNTUwLi41OGNj
ZGY4YzZlYTg4NGM1NDk0MWUzZDVmM2Y3NzZlOGQwNDljODU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9FdmVudFRyYWNlckNocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9FdmVudFRyYWNlckNocm9taXVtLmNwcApA
QCAtMzUsNiArMzUsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitUcmFjZUV2ZW50QVBJ
QXRvbWljV29yZCogdHJhY2VTYW1wbGluZ1N0YXRlMDsKK1RyYWNlRXZlbnRBUElBdG9taWNXb3Jk
KiB0cmFjZVNhbXBsaW5nU3RhdGUxOworVHJhY2VFdmVudEFQSUF0b21pY1dvcmQqIHRyYWNlU2Ft
cGxpbmdTdGF0ZTI7CisKK3ZvaWQgRXZlbnRUcmFjZXI6OmluaXRpYWxpemUoKQoreworICAgIHRy
YWNlU2FtcGxpbmdTdGF0ZTAgPSBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmdldFRyYWNl
U2FtcGxpbmdTdGF0ZSgwKTsKKyAgICB0cmFjZVNhbXBsaW5nU3RhdGUxID0gV2ViS2l0OjpQbGF0
Zm9ybTo6Y3VycmVudCgpLT5nZXRUcmFjZVNhbXBsaW5nU3RhdGUoMSk7CisgICAgdHJhY2VTYW1w
bGluZ1N0YXRlMiA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+Z2V0VHJhY2VTYW1wbGlu
Z1N0YXRlKDIpOworfQorICAgIAogY29uc3QgdW5zaWduZWQgY2hhciogRXZlbnRUcmFjZXI6Omdl
dFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjb25zdCBjaGFyKiBjYXRlZ29yeU5hbWUpCiB7CiAg
ICAgcmV0dXJuIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+Z2V0VHJhY2VDYXRlZ29yeUVu
YWJsZWRGbGFnKGNhdGVnb3J5TmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9UcmFjZUV2ZW50LmgKaW5kZXggMDU1MjMxZTMyZTA1MzhmNjQxOWMxNmRiMmIwMTQwNjlm
NWI4NTQ3MS4uYTJkMTRjMmJlMmNiOGNlOWUwM2JiOTJjZDg4ZmE1ODE0OTQ3Y2Y2NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1RyYWNlRXZlbnQuaApAQCAtNDI3LDYg
KzQyNywxNiBAQAogICAgICAgICBjYXRlZ29yeSwgbmFtZSwgaWQsIFRSQUNFX0VWRU5UX0ZMQUdf
Q09QWSwgXAogICAgICAgICBhcmcxX25hbWUsIGFyZzFfdmFsLCBhcmcyX25hbWUsIGFyZzJfdmFs
KQogCisvLyBVcGRhdGVzIGEgZ2xvYmFsIHN0YXRlIHdpdGggJ25hbWUnLiBUaGUgc2FtcGxpbmcg
dGhyZWFkIHdpbGwgcmVhZAorLy8gdGhlIHZhbHVlIHBlcmlvZGljYWxseS4gU1RBVEUwIGlzIGZv
ciB0aGUgbWFpbiB0aHJlYWQuCisvLyBTVEFURTEgYW5kIFNUQVRFMiB3aWxsIGJlIHByZXNlcnZl
ZCBmb3Igb3RoZXIgdGhyZWFkcy4KKyNkZWZpbmUgVFJBQ0VfRVZFTlRfU0FNUExJTkdfU1RBVEUw
KG5hbWUpIFwKKyAgICBJTlRFUk5BTF9UUkFDRV9FVkVOVF9TQU1QTElOR19TVEFURShuYW1lLCAw
KQorI2RlZmluZSBUUkFDRV9FVkVOVF9TQU1QTElOR19TVEFURTEobmFtZSkgXAorICAgIElOVEVS
TkFMX1RSQUNFX0VWRU5UX1NBTVBMSU5HX1NUQVRFKG5hbWUsIDEpCisjZGVmaW5lIFRSQUNFX0VW
RU5UX1NBTVBMSU5HX1NUQVRFMihuYW1lKSBcCisgICAgSU5URVJOQUxfVFJBQ0VfRVZFTlRfU0FN
UExJTkdfU1RBVEUobmFtZSwgMikKKwogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIC8vIEltcGxl
bWVudGF0aW9uIHNwZWNpZmljIHRyYWNpbmcgQVBJIGRlZmluaXRpb25zLgogCkBAIC01MzcsNiAr
NTQ3LDE5IEBACiAgICAgfSB3aGlsZSAoMCkKICNlbmRpZgogCisvLyBJbXBsZW1lbnRhdGlvbiBk
ZXRhaWw6IGludGVybmFsIG1hY3JvIHRvIHVwZGF0ZSBhIGdsb2JhbCBzdGF0ZSBmb3IKKy8vIHRo
ZSBzYW1wbGluZyBwcm9maWxlci4KKy8vIEZJWE1FOiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlv
biB1c2VzIG9ubHkgb25lIGdsb2JhbCB2YXJpYWJsZSwKKy8vIGFuZCB0aHVzIGNhbm5vdCB0cmFj
ZSBzdGF0ZXMgb2YgbXVsdGlwbGUgdGhyZWFkcy4KKyNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dF
UikKKyNkZWZpbmUgSU5URVJOQUxfVFJBQ0VfRVZFTlRfU0FNUExJTkdfU1RBVEUoaWdub3JlKSAo
KHZvaWQpMCkKKyNlbHNlCisjZGVmaW5lIElOVEVSTkFMX1RSQUNFX0VWRU5UX1NBTVBMSU5HX1NU
QVRFKG5hbWUsIHRocmVhZEJ1Y2tldCkgXAorICAgIGRvIHsgXAorICAgICAgICAqV2ViQ29yZTo6
dHJhY2VTYW1wbGluZ1N0YXRlIyN0aHJlYWRCdWNrZXQgPSByZWludGVycHJldF9jYXN0PFRyYWNl
RXZlbnRBUElBdG9taWNXb3JkPihuYW1lKTsgXAorICAgIH0gd2hpbGUgKDApOworI2VuZGlmCisK
IC8vIE5vdGVzIHJlZ2FyZGluZyB0aGUgZm9sbG93aW5nIGRlZmluaXRpb25zOgogLy8gTmV3IHZh
bHVlcyBjYW4gYmUgYWRkZWQgYW5kIHByb3BhZ2F0ZWQgdG8gdGhpcmQgcGFydHkgbGlicmFyaWVz
LCBidXQgZXhpc3RpbmcKIC8vIGRlZmluaXRpb25zIG11c3QgbmV2ZXIgYmUgY2hhbmdlZCwgYmVj
YXVzZSB0aGlyZCBwYXJ0eSBsaWJyYXJpZXMgbWF5IHVzZSBvbGQKQEAgLTU1MSw2ICs1NzQsNyBA
QAogI2RlZmluZSBUUkFDRV9FVkVOVF9QSEFTRV9BU1lOQ19FTkQgICAoJ0YnKQogI2RlZmluZSBU
UkFDRV9FVkVOVF9QSEFTRV9NRVRBREFUQSAoJ00nKQogI2RlZmluZSBUUkFDRV9FVkVOVF9QSEFT
RV9DT1VOVEVSICAoJ0MnKQorI2RlZmluZSBUUkFDRV9FVkVOVF9QSEFTRV9TQU1QTEUgICgnUCcp
CiAKIC8vIEZsYWdzIGZvciBjaGFuZ2luZyB0aGUgYmVoYXZpb3Igb2YgVFJBQ0VfRVZFTlRfQVBJ
X0FERF9UUkFDRV9FVkVOVC4KICNkZWZpbmUgVFJBQ0VfRVZFTlRfRkxBR19OT05FICAgICAgICAo
c3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oMCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJLaXQuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
S2l0LmNwcAppbmRleCBmYTU2NmMxNjVjOTVhMzU4OTAzNjQ1MzgxNTA5OWFhNTM2NGE4MzUwLi41
YTUyZWY2ZTlkNDFiNGRkMTJlMTE0Nzc5Nzg2ZDM0NDYwMDFhNTg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJLaXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYktpdC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJXZWJLaXQuaCIKIAorI2luY2x1ZGUgIkV2ZW50VHJhY2VyLmgiCiAjaW5j
bHVkZSAiSW1hZ2VEZWNvZGluZ1N0b3JlLmgiCiAjaW5jbHVkZSAiTGF5b3V0VGVzdFN1cHBvcnQu
aCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC03MCw2ICs3MSwxMCBAQAogI2luY2x1ZGUgIldl
YlN5c3RlbUludGVyZmFjZS5oIgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNp
bmNsdWRlICJUcmFjZUV2ZW50LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIG5h
bWVzcGFjZSB7CkBAIC0xNTYsNiArMTYxLDEwIEBAIHZvaWQgaW5pdGlhbGl6ZVdpdGhvdXRWOChQ
bGF0Zm9ybSogd2ViS2l0UGxhdGZvcm1TdXBwb3J0KQogICAgIC8vIHRoaXMsIGluaXRpYWxpemlu
ZyB0aGlzIGxhemlseSBwcm9iYWJseSBkb2Vzbid0IGJ1eSB1cyBtdWNoLgogICAgIFdlYkNvcmU6
OlVURjhFbmNvZGluZygpOwogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisgICAgV2ViQ29yZTo6
RXZlbnRUcmFjZXI6OmluaXRpYWxpemUoKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCiAgICAgV2ViQ29yZTo6c2V0SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2VDcmVh
dGVGdW5jdGlvbihXZWJLaXQ6OklEQkZhY3RvcnlCYWNrZW5kUHJveHk6OmNyZWF0ZSk7CiAjZW5k
aWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190421</attachid>
            <date>2013-02-26 19:35:13 -0800</date>
            <delta_ts>2013-02-26 19:36:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110932-20130226193127.patch</filename>
            <type>text/plain</type>
            <size>12497</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBmYTVlMzBjNDc4NTcy
MjY5N2I2YjRiZTkxMjEyZTBiNGE4MWFiODJmLi4xNGM1YzgwMTNmOGE5ODk0YjQ4ZjRkNTA4ODM3
YTk2Yjk0YjE1OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMy0wMi0yNiAg
S2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVt
XSBJbXBsZW1lbnQgVFJBQ0VfRVZFTlQgbWFjcm9zIGZvciBzYW1wbGluZyBwcm9maWxpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDkzMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGFyZSBpbXBs
ZW1lbnRpbmcgVFJBQ0VfRVZFTlQgbWFjcm9zIGZvciBzYW1wbGluZyBwcm9maWxpbmcuCisgICAg
ICAgIEl0IHdvcmtzIGluIHRoZSBmb2xsb3dpbmcgbWVjaGFuaXNtOgorCisgICAgICAgIC0gQ2hy
b21pdW0gZGVmaW5lcyBnbG9iYWwgc3RhdGUgdmFyaWFibGVzIGZvciBzYW1wbGluZyBwcm9maWxp
bmcuCisgICAgICAgIChpLmUuIGdfdHJhY2Vfc3RhdGUwLCBnX3RyYWNlX3N0YXRlMSwgZ190cmFj
ZV9zdGF0ZTIgaW4gdHJhY2VfZXZlbnQuaCkKKworICAgICAgICAtIFdlYktpdCBnZXRzIHRoZSBh
ZGRyZXNzZXMgb2YgdGhlIGdsb2JhbCBzdGF0ZSB2YXJpYWJsZXMgYXQgdGhlCisgICAgICAgIGlu
aXRpYWxpemF0aW9uIHN0ZXAuIChpLmUuIEV2ZW50VHJhY2VyOjppbml0aWFsaXplKCkpCisKKyAg
ICAgICAgLSBXZWJLaXQgdXBkYXRlcyB0aGUgZ2xvYmFsIHN0YXRlcyBieSB1c2luZyBUUkFDRV9F
VkVOVF9TQU1QTElOR19TVEFURSgpCisgICAgICAgIG1hY3JvcyBldmVyeSB0aW1lIFdlYktpdCBj
aGFuZ2VzIGl0cyBzdGF0ZS4gKGUuZy4gRE9NIGF0dHJpYnV0ZQorICAgICAgICBnZXR0ZXJzL3Nl
dHRlcnMvbWV0aG9kcykKKworICAgICAgICAtIEEgc2FtcGxpbmcgdGhyZWFkIHJ1bm5pbmcgaW4g
Q2hyb21lIHJlYWRzIHRoZSBnbG9iYWwgc3RhdGVzCisgICAgICAgIHBlcmlvZGljYWxseSBhbmQg
dmlzdWFsaXplcyB0aGUgcHJvZmlsaW5nIHJlc3VsdHMgaW50byBhYm91dDovL3RyYWNpbmcuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1lbnRzICgxKSBhIFdlYktpdCBBUEkgdG8gZ2V0IHRo
ZSBhZGRyZXNzZXMgb2YKKyAgICAgICAgdGhlIGdsb2JhbCBzdGF0ZXMgYW5kICgyKSB0aGUgVFJB
Q0VfRVZFTlRfU0FNUExJTkdfU1RBVEUoKSBtYWNyby4KKworICAgICAgICAqIGNocm9taXVtL3B1
YmxpYy9QbGF0Zm9ybS5oOgorICAgICAgICAoUGxhdGZvcm0pOgorICAgICAgICAoV2ViS2l0OjpQ
bGF0Zm9ybTo6Z2V0VHJhY2VTYW1wbGluZ1N0YXRlKToKKwogMjAxMy0wMi0yMiAgQWxpIEp1bWEg
IDxhanVtYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZWdpc3RlciBuZXds
eS1jcmVhdGVkIGxheWVycyBmb3IgYW5pbWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmNTBlMjFlNjdl
MGNiZDg5ODVlYjI3OTUyYzhkNWY4ZTUxYWIyZi4uZmY4YWI2MDA1M2VkYmY1MDNiMjkwMTg4ZWY1
NjVlN2VlYTkzOTE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEzLTAyLTI2ICBL
ZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1d
IEltcGxlbWVudCBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBsaW5nIHByb2ZpbGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTMyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYXJlIGltcGxl
bWVudGluZyBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBsaW5nIHByb2ZpbGluZy4KKyAgICAg
ICAgSXQgd29ya3MgaW4gdGhlIGZvbGxvd2luZyBtZWNoYW5pc206CisKKyAgICAgICAgLSBDaHJv
bWl1bSBkZWZpbmVzIGdsb2JhbCBzdGF0ZSB2YXJpYWJsZXMgZm9yIHNhbXBsaW5nIHByb2ZpbGlu
Zy4KKyAgICAgICAgKGkuZS4gZ190cmFjZV9zdGF0ZTAsIGdfdHJhY2Vfc3RhdGUxLCBnX3RyYWNl
X3N0YXRlMiBpbiB0cmFjZV9ldmVudC5oKQorCisgICAgICAgIC0gV2ViS2l0IGdldHMgdGhlIGFk
ZHJlc3NlcyBvZiB0aGUgZ2xvYmFsIHN0YXRlIHZhcmlhYmxlcyBhdCB0aGUKKyAgICAgICAgaW5p
dGlhbGl6YXRpb24gc3RlcC4gKGkuZS4gRXZlbnRUcmFjZXI6OmluaXRpYWxpemUoKSkKKworICAg
ICAgICAtIFdlYktpdCB1cGRhdGVzIHRoZSBnbG9iYWwgc3RhdGVzIGJ5IHVzaW5nIFRSQUNFX0VW
RU5UX1NBTVBMSU5HX1NUQVRFKCkKKyAgICAgICAgbWFjcm9zIGV2ZXJ5IHRpbWUgV2ViS2l0IGNo
YW5nZXMgaXRzIHN0YXRlLiAoZS5nLiBET00gYXR0cmlidXRlCisgICAgICAgIGdldHRlcnMvc2V0
dGVycy9tZXRob2RzKQorCisgICAgICAgIC0gQSBzYW1wbGluZyB0aHJlYWQgcnVubmluZyBpbiBD
aHJvbWUgcmVhZHMgdGhlIGdsb2JhbCBzdGF0ZXMKKyAgICAgICAgcGVyaW9kaWNhbGx5IGFuZCB2
aXN1YWxpemVzIHRoZSBwcm9maWxpbmcgcmVzdWx0cyBpbnRvIGFib3V0Oi8vdHJhY2luZy4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgKDEpIGEgV2ViS2l0IEFQSSB0byBnZXQgdGhl
IGFkZHJlc3NlcyBvZgorICAgICAgICB0aGUgZ2xvYmFsIHN0YXRlcyBhbmQgKDIpIHRoZSBUUkFD
RV9FVkVOVF9TQU1QTElOR19TVEFURSgpIG1hY3JvLgorCisgICAgICAgIE5vIHRlc3RzLiBUaGUg
c2FtcGxpbmcgcHJvZmlsZXIgaXMgbm90IGVuYWJsZWQgaW4gQ2hyb21lIGJ5IGRlZmF1bHQuCisg
ICAgICAgIEkgbWFudWFsbHkgaW5zZXJ0ZWQgVFJBQ0VfRVZFTlRfU0FNUExJTkdfU1RBVEUoKSBt
YWNyb3MgYW5kCisgICAgICAgIGNvbmZpcm1lZCB0aGF0IHRoZSBzYW1wbGluZyBwcm9maWxpbmcg
aXMgd29ya2luZyBhcyBleHBlY3RlZC4KKworICAgICAgICAqIHBsYXRmb3JtL0V2ZW50VHJhY2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VHJhY2VyOjppbml0aWFsaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50VHJhY2VyOjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vRXZlbnRUcmFjZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRXZlbnRUcmFjZXIpOgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL0V2ZW50VHJhY2VyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRyYWNlcjo6aW5pdGlhbGl6ZSk6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oOgorCiAyMDEzLTAyLTI1ICBLZW50YXJvIEhh
cmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZp
eCBhZnRlciByMTQzOTY1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAzM2FjYTY1YTk2
MTU4NzhjNWMyM2FhNzM2OGZhMzY1MWY3NjhhNDlkLi5lZjhlNjdkOGI0NTFhNjU0MmIzNDYwZmFl
ODZkNTE1YzE3Yzg5M2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMy
IEBACisyMDEzLTAyLTI2ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbY2hyb21pdW1dIEltcGxlbWVudCBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBs
aW5nIHByb2ZpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEwOTMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2UgYXJlIGltcGxlbWVudGluZyBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBsaW5n
IHByb2ZpbGluZy4KKyAgICAgICAgSXQgd29ya3MgaW4gdGhlIGZvbGxvd2luZyBtZWNoYW5pc206
CisKKyAgICAgICAgLSBDaHJvbWl1bSBkZWZpbmVzIGdsb2JhbCBzdGF0ZSB2YXJpYWJsZXMgZm9y
IHNhbXBsaW5nIHByb2ZpbGluZy4KKyAgICAgICAgKGkuZS4gZ190cmFjZV9zdGF0ZTAsIGdfdHJh
Y2Vfc3RhdGUxLCBnX3RyYWNlX3N0YXRlMiBpbiB0cmFjZV9ldmVudC5oKQorCisgICAgICAgIC0g
V2ViS2l0IGdldHMgdGhlIGFkZHJlc3NlcyBvZiB0aGUgZ2xvYmFsIHN0YXRlIHZhcmlhYmxlcyBh
dCB0aGUKKyAgICAgICAgaW5pdGlhbGl6YXRpb24gc3RlcC4gKGkuZS4gRXZlbnRUcmFjZXI6Omlu
aXRpYWxpemUoKSkKKworICAgICAgICAtIFdlYktpdCB1cGRhdGVzIHRoZSBnbG9iYWwgc3RhdGVz
IGJ5IHVzaW5nIFRSQUNFX0VWRU5UX1NBTVBMSU5HX1NUQVRFKCkKKyAgICAgICAgbWFjcm9zIGV2
ZXJ5IHRpbWUgV2ViS2l0IGNoYW5nZXMgaXRzIHN0YXRlLiAoZS5nLiBET00gYXR0cmlidXRlCisg
ICAgICAgIGdldHRlcnMvc2V0dGVycy9tZXRob2RzKQorCisgICAgICAgIC0gQSBzYW1wbGluZyB0
aHJlYWQgcnVubmluZyBpbiBDaHJvbWUgcmVhZHMgdGhlIGdsb2JhbCBzdGF0ZXMKKyAgICAgICAg
cGVyaW9kaWNhbGx5IGFuZCB2aXN1YWxpemVzIHRoZSBwcm9maWxpbmcgcmVzdWx0cyBpbnRvIGFi
b3V0Oi8vdHJhY2luZy4KKworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgKDEpIGEgV2Vi
S2l0IEFQSSB0byBnZXQgdGhlIGFkZHJlc3NlcyBvZgorICAgICAgICB0aGUgZ2xvYmFsIHN0YXRl
cyBhbmQgKDIpIHRoZSBUUkFDRV9FVkVOVF9TQU1QTElOR19TVEFURSgpIG1hY3JvLgorCisgICAg
ICAgICogc3JjL1dlYktpdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVXaXRob3V0
VjgpOgorCiAyMDEzLTAyLTI1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWls
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQzOTM2LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oIGIvU291cmNl
L1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oCmluZGV4IGVlMTgwY2IwZjZjODMx
ZGQ4MzE3ODIzNDAzYTk5YTNhNmRkMmY3MjYuLjVmMTcxNzlkZGFkNmY2YTIwYjQyZGY0NzA5Yjk5
ODYwZjZhZWEyNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
UGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRmb3Jt
LmgKQEAgLTM4MCw2ICszODAsMTQgQEAgcHVibGljOgogICAgIC8vIGFkZFRyYWNlRXZlbnQgaXMg
ZXhwZWN0ZWQgdG8gYmUgY2FsbGVkIGJ5IHRoZSB0cmFjZSBldmVudCBtYWNyb3MuCiAgICAgdmly
dHVhbCBjb25zdCB1bnNpZ25lZCBjaGFyKiBnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29u
c3QgY2hhciogY2F0ZWdvcnlOYW1lKSB7IHJldHVybiAwOyB9CiAKKyAgICB0eXBlZGVmIGxvbmcg
aW50IFRyYWNlRXZlbnRBUElBdG9taWNXb3JkOworCisgICAgLy8gR2V0IGEgcG9pbnRlciB0byBh
IGdsb2JhbCBzdGF0ZSBvZiB0aGUgZ2l2ZW4gdGhyZWFkLiBBbiBlbWJlZGRlciBpcworICAgIC8v
IGV4cGVjdGVkIHRvIHVwZGF0ZSB0aGUgZ2xvYmFsIHN0YXRlIGFzIHRoZSBzdGF0ZSBvZiB0aGUg
ZW1iZWRkZXIgY2hhbmdlcy4KKyAgICAvLyBBIHNhbXBsaW5nIHRocmVhZCBpbiB0aGUgQ2hyb21p
dW0gc2lkZSByZWFkcyB0aGUgZ2xvYmFsIHN0YXRlIHBlcmlvZGljYWxseQorICAgIC8vIGFuZCBy
ZWZsZWN0cyB0aGUgc2FtcGxpbmcgcHJvZmlsZWQgcmVzdWx0cyBpbnRvIGFib3V0OnRyYWNpbmcu
CisgICAgdmlydHVhbCBUcmFjZUV2ZW50QVBJQXRvbWljV29yZCogZ2V0VHJhY2VTYW1wbGluZ1N0
YXRlKGNvbnN0IHVuc2lnbmVkIGJ1Y2tldE5hbWUpIHsgcmV0dXJuIDA7IH0KKwogICAgIC8vIEFk
ZCBhIHRyYWNlIGV2ZW50IHRvIHRoZSBwbGF0Zm9ybSB0cmFjaW5nIHN5c3RlbS4gRGVwZW5kaW5n
IG9uIHRoZSBhY3R1YWwKICAgICAvLyBlbmFibGVkIHN0YXRlLCB0aGlzIGV2ZW50IG1heSBiZSBy
ZWNvcmRlZCBvciBkcm9wcGVkLiAKICAgICAvLyAtIHBoYXNlIHNwZWNpZmllcyB0aGUgdHlwZSBv
ZiBldmVudDoKQEAgLTQ0NCw3ICs0NTIsNiBAQCBwdWJsaWM6CiAgICAgLy8gRW51bWVyYXRpb24g
aGlzdG9ncmFtIGJ1Y2tldHMgYXJlIGxpbmVhciwgYm91bmRhcnlWYWx1ZSBzaG91bGQgYmUgbGFy
Z2VyIHRoYW4gYW55IHBvc3NpYmxlIHNhbXBsZSB2YWx1ZS4KICAgICB2aXJ0dWFsIHZvaWQgaGlz
dG9ncmFtRW51bWVyYXRpb24oY29uc3QgY2hhciogbmFtZSwgaW50IHNhbXBsZSwgaW50IGJvdW5k
YXJ5VmFsdWUpIHsgfQogCi0KICAgICAvLyBHUFUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIC8vCiAgICAgLy8gTWF5
IHJldHVybiBudWxsIGlmIEdQVSBpcyBub3Qgc3VwcG9ydGVkLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRUcmFjZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vRXZlbnRUcmFjZXIuY3BwCmluZGV4IDg1ODAzNjNjZGYxNGZlNjFmZjIxMGYxYjM2OTBlNmNh
YzdlZDE5Y2EuLjA2NjExOTEzOWJhNTAzMmU5NGEzY2ZhMzZjNmQ2OTJhZWU0NGNiMWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50VHJhY2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudFRyYWNlci5jcHAKQEAgLTMzLDExICszMywxNiBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IHVuc2lnbmVkIGNoYXIqIEV2ZW50VHJhY2Vy
OjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3QgY2hhciopCit2b2lkIEV2ZW50VHJh
Y2VyOjppbml0aWFsaXplKCkKIHsKICAgICByZXR1cm4gMDsKIH0KICAgICAKK2NvbnN0IHVuc2ln
bmVkIGNoYXIqIEV2ZW50VHJhY2VyOjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3Qg
Y2hhciopCit7CisgICAgcmV0dXJuIDA7Cit9CisKIHZvaWQgRXZlbnRUcmFjZXI6OmFkZFRyYWNl
RXZlbnQoY2hhciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
bnNpZ25lZCBjaGFyKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBjaGFyKiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50VHJhY2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudFRyYWNlci5oCmluZGV4IDczOWMyYjA4
YTgyMGRhNTUyZWRjZWVmYWQ0NWI1ZDYyMWZlODgwODYuLjgzNmUyZTllNDE1MTk2MzVmY2VjOTVm
NDI2NzI5ZDQ2NTMzNzM3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2
ZW50VHJhY2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRUcmFjZXIuaApA
QCAtMzMsOCArMzMsMTUgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCit0eXBlZGVmIGxvbmcg
aW50IFRyYWNlRXZlbnRBUElBdG9taWNXb3JkOworCitleHRlcm4gVHJhY2VFdmVudEFQSUF0b21p
Y1dvcmQqIHRyYWNlU2FtcGxpbmdTdGF0ZTA7CitleHRlcm4gVHJhY2VFdmVudEFQSUF0b21pY1dv
cmQqIHRyYWNlU2FtcGxpbmdTdGF0ZTE7CitleHRlcm4gVHJhY2VFdmVudEFQSUF0b21pY1dvcmQq
IHRyYWNlU2FtcGxpbmdTdGF0ZTI7CisKIGNsYXNzIEV2ZW50VHJhY2VyIHsKIHB1YmxpYzoKKyAg
ICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIqIGdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjb25zdCBjaGFyKik7CiAgICAgc3RhdGlj
IHZvaWQgYWRkVHJhY2VFdmVudChjaGFyIHBoYXNlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBjYXRlZ29yeUVuYWJsZWRGbGFnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRXZlbnRUcmFjZXJDaHJvbWl1bS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9FdmVudFRyYWNlckNocm9taXVt
LmNwcAppbmRleCBjOWMwYjQ3MDI1MzY5Yzc2YzFhM2ZiZjE3ZjRmOTlmOTU4MTZmNTUwLi41OGNj
ZGY4YzZlYTg4NGM1NDk0MWUzZDVmM2Y3NzZlOGQwNDljODU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9FdmVudFRyYWNlckNocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9FdmVudFRyYWNlckNocm9taXVtLmNwcApA
QCAtMzUsNiArMzUsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitUcmFjZUV2ZW50QVBJ
QXRvbWljV29yZCogdHJhY2VTYW1wbGluZ1N0YXRlMDsKK1RyYWNlRXZlbnRBUElBdG9taWNXb3Jk
KiB0cmFjZVNhbXBsaW5nU3RhdGUxOworVHJhY2VFdmVudEFQSUF0b21pY1dvcmQqIHRyYWNlU2Ft
cGxpbmdTdGF0ZTI7CisKK3ZvaWQgRXZlbnRUcmFjZXI6OmluaXRpYWxpemUoKQoreworICAgIHRy
YWNlU2FtcGxpbmdTdGF0ZTAgPSBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmdldFRyYWNl
U2FtcGxpbmdTdGF0ZSgwKTsKKyAgICB0cmFjZVNhbXBsaW5nU3RhdGUxID0gV2ViS2l0OjpQbGF0
Zm9ybTo6Y3VycmVudCgpLT5nZXRUcmFjZVNhbXBsaW5nU3RhdGUoMSk7CisgICAgdHJhY2VTYW1w
bGluZ1N0YXRlMiA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+Z2V0VHJhY2VTYW1wbGlu
Z1N0YXRlKDIpOworfQorICAgIAogY29uc3QgdW5zaWduZWQgY2hhciogRXZlbnRUcmFjZXI6Omdl
dFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjb25zdCBjaGFyKiBjYXRlZ29yeU5hbWUpCiB7CiAg
ICAgcmV0dXJuIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+Z2V0VHJhY2VDYXRlZ29yeUVu
YWJsZWRGbGFnKGNhdGVnb3J5TmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9UcmFjZUV2ZW50LmgKaW5kZXggMDU1MjMxZTMyZTA1MzhmNjQxOWMxNmRiMmIwMTQwNjlm
NWI4NTQ3MS4uMTIzNDliMzkxZTE5MmE5NDRiOTAxMzE0ZmUwNTIyZWM2ZTc1NjFhNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1RyYWNlRXZlbnQuaApAQCAtNDI3LDYg
KzQyNywxNiBAQAogICAgICAgICBjYXRlZ29yeSwgbmFtZSwgaWQsIFRSQUNFX0VWRU5UX0ZMQUdf
Q09QWSwgXAogICAgICAgICBhcmcxX25hbWUsIGFyZzFfdmFsLCBhcmcyX25hbWUsIGFyZzJfdmFs
KQogCisvLyBVcGRhdGVzIGEgZ2xvYmFsIHN0YXRlIHdpdGggJ25hbWUnLiBUaGUgc2FtcGxpbmcg
dGhyZWFkIHdpbGwgcmVhZAorLy8gdGhlIHZhbHVlIHBlcmlvZGljYWxseS4gU1RBVEUwIGlzIGZv
ciB0aGUgbWFpbiB0aHJlYWQuCisvLyBTVEFURTEgYW5kIFNUQVRFMiB3aWxsIGJlIHByZXNlcnZl
ZCBmb3Igb3RoZXIgdGhyZWFkcy4KKyNkZWZpbmUgVFJBQ0VfRVZFTlRfU0FNUExJTkdfU1RBVEUw
KG5hbWUpIFwKKyAgICBJTlRFUk5BTF9UUkFDRV9FVkVOVF9TQU1QTElOR19TVEFURShuYW1lLCAw
KQorI2RlZmluZSBUUkFDRV9FVkVOVF9TQU1QTElOR19TVEFURTEobmFtZSkgXAorICAgIElOVEVS
TkFMX1RSQUNFX0VWRU5UX1NBTVBMSU5HX1NUQVRFKG5hbWUsIDEpCisjZGVmaW5lIFRSQUNFX0VW
RU5UX1NBTVBMSU5HX1NUQVRFMihuYW1lKSBcCisgICAgSU5URVJOQUxfVFJBQ0VfRVZFTlRfU0FN
UExJTkdfU1RBVEUobmFtZSwgMikKKwogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIC8vIEltcGxl
bWVudGF0aW9uIHNwZWNpZmljIHRyYWNpbmcgQVBJIGRlZmluaXRpb25zLgogCkBAIC01MzcsNiAr
NTQ3LDE5IEBACiAgICAgfSB3aGlsZSAoMCkKICNlbmRpZgogCisvLyBJbXBsZW1lbnRhdGlvbiBk
ZXRhaWw6IGludGVybmFsIG1hY3JvIHRvIHVwZGF0ZSBhIGdsb2JhbCBzdGF0ZSBmb3IKKy8vIHRo
ZSBzYW1wbGluZyBwcm9maWxlci4KKy8vIEZJWE1FOiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlv
biB1c2VzIG9ubHkgb25lIGdsb2JhbCB2YXJpYWJsZSwKKy8vIGFuZCB0aHVzIGNhbm5vdCB0cmFj
ZSBzdGF0ZXMgb2YgbXVsdGlwbGUgdGhyZWFkcy4KKyNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dF
UikKKyNkZWZpbmUgSU5URVJOQUxfVFJBQ0VfRVZFTlRfU0FNUExJTkdfU1RBVEUoaWdub3JlKSAo
KHZvaWQpMCkKKyNlbHNlCisjZGVmaW5lIElOVEVSTkFMX1RSQUNFX0VWRU5UX1NBTVBMSU5HX1NU
QVRFKG5hbWUsIHRocmVhZEJ1Y2tldCkgXAorICAgIGRvIHsgXAorICAgICAgICAqV2ViQ29yZTo6
dHJhY2VTYW1wbGluZ1N0YXRlIyN0aHJlYWRCdWNrZXQgPSByZWludGVycHJldF9jYXN0PFRyYWNl
RXZlbnRBUElBdG9taWNXb3JkPigiV2ViS2l0XDAiIG5hbWUpOyBcCisgICAgfSB3aGlsZSAoMCk7
CisjZW5kaWYKKwogLy8gTm90ZXMgcmVnYXJkaW5nIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbnM6
CiAvLyBOZXcgdmFsdWVzIGNhbiBiZSBhZGRlZCBhbmQgcHJvcGFnYXRlZCB0byB0aGlyZCBwYXJ0
eSBsaWJyYXJpZXMsIGJ1dCBleGlzdGluZwogLy8gZGVmaW5pdGlvbnMgbXVzdCBuZXZlciBiZSBj
aGFuZ2VkLCBiZWNhdXNlIHRoaXJkIHBhcnR5IGxpYnJhcmllcyBtYXkgdXNlIG9sZApAQCAtNTUx
LDYgKzU3NCw3IEBACiAjZGVmaW5lIFRSQUNFX0VWRU5UX1BIQVNFX0FTWU5DX0VORCAgICgnRicp
CiAjZGVmaW5lIFRSQUNFX0VWRU5UX1BIQVNFX01FVEFEQVRBICgnTScpCiAjZGVmaW5lIFRSQUNF
X0VWRU5UX1BIQVNFX0NPVU5URVIgICgnQycpCisjZGVmaW5lIFRSQUNFX0VWRU5UX1BIQVNFX1NB
TVBMRSAgKCdQJykKIAogLy8gRmxhZ3MgZm9yIGNoYW5naW5nIHRoZSBiZWhhdmlvciBvZiBUUkFD
RV9FVkVOVF9BUElfQUREX1RSQUNFX0VWRU5ULgogI2RlZmluZSBUUkFDRV9FVkVOVF9GTEFHX05P
TkUgICAgICAgIChzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPigwKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYktpdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJLaXQuY3BwCmluZGV4IGZhNTY2YzE2NWM5NWEzNTg5MDM2NDUzODE1MDk5YWE1
MzY0YTgzNTAuLjVhNTJlZjZlOWQ0MWI0ZGQxMmUxMTQ3Nzk3ODZkMzQ0NjAwMWE1ODggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYktpdC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViS2l0LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdC5oIgogCisjaW5jbHVkZSAiRXZlbnRUcmFj
ZXIuaCIKICNpbmNsdWRlICJJbWFnZURlY29kaW5nU3RvcmUuaCIKICNpbmNsdWRlICJMYXlvdXRU
ZXN0U3VwcG9ydC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTcwLDYgKzcxLDEwIEBACiAj
aW5jbHVkZSAiV2ViU3lzdGVtSW50ZXJmYWNlLmgiCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENI
Uk9NSVVNKQorI2luY2x1ZGUgIlRyYWNlRXZlbnQuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogbmFtZXNwYWNlIHsKQEAgLTE1Niw2ICsxNjEsMTAgQEAgdm9pZCBpbml0aWFsaXpl
V2l0aG91dFY4KFBsYXRmb3JtKiB3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQpCiAgICAgLy8gdGhpcywg
aW5pdGlhbGl6aW5nIHRoaXMgbGF6aWx5IHByb2JhYmx5IGRvZXNuJ3QgYnV5IHVzIG11Y2guCiAg
ICAgV2ViQ29yZTo6VVRGOEVuY29kaW5nKCk7CiAKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyAg
ICBXZWJDb3JlOjpFdmVudFRyYWNlcjo6aW5pdGlhbGl6ZSgpOworI2VuZGlmCisKICNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICBXZWJDb3JlOjpzZXRJREJGYWN0b3J5QmFja2VuZElu
dGVyZmFjZUNyZWF0ZUZ1bmN0aW9uKFdlYktpdDo6SURCRmFjdG9yeUJhY2tlbmRQcm94eTo6Y3Jl
YXRlKTsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190424</attachid>
            <date>2013-02-26 19:36:53 -0800</date>
            <delta_ts>2013-02-27 08:46:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110932-20130226193307.patch</filename>
            <type>text/plain</type>
            <size>11937</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBmYTVlMzBjNDc4NTcy
MjY5N2I2YjRiZTkxMjEyZTBiNGE4MWFiODJmLi4xNGM1YzgwMTNmOGE5ODk0YjQ4ZjRkNTA4ODM3
YTk2Yjk0YjE1OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMy0wMi0yNiAg
S2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVt
XSBJbXBsZW1lbnQgVFJBQ0VfRVZFTlQgbWFjcm9zIGZvciBzYW1wbGluZyBwcm9maWxpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDkzMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGFyZSBpbXBs
ZW1lbnRpbmcgVFJBQ0VfRVZFTlQgbWFjcm9zIGZvciBzYW1wbGluZyBwcm9maWxpbmcuCisgICAg
ICAgIEl0IHdvcmtzIGluIHRoZSBmb2xsb3dpbmcgbWVjaGFuaXNtOgorCisgICAgICAgIC0gQ2hy
b21pdW0gZGVmaW5lcyBnbG9iYWwgc3RhdGUgdmFyaWFibGVzIGZvciBzYW1wbGluZyBwcm9maWxp
bmcuCisgICAgICAgIChpLmUuIGdfdHJhY2Vfc3RhdGUwLCBnX3RyYWNlX3N0YXRlMSwgZ190cmFj
ZV9zdGF0ZTIgaW4gdHJhY2VfZXZlbnQuaCkKKworICAgICAgICAtIFdlYktpdCBnZXRzIHRoZSBh
ZGRyZXNzZXMgb2YgdGhlIGdsb2JhbCBzdGF0ZSB2YXJpYWJsZXMgYXQgdGhlCisgICAgICAgIGlu
aXRpYWxpemF0aW9uIHN0ZXAuIChpLmUuIEV2ZW50VHJhY2VyOjppbml0aWFsaXplKCkpCisKKyAg
ICAgICAgLSBXZWJLaXQgdXBkYXRlcyB0aGUgZ2xvYmFsIHN0YXRlcyBieSB1c2luZyBUUkFDRV9F
VkVOVF9TQU1QTElOR19TVEFURSgpCisgICAgICAgIG1hY3JvcyBldmVyeSB0aW1lIFdlYktpdCBj
aGFuZ2VzIGl0cyBzdGF0ZS4gKGUuZy4gRE9NIGF0dHJpYnV0ZQorICAgICAgICBnZXR0ZXJzL3Nl
dHRlcnMvbWV0aG9kcykKKworICAgICAgICAtIEEgc2FtcGxpbmcgdGhyZWFkIHJ1bm5pbmcgaW4g
Q2hyb21lIHJlYWRzIHRoZSBnbG9iYWwgc3RhdGVzCisgICAgICAgIHBlcmlvZGljYWxseSBhbmQg
dmlzdWFsaXplcyB0aGUgcHJvZmlsaW5nIHJlc3VsdHMgaW50byBhYm91dDovL3RyYWNpbmcuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1lbnRzICgxKSBhIFdlYktpdCBBUEkgdG8gZ2V0IHRo
ZSBhZGRyZXNzZXMgb2YKKyAgICAgICAgdGhlIGdsb2JhbCBzdGF0ZXMgYW5kICgyKSB0aGUgVFJB
Q0VfRVZFTlRfU0FNUExJTkdfU1RBVEUoKSBtYWNyby4KKworICAgICAgICAqIGNocm9taXVtL3B1
YmxpYy9QbGF0Zm9ybS5oOgorICAgICAgICAoUGxhdGZvcm0pOgorICAgICAgICAoV2ViS2l0OjpQ
bGF0Zm9ybTo6Z2V0VHJhY2VTYW1wbGluZ1N0YXRlKToKKwogMjAxMy0wMi0yMiAgQWxpIEp1bWEg
IDxhanVtYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZWdpc3RlciBuZXds
eS1jcmVhdGVkIGxheWVycyBmb3IgYW5pbWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmNTBlMjFlNjdl
MGNiZDg5ODVlYjI3OTUyYzhkNWY4ZTUxYWIyZi4uZmY4YWI2MDA1M2VkYmY1MDNiMjkwMTg4ZWY1
NjVlN2VlYTkzOTE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEzLTAyLTI2ICBL
ZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1d
IEltcGxlbWVudCBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBsaW5nIHByb2ZpbGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTMyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYXJlIGltcGxl
bWVudGluZyBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBsaW5nIHByb2ZpbGluZy4KKyAgICAg
ICAgSXQgd29ya3MgaW4gdGhlIGZvbGxvd2luZyBtZWNoYW5pc206CisKKyAgICAgICAgLSBDaHJv
bWl1bSBkZWZpbmVzIGdsb2JhbCBzdGF0ZSB2YXJpYWJsZXMgZm9yIHNhbXBsaW5nIHByb2ZpbGlu
Zy4KKyAgICAgICAgKGkuZS4gZ190cmFjZV9zdGF0ZTAsIGdfdHJhY2Vfc3RhdGUxLCBnX3RyYWNl
X3N0YXRlMiBpbiB0cmFjZV9ldmVudC5oKQorCisgICAgICAgIC0gV2ViS2l0IGdldHMgdGhlIGFk
ZHJlc3NlcyBvZiB0aGUgZ2xvYmFsIHN0YXRlIHZhcmlhYmxlcyBhdCB0aGUKKyAgICAgICAgaW5p
dGlhbGl6YXRpb24gc3RlcC4gKGkuZS4gRXZlbnRUcmFjZXI6OmluaXRpYWxpemUoKSkKKworICAg
ICAgICAtIFdlYktpdCB1cGRhdGVzIHRoZSBnbG9iYWwgc3RhdGVzIGJ5IHVzaW5nIFRSQUNFX0VW
RU5UX1NBTVBMSU5HX1NUQVRFKCkKKyAgICAgICAgbWFjcm9zIGV2ZXJ5IHRpbWUgV2ViS2l0IGNo
YW5nZXMgaXRzIHN0YXRlLiAoZS5nLiBET00gYXR0cmlidXRlCisgICAgICAgIGdldHRlcnMvc2V0
dGVycy9tZXRob2RzKQorCisgICAgICAgIC0gQSBzYW1wbGluZyB0aHJlYWQgcnVubmluZyBpbiBD
aHJvbWUgcmVhZHMgdGhlIGdsb2JhbCBzdGF0ZXMKKyAgICAgICAgcGVyaW9kaWNhbGx5IGFuZCB2
aXN1YWxpemVzIHRoZSBwcm9maWxpbmcgcmVzdWx0cyBpbnRvIGFib3V0Oi8vdHJhY2luZy4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgKDEpIGEgV2ViS2l0IEFQSSB0byBnZXQgdGhl
IGFkZHJlc3NlcyBvZgorICAgICAgICB0aGUgZ2xvYmFsIHN0YXRlcyBhbmQgKDIpIHRoZSBUUkFD
RV9FVkVOVF9TQU1QTElOR19TVEFURSgpIG1hY3JvLgorCisgICAgICAgIE5vIHRlc3RzLiBUaGUg
c2FtcGxpbmcgcHJvZmlsZXIgaXMgbm90IGVuYWJsZWQgaW4gQ2hyb21lIGJ5IGRlZmF1bHQuCisg
ICAgICAgIEkgbWFudWFsbHkgaW5zZXJ0ZWQgVFJBQ0VfRVZFTlRfU0FNUExJTkdfU1RBVEUoKSBt
YWNyb3MgYW5kCisgICAgICAgIGNvbmZpcm1lZCB0aGF0IHRoZSBzYW1wbGluZyBwcm9maWxpbmcg
aXMgd29ya2luZyBhcyBleHBlY3RlZC4KKworICAgICAgICAqIHBsYXRmb3JtL0V2ZW50VHJhY2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VHJhY2VyOjppbml0aWFsaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50VHJhY2VyOjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vRXZlbnRUcmFjZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRXZlbnRUcmFjZXIpOgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL0V2ZW50VHJhY2VyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRyYWNlcjo6aW5pdGlhbGl6ZSk6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oOgorCiAyMDEzLTAyLTI1ICBLZW50YXJvIEhh
cmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZp
eCBhZnRlciByMTQzOTY1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAzM2FjYTY1YTk2
MTU4NzhjNWMyM2FhNzM2OGZhMzY1MWY3NjhhNDlkLi5lZjhlNjdkOGI0NTFhNjU0MmIzNDYwZmFl
ODZkNTE1YzE3Yzg5M2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMy
IEBACisyMDEzLTAyLTI2ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbY2hyb21pdW1dIEltcGxlbWVudCBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBs
aW5nIHByb2ZpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEwOTMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2UgYXJlIGltcGxlbWVudGluZyBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBsaW5n
IHByb2ZpbGluZy4KKyAgICAgICAgSXQgd29ya3MgaW4gdGhlIGZvbGxvd2luZyBtZWNoYW5pc206
CisKKyAgICAgICAgLSBDaHJvbWl1bSBkZWZpbmVzIGdsb2JhbCBzdGF0ZSB2YXJpYWJsZXMgZm9y
IHNhbXBsaW5nIHByb2ZpbGluZy4KKyAgICAgICAgKGkuZS4gZ190cmFjZV9zdGF0ZTAsIGdfdHJh
Y2Vfc3RhdGUxLCBnX3RyYWNlX3N0YXRlMiBpbiB0cmFjZV9ldmVudC5oKQorCisgICAgICAgIC0g
V2ViS2l0IGdldHMgdGhlIGFkZHJlc3NlcyBvZiB0aGUgZ2xvYmFsIHN0YXRlIHZhcmlhYmxlcyBh
dCB0aGUKKyAgICAgICAgaW5pdGlhbGl6YXRpb24gc3RlcC4gKGkuZS4gRXZlbnRUcmFjZXI6Omlu
aXRpYWxpemUoKSkKKworICAgICAgICAtIFdlYktpdCB1cGRhdGVzIHRoZSBnbG9iYWwgc3RhdGVz
IGJ5IHVzaW5nIFRSQUNFX0VWRU5UX1NBTVBMSU5HX1NUQVRFKCkKKyAgICAgICAgbWFjcm9zIGV2
ZXJ5IHRpbWUgV2ViS2l0IGNoYW5nZXMgaXRzIHN0YXRlLiAoZS5nLiBET00gYXR0cmlidXRlCisg
ICAgICAgIGdldHRlcnMvc2V0dGVycy9tZXRob2RzKQorCisgICAgICAgIC0gQSBzYW1wbGluZyB0
aHJlYWQgcnVubmluZyBpbiBDaHJvbWUgcmVhZHMgdGhlIGdsb2JhbCBzdGF0ZXMKKyAgICAgICAg
cGVyaW9kaWNhbGx5IGFuZCB2aXN1YWxpemVzIHRoZSBwcm9maWxpbmcgcmVzdWx0cyBpbnRvIGFi
b3V0Oi8vdHJhY2luZy4KKworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgKDEpIGEgV2Vi
S2l0IEFQSSB0byBnZXQgdGhlIGFkZHJlc3NlcyBvZgorICAgICAgICB0aGUgZ2xvYmFsIHN0YXRl
cyBhbmQgKDIpIHRoZSBUUkFDRV9FVkVOVF9TQU1QTElOR19TVEFURSgpIG1hY3JvLgorCisgICAg
ICAgICogc3JjL1dlYktpdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVXaXRob3V0
VjgpOgorCiAyMDEzLTAyLTI1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWls
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQzOTM2LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oIGIvU291cmNl
L1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oCmluZGV4IGVlMTgwY2IwZjZjODMx
ZGQ4MzE3ODIzNDAzYTk5YTNhNmRkMmY3MjYuLmZkOTJhZDIzNWY1YTI5YzA2MDhiN2ZkYWQzMDgy
ZWQ3Mzg5MzE1ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
UGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRmb3Jt
LmgKQEAgLTM4MCw2ICszODAsMTQgQEAgcHVibGljOgogICAgIC8vIGFkZFRyYWNlRXZlbnQgaXMg
ZXhwZWN0ZWQgdG8gYmUgY2FsbGVkIGJ5IHRoZSB0cmFjZSBldmVudCBtYWNyb3MuCiAgICAgdmly
dHVhbCBjb25zdCB1bnNpZ25lZCBjaGFyKiBnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29u
c3QgY2hhciogY2F0ZWdvcnlOYW1lKSB7IHJldHVybiAwOyB9CiAKKyAgICB0eXBlZGVmIGxvbmcg
aW50IFRyYWNlRXZlbnRBUElBdG9taWNXb3JkOworCisgICAgLy8gR2V0IGEgcG9pbnRlciB0byBh
IGdsb2JhbCBzdGF0ZSBvZiB0aGUgZ2l2ZW4gdGhyZWFkLiBBbiBlbWJlZGRlciBpcworICAgIC8v
IGV4cGVjdGVkIHRvIHVwZGF0ZSB0aGUgZ2xvYmFsIHN0YXRlIGFzIHRoZSBzdGF0ZSBvZiB0aGUg
ZW1iZWRkZXIgY2hhbmdlcy4KKyAgICAvLyBBIHNhbXBsaW5nIHRocmVhZCBpbiB0aGUgQ2hyb21p
dW0gc2lkZSByZWFkcyB0aGUgZ2xvYmFsIHN0YXRlIHBlcmlvZGljYWxseQorICAgIC8vIGFuZCBy
ZWZsZWN0cyB0aGUgc2FtcGxpbmcgcHJvZmlsZWQgcmVzdWx0cyBpbnRvIGFib3V0OnRyYWNpbmcu
CisgICAgdmlydHVhbCBUcmFjZUV2ZW50QVBJQXRvbWljV29yZCogZ2V0VHJhY2VTYW1wbGluZ1N0
YXRlKGNvbnN0IHVuc2lnbmVkIGJ1Y2tldE5hbWUpIHsgcmV0dXJuIDA7IH0KKwogICAgIC8vIEFk
ZCBhIHRyYWNlIGV2ZW50IHRvIHRoZSBwbGF0Zm9ybSB0cmFjaW5nIHN5c3RlbS4gRGVwZW5kaW5n
IG9uIHRoZSBhY3R1YWwKICAgICAvLyBlbmFibGVkIHN0YXRlLCB0aGlzIGV2ZW50IG1heSBiZSBy
ZWNvcmRlZCBvciBkcm9wcGVkLiAKICAgICAvLyAtIHBoYXNlIHNwZWNpZmllcyB0aGUgdHlwZSBv
ZiBldmVudDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50VHJhY2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50VHJhY2VyLmNwcAppbmRleCA4NTgw
MzYzY2RmMTRmZTYxZmYyMTBmMWIzNjkwZTZjYWM3ZWQxOWNhLi4wNjYxMTkxMzliYTUwMzJlOTRh
M2NmYTM2YzZkNjkyYWVlNDRjYjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9FdmVudFRyYWNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRUcmFj
ZXIuY3BwCkBAIC0zMywxMSArMzMsMTYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25z
dCB1bnNpZ25lZCBjaGFyKiBFdmVudFRyYWNlcjo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFn
KGNvbnN0IGNoYXIqKQordm9pZCBFdmVudFRyYWNlcjo6aW5pdGlhbGl6ZSgpCiB7CiAgICAgcmV0
dXJuIDA7CiB9CiAgICAgCitjb25zdCB1bnNpZ25lZCBjaGFyKiBFdmVudFRyYWNlcjo6Z2V0VHJh
Y2VDYXRlZ29yeUVuYWJsZWRGbGFnKGNvbnN0IGNoYXIqKQoreworICAgIHJldHVybiAwOworfQor
CiB2b2lkIEV2ZW50VHJhY2VyOjphZGRUcmFjZUV2ZW50KGNoYXIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciosCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciosCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9FdmVudFRyYWNlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RXZlbnRUcmFjZXIuaAppbmRleCA3MzljMmIwOGE4MjBkYTU1MmVkY2VlZmFkNDViNWQ2MjFmZTg4
MDg2Li44MzZlMmU5ZTQxNTE5NjM1ZmNlYzk1ZjQyNjcyOWQ0NjUzMzczN2RhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudFRyYWNlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0V2ZW50VHJhY2VyLmgKQEAgLTMzLDggKzMzLDE1IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAordHlwZWRlZiBsb25nIGludCBUcmFjZUV2ZW50QVBJQXRvbWljV29yZDsK
KworZXh0ZXJuIFRyYWNlRXZlbnRBUElBdG9taWNXb3JkKiB0cmFjZVNhbXBsaW5nU3RhdGUwOwor
ZXh0ZXJuIFRyYWNlRXZlbnRBUElBdG9taWNXb3JkKiB0cmFjZVNhbXBsaW5nU3RhdGUxOworZXh0
ZXJuIFRyYWNlRXZlbnRBUElBdG9taWNXb3JkKiB0cmFjZVNhbXBsaW5nU3RhdGUyOworCiBjbGFz
cyBFdmVudFRyYWNlciB7CiBwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwog
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyKiBnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZs
YWcoY29uc3QgY2hhciopOwogICAgIHN0YXRpYyB2b2lkIGFkZFRyYWNlRXZlbnQoY2hhciBwaGFz
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogY2F0
ZWdvcnlFbmFibGVkRmxhZywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL0V2ZW50VHJhY2VyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vRXZlbnRUcmFjZXJDaHJvbWl1bS5jcHAKaW5kZXggYzljMGI0NzAyNTM2OWM3NmMx
YTNmYmYxN2Y0Zjk5Zjk1ODE2ZjU1MC4uNThjY2RmOGM2ZWE4ODRjNTQ5NDFlM2Q1ZjNmNzc2ZThk
MDQ5Yzg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRXZl
bnRUcmFjZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vRXZlbnRUcmFjZXJDaHJvbWl1bS5jcHAKQEAgLTM1LDYgKzM1LDE3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorVHJhY2VFdmVudEFQSUF0b21pY1dvcmQqIHRyYWNlU2FtcGxpbmdTdGF0
ZTA7CitUcmFjZUV2ZW50QVBJQXRvbWljV29yZCogdHJhY2VTYW1wbGluZ1N0YXRlMTsKK1RyYWNl
RXZlbnRBUElBdG9taWNXb3JkKiB0cmFjZVNhbXBsaW5nU3RhdGUyOworCit2b2lkIEV2ZW50VHJh
Y2VyOjppbml0aWFsaXplKCkKK3sKKyAgICB0cmFjZVNhbXBsaW5nU3RhdGUwID0gV2ViS2l0OjpQ
bGF0Zm9ybTo6Y3VycmVudCgpLT5nZXRUcmFjZVNhbXBsaW5nU3RhdGUoMCk7CisgICAgdHJhY2VT
YW1wbGluZ1N0YXRlMSA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+Z2V0VHJhY2VTYW1w
bGluZ1N0YXRlKDEpOworICAgIHRyYWNlU2FtcGxpbmdTdGF0ZTIgPSBXZWJLaXQ6OlBsYXRmb3Jt
OjpjdXJyZW50KCktPmdldFRyYWNlU2FtcGxpbmdTdGF0ZSgyKTsKK30KKyAgICAKIGNvbnN0IHVu
c2lnbmVkIGNoYXIqIEV2ZW50VHJhY2VyOjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29u
c3QgY2hhciogY2F0ZWdvcnlOYW1lKQogewogICAgIHJldHVybiBXZWJLaXQ6OlBsYXRmb3JtOjpj
dXJyZW50KCktPmdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjYXRlZ29yeU5hbWUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oCmluZGV4IDA1NTIz
MWUzMmUwNTM4ZjY0MTljMTZkYjJiMDE0MDY5ZjViODU0NzEuLjEyMzQ5YjM5MWUxOTJhOTQ0Yjkw
MTMxNGZlMDUyMmVjNmU3NTYxYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1RyYWNlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9UcmFjZUV2ZW50LmgKQEAgLTQyNyw2ICs0MjcsMTYgQEAKICAgICAgICAgY2F0ZWdvcnks
IG5hbWUsIGlkLCBUUkFDRV9FVkVOVF9GTEFHX0NPUFksIFwKICAgICAgICAgYXJnMV9uYW1lLCBh
cmcxX3ZhbCwgYXJnMl9uYW1lLCBhcmcyX3ZhbCkKIAorLy8gVXBkYXRlcyBhIGdsb2JhbCBzdGF0
ZSB3aXRoICduYW1lJy4gVGhlIHNhbXBsaW5nIHRocmVhZCB3aWxsIHJlYWQKKy8vIHRoZSB2YWx1
ZSBwZXJpb2RpY2FsbHkuIFNUQVRFMCBpcyBmb3IgdGhlIG1haW4gdGhyZWFkLgorLy8gU1RBVEUx
IGFuZCBTVEFURTIgd2lsbCBiZSBwcmVzZXJ2ZWQgZm9yIG90aGVyIHRocmVhZHMuCisjZGVmaW5l
IFRSQUNFX0VWRU5UX1NBTVBMSU5HX1NUQVRFMChuYW1lKSBcCisgICAgSU5URVJOQUxfVFJBQ0Vf
RVZFTlRfU0FNUExJTkdfU1RBVEUobmFtZSwgMCkKKyNkZWZpbmUgVFJBQ0VfRVZFTlRfU0FNUExJ
TkdfU1RBVEUxKG5hbWUpIFwKKyAgICBJTlRFUk5BTF9UUkFDRV9FVkVOVF9TQU1QTElOR19TVEFU
RShuYW1lLCAxKQorI2RlZmluZSBUUkFDRV9FVkVOVF9TQU1QTElOR19TVEFURTIobmFtZSkgXAor
ICAgIElOVEVSTkFMX1RSQUNFX0VWRU5UX1NBTVBMSU5HX1NUQVRFKG5hbWUsIDIpCisKIC8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vCiAvLyBJbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyB0cmFjaW5nIEFQ
SSBkZWZpbml0aW9ucy4KIApAQCAtNTM3LDYgKzU0NywxOSBAQAogICAgIH0gd2hpbGUgKDApCiAj
ZW5kaWYKIAorLy8gSW1wbGVtZW50YXRpb24gZGV0YWlsOiBpbnRlcm5hbCBtYWNybyB0byB1cGRh
dGUgYSBnbG9iYWwgc3RhdGUgZm9yCisvLyB0aGUgc2FtcGxpbmcgcHJvZmlsZXIuCisvLyBGSVhN
RTogVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gdXNlcyBvbmx5IG9uZSBnbG9iYWwgdmFyaWFi
bGUsCisvLyBhbmQgdGh1cyBjYW5ub3QgdHJhY2Ugc3RhdGVzIG9mIG11bHRpcGxlIHRocmVhZHMu
CisjaWYgQ09NUElMRVIoTVNWQzdfT1JfTE9XRVIpCisjZGVmaW5lIElOVEVSTkFMX1RSQUNFX0VW
RU5UX1NBTVBMSU5HX1NUQVRFKGlnbm9yZSkgKCh2b2lkKTApCisjZWxzZQorI2RlZmluZSBJTlRF
Uk5BTF9UUkFDRV9FVkVOVF9TQU1QTElOR19TVEFURShuYW1lLCB0aHJlYWRCdWNrZXQpIFwKKyAg
ICBkbyB7IFwKKyAgICAgICAgKldlYkNvcmU6OnRyYWNlU2FtcGxpbmdTdGF0ZSMjdGhyZWFkQnVj
a2V0ID0gcmVpbnRlcnByZXRfY2FzdDxUcmFjZUV2ZW50QVBJQXRvbWljV29yZD4oIldlYktpdFww
IiBuYW1lKTsgXAorICAgIH0gd2hpbGUgKDApOworI2VuZGlmCisKIC8vIE5vdGVzIHJlZ2FyZGlu
ZyB0aGUgZm9sbG93aW5nIGRlZmluaXRpb25zOgogLy8gTmV3IHZhbHVlcyBjYW4gYmUgYWRkZWQg
YW5kIHByb3BhZ2F0ZWQgdG8gdGhpcmQgcGFydHkgbGlicmFyaWVzLCBidXQgZXhpc3RpbmcKIC8v
IGRlZmluaXRpb25zIG11c3QgbmV2ZXIgYmUgY2hhbmdlZCwgYmVjYXVzZSB0aGlyZCBwYXJ0eSBs
aWJyYXJpZXMgbWF5IHVzZSBvbGQKQEAgLTU1MSw2ICs1NzQsNyBAQAogI2RlZmluZSBUUkFDRV9F
VkVOVF9QSEFTRV9BU1lOQ19FTkQgICAoJ0YnKQogI2RlZmluZSBUUkFDRV9FVkVOVF9QSEFTRV9N
RVRBREFUQSAoJ00nKQogI2RlZmluZSBUUkFDRV9FVkVOVF9QSEFTRV9DT1VOVEVSICAoJ0MnKQor
I2RlZmluZSBUUkFDRV9FVkVOVF9QSEFTRV9TQU1QTEUgICgnUCcpCiAKIC8vIEZsYWdzIGZvciBj
aGFuZ2luZyB0aGUgYmVoYXZpb3Igb2YgVFJBQ0VfRVZFTlRfQVBJX0FERF9UUkFDRV9FVkVOVC4K
ICNkZWZpbmUgVFJBQ0VfRVZFTlRfRkxBR19OT05FICAgICAgICAoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgY2hhcj4oMCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJL
aXQuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViS2l0LmNwcAppbmRleCBmYTU2
NmMxNjVjOTVhMzU4OTAzNjQ1MzgxNTA5OWFhNTM2NGE4MzUwLi5lMjZmYjhlZjlkNWViNjYyZDY2
NDgwMjc4NTdkYTdkYjE3YjA0YmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJLaXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYktpdC5j
cHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJL
aXQuaCIKIAorI2luY2x1ZGUgIkV2ZW50VHJhY2VyLmgiCiAjaW5jbHVkZSAiSW1hZ2VEZWNvZGlu
Z1N0b3JlLmgiCiAjaW5jbHVkZSAiTGF5b3V0VGVzdFN1cHBvcnQuaCIKICNpbmNsdWRlICJMb2dn
aW5nLmgiCkBAIC0xNTYsNiArMTU3LDggQEAgdm9pZCBpbml0aWFsaXplV2l0aG91dFY4KFBsYXRm
b3JtKiB3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQpCiAgICAgLy8gdGhpcywgaW5pdGlhbGl6aW5nIHRo
aXMgbGF6aWx5IHByb2JhYmx5IGRvZXNuJ3QgYnV5IHVzIG11Y2guCiAgICAgV2ViQ29yZTo6VVRG
OEVuY29kaW5nKCk7CiAKKyAgICBXZWJDb3JlOjpFdmVudFRyYWNlcjo6aW5pdGlhbGl6ZSgpOwor
CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgV2ViQ29yZTo6c2V0SURCRmFjdG9y
eUJhY2tlbmRJbnRlcmZhY2VDcmVhdGVGdW5jdGlvbihXZWJLaXQ6OklEQkZhY3RvcnlCYWNrZW5k
UHJveHk6OmNyZWF0ZSk7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190532</attachid>
            <date>2013-02-27 08:46:42 -0800</date>
            <delta_ts>2013-03-04 17:44:46 -0800</delta_ts>
            <desc>fixed builds</desc>
            <filename>bug-110932-20130227084256.patch</filename>
            <type>text/plain</type>
            <size>11865</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBmYTVlMzBjNDc4NTcy
MjY5N2I2YjRiZTkxMjEyZTBiNGE4MWFiODJmLi4xNGM1YzgwMTNmOGE5ODk0YjQ4ZjRkNTA4ODM3
YTk2Yjk0YjE1OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMy0wMi0yNiAg
S2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVt
XSBJbXBsZW1lbnQgVFJBQ0VfRVZFTlQgbWFjcm9zIGZvciBzYW1wbGluZyBwcm9maWxpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDkzMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGFyZSBpbXBs
ZW1lbnRpbmcgVFJBQ0VfRVZFTlQgbWFjcm9zIGZvciBzYW1wbGluZyBwcm9maWxpbmcuCisgICAg
ICAgIEl0IHdvcmtzIGluIHRoZSBmb2xsb3dpbmcgbWVjaGFuaXNtOgorCisgICAgICAgIC0gQ2hy
b21pdW0gZGVmaW5lcyBnbG9iYWwgc3RhdGUgdmFyaWFibGVzIGZvciBzYW1wbGluZyBwcm9maWxp
bmcuCisgICAgICAgIChpLmUuIGdfdHJhY2Vfc3RhdGUwLCBnX3RyYWNlX3N0YXRlMSwgZ190cmFj
ZV9zdGF0ZTIgaW4gdHJhY2VfZXZlbnQuaCkKKworICAgICAgICAtIFdlYktpdCBnZXRzIHRoZSBh
ZGRyZXNzZXMgb2YgdGhlIGdsb2JhbCBzdGF0ZSB2YXJpYWJsZXMgYXQgdGhlCisgICAgICAgIGlu
aXRpYWxpemF0aW9uIHN0ZXAuIChpLmUuIEV2ZW50VHJhY2VyOjppbml0aWFsaXplKCkpCisKKyAg
ICAgICAgLSBXZWJLaXQgdXBkYXRlcyB0aGUgZ2xvYmFsIHN0YXRlcyBieSB1c2luZyBUUkFDRV9F
VkVOVF9TQU1QTElOR19TVEFURSgpCisgICAgICAgIG1hY3JvcyBldmVyeSB0aW1lIFdlYktpdCBj
aGFuZ2VzIGl0cyBzdGF0ZS4gKGUuZy4gRE9NIGF0dHJpYnV0ZQorICAgICAgICBnZXR0ZXJzL3Nl
dHRlcnMvbWV0aG9kcykKKworICAgICAgICAtIEEgc2FtcGxpbmcgdGhyZWFkIHJ1bm5pbmcgaW4g
Q2hyb21lIHJlYWRzIHRoZSBnbG9iYWwgc3RhdGVzCisgICAgICAgIHBlcmlvZGljYWxseSBhbmQg
dmlzdWFsaXplcyB0aGUgcHJvZmlsaW5nIHJlc3VsdHMgaW50byBhYm91dDovL3RyYWNpbmcuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1lbnRzICgxKSBhIFdlYktpdCBBUEkgdG8gZ2V0IHRo
ZSBhZGRyZXNzZXMgb2YKKyAgICAgICAgdGhlIGdsb2JhbCBzdGF0ZXMgYW5kICgyKSB0aGUgVFJB
Q0VfRVZFTlRfU0FNUExJTkdfU1RBVEUoKSBtYWNyby4KKworICAgICAgICAqIGNocm9taXVtL3B1
YmxpYy9QbGF0Zm9ybS5oOgorICAgICAgICAoUGxhdGZvcm0pOgorICAgICAgICAoV2ViS2l0OjpQ
bGF0Zm9ybTo6Z2V0VHJhY2VTYW1wbGluZ1N0YXRlKToKKwogMjAxMy0wMi0yMiAgQWxpIEp1bWEg
IDxhanVtYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZWdpc3RlciBuZXds
eS1jcmVhdGVkIGxheWVycyBmb3IgYW5pbWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmNTBlMjFlNjdl
MGNiZDg5ODVlYjI3OTUyYzhkNWY4ZTUxYWIyZi4uZmY4YWI2MDA1M2VkYmY1MDNiMjkwMTg4ZWY1
NjVlN2VlYTkzOTE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEzLTAyLTI2ICBL
ZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1d
IEltcGxlbWVudCBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBsaW5nIHByb2ZpbGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTMyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYXJlIGltcGxl
bWVudGluZyBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBsaW5nIHByb2ZpbGluZy4KKyAgICAg
ICAgSXQgd29ya3MgaW4gdGhlIGZvbGxvd2luZyBtZWNoYW5pc206CisKKyAgICAgICAgLSBDaHJv
bWl1bSBkZWZpbmVzIGdsb2JhbCBzdGF0ZSB2YXJpYWJsZXMgZm9yIHNhbXBsaW5nIHByb2ZpbGlu
Zy4KKyAgICAgICAgKGkuZS4gZ190cmFjZV9zdGF0ZTAsIGdfdHJhY2Vfc3RhdGUxLCBnX3RyYWNl
X3N0YXRlMiBpbiB0cmFjZV9ldmVudC5oKQorCisgICAgICAgIC0gV2ViS2l0IGdldHMgdGhlIGFk
ZHJlc3NlcyBvZiB0aGUgZ2xvYmFsIHN0YXRlIHZhcmlhYmxlcyBhdCB0aGUKKyAgICAgICAgaW5p
dGlhbGl6YXRpb24gc3RlcC4gKGkuZS4gRXZlbnRUcmFjZXI6OmluaXRpYWxpemUoKSkKKworICAg
ICAgICAtIFdlYktpdCB1cGRhdGVzIHRoZSBnbG9iYWwgc3RhdGVzIGJ5IHVzaW5nIFRSQUNFX0VW
RU5UX1NBTVBMSU5HX1NUQVRFKCkKKyAgICAgICAgbWFjcm9zIGV2ZXJ5IHRpbWUgV2ViS2l0IGNo
YW5nZXMgaXRzIHN0YXRlLiAoZS5nLiBET00gYXR0cmlidXRlCisgICAgICAgIGdldHRlcnMvc2V0
dGVycy9tZXRob2RzKQorCisgICAgICAgIC0gQSBzYW1wbGluZyB0aHJlYWQgcnVubmluZyBpbiBD
aHJvbWUgcmVhZHMgdGhlIGdsb2JhbCBzdGF0ZXMKKyAgICAgICAgcGVyaW9kaWNhbGx5IGFuZCB2
aXN1YWxpemVzIHRoZSBwcm9maWxpbmcgcmVzdWx0cyBpbnRvIGFib3V0Oi8vdHJhY2luZy4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgKDEpIGEgV2ViS2l0IEFQSSB0byBnZXQgdGhl
IGFkZHJlc3NlcyBvZgorICAgICAgICB0aGUgZ2xvYmFsIHN0YXRlcyBhbmQgKDIpIHRoZSBUUkFD
RV9FVkVOVF9TQU1QTElOR19TVEFURSgpIG1hY3JvLgorCisgICAgICAgIE5vIHRlc3RzLiBUaGUg
c2FtcGxpbmcgcHJvZmlsZXIgaXMgbm90IGVuYWJsZWQgaW4gQ2hyb21lIGJ5IGRlZmF1bHQuCisg
ICAgICAgIEkgbWFudWFsbHkgaW5zZXJ0ZWQgVFJBQ0VfRVZFTlRfU0FNUExJTkdfU1RBVEUoKSBt
YWNyb3MgYW5kCisgICAgICAgIGNvbmZpcm1lZCB0aGF0IHRoZSBzYW1wbGluZyBwcm9maWxpbmcg
aXMgd29ya2luZyBhcyBleHBlY3RlZC4KKworICAgICAgICAqIHBsYXRmb3JtL0V2ZW50VHJhY2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VHJhY2VyOjppbml0aWFsaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50VHJhY2VyOjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vRXZlbnRUcmFjZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRXZlbnRUcmFjZXIpOgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL0V2ZW50VHJhY2VyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRyYWNlcjo6aW5pdGlhbGl6ZSk6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oOgorCiAyMDEzLTAyLTI1ICBLZW50YXJvIEhh
cmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZp
eCBhZnRlciByMTQzOTY1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAzM2FjYTY1YTk2
MTU4NzhjNWMyM2FhNzM2OGZhMzY1MWY3NjhhNDlkLi5lZjhlNjdkOGI0NTFhNjU0MmIzNDYwZmFl
ODZkNTE1YzE3Yzg5M2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMy
IEBACisyMDEzLTAyLTI2ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbY2hyb21pdW1dIEltcGxlbWVudCBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBs
aW5nIHByb2ZpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEwOTMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2UgYXJlIGltcGxlbWVudGluZyBUUkFDRV9FVkVOVCBtYWNyb3MgZm9yIHNhbXBsaW5n
IHByb2ZpbGluZy4KKyAgICAgICAgSXQgd29ya3MgaW4gdGhlIGZvbGxvd2luZyBtZWNoYW5pc206
CisKKyAgICAgICAgLSBDaHJvbWl1bSBkZWZpbmVzIGdsb2JhbCBzdGF0ZSB2YXJpYWJsZXMgZm9y
IHNhbXBsaW5nIHByb2ZpbGluZy4KKyAgICAgICAgKGkuZS4gZ190cmFjZV9zdGF0ZTAsIGdfdHJh
Y2Vfc3RhdGUxLCBnX3RyYWNlX3N0YXRlMiBpbiB0cmFjZV9ldmVudC5oKQorCisgICAgICAgIC0g
V2ViS2l0IGdldHMgdGhlIGFkZHJlc3NlcyBvZiB0aGUgZ2xvYmFsIHN0YXRlIHZhcmlhYmxlcyBh
dCB0aGUKKyAgICAgICAgaW5pdGlhbGl6YXRpb24gc3RlcC4gKGkuZS4gRXZlbnRUcmFjZXI6Omlu
aXRpYWxpemUoKSkKKworICAgICAgICAtIFdlYktpdCB1cGRhdGVzIHRoZSBnbG9iYWwgc3RhdGVz
IGJ5IHVzaW5nIFRSQUNFX0VWRU5UX1NBTVBMSU5HX1NUQVRFKCkKKyAgICAgICAgbWFjcm9zIGV2
ZXJ5IHRpbWUgV2ViS2l0IGNoYW5nZXMgaXRzIHN0YXRlLiAoZS5nLiBET00gYXR0cmlidXRlCisg
ICAgICAgIGdldHRlcnMvc2V0dGVycy9tZXRob2RzKQorCisgICAgICAgIC0gQSBzYW1wbGluZyB0
aHJlYWQgcnVubmluZyBpbiBDaHJvbWUgcmVhZHMgdGhlIGdsb2JhbCBzdGF0ZXMKKyAgICAgICAg
cGVyaW9kaWNhbGx5IGFuZCB2aXN1YWxpemVzIHRoZSBwcm9maWxpbmcgcmVzdWx0cyBpbnRvIGFi
b3V0Oi8vdHJhY2luZy4KKworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgKDEpIGEgV2Vi
S2l0IEFQSSB0byBnZXQgdGhlIGFkZHJlc3NlcyBvZgorICAgICAgICB0aGUgZ2xvYmFsIHN0YXRl
cyBhbmQgKDIpIHRoZSBUUkFDRV9FVkVOVF9TQU1QTElOR19TVEFURSgpIG1hY3JvLgorCisgICAg
ICAgICogc3JjL1dlYktpdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVXaXRob3V0
VjgpOgorCiAyMDEzLTAyLTI1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWls
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQzOTM2LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oIGIvU291cmNl
L1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oCmluZGV4IGVlMTgwY2IwZjZjODMx
ZGQ4MzE3ODIzNDAzYTk5YTNhNmRkMmY3MjYuLmZkOTJhZDIzNWY1YTI5YzA2MDhiN2ZkYWQzMDgy
ZWQ3Mzg5MzE1ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
UGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRmb3Jt
LmgKQEAgLTM4MCw2ICszODAsMTQgQEAgcHVibGljOgogICAgIC8vIGFkZFRyYWNlRXZlbnQgaXMg
ZXhwZWN0ZWQgdG8gYmUgY2FsbGVkIGJ5IHRoZSB0cmFjZSBldmVudCBtYWNyb3MuCiAgICAgdmly
dHVhbCBjb25zdCB1bnNpZ25lZCBjaGFyKiBnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29u
c3QgY2hhciogY2F0ZWdvcnlOYW1lKSB7IHJldHVybiAwOyB9CiAKKyAgICB0eXBlZGVmIGxvbmcg
aW50IFRyYWNlRXZlbnRBUElBdG9taWNXb3JkOworCisgICAgLy8gR2V0IGEgcG9pbnRlciB0byBh
IGdsb2JhbCBzdGF0ZSBvZiB0aGUgZ2l2ZW4gdGhyZWFkLiBBbiBlbWJlZGRlciBpcworICAgIC8v
IGV4cGVjdGVkIHRvIHVwZGF0ZSB0aGUgZ2xvYmFsIHN0YXRlIGFzIHRoZSBzdGF0ZSBvZiB0aGUg
ZW1iZWRkZXIgY2hhbmdlcy4KKyAgICAvLyBBIHNhbXBsaW5nIHRocmVhZCBpbiB0aGUgQ2hyb21p
dW0gc2lkZSByZWFkcyB0aGUgZ2xvYmFsIHN0YXRlIHBlcmlvZGljYWxseQorICAgIC8vIGFuZCBy
ZWZsZWN0cyB0aGUgc2FtcGxpbmcgcHJvZmlsZWQgcmVzdWx0cyBpbnRvIGFib3V0OnRyYWNpbmcu
CisgICAgdmlydHVhbCBUcmFjZUV2ZW50QVBJQXRvbWljV29yZCogZ2V0VHJhY2VTYW1wbGluZ1N0
YXRlKGNvbnN0IHVuc2lnbmVkIGJ1Y2tldE5hbWUpIHsgcmV0dXJuIDA7IH0KKwogICAgIC8vIEFk
ZCBhIHRyYWNlIGV2ZW50IHRvIHRoZSBwbGF0Zm9ybSB0cmFjaW5nIHN5c3RlbS4gRGVwZW5kaW5n
IG9uIHRoZSBhY3R1YWwKICAgICAvLyBlbmFibGVkIHN0YXRlLCB0aGlzIGV2ZW50IG1heSBiZSBy
ZWNvcmRlZCBvciBkcm9wcGVkLiAKICAgICAvLyAtIHBoYXNlIHNwZWNpZmllcyB0aGUgdHlwZSBv
ZiBldmVudDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50VHJhY2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50VHJhY2VyLmNwcAppbmRleCA4NTgw
MzYzY2RmMTRmZTYxZmYyMTBmMWIzNjkwZTZjYWM3ZWQxOWNhLi4yZmExOGFkNDQxMzMxZTVjNzM5
ZGNiNmJhNTZjNTgyMGMxMjdkNmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9FdmVudFRyYWNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRUcmFj
ZXIuY3BwCkBAIC0zMywxMSArMzMsMTYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCit2b2lk
IEV2ZW50VHJhY2VyOjppbml0aWFsaXplKCkKK3sKKyAgICByZXR1cm47Cit9CisgICAgCiBjb25z
dCB1bnNpZ25lZCBjaGFyKiBFdmVudFRyYWNlcjo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFn
KGNvbnN0IGNoYXIqKQogewogICAgIHJldHVybiAwOwogfQotICAgIAorCiB2b2lkIEV2ZW50VHJh
Y2VyOjphZGRUcmFjZUV2ZW50KGNoYXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgdW5zaWduZWQgY2hhciosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgY2hhciosCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9FdmVudFRyYWNlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRUcmFjZXIuaApp
bmRleCA3MzljMmIwOGE4MjBkYTU1MmVkY2VlZmFkNDViNWQ2MjFmZTg4MDg2Li44MzZlMmU5ZTQx
NTE5NjM1ZmNlYzk1ZjQyNjcyOWQ0NjUzMzczN2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9FdmVudFRyYWNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2
ZW50VHJhY2VyLmgKQEAgLTMzLDggKzMzLDE1IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
dHlwZWRlZiBsb25nIGludCBUcmFjZUV2ZW50QVBJQXRvbWljV29yZDsKKworZXh0ZXJuIFRyYWNl
RXZlbnRBUElBdG9taWNXb3JkKiB0cmFjZVNhbXBsaW5nU3RhdGUwOworZXh0ZXJuIFRyYWNlRXZl
bnRBUElBdG9taWNXb3JkKiB0cmFjZVNhbXBsaW5nU3RhdGUxOworZXh0ZXJuIFRyYWNlRXZlbnRB
UElBdG9taWNXb3JkKiB0cmFjZVNhbXBsaW5nU3RhdGUyOworCiBjbGFzcyBFdmVudFRyYWNlciB7
CiBwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwogICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyKiBnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3QgY2hhciop
OwogICAgIHN0YXRpYyB2b2lkIGFkZFRyYWNlRXZlbnQoY2hhciBwaGFzZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogY2F0ZWdvcnlFbmFibGVkRmxh
ZywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0V2ZW50VHJh
Y2VyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRXZlbnRU
cmFjZXJDaHJvbWl1bS5jcHAKaW5kZXggYzljMGI0NzAyNTM2OWM3NmMxYTNmYmYxN2Y0Zjk5Zjk1
ODE2ZjU1MC4uNThjY2RmOGM2ZWE4ODRjNTQ5NDFlM2Q1ZjNmNzc2ZThkMDQ5Yzg1OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRXZlbnRUcmFjZXJDaHJvbWl1
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRXZlbnRUcmFjZXJD
aHJvbWl1bS5jcHAKQEAgLTM1LDYgKzM1LDE3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
VHJhY2VFdmVudEFQSUF0b21pY1dvcmQqIHRyYWNlU2FtcGxpbmdTdGF0ZTA7CitUcmFjZUV2ZW50
QVBJQXRvbWljV29yZCogdHJhY2VTYW1wbGluZ1N0YXRlMTsKK1RyYWNlRXZlbnRBUElBdG9taWNX
b3JkKiB0cmFjZVNhbXBsaW5nU3RhdGUyOworCit2b2lkIEV2ZW50VHJhY2VyOjppbml0aWFsaXpl
KCkKK3sKKyAgICB0cmFjZVNhbXBsaW5nU3RhdGUwID0gV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVu
dCgpLT5nZXRUcmFjZVNhbXBsaW5nU3RhdGUoMCk7CisgICAgdHJhY2VTYW1wbGluZ1N0YXRlMSA9
IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+Z2V0VHJhY2VTYW1wbGluZ1N0YXRlKDEpOwor
ICAgIHRyYWNlU2FtcGxpbmdTdGF0ZTIgPSBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmdl
dFRyYWNlU2FtcGxpbmdTdGF0ZSgyKTsKK30KKyAgICAKIGNvbnN0IHVuc2lnbmVkIGNoYXIqIEV2
ZW50VHJhY2VyOjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3QgY2hhciogY2F0ZWdv
cnlOYW1lKQogewogICAgIHJldHVybiBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmdldFRy
YWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjYXRlZ29yeU5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oCmluZGV4IDA1NTIzMWUzMmUwNTM4ZjY0MTlj
MTZkYjJiMDE0MDY5ZjViODU0NzEuLjEyMzQ5YjM5MWUxOTJhOTQ0YjkwMTMxNGZlMDUyMmVjNmU3
NTYxYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1RyYWNl
RXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50
LmgKQEAgLTQyNyw2ICs0MjcsMTYgQEAKICAgICAgICAgY2F0ZWdvcnksIG5hbWUsIGlkLCBUUkFD
RV9FVkVOVF9GTEFHX0NPUFksIFwKICAgICAgICAgYXJnMV9uYW1lLCBhcmcxX3ZhbCwgYXJnMl9u
YW1lLCBhcmcyX3ZhbCkKIAorLy8gVXBkYXRlcyBhIGdsb2JhbCBzdGF0ZSB3aXRoICduYW1lJy4g
VGhlIHNhbXBsaW5nIHRocmVhZCB3aWxsIHJlYWQKKy8vIHRoZSB2YWx1ZSBwZXJpb2RpY2FsbHku
IFNUQVRFMCBpcyBmb3IgdGhlIG1haW4gdGhyZWFkLgorLy8gU1RBVEUxIGFuZCBTVEFURTIgd2ls
bCBiZSBwcmVzZXJ2ZWQgZm9yIG90aGVyIHRocmVhZHMuCisjZGVmaW5lIFRSQUNFX0VWRU5UX1NB
TVBMSU5HX1NUQVRFMChuYW1lKSBcCisgICAgSU5URVJOQUxfVFJBQ0VfRVZFTlRfU0FNUExJTkdf
U1RBVEUobmFtZSwgMCkKKyNkZWZpbmUgVFJBQ0VfRVZFTlRfU0FNUExJTkdfU1RBVEUxKG5hbWUp
IFwKKyAgICBJTlRFUk5BTF9UUkFDRV9FVkVOVF9TQU1QTElOR19TVEFURShuYW1lLCAxKQorI2Rl
ZmluZSBUUkFDRV9FVkVOVF9TQU1QTElOR19TVEFURTIobmFtZSkgXAorICAgIElOVEVSTkFMX1RS
QUNFX0VWRU5UX1NBTVBMSU5HX1NUQVRFKG5hbWUsIDIpCisKIC8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vCiAvLyBJbXBsZW1lbnRhdGlvbiBzcGVjaWZpYyB0cmFjaW5nIEFQSSBkZWZpbml0aW9ucy4K
IApAQCAtNTM3LDYgKzU0NywxOSBAQAogICAgIH0gd2hpbGUgKDApCiAjZW5kaWYKIAorLy8gSW1w
bGVtZW50YXRpb24gZGV0YWlsOiBpbnRlcm5hbCBtYWNybyB0byB1cGRhdGUgYSBnbG9iYWwgc3Rh
dGUgZm9yCisvLyB0aGUgc2FtcGxpbmcgcHJvZmlsZXIuCisvLyBGSVhNRTogVGhlIGN1cnJlbnQg
aW1wbGVtZW50YXRpb24gdXNlcyBvbmx5IG9uZSBnbG9iYWwgdmFyaWFibGUsCisvLyBhbmQgdGh1
cyBjYW5ub3QgdHJhY2Ugc3RhdGVzIG9mIG11bHRpcGxlIHRocmVhZHMuCisjaWYgQ09NUElMRVIo
TVNWQzdfT1JfTE9XRVIpCisjZGVmaW5lIElOVEVSTkFMX1RSQUNFX0VWRU5UX1NBTVBMSU5HX1NU
QVRFKGlnbm9yZSkgKCh2b2lkKTApCisjZWxzZQorI2RlZmluZSBJTlRFUk5BTF9UUkFDRV9FVkVO
VF9TQU1QTElOR19TVEFURShuYW1lLCB0aHJlYWRCdWNrZXQpIFwKKyAgICBkbyB7IFwKKyAgICAg
ICAgKldlYkNvcmU6OnRyYWNlU2FtcGxpbmdTdGF0ZSMjdGhyZWFkQnVja2V0ID0gcmVpbnRlcnBy
ZXRfY2FzdDxUcmFjZUV2ZW50QVBJQXRvbWljV29yZD4oIldlYktpdFwwIiBuYW1lKTsgXAorICAg
IH0gd2hpbGUgKDApOworI2VuZGlmCisKIC8vIE5vdGVzIHJlZ2FyZGluZyB0aGUgZm9sbG93aW5n
IGRlZmluaXRpb25zOgogLy8gTmV3IHZhbHVlcyBjYW4gYmUgYWRkZWQgYW5kIHByb3BhZ2F0ZWQg
dG8gdGhpcmQgcGFydHkgbGlicmFyaWVzLCBidXQgZXhpc3RpbmcKIC8vIGRlZmluaXRpb25zIG11
c3QgbmV2ZXIgYmUgY2hhbmdlZCwgYmVjYXVzZSB0aGlyZCBwYXJ0eSBsaWJyYXJpZXMgbWF5IHVz
ZSBvbGQKQEAgLTU1MSw2ICs1NzQsNyBAQAogI2RlZmluZSBUUkFDRV9FVkVOVF9QSEFTRV9BU1lO
Q19FTkQgICAoJ0YnKQogI2RlZmluZSBUUkFDRV9FVkVOVF9QSEFTRV9NRVRBREFUQSAoJ00nKQog
I2RlZmluZSBUUkFDRV9FVkVOVF9QSEFTRV9DT1VOVEVSICAoJ0MnKQorI2RlZmluZSBUUkFDRV9F
VkVOVF9QSEFTRV9TQU1QTEUgICgnUCcpCiAKIC8vIEZsYWdzIGZvciBjaGFuZ2luZyB0aGUgYmVo
YXZpb3Igb2YgVFJBQ0VfRVZFTlRfQVBJX0FERF9UUkFDRV9FVkVOVC4KICNkZWZpbmUgVFJBQ0Vf
RVZFTlRfRkxBR19OT05FICAgICAgICAoc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oMCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJLaXQuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViS2l0LmNwcAppbmRleCBmYTU2NmMxNjVjOTVhMzU4OTAz
NjQ1MzgxNTA5OWFhNTM2NGE4MzUwLi5lMjZmYjhlZjlkNWViNjYyZDY2NDgwMjc4NTdkYTdkYjE3
YjA0YmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJLaXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYktpdC5jcHAKQEAgLTMxLDYgKzMx
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXQuaCIKIAorI2luY2x1
ZGUgIkV2ZW50VHJhY2VyLmgiCiAjaW5jbHVkZSAiSW1hZ2VEZWNvZGluZ1N0b3JlLmgiCiAjaW5j
bHVkZSAiTGF5b3V0VGVzdFN1cHBvcnQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xNTYs
NiArMTU3LDggQEAgdm9pZCBpbml0aWFsaXplV2l0aG91dFY4KFBsYXRmb3JtKiB3ZWJLaXRQbGF0
Zm9ybVN1cHBvcnQpCiAgICAgLy8gdGhpcywgaW5pdGlhbGl6aW5nIHRoaXMgbGF6aWx5IHByb2Jh
Ymx5IGRvZXNuJ3QgYnV5IHVzIG11Y2guCiAgICAgV2ViQ29yZTo6VVRGOEVuY29kaW5nKCk7CiAK
KyAgICBXZWJDb3JlOjpFdmVudFRyYWNlcjo6aW5pdGlhbGl6ZSgpOworCiAjaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCiAgICAgV2ViQ29yZTo6c2V0SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZh
Y2VDcmVhdGVGdW5jdGlvbihXZWJLaXQ6OklEQkZhY3RvcnlCYWNrZW5kUHJveHk6OmNyZWF0ZSk7
CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>