<?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>107218</bug_id>
          
          <creation_ts>2013-01-17 19:45:28 -0800</creation_ts>
          <short_desc>Move WebGLErrorsToConsole page setting to window.internals.settings</short_desc>
          <delta_ts>2013-01-25 11:21:43 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="arno.">a.renevier</assigned_to>
          <cc>a.renevier</cc>
    
    <cc>bajones</cc>
    
    <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>gman</cc>
    
    <cc>jochen</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>810135</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-01-17 19:45:28 -0800</bug_when>
    <thetext>Per Bug 107035 the page setting WebGLErrorsToConsole should be moved to window.internals.settings. It shouldn&apos;t be hard to make all the WebGL tests set this to false, preventing spew by the test harness, while making it default to true (in browsers).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810772</commentid>
    <comment_count>1</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-18 10:18:16 -0800</bug_when>
    <thetext>Since you used Settings.in to define the property, you get this for free!

We automatically generate setters on window.internals.settings for bool preferences defined in Settings.in. window.internals.settings.setWebGLEnabled should already exist.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811226</commentid>
    <comment_count>2</comment_count>
      <attachid>183587</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2013-01-18 18:09:57 -0800</bug_when>
    <thetext>Created attachment 183587
patch proposal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811420</commentid>
    <comment_count>3</comment_count>
      <attachid>183587</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-19 09:41:53 -0800</bug_when>
    <thetext>Comment on attachment 183587
patch proposal

Attachment 183587 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/15966212

New failing tests:
inspector/profiler/webgl/webgl-profiler-api-changes.html
inspector/profiler/webgl/webgl-profiler-get-error.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812405</commentid>
    <comment_count>4</comment_count>
      <attachid>183833</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2013-01-21 14:55:20 -0800</bug_when>
    <thetext>Created attachment 183833
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812592</commentid>
    <comment_count>5</comment_count>
      <attachid>183833</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-21 21:45:02 -0800</bug_when>
    <thetext>Comment on attachment 183833
updated patch

Attachment 183833 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16037385

New failing tests:
compositing/z-order/negative-z-index.html
http/tests/security/window-events-clear-domain.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813504</commentid>
    <comment_count>6</comment_count>
      <attachid>183833</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-22 15:54:50 -0800</bug_when>
    <thetext>Comment on attachment 183833
updated patch

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

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html
http/tests/security/window-events-clear-domain.html
http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813532</commentid>
    <comment_count>7</comment_count>
      <attachid>183833</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-01-22 16:24:45 -0800</bug_when>
    <thetext>Comment on attachment 183833
updated patch

Arno, have you gone through the layout test failures reported by the EWS? A couple look like they could be related to this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814382</commentid>
    <comment_count>8</comment_count>
      <attachid>184266</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2013-01-23 11:08:03 -0800</bug_when>
    <thetext>Created attachment 184266
updated patch

I think this patch covers all tests.
But the problem is: forceLostContext(SyntheticLostContext) is called every time a document is unloaded. So when working with webgl, the console receives a lot of unuseful WebGL: CONTEXT_LOST_WEBGL: loseContext: context lost messages.
What about sending lost context messages to console only if mode is RealLostContext ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814529</commentid>
    <comment_count>9</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-01-23 12:52:40 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; What about sending lost context messages to console only if mode is RealLostContext ?

No objections, but I think you will find this difficult to implement. The CONTEXT_LOST_WEBGL error needs to be synthesized both for real and synthetic lost contexts, and by the time it&apos;s queried, the fact that the original lost context was synthetic is lost.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815643</commentid>
    <comment_count>10</comment_count>
      <attachid>184537</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2013-01-24 11:16:24 -0800</bug_when>
    <thetext>Created attachment 184537
updated patch

updated patch: do not display context lost errors on console if it is a synthetic lost. Also, instead of setting setWebGLErrorsToConsoleEnabled to false for all webgl tests, only do that for tests which trigger some errors. So, it will be easier to check if a test starts triggering an unexpected error</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816048</commentid>
    <comment_count>11</comment_count>
      <attachid>184537</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-01-24 18:07:21 -0800</bug_when>
    <thetext>Comment on attachment 184537
updated patch

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

