<?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>222790</bug_id>
          
          <creation_ts>2021-03-05 02:25:17 -0800</creation_ts>
          <short_desc>WebGL2: Red flickering when using copyTexImage2D()</short_desc>
          <delta_ts>2021-03-09 00:54:15 -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>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>222964</dependson>
          <blocked>222812</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Herzog">michael.herzog</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>kpiddington</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1736268</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Herzog">michael.herzog</who>
    <bug_when>2021-03-05 02:25:17 -0800</bug_when>
    <thetext>I&apos;ve enabled WebGL 2 in Safari Technology Preview Release 121 (Safari 14.2, WebKit 15612.1.4.3) on macOS 10.15.7.

Please open https://threejs.org/examples/#webgl_framebuffer_texture

The demo renders a scene and then copies a portion of the framebuffer into a texture (via copyTexImage2D()). This texture is then used for a sprite which is rendered at the top-left corner of the screen with an additional render pass.

When you now hover with the mouse over the links in the left menu bar, the sprite starts to flicker red.

This does not happen when using WebGL1 and not with latest Firefox and Chrome.

When using stable Safari (Version 14.0 15610.1.28.1.9, 15610) and WebGL 2, there is only a signle red flicker right when loading the page (but not when hovering links).

My system:

iMac (Retina 5K, 27&apos;&apos;, ultimo 2014)
4 GHz Quad-Core Intel Core i7
16 GB 1600 MHz DDR3
AMD Radeon R9 M295X 4 GB</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736747</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-03-05 21:09:15 -0800</bug_when>
    <thetext>On my machine (2017 15&quot; MacBook Pro, Intel HD 630 / AMD Radeon 560), the sprite flickers to black while hovering over the links on the left.

The texture copying code looks correct - it&apos;s doing the copy inside the requestAnimationFrame callback. Otherwise I might have guessed it was relying on undefined behavior, if preserveDrawingBuffer is set to the default false (haven&apos;t checked).

The behavior is quite strange. I don&apos;t know how other rendering work the browser is doing could interfere with the WebGL rendering in this way.

Could this have something to do with how the WebGLLayer publishes its textures to the compositor? Kimmo, can you reproduce?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737037</commentid>
    <comment_count>2</comment_count>
      <attachid>422557</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-08 05:26:08 -0800</bug_when>
    <thetext>Created attachment 422557
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737038</commentid>
    <comment_count>3</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-08 05:28:19 -0800</bug_when>
    <thetext>Red is the uninitialized IOSurface contents visible due to multisample resolve blit erroring out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737355</commentid>
    <comment_count>4</comment_count>
      <attachid>422557</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-03-08 16:07:17 -0800</bug_when>
    <thetext>Comment on attachment 422557
Patch

Looks good. Would you please consider putting up a pull request enhancing the associated tests in the WebGL conformance suite? Please see https://github.com/KhronosGroup/WebGL/issues/3255 . Thanks. r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737498</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-09 00:53:36 -0800</bug_when>
    <thetext>Committed r274141: &lt;https://commits.webkit.org/r274141&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422557.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737499</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-09 00:54:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/75207365&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422557</attachid>
            <date>2021-03-08 05:26:08 -0800</date>
            <delta_ts>2021-03-09 00:53:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222790-20210308152606.patch</filename>
            <type>text/plain</type>
            <size>15947</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWIxMzBiMjM3NWY3OWQy
