<?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>135958</bug_id>
          
          <creation_ts>2014-08-14 15:34:18 -0700</creation_ts>
          <short_desc>CSS JIT: compile the :empty pseudo class</short_desc>
          <delta_ts>2014-08-14 21:07:14 -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>New Bugs</component>
          <version>528+ (Nightly build)</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1029239</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-08-14 15:34:18 -0700</bug_when>
    <thetext>CSS JIT: compile the :empty pseudo class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029241</commentid>
    <comment_count>1</comment_count>
      <attachid>236629</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-08-14 15:36:29 -0700</bug_when>
    <thetext>Created attachment 236629
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029242</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-14 15:38:32 -0700</bug_when>
    <thetext>Attachment 236629 did not pass style-queue:


ERROR: Source/WebCore/cssjit/SelectorCompiler.cpp:2527:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/cssjit/SelectorCompiler.cpp:2542:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 2 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029299</commentid>
    <comment_count>3</comment_count>
      <attachid>236629</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-08-14 21:00:42 -0700</bug_when>
    <thetext>Comment on attachment 236629
Patch

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

r=me

&gt; Source/WebCore/cssjit/SelectorCompiler.cpp:2465
&gt; +static void jumpIfElementIsNotEmpty(Assembler&amp; assembler, RegisterAllocator &amp;registerAllocator, Assembler::JumpList&amp; notEmptyCases, Assembler::RegisterID element)

RegisterAllocator&amp; (&amp; placement)

&gt; Source/WebCore/cssjit/SelectorCompiler.cpp:2515
&gt; +    if (m_selectorContext == SelectorContext::QuerySelector) {
&gt; +        jumpIfElementIsNotEmpty(m_assembler, m_registerAllocator, failureCases, elementAddressRegister);
&gt; +        return;
&gt; +    }

The querySelector path is so nice and tidy.
Is the affected-by-empty bit optimization really necessary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029300</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-08-14 21:04:50 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Source/WebCore/cssjit/SelectorCompiler.cpp:2515
&gt; &gt; +    if (m_selectorContext == SelectorContext::QuerySelector) {
&gt; &gt; +        jumpIfElementIsNotEmpty(m_assembler, m_registerAllocator, failureCases, elementAddressRegister);
&gt; &gt; +        return;
&gt; &gt; +    }
&gt; 
&gt; The querySelector path is so nice and tidy.
&gt; Is the affected-by-empty bit optimization really necessary?

Today the flag avoid some style recalc when updating the tree.

I suspect that flag is the cause of the bug, I will look into it in the follow up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029301</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-08-14 21:07:14 -0700</bug_when>
    <thetext>Committed r172619: &lt;http://trac.webkit.org/changeset/172619&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236629</attachid>
            <date>2014-08-14 15:36:29 -0700</date>
            <delta_ts>2014-08-14 21:00:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135958-20140814153604.patch</filename>
            <type>text/plain</type>
            <size>45442</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyNDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdlZTMwMWJjZjk3MDk5NDVjYzk1MWM1
