<?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>103751</bug_id>
          
          <creation_ts>2012-11-30 08:46:43 -0800</creation_ts>
          <short_desc>Add support for the &apos;unpause()&apos; method on MediaController.</short_desc>
          <delta_ts>2012-11-30 16:44:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>ojan</cc>
    
    <cc>roger_fong</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>780145</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-30 08:46:43 -0800</bug_when>
    <thetext>Add support for the &apos;unpause()&apos; method on MediaController.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780178</commentid>
    <comment_count>1</comment_count>
      <attachid>176982</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-30 09:47:13 -0800</bug_when>
    <thetext>Created attachment 176982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780184</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-30 09:52:30 -0800</bug_when>
    <thetext>Attachment 176982 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/medi...&quot; exit_code: 1
LayoutTests/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780210</commentid>
    <comment_count>3</comment_count>
      <attachid>176989</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-30 10:32:48 -0800</bug_when>
    <thetext>Created attachment 176989
Patch

Now with 100% more bug numbers in the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780221</commentid>
    <comment_count>4</comment_count>
      <attachid>176993</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-30 10:39:48 -0800</bug_when>
    <thetext>Created attachment 176993
Patch

Updated media-controller-playback.txt to match new output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780281</commentid>
    <comment_count>5</comment_count>
      <attachid>176993</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-11-30 12:00:22 -0800</bug_when>
    <thetext>Comment on attachment 176993
Patch

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

&gt; Source/WebCore/html/MediaController.cpp:301
&gt; +        return ASCIILiteral(&quot;waiting&quot;);
&gt; +    case PLAYING:
&gt; +        return ASCIILiteral(&quot;playing&quot;);
&gt; +    case ENDED:
&gt; +        return ASCIILiteral(&quot;ended&quot;);

It would be much more efficient to create these just once.

&gt; Source/WebCore/html/MediaController.h:70
&gt;      virtual bool paused() const { return m_paused; }
&gt;      virtual void play();
&gt;      virtual void pause();
&gt; +    void unpause();

Why is this the only non-virtual function?

