<?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>225173</bug_id>
          
          <creation_ts>2021-04-28 16:57:43 -0700</creation_ts>
          <short_desc>Add support for CanvasRenderingContext2DSettings</short_desc>
          <delta_ts>2024-09-03 11:39:55 -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>Canvas</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>225140</blocked>
    
    <blocked>225180</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>annulen</cc>
    
    <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mcasas</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>victorortegadgg</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yipeca5732</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1755236</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-04-28 16:57:43 -0700</bug_when>
    <thetext>We should support for CanvasRenderingContext2DSettings from https://html.spec.whatwg.org/multipage/canvas.html#canvasrenderingcontext2dsettings.

These allow disabling alpha and giving a hint to the engine about desynchronization. It is also the mechanism we can use to pass color space information in for bug 225140.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755248</commentid>
    <comment_count>1</comment_count>
      <attachid>427312</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-04-28 17:18:06 -0700</bug_when>
    <thetext>Created attachment 427312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755278</commentid>
    <comment_count>2</comment_count>
      <attachid>427322</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-04-28 18:27:59 -0700</bug_when>
    <thetext>Created attachment 427322
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755393</commentid>
    <comment_count>3</comment_count>
      <attachid>427322</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-29 08:32:54 -0700</bug_when>
    <thetext>Comment on attachment 427322
Patch

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

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2DSettings.idl:31
&gt; +    // boolean alpha = true;

Not sure why we are commenting this out. I don&apos;t see the drawback for fully matching the spec on IDL side (and even in the implementation struct). It&apos;s not like the JS can feature-detect if we support a particular dictionary member of not.
I personally think we should have alpha in the dictionary and the implementation struct, and add a FIXME comment at the spot where the alpha struct member should be used (but isn&apos;t yet).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755394</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-04-29 08:37:04 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; Comment on attachment 427322 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=427322&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/canvas/CanvasRenderingContext2DSettings.idl:31
&gt; &gt; +    // boolean alpha = true;
&gt; 
&gt; Not sure why we are commenting this out. I don&apos;t see the drawback for fully
&gt; matching the spec on IDL side (and even in the implementation struct). It&apos;s
&gt; not like the JS can feature-detect if we support a particular dictionary
&gt; member of not.
&gt; I personally think we should have alpha in the dictionary and the
&gt; implementation struct, and add a FIXME comment at the spot where the alpha
&gt; struct member should be used (but isn&apos;t yet).

I originally didn&apos;t have it commented out on the same principle, but it turns out you can feature detect it since HTMLCanvasElement.getContextAttributes() returns one, you can check if the returned object has an &apos;alpha&apos; property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755395</commentid>
    <comment_count>5</comment_count>
      <attachid>427322</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-29 08:38:02 -0700</bug_when>
    <thetext>Comment on attachment 427322
Patch

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

&gt;&gt;&gt; Source/WebCore/html/canvas/CanvasRenderingContext2DSettings.idl:31
&gt;&gt;&gt; +    // boolean alpha = true;
&gt;&gt; 
&gt;&gt; Not sure why we are commenting this out. I don&apos;t see the drawback for fully matching the spec on IDL side (and even in the implementation struct). It&apos;s not like the JS can feature-detect if we support a particular dictionary member of not.
&gt;&gt; I personally think we should have alpha in the dictionary and the implementation struct, and add a FIXME comment at the spot where the alpha struct member should be used (but isn&apos;t yet).
&gt; 
&gt; I originally didn&apos;t have it commented out on the same principle, but it turns out you can feature detect it since HTMLCanvasElement.getContextAttributes() returns one, you can check if the returned object has an &apos;alpha&apos; property.

Oh, I missed that. Please disregard my comment then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755399</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-04-29 08:41:48 -0700</bug_when>
    <thetext>Tracking adding support for alpha in https://bugs.webkit.org/show_bug.cgi?id=225191.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755410</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-29 09:09:27 -0700</bug_when>
    <thetext>Committed r276777 (237161@main): &lt;https://commits.webkit.org/237161@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427322.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755411</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-29 09:10:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/77324253&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1880243</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-07-01 16:08:23 -0700</bug_when>
    <thetext>*** Bug 193144 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2057331</commentid>
    <comment_count>12</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2024-09-03 11:39:55 -0700</bug_when>
    <thetext>*** Bug 196002 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427312</attachid>
            <date>2021-04-28 17:18:06 -0700</date>
            <delta_ts>2021-04-28 18:27:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225173-20210428171805.patch</filename>
            <type>text/plain</type>
            <size>22523</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3Njc0MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDIxLTA0LTI4ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNTE3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFBsdW1iIGluZnJhc3RydWN0dXJlIGZvciBwYXNzaW5nIGEgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MgdG8gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LgorCisgICAgICAgIFRoaXMgY2hhbmdlIG9ubHkgYWRkcyB0aGUgJ2Rlc3luY2hyb25pemVkJyBm
