<?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>79048</bug_id>
          
          <creation_ts>2012-02-20 15:05:53 -0800</creation_ts>
          <short_desc>Enable compositing when a CSS filter is animating</short_desc>
          <delta_ts>2012-03-06 13:01:38 -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>CSS</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>560391</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-02-20 15:05:53 -0800</bug_when>
    <thetext>Now that we have hardware accelerated filters, and support for animation (at least on OS X), we should turn on compositing for animated filters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560392</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-02-20 15:06:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/10420107&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560417</commentid>
    <comment_count>2</comment_count>
      <attachid>127858</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-02-20 15:28:44 -0800</bug_when>
    <thetext>Created attachment 127858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560424</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-02-20 15:38:45 -0800</bug_when>
    <thetext>This patch seems too easy (but it works as verified by CA_PRINT_TREE). Simon, have I missed something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560437</commentid>
    <comment_count>4</comment_count>
      <attachid>127858</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-02-20 16:05:36 -0800</bug_when>
    <thetext>Comment on attachment 127858
Patch

Don&apos;t you need to test the layer output (layerTreeAsText())?.  You&apos;ll also have to be careful that the first animating thing doesn&apos;t throw the rest into layers for the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560491</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-02-20 17:50:47 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 127858 [details])
&gt; Don&apos;t you need to test the layer output (layerTreeAsText())?. 

Added a new test for that, but I&apos;ve run into a problem.

&gt; You&apos;ll also have to be careful that the first animating thing doesn&apos;t throw the rest into layers for the test.

I&apos;ve added a couple of non-filtered elements.

The problem is that the fix doesn&apos;t work in WebKit2. It works fine in WK1, but with WK2 the layer updates don&apos;t get painted. I do see the object jump into compositing mode, but only repaint if I do something tricky in the inspector (like highlight the object, then it paints that frame once).

I&apos;ve attached a simple example that exercises the feature. Hover over the first blue rectangle and it should animate. Doesn&apos;t work in WK2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560492</commentid>
    <comment_count>6</comment_count>
      <attachid>127879</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-02-20 17:52:12 -0800</bug_when>
    <thetext>Created attachment 127879
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560493</commentid>
    <comment_count>7</comment_count>
      <attachid>127880</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-02-20 17:53:08 -0800</bug_when>
    <thetext>Created attachment 127880
WK2 No Worky Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571057</commentid>
    <comment_count>8</comment_count>
      <attachid>130206</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-03-05 14:40:06 -0800</bug_when>
    <thetext>Created attachment 130206
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571058</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-05 14:43:17 -0800</bug_when>
    <thetext>Attachment 130206 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/css3...&quot; exit_code: 1
Source/WebCore/rendering/RenderLayerCompositor.cpp:1514:  Line contains only semicolon. If this should be an empty statement, use { } instead.  [whitespace/semicolon] [5]
Total errors found: 1 in 7 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>571075</commentid>
    <comment_count>10</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-03-05 15:01:06 -0800</bug_when>
    <thetext>Style checker failure is because I have the semicolon for the return statement on a blank line, due to the #if. I think that&apos;s ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571127</commentid>
    <comment_count>11</comment_count>
      <attachid>130206</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-05 16:02:32 -0800</bug_when>
    <thetext>Comment on attachment 130206
Patch

Attachment 130206 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11836027

New failing tests:
css3/filters/composited-during-animation-layertree.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571213</commentid>
    <comment_count>12</comment_count>
      <attachid>130206</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-03-05 17:03:30 -0800</bug_when>
    <thetext>Comment on attachment 130206
Patch

Patch no worky in the case where an element is already composited. Also, layer tree output is platform-specific (as shown in failing test for chromium)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571446</commentid>
    <comment_count>13</comment_count>
      <attachid>130281</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-03-05 21:37:41 -0800</bug_when>
    <thetext>Created attachment 130281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571447</commentid>
    <comment_count>14</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-03-05 21:39:00 -0800</bug_when>
    <thetext>The platform that will produce interesting results for the layout tests is mac-future, but those results are not included here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571494</commentid>
    <comment_count>15</comment_count>
      <attachid>130281</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-05 22:31:02 -0800</bug_when>
    <thetext>Comment on attachment 130281
Patch

Attachment 130281 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11833185

New failing tests:
css3/filters/composited-during-transition-layertree.html
css3/filters/composited-during-animation-layertree.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572079</commentid>
    <comment_count>16</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-03-06 12:53:09 -0800</bug_when>
    <thetext>I&apos;m not sure why the chromium tests are failing. Since the results are platform specific anyway, I&apos;ll put them in the platform dir.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572085</commentid>
    <comment_count>17</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-03-06 13:01:38 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/109953</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127858</attachid>
            <date>2012-02-20 15:28:44 -0800</date>
            <delta_ts>2012-02-20 17:52:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79048-20120220152843.patch</filename>
            <type>text/plain</type>
            <size>11127</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlmMGQ5ODkwYzViMmMy
ZDNmYTQ3NDVmZDYwZGU3MGI1OWYxMDU1ZC4uMjVkY2ZmODNiOWI4YTYxOTQwOTNkNGIyZTM3ZTc3
ODg5Y2FmZWE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAyLTIwICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgY29tcG9zaXRpbmcg
d2hlbiBhIENTUyBmaWx0ZXIgaXMgYW5pbWF0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IHNvbWUgc3lzdGVtcyAoZS5nLiBPUyBYKSBo
YXZlIGJvdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQKKyAgICAgICAgQ1NTIGZpbHRlcnMsIGFuZCB0
aGUgYWJpbGl0eSB0byBhbmltYXRlIHRoZW0gdmlhIHRoZSBoYXJkd2FyZQorICAgICAgICBjb21w
b3NpdG9yLCBhbGwgQ1NTIGZpbHRlcnMgc2hvdWxkIGJlIGNvbXBvc2l0ZWQgd2hlbiBhbmltYXRp
bmcuCisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1h
dGlvbi5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21w
b3NpdGluZ0ZvckFuaW1hdGlvbik6CisgICAgICAgICAgICBBZGQgdGVzdCBmb3IgQ1NTV2ViS2l0
RmlsdGVyIHByb3BlcnR5LgorCiAyMDEyLTAyLTIwICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBs
ZS5jb20+CiAKICAgICAgICAgVXBkYXRlZCBMb2NhbGl6YWJsZS5zdHJpbmdzIGFmdGVyIHIxMDc0
NDAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCmluZGV4IDVlMjUxMWMwYjhhODJiM2FkOWIyYTk2NGFlODAxNDhlMDRjNGRmN2IuLmJk
ODE4MDUxZGRjZGQ5MzE4MjVjZjdjNTUzMmUyMjkxOTdkOWU3YjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC0xNTA1LDcg
KzE1MDUsMTEgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRp
bmdGb3JBbmltYXRpb24oUmVuZGVyT2JqZWN0KiByZW5kZXIKIAogICAgIGlmIChBbmltYXRpb25D
b250cm9sbGVyKiBhbmltQ29udHJvbGxlciA9IHJlbmRlcmVyLT5hbmltYXRpb24oKSkgewogICAg
ICAgICByZXR1cm4gKGFuaW1Db250cm9sbGVyLT5pc1J1bm5pbmdBbmltYXRpb25PblJlbmRlcmVy
KHJlbmRlcmVyLCBDU1NQcm9wZXJ0eU9wYWNpdHkpICYmIGluQ29tcG9zaXRpbmdNb2RlKCkpCi0g
ICAgICAgICAgICB8fCBhbmltQ29udHJvbGxlci0+aXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJl
cihyZW5kZXJlciwgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pOworICAgICAgICAgICAgfHwg
YW5pbUNvbnRyb2xsZXItPmlzUnVubmluZ0FuaW1hdGlvbk9uUmVuZGVyZXIocmVuZGVyZXIsIENT
U1Byb3BlcnR5V2Via2l0VHJhbnNmb3JtKQorI2lmIEVOQUJMRShDU1NfRklMVEVSUykKKyAgICAg
ICAgICAgIHx8IGFuaW1Db250cm9sbGVyLT5pc1J1bm5pbmdBbmltYXRpb25PblJlbmRlcmVyKHJl
bmRlcmVyLCBDU1NQcm9wZXJ0eVdlYmtpdEZpbHRlcikKKyNlbmRpZgorICAgICAgICAgICAgOwog
ICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2NjMmM5YWI5ZmZkNWFjMGU2ODdl
NGJlNDhmNzAzMmRhZjFhYWM4Mi4uODQ0OTc5MmM1MmM3NGNmN2U4MTZjODI1MGY5MDBmZmJiMzRh
NzMzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAyLTIwICBEZWFuIEphY2tzb24gIDxk
aW5vQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgY29tcG9zaXRpbmcgd2hlbiBhIENTUyBm
aWx0ZXIgaXMgYW5pbWF0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03OTA0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmlu
Zy1hbmltYXRpb24uaHRtbDogQWRkZWQuCisKIDIwMTItMDItMjAgIENzYWJhIE9zenRyb2dvbsOh
YyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZyBhZnRl
ciByMTA4MjI2LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0
ZWQtZHVyaW5nLWFuaW1hdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvY29tcG9zaXRlZC1kdXJpbmctYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
MGYzMzE3ZGJiMDQ3NzEyNGI1ZTRlNzRlOTEyNmQzYmEzZjljYTE2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorICAgICAgICAKK1BBU1M6IEVsZW1lbnQgZ3Jh
eXNjYWxlLWJveCBoYWQgZmlsdGVyIHZhbHVlIGdyYXlzY2FsZSgxKSBiZWZvcmUgYW5pbWF0aW9u
LgorUEFTUzogRWxlbWVudCBzZXBpYS1ib3ggaGFkIGZpbHRlciB2YWx1ZSBzZXBpYSgxKSBiZWZv
cmUgYW5pbWF0aW9uLgorUEFTUzogRWxlbWVudCBzYXR1cmF0ZS1ib3ggaGFkIGZpbHRlciB2YWx1
ZSBzYXR1cmF0ZSgxKSBiZWZvcmUgYW5pbWF0aW9uLgorUEFTUzogRWxlbWVudCBodWVyb3RhdGUt
Ym94IGhhZCBmaWx0ZXIgdmFsdWUgaHVlLXJvdGF0ZSg5MGRlZykgYmVmb3JlIGFuaW1hdGlvbi4K
K1BBU1M6IEVsZW1lbnQgaW52ZXJ0LWJveCBoYWQgZmlsdGVyIHZhbHVlIGludmVydCgxKSBiZWZv
cmUgYW5pbWF0aW9uLgorUEFTUzogRWxlbWVudCBvcGFjaXR5LWJveCBoYWQgZmlsdGVyIHZhbHVl
IG9wYWNpdHkoMCkgYmVmb3JlIGFuaW1hdGlvbi4KK1BBU1M6IEVsZW1lbnQgYnJpZ2h0bmVzcy1i
b3ggaGFkIGZpbHRlciB2YWx1ZSBicmlnaHRuZXNzKDApIGJlZm9yZSBhbmltYXRpb24uCitQQVNT
OiBFbGVtZW50IGNvbnRyYXN0LWJveCBoYWQgZmlsdGVyIHZhbHVlIGNvbnRyYXN0KDApIGJlZm9y
ZSBhbmltYXRpb24uCitQQVNTOiBFbGVtZW50IGJsdXItYm94IGhhZCBmaWx0ZXIgdmFsdWUgYmx1
cigxMHB4KSBiZWZvcmUgYW5pbWF0aW9uLgorUEFTUyAtICJ3ZWJraXRGaWx0ZXIiIHByb3BlcnR5
IGZvciAiZ3JheXNjYWxlLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRv
OiBncmF5c2NhbGUoMC41KQorUEFTUyAtICJ3ZWJraXRGaWx0ZXIiIHByb3BlcnR5IGZvciAic2Vw
aWEtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IHNlcGlhKDAuNSkK
K1BBU1MgLSAid2Via2l0RmlsdGVyIiBwcm9wZXJ0eSBmb3IgInNhdHVyYXRlLWJveCIgZWxlbWVu
dCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBzYXR1cmF0ZSgwLjUpCitQQVNTIC0gIndl
YmtpdEZpbHRlciIgcHJvcGVydHkgZm9yICJodWVyb3RhdGUtYm94IiBlbGVtZW50IGF0IDFzIHNh
dyBzb21ldGhpbmcgY2xvc2UgdG86IGh1ZS1yb3RhdGUoOTBkZWcpCitQQVNTIC0gIndlYmtpdEZp
bHRlciIgcHJvcGVydHkgZm9yICJpbnZlcnQtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhp
bmcgY2xvc2UgdG86IGludmVydCgwLjUpCitQQVNTIC0gIndlYmtpdEZpbHRlciIgcHJvcGVydHkg
Zm9yICJvcGFjaXR5LWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBv
cGFjaXR5KDAuNSkKK1BBU1MgLSAid2Via2l0RmlsdGVyIiBwcm9wZXJ0eSBmb3IgImJyaWdodG5l
c3MtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGJyaWdodG5lc3Mo
MC41KQorUEFTUyAtICJ3ZWJraXRGaWx0ZXIiIHByb3BlcnR5IGZvciAiY29udHJhc3QtYm94IiBl
bGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNvbnRyYXN0KDAuNSkKK1BBU1Mg
LSAid2Via2l0RmlsdGVyIiBwcm9wZXJ0eSBmb3IgImJsdXItYm94IiBlbGVtZW50IGF0IDFzIHNh
dyBzb21ldGhpbmcgY2xvc2UgdG86IGJsdXIoMTBweCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdhYWI3YTFlN2QwYWY3ZjBiZDc2YjFlMzljYjNmNWU4MTJlZTZjZGMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY29tcG9zaXRlZC1kdXJpbmctYW5p
bWF0aW9uLmh0bWwKQEAgLTAsMCArMSwxODcgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4K
KzxoZWFkPgorICA8c3R5bGU+CisgICAgaW1nIHsKKyAgICAgICAgbWFyZ2luOiAxMHB4OworICAg
IH0KKworICAgIC5hbmltYXRpbmcgaW1nIHsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVy
YXRpb246IDJzICFpbXBvcnRhbnQ7CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1m
dW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7CisgICAgfQorCisgICAgI2dyYXlzY2FsZS1ib3gg
eworICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBncmF5c2NhbGUtYW5pbTsKKyAgICAg
ICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxKTsKKyAgICB9CisKKyAgICAjc2VwaWEtYm94
IHsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNlcGlhLWFuaW07CisgICAgICAgIC13ZWJr
aXQtZmlsdGVyOiBzZXBpYSgxKTsKKyAgICB9CisKKyAgICAjc2F0dXJhdGUtYm94IHsKKyAgICAg
ICAgLXdlYmtpdC1hbmltYXRpb246IHNhdHVyYXRlLWFuaW07CisgICAgICAgIC13ZWJraXQtZmls
dGVyOiBzYXR1cmF0ZSgxKTsKKyAgICB9CisKKyAgICAjaHVlcm90YXRlLWJveCB7CisgICAgICAg
IC13ZWJraXQtYW5pbWF0aW9uOiBodWVyb3RhdGUtYW5pbTsKKyAgICAgICAgLXdlYmtpdC1maWx0
ZXI6IGh1ZS1yb3RhdGUoOTBkZWcpOworICAgIH0KKworICAgICNpbnZlcnQtYm94IHsKKyAgICAg
ICAgLXdlYmtpdC1hbmltYXRpb246IGludmVydC1hbmltOworICAgICAgICAtd2Via2l0LWZpbHRl
cjogaW52ZXJ0KDEpOworICAgIH0KKworICAgICNvcGFjaXR5LWJveCB7CisgICAgICAgIC13ZWJr
aXQtYW5pbWF0aW9uOiBvcGFjaXR5LWFuaW07CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBvcGFj
aXR5KDApOworICAgIH0KKworICAgICNicmlnaHRuZXNzLWJveCB7CisgICAgICAgIC13ZWJraXQt
YW5pbWF0aW9uOiBicmlnaHRuZXNzLWFuaW07CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBicmln
aHRuZXNzKDApOworICAgIH0KKworICAgICNjb250cmFzdC1ib3ggeworICAgICAgICAtd2Via2l0
LWFuaW1hdGlvbjogY29udHJhc3QtYW5pbTsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGNvbnRy
YXN0KDApOworICAgIH0KKworICAgICNibHVyLWJveCB7CisgICAgICAgIC13ZWJraXQtYW5pbWF0
aW9uOiBibHVyLWFuaW07CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDEwcHgpOworICAg
IH0KKworCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIGdyYXlzY2FsZS1hbmltIHsKKyAgICAgICAg
ZnJvbSB7IC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMCk7IH0KKyAgICAgICAgdG8gICB7IC13
ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMSk7IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlm
cmFtZXMgc2VwaWEtYW5pbSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LWZpbHRlcjogc2VwaWEo
MCk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtZmlsdGVyOiBzZXBpYSgxKTsgfQorICAgIH0K
KworICAgIEAtd2Via2l0LWtleWZyYW1lcyBzYXR1cmF0ZS1hbmltIHsKKyAgICAgICAgZnJvbSB7
IC13ZWJraXQtZmlsdGVyOiBzYXR1cmF0ZSgwKTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1m
aWx0ZXI6IHNhdHVyYXRlKDEpOyB9CisgICAgfQorCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIGh1
ZXJvdGF0ZS1hbmltIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtZmlsdGVyOiBodWUtcm90YXRl
KDApOyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0LWZpbHRlcjogaHVlLXJvdGF0ZSgxODBkZWcp
OyB9CisgICAgfQorCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIGludmVydC1hbmltIHsKKyAgICAg
ICAgZnJvbSB7IC13ZWJraXQtZmlsdGVyOiBpbnZlcnQoMCk7IH0KKyAgICAgICAgdG8gICB7IC13
ZWJraXQtZmlsdGVyOiBpbnZlcnQoMSk7IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFt
ZXMgb3BhY2l0eS1hbmltIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtZmlsdGVyOiBvcGFjaXR5
KDEpOyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0LWZpbHRlcjogb3BhY2l0eSgwKTsgfQorICAg
IH0KKworICAgIEAtd2Via2l0LWtleWZyYW1lcyBicmlnaHRuZXNzLWFuaW0geworICAgICAgICBm
cm9tIHsgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMSk7IH0KKyAgICAgICAgdG8gICB7IC13
ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDApOyB9CisgICAgfQorCisgICAgQC13ZWJraXQta2V5
ZnJhbWVzIGNvbnRyYXN0LWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6IGNv
bnRyYXN0KDEpOyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0LWZpbHRlcjogY29udHJhc3QoMCk7
IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgYmx1ci1hbmltIHsKKyAgICAgICAg
ZnJvbSB7IC13ZWJraXQtZmlsdGVyOiBibHVyKDApOyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0
LWZpbHRlcjogYmx1cigyMHB4KTsgfQorICAgIH0KKworICA8L3N0eWxlPgorICA8c2NyaXB0IHNy
Yz0iLi4vLi4vYW5pbWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qcyI+
PC9zY3JpcHQ+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworICAgIGNvbnN0
IHByZUV4cGVjdGVkVmFsdWVzID0gWworICAgICAgICAvLyBbZWxlbWVudC1pZCwgcHJvcGVydHks
IGV4cGVjdGVkLXZhbHVlXQorICAgICAgICBbImdyYXlzY2FsZS1ib3giLCAid2Via2l0RmlsdGVy
IiwgJ2dyYXlzY2FsZSgxKSddLAorICAgICAgICBbInNlcGlhLWJveCIsICJ3ZWJraXRGaWx0ZXIi
LCAnc2VwaWEoMSknXSwKKyAgICAgICAgWyJzYXR1cmF0ZS1ib3giLCAid2Via2l0RmlsdGVyIiwg
J3NhdHVyYXRlKDEpJ10sCisgICAgICAgIFsiaHVlcm90YXRlLWJveCIsICJ3ZWJraXRGaWx0ZXIi
LCAnaHVlLXJvdGF0ZSg5MGRlZyknXSwKKyAgICAgICAgWyJpbnZlcnQtYm94IiwgIndlYmtpdEZp
bHRlciIsICdpbnZlcnQoMSknXSwKKyAgICAgICAgWyJvcGFjaXR5LWJveCIsICJ3ZWJraXRGaWx0
ZXIiLCAnb3BhY2l0eSgwKSddLAorICAgICAgICBbImJyaWdodG5lc3MtYm94IiwgIndlYmtpdEZp
bHRlciIsICdicmlnaHRuZXNzKDApJ10sCisgICAgICAgIFsiY29udHJhc3QtYm94IiwgIndlYmtp
dEZpbHRlciIsICdjb250cmFzdCgwKSddLAorICAgICAgICBbImJsdXItYm94IiwgIndlYmtpdEZp
bHRlciIsICdibHVyKDEwcHgpJ10sCisgICAgXTsKKworICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVz
ID0gWworICAgICAgICAvLyBbYW5pbWF0aW9uLW5hbWUsIHRpbWUsIGVsZW1lbnQtaWQsIHByb3Bl
cnR5LCBleHBlY3RlZC12YWx1ZSwgdG9sZXJhbmNlXQorICAgICAgICBbImdyYXlzY2FsZS1hbmlt
IiwgIDEsICJncmF5c2NhbGUtYm94IiwgIndlYmtpdEZpbHRlciIsICdncmF5c2NhbGUoMC41KScs
IDAuMTVdLAorICAgICAgICBbInNlcGlhLWFuaW0iLCAgMSwgInNlcGlhLWJveCIsICJ3ZWJraXRG
aWx0ZXIiLCAnc2VwaWEoMC41KScsIDAuMTVdLAorICAgICAgICBbInNhdHVyYXRlLWFuaW0iLCAg
MSwgInNhdHVyYXRlLWJveCIsICJ3ZWJraXRGaWx0ZXIiLCAnc2F0dXJhdGUoMC41KScsIDAuMTVd
LAorICAgICAgICBbImh1ZXJvdGF0ZS1hbmltIiwgIDEsICJodWVyb3RhdGUtYm94IiwgIndlYmtp
dEZpbHRlciIsICdodWUtcm90YXRlKDkwZGVnKScsIDIwXSwKKyAgICAgICAgWyJpbnZlcnQtYW5p
bSIsICAxLCAiaW52ZXJ0LWJveCIsICJ3ZWJraXRGaWx0ZXIiLCAnaW52ZXJ0KDAuNSknLCAwLjE1
XSwKKyAgICAgICAgWyJvcGFjaXR5LWFuaW0iLCAgMSwgIm9wYWNpdHktYm94IiwgIndlYmtpdEZp
bHRlciIsICdvcGFjaXR5KDAuNSknLCAwLjE1XSwKKyAgICAgICAgWyJicmlnaHRuZXNzLWFuaW0i
LCAgMSwgImJyaWdodG5lc3MtYm94IiwgIndlYmtpdEZpbHRlciIsICdicmlnaHRuZXNzKDAuNSkn
LCAwLjE1XSwKKyAgICAgICAgWyJjb250cmFzdC1hbmltIiwgIDEsICJjb250cmFzdC1ib3giLCAi
d2Via2l0RmlsdGVyIiwgJ2NvbnRyYXN0KDAuNSknLCAwLjE1XSwKKyAgICAgICAgWyJibHVyLWFu
aW0iLCAgMSwgImJsdXItYm94IiwgIndlYmtpdEZpbHRlciIsICdibHVyKDEwcHgpJywgNF0sCisg
ICAgXTsKKworICAgIGZ1bmN0aW9uIHJ1blByZVRlc3QoKSB7CisgICAgICAgIHZhciBwcmVSZXN1
bHQgPSAiIjsKKworICAgICAgICBmb3IgKHZhciBpPTA7IGkgPCBwcmVFeHBlY3RlZFZhbHVlcy5s
ZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIGlkID0gcHJlRXhwZWN0ZWRWYWx1ZXNbaV1b
MF07CisgICAgICAgICAgICB2YXIgcHJvcCA9IHByZUV4cGVjdGVkVmFsdWVzW2ldWzFdOworICAg
ICAgICAgICAgdmFyIGV4cGVjdGVkID0gcHJlRXhwZWN0ZWRWYWx1ZXNbaV1bMl07CisgICAgICAg
ICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICAgICAg
ICAgIHZhciBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudClb
cHJvcF07CisgICAgICAgICAgICBpZiAoY29tcHV0ZWRTdHlsZSA9PSBleHBlY3RlZCkKKyAgICAg
ICAgICAgICAgcHJlUmVzdWx0ICs9ICJQQVNTOiBFbGVtZW50ICIgKyBpZCArICIgaGFkIGZpbHRl
ciB2YWx1ZSAiICsgZXhwZWN0ZWQgKyAiIGJlZm9yZSBhbmltYXRpb24uPGJyPiI7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgIHByZVJlc3VsdCArPSAiRkFJTDogRWxlbWVudCAiICsg
aWQgKyAiIGhhZCBmaWx0ZXIgdmFsdWUgIiArIGNvbXB1dGVkU3R5bGUgKyAiIHJhdGhlciB0aGFu
ICIgKyBleHBlY3RlZCArICIgYmVmb3JlIGFuaW1hdGlvbi48YnI+IjsKKyAgICAgICAgfQorICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJlcmVzdWx0IikuaW5uZXJIVE1MID0gcHJl
UmVzdWx0OworICAgICAgCisgICAgICAgIC8vIENvbXBsZXRlZCB0aGUgcHJlLWFuaW1hdGlvbiB0
ZXN0cy4gTm93IHN0YXJ0IHRoZSBhbmltYXRpb24uCisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rp
b24gKCkgeworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSAiYW5pbWF0aW5n
IjsKKyAgICAgICAgICAgIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOworICAgICAg
ICB9LCAwKTsKKyAgICB9CisgICAgCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisgICAgCisgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5QcmVUZXN0LCBmYWxzZSk7CisgIDwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNl
LnBuZyIgaWQ9ImdyYXlzY2FsZS1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2Uu
cG5nIiBpZD0ic2VwaWEtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIg
aWQ9InNhdHVyYXRlLWJveCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlk
PSJodWVyb3RhdGUtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9
ImludmVydC1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0ib3Bh
Y2l0eS1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0iYnJpZ2h0
bmVzcy1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0iY29udHJh
c3QtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9ImJsdXItYm94
Ij4KKworPCEtLSB0aGlzIHJlc3VsdCBlbGVtZW50IGlzIGZpbGxlZCBpbiB0aGUgc2NyaXB0IGFi
b3ZlLCBiZWZvcmUgdGhlIGFuaW1hdGlvbnMgc3RhcnQgLS0+Cis8ZGl2IGlkPSJwcmVyZXN1bHQi
PgorPC9kaXY+CisKKzwhLS0gdGhpcyByZXN1bHQgZWxlbWVudCBpcyBmaWxsZWQgYnkgdGhlIGFu
aW1hdGlvbiB0ZXN0IHN5c3RlbSAtLT4KKzxkaXYgaWQ9InJlc3VsdCI+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127879</attachid>
            <date>2012-02-20 17:52:12 -0800</date>
            <delta_ts>2012-03-05 14:39:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79048-20120220175211.patch</filename>
            <type>text/plain</type>
            <size>14546</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlmMGQ5ODkwYzViMmMy