&gt; LayoutTests/media/media-controller-unpause.html:11
&gt; +        function start() {

Nit: the brace should be on a new line.

&gt; LayoutTests/media/media-controller-unpause.html:22
&gt; +        function canplaythrough() {

Ditto.

&gt; LayoutTests/media/media-controller-unpause.html:29
&gt; +        function pause() {

Ditto.

&gt; LayoutTests/media/media-controller-unpause.html:36
&gt; +        function play() {

Ditto.

&gt; LayoutTests/media/media-controller-unpause.html:44
&gt; +        function playing() {

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780283</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-30 12:05:34 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 176993 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=176993&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/MediaController.cpp:301
&gt; &gt; +        return ASCIILiteral(&quot;waiting&quot;);
&gt; &gt; +    case PLAYING:
&gt; &gt; +        return ASCIILiteral(&quot;playing&quot;);
&gt; &gt; +    case ENDED:
&gt; &gt; +        return ASCIILiteral(&quot;ended&quot;);
&gt; 
&gt; It would be much more efficient to create these just once.

Okay, I&apos;ll add some static functions.

&gt; &gt; Source/WebCore/html/MediaController.h:70
&gt; &gt;      virtual bool paused() const { return m_paused; }
&gt; &gt;      virtual void play();
&gt; &gt;      virtual void pause();
&gt; &gt; +    void unpause();
&gt; 
&gt; Why is this the only non-virtual function?

It&apos;s the only one which doesn&apos;t override something in MediaControllerInterface.

&gt; &gt; LayoutTests/media/media-controller-unpause.html:11
&gt; &gt; +        function start() {
&gt; 
&gt; Nit: the brace should be on a new line.

Will change (and all the dittos).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780516</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-30 16:14:21 -0800</bug_when>
    <thetext>Committed r136295: &lt;http://trac.webkit.org/changeset/136295&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780529</commentid>
    <comment_count>8</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2012-11-30 16:27:41 -0800</bug_when>
    <thetext>Hi, I&apos;m getting a windows build failure:

6&gt;c:\cygwin\home\buildbot\slave\win-debug\build\source\webcore\html\mediacontroller.cpp(321) : error C2220: warning treated as error - no &apos;object&apos; file generated
6&gt;c:\cygwin\home\buildbot\slave\win-debug\build\source\webcore\html\mediacontroller.cpp(321) : warning C4715: &apos;WebCore::MediaController::playbackState&apos; : not all control paths return a value</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780538</commentid>
    <comment_count>9</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-30 16:44:40 -0800</bug_when>
    <thetext>Committed r136296: &lt;http://trac.webkit.org/changeset/136296&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176982</attachid>
            <date>2012-11-30 09:47:13 -0800</date>
            <delta_ts>2012-11-30 10:32:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103751-20121130094445.patch</filename>
            <type>text/plain</type>
            <size>9138</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MDE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM4MDNlNDVkZTJkZWJj
OWRmNjY3ZWU5MTkyZDYxMDlkYWJlMzdiZS4uZTU0OTkzY2M3MDBkNDRmZGRjMmVlOTIyMjZjZjg5
N2IzMmFmZmJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTMwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciB0
aGUgJ3VucGF1c2UoKScgbWV0aG9kIG9uIE1lZGlhQ29udHJvbGxlci4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzc1MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBNZWRpYUNvbnRyb2xsZXIgc3Bl
YyBoYXMgYmVlbiB1cGRhdGVkIHRvIGFkZCBhbiB1bnBhdXNlKCkgbWV0aG9kCisgICAgICAgIHdo
aWNoIGlzIGZ1bmN0aW9uYWxseSBpZGVudGljYWwgdG8gdGhlIG9sZCBwbGF5KCkgbWV0aG9kLCBh
bmQgY2hhbmdlcworICAgICAgICB0aGUgc2VtYW50aWNzIG9mIHBsYXkoKSB0byBjYWxsIHBsYXko
KSBvbiB0aGUgdW5kZXJseWluZyBzbGF2ZWQgbWVkaWEKKyAgICAgICAgZWxlbWVudHMuIFRoZSBz
cGVjIGFsc28gYWRkZWQgYSBwbGF5YmFja1N0YXRlKCkgbWV0aG9kLCByZXR1cm5pbmcgYQorICAg
ICAgICBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBsYXN0IGNhbGN1bGF0ZWQgcGxheWJhY2sgc3Rh
dGUuCisKKyAgICAgICAgVGVzdDogbWVkaWEvbWVkaWEtY29udHJvbGxlci11bnBhdXNlLmh0bWwK
KworICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29u
dHJvbGxlcjo6dW5wYXVzZSk6IFJlbmFtZWQgZnJvbSBwbGF5KCkuCisgICAgICAgIChNZWRpYUNv
bnRyb2xsZXI6OnBsYXkpOiBBZGRlZC4gU2FtZSBhcyB1bnBhdXNlKCksIGJ1dCBhbHNvIGNhbGwK
KyAgICAgICAgICAgIHBsYXkoKSBvbiBzbGF2ZWQgbWVkaWEgZWxlbWVudHMuCisgICAgICAgIChN
ZWRpYUNvbnRyb2xsZXI6OnBsYXliYWNrU3RhdGUpOiBBZGRlZC4gUmV0dXJucyBzdHJpbmcgdmFs
dWUgb2YKKyAgICAgICAgICAgIG1fcGxheWJhY2tTdGF0ZS4KKyAgICAgICAgKiBodG1sL01lZGlh
Q29udHJvbGxlci5oOgorICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmlkbDoKKwogMjAx
Mi0xMS0yOCAgWmVubyBBbGJpc3NlciAgPHplbm9Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRd
W1dpbl0gRW5hYmxlIHVzYWdlIG9mIFFUV0VCS0lUX1BMVUdJTl9QQVRILgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCmluZGV4IDM5M2NhOGFkZWMzZmU0ZjNjODk2NzA2YzEy
MmU5NGE2YzM0NThlNmIuLmQ4ODU0ZjFiMzUxMTY5MjJiYmY0NjBkOTE1N2Q0MzE4YjgzMTc5Y2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKQEAgLTE3OCw5ICsxNzgs
OSBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2V0Q3VycmVudFRpbWUoZmxvYXQgdGltZSwgRXhj
ZXB0aW9uQ29kZSYgY29kZSkKICAgICBzY2hlZHVsZVRpbWV1cGRhdGVFdmVudCgpOwogfQogCi12
b2lkIE1lZGlhQ29udHJvbGxlcjo6cGxheSgpCit2b2lkIE1lZGlhQ29udHJvbGxlcjo6dW5wYXVz
ZSgpCiB7Ci0gICAgLy8gV2hlbiB0aGUgcGxheSgpIG1ldGhvZCBpcyBpbnZva2VkLCBpZiB0aGUg
TWVkaWFDb250cm9sbGVyIGlzIGEgcGF1c2VkIG1lZGlhIGNvbnRyb2xsZXIsCisgICAgLy8gV2hl
biB0aGUgdW5wYXVzZSgpIG1ldGhvZCBpcyBpbnZva2VkLCBpZiB0aGUgTWVkaWFDb250cm9sbGVy
IGlzIGEgcGF1c2VkIG1lZGlhIGNvbnRyb2xsZXIsCiAgICAgaWYgKCFtX3BhdXNlZCkKICAgICAg
ICAgcmV0dXJuOwogCkBAIC0xOTIsNiArMTkyLDE3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVyOjpw
bGF5KCkKICAgICByZXBvcnRDb250cm9sbGVyU3RhdGUoKTsKIH0KIAordm9pZCBNZWRpYUNvbnRy
b2xsZXI6OnBsYXkoKQoreworICAgIC8vIFdoZW4gdGhlIHBsYXkoKSBtZXRob2QgaXMgaW52b2tl
ZCwgdGhlIHVzZXIgYWdlbnQgbXVzdCBpbnZva2UgdGhlIHBsYXkgbWV0aG9kIG9mIGVhY2gKKyAg
ICAvLyBzbGF2ZWQgbWVkaWEgZWxlbWVudCBpbiB0dXJuLAorICAgIGZvciAoc2l6ZV90IGluZGV4
ID0gMDsgaW5kZXggPCBtX21lZGlhRWxlbWVudHMuc2l6ZSgpOyArK2luZGV4KQorICAgICAgICBt
X21lZGlhRWxlbWVudHNbaW5kZXhdLT5wbGF5KCk7CisKKyAgICAvLyBhbmQgdGhlbiBpbnZva2Ug
dGhlIHVucGF1c2UgbWV0aG9kIG9mIHRoZSBNZWRpYUNvbnRyb2xsZXIuCisgICAgdW5wYXVzZSgp
OworfQorCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6cGF1c2UoKQogewogICAgIC8vIFdoZW4gdGhl
IHBhdXNlKCkgbWV0aG9kIGlzIGludm9rZWQsIGlmIHRoZSBNZWRpYUNvbnRyb2xsZXIgaXMgYSBw
bGF5aW5nIG1lZGlhIGNvbnRyb2xsZXIsCkBAIC0yNzksNiArMjkwLDIxIEBAIHZvaWQgTWVkaWFD
b250cm9sbGVyOjpzZXRNdXRlZChib29sIGZsYWcpCiAgICAgICAgIG1fbWVkaWFFbGVtZW50c1tp
bmRleF0tPnVwZGF0ZVZvbHVtZSgpOwogfQogCitTdHJpbmcgTWVkaWFDb250cm9sbGVyOjpwbGF5
YmFja1N0YXRlKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1fcGxheWJhY2tTdGF0ZSkgeworICAg
IGNhc2UgV0FJVElORzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgid2FpdGluZyIpOwor
ICAgIGNhc2UgUExBWUlORzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgicGxheWluZyIp
OworICAgIGNhc2UgRU5ERUQ6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoImVuZGVkIik7
CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKKyAgICB9Cit9CisKIHZvaWQgTWVkaWFDb250cm9sbGVyOjpyZXBvcnRD
b250cm9sbGVyU3RhdGUoKQogewogICAgIHVwZGF0ZVJlYWR5U3RhdGUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhQ29udHJvbGxlci5oCmluZGV4IGQyOTNjY2IxZGYxMjNiZTc0ZjRiYTg5ZDgzNzc0
YjQ5ZGNiYzMxNTEuLjQzZmM0NjI1YmU2M2FjMzAwZGJiMjQxYzhhNDA3ZGUwZjFmMThhYzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaApAQCAtNjcsNiArNjcsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIHBhdXNlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcGF1c2VkOyB9
CiAgICAgdmlydHVhbCB2b2lkIHBsYXkoKTsKICAgICB2aXJ0dWFsIHZvaWQgcGF1c2UoKTsKKyAg
ICB2b2lkIHVucGF1c2UoKTsKICAgICAKICAgICB2aXJ0dWFsIGZsb2F0IGRlZmF1bHRQbGF5YmFj
a1JhdGUoKSBjb25zdCB7IHJldHVybiBtX2RlZmF1bHRQbGF5YmFja1JhdGU7IH0KICAgICB2aXJ0
dWFsIHZvaWQgc2V0RGVmYXVsdFBsYXliYWNrUmF0ZShmbG9hdCk7CkBAIC04Myw3ICs4NCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fcmVhZHlTdGF0ZTsgfQogCiAgICAgZW51bSBQbGF5YmFja1N0YXRlIHsgV0FJVElORywg
UExBWUlORywgRU5ERUQgfTsKLSAgICB2aXJ0dWFsIFBsYXliYWNrU3RhdGUgcGxheWJhY2tTdGF0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWJhY2tTdGF0ZTsgfQorICAgIFN0cmluZyBwbGF5YmFj
a1N0YXRlKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGdWxsc2NyZWVuKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNGdWxsc2NyZWVuKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVy
LmlkbAppbmRleCAzMTQ0M2ExZGIzMjUwZjgxMmMzODBiMGRkNzI5OTE0N2FmM2IwZjEzLi44YTBj
OTZmYzU1YzUzM2JmNjFkMDE3NzAwMzk3NjkyNWY1OGU0MTNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUNvbnRyb2xsZXIuaWRsCkBAIC0zOSw4ICszOSwxMCBAQAogCiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGJvb2xlYW4gcGF1c2VkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUaW1lUmFu
Z2VzIHBsYXllZDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBsYXliYWNrU3Rh
dGU7CiAgICAgdm9pZCBwbGF5KCk7CiAgICAgdm9pZCBwYXVzZSgpOworICAgIHZvaWQgdW5wYXVz
ZSgpOwogCiAgICAgYXR0cmlidXRlIGRvdWJsZSBkZWZhdWx0UGxheWJhY2tSYXRlOwogICAgIGF0
dHJpYnV0ZSBkb3VibGUgcGxheWJhY2tSYXRlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAxNzQwZjc0NjdhY2U1MGY1YmYz
NGZkYjczMWZjODNiZTMxZTc1NTkuLmQyMzM1MTNkYzRjN2MxZmMyZDgxOGVlZjZlZjNjZjk4NDM2
NzUzM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMS0zMCAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gKE9P
UFMhKS4KKyAgICAgICAgTmVlZCB0aGUgYnVnIFVSTCAoT09QUyEpLgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24g
b2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVy
LWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgICogbWVkaWEv
bWVkaWEtY29udHJvbGxlci1wbGF5YmFjay5odG1sOgorCiAyMDEyLTExLTI4ICBTYWRydWwgSGFi
aWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1d
IEFsbG93IHBsdWdpbnMgdG8gb3B0LWluIHRvIHJlY2VpdmUgc3ludGhldGljIG1vdXNlIGV2ZW50
cyBvdXQgb2YgdG91Y2ggZXZlbnRzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVk
aWEtY29udHJvbGxlci1wbGF5YmFjay5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29u
dHJvbGxlci1wbGF5YmFjay5odG1sCmluZGV4IGU0NmIzYTk1OTQyMmZiN2E0YWE4MjM5YzhmMTQ1
MTY1YjQxODUwNGIuLjEwZGIwYTcxZTU3OTljNjhmNTM5Y2JhOWFlYTJkZGM4MmYxYTgxOTggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNvbnRyb2xsZXItcGxheWJhY2suaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXBsYXliYWNrLmh0bWwK
QEAgLTIyLDggKzIyLDYgQEAKICAgICAgICAgZnVuY3Rpb24gY2FucGxheXRocm91Z2goKSB7CiAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIkVWRU5UKGNhbnBsYXl0aHJvdWdoKSIpOwogICAgICAg
ICAgICAgY29udHJvbGxlci5yZW1vdmVFdmVudExpc3RlbmVyKCdjYW5wbGF5dGhyb3VnaCcsIGNh
bnBsYXl0aHJvdWdoLCB0cnVlKTsKLSAgICAgICAgICAgIHJ1bigndmlkZW8ucGxheSgpJyk7Ci0g
ICAgICAgICAgICBydW4oJ3ZpZGVvMi5wbGF5KCknKTsKICAgICAgICAgICAgIGNvbnRyb2xsZXIu
YWRkRXZlbnRMaXN0ZW5lcigncGxheWluZycsIHBsYXlpbmcsIHRydWUpOwogICAgICAgICAgICAg
cnVuKCdjb250cm9sbGVyLnBsYXkoKScpOwogICAgICAgICB9CkBAIC00OSw0ICs0Nyw0IEBACiAg
ICAgICAgIDx2aWRlbyBtZWRpYUdyb3VwPSJncm91cCIgY29udHJvbHM+PC92aWRlbz4KICAgICAg
ICAgPHZpZGVvIG1lZGlhR3JvdXA9Imdyb3VwIiBjb250cm9scz48L3ZpZGVvPgogICAgIDwvYm9k
eT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXVucGF1c2UtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci11bnBhdXNlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xYjQxZTdjOGFhZmUwMDMwZDA1YjVhMTFiYzI4OTBlYmFiNzFhN2Fh
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci11
bnBhdXNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACisgCitSVU4oY29udHJvbGxlciA9
IHZpZGVvLmNvbnRyb2xsZXIpCitFVkVOVChjYW5wbGF5dGhyb3VnaCkKK1JVTihjb250cm9sbGVy
LnBhdXNlKCkpCitFVkVOVChwYXVzZSkKK1JVTihjb250cm9sbGVyLnVucGF1c2UoKSkKK0VWRU5U
KHBsYXkpCitFWFBFQ1RFRCAoY29udHJvbGxlci5wbGF5YmFja1N0YXRlID09ICd3YWl0aW5nJykg
T0sKK1JVTihjb250cm9sbGVyLnBsYXkoKSkKK0VWRU5UKHBsYXlpbmcpCitFTkQgT0YgVEVTVAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXVucGF1c2Uu
aHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNvbnRyb2xsZXItdW5wYXVzZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU4NjU4YjNkMTNiMGJiMDdkNDgxY2NlZDEyMjEzZmFlYjRkNWQzY2QKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXVucGF1c2Uu
aHRtbApAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8c2NyaXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorCisgICAgICAgIDxzY3JpcHQ+Cisg
ICAgICAgIHZhciBjb250cm9sbGVyOworICAgICAgICB2YXIgdmlkZW8yOworCisgICAgICAgIGZ1
bmN0aW9uIHN0YXJ0KCkgeworICAgICAgICAgICAgdmFyIHZpZGVvcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpOworICAgICAgICAgICAgdmlkZW8gPSB2aWRlb3NbMF07
CisgICAgICAgICAgICB2aWRlbzIgPSB2aWRlb3NbMV07CisgICAgICAgICAgICBydW4oJ2NvbnRy
b2xsZXIgPSB2aWRlby5jb250cm9sbGVyJyk7CisgICAgICAgICAgICBjb250cm9sbGVyLmFkZEV2
ZW50TGlzdGVuZXIoJ2NhbnBsYXl0aHJvdWdoJywgY2FucGxheXRocm91Z2gsIHRydWUpOworICAg
ICAgICAgICAgdmFyIHNyYyA9IGZpbmRNZWRpYUZpbGUoJ3ZpZGVvJywgJ2NvbnRlbnQvdGVzdCcp
OworICAgICAgICAgICAgdmlkZW8uc3JjID0gc3JjOworICAgICAgICAgICAgdmlkZW8yLnNyYyA9
IHNyYzsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gY2FucGxheXRocm91
Z2goKSB7CisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkVWRU5UKGNhbnBsYXl0aHJvdWdoKSIp
OworICAgICAgICAgICAgY29udHJvbGxlci5yZW1vdmVFdmVudExpc3RlbmVyKCdjYW5wbGF5dGhy
b3VnaCcsIGNhbnBsYXl0aHJvdWdoLCB0cnVlKTsKKyAgICAgICAgICAgIGNvbnRyb2xsZXIuYWRk
RXZlbnRMaXN0ZW5lcigncGF1c2UnLCBwYXVzZSwgdHJ1ZSk7CisgICAgICAgICAgICBydW4oJ2Nv
bnRyb2xsZXIucGF1c2UoKScpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gcGF1c2Uo
KSB7CisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkVWRU5UKHBhdXNlKSIpOworICAgICAgICAg
ICAgY29udHJvbGxlci5yZW1vdmVFdmVudExpc3RlbmVyKCdwYXVzZScsIHBhdXNlLCB0cnVlKTsK
KyAgICAgICAgICAgIGNvbnRyb2xsZXIuYWRkRXZlbnRMaXN0ZW5lcigncGxheScsIHBsYXksIHRy
dWUpOworICAgICAgICAgICAgcnVuKCdjb250cm9sbGVyLnVucGF1c2UoKScpOworICAgICAgICB9
CisKKyAgICAgICAgZnVuY3Rpb24gcGxheSgpIHsKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgn
RVZFTlQocGxheSknKTsKKyAgICAgICAgICAgIGNvbnRyb2xsZXIucmVtb3ZlRXZlbnRMaXN0ZW5l
cigncGxheScsIHBsYXksIHRydWUpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdjb250cm9s
bGVyLnBsYXliYWNrU3RhdGUnLCAnd2FpdGluZycpOworICAgICAgICAgICAgY29udHJvbGxlci5h
ZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgcGxheWluZywgdHJ1ZSk7CisgICAgICAgICAgICBy
dW4oJ2NvbnRyb2xsZXIucGxheSgpJyk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1
bmN0aW9uIHBsYXlpbmcoKSB7IAorICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVChwbGF5
aW5nKSIpOworICAgICAgICAgICAgY29udHJvbGxlci5yZW1vdmVFdmVudExpc3RlbmVyKCdwbGF5
aW5nJywgcGxheWluZywgdHJ1ZSk7CisgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgIH0K
KyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0ic3RhcnQo
KSI+CisgICAgICAgIDx2aWRlbyBtZWRpYUdyb3VwPSJncm91cCIgY29udHJvbHM+PC92aWRlbz4K
KyAgICAgICAgPHZpZGVvIG1lZGlhR3JvdXA9Imdyb3VwIiBjb250cm9scz48L3ZpZGVvPgorICAg
IDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176989</attachid>
            <date>2012-11-30 10:32:48 -0800</date>
            <delta_ts>2012-11-30 10:39:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103751-20121130103020.patch</filename>
            <type>text/plain</type>
            <size>9122</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MDE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM4MDNlNDVkZTJkZWJj
OWRmNjY3ZWU5MTkyZDYxMDlkYWJlMzdiZS4uZTU0OTkzY2M3MDBkNDRmZGRjMmVlOTIyMjZjZjg5
N2IzMmFmZmJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTMwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciB0
aGUgJ3VucGF1c2UoKScgbWV0aG9kIG9uIE1lZGlhQ29udHJvbGxlci4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzc1MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBNZWRpYUNvbnRyb2xsZXIgc3Bl
YyBoYXMgYmVlbiB1cGRhdGVkIHRvIGFkZCBhbiB1bnBhdXNlKCkgbWV0aG9kCisgICAgICAgIHdo
aWNoIGlzIGZ1bmN0aW9uYWxseSBpZGVudGljYWwgdG8gdGhlIG9sZCBwbGF5KCkgbWV0aG9kLCBh
bmQgY2hhbmdlcworICAgICAgICB0aGUgc2VtYW50aWNzIG9mIHBsYXkoKSB0byBjYWxsIHBsYXko
KSBvbiB0aGUgdW5kZXJseWluZyBzbGF2ZWQgbWVkaWEKKyAgICAgICAgZWxlbWVudHMuIFRoZSBz
cGVjIGFsc28gYWRkZWQgYSBwbGF5YmFja1N0YXRlKCkgbWV0aG9kLCByZXR1cm5pbmcgYQorICAg
ICAgICBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBsYXN0IGNhbGN1bGF0ZWQgcGxheWJhY2sgc3Rh
dGUuCisKKyAgICAgICAgVGVzdDogbWVkaWEvbWVkaWEtY29udHJvbGxlci11bnBhdXNlLmh0bWwK
KworICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29u
dHJvbGxlcjo6dW5wYXVzZSk6IFJlbmFtZWQgZnJvbSBwbGF5KCkuCisgICAgICAgIChNZWRpYUNv
bnRyb2xsZXI6OnBsYXkpOiBBZGRlZC4gU2FtZSBhcyB1bnBhdXNlKCksIGJ1dCBhbHNvIGNhbGwK
KyAgICAgICAgICAgIHBsYXkoKSBvbiBzbGF2ZWQgbWVkaWEgZWxlbWVudHMuCisgICAgICAgIChN
ZWRpYUNvbnRyb2xsZXI6OnBsYXliYWNrU3RhdGUpOiBBZGRlZC4gUmV0dXJucyBzdHJpbmcgdmFs
dWUgb2YKKyAgICAgICAgICAgIG1fcGxheWJhY2tTdGF0ZS4KKyAgICAgICAgKiBodG1sL01lZGlh
Q29udHJvbGxlci5oOgorICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmlkbDoKKwogMjAx
Mi0xMS0yOCAgWmVubyBBbGJpc3NlciAgPHplbm9Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRd
W1dpbl0gRW5hYmxlIHVzYWdlIG9mIFFUV0VCS0lUX1BMVUdJTl9QQVRILgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCmluZGV4IDM5M2NhOGFkZWMzZmU0ZjNjODk2NzA2YzEy
MmU5NGE2YzM0NThlNmIuLmQ4ODU0ZjFiMzUxMTY5MjJiYmY0NjBkOTE1N2Q0MzE4YjgzMTc5Y2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKQEAgLTE3OCw5ICsxNzgs
OSBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2V0Q3VycmVudFRpbWUoZmxvYXQgdGltZSwgRXhj
ZXB0aW9uQ29kZSYgY29kZSkKICAgICBzY2hlZHVsZVRpbWV1cGRhdGVFdmVudCgpOwogfQogCi12
b2lkIE1lZGlhQ29udHJvbGxlcjo6cGxheSgpCit2b2lkIE1lZGlhQ29udHJvbGxlcjo6dW5wYXVz
ZSgpCiB7Ci0gICAgLy8gV2hlbiB0aGUgcGxheSgpIG1ldGhvZCBpcyBpbnZva2VkLCBpZiB0aGUg
TWVkaWFDb250cm9sbGVyIGlzIGEgcGF1c2VkIG1lZGlhIGNvbnRyb2xsZXIsCisgICAgLy8gV2hl
biB0aGUgdW5wYXVzZSgpIG1ldGhvZCBpcyBpbnZva2VkLCBpZiB0aGUgTWVkaWFDb250cm9sbGVy
IGlzIGEgcGF1c2VkIG1lZGlhIGNvbnRyb2xsZXIsCiAgICAgaWYgKCFtX3BhdXNlZCkKICAgICAg
ICAgcmV0dXJuOwogCkBAIC0xOTIsNiArMTkyLDE3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVyOjpw
bGF5KCkKICAgICByZXBvcnRDb250cm9sbGVyU3RhdGUoKTsKIH0KIAordm9pZCBNZWRpYUNvbnRy
b2xsZXI6OnBsYXkoKQoreworICAgIC8vIFdoZW4gdGhlIHBsYXkoKSBtZXRob2QgaXMgaW52b2tl
ZCwgdGhlIHVzZXIgYWdlbnQgbXVzdCBpbnZva2UgdGhlIHBsYXkgbWV0aG9kIG9mIGVhY2gKKyAg
ICAvLyBzbGF2ZWQgbWVkaWEgZWxlbWVudCBpbiB0dXJuLAorICAgIGZvciAoc2l6ZV90IGluZGV4
ID0gMDsgaW5kZXggPCBtX21lZGlhRWxlbWVudHMuc2l6ZSgpOyArK2luZGV4KQorICAgICAgICBt
X21lZGlhRWxlbWVudHNbaW5kZXhdLT5wbGF5KCk7CisKKyAgICAvLyBhbmQgdGhlbiBpbnZva2Ug
dGhlIHVucGF1c2UgbWV0aG9kIG9mIHRoZSBNZWRpYUNvbnRyb2xsZXIuCisgICAgdW5wYXVzZSgp
OworfQorCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6cGF1c2UoKQogewogICAgIC8vIFdoZW4gdGhl
IHBhdXNlKCkgbWV0aG9kIGlzIGludm9rZWQsIGlmIHRoZSBNZWRpYUNvbnRyb2xsZXIgaXMgYSBw
bGF5aW5nIG1lZGlhIGNvbnRyb2xsZXIsCkBAIC0yNzksNiArMjkwLDIxIEBAIHZvaWQgTWVkaWFD
b250cm9sbGVyOjpzZXRNdXRlZChib29sIGZsYWcpCiAgICAgICAgIG1fbWVkaWFFbGVtZW50c1tp
bmRleF0tPnVwZGF0ZVZvbHVtZSgpOwogfQogCitTdHJpbmcgTWVkaWFDb250cm9sbGVyOjpwbGF5
YmFja1N0YXRlKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1fcGxheWJhY2tTdGF0ZSkgeworICAg
IGNhc2UgV0FJVElORzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgid2FpdGluZyIpOwor
ICAgIGNhc2UgUExBWUlORzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgicGxheWluZyIp
OworICAgIGNhc2UgRU5ERUQ6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoImVuZGVkIik7
CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKKyAgICB9Cit9CisKIHZvaWQgTWVkaWFDb250cm9sbGVyOjpyZXBvcnRD
b250cm9sbGVyU3RhdGUoKQogewogICAgIHVwZGF0ZVJlYWR5U3RhdGUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhQ29udHJvbGxlci5oCmluZGV4IGQyOTNjY2IxZGYxMjNiZTc0ZjRiYTg5ZDgzNzc0
YjQ5ZGNiYzMxNTEuLjQzZmM0NjI1YmU2M2FjMzAwZGJiMjQxYzhhNDA3ZGUwZjFmMThhYzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaApAQCAtNjcsNiArNjcsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIHBhdXNlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcGF1c2VkOyB9
CiAgICAgdmlydHVhbCB2b2lkIHBsYXkoKTsKICAgICB2aXJ0dWFsIHZvaWQgcGF1c2UoKTsKKyAg
ICB2b2lkIHVucGF1c2UoKTsKICAgICAKICAgICB2aXJ0dWFsIGZsb2F0IGRlZmF1bHRQbGF5YmFj
a1JhdGUoKSBjb25zdCB7IHJldHVybiBtX2RlZmF1bHRQbGF5YmFja1JhdGU7IH0KICAgICB2aXJ0
dWFsIHZvaWQgc2V0RGVmYXVsdFBsYXliYWNrUmF0ZShmbG9hdCk7CkBAIC04Myw3ICs4NCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fcmVhZHlTdGF0ZTsgfQogCiAgICAgZW51bSBQbGF5YmFja1N0YXRlIHsgV0FJVElORywg
UExBWUlORywgRU5ERUQgfTsKLSAgICB2aXJ0dWFsIFBsYXliYWNrU3RhdGUgcGxheWJhY2tTdGF0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWJhY2tTdGF0ZTsgfQorICAgIFN0cmluZyBwbGF5YmFj
a1N0YXRlKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGdWxsc2NyZWVuKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNGdWxsc2NyZWVuKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVy
LmlkbAppbmRleCAzMTQ0M2ExZGIzMjUwZjgxMmMzODBiMGRkNzI5OTE0N2FmM2IwZjEzLi44YTBj
OTZmYzU1YzUzM2JmNjFkMDE3NzAwMzk3NjkyNWY1OGU0MTNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUNvbnRyb2xsZXIuaWRsCkBAIC0zOSw4ICszOSwxMCBAQAogCiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGJvb2xlYW4gcGF1c2VkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUaW1lUmFu
Z2VzIHBsYXllZDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBsYXliYWNrU3Rh
dGU7CiAgICAgdm9pZCBwbGF5KCk7CiAgICAgdm9pZCBwYXVzZSgpOworICAgIHZvaWQgdW5wYXVz
ZSgpOwogCiAgICAgYXR0cmlidXRlIGRvdWJsZSBkZWZhdWx0UGxheWJhY2tSYXRlOwogICAgIGF0
dHJpYnV0ZSBkb3VibGUgcGxheWJhY2tSYXRlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAxNzQwZjc0NjdhY2U1MGY1YmYz
NGZkYjczMWZjODNiZTMxZTc1NTkuLmQxYTA1ODFiYzJkMWI1MmQ5MzFmN2ZjYTEzNzhjMzA1Y2U4
NDM2N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMS0zMCAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlICd1bnBhdXNl
KCknIG1ldGhvZCBvbiBNZWRpYUNvbnRyb2xsZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM3NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbmV3IHRlc3QgZm9yIHVucGF1c2UoKSBhbmQgcGxh
eWJhY2tTdGF0ZSgpIG1ldGhvZHMuCisKKyAgICAgICAgKiBtZWRpYS9tZWRpYS1jb250cm9sbGVy
LXBsYXliYWNrLmh0bWw6CisKIDIwMTItMTEtMjggIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxz
YWRydWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgcGx1Z2lucyB0
byBvcHQtaW4gdG8gcmVjZWl2ZSBzeW50aGV0aWMgbW91c2UgZXZlbnRzIG91dCBvZiB0b3VjaCBl
dmVudHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXBs
YXliYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXBsYXliYWNr
Lmh0bWwKaW5kZXggZTQ2YjNhOTU5NDIyZmI3YTRhYTgyMzljOGYxNDUxNjViNDE4NTA0Yi4uMTBk
YjBhNzFlNTc5OWM2OGY1MzljYmE5YWVhMmRkYzgyZjFhODE5OCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci1wbGF5YmFjay5odG1sCisrKyBiL0xheW91dFRl
c3RzL21lZGlhL21lZGlhLWNvbnRyb2xsZXItcGxheWJhY2suaHRtbApAQCAtMjIsOCArMjIsNiBA
QAogICAgICAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3VnaCgpIHsKICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgiRVZFTlQoY2FucGxheXRocm91Z2gpIik7CiAgICAgICAgICAgICBjb250cm9sbGVy
LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NhbnBsYXl0aHJvdWdoJywgY2FucGxheXRocm91Z2gsIHRy
dWUpOwotICAgICAgICAgICAgcnVuKCd2aWRlby5wbGF5KCknKTsKLSAgICAgICAgICAgIHJ1bign
dmlkZW8yLnBsYXkoKScpOwogICAgICAgICAgICAgY29udHJvbGxlci5hZGRFdmVudExpc3RlbmVy
KCdwbGF5aW5nJywgcGxheWluZywgdHJ1ZSk7CiAgICAgICAgICAgICBydW4oJ2NvbnRyb2xsZXIu
cGxheSgpJyk7CiAgICAgICAgIH0KQEAgLTQ5LDQgKzQ3LDQgQEAKICAgICAgICAgPHZpZGVvIG1l
ZGlhR3JvdXA9Imdyb3VwIiBjb250cm9scz48L3ZpZGVvPgogICAgICAgICA8dmlkZW8gbWVkaWFH
cm91cD0iZ3JvdXAiIGNvbnRyb2xzPjwvdmlkZW8+CiAgICAgPC9ib2R5PgotPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21lZGlhL21lZGlhLWNvbnRyb2xsZXItdW5wYXVzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXVucGF1c2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjFiNDFlN2M4YWFmZTAwMzBkMDViNWExMWJjMjg5MGViYWI3MWE3YWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXVucGF1c2UtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTIgQEAKKyAKK1JVTihjb250cm9sbGVyID0gdmlkZW8uY29udHJvbGxl
cikKK0VWRU5UKGNhbnBsYXl0aHJvdWdoKQorUlVOKGNvbnRyb2xsZXIucGF1c2UoKSkKK0VWRU5U
KHBhdXNlKQorUlVOKGNvbnRyb2xsZXIudW5wYXVzZSgpKQorRVZFTlQocGxheSkKK0VYUEVDVEVE
IChjb250cm9sbGVyLnBsYXliYWNrU3RhdGUgPT0gJ3dhaXRpbmcnKSBPSworUlVOKGNvbnRyb2xs
ZXIucGxheSgpKQorRVZFTlQocGxheWluZykKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL21lZGlhL21lZGlhLWNvbnRyb2xsZXItdW5wYXVzZS5odG1sIGIvTGF5b3V0VGVz
dHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci11bnBhdXNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTg2NThi
M2QxM2IwYmIwN2Q0ODFjY2VkMTIyMTNmYWViNGQ1ZDNjZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL21lZGlhL21lZGlhLWNvbnRyb2xsZXItdW5wYXVzZS5odG1sCkBAIC0wLDAgKzEs
NTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPW1lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPXZpZGVv
LXRlc3QuanM+PC9zY3JpcHQ+CisKKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgdmFyIGNvbnRy
b2xsZXI7CisgICAgICAgIHZhciB2aWRlbzI7CisKKyAgICAgICAgZnVuY3Rpb24gc3RhcnQoKSB7
CisgICAgICAgICAgICB2YXIgdmlkZW9zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
J3ZpZGVvJyk7CisgICAgICAgICAgICB2aWRlbyA9IHZpZGVvc1swXTsKKyAgICAgICAgICAgIHZp
ZGVvMiA9IHZpZGVvc1sxXTsKKyAgICAgICAgICAgIHJ1bignY29udHJvbGxlciA9IHZpZGVvLmNv
bnRyb2xsZXInKTsKKyAgICAgICAgICAgIGNvbnRyb2xsZXIuYWRkRXZlbnRMaXN0ZW5lcignY2Fu
cGxheXRocm91Z2gnLCBjYW5wbGF5dGhyb3VnaCwgdHJ1ZSk7CisgICAgICAgICAgICB2YXIgc3Jj
ID0gZmluZE1lZGlhRmlsZSgndmlkZW8nLCAnY29udGVudC90ZXN0Jyk7CisgICAgICAgICAgICB2
aWRlby5zcmMgPSBzcmM7CisgICAgICAgICAgICB2aWRlbzIuc3JjID0gc3JjOworICAgICAgICB9
CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3VnaCgpIHsKKyAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQoY2FucGxheXRocm91Z2gpIik7CisgICAgICAgICAgICBj
b250cm9sbGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NhbnBsYXl0aHJvdWdoJywgY2FucGxheXRo
cm91Z2gsIHRydWUpOworICAgICAgICAgICAgY29udHJvbGxlci5hZGRFdmVudExpc3RlbmVyKCdw
YXVzZScsIHBhdXNlLCB0cnVlKTsKKyAgICAgICAgICAgIHJ1bignY29udHJvbGxlci5wYXVzZSgp
Jyk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBwYXVzZSgpIHsKKyAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiRVZFTlQocGF1c2UpIik7CisgICAgICAgICAgICBjb250cm9sbGVyLnJl
bW92ZUV2ZW50TGlzdGVuZXIoJ3BhdXNlJywgcGF1c2UsIHRydWUpOworICAgICAgICAgICAgY29u
dHJvbGxlci5hZGRFdmVudExpc3RlbmVyKCdwbGF5JywgcGxheSwgdHJ1ZSk7CisgICAgICAgICAg
ICBydW4oJ2NvbnRyb2xsZXIudW5wYXVzZSgpJyk7CisgICAgICAgIH0KKworICAgICAgICBmdW5j
dGlvbiBwbGF5KCkgeworICAgICAgICAgICAgY29uc29sZVdyaXRlKCdFVkVOVChwbGF5KScpOwor
ICAgICAgICAgICAgY29udHJvbGxlci5yZW1vdmVFdmVudExpc3RlbmVyKCdwbGF5JywgcGxheSwg
dHJ1ZSk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2NvbnRyb2xsZXIucGxheWJhY2tTdGF0
ZScsICd3YWl0aW5nJyk7CisgICAgICAgICAgICBjb250cm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIo
J3BsYXlpbmcnLCBwbGF5aW5nLCB0cnVlKTsKKyAgICAgICAgICAgIHJ1bignY29udHJvbGxlci5w
bGF5KCknKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gcGxheWluZygp
IHsgCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkVWRU5UKHBsYXlpbmcpIik7CisgICAgICAg
ICAgICBjb250cm9sbGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBwbGF5aW5nLCB0
cnVlKTsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfQorICAgICAgICA8L3Njcmlw
dD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJzdGFydCgpIj4KKyAgICAgICAgPHZp
ZGVvIG1lZGlhR3JvdXA9Imdyb3VwIiBjb250cm9scz48L3ZpZGVvPgorICAgICAgICA8dmlkZW8g
bWVkaWFHcm91cD0iZ3JvdXAiIGNvbnRyb2xzPjwvdmlkZW8+CisgICAgPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176993</attachid>
            <date>2012-11-30 10:39:48 -0800</date>
            <delta_ts>2012-11-30 12:00:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103751-20121130103720.patch</filename>
            <type>text/plain</type>
            <size>9818</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MDE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM4MDNlNDVkZTJkZWJj
OWRmNjY3ZWU5MTkyZDYxMDlkYWJlMzdiZS4uZTU0OTkzY2M3MDBkNDRmZGRjMmVlOTIyMjZjZjg5
N2IzMmFmZmJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTMwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciB0
aGUgJ3VucGF1c2UoKScgbWV0aG9kIG9uIE1lZGlhQ29udHJvbGxlci4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzc1MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBNZWRpYUNvbnRyb2xsZXIgc3Bl
YyBoYXMgYmVlbiB1cGRhdGVkIHRvIGFkZCBhbiB1bnBhdXNlKCkgbWV0aG9kCisgICAgICAgIHdo
aWNoIGlzIGZ1bmN0aW9uYWxseSBpZGVudGljYWwgdG8gdGhlIG9sZCBwbGF5KCkgbWV0aG9kLCBh
bmQgY2hhbmdlcworICAgICAgICB0aGUgc2VtYW50aWNzIG9mIHBsYXkoKSB0byBjYWxsIHBsYXko
KSBvbiB0aGUgdW5kZXJseWluZyBzbGF2ZWQgbWVkaWEKKyAgICAgICAgZWxlbWVudHMuIFRoZSBz
cGVjIGFsc28gYWRkZWQgYSBwbGF5YmFja1N0YXRlKCkgbWV0aG9kLCByZXR1cm5pbmcgYQorICAg
ICAgICBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBsYXN0IGNhbGN1bGF0ZWQgcGxheWJhY2sgc3Rh
dGUuCisKKyAgICAgICAgVGVzdDogbWVkaWEvbWVkaWEtY29udHJvbGxlci11bnBhdXNlLmh0bWwK
KworICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29u
dHJvbGxlcjo6dW5wYXVzZSk6IFJlbmFtZWQgZnJvbSBwbGF5KCkuCisgICAgICAgIChNZWRpYUNv
bnRyb2xsZXI6OnBsYXkpOiBBZGRlZC4gU2FtZSBhcyB1bnBhdXNlKCksIGJ1dCBhbHNvIGNhbGwK
KyAgICAgICAgICAgIHBsYXkoKSBvbiBzbGF2ZWQgbWVkaWEgZWxlbWVudHMuCisgICAgICAgIChN
ZWRpYUNvbnRyb2xsZXI6OnBsYXliYWNrU3RhdGUpOiBBZGRlZC4gUmV0dXJucyBzdHJpbmcgdmFs
dWUgb2YKKyAgICAgICAgICAgIG1fcGxheWJhY2tTdGF0ZS4KKyAgICAgICAgKiBodG1sL01lZGlh
Q29udHJvbGxlci5oOgorICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmlkbDoKKwogMjAx
Mi0xMS0yOCAgWmVubyBBbGJpc3NlciAgPHplbm9Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRd
W1dpbl0gRW5hYmxlIHVzYWdlIG9mIFFUV0VCS0lUX1BMVUdJTl9QQVRILgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCmluZGV4IDM5M2NhOGFkZWMzZmU0ZjNjODk2NzA2YzEy
MmU5NGE2YzM0NThlNmIuLmQ4ODU0ZjFiMzUxMTY5MjJiYmY0NjBkOTE1N2Q0MzE4YjgzMTc5Y2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKQEAgLTE3OCw5ICsxNzgs
OSBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2V0Q3VycmVudFRpbWUoZmxvYXQgdGltZSwgRXhj
ZXB0aW9uQ29kZSYgY29kZSkKICAgICBzY2hlZHVsZVRpbWV1cGRhdGVFdmVudCgpOwogfQogCi12
b2lkIE1lZGlhQ29udHJvbGxlcjo6cGxheSgpCit2b2lkIE1lZGlhQ29udHJvbGxlcjo6dW5wYXVz
ZSgpCiB7Ci0gICAgLy8gV2hlbiB0aGUgcGxheSgpIG1ldGhvZCBpcyBpbnZva2VkLCBpZiB0aGUg
TWVkaWFDb250cm9sbGVyIGlzIGEgcGF1c2VkIG1lZGlhIGNvbnRyb2xsZXIsCisgICAgLy8gV2hl
biB0aGUgdW5wYXVzZSgpIG1ldGhvZCBpcyBpbnZva2VkLCBpZiB0aGUgTWVkaWFDb250cm9sbGVy
IGlzIGEgcGF1c2VkIG1lZGlhIGNvbnRyb2xsZXIsCiAgICAgaWYgKCFtX3BhdXNlZCkKICAgICAg
ICAgcmV0dXJuOwogCkBAIC0xOTIsNiArMTkyLDE3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVyOjpw
bGF5KCkKICAgICByZXBvcnRDb250cm9sbGVyU3RhdGUoKTsKIH0KIAordm9pZCBNZWRpYUNvbnRy
b2xsZXI6OnBsYXkoKQoreworICAgIC8vIFdoZW4gdGhlIHBsYXkoKSBtZXRob2QgaXMgaW52b2tl
ZCwgdGhlIHVzZXIgYWdlbnQgbXVzdCBpbnZva2UgdGhlIHBsYXkgbWV0aG9kIG9mIGVhY2gKKyAg
ICAvLyBzbGF2ZWQgbWVkaWEgZWxlbWVudCBpbiB0dXJuLAorICAgIGZvciAoc2l6ZV90IGluZGV4
ID0gMDsgaW5kZXggPCBtX21lZGlhRWxlbWVudHMuc2l6ZSgpOyArK2luZGV4KQorICAgICAgICBt
X21lZGlhRWxlbWVudHNbaW5kZXhdLT5wbGF5KCk7CisKKyAgICAvLyBhbmQgdGhlbiBpbnZva2Ug
dGhlIHVucGF1c2UgbWV0aG9kIG9mIHRoZSBNZWRpYUNvbnRyb2xsZXIuCisgICAgdW5wYXVzZSgp
OworfQorCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6cGF1c2UoKQogewogICAgIC8vIFdoZW4gdGhl
IHBhdXNlKCkgbWV0aG9kIGlzIGludm9rZWQsIGlmIHRoZSBNZWRpYUNvbnRyb2xsZXIgaXMgYSBw
bGF5aW5nIG1lZGlhIGNvbnRyb2xsZXIsCkBAIC0yNzksNiArMjkwLDIxIEBAIHZvaWQgTWVkaWFD
b250cm9sbGVyOjpzZXRNdXRlZChib29sIGZsYWcpCiAgICAgICAgIG1fbWVkaWFFbGVtZW50c1tp
bmRleF0tPnVwZGF0ZVZvbHVtZSgpOwogfQogCitTdHJpbmcgTWVkaWFDb250cm9sbGVyOjpwbGF5
YmFja1N0YXRlKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1fcGxheWJhY2tTdGF0ZSkgeworICAg
IGNhc2UgV0FJVElORzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgid2FpdGluZyIpOwor
ICAgIGNhc2UgUExBWUlORzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgicGxheWluZyIp
OworICAgIGNhc2UgRU5ERUQ6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoImVuZGVkIik7
CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKKyAgICB9Cit9CisKIHZvaWQgTWVkaWFDb250cm9sbGVyOjpyZXBvcnRD
b250cm9sbGVyU3RhdGUoKQogewogICAgIHVwZGF0ZVJlYWR5U3RhdGUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhQ29udHJvbGxlci5oCmluZGV4IGQyOTNjY2IxZGYxMjNiZTc0ZjRiYTg5ZDgzNzc0
YjQ5ZGNiYzMxNTEuLjQzZmM0NjI1YmU2M2FjMzAwZGJiMjQxYzhhNDA3ZGUwZjFmMThhYzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaApAQCAtNjcsNiArNjcsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIHBhdXNlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcGF1c2VkOyB9
CiAgICAgdmlydHVhbCB2b2lkIHBsYXkoKTsKICAgICB2aXJ0dWFsIHZvaWQgcGF1c2UoKTsKKyAg
ICB2b2lkIHVucGF1c2UoKTsKICAgICAKICAgICB2aXJ0dWFsIGZsb2F0IGRlZmF1bHRQbGF5YmFj
a1JhdGUoKSBjb25zdCB7IHJldHVybiBtX2RlZmF1bHRQbGF5YmFja1JhdGU7IH0KICAgICB2aXJ0
dWFsIHZvaWQgc2V0RGVmYXVsdFBsYXliYWNrUmF0ZShmbG9hdCk7CkBAIC04Myw3ICs4NCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fcmVhZHlTdGF0ZTsgfQogCiAgICAgZW51bSBQbGF5YmFja1N0YXRlIHsgV0FJVElORywg
UExBWUlORywgRU5ERUQgfTsKLSAgICB2aXJ0dWFsIFBsYXliYWNrU3RhdGUgcGxheWJhY2tTdGF0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWJhY2tTdGF0ZTsgfQorICAgIFN0cmluZyBwbGF5YmFj
a1N0YXRlKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGdWxsc2NyZWVuKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNGdWxsc2NyZWVuKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVy
LmlkbAppbmRleCAzMTQ0M2ExZGIzMjUwZjgxMmMzODBiMGRkNzI5OTE0N2FmM2IwZjEzLi44YTBj
OTZmYzU1YzUzM2JmNjFkMDE3NzAwMzk3NjkyNWY1OGU0MTNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUNvbnRyb2xsZXIuaWRsCkBAIC0zOSw4ICszOSwxMCBAQAogCiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGJvb2xlYW4gcGF1c2VkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUaW1lUmFu
Z2VzIHBsYXllZDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBsYXliYWNrU3Rh
dGU7CiAgICAgdm9pZCBwbGF5KCk7CiAgICAgdm9pZCBwYXVzZSgpOworICAgIHZvaWQgdW5wYXVz
ZSgpOwogCiAgICAgYXR0cmlidXRlIGRvdWJsZSBkZWZhdWx0UGxheWJhY2tSYXRlOwogICAgIGF0
dHJpYnV0ZSBkb3VibGUgcGxheWJhY2tSYXRlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAxNzQwZjc0NjdhY2U1MGY1YmYz
NGZkYjczMWZjODNiZTMxZTc1NTkuLmZjYzQ3N2IzYTFlMDFjM2IwYmI5YTBhNzk5NDc4YThjZDNm
YWFhMTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMS0zMCAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlICd1bnBhdXNl
KCknIG1ldGhvZCBvbiBNZWRpYUNvbnRyb2xsZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM3NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbmV3IHRlc3QgZm9yIHVucGF1c2UoKSBhbmQgcGxh
eWJhY2tTdGF0ZSgpIG1ldGhvZHMuCisKKyAgICAgICAgKiBtZWRpYS9tZWRpYS1jb250cm9sbGVy
LXVucGF1c2UuaHRtbDoKKyAgICAgICAgKiBtZWRpYS9tZWRpYS1jb250cm9sbGVyLXVucGF1c2Ut
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL21lZGlhLWNvbnRyb2xsZXItcGxheWJhY2su
aHRtbDoKKyAgICAgICAgKiBtZWRpYS9tZWRpYS1jb250cm9sbGVyLXBsYXliYWNrLWV4cGVjdGVk
LnR4dDoKKwogMjAxMi0xMS0yOCAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBBbGxvdyBwbHVnaW5zIHRvIG9wdC1pbiB0
byByZWNlaXZlIHN5bnRoZXRpYyBtb3VzZSBldmVudHMgb3V0IG9mIHRvdWNoIGV2ZW50cy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNvbnRyb2xsZXItcGxheWJhY2stZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci1wbGF5YmFjay1l
eHBlY3RlZC50eHQKaW5kZXggMDgzZjIyZjBhNWQxY2JlZGM0NThiMjFiM2JiZDlmMzQ0YWFkOWEz
NC4uNjg4NWUyM2QwMjYxZmExOWE5NmVlOTY0ZjFkYTBiMzRkNDQzNmI2ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci1wbGF5YmFjay1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci1wbGF5YmFjay1leHBlY3Rl
ZC50eHQKQEAgLTEsOCArMSw2IEBACiAgCiBSVU4oY29udHJvbGxlciA9IHZpZGVvLmNvbnRyb2xs
ZXIpCiBFVkVOVChjYW5wbGF5dGhyb3VnaCkKLVJVTih2aWRlby5wbGF5KCkpCi1SVU4odmlkZW8y
LnBsYXkoKSkKIFJVTihjb250cm9sbGVyLnBsYXkoKSkKIEVWRU5UKHBsYXlpbmcpCiBFWFBFQ1RF
RCAoY29udHJvbGxlci5wYXVzZWQgPT0gJ2ZhbHNlJykgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21lZGlhL21lZGlhLWNvbnRyb2xsZXItcGxheWJhY2suaHRtbCBiL0xheW91dFRlc3RzL21l
ZGlhL21lZGlhLWNvbnRyb2xsZXItcGxheWJhY2suaHRtbAppbmRleCBlNDZiM2E5NTk0MjJmYjdh
NGFhODIzOWM4ZjE0NTE2NWI0MTg1MDRiLi4xMGRiMGE3MWU1Nzk5YzY4ZjUzOWNiYTlhZWEyZGRj
ODJmMWE4MTk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9sbGVy
LXBsYXliYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci1w
bGF5YmFjay5odG1sCkBAIC0yMiw4ICsyMiw2IEBACiAgICAgICAgIGZ1bmN0aW9uIGNhbnBsYXl0
aHJvdWdoKCkgewogICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVChjYW5wbGF5dGhyb3Vn
aCkiKTsKICAgICAgICAgICAgIGNvbnRyb2xsZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2FucGxh
eXRocm91Z2gnLCBjYW5wbGF5dGhyb3VnaCwgdHJ1ZSk7Ci0gICAgICAgICAgICBydW4oJ3ZpZGVv
LnBsYXkoKScpOwotICAgICAgICAgICAgcnVuKCd2aWRlbzIucGxheSgpJyk7CiAgICAgICAgICAg
ICBjb250cm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBwbGF5aW5nLCB0cnVlKTsK
ICAgICAgICAgICAgIHJ1bignY29udHJvbGxlci5wbGF5KCknKTsKICAgICAgICAgfQpAQCAtNDks
NCArNDcsNCBAQAogICAgICAgICA8dmlkZW8gbWVkaWFHcm91cD0iZ3JvdXAiIGNvbnRyb2xzPjwv
dmlkZW8+CiAgICAgICAgIDx2aWRlbyBtZWRpYUdyb3VwPSJncm91cCIgY29udHJvbHM+PC92aWRl
bz4KICAgICA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci11bnBh
dXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNvbnRyb2xsZXItdW5w
YXVzZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWI0MWU3YzhhYWZlMDAzMGQwNWI1YTExYmMy
ODkwZWJhYjcxYTdhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LWNvbnRyb2xsZXItdW5wYXVzZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorIAorUlVO
KGNvbnRyb2xsZXIgPSB2aWRlby5jb250cm9sbGVyKQorRVZFTlQoY2FucGxheXRocm91Z2gpCitS
VU4oY29udHJvbGxlci5wYXVzZSgpKQorRVZFTlQocGF1c2UpCitSVU4oY29udHJvbGxlci51bnBh
dXNlKCkpCitFVkVOVChwbGF5KQorRVhQRUNURUQgKGNvbnRyb2xsZXIucGxheWJhY2tTdGF0ZSA9
PSAnd2FpdGluZycpIE9LCitSVU4oY29udHJvbGxlci5wbGF5KCkpCitFVkVOVChwbGF5aW5nKQor
RU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJv
bGxlci11bnBhdXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLXVu
cGF1c2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWVlNDliOTBlMmIwNzg2ZjM0ZDBhMzUzZDhjMjljMzYz
NDUzY2VlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJv
bGxlci11bnBhdXNlLmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9bWVkaWEtZmlsZS5qcz48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKworICAgICAg
ICA8c2NyaXB0PgorICAgICAgICB2YXIgY29udHJvbGxlcjsKKyAgICAgICAgdmFyIHZpZGVvMjsK
KworICAgICAgICBmdW5jdGlvbiBzdGFydCgpIHsKKyAgICAgICAgICAgIHZhciB2aWRlb3MgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndmlkZW8nKTsKKyAgICAgICAgICAgIHZpZGVv
ID0gdmlkZW9zWzBdOworICAgICAgICAgICAgdmlkZW8yID0gdmlkZW9zWzFdOworICAgICAgICAg
ICAgcnVuKCdjb250cm9sbGVyID0gdmlkZW8uY29udHJvbGxlcicpOworICAgICAgICAgICAgY29u
dHJvbGxlci5hZGRFdmVudExpc3RlbmVyKCdjYW5wbGF5dGhyb3VnaCcsIGNhbnBsYXl0aHJvdWdo
LCB0cnVlKTsKKyAgICAgICAgICAgIHZhciBzcmMgPSBmaW5kTWVkaWFGaWxlKCd2aWRlbycsICdj
b250ZW50L3Rlc3QnKTsKKyAgICAgICAgICAgIHZpZGVvLnNyYyA9IHNyYzsKKyAgICAgICAgICAg
IHZpZGVvMi5zcmMgPSBzcmM7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBjYW5wbGF5
dGhyb3VnaCgpIHsKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQoY2FucGxheXRocm91
Z2gpIik7CisgICAgICAgICAgICBjb250cm9sbGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NhbnBs
YXl0aHJvdWdoJywgY2FucGxheXRocm91Z2gsIHRydWUpOworICAgICAgICAgICAgY29udHJvbGxl
ci5hZGRFdmVudExpc3RlbmVyKCdwYXVzZScsIHBhdXNlLCB0cnVlKTsKKyAgICAgICAgICAgIHJ1
bignY29udHJvbGxlci5wYXVzZSgpJyk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBw
YXVzZSgpIHsKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQocGF1c2UpIik7CisgICAg
ICAgICAgICBjb250cm9sbGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BhdXNlJywgcGF1c2UsIHRy
dWUpOworICAgICAgICAgICAgY29udHJvbGxlci5hZGRFdmVudExpc3RlbmVyKCdwbGF5JywgcGxh
eSwgdHJ1ZSk7CisgICAgICAgICAgICBydW4oJ2NvbnRyb2xsZXIudW5wYXVzZSgpJyk7CisgICAg
ICAgIH0KKworICAgICAgICBmdW5jdGlvbiBwbGF5KCkgeworICAgICAgICAgICAgY29uc29sZVdy
aXRlKCdFVkVOVChwbGF5KScpOworICAgICAgICAgICAgY29udHJvbGxlci5yZW1vdmVFdmVudExp
c3RlbmVyKCdwbGF5JywgcGxheSwgdHJ1ZSk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2Nv
bnRyb2xsZXIucGxheWJhY2tTdGF0ZScsICd3YWl0aW5nJyk7CisgICAgICAgICAgICBjb250cm9s
bGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCBwbGF5aW5nLCB0cnVlKTsKKyAgICAgICAg
ICAgIHJ1bignY29udHJvbGxlci5wbGF5KCknKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0
aW9uIHBsYXlpbmcoKSB7CisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkVWRU5UKHBsYXlpbmcp
Iik7CisgICAgICAgICAgICBjb250cm9sbGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcn
LCBwbGF5aW5nLCB0cnVlKTsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfQorICAg
ICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJzdGFydCgpIj4K
KyAgICAgICAgPHZpZGVvIG1lZGlhR3JvdXA9Imdyb3VwIiBjb250cm9scz48L3ZpZGVvPgorICAg
ICAgICA8dmlkZW8gbWVkaWFHcm91cD0iZ3JvdXAiIGNvbnRyb2xzPjwvdmlkZW8+CisgICAgPC9i
b2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="192954"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>