<?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>91927</bug_id>
          
          <creation_ts>2012-07-21 04:00:31 -0700</creation_ts>
          <short_desc>Fix WebGL texSubImage2D for cube maps</short_desc>
          <delta_ts>2012-07-23 15:53:47 -0700</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="Gregg Tavares">gman</reporter>
          <assigned_to name="Gregg Tavares">gman</assigned_to>
          <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>675228</commentid>
    <comment_count>0</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2012-07-21 04:00:31 -0700</bug_when>
    <thetext>Fix WebGL texSubImage2D for cube maps</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675231</commentid>
    <comment_count>1</comment_count>
      <attachid>153668</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2012-07-21 04:10:17 -0700</bug_when>
    <thetext>Created attachment 153668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675828</commentid>
    <comment_count>2</comment_count>
      <attachid>153668</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-07-23 11:05:51 -0700</bug_when>
    <thetext>Comment on attachment 153668
Patch

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

Nice fix. r=me with one comment. Let me know if you want me to cq+ it as is.

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.h:592
&gt; +                                   bool subImage2d);

FYI, there&apos;s a preference in WebKit to use local enums instead of boolean arguments to avoid the problem of confusing &quot;true, true, false&quot; call sites. I don&apos;t think this is that big a deal here but just something to keep in mind. Here it could be enum { ForTexSubImage2D, NotForTexSubImage2D }.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676011</commentid>
    <comment_count>3</comment_count>
      <attachid>153861</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2012-07-23 14:29:29 -0700</bug_when>
    <thetext>Created attachment 153861
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676012</commentid>
    <comment_count>4</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2012-07-23 14:30:15 -0700</bug_when>
    <thetext>changed to use enum instead of bool</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676036</commentid>
    <comment_count>5</comment_count>
      <attachid>153861</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-07-23 14:54:45 -0700</bug_when>
    <thetext>Comment on attachment 153861
Patch

Thanks, nice. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676116</commentid>
    <comment_count>6</comment_count>
      <attachid>153861</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-23 15:53:44 -0700</bug_when>
    <thetext>Comment on attachment 153861
Patch

Clearing flags on attachment: 153861

Committed r123395: &lt;http://trac.webkit.org/changeset/123395&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676118</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-23 15:53:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153668</attachid>
            <date>2012-07-21 04:10:17 -0700</date>
            <delta_ts>2012-07-23 14:29:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91927-20120721041012.patch</filename>
            <type>text/plain</type>
            <size>19410</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNiZGEyODIyNzg1YWY2