Y2E2MDlkNzkxNzYyODBkZjdiMTQzZTZhNy4uY2IzNjZhYzZmNjkwZjYzMDEwNGVjNTZiYTgzMzNl
YTg1NTExZjhkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTAzLTA4ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR0wyOiBSZWQg
ZmxpY2tlcmluZyB3aGVuIHVzaW5nIGNvcHlUZXhJbWFnZTJEKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjc5MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlYWRpbmcgbm9uLWZ1bGwgRkJPIHJlY3Rh
bmdsZSB3aXRoIGNvcHlUZXhJbWFnZTJEIHdvdWxkCisgICAgICAgIGNhdXNlIGludmFsaWQgb3Bl
cmF0aW9uIG9uIFdlYkdMMi4KKyAgICAgICAgVGhpcyBpcyBwcm9iYWJseSBkdWUgdG8gbWlzdW5k
ZXJzdGFuZGluZyBiZXR3ZWVuIHdoYXQgd2FzIG9sZAorICAgICAgICBHTCBkZXNrdG9wICsgR0xF
UyBtb2JpbGUgYmFja2VuZHMKKyAgICAgICAgImlzR0xFUzJDb21wYXRpYmxlKCkgPT0gcnVucyBv
biBEZXNrdG9wIEdMIgorICAgICAgICB2cyBuZXcgQU5HTEUgYmFja2VuZAorICAgICAgICAiaXNH
TEVTMkNvbXBhdGlibGUoKSA9PSAhbV9pc0ZvcldlYkdMMiIuCisKKyAgICAgICAgQWRkIHRlc3Rp
bmcgdG8gZmFzdC9jYW52YXMvd2ViZ2wvY29weS10ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC5o
dG1sLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0
R0xBTkdMRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
cmVzb2x2ZU11bHRpc2FtcGxpbmdJZk5lY2Vzc2FyeSk6CisgICAgICAgIFVzZSBCbGl0RnJhbWVi
dWZmZXIgZm9yIFdlYkdMMiBub24tZnVsbCBmcmFtZWJ1ZmZlciBjb3B5VGV4SW1hZ2UyRCBjYWxs
cy4KKyAgICAgICAgT24gV2ViR0wgd2UgdXNlIEJsaXRGcmFtZWJ1ZmZlckFOR0xFIGFzIGJlZm9y
ZS4KKwogMjAyMS0wMy0wOCAgSWFuIEdpbGJlcnQgIDxpYW5nQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbV2ViIEFuaW1hdGlvbnNdIERvbid0IHVwZGF0ZSBhbmltYXRpb24gcGxheWJhY2sgcmF0ZSBp
ZiB0aW1lbGluZSBpcyBpbmFjdGl2ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcApp
bmRleCA4NzhkOGRmMTFkYmJkZmZhZDBiMjhhZGMxNzEzNTNhNDJjYjA0ZmQ3Li5mNDJkZjBkZjA0
NGVkZjJlMGU1NzQzMzA4YWJmMTY2NDA1N2Y1NTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRH
TEFOR0xFLmNwcApAQCAtMjUwLDEzICsyNTAsMTQgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6cmVzb2x2ZU11bHRpc2FtcGxpbmdJZk5lY2Vzc2FyeShjb25zdCBJbnRSZWN0JiByZWMK
ICAgICBnbDo6QmluZEZyYW1lYnVmZmVyKEdMX0RSQVdfRlJBTUVCVUZGRVJfQU5HTEUsIG1fZmJv
KTsKIAogICAgIC8vIEZJWE1FOiBmaWd1cmUgb3V0IG1vcmUgZWZmaWNpZW50IHNvbHV0aW9uIGZv
ciBpT1MuCi0gICAgSW50UmVjdCByZXNvbHZlUmVjdCA9IHJlY3Q7Ci0gICAgLy8gV2hlbiB1c2lu
ZyBhbiBFUyAyLjAgY29udGV4dCwgdGhlIGZ1bGwgZnJhbWVidWZmZXIgbXVzdCBhbHdheXMgYmUK
LSAgICAvLyByZXNvbHZlZDsgcGFydGlhbCBibGl0cyBhcmUgbm90IGFsbG93ZWQuCi0gICAgaWYg
KCFpc0dMRVMyQ29tcGxpYW50KCkgfHwgcmVjdC5pc0VtcHR5KCkpCi0gICAgICAgIHJlc29sdmVS
ZWN0ID0gSW50UmVjdCgwLCAwLCBtX2N1cnJlbnRXaWR0aCwgbV9jdXJyZW50SGVpZ2h0KTsKLQot
ICAgIGdsOjpCbGl0RnJhbWVidWZmZXJBTkdMRShyZXNvbHZlUmVjdC54KCksIHJlc29sdmVSZWN0
LnkoKSwgcmVzb2x2ZVJlY3QubWF4WCgpLCByZXNvbHZlUmVjdC5tYXhZKCksIHJlc29sdmVSZWN0
LngoKSwgcmVzb2x2ZVJlY3QueSgpLCByZXNvbHZlUmVjdC5tYXhYKCksIHJlc29sdmVSZWN0Lm1h
eFkoKSwgR0xfQ09MT1JfQlVGRkVSX0JJVCwgR0xfTkVBUkVTVCk7CisgICAgaWYgKG1faXNGb3JX
ZWJHTDIpIHsKKyAgICAgICAgLy8gRVMgMy4wIGhhcyBCbGl0RnJhbWVidWZmZXIuCisgICAgICAg
IEludFJlY3QgcmVzb2x2ZVJlY3QgPSByZWN0LmlzRW1wdHkoKSA/IEludFJlY3QgeyAwLCAwLCBt
X2N1cnJlbnRXaWR0aCwgbV9jdXJyZW50SGVpZ2h0IH0gOiByZWN0OworICAgICAgICBnbDo6Qmxp
dEZyYW1lYnVmZmVyKHJlc29sdmVSZWN0LngoKSwgcmVzb2x2ZVJlY3QueSgpLCByZXNvbHZlUmVj
dC5tYXhYKCksIHJlc29sdmVSZWN0Lm1heFkoKSwgcmVzb2x2ZVJlY3QueCgpLCByZXNvbHZlUmVj
dC55KCksIHJlc29sdmVSZWN0Lm1heFgoKSwgcmVzb2x2ZVJlY3QubWF4WSgpLCBHTF9DT0xPUl9C
VUZGRVJfQklULCBHTF9ORUFSRVNUKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBFUyAyLjAg
aGFzIEJsaXRGcmFtZWJ1ZmZlckFOR0xFIG9ubHkuCisgICAgICAgIGdsOjpCbGl0RnJhbWVidWZm
ZXJBTkdMRSgwLCAwLCBtX2N1cnJlbnRXaWR0aCwgbV9jdXJyZW50SGVpZ2h0LCAwLCAwLCBtX2N1
cnJlbnRXaWR0aCwgbV9jdXJyZW50SGVpZ2h0LCBHTF9DT0xPUl9CVUZGRVJfQklULCBHTF9ORUFS
RVNUKTsKKyAgICB9CiAgICAgaWYgKG1faXNGb3JXZWJHTDIpIHsKICAgICAgICAgZ2w6OkJpbmRG
cmFtZWJ1ZmZlcihHTF9EUkFXX0ZSQU1FQlVGRkVSLCBib3VuZEZyYW1lQnVmZmVyKTsKICAgICAg
ICAgZ2w6OkJpbmRGcmFtZWJ1ZmZlcihHTF9SRUFEX0ZSQU1FQlVGRkVSLCBib3VuZFJlYWRGcmFt
ZUJ1ZmZlcik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNzQwZGQxZTY3NmQ4ZmY2M2Y0ZWVkNzU2MTQxOTZhMWJjZTY1ZjFm
YS4uMzM3ZmFjYmRmZDU2OGYxYWM3ZGI3ZjFmYmE2MDJmNmI4YTAyMTExOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE5IEBACisyMDIxLTAzLTA4ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViR0wyOiBSZWQgZmxpY2tlcmluZyB3aGVuIHVzaW5nIGNvcHlUZXhJ
bWFnZTJEKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMjc5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZmFzdC9jYW52YXMvd2ViZ2wvY29weS10ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvY29weS10ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC5odG1sOgorICAgICAgICBDaGFuZ2UgdGhlIHRlc3QgdG8gdGVzdCBXZWJH
TDIgYW5kIGNvcHlUZXhJbWFnZTJEIHdpdGggbm9uLWZ1bGwgZnJhbWVidWZmZXIKKyAgICAgICAg
cmVjdGFuZ2xlcy4KKworICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bC10ZXN0LmpzOgorICAgICAgICAoY3JlYXRlM0RDb250ZXh0KToKKyAgICAgICAgRml4IGxvZ2lj
IGVycm9yIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZSBXZWJHTDIgY29udGV4dC4KKwogMjAyMS0wMy0w
OCAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkdM
IGFzc2VydHMgYWZ0ZXIgR1BVIHByb2Nlc3MgdGltZXMgb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb3B5LXRleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvcHktdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtZXhwZWN0ZWQudHh0CmluZGV4IGRhZDg3ZWI3OTg3NTE2NTFiN2I5
MmRlZmIzOWE3ZmUxODRkNmY0OGIuLmFhMGEwYmIxZTE2OTFlYzc3OTc0ZjkwYTNlYjllNjljNjIx
NjMyZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL2NvcHktdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL2NvcHktdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtZXhwZWN0ZWQu
dHh0CkBAIC00LDM1ICs0LDY5IEBAIFZlcmlmeSBjb3B5VGV4SW1hZ2UyRCBhbmQgY29weVRleFN1
YkltYWdlMkQKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogVGVzdGluZyB3aXRoIGFudGlh
bGlhcyBvbgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKIFRl
c3RpbmcgY29weVRleEltYWdlMkQKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6CiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgot
UEFTUyBwaXhlbCBpcyBjb3JyZWN0Q29sb3IKLVBBU1MgcGl4ZWwgaXMgY29ycmVjdENvbG9yCi1Q
QVNTIHBpeGVsIGlzIGNvcnJlY3RDb2xvcgotUEFTUyBwaXhlbCBpcyBjb3JyZWN0Q29sb3IKK1BB
U1MgY29weVRleEltYWdlMkQgaXMgY29ycmVjdCAoZHJhd24gdGV4dHVyZSB3YXMgcmVkKQogVGVz
dGluZyBjb3B5VGV4U3ViSW1hZ2UyRAogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDoKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
Ci1QQVNTIHBpeGVsIGlzIGNvcnJlY3RDb2xvcgotUEFTUyBwaXhlbCBpcyBjb3JyZWN0Q29sb3IK
LVBBU1MgcGl4ZWwgaXMgY29ycmVjdENvbG9yCi1QQVNTIHBpeGVsIGlzIGNvcnJlY3RDb2xvcgor
UEFTUyBjb3B5VGV4SW1hZ2UyRCBpcyBjb3JyZWN0IChkcmF3biB0ZXh0dXJlIHdhcyBncmVlbikK
K1Rlc3RpbmcgY29weVRleEltYWdlMkQgZnJvbSBwYXJ0aWFsIEZCTyByZWN0YW5nbGUKK1BBU1Mg
Y29weVRleEltYWdlMkQgZnJvbSBwYXJ0aWFsIEZCTyByZWN0YW5nbGUgaXMgY29ycmVjdCAoZHJh
d24gdGV4dHVyZSB3YXMgcmVkaXNoKQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDoKK1Rlc3RpbmcgY29weVRleFN1YkltYWdlMkQgZnJvbSBwYXJ0aWFsIEZCTyBy
ZWN0YW5nbGUKK1BBU1MgY29weVRleFN1YkltYWdlMkQgZnJvbSBwYXJ0aWFsIEZCTyByZWN0YW5n
bGUgaXMgY29ycmVjdCAoZHJhd24gdGV4dHVyZSBncmVlbmlzaCkKK1BBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6CiBUZXN0aW5nIHdpdGggYW50aWFsaWFzIG9mZgor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKK1Rlc3RpbmcgY29w
eVRleEltYWdlMkQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgorUEFTUyBjb3B5
VGV4SW1hZ2UyRCBpcyBjb3JyZWN0IChkcmF3biB0ZXh0dXJlIHdhcyByZWQpCitUZXN0aW5nIGNv
cHlUZXhTdWJJbWFnZTJECitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKK1BBU1Mg
Y29weVRleEltYWdlMkQgaXMgY29ycmVjdCAoZHJhd24gdGV4dHVyZSB3YXMgZ3JlZW4pCitUZXN0
aW5nIGNvcHlUZXhJbWFnZTJEIGZyb20gcGFydGlhbCBGQk8gcmVjdGFuZ2xlCitQQVNTIGNvcHlU
ZXhJbWFnZTJEIGZyb20gcGFydGlhbCBGQk8gcmVjdGFuZ2xlIGlzIGNvcnJlY3QgKGRyYXduIHRl
eHR1cmUgd2FzIHJlZGlzaCkKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6CitUZXN0aW5nIGNvcHlUZXhTdWJJbWFnZTJEIGZyb20gcGFydGlhbCBGQk8gcmVjdGFu
Z2xlCitQQVNTIGNvcHlUZXhTdWJJbWFnZTJEIGZyb20gcGFydGlhbCBGQk8gcmVjdGFuZ2xlIGlz
IGNvcnJlY3QgKGRyYXduIHRleHR1cmUgZ3JlZW5pc2gpCitQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOgorVGVzdGluZyB3aXRoIGFudGlhbGlhcyBvbiwgV2ViR0wy
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgorVGVzdGluZyBj
b3B5VGV4SW1hZ2UyRAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDoKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6CitQQVNTIGNv
cHlUZXhJbWFnZTJEIGlzIGNvcnJlY3QgKGRyYXduIHRleHR1cmUgd2FzIHJlZCkKK1Rlc3Rpbmcg
Y29weVRleFN1YkltYWdlMkQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgorUEFT
UyBjb3B5VGV4SW1hZ2UyRCBpcyBjb3JyZWN0IChkcmF3biB0ZXh0dXJlIHdhcyBncmVlbikKK1Rl
c3RpbmcgY29weVRleEltYWdlMkQgZnJvbSBwYXJ0aWFsIEZCTyByZWN0YW5nbGUKK1BBU1MgY29w
eVRleEltYWdlMkQgZnJvbSBwYXJ0aWFsIEZCTyByZWN0YW5nbGUgaXMgY29ycmVjdCAoZHJhd24g
dGV4dHVyZSB3YXMgcmVkaXNoKQorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDoKK1Rlc3RpbmcgY29weVRleFN1YkltYWdlMkQgZnJvbSBwYXJ0aWFsIEZCTyByZWN0
YW5nbGUKK1BBU1MgY29weVRleFN1YkltYWdlMkQgZnJvbSBwYXJ0aWFsIEZCTyByZWN0YW5nbGUg
aXMgY29ycmVjdCAoZHJhd24gdGV4dHVyZSBncmVlbmlzaCkKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6CitUZXN0aW5nIHdpdGggYW50aWFsaWFzIG9mZiwgV2Vi
R0wyCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOgogVGVzdGlu
ZyBjb3B5VGV4SW1hZ2UyRAogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDoKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6Ci1QQVNT
IHBpeGVsIGlzIGNvcnJlY3RDb2xvcgotUEFTUyBwaXhlbCBpcyBjb3JyZWN0Q29sb3IKLVBBU1Mg
cGl4ZWwgaXMgY29ycmVjdENvbG9yCi1QQVNTIHBpeGVsIGlzIGNvcnJlY3RDb2xvcgorUEFTUyBj
b3B5VGV4SW1hZ2UyRCBpcyBjb3JyZWN0IChkcmF3biB0ZXh0dXJlIHdhcyByZWQpCiBUZXN0aW5n
IGNvcHlUZXhTdWJJbWFnZTJECiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOgogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKLVBB
U1MgcGl4ZWwgaXMgY29ycmVjdENvbG9yCi1QQVNTIHBpeGVsIGlzIGNvcnJlY3RDb2xvcgotUEFT
UyBwaXhlbCBpcyBjb3JyZWN0Q29sb3IKLVBBU1MgcGl4ZWwgaXMgY29ycmVjdENvbG9yCitQQVNT
IGNvcHlUZXhJbWFnZTJEIGlzIGNvcnJlY3QgKGRyYXduIHRleHR1cmUgd2FzIGdyZWVuKQorVGVz
dGluZyBjb3B5VGV4SW1hZ2UyRCBmcm9tIHBhcnRpYWwgRkJPIHJlY3RhbmdsZQorUEFTUyBjb3B5
VGV4SW1hZ2UyRCBmcm9tIHBhcnRpYWwgRkJPIHJlY3RhbmdsZSBpcyBjb3JyZWN0IChkcmF3biB0
ZXh0dXJlIHdhcyByZWRpc2gpCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOgorVGVzdGluZyBjb3B5VGV4U3ViSW1hZ2UyRCBmcm9tIHBhcnRpYWwgRkJPIHJlY3Rh
bmdsZQorUEFTUyBjb3B5VGV4U3ViSW1hZ2UyRCBmcm9tIHBhcnRpYWwgRkJPIHJlY3RhbmdsZSBp
cyBjb3JyZWN0IChkcmF3biB0ZXh0dXJlIGdyZWVuaXNoKQorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDoKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvY29weS10ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvY29weS10ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC5odG1sCmluZGV4
IGMwNGJmYmM0ODhmMzlhYjhjOWIzN2YwZTIxNDRlZTM5OWQ5OWM3NGIuLjhhZjM1MTBmZGE3ZmIy
MTUyYmExNjg3ZGI2ZjI5YTRjOGEyOWY5MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL2NvcHktdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9jb3B5LXRleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLmh0bWwKQEAgLTIsNiArMiw3IEBACiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dl
YmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0
LXV0aWxzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5cGU9Ingtc2hhZGVy
L3gtdmVydGV4Ij4KIGF0dHJpYnV0ZSB2ZWMzIGdfUG9zaXRpb247CiBhdHRyaWJ1dGUgdmVjMiBn
X1RleENvb3JkMDsKQEAgLTQ0LDE0ICs0NSwxNiBAQCBmdW5jdGlvbiBpbml0KCkKIHZhciBwaXhl
bCA9IFswLCAwLCAwXTsKIHZhciBjb3JyZWN0Q29sb3IgPSBudWxsOwogdmFyIGdsID0gbnVsbDsK
K3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKIAotZnVuY3Rpb24gcnVuVGVzdEl0ZXJhdGlvbihh
bnRpYWxpYXMpCitmdW5jdGlvbiBydW5UZXN0SXRlcmF0aW9uKGFudGlhbGlhcywgdmVyc2lvbjIp
CiB7Ci0gICAgaWYgKGFudGlhbGlhcykKLSAgICAgICAgZ2wgPSBpbml0V2ViR0woImFudGlhbGlh
c09uIiwgInZzaGFkZXIiLCAiZnNoYWRlciIsIFsgImdfUG9zaXRpb24iLCAiZ19UZXhDb29yZDAi
IF0sIFsgMCwgMCwgMCwgMSBdLCAxKTsKLSAgICBlbHNlCi0gICAgICAgIGdsID0gaW5pdFdlYkdM
KCJhbnRpYWxpYXNPZmYiLCAidnNoYWRlciIsICJmc2hhZGVyIiwgWyAiZ19Qb3NpdGlvbiIsICJn
X1RleENvb3JkMCIgXSwgWyAwLCAwLCAwLCAxIF0sIDEsIHsgYW50aWFsaWFzOiBmYWxzZSB9KTsK
LQorICAgIGxldCBjYW52YXNOYW1lID0gYGFudGlhbGlhcyR7YW50aWFsaWFzID8gIk9uIiA6ICJP
ZmYifSR7dmVyc2lvbjIgPyAiMiIgOiAiIn1gOworICAgIGdsID0gaW5pdFdlYkdMKGNhbnZhc05h
bWUsICJ2c2hhZGVyIiwgImZzaGFkZXIiLCBbICJnX1Bvc2l0aW9uIiwgImdfVGV4Q29vcmQwIiBd
LCBbIDAsIDAsIDAsIDEgXSwgMSwgeyBhbnRpYWxpYXM6ICEhYW50aWFsaWFzfSwgISF2ZXJzaW9u
Mik7CisgICAgaWYgKCFnbCkgeworICAgICAgICB0ZXN0RmFpbGVkKGBDb3VsZCBub3QgY3JlYXRl
IGNvbnRleHQgZm9yIGFudGlhbGlhczogJHthbnRpYWxpYXN9IHZlcnNpb24yOiR7dmVyc2lvbjJ9
YCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAgICAgdmFyIHRleHR1cmVMb2MgPSBn
bC5nZXRVbmlmb3JtTG9jYXRpb24oZ2wucHJvZ3JhbSwgInRleCIpOwogCiAgICAgdmFyIHZlcnRp
Y2VzID0gbmV3IEZsb2F0MzJBcnJheShbCkBAIC04NSw3NyArODgsNjAgQEAgZnVuY3Rpb24gcnVu
VGVzdEl0ZXJhdGlvbihhbnRpYWxpYXMpCiAKICAgICBnbC5jb2xvck1hc2soMSwgMSwgMSwgMCk7
CiAgICAgZ2wuZGlzYWJsZShnbC5CTEVORCk7Ci0gICAgZGVidWcoJ1Rlc3RpbmcgY29weVRleElt
YWdlMkQnKTsKLQotICAgIC8vIFJlZCBjYW52YXMKLSAgICBnbC5jbGVhckNvbG9yKDEsIDAsIDAs
IDEpOwotICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJf
QklUKTsKLQorICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCAwKTsKICAgICB2YXIgdGV4dHVy
ZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKLSAgICAvLyBCaW5kIHRoZSB0ZXh0dXJlIHRvIHRleHR1
cmUgdW5pdCAwCiAgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSk7Ci0g
ICAgLy8gU2V0IHVwIHRleHR1cmUKICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAs
IGdsLlJHQkEsIDIsIDIsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIG51bGwpOwogICAg
IGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBn
bC5ORUFSRVNUKTsKICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRV
UkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5O
T19FUlJPUik7CiAKKyAgICBkZWJ1ZygnVGVzdGluZyBjb3B5VGV4SW1hZ2UyRCcpOworICAgIC8v
IENvcHkgcmVkIHRvIHRoZSB0ZXh0dXJlLgorICAgIGdsLmNsZWFyQ29sb3IoMSwgMCwgMCwgMSk7
CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQp
OwogICAgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwogICAgIGdsLmNvcHlUZXhJ
bWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDAsIDAsIDIsIDIsIDApOwogICAgIGds
RXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwogCi0gICAgLy8gR3JlZW4gY2FudmFzCiAg
ICAgZ2wuY2xlYXJDb2xvcigwLCAxLCAwLCAxKTsKICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZG
RVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7Ci0KLSAgICAvLyBQb2ludCB0aGUgdW5pZm9y
bSBzYW1wbGVyIHRvIHRleHR1cmUgdW5pdCAwCi0gICAgZ2wudW5pZm9ybTFpKHRleHR1cmVMb2Ms
IDApOwotICAgIC8vIERyYXcgdGhlIHRyaWFuZ2xlcwogICAgIGdsLmRyYXdBcnJheXMoZ2wuVFJJ
QU5HTEVTLCAwLCA2KTsKLQotICAgIC8vIFJlYWQgYmFjayB0aGUgcmVuZGVyaW5nIHJlc3VsdHMs
IHNob3VsZCBiZSByZWQKLSAgICB2YXIgYnVmID0gbmV3IFVpbnQ4QXJyYXkoMiAqIDIgKiA0KTsK
LSAgICBnbC5yZWFkUGl4ZWxzKDAsIDAsIDIsIDIsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUs
IGJ1Zik7Ci0gICAgdmFyIGlkeCA9IDA7Ci0gICAgY29ycmVjdENvbG9yID0gWzI1NSwgMCwgMF07
Ci0gICAgZm9yICh2YXIgeSA9IDA7IHkgPCAyOyB5KyspIHsKLSAgICAgICAgZm9yICh2YXIgeCA9
IDA7IHggPCAyOyB4KyspIHsKLSAgICAgICAgICAgIGlkeCA9ICh5ICogMiArIHgpICogNDsKLSAg
ICAgICAgICAgIHBpeGVsWzBdID0gYnVmW2lkeF07Ci0gICAgICAgICAgICBwaXhlbFsxXSA9IGJ1
ZltpZHggKyAxXTsKLSAgICAgICAgICAgIHBpeGVsWzJdID0gYnVmW2lkeCArIDJdOwotICAgICAg
ICAgICAgc2hvdWxkQmUoInBpeGVsIiwgImNvcnJlY3RDb2xvciIpOwotICAgICAgICB9Ci0gICAg
fQorICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDIsIDIsIFsyNTUsIDAsIDAsIDBd
LCAiY29weVRleEltYWdlMkQgaXMgY29ycmVjdCAoZHJhd24gdGV4dHVyZSB3YXMgcmVkKSIsIDIp
OwogCiAgICAgZGVidWcoJ1Rlc3RpbmcgY29weVRleFN1YkltYWdlMkQnKTsKLQotICAgIC8vIEdy
ZWVuIGNhbnZhcworICAgIC8vIENvcHkgZ3JlZW4gdG8gdGhlIHRleHR1cmUuCiAgICAgZ2wuY2xl
YXJDb2xvcigwLCAxLCAwLCAxKTsKICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwg
Z2wuREVQVEhfQlVGRkVSX0JJVCk7Ci0KICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VS
Uk9SKTsKICAgICBnbC5jb3B5VGV4U3ViSW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCAw
LCAwLCAyLCAyKTsKICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKIAotICAg
IC8vIEJsdWUgY2FudmFzCiAgICAgZ2wuY2xlYXJDb2xvcigwLCAwLCAxLCAxKTsKICAgICBnbC5j
bGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgZ2wu
ZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOworICAgIHd0dS5jaGVja0NhbnZhc1JlY3Qo
Z2wsIDAsIDAsIDIsIDIsIFswLCAyNTUsIDAsIDBdLCAiY29weVRleEltYWdlMkQgaXMgY29ycmVj
dCAoZHJhd24gdGV4dHVyZSB3YXMgZ3JlZW4pIiwgMik7CiAKLSAgICAvLyBEcmF3IHRoZSB0cmlh
bmdsZXMKKyAgICBkZWJ1ZygnVGVzdGluZyBjb3B5VGV4SW1hZ2UyRCBmcm9tIHBhcnRpYWwgRkJP
IHJlY3RhbmdsZScpOworICAgIGdsLmNsZWFyQ29sb3IoMC41LCAwLjEsIDAuMSwgMSk7CisgICAg
Z2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOworICAg
IGdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwgMSwgMCwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7CisgICAgZ2wuY29weVRleEltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwgMSwgMSwgMSwgMCk7CisgICAgZ2wuY2xlYXJDb2xvcigw
LCAxLCAwLCAxKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhf
QlVGRkVSX0JJVCk7CiAgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAsIDYpOworICAg
IHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDIsIDIsIFsxMjgsIDI1LCAyNSwgMF0sICJj
b3B5VGV4SW1hZ2UyRCBmcm9tIHBhcnRpYWwgRkJPIHJlY3RhbmdsZSBpcyBjb3JyZWN0IChkcmF3
biB0ZXh0dXJlIHdhcyByZWRpc2gpIiwgMik7CisgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5O
T19FUlJPUik7CiAKLSAgICAvLyBSZWFkIGJhY2sgdGhlIHJlbmRlcmluZyByZXN1bHRzLCBzaG91
bGQgYmUgZ3JlZW4KLSAgICBnbC5yZWFkUGl4ZWxzKDAsIDAsIDIsIDIsIGdsLlJHQkEsIGdsLlVO
U0lHTkVEX0JZVEUsIGJ1Zik7Ci0gICAgY29ycmVjdENvbG9yID0gWzAsIDI1NSwgMF07Ci0gICAg
Zm9yICh2YXIgeSA9IDA7IHkgPCAyOyB5KyspIHsKLSAgICAgICAgZm9yICh2YXIgeCA9IDA7IHgg
PCAyOyB4KyspIHsKLSAgICAgICAgICAgIGlkeCA9ICh5ICogMiArIHgpICogNDsKLSAgICAgICAg
ICAgIHBpeGVsWzBdID0gYnVmW2lkeF07Ci0gICAgICAgICAgICBwaXhlbFsxXSA9IGJ1ZltpZHgg
KyAxXTsKLSAgICAgICAgICAgIHBpeGVsWzJdID0gYnVmW2lkeCArIDJdOwotICAgICAgICAgICAg
c2hvdWxkQmUoInBpeGVsIiwgImNvcnJlY3RDb2xvciIpOwotICAgICAgICB9Ci0gICAgfQorICAg
IGRlYnVnKCdUZXN0aW5nIGNvcHlUZXhTdWJJbWFnZTJEIGZyb20gcGFydGlhbCBGQk8gcmVjdGFu
Z2xlJyk7CisgICAgZ2wuY2xlYXJDb2xvcigwLjEsIDAuNSwgMC4xLCAxKTsKKyAgICBnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgZ2wuY29w
eVRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgMSwgMSwgMSwgMSk7CisgICAg
Z2wuY2xlYXJDb2xvcigwLCAwLCAxLCAxKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJf
QklUIHwgZ2wuREVQVEhfQlVGRkVSX0JJVCk7CisgICAgZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdM
RVMsIDAsIDYpOworICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDIsIDIsIFsyNSwg
MTI4LCAyNSwgMF0sICJjb3B5VGV4U3ViSW1hZ2UyRCBmcm9tIHBhcnRpYWwgRkJPIHJlY3Rhbmds
ZSBpcyBjb3JyZWN0IChkcmF3biB0ZXh0dXJlIGdyZWVuaXNoKSIsIDIpOworICAgIGdsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwogfQogCiBmdW5jdGlvbiBydW5UZXN0KGFudGlhbGlh
cykKQEAgLTE2NCw2ICsxNTAsMTAgQEAgZnVuY3Rpb24gcnVuVGVzdChhbnRpYWxpYXMpCiAgICAg
cnVuVGVzdEl0ZXJhdGlvbih0cnVlKTsKICAgICBkZWJ1ZygiVGVzdGluZyB3aXRoIGFudGlhbGlh
cyBvZmYiKTsKICAgICBydW5UZXN0SXRlcmF0aW9uKGZhbHNlKTsKKyAgICBkZWJ1ZygiVGVzdGlu
ZyB3aXRoIGFudGlhbGlhcyBvbiwgV2ViR0wyIik7CisgICAgcnVuVGVzdEl0ZXJhdGlvbih0cnVl
LCB0cnVlKTsKKyAgICBkZWJ1ZygiVGVzdGluZyB3aXRoIGFudGlhbGlhcyBvZmYsIFdlYkdMMiIp
OworICAgIHJ1blRlc3RJdGVyYXRpb24oZmFsc2UsIHRydWUpOwogICAgIHZhciBlcGlsb2d1ZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwogICAgIGVwaWxvZ3VlLm9ubG9hZCA9
IGZpbmlzaDsKICAgICBlcGlsb2d1ZS5zcmMgPSAiLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI7CkBAIC0xODAsNiArMTcwLDggQEAgZnVuY3Rpb24gZmluaXNoKCkgewogPGJvZHkg
b25sb2FkPSJpbml0KCkiPgogPGNhbnZhcyBpZD0iYW50aWFsaWFzT24iIHdpZHRoPSIycHgiIGhl
aWdodD0iMnB4Ij48L2NhbnZhcz4KIDxjYW52YXMgaWQ9ImFudGlhbGlhc09mZiIgd2lkdGg9IjJw
eCIgaGVpZ2h0PSIycHgiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iYW50aWFsaWFzT24yIiB3aWR0
aD0iMnB4IiBoZWlnaHQ9IjJweCI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJhbnRpYWxpYXNPZmYy
IiB3aWR0aD0iMnB4IiBoZWlnaHQ9IjJweCI+PC9jYW52YXM+CiA8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIGIv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMKaW5k
ZXggYjJiODJiN2JiMjM2OWY5YWRhYjAyYzBhY2M5N2ExMzU2ZGVjODIyMy4uMTk5Y2YyNjA4ZmVl
ZjIwNDgwYjNhNzVhODk1MzUyNzZhYWNmNjU5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMKQEAgLTQ5LDkgKzQ5LDEx
IEBAIGZ1bmN0aW9uIGNyZWF0ZTNEQ29udGV4dChjYW52YXMsIGF0dHJpYnV0ZXMsIHZlcnNpb24y
KQogICAgICAgICAgICAgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJ3ZWJnbDIiLCBhdHRy
aWJ1dGVzKTsKICAgICAgICAgfSBjYXRjaChlKSB7fQogICAgIH0KLSAgICB0cnkgewotICAgICAg
ICBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImV4cGVyaW1lbnRhbC13ZWJnbCIsIGF0dHJp
YnV0ZXMpOwotICAgIH0gY2F0Y2goZSkge30KKyAgICBpZiAoIWNvbnRleHQpIHsKKyAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgIGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZXhwZXJpbWVu
dGFsLXdlYmdsIiwgYXR0cmlidXRlcyk7CisgICAgICAgIH0gY2F0Y2goZSkge30KKyAgICB9CiAg
ICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICBjb250ZXh0ID0g
Y2FudmFzLmdldENvbnRleHQoIndlYmtpdC0zZCIsIGF0dHJpYnV0ZXMpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>