ZDNmYTQ3NDVmZDYwZGU3MGI1OWYxMDU1ZC4uMjVkY2ZmODNiOWI4YTYxOTQwOTNkNGIyZTM3ZTc3
ODg5Y2FmZWE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAyLTIwICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgY29tcG9zaXRpbmcg
d2hlbiBhIENTUyBmaWx0ZXIgaXMgYW5pbWF0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IHNvbWUgc3lzdGVtcyAoZS5nLiBPUyBYKSBo
YXZlIGJvdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQKKyAgICAgICAgQ1NTIGZpbHRlcnMsIGFuZCB0
aGUgYWJpbGl0eSB0byBhbmltYXRlIHRoZW0gdmlhIHRoZSBoYXJkd2FyZQorICAgICAgICBjb21w
b3NpdG9yLCBhbGwgQ1NTIGZpbHRlcnMgc2hvdWxkIGJlIGNvbXBvc2l0ZWQgd2hlbiBhbmltYXRp
bmcuCisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1h
dGlvbi5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21w
b3NpdGluZ0ZvckFuaW1hdGlvbik6CisgICAgICAgICAgICBBZGQgdGVzdCBmb3IgQ1NTV2ViS2l0
RmlsdGVyIHByb3BlcnR5LgorCiAyMDEyLTAyLTIwICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBs
ZS5jb20+CiAKICAgICAgICAgVXBkYXRlZCBMb2NhbGl6YWJsZS5zdHJpbmdzIGFmdGVyIHIxMDc0
NDAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCmluZGV4IDVlMjUxMWMwYjhhODJiM2FkOWIyYTk2NGFlODAxNDhlMDRjNGRmN2IuLmJk
ODE4MDUxZGRjZGQ5MzE4MjVjZjdjNTUzMmUyMjkxOTdkOWU3YjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC0xNTA1LDcg
KzE1MDUsMTEgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRp
bmdGb3JBbmltYXRpb24oUmVuZGVyT2JqZWN0KiByZW5kZXIKIAogICAgIGlmIChBbmltYXRpb25D
b250cm9sbGVyKiBhbmltQ29udHJvbGxlciA9IHJlbmRlcmVyLT5hbmltYXRpb24oKSkgewogICAg
ICAgICByZXR1cm4gKGFuaW1Db250cm9sbGVyLT5pc1J1bm5pbmdBbmltYXRpb25PblJlbmRlcmVy
KHJlbmRlcmVyLCBDU1NQcm9wZXJ0eU9wYWNpdHkpICYmIGluQ29tcG9zaXRpbmdNb2RlKCkpCi0g
ICAgICAgICAgICB8fCBhbmltQ29udHJvbGxlci0+aXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJl
cihyZW5kZXJlciwgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pOworICAgICAgICAgICAgfHwg
YW5pbUNvbnRyb2xsZXItPmlzUnVubmluZ0FuaW1hdGlvbk9uUmVuZGVyZXIocmVuZGVyZXIsIENT
U1Byb3BlcnR5V2Via2l0VHJhbnNmb3JtKQorI2lmIEVOQUJMRShDU1NfRklMVEVSUykKKyAgICAg
ICAgICAgIHx8IGFuaW1Db250cm9sbGVyLT5pc1J1bm5pbmdBbmltYXRpb25PblJlbmRlcmVyKHJl
bmRlcmVyLCBDU1NQcm9wZXJ0eVdlYmtpdEZpbHRlcikKKyNlbmRpZgorICAgICAgICAgICAgOwog
ICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2NjMmM5YWI5ZmZkNWFjMGU2ODdl
NGJlNDhmNzAzMmRhZjFhYWM4Mi4uODQ0OTc5MmM1MmM3NGNmN2U4MTZjODI1MGY5MDBmZmJiMzRh
NzMzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAyLTIwICBEZWFuIEphY2tzb24gIDxk
aW5vQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgY29tcG9zaXRpbmcgd2hlbiBhIENTUyBm
aWx0ZXIgaXMgYW5pbWF0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03OTA0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmlu
Zy1hbmltYXRpb24uaHRtbDogQWRkZWQuCisKIDIwMTItMDItMjAgIENzYWJhIE9zenRyb2dvbsOh
YyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZyBhZnRl
ciByMTA4MjI2LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0
ZWQtZHVyaW5nLWFuaW1hdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvY29tcG9zaXRlZC1kdXJpbmctYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
MGYzMzE3ZGJiMDQ3NzEyNGI1ZTRlNzRlOTEyNmQzYmEzZjljYTE2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorICAgICAgICAKK1BBU1M6IEVsZW1lbnQgZ3Jh
eXNjYWxlLWJveCBoYWQgZmlsdGVyIHZhbHVlIGdyYXlzY2FsZSgxKSBiZWZvcmUgYW5pbWF0aW9u
LgorUEFTUzogRWxlbWVudCBzZXBpYS1ib3ggaGFkIGZpbHRlciB2YWx1ZSBzZXBpYSgxKSBiZWZv
cmUgYW5pbWF0aW9uLgorUEFTUzogRWxlbWVudCBzYXR1cmF0ZS1ib3ggaGFkIGZpbHRlciB2YWx1
ZSBzYXR1cmF0ZSgxKSBiZWZvcmUgYW5pbWF0aW9uLgorUEFTUzogRWxlbWVudCBodWVyb3RhdGUt
Ym94IGhhZCBmaWx0ZXIgdmFsdWUgaHVlLXJvdGF0ZSg5MGRlZykgYmVmb3JlIGFuaW1hdGlvbi4K
K1BBU1M6IEVsZW1lbnQgaW52ZXJ0LWJveCBoYWQgZmlsdGVyIHZhbHVlIGludmVydCgxKSBiZWZv
cmUgYW5pbWF0aW9uLgorUEFTUzogRWxlbWVudCBvcGFjaXR5LWJveCBoYWQgZmlsdGVyIHZhbHVl
IG9wYWNpdHkoMCkgYmVmb3JlIGFuaW1hdGlvbi4KK1BBU1M6IEVsZW1lbnQgYnJpZ2h0bmVzcy1i
b3ggaGFkIGZpbHRlciB2YWx1ZSBicmlnaHRuZXNzKDApIGJlZm9yZSBhbmltYXRpb24uCitQQVNT
OiBFbGVtZW50IGNvbnRyYXN0LWJveCBoYWQgZmlsdGVyIHZhbHVlIGNvbnRyYXN0KDApIGJlZm9y
ZSBhbmltYXRpb24uCitQQVNTOiBFbGVtZW50IGJsdXItYm94IGhhZCBmaWx0ZXIgdmFsdWUgYmx1
cigxMHB4KSBiZWZvcmUgYW5pbWF0aW9uLgorUEFTUyAtICJ3ZWJraXRGaWx0ZXIiIHByb3BlcnR5
IGZvciAiZ3JheXNjYWxlLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRv
OiBncmF5c2NhbGUoMC41KQorUEFTUyAtICJ3ZWJraXRGaWx0ZXIiIHByb3BlcnR5IGZvciAic2Vw
aWEtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IHNlcGlhKDAuNSkK
K1BBU1MgLSAid2Via2l0RmlsdGVyIiBwcm9wZXJ0eSBmb3IgInNhdHVyYXRlLWJveCIgZWxlbWVu
dCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBzYXR1cmF0ZSgwLjUpCitQQVNTIC0gIndl
YmtpdEZpbHRlciIgcHJvcGVydHkgZm9yICJodWVyb3RhdGUtYm94IiBlbGVtZW50IGF0IDFzIHNh
dyBzb21ldGhpbmcgY2xvc2UgdG86IGh1ZS1yb3RhdGUoOTBkZWcpCitQQVNTIC0gIndlYmtpdEZp
bHRlciIgcHJvcGVydHkgZm9yICJpbnZlcnQtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhp
bmcgY2xvc2UgdG86IGludmVydCgwLjUpCitQQVNTIC0gIndlYmtpdEZpbHRlciIgcHJvcGVydHkg
Zm9yICJvcGFjaXR5LWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBv
cGFjaXR5KDAuNSkKK1BBU1MgLSAid2Via2l0RmlsdGVyIiBwcm9wZXJ0eSBmb3IgImJyaWdodG5l
c3MtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGJyaWdodG5lc3Mo
MC41KQorUEFTUyAtICJ3ZWJraXRGaWx0ZXIiIHByb3BlcnR5IGZvciAiY29udHJhc3QtYm94IiBl
bGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNvbnRyYXN0KDAuNSkKK1BBU1Mg
LSAid2Via2l0RmlsdGVyIiBwcm9wZXJ0eSBmb3IgImJsdXItYm94IiBlbGVtZW50IGF0IDFzIHNh
dyBzb21ldGhpbmcgY2xvc2UgdG86IGJsdXIoMTBweCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi1sYXllcnRyZWUuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmluZy1hbmltYXRpb24t
bGF5ZXJ0cmVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg5ZGQ1MDE2MDk3ZGQ2MDYzYWE3NzRmM2Q5NzI0
MTg5ZjgyZDk0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9j
b21wb3NpdGVkLWR1cmluZy1hbmltYXRpb24tbGF5ZXJ0cmVlLmh0bWwKQEAgLTAsMCArMSwxMTIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlPgorICAgIGltZyB7
CisgICAgICAgIG1hcmdpbjogMTBweDsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRp
b246IDVzICFpbXBvcnRhbnQ7CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1j
b3VudDogaW5maW5pdGUgIWltcG9ydGFudDsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZGly
ZWN0aW9uOiBhbHRlcm5hdGUgIWltcG9ydGFudDsKKyAgICB9CisKKyAgICAjZ3JheXNjYWxlLWJv
eCB7CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGdyYXlzY2FsZS1hbmltOworICAg
ICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEpOworICAgIH0KKworICAgICNzZXBpYS1i
b3ggeworICAgICAgICAtd2Via2l0LWZpbHRlcjogc2VwaWEoMSk7CisgICAgfQorCisgICAgI3Nh
dHVyYXRlLWJveCB7CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzYXR1cmF0ZS1hbmltOwor
ICAgICAgICAtd2Via2l0LWZpbHRlcjogc2F0dXJhdGUoMSk7CisgICAgfQorCisgICAgI2h1ZXJv
dGF0ZS1ib3ggeworICAgICAgICAtd2Via2l0LWZpbHRlcjogaHVlLXJvdGF0ZSg5MGRlZyk7Cisg
ICAgfQorCisgICAgI2ludmVydC1ib3ggeworICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogaW52
ZXJ0LWFuaW07CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBpbnZlcnQoMSk7CisgICAgfQorCisg
ICAgI29wYWNpdHktYm94IHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IG9wYWNpdHkoMCk7Cisg
ICAgfQorCisgICAgI2JyaWdodG5lc3MtYm94IHsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb246
IGJyaWdodG5lc3MtYW5pbTsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMCk7
CisgICAgfQorCisgICAgI2NvbnRyYXN0LWJveCB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBj
b250cmFzdCgwKTsKKyAgICB9CisKKworICAgIEAtd2Via2l0LWtleWZyYW1lcyBncmF5c2NhbGUt
YW5pbSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDApOyB9Cisg
ICAgICAgIHRvICAgeyAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEpOyB9CisgICAgfQorCisg
ICAgQC13ZWJraXQta2V5ZnJhbWVzIHNhdHVyYXRlLWFuaW0geworICAgICAgICBmcm9tIHsgLXdl
YmtpdC1maWx0ZXI6IHNhdHVyYXRlKDApOyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0LWZpbHRl
cjogc2F0dXJhdGUoMSk7IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgaW52ZXJ0
LWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6IGludmVydCgwKTsgfQorICAg
ICAgICB0byAgIHsgLXdlYmtpdC1maWx0ZXI6IGludmVydCgxKTsgfQorICAgIH0KKworICAgIEAt
d2Via2l0LWtleWZyYW1lcyBicmlnaHRuZXNzLWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtp
dC1maWx0ZXI6IGJyaWdodG5lc3MoMSk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtZmlsdGVy
OiBicmlnaHRuZXNzKDApOyB9CisgICAgfQorCisgIDwvc3R5bGU+CisgIDxzY3JpcHQ+CisgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gZG9UZXN0KCkgewor
ICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVyLXRyZWUnKS5pbm5lclRleHQgPSBsYXlv
dXRUZXN0Q29udHJvbGxlci5sYXllclRyZWVBc1RleHQoKQorICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgfQorICAgICAgfQorICAgICAg
CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGRvVGVzdCwgZmFsc2UpOwor
ICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8IS0tIEV2ZXJ5IHRoaXJkIGVsZW1lbnQg
YmVsb3cgaXMgYW5pbWF0aW5nLCBhbmQgdGh1cyBtaWdodAorICAgICBnZXQgYSBjb21wb3NpdGlu
ZyBsYXllci4gRXZlcnkgM24rMSBlbGVtZW50IGlzIG5vdCBhbmltYXRpbmcgYnV0CisgICAgIGhh
cyBhIHN0YXRpYyBmaWx0ZXIsIGFuZCBzaG91bGRuJ3QgbmVlZCBhIGNvbXBvc2l0aW5nIGxheWVy
LgorICAgICBFdmVyeSAzbisyIGVsZW1lbnQgaXMgYSBwdXJlbHkgc3RhdGljIGltYWdlLCBhbmQg
c2hvdWxkbid0CisgICAgIGV2ZW4gYmUgYSBsYXllciAtLT4KKzxpbWcgc3JjPSJyZXNvdXJjZXMv
cmVmZXJlbmNlLnBuZyIgaWQ9ImdyYXlzY2FsZS1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9y
ZWZlcmVuY2UucG5nIiBpZD0ic2VwaWEtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJl
bmNlLnBuZyI+Cis8YnI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlkPSJz
YXR1cmF0ZS1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0iaHVl
cm90YXRlLWJveCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciPgorPGJyPgor
PGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0iaW52ZXJ0LWJveCI+Cis8aW1n
IHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlkPSJvcGFjaXR5LWJveCI+Cis8aW1nIHNy
Yz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciPgorPGJyPgorPGltZyBzcmM9InJlc291cmNlcy9y
ZWZlcmVuY2UucG5nIiBpZD0iYnJpZ2h0bmVzcy1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9y
ZWZlcmVuY2UucG5nIiBpZD0iY29udHJhc3QtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVm
ZXJlbmNlLnBuZyI+CisKKzxwcmUgaWQ9ImxheWVyLXRyZWUiPkxheWVyIHRyZWUgZ29lcyBoZXJl
IGluIERSVDwvcHJlPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvY29tcG9zaXRlZC1kdXJpbmctYW5pbWF0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvY29tcG9zaXRlZC1kdXJpbmctYW5pbWF0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2FhYjdhMWU3ZDBhZjdmMGJkNzZiMWUzOWNiM2Y1ZTgxMmVlNmNkYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmluZy1hbmlt
YXRpb24uaHRtbApAQCAtMCwwICsxLDE4NyBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgor
PGhlYWQ+CisgIDxzdHlsZT4KKyAgICBpbWcgeworICAgICAgICBtYXJnaW46IDEwcHg7CisgICAg
fQorCisgICAgLmFuaW1hdGluZyBpbWcgeworICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJh
dGlvbjogMnMgIWltcG9ydGFudDsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1
bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsKKyAgICB9CisKKyAgICAjZ3JheXNjYWxlLWJveCB7
CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGdyYXlzY2FsZS1hbmltOworICAgICAg
ICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEpOworICAgIH0KKworICAgICNzZXBpYS1ib3gg
eworICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogc2VwaWEtYW5pbTsKKyAgICAgICAgLXdlYmtp
dC1maWx0ZXI6IHNlcGlhKDEpOworICAgIH0KKworICAgICNzYXR1cmF0ZS1ib3ggeworICAgICAg
ICAtd2Via2l0LWFuaW1hdGlvbjogc2F0dXJhdGUtYW5pbTsKKyAgICAgICAgLXdlYmtpdC1maWx0
ZXI6IHNhdHVyYXRlKDEpOworICAgIH0KKworICAgICNodWVyb3RhdGUtYm94IHsKKyAgICAgICAg
LXdlYmtpdC1hbmltYXRpb246IGh1ZXJvdGF0ZS1hbmltOworICAgICAgICAtd2Via2l0LWZpbHRl
cjogaHVlLXJvdGF0ZSg5MGRlZyk7CisgICAgfQorCisgICAgI2ludmVydC1ib3ggeworICAgICAg
ICAtd2Via2l0LWFuaW1hdGlvbjogaW52ZXJ0LWFuaW07CisgICAgICAgIC13ZWJraXQtZmlsdGVy
OiBpbnZlcnQoMSk7CisgICAgfQorCisgICAgI29wYWNpdHktYm94IHsKKyAgICAgICAgLXdlYmtp
dC1hbmltYXRpb246IG9wYWNpdHktYW5pbTsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IG9wYWNp
dHkoMCk7CisgICAgfQorCisgICAgI2JyaWdodG5lc3MtYm94IHsKKyAgICAgICAgLXdlYmtpdC1h
bmltYXRpb246IGJyaWdodG5lc3MtYW5pbTsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdo
dG5lc3MoMCk7CisgICAgfQorCisgICAgI2NvbnRyYXN0LWJveCB7CisgICAgICAgIC13ZWJraXQt
YW5pbWF0aW9uOiBjb250cmFzdC1hbmltOworICAgICAgICAtd2Via2l0LWZpbHRlcjogY29udHJh
c3QoMCk7CisgICAgfQorCisgICAgI2JsdXItYm94IHsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRp
b246IGJsdXItYW5pbTsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMTBweCk7CisgICAg
fQorCisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgZ3JheXNjYWxlLWFuaW0geworICAgICAgICBm
cm9tIHsgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgwKTsgfQorICAgICAgICB0byAgIHsgLXdl
YmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxKTsgfQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZy
YW1lcyBzZXBpYS1hbmltIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtZmlsdGVyOiBzZXBpYSgw
KTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1maWx0ZXI6IHNlcGlhKDEpOyB9CisgICAgfQor
CisgICAgQC13ZWJraXQta2V5ZnJhbWVzIHNhdHVyYXRlLWFuaW0geworICAgICAgICBmcm9tIHsg
LXdlYmtpdC1maWx0ZXI6IHNhdHVyYXRlKDApOyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0LWZp
bHRlcjogc2F0dXJhdGUoMSk7IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgaHVl
cm90YXRlLWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6IGh1ZS1yb3RhdGUo
MCk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtZmlsdGVyOiBodWUtcm90YXRlKDE4MGRlZyk7
IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgaW52ZXJ0LWFuaW0geworICAgICAg
ICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6IGludmVydCgwKTsgfQorICAgICAgICB0byAgIHsgLXdl
YmtpdC1maWx0ZXI6IGludmVydCgxKTsgfQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZyYW1l
cyBvcGFjaXR5LWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6IG9wYWNpdHko
MSk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtZmlsdGVyOiBvcGFjaXR5KDApOyB9CisgICAg
fQorCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIGJyaWdodG5lc3MtYW5pbSB7CisgICAgICAgIGZy
b20geyAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxKTsgfQorICAgICAgICB0byAgIHsgLXdl
YmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMCk7IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlm
cmFtZXMgY29udHJhc3QtYW5pbSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LWZpbHRlcjogY29u
dHJhc3QoMSk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtZmlsdGVyOiBjb250cmFzdCgwKTsg
fQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZyYW1lcyBibHVyLWFuaW0geworICAgICAgICBm
cm9tIHsgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMCk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQt
ZmlsdGVyOiBibHVyKDIwcHgpOyB9CisgICAgfQorCisgIDwvc3R5bGU+CisgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9hbmltYXRpb25zL3Jlc291cmNlcy9hbmltYXRpb24tdGVzdC1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCisgICAgY29uc3Qg
cHJlRXhwZWN0ZWRWYWx1ZXMgPSBbCisgICAgICAgIC8vIFtlbGVtZW50LWlkLCBwcm9wZXJ0eSwg
ZXhwZWN0ZWQtdmFsdWVdCisgICAgICAgIFsiZ3JheXNjYWxlLWJveCIsICJ3ZWJraXRGaWx0ZXIi
LCAnZ3JheXNjYWxlKDEpJ10sCisgICAgICAgIFsic2VwaWEtYm94IiwgIndlYmtpdEZpbHRlciIs
ICdzZXBpYSgxKSddLAorICAgICAgICBbInNhdHVyYXRlLWJveCIsICJ3ZWJraXRGaWx0ZXIiLCAn
c2F0dXJhdGUoMSknXSwKKyAgICAgICAgWyJodWVyb3RhdGUtYm94IiwgIndlYmtpdEZpbHRlciIs
ICdodWUtcm90YXRlKDkwZGVnKSddLAorICAgICAgICBbImludmVydC1ib3giLCAid2Via2l0Rmls
dGVyIiwgJ2ludmVydCgxKSddLAorICAgICAgICBbIm9wYWNpdHktYm94IiwgIndlYmtpdEZpbHRl
ciIsICdvcGFjaXR5KDApJ10sCisgICAgICAgIFsiYnJpZ2h0bmVzcy1ib3giLCAid2Via2l0Rmls
dGVyIiwgJ2JyaWdodG5lc3MoMCknXSwKKyAgICAgICAgWyJjb250cmFzdC1ib3giLCAid2Via2l0
RmlsdGVyIiwgJ2NvbnRyYXN0KDApJ10sCisgICAgICAgIFsiYmx1ci1ib3giLCAid2Via2l0Rmls
dGVyIiwgJ2JsdXIoMTBweCknXSwKKyAgICBdOworCisgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMg
PSBbCisgICAgICAgIC8vIFthbmltYXRpb24tbmFtZSwgdGltZSwgZWxlbWVudC1pZCwgcHJvcGVy
dHksIGV4cGVjdGVkLXZhbHVlLCB0b2xlcmFuY2VdCisgICAgICAgIFsiZ3JheXNjYWxlLWFuaW0i
LCAgMSwgImdyYXlzY2FsZS1ib3giLCAid2Via2l0RmlsdGVyIiwgJ2dyYXlzY2FsZSgwLjUpJywg
MC4xNV0sCisgICAgICAgIFsic2VwaWEtYW5pbSIsICAxLCAic2VwaWEtYm94IiwgIndlYmtpdEZp
bHRlciIsICdzZXBpYSgwLjUpJywgMC4xNV0sCisgICAgICAgIFsic2F0dXJhdGUtYW5pbSIsICAx
LCAic2F0dXJhdGUtYm94IiwgIndlYmtpdEZpbHRlciIsICdzYXR1cmF0ZSgwLjUpJywgMC4xNV0s
CisgICAgICAgIFsiaHVlcm90YXRlLWFuaW0iLCAgMSwgImh1ZXJvdGF0ZS1ib3giLCAid2Via2l0
RmlsdGVyIiwgJ2h1ZS1yb3RhdGUoOTBkZWcpJywgMjBdLAorICAgICAgICBbImludmVydC1hbmlt
IiwgIDEsICJpbnZlcnQtYm94IiwgIndlYmtpdEZpbHRlciIsICdpbnZlcnQoMC41KScsIDAuMTVd
LAorICAgICAgICBbIm9wYWNpdHktYW5pbSIsICAxLCAib3BhY2l0eS1ib3giLCAid2Via2l0Rmls
dGVyIiwgJ29wYWNpdHkoMC41KScsIDAuMTVdLAorICAgICAgICBbImJyaWdodG5lc3MtYW5pbSIs
ICAxLCAiYnJpZ2h0bmVzcy1ib3giLCAid2Via2l0RmlsdGVyIiwgJ2JyaWdodG5lc3MoMC41KScs
IDAuMTVdLAorICAgICAgICBbImNvbnRyYXN0LWFuaW0iLCAgMSwgImNvbnRyYXN0LWJveCIsICJ3
ZWJraXRGaWx0ZXIiLCAnY29udHJhc3QoMC41KScsIDAuMTVdLAorICAgICAgICBbImJsdXItYW5p
bSIsICAxLCAiYmx1ci1ib3giLCAid2Via2l0RmlsdGVyIiwgJ2JsdXIoMTBweCknLCA0XSwKKyAg
ICBdOworCisgICAgZnVuY3Rpb24gcnVuUHJlVGVzdCgpIHsKKyAgICAgICAgdmFyIHByZVJlc3Vs
dCA9ICIiOworCisgICAgICAgIGZvciAodmFyIGk9MDsgaSA8IHByZUV4cGVjdGVkVmFsdWVzLmxl
bmd0aDsgaSsrKSB7CisgICAgICAgICAgICB2YXIgaWQgPSBwcmVFeHBlY3RlZFZhbHVlc1tpXVsw
XTsKKyAgICAgICAgICAgIHZhciBwcm9wID0gcHJlRXhwZWN0ZWRWYWx1ZXNbaV1bMV07CisgICAg
ICAgICAgICB2YXIgZXhwZWN0ZWQgPSBwcmVFeHBlY3RlZFZhbHVlc1tpXVsyXTsKKyAgICAgICAg
ICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOworICAgICAgICAg
ICAgdmFyIGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KVtw
cm9wXTsKKyAgICAgICAgICAgIGlmIChjb21wdXRlZFN0eWxlID09IGV4cGVjdGVkKQorICAgICAg
ICAgICAgICBwcmVSZXN1bHQgKz0gIlBBU1M6IEVsZW1lbnQgIiArIGlkICsgIiBoYWQgZmlsdGVy
IHZhbHVlICIgKyBleHBlY3RlZCArICIgYmVmb3JlIGFuaW1hdGlvbi48YnI+IjsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgcHJlUmVzdWx0ICs9ICJGQUlMOiBFbGVtZW50ICIgKyBp
ZCArICIgaGFkIGZpbHRlciB2YWx1ZSAiICsgY29tcHV0ZWRTdHlsZSArICIgcmF0aGVyIHRoYW4g
IiArIGV4cGVjdGVkICsgIiBiZWZvcmUgYW5pbWF0aW9uLjxicj4iOworICAgICAgICB9CisgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcmVyZXN1bHQiKS5pbm5lckhUTUwgPSBwcmVS
ZXN1bHQ7CisgICAgICAKKyAgICAgICAgLy8gQ29tcGxldGVkIHRoZSBwcmUtYW5pbWF0aW9uIHRl
c3RzLiBOb3cgc3RhcnQgdGhlIGFuaW1hdGlvbi4KKyAgICAgICAgc2V0VGltZW91dChmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSA9ICJhbmltYXRpbmci
OworICAgICAgICAgICAgcnVuQW5pbWF0aW9uVGVzdChleHBlY3RlZFZhbHVlcyk7CisgICAgICAg
IH0sIDApOworICAgIH0KKyAgICAKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgICAKKyAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blByZVRlc3QsIGZhbHNlKTsKKyAgPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2Uu
cG5nIiBpZD0iZ3JheXNjYWxlLWJveCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5w
bmciIGlkPSJzZXBpYS1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBp
ZD0ic2F0dXJhdGUtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9
Imh1ZXJvdGF0ZS1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0i
aW52ZXJ0LWJveCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlkPSJvcGFj
aXR5LWJveCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlkPSJicmlnaHRu
ZXNzLWJveCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlkPSJjb250cmFz
dC1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0iYmx1ci1ib3gi
PgorCis8IS0tIHRoaXMgcmVzdWx0IGVsZW1lbnQgaXMgZmlsbGVkIGluIHRoZSBzY3JpcHQgYWJv
dmUsIGJlZm9yZSB0aGUgYW5pbWF0aW9ucyBzdGFydCAtLT4KKzxkaXYgaWQ9InByZXJlc3VsdCI+
Cis8L2Rpdj4KKworPCEtLSB0aGlzIHJlc3VsdCBlbGVtZW50IGlzIGZpbGxlZCBieSB0aGUgYW5p
bWF0aW9uIHRlc3Qgc3lzdGVtIC0tPgorPGRpdiBpZD0icmVzdWx0Ij4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>127880</attachid>
            <date>2012-02-20 17:53:08 -0800</date>
            <delta_ts>2012-02-20 17:53:08 -0800</delta_ts>
            <desc>WK2 No Worky Testcase</desc>
            <filename>filter-composited-animation-test.html</filename>
            <type>text/html</type>
            <size>754</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KPGhlYWQ+CiAgPHN0eWxlPgogICAgLmJveCB7CiAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKICAgICAgICB3aWR0aDogMTAwcHg7CiAgICAgICAgbWFyZ2luOiAx