ZjVhZjY2ZDlmMTNhM2RlMTNmMDU0ZDNiZS4uMzMwYWM5ZmU1NTY1MWUwMmE1YWZlNDEyYmRjZTUx
ZTVhNTM1ODIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA3LTIxICBHcmVn
ZyBUYXZhcmVzICA8Z21hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBXZWJHTCB0ZXhTdWJJ
bWFnZTJEIGZvciBjdWJlIG1hcHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTkxOTI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRml4ZXMgdGV4U3ViSW1hZ2UyRCBzbyBhbnkgc2l6ZSByZWN0YW5nbGUgY2Fu
IGJlIHBhc3NlZCBpbgorICAgICAgICBmb3IgY3ViZSBtYXBzLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvY2FudmFzL3dlYmdsL3RleC1zdWItaW1hZ2UtY3ViZS1tYXBzLmh0bWwKKworICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y29weVRleEltYWdl
MkQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJE
QmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleFN1Yklt
YWdlMkRCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFs
aWRhdGVUZXhGdW5jUGFyYW1ldGVycyk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Lmg6CisgICAgICAgIChXZWJHTFJlbmRlcmluZ0NvbnRleHQpOgorCiAyMDEy
LTA3LTE4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVuaWZ5
IEhUTUxDb2xsZWN0aW9uIGFuZCBEeW5hbWljTm9kZUxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDRkYWQ3NDkw
NjBlMGVmMzZmZWIyMWI2ZjBjNTVlMDhiZjc5MzEyOTguLmVmNmViOTBhYmQ1OTE4ZjFhYWYxZTM2
ODNkN2VmY2ZiMDg3NzEzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtMTMzNCw3ICsxMzM0LDcgQEAgdm9pZCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmNvcHlUZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0Mz
RGludCBsZXZlbCwgR0MzRGUKIHsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKCF2YWxpZGF0ZVRleEZ1bmNQYXJhbWV0ZXJzKCJjb3B5VGV4SW1hZ2Uy
RCIsIHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3JkZXIs
IGludGVybmFsZm9ybWF0LCBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURSkpCisgICAg
aWYgKCF2YWxpZGF0ZVRleEZ1bmNQYXJhbWV0ZXJzKCJjb3B5VGV4SW1hZ2UyRCIsIHRhcmdldCwg
bGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3JkZXIsIGludGVybmFsZm9y
bWF0LCBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURSwgZmFsc2UpKQogICAgICAgICBy
ZXR1cm47CiAgICAgaWYgKCF2YWxpZGF0ZVNldHRhYmxlVGV4Rm9ybWF0KCJjb3B5VGV4SW1hZ2Uy
RCIsIGludGVybmFsZm9ybWF0KSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzUwMyw3ICszNTAzLDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkRCYXNlKEdDM0RlbnVtIHRh
cmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGUKIHsKICAgICAvLyBGSVhNRTogRm9yIG5vdyB3ZSBp
Z25vcmUgYW55IGVycm9ycyByZXR1cm5lZAogICAgIGVjID0gMDsKLSAgICBpZiAoIXZhbGlkYXRl
VGV4RnVuY1BhcmFtZXRlcnMoInRleEltYWdlMkQiLCB0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZv
cm1hdCwgd2lkdGgsIGhlaWdodCwgYm9yZGVyLCBmb3JtYXQsIHR5cGUpKQorICAgIGlmICghdmFs
aWRhdGVUZXhGdW5jUGFyYW1ldGVycygidGV4SW1hZ2UyRCIsIHRhcmdldCwgbGV2ZWwsIGludGVy
bmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgZmFsc2UpKQog
ICAgICAgICByZXR1cm47CiAgICAgV2ViR0xUZXh0dXJlKiB0ZXggPSB2YWxpZGF0ZVRleHR1cmVC
aW5kaW5nKCJ0ZXhJbWFnZTJEIiwgdGFyZ2V0LCB0cnVlKTsKICAgICBpZiAoIXRleCkKQEAgLTM3
NDgsNyArMzc0OCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTJE
QmFzZShHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDCiAgICAgZWMgPSAwOwogICAg
IGlmIChpc0NvbnRleHRMb3N0KCkpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIXZhbGlkYXRl
VGV4RnVuY1BhcmFtZXRlcnMoInRleFN1YkltYWdlMkQiLCB0YXJnZXQsIGxldmVsLCBmb3JtYXQs
IHdpZHRoLCBoZWlnaHQsIDAsIGZvcm1hdCwgdHlwZSkpCisgICAgaWYgKCF2YWxpZGF0ZVRleEZ1
bmNQYXJhbWV0ZXJzKCJ0ZXhTdWJJbWFnZTJEIiwgdGFyZ2V0LCBsZXZlbCwgZm9ybWF0LCB3aWR0
aCwgaGVpZ2h0LCAwLCBmb3JtYXQsIHR5cGUsIHRydWUpKQogICAgICAgICByZXR1cm47CiAgICAg
aWYgKCF2YWxpZGF0ZVNpemUoInRleFN1YkltYWdlMkQiLCB4b2Zmc2V0LCB5b2Zmc2V0KSkKICAg
ICAgICAgcmV0dXJuOwpAQCAtNDg1OCw3ICs0ODU4LDcgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnZhbGlkYXRlVGV4RnVuY1BhcmFtZXRlcnMoY29uc3QgY2hhciogZnVuY3Rpb25OYW1l
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQzNE
c2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RpbnQgYm9yZGVyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0MzRGVudW0gZm9y
bWF0LCBHQzNEZW51bSB0eXBlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBib29sIHN1
YkltYWdlMkQpCiB7CiAgICAgLy8gV2UgYWJzb2x1dGVseSBoYXZlIHRvIHZhbGlkYXRlIHRoZSBm
b3JtYXQgYW5kIHR5cGUgY29tYmluYXRpb24uCiAgICAgLy8gVGhlIHRleEltYWdlMkQgZW50cnkg
cG9pbnRzIHRha2luZyBIVE1MSW1hZ2UsIGV0Yy4gd2lsbCBwcm9kdWNlCkBAIC00ODg0LDggKzQ4
ODQsMTQgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlVGV4RnVuY1BhcmFt
ZXRlcnMoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLAogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWToKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dDNEOjpURVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1o6CiAgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHQzRDo6VEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aOgotICAgICAgICBpZiAod2lkdGggIT0g
aGVpZ2h0IHx8IHdpZHRoID4gbV9tYXhDdWJlTWFwVGV4dHVyZVNpemUpIHsKLSAgICAgICAgICAg
IHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFLCBmdW5j
dGlvbk5hbWUsICJ3aWR0aCAhPSBoZWlnaHQgb3Igd2lkdGggb3IgaGVpZ2h0IG91dCBvZiByYW5n
ZSBmb3IgY3ViZSBtYXAiKTsKKyAgICAgICAgaWYgKCFzdWJJbWFnZTJEICYmIHdpZHRoICE9IGhl
aWdodCkgeworICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJ
TlZBTElEX1ZBTFVFLCBmdW5jdGlvbk5hbWUsICJ3aWR0aCAhPSBoZWlnaHQgZm9yIGN1YmUgbWFw
Iik7CisgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIC8vIE5vIG5l
ZWQgdG8gY2hlY2sgaGVpZ2h0IGhlcmUuIEZvciB0ZXhJbWFnZSB3aWR0aCA9PSBoZWlnaHQuCisg
ICAgICAgIC8vIEZvciB0ZXhTdWJJbWFnZSB0aGF0IHdpbGwgYmUgY2hlY2tlZCB3aGVuIGNoZWNr
aW5nIHlvZmZzZXQgKyBoZWlnaHQgaXMgaW4gcmFuZ2UuCisgICAgICAgIGlmICh3aWR0aCA+IG1f
bWF4Q3ViZU1hcFRleHR1cmVTaXplKSB7CisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihH
cmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgZnVuY3Rpb25OYW1lLCAid2lkdGggb3Ig
aGVpZ2h0IG91dCBvZiByYW5nZSBmb3IgY3ViZSBtYXAiKTsKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgfQogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggZTRjM2Y3NGNkNDMyMTJk
MTQyNmM3ODI3NTFkNDdlY2NiYWFkZDhmYi4uYmI3ZDNlY2FkYmUxOWJlYWZjMzI4NDMxYmFmMmI3
YjAwYTA1OGI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmgKQEAgLTU4OCw3ICs1ODgsOCBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0MzRGVudW0gaW50ZXJuYWxmb3Jt
YXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDM0RzaXplaSB3aWR0aCwg
R0MzRHNpemVpIGhlaWdodCwgR0MzRGludCBib3JkZXIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBzdWJJbWFnZTJkKTsKIAog
ICAgIGVudW0gTnVsbERpc3Bvc2l0aW9uIHsKICAgICAgICAgTnVsbEFsbG93ZWQsCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MzZjOGJhNTg4NTdhNWYwMTMxN2NkNWE4NDM3YTk1NzNiYWQ0MTYwZC4uZjI4NWUwNzcwYmVhYzJi
ZGQwNzFlYzVjMmQxZThhMGU0NzAxNmY3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA3
LTIxICBHcmVnZyBUYXZhcmVzICA8Z21hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBXZWJH
TCB0ZXhTdWJJbWFnZTJEIGZvciBjdWJlIG1hcHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkxOTI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgZm9yIFdlYkdMIHRleFN1YkltYWdlMkQgZm9yIGN1
YmUgbWFwcy4KKworICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3RleC1zdWItaW1hZ2UtY3Vi
ZS1tYXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wv
dGV4LXN1Yi1pbWFnZS1jdWJlLW1hcHMuaHRtbDogQWRkZWQuCisKIDIwMTItMDctMjAgIFRvbnkg
Q2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFVucmV2aWV3
ZWQsIG9uZSBtb3JlIG5ldyBiYXNlbGluZXMgYWZ0ZXIgcjEyMzI3Mi4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1zdWItaW1hZ2UtY3ViZS1tYXBzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1zdWItaW1hZ2UtY3Vi
ZS1tYXBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDk5ODE5NGJmYmE3OWZmN2MzODU3NzUw
MTk2OGE3OGQ2MTc2OGQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvdGV4LXN1Yi1pbWFnZS1jdWJlLW1hcHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NDkgQEAKK0NoZWNrcyB0ZXhTdWJJbWFnZTJEIHdpdGggY3ViZSBtYXAgdGV4dHVyZXMKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKwordGVzdGluZyBzaXplOiAxNgorUEFTUyBURVhU
VVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ggc2hvdWxkIGJlIHJlZAorUEFTUyBURVhUVVJFX0NVQkVf
TUFQX05FR0FUSVZFX1ggc2hvdWxkIGJlIGdyZWVuCitQQVNTIFRFWFRVUkVfQ1VCRV9NQVBfUE9T
SVRJVkVfWSBzaG91bGQgYmUgYmx1ZQorUEFTUyBURVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1kg
c2hvdWxkIGJlIHllbGxvdworUEFTUyBURVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ogc2hvdWxk
IGJlIGN5YW4KK1BBU1MgVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aIHNob3VsZCBiZSBtYWdl
bnRhCitQQVNTIDAsIDAsIDQsIDIgc2hvdWxkIGJlIHllbGxvdworUEFTUyAwLCAyLCA0LCAyIHNo
b3VsZCBiZSBjeWFuCitQQVNTIDAsIDAsIDQsIDIgc2hvdWxkIGJlIGN5YW4KK1BBU1MgMCwgMiwg
NCwgMiBzaG91bGQgYmUgYmx1ZQorUEFTUyAwLCAwLCA0LCAyIHNob3VsZCBiZSBtYWdlbnRhCitQ
QVNTIDAsIDIsIDQsIDIgc2hvdWxkIGJlIHllbGxvdworUEFTUyAwLCAwLCA0LCAyIHNob3VsZCBi
ZSBibHVlCitQQVNTIDAsIDIsIDQsIDIgc2hvdWxkIGJlIG1hZ2VudGEKK1BBU1MgMCwgMCwgNCwg
MiBzaG91bGQgYmUgeWVsbG93CitQQVNTIDAsIDIsIDQsIDIgc2hvdWxkIGJlIHJlZAorUEFTUyAw
LCAwLCA0LCAyIHNob3VsZCBiZSByZWQKK1BBU1MgMCwgMiwgNCwgMiBzaG91bGQgYmUgYmx1ZQor
dXNlIG1pcG1hcAorUEFTUyBURVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1ggc2hvdWxkIGJlIGdy
ZWVuCitQQVNTIFRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCBzaG91bGQgYmUgYmx1ZQorUEFT
UyBURVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1kgc2hvdWxkIGJlIHllbGxvdworUEFTUyBURVhU
VVJFX0NVQkVfTUFQX05FR0FUSVZFX1kgc2hvdWxkIGJlIGN5YW4KK1BBU1MgVEVYVFVSRV9DVUJF
X01BUF9QT1NJVElWRV9aIHNob3VsZCBiZSBtYWdlbnRhCitQQVNTIFRFWFRVUkVfQ1VCRV9NQVBf
TkVHQVRJVkVfWiBzaG91bGQgYmUgcmVkCitQQVNTIDAsIDAsIDQsIDIgc2hvdWxkIGJlIGN5YW4K
K1BBU1MgMCwgMiwgNCwgMiBzaG91bGQgYmUgbWFnZW50YQorUEFTUyAwLCAwLCA0LCAyIHNob3Vs
ZCBiZSBtYWdlbnRhCitQQVNTIDAsIDIsIDQsIDIgc2hvdWxkIGJlIHllbGxvdworUEFTUyAwLCAw
LCA0LCAyIHNob3VsZCBiZSByZWQKK1BBU1MgMCwgMiwgNCwgMiBzaG91bGQgYmUgY3lhbgorUEFT
UyAwLCAwLCA0LCAyIHNob3VsZCBiZSB5ZWxsb3cKK1BBU1MgMCwgMiwgNCwgMiBzaG91bGQgYmUg
cmVkCitQQVNTIDAsIDAsIDQsIDIgc2hvdWxkIGJlIGN5YW4KK1BBU1MgMCwgMiwgNCwgMiBzaG91
bGQgYmUgZ3JlZW4KK1BBU1MgMCwgMCwgNCwgMiBzaG91bGQgYmUgZ3JlZW4KK1BBU1MgMCwgMiwg
NCwgMiBzaG91bGQgYmUgeWVsbG93CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL3RleC1zdWItaW1hZ2UtY3ViZS1tYXBzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC90ZXgtc3ViLWltYWdlLWN1YmUtbWFwcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmZjZDU0NWNhODAxYzQwYTFkN2FmMjk3M2YxMjM4N2FhZTY1NTc2ZWIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtc3ViLWltYWdlLWN1YmUtbWFw
cy5odG1sCkBAIC0wLDAgKzEsMzM1IEBACis8IS0tCisKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIw
MTIgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5
IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJl
c3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBl
cm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg
aW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl
IE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFC
SUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F
TlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS
UyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZ
LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNF
LCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRF
UklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8K
KworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCB0ZXh0dXJlIHRleFN1YkltYWdlMkRzIGN1YmUgbWFwIGNv
bmZvcm1hbmNlIHRlc3QuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10
ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRp
bHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3
aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgc3R5bGU9IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7
Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBpZD0idnNoYWRlciIgdHlwZT0ieC1zaGFkZXIveC12ZXJ0ZXgi
PgorYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOwordW5pZm9ybSBtYXQ0IHJvdGF0aW9uOwordmFy
eWluZyB2ZWMzIHRleENvb3JkOwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9Qb3NpdGlvbiA9IHZQ
b3NpdGlvbjsKKyAgICB2ZWM0IGRpcmVjdGlvbiA9IHZlYzQodlBvc2l0aW9uLnggKiAwLjUsIHZQ
b3NpdGlvbi55ICogMC41LCAxLCAxKTsKKyAgICB0ZXhDb29yZCA9IG5vcm1hbGl6ZSgocm90YXRp
b24gKiBkaXJlY3Rpb24pLnh5eik7Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBpZD0iZnNoYWRl
ciIgdHlwZT0ieC1zaGFkZXIveC1mcmFnbWVudCI+CitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsK
K3VuaWZvcm0gc2FtcGxlckN1YmUgdGV4OwordmFyeWluZyB2ZWMzIHRleENvb3JkOwordm9pZCBt
YWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlQ3ViZSh0ZXgsIG5vcm1hbGl6ZSh0
ZXhDb29yZCkpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIGNhbnZhczsKK2Rlc2NyaXB0
aW9uKCJDaGVja3MgdGV4U3ViSW1hZ2UyRCB3aXRoIGN1YmUgbWFwIHRleHR1cmVzIik7CitkZWJ1
ZygiIik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK2NhbnZhcyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJleGFtcGxlIik7CisKK2dsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52
YXMpOword3R1LnNldHVwVW5pdFF1YWQoZ2wsIDAsIDEpOwordmFyIHByb2dyYW0gPSB3dHUuc2V0
dXBQcm9ncmFtKAorICAgIGdsLAorICAgIFsndnNoYWRlcicsICdmc2hhZGVyJ10sCisgICAgWyd2
UG9zaXRpb24nLCAndGV4Q29vcmQwJ10sIFswLCAxXSk7Cit2YXIgcm90TG9jID0gZ2wuZ2V0VW5p
Zm9ybUxvY2F0aW9uKHByb2dyYW0sICJyb3RhdGlvbiIpOworCitzaXplID0gMTY7CisKK3ZhciBj
b2xvcnMgPSBbCisgIHtuYW1lOiAncmVkJywgICAgIGNvbG9yOiBbMjU1LCAgIDAsICAgMCwgMjU1
XX0sCisgIHtuYW1lOiAnZ3JlZW4nLCAgIGNvbG9yOiBbICAwLCAyNTUsICAgMCwgMjU1XX0sCisg
IHtuYW1lOiAnYmx1ZScsICAgIGNvbG9yOiBbICAwLCAgIDAsIDI1NSwgMjU1XX0sCisgIHtuYW1l
OiAneWVsbG93JywgIGNvbG9yOiBbMjU1LCAyNTUsICAgMCwgMjU1XX0sCisgIHtuYW1lOiAnY3lh
bicsICAgIGNvbG9yOiBbICAwLCAyNTUsIDI1NSwgMjU1XX0sCisgIHtuYW1lOiAnbWFnZW50YScs
IGNvbG9yOiBbMjU1LCAgIDAsIDI1NSwgMjU1XX0KK107CisKK3ZhciB0YXJnZXRzID0gWworICBn
bC5URVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVH
QVRJVkVfWCwKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZLAorICBnbC5URVhUVVJF
X0NVQkVfTUFQX05FR0FUSVZFX1ksCisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwK
KyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aXTsKKwordmFyIHJvdGF0aW9ucyA9IFsK
KyAge2F4aXM6IFswLCAxLCAwXSwgYW5nbGU6ICBNYXRoLlBJIC8gMn0sCisgIHtheGlzOiBbMCwg
MSwgMF0sIGFuZ2xlOiAtTWF0aC5QSSAvIDJ9LAorICB7YXhpczogWzEsIDAsIDBdLCBhbmdsZTog
LU1hdGguUEkgLyAyfSwKKyAge2F4aXM6IFsxLCAwLCAwXSwgYW5nbGU6ICBNYXRoLlBJIC8gMn0s
CisgIHtheGlzOiBbMCwgMSwgMF0sIGFuZ2xlOiAgMH0sCisgIHtheGlzOiBbMCwgMSwgMF0sIGFu
Z2xlOiAgTWF0aC5QSX0sCitdOworCit2YXIgaGFsZlJvdGF0aW9ucyA9IFsKKyAge2NvbG9yczog
WzMsIDRdLCByb3RhdGlvbnM6IFt7YXhpczogWzEsIDAsIDBdLCBhbmdsZTogIE1hdGguUEkgLyA0
fV19LAorICB7Y29sb3JzOiBbNCwgMl0sIHJvdGF0aW9uczogW3theGlzOiBbMSwgMCwgMF0sIGFu
Z2xlOiAtTWF0aC5QSSAvIDR9XX0sCisgIHtjb2xvcnM6IFs1LCAzXSwgcm90YXRpb25zOiBbe2F4
aXM6IFsxLCAwLCAwXSwgYW5nbGU6ICBNYXRoLlBJIC8gNCAqIDN9XX0sCisgIHtjb2xvcnM6IFsy
LCA1XSwgcm90YXRpb25zOiBbe2F4aXM6IFsxLCAwLCAwXSwgYW5nbGU6IC1NYXRoLlBJIC8gNCAq
IDN9XX0sCisgIHtjb2xvcnM6IFszLCAwXSwgcm90YXRpb25zOiBbe2F4aXM6IFswLCAxLCAwXSwg
YW5nbGU6ICBNYXRoLlBJIC8gMn0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2F4
aXM6IFsxLCAwLCAwXSwgYW5nbGU6ICBNYXRoLlBJIC8gNH1dfSwKKyAge2NvbG9yczogWzAsIDJd
LCByb3RhdGlvbnM6IFt7YXhpczogWzAsIDEsIDBdLCBhbmdsZTogIE1hdGguUEkgLyAyfSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YXhpczogWzEsIDAsIDBdLCBhbmdsZTogLU1h
dGguUEkgLyA0fV19LAorXTsKKwordmFyIGNvdW50ID0gMDsKK3Rlc3RTaXplKHNpemUpOworCitm
dW5jdGlvbiB0ZXN0U2l6ZShzaXplKSB7CisgIGRlYnVnKCIiKTsKKyAgZGVidWcoInRlc3Rpbmcg
c2l6ZTogIiArIHNpemUpOworICB2YXIgY2FudmFzU2l6ZSA9IE1hdGgubWF4KHNpemUgLyA0LCAy
KTsKKyAgY2FudmFzLndpZHRoID0gY2FudmFzU2l6ZTsKKyAgY2FudmFzLmhlaWdodCA9IGNhbnZh
c1NpemU7CisgIGdsLnZpZXdwb3J0KDAsIDAsIGNhbnZhc1NpemUsIGNhbnZhc1NpemUpOworICB2
YXIgdGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJF
X0NVQkVfTUFQLCB0ZXgpOworCisgIC8vIFNlZW1zIGxpa2UgSSBzaG91bGQgYmUgdXNpbmcgTElO
RUFSIGhlcmUgd2l0aCBzb21lIG90aGVyIG1hdGgKKyAgLy8gdG8gbWFrZSBzdXJlIEkgZ2V0IG1v
cmUgbWlwIGNvdmVyYWdlIGJ1dCB0aGF0J3MgZWFzaWVyIHNhaWQKKyAgLy8gdGhhbiBkb25lLgor
CisgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV9DVUJFX01BUCwgZ2wuVEVYVFVSRV9NSU5f
RklMVEVSLCBnbC5ORUFSRVNUKTsKKyAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFX0NVQkVf
TUFQLCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworCisgIGZvciAodmFyIGpq
ID0gMDsgamogPCAyOyArK2pqKSB7CisgICAgZm9yICh2YXIgdHQgPSAwOyB0dCA8IHRhcmdldHMu
bGVuZ3RoOyArK3R0KSB7CisgICAgICB2YXIgY29sb3IgPSBjb2xvcnNbKHR0ICsgY291bnQpICUg
Y29sb3JzLmxlbmd0aF07CisgICAgICBmaWxsTGV2ZWwodGFyZ2V0c1t0dF0sIDAsIHNpemUsIGNv
bG9yLmNvbG9yKTsKKyAgICB9CisgICAgaWYgKGpqID09IDEpIHsKKyAgICAgIGRlYnVnKCJ1c2Ug
bWlwbWFwIik7CisgICAgICBnbC50ZXhQYXJhbWV0ZXJpKAorICAgICAgICAgIGdsLlRFWFRVUkVf
Q1VCRV9NQVAsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwKKyAgICAgICAgICBnbC5ORUFSRVNUX01J
UE1BUF9ORUFSRVNUKTsKKyAgICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfQ1VCRV9N
QVApOworICAgIH0KKworICAgIHZhciBlcnIgPSBnbC5nZXRFcnJvcigpOworICAgIGlmIChlcnIg
PT0gZ2wuT1VUX09GX01FTU9SWSkgeworICAgICAgZGVidWcoIm91dCBvZiBtZW1vcnkiKTsKKyAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgaWYgKGVyciAhPSBnbC5OT19FUlJPUikgewor
ICAgICAgdGVzdEZhaWxlZCgidW5leHBlY3RlZCBnbCBlcnJvcjogIiArIHd0dS5nbEVudW1Ub1N0
cmluZyhnbCwgZXJyKSk7CisgICAgfQorCisKKyAgICBmb3IgKHZhciByciA9IDA7IHJyIDwgcm90
YXRpb25zLmxlbmd0aDsgKytycikgeworICAgICAgdmFyIHJvdCA9IHJvdGF0aW9uc1tycl07Cisg
ICAgICB2YXIgY29sb3IgPSBjb2xvcnNbKHJyICsgY291bnQpICUgY29sb3JzLmxlbmd0aF07Cisg
ICAgICB2YXIgcm90TWF0ID0gYXhpc1JvdGF0aW9uKHJvdC5heGlzLCByb3QuYW5nbGUpOworICAg
ICAgZ2wudW5pZm9ybU1hdHJpeDRmdihyb3RMb2MsIGZhbHNlLCByb3RNYXQpOworICAgICAgd3R1
LmRyYXdRdWFkKGdsKTsKKyAgICAgIHd0dS5jaGVja0NhbnZhcygKKyAgICAgICAgICBnbCwgY29s
b3IuY29sb3IsCisgICAgICAgICAgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCB0YXJnZXRzW3JyXSkg
KyAiIHNob3VsZCBiZSAiICsgY29sb3IubmFtZSk7CisgICAgfQorCisgICAgZm9yICh2YXIgcnIg
PSAwOyByciA8IGhhbGZSb3RhdGlvbnMubGVuZ3RoOyArK3JyKSB7CisgICAgICB2YXIgaCA9IGhh
bGZSb3RhdGlvbnNbcnJdOworICAgICAgdmFyIHJvdHMgPSBoLnJvdGF0aW9uczsKKyAgICAgIHZh
ciByb3RNYXQgPSBheGlzUm90YXRpb24ocm90c1swXS5heGlzLCByb3RzWzBdLmFuZ2xlKTsKKyAg
ICAgIGZvciAodmFyIGlpID0gMTsgaWkgPCByb3RzLmxlbmd0aDsgKytpaSkgeworICAgICAgICB2
YXIgdG1wTWF0ID0gYXhpc1JvdGF0aW9uKHJvdHNbaWldLmF4aXMsIHJvdHNbaWldLmFuZ2xlKTsK
KyAgICAgICAgdmFyIHJvdE1hdCA9IG11bE1hdHJpeCh0bXBNYXQsIHJvdE1hdCk7CisgICAgICB9
CisgICAgICBnbC51bmlmb3JtTWF0cml4NGZ2KHJvdExvYywgZmFsc2UsIHJvdE1hdCk7CisgICAg
ICB3dHUuZHJhd1F1YWQoZ2wpOworCisgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgMjsgKytp
aSkgeworICAgICAgICBjaGVja1JlY3QoCisgICAgICAgICAgICAwLAorICAgICAgICAgICAgY2Fu
dmFzU2l6ZSAvIDIgKiBpaSwKKyAgICAgICAgICAgIGNhbnZhc1NpemUsCisgICAgICAgICAgICBj
YW52YXNTaXplIC8gMiwKKyAgICAgICAgICAgIGNvbG9yc1soaC5jb2xvcnNbaWldICsgY291bnQp
ICUgY29sb3JzLmxlbmd0aF0pOworICAgICAgfQorICAgIH0KKyAgICArK2NvdW50OworICB9CisK
KyAgZ2wuZGVsZXRlVGV4dHVyZSh0ZXgpOworICByZXR1cm4gdHJ1ZTsKK30KKworZ2xFcnJvclNo
b3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgIlNob3VsZCBiZSBubyBlcnJvcnMuIik7CisKK2Z1bmN0
aW9uIGNoZWNrUmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0LCBjb2xvcikgeworICB3dHUuY2hlY2tD
YW52YXNSZWN0KAorICAgICAgIGdsLAorICAgICAgIHgsCisgICAgICAgeSwKKyAgICAgICB3aWR0
aCwKKyAgICAgICBoZWlnaHQsCisgICAgICAgY29sb3IuY29sb3IsCisgICAgICAgIiIgKyB4ICsg
IiwgIiArIHkgKyAiLCAiICsgd2lkdGggKyAiLCAiICsgaGVpZ2h0ICsKKyAgICAgICAiIHNob3Vs
ZCBiZSAiICsgY29sb3IubmFtZSk7Cit9CisKK2Z1bmN0aW9uIGZpbGxMZXZlbCh0YXJnZXQsIGxl
dmVsLCBzaXplLCBjb2xvcikgeworICB2YXIgbnVtUGl4ZWxzID0gc2l6ZSAqIHNpemU7CisgIHZh
ciBoYWxmUGl4ZWxSb3cgPSBuZXcgVWludDhBcnJheShzaXplICogMik7CisgIGZvciAodmFyIGpq
ID0gMDsgamogPCBzaXplOyArK2pqKSB7CisgICAgdmFyIG9mZiA9IGpqICogNDsKKyAgICBoYWxm
UGl4ZWxSb3dbb2ZmICsgMF0gPSBjb2xvclswXTsKKyAgICBoYWxmUGl4ZWxSb3dbb2ZmICsgMV0g
PSBjb2xvclsxXTsKKyAgICBoYWxmUGl4ZWxSb3dbb2ZmICsgMl0gPSBjb2xvclsyXTsKKyAgICBo
YWxmUGl4ZWxSb3dbb2ZmICsgM10gPSBjb2xvclszXTsKKyAgfQorICBnbC50ZXhJbWFnZTJEKAor
ICAgICAgdGFyZ2V0LCBsZXZlbCwgZ2wuUkdCQSwgc2l6ZSwgc2l6ZSwgMCwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwKKyAgICAgIG51bGwpOworICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgc2l6
ZTsgKytqaikgeworCSAgZ2wudGV4U3ViSW1hZ2UyRCgKKwkJICB0YXJnZXQsIGxldmVsLCAwLCBq
aiwgc2l6ZSAvIDIsIDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGhhbGZQaXhlbFJvdyk7
CisJICBnbC50ZXhTdWJJbWFnZTJEKAorCQkgIHRhcmdldCwgbGV2ZWwsIHNpemUgLyAyLCBqaiwg
c2l6ZSAvIDIsIDEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIGhhbGZQaXhlbFJvdyk7Cisg
IH0KK30KKworZnVuY3Rpb24gcHJpbnRNYXQobWF0KSB7CisgIGRlYnVnKCIiICsgbWF0WzBdICsg
IiwgIiArIG1hdFsxXSArICIsICIgKyBtYXRbMl0gKyAiLCAiICsgbWF0WzNdICsgIiwgIik7Cisg
IGRlYnVnKCIiICsgbWF0WzRdICsgIiwgIiArIG1hdFs1XSArICIsICIgKyBtYXRbNl0gKyAiLCAi
ICsgbWF0WzddICsgIiwgIik7CisgIGRlYnVnKCIiICsgbWF0WzhdICsgIiwgIiArIG1hdFs5XSAr
ICIsICIgKyBtYXRbMTBdICsgIiwgIiArIG1hdFsxMV0gKyAiLCAiKTsKKyAgZGVidWcoIiIgKyBt
YXRbMTJdICsgIiwgIiArIG1hdFsxM10gKyAiLCAiICsgbWF0WzE0XSArICIsICIgKyBtYXRbMTVd
ICsgIiwgIik7Cit9CisKK2Z1bmN0aW9uIGF4aXNSb3RhdGlvbihheGlzLCBhbmdsZSkgeworICB2
YXIgZHN0ID0gbmV3IEZsb2F0MzJBcnJheSgxNik7CisgIHZhciB4ID0gYXhpc1swXTsKKyAgdmFy
IHkgPSBheGlzWzFdOworICB2YXIgeiA9IGF4aXNbMl07CisgIHZhciBuID0gTWF0aC5zcXJ0KHgg
KiB4ICsgeSAqIHkgKyB6ICogeik7CisgIHggLz0gbjsKKyAgeSAvPSBuOworICB6IC89IG47Cisg
IHZhciB4eCA9IHggKiB4OworICB2YXIgeXkgPSB5ICogeTsKKyAgdmFyIHp6ID0geiAqIHo7Cisg
IHZhciBjID0gTWF0aC5jb3MoYW5nbGUpOworICB2YXIgcyA9IE1hdGguc2luKGFuZ2xlKTsKKyAg
dmFyIG9uZU1pbnVzQ29zaW5lID0gMSAtIGM7CisKKyAgZHN0WyAwXSA9IHh4ICsgKDEgLSB4eCkg
KiBjOworICBkc3RbIDFdID0geCAqIHkgKiBvbmVNaW51c0Nvc2luZSArIHogKiBzOworICBkc3Rb
IDJdID0geCAqIHogKiBvbmVNaW51c0Nvc2luZSAtIHkgKiBzOworICBkc3RbIDNdID0gMDsKKyAg
ZHN0WyA0XSA9IHggKiB5ICogb25lTWludXNDb3NpbmUgLSB6ICogczsKKyAgZHN0WyA1XSA9IHl5
ICsgKDEgLSB5eSkgKiBjOworICBkc3RbIDZdID0geSAqIHogKiBvbmVNaW51c0Nvc2luZSArIHgg
KiBzOworICBkc3RbIDddID0gMDsKKyAgZHN0WyA4XSA9IHggKiB6ICogb25lTWludXNDb3NpbmUg
KyB5ICogczsKKyAgZHN0WyA5XSA9IHkgKiB6ICogb25lTWludXNDb3NpbmUgLSB4ICogczsKKyAg
ZHN0WzEwXSA9IHp6ICsgKDEgLSB6eikgKiBjOworICBkc3RbMTFdID0gMDsKKyAgZHN0WzEyXSA9
IDA7CisgIGRzdFsxM10gPSAwOworICBkc3RbMTRdID0gMDsKKyAgZHN0WzE1XSA9IDE7CisKKyAg
cmV0dXJuIGRzdDsKK307CisKK2Z1bmN0aW9uIG11bE1hdHJpeChhLCBiKSB7CisgIHZhciBkc3Qg
PSBuZXcgRmxvYXQzMkFycmF5KDE2KTsKKyAgdmFyIGEwMCA9IGFbMF07CisgIHZhciBhMDEgPSBh
WzFdOworICB2YXIgYTAyID0gYVsyXTsKKyAgdmFyIGEwMyA9IGFbM107CisgIHZhciBhMTAgPSBh
WyA0ICsgMF07CisgIHZhciBhMTEgPSBhWyA0ICsgMV07CisgIHZhciBhMTIgPSBhWyA0ICsgMl07
CisgIHZhciBhMTMgPSBhWyA0ICsgM107CisgIHZhciBhMjAgPSBhWyA4ICsgMF07CisgIHZhciBh
MjEgPSBhWyA4ICsgMV07CisgIHZhciBhMjIgPSBhWyA4ICsgMl07CisgIHZhciBhMjMgPSBhWyA4
ICsgM107CisgIHZhciBhMzAgPSBhWzEyICsgMF07CisgIHZhciBhMzEgPSBhWzEyICsgMV07Cisg
IHZhciBhMzIgPSBhWzEyICsgMl07CisgIHZhciBhMzMgPSBhWzEyICsgM107CisgIHZhciBiMDAg
PSBiWzBdOworICB2YXIgYjAxID0gYlsxXTsKKyAgdmFyIGIwMiA9IGJbMl07CisgIHZhciBiMDMg
PSBiWzNdOworICB2YXIgYjEwID0gYlsgNCArIDBdOworICB2YXIgYjExID0gYlsgNCArIDFdOwor
ICB2YXIgYjEyID0gYlsgNCArIDJdOworICB2YXIgYjEzID0gYlsgNCArIDNdOworICB2YXIgYjIw
ID0gYlsgOCArIDBdOworICB2YXIgYjIxID0gYlsgOCArIDFdOworICB2YXIgYjIyID0gYlsgOCAr
IDJdOworICB2YXIgYjIzID0gYlsgOCArIDNdOworICB2YXIgYjMwID0gYlsxMiArIDBdOworICB2
YXIgYjMxID0gYlsxMiArIDFdOworICB2YXIgYjMyID0gYlsxMiArIDJdOworICB2YXIgYjMzID0g
YlsxMiArIDNdOworICBkc3RbIDBdID0gYTAwICogYjAwICsgYTAxICogYjEwICsgYTAyICogYjIw
ICsgYTAzICogYjMwOworICBkc3RbIDFdID0gYTAwICogYjAxICsgYTAxICogYjExICsgYTAyICog
YjIxICsgYTAzICogYjMxOworICBkc3RbIDJdID0gYTAwICogYjAyICsgYTAxICogYjEyICsgYTAy
ICogYjIyICsgYTAzICogYjMyOworICBkc3RbIDNdID0gYTAwICogYjAzICsgYTAxICogYjEzICsg
YTAyICogYjIzICsgYTAzICogYjMzOworICBkc3RbIDRdID0gYTEwICogYjAwICsgYTExICogYjEw
ICsgYTEyICogYjIwICsgYTEzICogYjMwOworICBkc3RbIDVdID0gYTEwICogYjAxICsgYTExICog
YjExICsgYTEyICogYjIxICsgYTEzICogYjMxOworICBkc3RbIDZdID0gYTEwICogYjAyICsgYTEx
ICogYjEyICsgYTEyICogYjIyICsgYTEzICogYjMyOworICBkc3RbIDddID0gYTEwICogYjAzICsg
YTExICogYjEzICsgYTEyICogYjIzICsgYTEzICogYjMzOworICBkc3RbIDhdID0gYTIwICogYjAw
ICsgYTIxICogYjEwICsgYTIyICogYjIwICsgYTIzICogYjMwOworICBkc3RbIDldID0gYTIwICog
YjAxICsgYTIxICogYjExICsgYTIyICogYjIxICsgYTIzICogYjMxOworICBkc3RbMTBdID0gYTIw
ICogYjAyICsgYTIxICogYjEyICsgYTIyICogYjIyICsgYTIzICogYjMyOworICBkc3RbMTFdID0g
YTIwICogYjAzICsgYTIxICogYjEzICsgYTIyICogYjIzICsgYTIzICogYjMzOworICBkc3RbMTJd
ID0gYTMwICogYjAwICsgYTMxICogYjEwICsgYTMyICogYjIwICsgYTMzICogYjMwOworICBkc3Rb
MTNdID0gYTMwICogYjAxICsgYTMxICogYjExICsgYTMyICogYjIxICsgYTMzICogYjMxOworICBk
c3RbMTRdID0gYTMwICogYjAyICsgYTMxICogYjEyICsgYTMyICogYjIyICsgYTMzICogYjMyOwor
ICBkc3RbMTVdID0gYTMwICogYjAzICsgYTMxICogYjEzICsgYTMyICogYjIzICsgYTMzICogYjMz
OworICByZXR1cm4gZHN0OworfTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153861</attachid>
            <date>2012-07-23 14:29:29 -0700</date>
            <delta_ts>2012-07-23 15:53:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91927-20120723142921.patch</filename>
            <type>text/plain</type>
            <size>19603</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTYzMjU2NmEyZWYzNzEz