bGFnLCB3aGljaCBpcyBvbmx5IGEgaGludCwgc28gaWdub3JpbmcKKyAgICAgICAgaXQgaXMgYW4g
ZXhjZXB0YWJsZSBpbXBsZW1lbnRhdGlvbi4gCisKKyAgICAgICAgICAgICJXaGVuIGEgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEIG9iamVjdCdzIGRlc3luY2hyb25pemVkIGlzIHRydWUsIHRoZW4g
dGhlIHVzZXIKKyAgICAgICAgICAgICBhZ2VudCBtYXkgb3B0aW1pemUgdGhlIHJlbmRlcmluZyBv
ZiB0aGUgY2FudmFzIHRvIHJlZHVjZSB0aGUgbGF0ZW5jeS4iCisgICAgICAgICAgICAtIGh0dHBz
Oi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2NhbnZhcy5odG1sI2NvbmNlcHQtY2Fu
dmFzLWRlc3luY2hyb25pemVkCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6Cisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICBBZGQgbmV3IGZpbGVzLgorCisgICAgICAgICogaHRtbC9IVE1M
Q2FudmFzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6
Z2V0Q29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRl
Q29udGV4dDJkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250
ZXh0MmQpOgorICAgICAgICBQaXBlIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFNldHRpbmdzIHRv
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC4KKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVt
ZW50Lmg6CisgICAgICAgIEZvcndhcmQgZGVjbGFyZSBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRl
eHRTZXR0aW5ncyBhbmQgcmVtb3ZlIGRlZmF1bHQgdmFsdWVzCisgICAgICAgIGZyb20gZnVuY3Rp
b25zIHRha2luZyBhIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLiBUaGVyZSBh
cmUgZmV3CisgICAgICAgIGNhbGxlcnMgYW5kIHRoaXMgYWxsb3dzIHVzIHRvIHJlbW92ZSBhbiBp
bmNsdWRlLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuaDoKKyAgICAgICAgU3RvcmUgc2V0dGluZ3MuIEl0IGlzIG5vdCBjdXJyZW50bHkg
dXNlZCBmb3IgYW55dGhpbmcgYnV0IHJldHVybmluZworICAgICAgICBpdHNlbGYgYnV0IHdpbGwg
aGF2ZSBvdGhlciBzdGF0ZSBpbiB0aGUgZnV0dXJlLgorCisgICAgICAgICogaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoKKyAgICAgICAgQWRkIGdldENvbnRleHRBdHRy
aWJ1dGVzKCkgb3BlcmF0aW9uIGZyb20gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0
aXBhZ2UvY2FudmFzLmh0bWwjY2FudmFzcmVuZGVyaW5nY29udGV4dDJkCisKKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncy5pZGw6
IEFkZGVkLgorCiAyMDIxLTA0LTI4ICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5j
b20+CiAKICAgICAgICAgRG9uJ3QgY3JlYXRlIGN1c3RvbSBzY3JvbGxiYXJzIGZvciBmdWxsc2Ny
ZWVuIHBsYWNlaG9sZGVycy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyNzY3
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MTA1MSw2ICsxMDUxLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBodG1s
L2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlkbAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1JlY3QuaWRs
CiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAorICAgIGh0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFNldHRpbmdzLmlkbAogICAgIGh0bWwvY2Fu
dmFzL0NhbnZhc1NoYWRvd1N0eWxlcy5pZGwKICAgICBodG1sL2NhbnZhcy9DYW52YXNTdGF0ZS5p
ZGwKICAgICBodG1sL2NhbnZhcy9DYW52YXNUZXh0LmlkbApJbmRleDogU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CShyZXZpc2lvbiAyNzY3MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CSh3b3JraW5n
IGNvcHkpCkBAIC0xMDY1LDYgKzEwNjUsNyBAQCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9D
YW52YXNQYXRoRHJhCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlk
bAogJChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvQ2FudmFzUmVjdC5pZGwKICQoUFJPSkVDVF9E
SVIpL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwKKyQoUFJPSkVDVF9E
SVIpL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFNldHRpbmdzLmlkbAogJChQ
Uk9KRUNUX0RJUikvaHRtbC9jYW52YXMvQ2FudmFzU2hhZG93U3R5bGVzLmlkbAogJChQUk9KRUNU
X0RJUikvaHRtbC9jYW52YXMvQ2FudmFzU3RhdGUuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2Nh
bnZhcy9DYW52YXNUZXh0LmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI3NjcxNikKKysrIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBAIC0z
NjEsNiArMzYxLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYgog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDYW52YXNSZWN0
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRT
ZXR0aW5ncy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDYW52YXNTaGFkb3dTdHlsZXMuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NhbnZhc1NoYWRvd1N0
eWxlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Nh
bnZhc1N0YXRlLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lv
biAyNzY3MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5n
IGNvcHkpCkBAIC05MjYsNiArOTI2LDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdl
YkNvcmUpL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0
bWwvY2FudmFzL0NhbnZhc1JlY3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0
bWwvY2FudmFzL0NhbnZhc1NoYWRvd1N0eWxlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvQ2FudmFzU3RhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0NhbnZh
c1RleHQuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNzY3MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjg3Nyw2ICsyODc3LDcg
QEAgSlNDYW52YXNQYXRoRHJhd2luZ1N0eWxlcy5jcHAKIEpTQ2FudmFzUGF0dGVybi5jcHAKIEpT
Q2FudmFzUmVjdC5jcHAKIEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAorSlNDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncy5jcHAKIEpTQ2FudmFzU2hhZG93U3R5bGVzLmNwcAog
SlNDYW52YXNTdGF0ZS5jcHAKIEpTQ2FudmFzVGV4dC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI3Njcx
NikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQpAQCAtMTQzODQsNiArMTQzODQsOCBAQAogCQlCQ0RGRDQ5NDBFMzA1OTJG
MDA5RDEwQUQgLyogSlNYTUxIdHRwUmVxdWVzdFVwbG9hZC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDRTAxMzk4MEMwQkVGMTgwMDQzODYwQSAvKiBKU1N0eWxlU2hlZXQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3R5bGVTaGVldC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTAxMzk5MEMwQkVGMTgwMDQzODYwQSAv
KiBKU1N0eWxlU2hlZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3R5
bGVTaGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0UwNDkwQzI2M0EyRjFD
MDA5RENCQjggLyogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQkNFMDQ5MEUyNjNBMkYxQzAwOURDQkI4IC8qIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRFNldHRpbmdzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0
aW5ncy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTFDNDE5MEQ5ODI5ODAw
MDNCMDJGMiAvKiBMb2NhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBM
b2NhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0UxQzQxQTBEOTgyOTgw
MDAzQjAyRjIgLyogTG9jYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTG9jYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0UxQzQy
MjBEOTgyOUYyMDAzQjAyRjIgLyogTG9jYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IExvY2F0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDk5LDYgKzIw
MTAxLDggQEAKIAkJCQk0OTQ4NEZCRTEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmlkbCAqLywKIAkJCQkzMTQwQzUyMTFGREYzMTg0MDBEMkE4NzMgLyogQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAgKi8sCiAJCQkJMzE0MEM1MjIxRkRGMzE4NjAwRDJB
ODczIC8qIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaCAqLywKKwkJCQlCQ0UwNDkwQzI2
M0EyRjFDMDA5RENCQjggLyogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaCAqLywK
KwkJCQlCQ0UwNDkwRTI2M0EyRjFDMDA5RENCQjggLyogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
U2V0dGluZ3MuaWRsICovLAogCQkJCTdDMTkzQkFEMUY1RTBFQjMwMDg4RjNFNiAvKiBDYW52YXNT
aGFkb3dTdHlsZXMuaWRsICovLAogCQkJCTdDMTkzQkIyMUY1RTBFQjYwMDg4RjNFNiAvKiBDYW52
YXNTdGF0ZS5pZGwgKi8sCiAJCQkJNDk0ODRGQkYxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc1N0
eWxlLmNwcCAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQu
Y3BwCShyZXZpc2lvbiAyNzY3MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkNh
bnZhc0dyYWRpZW50LmgiCiAjaW5jbHVkZSAiQ2FudmFzUGF0dGVybi5oIgogI2luY2x1ZGUgIkNh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIgorI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiRGlzcGxheUxpc3REcmF3aW5nQ29udGV4dC5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgpAQCAtNDQsNiAr
NDUsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlv
bXMuaCIKICNpbmNsdWRlICJJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQuaCIKKyNpbmNsdWRl
ICJJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHRTZXR0aW5ncy5oIgogI2luY2x1ZGUgIkltYWdl
QnVmZmVyLmgiCiAjaW5jbHVkZSAiSW1hZ2VEYXRhLmgiCiAjaW5jbHVkZSAiSW5NZW1vcnlEaXNw
bGF5TGlzdC5oIgpAQCAtMjc5LDcgKzI4MSwxMSBAQCBFeGNlcHRpb25PcjxPcHRpb25hbDxSZW5k
ZXJpbmdDb250ZXh0Pj4gCiAgICAgfQogCiAgICAgaWYgKGlzMmRUeXBlKGNvbnRleHRJZCkpIHsK
LSAgICAgICAgYXV0byBjb250ZXh0ID0gY3JlYXRlQ29udGV4dDJkKGNvbnRleHRJZCk7CisgICAg
ICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHN0YXRlLnZtKCkpOworICAgICAg
ICBhdXRvIHNldHRpbmdzID0gY29udmVydDxJRExEaWN0aW9uYXJ5PENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRFNldHRpbmdzPj4oc3RhdGUsICFhcmd1bWVudHMuaXNFbXB0eSgpID8gYXJndW1lbnRz
WzBdLmdldCgpIDogSlNDOjpqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgRXhjZXB0aW9uIHsgRXhpc3RpbmdFeGNlcHRpb25FcnJvciB9KTsKKworICAg
ICAgICBhdXRvIGNvbnRleHQgPSBjcmVhdGVDb250ZXh0MmQoY29udGV4dElkLCBXVEZNb3ZlKHNl
dHRpbmdzKSk7CiAgICAgICAgIGlmICghY29udGV4dCkKICAgICAgICAgICAgIHJldHVybiBPcHRp
b25hbDxSZW5kZXJpbmdDb250ZXh0PiB7IFdURjo6bnVsbG9wdCB9OwogICAgICAgICByZXR1cm4g
T3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4geyBSZWZQdHI8Q2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEPiB7IGNvbnRleHQgfSB9OwpAQCAtMjg3LDEwICsyOTMsMTAgQEAgRXhjZXB0aW9uT3I8T3B0
aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4+IAogCiAgICAgaWYgKGlzQml0bWFwUmVuZGVyZXJUeXBl
KGNvbnRleHRJZCkpIHsKICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
c3RhdGUudm0oKSk7Ci0gICAgICAgIGF1dG8gYXR0cmlidXRlcyA9IGNvbnZlcnQ8SURMRGljdGlv
bmFyeTxJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHRTZXR0aW5ncz4+KHN0YXRlLCAhYXJndW1l
bnRzLmlzRW1wdHkoKSA/IGFyZ3VtZW50c1swXS5nZXQoKSA6IEpTQzo6anNVbmRlZmluZWQoKSk7
CisgICAgICAgIGF1dG8gc2V0dGluZ3MgPSBjb252ZXJ0PElETERpY3Rpb25hcnk8SW1hZ2VCaXRt
YXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3M+PihzdGF0ZSwgIWFyZ3VtZW50cy5pc0VtcHR5KCkg
PyBhcmd1bWVudHNbMF0uZ2V0KCkgOiBKU0M6OmpzVW5kZWZpbmVkKCkpOwogICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBFeGNlcHRpb24geyBFeGlzdGluZ0V4Y2VwdGlvbkVycm9y
IH0pOwogCi0gICAgICAgIGF1dG8gY29udGV4dCA9IGNyZWF0ZUNvbnRleHRCaXRtYXBSZW5kZXJl
cihjb250ZXh0SWQsIFdURk1vdmUoYXR0cmlidXRlcykpOworICAgICAgICBhdXRvIGNvbnRleHQg
PSBjcmVhdGVDb250ZXh0Qml0bWFwUmVuZGVyZXIoY29udGV4dElkLCBXVEZNb3ZlKHNldHRpbmdz
KSk7CiAgICAgICAgIGlmICghY29udGV4dCkKICAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxS
ZW5kZXJpbmdDb250ZXh0PiB7IFdURjo6bnVsbG9wdCB9OwogICAgICAgICByZXR1cm4gT3B0aW9u
YWw8UmVuZGVyaW5nQ29udGV4dD4geyBSZWZQdHI8SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0
PiB7IGNvbnRleHQgfSB9OwpAQCAtMzMwLDEwICszMzYsMTAgQEAgRXhjZXB0aW9uT3I8T3B0aW9u
YWw8UmVuZGVyaW5nQ29udGV4dD4+IAogQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogSFRNTENhbnZh
c0VsZW1lbnQ6OmdldENvbnRleHQoY29uc3QgU3RyaW5nJiB0eXBlKQogewogICAgIGlmIChIVE1M
Q2FudmFzRWxlbWVudDo6aXMyZFR5cGUodHlwZSkpCi0gICAgICAgIHJldHVybiBnZXRDb250ZXh0
MmQodHlwZSk7CisgICAgICAgIHJldHVybiBnZXRDb250ZXh0MmQodHlwZSwgeyB9KTsKIAogICAg
IGlmIChIVE1MQ2FudmFzRWxlbWVudDo6aXNCaXRtYXBSZW5kZXJlclR5cGUodHlwZSkpCi0gICAg
ICAgIHJldHVybiBnZXRDb250ZXh0Qml0bWFwUmVuZGVyZXIodHlwZSk7CisgICAgICAgIHJldHVy
biBnZXRDb250ZXh0Qml0bWFwUmVuZGVyZXIodHlwZSwgeyB9KTsKIAogI2lmIEVOQUJMRShXRUJH
TCkKICAgICBpZiAoSFRNTENhbnZhc0VsZW1lbnQ6OmlzV2ViR0xUeXBlKHR5cGUpKQpAQCAtMzUz
LDcgKzM1OSw3IEBAIGJvb2wgSFRNTENhbnZhc0VsZW1lbnQ6OmlzMmRUeXBlKGNvbnN0IFMKICAg
ICByZXR1cm4gdHlwZSA9PSAiMmQiOwogfQogCi1DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqIEhU
TUxDYW52YXNFbGVtZW50OjpjcmVhdGVDb250ZXh0MmQoY29uc3QgU3RyaW5nJiB0eXBlKQorQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEKiBIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRlQ29udGV4dDJk
KGNvbnN0IFN0cmluZyYgdHlwZSwgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MmJiBz
ZXR0aW5ncykKIHsKICAgICBBU1NFUlRfVU5VU0VEKEhUTUxDYW52YXNFbGVtZW50OjppczJkVHlw
ZSh0eXBlKSwgdHlwZSk7CiAgICAgQVNTRVJUKCFtX2NvbnRleHQpOwpAQCAtMzY5LDcgKzM3NSw3
IEBAIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCogSFRNTENhbnZhc0VsZW0KICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgbV9jb250ZXh0ID0gQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpjcmVhdGUoKnRoaXMsIGRvY3VtZW50KCkuaW5RdWlya3NNb2RlKCkpOworICAgIG1f
Y29udGV4dCA9IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRlKCp0aGlzLCBXVEZNb3Zl
KHNldHRpbmdzKSwgZG9jdW1lbnQoKS5pblF1aXJrc01vZGUoKSk7CiAKICNpZiBVU0UoSU9TVVJG
QUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFKQogICAgIC8vIE5lZWQgdG8gbWFrZSBzdXJlIGEgUmVu
ZGVyTGF5ZXIgYW5kIGNvbXBvc2l0aW5nIGxheWVyIGdldCBjcmVhdGVkIGZvciB0aGUgQ2FudmFz
LgpAQCAtMzc5LDcgKzM4NSw3IEBAIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCogSFRNTENhbnZh
c0VsZW0KICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKj4o
bV9jb250ZXh0LmdldCgpKTsKIH0KIAotQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKiBIVE1MQ2Fu
dmFzRWxlbWVudDo6Z2V0Q29udGV4dDJkKGNvbnN0IFN0cmluZyYgdHlwZSkKK0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRCogSFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQyZChjb25zdCBTdHJp
bmcmIHR5cGUsIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFNldHRpbmdzJiYgc2V0dGluZ3MpCiB7
CiAgICAgQVNTRVJUX1VOVVNFRChIVE1MQ2FudmFzRWxlbWVudDo6aXMyZFR5cGUodHlwZSksIHR5
cGUpOwogCkBAIC0zODcsNyArMzkzLDcgQEAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKiBIVE1M
Q2FudmFzRWxlbQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGlmICghbV9jb250ZXh0
KQotICAgICAgICByZXR1cm4gY3JlYXRlQ29udGV4dDJkKHR5cGUpOworICAgICAgICByZXR1cm4g
Y3JlYXRlQ29udGV4dDJkKHR5cGUsIFdURk1vdmUoc2V0dGluZ3MpKTsKICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKj4obV9jb250ZXh0LmdldCgpKTsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaAkocmV2aXNpb24g
Mjc2NzE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiQ2FudmFzQmFzZS5oIgogI2lu
Y2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCi0jaW5jbHVkZSAi
SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3MuaCIKICNpbmNsdWRlIDxtZW1vcnk+
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIApAQCAtNTMsNiArNTIsOCBAQCBjbGFzcyBNZWRp
YVN0cmVhbTsKIGNsYXNzIE9mZnNjcmVlbkNhbnZhczsKIGNsYXNzIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U7CiBjbGFzcyBHUFVDYW52YXNDb250ZXh0Oworc3RydWN0IENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRFNldHRpbmdzOworc3RydWN0IEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNl
dHRpbmdzOwogc3RydWN0IFVuY2FjaGVkU3RyaW5nOwogCiBuYW1lc3BhY2UgRGlzcGxheUxpc3Qg
ewpAQCAtNzcsOCArNzgsOCBAQCBwdWJsaWM6CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCog
Z2V0Q29udGV4dChjb25zdCBTdHJpbmcmKTsKIAogICAgIHN0YXRpYyBib29sIGlzMmRUeXBlKGNv
bnN0IFN0cmluZyYpOwotICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCogY3JlYXRlQ29udGV4
dDJkKGNvbnN0IFN0cmluZyYgdHlwZSk7Ci0gICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKiBn
ZXRDb250ZXh0MmQoY29uc3QgU3RyaW5nJik7CisgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
KiBjcmVhdGVDb250ZXh0MmQoY29uc3QgU3RyaW5nJiwgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
U2V0dGluZ3MmJik7CisgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKiBnZXRDb250ZXh0MmQo
Y29uc3QgU3RyaW5nJiwgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MmJik7CiAKICNp
ZiBFTkFCTEUoV0VCR0wpCiAgICAgdXNpbmcgV2ViR0xWZXJzaW9uID0gR3JhcGhpY3NDb250ZXh0
R0xXZWJHTFZlcnNpb247CkBAIC05NSw4ICs5Niw4IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAg
c3RhdGljIGJvb2wgaXNCaXRtYXBSZW5kZXJlclR5cGUoY29uc3QgU3RyaW5nJik7Ci0gICAgSW1h
Z2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0KiBjcmVhdGVDb250ZXh0Qml0bWFwUmVuZGVyZXIoY29u
c3QgU3RyaW5nJiwgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3MmJiA9IHsgfSk7
Ci0gICAgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0KiBnZXRDb250ZXh0Qml0bWFwUmVuZGVy
ZXIoY29uc3QgU3RyaW5nJiwgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3MmJiA9
IHsgfSk7CisgICAgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0KiBjcmVhdGVDb250ZXh0Qml0
bWFwUmVuZGVyZXIoY29uc3QgU3RyaW5nJiwgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0
dGluZ3MmJik7CisgICAgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0KiBnZXRDb250ZXh0Qml0
bWFwUmVuZGVyZXIoY29uc3QgU3RyaW5nJiwgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0
dGluZ3MmJik7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxVbmNhY2hlZFN0cmlu
Zz4gdG9EYXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIEpTQzo6SlNWYWx1ZSBxdWFsaXR5
KTsKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxVbmNhY2hlZFN0cmluZz4gdG9EYXRh
VVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lv
biAyNzY3MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NywxNyArNjcsMTggQEAgdXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRCk7CiAKLXN0ZDo6dW5pcXVlX3B0cjxDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRlKENhbnZhc0Jhc2UmIGNhbnZh
cywgYm9vbCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZSkKK3N0ZDo6dW5pcXVlX3B0cjxD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQ+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRl
KENhbnZhc0Jhc2UmIGNhbnZhcywgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MmJiBz
ZXR0aW5ncywgYm9vbCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZSkKIHsKLSAgICBhdXRv
IHJlbmRlcmluZ0NvbnRleHQgPSBzdGQ6OnVuaXF1ZV9wdHI8Q2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEPihuZXcgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKGNhbnZhcywgdXNlc0NTU0NvbXBhdGli
aWxpdHlQYXJzZU1vZGUpKTsKKyAgICBhdXRvIHJlbmRlcmluZ0NvbnRleHQgPSBzdGQ6OnVuaXF1
ZV9wdHI8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEPihuZXcgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEKGNhbnZhcywgV1RGTW92ZShzZXR0aW5ncyksIHVzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VN
b2RlKSk7CiAKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZUNhbnZhc1Jl
bmRlcmluZ0NvbnRleHQoKnJlbmRlcmluZ0NvbnRleHQpOwogCiAgICAgcmV0dXJuIHJlbmRlcmlu
Z0NvbnRleHQ7CiB9CiAKLUNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Q2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEKENhbnZhc0Jhc2UmIGNhbnZhcywgYm9vbCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBh
cnNlTW9kZSkKK0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Q2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEKENhbnZhc0Jhc2UmIGNhbnZhcywgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3Mm
JiBzZXR0aW5ncywgYm9vbCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZSkKICAgICA6IENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UoY2FudmFzLCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBh
cnNlTW9kZSkKKyAgICAsIG1fc2V0dGluZ3MgeyBXVEZNb3ZlKHNldHRpbmdzKSB9CiB7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5oCShyZXZpc2lvbiAyNzY3MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAkod29ya2luZyBjb3B5KQpAQCAtMjYs
NiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlLmgiCisjaW5jbHVkZSAiQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3Mu
aCIKICNpbmNsdWRlICJIVE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1ZGUgPG1lbW9yeT4KIApA
QCAtMzYsMTIgKzM3LDE0IEBAIGNsYXNzIFRleHRNZXRyaWNzOwogY2xhc3MgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEIGZpbmFsIDogcHVibGljIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2Ug
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKTsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRD4gY3JlYXRlKENhbnZhc0Jhc2UmLCBib29sIHVzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VN
b2RlKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RD4gY3JlYXRlKENhbnZhc0Jhc2UmLCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncyYm
LCBib29sIHVzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VNb2RlKTsKIAogICAgIHZpcnR1YWwgfkNh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCgpOwogCiAgICAgSFRNTENhbnZhc0VsZW1lbnQmIGNhbnZh
cygpIGNvbnN0IHsgcmV0dXJuIGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNl
KCkpOyB9CiAKKyAgICBjb25zdCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncyYgZ2V0
Q29udGV4dEF0dHJpYnV0ZXMoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzOyB9CisKICAgICB2
b2lkIGRyYXdGb2N1c0lmTmVlZGVkKEVsZW1lbnQmKTsKICAgICB2b2lkIGRyYXdGb2N1c0lmTmVl
ZGVkKFBhdGgyRCYsIEVsZW1lbnQmKTsKIApAQCAtNTQsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAg
UmVmPFRleHRNZXRyaWNzPiBtZWFzdXJlVGV4dChjb25zdCBTdHJpbmcmIHRleHQpOwogCiBwcml2
YXRlOgotICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRChDYW52YXNCYXNlJiwgYm9vbCB1c2Vz
Q1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZSk7CisgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
KENhbnZhc0Jhc2UmLCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncyYmLCBib29sIHVz
ZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VNb2RlKTsKIAogICAgIGJvb2wgaXMyZCgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBjb25zdCBGb250UHJveHkqIGZvbnRQcm94eSgpIGZp
bmFsOwpAQCAtNjUsNiArNjgsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZHJhd0ZvY3VzSWZOZWVk
ZWRJbnRlcm5hbChjb25zdCBQYXRoJiwgRWxlbWVudCYpOwogCiAgICAgVGV4dERpcmVjdGlvbiB0
b1RleHREaXJlY3Rpb24oQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6RGlyZWN0aW9uLCBj
b25zdCBSZW5kZXJTdHlsZSoqIGNvbXB1dGVkU3R5bGUgPSBudWxscHRyKSBjb25zdDsKKworICAg
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFNldHRpbmdzIG1fc2V0dGluZ3M7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwJKHJldmlzaW9uIDI3NjcxNikK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDA2LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0zMyw2ICszMyw4IEBACiAgICAgLy8gYmFjay1yZWZlcmVu
Y2UgdG8gdGhlIGNhbnZhcwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ2FudmFzRWxlbWVu
dCBjYW52YXM7CiAKKyAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncyBnZXRDb250
ZXh0QXR0cmlidXRlcygpOworCiAgICAgLy8gTm9uLXN0YW5kYXJkIGxlZ2FjeSBhbGlhc2VzIChD
b21wb3NpdGluZykuCiAgICAgW0ltcGxlbWVudGVkQXM9c2V0R2xvYmFsQWxwaGFdIHVuZGVmaW5l
ZCBzZXRBbHBoYShvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgYWxwaGEgPSBOYU4pOwogICAg
IFtJbXBsZW1lbnRlZEFzPXNldEdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbl0gdW5kZWZpbmVkIHNl
dENvbXBvc2l0ZU9wZXJhdGlvbihvcHRpb25hbCBET01TdHJpbmcgY29tcG9zaXRlT3BlcmF0aW9u
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRFNldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEU2V0dGluZ3MgeworICAgIGJvb2wgZGVzeW5jaHJvbml6ZWQgeyBmYWxzZSB9OworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFNldHRpbmdzLmlk
bAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRTZXR0aW5ncy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L2NhbnZhcy5odG1sI2NhbnZhc3JlbmRlcmluZ2NvbnRleHQyZHNldHRpbmdzCitbCisgICAgSlNH
ZW5lcmF0ZVRvSlNPYmplY3QsCitdIGRpY3Rpb25hcnkgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
U2V0dGluZ3MgeworICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgJ2FscGhhJy4KKyAgICAv
LyBib29sZWFuIGFscGhhID0gdHJ1ZTsKKyAgICBib29sZWFuIGRlc3luY2hyb25pemVkID0gZmFs
c2U7Cit9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427322</attachid>
            <date>2021-04-28 18:27:59 -0700</date>
            <delta_ts>2021-04-29 09:09:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225173-20210428182758.patch</filename>
            <type>text/plain</type>
            <size>41219</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3Njc0MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDIxLTA0LTI4ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNTE3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFBsdW1iIGluZnJhc3RydWN0dXJlIGZvciBwYXNzaW5nIGEgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MgdG8gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LgorCisgICAgICAgIFRoaXMgY2hhbmdlIG9ubHkgYWRkcyB0aGUgJ2Rlc3luY2hyb25pemVkJyBm
