<?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>121990</bug_id>
          
          <creation_ts>2013-09-26 15:57:01 -0700</creation_ts>
          <short_desc>AX: Regression: media controls are no longer accessible</short_desc>
          <delta_ts>2013-11-04 18:24:39 -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>Accessibility</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>120895</dependson>
          <blocked>123749</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>933759</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-09-26 15:57:01 -0700</bug_when>
    <thetext>Media controls are currently explicitly localized by AccessibilityMediaControls.  Now that they are standard DOM objects, use ARIA roles to make the controls accessible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944833</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-10-30 02:44:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/15349899&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945448</commentid>
    <comment_count>2</comment_count>
      <attachid>215629</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2013-10-31 01:36:51 -0700</bug_when>
    <thetext>Created attachment 215629
partail patch (still needs loc)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945573</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-10-31 10:29:54 -0700</bug_when>
    <thetext>Looks good so far.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945658</commentid>
    <comment_count>4</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2013-10-31 13:28:39 -0700</bug_when>
    <thetext>Related to bug 120956 (Localization)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945822</commentid>
    <comment_count>5</comment_count>
      <attachid>215712</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2013-10-31 19:11:45 -0700</bug_when>
    <thetext>Created attachment 215712
partial patch (need to discuss loc approach)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945823</commentid>
    <comment_count>6</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2013-10-31 19:17:20 -0700</bug_when>
    <thetext>This is ready to go but doesn&apos;t yet fully address Loc. I added an accessor method for error avoidance, and brought all the string values into one spot, but they are still hardcoded in English.

Jer, do you still want to do Loc as part of bug 120956? If so, I&apos;ll update my Changelogs and resubmit this for review and commit queue. Otherwise, we should discuss the Loc approach. Is there already precedent for pulling localized strings into JS files like this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945902</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-11-01 08:32:03 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; This is ready to go but doesn&apos;t yet fully address Loc. I added an accessor method for error avoidance, and brought all the string values into one spot, but they are still hardcoded in English.
&gt; 
&gt; Jer, do you still want to do Loc as part of bug 120956?

Sure.

&gt; If so, I&apos;ll update my Changelogs and resubmit this for review and commit queue. Otherwise, we should discuss the Loc approach. Is there already precedent for pulling localized strings into JS files like this?

There is; the inspector has it&apos;s own localization technique, and we can either borrow it from them or come up with a common approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945925</commentid>
    <comment_count>8</comment_count>
      <attachid>215736</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2013-11-01 10:25:21 -0700</bug_when>
    <thetext>Created attachment 215736
patch for review/commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945963</commentid>
    <comment_count>9</comment_count>
      <attachid>215736</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-11-01 11:32:39 -0700</bug_when>
    <thetext>Comment on attachment 215736
patch for review/commit

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

Looks great.

&gt; Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:80
&gt; +    /* Localized strings */

We normally use // comments everywhere, not /* */ comments.

