<?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>18046</bug_id>
          
          <creation_ts>2008-03-24 13:38:01 -0700</creation_ts>
          <short_desc>SVGTextElement.getStartPositionOfChar does not correctly account for multichar glyphs</short_desc>
          <delta_ts>2008-03-24 17:36:17 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>18031</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>75003</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-03-24 13:38:01 -0700</bug_when>
    <thetext>SVGTextElement.getStartPositionOfChar counts the advance of each character in multichar glyphs individually. Instead, it should apply the advance of the whole glyph only after the last char of the multichar glyph, because SVG requires that characters all rendered as a unit are considered to have the same start position. This causes many problems on Acid3 test 79.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75006</commentid>
    <comment_count>1</comment_count>
      <attachid>20013</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-03-24 14:21:43 -0700</bug_when>
    <thetext>Created attachment 20013
handle multichar glyph metrics and rendering correctly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75011</commentid>
    <comment_count>2</comment_count>
      <attachid>20013</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-03-24 14:45:32 -0700</bug_when>
    <thetext>Comment on attachment 20013
handle multichar glyph metrics and rendering correctly

Looks like you added a space before svgTextRunForInlineTextBox by accident. 

 LayoutTests/platform/mac/svg/text/multichar-glyph-expected.txt  is displaying an XML error (when it really probably should dump as text, no?)

It&apos;s possible to write SVG tests which use the shouldBe() stuff, and are js files, but it&apos;s not possible to have a custom SVG template.  Your copy/paste of shouldBe is less than ideal, but also OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75028</commentid>
    <comment_count>3</comment_count>
      <attachid>20013</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-03-24 16:57:51 -0700</bug_when>
    <thetext>Comment on attachment 20013
handle multichar glyph metrics and rendering correctly

Aside from my two corrections above, the patch looks sane.  extraCharsAvailable could be part of TextRun, but you had performance concerns.  I think it&apos;s OK to not have it part of TextRun (at least for now).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75031</commentid>
    <comment_count>4</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-03-24 17:36:17 -0700</bug_when>
    <thetext>Thanks. I fixed the two issues above before landing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20013</attachid>
            <date>2008-03-24 14:21:43 -0700</date>
            <delta_ts>2008-03-24 16:57:51 -0700</delta_ts>
            <desc>handle multichar glyph metrics and rendering correctly</desc>
            <filename>multichar-glyph-fix.patch.txt</filename>
            <type>text/plain</type>
            <size>54623</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMTI1MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzkgQEAKKzIwMDgtMDMtMjQgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IGZpeGVkICJTVkdUZXh0RWxlbWVudC5nZXRTdGFydFBvc2l0aW9uT2ZDaGFyIGRvZXMgbm90IGNv
