<?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>105518</bug_id>
          
          <creation_ts>2012-12-20 02:28:32 -0800</creation_ts>
          <short_desc>&quot;PlaybackTime&quot; parameter is not present in AudioProcessingEvent Interface as per W3C spec</short_desc>
          <delta_ts>2014-04-15 13:01:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Audio</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="kdj">kdj.tikka</reporter>
          <assigned_to name="Praveen Jadhav">praveen.j</assigned_to>
          <cc>abarth</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>crogers</cc>
    
    <cc>dev_sachin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>glenn</cc>
    
    <cc>haraken</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>philipj</cc>
    
    <cc>praveen.j</cc>
    
    <cc>s.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>795303</commentid>
    <comment_count>0</comment_count>
    <who name="kdj">kdj.tikka</who>
    <bug_when>2012-12-20 02:28:32 -0800</bug_when>
    <thetext>As per W3C WebAudio Spec AudioProcessingEvent Interface should have parameters like below:

interface AudioProcessingEvent : Event {

        JavaScriptAudioNode node;
        readonly attribute float playbackTime;
        readonly attribute AudioBuffer inputBuffer;
        readonly attribute AudioBuffer outputBuffer; 

    }

W3C Spec link: http://www.w3.org/TR/2012/WD-webaudio-20120802/

The parameter &quot;playbackTime&quot; is not present in latest WebKit-137862. Also if required, necessary calculations to update the playbackTime parameter need to be implemented in AudioProcessingEvent.

Current Implementation AudioProcessingEvent.idl:
[
    Conditional=WEB_AUDIO,
    JSGenerateToJSObject
] interface AudioProcessingEvent : Event {
    readonly attribute AudioBuffer inputBuffer;
    readonly attribute AudioBuffer outputBuffer; 
};</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846139</commentid>
    <comment_count>1</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-03 19:32:43 -0800</bug_when>
    <thetext>Hi Chris Rogers,

I am interesting in proposing a patch for this issue. Shall I update?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846142</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2013-03-03 21:17:59 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Hi Chris Rogers,
&gt; 
&gt; I am interesting in proposing a patch for this issue. Shall I update?

You can give it a try, but it&apos;s a bit tricky since you have to account for the latency caused by the buffer size.  It&apos;s possible with careful work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846147</commentid>
    <comment_count>3</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-03 21:48:49 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; Hi Chris Rogers,
&gt; &gt; 
&gt; &gt; I am interesting in proposing a patch for this issue. Shall I update?
&gt; 
&gt; You can give it a try, but it&apos;s a bit tricky since you have to account for the latency caused by the buffer size.  It&apos;s possible with careful work.

Sorry for the typo. It should have been &quot;interested&quot; and not &quot;interesting&quot; in my previous comment.

About the playbackTime, shouldn&apos;t the value be just the context&apos;s currentTime plus inputBuffer&apos;s duration?
duration for a given ScriptProcessorNode object will remain a constant and accounts for the latency(time taken to play 1 buffer) and currentTime of the context provides the time offset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846183</commentid>
    <comment_count>4</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-04 00:00:36 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (In reply to comment #1)
&gt; &gt; &gt; Hi Chris Rogers,
&gt; &gt; &gt; 
&gt; &gt; &gt; I am interesting in proposing a patch for this issue. Shall I update?
&gt; &gt; 
&gt; &gt; You can give it a try, but it&apos;s a bit tricky since you have to account for the latency caused by the buffer size.  It&apos;s possible with careful work.
&gt; 
&gt; Sorry for the typo. It should have been &quot;interested&quot; and not &quot;interesting&quot; in my previous comment.
&gt; 
&gt; About the playbackTime, shouldn&apos;t the value be just the context&apos;s currentTime plus inputBuffer&apos;s duration?
&gt; duration for a given ScriptProcessorNode object will remain a constant and accounts for the latency(time taken to play 1 buffer) and currentTime of the context provides the time offset.

I tested with the above mentioned changes which takes care of the input time. But still the latency part is not handled with this as it depends on the nodes that are connected while processing the audio. Its indeed a tricky implementation.:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847296</commentid>
    <comment_count>5</comment_count>
      <attachid>191405</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-04 22:51:48 -0800</bug_when>
    <thetext>Created attachment 191405
Patch

Patch includes the basic implementation for &apos;playbackTime&apos; attribute in AudioProcessingEvent. Latency because of buffer size is handled by adding buffer duration to playback time(seems like a crude way though). Tested with basic cases and seems like it is working fine(needs more realtime cases to understand how exactly this will affect).
Delay caused by delayNode is not considered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847399</commentid>
    <comment_count>6</comment_count>
      <attachid>191405</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 00:59:56 -0800</bug_when>
    <thetext>Comment on attachment 191405
Patch

Attachment 191405 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17000012

New failing tests:
webaudio/audioprocessingevent-basic.html
webaudio/javascriptaudionode-zero-input-channels.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847482</commentid>
    <comment_count>7</comment_count>
      <attachid>191443</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-05 02:38:53 -0800</bug_when>
    <thetext>Created attachment 191443
Patch

Test case updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847523</commentid>
    <comment_count>8</comment_count>
      <attachid>191443</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 03:34:01 -0800</bug_when>
    <thetext>Comment on attachment 191443
Patch

Attachment 191443 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17009065

New failing tests:
webaudio/audioprocessingevent-basic.html
webaudio/javascriptaudionode-zero-input-channels.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848305</commentid>
    <comment_count>9</comment_count>
      <attachid>191618</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-05 17:32:35 -0800</bug_when>
    <thetext>Created attachment 191618
Patch

callback function &apos;process&apos; is changed to &apos;processAudioData&apos; in audioprocessingevent-basic.html. It seems strange that only chromium-ews fails.

Latency is calculated based on outputBuffer duration rather than inputBuffer&apos;s. As a null check is already inplace for outputBuffer for 0 numberOfOutputChannels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848343</commentid>
    <comment_count>10</comment_count>
      <attachid>191618</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 18:26:07 -0800</bug_when>
    <thetext>Comment on attachment 191618
Patch

Attachment 191618 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17081050

New failing tests:
webaudio/audioprocessingevent-basic.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848377</commentid>
    <comment_count>11</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-05 19:14:11 -0800</bug_when>
    <thetext>Hi Kentaro Hara,

Can you please review the patch I have included here?
It seems I am missing something in the new layout test case added here. Maybe &quot;context.oncomplete = finishJSTest&quot;(not sure). But the current approach is working for me. Only chromium-ews fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848430</commentid>
    <comment_count>12</comment_count>
      <attachid>191618</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-05 21:11:44 -0800</bug_when>
    <thetext>Comment on attachment 191618
Patch

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

&gt; Maybe &quot;context.oncomplete = finishJSTest&quot;(not sure). But the current approach is working for me. Only chromium-ews fails.

What is the failure?

&gt; Source/WebCore/ChangeLog:9
&gt; +        Attribute &quot;playbackTime&quot; in AudioProcessingEvent implemented to pass current audio time
&gt; +        of the context.

Please add the spec link here.

&gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.idl:29
&gt; +    readonly attribute double playbackTime;

The spec specifies &apos;float&apos; not &apos;double&apos;. You need to align the implementation with the spec or propose to change the spec:)

&gt; Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp:252
&gt; -        dispatchEvent(AudioProcessingEvent::create(inputBuffer, outputBuffer));
&gt; +        // FIXME: Delay node is not considered while calculating playbackTime. Latency should be retested with more scenarios.
&gt; +        dispatchEvent(AudioProcessingEvent::create(inputBuffer, outputBuffer, context()-&gt;currentTime() + outputBuffer-&gt;duration()));

Why is this change needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848449</commentid>
    <comment_count>13</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-05 21:53:14 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 191618 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191618&amp;action=review
&gt; 
&gt; &gt; Maybe &quot;context.oncomplete = finishJSTest&quot;(not sure). But the current approach is working for me. Only chromium-ews fails.
&gt; 
&gt; What is the failure?

The test case goes for timeout. The error log link is in the path http://webkit-commit-queue.appspot.com/results/17081050. I couldn&apos;t makeout the reason behind this failure. Any comments/suggestions will be appreciated.

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        Attribute &quot;playbackTime&quot; in AudioProcessingEvent implemented to pass current audio time
&gt; &gt; +        of the context.
&gt; 
&gt; Please add the spec link here.

I will take care of this in the next patch.

&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.idl:29
&gt; &gt; +    readonly attribute double playbackTime;
&gt; 
&gt; The spec specifies &apos;float&apos; not &apos;double&apos;. You need to align the implementation with the spec or propose to change the spec:)

WebAudio specifications https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioProcessingEvent actually says it is of &apos;double&apos; type:)

&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp:252
&gt; &gt; -        dispatchEvent(AudioProcessingEvent::create(inputBuffer, outputBuffer));
&gt; &gt; +        // FIXME: Delay node is not considered while calculating playbackTime. Latency should be retested with more scenarios.
&gt; &gt; +        dispatchEvent(AudioProcessingEvent::create(inputBuffer, outputBuffer, context()-&gt;currentTime() + outputBuffer-&gt;duration()));
&gt; 
&gt; Why is this change needed?

The value &quot;context()-&gt;currentTime() + outputBuffer-&gt;duration()&quot; informs the time at which the inputBuffer will be processed by ScriptProcessorNode.

2 inputBuffers and 2 outputBuffers of equal size based on &apos;bufferSize&apos; param are alloted when ScriptProcessorNode object is created and are indexed 0 and 1. The size of these inputBuffers/outputBuffers remains a constant throughout. Also, inputBuffer[0] and inputBuffer[1] are processed alternatively(same with outputBuffers). dispatchEvent() to create AudioProcessingEvent object is called periodically and immediately after one buffer is completely processed.

Hence the playbackTime of the next inputBuffer is context&apos;s currentTime() plus the total duration of outputBuffer(or inputBuffer) which provides the required offset to handle latency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848464</commentid>
    <comment_count>14</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-05 22:12:59 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt; What is the failure?
&gt; 
&gt; The test case goes for timeout. The error log link is in the path http://webkit-commit-queue.appspot.com/results/17081050. I couldn&apos;t makeout the reason behind this failure. Any comments/suggestions will be appreciated.
&gt; 

hmm, I have no idea...

&gt; &gt; &gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.idl:29
&gt; &gt; &gt; +    readonly attribute double playbackTime;
&gt; &gt; 
&gt; &gt; The spec specifies &apos;float&apos; not &apos;double&apos;. You need to align the implementation with the spec or propose to change the spec:)
&gt; 
&gt; WebAudio specifications https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioProcessingEvent actually says it is of &apos;double&apos; type:)

Makes sense!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848664</commentid>
    <comment_count>15</comment_count>
      <attachid>191697</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-06 02:50:12 -0800</bug_when>
    <thetext>Created attachment 191697
Patch

context.oncomplete = finishJSTest; included in the newly added test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848678</commentid>
    <comment_count>16</comment_count>
      <attachid>191697</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-06 03:13:19 -0800</bug_when>
    <thetext>Comment on attachment 191697
Patch

LGTM if it passes the chromium-bot. Please cq+ it after confirming the bot result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848686</commentid>
    <comment_count>17</comment_count>
      <attachid>191697</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-06 03:36:12 -0800</bug_when>
    <thetext>Comment on attachment 191697
Patch

Attachment 191697 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17003151

New failing tests:
webaudio/audioprocessingevent-basic.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848687</commentid>
    <comment_count>18</comment_count>
      <attachid>191697</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-06 03:36:51 -0800</bug_when>
    <thetext>Comment on attachment 191697
Patch

:(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848689</commentid>
    <comment_count>19</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-06 03:40:16 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 191697 [details])