MHB4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CiAgICAgICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOwogICAgfQoKICAgICNzdGF0aWMtYm94IHsKICAgICAgLXdlYmtpdC1maWx0ZXI6
IGJsdXIoNXB4KTsKICAgIH0KCiAgICAjc3RhdGljLWNvbXBvc2l0ZWQtYm94IHsKICAgICAgLXdl
YmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsKICAgICAgLXdlYmtpdC1maWx0ZXI6
IGJsdXIoNXB4KTsKICAgIH0KCiAgICAjYW5pbWF0aW5nLWJveDpob3ZlciB7CiAgICAgIC13ZWJr
aXQtYW5pbWF0aW9uOiBhbmltIDJzIGxpbmVhciBpbmZpbml0ZSBhbHRlcm5hdGU7CiAgICB9Cgog
ICAgQC13ZWJraXQta2V5ZnJhbWVzIGFuaW0gewogICAgICAgIGZyb20geyAtd2Via2l0LWZpbHRl
cjogYmx1cigwKTsgfQogICAgICAgIHRvICAgeyAtd2Via2l0LWZpbHRlcjogYmx1cigxMHB4KTsg
fQogICAgfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CjxkaXYgY2xhc3M9ImJveCIgaWQ9ImFu
aW1hdGluZy1ib3giPjwvZGl2Pgo8ZGl2IGNsYXNzPSJib3giIGlkPSJzdGF0aWMtYm94Ij48L2Rp
dj4KPGRpdiBjbGFzcz0iYm94IiBpZD0ic3RhdGljLWNvbXBvc2l0ZWQtYm94Ij48L2Rpdj4KPC9i
b2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130206</attachid>
            <date>2012-03-05 14:40:06 -0800</date>
            <delta_ts>2012-03-05 21:37:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79048-20120306094003.patch</filename>
            <type>text/plain</type>
            <size>16059</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTIyNmJmOTkzZTE5MDVk
YzE1Mjg0YTA5NGNiZDQwNmM2MDdmZTY2Ny4uZDE1ZjhmM2JmMzA2OTA1YzdlYTQ2MmM1NWQ5OGYz
NWM0YmZkM2M4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAyLTIwICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgY29tcG9zaXRpbmcg
d2hlbiBhIENTUyBmaWx0ZXIgaXMgYW5pbWF0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IHNvbWUgc3lzdGVtcyAoZS5nLiBPUyBYKSBo
YXZlIGJvdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQKKyAgICAgICAgQ1NTIGZpbHRlcnMsIGFuZCB0
aGUgYWJpbGl0eSB0byBhbmltYXRlIHRoZW0gdmlhIHRoZSBoYXJkd2FyZQorICAgICAgICBjb21w
b3NpdG9yLCBhbGwgQ1NTIGZpbHRlcnMgc2hvdWxkIGJlIGNvbXBvc2l0ZWQgd2hlbiBhbmltYXRp
bmcuCisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1h
dGlvbi5odG1sCisgICAgICAgICAgICAgIGNzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmluZy1h
bmltYXRpb24tbGF5ZXJ0cmVlLmh0bWw6CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRv
cjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvckFuaW1hdGlvbik6CisgICAgICAgICAgICBBZGQgdGVz
dCBmb3IgQ1NTV2ViS2l0RmlsdGVyIHByb3BlcnR5LgorCiAyMDEyLTAzLTAyICBNYWNpZWogU3Rh
Y2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyOTczNTMpOiBD
cmFzaCB3aGVuIGFjY2Vzc2luZyBsb2NhdGlvbiBvciBoaXN0b3J5IHByb3BlcnRpZXMgaW5zaWRl
IGEgbmF2aWdhdGVkIHdpbmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA3NWEyODBjOTVkMmI2ZDFlOTczMmQzYzI1NTEx
OTExODE2YmRhMTA4Li4yZTVjOGUyODQ2YWUxYTgwMWIxZTlhMjg2ZGI1YjRlZTk1NmEyM2Y4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcApAQCAtMTUwNSw3ICsxNTA1LDEzIEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpy
ZXF1aXJlc0NvbXBvc2l0aW5nRm9yQW5pbWF0aW9uKFJlbmRlck9iamVjdCogcmVuZGVyCiAKICAg
ICBpZiAoQW5pbWF0aW9uQ29udHJvbGxlciogYW5pbUNvbnRyb2xsZXIgPSByZW5kZXJlci0+YW5p
bWF0aW9uKCkpIHsKICAgICAgICAgcmV0dXJuIChhbmltQ29udHJvbGxlci0+aXNSdW5uaW5nQW5p
bWF0aW9uT25SZW5kZXJlcihyZW5kZXJlciwgQ1NTUHJvcGVydHlPcGFjaXR5KSAmJiBpbkNvbXBv
c2l0aW5nTW9kZSgpKQotICAgICAgICAgICAgfHwgYW5pbUNvbnRyb2xsZXItPmlzUnVubmluZ0Fu
aW1hdGlvbk9uUmVuZGVyZXIocmVuZGVyZXIsIENTU1Byb3BlcnR5V2Via2l0VHJhbnNmb3JtKTsK
KyAgICAgICAgICAgIHx8IGFuaW1Db250cm9sbGVyLT5pc1J1bm5pbmdBbmltYXRpb25PblJlbmRl
cmVyKHJlbmRlcmVyLCBDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSkKKyNpZiBFTkFCTEUoQ1NT
X0ZJTFRFUlMpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9MSU9OKQorICAgICAgICAgICAgfHwgYW5pbUNvbnRyb2xsZXItPmlz
UnVubmluZ0FuaW1hdGlvbk9uUmVuZGVyZXIocmVuZGVyZXIsIENTU1Byb3BlcnR5V2Via2l0Rmls
dGVyKQorI2VuZGlmIC8vICFTTk9XX0xFT1BBUkQgJiYgIUxJT04KKyNlbmRpZiAvLyBDU1NfRklM
VEVSUworICAgICAgICAgICAgOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NDhlNWNjMTFjN2I3Y2E2MDA4Yjc5MzEzOTIwMTVmMmJiZWVhOTY4Yy4uNjRmMTRmYWE4NzkxOTFj
ZGQ0NzkxMTMyYjdjZjU3NjQ0YmU0YzYxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAy
LTIwICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgY29t
cG9zaXRpbmcgd2hlbiBhIENTUyBmaWx0ZXIgaXMgYW5pbWF0aW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA0OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQt
ZHVyaW5nLWFuaW1hdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmls
dGVycy9jb21wb3NpdGVkLWR1cmluZy1hbmltYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICog
Y3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi1sYXllcnRyZWUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY29tcG9zaXRlZC1kdXJpbmct
YW5pbWF0aW9uLWxheWVydHJlZS5odG1sOgorCiAyMDEyLTAzLTAyICBEaXJrIFByYW5rZSAgPGRw
cmFua2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpeCBleHBlY3RhdGlvbiBmb3Igc3ZnL2Zv
cmVpZ25PYmplY3QvZk8tcGFyZW50LWRpc3BsYXktY2hhbmdlcy5zdmcuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY29tcG9zaXRlZC1kdXJpbmctYW5pbWF0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmluZy1hbmlt
YXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwZjMzMTdkYmIwNDc3MTI0YjVlNGU3NGU5
MTI2ZDNiYTNmOWNhMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvY29tcG9zaXRlZC1kdXJpbmctYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIw
IEBACisgICAgICAgIAorUEFTUzogRWxlbWVudCBncmF5c2NhbGUtYm94IGhhZCBmaWx0ZXIgdmFs
dWUgZ3JheXNjYWxlKDEpIGJlZm9yZSBhbmltYXRpb24uCitQQVNTOiBFbGVtZW50IHNlcGlhLWJv
eCBoYWQgZmlsdGVyIHZhbHVlIHNlcGlhKDEpIGJlZm9yZSBhbmltYXRpb24uCitQQVNTOiBFbGVt
ZW50IHNhdHVyYXRlLWJveCBoYWQgZmlsdGVyIHZhbHVlIHNhdHVyYXRlKDEpIGJlZm9yZSBhbmlt
YXRpb24uCitQQVNTOiBFbGVtZW50IGh1ZXJvdGF0ZS1ib3ggaGFkIGZpbHRlciB2YWx1ZSBodWUt
cm90YXRlKDkwZGVnKSBiZWZvcmUgYW5pbWF0aW9uLgorUEFTUzogRWxlbWVudCBpbnZlcnQtYm94
IGhhZCBmaWx0ZXIgdmFsdWUgaW52ZXJ0KDEpIGJlZm9yZSBhbmltYXRpb24uCitQQVNTOiBFbGVt
ZW50IG9wYWNpdHktYm94IGhhZCBmaWx0ZXIgdmFsdWUgb3BhY2l0eSgwKSBiZWZvcmUgYW5pbWF0
aW9uLgorUEFTUzogRWxlbWVudCBicmlnaHRuZXNzLWJveCBoYWQgZmlsdGVyIHZhbHVlIGJyaWdo
dG5lc3MoMCkgYmVmb3JlIGFuaW1hdGlvbi4KK1BBU1M6IEVsZW1lbnQgY29udHJhc3QtYm94IGhh
ZCBmaWx0ZXIgdmFsdWUgY29udHJhc3QoMCkgYmVmb3JlIGFuaW1hdGlvbi4KK1BBU1M6IEVsZW1l
bnQgYmx1ci1ib3ggaGFkIGZpbHRlciB2YWx1ZSBibHVyKDEwcHgpIGJlZm9yZSBhbmltYXRpb24u
CitQQVNTIC0gIndlYmtpdEZpbHRlciIgcHJvcGVydHkgZm9yICJncmF5c2NhbGUtYm94IiBlbGVt
ZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGdyYXlzY2FsZSgwLjUpCitQQVNTIC0g
IndlYmtpdEZpbHRlciIgcHJvcGVydHkgZm9yICJzZXBpYS1ib3giIGVsZW1lbnQgYXQgMXMgc2F3
IHNvbWV0aGluZyBjbG9zZSB0bzogc2VwaWEoMC41KQorUEFTUyAtICJ3ZWJraXRGaWx0ZXIiIHBy
b3BlcnR5IGZvciAic2F0dXJhdGUtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xv
c2UgdG86IHNhdHVyYXRlKDAuNSkKK1BBU1MgLSAid2Via2l0RmlsdGVyIiBwcm9wZXJ0eSBmb3Ig
Imh1ZXJvdGF0ZS1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogaHVl
LXJvdGF0ZSg5MGRlZykKK1BBU1MgLSAid2Via2l0RmlsdGVyIiBwcm9wZXJ0eSBmb3IgImludmVy
dC1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogaW52ZXJ0KDAuNSkK
K1BBU1MgLSAid2Via2l0RmlsdGVyIiBwcm9wZXJ0eSBmb3IgIm9wYWNpdHktYm94IiBlbGVtZW50
IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IG9wYWNpdHkoMC41KQorUEFTUyAtICJ3ZWJr
aXRGaWx0ZXIiIHByb3BlcnR5IGZvciAiYnJpZ2h0bmVzcy1ib3giIGVsZW1lbnQgYXQgMXMgc2F3
IHNvbWV0aGluZyBjbG9zZSB0bzogYnJpZ2h0bmVzcygwLjUpCitQQVNTIC0gIndlYmtpdEZpbHRl
ciIgcHJvcGVydHkgZm9yICJjb250cmFzdC1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGlu
ZyBjbG9zZSB0bzogY29udHJhc3QoMC41KQorUEFTUyAtICJ3ZWJraXRGaWx0ZXIiIHByb3BlcnR5
IGZvciAiYmx1ci1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogYmx1
cigxMHB4KQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY29tcG9zaXRl
ZC1kdXJpbmctYW5pbWF0aW9uLWxheWVydHJlZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvY29tcG9zaXRlZC1kdXJpbmctYW5pbWF0aW9uLWxheWVydHJlZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZmI1MTAyZDY0YmRlOWYxODg2ZDZjOGEwYzUxNTQyYTAzMmNmNGNi
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVk
LWR1cmluZy1hbmltYXRpb24tbGF5ZXJ0cmVlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBA
CisgICAKKyAgIAorICAgCisgIAorKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAw
LjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDgw
MC4wMCA2MDAuMDApCisgICAgICAoY2hpbGRyZW4gNAorICAgICAgICAoR3JhcGhpY3NMYXllcgor
ICAgICAgICAgIChwb3NpdGlvbiAxOC4wMCAxOC4wMCkKKyAgICAgICAgICAoYm91bmRzIDE2MC4w
MCA5MC4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICkKKyAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gMTguMDAgMTMyLjAwKQorICAgICAg
ICAgIChib3VuZHMgMTYwLjAwIDkwLjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAg
ICAgICAgKQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAxOC4w
MCAyNDYuMDApCisgICAgICAgICAgKGJvdW5kcyAxNjAuMDAgOTAuMDApCisgICAgICAgICAgKGRy
YXdzQ29udGVudCAxKQorICAgICAgICApCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAg
ICAgKHBvc2l0aW9uIDE4LjAwIDM2MC4wMCkKKyAgICAgICAgICAoYm91bmRzIDE2MC4wMCA5MC4w
MCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICkKKyAgICAgICkKKyAgICAp
CisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0
ZWQtZHVyaW5nLWFuaW1hdGlvbi1sYXllcnRyZWUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9jb21wb3NpdGVkLWR1cmluZy1hbmltYXRpb24tbGF5ZXJ0cmVlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNmUyMzkxZmEwNTJiM2ZkNzc2Y2VmNTI1MjFkNGE1YzFkYzllMDgwNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmluZy1hbmltYXRp
b24tbGF5ZXJ0cmVlLmh0bWwKQEAgLTAsMCArMSwxMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKyAgPHN0eWxlPgorICAgIGltZyB7CisgICAgICAgIG1hcmdpbjogMTBweDsK
KyAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDVzICFpbXBvcnRhbnQ7CisgICAg
ICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGUgIWltcG9ydGFu
dDsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGUgIWltcG9y
dGFudDsKKyAgICB9CisKKyAgICAjZ3JheXNjYWxlLWJveCB7CisgICAgICAgIC13ZWJraXQtYW5p
bWF0aW9uLW5hbWU6IGdyYXlzY2FsZS1hbmltOworICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3Jh
eXNjYWxlKDEpOworICAgIH0KKworICAgICNzZXBpYS1ib3ggeworICAgICAgICAtd2Via2l0LWZp
bHRlcjogc2VwaWEoMSk7CisgICAgfQorCisgICAgI3NhdHVyYXRlLWJveCB7CisgICAgICAgIC13
ZWJraXQtYW5pbWF0aW9uOiBzYXR1cmF0ZS1hbmltOworICAgICAgICAtd2Via2l0LWZpbHRlcjog
c2F0dXJhdGUoMSk7CisgICAgfQorCisgICAgI2h1ZXJvdGF0ZS1ib3ggeworICAgICAgICAtd2Vi
a2l0LWZpbHRlcjogaHVlLXJvdGF0ZSg5MGRlZyk7CisgICAgfQorCisgICAgI2ludmVydC1ib3gg
eworICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogaW52ZXJ0LWFuaW07CisgICAgICAgIC13ZWJr
aXQtZmlsdGVyOiBpbnZlcnQoMSk7CisgICAgfQorCisgICAgI29wYWNpdHktYm94IHsKKyAgICAg
ICAgLXdlYmtpdC1maWx0ZXI6IG9wYWNpdHkoMCk7CisgICAgfQorCisgICAgI2JyaWdodG5lc3Mt
Ym94IHsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGJyaWdodG5lc3MtYW5pbTsKKyAgICAg
ICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMCk7CisgICAgfQorCisgICAgI2NvbnRyYXN0
LWJveCB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjb250cmFzdCgwKTsKKyAgICB9CisKKwor
ICAgIEAtd2Via2l0LWtleWZyYW1lcyBncmF5c2NhbGUtYW5pbSB7CisgICAgICAgIGZyb20geyAt
d2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDApOyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0LWZp
bHRlcjogZ3JheXNjYWxlKDEpOyB9CisgICAgfQorCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIHNh
dHVyYXRlLWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6IHNhdHVyYXRlKDAp
OyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0LWZpbHRlcjogc2F0dXJhdGUoMSk7IH0KKyAgICB9
CisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgaW52ZXJ0LWFuaW0geworICAgICAgICBmcm9tIHsg
LXdlYmtpdC1maWx0ZXI6IGludmVydCgwKTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1maWx0
ZXI6IGludmVydCgxKTsgfQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZyYW1lcyBicmlnaHRu
ZXNzLWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMSk7
IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDApOyB9CisgICAg
fQorCisgIDwvc3R5bGU+CisgIDxzY3JpcHQ+CisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAg
IH0KKworICAgICAgZnVuY3Rpb24gZG9UZXN0KCkgeworICAgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2xheWVyLXRyZWUnKS5pbm5lclRleHQgPSBsYXlvdXRUZXN0Q29udHJvbGxlci5sYXllclRy
ZWVBc1RleHQoKQorICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7CisgICAgICAgICAgfQorICAgICAgfQorICAgICAgCisgICAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIGRvVGVzdCwgZmFsc2UpOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorCis8IS0tIEV2ZXJ5IHRoaXJkIGltYWdlIGJlbG93IGlzIGFuaW1hdGluZywgYW5kIHRo
dXMgbWlnaHQKKyAgICAgZ2V0IGEgY29tcG9zaXRpbmcgbGF5ZXIuIEV2ZXJ5IDNuKzEgZWxlbWVu
dCBpcyBub3QgYW5pbWF0aW5nIGJ1dAorICAgICBoYXMgYSBzdGF0aWMgZmlsdGVyLCBhbmQgc2hv
dWxkbid0IG5lZWQgYSBjb21wb3NpdGluZyBsYXllci4KKyAgICAgRXZlcnkgM24rMiBlbGVtZW50
IGlzIGEgcHVyZWx5IHN0YXRpYyBpbWFnZSwgYW5kIHNob3VsZG4ndAorICAgICBldmVuIGJlIGEg
bGF5ZXIgLS0+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlkPSJncmF5c2Nh
bGUtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9InNlcGlhLWJv
eCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciPgorPGJyPgorPGltZyBzcmM9
InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0ic2F0dXJhdGUtYm94Ij4KKzxpbWcgc3JjPSJy
ZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9Imh1ZXJvdGF0ZS1ib3giPgorPGltZyBzcmM9InJl
c291cmNlcy9yZWZlcmVuY2UucG5nIj4KKzxicj4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJl
bmNlLnBuZyIgaWQ9ImludmVydC1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2Uu
cG5nIiBpZD0ib3BhY2l0eS1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5n
Ij4KKzxicj4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9ImJyaWdodG5l
c3MtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9ImNvbnRyYXN0
LWJveCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciPgorCis8cHJlIGlkPSJs
YXllci10cmVlIj5MYXllciB0cmVlIGdvZXMgaGVyZSBpbiBEUlQ8L3ByZT4KKworPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQt
ZHVyaW5nLWFuaW1hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0
ZWQtZHVyaW5nLWFuaW1hdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhYWI3YTFlN2QwYWY3ZjBiZDc2
YjFlMzljYjNmNWU4MTJlZTZjZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvY29tcG9zaXRlZC1kdXJpbmctYW5pbWF0aW9uLmh0bWwKQEAgLTAsMCArMSwxODcg
QEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGU+CisgICAgaW1n
IHsKKyAgICAgICAgbWFyZ2luOiAxMHB4OworICAgIH0KKworICAgIC5hbmltYXRpbmcgaW1nIHsK
KyAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzICFpbXBvcnRhbnQ7CisgICAg
ICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7
CisgICAgfQorCisgICAgI2dyYXlzY2FsZS1ib3ggeworICAgICAgICAtd2Via2l0LWFuaW1hdGlv
bi1uYW1lOiBncmF5c2NhbGUtYW5pbTsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2Fs
ZSgxKTsKKyAgICB9CisKKyAgICAjc2VwaWEtYm94IHsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRp
b246IHNlcGlhLWFuaW07CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBzZXBpYSgxKTsKKyAgICB9
CisKKyAgICAjc2F0dXJhdGUtYm94IHsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNhdHVy
YXRlLWFuaW07CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBzYXR1cmF0ZSgxKTsKKyAgICB9CisK
KyAgICAjaHVlcm90YXRlLWJveCB7CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBodWVyb3Rh
dGUtYW5pbTsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGh1ZS1yb3RhdGUoOTBkZWcpOworICAg
IH0KKworICAgICNpbnZlcnQtYm94IHsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGludmVy
dC1hbmltOworICAgICAgICAtd2Via2l0LWZpbHRlcjogaW52ZXJ0KDEpOworICAgIH0KKworICAg
ICNvcGFjaXR5LWJveCB7CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBvcGFjaXR5LWFuaW07
CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBvcGFjaXR5KDApOworICAgIH0KKworICAgICNicmln
aHRuZXNzLWJveCB7CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBicmlnaHRuZXNzLWFuaW07
CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDApOworICAgIH0KKworICAgICNj
b250cmFzdC1ib3ggeworICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogY29udHJhc3QtYW5pbTsK
KyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGNvbnRyYXN0KDApOworICAgIH0KKworICAgICNibHVy
LWJveCB7CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBibHVyLWFuaW07CisgICAgICAgIC13
ZWJraXQtZmlsdGVyOiBibHVyKDEwcHgpOworICAgIH0KKworCisgICAgQC13ZWJraXQta2V5ZnJh
bWVzIGdyYXlzY2FsZS1hbmltIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtZmlsdGVyOiBncmF5
c2NhbGUoMCk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMSk7
IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgc2VwaWEtYW5pbSB7CisgICAgICAg
IGZyb20geyAtd2Via2l0LWZpbHRlcjogc2VwaWEoMCk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJr
aXQtZmlsdGVyOiBzZXBpYSgxKTsgfQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZyYW1lcyBz
YXR1cmF0ZS1hbmltIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtZmlsdGVyOiBzYXR1cmF0ZSgw
KTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1maWx0ZXI6IHNhdHVyYXRlKDEpOyB9CisgICAg
fQorCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIGh1ZXJvdGF0ZS1hbmltIHsKKyAgICAgICAgZnJv
bSB7IC13ZWJraXQtZmlsdGVyOiBodWUtcm90YXRlKDApOyB9CisgICAgICAgIHRvICAgeyAtd2Vi
a2l0LWZpbHRlcjogaHVlLXJvdGF0ZSgxODBkZWcpOyB9CisgICAgfQorCisgICAgQC13ZWJraXQt
a2V5ZnJhbWVzIGludmVydC1hbmltIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtZmlsdGVyOiBp
bnZlcnQoMCk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtZmlsdGVyOiBpbnZlcnQoMSk7IH0K
KyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgb3BhY2l0eS1hbmltIHsKKyAgICAgICAg
ZnJvbSB7IC13ZWJraXQtZmlsdGVyOiBvcGFjaXR5KDEpOyB9CisgICAgICAgIHRvICAgeyAtd2Vi
a2l0LWZpbHRlcjogb3BhY2l0eSgwKTsgfQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZyYW1l
cyBicmlnaHRuZXNzLWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6IGJyaWdo
dG5lc3MoMSk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDAp
OyB9CisgICAgfQorCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIGNvbnRyYXN0LWFuaW0geworICAg
ICAgICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6IGNvbnRyYXN0KDEpOyB9CisgICAgICAgIHRvICAg
eyAtd2Via2l0LWZpbHRlcjogY29udHJhc3QoMCk7IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1r
ZXlmcmFtZXMgYmx1ci1hbmltIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtZmlsdGVyOiBibHVy
KDApOyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0LWZpbHRlcjogYmx1cigyMHB4KTsgfQorICAg
IH0KKworICA8L3N0eWxlPgorICA8c2NyaXB0IHNyYz0iLi4vLi4vYW5pbWF0aW9ucy9yZXNvdXJj
ZXMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KKworICAgIGNvbnN0IHByZUV4cGVjdGVkVmFsdWVzID0gWworICAg
ICAgICAvLyBbZWxlbWVudC1pZCwgcHJvcGVydHksIGV4cGVjdGVkLXZhbHVlXQorICAgICAgICBb
ImdyYXlzY2FsZS1ib3giLCAid2Via2l0RmlsdGVyIiwgJ2dyYXlzY2FsZSgxKSddLAorICAgICAg
ICBbInNlcGlhLWJveCIsICJ3ZWJraXRGaWx0ZXIiLCAnc2VwaWEoMSknXSwKKyAgICAgICAgWyJz
YXR1cmF0ZS1ib3giLCAid2Via2l0RmlsdGVyIiwgJ3NhdHVyYXRlKDEpJ10sCisgICAgICAgIFsi
aHVlcm90YXRlLWJveCIsICJ3ZWJraXRGaWx0ZXIiLCAnaHVlLXJvdGF0ZSg5MGRlZyknXSwKKyAg
ICAgICAgWyJpbnZlcnQtYm94IiwgIndlYmtpdEZpbHRlciIsICdpbnZlcnQoMSknXSwKKyAgICAg
ICAgWyJvcGFjaXR5LWJveCIsICJ3ZWJraXRGaWx0ZXIiLCAnb3BhY2l0eSgwKSddLAorICAgICAg
ICBbImJyaWdodG5lc3MtYm94IiwgIndlYmtpdEZpbHRlciIsICdicmlnaHRuZXNzKDApJ10sCisg
ICAgICAgIFsiY29udHJhc3QtYm94IiwgIndlYmtpdEZpbHRlciIsICdjb250cmFzdCgwKSddLAor
ICAgICAgICBbImJsdXItYm94IiwgIndlYmtpdEZpbHRlciIsICdibHVyKDEwcHgpJ10sCisgICAg
XTsKKworICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gWworICAgICAgICAvLyBbYW5pbWF0aW9u
LW5hbWUsIHRpbWUsIGVsZW1lbnQtaWQsIHByb3BlcnR5LCBleHBlY3RlZC12YWx1ZSwgdG9sZXJh
bmNlXQorICAgICAgICBbImdyYXlzY2FsZS1hbmltIiwgIDEsICJncmF5c2NhbGUtYm94IiwgIndl
YmtpdEZpbHRlciIsICdncmF5c2NhbGUoMC41KScsIDAuMTVdLAorICAgICAgICBbInNlcGlhLWFu
aW0iLCAgMSwgInNlcGlhLWJveCIsICJ3ZWJraXRGaWx0ZXIiLCAnc2VwaWEoMC41KScsIDAuMTVd
LAorICAgICAgICBbInNhdHVyYXRlLWFuaW0iLCAgMSwgInNhdHVyYXRlLWJveCIsICJ3ZWJraXRG
aWx0ZXIiLCAnc2F0dXJhdGUoMC41KScsIDAuMTVdLAorICAgICAgICBbImh1ZXJvdGF0ZS1hbmlt
IiwgIDEsICJodWVyb3RhdGUtYm94IiwgIndlYmtpdEZpbHRlciIsICdodWUtcm90YXRlKDkwZGVn
KScsIDIwXSwKKyAgICAgICAgWyJpbnZlcnQtYW5pbSIsICAxLCAiaW52ZXJ0LWJveCIsICJ3ZWJr
aXRGaWx0ZXIiLCAnaW52ZXJ0KDAuNSknLCAwLjE1XSwKKyAgICAgICAgWyJvcGFjaXR5LWFuaW0i
LCAgMSwgIm9wYWNpdHktYm94IiwgIndlYmtpdEZpbHRlciIsICdvcGFjaXR5KDAuNSknLCAwLjE1
XSwKKyAgICAgICAgWyJicmlnaHRuZXNzLWFuaW0iLCAgMSwgImJyaWdodG5lc3MtYm94IiwgIndl
YmtpdEZpbHRlciIsICdicmlnaHRuZXNzKDAuNSknLCAwLjE1XSwKKyAgICAgICAgWyJjb250cmFz
dC1hbmltIiwgIDEsICJjb250cmFzdC1ib3giLCAid2Via2l0RmlsdGVyIiwgJ2NvbnRyYXN0KDAu
NSknLCAwLjE1XSwKKyAgICAgICAgWyJibHVyLWFuaW0iLCAgMSwgImJsdXItYm94IiwgIndlYmtp
dEZpbHRlciIsICdibHVyKDEwcHgpJywgNF0sCisgICAgXTsKKworICAgIGZ1bmN0aW9uIHJ1blBy
ZVRlc3QoKSB7CisgICAgICAgIHZhciBwcmVSZXN1bHQgPSAiIjsKKworICAgICAgICBmb3IgKHZh
ciBpPTA7IGkgPCBwcmVFeHBlY3RlZFZhbHVlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAg
dmFyIGlkID0gcHJlRXhwZWN0ZWRWYWx1ZXNbaV1bMF07CisgICAgICAgICAgICB2YXIgcHJvcCA9
IHByZUV4cGVjdGVkVmFsdWVzW2ldWzFdOworICAgICAgICAgICAgdmFyIGV4cGVjdGVkID0gcHJl
RXhwZWN0ZWRWYWx1ZXNbaV1bMl07CisgICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICAgICAgICAgIHZhciBjb21wdXRlZFN0eWxlID0gd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudClbcHJvcF07CisgICAgICAgICAgICBpZiAoY29t
cHV0ZWRTdHlsZSA9PSBleHBlY3RlZCkKKyAgICAgICAgICAgICAgcHJlUmVzdWx0ICs9ICJQQVNT
OiBFbGVtZW50ICIgKyBpZCArICIgaGFkIGZpbHRlciB2YWx1ZSAiICsgZXhwZWN0ZWQgKyAiIGJl
Zm9yZSBhbmltYXRpb24uPGJyPiI7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgIHBy
ZVJlc3VsdCArPSAiRkFJTDogRWxlbWVudCAiICsgaWQgKyAiIGhhZCBmaWx0ZXIgdmFsdWUgIiAr
IGNvbXB1dGVkU3R5bGUgKyAiIHJhdGhlciB0aGFuICIgKyBleHBlY3RlZCArICIgYmVmb3JlIGFu
aW1hdGlvbi48YnI+IjsKKyAgICAgICAgfQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicHJlcmVzdWx0IikuaW5uZXJIVE1MID0gcHJlUmVzdWx0OworICAgICAgCisgICAgICAgIC8v
IENvbXBsZXRlZCB0aGUgcHJlLWFuaW1hdGlvbiB0ZXN0cy4gTm93IHN0YXJ0IHRoZSBhbmltYXRp
b24uCisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5jbGFzc05hbWUgPSAiYW5pbWF0aW5nIjsKKyAgICAgICAgICAgIHJ1bkFuaW1hdGlv
blRlc3QoZXhwZWN0ZWRWYWx1ZXMpOworICAgICAgICB9LCAwKTsKKyAgICB9CisgICAgCisgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICB9CisgICAgCisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBydW5QcmVUZXN0LCBmYWxzZSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisK
KzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9ImdyYXlzY2FsZS1ib3giPgor
PGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0ic2VwaWEtYm94Ij4KKzxpbWcg
c3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9InNhdHVyYXRlLWJveCI+Cis8aW1nIHNy
Yz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlkPSJodWVyb3RhdGUtYm94Ij4KKzxpbWcgc3Jj
PSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9ImludmVydC1ib3giPgorPGltZyBzcmM9InJl
c291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0ib3BhY2l0eS1ib3giPgorPGltZyBzcmM9InJlc291
cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0iYnJpZ2h0bmVzcy1ib3giPgorPGltZyBzcmM9InJlc291
cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0iY29udHJhc3QtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJj
ZXMvcmVmZXJlbmNlLnBuZyIgaWQ9ImJsdXItYm94Ij4KKworPCEtLSB0aGlzIHJlc3VsdCBlbGVt
ZW50IGlzIGZpbGxlZCBpbiB0aGUgc2NyaXB0IGFib3ZlLCBiZWZvcmUgdGhlIGFuaW1hdGlvbnMg
c3RhcnQgLS0+Cis8ZGl2IGlkPSJwcmVyZXN1bHQiPgorPC9kaXY+CisKKzwhLS0gdGhpcyByZXN1
bHQgZWxlbWVudCBpcyBmaWxsZWQgYnkgdGhlIGFuaW1hdGlvbiB0ZXN0IHN5c3RlbSAtLT4KKzxk
aXYgaWQ9InJlc3VsdCI+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130281</attachid>
            <date>2012-03-05 21:37:41 -0800</date>
            <delta_ts>2012-03-05 22:31:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79048-20120306163738.patch</filename>
            <type>text/plain</type>
            <size>22021</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTIyNmJmOTkzZTE5MDVk
YzE1Mjg0YTA5NGNiZDQwNmM2MDdmZTY2Ny4uMTBmYmYwNTJiMWI4NjFkY2RjOGMwZGNlZjUyMjgw
MjRhZmUzMzQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTAzLTA1ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgY29tcG9zaXRpbmcg
d2hlbiBhIENTUyBmaWx0ZXIgaXMgYW5pbWF0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IHNvbWUgc3lzdGVtcyAoZS5nLiBPUyBYKSBo
YXZlIGJvdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQKKyAgICAgICAgQ1NTIGZpbHRlcnMsIGFuZCB0
aGUgYWJpbGl0eSB0byBhbmltYXRlIHRoZW0gdmlhIHRoZSBoYXJkd2FyZQorICAgICAgICBjb21w
b3NpdG9yLCBhbGwgQ1NTIGZpbHRlcnMgc2hvdWxkIGJlIGNvbXBvc2l0ZWQgd2hlbiBhbmltYXRp
bmcuCisKKyAgICAgICAgVGVzdHM6IGNzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmluZy1hbmlt
YXRpb24tbGF5ZXJ0cmVlLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvZmlsdGVycy9jb21wb3Np
dGVkLWR1cmluZy1hbmltYXRpb24uaHRtbAorICAgICAgICAgICAgICAgY3NzMy9maWx0ZXJzL2Nv
bXBvc2l0ZWQtZHVyaW5nLXRyYW5zaXRpb24tbGF5ZXJ0cmVlLmh0bWwKKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OnN1cHBvcnRzQWNjZWxlcmF0ZWRGaWx0ZXJBbmltYXRpb25z
KToKKyAgICAgICAgICAgIG5ldyBtZXRob2QgdGhhdCByZXR1cm5zIHRydWUgaWYgdGhlIHBsYXRm
b3JtIHN1cHBvcnRzCisgICAgICAgICAgICBoYXJkd2FyZSBhbmltYXRpb25zIG9mIGZpbHRlcnMu
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OmFkZEFuaW1hdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OmNyZWF0ZUFuaW1hdGlvbkZyb21LZXlmcmFt
ZXMpOgorICAgICAgICAgICAgb25seSBjcmVhdGUgbGF5ZXItYW5pbWF0aW9ucyBpZiB0aGUgcGxh
dGZvcm0gc3VwcG9ydHMgaXQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVp
cmVzQ29tcG9zaXRpbmdGb3JBbmltYXRpb24pOgorICAgICAgICAgICAgY3JlYXRlIGEgY29tcG9z
aXRpbmcgbGF5ZXIgaWYgYW5pbWF0aW5nIGEgZmlsdGVyIG9uIGEKKyAgICAgICAgICAgIHN1cHBv
cnRlZCBwbGF0Zm9ybS4KKwogMjAxMi0wMy0wMiAgTWFjaWVqIFN0YWNob3dpYWsgIDxtanNAYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjk3MzUzKTogQ3Jhc2ggd2hlbiBhY2Nlc3Np
bmcgbG9jYXRpb24gb3IgaGlzdG9yeSBwcm9wZXJ0aWVzIGluc2lkZSBhIG5hdmlnYXRlZCB3aW5k
b3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBo
aWNzTGF5ZXJDQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFw
aGljc0xheWVyQ0EuY3BwCmluZGV4IGY2ZTcxNGIyYTkzMTgxODZhODgwZjk5MGMwZWU1OTQ1NGM5
M2U2MzIuLmRlYWQwMDZkYWE3Y2UyN2RlNWNkYTFjMjQ5OWMxYmFlOGQ3ZjA0ODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXll
ckNBLmNwcApAQCAtMjQzLDYgKzI0MywxOCBAQCBzdGF0aWMgYm9vbCBhbmltYXRpb25IYXNTdGVw
c1RpbWluZ0Z1bmN0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZUxpc3QsCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCisjaWYgRU5BQkxFKENTU19GSUxURVJTKQorc3RhdGljIGlubGlu
ZSBib29sIHN1cHBvcnRzQWNjZWxlcmF0ZWRGaWx0ZXJBbmltYXRpb25zKCkKK3sKKy8vIDxyZGFy
Oi8vcHJvYmxlbS8xMDkwNzI1MT4gLSBXZWJLaXQyIGRvZXNuJ3Qgc3VwcG9ydCBDQSBhbmltYXRp
b25zIG9mIENJIGZpbHRlcnMgb24gTGlvbiBhbmQgYmVsb3cKKyNpZiAhZGVmaW5lZChCVUlMRElO
R19PTl9TTk9XX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCisgICAgcmV0
dXJuIHRydWU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorI2VuZGlmCisK
IFBhc3NPd25QdHI8R3JhcGhpY3NMYXllcj4gR3JhcGhpY3NMYXllcjo6Y3JlYXRlKEdyYXBoaWNz
TGF5ZXJDbGllbnQqIGNsaWVudCkKIHsKICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEdyYXBoaWNz
TGF5ZXJDQShjbGllbnQpKTsKQEAgLTY2MSw4ICs2NzMsMTAgQEAgYm9vbCBHcmFwaGljc0xheWVy
Q0E6OmFkZEFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsdWVMaXN0LCBjb25z
dCBJbnQKICAgICBpZiAodmFsdWVMaXN0LnByb3BlcnR5KCkgPT0gQW5pbWF0ZWRQcm9wZXJ0eVdl
YmtpdFRyYW5zZm9ybSkKICAgICAgICAgY3JlYXRlZEFuaW1hdGlvbnMgPSBjcmVhdGVUcmFuc2Zv
cm1BbmltYXRpb25zRnJvbUtleWZyYW1lcyh2YWx1ZUxpc3QsIGFuaW0sIGFuaW1hdGlvbk5hbWUs
IHRpbWVPZmZzZXQsIGJveFNpemUpOwogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKLSAgICBlbHNl
IGlmICh2YWx1ZUxpc3QucHJvcGVydHkoKSA9PSBBbmltYXRlZFByb3BlcnR5V2Via2l0RmlsdGVy
KQotICAgICAgICBjcmVhdGVkQW5pbWF0aW9ucyA9IGNyZWF0ZUZpbHRlckFuaW1hdGlvbnNGcm9t
S2V5ZnJhbWVzKHZhbHVlTGlzdCwgYW5pbSwgYW5pbWF0aW9uTmFtZSwgdGltZU9mZnNldCk7Cisg
ICAgZWxzZSBpZiAodmFsdWVMaXN0LnByb3BlcnR5KCkgPT0gQW5pbWF0ZWRQcm9wZXJ0eVdlYmtp
dEZpbHRlcikgeworICAgICAgICBpZiAoc3VwcG9ydHNBY2NlbGVyYXRlZEZpbHRlckFuaW1hdGlv
bnMoKSkKKyAgICAgICAgICAgIGNyZWF0ZWRBbmltYXRpb25zID0gY3JlYXRlRmlsdGVyQW5pbWF0
aW9uc0Zyb21LZXlmcmFtZXModmFsdWVMaXN0LCBhbmltLCBhbmltYXRpb25OYW1lLCB0aW1lT2Zm
c2V0KTsKKyAgICB9CiAjZW5kaWYKICAgICBlbHNlCiAgICAgICAgIGNyZWF0ZWRBbmltYXRpb25z
ID0gY3JlYXRlQW5pbWF0aW9uRnJvbUtleWZyYW1lcyh2YWx1ZUxpc3QsIGFuaW0sIGFuaW1hdGlv
bk5hbWUsIHRpbWVPZmZzZXQpOwpAQCAtMTc2Myw3ICsxNzc3LDcgQEAgdm9pZCBHcmFwaGljc0xh
eWVyQ0E6OnVwZGF0ZUNvbnRlbnRzTmVlZHNEaXNwbGF5KCkKIAogYm9vbCBHcmFwaGljc0xheWVy
Q0E6OmNyZWF0ZUFuaW1hdGlvbkZyb21LZXlmcmFtZXMoY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3Qm
IHZhbHVlTGlzdCwgY29uc3QgQW5pbWF0aW9uKiBhbmltYXRpb24sIGNvbnN0IFN0cmluZyYgYW5p
bWF0aW9uTmFtZSwgZG91YmxlIHRpbWVPZmZzZXQpCiB7Ci0gICAgQVNTRVJUKHZhbHVlTGlzdC5w
cm9wZXJ0eSgpICE9IEFuaW1hdGVkUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0gJiYgdmFsdWVMaXN0
LnByb3BlcnR5KCkgIT0gQW5pbWF0ZWRQcm9wZXJ0eVdlYmtpdEZpbHRlcik7CisgICAgQVNTRVJU
KHZhbHVlTGlzdC5wcm9wZXJ0eSgpICE9IEFuaW1hdGVkUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0g
JiYgKCFzdXBwb3J0c0FjY2VsZXJhdGVkRmlsdGVyQW5pbWF0aW9ucygpIHx8IHZhbHVlTGlzdC5w
cm9wZXJ0eSgpICE9IEFuaW1hdGVkUHJvcGVydHlXZWJraXRGaWx0ZXIpKTsKICAgICAKICAgICBi
b29sIGlzS2V5ZnJhbWUgPSB2YWx1ZUxpc3Quc2l6ZSgpID4gMjsKICAgICBib29sIHZhbHVlc09L
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAppbmRleCA3NWEyODBjOTVkMmI2ZDFlOTczMmQzYzI1NTExOTExODE2YmRhMTA4Li45NWVj
OTc0OTY2MzdjZjhiZGI4ZTJjNTQyNDgyN2U5OGNhZjVjZTIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTUwNSw2ICsx
NTA1LDEyIEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5n
Rm9yQW5pbWF0aW9uKFJlbmRlck9iamVjdCogcmVuZGVyCiAKICAgICBpZiAoQW5pbWF0aW9uQ29u
dHJvbGxlciogYW5pbUNvbnRyb2xsZXIgPSByZW5kZXJlci0+YW5pbWF0aW9uKCkpIHsKICAgICAg
ICAgcmV0dXJuIChhbmltQ29udHJvbGxlci0+aXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJlcihy
ZW5kZXJlciwgQ1NTUHJvcGVydHlPcGFjaXR5KSAmJiBpbkNvbXBvc2l0aW5nTW9kZSgpKQorI2lm
IEVOQUJMRShDU1NfRklMVEVSUykKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BB
UkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xJT04pCisgICAgICAgICAgICAvLyA8cmRhcjov
L3Byb2JsZW0vMTA5MDcyNTE+IC0gV2ViS2l0MiBkb2Vzbid0IHN1cHBvcnQgQ0EgYW5pbWF0aW9u
cyBvZiBDSSBmaWx0ZXJzIG9uIExpb24gYW5kIGJlbG93CisgICAgICAgICAgICB8fCBhbmltQ29u
dHJvbGxlci0+aXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJlcihyZW5kZXJlciwgQ1NTUHJvcGVy
dHlXZWJraXRGaWx0ZXIpCisjZW5kaWYgLy8gIVNOT1dfTEVPUEFSRCAmJiAhTElPTgorI2VuZGlm
IC8vIENTU19GSUxURVJTCiAgICAgICAgICAgICB8fCBhbmltQ29udHJvbGxlci0+aXNSdW5uaW5n
QW5pbWF0aW9uT25SZW5kZXJlcihyZW5kZXJlciwgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0p
OwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDhlNWNjMTFjN2I3Y2E2MDA4Yjc5
MzEzOTIwMTVmMmJiZWVhOTY4Yy4uNzk1NjI4MGEzMDAyOTZhMDM5MjM3ZTA3OGQ0NjFlN2YwM2Jj
ZDIwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAzLTA1ICBEZWFuIEphY2tzb24gIDxk
aW5vQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgY29tcG9zaXRpbmcgd2hlbiBhIENTUyBm
aWx0ZXIgaXMgYW5pbWF0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03OTA0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmlu
Zy1hbmltYXRpb24tbGF5ZXJ0cmVlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3Nz
My9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi1sYXllcnRyZWUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY29tcG9zaXRlZC1kdXJpbmctdHJh
bnNpdGlvbi1sYXllcnRyZWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Zp
bHRlcnMvY29tcG9zaXRlZC1kdXJpbmctdHJhbnNpdGlvbi1sYXllcnRyZWUuaHRtbDogQWRkZWQu
CisKIDIwMTItMDMtMDIgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgRml4IGV4cGVjdGF0aW9uIGZvciBzdmcvZm9yZWlnbk9iamVjdC9mTy1wYXJlbnQtZGlz
cGxheS1jaGFuZ2VzLnN2Zy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9j
b21wb3NpdGVkLWR1cmluZy1hbmltYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzBmMzMxN2RiYjA0NzcxMjRiNWU0ZTc0ZTkxMjZkM2JhM2Y5Y2ExNgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmluZy1hbmlt
YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKKyAgICAgICAgCitQQVNTOiBFbGVt
ZW50IGdyYXlzY2FsZS1ib3ggaGFkIGZpbHRlciB2YWx1ZSBncmF5c2NhbGUoMSkgYmVmb3JlIGFu
aW1hdGlvbi4KK1BBU1M6IEVsZW1lbnQgc2VwaWEtYm94IGhhZCBmaWx0ZXIgdmFsdWUgc2VwaWEo
MSkgYmVmb3JlIGFuaW1hdGlvbi4KK1BBU1M6IEVsZW1lbnQgc2F0dXJhdGUtYm94IGhhZCBmaWx0
ZXIgdmFsdWUgc2F0dXJhdGUoMSkgYmVmb3JlIGFuaW1hdGlvbi4KK1BBU1M6IEVsZW1lbnQgaHVl
cm90YXRlLWJveCBoYWQgZmlsdGVyIHZhbHVlIGh1ZS1yb3RhdGUoOTBkZWcpIGJlZm9yZSBhbmlt
YXRpb24uCitQQVNTOiBFbGVtZW50IGludmVydC1ib3ggaGFkIGZpbHRlciB2YWx1ZSBpbnZlcnQo
MSkgYmVmb3JlIGFuaW1hdGlvbi4KK1BBU1M6IEVsZW1lbnQgb3BhY2l0eS1ib3ggaGFkIGZpbHRl
ciB2YWx1ZSBvcGFjaXR5KDApIGJlZm9yZSBhbmltYXRpb24uCitQQVNTOiBFbGVtZW50IGJyaWdo
dG5lc3MtYm94IGhhZCBmaWx0ZXIgdmFsdWUgYnJpZ2h0bmVzcygwKSBiZWZvcmUgYW5pbWF0aW9u
LgorUEFTUzogRWxlbWVudCBjb250cmFzdC1ib3ggaGFkIGZpbHRlciB2YWx1ZSBjb250cmFzdCgw
KSBiZWZvcmUgYW5pbWF0aW9uLgorUEFTUzogRWxlbWVudCBibHVyLWJveCBoYWQgZmlsdGVyIHZh
bHVlIGJsdXIoMTBweCkgYmVmb3JlIGFuaW1hdGlvbi4KK1BBU1MgLSAid2Via2l0RmlsdGVyIiBw
cm9wZXJ0eSBmb3IgImdyYXlzY2FsZS1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBj
bG9zZSB0bzogZ3JheXNjYWxlKDAuNSkKK1BBU1MgLSAid2Via2l0RmlsdGVyIiBwcm9wZXJ0eSBm
b3IgInNlcGlhLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBzZXBp
YSgwLjUpCitQQVNTIC0gIndlYmtpdEZpbHRlciIgcHJvcGVydHkgZm9yICJzYXR1cmF0ZS1ib3gi
IGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogc2F0dXJhdGUoMC41KQorUEFT
UyAtICJ3ZWJraXRGaWx0ZXIiIHByb3BlcnR5IGZvciAiaHVlcm90YXRlLWJveCIgZWxlbWVudCBh
dCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBodWUtcm90YXRlKDkwZGVnKQorUEFTUyAtICJ3
ZWJraXRGaWx0ZXIiIHByb3BlcnR5IGZvciAiaW52ZXJ0LWJveCIgZWxlbWVudCBhdCAxcyBzYXcg
c29tZXRoaW5nIGNsb3NlIHRvOiBpbnZlcnQoMC41KQorUEFTUyAtICJ3ZWJraXRGaWx0ZXIiIHBy
b3BlcnR5IGZvciAib3BhY2l0eS1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9z
ZSB0bzogb3BhY2l0eSgwLjUpCitQQVNTIC0gIndlYmtpdEZpbHRlciIgcHJvcGVydHkgZm9yICJi
cmlnaHRuZXNzLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBicmln
aHRuZXNzKDAuNSkKK1BBU1MgLSAid2Via2l0RmlsdGVyIiBwcm9wZXJ0eSBmb3IgImNvbnRyYXN0
LWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBjb250cmFzdCgwLjUp
CitQQVNTIC0gIndlYmtpdEZpbHRlciIgcHJvcGVydHkgZm9yICJibHVyLWJveCIgZWxlbWVudCBh
dCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBibHVyKDEwcHgpCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmluZy1hbmltYXRpb24tbGF5ZXJ0
cmVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1
cmluZy1hbmltYXRpb24tbGF5ZXJ0cmVlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yN2YzM2Q3
ZGQ0Y2FmODZlZmE3MmU1NGUxMjU3YmQ3ZmNhOTMwNGUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi1sYXllcnRy
ZWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorICAgCisgICAKKyAgIAorICAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1h
dGlvbi1sYXllcnRyZWUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVk
LWR1cmluZy1hbmltYXRpb24tbGF5ZXJ0cmVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjBiNGRlMmVmZmQx
NDExMDMzMDJkMDBkYzA2ZTQwYTlmNzVmZTg3YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmluZy1hbmltYXRpb24tbGF5ZXJ0cmVlLmh0
bWwKQEAgLTAsMCArMSwxMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAg
PHN0eWxlPgorICAgIGltZyB7CisgICAgICAgIG1hcmdpbjogMTBweDsKKyAgICAgICAgLXdlYmtp
dC1hbmltYXRpb24tZHVyYXRpb246IDVzICFpbXBvcnRhbnQ7CisgICAgICAgIC13ZWJraXQtYW5p
bWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGUgIWltcG9ydGFudDsKKyAgICAgICAgLXdl
YmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGUgIWltcG9ydGFudDsKKyAgICB9CisK
KyAgICAjZ3JheXNjYWxlLWJveCB7CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGdy
YXlzY2FsZS1hbmltOworICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEpOworICAg
IH0KKworICAgICNzZXBpYS1ib3ggeworICAgICAgICAtd2Via2l0LWZpbHRlcjogc2VwaWEoMSk7
CisgICAgfQorCisgICAgI3NhdHVyYXRlLWJveCB7CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9u
OiBzYXR1cmF0ZS1hbmltOworICAgICAgICAtd2Via2l0LWZpbHRlcjogc2F0dXJhdGUoMSk7Cisg
ICAgfQorCisgICAgI2h1ZXJvdGF0ZS1ib3ggeworICAgICAgICAtd2Via2l0LWZpbHRlcjogaHVl
LXJvdGF0ZSg5MGRlZyk7CisgICAgfQorCisgICAgI2ludmVydC1ib3ggeworICAgICAgICAtd2Vi
a2l0LWFuaW1hdGlvbjogaW52ZXJ0LWFuaW07CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBpbnZl
cnQoMSk7CisgICAgfQorCisgICAgI29wYWNpdHktYm94IHsKKyAgICAgICAgLXdlYmtpdC1maWx0
ZXI6IG9wYWNpdHkoMCk7CisgICAgfQorCisgICAgI2JyaWdodG5lc3MtYm94IHsKKyAgICAgICAg
LXdlYmtpdC1hbmltYXRpb246IGJyaWdodG5lc3MtYW5pbTsKKyAgICAgICAgLXdlYmtpdC1maWx0
ZXI6IGJyaWdodG5lc3MoMCk7CisgICAgfQorCisgICAgI2NvbnRyYXN0LWJveCB7CisgICAgICAg
IC13ZWJraXQtZmlsdGVyOiBjb250cmFzdCgwKTsKKyAgICB9CisKKworICAgIEAtd2Via2l0LWtl
eWZyYW1lcyBncmF5c2NhbGUtYW5pbSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LWZpbHRlcjog
Z3JheXNjYWxlKDApOyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxl
KDEpOyB9CisgICAgfQorCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIHNhdHVyYXRlLWFuaW0gewor
ICAgICAgICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6IHNhdHVyYXRlKDApOyB9CisgICAgICAgIHRv
ICAgeyAtd2Via2l0LWZpbHRlcjogc2F0dXJhdGUoMSk7IH0KKyAgICB9CisKKyAgICBALXdlYmtp
dC1rZXlmcmFtZXMgaW52ZXJ0LWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6
IGludmVydCgwKTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1maWx0ZXI6IGludmVydCgxKTsg
fQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZyYW1lcyBicmlnaHRuZXNzLWFuaW0geworICAg
ICAgICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMSk7IH0KKyAgICAgICAgdG8g
ICB7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDApOyB9CisgICAgfQorCisgIDwvc3R5bGU+
CisgIDxzY3JpcHQ+CisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIH0KKworICAgICAgZnVu
Y3Rpb24gZG9UZXN0KCkgeworICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVyLXRyZWUn
KS5pbm5lclRleHQgPSBsYXlvdXRUZXN0Q29udHJvbGxlci5sYXllclRyZWVBc1RleHQoKQorICAg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgICAg
fQorICAgICAgfQorCisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGRvVGVz
dCwgZmFsc2UpOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8IS0tIEV2ZXJ5IHRo
aXJkIGltYWdlIGJlbG93IGlzIGFuaW1hdGluZywgYW5kIHRodXMgbWlnaHQKKyAgICAgZ2V0IGEg
Y29tcG9zaXRpbmcgbGF5ZXIuIEV2ZXJ5IDNuKzEgZWxlbWVudCBpcyBub3QgYW5pbWF0aW5nIGJ1
dAorICAgICBoYXMgYSBzdGF0aWMgZmlsdGVyLCBhbmQgc2hvdWxkbid0IG5lZWQgYSBjb21wb3Np
dGluZyBsYXllci4KKyAgICAgRXZlcnkgM24rMiBlbGVtZW50IGlzIGEgcHVyZWx5IHN0YXRpYyBp
bWFnZSwgYW5kIHNob3VsZG4ndAorICAgICBldmVuIGJlIGEgbGF5ZXIgLS0+Cis8aW1nIHNyYz0i
cmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlkPSJncmF5c2NhbGUtYm94Ij4KKzxpbWcgc3JjPSJy
ZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9InNlcGlhLWJveCI+Cis8aW1nIHNyYz0icmVzb3Vy
Y2VzL3JlZmVyZW5jZS5wbmciPgorPGJyPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2Uu
cG5nIiBpZD0ic2F0dXJhdGUtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBu
ZyIgaWQ9Imh1ZXJvdGF0ZS1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5n
Ij4KKzxicj4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9ImludmVydC1i
b3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0ib3BhY2l0eS1ib3gi
PgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIj4KKzxicj4KKzxpbWcgc3JjPSJy
ZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9ImJyaWdodG5lc3MtYm94Ij4KKzxpbWcgc3JjPSJy
ZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9ImNvbnRyYXN0LWJveCI+Cis8aW1nIHNyYz0icmVz
b3VyY2VzL3JlZmVyZW5jZS5wbmciPgorCis8cHJlIGlkPSJsYXllci10cmVlIj5MYXllciB0cmVl
IGdvZXMgaGVyZSBpbiBEUlQ8L3ByZT4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVyaW5nLWFuaW1hdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY5M2MwYWM5YjRiY2Q0MGY4ZWQ4OTA4NTgyNjUzNTlmZTJmNGE3ODAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY29tcG9zaXRlZC1k
dXJpbmctYW5pbWF0aW9uLmh0bWwKQEAgLTAsMCArMSwxODYgQEAKKzwhRE9DVFlQRSBodG1sPgor
Cis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGU+CisgICAgaW1nIHsKKyAgICAgICAgbWFyZ2luOiAx
MHB4OworICAgIH0KKworICAgIC5hbmltYXRpbmcgaW1nIHsKKyAgICAgICAgLXdlYmtpdC1hbmlt
YXRpb24tZHVyYXRpb246IDJzICFpbXBvcnRhbnQ7CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9u
LXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7CisgICAgfQorCisgICAgI2dyYXlz
Y2FsZS1ib3ggeworICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBncmF5c2NhbGUtYW5p
bTsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxKTsKKyAgICB9CisKKyAgICAj
c2VwaWEtYm94IHsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNlcGlhLWFuaW07CisgICAg
ICAgIC13ZWJraXQtZmlsdGVyOiBzZXBpYSgxKTsKKyAgICB9CisKKyAgICAjc2F0dXJhdGUtYm94
IHsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNhdHVyYXRlLWFuaW07CisgICAgICAgIC13
ZWJraXQtZmlsdGVyOiBzYXR1cmF0ZSgxKTsKKyAgICB9CisKKyAgICAjaHVlcm90YXRlLWJveCB7
CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBodWVyb3RhdGUtYW5pbTsKKyAgICAgICAgLXdl
YmtpdC1maWx0ZXI6IGh1ZS1yb3RhdGUoOTBkZWcpOworICAgIH0KKworICAgICNpbnZlcnQtYm94
IHsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGludmVydC1hbmltOworICAgICAgICAtd2Vi
a2l0LWZpbHRlcjogaW52ZXJ0KDEpOworICAgIH0KKworICAgICNvcGFjaXR5LWJveCB7CisgICAg
ICAgIC13ZWJraXQtYW5pbWF0aW9uOiBvcGFjaXR5LWFuaW07CisgICAgICAgIC13ZWJraXQtZmls
dGVyOiBvcGFjaXR5KDApOworICAgIH0KKworICAgICNicmlnaHRuZXNzLWJveCB7CisgICAgICAg
IC13ZWJraXQtYW5pbWF0aW9uOiBicmlnaHRuZXNzLWFuaW07CisgICAgICAgIC13ZWJraXQtZmls
dGVyOiBicmlnaHRuZXNzKDApOworICAgIH0KKworICAgICNjb250cmFzdC1ib3ggeworICAgICAg
ICAtd2Via2l0LWFuaW1hdGlvbjogY29udHJhc3QtYW5pbTsKKyAgICAgICAgLXdlYmtpdC1maWx0
ZXI6IGNvbnRyYXN0KDApOworICAgIH0KKworICAgICNibHVyLWJveCB7CisgICAgICAgIC13ZWJr
aXQtYW5pbWF0aW9uOiBibHVyLWFuaW07CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDEw
cHgpOworICAgIH0KKworICAgIEAtd2Via2l0LWtleWZyYW1lcyBncmF5c2NhbGUtYW5pbSB7Cisg
ICAgICAgIGZyb20geyAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDApOyB9CisgICAgICAgIHRv
ICAgeyAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEpOyB9CisgICAgfQorCisgICAgQC13ZWJr
aXQta2V5ZnJhbWVzIHNlcGlhLWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtpdC1maWx0ZXI6
IHNlcGlhKDApOyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0LWZpbHRlcjogc2VwaWEoMSk7IH0K
KyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgc2F0dXJhdGUtYW5pbSB7CisgICAgICAg
IGZyb20geyAtd2Via2l0LWZpbHRlcjogc2F0dXJhdGUoMCk7IH0KKyAgICAgICAgdG8gICB7IC13
ZWJraXQtZmlsdGVyOiBzYXR1cmF0ZSgxKTsgfQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZy
YW1lcyBodWVyb3RhdGUtYW5pbSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LWZpbHRlcjogaHVl
LXJvdGF0ZSgwKTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1maWx0ZXI6IGh1ZS1yb3RhdGUo
MTgwZGVnKTsgfQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZyYW1lcyBpbnZlcnQtYW5pbSB7
CisgICAgICAgIGZyb20geyAtd2Via2l0LWZpbHRlcjogaW52ZXJ0KDApOyB9CisgICAgICAgIHRv
ICAgeyAtd2Via2l0LWZpbHRlcjogaW52ZXJ0KDEpOyB9CisgICAgfQorCisgICAgQC13ZWJraXQt
a2V5ZnJhbWVzIG9wYWNpdHktYW5pbSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LWZpbHRlcjog
b3BhY2l0eSgxKTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1maWx0ZXI6IG9wYWNpdHkoMCk7
IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgYnJpZ2h0bmVzcy1hbmltIHsKKyAg
ICAgICAgZnJvbSB7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDEpOyB9CisgICAgICAgIHRv
ICAgeyAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygwKTsgfQorICAgIH0KKworICAgIEAtd2Vi
a2l0LWtleWZyYW1lcyBjb250cmFzdC1hbmltIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtZmls
dGVyOiBjb250cmFzdCgxKTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1maWx0ZXI6IGNvbnRy
YXN0KDApOyB9CisgICAgfQorCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIGJsdXItYW5pbSB7Cisg
ICAgICAgIGZyb20geyAtd2Via2l0LWZpbHRlcjogYmx1cigwKTsgfQorICAgICAgICB0byAgIHsg
LXdlYmtpdC1maWx0ZXI6IGJsdXIoMjBweCk7IH0KKyAgICB9CisKKyAgPC9zdHlsZT4KKyAgPHNj
cmlwdCBzcmM9Ii4uLy4uL2FuaW1hdGlvbnMvcmVzb3VyY2VzL2FuaW1hdGlvbi10ZXN0LWhlbHBl
cnMuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKKyAg
ICBjb25zdCBwcmVFeHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgICAgLy8gW2VsZW1lbnQtaWQsIHBy
b3BlcnR5LCBleHBlY3RlZC12YWx1ZV0KKyAgICAgICAgWyJncmF5c2NhbGUtYm94IiwgIndlYmtp
dEZpbHRlciIsICdncmF5c2NhbGUoMSknXSwKKyAgICAgICAgWyJzZXBpYS1ib3giLCAid2Via2l0
RmlsdGVyIiwgJ3NlcGlhKDEpJ10sCisgICAgICAgIFsic2F0dXJhdGUtYm94IiwgIndlYmtpdEZp
bHRlciIsICdzYXR1cmF0ZSgxKSddLAorICAgICAgICBbImh1ZXJvdGF0ZS1ib3giLCAid2Via2l0
RmlsdGVyIiwgJ2h1ZS1yb3RhdGUoOTBkZWcpJ10sCisgICAgICAgIFsiaW52ZXJ0LWJveCIsICJ3
ZWJraXRGaWx0ZXIiLCAnaW52ZXJ0KDEpJ10sCisgICAgICAgIFsib3BhY2l0eS1ib3giLCAid2Vi
a2l0RmlsdGVyIiwgJ29wYWNpdHkoMCknXSwKKyAgICAgICAgWyJicmlnaHRuZXNzLWJveCIsICJ3
ZWJraXRGaWx0ZXIiLCAnYnJpZ2h0bmVzcygwKSddLAorICAgICAgICBbImNvbnRyYXN0LWJveCIs
ICJ3ZWJraXRGaWx0ZXIiLCAnY29udHJhc3QoMCknXSwKKyAgICAgICAgWyJibHVyLWJveCIsICJ3
ZWJraXRGaWx0ZXIiLCAnYmx1cigxMHB4KSddLAorICAgIF07CisKKyAgICBjb25zdCBleHBlY3Rl
ZFZhbHVlcyA9IFsKKyAgICAgICAgLy8gW2FuaW1hdGlvbi1uYW1lLCB0aW1lLCBlbGVtZW50LWlk
LCBwcm9wZXJ0eSwgZXhwZWN0ZWQtdmFsdWUsIHRvbGVyYW5jZV0KKyAgICAgICAgWyJncmF5c2Nh
bGUtYW5pbSIsICAxLCAiZ3JheXNjYWxlLWJveCIsICJ3ZWJraXRGaWx0ZXIiLCAnZ3JheXNjYWxl
KDAuNSknLCAwLjE1XSwKKyAgICAgICAgWyJzZXBpYS1hbmltIiwgIDEsICJzZXBpYS1ib3giLCAi
d2Via2l0RmlsdGVyIiwgJ3NlcGlhKDAuNSknLCAwLjE1XSwKKyAgICAgICAgWyJzYXR1cmF0ZS1h
bmltIiwgIDEsICJzYXR1cmF0ZS1ib3giLCAid2Via2l0RmlsdGVyIiwgJ3NhdHVyYXRlKDAuNSkn
LCAwLjE1XSwKKyAgICAgICAgWyJodWVyb3RhdGUtYW5pbSIsICAxLCAiaHVlcm90YXRlLWJveCIs
ICJ3ZWJraXRGaWx0ZXIiLCAnaHVlLXJvdGF0ZSg5MGRlZyknLCAyMF0sCisgICAgICAgIFsiaW52
ZXJ0LWFuaW0iLCAgMSwgImludmVydC1ib3giLCAid2Via2l0RmlsdGVyIiwgJ2ludmVydCgwLjUp
JywgMC4xNV0sCisgICAgICAgIFsib3BhY2l0eS1hbmltIiwgIDEsICJvcGFjaXR5LWJveCIsICJ3
ZWJraXRGaWx0ZXIiLCAnb3BhY2l0eSgwLjUpJywgMC4xNV0sCisgICAgICAgIFsiYnJpZ2h0bmVz
cy1hbmltIiwgIDEsICJicmlnaHRuZXNzLWJveCIsICJ3ZWJraXRGaWx0ZXIiLCAnYnJpZ2h0bmVz
cygwLjUpJywgMC4xNV0sCisgICAgICAgIFsiY29udHJhc3QtYW5pbSIsICAxLCAiY29udHJhc3Qt
Ym94IiwgIndlYmtpdEZpbHRlciIsICdjb250cmFzdCgwLjUpJywgMC4xNV0sCisgICAgICAgIFsi
Ymx1ci1hbmltIiwgIDEsICJibHVyLWJveCIsICJ3ZWJraXRGaWx0ZXIiLCAnYmx1cigxMHB4KScs
IDRdLAorICAgIF07CisKKyAgICBmdW5jdGlvbiBydW5QcmVUZXN0KCkgeworICAgICAgICB2YXIg
cHJlUmVzdWx0ID0gIiI7CisKKyAgICAgICAgZm9yICh2YXIgaT0wOyBpIDwgcHJlRXhwZWN0ZWRW
YWx1ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBpZCA9IHByZUV4cGVjdGVkVmFs
dWVzW2ldWzBdOworICAgICAgICAgICAgdmFyIHByb3AgPSBwcmVFeHBlY3RlZFZhbHVlc1tpXVsx
XTsKKyAgICAgICAgICAgIHZhciBleHBlY3RlZCA9IHByZUV4cGVjdGVkVmFsdWVzW2ldWzJdOwor
ICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7Cisg
ICAgICAgICAgICB2YXIgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVs
ZW1lbnQpW3Byb3BdOworICAgICAgICAgICAgaWYgKGNvbXB1dGVkU3R5bGUgPT0gZXhwZWN0ZWQp
CisgICAgICAgICAgICAgIHByZVJlc3VsdCArPSAiUEFTUzogRWxlbWVudCAiICsgaWQgKyAiIGhh
ZCBmaWx0ZXIgdmFsdWUgIiArIGV4cGVjdGVkICsgIiBiZWZvcmUgYW5pbWF0aW9uLjxicj4iOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICBwcmVSZXN1bHQgKz0gIkZBSUw6IEVsZW1l
bnQgIiArIGlkICsgIiBoYWQgZmlsdGVyIHZhbHVlICIgKyBjb21wdXRlZFN0eWxlICsgIiByYXRo
ZXIgdGhhbiAiICsgZXhwZWN0ZWQgKyAiIGJlZm9yZSBhbmltYXRpb24uPGJyPiI7CisgICAgICAg
IH0KKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByZXJlc3VsdCIpLmlubmVySFRN
TCA9IHByZVJlc3VsdDsKKworICAgICAgICAvLyBDb21wbGV0ZWQgdGhlIHByZS1hbmltYXRpb24g
dGVzdHMuIE5vdyBzdGFydCB0aGUgYW5pbWF0aW9uLgorICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gImFuaW1hdGlu
ZyI7CisgICAgICAgICAgICBydW5BbmltYXRpb25UZXN0KGV4cGVjdGVkVmFsdWVzKTsKKyAgICAg
ICAgfSwgMCk7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1blByZVRlc3QsIGZhbHNlKTsKKyAgPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKworPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBp
ZD0iZ3JheXNjYWxlLWJveCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlk
PSJzZXBpYS1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0ic2F0
dXJhdGUtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgaWQ9Imh1ZXJv
dGF0ZS1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0iaW52ZXJ0
LWJveCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlkPSJvcGFjaXR5LWJv
eCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlkPSJicmlnaHRuZXNzLWJv
eCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlkPSJjb250cmFzdC1ib3gi
PgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0iYmx1ci1ib3giPgorCis8
IS0tIHRoaXMgcmVzdWx0IGVsZW1lbnQgaXMgZmlsbGVkIGluIHRoZSBzY3JpcHQgYWJvdmUsIGJl
Zm9yZSB0aGUgYW5pbWF0aW9ucyBzdGFydCAtLT4KKzxkaXYgaWQ9InByZXJlc3VsdCI+Cis8L2Rp
dj4KKworPCEtLSB0aGlzIHJlc3VsdCBlbGVtZW50IGlzIGZpbGxlZCBieSB0aGUgYW5pbWF0aW9u
IHRlc3Qgc3lzdGVtIC0tPgorPGRpdiBpZD0icmVzdWx0Ij4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2NvbXBvc2l0ZWQtZHVy
aW5nLXRyYW5zaXRpb24tbGF5ZXJ0cmVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9jb21wb3NpdGVkLWR1cmluZy10cmFuc2l0aW9uLWxheWVydHJlZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjdmMzNkN2RkNGNhZjg2ZWZhNzJlNTRlMTI1N2JkN2ZjYTkzMDRlMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1
cmluZy10cmFuc2l0aW9uLWxheWVydHJlZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisg
ICAKKyAgIAorICAgCisgIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
Y29tcG9zaXRlZC1kdXJpbmctdHJhbnNpdGlvbi1sYXllcnRyZWUuaHRtbCBiL0xheW91dFRlc3Rz
L2NzczMvZmlsdGVycy9jb21wb3NpdGVkLWR1cmluZy10cmFuc2l0aW9uLWxheWVydHJlZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc1ZTQwNTA4MTFmZjU2OGMyOTdlZGEzZTE2NjM5NTlhNDQ3MWIyNWYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY29tcG9zaXRlZC1kdXJp
bmctdHJhbnNpdGlvbi1sYXllcnRyZWUuaHRtbApAQCAtMCwwICsxLDEwOCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGU+CisgICAgaW1nIHsKKyAgICAgICAgbWFy
Z2luOiAxMHB4OworICAgIH0KKworICAgICNncmF5c2NhbGUtYm94IHsKKyAgICAgICAgLXdlYmtp
dC10cmFuc2l0aW9uOiAtd2Via2l0LWZpbHRlciA1czsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6
IGdyYXlzY2FsZSgwKTsKKyAgICB9CisKKyAgICAudHJpZ2dlciAjZ3JheXNjYWxlLWJveCB7Cisg
ICAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMSk7CisgICAgfQorCisgICAgI3NlcGlh
LWJveCB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBzZXBpYSgxKTsKKyAgICB9CisKKyAgICAj
c2F0dXJhdGUtYm94IHsKKyAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LWZpbHRl
ciA1czsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IHNhdHVyYXRlKDApOworICAgIH0KKworICAg
IC50cmlnZ2VyICNzYXR1cmF0ZS1ib3ggeworICAgICAgICAtd2Via2l0LWZpbHRlcjogc2F0dXJh
dGUoMSk7CisgICAgfQorCisgICAgI2h1ZXJvdGF0ZS1ib3ggeworICAgICAgICAtd2Via2l0LWZp
bHRlcjogaHVlLXJvdGF0ZSg5MGRlZyk7CisgICAgfQorCisgICAgI2ludmVydC1ib3ggeworICAg
ICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtZmlsdGVyIDVzOworICAgICAgICAtd2Vi
a2l0LWZpbHRlcjogaW52ZXJ0KDApOworICAgIH0KKworICAgIC50cmlnZ2VyICNpbnZlcnQtYm94
IHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGludmVydCgxKTsKKyAgICB9CisKKyAgICAjb3Bh
Y2l0eS1ib3ggeworICAgICAgICAtd2Via2l0LWZpbHRlcjogb3BhY2l0eSgwLjUpOworICAgIH0K
KworICAgICNicmlnaHRuZXNzLWJveCB7CisgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdl
YmtpdC1maWx0ZXIgNXM7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDApOwor
ICAgIH0KKworICAgIC50cmlnZ2VyICNicmlnaHRuZXNzLWJveCB7CisgICAgICAgIC13ZWJraXQt
ZmlsdGVyOiBicmlnaHRuZXNzKDEpOworICAgIH0KKworICAgICNjb250cmFzdC1ib3ggeworICAg
ICAgICAtd2Via2l0LWZpbHRlcjogY29udHJhc3QoMCk7CisgICAgfQorICA8L3N0eWxlPgorICA8
c2NyaXB0PgorICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9u
IGRvVGVzdCgpIHsKKyAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllci10cmVlJykuaW5u
ZXJUZXh0ID0gbGF5b3V0VGVzdENvbnRyb2xsZXIubGF5ZXJUcmVlQXNUZXh0KCkKKyAgICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgIH0KKyAg
ICAgIH0KKworICAgICAgZnVuY3Rpb24gdHJpZ2dlclRyYW5zaXRpb24oKSB7CisgICAgICAgICAg
ZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSAidHJpZ2dlciI7CisgICAgICAgICAgc2V0VGltZW91
dChkb1Rlc3QsIDIwMCk7CisgICAgICB9CisKKyAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgdHJpZ2dlclRyYW5zaXRpb24sIGZhbHNlKTsKKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKworPCEtLSBFdmVyeSB0aGlyZCBpbWFnZSBiZWxvdyB3aWxsIHRyYW5zaXRpb24s
IGFuZCB0aHVzIG1pZ2h0CisgICAgIGdldCBhIGNvbXBvc2l0aW5nIGxheWVyLiBFdmVyeSAzbisx
IGVsZW1lbnQgaXMgbm90IHRyYW5zaXRpb25pbmcgYnV0CisgICAgIGhhcyBhIHN0YXRpYyBmaWx0
ZXIsIGFuZCBzaG91bGRuJ3QgbmVlZCBhIGNvbXBvc2l0aW5nIGxheWVyLgorICAgICBFdmVyeSAz
bisyIGVsZW1lbnQgaXMgYSBwdXJlbHkgc3RhdGljIGltYWdlLCBhbmQgc2hvdWxkbid0CisgICAg
IGV2ZW4gYmUgYSBsYXllciAtLT4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIg
aWQ9ImdyYXlzY2FsZS1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBp
ZD0ic2VwaWEtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyI+Cis8YnI+
Cis8aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIGlkPSJzYXR1cmF0ZS1ib3giPgor
PGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0iaHVlcm90YXRlLWJveCI+Cis8
aW1nIHNyYz0icmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciPgorPGJyPgorPGltZyBzcmM9InJlc291
cmNlcy9yZWZlcmVuY2UucG5nIiBpZD0iaW52ZXJ0LWJveCI+Cis8aW1nIHNyYz0icmVzb3VyY2Vz
L3JlZmVyZW5jZS5wbmciIGlkPSJvcGFjaXR5LWJveCI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL3Jl
ZmVyZW5jZS5wbmciPgorPGJyPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBp
ZD0iYnJpZ2h0bmVzcy1ib3giPgorPGltZyBzcmM9InJlc291cmNlcy9yZWZlcmVuY2UucG5nIiBp
ZD0iY29udHJhc3QtYm94Ij4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyI+CisK
KzxwcmUgaWQ9ImxheWVyLXRyZWUiPkxheWVyIHRyZWUgZ29lcyBoZXJlIGluIERSVDwvcHJlPgor
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="133242"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="133260"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>