MjYxYTBmMWRkZjFjNDBiYzk1ZDcyNmJkMS4uNjhkZDFkMmQwMGZhM2YzNWU2NWM3MzNiZDc2MjY1
MjlhMzAyMjIwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA3LTIxICBHcmVn
ZyBUYXZhcmVzICA8Z21hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBXZWJHTCB0ZXhTdWJJ
bWFnZTJEIGZvciBjdWJlIG1hcHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTkxOTI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRml4ZXMgdGV4U3ViSW1hZ2UyRCBzbyBhbnkgc2l6ZSByZWN0YW5nbGUgY2Fu
IGJlIHBhc3NlZCBpbgorICAgICAgICBmb3IgY3ViZSBtYXBzLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvY2FudmFzL3dlYmdsL3RleC1zdWItaW1hZ2UtY3ViZS1tYXBzLmh0bWwKKworICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y29weVRleEltYWdl
MkQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJE
QmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleFN1Yklt
YWdlMkRCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFs
aWRhdGVUZXhGdW5jUGFyYW1ldGVycyk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Lmg6CisgICAgICAgIChXZWJHTFJlbmRlcmluZ0NvbnRleHQpOgorCiAyMDEy
LTA3LTIzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IFBhcnQgMiBvZjogSW1wbGVtZW50IHN0aWNreSBwb3NpdGlvbmluZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggNGRh
ZDc0OTA2MGUwZWYzNmZlYjIxYjZmMGM1NWUwOGJmNzkzMTI5OC4uNzZmNmJlMDg1ZmMxODBkMWQ5
NmMyODhjMDgzZWY4ZWYxM2NlMzQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC0xMzM0LDcgKzEzMzQsNyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y29weVRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEZQogewogICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICBpZiAoIXZhbGlkYXRlVGV4RnVuY1BhcmFtZXRlcnMoImNvcHlUZXhJ
bWFnZTJEIiwgdGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWlnaHQsIGJv
cmRlciwgaW50ZXJuYWxmb3JtYXQsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKSkK
KyAgICBpZiAoIXZhbGlkYXRlVGV4RnVuY1BhcmFtZXRlcnMoImNvcHlUZXhJbWFnZTJEIiwgTm90
VGV4U3ViSW1hZ2UyRCwgdGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWln
aHQsIGJvcmRlciwgaW50ZXJuYWxmb3JtYXQsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9C
WVRFKSkKICAgICAgICAgcmV0dXJuOwogICAgIGlmICghdmFsaWRhdGVTZXR0YWJsZVRleEZvcm1h
dCgiY29weVRleEltYWdlMkQiLCBpbnRlcm5hbGZvcm1hdCkpCiAgICAgICAgIHJldHVybjsKQEAg
LTM1MDMsNyArMzUwMyw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJE
QmFzZShHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlCiB7CiAgICAgLy8gRklY
TUU6IEZvciBub3cgd2UgaWdub3JlIGFueSBlcnJvcnMgcmV0dXJuZWQKICAgICBlYyA9IDA7Ci0g
ICAgaWYgKCF2YWxpZGF0ZVRleEZ1bmNQYXJhbWV0ZXJzKCJ0ZXhJbWFnZTJEIiwgdGFyZ2V0LCBs
ZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWlnaHQsIGJvcmRlciwgZm9ybWF0LCB0eXBl
KSkKKyAgICBpZiAoIXZhbGlkYXRlVGV4RnVuY1BhcmFtZXRlcnMoInRleEltYWdlMkQiLCBOb3RU
ZXhTdWJJbWFnZTJELCB0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgd2lkdGgsIGhlaWdo
dCwgYm9yZGVyLCBmb3JtYXQsIHR5cGUpKQogICAgICAgICByZXR1cm47CiAgICAgV2ViR0xUZXh0
dXJlKiB0ZXggPSB2YWxpZGF0ZVRleHR1cmVCaW5kaW5nKCJ0ZXhJbWFnZTJEIiwgdGFyZ2V0LCB0
cnVlKTsKICAgICBpZiAoIXRleCkKQEAgLTM3NDgsNyArMzc0OCw3IEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTJEQmFzZShHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQg
bGV2ZWwsIEdDCiAgICAgZWMgPSAwOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkpCiAgICAgICAg
IHJldHVybjsKLSAgICBpZiAoIXZhbGlkYXRlVGV4RnVuY1BhcmFtZXRlcnMoInRleFN1YkltYWdl
MkQiLCB0YXJnZXQsIGxldmVsLCBmb3JtYXQsIHdpZHRoLCBoZWlnaHQsIDAsIGZvcm1hdCwgdHlw
ZSkpCisgICAgaWYgKCF2YWxpZGF0ZVRleEZ1bmNQYXJhbWV0ZXJzKCJ0ZXhTdWJJbWFnZTJEIiwg
VGV4U3ViSW1hZ2UyRCwgdGFyZ2V0LCBsZXZlbCwgZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCAwLCBm
b3JtYXQsIHR5cGUpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCF2YWxpZGF0ZVNpemUoInRl
eFN1YkltYWdlMkQiLCB4b2Zmc2V0LCB5b2Zmc2V0KSkKICAgICAgICAgcmV0dXJuOwpAQCAtNDg1
NSw2ICs0ODU1LDcgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlVGV4RnVu
Y0xldmVsKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGUKIH0KIAogYm9vbCBXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlVGV4RnVuY1BhcmFtZXRlcnMoY29uc3QgY2hhciogZnVu
Y3Rpb25OYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVGV4RnVuY1ZhbGlkYXRpb25GdW5jdGlvblR5cGUgZnVuY3Rpb25UeXBlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0MzRGVu
dW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQzNEc2l6ZWkg
d2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RpbnQgYm9yZGVyLApAQCAtNDg4NCw4ICs0ODg1
LDE0IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZVRleEZ1bmNQYXJhbWV0
ZXJzKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpURVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1k6CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQz
RDo6VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aOgogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWjoKLSAgICAgICAgaWYgKHdpZHRoICE9IGhl
aWdodCB8fCB3aWR0aCA+IG1fbWF4Q3ViZU1hcFRleHR1cmVTaXplKSB7Ci0gICAgICAgICAgICBz
eW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgZnVuY3Rp
b25OYW1lLCAid2lkdGggIT0gaGVpZ2h0IG9yIHdpZHRoIG9yIGhlaWdodCBvdXQgb2YgcmFuZ2Ug
Zm9yIGN1YmUgbWFwIik7CisgICAgICAgIGlmIChmdW5jdGlvblR5cGUgIT0gVGV4U3ViSW1hZ2Uy
RCAmJiB3aWR0aCAhPSBoZWlnaHQpIHsKKyAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFw
aGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgZnVuY3Rpb25OYW1lLCAid2lkdGggIT0gaGVp
Z2h0IGZvciBjdWJlIG1hcCIpOworICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQor
ICAgICAgICAvLyBObyBuZWVkIHRvIGNoZWNrIGhlaWdodCBoZXJlLiBGb3IgdGV4SW1hZ2Ugd2lk
dGggPT0gaGVpZ2h0LgorICAgICAgICAvLyBGb3IgdGV4U3ViSW1hZ2UgdGhhdCB3aWxsIGJlIGNo
ZWNrZWQgd2hlbiBjaGVja2luZyB5b2Zmc2V0ICsgaGVpZ2h0IGlzIGluIHJhbmdlLgorICAgICAg
ICBpZiAod2lkdGggPiBtX21heEN1YmVNYXBUZXh0dXJlU2l6ZSkgeworICAgICAgICAgICAgc3lu
dGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUsIGZ1bmN0aW9u
TmFtZSwgIndpZHRoIG9yIGhlaWdodCBvdXQgb2YgcmFuZ2UgZm9yIGN1YmUgbWFwIik7CiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4
IGU0YzNmNzRjZDQzMjEyZDE0MjZjNzgyNzUxZDQ3ZWNjYmFhZGQ4ZmIuLjcyNzBlYzE1ZjJkNzVm
MzlhYjg0NmU0ZmMyMWI1OWFhOTg2ZmM3NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCkBAIC01ODIsOSArNTgyLDE1IEBAIHB1
YmxpYzoKICAgICAvLyBHZW5lcmF0ZXMgR0wgZXJyb3IgYW5kIHJldHVybnMgZmFsc2UgaWYgbGV2
ZWwgaXMgaW52YWxpZC4KICAgICBib29sIHZhbGlkYXRlVGV4RnVuY0xldmVsKGNvbnN0IGNoYXIq
IGZ1bmN0aW9uTmFtZSwgR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsKTsKIAorICAgIGVu
dW0gVGV4RnVuY1ZhbGlkYXRpb25GdW5jdGlvblR5cGUgeworICAgICAgICBOb3RUZXhTdWJJbWFn
ZTJELAorICAgICAgICBUZXhTdWJJbWFnZTJELAorICAgIH07CisKICAgICAvLyBIZWxwZXIgZnVu
Y3Rpb24gdG8gY2hlY2sgaW5wdXQgcGFyYW1ldGVycyBmb3IgZnVuY3Rpb25zIHtjb3B5fVRleHtT
dWJ9SW1hZ2UuCiAgICAgLy8gR2VuZXJhdGVzIEdMIGVycm9yIGFuZCByZXR1cm5zIGZhbHNlIGlm
IHBhcmFtZXRlcnMgYXJlIGludmFsaWQuCiAgICAgYm9vbCB2YWxpZGF0ZVRleEZ1bmNQYXJhbWV0
ZXJzKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVGV4RnVuY1ZhbGlkYXRpb25GdW5jdGlvblR5cGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNp
emVpIGhlaWdodCwgR0MzRGludCBib3JkZXIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjE0YWQzNTRlNTA3MWU4NTBmZTk0
NmM2ZTlhNjFlN2FhZGJmZjA5OC4uZjMxYTIzNmI4MmMxZTA3NmY5MGZmNDQ1M2JlMGZjNDFjNzc3
ODkxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA3LTIxICBHcmVnZyBUYXZhcmVzICA8
Z21hbkBnb29nbGUuY29tPgorCisgICAgICAgIEZpeCBXZWJHTCB0ZXhTdWJJbWFnZTJEIGZvciBj
dWJlIG1hcHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTkxOTI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdHMgZm9yIFdlYkdMIHRleFN1YkltYWdlMkQgZm9yIGN1YmUgbWFwcy4KKworICAgICAgICAq
IGZhc3QvY2FudmFzL3dlYmdsL3RleC1zdWItaW1hZ2UtY3ViZS1tYXBzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LXN1Yi1pbWFnZS1jdWJlLW1h
cHMuaHRtbDogQWRkZWQuCisKIDIwMTItMDctMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUGFydCAyIG9mOiBJbXBsZW1lbnQgc3RpY2t5IHBvc2l0
aW9uaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtc3Vi
LWltYWdlLWN1YmUtbWFwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC90ZXgtc3ViLWltYWdlLWN1YmUtbWFwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ5
OTgxOTRiZmJhNzlmZjdjMzg1Nzc1MDE5NjhhNzhkNjE3NjhkMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1zdWItaW1hZ2UtY3ViZS1tYXBzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ5IEBACitDaGVja3MgdGV4U3ViSW1hZ2UyRCB3aXRoIGN1
YmUgbWFwIHRleHR1cmVzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK3Rlc3Rp
bmcgc2l6ZTogMTYKK1BBU1MgVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YIHNob3VsZCBiZSBy
ZWQKK1BBU1MgVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YIHNob3VsZCBiZSBncmVlbgorUEFT
UyBURVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1kgc2hvdWxkIGJlIGJsdWUKK1BBU1MgVEVYVFVS
RV9DVUJFX01BUF9ORUdBVElWRV9ZIHNob3VsZCBiZSB5ZWxsb3cKK1BBU1MgVEVYVFVSRV9DVUJF
X01BUF9QT1NJVElWRV9aIHNob3VsZCBiZSBjeWFuCitQQVNTIFRFWFRVUkVfQ1VCRV9NQVBfTkVH
QVRJVkVfWiBzaG91bGQgYmUgbWFnZW50YQorUEFTUyAwLCAwLCA0LCAyIHNob3VsZCBiZSB5ZWxs
b3cKK1BBU1MgMCwgMiwgNCwgMiBzaG91bGQgYmUgY3lhbgorUEFTUyAwLCAwLCA0LCAyIHNob3Vs
ZCBiZSBjeWFuCitQQVNTIDAsIDIsIDQsIDIgc2hvdWxkIGJlIGJsdWUKK1BBU1MgMCwgMCwgNCwg
MiBzaG91bGQgYmUgbWFnZW50YQorUEFTUyAwLCAyLCA0LCAyIHNob3VsZCBiZSB5ZWxsb3cKK1BB
U1MgMCwgMCwgNCwgMiBzaG91bGQgYmUgYmx1ZQorUEFTUyAwLCAyLCA0LCAyIHNob3VsZCBiZSBt
YWdlbnRhCitQQVNTIDAsIDAsIDQsIDIgc2hvdWxkIGJlIHllbGxvdworUEFTUyAwLCAyLCA0LCAy
IHNob3VsZCBiZSByZWQKK1BBU1MgMCwgMCwgNCwgMiBzaG91bGQgYmUgcmVkCitQQVNTIDAsIDIs
IDQsIDIgc2hvdWxkIGJlIGJsdWUKK3VzZSBtaXBtYXAKK1BBU1MgVEVYVFVSRV9DVUJFX01BUF9Q
T1NJVElWRV9YIHNob3VsZCBiZSBncmVlbgorUEFTUyBURVhUVVJFX0NVQkVfTUFQX05FR0FUSVZF
X1ggc2hvdWxkIGJlIGJsdWUKK1BBU1MgVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZIHNob3Vs
ZCBiZSB5ZWxsb3cKK1BBU1MgVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZIHNob3VsZCBiZSBj
eWFuCitQQVNTIFRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiBzaG91bGQgYmUgbWFnZW50YQor
UEFTUyBURVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ogc2hvdWxkIGJlIHJlZAorUEFTUyAwLCAw
LCA0LCAyIHNob3VsZCBiZSBjeWFuCitQQVNTIDAsIDIsIDQsIDIgc2hvdWxkIGJlIG1hZ2VudGEK
K1BBU1MgMCwgMCwgNCwgMiBzaG91bGQgYmUgbWFnZW50YQorUEFTUyAwLCAyLCA0LCAyIHNob3Vs
ZCBiZSB5ZWxsb3cKK1BBU1MgMCwgMCwgNCwgMiBzaG91bGQgYmUgcmVkCitQQVNTIDAsIDIsIDQs
IDIgc2hvdWxkIGJlIGN5YW4KK1BBU1MgMCwgMCwgNCwgMiBzaG91bGQgYmUgeWVsbG93CitQQVNT
IDAsIDIsIDQsIDIgc2hvdWxkIGJlIHJlZAorUEFTUyAwLCAwLCA0LCAyIHNob3VsZCBiZSBjeWFu
CitQQVNTIDAsIDIsIDQsIDIgc2hvdWxkIGJlIGdyZWVuCitQQVNTIDAsIDAsIDQsIDIgc2hvdWxk
IGJlIGdyZWVuCitQQVNTIDAsIDIsIDQsIDIgc2hvdWxkIGJlIHllbGxvdworUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycy4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtc3ViLWltYWdlLWN1YmUtbWFw
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LXN1Yi1pbWFnZS1jdWJl
LW1hcHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mY2Q1NDVjYTgwMWM0MGExZDdhZjI5NzNmMTIzODdhYWU2
NTU3NmViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
dGV4LXN1Yi1pbWFnZS1jdWJlLW1hcHMuaHRtbApAQCAtMCwwICsxLDMzNSBAQAorPCEtLQorCisv
KgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQ
ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv
biBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVk
IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRo
ZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxp
bWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
CisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1h
dGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMg
YXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBB
UkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgdGV4dHVyZSB0ZXhT
dWJJbWFnZTJEcyBjdWJlIG1hcCBjb25mb3JtYW5jZSB0ZXN0LjwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiIHN0eWxlPSJ3aWR0
aDogNDBweDsgaGVpZ2h0OiA0MHB4OyI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgaWQ9InZzaGFkZXIiIHR5
cGU9Ingtc2hhZGVyL3gtdmVydGV4Ij4KK2F0dHJpYnV0ZSB2ZWM0IHZQb3NpdGlvbjsKK3VuaWZv
cm0gbWF0NCByb3RhdGlvbjsKK3ZhcnlpbmcgdmVjMyB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7
CisgICAgZ2xfUG9zaXRpb24gPSB2UG9zaXRpb247CisgICAgdmVjNCBkaXJlY3Rpb24gPSB2ZWM0
KHZQb3NpdGlvbi54ICogMC41LCB2UG9zaXRpb24ueSAqIDAuNSwgMSwgMSk7CisgICAgdGV4Q29v
cmQgPSBub3JtYWxpemUoKHJvdGF0aW9uICogZGlyZWN0aW9uKS54eXopOworfQorPC9zY3JpcHQ+
CisKKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJl
Y2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIHNhbXBsZXJDdWJlIHRleDsKK3Zhcnlpbmcg
dmVjMyB0ZXhDb29yZDsKK3ZvaWQgbWFpbigpCit7CisgICAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVy
ZUN1YmUodGV4LCBub3JtYWxpemUodGV4Q29vcmQpKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4K
K3ZhciBjYW52YXM7CitkZXNjcmlwdGlvbigiQ2hlY2tzIHRleFN1YkltYWdlMkQgd2l0aCBjdWJl
IG1hcCB0ZXh0dXJlcyIpOworZGVidWcoIiIpOworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7
CitjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpOworCitnbCA9IHd0
dS5jcmVhdGUzRENvbnRleHQoY2FudmFzKTsKK3d0dS5zZXR1cFVuaXRRdWFkKGdsLCAwLCAxKTsK
K3ZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbSgKKyAgICBnbCwKKyAgICBbJ3ZzaGFkZXIn
LCAnZnNoYWRlciddLAorICAgIFsndlBvc2l0aW9uJywgJ3RleENvb3JkMCddLCBbMCwgMV0pOwor
dmFyIHJvdExvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAicm90YXRpb24iKTsK
Kworc2l6ZSA9IDE2OworCit2YXIgY29sb3JzID0gWworICB7bmFtZTogJ3JlZCcsICAgICBjb2xv
cjogWzI1NSwgICAwLCAgIDAsIDI1NV19LAorICB7bmFtZTogJ2dyZWVuJywgICBjb2xvcjogWyAg
MCwgMjU1LCAgIDAsIDI1NV19LAorICB7bmFtZTogJ2JsdWUnLCAgICBjb2xvcjogWyAgMCwgICAw
LCAyNTUsIDI1NV19LAorICB7bmFtZTogJ3llbGxvdycsICBjb2xvcjogWzI1NSwgMjU1LCAgIDAs
IDI1NV19LAorICB7bmFtZTogJ2N5YW4nLCAgICBjb2xvcjogWyAgMCwgMjU1LCAyNTUsIDI1NV19
LAorICB7bmFtZTogJ21hZ2VudGEnLCBjb2xvcjogWzI1NSwgICAwLCAyNTUsIDI1NV19CitdOwor
Cit2YXIgdGFyZ2V0cyA9IFsKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICBn
bC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1gsCisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9T
SVRJVkVfWSwKKyAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9ZLAorICBnbC5URVhUVVJF
X0NVQkVfTUFQX1BPU0lUSVZFX1osCisgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWl07
CisKK3ZhciByb3RhdGlvbnMgPSBbCisgIHtheGlzOiBbMCwgMSwgMF0sIGFuZ2xlOiAgTWF0aC5Q
SSAvIDJ9LAorICB7YXhpczogWzAsIDEsIDBdLCBhbmdsZTogLU1hdGguUEkgLyAyfSwKKyAge2F4
aXM6IFsxLCAwLCAwXSwgYW5nbGU6IC1NYXRoLlBJIC8gMn0sCisgIHtheGlzOiBbMSwgMCwgMF0s
IGFuZ2xlOiAgTWF0aC5QSSAvIDJ9LAorICB7YXhpczogWzAsIDEsIDBdLCBhbmdsZTogIDB9LAor
ICB7YXhpczogWzAsIDEsIDBdLCBhbmdsZTogIE1hdGguUEl9LAorXTsKKwordmFyIGhhbGZSb3Rh
dGlvbnMgPSBbCisgIHtjb2xvcnM6IFszLCA0XSwgcm90YXRpb25zOiBbe2F4aXM6IFsxLCAwLCAw
XSwgYW5nbGU6ICBNYXRoLlBJIC8gNH1dfSwKKyAge2NvbG9yczogWzQsIDJdLCByb3RhdGlvbnM6
IFt7YXhpczogWzEsIDAsIDBdLCBhbmdsZTogLU1hdGguUEkgLyA0fV19LAorICB7Y29sb3JzOiBb
NSwgM10sIHJvdGF0aW9uczogW3theGlzOiBbMSwgMCwgMF0sIGFuZ2xlOiAgTWF0aC5QSSAvIDQg
KiAzfV19LAorICB7Y29sb3JzOiBbMiwgNV0sIHJvdGF0aW9uczogW3theGlzOiBbMSwgMCwgMF0s
IGFuZ2xlOiAtTWF0aC5QSSAvIDQgKiAzfV19LAorICB7Y29sb3JzOiBbMywgMF0sIHJvdGF0aW9u
czogW3theGlzOiBbMCwgMSwgMF0sIGFuZ2xlOiAgTWF0aC5QSSAvIDJ9LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHtheGlzOiBbMSwgMCwgMF0sIGFuZ2xlOiAgTWF0aC5QSSAvIDR9
XX0sCisgIHtjb2xvcnM6IFswLCAyXSwgcm90YXRpb25zOiBbe2F4aXM6IFswLCAxLCAwXSwgYW5n
bGU6ICBNYXRoLlBJIC8gMn0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2F4aXM6
IFsxLCAwLCAwXSwgYW5nbGU6IC1NYXRoLlBJIC8gNH1dfSwKK107CisKK3ZhciBjb3VudCA9IDA7
Cit0ZXN0U2l6ZShzaXplKTsKKworZnVuY3Rpb24gdGVzdFNpemUoc2l6ZSkgeworICBkZWJ1Zygi
Iik7CisgIGRlYnVnKCJ0ZXN0aW5nIHNpemU6ICIgKyBzaXplKTsKKyAgdmFyIGNhbnZhc1NpemUg
PSBNYXRoLm1heChzaXplIC8gNCwgMik7CisgIGNhbnZhcy53aWR0aCA9IGNhbnZhc1NpemU7Cisg
IGNhbnZhcy5oZWlnaHQgPSBjYW52YXNTaXplOworICBnbC52aWV3cG9ydCgwLCAwLCBjYW52YXNT
aXplLCBjYW52YXNTaXplKTsKKyAgdmFyIHRleCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgZ2wu
YmluZFRleHR1cmUoZ2wuVEVYVFVSRV9DVUJFX01BUCwgdGV4KTsKKworICAvLyBTZWVtcyBsaWtl
IEkgc2hvdWxkIGJlIHVzaW5nIExJTkVBUiBoZXJlIHdpdGggc29tZSBvdGhlciBtYXRoCisgIC8v
IHRvIG1ha2Ugc3VyZSBJIGdldCBtb3JlIG1pcCBjb3ZlcmFnZSBidXQgdGhhdCdzIGVhc2llciBz
YWlkCisgIC8vIHRoYW4gZG9uZS4KKworICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfQ1VC
RV9NQVAsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7CisgIGdsLnRleFBhcmFt
ZXRlcmkoZ2wuVEVYVFVSRV9DVUJFX01BUCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCBnbC5ORUFS
RVNUKTsKKworICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgMjsgKytqaikgeworICAgIGZvciAodmFy
IHR0ID0gMDsgdHQgPCB0YXJnZXRzLmxlbmd0aDsgKyt0dCkgeworICAgICAgdmFyIGNvbG9yID0g
Y29sb3JzWyh0dCArIGNvdW50KSAlIGNvbG9ycy5sZW5ndGhdOworICAgICAgZmlsbExldmVsKHRh
cmdldHNbdHRdLCAwLCBzaXplLCBjb2xvci5jb2xvcik7CisgICAgfQorICAgIGlmIChqaiA9PSAx
KSB7CisgICAgICBkZWJ1ZygidXNlIG1pcG1hcCIpOworICAgICAgZ2wudGV4UGFyYW1ldGVyaSgK
KyAgICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQLCBnbC5URVhUVVJFX01JTl9GSUxURVIsCisg
ICAgICAgICAgZ2wuTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCk7CisgICAgICBnbC5nZW5lcmF0ZU1p
cG1hcChnbC5URVhUVVJFX0NVQkVfTUFQKTsKKyAgICB9CisKKyAgICB2YXIgZXJyID0gZ2wuZ2V0
RXJyb3IoKTsKKyAgICBpZiAoZXJyID09IGdsLk9VVF9PRl9NRU1PUlkpIHsKKyAgICAgIGRlYnVn
KCJvdXQgb2YgbWVtb3J5Iik7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIGlmIChl
cnIgIT0gZ2wuTk9fRVJST1IpIHsKKyAgICAgIHRlc3RGYWlsZWQoInVuZXhwZWN0ZWQgZ2wgZXJy
b3I6ICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIGVycikpOworICAgIH0KKworCisgICAgZm9y
ICh2YXIgcnIgPSAwOyByciA8IHJvdGF0aW9ucy5sZW5ndGg7ICsrcnIpIHsKKyAgICAgIHZhciBy
b3QgPSByb3RhdGlvbnNbcnJdOworICAgICAgdmFyIGNvbG9yID0gY29sb3JzWyhyciArIGNvdW50
KSAlIGNvbG9ycy5sZW5ndGhdOworICAgICAgdmFyIHJvdE1hdCA9IGF4aXNSb3RhdGlvbihyb3Qu
YXhpcywgcm90LmFuZ2xlKTsKKyAgICAgIGdsLnVuaWZvcm1NYXRyaXg0ZnYocm90TG9jLCBmYWxz
ZSwgcm90TWF0KTsKKyAgICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgICB3dHUuY2hlY2tDYW52
YXMoCisgICAgICAgICAgZ2wsIGNvbG9yLmNvbG9yLAorICAgICAgICAgIHd0dS5nbEVudW1Ub1N0
cmluZyhnbCwgdGFyZ2V0c1tycl0pICsgIiBzaG91bGQgYmUgIiArIGNvbG9yLm5hbWUpOworICAg
IH0KKworICAgIGZvciAodmFyIHJyID0gMDsgcnIgPCBoYWxmUm90YXRpb25zLmxlbmd0aDsgKyty
cikgeworICAgICAgdmFyIGggPSBoYWxmUm90YXRpb25zW3JyXTsKKyAgICAgIHZhciByb3RzID0g
aC5yb3RhdGlvbnM7CisgICAgICB2YXIgcm90TWF0ID0gYXhpc1JvdGF0aW9uKHJvdHNbMF0uYXhp
cywgcm90c1swXS5hbmdsZSk7CisgICAgICBmb3IgKHZhciBpaSA9IDE7IGlpIDwgcm90cy5sZW5n
dGg7ICsraWkpIHsKKyAgICAgICAgdmFyIHRtcE1hdCA9IGF4aXNSb3RhdGlvbihyb3RzW2lpXS5h
eGlzLCByb3RzW2lpXS5hbmdsZSk7CisgICAgICAgIHZhciByb3RNYXQgPSBtdWxNYXRyaXgodG1w
TWF0LCByb3RNYXQpOworICAgICAgfQorICAgICAgZ2wudW5pZm9ybU1hdHJpeDRmdihyb3RMb2Ms
IGZhbHNlLCByb3RNYXQpOworICAgICAgd3R1LmRyYXdRdWFkKGdsKTsKKworICAgICAgZm9yICh2
YXIgaWkgPSAwOyBpaSA8IDI7ICsraWkpIHsKKyAgICAgICAgY2hlY2tSZWN0KAorICAgICAgICAg
ICAgMCwKKyAgICAgICAgICAgIGNhbnZhc1NpemUgLyAyICogaWksCisgICAgICAgICAgICBjYW52
YXNTaXplLAorICAgICAgICAgICAgY2FudmFzU2l6ZSAvIDIsCisgICAgICAgICAgICBjb2xvcnNb
KGguY29sb3JzW2lpXSArIGNvdW50KSAlIGNvbG9ycy5sZW5ndGhdKTsKKyAgICAgIH0KKyAgICB9
CisgICAgKytjb3VudDsKKyAgfQorCisgIGdsLmRlbGV0ZVRleHR1cmUodGV4KTsKKyAgcmV0dXJu
IHRydWU7Cit9CisKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJTaG91bGQgYmUg
bm8gZXJyb3JzLiIpOworCitmdW5jdGlvbiBjaGVja1JlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCwg
Y29sb3IpIHsKKyAgd3R1LmNoZWNrQ2FudmFzUmVjdCgKKyAgICAgICBnbCwKKyAgICAgICB4LAor
ICAgICAgIHksCisgICAgICAgd2lkdGgsCisgICAgICAgaGVpZ2h0LAorICAgICAgIGNvbG9yLmNv
bG9yLAorICAgICAgICIiICsgeCArICIsICIgKyB5ICsgIiwgIiArIHdpZHRoICsgIiwgIiArIGhl
aWdodCArCisgICAgICAgIiBzaG91bGQgYmUgIiArIGNvbG9yLm5hbWUpOworfQorCitmdW5jdGlv
biBmaWxsTGV2ZWwodGFyZ2V0LCBsZXZlbCwgc2l6ZSwgY29sb3IpIHsKKyAgdmFyIG51bVBpeGVs
cyA9IHNpemUgKiBzaXplOworICB2YXIgaGFsZlBpeGVsUm93ID0gbmV3IFVpbnQ4QXJyYXkoc2l6
ZSAqIDIpOworICBmb3IgKHZhciBqaiA9IDA7IGpqIDwgc2l6ZTsgKytqaikgeworICAgIHZhciBv
ZmYgPSBqaiAqIDQ7CisgICAgaGFsZlBpeGVsUm93W29mZiArIDBdID0gY29sb3JbMF07CisgICAg
aGFsZlBpeGVsUm93W29mZiArIDFdID0gY29sb3JbMV07CisgICAgaGFsZlBpeGVsUm93W29mZiAr
IDJdID0gY29sb3JbMl07CisgICAgaGFsZlBpeGVsUm93W29mZiArIDNdID0gY29sb3JbM107Cisg
IH0KKyAgZ2wudGV4SW1hZ2UyRCgKKyAgICAgIHRhcmdldCwgbGV2ZWwsIGdsLlJHQkEsIHNpemUs
IHNpemUsIDAsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsCisgICAgICBudWxsKTsKKyAgZm9y
ICh2YXIgamogPSAwOyBqaiA8IHNpemU7ICsramopIHsKKwkgIGdsLnRleFN1YkltYWdlMkQoCisJ
CSAgdGFyZ2V0LCBsZXZlbCwgMCwgamosIHNpemUgLyAyLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05F
RF9CWVRFLCBoYWxmUGl4ZWxSb3cpOworCSAgZ2wudGV4U3ViSW1hZ2UyRCgKKwkJICB0YXJnZXQs
IGxldmVsLCBzaXplIC8gMiwgamosIHNpemUgLyAyLCAxLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9C
WVRFLCBoYWxmUGl4ZWxSb3cpOworICB9Cit9CisKK2Z1bmN0aW9uIHByaW50TWF0KG1hdCkgewor
ICBkZWJ1ZygiIiArIG1hdFswXSArICIsICIgKyBtYXRbMV0gKyAiLCAiICsgbWF0WzJdICsgIiwg
IiArIG1hdFszXSArICIsICIpOworICBkZWJ1ZygiIiArIG1hdFs0XSArICIsICIgKyBtYXRbNV0g
KyAiLCAiICsgbWF0WzZdICsgIiwgIiArIG1hdFs3XSArICIsICIpOworICBkZWJ1ZygiIiArIG1h
dFs4XSArICIsICIgKyBtYXRbOV0gKyAiLCAiICsgbWF0WzEwXSArICIsICIgKyBtYXRbMTFdICsg
IiwgIik7CisgIGRlYnVnKCIiICsgbWF0WzEyXSArICIsICIgKyBtYXRbMTNdICsgIiwgIiArIG1h
dFsxNF0gKyAiLCAiICsgbWF0WzE1XSArICIsICIpOworfQorCitmdW5jdGlvbiBheGlzUm90YXRp
b24oYXhpcywgYW5nbGUpIHsKKyAgdmFyIGRzdCA9IG5ldyBGbG9hdDMyQXJyYXkoMTYpOworICB2
YXIgeCA9IGF4aXNbMF07CisgIHZhciB5ID0gYXhpc1sxXTsKKyAgdmFyIHogPSBheGlzWzJdOwor
ICB2YXIgbiA9IE1hdGguc3FydCh4ICogeCArIHkgKiB5ICsgeiAqIHopOworICB4IC89IG47Cisg
IHkgLz0gbjsKKyAgeiAvPSBuOworICB2YXIgeHggPSB4ICogeDsKKyAgdmFyIHl5ID0geSAqIHk7
CisgIHZhciB6eiA9IHogKiB6OworICB2YXIgYyA9IE1hdGguY29zKGFuZ2xlKTsKKyAgdmFyIHMg
PSBNYXRoLnNpbihhbmdsZSk7CisgIHZhciBvbmVNaW51c0Nvc2luZSA9IDEgLSBjOworCisgIGRz
dFsgMF0gPSB4eCArICgxIC0geHgpICogYzsKKyAgZHN0WyAxXSA9IHggKiB5ICogb25lTWludXND
b3NpbmUgKyB6ICogczsKKyAgZHN0WyAyXSA9IHggKiB6ICogb25lTWludXNDb3NpbmUgLSB5ICog
czsKKyAgZHN0WyAzXSA9IDA7CisgIGRzdFsgNF0gPSB4ICogeSAqIG9uZU1pbnVzQ29zaW5lIC0g
eiAqIHM7CisgIGRzdFsgNV0gPSB5eSArICgxIC0geXkpICogYzsKKyAgZHN0WyA2XSA9IHkgKiB6
ICogb25lTWludXNDb3NpbmUgKyB4ICogczsKKyAgZHN0WyA3XSA9IDA7CisgIGRzdFsgOF0gPSB4
ICogeiAqIG9uZU1pbnVzQ29zaW5lICsgeSAqIHM7CisgIGRzdFsgOV0gPSB5ICogeiAqIG9uZU1p
bnVzQ29zaW5lIC0geCAqIHM7CisgIGRzdFsxMF0gPSB6eiArICgxIC0genopICogYzsKKyAgZHN0
WzExXSA9IDA7CisgIGRzdFsxMl0gPSAwOworICBkc3RbMTNdID0gMDsKKyAgZHN0WzE0XSA9IDA7
CisgIGRzdFsxNV0gPSAxOworCisgIHJldHVybiBkc3Q7Cit9OworCitmdW5jdGlvbiBtdWxNYXRy
aXgoYSwgYikgeworICB2YXIgZHN0ID0gbmV3IEZsb2F0MzJBcnJheSgxNik7CisgIHZhciBhMDAg
PSBhWzBdOworICB2YXIgYTAxID0gYVsxXTsKKyAgdmFyIGEwMiA9IGFbMl07CisgIHZhciBhMDMg
PSBhWzNdOworICB2YXIgYTEwID0gYVsgNCArIDBdOworICB2YXIgYTExID0gYVsgNCArIDFdOwor
ICB2YXIgYTEyID0gYVsgNCArIDJdOworICB2YXIgYTEzID0gYVsgNCArIDNdOworICB2YXIgYTIw
ID0gYVsgOCArIDBdOworICB2YXIgYTIxID0gYVsgOCArIDFdOworICB2YXIgYTIyID0gYVsgOCAr
IDJdOworICB2YXIgYTIzID0gYVsgOCArIDNdOworICB2YXIgYTMwID0gYVsxMiArIDBdOworICB2
YXIgYTMxID0gYVsxMiArIDFdOworICB2YXIgYTMyID0gYVsxMiArIDJdOworICB2YXIgYTMzID0g
YVsxMiArIDNdOworICB2YXIgYjAwID0gYlswXTsKKyAgdmFyIGIwMSA9IGJbMV07CisgIHZhciBi
MDIgPSBiWzJdOworICB2YXIgYjAzID0gYlszXTsKKyAgdmFyIGIxMCA9IGJbIDQgKyAwXTsKKyAg
dmFyIGIxMSA9IGJbIDQgKyAxXTsKKyAgdmFyIGIxMiA9IGJbIDQgKyAyXTsKKyAgdmFyIGIxMyA9
IGJbIDQgKyAzXTsKKyAgdmFyIGIyMCA9IGJbIDggKyAwXTsKKyAgdmFyIGIyMSA9IGJbIDggKyAx
XTsKKyAgdmFyIGIyMiA9IGJbIDggKyAyXTsKKyAgdmFyIGIyMyA9IGJbIDggKyAzXTsKKyAgdmFy
IGIzMCA9IGJbMTIgKyAwXTsKKyAgdmFyIGIzMSA9IGJbMTIgKyAxXTsKKyAgdmFyIGIzMiA9IGJb
MTIgKyAyXTsKKyAgdmFyIGIzMyA9IGJbMTIgKyAzXTsKKyAgZHN0WyAwXSA9IGEwMCAqIGIwMCAr
IGEwMSAqIGIxMCArIGEwMiAqIGIyMCArIGEwMyAqIGIzMDsKKyAgZHN0WyAxXSA9IGEwMCAqIGIw
MSArIGEwMSAqIGIxMSArIGEwMiAqIGIyMSArIGEwMyAqIGIzMTsKKyAgZHN0WyAyXSA9IGEwMCAq
IGIwMiArIGEwMSAqIGIxMiArIGEwMiAqIGIyMiArIGEwMyAqIGIzMjsKKyAgZHN0WyAzXSA9IGEw
MCAqIGIwMyArIGEwMSAqIGIxMyArIGEwMiAqIGIyMyArIGEwMyAqIGIzMzsKKyAgZHN0WyA0XSA9
IGExMCAqIGIwMCArIGExMSAqIGIxMCArIGExMiAqIGIyMCArIGExMyAqIGIzMDsKKyAgZHN0WyA1
XSA9IGExMCAqIGIwMSArIGExMSAqIGIxMSArIGExMiAqIGIyMSArIGExMyAqIGIzMTsKKyAgZHN0
WyA2XSA9IGExMCAqIGIwMiArIGExMSAqIGIxMiArIGExMiAqIGIyMiArIGExMyAqIGIzMjsKKyAg
ZHN0WyA3XSA9IGExMCAqIGIwMyArIGExMSAqIGIxMyArIGExMiAqIGIyMyArIGExMyAqIGIzMzsK
KyAgZHN0WyA4XSA9IGEyMCAqIGIwMCArIGEyMSAqIGIxMCArIGEyMiAqIGIyMCArIGEyMyAqIGIz
MDsKKyAgZHN0WyA5XSA9IGEyMCAqIGIwMSArIGEyMSAqIGIxMSArIGEyMiAqIGIyMSArIGEyMyAq
IGIzMTsKKyAgZHN0WzEwXSA9IGEyMCAqIGIwMiArIGEyMSAqIGIxMiArIGEyMiAqIGIyMiArIGEy
MyAqIGIzMjsKKyAgZHN0WzExXSA9IGEyMCAqIGIwMyArIGEyMSAqIGIxMyArIGEyMiAqIGIyMyAr
IGEyMyAqIGIzMzsKKyAgZHN0WzEyXSA9IGEzMCAqIGIwMCArIGEzMSAqIGIxMCArIGEzMiAqIGIy
MCArIGEzMyAqIGIzMDsKKyAgZHN0WzEzXSA9IGEzMCAqIGIwMSArIGEzMSAqIGIxMSArIGEzMiAq
IGIyMSArIGEzMyAqIGIzMTsKKyAgZHN0WzE0XSA9IGEzMCAqIGIwMiArIGEzMSAqIGIxMiArIGEz
MiAqIGIyMiArIGEzMyAqIGIzMjsKKyAgZHN0WzE1XSA9IGEzMCAqIGIwMyArIGEzMSAqIGIxMyAr
IGEzMiAqIGIyMyArIGEzMyAqIGIzMzsKKyAgcmV0dXJuIGRzdDsKK307CisKK3N1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKworCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>