bGFnLCB3aGljaCBpcyBvbmx5IGEgaGludCwgc28gaWdub3JpbmcKKyAgICAgICAgaXQgaXMgYW4g
ZXhjZXB0YWJsZSBpbXBsZW1lbnRhdGlvbi4gCisKKyAgICAgICAgICAgICJXaGVuIGEgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEIG9iamVjdCdzIGRlc3luY2hyb25pemVkIGlzIHRydWUsIHRoZW4g
dGhlIHVzZXIKKyAgICAgICAgICAgICBhZ2VudCBtYXkgb3B0aW1pemUgdGhlIHJlbmRlcmluZyBv
ZiB0aGUgY2FudmFzIHRvIHJlZHVjZSB0aGUgbGF0ZW5jeS4iCisgICAgICAgICAgICAtIGh0dHBz
Oi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2NhbnZhcy5odG1sI2NvbmNlcHQtY2Fu
dmFzLWRlc3luY2hyb25pemVkCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6Cisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICBBZGQgbmV3IGZpbGVzLgorCisgICAgICAgICogaHRtbC9IVE1M
Q2FudmFzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6
Z2V0Q29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRl
Q29udGV4dDJkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250
ZXh0MmQpOgorICAgICAgICBQaXBlIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFNldHRpbmdzIHRv
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC4KKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVt
ZW50Lmg6CisgICAgICAgIEZvcndhcmQgZGVjbGFyZSBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRl
eHRTZXR0aW5ncyBhbmQgcmVtb3ZlIGRlZmF1bHQgdmFsdWVzCisgICAgICAgIGZyb20gZnVuY3Rp
b25zIHRha2luZyBhIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLiBUaGVyZSBh
cmUgZmV3CisgICAgICAgIGNhbGxlcnMgYW5kIHRoaXMgYWxsb3dzIHVzIHRvIHJlbW92ZSBhbiBp
bmNsdWRlLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuaDoKKyAgICAgICAgU3RvcmUgc2V0dGluZ3MuIEl0IGlzIG5vdCBjdXJyZW50bHkg
dXNlZCBmb3IgYW55dGhpbmcgYnV0IHJldHVybmluZworICAgICAgICBpdHNlbGYgYnV0IHdpbGwg
aGF2ZSBvdGhlciBzdGF0ZSBpbiB0aGUgZnV0dXJlLgorCisgICAgICAgICogaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoKKyAgICAgICAgQWRkIGdldENvbnRleHRBdHRy
aWJ1dGVzKCkgb3BlcmF0aW9uIGZyb20gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0
aXBhZ2UvY2FudmFzLmh0bWwjY2FudmFzcmVuZGVyaW5nY29udGV4dDJkCisKKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncy5pZGw6
IEFkZGVkLgorCiAyMDIxLTA0LTI4ICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5j
b20+CiAKICAgICAgICAgRG9uJ3QgY3JlYXRlIGN1c3RvbSBzY3JvbGxiYXJzIGZvciBmdWxsc2Ny
ZWVuIHBsYWNlaG9sZGVycy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyNzY3
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MTA1MSw2ICsxMDUxLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBodG1s
L2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlkbAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1JlY3QuaWRs
CiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAorICAgIGh0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFNldHRpbmdzLmlkbAogICAgIGh0bWwvY2Fu
dmFzL0NhbnZhc1NoYWRvd1N0eWxlcy5pZGwKICAgICBodG1sL2NhbnZhcy9DYW52YXNTdGF0ZS5p
ZGwKICAgICBodG1sL2NhbnZhcy9DYW52YXNUZXh0LmlkbApJbmRleDogU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CShyZXZpc2lvbiAyNzY3MTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CSh3b3JraW5n
IGNvcHkpCkBAIC0xMDY1LDYgKzEwNjUsNyBAQCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9D
YW52YXNQYXRoRHJhCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlk
bAogJChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvQ2FudmFzUmVjdC5pZGwKICQoUFJPSkVDVF9E
SVIpL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwKKyQoUFJPSkVDVF9E
SVIpL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFNldHRpbmdzLmlkbAogJChQ
Uk9KRUNUX0RJUikvaHRtbC9jYW52YXMvQ2FudmFzU2hhZG93U3R5bGVzLmlkbAogJChQUk9KRUNU
X0RJUikvaHRtbC9jYW52YXMvQ2FudmFzU3RhdGUuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2Nh
bnZhcy9DYW52YXNUZXh0LmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI3NjcxNikKKysrIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBAIC0z
NjEsNiArMzYxLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYgog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDYW52YXNSZWN0
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRT
ZXR0aW5ncy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDYW52YXNTaGFkb3dTdHlsZXMuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NhbnZhc1NoYWRvd1N0
eWxlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Nh
bnZhc1N0YXRlLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lv
biAyNzY3MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5n
IGNvcHkpCkBAIC05MjYsNiArOTI2LDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdl
YkNvcmUpL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0
bWwvY2FudmFzL0NhbnZhc1JlY3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0
bWwvY2FudmFzL0NhbnZhc1NoYWRvd1N0eWxlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvQ2FudmFzU3RhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0NhbnZh
c1RleHQuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNzY3MTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjg3Nyw2ICsyODc3LDcg
QEAgSlNDYW52YXNQYXRoRHJhd2luZ1N0eWxlcy5jcHAKIEpTQ2FudmFzUGF0dGVybi5jcHAKIEpT
Q2FudmFzUmVjdC5jcHAKIEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAorSlNDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncy5jcHAKIEpTQ2FudmFzU2hhZG93U3R5bGVzLmNwcAog
SlNDYW52YXNTdGF0ZS5jcHAKIEpTQ2FudmFzVGV4dC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI3Njcx
NikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQpAQCAtMTQzODQsNiArMTQzODQsOCBAQAogCQlCQ0RGRDQ5NDBFMzA1OTJG
MDA5RDEwQUQgLyogSlNYTUxIdHRwUmVxdWVzdFVwbG9hZC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDRTAxMzk4MEMwQkVGMTgwMDQzODYwQSAvKiBKU1N0eWxlU2hlZXQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3R5bGVTaGVldC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTAxMzk5MEMwQkVGMTgwMDQzODYwQSAv
KiBKU1N0eWxlU2hlZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3R5
bGVTaGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0UwNDkwQzI2M0EyRjFD
MDA5RENCQjggLyogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQkNFMDQ5MEUyNjNBMkYxQzAwOURDQkI4IC8qIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRFNldHRpbmdzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0
aW5ncy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTFDNDE5MEQ5ODI5ODAw
MDNCMDJGMiAvKiBMb2NhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBM
b2NhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0UxQzQxQTBEOTgyOTgw
MDAzQjAyRjIgLyogTG9jYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTG9jYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0UxQzQy
MjBEOTgyOUYyMDAzQjAyRjIgLyogTG9jYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IExvY2F0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDk5LDYgKzIw
MTAxLDggQEAKIAkJCQk0OTQ4NEZCRTEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmlkbCAqLywKIAkJCQkzMTQwQzUyMTFGREYzMTg0MDBEMkE4NzMgLyogQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAgKi8sCiAJCQkJMzE0MEM1MjIxRkRGMzE4NjAwRDJB
ODczIC8qIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaCAqLywKKwkJCQlCQ0UwNDkwQzI2
M0EyRjFDMDA5RENCQjggLyogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaCAqLywK
KwkJCQlCQ0UwNDkwRTI2M0EyRjFDMDA5RENCQjggLyogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
U2V0dGluZ3MuaWRsICovLAogCQkJCTdDMTkzQkFEMUY1RTBFQjMwMDg4RjNFNiAvKiBDYW52YXNT
aGFkb3dTdHlsZXMuaWRsICovLAogCQkJCTdDMTkzQkIyMUY1RTBFQjYwMDg4RjNFNiAvKiBDYW52
YXNTdGF0ZS5pZGwgKi8sCiAJCQkJNDk0ODRGQkYxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc1N0
eWxlLmNwcCAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQu
Y3BwCShyZXZpc2lvbiAyNzY3MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkNh
bnZhc0dyYWRpZW50LmgiCiAjaW5jbHVkZSAiQ2FudmFzUGF0dGVybi5oIgogI2luY2x1ZGUgIkNh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIgorI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiRGlzcGxheUxpc3REcmF3aW5nQ29udGV4dC5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgpAQCAtNDQsNiAr
NDUsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlv
bXMuaCIKICNpbmNsdWRlICJJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQuaCIKKyNpbmNsdWRl
ICJJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHRTZXR0aW5ncy5oIgogI2luY2x1ZGUgIkltYWdl
QnVmZmVyLmgiCiAjaW5jbHVkZSAiSW1hZ2VEYXRhLmgiCiAjaW5jbHVkZSAiSW5NZW1vcnlEaXNw
bGF5TGlzdC5oIgpAQCAtMjc5LDcgKzI4MSwxMSBAQCBFeGNlcHRpb25PcjxPcHRpb25hbDxSZW5k
ZXJpbmdDb250ZXh0Pj4gCiAgICAgfQogCiAgICAgaWYgKGlzMmRUeXBlKGNvbnRleHRJZCkpIHsK
LSAgICAgICAgYXV0byBjb250ZXh0ID0gY3JlYXRlQ29udGV4dDJkKGNvbnRleHRJZCk7CisgICAg
ICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHN0YXRlLnZtKCkpOworICAgICAg
ICBhdXRvIHNldHRpbmdzID0gY29udmVydDxJRExEaWN0aW9uYXJ5PENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRFNldHRpbmdzPj4oc3RhdGUsICFhcmd1bWVudHMuaXNFbXB0eSgpID8gYXJndW1lbnRz
WzBdLmdldCgpIDogSlNDOjpqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgRXhjZXB0aW9uIHsgRXhpc3RpbmdFeGNlcHRpb25FcnJvciB9KTsKKworICAg
ICAgICBhdXRvIGNvbnRleHQgPSBjcmVhdGVDb250ZXh0MmQoY29udGV4dElkLCBXVEZNb3ZlKHNl
dHRpbmdzKSk7CiAgICAgICAgIGlmICghY29udGV4dCkKICAgICAgICAgICAgIHJldHVybiBPcHRp
b25hbDxSZW5kZXJpbmdDb250ZXh0PiB7IFdURjo6bnVsbG9wdCB9OwogICAgICAgICByZXR1cm4g
T3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4geyBSZWZQdHI8Q2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEPiB7IGNvbnRleHQgfSB9OwpAQCAtMjg3LDEwICsyOTMsMTAgQEAgRXhjZXB0aW9uT3I8T3B0
aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4+IAogCiAgICAgaWYgKGlzQml0bWFwUmVuZGVyZXJUeXBl
KGNvbnRleHRJZCkpIHsKICAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
c3RhdGUudm0oKSk7Ci0gICAgICAgIGF1dG8gYXR0cmlidXRlcyA9IGNvbnZlcnQ8SURMRGljdGlv
bmFyeTxJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHRTZXR0aW5ncz4+KHN0YXRlLCAhYXJndW1l
bnRzLmlzRW1wdHkoKSA/IGFyZ3VtZW50c1swXS5nZXQoKSA6IEpTQzo6anNVbmRlZmluZWQoKSk7
CisgICAgICAgIGF1dG8gc2V0dGluZ3MgPSBjb252ZXJ0PElETERpY3Rpb25hcnk8SW1hZ2VCaXRt
YXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3M+PihzdGF0ZSwgIWFyZ3VtZW50cy5pc0VtcHR5KCkg
PyBhcmd1bWVudHNbMF0uZ2V0KCkgOiBKU0M6OmpzVW5kZWZpbmVkKCkpOwogICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBFeGNlcHRpb24geyBFeGlzdGluZ0V4Y2VwdGlvbkVycm9y
IH0pOwogCi0gICAgICAgIGF1dG8gY29udGV4dCA9IGNyZWF0ZUNvbnRleHRCaXRtYXBSZW5kZXJl
cihjb250ZXh0SWQsIFdURk1vdmUoYXR0cmlidXRlcykpOworICAgICAgICBhdXRvIGNvbnRleHQg
PSBjcmVhdGVDb250ZXh0Qml0bWFwUmVuZGVyZXIoY29udGV4dElkLCBXVEZNb3ZlKHNldHRpbmdz
KSk7CiAgICAgICAgIGlmICghY29udGV4dCkKICAgICAgICAgICAgIHJldHVybiBPcHRpb25hbDxS
ZW5kZXJpbmdDb250ZXh0PiB7IFdURjo6bnVsbG9wdCB9OwogICAgICAgICByZXR1cm4gT3B0aW9u
YWw8UmVuZGVyaW5nQ29udGV4dD4geyBSZWZQdHI8SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0
PiB7IGNvbnRleHQgfSB9OwpAQCAtMzMwLDEwICszMzYsMTAgQEAgRXhjZXB0aW9uT3I8T3B0aW9u
YWw8UmVuZGVyaW5nQ29udGV4dD4+IAogQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogSFRNTENhbnZh
c0VsZW1lbnQ6OmdldENvbnRleHQoY29uc3QgU3RyaW5nJiB0eXBlKQogewogICAgIGlmIChIVE1M
Q2FudmFzRWxlbWVudDo6aXMyZFR5cGUodHlwZSkpCi0gICAgICAgIHJldHVybiBnZXRDb250ZXh0
MmQodHlwZSk7CisgICAgICAgIHJldHVybiBnZXRDb250ZXh0MmQodHlwZSwgeyB9KTsKIAogICAg
IGlmIChIVE1MQ2FudmFzRWxlbWVudDo6aXNCaXRtYXBSZW5kZXJlclR5cGUodHlwZSkpCi0gICAg
ICAgIHJldHVybiBnZXRDb250ZXh0Qml0bWFwUmVuZGVyZXIodHlwZSk7CisgICAgICAgIHJldHVy
biBnZXRDb250ZXh0Qml0bWFwUmVuZGVyZXIodHlwZSwgeyB9KTsKIAogI2lmIEVOQUJMRShXRUJH
TCkKICAgICBpZiAoSFRNTENhbnZhc0VsZW1lbnQ6OmlzV2ViR0xUeXBlKHR5cGUpKQpAQCAtMzUz
LDcgKzM1OSw3IEBAIGJvb2wgSFRNTENhbnZhc0VsZW1lbnQ6OmlzMmRUeXBlKGNvbnN0IFMKICAg
ICByZXR1cm4gdHlwZSA9PSAiMmQiOwogfQogCi1DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqIEhU
TUxDYW52YXNFbGVtZW50OjpjcmVhdGVDb250ZXh0MmQoY29uc3QgU3RyaW5nJiB0eXBlKQorQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEKiBIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRlQ29udGV4dDJk
KGNvbnN0IFN0cmluZyYgdHlwZSwgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MmJiBz
ZXR0aW5ncykKIHsKICAgICBBU1NFUlRfVU5VU0VEKEhUTUxDYW52YXNFbGVtZW50OjppczJkVHlw
ZSh0eXBlKSwgdHlwZSk7CiAgICAgQVNTRVJUKCFtX2NvbnRleHQpOwpAQCAtMzY5LDcgKzM3NSw3
IEBAIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCogSFRNTENhbnZhc0VsZW0KICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgbV9jb250ZXh0ID0gQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpjcmVhdGUoKnRoaXMsIGRvY3VtZW50KCkuaW5RdWlya3NNb2RlKCkpOworICAgIG1f
Y29udGV4dCA9IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRlKCp0aGlzLCBXVEZNb3Zl
KHNldHRpbmdzKSwgZG9jdW1lbnQoKS5pblF1aXJrc01vZGUoKSk7CiAKICNpZiBVU0UoSU9TVVJG
QUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFKQogICAgIC8vIE5lZWQgdG8gbWFrZSBzdXJlIGEgUmVu
ZGVyTGF5ZXIgYW5kIGNvbXBvc2l0aW5nIGxheWVyIGdldCBjcmVhdGVkIGZvciB0aGUgQ2FudmFz
LgpAQCAtMzc5LDcgKzM4NSw3IEBAIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCogSFRNTENhbnZh
c0VsZW0KICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKj4o
bV9jb250ZXh0LmdldCgpKTsKIH0KIAotQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKiBIVE1MQ2Fu
dmFzRWxlbWVudDo6Z2V0Q29udGV4dDJkKGNvbnN0IFN0cmluZyYgdHlwZSkKK0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRCogSFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQyZChjb25zdCBTdHJp
bmcmIHR5cGUsIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFNldHRpbmdzJiYgc2V0dGluZ3MpCiB7
CiAgICAgQVNTRVJUX1VOVVNFRChIVE1MQ2FudmFzRWxlbWVudDo6aXMyZFR5cGUodHlwZSksIHR5
cGUpOwogCkBAIC0zODcsNyArMzkzLDcgQEAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKiBIVE1M
Q2FudmFzRWxlbQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGlmICghbV9jb250ZXh0
KQotICAgICAgICByZXR1cm4gY3JlYXRlQ29udGV4dDJkKHR5cGUpOworICAgICAgICByZXR1cm4g
Y3JlYXRlQ29udGV4dDJkKHR5cGUsIFdURk1vdmUoc2V0dGluZ3MpKTsKICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKj4obV9jb250ZXh0LmdldCgpKTsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaAkocmV2aXNpb24g
Mjc2NzE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiQ2FudmFzQmFzZS5oIgogI2lu
Y2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCi0jaW5jbHVkZSAi
SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3MuaCIKICNpbmNsdWRlIDxtZW1vcnk+
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIApAQCAtNTMsNiArNTIsOCBAQCBjbGFzcyBNZWRp
YVN0cmVhbTsKIGNsYXNzIE9mZnNjcmVlbkNhbnZhczsKIGNsYXNzIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U7CiBjbGFzcyBHUFVDYW52YXNDb250ZXh0Oworc3RydWN0IENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRFNldHRpbmdzOworc3RydWN0IEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNl
dHRpbmdzOwogc3RydWN0IFVuY2FjaGVkU3RyaW5nOwogCiBuYW1lc3BhY2UgRGlzcGxheUxpc3Qg
ewpAQCAtNzcsOCArNzgsOCBAQCBwdWJsaWM6CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCog
Z2V0Q29udGV4dChjb25zdCBTdHJpbmcmKTsKIAogICAgIHN0YXRpYyBib29sIGlzMmRUeXBlKGNv
bnN0IFN0cmluZyYpOwotICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCogY3JlYXRlQ29udGV4
dDJkKGNvbnN0IFN0cmluZyYgdHlwZSk7Ci0gICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKiBn
ZXRDb250ZXh0MmQoY29uc3QgU3RyaW5nJik7CisgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
KiBjcmVhdGVDb250ZXh0MmQoY29uc3QgU3RyaW5nJiwgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
U2V0dGluZ3MmJik7CisgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKiBnZXRDb250ZXh0MmQo
Y29uc3QgU3RyaW5nJiwgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MmJik7CiAKICNp
ZiBFTkFCTEUoV0VCR0wpCiAgICAgdXNpbmcgV2ViR0xWZXJzaW9uID0gR3JhcGhpY3NDb250ZXh0
R0xXZWJHTFZlcnNpb247CkBAIC05NSw4ICs5Niw4IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAg
c3RhdGljIGJvb2wgaXNCaXRtYXBSZW5kZXJlclR5cGUoY29uc3QgU3RyaW5nJik7Ci0gICAgSW1h
Z2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0KiBjcmVhdGVDb250ZXh0Qml0bWFwUmVuZGVyZXIoY29u
c3QgU3RyaW5nJiwgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3MmJiA9IHsgfSk7
Ci0gICAgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0KiBnZXRDb250ZXh0Qml0bWFwUmVuZGVy
ZXIoY29uc3QgU3RyaW5nJiwgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3MmJiA9
IHsgfSk7CisgICAgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0KiBjcmVhdGVDb250ZXh0Qml0
bWFwUmVuZGVyZXIoY29uc3QgU3RyaW5nJiwgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0
dGluZ3MmJik7CisgICAgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0KiBnZXRDb250ZXh0Qml0
bWFwUmVuZGVyZXIoY29uc3QgU3RyaW5nJiwgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0
dGluZ3MmJik7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxVbmNhY2hlZFN0cmlu
Zz4gdG9EYXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIEpTQzo6SlNWYWx1ZSBxdWFsaXR5
KTsKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxVbmNhY2hlZFN0cmluZz4gdG9EYXRh
VVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lv
biAyNzY3MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NywxNyArNjcsMTggQEAgdXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRCk7CiAKLXN0ZDo6dW5pcXVlX3B0cjxDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRlKENhbnZhc0Jhc2UmIGNhbnZh
cywgYm9vbCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZSkKK3N0ZDo6dW5pcXVlX3B0cjxD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQ+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRl
KENhbnZhc0Jhc2UmIGNhbnZhcywgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MmJiBz
ZXR0aW5ncywgYm9vbCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZSkKIHsKLSAgICBhdXRv
IHJlbmRlcmluZ0NvbnRleHQgPSBzdGQ6OnVuaXF1ZV9wdHI8Q2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEPihuZXcgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKGNhbnZhcywgdXNlc0NTU0NvbXBhdGli
aWxpdHlQYXJzZU1vZGUpKTsKKyAgICBhdXRvIHJlbmRlcmluZ0NvbnRleHQgPSBzdGQ6OnVuaXF1
ZV9wdHI8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEPihuZXcgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEKGNhbnZhcywgV1RGTW92ZShzZXR0aW5ncyksIHVzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VN
b2RlKSk7CiAKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZUNhbnZhc1Jl
bmRlcmluZ0NvbnRleHQoKnJlbmRlcmluZ0NvbnRleHQpOwogCiAgICAgcmV0dXJuIHJlbmRlcmlu
Z0NvbnRleHQ7CiB9CiAKLUNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Q2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEKENhbnZhc0Jhc2UmIGNhbnZhcywgYm9vbCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBh
cnNlTW9kZSkKK0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Q2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEKENhbnZhc0Jhc2UmIGNhbnZhcywgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3Mm
JiBzZXR0aW5ncywgYm9vbCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZSkKICAgICA6IENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UoY2FudmFzLCB1c2VzQ1NTQ29tcGF0aWJpbGl0eVBh
cnNlTW9kZSkKKyAgICAsIG1fc2V0dGluZ3MgeyBXVEZNb3ZlKHNldHRpbmdzKSB9CiB7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5oCShyZXZpc2lvbiAyNzY3MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAkod29ya2luZyBjb3B5KQpAQCAtMjYs
NiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkRCYXNlLmgiCisjaW5jbHVkZSAiQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3Mu
aCIKICNpbmNsdWRlICJIVE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1ZGUgPG1lbW9yeT4KIApA
QCAtMzYsMTIgKzM3LDE0IEBAIGNsYXNzIFRleHRNZXRyaWNzOwogY2xhc3MgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEIGZpbmFsIDogcHVibGljIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2Ug
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKTsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRD4gY3JlYXRlKENhbnZhc0Jhc2UmLCBib29sIHVzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VN
b2RlKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RD4gY3JlYXRlKENhbnZhc0Jhc2UmLCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncyYm
LCBib29sIHVzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VNb2RlKTsKIAogICAgIHZpcnR1YWwgfkNh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCgpOwogCiAgICAgSFRNTENhbnZhc0VsZW1lbnQmIGNhbnZh
cygpIGNvbnN0IHsgcmV0dXJuIGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNl
KCkpOyB9CiAKKyAgICBjb25zdCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncyYgZ2V0
Q29udGV4dEF0dHJpYnV0ZXMoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzOyB9CisKICAgICB2
b2lkIGRyYXdGb2N1c0lmTmVlZGVkKEVsZW1lbnQmKTsKICAgICB2b2lkIGRyYXdGb2N1c0lmTmVl
ZGVkKFBhdGgyRCYsIEVsZW1lbnQmKTsKIApAQCAtNTQsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAg
UmVmPFRleHRNZXRyaWNzPiBtZWFzdXJlVGV4dChjb25zdCBTdHJpbmcmIHRleHQpOwogCiBwcml2
YXRlOgotICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRChDYW52YXNCYXNlJiwgYm9vbCB1c2Vz
Q1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZSk7CisgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
KENhbnZhc0Jhc2UmLCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncyYmLCBib29sIHVz
ZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VNb2RlKTsKIAogICAgIGJvb2wgaXMyZCgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBjb25zdCBGb250UHJveHkqIGZvbnRQcm94eSgpIGZp
bmFsOwpAQCAtNjUsNiArNjgsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZHJhd0ZvY3VzSWZOZWVk
ZWRJbnRlcm5hbChjb25zdCBQYXRoJiwgRWxlbWVudCYpOwogCiAgICAgVGV4dERpcmVjdGlvbiB0
b1RleHREaXJlY3Rpb24oQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6RGlyZWN0aW9uLCBj
b25zdCBSZW5kZXJTdHlsZSoqIGNvbXB1dGVkU3R5bGUgPSBudWxscHRyKSBjb25zdDsKKworICAg
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFNldHRpbmdzIG1fc2V0dGluZ3M7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwJKHJldmlzaW9uIDI3NjcxNikK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDA2LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0zMyw2ICszMyw4IEBACiAgICAgLy8gYmFjay1yZWZlcmVu
Y2UgdG8gdGhlIGNhbnZhcwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ2FudmFzRWxlbWVu
dCBjYW52YXM7CiAKKyAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncyBnZXRDb250
ZXh0QXR0cmlidXRlcygpOworCiAgICAgLy8gTm9uLXN0YW5kYXJkIGxlZ2FjeSBhbGlhc2VzIChD
b21wb3NpdGluZykuCiAgICAgW0ltcGxlbWVudGVkQXM9c2V0R2xvYmFsQWxwaGFdIHVuZGVmaW5l
ZCBzZXRBbHBoYShvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgYWxwaGEgPSBOYU4pOwogICAg
IFtJbXBsZW1lbnRlZEFzPXNldEdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbl0gdW5kZWZpbmVkIHNl
dENvbXBvc2l0ZU9wZXJhdGlvbihvcHRpb25hbCBET01TdHJpbmcgY29tcG9zaXRlT3BlcmF0aW9u
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRFNldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEU2V0dGluZ3MgeworICAgIGJvb2wgZGVzeW5jaHJvbml6ZWQgeyBmYWxzZSB9OworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGluZ3MuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFNldHRpbmdzLmlk
bAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRTZXR0aW5ncy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L2NhbnZhcy5odG1sI2NhbnZhc3JlbmRlcmluZ2NvbnRleHQyZHNldHRpbmdzCitbCisgICAgSlNH
ZW5lcmF0ZVRvSlNPYmplY3QsCitdIGRpY3Rpb25hcnkgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
U2V0dGluZ3MgeworICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgJ2FscGhhJy4KKyAgICAv
LyBib29sZWFuIGFscGhhID0gdHJ1ZTsKKyAgICBib29sZWFuIGRlc3luY2hyb25pemVkID0gZmFs
c2U7Cit9OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjc2NzQ1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDQtMjggIFNhbSBXZWlu
aWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRTZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI1MTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3QgcmVzdWx0cy4KKworICAgICAgICAqIHBsYXRm
b3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5l
c3MuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNzLmh0dHBzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L3dwZS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3Mu
aHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA0LTI4ICBSb2JlcnQgSmVubmVyICA8amVubmVy
QGFwcGxlLmNvbT4KIAogICAgICAgICBbIGlPUyB3azIgRVdTIF0gaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGUvcG9zdE1lc3NhZ2Uvc3RydWN0dXJlZC1jbG9uZS1tZXNzYWdlLmh0bWwgaXMgZmxha3kgY3Jh
c2gKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjc2NzQ1KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE1IEBACisyMDIxLTA0LTI4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2V0dGlu
Z3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTE3
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSB0ZXN0IHJlc3VsdHMuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52
YXMvZWxlbWVudC9jb250ZXh0LWF0dHJpYnV0ZXMvZ2V0Q29udGV4dEF0dHJpYnV0ZXMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNz
Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wNC0yOCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFthc3BlY3QtcmF0aW9dIFRyZWF0IGJvcmRlci9wYWRkaW5nIGNv
cnJlY3RseSBmb3IgYm94LXNpemluZzogYm9yZGVyLWJveApJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2NhbnZhcy9lbGVtZW50L2NvbnRleHQt
YXR0cmlidXRlcy9nZXRDb250ZXh0QXR0cmlidXRlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2NhbnZh
cy9lbGVtZW50L2NvbnRleHQtYXR0cmlidXRlcy9nZXRDb250ZXh0QXR0cmlidXRlcy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDI3NjcxNikKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52YXMvZWxlbWVudC9jb250ZXh0LWF0dHJpYnV0ZXMvZ2V0
Q29udGV4dEF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEs
NiBAQAogCi1GQUlMIFRlc3QgZGVmYXVsdCBjb250ZXh0IGNyZWF0aW9uIGF0dHJpYnV0ZXMgY3R4
LmdldENvbnRleHRBdHRyaWJ1dGVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2N0eC5nZXRDb250
ZXh0QXR0cmlidXRlcygpJywgJ2N0eC5nZXRDb250ZXh0QXR0cmlidXRlcycgaXMgdW5kZWZpbmVk
KQotRkFJTCBUZXN0IGNvbnRleHQgY3JlYXRpb24gYXR0cmlidXRlcyBhbHBoYTogdHJ1ZSBjdHgu
Z2V0Q29udGV4dEF0dHJpYnV0ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3R4LmdldENvbnRl
eHRBdHRyaWJ1dGVzKCknLCAnY3R4LmdldENvbnRleHRBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQp
Ci1GQUlMIFRlc3QgY29udGV4dCBjcmVhdGlvbiBhdHRyaWJ1dGVzIGFscGhhOiBmYWxzZSBjdHgu
Z2V0Q29udGV4dEF0dHJpYnV0ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3R4LmdldENvbnRl
eHRBdHRyaWJ1dGVzKCknLCAnY3R4LmdldENvbnRleHRBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQp
Ci1GQUlMIFRlc3QgY29udGV4dCBjcmVhdGlvbiBhdHRyaWJ1dGVzIGRlc3luY2hyb25pemVkOiBm
YWxzZSBjdHguZ2V0Q29udGV4dEF0dHJpYnV0ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnY3R4
LmdldENvbnRleHRBdHRyaWJ1dGVzKCknLCAnY3R4LmdldENvbnRleHRBdHRyaWJ1dGVzJyBpcyB1
bmRlZmluZWQpCitGQUlMIFRlc3QgZGVmYXVsdCBjb250ZXh0IGNyZWF0aW9uIGF0dHJpYnV0ZXMg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKGJvb2xlYW4pIHRydWUgYnV0IGdvdCAodW5kZWZpbmVk
KSB1bmRlZmluZWQKK0ZBSUwgVGVzdCBjb250ZXh0IGNyZWF0aW9uIGF0dHJpYnV0ZXMgYWxwaGE6
IHRydWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKGJvb2xlYW4pIHRydWUgYnV0IGdvdCAodW5k
ZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwgVGVzdCBjb250ZXh0IGNyZWF0aW9uIGF0dHJpYnV0ZXMg
YWxwaGE6IGZhbHNlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChib29sZWFuKSBmYWxzZSBidXQg
Z290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBUZXN0IGNvbnRleHQgY3JlYXRpb24gYXR0
cmlidXRlcyBkZXN5bmNocm9uaXplZDogZmFsc2UKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNzLmh0dHBzLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAyNzY3MTYpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0zNzE4LDcgKzM3MTgsNyBAQCBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZh
Y2U6CiBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3Rv
ciIgcHJvcGVydHkKIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1
bnNjb3BhYmxlcyBwcm9wZXJ0eQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgY2FudmFzCi1GQUlMIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBnZXRDb250ZXh0QXR0cmlidXRlcygpIGFzc2VydF9vd25fcHJvcGVy
dHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRp
b24gZXhwZWN0ZWQgcHJvcGVydHkgImdldENvbnRleHRBdHRyaWJ1dGVzIiBtaXNzaW5nCitQQVNT
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRDb250ZXh0
QXR0cmlidXRlcygpCiBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBzYXZlKCkKIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTog
b3BlcmF0aW9uIHJlc3RvcmUoKQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJm
YWNlOiBvcGVyYXRpb24gc2NhbGUodW5yZXN0cmljdGVkIGRvdWJsZSwgdW5yZXN0cmljdGVkIGRv
dWJsZSkKQEAgLTM3OTUsNyArMzc5NSw3IEBAIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
IGludGVyZmFjZToKIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4
dCgiMmQiKQogUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
Y2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQg
aW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIy
ZCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY2FudmFzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQot
RkFJTCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
Z2V0Q29udGV4dEF0dHJpYnV0ZXMoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVy
aXRzOiBwcm9wZXJ0eSAiZ2V0Q29udGV4dEF0dHJpYnV0ZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5
cGUgY2hhaW4KK1BBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImdldENvbnRleHRBdHRyaWJ1dGVzKCkiIHdpdGggdGhlIHByb3BlciB0eXBlCiBQ
QVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJz
YXZlKCkiIHdpdGggdGhlIHByb3BlciB0eXBlCiBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQo
IjJkIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZXN0b3JlKCkiIHdpdGggdGhlIHByb3BlciB0
eXBlCiBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJzY2FsZSh1bnJlc3RyaWN0ZWQgZG91YmxlLCB1bnJlc3RyaWN0ZWQgZG91YmxlKSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyNzY3MTYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNzLmh0dHBzLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzg3NCw3ICszODc0LDcgQEAgUEFTUyBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOgogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CiBQQVNTIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKIFBBU1MgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogYXR0cmlidXRlIGNhbnZhcwotRkFJTCBDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0Q29udGV4dEF0dHJp
YnV0ZXMoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBt
aXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJnZXRDb250ZXh0
QXR0cmlidXRlcyIgbWlzc2luZworUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJm
YWNlOiBvcGVyYXRpb24gZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKQogUEFTUyBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2F2ZSgpCiBQQVNTIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZXN0b3JlKCkKIFBBU1MgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogb3BlcmF0aW9uIHNjYWxlKHVucmVzdHJpY3Rl
ZCBkb3VibGUsIHVucmVzdHJpY3RlZCBkb3VibGUpCkBAIC0zOTUxLDcgKzM5NTEsNyBAQCBQQVNT
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6CiBQQVNTIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikKIFBBU1MgU3RyaW5naWZpY2F0aW9uIG9m
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikKIFBBU1Mg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNhbnZh
cyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKLUZBSUwgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGlu
dGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQi
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImdldENvbnRleHRBdHRyaWJ1dGVzKCkiIHdpdGggdGhl
IHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImdldENvbnRleHRBdHRyaWJ1
dGVzIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNTIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENv
bnRleHQoIjJkIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJnZXRDb250ZXh0QXR0cmlidXRlcygp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50
ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2F2ZSgpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogUEFT
UyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVz
dG9yZSgpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0
KCIyZCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2NhbGUodW5yZXN0cmljdGVkIGRvdWJsZSwg
dW5yZXN0cmljdGVkIGRvdWJsZSkiIHdpdGggdGhlIHByb3BlciB0eXBlCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9kb20vaWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNzY3MTYpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTM4NjQsNyArMzg2NCw3IEBAIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGlu
dGVyZmFjZToKIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0
cnVjdG9yIiBwcm9wZXJ0eQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CiBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBjYW52YXMKLUZBSUwgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
IGludGVyZmFjZTogb3BlcmF0aW9uIGdldENvbnRleHRBdHRyaWJ1dGVzKCkgYXNzZXJ0X293bl9w
cm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9w
ZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiZ2V0Q29udGV4dEF0dHJpYnV0ZXMiIG1pc3NpbmcK
K1BBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogb3BlcmF0aW9uIGdldENv
bnRleHRBdHRyaWJ1dGVzKCkKIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFj
ZTogb3BlcmF0aW9uIHNhdmUoKQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJm
YWNlOiBvcGVyYXRpb24gcmVzdG9yZSgpCiBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBzY2FsZSh1bnJlc3RyaWN0ZWQgZG91YmxlLCB1bnJlc3RyaWN0
ZWQgZG91YmxlKQpAQCAtMzk0MSw3ICszOTQxLDcgQEAgUEFTUyBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQgaW50ZXJmYWNlOgogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgbXVzdCBiZSBw
cmltYXJ5IGludGVyZmFjZSBvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRD
b250ZXh0KCIyZCIpCiBQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIpCiBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRl
eHQoIjJkIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjYW52YXMiIHdpdGggdGhlIHByb3BlciB0
eXBlCi1GQUlMIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJnZXRDb250ZXh0QXR0cmlidXRlcygpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRf
aW5oZXJpdHM6IHByb3BlcnR5ICJnZXRDb250ZXh0QXR0cmlidXRlcyIgbm90IGZvdW5kIGluIHBy
b3RvdHlwZSBjaGFpbgorUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUKIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInNhdmUoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29u
dGV4dCgiMmQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlc3RvcmUoKSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUKIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgInNjYWxlKHVucmVzdHJpY3RlZCBkb3VibGUsIHVucmVzdHJpY3RlZCBkb3VibGUp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0
cHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNzLmh0
dHBzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjc2NzE2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhh
cm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zODc0LDcgKzM4NzQs
NyBAQCBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6CiBQQVNTIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKIFBB
U1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
Y2FudmFzCi1GQUlMIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IG9wZXJhdGlv
biBnZXRDb250ZXh0QXR0cmlidXRlcygpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJv
cGVydHkgImdldENvbnRleHRBdHRyaWJ1dGVzIiBtaXNzaW5nCitQQVNTIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRDb250ZXh0QXR0cmlidXRlcygpCiBQ
QVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzYXZlKCkK
IFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogb3BlcmF0aW9uIHJlc3Rv
cmUoKQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBvcGVyYXRpb24g
c2NhbGUodW5yZXN0cmljdGVkIGRvdWJsZSwgdW5yZXN0cmljdGVkIGRvdWJsZSkKQEAgLTM5NTEs
NyArMzk1MSw3IEBAIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZToKIFBB
U1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Yg
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKQogUEFTUyBT
dHJpbmdpZmljYXRpb24gb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29u
dGV4dCgiMmQiKQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiY2FudmFzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQotRkFJTCBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMi
KS5nZXRDb250ZXh0KCIyZCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZ2V0Q29udGV4dEF0dHJp
YnV0ZXMoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAi
Z2V0Q29udGV4dEF0dHJpYnV0ZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1Mg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImdldENv
bnRleHRBdHRyaWJ1dGVzKCkiIHdpdGggdGhlIHByb3BlciB0eXBlCiBQQVNTIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIp
LmdldENvbnRleHQoIjJkIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzYXZlKCkiIHdpdGggdGhl
IHByb3BlciB0eXBlCiBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJyZXN0b3JlKCkiIHdpdGggdGhlIHByb3BlciB0eXBlCiBQQVNTIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNh
bnZhcyIpLmdldENvbnRleHQoIjJkIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzY2FsZSh1bnJl
c3RyaWN0ZWQgZG91YmxlLCB1bnJlc3RyaWN0ZWQgZG91YmxlKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNzLmh0dHBzLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDI3NjcxNikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNzLmh0dHBzLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzg3NCw3ICszODc0LDcgQEAgUEFTUyBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOgogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CiBQQVNTIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKIFBBU1MgQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogYXR0cmlidXRlIGNhbnZhcwotRkFJTCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0Q29udGV4dEF0dHJpYnV0
ZXMoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNz
aW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJnZXRDb250ZXh0QXR0
cmlidXRlcyIgbWlzc2luZworUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNl
OiBvcGVyYXRpb24gZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKQogUEFTUyBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2F2ZSgpCiBQQVNTIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRCBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZXN0b3JlKCkKIFBBU1MgQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogb3BlcmF0aW9uIHNjYWxlKHVucmVzdHJpY3RlZCBk
b3VibGUsIHVucmVzdHJpY3RlZCBkb3VibGUpCkBAIC0zOTUxLDcgKzM5NTEsNyBAQCBQQVNTIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6CiBQQVNTIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikKIFBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikKIFBBU1MgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
Y2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNhbnZhcyIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUKLUZBSUwgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVy
ZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImdldENvbnRleHRBdHRyaWJ1dGVzKCkiIHdpdGggdGhlIHBy
b3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImdldENvbnRleHRBdHRyaWJ1dGVz
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRl
eHQoIjJkIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJnZXRDb250ZXh0QXR0cmlidXRlcygpIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJm
YWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2F2ZSgpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogUEFTUyBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVzdG9y
ZSgpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQg
aW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIy
ZCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2NhbGUodW5yZXN0cmljdGVkIGRvdWJsZSwgdW5y
ZXN0cmljdGVkIGRvdWJsZSkiIHdpdGggdGhlIHByb3BlciB0eXBlCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS93cGUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9p
ZGxoYXJuZXNzLmh0dHBzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS93cGUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxo
YXJuZXNzLmh0dHBzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjc2NzE2KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd3BlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20v
aWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTM4NzQsNyAr
Mzg3NCw3IEBAIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZToKIFBBU1Mg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVz
IHByb3BlcnR5CiBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBjYW52YXMKLUZBSUwgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogb3Bl
cmF0aW9uIGdldENvbnRleHRBdHRyaWJ1dGVzKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiZ2V0Q29udGV4dEF0dHJpYnV0ZXMiIG1pc3NpbmcKK1BBU1MgQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogb3BlcmF0aW9uIGdldENvbnRleHRBdHRyaWJ1dGVz
KCkKIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogb3BlcmF0aW9uIHNh
dmUoKQogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBvcGVyYXRpb24g
cmVzdG9yZSgpCiBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBzY2FsZSh1bnJlc3RyaWN0ZWQgZG91YmxlLCB1bnJlc3RyaWN0ZWQgZG91YmxlKQpAQCAt
Mzk1MSw3ICszOTUxLDcgQEAgUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNl
OgogUEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFj
ZSBvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIpCiBQ
QVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5n
ZXRDb250ZXh0KCIyZCIpCiBQQVNTIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJjYW52YXMiIHdpdGggdGhlIHByb3BlciB0eXBlCi1GQUlMIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNh
bnZhcyIpLmdldENvbnRleHQoIjJkIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJnZXRDb250ZXh0
QXR0cmlidXRlcygpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3Bl
cnR5ICJnZXRDb250ZXh0QXR0cmlidXRlcyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgor
UEFTUyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
Z2V0Q29udGV4dEF0dHJpYnV0ZXMoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKIFBBU1MgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2Fu
dmFzIikuZ2V0Q29udGV4dCgiMmQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNhdmUoKSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUKIFBBU1MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFj
ZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgInJlc3RvcmUoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKIFBBU1Mg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNjYWxl
KHVucmVzdHJpY3RlZCBkb3VibGUsIHVucmVzdHJpY3RlZCBkb3VibGUpIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>