&gt; Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:81
&gt; +    loc: function(s){

Is this a standard name we use for this function elsewhere? Could we use a word rather than a little abbreviation? I understand that brevity is nice, but I at least find words easier to read.

&gt; Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:85
&gt; +            return s; // TODO: log something if string not localized.

We normally use FIXME for all things like this, never TODO.

&gt; Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:91
&gt; +        &apos;Display Fullscreen&apos;: &apos;Display Fullscreen&apos;,

We use two words for this in Apple user interface and marketing materials, “Full Screen”, not one word “Fullscreen”.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945981</commentid>
    <comment_count>10</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2013-11-01 12:38:04 -0700</bug_when>
    <thetext>(In reply to comment #9)

&gt; &gt; Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:81
&gt; &gt; +    loc: function(s){
&gt; 
&gt; Is this a standard name we use for this function elsewhere? Could we use a word rather than a little abbreviation? I understand that brevity is nice, but I at least find words easier to read.

WebInspector uses .UIString(&apos;foo&apos;). I&apos;ll use that for now, since Jer indicate he may borrow the localization pattern from there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945992</commentid>
    <comment_count>11</comment_count>
      <attachid>215752</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2013-11-01 13:20:12 -0700</bug_when>
    <thetext>Created attachment 215752
patch with review feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946009</commentid>
    <comment_count>12</comment_count>
      <attachid>215752</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-11-01 13:54:34 -0700</bug_when>
    <thetext>Comment on attachment 215752
patch with review feedback

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946030</commentid>
    <comment_count>13</comment_count>
      <attachid>215752</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-01 14:22:05 -0700</bug_when>
    <thetext>Comment on attachment 215752
patch with review feedback

Clearing flags on attachment: 215752

Committed r158455: &lt;http://trac.webkit.org/changeset/158455&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946031</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-01 14:22:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215629</attachid>
            <date>2013-10-31 01:36:51 -0700</date>
            <delta_ts>2013-10-31 19:11:45 -0700</delta_ts>
            <desc>partail patch (still needs loc)</desc>
            <filename>webkit121990_needs_loc.diff</filename>
            <type>text/plain</type>
            <size>8018</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9tZWRpYUNvbnRyb2xz
QXBwbGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRy
b2xzL21lZGlhQ29udHJvbHNBcHBsZS5qcwkocmV2aXNpb24gMTU4MzQ2KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL21lZGlhQ29udHJvbHNBcHBsZS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMjA0LDIwICsyMDQsMjQgQEAKIAogICAgICAgICB2YXIgcmV3aW5kQnV0dG9u
ID0gdGhpcy5jb250cm9scy5yZXdpbmRCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdi
dXR0b24nKTsKICAgICAgICAgcmV3aW5kQnV0dG9uLnNldEF0dHJpYnV0ZSgncHNldWRvJywgJy13
ZWJraXQtbWVkaWEtY29udHJvbHMtcmV3aW5kLWJ1dHRvbicpOworICAgICAgICByZXdpbmRCdXR0
b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgJ1Jld2luZCAzMCBTZWNvbmRzJyk7IC8vIHRv
ZG86IExvYwogICAgICAgICB0aGlzLmxpc3RlbkZvcihyZXdpbmRCdXR0b24sICdjbGljaycsIHRo
aXMuaGFuZGxlUmV3aW5kQnV0dG9uQ2xpY2tlZCk7CiAKICAgICAgICAgdmFyIHNlZWtCYWNrQnV0
dG9uID0gdGhpcy5jb250cm9scy5zZWVrQmFja0J1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2J1dHRvbicpOwogICAgICAgICBzZWVrQmFja0J1dHRvbi5zZXRBdHRyaWJ1dGUoJ3BzZXVk
bycsICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLXNlZWstYmFjay1idXR0b24nKTsKKyAgICAgICAg
c2Vla0JhY2tCdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgJ1Jld2luZCcpOyAvLyB0
b2RvOiBMb2MKICAgICAgICAgdGhpcy5saXN0ZW5Gb3Ioc2Vla0JhY2tCdXR0b24sICdtb3VzZWRv
d24nLCB0aGlzLmhhbmRsZVNlZWtCYWNrTW91c2VEb3duKTsKICAgICAgICAgdGhpcy5saXN0ZW5G
b3Ioc2Vla0JhY2tCdXR0b24sICdtb3VzZXVwJywgdGhpcy5oYW5kbGVTZWVrQmFja01vdXNlVXAp
OwogCiAgICAgICAgIHZhciBzZWVrRm9yd2FyZEJ1dHRvbiA9IHRoaXMuY29udHJvbHMuc2Vla0Zv
cndhcmRCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgICAgICAg
c2Vla0ZvcndhcmRCdXR0b24uc2V0QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdlYmtpdC1tZWRpYS1j
b250cm9scy1zZWVrLWZvcndhcmQtYnV0dG9uJyk7CisgICAgICAgIHNlZWtGb3J3YXJkQnV0dG9u
LnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsICdGYXN0IEZvcndhcmQnKTsgLy8gdG9kbzogTG9j
CiAgICAgICAgIHRoaXMubGlzdGVuRm9yKHNlZWtGb3J3YXJkQnV0dG9uLCAnbW91c2Vkb3duJywg
dGhpcy5oYW5kbGVTZWVrRm9yd2FyZE1vdXNlRG93bik7CiAgICAgICAgIHRoaXMubGlzdGVuRm9y
KHNlZWtGb3J3YXJkQnV0dG9uLCAnbW91c2V1cCcsIHRoaXMuaGFuZGxlU2Vla0ZvcndhcmRNb3Vz
ZVVwKTsKIAogICAgICAgICB2YXIgcGxheUJ1dHRvbiA9IHRoaXMuY29udHJvbHMucGxheUJ1dHRv
biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICBwbGF5QnV0dG9u
LnNldEF0dHJpYnV0ZSgncHNldWRvJywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtcGxheS1idXR0
b24nKTsKKyAgICAgICAgcGxheUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCAnUGxh
eScpOyAvLyB0b2RvOiBMb2MKICAgICAgICAgdGhpcy5saXN0ZW5Gb3IocGxheUJ1dHRvbiwgJ2Ns
aWNrJywgdGhpcy5oYW5kbGVQbGF5QnV0dG9uQ2xpY2tlZCk7CiAKICAgICAgICAgdmFyIHN0YXR1
c0Rpc3BsYXkgPSB0aGlzLmNvbnRyb2xzLnN0YXR1c0Rpc3BsYXkgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKQEAgLTIyOSw5ICsyMzMsMTIgQEAKIAogICAgICAgICB2YXIgY3VycmVu
dFRpbWUgPSB0aGlzLmNvbnRyb2xzLmN1cnJlbnRUaW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CiAgICAgICAgIGN1cnJlbnRUaW1lLnNldEF0dHJpYnV0ZSgncHNldWRvJywgJy13
ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXknKTsKKyAgICAgICAgY3Vy
cmVudFRpbWUuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgJ1RpbWUgRWxhcHNlZCcpOyAvLyB0
b2RvOiBMb2MKKyAgICAgICAgY3VycmVudFRpbWUuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3RpbWVy
Jyk7CiAKICAgICAgICAgdmFyIHRpbWVsaW5lID0gdGhpcy5jb250cm9scy50aW1lbGluZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CiAgICAgICAgIHRpbWVsaW5lLnNldEF0dHJp
YnV0ZSgncHNldWRvJywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUnKTsKKyAgICAg
ICAgdGltZWxpbmUuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgJ0R1cmF0aW9uJyk7IC8vIHRv
ZG86IExvYwogICAgICAgICB0aW1lbGluZS50eXBlID0gJ3JhbmdlJzsKICAgICAgICAgdGhpcy5s
aXN0ZW5Gb3IodGltZWxpbmUsICdjaGFuZ2UnLCB0aGlzLmhhbmRsZVRpbWVsaW5lQ2hhbmdlKTsK
ICAgICAgICAgdGhpcy5saXN0ZW5Gb3IodGltZWxpbmUsICdtb3VzZW92ZXInLCB0aGlzLmhhbmRs
ZVRpbWVsaW5lTW91c2VPdmVyKTsKQEAgLTI1MCwyMCArMjU3LDI3IEBACiAKICAgICAgICAgdmFy
IHJlbWFpbmluZ1RpbWUgPSB0aGlzLmNvbnRyb2xzLnJlbWFpbmluZ1RpbWUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICAgcmVtYWluaW5nVGltZS5zZXRBdHRyaWJ1dGUo
J3BzZXVkbycsICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWUtcmVtYWluaW5nLWRpc3BsYXkn
KTsKKyAgICAgICAgcmVtYWluaW5nVGltZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCAnVGlt
ZSBSZW1haW5pbmcnKTsgLy8gdG9kbzogTG9jCisgICAgICAgIHJlbWFpbmluZ1RpbWUuc2V0QXR0
cmlidXRlKCdyb2xlJywgJ3RpbWVyJyk7CiAKICAgICAgICAgdmFyIG11dGVCb3ggPSB0aGlzLmNv
bnRyb2xzLm11dGVCb3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICAg
bXV0ZUJveC5jbGFzc0xpc3QuYWRkKHRoaXMuQ2xhc3NOYW1lcy5tdXRlQm94KTsKIAogICAgICAg
ICB2YXIgbXV0ZUJ1dHRvbiA9IHRoaXMuY29udHJvbHMubXV0ZUJ1dHRvbiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICBtdXRlQnV0dG9uLnNldEF0dHJpYnV0ZSgn
cHNldWRvJywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtbXV0ZS1idXR0b24nKTsKKyAgICAgICAg
bXV0ZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCAnTXV0ZScpOyAvLyB0b2RvOiBM
b2MKKyAgICAgICAgbXV0ZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnY2hlY2tib3gnKTsK
KyAgICAgICAgbXV0ZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcsICdmYWxzZScp
OwogICAgICAgICB0aGlzLmxpc3RlbkZvcihtdXRlQnV0dG9uLCAnY2xpY2snLCB0aGlzLmhhbmRs
ZU11dGVCdXR0b25DbGlja2VkKTsKIAogICAgICAgICB2YXIgbWluQnV0dG9uID0gdGhpcy5jb250
cm9scy5taW5CdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgICAg
ICAgbWluQnV0dG9uLnNldEF0dHJpYnV0ZSgncHNldWRvJywgJy13ZWJraXQtbWVkaWEtY29udHJv
bHMtdm9sdW1lLW1pbi1idXR0b24nKTsKKyAgICAgICAgbWluQnV0dG9uLnNldEF0dHJpYnV0ZSgn
YXJpYS1sYWJlbCcsICdNaW5pbXVtIFZvbHVtZScpOyAvLyB0b2RvOiBMb2MKICAgICAgICAgdGhp
cy5saXN0ZW5Gb3IobWluQnV0dG9uLCAnY2xpY2snLCB0aGlzLmhhbmRsZU1pbkJ1dHRvbkNsaWNr
ZWQpOwogCiAgICAgICAgIHZhciBtYXhCdXR0b24gPSB0aGlzLmNvbnRyb2xzLm1heEJ1dHRvbiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICBtYXhCdXR0b24uc2V0
QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdlYmtpdC1tZWRpYS1jb250cm9scy12b2x1bWUtbWF4LWJ1
dHRvbicpOworICAgICAgICBtYXhCdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgJ01h
eGltdW0gVm9sdW1lJyk7IC8vIHRvZG86IExvYwogICAgICAgICB0aGlzLmxpc3RlbkZvcihtYXhC
dXR0b24sICdjbGljaycsIHRoaXMuaGFuZGxlTWF4QnV0dG9uQ2xpY2tlZCk7CiAKICAgICAgICAg
dmFyIHZvbHVtZUJveCA9IHRoaXMuY29udHJvbHMudm9sdW1lQm94ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CkBAIC0yNzEsNiArMjg1LDcgQEAKIAogICAgICAgICB2YXIgdm9sdW1l
ID0gdGhpcy5jb250cm9scy52b2x1bWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcp
OwogICAgICAgICB2b2x1bWUuc2V0QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdlYmtpdC1tZWRpYS1j
b250cm9scy12b2x1bWUtc2xpZGVyJyk7CisgICAgICAgIHZvbHVtZS5zZXRBdHRyaWJ1dGUoJ2Fy
aWEtbGFiZWwnLCAnVm9sdW1lJyk7IC8vIHRvZG86IExvYwogICAgICAgICB2b2x1bWUudHlwZSA9
ICdyYW5nZSc7CiAgICAgICAgIHZvbHVtZS5taW4gPSAwOwogICAgICAgICB2b2x1bWUubWF4ID0g
MTsKQEAgLTI3OSwxMCArMjk0LDE2IEBACiAKICAgICAgICAgdmFyIGNhcHRpb25CdXR0b24gPSB0
aGlzLmNvbnRyb2xzLmNhcHRpb25CdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0
b24nKTsKICAgICAgICAgY2FwdGlvbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICctd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLXRvZ2dsZS1jbG9zZWQtY2FwdGlvbnMtYnV0dG9uJyk7CisgICAg
ICAgIGNhcHRpb25CdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgJ1Nob3cgQ2FwdGlv
bnMnKTsgLy8gdG9kbzogTG9jCisgICAgICAgIGNhcHRpb25CdXR0b24uc2V0QXR0cmlidXRlKCdy
b2xlJywgJ2NoZWNrYm94Jyk7CisgICAgICAgIGNhcHRpb25CdXR0b24uc2V0QXR0cmlidXRlKCdh
cmlhLWNoZWNrZWQnLCAnZmFsc2UnKTsKICAgICAgICAgdGhpcy5saXN0ZW5Gb3IoY2FwdGlvbkJ1
dHRvbiwgJ2NsaWNrJywgdGhpcy5oYW5kbGVDYXB0aW9uQnV0dG9uQ2xpY2tlZCk7CiAKICAgICAg
ICAgdmFyIGZ1bGxzY3JlZW5CdXR0b24gPSB0aGlzLmNvbnRyb2xzLmZ1bGxzY3JlZW5CdXR0b24g
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgICAgICAgZnVsbHNjcmVlbkJ1
dHRvbi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLWZ1bGxz
Y3JlZW4tYnV0dG9uJyk7CisgICAgICAgIGZ1bGxzY3JlZW5CdXR0b24uc2V0QXR0cmlidXRlKCdh
cmlhLWxhYmVsJywgJ0Rpc3BsYXkgZnVsbHNjcmVlbicpOyAvLyB0b2RvOiBMb2MKKyAgICAgICAg
ZnVsbHNjcmVlbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnY2hlY2tib3gnKTsKKyAgICAg
ICAgZnVsbHNjcmVlbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcsICdmYWxzZScp
OwogICAgICAgICB0aGlzLmxpc3RlbkZvcihmdWxsc2NyZWVuQnV0dG9uLCAnY2xpY2snLCB0aGlz
LmhhbmRsZUZ1bGxzY3JlZW5CdXR0b25DbGlja2VkKTsKICAgICB9LAogCkBAIC00NjksOSArNDkw
LDExIEBACiAKICAgICAgICAgaWYgKHRoaXMuaXNGdWxsU2NyZWVuKCkpIHsKICAgICAgICAgICAg
IHRoaXMuY29udHJvbHMuZnVsbHNjcmVlbkJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuQ2xhc3NO
YW1lcy5leGl0KTsKKyAgICAgICAgICAgIHRoaXMuY29udHJvbHMuZnVsbHNjcmVlbkJ1dHRvbi5z
ZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcsICd0cnVlJyk7CiAgICAgICAgICAgICB0aGlzLnNl
dENvbnRyb2xzVHlwZShDb250cm9sbGVyLkZ1bGxTY3JlZW5Db250cm9scyk7CiAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLmZ1bGxzY3JlZW5CdXR0b24uY2xhc3NM
aXN0LnJlbW92ZSh0aGlzLkNsYXNzTmFtZXMuZXhpdCk7CisgICAgICAgICAgICB0aGlzLmNvbnRy
b2xzLmZ1bGxzY3JlZW5CdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAnZmFsc2Un
KTsKICAgICAgICAgICAgIHRoaXMuc2V0Q29udHJvbHNUeXBlKENvbnRyb2xsZXIuSW5saW5lQ29u
dHJvbHMpOwogICAgICAgICB9CiAgICAgfSwKQEAgLTYxNSwyNiArNjM4LDM0IEBACiAgICAgaGFu
ZGxlTXV0ZUJ1dHRvbkNsaWNrZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhp
cy52aWRlby5tdXRlZCA9ICF0aGlzLnZpZGVvLm11dGVkOworICAgICAgICBpZiAodGhpcy52aWRl
by5tdXRlZCkKKyAgICAgICAgICAgIHRoaXMuY29udHJvbHMubXV0ZUJ1dHRvbi5zZXRBdHRyaWJ1
dGUoJ2FyaWEtY2hlY2tlZCcsICd0cnVlJyk7CiAgICAgfSwKIAogICAgIGhhbmRsZU1pbkJ1dHRv
bkNsaWNrZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMudmlkZW8u
bXV0ZWQpCisgICAgICAgIGlmICh0aGlzLnZpZGVvLm11dGVkKSB7CiAgICAgICAgICAgICB0aGlz
LnZpZGVvLm11dGVkID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLm11dGVCdXR0
b24uc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAnZmFsc2UnKTsKKyAgICAgICAgfQogICAg
ICAgICB0aGlzLnZpZGVvLnZvbHVtZSA9IDA7CiAgICAgfSwKIAogICAgIGhhbmRsZU1heEJ1dHRv
bkNsaWNrZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMudmlkZW8u
bXV0ZWQpCisgICAgICAgIGlmICh0aGlzLnZpZGVvLm11dGVkKSB7CiAgICAgICAgICAgICB0aGlz
LnZpZGVvLm11dGVkID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLm11dGVCdXR0
b24uc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAnZmFsc2UnKTsKKyAgICAgICAgfQogICAg
ICAgICB0aGlzLnZpZGVvLnZvbHVtZSA9IDE7CiAgICAgfSwKIAogICAgIGhhbmRsZVZvbHVtZVNs
aWRlckNoYW5nZTogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICBpZiAodGhpcy52aWRl
by5tdXRlZCkKKyAgICAgICAgaWYgKHRoaXMudmlkZW8ubXV0ZWQpIHsKICAgICAgICAgICAgIHRo
aXMudmlkZW8ubXV0ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHRoaXMuY29udHJvbHMubXV0ZUJ1
dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcsICdmYWxzZScpOworICAgICAgICB9CiAg
ICAgICAgIHRoaXMudmlkZW8udm9sdW1lID0gdGhpcy5jb250cm9scy52b2x1bWUudmFsdWU7CiAg
ICAgfSwKIApAQCAtNzQzLDkgKzc3NCwxMSBAQAogICAgICAgICBpZiAodGhpcy5jYW5QbGF5KCkp
IHsKICAgICAgICAgICAgIHRoaXMuY29udHJvbHMucGFuZWwuY2xhc3NMaXN0LmFkZCh0aGlzLkNs
YXNzTmFtZXMucGF1c2VkKTsKICAgICAgICAgICAgIHRoaXMuY29udHJvbHMucGxheUJ1dHRvbi5j
bGFzc0xpc3QuYWRkKHRoaXMuQ2xhc3NOYW1lcy5wYXVzZWQpOworICAgICAgICAgICAgdGhpcy5j
b250cm9scy5wbGF5QnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsICdQbGF5Jyk7IC8v
IHRvZG86IExvYwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgdGhpcy5jb250cm9scy5w
YW5lbC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuQ2xhc3NOYW1lcy5wYXVzZWQpOwogICAgICAgICAg
ICAgdGhpcy5jb250cm9scy5wbGF5QnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5DbGFzc05h
bWVzLnBhdXNlZCk7CisgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLnBsYXlCdXR0b24uc2V0QXR0
cmlidXRlKCdhcmlhLWxhYmVsJywgJ1BhdXNlJyk7IC8vIHRvZG86IExvYwogCiAgICAgICAgICAg
ICB0aGlzLmNvbnRyb2xzLnBhbmVsLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5DbGFzc05hbWVzLnNo
b3cpOwogICAgICAgICAgICAgaWYgKHRoaXMuaGlkZVRpbWVyKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215712</attachid>
            <date>2013-10-31 19:11:45 -0700</date>
            <delta_ts>2013-11-01 10:25:21 -0700</delta_ts>
            <desc>partial patch (need to discuss loc approach)</desc>
            <filename>webkit121990_needs_loc.diff</filename>
            <type>text/plain</type>
            <size>15729</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lv
biAxNTgzNDYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwko
d29ya2luZyBjb3B5KQpAQCAtMTIxMCw3ICsxMjEwLDYgQEAKIAogd2Via2l0Lm9yZy9iLzExNDE5
MyB0cmFuc2l0aW9ucy9jYW5jZWwtdHJhbnNpdGlvbi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAot
d2Via2l0Lm9yZy9iLzEyMTk5MCBhY2Nlc3NpYmlsaXR5L21lZGlhLWVsZW1lbnQuaHRtbCBbIEZh
aWx1cmUgXQogd2Via2l0Lm9yZy9iLzEyMTk5MiBtZWRpYS9tZWRpYS12b2x1bWUtc2xpZGVyLXJl
bmRlcmVkLWJlbG93Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMjE5OTIgbWVkaWEv
bWVkaWEtdm9sdW1lLXNsaWRlci1yZW5kZXJlZC1ub3JtYWwuaHRtbCBbIFRpbWVvdXQgRmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvMTIxOTk1IG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRy
YWNrbWVudS1oaWRlLW9uLWNsaWNrLW91dHNpZGUuaHRtbCBbIFRpbWVvdXQgRmFpbHVyZSBdCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNj
ZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTU4MzQ2KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvbWVkaWEtZWxlbWVudC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsNTkgKzQsNjIgQEAKIAogU3RhdGUgYXQg
J2NhbnBsYXl0aHJvdWdoJyBldmVudDoKIAotICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9u
OiB2aWRlbyBwbGF5YmFjawotICAgIHJvbGU6IEFYUm9sZTogQVhUb29sYmFyCisgICAgZGVzY3Jp
cHRpb246IEFYRGVzY3JpcHRpb246IAorICAgIHJvbGU6IEFYUm9sZTogQVhHcm91cAogCiAKLSAg
ICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IGJhY2sgMzAgc2Vjb25kcwotICAgICAg
ICByb2xlOiBBWFJvbGU6IEFYQnV0dG9uCisgICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0
aW9uOiBWaWRlbyBQbGF5YmFjayBDb250cm9scworICAgICAgICByb2xlOiBBWFJvbGU6IEFYVG9v
bGJhcgogCiAKLSAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IHBsYXkKLSAgICAg
ICAgcm9sZTogQVhSb2xlOiBBWEJ1dHRvbgorICAgICAgICAgICAgZGVzY3JpcHRpb246IEFYRGVz
Y3JpcHRpb246IFJld2luZCAzMCBTZWNvbmRzCisgICAgICAgICAgICByb2xlOiBBWFJvbGU6IEFY
QnV0dG9uCiAKIAotICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogZWxhcHNlZCB0
aW1lCi0gICAgICAgIHJvbGU6IEFYUm9sZTogQVhHcm91cAotICAgICAgICBzdWJyb2xlOiBBWFN1
YnJvbGU6IEFYQXBwbGljYXRpb25UaW1lcgorICAgICAgICAgICAgZGVzY3JpcHRpb246IEFYRGVz
Y3JpcHRpb246IFBsYXkKKyAgICAgICAgICAgIHJvbGU6IEFYUm9sZTogQVhCdXR0b24KIAogCi0g
ICAgICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogCisgICAgICAgICAgICBkZXNj
cmlwdGlvbjogQVhEZXNjcmlwdGlvbjogRWxhcHNlZAogICAgICAgICAgICAgcm9sZTogQVhSb2xl
OiBBWEdyb3VwCisgICAgICAgICAgICBzdWJyb2xlOiBBWFN1YnJvbGU6IEFYQXBwbGljYXRpb25U
aW1lcgogCiAKICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogCi0g
ICAgICAgICAgICAgICAgcm9sZTogQVhSb2xlOiBBWFN0YXRpY1RleHQKKyAgICAgICAgICAgICAg
ICByb2xlOiBBWFJvbGU6IEFYR3JvdXAKIAogCi0gICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2Ny
aXB0aW9uOiAKLSAgICAgICAgcm9sZTogQVhSb2xlOiBBWFNsaWRlcgotICAgICAgICBzdWJyb2xl
OiBBWFN1YnJvbGU6IEFYVGltZWxpbmUKKyAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246
IEFYRGVzY3JpcHRpb246IAorICAgICAgICAgICAgICAgICAgICByb2xlOiBBWFJvbGU6IEFYU3Rh
dGljVGV4dAogCiAKLSAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiAKLSAg
ICAgICAgICAgIHJvbGU6IEFYUm9sZTogQVhWYWx1ZUluZGljYXRvcgorICAgICAgICAgICAgZGVz
Y3JpcHRpb246IEFYRGVzY3JpcHRpb246IER1cmF0aW9uCisgICAgICAgICAgICByb2xlOiBBWFJv
bGU6IEFYU2xpZGVyCiAKIAotICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogcmVt
YWluaW5nIHRpbWUKLSAgICAgICAgcm9sZTogQVhSb2xlOiBBWEdyb3VwCi0gICAgICAgIHN1YnJv
bGU6IEFYU3Vicm9sZTogQVhBcHBsaWNhdGlvblRpbWVyCisgICAgICAgICAgICAgICAgZGVzY3Jp
cHRpb246IEFYRGVzY3JpcHRpb246IAorICAgICAgICAgICAgICAgIHJvbGU6IEFYUm9sZTogQVhW
YWx1ZUluZGljYXRvcgogCiAKLSAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9u
OiAKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBSZW1haW5pbmcKICAg
ICAgICAgICAgIHJvbGU6IEFYUm9sZTogQVhHcm91cAorICAgICAgICAgICAgc3Vicm9sZTogQVhT
dWJyb2xlOiBBWEFwcGxpY2F0aW9uVGltZXIKIAogCiAgICAgICAgICAgICAgICAgZGVzY3JpcHRp
b246IEFYRGVzY3JpcHRpb246IAotICAgICAgICAgICAgICAgIHJvbGU6IEFYUm9sZTogQVhTdGF0
aWNUZXh0CisgICAgICAgICAgICAgICAgcm9sZTogQVhSb2xlOiBBWEdyb3VwCiAKIAotICAgICAg
ICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogZW50ZXIgZnVsbHNjcmVlbgotICAgICAgICBy
b2xlOiBBWFJvbGU6IEFYQnV0dG9uCisgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBB
WERlc2NyaXB0aW9uOiAKKyAgICAgICAgICAgICAgICAgICAgcm9sZTogQVhSb2xlOiBBWFN0YXRp
Y1RleHQKIAogCi0gICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBtdXRlCi0gICAg
ICAgIHJvbGU6IEFYUm9sZTogQVhCdXR0b24KKyAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBWERl
c2NyaXB0aW9uOiBNdXRlCisgICAgICAgICAgICByb2xlOiBBWFJvbGU6IEFYQ2hlY2tCb3gKIAog
CisgICAgICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogRGlzcGxheSBGdWxsc2Ny
ZWVuCisgICAgICAgICAgICByb2xlOiBBWFJvbGU6IEFYQ2hlY2tCb3gKIAorCisKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUuY3Nz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9tZWRp
YUNvbnRyb2xzQXBwbGUuY3NzCShyZXZpc2lvbiAxNTgzNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY29udHJvbHMvbWVkaWFDb250cm9sc0FwcGxlLmNzcwkod29ya2luZyBjb3B5
KQpAQCAtMTA0LDYgKzEwNCwxNCBAQAogICAgIG9wYWNpdHk6IDE7CiB9CiAKKy8qIE5vdGU6ICEg
aXMgdGhlIENTUyA0IHN1YmplY3Qgc2VsZWN0b3IgPGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL3Nl
bGVjdG9yczQvI3N1YmplY3Q+ICovCisvKiBEaXNwbGF5cyBjb250cm9sIHRvb2xiYXIgY29udGFp
bmVyIHdoaWxlIGFueSBlbGVtZW50IGluc2lkZSBpdCBoYXMga2V5Ym9hcmQgZm9jdXMuICovCisv
KiBidXQgbm8gbmVlZCB0byB1bmNvbW1lbnQgdGhpcyBydWxlIHVudGlsIFdlYktpdCBzdXBwb3J0
cyB0aGUgc3ViamVjdCBzZWxlY3Rvci4KKyF2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1w
YW5lbCAqOmZvY3VzIHsKKyAgICBvcGFjaXR5OiAxOworfQorKi8KKwogdmlkZW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtcGFuZWwgYnV0dG9uLAogYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtcGFuZWwgYnV0dG9uIHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvbWVkaWFDb250cm9sc0FwcGxlLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9tZWRp
YUNvbnRyb2xzQXBwbGUuanMJKHJldmlzaW9uIDE1ODM0NikKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFjb250cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUuanMJKHdvcmtpbmcgY29weSkK
QEAgLTc3LDYgKzc3LDM5IEBACiAgICAgICAgIHZvbHVtZUJveDogJ3ZvbHVtZS1ib3gnLAogICAg
IH0sCiAKKyAgICAvKiBMb2NhbGl6ZWQgc3RyaW5ncyAqLworICAgIGxvYzogZnVuY3Rpb24ocyl7
CisgICAgICAgIGlmICh0aGlzLmxvY1N0cmluZ3Nbc10pCisgICAgICAgICAgICByZXR1cm4gdGhp
cy5sb2NTdHJpbmdzW3NdOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gczsgLy8g
VE9ETzogbG9nIHNvbWV0aGluZyBpZiBzdHJpbmcgbm90IGxvY2FsaXplZC4KKyAgICB9LAorICAg
IGxvY1N0cmluZ3M6IHsKKyAgICAgICAgLy8gRklYTUU6IE5lZWRzIGxvY2FsaXphdGlvbiB0byBj
b21lIGZyb20gV2ViQ29yZSA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMjA5NTY+CisgICAgICAgICdB
Ym9ydGVkJzogJ0Fib3J0ZWQnLAorICAgICAgICAnQXVkaW8gUGxheWJhY2snOiAnQXVkaW8gUGxh
eWJhY2snLAorICAgICAgICAnRGlzcGxheSBGdWxsc2NyZWVuJzogJ0Rpc3BsYXkgRnVsbHNjcmVl
bicsCisgICAgICAgICdEdXJhdGlvbic6ICdEdXJhdGlvbicsCisgICAgICAgICdFcnJvcic6ICdF
cnJvcicsCisgICAgICAgICdGYXN0IEZvcndhcmQnOiAnRmFzdCBGb3J3YXJkJywKKyAgICAgICAg
J0xvYWRpbmcnOiAnTG9hZGluZycsCisgICAgICAgICdNYXhpbXVtIFZvbHVtZSc6ICdNYXhpbXVt
IFZvbHVtZScsCisgICAgICAgICdNaW5pbXVtIFZvbHVtZSc6ICdNaW5pbXVtIFZvbHVtZScsCisg
ICAgICAgICdNdXRlJzogJ011dGUnLAorICAgICAgICAnUGxheSc6ICdQbGF5JywKKyAgICAgICAg
J1BhdXNlJzogJ1BhdXNlJywKKyAgICAgICAgJ1Jld2luZCc6ICdSZXdpbmQnLAorICAgICAgICAn
UmV3aW5kICUlc2VjJSUgU2Vjb25kcyc6ICdSZXdpbmQgJSVzZWMlJSBTZWNvbmRzJywKKyAgICAg
ICAgJ1Nob3cgQ2FwdGlvbnMnOiAnU2hvdyBDYXB0aW9ucycsCisgICAgICAgICdTdGFsbGVkJzog
J1N0YWxsZWQnLAorICAgICAgICAnU3VzcGVuZGVkJzogJ1N1c3BlbmRlZCcsCisgICAgICAgICdF
bGFwc2VkJzogJ0VsYXBzZWQnLAorICAgICAgICAnUmVtYWluaW5nJzogJ1JlbWFpbmluZycsCisg
ICAgICAgICdWaWRlbyBQbGF5YmFjayc6ICdWaWRlbyBQbGF5YmFjaycsCisgICAgICAgICdWb2x1
bWUnOiAnVm9sdW1lJywKKyAgICAgICAgJ1dhaXRpbmcnOiAnV2FpdGluZycKKyAgICB9LAorCiAg
ICAgbGlzdGVuRm9yOiBmdW5jdGlvbihlbGVtZW50LCBldmVudE5hbWUsIGhhbmRsZXIsIHVzZUNh
cHR1cmUpCiAgICAgewogICAgICAgICBpZiAodHlwZW9mIHVzZUNhcHR1cmUgPT09ICd1bmRlZmlu
ZWQnKQpAQCAtMTk3LDYgKzIzMCw4IEBACiAgICAgewogICAgICAgICB2YXIgcGFuZWwgPSB0aGlz
LmNvbnRyb2xzLnBhbmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAg
IHBhbmVsLnNldEF0dHJpYnV0ZSgncHNldWRvJywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFu
ZWwnKTsKKyAgICAgICAgcGFuZWwuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgKHRoaXMuaXNB
dWRpbygpID8gdGhpcy5sb2MoJ0F1ZGlvIFBsYXliYWNrIENvbnRyb2xzJykgOiB0aGlzLmxvYygn
VmlkZW8gUGxheWJhY2sgQ29udHJvbHMnKSkpOworICAgICAgICBwYW5lbC5zZXRBdHRyaWJ1dGUo
J3JvbGUnLCAndG9vbGJhcicpOwogICAgICAgICB0aGlzLmxpc3RlbkZvcihwYW5lbCwgJ21vdXNl
ZG93bicsIHRoaXMuaGFuZGxlUGFuZWxNb3VzZURvd24pOwogICAgICAgICB0aGlzLmxpc3RlbkZv
cihwYW5lbCwgJ3RyYW5zaXRpb25lbmQnLCB0aGlzLmhhbmRsZVBhbmVsVHJhbnNpdGlvbkVuZCk7
CiAgICAgICAgIHRoaXMubGlzdGVuRm9yKHBhbmVsLCAnY2xpY2snLCB0aGlzLmhhbmRsZVBhbmVs
Q2xpY2spOwpAQCAtMjA0LDIwICsyMzksMjQgQEAKIAogICAgICAgICB2YXIgcmV3aW5kQnV0dG9u
ID0gdGhpcy5jb250cm9scy5yZXdpbmRCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdi
dXR0b24nKTsKICAgICAgICAgcmV3aW5kQnV0dG9uLnNldEF0dHJpYnV0ZSgncHNldWRvJywgJy13
ZWJraXQtbWVkaWEtY29udHJvbHMtcmV3aW5kLWJ1dHRvbicpOworICAgICAgICByZXdpbmRCdXR0
b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5sb2MoJ1Jld2luZCAlJXNlYyUlIFNl
Y29uZHMnKS5yZXBsYWNlKCclJXNlYyUlJywgdGhpcy5SZXdpbmRBbW91bnQpKTsKICAgICAgICAg
dGhpcy5saXN0ZW5Gb3IocmV3aW5kQnV0dG9uLCAnY2xpY2snLCB0aGlzLmhhbmRsZVJld2luZEJ1
dHRvbkNsaWNrZWQpOwogCiAgICAgICAgIHZhciBzZWVrQmFja0J1dHRvbiA9IHRoaXMuY29udHJv
bHMuc2Vla0JhY2tCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAg
ICAgICAgc2Vla0JhY2tCdXR0b24uc2V0QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdlYmtpdC1tZWRp
YS1jb250cm9scy1zZWVrLWJhY2stYnV0dG9uJyk7CisgICAgICAgIHNlZWtCYWNrQnV0dG9uLnNl
dEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMubG9jKCdSZXdpbmQnKSk7CiAgICAgICAgIHRo
aXMubGlzdGVuRm9yKHNlZWtCYWNrQnV0dG9uLCAnbW91c2Vkb3duJywgdGhpcy5oYW5kbGVTZWVr
QmFja01vdXNlRG93bik7CiAgICAgICAgIHRoaXMubGlzdGVuRm9yKHNlZWtCYWNrQnV0dG9uLCAn
bW91c2V1cCcsIHRoaXMuaGFuZGxlU2Vla0JhY2tNb3VzZVVwKTsKIAogICAgICAgICB2YXIgc2Vl
a0ZvcndhcmRCdXR0b24gPSB0aGlzLmNvbnRyb2xzLnNlZWtGb3J3YXJkQnV0dG9uID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7CiAgICAgICAgIHNlZWtGb3J3YXJkQnV0dG9uLnNl
dEF0dHJpYnV0ZSgncHNldWRvJywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtc2Vlay1mb3J3YXJk
LWJ1dHRvbicpOworICAgICAgICBzZWVrRm9yd2FyZEJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEt
bGFiZWwnLCB0aGlzLmxvYygnRmFzdCBGb3J3YXJkJykpOwogICAgICAgICB0aGlzLmxpc3RlbkZv
cihzZWVrRm9yd2FyZEJ1dHRvbiwgJ21vdXNlZG93bicsIHRoaXMuaGFuZGxlU2Vla0ZvcndhcmRN
b3VzZURvd24pOwogICAgICAgICB0aGlzLmxpc3RlbkZvcihzZWVrRm9yd2FyZEJ1dHRvbiwgJ21v
dXNldXAnLCB0aGlzLmhhbmRsZVNlZWtGb3J3YXJkTW91c2VVcCk7CiAKICAgICAgICAgdmFyIHBs
YXlCdXR0b24gPSB0aGlzLmNvbnRyb2xzLnBsYXlCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdidXR0b24nKTsKICAgICAgICAgcGxheUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycs
ICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9uJyk7CisgICAgICAgIHBsYXlCdXR0
b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5sb2MoJ1BsYXknKSk7CiAgICAgICAg
IHRoaXMubGlzdGVuRm9yKHBsYXlCdXR0b24sICdjbGljaycsIHRoaXMuaGFuZGxlUGxheUJ1dHRv
bkNsaWNrZWQpOwogCiAgICAgICAgIHZhciBzdGF0dXNEaXNwbGF5ID0gdGhpcy5jb250cm9scy5z
dGF0dXNEaXNwbGF5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CkBAIC0yMjksOSAr
MjY4LDEyIEBACiAKICAgICAgICAgdmFyIGN1cnJlbnRUaW1lID0gdGhpcy5jb250cm9scy5jdXJy
ZW50VGltZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICBjdXJyZW50
VGltZS5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJl
bnQtdGltZS1kaXNwbGF5Jyk7CisgICAgICAgIGN1cnJlbnRUaW1lLnNldEF0dHJpYnV0ZSgnYXJp
YS1sYWJlbCcsIHRoaXMubG9jKCdFbGFwc2VkJykpOworICAgICAgICBjdXJyZW50VGltZS5zZXRB
dHRyaWJ1dGUoJ3JvbGUnLCAndGltZXInKTsKIAogICAgICAgICB2YXIgdGltZWxpbmUgPSB0aGlz
LmNvbnRyb2xzLnRpbWVsaW5lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKICAg
ICAgICAgdGltZWxpbmUuc2V0QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdlYmtpdC1tZWRpYS1jb250
cm9scy10aW1lbGluZScpOworICAgICAgICB0aW1lbGluZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFi
ZWwnLCB0aGlzLmxvYygnRHVyYXRpb24nKSk7CiAgICAgICAgIHRpbWVsaW5lLnR5cGUgPSAncmFu
Z2UnOwogICAgICAgICB0aGlzLmxpc3RlbkZvcih0aW1lbGluZSwgJ2NoYW5nZScsIHRoaXMuaGFu
ZGxlVGltZWxpbmVDaGFuZ2UpOwogICAgICAgICB0aGlzLmxpc3RlbkZvcih0aW1lbGluZSwgJ21v
dXNlb3ZlcicsIHRoaXMuaGFuZGxlVGltZWxpbmVNb3VzZU92ZXIpOwpAQCAtMjUwLDIwICsyOTIs
MjcgQEAKIAogICAgICAgICB2YXIgcmVtYWluaW5nVGltZSA9IHRoaXMuY29udHJvbHMucmVtYWlu
aW5nVGltZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICByZW1haW5p
bmdUaW1lLnNldEF0dHJpYnV0ZSgncHNldWRvJywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtdGlt
ZS1yZW1haW5pbmctZGlzcGxheScpOworICAgICAgICByZW1haW5pbmdUaW1lLnNldEF0dHJpYnV0
ZSgnYXJpYS1sYWJlbCcsIHRoaXMubG9jKCdSZW1haW5pbmcnKSk7CisgICAgICAgIHJlbWFpbmlu
Z1RpbWUuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3RpbWVyJyk7CiAKICAgICAgICAgdmFyIG11dGVC
b3ggPSB0aGlzLmNvbnRyb2xzLm11dGVCb3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKICAgICAgICAgbXV0ZUJveC5jbGFzc0xpc3QuYWRkKHRoaXMuQ2xhc3NOYW1lcy5tdXRlQm94
KTsKIAogICAgICAgICB2YXIgbXV0ZUJ1dHRvbiA9IHRoaXMuY29udHJvbHMubXV0ZUJ1dHRvbiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICBtdXRlQnV0dG9uLnNl
dEF0dHJpYnV0ZSgncHNldWRvJywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtbXV0ZS1idXR0b24n
KTsKKyAgICAgICAgbXV0ZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCB0aGlzLmxv
YygnTXV0ZScpKTsKKyAgICAgICAgbXV0ZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnY2hl
Y2tib3gnKTsKKyAgICAgICAgbXV0ZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcs
ICdmYWxzZScpOwogICAgICAgICB0aGlzLmxpc3RlbkZvcihtdXRlQnV0dG9uLCAnY2xpY2snLCB0
aGlzLmhhbmRsZU11dGVCdXR0b25DbGlja2VkKTsKIAogICAgICAgICB2YXIgbWluQnV0dG9uID0g
dGhpcy5jb250cm9scy5taW5CdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24n
KTsKICAgICAgICAgbWluQnV0dG9uLnNldEF0dHJpYnV0ZSgncHNldWRvJywgJy13ZWJraXQtbWVk
aWEtY29udHJvbHMtdm9sdW1lLW1pbi1idXR0b24nKTsKKyAgICAgICAgbWluQnV0dG9uLnNldEF0
dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMubG9jKCdNaW5pbXVtIFZvbHVtZScpKTsKICAgICAg
ICAgdGhpcy5saXN0ZW5Gb3IobWluQnV0dG9uLCAnY2xpY2snLCB0aGlzLmhhbmRsZU1pbkJ1dHRv
bkNsaWNrZWQpOwogCiAgICAgICAgIHZhciBtYXhCdXR0b24gPSB0aGlzLmNvbnRyb2xzLm1heEJ1
dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICBtYXhCdXR0
b24uc2V0QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdlYmtpdC1tZWRpYS1jb250cm9scy12b2x1bWUt
bWF4LWJ1dHRvbicpOworICAgICAgICBtYXhCdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVs
JywgdGhpcy5sb2MoJ01heGltdW0gVm9sdW1lJykpOwogICAgICAgICB0aGlzLmxpc3RlbkZvciht
YXhCdXR0b24sICdjbGljaycsIHRoaXMuaGFuZGxlTWF4QnV0dG9uQ2xpY2tlZCk7CiAKICAgICAg
ICAgdmFyIHZvbHVtZUJveCA9IHRoaXMuY29udHJvbHMudm9sdW1lQm94ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CkBAIC0yNzEsNiArMzIwLDcgQEAKIAogICAgICAgICB2YXIgdm9s
dW1lID0gdGhpcy5jb250cm9scy52b2x1bWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1
dCcpOwogICAgICAgICB2b2x1bWUuc2V0QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdlYmtpdC1tZWRp
YS1jb250cm9scy12b2x1bWUtc2xpZGVyJyk7CisgICAgICAgIHZvbHVtZS5zZXRBdHRyaWJ1dGUo
J2FyaWEtbGFiZWwnLCB0aGlzLmxvYygnVm9sdW1lJykpOwogICAgICAgICB2b2x1bWUudHlwZSA9
ICdyYW5nZSc7CiAgICAgICAgIHZvbHVtZS5taW4gPSAwOwogICAgICAgICB2b2x1bWUubWF4ID0g
MTsKQEAgLTI3OSwxMCArMzI5LDE2IEBACiAKICAgICAgICAgdmFyIGNhcHRpb25CdXR0b24gPSB0
aGlzLmNvbnRyb2xzLmNhcHRpb25CdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0
b24nKTsKICAgICAgICAgY2FwdGlvbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICctd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLXRvZ2dsZS1jbG9zZWQtY2FwdGlvbnMtYnV0dG9uJyk7CisgICAg
ICAgIGNhcHRpb25CdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5sb2MoJ1No
b3cgQ2FwdGlvbnMnKSk7CisgICAgICAgIGNhcHRpb25CdXR0b24uc2V0QXR0cmlidXRlKCdyb2xl
JywgJ2NoZWNrYm94Jyk7CisgICAgICAgIGNhcHRpb25CdXR0b24uc2V0QXR0cmlidXRlKCdhcmlh
LWNoZWNrZWQnLCAnZmFsc2UnKTsKICAgICAgICAgdGhpcy5saXN0ZW5Gb3IoY2FwdGlvbkJ1dHRv
biwgJ2NsaWNrJywgdGhpcy5oYW5kbGVDYXB0aW9uQnV0dG9uQ2xpY2tlZCk7CiAKICAgICAgICAg
dmFyIGZ1bGxzY3JlZW5CdXR0b24gPSB0aGlzLmNvbnRyb2xzLmZ1bGxzY3JlZW5CdXR0b24gPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgICAgICAgZnVsbHNjcmVlbkJ1dHRv
bi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLWZ1bGxzY3Jl
ZW4tYnV0dG9uJyk7CisgICAgICAgIGZ1bGxzY3JlZW5CdXR0b24uc2V0QXR0cmlidXRlKCdhcmlh
LWxhYmVsJywgdGhpcy5sb2MoJ0Rpc3BsYXkgRnVsbHNjcmVlbicpKTsKKyAgICAgICAgZnVsbHNj
cmVlbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnY2hlY2tib3gnKTsKKyAgICAgICAgZnVs
bHNjcmVlbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcsICdmYWxzZScpOwogICAg
ICAgICB0aGlzLmxpc3RlbkZvcihmdWxsc2NyZWVuQnV0dG9uLCAnY2xpY2snLCB0aGlzLmhhbmRs
ZUZ1bGxzY3JlZW5CdXR0b25DbGlja2VkKTsKICAgICB9LAogCkBAIC0zNTksMzggKzQxNSwzMiBA
QAogCiAgICAgaGFuZGxlTG9hZFN0YXJ0OiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAg
IC8vIEZJWE1FOiBOZWVkcyBsb2NhbGl6YXRpb24gPGh0dHA6Ly93ZWJraXQub3JnL2IvMTIwOTU2
PgotICAgICAgICB0aGlzLmNvbnRyb2xzLnN0YXR1c0Rpc3BsYXkuaW5uZXJUZXh0ID0gJ0xvYWRp
bmcnOworICAgICAgICB0aGlzLmNvbnRyb2xzLnN0YXR1c0Rpc3BsYXkuaW5uZXJUZXh0ID0gdGhp
cy5sb2MoJ0xvYWRpbmcnKTsKICAgICB9LAogCiAgICAgaGFuZGxlRXJyb3I6IGZ1bmN0aW9uKGV2
ZW50KQogICAgIHsKLSAgICAgICAgLy8gRklYTUU6IE5lZWRzIGxvY2FsaXphdGlvbiA8aHR0cDov
L3dlYmtpdC5vcmcvYi8xMjA5NTY+Ci0gICAgICAgIHRoaXMuY29udHJvbHMuc3RhdHVzRGlzcGxh
eS5pbm5lclRleHQgPSAnRXJyb3InOworICAgICAgICB0aGlzLmNvbnRyb2xzLnN0YXR1c0Rpc3Bs
YXkuaW5uZXJUZXh0ID0gdGhpcy5sb2MoJ0Vycm9yJyk7CiAgICAgfSwKIAogICAgIGhhbmRsZUFi
b3J0OiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIC8vIEZJWE1FOiBOZWVkcyBsb2Nh
bGl6YXRpb24gPGh0dHA6Ly93ZWJraXQub3JnL2IvMTIwOTU2PgotICAgICAgICB0aGlzLmNvbnRy
b2xzLnN0YXR1c0Rpc3BsYXkuaW5uZXJUZXh0ID0gJ0Fib3J0ZWQnOworICAgICAgICB0aGlzLmNv
bnRyb2xzLnN0YXR1c0Rpc3BsYXkuaW5uZXJUZXh0ID0gdGhpcy5sb2MoJ0Fib3J0ZWQnKTsKICAg
ICB9LAogCiAgICAgaGFuZGxlU3VzcGVuZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAg
ICAvLyBGSVhNRTogTmVlZHMgbG9jYWxpemF0aW9uIDxodHRwOi8vd2Via2l0Lm9yZy9iLzEyMDk1
Nj4KLSAgICAgICAgdGhpcy5jb250cm9scy5zdGF0dXNEaXNwbGF5LmlubmVyVGV4dCA9ICdTdXNw
ZW5kZWQnOworICAgICAgICB0aGlzLmNvbnRyb2xzLnN0YXR1c0Rpc3BsYXkuaW5uZXJUZXh0ID0g
dGhpcy5sb2MoJ1N1c3BlbmRlZCcpOwogICAgIH0sCiAKICAgICBoYW5kbGVTdGFsbGVkOiBmdW5j
dGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIC8vIEZJWE1FOiBOZWVkcyBsb2NhbGl6YXRpb24g
PGh0dHA6Ly93ZWJraXQub3JnL2IvMTIwOTU2PgotICAgICAgICB0aGlzLmNvbnRyb2xzLnN0YXR1
c0Rpc3BsYXkuaW5uZXJUZXh0ID0gJ1N0YWxsZWQnOworICAgICAgICB0aGlzLmNvbnRyb2xzLnN0
YXR1c0Rpc3BsYXkuaW5uZXJUZXh0ID0gdGhpcy5sb2MoJ1N0YWxsZWQnKTsKICAgICB9LAogCiAg
ICAgaGFuZGxlV2FpdGluZzogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICAvLyBGSVhN
RTogTmVlZHMgbG9jYWxpemF0aW9uIDxodHRwOi8vd2Via2l0Lm9yZy9iLzEyMDk1Nj4KLSAgICAg
ICAgdGhpcy5jb250cm9scy5zdGF0dXNEaXNwbGF5LmlubmVyVGV4dCA9ICdXYWl0aW5nJzsKKyAg
ICAgICAgdGhpcy5jb250cm9scy5zdGF0dXNEaXNwbGF5LmlubmVyVGV4dCA9IHRoaXMubG9jKCdX
YWl0aW5nJyk7CiAgICAgfSwKIAogICAgIGhhbmRsZVJlYWR5U3RhdGVDaGFuZ2U6IGZ1bmN0aW9u
KGV2ZW50KQpAQCAtNDY5LDkgKzUxOSwxMSBAQAogCiAgICAgICAgIGlmICh0aGlzLmlzRnVsbFNj
cmVlbigpKSB7CiAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLmZ1bGxzY3JlZW5CdXR0b24uY2xh
c3NMaXN0LmFkZCh0aGlzLkNsYXNzTmFtZXMuZXhpdCk7CisgICAgICAgICAgICB0aGlzLmNvbnRy
b2xzLmZ1bGxzY3JlZW5CdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAndHJ1ZScp
OwogICAgICAgICAgICAgdGhpcy5zZXRDb250cm9sc1R5cGUoQ29udHJvbGxlci5GdWxsU2NyZWVu
Q29udHJvbHMpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgdGhpcy5jb250cm9scy5m
dWxsc2NyZWVuQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5DbGFzc05hbWVzLmV4aXQpOwor
ICAgICAgICAgICAgdGhpcy5jb250cm9scy5mdWxsc2NyZWVuQnV0dG9uLnNldEF0dHJpYnV0ZSgn
YXJpYS1jaGVja2VkJywgJ2ZhbHNlJyk7CiAgICAgICAgICAgICB0aGlzLnNldENvbnRyb2xzVHlw
ZShDb250cm9sbGVyLklubGluZUNvbnRyb2xzKTsKICAgICAgICAgfQogICAgIH0sCkBAIC02MTUs
MjYgKzY2NywzNCBAQAogICAgIGhhbmRsZU11dGVCdXR0b25DbGlja2VkOiBmdW5jdGlvbihldmVu
dCkKICAgICB7CiAgICAgICAgIHRoaXMudmlkZW8ubXV0ZWQgPSAhdGhpcy52aWRlby5tdXRlZDsK
KyAgICAgICAgaWYgKHRoaXMudmlkZW8ubXV0ZWQpCisgICAgICAgICAgICB0aGlzLmNvbnRyb2xz
Lm11dGVCdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAndHJ1ZScpOwogICAgIH0s
CiAKICAgICBoYW5kbGVNaW5CdXR0b25DbGlja2VkOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0g
ICAgICAgIGlmICh0aGlzLnZpZGVvLm11dGVkKQorICAgICAgICBpZiAodGhpcy52aWRlby5tdXRl
ZCkgewogICAgICAgICAgICAgdGhpcy52aWRlby5tdXRlZCA9IGZhbHNlOworICAgICAgICAgICAg
dGhpcy5jb250cm9scy5tdXRlQnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJywgJ2Zh
bHNlJyk7CisgICAgICAgIH0KICAgICAgICAgdGhpcy52aWRlby52b2x1bWUgPSAwOwogICAgIH0s
CiAKICAgICBoYW5kbGVNYXhCdXR0b25DbGlja2VkOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0g
ICAgICAgIGlmICh0aGlzLnZpZGVvLm11dGVkKQorICAgICAgICBpZiAodGhpcy52aWRlby5tdXRl
ZCkgewogICAgICAgICAgICAgdGhpcy52aWRlby5tdXRlZCA9IGZhbHNlOworICAgICAgICAgICAg
dGhpcy5jb250cm9scy5tdXRlQnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJywgJ2Zh
bHNlJyk7CisgICAgICAgIH0KICAgICAgICAgdGhpcy52aWRlby52b2x1bWUgPSAxOwogICAgIH0s
CiAKICAgICBoYW5kbGVWb2x1bWVTbGlkZXJDaGFuZ2U6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsK
LSAgICAgICAgaWYgKHRoaXMudmlkZW8ubXV0ZWQpCisgICAgICAgIGlmICh0aGlzLnZpZGVvLm11
dGVkKSB7CiAgICAgICAgICAgICB0aGlzLnZpZGVvLm11dGVkID0gZmFsc2U7CisgICAgICAgICAg
ICB0aGlzLmNvbnRyb2xzLm11dGVCdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAn
ZmFsc2UnKTsKKyAgICAgICAgfQogICAgICAgICB0aGlzLnZpZGVvLnZvbHVtZSA9IHRoaXMuY29u
dHJvbHMudm9sdW1lLnZhbHVlOwogICAgIH0sCiAKQEAgLTc0Myw5ICs4MDMsMTEgQEAKICAgICAg
ICAgaWYgKHRoaXMuY2FuUGxheSgpKSB7CiAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLnBhbmVs
LmNsYXNzTGlzdC5hZGQodGhpcy5DbGFzc05hbWVzLnBhdXNlZCk7CiAgICAgICAgICAgICB0aGlz
LmNvbnRyb2xzLnBsYXlCdXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNsYXNzTmFtZXMucGF1c2Vk
KTsKKyAgICAgICAgICAgIHRoaXMuY29udHJvbHMucGxheUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2Fy
aWEtbGFiZWwnLCB0aGlzLmxvYygnUGxheScpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgIHRoaXMuY29udHJvbHMucGFuZWwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLkNsYXNzTmFtZXMu
cGF1c2VkKTsKICAgICAgICAgICAgIHRoaXMuY29udHJvbHMucGxheUJ1dHRvbi5jbGFzc0xpc3Qu
cmVtb3ZlKHRoaXMuQ2xhc3NOYW1lcy5wYXVzZWQpOworICAgICAgICAgICAgdGhpcy5jb250cm9s
cy5wbGF5QnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMubG9jKCdQYXVzZScp
KTsKIAogICAgICAgICAgICAgdGhpcy5jb250cm9scy5wYW5lbC5jbGFzc0xpc3QucmVtb3ZlKHRo
aXMuQ2xhc3NOYW1lcy5zaG93KTsKICAgICAgICAgICAgIGlmICh0aGlzLmhpZGVUaW1lcikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215736</attachid>
            <date>2013-11-01 10:25:21 -0700</date>
            <delta_ts>2013-11-01 13:20:12 -0700</delta_ts>
            <desc>patch for review/commit</desc>
            <filename>webkit121990.patch</filename>
            <type>text/plain</type>
            <size>17072</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE1ODQzNikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTExLTAxICBKYW1lcyBDcmFpZyAgPGpj
cmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFJlZ3Jlc3Npb246IG1lZGlhIGNvbnRyb2xz
IGFyZSBubyBsb25nZXIgYWNjZXNzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTIxOTkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBmYWlsdXJlIGV4cGVjdGF0aW9uIGFuZCB1cGRhdGVk
IGV4cGVjdGVkIHJlbmRlciBkdW1wIG91dHB1dC4gCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9t
ZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4dDoKKwogMjAxMy0xMS0wMSAgQnJlbmRhbiBMb25nICA8
Yi5sb25nQGNhYmxlbGFicy5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gU3VwcG9ydCBhdWRp
byBhbmQgdmlkZW8gdHJhY2tzCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucwkocmV2aXNpb24gMTU4MzQ2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTEyMTAsNyArMTIxMCw2IEBACiAK
IHdlYmtpdC5vcmcvYi8xMTQxOTMgdHJhbnNpdGlvbnMvY2FuY2VsLXRyYW5zaXRpb24uaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8xMjE5OTAgYWNjZXNzaWJpbGl0eS9tZWRp
YS1lbGVtZW50Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMjE5OTIgbWVkaWEvbWVk
aWEtdm9sdW1lLXNsaWRlci1yZW5kZXJlZC1iZWxvdy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvMTIxOTkyIG1lZGlhL21lZGlhLXZvbHVtZS1zbGlkZXItcmVuZGVyZWQtbm9ybWFsLmh0
bWwgWyBUaW1lb3V0IEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEyMTk5NSBtZWRpYS92aWRlby1j
b250cm9scy1jYXB0aW9ucy10cmFja21lbnUtaGlkZS1vbi1jbGljay1vdXRzaWRlLmh0bWwgWyBU
aW1lb3V0IEZhaWx1cmUgXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2li
aWxpdHkvbWVkaWEtZWxlbWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvbWVkaWEtZWxlbWVudC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDE1ODM0NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmls
aXR5L21lZGlhLWVsZW1lbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDU5ICs0
LDYyIEBACiAKIFN0YXRlIGF0ICdjYW5wbGF5dGhyb3VnaCcgZXZlbnQ6CiAKLSAgICBkZXNjcmlw
dGlvbjogQVhEZXNjcmlwdGlvbjogdmlkZW8gcGxheWJhY2sKLSAgICByb2xlOiBBWFJvbGU6IEFY
VG9vbGJhcgorICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiAKKyAgICByb2xlOiBBWFJv
bGU6IEFYR3JvdXAKIAogCi0gICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBiYWNr
IDMwIHNlY29uZHMKLSAgICAgICAgcm9sZTogQVhSb2xlOiBBWEJ1dHRvbgorICAgICAgICBkZXNj
cmlwdGlvbjogQVhEZXNjcmlwdGlvbjogVmlkZW8gUGxheWJhY2sKKyAgICAgICAgcm9sZTogQVhS
b2xlOiBBWFRvb2xiYXIKIAogCi0gICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBw
bGF5Ci0gICAgICAgIHJvbGU6IEFYUm9sZTogQVhCdXR0b24KKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uOiBBWERlc2NyaXB0aW9uOiBSZXdpbmQgMzAgU2Vjb25kcworICAgICAgICAgICAgcm9sZTog
QVhSb2xlOiBBWEJ1dHRvbgogCiAKLSAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246
IGVsYXBzZWQgdGltZQotICAgICAgICByb2xlOiBBWFJvbGU6IEFYR3JvdXAKLSAgICAgICAgc3Vi
cm9sZTogQVhTdWJyb2xlOiBBWEFwcGxpY2F0aW9uVGltZXIKKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uOiBBWERlc2NyaXB0aW9uOiBQbGF5CisgICAgICAgICAgICByb2xlOiBBWFJvbGU6IEFYQnV0
dG9uCiAKIAotICAgICAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IAorICAgICAg
ICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IEVsYXBzZWQKICAgICAgICAgICAgIHJv
bGU6IEFYUm9sZTogQVhHcm91cAorICAgICAgICAgICAgc3Vicm9sZTogQVhTdWJyb2xlOiBBWEFw
cGxpY2F0aW9uVGltZXIKIAogCiAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3Jp
cHRpb246IAotICAgICAgICAgICAgICAgIHJvbGU6IEFYUm9sZTogQVhTdGF0aWNUZXh0CisgICAg
ICAgICAgICAgICAgcm9sZTogQVhSb2xlOiBBWEdyb3VwCiAKIAotICAgICAgICBkZXNjcmlwdGlv
bjogQVhEZXNjcmlwdGlvbjogCi0gICAgICAgIHJvbGU6IEFYUm9sZTogQVhTbGlkZXIKLSAgICAg
ICAgc3Vicm9sZTogQVhTdWJyb2xlOiBBWFRpbWVsaW5lCisgICAgICAgICAgICAgICAgICAgIGRl
c2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiAKKyAgICAgICAgICAgICAgICAgICAgcm9sZTogQVhS
b2xlOiBBWFN0YXRpY1RleHQKIAogCi0gICAgICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlw
dGlvbjogCi0gICAgICAgICAgICByb2xlOiBBWFJvbGU6IEFYVmFsdWVJbmRpY2F0b3IKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBEdXJhdGlvbgorICAgICAgICAgICAg
cm9sZTogQVhSb2xlOiBBWFNsaWRlcgogCiAKLSAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3Jp
cHRpb246IHJlbWFpbmluZyB0aW1lCi0gICAgICAgIHJvbGU6IEFYUm9sZTogQVhHcm91cAotICAg
ICAgICBzdWJyb2xlOiBBWFN1YnJvbGU6IEFYQXBwbGljYXRpb25UaW1lcgorICAgICAgICAgICAg
ICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiAKKyAgICAgICAgICAgICAgICByb2xlOiBB
WFJvbGU6IEFYVmFsdWVJbmRpY2F0b3IKIAogCi0gICAgICAgICAgICBkZXNjcmlwdGlvbjogQVhE
ZXNjcmlwdGlvbjogCisgICAgICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogUmVt
YWluaW5nCiAgICAgICAgICAgICByb2xlOiBBWFJvbGU6IEFYR3JvdXAKKyAgICAgICAgICAgIHN1
YnJvbGU6IEFYU3Vicm9sZTogQVhBcHBsaWNhdGlvblRpbWVyCiAKIAogICAgICAgICAgICAgICAg
IGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiAKLSAgICAgICAgICAgICAgICByb2xlOiBBWFJv
bGU6IEFYU3RhdGljVGV4dAorICAgICAgICAgICAgICAgIHJvbGU6IEFYUm9sZTogQVhHcm91cAog
CiAKLSAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IGVudGVyIGZ1bGxzY3JlZW4K
LSAgICAgICAgcm9sZTogQVhSb2xlOiBBWEJ1dHRvbgorICAgICAgICAgICAgICAgICAgICBkZXNj
cmlwdGlvbjogQVhEZXNjcmlwdGlvbjogCisgICAgICAgICAgICAgICAgICAgIHJvbGU6IEFYUm9s
ZTogQVhTdGF0aWNUZXh0CiAKIAotICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjog
bXV0ZQotICAgICAgICByb2xlOiBBWFJvbGU6IEFYQnV0dG9uCisgICAgICAgICAgICBkZXNjcmlw
dGlvbjogQVhEZXNjcmlwdGlvbjogTXV0ZQorICAgICAgICAgICAgcm9sZTogQVhSb2xlOiBBWENo
ZWNrQm94CiAKIAorICAgICAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IERpc3Bs
YXkgRnVsbHNjcmVlbgorICAgICAgICAgICAgcm9sZTogQVhSb2xlOiBBWENoZWNrQm94CiAKKwor
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTg0MzYpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMCBAQAorMjAxMy0xMS0wMSAgSmFtZXMg
Q3JhaWcgIDxqY3JhaWdAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBSZWdyZXNzaW9uOiBtZWRp
YSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIGFjY2Vzc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTk5MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgZXhpc3RpbmcgdGVzdCBjb3ZlcmFn
ZS4KKyAgICAgICAgQWRkZWQgQVJJQSByb2xlcywgYXR0cnMsIGFuZCBsYWJlbHMgdG8gdGhlIG5l
dyBtZWRpYSBjb250cm9scyBzaGFkb3cgRE9NLgorICAgICAgICBMb2NhbGl6YXRpb24gd2lsbCBi
ZSBoYW5kbGVkIGluIGh0dHA6Ly93ZWJraXQub3JnL2IvMTIwOTU2CisKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhY29udHJvbHMvbWVkaWFDb250cm9sc0FwcGxlLmpzOgorICAgICAgICAoQ29udHJv
bGxlci5wcm90b3R5cGUubG9jKToKKyAgICAgICAgKENvbnRyb2xsZXIucHJvdG90eXBlLmNyZWF0
ZUNvbnRyb2xzKToKKyAgICAgICAgKENvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZUxvYWRTdGFy
dCk6CisgICAgICAgIChDb250cm9sbGVyLnByb3RvdHlwZS5oYW5kbGVFcnJvcik6CisgICAgICAg
IChDb250cm9sbGVyLnByb3RvdHlwZS5oYW5kbGVBYm9ydCk6CisgICAgICAgIChDb250cm9sbGVy
LnByb3RvdHlwZS5oYW5kbGVTdXNwZW5kKToKKyAgICAgICAgKENvbnRyb2xsZXIucHJvdG90eXBl
LmhhbmRsZVN0YWxsZWQpOgorICAgICAgICAoQ29udHJvbGxlci5wcm90b3R5cGUuaGFuZGxlV2Fp
dGluZyk6CisgICAgICAgIChDb250cm9sbGVyLnByb3RvdHlwZS5oYW5kbGVGdWxsc2NyZWVuQ2hh
bmdlKToKKyAgICAgICAgKENvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZU11dGVCdXR0b25DbGlj
a2VkKToKKyAgICAgICAgKENvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZU1pbkJ1dHRvbkNsaWNr
ZWQpOgorICAgICAgICAoQ29udHJvbGxlci5wcm90b3R5cGUuaGFuZGxlTWF4QnV0dG9uQ2xpY2tl
ZCk6CisgICAgICAgIChDb250cm9sbGVyLnByb3RvdHlwZS5oYW5kbGVWb2x1bWVTbGlkZXJDaGFu
Z2UpOgorICAgICAgICAoQ29udHJvbGxlci5wcm90b3R5cGUudXBkYXRlUGxheWluZyk6CisKIDIw
MTMtMTEtMDEgIEJyZW5kYW4gTG9uZyAgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgogCiAgICAgICAg
IFtHU3RyZWFtZXJdIFN1cHBvcnQgYXVkaW8gYW5kIHZpZGVvIHRyYWNrcwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL21lZGlhQ29udHJvbHNBcHBsZS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvbWVkaWFDb250
cm9sc0FwcGxlLmpzCShyZXZpc2lvbiAxNTgzNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhY29udHJvbHMvbWVkaWFDb250cm9sc0FwcGxlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC03
Nyw2ICs3NywzOSBAQAogICAgICAgICB2b2x1bWVCb3g6ICd2b2x1bWUtYm94JywKICAgICB9LAog
CisgICAgLyogTG9jYWxpemVkIHN0cmluZ3MgKi8KKyAgICBsb2M6IGZ1bmN0aW9uKHMpeworICAg
ICAgICBpZiAodGhpcy5sb2NTdHJpbmdzW3NdKQorICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9j
U3RyaW5nc1tzXTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIHM7IC8vIFRPRE86
IGxvZyBzb21ldGhpbmcgaWYgc3RyaW5nIG5vdCBsb2NhbGl6ZWQuCisgICAgfSwKKyAgICBsb2NT
dHJpbmdzOiB7CisgICAgICAgIC8vIEZJWE1FOiBNb3ZlIGxvY2FsaXphdGlvbiB0byBleHQgc3Ry
aW5ncyBmaWxlIDxodHRwOi8vd2Via2l0Lm9yZy9iLzEyMDk1Nj4KKyAgICAgICAgJ0Fib3J0ZWQn
OiAnQWJvcnRlZCcsCisgICAgICAgICdBdWRpbyBQbGF5YmFjayc6ICdBdWRpbyBQbGF5YmFjaycs
CisgICAgICAgICdEaXNwbGF5IEZ1bGxzY3JlZW4nOiAnRGlzcGxheSBGdWxsc2NyZWVuJywKKyAg
ICAgICAgJ0R1cmF0aW9uJzogJ0R1cmF0aW9uJywKKyAgICAgICAgJ0Vycm9yJzogJ0Vycm9yJywK
KyAgICAgICAgJ0Zhc3QgRm9yd2FyZCc6ICdGYXN0IEZvcndhcmQnLAorICAgICAgICAnTG9hZGlu
Zyc6ICdMb2FkaW5nJywKKyAgICAgICAgJ01heGltdW0gVm9sdW1lJzogJ01heGltdW0gVm9sdW1l
JywKKyAgICAgICAgJ01pbmltdW0gVm9sdW1lJzogJ01pbmltdW0gVm9sdW1lJywKKyAgICAgICAg
J011dGUnOiAnTXV0ZScsCisgICAgICAgICdQbGF5JzogJ1BsYXknLAorICAgICAgICAnUGF1c2Un
OiAnUGF1c2UnLAorICAgICAgICAnUmV3aW5kJzogJ1Jld2luZCcsCisgICAgICAgICdSZXdpbmQg
JSVzZWMlJSBTZWNvbmRzJzogJ1Jld2luZCAlJXNlYyUlIFNlY29uZHMnLAorICAgICAgICAnU2hv
dyBDYXB0aW9ucyc6ICdTaG93IENhcHRpb25zJywKKyAgICAgICAgJ1N0YWxsZWQnOiAnU3RhbGxl
ZCcsCisgICAgICAgICdTdXNwZW5kZWQnOiAnU3VzcGVuZGVkJywKKyAgICAgICAgJ0VsYXBzZWQn
OiAnRWxhcHNlZCcsCisgICAgICAgICdSZW1haW5pbmcnOiAnUmVtYWluaW5nJywKKyAgICAgICAg
J1ZpZGVvIFBsYXliYWNrJzogJ1ZpZGVvIFBsYXliYWNrJywKKyAgICAgICAgJ1ZvbHVtZSc6ICdW
b2x1bWUnLAorICAgICAgICAnV2FpdGluZyc6ICdXYWl0aW5nJworICAgIH0sCisKICAgICBsaXN0
ZW5Gb3I6IGZ1bmN0aW9uKGVsZW1lbnQsIGV2ZW50TmFtZSwgaGFuZGxlciwgdXNlQ2FwdHVyZSkK
ICAgICB7CiAgICAgICAgIGlmICh0eXBlb2YgdXNlQ2FwdHVyZSA9PT0gJ3VuZGVmaW5lZCcpCkBA
IC0xOTcsNiArMjMwLDggQEAKICAgICB7CiAgICAgICAgIHZhciBwYW5lbCA9IHRoaXMuY29udHJv
bHMucGFuZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICAgcGFuZWwu
c2V0QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCcpOwor
ICAgICAgICBwYW5lbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCAodGhpcy5pc0F1ZGlvKCkg
PyB0aGlzLmxvYygnQXVkaW8gUGxheWJhY2snKSA6IHRoaXMubG9jKCdWaWRlbyBQbGF5YmFjaycp
KSk7CisgICAgICAgIHBhbmVsLnNldEF0dHJpYnV0ZSgncm9sZScsICd0b29sYmFyJyk7CiAgICAg
ICAgIHRoaXMubGlzdGVuRm9yKHBhbmVsLCAnbW91c2Vkb3duJywgdGhpcy5oYW5kbGVQYW5lbE1v
dXNlRG93bik7CiAgICAgICAgIHRoaXMubGlzdGVuRm9yKHBhbmVsLCAndHJhbnNpdGlvbmVuZCcs
IHRoaXMuaGFuZGxlUGFuZWxUcmFuc2l0aW9uRW5kKTsKICAgICAgICAgdGhpcy5saXN0ZW5Gb3Io
cGFuZWwsICdjbGljaycsIHRoaXMuaGFuZGxlUGFuZWxDbGljayk7CkBAIC0yMDQsMjAgKzIzOSwy
NCBAQAogCiAgICAgICAgIHZhciByZXdpbmRCdXR0b24gPSB0aGlzLmNvbnRyb2xzLnJld2luZEJ1
dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICByZXdpbmRC
dXR0b24uc2V0QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdlYmtpdC1tZWRpYS1jb250cm9scy1yZXdp
bmQtYnV0dG9uJyk7CisgICAgICAgIHJld2luZEJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFi
ZWwnLCB0aGlzLmxvYygnUmV3aW5kICUlc2VjJSUgU2Vjb25kcycpLnJlcGxhY2UoJyUlc2VjJSUn
LCB0aGlzLlJld2luZEFtb3VudCkpOwogICAgICAgICB0aGlzLmxpc3RlbkZvcihyZXdpbmRCdXR0
b24sICdjbGljaycsIHRoaXMuaGFuZGxlUmV3aW5kQnV0dG9uQ2xpY2tlZCk7CiAKICAgICAgICAg
dmFyIHNlZWtCYWNrQnV0dG9uID0gdGhpcy5jb250cm9scy5zZWVrQmFja0J1dHRvbiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICBzZWVrQmFja0J1dHRvbi5zZXRB
dHRyaWJ1dGUoJ3BzZXVkbycsICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLXNlZWstYmFjay1idXR0
b24nKTsKKyAgICAgICAgc2Vla0JhY2tCdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywg
dGhpcy5sb2MoJ1Jld2luZCcpKTsKICAgICAgICAgdGhpcy5saXN0ZW5Gb3Ioc2Vla0JhY2tCdXR0
b24sICdtb3VzZWRvd24nLCB0aGlzLmhhbmRsZVNlZWtCYWNrTW91c2VEb3duKTsKICAgICAgICAg
dGhpcy5saXN0ZW5Gb3Ioc2Vla0JhY2tCdXR0b24sICdtb3VzZXVwJywgdGhpcy5oYW5kbGVTZWVr
QmFja01vdXNlVXApOwogCiAgICAgICAgIHZhciBzZWVrRm9yd2FyZEJ1dHRvbiA9IHRoaXMuY29u
dHJvbHMuc2Vla0ZvcndhcmRCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24n
KTsKICAgICAgICAgc2Vla0ZvcndhcmRCdXR0b24uc2V0QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdl
YmtpdC1tZWRpYS1jb250cm9scy1zZWVrLWZvcndhcmQtYnV0dG9uJyk7CisgICAgICAgIHNlZWtG
b3J3YXJkQnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMubG9jKCdGYXN0IEZv
cndhcmQnKSk7CiAgICAgICAgIHRoaXMubGlzdGVuRm9yKHNlZWtGb3J3YXJkQnV0dG9uLCAnbW91
c2Vkb3duJywgdGhpcy5oYW5kbGVTZWVrRm9yd2FyZE1vdXNlRG93bik7CiAgICAgICAgIHRoaXMu
bGlzdGVuRm9yKHNlZWtGb3J3YXJkQnV0dG9uLCAnbW91c2V1cCcsIHRoaXMuaGFuZGxlU2Vla0Zv
cndhcmRNb3VzZVVwKTsKIAogICAgICAgICB2YXIgcGxheUJ1dHRvbiA9IHRoaXMuY29udHJvbHMu
cGxheUJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICBw
bGF5QnV0dG9uLnNldEF0dHJpYnV0ZSgncHNldWRvJywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMt
cGxheS1idXR0b24nKTsKKyAgICAgICAgcGxheUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFi
ZWwnLCB0aGlzLmxvYygnUGxheScpKTsKICAgICAgICAgdGhpcy5saXN0ZW5Gb3IocGxheUJ1dHRv
biwgJ2NsaWNrJywgdGhpcy5oYW5kbGVQbGF5QnV0dG9uQ2xpY2tlZCk7CiAKICAgICAgICAgdmFy
IHN0YXR1c0Rpc3BsYXkgPSB0aGlzLmNvbnRyb2xzLnN0YXR1c0Rpc3BsYXkgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKQEAgLTIyOSw5ICsyNjgsMTIgQEAKIAogICAgICAgICB2YXIg
Y3VycmVudFRpbWUgPSB0aGlzLmNvbnRyb2xzLmN1cnJlbnRUaW1lID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiAgICAgICAgIGN1cnJlbnRUaW1lLnNldEF0dHJpYnV0ZSgncHNldWRv
JywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXknKTsKKyAgICAg
ICAgY3VycmVudFRpbWUuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5sb2MoJ0VsYXBz
ZWQnKSk7CisgICAgICAgIGN1cnJlbnRUaW1lLnNldEF0dHJpYnV0ZSgncm9sZScsICd0aW1lcicp
OwogCiAgICAgICAgIHZhciB0aW1lbGluZSA9IHRoaXMuY29udHJvbHMudGltZWxpbmUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwogICAgICAgICB0aW1lbGluZS5zZXRBdHRyaWJ1
dGUoJ3BzZXVkbycsICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lJyk7CisgICAgICAg
IHRpbWVsaW5lLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMubG9jKCdEdXJhdGlvbicp
KTsKICAgICAgICAgdGltZWxpbmUudHlwZSA9ICdyYW5nZSc7CiAgICAgICAgIHRoaXMubGlzdGVu
Rm9yKHRpbWVsaW5lLCAnY2hhbmdlJywgdGhpcy5oYW5kbGVUaW1lbGluZUNoYW5nZSk7CiAgICAg
ICAgIHRoaXMubGlzdGVuRm9yKHRpbWVsaW5lLCAnbW91c2VvdmVyJywgdGhpcy5oYW5kbGVUaW1l
bGluZU1vdXNlT3Zlcik7CkBAIC0yNTAsMjAgKzI5MiwyNyBAQAogCiAgICAgICAgIHZhciByZW1h
aW5pbmdUaW1lID0gdGhpcy5jb250cm9scy5yZW1haW5pbmdUaW1lID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CiAgICAgICAgIHJlbWFpbmluZ1RpbWUuc2V0QXR0cmlidXRlKCdwc2V1
ZG8nLCAnLXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lLXJlbWFpbmluZy1kaXNwbGF5Jyk7Cisg
ICAgICAgIHJlbWFpbmluZ1RpbWUuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5sb2Mo
J1JlbWFpbmluZycpKTsKKyAgICAgICAgcmVtYWluaW5nVGltZS5zZXRBdHRyaWJ1dGUoJ3JvbGUn
LCAndGltZXInKTsKIAogICAgICAgICB2YXIgbXV0ZUJveCA9IHRoaXMuY29udHJvbHMubXV0ZUJv
eCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICBtdXRlQm94LmNsYXNz
TGlzdC5hZGQodGhpcy5DbGFzc05hbWVzLm11dGVCb3gpOwogCiAgICAgICAgIHZhciBtdXRlQnV0
dG9uID0gdGhpcy5jb250cm9scy5tdXRlQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
YnV0dG9uJyk7CiAgICAgICAgIG11dGVCdXR0b24uc2V0QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdl
YmtpdC1tZWRpYS1jb250cm9scy1tdXRlLWJ1dHRvbicpOworICAgICAgICBtdXRlQnV0dG9uLnNl
dEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMubG9jKCdNdXRlJykpOworICAgICAgICBtdXRl
QnV0dG9uLnNldEF0dHJpYnV0ZSgncm9sZScsICdjaGVja2JveCcpOworICAgICAgICBtdXRlQnV0
dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJywgJ2ZhbHNlJyk7CiAgICAgICAgIHRoaXMu
bGlzdGVuRm9yKG11dGVCdXR0b24sICdjbGljaycsIHRoaXMuaGFuZGxlTXV0ZUJ1dHRvbkNsaWNr
ZWQpOwogCiAgICAgICAgIHZhciBtaW5CdXR0b24gPSB0aGlzLmNvbnRyb2xzLm1pbkJ1dHRvbiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICBtaW5CdXR0b24uc2V0
QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdlYmtpdC1tZWRpYS1jb250cm9scy12b2x1bWUtbWluLWJ1
dHRvbicpOworICAgICAgICBtaW5CdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhp
cy5sb2MoJ01pbmltdW0gVm9sdW1lJykpOwogICAgICAgICB0aGlzLmxpc3RlbkZvcihtaW5CdXR0
b24sICdjbGljaycsIHRoaXMuaGFuZGxlTWluQnV0dG9uQ2xpY2tlZCk7CiAKICAgICAgICAgdmFy
IG1heEJ1dHRvbiA9IHRoaXMuY29udHJvbHMubWF4QnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnYnV0dG9uJyk7CiAgICAgICAgIG1heEJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycs
ICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1tYXgtYnV0dG9uJyk7CisgICAgICAgIG1h
eEJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCB0aGlzLmxvYygnTWF4aW11bSBWb2x1
bWUnKSk7CiAgICAgICAgIHRoaXMubGlzdGVuRm9yKG1heEJ1dHRvbiwgJ2NsaWNrJywgdGhpcy5o
YW5kbGVNYXhCdXR0b25DbGlja2VkKTsKIAogICAgICAgICB2YXIgdm9sdW1lQm94ID0gdGhpcy5j
b250cm9scy52b2x1bWVCb3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKQEAgLTI3
MSw2ICszMjAsNyBAQAogCiAgICAgICAgIHZhciB2b2x1bWUgPSB0aGlzLmNvbnRyb2xzLnZvbHVt
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CiAgICAgICAgIHZvbHVtZS5zZXRB
dHRyaWJ1dGUoJ3BzZXVkbycsICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIn
KTsKKyAgICAgICAgdm9sdW1lLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMubG9jKCdW
b2x1bWUnKSk7CiAgICAgICAgIHZvbHVtZS50eXBlID0gJ3JhbmdlJzsKICAgICAgICAgdm9sdW1l
Lm1pbiA9IDA7CiAgICAgICAgIHZvbHVtZS5tYXggPSAxOwpAQCAtMjc5LDEwICszMjksMTYgQEAK
IAogICAgICAgICB2YXIgY2FwdGlvbkJ1dHRvbiA9IHRoaXMuY29udHJvbHMuY2FwdGlvbkJ1dHRv
biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICBjYXB0aW9uQnV0
dG9uLnNldEF0dHJpYnV0ZSgncHNldWRvJywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xl
LWNsb3NlZC1jYXB0aW9ucy1idXR0b24nKTsKKyAgICAgICAgY2FwdGlvbkJ1dHRvbi5zZXRBdHRy
aWJ1dGUoJ2FyaWEtbGFiZWwnLCB0aGlzLmxvYygnU2hvdyBDYXB0aW9ucycpKTsKKyAgICAgICAg
Y2FwdGlvbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnY2hlY2tib3gnKTsKKyAgICAgICAg
Y2FwdGlvbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcsICdmYWxzZScpOwogICAg
ICAgICB0aGlzLmxpc3RlbkZvcihjYXB0aW9uQnV0dG9uLCAnY2xpY2snLCB0aGlzLmhhbmRsZUNh
cHRpb25CdXR0b25DbGlja2VkKTsKIAogICAgICAgICB2YXIgZnVsbHNjcmVlbkJ1dHRvbiA9IHRo
aXMuY29udHJvbHMuZnVsbHNjcmVlbkJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1
dHRvbicpOwogICAgICAgICBmdWxsc2NyZWVuQnV0dG9uLnNldEF0dHJpYnV0ZSgncHNldWRvJywg
Jy13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b24nKTsKKyAgICAgICAgZnVs
bHNjcmVlbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCB0aGlzLmxvYygnRGlzcGxh
eSBGdWxsc2NyZWVuJykpOworICAgICAgICBmdWxsc2NyZWVuQnV0dG9uLnNldEF0dHJpYnV0ZSgn
cm9sZScsICdjaGVja2JveCcpOworICAgICAgICBmdWxsc2NyZWVuQnV0dG9uLnNldEF0dHJpYnV0
ZSgnYXJpYS1jaGVja2VkJywgJ2ZhbHNlJyk7CiAgICAgICAgIHRoaXMubGlzdGVuRm9yKGZ1bGxz
Y3JlZW5CdXR0b24sICdjbGljaycsIHRoaXMuaGFuZGxlRnVsbHNjcmVlbkJ1dHRvbkNsaWNrZWQp
OwogICAgIH0sCiAKQEAgLTM1OSwzOCArNDE1LDMyIEBACiAKICAgICBoYW5kbGVMb2FkU3RhcnQ6
IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgLy8gRklYTUU6IE5lZWRzIGxvY2FsaXph
dGlvbiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMjA5NTY+Ci0gICAgICAgIHRoaXMuY29udHJvbHMu
c3RhdHVzRGlzcGxheS5pbm5lclRleHQgPSAnTG9hZGluZyc7CisgICAgICAgIHRoaXMuY29udHJv
bHMuc3RhdHVzRGlzcGxheS5pbm5lclRleHQgPSB0aGlzLmxvYygnTG9hZGluZycpOwogICAgIH0s
CiAKICAgICBoYW5kbGVFcnJvcjogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICAvLyBG
SVhNRTogTmVlZHMgbG9jYWxpemF0aW9uIDxodHRwOi8vd2Via2l0Lm9yZy9iLzEyMDk1Nj4KLSAg
ICAgICAgdGhpcy5jb250cm9scy5zdGF0dXNEaXNwbGF5LmlubmVyVGV4dCA9ICdFcnJvcic7Cisg
ICAgICAgIHRoaXMuY29udHJvbHMuc3RhdHVzRGlzcGxheS5pbm5lclRleHQgPSB0aGlzLmxvYygn
RXJyb3InKTsKICAgICB9LAogCiAgICAgaGFuZGxlQWJvcnQ6IGZ1bmN0aW9uKGV2ZW50KQogICAg
IHsKLSAgICAgICAgLy8gRklYTUU6IE5lZWRzIGxvY2FsaXphdGlvbiA8aHR0cDovL3dlYmtpdC5v
cmcvYi8xMjA5NTY+Ci0gICAgICAgIHRoaXMuY29udHJvbHMuc3RhdHVzRGlzcGxheS5pbm5lclRl
eHQgPSAnQWJvcnRlZCc7CisgICAgICAgIHRoaXMuY29udHJvbHMuc3RhdHVzRGlzcGxheS5pbm5l
clRleHQgPSB0aGlzLmxvYygnQWJvcnRlZCcpOwogICAgIH0sCiAKICAgICBoYW5kbGVTdXNwZW5k
OiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIC8vIEZJWE1FOiBOZWVkcyBsb2NhbGl6
YXRpb24gPGh0dHA6Ly93ZWJraXQub3JnL2IvMTIwOTU2PgotICAgICAgICB0aGlzLmNvbnRyb2xz
LnN0YXR1c0Rpc3BsYXkuaW5uZXJUZXh0ID0gJ1N1c3BlbmRlZCc7CisgICAgICAgIHRoaXMuY29u
dHJvbHMuc3RhdHVzRGlzcGxheS5pbm5lclRleHQgPSB0aGlzLmxvYygnU3VzcGVuZGVkJyk7CiAg
ICAgfSwKIAogICAgIGhhbmRsZVN0YWxsZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAg
ICAgLy8gRklYTUU6IE5lZWRzIGxvY2FsaXphdGlvbiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMjA5
NTY+Ci0gICAgICAgIHRoaXMuY29udHJvbHMuc3RhdHVzRGlzcGxheS5pbm5lclRleHQgPSAnU3Rh
bGxlZCc7CisgICAgICAgIHRoaXMuY29udHJvbHMuc3RhdHVzRGlzcGxheS5pbm5lclRleHQgPSB0
aGlzLmxvYygnU3RhbGxlZCcpOwogICAgIH0sCiAKICAgICBoYW5kbGVXYWl0aW5nOiBmdW5jdGlv
bihldmVudCkKICAgICB7Ci0gICAgICAgIC8vIEZJWE1FOiBOZWVkcyBsb2NhbGl6YXRpb24gPGh0
dHA6Ly93ZWJraXQub3JnL2IvMTIwOTU2PgotICAgICAgICB0aGlzLmNvbnRyb2xzLnN0YXR1c0Rp
c3BsYXkuaW5uZXJUZXh0ID0gJ1dhaXRpbmcnOworICAgICAgICB0aGlzLmNvbnRyb2xzLnN0YXR1
c0Rpc3BsYXkuaW5uZXJUZXh0ID0gdGhpcy5sb2MoJ1dhaXRpbmcnKTsKICAgICB9LAogCiAgICAg
aGFuZGxlUmVhZHlTdGF0ZUNoYW5nZTogZnVuY3Rpb24oZXZlbnQpCkBAIC00NjksOSArNTE5LDEx
IEBACiAKICAgICAgICAgaWYgKHRoaXMuaXNGdWxsU2NyZWVuKCkpIHsKICAgICAgICAgICAgIHRo
aXMuY29udHJvbHMuZnVsbHNjcmVlbkJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuQ2xhc3NOYW1l
cy5leGl0KTsKKyAgICAgICAgICAgIHRoaXMuY29udHJvbHMuZnVsbHNjcmVlbkJ1dHRvbi5zZXRB
dHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcsICd0cnVlJyk7CiAgICAgICAgICAgICB0aGlzLnNldENv
bnRyb2xzVHlwZShDb250cm9sbGVyLkZ1bGxTY3JlZW5Db250cm9scyk7CiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLmZ1bGxzY3JlZW5CdXR0b24uY2xhc3NMaXN0
LnJlbW92ZSh0aGlzLkNsYXNzTmFtZXMuZXhpdCk7CisgICAgICAgICAgICB0aGlzLmNvbnRyb2xz
LmZ1bGxzY3JlZW5CdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAnZmFsc2UnKTsK
ICAgICAgICAgICAgIHRoaXMuc2V0Q29udHJvbHNUeXBlKENvbnRyb2xsZXIuSW5saW5lQ29udHJv
bHMpOwogICAgICAgICB9CiAgICAgfSwKQEAgLTYxNSwyNiArNjY3LDM0IEBACiAgICAgaGFuZGxl
TXV0ZUJ1dHRvbkNsaWNrZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhpcy52
aWRlby5tdXRlZCA9ICF0aGlzLnZpZGVvLm11dGVkOworICAgICAgICBpZiAodGhpcy52aWRlby5t
dXRlZCkKKyAgICAgICAgICAgIHRoaXMuY29udHJvbHMubXV0ZUJ1dHRvbi5zZXRBdHRyaWJ1dGUo
J2FyaWEtY2hlY2tlZCcsICd0cnVlJyk7CiAgICAgfSwKIAogICAgIGhhbmRsZU1pbkJ1dHRvbkNs
aWNrZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMudmlkZW8ubXV0
ZWQpCisgICAgICAgIGlmICh0aGlzLnZpZGVvLm11dGVkKSB7CiAgICAgICAgICAgICB0aGlzLnZp
ZGVvLm11dGVkID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLm11dGVCdXR0b24u
c2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAnZmFsc2UnKTsKKyAgICAgICAgfQogICAgICAg
ICB0aGlzLnZpZGVvLnZvbHVtZSA9IDA7CiAgICAgfSwKIAogICAgIGhhbmRsZU1heEJ1dHRvbkNs
aWNrZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMudmlkZW8ubXV0
ZWQpCisgICAgICAgIGlmICh0aGlzLnZpZGVvLm11dGVkKSB7CiAgICAgICAgICAgICB0aGlzLnZp
ZGVvLm11dGVkID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLm11dGVCdXR0b24u
c2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAnZmFsc2UnKTsKKyAgICAgICAgfQogICAgICAg
ICB0aGlzLnZpZGVvLnZvbHVtZSA9IDE7CiAgICAgfSwKIAogICAgIGhhbmRsZVZvbHVtZVNsaWRl
ckNoYW5nZTogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICBpZiAodGhpcy52aWRlby5t
dXRlZCkKKyAgICAgICAgaWYgKHRoaXMudmlkZW8ubXV0ZWQpIHsKICAgICAgICAgICAgIHRoaXMu
dmlkZW8ubXV0ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHRoaXMuY29udHJvbHMubXV0ZUJ1dHRv
bi5zZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcsICdmYWxzZScpOworICAgICAgICB9CiAgICAg
ICAgIHRoaXMudmlkZW8udm9sdW1lID0gdGhpcy5jb250cm9scy52b2x1bWUudmFsdWU7CiAgICAg
fSwKIApAQCAtNzQzLDkgKzgwMywxMSBAQAogICAgICAgICBpZiAodGhpcy5jYW5QbGF5KCkpIHsK
ICAgICAgICAgICAgIHRoaXMuY29udHJvbHMucGFuZWwuY2xhc3NMaXN0LmFkZCh0aGlzLkNsYXNz
TmFtZXMucGF1c2VkKTsKICAgICAgICAgICAgIHRoaXMuY29udHJvbHMucGxheUJ1dHRvbi5jbGFz
c0xpc3QuYWRkKHRoaXMuQ2xhc3NOYW1lcy5wYXVzZWQpOworICAgICAgICAgICAgdGhpcy5jb250
cm9scy5wbGF5QnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMubG9jKCdQbGF5
JykpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgdGhpcy5jb250cm9scy5wYW5lbC5j
bGFzc0xpc3QucmVtb3ZlKHRoaXMuQ2xhc3NOYW1lcy5wYXVzZWQpOwogICAgICAgICAgICAgdGhp
cy5jb250cm9scy5wbGF5QnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5DbGFzc05hbWVzLnBh
dXNlZCk7CisgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLnBsYXlCdXR0b24uc2V0QXR0cmlidXRl
KCdhcmlhLWxhYmVsJywgdGhpcy5sb2MoJ1BhdXNlJykpOwogCiAgICAgICAgICAgICB0aGlzLmNv
bnRyb2xzLnBhbmVsLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5DbGFzc05hbWVzLnNob3cpOwogICAg
ICAgICAgICAgaWYgKHRoaXMuaGlkZVRpbWVyKQo=
</data>
<flag name="review"
          id="238535"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="238536"
          type_id="3"
          status="-"
          setter="jcraig"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215752</attachid>
            <date>2013-11-01 13:20:12 -0700</date>
            <delta_ts>2013-11-01 14:22:04 -0700</delta_ts>
            <desc>patch with review feedback</desc>
            <filename>webkit121990.patch</filename>
            <type>text/plain</type>
            <size>17323</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE1ODQ0OCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTExLTAxICBKYW1lcyBDcmFpZyAgPGpj
cmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFJlZ3Jlc3Npb246IG1lZGlhIGNvbnRyb2xz
IGFyZSBubyBsb25nZXIgYWNjZXNzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTIxOTkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBmYWlsdXJlIGV4cGVjdGF0aW9uIGFuZCB1cGRhdGVk
IGV4cGVjdGVkIHJlbmRlciBkdW1wIG91dHB1dC4gCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9t
ZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4dDoKKwogMjAxMy0xMC0zMSAgTWFyayBMYW0gIDxtYXJr
LmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogQ3Jhc2hlcyBpbiAtW1VJRGVs
ZWdhdGUgd2ViVmlldzpmcmFtZTpleGNlZWRlZERhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdp
bjpkYXRhYmFzZTpdLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMJKHJldmlzaW9uIDE1ODQ0OCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC0xMjA5LDcgKzEyMDksNiBAQAogCiB3ZWJr
aXQub3JnL2IvMTE0MTkzIHRyYW5zaXRpb25zL2NhbmNlbC10cmFuc2l0aW9uLmh0bWwgWyBQYXNz
IEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMTIxOTkwIGFjY2Vzc2liaWxpdHkvbWVkaWEtZWxl
bWVudC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTIxOTkyIG1lZGlhL21lZGlhLXZv
bHVtZS1zbGlkZXItcmVuZGVyZWQtYmVsb3cuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9i
LzEyMTk5MiBtZWRpYS9tZWRpYS12b2x1bWUtc2xpZGVyLXJlbmRlcmVkLW5vcm1hbC5odG1sIFsg
VGltZW91dCBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMjE5OTUgbWVkaWEvdmlkZW8tY29udHJv
bHMtY2FwdGlvbnMtdHJhY2ttZW51LWhpZGUtb24tY2xpY2stb3V0c2lkZS5odG1sIFsgVGltZW91
dCBGYWlsdXJlIF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5
L21lZGlhLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L21lZGlhLWVsZW1lbnQtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAxNTg0NDgpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9t
ZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw1OSArNCw2MiBA
QAogCiBTdGF0ZSBhdCAnY2FucGxheXRocm91Z2gnIGV2ZW50OgogCi0gICAgZGVzY3JpcHRpb246
IEFYRGVzY3JpcHRpb246IHZpZGVvIHBsYXliYWNrCi0gICAgcm9sZTogQVhSb2xlOiBBWFRvb2xi
YXIKKyAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogCisgICAgcm9sZTogQVhSb2xlOiBB
WEdyb3VwCiAKIAotICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogYmFjayAzMCBz
ZWNvbmRzCi0gICAgICAgIHJvbGU6IEFYUm9sZTogQVhCdXR0b24KKyAgICAgICAgZGVzY3JpcHRp
b246IEFYRGVzY3JpcHRpb246IFZpZGVvIFBsYXliYWNrCisgICAgICAgIHJvbGU6IEFYUm9sZTog
QVhUb29sYmFyCiAKIAotICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogcGxheQot
ICAgICAgICByb2xlOiBBWFJvbGU6IEFYQnV0dG9uCisgICAgICAgICAgICBkZXNjcmlwdGlvbjog
QVhEZXNjcmlwdGlvbjogUmV3aW5kIDMwIFNlY29uZHMKKyAgICAgICAgICAgIHJvbGU6IEFYUm9s
ZTogQVhCdXR0b24KIAogCi0gICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBlbGFw
c2VkIHRpbWUKLSAgICAgICAgcm9sZTogQVhSb2xlOiBBWEdyb3VwCi0gICAgICAgIHN1YnJvbGU6
IEFYU3Vicm9sZTogQVhBcHBsaWNhdGlvblRpbWVyCisgICAgICAgICAgICBkZXNjcmlwdGlvbjog
QVhEZXNjcmlwdGlvbjogUGxheQorICAgICAgICAgICAgcm9sZTogQVhSb2xlOiBBWEJ1dHRvbgog
CiAKLSAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiAKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBFbGFwc2VkCiAgICAgICAgICAgICByb2xlOiBB
WFJvbGU6IEFYR3JvdXAKKyAgICAgICAgICAgIHN1YnJvbGU6IEFYU3Vicm9sZTogQVhBcHBsaWNh
dGlvblRpbWVyCiAKIAogICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9u
OiAKLSAgICAgICAgICAgICAgICByb2xlOiBBWFJvbGU6IEFYU3RhdGljVGV4dAorICAgICAgICAg
ICAgICAgIHJvbGU6IEFYUm9sZTogQVhHcm91cAogCiAKLSAgICAgICAgZGVzY3JpcHRpb246IEFY
RGVzY3JpcHRpb246IAotICAgICAgICByb2xlOiBBWFJvbGU6IEFYU2xpZGVyCi0gICAgICAgIHN1
YnJvbGU6IEFYU3Vicm9sZTogQVhUaW1lbGluZQorICAgICAgICAgICAgICAgICAgICBkZXNjcmlw
dGlvbjogQVhEZXNjcmlwdGlvbjogCisgICAgICAgICAgICAgICAgICAgIHJvbGU6IEFYUm9sZTog
QVhTdGF0aWNUZXh0CiAKIAotICAgICAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246
IAotICAgICAgICAgICAgcm9sZTogQVhSb2xlOiBBWFZhbHVlSW5kaWNhdG9yCisgICAgICAgICAg
ICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogRHVyYXRpb24KKyAgICAgICAgICAgIHJvbGU6
IEFYUm9sZTogQVhTbGlkZXIKIAogCi0gICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9u
OiByZW1haW5pbmcgdGltZQotICAgICAgICByb2xlOiBBWFJvbGU6IEFYR3JvdXAKLSAgICAgICAg
c3Vicm9sZTogQVhTdWJyb2xlOiBBWEFwcGxpY2F0aW9uVGltZXIKKyAgICAgICAgICAgICAgICBk
ZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogCisgICAgICAgICAgICAgICAgcm9sZTogQVhSb2xl
OiBBWFZhbHVlSW5kaWNhdG9yCiAKIAotICAgICAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3Jp
cHRpb246IAorICAgICAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IFJlbWFpbmlu
ZwogICAgICAgICAgICAgcm9sZTogQVhSb2xlOiBBWEdyb3VwCisgICAgICAgICAgICBzdWJyb2xl
OiBBWFN1YnJvbGU6IEFYQXBwbGljYXRpb25UaW1lcgogCiAKICAgICAgICAgICAgICAgICBkZXNj
cmlwdGlvbjogQVhEZXNjcmlwdGlvbjogCi0gICAgICAgICAgICAgICAgcm9sZTogQVhSb2xlOiBB
WFN0YXRpY1RleHQKKyAgICAgICAgICAgICAgICByb2xlOiBBWFJvbGU6IEFYR3JvdXAKIAogCi0g
ICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBlbnRlciBmdWxsc2NyZWVuCi0gICAg
ICAgIHJvbGU6IEFYUm9sZTogQVhCdXR0b24KKyAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRp
b246IEFYRGVzY3JpcHRpb246IAorICAgICAgICAgICAgICAgICAgICByb2xlOiBBWFJvbGU6IEFY
U3RhdGljVGV4dAogCiAKLSAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IG11dGUK
LSAgICAgICAgcm9sZTogQVhSb2xlOiBBWEJ1dHRvbgorICAgICAgICAgICAgZGVzY3JpcHRpb246
IEFYRGVzY3JpcHRpb246IE11dGUKKyAgICAgICAgICAgIHJvbGU6IEFYUm9sZTogQVhDaGVja0Jv
eAogCiAKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBEaXNwbGF5IEZ1
bGwgU2NyZWVuCisgICAgICAgICAgICByb2xlOiBBWFJvbGU6IEFYQ2hlY2tCb3gKIAorCisKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1ODQ0OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEzLTExLTAxICBKYW1lcyBDcmFp
ZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFJlZ3Jlc3Npb246IG1lZGlhIGNv
bnRyb2xzIGFyZSBubyBsb25nZXIgYWNjZXNzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxOTkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCBleGlzdGluZyB0ZXN0IGNvdmVyYWdlLgor
ICAgICAgICBBZGRlZCBBUklBIHJvbGVzLCBhdHRycywgYW5kIGxhYmVscyB0byB0aGUgbmV3IG1l
ZGlhIGNvbnRyb2xzIHNoYWRvdyBET00uCisgICAgICAgIExvY2FsaXphdGlvbiB3aWxsIGJlIGhh
bmRsZWQgaW4gaHR0cDovL3dlYmtpdC5vcmcvYi8xMjA5NTYKKworICAgICAgICAqIE1vZHVsZXMv
bWVkaWFjb250cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUuanM6CisgICAgICAgIChDb250cm9sbGVy
LnByb3RvdHlwZS5VSVN0cmluZyk6CisgICAgICAgIChDb250cm9sbGVyLnByb3RvdHlwZS5jcmVh
dGVDb250cm9scyk6CisgICAgICAgIChDb250cm9sbGVyLnByb3RvdHlwZS5oYW5kbGVMb2FkU3Rh
cnQpOgorICAgICAgICAoQ29udHJvbGxlci5wcm90b3R5cGUuaGFuZGxlRXJyb3IpOgorICAgICAg
ICAoQ29udHJvbGxlci5wcm90b3R5cGUuaGFuZGxlQWJvcnQpOgorICAgICAgICAoQ29udHJvbGxl
ci5wcm90b3R5cGUuaGFuZGxlU3VzcGVuZCk6CisgICAgICAgIChDb250cm9sbGVyLnByb3RvdHlw
ZS5oYW5kbGVTdGFsbGVkKToKKyAgICAgICAgKENvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZVdh
aXRpbmcpOgorICAgICAgICAoQ29udHJvbGxlci5wcm90b3R5cGUuaGFuZGxlRnVsbHNjcmVlbkNo
YW5nZSk6CisgICAgICAgIChDb250cm9sbGVyLnByb3RvdHlwZS5oYW5kbGVNdXRlQnV0dG9uQ2xp
Y2tlZCk6CisgICAgICAgIChDb250cm9sbGVyLnByb3RvdHlwZS5oYW5kbGVNaW5CdXR0b25DbGlj
a2VkKToKKyAgICAgICAgKENvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZU1heEJ1dHRvbkNsaWNr
ZWQpOgorICAgICAgICAoQ29udHJvbGxlci5wcm90b3R5cGUuaGFuZGxlVm9sdW1lU2xpZGVyQ2hh
bmdlKToKKyAgICAgICAgKENvbnRyb2xsZXIucHJvdG90eXBlLnVwZGF0ZVBsYXlpbmcpOgorCiAy
MDEzLTExLTAxICBOaWNrIERpZWdvIFlhbWFuZSAgPG5pY2sueWFtYW5lQG9wZW5ib3NzYS5vcmc+
CiAKICAgICAgICAgRXhwbGljaXRseSBpbml0aWFsaXplIFJlZkNvdW50ZWQgYmFzZSBjbGFzcyBp
biBNZWRpYVN0cmVhbVRyYWNrJ3MgY29uc3RydWN0b3JzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY29udHJvbHMvbWVkaWFDb250cm9sc0FwcGxlLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUu
anMJKHJldmlzaW9uIDE1ODQ0OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250
cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDM5
IEBACiAgICAgICAgIHZvbHVtZUJveDogJ3ZvbHVtZS1ib3gnLAogICAgIH0sCiAKKyAgICAvLyBM
b2NhbGl6ZWQgc3RyaW5nIGFjY2Vzc29yCisgICAgVUlTdHJpbmc6IGZ1bmN0aW9uKHMpeworICAg
ICAgICBpZiAodGhpcy5sb2NhbGl6ZWRTdHJpbmdzW3NdKQorICAgICAgICAgICAgcmV0dXJuIHRo
aXMubG9jYWxpemVkU3RyaW5nc1tzXTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJu
IHM7IC8vIEZJWE1FOiBsb2cgc29tZXRoaW5nIGlmIHN0cmluZyBub3QgbG9jYWxpemVkLgorICAg
IH0sCisgICAgbG9jYWxpemVkU3RyaW5nczogeworICAgICAgICAvLyBGSVhNRTogTW92ZSBsb2Nh
bGl6YXRpb24gdG8gZXh0IHN0cmluZ3MgZmlsZSA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMjA5NTY+
CisgICAgICAgICdBYm9ydGVkJzogJ0Fib3J0ZWQnLAorICAgICAgICAnQXVkaW8gUGxheWJhY2sn
OiAnQXVkaW8gUGxheWJhY2snLAorICAgICAgICAnRGlzcGxheSBGdWxsIFNjcmVlbic6ICdEaXNw
bGF5IEZ1bGwgU2NyZWVuJywKKyAgICAgICAgJ0R1cmF0aW9uJzogJ0R1cmF0aW9uJywKKyAgICAg
ICAgJ0Vycm9yJzogJ0Vycm9yJywKKyAgICAgICAgJ0Zhc3QgRm9yd2FyZCc6ICdGYXN0IEZvcndh
cmQnLAorICAgICAgICAnTG9hZGluZyc6ICdMb2FkaW5nJywKKyAgICAgICAgJ01heGltdW0gVm9s
dW1lJzogJ01heGltdW0gVm9sdW1lJywKKyAgICAgICAgJ01pbmltdW0gVm9sdW1lJzogJ01pbmlt
dW0gVm9sdW1lJywKKyAgICAgICAgJ011dGUnOiAnTXV0ZScsCisgICAgICAgICdQbGF5JzogJ1Bs
YXknLAorICAgICAgICAnUGF1c2UnOiAnUGF1c2UnLAorICAgICAgICAnUmV3aW5kJzogJ1Jld2lu
ZCcsCisgICAgICAgICdSZXdpbmQgJSVzZWMlJSBTZWNvbmRzJzogJ1Jld2luZCAlJXNlYyUlIFNl
Y29uZHMnLAorICAgICAgICAnU2hvdyBDYXB0aW9ucyc6ICdTaG93IENhcHRpb25zJywKKyAgICAg
ICAgJ1N0YWxsZWQnOiAnU3RhbGxlZCcsCisgICAgICAgICdTdXNwZW5kZWQnOiAnU3VzcGVuZGVk
JywKKyAgICAgICAgJ0VsYXBzZWQnOiAnRWxhcHNlZCcsCisgICAgICAgICdSZW1haW5pbmcnOiAn
UmVtYWluaW5nJywKKyAgICAgICAgJ1ZpZGVvIFBsYXliYWNrJzogJ1ZpZGVvIFBsYXliYWNrJywK
KyAgICAgICAgJ1ZvbHVtZSc6ICdWb2x1bWUnLAorICAgICAgICAnV2FpdGluZyc6ICdXYWl0aW5n
JworICAgIH0sCisKICAgICBsaXN0ZW5Gb3I6IGZ1bmN0aW9uKGVsZW1lbnQsIGV2ZW50TmFtZSwg
aGFuZGxlciwgdXNlQ2FwdHVyZSkKICAgICB7CiAgICAgICAgIGlmICh0eXBlb2YgdXNlQ2FwdHVy
ZSA9PT0gJ3VuZGVmaW5lZCcpCkBAIC0xOTcsNiArMjMwLDggQEAKICAgICB7CiAgICAgICAgIHZh
ciBwYW5lbCA9IHRoaXMuY29udHJvbHMucGFuZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKICAgICAgICAgcGFuZWwuc2V0QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdlYmtpdC1tZWRp
YS1jb250cm9scy1wYW5lbCcpOworICAgICAgICBwYW5lbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFi
ZWwnLCAodGhpcy5pc0F1ZGlvKCkgPyB0aGlzLlVJU3RyaW5nKCdBdWRpbyBQbGF5YmFjaycpIDog
dGhpcy5VSVN0cmluZygnVmlkZW8gUGxheWJhY2snKSkpOworICAgICAgICBwYW5lbC5zZXRBdHRy
aWJ1dGUoJ3JvbGUnLCAndG9vbGJhcicpOwogICAgICAgICB0aGlzLmxpc3RlbkZvcihwYW5lbCwg
J21vdXNlZG93bicsIHRoaXMuaGFuZGxlUGFuZWxNb3VzZURvd24pOwogICAgICAgICB0aGlzLmxp
c3RlbkZvcihwYW5lbCwgJ3RyYW5zaXRpb25lbmQnLCB0aGlzLmhhbmRsZVBhbmVsVHJhbnNpdGlv
bkVuZCk7CiAgICAgICAgIHRoaXMubGlzdGVuRm9yKHBhbmVsLCAnY2xpY2snLCB0aGlzLmhhbmRs
ZVBhbmVsQ2xpY2spOwpAQCAtMjA0LDIwICsyMzksMjQgQEAKIAogICAgICAgICB2YXIgcmV3aW5k
QnV0dG9uID0gdGhpcy5jb250cm9scy5yZXdpbmRCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdidXR0b24nKTsKICAgICAgICAgcmV3aW5kQnV0dG9uLnNldEF0dHJpYnV0ZSgncHNldWRv
JywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtcmV3aW5kLWJ1dHRvbicpOworICAgICAgICByZXdp
bmRCdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5VSVN0cmluZygnUmV3aW5k
ICUlc2VjJSUgU2Vjb25kcycpLnJlcGxhY2UoJyUlc2VjJSUnLCB0aGlzLlJld2luZEFtb3VudCkp
OwogICAgICAgICB0aGlzLmxpc3RlbkZvcihyZXdpbmRCdXR0b24sICdjbGljaycsIHRoaXMuaGFu
ZGxlUmV3aW5kQnV0dG9uQ2xpY2tlZCk7CiAKICAgICAgICAgdmFyIHNlZWtCYWNrQnV0dG9uID0g
dGhpcy5jb250cm9scy5zZWVrQmFja0J1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1
dHRvbicpOwogICAgICAgICBzZWVrQmFja0J1dHRvbi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICct
d2Via2l0LW1lZGlhLWNvbnRyb2xzLXNlZWstYmFjay1idXR0b24nKTsKKyAgICAgICAgc2Vla0Jh
Y2tCdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5VSVN0cmluZygnUmV3aW5k
JykpOwogICAgICAgICB0aGlzLmxpc3RlbkZvcihzZWVrQmFja0J1dHRvbiwgJ21vdXNlZG93bics
IHRoaXMuaGFuZGxlU2Vla0JhY2tNb3VzZURvd24pOwogICAgICAgICB0aGlzLmxpc3RlbkZvcihz
ZWVrQmFja0J1dHRvbiwgJ21vdXNldXAnLCB0aGlzLmhhbmRsZVNlZWtCYWNrTW91c2VVcCk7CiAK
ICAgICAgICAgdmFyIHNlZWtGb3J3YXJkQnV0dG9uID0gdGhpcy5jb250cm9scy5zZWVrRm9yd2Fy
ZEJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICBzZWVr
Rm9yd2FyZEJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICctd2Via2l0LW1lZGlhLWNvbnRy
b2xzLXNlZWstZm9yd2FyZC1idXR0b24nKTsKKyAgICAgICAgc2Vla0ZvcndhcmRCdXR0b24uc2V0
QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5VSVN0cmluZygnRmFzdCBGb3J3YXJkJykpOwog
ICAgICAgICB0aGlzLmxpc3RlbkZvcihzZWVrRm9yd2FyZEJ1dHRvbiwgJ21vdXNlZG93bicsIHRo
aXMuaGFuZGxlU2Vla0ZvcndhcmRNb3VzZURvd24pOwogICAgICAgICB0aGlzLmxpc3RlbkZvcihz
ZWVrRm9yd2FyZEJ1dHRvbiwgJ21vdXNldXAnLCB0aGlzLmhhbmRsZVNlZWtGb3J3YXJkTW91c2VV
cCk7CiAKICAgICAgICAgdmFyIHBsYXlCdXR0b24gPSB0aGlzLmNvbnRyb2xzLnBsYXlCdXR0b24g
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgICAgICAgcGxheUJ1dHRvbi5z
ZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9u
Jyk7CisgICAgICAgIHBsYXlCdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5V
SVN0cmluZygnUGxheScpKTsKICAgICAgICAgdGhpcy5saXN0ZW5Gb3IocGxheUJ1dHRvbiwgJ2Ns
aWNrJywgdGhpcy5oYW5kbGVQbGF5QnV0dG9uQ2xpY2tlZCk7CiAKICAgICAgICAgdmFyIHN0YXR1
c0Rpc3BsYXkgPSB0aGlzLmNvbnRyb2xzLnN0YXR1c0Rpc3BsYXkgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKQEAgLTIyOSw5ICsyNjgsMTIgQEAKIAogICAgICAgICB2YXIgY3VycmVu
dFRpbWUgPSB0aGlzLmNvbnRyb2xzLmN1cnJlbnRUaW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CiAgICAgICAgIGN1cnJlbnRUaW1lLnNldEF0dHJpYnV0ZSgncHNldWRvJywgJy13
ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXknKTsKKyAgICAgICAgY3Vy
cmVudFRpbWUuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5VSVN0cmluZygnRWxhcHNl
ZCcpKTsKKyAgICAgICAgY3VycmVudFRpbWUuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3RpbWVyJyk7
CiAKICAgICAgICAgdmFyIHRpbWVsaW5lID0gdGhpcy5jb250cm9scy50aW1lbGluZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CiAgICAgICAgIHRpbWVsaW5lLnNldEF0dHJpYnV0
ZSgncHNldWRvJywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUnKTsKKyAgICAgICAg
dGltZWxpbmUuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5VSVN0cmluZygnRHVyYXRp
b24nKSk7CiAgICAgICAgIHRpbWVsaW5lLnR5cGUgPSAncmFuZ2UnOwogICAgICAgICB0aGlzLmxp
c3RlbkZvcih0aW1lbGluZSwgJ2NoYW5nZScsIHRoaXMuaGFuZGxlVGltZWxpbmVDaGFuZ2UpOwog
ICAgICAgICB0aGlzLmxpc3RlbkZvcih0aW1lbGluZSwgJ21vdXNlb3ZlcicsIHRoaXMuaGFuZGxl
VGltZWxpbmVNb3VzZU92ZXIpOwpAQCAtMjUwLDIwICsyOTIsMjcgQEAKIAogICAgICAgICB2YXIg
cmVtYWluaW5nVGltZSA9IHRoaXMuY29udHJvbHMucmVtYWluaW5nVGltZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICByZW1haW5pbmdUaW1lLnNldEF0dHJpYnV0ZSgn
cHNldWRvJywgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZS1yZW1haW5pbmctZGlzcGxheScp
OworICAgICAgICByZW1haW5pbmdUaW1lLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMu
VUlTdHJpbmcoJ1JlbWFpbmluZycpKTsKKyAgICAgICAgcmVtYWluaW5nVGltZS5zZXRBdHRyaWJ1
dGUoJ3JvbGUnLCAndGltZXInKTsKIAogICAgICAgICB2YXIgbXV0ZUJveCA9IHRoaXMuY29udHJv
bHMubXV0ZUJveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICBtdXRl
Qm94LmNsYXNzTGlzdC5hZGQodGhpcy5DbGFzc05hbWVzLm11dGVCb3gpOwogCiAgICAgICAgIHZh
ciBtdXRlQnV0dG9uID0gdGhpcy5jb250cm9scy5tdXRlQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnYnV0dG9uJyk7CiAgICAgICAgIG11dGVCdXR0b24uc2V0QXR0cmlidXRlKCdwc2V1
ZG8nLCAnLXdlYmtpdC1tZWRpYS1jb250cm9scy1tdXRlLWJ1dHRvbicpOworICAgICAgICBtdXRl
QnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMuVUlTdHJpbmcoJ011dGUnKSk7
CisgICAgICAgIG11dGVCdXR0b24uc2V0QXR0cmlidXRlKCdyb2xlJywgJ2NoZWNrYm94Jyk7Cisg
ICAgICAgIG11dGVCdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAnZmFsc2UnKTsK
ICAgICAgICAgdGhpcy5saXN0ZW5Gb3IobXV0ZUJ1dHRvbiwgJ2NsaWNrJywgdGhpcy5oYW5kbGVN
dXRlQnV0dG9uQ2xpY2tlZCk7CiAKICAgICAgICAgdmFyIG1pbkJ1dHRvbiA9IHRoaXMuY29udHJv
bHMubWluQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7CiAgICAgICAg
IG1pbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICctd2Via2l0LW1lZGlhLWNvbnRyb2xz
LXZvbHVtZS1taW4tYnV0dG9uJyk7CisgICAgICAgIG1pbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2Fy
aWEtbGFiZWwnLCB0aGlzLlVJU3RyaW5nKCdNaW5pbXVtIFZvbHVtZScpKTsKICAgICAgICAgdGhp
cy5saXN0ZW5Gb3IobWluQnV0dG9uLCAnY2xpY2snLCB0aGlzLmhhbmRsZU1pbkJ1dHRvbkNsaWNr
ZWQpOwogCiAgICAgICAgIHZhciBtYXhCdXR0b24gPSB0aGlzLmNvbnRyb2xzLm1heEJ1dHRvbiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICBtYXhCdXR0b24uc2V0
QXR0cmlidXRlKCdwc2V1ZG8nLCAnLXdlYmtpdC1tZWRpYS1jb250cm9scy12b2x1bWUtbWF4LWJ1
dHRvbicpOworICAgICAgICBtYXhCdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhp
cy5VSVN0cmluZygnTWF4aW11bSBWb2x1bWUnKSk7CiAgICAgICAgIHRoaXMubGlzdGVuRm9yKG1h
eEJ1dHRvbiwgJ2NsaWNrJywgdGhpcy5oYW5kbGVNYXhCdXR0b25DbGlja2VkKTsKIAogICAgICAg
ICB2YXIgdm9sdW1lQm94ID0gdGhpcy5jb250cm9scy52b2x1bWVCb3ggPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKQEAgLTI3MSw2ICszMjAsNyBAQAogCiAgICAgICAgIHZhciB2b2x1
bWUgPSB0aGlzLmNvbnRyb2xzLnZvbHVtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0
Jyk7CiAgICAgICAgIHZvbHVtZS5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICctd2Via2l0LW1lZGlh
LWNvbnRyb2xzLXZvbHVtZS1zbGlkZXInKTsKKyAgICAgICAgdm9sdW1lLnNldEF0dHJpYnV0ZSgn
YXJpYS1sYWJlbCcsIHRoaXMuVUlTdHJpbmcoJ1ZvbHVtZScpKTsKICAgICAgICAgdm9sdW1lLnR5
cGUgPSAncmFuZ2UnOwogICAgICAgICB2b2x1bWUubWluID0gMDsKICAgICAgICAgdm9sdW1lLm1h
eCA9IDE7CkBAIC0yNzksMTAgKzMyOSwxNiBAQAogCiAgICAgICAgIHZhciBjYXB0aW9uQnV0dG9u
ID0gdGhpcy5jb250cm9scy5jYXB0aW9uQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
YnV0dG9uJyk7CiAgICAgICAgIGNhcHRpb25CdXR0b24uc2V0QXR0cmlidXRlKCdwc2V1ZG8nLCAn
LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNhcHRpb25zLWJ1dHRvbicpOwor
ICAgICAgICBjYXB0aW9uQnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHRoaXMuVUlT
dHJpbmcoJ1Nob3cgQ2FwdGlvbnMnKSk7CisgICAgICAgIGNhcHRpb25CdXR0b24uc2V0QXR0cmli
dXRlKCdyb2xlJywgJ2NoZWNrYm94Jyk7CisgICAgICAgIGNhcHRpb25CdXR0b24uc2V0QXR0cmli
dXRlKCdhcmlhLWNoZWNrZWQnLCAnZmFsc2UnKTsKICAgICAgICAgdGhpcy5saXN0ZW5Gb3IoY2Fw
dGlvbkJ1dHRvbiwgJ2NsaWNrJywgdGhpcy5oYW5kbGVDYXB0aW9uQnV0dG9uQ2xpY2tlZCk7CiAK
ICAgICAgICAgdmFyIGZ1bGxzY3JlZW5CdXR0b24gPSB0aGlzLmNvbnRyb2xzLmZ1bGxzY3JlZW5C
dXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgICAgICAgZnVsbHNj
cmVlbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3BzZXVkbycsICctd2Via2l0LW1lZGlhLWNvbnRyb2xz
LWZ1bGxzY3JlZW4tYnV0dG9uJyk7CisgICAgICAgIGZ1bGxzY3JlZW5CdXR0b24uc2V0QXR0cmli
dXRlKCdhcmlhLWxhYmVsJywgdGhpcy5VSVN0cmluZygnRGlzcGxheSBGdWxsIFNjcmVlbicpKTsK
KyAgICAgICAgZnVsbHNjcmVlbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnY2hlY2tib3gn
KTsKKyAgICAgICAgZnVsbHNjcmVlbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcs
ICdmYWxzZScpOwogICAgICAgICB0aGlzLmxpc3RlbkZvcihmdWxsc2NyZWVuQnV0dG9uLCAnY2xp
Y2snLCB0aGlzLmhhbmRsZUZ1bGxzY3JlZW5CdXR0b25DbGlja2VkKTsKICAgICB9LAogCkBAIC0z
NTksMzggKzQxNSwzMiBAQAogCiAgICAgaGFuZGxlTG9hZFN0YXJ0OiBmdW5jdGlvbihldmVudCkK
ICAgICB7Ci0gICAgICAgIC8vIEZJWE1FOiBOZWVkcyBsb2NhbGl6YXRpb24gPGh0dHA6Ly93ZWJr
aXQub3JnL2IvMTIwOTU2PgotICAgICAgICB0aGlzLmNvbnRyb2xzLnN0YXR1c0Rpc3BsYXkuaW5u
ZXJUZXh0ID0gJ0xvYWRpbmcnOworICAgICAgICB0aGlzLmNvbnRyb2xzLnN0YXR1c0Rpc3BsYXku
aW5uZXJUZXh0ID0gdGhpcy5VSVN0cmluZygnTG9hZGluZycpOwogICAgIH0sCiAKICAgICBoYW5k
bGVFcnJvcjogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICAvLyBGSVhNRTogTmVlZHMg
bG9jYWxpemF0aW9uIDxodHRwOi8vd2Via2l0Lm9yZy9iLzEyMDk1Nj4KLSAgICAgICAgdGhpcy5j
b250cm9scy5zdGF0dXNEaXNwbGF5LmlubmVyVGV4dCA9ICdFcnJvcic7CisgICAgICAgIHRoaXMu
Y29udHJvbHMuc3RhdHVzRGlzcGxheS5pbm5lclRleHQgPSB0aGlzLlVJU3RyaW5nKCdFcnJvcicp
OwogICAgIH0sCiAKICAgICBoYW5kbGVBYm9ydDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAg
ICAgICAvLyBGSVhNRTogTmVlZHMgbG9jYWxpemF0aW9uIDxodHRwOi8vd2Via2l0Lm9yZy9iLzEy
MDk1Nj4KLSAgICAgICAgdGhpcy5jb250cm9scy5zdGF0dXNEaXNwbGF5LmlubmVyVGV4dCA9ICdB
Ym9ydGVkJzsKKyAgICAgICAgdGhpcy5jb250cm9scy5zdGF0dXNEaXNwbGF5LmlubmVyVGV4dCA9
IHRoaXMuVUlTdHJpbmcoJ0Fib3J0ZWQnKTsKICAgICB9LAogCiAgICAgaGFuZGxlU3VzcGVuZDog
ZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICAvLyBGSVhNRTogTmVlZHMgbG9jYWxpemF0
aW9uIDxodHRwOi8vd2Via2l0Lm9yZy9iLzEyMDk1Nj4KLSAgICAgICAgdGhpcy5jb250cm9scy5z
dGF0dXNEaXNwbGF5LmlubmVyVGV4dCA9ICdTdXNwZW5kZWQnOworICAgICAgICB0aGlzLmNvbnRy
b2xzLnN0YXR1c0Rpc3BsYXkuaW5uZXJUZXh0ID0gdGhpcy5VSVN0cmluZygnU3VzcGVuZGVkJyk7
CiAgICAgfSwKIAogICAgIGhhbmRsZVN0YWxsZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAg
ICAgICAgLy8gRklYTUU6IE5lZWRzIGxvY2FsaXphdGlvbiA8aHR0cDovL3dlYmtpdC5vcmcvYi8x
MjA5NTY+Ci0gICAgICAgIHRoaXMuY29udHJvbHMuc3RhdHVzRGlzcGxheS5pbm5lclRleHQgPSAn
U3RhbGxlZCc7CisgICAgICAgIHRoaXMuY29udHJvbHMuc3RhdHVzRGlzcGxheS5pbm5lclRleHQg
PSB0aGlzLlVJU3RyaW5nKCdTdGFsbGVkJyk7CiAgICAgfSwKIAogICAgIGhhbmRsZVdhaXRpbmc6
IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgLy8gRklYTUU6IE5lZWRzIGxvY2FsaXph
dGlvbiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMjA5NTY+Ci0gICAgICAgIHRoaXMuY29udHJvbHMu
c3RhdHVzRGlzcGxheS5pbm5lclRleHQgPSAnV2FpdGluZyc7CisgICAgICAgIHRoaXMuY29udHJv
bHMuc3RhdHVzRGlzcGxheS5pbm5lclRleHQgPSB0aGlzLlVJU3RyaW5nKCdXYWl0aW5nJyk7CiAg
ICAgfSwKIAogICAgIGhhbmRsZVJlYWR5U3RhdGVDaGFuZ2U6IGZ1bmN0aW9uKGV2ZW50KQpAQCAt
NDY5LDkgKzUxOSwxMSBAQAogCiAgICAgICAgIGlmICh0aGlzLmlzRnVsbFNjcmVlbigpKSB7CiAg
ICAgICAgICAgICB0aGlzLmNvbnRyb2xzLmZ1bGxzY3JlZW5CdXR0b24uY2xhc3NMaXN0LmFkZCh0
aGlzLkNsYXNzTmFtZXMuZXhpdCk7CisgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLmZ1bGxzY3Jl
ZW5CdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAndHJ1ZScpOwogICAgICAgICAg
ICAgdGhpcy5zZXRDb250cm9sc1R5cGUoQ29udHJvbGxlci5GdWxsU2NyZWVuQ29udHJvbHMpOwog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgdGhpcy5jb250cm9scy5mdWxsc2NyZWVuQnV0
dG9uLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5DbGFzc05hbWVzLmV4aXQpOworICAgICAgICAgICAg
dGhpcy5jb250cm9scy5mdWxsc2NyZWVuQnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2Vk
JywgJ2ZhbHNlJyk7CiAgICAgICAgICAgICB0aGlzLnNldENvbnRyb2xzVHlwZShDb250cm9sbGVy
LklubGluZUNvbnRyb2xzKTsKICAgICAgICAgfQogICAgIH0sCkBAIC02MTUsMjYgKzY2NywzNCBA
QAogICAgIGhhbmRsZU11dGVCdXR0b25DbGlja2VkOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAg
ICAgICAgIHRoaXMudmlkZW8ubXV0ZWQgPSAhdGhpcy52aWRlby5tdXRlZDsKKyAgICAgICAgaWYg
KHRoaXMudmlkZW8ubXV0ZWQpCisgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLm11dGVCdXR0b24u
c2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAndHJ1ZScpOwogICAgIH0sCiAKICAgICBoYW5k
bGVNaW5CdXR0b25DbGlja2VkOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIGlmICh0
aGlzLnZpZGVvLm11dGVkKQorICAgICAgICBpZiAodGhpcy52aWRlby5tdXRlZCkgewogICAgICAg
ICAgICAgdGhpcy52aWRlby5tdXRlZCA9IGZhbHNlOworICAgICAgICAgICAgdGhpcy5jb250cm9s
cy5tdXRlQnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJywgJ2ZhbHNlJyk7CisgICAg
ICAgIH0KICAgICAgICAgdGhpcy52aWRlby52b2x1bWUgPSAwOwogICAgIH0sCiAKICAgICBoYW5k
bGVNYXhCdXR0b25DbGlja2VkOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIGlmICh0
aGlzLnZpZGVvLm11dGVkKQorICAgICAgICBpZiAodGhpcy52aWRlby5tdXRlZCkgewogICAgICAg
ICAgICAgdGhpcy52aWRlby5tdXRlZCA9IGZhbHNlOworICAgICAgICAgICAgdGhpcy5jb250cm9s
cy5tdXRlQnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJywgJ2ZhbHNlJyk7CisgICAg
ICAgIH0KICAgICAgICAgdGhpcy52aWRlby52b2x1bWUgPSAxOwogICAgIH0sCiAKICAgICBoYW5k
bGVWb2x1bWVTbGlkZXJDaGFuZ2U6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYg
KHRoaXMudmlkZW8ubXV0ZWQpCisgICAgICAgIGlmICh0aGlzLnZpZGVvLm11dGVkKSB7CiAgICAg
ICAgICAgICB0aGlzLnZpZGVvLm11dGVkID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLmNvbnRy
b2xzLm11dGVCdXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCAnZmFsc2UnKTsKKyAg
ICAgICAgfQogICAgICAgICB0aGlzLnZpZGVvLnZvbHVtZSA9IHRoaXMuY29udHJvbHMudm9sdW1l
LnZhbHVlOwogICAgIH0sCiAKQEAgLTc0Myw5ICs4MDMsMTEgQEAKICAgICAgICAgaWYgKHRoaXMu
Y2FuUGxheSgpKSB7CiAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLnBhbmVsLmNsYXNzTGlzdC5h
ZGQodGhpcy5DbGFzc05hbWVzLnBhdXNlZCk7CiAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLnBs
YXlCdXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNsYXNzTmFtZXMucGF1c2VkKTsKKyAgICAgICAg
ICAgIHRoaXMuY29udHJvbHMucGxheUJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCB0
aGlzLlVJU3RyaW5nKCdQbGF5JykpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgdGhp
cy5jb250cm9scy5wYW5lbC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuQ2xhc3NOYW1lcy5wYXVzZWQp
OwogICAgICAgICAgICAgdGhpcy5jb250cm9scy5wbGF5QnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUo
dGhpcy5DbGFzc05hbWVzLnBhdXNlZCk7CisgICAgICAgICAgICB0aGlzLmNvbnRyb2xzLnBsYXlC
dXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5VSVN0cmluZygnUGF1c2UnKSk7
CiAKICAgICAgICAgICAgIHRoaXMuY29udHJvbHMucGFuZWwuY2xhc3NMaXN0LnJlbW92ZSh0aGlz
LkNsYXNzTmFtZXMuc2hvdyk7CiAgICAgICAgICAgICBpZiAodGhpcy5oaWRlVGltZXIpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>