MjQ1NDI0YjQ2ZTQyMDNhNzAuLjY1YjcxZTIyNWZmMWM5ZThhM2ZhYTUzMTYzNjhiYjU0MDYzNDM4
MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDgtMTQgIEJlbmphbWluIFBvdWxhaW4gIDxi
ZW5qYW1pbkB3ZWJraXQub3JnPgorCisgICAgICAgIENTUyBKSVQ6IGNvbXBpbGUgdGhlIDplbXB0
eSBwc2V1ZG8gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzNTk1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5oOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBs
OjpsZW5ndGhNZW1vcnlPZmZzZXQpOgorCiAyMDE0LTA4LTExICBBbmR5IEVzdGVzICA8YWVzdGVz
QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBHZXQgcmlkIG9mIGlPUy54Y2NvbmZpZwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDM2NmJmZDVmNzFiYmI0MjVlZWVjZWI0OGYzM2YzMjYyMTM1Y2JjZjcuLjgyZTA0
OWQzN2QzNDQ1MDk4NDQxNjg2MWI4MTI0ZWNhOTc4OTQ3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzMiBAQAorMjAxNC0wOC0xNCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgQ1NTIEpJVDogY29tcGlsZSB0aGUgOmVtcHR5IHBzZXVkbyBjbGFzcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1OTU4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29tcGlsZSA6
ZW1wdHksIG5vdGhpbmcgZmFuY3kuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qvc2VsZWN0b3JzL2Vt
cHR5LWJhc2ljcy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3NlbGVjdG9ycy9lbXB0eS1sb25n
LWFkamFjZW50LWJhY2t0cmFja2luZy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3NlbGVjdG9y
cy9lbXB0eS1hZGphY2VudC1zdHlsZS11cGRhdGUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9z
ZWxlY3RvcnMvZW1wdHktc3R5bGUtdXBkYXRlLmh0bWwKKworICAgICAgICAqIGNzc2ppdC9TZWxl
Y3RvckNvbXBpbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OmFk
ZFBzZXVkb0NsYXNzVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpT
ZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudE1hdGNoaW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6Omp1bXBJZkVsZW1lbnRJc05vdEVtcHR5KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OnNldEVsZW1lbnRTdHlsZUlzQWZmZWN0
ZWRCeUVtcHR5KToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OnNldEVsZW1l
bnRTdHlsZUZyb21Db250ZXh0SXNBZmZlY3RlZEJ5RW1wdHlBbmRVcGRhdGVSZW5kZXJTdHlsZUlm
TmVjZXNzYXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OnNldEVsZW1l
bnRTdHlsZUlzQWZmZWN0ZWRCeUVtcHR5QW5kVXBkYXRlUmVuZGVyU3R5bGVJZk5lY2Vzc2FyeSk6
CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpTZWxlY3RvckNvZGVHZW5lcmF0
b3I6OmdlbmVyYXRlRWxlbWVudElzRW1wdHkpOgorICAgICAgICAqIGRvbS9DaGFyYWN0ZXJEYXRh
Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpkYXRhTWVtb3J5T2Zmc2V0KToK
KyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udGFp
bmVyTm9kZTo6Zmlyc3RDaGlsZE1lbW9yeU9mZnNldCk6CisgICAgICAgICogZG9tL05vZGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmZsYWdJc1RleHQpOgorCiAyMDE0LTA4LTExICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBHZXQgcmlkIG9mIGlP
Uy54Y2NvbmZpZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgg
Yi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAppbmRleCAxODc0YTRiZjZmYWEzYTVk
ZDkwODRmZDRhYmZkYTEzMWE0NTBlMjQyLi44ZjY5NWI0ODBjNmZiZDg3NzI1YzExMzY2NjY2ZjVj
NDY1MzQyM2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaApAQCAtNDEyLDYgKzQxMiw3IEBA
IHB1YmxpYzoKICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFBhc3NSZWY8U3RyaW5n
SW1wbD4gYWRvcHQoU3RyaW5nQnVmZmVyPExDaGFyPiYpOwogCiAgICAgdW5zaWduZWQgbGVuZ3Ro
KCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KKyAgICBzdGF0aWMgcHRyZGlmZl90IGxlbmd0
aE1lbW9yeU9mZnNldCgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihTdHJpbmdJbXBsLCBtX2xl
bmd0aCk7IH0KICAgICBib29sIGlzOEJpdCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzaEFuZEZsYWdz
ICYgc19oYXNoRmxhZzhCaXRCdWZmZXI7IH0KIAogICAgIEFMV0FZU19JTkxJTkUgY29uc3QgTENo
YXIqIGNoYXJhY3RlcnM4KCkgY29uc3QgeyBBU1NFUlQoaXM4Qml0KCkpOyByZXR1cm4gbV9kYXRh
ODsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCmluZGV4IGNh
OTZiYTQ4MDQ2YTMxYTQ4NmNiMDRjMzFjNDA4ZmI4YjQ4MGE5OWMuLmE2YWJlNTBiOTg3NzY3ZjY4
NzI5MzYxYzNhNjFmY2M0YWMyZmQyMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzc2pp
dC9TZWxlY3RvckNvbXBpbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0
b3JDb21waWxlci5jcHAKQEAgLTIzOCw2ICsyMzgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZ2Vu
ZXJhdGVFbGVtZW50RnVuY3Rpb25DYWxsVGVzdChBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWlsdXJl
Q2FzZXMsIEpTQzo6RnVuY3Rpb25QdHIpOwogICAgIHZvaWQgZ2VuZXJhdGVDb250ZXh0RnVuY3Rp
b25DYWxsVGVzdChBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWlsdXJlQ2FzZXMsIEpTQzo6RnVuY3Rp
b25QdHIpOwogICAgIHZvaWQgZ2VuZXJhdGVFbGVtZW50SXNBY3RpdmUoQXNzZW1ibGVyOjpKdW1w
TGlzdCYgZmFpbHVyZUNhc2VzLCBjb25zdCBTZWxlY3RvckZyYWdtZW50Jik7CisgICAgdm9pZCBn
ZW5lcmF0ZUVsZW1lbnRJc0VtcHR5KEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywg
Y29uc3QgU2VsZWN0b3JGcmFnbWVudCYpOwogICAgIHZvaWQgZ2VuZXJhdGVFbGVtZW50SXNGaXJz
dENoaWxkKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgU2VsZWN0b3JG
cmFnbWVudCYpOwogICAgIHZvaWQgZ2VuZXJhdGVFbGVtZW50SXNIb3ZlcmVkKEFzc2VtYmxlcjo6
SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgU2VsZWN0b3JGcmFnbWVudCYpOwogICAgIHZv
aWQgZ2VuZXJhdGVFbGVtZW50SXNJbkxhbmd1YWdlKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1
cmVDYXNlcywgY29uc3QgQXRvbWljU3RyaW5nJik7CkBAIC00OTcsNyArNDk4LDYgQEAgc3RhdGlj
IGlubGluZSBGdW5jdGlvblR5cGUgYWRkUHNldWRvQ2xhc3NUeXBlKGNvbnN0IENTU1NlbGVjdG9y
JiBzZWxlY3RvciwgU2VsZWMKICAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6Q2Fubm90TWF0
Y2hBbnl0aGluZzsKIAogICAgIC8vIEZJWE1FOiBDb21waWxlIHRoZXNlIHBzZXVkb2NsYXNzZXMs
IHRvbyEKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0VtcHR5OgogICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzRmlyc3RPZlR5cGU6CiAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6UHNldWRvQ2xhc3NMYXN0T2ZUeXBlOgogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0Ns
YXNzT25seU9mVHlwZToKQEAgLTUyOSw2ICs1MjksNyBAQCBzdGF0aWMgaW5saW5lIEZ1bmN0aW9u
VHlwZSBhZGRQc2V1ZG9DbGFzc1R5cGUoY29uc3QgQ1NTU2VsZWN0b3ImIHNlbGVjdG9yLCBTZWxl
YwogICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTZWxlY3RvckNoZWNrZXJXaXRoQ2hlY2tp
bmdDb250ZXh0OwogCiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NBY3RpdmU6Cisg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NFbXB0eToKICAgICBjYXNlIENTU1NlbGVj
dG9yOjpQc2V1ZG9DbGFzc0ZpcnN0Q2hpbGQ6CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRv
Q2xhc3NIb3ZlcjoKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0xhc3RDaGlsZDoK
QEAgLTE5NjMsNiArMTk2NCw4IEBAIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0
ZUVsZW1lbnRNYXRjaGluZyhBc3NlbWJsZXI6Okp1bXBMaXN0JiBtYXRjaGluCiAKICAgICBpZiAo
ZnJhZ21lbnQucHNldWRvQ2xhc3Nlcy5jb250YWlucyhDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NB
Y3RpdmUpKQogICAgICAgICBnZW5lcmF0ZUVsZW1lbnRJc0FjdGl2ZShtYXRjaGluZ1Bvc3RUYWdO
YW1lRmFpbHVyZUNhc2VzLCBmcmFnbWVudCk7CisgICAgaWYgKGZyYWdtZW50LnBzZXVkb0NsYXNz
ZXMuY29udGFpbnMoQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzRW1wdHkpKQorICAgICAgICBnZW5l
cmF0ZUVsZW1lbnRJc0VtcHR5KG1hdGNoaW5nUG9zdFRhZ05hbWVGYWlsdXJlQ2FzZXMsIGZyYWdt
ZW50KTsKICAgICBpZiAoZnJhZ21lbnQucHNldWRvQ2xhc3Nlcy5jb250YWlucyhDU1NTZWxlY3Rv
cjo6UHNldWRvQ2xhc3NIb3ZlcikpCiAgICAgICAgIGdlbmVyYXRlRWxlbWVudElzSG92ZXJlZCht
YXRjaGluZ1Bvc3RUYWdOYW1lRmFpbHVyZUNhc2VzLCBmcmFnbWVudCk7CiAgICAgaWYgKGZyYWdt
ZW50LnBzZXVkb0NsYXNzZXMuY29udGFpbnMoQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzT25seUNo
aWxkKSkKQEAgLTI0NTksNiArMjQ2Miw5NyBAQCB2b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6
Z2VuZXJhdGVFbGVtZW50SXNBY3RpdmUoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyZQogICAg
IH0KIH0KIAorc3RhdGljIHZvaWQganVtcElmRWxlbWVudElzTm90RW1wdHkoQXNzZW1ibGVyJiBh
c3NlbWJsZXIsIFJlZ2lzdGVyQWxsb2NhdG9yICZyZWdpc3RlckFsbG9jYXRvciwgQXNzZW1ibGVy
OjpKdW1wTGlzdCYgbm90RW1wdHlDYXNlcywgQXNzZW1ibGVyOjpSZWdpc3RlcklEIGVsZW1lbnQp
Cit7CisgICAgTG9jYWxSZWdpc3RlciBjdXJyZW50Q2hpbGQocmVnaXN0ZXJBbGxvY2F0b3IpOwor
ICAgIGFzc2VtYmxlci5sb2FkUHRyKEFzc2VtYmxlcjo6QWRkcmVzcyhlbGVtZW50LCBDb250YWlu
ZXJOb2RlOjpmaXJzdENoaWxkTWVtb3J5T2Zmc2V0KCkpLCBjdXJyZW50Q2hpbGQpOworCisgICAg
QXNzZW1ibGVyOjpMYWJlbCBsb29wU3RhcnQoYXNzZW1ibGVyLmxhYmVsKCkpOworICAgIEFzc2Vt
Ymxlcjo6SnVtcCBub01vcmVDaGlsZHJlbiA9IGFzc2VtYmxlci5icmFuY2hUZXN0UHRyKEFzc2Vt
Ymxlcjo6WmVybywgY3VycmVudENoaWxkKTsKKworICAgIG5vdEVtcHR5Q2FzZXMuYXBwZW5kKHRl
c3RJc0VsZW1lbnRGbGFnT25Ob2RlKEFzc2VtYmxlcjo6Tm9uWmVybywgYXNzZW1ibGVyLCBjdXJy
ZW50Q2hpbGQpKTsKKworICAgIHsKKyAgICAgICAgQXNzZW1ibGVyOjpKdW1wIHNraXBUZXh0Tm9k
ZUNoZWNrID0gYXNzZW1ibGVyLmJyYW5jaFRlc3QzMihBc3NlbWJsZXI6Olplcm8sIEFzc2VtYmxl
cjo6QWRkcmVzcyhjdXJyZW50Q2hpbGQsIE5vZGU6Om5vZGVGbGFnc01lbW9yeU9mZnNldCgpKSwg
QXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoTm9kZTo6ZmxhZ0lzVGV4dCgpKSk7CisKKyAgICAgICAg
TG9jYWxSZWdpc3RlciB0ZXh0U3RyaW5nSW1wbChyZWdpc3RlckFsbG9jYXRvcik7CisgICAgICAg
IGFzc2VtYmxlci5sb2FkUHRyKEFzc2VtYmxlcjo6QWRkcmVzcyhjdXJyZW50Q2hpbGQsIENoYXJh
Y3RlckRhdGE6OmRhdGFNZW1vcnlPZmZzZXQoKSksIHRleHRTdHJpbmdJbXBsKTsKKyAgICAgICAg
bm90RW1wdHlDYXNlcy5hcHBlbmQoYXNzZW1ibGVyLmJyYW5jaFRlc3QzMihBc3NlbWJsZXI6Ok5v
blplcm8sIEFzc2VtYmxlcjo6QWRkcmVzcyh0ZXh0U3RyaW5nSW1wbCwgU3RyaW5nSW1wbDo6bGVu
Z3RoTWVtb3J5T2Zmc2V0KCkpKSk7CisKKyAgICAgICAgc2tpcFRleHROb2RlQ2hlY2subGluaygm
YXNzZW1ibGVyKTsKKyAgICB9CisKKyAgICBhc3NlbWJsZXIubG9hZFB0cihBc3NlbWJsZXI6OkFk
ZHJlc3MoY3VycmVudENoaWxkLCBOb2RlOjpuZXh0U2libGluZ01lbW9yeU9mZnNldCgpKSwgY3Vy
cmVudENoaWxkKTsKKyAgICBhc3NlbWJsZXIuanVtcCgpLmxpbmtUbyhsb29wU3RhcnQsICZhc3Nl
bWJsZXIpOworCisgICAgbm9Nb3JlQ2hpbGRyZW4ubGluaygmYXNzZW1ibGVyKTsKK30KKworc3Rh
dGljIHZvaWQgc2V0RWxlbWVudFN0eWxlSXNBZmZlY3RlZEJ5RW1wdHkoRWxlbWVudCogZWxlbWVu
dCkKK3sKKyAgICBlbGVtZW50LT5zZXRTdHlsZUFmZmVjdGVkQnlFbXB0eSgpOworfQorCitzdGF0
aWMgdm9pZCBzZXRFbGVtZW50U3R5bGVGcm9tQ29udGV4dElzQWZmZWN0ZWRCeUVtcHR5QW5kVXBk
YXRlUmVuZGVyU3R5bGVJZk5lY2Vzc2FyeShDaGVja2luZ0NvbnRleHQqIGNvbnRleHQsIGJvb2wg
aXNFbXB0eSkKK3sKKyAgICBBU1NFUlQoY29udGV4dC0+ZWxlbWVudFN0eWxlKTsKKyAgICBjb250
ZXh0LT5lbGVtZW50U3R5bGUtPnNldEVtcHR5U3RhdGUoaXNFbXB0eSk7Cit9CisKK3N0YXRpYyB2
b2lkIHNldEVsZW1lbnRTdHlsZUlzQWZmZWN0ZWRCeUVtcHR5QW5kVXBkYXRlUmVuZGVyU3R5bGVJ
Zk5lY2Vzc2FyeShFbGVtZW50KiBlbGVtZW50LCBib29sIGlzRW1wdHkpCit7CisgICAgZWxlbWVu
dC0+c2V0U3R5bGVBZmZlY3RlZEJ5RW1wdHkoKTsKKworICAgIGlmIChlbGVtZW50LT5yZW5kZXJT
dHlsZSgpICYmIChlbGVtZW50LT5kb2N1bWVudCgpLnN0eWxlU2hlZXRDb2xsZWN0aW9uKCkudXNl
c1NpYmxpbmdSdWxlcygpIHx8IGVsZW1lbnQtPnJlbmRlclN0eWxlKCktPnVuaXF1ZSgpKSkKKyAg
ICAgICAgZWxlbWVudC0+cmVuZGVyU3R5bGUoKS0+c2V0RW1wdHlTdGF0ZShpc0VtcHR5KTsKK30K
Kwordm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudElzRW1wdHkoQXNz
ZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyZUNhc2VzLCBjb25zdCBTZWxlY3RvckZyYWdtZW50JiBm
cmFnbWVudCkKK3sKKyAgICBpZiAobV9zZWxlY3RvckNvbnRleHQgPT0gU2VsZWN0b3JDb250ZXh0
OjpRdWVyeVNlbGVjdG9yKSB7CisgICAgICAgIGp1bXBJZkVsZW1lbnRJc05vdEVtcHR5KG1fYXNz
ZW1ibGVyLCBtX3JlZ2lzdGVyQWxsb2NhdG9yLCBmYWlsdXJlQ2FzZXMsIGVsZW1lbnRBZGRyZXNz
UmVnaXN0ZXIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgTG9jYWxSZWdpc3Rlcldp
dGhQcmVmZXJlbmNlIGlzRW1wdHlSZXN1bHRzKG1fcmVnaXN0ZXJBbGxvY2F0b3IsIEpTQzo6R1BS
SW5mbzo6YXJndW1lbnRHUFIxKTsKKyAgICBtX2Fzc2VtYmxlci5tb3ZlKEFzc2VtYmxlcjo6VHJ1
c3RlZEltbTMyKDApLCBpc0VtcHR5UmVzdWx0cyk7CisKKyAgICBBc3NlbWJsZXI6Okp1bXBMaXN0
IG5vdEVtcHR5OworICAgIGp1bXBJZkVsZW1lbnRJc05vdEVtcHR5KG1fYXNzZW1ibGVyLCBtX3Jl
Z2lzdGVyQWxsb2NhdG9yLCBub3RFbXB0eSwgZWxlbWVudEFkZHJlc3NSZWdpc3Rlcik7CisgICAg
bV9hc3NlbWJsZXIubW92ZShBc3NlbWJsZXI6OlRydXN0ZWRJbW0zMigxKSwgaXNFbXB0eVJlc3Vs
dHMpOworICAgIG5vdEVtcHR5LmxpbmsoJm1fYXNzZW1ibGVyKTsKKworICAgIEFzc2VtYmxlcjo6
SnVtcCBza2lwTWFya2luZzsKKyAgICBpZiAoc2hvdWxkVXNlUmVuZGVyU3R5bGVGcm9tQ2hlY2tp
bmdDb250ZXh0KG1fc2VsZWN0b3JDb250ZXh0LCBmcmFnbWVudCkpIHsKKyAgICAgICAgeworICAg
ICAgICAgICAgTG9jYWxSZWdpc3RlciBjaGVja2luZ0NvbnRleHQobV9yZWdpc3RlckFsbG9jYXRv
cik7CisgICAgICAgICAgICBza2lwTWFya2luZyA9IGp1bXBJZk5vdFJlc29sdmluZ1N0eWxlKGNo
ZWNraW5nQ29udGV4dCk7CisKKyAgICAgICAgICAgIEZ1bmN0aW9uQ2FsbCBmdW5jdGlvbkNhbGwo
bV9hc3NlbWJsZXIsIG1fcmVnaXN0ZXJBbGxvY2F0b3IsIG1fc3RhY2tBbGxvY2F0b3IsIG1fZnVu
Y3Rpb25DYWxscyk7CisgICAgICAgICAgICBmdW5jdGlvbkNhbGwuc2V0RnVuY3Rpb25BZGRyZXNz
KHNldEVsZW1lbnRTdHlsZUZyb21Db250ZXh0SXNBZmZlY3RlZEJ5RW1wdHlBbmRVcGRhdGVSZW5k
ZXJTdHlsZUlmTmVjZXNzYXJ5KTsKKyAgICAgICAgICAgIGZ1bmN0aW9uQ2FsbC5zZXRUd29Bcmd1
bWVudHMoY2hlY2tpbmdDb250ZXh0LCBpc0VtcHR5UmVzdWx0cyk7CisgICAgICAgICAgICBmdW5j
dGlvbkNhbGwuY2FsbCgpOworICAgICAgICB9CisKKyAgICAgICAgRnVuY3Rpb25DYWxsIGZ1bmN0
aW9uQ2FsbChtX2Fzc2VtYmxlciwgbV9yZWdpc3RlckFsbG9jYXRvciwgbV9zdGFja0FsbG9jYXRv
ciwgbV9mdW5jdGlvbkNhbGxzKTsKKyAgICAgICAgZnVuY3Rpb25DYWxsLnNldEZ1bmN0aW9uQWRk
cmVzcyhzZXRFbGVtZW50U3R5bGVJc0FmZmVjdGVkQnlFbXB0eSk7CisgICAgICAgIGZ1bmN0aW9u
Q2FsbC5zZXRPbmVBcmd1bWVudChlbGVtZW50QWRkcmVzc1JlZ2lzdGVyKTsKKyAgICAgICAgZnVu
Y3Rpb25DYWxsLmNhbGwoKTsKKyAgICB9IGVsc2UgeworICAgICAgICB7CisgICAgICAgICAgICBM
b2NhbFJlZ2lzdGVyIGNoZWNraW5nQ29udGV4dChtX3JlZ2lzdGVyQWxsb2NhdG9yKTsKKyAgICAg
ICAgICAgIHNraXBNYXJraW5nID0ganVtcElmTm90UmVzb2x2aW5nU3R5bGUoY2hlY2tpbmdDb250
ZXh0KTsKKyAgICAgICAgfQorICAgICAgICBGdW5jdGlvbkNhbGwgZnVuY3Rpb25DYWxsKG1fYXNz
ZW1ibGVyLCBtX3JlZ2lzdGVyQWxsb2NhdG9yLCBtX3N0YWNrQWxsb2NhdG9yLCBtX2Z1bmN0aW9u
Q2FsbHMpOworICAgICAgICBmdW5jdGlvbkNhbGwuc2V0RnVuY3Rpb25BZGRyZXNzKHNldEVsZW1l
bnRTdHlsZUlzQWZmZWN0ZWRCeUVtcHR5QW5kVXBkYXRlUmVuZGVyU3R5bGVJZk5lY2Vzc2FyeSk7
CisgICAgICAgIGZ1bmN0aW9uQ2FsbC5zZXRUd29Bcmd1bWVudHMoZWxlbWVudEFkZHJlc3NSZWdp
c3RlciwgaXNFbXB0eVJlc3VsdHMpOworICAgICAgICBmdW5jdGlvbkNhbGwuY2FsbCgpOworICAg
IH0KKyAgICBza2lwTWFya2luZy5saW5rKCZtX2Fzc2VtYmxlcik7CisKKyAgICBmYWlsdXJlQ2Fz
ZXMuYXBwZW5kKG1fYXNzZW1ibGVyLmJyYW5jaFRlc3QzMihBc3NlbWJsZXI6Olplcm8sIGlzRW1w
dHlSZXN1bHRzKSk7Cit9CisKIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZUVs
ZW1lbnRJc0ZpcnN0Q2hpbGQoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyZUNhc2VzLCBjb25z
dCBTZWxlY3RvckZyYWdtZW50JiBmcmFnbWVudCkKIHsKICAgICBpZiAobV9zZWxlY3RvckNvbnRl
eHQgPT0gU2VsZWN0b3JDb250ZXh0OjpRdWVyeVNlbGVjdG9yKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJh
Y3RlckRhdGEuaAppbmRleCBkNjExYzUwOTI4NDliMGIzMTNkNWUwODFjMWFiZjJiOWE4OTU4ZTFl
Li43NmJiM2RkOTA2OTQ0ZGY3NWZmZmRkODgwZTEwMmE1NDIyNWM3ZjE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9DaGFyYWN0ZXJEYXRhLmgKQEAgLTMxLDYgKzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgQ2hhcmFjdGVyRGF0YSA6IHB1YmxpYyBOb2RlIHsKIHB1YmxpYzoKICAgICBTdHJpbmcg
ZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQorICAgIHN0YXRpYyBwdHJkaWZmX3QgZGF0
YU1lbW9yeU9mZnNldCgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihDaGFyYWN0ZXJEYXRhLCBt
X2RhdGEpOyB9CisKICAgICB2b2lkIHNldERhdGEoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5sZW5ndGgo
KTsgfQogICAgIFN0cmluZyBzdWJzdHJpbmdEYXRhKHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQg
Y291bnQsIEV4Y2VwdGlvbkNvZGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9D
b250YWluZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCmluZGV4
IGExM2QwN2E0Yjk3ZWIxMDViNGZlMWVkNjc2ZWEyMzhhNjYzYzljN2IuLjIyNDBjMzExOGYyMTIx
MGNiNzQ1ZDA4NDM2Nzg4NmNkNWNmNjNhY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Db250YWluZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUu
aApAQCAtODQsNiArODQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+Q29udGFpbmVyTm9kZSgp
OwogCiAgICAgTm9kZSogZmlyc3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmlyc3RDaGlsZDsg
fQorICAgIHN0YXRpYyBwdHJkaWZmX3QgZmlyc3RDaGlsZE1lbW9yeU9mZnNldCgpIHsgcmV0dXJu
IE9CSkVDVF9PRkZTRVRPRihDb250YWluZXJOb2RlLCBtX2ZpcnN0Q2hpbGQpOyB9CiAgICAgTm9k
ZSogbGFzdENoaWxkKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0Q2hpbGQ7IH0KICAgICBib29sIGhh
c0NoaWxkTm9kZXMoKSBjb25zdCB7IHJldHVybiBtX2ZpcnN0Q2hpbGQ7IH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgK
aW5kZXggMTk1ZTViMjk3MDEwYThlNWRlZmM1ODY0M2I3MjVjMmVjYjA2ODI1Zi4uNjA2ODQzNjI2
MjAzMzczMzEwMGU5MWU0YzQ5ZWU4NTdhMTE3ODM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC01NzIsNiAr
NTcyLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShDU1NfU0VMRUNUT1JfSklUKQogICAgIHN0YXRp
YyBwdHJkaWZmX3Qgbm9kZUZsYWdzTWVtb3J5T2Zmc2V0KCkgeyByZXR1cm4gT0JKRUNUX09GRlNF
VE9GKE5vZGUsIG1fbm9kZUZsYWdzKTsgfQogICAgIHN0YXRpYyBwdHJkaWZmX3QgcmFyZURhdGFN
ZW1vcnlPZmZzZXQoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoTm9kZSwgbV9kYXRhLm1fcmFy
ZURhdGEpOyB9CisgICAgc3RhdGljIGludDMyX3QgZmxhZ0lzVGV4dCgpIHsgcmV0dXJuIElzVGV4
dEZsYWc7IH0KICAgICBzdGF0aWMgaW50MzJfdCBmbGFnSXNFbGVtZW50KCkgeyByZXR1cm4gSXNF
bGVtZW50RmxhZzsgfQogICAgIHN0YXRpYyBpbnQzMl90IGZsYWdJc0hUTUwoKSB7IHJldHVybiBJ
c0hUTUxGbGFnOyB9CiAgICAgc3RhdGljIGludDMyX3QgZmxhZ0lzTGluaygpIHsgcmV0dXJuIElz
TGlua0ZsYWc7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBkZWZjZjhkODUyMjlmNWQwNzViNzc3MjdlYjY4NTRlOThlNDAz
YTM5Li4zYTdiZGQ2YzIyZWY2MDI1YjM4MGJiNTgwYmExMmU0OWM4YzM5OWI5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTQtMDgtMTQgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIENTUyBKSVQ6IGNvbXBpbGUgdGhlIDplbXB0eSBwc2V1ZG8gY2xh
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTk1
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBz
b21lIHRlc3QgY292ZXJhZ2UsIDplbXB0eSBoYWQgdmVyeSBsaXR0bGUgdGVzdGluZy4KKworICAg
ICAgICBUaGUgdGVzdCBlbXB0eS1hZGphY2VudC1zdHlsZS11cGRhdGUgZXhwb3NlIHNvbWUgcHJv
YmxlbXMgd2l0aCBzdHlsZSB1cGRhdGUsCisgICAgICAgIEkgd2lsbCBsb29rIGludG8gdGhlbSBz
ZXBhcmF0ZWx5LgorCisgICAgICAgICogZmFzdC9zZWxlY3RvcnMvZW1wdHktYWRqYWNlbnQtc3R5
bGUtdXBkYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zZWxlY3RvcnMv
ZW1wdHktYWRqYWNlbnQtc3R5bGUtdXBkYXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
c2VsZWN0b3JzL2VtcHR5LWJhc2ljcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3Qvc2VsZWN0b3JzL2VtcHR5LWJhc2ljcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Nl
bGVjdG9ycy9lbXB0eS1sb25nLWFkamFjZW50LWJhY2t0cmFja2luZy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2VtcHR5LWxvbmctYWRqYWNlbnQtYmFja3Ry
YWNraW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2VtcHR5LXN0eWxl
LXVwZGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2Vt
cHR5LXN0eWxlLXVwZGF0ZS5odG1sOiBBZGRlZC4KKwogMjAxNC0wOC0xMiAgRmFiaWVuIFZhbGzD
qWUgIDxmdmFsbGVlQGNvbm5lY3RlZC1sYWJzLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBw
bGF5YmFjayByYXRlIGlzIHJvdW5kZWQgdG8gaW50ZWdlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zZWxlY3RvcnMvZW1wdHktYWRqYWNlbnQtc3R5bGUtdXBkYXRlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LWFkamFjZW50LXN0eWxlLXVwZGF0
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NmZmJhMDkwNzJjYjg0NzNjYmIxMmJkMmY2N2M5
MWUzN2NhMDkwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3Jz
L2VtcHR5LWFkamFjZW50LXN0eWxlLXVwZGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMCBA
QAorVGVzdCB0aGUgc3R5bGUgd2l0aCBhIDplbXB0eSBwc2V1ZG8gY2xhc3MgdXNlZCBmb3IgYSBz
aWJsaW5nIG9mIHRoZSBzdHlsZWQgZWxlbWVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK0luaXRpYWwgc3RhdGUgaXMgZW10cHkuCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRoLXJlbmRlcmVyIikpLmJhY2tncm91bmRD
b2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3Ig
aXMgInJnYigxLCAyLCAzKSIKK0FkZGluZyBhIGNvbW1lbnQgZG9lcyBub3QgY2hhbmdlIHRoZSA6
ZW1wdHkgc3RhdGUuCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhcmdldC13aXRoLXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDEsIDIs
IDMpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJn
ZXQtd2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIK
K0FkZCBhbiBlbGVtZW50IGFzIGNoaWxkIG1ha2UgdXBkYXRlcyA6ZW1wdHkuCitGQUlMIGdldENv
bXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRoLXJlbmRlcmVy
IikpLmJhY2tncm91bmRDb2xvciBzaG91bGQgYmUgcmdiKDI1NSwgMjU1LCAyNTUpLiBXYXMgcmdi
KDEsIDIsIDMpLgorRkFJTCBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0YXJnZXQtd2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3Igc2hvdWxkIGJlIHJn
YigyNTUsIDI1NSwgMjU1KS4gV2FzIHJnYigxLCAyLCAzKS4KK0FkZGluZyBhbiBlbXB0eSB0ZXh0
IG5vZGUsIHRoaXMgaXMgc3RpbGwgbm90IGVtcHR5IGJlY2F1c2Ugb2YgdGhlIGVsZW1lbnQuCitG
QUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRo
LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBzaG91bGQgYmUgcmdiKDI1NSwgMjU1LCAyNTUp
LiBXYXMgcmdiKDEsIDIsIDMpLgorRkFJTCBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3Igc2hv
dWxkIGJlIHJnYigyNTUsIDI1NSwgMjU1KS4gV2FzIHJnYigxLCAyLCAzKS4KK1JlbW92aW5nIHRo
ZSBlbGVtZW50cyBwcmV2aW91c2x5IGFkZGVkIHNob3VsZCByZXN0b3JlIHRoZSA6ZW1wdHkgc3Rh
dGUuCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdl
dC13aXRoLXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFT
UyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aG91
dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK0FkZGluZyBh
IG5vbiBlbXB0eSB0ZXh0IG5vZGUgbWFrZXMgdGhlIHN0YXRlIG5vbiBlbXB0eS4KK0ZBSUwgZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0LXdpdGgtcmVuZGVy
ZXIiKSkuYmFja2dyb3VuZENvbG9yIHNob3VsZCBiZSByZ2IoMjU1LCAyNTUsIDI1NSkuIFdhcyBy
Z2IoMSwgMiwgMykuCitGQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhcmdldC13aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBzaG91bGQgYmUg
cmdiKDI1NSwgMjU1LCAyNTUpLiBXYXMgcmdiKDEsIDIsIDMpLgorUmVtb3ZpbmcgdGhlIGxhc3Qg
dGV4dCBjaGlsZCwgYmFjayB0byBiZWluZyBlbXB0eS4KK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0LXdpdGgtcmVuZGVyZXIiKSkuYmFja2dyb3Vu
ZENvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xv
ciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2Vt
cHR5LWFkamFjZW50LXN0eWxlLXVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3Rv
cnMvZW1wdHktYWRqYWNlbnQtc3R5bGUtdXBkYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmU2NmNmYzk3
NDBmMTA2NTMyODIxYTc5ZjdjZTI4N2JiMmIxN2Q5OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LWFkamFjZW50LXN0eWxlLXVwZGF0ZS5odG1sCkBA
IC0wLDAgKzEsNzMgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
dGFyZ2V0IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKK30KK3Rlc3RjYXNlOmVtcHR5
K3RhcmdldCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEsIDIsIDMpOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXY+CisgICAgICAgIDx0ZXN0Y2FzZSBpZD0id2l0
aC1yZW5kZXJlciI+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRhcmdldCBpZD0idGFyZ2V0LXdpdGgt
cmVuZGVyZXIiPjwvdGFyZ2V0PgorICAgIDwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6
bm9uZTsiPgorICAgICAgICA8dGVzdGNhc2UgaWQ9IndpdGhvdXQtcmVuZGVyZXIiPjwvdGVzdGNh
c2U+CisgICAgICAgIDx0YXJnZXQgaWQ9InRhcmdldC13aXRob3V0LXJlbmRlcmVyIj48L3Rhcmdl
dD4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCB0aGUg
c3R5bGUgd2l0aCBhIDplbXB0eSBwc2V1ZG8gY2xhc3MgdXNlZCBmb3IgYSBzaWJsaW5nIG9mIHRo
ZSBzdHlsZWQgZWxlbWVudC4nKTsKKwordmFyIHRlc3RDYXNlV2l0aFJlbmRlciA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ3aXRoLXJlbmRlcmVyIik7Cit2YXIgdGVzdENhc2VXaXRob3V0UmVu
ZGVyZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aG91dC1yZW5kZXJlciIpOworCitk
ZWJ1ZygiSW5pdGlhbCBzdGF0ZSBpcyBlbXRweS4iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0LXdpdGgtcmVu
ZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigxLCAyLCAzKScpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJn
ZXQtd2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7
CisKK2RlYnVnKCJBZGRpbmcgYSBjb21tZW50IGRvZXMgbm90IGNoYW5nZSB0aGUgOmVtcHR5IHN0
YXRlLiIpOwordGVzdENhc2VXaXRoUmVuZGVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUNv
bW1lbnQoIldlYktpdCEiKSk7Cit0ZXN0Q2FzZVdpdGhvdXRSZW5kZXJlci5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVDb21tZW50KCJXZWJLaXQhIikpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aC1y
ZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldC13aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMSwgMiwgMykn
KTsKKworZGVidWcoIkFkZCBhbiBlbGVtZW50IGFzIGNoaWxkIG1ha2UgdXBkYXRlcyA6ZW1wdHku
Iik7Cit2YXIgZWxlbWVudEZvckNhc2VXaXRoUmVuZGVyZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKK3ZhciBlbGVtZW50Rm9yQ2FzZVdpdGhvdXRSZW5kZXJlciA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwordGVzdENhc2VXaXRoUmVuZGVyLmFwcGVuZENoaWxkKGVs
ZW1lbnRGb3JDYXNlV2l0aFJlbmRlcmVyKTsKK3Rlc3RDYXNlV2l0aG91dFJlbmRlcmVyLmFwcGVu
ZENoaWxkKGVsZW1lbnRGb3JDYXNlV2l0aG91dFJlbmRlcmVyKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0LXdp
dGgtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigyNTUsIDI1NSwgMjU1KScpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQtd2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdi
KDI1NSwgMjU1LCAyNTUpJyk7CisKK2RlYnVnKCJBZGRpbmcgYW4gZW1wdHkgdGV4dCBub2RlLCB0
aGlzIGlzIHN0aWxsIG5vdCBlbXB0eSBiZWNhdXNlIG9mIHRoZSBlbGVtZW50LiIpOwordGVzdENh
c2VXaXRoUmVuZGVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcnKSk7Cit0
ZXN0Q2FzZVdpdGhvdXRSZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZSgnJykpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3In
LCAncmdiKDI1NSwgMjU1LCAyNTUpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRob3V0LXJlbmRlcmVy
IikpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMjU1LCAyNTUsIDI1NSknKTsKKworZGVidWcoIlJl
bW92aW5nIHRoZSBlbGVtZW50cyBwcmV2aW91c2x5IGFkZGVkIHNob3VsZCByZXN0b3JlIHRoZSA6
ZW1wdHkgc3RhdGUuIik7Cit0ZXN0Q2FzZVdpdGhSZW5kZXIucmVtb3ZlQ2hpbGQoZWxlbWVudEZv
ckNhc2VXaXRoUmVuZGVyZXIpOwordGVzdENhc2VXaXRob3V0UmVuZGVyZXIucmVtb3ZlQ2hpbGQo
ZWxlbWVudEZvckNhc2VXaXRob3V0UmVuZGVyZXIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aC1yZW5k
ZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdl
dC13aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMSwgMiwgMyknKTsK
KworZGVidWcoIkFkZGluZyBhIG5vbiBlbXB0eSB0ZXh0IG5vZGUgbWFrZXMgdGhlIHN0YXRlIG5v
biBlbXB0eS4iKTsKK3Rlc3RDYXNlV2l0aFJlbmRlci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgnV2ViS2l0IScpKTsKK3Rlc3RDYXNlV2l0aG91dFJlbmRlcmVyLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdXZWJLaXQhJykpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQt
d2l0aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDI1NSwgMjU1LCAyNTUpJyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldC13aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcicsICdy
Z2IoMjU1LCAyNTUsIDI1NSknKTsKKworZGVidWcoIlJlbW92aW5nIHRoZSBsYXN0IHRleHQgY2hp
bGQsIGJhY2sgdG8gYmVpbmcgZW1wdHkuIik7Cit0ZXN0Q2FzZVdpdGhSZW5kZXIucmVtb3ZlQ2hp
bGQodGVzdENhc2VXaXRoUmVuZGVyLmxhc3RDaGlsZCk7Cit0ZXN0Q2FzZVdpdGhvdXRSZW5kZXJl
ci5yZW1vdmVDaGlsZCh0ZXN0Q2FzZVdpdGhvdXRSZW5kZXJlci5sYXN0Q2hpbGQpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0YXJnZXQtd2l0aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMp
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRhcmdldC13aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcics
ICdyZ2IoMSwgMiwgMyknKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9zZWxlY3RvcnMvZW1wdHktYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LWJhc2ljcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDAwMWYyZmVlM2VkODBiNGQ5MmQ1ZDc4N2RiMjFlYjM0YjIyZTJiMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LWJhc2ljcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyMCBAQAorQ2hlY2sgdGhlIGJhc2ljIGZlYXR1cmVzIG9mIHRoZSAiOmVtcHR5
IiBwc2V1ZG8gY2xhc3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlOmVtcHR5IikubGVuZ3RoIGlzIDQKK1BB
U1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2U6ZW1wdHkiKVswXSBpcyBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgibm8tY29udGVudCIpCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoInRlc3RjYXNlOmVtcHR5IilbMV0gaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbW1lbnQiKQorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZTplbXB0
eSIpWzJdIGlzIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbXB0eS10ZXh0bm9kZXMiKQorUEFT
UyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZTplbXB0eSIpWzNdIGlzIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb21tZW50cy1hbmQtZW1wdHktdGV4dG5vZGVzIikKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm8tY29udGVudCIpKS5i
YWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29tbWVudCIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJn
YigxLCAyLCAzKSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZW1wdHktdGV4dG5vZGVzIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDEsIDIsIDMpIgor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb21tZW50cy1h
bmQtZW1wdHktdGV4dG5vZGVzIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDEsIDIsIDMpIgor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzcGFjZS1jaGFy
YWN0ZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVsZW1lbnQiKSkuYmFja2dy
b3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zZWxlY3RvcnMvZW1wdHktYmFzaWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9y
cy9lbXB0eS1iYXNpY3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzFjMWM2MzNiOTUxOTA2ZDEzOWRlZTk2
Y2I0MzBjMWU1MzllOWY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxl
Y3RvcnMvZW1wdHktYmFzaWNzLmh0bWwKQEAgLTAsMCArMSw2MyBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Cit0ZXN0Y2FzZSB7CisgICAgYmFja2dyb3VuZC1jb2xv
cjogd2hpdGU7Cit9Cit0ZXN0Y2FzZTplbXB0eSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
KDEsIDIsIDMpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgc3R5bGU9
ImRpc3BsYXk6bm9uZSI+CisgICAgICAgIDwhLS0gU3VjY2VzczogTm8gY29udGVudCAtLT4KKyAg
ICAgICAgPHRlc3RjYXNlIGlkPSJuby1jb250ZW50Ij48L3Rlc3RjYXNlPgorCisgICAgICAgIDwh
LS0gU3VjY2VzczogQ29tbWVudHMgYXJlIG5vdCBlbG1lbnQgLS0+CisgICAgICAgIDx0ZXN0Y2Fz
ZSBpZD0iY29tbWVudCI+PCEtLSBlbXB0eSAtLT48L3Rlc3RjYXNlPgorCisgICAgICAgIDwhLS0g
U3VjY2VzczogRW1wdHkgdGV4dCBub2RlIGFyZSBva2F5LiAtLT4KKyAgICAgICAgPHRlc3RjYXNl
IGlkPSJlbXB0eS10ZXh0bm9kZXMiPjwvdGVzdGNhc2U+CisKKyAgICAgICAgPCEtLSBTdWNjZXNz
OiBUaGUgdHdvIGFib3ZlLiAtLT4KKyAgICAgICAgPHRlc3RjYXNlIGlkPSJjb21tZW50cy1hbmQt
ZW1wdHktdGV4dG5vZGVzIj48L3Rlc3RjYXNlPgorCisgICAgICAgIDwhLS0gRmFpbHVyZTogTm9u
IGVtcHR5IHRleHQgbm9kZSwgdGhlcmUgaXMgYSBzcGFjZSBjaGFyYWN0ZXIuIC0tPgorICAgICAg
ICA8dGVzdGNhc2UgaWQ9InNwYWNlLWNoYXJhY3RlciI+IDwvdGVzdGNhc2U+CisKKyAgICAgICAg
PCEtLSBGYWlsdXJlOiB0aGUgPHNwYW4+IGVsZW1lbnQgaW5zaWRlIG1ha2VzIHRoZSBub2RlIG5v
bi1lbXB0eS4gLS0+CisgICAgICAgIDx0ZXN0Y2FzZSBpZD0iZWxlbWVudCI+PHNwYW4+PC9zcGFu
PjwvdGVzdGNhc2U+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
J0NoZWNrIHRoZSBiYXNpYyBmZWF0dXJlcyBvZiB0aGUgIjplbXB0eSIgcHNldWRvIGNsYXNzLicp
OworCit2YXIgZW1wdHlUZXh0bm9kZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW1wdHkt
dGV4dG5vZGVzIik7Citmb3IgKHZhciBpID0gMDsgaSA8IDEwOyArK2kpCisgICAgZW1wdHlUZXh0
bm9kZXMuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpKTsKKwordmFyIGNv
bW1lbnRzQW5kRW1wdHlUZXh0bm9kZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29tbWVu
dHMtYW5kLWVtcHR5LXRleHRub2RlcyIpOworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgKytpKSB7
CisgICAgY29tbWVudHNBbmRFbXB0eVRleHRub2Rlcy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgiIikpOworICAgIGNvbW1lbnRzQW5kRW1wdHlUZXh0bm9kZXMuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiV2ViS2l0ISIpKTsKK30KKworc2hvdWxkQmUoJ2Rv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlOmVtcHR5IikubGVuZ3RoJywgJzQnKTsK
K3Nob3VsZEJlKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZTplbXB0eSIpWzBd
JywgJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuby1jb250ZW50IiknKTsKK3Nob3VsZEJlKCdk
b2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZTplbXB0eSIpWzFdJywgJ2RvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb21tZW50IiknKTsKK3Nob3VsZEJlKCdkb2N1bWVudC5xdWVyeVNl
bGVjdG9yQWxsKCJ0ZXN0Y2FzZTplbXB0eSIpWzJdJywgJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbXB0eS10ZXh0bm9kZXMiKScpOworc2hvdWxkQmUoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoInRlc3RjYXNlOmVtcHR5IilbM10nLCAnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbW1l
bnRzLWFuZC1lbXB0eS10ZXh0bm9kZXMiKScpOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dl
dENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vLWNvbnRlbnQiKSkuYmFj
a2dyb3VuZENvbG9yJywgJ3JnYigxLCAyLCAzKScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb21tZW50IikpLmJhY2tn
cm91bmRDb2xvcicsICdyZ2IoMSwgMiwgMyknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW1wdHktdGV4dG5vZGVzIikp
LmJhY2tncm91bmRDb2xvcicsICdyZ2IoMSwgMiwgMyknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29tbWVudHMtYW5k
LWVtcHR5LXRleHRub2RlcyIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInNwYWNlLWNoYXJhY3RlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDI1NSwgMjU1
LCAyNTUpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVsZW1lbnQiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigyNTUs
IDI1NSwgMjU1KScpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LWxvbmctYWRqYWNlbnQtYmFja3RyYWNraW5nLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LWxvbmctYWRqYWNlbnQt
YmFja3RyYWNraW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzk0YWEzNzZiNDZhOGFlNzg1
Yjk4ODE5NTBkNThjMTJkNjY3NDUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9zZWxlY3RvcnMvZW1wdHktbG9uZy1hZGphY2VudC1iYWNrdHJhY2tpbmctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNzcgQEAKK1Rlc3QgYmFja3RyYWNraW5nIG9mIGEgbG9uZyBjaGFpbiBvZiA6
ZW1wdHkgc2libGluZ3MgdG8gY2F0Y2ggYW55IGlzc3VlIHdpdGggcmVnaXN0ZXIgYWxsb2NhdGlv
bi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgiOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVt
cHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1w
dHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eX46bm90KDplbXB0eSkiKS5sZW5n
dGggaXMgMworUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6ZW1wdHkrOmVtcHR5Kzpl
bXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVt
cHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1w
dHkrOmVtcHR5fjpub3QoOmVtcHR5KSIpWzBdIGlzIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
YXJnZXQxIikKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmVtcHR5KzplbXB0eSs6
ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5Kzpl
bXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVt
cHR5KzplbXB0eX46bm90KDplbXB0eSkiKVsxXSBpcyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0MiIpCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjplbXB0eSs6ZW1wdHkr
OmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6
ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5Kzpl
bXB0eSs6ZW1wdHl+Om5vdCg6ZW1wdHkpIilbMl0gaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldDMiKQorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6ZW1wdHkrOmVtcHR5
KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkr
OmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6
ZW1wdHkrOmVtcHR5fjpub3QoOmVtcHR5KT50YXJnZXQtY2hpbGQiKS5sZW5ndGggaXMgMQorUEFT
UyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkr
OmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6
ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5fjpu
b3QoOmVtcHR5KT50YXJnZXQtY2hpbGQiKVswXSBpcyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0NCIpCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlIikubGVu
Z3RoIGlzIDYxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs
bCgidGVzdGNhc2UiKVswXSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSki
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNh
c2UiKVsxXSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVsyXSku
YmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVszXSkuYmFja2dyb3Vu
ZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVs0XSkuYmFja2dyb3VuZENvbG9yIGlz
ICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVl
cnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVs1XSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1
LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3Rv
ckFsbCgidGVzdGNhc2UiKVs2XSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1
NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVz
dGNhc2UiKVs3XSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVs4
XSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVs5XSkuYmFja2dy
b3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVsxMF0pLmJhY2tncm91bmRDb2xv
ciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlIilbMTFdKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJn
YigyNTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5xdWVyeVNl
bGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWzEyXSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAy
NTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs
bCgidGVzdGNhc2UiKVsxM10pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUp
IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3Rj
YXNlIilbMTRdKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWzE1
XSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVsxNl0pLmJhY2tn
cm91bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlIilbMTddKS5iYWNrZ3JvdW5kQ29s
b3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWzE4XSkuYmFja2dyb3VuZENvbG9yIGlzICJy
Z2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgidGVzdGNhc2UiKVsxOV0pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwg
MjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoInRlc3RjYXNlIilbMjBdKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIp
WzIxXSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENv
bXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVsyMl0pLmJh
Y2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlIilbMjNdKS5iYWNrZ3JvdW5k
Q29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWzI0XSkuYmFja2dyb3VuZENvbG9yIGlz
ICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVl
cnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVsyNV0pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1
NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3JBbGwoInRlc3RjYXNlIilbMjZdKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwg
MjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0
ZXN0Y2FzZSIpWzI3XSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2Ui
KVsyOF0pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlIilbMjldKS5i
YWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWzMwXSkuYmFja2dyb3Vu
ZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVszMV0pLmJhY2tncm91bmRDb2xvciBp
cyAicmdiKDI1NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlIilbMzJdKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigy
NTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5xdWVyeVNlbGVj
dG9yQWxsKCJ0ZXN0Y2FzZSIpWzMzXSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUs
IDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
dGVzdGNhc2UiKVszNF0pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNl
IilbMzVdKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWzM2XSku
YmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVszN10pLmJhY2tncm91
bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlIilbMzhdKS5iYWNrZ3JvdW5kQ29sb3Ig
aXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5x
dWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWzM5XSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2Io
MjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxl
Y3RvckFsbCgidGVzdGNhc2UiKVs0MF0pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDEsIDIsIDMp
IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3Rj
YXNlIilbNDFdKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWzQy
XSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVs0M10pLmJhY2tn
cm91bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlIilbNDRdKS5iYWNrZ3JvdW5kQ29s
b3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWzQ1XSkuYmFja2dyb3VuZENvbG9yIGlzICJy
Z2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgidGVzdGNhc2UiKVs0Nl0pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwg
MjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoInRlc3RjYXNlIilbNDddKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1
KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0
Y2FzZSIpWzQ4XSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVs0
OV0pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlIilbNTBdKS5iYWNr
Z3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWzUxXSkuYmFja2dyb3VuZENv
bG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1l
bnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVs1Ml0pLmJhY2tncm91bmRDb2xvciBpcyAi
cmdiKDI1NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoInRlc3RjYXNlIilbNTNdKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUs
IDI1NSwgMjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCJ0ZXN0Y2FzZSIpWzU0XSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1
NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVz
dGNhc2UiKVs1NV0pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgorUEFT
UyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlIilb
NTZdKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWzU3XSkuYmFj
a2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidGVzdGNhc2UiKVs1OF0pLmJhY2tncm91bmRD
b2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRlc3RjYXNlIilbNTldKS5iYWNrZ3JvdW5kQ29sb3IgaXMg
InJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5xdWVy
eVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWzYwXSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMSwg
MiwgMykiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvZW1wdHktbG9uZy1hZGph
Y2VudC1iYWNrdHJhY2tpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5
LWxvbmctYWRqYWNlbnQtYmFja3RyYWNraW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWE5OTg0ZTgyZTc3
N2QwYTk2YjdlMGNkOWM0NWMwNzQ5MmI2MzUzYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LWxvbmctYWRqYWNlbnQtYmFja3RyYWNraW5nLmh0bWwK
QEAgLTAsMCArMSwxMDkgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxl
PgordGVzdGNhc2UgeworICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOworfQorOmVtcHR5Kzpl
bXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVt
cHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1w
dHkrOmVtcHR5KzplbXB0eX46bm90KDplbXB0eSkgeworICAgIGJhY2tncm91bmQtY29sb3I6IHJn
YigxLCAyLCAzKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IHN0eWxl
PSJkaXNwbGF5Om5vbmUiPgorICAgICAgICA8IS0tIDIwIGVtcHR5IC0tPgorICAgICAgICA8dGVz
dGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRlc3RjYXNlIGNsYXNzPWVt
cHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNl
PgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRl
c3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1l
bXB0eT48L3Rlc3RjYXNlPgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2Fz
ZT4KKyAgICAgICAgPHRlc3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0
ZXN0Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNlPgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9
ZW1wdHk+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRlc3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNh
c2U+CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNlPgorICAgICAgICA8
dGVzdGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRlc3RjYXNlIGNsYXNz
PWVtcHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3Rj
YXNlPgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2FzZT4KKyAgICAgICAg
PHRlc3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFz
cz1lbXB0eT48L3Rlc3RjYXNlPgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0
Y2FzZT4KKyAgICAgICAgPHRlc3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+CisKKyAgICAg
ICAgPHRlc3RjYXNlIGlkPXRhcmdldDE+PGZvb2Jhcj48L2Zvb2Jhcj48L3Rlc3RjYXNlPgorCisg
ICAgICAgIDwhLS0gMTkgZW1wdHkgLS0+CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1lbXB0eT48
L3Rlc3RjYXNlPgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2FzZT4KKyAg
ICAgICAgPHRlc3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0ZXN0Y2Fz
ZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNlPgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1wdHk+
PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRlc3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+Cisg
ICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNlPgorICAgICAgICA8dGVzdGNh
c2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRlc3RjYXNlIGNsYXNzPWVtcHR5
PjwvdGVzdGNhc2U+CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNlPgor
ICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRlc3Rj
YXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1lbXB0
eT48L3Rlc3RjYXNlPgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2FzZT4K
KyAgICAgICAgPHRlc3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0ZXN0
Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNlPgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1w
dHk+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRlc3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+
CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNlPgorCisgICAgICAgIDx0
ZXN0Y2FzZSBpZD10YXJnZXQyPk5vdCBFbXB0eSE8L3Rlc3RjYXNlPgorCisgICAgICAgIDwhLS0g
MTkgZW1wdHkgLS0+CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNlPgor
ICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRlc3Rj
YXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1lbXB0
eT48L3Rlc3RjYXNlPgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2FzZT4K
KyAgICAgICAgPHRlc3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0ZXN0
Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNlPgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1w
dHk+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRlc3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+
CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNlPgorICAgICAgICA8dGVz
dGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRlc3RjYXNlIGNsYXNzPWVt
cHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNl
PgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRl
c3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0ZXN0Y2FzZSBjbGFzcz1l
bXB0eT48L3Rlc3RjYXNlPgorICAgICAgICA8dGVzdGNhc2UgY2xhc3M9ZW1wdHk+PC90ZXN0Y2Fz
ZT4KKyAgICAgICAgPHRlc3RjYXNlIGNsYXNzPWVtcHR5PjwvdGVzdGNhc2U+CisgICAgICAgIDx0
ZXN0Y2FzZSBjbGFzcz1lbXB0eT48L3Rlc3RjYXNlPgorCisgICAgICAgIDx0ZXN0Y2FzZSBpZD0i
dGFyZ2V0MyI+CisgICAgICAgICAgICA8dGFyZ2V0LWNoaWxkIGlkPSJ0YXJnZXQ0Ij48L3Rhcmdl
dC1jaGlsZD4KKyAgICAgICAgPC90ZXN0Y2FzZT4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbignVGVzdCBiYWNrdHJhY2tpbmcgb2YgYSBsb25nIGNoYWluIG9mIDpl
bXB0eSBzaWJsaW5ncyB0byBjYXRjaCBhbnkgaXNzdWUgd2l0aCByZWdpc3RlciBhbGxvY2F0aW9u
LicpOworCitzaG91bGRCZSgnZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmVtcHR5KzplbXB0
eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5
KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkr
OmVtcHR5KzplbXB0eX46bm90KDplbXB0eSkiKS5sZW5ndGgnLCAnMycpOworc2hvdWxkQmUoJ2Rv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1w
dHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0
eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHl+Om5vdCg6
ZW1wdHkpIilbMF0nLCAnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDEiKScpOworc2hv
dWxkQmUoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjplbXB0eSs6ZW1wdHkrOmVtcHR5Kzpl
bXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVt
cHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1w
dHl+Om5vdCg6ZW1wdHkpIilbMV0nLCAnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDIi
KScpOworc2hvdWxkQmUoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjplbXB0eSs6ZW1wdHkr
OmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6
ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5Kzpl
bXB0eSs6ZW1wdHl+Om5vdCg6ZW1wdHkpIilbMl0nLCAnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldDMiKScpOworCitzaG91bGRCZSgnZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmVt
cHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1w
dHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0
eSs6ZW1wdHkrOmVtcHR5KzplbXB0eX46bm90KDplbXB0eSk+dGFyZ2V0LWNoaWxkIikubGVuZ3Ro
JywgJzEnKTsKK3Nob3VsZEJlKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6ZW1wdHkrOmVt
cHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1w
dHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0eSs6ZW1wdHkrOmVtcHR5KzplbXB0
eSs6ZW1wdHkrOmVtcHR5fjpub3QoOmVtcHR5KT50YXJnZXQtY2hpbGQiKVswXScsICdkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0NCIpJyk7CisKK3Nob3VsZEJlKCdkb2N1bWVudC5xdWVy
eVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpLmxlbmd0aCcsICc2MScpCisKK3ZhciBhbGxUZXN0Q2Fz
ZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpOworZm9yICh2YXIgaSA9
IDA7IGkgPCA2MTsgKytpKQorICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZXN0Y2FzZSIpWycgKyBpICsgJ10pLmJh
Y2tncm91bmRDb2xvcicsIGFsbFRlc3RDYXNlc1tpXS5jbGFzc0xpc3QuY29udGFpbnMoJ2VtcHR5
JykgPyAncmdiKDI1NSwgMjU1LCAyNTUpJyA6ICdyZ2IoMSwgMiwgMyknKTsKKworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5
LXN0eWxlLXVwZGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9l
bXB0eS1zdHlsZS11cGRhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4YmJkNGJiM2I5YjY3
ZmYwN2RlNmYzMmMzMmY1NmYzMTVjNWExMjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3NlbGVjdG9ycy9lbXB0eS1zdHlsZS11cGRhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzAgQEAKK1Rlc3QgdGhlIHN0eWxlIHVwZGF0ZSB3aXRoIHRoZSA6ZW1wdHkgcHNldWRvIGNs
YXNzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworSW5pdGlhbCBzdGF0ZSBpcyBl
bXRweS4KK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0
aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aG91dC1yZW5kZXJlciIp
KS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK0FkZGluZyBhIGNvbW1lbnQgZG9l
cyBub3QgY2hhbmdlIHRoZSA6ZW1wdHkgc3RhdGUuCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGgtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlz
ICJyZ2IoMSwgMiwgMykiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIndpdGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMSwgMiwg
MykiCitBZGQgYW4gZWxlbWVudCBhcyBjaGlsZCBtYWtlIHVwZGF0ZXMgOmVtcHR5LgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRoLXJlbmRlcmVyIikp
LmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRob3V0LXJlbmRlcmVyIikpLmJhY2tn
cm91bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgorQWRkaW5nIGFuIGVtcHR5IHRleHQg
bm9kZSwgdGhpcyBpcyBzdGlsbCBub3QgZW1wdHkgYmVjYXVzZSBvZiB0aGUgZWxlbWVudC4KK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1yZW5kZXJl
ciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aG91dC1yZW5kZXJlciIpKS5i
YWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1JlbW92aW5nIHRoZSBlbGVt
ZW50cyBwcmV2aW91c2x5IGFkZGVkIHNob3VsZCByZXN0b3JlIHRoZSA6ZW1wdHkgc3RhdGUuCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGgtcmVuZGVy
ZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGhvdXQtcmVuZGVyZXIiKSkuYmFja2dy
b3VuZENvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitBZGRpbmcgYSBub24gZW1wdHkgdGV4dCBub2Rl
IG1ha2VzIHRoZSBzdGF0ZSBub24gZW1wdHkuCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIndpdGgtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJy
Z2IoMjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoIndpdGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1
LCAyNTUsIDI1NSkiCitSZW1vdmluZyB0aGUgbGFzdCB0ZXh0IGNoaWxkLCBiYWNrIHRvIGJlaW5n
IGVtcHR5LgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3
aXRoLXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRob3V0LXJlbmRlcmVy
IikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LXN0eWxlLXVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9zZWxlY3RvcnMvZW1wdHktc3R5bGUtdXBkYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTAyNzVmMWE1
MDE5NGMyZDhkNTMzNzBlMDk3Mjc2MDFkYWY2M2E3YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LXN0eWxlLXVwZGF0ZS5odG1sCkBAIC0wLDAgKzEs
NzEgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlPgordGVzdGNhc2Ug
eworICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOworfQordGVzdGNhc2U6ZW1wdHkgeworICAg
IGJhY2tncm91bmQtY29sb3I6IHJnYigxLCAyLCAzKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8ZGl2PgorICAgICAgICA8dGVzdGNhc2UgaWQ9IndpdGgtcmVuZGVyZXIiPjwv
dGVzdGNhc2U+CisgICAgPC9kaXY+CisgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpub25lOyI+Cisg
ICAgICAgIDx0ZXN0Y2FzZSBpZD0id2l0aG91dC1yZW5kZXJlciI+PC90ZXN0Y2FzZT4KKyAgICA8
L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCB0aGUgc3R5bGUgdXBk
YXRlIHdpdGggdGhlIDplbXB0eSBwc2V1ZG8gY2xhc3MuJyk7CisKK3ZhciB0ZXN0Q2FzZVdpdGhS
ZW5kZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1yZW5kZXJlciIpOwordmFyIHRl
c3RDYXNlV2l0aG91dFJlbmRlcmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGhvdXQt
cmVuZGVyZXIiKTsKKworZGVidWcoIkluaXRpYWwgc3RhdGUgaXMgZW10cHkuIik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
IndpdGgtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigxLCAyLCAzKScpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ3aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMSwgMiwgMykn
KTsKKworZGVidWcoIkFkZGluZyBhIGNvbW1lbnQgZG9lcyBub3QgY2hhbmdlIHRoZSA6ZW1wdHkg
c3RhdGUuIik7Cit0ZXN0Q2FzZVdpdGhSZW5kZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
Q29tbWVudCgiV2ViS2l0ISIpKTsKK3Rlc3RDYXNlV2l0aG91dFJlbmRlcmVyLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoIldlYktpdCEiKSk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGgtcmVuZGVy
ZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigxLCAyLCAzKScpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRob3V0
LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMSwgMiwgMyknKTsKKworZGVidWco
IkFkZCBhbiBlbGVtZW50IGFzIGNoaWxkIG1ha2UgdXBkYXRlcyA6ZW1wdHkuIik7Cit2YXIgZWxl
bWVudEZvckNhc2VXaXRoUmVuZGVyZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
K3ZhciBlbGVtZW50Rm9yQ2FzZVdpdGhvdXRSZW5kZXJlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOwordGVzdENhc2VXaXRoUmVuZGVyLmFwcGVuZENoaWxkKGVsZW1lbnRGb3JDYXNl
V2l0aFJlbmRlcmVyKTsKK3Rlc3RDYXNlV2l0aG91dFJlbmRlcmVyLmFwcGVuZENoaWxkKGVsZW1l
bnRGb3JDYXNlV2l0aG91dFJlbmRlcmVyKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1yZW5kZXJlciIpKS5iYWNr
Z3JvdW5kQ29sb3InLCAncmdiKDI1NSwgMjU1LCAyNTUpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGhvdXQtcmVu
ZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigyNTUsIDI1NSwgMjU1KScpOworCitkZWJ1
ZygiQWRkaW5nIGFuIGVtcHR5IHRleHQgbm9kZSwgdGhpcyBpcyBzdGlsbCBub3QgZW1wdHkgYmVj
YXVzZSBvZiB0aGUgZWxlbWVudC4iKTsKK3Rlc3RDYXNlV2l0aFJlbmRlci5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnJykpOwordGVzdENhc2VXaXRob3V0UmVuZGVyZXIuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJycpKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1yZW5k
ZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDI1NSwgMjU1LCAyNTUpJyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
IndpdGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigyNTUsIDI1NSwgMjU1
KScpOworCitkZWJ1ZygiUmVtb3ZpbmcgdGhlIGVsZW1lbnRzIHByZXZpb3VzbHkgYWRkZWQgc2hv
dWxkIHJlc3RvcmUgdGhlIDplbXB0eSBzdGF0ZS4iKTsKK3Rlc3RDYXNlV2l0aFJlbmRlci5yZW1v
dmVDaGlsZChlbGVtZW50Rm9yQ2FzZVdpdGhSZW5kZXJlcik7Cit0ZXN0Q2FzZVdpdGhvdXRSZW5k
ZXJlci5yZW1vdmVDaGlsZChlbGVtZW50Rm9yQ2FzZVdpdGhvdXRSZW5kZXJlcik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
IndpdGgtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigxLCAyLCAzKScpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ3aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMSwgMiwgMykn
KTsKKworZGVidWcoIkFkZGluZyBhIG5vbiBlbXB0eSB0ZXh0IG5vZGUgbWFrZXMgdGhlIHN0YXRl
IG5vbiBlbXB0eS4iKTsKK3Rlc3RDYXNlV2l0aFJlbmRlci5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZSgnV2ViS2l0IScpKTsKK3Rlc3RDYXNlV2l0aG91dFJlbmRlcmVyLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdXZWJLaXQhJykpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRo
LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMjU1LCAyNTUsIDI1NSknKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgid2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDI1NSwgMjU1
LCAyNTUpJyk7CisKK2RlYnVnKCJSZW1vdmluZyB0aGUgbGFzdCB0ZXh0IGNoaWxkLCBiYWNrIHRv
IGJlaW5nIGVtcHR5LiIpOwordGVzdENhc2VXaXRoUmVuZGVyLnJlbW92ZUNoaWxkKHRlc3RDYXNl
V2l0aFJlbmRlci5sYXN0Q2hpbGQpOwordGVzdENhc2VXaXRob3V0UmVuZGVyZXIucmVtb3ZlQ2hp
bGQodGVzdENhc2VXaXRob3V0UmVuZGVyZXIubGFzdENoaWxkKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1yZW5k
ZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGhv
dXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigxLCAyLCAzKScpOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="261295"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>