<?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>231745</bug_id>
          
          <creation_ts>2021-10-14 09:12:56 -0700</creation_ts>
          <short_desc>[JS IPC] Implement a way to synchronously wait for an incoming IPC message</short_desc>
          <delta_ts>2021-10-14 21:53:16 -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>WebKit2</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>231701</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>kkinnunen</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1804301</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-14 09:12:56 -0700</bug_when>
    <thetext>(..to match the behavior of Connection::waitForAndDispatchImmediately&lt;T&gt;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804305</commentid>
    <comment_count>1</comment_count>
      <attachid>441225</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-14 09:24:51 -0700</bug_when>
    <thetext>Created attachment 441225
Depends on #231710</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804307</commentid>
    <comment_count>2</comment_count>
      <attachid>441226</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-14 09:30:12 -0700</bug_when>
    <thetext>Created attachment 441226
Depends on #231710</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804324</commentid>
    <comment_count>3</comment_count>
      <attachid>441232</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-14 10:02:21 -0700</bug_when>
    <thetext>Created attachment 441232
Add setWakeUpSemaphore too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804492</commentid>
    <comment_count>4</comment_count>
      <attachid>441277</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-14 14:04:37 -0700</bug_when>
    <thetext>Created attachment 441277
Fix a typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804641</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-14 18:45:04 -0700</bug_when>
    <thetext>Committed r284223 (243032@main): &lt;https://commits.webkit.org/243032@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 441277.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804643</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-14 18:46:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/84284661&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804695</commentid>
    <comment_count>7</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-14 21:53:16 -0700</bug_when>
    <thetext>&gt; Layout test failure:
&gt; 
&gt; - imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-050.html (test history)

This flaky debug assert is being tracked in &lt;https://bugs.webkit.org/show_bug.cgi?id=231752&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441225</attachid>
            <date>2021-10-14 09:24:51 -0700</date>
            <delta_ts>2021-10-14 09:30:11 -0700</delta_ts>
            <desc>Depends on #231710</desc>
            <filename>bug-231745-20211014092450.patch</filename>
            <type>text/plain</type>
            <size>11629</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE5ZDZjMjBhNTdkODJjMTA0
YTE1ZDIyMjY3NTgwMWRlNThmNTgxNGUuLjliZmFjZmEwYzkyYmM3MWNhOGQ4Y2MzZTk0ZmMwZjYz
YzczMTIzNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTAtMTQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTIElQQ10gSW1wbGVt
ZW50IGEgd2F5IHRvIHN5bmNocm9ub3VzbHkgd2FpdCBmb3IgYW4gaW5jb21pbmcgSVBDIG1lc3Nh
Z2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTc0
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBgSVBDLndhaXRGb3JNZXNzYWdlKClgLCB3aGljaCBibG9ja3MgdW50aWwgd2Ug
cmVjZWl2ZSBhbiBpbmNvbWluZyBJUEMgbWVzc2FnZSB0aGF0IG1hdGNoZXMgdGhlCisgICAgICAg
IGdpdmVuIG1lc3NhZ2UgbmFtZSBhbmQgZGVzdGluYXRpb24gSUQuIFdlIHVzZSB0aGlzIG5ldyBt
ZXRob2QgdG8gZml4IHRoZSBmYWlsaW5nIEFQSSB0ZXN0CisgICAgICAgIElQQ1Rlc3RpbmdBUEku
Q2FuUmVjZWl2ZUlQQ1NlbWFwaG9yZSwgd2hpY2ggdmVyaWZpZXMgdGhhdCB3ZSdyZSBhYmxlIHRv
IHJlY2VpdmUsIGRlY29kZSwgYW5kIGNhbGwgbWV0aG9kcyBvbgorICAgICAgICBhbiBJUEMgc2Vt
YXBob3JlIHNlbnQgZnJvbSB0aGUgR1BVIHByb2Nlc3MgdG8gdGhlIHdlYiBwcm9jZXNzLiBJbiB0
aGlzIGNhc2UsIHdlIHdhaXQgZm9yIHRoZSBpbmNvbWluZworICAgICAgICAiUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5OjpEaWRDcmVhdGVXYWtlVXBTZW1hcGhvcmVGb3JEaXNwbGF5TGlzdFN0
cmVhbSIgbWVzc2FnZSBhZnRlciBjcmVhdGluZyB0aGUgcmVtb3RlCisgICAgICAgIHJlbmRlcmlu
ZyBiYWNrZW5kIGluIHRoZSBHUFUgcHJvY2Vzcy4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9D
b25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0lQQ1Rlc3RpbmdBUEku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQzo6c3RhdGljRnVuY3Rp
b25zKToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6ZXh0cmFjdFN5bmNJUENNZXNz
YWdlSW5mbyk6CisKKyAgICAgICAgUHVsbCBsb2dpYyBmb3IgZXh0cmFjdGluZyBhbiBJUEM6OkNv
bm5lY3Rpb24sIGRlc3RpbmF0aW9uIElELCBtZXNzYWdlIG5hbWUsIGFuZCBJUEMgdGltZW91dCBp
bnRvIGEgc2VwYXJhdGUKKyAgICAgICAgaGVscGVyIGZ1bmN0aW9uLCBhbmQgdXNlIGl0IGluIGB3
YWl0Rm9yTWVzc2FnZWAgYXMgd2VsbCBhcyBgc2VuZFN5bmNNZXNzYWdlYC4KKworICAgICAgICAo
V2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQzo6d2FpdEZvck1lc3NhZ2UpOgorICAgICAgICAo
V2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQzo6c2VuZFN5bmNNZXNzYWdlKToKKwogMjAyMS0x
MC0xMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBb
SlMgSVBDXSBNYWtlIGl0IHBvc3NpYmxlIHRvIGVzdGFibGlzaCBhIHN0cmVhbSBjb25uZWN0aW9u
IHVzaW5nIHRoZSBKUyBJUEMgdGVzdGluZyBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nv
bm5lY3Rpb24uaAppbmRleCBjMjhmYzdhY2VmZDJiMjM2NWQ4Y2U0YzNiMzIzODdmOGUxMzkxOWQ4
Li4yMjBlNWVhYmNjNDA5OTY4ZWY3YmZmMDA5ZWM3NjI4MjVjM2UwYzU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC01Niw2ICs1NiwxMiBAQAogI2luY2x1ZGUg
PHd0Zi9nbGliL0dTb2NrZXRNb25pdG9yLmg+CiAjZW5kaWYKIAorbmFtZXNwYWNlIFdlYktpdCB7
CituYW1lc3BhY2UgSVBDVGVzdGluZ0FQSSB7CitjbGFzcyBKU0lQQzsKK30KK30KKwogbmFtZXNw
YWNlIElQQyB7CiAKIGVudW0gY2xhc3MgU2VuZE9wdGlvbiB7CkBAIC01MDcsNiArNTEzLDcgQEAg
cHJpdmF0ZToKICAgICBIQU5ETEUgbV9jb25uZWN0aW9uUGlwZSB7IElOVkFMSURfSEFORExFX1ZB
TFVFIH07CiAjZW5kaWYKICAgICBmcmllbmQgY2xhc3MgU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjsK
KyAgICBmcmllbmQgY2xhc3MgV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQzsKIH07CiAKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9JUENUZXN0aW5nQVBJLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0lQQ1Rlc3RpbmdBUEkuY3BwCmluZGV4IDI0OTg3YzdkZDM4M2RjZGNlYTZjOTYzZjQ3ODlk
ODY5M2M2ZGZlMDYuLjYzNWI3NDY3NDBhYmUxMTUyMzM1MjQ2ZmNiMjNlNzllNjYxZDdiZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0lQQ1Rlc3RpbmdBUEku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0lQQ1Rlc3RpbmdBUEku
Y3BwCkBAIC0yNDEsNiArMjQxLDcgQEAgcHJpdmF0ZToKIAogICAgIHN0YXRpYyBKU1ZhbHVlUmVm
IHNlbmRNZXNzYWdlKEpTQ29udGV4dFJlZiwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNP
YmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1td
LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOwogICAgIHN0YXRpYyBKU1ZhbHVlUmVmIHNlbmRTeW5j
TWVzc2FnZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0
LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNW
YWx1ZVJlZiogZXhjZXB0aW9uKTsKKyAgICBzdGF0aWMgSlNWYWx1ZVJlZiB3YWl0Rm9yTWVzc2Fn
ZShKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmpl
Y3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBK
U1ZhbHVlUmVmKiBleGNlcHRpb24pOwogCiAgICAgc3RhdGljIEpTVmFsdWVSZWYgY3JlYXRlU3Ry
ZWFtQ2xpZW50Q29ubmVjdGlvbihKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJl
ZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1
bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKICAgICBzdGF0aWMgSlNWYWx1ZVJlZiBj
cmVhdGVTZW1hcGhvcmUoSlNDb250ZXh0UmVmLCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhp
c09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRz
W10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CkBAIC03NjAsNiArNzYxLDcgQEAgY29uc3QgSlNT
dGF0aWNGdW5jdGlvbiogSlNJUEM6OnN0YXRpY0Z1bmN0aW9ucygpCiAgICAgICAgIHsgImFkZE91
dGdvaW5nTWVzc2FnZUxpc3RlbmVyIiwgYWRkT3V0Z29pbmdNZXNzYWdlTGlzdGVuZXIsIGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fSwKICAgICAgICAgeyAic2VuZE1lc3NhZ2UiLCBzZW5kTWVzc2FnZSwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB9LAogICAgICAg
ICB7ICJzZW5kU3luY01lc3NhZ2UiLCBzZW5kU3luY01lc3NhZ2UsIGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfSwKKyAgICAgICAg
eyAid2FpdEZvck1lc3NhZ2UiLCB3YWl0Rm9yTWVzc2FnZSwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB9LAogICAgICAgICB7ICJj
cmVhdGVTdHJlYW1DbGllbnRDb25uZWN0aW9uIiwgY3JlYXRlU3RyZWFtQ2xpZW50Q29ubmVjdGlv
biwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB9LAogICAgICAgICB7ICJjcmVhdGVTZW1hcGhvcmUiLCBjcmVhdGVTZW1hcGhvcmUs
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVh
ZE9ubHkgfSwKICAgICAgICAgeyAiY3JlYXRlU2hhcmVkTWVtb3J5IiwgY3JlYXRlU2hhcmVkTWVt
b3J5LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IH0sCkBAIC0xMzg2LDQ4ICsxMzg4LDk0IEBAIEFMTE9XX05FV19BUElfV0lUSE9V
VF9HVUFSRFNfRU5ECiAgICAgcmV0dXJuIHJldHVyblZhbHVlOwogfQogCi1KU1ZhbHVlUmVmIEpT
SVBDOjpzZW5kU3luY01lc3NhZ2UoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmLCBK
U09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1
ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQotewotICAgIGF1dG8qIGds
b2JhbE9iamVjdCA9IHRvSlMoY29udGV4dCk7Ci0gICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9jayhn
bG9iYWxPYmplY3QtPnZtKCkpOwotICAgIFJlZlB0ciBqc0lQQyA9IHRvV3JhcHBlZChjb250ZXh0
LCB0aGlzT2JqZWN0KTsKLSAgICBpZiAoIWpzSVBDKSB7Ci0gICAgICAgICpleGNlcHRpb24gPSBj
cmVhdGVUeXBlRXJyb3IoY29udGV4dCwgIldyb25nIHR5cGUiX3MpOwotICAgICAgICByZXR1cm4g
SlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci0gICAgfQorc3RydWN0IFN5bmNJUENNZXNz
YWdlSW5mbyB7CisgICAgUmVmPElQQzo6Q29ubmVjdGlvbj4gY29ubmVjdGlvbjsKKyAgICB1aW50
NjRfdCBkZXN0aW5hdGlvbklEOworICAgIElQQzo6TWVzc2FnZU5hbWUgbWVzc2FnZU5hbWU7Cisg
ICAgSVBDOjpUaW1lb3V0IHRpbWVvdXQ7Cit9OwogCitzdGF0aWMgc3RkOjpvcHRpb25hbDxTeW5j
SVBDTWVzc2FnZUluZm8+IGV4dHJhY3RTeW5jSVBDTWVzc2FnZUluZm8oSlNDb250ZXh0UmVmIGNv
bnRleHQsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1td
LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CiAgICAgaWYgKGFyZ3VtZW50Q291bnQgPCA0KSB7
CiAgICAgICAgICpleGNlcHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29udGV4dCwgIk11c3Qgc3Bl
Y2lmeSB0aGUgdGFyZ2V0IHByb2Nlc3MsIGRlc2luYXRpb24gSUQsIGFuZCBtZXNzYWdlIElEIGFz
IHRoZSBmaXJzdCB0aHJlZSBhcmd1bWVudHMiX3MpOwotICAgICAgICByZXR1cm4gSlNWYWx1ZU1h
a2VVbmRlZmluZWQoY29udGV4dCk7CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAg
fQogCisgICAgYXV0byogZ2xvYmFsT2JqZWN0ID0gdG9KUyhjb250ZXh0KTsKICAgICBhdXRvIGNv
bm5lY3Rpb24gPSBwcm9jZXNzVGFyZ2V0RnJvbUFyZ3VtZW50KGdsb2JhbE9iamVjdCwgYXJndW1l
bnRzWzBdLCBleGNlcHRpb24pOwogICAgIGlmICghY29ubmVjdGlvbikKLSAgICAgICAgcmV0dXJu
IEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OwogCiAgICAgYXV0byBkZXN0aW5hdGlvbklEID0gZGVzdGluYXRpb25JREZyb21Bcmd1bWVu
dChnbG9iYWxPYmplY3QsIGFyZ3VtZW50c1sxXSwgZXhjZXB0aW9uKTsKICAgICBpZiAoIWRlc3Rp
bmF0aW9uSUQpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAogICAgIGF1dG8gbWVzc2FnZUlEID0gbWVz
c2FnZUlERnJvbUFyZ3VtZW50KGdsb2JhbE9iamVjdCwgYXJndW1lbnRzWzJdLCBleGNlcHRpb24p
OwogICAgIGlmICghbWVzc2FnZUlEKQotICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmlu
ZWQoY29udGV4dCk7CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBTZWNvbmRz
IHRpbWVvdXQ7CisgICAgU2Vjb25kcyB0aW1lb3V0RHVyYXRpb247CiAgICAgewogICAgICAgICBh
dXRvIGpzVmFsdWUgPSB0b0pTKGdsb2JhbE9iamVjdCwgYXJndW1lbnRzWzNdKTsKICAgICAgICAg
aWYgKCFqc1ZhbHVlLmlzTnVtYmVyKCkpIHsKICAgICAgICAgICAgICpleGNlcHRpb24gPSBjcmVh
dGVUeXBlRXJyb3IoY29udGV4dCwgIlRpbWVvdXQgbXVzdCBiZSBhIG51bWJlciJfcyk7CisgICAg
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICB9CisgICAgICAgIHRpbWVvdXRE
dXJhdGlvbiA9IFNlY29uZHMgeyBqc1ZhbHVlLmFzTnVtYmVyKCkgfTsKKyAgICB9CisKKyAgICBy
ZXR1cm4geyB7IGNvbm5lY3Rpb24ucmVsZWFzZU5vbk51bGwoKSwgKmRlc3RpbmF0aW9uSUQsIHN0
YXRpY19jYXN0PElQQzo6TWVzc2FnZU5hbWU+KCptZXNzYWdlSUQpLCB7IHRpbWVvdXREdXJhdGlv
biB9IH0gfTsKK30KKworSlNWYWx1ZVJlZiBKU0lQQzo6d2FpdEZvck1lc3NhZ2UoSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3Qg
YXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiog
ZXhjZXB0aW9uKQoreworICAgIGF1dG8qIGdsb2JhbE9iamVjdCA9IHRvSlMoY29udGV4dCk7Cisg
ICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9jayhnbG9iYWxPYmplY3QtPnZtKCkpOworICAgIFJlZlB0
ciBqc0lQQyA9IHRvV3JhcHBlZChjb250ZXh0LCB0aGlzT2JqZWN0KTsKKyAgICBpZiAoIWpzSVBD
KSB7CisgICAgICAgICpleGNlcHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29udGV4dCwgIldyb25n
IHR5cGUiX3MpOworICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7
CisgICAgfQorCisgICAgYXV0byBpbmZvID0gZXh0cmFjdFN5bmNJUENNZXNzYWdlSW5mbyhjb250
ZXh0LCBhcmd1bWVudENvdW50LCBhcmd1bWVudHMsIGV4Y2VwdGlvbik7CisgICAgaWYgKCFpbmZv
KQorICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisKKyAgICBh
dXRvIFtjb25uZWN0aW9uLCBkZXN0aW5hdGlvbklELCBtZXNzYWdlTmFtZSwgdGltZW91dF0gPSAq
aW5mbzsKKyAgICBpZiAoYXV0byBkZWNvZGVyID0gY29ubmVjdGlvbi0+d2FpdEZvck1lc3NhZ2Uo
bWVzc2FnZU5hbWUsIGRlc3RpbmF0aW9uSUQsIHRpbWVvdXQsIHsgfSkpIHsKKyAgICAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUoZ2xvYmFsT2JqZWN0LT52bSgpKTsKKyAgICAg
ICAgYXV0byBqc1Jlc3VsdCA9IGpzVmFsdWVGb3JBcmd1bWVudHMoZ2xvYmFsT2JqZWN0LCBtZXNz
YWdlTmFtZSwgKmRlY29kZXIpOworICAgICAgICBpZiAoc2NvcGUuZXhjZXB0aW9uKCkpIHsKKyAg
ICAgICAgICAgICpleGNlcHRpb24gPSB0b1JlZihnbG9iYWxPYmplY3QsIHNjb3BlLmV4Y2VwdGlv
bigpKTsKKyAgICAgICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICBy
ZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiAgICAgICAgIH0KLSAgICAgICAg
dGltZW91dCA9IFNlY29uZHMgeyBqc1ZhbHVlLmFzTnVtYmVyKCkgfTsKKyAgICAgICAgcmV0dXJu
IGpzUmVzdWx0ID8gdG9SZWYoZ2xvYmFsT2JqZWN0LCAqanNSZXN1bHQpIDogSlNWYWx1ZU1ha2VV
bmRlZmluZWQoY29udGV4dCk7CiAgICAgfQorICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5l
ZChjb250ZXh0KTsKK30KKworSlNWYWx1ZVJlZiBKU0lQQzo6c2VuZFN5bmNNZXNzYWdlKEpTQ29u
dGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6
ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVS
ZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBhdXRvKiBnbG9iYWxPYmplY3QgPSB0b0pTKGNvbnRleHQp
OworICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2soZ2xvYmFsT2JqZWN0LT52bSgpKTsKKyAgICBS
ZWZQdHIganNJUEMgPSB0b1dyYXBwZWQoY29udGV4dCwgdGhpc09iamVjdCk7CisgICAgaWYgKCFq
c0lQQykgeworICAgICAgICAqZXhjZXB0aW9uID0gY3JlYXRlVHlwZUVycm9yKGNvbnRleHQsICJX
cm9uZyB0eXBlIl9zKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRl
eHQpOworICAgIH0KKworICAgIGF1dG8gaW5mbyA9IGV4dHJhY3RTeW5jSVBDTWVzc2FnZUluZm8o
Y29udGV4dCwgYXJndW1lbnRDb3VudCwgYXJndW1lbnRzLCBleGNlcHRpb24pOworICAgIGlmICgh
aW5mbykKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworCisg
ICAgYXV0byBbY29ubmVjdGlvbiwgZGVzdGluYXRpb25JRCwgbWVzc2FnZU5hbWUsIHRpbWVvdXRd
ID0gKmluZm87CiAKICAgICAvLyBGSVhNRTogU3VwcG9ydCB0aGUgb3B0aW9ucy4KIAogICAgIElQ
Qzo6Q29ubmVjdGlvbjo6U3luY1JlcXVlc3RJRCBzeW5jUmVxdWVzdElEOwotICAgIGF1dG8gbWVz
c2FnZU5hbWUgPSBzdGF0aWNfY2FzdDxJUEM6Ok1lc3NhZ2VOYW1lPigqbWVzc2FnZUlEKTsKLSAg
ICBhdXRvIGVuY29kZXIgPSBjb25uZWN0aW9uLT5jcmVhdGVTeW5jTWVzc2FnZUVuY29kZXIobWVz
c2FnZU5hbWUsICpkZXN0aW5hdGlvbklELCBzeW5jUmVxdWVzdElEKTsKKyAgICBhdXRvIGVuY29k
ZXIgPSBjb25uZWN0aW9uLT5jcmVhdGVTeW5jTWVzc2FnZUVuY29kZXIobWVzc2FnZU5hbWUsIGRl
c3RpbmF0aW9uSUQsIHN5bmNSZXF1ZXN0SUQpOwogCiAgICAgaWYgKGFyZ3VtZW50Q291bnQgPiA0
KSB7CiAgICAgICAgIGlmICghZW5jb2RlQXJndW1lbnQoZW5jb2Rlci5nZXQoKSwgKmpzSVBDLCBj
b250ZXh0LCBhcmd1bWVudHNbNF0sIGV4Y2VwdGlvbikpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNmEwNWUyYmQwYzM3YWEzNTM3M2Q2YmVlODU4
NDIxNzQwMjg0MWY0Yy4uNTk1MzZiYjdjMTg4NzUxMDI1YWNlNTQ2MGE0MGY2ZDNmM2IzOTA1MyAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE5IEBACisyMDIxLTEwLTE0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgorCisgICAgICAgIFtKUyBJUENdIEltcGxlbWVudCBhIHdheSB0byBzeW5jaHJvbm91c2x5
IHdhaXQgZm9yIGFuIGluY29taW5nIElQQyBtZXNzYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE3NDUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGp1c3QgYW4gZXhpc3RpbmcgSlMgSVBDIHRlc3Qs
IElQQ1Rlc3RpbmdBUEkuQ2FuUmVjZWl2ZUlQQ1NlbWFwaG9yZSwgc28gdGhhdCBpdCB1c2VzIHRo
ZSBuZXcgSlNJUEMgbWV0aG9kIHRvCisgICAgICAgIHdhaXQgZm9yIFJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQncyBJUEMgc3RyZWFtIHdha2V1cCBzZW1hcGhvcmUgdG8gYXJyaXZlLiBUaGlzIGZpeGVz
CisgICAgICAgIElQQ1Rlc3RpbmdBUEkuQ2FuUmVjZWl2ZUlQQ1NlbWFwaG9yZSAod2hpY2ggaXMg
b25lIG9mIHRoZSB0d28gSVBDIHRlc3RzIHRoYXQgdGltZSBvdXQgYWZ0ZXIgcjI4NDA3OSkuCisK
KyAgICAgICAgU2VlIFdlYktpdCBDaGFuZ2VMb2cgZm9yIG1vcmUgZGV0YWlscy4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSVBDVGVzdGluZ0FQSS5tbToKKyAg
ICAgICAgKFRFU1QpOgorCiAyMDIxLTEwLTEzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFtKUyBJUENdIE1ha2UgaXQgcG9zc2libGUgdG8gZXN0YWJs
aXNoIGEgc3RyZWFtIGNvbm5lY3Rpb24gdXNpbmcgdGhlIEpTIElQQyB0ZXN0aW5nIEFQSQpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JUENUZXN0aW5n
QVBJLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JUENUZXN0aW5n
QVBJLm1tCmluZGV4IGQ5MmNlYzE4ZmUwNDgwMWJiZGRhNTkzZmVjMjg3YWRhZGRiNzk1MzIuLmQ3
NmFjMDc2YmVmNmQzZWQwNTI2ZDA3NWQyZGQzMGQ3N2Y3MjQzNDEgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSVBDVGVzdGluZ0FQSS5tbQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0lQQ1Rlc3RpbmdBUEkubW0KQEAg
LTI5OSw5ICsyOTksOCBAQCBURVNUKElQQ1Rlc3RpbmdBUEksIENhblJlY2VpdmVJUENTZW1hcGhv
cmUpCiAgICAgICAgICIgICAgeyB0eXBlOiAnUmVtb3RlUmVuZGVyaW5nQmFja2VuZENyZWF0aW9u
UGFyYW1ldGVycycsICdpZGVudGlmaWVyJzogMTIzLCAncGFnZVByb3h5SUQnOiBJUEMud2ViUGFn
ZVByb3h5SUQsICdwYWdlSUQnOiBJUEMucGFnZUlEIH0sIgogICAgICAgICAiICAgIHsgdHlwZTog
J1N0cmVhbUNvbm5lY3Rpb25CdWZmZXInLCB2YWx1ZTogc3RyZWFtQ29ubmVjdGlvbi5zdHJlYW1C
dWZmZXIoKSB9LCIKICAgICAgICAgIl0pOyIKLSAgICAgICAgImNvbnN0IHJlc3VsdCA9IElQQy5z
ZW5kU3luY01lc3NhZ2UoJ0dQVScsIDEyMywgSVBDLm1lc3NhZ2VzLlJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRfU2VtYXBob3JlRm9yR2V0UGl4ZWxCdWZmZXIubmFtZSwgMTAwLCBbXSk7IgotICAgICAg
ICAic2VtYXBob3JlLnNpZ25hbCgpOyIKLSAgICAgICAgImFsZXJ0KHJlc3VsdC5hcmd1bWVudHMu
bGVuZ3RoICsgJzonICsgcmVzdWx0LmFyZ3VtZW50c1swXS50eXBlICsgJzonICsgcmVzdWx0LmFy
Z3VtZW50c1swXS52YWx1ZS53YWl0Rm9yKDEwMCkpOyIKKyAgICAgICAgImNvbnN0IGFyZ3VtZW50
cyA9IElQQy53YWl0Rm9yTWVzc2FnZSgnR1BVJywgMTIzLCBJUEMubWVzc2FnZXMuUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFByb3h5X0RpZENyZWF0ZVdha2VVcFNlbWFwaG9yZUZvckRpc3BsYXlMaXN0
U3RyZWFtLm5hbWUsIDMpOyIKKyAgICAgICAgImFsZXJ0KGFyZ3VtZW50cy5sZW5ndGggKyAnOicg
KyBhcmd1bWVudHNbMF0udHlwZSArICc6JyArIGFyZ3VtZW50c1swXS52YWx1ZS53YWl0Rm9yKDEw
MCkpOyIKICAgICAgICAgIjwvc2NyaXB0PiI7CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxv
YWRIVE1MU3RyaW5nOmh0bWxdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441226</attachid>
            <date>2021-10-14 09:30:12 -0700</date>
            <delta_ts>2021-10-14 10:02:20 -0700</delta_ts>
            <desc>Depends on #231710</desc>
            <filename>bug-231745-20211014093011.patch</filename>
            <type>text/plain</type>
            <size>11621</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE5ZDZjMjBhNTdkODJjMTA0
YTE1ZDIyMjY3NTgwMWRlNThmNTgxNGUuLjliZmFjZmEwYzkyYmM3MWNhOGQ4Y2MzZTk0ZmMwZjYz
YzczMTIzNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTAtMTQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTIElQQ10gSW1wbGVt
ZW50IGEgd2F5IHRvIHN5bmNocm9ub3VzbHkgd2FpdCBmb3IgYW4gaW5jb21pbmcgSVBDIG1lc3Nh
Z2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTc0
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBgSVBDLndhaXRGb3JNZXNzYWdlKClgLCB3aGljaCBibG9ja3MgdW50aWwgd2Ug
cmVjZWl2ZSBhbiBpbmNvbWluZyBJUEMgbWVzc2FnZSB0aGF0IG1hdGNoZXMgdGhlCisgICAgICAg
IGdpdmVuIG1lc3NhZ2UgbmFtZSBhbmQgZGVzdGluYXRpb24gSUQuIFdlIHVzZSB0aGlzIG5ldyBt
ZXRob2QgdG8gZml4IHRoZSBmYWlsaW5nIEFQSSB0ZXN0CisgICAgICAgIElQQ1Rlc3RpbmdBUEku
Q2FuUmVjZWl2ZUlQQ1NlbWFwaG9yZSwgd2hpY2ggdmVyaWZpZXMgdGhhdCB3ZSdyZSBhYmxlIHRv
IHJlY2VpdmUsIGRlY29kZSwgYW5kIGNhbGwgbWV0aG9kcyBvbgorICAgICAgICBhbiBJUEMgc2Vt
YXBob3JlIHNlbnQgZnJvbSB0aGUgR1BVIHByb2Nlc3MgdG8gdGhlIHdlYiBwcm9jZXNzLiBJbiB0
aGlzIGNhc2UsIHdlIHdhaXQgZm9yIHRoZSBpbmNvbWluZworICAgICAgICAiUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5OjpEaWRDcmVhdGVXYWtlVXBTZW1hcGhvcmVGb3JEaXNwbGF5TGlzdFN0
cmVhbSIgbWVzc2FnZSBhZnRlciBjcmVhdGluZyB0aGUgcmVtb3RlCisgICAgICAgIHJlbmRlcmlu
ZyBiYWNrZW5kIGluIHRoZSBHUFUgcHJvY2Vzcy4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9D
b25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0lQQ1Rlc3RpbmdBUEku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQzo6c3RhdGljRnVuY3Rp
b25zKToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6ZXh0cmFjdFN5bmNJUENNZXNz
YWdlSW5mbyk6CisKKyAgICAgICAgUHVsbCBsb2dpYyBmb3IgZXh0cmFjdGluZyBhbiBJUEM6OkNv
bm5lY3Rpb24sIGRlc3RpbmF0aW9uIElELCBtZXNzYWdlIG5hbWUsIGFuZCBJUEMgdGltZW91dCBp
bnRvIGEgc2VwYXJhdGUKKyAgICAgICAgaGVscGVyIGZ1bmN0aW9uLCBhbmQgdXNlIGl0IGluIGB3
YWl0Rm9yTWVzc2FnZWAgYXMgd2VsbCBhcyBgc2VuZFN5bmNNZXNzYWdlYC4KKworICAgICAgICAo
V2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQzo6d2FpdEZvck1lc3NhZ2UpOgorICAgICAgICAo
V2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQzo6c2VuZFN5bmNNZXNzYWdlKToKKwogMjAyMS0x
MC0xMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBb
SlMgSVBDXSBNYWtlIGl0IHBvc3NpYmxlIHRvIGVzdGFibGlzaCBhIHN0cmVhbSBjb25uZWN0aW9u
IHVzaW5nIHRoZSBKUyBJUEMgdGVzdGluZyBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nv
bm5lY3Rpb24uaAppbmRleCBjMjhmYzdhY2VmZDJiMjM2NWQ4Y2U0YzNiMzIzODdmOGUxMzkxOWQ4
Li4yMjBlNWVhYmNjNDA5OTY4ZWY3YmZmMDA5ZWM3NjI4MjVjM2UwYzU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC01Niw2ICs1NiwxMiBAQAogI2luY2x1ZGUg
PHd0Zi9nbGliL0dTb2NrZXRNb25pdG9yLmg+CiAjZW5kaWYKIAorbmFtZXNwYWNlIFdlYktpdCB7
CituYW1lc3BhY2UgSVBDVGVzdGluZ0FQSSB7CitjbGFzcyBKU0lQQzsKK30KK30KKwogbmFtZXNw
YWNlIElQQyB7CiAKIGVudW0gY2xhc3MgU2VuZE9wdGlvbiB7CkBAIC01MDcsNiArNTEzLDcgQEAg
cHJpdmF0ZToKICAgICBIQU5ETEUgbV9jb25uZWN0aW9uUGlwZSB7IElOVkFMSURfSEFORExFX1ZB
TFVFIH07CiAjZW5kaWYKICAgICBmcmllbmQgY2xhc3MgU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjsK
KyAgICBmcmllbmQgY2xhc3MgV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQzsKIH07CiAKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9JUENUZXN0aW5nQVBJLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0lQQ1Rlc3RpbmdBUEkuY3BwCmluZGV4IDI0OTg3YzdkZDM4M2RjZGNlYTZjOTYzZjQ3ODlk
ODY5M2M2ZGZlMDYuLmJlNDk0ZDI1ZmM4Mjg0ZDA0NDMzMzY4NWNiZmU2NWJmNTAzZGFkMGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0lQQ1Rlc3RpbmdBUEku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0lQQ1Rlc3RpbmdBUEku
Y3BwCkBAIC0yNDEsNiArMjQxLDcgQEAgcHJpdmF0ZToKIAogICAgIHN0YXRpYyBKU1ZhbHVlUmVm
IHNlbmRNZXNzYWdlKEpTQ29udGV4dFJlZiwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNP
YmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1td
LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOwogICAgIHN0YXRpYyBKU1ZhbHVlUmVmIHNlbmRTeW5j
TWVzc2FnZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0
LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNW
YWx1ZVJlZiogZXhjZXB0aW9uKTsKKyAgICBzdGF0aWMgSlNWYWx1ZVJlZiB3YWl0Rm9yTWVzc2Fn
ZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXpl
X3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJl
ZiogZXhjZXB0aW9uKTsKIAogICAgIHN0YXRpYyBKU1ZhbHVlUmVmIGNyZWF0ZVN0cmVhbUNsaWVu
dENvbm5lY3Rpb24oSlNDb250ZXh0UmVmLCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09i
amVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10s
IEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CiAgICAgc3RhdGljIEpTVmFsdWVSZWYgY3JlYXRlU2Vt
YXBob3JlKEpTQ29udGV4dFJlZiwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3Qs
IHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1Zh
bHVlUmVmKiBleGNlcHRpb24pOwpAQCAtNzYwLDYgKzc2MSw3IEBAIGNvbnN0IEpTU3RhdGljRnVu
Y3Rpb24qIEpTSVBDOjpzdGF0aWNGdW5jdGlvbnMoKQogICAgICAgICB7ICJhZGRPdXRnb2luZ01l
c3NhZ2VMaXN0ZW5lciIsIGFkZE91dGdvaW5nTWVzc2FnZUxpc3RlbmVyLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0sCiAgICAg
ICAgIHsgInNlbmRNZXNzYWdlIiwgc2VuZE1lc3NhZ2UsIGtKU1Byb3BlcnR5QXR0cmlidXRlRG9u
dERlbGV0ZSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfSwKICAgICAgICAgeyAic2Vu
ZFN5bmNNZXNzYWdlIiwgc2VuZFN5bmNNZXNzYWdlLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0sCisgICAgICAgIHsgIndhaXRG
b3JNZXNzYWdlIiwgd2FpdEZvck1lc3NhZ2UsIGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0
ZSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfSwKICAgICAgICAgeyAiY3JlYXRlU3Ry
ZWFtQ2xpZW50Q29ubmVjdGlvbiIsIGNyZWF0ZVN0cmVhbUNsaWVudENvbm5lY3Rpb24sIGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fSwKICAgICAgICAgeyAiY3JlYXRlU2VtYXBob3JlIiwgY3JlYXRlU2VtYXBob3JlLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0s
CiAgICAgICAgIHsgImNyZWF0ZVNoYXJlZE1lbW9yeSIsIGNyZWF0ZVNoYXJlZE1lbW9yeSwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25s
eSB9LApAQCAtMTM4Niw0OCArMTM4OCw5NCBAQCBBTExPV19ORVdfQVBJX1dJVEhPVVRfR1VBUkRT
X0VORAogICAgIHJldHVybiByZXR1cm5WYWx1ZTsKIH0KIAotSlNWYWx1ZVJlZiBKU0lQQzo6c2Vu
ZFN5bmNNZXNzYWdlKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiwgSlNPYmplY3RS
ZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJn
dW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKLXsKLSAgICBhdXRvKiBnbG9iYWxPYmpl
Y3QgPSB0b0pTKGNvbnRleHQpOwotICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2soZ2xvYmFsT2Jq
ZWN0LT52bSgpKTsKLSAgICBSZWZQdHIganNJUEMgPSB0b1dyYXBwZWQoY29udGV4dCwgdGhpc09i
amVjdCk7Ci0gICAgaWYgKCFqc0lQQykgewotICAgICAgICAqZXhjZXB0aW9uID0gY3JlYXRlVHlw
ZUVycm9yKGNvbnRleHQsICJXcm9uZyB0eXBlIl9zKTsKLSAgICAgICAgcmV0dXJuIEpTVmFsdWVN
YWtlVW5kZWZpbmVkKGNvbnRleHQpOwotICAgIH0KK3N0cnVjdCBTeW5jSVBDTWVzc2FnZUluZm8g
eworICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IGNvbm5lY3Rpb247CisgICAgdWludDY0X3QgZGVz
dGluYXRpb25JRDsKKyAgICBJUEM6Ok1lc3NhZ2VOYW1lIG1lc3NhZ2VOYW1lOworICAgIElQQzo6
VGltZW91dCB0aW1lb3V0OworfTsKIAorc3RhdGljIHN0ZDo6b3B0aW9uYWw8U3luY0lQQ01lc3Nh
Z2VJbmZvPiBleHRyYWN0U3luY0lQQ01lc3NhZ2VJbmZvKEpTQ29udGV4dFJlZiBjb250ZXh0LCBz
aXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1
ZVJlZiogZXhjZXB0aW9uKQorewogICAgIGlmIChhcmd1bWVudENvdW50IDwgNCkgewogICAgICAg
ICAqZXhjZXB0aW9uID0gY3JlYXRlVHlwZUVycm9yKGNvbnRleHQsICJNdXN0IHNwZWNpZnkgdGhl
IHRhcmdldCBwcm9jZXNzLCBkZXNpbmF0aW9uIElELCBhbmQgbWVzc2FnZSBJRCBhcyB0aGUgZmly
c3QgdGhyZWUgYXJndW1lbnRzIl9zKTsKLSAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZp
bmVkKGNvbnRleHQpOworICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0KIAorICAg
IGF1dG8qIGdsb2JhbE9iamVjdCA9IHRvSlMoY29udGV4dCk7CiAgICAgYXV0byBjb25uZWN0aW9u
ID0gcHJvY2Vzc1RhcmdldEZyb21Bcmd1bWVudChnbG9iYWxPYmplY3QsIGFyZ3VtZW50c1swXSwg
ZXhjZXB0aW9uKTsKICAgICBpZiAoIWNvbm5lY3Rpb24pCi0gICAgICAgIHJldHVybiBKU1ZhbHVl
TWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAog
ICAgIGF1dG8gZGVzdGluYXRpb25JRCA9IGRlc3RpbmF0aW9uSURGcm9tQXJndW1lbnQoZ2xvYmFs
T2JqZWN0LCBhcmd1bWVudHNbMV0sIGV4Y2VwdGlvbik7CiAgICAgaWYgKCFkZXN0aW5hdGlvbklE
KQotICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKICAgICBhdXRvIG1lc3NhZ2VJRCA9IG1lc3NhZ2VJREZy
b21Bcmd1bWVudChnbG9iYWxPYmplY3QsIGFyZ3VtZW50c1syXSwgZXhjZXB0aW9uKTsKICAgICBp
ZiAoIW1lc3NhZ2VJRCkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRl
eHQpOworICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgU2Vjb25kcyB0aW1lb3V0
OworICAgIFNlY29uZHMgdGltZW91dER1cmF0aW9uOwogICAgIHsKICAgICAgICAgYXV0byBqc1Zh
bHVlID0gdG9KUyhnbG9iYWxPYmplY3QsIGFyZ3VtZW50c1szXSk7CiAgICAgICAgIGlmICghanNW
YWx1ZS5pc051bWJlcigpKSB7CiAgICAgICAgICAgICAqZXhjZXB0aW9uID0gY3JlYXRlVHlwZUVy
cm9yKGNvbnRleHQsICJUaW1lb3V0IG11c3QgYmUgYSBudW1iZXIiX3MpOworICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgfQorICAgICAgICB0aW1lb3V0RHVyYXRpb24g
PSBTZWNvbmRzIHsganNWYWx1ZS5hc051bWJlcigpIH07CisgICAgfQorCisgICAgcmV0dXJuIHsg
eyBjb25uZWN0aW9uLnJlbGVhc2VOb25OdWxsKCksICpkZXN0aW5hdGlvbklELCBzdGF0aWNfY2Fz
dDxJUEM6Ok1lc3NhZ2VOYW1lPigqbWVzc2FnZUlEKSwgeyB0aW1lb3V0RHVyYXRpb24gfSB9IH07
Cit9CisKK0pTVmFsdWVSZWYgSlNJUEM6OndhaXRGb3JNZXNzYWdlKEpTQ29udGV4dFJlZiBjb250
ZXh0LCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50
Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlv
bikKK3sKKyAgICBhdXRvKiBnbG9iYWxPYmplY3QgPSB0b0pTKGNvbnRleHQpOworICAgIEpTQzo6
SlNMb2NrSG9sZGVyIGxvY2soZ2xvYmFsT2JqZWN0LT52bSgpKTsKKyAgICBSZWZQdHIganNJUEMg
PSB0b1dyYXBwZWQoY29udGV4dCwgdGhpc09iamVjdCk7CisgICAgaWYgKCFqc0lQQykgeworICAg
ICAgICAqZXhjZXB0aW9uID0gY3JlYXRlVHlwZUVycm9yKGNvbnRleHQsICJXcm9uZyB0eXBlIl9z
KTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworICAgIH0K
KworICAgIGF1dG8gaW5mbyA9IGV4dHJhY3RTeW5jSVBDTWVzc2FnZUluZm8oY29udGV4dCwgYXJn
dW1lbnRDb3VudCwgYXJndW1lbnRzLCBleGNlcHRpb24pOworICAgIGlmICghaW5mbykKKyAgICAg
ICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworCisgICAgYXV0byBbY29u
bmVjdGlvbiwgZGVzdGluYXRpb25JRCwgbWVzc2FnZU5hbWUsIHRpbWVvdXRdID0gKmluZm87Cisg
ICAgaWYgKGF1dG8gZGVjb2RlciA9IGNvbm5lY3Rpb24tPndhaXRGb3JNZXNzYWdlKG1lc3NhZ2VO
YW1lLCBkZXN0aW5hdGlvbklELCB0aW1lb3V0LCB7IH0pKSB7CisgICAgICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX0NBVENIX1NDT1BFKGdsb2JhbE9iamVjdC0+dm0oKSk7CisgICAgICAgIGF1dG8g
anNSZXN1bHQgPSBqc1ZhbHVlRm9yQXJndW1lbnRzKGdsb2JhbE9iamVjdCwgbWVzc2FnZU5hbWUs
ICpkZWNvZGVyKTsKKyAgICAgICAgaWYgKHNjb3BlLmV4Y2VwdGlvbigpKSB7CisgICAgICAgICAg
ICAqZXhjZXB0aW9uID0gdG9SZWYoZ2xvYmFsT2JqZWN0LCBzY29wZS5leGNlcHRpb24oKSk7Cisg
ICAgICAgICAgICBzY29wZS5jbGVhckV4Y2VwdGlvbigpOwogICAgICAgICAgICAgcmV0dXJuIEpT
VmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwogICAgICAgICB9Ci0gICAgICAgIHRpbWVvdXQg
PSBTZWNvbmRzIHsganNWYWx1ZS5hc051bWJlcigpIH07CisgICAgICAgIHJldHVybiBqc1Jlc3Vs
dCA/IHRvUmVmKGdsb2JhbE9iamVjdCwgKmpzUmVzdWx0KSA6IEpTVmFsdWVNYWtlVW5kZWZpbmVk
KGNvbnRleHQpOwogICAgIH0KKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4
dCk7Cit9CisKK0pTVmFsdWVSZWYgSlNJUEM6OnNlbmRTeW5jTWVzc2FnZShKU0NvbnRleHRSZWYg
Y29udGV4dCwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1
bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24pCit7CisgICAgYXV0byogZ2xvYmFsT2JqZWN0ID0gdG9KUyhjb250ZXh0KTsKKyAgICBK
U0M6OkpTTG9ja0hvbGRlciBsb2NrKGdsb2JhbE9iamVjdC0+dm0oKSk7CisgICAgUmVmUHRyIGpz
SVBDID0gdG9XcmFwcGVkKGNvbnRleHQsIHRoaXNPYmplY3QpOworICAgIGlmICghanNJUEMpIHsK
KyAgICAgICAgKmV4Y2VwdGlvbiA9IGNyZWF0ZVR5cGVFcnJvcihjb250ZXh0LCAiV3JvbmcgdHlw
ZSJfcyk7CisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKyAg
ICB9CisKKyAgICBhdXRvIGluZm8gPSBleHRyYWN0U3luY0lQQ01lc3NhZ2VJbmZvKGNvbnRleHQs
IGFyZ3VtZW50Q291bnQsIGFyZ3VtZW50cywgZXhjZXB0aW9uKTsKKyAgICBpZiAoIWluZm8pCisg
ICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKworICAgIGF1dG8g
W2Nvbm5lY3Rpb24sIGRlc3RpbmF0aW9uSUQsIG1lc3NhZ2VOYW1lLCB0aW1lb3V0XSA9ICppbmZv
OwogCiAgICAgLy8gRklYTUU6IFN1cHBvcnQgdGhlIG9wdGlvbnMuCiAKICAgICBJUEM6OkNvbm5l
Y3Rpb246OlN5bmNSZXF1ZXN0SUQgc3luY1JlcXVlc3RJRDsKLSAgICBhdXRvIG1lc3NhZ2VOYW1l
ID0gc3RhdGljX2Nhc3Q8SVBDOjpNZXNzYWdlTmFtZT4oKm1lc3NhZ2VJRCk7Ci0gICAgYXV0byBl
bmNvZGVyID0gY29ubmVjdGlvbi0+Y3JlYXRlU3luY01lc3NhZ2VFbmNvZGVyKG1lc3NhZ2VOYW1l
LCAqZGVzdGluYXRpb25JRCwgc3luY1JlcXVlc3RJRCk7CisgICAgYXV0byBlbmNvZGVyID0gY29u
bmVjdGlvbi0+Y3JlYXRlU3luY01lc3NhZ2VFbmNvZGVyKG1lc3NhZ2VOYW1lLCBkZXN0aW5hdGlv
bklELCBzeW5jUmVxdWVzdElEKTsKIAogICAgIGlmIChhcmd1bWVudENvdW50ID4gNCkgewogICAg
ICAgICBpZiAoIWVuY29kZUFyZ3VtZW50KGVuY29kZXIuZ2V0KCksICpqc0lQQywgY29udGV4dCwg
YXJndW1lbnRzWzRdLCBleGNlcHRpb24pKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDZhMDVlMmJkMGMzN2FhMzUzNzNkNmJlZTg1ODQyMTc0MDI4
NDFmNGMuLjU5NTM2YmI3YzE4ODc1MTAyNWFjZTU0NjBhNDBmNmQzZjNiMzkwNTMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAyMS0xMC0xNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbSlMgSVBDXSBJbXBsZW1lbnQgYSB3YXkgdG8gc3luY2hyb25vdXNseSB3YWl0IGZv
ciBhbiBpbmNvbWluZyBJUEMgbWVzc2FnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNzQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRqdXN0IGFuIGV4aXN0aW5nIEpTIElQQyB0ZXN0LCBJUENUZXN0
aW5nQVBJLkNhblJlY2VpdmVJUENTZW1hcGhvcmUsIHNvIHRoYXQgaXQgdXNlcyB0aGUgbmV3IEpT
SVBDIG1ldGhvZCB0bworICAgICAgICB3YWl0IGZvciBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kJ3Mg
SVBDIHN0cmVhbSB3YWtldXAgc2VtYXBob3JlIHRvIGFycml2ZS4gVGhpcyBmaXhlcworICAgICAg
ICBJUENUZXN0aW5nQVBJLkNhblJlY2VpdmVJUENTZW1hcGhvcmUgKHdoaWNoIGlzIG9uZSBvZiB0
aGUgdHdvIElQQyB0ZXN0cyB0aGF0IHRpbWUgb3V0IGFmdGVyIHIyODQwNzkpLgorCisgICAgICAg
IFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0lQQ1Rlc3RpbmdBUEkubW06CisgICAgICAgIChU
RVNUKToKKwogMjAyMS0xMC0xMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBbSlMgSVBDXSBNYWtlIGl0IHBvc3NpYmxlIHRvIGVzdGFibGlzaCBhIHN0
cmVhbSBjb25uZWN0aW9uIHVzaW5nIHRoZSBKUyBJUEMgdGVzdGluZyBBUEkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSVBDVGVzdGluZ0FQSS5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSVBDVGVzdGluZ0FQSS5tbQpp
bmRleCBkOTJjZWMxOGZlMDQ4MDFiYmRkYTU5M2ZlYzI4N2FkYWRkYjc5NTMyLi5kNzZhYzA3NmJl
ZjZkM2VkMDUyNmQwNzVkMmRkMzBkNzdmNzI0MzQxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0lQQ1Rlc3RpbmdBUEkubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JUENUZXN0aW5nQVBJLm1tCkBAIC0yOTksOSAr
Mjk5LDggQEAgVEVTVChJUENUZXN0aW5nQVBJLCBDYW5SZWNlaXZlSVBDU2VtYXBob3JlKQogICAg
ICAgICAiICAgIHsgdHlwZTogJ1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlvblBhcmFtZXRl
cnMnLCAnaWRlbnRpZmllcic6IDEyMywgJ3BhZ2VQcm94eUlEJzogSVBDLndlYlBhZ2VQcm94eUlE
LCAncGFnZUlEJzogSVBDLnBhZ2VJRCB9LCIKICAgICAgICAgIiAgICB7IHR5cGU6ICdTdHJlYW1D
b25uZWN0aW9uQnVmZmVyJywgdmFsdWU6IHN0cmVhbUNvbm5lY3Rpb24uc3RyZWFtQnVmZmVyKCkg
fSwiCiAgICAgICAgICJdKTsiCi0gICAgICAgICJjb25zdCByZXN1bHQgPSBJUEMuc2VuZFN5bmNN
ZXNzYWdlKCdHUFUnLCAxMjMsIElQQy5tZXNzYWdlcy5SZW1vdGVSZW5kZXJpbmdCYWNrZW5kX1Nl
bWFwaG9yZUZvckdldFBpeGVsQnVmZmVyLm5hbWUsIDEwMCwgW10pOyIKLSAgICAgICAgInNlbWFw
aG9yZS5zaWduYWwoKTsiCi0gICAgICAgICJhbGVydChyZXN1bHQuYXJndW1lbnRzLmxlbmd0aCAr
ICc6JyArIHJlc3VsdC5hcmd1bWVudHNbMF0udHlwZSArICc6JyArIHJlc3VsdC5hcmd1bWVudHNb
MF0udmFsdWUud2FpdEZvcigxMDApKTsiCisgICAgICAgICJjb25zdCBhcmd1bWVudHMgPSBJUEMu
d2FpdEZvck1lc3NhZ2UoJ0dQVScsIDEyMywgSVBDLm1lc3NhZ2VzLlJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRQcm94eV9EaWRDcmVhdGVXYWtlVXBTZW1hcGhvcmVGb3JEaXNwbGF5TGlzdFN0cmVhbS5u
YW1lLCAzKTsiCisgICAgICAgICJhbGVydChhcmd1bWVudHMubGVuZ3RoICsgJzonICsgYXJndW1l
bnRzWzBdLnR5cGUgKyAnOicgKyBhcmd1bWVudHNbMF0udmFsdWUud2FpdEZvcigxMDApKTsiCiAg
ICAgICAgICI8L3NjcmlwdD4iOwogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0
cmluZzpodG1sXTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441232</attachid>
            <date>2021-10-14 10:02:21 -0700</date>
            <delta_ts>2021-10-14 14:04:36 -0700</delta_ts>
            <desc>Add setWakeUpSemaphore too</desc>
            <filename>bug-231745-20211014100221.patch</filename>
            <type>text/plain</type>
            <size>15693</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE5ZDZjMjBhNTdkODJjMTA0
YTE1ZDIyMjY3NTgwMWRlNThmNTgxNGUuLmI0OTMzZjJjMWRjYjk0YjkxYzY3OGQxYjk0ZTY1OGQ2
NDA2ZjVmMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjEtMTAtMTQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTIElQQ10gSW1wbGVt
ZW50IGEgd2F5IHRvIHN5bmNocm9ub3VzbHkgd2FpdCBmb3IgYW4gaW5jb21pbmcgSVBDIG1lc3Nh
Z2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTc0
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBgSVBDLndhaXRGb3JNZXNzYWdlKClgLCB3aGljaCBibG9ja3MgdW50aWwgd2Ug
cmVjZWl2ZSBhbiBpbmNvbWluZyBJUEMgbWVzc2FnZSB0aGF0IG1hdGNoZXMgdGhlCisgICAgICAg
IGdpdmVuIG1lc3NhZ2UgbmFtZSBhbmQgZGVzdGluYXRpb24gSUQuIFdlIHVzZSB0aGlzIG5ldyBt
ZXRob2QgdG8gZml4IHRoZSBmYWlsaW5nIEFQSSB0ZXN0CisgICAgICAgIElQQ1Rlc3RpbmdBUEku
Q2FuUmVjZWl2ZUlQQ1NlbWFwaG9yZSwgd2hpY2ggdmVyaWZpZXMgdGhhdCB3ZSdyZSBhYmxlIHRv
IHJlY2VpdmUsIGRlY29kZSwgYW5kIGNhbGwgbWV0aG9kcyBvbgorICAgICAgICBhbiBJUEMgc2Vt
YXBob3JlIHNlbnQgZnJvbSB0aGUgR1BVIHByb2Nlc3MgdG8gdGhlIHdlYiBwcm9jZXNzLiBJbiB0
aGlzIGNhc2UsIHdlIHdhaXQgZm9yIHRoZSBpbmNvbWluZworICAgICAgICAiUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5OjpEaWRDcmVhdGVXYWtlVXBTZW1hcGhvcmVGb3JEaXNwbGF5TGlzdFN0
cmVhbSIgbWVzc2FnZSBhZnRlciBjcmVhdGluZyB0aGUgcmVtb3RlCisgICAgICAgIHJlbmRlcmlu
ZyBiYWNrZW5kIGluIHRoZSBHUFUgcHJvY2Vzcy4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9D
b25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0lQQ1Rlc3RpbmdBUEku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVhbUNsaWVudENv
bm5lY3Rpb246OnNldFdha2VVcFNlbWFwaG9yZSk6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3Rp
bmdBUEk6OkpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6c3RhdGljRnVuY3Rpb25zKToKKwor
ICAgICAgICBBbHNvIGFkZCBhIG1ldGhvZCBvbiBKU0lQQ1N0cmVhbUNsaWVudENvbm5lY3Rpb24g
dG8gaW5zdGFsbCBhIGdpdmVuIElQQyBzZW1hcGhvcmUgYXMgdGhlIHdha2V1cCBzZW1hcGhvcmUg
Zm9yCisgICAgICAgIHRoZSBJUEMgc3RyZWFtLiBXZSdsbCB1c2UgdGhpcyBpbiB0aGUgbmV4dCBw
YXRjaCB3aGVuIGltcGxlbWVudGluZyB0aGUgYWJpbGl0eSB0byBzZW5kIG1lc3NhZ2VzIHRocm91
Z2ggdGhlIElQQworICAgICAgICBzdHJlYW0uCisKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGlu
Z0FQSTo6SlNJUEM6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3Rp
bmdBUEk6OmV4dHJhY3RTeW5jSVBDTWVzc2FnZUluZm8pOgorCisgICAgICAgIFB1bGwgbG9naWMg
Zm9yIGV4dHJhY3RpbmcgYW4gSVBDOjpDb25uZWN0aW9uLCBkZXN0aW5hdGlvbiBJRCwgbWVzc2Fn
ZSBuYW1lLCBhbmQgSVBDIHRpbWVvdXQgaW50byBhIHNlcGFyYXRlCisgICAgICAgIGhlbHBlciBm
dW5jdGlvbiwgYW5kIHVzZSBpdCBpbiBgd2FpdEZvck1lc3NhZ2VgIGFzIHdlbGwgYXMgYHNlbmRT
eW5jTWVzc2FnZWAuCisKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJUEM6Ondh
aXRGb3JNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGluZ0FQSTo6SlNJUEM6OnNl
bmRTeW5jTWVzc2FnZSk6CisKIDIwMjEtMTAtMTMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTIElQQ10gTWFrZSBpdCBwb3NzaWJsZSB0byBlc3Rh
Ymxpc2ggYSBzdHJlYW0gY29ubmVjdGlvbiB1c2luZyB0aGUgSlMgSVBDIHRlc3RpbmcgQVBJCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKaW5kZXggYzI4ZmM3YWNlZmQyYjIz
NjVkOGNlNGMzYjMyMzg3ZjhlMTM5MTlkOC4uMjIwZTVlYWJjYzQwOTk2OGVmN2JmZjAwOWVjNzYy
ODI1YzNlMGM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaApAQCAt
NTYsNiArNTYsMTIgQEAKICNpbmNsdWRlIDx3dGYvZ2xpYi9HU29ja2V0TW9uaXRvci5oPgogI2Vu
ZGlmCiAKK25hbWVzcGFjZSBXZWJLaXQgeworbmFtZXNwYWNlIElQQ1Rlc3RpbmdBUEkgeworY2xh
c3MgSlNJUEM7Cit9Cit9CisKIG5hbWVzcGFjZSBJUEMgewogCiBlbnVtIGNsYXNzIFNlbmRPcHRp
b24gewpAQCAtNTA3LDYgKzUxMyw3IEBAIHByaXZhdGU6CiAgICAgSEFORExFIG1fY29ubmVjdGlv
blBpcGUgeyBJTlZBTElEX0hBTkRMRV9WQUxVRSB9OwogI2VuZGlmCiAgICAgZnJpZW5kIGNsYXNz
IFN0cmVhbUNsaWVudENvbm5lY3Rpb247CisgICAgZnJpZW5kIGNsYXNzIFdlYktpdDo6SVBDVGVz
dGluZ0FQSTo6SlNJUEM7CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvSVBDVGVzdGluZ0FQSS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9JUENUZXN0aW5nQVBJLmNwcAppbmRleCAyNDk4
N2M3ZGQzODNkY2RjZWE2Yzk2M2Y0Nzg5ZDg2OTNjNmRmZTA2Li4yZGFmM2VhYjIyZjRhNGUyNTU1
ZWU4NDc3ZjY2ZjA3MTkzMzhmMTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9JUENUZXN0aW5nQVBJLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9JUENUZXN0aW5nQVBJLmNwcApAQCAtMTEyLDYgKzExMiw4IEBAIHByaXZhdGU6
CiAgICAgICAgIDogbV9zdHJlYW1Db25uZWN0aW9uIHsgY29ubmVjdGlvbiwgYnVmZmVyU2l6ZSB9
CiAgICAgeyB9CiAKKyAgICB2b2lkIHNldFdha2VVcFNlbWFwaG9yZShKU0lQQ1NlbWFwaG9yZSYg
anNTZW1hcGhvcmUpIHsgbV9zdHJlYW1Db25uZWN0aW9uLnNldFdha2VVcFNlbWFwaG9yZShqc1Nl
bWFwaG9yZS5leGNoYW5nZSgpKTsgfQorCiAgICAgc3RhdGljIEpTQ2xhc3NSZWYgd3JhcHBlckNs
YXNzKCk7CiAgICAgc3RhdGljIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbiogdW53cmFwKEpT
T2JqZWN0UmVmKTsKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKEpTQ29udGV4dFJlZiwgSlNP
YmplY3RSZWYpOwpAQCAtMTE5LDYgKzEyMSw3IEBAIHByaXZhdGU6CiAKICAgICBzdGF0aWMgY29u
c3QgSlNTdGF0aWNGdW5jdGlvbiogc3RhdGljRnVuY3Rpb25zKCk7CiAgICAgc3RhdGljIEpTVmFs
dWVSZWYgc3RyZWFtQnVmZmVyKEpTQ29udGV4dFJlZiwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVm
IHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3Vt
ZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOworICAgIHN0YXRpYyBKU1ZhbHVlUmVmIHNl
dFdha2VVcFNlbWFwaG9yZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0
aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVu
dHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKIAogICAgIElQQzo6U3RyZWFtQ2xpZW50Q29u
bmVjdGlvbiBtX3N0cmVhbUNvbm5lY3Rpb247CiB9OwpAQCAtMjQxLDYgKzI0NCw3IEBAIHByaXZh
dGU6CiAKICAgICBzdGF0aWMgSlNWYWx1ZVJlZiBzZW5kTWVzc2FnZShKU0NvbnRleHRSZWYsIEpT
T2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwg
Y29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKICAg
ICBzdGF0aWMgSlNWYWx1ZVJlZiBzZW5kU3luY01lc3NhZ2UoSlNDb250ZXh0UmVmLCBKU09iamVj
dFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0
IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CisgICAgc3Rh
dGljIEpTVmFsdWVSZWYgd2FpdEZvck1lc3NhZ2UoSlNDb250ZXh0UmVmLCBKU09iamVjdFJlZiwg
SlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFs
dWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CiAKICAgICBzdGF0aWMg
SlNWYWx1ZVJlZiBjcmVhdGVTdHJlYW1DbGllbnRDb25uZWN0aW9uKEpTQ29udGV4dFJlZiwgSlNP
YmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBj
b25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOwogICAg
IHN0YXRpYyBKU1ZhbHVlUmVmIGNyZWF0ZVNlbWFwaG9yZShKU0NvbnRleHRSZWYsIEpTT2JqZWN0
UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3Qg
SlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKQEAgLTM5Miw2
ICszOTYsNyBAQCBjb25zdCBKU1N0YXRpY0Z1bmN0aW9uKiBKU0lQQ1N0cmVhbUNsaWVudENvbm5l
Y3Rpb246OnN0YXRpY0Z1bmN0aW9ucygpCiB7CiAgICAgc3RhdGljIGNvbnN0IEpTU3RhdGljRnVu
Y3Rpb24gZnVuY3Rpb25zW10gPSB7CiAgICAgICAgIHsgInN0cmVhbUJ1ZmZlciIsIHN0cmVhbUJ1
ZmZlciwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB9LAorICAgICAgICB7ICJzZXRXYWtlVXBTZW1hcGhvcmUiLCBzZXRXYWtlVXBT
ZW1hcGhvcmUsIGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB8IGtKU1Byb3BlcnR5QXR0
cmlidXRlUmVhZE9ubHkgfSwKICAgICAgICAgeyAwLCAwLCAwIH0KICAgICB9OwogICAgIHJldHVy
biBmdW5jdGlvbnM7CkBAIC00MDgsNiArNDEzLDI5IEBAIEpTVmFsdWVSZWYgSlNJUENTdHJlYW1D
bGllbnRDb25uZWN0aW9uOjpzdHJlYW1CdWZmZXIoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2Jq
CiAgICAgcmV0dXJuIEpTSVBDU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlcjo6Y3JlYXRlKCpqc1N0cmVh
bUNvbm5lY3Rpb24pLT5jcmVhdGVKU1dyYXBwZXIoY29udGV4dCk7CiB9CiAKK0pTVmFsdWVSZWYg
SlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjpzZXRXYWtlVXBTZW1hcGhvcmUoSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3Qg
YXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiog
ZXhjZXB0aW9uKQoreworICAgIFJlZlB0ciBqc1N0cmVhbUNvbm5lY3Rpb24gPSB0b1dyYXBwZWQo
Y29udGV4dCwgdGhpc09iamVjdCk7CisgICAgaWYgKCFqc1N0cmVhbUNvbm5lY3Rpb24pIHsKKyAg
ICAgICAgKmV4Y2VwdGlvbiA9IGNyZWF0ZVR5cGVFcnJvcihjb250ZXh0LCAiV3JvbmcgdHlwZSJf
cyk7CisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKyAgICB9
CisKKyAgICBpZiAoYXJndW1lbnRDb3VudCA8IDEpIHsKKyAgICAgICAgKmV4Y2VwdGlvbiA9IGNy
ZWF0ZVR5cGVFcnJvcihjb250ZXh0LCAiTXVzdCBzcGVjaWZ5IGFuIElQQyBzZW1hcGhvcmUgYXMg
dGhlIGZpcnN0IGFyZ3VtZW50Il9zKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZp
bmVkKGNvbnRleHQpOworICAgIH0KKworICAgIFJlZlB0ciBqc1NlbWFwaG9yZSA9IEpTSVBDU2Vt
YXBob3JlOjp0b1dyYXBwZWQoY29udGV4dCwgYXJndW1lbnRzWzBdKTsKKyAgICBpZiAoIWpzU2Vt
YXBob3JlKSB7CisgICAgICAgICpleGNlcHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29udGV4dCwg
Ildyb25nIHR5cGUgKGV4cGVjdGVkIFNlbWFwaG9yZSkiX3MpOworICAgICAgICByZXR1cm4gSlNW
YWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisgICAgfQorCisgICAganNTdHJlYW1Db25uZWN0
aW9uLT5zZXRXYWtlVXBTZW1hcGhvcmUoKmpzU2VtYXBob3JlKTsKKyAgICByZXR1cm4gSlNWYWx1
ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKIEpTT2JqZWN0UmVmIEpTSVBDU3RyZWFtQ29u
bmVjdGlvbkJ1ZmZlcjo6Y3JlYXRlSlNXcmFwcGVyKEpTQ29udGV4dFJlZiBjb250ZXh0KQogewog
ICAgIGF1dG8qIGdsb2JhbE9iamVjdCA9IHRvSlMoY29udGV4dCk7CkBAIC03NjAsNiArNzg4LDcg
QEAgY29uc3QgSlNTdGF0aWNGdW5jdGlvbiogSlNJUEM6OnN0YXRpY0Z1bmN0aW9ucygpCiAgICAg
ICAgIHsgImFkZE91dGdvaW5nTWVzc2FnZUxpc3RlbmVyIiwgYWRkT3V0Z29pbmdNZXNzYWdlTGlz
dGVuZXIsIGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlUmVhZE9ubHkgfSwKICAgICAgICAgeyAic2VuZE1lc3NhZ2UiLCBzZW5kTWVzc2FnZSwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25s
eSB9LAogICAgICAgICB7ICJzZW5kU3luY01lc3NhZ2UiLCBzZW5kU3luY01lc3NhZ2UsIGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fSwKKyAgICAgICAgeyAid2FpdEZvck1lc3NhZ2UiLCB3YWl0Rm9yTWVzc2FnZSwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVEb250RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB9LAog
ICAgICAgICB7ICJjcmVhdGVTdHJlYW1DbGllbnRDb25uZWN0aW9uIiwgY3JlYXRlU3RyZWFtQ2xp
ZW50Q29ubmVjdGlvbiwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIHwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVSZWFkT25seSB9LAogICAgICAgICB7ICJjcmVhdGVTZW1hcGhvcmUiLCBjcmVh
dGVTZW1hcGhvcmUsIGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB8IGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfSwKICAgICAgICAgeyAiY3JlYXRlU2hhcmVkTWVtb3J5IiwgY3Jl
YXRlU2hhcmVkTWVtb3J5LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0sCkBAIC0xMzg2LDQ4ICsxNDE1LDk0IEBAIEFMTE9XX05F
V19BUElfV0lUSE9VVF9HVUFSRFNfRU5ECiAgICAgcmV0dXJuIHJldHVyblZhbHVlOwogfQogCi1K
U1ZhbHVlUmVmIEpTSVBDOjpzZW5kU3luY01lc3NhZ2UoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
T2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwg
Y29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQotewot
ICAgIGF1dG8qIGdsb2JhbE9iamVjdCA9IHRvSlMoY29udGV4dCk7Ci0gICAgSlNDOjpKU0xvY2tI
b2xkZXIgbG9jayhnbG9iYWxPYmplY3QtPnZtKCkpOwotICAgIFJlZlB0ciBqc0lQQyA9IHRvV3Jh
cHBlZChjb250ZXh0LCB0aGlzT2JqZWN0KTsKLSAgICBpZiAoIWpzSVBDKSB7Ci0gICAgICAgICpl
eGNlcHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29udGV4dCwgIldyb25nIHR5cGUiX3MpOwotICAg
ICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci0gICAgfQorc3RydWN0
IFN5bmNJUENNZXNzYWdlSW5mbyB7CisgICAgUmVmPElQQzo6Q29ubmVjdGlvbj4gY29ubmVjdGlv
bjsKKyAgICB1aW50NjRfdCBkZXN0aW5hdGlvbklEOworICAgIElQQzo6TWVzc2FnZU5hbWUgbWVz
c2FnZU5hbWU7CisgICAgSVBDOjpUaW1lb3V0IHRpbWVvdXQ7Cit9OwogCitzdGF0aWMgc3RkOjpv
cHRpb25hbDxTeW5jSVBDTWVzc2FnZUluZm8+IGV4dHJhY3RTeW5jSVBDTWVzc2FnZUluZm8oSlND
b250ZXh0UmVmIGNvbnRleHQsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVm
IGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CiAgICAgaWYgKGFyZ3VtZW50
Q291bnQgPCA0KSB7CiAgICAgICAgICpleGNlcHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29udGV4
dCwgIk11c3Qgc3BlY2lmeSB0aGUgdGFyZ2V0IHByb2Nlc3MsIGRlc2luYXRpb24gSUQsIGFuZCBt
ZXNzYWdlIElEIGFzIHRoZSBmaXJzdCB0aHJlZSBhcmd1bWVudHMiX3MpOwotICAgICAgICByZXR1
cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAgICAgfQogCisgICAgYXV0byogZ2xvYmFsT2JqZWN0ID0gdG9KUyhjb250ZXh0KTsK
ICAgICBhdXRvIGNvbm5lY3Rpb24gPSBwcm9jZXNzVGFyZ2V0RnJvbUFyZ3VtZW50KGdsb2JhbE9i
amVjdCwgYXJndW1lbnRzWzBdLCBleGNlcHRpb24pOwogICAgIGlmICghY29ubmVjdGlvbikKLSAg
ICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OwogCiAgICAgYXV0byBkZXN0aW5hdGlvbklEID0gZGVzdGluYXRpb25J
REZyb21Bcmd1bWVudChnbG9iYWxPYmplY3QsIGFyZ3VtZW50c1sxXSwgZXhjZXB0aW9uKTsKICAg
ICBpZiAoIWRlc3RpbmF0aW9uSUQpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5l
ZChjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAogICAgIGF1dG8gbWVz
c2FnZUlEID0gbWVzc2FnZUlERnJvbUFyZ3VtZW50KGdsb2JhbE9iamVjdCwgYXJndW1lbnRzWzJd
LCBleGNlcHRpb24pOwogICAgIGlmICghbWVzc2FnZUlEKQotICAgICAgICByZXR1cm4gSlNWYWx1
ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAK
LSAgICBTZWNvbmRzIHRpbWVvdXQ7CisgICAgU2Vjb25kcyB0aW1lb3V0RHVyYXRpb247CiAgICAg
ewogICAgICAgICBhdXRvIGpzVmFsdWUgPSB0b0pTKGdsb2JhbE9iamVjdCwgYXJndW1lbnRzWzNd
KTsKICAgICAgICAgaWYgKCFqc1ZhbHVlLmlzTnVtYmVyKCkpIHsKICAgICAgICAgICAgICpleGNl
cHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29udGV4dCwgIlRpbWVvdXQgbXVzdCBiZSBhIG51bWJl
ciJfcyk7CisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICB9CisgICAg
ICAgIHRpbWVvdXREdXJhdGlvbiA9IFNlY29uZHMgeyBqc1ZhbHVlLmFzTnVtYmVyKCkgfTsKKyAg
ICB9CisKKyAgICByZXR1cm4geyB7IGNvbm5lY3Rpb24ucmVsZWFzZU5vbk51bGwoKSwgKmRlc3Rp
bmF0aW9uSUQsIHN0YXRpY19jYXN0PElQQzo6TWVzc2FnZU5hbWU+KCptZXNzYWdlSUQpLCB7IHRp
bWVvdXREdXJhdGlvbiB9IH0gfTsKK30KKworSlNWYWx1ZVJlZiBKU0lQQzo6d2FpdEZvck1lc3Nh
Z2UoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2Jq
ZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwg
SlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIGF1dG8qIGdsb2JhbE9iamVjdCA9IHRvSlMo
Y29udGV4dCk7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9jayhnbG9iYWxPYmplY3QtPnZtKCkp
OworICAgIFJlZlB0ciBqc0lQQyA9IHRvV3JhcHBlZChjb250ZXh0LCB0aGlzT2JqZWN0KTsKKyAg
ICBpZiAoIWpzSVBDKSB7CisgICAgICAgICpleGNlcHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29u
dGV4dCwgIldyb25nIHR5cGUiX3MpOworICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmlu
ZWQoY29udGV4dCk7CisgICAgfQorCisgICAgYXV0byBpbmZvID0gZXh0cmFjdFN5bmNJUENNZXNz
YWdlSW5mbyhjb250ZXh0LCBhcmd1bWVudENvdW50LCBhcmd1bWVudHMsIGV4Y2VwdGlvbik7Cisg
ICAgaWYgKCFpbmZvKQorICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4
dCk7CisKKyAgICBhdXRvIFtjb25uZWN0aW9uLCBkZXN0aW5hdGlvbklELCBtZXNzYWdlTmFtZSwg
dGltZW91dF0gPSAqaW5mbzsKKyAgICBpZiAoYXV0byBkZWNvZGVyID0gY29ubmVjdGlvbi0+d2Fp
dEZvck1lc3NhZ2UobWVzc2FnZU5hbWUsIGRlc3RpbmF0aW9uSUQsIHRpbWVvdXQsIHsgfSkpIHsK
KyAgICAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUoZ2xvYmFsT2JqZWN0LT52
bSgpKTsKKyAgICAgICAgYXV0byBqc1Jlc3VsdCA9IGpzVmFsdWVGb3JBcmd1bWVudHMoZ2xvYmFs
T2JqZWN0LCBtZXNzYWdlTmFtZSwgKmRlY29kZXIpOworICAgICAgICBpZiAoc2NvcGUuZXhjZXB0
aW9uKCkpIHsKKyAgICAgICAgICAgICpleGNlcHRpb24gPSB0b1JlZihnbG9iYWxPYmplY3QsIHNj
b3BlLmV4Y2VwdGlvbigpKTsKKyAgICAgICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9uKCk7CiAg
ICAgICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiAgICAgICAg
IH0KLSAgICAgICAgdGltZW91dCA9IFNlY29uZHMgeyBqc1ZhbHVlLmFzTnVtYmVyKCkgfTsKKyAg
ICAgICAgcmV0dXJuIGpzUmVzdWx0ID8gdG9SZWYoZ2xvYmFsT2JqZWN0LCAqanNSZXN1bHQpIDog
SlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiAgICAgfQorICAgIHJldHVybiBKU1ZhbHVl
TWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKworSlNWYWx1ZVJlZiBKU0lQQzo6c2VuZFN5bmNN
ZXNzYWdlKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhp
c09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRz
W10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBhdXRvKiBnbG9iYWxPYmplY3QgPSB0
b0pTKGNvbnRleHQpOworICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2soZ2xvYmFsT2JqZWN0LT52
bSgpKTsKKyAgICBSZWZQdHIganNJUEMgPSB0b1dyYXBwZWQoY29udGV4dCwgdGhpc09iamVjdCk7
CisgICAgaWYgKCFqc0lQQykgeworICAgICAgICAqZXhjZXB0aW9uID0gY3JlYXRlVHlwZUVycm9y
KGNvbnRleHQsICJXcm9uZyB0eXBlIl9zKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5k
ZWZpbmVkKGNvbnRleHQpOworICAgIH0KKworICAgIGF1dG8gaW5mbyA9IGV4dHJhY3RTeW5jSVBD
TWVzc2FnZUluZm8oY29udGV4dCwgYXJndW1lbnRDb3VudCwgYXJndW1lbnRzLCBleGNlcHRpb24p
OworICAgIGlmICghaW5mbykKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNv
bnRleHQpOworCisgICAgYXV0byBbY29ubmVjdGlvbiwgZGVzdGluYXRpb25JRCwgbWVzc2FnZU5h
bWUsIHRpbWVvdXRdID0gKmluZm87CiAKICAgICAvLyBGSVhNRTogU3VwcG9ydCB0aGUgb3B0aW9u
cy4KIAogICAgIElQQzo6Q29ubmVjdGlvbjo6U3luY1JlcXVlc3RJRCBzeW5jUmVxdWVzdElEOwot
ICAgIGF1dG8gbWVzc2FnZU5hbWUgPSBzdGF0aWNfY2FzdDxJUEM6Ok1lc3NhZ2VOYW1lPigqbWVz
c2FnZUlEKTsKLSAgICBhdXRvIGVuY29kZXIgPSBjb25uZWN0aW9uLT5jcmVhdGVTeW5jTWVzc2Fn
ZUVuY29kZXIobWVzc2FnZU5hbWUsICpkZXN0aW5hdGlvbklELCBzeW5jUmVxdWVzdElEKTsKKyAg
ICBhdXRvIGVuY29kZXIgPSBjb25uZWN0aW9uLT5jcmVhdGVTeW5jTWVzc2FnZUVuY29kZXIobWVz
c2FnZU5hbWUsIGRlc3RpbmF0aW9uSUQsIHN5bmNSZXF1ZXN0SUQpOwogCiAgICAgaWYgKGFyZ3Vt
ZW50Q291bnQgPiA0KSB7CiAgICAgICAgIGlmICghZW5jb2RlQXJndW1lbnQoZW5jb2Rlci5nZXQo
KSwgKmpzSVBDLCBjb250ZXh0LCBhcmd1bWVudHNbNF0sIGV4Y2VwdGlvbikpCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNmEwNWUyYmQwYzM3YWEz
NTM3M2Q2YmVlODU4NDIxNzQwMjg0MWY0Yy4uYmU1MzQ0NDUzMjM1NjRhYjg4NDU2NGI2NWY0NDE4
OWJhY2UyM2E5MyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTEwLTE0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtKUyBJUENdIEltcGxlbWVudCBhIHdheSB0byBz
eW5jaHJvbm91c2x5IHdhaXQgZm9yIGFuIGluY29taW5nIElQQyBtZXNzYWdlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE3NDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGp1c3QgYW4gZXhpc3Rpbmcg
SlMgSVBDIHRlc3QsIElQQ1Rlc3RpbmdBUEkuQ2FuUmVjZWl2ZUlQQ1NlbWFwaG9yZSwgc28gdGhh
dCBpdCB1c2VzIHRoZSBuZXcgSlNJUEMgbWV0aG9kIHRvCisgICAgICAgIHdhaXQgZm9yIFJlbW90
ZVJlbmRlcmluZ0JhY2tlbmQncyBJUEMgc3RyZWFtIHdha2V1cCBzZW1hcGhvcmUgdG8gYXJyaXZl
LiBUaGlzIGZpeGVzCisgICAgICAgIElQQ1Rlc3RpbmdBUEkuQ2FuUmVjZWl2ZUlQQ1NlbWFwaG9y
ZSAod2hpY2ggaXMgb25lIG9mIHRoZSB0d28gSVBDIHRlc3RzIHRoYXQgdGltZSBvdXQgYWZ0ZXIg
cjI4NDA3OSkuCisKKyAgICAgICAgV2UgYWxzbyBhZGp1c3QgSVBDVGVzdGluZ0FQSS5DYW5SZWNl
aXZlU2hhcmVkTWVtb3J5IHRvIHdhaXQgZm9yIGFuZCBpbnN0YWxsIHRoZSB3YWtldXAgc2VtYXBo
b3JlIGludG8gdGhlIElQQworICAgICAgICBzdHJlYW0gY29ubmVjdGlvbjsgaG93ZXZlciwgdGhp
cyBhbG9uZSBpc24ndCBzdWZmaWNpZW50IHRvIGZpeCB0aGUgdGVzdCwgc2luY2UgdGhlIHRlc3Qg
YWxzbyByZXF1aXJlcyB0aGUKKyAgICAgICAgYWJpbGl0eSB0byBzZW5kIHN5bmNocm9ub3VzIG1l
c3NhZ2VzIHRocm91Z2ggdGhlIElQQyBzdHJlYW0uCisKKyAgICAgICAgU2VlIFdlYktpdCBDaGFu
Z2VMb2cgZm9yIG1vcmUgZGV0YWlscy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvSVBDVGVzdGluZ0FQSS5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTEw
LTEzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtK
UyBJUENdIE1ha2UgaXQgcG9zc2libGUgdG8gZXN0YWJsaXNoIGEgc3RyZWFtIGNvbm5lY3Rpb24g
dXNpbmcgdGhlIEpTIElQQyB0ZXN0aW5nIEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JUENUZXN0aW5nQVBJLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JUENUZXN0aW5nQVBJLm1tCmluZGV4IGQ5MmNlYzE4ZmUw
NDgwMWJiZGRhNTkzZmVjMjg3YWRhZGRiNzk1MzIuLmYzOTNhOGQxZWZjNjI2M2Q1NzBjNTE2YTMz
ZWFlYTllY2Q2YzRiMjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvSVBDVGVzdGluZ0FQSS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0lQQ1Rlc3RpbmdBUEkubW0KQEAgLTI5OSw5ICsyOTksOCBAQCBURVNUKElQ
Q1Rlc3RpbmdBUEksIENhblJlY2VpdmVJUENTZW1hcGhvcmUpCiAgICAgICAgICIgICAgeyB0eXBl
OiAnUmVtb3RlUmVuZGVyaW5nQmFja2VuZENyZWF0aW9uUGFyYW1ldGVycycsICdpZGVudGlmaWVy
JzogMTIzLCAncGFnZVByb3h5SUQnOiBJUEMud2ViUGFnZVByb3h5SUQsICdwYWdlSUQnOiBJUEMu
cGFnZUlEIH0sIgogICAgICAgICAiICAgIHsgdHlwZTogJ1N0cmVhbUNvbm5lY3Rpb25CdWZmZXIn
LCB2YWx1ZTogc3RyZWFtQ29ubmVjdGlvbi5zdHJlYW1CdWZmZXIoKSB9LCIKICAgICAgICAgIl0p
OyIKLSAgICAgICAgImNvbnN0IHJlc3VsdCA9IElQQy5zZW5kU3luY01lc3NhZ2UoJ0dQVScsIDEy
MywgSVBDLm1lc3NhZ2VzLlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRfU2VtYXBob3JlRm9yR2V0UGl4
ZWxCdWZmZXIubmFtZSwgMTAwLCBbXSk7IgotICAgICAgICAic2VtYXBob3JlLnNpZ25hbCgpOyIK
LSAgICAgICAgImFsZXJ0KHJlc3VsdC5hcmd1bWVudHMubGVuZ3RoICsgJzonICsgcmVzdWx0LmFy
Z3VtZW50c1swXS50eXBlICsgJzonICsgcmVzdWx0LmFyZ3VtZW50c1swXS52YWx1ZS53YWl0Rm9y
KDEwMCkpOyIKKyAgICAgICAgImNvbnN0IGFyZ3VtZW50cyA9IElQQy53YWl0Rm9yTWVzc2FnZSgn
R1BVJywgMTIzLCBJUEMubWVzc2FnZXMuUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5X0RpZENy
ZWF0ZVdha2VVcFNlbWFwaG9yZUZvckRpc3BsYXlMaXN0U3RyZWFtLm5hbWUsIDEwMCk7IgorICAg
ICAgICAiYWxlcnQoYXJndW1lbnRzLmxlbmd0aCArICc6JyArIGFyZ3VtZW50c1swXS50eXBlICsg
JzonICsgYXJndW1lbnRzWzBdLnZhbHVlLndhaXRGb3IoMTAwKSk7IgogICAgICAgICAiPC9zY3Jp
cHQ+IjsKICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6aHRtbF07CiAg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKQEAgLTMyNCw2ICszMjMsOCBAQCBU
RVNUKElQQ1Rlc3RpbmdBUEksIENhblJlY2VpdmVTaGFyZWRNZW1vcnkpCiAgICAgICAgICIgICAg
eyB0eXBlOiAnUmVtb3RlUmVuZGVyaW5nQmFja2VuZENyZWF0aW9uUGFyYW1ldGVycycsICdpZGVu
dGlmaWVyJzogMTIzLCAncGFnZVByb3h5SUQnOiBJUEMud2ViUGFnZVByb3h5SUQsICdwYWdlSUQn
OiBJUEMucGFnZUlEIH0sIgogICAgICAgICAiICAgIHsgdHlwZTogJ1N0cmVhbUNvbm5lY3Rpb25C
dWZmZXInLCB2YWx1ZTogc3RyZWFtQ29ubmVjdGlvbi5zdHJlYW1CdWZmZXIoKSB9LCIKICAgICAg
ICAgIl0pOyIKKyAgICAgICAgImNvbnN0IGFyZ3VtZW50cyA9IElQQy53YWl0Rm9yTWVzc2FnZSgn
R1BVJywgMTIzLCBJUEMubWVzc2FnZXMuUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5X0RpZENy
ZWF0ZVdha2VVcFNlbWFwaG9yZUZvckRpc3BsYXlMaXN0U3RyZWFtLm5hbWUsIDEwMCk7IgorICAg
ICAgICAic3RyZWFtQ29ubmVjdGlvbi5zZXRXYWtlVXBTZW1hcGhvcmUoYXJndW1lbnRzWzBdLnZh
bHVlKTsiCiAgICAgICAgICJjb25zdCByZXN1bHQgPSBJUEMuc2VuZFN5bmNNZXNzYWdlKCdHUFUn
LCAxMjMsIElQQy5tZXNzYWdlcy5SZW1vdGVSZW5kZXJpbmdCYWNrZW5kX1VwZGF0ZVNoYXJlZE1l
bW9yeUZvckdldFBpeGVsQnVmZmVyLm5hbWUsIDEwMCwgW3t0eXBlOiAndWludDMyX3QnLCB2YWx1
ZTogOH1dKTsiCiAgICAgICAgICJhbGVydChyZXN1bHQuYXJndW1lbnRzLmxlbmd0aCk7IgogICAg
ICAgICAiPC9zY3JpcHQ+IjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441277</attachid>
            <date>2021-10-14 14:04:37 -0700</date>
            <delta_ts>2021-10-14 21:49:38 -0700</delta_ts>
            <desc>Fix a typo</desc>
            <filename>bug-231745-20211014140437.patch</filename>
            <type>text/plain</type>
            <size>17251</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE5ZDZjMjBhNTdkODJjMTA0
YTE1ZDIyMjY3NTgwMWRlNThmNTgxNGUuLmViMWIzMjJmZGZmMDQ3ODYzODk4NDVlZWM1ZmVjZTJh
N2U0MzIyNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjEtMTAtMTQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTIElQQ10gSW1wbGVt
ZW50IGEgd2F5IHRvIHN5bmNocm9ub3VzbHkgd2FpdCBmb3IgYW4gaW5jb21pbmcgSVBDIG1lc3Nh
Z2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTc0
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBgSVBDLndhaXRGb3JNZXNzYWdlKClgLCB3aGljaCBibG9ja3MgdW50aWwgd2Ug
cmVjZWl2ZSBhbiBpbmNvbWluZyBJUEMgbWVzc2FnZSB0aGF0IG1hdGNoZXMgdGhlCisgICAgICAg
IGdpdmVuIG1lc3NhZ2UgbmFtZSBhbmQgZGVzdGluYXRpb24gSUQuIFdlIHVzZSB0aGlzIG5ldyBt
ZXRob2QgdG8gZml4IHRoZSBmYWlsaW5nIEFQSSB0ZXN0CisgICAgICAgIElQQ1Rlc3RpbmdBUEku
Q2FuUmVjZWl2ZUlQQ1NlbWFwaG9yZSwgd2hpY2ggdmVyaWZpZXMgdGhhdCB3ZSdyZSBhYmxlIHRv
IHJlY2VpdmUsIGRlY29kZSwgYW5kIGNhbGwgbWV0aG9kcyBvbgorICAgICAgICBhbiBJUEMgc2Vt
YXBob3JlIHNlbnQgZnJvbSB0aGUgR1BVIHByb2Nlc3MgdG8gdGhlIHdlYiBwcm9jZXNzLiBJbiB0
aGlzIGNhc2UsIHdlIHdhaXQgZm9yIHRoZSBpbmNvbWluZworICAgICAgICAiUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5OjpEaWRDcmVhdGVXYWtlVXBTZW1hcGhvcmVGb3JEaXNwbGF5TGlzdFN0
cmVhbSIgbWVzc2FnZSBhZnRlciBjcmVhdGluZyB0aGUgcmVtb3RlCisgICAgICAgIHJlbmRlcmlu
ZyBiYWNrZW5kIGluIHRoZSBHUFUgcHJvY2Vzcy4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9D
b25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0lQQ1Rlc3RpbmdBUEku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5nQVBJOjpKU0lQQ1N0cmVhbUNsaWVudENv
bm5lY3Rpb246OnNldFdha2VVcFNlbWFwaG9yZSk6CisKKyAgICAgICAgQWxzbyBhZGQgYSBtZXRo
b2Qgb24gSlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uIHRvIGluc3RhbGwgYSBnaXZlbiBJUEMg
c2VtYXBob3JlIGFzIHRoZSB3YWtldXAgc2VtYXBob3JlIGZvcgorICAgICAgICB0aGUgSVBDIHN0
cmVhbS4gV2UnbGwgdXNlIHRoaXMgaW4gdGhlIG5leHQgcGF0Y2ggd2hlbiBpbXBsZW1lbnRpbmcg
dGhlIGFiaWxpdHkgdG8gc2VuZCBtZXNzYWdlcyB0aHJvdWdoIHRoZSBJUEMKKyAgICAgICAgc3Ry
ZWFtLgorCisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3RpbmdBUEk6OkpTSVBDU3RyZWFtQ2xpZW50
Q29ubmVjdGlvbjo6c3RhdGljRnVuY3Rpb25zKToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGlu
Z0FQSTo6SlNJUENTdHJlYW1DbGllbnRDb25uZWN0aW9uOjpzdHJlYW1CdWZmZXIpOgorCisgICAg
ICAgIERyaXZlLWJ5IGZpeDogbWFrZSBzdXJlIHdlIGdyYWIgdGhlIFZNIGxvY2sgYmVmb3JlIHRy
eWluZyB0byB1bndyYXAgSlMgb2JqZWN0cy4KKworICAgICAgICAoV2ViS2l0OjpJUENUZXN0aW5n
QVBJOjpKU0lQQzo6c3RhdGljRnVuY3Rpb25zKToKKyAgICAgICAgKFdlYktpdDo6SVBDVGVzdGlu
Z0FQSTo6SlNJUEM6OnNlbmRNZXNzYWdlKToKKworICAgICAgICBEcml2ZS1ieSBmaXg6IGNvcnJl
Y3QgYSBtaW5vciB0eXBvIGluIHRoZSBleGNlcHRpb24gbWVzc2FnZS4KKworICAgICAgICAoV2Vi
S2l0OjpJUENUZXN0aW5nQVBJOjpleHRyYWN0U3luY0lQQ01lc3NhZ2VJbmZvKToKKworICAgICAg
ICBQdWxsIGxvZ2ljIGZvciBleHRyYWN0aW5nIGFuIElQQzo6Q29ubmVjdGlvbiwgZGVzdGluYXRp
b24gSUQsIG1lc3NhZ2UgbmFtZSwgYW5kIElQQyB0aW1lb3V0IGludG8gYSBzZXBhcmF0ZQorICAg
ICAgICBoZWxwZXIgZnVuY3Rpb24sIGFuZCB1c2UgaXQgaW4gYHdhaXRGb3JNZXNzYWdlYCBhcyB3
ZWxsIGFzIGBzZW5kU3luY01lc3NhZ2VgLgorCisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3RpbmdB
UEk6OkpTSVBDOjp3YWl0Rm9yTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OklQQ1Rlc3RpbmdB
UEk6OkpTSVBDOjpzZW5kU3luY01lc3NhZ2UpOgorCiAyMDIxLTEwLTEzICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtKUyBJUENdIE1ha2UgaXQgcG9z
c2libGUgdG8gZXN0YWJsaXNoIGEgc3RyZWFtIGNvbm5lY3Rpb24gdXNpbmcgdGhlIEpTIElQQyB0
ZXN0aW5nIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVj
dGlvbi5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IGMy
OGZjN2FjZWZkMmIyMzY1ZDhjZTRjM2IzMjM4N2Y4ZTEzOTE5ZDguLjIyMGU1ZWFiY2M0MDk5Njhl
ZjdiZmYwMDllYzc2MjgyNWMzZTBjNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vSVBDL0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25u
ZWN0aW9uLmgKQEAgLTU2LDYgKzU2LDEyIEBACiAjaW5jbHVkZSA8d3RmL2dsaWIvR1NvY2tldE1v
bml0b3IuaD4KICNlbmRpZgogCituYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBJUENUZXN0
aW5nQVBJIHsKK2NsYXNzIEpTSVBDOworfQorfQorCiBuYW1lc3BhY2UgSVBDIHsKIAogZW51bSBj
bGFzcyBTZW5kT3B0aW9uIHsKQEAgLTUwNyw2ICs1MTMsNyBAQCBwcml2YXRlOgogICAgIEhBTkRM
RSBtX2Nvbm5lY3Rpb25QaXBlIHsgSU5WQUxJRF9IQU5ETEVfVkFMVUUgfTsKICNlbmRpZgogICAg
IGZyaWVuZCBjbGFzcyBTdHJlYW1DbGllbnRDb25uZWN0aW9uOworICAgIGZyaWVuZCBjbGFzcyBX
ZWJLaXQ6OklQQ1Rlc3RpbmdBUEk6OkpTSVBDOwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0lQQ1Rlc3RpbmdB
UEkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvSVBDVGVzdGluZ0FQSS5j
cHAKaW5kZXggMjQ5ODdjN2RkMzgzZGNkY2VhNmM5NjNmNDc4OWQ4NjkzYzZkZmUwNi4uMzQ2NzY5
MjliNDhmNDVlOTBjYmMwMTM5NGRmNzIwZGQ0ZGUzM2FmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvSVBDVGVzdGluZ0FQSS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvSVBDVGVzdGluZ0FQSS5jcHAKQEAgLTExMiw2ICsxMTIs
OCBAQCBwcml2YXRlOgogICAgICAgICA6IG1fc3RyZWFtQ29ubmVjdGlvbiB7IGNvbm5lY3Rpb24s
IGJ1ZmZlclNpemUgfQogICAgIHsgfQogCisgICAgdm9pZCBzZXRXYWtlVXBTZW1hcGhvcmUoSlNJ
UENTZW1hcGhvcmUmIGpzU2VtYXBob3JlKSB7IG1fc3RyZWFtQ29ubmVjdGlvbi5zZXRXYWtlVXBT
ZW1hcGhvcmUoanNTZW1hcGhvcmUuZXhjaGFuZ2UoKSk7IH0KKwogICAgIHN0YXRpYyBKU0NsYXNz
UmVmIHdyYXBwZXJDbGFzcygpOwogICAgIHN0YXRpYyBKU0lQQ1N0cmVhbUNsaWVudENvbm5lY3Rp
b24qIHVud3JhcChKU09iamVjdFJlZik7CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZShKU0Nv
bnRleHRSZWYsIEpTT2JqZWN0UmVmKTsKQEAgLTExOSw2ICsxMjEsNyBAQCBwcml2YXRlOgogCiAg
ICAgc3RhdGljIGNvbnN0IEpTU3RhdGljRnVuY3Rpb24qIHN0YXRpY0Z1bmN0aW9ucygpOwogICAg
IHN0YXRpYyBKU1ZhbHVlUmVmIHN0cmVhbUJ1ZmZlcihKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVm
LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNW
YWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKKyAgICBzdGF0aWMg
SlNWYWx1ZVJlZiBzZXRXYWtlVXBTZW1hcGhvcmUoSlNDb250ZXh0UmVmLCBKU09iamVjdFJlZiwg
SlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFs
dWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CiAKICAgICBJUEM6OlN0
cmVhbUNsaWVudENvbm5lY3Rpb24gbV9zdHJlYW1Db25uZWN0aW9uOwogfTsKQEAgLTI0MSw2ICsy
NDQsNyBAQCBwcml2YXRlOgogCiAgICAgc3RhdGljIEpTVmFsdWVSZWYgc2VuZE1lc3NhZ2UoSlND
b250ZXh0UmVmLCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFy
Z3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbik7CiAgICAgc3RhdGljIEpTVmFsdWVSZWYgc2VuZFN5bmNNZXNzYWdlKEpTQ29udGV4
dFJlZiwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVu
dENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRp
b24pOworICAgIHN0YXRpYyBKU1ZhbHVlUmVmIHdhaXRGb3JNZXNzYWdlKEpTQ29udGV4dFJlZiwg
SlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50
LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOwog
CiAgICAgc3RhdGljIEpTVmFsdWVSZWYgY3JlYXRlU3RyZWFtQ2xpZW50Q29ubmVjdGlvbihKU0Nv
bnRleHRSZWYsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJn
dW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhj
ZXB0aW9uKTsKICAgICBzdGF0aWMgSlNWYWx1ZVJlZiBjcmVhdGVTZW1hcGhvcmUoSlNDb250ZXh0
UmVmLCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50
Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlv
bik7CkBAIC0zOTIsNiArMzk2LDcgQEAgY29uc3QgSlNTdGF0aWNGdW5jdGlvbiogSlNJUENTdHJl
YW1DbGllbnRDb25uZWN0aW9uOjpzdGF0aWNGdW5jdGlvbnMoKQogewogICAgIHN0YXRpYyBjb25z
dCBKU1N0YXRpY0Z1bmN0aW9uIGZ1bmN0aW9uc1tdID0gewogICAgICAgICB7ICJzdHJlYW1CdWZm
ZXIiLCBzdHJlYW1CdWZmZXIsIGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfSwKKyAgICAgICAgeyAic2V0V2FrZVVwU2VtYXBob3Jl
Iiwgc2V0V2FrZVVwU2VtYXBob3JlLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0sCiAgICAgICAgIHsgMCwgMCwgMCB9CiAgICAg
fTsKICAgICByZXR1cm4gZnVuY3Rpb25zOwpAQCAtMzk5LDYgKzQwNCw4IEBAIGNvbnN0IEpTU3Rh
dGljRnVuY3Rpb24qIEpTSVBDU3RyZWFtQ2xpZW50Q29ubmVjdGlvbjo6c3RhdGljRnVuY3Rpb25z
KCkKIAogSlNWYWx1ZVJlZiBKU0lQQ1N0cmVhbUNsaWVudENvbm5lY3Rpb246OnN0cmVhbUJ1ZmZl
cihKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmpl
Y3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBK
U1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CisgICAgYXV0byogZ2xvYmFsT2JqZWN0ID0gdG9KUyhj
b250ZXh0KTsKKyAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrKGdsb2JhbE9iamVjdC0+dm0oKSk7
CiAgICAgUmVmUHRyIGpzU3RyZWFtQ29ubmVjdGlvbiA9IHRvV3JhcHBlZChjb250ZXh0LCB0aGlz
T2JqZWN0KTsKICAgICBpZiAoIWpzU3RyZWFtQ29ubmVjdGlvbikgewogICAgICAgICAqZXhjZXB0
aW9uID0gY3JlYXRlVHlwZUVycm9yKGNvbnRleHQsICJXcm9uZyB0eXBlIl9zKTsKQEAgLTQwOCw2
ICs0MTUsMzEgQEAgSlNWYWx1ZVJlZiBKU0lQQ1N0cmVhbUNsaWVudENvbm5lY3Rpb246OnN0cmVh
bUJ1ZmZlcihKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmoKICAgICByZXR1cm4gSlNJUENTdHJl
YW1Db25uZWN0aW9uQnVmZmVyOjpjcmVhdGUoKmpzU3RyZWFtQ29ubmVjdGlvbiktPmNyZWF0ZUpT
V3JhcHBlcihjb250ZXh0KTsKIH0KIAorSlNWYWx1ZVJlZiBKU0lQQ1N0cmVhbUNsaWVudENvbm5l
Y3Rpb246OnNldFdha2VVcFNlbWFwaG9yZShKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RS
ZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBK
U1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgYXV0
byogZ2xvYmFsT2JqZWN0ID0gdG9KUyhjb250ZXh0KTsKKyAgICBKU0M6OkpTTG9ja0hvbGRlciBs
b2NrKGdsb2JhbE9iamVjdC0+dm0oKSk7CisgICAgUmVmUHRyIGpzU3RyZWFtQ29ubmVjdGlvbiA9
IHRvV3JhcHBlZChjb250ZXh0LCB0aGlzT2JqZWN0KTsKKyAgICBpZiAoIWpzU3RyZWFtQ29ubmVj
dGlvbikgeworICAgICAgICAqZXhjZXB0aW9uID0gY3JlYXRlVHlwZUVycm9yKGNvbnRleHQsICJX
cm9uZyB0eXBlIl9zKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRl
eHQpOworICAgIH0KKworICAgIGlmIChhcmd1bWVudENvdW50IDwgMSkgeworICAgICAgICAqZXhj
ZXB0aW9uID0gY3JlYXRlVHlwZUVycm9yKGNvbnRleHQsICJNdXN0IHNwZWNpZnkgYW4gSVBDIHNl
bWFwaG9yZSBhcyB0aGUgZmlyc3QgYXJndW1lbnQiX3MpOworICAgICAgICByZXR1cm4gSlNWYWx1
ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisgICAgfQorCisgICAgUmVmUHRyIGpzU2VtYXBob3Jl
ID0gSlNJUENTZW1hcGhvcmU6OnRvV3JhcHBlZChjb250ZXh0LCBhcmd1bWVudHNbMF0pOworICAg
IGlmICghanNTZW1hcGhvcmUpIHsKKyAgICAgICAgKmV4Y2VwdGlvbiA9IGNyZWF0ZVR5cGVFcnJv
cihjb250ZXh0LCAiV3JvbmcgdHlwZSAoZXhwZWN0ZWQgU2VtYXBob3JlKSJfcyk7CisgICAgICAg
IHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKyAgICB9CisKKyAgICBqc1N0
cmVhbUNvbm5lY3Rpb24tPnNldFdha2VVcFNlbWFwaG9yZSgqanNTZW1hcGhvcmUpOworICAgIHJl
dHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKwogSlNPYmplY3RSZWYgSlNJ
UENTdHJlYW1Db25uZWN0aW9uQnVmZmVyOjpjcmVhdGVKU1dyYXBwZXIoSlNDb250ZXh0UmVmIGNv
bnRleHQpCiB7CiAgICAgYXV0byogZ2xvYmFsT2JqZWN0ID0gdG9KUyhjb250ZXh0KTsKQEAgLTc2
MCw2ICs3OTIsNyBAQCBjb25zdCBKU1N0YXRpY0Z1bmN0aW9uKiBKU0lQQzo6c3RhdGljRnVuY3Rp
b25zKCkKICAgICAgICAgeyAiYWRkT3V0Z29pbmdNZXNzYWdlTGlzdGVuZXIiLCBhZGRPdXRnb2lu
Z01lc3NhZ2VMaXN0ZW5lciwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVSZWFkT25seSB9LAogICAgICAgICB7ICJzZW5kTWVzc2FnZSIsIHNlbmRN
ZXNzYWdlLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IH0sCiAgICAgICAgIHsgInNlbmRTeW5jTWVzc2FnZSIsIHNlbmRTeW5jTWVz
c2FnZSwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB9LAorICAgICAgICB7ICJ3YWl0Rm9yTWVzc2FnZSIsIHdhaXRGb3JNZXNzYWdl
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJl
YWRPbmx5IH0sCiAgICAgICAgIHsgImNyZWF0ZVN0cmVhbUNsaWVudENvbm5lY3Rpb24iLCBjcmVh
dGVTdHJlYW1DbGllbnRDb25uZWN0aW9uLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IH0sCiAgICAgICAgIHsgImNyZWF0ZVNlbWFw
aG9yZSIsIGNyZWF0ZVNlbWFwaG9yZSwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB9LAogICAgICAgICB7ICJjcmVhdGVTaGFyZWRN
ZW1vcnkiLCBjcmVhdGVTaGFyZWRNZW1vcnksIGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0
ZSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfSwKQEAgLTEzMTUsNyArMTM0OCw3IEBA
IEpTVmFsdWVSZWYgSlNJUEM6OnNlbmRNZXNzYWdlKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09i
amVjdFJlZiwgSlNPYmplY3RSZWYgdGhpCiAgICAgfQogCiAgICAgaWYgKGFyZ3VtZW50Q291bnQg
PCAzKSB7Ci0gICAgICAgICpleGNlcHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoY29udGV4dCwgIk11
c3Qgc3BlY2lmeSB0aGUgdGFyZ2V0IHByb2Nlc3MsIGRlc2luYXRpb24gSUQsIGFuZCBtZXNzYWdl
IElEIGFzIHRoZSBmaXJzdCB0aHJlZSBhcmd1bWVudHMiX3MpOworICAgICAgICAqZXhjZXB0aW9u
ID0gY3JlYXRlVHlwZUVycm9yKGNvbnRleHQsICJNdXN0IHNwZWNpZnkgdGhlIHRhcmdldCBwcm9j
ZXNzLCBkZXN0aW5hdGlvbiBJRCwgYW5kIG1lc3NhZ2UgSUQgYXMgdGhlIGZpcnN0IHRocmVlIGFy
Z3VtZW50cyJfcyk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0
KTsKICAgICB9CiAKQEAgLTEzODYsNDggKzE0MTksOTQgQEAgQUxMT1dfTkVXX0FQSV9XSVRIT1VU
X0dVQVJEU19FTkQKICAgICByZXR1cm4gcmV0dXJuVmFsdWU7CiB9CiAKLUpTVmFsdWVSZWYgSlNJ
UEM6OnNlbmRTeW5jTWVzc2FnZShKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYsIEpT
T2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVl
UmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17Ci0gICAgYXV0byogZ2xv
YmFsT2JqZWN0ID0gdG9KUyhjb250ZXh0KTsKLSAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrKGds
b2JhbE9iamVjdC0+dm0oKSk7Ci0gICAgUmVmUHRyIGpzSVBDID0gdG9XcmFwcGVkKGNvbnRleHQs
IHRoaXNPYmplY3QpOwotICAgIGlmICghanNJUEMpIHsKLSAgICAgICAgKmV4Y2VwdGlvbiA9IGNy
ZWF0ZVR5cGVFcnJvcihjb250ZXh0LCAiV3JvbmcgdHlwZSJfcyk7Ci0gICAgICAgIHJldHVybiBK
U1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKLSAgICB9CitzdHJ1Y3QgU3luY0lQQ01lc3Nh
Z2VJbmZvIHsKKyAgICBSZWY8SVBDOjpDb25uZWN0aW9uPiBjb25uZWN0aW9uOworICAgIHVpbnQ2
NF90IGRlc3RpbmF0aW9uSUQ7CisgICAgSVBDOjpNZXNzYWdlTmFtZSBtZXNzYWdlTmFtZTsKKyAg
ICBJUEM6OlRpbWVvdXQgdGltZW91dDsKK307CiAKK3N0YXRpYyBzdGQ6Om9wdGlvbmFsPFN5bmNJ
UENNZXNzYWdlSW5mbz4gZXh0cmFjdFN5bmNJUENNZXNzYWdlSW5mbyhKU0NvbnRleHRSZWYgY29u
dGV4dCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10s
IEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKICAgICBpZiAoYXJndW1lbnRDb3VudCA8IDQpIHsK
LSAgICAgICAgKmV4Y2VwdGlvbiA9IGNyZWF0ZVR5cGVFcnJvcihjb250ZXh0LCAiTXVzdCBzcGVj
aWZ5IHRoZSB0YXJnZXQgcHJvY2VzcywgZGVzaW5hdGlvbiBJRCwgYW5kIG1lc3NhZ2UgSUQgYXMg
dGhlIGZpcnN0IHRocmVlIGFyZ3VtZW50cyJfcyk7Ci0gICAgICAgIHJldHVybiBKU1ZhbHVlTWFr
ZVVuZGVmaW5lZChjb250ZXh0KTsKKyAgICAgICAgKmV4Y2VwdGlvbiA9IGNyZWF0ZVR5cGVFcnJv
cihjb250ZXh0LCAiTXVzdCBzcGVjaWZ5IHRoZSB0YXJnZXQgcHJvY2VzcywgZGVzdGluYXRpb24g
SUQsIGFuZCBtZXNzYWdlIElEIGFzIHRoZSBmaXJzdCB0aHJlZSBhcmd1bWVudHMiX3MpOworICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0KIAorICAgIGF1dG8qIGdsb2JhbE9iamVj
dCA9IHRvSlMoY29udGV4dCk7CiAgICAgYXV0byBjb25uZWN0aW9uID0gcHJvY2Vzc1RhcmdldEZy
b21Bcmd1bWVudChnbG9iYWxPYmplY3QsIGFyZ3VtZW50c1swXSwgZXhjZXB0aW9uKTsKICAgICBp
ZiAoIWNvbm5lY3Rpb24pCi0gICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250
ZXh0KTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAogICAgIGF1dG8gZGVzdGluYXRp
b25JRCA9IGRlc3RpbmF0aW9uSURGcm9tQXJndW1lbnQoZ2xvYmFsT2JqZWN0LCBhcmd1bWVudHNb
MV0sIGV4Y2VwdGlvbik7CiAgICAgaWYgKCFkZXN0aW5hdGlvbklEKQotICAgICAgICByZXR1cm4g
SlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CiAKICAgICBhdXRvIG1lc3NhZ2VJRCA9IG1lc3NhZ2VJREZyb21Bcmd1bWVudChnbG9iYWxP
YmplY3QsIGFyZ3VtZW50c1syXSwgZXhjZXB0aW9uKTsKICAgICBpZiAoIW1lc3NhZ2VJRCkKLSAg
ICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OwogCi0gICAgU2Vjb25kcyB0aW1lb3V0OworICAgIFNlY29uZHMgdGlt
ZW91dER1cmF0aW9uOwogICAgIHsKICAgICAgICAgYXV0byBqc1ZhbHVlID0gdG9KUyhnbG9iYWxP
YmplY3QsIGFyZ3VtZW50c1szXSk7CiAgICAgICAgIGlmICghanNWYWx1ZS5pc051bWJlcigpKSB7
CiAgICAgICAgICAgICAqZXhjZXB0aW9uID0gY3JlYXRlVHlwZUVycm9yKGNvbnRleHQsICJUaW1l
b3V0IG11c3QgYmUgYSBudW1iZXIiX3MpOworICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKKyAgICAgICAgfQorICAgICAgICB0aW1lb3V0RHVyYXRpb24gPSBTZWNvbmRzIHsganNWYWx1
ZS5hc051bWJlcigpIH07CisgICAgfQorCisgICAgcmV0dXJuIHsgeyBjb25uZWN0aW9uLnJlbGVh
c2VOb25OdWxsKCksICpkZXN0aW5hdGlvbklELCBzdGF0aWNfY2FzdDxJUEM6Ok1lc3NhZ2VOYW1l
PigqbWVzc2FnZUlEKSwgeyB0aW1lb3V0RHVyYXRpb24gfSB9IH07Cit9CisKK0pTVmFsdWVSZWYg
SlNJUEM6OndhaXRGb3JNZXNzYWdlKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiwg
SlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFs
dWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBhdXRvKiBn
bG9iYWxPYmplY3QgPSB0b0pTKGNvbnRleHQpOworICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2so
Z2xvYmFsT2JqZWN0LT52bSgpKTsKKyAgICBSZWZQdHIganNJUEMgPSB0b1dyYXBwZWQoY29udGV4
dCwgdGhpc09iamVjdCk7CisgICAgaWYgKCFqc0lQQykgeworICAgICAgICAqZXhjZXB0aW9uID0g
Y3JlYXRlVHlwZUVycm9yKGNvbnRleHQsICJXcm9uZyB0eXBlIl9zKTsKKyAgICAgICAgcmV0dXJu
IEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworICAgIH0KKworICAgIGF1dG8gaW5mbyA9
IGV4dHJhY3RTeW5jSVBDTWVzc2FnZUluZm8oY29udGV4dCwgYXJndW1lbnRDb3VudCwgYXJndW1l
bnRzLCBleGNlcHRpb24pOworICAgIGlmICghaW5mbykKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVN
YWtlVW5kZWZpbmVkKGNvbnRleHQpOworCisgICAgYXV0byBbY29ubmVjdGlvbiwgZGVzdGluYXRp
b25JRCwgbWVzc2FnZU5hbWUsIHRpbWVvdXRdID0gKmluZm87CisgICAgaWYgKGF1dG8gZGVjb2Rl
ciA9IGNvbm5lY3Rpb24tPndhaXRGb3JNZXNzYWdlKG1lc3NhZ2VOYW1lLCBkZXN0aW5hdGlvbklE
LCB0aW1lb3V0LCB7IH0pKSB7CisgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1ND
T1BFKGdsb2JhbE9iamVjdC0+dm0oKSk7CisgICAgICAgIGF1dG8ganNSZXN1bHQgPSBqc1ZhbHVl
Rm9yQXJndW1lbnRzKGdsb2JhbE9iamVjdCwgbWVzc2FnZU5hbWUsICpkZWNvZGVyKTsKKyAgICAg
ICAgaWYgKHNjb3BlLmV4Y2VwdGlvbigpKSB7CisgICAgICAgICAgICAqZXhjZXB0aW9uID0gdG9S
ZWYoZ2xvYmFsT2JqZWN0LCBzY29wZS5leGNlcHRpb24oKSk7CisgICAgICAgICAgICBzY29wZS5j
bGVhckV4Y2VwdGlvbigpOwogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVk
KGNvbnRleHQpOwogICAgICAgICB9Ci0gICAgICAgIHRpbWVvdXQgPSBTZWNvbmRzIHsganNWYWx1
ZS5hc051bWJlcigpIH07CisgICAgICAgIHJldHVybiBqc1Jlc3VsdCA/IHRvUmVmKGdsb2JhbE9i
amVjdCwgKmpzUmVzdWx0KSA6IEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworICAgIH0K
KyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK0pTVmFsdWVS
ZWYgSlNJUEM6OnNlbmRTeW5jTWVzc2FnZShKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RS
ZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBK
U1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgYXV0
byogZ2xvYmFsT2JqZWN0ID0gdG9KUyhjb250ZXh0KTsKKyAgICBKU0M6OkpTTG9ja0hvbGRlciBs
b2NrKGdsb2JhbE9iamVjdC0+dm0oKSk7CisgICAgUmVmUHRyIGpzSVBDID0gdG9XcmFwcGVkKGNv
bnRleHQsIHRoaXNPYmplY3QpOworICAgIGlmICghanNJUEMpIHsKKyAgICAgICAgKmV4Y2VwdGlv
biA9IGNyZWF0ZVR5cGVFcnJvcihjb250ZXh0LCAiV3JvbmcgdHlwZSJfcyk7CisgICAgICAgIHJl
dHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKICAgICB9CiAKKyAgICBhdXRvIGlu
Zm8gPSBleHRyYWN0U3luY0lQQ01lc3NhZ2VJbmZvKGNvbnRleHQsIGFyZ3VtZW50Q291bnQsIGFy
Z3VtZW50cywgZXhjZXB0aW9uKTsKKyAgICBpZiAoIWluZm8pCisgICAgICAgIHJldHVybiBKU1Zh
bHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKworICAgIGF1dG8gW2Nvbm5lY3Rpb24sIGRlc3Rp
bmF0aW9uSUQsIG1lc3NhZ2VOYW1lLCB0aW1lb3V0XSA9ICppbmZvOworCiAgICAgLy8gRklYTUU6
IFN1cHBvcnQgdGhlIG9wdGlvbnMuCiAKICAgICBJUEM6OkNvbm5lY3Rpb246OlN5bmNSZXF1ZXN0
SUQgc3luY1JlcXVlc3RJRDsKLSAgICBhdXRvIG1lc3NhZ2VOYW1lID0gc3RhdGljX2Nhc3Q8SVBD
OjpNZXNzYWdlTmFtZT4oKm1lc3NhZ2VJRCk7Ci0gICAgYXV0byBlbmNvZGVyID0gY29ubmVjdGlv
bi0+Y3JlYXRlU3luY01lc3NhZ2VFbmNvZGVyKG1lc3NhZ2VOYW1lLCAqZGVzdGluYXRpb25JRCwg
c3luY1JlcXVlc3RJRCk7CisgICAgYXV0byBlbmNvZGVyID0gY29ubmVjdGlvbi0+Y3JlYXRlU3lu
Y01lc3NhZ2VFbmNvZGVyKG1lc3NhZ2VOYW1lLCBkZXN0aW5hdGlvbklELCBzeW5jUmVxdWVzdElE
KTsKIAogICAgIGlmIChhcmd1bWVudENvdW50ID4gNCkgewogICAgICAgICBpZiAoIWVuY29kZUFy
Z3VtZW50KGVuY29kZXIuZ2V0KCksICpqc0lQQywgY29udGV4dCwgYXJndW1lbnRzWzRdLCBleGNl
cHRpb24pKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDZhMDVlMmJkMGMzN2FhMzUzNzNkNmJlZTg1ODQyMTc0MDI4NDFmNGMuLmJlNTM0NDQ1MzIz
NTY0YWI4ODQ1NjRiNjVmNDQxODliYWNlMjNhOTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMS0xMC0xNCAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbSlMgSVBDXSBJ
bXBsZW1lbnQgYSB3YXkgdG8gc3luY2hyb25vdXNseSB3YWl0IGZvciBhbiBpbmNvbWluZyBJUEMg
bWVzc2FnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxNzQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRqdXN0IGFuIGV4aXN0aW5nIEpTIElQQyB0ZXN0LCBJUENUZXN0aW5nQVBJLkNhblJlY2VpdmVJ
UENTZW1hcGhvcmUsIHNvIHRoYXQgaXQgdXNlcyB0aGUgbmV3IEpTSVBDIG1ldGhvZCB0bworICAg
ICAgICB3YWl0IGZvciBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kJ3MgSVBDIHN0cmVhbSB3YWtldXAg
c2VtYXBob3JlIHRvIGFycml2ZS4gVGhpcyBmaXhlcworICAgICAgICBJUENUZXN0aW5nQVBJLkNh
blJlY2VpdmVJUENTZW1hcGhvcmUgKHdoaWNoIGlzIG9uZSBvZiB0aGUgdHdvIElQQyB0ZXN0cyB0
aGF0IHRpbWUgb3V0IGFmdGVyIHIyODQwNzkpLgorCisgICAgICAgIFdlIGFsc28gYWRqdXN0IElQ
Q1Rlc3RpbmdBUEkuQ2FuUmVjZWl2ZVNoYXJlZE1lbW9yeSB0byB3YWl0IGZvciBhbmQgaW5zdGFs
bCB0aGUgd2FrZXVwIHNlbWFwaG9yZSBpbnRvIHRoZSBJUEMKKyAgICAgICAgc3RyZWFtIGNvbm5l
Y3Rpb247IGhvd2V2ZXIsIHRoaXMgYWxvbmUgaXNuJ3Qgc3VmZmljaWVudCB0byBmaXggdGhlIHRl
c3QsIHNpbmNlIHRoZSB0ZXN0IGFsc28gcmVxdWlyZXMgdGhlCisgICAgICAgIGFiaWxpdHkgdG8g
c2VuZCBzeW5jaHJvbm91cyBtZXNzYWdlcyB0aHJvdWdoIHRoZSBJUEMgc3RyZWFtLgorCisgICAg
ICAgIFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0lQQ1Rlc3RpbmdBUEkubW06CisgICAgICAg
IChURVNUKToKKwogMjAyMS0xMC0xMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBbSlMgSVBDXSBNYWtlIGl0IHBvc3NpYmxlIHRvIGVzdGFibGlzaCBh
IHN0cmVhbSBjb25uZWN0aW9uIHVzaW5nIHRoZSBKUyBJUEMgdGVzdGluZyBBUEkKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSVBDVGVzdGluZ0FQSS5t
bSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSVBDVGVzdGluZ0FQSS5t
bQppbmRleCBkOTJjZWMxOGZlMDQ4MDFiYmRkYTU5M2ZlYzI4N2FkYWRkYjc5NTMyLi5mMzkzYThk
MWVmYzYyNjNkNTcwYzUxNmEzM2VhZWE5ZWNkNmM0YjI3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0lQQ1Rlc3RpbmdBUEkubW0KKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JUENUZXN0aW5nQVBJLm1tCkBAIC0yOTks
OSArMjk5LDggQEAgVEVTVChJUENUZXN0aW5nQVBJLCBDYW5SZWNlaXZlSVBDU2VtYXBob3JlKQog
ICAgICAgICAiICAgIHsgdHlwZTogJ1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlvblBhcmFt
ZXRlcnMnLCAnaWRlbnRpZmllcic6IDEyMywgJ3BhZ2VQcm94eUlEJzogSVBDLndlYlBhZ2VQcm94
eUlELCAncGFnZUlEJzogSVBDLnBhZ2VJRCB9LCIKICAgICAgICAgIiAgICB7IHR5cGU6ICdTdHJl
YW1Db25uZWN0aW9uQnVmZmVyJywgdmFsdWU6IHN0cmVhbUNvbm5lY3Rpb24uc3RyZWFtQnVmZmVy
KCkgfSwiCiAgICAgICAgICJdKTsiCi0gICAgICAgICJjb25zdCByZXN1bHQgPSBJUEMuc2VuZFN5
bmNNZXNzYWdlKCdHUFUnLCAxMjMsIElQQy5tZXNzYWdlcy5SZW1vdGVSZW5kZXJpbmdCYWNrZW5k
X1NlbWFwaG9yZUZvckdldFBpeGVsQnVmZmVyLm5hbWUsIDEwMCwgW10pOyIKLSAgICAgICAgInNl
bWFwaG9yZS5zaWduYWwoKTsiCi0gICAgICAgICJhbGVydChyZXN1bHQuYXJndW1lbnRzLmxlbmd0
aCArICc6JyArIHJlc3VsdC5hcmd1bWVudHNbMF0udHlwZSArICc6JyArIHJlc3VsdC5hcmd1bWVu
dHNbMF0udmFsdWUud2FpdEZvcigxMDApKTsiCisgICAgICAgICJjb25zdCBhcmd1bWVudHMgPSBJ
UEMud2FpdEZvck1lc3NhZ2UoJ0dQVScsIDEyMywgSVBDLm1lc3NhZ2VzLlJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRQcm94eV9EaWRDcmVhdGVXYWtlVXBTZW1hcGhvcmVGb3JEaXNwbGF5TGlzdFN0cmVh
bS5uYW1lLCAxMDApOyIKKyAgICAgICAgImFsZXJ0KGFyZ3VtZW50cy5sZW5ndGggKyAnOicgKyBh
cmd1bWVudHNbMF0udHlwZSArICc6JyArIGFyZ3VtZW50c1swXS52YWx1ZS53YWl0Rm9yKDEwMCkp
OyIKICAgICAgICAgIjwvc2NyaXB0PiI7CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRI
VE1MU3RyaW5nOmh0bWxdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CkBA
IC0zMjQsNiArMzIzLDggQEAgVEVTVChJUENUZXN0aW5nQVBJLCBDYW5SZWNlaXZlU2hhcmVkTWVt
b3J5KQogICAgICAgICAiICAgIHsgdHlwZTogJ1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRDcmVhdGlv
blBhcmFtZXRlcnMnLCAnaWRlbnRpZmllcic6IDEyMywgJ3BhZ2VQcm94eUlEJzogSVBDLndlYlBh
Z2VQcm94eUlELCAncGFnZUlEJzogSVBDLnBhZ2VJRCB9LCIKICAgICAgICAgIiAgICB7IHR5cGU6
ICdTdHJlYW1Db25uZWN0aW9uQnVmZmVyJywgdmFsdWU6IHN0cmVhbUNvbm5lY3Rpb24uc3RyZWFt
QnVmZmVyKCkgfSwiCiAgICAgICAgICJdKTsiCisgICAgICAgICJjb25zdCBhcmd1bWVudHMgPSBJ
UEMud2FpdEZvck1lc3NhZ2UoJ0dQVScsIDEyMywgSVBDLm1lc3NhZ2VzLlJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRQcm94eV9EaWRDcmVhdGVXYWtlVXBTZW1hcGhvcmVGb3JEaXNwbGF5TGlzdFN0cmVh
bS5uYW1lLCAxMDApOyIKKyAgICAgICAgInN0cmVhbUNvbm5lY3Rpb24uc2V0V2FrZVVwU2VtYXBo
b3JlKGFyZ3VtZW50c1swXS52YWx1ZSk7IgogICAgICAgICAiY29uc3QgcmVzdWx0ID0gSVBDLnNl
bmRTeW5jTWVzc2FnZSgnR1BVJywgMTIzLCBJUEMubWVzc2FnZXMuUmVtb3RlUmVuZGVyaW5nQmFj
a2VuZF9VcGRhdGVTaGFyZWRNZW1vcnlGb3JHZXRQaXhlbEJ1ZmZlci5uYW1lLCAxMDAsIFt7dHlw
ZTogJ3VpbnQzMl90JywgdmFsdWU6IDh9XSk7IgogICAgICAgICAiYWxlcnQocmVzdWx0LmFyZ3Vt
ZW50cy5sZW5ndGgpOyIKICAgICAgICAgIjwvc2NyaXB0PiI7Cg==
</data>
<flag name="commit-queue"
          id="465548"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>