cnJlY3RseSBhY2NvdW50IGZvciBtdWx0aWNoYXIgZ2x5cGhzIgorICAgICAgICBodHRwOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA0NgorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpmbG9hdFdpZHRoKTog
QWxsb3cgZXhwcmVzc2luZyBhIHJ1biB0aGF0IGhhcyBleHRyYSAiY29udGV4dCIgY2hhcmFjdGVy
cyBiZXlvbmQgdGhlIGVuZCwKKyAgICAgICAgYW5kIHJlcG9ydGluZyBvZiBob3cgbWFueSBjaGFy
YWN0ZXJzIHdlcmUgYWN0dWFsbHkgY29uc3VtZWQsIHRvIHN1cHBvcnQgbXVsdGljaGFyIGdseXBo
cyBpbiBTVkcgZm9udHMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0lubGluZVRleHRCb3g6OmNhbGN1bGF0ZUdseXBoV2lkdGgpOiBQYXNzIGFsb25nIGV4dHJh
IGNoYXJzIGluIGFyZ3VtZW50IGFuZCBjaGFycyBjb25zdW1lZCBvdXQKKyAgICAgICAgYXJndW1l
bnQuCisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpjYWxjdWxhdGVHbHlwaEhl
aWdodCk6IFBhc3MgYWxvbmcgZXh0cmEgY2hhcnMgaW4gYXJndW1lbnQuCisgICAgICAgIChXZWJD
b3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpjYWxjdWxhdGVHbHlwaEJvdW5kYXJpZXMpOiBBZGQgYm9p
bGVycGxhdGU7IG1heSBub3QgaGFuZGxlIG11bHRpY2hhciBnbHlwaHMKKyAgICAgICAgcmlnaHQg
YnV0IEkgZG9uJ3Qga25vdyB3aGF0IGVmZmVjdHMgdGhpcyB3b3VsZCBoYXZlLgorICAgICAgICAq
IHJlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1NWR1Jv
b3RJbmxpbmVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3VtbXVsYXRlZFdpZHRoT3JIZWln
aHRPZlRleHRDaHVuayk6IEFkZCBib2lsZXJwbGF0ZTsgbWF5IG5vdCBoYW5kbGUgbXVsdGljaGFy
IGdseXBocyByaWdodAorICAgICAgICBidXQgYWdhaW4gSSBhbSBub3Qgc3VyZSB3aGF0IGVmZmVj
dCB0aGlzIHdvdWxkIGhhdmUuCisgICAgICAgIChXZWJDb3JlOjpTVkdSb290SW5saW5lQm94Ojpi
dWlsZExheW91dEluZm9ybWF0aW9uRm9yVGV4dEJveCk6IEFjY291bnQgZm9yIG11bHRpY2hhciBn
bHlwaHMgLSBsZXQgZ2x5cGgKKyAgICAgICAgc2VsZWN0aW9uIGNvbnNpZGVyIGV4dHJhIGNoYXJz
LCBhbmQgYWNjb3VudCBmb3IgdGhlIGZhY3QgdGhhdCBhIGdseXBoIG1heSBoYXZlIGNvbnN1bWVk
IG11bHRpcGxlIGNoYXJzLgorICAgICAgICAqIHJlbmRlcmluZy9TVkdSb290SW5saW5lQm94Lmg6
CisgICAgICAgICogc3ZnL1NWR0ZvbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFJ1
bldhbGtlcjo6d2Fsayk6IFRoaXMgaXMgdGhlIHBsYWNlIHdoZXJlIGdseXBoIHNlbGVjdGlvbiBo
YXBwZW5zLCBzbyB0aGlzIGlzIHdoZXJlCisgICAgICAgIHdlIGFjY291dCBmb3IgbXVsdGljaGFy
IGdseXBocyAoYm90aCBsb29raW5nIGF0IGV4dHJhIGNoYXJzIHBhc3QgdGhlIGVuZCBvZiB0aGUg
cnVuLCBhbmQgcmVwb3J0aW5nIGhvdworICAgICAgICBtYW55IGNoYXJzIHdlcmUgY29uc3VtZWQp
LgorICAgICAgICAoV2ViQ29yZTo6ZmxvYXRXaWR0aE9mU3ViU3RyaW5nVXNpbmdTVkdGb250KTog
UGFzcyBhZm9yZW1lbnRpb25lZCBpbmZvIHRocm91Z2ggdGhlIGxheWVycy4KKyAgICAgICAgKFdl
YkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhVc2luZ1NWR0ZvbnQpOiBkaXR0bworICAgICAgICAoV2Vi
Q29yZTo6Rm9udDo6ZHJhd1RleHRVc2luZ1NWR0ZvbnQpOiBkaXR0bworICAgICAgICAoV2ViQ29y
ZTo6Rm9udDo6c2VsZWN0aW9uUmVjdEZvclRleHRVc2luZ1NWR0ZvbnQpOiBkaXR0bworICAgICAg
ICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3Vt
bXVsYXRlZENoYXJhY3RlclJhbmdlTGVuZ3RoKTogZGl0dG8KKyAgICAgICAgKFdlYkNvcmU6OlNW
R0lubGluZVRleHRCb3hRdWVyeVdhbGtlcjo6Y2h1bmtQb3J0aW9uQ2FsbGJhY2spOiBkaXR0bwor
CiAyMDA4LTAzLTI0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCShy
ZXZpc2lvbiAzMTI1MSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTcwOCw2ICs3MDgsMTkgQEAgZmxvYXQgRm9udDo6ZmxvYXRXaWR0aChj
b25zdCBUZXh0UnVuJiBydQogICAgIHJldHVybiBmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQocnVu
KTsKIH0KIAorZmxvYXQgRm9udDo6ZmxvYXRXaWR0aChjb25zdCBUZXh0UnVuJiBydW4sIGludCBl
eHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQpIGNvbnN0Cit7CisjaWYgRU5B
QkxFKFNWR19GT05UUykKKyAgICBpZiAocHJpbWFyeUZvbnQoKS0+aXNTVkdGb250KCkpCisgICAg
ICAgIHJldHVybiBmbG9hdFdpZHRoVXNpbmdTVkdGb250KHJ1biwgZXh0cmFDaGFyc0F2YWlsYWJs
ZSwgY2hhcnNDb25zdW1lZCk7CisjZW5kaWYKKworICAgIGNoYXJzQ29uc3VtZWQgPSBydW4ubGVu
Z3RoKCk7CisgICAgaWYgKGNhblVzZUdseXBoQ2FjaGUocnVuKSkKKyAgICAgICAgcmV0dXJuIGZs
b2F0V2lkdGhGb3JTaW1wbGVUZXh0KHJ1biwgMCk7CisgICAgcmV0dXJuIGZsb2F0V2lkdGhGb3JD
b21wbGV4VGV4dChydW4pOworfQorCiBmbG9hdCBGb250OjpmbG9hdFdpZHRoRm9yU2ltcGxlVGV4
dChjb25zdCBUZXh0UnVuJiBydW4sIEdseXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikgY29uc3QKIHsK
ICAgICBXaWR0aEl0ZXJhdG9yIGl0KHRoaXMsIHJ1bik7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnQuaAkocmV2aXNpb24gMzEyNTEpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTcwLDYgKzE3MCw3IEBAIHB1YmxpYzoKIAogICAgIGlu
dCB3aWR0aChjb25zdCBUZXh0UnVuJikgY29uc3Q7CiAgICAgZmxvYXQgZmxvYXRXaWR0aChjb25z
dCBUZXh0UnVuJikgY29uc3Q7CisgICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0UnVuJiBy
dW4sIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQpIGNvbnN0Owog
CiAgICAgaW50IG9mZnNldEZvclBvc2l0aW9uKGNvbnN0IFRleHRSdW4mLCBpbnQgcG9zaXRpb24s
IGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0OwogICAgIEZsb2F0UmVjdCBzZWxlY3Rp
b25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVuJiwgY29uc3QgSW50UG9pbnQmLCBpbnQgaCwgaW50
IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CkBAIC0yMzQsNiArMjM1LDcgQEAgcHJpdmF0
ZToKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIHZvaWQgZHJhd1RleHRVc2luZ1NWR0ZvbnQo
R3JhcGhpY3NDb250ZXh0KiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmLCBpbnQg
ZnJvbSwgaW50IHRvKSBjb25zdDsKICAgICBmbG9hdCBmbG9hdFdpZHRoVXNpbmdTVkdGb250KGNv
bnN0IFRleHRSdW4mKSBjb25zdDsKKyAgICBmbG9hdCBmbG9hdFdpZHRoVXNpbmdTVkdGb250KGNv
bnN0IFRleHRSdW4mLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBjaGFyc0NvbnN1bWVk
KSBjb25zdDsKICAgICBGbG9hdFJlY3Qgc2VsZWN0aW9uUmVjdEZvclRleHRVc2luZ1NWR0ZvbnQo
Y29uc3QgVGV4dFJ1biYsIGNvbnN0IEludFBvaW50JiwgaW50IGgsIGludCBmcm9tLCBpbnQgdG8p
IGNvbnN0OwogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbkZvclRleHRVc2luZ1NWR0ZvbnQoY29u
c3QgVGV4dFJ1biYsIGludCBwb3NpdGlvbiwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocykgY29u
c3Q7CiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guY3BwCShy
ZXZpc2lvbiAzMTI1MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC03NCwxMyArNzQsMTMgQEAgU1ZHUm9vdElubGluZUJveCogU1ZH
SW5saW5lVGV4dEJveDo6c3ZnUgogICAgIHJldHVybiBzdGF0aWNfY2FzdDxTVkdSb290SW5saW5l
Qm94Kj4ocGFyZW50Qm94KTsKIH0KIAotZmxvYXQgU1ZHSW5saW5lVGV4dEJveDo6Y2FsY3VsYXRl
R2x5cGhXaWR0aChSZW5kZXJTdHlsZSogc3R5bGUsIGludCBvZmZzZXQpIGNvbnN0CitmbG9hdCBT
VkdJbmxpbmVUZXh0Qm94OjpjYWxjdWxhdGVHbHlwaFdpZHRoKFJlbmRlclN0eWxlKiBzdHlsZSwg
aW50IG9mZnNldCwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUsIGludCYgY2hhcnNDb25zdW1lZCkg
Y29uc3QKIHsKICAgICBBU1NFUlQoc3R5bGUpOwotICAgIHJldHVybiBzdHlsZS0+Zm9udCgpLmZs
b2F0V2lkdGgoc3ZnVGV4dFJ1bkZvcklubGluZVRleHRCb3godGV4dE9iamVjdCgpLT50ZXh0KCkt
PmNoYXJhY3RlcnMoKSArIG9mZnNldCwgMSwgc3R5bGUsIHRoaXMsIDApKTsKKyAgICByZXR1cm4g
c3R5bGUtPmZvbnQoKS5mbG9hdFdpZHRoKHN2Z1RleHRSdW5Gb3JJbmxpbmVUZXh0Qm94KHRleHRP
YmplY3QoKS0+dGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBvZmZzZXQsIDEsIHN0eWxlLCB0aGlzLCAw
KSwgZXh0cmFDaGFyc0F2YWlsYWJsZSwgY2hhcnNDb25zdW1lZCk7CiB9CiAKLWZsb2F0IFNWR0lu
bGluZVRleHRCb3g6OmNhbGN1bGF0ZUdseXBoSGVpZ2h0KFJlbmRlclN0eWxlKiBzdHlsZSwgaW50
IG9mZnNldCkgY29uc3QKK2Zsb2F0IFNWR0lubGluZVRleHRCb3g6OmNhbGN1bGF0ZUdseXBoSGVp
Z2h0KFJlbmRlclN0eWxlKiBzdHlsZSwgaW50IG9mZnNldCwgaW50IGV4dHJhQ2hhcnNBdmFpbGFi
bGUpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHN0eWxlKTsKIApAQCAtOTYsMTAgKzk2LDEyIEBAIEZs
b2F0UmVjdCBTVkdJbmxpbmVUZXh0Qm94OjpjYWxjdWxhdGVHbHkKICAgICAvLyBUYWtlIFJUTCB0
ZXh0IGludG8gYWNjb3VudCBhbmQgcGljayByaWdodCBnbHlwaCB3aWR0aC9oZWlnaHQuCiAgICAg
ZmxvYXQgZ2x5cGhXaWR0aCA9IDAuMGY7CiAKKyAgICAvLyBGSVhNRTogYWNjb3VudCBmb3IgbXVs
dGktY2hhcmFjdGVyIGdseXBocworICAgIGludCBjaGFyc0NvbnN1bWVkOwogICAgIGlmICghbV9y
ZXZlcnNlZCkKLSAgICAgICAgZ2x5cGhXaWR0aCA9IGNhbGN1bGF0ZUdseXBoV2lkdGgoc3R5bGUs
IG9mZnNldCk7CisgICAgICAgIGdseXBoV2lkdGggPSBjYWxjdWxhdGVHbHlwaFdpZHRoKHN0eWxl
LCBvZmZzZXQsIDAsIGNoYXJzQ29uc3VtZWQpOwogICAgIGVsc2UKLSAgICAgICAgZ2x5cGhXaWR0
aCA9IGNhbGN1bGF0ZUdseXBoV2lkdGgoc3R5bGUsIHN0YXJ0KCkgKyBlbmQoKSAtIG9mZnNldCk7
CisgICAgICAgIGdseXBoV2lkdGggPSBjYWxjdWxhdGVHbHlwaFdpZHRoKHN0eWxlLCBzdGFydCgp
ICsgZW5kKCkgLSBvZmZzZXQsIDAsIGNoYXJzQ29uc3VtZWQpOwogCiAgICAgZmxvYXQgeDEgPSBz
dmdDaGFyLng7CiAgICAgZmxvYXQgeDIgPSBzdmdDaGFyLnggKyBnbHlwaFdpZHRoOwpJbmRleDog
V2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guaAkocmV2aXNpb24gMzEyNTEpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDgg
KzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTVkdSb290SW5saW5lQm94KiBz
dmdSb290SW5saW5lQm94KCkgY29uc3Q7CiAKICAgICAgICAgLy8gSGVscGVyIGZ1bmN0aW9ucyBz
aGFyZWQgd2l0aCBTVkdSb290SW5saW5lQm94ICAgICAKLSAgICAgICAgZmxvYXQgY2FsY3VsYXRl
R2x5cGhXaWR0aChSZW5kZXJTdHlsZSosIGludCBvZmZzZXQpIGNvbnN0OwotICAgICAgICBmbG9h
dCBjYWxjdWxhdGVHbHlwaEhlaWdodChSZW5kZXJTdHlsZSosIGludCBvZmZzZXQpIGNvbnN0Owor
ICAgICAgICBmbG9hdCBjYWxjdWxhdGVHbHlwaFdpZHRoKFJlbmRlclN0eWxlKiBzdHlsZSwgaW50
IG9mZnNldCwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUsIGludCYgY2hhcnNDb25zdW1lZCkgY29u
c3Q7CisgICAgICAgIGZsb2F0IGNhbGN1bGF0ZUdseXBoSGVpZ2h0KFJlbmRlclN0eWxlKiwgaW50
IG9mZnNldCwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUpIGNvbnN0OwogCiAgICAgICAgIEZsb2F0
UmVjdCBjYWxjdWxhdGVHbHlwaEJvdW5kYXJpZXMoUmVuZGVyU3R5bGUqLCBpbnQgb2Zmc2V0LCBj
b25zdCBTVkdDaGFyJikgY29uc3Q7CiAgICAgICAgIFNWR0NoYXIqIGNsb3Nlc3RDaGFyYWN0ZXJU
b1Bvc2l0aW9uKGludCB4LCBpbnQgeSwgaW50JiBvZmZzZXQpIGNvbnN0OwpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5jcHAJKHJldmlzaW9uIDMxMjUxKQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxMCwx
MSArNzEwLDEzIEBAIHN0YXRpYyBmbG9hdCBjdW1tdWxhdGVkV2lkdGhPckhlaWdodE9mVGUKIAog
ICAgICAgICAgICAgICAgIGludCBvZmZzZXQgPSBib3gtPm1fcmV2ZXJzZWQgPyBib3gtPmVuZCgp
IC0gaSAtIHBvc2l0aW9uT2Zmc2V0ICsgMSA6IGJveC0+c3RhcnQoKSArIGkgKyBwb3NpdGlvbk9m
ZnNldCAtIDE7CiAKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogZG9lcyB0aGlzIG5lZWQgdG8g
Y2hhbmdlIHRvIGhhbmRsZSBtdWx0aWNoYXIgZ2x5cGhzPworICAgICAgICAgICAgICAgIGludCBj
aGFyc0NvbnN1bWVkID0gMTsKICAgICAgICAgICAgICAgICBpZiAoY2FsY1dpZHRoT25seSkgewot
ICAgICAgICAgICAgICAgICAgICBmbG9hdCBsYXN0R2x5cGhXaWR0aCA9IGJveC0+Y2FsY3VsYXRl
R2x5cGhXaWR0aChzdHlsZSwgb2Zmc2V0KTsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgbGFz
dEdseXBoV2lkdGggPSBib3gtPmNhbGN1bGF0ZUdseXBoV2lkdGgoc3R5bGUsIG9mZnNldCwgMCwg
Y2hhcnNDb25zdW1lZCk7CiAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCArPSBjdXJyZW50Q2hh
cmFjdGVyLnggLSBsYXN0Q2hhcmFjdGVyLnggLSBsYXN0R2x5cGhXaWR0aDsKICAgICAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBmbG9hdCBsYXN0R2x5cGhIZWlnaHQg
PSBib3gtPmNhbGN1bGF0ZUdseXBoSGVpZ2h0KHN0eWxlLCBvZmZzZXQpOworICAgICAgICAgICAg
ICAgICAgICBmbG9hdCBsYXN0R2x5cGhIZWlnaHQgPSBib3gtPmNhbGN1bGF0ZUdseXBoSGVpZ2h0
KHN0eWxlLCBvZmZzZXQsIDApOwogICAgICAgICAgICAgICAgICAgICBsZW5ndGggKz0gY3VycmVu
dENoYXJhY3Rlci55IC0gbGFzdENoYXJhY3Rlci55IC0gbGFzdEdseXBoSGVpZ2h0OwogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTExMTAsNyArMTExMiw4IEBAIHZvaWQgU1ZH
Um9vdElubGluZUJveDo6YnVpbGRMYXlvdXRJbmZvcm0KICAgICBjb25zdCBTVkdSZW5kZXJTdHls
ZSogc3ZnU3R5bGUgPSBzdHlsZS0+c3ZnU3R5bGUoKTsKICAgICBib29sIGlzVmVydGljYWxUZXh0
ID0gaXNWZXJ0aWNhbFdyaXRpbmdNb2RlKHN2Z1N0eWxlKTsKIAotICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgeworICAgIGludCBjaGFyc0NvbnN1bWVkID0gMDsKKyAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IGNoYXJzQ29uc3VtZWQpIHsK
ICAgICAgICAgU1ZHQ2hhciBzdmdDaGFyOwogCiAgICAgICAgIGlmIChpbmZvLmluUGF0aExheW91
dCgpKQpAQCAtMTExOSwxMiArMTEyMiwxNCBAQCB2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OmJ1aWxk
TGF5b3V0SW5mb3JtCiAgICAgICAgIGZsb2F0IGdseXBoV2lkdGggPSAwLjBmOwogICAgICAgICBm
bG9hdCBnbHlwaEhlaWdodCA9IDAuMGY7CiAKKyAgICAgICAgaW50IGV4dHJhQ2hhcnNBdmFpbGFi
bGUgPSBsZW5ndGggLSBpIC0gMTsKKwogICAgICAgICBpZiAodGV4dEJveC0+bV9yZXZlcnNlZCkg
ewotICAgICAgICAgICAgZ2x5cGhXaWR0aCA9IHN2Z1RleHRCb3gtPmNhbGN1bGF0ZUdseXBoV2lk
dGgoc3R5bGUsIHRleHRCb3gtPmVuZCgpIC0gaSk7Ci0gICAgICAgICAgICBnbHlwaEhlaWdodCA9
IHN2Z1RleHRCb3gtPmNhbGN1bGF0ZUdseXBoSGVpZ2h0KHN0eWxlLCB0ZXh0Qm94LT5lbmQoKSAt
IGkpOworICAgICAgICAgICAgZ2x5cGhXaWR0aCA9IHN2Z1RleHRCb3gtPmNhbGN1bGF0ZUdseXBo
V2lkdGgoc3R5bGUsIHRleHRCb3gtPmVuZCgpIC0gaSwgZXh0cmFDaGFyc0F2YWlsYWJsZSwgY2hh
cnNDb25zdW1lZCk7CisgICAgICAgICAgICBnbHlwaEhlaWdodCA9IHN2Z1RleHRCb3gtPmNhbGN1
bGF0ZUdseXBoSGVpZ2h0KHN0eWxlLCB0ZXh0Qm94LT5lbmQoKSAtIGksIGV4dHJhQ2hhcnNBdmFp
bGFibGUpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZ2x5cGhXaWR0aCA9IHN2Z1Rl
eHRCb3gtPmNhbGN1bGF0ZUdseXBoV2lkdGgoc3R5bGUsIHRleHRCb3gtPnN0YXJ0KCkgKyBpKTsK
LSAgICAgICAgICAgIGdseXBoSGVpZ2h0ID0gc3ZnVGV4dEJveC0+Y2FsY3VsYXRlR2x5cGhIZWln
aHQoc3R5bGUsIHRleHRCb3gtPnN0YXJ0KCkgKyBpKTsKKyAgICAgICAgICAgIGdseXBoV2lkdGgg
PSBzdmdUZXh0Qm94LT5jYWxjdWxhdGVHbHlwaFdpZHRoKHN0eWxlLCB0ZXh0Qm94LT5zdGFydCgp
ICsgaSwgZXh0cmFDaGFyc0F2YWlsYWJsZSwgY2hhcnNDb25zdW1lZCk7CisgICAgICAgICAgICBn
bHlwaEhlaWdodCA9IHN2Z1RleHRCb3gtPmNhbGN1bGF0ZUdseXBoSGVpZ2h0KHN0eWxlLCB0ZXh0
Qm94LT5zdGFydCgpICsgaSwgZXh0cmFDaGFyc0F2YWlsYWJsZSk7CiAgICAgICAgIH0KIAogICAg
ICAgICBib29sIGFzc2lnbmVkWCA9IGZhbHNlOwpAQCAtMTI5OSw5ICsxMzA0LDEzIEBAIHZvaWQg
U1ZHUm9vdElubGluZUJveDo6YnVpbGRMYXlvdXRJbmZvcm0KICAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICBpbmZvLmN1cnggKz0gZ2x5cGhBZHZhbmNlICsgc3BhY2luZzsKIAotICAgICAgICAv
LyBBZHZhbmNlIHRvIG5leHQgY2hhcmFjdGVyCi0gICAgICAgIGluZm8uc3ZnQ2hhcnMuYXBwZW5k
KHN2Z0NoYXIpOwotICAgICAgICBpbmZvLnByb2Nlc3NlZFNpbmdsZUNoYXJhY3RlcigpOworICAg
ICAgICAvLyBBZHZhbmNlIHRvIG5leHQgY2hhcmFjdGVyIGdyb3VwCisgICAgICAgIGZvciAoaW50
IGsgPSAwOyBrIDwgY2hhcnNDb25zdW1lZDsgKytrKSB7CisgICAgICAgICAgICBpbmZvLnN2Z0No
YXJzLmFwcGVuZChzdmdDaGFyKTsKKyAgICAgICAgICAgIGluZm8ucHJvY2Vzc2VkU2luZ2xlQ2hh
cmFjdGVyKCk7CisgICAgICAgICAgICBzdmdDaGFyLmRyYXduU2VwZXJhdGVkID0gZmFsc2U7Cisg
ICAgICAgICAgICBzdmdDaGFyLm5ld1RleHRDaHVuayA9IGZhbHNlOworICAgICAgICB9CiAgICAg
fQogfQogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5oCShyZXZpc2lvbiAz
MTI1MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guaAkod29ya2luZyBj
b3B5KQpAQCAtNzcsNyArNzcsNyBAQCBwcml2YXRlOgogfTsKIAogLy8gU2hhcmVkIHdpdGggU1ZH
UmVuZGVyVHJlZUFzVGV4dCAvIFNWR0lubGluZVRleHRCb3gKLVRleHRSdW4gc3ZnVGV4dFJ1bkZv
cklubGluZVRleHRCb3goY29uc3QgVUNoYXIqLCBpbnQgbGVuLCBSZW5kZXJTdHlsZSogc3R5bGUs
IGNvbnN0IElubGluZVRleHRCb3gqIHRleHRCb3gsIGZsb2F0IHhQb3MpOworIFRleHRSdW4gc3Zn
VGV4dFJ1bkZvcklubGluZVRleHRCb3goY29uc3QgVUNoYXIqLCBpbnQgbGVuLCBSZW5kZXJTdHls
ZSogc3R5bGUsIGNvbnN0IElubGluZVRleHRCb3gqIHRleHRCb3gsIGZsb2F0IHhQb3MpOwogRmxv
YXRQb2ludCB0b3BMZWZ0UG9zaXRpb25PZkNoYXJhY3RlclJhbmdlKFZlY3RvcjxTVkdDaGFyPjo6
aXRlcmF0b3Igc3RhcnQsIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3IgZW5kKTsKIGZsb2F0IGN1
bW11bGF0ZWRXaWR0aE9mSW5saW5lQm94Q2hhcmFjdGVyUmFuZ2UoU1ZHSW5saW5lQm94Q2hhcmFj
dGVyUmFuZ2UmIHJhbmdlKTsKIGZsb2F0IGN1bW11bGF0ZWRIZWlnaHRPZklubGluZUJveENoYXJh
Y3RlclJhbmdlKFNWR0lubGluZUJveENoYXJhY3RlclJhbmdlJiByYW5nZSk7CkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdGb250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb250LmNw
cAkocmV2aXNpb24gMzEyNTEpCisrKyBXZWJDb3JlL3N2Zy9TVkdGb250LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjQ5LDEzICsyNDksMTYgQEAgc3RydWN0IFNWR1RleHRSdW5XYWxrZXIgewogICAg
ICAgICBTVkdHbHlwaElkZW50aWZpZXIgaWRlbnRpZmllcjsKICAgICAgICAgYm9vbCBmb3VuZEds
eXBoID0gZmFsc2U7CiAgICAgICAgIGludCBjaGFyYWN0ZXJMb29rdXBSYW5nZTsKKyAgICAgICAg
aW50IGVuZE9mU2NhblJhbmdlID0gdG8gKyBtX3dhbGtlckRhdGEuZXh0cmFDaGFyc0F2YWlsYWJs
ZTsKIAogICAgICAgICBmb3IgKGludCBpID0gZnJvbTsgaSA8IHRvOyArK2kpIHsKICAgICAgICAg
ICAgIC8vIElmIGNoYXJhY3Rlckxvb2t1cFJhbmdlIGlzID4gMCwgdGhlbiB0aGUgZm9udCBkZWZp
bmVkIGxpZ2F0dXJlcyAobGVuZ3RoIG9mIHVuaWNvZGUgcHJvcGVydHkgdmFsdWUgPiAxKS4KICAg
ICAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sgd2hldGVyIHRoZSBjdXJyZW50IGNoYXJhY3Rl
ciAmIHRoZSBuZXh0IGNoYXJhY3RlciBkZWZpbmUgYSBsaWdhdHVyZS4gVGhpcyBuZWVkcyB0byBi
ZQogICAgICAgICAgICAgLy8gZXh0ZW5kZWQgdG8gdGhlIG4tdGggbmV4dCBjaGFyYWN0ZXIgKHdo
ZXJlIG4gaXMgJ2NoYXJhY3Rlckxvb2t1cFJhbmdlJyksIHRvIGNoZWNrIGZvciBhbnkgcG9zc2li
bGUgbGlnYXR1cmUuCi0gICAgICAgICAgICBjaGFyYWN0ZXJMb29rdXBSYW5nZSA9IG1heGltdW1I
YXNoS2V5TGVuZ3RoICsgaSA+PSB0byA/IHRvIC0gaSA6IG1heGltdW1IYXNoS2V5TGVuZ3RoOwor
ICAgICAgICAgICAgY2hhcmFjdGVyTG9va3VwUmFuZ2UgPSBtYXhpbXVtSGFzaEtleUxlbmd0aCAr
IGkgPj0gZW5kT2ZTY2FuUmFuZ2UgPyBlbmRPZlNjYW5SYW5nZSAtIGkgOiBtYXhpbXVtSGFzaEtl
eUxlbmd0aDsKIAorICAgICAgICAgICAgLy8gRklYTUU6IGluc3RlYWQgb2YgY2hlY2tpbmcgZnJv
bSBsb25nZXN0IHN0cmluZyB0byBzaG9ydGVzdCwgdGhpcyBzaG91bGQgcmVhbGx5IHNjYW4gaW4g
b3JkZXIKKyAgICAgICAgICAgIC8vIG9mIHRoZSBnbHlwaHMgYW5kIHBpY2sgdGhlIGZpcnN0IG1h
dGNoCiAgICAgICAgICAgICB3aGlsZSAoY2hhcmFjdGVyTG9va3VwUmFuZ2UgPiAwICYmICFmb3Vu
ZEdseXBoKSB7CiAgICAgICAgICAgICAgICAgU3RyaW5nIGxvb2t1cFN0cmluZyhydW4uZGF0YShy
dW4ucnRsKCkgPyBydW4ubGVuZ3RoKCkgLSAoaSArIGNoYXJhY3Rlckxvb2t1cFJhbmdlKSA6IGkp
LCBjaGFyYWN0ZXJMb29rdXBSYW5nZSk7CiAKQEAgLTI3Miw2ICsyNzUsNyBAQCBzdHJ1Y3QgU1ZH
VGV4dFJ1bldhbGtlciB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChpZGVudGlmaWVyLmlzVmFs
aWQgJiYgaXNDb21wYXRpYmxlR2x5cGgoaWRlbnRpZmllciwgaXNWZXJ0aWNhbFRleHQsIGxhbmd1
YWdlLCBjaGFycywgc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24pKSB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBBU1NFUlQoY2hhcmFjdGVyTG9va3VwUmFuZ2UgPiAwKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIGkgKz0gY2hhcmFjdGVyTG9va3VwUmFuZ2UgLSAxOworICAgICAgICAgICAg
ICAgICAgICAgICAgbV93YWxrZXJEYXRhLmNoYXJzQ29uc3VtZWQgKz0gY2hhcmFjdGVyTG9va3Vw
UmFuZ2U7CiAKICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kR2x5cGggPSB0cnVlOwogICAg
ICAgICAgICAgICAgICAgICAgICAgU1ZHR2x5cGhFbGVtZW50Ojppbmhlcml0VW5zcGVjaWZpZWRB
dHRyaWJ1dGVzKGlkZW50aWZpZXIsIG1fZm9udERhdGEpOwpAQCAtMjgzLDYgKzI4Nyw3IEBAIHN0
cnVjdCBTVkdUZXh0UnVuV2Fsa2VyIHsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgaWYg
KCFmb3VuZEdseXBoKSB7CisgICAgICAgICAgICAgICAgKyttX3dhbGtlckRhdGEuY2hhcnNDb25z
dW1lZDsKICAgICAgICAgICAgICAgICBpZiAoU1ZHTWlzc2luZ0dseXBoRWxlbWVudCogZWxlbWVu
dCA9IG1fZm9udEVsZW1lbnQtPmZpcnN0TWlzc2luZ0dseXBoRWxlbWVudCgpKSB7CiAgICAgICAg
ICAgICAgICAgICAgIC8vIDxtaXNzaW5nLWdseXBoPiBlbGVtZW50IHN1cHBvcnQKICAgICAgICAg
ICAgICAgICAgICAgaWRlbnRpZmllciA9IFNWR0dseXBoRWxlbWVudDo6YnVpbGRHZW5lcmljR2x5
cGhJZGVudGlmaWVyKGVsZW1lbnQpOwpAQCAtMzE3LDYgKzMyMiw4IEBAIHN0cnVjdCBTVkdUZXh0
UnVuV2Fsa2VyTWVhc3VyZWRMZW5ndGhEYXQKICAgICBpbnQgYXQ7CiAgICAgaW50IGZyb207CiAg
ICAgaW50IHRvOworICAgIGludCBleHRyYUNoYXJzQXZhaWxhYmxlOworICAgIGludCBjaGFyc0Nv
bnN1bWVkOwogCiAgICAgZmxvYXQgc2NhbGU7CiAgICAgZmxvYXQgbGVuZ3RoOwpAQCAtMzQzLDcg
KzM1MCw3IEBAIHZvaWQgZmxvYXRXaWR0aE1pc3NpbmdHbHlwaENhbGxiYWNrKGNvbnMKICAgICBk
YXRhLmxlbmd0aCArPSBmb250LmZsb2F0V2lkdGgocnVuKTsKIH0KIAotc3RhdGljIGZsb2F0IGZs
b2F0V2lkdGhPZlN1YlN0cmluZ1VzaW5nU1ZHRm9udChjb25zdCBGb250KiBmb250LCBjb25zdCBU
ZXh0UnVuJiBydW4sIGludCBmcm9tLCBpbnQgdG8pCitzdGF0aWMgZmxvYXQgZmxvYXRXaWR0aE9m
U3ViU3RyaW5nVXNpbmdTVkdGb250KGNvbnN0IEZvbnQqIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1
biwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUsIGludCBmcm9tLCBpbnQgdG8sIGludCYgY2hhcnND
b25zdW1lZCkKIHsKICAgICBpbnQgbmV3RnJvbSA9IHRvID4gZnJvbSA/IGZyb20gOiB0bzsKICAg
ICBpbnQgbmV3VG8gPSB0byA+IGZyb20gPyB0byA6IGZyb207CkBAIC0zNjQsNiArMzcxLDggQEAg
c3RhdGljIGZsb2F0IGZsb2F0V2lkdGhPZlN1YlN0cmluZ1VzaW5nUwogICAgICAgICBkYXRhLmF0
ID0gZnJvbTsKICAgICAgICAgZGF0YS5mcm9tID0gZnJvbTsKICAgICAgICAgZGF0YS50byA9IHRv
OworICAgICAgICBkYXRhLmV4dHJhQ2hhcnNBdmFpbGFibGUgPSBleHRyYUNoYXJzQXZhaWxhYmxl
OworICAgICAgICBkYXRhLmNoYXJzQ29uc3VtZWQgPSAwOwogICAgICAgICBkYXRhLnNjYWxlID0g
Y29udmVydEVtVW5pdFRvUGl4ZWwoZm9udC0+c2l6ZSgpLCBmb250RmFjZUVsZW1lbnQtPnVuaXRz
UGVyRW0oKSwgMS4wZik7CiAgICAgICAgIGRhdGEubGVuZ3RoID0gMC4wZjsKIApAQCAtMzgwLDYg
KzM4OSw3IEBAIHN0YXRpYyBmbG9hdCBmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1MKIAogICAg
ICAgICBTVkdUZXh0UnVuV2Fsa2VyPFNWR1RleHRSdW5XYWxrZXJNZWFzdXJlZExlbmd0aERhdGE+
IHJ1bldhbGtlcihmb250RGF0YSwgZm9udEVsZW1lbnQsIGRhdGEsIGZsb2F0V2lkdGhVc2luZ1NW
R0ZvbnRDYWxsYmFjaywgZmxvYXRXaWR0aE1pc3NpbmdHbHlwaENhbGxiYWNrKTsKICAgICAgICAg
cnVuV2Fsa2VyLndhbGsocnVuLCBpc1ZlcnRpY2FsVGV4dCwgbGFuZ3VhZ2UsIDAsIHJ1bi5sZW5n
dGgoKSk7CisgICAgICAgIGNoYXJzQ29uc3VtZWQgPSBkYXRhLmNoYXJzQ29uc3VtZWQ7CiAgICAg
ICAgIHJldHVybiBkYXRhLmxlbmd0aDsKICAgICB9CiAKQEAgLTM4OCwxMyArMzk4LDIxIEBAIHN0
YXRpYyBmbG9hdCBmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1MKIAogZmxvYXQgRm9udDo6Zmxv
YXRXaWR0aFVzaW5nU1ZHRm9udChjb25zdCBUZXh0UnVuJiBydW4pIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIGZsb2F0V2lkdGhPZlN1YlN0cmluZ1VzaW5nU1ZHRm9udCh0aGlzLCBydW4sIDAsIHJ1bi5s
ZW5ndGgoKSk7CisgICAgaW50IGNoYXJzQ29uc3VtZWQ7CisgICAgcmV0dXJuIGZsb2F0V2lkdGhP
ZlN1YlN0cmluZ1VzaW5nU1ZHRm9udCh0aGlzLCBydW4sIDAsIDAsIHJ1bi5sZW5ndGgoKSwgY2hh
cnNDb25zdW1lZCk7Cit9CisKK2Zsb2F0IEZvbnQ6OmZsb2F0V2lkdGhVc2luZ1NWR0ZvbnQoY29u
c3QgVGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBjaGFyc0NvbnN1
bWVkKSBjb25zdAoreworICAgIHJldHVybiBmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1NWR0Zv
bnQodGhpcywgcnVuLCBleHRyYUNoYXJzQXZhaWxhYmxlLCAwLCBydW4ubGVuZ3RoKCksIGNoYXJz
Q29uc3VtZWQpOwogfQogCiAvLyBDYWxsYmFjayAmIGRhdGEgc3RydWN0dXJlcyB0byBkcmF3IHRl
eHQgdXNpbmcgU1ZHIEZvbnRzCiBzdHJ1Y3QgU1ZHVGV4dFJ1bldhbGtlckRyYXdUZXh0RGF0YSB7
CiAgICAgZmxvYXQgc2NhbGU7CiAgICAgYm9vbCBpc1ZlcnRpY2FsVGV4dDsKKyAgICBpbnQgZXh0
cmFDaGFyc0F2YWlsYWJsZTsKKyAgICBpbnQgY2hhcnNDb25zdW1lZDsKIAogICAgIGZsb2F0IHhT
dGFydE9mZnNldDsKICAgICBGbG9hdFBvaW50IGN1cnJlbnRQb2ludDsKQEAgLTQ5Myw4ICs1MTEs
OSBAQCB2b2lkIEZvbnQ6OmRyYXdUZXh0VXNpbmdTVkdGb250KEdyYXBoaWNzCiAKICAgICAgICAg
QVNTRVJUKGRhdGEuYWN0aXZlUGFpbnRTZXJ2ZXIpOwogCisgICAgICAgIGludCBjaGFyc0NvbnN1
bWVkOwogICAgICAgICBkYXRhLmlzVmVydGljYWxUZXh0ID0gZmFsc2U7Ci0gICAgICAgIGRhdGEu
eFN0YXJ0T2Zmc2V0ID0gZmxvYXRXaWR0aE9mU3ViU3RyaW5nVXNpbmdTVkdGb250KHRoaXMsIHJ1
biwgcnVuLnJ0bCgpID8gdG8gOiAwLCBydW4ucnRsKCkgPyBydW4ubGVuZ3RoKCkgOiBmcm9tKTsK
KyAgICAgICAgZGF0YS54U3RhcnRPZmZzZXQgPSBmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1NW
R0ZvbnQodGhpcywgcnVuLCAwLCBydW4ucnRsKCkgPyB0byA6IDAsIHJ1bi5ydGwoKSA/IHJ1bi5s
ZW5ndGgoKSA6IGZyb20sIGNoYXJzQ29uc3VtZWQpOwogICAgICAgICBkYXRhLmdseXBoT3JpZ2lu
ID0gRmxvYXRQb2ludCgpOwogICAgICAgICBkYXRhLmNvbnRleHQgPSBjb250ZXh0OwogCkBAIC01
MTMsNiArNTMyLDggQEAgdm9pZCBGb250OjpkcmF3VGV4dFVzaW5nU1ZHRm9udChHcmFwaGljcwog
ICAgICAgICAgICAgZGF0YS5nbHlwaE9yaWdpbi5zZXRZKGZvbnREYXRhLT5ob3Jpem9udGFsT3Jp
Z2luWSgpICogZGF0YS5zY2FsZSk7CiAgICAgICAgIH0KIAorICAgICAgICBkYXRhLmV4dHJhQ2hh
cnNBdmFpbGFibGUgPSAwOworCiAgICAgICAgIFNWR1RleHRSdW5XYWxrZXI8U1ZHVGV4dFJ1bldh
bGtlckRyYXdUZXh0RGF0YT4gcnVuV2Fsa2VyKGZvbnREYXRhLCBmb250RWxlbWVudCwgZGF0YSwg
ZHJhd1RleHRVc2luZ1NWR0ZvbnRDYWxsYmFjaywgZHJhd1RleHRNaXNzaW5nR2x5cGhDYWxsYmFj
ayk7CiAgICAgICAgIHJ1bldhbGtlci53YWxrKHJ1biwgZGF0YS5pc1ZlcnRpY2FsVGV4dCwgbGFu
Z3VhZ2UsIGZyb20sIHRvKTsKICAgICB9CkBAIC01MjAsOCArNTQxLDkgQEAgdm9pZCBGb250Ojpk
cmF3VGV4dFVzaW5nU1ZHRm9udChHcmFwaGljcwogCiBGbG9hdFJlY3QgRm9udDo6c2VsZWN0aW9u
UmVjdEZvclRleHRVc2luZ1NWR0ZvbnQoY29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdCBJbnRQb2lu
dCYgcG9pbnQsIGludCBoZWlnaHQsIGludCBmcm9tLCBpbnQgdG8pIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIEZsb2F0UmVjdChwb2ludC54KCkgKyBmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1NWR0Zv
bnQodGhpcywgcnVuLCBydW4ucnRsKCkgPyB0byA6IDAsIHJ1bi5ydGwoKSA/IHJ1bi5sZW5ndGgo
KSA6IGZyb20pLAotICAgICAgICAgICAgICAgICAgICAgcG9pbnQueSgpLCBmbG9hdFdpZHRoT2ZT
dWJTdHJpbmdVc2luZ1NWR0ZvbnQodGhpcywgcnVuLCBmcm9tLCB0byksIGhlaWdodCk7CisgICAg
aW50IGNoYXJzQ29uc3VtZWQ7CisgICAgcmV0dXJuIEZsb2F0UmVjdChwb2ludC54KCkgKyBmbG9h
dFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1NWR0ZvbnQodGhpcywgcnVuLCAwLCBydW4ucnRsKCkgPyB0
byA6IDAsIHJ1bi5ydGwoKSA/IHJ1bi5sZW5ndGgoKSA6IGZyb20sIGNoYXJzQ29uc3VtZWQpLAor
ICAgICAgICAgICAgICAgICAgICAgcG9pbnQueSgpLCBmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2lu
Z1NWR0ZvbnQodGhpcywgcnVuLCAwLCBmcm9tLCB0bywgY2hhcnNDb25zdW1lZCksIGhlaWdodCk7
CiB9CiAKIGludCBGb250OjpvZmZzZXRGb3JQb3NpdGlvbkZvclRleHRVc2luZ1NWR0ZvbnQoY29u
c3QgVGV4dFJ1biYsIGludCBwb3NpdGlvbiwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocykgY29u
c3QKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAkocmV2aXNpb24gMzEy
NTEpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03OSwxMCArNzksMTIgQEAgc3RhdGljIGlubGluZSBmbG9hdCBjdW1tdWxhdGVkQ2hh
cmFjdGVyUgogICAgICAgICAgICAgaWYgKHRleHRCb3gtPm1fcmV2ZXJzZWQpCiAgICAgICAgICAg
ICAgICAgbmV3T2Zmc2V0ID0gdGV4dEJveC0+c3RhcnQoKSArIHRleHRCb3gtPmVuZCgpIC0gbmV3
T2Zmc2V0OwogCisgICAgICAgICAgICAvLyBGSVhNRTogZG9lcyB0aGlzIGhhbmRsZSBtdWx0aWNo
YXIgZ2x5cGhzIG9rPyBub3Qgc3VyZQorICAgICAgICAgICAgaW50IGNoYXJzQ29uc3VtZWQgPSAw
OwogICAgICAgICAgICAgaWYgKGlzVmVydGljYWxUZXh0KQotICAgICAgICAgICAgICAgIHRleHRM
ZW5ndGggKz0gdGV4dEJveC0+Y2FsY3VsYXRlR2x5cGhIZWlnaHQoc3R5bGUsIG5ld09mZnNldCk7
CisgICAgICAgICAgICAgICAgdGV4dExlbmd0aCArPSB0ZXh0Qm94LT5jYWxjdWxhdGVHbHlwaEhl
aWdodChzdHlsZSwgbmV3T2Zmc2V0LCAwKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICB0ZXh0TGVuZ3RoICs9IHRleHRCb3gtPmNhbGN1bGF0ZUdseXBoV2lkdGgoc3R5bGUsIG5l
d09mZnNldCk7CisgICAgICAgICAgICAgICAgdGV4dExlbmd0aCArPSB0ZXh0Qm94LT5jYWxjdWxh
dGVHbHlwaFdpZHRoKHN0eWxlLCBuZXdPZmZzZXQsIDAsIGNoYXJzQ29uc3VtZWQpOwogICAgICAg
ICB9CiAKICAgICAgICAgaWYgKCF1c2VzRnVsbFJhbmdlKSB7CkBAIC0xOTMsMTAgKzE5NSwxMSBA
QCBzdHJ1Y3QgU1ZHSW5saW5lVGV4dEJveFF1ZXJ5V2Fsa2VyIHsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKHRleHRCb3gtPm1fcmV2ZXJzZWQpCiAgICAgICAgICAgICAgICAgICAgICAgICBuZXdP
ZmZzZXQgPSB0ZXh0Qm94LT5zdGFydCgpICsgdGV4dEJveC0+ZW5kKCkgLSBuZXdPZmZzZXQ7CiAK
KyAgICAgICAgICAgICAgICAgICAgaW50IGNoYXJzQ29uc3VtZWQ7CiAgICAgICAgICAgICAgICAg
ICAgIGlmIChpc1ZlcnRpY2FsVGV4dCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fcXVlcnlQ
b2ludFJlc3VsdC5tb3ZlKGl0LT54LCBpdC0+eSArIHRleHRCb3gtPmNhbGN1bGF0ZUdseXBoSGVp
Z2h0KHN0eWxlLCBuZXdPZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fcXVlcnlQ
b2ludFJlc3VsdC5tb3ZlKGl0LT54LCBpdC0+eSArIHRleHRCb3gtPmNhbGN1bGF0ZUdseXBoSGVp
Z2h0KHN0eWxlLCBuZXdPZmZzZXQsIGVuZCAtIGl0KSk7CiAgICAgICAgICAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fcXVlcnlQb2ludFJlc3VsdC5tb3ZlKGl0LT54
ICsgdGV4dEJveC0+Y2FsY3VsYXRlR2x5cGhXaWR0aChzdHlsZSwgbmV3T2Zmc2V0KSwgaXQtPnkp
OworICAgICAgICAgICAgICAgICAgICAgICAgbV9xdWVyeVBvaW50UmVzdWx0Lm1vdmUoaXQtPngg
KyB0ZXh0Qm94LT5jYWxjdWxhdGVHbHlwaFdpZHRoKHN0eWxlLCBuZXdPZmZzZXQsIGVuZCAtIGl0
LCBjaGFyc0NvbnN1bWVkKSwgaXQtPnkpOwogCiAgICAgICAgICAgICAgICAgICAgIG1fc3RvcFBy
b2Nlc3NpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAzMTI1MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIyIEBACisyMDA4LTAzLTI0ICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
LSB0ZXN0IGNhc2UgYW5kIG5ldyByZXN1bHRzIGZvciAiU1ZHVGV4dEVsZW1lbnQuZ2V0U3RhcnRQ
b3NpdGlvbk9mQ2hhciBkb2VzIG5vdCBjb3JyZWN0bHkgYWNjb3VudCBmb3IgbXVsdGljaGFyIGds
eXBocyIKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgw
NDYKKworICAgICAgICAqIHN2Zy90ZXh0L211bHRpY2hhci1nbHlwaC5zdmc6IEFkZGVkLiBOZXcg
dGVzdCBjYXNlIGZvciBib3RoIHJlbmRlcmluZyBhbmQgZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcgor
ICAgICAgICBhY2Nlc3Mgb2YgbXVsdGljaGFyIGdseXBocy4KKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvc3ZnL3RleHQvbXVsdGljaGFyLWdseXBoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKKyAgICAg
ICAgVGhlIGZvbGxvd2luZyB0ZXN0IHJlc3VsdHMgY2hhbmdlZCwgYWxsIGFwcGVhciB0byBiZSBp
bXByb3ZlbWVudHMuCisgICAgICAgIAorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNW
Ry0xLjEvZm9udHMtZ2x5cGgtMDQtdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL3N2Zy9XM0MtU1ZHLTEuMS90ZXh0LWFsdGdseXBoLTAxLWItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvdGV4dC10ZXh0LTA2LXQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvdGV4dC90ZXh0LWFsdGdseXBoLTAx
LWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvdGV4dC90ZXh0LXRl
eHQtMDYtdC1leHBlY3RlZC50eHQ6CisKIDIwMDgtMDMtMjQgIERhbiBCZXJuc3RlaW4gIDxtaXR6
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9mb250cy1nbHlwaC0wNC10LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1cz
Qy1TVkctMS4xL2ZvbnRzLWdseXBoLTA0LXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAzMTI1MSkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvZm9udHMtZ2x5cGgt
MDQtdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIsMTMgKzIsMTMgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA0ODB4MzYw
CiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAo
MC41MCwwLjUwKSBzaXplIDQ3OXgzNTkKLSAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgx
MDAsNjApIHNpemUgNjR4MTUwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTAwLDYw
KSBzaXplIDI1eDE1MAogICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwMCwxMDApIHNp
emUgNjR4NTAgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDAsLTQwKSBzaXplIDY0eDUwCisgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMTAwLDEwMCkgc2l6ZSAyNXg1MCBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtNDApIHNpemUgMjV4NTAKICAgICAgICAg
ICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwMC4wMCwxMDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5k
T2Zmc2V0IDMgd2lkdGggMjUuMDA6ICJmZmwiCi0gICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMTAwLDIwMCkgc2l6ZSA2NHg1MCBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtNDApIHNpemUgNjR4NTAKKyAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgxMDAsMjAwKSBzaXplIDI1eDUwIGNvbnRhaW5zIDEgY2h1bmso
cykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC00MCkgc2l6ZSAy
NXg1MAogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAwLjAwLDIwMC4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMyB3aWR0aCAyNS4wMDogImZmbCIKICAgICBSZW5kZXJTVkdU
ZXh0IHt0ZXh0fSBhdCAoMTAsMzQwKSBzaXplIDI4NHg0NiBjb250YWlucyAxIGNodW5rKHMpCiAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTM2KSBzaXplIDI4NHg0NgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS90ZXh0LWFsdGds
eXBoLTAxLWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvVzNDLVNWRy0xLjEvdGV4dC1hbHRnbHlwaC0wMS1iLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMzEyNTEpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4x
L3RleHQtYWx0Z2x5cGgtMDEtYi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIsNyAr
Miw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgNDgweDM2MAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclNWR1Jv
b3Qge3N2Z30gYXQgKDAuNTAsMC41MCkgc2l6ZSA0Nzl4MzU5Ci0gICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoNSwxNCkgc2l6ZSA0NjMuNjd4MjcxLjY3CisgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoNSwxNCkgc2l6ZSA0NjN4MjcxLjY3CiAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoNSw1MCkgc2l6ZSA0MDN4NDQgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTM2KSBzaXplIDQwM3g0NAogICAgICAg
ICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoNS4wMCw1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRP
ZmZzZXQgMjYgd2lkdGggNDAzLjAwOiAiVGVzdCAnYWx0R2x5cGgnIGZhY2lsaXRpZXMiCkBAIC0x
MCw3ICsxMCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTI3KSBzaXplIDQ2M3gzMwogICAgICAgICAgIGNo
dW5rIDEgdGV4dCBydW4gMSBhdCAoNS4wMCw5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQg
MzIgd2lkdGggNDYzLjAwOiAiYW5kIG1hbnktdG8tbWFueSBjaGFycyB0byBnbHlwaHMiCiAgICAg
ICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0OS4zMywxMzcuMzMpIHNpemUgNDE5LjMzeDE0
OC4zMworICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNDkuMzMsMTM3LjMzKSBzaXpl
IDM4OS4zM3gxNDguMzMKICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDE0MCwxOTAp
IHNpemUgMTg4eDY3IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICBSZW5kZXJTVkdUU3Bh
biB7YWx0R2x5cGh9IGF0ICgwLDApIHNpemUgMzh4NjcKICAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtNTIpIHNpemUgMzh4NjcKQEAgLTQxLDggKzQxLDggQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBy
dW4gMiBhdCAoODcuNTAsMjcwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDM3
LjUwOiAiQSIKICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDc1LC01
Mikgc2l6ZSAzOHg2NwogICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAzIGF0ICgxMjUuMDAs
MjcwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDM3LjUwOiAiRCIKLSAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI4MCwyNzApIHNpemUgMTg4eDY3IGNvbnRhaW5z
IDEgY2h1bmsocykKLSAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
LTUyKSBzaXplIDE4OHg2NworICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjgwLDI3
MCkgc2l6ZSAxNTh4NjcgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtNTIpIHNpemUgMTU4eDY3CiAgICAgICAgICAgICBjaHVu
ayAxIHRleHQgcnVuIDEgYXQgKDI4MC4wMCwyNzAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0
IDUgd2lkdGggMTU3LjUwOiAiU0FTU1kiCiAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEw
LDM0MCkgc2l6ZSAyNjR4NDYgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLC0zNikgc2l6ZSAyNjR4NDYKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvdGV4dC10ZXh0LTA2LXQtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEv
dGV4dC10ZXh0LTA2LXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAzMTI1MSkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvdGV4dC10ZXh0LTA2LXQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yLDEzICsyLDEzIEBAIGxheWVyIGF0ICgwLDApIHNpemUg
NDgweDM2MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNDgweDM2MAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAuNTAsMC41MCkgc2l6
ZSA0Nzl4MzU5Ci0gICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzAsNTUpIHNpemUgMjc4
eDIwOQorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMwLDU1KSBzaXplIDI3NHgyMDkK
ICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAK
ICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAK
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoLTQsLTE1KSBzaXplIDh4MTkKICAg
ICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoLTAuNTAsLTE1KSBzaXplIDF4MTUgW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMC4wMCwtMTUuMDAiXQogICAgICAgICAg
IFJlbmRlclBhdGgge3JlY3R9IGF0ICgtNCwtNCkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTS00LjAwLC00LjAwTDQuMDAsLTQuMDBMNC4wMCw0
LjAwTC00LjAwLDQuMDAiXQotICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzAsNTUp
IHNpemUgMjc4eDIwOSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgy
MC4wMCwzMC4wMCl9XQorICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzAsNTUpIHNp
emUgMjc0eDIwOSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgyMC4w
MCwzMC4wMCl9XQogICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMCw1OSkgc2l6
ZSA3MXgxNTQgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAuMDAs
NDAuMDApfV0KICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDYy
eDE0IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgNjJ4MTQKQEAgLTE5LDcgKzE5LDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAs
MTQwKSBzaXplIDcxeDE0IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgNzF4MTQKICAgICAgICAgICAgICAg
Y2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgwLjAwLDE0MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZz
ZXQgMTUgd2lkdGggNzEuMDA6ICJ4L3kgcG9zaXRpb25pbmciCi0gICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDEyNiw1NSkgc2l6ZSAxODJ4MTkgW3RyYW5zZm9ybT17bT0oKDEuMDAs
MC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAwLDQwLjAwKX1dCisgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDEyNiw1NSkgc2l6ZSAxNzh4MTkgW3RyYW5zZm9ybT17bT0oKDEuMDAs
MC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAwLDQwLjAwKX1dCiAgICAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHt1c2V9IGF0ICgxMjYsNTUpIHNpemUgOHgxOQogICAgICAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtnfSBhdCAoMTI2LDU1KSBzaXplIDh4MTkgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAuMDAsMC4wMCl9XQogICAgICAgICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgxMjYsNTUpIHNpemUgOHgxOQpAQCAtNTAsMTUgKzUwLDE0
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAgICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge2d9IGF0ICgyNDYsNTUpIHNpemUgOHgxOQogICAgICAgICAgICAgICAgIFJlbmRl
clBhdGgge2xpbmV9IGF0ICgyNDkuNTAsNTUpIHNpemUgMXgxNSBbc3Ryb2tlPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19
XSBbZGF0YT0iTTAuMDAsMC4wMEwwLjAwLC0xNS4wMCJdCiAgICAgICAgICAgICAgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDI0Niw2Nikgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9Izg4ODhGRl19XSBbZGF0YT0iTS00LjAwLC00LjAwTDQuMDAsLTQuMDBMNC4wMCw0LjAwTC00
LjAwLDQuMDAiXQotICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwwKSBzaXpl
IDE3OHgxMCBjb250YWlucyA2IGNodW5rKHMpCi0gICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTgpIHNpemUgMTc4eDEwCi0gICAgICAgICAgICAgIGNodW5rIDEg
dGV4dCBydW4gMSBhdCAoMTAuMDAsMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0
aCA4LjAwOiAiZiIKLSAgICAgICAgICAgICAgY2h1bmsgMiB0ZXh0IHJ1biAxIGF0ICgxODAuMDAs
MC4wMCkgc3RhcnRPZmZzZXQgMSBlbmRPZmZzZXQgMiB3aWR0aCA4LjAwOiAiaSIKLSAgICAgICAg
ICAgICAgY2h1bmsgMyB0ZXh0IHJ1biAxIGF0ICg0MC4wMCwwLjAwKSBzdGFydE9mZnNldCAyIGVu
ZE9mZnNldCAzIHdpZHRoIDE1LjAwOiAiMSIKLSAgICAgICAgICAgICAgY2h1bmsgNCB0ZXh0IHJ1
biAxIGF0ICg3MC4wMCwwLjAwKSBzdGFydE9mZnNldCAzIGVuZE9mZnNldCA0IHdpZHRoIDE1LjAw
OiAiMiIKLSAgICAgICAgICAgICAgY2h1bmsgNSB0ZXh0IHJ1biAxIGF0ICgxMDAuMDAsMC4wMCkg
c3RhcnRPZmZzZXQgNCBlbmRPZmZzZXQgNSB3aWR0aCAxNS4wMDogIjMiCi0gICAgICAgICAgICAg
IGNodW5rIDYgdGV4dCBydW4gMSBhdCAoMTMwLjAwLDAuMDApIHN0YXJ0T2Zmc2V0IDUgZW5kT2Zm
c2V0IDYgd2lkdGggMTUuMDA6ICI0IgotICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0
ICgxMTYsODUpIHNpemUgODB4NzkgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAw
KSkgdD0oMTAwLjAwLDgwLjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDEwLDApIHNpemUgMTM1eDEwIGNvbnRhaW5zIDUgY2h1bmsocykKKyAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtOCkgc2l6ZSAxMzV4MTAKKyAgICAgICAgICAg
ICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCAyIHdpZHRoIDE1LjAwOiAiZmkiCisgICAgICAgICAgICAgIGNodW5rIDIgdGV4dCBydW4g
MSBhdCAoNDAuMDAsMC4wMCkgc3RhcnRPZmZzZXQgMiBlbmRPZmZzZXQgMyB3aWR0aCAxNS4wMDog
IjEiCisgICAgICAgICAgICAgIGNodW5rIDMgdGV4dCBydW4gMSBhdCAoNzAuMDAsMC4wMCkgc3Rh
cnRPZmZzZXQgMyBlbmRPZmZzZXQgNCB3aWR0aCAxNS4wMDogIjIiCisgICAgICAgICAgICAgIGNo
dW5rIDQgdGV4dCBydW4gMSBhdCAoMTAwLjAwLDAuMDApIHN0YXJ0T2Zmc2V0IDQgZW5kT2Zmc2V0
IDUgd2lkdGggMTUuMDA6ICIzIgorICAgICAgICAgICAgICBjaHVuayA1IHRleHQgcnVuIDEgYXQg
KDEzMC4wMCwwLjAwKSBzdGFydE9mZnNldCA1IGVuZE9mZnNldCA2IHdpZHRoIDE1LjAwOiAiNCIK
KyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTE2LDg1KSBzaXplIDc5eDc5IFt0
cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwMC4wMCw4MC4wMCl9XQog
ICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMTE2LDg1KSBzaXplIDh4MTkK
ICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDExNiw4NSkgc2l6ZSA4eDE5
IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsLTEwLjAwKX1d
CiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDExNiw4NSkgc2l6ZSA4
eDE5CkBAIC04OSwxMCArODgsMTAgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAg
ICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE3NiwxMjUpIHNpemUgOHgxOQog
ICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2xpbmV9IGF0ICgxNzkuNTAsMTI1KSBzaXplIDF4
MTUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMC4wMCwtMTUuMDAiXQog
ICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNzYsMTM2KSBzaXplIDh4OCBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFtkYXRhPSJNLTQuMDAsLTQuMDBM
NC4wMCwtNC4wMEw0LjAwLDQuMDBMLTQuMDAsNC4wMCJdCi0gICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDAsLTEwKSBzaXplIDc2eDcwIGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtOCkgc2l6ZSA3Nng3MAor
ICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA3NXg1MCBjb250
YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDAsLTgpIHNpemUgNzV4NTAKICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0
ICgwLjAwLC0xMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNiB3aWR0aCA3NS4wMDogImZp
MTIzNCIKLSAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTI2LDE4NSkgc2l6ZSAx
ODJ4NzkgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAwLDE4
MC4wMCl9XQorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxMjYsMTg1KSBzaXpl
IDE3OHg3OSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMDAuMDAs
MTgwLjAwKX1dCiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgxMjYsMTg1
KSBzaXplIDh4MTkKICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDEyNiwx
ODUpIHNpemUgOHgxOSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgx
MC4wMCwtMTAuMDApfV0KICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
MTI2LDE4NSkgc2l6ZSA4eDE5CkBAIC0xMjMsMTQgKzEyMiwxMyBAQCBsYXllciBhdCAoMCwwKSBz
aXplIDQ4MHgzNjAKICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjQ2
LDIyNSkgc2l6ZSA4eDE5CiAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7bGluZX0gYXQgKDI0
OS41MCwyMjUpIHNpemUgMXgxNSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBd
fV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbZGF0YT0iTTAuMDAsMC4w
MEwwLjAwLC0xNS4wMCJdCiAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI0
NiwyMzYpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW2Rh
dGE9Ik0tNC4wMCwtNC4wMEw0LjAwLC00LjAwTDQuMDAsNC4wMEwtNC4wMCw0LjAwIl0KLSAgICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsLTEwKSBzaXplIDE3OHg3MCBjb250YWlu
cyA2IGNodW5rKHMpCi0gICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsLTgpIHNpemUgMTc4eDcwCi0gICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAo
MTAuMDAsLTEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDguMDA6ICJmIgot
ICAgICAgICAgICAgICBjaHVuayAyIHRleHQgcnVuIDEgYXQgKDE4MC4wMCw1MC4wMCkgc3RhcnRP
ZmZzZXQgMSBlbmRPZmZzZXQgMiB3aWR0aCA4LjAwOiAiaSIKLSAgICAgICAgICAgICAgY2h1bmsg
MyB0ZXh0IHJ1biAxIGF0ICg0MC4wMCwwLjAwKSBzdGFydE9mZnNldCAyIGVuZE9mZnNldCAzIHdp
ZHRoIDE1LjAwOiAiMSIKLSAgICAgICAgICAgICAgY2h1bmsgNCB0ZXh0IHJ1biAxIGF0ICg3MC4w
MCwxMC4wMCkgc3RhcnRPZmZzZXQgMyBlbmRPZmZzZXQgNCB3aWR0aCAxNS4wMDogIjIiCi0gICAg
ICAgICAgICAgIGNodW5rIDUgdGV4dCBydW4gMSBhdCAoMTAwLjAwLDIwLjAwKSBzdGFydE9mZnNl
dCA0IGVuZE9mZnNldCA1IHdpZHRoIDE1LjAwOiAiMyIKLSAgICAgICAgICAgICAgY2h1bmsgNiB0
ZXh0IHJ1biAxIGF0ICgxMzAuMDAsMzAuMDApIHN0YXJ0T2Zmc2V0IDUgZW5kT2Zmc2V0IDYgd2lk
dGggMTUuMDA6ICI0IgorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwtMTAp
IHNpemUgMTM1eDUwIGNvbnRhaW5zIDUgY2h1bmsocykKKyAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtOCkgc2l6ZSAxMzV4NTAKKyAgICAgICAgICAgICAgY2h1
bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwtMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0
IDIgd2lkdGggMTUuMDA6ICJmaSIKKyAgICAgICAgICAgICAgY2h1bmsgMiB0ZXh0IHJ1biAxIGF0
ICg0MC4wMCwwLjAwKSBzdGFydE9mZnNldCAyIGVuZE9mZnNldCAzIHdpZHRoIDE1LjAwOiAiMSIK
KyAgICAgICAgICAgICAgY2h1bmsgMyB0ZXh0IHJ1biAxIGF0ICg3MC4wMCwxMC4wMCkgc3RhcnRP
ZmZzZXQgMyBlbmRPZmZzZXQgNCB3aWR0aCAxNS4wMDogIjIiCisgICAgICAgICAgICAgIGNodW5r
IDQgdGV4dCBydW4gMSBhdCAoMTAwLjAwLDIwLjAwKSBzdGFydE9mZnNldCA0IGVuZE9mZnNldCA1
IHdpZHRoIDE1LjAwOiAiMyIKKyAgICAgICAgICAgICAgY2h1bmsgNSB0ZXh0IHJ1biAxIGF0ICgx
MzAuMDAsMzAuMDApIHN0YXJ0T2Zmc2V0IDUgZW5kT2Zmc2V0IDYgd2lkdGggMTUuMDA6ICI0Igog
ICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwzNDApIHNpemUgMjY0eDQ2IGNvbnRhaW5z
IDEgY2h1bmsocykKICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMzYp
IHNpemUgMjY0eDQ2CiAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMzQwLjAw
KSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNiB3aWR0aCAyNjQuMDA6ICIkUmV2aXNpb246IDEu
OSAkIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L211bHRpY2hhci1n
bHlwaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy90ZXh0L211bHRpY2hhci1nbHlwaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RleHQvbXVsdGljaGFyLWdseXBoLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMTUgQEAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODA4eDU5NworICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDh4NTk3CisgIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDc4NXg1
ODUKKyAgICBSZW5kZXJCbG9jayB7cGFyc2VyZXJyb3J9IGF0ICgxNiwxNikgc2l6ZSA3NTN4MTM0
IFtiZ2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgycHggc29saWQgI0NDNzc3NyldCisgICAgICBS
ZW5kZXJCbG9jayB7aDN9IGF0ICgxOCwyMCkgc2l6ZSA3MTd4MjIKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzI0eDIyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMzI0OiAiVGhpcyBwYWdlIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiIK
KyAgICAgIFJlbmRlckJsb2NrIHtkaXZ9IGF0ICgxOCw2MCkgc2l6ZSA3MTd4MTQKKyAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTc0eDE0CisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggNTc0OiAiZXJyb3Igb24gbGluZSAxMTcgYXQgY29sdW1uIDE0OiBP
cGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiBwIGxpbmUgMCBhbmQgYm9keSIKKyAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNTc0LDApIHdpZHRoIDA6ICIgIgorICAgICAgUmVuZGVyQmxvY2sg
e2gzfSBhdCAoMTgsOTIpIHNpemUgNzE3eDIyCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDQyOXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQy
OTogIkJlbG93IGlzIGEgcmVuZGVyaW5nIG9mIHRoZSBwYWdlIHVwIHRvIHRoZSBmaXJzdCBlcnJv
ci4iCisgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTY2KSBzaXplIDc2OXg0MTUKKyAgICAg
IFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc2OXg0MTUKKyAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4MzYKKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3MjR4MzYKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDcyNDogIlRoZSBsZWZ0IGVkZ2VzIG9mIHRoZSBibGFjayBib3hlcyBiZWxvdyBz
aG91bGQgbGluZSB1cCB3aXRoIHRoZSBsZWZ0IGVkZ2VzIG9mIHRoZWlyIGNvbnRhaW5pbmcgcmVk
IG9yIGdyZWVuIGJveGVzLiBJbiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0
aCAyODY6ICJhZGRpdGlvbiwgYWxsIHRoZSBhc3NlcnRpb25zIGJlbG93IHNob3VsZCBwYXNzLiIK
KyAgICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDUyKSBzaXplIDc2OXgzNjMKKyAgICAgICAg
ICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAoMCwwKSBzaXplIDgwMHgyMDAKKyAgICAgICAgICAgIFJl
bmRlclNWR1Jvb3Qge3N2Z30gYXQgKDgsMTQ4KSBzaXplIDQ1MHgyNDAKKyAgICAgICAgICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDgsMjI4KSBzaXplIDcweDE2MCBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNMC4wMCwxMC4wMEw3MC4wMCwxMC4wMEw3MC4w
MCwxNzAuMDBMMC4wMCwxNzAuMDAiXQorICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoNzgsMjI4KSBzaXplIDEwMHgxNTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAw
MF19XSBbZGF0YT0iTTcwLjAwLDEwLjAwTDE3MC4wMCwxMC4wMEwxNzAuMDAsMTYwLjAwTDcwLjAw
LDE2MC4wMCJdCisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNzgsMjI4KSBz
aXplIDcweDE0MCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJN
MTcwLjAwLDEwLjAwTDI0MC4wMCwxMC4wMEwyNDAuMDAsMTUwLjAwTDE3MC4wMCwxNTAuMDAiXQor
ICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjQ4LDIyOCkgc2l6ZSA3MHgxMzAg
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTI0MC4wMCwxMC4w
MEwzMTAuMDAsMTAuMDBMMzEwLjAwLDE0MC4wMEwyNDAuMDAsMTQwLjAwIl0KKyAgICAgICAgICAg
ICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMxOCwyMjgpIHNpemUgODB4MTIwIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0zMTAuMDAsMTAuMDBMMzkwLjAwLDEw
LjAwTDM5MC4wMCwxMzAuMDBMMzEwLjAwLDEzMC4wMCJdCisgICAgICAgICAgICAgIFJlbmRlclBh
dGgge3JlY3R9IGF0ICgzOTgsMjI4KSBzaXplIDYweDExMCBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMzkwLjAwLDEwLjAwTDQ1MC4wMCwxMC4wMEw0NTAuMDAs
MTIwLjAwTDM5MC4wMCwxMjAuMDAiXQorICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMCwxMCkgc2l6ZSA0NTB4MTAwIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTgwKSBzaXplIDQ1MHgxMDAK
KyAgICAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMC4wMCwxMC4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMTAgd2lkdGggNDUwLjAwOiAiR0dER0dCQkJEQiIKKyAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJl
bmRlckJsb2NrIHtwcmV9IGF0ICgwLDIxMykgc2l6ZSA3Njl4MTUwCisgICAgICAgICAgICBSZW5k
ZXJJbmxpbmUge3NwYW59IGF0ICgwLDApIHNpemUgMzEyeDE1CisgICAgICAgICAgICAgIFJlbmRl
cklubGluZSB7c3Bhbn0gYXQgKDAsMCkgc2l6ZSAzMTJ4MTUKKyAgICAgICAgICAgICAgICBSZW5k
ZXJJbmxpbmUge3NwYW59IGF0ICgwLDApIHNpemUgMzJ4MTUKKyAgICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMyeDE1CisgICAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMyOiAiUEFTUyIKKyAgICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDMyLDApIHNpemUgMjgweDE1CisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzIsMCkgd2lkdGggMjgwOiAiIHQuZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcigw
KS54IGlzIDAiCisgICAgICAgICAgICAgIFJlbmRlckJSIHticn0gYXQgKDMxMiwwKSBzaXplIDB4
MTUKKyAgICAgICAgICAgIFJlbmRlcklubGluZSB7c3Bhbn0gYXQgKDAsMCkgc2l6ZSAzMTJ4MTUK
KyAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtzcGFufSBhdCAoMCwwKSBzaXplIDMxMngxNQor
ICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7c3Bhbn0gYXQgKDAsMCkgc2l6ZSAzMngxNQor
ICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDE1KSBzaXplIDMyeDE1
CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE1KSB3aWR0aCAzMjogIlBBU1Mi
CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMiwxNSkgc2l6ZSAyODB4
MTUKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMiwxNSkgd2lkdGggMjgwOiAiIHQu
Z2V0U3RhcnRQb3NpdGlvbk9mQ2hhcigxKS54IGlzIDAiCisgICAgICAgICAgICAgIFJlbmRlckJS
IHticn0gYXQgKDMxMiwxNSkgc2l6ZSAweDE1CisgICAgICAgICAgICBSZW5kZXJJbmxpbmUge3Nw
YW59IGF0ICgwLDApIHNpemUgMzUyeDE1CisgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7c3Bh
bn0gYXQgKDAsMCkgc2l6ZSAzNTJ4MTUKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge3Nw
YW59IGF0ICgwLDApIHNpemUgMzJ4MTUKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwzMCkgc2l6ZSAzMngxNQorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwzMCkgd2lkdGggMzI6ICJQQVNTIgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMzIsMzApIHNpemUgMzIweDE1CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMzIsMzApIHdpZHRoIDMyMDogIiB0LmdldFN0YXJ0UG9zaXRpb25PZkNoYXIoMikueCBpcyAw
ICsgNzAiCisgICAgICAgICAgICAgIFJlbmRlckJSIHticn0gYXQgKDM1MiwzMCkgc2l6ZSAweDE1
CisgICAgICAgICAgICBSZW5kZXJJbmxpbmUge3NwYW59IGF0ICgwLDApIHNpemUgNDAweDE1Cisg
ICAgICAgICAgICAgIFJlbmRlcklubGluZSB7c3Bhbn0gYXQgKDAsMCkgc2l6ZSA0MDB4MTUKKyAg
ICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge3NwYW59IGF0ICgwLDApIHNpemUgMzJ4MTUKKyAg
ICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw0NSkgc2l6ZSAzMngxNQor
ICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0NSkgd2lkdGggMzI6ICJQQVNTIgor
ICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzIsNDUpIHNpemUgMzY4eDE1
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzIsNDUpIHdpZHRoIDM2ODogIiB0Lmdl
dFN0YXJ0UG9zaXRpb25PZkNoYXIoMykueCBpcyAwICsgNzAgKyAxMDAiCisgICAgICAgICAgICAg
IFJlbmRlckJSIHticn0gYXQgKDQwMCw0NSkgc2l6ZSAweDE1CisgICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge3NwYW59IGF0ICgwLDApIHNpemUgNDAweDE1CisgICAgICAgICAgICAgIFJlbmRlcklu
bGluZSB7c3Bhbn0gYXQgKDAsMCkgc2l6ZSA0MDB4MTUKKyAgICAgICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge3NwYW59IGF0ICgwLDApIHNpemUgMzJ4MTUKKyAgICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCw2MCkgc2l6ZSAzMngxNQorICAgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCw2MCkgd2lkdGggMzI6ICJQQVNTIgorICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMzIsNjApIHNpemUgMzY4eDE1CisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzIsNjApIHdpZHRoIDM2ODogIiB0LmdldFN0YXJ0UG9zaXRpb25PZkNoYXIo
NCkueCBpcyAwICsgNzAgKyAxMDAiCisgICAgICAgICAgICAgIFJlbmRlckJSIHticn0gYXQgKDQw
MCw2MCkgc2l6ZSAweDE1CisgICAgICAgICAgICBSZW5kZXJJbmxpbmUge3NwYW59IGF0ICgwLDAp
IHNpemUgNDQweDE1CisgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7c3Bhbn0gYXQgKDAsMCkg
c2l6ZSA0NDB4MTUKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge3NwYW59IGF0ICgwLDAp
IHNpemUgMzJ4MTUKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw3
NSkgc2l6ZSAzMngxNQorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw3NSkgd2lk
dGggMzI6ICJQQVNTIgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzIs
NzUpIHNpemUgNDA4eDE1CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzIsNzUpIHdp
ZHRoIDQwODogIiB0LmdldFN0YXJ0UG9zaXRpb25PZkNoYXIoNSkueCBpcyAwICsgNzAgKyAxMDAg
KyA3MCIKKyAgICAgICAgICAgICAgUmVuZGVyQlIge2JyfSBhdCAoNDQwLDc1KSBzaXplIDB4MTUK
KyAgICAgICAgICAgIFJlbmRlcklubGluZSB7c3Bhbn0gYXQgKDAsMCkgc2l6ZSA0NDB4MTUKKyAg
ICAgICAgICAgICAgUmVuZGVySW5saW5lIHtzcGFufSBhdCAoMCwwKSBzaXplIDQ0MHgxNQorICAg
ICAgICAgICAgICAgIFJlbmRlcklubGluZSB7c3Bhbn0gYXQgKDAsMCkgc2l6ZSAzMngxNQorICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDkwKSBzaXplIDMyeDE1Cisg
ICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDkwKSB3aWR0aCAzMjogIlBBU1MiCisg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMiw5MCkgc2l6ZSA0MDh4MTUK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMiw5MCkgd2lkdGggNDA4OiAiIHQuZ2V0
U3RhcnRQb3NpdGlvbk9mQ2hhcig2KS54IGlzIDAgKyA3MCArIDEwMCArIDcwIgorICAgICAgICAg
ICAgICBSZW5kZXJCUiB7YnJ9IGF0ICg0NDAsOTApIHNpemUgMHgxNQorICAgICAgICAgICAgUmVu
ZGVySW5saW5lIHtzcGFufSBhdCAoMCwwKSBzaXplIDQ4MHgxNQorICAgICAgICAgICAgICBSZW5k
ZXJJbmxpbmUge3NwYW59IGF0ICgwLDApIHNpemUgNDgweDE1CisgICAgICAgICAgICAgICAgUmVu
ZGVySW5saW5lIHtzcGFufSBhdCAoMCwwKSBzaXplIDMyeDE1CisgICAgICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTA1KSBzaXplIDMyeDE1CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDEwNSkgd2lkdGggMzI6ICJQQVNTIgorICAgICAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzIsMTA1KSBzaXplIDQ0OHgxNQorICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDMyLDEwNSkgd2lkdGggNDQ4OiAiIHQuZ2V0U3RhcnRQb3NpdGlv
bk9mQ2hhcig3KS54IGlzIDAgKyA3MCArIDEwMCArIDcwICsgNzAiCisgICAgICAgICAgICAgIFJl
bmRlckJSIHticn0gYXQgKDQ4MCwxMDUpIHNpemUgMHgxNQorICAgICAgICAgICAgUmVuZGVySW5s
aW5lIHtzcGFufSBhdCAoMCwwKSBzaXplIDQ4MHgxNQorICAgICAgICAgICAgICBSZW5kZXJJbmxp
bmUge3NwYW59IGF0ICgwLDApIHNpemUgNDgweDE1CisgICAgICAgICAgICAgICAgUmVuZGVySW5s
aW5lIHtzcGFufSBhdCAoMCwwKSBzaXplIDMyeDE1CisgICAgICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMTIwKSBzaXplIDMyeDE1CisgICAgICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDEyMCkgd2lkdGggMzI6ICJQQVNTIgorICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMzIsMTIwKSBzaXplIDQ0OHgxNQorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDMyLDEyMCkgd2lkdGggNDQ4OiAiIHQuZ2V0U3RhcnRQb3NpdGlvbk9mQ2hh
cig4KS54IGlzIDAgKyA3MCArIDEwMCArIDcwICsgNzAiCisgICAgICAgICAgICAgIFJlbmRlckJS
IHticn0gYXQgKDQ4MCwxMjApIHNpemUgMHgxNQorICAgICAgICAgICAgUmVuZGVySW5saW5lIHtz
cGFufSBhdCAoMCwwKSBzaXplIDUyMHgxNQorICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge3Nw
YW59IGF0ICgwLDApIHNpemUgNTIweDE1CisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtz
cGFufSBhdCAoMCwwKSBzaXplIDMyeDE1CisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMTM1KSBzaXplIDMyeDE1CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDEzNSkgd2lkdGggMzI6ICJQQVNTIgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMzIsMTM1KSBzaXplIDQ4OHgxNQorICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDMyLDEzNSkgd2lkdGggNDg4OiAiIHQuZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcig5KS54
IGlzIDAgKyA3MCArIDEwMCArIDcwICsgNzAgKyA4MCIKKyAgICAgICAgICAgICAgUmVuZGVyQlIg
e2JyfSBhdCAoNTIwLDEzNSkgc2l6ZSAweDE1CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL3RleHQvdGV4dC1hbHRnbHlwaC0wMS1iLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RleHQvdGV4dC1hbHRnbHlwaC0wMS1iLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMzEyNTEpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL3RleHQvdGV4dC1hbHRnbHlwaC0wMS1iLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMiw3ICsyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVu
ZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMC44MywwLjgzKSBzaXplIDc5OC4zM3g1OTguMzMKLSAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg4LjMzLDIzLjMzKSBzaXplIDc3Mi43OHg0NTIuNzgK
KyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg4LjMzLDIzLjMzKSBzaXplIDc3MS42N3g0
NTIuNzgKICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg1LDUwKSBzaXplIDQwM3g0NCBj
b250YWlucyAxIGNodW5rKHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwtMzYpIHNpemUgNDAzeDQ0CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg1
LjAwLDUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyNiB3aWR0aCA0MDMuMDA6ICJUZXN0
ICdhbHRHbHlwaCcgZmFjaWxpdGllcyIKQEAgLTEwLDcgKzEwLDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwt
MjcpIHNpemUgNDYzeDMzCiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg1LjAwLDkw
LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAzMiB3aWR0aCA0NjMuMDA6ICJhbmQgbWFueS10
by1tYW55IGNoYXJzIHRvIGdseXBocyIKICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7
ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDgyLjIyLDIyOC44OSkgc2l6ZSA2OTguODl4MjQ3LjIyCisgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICg4Mi4yMiwyMjguODkpIHNpemUgNjQ4Ljg5eDI0Ny4yMgogICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTQwLDE5MCkgc2l6ZSAxODh4NjcgY29udGFpbnMgMSBjaHVu
ayhzKQogICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHthbHRHbHlwaH0gYXQgKDAsMCkgc2l6ZSAz
OHg2NwogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC01Mikg
c2l6ZSAzOHg2NwpAQCAtNDEsOCArNDEsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAyIGF0ICg4Ny41MCwyNzAuMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMzcuNTA6ICJBIgogICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNzUsLTUyKSBzaXplIDM4eDY3CiAgICAgICAgICAgICBj
aHVuayAxIHRleHQgcnVuIDMgYXQgKDEyNS4wMCwyNzAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDEgd2lkdGggMzcuNTA6ICJEIgotICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MjgwLDI3MCkgc2l6ZSAxODh4NjcgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtNTIpIHNpemUgMTg4eDY3CisgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgyODAsMjcwKSBzaXplIDE1OHg2NyBjb250YWlucyAxIGNo
dW5rKHMpCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC01Mikg
c2l6ZSAxNTh4NjcKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjgwLjAwLDI3
MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNSB3aWR0aCAxNTcuNTA6ICJTQVNTWSIKICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMzQwKSBzaXplIDI2NHg0NiBjb250YWlucyAx
IGNodW5rKHMpCiAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTM2KSBz
aXplIDI2NHg0NgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L3RleHQt
dGV4dC0wNi10LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL3RleHQvdGV4dC10ZXh0LTA2LXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAzMTI1
MSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvdGV4dC90ZXh0LXRleHQtMDYtdC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIsMTMgKzIsMTMgQEAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMC44Myww
LjgzKSBzaXplIDc5OC4zM3g1OTguMzMKLSAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1
MCw5MS42Nykgc2l6ZSA0NjMuMzN4MzQ4LjMzCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoNTAsOTEuNjcpIHNpemUgNDU2LjY3eDM0OC4zMwogICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29u
dGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29u
dGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgtNCwtMTUpIHNpemUgOHgxOQogICAgICAgICAgIFJlbmRlclBhdGgge2xpbmV9
IGF0ICgtMC41MCwtMTUpIHNpemUgMXgxNSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNG
RjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTAu
MDAsMC4wMEwwLjAwLC0xNS4wMCJdCiAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKC00
LC00KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRh
PSJNLTQuMDAsLTQuMDBMNC4wMCwtNC4wMEw0LjAwLDQuMDBMLTQuMDAsNC4wMCJdCi0gICAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1MCw5MS42Nykgc2l6ZSA0NjMuMzN4MzQ4LjMzIFt0
cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDIwLjAwLDMwLjAwKX1dCisg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1MCw5MS42Nykgc2l6ZSA0NTYuNjd4MzQ4
LjMzIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDIwLjAwLDMwLjAw
KX1dCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDUwLDk4LjMzKSBzaXplIDEx
OC4zM3gyNTYuNjcgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAu
MDAsNDAuMDApfV0KICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXpl
IDYyeDE0IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgNjJ4MTQKQEAgLTE5LDcgKzE5LDcgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDAsMTQwKSBzaXplIDcxeDE0IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgNzF4MTQKICAgICAgICAgICAg
ICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgwLjAwLDE0MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRP
ZmZzZXQgMTUgd2lkdGggNzEuMDA6ICJ4L3kgcG9zaXRpb25pbmciCi0gICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDIxMCw5MS42Nykgc2l6ZSAzMDMuMzN4MzEuNjcgW3RyYW5zZm9y
bT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAwLDQwLjAwKX1dCisgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIxMCw5MS42Nykgc2l6ZSAyOTYuNjd4MzEuNjcg
W3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAwLDQwLjAwKX1d
CiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgyMTAsOTEuNjcpIHNpemUg
MTMuMzN4MzEuNjcKICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIxMCw5
MS42Nykgc2l6ZSAxMy4zM3gzMS42NyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgxMC4wMCwwLjAwKX1dCiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDIxMCw5MS42Nykgc2l6ZSAxMy4zM3gzMS42NwpAQCAtNTAsMTUgKzUwLDE0IEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICg0MTAsOTEuNjcpIHNpemUgMTMuMzN4MzEuNjcKICAgICAgICAgICAgICAgICBS
ZW5kZXJQYXRoIHtsaW5lfSBhdCAoNDE1LjgzLDkxLjY3KSBzaXplIDEuNjd4MjUgW3N0cm9rZT17
W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSM4ODg4RkZdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMC4wMCwtMTUuMDAiXQogICAgICAgICAgICAg
ICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg0MTAsMTEwKSBzaXplIDEzLjMzeDEzLjMzIFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW2RhdGE9Ik0tNC4wMCwtNC4wMEw0LjAw
LC00LjAwTDQuMDAsNC4wMEwtNC4wMCw0LjAwIl0KLSAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMTAsMCkgc2l6ZSAxNzh4MTAgY29udGFpbnMgNiBjaHVuayhzKQotICAgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC04KSBzaXplIDE3OHgxMAotICAg
ICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDAuMDApIHN0YXJ0T2Zmc2V0
IDAgZW5kT2Zmc2V0IDEgd2lkdGggOC4wMDogImYiCi0gICAgICAgICAgICAgIGNodW5rIDIgdGV4
dCBydW4gMSBhdCAoMTgwLjAwLDAuMDApIHN0YXJ0T2Zmc2V0IDEgZW5kT2Zmc2V0IDIgd2lkdGgg
OC4wMDogImkiCi0gICAgICAgICAgICAgIGNodW5rIDMgdGV4dCBydW4gMSBhdCAoNDAuMDAsMC4w
MCkgc3RhcnRPZmZzZXQgMiBlbmRPZmZzZXQgMyB3aWR0aCAxNS4wMDogIjEiCi0gICAgICAgICAg
ICAgIGNodW5rIDQgdGV4dCBydW4gMSBhdCAoNzAuMDAsMC4wMCkgc3RhcnRPZmZzZXQgMyBlbmRP
ZmZzZXQgNCB3aWR0aCAxNS4wMDogIjIiCi0gICAgICAgICAgICAgIGNodW5rIDUgdGV4dCBydW4g
MSBhdCAoMTAwLjAwLDAuMDApIHN0YXJ0T2Zmc2V0IDQgZW5kT2Zmc2V0IDUgd2lkdGggMTUuMDA6
ICIzIgotICAgICAgICAgICAgICBjaHVuayA2IHRleHQgcnVuIDEgYXQgKDEzMC4wMCwwLjAwKSBz
dGFydE9mZnNldCA1IGVuZE9mZnNldCA2IHdpZHRoIDE1LjAwOiAiNCIKLSAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtnfSBhdCAoMTkzLjMzLDE0MS42Nykgc2l6ZSAxMzMuMzN4MTMxLjY3IFt0
cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwMC4wMCw4MC4wMCl9XQor
ICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwwKSBzaXplIDEzNXgxMCBjb250
YWlucyA1IGNodW5rKHMpCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDAsLTgpIHNpemUgMTM1eDEwCisgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBh
dCAoMTAuMDAsMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMiB3aWR0aCAxNS4wMDogImZp
IgorICAgICAgICAgICAgICBjaHVuayAyIHRleHQgcnVuIDEgYXQgKDQwLjAwLDAuMDApIHN0YXJ0
T2Zmc2V0IDIgZW5kT2Zmc2V0IDMgd2lkdGggMTUuMDA6ICIxIgorICAgICAgICAgICAgICBjaHVu
ayAzIHRleHQgcnVuIDEgYXQgKDcwLjAwLDAuMDApIHN0YXJ0T2Zmc2V0IDMgZW5kT2Zmc2V0IDQg
d2lkdGggMTUuMDA6ICIyIgorICAgICAgICAgICAgICBjaHVuayA0IHRleHQgcnVuIDEgYXQgKDEw
MC4wMCwwLjAwKSBzdGFydE9mZnNldCA0IGVuZE9mZnNldCA1IHdpZHRoIDE1LjAwOiAiMyIKKyAg
ICAgICAgICAgICAgY2h1bmsgNSB0ZXh0IHJ1biAxIGF0ICgxMzAuMDAsMC4wMCkgc3RhcnRPZmZz
ZXQgNSBlbmRPZmZzZXQgNiB3aWR0aCAxNS4wMDogIjQiCisgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDE5My4zMywxNDEuNjcpIHNpemUgMTMxLjY3eDEzMS42NyBbdHJhbnNmb3Jt
PXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMDAuMDAsODAuMDApfV0KICAgICAgICAg
ICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDE5My4zMywxNDEuNjcpIHNpemUgMTMuMzN4
MzEuNjcKICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE5My4zMywxNDEu
NjcpIHNpemUgMTMuMzN4MzEuNjcgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAw
KSkgdD0oMC4wMCwtMTAuMDApfV0KICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtn
fSBhdCAoMTkzLjMzLDE0MS42Nykgc2l6ZSAxMy4zM3gzMS42NwpAQCAtODksMTAgKzg4LDEwIEBA
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgyOTMuMzMsMjA4LjMzKSBzaXplIDEzLjMzeDMxLjY3CiAgICAgICAgICAg
ICAgICAgUmVuZGVyUGF0aCB7bGluZX0gYXQgKDI5OS4xNywyMDguMzMpIHNpemUgMS42N3gyNSBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9Izg4ODhGRl19XSBbZGF0YT0iTTAuMDAsMC4wMEwwLjAwLC0xNS4wMCJdCiAgICAg
ICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5My4zMywyMjYuNjcpIHNpemUgMTMu
MzN4MTMuMzMgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbZGF0YT0iTS00
LjAwLC00LjAwTDQuMDAsLTQuMDBMNC4wMCw0LjAwTC00LjAwLDQuMDAiXQotICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgwLC0xMCkgc2l6ZSA3Nng3MCBjb250YWlucyAxIGNodW5r
KHMpCi0gICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTgpIHNp
emUgNzZ4NzAKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtMTApIHNpemUg
NzV4NTAgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLC04KSBzaXplIDc1eDUwCiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoMC4wMCwtMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDYgd2lkdGgg
NzUuMDA6ICJmaTEyMzQiCi0gICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIxMCwz
MDguMzMpIHNpemUgMzAzLjMzeDEzMS42NyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAw
LDEuMDApKSB0PSgxMDAuMDAsMTgwLjAwKX1dCisgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDIxMCwzMDguMzMpIHNpemUgMjk2LjY3eDEzMS42NyBbdHJhbnNmb3JtPXttPSgoMS4w
MCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMDAuMDAsMTgwLjAwKX1dCiAgICAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgyMTAsMzA4LjMzKSBzaXplIDEzLjMzeDMxLjY3CiAgICAg
ICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyMTAsMzA4LjMzKSBzaXplIDEzLjMz
eDMxLjY3IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwLjAwLC0x
MC4wMCl9XQogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyMTAsMzA4
LjMzKSBzaXplIDEzLjMzeDMxLjY3CkBAIC0xMjMsMTQgKzEyMiwxMyBAQCBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
NDEwLDM3NSkgc2l6ZSAxMy4zM3gzMS42NwogICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2xp
bmV9IGF0ICg0MTUuODMsMzc1KSBzaXplIDEuNjd4MjUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtj
b2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW2Rh
dGE9Ik0wLjAwLDAuMDBMMC4wMCwtMTUuMDAiXQogICAgICAgICAgICAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICg0MTAsMzkzLjMzKSBzaXplIDEzLjMzeDEzLjMzIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSM4ODg4RkZdfV0gW2RhdGE9Ik0tNC4wMCwtNC4wMEw0LjAwLC00LjAwTDQuMDAs
NC4wMEwtNC4wMCw0LjAwIl0KLSAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAs
LTEwKSBzaXplIDE3OHg3MCBjb250YWlucyA2IGNodW5rKHMpCi0gICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTgpIHNpemUgMTc4eDcwCi0gICAgICAgICAgICAg
IGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsLTEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCAxIHdpZHRoIDguMDA6ICJmIgotICAgICAgICAgICAgICBjaHVuayAyIHRleHQgcnVuIDEg
YXQgKDE4MC4wMCw1MC4wMCkgc3RhcnRPZmZzZXQgMSBlbmRPZmZzZXQgMiB3aWR0aCA4LjAwOiAi
aSIKLSAgICAgICAgICAgICAgY2h1bmsgMyB0ZXh0IHJ1biAxIGF0ICg0MC4wMCwwLjAwKSBzdGFy
dE9mZnNldCAyIGVuZE9mZnNldCAzIHdpZHRoIDE1LjAwOiAiMSIKLSAgICAgICAgICAgICAgY2h1
bmsgNCB0ZXh0IHJ1biAxIGF0ICg3MC4wMCwxMC4wMCkgc3RhcnRPZmZzZXQgMyBlbmRPZmZzZXQg
NCB3aWR0aCAxNS4wMDogIjIiCi0gICAgICAgICAgICAgIGNodW5rIDUgdGV4dCBydW4gMSBhdCAo
MTAwLjAwLDIwLjAwKSBzdGFydE9mZnNldCA0IGVuZE9mZnNldCA1IHdpZHRoIDE1LjAwOiAiMyIK
LSAgICAgICAgICAgICAgY2h1bmsgNiB0ZXh0IHJ1biAxIGF0ICgxMzAuMDAsMzAuMDApIHN0YXJ0
T2Zmc2V0IDUgZW5kT2Zmc2V0IDYgd2lkdGggMTUuMDA6ICI0IgorICAgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgxMCwtMTApIHNpemUgMTM1eDUwIGNvbnRhaW5zIDUgY2h1bmsocykK
KyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtOCkgc2l6ZSAx
MzV4NTAKKyAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwtMTAuMDAp
IHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDIgd2lkdGggMTUuMDA6ICJmaSIKKyAgICAgICAgICAg
ICAgY2h1bmsgMiB0ZXh0IHJ1biAxIGF0ICg0MC4wMCwwLjAwKSBzdGFydE9mZnNldCAyIGVuZE9m
ZnNldCAzIHdpZHRoIDE1LjAwOiAiMSIKKyAgICAgICAgICAgICAgY2h1bmsgMyB0ZXh0IHJ1biAx
IGF0ICg3MC4wMCwxMC4wMCkgc3RhcnRPZmZzZXQgMyBlbmRPZmZzZXQgNCB3aWR0aCAxNS4wMDog
IjIiCisgICAgICAgICAgICAgIGNodW5rIDQgdGV4dCBydW4gMSBhdCAoMTAwLjAwLDIwLjAwKSBz
dGFydE9mZnNldCA0IGVuZE9mZnNldCA1IHdpZHRoIDE1LjAwOiAiMyIKKyAgICAgICAgICAgICAg
Y2h1bmsgNSB0ZXh0IHJ1biAxIGF0ICgxMzAuMDAsMzAuMDApIHN0YXJ0T2Zmc2V0IDUgZW5kT2Zm
c2V0IDYgd2lkdGggMTUuMDA6ICI0IgogICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwz
NDApIHNpemUgMjY0eDQ2IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwtMzYpIHNpemUgMjY0eDQ2CiAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoMTAuMDAsMzQwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNiB3aWR0
aCAyNjQuMDA6ICIkUmV2aXNpb246IDEuOSAkIgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL3RleHQv
bXVsdGljaGFyLWdseXBoLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvdGV4dC9t
dWx0aWNoYXItZ2x5cGguc3ZnCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL3RleHQv
bXVsdGljaGFyLWdseXBoLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMTkgQEAKKzxodG1s
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0id2lkdGg6IDEwMCU7
IGhlaWdodDogMTAwJTsiPgorPGJvZHk+Cis8cD5UaGUgbGVmdCBlZGdlcyBvZiB0aGUgYmxhY2sg
Ym94ZXMgYmVsb3cgc2hvdWxkIGxpbmUgdXAgd2l0aCB0aGUKK2xlZnQgZWRnZXMgb2YgdGhlaXIg
Y29udGFpbmluZyByZWQgb3IgZ3JlZW4gYm94ZXMuIEluIGFkZGl0aW9uLCBhbGwKK3RoZSBhc3Nl
cnRpb25zIGJlbG93IHNob3VsZCBwYXNzLjxwPgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHg7
IGhlaWdodDogMjAwcHg7Ij4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
Ij4KKzxmb250PgorPGZvbnQtZmFjZSBmb250LWZhbWlseT0ieHl6enkiIHVuaXRzLXBlci1lbT0i
MTAwIiBhc2NlbnQ9IjEwMCIgZGVzY2VudD0iNTAwIj4KKzwvZm9udC1mYWNlPgorPGdseXBoIHVu
aWNvZGU9IkJEIiBkPSJNMCwwIGg0MCB2LTgwIGgtNDAgeiIgaG9yaXotYWR2LXg9IjgwIj4KKzwv
Z2x5cGg+Cis8Z2x5cGggdW5pY29kZT0iR0ciIGQ9Ik0wLDAgaDIwIHYtNjAgaC0yMCB6IiBob3Jp
ei1hZHYteD0iNzAiPgorPC9nbHlwaD4KKzxnbHlwaCB1bmljb2RlPSJCQiIgZD0iTTAsMCBoMjAg
di03MCBoLTIwIHoiIGhvcml6LWFkdi14PSI3MCI+Cis8L2dseXBoPgorPGdseXBoIHVuaWNvZGU9
IkIiIGQ9Ik0wLDAgaDMwIHYtNDAgaC0zMCB6IiBob3Jpei1hZHYteD0iNjAiPgorPC9nbHlwaD4K
KzxnbHlwaCB1bmljb2RlPSJEIiBkPSJNMCwwIGgzMCB2LTQwIGgtMzAgeiIgaG9yaXotYWR2LXg9
IjEwMCI+Cis8L2dseXBoPgorPGdseXBoIHVuaWNvZGU9IkciIGQ9Ik0wLDAgaDMwIHYtNDAgaC0z
MCB6IiBob3Jpei1hZHYteD0iNjAiPgorPC9nbHlwaD4KKzwvZm9udD4KKzxyZWN0IHg9IjAiIHk9
IjEwIiB3aWR0aD0iNzAiIGhlaWdodD0iMTYwIiBmaWxsPSJyZWQiLz4KKzxyZWN0IHg9IjcwIiB5
PSIxMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxNTAiIGZpbGw9ImdyZWVuIi8+Cis8cmVjdCB4PSIx
NzAiIHk9IjEwIiB3aWR0aD0iNzAiIGhlaWdodD0iMTQwIiBmaWxsPSJyZWQiLz4KKzxyZWN0IHg9
IjI0MCIgeT0iMTAiIHdpZHRoPSI3MCIgaGVpZ2h0PSIxMzAiIGZpbGw9ImdyZWVuIi8+Cis8cmVj
dCB4PSIzMTAiIHk9IjEwIiB3aWR0aD0iODAiIGhlaWdodD0iMTIwIiBmaWxsPSJyZWQiLz4KKzxy
ZWN0IHg9IjM5MCIgeT0iMTAiIHdpZHRoPSI2MCIgaGVpZ2h0PSIxMTAiIGZpbGw9ImdyZWVuIi8+
Cis8dGV4dCBpZD0iZm9vIiB5PSIxMCIgZm9udC1mYW1pbHk9Inh5enp5IiBmb250LXNpemU9IjEw
MHB4IiBsZXR0ZXItc3BhY2luZz0iMHB4IiB3b3JkLXNwYWNpbmc9IjBweCI+R0dER0dCQkJEQjwv
dGV4dD4KKzwvc3ZnPgorPC9kaXY+Cis8cHJlIGlkPSJjb25zb2xlIiAvPgorPHNjcmlwdD4KKzwh
W0NEQVRBWworCitmdW5jdGlvbiBkZWJ1Zyhtc2cpCit7CisgICAgdmFyIHNwYW4gPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCAic3BhbiIp
OworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuYXBwZW5kQ2hpbGQoc3Bh
bik7IC8vIGluc2VydCBpdCBmaXJzdCBzbyBYSFRNTCBrbm93cyB0aGUgbmFtZXNwYWNlCisgICAg
c3Bhbi5pbm5lckhUTUwgPSBtc2cgKyAnPGJyIC8+JzsKK30KKworZnVuY3Rpb24gZXNjYXBlSFRN
TCh0ZXh0KQoreworICAgIHJldHVybiB0ZXh0LnJlcGxhY2UoLyYvZywgIiZhbXA7IikucmVwbGFj
ZSgvPC9nLCAiJmx0OyIpOworfQorCitmdW5jdGlvbiB0ZXN0UGFzc2VkKG1zZykKK3sKKyAgICBk
ZWJ1ZygnPHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+ICcgKyBlc2NhcGVIVE1M
KG1zZykgKyAnPC9zcGFuPicpOworfQorCitmdW5jdGlvbiB0ZXN0RmFpbGVkKG1zZykKK3sKKyAg
ICBkZWJ1ZygnPHNwYW4+PHNwYW4gY2xhc3M9ImZhaWwiPkZBSUw8L3NwYW4+ICcgKyBlc2NhcGVI
VE1MKG1zZykgKyAnPC9zcGFuPicpOworfQorCitmdW5jdGlvbiBhcmVBcnJheXNFcXVhbChfYSwg
X2IpCit7CisgICAgaWYgKF9hLmxlbmd0aCAhPT0gX2IubGVuZ3RoKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBfYS5sZW5ndGg7IGkrKykKKyAgICAgICAg
aWYgKF9hW2ldICE9PSBfYltpXSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKworZnVuY3Rpb24gaXNSZXN1bHRDb3JyZWN0KF9hY3R1YWwsIF9leHBlY3Rl
ZCkKK3sKKyAgICBpZiAoX2FjdHVhbCA9PT0gX2V4cGVjdGVkKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICBpZiAodHlwZW9mKF9leHBlY3RlZCkgPT0gIm51bWJlciIgJiYgaXNOYU4oX2V4cGVj
dGVkKSkKKyAgICAgICAgcmV0dXJuIHR5cGVvZihfYWN0dWFsKSA9PSAibnVtYmVyIiAmJiBpc05h
TihfYWN0dWFsKTsKKyAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKF9leHBl
Y3RlZCkgPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFtdKSkKKyAgICAgICAgcmV0
dXJuIGFyZUFycmF5c0VxdWFsKF9hY3R1YWwsIF9leHBlY3RlZCk7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCitmdW5jdGlvbiBzaG91bGRCZShfYSwgX2IpCit7CisgIGlmICh0eXBlb2YgX2EgIT0g
InN0cmluZyIgfHwgdHlwZW9mIF9iICE9ICJzdHJpbmciKQorICAgIGRlYnVnKCJXQVJOOiBzaG91
bGRCZSgpIGV4cGVjdHMgc3RyaW5nIGFyZ3VtZW50cyIpOworICB2YXIgZXhjZXB0aW9uOworICB2
YXIgX2F2OworICB0cnkgeworICAgICBfYXYgPSBldmFsKF9hKTsKKyAgfSBjYXRjaCAoZSkgewor
ICAgICBleGNlcHRpb24gPSBlOworICB9CisgIHZhciBfYnYgPSBldmFsKF9iKTsKKworICBpZiAo
ZXhjZXB0aW9uKQorICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBiZSAiICsgX2J2ICsgIi4g
VGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24pOworICBlbHNlIGlmIChpc1Jlc3VsdENvcnJl
Y3QoX2F2LCBfYnYpKQorICAgIHRlc3RQYXNzZWQoX2EgKyAiIGlzICIgKyBfYik7CisgIGVsc2Ug
aWYgKHR5cGVvZihfYXYpID09IHR5cGVvZihfYnYpKQorICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNo
b3VsZCBiZSAiICsgX2J2ICsgIi4gV2FzICIgKyBfYXYgKyAiLiIpOworICBlbHNlCisgICAgdGVz
dEZhaWxlZChfYSArICIgc2hvdWxkIGJlICIgKyBfYnYgKyAiIChvZiB0eXBlICIgKyB0eXBlb2Yg
X2J2ICsgIikuIFdhcyAiICsgX2F2ICsgIiAob2YgdHlwZSAiICsgdHlwZW9mIF9hdiArICIpLiIp
OworfQorCit2YXIgdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb28iKTsKK3Nob3VsZEJl
KCJ0LmdldFN0YXJ0UG9zaXRpb25PZkNoYXIoMCkueCIsICcwJyk7CitzaG91bGRCZSgidC5nZXRT
dGFydFBvc2l0aW9uT2ZDaGFyKDEpLngiLCAnMCcpOworc2hvdWxkQmUoInQuZ2V0U3RhcnRQb3Np
dGlvbk9mQ2hhcigyKS54IiwgJzAgKyA3MCcpOworc2hvdWxkQmUoInQuZ2V0U3RhcnRQb3NpdGlv
bk9mQ2hhcigzKS54IiwgJzAgKyA3MCArIDEwMCcpOworc2hvdWxkQmUoInQuZ2V0U3RhcnRQb3Np
dGlvbk9mQ2hhcig0KS54IiwgJzAgKyA3MCArIDEwMCcpOworc2hvdWxkQmUoInQuZ2V0U3RhcnRQ
b3NpdGlvbk9mQ2hhcig1KS54IiwgJzAgKyA3MCArIDEwMCArIDcwJyk7CitzaG91bGRCZSgidC5n
ZXRTdGFydFBvc2l0aW9uT2ZDaGFyKDYpLngiLCAnMCArIDcwICsgMTAwICsgNzAnKTsKK3Nob3Vs
ZEJlKCJ0LmdldFN0YXJ0UG9zaXRpb25PZkNoYXIoNykueCIsICcwICsgNzAgKyAxMDAgKyA3MCAr
IDcwJyk7CitzaG91bGRCZSgidC5nZXRTdGFydFBvc2l0aW9uT2ZDaGFyKDgpLngiLCAnMCArIDcw
ICsgMTAwICsgNzAgKyA3MCcpOworc2hvdWxkQmUoInQuZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcig5
KS54IiwgJzAgKyA3MCArIDEwMCArIDcwICsgNzAgKyA4MCcpOworXV0+Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KKwo=
</data>
<flag name="review"
          id="8759"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>