&gt; :(

I am running out of ideas.. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848691</commentid>
    <comment_count>20</comment_count>
      <attachid>191697</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-06 03:48:05 -0800</bug_when>
    <thetext>Comment on attachment 191697
Patch

I tested locally and confirmed that the test times out.

I think it&apos;s easy to build chromium (especially if you have Linux or Mac).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850750</commentid>
    <comment_count>21</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-07 19:01:14 -0800</bug_when>
    <thetext>I tried building chromium on my Linux PC, but for security reasons downloading from http://src.chromium.org is blocked.

I went through all the other working test cases and observed that

if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

window.jsTestIsAsync = true;

is missing in the patch I uploaded. Explaination about this doesn&apos;t really relate to the timeout issue I face in chromium-bot.

Is this a mandatory requirement for chromium(especially in async test cases)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850761</commentid>
    <comment_count>22</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-07 19:17:58 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; I tried building chromium on my Linux PC, but for security reasons downloading from http://src.chromium.org is blocked.
&gt; 
&gt; I went through all the other working test cases and observed that
&gt; 
&gt; if (window.testRunner) {
&gt;     testRunner.dumpAsText();
&gt;     testRunner.waitUntilDone();
&gt; }
&gt; 
&gt; window.jsTestIsAsync = true;
&gt; 
&gt; is missing in the patch I uploaded. Explaination about this doesn&apos;t really relate to the timeout issue I face in chromium-bot.
&gt; 
&gt; Is this a mandatory requirement for chromium(especially in async test cases)?

I don&apos;t think the behavior is platform-dependent. jsTestIsAsync=true should be coupled with finishJSTest(). waitUntilDone() should be coupled with notifyDone(). Either of the two is enough.

Maybe in chromium the oncomplete handler is not triggered, is it? How about calling finishJSTest() at the end of processAudioData() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850765</commentid>
    <comment_count>23</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2013-03-07 19:21:06 -0800</bug_when>
    <thetext>Praveen, if we can&apos;t get a layout test confirming that the playbackTime is correct, can we create a manual test where the playbackTime is used to play a sin() tone with the phase controlled by the playbackTime.  Then we can use an AudioBufferSourceNode (or an OscillatorNode) playing a sin() tone with the inverse phase to verify that the tones overlay perfectly and cancel each other out (silence).  Does this make sense?  If the playbackTime is not correct, then there will be an audible tone.

I would like to make sure that if we implement the attribute that the value reported is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850770</commentid>
    <comment_count>24</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-07 19:21:49 -0800</bug_when>
    <thetext>Ah, got it.

Layout tests are running on cr-linux and mac only. And all Web Audio tests are disabled on mac. Thus, this would not be a chromium-specific problem. I guess that your test will fail on all platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850785</commentid>
    <comment_count>25</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-07 19:38:50 -0800</bug_when>
    <thetext>Chris, your suggestion makes sense as manual testing can make sure even the implementation is validated.
And as Kentaro Hara mentioned, the layout test I prepared might have an error.

I will retest the implementation and get back to you guys.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850786</commentid>
    <comment_count>26</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-07 19:39:55 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; I will retest the implementation and get back to you guys.

Thanks. Timeout means that finishJSTest() is not called. I&apos;d guess that the oncomplete handler is not called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852092</commentid>
    <comment_count>27</comment_count>
      <attachid>192417</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-11 00:55:16 -0700</bug_when>
    <thetext>Created attachment 192417
Patch

As discussed, patch has been updated with a manual test case.

Here, SINE wave from  Oscillator node is taken as an input and using playbackTime and buffer duration, inverse sine value is overlapped on the original source. The resultant output is amplified using gain node and then passed to destination. No sound(noise) heard at the output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852096</commentid>
    <comment_count>28</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-11 01:00:32 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; Created an attachment (id=192417) [details]
&gt; Patch
&gt; 
&gt; As discussed, patch has been updated with a manual test case.

Did you find why you cannot run the test on layout tests? Basically it&apos;s not a good idea to put a test into manual tests just because it fails on layout tests for an unknown reason. (I&apos;d like to leave the decision up to crogers@.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852118</commentid>
    <comment_count>29</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-11 01:37:33 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; (In reply to comment #27)
&gt; &gt; Created an attachment (id=192417) [details] [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; As discussed, patch has been updated with a manual test case.
&gt; 
&gt; Did you find why you cannot run the test on layout tests? Basically it&apos;s not a good idea to put a test into manual tests just because it fails on layout tests for an unknown reason. (I&apos;d like to leave the decision up to crogers@.)

After making so many trials, I am suspecting shouldBeDefined() which I am usin(In reply to comment #28)
&gt; (In reply to comment #27)
&gt; &gt; Created an attachment (id=192417) [details] [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; As discussed, patch has been updated with a manual test case.
&gt; 
&gt; Did you find why you cannot run the test on layout tests? Basically it&apos;s not a good idea to put a test into manual tests just because it fails on layout tests for an unknown reason. (I&apos;d like to leave the decision up to crogers@.)

I couldn&apos;t makeout the reason why LayoutTest failed. I would love to include both manual testcase as well as the layout testcase.

As you suggested in comment 22, I had included finishJSTest() in processAudioData() in my first and second patch. But that failed too. Then I suspected shouldBeDefined(). But that too is working fine in my local test using efl port.

One more possible pitfall was is in using
scriptAudioNode = context.createJavaScriptNode(4096, 1, 1); (learnt while creating manual test case. It went for an infinite loop unexpectedly). Instead of this, if I use scriptAudioNode = context.createJavaScriptNode(4096); with default input and output number of channels, It works fine. However, I can&apos;t verify if this is the actual reason for failing in chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852168</commentid>
    <comment_count>30</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-11 03:44:01 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; (In reply to comment #27)
&gt; &gt; Created an attachment (id=192417) [details] [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; As discussed, patch has been updated with a manual test case.
&gt; 
&gt; Did you find why you cannot run the test on layout tests? Basically it&apos;s not a good idea to put a test into manual tests just because it fails on layout tests for an unknown reason. (I&apos;d like to leave the decision up to crogers@.)

Apparently, I had made a mistake in LayoutTest case uploaded earlier by calling createJavaScriptNode() which is an older implementation. The new JS call, createScriptProcessor() seems to work fine.

Let me know if you want me to add the Layout test case as well. Layout test will check for the existance of all the attributes(basic test) and Manual test will make sure that value playbackTime passed in playback time is proper.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852170</commentid>
    <comment_count>31</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-11 03:45:20 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; Let me know if you want me to add the Layout test case as well. Layout test will check for the existance of all the attributes(basic test) and Manual test will make sure that value playbackTime passed in playback time is proper.

If there is a layout test, it&apos;s best:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852585</commentid>
    <comment_count>32</comment_count>
      <attachid>192417</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2013-03-11 12:37:02 -0700</bug_when>
    <thetext>Comment on attachment 192417
Patch

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

Looks like good progress is being made on the test, but it needs to be refined.  I agree with Kentaro that once we have the manual test properly working (which it isn&apos;t yet), then we will want to convert it to a proper layout test.  Please see resources/javascriptaudionode-testing.js and the several layout tests that use it to see how to make a working test for the ScriptProcessorNode.  Please note for this type of test the comment:

// For the current implementation of JavaScriptAudioNode, when it works with OfflineAudioContext (which runs much faster
// than real-time) the event.inputBuffer might be overwrite again before onaudioprocess ever get chance to be called.
// We carefully arrange the renderLengthInFrames and bufferSize to have exactly the same value to avoid this issue.

This means that the offline context must render for a duration which is only one or two times the buffer-size used in the ScriptProcessorNode (we only want the processAudioData() function to be called one time)

&gt; ManualTests/webaudio/audioprocessingevent-playback-manual.html:7
&gt; +        var scriptAudioNode = context.createScriptProcessor(4096);

In this case, we might as well create this node with 1 input channel and 1 output channel, since then we don&apos;t have to worry about left/right in processAudioData()

&gt; ManualTests/webaudio/audioprocessingevent-playback-manual.html:13
&gt; +        var frequency = 25;

This frequency is a bit low -- I suggest 100

&gt; ManualTests/webaudio/audioprocessingevent-playback-manual.html:14
&gt; +        var duration = 5000;

duration should be a value in seconds (5) and not use setTimeout() as I mention below

&gt; ManualTests/webaudio/audioprocessingevent-playback-manual.html:18
&gt; +            var inputArrayR = event.inputBuffer.getChannelData(1);

If the ScriptProcessorNode has 1 input channel and 1 output channel then we don&apos;t need to worry about left/right

&gt; ManualTests/webaudio/audioprocessingevent-playback-manual.html:23
&gt; +            var phase = (2 * Math.PI) * inputArrayL.duration * frequency;

inputArrayL.duration is not defined!  So phase ends up being NaN.  So this test is not really correctly testing silence, but is just rendering NaN
(which happens to kind of sound like silence :)  Once the comments below are fixed, be SUSPICIOUS and run the test with the &quot;offset&quot; purposefully moved to 
incorrect values to validate that a correct and pure sine wave is heard if not completely cancelled by inverse phase.

  The &quot;phase&quot; variable is not really correctly named and it depends on the input buffer length.
We&apos;d like this test to work correctly and render a sine wave for multiple buffers, so we need to keep the &quot;playbackIndex&quot; (what you&apos;re currently tracking as &quot;i&quot;) as state between calls to processAudioData(). 
Otherwise, as the code currently is, it will not render a continuous sine wave that has continuity between calls to processAudioData().   Instead it currently will render glitches at between buffers -- it&apos;s not seamless.

You&apos;ll want something like:

for (var i = 0; i &lt; n; ++i, ++renderIndex) {
    outputArray[i] = inputArray[i] - Math.sin(offset + (playbackIndex * phaseIncrement));
}

where the &quot;playbackIndex&quot; variable is initialized to 0 outside the scope of processAudioData()
and &quot;phaseIncrement&quot; is calculated based on sample-rate and the frequency

&gt; ManualTests/webaudio/audioprocessingevent-playback-manual.html:37
&gt; +            oscillator.noteOn(0);

please don&apos;t use noteOn() - the newer name is start()

&gt; ManualTests/webaudio/audioprocessingevent-playback-manual.html:38
&gt; +            setTimeout(function(){ oscillator.disconnect(); }, duration);

please don&apos;t use setTimeout()!  Instead use stop().  Overall, you can have something like:

            var startTime = context.currentTime;
            oscillator.start(startTime);
            oscillator.stop(startTime + duration);

&gt; ManualTests/webaudio/audioprocessingevent-playback-manual.html:51
&gt; +            setTimeout(function(){ scriptAudioNode.onaudioprocess = null; scriptAudioNode.disconnect(); oscillator.disconnect(); }, duration);

ditto, no setTimeout()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855736</commentid>
    <comment_count>33</comment_count>
      <attachid>193241</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-14 23:35:05 -0700</bug_when>
    <thetext>Created attachment 193241
WIP

Good thing to have pointed out &quot;inputArrayL.duration&quot; not defined. I did some more trials with the test case and have updated the comments.

I couldn&apos;t verify the test with OfflineAudioContext because of audio rendering and hence continued with normal AudioContext. However, I have made provision to cyclically increase bufferSize of scriptProcessorNode with each test. i.e., scriptProcessorNode will be created with bufferSize of 256, 512, 1024,..., 16384, 256, 512..etc so that we can verify for all bufferSize values.

Glitch happens with this test at lower bufferSize(256 and 512) values and as the size increases, there is not noticable glitch problem. Also, In the current testcase, audio glitch is noticable when switching from first callback to second in all cases since outputBuffer will be filled with 0s before that.

I have replaced noteOn() with start() but not using stop() as I need a callback function to reset onaudioprocess to null at the end of &apos;duration&apos;(else, audio continues to play data generated by Math.sin() function).

I have included a layout test case to validate attributes of AudioProcessingEvent as well. In this case, I am using createScriptProcessor() instead of createJavaScriptNode() to correct Timeout error observed in earlier patches. Not sure if we can include the changes implemented in manual test case to layout test as this shouldn&apos;t be automated.


Finally, about the logic, m_playbackTime variable is introduced and its value is set before calling callOnMainThread()(to avoid glitch issue between buffers). The output of the overlapping SINE waves is not exactly silent always, but varies with each test from 0 to 2 radians(~116 degrees) for 100Hz frequency and outputBuffer always lagged behind inputBuffer. This works out be to a delay of upto 3ms than the calculated value in m_playbackTime. I tried with below logic to account for the delay:

           m_playbackTime = context()-&gt;currentTime() + outputBuffer-&gt;duration() - (framesToProcess / context()-&gt;sampleRate());

but the phase variation changed for each test. Any inputs for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855774</commentid>
    <comment_count>34</comment_count>
      <attachid>193241</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-15 00:33:25 -0700</bug_when>
    <thetext>Comment on attachment 193241
WIP

Attachment 193241 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17218097

New failing tests:
webaudio/audioprocessingevent-basic.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855892</commentid>
    <comment_count>35</comment_count>
      <attachid>193280</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-15 04:36:44 -0700</bug_when>
    <thetext>Created attachment 193280
Patch

Patch updated with layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855916</commentid>
    <comment_count>36</comment_count>
      <attachid>193280</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-15 05:42:30 -0700</bug_when>
    <thetext>Comment on attachment 193280
Patch

Attachment 193280 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17074653

New failing tests:
webaudio/audioprocessingevent-basic.html
fast/js/dfg-inline-resolve.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856231</commentid>
    <comment_count>37</comment_count>
    <who name="Soo-Hyun Choi">s.choi</who>
    <bug_when>2013-03-15 13:18:53 -0700</bug_when>
    <thetext>FYI - changed the assignee to Praveen Jadhav &lt;praveen.j@samsung.com&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856565</commentid>
    <comment_count>38</comment_count>
      <attachid>193436</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-16 04:18:01 -0700</bug_when>
    <thetext>Created attachment 193436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862337</commentid>
    <comment_count>39</comment_count>
      <attachid>194741</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-24 03:21:04 -0700</bug_when>
    <thetext>Created attachment 194741
Patch

Manual test case removed and layout test case updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867097</commentid>
    <comment_count>40</comment_count>
      <attachid>194741</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-01 06:48:45 -0700</bug_when>
    <thetext>Comment on attachment 194741
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Attribute &quot;playbackTime&quot; in AudioProcessingEvent implemented to pass current audio time

According to the spec, playbackTime is not necessarily the current audio time of the context. It is the time when the audio will be played, in the same time coordinate system as AudioContext.currentTime.

&gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.cpp:41
&gt; +PassRefPtr&lt;AudioProcessingEvent&gt; AudioProcessingEvent::create(PassRefPtr&lt;AudioBuffer&gt; inputBuffer, PassRefPtr&lt;AudioBuffer&gt; outputBuffer, double time)

&quot;playbackTime&quot;?

&gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.cpp:46
&gt;  AudioProcessingEvent::AudioProcessingEvent()

We should probably initialize m_playbackTime to 0 here to be safe.

&gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.cpp:50
&gt; +AudioProcessingEvent::AudioProcessingEvent(PassRefPtr&lt;AudioBuffer&gt; inputBuffer, PassRefPtr&lt;AudioBuffer&gt; outputBuffer, double time)

&quot;playbackTime&quot;?

&gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.h:40
&gt; +    static PassRefPtr&lt;AudioProcessingEvent&gt; create(PassRefPtr&lt;AudioBuffer&gt; inputBuffer, PassRefPtr&lt;AudioBuffer&gt; outputBuffer, double time);

&quot;playbackTime&quot;?

&gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.h:46
&gt; +    double playbackTime() { return m_playbackTime; }

Getter could be const.

&gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.h:52
&gt; +    AudioProcessingEvent(PassRefPtr&lt;AudioBuffer&gt; inputBuffer, PassRefPtr&lt;AudioBuffer&gt; outputBuffer, double time);

&quot;playbackTime&quot;?

&gt; Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp:200
&gt; +        m_playbackTime = (m_playbackTime &gt; 0) ? m_playbackTime : 0;

m_playbackTime = std::max(0., context()-&gt;currentTime() - outputBuffer-&gt;duration()); // might be clearer.

&gt; Source/WebCore/Modules/webaudio/ScriptProcessorNode.h:111
&gt; +    // For AudioProcessingEvent

Not really needed. In any case, should end with a period.

&gt; LayoutTests/webaudio/audioprocessingevent.html:38
&gt; +    for (var i = 0; i &lt; n; ++i) {

Curly brackets can be omitted.

&gt; LayoutTests/webaudio/audioprocessingevent.html:43
&gt; +        if (outputArray[i].toFixed(3) != 0.000)

shouldBeCloseTo() from js-test-pre.js may do what you want and will print out something if the the check passes, not only if it fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869036</commentid>
    <comment_count>41</comment_count>
      <attachid>196446</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-04-04 00:03:19 -0700</bug_when>
    <thetext>Created attachment 196446
Patch

Updated patch attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869037</commentid>
    <comment_count>42</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-04-04 00:07:35 -0700</bug_when>
    <thetext>(In reply to comment #40)
&gt; (From update of attachment 194741 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194741&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        Attribute &quot;playbackTime&quot; in AudioProcessingEvent implemented to pass current audio time
&gt; 
&gt; According to the spec, playbackTime is not necessarily the current audio time of the context. It is the time when the audio will be played, in the same time coordinate system as AudioContext.currentTime.
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.cpp:41
&gt; &gt; +PassRefPtr&lt;AudioProcessingEvent&gt; AudioProcessingEvent::create(PassRefPtr&lt;AudioBuffer&gt; inputBuffer, PassRefPtr&lt;AudioBuffer&gt; outputBuffer, double time)
&gt; 
&gt; &quot;playbackTime&quot;?
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.cpp:46
&gt; &gt;  AudioProcessingEvent::AudioProcessingEvent()
&gt; 
&gt; We should probably initialize m_playbackTime to 0 here to be safe.
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.cpp:50
&gt; &gt; +AudioProcessingEvent::AudioProcessingEvent(PassRefPtr&lt;AudioBuffer&gt; inputBuffer, PassRefPtr&lt;AudioBuffer&gt; outputBuffer, double time)
&gt; 
&gt; &quot;playbackTime&quot;?
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.h:40
&gt; &gt; +    static PassRefPtr&lt;AudioProcessingEvent&gt; create(PassRefPtr&lt;AudioBuffer&gt; inputBuffer, PassRefPtr&lt;AudioBuffer&gt; outputBuffer, double time);
&gt; 
&gt; &quot;playbackTime&quot;?
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.h:46
&gt; &gt; +    double playbackTime() { return m_playbackTime; }
&gt; 
&gt; Getter could be const.
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/AudioProcessingEvent.h:52
&gt; &gt; +    AudioProcessingEvent(PassRefPtr&lt;AudioBuffer&gt; inputBuffer, PassRefPtr&lt;AudioBuffer&gt; outputBuffer, double time);
&gt; 
&gt; &quot;playbackTime&quot;?
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp:200
&gt; &gt; +        m_playbackTime = (m_playbackTime &gt; 0) ? m_playbackTime : 0;
&gt; 
&gt; m_playbackTime = std::max(0., context()-&gt;currentTime() - outputBuffer-&gt;duration()); // might be clearer.
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/ScriptProcessorNode.h:111
&gt; &gt; +    // For AudioProcessingEvent
&gt; 
&gt; Not really needed. In any case, should end with a period.
&gt; 
&gt; &gt; LayoutTests/webaudio/audioprocessingevent.html:38
&gt; &gt; +    for (var i = 0; i &lt; n; ++i) {
&gt; 
&gt; Curly brackets can be omitted.
&gt; 
&gt; &gt; LayoutTests/webaudio/audioprocessingevent.html:43
&gt; &gt; +        if (outputArray[i].toFixed(3) != 0.000)
&gt; 
&gt; shouldBeCloseTo() from js-test-pre.js may do what you want and will print out something if the the check passes, not only if it fails.

All your comments are included in the latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869507</commentid>
    <comment_count>43</comment_count>
      <attachid>196446</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-04 18:59:38 -0700</bug_when>
    <thetext>Comment on attachment 196446
Patch

Attachment 196446 did not pass win-ews (win):
Output: http://webkit-commit-queue.appspot.com/results/17453269</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872672</commentid>
    <comment_count>44</comment_count>
      <attachid>197229</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-04-10 02:30:23 -0700</bug_when>
    <thetext>Created attachment 197229
Patch

Fourth param of ShouldBeCloseTo() is set to true since a huge test expected file is required if it is not done so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976995</commentid>
    <comment_count>45</comment_count>
      <attachid>197229</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-05 11:21:16 -0800</bug_when>
    <thetext>Comment on attachment 197229
Patch

Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999490</commentid>
    <comment_count>46</comment_count>
      <attachid>229040</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2014-04-10 03:43:42 -0700</bug_when>
    <thetext>Created attachment 229040
Patch

Patch based on Blink source change https://codereview.chromium.org/210973002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999521</commentid>
    <comment_count>47</comment_count>
      <attachid>229040</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-04-10 07:11:46 -0700</bug_when>
    <thetext>Comment on attachment 229040
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Attribute &quot;playbackTime&quot; in AudioProcessingEvent implemented to pass playback time of
&gt; +        audiobuffer associated with ScriptProcessorNode of the context.

Please reference the Blink bug this is based on.

&gt; Source/WebCore/Modules/webaudio/ScriptProcessorNode.cpp:261
&gt; +        double playbackTime = (context()-&gt;currentSampleFrame() + m_bufferSize) /static_cast&lt;double&gt;(context()-&gt;sampleRate());

Nit: missing space after &quot;/&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999762</commentid>
    <comment_count>48</comment_count>
      <attachid>229099</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2014-04-10 20:17:03 -0700</bug_when>
    <thetext>Created attachment 229099
Patch

Patch updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999899</commentid>
    <comment_count>49</comment_count>
      <attachid>229099</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-04-11 09:22:22 -0700</bug_when>
    <thetext>Comment on attachment 229099
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999911</commentid>
    <comment_count>50</comment_count>
      <attachid>229099</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-11 09:53:05 -0700</bug_when>
    <thetext>Comment on attachment 229099
Patch

Clearing flags on attachment: 229099

Committed r167131: &lt;http://trac.webkit.org/changeset/167131&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999912</commentid>
    <comment_count>51</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-11 09:53:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000931</commentid>
    <comment_count>52</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-15 13:01:55 -0700</bug_when>
    <thetext>Unfortunately, script processor nodes are somewhat broken currently (see bug 112521), so I had to add a TestExpectation for the test added here, effectively disabling it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191405</attachid>
            <date>2013-03-04 22:51:48 -0800</date>
            <delta_ts>2013-03-05 02:38:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-105518.txt</filename>
            <type>text/plain</type>
            <size>8670</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAyLTI4ICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFja1Rp
bWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRl
cmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVkaW9Qcm9jZXNzaW5n
RXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBjdXJyZW50IGF1ZGlvIHRpbWUKKyAgICAgICAgb2Yg
dGhlIGNvbnRleHQuCisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZl
bnQtYmFzaWMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3Np
bmdFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nl
c3NpbmdFdmVudCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdF
dmVudC5oOgorICAgICAgICAoQXVkaW9Qcm9jZXNzaW5nRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OnBsYXliYWNrVGltZSk6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGw6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dFByb2Nlc3Nvck5vZGU6OmZpcmVQcm9jZXNzRXZlbnQpOgorCiAyMDEzLTAyLTI4ICBLZW50IFRh
bXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMTQ0MTg0LgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b1Byb2Nlc3NpbmdFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAJKHJldmlzaW9uIDE0NDI3MSkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxOSArMzgsMjAgQEAgUGFzc1JlZlB0cjxBdWRpb1Byb2Nl
c3NpbmdFdmVudD4gQXVkaW9QcgogICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9jZXNz
aW5nRXZlbnQpOwogfQogCi1QYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBBdWRpb1By
b2Nlc3NpbmdFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVy
LCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIpCitQYXNzUmVmUHRyPEF1ZGlv
UHJvY2Vzc2luZ0V2ZW50PiBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8
QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRC
dWZmZXIsIGRvdWJsZSB0aW1lKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9j
ZXNzaW5nRXZlbnQoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlcikpOworICAgIHJldHVybiBhZG9w
dFJlZihuZXcgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlciwg
dGltZSkpOwogfQogCiBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQo
KQogewogfQogCi1BdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQoUGFz
c1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+
IG91dHB1dEJ1ZmZlcikKK0F1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVu
dChQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1
ZmZlcj4gb3V0cHV0QnVmZmVyLCBkb3VibGUgdGltZSkKICAgICA6IEV2ZW50KGV2ZW50TmFtZXMo
KS5hdWRpb3Byb2Nlc3NFdmVudCwgdHJ1ZSwgZmFsc2UpCiAgICAgLCBtX2lucHV0QnVmZmVyKGlu
cHV0QnVmZmVyKQogICAgICwgbV9vdXRwdXRCdWZmZXIob3V0cHV0QnVmZmVyKQorICAgICwgbV9w
bGF5YmFja1RpbWUodGltZSkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaAkocmV2aXNpb24gMTQ0
MjcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdF
dmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxNCArMzMsMTUgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgQXVkaW9CdWZmZXI7Ci0gICAgCisKIGNsYXNzIEF1ZGlvUHJvY2Vzc2lu
Z0V2ZW50IDogcHVibGljIEV2ZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxB
dWRpb1Byb2Nlc3NpbmdFdmVudD4gY3JlYXRlKCk7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8QXVk
aW9Qcm9jZXNzaW5nRXZlbnQ+IGNyZWF0ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1
ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyKTsKLSAgICAKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gY3JlYXRlKFBhc3NSZWZQdHI8
QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRC
dWZmZXIsIGRvdWJsZSB0aW1lKTsKKwogICAgIHZpcnR1YWwgfkF1ZGlvUHJvY2Vzc2luZ0V2ZW50
KCk7CiAKKyAgICBkb3VibGUgcGxheWJhY2tUaW1lKCkgeyByZXR1cm4gbV9wbGF5YmFja1RpbWU7
IH0KICAgICBBdWRpb0J1ZmZlciogaW5wdXRCdWZmZXIoKSB7IHJldHVybiBtX2lucHV0QnVmZmVy
LmdldCgpOyB9CiAgICAgQXVkaW9CdWZmZXIqIG91dHB1dEJ1ZmZlcigpIHsgcmV0dXJuIG1fb3V0
cHV0QnVmZmVyLmdldCgpOyB9CiAKQEAgLTQ4LDEwICs0OSwxMSBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAgICAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoKTsKLSAgICBBdWRpb1Byb2Nlc3NpbmdFdmVu
dChQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1
ZmZlcj4gb3V0cHV0QnVmZmVyKTsKKyAgICBBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRy
PEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0
QnVmZmVyLCBkb3VibGUgdGltZSk7CiAKICAgICBSZWZQdHI8QXVkaW9CdWZmZXI+IG1faW5wdXRC
dWZmZXI7CiAgICAgUmVmUHRyPEF1ZGlvQnVmZmVyPiBtX291dHB1dEJ1ZmZlcjsKKyAgICBkb3Vi
bGUgbV9wbGF5YmFja1RpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vz
c2luZ0V2ZW50LmlkbAkocmV2aXNpb24gMTQ0MjcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDYgKzI2LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRv
SlNPYmplY3QKIF0gaW50ZXJmYWNlIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IDogRXZlbnQgeworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgcGxheWJhY2tUaW1lOwogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBBdWRpb0J1ZmZlciBpbnB1dEJ1ZmZlcjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
QXVkaW9CdWZmZXIgb3V0cHV0QnVmZmVyOyAKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAJKHJldmlz
aW9uIDE0NDI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJv
Y2Vzc29yTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMCwxMiArMjMwLDEyIEBAIHZvaWQg
U2NyaXB0UHJvY2Vzc29yTm9kZTo6ZmlyZVByb2Nlc3NFdmUKIHZvaWQgU2NyaXB0UHJvY2Vzc29y
Tm9kZTo6ZmlyZVByb2Nlc3NFdmVudCgpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpICYm
IG1faXNSZXF1ZXN0T3V0c3RhbmRpbmcpOwotICAgIAorCiAgICAgYm9vbCBpc0luZGV4R29vZCA9
IG1fZG91YmxlQnVmZmVySW5kZXhGb3JFdmVudCA8IDI7CiAgICAgQVNTRVJUKGlzSW5kZXhHb29k
KTsKICAgICBpZiAoIWlzSW5kZXhHb29kKQogICAgICAgICByZXR1cm47Ci0gICAgICAgIAorCiAg
ICAgQXVkaW9CdWZmZXIqIGlucHV0QnVmZmVyID0gbV9pbnB1dEJ1ZmZlcnNbbV9kb3VibGVCdWZm
ZXJJbmRleEZvckV2ZW50XS5nZXQoKTsKICAgICBBdWRpb0J1ZmZlciogb3V0cHV0QnVmZmVyID0g
bV9vdXRwdXRCdWZmZXJzW21fZG91YmxlQnVmZmVySW5kZXhGb3JFdmVudF0uZ2V0KCk7CiAgICAg
QVNTRVJUKG91dHB1dEJ1ZmZlcik7CkBAIC0yNDYsOSArMjQ2LDEwIEBAIHZvaWQgU2NyaXB0UHJv
Y2Vzc29yTm9kZTo6ZmlyZVByb2Nlc3NFdmUKICAgICBpZiAoY29udGV4dCgpLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpIHsKICAgICAgICAgLy8gTGV0IHRoZSBhdWRpbyB0aHJlYWQga25vdyB3
ZSd2ZSBnb3R0ZW4gdG8gdGhlIHBvaW50IHdoZXJlIGl0J3MgT0sgZm9yIGl0IHRvIG1ha2UgYW5v
dGhlciByZXF1ZXN0LgogICAgICAgICBtX2lzUmVxdWVzdE91dHN0YW5kaW5nID0gZmFsc2U7Ci0g
ICAgICAgIAorCiAgICAgICAgIC8vIENhbGwgdGhlIEphdmFTY3JpcHQgZXZlbnQgaGFuZGxlciB3
aGljaCB3aWxsIGRvIHRoZSBhdWRpbyBwcm9jZXNzaW5nLgotICAgICAgICBkaXNwYXRjaEV2ZW50
KEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpjcmVhdGUoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlcikp
OworICAgICAgICAvLyBGSVhNRTogRGVsYXkgbm9kZSBpcyBub3QgY29uc2lkZXJlZCB3aGlsZSBj
YWxjdWxhdGluZyBwbGF5YmFja1RpbWUuIExhdGVuY3kgc2hvdWxkIGJlIHJldGVzdGVkIHdpdGgg
bW9yZSBzY2VuYXJpb3MuCisgICAgICAgIGRpc3BhdGNoRXZlbnQoQXVkaW9Qcm9jZXNzaW5nRXZl
bnQ6OmNyZWF0ZShpbnB1dEJ1ZmZlciwgb3V0cHV0QnVmZmVyLCBjb250ZXh0KCktPmN1cnJlbnRU
aW1lKCkgKyBpbnB1dEJ1ZmZlci0+ZHVyYXRpb24oKSkpOwogICAgIH0KIH0KIApJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gMTQ0MjcxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDItMjggIFByYXZlZW4gUiBKYWRoYXYgIDxwcmF2ZWVu
LmpAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgIlBsYXliYWNrVGltZSIgcGFyYW1ldGVyIGlzIG5v
dCBwcmVzZW50IGluIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IEludGVyZmFjZSBhcyBwZXIgVzNDIHNw
ZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTUx
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Qg
Y2FzZSBhZGRlZCB0byBjaGVjayBBdWRpb1Byb2Nlc3NpbmdFdmVudCBhdHRyaWJ1dGVzLgorCisg
ICAgICAgICogd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy5o
dG1sOiBBZGRlZC4KKwogMjAxMy0wMi0yOCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0NDE4NC4KSW5kZXg6IExh
eW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVu
dC1iYXNpYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy93ZWJhdWRp
by9hdWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTEgQEAKK1Rlc3RzIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IGF0dHJpYnV0ZXMgaW4g
SURMLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgZXZlbnQucGxheWJhY2tU
aW1lIGlzIGRlZmluZWQuCitQQVNTIGV2ZW50LmlucHV0QnVmZmVyIGlzIGRlZmluZWQuCitQQVNT
IGV2ZW50Lm91dHB1dEJ1ZmZlciBpcyBkZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3dlYmF1ZGlvL2F1
ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKwk8
aGVhZD4KKwkJPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKwkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVzb3Vy
Y2VzL2F1ZGlvLXRlc3RpbmcuanMiPjwvc2NyaXB0PgorCTwvaGVhZD4KKwk8Ym9keT4KKwkJPHNj
cmlwdD4KKwkJCWRlc2NyaXB0aW9uKCJUZXN0cyBBdWRpb1Byb2Nlc3NpbmdFdmVudCBhdHRyaWJ1
dGVzIGluIElETC4iKTsKKworCQkJdmFyIGNvbnRleHQ7CisJCQl2YXIgc2NyaXB0QXVkaW9Ob2Rl
OworCQkJdmFyIGFuYWx5c2VyOworCisJCQlmdW5jdGlvbiBwcm9jZXNzKGV2ZW50KSB7CisJCQkJ
c2NyaXB0QXVkaW9Ob2RlLm9uYXVkaW9wcm9jZXNzID0gbnVsbDsKKworCQkJCXNob3VsZEJlRGVm
aW5lZCgiZXZlbnQucGxheWJhY2tUaW1lIik7CisJCQkJc2hvdWxkQmVEZWZpbmVkKCJldmVudC5p
bnB1dEJ1ZmZlciIpOworCQkJCXNob3VsZEJlRGVmaW5lZCgiZXZlbnQub3V0cHV0QnVmZmVyIik7
CisKKwkJCQlzY3JpcHRBdWRpb05vZGUuZGlzY29ubmVjdCgwKTsKKwkJCQlmaW5pc2hKU1Rlc3Qo
KTsKKwkJCX0KKworCQkJZnVuY3Rpb24gcnVuVGVzdCgpIHsKKwkJCQl3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CisKKwkJCQljb250ZXh0ID0gbmV3IHdlYmtpdEF1ZGlvQ29udGV4dCgpOwor
CisJCQkJc2NyaXB0QXVkaW9Ob2RlID0gY29udGV4dC5jcmVhdGVKYXZhU2NyaXB0Tm9kZSg0MDk2
LCAxLCAxKTsKKwkJCQlzY3JpcHRBdWRpb05vZGUub25hdWRpb3Byb2Nlc3MgPSBwcm9jZXNzOwor
CisJCQkJYW5hbHlzZXIgPSBjb250ZXh0LmNyZWF0ZUFuYWx5c2VyKCk7CisJCQkJYW5hbHlzZXIu
ZmZ0U2l6ZSA9IDIwNDg7CisKKwkJCQlzY3JpcHRBdWRpb05vZGUuY29ubmVjdChhbmFseXNlcik7
CisJCQl9CisKKwkJCXJ1blRlc3QoKTsKKwkJPC9zY3JpcHQ+CisJCTxzY3JpcHQgc3JjPSIuLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCTwvYm9keT4KKzwv
aHRtbD4K
</data>
<flag name="commit-queue"
          id="212360"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191443</attachid>
            <date>2013-03-05 02:38:53 -0800</date>
            <delta_ts>2013-03-05 17:32:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-105518.txt</filename>
            <type>text/plain</type>
            <size>9116</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAyLTI4ICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFja1Rp
bWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRl
cmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVkaW9Qcm9jZXNzaW5n
RXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBjdXJyZW50IGF1ZGlvIHRpbWUKKyAgICAgICAgb2Yg
dGhlIGNvbnRleHQuCisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZl
bnQtYmFzaWMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3Np
bmdFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nl
c3NpbmdFdmVudCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdF
dmVudC5oOgorICAgICAgICAoQXVkaW9Qcm9jZXNzaW5nRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OnBsYXliYWNrVGltZSk6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGw6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dFByb2Nlc3Nvck5vZGU6OmZpcmVQcm9jZXNzRXZlbnQpOgorCiAyMDEzLTAyLTI4ICBLZW50IFRh
bXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMTQ0MTg0LgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b1Byb2Nlc3NpbmdFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAJKHJldmlzaW9uIDE0NDI3MSkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxOSArMzgsMjAgQEAgUGFzc1JlZlB0cjxBdWRpb1Byb2Nl
c3NpbmdFdmVudD4gQXVkaW9QcgogICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9jZXNz
aW5nRXZlbnQpOwogfQogCi1QYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBBdWRpb1By
b2Nlc3NpbmdFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVy
LCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIpCitQYXNzUmVmUHRyPEF1ZGlv
UHJvY2Vzc2luZ0V2ZW50PiBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8
QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRC
dWZmZXIsIGRvdWJsZSB0aW1lKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9j
ZXNzaW5nRXZlbnQoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlcikpOworICAgIHJldHVybiBhZG9w
dFJlZihuZXcgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlciwg
dGltZSkpOwogfQogCiBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQo
KQogewogfQogCi1BdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQoUGFz
c1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+
IG91dHB1dEJ1ZmZlcikKK0F1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVu
dChQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1
ZmZlcj4gb3V0cHV0QnVmZmVyLCBkb3VibGUgdGltZSkKICAgICA6IEV2ZW50KGV2ZW50TmFtZXMo
KS5hdWRpb3Byb2Nlc3NFdmVudCwgdHJ1ZSwgZmFsc2UpCiAgICAgLCBtX2lucHV0QnVmZmVyKGlu
cHV0QnVmZmVyKQogICAgICwgbV9vdXRwdXRCdWZmZXIob3V0cHV0QnVmZmVyKQorICAgICwgbV9w
bGF5YmFja1RpbWUodGltZSkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaAkocmV2aXNpb24gMTQ0
MjcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdF
dmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxNCArMzMsMTUgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgQXVkaW9CdWZmZXI7Ci0gICAgCisKIGNsYXNzIEF1ZGlvUHJvY2Vzc2lu
Z0V2ZW50IDogcHVibGljIEV2ZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxB
dWRpb1Byb2Nlc3NpbmdFdmVudD4gY3JlYXRlKCk7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8QXVk
aW9Qcm9jZXNzaW5nRXZlbnQ+IGNyZWF0ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1
ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyKTsKLSAgICAKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gY3JlYXRlKFBhc3NSZWZQdHI8
QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRC
dWZmZXIsIGRvdWJsZSB0aW1lKTsKKwogICAgIHZpcnR1YWwgfkF1ZGlvUHJvY2Vzc2luZ0V2ZW50
KCk7CiAKKyAgICBkb3VibGUgcGxheWJhY2tUaW1lKCkgeyByZXR1cm4gbV9wbGF5YmFja1RpbWU7
IH0KICAgICBBdWRpb0J1ZmZlciogaW5wdXRCdWZmZXIoKSB7IHJldHVybiBtX2lucHV0QnVmZmVy
LmdldCgpOyB9CiAgICAgQXVkaW9CdWZmZXIqIG91dHB1dEJ1ZmZlcigpIHsgcmV0dXJuIG1fb3V0
cHV0QnVmZmVyLmdldCgpOyB9CiAKQEAgLTQ4LDEwICs0OSwxMSBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAgICAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoKTsKLSAgICBBdWRpb1Byb2Nlc3NpbmdFdmVu
dChQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1
ZmZlcj4gb3V0cHV0QnVmZmVyKTsKKyAgICBBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRy
PEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0
QnVmZmVyLCBkb3VibGUgdGltZSk7CiAKICAgICBSZWZQdHI8QXVkaW9CdWZmZXI+IG1faW5wdXRC
dWZmZXI7CiAgICAgUmVmUHRyPEF1ZGlvQnVmZmVyPiBtX291dHB1dEJ1ZmZlcjsKKyAgICBkb3Vi
bGUgbV9wbGF5YmFja1RpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vz
c2luZ0V2ZW50LmlkbAkocmV2aXNpb24gMTQ0MjcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDYgKzI2LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRv
SlNPYmplY3QKIF0gaW50ZXJmYWNlIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IDogRXZlbnQgeworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgcGxheWJhY2tUaW1lOwogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBBdWRpb0J1ZmZlciBpbnB1dEJ1ZmZlcjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
QXVkaW9CdWZmZXIgb3V0cHV0QnVmZmVyOyAKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAJKHJldmlz
aW9uIDE0NDI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJv
Y2Vzc29yTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMCwxMiArMjMwLDEyIEBAIHZvaWQg
U2NyaXB0UHJvY2Vzc29yTm9kZTo6ZmlyZVByb2Nlc3NFdmUKIHZvaWQgU2NyaXB0UHJvY2Vzc29y
Tm9kZTo6ZmlyZVByb2Nlc3NFdmVudCgpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpICYm
IG1faXNSZXF1ZXN0T3V0c3RhbmRpbmcpOwotICAgIAorCiAgICAgYm9vbCBpc0luZGV4R29vZCA9
IG1fZG91YmxlQnVmZmVySW5kZXhGb3JFdmVudCA8IDI7CiAgICAgQVNTRVJUKGlzSW5kZXhHb29k
KTsKICAgICBpZiAoIWlzSW5kZXhHb29kKQogICAgICAgICByZXR1cm47Ci0gICAgICAgIAorCiAg
ICAgQXVkaW9CdWZmZXIqIGlucHV0QnVmZmVyID0gbV9pbnB1dEJ1ZmZlcnNbbV9kb3VibGVCdWZm
ZXJJbmRleEZvckV2ZW50XS5nZXQoKTsKICAgICBBdWRpb0J1ZmZlciogb3V0cHV0QnVmZmVyID0g
bV9vdXRwdXRCdWZmZXJzW21fZG91YmxlQnVmZmVySW5kZXhGb3JFdmVudF0uZ2V0KCk7CiAgICAg
QVNTRVJUKG91dHB1dEJ1ZmZlcik7CkBAIC0yNDYsOSArMjQ2LDEwIEBAIHZvaWQgU2NyaXB0UHJv
Y2Vzc29yTm9kZTo6ZmlyZVByb2Nlc3NFdmUKICAgICBpZiAoY29udGV4dCgpLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpIHsKICAgICAgICAgLy8gTGV0IHRoZSBhdWRpbyB0aHJlYWQga25vdyB3
ZSd2ZSBnb3R0ZW4gdG8gdGhlIHBvaW50IHdoZXJlIGl0J3MgT0sgZm9yIGl0IHRvIG1ha2UgYW5v
dGhlciByZXF1ZXN0LgogICAgICAgICBtX2lzUmVxdWVzdE91dHN0YW5kaW5nID0gZmFsc2U7Ci0g
ICAgICAgIAorCiAgICAgICAgIC8vIENhbGwgdGhlIEphdmFTY3JpcHQgZXZlbnQgaGFuZGxlciB3
aGljaCB3aWxsIGRvIHRoZSBhdWRpbyBwcm9jZXNzaW5nLgotICAgICAgICBkaXNwYXRjaEV2ZW50
KEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpjcmVhdGUoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlcikp
OworICAgICAgICAvLyBGSVhNRTogRGVsYXkgbm9kZSBpcyBub3QgY29uc2lkZXJlZCB3aGlsZSBj
YWxjdWxhdGluZyBwbGF5YmFja1RpbWUuIExhdGVuY3kgc2hvdWxkIGJlIHJldGVzdGVkIHdpdGgg
bW9yZSBzY2VuYXJpb3MuCisgICAgICAgIGRpc3BhdGNoRXZlbnQoQXVkaW9Qcm9jZXNzaW5nRXZl
bnQ6OmNyZWF0ZShpbnB1dEJ1ZmZlciwgb3V0cHV0QnVmZmVyLCBjb250ZXh0KCktPmN1cnJlbnRU
aW1lKCkgKyBpbnB1dEJ1ZmZlci0+ZHVyYXRpb24oKSkpOwogICAgIH0KIH0KIApJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gMTQ0MjcxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDItMjggIFByYXZlZW4gUiBKYWRoYXYgIDxwcmF2ZWVu
LmpAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgIlBsYXliYWNrVGltZSIgcGFyYW1ldGVyIGlzIG5v
dCBwcmVzZW50IGluIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IEludGVyZmFjZSBhcyBwZXIgVzNDIHNw
ZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTUx
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Qg
Y2FzZSBhZGRlZCB0byBjaGVjayBBdWRpb1Byb2Nlc3NpbmdFdmVudCBhdHRyaWJ1dGVzLgorCisg
ICAgICAgICogd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy5o
dG1sOiBBZGRlZC4KKwogMjAxMy0wMi0yOCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0NDE4NC4KSW5kZXg6IExh
eW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVu
dC1iYXNpYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy93ZWJhdWRp
by9hdWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTEgQEAKK1Rlc3RzIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IGF0dHJpYnV0ZXMgaW4g
SURMLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgZXZlbnQucGxheWJhY2tU
aW1lIGlzIGRlZmluZWQuCitQQVNTIGV2ZW50LmlucHV0QnVmZmVyIGlzIGRlZmluZWQuCitQQVNT
IGV2ZW50Lm91dHB1dEJ1ZmZlciBpcyBkZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3dlYmF1ZGlvL2F1
ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
d2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0icmVzb3VyY2VzL2F1ZGlvLXRlc3RpbmcuanMiPjwvc2NyaXB0PgorICAgIDwvaGVh
ZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUZXN0cyBBdWRpb1Byb2Nlc3NpbmdFdmVudCBhdHRyaWJ1dGVzIGluIElETC4iKTsKKworICAg
ICAgICAgICAgdmFyIGNvbnRleHQ7CisgICAgICAgICAgICB2YXIgc2NyaXB0QXVkaW9Ob2RlOwor
ICAgICAgICAgICAgdmFyIHNvdXJjZTsKKworICAgICAgICAgICAgZnVuY3Rpb24gcHJvY2Vzcyhl
dmVudCkgeworICAgICAgICAgICAgICAgIHNjcmlwdEF1ZGlvTm9kZS5vbmF1ZGlvcHJvY2VzcyA9
IG51bGw7CisKKyAgICAgICAgICAgICAgICBzaG91bGRCZURlZmluZWQoImV2ZW50LnBsYXliYWNr
VGltZSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlRGVmaW5lZCgiZXZlbnQuaW5wdXRCdWZm
ZXIiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZURlZmluZWQoImV2ZW50Lm91dHB1dEJ1ZmZl
ciIpOworCisgICAgICAgICAgICAgICAgc2NyaXB0QXVkaW9Ob2RlLmRpc2Nvbm5lY3QoMCk7Cisg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgICAgICAgICAgd2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisgICAgICAgICAgICAgICAgY29udGV4dCA9IG5ldyB3ZWJraXRBdWRp
b0NvbnRleHQoKTsKKworICAgICAgICAgICAgICAgIHNvdXJjZSA9IGNvbnRleHQuY3JlYXRlQnVm
ZmVyU291cmNlKCk7CisgICAgICAgICAgICAgICAgc291cmNlLmJ1ZmZlciA9IGNyZWF0ZUltcHVs
c2VCdWZmZXIoY29udGV4dCwgNTEyKTsKKworICAgICAgICAgICAgICAgIHNjcmlwdEF1ZGlvTm9k
ZSA9IGNvbnRleHQuY3JlYXRlSmF2YVNjcmlwdE5vZGUoNDA5NiwgMSwgMSk7CisgICAgICAgICAg
ICAgICAgc2NyaXB0QXVkaW9Ob2RlLm9uYXVkaW9wcm9jZXNzID0gcHJvY2VzczsKKworICAgICAg
ICAgICAgICAgIHNvdXJjZS5jb25uZWN0KHNjcmlwdEF1ZGlvTm9kZSk7CisgICAgICAgICAgICAg
ICAgc2NyaXB0QXVkaW9Ob2RlLmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlvbik7CisKKyAgICAg
ICAgICAgICAgICBzb3VyY2Uubm90ZU9uKDApOworICAgICAgICAgICAgICAgIGNvbnRleHQuc3Rh
cnRSZW5kZXJpbmcoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcnVuVGVzdCgpOwor
ICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="212407"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191618</attachid>
            <date>2013-03-05 17:32:35 -0800</date>
            <delta_ts>2013-03-06 02:50:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-105518.txt</filename>
            <type>text/plain</type>
            <size>9135</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAyLTI4ICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFja1Rp
bWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRl
cmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVkaW9Qcm9jZXNzaW5n
RXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBjdXJyZW50IGF1ZGlvIHRpbWUKKyAgICAgICAgb2Yg
dGhlIGNvbnRleHQuCisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZl
bnQtYmFzaWMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3Np
bmdFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nl
c3NpbmdFdmVudCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdF
dmVudC5oOgorICAgICAgICAoQXVkaW9Qcm9jZXNzaW5nRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OnBsYXliYWNrVGltZSk6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGw6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dFByb2Nlc3Nvck5vZGU6OmZpcmVQcm9jZXNzRXZlbnQpOgorCiAyMDEzLTAyLTI4ICBLZW50IFRh
bXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMTQ0MTg0LgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b1Byb2Nlc3NpbmdFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAJKHJldmlzaW9uIDE0NDI3MSkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxOSArMzgsMjAgQEAgUGFzc1JlZlB0cjxBdWRpb1Byb2Nl
c3NpbmdFdmVudD4gQXVkaW9QcgogICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9jZXNz
aW5nRXZlbnQpOwogfQogCi1QYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBBdWRpb1By
b2Nlc3NpbmdFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVy
LCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIpCitQYXNzUmVmUHRyPEF1ZGlv
UHJvY2Vzc2luZ0V2ZW50PiBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8
QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRC
dWZmZXIsIGRvdWJsZSB0aW1lKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9j
ZXNzaW5nRXZlbnQoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlcikpOworICAgIHJldHVybiBhZG9w
dFJlZihuZXcgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlciwg
dGltZSkpOwogfQogCiBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQo
KQogewogfQogCi1BdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQoUGFz
c1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+
IG91dHB1dEJ1ZmZlcikKK0F1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVu
dChQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1
ZmZlcj4gb3V0cHV0QnVmZmVyLCBkb3VibGUgdGltZSkKICAgICA6IEV2ZW50KGV2ZW50TmFtZXMo
KS5hdWRpb3Byb2Nlc3NFdmVudCwgdHJ1ZSwgZmFsc2UpCiAgICAgLCBtX2lucHV0QnVmZmVyKGlu
cHV0QnVmZmVyKQogICAgICwgbV9vdXRwdXRCdWZmZXIob3V0cHV0QnVmZmVyKQorICAgICwgbV9w
bGF5YmFja1RpbWUodGltZSkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaAkocmV2aXNpb24gMTQ0
MjcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdF
dmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxNCArMzMsMTUgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgQXVkaW9CdWZmZXI7Ci0gICAgCisKIGNsYXNzIEF1ZGlvUHJvY2Vzc2lu
Z0V2ZW50IDogcHVibGljIEV2ZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxB
dWRpb1Byb2Nlc3NpbmdFdmVudD4gY3JlYXRlKCk7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8QXVk
aW9Qcm9jZXNzaW5nRXZlbnQ+IGNyZWF0ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1
ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyKTsKLSAgICAKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gY3JlYXRlKFBhc3NSZWZQdHI8
QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRC
dWZmZXIsIGRvdWJsZSB0aW1lKTsKKwogICAgIHZpcnR1YWwgfkF1ZGlvUHJvY2Vzc2luZ0V2ZW50
KCk7CiAKKyAgICBkb3VibGUgcGxheWJhY2tUaW1lKCkgeyByZXR1cm4gbV9wbGF5YmFja1RpbWU7
IH0KICAgICBBdWRpb0J1ZmZlciogaW5wdXRCdWZmZXIoKSB7IHJldHVybiBtX2lucHV0QnVmZmVy
LmdldCgpOyB9CiAgICAgQXVkaW9CdWZmZXIqIG91dHB1dEJ1ZmZlcigpIHsgcmV0dXJuIG1fb3V0
cHV0QnVmZmVyLmdldCgpOyB9CiAKQEAgLTQ4LDEwICs0OSwxMSBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAgICAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoKTsKLSAgICBBdWRpb1Byb2Nlc3NpbmdFdmVu
dChQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1
ZmZlcj4gb3V0cHV0QnVmZmVyKTsKKyAgICBBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRy
PEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0
QnVmZmVyLCBkb3VibGUgdGltZSk7CiAKICAgICBSZWZQdHI8QXVkaW9CdWZmZXI+IG1faW5wdXRC
dWZmZXI7CiAgICAgUmVmUHRyPEF1ZGlvQnVmZmVyPiBtX291dHB1dEJ1ZmZlcjsKKyAgICBkb3Vi
bGUgbV9wbGF5YmFja1RpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vz
c2luZ0V2ZW50LmlkbAkocmV2aXNpb24gMTQ0MjcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDYgKzI2LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRv
SlNPYmplY3QKIF0gaW50ZXJmYWNlIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IDogRXZlbnQgeworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgcGxheWJhY2tUaW1lOwogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBBdWRpb0J1ZmZlciBpbnB1dEJ1ZmZlcjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
QXVkaW9CdWZmZXIgb3V0cHV0QnVmZmVyOyAKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAJKHJldmlz
aW9uIDE0NDI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJv
Y2Vzc29yTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMCwxMiArMjMwLDEyIEBAIHZvaWQg
U2NyaXB0UHJvY2Vzc29yTm9kZTo6ZmlyZVByb2Nlc3NFdmUKIHZvaWQgU2NyaXB0UHJvY2Vzc29y
Tm9kZTo6ZmlyZVByb2Nlc3NFdmVudCgpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpICYm
IG1faXNSZXF1ZXN0T3V0c3RhbmRpbmcpOwotICAgIAorCiAgICAgYm9vbCBpc0luZGV4R29vZCA9
IG1fZG91YmxlQnVmZmVySW5kZXhGb3JFdmVudCA8IDI7CiAgICAgQVNTRVJUKGlzSW5kZXhHb29k
KTsKICAgICBpZiAoIWlzSW5kZXhHb29kKQogICAgICAgICByZXR1cm47Ci0gICAgICAgIAorCiAg
ICAgQXVkaW9CdWZmZXIqIGlucHV0QnVmZmVyID0gbV9pbnB1dEJ1ZmZlcnNbbV9kb3VibGVCdWZm
ZXJJbmRleEZvckV2ZW50XS5nZXQoKTsKICAgICBBdWRpb0J1ZmZlciogb3V0cHV0QnVmZmVyID0g
bV9vdXRwdXRCdWZmZXJzW21fZG91YmxlQnVmZmVySW5kZXhGb3JFdmVudF0uZ2V0KCk7CiAgICAg
QVNTRVJUKG91dHB1dEJ1ZmZlcik7CkBAIC0yNDYsOSArMjQ2LDEwIEBAIHZvaWQgU2NyaXB0UHJv
Y2Vzc29yTm9kZTo6ZmlyZVByb2Nlc3NFdmUKICAgICBpZiAoY29udGV4dCgpLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpIHsKICAgICAgICAgLy8gTGV0IHRoZSBhdWRpbyB0aHJlYWQga25vdyB3
ZSd2ZSBnb3R0ZW4gdG8gdGhlIHBvaW50IHdoZXJlIGl0J3MgT0sgZm9yIGl0IHRvIG1ha2UgYW5v
dGhlciByZXF1ZXN0LgogICAgICAgICBtX2lzUmVxdWVzdE91dHN0YW5kaW5nID0gZmFsc2U7Ci0g
ICAgICAgIAorCiAgICAgICAgIC8vIENhbGwgdGhlIEphdmFTY3JpcHQgZXZlbnQgaGFuZGxlciB3
aGljaCB3aWxsIGRvIHRoZSBhdWRpbyBwcm9jZXNzaW5nLgotICAgICAgICBkaXNwYXRjaEV2ZW50
KEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpjcmVhdGUoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlcikp
OworICAgICAgICAvLyBGSVhNRTogRGVsYXkgbm9kZSBpcyBub3QgY29uc2lkZXJlZCB3aGlsZSBj
YWxjdWxhdGluZyBwbGF5YmFja1RpbWUuIExhdGVuY3kgc2hvdWxkIGJlIHJldGVzdGVkIHdpdGgg
bW9yZSBzY2VuYXJpb3MuCisgICAgICAgIGRpc3BhdGNoRXZlbnQoQXVkaW9Qcm9jZXNzaW5nRXZl
bnQ6OmNyZWF0ZShpbnB1dEJ1ZmZlciwgb3V0cHV0QnVmZmVyLCBjb250ZXh0KCktPmN1cnJlbnRU
aW1lKCkgKyBvdXRwdXRCdWZmZXItPmR1cmF0aW9uKCkpKTsKICAgICB9CiB9CiAKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDE0NDI3MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAyLTI4ICBQcmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVl
bi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFja1RpbWUiIHBhcmFtZXRlciBpcyBu
b3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRlcmZhY2UgYXMgcGVyIFczQyBz
cGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1
MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
IGNhc2UgYWRkZWQgdG8gY2hlY2sgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgYXR0cmlidXRlcy4KKwor
ICAgICAgICAqIHdlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMu
aHRtbDogQWRkZWQuCisKIDIwMTMtMDItMjggIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNDQxODQuCkluZGV4OiBM
YXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZl
bnQtYmFzaWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvd2ViYXVk
aW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDExIEBACitUZXN0cyBBdWRpb1Byb2Nlc3NpbmdFdmVudCBhdHRyaWJ1dGVzIGlu
IElETC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGV2ZW50LnBsYXliYWNr
VGltZSBpcyBkZWZpbmVkLgorUEFTUyBldmVudC5pbnB1dEJ1ZmZlciBpcyBkZWZpbmVkLgorUEFT
UyBldmVudC5vdXRwdXRCdWZmZXIgaXMgZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJhdWRpby9h
dWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKyAgICA8L2hl
YWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBkZXNjcmlwdGlv
bigiVGVzdHMgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgYXR0cmlidXRlcyBpbiBJREwuIik7CisKKyAg
ICAgICAgICAgIHZhciBjb250ZXh0OworICAgICAgICAgICAgdmFyIHNjcmlwdEF1ZGlvTm9kZTsK
KyAgICAgICAgICAgIHZhciBzb3VyY2U7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHByb2Nlc3NB
dWRpb0RhdGEoZXZlbnQpIHsKKyAgICAgICAgICAgICAgICBzY3JpcHRBdWRpb05vZGUub25hdWRp
b3Byb2Nlc3MgPSBudWxsOworCisgICAgICAgICAgICAgICAgc2hvdWxkQmVEZWZpbmVkKCJldmVu
dC5wbGF5YmFja1RpbWUiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZURlZmluZWQoImV2ZW50
LmlucHV0QnVmZmVyIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVEZWZpbmVkKCJldmVudC5v
dXRwdXRCdWZmZXIiKTsKKworICAgICAgICAgICAgICAgIHNjcmlwdEF1ZGlvTm9kZS5kaXNjb25u
ZWN0KDApOworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgICAgIHdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICAgICAgICAgIGNvbnRleHQgPSBuZXcg
d2Via2l0QXVkaW9Db250ZXh0KCk7CisKKyAgICAgICAgICAgICAgICBzb3VyY2UgPSBjb250ZXh0
LmNyZWF0ZUJ1ZmZlclNvdXJjZSgpOworICAgICAgICAgICAgICAgIHNvdXJjZS5idWZmZXIgPSBj
cmVhdGVJbXB1bHNlQnVmZmVyKGNvbnRleHQsIDUxMik7CisKKyAgICAgICAgICAgICAgICBzY3Jp
cHRBdWRpb05vZGUgPSBjb250ZXh0LmNyZWF0ZUphdmFTY3JpcHROb2RlKDQwOTYsIDEsIDEpOwor
ICAgICAgICAgICAgICAgIHNjcmlwdEF1ZGlvTm9kZS5vbmF1ZGlvcHJvY2VzcyA9IHByb2Nlc3NB
dWRpb0RhdGE7CisKKyAgICAgICAgICAgICAgICBzb3VyY2UuY29ubmVjdChzY3JpcHRBdWRpb05v
ZGUpOworICAgICAgICAgICAgICAgIHNjcmlwdEF1ZGlvTm9kZS5jb25uZWN0KGNvbnRleHQuZGVz
dGluYXRpb24pOworCisgICAgICAgICAgICAgICAgc291cmNlLm5vdGVPbigwKTsKKyAgICAgICAg
ICAgICAgICBjb250ZXh0LnN0YXJ0UmVuZGVyaW5nKCk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="212631"
          type_id="1"
          status="-"
          setter="haraken"
    />
    <flag name="commit-queue"
          id="212632"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191697</attachid>
            <date>2013-03-06 02:50:12 -0800</date>
            <delta_ts>2013-03-11 00:55:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-105518.txt</filename>
            <type>text/plain</type>
            <size>9262</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NDI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEzLTAyLTI4ICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFja1Rp
bWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRl
cmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVkaW9Qcm9jZXNzaW5n
RXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBjdXJyZW50IGF1ZGlvIHRpbWUKKyAgICAgICAgb2Yg
dGhlIGNvbnRleHQuCisKKyAgICAgICAgU3BlYzogaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9hdWRp
by9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5odG1sI0F1ZGlvUHJvY2Vzc2lu
Z0V2ZW50CisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFz
aWMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdF
dmVudCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5o
OgorICAgICAgICAoQXVkaW9Qcm9jZXNzaW5nRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9Qcm9jZXNzaW5nRXZlbnQ6OnBsYXliYWNrVGltZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRp
by9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFByb2Nl
c3Nvck5vZGU6OmZpcmVQcm9jZXNzRXZlbnQpOgorCiAyMDEzLTAyLTI4ICBLZW50IFRhbXVyYSAg
PHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
MTQ0MTg0LgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nl
c3NpbmdFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAJKHJldmlzaW9uIDE0NDI3MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOCwxOSArMzgsMjAgQEAgUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdF
dmVudD4gQXVkaW9QcgogICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9jZXNzaW5nRXZl
bnQpOwogfQogCi1QYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBBdWRpb1Byb2Nlc3Np
bmdFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNz
UmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIpCitQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vz
c2luZ0V2ZW50PiBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9C
dWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIs
IGRvdWJsZSB0aW1lKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9jZXNzaW5n
RXZlbnQoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlcikpOworICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlciwgdGltZSkp
OwogfQogCiBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQoKQogewog
fQogCi1BdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQoUGFzc1JlZlB0
cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1
dEJ1ZmZlcikKK0F1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNz
UmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4g
b3V0cHV0QnVmZmVyLCBkb3VibGUgdGltZSkKICAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS5hdWRp
b3Byb2Nlc3NFdmVudCwgdHJ1ZSwgZmFsc2UpCiAgICAgLCBtX2lucHV0QnVmZmVyKGlucHV0QnVm
ZmVyKQogICAgICwgbV9vdXRwdXRCdWZmZXIob3V0cHV0QnVmZmVyKQorICAgICwgbV9wbGF5YmFj
a1RpbWUodGltZSkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb1Byb2Nlc3NpbmdFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaAkocmV2aXNpb24gMTQ0MjcxKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMywxNCArMzMsMTUgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgQXVkaW9CdWZmZXI7Ci0gICAgCisKIGNsYXNzIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50
IDogcHVibGljIEV2ZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb1By
b2Nlc3NpbmdFdmVudD4gY3JlYXRlKCk7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8QXVkaW9Qcm9j
ZXNzaW5nRXZlbnQ+IGNyZWF0ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwg
UGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyKTsKLSAgICAKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gY3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9C
dWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIs
IGRvdWJsZSB0aW1lKTsKKwogICAgIHZpcnR1YWwgfkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KCk7CiAK
KyAgICBkb3VibGUgcGxheWJhY2tUaW1lKCkgeyByZXR1cm4gbV9wbGF5YmFja1RpbWU7IH0KICAg
ICBBdWRpb0J1ZmZlciogaW5wdXRCdWZmZXIoKSB7IHJldHVybiBtX2lucHV0QnVmZmVyLmdldCgp
OyB9CiAgICAgQXVkaW9CdWZmZXIqIG91dHB1dEJ1ZmZlcigpIHsgcmV0dXJuIG1fb3V0cHV0QnVm
ZmVyLmdldCgpOyB9CiAKQEAgLTQ4LDEwICs0OSwxMSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAg
ICAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoKTsKLSAgICBBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNz
UmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4g
b3V0cHV0QnVmZmVyKTsKKyAgICBBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRyPEF1ZGlv
QnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVy
LCBkb3VibGUgdGltZSk7CiAKICAgICBSZWZQdHI8QXVkaW9CdWZmZXI+IG1faW5wdXRCdWZmZXI7
CiAgICAgUmVmUHRyPEF1ZGlvQnVmZmVyPiBtX291dHB1dEJ1ZmZlcjsKKyAgICBkb3VibGUgbV9w
bGF5YmFja1RpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2
ZW50LmlkbAkocmV2aXNpb24gMTQ0MjcxKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2
LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmpl
Y3QKIF0gaW50ZXJmYWNlIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IDogRXZlbnQgeworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBkb3VibGUgcGxheWJhY2tUaW1lOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBBdWRpb0J1ZmZlciBpbnB1dEJ1ZmZlcjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9C
dWZmZXIgb3V0cHV0QnVmZmVyOyAKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAJKHJldmlzaW9uIDE0
NDI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29y
Tm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMCwxMiArMjMwLDEyIEBAIHZvaWQgU2NyaXB0
UHJvY2Vzc29yTm9kZTo6ZmlyZVByb2Nlc3NFdmUKIHZvaWQgU2NyaXB0UHJvY2Vzc29yTm9kZTo6
ZmlyZVByb2Nlc3NFdmVudCgpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpICYmIG1faXNS
ZXF1ZXN0T3V0c3RhbmRpbmcpOwotICAgIAorCiAgICAgYm9vbCBpc0luZGV4R29vZCA9IG1fZG91
YmxlQnVmZmVySW5kZXhGb3JFdmVudCA8IDI7CiAgICAgQVNTRVJUKGlzSW5kZXhHb29kKTsKICAg
ICBpZiAoIWlzSW5kZXhHb29kKQogICAgICAgICByZXR1cm47Ci0gICAgICAgIAorCiAgICAgQXVk
aW9CdWZmZXIqIGlucHV0QnVmZmVyID0gbV9pbnB1dEJ1ZmZlcnNbbV9kb3VibGVCdWZmZXJJbmRl
eEZvckV2ZW50XS5nZXQoKTsKICAgICBBdWRpb0J1ZmZlciogb3V0cHV0QnVmZmVyID0gbV9vdXRw
dXRCdWZmZXJzW21fZG91YmxlQnVmZmVySW5kZXhGb3JFdmVudF0uZ2V0KCk7CiAgICAgQVNTRVJU
KG91dHB1dEJ1ZmZlcik7CkBAIC0yNDYsOSArMjQ2LDEwIEBAIHZvaWQgU2NyaXB0UHJvY2Vzc29y
Tm9kZTo6ZmlyZVByb2Nlc3NFdmUKICAgICBpZiAoY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpIHsKICAgICAgICAgLy8gTGV0IHRoZSBhdWRpbyB0aHJlYWQga25vdyB3ZSd2ZSBn
b3R0ZW4gdG8gdGhlIHBvaW50IHdoZXJlIGl0J3MgT0sgZm9yIGl0IHRvIG1ha2UgYW5vdGhlciBy
ZXF1ZXN0LgogICAgICAgICBtX2lzUmVxdWVzdE91dHN0YW5kaW5nID0gZmFsc2U7Ci0gICAgICAg
IAorCiAgICAgICAgIC8vIENhbGwgdGhlIEphdmFTY3JpcHQgZXZlbnQgaGFuZGxlciB3aGljaCB3
aWxsIGRvIHRoZSBhdWRpbyBwcm9jZXNzaW5nLgotICAgICAgICBkaXNwYXRjaEV2ZW50KEF1ZGlv
UHJvY2Vzc2luZ0V2ZW50OjpjcmVhdGUoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlcikpOworICAg
ICAgICAvLyBGSVhNRTogRGVsYXkgbm9kZSBpcyBub3QgY29uc2lkZXJlZCB3aGlsZSBjYWxjdWxh
dGluZyBwbGF5YmFja1RpbWUuIExhdGVuY3kgc2hvdWxkIGJlIHJldGVzdGVkIHdpdGggbW9yZSBz
Y2VuYXJpb3MuCisgICAgICAgIGRpc3BhdGNoRXZlbnQoQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNy
ZWF0ZShpbnB1dEJ1ZmZlciwgb3V0cHV0QnVmZmVyLCBjb250ZXh0KCktPmN1cnJlbnRUaW1lKCkg
KyBvdXRwdXRCdWZmZXItPmR1cmF0aW9uKCkpKTsKICAgICB9CiB9CiAKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE0NDI3MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE1IEBACisyMDEzLTAyLTI4ICBQcmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNh
bXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFja1RpbWUiIHBhcmFtZXRlciBpcyBub3QgcHJl
c2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRlcmZhY2UgYXMgcGVyIFczQyBzcGVjCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGNhc2Ug
YWRkZWQgdG8gY2hlY2sgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgYXR0cmlidXRlcy4KKworICAgICAg
ICAqIHdlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMuaHRtbDog
QWRkZWQuCisKIDIwMTMtMDItMjggIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNDQxODQuCkluZGV4OiBMYXlvdXRU
ZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFz
aWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVk
aW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDExIEBACitUZXN0cyBBdWRpb1Byb2Nlc3NpbmdFdmVudCBhdHRyaWJ1dGVzIGluIElETC4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGV2ZW50LnBsYXliYWNrVGltZSBp
cyBkZWZpbmVkLgorUEFTUyBldmVudC5pbnB1dEJ1ZmZlciBpcyBkZWZpbmVkLgorUEFTUyBldmVu
dC5vdXRwdXRCdWZmZXIgaXMgZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3By
b2Nlc3NpbmdldmVudC1iYXNpYy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmF1
ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+CisgICAgPGhl
YWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGVz
dHMgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgYXR0cmlidXRlcyBpbiBJREwuIik7CisKKyAgICAgICAg
ICAgIHZhciBjb250ZXh0OworICAgICAgICAgICAgdmFyIHNjcmlwdEF1ZGlvTm9kZTsKKyAgICAg
ICAgICAgIHZhciBzb3VyY2U7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHByb2Nlc3NBdWRpb0Rh
dGEoZXZlbnQpIHsKKyAgICAgICAgICAgICAgICBzY3JpcHRBdWRpb05vZGUub25hdWRpb3Byb2Nl
c3MgPSBudWxsOworCisgICAgICAgICAgICAgICAgc2hvdWxkQmVEZWZpbmVkKCJldmVudC5wbGF5
YmFja1RpbWUiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZURlZmluZWQoImV2ZW50LmlucHV0
QnVmZmVyIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVEZWZpbmVkKCJldmVudC5vdXRwdXRC
dWZmZXIiKTsKKworICAgICAgICAgICAgICAgIHNjcmlwdEF1ZGlvTm9kZS5kaXNjb25uZWN0KDAp
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
ICAgICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICAgICAg
ICAgIGNvbnRleHQgPSBuZXcgd2Via2l0QXVkaW9Db250ZXh0KCk7CisKKyAgICAgICAgICAgICAg
ICBzb3VyY2UgPSBjb250ZXh0LmNyZWF0ZUJ1ZmZlclNvdXJjZSgpOworICAgICAgICAgICAgICAg
IHNvdXJjZS5idWZmZXIgPSBjcmVhdGVJbXB1bHNlQnVmZmVyKGNvbnRleHQsIDUxMik7CisKKyAg
ICAgICAgICAgICAgICBzY3JpcHRBdWRpb05vZGUgPSBjb250ZXh0LmNyZWF0ZUphdmFTY3JpcHRO
b2RlKDQwOTYsIDEsIDEpOworICAgICAgICAgICAgICAgIHNjcmlwdEF1ZGlvTm9kZS5vbmF1ZGlv
cHJvY2VzcyA9IHByb2Nlc3NBdWRpb0RhdGE7CisKKyAgICAgICAgICAgICAgICBzb3VyY2UuY29u
bmVjdChzY3JpcHRBdWRpb05vZGUpOworICAgICAgICAgICAgICAgIHNjcmlwdEF1ZGlvTm9kZS5j
b25uZWN0KGNvbnRleHQuZGVzdGluYXRpb24pOworCisgICAgICAgICAgICAgICAgc291cmNlLm5v
dGVPbigwKTsKKyAgICAgICAgICAgICAgICBjb250ZXh0Lm9uY29tcGxldGUgPSBmaW5pc2hKU1Rl
c3Q7CisgICAgICAgICAgICAgICAgY29udGV4dC5zdGFydFJlbmRlcmluZygpOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBydW5UZXN0KCk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="212729"
          type_id="1"
          status="-"
          setter="haraken"
    />
    <flag name="commit-queue"
          id="212738"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192417</attachid>
            <date>2013-03-11 00:55:16 -0700</date>
            <delta_ts>2013-03-14 23:35:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-105518.txt</filename>
            <type>text/plain</type>
            <size>10867</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTM0
MikKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAz
LTExICBQcmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAg
ICJQbGF5YmFja1RpbWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3Np
bmdFdmVudCBJbnRlcmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVk
aW9Qcm9jZXNzaW5nRXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBjdXJyZW50IGF1ZGlvIHRpbWUK
KyAgICAgICAgb2YgdGhlIGNvbnRleHQuCisKKyAgICAgICAgKiBNYW51YWxUZXN0cy93ZWJhdWRp
by9hdWRpb3Byb2Nlc3NpbmdldmVudC1wbGF5YmFjay1tYW51YWwuaHRtbDogQWRkZWQuCisKIDIw
MTMtMDMtMDkgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHVEtdIFZlcnNpb25zLm00IGlzIG1pc3Npbmcgc29tZSBrZXkgZGVwZW5kZW5jaWVzIHZl
cnNpb24gZGVmaW5pdGlvbnMKSW5kZXg6IE1hbnVhbFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vz
c2luZ2V2ZW50LXBsYXliYWNrLW1hbnVhbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIE1hbnVhbFRlc3Rz
L3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LXBsYXliYWNrLW1hbnVhbC5odG1sCShyZXZp
c2lvbiAwKQorKysgTWFudWFsVGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtcGxh
eWJhY2stbWFudWFsLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjYgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+V2ViIEF1ZGlvIFNhbXBsZTwvdGl0
bGU+CisgICAgPHNjcmlwdD4KKyAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgd2Via2l0QXVkaW9D
b250ZXh0KCk7CisgICAgICAgIHZhciBzY3JpcHRBdWRpb05vZGUgPSBjb250ZXh0LmNyZWF0ZVNj
cmlwdFByb2Nlc3Nvcig0MDk2KTsKKyAgICAgICAgdmFyIGdhaW5Ob2RlID0gY29udGV4dC5jcmVh
dGVHYWluTm9kZSgpOworCisgICAgICAgIGdhaW5Ob2RlLmNvbm5lY3QoY29udGV4dC5kZXN0aW5h
dGlvbik7CisgICAgICAgIGdhaW5Ob2RlLmdhaW4udmFsdWUgPSAxMDsKKworICAgICAgICB2YXIg
ZnJlcXVlbmN5ID0gMjU7CisgICAgICAgIHZhciBkdXJhdGlvbiA9IDUwMDA7CisgICAgCisgICAg
ICAgIGZ1bmN0aW9uIHByb2Nlc3NBdWRpb0RhdGEoZXZlbnQpIHsKKyAgICAgICAgICAgIHZhciBp
bnB1dEFycmF5TCA9IGV2ZW50LmlucHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApOworICAgICAg
ICAgICAgdmFyIGlucHV0QXJyYXlSID0gZXZlbnQuaW5wdXRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEo
MSk7CisgICAgICAgICAgICB2YXIgb3V0cHV0QXJyYXlMID0gZXZlbnQub3V0cHV0QnVmZmVyLmdl
dENoYW5uZWxEYXRhKDApOworICAgICAgICAgICAgdmFyIG91dHB1dEFycmF5UiA9IGV2ZW50Lm91
dHB1dEJ1ZmZlci5nZXRDaGFubmVsRGF0YSgxKTsKKworICAgICAgICAgICAgdmFyIG4gPSBpbnB1
dEFycmF5TC5sZW5ndGg7CisgICAgICAgICAgICB2YXIgcGhhc2UgPSAoMiAqIE1hdGguUEkpICog
aW5wdXRBcnJheUwuZHVyYXRpb24gKiBmcmVxdWVuY3k7CisgICAgICAgICAgICB2YXIgb2Zmc2V0
ID0gKDIgKiBNYXRoLlBJKSAqIGV2ZW50LnBsYXliYWNrVGltZSAqIGZyZXF1ZW5jeTsKKworICAg
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgICAgICAgICBv
dXRwdXRBcnJheUxbaV0gPSBpbnB1dEFycmF5TFtpXSAtIE1hdGguc2luKG9mZnNldCArIChpIC8g
biAqIHBoYXNlKSk7CisgICAgICAgICAgICAgICAgb3V0cHV0QXJyYXlSW2ldID0gaW5wdXRBcnJh
eVJbaV0gLSBNYXRoLnNpbihvZmZzZXQgKyAoaSAvIG4gKiBwaGFzZSkpOworICAgICAgICAgICAg
fQorICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gcGxheU5vcm1hbCgpIHsKKyAgICAgICAg
ICAgIHZhciBvc2NpbGxhdG9yID0gY29udGV4dC5jcmVhdGVPc2NpbGxhdG9yKCk7CisgICAgICAg
ICAgICBvc2NpbGxhdG9yLmZyZXF1ZW5jeS52YWx1ZSA9IGZyZXF1ZW5jeTsKKyAgICAgICAgICAg
IG9zY2lsbGF0b3IudHlwZSA9IDA7CisgICAgICAgICAgICBvc2NpbGxhdG9yLmNvbm5lY3QoZ2Fp
bk5vZGUpOworICAgICAgICAgICAgb3NjaWxsYXRvci5ub3RlT24oMCk7CisgICAgICAgICAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IG9zY2lsbGF0b3IuZGlzY29ubmVjdCgpOyB9LCBkdXJhdGlv
bik7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIHBsYXlPdmVybGFwKCkg
eworICAgICAgICAgICAgdmFyIG9zY2lsbGF0b3IgPSBjb250ZXh0LmNyZWF0ZU9zY2lsbGF0b3Io
KTsKKworICAgICAgICAgICAgc2NyaXB0QXVkaW9Ob2RlLmNvbm5lY3QoZ2Fpbk5vZGUpOworICAg
ICAgICAgICAgc2NyaXB0QXVkaW9Ob2RlLm9uYXVkaW9wcm9jZXNzID0gcHJvY2Vzc0F1ZGlvRGF0
YTsKKworICAgICAgICAgICAgb3NjaWxsYXRvci5mcmVxdWVuY3kudmFsdWUgPSBmcmVxdWVuY3k7
CisgICAgICAgICAgICBvc2NpbGxhdG9yLnR5cGUgPSAwOworICAgICAgICAgICAgb3NjaWxsYXRv
ci5jb25uZWN0KHNjcmlwdEF1ZGlvTm9kZSk7CisgICAgICAgICAgICBvc2NpbGxhdG9yLm5vdGVP
bigwKTsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgc2NyaXB0QXVkaW9Ob2Rl
Lm9uYXVkaW9wcm9jZXNzID0gbnVsbDsgc2NyaXB0QXVkaW9Ob2RlLmRpc2Nvbm5lY3QoKTsgb3Nj
aWxsYXRvci5kaXNjb25uZWN0KCk7IH0sIGR1cmF0aW9uKTsKKyAgICAgICAgfQorICAgIDwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+CisgICAgICAgIFRoaXMgY2hlY2tzIHZhbGlk
aXR5IG9mIHBsYXliYWNrVGltZSBhdHRyaWJ1dGUgaW4gQXVkaW9Qcm9jZXNzaW5nTm9kZS4KKwor
ICAgICAgICAxLiAiTk9STUFMIFNJTkUgV0FWRSI6IFRoaXMgZ2VuZXJhdGVzIGEgU0lORSB3YXZl
Zm9ybSBvZiBhIGdpdmVuIGZyZXF1ZW5jeSBhbmQgcGxheWVkIHdpdGggYSBnYWluIHdpdGhvdXQg
YW55IG90aGVyIHByb2Nlc3NpbmcuCisgICAgICAgIDIuICJTSU5FIE9WRVJMQVBQRUQgV0lUSCBJ
TlZFUlNFIFBIQVNFIFdBVkUiOiBIZXJlLCBTSU5FIHdhdmVmb3JtIGlzIGdlbmVyYXRlZCB1c2lu
ZyBPc2NpbGxhdG9yLiBUaGVuIGlzIHByb2Nlc3NlZCBpbiBTY3JpcHRQcm9jZXNzaW5nTm9kZSB3
aGVyZQorICAgICAgICAgICAgYW4gaW52ZXJzZSBTSU5FIHdhdmUgaXMgb3ZlcmxhcHBlZCBiYXNl
ZCBvbiB0aGUgcGhhc2UgYW5kIGZyZXF1ZW5jeSBvZiB0aGUgb3JpZ2luYWwgd2F2ZWZvcm0gdXNp
bmcgcGxheWJhY2tUaW1lIG9mIEF1ZGlvUHJvY2Vzc2luZ05vZGUKKyAgICAgICAgICAgIGFuZCBk
dXJhdGlvbiBvZiBBdWRpb0J1ZmZlci4KKyAgICA8L3A+CisgICAgPGJ1dHRvbiBvbmNsaWNrPSJw
bGF5Tm9ybWFsKCkiPk5PUk1BTCBTSU5FIFdBVkU8L2J1dHRvbj48YnV0dG9uIG9uY2xpY2s9InBs
YXlPdmVybGFwKCkiPlNJTkUgT1ZFUkxBUFBFRCBXSVRIIElOVkVSU0UgUEhBU0UgV0FWRTwvYnV0
dG9uPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ1MzQyKQor
KysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTMtMDMtMTEgIFByYXZlZW4gUiBKYWRoYXYgIDxwcmF2ZWVuLmpAc2Ftc3VuZy5jb20+
CisKKyAgICAgICAgIlBsYXliYWNrVGltZSIgcGFyYW1ldGVyIGlzIG5vdCBwcmVzZW50IGluIEF1
ZGlvUHJvY2Vzc2luZ0V2ZW50IEludGVyZmFjZSBhcyBwZXIgVzNDIHNwZWMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTUxOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEF0dHJpYnV0ZSAicGxheWJhY2tU
aW1lIiBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBpbXBsZW1lbnRlZCB0byBwYXNzIGN1cnJlbnQg
YXVkaW8gdGltZQorICAgICAgICBvZiB0aGUgY29udGV4dC4KKworICAgICAgICBTcGVjOiBodHRw
czovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jhdy1maWxlL3RpcC93ZWJhdWRpby9zcGVjaWZpY2F0
aW9uLmh0bWwjQXVkaW9Qcm9jZXNzaW5nRXZlbnQKKyAgICAgICAgICAgICAgaHR0cHM6Ly9kdmNz
LnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5odG1s
I0F1ZGlvQnVmZmVyCisKKyAgICAgICAgVGVzdDogTWFudWFsVGVzdHMvd2ViYXVkaW8vYXVkaW9w
cm9jZXNzaW5nZXZlbnQtcGxheWJhY2stbWFudWFsLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Qcm9jZXNzaW5nRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Qcm9jZXNzaW5n
RXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Byb2Nlc3NpbmdFdmVudDo6
QXVkaW9Qcm9jZXNzaW5nRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Q
cm9jZXNzaW5nRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQXVkaW9Qcm9j
ZXNzaW5nRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OnBs
YXliYWNrVGltZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdF
dmVudC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2Rl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFByb2Nlc3Nvck5vZGU6OmZpcmVQcm9jZXNz
RXZlbnQpOgorCiAyMDEzLTAzLTA3ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW0VsZW1lbnRzXSBYU0xUIHRyYW5zZm9y
bWF0aW9uIHJlc3VsdCBmcm9tIHRoZSB4bWwtc3R5bGVzaGVldCBQSSBub3QgcmVuZGVyZWQKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRs
CShyZXZpc2lvbiAxNDUzMzUpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvQnVmZmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEF1ZGlvQnVmZmVyIHsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgbG9uZyBsZW5ndGg7IC8vIGluIHNhbXBsZS1mcmFtZXMKLSAgICByZWFk
b25seSBhdHRyaWJ1dGUgZmxvYXQgZHVyYXRpb247IC8vIGluIHNlY29uZHMKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgZG91YmxlIGR1cmF0aW9uOyAvLyBpbiBzZWNvbmRzCiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGZsb2F0IHNhbXBsZVJhdGU7IC8vIGluIHNhbXBsZS1mcmFtZXMgcGVyIHNlY29u
ZAogCiAgICAgYXR0cmlidXRlIGZsb2F0IGdhaW47IC8vIGxpbmVhciBnYWluIChkZWZhdWx0IDEu
MCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5n
RXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwCShyZXZpc2lvbiAxNDUzMzUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzgsMTkgKzM4LDIwIEBAIFBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+
IEF1ZGlvUHIKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KTsK
IH0KIAotUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gQXVkaW9Qcm9jZXNzaW5nRXZl
bnQ6OmNyZWF0ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0
cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyKQorUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdF
dmVudD4gQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVy
PiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyLCBkb3Vi
bGUgdGltZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50
KGlucHV0QnVmZmVyLCBvdXRwdXRCdWZmZXIpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1
ZGlvUHJvY2Vzc2luZ0V2ZW50KGlucHV0QnVmZmVyLCBvdXRwdXRCdWZmZXIsIHRpbWUpKTsKIH0K
IAogQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KCkKIHsKIH0KIAot
QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVk
aW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZm
ZXIpCitBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQoUGFzc1JlZlB0
cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1
dEJ1ZmZlciwgZG91YmxlIHRpbWUpCiAgICAgOiBFdmVudChldmVudE5hbWVzKCkuYXVkaW9wcm9j
ZXNzRXZlbnQsIHRydWUsIGZhbHNlKQogICAgICwgbV9pbnB1dEJ1ZmZlcihpbnB1dEJ1ZmZlcikK
ICAgICAsIG1fb3V0cHV0QnVmZmVyKG91dHB1dEJ1ZmZlcikKKyAgICAsIG1fcGxheWJhY2tUaW1l
KHRpbWUpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Qcm9jZXNzaW5nRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmgJKHJldmlzaW9uIDE0NTMzNSkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMzMsMTQgKzMzLDE1IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEF1ZGlvQnVmZmVyOwotICAgIAorCiBjbGFzcyBBdWRpb1Byb2Nlc3NpbmdFdmVudCA6IHB1
YmxpYyBFdmVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNz
aW5nRXZlbnQ+IGNyZWF0ZSgpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2lu
Z0V2ZW50PiBjcmVhdGUoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NS
ZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlcik7Ci0gICAgCisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+IGNyZWF0ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVy
PiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyLCBkb3Vi
bGUgdGltZSk7CisKICAgICB2aXJ0dWFsIH5BdWRpb1Byb2Nlc3NpbmdFdmVudCgpOwogCisgICAg
ZG91YmxlIHBsYXliYWNrVGltZSgpIHsgcmV0dXJuIG1fcGxheWJhY2tUaW1lOyB9CiAgICAgQXVk
aW9CdWZmZXIqIGlucHV0QnVmZmVyKCkgeyByZXR1cm4gbV9pbnB1dEJ1ZmZlci5nZXQoKTsgfQog
ICAgIEF1ZGlvQnVmZmVyKiBvdXRwdXRCdWZmZXIoKSB7IHJldHVybiBtX291dHB1dEJ1ZmZlci5n
ZXQoKTsgfQogCkBAIC00OCwxMCArNDksMTEgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIEF1
ZGlvUHJvY2Vzc2luZ0V2ZW50KCk7Ci0gICAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoUGFzc1JlZlB0
cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1
dEJ1ZmZlcik7CisgICAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoUGFzc1JlZlB0cjxBdWRpb0J1ZmZl
cj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlciwgZG91
YmxlIHRpbWUpOwogCiAgICAgUmVmUHRyPEF1ZGlvQnVmZmVyPiBtX2lucHV0QnVmZmVyOwogICAg
IFJlZlB0cjxBdWRpb0J1ZmZlcj4gbV9vdXRwdXRCdWZmZXI7CisgICAgZG91YmxlIG1fcGxheWJh
Y2tUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5p
ZGwJKHJldmlzaW9uIDE0NTMzNSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBA
CiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiBd
IGludGVyZmFjZSBBdWRpb1Byb2Nlc3NpbmdFdmVudCA6IEV2ZW50IHsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgZG91YmxlIHBsYXliYWNrVGltZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVk
aW9CdWZmZXIgaW5wdXRCdWZmZXI7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvQnVmZmVy
IG91dHB1dEJ1ZmZlcjsgCiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCShyZXZpc2lvbiAxNDUzMzUp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzAsMTIgKzIzMCwxMiBAQCB2b2lkIFNjcmlwdFByb2Nl
c3Nvck5vZGU6OmZpcmVQcm9jZXNzRXZlCiB2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6OmZpcmVQ
cm9jZXNzRXZlbnQoKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSAmJiBtX2lzUmVxdWVz
dE91dHN0YW5kaW5nKTsKLSAgICAKKwogICAgIGJvb2wgaXNJbmRleEdvb2QgPSBtX2RvdWJsZUJ1
ZmZlckluZGV4Rm9yRXZlbnQgPCAyOwogICAgIEFTU0VSVChpc0luZGV4R29vZCk7CiAgICAgaWYg
KCFpc0luZGV4R29vZCkKICAgICAgICAgcmV0dXJuOwotICAgICAgICAKKwogICAgIEF1ZGlvQnVm
ZmVyKiBpbnB1dEJ1ZmZlciA9IG1faW5wdXRCdWZmZXJzW21fZG91YmxlQnVmZmVySW5kZXhGb3JF
dmVudF0uZ2V0KCk7CiAgICAgQXVkaW9CdWZmZXIqIG91dHB1dEJ1ZmZlciA9IG1fb3V0cHV0QnVm
ZmVyc1ttX2RvdWJsZUJ1ZmZlckluZGV4Rm9yRXZlbnRdLmdldCgpOwogICAgIEFTU0VSVChvdXRw
dXRCdWZmZXIpOwpAQCAtMjQ2LDkgKzI0NiwxMCBAQCB2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6
OmZpcmVQcm9jZXNzRXZlCiAgICAgaWYgKGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKSB7CiAgICAgICAgIC8vIExldCB0aGUgYXVkaW8gdGhyZWFkIGtub3cgd2UndmUgZ290dGVu
IHRvIHRoZSBwb2ludCB3aGVyZSBpdCdzIE9LIGZvciBpdCB0byBtYWtlIGFub3RoZXIgcmVxdWVz
dC4KICAgICAgICAgbV9pc1JlcXVlc3RPdXRzdGFuZGluZyA9IGZhbHNlOwotICAgICAgICAKKwog
ICAgICAgICAvLyBDYWxsIHRoZSBKYXZhU2NyaXB0IGV2ZW50IGhhbmRsZXIgd2hpY2ggd2lsbCBk
byB0aGUgYXVkaW8gcHJvY2Vzc2luZy4KLSAgICAgICAgZGlzcGF0Y2hFdmVudChBdWRpb1Byb2Nl
c3NpbmdFdmVudDo6Y3JlYXRlKGlucHV0QnVmZmVyLCBvdXRwdXRCdWZmZXIpKTsKKyAgICAgICAg
Ly8gRklYTUU6IERlbGF5IG5vZGUgaXMgbm90IGNvbnNpZGVyZWQgd2hpbGUgY2FsY3VsYXRpbmcg
cGxheWJhY2tUaW1lLiBMYXRlbmN5IHNob3VsZCBiZSByZXRlc3RlZCB3aXRoIG1vcmUgc2NlbmFy
aW9zLgorICAgICAgICBkaXNwYXRjaEV2ZW50KEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpjcmVhdGUo
aW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlciwgY29udGV4dCgpLT5jdXJyZW50VGltZSgpICsgb3V0
cHV0QnVmZmVyLT5kdXJhdGlvbigpKSk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193241</attachid>
            <date>2013-03-14 23:35:05 -0700</date>
            <delta_ts>2013-03-15 04:36:44 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>WebAudio-105518.txt</filename>
            <type>text/plain</type>
            <size>15861</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTg2
NikKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAz
LTE0ICBQcmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAg
ICJQbGF5YmFja1RpbWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3Np
bmdFdmVudCBJbnRlcmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVk
aW9Qcm9jZXNzaW5nRXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBjdXJyZW50IGF1ZGlvIHRpbWUK
KyAgICAgICAgb2YgdGhlIGNvbnRleHQuCisKKyAgICAgICAgKiBNYW51YWxUZXN0cy93ZWJhdWRp
by9hdWRpb3Byb2Nlc3NpbmdldmVudC1wbGF5YmFjay1tYW51YWwuaHRtbDogQWRkZWQuCisKIDIw
MTMtMDMtMTQgIFRvYmlhcyBNdWVsbGVyICA8dG9iaWFzbXVlQGdub21lLm9yZz4KIAogICAgICAg
ICBCdWlsZDogUmVtb3ZlIFhTTFQgb3B0aW9uIGFuZCBkZXBlbmQgaGFyZCBvbiBYU0xULgpJbmRl
eDogTWFudWFsVGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtcGxheWJhY2stbWFu
dWFsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTWFudWFsVGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNz
aW5nZXZlbnQtcGxheWJhY2stbWFudWFsLmh0bWwJKHJldmlzaW9uIDApCisrKyBNYW51YWxUZXN0
cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1wbGF5YmFjay1tYW51YWwuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw3MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDx0aXRsZT5XZWIgQXVkaW8gU2FtcGxlPC90aXRsZT4KKyAgICA8c2NyaXB0PgorICAg
ICAgICB2YXIgc2FtcGxlUmF0ZSA9IDQ0MTAwLjA7CisgICAgICAgIHZhciByZW5kZXJMZW5ndGhJ
bkZyYW1lcyA9IDI1NjsKKyAgICAgICAgdmFyIGJ1ZmZlclNpemUgPSAyNTY7CisgICAgICAgIHZh
ciBmcmVxdWVuY3kgPSAxMDA7CisgICAgICAgIHZhciBkdXJhdGlvbiA9IDUwMDA7CisgICAgICAg
IHZhciBzY3JpcHRBdWRpb05vZGU7CisgICAgCisgICAgICAgIHZhciBjb250ZXh0ID0gbmV3IHdl
YmtpdEF1ZGlvQ29udGV4dCgpOy8vd2Via2l0T2ZmbGluZUF1ZGlvQ29udGV4dCgxLCByZW5kZXJM
ZW5ndGhJbkZyYW1lcywgc2FtcGxlUmF0ZSk7CisgICAgICAgIHZhciBnYWluTm9kZSA9IGNvbnRl
eHQuY3JlYXRlR2Fpbk5vZGUoKTsKKyAgICAgICAgdmFyIG9zY2lsbGF0b3IgPSBjb250ZXh0LmNy
ZWF0ZU9zY2lsbGF0b3IoKTsKKworICAgICAgICBnYWluTm9kZS5jb25uZWN0KGNvbnRleHQuZGVz
dGluYXRpb24pOworICAgICAgICBnYWluTm9kZS5nYWluLnZhbHVlID0gMjsKKworICAgICAgICBm
dW5jdGlvbiBwcm9jZXNzQXVkaW9EYXRhKGV2ZW50KSB7CisgICAgICAgICAgICB2YXIgaW5wdXRB
cnJheSA9IGV2ZW50LmlucHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApOworICAgICAgICAgICAg
dmFyIG91dHB1dEFycmF5ID0gZXZlbnQub3V0cHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApOwor
ICAgICAgICAgICAgdmFyIG4gPSBldmVudC5pbnB1dEJ1ZmZlci5sZW5ndGg7CisgICAgICAgICAg
ICB2YXIgYnVmZmVyT2Zmc2V0ID0gKDIgKiBNYXRoLlBJKSAqIGV2ZW50Lm91dHB1dEJ1ZmZlci5k
dXJhdGlvbiAqIGZyZXF1ZW5jeTsKKyAgICAgICAgICAgIHZhciBvZmZzZXQgPSAoMiAqIE1hdGgu
UEkpICogZXZlbnQucGxheWJhY2tUaW1lICogZnJlcXVlbmN5OworCisgICAgICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgICAgICAgICAgIG91dHB1dEFycmF5W2ld
ID0gaW5wdXRBcnJheVtpXSAtIE1hdGguc2luKG9mZnNldCArICgoaSAvIG4pICogYnVmZmVyT2Zm
c2V0KSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBwbGF5
Tm9ybWFsKCkgeworICAgICAgICAgICAgb3NjaWxsYXRvci5mcmVxdWVuY3kudmFsdWUgPSBmcmVx
dWVuY3k7CisgICAgICAgICAgICBvc2NpbGxhdG9yLnR5cGUgPSAwOworICAgICAgICAgICAgb3Nj
aWxsYXRvci5jb25uZWN0KGdhaW5Ob2RlKTsKKyAgICAgICAgICAgIG9zY2lsbGF0b3Iuc3RhcnQo
Y29udGV4dC5jdXJyZW50VGltZSk7CisgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7
IG9zY2lsbGF0b3IuZGlzY29ubmVjdCgpOyB9LCBkdXJhdGlvbik7CisgICAgICAgIH0KKworICAg
ICAgICBmdW5jdGlvbiBwbGF5T3ZlcmxhcCgpIHsKKyAgICAgICAgICAgIHNjcmlwdEF1ZGlvTm9k
ZSA9IGNvbnRleHQuY3JlYXRlU2NyaXB0UHJvY2Vzc29yKGJ1ZmZlclNpemUsIDEsIDEpOworICAg
ICAgICAgICAgc2NyaXB0QXVkaW9Ob2RlLmNvbm5lY3QoZ2Fpbk5vZGUpOworICAgICAgICAgICAg
c2NyaXB0QXVkaW9Ob2RlLm9uYXVkaW9wcm9jZXNzID0gcHJvY2Vzc0F1ZGlvRGF0YTsKKworICAg
ICAgICAgICAgYnVmZmVyU2l6ZSA9IGJ1ZmZlclNpemUgKiAyOworICAgICAgICAgICAgaWYgKGJ1
ZmZlclNpemUgPiAxNjM4NCkKKyAgICAgICAgICAgICAgICBidWZmZXJTaXplID0gMjU2OworCisg
ICAgICAgICAgICBvc2NpbGxhdG9yLmZyZXF1ZW5jeS52YWx1ZSA9IGZyZXF1ZW5jeTsKKyAgICAg
ICAgICAgIG9zY2lsbGF0b3IudHlwZSA9IDA7CisgICAgICAgICAgICBvc2NpbGxhdG9yLmNvbm5l
Y3Qoc2NyaXB0QXVkaW9Ob2RlKTsKKworICAgICAgICAgICAgb3NjaWxsYXRvci5zdGFydChjb250
ZXh0LmN1cnJlbnRUaW1lKTsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgc2Ny
aXB0QXVkaW9Ob2RlLm9uYXVkaW9wcm9jZXNzID0gbnVsbDsgc2NyaXB0QXVkaW9Ob2RlLmRpc2Nv
bm5lY3QoKTsgb3NjaWxsYXRvci5kaXNjb25uZWN0KCk7IH0sIGR1cmF0aW9uKTsKKyAgICAgICAg
fQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+CisgICAgICAgIFRoaXMg
Y2hlY2tzIHZhbGlkaXR5IG9mIHBsYXliYWNrVGltZSBhdHRyaWJ1dGUgaW4gQXVkaW9Qcm9jZXNz
aW5nTm9kZS4KKworICAgICAgICAxLiAiTk9STUFMIFNJTkUgV0FWRSI6IFRoaXMgZ2VuZXJhdGVz
IGEgU0lORSB3YXZlZm9ybSBvZiBhIGdpdmVuIGZyZXF1ZW5jeSBhbmQgcGxheWVkIHdpdGggYSBn
YWluIHdpdGhvdXQgYW55IG90aGVyIHByb2Nlc3NpbmcuCisgICAgICAgIDIuICJTSU5FIE9WRVJM
QVBQRUQgV0lUSCBJTlZFUlNFIFBIQVNFIjogSGVyZSwgU0lORSB3YXZlZm9ybSBpcyBnZW5lcmF0
ZWQgdXNpbmcgT3NjaWxsYXRvci4gVGhlbiBpcyBwcm9jZXNzZWQgaW4gU2NyaXB0UHJvY2Vzc2lu
Z05vZGUgd2hlcmUKKyAgICAgICAgICAgIGFuIGludmVyc2UgU0lORSB3YXZlIGlzIG92ZXJsYXBw
ZWQgYmFzZWQgb24gdGhlIHBoYXNlIGFuZCBmcmVxdWVuY3kgb2YgdGhlIG9yaWdpbmFsIHdhdmVm
b3JtIHVzaW5nIHBsYXliYWNrVGltZSBvZiBBdWRpb1Byb2Nlc3NpbmdOb2RlCisgICAgICAgICAg
ICBhbmQgZHVyYXRpb24gb2YgQXVkaW9CdWZmZXIuCisgICAgPC9wPgorICAgIDxidXR0b24gb25j
bGljaz0icGxheU5vcm1hbCgpIj5OT1JNQUwgU0lORSBXQVZFPC9idXR0b24+CisgICAgPGJ1dHRv
biBvbmNsaWNrPSJwbGF5T3ZlcmxhcCgpIj5TSU5FIE9WRVJMQVBQRUQgV0lUSCBJTlZFUlNFIFBI
QVNFPC9idXR0b24+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAx
NDU4NjYpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzNSBAQAorMjAxMy0wMy0xNCAgUHJhdmVlbiBSIEphZGhhdiAgPHByYXZlZW4uakBzYW1z
dW5nLmNvbT4KKworICAgICAgICAiUGxheWJhY2tUaW1lIiBwYXJhbWV0ZXIgaXMgbm90IHByZXNl
bnQgaW4gQXVkaW9Qcm9jZXNzaW5nRXZlbnQgSW50ZXJmYWNlIGFzIHBlciBXM0Mgc3BlYworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTE4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXR0cmlidXRlICJw
bGF5YmFja1RpbWUiIGluIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IGltcGxlbWVudGVkIHRvIHBhc3Mg
Y3VycmVudCBhdWRpbyB0aW1lCisgICAgICAgIG9mIHRoZSBjb250ZXh0LgorCisgICAgICAgIFNw
ZWM6IGh0dHBzOi8vZHZjcy53My5vcmcvaGcvYXVkaW8vcmF3LWZpbGUvdGlwL3dlYmF1ZGlvL3Nw
ZWNpZmljYXRpb24uaHRtbCNBdWRpb1Byb2Nlc3NpbmdFdmVudAorICAgICAgICAgICAgICBodHRw
czovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jhdy1maWxlL3RpcC93ZWJhdWRpby9zcGVjaWZpY2F0
aW9uLmh0bWwjQXVkaW9CdWZmZXIKKworICAgICAgICBUZXN0OiBNYW51YWxUZXN0cy93ZWJhdWRp
by9hdWRpb3Byb2Nlc3NpbmdldmVudC1wbGF5YmFjay1tYW51YWwuaHRtbAorICAgICAgICAgICAg
ICBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy5odG1sCisK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
UHJvY2Vzc2luZ0V2ZW50OjpwbGF5YmFja1RpbWUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
U2NyaXB0UHJvY2Vzc29yTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9jZXNz
b3JOb2RlOjpTY3JpcHRQcm9jZXNzb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFBy
b2Nlc3Nvck5vZGU6OnByb2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UHJvY2Vzc29y
Tm9kZTo6ZmlyZVByb2Nlc3NFdmVudCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3Jp
cHRQcm9jZXNzb3JOb2RlLmg6CisgICAgICAgIChTY3JpcHRQcm9jZXNzb3JOb2RlKToKKwogMjAx
My0wMy0xNCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAg
IEFYOiBDcmFzaCB3aGVuIHJlbW92aW5nIGFyaWEtbWVudSBpdGVtIGZyb20gRE9NCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbAkocmV2
aXNpb24gMTQ1ODYzKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1
ZmZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBBdWRpb0J1ZmZlciB7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGxvbmcgbGVuZ3RoOyAvLyBpbiBzYW1wbGUtZnJhbWVzCi0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIGZsb2F0IGR1cmF0aW9uOyAvLyBpbiBzZWNvbmRzCisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGRvdWJsZSBkdXJhdGlvbjsgLy8gaW4gc2Vjb25kcwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBmbG9hdCBzYW1wbGVSYXRlOyAvLyBpbiBzYW1wbGUtZnJhbWVzIHBlciBzZWNvbmQKIAog
ICAgIGF0dHJpYnV0ZSBmbG9hdCBnYWluOyAvLyBsaW5lYXIgZ2FpbiAoZGVmYXVsdCAxLjApCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
UHJvY2Vzc2luZ0V2ZW50LmNwcAkocmV2aXNpb24gMTQ1ODYzKQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM4LDE5ICszOCwyMCBAQCBQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBBdWRp
b1ByCiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdWRpb1Byb2Nlc3NpbmdFdmVudCk7CiB9CiAK
LVBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50Ojpj
cmVhdGUoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVk
aW9CdWZmZXI+IG91dHB1dEJ1ZmZlcikKK1Bhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+
IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpjcmVhdGUoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5w
dXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlciwgZG91YmxlIHRp
bWUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdWRpb1Byb2Nlc3NpbmdFdmVudChpbnB1
dEJ1ZmZlciwgb3V0cHV0QnVmZmVyKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdWRpb1By
b2Nlc3NpbmdFdmVudChpbnB1dEJ1ZmZlciwgb3V0cHV0QnVmZmVyLCB0aW1lKSk7CiB9CiAKIEF1
ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudCgpCiB7CiB9CiAKLUF1ZGlv
UHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRyPEF1ZGlvQnVm
ZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyKQor
QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVk
aW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZm
ZXIsIGRvdWJsZSB0aW1lKQogICAgIDogRXZlbnQoZXZlbnROYW1lcygpLmF1ZGlvcHJvY2Vzc0V2
ZW50LCB0cnVlLCBmYWxzZSkKICAgICAsIG1faW5wdXRCdWZmZXIoaW5wdXRCdWZmZXIpCiAgICAg
LCBtX291dHB1dEJ1ZmZlcihvdXRwdXRCdWZmZXIpCisgICAgLCBtX3BsYXliYWNrVGltZSh0aW1l
KQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJv
Y2Vzc2luZ0V2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5oCShyZXZpc2lvbiAxNDU4NjMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDE0ICszMywxNSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBB
dWRpb0J1ZmZlcjsKLSAgICAKKwogY2xhc3MgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgOiBwdWJsaWMg
RXZlbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2
ZW50PiBjcmVhdGUoKTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVu
dD4gY3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRy
PEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIpOwotICAgIAorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBjcmVhdGUoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5w
dXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlciwgZG91YmxlIHRp
bWUpOworCiAgICAgdmlydHVhbCB+QXVkaW9Qcm9jZXNzaW5nRXZlbnQoKTsKIAorICAgIGRvdWJs
ZSBwbGF5YmFja1RpbWUoKSB7IHJldHVybiBtX3BsYXliYWNrVGltZTsgfQogICAgIEF1ZGlvQnVm
ZmVyKiBpbnB1dEJ1ZmZlcigpIHsgcmV0dXJuIG1faW5wdXRCdWZmZXIuZ2V0KCk7IH0KICAgICBB
dWRpb0J1ZmZlciogb3V0cHV0QnVmZmVyKCkgeyByZXR1cm4gbV9vdXRwdXRCdWZmZXIuZ2V0KCk7
IH0KIApAQCAtNDgsMTAgKzQ5LDExIEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBBdWRpb1By
b2Nlc3NpbmdFdmVudCgpOwotICAgIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVk
aW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZm
ZXIpOworICAgIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlu
cHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIsIGRvdWJsZSB0
aW1lKTsKIAogICAgIFJlZlB0cjxBdWRpb0J1ZmZlcj4gbV9pbnB1dEJ1ZmZlcjsKICAgICBSZWZQ
dHI8QXVkaW9CdWZmZXI+IG1fb3V0cHV0QnVmZmVyOworICAgIGRvdWJsZSBtX3BsYXliYWNrVGlt
ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsCShy
ZXZpc2lvbiAxNDU4NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
UHJvY2Vzc2luZ0V2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogICAg
IENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRl
cmZhY2UgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgOiBFdmVudCB7CisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGRvdWJsZSBwbGF5YmFja1RpbWU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvQnVm
ZmVyIGlucHV0QnVmZmVyOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb0J1ZmZlciBvdXRw
dXRCdWZmZXI7IAorICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb0J1ZmZlciBvdXRwdXRCdWZm
ZXI7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9j
ZXNzb3JOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCShyZXZpc2lvbiAxNDU4NjMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC04MCw2ICs4MCw3IEBAIFNjcmlwdFByb2Nlc3Nvck5vZGU6OlNjcmlwdFByb2Nl
c3Nvck5vZGUKICAgICAsIG1fbnVtYmVyT2ZJbnB1dENoYW5uZWxzKG51bWJlck9mSW5wdXRDaGFu
bmVscykKICAgICAsIG1fbnVtYmVyT2ZPdXRwdXRDaGFubmVscyhudW1iZXJPZk91dHB1dENoYW5u
ZWxzKQogICAgICwgbV9pbnRlcm5hbElucHV0QnVzKG51bWJlck9mSW5wdXRDaGFubmVscywgQXVk
aW9Ob2RlOjpQcm9jZXNzaW5nU2l6ZUluRnJhbWVzLCBmYWxzZSkKKyAgICAsIG1fcGxheWJhY2tU
aW1lKDApCiB7CiAgICAgLy8gUmVnYXJkbGVzcyBvZiB0aGUgYWxsb3dlZCBidWZmZXIgc2l6ZXMs
IHdlIHN0aWxsIG5lZWQgdG8gcHJvY2VzcyBhdCB0aGUgZ3JhbnVsYXJpdHkgb2YgdGhlIEF1ZGlv
Tm9kZS4KICAgICBpZiAobV9idWZmZXJTaXplIDwgQXVkaW9Ob2RlOjpQcm9jZXNzaW5nU2l6ZUlu
RnJhbWVzKQpAQCAtMTk0LDYgKzE5NSwxMCBAQCB2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6OnBy
b2Nlc3Moc2l6ZV90CiAgICAgLy8gbV9idWZmZXJSZWFkV3JpdGVJbmRleCB3aWxsIHdyYXAgYmFj
ayBhcm91bmQgdG8gMCB3aGVuIHRoZSBjdXJyZW50IGlucHV0IGFuZCBvdXRwdXQgYnVmZmVycyBh
cmUgZnVsbC4KICAgICAvLyBXaGVuIHRoaXMgaGFwcGVucywgZmlyZSBhbiBldmVudCBhbmQgc3dh
cCBidWZmZXJzLgogICAgIGlmICghbV9idWZmZXJSZWFkV3JpdGVJbmRleCkgeworICAgICAgICAv
LyBDYWxsIHRoZSBKYXZhU2NyaXB0IGV2ZW50IGhhbmRsZXIgd2hpY2ggd2lsbCBkbyB0aGUgYXVk
aW8gcHJvY2Vzc2luZy4KKyAgICAgICAgLy8gRklYTUU6IERlbGF5IG5vZGUgaXMgbm90IGNvbnNp
ZGVyZWQgd2hpbGUgY2FsY3VsYXRpbmcgcGxheWJhY2tUaW1lLiBMYXRlbmN5IHNob3VsZCBiZSBy
ZXRlc3RlZCB3aXRoIG1vcmUgc2NlbmFyaW9zLgorICAgICAgICBtX3BsYXliYWNrVGltZSA9IGNv
bnRleHQoKS0+Y3VycmVudFRpbWUoKSArIG91dHB1dEJ1ZmZlci0+ZHVyYXRpb24oKTsKKwogICAg
ICAgICAvLyBBdm9pZCBidWlsZGluZyB1cCByZXF1ZXN0cyBvbiB0aGUgbWFpbiB0aHJlYWQgdG8g
ZmlyZSBwcm9jZXNzIGV2ZW50cyB3aGVuIHRoZXkncmUgbm90IGJlaW5nIGhhbmRsZWQuCiAgICAg
ICAgIC8vIFRoaXMgY291bGQgYmUgYSBwcm9ibGVtIGlmIHRoZSBtYWluIHRocmVhZCBpcyB2ZXJ5
IGJ1c3kgZG9pbmcgb3RoZXIgdGhpbmdzIGFuZCBpcyBiZWluZyBoZWxkIHVwIGhhbmRsaW5nIHBy
ZXZpb3VzIHJlcXVlc3RzLgogICAgICAgICBpZiAobV9pc1JlcXVlc3RPdXRzdGFuZGluZykgewpA
QCAtMjMwLDEyICsyMzUsMTIgQEAgdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vz
c0V2ZQogdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vzc0V2ZW50KCkKIHsKICAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkgJiYgbV9pc1JlcXVlc3RPdXRzdGFuZGluZyk7Ci0gICAg
CisKICAgICBib29sIGlzSW5kZXhHb29kID0gbV9kb3VibGVCdWZmZXJJbmRleEZvckV2ZW50IDwg
MjsKICAgICBBU1NFUlQoaXNJbmRleEdvb2QpOwogICAgIGlmICghaXNJbmRleEdvb2QpCiAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgCisKICAgICBBdWRpb0J1ZmZlciogaW5wdXRCdWZmZXIgPSBt
X2lucHV0QnVmZmVyc1ttX2RvdWJsZUJ1ZmZlckluZGV4Rm9yRXZlbnRdLmdldCgpOwogICAgIEF1
ZGlvQnVmZmVyKiBvdXRwdXRCdWZmZXIgPSBtX291dHB1dEJ1ZmZlcnNbbV9kb3VibGVCdWZmZXJJ
bmRleEZvckV2ZW50XS5nZXQoKTsKICAgICBBU1NFUlQob3V0cHV0QnVmZmVyKTsKQEAgLTI0Niw5
ICsyNTEsOCBAQCB2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6OmZpcmVQcm9jZXNzRXZlCiAgICAg
aWYgKGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSB7CiAgICAgICAgIC8vIExl
dCB0aGUgYXVkaW8gdGhyZWFkIGtub3cgd2UndmUgZ290dGVuIHRvIHRoZSBwb2ludCB3aGVyZSBp
dCdzIE9LIGZvciBpdCB0byBtYWtlIGFub3RoZXIgcmVxdWVzdC4KICAgICAgICAgbV9pc1JlcXVl
c3RPdXRzdGFuZGluZyA9IGZhbHNlOwotICAgICAgICAKLSAgICAgICAgLy8gQ2FsbCB0aGUgSmF2
YVNjcmlwdCBldmVudCBoYW5kbGVyIHdoaWNoIHdpbGwgZG8gdGhlIGF1ZGlvIHByb2Nlc3Npbmcu
Ci0gICAgICAgIGRpc3BhdGNoRXZlbnQoQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0ZShpbnB1
dEJ1ZmZlciwgb3V0cHV0QnVmZmVyKSk7CisKKyAgICAgICAgZGlzcGF0Y2hFdmVudChBdWRpb1By
b2Nlc3NpbmdFdmVudDo6Y3JlYXRlKGlucHV0QnVmZmVyLCBvdXRwdXRCdWZmZXIsIG1fcGxheWJh
Y2tUaW1lKSk7CiAgICAgfQogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaAkocmV2aXNpb24gMTQ1ODYzKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEwNyw2ICsxMDcsOSBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVk
IG1fbnVtYmVyT2ZPdXRwdXRDaGFubmVsczsKIAogICAgIEF1ZGlvQnVzIG1faW50ZXJuYWxJbnB1
dEJ1czsKKworICAgIC8vIEZvciBBdWRpb1Byb2Nlc3NpbmdFdmVudAorICAgIGRvdWJsZSBtX3Bs
YXliYWNrVGltZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE0NTg2NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE1IEBACisyMDEzLTAzLTE0ICBQcmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNh
bXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFja1RpbWUiIHBhcmFtZXRlciBpcyBub3QgcHJl
c2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRlcmZhY2UgYXMgcGVyIFczQyBzcGVjCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGNhc2Ug
YWRkZWQgdG8gY2hlY2sgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgYXR0cmlidXRlcy4KKworICAgICAg
ICAqIHdlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMuaHRtbDog
QWRkZWQuCisKIDIwMTMtMDMtMTQgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNv
bT4KIAogICAgICAgICBBWDogQ3Jhc2ggd2hlbiByZW1vdmluZyBhcmlhLW1lbnUgaXRlbSBmcm9t
IERPTQpJbmRleDogTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFz
aWMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlv
cHJvY2Vzc2luZ2V2ZW50LWJhc2ljLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMSBAQAorVGVzdHMgQXVkaW9Qcm9jZXNzaW5nRXZlbnQg
YXR0cmlidXRlcyBpbiBJREwuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBl
dmVudC5wbGF5YmFja1RpbWUgaXMgZGVmaW5lZC4KK1BBU1MgZXZlbnQuaW5wdXRCdWZmZXIgaXMg
ZGVmaW5lZC4KK1BBU1MgZXZlbnQub3V0cHV0QnVmZmVyIGlzIGRlZmluZWQuCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQt
YmFzaWMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
CisKKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJyZXNvdXJjZXMvYXVkaW8tdGVzdGluZy5qcyI+PC9zY3Jp
cHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRlc3RzIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IGF0dHJpYnV0ZXMgaW4g
SURMLiIpOworCisgICAgICAgICAgICB2YXIgY29udGV4dDsKKyAgICAgICAgICAgIHZhciBzY3Jp
cHRBdWRpb05vZGU7CisgICAgICAgICAgICB2YXIgYW5hbHlzZXI7CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIHByb2Nlc3NBdWRpb0RhdGEoZXZlbnQpIHsKKyAgICAgICAgICAgICAgICBzY3JpcHRB
dWRpb05vZGUub25hdWRpb3Byb2Nlc3MgPSBudWxsOworCisgICAgICAgICAgICAgICAgc2hvdWxk
QmVEZWZpbmVkKCJldmVudC5wbGF5YmFja1RpbWUiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRC
ZURlZmluZWQoImV2ZW50LmlucHV0QnVmZmVyIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVE
ZWZpbmVkKCJldmVudC5vdXRwdXRCdWZmZXIiKTsKKworICAgICAgICAgICAgICAgIHNjcmlwdEF1
ZGlvTm9kZS5kaXNjb25uZWN0KDApOworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAg
ICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICAgICAgICAg
IGNvbnRleHQgPSBuZXcgd2Via2l0QXVkaW9Db250ZXh0KCk7CisKKyAgICAgICAgICAgICAgICBz
Y3JpcHRBdWRpb05vZGUgPSBjb250ZXh0LmNyZWF0ZVNjcmlwdFByb2Nlc3Nvcig0MDk2KTsKKyAg
ICAgICAgICAgICAgICBzY3JpcHRBdWRpb05vZGUub25hdWRpb3Byb2Nlc3MgPSBwcm9jZXNzQXVk
aW9EYXRhOworCisgICAgICAgICAgICAgICAgYW5hbHlzZXIgPSBjb250ZXh0LmNyZWF0ZUFuYWx5
c2VyKCk7CisgICAgICAgICAgICAgICAgYW5hbHlzZXIuZmZ0U2l6ZSA9IDIwNDg7CisKKyAgICAg
ICAgICAgICAgICBzY3JpcHRBdWRpb05vZGUuY29ubmVjdChhbmFseXNlcik7CisKKyAgICAgICAg
ICAgICAgICBjb250ZXh0LnN0YXJ0UmVuZGVyaW5nKCk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="214711"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193280</attachid>
            <date>2013-03-15 04:36:44 -0700</date>
            <delta_ts>2013-03-16 04:18:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Webkit-105518.txt</filename>
            <type>text/plain</type>
            <size>16648</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTg2
NikKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAz
LTE0ICBQcmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAg
ICJQbGF5YmFja1RpbWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3Np
bmdFdmVudCBJbnRlcmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVk
aW9Qcm9jZXNzaW5nRXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBjdXJyZW50IGF1ZGlvIHRpbWUK
KyAgICAgICAgb2YgdGhlIGNvbnRleHQuCisKKyAgICAgICAgKiBNYW51YWxUZXN0cy93ZWJhdWRp
by9hdWRpb3Byb2Nlc3NpbmdldmVudC1wbGF5YmFjay1tYW51YWwuaHRtbDogQWRkZWQuCisKIDIw
MTMtMDMtMTQgIFRvYmlhcyBNdWVsbGVyICA8dG9iaWFzbXVlQGdub21lLm9yZz4KIAogICAgICAg
ICBCdWlsZDogUmVtb3ZlIFhTTFQgb3B0aW9uIGFuZCBkZXBlbmQgaGFyZCBvbiBYU0xULgpJbmRl
eDogTWFudWFsVGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtcGxheWJhY2stbWFu
dWFsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTWFudWFsVGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNz
aW5nZXZlbnQtcGxheWJhY2stbWFudWFsLmh0bWwJKHJldmlzaW9uIDApCisrKyBNYW51YWxUZXN0
cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1wbGF5YmFjay1tYW51YWwuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw3MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDx0aXRsZT5XZWIgQXVkaW8gU2FtcGxlPC90aXRsZT4KKyAgICA8c2NyaXB0PgorICAg
ICAgICB2YXIgc2FtcGxlUmF0ZSA9IDQ0MTAwLjA7CisgICAgICAgIHZhciByZW5kZXJMZW5ndGhJ
bkZyYW1lcyA9IDI1NjsKKyAgICAgICAgdmFyIGJ1ZmZlclNpemUgPSAyNTY7CisgICAgICAgIHZh
ciBmcmVxdWVuY3kgPSAxMDA7CisgICAgICAgIHZhciBkdXJhdGlvbiA9IDUwMDA7CisgICAgICAg
IHZhciBzY3JpcHRBdWRpb05vZGU7CisgICAgCisgICAgICAgIHZhciBjb250ZXh0ID0gbmV3IHdl
YmtpdEF1ZGlvQ29udGV4dCgpOy8vd2Via2l0T2ZmbGluZUF1ZGlvQ29udGV4dCgxLCByZW5kZXJM
ZW5ndGhJbkZyYW1lcywgc2FtcGxlUmF0ZSk7CisgICAgICAgIHZhciBnYWluTm9kZSA9IGNvbnRl
eHQuY3JlYXRlR2Fpbk5vZGUoKTsKKyAgICAgICAgdmFyIG9zY2lsbGF0b3IgPSBjb250ZXh0LmNy
ZWF0ZU9zY2lsbGF0b3IoKTsKKworICAgICAgICBnYWluTm9kZS5jb25uZWN0KGNvbnRleHQuZGVz
dGluYXRpb24pOworICAgICAgICBnYWluTm9kZS5nYWluLnZhbHVlID0gMjsKKworICAgICAgICBm
dW5jdGlvbiBwcm9jZXNzQXVkaW9EYXRhKGV2ZW50KSB7CisgICAgICAgICAgICB2YXIgaW5wdXRB
cnJheSA9IGV2ZW50LmlucHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApOworICAgICAgICAgICAg
dmFyIG91dHB1dEFycmF5ID0gZXZlbnQub3V0cHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApOwor
ICAgICAgICAgICAgdmFyIG4gPSBldmVudC5pbnB1dEJ1ZmZlci5sZW5ndGg7CisgICAgICAgICAg
ICB2YXIgYnVmZmVyT2Zmc2V0ID0gKDIgKiBNYXRoLlBJKSAqIGV2ZW50Lm91dHB1dEJ1ZmZlci5k
dXJhdGlvbiAqIGZyZXF1ZW5jeTsKKyAgICAgICAgICAgIHZhciBvZmZzZXQgPSAoMiAqIE1hdGgu
UEkpICogZXZlbnQucGxheWJhY2tUaW1lICogZnJlcXVlbmN5OworCisgICAgICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgICAgICAgICAgIG91dHB1dEFycmF5W2ld
ID0gaW5wdXRBcnJheVtpXSAtIE1hdGguc2luKG9mZnNldCArICgoaSAvIG4pICogYnVmZmVyT2Zm
c2V0KSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBwbGF5
Tm9ybWFsKCkgeworICAgICAgICAgICAgb3NjaWxsYXRvci5mcmVxdWVuY3kudmFsdWUgPSBmcmVx
dWVuY3k7CisgICAgICAgICAgICBvc2NpbGxhdG9yLnR5cGUgPSAwOworICAgICAgICAgICAgb3Nj
aWxsYXRvci5jb25uZWN0KGdhaW5Ob2RlKTsKKyAgICAgICAgICAgIG9zY2lsbGF0b3Iuc3RhcnQo
Y29udGV4dC5jdXJyZW50VGltZSk7CisgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7
IG9zY2lsbGF0b3IuZGlzY29ubmVjdCgpOyB9LCBkdXJhdGlvbik7CisgICAgICAgIH0KKworICAg
ICAgICBmdW5jdGlvbiBwbGF5T3ZlcmxhcCgpIHsKKyAgICAgICAgICAgIHNjcmlwdEF1ZGlvTm9k
ZSA9IGNvbnRleHQuY3JlYXRlU2NyaXB0UHJvY2Vzc29yKGJ1ZmZlclNpemUsIDEsIDEpOworICAg
ICAgICAgICAgc2NyaXB0QXVkaW9Ob2RlLmNvbm5lY3QoZ2Fpbk5vZGUpOworICAgICAgICAgICAg
c2NyaXB0QXVkaW9Ob2RlLm9uYXVkaW9wcm9jZXNzID0gcHJvY2Vzc0F1ZGlvRGF0YTsKKworICAg
ICAgICAgICAgYnVmZmVyU2l6ZSA9IGJ1ZmZlclNpemUgKiAyOworICAgICAgICAgICAgaWYgKGJ1
ZmZlclNpemUgPiAxNjM4NCkKKyAgICAgICAgICAgICAgICBidWZmZXJTaXplID0gMjU2OworCisg
ICAgICAgICAgICBvc2NpbGxhdG9yLmZyZXF1ZW5jeS52YWx1ZSA9IGZyZXF1ZW5jeTsKKyAgICAg
ICAgICAgIG9zY2lsbGF0b3IudHlwZSA9IDA7CisgICAgICAgICAgICBvc2NpbGxhdG9yLmNvbm5l
Y3Qoc2NyaXB0QXVkaW9Ob2RlKTsKKworICAgICAgICAgICAgb3NjaWxsYXRvci5zdGFydChjb250
ZXh0LmN1cnJlbnRUaW1lKTsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgc2Ny
aXB0QXVkaW9Ob2RlLm9uYXVkaW9wcm9jZXNzID0gbnVsbDsgc2NyaXB0QXVkaW9Ob2RlLmRpc2Nv
bm5lY3QoKTsgb3NjaWxsYXRvci5kaXNjb25uZWN0KCk7IH0sIGR1cmF0aW9uKTsKKyAgICAgICAg
fQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+CisgICAgICAgIFRoaXMg
Y2hlY2tzIHZhbGlkaXR5IG9mIHBsYXliYWNrVGltZSBhdHRyaWJ1dGUgaW4gQXVkaW9Qcm9jZXNz
aW5nTm9kZS4KKworICAgICAgICAxLiAiTk9STUFMIFNJTkUgV0FWRSI6IFRoaXMgZ2VuZXJhdGVz
IGEgU0lORSB3YXZlZm9ybSBvZiBhIGdpdmVuIGZyZXF1ZW5jeSBhbmQgcGxheWVkIHdpdGggYSBn
YWluIHdpdGhvdXQgYW55IG90aGVyIHByb2Nlc3NpbmcuCisgICAgICAgIDIuICJTSU5FIE9WRVJM
QVBQRUQgV0lUSCBJTlZFUlNFIFBIQVNFIjogSGVyZSwgU0lORSB3YXZlZm9ybSBpcyBnZW5lcmF0
ZWQgdXNpbmcgT3NjaWxsYXRvci4gVGhlbiBpcyBwcm9jZXNzZWQgaW4gU2NyaXB0UHJvY2Vzc2lu
Z05vZGUgd2hlcmUKKyAgICAgICAgICAgIGFuIGludmVyc2UgU0lORSB3YXZlIGlzIG92ZXJsYXBw
ZWQgYmFzZWQgb24gdGhlIHBoYXNlIGFuZCBmcmVxdWVuY3kgb2YgdGhlIG9yaWdpbmFsIHdhdmVm
b3JtIHVzaW5nIHBsYXliYWNrVGltZSBvZiBBdWRpb1Byb2Nlc3NpbmdOb2RlCisgICAgICAgICAg
ICBhbmQgZHVyYXRpb24gb2YgQXVkaW9CdWZmZXIuCisgICAgPC9wPgorICAgIDxidXR0b24gb25j
bGljaz0icGxheU5vcm1hbCgpIj5OT1JNQUwgU0lORSBXQVZFPC9idXR0b24+CisgICAgPGJ1dHRv
biBvbmNsaWNrPSJwbGF5T3ZlcmxhcCgpIj5TSU5FIE9WRVJMQVBQRUQgV0lUSCBJTlZFUlNFIFBI
QVNFPC9idXR0b24+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAx
NDU4NjYpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzNSBAQAorMjAxMy0wMy0xNCAgUHJhdmVlbiBSIEphZGhhdiAgPHByYXZlZW4uakBzYW1z
dW5nLmNvbT4KKworICAgICAgICAiUGxheWJhY2tUaW1lIiBwYXJhbWV0ZXIgaXMgbm90IHByZXNl
bnQgaW4gQXVkaW9Qcm9jZXNzaW5nRXZlbnQgSW50ZXJmYWNlIGFzIHBlciBXM0Mgc3BlYworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTE4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXR0cmlidXRlICJw
bGF5YmFja1RpbWUiIGluIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IGltcGxlbWVudGVkIHRvIHBhc3Mg
Y3VycmVudCBhdWRpbyB0aW1lCisgICAgICAgIG9mIHRoZSBjb250ZXh0LgorCisgICAgICAgIFNw
ZWM6IGh0dHBzOi8vZHZjcy53My5vcmcvaGcvYXVkaW8vcmF3LWZpbGUvdGlwL3dlYmF1ZGlvL3Nw
ZWNpZmljYXRpb24uaHRtbCNBdWRpb1Byb2Nlc3NpbmdFdmVudAorICAgICAgICAgICAgICBodHRw
czovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jhdy1maWxlL3RpcC93ZWJhdWRpby9zcGVjaWZpY2F0
aW9uLmh0bWwjQXVkaW9CdWZmZXIKKworICAgICAgICBUZXN0OiBNYW51YWxUZXN0cy93ZWJhdWRp
by9hdWRpb3Byb2Nlc3NpbmdldmVudC1wbGF5YmFjay1tYW51YWwuaHRtbAorICAgICAgICAgICAg
ICBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy5odG1sCisK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
UHJvY2Vzc2luZ0V2ZW50OjpwbGF5YmFja1RpbWUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
U2NyaXB0UHJvY2Vzc29yTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9jZXNz
b3JOb2RlOjpTY3JpcHRQcm9jZXNzb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFBy
b2Nlc3Nvck5vZGU6OnByb2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UHJvY2Vzc29y
Tm9kZTo6ZmlyZVByb2Nlc3NFdmVudCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3Jp
cHRQcm9jZXNzb3JOb2RlLmg6CisgICAgICAgIChTY3JpcHRQcm9jZXNzb3JOb2RlKToKKwogMjAx
My0wMy0xNCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAg
IEFYOiBDcmFzaCB3aGVuIHJlbW92aW5nIGFyaWEtbWVudSBpdGVtIGZyb20gRE9NCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbAkocmV2
aXNpb24gMTQ1ODYzKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1
ZmZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBBdWRpb0J1ZmZlciB7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGxvbmcgbGVuZ3RoOyAvLyBpbiBzYW1wbGUtZnJhbWVzCi0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIGZsb2F0IGR1cmF0aW9uOyAvLyBpbiBzZWNvbmRzCisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGRvdWJsZSBkdXJhdGlvbjsgLy8gaW4gc2Vjb25kcwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBmbG9hdCBzYW1wbGVSYXRlOyAvLyBpbiBzYW1wbGUtZnJhbWVzIHBlciBzZWNvbmQKIAog
ICAgIGF0dHJpYnV0ZSBmbG9hdCBnYWluOyAvLyBsaW5lYXIgZ2FpbiAoZGVmYXVsdCAxLjApCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
UHJvY2Vzc2luZ0V2ZW50LmNwcAkocmV2aXNpb24gMTQ1ODYzKQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM4LDE5ICszOCwyMCBAQCBQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBBdWRp
b1ByCiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdWRpb1Byb2Nlc3NpbmdFdmVudCk7CiB9CiAK
LVBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50Ojpj
cmVhdGUoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVk
aW9CdWZmZXI+IG91dHB1dEJ1ZmZlcikKK1Bhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+
IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpjcmVhdGUoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5w
dXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlciwgZG91YmxlIHRp
bWUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdWRpb1Byb2Nlc3NpbmdFdmVudChpbnB1
dEJ1ZmZlciwgb3V0cHV0QnVmZmVyKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdWRpb1By
b2Nlc3NpbmdFdmVudChpbnB1dEJ1ZmZlciwgb3V0cHV0QnVmZmVyLCB0aW1lKSk7CiB9CiAKIEF1
ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudCgpCiB7CiB9CiAKLUF1ZGlv
UHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRyPEF1ZGlvQnVm
ZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyKQor
QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVk
aW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZm
ZXIsIGRvdWJsZSB0aW1lKQogICAgIDogRXZlbnQoZXZlbnROYW1lcygpLmF1ZGlvcHJvY2Vzc0V2
ZW50LCB0cnVlLCBmYWxzZSkKICAgICAsIG1faW5wdXRCdWZmZXIoaW5wdXRCdWZmZXIpCiAgICAg
LCBtX291dHB1dEJ1ZmZlcihvdXRwdXRCdWZmZXIpCisgICAgLCBtX3BsYXliYWNrVGltZSh0aW1l
KQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJv
Y2Vzc2luZ0V2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5oCShyZXZpc2lvbiAxNDU4NjMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDE0ICszMywxNSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBB
dWRpb0J1ZmZlcjsKLSAgICAKKwogY2xhc3MgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgOiBwdWJsaWMg
RXZlbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2
ZW50PiBjcmVhdGUoKTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVu
dD4gY3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRy
PEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIpOwotICAgIAorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBjcmVhdGUoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5w
dXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlciwgZG91YmxlIHRp
bWUpOworCiAgICAgdmlydHVhbCB+QXVkaW9Qcm9jZXNzaW5nRXZlbnQoKTsKIAorICAgIGRvdWJs
ZSBwbGF5YmFja1RpbWUoKSB7IHJldHVybiBtX3BsYXliYWNrVGltZTsgfQogICAgIEF1ZGlvQnVm
ZmVyKiBpbnB1dEJ1ZmZlcigpIHsgcmV0dXJuIG1faW5wdXRCdWZmZXIuZ2V0KCk7IH0KICAgICBB
dWRpb0J1ZmZlciogb3V0cHV0QnVmZmVyKCkgeyByZXR1cm4gbV9vdXRwdXRCdWZmZXIuZ2V0KCk7
IH0KIApAQCAtNDgsMTAgKzQ5LDExIEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBBdWRpb1By
b2Nlc3NpbmdFdmVudCgpOwotICAgIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVk
aW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZm
ZXIpOworICAgIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlu
cHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIsIGRvdWJsZSB0
aW1lKTsKIAogICAgIFJlZlB0cjxBdWRpb0J1ZmZlcj4gbV9pbnB1dEJ1ZmZlcjsKICAgICBSZWZQ
dHI8QXVkaW9CdWZmZXI+IG1fb3V0cHV0QnVmZmVyOworICAgIGRvdWJsZSBtX3BsYXliYWNrVGlt
ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsCShy
ZXZpc2lvbiAxNDU4NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
UHJvY2Vzc2luZ0V2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogICAg
IENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRl
cmZhY2UgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgOiBFdmVudCB7CisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGRvdWJsZSBwbGF5YmFja1RpbWU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvQnVm
ZmVyIGlucHV0QnVmZmVyOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb0J1ZmZlciBvdXRw
dXRCdWZmZXI7IAorICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb0J1ZmZlciBvdXRwdXRCdWZm
ZXI7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9j
ZXNzb3JOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCShyZXZpc2lvbiAxNDU4NjMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC04MCw2ICs4MCw3IEBAIFNjcmlwdFByb2Nlc3Nvck5vZGU6OlNjcmlwdFByb2Nl
c3Nvck5vZGUKICAgICAsIG1fbnVtYmVyT2ZJbnB1dENoYW5uZWxzKG51bWJlck9mSW5wdXRDaGFu
bmVscykKICAgICAsIG1fbnVtYmVyT2ZPdXRwdXRDaGFubmVscyhudW1iZXJPZk91dHB1dENoYW5u
ZWxzKQogICAgICwgbV9pbnRlcm5hbElucHV0QnVzKG51bWJlck9mSW5wdXRDaGFubmVscywgQXVk
aW9Ob2RlOjpQcm9jZXNzaW5nU2l6ZUluRnJhbWVzLCBmYWxzZSkKKyAgICAsIG1fcGxheWJhY2tU
aW1lKDApCiB7CiAgICAgLy8gUmVnYXJkbGVzcyBvZiB0aGUgYWxsb3dlZCBidWZmZXIgc2l6ZXMs
IHdlIHN0aWxsIG5lZWQgdG8gcHJvY2VzcyBhdCB0aGUgZ3JhbnVsYXJpdHkgb2YgdGhlIEF1ZGlv
Tm9kZS4KICAgICBpZiAobV9idWZmZXJTaXplIDwgQXVkaW9Ob2RlOjpQcm9jZXNzaW5nU2l6ZUlu
RnJhbWVzKQpAQCAtMTk0LDYgKzE5NSwxMCBAQCB2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6OnBy
b2Nlc3Moc2l6ZV90CiAgICAgLy8gbV9idWZmZXJSZWFkV3JpdGVJbmRleCB3aWxsIHdyYXAgYmFj
ayBhcm91bmQgdG8gMCB3aGVuIHRoZSBjdXJyZW50IGlucHV0IGFuZCBvdXRwdXQgYnVmZmVycyBh
cmUgZnVsbC4KICAgICAvLyBXaGVuIHRoaXMgaGFwcGVucywgZmlyZSBhbiBldmVudCBhbmQgc3dh
cCBidWZmZXJzLgogICAgIGlmICghbV9idWZmZXJSZWFkV3JpdGVJbmRleCkgeworICAgICAgICAv
LyBDYWxsIHRoZSBKYXZhU2NyaXB0IGV2ZW50IGhhbmRsZXIgd2hpY2ggd2lsbCBkbyB0aGUgYXVk
aW8gcHJvY2Vzc2luZy4KKyAgICAgICAgLy8gRklYTUU6IERlbGF5IG5vZGUgaXMgbm90IGNvbnNp
ZGVyZWQgd2hpbGUgY2FsY3VsYXRpbmcgcGxheWJhY2tUaW1lLiBMYXRlbmN5IHNob3VsZCBiZSBy
ZXRlc3RlZCB3aXRoIG1vcmUgc2NlbmFyaW9zLgorICAgICAgICBtX3BsYXliYWNrVGltZSA9IGNv
bnRleHQoKS0+Y3VycmVudFRpbWUoKSArIG91dHB1dEJ1ZmZlci0+ZHVyYXRpb24oKTsKKwogICAg
ICAgICAvLyBBdm9pZCBidWlsZGluZyB1cCByZXF1ZXN0cyBvbiB0aGUgbWFpbiB0aHJlYWQgdG8g
ZmlyZSBwcm9jZXNzIGV2ZW50cyB3aGVuIHRoZXkncmUgbm90IGJlaW5nIGhhbmRsZWQuCiAgICAg
ICAgIC8vIFRoaXMgY291bGQgYmUgYSBwcm9ibGVtIGlmIHRoZSBtYWluIHRocmVhZCBpcyB2ZXJ5
IGJ1c3kgZG9pbmcgb3RoZXIgdGhpbmdzIGFuZCBpcyBiZWluZyBoZWxkIHVwIGhhbmRsaW5nIHBy
ZXZpb3VzIHJlcXVlc3RzLgogICAgICAgICBpZiAobV9pc1JlcXVlc3RPdXRzdGFuZGluZykgewpA
QCAtMjMwLDEyICsyMzUsMTIgQEAgdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vz
c0V2ZQogdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vzc0V2ZW50KCkKIHsKICAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkgJiYgbV9pc1JlcXVlc3RPdXRzdGFuZGluZyk7Ci0gICAg
CisKICAgICBib29sIGlzSW5kZXhHb29kID0gbV9kb3VibGVCdWZmZXJJbmRleEZvckV2ZW50IDwg
MjsKICAgICBBU1NFUlQoaXNJbmRleEdvb2QpOwogICAgIGlmICghaXNJbmRleEdvb2QpCiAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgCisKICAgICBBdWRpb0J1ZmZlciogaW5wdXRCdWZmZXIgPSBt
X2lucHV0QnVmZmVyc1ttX2RvdWJsZUJ1ZmZlckluZGV4Rm9yRXZlbnRdLmdldCgpOwogICAgIEF1
ZGlvQnVmZmVyKiBvdXRwdXRCdWZmZXIgPSBtX291dHB1dEJ1ZmZlcnNbbV9kb3VibGVCdWZmZXJJ
bmRleEZvckV2ZW50XS5nZXQoKTsKICAgICBBU1NFUlQob3V0cHV0QnVmZmVyKTsKQEAgLTI0Niw5
ICsyNTEsOCBAQCB2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6OmZpcmVQcm9jZXNzRXZlCiAgICAg
aWYgKGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSB7CiAgICAgICAgIC8vIExl
dCB0aGUgYXVkaW8gdGhyZWFkIGtub3cgd2UndmUgZ290dGVuIHRvIHRoZSBwb2ludCB3aGVyZSBp
dCdzIE9LIGZvciBpdCB0byBtYWtlIGFub3RoZXIgcmVxdWVzdC4KICAgICAgICAgbV9pc1JlcXVl
c3RPdXRzdGFuZGluZyA9IGZhbHNlOwotICAgICAgICAKLSAgICAgICAgLy8gQ2FsbCB0aGUgSmF2
YVNjcmlwdCBldmVudCBoYW5kbGVyIHdoaWNoIHdpbGwgZG8gdGhlIGF1ZGlvIHByb2Nlc3Npbmcu
Ci0gICAgICAgIGRpc3BhdGNoRXZlbnQoQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0ZShpbnB1
dEJ1ZmZlciwgb3V0cHV0QnVmZmVyKSk7CisKKyAgICAgICAgZGlzcGF0Y2hFdmVudChBdWRpb1By
b2Nlc3NpbmdFdmVudDo6Y3JlYXRlKGlucHV0QnVmZmVyLCBvdXRwdXRCdWZmZXIsIG1fcGxheWJh
Y2tUaW1lKSk7CiAgICAgfQogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaAkocmV2aXNpb24gMTQ1ODYzKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEwNyw2ICsxMDcsOSBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVk
IG1fbnVtYmVyT2ZPdXRwdXRDaGFubmVsczsKIAogICAgIEF1ZGlvQnVzIG1faW50ZXJuYWxJbnB1
dEJ1czsKKworICAgIC8vIEZvciBBdWRpb1Byb2Nlc3NpbmdFdmVudAorICAgIGRvdWJsZSBtX3Bs
YXliYWNrVGltZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE0NTg2NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE1IEBACisyMDEzLTAzLTE0ICBQcmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNh
bXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFja1RpbWUiIHBhcmFtZXRlciBpcyBub3QgcHJl
c2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRlcmZhY2UgYXMgcGVyIFczQyBzcGVjCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGNhc2Ug
YWRkZWQgdG8gY2hlY2sgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgYXR0cmlidXRlcy4KKworICAgICAg
ICAqIHdlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMuaHRtbDog
QWRkZWQuCisKIDIwMTMtMDMtMTQgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNv
bT4KIAogICAgICAgICBBWDogQ3Jhc2ggd2hlbiByZW1vdmluZyBhcmlhLW1lbnUgaXRlbSBmcm9t
IERPTQpJbmRleDogTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFz
aWMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlv
cHJvY2Vzc2luZ2V2ZW50LWJhc2ljLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMSBAQAorVGVzdHMgQXVkaW9Qcm9jZXNzaW5nRXZlbnQg
YXR0cmlidXRlcyBpbiBJREwuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBl
dmVudC5wbGF5YmFja1RpbWUgaXMgZGVmaW5lZC4KK1BBU1MgZXZlbnQuaW5wdXRCdWZmZXIgaXMg
ZGVmaW5lZC4KK1BBU1MgZXZlbnQub3V0cHV0QnVmZmVyIGlzIGRlZmluZWQuCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1iYXNpYy5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQt
YmFzaWMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4MSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+
CisKKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIFNjcmlwdFByb2Nlc3Nvck5vZGUuIik7
CisKK3ZhciBzYW1wbGVSYXRlID0gNDQxMDAuMDsKK3ZhciBvdXRwdXRDaGFubmVscyA9IDY7CisK
Ky8vIEZvciB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiBTY3JpcHRQcm9jZXNzb3JOb2Rl
LCB3aGVuIGl0IHdvcmtzIHdpdGggT2ZmbGluZUF1ZGlvQ29udGV4dCAod2hpY2ggcnVucyBtdWNo
IGZhc3RlcgorLy8gdGhhbiByZWFsLXRpbWUpIHRoZSBldmVudC5pbnB1dEJ1ZmZlciBtaWdodCBi
ZSBvdmVyd3JpdGUgYWdhaW4gYmVmb3JlIG9uYXVkaW9wcm9jZXNzIGV2ZXIgZ2V0IGNoYW5jZSB0
byBiZSBjYWxsZWQuCisvLyBXZSBjYXJlZnVsbHkgYXJyYW5nZSB0aGUgcmVuZGVyTGVuZ3RoSW5G
cmFtZXMgYW5kIGJ1ZmZlclNpemUgdG8gaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHZhbHVlIHRvIGF2
b2lkIHRoaXMgaXNzdWUuCit2YXIgcmVuZGVyTGVuZ3RoSW5GcmFtZXMgPSA1MTI7Cit2YXIgYnVm
ZmVyU2l6ZSA9IDUxMjsKKwordmFyIGNvbnRleHQ7CisKK2Z1bmN0aW9uIGNyZWF0ZUJ1ZmZlcihj
b250ZXh0LCBsZW5ndGgpIHsKKyAgICB2YXIgYXVkaW9CdWZmZXIgPSBjb250ZXh0LmNyZWF0ZUJ1
ZmZlcigyLCBsZW5ndGgsIHNhbXBsZVJhdGUpOworICAgIHZhciBuID0gYXVkaW9CdWZmZXIubGVu
Z3RoOworICAgIHZhciBkYXRhTCA9IGF1ZGlvQnVmZmVyLmdldENoYW5uZWxEYXRhKDApOworICAg
IHZhciBkYXRhUiA9IGF1ZGlvQnVmZmVyLmdldENoYW5uZWxEYXRhKDEpOworCisgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgZGF0YUxbaV0gPSAtMTsKKyAgICAgICAg
ZGF0YVJbaV0gPSAxOworICAgIH0KKworICAgIHJldHVybiBhdWRpb0J1ZmZlcjsKK30KKworZnVu
Y3Rpb24gcHJvY2Vzc0F1ZGlvRGF0YShldmVudCkgeworICAgIHNob3VsZEJlRGVmaW5lZCgiZXZl
bnQucGxheWJhY2tUaW1lIik7CisgICAgc2hvdWxkQmVEZWZpbmVkKCJldmVudC5pbnB1dEJ1ZmZl
ciIpOworICAgIHNob3VsZEJlRGVmaW5lZCgiZXZlbnQub3V0cHV0QnVmZmVyIik7CisKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHdpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgIC8vIENyZWF0ZSBvZmZsaW5lIGF1ZGlvIGNvbnRleHQuCisg
ICAgY29udGV4dCA9IG5ldyB3ZWJraXRPZmZsaW5lQXVkaW9Db250ZXh0KDIsIHJlbmRlckxlbmd0
aEluRnJhbWVzLCBzYW1wbGVSYXRlKTsKKworICAgIHZhciBzb3VyY2VCdWZmZXIgPSBjcmVhdGVC
dWZmZXIoY29udGV4dCwgcmVuZGVyTGVuZ3RoSW5GcmFtZXMpOworCisgICAgdmFyIGJ1ZmZlclNv
dXJjZSA9IGNvbnRleHQuY3JlYXRlQnVmZmVyU291cmNlKCk7CisgICAgYnVmZmVyU291cmNlLmJ1
ZmZlciA9IHNvdXJjZUJ1ZmZlcjsKKworICAgIHZhciBqc25vZGUgPSBjb250ZXh0LmNyZWF0ZVNj
cmlwdFByb2Nlc3NvcihidWZmZXJTaXplLCAyLCBvdXRwdXRDaGFubmVscyk7CisKKyAgICBidWZm
ZXJTb3VyY2UuY29ubmVjdChqc25vZGUpOworICAgIGpzbm9kZS5jb25uZWN0KGNvbnRleHQuZGVz
dGluYXRpb24pOworICAgIGpzbm9kZS5vbmF1ZGlvcHJvY2VzcyA9IHByb2Nlc3NBdWRpb0RhdGE7
CisKKyAgICBidWZmZXJTb3VyY2Uubm90ZU9uKDApOworICAgIGNvbnRleHQuc3RhcnRSZW5kZXJp
bmcoKTsKK30KKworcnVuVGVzdCgpOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>
<flag name="commit-queue"
          id="214770"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193436</attachid>
            <date>2013-03-16 04:18:01 -0700</date>
            <delta_ts>2013-03-24 03:21:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-105518.txt</filename>
            <type>text/plain</type>
            <size>16580</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTg2
NikKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAz
LTE0ICBQcmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAg
ICJQbGF5YmFja1RpbWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3Np
bmdFdmVudCBJbnRlcmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVk
aW9Qcm9jZXNzaW5nRXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBjdXJyZW50IGF1ZGlvIHRpbWUK
KyAgICAgICAgb2YgdGhlIGNvbnRleHQuCisKKyAgICAgICAgKiBNYW51YWxUZXN0cy93ZWJhdWRp
by9hdWRpb3Byb2Nlc3NpbmdldmVudC1wbGF5YmFjay1tYW51YWwuaHRtbDogQWRkZWQuCisKIDIw
MTMtMDMtMTQgIFRvYmlhcyBNdWVsbGVyICA8dG9iaWFzbXVlQGdub21lLm9yZz4KIAogICAgICAg
ICBCdWlsZDogUmVtb3ZlIFhTTFQgb3B0aW9uIGFuZCBkZXBlbmQgaGFyZCBvbiBYU0xULgpJbmRl
eDogTWFudWFsVGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtcGxheWJhY2stbWFu
dWFsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTWFudWFsVGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNz
aW5nZXZlbnQtcGxheWJhY2stbWFudWFsLmh0bWwJKHJldmlzaW9uIDApCisrKyBNYW51YWxUZXN0
cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1wbGF5YmFjay1tYW51YWwuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw3MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDx0aXRsZT5XZWIgQXVkaW8gU2FtcGxlPC90aXRsZT4KKyAgICA8c2NyaXB0PgorICAg
ICAgICB2YXIgc2FtcGxlUmF0ZSA9IDQ0MTAwLjA7CisgICAgICAgIHZhciByZW5kZXJMZW5ndGhJ
bkZyYW1lcyA9IDI1NjsKKyAgICAgICAgdmFyIGJ1ZmZlclNpemUgPSAyNTY7CisgICAgICAgIHZh
ciBmcmVxdWVuY3kgPSAxMDA7CisgICAgICAgIHZhciBkdXJhdGlvbiA9IDUwMDA7CisgICAgICAg
IHZhciBzY3JpcHRBdWRpb05vZGU7CisKKyAgICAgICAgdmFyIGNvbnRleHQgPSBuZXcgd2Via2l0
QXVkaW9Db250ZXh0KCk7Ly93ZWJraXRPZmZsaW5lQXVkaW9Db250ZXh0KDEsIHJlbmRlckxlbmd0
aEluRnJhbWVzLCBzYW1wbGVSYXRlKTsKKyAgICAgICAgdmFyIGdhaW5Ob2RlID0gY29udGV4dC5j
cmVhdGVHYWluTm9kZSgpOworICAgICAgICB2YXIgb3NjaWxsYXRvciA9IGNvbnRleHQuY3JlYXRl
T3NjaWxsYXRvcigpOworCisgICAgICAgIGdhaW5Ob2RlLmNvbm5lY3QoY29udGV4dC5kZXN0aW5h
dGlvbik7CisgICAgICAgIGdhaW5Ob2RlLmdhaW4udmFsdWUgPSAyOworCisgICAgICAgIGZ1bmN0
aW9uIHByb2Nlc3NBdWRpb0RhdGEoZXZlbnQpIHsKKyAgICAgICAgICAgIHZhciBpbnB1dEFycmF5
ID0gZXZlbnQuaW5wdXRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7CisgICAgICAgICAgICB2YXIg
b3V0cHV0QXJyYXkgPSBldmVudC5vdXRwdXRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7CisgICAg
ICAgICAgICB2YXIgbiA9IGV2ZW50LmlucHV0QnVmZmVyLmxlbmd0aDsKKyAgICAgICAgICAgIHZh
ciBidWZmZXJPZmZzZXQgPSAoMiAqIE1hdGguUEkpICogZXZlbnQub3V0cHV0QnVmZmVyLmR1cmF0
aW9uICogZnJlcXVlbmN5OworICAgICAgICAgICAgdmFyIG9mZnNldCA9ICgyICogTWF0aC5QSSkg
KiBldmVudC5wbGF5YmFja1RpbWUgKiBmcmVxdWVuY3k7CisKKyAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICAgICAgICAgICAgb3V0cHV0QXJyYXlbaV0gPSBp
bnB1dEFycmF5W2ldIC0gTWF0aC5zaW4ob2Zmc2V0ICsgKChpIC8gbikgKiBidWZmZXJPZmZzZXQp
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHBsYXlOb3Jt
YWwoKSB7CisgICAgICAgICAgICBvc2NpbGxhdG9yLmZyZXF1ZW5jeS52YWx1ZSA9IGZyZXF1ZW5j
eTsKKyAgICAgICAgICAgIG9zY2lsbGF0b3IudHlwZSA9IDA7CisgICAgICAgICAgICBvc2NpbGxh
dG9yLmNvbm5lY3QoZ2Fpbk5vZGUpOworICAgICAgICAgICAgb3NjaWxsYXRvci5zdGFydChjb250
ZXh0LmN1cnJlbnRUaW1lKTsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgb3Nj
aWxsYXRvci5kaXNjb25uZWN0KCk7IH0sIGR1cmF0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAg
IGZ1bmN0aW9uIHBsYXlPdmVybGFwKCkgeworICAgICAgICAgICAgc2NyaXB0QXVkaW9Ob2RlID0g
Y29udGV4dC5jcmVhdGVTY3JpcHRQcm9jZXNzb3IoYnVmZmVyU2l6ZSwgMSwgMSk7CisgICAgICAg
ICAgICBzY3JpcHRBdWRpb05vZGUuY29ubmVjdChnYWluTm9kZSk7CisgICAgICAgICAgICBzY3Jp
cHRBdWRpb05vZGUub25hdWRpb3Byb2Nlc3MgPSBwcm9jZXNzQXVkaW9EYXRhOworCisgICAgICAg
ICAgICBidWZmZXJTaXplID0gYnVmZmVyU2l6ZSAqIDI7CisgICAgICAgICAgICBpZiAoYnVmZmVy
U2l6ZSA+IDE2Mzg0KQorICAgICAgICAgICAgICAgIGJ1ZmZlclNpemUgPSAyNTY7CisKKyAgICAg
ICAgICAgIG9zY2lsbGF0b3IuZnJlcXVlbmN5LnZhbHVlID0gZnJlcXVlbmN5OworICAgICAgICAg
ICAgb3NjaWxsYXRvci50eXBlID0gMDsKKyAgICAgICAgICAgIG9zY2lsbGF0b3IuY29ubmVjdChz
Y3JpcHRBdWRpb05vZGUpOworCisgICAgICAgICAgICBvc2NpbGxhdG9yLnN0YXJ0KGNvbnRleHQu
Y3VycmVudFRpbWUpOworICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpeyBzY3JpcHRB
dWRpb05vZGUub25hdWRpb3Byb2Nlc3MgPSBudWxsOyBzY3JpcHRBdWRpb05vZGUuZGlzY29ubmVj
dCgpOyBvc2NpbGxhdG9yLmRpc2Nvbm5lY3QoKTsgfSwgZHVyYXRpb24pOworICAgICAgICB9Cisg
ICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD4KKyAgICAgICAgVGhpcyBjaGVj
a3MgdmFsaWRpdHkgb2YgcGxheWJhY2tUaW1lIGF0dHJpYnV0ZSBpbiBBdWRpb1Byb2Nlc3NpbmdO
b2RlLgorCisgICAgICAgIDEuICJOT1JNQUwgU0lORSBXQVZFIjogVGhpcyBnZW5lcmF0ZXMgYSBT
SU5FIHdhdmVmb3JtIG9mIGEgZ2l2ZW4gZnJlcXVlbmN5IGFuZCBwbGF5ZWQgd2l0aCBhIGdhaW4g
d2l0aG91dCBhbnkgb3RoZXIgcHJvY2Vzc2luZy4KKyAgICAgICAgMi4gIlNJTkUgT1ZFUkxBUFBF
RCBXSVRIIElOVkVSU0UgUEhBU0UiOiBIZXJlLCBTSU5FIHdhdmVmb3JtIGlzIGdlbmVyYXRlZCB1
c2luZyBPc2NpbGxhdG9yLiBUaGVuIGlzIHByb2Nlc3NlZCBpbiBTY3JpcHRQcm9jZXNzaW5nTm9k
ZSB3aGVyZQorICAgICAgICAgICAgYW4gaW52ZXJzZSBTSU5FIHdhdmUgaXMgb3ZlcmxhcHBlZCBi
YXNlZCBvbiB0aGUgcGhhc2UgYW5kIGZyZXF1ZW5jeSBvZiB0aGUgb3JpZ2luYWwgd2F2ZWZvcm0g
dXNpbmcgcGxheWJhY2tUaW1lIG9mIEF1ZGlvUHJvY2Vzc2luZ05vZGUKKyAgICAgICAgICAgIGFu
ZCBkdXJhdGlvbiBvZiBBdWRpb0J1ZmZlci4KKyAgICA8L3A+CisgICAgPGJ1dHRvbiBvbmNsaWNr
PSJwbGF5Tm9ybWFsKCkiPk5PUk1BTCBTSU5FIFdBVkU8L2J1dHRvbj4KKyAgICA8YnV0dG9uIG9u
Y2xpY2s9InBsYXlPdmVybGFwKCkiPlNJTkUgT1ZFUkxBUFBFRCBXSVRIIElOVkVSU0UgUEhBU0U8
L2J1dHRvbj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTg2
NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDM1IEBACisyMDEzLTAzLTE0ICBQcmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcu
Y29tPgorCisgICAgICAgICJQbGF5YmFja1RpbWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBp
biBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRlcmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXli
YWNrVGltZSIgaW4gQXVkaW9Qcm9jZXNzaW5nRXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBjdXJy
ZW50IGF1ZGlvIHRpbWUKKyAgICAgICAgb2YgdGhlIGNvbnRleHQuCisKKyAgICAgICAgU3BlYzog
aHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lm
aWNhdGlvbi5odG1sI0F1ZGlvUHJvY2Vzc2luZ0V2ZW50CisgICAgICAgICAgICAgIGh0dHBzOi8v
ZHZjcy53My5vcmcvaGcvYXVkaW8vcmF3LWZpbGUvdGlwL3dlYmF1ZGlvL3NwZWNpZmljYXRpb24u
aHRtbCNBdWRpb0J1ZmZlcgorCisgICAgICAgIFRlc3Q6IE1hbnVhbFRlc3RzL3dlYmF1ZGlvL2F1
ZGlvcHJvY2Vzc2luZ2V2ZW50LXBsYXliYWNrLW1hbnVhbC5odG1sCisgICAgICAgICAgICAgIExh
eW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLmh0bWwKKworICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1By
b2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoQXVkaW9Qcm9jZXNzaW5nRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Qcm9j
ZXNzaW5nRXZlbnQ6OnBsYXliYWNrVGltZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9B
dWRpb1Byb2Nlc3NpbmdFdmVudC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3Jp
cHRQcm9jZXNzb3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFByb2Nlc3Nvck5v
ZGU6OlNjcmlwdFByb2Nlc3Nvck5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UHJvY2Vz
c29yTm9kZTo6cHJvY2Vzcyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9jZXNzb3JOb2Rl
OjpmaXJlUHJvY2Vzc0V2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFBy
b2Nlc3Nvck5vZGUuaDoKKyAgICAgICAgKFNjcmlwdFByb2Nlc3Nvck5vZGUpOgorCiAyMDEzLTAz
LTE0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6
IENyYXNoIHdoZW4gcmVtb3ZpbmcgYXJpYS1tZW51IGl0ZW0gZnJvbSBET00KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCShyZXZpc2lv
biAxNDU4NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVy
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogICAgIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEF1ZGlvQnVmZmVyIHsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgbG9uZyBsZW5ndGg7IC8vIGluIHNhbXBsZS1mcmFtZXMKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgZmxvYXQgZHVyYXRpb247IC8vIGluIHNlY29uZHMKKyAgICByZWFkb25seSBhdHRyaWJ1
dGUgZG91YmxlIGR1cmF0aW9uOyAvLyBpbiBzZWNvbmRzCiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGZsb2F0IHNhbXBsZVJhdGU7IC8vIGluIHNhbXBsZS1mcmFtZXMgcGVyIHNlY29uZAogCiAgICAg
YXR0cmlidXRlIGZsb2F0IGdhaW47IC8vIGxpbmVhciBnYWluIChkZWZhdWx0IDEuMCkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9j
ZXNzaW5nRXZlbnQuY3BwCShyZXZpc2lvbiAxNDU4NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzgsMTkgKzM4LDIwIEBAIFBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+IEF1ZGlvUHIK
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KTsKIH0KIAotUGFz
c1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0
ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1
ZmZlcj4gb3V0cHV0QnVmZmVyKQorUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gQXVk
aW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1
ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyLCBkb3VibGUgdGltZSkK
IHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KGlucHV0QnVm
ZmVyLCBvdXRwdXRCdWZmZXIpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1ZGlvUHJvY2Vz
c2luZ0V2ZW50KGlucHV0QnVmZmVyLCBvdXRwdXRCdWZmZXIsIHRpbWUpKTsKIH0KIAogQXVkaW9Q
cm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KCkKIHsKIH0KIAotQXVkaW9Qcm9j
ZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+
IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIpCitBdWRp
b1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQoUGFzc1JlZlB0cjxBdWRpb0J1
ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlciwg
ZG91YmxlIHRpbWUpCiAgICAgOiBFdmVudChldmVudE5hbWVzKCkuYXVkaW9wcm9jZXNzRXZlbnQs
IHRydWUsIGZhbHNlKQogICAgICwgbV9pbnB1dEJ1ZmZlcihpbnB1dEJ1ZmZlcikKICAgICAsIG1f
b3V0cHV0QnVmZmVyKG91dHB1dEJ1ZmZlcikKKyAgICAsIG1fcGxheWJhY2tUaW1lKHRpbWUpCiB7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNz
aW5nRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmgJKHJldmlzaW9uIDE0NTg2MykKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMzMsMTQgKzMzLDE1IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1ZGlv
QnVmZmVyOwotICAgIAorCiBjbGFzcyBBdWRpb1Byb2Nlc3NpbmdFdmVudCA6IHB1YmxpYyBFdmVu
dCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+
IGNyZWF0ZSgpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBj
cmVhdGUoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVk
aW9CdWZmZXI+IG91dHB1dEJ1ZmZlcik7Ci0gICAgCisgICAgc3RhdGljIFBhc3NSZWZQdHI8QXVk
aW9Qcm9jZXNzaW5nRXZlbnQ+IGNyZWF0ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1
ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyLCBkb3VibGUgdGltZSk7
CisKICAgICB2aXJ0dWFsIH5BdWRpb1Byb2Nlc3NpbmdFdmVudCgpOwogCisgICAgZG91YmxlIHBs
YXliYWNrVGltZSgpIHsgcmV0dXJuIG1fcGxheWJhY2tUaW1lOyB9CiAgICAgQXVkaW9CdWZmZXIq
IGlucHV0QnVmZmVyKCkgeyByZXR1cm4gbV9pbnB1dEJ1ZmZlci5nZXQoKTsgfQogICAgIEF1ZGlv
QnVmZmVyKiBvdXRwdXRCdWZmZXIoKSB7IHJldHVybiBtX291dHB1dEJ1ZmZlci5nZXQoKTsgfQog
CkBAIC00OCwxMCArNDksMTEgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIEF1ZGlvUHJvY2Vz
c2luZ0V2ZW50KCk7Ci0gICAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoUGFzc1JlZlB0cjxBdWRpb0J1
ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlcik7
CisgICAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRC
dWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlciwgZG91YmxlIHRpbWUp
OwogCiAgICAgUmVmUHRyPEF1ZGlvQnVmZmVyPiBtX2lucHV0QnVmZmVyOwogICAgIFJlZlB0cjxB
dWRpb0J1ZmZlcj4gbV9vdXRwdXRCdWZmZXI7CisgICAgZG91YmxlIG1fcGxheWJhY2tUaW1lOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGwJKHJldmlz
aW9uIDE0NTg2MykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9j
ZXNzaW5nRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAgICAgQ29u
ZGl0aW9uYWw9V0VCX0FVRElPLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiBdIGludGVyZmFj
ZSBBdWRpb1Byb2Nlc3NpbmdFdmVudCA6IEV2ZW50IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUg
ZG91YmxlIHBsYXliYWNrVGltZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9CdWZmZXIg
aW5wdXRCdWZmZXI7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvQnVmZmVyIG91dHB1dEJ1
ZmZlcjsgCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvQnVmZmVyIG91dHB1dEJ1ZmZlcjsK
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nv
ck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
U2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAJKHJldmlzaW9uIDE0NTg2MykKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTgwLDYgKzgwLDcgQEAgU2NyaXB0UHJvY2Vzc29yTm9kZTo6U2NyaXB0UHJvY2Vzc29y
Tm9kZQogICAgICwgbV9udW1iZXJPZklucHV0Q2hhbm5lbHMobnVtYmVyT2ZJbnB1dENoYW5uZWxz
KQogICAgICwgbV9udW1iZXJPZk91dHB1dENoYW5uZWxzKG51bWJlck9mT3V0cHV0Q2hhbm5lbHMp
CiAgICAgLCBtX2ludGVybmFsSW5wdXRCdXMobnVtYmVyT2ZJbnB1dENoYW5uZWxzLCBBdWRpb05v
ZGU6OlByb2Nlc3NpbmdTaXplSW5GcmFtZXMsIGZhbHNlKQorICAgICwgbV9wbGF5YmFja1RpbWUo
MCkKIHsKICAgICAvLyBSZWdhcmRsZXNzIG9mIHRoZSBhbGxvd2VkIGJ1ZmZlciBzaXplcywgd2Ug
c3RpbGwgbmVlZCB0byBwcm9jZXNzIGF0IHRoZSBncmFudWxhcml0eSBvZiB0aGUgQXVkaW9Ob2Rl
LgogICAgIGlmIChtX2J1ZmZlclNpemUgPCBBdWRpb05vZGU6OlByb2Nlc3NpbmdTaXplSW5GcmFt
ZXMpCkBAIC0xOTQsNiArMTk1LDkgQEAgdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpwcm9jZXNz
KHNpemVfdAogICAgIC8vIG1fYnVmZmVyUmVhZFdyaXRlSW5kZXggd2lsbCB3cmFwIGJhY2sgYXJv
dW5kIHRvIDAgd2hlbiB0aGUgY3VycmVudCBpbnB1dCBhbmQgb3V0cHV0IGJ1ZmZlcnMgYXJlIGZ1
bGwuCiAgICAgLy8gV2hlbiB0aGlzIGhhcHBlbnMsIGZpcmUgYW4gZXZlbnQgYW5kIHN3YXAgYnVm
ZmVycy4KICAgICBpZiAoIW1fYnVmZmVyUmVhZFdyaXRlSW5kZXgpIHsKKyAgICAgICAgLy8gRklY
TUU6IERlbGF5IG5vZGUgaXMgbm90IGNvbnNpZGVyZWQgd2hpbGUgY2FsY3VsYXRpbmcgcGxheWJh
Y2tUaW1lLiBMYXRlbmN5IHNob3VsZCBiZSByZXRlc3RlZCB3aXRoIG1vcmUgc2NlbmFyaW9zLgor
ICAgICAgICBtX3BsYXliYWNrVGltZSA9IGNvbnRleHQoKS0+Y3VycmVudFRpbWUoKSArIG91dHB1
dEJ1ZmZlci0+ZHVyYXRpb24oKTsKKwogICAgICAgICAvLyBBdm9pZCBidWlsZGluZyB1cCByZXF1
ZXN0cyBvbiB0aGUgbWFpbiB0aHJlYWQgdG8gZmlyZSBwcm9jZXNzIGV2ZW50cyB3aGVuIHRoZXkn
cmUgbm90IGJlaW5nIGhhbmRsZWQuCiAgICAgICAgIC8vIFRoaXMgY291bGQgYmUgYSBwcm9ibGVt
IGlmIHRoZSBtYWluIHRocmVhZCBpcyB2ZXJ5IGJ1c3kgZG9pbmcgb3RoZXIgdGhpbmdzIGFuZCBp
cyBiZWluZyBoZWxkIHVwIGhhbmRsaW5nIHByZXZpb3VzIHJlcXVlc3RzLgogICAgICAgICBpZiAo
bV9pc1JlcXVlc3RPdXRzdGFuZGluZykgewpAQCAtMjMwLDEyICsyMzQsMTIgQEAgdm9pZCBTY3Jp
cHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vzc0V2ZQogdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2Rl
OjpmaXJlUHJvY2Vzc0V2ZW50KCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkgJiYgbV9p
c1JlcXVlc3RPdXRzdGFuZGluZyk7Ci0gICAgCisKICAgICBib29sIGlzSW5kZXhHb29kID0gbV9k
b3VibGVCdWZmZXJJbmRleEZvckV2ZW50IDwgMjsKICAgICBBU1NFUlQoaXNJbmRleEdvb2QpOwog
ICAgIGlmICghaXNJbmRleEdvb2QpCiAgICAgICAgIHJldHVybjsKLSAgICAgICAgCisKICAgICBB
dWRpb0J1ZmZlciogaW5wdXRCdWZmZXIgPSBtX2lucHV0QnVmZmVyc1ttX2RvdWJsZUJ1ZmZlcklu
ZGV4Rm9yRXZlbnRdLmdldCgpOwogICAgIEF1ZGlvQnVmZmVyKiBvdXRwdXRCdWZmZXIgPSBtX291
dHB1dEJ1ZmZlcnNbbV9kb3VibGVCdWZmZXJJbmRleEZvckV2ZW50XS5nZXQoKTsKICAgICBBU1NF
UlQob3V0cHV0QnVmZmVyKTsKQEAgLTI0Niw5ICsyNTAsOSBAQCB2b2lkIFNjcmlwdFByb2Nlc3Nv
ck5vZGU6OmZpcmVQcm9jZXNzRXZlCiAgICAgaWYgKGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKSB7CiAgICAgICAgIC8vIExldCB0aGUgYXVkaW8gdGhyZWFkIGtub3cgd2UndmUg
Z290dGVuIHRvIHRoZSBwb2ludCB3aGVyZSBpdCdzIE9LIGZvciBpdCB0byBtYWtlIGFub3RoZXIg
cmVxdWVzdC4KICAgICAgICAgbV9pc1JlcXVlc3RPdXRzdGFuZGluZyA9IGZhbHNlOwotICAgICAg
ICAKKwogICAgICAgICAvLyBDYWxsIHRoZSBKYXZhU2NyaXB0IGV2ZW50IGhhbmRsZXIgd2hpY2gg
d2lsbCBkbyB0aGUgYXVkaW8gcHJvY2Vzc2luZy4KLSAgICAgICAgZGlzcGF0Y2hFdmVudChBdWRp
b1Byb2Nlc3NpbmdFdmVudDo6Y3JlYXRlKGlucHV0QnVmZmVyLCBvdXRwdXRCdWZmZXIpKTsKKyAg
ICAgICAgZGlzcGF0Y2hFdmVudChBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3JlYXRlKGlucHV0QnVm
ZmVyLCBvdXRwdXRCdWZmZXIsIG1fcGxheWJhY2tUaW1lKSk7CiAgICAgfQogfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nv
ck5vZGUuaAkocmV2aXNpb24gMTQ1ODYzKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNyw2ICsxMDcs
OSBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZPdXRwdXRDaGFubmVsczsKIAog
ICAgIEF1ZGlvQnVzIG1faW50ZXJuYWxJbnB1dEJ1czsKKworICAgIC8vIEZvciBBdWRpb1Byb2Nl
c3NpbmdFdmVudAorICAgIGRvdWJsZSBtX3BsYXliYWNrVGltZTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTg2NikKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAzLTE0ICBQcmF2
ZWVuIFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFj
a1RpbWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJ
bnRlcmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZXN0IGNhc2UgYWRkZWQgdG8gY2hlY2sgQXVkaW9Qcm9jZXNzaW5n
RXZlbnQgYXR0cmlidXRlcy4KKworICAgICAgICAqIHdlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2
ZW50LWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vYXVkaW9w
cm9jZXNzaW5nZXZlbnQtYmFzaWMuaHRtbDogQWRkZWQuCisKIDIwMTMtMDMtMTQgIENocmlzIEZs
ZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogQ3Jhc2ggd2hlbiBy
ZW1vdmluZyBhcmlhLW1lbnUgaXRlbSBmcm9tIERPTQpJbmRleDogTGF5b3V0VGVzdHMvd2ViYXVk
aW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWJhc2ljLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2lu
Z2V2ZW50LWJhc2ljLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMSBAQAor
VGVzdHMgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgYXR0cmlidXRlcyBpbiBJREwuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBldmVudC5wbGF5YmFja1RpbWUgaXMgZGVmaW5lZC4K
K1BBU1MgZXZlbnQuaW5wdXRCdWZmZXIgaXMgZGVmaW5lZC4KK1BBU1MgZXZlbnQub3V0cHV0QnVm
ZmVyIGlzIGRlZmluZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZl
bnQtYmFzaWMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3By
b2Nlc3NpbmdldmVudC1iYXNpYy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtYmFzaWMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw4MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+CisKKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3RzIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IGF0dHJpYnV0ZXMgaW4gSURMLiIpOworCit2YXIgc2Ft
cGxlUmF0ZSA9IDQ0MTAwLjA7Cit2YXIgb3V0cHV0Q2hhbm5lbHMgPSA2OworCisvLyBGb3IgdGhl
IGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgU2NyaXB0UHJvY2Vzc29yTm9kZSwgd2hlbiBpdCB3
b3JrcyB3aXRoIE9mZmxpbmVBdWRpb0NvbnRleHQgKHdoaWNoIHJ1bnMgbXVjaCBmYXN0ZXIKKy8v
IHRoYW4gcmVhbC10aW1lKSB0aGUgZXZlbnQuaW5wdXRCdWZmZXIgbWlnaHQgYmUgb3ZlcndyaXRl
IGFnYWluIGJlZm9yZSBvbmF1ZGlvcHJvY2VzcyBldmVyIGdldCBjaGFuY2UgdG8gYmUgY2FsbGVk
LgorLy8gV2UgY2FyZWZ1bGx5IGFycmFuZ2UgdGhlIHJlbmRlckxlbmd0aEluRnJhbWVzIGFuZCBi
dWZmZXJTaXplIHRvIGhhdmUgZXhhY3RseSB0aGUgc2FtZSB2YWx1ZSB0byBhdm9pZCB0aGlzIGlz
c3VlLgordmFyIHJlbmRlckxlbmd0aEluRnJhbWVzID0gNTEyOwordmFyIGJ1ZmZlclNpemUgPSA1
MTI7CisKK3ZhciBjb250ZXh0OworCitmdW5jdGlvbiBjcmVhdGVCdWZmZXIoY29udGV4dCwgbGVu
Z3RoKSB7CisgICAgdmFyIGF1ZGlvQnVmZmVyID0gY29udGV4dC5jcmVhdGVCdWZmZXIoMiwgbGVu
Z3RoLCBzYW1wbGVSYXRlKTsKKyAgICB2YXIgbiA9IGF1ZGlvQnVmZmVyLmxlbmd0aDsKKyAgICB2
YXIgZGF0YUwgPSBhdWRpb0J1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTsKKyAgICB2YXIgZGF0YVIg
PSBhdWRpb0J1ZmZlci5nZXRDaGFubmVsRGF0YSgxKTsKKworICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgbjsgKytpKSB7CisgICAgICAgIGRhdGFMW2ldID0gLTE7CisgICAgICAgIGRhdGFSW2ldID0g
MTsKKyAgICB9CisKKyAgICByZXR1cm4gYXVkaW9CdWZmZXI7Cit9CisKK2Z1bmN0aW9uIHByb2Nl
c3NBdWRpb0RhdGEoZXZlbnQpIHsKKyAgICBzaG91bGRCZURlZmluZWQoImV2ZW50LnBsYXliYWNr
VGltZSIpOworICAgIHNob3VsZEJlRGVmaW5lZCgiZXZlbnQuaW5wdXRCdWZmZXIiKTsKKyAgICBz
aG91bGRCZURlZmluZWQoImV2ZW50Lm91dHB1dEJ1ZmZlciIpOworCisgICAgZmluaXNoSlNUZXN0
KCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAvLyBDcmVhdGUgb2ZmbGluZSBhdWRpbyBjb250ZXh0LgorICAgIGNvbnRleHQg
PSBuZXcgd2Via2l0T2ZmbGluZUF1ZGlvQ29udGV4dCgyLCByZW5kZXJMZW5ndGhJbkZyYW1lcywg
c2FtcGxlUmF0ZSk7CisKKyAgICB2YXIgc291cmNlQnVmZmVyID0gY3JlYXRlQnVmZmVyKGNvbnRl
eHQsIHJlbmRlckxlbmd0aEluRnJhbWVzKTsKKworICAgIHZhciBidWZmZXJTb3VyY2UgPSBjb250
ZXh0LmNyZWF0ZUJ1ZmZlclNvdXJjZSgpOworICAgIGJ1ZmZlclNvdXJjZS5idWZmZXIgPSBzb3Vy
Y2VCdWZmZXI7CisKKyAgICB2YXIganNub2RlID0gY29udGV4dC5jcmVhdGVTY3JpcHRQcm9jZXNz
b3IoYnVmZmVyU2l6ZSwgMiwgb3V0cHV0Q2hhbm5lbHMpOworCisgICAgYnVmZmVyU291cmNlLmNv
bm5lY3QoanNub2RlKTsKKyAgICBqc25vZGUuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0aW9uKTsK
KyAgICBqc25vZGUub25hdWRpb3Byb2Nlc3MgPSBwcm9jZXNzQXVkaW9EYXRhOworCisgICAgYnVm
ZmVyU291cmNlLm5vdGVPbigwKTsKKyAgICBjb250ZXh0LnN0YXJ0UmVuZGVyaW5nKCk7Cit9CisK
K3J1blRlc3QoKTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194741</attachid>
            <date>2013-03-24 03:21:04 -0700</date>
            <delta_ts>2013-04-04 00:03:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-105518.txt</filename>
            <type>text/plain</type>
            <size>13732</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NjcyNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEzLTAzLTI0ICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFja1Rp
bWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRl
cmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVkaW9Qcm9jZXNzaW5n
RXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBjdXJyZW50IGF1ZGlvIHRpbWUKKyAgICAgICAgb2Yg
dGhlIGNvbnRleHQuCisKKyAgICAgICAgU3BlYzogaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9hdWRp
by9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5odG1sI0F1ZGlvQnVmZmVyCisg
ICAgICAgICAgICAgIGh0dHBzOi8vZHZjcy53My5vcmcvaGcvYXVkaW8vcmF3LWZpbGUvdGlwL3dl
YmF1ZGlvL3NwZWNpZmljYXRpb24uaHRtbCNBdWRpb0NvbnRleHQtc2VjdGlvbgorICAgICAgICAg
ICAgICBodHRwczovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jhdy1maWxlL3RpcC93ZWJhdWRpby9z
cGVjaWZpY2F0aW9uLmh0bWwjQXVkaW9Qcm9jZXNzaW5nRXZlbnQKKworICAgICAgICBUZXN0OiB3
ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
Q29udGV4dC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdF
dmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3Np
bmdFdmVudCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVu
dC5oOgorICAgICAgICAoQXVkaW9Qcm9jZXNzaW5nRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OnBsYXliYWNrVGltZSk6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFBy
b2Nlc3Nvck5vZGU6OlNjcmlwdFByb2Nlc3Nvck5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
aXB0UHJvY2Vzc29yTm9kZTo6cHJvY2Vzcyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9j
ZXNzb3JOb2RlOjpmaXJlUHJvY2Vzc0V2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L1NjcmlwdFByb2Nlc3Nvck5vZGUuaDoKKyAgICAgICAgKFNjcmlwdFByb2Nlc3Nvck5vZGUpOgor
CiAyMDEzLTAzLTI0ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgQVg6IENyYXNoIGluIFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTcGluQnV0dG9uOjppbmNy
ZW1lbnRCdXR0b24oKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0J1ZmZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0J1ZmZlci5pZGwJKHJldmlzaW9uIDE0NjcyNykKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICsz
MSw3IEBACiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRlcmZhY2UgQXVkaW9C
dWZmZXIgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGxlbmd0aDsgLy8gaW4gc2FtcGxl
LWZyYW1lcwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBkdXJhdGlvbjsgLy8gaW4gc2Vj
b25kcworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgZHVyYXRpb247IC8vIGluIHNlY29u
ZHMKICAgICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgc2FtcGxlUmF0ZTsgLy8gaW4gc2FtcGxl
LWZyYW1lcyBwZXIgc2Vjb25kCiAKICAgICBhdHRyaWJ1dGUgZmxvYXQgZ2FpbjsgLy8gbGluZWFy
IGdhaW4gKGRlZmF1bHQgMS4wKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbAkocmV2aXNpb24gMTQ2NzI3KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0zNCw3ICszNCw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvRGVzdGluYXRpb25O
b2RlIGRlc3RpbmF0aW9uOwogCiAgICAgLy8gQWxsIHNjaGVkdWxlZCB0aW1lcyBhcmUgcmVsYXRp
dmUgdG8gdGhpcyB0aW1lIGluIHNlY29uZHMuCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0
IGN1cnJlbnRUaW1lOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgY3VycmVudFRpbWU7
CiAKICAgICAvLyBBbGwgQXVkaW9Ob2RlcyBpbiB0aGUgY29udGV4dCBydW4gYXQgdGhpcyBzYW1w
bGUtcmF0ZSAoaW4gc2FtcGxlLWZyYW1lcyBwZXIgc2Vjb25kKS4KICAgICByZWFkb25seSBhdHRy
aWJ1dGUgZmxvYXQgc2FtcGxlUmF0ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwCShyZXZpc2lvbiAx
NDY3MjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2lu
Z0V2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTkgKzM4LDIwIEBAIFBhc3NSZWZQdHI8
QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+IEF1ZGlvUHIKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1
ZGlvUHJvY2Vzc2luZ0V2ZW50KTsKIH0KIAotUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVu
dD4gQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBp
bnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyKQorUGFzc1Jl
ZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0ZShQ
YXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZl
cj4gb3V0cHV0QnVmZmVyLCBkb3VibGUgdGltZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KGlucHV0QnVmZmVyLCBvdXRwdXRCdWZmZXIpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KGlucHV0QnVmZmVyLCBvdXRw
dXRCdWZmZXIsIHRpbWUpKTsKIH0KIAogQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vz
c2luZ0V2ZW50KCkKIHsKIH0KIAotQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2lu
Z0V2ZW50KFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1
ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIpCitBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9j
ZXNzaW5nRXZlbnQoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQ
dHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlciwgZG91YmxlIHRpbWUpCiAgICAgOiBFdmVudChl
dmVudE5hbWVzKCkuYXVkaW9wcm9jZXNzRXZlbnQsIHRydWUsIGZhbHNlKQogICAgICwgbV9pbnB1
dEJ1ZmZlcihpbnB1dEJ1ZmZlcikKICAgICAsIG1fb3V0cHV0QnVmZmVyKG91dHB1dEJ1ZmZlcikK
KyAgICAsIG1fcGxheWJhY2tUaW1lKHRpbWUpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmgJKHJl
dmlzaW9uIDE0NjcyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Q
cm9jZXNzaW5nRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsMjEgKzM3LDIzIEBAIGNsYXNz
IEF1ZGlvQnVmZmVyOwogY2xhc3MgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgOiBwdWJsaWMgRXZlbnQg
ewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBj
cmVhdGUoKTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gY3Jl
YXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlv
QnVmZmVyPiBvdXRwdXRCdWZmZXIpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vz
c2luZ0V2ZW50PiBjcmVhdGUoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBh
c3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlciwgZG91YmxlIHRpbWUpOwogICAgIAog
ICAgIHZpcnR1YWwgfkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KCk7CiAKICAgICBBdWRpb0J1ZmZlciog
aW5wdXRCdWZmZXIoKSB7IHJldHVybiBtX2lucHV0QnVmZmVyLmdldCgpOyB9CiAgICAgQXVkaW9C
dWZmZXIqIG91dHB1dEJ1ZmZlcigpIHsgcmV0dXJuIG1fb3V0cHV0QnVmZmVyLmdldCgpOyB9Cisg
ICAgZG91YmxlIHBsYXliYWNrVGltZSgpIHsgcmV0dXJuIG1fcGxheWJhY2tUaW1lOyB9CiAKICAg
ICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OwogCiBw
cml2YXRlOgogICAgIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KCk7Ci0gICAgQXVkaW9Qcm9jZXNzaW5n
RXZlbnQoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVk
aW9CdWZmZXI+IG91dHB1dEJ1ZmZlcik7CisgICAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoUGFzc1Jl
ZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91
dHB1dEJ1ZmZlciwgZG91YmxlIHRpbWUpOwogCiAgICAgUmVmUHRyPEF1ZGlvQnVmZmVyPiBtX2lu
cHV0QnVmZmVyOwogICAgIFJlZlB0cjxBdWRpb0J1ZmZlcj4gbV9vdXRwdXRCdWZmZXI7CisgICAg
ZG91YmxlIG1fcGxheWJhY2tUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1By
b2Nlc3NpbmdFdmVudC5pZGwJKHJldmlzaW9uIDE0NjcyNykKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw2ICsyNiw3IEBACiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAogICAgIEpTR2VuZXJh
dGVUb0pTT2JqZWN0CiBdIGludGVyZmFjZSBBdWRpb1Byb2Nlc3NpbmdFdmVudCA6IEV2ZW50IHsK
KyAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHBsYXliYWNrVGltZTsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgQXVkaW9CdWZmZXIgaW5wdXRCdWZmZXI7Ci0gICAgcmVhZG9ubHkgYXR0cmli
dXRlIEF1ZGlvQnVmZmVyIG91dHB1dEJ1ZmZlcjsgCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1
ZGlvQnVmZmVyIG91dHB1dEJ1ZmZlcjsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAJKHJldmlzaW9u
IDE0NjcyNykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vz
c29yTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgwLDYgKzgwLDcgQEAgU2NyaXB0UHJvY2Vz
c29yTm9kZTo6U2NyaXB0UHJvY2Vzc29yTm9kZQogICAgICwgbV9udW1iZXJPZklucHV0Q2hhbm5l
bHMobnVtYmVyT2ZJbnB1dENoYW5uZWxzKQogICAgICwgbV9udW1iZXJPZk91dHB1dENoYW5uZWxz
KG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpCiAgICAgLCBtX2ludGVybmFsSW5wdXRCdXMobnVtYmVy
T2ZJbnB1dENoYW5uZWxzLCBBdWRpb05vZGU6OlByb2Nlc3NpbmdTaXplSW5GcmFtZXMsIGZhbHNl
KQorICAgICwgbV9wbGF5YmFja1RpbWUoMCkKIHsKICAgICAvLyBSZWdhcmRsZXNzIG9mIHRoZSBh
bGxvd2VkIGJ1ZmZlciBzaXplcywgd2Ugc3RpbGwgbmVlZCB0byBwcm9jZXNzIGF0IHRoZSBncmFu
dWxhcml0eSBvZiB0aGUgQXVkaW9Ob2RlLgogICAgIGlmIChtX2J1ZmZlclNpemUgPCBBdWRpb05v
ZGU6OlByb2Nlc3NpbmdTaXplSW5GcmFtZXMpCkBAIC0xOTQsNiArMTk1LDEwIEBAIHZvaWQgU2Ny
aXB0UHJvY2Vzc29yTm9kZTo6cHJvY2VzcyhzaXplX3QKICAgICAvLyBtX2J1ZmZlclJlYWRXcml0
ZUluZGV4IHdpbGwgd3JhcCBiYWNrIGFyb3VuZCB0byAwIHdoZW4gdGhlIGN1cnJlbnQgaW5wdXQg
YW5kIG91dHB1dCBidWZmZXJzIGFyZSBmdWxsLgogICAgIC8vIFdoZW4gdGhpcyBoYXBwZW5zLCBm
aXJlIGFuIGV2ZW50IGFuZCBzd2FwIGJ1ZmZlcnMuCiAgICAgaWYgKCFtX2J1ZmZlclJlYWRXcml0
ZUluZGV4KSB7CisgICAgICAgIC8vIEZJWE1FOiBEZWxheSBub2RlIGlzIG5vdCBjb25zaWRlcmVk
IHdoaWxlIGNhbGN1bGF0aW5nIHBsYXliYWNrVGltZS4gTGF0ZW5jeSBzaG91bGQgYmUgcmV0ZXN0
ZWQgd2l0aCBtb3JlIHNjZW5hcmlvcy4KKyAgICAgICAgbV9wbGF5YmFja1RpbWUgPSBjb250ZXh0
KCktPmN1cnJlbnRUaW1lKCkgLSBvdXRwdXRCdWZmZXItPmR1cmF0aW9uKCk7CisgICAgICAgIG1f
cGxheWJhY2tUaW1lID0gKG1fcGxheWJhY2tUaW1lID4gMCkgPyBtX3BsYXliYWNrVGltZSA6IDA7
CisKICAgICAgICAgLy8gQXZvaWQgYnVpbGRpbmcgdXAgcmVxdWVzdHMgb24gdGhlIG1haW4gdGhy
ZWFkIHRvIGZpcmUgcHJvY2VzcyBldmVudHMgd2hlbiB0aGV5J3JlIG5vdCBiZWluZyBoYW5kbGVk
LgogICAgICAgICAvLyBUaGlzIGNvdWxkIGJlIGEgcHJvYmxlbSBpZiB0aGUgbWFpbiB0aHJlYWQg
aXMgdmVyeSBidXN5IGRvaW5nIG90aGVyIHRoaW5ncyBhbmQgaXMgYmVpbmcgaGVsZCB1cCBoYW5k
bGluZyBwcmV2aW91cyByZXF1ZXN0cy4KICAgICAgICAgaWYgKG1faXNSZXF1ZXN0T3V0c3RhbmRp
bmcpIHsKQEAgLTIzMCwxMiArMjM1LDEyIEBAIHZvaWQgU2NyaXB0UHJvY2Vzc29yTm9kZTo6Zmly
ZVByb2Nlc3NFdmUKIHZvaWQgU2NyaXB0UHJvY2Vzc29yTm9kZTo6ZmlyZVByb2Nlc3NFdmVudCgp
CiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpICYmIG1faXNSZXF1ZXN0T3V0c3RhbmRpbmcp
OwotICAgIAorCiAgICAgYm9vbCBpc0luZGV4R29vZCA9IG1fZG91YmxlQnVmZmVySW5kZXhGb3JF
dmVudCA8IDI7CiAgICAgQVNTRVJUKGlzSW5kZXhHb29kKTsKICAgICBpZiAoIWlzSW5kZXhHb29k
KQogICAgICAgICByZXR1cm47Ci0gICAgICAgIAorCiAgICAgQXVkaW9CdWZmZXIqIGlucHV0QnVm
ZmVyID0gbV9pbnB1dEJ1ZmZlcnNbbV9kb3VibGVCdWZmZXJJbmRleEZvckV2ZW50XS5nZXQoKTsK
ICAgICBBdWRpb0J1ZmZlciogb3V0cHV0QnVmZmVyID0gbV9vdXRwdXRCdWZmZXJzW21fZG91Ymxl
QnVmZmVySW5kZXhGb3JFdmVudF0uZ2V0KCk7CiAgICAgQVNTRVJUKG91dHB1dEJ1ZmZlcik7CkBA
IC0yNDgsNyArMjUzLDcgQEAgdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vzc0V2
ZQogICAgICAgICBtX2lzUmVxdWVzdE91dHN0YW5kaW5nID0gZmFsc2U7CiAgICAgICAgIAogICAg
ICAgICAvLyBDYWxsIHRoZSBKYXZhU2NyaXB0IGV2ZW50IGhhbmRsZXIgd2hpY2ggd2lsbCBkbyB0
aGUgYXVkaW8gcHJvY2Vzc2luZy4KLSAgICAgICAgZGlzcGF0Y2hFdmVudChBdWRpb1Byb2Nlc3Np
bmdFdmVudDo6Y3JlYXRlKGlucHV0QnVmZmVyLCBvdXRwdXRCdWZmZXIpKTsKKyAgICAgICAgZGlz
cGF0Y2hFdmVudChBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3JlYXRlKGlucHV0QnVmZmVyLCBvdXRw
dXRCdWZmZXIsIG1fcGxheWJhY2tUaW1lKSk7CiAgICAgfQogfQogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaAko
cmV2aXNpb24gMTQ2NzI3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3Jp
cHRQcm9jZXNzb3JOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNyw2ICsxMDcsOSBAQCBwcml2
YXRlOgogICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZPdXRwdXRDaGFubmVsczsKIAogICAgIEF1ZGlv
QnVzIG1faW50ZXJuYWxJbnB1dEJ1czsKKworICAgIC8vIEZvciBBdWRpb1Byb2Nlc3NpbmdFdmVu
dAorICAgIGRvdWJsZSBtX3BsYXliYWNrVGltZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NjcyNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAzLTI0ICBQcmF2ZWVuIFIgSmFk
aGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFja1RpbWUiIHBh
cmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRlcmZhY2Ug
YXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0IGNhc2UgYWRkZWQgdG8gY2hlY2sgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgYXR0
cmlidXRlcy4KKworICAgICAgICAqIHdlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQu
aHRtbDogQWRkZWQuCisKIDIwMTMtMDMtMjQgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KIAogICAgICAgICBBWDogQ3Jhc2ggaW4gV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNw
aW5CdXR0b246OmluY3JlbWVudEJ1dHRvbigpCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJhdWRpby9h
dWRpb3Byb2Nlc3NpbmdldmVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExIEBACitUZXN0cyBBdWRpb1Byb2Nlc3NpbmdF
dmVudCBhdHRyaWJ1dGVzIGluIElETC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGV2ZW50LnBsYXliYWNrVGltZSBpcyBkZWZpbmVkLgorUEFTUyBldmVudC5pbnB1dEJ1ZmZl
ciBpcyBkZWZpbmVkLgorUEFTUyBldmVudC5vdXRwdXRCdWZmZXIgaXMgZGVmaW5lZC4KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlv
dXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50Lmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkwIEBACis8IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCis8
aGVhZD4NCis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0Pg0KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc291cmNl
cy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4NCis8L2hlYWQ+DQorDQorPGJvZHk+DQorDQor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pg0KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pg0K
Kw0KKzxzY3JpcHQ+DQorZGVzY3JpcHRpb24oIlRlc3RzIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IGF0
dHJpYnV0ZXMgaW4gSURMLiIpOw0KKw0KK3ZhciBzYW1wbGVSYXRlID0gNDQxMDAuMDsNCisNCisv
LyBGb3IgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgU2NyaXB0UHJvY2Vzc29yTm9kZSwg
d2hlbiBpdCB3b3JrcyB3aXRoIE9mZmxpbmVBdWRpb0NvbnRleHQgKHdoaWNoIHJ1bnMgbXVjaCBm
YXN0ZXINCisvLyB0aGFuIHJlYWwtdGltZSkgdGhlIGV2ZW50LmlucHV0QnVmZmVyIG1pZ2h0IGJl
IG92ZXJ3cml0ZSBhZ2FpbiBiZWZvcmUgb25hdWRpb3Byb2Nlc3MgZXZlciBnZXQgY2hhbmNlIHRv
IGJlIGNhbGxlZC4NCisvLyBXZSBjYXJlZnVsbHkgYXJyYW5nZSB0aGUgcmVuZGVyTGVuZ3RoSW5G
cmFtZXMgYW5kIGJ1ZmZlclNpemUgdG8gaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHZhbHVlIHRvIGF2
b2lkIHRoaXMgaXNzdWUuDQordmFyIHJlbmRlckxlbmd0aEluRnJhbWVzID0gNTEyOw0KK3ZhciBi
dWZmZXJTaXplID0gNTEyOw0KK3ZhciBkdXJhdGlvbiA9IDE7DQordmFyIGZyZXF1ZW5jeSA9IDEw
MDsNCit2YXIgY29udGV4dDsNCisNCitmdW5jdGlvbiBwcm9jZXNzQXVkaW9EYXRhKGV2ZW50KSB7
DQorICAgIHNob3VsZEJlRGVmaW5lZCgiZXZlbnQucGxheWJhY2tUaW1lIik7DQorICAgIHNob3Vs
ZEJlRGVmaW5lZCgiZXZlbnQuaW5wdXRCdWZmZXIiKTsNCisgICAgc2hvdWxkQmVEZWZpbmVkKCJl
dmVudC5vdXRwdXRCdWZmZXIiKTsNCisNCisgICAgdmFyIGlucHV0QXJyYXkgPSBldmVudC5pbnB1
dEJ1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTsNCisgICAgdmFyIG91dHB1dEFycmF5ID0gZXZlbnQu
b3V0cHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApOw0KKyAgICB2YXIgbiA9IGV2ZW50LmlucHV0
QnVmZmVyLmxlbmd0aDsNCisgICAgdmFyIGJ1ZmZlck9mZnNldCA9ICgyICogTWF0aC5QSSkgKiBl
dmVudC5vdXRwdXRCdWZmZXIuZHVyYXRpb24gKiBmcmVxdWVuY3k7DQorICAgIHZhciBvZmZzZXQg
PSAoMiAqIE1hdGguUEkpICogZXZlbnQucGxheWJhY2tUaW1lICogZnJlcXVlbmN5Ow0KKw0KKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSkgew0KKyAgICAgICAgb3V0cHV0QXJyYXlbaV0g
PSBpbnB1dEFycmF5W2ldIC0gTWF0aC5zaW4ob2Zmc2V0ICsgKChpIC8gbikgKiBidWZmZXJPZmZz
ZXQpKTsNCisgICAgfQ0KKw0KKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSkgew0KKyAg
ICAgICAgaWYgKG91dHB1dEFycmF5W2ldLnRvRml4ZWQoMykgIT0gMC4wMDApDQorICAgICAgICAg
ICAgdGVzdEZhaWxlZCgicGxheWJhY2tUaW1lIGlzIG5vdCBzeW5jaHJvbml6ZWQuIik7DQorICAg
IH0NCit9DQorDQorZnVuY3Rpb24gcnVuVGVzdCgpIHsNCisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7DQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsNCisgICAgICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOw0KKyAgICB9DQorDQorICAgIHdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsNCisNCisgICAgLy8gQ3JlYXRlIG9mZmxpbmUgYXVkaW8gY29udGV4dC4NCisg
ICAgY29udGV4dCA9IG5ldyB3ZWJraXRPZmZsaW5lQXVkaW9Db250ZXh0KDIsIHJlbmRlckxlbmd0
aEluRnJhbWVzLCBzYW1wbGVSYXRlKTsNCisNCisgICAgdmFyIG9zY2lsbGF0b3IgPSBjb250ZXh0
LmNyZWF0ZU9zY2lsbGF0b3IoKTsNCisNCisgICAgb3NjaWxsYXRvci5mcmVxdWVuY3kudmFsdWUg
PSBmcmVxdWVuY3k7DQorICAgIG9zY2lsbGF0b3IudHlwZSA9IDA7DQorDQorICAgIHZhciBzY3Jp
cHRQcm9jZXNzb3JOb2RlID0gY29udGV4dC5jcmVhdGVTY3JpcHRQcm9jZXNzb3IoYnVmZmVyU2l6
ZSwgMSwgMSk7DQorDQorICAgIG9zY2lsbGF0b3IuY29ubmVjdChzY3JpcHRQcm9jZXNzb3JOb2Rl
KTsNCisgICAgc2NyaXB0UHJvY2Vzc29yTm9kZS5vbmF1ZGlvcHJvY2VzcyA9IHByb2Nlc3NBdWRp
b0RhdGE7DQorDQorICAgIHZhciBnYWluTm9kZSA9IGNvbnRleHQuY3JlYXRlR2Fpbk5vZGUoKTsN
CisNCisgICAgc2NyaXB0UHJvY2Vzc29yTm9kZS5jb25uZWN0KGdhaW5Ob2RlKTsNCisgICAgZ2Fp
bk5vZGUuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0aW9uKTsNCisgICAgZ2Fpbk5vZGUuZ2Fpbi52
YWx1ZSA9IDI7DQorDQorICAgIHZhciBzdGFydFRpbWUgPSBjb250ZXh0LmN1cnJlbnRUaW1lOw0K
Kw0KKyAgICBvc2NpbGxhdG9yLnN0YXJ0KHN0YXJ0VGltZSk7DQorICAgIG9zY2lsbGF0b3Iuc3Rv
cChzdGFydFRpbWUgKyBkdXJhdGlvbik7DQorDQorICAgIGNvbnRleHQub25jb21wbGV0ZSA9IGZp
bmlzaEpTVGVzdDsNCisgICAgY29udGV4dC5zdGFydFJlbmRlcmluZygpOw0KK30NCisNCitydW5U
ZXN0KCk7DQorDQorPC9zY3JpcHQ+DQorDQorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196446</attachid>
            <date>2013-04-04 00:03:19 -0700</date>
            <delta_ts>2013-04-10 02:30:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-105518.txt</filename>
            <type>text/plain</type>
            <size>34149</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NzYxMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEzLTA0LTAzICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFja1Rp
bWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRl
cmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVkaW9Qcm9jZXNzaW5n
RXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBwbGF5YmFjayB0aW1lIG9mCisgICAgICAgIGF1ZGlv
YnVmZmVyIGFzc29jaWF0ZWQgd2l0aCBTY3JpcHRQcm9jZXNzb3JOb2RlIG9mIHRoZSBjb250ZXh0
LgorCisgICAgICAgIFNwZWM6IGh0dHBzOi8vZHZjcy53My5vcmcvaGcvYXVkaW8vcmF3LWZpbGUv
dGlwL3dlYmF1ZGlvL3NwZWNpZmljYXRpb24uaHRtbCNBdWRpb0J1ZmZlcgorICAgICAgICAgICAg
ICBodHRwczovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jhdy1maWxlL3RpcC93ZWJhdWRpby9zcGVj
aWZpY2F0aW9uLmh0bWwjQXVkaW9Db250ZXh0LXNlY3Rpb24KKyAgICAgICAgICAgICAgaHR0cHM6
Ly9kdmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlv
bi5odG1sI0F1ZGlvUHJvY2Vzc2luZ0V2ZW50CisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vYXVk
aW9wcm9jZXNzaW5nZXZlbnQuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0J1ZmZlci5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQpOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaDoKKyAgICAg
ICAgKEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvUHJvY2Vz
c2luZ0V2ZW50OjpwbGF5YmFja1RpbWUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Qcm9jZXNzaW5nRXZlbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0
UHJvY2Vzc29yTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9jZXNzb3JOb2Rl
OjpTY3JpcHRQcm9jZXNzb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFByb2Nlc3Nv
ck5vZGU6OnByb2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UHJvY2Vzc29yTm9kZTo6
ZmlyZVByb2Nlc3NFdmVudCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9j
ZXNzb3JOb2RlLmg6CisgICAgICAgIChTY3JpcHRQcm9jZXNzb3JOb2RlKToKKwogMjAxMy0wNC0w
MyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtF
RkxdIEFkZCBhIGRlY29yYXRpb24gaW1hZ2UgdG8gc2VhcmNoIGlucHV0IGZpZWxkCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbAkocmV2
aXNpb24gMTQ3NjEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1
ZmZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBBdWRpb0J1ZmZlciB7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGxvbmcgbGVuZ3RoOyAvLyBpbiBzYW1wbGUtZnJhbWVzCi0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIGZsb2F0IGR1cmF0aW9uOyAvLyBpbiBzZWNvbmRzCisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGRvdWJsZSBkdXJhdGlvbjsgLy8gaW4gc2Vjb25kcwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBmbG9hdCBzYW1wbGVSYXRlOyAvLyBpbiBzYW1wbGUtZnJhbWVzIHBlciBzZWNvbmQKIAog
ICAgIGF0dHJpYnV0ZSBmbG9hdCBnYWluOyAvLyBsaW5lYXIgZ2FpbiAoZGVmYXVsdCAxLjApCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
aWRsCShyZXZpc2lvbiAxNDc2MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9EZXN0aW5hdGlvbk5vZGUgZGVzdGluYXRpb247CiAKICAg
ICAvLyBBbGwgc2NoZWR1bGVkIHRpbWVzIGFyZSByZWxhdGl2ZSB0byB0aGlzIHRpbWUgaW4gc2Vj
b25kcy4KLSAgICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgY3VycmVudFRpbWU7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBjdXJyZW50VGltZTsKIAogICAgIC8vIEFsbCBBdWRpb05v
ZGVzIGluIHRoZSBjb250ZXh0IHJ1biBhdCB0aGlzIHNhbXBsZS1yYXRlIChpbiBzYW1wbGUtZnJh
bWVzIHBlciBzZWNvbmQpLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBzYW1wbGVSYXRl
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdF
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAJKHJldmlzaW9uIDE0NzYxMikKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zOCwxOSArMzgsMjEgQEAgUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4g
QXVkaW9QcgogICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9jZXNzaW5nRXZlbnQpOwog
fQogCi1QYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBBdWRpb1Byb2Nlc3NpbmdFdmVu
dDo6Y3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRy
PEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIpCitQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2
ZW50PiBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+
IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIsIGRvdWJs
ZSBwbGF5YmFja1RpbWUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdWRpb1Byb2Nlc3Np
bmdFdmVudChpbnB1dEJ1ZmZlciwgb3V0cHV0QnVmZmVyKSk7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBBdWRpb1Byb2Nlc3NpbmdFdmVudChpbnB1dEJ1ZmZlciwgb3V0cHV0QnVmZmVyLCBwbGF5
YmFja1RpbWUpKTsKIH0KIAogQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2
ZW50KCkKKyAgICA6IG1fcGxheWJhY2tUaW1lKDApCiB7CiB9CiAKLUF1ZGlvUHJvY2Vzc2luZ0V2
ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1
ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyKQorQXVkaW9Qcm9jZXNz
aW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlu
cHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIsIGRvdWJsZSBw
bGF5YmFja1RpbWUpCiAgICAgOiBFdmVudChldmVudE5hbWVzKCkuYXVkaW9wcm9jZXNzRXZlbnQs
IHRydWUsIGZhbHNlKQogICAgICwgbV9pbnB1dEJ1ZmZlcihpbnB1dEJ1ZmZlcikKICAgICAsIG1f
b3V0cHV0QnVmZmVyKG91dHB1dEJ1ZmZlcikKKyAgICAsIG1fcGxheWJhY2tUaW1lKHBsYXliYWNr
VGltZSkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b1Byb2Nlc3NpbmdFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaAkocmV2aXNpb24gMTQ3NjEyKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNywyMSArMzcsMjMgQEAgY2xhc3MgQXVkaW9CdWZmZXI7CiBjbGFzcyBB
dWRpb1Byb2Nlc3NpbmdFdmVudCA6IHB1YmxpYyBFdmVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+IGNyZWF0ZSgpOwotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBjcmVhdGUoUGFzc1JlZlB0cjxBdWRpb0J1
ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlcik7
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+IGNyZWF0ZShQYXNz
UmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4g
b3V0cHV0QnVmZmVyLCBkb3VibGUgcGxheWJhY2tUaW1lKTsKICAgICAKICAgICB2aXJ0dWFsIH5B
dWRpb1Byb2Nlc3NpbmdFdmVudCgpOwogCiAgICAgQXVkaW9CdWZmZXIqIGlucHV0QnVmZmVyKCkg
eyByZXR1cm4gbV9pbnB1dEJ1ZmZlci5nZXQoKTsgfQogICAgIEF1ZGlvQnVmZmVyKiBvdXRwdXRC
dWZmZXIoKSB7IHJldHVybiBtX291dHB1dEJ1ZmZlci5nZXQoKTsgfQorICAgIGRvdWJsZSBwbGF5
YmFja1RpbWUoKSBjb25zdCB7IHJldHVybiBtX3BsYXliYWNrVGltZTsgfQogCiAgICAgdmlydHVh
bCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKIAogcHJpdmF0ZToK
ICAgICBBdWRpb1Byb2Nlc3NpbmdFdmVudCgpOwotICAgIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBh
c3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVy
PiBvdXRwdXRCdWZmZXIpOworICAgIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVk
aW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZm
ZXIsIGRvdWJsZSBwbGF5YmFja1RpbWUpOwogCiAgICAgUmVmUHRyPEF1ZGlvQnVmZmVyPiBtX2lu
cHV0QnVmZmVyOwogICAgIFJlZlB0cjxBdWRpb0J1ZmZlcj4gbV9vdXRwdXRCdWZmZXI7CisgICAg
ZG91YmxlIG1fcGxheWJhY2tUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1By
b2Nlc3NpbmdFdmVudC5pZGwJKHJldmlzaW9uIDE0NzYxMikKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw2ICsyNiw3IEBACiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAogICAgIEpTR2VuZXJh
dGVUb0pTT2JqZWN0CiBdIGludGVyZmFjZSBBdWRpb1Byb2Nlc3NpbmdFdmVudCA6IEV2ZW50IHsK
KyAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHBsYXliYWNrVGltZTsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgQXVkaW9CdWZmZXIgaW5wdXRCdWZmZXI7Ci0gICAgcmVhZG9ubHkgYXR0cmli
dXRlIEF1ZGlvQnVmZmVyIG91dHB1dEJ1ZmZlcjsgCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1
ZGlvQnVmZmVyIG91dHB1dEJ1ZmZlcjsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAJKHJldmlzaW9u
IDE0NzYxMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vz
c29yTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRlIDx3
dGYvRmxvYXQzMkFycmF5Lmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAordXNpbmcg
bmFtZXNwYWNlIHN0ZDsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBzaXplX3QgRGVm
YXVsdEJ1ZmZlclNpemUgPSA0MDk2OwpAQCAtODAsNiArODIsNyBAQCBTY3JpcHRQcm9jZXNzb3JO
b2RlOjpTY3JpcHRQcm9jZXNzb3JOb2RlCiAgICAgLCBtX251bWJlck9mSW5wdXRDaGFubmVscyhu
dW1iZXJPZklucHV0Q2hhbm5lbHMpCiAgICAgLCBtX251bWJlck9mT3V0cHV0Q2hhbm5lbHMobnVt
YmVyT2ZPdXRwdXRDaGFubmVscykKICAgICAsIG1faW50ZXJuYWxJbnB1dEJ1cyhudW1iZXJPZklu
cHV0Q2hhbm5lbHMsIEF1ZGlvTm9kZTo6UHJvY2Vzc2luZ1NpemVJbkZyYW1lcywgZmFsc2UpCisg
ICAgLCBtX3BsYXliYWNrVGltZSgwKQogewogICAgIC8vIFJlZ2FyZGxlc3Mgb2YgdGhlIGFsbG93
ZWQgYnVmZmVyIHNpemVzLCB3ZSBzdGlsbCBuZWVkIHRvIHByb2Nlc3MgYXQgdGhlIGdyYW51bGFy
aXR5IG9mIHRoZSBBdWRpb05vZGUuCiAgICAgaWYgKG1fYnVmZmVyU2l6ZSA8IEF1ZGlvTm9kZTo6
UHJvY2Vzc2luZ1NpemVJbkZyYW1lcykKQEAgLTE5NCw2ICsxOTcsOSBAQCB2b2lkIFNjcmlwdFBy
b2Nlc3Nvck5vZGU6OnByb2Nlc3Moc2l6ZV90CiAgICAgLy8gbV9idWZmZXJSZWFkV3JpdGVJbmRl
eCB3aWxsIHdyYXAgYmFjayBhcm91bmQgdG8gMCB3aGVuIHRoZSBjdXJyZW50IGlucHV0IGFuZCBv
dXRwdXQgYnVmZmVycyBhcmUgZnVsbC4KICAgICAvLyBXaGVuIHRoaXMgaGFwcGVucywgZmlyZSBh
biBldmVudCBhbmQgc3dhcCBidWZmZXJzLgogICAgIGlmICghbV9idWZmZXJSZWFkV3JpdGVJbmRl
eCkgeworICAgICAgICAvLyBGSVhNRTogRGVsYXkgbm9kZSBpcyBub3QgY29uc2lkZXJlZCB3aGls
ZSBjYWxjdWxhdGluZyBwbGF5YmFja1RpbWUuIExhdGVuY3kgc2hvdWxkIGJlIHJldGVzdGVkIHdp
dGggbW9yZSBzY2VuYXJpb3MuCisgICAgICAgIG1fcGxheWJhY2tUaW1lID0gbWF4KDAuMCwgY29u
dGV4dCgpLT5jdXJyZW50VGltZSgpIC0gb3V0cHV0QnVmZmVyLT5kdXJhdGlvbigpKTsKKwogICAg
ICAgICAvLyBBdm9pZCBidWlsZGluZyB1cCByZXF1ZXN0cyBvbiB0aGUgbWFpbiB0aHJlYWQgdG8g
ZmlyZSBwcm9jZXNzIGV2ZW50cyB3aGVuIHRoZXkncmUgbm90IGJlaW5nIGhhbmRsZWQuCiAgICAg
ICAgIC8vIFRoaXMgY291bGQgYmUgYSBwcm9ibGVtIGlmIHRoZSBtYWluIHRocmVhZCBpcyB2ZXJ5
IGJ1c3kgZG9pbmcgb3RoZXIgdGhpbmdzIGFuZCBpcyBiZWluZyBoZWxkIHVwIGhhbmRsaW5nIHBy
ZXZpb3VzIHJlcXVlc3RzLgogICAgICAgICBpZiAobV9pc1JlcXVlc3RPdXRzdGFuZGluZykgewpA
QCAtMjMwLDEyICsyMzYsMTIgQEAgdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vz
c0V2ZQogdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vzc0V2ZW50KCkKIHsKICAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkgJiYgbV9pc1JlcXVlc3RPdXRzdGFuZGluZyk7Ci0gICAg
CisKICAgICBib29sIGlzSW5kZXhHb29kID0gbV9kb3VibGVCdWZmZXJJbmRleEZvckV2ZW50IDwg
MjsKICAgICBBU1NFUlQoaXNJbmRleEdvb2QpOwogICAgIGlmICghaXNJbmRleEdvb2QpCiAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgCisKICAgICBBdWRpb0J1ZmZlciogaW5wdXRCdWZmZXIgPSBt
X2lucHV0QnVmZmVyc1ttX2RvdWJsZUJ1ZmZlckluZGV4Rm9yRXZlbnRdLmdldCgpOwogICAgIEF1
ZGlvQnVmZmVyKiBvdXRwdXRCdWZmZXIgPSBtX291dHB1dEJ1ZmZlcnNbbV9kb3VibGVCdWZmZXJJ
bmRleEZvckV2ZW50XS5nZXQoKTsKICAgICBBU1NFUlQob3V0cHV0QnVmZmVyKTsKQEAgLTI0OCw3
ICsyNTQsNyBAQCB2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6OmZpcmVQcm9jZXNzRXZlCiAgICAg
ICAgIG1faXNSZXF1ZXN0T3V0c3RhbmRpbmcgPSBmYWxzZTsKICAgICAgICAgCiAgICAgICAgIC8v
IENhbGwgdGhlIEphdmFTY3JpcHQgZXZlbnQgaGFuZGxlciB3aGljaCB3aWxsIGRvIHRoZSBhdWRp
byBwcm9jZXNzaW5nLgotICAgICAgICBkaXNwYXRjaEV2ZW50KEF1ZGlvUHJvY2Vzc2luZ0V2ZW50
OjpjcmVhdGUoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlcikpOworICAgICAgICBkaXNwYXRjaEV2
ZW50KEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpjcmVhdGUoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZl
ciwgbV9wbGF5YmFja1RpbWUpKTsKICAgICB9CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oCShyZXZpc2lv
biAxNDc2MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nl
c3Nvck5vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNyw3IEBAIHByaXZhdGU6CiAg
ICAgdW5zaWduZWQgbV9udW1iZXJPZk91dHB1dENoYW5uZWxzOwogCiAgICAgQXVkaW9CdXMgbV9p
bnRlcm5hbElucHV0QnVzOworICAgIGRvdWJsZSBtX3BsYXliYWNrVGltZTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NzYxMikKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA0LTAz
ICBQcmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJQ
bGF5YmFja1RpbWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdF
dmVudCBJbnRlcmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGNhc2UgYWRkZWQgdG8gY2hlY2sgQXVkaW9Qcm9j
ZXNzaW5nRXZlbnQgYXR0cmlidXRlcy4KKworICAgICAgICAqIHdlYmF1ZGlvL2F1ZGlvcHJvY2Vz
c2luZ2V2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vYXVkaW9w
cm9jZXNzaW5nZXZlbnQuaHRtbDogQWRkZWQuCisKIDIwMTMtMDQtMDMgIEd5dXlvdW5nIEtpbSAg
PGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBBZGQgYSBkZWNvcmF0
aW9uIGltYWdlIHRvIHNlYXJjaCBpbnB1dCBmaWVsZApJbmRleDogTGF5b3V0VGVzdHMvd2ViYXVk
aW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MjMgQEAKK1Rlc3RzIEF1ZGlvUHJvY2Vz
c2luZ0V2ZW50IGF0dHJpYnV0ZXMgaW4gSURMLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgZXZlbnQucGxheWJhY2tUaW1lIGlzIGRlZmluZWQuCitQQVNTIGV2ZW50LmlucHV0
QnVmZmVyIGlzIGRlZmluZWQuCitQQVNTIGV2ZW50Lm91dHB1dEJ1ZmZlciBpcyBkZWZpbmVkLgor
UEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUg
aXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEg
b2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0
VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAw
LjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mg
b3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdp
dGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAK
K1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVl
IGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAx
IG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1
dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4g
MC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNT
IG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3
aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAw
CitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1
ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAw
MSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRw
dXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGlu
IDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFT
UyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMg
d2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2Yg
MAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFs
dWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAw
MDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0
cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhp
biAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BB
U1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlz
IHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9m
IDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZh
bHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4w
MDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91
dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRo
aW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQ
QVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBp
cyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBv
ZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRW
YWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAu
MDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBv
dXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0
aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAor
UEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUg
aXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEg
b2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0
VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAw
LjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mg
b3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdp
dGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAK
K1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVl
IGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAx
IG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1
dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4g
MC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNT
IG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3
aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAw
CitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1
ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAw
MSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRw
dXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGlu
IDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFT
UyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMg
d2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2Yg
MAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFs
dWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAw
MDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0
cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhp
biAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BB
U1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlz
IHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9m
IDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZh
bHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4w
MDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91
dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRo
aW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQ
QVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBp
cyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBv
ZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRW
YWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAu
MDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBv
dXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0
aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAor
UEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUg
aXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEg
b2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0
VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAw
LjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mg
b3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdp
dGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAK
K1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVl
IGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAx
IG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1
dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4g
MC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNT
IG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3
aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAw
CitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1
ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAw
MSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRw
dXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGlu
IDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFT
UyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMg
d2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2Yg
MAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFs
dWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAw
MDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0
cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhp
biAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BB
U1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlz
IHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9m
IDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZh
bHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4w
MDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91
dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRo
aW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQ
QVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBp
cyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBv
ZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRW
YWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAu
MDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBv
dXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0
aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAor
UEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUg
aXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEg
b2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0
VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAw
LjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mg
b3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdp
dGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAK
K1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVl
IGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAx
IG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1
dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4g
MC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNT
IG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3
aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAw
CitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1
ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAw
MSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRw
dXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGlu
IDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFT
UyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMg
d2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2Yg
MAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFs
dWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAw
MDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0
cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhp
biAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BB
U1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlz
IHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9m
IDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZh
bHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4w
MDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91
dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRo
aW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQ
QVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBp
cyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBv
ZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRW
YWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAu
MDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBv
dXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0
aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAor
UEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUg
aXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEg
b2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0
VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAw
LjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mg
b3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdp
dGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAK
K1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVl
IGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAx
IG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1
dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4g
MC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNT
IG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3
aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAw
CitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1
ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAw
MSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRw
dXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGlu
IDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFT
UyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMg
d2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2Yg
MAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFs
dWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAw
MDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0
cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhp
biAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BB
U1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlz
IHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9m
IDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZh
bHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4w
MDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91
dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRo
aW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQ
QVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBp
cyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBv
ZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRW
YWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAu
MDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBv
dXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0
aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAor
UEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUg
aXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEg
b2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0
VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAw
LjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mg
b3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdp
dGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAK
K1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVl
IGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAx
IG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1
dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4g
MC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNT
IG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3
aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAw
CitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1
ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAw
MSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRw
dXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGlu
IDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFT
UyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMg
d2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2Yg
MAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFs
dWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAw
MDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0
cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhp
biAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BB
U1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlz
IHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9m
IDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZh
bHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4w
MDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91
dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRo
aW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQ
QVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBp
cyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBv
ZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRW
YWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAu
MDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBv
dXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0
aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAor
UEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUg
aXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEg
b2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0
VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAw
LjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mg
b3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdp
dGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAK
K1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVl
IGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAx
IG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1
dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4g
MC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNT
IG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3
aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAw
CitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1
ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAw
MSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRw
dXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGlu
IDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFT
UyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMg
d2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2Yg
MAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFs
dWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAw
MDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0
cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhp
biAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BB
U1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlz
IHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9m
IDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZh
bHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4w
MDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91
dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRo
aW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQ
QVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBp
cyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBv
ZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRW
YWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAu
MDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBv
dXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0
aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAor
UEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUg
aXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEg
b2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0
VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAw
LjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mg
b3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdp
dGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAK
K1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVl
IGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAx
IG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1
dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4g
MC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNT
IG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3
aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAw
CitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1
ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAw
MSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRw
dXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGlu
IDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFT
UyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMg
d2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2Yg
MAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFs
dWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAw
MDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0
cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhp
biAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BB
U1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlz
IHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9m
IDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZh
bHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4w
MDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91
dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRo
aW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQ
QVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBp
cyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBv
ZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRW
YWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAu
MDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBv
dXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0
aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAor
UEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUg
aXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEg
b2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0
VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAw
LjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mg
b3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdp
dGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAK
K1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVl
IGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAx
IG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1
dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4g
MC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNT
IG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3
aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAw
CitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1
ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAw
MSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRw
dXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGlu
IDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFT
UyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMg
d2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2Yg
MAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFs
dWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAw
MDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0
cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhp
biAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BB
U1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlz
IHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9m
IDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91dHB1dFZh
bHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4w
MDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQQVNTIG91
dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBpcyB3aXRo
aW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBvZiAwCitQ
QVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRWYWx1ZSBp
cyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAuMDAwMSBv
ZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBvdXRwdXRW
YWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0aGluIDAu
MDAwMSBvZiAwCitQQVNTIG91dHB1dFZhbHVlIGlzIHdpdGhpbiAwLjAwMDEgb2YgMAorUEFTUyBv
dXRwdXRWYWx1ZSBpcyB3aXRoaW4gMC4wMDAxIG9mIDAKK1BBU1Mgb3V0cHV0VmFsdWUgaXMgd2l0
aGluIDAuMDAwMSBvZiAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZl
bnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3Np
bmdldmVudC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9w
cm9jZXNzaW5nZXZlbnQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4NiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
KworPGJvZHk+CisKKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIEF1ZGlvUHJvY2Vzc2lu
Z0V2ZW50IGF0dHJpYnV0ZXMgaW4gSURMLiIpOworCit2YXIgc2FtcGxlUmF0ZSA9IDQ0MTAwLjA7
CisKKy8vIEZvciB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiBTY3JpcHRQcm9jZXNzb3JO
b2RlLCB3aGVuIGl0IHdvcmtzIHdpdGggT2ZmbGluZUF1ZGlvQ29udGV4dCAod2hpY2ggcnVucyBt
dWNoIGZhc3RlcgorLy8gdGhhbiByZWFsLXRpbWUpIHRoZSBldmVudC5pbnB1dEJ1ZmZlciBtaWdo
dCBiZSBvdmVyd3JpdGUgYWdhaW4gYmVmb3JlIG9uYXVkaW9wcm9jZXNzIGV2ZXIgZ2V0IGNoYW5j
ZSB0byBiZSBjYWxsZWQuCisvLyBXZSBjYXJlZnVsbHkgYXJyYW5nZSB0aGUgcmVuZGVyTGVuZ3Ro
SW5GcmFtZXMgYW5kIGJ1ZmZlclNpemUgdG8gaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHZhbHVlIHRv
IGF2b2lkIHRoaXMgaXNzdWUuCit2YXIgcmVuZGVyTGVuZ3RoSW5GcmFtZXMgPSA1MTI7Cit2YXIg
YnVmZmVyU2l6ZSA9IDUxMjsKK3ZhciBkdXJhdGlvbiA9IDU7Cit2YXIgZnJlcXVlbmN5ID0gMTAw
OwordmFyIGNvbnRleHQ7Cit2YXIgb3V0cHV0VmFsdWU7CisKK2Z1bmN0aW9uIHByb2Nlc3NBdWRp
b0RhdGEoZXZlbnQpIHsKKyAgICBzaG91bGRCZURlZmluZWQoImV2ZW50LnBsYXliYWNrVGltZSIp
OworICAgIHNob3VsZEJlRGVmaW5lZCgiZXZlbnQuaW5wdXRCdWZmZXIiKTsKKyAgICBzaG91bGRC
ZURlZmluZWQoImV2ZW50Lm91dHB1dEJ1ZmZlciIpOworCisgICAgdmFyIGlucHV0QXJyYXkgPSBl
dmVudC5pbnB1dEJ1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTsKKyAgICB2YXIgbiA9IGV2ZW50Lmlu
cHV0QnVmZmVyLmxlbmd0aDsKKyAgICB2YXIgYnVmZmVyT2Zmc2V0ID0gKDIgKiBNYXRoLlBJKSAq
IGV2ZW50Lm91dHB1dEJ1ZmZlci5kdXJhdGlvbiAqIGZyZXF1ZW5jeTsKKyAgICB2YXIgb2Zmc2V0
ID0gKDIgKiBNYXRoLlBJKSAqIGV2ZW50LnBsYXliYWNrVGltZSAqIGZyZXF1ZW5jeTsKKworICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICAgIG91dHB1dFZhbHVlID0gaW5w
dXRBcnJheVtpXSAtIE1hdGguc2luKG9mZnNldCArICgoaSAvIG4pICogYnVmZmVyT2Zmc2V0KSk7
CisgICAgICAgIHNob3VsZEJlQ2xvc2VUbygib3V0cHV0VmFsdWUiLCAwLCAwLjAwMDEpOworICAg
IH0KK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworICAgIC8vIENyZWF0ZSBvZmZsaW5lIGF1ZGlvIGNvbnRleHQuCisgICAgY29udGV4dCA9
IG5ldyB3ZWJraXRPZmZsaW5lQXVkaW9Db250ZXh0KDIsIHJlbmRlckxlbmd0aEluRnJhbWVzLCBz
YW1wbGVSYXRlKTsKKworICAgIHZhciBvc2NpbGxhdG9yID0gY29udGV4dC5jcmVhdGVPc2NpbGxh
dG9yKCk7CisKKyAgICBvc2NpbGxhdG9yLmZyZXF1ZW5jeS52YWx1ZSA9IGZyZXF1ZW5jeTsKKyAg
ICBvc2NpbGxhdG9yLnR5cGUgPSAwOworCisgICAgdmFyIHNjcmlwdFByb2Nlc3Nvck5vZGUgPSBj
b250ZXh0LmNyZWF0ZVNjcmlwdFByb2Nlc3NvcihidWZmZXJTaXplLCAxLCAxKTsKKworICAgIG9z
Y2lsbGF0b3IuY29ubmVjdChzY3JpcHRQcm9jZXNzb3JOb2RlKTsKKyAgICBzY3JpcHRQcm9jZXNz
b3JOb2RlLm9uYXVkaW9wcm9jZXNzID0gcHJvY2Vzc0F1ZGlvRGF0YTsKKworICAgIHZhciBnYWlu
Tm9kZSA9IGNvbnRleHQuY3JlYXRlR2Fpbk5vZGUoKTsKKworICAgIHNjcmlwdFByb2Nlc3Nvck5v
ZGUuY29ubmVjdChnYWluTm9kZSk7CisgICAgZ2Fpbk5vZGUuY29ubmVjdChjb250ZXh0LmRlc3Rp
bmF0aW9uKTsKKyAgICBnYWluTm9kZS5nYWluLnZhbHVlID0gMjsKKworICAgIHZhciBzdGFydFRp
bWUgPSBjb250ZXh0LmN1cnJlbnRUaW1lOworCisgICAgb3NjaWxsYXRvci5zdGFydChzdGFydFRp
bWUpOworICAgIG9zY2lsbGF0b3Iuc3RvcChzdGFydFRpbWUgKyBkdXJhdGlvbik7CisKKyAgICBj
b250ZXh0Lm9uY29tcGxldGUgPSBmaW5pc2hKU1Rlc3Q7CisgICAgY29udGV4dC5zdGFydFJlbmRl
cmluZygpOworfQorCitydW5UZXN0KCk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4K
</data>
<flag name="commit-queue"
          id="218520"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197229</attachid>
            <date>2013-04-10 02:30:23 -0700</date>
            <delta_ts>2014-04-10 03:43:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-105518.txt</filename>
            <type>text/plain</type>
            <size>13451</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NzYxMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEzLTA0LTAzICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJQbGF5YmFja1Rp
bWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRl
cmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVkaW9Qcm9jZXNzaW5n
RXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBwbGF5YmFjayB0aW1lIG9mCisgICAgICAgIGF1ZGlv
YnVmZmVyIGFzc29jaWF0ZWQgd2l0aCBTY3JpcHRQcm9jZXNzb3JOb2RlIG9mIHRoZSBjb250ZXh0
LgorCisgICAgICAgIFNwZWM6IGh0dHBzOi8vZHZjcy53My5vcmcvaGcvYXVkaW8vcmF3LWZpbGUv
dGlwL3dlYmF1ZGlvL3NwZWNpZmljYXRpb24uaHRtbCNBdWRpb0J1ZmZlcgorICAgICAgICAgICAg
ICBodHRwczovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jhdy1maWxlL3RpcC93ZWJhdWRpby9zcGVj
aWZpY2F0aW9uLmh0bWwjQXVkaW9Db250ZXh0LXNlY3Rpb24KKyAgICAgICAgICAgICAgaHR0cHM6
Ly9kdmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlv
bi5odG1sI0F1ZGlvUHJvY2Vzc2luZ0V2ZW50CisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vYXVk
aW9wcm9jZXNzaW5nZXZlbnQuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0J1ZmZlci5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQpOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaDoKKyAgICAg
ICAgKEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvUHJvY2Vz
c2luZ0V2ZW50OjpwbGF5YmFja1RpbWUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Qcm9jZXNzaW5nRXZlbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0
UHJvY2Vzc29yTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9jZXNzb3JOb2Rl
OjpTY3JpcHRQcm9jZXNzb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFByb2Nlc3Nv
ck5vZGU6OnByb2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UHJvY2Vzc29yTm9kZTo6
ZmlyZVByb2Nlc3NFdmVudCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9j
ZXNzb3JOb2RlLmg6CisgICAgICAgIChTY3JpcHRQcm9jZXNzb3JOb2RlKToKKwogMjAxMy0wNC0w
MyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtF
RkxdIEFkZCBhIGRlY29yYXRpb24gaW1hZ2UgdG8gc2VhcmNoIGlucHV0IGZpZWxkCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbAkocmV2
aXNpb24gMTQ3NjEyKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1
ZmZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBBdWRpb0J1ZmZlciB7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGxvbmcgbGVuZ3RoOyAvLyBpbiBzYW1wbGUtZnJhbWVzCi0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIGZsb2F0IGR1cmF0aW9uOyAvLyBpbiBzZWNvbmRzCisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGRvdWJsZSBkdXJhdGlvbjsgLy8gaW4gc2Vjb25kcwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBmbG9hdCBzYW1wbGVSYXRlOyAvLyBpbiBzYW1wbGUtZnJhbWVzIHBlciBzZWNvbmQKIAog
ICAgIGF0dHJpYnV0ZSBmbG9hdCBnYWluOyAvLyBsaW5lYXIgZ2FpbiAoZGVmYXVsdCAxLjApCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
aWRsCShyZXZpc2lvbiAxNDc2MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9EZXN0aW5hdGlvbk5vZGUgZGVzdGluYXRpb247CiAKICAg
ICAvLyBBbGwgc2NoZWR1bGVkIHRpbWVzIGFyZSByZWxhdGl2ZSB0byB0aGlzIHRpbWUgaW4gc2Vj
b25kcy4KLSAgICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgY3VycmVudFRpbWU7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBjdXJyZW50VGltZTsKIAogICAgIC8vIEFsbCBBdWRpb05v
ZGVzIGluIHRoZSBjb250ZXh0IHJ1biBhdCB0aGlzIHNhbXBsZS1yYXRlIChpbiBzYW1wbGUtZnJh
bWVzIHBlciBzZWNvbmQpLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBzYW1wbGVSYXRl
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdF
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAJKHJldmlzaW9uIDE0NzYxMikKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zOCwxOSArMzgsMjEgQEAgUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4g
QXVkaW9QcgogICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9jZXNzaW5nRXZlbnQpOwog
fQogCi1QYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBBdWRpb1Byb2Nlc3NpbmdFdmVu
dDo6Y3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRy
PEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIpCitQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2
ZW50PiBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+
IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIsIGRvdWJs
ZSBwbGF5YmFja1RpbWUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdWRpb1Byb2Nlc3Np
bmdFdmVudChpbnB1dEJ1ZmZlciwgb3V0cHV0QnVmZmVyKSk7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBBdWRpb1Byb2Nlc3NpbmdFdmVudChpbnB1dEJ1ZmZlciwgb3V0cHV0QnVmZmVyLCBwbGF5
YmFja1RpbWUpKTsKIH0KIAogQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2
ZW50KCkKKyAgICA6IG1fcGxheWJhY2tUaW1lKDApCiB7CiB9CiAKLUF1ZGlvUHJvY2Vzc2luZ0V2
ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1
ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyKQorQXVkaW9Qcm9jZXNz
aW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlu
cHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIsIGRvdWJsZSBw
bGF5YmFja1RpbWUpCiAgICAgOiBFdmVudChldmVudE5hbWVzKCkuYXVkaW9wcm9jZXNzRXZlbnQs
IHRydWUsIGZhbHNlKQogICAgICwgbV9pbnB1dEJ1ZmZlcihpbnB1dEJ1ZmZlcikKICAgICAsIG1f
b3V0cHV0QnVmZmVyKG91dHB1dEJ1ZmZlcikKKyAgICAsIG1fcGxheWJhY2tUaW1lKHBsYXliYWNr
VGltZSkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b1Byb2Nlc3NpbmdFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaAkocmV2aXNpb24gMTQ3NjEyKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNywyMSArMzcsMjMgQEAgY2xhc3MgQXVkaW9CdWZmZXI7CiBjbGFzcyBB
dWRpb1Byb2Nlc3NpbmdFdmVudCA6IHB1YmxpYyBFdmVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+IGNyZWF0ZSgpOwotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBjcmVhdGUoUGFzc1JlZlB0cjxBdWRpb0J1
ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlcik7
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+IGNyZWF0ZShQYXNz
UmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4g
b3V0cHV0QnVmZmVyLCBkb3VibGUgcGxheWJhY2tUaW1lKTsKICAgICAKICAgICB2aXJ0dWFsIH5B
dWRpb1Byb2Nlc3NpbmdFdmVudCgpOwogCiAgICAgQXVkaW9CdWZmZXIqIGlucHV0QnVmZmVyKCkg
eyByZXR1cm4gbV9pbnB1dEJ1ZmZlci5nZXQoKTsgfQogICAgIEF1ZGlvQnVmZmVyKiBvdXRwdXRC
dWZmZXIoKSB7IHJldHVybiBtX291dHB1dEJ1ZmZlci5nZXQoKTsgfQorICAgIGRvdWJsZSBwbGF5
YmFja1RpbWUoKSBjb25zdCB7IHJldHVybiBtX3BsYXliYWNrVGltZTsgfQogCiAgICAgdmlydHVh
bCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKIAogcHJpdmF0ZToK
ICAgICBBdWRpb1Byb2Nlc3NpbmdFdmVudCgpOwotICAgIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBh
c3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVy
PiBvdXRwdXRCdWZmZXIpOworICAgIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVk
aW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZm
ZXIsIGRvdWJsZSBwbGF5YmFja1RpbWUpOwogCiAgICAgUmVmUHRyPEF1ZGlvQnVmZmVyPiBtX2lu
cHV0QnVmZmVyOwogICAgIFJlZlB0cjxBdWRpb0J1ZmZlcj4gbV9vdXRwdXRCdWZmZXI7CisgICAg
ZG91YmxlIG1fcGxheWJhY2tUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1By
b2Nlc3NpbmdFdmVudC5pZGwJKHJldmlzaW9uIDE0NzYxMikKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw2ICsyNiw3IEBACiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAogICAgIEpTR2VuZXJh
dGVUb0pTT2JqZWN0CiBdIGludGVyZmFjZSBBdWRpb1Byb2Nlc3NpbmdFdmVudCA6IEV2ZW50IHsK
KyAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHBsYXliYWNrVGltZTsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgQXVkaW9CdWZmZXIgaW5wdXRCdWZmZXI7Ci0gICAgcmVhZG9ubHkgYXR0cmli
dXRlIEF1ZGlvQnVmZmVyIG91dHB1dEJ1ZmZlcjsgCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1
ZGlvQnVmZmVyIG91dHB1dEJ1ZmZlcjsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAJKHJldmlzaW9u
IDE0NzYxMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vz
c29yTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgwLDYgKzgwLDcgQEAgU2NyaXB0UHJvY2Vz
c29yTm9kZTo6U2NyaXB0UHJvY2Vzc29yTm9kZQogICAgICwgbV9udW1iZXJPZklucHV0Q2hhbm5l
bHMobnVtYmVyT2ZJbnB1dENoYW5uZWxzKQogICAgICwgbV9udW1iZXJPZk91dHB1dENoYW5uZWxz
KG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpCiAgICAgLCBtX2ludGVybmFsSW5wdXRCdXMobnVtYmVy
T2ZJbnB1dENoYW5uZWxzLCBBdWRpb05vZGU6OlByb2Nlc3NpbmdTaXplSW5GcmFtZXMsIGZhbHNl
KQorICAgICwgbV9wbGF5YmFja1RpbWUoMCkKIHsKICAgICAvLyBSZWdhcmRsZXNzIG9mIHRoZSBh
bGxvd2VkIGJ1ZmZlciBzaXplcywgd2Ugc3RpbGwgbmVlZCB0byBwcm9jZXNzIGF0IHRoZSBncmFu
dWxhcml0eSBvZiB0aGUgQXVkaW9Ob2RlLgogICAgIGlmIChtX2J1ZmZlclNpemUgPCBBdWRpb05v
ZGU6OlByb2Nlc3NpbmdTaXplSW5GcmFtZXMpCkBAIC0xOTQsNiArMTk1LDkgQEAgdm9pZCBTY3Jp
cHRQcm9jZXNzb3JOb2RlOjpwcm9jZXNzKHNpemVfdAogICAgIC8vIG1fYnVmZmVyUmVhZFdyaXRl
SW5kZXggd2lsbCB3cmFwIGJhY2sgYXJvdW5kIHRvIDAgd2hlbiB0aGUgY3VycmVudCBpbnB1dCBh
bmQgb3V0cHV0IGJ1ZmZlcnMgYXJlIGZ1bGwuCiAgICAgLy8gV2hlbiB0aGlzIGhhcHBlbnMsIGZp
cmUgYW4gZXZlbnQgYW5kIHN3YXAgYnVmZmVycy4KICAgICBpZiAoIW1fYnVmZmVyUmVhZFdyaXRl
SW5kZXgpIHsKKyAgICAgICAgLy8gRklYTUU6IExhdGVuY3kgc2hvdWxkIGJlIHJldGVzdGVkIHdp
dGggbW9yZSBzY2VuYXJpb3MuCisgICAgICAgIG1fcGxheWJhY2tUaW1lID0gc3RkOjptYXgoMC4w
LCBjb250ZXh0KCktPmN1cnJlbnRUaW1lKCkgLSBvdXRwdXRCdWZmZXItPmR1cmF0aW9uKCkpOwor
CiAgICAgICAgIC8vIEF2b2lkIGJ1aWxkaW5nIHVwIHJlcXVlc3RzIG9uIHRoZSBtYWluIHRocmVh
ZCB0byBmaXJlIHByb2Nlc3MgZXZlbnRzIHdoZW4gdGhleSdyZSBub3QgYmVpbmcgaGFuZGxlZC4K
ICAgICAgICAgLy8gVGhpcyBjb3VsZCBiZSBhIHByb2JsZW0gaWYgdGhlIG1haW4gdGhyZWFkIGlz
IHZlcnkgYnVzeSBkb2luZyBvdGhlciB0aGluZ3MgYW5kIGlzIGJlaW5nIGhlbGQgdXAgaGFuZGxp
bmcgcHJldmlvdXMgcmVxdWVzdHMuCiAgICAgICAgIGlmIChtX2lzUmVxdWVzdE91dHN0YW5kaW5n
KSB7CkBAIC0yMzAsMTIgKzIzNCwxMiBAQCB2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6OmZpcmVQ
cm9jZXNzRXZlCiB2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6OmZpcmVQcm9jZXNzRXZlbnQoKQog
ewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSAmJiBtX2lzUmVxdWVzdE91dHN0YW5kaW5nKTsK
LSAgICAKKwogICAgIGJvb2wgaXNJbmRleEdvb2QgPSBtX2RvdWJsZUJ1ZmZlckluZGV4Rm9yRXZl
bnQgPCAyOwogICAgIEFTU0VSVChpc0luZGV4R29vZCk7CiAgICAgaWYgKCFpc0luZGV4R29vZCkK
ICAgICAgICAgcmV0dXJuOwotICAgICAgICAKKwogICAgIEF1ZGlvQnVmZmVyKiBpbnB1dEJ1ZmZl
ciA9IG1faW5wdXRCdWZmZXJzW21fZG91YmxlQnVmZmVySW5kZXhGb3JFdmVudF0uZ2V0KCk7CiAg
ICAgQXVkaW9CdWZmZXIqIG91dHB1dEJ1ZmZlciA9IG1fb3V0cHV0QnVmZmVyc1ttX2RvdWJsZUJ1
ZmZlckluZGV4Rm9yRXZlbnRdLmdldCgpOwogICAgIEFTU0VSVChvdXRwdXRCdWZmZXIpOwpAQCAt
MjQ4LDcgKzI1Miw3IEBAIHZvaWQgU2NyaXB0UHJvY2Vzc29yTm9kZTo6ZmlyZVByb2Nlc3NFdmUK
ICAgICAgICAgbV9pc1JlcXVlc3RPdXRzdGFuZGluZyA9IGZhbHNlOwogICAgICAgICAKICAgICAg
ICAgLy8gQ2FsbCB0aGUgSmF2YVNjcmlwdCBldmVudCBoYW5kbGVyIHdoaWNoIHdpbGwgZG8gdGhl
IGF1ZGlvIHByb2Nlc3NpbmcuCi0gICAgICAgIGRpc3BhdGNoRXZlbnQoQXVkaW9Qcm9jZXNzaW5n
RXZlbnQ6OmNyZWF0ZShpbnB1dEJ1ZmZlciwgb3V0cHV0QnVmZmVyKSk7CisgICAgICAgIGRpc3Bh
dGNoRXZlbnQoQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0ZShpbnB1dEJ1ZmZlciwgb3V0cHV0
QnVmZmVyLCBtX3BsYXliYWNrVGltZSkpOwogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgJKHJl
dmlzaW9uIDE0NzYxMikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0
UHJvY2Vzc29yTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsNiArMTA3LDcgQEAgcHJpdmF0
ZToKICAgICB1bnNpZ25lZCBtX251bWJlck9mT3V0cHV0Q2hhbm5lbHM7CiAKICAgICBBdWRpb0J1
cyBtX2ludGVybmFsSW5wdXRCdXM7CisgICAgZG91YmxlIG1fcGxheWJhY2tUaW1lOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ3NjEyKQorKysgTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMt
MDQtMDMgIFByYXZlZW4gUiBKYWRoYXYgIDxwcmF2ZWVuLmpAc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgIlBsYXliYWNrVGltZSIgcGFyYW1ldGVyIGlzIG5vdCBwcmVzZW50IGluIEF1ZGlvUHJvY2Vz
c2luZ0V2ZW50IEludGVyZmFjZSBhcyBwZXIgVzNDIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTUxOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgY2FzZSBhZGRlZCB0byBjaGVjayBBdWRp
b1Byb2Nlc3NpbmdFdmVudCBhdHRyaWJ1dGVzLgorCisgICAgICAgICogd2ViYXVkaW8vYXVkaW9w
cm9jZXNzaW5nZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9h
dWRpb3Byb2Nlc3NpbmdldmVudC5odG1sOiBBZGRlZC4KKwogMjAxMy0wNC0wMyAgR3l1eW91bmcg
S2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIEFkZCBhIGRl
Y29yYXRpb24gaW1hZ2UgdG8gc2VhcmNoIGlucHV0IGZpZWxkCkluZGV4OiBMYXlvdXRUZXN0cy93
ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExIEBACitUZXN0cyBBdWRpb1By
b2Nlc3NpbmdFdmVudCBhdHRyaWJ1dGVzIGluIElETC4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGV2ZW50LnBsYXliYWNrVGltZSBpcyBkZWZpbmVkLgorUEFTUyBldmVudC5p
bnB1dEJ1ZmZlciBpcyBkZWZpbmVkLgorUEFTUyBldmVudC5vdXRwdXRCdWZmZXIgaXMgZGVmaW5l
ZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCklu
ZGV4OiBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50Lmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVu
dC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDg2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icmVz
b3VyY2VzL2F1ZGlvLXRlc3RpbmcuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKwor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisK
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgYXR0cmli
dXRlcyBpbiBJREwuIik7CisKK3ZhciBzYW1wbGVSYXRlID0gNDQxMDAuMDsKKworLy8gRm9yIHRo
ZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIFNjcmlwdFByb2Nlc3Nvck5vZGUsIHdoZW4gaXQg
d29ya3Mgd2l0aCBPZmZsaW5lQXVkaW9Db250ZXh0ICh3aGljaCBydW5zIG11Y2ggZmFzdGVyCisv
LyB0aGFuIHJlYWwtdGltZSkgdGhlIGV2ZW50LmlucHV0QnVmZmVyIG1pZ2h0IGJlIG92ZXJ3cml0
ZSBhZ2FpbiBiZWZvcmUgb25hdWRpb3Byb2Nlc3MgZXZlciBnZXQgY2hhbmNlIHRvIGJlIGNhbGxl
ZC4KKy8vIFdlIGNhcmVmdWxseSBhcnJhbmdlIHRoZSByZW5kZXJMZW5ndGhJbkZyYW1lcyBhbmQg
YnVmZmVyU2l6ZSB0byBoYXZlIGV4YWN0bHkgdGhlIHNhbWUgdmFsdWUgdG8gYXZvaWQgdGhpcyBp
c3N1ZS4KK3ZhciByZW5kZXJMZW5ndGhJbkZyYW1lcyA9IDUxMjsKK3ZhciBidWZmZXJTaXplID0g
NTEyOwordmFyIGR1cmF0aW9uID0gNTsKK3ZhciBmcmVxdWVuY3kgPSAxMDA7Cit2YXIgY29udGV4
dDsKK3ZhciBvdXRwdXRWYWx1ZTsKKworZnVuY3Rpb24gcHJvY2Vzc0F1ZGlvRGF0YShldmVudCkg
eworICAgIHNob3VsZEJlRGVmaW5lZCgiZXZlbnQucGxheWJhY2tUaW1lIik7CisgICAgc2hvdWxk
QmVEZWZpbmVkKCJldmVudC5pbnB1dEJ1ZmZlciIpOworICAgIHNob3VsZEJlRGVmaW5lZCgiZXZl
bnQub3V0cHV0QnVmZmVyIik7CisKKyAgICB2YXIgaW5wdXRBcnJheSA9IGV2ZW50LmlucHV0QnVm
ZmVyLmdldENoYW5uZWxEYXRhKDApOworICAgIHZhciBuID0gZXZlbnQuaW5wdXRCdWZmZXIubGVu
Z3RoOworICAgIHZhciBidWZmZXJPZmZzZXQgPSAoMiAqIE1hdGguUEkpICogZXZlbnQub3V0cHV0
QnVmZmVyLmR1cmF0aW9uICogZnJlcXVlbmN5OworICAgIHZhciBvZmZzZXQgPSAoMiAqIE1hdGgu
UEkpICogZXZlbnQucGxheWJhY2tUaW1lICogZnJlcXVlbmN5OworCisgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgb3V0cHV0VmFsdWUgPSBpbnB1dEFycmF5W2ldIC0g
TWF0aC5zaW4ob2Zmc2V0ICsgKChpIC8gbikgKiBidWZmZXJPZmZzZXQpKTsKKyAgICAgICAgc2hv
dWxkQmVDbG9zZVRvKCJvdXRwdXRWYWx1ZSIsIDAsIDAuMDAwMSwgdHJ1ZSk7CisgICAgfQorfQor
CitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7CisgICAgfQorCisgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgLy8gQ3JlYXRlIG9mZmxpbmUgYXVkaW8gY29udGV4dC4KKyAgICBjb250ZXh0ID0gbmV3IHdl
YmtpdE9mZmxpbmVBdWRpb0NvbnRleHQoMiwgcmVuZGVyTGVuZ3RoSW5GcmFtZXMsIHNhbXBsZVJh
dGUpOworCisgICAgdmFyIG9zY2lsbGF0b3IgPSBjb250ZXh0LmNyZWF0ZU9zY2lsbGF0b3IoKTsK
KworICAgIG9zY2lsbGF0b3IuZnJlcXVlbmN5LnZhbHVlID0gZnJlcXVlbmN5OworICAgIG9zY2ls
bGF0b3IudHlwZSA9IDA7CisKKyAgICB2YXIgc2NyaXB0UHJvY2Vzc29yTm9kZSA9IGNvbnRleHQu
Y3JlYXRlU2NyaXB0UHJvY2Vzc29yKGJ1ZmZlclNpemUsIDEsIDEpOworCisgICAgb3NjaWxsYXRv
ci5jb25uZWN0KHNjcmlwdFByb2Nlc3Nvck5vZGUpOworICAgIHNjcmlwdFByb2Nlc3Nvck5vZGUu
b25hdWRpb3Byb2Nlc3MgPSBwcm9jZXNzQXVkaW9EYXRhOworCisgICAgdmFyIGdhaW5Ob2RlID0g
Y29udGV4dC5jcmVhdGVHYWluTm9kZSgpOworCisgICAgc2NyaXB0UHJvY2Vzc29yTm9kZS5jb25u
ZWN0KGdhaW5Ob2RlKTsKKyAgICBnYWluTm9kZS5jb25uZWN0KGNvbnRleHQuZGVzdGluYXRpb24p
OworICAgIGdhaW5Ob2RlLmdhaW4udmFsdWUgPSAyOworCisgICAgdmFyIHN0YXJ0VGltZSA9IGNv
bnRleHQuY3VycmVudFRpbWU7CisKKyAgICBvc2NpbGxhdG9yLnN0YXJ0KHN0YXJ0VGltZSk7Cisg
ICAgb3NjaWxsYXRvci5zdG9wKHN0YXJ0VGltZSArIGR1cmF0aW9uKTsKKworICAgIGNvbnRleHQu
b25jb21wbGV0ZSA9IGZpbmlzaEpTVGVzdDsKKyAgICBjb250ZXh0LnN0YXJ0UmVuZGVyaW5nKCk7
Cit9CisKK3J1blRlc3QoKTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229040</attachid>
            <date>2014-04-10 03:43:42 -0700</date>
            <delta_ts>2014-04-10 20:17:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-105518.txt</filename>
            <type>text/plain</type>
            <size>9991</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NzA3MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA0LTEwICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJwbGF5YmFja1Rp
bWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRl
cmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVkaW9Qcm9jZXNzaW5n
RXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBwbGF5YmFjayB0aW1lIG9mCisgICAgICAgIGF1ZGlv
YnVmZmVyIGFzc29jaWF0ZWQgd2l0aCBTY3JpcHRQcm9jZXNzb3JOb2RlIG9mIHRoZSBjb250ZXh0
LgorCisgICAgICAgIFNwZWM6IGh0dHA6Ly93d3cudzMub3JnL1RSL3dlYmF1ZGlvLyNBdWRpb1By
b2Nlc3NpbmdFdmVudAorCisgICAgICAgIFRlc3Q6IHdlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2
ZW50Lmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5n
RXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpwbGF5YmFja1RpbWUp
OgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vzc0V2ZW50KToKKwog
MjAxNC0wNC0wOSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2NzA0Ni4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQu
Y3BwCShyZXZpc2lvbiAxNjcwNjQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTkgKzM4LDIw
IEBAIFBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+IEF1ZGlvUHIKICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KTsKIH0KIAotUGFzc1JlZlB0cjxBdWRp
b1Byb2Nlc3NpbmdFdmVudD4gQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OmNyZWF0ZShQYXNzUmVmUHRy
PEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0
QnVmZmVyKQorUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gQXVkaW9Qcm9jZXNzaW5n
RXZlbnQ6OmNyZWF0ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1Jl
ZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyLCBkb3VibGUgcGxheWJhY2tUaW1lKQogewot
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoaW5wdXRCdWZmZXIs
IG91dHB1dEJ1ZmZlcikpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9jZXNzaW5n
RXZlbnQoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlciwgcGxheWJhY2tUaW1lKSk7CiB9CiAKIEF1
ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudCgpCiB7CiB9CiAKLUF1ZGlv
UHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRyPEF1ZGlvQnVm
ZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyKQor
QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8QXVk
aW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZm
ZXIsIGRvdWJsZSBwbGF5YmFja1RpbWUpCiAgICAgOiBFdmVudChldmVudE5hbWVzKCkuYXVkaW9w
cm9jZXNzRXZlbnQsIHRydWUsIGZhbHNlKQogICAgICwgbV9pbnB1dEJ1ZmZlcihpbnB1dEJ1ZmZl
cikKICAgICAsIG1fb3V0cHV0QnVmZmVyKG91dHB1dEJ1ZmZlcikKKyAgICAsIG1fcGxheWJhY2tU
aW1lKHBsYXliYWNrVGltZSkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaAkocmV2aXNpb24gMTY3
MDY0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdF
dmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNywyMSArMzcsMjMgQEAgY2xhc3MgQXVkaW9CdWZm
ZXI7CiBjbGFzcyBBdWRpb1Byb2Nlc3NpbmdFdmVudCA6IHB1YmxpYyBFdmVudCB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+IGNyZWF0ZSgpOwot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBjcmVhdGUoUGFzc1Jl
ZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91
dHB1dEJ1ZmZlcik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+
IGNyZWF0ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxB
dWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyLCBkb3VibGUgcGxheWJhY2tUaW1lKTsKICAgICAKICAg
ICB2aXJ0dWFsIH5BdWRpb1Byb2Nlc3NpbmdFdmVudCgpOwogCiAgICAgQXVkaW9CdWZmZXIqIGlu
cHV0QnVmZmVyKCkgeyByZXR1cm4gbV9pbnB1dEJ1ZmZlci5nZXQoKTsgfQogICAgIEF1ZGlvQnVm
ZmVyKiBvdXRwdXRCdWZmZXIoKSB7IHJldHVybiBtX291dHB1dEJ1ZmZlci5nZXQoKTsgfQorICAg
IGRvdWJsZSBwbGF5YmFja1RpbWUoKSBjb25zdCB7IHJldHVybiBtX3BsYXliYWNrVGltZTsgfQog
CiAgICAgdmlydHVhbCBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IG92ZXJy
aWRlOwogCiBwcml2YXRlOgogICAgIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50KCk7Ci0gICAgQXVkaW9Q
cm9jZXNzaW5nRXZlbnQoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NS
ZWZQdHI8QXVkaW9CdWZmZXI+IG91dHB1dEJ1ZmZlcik7CisgICAgQXVkaW9Qcm9jZXNzaW5nRXZl
bnQoUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9C
dWZmZXI+IG91dHB1dEJ1ZmZlciwgZG91YmxlIHBsYXliYWNrVGltZSk7CiAKICAgICBSZWZQdHI8
QXVkaW9CdWZmZXI+IG1faW5wdXRCdWZmZXI7CiAgICAgUmVmUHRyPEF1ZGlvQnVmZmVyPiBtX291
dHB1dEJ1ZmZlcjsKKyAgICBkb3VibGUgbV9wbGF5YmFja1RpbWU7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
UHJvY2Vzc2luZ0V2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmlkbAkocmV2aXNpb24gMTY3MDY0KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVE
SU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIEF1ZGlvUHJvY2Vzc2lu
Z0V2ZW50IDogRXZlbnQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgcGxheWJhY2tU
aW1lOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb0J1ZmZlciBpbnB1dEJ1ZmZlcjsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9CdWZmZXIgb3V0cHV0QnVmZmVyOyAKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJv
Y2Vzc29yTm9kZS5jcHAJKHJldmlzaW9uIDE2NzA2NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1
NSw5ICsyNTUsMTMgQEAgdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vzc0V2ZQog
ICAgIGlmIChjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgewogICAgICAgICAv
LyBMZXQgdGhlIGF1ZGlvIHRocmVhZCBrbm93IHdlJ3ZlIGdvdHRlbiB0byB0aGUgcG9pbnQgd2hl
cmUgaXQncyBPSyBmb3IgaXQgdG8gbWFrZSBhbm90aGVyIHJlcXVlc3QuCiAgICAgICAgIG1faXNS
ZXF1ZXN0T3V0c3RhbmRpbmcgPSBmYWxzZTsKLSAgICAgICAgCisKKyAgICAgICAgLy8gQ2FsY3Vs
YXRlIHBsYXliYWNrVGltZSB3aXRoIHRoZSBidWZmZXJzaXplIHdoaWNoIG5lZWRzIHRvIGJlIHBy
b2Nlc3NlZCBlYWNoIHRpbWUgd2hlbiBvbmF1ZGlvcHJvY2VzcyBpcyBjYWxsZWQuCisgICAgICAg
IC8vIFRoZSBvdXRwdXRCdWZmZXIgYmVpbmcgcGFzc2VkIHRvIEpTIHdpbGwgYmUgcGxheWVkIGFm
dGVyIGV4aGF1c3RpbmcgcHJldmlvdXMgb3V0cHV0QnVmZmVyIGJ5IGRvdWJsZS1idWZmZXJpbmcu
CisgICAgICAgIGRvdWJsZSBwbGF5YmFja1RpbWUgPSAoY29udGV4dCgpLT5jdXJyZW50U2FtcGxl
RnJhbWUoKSArIG1fYnVmZmVyU2l6ZSkgL3N0YXRpY19jYXN0PGRvdWJsZT4oY29udGV4dCgpLT5z
YW1wbGVSYXRlKCkpOworCiAgICAgICAgIC8vIENhbGwgdGhlIEphdmFTY3JpcHQgZXZlbnQgaGFu
ZGxlciB3aGljaCB3aWxsIGRvIHRoZSBhdWRpbyBwcm9jZXNzaW5nLgotICAgICAgICBkaXNwYXRj
aEV2ZW50KEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpjcmVhdGUoaW5wdXRCdWZmZXIsIG91dHB1dEJ1
ZmZlcikpOworICAgICAgICBkaXNwYXRjaEV2ZW50KEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpjcmVh
dGUoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlciwgcGxheWJhY2tUaW1lKSk7CiAgICAgfQogfQog
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxNjcwNzApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0wNC0xMCAgUHJhdmVlbiBSIEphZGhh
diAgPHByYXZlZW4uakBzYW1zdW5nLmNvbT4KKworICAgICAgICAicGxheWJhY2tUaW1lIiBwYXJh
bWV0ZXIgaXMgbm90IHByZXNlbnQgaW4gQXVkaW9Qcm9jZXNzaW5nRXZlbnQgSW50ZXJmYWNlIGFz
IHBlciBXM0Mgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA1NTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdCBjYXNlIGFkZGVkIHRvIGNoZWNrIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IGF0dHJp
YnV0ZXMuCisKKyAgICAgICAgKiB3ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50Lmh0
bWw6IEFkZGVkLgorCiAyMDE0LTA0LTA5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxNjY4NjApOiBBU1NFUlRJT04gRkFJTEVEOiAh
aXNDYWxjdWxhdGVkKCkgb24gZmFzdC9jc3MvaW1hZ2Utc2V0LXZhbHVlLW5vdC1yZW1vdmVkLWNy
YXNoLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2luZ2V2ZW50
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb3By
b2Nlc3NpbmdldmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy93
ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMSBAQAorVGVzdHMgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgYXR0cmlidXRlcyBp
biBJREwuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBldmVudC5wbGF5YmFj
a1RpbWUgaXMgZGVmaW5lZC4KK1BBU1MgZXZlbnQuaW5wdXRCdWZmZXIgaXMgZGVmaW5lZC4KK1BB
U1MgZXZlbnQub3V0cHV0QnVmZmVyIGlzIGRlZmluZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvd2ViYXVkaW8v
YXVkaW9wcm9jZXNzaW5nZXZlbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJh
dWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDgzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKworPGJvZHk+CisKKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIEF1
ZGlvUHJvY2Vzc2luZ0V2ZW50IGF0dHJpYnV0ZXMgaW4gSURMLiIpOworCit2YXIgc2FtcGxlUmF0
ZSA9IDQ0MTAwLjA7CisKKy8vIEZvciB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiBTY3Jp
cHRQcm9jZXNzb3JOb2RlLCB3aGVuIGl0IHdvcmtzIHdpdGggT2ZmbGluZUF1ZGlvQ29udGV4dCAo
d2hpY2ggcnVucyBtdWNoIGZhc3RlcgorLy8gdGhhbiByZWFsLXRpbWUpIHRoZSBldmVudC5pbnB1
dEJ1ZmZlciBtaWdodCBiZSBvdmVyd3JpdGUgYWdhaW4gYmVmb3JlIG9uYXVkaW9wcm9jZXNzIGV2
ZXIgZ2V0IGNoYW5jZSB0byBiZSBjYWxsZWQuCisvLyBXZSBjYXJlZnVsbHkgYXJyYW5nZSB0aGUg
cmVuZGVyTGVuZ3RoSW5GcmFtZXMgYW5kIGJ1ZmZlclNpemUgdG8gaGF2ZSBleGFjdGx5IHRoZSBz
YW1lIHZhbHVlIHRvIGF2b2lkIHRoaXMgaXNzdWUuCit2YXIgcmVuZGVyTGVuZ3RoSW5GcmFtZXMg
PSA1MTI7Cit2YXIgYnVmZmVyU2l6ZSA9IDUxMjsKK3ZhciBkdXJhdGlvbiA9IDU7Cit2YXIgZnJl
cXVlbmN5ID0gMTAwOwordmFyIGNvbnRleHQ7CisKK2Z1bmN0aW9uIHByb2Nlc3NBdWRpb0RhdGEo
ZXZlbnQpIHsKKyAgICBzaG91bGRCZURlZmluZWQoImV2ZW50LnBsYXliYWNrVGltZSIpOworICAg
IHNob3VsZEJlRGVmaW5lZCgiZXZlbnQuaW5wdXRCdWZmZXIiKTsKKyAgICBzaG91bGRCZURlZmlu
ZWQoImV2ZW50Lm91dHB1dEJ1ZmZlciIpOworCisgICAgdmFyIGV4cGVjdGVkVGltZSA9IGNvbnRl
eHQuY3VycmVudFRpbWUgKyAoYnVmZmVyU2l6ZSAvIGNvbnRleHQuc2FtcGxlUmF0ZSk7CisgICAg
dmFyIGFsbG93ZWRUaW1lR2FwID0gMC4wMDAwMDAxOworCisgICAgLy8gVGhlcmUgbWF5IGJlIGEg
bGl0dGxlIHRpbWUgZ2FwIHdoaWNoIGlzIGZyb20gZGlmZmVyZW50IHRocmVhZCBvcGVyYXRpb24K
KyAgICAvLyBiZXR3ZWVuIGN1cnJlbnRUaW1lIHdoZW4gbWFpbiB0aHJlYWQgZmlyZXMgb25hdWRp
b3Byb2Nlc3MoKSBhbmQgY3VycmVuVGltZSB3aGVuIHJlYWQgaW4gSlMKKyAgICAvLyBzaW5jZSBj
dXJyZW50VGltZSBpcyBjb250aW51b3VzbHkgaW5jcmVhc2luZyBvbiBhdWRpbyB0aHJlYWQuCisg
ICAgc2hvdWxkQmVDbG9zZVRvKCJldmVudC5wbGF5YmFja1RpbWUiLCBleHBlY3RlZFRpbWUsIGFs
bG93ZWRUaW1lR2FwLCB0cnVlKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cisg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgIC8vIENyZWF0ZSBvZmZsaW5lIGF1ZGlvIGNvbnRl
eHQuCisgICAgY29udGV4dCA9IG5ldyB3ZWJraXRPZmZsaW5lQXVkaW9Db250ZXh0KDIsIHJlbmRl
ckxlbmd0aEluRnJhbWVzLCBzYW1wbGVSYXRlKTsKKworICAgIHZhciBvc2NpbGxhdG9yID0gY29u
dGV4dC5jcmVhdGVPc2NpbGxhdG9yKCk7CisKKyAgICBvc2NpbGxhdG9yLmZyZXF1ZW5jeS52YWx1
ZSA9IGZyZXF1ZW5jeTsKKyAgICBvc2NpbGxhdG9yLnR5cGUgPSAwOworCisgICAgdmFyIHNjcmlw
dFByb2Nlc3Nvck5vZGUgPSBjb250ZXh0LmNyZWF0ZVNjcmlwdFByb2Nlc3NvcihidWZmZXJTaXpl
LCAxLCAxKTsKKworICAgIG9zY2lsbGF0b3IuY29ubmVjdChzY3JpcHRQcm9jZXNzb3JOb2RlKTsK
KyAgICBzY3JpcHRQcm9jZXNzb3JOb2RlLm9uYXVkaW9wcm9jZXNzID0gcHJvY2Vzc0F1ZGlvRGF0
YTsKKworICAgIHZhciBnYWluTm9kZSA9IGNvbnRleHQuY3JlYXRlR2Fpbk5vZGUoKTsKKworICAg
IHNjcmlwdFByb2Nlc3Nvck5vZGUuY29ubmVjdChnYWluTm9kZSk7CisgICAgZ2Fpbk5vZGUuY29u
bmVjdChjb250ZXh0LmRlc3RpbmF0aW9uKTsKKyAgICBnYWluTm9kZS5nYWluLnZhbHVlID0gMjsK
KworICAgIHZhciBzdGFydFRpbWUgPSBjb250ZXh0LmN1cnJlbnRUaW1lOworCisgICAgb3NjaWxs
YXRvci5zdGFydChzdGFydFRpbWUpOworICAgIG9zY2lsbGF0b3Iuc3RvcChzdGFydFRpbWUgKyBk
dXJhdGlvbik7CisKKyAgICBjb250ZXh0Lm9uY29tcGxldGUgPSBmaW5pc2hKU1Rlc3Q7CisgICAg
Y29udGV4dC5zdGFydFJlbmRlcmluZygpOworfQorCitydW5UZXN0KCk7CisKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229099</attachid>
            <date>2014-04-10 20:17:03 -0700</date>
            <delta_ts>2014-04-11 09:53:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-105518.txt</filename>
            <type>text/plain</type>
            <size>10057</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NzA3MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE0LTA0LTEwICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgICJwbGF5YmFja1Rp
bWUiIHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBpbiBBdWRpb1Byb2Nlc3NpbmdFdmVudCBJbnRl
cmZhY2UgYXMgcGVyIFczQyBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDU1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBdHRyaWJ1dGUgInBsYXliYWNrVGltZSIgaW4gQXVkaW9Qcm9jZXNzaW5n
RXZlbnQgaW1wbGVtZW50ZWQgdG8gcGFzcyBwbGF5YmFjayB0aW1lIG9mCisgICAgICAgIGF1ZGlv
YnVmZmVyIGFzc29jaWF0ZWQgd2l0aCBTY3JpcHRQcm9jZXNzb3JOb2RlIG9mIHRoZSBjb250ZXh0
LgorIAorICAgICAgICBSZWZlcmVuY2U6IGh0dHBzOi8vY29kZXJldmlldy5jaHJvbWl1bS5vcmcv
MjEwOTczMDAyCisKKyAgICAgICAgU3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvd2ViYXVkaW8v
I0F1ZGlvUHJvY2Vzc2luZ0V2ZW50CisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vYXVkaW9wcm9j
ZXNzaW5nZXZlbnQuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nl
c3NpbmdFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Byb2Nlc3NpbmdFdmVudDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpBdWRpb1By
b2Nlc3NpbmdFdmVudCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3Np
bmdFdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OnBsYXli
YWNrVGltZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVu
dC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFByb2Nlc3Nvck5vZGU6OmZpcmVQcm9jZXNzRXZl
bnQpOgorCiAyMDE0LTA0LTA5ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTY3MDQ2LgpJbmRleDogU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3Np
bmdFdmVudC5jcHAJKHJldmlzaW9uIDE2NzA2NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwx
OSArMzgsMjAgQEAgUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gQXVkaW9QcgogICAg
IHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9Qcm9jZXNzaW5nRXZlbnQpOwogfQogCi1QYXNzUmVm
UHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBBdWRpb1Byb2Nlc3NpbmdFdmVudDo6Y3JlYXRlKFBh
c3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVy
PiBvdXRwdXRCdWZmZXIpCitQYXNzUmVmUHRyPEF1ZGlvUHJvY2Vzc2luZ0V2ZW50PiBBdWRpb1By
b2Nlc3NpbmdFdmVudDo6Y3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVy
LCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIsIGRvdWJsZSBwbGF5YmFja1Rp
bWUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdWRpb1Byb2Nlc3NpbmdFdmVudChpbnB1
dEJ1ZmZlciwgb3V0cHV0QnVmZmVyKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdWRpb1By
b2Nlc3NpbmdFdmVudChpbnB1dEJ1ZmZlciwgb3V0cHV0QnVmZmVyLCBwbGF5YmFja1RpbWUpKTsK
IH0KIAogQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KCkKIHsKIH0K
IAotQXVkaW9Qcm9jZXNzaW5nRXZlbnQ6OkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KFBhc3NSZWZQdHI8
QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRC
dWZmZXIpCitBdWRpb1Byb2Nlc3NpbmdFdmVudDo6QXVkaW9Qcm9jZXNzaW5nRXZlbnQoUGFzc1Jl
ZlB0cjxBdWRpb0J1ZmZlcj4gaW5wdXRCdWZmZXIsIFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IG91
dHB1dEJ1ZmZlciwgZG91YmxlIHBsYXliYWNrVGltZSkKICAgICA6IEV2ZW50KGV2ZW50TmFtZXMo
KS5hdWRpb3Byb2Nlc3NFdmVudCwgdHJ1ZSwgZmFsc2UpCiAgICAgLCBtX2lucHV0QnVmZmVyKGlu
cHV0QnVmZmVyKQogICAgICwgbV9vdXRwdXRCdWZmZXIob3V0cHV0QnVmZmVyKQorICAgICwgbV9w
bGF5YmFja1RpbWUocGxheWJhY2tUaW1lKQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5oCShyZXZp
c2lvbiAxNjcwNjQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJv
Y2Vzc2luZ0V2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDIxICszNywyMyBAQCBjbGFzcyBB
dWRpb0J1ZmZlcjsKIGNsYXNzIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IDogcHVibGljIEV2ZW50IHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3NpbmdFdmVudD4gY3Jl
YXRlKCk7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8QXVkaW9Qcm9jZXNzaW5nRXZlbnQ+IGNyZWF0
ZShQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0cjxBdWRpb0J1
ZmZlcj4gb3V0cHV0QnVmZmVyKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb1Byb2Nlc3Np
bmdFdmVudD4gY3JlYXRlKFBhc3NSZWZQdHI8QXVkaW9CdWZmZXI+IGlucHV0QnVmZmVyLCBQYXNz
UmVmUHRyPEF1ZGlvQnVmZmVyPiBvdXRwdXRCdWZmZXIsIGRvdWJsZSBwbGF5YmFja1RpbWUpOwog
ICAgIAogICAgIHZpcnR1YWwgfkF1ZGlvUHJvY2Vzc2luZ0V2ZW50KCk7CiAKICAgICBBdWRpb0J1
ZmZlciogaW5wdXRCdWZmZXIoKSB7IHJldHVybiBtX2lucHV0QnVmZmVyLmdldCgpOyB9CiAgICAg
QXVkaW9CdWZmZXIqIG91dHB1dEJ1ZmZlcigpIHsgcmV0dXJuIG1fb3V0cHV0QnVmZmVyLmdldCgp
OyB9CisgICAgZG91YmxlIHBsYXliYWNrVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWJhY2tU
aW1lOyB9CiAKICAgICB2aXJ0dWFsIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29u
c3Qgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQoKTsKLSAg
ICBBdWRpb1Byb2Nlc3NpbmdFdmVudChQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZl
ciwgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyKTsKKyAgICBBdWRpb1Byb2Nl
c3NpbmdFdmVudChQYXNzUmVmUHRyPEF1ZGlvQnVmZmVyPiBpbnB1dEJ1ZmZlciwgUGFzc1JlZlB0
cjxBdWRpb0J1ZmZlcj4gb3V0cHV0QnVmZmVyLCBkb3VibGUgcGxheWJhY2tUaW1lKTsKIAogICAg
IFJlZlB0cjxBdWRpb0J1ZmZlcj4gbV9pbnB1dEJ1ZmZlcjsKICAgICBSZWZQdHI8QXVkaW9CdWZm
ZXI+IG1fb3V0cHV0QnVmZmVyOworICAgIGRvdWJsZSBtX3BsYXliYWNrVGltZTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Qcm9jZXNzaW5nRXZlbnQuaWRsCShyZXZpc2lvbiAxNjcw
NjQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2
ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogICAgIENvbmRpdGlvbmFs
PVdFQl9BVURJTywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRlcmZhY2UgQXVkaW9Q
cm9jZXNzaW5nRXZlbnQgOiBFdmVudCB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBw
bGF5YmFja1RpbWU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvQnVmZmVyIGlucHV0QnVm
ZmVyOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb0J1ZmZlciBvdXRwdXRCdWZmZXI7IAog
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29y
Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9T
Y3JpcHRQcm9jZXNzb3JOb2RlLmNwcAkocmV2aXNpb24gMTY3MDY0KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjU1LDkgKzI1NSwxMyBAQCB2b2lkIFNjcmlwdFByb2Nlc3Nvck5vZGU6OmZpcmVQcm9j
ZXNzRXZlCiAgICAgaWYgKGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSB7CiAg
ICAgICAgIC8vIExldCB0aGUgYXVkaW8gdGhyZWFkIGtub3cgd2UndmUgZ290dGVuIHRvIHRoZSBw
b2ludCB3aGVyZSBpdCdzIE9LIGZvciBpdCB0byBtYWtlIGFub3RoZXIgcmVxdWVzdC4KICAgICAg
ICAgbV9pc1JlcXVlc3RPdXRzdGFuZGluZyA9IGZhbHNlOwotICAgICAgICAKKworICAgICAgICAv
LyBDYWxjdWxhdGUgcGxheWJhY2tUaW1lIHdpdGggdGhlIGJ1ZmZlcnNpemUgd2hpY2ggbmVlZHMg
dG8gYmUgcHJvY2Vzc2VkIGVhY2ggdGltZSB3aGVuIG9uYXVkaW9wcm9jZXNzIGlzIGNhbGxlZC4K
KyAgICAgICAgLy8gVGhlIG91dHB1dEJ1ZmZlciBiZWluZyBwYXNzZWQgdG8gSlMgd2lsbCBiZSBw
bGF5ZWQgYWZ0ZXIgZXhoYXVzdGluZyBwcmV2aW91cyBvdXRwdXRCdWZmZXIgYnkgZG91YmxlLWJ1
ZmZlcmluZy4KKyAgICAgICAgZG91YmxlIHBsYXliYWNrVGltZSA9IChjb250ZXh0KCktPmN1cnJl
bnRTYW1wbGVGcmFtZSgpICsgbV9idWZmZXJTaXplKSAvIHN0YXRpY19jYXN0PGRvdWJsZT4oY29u
dGV4dCgpLT5zYW1wbGVSYXRlKCkpOworCiAgICAgICAgIC8vIENhbGwgdGhlIEphdmFTY3JpcHQg
ZXZlbnQgaGFuZGxlciB3aGljaCB3aWxsIGRvIHRoZSBhdWRpbyBwcm9jZXNzaW5nLgotICAgICAg
ICBkaXNwYXRjaEV2ZW50KEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OjpjcmVhdGUoaW5wdXRCdWZmZXIs
IG91dHB1dEJ1ZmZlcikpOworICAgICAgICBkaXNwYXRjaEV2ZW50KEF1ZGlvUHJvY2Vzc2luZ0V2
ZW50OjpjcmVhdGUoaW5wdXRCdWZmZXIsIG91dHB1dEJ1ZmZlciwgcGxheWJhY2tUaW1lKSk7CiAg
ICAgfQogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjcwNzApCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0wNC0xMCAgUHJhdmVl
biBSIEphZGhhdiAgPHByYXZlZW4uakBzYW1zdW5nLmNvbT4KKworICAgICAgICAicGxheWJhY2tU
aW1lIiBwYXJhbWV0ZXIgaXMgbm90IHByZXNlbnQgaW4gQXVkaW9Qcm9jZXNzaW5nRXZlbnQgSW50
ZXJmYWNlIGFzIHBlciBXM0Mgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA1NTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdCBjYXNlIGFkZGVkIHRvIGNoZWNrIEF1ZGlvUHJvY2Vzc2luZ0V2
ZW50IGF0dHJpYnV0ZXMuCisKKyAgICAgICAgKiB3ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVu
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL2F1ZGlvcHJvY2Vzc2lu
Z2V2ZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTA0LTA5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxNjY4NjApOiBBU1NFUlRJT04g
RkFJTEVEOiAhaXNDYWxjdWxhdGVkKCkgb24gZmFzdC9jc3MvaW1hZ2Utc2V0LXZhbHVlLW5vdC1y
ZW1vdmVkLWNyYXNoLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvcHJvY2Vz
c2luZ2V2ZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJhdWRp
by9hdWRpb3Byb2Nlc3NpbmdldmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAorVGVzdHMgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgYXR0
cmlidXRlcyBpbiBJREwuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBldmVu
dC5wbGF5YmFja1RpbWUgaXMgZGVmaW5lZC4KK1BBU1MgZXZlbnQuaW5wdXRCdWZmZXIgaXMgZGVm
aW5lZC4KK1BBU1MgZXZlbnQub3V0cHV0QnVmZmVyIGlzIGRlZmluZWQuCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMv
d2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJhdWRpby9hdWRpb3Byb2Nlc3NpbmdldmVudC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9wcm9jZXNzaW5nZXZlbnQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDgzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+CisKKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3RzIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50IGF0dHJpYnV0ZXMgaW4gSURMLiIpOworCit2YXIg
c2FtcGxlUmF0ZSA9IDQ0MTAwLjA7CisKKy8vIEZvciB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlv
biBvZiBTY3JpcHRQcm9jZXNzb3JOb2RlLCB3aGVuIGl0IHdvcmtzIHdpdGggT2ZmbGluZUF1ZGlv
Q29udGV4dCAod2hpY2ggcnVucyBtdWNoIGZhc3RlcgorLy8gdGhhbiByZWFsLXRpbWUpIHRoZSBl
dmVudC5pbnB1dEJ1ZmZlciBtaWdodCBiZSBvdmVyd3JpdGUgYWdhaW4gYmVmb3JlIG9uYXVkaW9w
cm9jZXNzIGV2ZXIgZ2V0IGNoYW5jZSB0byBiZSBjYWxsZWQuCisvLyBXZSBjYXJlZnVsbHkgYXJy
YW5nZSB0aGUgcmVuZGVyTGVuZ3RoSW5GcmFtZXMgYW5kIGJ1ZmZlclNpemUgdG8gaGF2ZSBleGFj
dGx5IHRoZSBzYW1lIHZhbHVlIHRvIGF2b2lkIHRoaXMgaXNzdWUuCit2YXIgcmVuZGVyTGVuZ3Ro
SW5GcmFtZXMgPSA1MTI7Cit2YXIgYnVmZmVyU2l6ZSA9IDUxMjsKK3ZhciBkdXJhdGlvbiA9IDU7
Cit2YXIgZnJlcXVlbmN5ID0gMTAwOwordmFyIGNvbnRleHQ7CisKK2Z1bmN0aW9uIHByb2Nlc3NB
dWRpb0RhdGEoZXZlbnQpIHsKKyAgICBzaG91bGRCZURlZmluZWQoImV2ZW50LnBsYXliYWNrVGlt
ZSIpOworICAgIHNob3VsZEJlRGVmaW5lZCgiZXZlbnQuaW5wdXRCdWZmZXIiKTsKKyAgICBzaG91
bGRCZURlZmluZWQoImV2ZW50Lm91dHB1dEJ1ZmZlciIpOworCisgICAgdmFyIGV4cGVjdGVkVGlt
ZSA9IGNvbnRleHQuY3VycmVudFRpbWUgKyAoYnVmZmVyU2l6ZSAvIGNvbnRleHQuc2FtcGxlUmF0
ZSk7CisgICAgdmFyIGFsbG93ZWRUaW1lR2FwID0gMC4wMDAwMDAxOworCisgICAgLy8gVGhlcmUg
bWF5IGJlIGEgbGl0dGxlIHRpbWUgZ2FwIHdoaWNoIGlzIGZyb20gZGlmZmVyZW50IHRocmVhZCBv
cGVyYXRpb24KKyAgICAvLyBiZXR3ZWVuIGN1cnJlbnRUaW1lIHdoZW4gbWFpbiB0aHJlYWQgZmly
ZXMgb25hdWRpb3Byb2Nlc3MoKSBhbmQgY3VycmVuVGltZSB3aGVuIHJlYWQgaW4gSlMKKyAgICAv
LyBzaW5jZSBjdXJyZW50VGltZSBpcyBjb250aW51b3VzbHkgaW5jcmVhc2luZyBvbiBhdWRpbyB0
aHJlYWQuCisgICAgc2hvdWxkQmVDbG9zZVRvKCJldmVudC5wbGF5YmFja1RpbWUiLCBleHBlY3Rl
ZFRpbWUsIGFsbG93ZWRUaW1lR2FwLCB0cnVlKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAg
IHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgIC8vIENyZWF0ZSBvZmZsaW5lIGF1
ZGlvIGNvbnRleHQuCisgICAgY29udGV4dCA9IG5ldyB3ZWJraXRPZmZsaW5lQXVkaW9Db250ZXh0
KDIsIHJlbmRlckxlbmd0aEluRnJhbWVzLCBzYW1wbGVSYXRlKTsKKworICAgIHZhciBvc2NpbGxh
dG9yID0gY29udGV4dC5jcmVhdGVPc2NpbGxhdG9yKCk7CisKKyAgICBvc2NpbGxhdG9yLmZyZXF1
ZW5jeS52YWx1ZSA9IGZyZXF1ZW5jeTsKKyAgICBvc2NpbGxhdG9yLnR5cGUgPSAwOworCisgICAg
dmFyIHNjcmlwdFByb2Nlc3Nvck5vZGUgPSBjb250ZXh0LmNyZWF0ZVNjcmlwdFByb2Nlc3Nvcihi
dWZmZXJTaXplLCAxLCAxKTsKKworICAgIG9zY2lsbGF0b3IuY29ubmVjdChzY3JpcHRQcm9jZXNz
b3JOb2RlKTsKKyAgICBzY3JpcHRQcm9jZXNzb3JOb2RlLm9uYXVkaW9wcm9jZXNzID0gcHJvY2Vz
c0F1ZGlvRGF0YTsKKworICAgIHZhciBnYWluTm9kZSA9IGNvbnRleHQuY3JlYXRlR2Fpbk5vZGUo
KTsKKworICAgIHNjcmlwdFByb2Nlc3Nvck5vZGUuY29ubmVjdChnYWluTm9kZSk7CisgICAgZ2Fp
bk5vZGUuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0aW9uKTsKKyAgICBnYWluTm9kZS5nYWluLnZh
bHVlID0gMjsKKworICAgIHZhciBzdGFydFRpbWUgPSBjb250ZXh0LmN1cnJlbnRUaW1lOworCisg
ICAgb3NjaWxsYXRvci5zdGFydChzdGFydFRpbWUpOworICAgIG9zY2lsbGF0b3Iuc3RvcChzdGFy
dFRpbWUgKyBkdXJhdGlvbik7CisKKyAgICBjb250ZXh0Lm9uY29tcGxldGUgPSBmaW5pc2hKU1Rl
c3Q7CisgICAgY29udGV4dC5zdGFydFJlbmRlcmluZygpOworfQorCitydW5UZXN0KCk7CisKKzwv
c2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>