Thanks for persisting. This patch looks good. Did you want it reviewed and cq&apos;d? Please mark r? and cq? in Details of patch if so.

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:1885
&gt; +            &amp;&amp; (!state.bufferBinding || !state.bufferBinding-&gt;object())) {

Spurious change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816054</commentid>
    <comment_count>12</comment_count>
      <attachid>184626</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2013-01-24 18:12:16 -0800</bug_when>
    <thetext>Created attachment 184626
updated patch (remove spurious change)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816074</commentid>
    <comment_count>13</comment_count>
      <attachid>184626</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-01-24 18:40:14 -0800</bug_when>
    <thetext>Comment on attachment 184626
updated patch (remove spurious change)

Looks good. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816776</commentid>
    <comment_count>14</comment_count>
      <attachid>184626</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-25 11:21:39 -0800</bug_when>
    <thetext>Comment on attachment 184626
updated patch (remove spurious change)

Clearing flags on attachment: 184626

Committed r140851: &lt;http://trac.webkit.org/changeset/140851&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816777</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-25 11:21:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183587</attachid>
            <date>2013-01-18 18:09:57 -0800</date>
            <delta_ts>2013-01-21 14:55:18 -0800</delta_ts>
            <desc>patch proposal</desc>
            <filename>bug-107218-20130118180653.patch</filename>
            <type>text/plain</type>
            <size>4473</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2YxZWJiNjZiNzc2MzQ5
M2NiOTZlYTEyZTQ3YTJhYmQ3M2I0M2FmZS4uOTUxY2NmZWE2NDQwZjJlYWY2ZDI0ODNkMzQzNTNm
YTdlZjliYjIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTE4ICBBcm5h
dWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92
ZSBXZWJHTEVycm9yc1RvQ29uc29sZSBwYWdlIHNldHRpbmcgdG8gd2luZG93LmludGVybmFscy5z
ZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA3MjE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RGVmaW5lIHdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZCBhcyB0cnVlIGJ5IGRlZmF1bHQuIEFs
c28sCisgICAgICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6bV9zeW50aGVzaXplZEVycm9yc1Rv
Q29uc29sZSBpcyB0cnVlIGJ5IGRlZmF1bHQKKyAgICAgICAgYW5kIGNhbiBiZSBkaXNhYmxlZCBi
eSBzZXR0aW5ncy4KKworICAgICAgICBObyBuZXcgdGVzdHM6IGNvdmVyZWQgYnkgZXhpc3Rpbmcg
dGVzdHMuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OldlYkdMUmVuZGVyaW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnNldHVwRmxhZ3MpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46
CisKIDIwMTItMTItMTQgIEFybmF1ZCBSZW5ldmllciAgPGEucmVuZXZpZXJAc2lzYS5zYW1zdW5n
LmNvbT4KIAogICAgICAgICBpbmNvbnNpc3RlbmN5IGluIGRyYXdJbWFnZSB3aXRoIHRhcmdldCBy
ZWN0IG5lZ2F0aXZlIGRpbWVuc2lvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCAyMGM2MGI4ZDRlN2EyYzg4ZDYx
NWU3OTBiZmI5N2E4NmYzMjI3ODRmLi5iZTAzODdhZGE3OGJmZTJjMDMwNmIyZWNiMWI0Y2QyZmI0
YjAxODRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHAKQEAgLTQ2NCw3ICs0NjQsNyBAQCBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OldlYkdMUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCogcGFzc2VkQ2FudmFz
LCBQYQogICAgICwgbV9jb250ZXh0TG9zdChmYWxzZSkKICAgICAsIG1fY29udGV4dExvc3RNb2Rl
KFN5bnRoZXRpY0xvc3RDb250ZXh0KQogICAgICwgbV9hdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpCi0g
ICAgLCBtX3N5bnRoZXNpemVkRXJyb3JzVG9Db25zb2xlKGZhbHNlKQorICAgICwgbV9zeW50aGVz
aXplZEVycm9yc1RvQ29uc29sZSh0cnVlKQogICAgICwgbV9udW1HTEVycm9yc1RvQ29uc29sZUFs
bG93ZWQobWF4R0xFcnJvcnNBbGxvd2VkVG9Db25zb2xlKQogewogICAgIEFTU0VSVChtX2NvbnRl
eHQpOwpAQCAtNTY2LDggKzU2Niw4IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpzZXR1
cEZsYWdzKCkKICAgICBBU1NFUlQobV9jb250ZXh0KTsKIAogICAgIFBhZ2UqIHAgPSBjYW52YXMo
KS0+ZG9jdW1lbnQoKS0+cGFnZSgpOwotICAgIGlmIChwICYmIHAtPnNldHRpbmdzKCktPndlYkdM
RXJyb3JzVG9Db25zb2xlRW5hYmxlZCgpKQotICAgICAgICBtX3N5bnRoZXNpemVkRXJyb3JzVG9D
b25zb2xlID0gdHJ1ZTsKKyAgICBpZiAocCkKKyAgICAgICAgbV9zeW50aGVzaXplZEVycm9yc1Rv
Q29uc29sZSA9IHAtPnNldHRpbmdzKCktPndlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZCgpOwog
CiAgICAgbV9pc0dMRVMyQ29tcGxpYW50ID0gbV9jb250ZXh0LT5pc0dMRVMyQ29tcGxpYW50KCk7
CiAgICAgbV9pc0Vycm9yR2VuZXJhdGVkT25PdXRPZkJvdW5kc0FjY2Vzc2VzID0gbV9jb250ZXh0
LT5nZXRFeHRlbnNpb25zKCktPmlzRW5hYmxlZCgiR0xfQ0hST01JVU1fc3RyaWN0X2F0dHJpYnMi
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IDZiMGYzOGQ1OTFhZTZlMmE1NjcxZTIzYmE4
ZmRhNmFlYWZhMzNlZDUuLmQ3NjkwOTc0NDA2MzRhNWRmZjc1ZDBhZTRjODk5ZTYxZTdhZmJmYTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAtOTcsNyArOTcsNyBAQCBjb21wb3NpdGVkU2Ny
b2xsaW5nRm9yRnJhbWVzRW5hYmxlZCBpbml0aWFsPWZhbHNlCiAKIGV4cGVyaW1lbnRhbE5vdGlm
aWNhdGlvbnNFbmFibGVkIGluaXRpYWw9ZmFsc2UKIHdlYkdMRW5hYmxlZCBpbml0aWFsPWZhbHNl
Ci13ZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQgaW5pdGlhbD1mYWxzZQord2ViR0xFcnJvcnNU
b0NvbnNvbGVFbmFibGVkIGluaXRpYWw9dHJ1ZQogb3BlbkdMTXVsdGlzYW1wbGluZ0VuYWJsZWQg
aW5pdGlhbD10cnVlCiBwcml2aWxlZ2VkV2ViR0xFeHRlbnNpb25zRW5hYmxlZCBpbml0aWFsPWZh
bHNlCiBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCBpbml0aWFsPWZhbHNlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2Qw
NzRiZTAxN2NiYzJjMTk3MWE2MTdlMDNlNjk3MTU4MzY4NDVlNC4uNGQ0NTBhOTQ1YzY5OGZmODNk
NzRkNjBhYWQ1Y2NlNWFiYzZiYjllMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEzLTAxLTE4
ICBBcm5hdWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgTW92ZSBXZWJHTEVycm9yc1RvQ29uc29sZSBwYWdlIHNldHRpbmcgdG8gd2luZG93LmludGVy
bmFscy5zZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA3MjE4CisKKyAgICAgICAgV2ViR0wgdGVzdHMgbm93IHNldCBXZWJHTEVycm9yc1Rv
Q29uc29sZUVuYWJsZWQgdG8gZmFsc2UuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2wtdGVz
dC5qczoKKwogMjAxMi0xMi0xNCAgQXJuYXVkIFJlbmV2aWVyICA8YS5yZW5ldmllckBzaXNhLnNh
bXN1bmcuY29tPgogCiAgICAgICAgIGluY29uc2lzdGVuY3kgaW4gZHJhd0ltYWdlIHdpdGggdGFy
Z2V0IHJlY3QgbmVnYXRpdmUgZGltZW5zaW9ucy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMKaW5kZXggZmQ4ZDdiZTY0Nzcz
NTRjNjNlMGY5NzYyNDU5MjkwZmExYTE0OTJjNi4uZDczOTNkZjM0ZWJlNjQ3MDBlNTgwNGFjNGJl
OTAzZjcyODdiNWRhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMKQEAgLTEsNyArMSw5IEBACiAvLy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIC8vIERpZmZlcmVuY2VzIHdpdGggcmVzcGVjdCB0byBLaHJvbm9zIHZlcnNpb24gb2Ygd2Vi
Z2wtdGVzdC5qcwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOworaWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRW5hYmxlZCh0
cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25z
b2xlRW5hYmxlZChmYWxzZSk7Cit9CiAKIGZ1bmN0aW9uIGFzc2VydE1zZyhhc3NlcnRpb24sIG1z
ZykgewogICAgIGlmIChhc3NlcnRpb24pIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183833</attachid>
            <date>2013-01-21 14:55:20 -0800</date>
            <delta_ts>2013-01-23 11:08:03 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>bug-107218-20130121145214.patch</filename>
            <type>text/plain</type>
            <size>14324</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2YxZWJiNjZiNzc2MzQ5
M2NiOTZlYTEyZTQ3YTJhYmQ3M2I0M2FmZS4uOTUxY2NmZWE2NDQwZjJlYWY2ZDI0ODNkMzQzNTNm
YTdlZjliYjIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTE4ICBBcm5h
dWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92
ZSBXZWJHTEVycm9yc1RvQ29uc29sZSBwYWdlIHNldHRpbmcgdG8gd2luZG93LmludGVybmFscy5z
ZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA3MjE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RGVmaW5lIHdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZCBhcyB0cnVlIGJ5IGRlZmF1bHQuIEFs
c28sCisgICAgICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6bV9zeW50aGVzaXplZEVycm9yc1Rv
Q29uc29sZSBpcyB0cnVlIGJ5IGRlZmF1bHQKKyAgICAgICAgYW5kIGNhbiBiZSBkaXNhYmxlZCBi
eSBzZXR0aW5ncy4KKworICAgICAgICBObyBuZXcgdGVzdHM6IGNvdmVyZWQgYnkgZXhpc3Rpbmcg
dGVzdHMuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OldlYkdMUmVuZGVyaW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnNldHVwRmxhZ3MpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46
CisKIDIwMTItMTItMTQgIEFybmF1ZCBSZW5ldmllciAgPGEucmVuZXZpZXJAc2lzYS5zYW1zdW5n
LmNvbT4KIAogICAgICAgICBpbmNvbnNpc3RlbmN5IGluIGRyYXdJbWFnZSB3aXRoIHRhcmdldCBy
ZWN0IG5lZ2F0aXZlIGRpbWVuc2lvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCAyMGM2MGI4ZDRlN2EyYzg4ZDYx
NWU3OTBiZmI5N2E4NmYzMjI3ODRmLi5iZTAzODdhZGE3OGJmZTJjMDMwNmIyZWNiMWI0Y2QyZmI0
YjAxODRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHAKQEAgLTQ2NCw3ICs0NjQsNyBAQCBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OldlYkdMUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCogcGFzc2VkQ2FudmFz
LCBQYQogICAgICwgbV9jb250ZXh0TG9zdChmYWxzZSkKICAgICAsIG1fY29udGV4dExvc3RNb2Rl
KFN5bnRoZXRpY0xvc3RDb250ZXh0KQogICAgICwgbV9hdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpCi0g
ICAgLCBtX3N5bnRoZXNpemVkRXJyb3JzVG9Db25zb2xlKGZhbHNlKQorICAgICwgbV9zeW50aGVz
aXplZEVycm9yc1RvQ29uc29sZSh0cnVlKQogICAgICwgbV9udW1HTEVycm9yc1RvQ29uc29sZUFs
bG93ZWQobWF4R0xFcnJvcnNBbGxvd2VkVG9Db25zb2xlKQogewogICAgIEFTU0VSVChtX2NvbnRl
eHQpOwpAQCAtNTY2LDggKzU2Niw4IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpzZXR1
cEZsYWdzKCkKICAgICBBU1NFUlQobV9jb250ZXh0KTsKIAogICAgIFBhZ2UqIHAgPSBjYW52YXMo
KS0+ZG9jdW1lbnQoKS0+cGFnZSgpOwotICAgIGlmIChwICYmIHAtPnNldHRpbmdzKCktPndlYkdM
RXJyb3JzVG9Db25zb2xlRW5hYmxlZCgpKQotICAgICAgICBtX3N5bnRoZXNpemVkRXJyb3JzVG9D
b25zb2xlID0gdHJ1ZTsKKyAgICBpZiAocCkKKyAgICAgICAgbV9zeW50aGVzaXplZEVycm9yc1Rv
Q29uc29sZSA9IHAtPnNldHRpbmdzKCktPndlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZCgpOwog
CiAgICAgbV9pc0dMRVMyQ29tcGxpYW50ID0gbV9jb250ZXh0LT5pc0dMRVMyQ29tcGxpYW50KCk7
CiAgICAgbV9pc0Vycm9yR2VuZXJhdGVkT25PdXRPZkJvdW5kc0FjY2Vzc2VzID0gbV9jb250ZXh0
LT5nZXRFeHRlbnNpb25zKCktPmlzRW5hYmxlZCgiR0xfQ0hST01JVU1fc3RyaWN0X2F0dHJpYnMi
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IDZiMGYzOGQ1OTFhZTZlMmE1NjcxZTIzYmE4
ZmRhNmFlYWZhMzNlZDUuLmQ3NjkwOTc0NDA2MzRhNWRmZjc1ZDBhZTRjODk5ZTYxZTdhZmJmYTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAtOTcsNyArOTcsNyBAQCBjb21wb3NpdGVkU2Ny
b2xsaW5nRm9yRnJhbWVzRW5hYmxlZCBpbml0aWFsPWZhbHNlCiAKIGV4cGVyaW1lbnRhbE5vdGlm
aWNhdGlvbnNFbmFibGVkIGluaXRpYWw9ZmFsc2UKIHdlYkdMRW5hYmxlZCBpbml0aWFsPWZhbHNl
Ci13ZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQgaW5pdGlhbD1mYWxzZQord2ViR0xFcnJvcnNU
b0NvbnNvbGVFbmFibGVkIGluaXRpYWw9dHJ1ZQogb3BlbkdMTXVsdGlzYW1wbGluZ0VuYWJsZWQg
aW5pdGlhbD10cnVlCiBwcml2aWxlZ2VkV2ViR0xFeHRlbnNpb25zRW5hYmxlZCBpbml0aWFsPWZh
bHNlCiBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCBpbml0aWFsPWZhbHNlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2Qw
NzRiZTAxN2NiYzJjMTk3MWE2MTdlMDNlNjk3MTU4MzY4NDVlNC4uZDE2NzVmNjYyMjE1NWNmZDcx
MTJiMjFhMGRhNzA0N2U0YjM2M2RhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAxLTE4
ICBBcm5hdWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgTW92ZSBXZWJHTEVycm9yc1RvQ29uc29sZSBwYWdlIHNldHRpbmcgdG8gd2luZG93LmludGVy
bmFscy5zZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA3MjE4CisKKyAgICAgICAgV2ViR0wgdGVzdHMgbm93IHNldCBXZWJHTEVycm9yc1Rv
Q29uc29sZUVuYWJsZWQgdG8gZmFsc2UuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBjb21wb3NpdGluZy93ZWJnbC93ZWJnbC1iYWNrZ3JvdW5kLWNv
bG9yLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtbm8tYWxwaGEuaHRt
bDoKKyAgICAgICAgKiBjb21wb3NpdGluZy93ZWJnbC93ZWJnbC1ub25wcmVtdWx0aXBsaWVkLWJs
ZW5kLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtcmVmbGVjdGlvbi5o
dG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLXJlcGFpbnQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9jc3Mtd2Via2l0LWNhbnZhcy1yZXBhaW50Lmh0bWw6
CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvY3NzLXdlYmtpdC1jYW52YXMuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qczoKKyAgICAg
ICAgKiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtcmVwYWludC5odG1s
OgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy5odG1s
OgorICAgICAgICAqIGluc3BlY3Rvci9wcm9maWxlci9jYW52YXMtcHJvZmlsZXItdGVzdC5qczoK
KyAgICAgICAgKGNyZWF0ZVdlYkdMQ29udGV4dCk6CisgICAgICAgICogaW5zcGVjdG9yL3Byb2Zp
bGVyL3dlYmdsL3dlYmdsLXByb2ZpbGVyLWFwaS1jaGFuZ2VzLmh0bWw6CisKIDIwMTItMTItMTQg
IEFybmF1ZCBSZW5ldmllciAgPGEucmVuZXZpZXJAc2lzYS5zYW1zdW5nLmNvbT4KIAogICAgICAg
ICBpbmNvbnNpc3RlbmN5IGluIGRyYXdJbWFnZSB3aXRoIHRhcmdldCByZWN0IG5lZ2F0aXZlIGRp
bWVuc2lvbnMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy93ZWJnbC93ZWJn
bC1iYWNrZ3JvdW5kLWNvbG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy93ZWJnbC93
ZWJnbC1iYWNrZ3JvdW5kLWNvbG9yLmh0bWwKaW5kZXggNzBlY2FjZjM4NzE2NzM0NjdjNzA0N2Y3
NThmZjQ4ZDk2NTQ1OTFkOS4uOGU3NzI0MDUxMWNkYWFjZTUwMGI0YzVjYjEyZDMyY2NhYzA2NGFi
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtYmFja2dy
b3VuZC1jb2xvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3dlYmdsL3dlYmds
LWJhY2tncm91bmQtY29sb3IuaHRtbApAQCAtMjIsOCArMjIsMTAgQEAKICAgICAgIH0KICAgICA8
L3N0eWxlPgogICAgIDxzY3JpcHQ+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJs
ZWQiLCAiMSIpOworICAgICAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICAgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVuYWJsZWQodHJ1ZSk7CisgICAgICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5h
YmxlZChmYWxzZSk7CisgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBpbml0V2ViR0woY2Fu
dmFzTmFtZSwgdnNoYWRlciwgZnNoYWRlciwgYXR0cmlicywgY2xlYXJDb2xvciwgY2xlYXJEZXB0
aCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvd2ViZ2wv
d2ViZ2wtbm8tYWxwaGEuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3dlYmdsL3dlYmds
LW5vLWFscGhhLmh0bWwKaW5kZXggYmUzNzFiYzk5M2IxYTUwOTljZmJiNmNhZjZlMTVjM2JkODI5
NjZjYy4uMDk0NTcxMWEyMTI3N2I5YWQxMGFhMTY3MTIwMTI0NzhiNDA0ODk4YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtbm8tYWxwaGEuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy93ZWJnbC93ZWJnbC1uby1hbHBoYS5odG1sCkBAIC0y
Miw5ICsyMiwxMiBAQAogICAgIDwvc3R5bGU+CiAgICAgPHNjcmlwdD4KICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCh0cnVlKTsKICAgICAgICAgfQorICAgICAgICBpZiAod2luZG93LmludGVybmFs
cykgeworICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVuYWJs
ZWQodHJ1ZSk7CisgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdM
RXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisgICAgICAgIH0KIAogICAgICAgICBmdW5j
dGlvbiBpbml0V2ViR0woY2FudmFzTmFtZSwgdnNoYWRlciwgZnNoYWRlciwgYXR0cmlicywgY2xl
YXJDb2xvciwgY2xlYXJEZXB0aCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtbm9ucHJlbXVsdGlwbGllZC1ibGVuZC5odG1sIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtbm9ucHJlbXVsdGlwbGllZC1ibGVuZC5o
dG1sCmluZGV4IDEwNTIzNjIwZTFiMmJhOTBmY2FmZTcxYWI0YTRlNzg1MTNhNTUyYmUuLjRjMjNk
ZGEyMzQyYzA4ODE2MjUzNjA0ZjZmYTJjNWQ3MDk5ZDgyYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLW5vbnByZW11bHRpcGxpZWQtYmxlbmQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy93ZWJnbC93ZWJnbC1ub25wcmVtdWx0aXBsaWVk
LWJsZW5kLmh0bWwKQEAgLTEzLDggKzEzLDEwIEBACiAgICAgICB9CiAgICAgPC9zdHlsZT4KICAg
ICA8c2NyaXB0PgotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsK
KyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFbmFibGVkKHRydWUpOworICAgICAgICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2Up
OworICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gaW5pdFdlYkdMKGNhbnZhc05hbWUsIHZz
aGFkZXIsIGZzaGFkZXIsIGF0dHJpYnMsIGNsZWFyQ29sb3IsIGNsZWFyRGVwdGgsIHByZW11bHRB
bHBoYSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvd2Vi
Z2wvd2ViZ2wtcmVmbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvd2ViZ2wv
d2ViZ2wtcmVmbGVjdGlvbi5odG1sCmluZGV4IDg2NmZjNDQ4MTEyZDFjOGMxZmRjNzdmNWM1YjIz
ODZhYjExYzE0YWIuLjBiODZlM2ZmNzczODQ3NTY4NTJiNjJlNWE1Mzc3OTM4ODAzMDZkNWIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLXJlZmxlY3Rpb24u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy93ZWJnbC93ZWJnbC1yZWZsZWN0aW9u
Lmh0bWwKQEAgLTI3LDggKzI3LDEwIEBACiAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiAgICAgPHNj
cmlwdD4KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOworICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2Vi
R0xFbmFibGVkKHRydWUpOworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdl
YkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisgICAgfQogCiAgICAgdmFyIGdsID0g
bnVsbDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wt
cmVwYWludC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtcmVwYWlu
dC5odG1sCmluZGV4IDdjOWU4NTI4MTgyNDA5YTcxNDVhYTU0OTM5NDFlNzU2ZWIzODAxNjkuLmJj
ODVmOGM3ZmE5OWE0ZTViNmFlZGQ4MTg2OGVhNTMzNTRjOGE4Y2UgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLXJlcGFpbnQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy93ZWJnbC93ZWJnbC1yZXBhaW50Lmh0bWwKQEAgLTEzLDggKzEzLDEw
IEBAIGNhbnZhcyB7CiB9CiA8L3N0eWxlPgogPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVk
IiwgIjEiKTsKK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRXZWJHTEVuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworfQogCiBmdW5jdGlv
biBpbml0V2ViR0woKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvY3NzLXdlYmtpdC1jYW52YXMtcmVwYWludC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvY3NzLXdlYmtpdC1jYW52YXMtcmVwYWludC5odG1sCmluZGV4IDExNjI4YTYwZjdj
ZWE0YTM5Y2VlODQ4NDZhODkwMTQ1OGY2YjM3NzMuLmM4NGQ0ZjM2YTRkNmExODliNjM4MDEyZTE3
MzEyNmJlNGZjNDhjY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2Nzcy13ZWJraXQtY2FudmFzLXJlcGFpbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9jc3Mtd2Via2l0LWNhbnZhcy1yZXBhaW50Lmh0bWwKQEAgLTksNiArOSw3IEBA
CiAgICAgICAgICAgICB9CiAgICAgICAgIDwvc3R5bGU+CiAgCisgICAgICAgIDxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgaWQ9
InZlcnRleFNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgogICAgICAgICAgICAgYXR0
cmlidXRlIHZlYzQgdlBvc2l0aW9uOwogCkBAIC05Niw3ICs5Nyw2IEBACiAgICAgICAgICAgICAK
ICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgCiAgICAgICAgICAgICBpbml0aWFsaXplKCk7CkBAIC0xMTQsNCArMTE0
LDQgQEAKICAgICA8Ym9keT4KICAgICAgICAgPGRpdj48L2Rpdj4KICAgICA8L2JvZHk+Ci08L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY3NzLXdlYmtpdC1jYW52YXMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Nzcy13ZWJraXQtY2FudmFzLmh0bWwKaW5kZXggM2I4
NDA1NzljZGZmODRlMGRkZjk3NjRmMjhhNzA5N2Y5N2Y3OWM0ZC4uNDgwNWIzZGI0MmY0NTI3YmVj
MmY4YzBlZWI1ZGQ4YmQ1MDhlMWJiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvY3NzLXdlYmtpdC1jYW52YXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9jc3Mtd2Via2l0LWNhbnZhcy5odG1sCkBAIC0yMyw2ICsyMyw3IEBACiAgICAg
ICAgICAgICB9CiAgICAgICAgIDwvc2NyaXB0PgogCisgICAgICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgdHlwZT0iYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0Ij4KICAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZyYWdtZW50
U2hhZGVyKCkKICAgICAgICAgICAgIHsKQEAgLTk0LDkgKzk1LDYgQEAKICAgICAgICAgICAgICAg
ICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMyk7IAogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgCi0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIs
ICIxIik7Ci0KICAgICAgICAgICAgIGluaXRpYWxpemUoKTsKICAgICAgICAgICAgIGRyYXcoMCwg
MC41LCAwKTsKICAgICAgICAgPC9zY3JpcHQ+CkBAIC0xMDQsNCArMTAyLDQgQEAKICAgICA8Ym9k
eT4KICAgICAgICAgPGRpdj48L2Rpdj4KICAgICA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcwppbmRleCBmZDhkN2JlNjQ3NzM1NGM2
M2UwZjk3NjI0NTkyOTBmYTFhMTQ5MmM2Li5kNzM5M2RmMzRlYmU2NDcwMGU1ODA0YWM0YmU5MDNm
NzI4N2I1ZGE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9y
ZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcwpAQCAtMSw3ICsxLDkgQEAKIC8vLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
Ly8gRGlmZmVyZW5jZXMgd2l0aCByZXNwZWN0IHRvIEtocm9ub3MgdmVyc2lvbiBvZiB3ZWJnbC10
ZXN0LmpzCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7CitpZiAod2luZG93LmludGVybmFs
cykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFbmFibGVkKHRydWUp
OworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVF
bmFibGVkKGZhbHNlKTsKK30KIAogZnVuY3Rpb24gYXNzZXJ0TXNnKGFzc2VydGlvbiwgbXNnKSB7
CiAgICAgaWYgKGFzc2VydGlvbikgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXJlcGFpbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy1yZXBhaW50Lmh0bWwKaW5k
ZXggZmYzNzE2Mzc0NzAyOGQzYzU2NDRlOTY1NjUwNTcxMjNiYmFiOTJjOC4uYjhkYmU1NjFlZDdh
OGY0ZTlmNzc0OGQwZjFlZGFiYWY2MzAzZDA1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXJlcGFpbnQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtcmVwYWlu
dC5odG1sCkBAIC00MSw2ICs0MSw3IEBAIHZvaWQgbWFpbigpIHsKICAgIGdsX1Bvc2l0aW9uID0g
dmVjNChjbGlwU3BhY2UgKiB2ZWMyKDEsIC0xKSwgMCwgMSk7CiB9CiA8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4u
Ly4uL3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KQEAg
LTQ4LDcgKzQ5LDYgQEAgdm9pZCBtYWluKCkgewogdmFyIGN0eHMgPSBbXQogCiBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
V2ViR0xFbmFibGVkIiwgIjEiKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CiAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuc3R5bGUucG9zaXRpb24g
PSAiYWJzb2x1dGUiOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlvbiIp
LnN0eWxlLnRvcCA9ICItNTAwMHB4IjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLmh0bWwKaW5kZXggNWNmYjVmNjU2YWI3
OTYxMGUzMmJlN2Q2MDNjOTM1YjEzMWI0YmUzNC4uMjQyNzg5Zjc3OTkxMjhmM2Q2MzcwMGMyNGUw
YjBiOWQ2NTZlNDlkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
d2ViZ2wtY29tcG9zaXRlLW1vZGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLmh0bWwKQEAgLTQwLDEzICs0MCwxMyBAQCB2b2lk
IG1haW4oKSB7CiAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoY2xpcFNwYWNlICogdmVjMigxLCAtMSks
IDAsIDEpOwogfQogPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3Qu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQ+CiAKIHZhciBjdHhzID0gW10KIAogaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFdlYkdM
RW5hYmxlZCIsICIxIik7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwogICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlvbiIpLnN0eWxlLnBvc2l0aW9uID0gImFi
c29sdXRlIjsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24iKS5zdHls
ZS50b3AgPSAiLTUwMDBweCI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJv
ZmlsZXIvY2FudmFzLXByb2ZpbGVyLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJv
ZmlsZXIvY2FudmFzLXByb2ZpbGVyLXRlc3QuanMKaW5kZXggNzJkYTIyYTY0M2RkOGVmNTNkMGZj
ZjZkZTkzNDM0ZmM3YmJkMGJmZC4uZTdhYzg3ZThmZTM5MjE1ZDQxZGM0ZDMyMWFhYjYwNmQwMGFk
ODMwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2NhbnZhcy1w
cm9maWxlci10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9jYW52
YXMtcHJvZmlsZXItdGVzdC5qcwpAQCAtNDIsOCArNDIsMTAgQEAgSW5zcGVjdG9yVGVzdC5kaXNh
YmxlQ2FudmFzQWdlbnQgPSBmdW5jdGlvbihjYWxsYmFjaykKIAogZnVuY3Rpb24gY3JlYXRlV2Vi
R0xDb250ZXh0KG9wdF9jYW52YXMpCiB7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwg
IjEiKTsKKyAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldHRpbmdzLnNldFdlYkdMRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworICAg
IH0KIAogICAgIHZhciBjYW52YXMgPSBvcHRfY2FudmFzIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImNhbnZhcyIpOwogICAgIHZhciBjb250ZXh0SWRzID0gWyJleHBlcmltZW50YWwtd2ViZ2wi
LCAid2Via2l0LTNkIiwgIjNkIl07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
cHJvZmlsZXIvd2ViZ2wvd2ViZ2wtcHJvZmlsZXItYXBpLWNoYW5nZXMuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9wcm9maWxlci93ZWJnbC93ZWJnbC1wcm9maWxlci1hcGktY2hhbmdlcy5o
dG1sCmluZGV4IGIxZjY2ZjE1ZGU3NjhiYjQ2NzFiMTc4MmZlOWM2YTExYzQ5ZTk4ZTMuLmEyMDM0
N2JkOWRkNzcwMjczMTMxZDA4Y2E2YjM0MjkwZmU5OTAxNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9wcm9maWxlci93ZWJnbC93ZWJnbC1wcm9maWxlci1hcGktY2hhbmdlcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci93ZWJnbC93ZWJnbC1wcm9m
aWxlci1hcGktY2hhbmdlcy5odG1sCkBAIC0xOTYsMTAgKzE5NiwxNCBAQCBmdW5jdGlvbiB0ZXN0
KCkKIGZ1bmN0aW9uIHJ1blRlc3QoKQogewogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVk
IiwgIjEiKTsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KKyAgICBpZiAod2luZG93LmludGVybmFscykg
eworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRW5hYmxlZCh0cnVl
KTsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29u
c29sZUVuYWJsZWQoZmFsc2UpOworICAgIH0KKwogICAgIHRyeSB7CiAgICAgICAgIHRlc3QoKTsK
ICAgICB9IGZpbmFsbHkgewo=
</data>
<flag name="commit-queue"
          id="202434"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184266</attachid>
            <date>2013-01-23 11:08:03 -0800</date>
            <delta_ts>2013-01-24 11:16:21 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>16045</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">Y29tbWl0IDI5ODM3ZThhZDE5MjY3ODJhN2E1M2Q1MzIxNGNiY2Y4ZjNiNWZjMTgKQXV0aG9yOiBB
cm5hdWQgUmVuZXZpZXIgPGEucmVuZXZpZXJAc2lzYS5zYW1zdW5nLmNvbT4KRGF0ZTogICBXZWQg
SmFuIDE2IDEwOjUxOjU1IDIwMTMgLTA4MDAKCiAgICBXZWJHTEVycm9yc1RvQ29uc29sZSBXSzIK
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggN2QwNzRiZS4uZDllMDljOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAx
LTE4ICBBcm5hdWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CisKKyAg
ICAgICAgTW92ZSBXZWJHTEVycm9yc1RvQ29uc29sZSBwYWdlIHNldHRpbmcgdG8gd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA3MjE4CisKKyAgICAgICAgV2ViR0wgdGVzdHMgbm93IHNldCBXZWJHTEVycm9y
c1RvQ29uc29sZUVuYWJsZWQgdG8gZmFsc2UuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBjb21wb3NpdGluZy93ZWJnbC93ZWJnbC1iYWNrZ3JvdW5k
LWNvbG9yLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtbm8tYWxwaGEu
aHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy93ZWJnbC93ZWJnbC1ub25wcmVtdWx0aXBsaWVk
LWJsZW5kLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtcmVmbGVjdGlv
bi5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLXJlcGFpbnQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9jc3Mtd2Via2l0LWNhbnZhcy1yZXBhaW50Lmh0
bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvY3NzLXdlYmtpdC1jYW52YXMuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qczoKKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtcmVwYWludC5o
dG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVt
b3RlLWltYWdlLWFsbG93ZWQtd2l0aC1jcmVkZW50aWFscy5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVtb3RlLWltYWdlLWFsbG93ZWQuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJlbW90
ZS1pbWFnZS1ibG9ja2VkLW5vLWNyb3Nzb3JpZ2luLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9y
L3Byb2ZpbGVyL2NhbnZhcy1wcm9maWxlci10ZXN0LmpzOgorICAgICAgICAoY3JlYXRlV2ViR0xD
b250ZXh0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvd2ViZ2wvd2ViZ2wtcHJvZmls
ZXItYXBpLWNoYW5nZXMuaHRtbDoKKwogMjAxMi0xMi0xNCAgQXJuYXVkIFJlbmV2aWVyICA8YS5y
ZW5ldmllckBzaXNhLnNhbXN1bmcuY29tPgogCiAgICAgICAgIGluY29uc2lzdGVuY3kgaW4gZHJh
d0ltYWdlIHdpdGggdGFyZ2V0IHJlY3QgbmVnYXRpdmUgZGltZW5zaW9ucy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLWJhY2tncm91bmQtY29sb3IuaHRt
bCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLWJhY2tncm91bmQtY29sb3Iu
aHRtbAppbmRleCA3MGVjYWNmLi44ZTc3MjQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy93ZWJnbC93ZWJnbC1iYWNrZ3JvdW5kLWNvbG9yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtYmFja2dyb3VuZC1jb2xvci5odG1sCkBAIC0yMiw4
ICsyMiwxMCBAQAogICAgICAgfQogICAgIDwvc3R5bGU+CiAgICAgPHNjcmlwdD4KLSAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7CisgICAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdl
YkdMRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgfQogCiAgICAg
ICAgIGZ1bmN0aW9uIGluaXRXZWJHTChjYW52YXNOYW1lLCB2c2hhZGVyLCBmc2hhZGVyLCBhdHRy
aWJzLCBjbGVhckNvbG9yLCBjbGVhckRlcHRoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy93ZWJnbC93ZWJnbC1uby1hbHBoYS5odG1sIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtbm8tYWxwaGEuaHRtbAppbmRleCBiZTM3MWJjLi4w
OTQ1NzExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy93ZWJnbC93ZWJnbC1u
by1hbHBoYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLW5v
LWFscGhhLmh0bWwKQEAgLTIyLDkgKzIyLDEyIEBACiAgICAgPC9zdHlsZT4KICAgICA8c2NyaXB0
PgogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOwogICAgICAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwogICAgICAgICB9CisgICAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFdlYkdMRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKyAgICAgICAg
fQogCiAgICAgICAgIGZ1bmN0aW9uIGluaXRXZWJHTChjYW52YXNOYW1lLCB2c2hhZGVyLCBmc2hh
ZGVyLCBhdHRyaWJzLCBjbGVhckNvbG9yLCBjbGVhckRlcHRoKQogICAgICAgICB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy93ZWJnbC93ZWJnbC1ub25wcmVtdWx0aXBsaWVk
LWJsZW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy93ZWJnbC93ZWJnbC1ub25wcmVt
dWx0aXBsaWVkLWJsZW5kLmh0bWwKaW5kZXggMTA1MjM2Mi4uNGMyM2RkYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtbm9ucHJlbXVsdGlwbGllZC1ibGVu
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLW5vbnByZW11
bHRpcGxpZWQtYmxlbmQuaHRtbApAQCAtMTMsOCArMTMsMTAgQEAKICAgICAgIH0KICAgICA8L3N0
eWxlPgogICAgIDxzY3JpcHQ+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQi
LCAiMSIpOworICAgICAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICAgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVuYWJsZWQodHJ1ZSk7CisgICAgICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxl
ZChmYWxzZSk7CisgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBpbml0V2ViR0woY2FudmFz
TmFtZSwgdnNoYWRlciwgZnNoYWRlciwgYXR0cmlicywgY2xlYXJDb2xvciwgY2xlYXJEZXB0aCwg
cHJlbXVsdEFscGhhKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy93ZWJnbC93ZWJnbC1yZWZsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy93ZWJnbC93ZWJnbC1yZWZsZWN0aW9uLmh0bWwKaW5kZXggODY2ZmM0NC4uMGI4NmUzZmYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLXJlZmxlY3Rpb24u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy93ZWJnbC93ZWJnbC1yZWZsZWN0aW9u
Lmh0bWwKQEAgLTI3LDggKzI3LDEwIEBACiAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiAgICAgPHNj
cmlwdD4KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOworICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2Vi
R0xFbmFibGVkKHRydWUpOworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdl
YkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisgICAgfQogCiAgICAgdmFyIGdsID0g
bnVsbDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wt
cmVwYWludC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtcmVwYWlu
dC5odG1sCmluZGV4IDdjOWU4NTIuLmJjODVmOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3dlYmdsL3dlYmdsLXJlcGFpbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy93ZWJnbC93ZWJnbC1yZXBhaW50Lmh0bWwKQEAgLTEzLDggKzEzLDEwIEBAIGNhbnZh
cyB7CiB9CiA8L3N0eWxlPgogPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsK
K2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRXZWJHTEVuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRX
ZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworfQogCiBmdW5jdGlvbiBpbml0V2Vi
R0woKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY3NzLXdl
YmtpdC1jYW52YXMtcmVwYWludC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
Y3NzLXdlYmtpdC1jYW52YXMtcmVwYWludC5odG1sCmluZGV4IDExNjI4YTYuLmM4NGQ0ZjMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Nzcy13ZWJraXQtY2FudmFz
LXJlcGFpbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jc3Mtd2Vi
a2l0LWNhbnZhcy1yZXBhaW50Lmh0bWwKQEAgLTksNiArOSw3IEBACiAgICAgICAgICAgICB9CiAg
ICAgICAgIDwvc3R5bGU+CiAgCisgICAgICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wt
dGVzdC5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgaWQ9InZlcnRleFNoYWRlciIgdHlw
ZT0ieC1zaGFkZXIveC12ZXJ0ZXgiPgogICAgICAgICAgICAgYXR0cmlidXRlIHZlYzQgdlBvc2l0
aW9uOwogCkBAIC05Niw3ICs5Nyw2IEBACiAgICAgICAgICAgICAKICAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAg
ICAgICAgICAgICBpbml0aWFsaXplKCk7CkBAIC0xMTQsNCArMTE0LDQgQEAKICAgICA8Ym9keT4K
ICAgICAgICAgPGRpdj48L2Rpdj4KICAgICA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvY3NzLXdlYmtpdC1jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2Nzcy13ZWJraXQtY2FudmFzLmh0bWwKaW5kZXggM2I4NDA1Ny4uNDgwNWIzZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY3NzLXdlYmtpdC1jYW52YXMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jc3Mtd2Via2l0LWNhbnZh
cy5odG1sCkBAIC0yMyw2ICsyMyw3IEBACiAgICAgICAgICAgICB9CiAgICAgICAgIDwvc2NyaXB0
PgogCisgICAgICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3Jp
cHQ+CiAgICAgICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24veC1qYXZhc2NyaXB0Ij4KICAg
ICAgICAgICAgIGZ1bmN0aW9uIGdldEZyYWdtZW50U2hhZGVyKCkKICAgICAgICAgICAgIHsKQEAg
LTk0LDkgKzk1LDYgQEAKICAgICAgICAgICAgICAgICBnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xF
UywgMCwgMyk7IAogICAgICAgICAgICAgfQogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7Ci0KICAgICAgICAgICAgIGluaXRp
YWxpemUoKTsKICAgICAgICAgICAgIGRyYXcoMCwgMC41LCAwKTsKICAgICAgICAgPC9zY3JpcHQ+
CkBAIC0xMDQsNCArMTAyLDQgQEAKICAgICA8Ym9keT4KICAgICAgICAgPGRpdj48L2Rpdj4KICAg
ICA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvcmVzb3VyY2VzL3dlYmds
LXRlc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2wt
dGVzdC5qcwppbmRleCBmZDhkN2JlLi5kNzM5M2RmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcwpAQCAtMSw3ICsxLDkg
QEAKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gRGlmZmVyZW5jZXMgd2l0aCByZXNwZWN0IHRvIEtocm9u
b3MgdmVyc2lvbiBvZiB3ZWJnbC10ZXN0LmpzCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7
CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0V2ViR0xFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKK30KIAogZnVuY3Rpb24gYXNzZXJ0
TXNnKGFzc2VydGlvbiwgbXNnKSB7CiAgICAgaWYgKGFzc2VydGlvbikgewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXJlcGFp
bnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1t
b2Rlcy1yZXBhaW50Lmh0bWwKaW5kZXggZmYzNzE2My4uYjhkYmU1NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLXJlcGFpbnQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUt
bW9kZXMtcmVwYWludC5odG1sCkBAIC00MSw2ICs0MSw3IEBAIHZvaWQgbWFpbigpIHsKICAgIGds
X1Bvc2l0aW9uID0gdmVjNChjbGlwU3BhY2UgKiB2ZWMyKDEsIC0xKSwgMCwgMSk7CiB9CiA8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii4uLy4uL3JlcGFpbnQvcmVzb3VyY2VzL3JlcGFpbnQuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdD4KQEAgLTQ4LDcgKzQ5LDYgQEAgdm9pZCBtYWluKCkgewogdmFyIGN0eHMgPSBbXQog
CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQodHJ1ZSk7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuc3R5
bGUucG9zaXRpb24gPSAiYWJzb2x1dGUiOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJk
ZXNjcmlwdGlvbiIpLnN0eWxlLnRvcCA9ICItNTAwMHB4IjsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXBvc2l0ZS1tb2Rlcy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLmh0bWwKaW5kZXgg
NWNmYjVmNi4uMjQyNzg5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvd2ViZ2wtY29tcG9zaXRlLW1vZGVzLmh0bWwKQEAgLTQwLDEzICs0MCwxMyBAQCB2
b2lkIG1haW4oKSB7CiAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoY2xpcFNwYWNlICogdmVjMigxLCAt
MSksIDAsIDEpOwogfQogPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRl
c3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAKIHZhciBjdHhzID0gW10KIAogaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFdl
YkdMRW5hYmxlZCIsICIxIik7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwogICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlvbiIpLnN0eWxlLnBvc2l0aW9uID0g
ImFic29sdXRlIjsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24iKS5z
dHlsZS50b3AgPSAiLTUwMDBweCI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1hbGxvd2VkLXdpdGgtY3Jl
ZGVudGlhbHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvd2ViZ2wtcmVt
b3RlLXJlYWQtcmVtb3RlLWltYWdlLWFsbG93ZWQtd2l0aC1jcmVkZW50aWFscy5odG1sCmluZGV4
IDhhN2U0ZmMuLmRjMGY2ZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVtb3RlLWltYWdlLWFsbG93ZWQtd2l0aC1jcmVkZW50
aWFscy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvd2ViZ2wtcmVt
b3RlLXJlYWQtcmVtb3RlLWltYWdlLWFsbG93ZWQtd2l0aC1jcmVkZW50aWFscy5odG1sCkBAIC0x
LDEwICsxLDEzIEBACiA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KIDxzY3JpcHQ+CiBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0V2ViR0xFbmFibGVkIiwgIjEiKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVuYWJsZWQodHJ1ZSk7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJs
ZWQoZmFsc2UpOworfQogCiBsb2cgPSBmdW5jdGlvbihtc2cpCiB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFn
ZS1hbGxvd2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3dlYmdsLXJl
bW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1hbGxvd2VkLmh0bWwKaW5kZXggMTUyZmQwNy4uZDYyMDEz
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1v
dGUtcmVhZC1yZW1vdGUtaW1hZ2UtYWxsb3dlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVtb3RlLWltYWdlLWFsbG93ZWQuaHRt
bApAQCAtMSwxMCArMSwxMyBAQAogPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CiA8c2NyaXB0Pgog
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFbmFibGVkKHRy
dWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNv
bGVFbmFibGVkKGZhbHNlKTsKK30KIAogbG9nID0gZnVuY3Rpb24obXNnKQogewpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUtcmVhZC1yZW1v
dGUtaW1hZ2UtYmxvY2tlZC1uby1jcm9zc29yaWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUtcmVhZC1yZW1vdGUtaW1hZ2UtYmxvY2tlZC1uby1j
cm9zc29yaWdpbi5odG1sCmluZGV4IGYzNGFmZDIuLjIyYWI4ZmMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVtb3RlLWltYWdl
LWJsb2NrZWQtbm8tY3Jvc3NvcmlnaW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1ibG9ja2VkLW5vLWNyb3Nz
b3JpZ2luLmh0bWwKQEAgLTEsMTAgKzEsMTMgQEAKIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgog
PHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOwogICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdM
RW5hYmxlZCh0cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJy
b3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7Cit9CiAKIGxvZyA9IGZ1bmN0aW9uKG1zZykKIHsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9jYW52YXMtcHJvZmls
ZXItdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9jYW52YXMtcHJvZmls
ZXItdGVzdC5qcwppbmRleCA3MmRhMjJhLi5lN2FjODdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvcHJvZmlsZXIvY2FudmFzLXByb2ZpbGVyLXRlc3QuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2NhbnZhcy1wcm9maWxlci10ZXN0LmpzCkBAIC00Miw4
ICs0MiwxMCBAQCBJbnNwZWN0b3JUZXN0LmRpc2FibGVDYW52YXNBZ2VudCA9IGZ1bmN0aW9uKGNh
bGxiYWNrKQogCiBmdW5jdGlvbiBjcmVhdGVXZWJHTENvbnRleHQob3B0X2NhbnZhcykKIHsKLSAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOworICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFbmFibGVk
KHRydWUpOworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3Jz
VG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisgICAgfQogCiAgICAgdmFyIGNhbnZhcyA9IG9wdF9j
YW52YXMgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7CiAgICAgdmFyIGNvbnRl
eHRJZHMgPSBbImV4cGVyaW1lbnRhbC13ZWJnbCIsICJ3ZWJraXQtM2QiLCAiM2QiXTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci93ZWJnbC93ZWJnbC1wcm9maWxl
ci1hcGktY2hhbmdlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL3dlYmds
L3dlYmdsLXByb2ZpbGVyLWFwaS1jaGFuZ2VzLmh0bWwKaW5kZXggYjFmNjZmMS4uYTIwMzQ3YiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL3dlYmdsL3dlYmdsLXBy
b2ZpbGVyLWFwaS1jaGFuZ2VzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2Zp
bGVyL3dlYmdsL3dlYmdsLXByb2ZpbGVyLWFwaS1jaGFuZ2VzLmh0bWwKQEAgLTE5NiwxMCArMTk2
LDE0IEBAIGZ1bmN0aW9uIHRlc3QoKQogZnVuY3Rpb24gcnVuVGVzdCgpCiB7CiAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOwogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgfQorICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0V2ViR0xFbmFibGVkKHRydWUpOworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisgICAgfQorCiAgICAgdHJ5
IHsKICAgICAgICAgdGVzdCgpOwogICAgIH0gZmluYWxseSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2YxZWJi
Ni4uOTUxY2NmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTE4ICBBcm5h
dWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92
ZSBXZWJHTEVycm9yc1RvQ29uc29sZSBwYWdlIHNldHRpbmcgdG8gd2luZG93LmludGVybmFscy5z
ZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA3MjE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RGVmaW5lIHdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZCBhcyB0cnVlIGJ5IGRlZmF1bHQuIEFs
c28sCisgICAgICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6bV9zeW50aGVzaXplZEVycm9yc1Rv
Q29uc29sZSBpcyB0cnVlIGJ5IGRlZmF1bHQKKyAgICAgICAgYW5kIGNhbiBiZSBkaXNhYmxlZCBi
eSBzZXR0aW5ncy4KKworICAgICAgICBObyBuZXcgdGVzdHM6IGNvdmVyZWQgYnkgZXhpc3Rpbmcg
dGVzdHMuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OldlYkdMUmVuZGVyaW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnNldHVwRmxhZ3MpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46
CisKIDIwMTItMTItMTQgIEFybmF1ZCBSZW5ldmllciAgPGEucmVuZXZpZXJAc2lzYS5zYW1zdW5n
LmNvbT4KIAogICAgICAgICBpbmNvbnNpc3RlbmN5IGluIGRyYXdJbWFnZSB3aXRoIHRhcmdldCBy
ZWN0IG5lZ2F0aXZlIGRpbWVuc2lvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCAyMGM2MGI4Li5iZTAzODdhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHAKQEAgLTQ2NCw3ICs0NjQsNyBAQCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OldlYkdM
UmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCogcGFzc2VkQ2FudmFzLCBQYQogICAg
ICwgbV9jb250ZXh0TG9zdChmYWxzZSkKICAgICAsIG1fY29udGV4dExvc3RNb2RlKFN5bnRoZXRp
Y0xvc3RDb250ZXh0KQogICAgICwgbV9hdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpCi0gICAgLCBtX3N5
bnRoZXNpemVkRXJyb3JzVG9Db25zb2xlKGZhbHNlKQorICAgICwgbV9zeW50aGVzaXplZEVycm9y
c1RvQ29uc29sZSh0cnVlKQogICAgICwgbV9udW1HTEVycm9yc1RvQ29uc29sZUFsbG93ZWQobWF4
R0xFcnJvcnNBbGxvd2VkVG9Db25zb2xlKQogewogICAgIEFTU0VSVChtX2NvbnRleHQpOwpAQCAt
NTY2LDggKzU2Niw4IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpzZXR1cEZsYWdzKCkK
ICAgICBBU1NFUlQobV9jb250ZXh0KTsKIAogICAgIFBhZ2UqIHAgPSBjYW52YXMoKS0+ZG9jdW1l
bnQoKS0+cGFnZSgpOwotICAgIGlmIChwICYmIHAtPnNldHRpbmdzKCktPndlYkdMRXJyb3JzVG9D
b25zb2xlRW5hYmxlZCgpKQotICAgICAgICBtX3N5bnRoZXNpemVkRXJyb3JzVG9Db25zb2xlID0g
dHJ1ZTsKKyAgICBpZiAocCkKKyAgICAgICAgbV9zeW50aGVzaXplZEVycm9yc1RvQ29uc29sZSA9
IHAtPnNldHRpbmdzKCktPndlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZCgpOwogCiAgICAgbV9p
c0dMRVMyQ29tcGxpYW50ID0gbV9jb250ZXh0LT5pc0dMRVMyQ29tcGxpYW50KCk7CiAgICAgbV9p
c0Vycm9yR2VuZXJhdGVkT25PdXRPZkJvdW5kc0FjY2Vzc2VzID0gbV9jb250ZXh0LT5nZXRFeHRl
bnNpb25zKCktPmlzRW5hYmxlZCgiR0xfQ0hST01JVU1fc3RyaWN0X2F0dHJpYnMiKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmluCmluZGV4IDZiMGYzOGQuLmQ3NjkwOTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5pbgpAQCAtOTcsNyArOTcsNyBAQCBjb21wb3NpdGVkU2Nyb2xsaW5nRm9yRnJhbWVzRW5h
YmxlZCBpbml0aWFsPWZhbHNlCiAKIGV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkIGlu
aXRpYWw9ZmFsc2UKIHdlYkdMRW5hYmxlZCBpbml0aWFsPWZhbHNlCi13ZWJHTEVycm9yc1RvQ29u
c29sZUVuYWJsZWQgaW5pdGlhbD1mYWxzZQord2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkIGlu
aXRpYWw9dHJ1ZQogb3BlbkdMTXVsdGlzYW1wbGluZ0VuYWJsZWQgaW5pdGlhbD10cnVlCiBwcml2
aWxlZ2VkV2ViR0xFeHRlbnNpb25zRW5hYmxlZCBpbml0aWFsPWZhbHNlCiBhY2NlbGVyYXRlZDJk
Q2FudmFzRW5hYmxlZCBpbml0aWFsPWZhbHNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184537</attachid>
            <date>2013-01-24 11:16:24 -0800</date>
            <delta_ts>2013-01-24 18:12:13 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>bug-107218-20130124111316.patch</filename>
            <type>text/plain</type>
            <size>40954</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2YxZWJiNjZiNzc2MzQ5
M2NiOTZlYTEyZTQ3YTJhYmQ3M2I0M2FmZS4uZGY3ZDQ4NmQ4Yjc4ZThhNTdjMDdlZjhmNmNlODA1
ZmU2MjAxYzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAxLTI0ICBBcm5h
dWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92
ZSBXZWJHTEVycm9yc1RvQ29uc29sZSBwYWdlIHNldHRpbmcgdG8gd2luZG93LmludGVybmFscy5z
ZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA3MjE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RGVmaW5lIHdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZCBhcyB0cnVlIGJ5IGRlZmF1bHQuIEFs
c28sCisgICAgICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6bV9zeW50aGVzaXplZEVycm9yc1Rv
Q29uc29sZSBpcyB0cnVlIGJ5IGRlZmF1bHQKKyAgICAgICAgYW5kIGNhbiBiZSBkaXNhYmxlZCBi
eSBzZXR0aW5ncy4KKworICAgICAgICBBZGQgYSBDb25zb2xlRGlzcGxheVByZWZlcmVuY2UgcGFy
YW1ldGVyIHRvIHN5bnRoZXNpemVHTEVycm9yCisgICAgICAgIChkZWZhdWx0cyB0byBEaXNwbGF5
SW5Db25zb2xlKS4gV2hlbiBjYWxsZWQgd2l0aCBEb250RGlzcGxheUluQ29uc29sZSwKKyAgICAg
ICAgYW4gZXJyb3IgbWVzc2FnZSB3aWxsIG5vdCBiZSBkaXNwbGF5ZWQgKGV2ZW4gaWYKKyAgICAg
ICAgbV9zeW50aGVzaXplZEVycm9yc1RvQ29uc29sZSBpcyB0cnVlKS4KKworICAgICAgICBDYWxs
IHN5bnRoZXNpemVHTEVycm9yIHdpdGggRG9udERpc3BsYXlJbkNvbnNvbGUgaW4gY2FzZSBvZiBz
eW50aGV0aWMKKyAgICAgICAgY29udGV4dCBsb3N0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0czog
Y292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6V2ViR0xSZW5kZXJpbmdDb250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6c2V0dXBGbGFncyk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlUmVuZGVyaW5nU3RhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpsb3NlQ29udGV4dElt
cGwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpzeW50aGVzaXpl
R0xFcnJvcik6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6
CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoKKwogMjAxMi0xMi0xNCAgQXJuYXVkIFJlbmV2
aWVyICA8YS5yZW5ldmllckBzaXNhLnNhbXN1bmcuY29tPgogCiAgICAgICAgIGluY29uc2lzdGVu
Y3kgaW4gZHJhd0ltYWdlIHdpdGggdGFyZ2V0IHJlY3QgbmVnYXRpdmUgZGltZW5zaW9ucy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
Y3BwCmluZGV4IDIwYzYwYjhkNGU3YTJjODhkNjE1ZTc5MGJmYjk3YTg2ZjMyMjc4NGYuLmUwN2Vl
NjUyZDQyZTgyZjE1ZjhiMjY1YWRjYzIyMmI0NmU1OTIxYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNDY0LDcg
KzQ2NCw3IEBAIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6V2ViR0xSZW5kZXJpbmdDb250ZXh0KEhU
TUxDYW52YXNFbGVtZW50KiBwYXNzZWRDYW52YXMsIFBhCiAgICAgLCBtX2NvbnRleHRMb3N0KGZh
bHNlKQogICAgICwgbV9jb250ZXh0TG9zdE1vZGUoU3ludGhldGljTG9zdENvbnRleHQpCiAgICAg
LCBtX2F0dHJpYnV0ZXMoYXR0cmlidXRlcykKLSAgICAsIG1fc3ludGhlc2l6ZWRFcnJvcnNUb0Nv
bnNvbGUoZmFsc2UpCisgICAgLCBtX3N5bnRoZXNpemVkRXJyb3JzVG9Db25zb2xlKHRydWUpCiAg
ICAgLCBtX251bUdMRXJyb3JzVG9Db25zb2xlQWxsb3dlZChtYXhHTEVycm9yc0FsbG93ZWRUb0Nv
bnNvbGUpCiB7CiAgICAgQVNTRVJUKG1fY29udGV4dCk7CkBAIC01NjYsOCArNTY2LDggQEAgdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnNldHVwRmxhZ3MoKQogICAgIEFTU0VSVChtX2NvbnRl
eHQpOwogCiAgICAgUGFnZSogcCA9IGNhbnZhcygpLT5kb2N1bWVudCgpLT5wYWdlKCk7Ci0gICAg
aWYgKHAgJiYgcC0+c2V0dGluZ3MoKS0+d2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKCkpCi0g
ICAgICAgIG1fc3ludGhlc2l6ZWRFcnJvcnNUb0NvbnNvbGUgPSB0cnVlOworICAgIGlmIChwKQor
ICAgICAgICBtX3N5bnRoZXNpemVkRXJyb3JzVG9Db25zb2xlID0gcC0+c2V0dGluZ3MoKS0+d2Vi
R0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKCk7CiAKICAgICBtX2lzR0xFUzJDb21wbGlhbnQgPSBt
X2NvbnRleHQtPmlzR0xFUzJDb21wbGlhbnQoKTsKICAgICBtX2lzRXJyb3JHZW5lcmF0ZWRPbk91
dE9mQm91bmRzQWNjZXNzZXMgPSBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+aXNFbmFibGVk
KCJHTF9DSFJPTUlVTV9zdHJpY3RfYXR0cmlicyIpOwpAQCAtMTg4Miw4ICsxODgyLDkgQEAgYm9v
bCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlUmVuZGVyaW5nU3RhdGUodW5zaWduZWQg
bnVtRWxlbWVudHNSZXF1aXJlZCkKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9tYXhW
ZXJ0ZXhBdHRyaWJzOyArK2kpIHsKICAgICAgICAgY29uc3QgV2ViR0xWZXJ0ZXhBcnJheU9iamVj
dE9FUzo6VmVydGV4QXR0cmliU3RhdGUmIHN0YXRlID0gbV9ib3VuZFZlcnRleEFycmF5T2JqZWN0
LT5nZXRWZXJ0ZXhBdHRyaWJTdGF0ZShpKTsKICAgICAgICAgaWYgKHN0YXRlLmVuYWJsZWQKLSAg
ICAgICAgICAgICYmICghc3RhdGUuYnVmZmVyQmluZGluZyB8fCAhc3RhdGUuYnVmZmVyQmluZGlu
Zy0+b2JqZWN0KCkpKQorICAgICAgICAgICAgJiYgKCFzdGF0ZS5idWZmZXJCaW5kaW5nIHx8ICFz
dGF0ZS5idWZmZXJCaW5kaW5nLT5vYmplY3QoKSkpIHsKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGlmIChudW1FbGVtZW50c1JlcXVpcmVkIDw9IDAp
CkBAIC00NTI5LDcgKzQ1MzAsOCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6bG9zZUNv
bnRleHRJbXBsKFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6TG9zdENvbnRleHRNbwogICAgICAgICBp
ZiAobV9jb250ZXh0LT5nZXRFcnJvcigpID09IEdyYXBoaWNzQ29udGV4dDNEOjpOT19FUlJPUikK
ICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHQzRDo6Q09OVEVYVF9MT1NUX1dFQkdMLCAibG9zZUNvbnRleHQiLCAiY29udGV4dCBs
b3N0Iik7CisgICAgQ29uc29sZURpc3BsYXlQcmVmZXJlbmNlIGRpc3BsYXkgPSAobW9kZSA9PSBS
ZWFsTG9zdENvbnRleHQpID8gRGlzcGxheUluQ29uc29sZTogRG9udERpc3BsYXlJbkNvbnNvbGU7
CisgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OkNPTlRFWFRfTE9TVF9X
RUJHTCwgImxvc2VDb250ZXh0IiwgImNvbnRleHQgbG9zdCIsIGRpc3BsYXkpOwogCiAgICAgLy8g
RG9uJ3QgYWxsb3cgcmVzdG9yYXRpb24gdW5sZXNzIHRoZSBjb250ZXh0IGxvc3QgZXZlbnQgaGFz
IGJvdGggYmVlbgogICAgIC8vIGRpc3BhdGNoZWQgYW5kIGl0cyBkZWZhdWx0IGJlaGF2aW9yIHBy
ZXZlbnRlZC4KQEAgLTU3NjksOSArNTc3MSw5IEBAIG5hbWVzcGFjZSB7CiAKIH0gLy8gbmFtZXNw
YWNlIGFub255bW91cwogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6c3ludGhlc2l6ZUdM
RXJyb3IoR0MzRGVudW0gZXJyb3IsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgY29uc3QgY2hh
ciogZGVzY3JpcHRpb24pCit2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6c3ludGhlc2l6ZUdM
RXJyb3IoR0MzRGVudW0gZXJyb3IsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgY29uc3QgY2hh
ciogZGVzY3JpcHRpb24sIENvbnNvbGVEaXNwbGF5UHJlZmVyZW5jZSBkaXNwbGF5KQogewotICAg
IGlmIChtX3N5bnRoZXNpemVkRXJyb3JzVG9Db25zb2xlKSB7CisgICAgaWYgKG1fc3ludGhlc2l6
ZWRFcnJvcnNUb0NvbnNvbGUgJiYgZGlzcGxheSA9PSBEaXNwbGF5SW5Db25zb2xlKSB7CiAgICAg
ICBTdHJpbmcgc3RyID0gU3RyaW5nKCJXZWJHTDogIikgKyBHZXRFcnJvclN0cmluZyhlcnJvcikg
KyAgIjogIiArIFN0cmluZyhmdW5jdGlvbk5hbWUpICsgIjogIiArIFN0cmluZyhkZXNjcmlwdGlv
bik7CiAgICAgICBwcmludEdMRXJyb3JUb0NvbnNvbGUoc3RyKTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDVi
MGZiOTEyZjgyMmJhMjhjYzE1Y2E0YjFkM2ZkMDc1OTdjYzllYzcuLjc5M2IzZDQ0OTcxNzYyNWMz
YzM3ZGJlZjg3YTEzODlhOWQ3NDk2YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCkBAIC03MTEsOSArNzExLDE0IEBAIHB1Ymxp
YzoKICAgICAvLyBhIFNhZmFyaSBvciBDaHJvbWUgZXh0ZW5zaW9uLgogICAgIGJvb2wgYWxsb3dQ
cml2aWxlZ2VkRXh0ZW5zaW9ucygpIGNvbnN0OwogCisgICAgZW51bSBDb25zb2xlRGlzcGxheVBy
ZWZlcmVuY2UgeworICAgICAgICBEaXNwbGF5SW5Db25zb2xlLAorICAgICAgICBEb250RGlzcGxh
eUluQ29uc29sZQorICAgIH07CisKICAgICAvLyBXcmFwcGVyIGZvciBHcmFwaGljc0NvbnRleHQz
RDo6c3ludGhlc2l6ZUdMRXJyb3IgdGhhdCBzZW5kcyBhIG1lc3NhZ2UKICAgICAvLyB0byB0aGUg
SmF2YVNjcmlwdCBjb25zb2xlLgotICAgIHZvaWQgc3ludGhlc2l6ZUdMRXJyb3IoR0MzRGVudW0s
IGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgY29uc3QgY2hhciogZGVzY3JpcHRpb24pOworICAg
IHZvaWQgc3ludGhlc2l6ZUdMRXJyb3IoR0MzRGVudW0sIGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFt
ZSwgY29uc3QgY2hhciogZGVzY3JpcHRpb24sIENvbnNvbGVEaXNwbGF5UHJlZmVyZW5jZSA9IERp
c3BsYXlJbkNvbnNvbGUpOwogCiAgICAgU3RyaW5nIGVuc3VyZU5vdE51bGwoY29uc3QgU3RyaW5n
JikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IDZiMGYzOGQ1OTFhZTZlMmE1
NjcxZTIzYmE4ZmRhNmFlYWZhMzNlZDUuLmQ3NjkwOTc0NDA2MzRhNWRmZjc1ZDBhZTRjODk5ZTYx
ZTdhZmJmYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAtOTcsNyArOTcsNyBAQCBjb21w
b3NpdGVkU2Nyb2xsaW5nRm9yRnJhbWVzRW5hYmxlZCBpbml0aWFsPWZhbHNlCiAKIGV4cGVyaW1l
bnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkIGluaXRpYWw9ZmFsc2UKIHdlYkdMRW5hYmxlZCBpbml0
aWFsPWZhbHNlCi13ZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQgaW5pdGlhbD1mYWxzZQord2Vi
R0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkIGluaXRpYWw9dHJ1ZQogb3BlbkdMTXVsdGlzYW1wbGlu
Z0VuYWJsZWQgaW5pdGlhbD10cnVlCiBwcml2aWxlZ2VkV2ViR0xFeHRlbnNpb25zRW5hYmxlZCBp
bml0aWFsPWZhbHNlCiBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCBpbml0aWFsPWZhbHNlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggN2QwNzRiZTAxN2NiYzJjMTk3MWE2MTdlMDNlNjk3MTU4MzY4NDVlNC4uM2FhYzkzNzRi
MDNjYjAxMTBjM2E2MmQwODkwMmEwMDJiMzZlZjZlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisy
MDEzLTAxLTI0ICBBcm5hdWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+
CisKKyAgICAgICAgTW92ZSBXZWJHTEVycm9yc1RvQ29uc29sZSBwYWdlIHNldHRpbmcgdG8gd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA3MjE4CisKKyAgICAgICAgU2V0IFdlYkdMRXJyb3JzVG9Db25zb2xl
RW5hYmxlZCB0byBmYWxzZSBmb3IgV2ViR0wgdGVzdHMgd2hpY2ggaGF2ZQorICAgICAgICBlcnJv
cnMuIFNvbWUgV2ViR0wgZXJyb3IgbWVzc2FnZXMgZGVwZW5kIG9uIE9wZW5HTCBpbXBsZW1lbnRh
dGlvbnMsIHNvCisgICAgICAgIGxvZ2dpbmcgZXJyb3IgbWVzc2FnZXMgd291bGQgbGVhZCB0byBw
bGF0Zm9ybSBzcGVjaWZpYyBvdXRwdXQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9hdHRyaWItbG9jYXRpb24tbGVu
Z3RoLWxpbWl0cy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2JhZC1hcmd1bWVu
dHMtdGVzdC5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2J1ZmZlci1iaW5kLXRl
c3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9idWZmZXItZGF0YS1hcnJheS1i
dWZmZXIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9jb21wcmVzc2VkLXRleC1p
bWFnZS5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtYXR0cmlidXRl
cy1hbHBoYS1kZXB0aC1zdGVuY2lsLWFudGlhbGlhcy5odG1sOgorICAgICAgICAqIGZhc3QvY2Fu
dmFzL3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0b3JlZC5odG1sOgorICAgICAgICAqIGZhc3QvY2Fu
dmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmds
L2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93
ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nh
bnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93
ZWJnbC9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sOgorICAgICAgICAqIGZhc3Qv
Y2FudmFzL3dlYmdsL2ZyYW1lYnVmZmVyLXRlc3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZh
cy93ZWJnbC9nZXQtYWN0aXZlLXRlc3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJn
bC9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi10ZXN0Lmh0bWw6CisgICAgICAgICogZmFzdC9jYW52
YXMvd2ViZ2wvZ2wtZW5hYmxlLWVudW0tdGVzdC5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL2dsLWVudW0tdGVzdHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9n
bC1vYmplY3QtZ2V0LWNhbGxzLmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvZ2wt
dW5pZm9ybS1hcnJheXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9nbC11bmlm
b3JtbWF0cml4NGZ2Lmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdmVydGV4
YXR0cmlicG9pbnRlci5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2dsc2wtY29u
Zm9ybWFuY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9pbmNvcnJlY3QtY29u
dGV4dC1vYmplY3QtYmVoYXZpb3VyLmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wv
aW5kZXgtdmFsaWRhdGlvbi1jb3BpZXMtaW5kaWNlcy5odG1sOgorICAgICAgICAqIGZhc3QvY2Fu
dmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tdmVyaWZpZXMtdG9vLW1hbnktaW5kaWNlcy5odG1s
OgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24uaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1iZWhhdmlvdXIuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9vYmplY3QtZGVsZXRpb24tYmVoYXZpb3VyLmh0bWw6
CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvcHJvZ3JhbS10ZXN0Lmh0bWw6CisgICAgICAg
ICogZmFzdC9jYW52YXMvd2ViZ2wvcmVhZC1waXhlbHMtcGFjay1hbGlnbm1lbnQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9yZWFkLXBpeGVscy10ZXN0Lmh0bWw6CisgICAgICAg
ICogZmFzdC9jYW52YXMvd2ViZ2wvc2NyaXB0LXRlc3RzL3RleEltYWdlVGVzdC5qczoKKyAgICAg
ICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItZGVsZXRlZC1ieS1hY2Nlc3Nvci5odG1sOgor
ICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0Lmh0bWw6
CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWlucHV0LXZhbGlkYXRpb24uaHRtbDoK
KyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC90ZXgtc3ViLWltYWdlLTJkLWJhZC1hcmdzLmh0
bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4dHVyZS1jb21wbGV0ZS5odG1sOgor
ICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3RleHR1cmUtbnBvdC5odG1sOgorICAgICAgICAq
IGZhc3QvY2FudmFzL3dlYmdsL3R5cGUtY29udmVyc2lvbi10ZXN0Lmh0bWw6CisgICAgICAgICog
ZmFzdC9jYW52YXMvd2ViZ2wvdW5pZm9ybS1sb2NhdGlvbi1sZW5ndGgtbGltaXRzLmh0bWw6Cisg
ICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdW5pZm9ybS1sb2NhdGlvbi5odG1sOgorICAgICAg
ICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWRlcHRoLXRleHR1cmUuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1zcGVjaWZpYy5odG1sOgorICAgICAgICAqIGZhc3Qv
Y2FudmFzL3dlYmdsL3dlYmdsLXRleHR1cmUtYmluZGluZy1wcmVzZXJ2ZWQuaHRtbDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvd2ViZ2wvd2ViZ2wtcHJvZmlsZXItYXBpLWNoYW5nZXMu
aHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvd2ViZ2wvd2ViZ2wtcHJvZmlsZXIt
Z2V0LWVycm9yLmh0bWw6CisKIDIwMTItMTItMTQgIEFybmF1ZCBSZW5ldmllciAgPGEucmVuZXZp
ZXJAc2lzYS5zYW1zdW5nLmNvbT4KIAogICAgICAgICBpbmNvbnNpc3RlbmN5IGluIGRyYXdJbWFn
ZSB3aXRoIHRhcmdldCByZWN0IG5lZ2F0aXZlIGRpbWVuc2lvbnMuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9hdHRyaWItbG9jYXRpb24tbGVuZ3RoLWxpbWl0cy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYXR0cmliLWxvY2F0aW9uLWxlbmd0
aC1saW1pdHMuaHRtbAppbmRleCA3NDc4ZDdjYmQ1NTk5ZjAyNzA4YzRhMTg0NDIxZThmZmUzMTk0
YzE2Li5mOGUxYTdjOWE2OWJlZjdiNDkxMDM5ZTIyOTk0MWI1MzEyZTdhOTFmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9hdHRyaWItbG9jYXRpb24tbGVuZ3RoLWxp
bWl0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2F0dHJpYi1sb2Nh
dGlvbi1sZW5ndGgtbGltaXRzLmh0bWwKQEAgLTUxLDYgKzUxLDggQEAgdm9pZCBtYWluKCkgewog
aWYgKHdpbmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yaykgewogICAgIHdpbmRvdy5pbml0Tm9u
S2hyb25vc0ZyYW1ld29yayhmYWxzZSk7CiB9CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChm
YWxzZSk7CiAKIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKIHZhciBnbCA9IHd0dS5jcmVhdGUz
RENvbnRleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImV4YW1wbGUiKSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9iYWQtYXJndW1lbnRzLXRlc3QuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2JhZC1hcmd1bWVudHMtdGVzdC5odG1sCmlu
ZGV4IGIyOTkzMzI0ZDNhYzA0YzJmODQ0ZmVhZDAyOWRiNTUxOTY2ZjRlYWYuLjI3ZTk1ZDRmZWE0
YTg4OWQzNWE2ZGUyMzY0ZGEwMzUzYTRhNDBmZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL2JhZC1hcmd1bWVudHMtdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL2JhZC1hcmd1bWVudHMtdGVzdC5odG1sCkBAIC05LDYgKzksOSBA
QAogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiAKIDxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25z
b2xlRW5hYmxlZChmYWxzZSk7CisKIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKIGRlc2NyaXB0
aW9uKCJUZXN0cyBjYWxsaW5nIFdlYkdMIEFQSXMgd2l0aCB3cm9uZyBhcmd1bWVudCB0eXBlcyIp
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9idWZmZXItYmlu
ZC10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9idWZmZXItYmluZC10
ZXN0Lmh0bWwKaW5kZXggNjk1ZDNmY2I1NDA2M2YzNmMzMWZiNTU5Yjg4ZWVkNjIyMmJiOGU1Yy4u
M2U2Mjk2N2RhMzcyNWRkN2IwOGRkNDE3MWY3MDI4YTc1MWUxYWFlMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYnVmZmVyLWJpbmQtdGVzdC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2J1ZmZlci1iaW5kLXRlc3QuaHRtbApAQCAtMTYs
NiArMTYsOSBAQCBkZXNjcmlwdGlvbigiQ2hlY2tzIGEgYnVmZmVyIGNhbiBvbmx5IGJlIGJvdW5k
IHRvIDEgdGFyZ2V0LiIpOwogZGVidWcoIiIpOwogZGVidWcoIkNhbnZhcy5nZXRDb250ZXh0Iik7
CiAKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIGdsID0gY3JlYXRl
M0RDb250ZXh0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKSk7CiBpZiAoIWdsKSB7
CiAgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2J1ZmZlci1kYXRhLWFycmF5LWJ1ZmZlci5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYnVmZmVyLWRhdGEtYXJyYXktYnVmZmVy
Lmh0bWwKaW5kZXggOTMyYWFiOTU0YjY4OTNkNTIyNzY5OTBhNTQ2YmE3MDkxZTJhNzliNS4uMzQ0
ZTdmY2VmMDY4NGI2Y2JmMTY0ZmFkYWU3NGJiM2FlN2IxYzRiYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYnVmZmVyLWRhdGEtYXJyYXktYnVmZmVyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvYnVmZmVyLWRhdGEtYXJyYXktYnVmZmVy
Lmh0bWwKQEAgLTEyLDYgKzEyLDkgQEAgZGVzY3JpcHRpb24oIlRlc3QgYnVmZmVyRGF0YS9idWZm
ZXJTdWJEYXRhIHdpdGggQXJyYXlCdWZmZXIgaW5wdXQiKTsKIAogZGVidWcoJ1JlZ3Jlc3Npb24g
dGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQxODg0Ij5odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE4ODQ8L2E+
IDogPGNvZGU+SW1wbGVtZW50IGJ1ZmZlckRhdGEgYW5kIGJ1ZmZlclN1YkRhdGEgd2l0aCBBcnJh
eUJ1ZmZlciBhcyBpbnB1dDwvY29kZT4nKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQo
ZmFsc2UpOworCiB2YXIgZ2wgPSBjcmVhdGUzRENvbnRleHQoKTsKIHNob3VsZEJlTm9uTnVsbCgi
Z2wiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29tcHJl
c3NlZC10ZXgtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbXBy
ZXNzZWQtdGV4LWltYWdlLmh0bWwKaW5kZXggNWVlYTQyYjhlOTkwM2Q4NDY2MDc1MDIzMTAyNTZm
MjA0ZmRlM2UwNy4uYWIxOTUwZDQwOWZjZTc1ZGM5NGI0NjAxYmRhMmNkZGVmZmQyOTcxZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29tcHJlc3NlZC10ZXgtaW1h
Z2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb21wcmVzc2VkLXRl
eC1pbWFnZS5odG1sCkBAIC0xNSw2ICsxNSw5IEBAIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5z
dXJlcyBXZWJHTCBpbXBsZW1lbnRhdGlvbnMgY29ycmVjdGx5IGltcGxlbWVudCBjb21wcmVzCiAK
IGRlYnVnKCIiKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIg
d3R1ID0gV2ViR0xUZXN0VXRpbHM7CiB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiY2FudmFzIik7CiB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWF0dHJpYnV0ZXMt
YWxwaGEtZGVwdGgtc3RlbmNpbC1hbnRpYWxpYXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2NvbnRleHQtYXR0cmlidXRlcy1hbHBoYS1kZXB0aC1zdGVuY2lsLWFudGlhbGlh
cy5odG1sCmluZGV4IGMxN2NlNzJiNjZmOWNlMzQzMjFkMmM2MzUxY2E0NzhhNWU0MzVjNTUuLjI2
MmMyYzI2NTE3NTc0NGRkOGFkZmQ5ZjVlM2FmMWY1ZmVhY2ZkYjggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtYXR0cmlidXRlcy1hbHBoYS1kZXB0aC1z
dGVuY2lsLWFudGlhbGlhcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2NvbnRleHQtYXR0cmlidXRlcy1hbHBoYS1kZXB0aC1zdGVuY2lsLWFudGlhbGlhcy5odG1sCkBA
IC00OCw2ICs0OCw5IEBAIGZ1bmN0aW9uIGluaXQoKQogICAgICAgICB3aW5kb3cuaW5pdE5vbkto
cm9ub3NGcmFtZXdvcmsodHJ1ZSk7CiAgICAgfQogCisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNv
bGVFbmFibGVkKGZhbHNlKTsKKwogICAgIGRlc2NyaXB0aW9uKCdWZXJpZnkgV2ViR0xDb250ZXh0
QXR0cmlidXRlcyBhcmUgd29ya2luZyBhcyBzcGVjaWZpZWQsIGluY2x1ZGluZyBhbHBoYSwgZGVw
dGgsIHN0ZW5jaWwsIGFudGlhbGlhcywgYnV0IG5vdCBwcmVtdWx0aXBsaWVkQWxwaGEnKTsKIAog
ICAgIHJ1blRlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2NvbnRleHQtbG9zdC1yZXN0b3JlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvY29udGV4dC1sb3N0LXJlc3RvcmVkLmh0bWwKaW5kZXggMDc1MTZkOTgwYTIyMWFlNGFlNGEw
MTMwNDE3ODgwYzEwNzRkMzQzZS4uYTE1Y2MxMjE5OGU5NzkyNDY1YjM2NjBiNWE5MzYyZGIwZjFi
NzliOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1s
b3N0LXJlc3RvcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29u
dGV4dC1sb3N0LXJlc3RvcmVkLmh0bWwKQEAgLTYsNiArNiw5IEBACiA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy93
ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25z
b2xlRW5hYmxlZChmYWxzZSk7CisKIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKIHZhciBjYW52
YXM7CiB2YXIgZ2w7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWxvc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQt
bG9zdC5odG1sCmluZGV4IDUyNjFkMjc1ZDQ5YjQ1M2Q0ZDMzNmE4NDk2YzQxYjY2YjM3MTBhNGQu
LjllMmYwNjFmNzk3ZGJmZTEzNDVlNGRlODcxMjkxODJhZmNlMTA4NzkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC5odG1sCkBAIC02LDYgKzYsOSBA
QAogPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgd3R1OwogdmFyIGNh
bnZhczsKIHZhciBnbDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMuaHRtbAppbmRleCA1YjVmZGZjMTBmYWEx
MTY3NzMzOWY3YTllOTJlZGUyNmZhMmQ5Yzc4Li45NTVlNTZmNzIyZjExMDdkOTkzNWU0ZGJjZDYz
MDM4YTJlZDNiYTk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9k
cmF3LWFycmF5cy1vdXQtb2YtYm91bmRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy5odG1sCkBAIC0xMCw2ICsxMCw5IEBA
CiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRlc3Qgb2YgZHJhd0FycmF5cyB3aXRoIG91dC1vZi1i
b3VuZHMgcGFyYW1ldGVycyIpOwogCitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7
CisKIHZhciBjb250ZXh0ID0gY3JlYXRlM0RDb250ZXh0KCk7CiB2YXIgcHJvZ3JhbSA9IGxvYWRT
dGFuZGFyZFByb2dyYW0oY29udGV4dCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLmh0bWwKaW5k
ZXggYmJhNGU3MTYxOGY5MWNjOTdmNTc0YTI1NDhmZTE2N2E0MWZlNDY0ZS4uMTk0ZDYxNWJjMTA2
MWM4NjAxNTY0ZjZjMzE0NmYxZDA0Zjk0MzlhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLmh0
bWwKQEAgLTEwLDYgKzEwLDkgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdCBvZiBkcmF3
RWxlbWVudHMgd2l0aCBvdXQtb2YtYm91bmRzIHBhcmFtZXRlcnMiKTsKIAoraWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1Rv
Q29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgY29udGV4dCA9IGNyZWF0ZTNEQ29udGV4dCgp
OwogdmFyIHByb2dyYW0gPSBsb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmcuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy5odG1sCmluZGV4
IDA5Y2U4NDRhMTUzZmIyMzI1M2QwMTNkNGZhYjllMDNmOWMwYWMwNmMuLjZiMDJhNDFiN2UxNzRh
MzIzZDE5OWZmMDIyOTU4NTNiODYxNTA4YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2Vycm9yLXJlcG9ydGluZy5odG1sCkBAIC0xMCw2ICsxMCw5IEBACiA8c2Ny
aXB0PgogZGVzY3JpcHRpb24oIlRlc3RzIGdlbmVyYXRpb24gb2Ygc3ludGhldGljIGFuZCByZWFs
IEdMIGVycm9ycyIpOwogCitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisKIHZh
ciBjb250ZXh0ID0gY3JlYXRlM0RDb250ZXh0KCk7CiB2YXIgcHJvZ3JhbSA9IGxvYWRTdGFuZGFy
ZFByb2dyYW0oY29udGV4dCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9mcmFtZWJ1ZmZlci1vYmplY3QtYXR0YWNobWVudC5odG1sCmluZGV4
IDgyODg3YzdhNmYxZDdlZTQ4ZWQ3NjIwNjRjNzQwNGU3Y2VjMTljNmYuLmNhN2ViYTdkODI5MWEw
YTY4MzZlMzNiNTE4NGYzNGQ2YThlNjBiZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZnJhbWVidWZmZXItb2JqZWN0LWF0dGFjaG1lbnQu
aHRtbApAQCAtMTEsNiArMTEsOSBAQAogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiAKIDxzY3Jp
cHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisKIHZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKIHZhciBnbDsKIHZhciBmYm87CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9mcmFtZWJ1ZmZlci10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC9mcmFtZWJ1ZmZlci10ZXN0Lmh0bWwKaW5kZXggNThkYjEzNjk3YzE3M2Vk
NDJkNGE5OTAxNDU1NmNmODAxZTcwOTlkMC4uYWU3ZWI1OGVmYjQ3NTBjNTIzYjQwYjVkYmU1YTg0
NTNmYjNjYzNkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZnJh
bWVidWZmZXItdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2Zy
YW1lYnVmZmVyLXRlc3QuaHRtbApAQCAtMTcsNiArMTcsOSBAQCBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0cyBmcmFtZWJ1ZmZlci9yZW5kZXJidWZmZXItcmVsYXRlZCBmdW5jdGlvbnMiKTsKIGRlYnVn
KCIiKTsKIGRlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOwogCitpZiAod2luZG93LmludGVybmFs
cykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xl
RW5hYmxlZChmYWxzZSk7CisKIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y2FudmFzIik7CiB2YXIgZ2wgPSBjcmVhdGUzRENvbnRleHQoY2FudmFzKTsKIGlmICghZ2wpIHsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dldC1hY3RpdmUtdGVz
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0Lmh0
bWwKaW5kZXggNzA4ZjE2YjBkNWRjZGRjZTlkMjIzYTNhYjkzZWFiZmM3OTU3MjE4OS4uNGQ2MzFj
ZDQ4ZTI4Njk5ZjdmMTVjYjg0OTQ2MDEwNDQ1MDlkZTllZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0Lmh0bWwKQEAgLTExLDYgKzExLDkg
QEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdCBvZiBnZXRBY3RpdmVBdHRyaWIgYW5kIGdl
dEFjdGl2ZVVuaWZvcm0iKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOwor
CiB2YXIgY29udGV4dCA9IGNyZWF0ZTNEQ29udGV4dCgpOwogdmFyIGNvbnRleHQyID0gY3JlYXRl
M0RDb250ZXh0KCk7CiB2YXIgcHJvZ3JhbSA9IGxvYWRTdGFuZGFyZFByb2dyYW0oY29udGV4dCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1iaW5kLWF0dHJp
Yi1sb2NhdGlvbi10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1i
aW5kLWF0dHJpYi1sb2NhdGlvbi10ZXN0Lmh0bWwKaW5kZXggMTg0MzYwZmFkNmRkZmZhZmJiZjVk
MGRiMTljMzA0YjYzMWU1YTNhNi4uM2I5OWM1N2Q0OGM5OWY0YmVlZTA4MjE0ZjZlNDEyZmIyMGI3
ZGYyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLXRlc3QuaHRtbApAQCAtMzQsNiArMzQsOSBAQCB2
b2lkIG1haW4oKQogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyBXZWJH
TCBpbXBsZW1lbnRhdGlvbnMgZG9uJ3QgYWxsb3cgbmFtZXMgdGhhdCBzdGFydCB3aXRoICdnbF8n
IHdoZW4gY2FsbGluZyBiaW5kQXR0cmliTG9jYXRpb24uIik7CiAKK2lmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNv
bGVFbmFibGVkKGZhbHNlKTsKKwogZGVidWcoIiIpOwogZGVidWcoIkNhbnZhcy5nZXRDb250ZXh0
Iik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWVuYWJs
ZS1lbnVtLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWVuYWJs
ZS1lbnVtLXRlc3QuaHRtbAppbmRleCBkYTljOTliNmRjZTBkMDlkNjJhNTNkMzJmZTYxZGRhNWEx
NzljZmJkLi41NmVjZDBiYTJlOTZkNGE2NWQ5YWM0OWViYjE2MGU0OTY3MmVmYjVmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1lbmFibGUtZW51bS10ZXN0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtZW5hYmxlLWVudW0tdGVz
dC5odG1sCkBAIC0xOCw2ICsxOCw5IEBAIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyBX
ZWJHTCBpbXBsZW1lbnRhdGlvbnMgYWxsb3cgT3BlbkdMIEVTIDIuMCBmZWF0dXJlCiBkZWJ1Zygi
Iik7CiBkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVu
YWJsZWQoZmFsc2UpOworCiB2YXIgZ2wgPSBjcmVhdGUzRENvbnRleHQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNhbnZhcyIpKTsKIGlmICghZ2wpIHsKICAgdGVzdEZhaWxlZCgiY29udGV4dCBk
b2VzIG5vdCBleGlzdCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvZ2wtZW51bS10ZXN0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wt
ZW51bS10ZXN0cy5odG1sCmluZGV4IGRmZWU0NmI2MjY3ZGE1ZTMzZGEwNTk0ODgxZjU0MDE1MzY3
NWY5YTMuLjI1ZDVkYzBhZWNhMWIwZGFjNTRhODA2ODE0ZmI0ZDJlYWRlMGIwNWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWVudW0tdGVzdHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1lbnVtLXRlc3RzLmh0bWwKQEAgLTE4
LDYgKzE4LDkgQEAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIHZhcmlvdXMgV2ViR0wg
ZnVuY3Rpb25zIGZhaWwgd2hlbiBwYXNzZWQgbm9uIE9wZW4KIGRlYnVnKCIiKTsKIGRlYnVnKCJD
YW52YXMuZ2V0Q29udGV4dCIpOwogCitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7
CisKIHZhciBnbCA9IGNyZWF0ZTNEQ29udGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2Fu
dmFzIikpOwogaWYgKCFnbCkgewogICB0ZXN0RmFpbGVkKCJjb250ZXh0IGRvZXMgbm90IGV4aXN0
Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1vYmplY3Qt
Z2V0LWNhbGxzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1vYmplY3Qt
Z2V0LWNhbGxzLmh0bWwKaW5kZXggNGQ4ZTIzNWZiNTQ4YzA2YWM5NjQ5ODU3MzU5MWM2ZGE0N2Fm
ZTQ5Ny4uYTBmMmFmOGE4NTBlNjA4MzU2ZDdiMWMxYjFlZjQ1YWQxNmEzYTAzNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLW9iamVjdC1nZXQtY2FsbHMu
aHRtbApAQCAtMTIsNiArMTIsOSBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0IG9mIGdl
dCBjYWxscyBhZ2FpbnN0IEdMIG9iamVjdHMgbGlrZSBnZXRCdWZmZXJQYXJhbWV0ZXIsIGV0Yy4i
KTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiBmdW5jdGlvbiBzaXpl
SW5CeXRlcyh0eXBlKSB7CiAgIHN3aXRjaCAodHlwZSkgewogICBjYXNlIGdsLkJZVEU6CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC11bmlmb3JtLWFycmF5cy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdW5pZm9ybS1hcnJheXMuaHRt
bAppbmRleCAyOWVjNTQ1ZjlkM2E0OWZjM2M0ZjEwNGU0MjYyZmE1MmUwNTMxZDViLi5jNWEzYWM3
M2NkODU2ZmUzYzg4YTMwMWFlMmYxYjU5MDdmNWRkZWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC11bmlmb3JtLWFycmF5cy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwKQEAgLTgxLDYgKzgx
LDkgQEAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIFdlYkdMIGltcGxlbWVudGF0aW9u
cyBoYW5kbGUgdW5pZm9ybSBhcnJheXMgY29ycmUKIAogZGVidWcoIiIpOwogCitpZiAod2luZG93
LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3Jz
VG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisKIHZhciBnbCA9IGNyZWF0ZTNEQ29udGV4dChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpKTsKIAogdmFyIHZTcmMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidnNoYWRlciIpLnRleHQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9nbC11bmlmb3JtbWF0cml4NGZ2Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9nbC11bmlmb3JtbWF0cml4NGZ2Lmh0bWwKaW5kZXggNmM5YWMwM2Mw
MzQ0MDVkYjkxNzk5ZmExM2ZjNzQ3YjgyMDhmMDA4ZS4uNWQ4Nzc3M2ZhNTAyNDIzMjBkYmQ4MDY5
ZTEyNjU0MTZkMjBmMmJkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvZ2wtdW5pZm9ybW1hdHJpeDRmdi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2dsLXVuaWZvcm1tYXRyaXg0ZnYuaHRtbApAQCAtMzYsNiArMzYsOSBAQCBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25zIGhhbmRsZSB1bmlm
b3JtTWF0cml4IGluIGEgTwogZGVidWcoIiIpOwogZGVidWcoIkNoZWNraW5nIGdsLnVuaWZvcm1N
YXRyaXguIik7CiAKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogZ2wgPSBp
bml0V2ViR0woImV4YW1wbGUiLCAidnNoYWRlciIsICJmc2hhZGVyIiwgWyAidlBvc2l0aW9uIl0s
IFsgMCwgMCwgMCwgMSBdLCAxKTsKIGZvciAodmFyIGlpID0gMjsgaWkgPD0gNDsgKytpaSkgewog
ICB2YXIgbG9jID0gZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKGdsLnByb2dyYW0sICJ3b3JsZCIgKyBp
aSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC12ZXJ0ZXhh
dHRyaWJwb2ludGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC12ZXJ0
ZXhhdHRyaWJwb2ludGVyLmh0bWwKaW5kZXggY2VhMzg5YWQ5ZjYxZDVmMjQwZjI5OGNiZmZiYjNk
YjJjODI4YjkwMi4uOGNlNTI1NDkyYzRiNzE2NDk2ODZjYTU1ZGI0YjJmZDkxMTdiOWU3YiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdmVydGV4YXR0cmlicG9p
bnRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleGF0
dHJpYnBvaW50ZXIuaHRtbApAQCAtMTksNiArMTksOSBAQCBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IGNoZWNrcyB2ZXJ0ZXhBdHRyaWJQb2ludGVyIGJlaGF2aW9ycyBpbiBXZWJHTC4iKTsKIGRlYnVn
KCIiKTsKIGRlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOwogCitpZiAod2luZG93LmludGVybmFs
cykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xl
RW5hYmxlZChmYWxzZSk7CisKIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKIHZhciBnbCA9IGNy
ZWF0ZTNEQ29udGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIikpOwogaWYgKCFn
bCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2xzbC1jb25m
b3JtYW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2xzbC1jb25mb3Jt
YW5jZS5odG1sCmluZGV4IGFlYWEwYmY3MzkwNmU1MDMxYjM1YzU2NzNmODU2OWQwZmU0ZjY4MTAu
LjA2MmU1MGZmZWM3YmMwMzFhZmVkNzNkZTJlNjRkNmVkOTIwMzEyNGIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsc2wtY29uZm9ybWFuY2UuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbHNsLWNvbmZvcm1hbmNlLmh0bWwKQEAgLTIy
MSw2ICsyMjEsOSBAQCBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVt
ZW50YXRpb25zIGFsbG93IHByb3BlciBHTEVTMiBzaGFkZXJzCiBkZWJ1ZygiIik7CiBkZWJ1Zygi
Q2FudmFzLmdldENvbnRleHQiKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2Up
OworCiB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CiB3dHUubG9nZ2luZ09mZigpOwogdmFyIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIikp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5jb3JyZWN0LWNv
bnRleHQtb2JqZWN0LWJlaGF2aW91ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvaW5jb3JyZWN0LWNvbnRleHQtb2JqZWN0LWJlaGF2aW91ci5odG1sCmluZGV4IDRmYTFjMjdk
OTc0ZmFkYWJhOWExM2I5YTRiZGFlYjhmYTE1ODcwYjUuLmU1MjliNjkxZDc2NzgxMzkwOTU2NDA5
MWVjNTU2NDUzMmNjNjZjYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL2luY29ycmVjdC1jb250ZXh0LW9iamVjdC1iZWhhdmlvdXIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmNvcnJlY3QtY29udGV4dC1vYmplY3QtYmVoYXZpb3Vy
Lmh0bWwKQEAgLTEwLDYgKzEwLDkgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdHMgY2Fs
bGluZyBXZWJHTCBBUElzIHdpdGggb2JqZWN0cyBmcm9tIG90aGVyIGNvbnRleHRzIik7CiAKK2lm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2Vi
R0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIGNvbnRleHRBID0gY3JlYXRl
M0RDb250ZXh0KCk7CiB2YXIgY29udGV4dEIgPSBjcmVhdGUzRENvbnRleHQoKTsKIHZhciBwcm9n
cmFtQSA9IGxvYWRTdGFuZGFyZFByb2dyYW0oY29udGV4dEEpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi1jb3BpZXMtaW5kaWNlcy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi1jb3Bp
ZXMtaW5kaWNlcy5odG1sCmluZGV4IGE1YTc5Mjg2YjI3NjExN2I5MTc4YTJiM2M2OTRjMGI4NmYy
MTE4YWIuLjZlMTVlMjBlNjM5MTcxNzU4ZDViYmY2M2M1NzFhMGM2NmNkMWYwYzMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tY29waWVz
LWluZGljZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12
YWxpZGF0aW9uLWNvcGllcy1pbmRpY2VzLmh0bWwKQEAgLTEwLDYgKzEwLDkgQEAKIDxzY3JpcHQ+
CiBkZXNjcmlwdGlvbignVGVzdCB0aGF0IGNsaWVudCBkYXRhIGlzIGFsd2F5cyBjb3BpZWQgZHVy
aW5nIGJ1ZmZlckRhdGEgYW5kIGJ1ZmZlclN1YkRhdGEgY2FsbHMsIGJlY2F1c2Ugb3RoZXJ3aXNl
IHRoZSBkYXRhIHRoZSBHTCB1c2VzIHRvIGRyYXcgbWF5IGRpZmZlciBmcm9tIHRoYXQgY2hlY2tl
ZCBieSB0aGUgaW5kZXggdmFsaWRhdGlvbiBjb2RlLicpCiAKK2lmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVF
bmFibGVkKGZhbHNlKTsKKwogdmFyIGNvbnRleHQgPSBjcmVhdGUzRENvbnRleHQoKTsKIHZhciBw
cm9ncmFtID0gbG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0KTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi12ZXJpZmllcy10b28t
bWFueS1pbmRpY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12
YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55LWluZGljZXMuaHRtbAppbmRleCAwNGViNDkzNWE1
ZTZmMzdlMTI2MmQ0YjhkNWQxODg1MjNjZDg3MjRmLi4zMmU5ZGZlY2YyYjQyMzY3ODg4NDAxNTQw
ODIyYmJmMzM1MDc3YjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9pbmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55LWluZGljZXMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRv
by1tYW55LWluZGljZXMuaHRtbApAQCAtMTAsNiArMTAsOSBAQAogPHNjcmlwdD4KIGRlc2NyaXB0
aW9uKCdUZXN0cyB0aGF0IGluZGV4IHZhbGlkYXRpb24gZm9yIGRyYXdFbGVtZW50cyBkb2VzIG5v
dCBleGFtaW5lIHRvbyBtYW55IGluZGljZXMnKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJs
ZWQoZmFsc2UpOworCiB2YXIgY29udGV4dCA9IGNyZWF0ZTNEQ29udGV4dCgpOwogdmFyIHByb2dy
YW0gPSBsb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLmh0bWwKaW5kZXggY2I5NWQ0MDgw
ZTk0OWFhNzcwN2I5N2QwYjUyNzI1MGZkZmVmYjM3Ny4uNWM5NmJhYmZmZGIxN2VkYjRmMzE5NmFl
YTY0NTgyNTY4NWZiYjU0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvaW5kZXgtdmFsaWRhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL2luZGV4LXZhbGlkYXRpb24uaHRtbApAQCAtMTMsNiArMTMsOSBAQAogPHNjcmlwdD4KIGRl
c2NyaXB0aW9uKCJUZXN0cyB0aGF0IGluZGV4IHZhbGlkYXRpb24gdmVyaWZpZXMgdGhlIGNvcnJl
Y3QgbnVtYmVyIG9mIGluZGljZXMiKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFs
c2UpOworCiBmdW5jdGlvbiBzaXplSW5CeXRlcyh0eXBlKSB7CiAgIHN3aXRjaCAodHlwZSkgewog
ICBjYXNlIGdsLkJZVEU6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL2ludmFsaWQtcGFzc2VkLXBhcmFtcy5odG1sCmluZGV4IDJhZWUyZDJiYWZmMTQ3ZWJjYzBh
NzI2NjRkZTNiNTg5ZWRhMjlkZTguLmEwNTA2NzRjN2FhNmQ1YWFkODQ4ZmZkYWI2OTIwMTk0N2Vh
OTJjMzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2ludmFsaWQt
cGFzc2VkLXBhcmFtcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2lu
dmFsaWQtcGFzc2VkLXBhcmFtcy5odG1sCkBAIC0xMSw2ICsxMSw5IEBACiA8c2NyaXB0PgogZGVz
Y3JpcHRpb24oIlRlc3QgZm9yIGludmFsaWQgcGFzc2VkIHBhcmFtZXRlcnMiKTsKIAoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVy
cm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgY29udGV4dCA9IGNyZWF0ZTNEQ29u
dGV4dCgpOwogCiBkZWJ1ZygiIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9udWxsLW9iamVjdC1iZWhhdmlvdXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci5odG1sCmluZGV4IGZjMGQwMDlmNTk3OWJi
ZWY3MzdiZTU5YTExZTdhOGM3ZjIzMjNmODUuLjAyODM4NTUyNjk1NWUwMTNiM2NhNjdjMGRkZTk2
OGI4ZjJmZTVjOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL251
bGwtb2JqZWN0LWJlaGF2aW91ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci5odG1sCkBAIC0xMiw2ICsxMiw5IEBACiB2YXIgd3R1
ID0gV2ViR0xUZXN0VXRpbHM7CiBkZXNjcmlwdGlvbigiVGVzdHMgY2FsbGluZyBXZWJHTCBBUElz
IHdpdGhvdXQgcHJvdmlkaW5nIHRoZSBuZWNlc3Nhcnkgb2JqZWN0cyIpOwogCitpZiAod2luZG93
LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3Jz
VG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisKIHZhciBjb250ZXh0ID0gd3R1LmNyZWF0ZTNEQ29u
dGV4dCgpOwogdmFyIHByb2dyYW0gPSB3dHUubG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0KTsK
IHZhciBzaGFkZXIgPSB3dHUubG9hZFN0YW5kYXJkVmVydGV4U2hhZGVyKGNvbnRleHQpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2JqZWN0LWRlbGV0aW9uLWJl
aGF2aW91ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2JqZWN0LWRlbGV0
aW9uLWJlaGF2aW91ci5odG1sCmluZGV4IDBjNmIxMTVkYTk1ZmM1MTRmOWZmNzlhNjBmMTQ3NGRk
MjRiZGZkM2IuLjJmMmU3NDkyMmY0NzU0ZTNjZjkwYjRjNDhmODg2ODNkODdhMWNlYTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL29iamVjdC1kZWxldGlvbi1iZWhh
dmlvdXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vYmplY3QtZGVs
ZXRpb24tYmVoYXZpb3VyLmh0bWwKQEAgLTEzLDYgKzEzLDkgQEAKIDxzY3JpcHQ+CiBkZXNjcmlw
dGlvbigiVGVzdHMgZGVsZXRpb24gYmVoYXZpb3IgZm9yIHRleHR1cmUsIHJlbmRlcmJ1ZmZlciwg
c2hhZGVyLCBhbmQgcHJvZ3JhbSIpOwogCitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxz
ZSk7CisKIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKIHZhciBnbCA9IHd0dS5jcmVhdGUzRENv
bnRleHQoKTsKIHZhciBzaG91bGRHZW5lcmF0ZUdMRXJyb3IgPSB3dHUuc2hvdWxkR2VuZXJhdGVH
TEVycm9yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvcHJvZ3Jh
bS10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9wcm9ncmFtLXRlc3Qu
aHRtbAppbmRleCBjMDYzMzM0OTA2NjEyMTBmZGRlNWNlYjc2NWZjZTJlNjFmYzRhOGQ3Li5lYTYy
NjNmMTNmNzg5MDAxMGVjMWQ1ZTU4M2JhYjJmOTA1MTRmNjhiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9wcm9ncmFtLXRlc3QuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9wcm9ncmFtLXRlc3QuaHRtbApAQCAtMTcsNiArMTcsOSBAQCBm
dW5jdGlvbiBnbygpIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIkNhbnZhcy5nZXRDb250
ZXh0Iik7CiAKKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiAg
ICAgdmFyIGdsID0gY3JlYXRlM0RDb250ZXh0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52
YXMiKSk7CiAgICAgaWYgKCFnbCkgewogICAgICAgICB0ZXN0RmFpbGVkKCJjb250ZXh0IGRvZXMg
bm90IGV4aXN0Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9y
ZWFkLXBpeGVscy1wYWNrLWFsaWdubWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvcmVhZC1waXhlbHMtcGFjay1hbGlnbm1lbnQuaHRtbAppbmRleCAxOTU1NjU1ZGNkMjQ4
YmI5MTJmYmQ3OTc3Mzg0Y2ExMGFkMzViNTk5Li5hYmNkY2VkOGRhMDMyZDRlNTE5MmI5NTAxM2Qw
NDM4YWE4ZTZlYTA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9y
ZWFkLXBpeGVscy1wYWNrLWFsaWdubWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3JlYWQtcGl4ZWxzLXBhY2stYWxpZ25tZW50Lmh0bWwKQEAgLTMxLDYgKzMxLDgg
QEAgdm9pZCBtYWluKCkKIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgogPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNl
KTsKIAogLy8gVGhlIGJlbG93IGRlY2xhcmF0aW9ucyBuZWVkIHRvIGJlIGdsb2JhbCBmb3IgInNo
b3VsZEJlIiB0byBzZWUgdGhlbQogdmFyIGdsID0gbnVsbDsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbAppbmRleCBkNGFlZTRlY2Vm
N2I0MjE5OGQzMzNlODJiYThjMzcwYWM2ZDhjNTQ2Li5lNjQxMGU1YzVmYzhhNmMzMjY2NjMwYjc5
OGZhMzZhZTc4OWE3NzU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9yZWFkLXBpeGVscy10ZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvcmVhZC1waXhlbHMtdGVzdC5odG1sCkBAIC0xNCw2ICsxNCw5IEBACiA8c2NyaXB0PgogZGVz
Y3JpcHRpb24oIkNoZWNrcyB0aGF0IFJlYWRQaXhlbHMgd29ya3MgYXMgZXhwZWN0ZWQuIik7CiAK
K2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIHd0dSA9IFdlYkdMVGVz
dFV0aWxzOwogdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJleGFtcGxlIik7
CiB2YXIgZ2wgPSBjcmVhdGUzRENvbnRleHQoY2FudmFzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL3NjcmlwdC10ZXN0cy90ZXhJbWFnZVRlc3QuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9zY3JpcHQtdGVzdHMvdGV4SW1hZ2VUZXN0LmpzCmlu
ZGV4IDYyMGYzZmUyYThjNGE3ZTU4OWQxMzZkMmVlZjM2M2E5MjM3MmZlZDkuLmMxYTlkNGUxMGY0
NzRlM2M1YmQxMjM1MjA1NWU5MjQ5OGU5YzY0YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL3NjcmlwdC10ZXN0cy90ZXhJbWFnZVRlc3QuanMKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2NyaXB0LXRlc3RzL3RleEltYWdlVGVzdC5qcwpAQCAt
MSw1ICsxLDggQEAKIGRlc2NyaXB0aW9uKCJUZXN0IG9mIHRleEltYWdlMmQgYW5kIHRleFN1Yklt
YWdlMmQiKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgY29u
dGV4dCA9IGNyZWF0ZTNEQ29udGV4dCgpOwogdmFyIGltYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaW1nIik7CiB2YXIgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ2aWRlbyIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLWRlbGV0
ZWQtYnktYWNjZXNzb3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRl
ci1kZWxldGVkLWJ5LWFjY2Vzc29yLmh0bWwKaW5kZXggNGNiZDQxZWI2MjU1NTgyNWVmZjBkZmI1
MzBiNjkxMjllNjQ0NTc3Yi4uMTUzNDgxODI2NmQzYzAxZjllN2EyYzU4OTQwZjUyYTJiNjJhMzQ0
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLWRlbGV0
ZWQtYnktYWNjZXNzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9z
aGFkZXItZGVsZXRlZC1ieS1hY2Nlc3Nvci5odG1sCkBAIC0xMiw2ICsxMiw5IEBACiAKIGRlc2Ny
aXB0aW9uKCJWZXJpZmllcyB0aGF0IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0QXR0YWNoZWRT
aGFkZXJzIGRvZXNuJ3QgY3Jhc2ggd2hlbiBhbiBhY2Nlc3NvciBwcm9wZXJ0eSBpcyBkZWZpbmVk
IG9uIEFycmF5LnByb3RvdHlwZS4iKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFs
c2UpOworCiBjb250ZXh0ID0gY3JlYXRlM0RDb250ZXh0KCk7CiBwcm9ncmFtID0gY29udGV4dC5j
cmVhdGVQcm9ncmFtKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC5odG1sCmluZGV4IGI4MGYzODUwYmMxZmEz
MGNjN2FiMDA2MWJmOWYwMDZlNjg3ODkwOGMuLjRlYmY2M2ExNWM2OTdiZTFmNWJmODQ0YWU3NGVi
NThlMGJjMDMxNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3No
YWRlci1wcmVjaXNpb24tZm9ybWF0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQuaHRtbApAQCAtMTcsNiArMTcsOSBAQCBpZiAo
d2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKSB7CiAgICAgd2luZG93LmluaXROb25LaHJv
bm9zRnJhbWV3b3JrKHRydWUpOwogfQogCitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxz
ZSk7CisKIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKIGRlc2NyaXB0aW9uKGRvY3VtZW50LnRp
dGxlKTsKIGRlYnVnKCJUZXN0cyB0aGF0IFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0IGNsYXNz
IGFuZCBnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQgd29yay4iKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbnB1dC12YWxpZGF0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW5wdXQtdmFsaWRhdGlvbi5odG1sCmluZGV4
IDI3MmFhYzk0Zjg2MTZiNmE1YmM1MWM1NzU2ZDIxNTBhMWQ5ZTMzMTUuLjhkNTgxZDMyNjg5NjU1
ZmViNzJmOWE4NjM2ZGQ3NzM3Yjc2NzExMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL3RleC1pbnB1dC12YWxpZGF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWlucHV0LXZhbGlkYXRpb24uaHRtbApAQCAtOSw2ICs5LDkg
QEAKIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogCiA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29u
c29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CiB2YXIgZ2wg
PSBudWxsOwogdmFyIHRleCA9IG51bGw7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC90ZXgtc3ViLWltYWdlLTJkLWJhZC1hcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC90ZXgtc3ViLWltYWdlLTJkLWJhZC1hcmdzLmh0bWwKaW5kZXggMmFm
YzdhMmNjM2NlNjlmOGVmMmJiMDNlMzZjYmIwNmQ5Zjc1NDBjZS4uZGU4OGJiZWExYzhiY2IzYjNh
YTAxM2ZkM2ExMzA4OGY0NWY3ZjE3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvdGV4LXN1Yi1pbWFnZS0yZC1iYWQtYXJncy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3RleC1zdWItaW1hZ2UtMmQtYmFkLWFyZ3MuaHRtbApAQCAtMTIs
NiArMTIsOSBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCdUZXN0cyB0ZXhTdWJJbWFnZTJEIHdp
dGggYmFkIGFyZ3VtZW50cycpOwogCitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7
CisKIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGVzdGJlZCIpOwogdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
YyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4dHVyZS1j
b21wbGV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4dHVyZS1jb21w
bGV0ZS5odG1sCmluZGV4IGVkNjgxMmQwODBhODVjNTcyNmRkYmI4NzFiZmZmNzM2OTExMzdkMmYu
LjdiMTVmZDU2ZjdhN2NiNGI2MDE2ODAyNzc2YzQyNjQ3OWE0NjQ3NzUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleHR1cmUtY29tcGxldGUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXh0dXJlLWNvbXBsZXRlLmh0bWwKQEAgLTQ0
LDYgKzQ0LDkgQEAgZnVuY3Rpb24gaW5pdCgpCiAgICAgd2luZG93LmluaXROb25LaHJvbm9zRnJh
bWV3b3JrKGZhbHNlKTsKICAgfQogCisgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNl
KTsKKwogICBkZWJ1ZygiQ2hlY2tzIHRoYXQgYSB0ZXh0dXJlIHRoYXQgaXMgbm90IC10ZXh0dXJl
LWNvbXBsZXRlLSBkb2VzIG5vdCBkcmF3IGlmIisKICAgICAgICAgIiBmaWx0ZXJpbmcgbmVlZHMg
bWlwcyIpOwogICBkZWJ1ZygiIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC90ZXh0dXJlLW5wb3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L3RleHR1cmUtbnBvdC5odG1sCmluZGV4IDg1NGNmN2Q4YzA3ZTQzNGVmNjdlYzc1MWFiOTUwZDU1
NGFkODBkNzcuLjMxMjlhMDNiMWU3Njk3ODNjYWFmMDNjZTljN2FhMjIxMjM3NGJmY2QgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleHR1cmUtbnBvdC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleHR1cmUtbnBvdC5odG1sCkBAIC0z
NCw2ICszNCw5IEBAIHZvaWQgbWFpbigpCiB9CiA8L3NjcmlwdD4KIDxzY3JpcHQ+CitpZiAod2lu
ZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJy
b3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisKIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsK
IHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpOwogdmFyIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvdHlwZS1jb252ZXJzaW9uLXRlc3QuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3R5cGUtY29udmVyc2lvbi10ZXN0Lmh0bWwKaW5kZXggMjZjM2E3
ZTI4ZTQ2NDYxYjg1NDUwNTMyNmU1NWExZWRlMWRmODA5ZS4uMjc5NmJkYzM5NzdmM2I0ZWRjMzE0
MjU1MzdiMGU3YmZhZTNiNDMzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvdHlwZS1jb252ZXJzaW9uLXRlc3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC90eXBlLWNvbnZlcnNpb24tdGVzdC5odG1sCkBAIC0xMiw2ICsxMiw5IEBACiB2
YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CiBkZXNjcmlwdGlvbigiVGVzdHMgY2FsbGluZyBXZWJH
TCBBUElzIHdpdGggdmFyaW91cyB0eXBlcyIpOwogCitpZiAod2luZG93LmludGVybmFscykKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxl
ZChmYWxzZSk7CisKIHZhciBjb250ZXh0ID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOwogdmFyIHBy
b2dyYW0gPSB3dHUubG9hZFN0YW5kYXJkUHJvZ3JhbShjb250ZXh0KTsKIHZhciBzaGFkZXIgPSB3
dHUubG9hZFN0YW5kYXJkVmVydGV4U2hhZGVyKGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdW5pZm9ybS1sb2NhdGlvbi1sZW5ndGgtbGltaXRzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC91bmlmb3JtLWxvY2F0aW9uLWxlbmd0
aC1saW1pdHMuaHRtbAppbmRleCA0NWRkZjkzOTM5YmYwNTU1OTY4MWUyZTE5ZGUzYmYyM2IyMTYz
ZGJjLi4wMTJjYjA2OWRmYjU2MWFmYmJmODgxZGZjMmJjNzQzMGRhODc0MjBkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC91bmlmb3JtLWxvY2F0aW9uLWxlbmd0aC1s
aW1pdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC91bmlmb3JtLWxv
Y2F0aW9uLWxlbmd0aC1saW1pdHMuaHRtbApAQCAtNzQsNiArNzQsOSBAQCBpZiAod2luZG93Lmlu
aXROb25LaHJvbm9zRnJhbWV3b3JrKSB7CiAgICAgd2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3
b3JrKGZhbHNlKTsKIH0KIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2
YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CiB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJleGFtcGxlIikpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC91bmlmb3JtLWxvY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC91bmlmb3JtLWxvY2F0aW9uLmh0bWwKaW5kZXggODM1N2ExYjI2
ZTA5YTNhNzM0NjM0ZmE0MTMzY2RjYmNiNWNkODczMy4uNTM5NDY2MDJjYjk0NjMyNzQyYzhjOTFl
ZWY3MmRlYjIyZDg0MzFkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvdW5pZm9ybS1sb2NhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL3VuaWZvcm0tbG9jYXRpb24uaHRtbApAQCAtMTAsNiArMTAsOSBAQAogPHNjcmlwdD4KIGRl
c2NyaXB0aW9uKCJUZXN0cyB0aGUgV2ViR0xVbmlmb3JtTG9jYXRpb24gQVBJIik7CiAKK2lmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xF
cnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIGNvbnRleHRBID0gY3JlYXRlM0RD
b250ZXh0KCk7CiB2YXIgY29udGV4dEIgPSBjcmVhdGUzRENvbnRleHQoKTsKIHZhciBwcm9ncmFt
QTEgPSBsb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHRBKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWRlcHRoLXRleHR1cmUuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWRlcHRoLXRleHR1cmUuaHRtbAppbmRleCAwN2Uy
YTU0ZTgxM2Q3Y2NkNWU1ODgyMGE0NGE0OTJkZjhlM2ZkYWM5Li5lMDZmODYyY2RlZDE0N2M5N2Fj
MTliOTQ2M2JmYzFmYjExYTc0YWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC93ZWJnbC1kZXB0aC10ZXh0dXJlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvd2ViZ2wtZGVwdGgtdGV4dHVyZS5odG1sCkBAIC0zNyw2ICszNyw5IEBAIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIFdF
QkdMX2RlcHRoX3RleHR1cmUgZXh0CiAKIGRlYnVnKCIiKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29s
ZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CiB2YXIgY2FudmFz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwogdmFyIGdsID0gd3R1LmNyZWF0
ZTNEQ29udGV4dChjYW52YXMsIHthbnRpYWxpYXM6IGZhbHNlfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1zcGVjaWZpYy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtc3BlY2lmaWMuaHRtbAppbmRleCBlYzUyMWMxMjgz
ZjZkMDUzNDUxOWJkNjRjYjFhMzkyMzZhY2ExYTAyLi42OTY0YmZkODU2MzdiMTcxOTBiNjY1MDIz
MjcwMjJhZGY5ODg1MTJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC93ZWJnbC1zcGVjaWZpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L3dlYmdsLXNwZWNpZmljLmh0bWwKQEAgLTEyLDYgKzEyLDkgQEAKIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgogCiA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOwor
CiB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CiBkZXNjcmlwdGlvbigiVGVzdHMgdGhlIGEgZmV3
IGRpZmZlcmVuY2VzIGJldHdlZW4gV2ViR0wgYW5kIEdMRVMyIik7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLXRleHR1cmUtYmluZGluZy1wcmVzZXJ2
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLXRleHR1cmUtYmlu
ZGluZy1wcmVzZXJ2ZWQuaHRtbAppbmRleCAyY2M4OGJkY2NmOTRjOTRkYmIzZDNkZjFjNTJkNTNj
NmE1YzU3NmRhLi5jNzViZmIxNDU1ZTVjZThhNThjZWViYmNlYmMxOTIzNDBmNjFjOWJkIDEwMDc1
NQotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC10ZXh0dXJlLWJpbmRp
bmctcHJlc2VydmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2Vi
Z2wtdGV4dHVyZS1iaW5kaW5nLXByZXNlcnZlZC5odG1sCkBAIC0xNyw2ICsxNyw5IEBAIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQog
CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisKIHZhciBjYW52YXM7CiB2YXIg
Y29udGV4dDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL3dl
YmdsL3dlYmdsLXByb2ZpbGVyLWFwaS1jaGFuZ2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvcHJvZmlsZXIvd2ViZ2wvd2ViZ2wtcHJvZmlsZXItYXBpLWNoYW5nZXMuaHRtbAppbmRleCBi
MWY2NmYxNWRlNzY4YmI0NjcxYjE3ODJmZTljNmExMWM0OWU5OGUzLi44NGRhYWY3ZGQ2ZTk5NDU4
NzgwMjQ1ZjhkYjJkMzc1MjBkZGEzNWJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvcHJvZmlsZXIvd2ViZ2wvd2ViZ2wtcHJvZmlsZXItYXBpLWNoYW5nZXMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvd2ViZ2wvd2ViZ2wtcHJvZmlsZXItYXBpLWNo
YW5nZXMuaHRtbApAQCAtMjAwLDYgKzIwMCw4IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAgICAgfQorICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7
CiAgICAgdHJ5IHsKICAgICAgICAgdGVzdCgpOwogICAgIH0gZmluYWxseSB7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvd2ViZ2wvd2ViZ2wtcHJvZmlsZXItZ2V0
LWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvd2ViZ2wvd2ViZ2wt
cHJvZmlsZXItZ2V0LWVycm9yLmh0bWwKaW5kZXggNWJjYzA0MTQ5NWM0ZDRhODhhZTEwODQyYjEy
OWUzYjUwOTMxYzFjNi4uNzYzMzRiMWQ0Y2U3MjEyMmJhYWM3MWFkMjRhMzUyM2E1ZGQ3ODljOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL3dlYmdsL3dlYmdsLXBy
b2ZpbGVyLWdldC1lcnJvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxl
ci93ZWJnbC93ZWJnbC1wcm9maWxlci1nZXQtZXJyb3IuaHRtbApAQCAtMyw2ICszLDggQEAKICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIuLi9jYW52YXMtcHJvZmlsZXItdGVz
dC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFs
c2UpOwogCiB2YXIgZ2w7CiB2YXIgcmF3R0w7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184626</attachid>
            <date>2013-01-24 18:12:16 -0800</date>
            <delta_ts>2013-01-25 11:21:39 -0800</delta_ts>
            <desc>updated patch (remove spurious change)</desc>
            <filename>bug-107218-20130124180905.patch</filename>
            <type>text/plain</type>
            <size>40415</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2YxZWJiNjZiNzc2MzQ5
M2NiOTZlYTEyZTQ3YTJhYmQ3M2I0M2FmZS4uZGY3ZDQ4NmQ4Yjc4ZThhNTdjMDdlZjhmNmNlODA1
ZmU2MjAxYzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAxLTI0ICBBcm5h
dWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92
ZSBXZWJHTEVycm9yc1RvQ29uc29sZSBwYWdlIHNldHRpbmcgdG8gd2luZG93LmludGVybmFscy5z
ZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA3MjE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RGVmaW5lIHdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZCBhcyB0cnVlIGJ5IGRlZmF1bHQuIEFs
c28sCisgICAgICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6bV9zeW50aGVzaXplZEVycm9yc1Rv
Q29uc29sZSBpcyB0cnVlIGJ5IGRlZmF1bHQKKyAgICAgICAgYW5kIGNhbiBiZSBkaXNhYmxlZCBi
eSBzZXR0aW5ncy4KKworICAgICAgICBBZGQgYSBDb25zb2xlRGlzcGxheVByZWZlcmVuY2UgcGFy
YW1ldGVyIHRvIHN5bnRoZXNpemVHTEVycm9yCisgICAgICAgIChkZWZhdWx0cyB0byBEaXNwbGF5
SW5Db25zb2xlKS4gV2hlbiBjYWxsZWQgd2l0aCBEb250RGlzcGxheUluQ29uc29sZSwKKyAgICAg
ICAgYW4gZXJyb3IgbWVzc2FnZSB3aWxsIG5vdCBiZSBkaXNwbGF5ZWQgKGV2ZW4gaWYKKyAgICAg
ICAgbV9zeW50aGVzaXplZEVycm9yc1RvQ29uc29sZSBpcyB0cnVlKS4KKworICAgICAgICBDYWxs
IHN5bnRoZXNpemVHTEVycm9yIHdpdGggRG9udERpc3BsYXlJbkNvbnNvbGUgaW4gY2FzZSBvZiBz
eW50aGV0aWMKKyAgICAgICAgY29udGV4dCBsb3N0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0czog
Y292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6V2ViR0xSZW5kZXJpbmdDb250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6c2V0dXBGbGFncyk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlUmVuZGVyaW5nU3RhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpsb3NlQ29udGV4dElt
cGwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpzeW50aGVzaXpl
R0xFcnJvcik6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6
CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoKKwogMjAxMi0xMi0xNCAgQXJuYXVkIFJlbmV2
aWVyICA8YS5yZW5ldmllckBzaXNhLnNhbXN1bmcuY29tPgogCiAgICAgICAgIGluY29uc2lzdGVu
Y3kgaW4gZHJhd0ltYWdlIHdpdGggdGFyZ2V0IHJlY3QgbmVnYXRpdmUgZGltZW5zaW9ucy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
Y3BwCmluZGV4IDIwYzYwYjhkNGU3YTJjODhkNjE1ZTc5MGJmYjk3YTg2ZjMyMjc4NGYuLjQyZWFj
OWMwMWE0MGYyYjJlNTE5M2RlYzhiZDkxOGIzYjIyZTgwZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNDY0LDcg
KzQ2NCw3IEBAIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6V2ViR0xSZW5kZXJpbmdDb250ZXh0KEhU
TUxDYW52YXNFbGVtZW50KiBwYXNzZWRDYW52YXMsIFBhCiAgICAgLCBtX2NvbnRleHRMb3N0KGZh
bHNlKQogICAgICwgbV9jb250ZXh0TG9zdE1vZGUoU3ludGhldGljTG9zdENvbnRleHQpCiAgICAg
LCBtX2F0dHJpYnV0ZXMoYXR0cmlidXRlcykKLSAgICAsIG1fc3ludGhlc2l6ZWRFcnJvcnNUb0Nv
bnNvbGUoZmFsc2UpCisgICAgLCBtX3N5bnRoZXNpemVkRXJyb3JzVG9Db25zb2xlKHRydWUpCiAg
ICAgLCBtX251bUdMRXJyb3JzVG9Db25zb2xlQWxsb3dlZChtYXhHTEVycm9yc0FsbG93ZWRUb0Nv
bnNvbGUpCiB7CiAgICAgQVNTRVJUKG1fY29udGV4dCk7CkBAIC01NjYsOCArNTY2LDggQEAgdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnNldHVwRmxhZ3MoKQogICAgIEFTU0VSVChtX2NvbnRl
eHQpOwogCiAgICAgUGFnZSogcCA9IGNhbnZhcygpLT5kb2N1bWVudCgpLT5wYWdlKCk7Ci0gICAg
aWYgKHAgJiYgcC0+c2V0dGluZ3MoKS0+d2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKCkpCi0g
ICAgICAgIG1fc3ludGhlc2l6ZWRFcnJvcnNUb0NvbnNvbGUgPSB0cnVlOworICAgIGlmIChwKQor
ICAgICAgICBtX3N5bnRoZXNpemVkRXJyb3JzVG9Db25zb2xlID0gcC0+c2V0dGluZ3MoKS0+d2Vi
R0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKCk7CiAKICAgICBtX2lzR0xFUzJDb21wbGlhbnQgPSBt
X2NvbnRleHQtPmlzR0xFUzJDb21wbGlhbnQoKTsKICAgICBtX2lzRXJyb3JHZW5lcmF0ZWRPbk91
dE9mQm91bmRzQWNjZXNzZXMgPSBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+aXNFbmFibGVk
KCJHTF9DSFJPTUlVTV9zdHJpY3RfYXR0cmlicyIpOwpAQCAtNDUyOSw3ICs0NTI5LDggQEAgdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6Omxvc2VDb250ZXh0SW1wbChXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6Okxvc3RDb250ZXh0TW8KICAgICAgICAgaWYgKG1fY29udGV4dC0+Z2V0RXJyb3IoKSA9
PSBHcmFwaGljc0NvbnRleHQzRDo6Tk9fRVJST1IpCiAgICAgICAgICAgICBicmVhazsKICAgICB9
Ci0gICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OkNPTlRFWFRfTE9TVF9X
RUJHTCwgImxvc2VDb250ZXh0IiwgImNvbnRleHQgbG9zdCIpOworICAgIENvbnNvbGVEaXNwbGF5
UHJlZmVyZW5jZSBkaXNwbGF5ID0gKG1vZGUgPT0gUmVhbExvc3RDb250ZXh0KSA/IERpc3BsYXlJ
bkNvbnNvbGU6IERvbnREaXNwbGF5SW5Db25zb2xlOworICAgIHN5bnRoZXNpemVHTEVycm9yKEdy
YXBoaWNzQ29udGV4dDNEOjpDT05URVhUX0xPU1RfV0VCR0wsICJsb3NlQ29udGV4dCIsICJjb250
ZXh0IGxvc3QiLCBkaXNwbGF5KTsKIAogICAgIC8vIERvbid0IGFsbG93IHJlc3RvcmF0aW9uIHVu
bGVzcyB0aGUgY29udGV4dCBsb3N0IGV2ZW50IGhhcyBib3RoIGJlZW4KICAgICAvLyBkaXNwYXRj
aGVkIGFuZCBpdHMgZGVmYXVsdCBiZWhhdmlvciBwcmV2ZW50ZWQuCkBAIC01NzY5LDkgKzU3NzAs
OSBAQCBuYW1lc3BhY2UgewogCiB9IC8vIG5hbWVzcGFjZSBhbm9ueW1vdXMKIAotdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OnN5bnRoZXNpemVHTEVycm9yKEdDM0RlbnVtIGVycm9yLCBjb25z
dCBjaGFyKiBmdW5jdGlvbk5hbWUsIGNvbnN0IGNoYXIqIGRlc2NyaXB0aW9uKQordm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OnN5bnRoZXNpemVHTEVycm9yKEdDM0RlbnVtIGVycm9yLCBjb25z
dCBjaGFyKiBmdW5jdGlvbk5hbWUsIGNvbnN0IGNoYXIqIGRlc2NyaXB0aW9uLCBDb25zb2xlRGlz
cGxheVByZWZlcmVuY2UgZGlzcGxheSkKIHsKLSAgICBpZiAobV9zeW50aGVzaXplZEVycm9yc1Rv
Q29uc29sZSkgeworICAgIGlmIChtX3N5bnRoZXNpemVkRXJyb3JzVG9Db25zb2xlICYmIGRpc3Bs
YXkgPT0gRGlzcGxheUluQ29uc29sZSkgewogICAgICAgU3RyaW5nIHN0ciA9IFN0cmluZygiV2Vi
R0w6ICIpICsgR2V0RXJyb3JTdHJpbmcoZXJyb3IpICsgICI6ICIgKyBTdHJpbmcoZnVuY3Rpb25O
YW1lKSArICI6ICIgKyBTdHJpbmcoZGVzY3JpcHRpb24pOwogICAgICAgcHJpbnRHTEVycm9yVG9D
b25zb2xlKHN0cik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuaAppbmRleCA1YjBmYjkxMmY4MjJiYTI4Y2MxNWNhNGIxZDNm
ZDA3NTk3Y2M5ZWM3Li43OTNiM2Q0NDk3MTc2MjVjM2MzN2RiZWY4N2ExMzg5YTlkNzQ5NmE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuaApAQCAtNzExLDkgKzcxMSwxNCBAQCBwdWJsaWM6CiAgICAgLy8gYSBTYWZhcmkgb3IgQ2hy
b21lIGV4dGVuc2lvbi4KICAgICBib29sIGFsbG93UHJpdmlsZWdlZEV4dGVuc2lvbnMoKSBjb25z
dDsKIAorICAgIGVudW0gQ29uc29sZURpc3BsYXlQcmVmZXJlbmNlIHsKKyAgICAgICAgRGlzcGxh
eUluQ29uc29sZSwKKyAgICAgICAgRG9udERpc3BsYXlJbkNvbnNvbGUKKyAgICB9OworCiAgICAg
Ly8gV3JhcHBlciBmb3IgR3JhcGhpY3NDb250ZXh0M0Q6OnN5bnRoZXNpemVHTEVycm9yIHRoYXQg
c2VuZHMgYSBtZXNzYWdlCiAgICAgLy8gdG8gdGhlIEphdmFTY3JpcHQgY29uc29sZS4KLSAgICB2
b2lkIHN5bnRoZXNpemVHTEVycm9yKEdDM0RlbnVtLCBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUs
IGNvbnN0IGNoYXIqIGRlc2NyaXB0aW9uKTsKKyAgICB2b2lkIHN5bnRoZXNpemVHTEVycm9yKEdD
M0RlbnVtLCBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIGNvbnN0IGNoYXIqIGRlc2NyaXB0aW9u
LCBDb25zb2xlRGlzcGxheVByZWZlcmVuY2UgPSBEaXNwbGF5SW5Db25zb2xlKTsKIAogICAgIFN0
cmluZyBlbnN1cmVOb3ROdWxsKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5pbgppbmRleCA2YjBmMzhkNTkxYWU2ZTJhNTY3MWUyM2JhOGZkYTZhZWFmYTMzZWQ1Li5k
NzY5MDk3NDQwNjM0YTVkZmY3NWQwYWU0Yzg5OWU2MWU3YWZiZmE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaW4KQEAgLTk3LDcgKzk3LDcgQEAgY29tcG9zaXRlZFNjcm9sbGluZ0ZvckZyYW1lc0Vu
YWJsZWQgaW5pdGlhbD1mYWxzZQogCiBleHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZCBp
bml0aWFsPWZhbHNlCiB3ZWJHTEVuYWJsZWQgaW5pdGlhbD1mYWxzZQotd2ViR0xFcnJvcnNUb0Nv
bnNvbGVFbmFibGVkIGluaXRpYWw9ZmFsc2UKK3dlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZCBp
bml0aWFsPXRydWUKIG9wZW5HTE11bHRpc2FtcGxpbmdFbmFibGVkIGluaXRpYWw9dHJ1ZQogcHJp
dmlsZWdlZFdlYkdMRXh0ZW5zaW9uc0VuYWJsZWQgaW5pdGlhbD1mYWxzZQogYWNjZWxlcmF0ZWQy
ZENhbnZhc0VuYWJsZWQgaW5pdGlhbD1mYWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdkMDc0YmUwMTdjYmMyYzE5NzFh
NjE3ZTAzZTY5NzE1ODM2ODQ1ZTQuLjNhYWM5Mzc0YjAzY2IwMTEwYzNhNjJkMDg5MDJhMDAyYjM2
ZWY2ZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MiBAQAorMjAxMy0wMS0yNCAgQXJuYXVkIFJlbmV2aWVy
ICA8YS5yZW5ldmllckBzaXNhLnNhbXN1bmcuY29tPgorCisgICAgICAgIE1vdmUgV2ViR0xFcnJv
cnNUb0NvbnNvbGUgcGFnZSBzZXR0aW5nIHRvIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzIxOAorCisg
ICAgICAgIFNldCBXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQgdG8gZmFsc2UgZm9yIFdlYkdM
IHRlc3RzIHdoaWNoIGhhdmUKKyAgICAgICAgZXJyb3JzLiBTb21lIFdlYkdMIGVycm9yIG1lc3Nh
Z2VzIGRlcGVuZCBvbiBPcGVuR0wgaW1wbGVtZW50YXRpb25zLCBzbworICAgICAgICBsb2dnaW5n
IGVycm9yIG1lc3NhZ2VzIHdvdWxkIGxlYWQgdG8gcGxhdGZvcm0gc3BlY2lmaWMgb3V0cHV0Lgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9j
YW52YXMvd2ViZ2wvYXR0cmliLWxvY2F0aW9uLWxlbmd0aC1saW1pdHMuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC9iYWQtYXJndW1lbnRzLXRlc3QuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2NhbnZhcy93ZWJnbC9idWZmZXItYmluZC10ZXN0Lmh0bWw6CisgICAgICAgICogZmFzdC9j
YW52YXMvd2ViZ2wvYnVmZmVyLWRhdGEtYXJyYXktYnVmZmVyLmh0bWw6CisgICAgICAgICogZmFz
dC9jYW52YXMvd2ViZ2wvY29tcHJlc3NlZC10ZXgtaW1hZ2UuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2NhbnZhcy93ZWJnbC9jb250ZXh0LWF0dHJpYnV0ZXMtYWxwaGEtZGVwdGgtc3RlbmNpbC1hbnRp
YWxpYXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVz
dG9yZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRz
Lmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2Yt
Ym91bmRzLmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5n
Lmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvZnJhbWVidWZmZXItb2JqZWN0LWF0
dGFjaG1lbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9mcmFtZWJ1ZmZlci10
ZXN0Lmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvZ2V0LWFjdGl2ZS10ZXN0Lmh0
bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24t
dGVzdC5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2dsLWVuYWJsZS1lbnVtLXRl
c3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9nbC1lbnVtLXRlc3RzLmh0bWw6
CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sOgor
ICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWw6CisgICAg
ICAgICogZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdW5pZm9ybW1hdHJpeDRmdi5odG1sOgorICAgICAg
ICAqIGZhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9nbHNsLWNvbmZvcm1hbmNlLmh0bWw6CisgICAgICAgICog
ZmFzdC9jYW52YXMvd2ViZ2wvaW5jb3JyZWN0LWNvbnRleHQtb2JqZWN0LWJlaGF2aW91ci5odG1s
OgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tY29waWVzLWlu
ZGljZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9u
LXZlcmlmaWVzLXRvby1tYW55LWluZGljZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93
ZWJnbC9pbmRleC12YWxpZGF0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wv
aW52YWxpZC1wYXNzZWQtcGFyYW1zLmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wv
bnVsbC1vYmplY3QtYmVoYXZpb3VyLmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wv
b2JqZWN0LWRlbGV0aW9uLWJlaGF2aW91ci5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dl
YmdsL3Byb2dyYW0tdGVzdC5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3JlYWQt
cGl4ZWxzLXBhY2stYWxpZ25tZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wv
cmVhZC1waXhlbHMtdGVzdC5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3Njcmlw
dC10ZXN0cy90ZXhJbWFnZVRlc3QuanM6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvc2hh
ZGVyLWRlbGV0ZWQtYnktYWNjZXNzb3IuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJn
bC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dl
YmdsL3RleC1pbnB1dC12YWxpZGF0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2Vi
Z2wvdGV4LXN1Yi1pbWFnZS0yZC1iYWQtYXJncy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL3RleHR1cmUtY29tcGxldGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJn
bC90ZXh0dXJlLW5wb3QuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC90eXBlLWNv
bnZlcnNpb24tdGVzdC5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3VuaWZvcm0t
bG9jYXRpb24tbGVuZ3RoLWxpbWl0cy5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmds
L3VuaWZvcm0tbG9jYXRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJn
bC1kZXB0aC10ZXh0dXJlLmh0bWw6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wt
c3BlY2lmaWMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC10ZXh0dXJl
LWJpbmRpbmctcHJlc2VydmVkLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3Byb2ZpbGVyL3dl
YmdsL3dlYmdsLXByb2ZpbGVyLWFwaS1jaGFuZ2VzLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9y
L3Byb2ZpbGVyL3dlYmdsL3dlYmdsLXByb2ZpbGVyLWdldC1lcnJvci5odG1sOgorCiAyMDEyLTEy
LTE0ICBBcm5hdWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CiAKICAg
ICAgICAgaW5jb25zaXN0ZW5jeSBpbiBkcmF3SW1hZ2Ugd2l0aCB0YXJnZXQgcmVjdCBuZWdhdGl2
ZSBkaW1lbnNpb25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
YXR0cmliLWxvY2F0aW9uLWxlbmd0aC1saW1pdHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2F0dHJpYi1sb2NhdGlvbi1sZW5ndGgtbGltaXRzLmh0bWwKaW5kZXggNzQ3OGQ3
Y2JkNTU5OWYwMjcwOGM0YTE4NDQyMWU4ZmZlMzE5NGMxNi4uZjhlMWE3YzlhNjliZWY3YjQ5MTAz
OWUyMjk5NDFiNTMxMmU3YTkxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvYXR0cmliLWxvY2F0aW9uLWxlbmd0aC1saW1pdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9hdHRyaWItbG9jYXRpb24tbGVuZ3RoLWxpbWl0cy5odG1sCkBA
IC01MSw2ICs1MSw4IEBAIHZvaWQgbWFpbigpIHsKIGlmICh3aW5kb3cuaW5pdE5vbktocm9ub3NG
cmFtZXdvcmspIHsKICAgICB3aW5kb3cuaW5pdE5vbktocm9ub3NGcmFtZXdvcmsoZmFsc2UpOwog
fQoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOwogCiB2YXIgd3R1ID0gV2ViR0xU
ZXN0VXRpbHM7CiB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJleGFtcGxlIikpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvYmFkLWFyZ3VtZW50cy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC9iYWQtYXJndW1lbnRzLXRlc3QuaHRtbAppbmRleCBiMjk5MzMyNGQzYWMwNGMyZjg0NGZl
YWQwMjlkYjU1MTk2NmY0ZWFmLi4yN2U5NWQ0ZmVhNGE4ODlkMzVhNmRlMjM2NGRhMDM1M2E0YTQw
ZmVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9iYWQtYXJndW1l
bnRzLXRlc3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9iYWQtYXJn
dW1lbnRzLXRlc3QuaHRtbApAQCAtOSw2ICs5LDkgQEAKIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgogCiA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIg
d3R1ID0gV2ViR0xUZXN0VXRpbHM7CiBkZXNjcmlwdGlvbigiVGVzdHMgY2FsbGluZyBXZWJHTCBB
UElzIHdpdGggd3JvbmcgYXJndW1lbnQgdHlwZXMiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvYnVmZmVyLWJpbmQtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvYnVmZmVyLWJpbmQtdGVzdC5odG1sCmluZGV4IDY5NWQzZmNiNTQw
NjNmMzZjMzFmYjU1OWI4OGVlZDYyMjJiYjhlNWMuLjNlNjI5NjdkYTM3MjVkZDdiMDhkZDQxNzFm
NzAyOGE3NTFlMWFhZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2J1ZmZlci1iaW5kLXRlc3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9idWZmZXItYmluZC10ZXN0Lmh0bWwKQEAgLTE2LDYgKzE2LDkgQEAgZGVzY3JpcHRpb24oIkNo
ZWNrcyBhIGJ1ZmZlciBjYW4gb25seSBiZSBib3VuZCB0byAxIHRhcmdldC4iKTsKIGRlYnVnKCIi
KTsKIGRlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOwogCitpZiAod2luZG93LmludGVybmFscykK
KyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5h
YmxlZChmYWxzZSk7CisKIHZhciBnbCA9IGNyZWF0ZTNEQ29udGV4dChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY2FudmFzIikpOwogaWYgKCFnbCkgewogICB0ZXN0RmFpbGVkKCJjb250ZXh0IGRv
ZXMgbm90IGV4aXN0Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9idWZmZXItZGF0YS1hcnJheS1idWZmZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2J1ZmZlci1kYXRhLWFycmF5LWJ1ZmZlci5odG1sCmluZGV4IDkzMmFhYjk1NGI2ODkz
ZDUyMjc2OTkwYTU0NmJhNzA5MWUyYTc5YjUuLjM0NGU3ZmNlZjA2ODRiNmNiZjE2NGZhZGFlNzRi
YjNhZTdiMWM0YmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2J1
ZmZlci1kYXRhLWFycmF5LWJ1ZmZlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2J1ZmZlci1kYXRhLWFycmF5LWJ1ZmZlci5odG1sCkBAIC0xMiw2ICsxMiw5IEBAIGRl
c2NyaXB0aW9uKCJUZXN0IGJ1ZmZlckRhdGEvYnVmZmVyU3ViRGF0YSB3aXRoIEFycmF5QnVmZmVy
IGlucHV0Iik7CiAKIGRlYnVnKCdSZWdyZXNzaW9uIHRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTg4NCI+aHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQxODg0PC9hPiA6IDxjb2RlPkltcGxlbWVudCBidWZmZXJE
YXRhIGFuZCBidWZmZXJTdWJEYXRhIHdpdGggQXJyYXlCdWZmZXIgYXMgaW5wdXQ8L2NvZGU+Jyk7
CiAKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIGdsID0gY3JlYXRl
M0RDb250ZXh0KCk7CiBzaG91bGRCZU5vbk51bGwoImdsIik7CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbXByZXNzZWQtdGV4LWltYWdlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb21wcmVzc2VkLXRleC1pbWFnZS5odG1sCmluZGV4
IDVlZWE0MmI4ZTk5MDNkODQ2NjA3NTAyMzEwMjU2ZjIwNGZkZTNlMDcuLmFiMTk1MGQ0MDlmY2U3
NWRjOTRiNDYwMWJkYTJjZGRlZmZkMjk3MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2NvbXByZXNzZWQtdGV4LWltYWdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvY29tcHJlc3NlZC10ZXgtaW1hZ2UuaHRtbApAQCAtMTUsNiArMTUs
OSBAQCBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25z
IGNvcnJlY3RseSBpbXBsZW1lbnQgY29tcHJlcwogCiBkZWJ1ZygiIik7CiAKK2lmICh3aW5kb3cu
aW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNU
b0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwogdmFy
IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOwogdmFyIGdsID0gd3R1
LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvY29udGV4dC1hdHRyaWJ1dGVzLWFscGhhLWRlcHRoLXN0ZW5jaWwtYW50aWFs
aWFzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWF0dHJpYnV0
ZXMtYWxwaGEtZGVwdGgtc3RlbmNpbC1hbnRpYWxpYXMuaHRtbAppbmRleCBjMTdjZTcyYjY2Zjlj
ZTM0MzIxZDJjNjM1MWNhNDc4YTVlNDM1YzU1Li4yNjJjMmMyNjUxNzU3NDRkZDhhZGZkOWY1ZTNh
ZjFmNWZlYWNmZGI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWF0dHJpYnV0ZXMtYWxwaGEtZGVwdGgtc3RlbmNpbC1hbnRpYWxpYXMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWF0dHJpYnV0ZXMtYWxwaGEt
ZGVwdGgtc3RlbmNpbC1hbnRpYWxpYXMuaHRtbApAQCAtNDgsNiArNDgsOSBAQCBmdW5jdGlvbiBp
bml0KCkKICAgICAgICAgd2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKHRydWUpOwogICAg
IH0KIAorICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisKICAgICBk
ZXNjcmlwdGlvbignVmVyaWZ5IFdlYkdMQ29udGV4dEF0dHJpYnV0ZXMgYXJlIHdvcmtpbmcgYXMg
c3BlY2lmaWVkLCBpbmNsdWRpbmcgYWxwaGEsIGRlcHRoLCBzdGVuY2lsLCBhbnRpYWxpYXMsIGJ1
dCBub3QgcHJlbXVsdGlwbGllZEFscGhhJyk7CiAKICAgICBydW5UZXN0KCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QtcmVzdG9yZWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0b3JlZC5o
dG1sCmluZGV4IDA3NTE2ZDk4MGEyMjFhZTRhZTRhMDEzMDQxNzg4MGMxMDc0ZDM0M2UuLmExNWNj
MTIxOThlOTc5MjQ2NWIzNjYwYjVhOTM2MmRiMGYxYjc5YjggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0b3JlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvbnRleHQtbG9zdC1yZXN0b3JlZC5odG1sCkBA
IC02LDYgKzYsOSBAQAogPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIg
d3R1ID0gV2ViR0xUZXN0VXRpbHM7CiB2YXIgY2FudmFzOwogdmFyIGdsOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvY29udGV4dC1sb3N0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LWxvc3QuaHRtbAppbmRleCA1MjYxZDI3NWQ0
OWI0NTNkNGQzMzZhODQ5NmM0MWI2NmIzNzEwYTRkLi45ZTJmMDYxZjc5N2RiZmUxMzQ1ZTRkZTg3
MTI5MTgyYWZjZTEwODc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9jb250ZXh0LWxvc3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9j
b250ZXh0LWxvc3QuaHRtbApAQCAtNiw2ICs2LDkgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFi
bGVkKGZhbHNlKTsKKwogdmFyIHd0dTsKIHZhciBjYW52YXM7CiB2YXIgZ2w7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2YtYm91bmRz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQtb2Yt
Ym91bmRzLmh0bWwKaW5kZXggNWI1ZmRmYzEwZmFhMTE2NzczMzlmN2E5ZTkyZWRlMjZmYTJkOWM3
OC4uOTU1ZTU2ZjcyMmYxMTA3ZDk5MzVlNGRiY2Q2MzAzOGEyZWQzYmE5NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctYXJyYXlzLW91dC1v
Zi1ib3VuZHMuaHRtbApAQCAtMTAsNiArMTAsOSBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJU
ZXN0IG9mIGRyYXdBcnJheXMgd2l0aCBvdXQtb2YtYm91bmRzIHBhcmFtZXRlcnMiKTsKIAoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJH
TEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgY29udGV4dCA9IGNyZWF0ZTNE
Q29udGV4dCgpOwogdmFyIHByb2dyYW0gPSBsb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRz
LW91dC1vZi1ib3VuZHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXct
ZWxlbWVudHMtb3V0LW9mLWJvdW5kcy5odG1sCmluZGV4IGJiYTRlNzE2MThmOTFjYzk3ZjU3NGEy
NTQ4ZmUxNjdhNDFmZTQ2NGUuLjE5NGQ2MTViYzEwNjFjODYwMTU2NGY2YzMxNDZmMWQwNGY5NDM5
YTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctZWxlbWVu
dHMtb3V0LW9mLWJvdW5kcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5kcy5odG1sCkBAIC0xMCw2ICsxMCw5IEBACiA8c2Ny
aXB0PgogZGVzY3JpcHRpb24oIlRlc3Qgb2YgZHJhd0VsZW1lbnRzIHdpdGggb3V0LW9mLWJvdW5k
cyBwYXJhbWV0ZXJzIik7CiAKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwog
dmFyIGNvbnRleHQgPSBjcmVhdGUzRENvbnRleHQoKTsKIHZhciBwcm9ncmFtID0gbG9hZFN0YW5k
YXJkUHJvZ3JhbShjb250ZXh0KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC9lcnJvci1yZXBvcnRpbmcuaHRtbAppbmRleCAwOWNlODQ0YTE1M2ZiMjMyNTNkMDEzZDRm
YWI5ZTAzZjljMGFjMDZjLi42YjAyYTQxYjdlMTc0YTMyM2QxOTlmZjAyMjk1ODUzYjg2MTUwOGI0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRp
bmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRp
bmcuaHRtbApAQCAtMTAsNiArMTAsOSBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0cyBn
ZW5lcmF0aW9uIG9mIHN5bnRoZXRpYyBhbmQgcmVhbCBHTCBlcnJvcnMiKTsKIAoraWYgKHdpbmRv
dy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9y
c1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgY29udGV4dCA9IGNyZWF0ZTNEQ29udGV4
dCgpOwogdmFyIHByb2dyYW0gPSBsb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9mcmFtZWJ1ZmZlci1vYmplY3Qt
YXR0YWNobWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZnJhbWVidWZm
ZXItb2JqZWN0LWF0dGFjaG1lbnQuaHRtbAppbmRleCA4Mjg4N2M3YTZmMWQ3ZWU0OGVkNzYyMDY0
Yzc0MDRlN2NlYzE5YzZmLi5jYTdlYmE3ZDgyOTFhMGE2ODM2ZTMzYjUxODRmMzRkNmE4ZTYwYmVm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9mcmFtZWJ1ZmZlci1v
YmplY3QtYXR0YWNobWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2ZyYW1lYnVmZmVyLW9iamVjdC1hdHRhY2htZW50Lmh0bWwKQEAgLTExLDYgKzExLDkgQEAKIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogCiA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVu
YWJsZWQoZmFsc2UpOworCiB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CiB2YXIgZ2w7CiB2YXIg
ZmJvOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZnJhbWVidWZm
ZXItdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZnJhbWVidWZmZXIt
dGVzdC5odG1sCmluZGV4IDU4ZGIxMzY5N2MxNzNlZDQyZDRhOTkwMTQ1NTZjZjgwMWU3MDk5ZDAu
LmFlN2ViNThlZmI0NzUwYzUyM2I0MGI1ZGJlNWE4NDUzZmIzY2MzZGYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2ZyYW1lYnVmZmVyLXRlc3QuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9mcmFtZWJ1ZmZlci10ZXN0Lmh0bWwKQEAgLTE3
LDYgKzE3LDkgQEAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgZnJhbWVidWZmZXIvcmVuZGVyYnVm
ZmVyLXJlbGF0ZWQgZnVuY3Rpb25zIik7CiBkZWJ1ZygiIik7CiBkZWJ1ZygiQ2FudmFzLmdldENv
bnRleHQiKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgY2Fu
dmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwogdmFyIGdsID0gY3JlYXRl
M0RDb250ZXh0KGNhbnZhcyk7CiBpZiAoIWdsKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC9nZXQtYWN0aXZlLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2dldC1hY3RpdmUtdGVzdC5odG1sCmluZGV4IDcwOGYxNmIwZDVkY2RkY2U5
ZDIyM2EzYWI5M2VhYmZjNzk1NzIxODkuLjRkNjMxY2Q0OGUyODY5OWY3ZjE1Y2I4NDk0NjAxMDQ0
NTA5ZGU5ZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dldC1h
Y3RpdmUtdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dldC1h
Y3RpdmUtdGVzdC5odG1sCkBAIC0xMSw2ICsxMSw5IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24o
IlRlc3Qgb2YgZ2V0QWN0aXZlQXR0cmliIGFuZCBnZXRBY3RpdmVVbmlmb3JtIik7CiAKK2lmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xF
cnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIGNvbnRleHQgPSBjcmVhdGUzRENv
bnRleHQoKTsKIHZhciBjb250ZXh0MiA9IGNyZWF0ZTNEQ29udGV4dCgpOwogdmFyIHByb2dyYW0g
PSBsb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tdGVzdC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtYmluZC1hdHRyaWItbG9jYXRpb24tdGVzdC5o
dG1sCmluZGV4IDE4NDM2MGZhZDZkZGZmYWZiYmY1ZDBkYjE5YzMwNGI2MzFlNWEzYTYuLjNiOTlj
NTdkNDhjOTlmNGJlZWUwODIxNGY2ZTQxMmZiMjBiN2RmMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLXRlc3QuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1iaW5kLWF0dHJpYi1sb2NhdGlv
bi10ZXN0Lmh0bWwKQEAgLTM0LDYgKzM0LDkgQEAgdm9pZCBtYWluKCkKIDxzY3JpcHQ+CiBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25zIGRvbid0IGFs
bG93IG5hbWVzIHRoYXQgc3RhcnQgd2l0aCAnZ2xfJyB3aGVuIGNhbGxpbmcgYmluZEF0dHJpYkxv
Y2F0aW9uLiIpOwogCitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisKIGRlYnVn
KCIiKTsKIGRlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1lbmFibGUtZW51bS10ZXN0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1lbmFibGUtZW51bS10ZXN0Lmh0bWwKaW5kZXggZGE5
Yzk5YjZkY2UwZDA5ZDYyYTUzZDMyZmU2MWRkYTVhMTc5Y2ZiZC4uNTZlY2QwYmEyZTk2ZDRhNjVk
OWFjNDllYmIxNjBlNDk2NzJlZmI1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvZ2wtZW5hYmxlLWVudW0tdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2dsLWVuYWJsZS1lbnVtLXRlc3QuaHRtbApAQCAtMTgsNiArMTgsOSBAQCBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViR0wgaW1wbGVtZW50YXRpb25zIGFsbG93
IE9wZW5HTCBFUyAyLjAgZmVhdHVyZQogZGVidWcoIiIpOwogZGVidWcoIkNhbnZhcy5nZXRDb250
ZXh0Iik7CiAKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIGdsID0g
Y3JlYXRlM0RDb250ZXh0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKSk7CiBpZiAo
IWdsKSB7CiAgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWVudW0tdGVzdHMuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLWVudW0tdGVzdHMuaHRtbAppbmRleCBkZmVl
NDZiNjI2N2RhNWUzM2RhMDU5NDg4MWY1NDAxNTM2NzVmOWEzLi4yNWQ1ZGMwYWVjYTFiMGRhYzU0
YTgwNjgxNGZiNGQyZWFkZTBiMDVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9nbC1lbnVtLXRlc3RzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvZ2wtZW51bS10ZXN0cy5odG1sCkBAIC0xOCw2ICsxOCw5IEBAIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgZW5zdXJlcyB2YXJpb3VzIFdlYkdMIGZ1bmN0aW9ucyBmYWlsIHdoZW4gcGFzc2Vk
IG5vbiBPcGVuCiBkZWJ1ZygiIik7CiBkZWJ1ZygiQ2FudmFzLmdldENvbnRleHQiKTsKIAoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJH
TEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgZ2wgPSBjcmVhdGUzRENvbnRl
eHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpKTsKIGlmICghZ2wpIHsKICAgdGVz
dEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtb2JqZWN0LWdldC1jYWxscy5odG1sCmluZGV4IDRkOGUy
MzVmYjU0OGMwNmFjOTY0OTg1NzM1OTFjNmRhNDdhZmU0OTcuLmEwZjJhZjhhODUwZTYwODM1NmQ3
YjFjMWIxZWY0NWFkMTZhM2EwMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL2dsLW9iamVjdC1nZXQtY2FsbHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9nbC1vYmplY3QtZ2V0LWNhbGxzLmh0bWwKQEAgLTEyLDYgKzEyLDkgQEAKIDxz
Y3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdCBvZiBnZXQgY2FsbHMgYWdhaW5zdCBHTCBvYmplY3Rz
IGxpa2UgZ2V0QnVmZmVyUGFyYW1ldGVyLCBldGMuIik7CiAKK2lmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVF
bmFibGVkKGZhbHNlKTsKKwogZnVuY3Rpb24gc2l6ZUluQnl0ZXModHlwZSkgewogICBzd2l0Y2gg
KHR5cGUpIHsKICAgY2FzZSBnbC5CWVRFOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvZ2wtdW5pZm9ybS1hcnJheXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2dsLXVuaWZvcm0tYXJyYXlzLmh0bWwKaW5kZXggMjllYzU0NWY5ZDNhNDlmYzNj
NGYxMDRlNDI2MmZhNTJlMDUzMWQ1Yi4uYzVhM2FjNzNjZDg1NmZlM2M4OGEzMDFhZTJmMWI1OTA3
ZjVkZGVkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdW5p
Zm9ybS1hcnJheXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC11
bmlmb3JtLWFycmF5cy5odG1sCkBAIC04MSw2ICs4MSw5IEBAIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgZW5zdXJlcyBXZWJHTCBpbXBsZW1lbnRhdGlvbnMgaGFuZGxlIHVuaWZvcm0gYXJyYXlzIGNv
cnJlCiAKIGRlYnVnKCIiKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOwor
CiB2YXIgZ2wgPSBjcmVhdGUzRENvbnRleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImV4YW1w
bGUiKSk7CiAKIHZhciB2U3JjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZzaGFkZXIiKS50
ZXh0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdW5pZm9y
bW1hdHJpeDRmdi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdW5pZm9y
bW1hdHJpeDRmdi5odG1sCmluZGV4IDZjOWFjMDNjMDM0NDA1ZGI5MTc5OWZhMTNmYzc0N2I4MjA4
ZjAwOGUuLjVkODc3NzNmYTUwMjQyMzIwZGJkODA2OWUxMjY1NDE2ZDIwZjJiZDkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLXVuaWZvcm1tYXRyaXg0ZnYuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC11bmlmb3JtbWF0cml4NGZ2
Lmh0bWwKQEAgLTM2LDYgKzM2LDkgQEAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIFdl
YkdMIGltcGxlbWVudGF0aW9ucyBoYW5kbGUgdW5pZm9ybU1hdHJpeCBpbiBhIE8KIGRlYnVnKCIi
KTsKIGRlYnVnKCJDaGVja2luZyBnbC51bmlmb3JtTWF0cml4LiIpOwogCitpZiAod2luZG93Lmlu
dGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9D
b25zb2xlRW5hYmxlZChmYWxzZSk7CisKIGdsID0gaW5pdFdlYkdMKCJleGFtcGxlIiwgInZzaGFk
ZXIiLCAiZnNoYWRlciIsIFsgInZQb3NpdGlvbiJdLCBbIDAsIDAsIDAsIDEgXSwgMSk7CiBmb3Ig
KHZhciBpaSA9IDI7IGlpIDw9IDQ7ICsraWkpIHsKICAgdmFyIGxvYyA9IGdsLmdldFVuaWZvcm1M
b2NhdGlvbihnbC5wcm9ncmFtLCAid29ybGQiICsgaWkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtdmVydGV4YXR0cmlicG9pbnRlci5odG1sCmluZGV4
IGNlYTM4OWFkOWY2MWQ1ZjI0MGYyOThjYmZmYmIzZGIyYzgyOGI5MDIuLjhjZTUyNTQ5MmM0Yjcx
NjQ5Njg2Y2E1NWRiNGIyZmQ5MTE3YjllN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2dsLXZlcnRleGF0dHJpYnBvaW50ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC12ZXJ0ZXhhdHRyaWJwb2ludGVyLmh0bWwKQEAgLTE5LDYg
KzE5LDkgQEAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdmVydGV4QXR0cmliUG9pbnRl
ciBiZWhhdmlvcnMgaW4gV2ViR0wuIik7CiBkZWJ1ZygiIik7CiBkZWJ1ZygiQ2FudmFzLmdldENv
bnRleHQiKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgd3R1
ID0gV2ViR0xUZXN0VXRpbHM7CiB2YXIgZ2wgPSBjcmVhdGUzRENvbnRleHQoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNhbnZhcyIpKTsKIGlmICghZ2wpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL2dsc2wtY29uZm9ybWFuY2UuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL2dsc2wtY29uZm9ybWFuY2UuaHRtbAppbmRleCBhZWFhMGJmNzM5
MDZlNTAzMWIzNWM1NjczZjg1NjlkMGZlNGY2ODEwLi4wNjJlNTBmZmVjN2JjMDMxYWZlZDczZGUy
ZTY0ZDZlZDkyMDMxMjRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9nbHNsLWNvbmZvcm1hbmNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvZ2xzbC1jb25mb3JtYW5jZS5odG1sCkBAIC0yMjEsNiArMjIxLDkgQEAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCBlbnN1cmVzIFdlYkdMIGltcGxlbWVudGF0aW9ucyBhbGxvdyBwcm9wZXIgR0xF
UzIgc2hhZGVycwogZGVidWcoIiIpOwogZGVidWcoIkNhbnZhcy5nZXRDb250ZXh0Iik7CiAKK2lm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2Vi
R0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIHd0dSA9IFdlYkdMVGVzdFV0
aWxzOwogd3R1LmxvZ2dpbmdPZmYoKTsKIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL2luY29ycmVjdC1jb250ZXh0LW9iamVjdC1iZWhhdmlvdXIuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2luY29ycmVjdC1jb250ZXh0LW9iamVj
dC1iZWhhdmlvdXIuaHRtbAppbmRleCA0ZmExYzI3ZDk3NGZhZGFiYTlhMTNiOWE0YmRhZWI4ZmEx
NTg3MGI1Li5lNTI5YjY5MWQ3Njc4MTM5MDk1NjQwOTFlYzU1NjQ1MzJjYzY2Y2JiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmNvcnJlY3QtY29udGV4dC1vYmpl
Y3QtYmVoYXZpb3VyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5j
b3JyZWN0LWNvbnRleHQtb2JqZWN0LWJlaGF2aW91ci5odG1sCkBAIC0xMCw2ICsxMCw5IEBACiA8
c2NyaXB0PgogZGVzY3JpcHRpb24oIlRlc3RzIGNhbGxpbmcgV2ViR0wgQVBJcyB3aXRoIG9iamVj
dHMgZnJvbSBvdGhlciBjb250ZXh0cyIpOwogCitpZiAod2luZG93LmludGVybmFscykKKyAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChm
YWxzZSk7CisKIHZhciBjb250ZXh0QSA9IGNyZWF0ZTNEQ29udGV4dCgpOwogdmFyIGNvbnRleHRC
ID0gY3JlYXRlM0RDb250ZXh0KCk7CiB2YXIgcHJvZ3JhbUEgPSBsb2FkU3RhbmRhcmRQcm9ncmFt
KGNvbnRleHRBKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2lu
ZGV4LXZhbGlkYXRpb24tY29waWVzLWluZGljZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tY29waWVzLWluZGljZXMuaHRtbAppbmRleCBhNWE3
OTI4NmIyNzYxMTdiOTE3OGEyYjNjNjk0YzBiODZmMjExOGFiLi42ZTE1ZTIwZTYzOTE3MTc1OGQ1
YmJmNjNjNTcxYTBjNjZjZDFmMGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLWNvcGllcy1pbmRpY2VzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi1jb3BpZXMtaW5kaWNlcy5o
dG1sCkBAIC0xMCw2ICsxMCw5IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCBj
bGllbnQgZGF0YSBpcyBhbHdheXMgY29waWVkIGR1cmluZyBidWZmZXJEYXRhIGFuZCBidWZmZXJT
dWJEYXRhIGNhbGxzLCBiZWNhdXNlIG90aGVyd2lzZSB0aGUgZGF0YSB0aGUgR0wgdXNlcyB0byBk
cmF3IG1heSBkaWZmZXIgZnJvbSB0aGF0IGNoZWNrZWQgYnkgdGhlIGluZGV4IHZhbGlkYXRpb24g
Y29kZS4nKQogCitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisKIHZhciBjb250
ZXh0ID0gY3JlYXRlM0RDb250ZXh0KCk7CiB2YXIgcHJvZ3JhbSA9IGxvYWRTdGFuZGFyZFByb2dy
YW0oY29udGV4dCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L2luZGV4LXZhbGlkYXRpb24tdmVyaWZpZXMtdG9vLW1hbnktaW5kaWNlcy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi12ZXJpZmllcy10b28tbWFu
eS1pbmRpY2VzLmh0bWwKaW5kZXggMDRlYjQ5MzVhNWU2ZjM3ZTEyNjJkNGI4ZDVkMTg4NTIzY2Q4
NzI0Zi4uMzJlOWRmZWNmMmI0MjM2Nzg4ODQwMTU0MDgyMmJiZjMzNTA3N2I2NyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi12ZXJpZmll
cy10b28tbWFueS1pbmRpY2VzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvaW5kZXgtdmFsaWRhdGlvbi12ZXJpZmllcy10b28tbWFueS1pbmRpY2VzLmh0bWwKQEAgLTEw
LDYgKzEwLDkgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBpbmRleCB2YWxp
ZGF0aW9uIGZvciBkcmF3RWxlbWVudHMgZG9lcyBub3QgZXhhbWluZSB0b28gbWFueSBpbmRpY2Vz
Jyk7CiAKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIGNvbnRleHQg
PSBjcmVhdGUzRENvbnRleHQoKTsKIHZhciBwcm9ncmFtID0gbG9hZFN0YW5kYXJkUHJvZ3JhbShj
b250ZXh0KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5k
ZXgtdmFsaWRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgt
dmFsaWRhdGlvbi5odG1sCmluZGV4IGNiOTVkNDA4MGU5NDlhYTc3MDdiOTdkMGI1MjcyNTBmZGZl
ZmIzNzcuLjVjOTZiYWJmZmRiMTdlZGI0ZjMxOTZhZWE2NDU4MjU2ODVmYmI1NGYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLmh0bWwK
QEAgLTEzLDYgKzEzLDkgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBpbmRl
eCB2YWxpZGF0aW9uIHZlcmlmaWVzIHRoZSBjb3JyZWN0IG51bWJlciBvZiBpbmRpY2VzIik7CiAK
K2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogZnVuY3Rpb24gc2l6ZUluQnl0
ZXModHlwZSkgewogICBzd2l0Y2ggKHR5cGUpIHsKICAgY2FzZSBnbC5CWVRFOgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvaW52YWxpZC1wYXNzZWQtcGFyYW1zLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbnZhbGlkLXBhc3NlZC1wYXJhbXMu
aHRtbAppbmRleCAyYWVlMmQyYmFmZjE0N2ViY2MwYTcyNjY0ZGUzYjU4OWVkYTI5ZGU4Li5hMDUw
Njc0YzdhYTZkNWFhZDg0OGZmZGFiNjkyMDE5NDdlYTkyYzMxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbApA
QCAtMTEsNiArMTEsOSBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0IGZvciBpbnZhbGlk
IHBhc3NlZCBwYXJhbWV0ZXJzIik7CiAKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNl
KTsKKwogdmFyIGNvbnRleHQgPSBjcmVhdGUzRENvbnRleHQoKTsKIAogZGVidWcoIiIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZp
b3VyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1iZWhh
dmlvdXIuaHRtbAppbmRleCBmYzBkMDA5ZjU5NzliYmVmNzM3YmU1OWExMWU3YThjN2YyMzIzZjg1
Li4wMjgzODU1MjY5NTVlMDEzYjNjYTY3YzBkZGU5NjhiOGYyZmU1Yzk4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1iZWhhdmlvdXIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9udWxsLW9iamVjdC1iZWhhdmlvdXIu
aHRtbApAQCAtMTIsNiArMTIsOSBAQAogdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwogZGVzY3Jp
cHRpb24oIlRlc3RzIGNhbGxpbmcgV2ViR0wgQVBJcyB3aXRob3V0IHByb3ZpZGluZyB0aGUgbmVj
ZXNzYXJ5IG9iamVjdHMiKTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOwor
CiB2YXIgY29udGV4dCA9IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKIHZhciBwcm9ncmFtID0gd3R1
LmxvYWRTdGFuZGFyZFByb2dyYW0oY29udGV4dCk7CiB2YXIgc2hhZGVyID0gd3R1LmxvYWRTdGFu
ZGFyZFZlcnRleFNoYWRlcihjb250ZXh0KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL29iamVjdC1kZWxldGlvbi1iZWhhdmlvdXIuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL29iamVjdC1kZWxldGlvbi1iZWhhdmlvdXIuaHRtbAppbmRleCAw
YzZiMTE1ZGE5NWZjNTE0ZjlmZjc5YTYwZjE0NzRkZDI0YmRmZDNiLi4yZjJlNzQ5MjJmNDc1NGUz
Y2Y5MGI0YzQ4Zjg4NjgzZDg3YTFjZWE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9vYmplY3QtZGVsZXRpb24tYmVoYXZpb3VyLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvb2JqZWN0LWRlbGV0aW9uLWJlaGF2aW91ci5odG1sCkBAIC0x
Myw2ICsxMyw5IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRlc3RzIGRlbGV0aW9uIGJlaGF2
aW9yIGZvciB0ZXh0dXJlLCByZW5kZXJidWZmZXIsIHNoYWRlciwgYW5kIHByb2dyYW0iKTsKIAor
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRX
ZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgd3R1ID0gV2ViR0xUZXN0
VXRpbHM7CiB2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7CiB2YXIgc2hvdWxkR2VuZXJh
dGVHTEVycm9yID0gd3R1LnNob3VsZEdlbmVyYXRlR0xFcnJvcjsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Byb2dyYW0tdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvcHJvZ3JhbS10ZXN0Lmh0bWwKaW5kZXggYzA2MzMzNDkwNjYxMjEw
ZmRkZTVjZWI3NjVmY2UyZTYxZmM0YThkNy4uZWE2MjYzZjEzZjc4OTAwMTBlYzFkNWU1ODNiYWIy
ZjkwNTE0ZjY4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvcHJv
Z3JhbS10ZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvcHJvZ3Jh
bS10ZXN0Lmh0bWwKQEAgLTE3LDYgKzE3LDkgQEAgZnVuY3Rpb24gZ28oKSB7CiAgICAgZGVidWco
IiIpOwogICAgIGRlYnVnKCJDYW52YXMuZ2V0Q29udGV4dCIpOwogCisgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJv
cnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogICAgIHZhciBnbCA9IGNyZWF0ZTNEQ29udGV4
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIikpOwogICAgIGlmICghZ2wpIHsKICAg
ICAgICAgdGVzdEZhaWxlZCgiY29udGV4dCBkb2VzIG5vdCBleGlzdCIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvcmVhZC1waXhlbHMtcGFjay1hbGlnbm1lbnQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3JlYWQtcGl4ZWxzLXBhY2stYWxp
Z25tZW50Lmh0bWwKaW5kZXggMTk1NTY1NWRjZDI0OGJiOTEyZmJkNzk3NzM4NGNhMTBhZDM1YjU5
OS4uYWJjZGNlZDhkYTAzMmQ0ZTUxOTJiOTUwMTNkMDQzOGFhOGU2ZWEwNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvcmVhZC1waXhlbHMtcGFjay1hbGlnbm1lbnQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZWFkLXBpeGVscy1wYWNr
LWFsaWdubWVudC5odG1sCkBAIC0zMSw2ICszMSw4IEBAIHZvaWQgbWFpbigpCiA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQ+Citp
ZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdl
YkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CiAKIC8vIFRoZSBiZWxvdyBkZWNsYXJh
dGlvbnMgbmVlZCB0byBiZSBnbG9iYWwgZm9yICJzaG91bGRCZSIgdG8gc2VlIHRoZW0KIHZhciBn
bCA9IG51bGw7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZWFk
LXBpeGVscy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZWFkLXBp
eGVscy10ZXN0Lmh0bWwKaW5kZXggZDRhZWU0ZWNlZjdiNDIxOThkMzMzZTgyYmE4YzM3MGFjNmQ4
YzU0Ni4uZTY0MTBlNWM1ZmM4YTZjMzI2NjYzMGI3OThmYTM2YWU3ODlhNzc1OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvcmVhZC1waXhlbHMtdGVzdC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3JlYWQtcGl4ZWxzLXRlc3QuaHRtbApA
QCAtMTQsNiArMTQsOSBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJDaGVja3MgdGhhdCBSZWFk
UGl4ZWxzIHdvcmtzIGFzIGV4cGVjdGVkLiIpOwogCitpZiAod2luZG93LmludGVybmFscykKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxl
ZChmYWxzZSk7CisKIHZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKIHZhciBjYW52YXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpOwogdmFyIGdsID0gY3JlYXRlM0RDb250ZXh0
KGNhbnZhcyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9zY3Jp
cHQtdGVzdHMvdGV4SW1hZ2VUZXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
c2NyaXB0LXRlc3RzL3RleEltYWdlVGVzdC5qcwppbmRleCA2MjBmM2ZlMmE4YzRhN2U1ODlkMTM2
ZDJlZWYzNjNhOTIzNzJmZWQ5Li5jMWE5ZDRlMTBmNDc0ZTNjNWJkMTIzNTIwNTVlOTI0OThlOWM2
NGFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9zY3JpcHQtdGVz
dHMvdGV4SW1hZ2VUZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Nj
cmlwdC10ZXN0cy90ZXhJbWFnZVRlc3QuanMKQEAgLTEsNSArMSw4IEBACiBkZXNjcmlwdGlvbigi
VGVzdCBvZiB0ZXhJbWFnZTJkIGFuZCB0ZXhTdWJJbWFnZTJkIik7CiAKK2lmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0Nv
bnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIGNvbnRleHQgPSBjcmVhdGUzRENvbnRleHQoKTsK
IHZhciBpbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOwogdmFyIHZpZGVvID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1kZWxldGVkLWJ5LWFjY2Vzc29yLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItZGVsZXRlZC1ieS1hY2Nlc3Nvci5odG1s
CmluZGV4IDRjYmQ0MWViNjI1NTU4MjVlZmYwZGZiNTMwYjY5MTI5ZTY0NDU3N2IuLjE1MzQ4MTgy
NjZkM2MwMWY5ZTdhMmM1ODk0MGY1MmEyYjYyYTM0NDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1kZWxldGVkLWJ5LWFjY2Vzc29yLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLWRlbGV0ZWQtYnktYWNjZXNzb3Iu
aHRtbApAQCAtMTIsNiArMTIsOSBAQAogCiBkZXNjcmlwdGlvbigiVmVyaWZpZXMgdGhhdCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OmdldEF0dGFjaGVkU2hhZGVycyBkb2Vzbid0IGNyYXNoIHdoZW4g
YW4gYWNjZXNzb3IgcHJvcGVydHkgaXMgZGVmaW5lZCBvbiBBcnJheS5wcm90b3R5cGUuIik7CiAK
K2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogY29udGV4dCA9IGNyZWF0ZTNE
Q29udGV4dCgpOwogcHJvZ3JhbSA9IGNvbnRleHQuY3JlYXRlUHJvZ3JhbSgpOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1h
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLXByZWNpc2lvbi1m
b3JtYXQuaHRtbAppbmRleCBiODBmMzg1MGJjMWZhMzBjYzdhYjAwNjFiZjlmMDA2ZTY4Nzg5MDhj
Li40ZWJmNjNhMTVjNjk3YmUxZjViZjg0NGFlNzRlYjU4ZTBiYzAzMTU3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3NoYWRlci1wcmVjaXNpb24tZm9y
bWF0Lmh0bWwKQEAgLTE3LDYgKzE3LDkgQEAgaWYgKHdpbmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1l
d29yaykgewogICAgIHdpbmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yayh0cnVlKTsKIH0KIAor
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRX
ZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgd3R1ID0gV2ViR0xUZXN0
VXRpbHM7CiBkZXNjcmlwdGlvbihkb2N1bWVudC50aXRsZSk7CiBkZWJ1ZygiVGVzdHMgdGhhdCBX
ZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdCBjbGFzcyBhbmQgZ2V0U2hhZGVyUHJlY2lzaW9uRm9y
bWF0IHdvcmsuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90
ZXgtaW5wdXQtdmFsaWRhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
dGV4LWlucHV0LXZhbGlkYXRpb24uaHRtbAppbmRleCAyNzJhYWM5NGY4NjE2YjZhNWJjNTFjNTc1
NmQyMTUwYTFkOWUzMzE1Li44ZDU4MWQzMjY4OTY1NWZlYjcyZjlhODYzNmRkNzczN2I3NjcxMTE3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW5wdXQtdmFs
aWRhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbnB1
dC12YWxpZGF0aW9uLmh0bWwKQEAgLTksNiArOSw5IEBACiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KIAogPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFy
IHd0dSA9IFdlYkdMVGVzdFV0aWxzOwogdmFyIGdsID0gbnVsbDsKIHZhciB0ZXggPSBudWxsOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LXN1Yi1pbWFnZS0y
ZC1iYWQtYXJncy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LXN1Yi1p
bWFnZS0yZC1iYWQtYXJncy5odG1sCmluZGV4IDJhZmM3YTJjYzNjZTY5ZjhlZjJiYjAzZTM2Y2Ji
MDZkOWY3NTQwY2UuLmRlODhiYmVhMWM4YmNiM2IzYWEwMTNmZDNhMTMwODhmNDVmN2YxNzkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1zdWItaW1hZ2UtMmQt
YmFkLWFyZ3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtc3Vi
LWltYWdlLTJkLWJhZC1hcmdzLmh0bWwKQEAgLTEyLDYgKzEyLDkgQEAKIDxzY3JpcHQ+CiBkZXNj
cmlwdGlvbignVGVzdHMgdGV4U3ViSW1hZ2UyRCB3aXRoIGJhZCBhcmd1bWVudHMnKTsKIAoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJH
TEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgd3R1ID0gV2ViR0xUZXN0VXRp
bHM7CiB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RiZWQiKTsKIHZh
ciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImMiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleHR1cmUtY29tcGxldGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3RleHR1cmUtY29tcGxldGUuaHRtbAppbmRleCBlZDY4MTJkMDgw
YTg1YzU3MjZkZGJiODcxYmZmZjczNjkxMTM3ZDJmLi43YjE1ZmQ1NmY3YTdjYjRiNjAxNjgwMjc3
NmM0MjY0NzlhNDY0Nzc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC90ZXh0dXJlLWNvbXBsZXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvdGV4dHVyZS1jb21wbGV0ZS5odG1sCkBAIC00NCw2ICs0NCw5IEBAIGZ1bmN0aW9uIGluaXQo
KQogICAgIHdpbmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yayhmYWxzZSk7CiAgIH0KIAorICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdl
YkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxzZSk7CisKICAgZGVidWcoIkNoZWNrcyB0aGF0
IGEgdGV4dHVyZSB0aGF0IGlzIG5vdCAtdGV4dHVyZS1jb21wbGV0ZS0gZG9lcyBub3QgZHJhdyBp
ZiIrCiAgICAgICAgICIgZmlsdGVyaW5nIG5lZWRzIG1pcHMiKTsKICAgZGVidWcoIiIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4dHVyZS1ucG90Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXh0dXJlLW5wb3QuaHRtbAppbmRleCA4
NTRjZjdkOGMwN2U0MzRlZjY3ZWM3NTFhYjk1MGQ1NTRhZDgwZDc3Li4zMTI5YTAzYjFlNzY5Nzgz
Y2FhZjAzY2U5YzdhYTIyMTIzNzRiZmNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC90ZXh0dXJlLW5wb3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC90ZXh0dXJlLW5wb3QuaHRtbApAQCAtMzQsNiArMzQsOSBAQCB2b2lkIG1haW4oKQog
fQogPC9zY3JpcHQ+CiA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2Up
OworCiB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CiB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImV4YW1wbGUiKTsKIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2Fu
dmFzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3R5cGUtY29u
dmVyc2lvbi10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90eXBlLWNv
bnZlcnNpb24tdGVzdC5odG1sCmluZGV4IDI2YzNhN2UyOGU0NjQ2MWI4NTQ1MDUzMjZlNTVhMWVk
ZTFkZjgwOWUuLjI3OTZiZGMzOTc3ZjNiNGVkYzMxNDI1NTM3YjBlN2JmYWUzYjQzMzMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3R5cGUtY29udmVyc2lvbi10ZXN0
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdHlwZS1jb252ZXJzaW9u
LXRlc3QuaHRtbApAQCAtMTIsNiArMTIsOSBAQAogdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwog
ZGVzY3JpcHRpb24oIlRlc3RzIGNhbGxpbmcgV2ViR0wgQVBJcyB3aXRoIHZhcmlvdXMgdHlwZXMi
KTsKIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOworCiB2YXIgY29udGV4dCA9
IHd0dS5jcmVhdGUzRENvbnRleHQoKTsKIHZhciBwcm9ncmFtID0gd3R1LmxvYWRTdGFuZGFyZFBy
b2dyYW0oY29udGV4dCk7CiB2YXIgc2hhZGVyID0gd3R1LmxvYWRTdGFuZGFyZFZlcnRleFNoYWRl
cihjb250ZXh0KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Vu
aWZvcm0tbG9jYXRpb24tbGVuZ3RoLWxpbWl0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvdW5pZm9ybS1sb2NhdGlvbi1sZW5ndGgtbGltaXRzLmh0bWwKaW5kZXggNDVkZGY5
MzkzOWJmMDU1NTk2ODFlMmUxOWRlM2JmMjNiMjE2M2RiYy4uMDEyY2IwNjlkZmI1NjFhZmJiZjg4
MWRmYzJiYzc0MzBkYTg3NDIwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvdW5pZm9ybS1sb2NhdGlvbi1sZW5ndGgtbGltaXRzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvdW5pZm9ybS1sb2NhdGlvbi1sZW5ndGgtbGltaXRzLmh0bWwK
QEAgLTc0LDYgKzc0LDkgQEAgaWYgKHdpbmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yaykgewog
ICAgIHdpbmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yayhmYWxzZSk7CiB9CiAKK2lmICh3aW5k
b3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xFcnJv
cnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwog
dmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXhh
bXBsZSIpKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdW5p
Zm9ybS1sb2NhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdW5pZm9y
bS1sb2NhdGlvbi5odG1sCmluZGV4IDgzNTdhMWIyNmUwOWEzYTczNDYzNGZhNDEzM2NkY2JjYjVj
ZDg3MzMuLjUzOTQ2NjAyY2I5NDYzMjc0MmM4YzkxZWVmNzJkZWIyMmQ4NDMxZDUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3VuaWZvcm0tbG9jYXRpb24uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC91bmlmb3JtLWxvY2F0aW9uLmh0bWwK
QEAgLTEwLDYgKzEwLDkgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdHMgdGhlIFdlYkdM
VW5pZm9ybUxvY2F0aW9uIEFQSSIpOwogCitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdMRXJyb3JzVG9Db25zb2xlRW5hYmxlZChmYWxz
ZSk7CisKIHZhciBjb250ZXh0QSA9IGNyZWF0ZTNEQ29udGV4dCgpOwogdmFyIGNvbnRleHRCID0g
Y3JlYXRlM0RDb250ZXh0KCk7CiB2YXIgcHJvZ3JhbUExID0gbG9hZFN0YW5kYXJkUHJvZ3JhbShj
b250ZXh0QSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJn
bC1kZXB0aC10ZXh0dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJn
bC1kZXB0aC10ZXh0dXJlLmh0bWwKaW5kZXggMDdlMmE1NGU4MTNkN2NjZDVlNTg4MjBhNDRhNDky
ZGY4ZTNmZGFjOS4uZTA2Zjg2MmNkZWQxNDdjOTdhYzE5Yjk0NjNiZmMxZmIxMWE3NGFkOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtZGVwdGgtdGV4dHVy
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWRlcHRoLXRl
eHR1cmUuaHRtbApAQCAtMzcsNiArMzcsOSBAQCBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBXRUJHTF9kZXB0aF90ZXh0dXJlIGV4dAogCiBk
ZWJ1ZygiIik7CiAKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIHd0
dSA9IFdlYkdMVGVzdFV0aWxzOwogdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjYW52YXMiKTsKIHZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzLCB7YW50aWFs
aWFzOiBmYWxzZX0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
d2ViZ2wtc3BlY2lmaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmds
LXNwZWNpZmljLmh0bWwKaW5kZXggZWM1MjFjMTI4M2Y2ZDA1MzQ1MTliZDY0Y2IxYTM5MjM2YWNh
MWEwMi4uNjk2NGJmZDg1NjM3YjE3MTkwYjY2NTAyMzI3MDIyYWRmOTg4NTEyYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtc3BlY2lmaWMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1zcGVjaWZpYy5odG1sCkBAIC0x
Miw2ICsxMiw5IEBACiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIAogPHNjcmlwdD4KK2lmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR0xF
cnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKKwogdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxz
OwogZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBhIGZldyBkaWZmZXJlbmNlcyBiZXR3ZWVuIFdlYkdM
IGFuZCBHTEVTMiIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC93ZWJnbC10ZXh0dXJlLWJpbmRpbmctcHJlc2VydmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC93ZWJnbC10ZXh0dXJlLWJpbmRpbmctcHJlc2VydmVkLmh0bWwKaW5kZXgg
MmNjODhiZGNjZjk0Yzk0ZGJiM2QzZGYxYzUyZDUzYzZhNWM1NzZkYS4uYzc1YmZiMTQ1NWU1Y2U4
YTU4Y2VlYmJjZWJjMTkyMzQwZjYxYzliZCAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvd2ViZ2wtdGV4dHVyZS1iaW5kaW5nLXByZXNlcnZlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLXRleHR1cmUtYmluZGluZy1wcmVzZXJ2
ZWQuaHRtbApAQCAtMTcsNiArMTcsOSBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIAoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHTEVycm9yc1RvQ29uc29sZUVuYWJs
ZWQoZmFsc2UpOworCiB2YXIgY2FudmFzOwogdmFyIGNvbnRleHQ7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci93ZWJnbC93ZWJnbC1wcm9maWxlci1hcGktY2hh
bmdlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL3dlYmdsL3dlYmdsLXBy
b2ZpbGVyLWFwaS1jaGFuZ2VzLmh0bWwKaW5kZXggYjFmNjZmMTVkZTc2OGJiNDY3MWIxNzgyZmU5
YzZhMTFjNDllOThlMy4uODRkYWFmN2RkNmU5OTQ1ODc4MDI0NWY4ZGIyZDM3NTIwZGRhMzViZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL3dlYmdsL3dlYmdsLXBy
b2ZpbGVyLWFwaS1jaGFuZ2VzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2Zp
bGVyL3dlYmdsL3dlYmdsLXByb2ZpbGVyLWFwaS1jaGFuZ2VzLmh0bWwKQEAgLTIwMCw2ICsyMDAs
OCBAQCBmdW5jdGlvbiBydW5UZXN0KCkKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KKyAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJH
TEVycm9yc1RvQ29uc29sZUVuYWJsZWQoZmFsc2UpOwogICAgIHRyeSB7CiAgICAgICAgIHRlc3Qo
KTsKICAgICB9IGZpbmFsbHkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3By
b2ZpbGVyL3dlYmdsL3dlYmdsLXByb2ZpbGVyLWdldC1lcnJvci5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3Byb2ZpbGVyL3dlYmdsL3dlYmdsLXByb2ZpbGVyLWdldC1lcnJvci5odG1sCmlu
ZGV4IDViY2MwNDE0OTVjNGQ0YTg4YWUxMDg0MmIxMjllM2I1MDkzMWMxYzYuLjc2MzM0YjFkNGNl
NzIxMjJiYWFjNzFhZDI0YTM1MjNhNWRkNzg5YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9wcm9maWxlci93ZWJnbC93ZWJnbC1wcm9maWxlci1nZXQtZXJyb3IuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvd2ViZ2wvd2ViZ2wtcHJvZmlsZXItZ2V0
LWVycm9yLmh0bWwKQEAgLTMsNiArMyw4IEBACiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHNyYz0iLi4vY2FudmFzLXByb2ZpbGVyLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4K
K2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGZhbHNlKTsKIAogdmFyIGdsOwogdmFyIHJhd0dM
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>