<?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>216821</bug_id>
          
          <creation_ts>2020-09-22 04:04:06 -0700</creation_ts>
          <short_desc>Implement a default prompt for getUserMedia</short_desc>
          <delta_ts>2020-09-22 09:32:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Local 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1690663</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-22 04:04:06 -0700</bug_when>
    <thetext>Implement a default prompt for getUserMedia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690664</commentid>
    <comment_count>1</comment_count>
      <attachid>409355</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-22 04:08:35 -0700</bug_when>
    <thetext>Created attachment 409355
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690665</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-22 04:10:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/69362300&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690707</commentid>
    <comment_count>3</comment_count>
      <attachid>409355</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-09-22 08:41:44 -0700</bug_when>
    <thetext>Comment on attachment 409355
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WKUserMediaCaptureAccessAlert.mm:138
&gt; +/*
&gt; +#if PLATFORM(MAC)
&gt; +    auto alert = adoptNS([NSAlert new]);
&gt; +    [alert setMessageText:alertTitle];
&gt; +    [alert setInformativeText:informativeText];
&gt; +    [alert addButtonWithTitle:allowButtonString];
&gt; +    [alert addButtonWithTitle:doNotAllowButtonString];
&gt; +    [alert beginSheetModalForWindow:webView.window completionHandler:[completionBlock](NSModalResponse returnCode) {
&gt; +        auto shouldAllow = returnCode == NSAlertFirstButtonReturn;
&gt; +        completionBlock(shouldAllow);
&gt; +    }];
&gt; +#else
&gt; +    UIAlertController* alert = [UIAlertController alertControllerWithTitle:alertMessage message:nil preferredStyle:UIAlertControllerStyleAlert];
&gt; +
&gt; +    auto completionBlock = makeBlockPtr([completionHandler = WTFMove(completionHandler)](bool shouldAllow) mutable {
&gt; +        completionHandler(shouldAllow);
&gt; +    });
&gt; +
&gt; +    NSString *cancelButtonString = WEB_UI_STRING_KEY(@&quot;Donât Allow&quot;, &quot;Donât Allow (usermedia)&quot;, @&quot;Disallow button title in user media prompt&quot;);
&gt; +    UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:cancelButtonString style:UIAlertActionStyleCancel handler:[completionBlock](UIAlertAction *action) {
&gt; +        completionBlock(false);
&gt; +    }];
&gt; +
&gt; +    NSString *allowButtonString = WEB_UI_STRING_KEY(@&quot;Allow&quot;, &quot;Allow (usermedia)&quot;, @&quot;Allow button title in user media prompt&quot;);
&gt; +
&gt; +
&gt; +    UIAlertAction* allowAction = [UIAlertAction actionWithTitle:allowButtonString style:UIAlertActionStyleDefault handler:[completionBlock](UIAlertAction *action) {
&gt; +        completionBlock(true);
&gt; +    }];
&gt; +    [alert addAction:cancelAction];
&gt; +    [alert addAction:allowAction];
&gt; +
&gt; +    [[UIViewController _viewControllerForFullScreenPresentationFromView:view] presentViewController:alert animated:YES completion:nil];
&gt; +#endif
&gt; + */

This isn&apos;t needed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690717</commentid>
    <comment_count>4</comment_count>
      <attachid>409365</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-22 08:53:38 -0700</bug_when>
    <thetext>Created attachment 409365
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690735</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-22 09:32:16 -0700</bug_when>
    <thetext>Committed r267414: &lt;https://trac.webkit.org/changeset/267414&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409365.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409355</attachid>
            <date>2020-09-22 04:08:35 -0700</date>
            <delta_ts>2020-09-22 08:53:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216821-20200922130833.patch</filename>
            <type>text/plain</type>
            <size>30572</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3Mzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTczMDZmMDI1OTU2NTYx
OGU2YmJiMDZkYTM2NDRkMDAxNGEwNGQ4Yi4uNTk2MTc5YTIwYjQzNWFhZWM1ZGY0MTgxZmE5YzZj
OGQzYmMzZjBmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA5LTIyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYSBkZWZh
dWx0IHByb21wdCBmb3IgZ2V0VXNlck1lZGlhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNYW51YWxseSB0ZXN0ZWQgYnkgcnVubmluZyBNaW5pYnJvd3Nl
ci4KKworICAgICAgICAqIGVuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3M6CisKIDIwMjAtMDkt
MjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIHRvUlRDSWNl
UHJvdG9jb2wgc2hvdWxkIGhhbmRsZSBzc2x0Y3AgY2FuZGlkYXRlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1NDE2
OGM4N2UyOGRjNWE0MWI0ZTY4MTJjNDcxZWJiZWNkYjIwZDA4Li5mZTkxZGVjNzZkNDkyZTk3MjY2
ZDhlMzYwYmQ4NTY4Mjc0MTU1YmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIwLTA5
LTIyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1l
bnQgYSBkZWZhdWx0IHByb21wdCBmb3IgZ2V0VXNlck1lZGlhCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY4MjEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIHByZWZlcmVuY2VzIHVzZWQgYnkgV2Vi
UlRDIGRldmVsb3AgbWVudSB0byBpbnRlcm5hbHMuCisgICAgICAgIFRoaXMgYWxsb3dzIGhhdmlu
ZyB0aGVtIGluIE1pbmlCcm93c2VyLgorCisgICAgICAgIEVuYWJsZSB2aWRlbyBjYXB0dXJlIGlu
IFVJUHJvY2VzcyBieSBkZWZhdWx0IGZvciBub24gU2FmYXJpIGFwcGxpY2F0aW9ucy4KKyAgICAg
ICAgQWRkIHN1cHBvcnQgZm9yIGEgZ2V0VXNlck1lZGlhIHByb21wdCwgdmVyeSBzaW1pbGFyIHRv
IGlPUyBjdXJyZW50IHByb21wdC4KKyAgICAgICAgVXNlIHRoZSBwcm9tcHQgaW4gY2FzZSB0aGUg
YXBwbGljYXRpb24gZG9lcyBub3QgaW1wbGVtZW50IGFueSBvZiB0aGUgdHdvIGRlbGVnYXRlcy4K
KworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAqIFNoYXJl
ZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpkZWZh
dWx0Q2FwdHVyZVZpZGVvSW5VSVByb2Nlc3NFbmFibGVkKToKKyAgICAgICAgKiBTaGFyZWQvV2Vi
UHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmg6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVu
Y2VzRXhwZXJpbWVudGFsLnlhbWw6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzSW50
ZXJuYWwueWFtbDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpV
SURlbGVnYXRlOjpzZXREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OnJlcXVlc3RVc2VyTWVk
aWFBdXRob3JpemF0aW9uRm9yRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpV
SUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5oOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNz
QWxlcnQubW06IEFkZGVkLgorICAgICAgICAoV2ViS2l0Ojp2aXNpYmxlRG9tYWluKToKKyAgICAg
ICAgKFdlYktpdDo6YWxlcnRNZXNzYWdlVGV4dCk6CisgICAgICAgIChXZWJLaXQ6OnByZXNlbnRV
c2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQpOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorCiAyMDIwLTA5LTIyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBNb3ZlIE1lZGlhIGluIEdQVSBQcm9jZXNzIGZsYWcgZnJvbSBp
bnRlcm5hbCB0byBleHBlcmltZW50YWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VuLmxw
cm9qL0xvY2FsaXphYmxlLnN0cmluZ3MgYi9Tb3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6
YWJsZS5zdHJpbmdzCmluZGV4IDBiODBhMjgwYWQ2ZjUzOWYxZjMzYWMzZTE4Zjg5NTc3N2JlY2My
ZWEuLmZhNGQzMmNjZjcyNzBhMzY2YTA2YWRmZWRhODhhZTdkY2MzZTY5ZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MKKysrIGIvU291cmNl
L1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwpAQCAtMTI0LDYgKzEyNCwyMSBA
QAogLyogTWVzc2FnZSBmb3IgcmVxdWVzdGluZyBjcm9zcy1zaXRlIGNvb2tpZSBhbmQgd2Vic2l0
ZSBkYXRhIGFjY2Vzcy4gKi8KICJBbGxvdyDigJwlQOKAnSB0byB1c2UgY29va2llcyBhbmQgd2Vi
c2l0ZSBkYXRhIHdoaWxlIGJyb3dzaW5nIOKAnCVA4oCdPyIgPSAiQWxsb3cg4oCcJUDigJ0gdG8g
dXNlIGNvb2tpZXMgYW5kIHdlYnNpdGUgZGF0YSB3aGlsZSBicm93c2luZyDigJwlQOKAnT8iOwog
CisvKiBNZXNzYWdlIGZvciB1c2VyIG1lZGlhIHByb21wdCAqLworIkFsbG93IOKAnCVA4oCdIHRv
IHVzZSB5b3VyIGNhbWVyYSBhbmQgbWljcm9waG9uZT8iID0gIkFsbG93IOKAnCVA4oCdIHRvIHVz
ZSB5b3VyIGNhbWVyYSBhbmQgbWljcm9waG9uZT8iOworCisvKiBNZXNzYWdlIGZvciB1c2VyIGNh
bWVyYSBhY2Nlc3MgcHJvbXB0ICovCisiQWxsb3cg4oCcJUDigJ0gdG8gdXNlIHlvdXIgY2FtZXJh
PyIgPSAiQWxsb3cg4oCcJUDigJ0gdG8gdXNlIHlvdXIgY2FtZXJhPyI7CisKKy8qIE1lc3NhZ2Ug
Zm9yIHVzZXIgbWljcm9waG9uZSBhY2Nlc3MgcHJvbXB0ICovCisiQWxsb3cg4oCcJUDigJ0gdG8g
dXNlIHlvdXIgbWljcm9waG9uZT8iID0gIkFsbG93IOKAnCVA4oCdIHRvIHVzZSB5b3VyIG1pY3Jv
cGhvbmU/IjsKKworLyogQWxsb3cgYnV0dG9uIHRpdGxlIGluIHVzZXIgbWVkaWEgcHJvbXB0ICov
CisiQWxsb3cgKHVzZXJtZWRpYSkiID0gIkFsbG93IjsKKworLyogRGlzYWxsb3cgYnV0dG9uIHRp
dGxlIGluIHVzZXIgbWVkaWEgcHJvbXB0ICovCisiRG9u4oCZdCBBbGxvdyAodXNlcm1lZGlhKSIg
PSAiRG9u4oCZdCBBbGxvdyI7CisKIC8qIFdLRXJyb3JVbmtub3duIGRlc2NyaXB0aW9uICovCiAi
QW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCIgPSAiQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCI7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGYwMWUyOTNl
MjUwMTk4NWI5ODhkN2ViMGFmNjZkODgwYzVjMDE5NTkuLjNhNzhiZjkwM2IyNTM2N2M5YzIwZTZm
MjEzMGFkNTZkMTA3ZjU1ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMu
eWFtbApAQCAtOTk0LDE5ICs5OTQsMyBAQCBJc0FjY2Vzc2liaWxpdHlJc29sYXRlZFRyZWVFbmFi
bGVkOgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgYW4gYWNjZXNzaWJpbGl0
eSBoaWVyYXJjaHkgZm9yIFZvaWNlT3ZlciB0aGF0IGNhbiBiZSBhY2Nlc3NlZCBvbiBhIHNlY29u
ZGFyeSB0aHJlYWQgZm9yIGltcHJvdmVkIHBlcmZvcm1hbmNlIgogICB3ZWJjb3JlQmluZGluZzog
UnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjb25kaXRpb246IEVOQUJMRShBQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpCi0KLSMgRGVwcmVjYXRlZAotCi1JQ0VDYW5kaWRhdGVGaWx0ZXJpbmdF
bmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogdHJ1ZQotCi1Nb2NrQ2FwdHVy
ZURldmljZXNFbmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9N
T0NLX0NBUFRVUkVfREVWSUNFU19FTkFCTEVECi0gIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NU
UkVBTSkKLQotTWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uOgotICB0eXBlOiBi
b29sCi0gIGRlZmF1bHRWYWx1ZTogdHJ1ZQotICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJF
QU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1
bHRWYWx1ZXMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0
VmFsdWVzLmNwcAppbmRleCA4NzY5NWE0M2U1YmY5ODA1NTQ0OTJjYTdlOWViNWFiYWU3MDJiNjM5
Li40MTNlNjE0ZGI1ODdhNDRhZGRmY2M3MDJkYzIxOWQ1YmU2Y2ZiNzBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKQEAg
LTE2OSw2ICsxNjksMTUgQEAgYm9vbCBkZWZhdWx0Q2FwdHVyZVZpZGVvSW5HUFVQcm9jZXNzRW5h
YmxlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIGRlZmF1bHRDYXB0dXJlVmlkZW9J
blVJUHJvY2Vzc0VuYWJsZWQoKQoreworI2lmIFBMQVRGT1JNKE1BQykKKyAgICByZXR1cm4gIU1h
Y0FwcGxpY2F0aW9uOjppc1NhZmFyaSgpOworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaWYgRU5BQkxFKFdFQl9SVEMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVl
cy5oCmluZGV4IDY1ODkyOWRhZDNmY2IxZGFhOWY5ZjQ2MjZhYTJhODkzZmQxOWEyZTguLmU1Zjcy
Yjc3MDlmMDllMzMwZTg5MmY0Y2Q2OTEzNmRmMzVlMDg3NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCkBAIC0zNDQsNiArMzQ0
LDcgQEAgYm9vbCBkZWZhdWx0UmVuZGVyQ2FudmFzSW5HUFVQcm9jZXNzRW5hYmxlZCgpOwogYm9v
bCBkZWZhdWx0Q2FwdHVyZUF1ZGlvSW5HUFVQcm9jZXNzRW5hYmxlZCgpOwogYm9vbCBkZWZhdWx0
Q2FwdHVyZUF1ZGlvSW5VSVByb2Nlc3NFbmFibGVkKCk7CiBib29sIGRlZmF1bHRDYXB0dXJlVmlk
ZW9JbkdQVVByb2Nlc3NFbmFibGVkKCk7Citib29sIGRlZmF1bHRDYXB0dXJlVmlkZW9JblVJUHJv
Y2Vzc0VuYWJsZWQoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRl
eCBhMTY0OWQ1MzZkZDdiY2MzNjY4MzMyMWQwYmU3ZTQ2NzJlZGNmZjUyLi5iYzE5NzE2ZjJlY2Zk
M2U0MGIxZTJhY2I5ZTg2ZGZiNTNlYjk3M2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAgLTM5MywxNCArMzkzLDYg
QEAgR2VuZXJpY0N1ZUFQSUVuYWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVu
YWJsZSBHZW5lcmljIFRleHQgVHJhY2sgQ3VlIEFQSSIKICAgd2ViY29yZU5hbWU6IGdlbmVyaWND
dWVBUElFbmFibGVkCiAKLUNhcHR1cmVWaWRlb0luVUlQcm9jZXNzRW5hYmxlZDoKLSAgdHlwZTog
Ym9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiQ2FwdHVy
ZSB2aWRlbyBpbiBVSSBQcm9jZXNzIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFi
bGUgdmlkZW8gY2FwdHVyZSBpbiBVSSBQcm9jZXNzIgotICB3ZWJjb3JlQmluZGluZzogbm9uZQot
ICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pCi0KIEFzcGVjdFJhdGlvT2ZJbWdGcm9t
V2lkdGhBbmRIZWlnaHRFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNJbnRlcm5h
bC55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1s
CmluZGV4IGZiMDdjOTEyMjlmYzkxZGM2OTZiNjRlYzEzZTE4YTA1Y2I1OTg5NTEuLmM3Mjc2NjYw
MTEzNzMzZWUxMWI4OGZjY2YzNTczNGU5NjBkODI4NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwKQEAgLTEwNiw2ICsxMDYsMzAgQEAg
QmxvY2tpbmdPZlNtYWxsUGx1Z2luc0VuYWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiQmxv
Y2sgc21hbGwgcGx1Z2lucyIKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiU3RvcCBwbHVn
aW5zIHNtYWxsZXIgdGhhbiBhIGNlcnRhaW4gdGhyZXNob2xkIGZyb20gbG9hZGluZy4iCiAKK0Nh
cHR1cmVBdWRpb0luVUlQcm9jZXNzRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFs
dWU6IGRlZmF1bHRDYXB0dXJlQXVkaW9JblVJUHJvY2Vzc0VuYWJsZWQoKQorICBodW1hblJlYWRh
YmxlTmFtZTogIkNhcHR1cmUgYXVkaW8gaW4gVUkgUHJvY2VzcyIKKyAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIGF1ZGlvIGNhcHR1cmUgaW4gVUkgUHJvY2VzcyIKKyAgd2ViY29y
ZUJpbmRpbmc6IG5vbmUKKyAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCitDYXB0
dXJlQXVkaW9JbkdQVVByb2Nlc3NFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1
ZTogZGVmYXVsdENhcHR1cmVBdWRpb0luR1BVUHJvY2Vzc0VuYWJsZWQoKQorICBodW1hblJlYWRh
YmxlTmFtZTogIlVzZSBHUFUgUHJvY2VzcyB0byBjYXB0dXJlIGF1ZGlvIgorICBodW1hblJlYWRh
YmxlRGVzY3JpcHRpb246ICJFbmFibGUgYXVkaW8gY2FwdHVyZSBpbiBHUFUgUHJvY2VzcyIKKyAg
d2ViY29yZUJpbmRpbmc6IG5vbmUKKyAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFNKQor
CitDYXB0dXJlVmlkZW9JblVJUHJvY2Vzc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVs
dFZhbHVlOiBkZWZhdWx0Q2FwdHVyZVZpZGVvSW5VSVByb2Nlc3NFbmFibGVkKCkKKyAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJDYXB0dXJlIHZpZGVvIGluIFVJIFByb2Nlc3MiCisgIGh1bWFuUmVhZGFi
bGVEZXNjcmlwdGlvbjogIkVuYWJsZSB2aWRlbyBjYXB0dXJlIGluIFVJIFByb2Nlc3MiCisgIHdl
YmNvcmVCaW5kaW5nOiBub25lCisgIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NUUkVBTSkKKwog
Q2FwdHVyZVZpZGVvSW5HUFVQcm9jZXNzRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0
VmFsdWU6IGRlZmF1bHRDYXB0dXJlVmlkZW9JbkdQVVByb2Nlc3NFbmFibGVkKCkKQEAgLTI5OSwy
MiArMzIzLDYgQEAgTGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQ6CiAg
IHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5B
QkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKLUNhcHR1cmVBdWRpb0luVUlQcm9jZXNz
RW5hYmxlZDoKLSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRDYXB0dXJlQXVk
aW9JblVJUHJvY2Vzc0VuYWJsZWQoKQotICBodW1hblJlYWRhYmxlTmFtZTogIkNhcHR1cmUgYXVk
aW8gaW4gVUkgUHJvY2VzcyIKLSAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIGF1
ZGlvIGNhcHR1cmUgaW4gVUkgUHJvY2VzcyIKLSAgd2ViY29yZUJpbmRpbmc6IG5vbmUKLSAgY29u
ZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi1DYXB0dXJlQXVkaW9JbkdQVVByb2Nlc3NF
bmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogZGVmYXVsdENhcHR1cmVBdWRp
b0luR1BVUHJvY2Vzc0VuYWJsZWQoKQotICBodW1hblJlYWRhYmxlTmFtZTogIlVzZSBHUFUgUHJv
Y2VzcyB0byBjYXB0dXJlIGF1ZGlvIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFi
bGUgYXVkaW8gY2FwdHVyZSBpbiBHUFUgUHJvY2VzcyIKLSAgd2ViY29yZUJpbmRpbmc6IG5vbmUK
LSAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCiBSZW5kZXJDYW52YXNJbkdQVVBy
b2Nlc3NFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFJlbmRl
ckNhbnZhc0luR1BVUHJvY2Vzc0VuYWJsZWQoKQpAQCAtNDA3LDQgKzQxNSwyMyBAQCBMaXZlUmFu
Z2VTZWxlY3Rpb25FbmFibGVkOgogICBkZWZhdWx0VmFsdWU6IGZhbHNlCiAgIGh1bWFuUmVhZGFi
bGVOYW1lOiAiTGl2ZSBSYW5nZXMgaW4gU2VsZWN0aW9uIgogICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJMaXZlIHJhbmdlIGJlaGF2aW9yIGZvciByYW5nZXMgaW4gdGhlIFNlbGVjdGlvbiBv
YmplY3QiCi0gIGNhdGVnb3J5OiBpbnRlcm5hbAorCitJQ0VDYW5kaWRhdGVGaWx0ZXJpbmdFbmFi
bGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorICBodW1hblJlYWRhYmxl
TmFtZTogIkVuYWJsZSBJQ0UgQ2FuZGlkYXRlIEZpbHRlcmluZyIKKyAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIElDRSBDYW5kaWRhdGUgRmlsdGVyaW5nIgorCitNb2NrQ2FwdHVy
ZURldmljZXNFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9N
T0NLX0NBUFRVUkVfREVWSUNFU19FTkFCTEVECisgIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NU
UkVBTSkKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJFbmFibGUgTW9jayBDYXB0dXJlIERldmljZXMi
CisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBNb2NrIENhcHR1cmUgRGV2aWNl
cyIKKworTWVkaWFDYXB0dXJlUmVxdWlyZXNTZWN1cmVDb25uZWN0aW9uOgorICB0eXBlOiBib29s
CisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0p
CisgIGh1bWFuUmVhZGFibGVOYW1lOiAiTGltaXQgTWVkaWEgQ2FwdHVyZSB0byBTZWN1cmUgU2l0
ZXMiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkxpbWl0IE1lZGlhIENhcHR1cmUgdG8g
U2VjdXJlIFNpdGVzIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
VUlEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5o
CmluZGV4IGYyYjVhN2IyNmVkYTVmNmM4ODRiMTliY2NjMDRiMDkwODU0OWFjNjcuLjkxMWFiNmFl
YzJmZWZkMjNmZDg5YmFhNGI4ZmViZjNlMDllNDhiMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKQEAgLTIxNSw3ICsyMTUsNiBAQCBwcml2YXRlOgogICAg
ICAgICBib29sIHdlYlZpZXdGdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmUgOiAxOwogICAgICAg
ICBib29sIHdlYlZpZXdEaWRFbnRlckZ1bGxzY3JlZW4gOiAxOwogICAgICAgICBib29sIHdlYlZp
ZXdEaWRFeGl0RnVsbHNjcmVlbiA6IDE7Ci0gICAgICAgIGJvb2wgd2ViVmlld1JlcXVlc3RNZWRp
YUNhcHR1cmVBdXRob3JpemF0aW9uRm9yRnJhbWVEZWNpc2lvbkhhbmRsZXIgOiAxOwogICAgICAg
ICBib29sIHdlYlZpZXdJc01lZGlhQ2FwdHVyZUF1dGhvcml6ZWRGb3JGcmFtZURlY2lzaW9uSGFu
ZGxlciA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld01lZGlhQ2FwdHVyZVN0YXRlRGlkQ2hhbmdl
IDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3RGlkQ2hhbmdlRm9udEF0dHJpYnV0ZXMgOiAxOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5kZXggNjVhOTJj
YWIzNzdkNzExZWY4MzU5ZjIxYjAyZjcwNTExMmFkMzIxOS4uNWIyN2YxOGU2MmJhNTk2OTA0Zjc2
OGI4YzVmYzY3NTUzMGY2ODljMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9V
SURlbGVnYXRlLm1tCkBAIC00NCw2ICs0NCw3IEBACiAjaW1wb3J0ICJXS1NlY3VyaXR5T3JpZ2lu
SW50ZXJuYWwuaCIKICNpbXBvcnQgIldLU3RvcmFnZUFjY2Vzc0FsZXJ0LmgiCiAjaW1wb3J0ICJX
S1VJRGVsZWdhdGVQcml2YXRlLmgiCisjaW1wb3J0ICJXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NB
bGVydC5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29uZmlndXJhdGlvbkludGVybmFsLmgiCiAjaW1w
b3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXaW5kb3dGZWF0dXJlc0ludGVy
bmFsLmgiCkBAIC0xNTMsNyArMTU0LDYgQEAgdm9pZCBVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZShp
ZCA8V0tVSURlbGVnYXRlPiBkZWxlZ2F0ZSkKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3
RGlkTm90SGFuZGxlVGFwQXNDbGlja0F0UG9pbnQgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkaWROb3RIYW5kbGVUYXBBc0NsaWNrQXRQb2ludDopXTsK
ICAgICBtX2RlbGVnYXRlTWV0aG9kcy5wcmVzZW50aW5nVmlld0NvbnRyb2xsZXJGb3JXZWJWaWV3
ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3ByZXNlbnRpbmdWaWV3
Q29udHJvbGxlckZvcldlYlZpZXc6KV07CiAjZW5kaWYKLSAgICBtX2RlbGVnYXRlTWV0aG9kcy53
ZWJWaWV3UmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb25Gb3JGcmFtZURlY2lzaW9uSGFu
ZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJl
cXVlc3RVc2VyTWVkaWFBdXRob3JpemF0aW9uRm9yRGV2aWNlczp1cmw6bWFpbkZyYW1lVVJMOmRl
Y2lzaW9uSGFuZGxlcjopXSB8fCBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rv
cihfd2ViVmlldzpyZXF1ZXN0TWVkaWFDYXB0dXJlQXV0aG9yaXphdGlvbjpkZWNpc2lvbkhhbmRs
ZXI6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0lzTWVkaWFDYXB0dXJlQXV0aG9y
aXplZEZvckZyYW1lRGVjaXNpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3IoX3dlYlZpZXc6Y2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9yVVJMOm1haW5G
cmFtZVVSTDpmcmFtZUlkZW50aWZpZXI6ZGVjaXNpb25IYW5kbGVyOildIHx8IFtkZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmluY2x1ZGVTZW5zaXRpdmVNZWRp
YURldmljZURldGFpbHM6KV07CiAKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3TWVkaWFD
YXB0dXJlU3RhdGVEaWRDaGFuZ2UgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcihfd2ViVmlldzptZWRpYUNhcHR1cmVTdGF0ZURpZENoYW5nZTopXTsKQEAgLTkyMSwxNyAr
OTIxLDIzIEBAIHN0YXRpYyB2b2lkIHJlcXVlc3RVc2VyTWVkaWFBdXRob3JpemF0aW9uRm9yRnJh
bWUoY29uc3QgV2ViRnJhbWVQcm94eSYgZnJhbWUsIEFQCiAgICAgICAgIEFTU0VSVCghKGRldmlj
ZXMgJiBfV0tDYXB0dXJlRGV2aWNlQ2FtZXJhKSk7CiAgICAgfQogCi0gICAgY29uc3QgYXV0byog
bWFpbkZyYW1lID0gZnJhbWUucGFnZSgpLT5tYWluRnJhbWUoKTsKKyAgICBib29sIHJlc3BvbmRz
VG9SZXF1ZXN0TWVkaWFDYXB0dXJlQXV0aG9yaXphdGlvbiA9IFtkZWxlZ2F0ZSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJlcXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0
aW9uOmRlY2lzaW9uSGFuZGxlcjopXTsKKyAgICBib29sIHJlc3BvbmRzVG9SZXF1ZXN0VXNlck1l
ZGlhQXV0aG9yaXphdGlvbkZvckRldmljZXMgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcihfd2ViVmlldzpyZXF1ZXN0VXNlck1lZGlhQXV0aG9yaXphdGlvbkZvckRldmlj
ZXM6dXJsOm1haW5GcmFtZVVSTDpkZWNpc2lvbkhhbmRsZXI6KV07CisgICAgaWYgKCFyZXF1ZXN0
LnJlcXVpcmVzRGlzcGxheUNhcHR1cmUoKSAmJiAhcmVzcG9uZHNUb1JlcXVlc3RVc2VyTWVkaWFB
dXRob3JpemF0aW9uRm9yRGV2aWNlcyAmJiAhcmVzcG9uZHNUb1JlcXVlc3RNZWRpYUNhcHR1cmVB
dXRob3JpemF0aW9uKSB7CisgICAgICAgIHByZXNlbnRVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxl
cnQoJndlYlZpZXcsIHRvcExldmVsT3JpZ2luLCBkZXZpY2VzLCBbZGVjaXNpb25IYW5kbGVyID0g
V1RGTW92ZShkZWNpc2lvbkhhbmRsZXIpXShib29sIGF1dGhvcml6ZWQpIG11dGFibGUgeworICAg
ICAgICAgICAgZGVjaXNpb25IYW5kbGVyKGF1dGhvcml6ZWQpOworICAgICAgICB9KTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KIAogICAgIC8vIEZJWE1FOiBQcm92aWRlIGEgc3BlY2lmaWMgZGVs
ZWdhdGUgZm9yIGRpc3BsYXkgY2FwdHVyZS4KLSAgICBpZiAoIXJlcXVlc3QucmVxdWlyZXNEaXNw
bGF5Q2FwdHVyZSgpICYmIFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93
ZWJWaWV3OnJlcXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uOmRlY2lzaW9uSGFuZGxlcjop
XSkgewotCisgICAgaWYgKCFyZXF1ZXN0LnJlcXVpcmVzRGlzcGxheUNhcHR1cmUoKSAmJiByZXNw
b25kc1RvUmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb24pIHsKICAgICAgICAgW2RlbGVn
YXRlIF93ZWJWaWV3OiZ3ZWJWaWV3IHJlcXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uOmRl
dmljZXMgZGVjaXNpb25IYW5kbGVyOmRlY2lzaW9uSGFuZGxlci5nZXQoKV07CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKICAgICBVUkwgcmVxdWVzdEZyYW1lVVJMIHsgZnJhbWUudXJsKCkgfTsK
LSAgICBVUkwgbWFpbkZyYW1lVVJMIHsgbWFpbkZyYW1lLT51cmwoKSB9OworICAgIFVSTCBtYWlu
RnJhbWVVUkwgeyBmcmFtZS5wYWdlKCktPm1haW5GcmFtZSgpLT51cmwoKSB9OwogCiAgICAgW2Rl
bGVnYXRlIF93ZWJWaWV3OiZ3ZWJWaWV3IHJlcXVlc3RVc2VyTWVkaWFBdXRob3JpemF0aW9uRm9y
RGV2aWNlczpkZXZpY2VzIHVybDpyZXF1ZXN0RnJhbWVVUkwgbWFpbkZyYW1lVVJMOm1haW5GcmFt
ZVVSTCBkZWNpc2lvbkhhbmRsZXI6ZGVjaXNpb25IYW5kbGVyLmdldCgpXTsKIH0KQEAgLTk0MSw3
ICs5NDcsNyBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkZWNpZGVQb2xpY3lGb3JVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdChXZWJQYWdlUHJveAogewogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiAgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgp
OwotICAgIGlmICghZGVsZWdhdGUgfHwgIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53
ZWJWaWV3UmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb25Gb3JGcmFtZURlY2lzaW9uSGFu
ZGxlcikgeworICAgIGlmICghZGVsZWdhdGUpIHsKICAgICAgICAgcmVxdWVzdC5kZW55KFVzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OlVzZXJNZWRpYUFjY2Vzc0RlbmlhbFJlYXNvbjo6
VXNlck1lZGlhRGlzYWJsZWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxl
cnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2FwdHVyZUFj
Y2Vzc0FsZXJ0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2E3ZDRmZTZjY2E0ODk1ZjQ3MDJhNzgyMGM2MzQ2NmE5
NDIyYmE4NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0LmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2ltcG9y
dCAiV0tXZWJWaWV3UHJpdmF0ZS5oIgorI2ltcG9ydCA8d3RmL0ZvcndhcmQuaD4KKworQGNsYXNz
IFdLV2ViVmlldzsKKworbmFtZXNwYWNlIEFQSSB7CitjbGFzcyBTZWN1cml0eU9yaWdpbjsKK30K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgcHJlc2VudFVzZXJNZWRpYUNhcHR1cmVBY2Nl
c3NBbGVydChXS1dlYlZpZXcgKiwgQVBJOjpTZWN1cml0eU9yaWdpbiYsIF9XS0NhcHR1cmVEZXZp
Y2VzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKworfQorCisjZW5kaWYgLy8g
RU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQubW0KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDRkNGRmYThhOWRkZDMwNjZhZTNhYTVmMTQyMWUzMGZhMjI2YWExMQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2Fw
dHVyZUFjY2Vzc0FsZXJ0Lm1tCkBAIC0wLDAgKzEsMTQzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9y
dCAiY29uZmlnLmgiCisjaW1wb3J0ICJXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5oIgor
CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwu
aCIKKyNpbXBvcnQgIldLV2ViVmlld1ByaXZhdGUuaCIKKyNpbXBvcnQgIldlYlBhZ2VQcm94eS5o
IgorI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDx3dGYvQmxv
Y2tQdHIuaD4KKyNpbXBvcnQgPHd0Zi9VUkxIZWxwZXJzLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0YXRpYyBOU1N0cmluZyogdmlz
aWJsZURvbWFpbihjb25zdCBTdHJpbmcmIGhvc3QpCit7CisgICAgYXV0byBkb21haW4gPSBXVEY6
OlVSTEhlbHBlcnM6OnVzZXJWaXNpYmxlVVJMKGhvc3QudXRmOCgpKTsKKyAgICByZXR1cm4gc3Rh
cnRzV2l0aExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkb21haW4sICJ3d3cuIikgPyBkb21haW4u
c3Vic3RyaW5nKDQpIDogZG9tYWluOworfQorCitzdGF0aWMgTlNTdHJpbmcgKmFsZXJ0TWVzc2Fn
ZVRleHQoQVBJOjpTZWN1cml0eU9yaWdpbiYgdG9wTGV2ZWxPcmlnaW4sIF9XS0NhcHR1cmVEZXZp
Y2VzIGRldmljZXMpCit7CisgICAgYm9vbCBzaG91bGRBc2tVc2VyRm9yQWNjZXNzVG9DYW1lcmEg
PSBkZXZpY2VzICYgX1dLQ2FwdHVyZURldmljZUNhbWVyYTsKKyAgICBib29sIHNob3VsZEFza1Vz
ZXJGb3JBY2Nlc3NUb01pY3JvcGhvbmUgPSBkZXZpY2VzICYgX1dLQ2FwdHVyZURldmljZU1pY3Jv
cGhvbmU7CisKKyAgICBhdXRvJiBvcmlnaW4gPSB0b3BMZXZlbE9yaWdpbi5zZWN1cml0eU9yaWdp
bigpOworICAgIGlmIChvcmlnaW4ucHJvdG9jb2woKSAhPSAiaHR0cCIgJiYgb3JpZ2luLnByb3Rv
Y29sKCkgIT0gImh0dHBzIikKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIGlmIChzaG91bGRB
c2tVc2VyRm9yQWNjZXNzVG9DYW1lcmEgJiYgc2hvdWxkQXNrVXNlckZvckFjY2Vzc1RvTWljcm9w
aG9uZSkKKyAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9O
U1NUUklORyhAIkFsbG93IOKAnCVA4oCdIHRvIHVzZSB5b3VyIGNhbWVyYSBhbmQgbWljcm9waG9u
ZT8iLCBAIk1lc3NhZ2UgZm9yIHVzZXIgbWVkaWEgcHJvbXB0IiksIHZpc2libGVEb21haW4ob3Jp
Z2luLmhvc3QoKSldOworICAgIGlmIChzaG91bGRBc2tVc2VyRm9yQWNjZXNzVG9DYW1lcmEpCisg
ICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkco
QCJBbGxvdyDigJwlQOKAnSB0byB1c2UgeW91ciBjYW1lcmE/IiwgQCJNZXNzYWdlIGZvciB1c2Vy
IGNhbWVyYSBhY2Nlc3MgcHJvbXB0IiksIHZpc2libGVEb21haW4ob3JpZ2luLmhvc3QoKSldOwor
ICAgIGlmIChzaG91bGRBc2tVc2VyRm9yQWNjZXNzVG9NaWNyb3Bob25lKQorICAgICAgICByZXR1
cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6V0VCX1VJX05TU1RSSU5HKEAiQWxsb3cg4oCc
JUDigJ0gdG8gdXNlIHlvdXIgbWljcm9waG9uZT8iLCBAIk1lc3NhZ2UgZm9yIHVzZXIgbWljcm9w
aG9uZSBhY2Nlc3MgcHJvbXB0IiksIHZpc2libGVEb21haW4ob3JpZ2luLmhvc3QoKSldOworICAg
IHJldHVybiBuaWw7Cit9CisKK3ZvaWQgcHJlc2VudFVzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVy
dChXS1dlYlZpZXcgKndlYlZpZXcsIEFQSTo6U2VjdXJpdHlPcmlnaW4mIHRvcExldmVsT3JpZ2lu
LCBfV0tDYXB0dXJlRGV2aWNlcyBkZXZpY2VzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGF1dG8gKmFsZXJ0VGl0bGUgPSBhbGVydE1l
c3NhZ2VUZXh0KHRvcExldmVsT3JpZ2luLCBkZXZpY2VzKTsKKyAgICBpZiAoIWFsZXJ0VGl0bGUp
IHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgYXV0byBjb21wbGV0aW9uQmxvY2sgPSBtYWtlQmxvY2tQdHIoW2NvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGJvb2wgc2hvdWxkQWxsb3cp
IG11dGFibGUgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzaG91bGRBbGxvdyk7CisgICAg
fSk7CisKKyAgICBOU1N0cmluZyAqYWxsb3dCdXR0b25TdHJpbmcgPSBXRUJfVUlfU1RSSU5HX0tF
WShAIkFsbG93IiwgIkFsbG93ICh1c2VybWVkaWEpIiwgQCJBbGxvdyBidXR0b24gdGl0bGUgaW4g
dXNlciBtZWRpYSBwcm9tcHQiKTsKKyAgICBOU1N0cmluZyAqZG9Ob3RBbGxvd0J1dHRvblN0cmlu
ZyA9IFdFQl9VSV9TVFJJTkdfS0VZKEAiRG9u4oCZdCBBbGxvdyIsICJEb27igJl0IEFsbG93ICh1
c2VybWVkaWEpIiwgQCJEaXNhbGxvdyBidXR0b24gdGl0bGUgaW4gdXNlciBtZWRpYSBwcm9tcHQi
KTsKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBhdXRvIGFsZXJ0ID0gYWRvcHROUyhbTlNBbGVy
dCBuZXddKTsKKyAgICBbYWxlcnQgc2V0TWVzc2FnZVRleHQ6YWxlcnRUaXRsZV07CisgICAgW2Fs
ZXJ0IGFkZEJ1dHRvbldpdGhUaXRsZTphbGxvd0J1dHRvblN0cmluZ107CisgICAgW2FsZXJ0IGFk
ZEJ1dHRvbldpdGhUaXRsZTpkb05vdEFsbG93QnV0dG9uU3RyaW5nXTsKKyAgICBbYWxlcnQgYmVn
aW5TaGVldE1vZGFsRm9yV2luZG93OndlYlZpZXcud2luZG93IGNvbXBsZXRpb25IYW5kbGVyOltj
b21wbGV0aW9uQmxvY2tdKE5TTW9kYWxSZXNwb25zZSByZXR1cm5Db2RlKSB7CisgICAgICAgIGF1
dG8gc2hvdWxkQWxsb3cgPSByZXR1cm5Db2RlID09IE5TQWxlcnRGaXJzdEJ1dHRvblJldHVybjsK
KyAgICAgICAgY29tcGxldGlvbkJsb2NrKHNob3VsZEFsbG93KTsKKyAgICB9XTsKKyNlbHNlCisg
ICAgVUlBbGVydENvbnRyb2xsZXIqIGFsZXJ0ID0gW1VJQWxlcnRDb250cm9sbGVyIGFsZXJ0Q29u
dHJvbGxlcldpdGhUaXRsZTphbGVydFRpdGxlIG1lc3NhZ2U6bmlsIHByZWZlcnJlZFN0eWxlOlVJ
QWxlcnRDb250cm9sbGVyU3R5bGVBbGVydF07CisgICAgVUlBbGVydEFjdGlvbiogYWxsb3dBY3Rp
b24gPSBbVUlBbGVydEFjdGlvbiBhY3Rpb25XaXRoVGl0bGU6YWxsb3dCdXR0b25TdHJpbmcgc3R5
bGU6VUlBbGVydEFjdGlvblN0eWxlQ2FuY2VsIGhhbmRsZXI6W2NvbXBsZXRpb25CbG9ja10oVUlB
bGVydEFjdGlvbiAqYWN0aW9uKSB7CisgICAgICAgIGNvbXBsZXRpb25CbG9jayh0cnVlKTsKKyAg
ICB9XTsKKworICAgIFVJQWxlcnRBY3Rpb24qIGRvTm90QWxsb3dBY3Rpb24gPSBbVUlBbGVydEFj
dGlvbiBhY3Rpb25XaXRoVGl0bGU6ZG9Ob3RBbGxvd0J1dHRvblN0cmluZyBzdHlsZTpVSUFsZXJ0
QWN0aW9uU3R5bGVEZWZhdWx0IGhhbmRsZXI6W2NvbXBsZXRpb25CbG9ja10oVUlBbGVydEFjdGlv
biAqYWN0aW9uKSB7CisgICAgICAgIGNvbXBsZXRpb25CbG9jayhmYWxzZSk7CisgICAgfV07CisK
KyAgICBbYWxlcnQgYWRkQWN0aW9uOmRvTm90QWxsb3dBY3Rpb25dOworICAgIFthbGVydCBhZGRB
Y3Rpb246YWxsb3dBY3Rpb25dOworCisgICAgW1tVSVZpZXdDb250cm9sbGVyIF92aWV3Q29udHJv
bGxlckZvckZ1bGxTY3JlZW5QcmVzZW50YXRpb25Gcm9tVmlldzp3ZWJWaWV3XSBwcmVzZW50Vmll
d0NvbnRyb2xsZXI6YWxlcnQgYW5pbWF0ZWQ6WUVTIGNvbXBsZXRpb246bmlsXTsKKyNlbmRpZgor
LyoKKyNpZiBQTEFURk9STShNQUMpCisgICAgYXV0byBhbGVydCA9IGFkb3B0TlMoW05TQWxlcnQg
bmV3XSk7CisgICAgW2FsZXJ0IHNldE1lc3NhZ2VUZXh0OmFsZXJ0VGl0bGVdOworICAgIFthbGVy
dCBzZXRJbmZvcm1hdGl2ZVRleHQ6aW5mb3JtYXRpdmVUZXh0XTsKKyAgICBbYWxlcnQgYWRkQnV0
dG9uV2l0aFRpdGxlOmFsbG93QnV0dG9uU3RyaW5nXTsKKyAgICBbYWxlcnQgYWRkQnV0dG9uV2l0
aFRpdGxlOmRvTm90QWxsb3dCdXR0b25TdHJpbmddOworICAgIFthbGVydCBiZWdpblNoZWV0TW9k
YWxGb3JXaW5kb3c6d2ViVmlldy53aW5kb3cgY29tcGxldGlvbkhhbmRsZXI6W2NvbXBsZXRpb25C
bG9ja10oTlNNb2RhbFJlc3BvbnNlIHJldHVybkNvZGUpIHsKKyAgICAgICAgYXV0byBzaG91bGRB
bGxvdyA9IHJldHVybkNvZGUgPT0gTlNBbGVydEZpcnN0QnV0dG9uUmV0dXJuOworICAgICAgICBj
b21wbGV0aW9uQmxvY2soc2hvdWxkQWxsb3cpOworICAgIH1dOworI2Vsc2UKKyAgICBVSUFsZXJ0
Q29udHJvbGxlciogYWxlcnQgPSBbVUlBbGVydENvbnRyb2xsZXIgYWxlcnRDb250cm9sbGVyV2l0
aFRpdGxlOmFsZXJ0TWVzc2FnZSBtZXNzYWdlOm5pbCBwcmVmZXJyZWRTdHlsZTpVSUFsZXJ0Q29u
dHJvbGxlclN0eWxlQWxlcnRdOworCisgICAgYXV0byBjb21wbGV0aW9uQmxvY2sgPSBtYWtlQmxv
Y2tQdHIoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGJv
b2wgc2hvdWxkQWxsb3cpIG11dGFibGUgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzaG91
bGRBbGxvdyk7CisgICAgfSk7CisKKyAgICBOU1N0cmluZyAqY2FuY2VsQnV0dG9uU3RyaW5nID0g
V0VCX1VJX1NUUklOR19LRVkoQCJEb27igJl0IEFsbG93IiwgIkRvbuKAmXQgQWxsb3cgKHVzZXJt
ZWRpYSkiLCBAIkRpc2FsbG93IGJ1dHRvbiB0aXRsZSBpbiB1c2VyIG1lZGlhIHByb21wdCIpOwor
ICAgIFVJQWxlcnRBY3Rpb24qIGNhbmNlbEFjdGlvbiA9IFtVSUFsZXJ0QWN0aW9uIGFjdGlvbldp
dGhUaXRsZTpjYW5jZWxCdXR0b25TdHJpbmcgc3R5bGU6VUlBbGVydEFjdGlvblN0eWxlQ2FuY2Vs
IGhhbmRsZXI6W2NvbXBsZXRpb25CbG9ja10oVUlBbGVydEFjdGlvbiAqYWN0aW9uKSB7CisgICAg
ICAgIGNvbXBsZXRpb25CbG9jayhmYWxzZSk7CisgICAgfV07CisKKyAgICBOU1N0cmluZyAqYWxs
b3dCdXR0b25TdHJpbmcgPSBXRUJfVUlfU1RSSU5HX0tFWShAIkFsbG93IiwgIkFsbG93ICh1c2Vy
bWVkaWEpIiwgQCJBbGxvdyBidXR0b24gdGl0bGUgaW4gdXNlciBtZWRpYSBwcm9tcHQiKTsKKwor
CisgICAgVUlBbGVydEFjdGlvbiogYWxsb3dBY3Rpb24gPSBbVUlBbGVydEFjdGlvbiBhY3Rpb25X
aXRoVGl0bGU6YWxsb3dCdXR0b25TdHJpbmcgc3R5bGU6VUlBbGVydEFjdGlvblN0eWxlRGVmYXVs
dCBoYW5kbGVyOltjb21wbGV0aW9uQmxvY2tdKFVJQWxlcnRBY3Rpb24gKmFjdGlvbikgeworICAg
ICAgICBjb21wbGV0aW9uQmxvY2sodHJ1ZSk7CisgICAgfV07CisgICAgW2FsZXJ0IGFkZEFjdGlv
bjpjYW5jZWxBY3Rpb25dOworICAgIFthbGVydCBhZGRBY3Rpb246YWxsb3dBY3Rpb25dOworCisg
ICAgW1tVSVZpZXdDb250cm9sbGVyIF92aWV3Q29udHJvbGxlckZvckZ1bGxTY3JlZW5QcmVzZW50
YXRpb25Gcm9tVmlldzp2aWV3XSBwcmVzZW50Vmlld0NvbnRyb2xsZXI6YWxlcnQgYW5pbWF0ZWQ6
WUVTIGNvbXBsZXRpb246bmlsXTsKKyNlbmRpZgorICovCit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGRjY2QwYzhjZDg0
NzVhMzZjNTZmMjJmOGQ5N2U1OTM2M2M2MWVjMWEuLjNlNTlkNGE4YjMwMzBlMmFiNjU1NGU0ZGI0
MmE5ZmQxOGY0MjZjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtOTA1LDYgKzkwNSw3IEBACiAJCTQxMzA3NUI0MURFODVGNTgwMDM5
RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1By
b3ZpZGVyLmggKi87IH07CiAJCTQxM0NDRDUwMjBERUJDNzQwMDY1QTIxQSAvKiBjb20uZ29vZ2xl
Lmdvb2dsZXRhbGticm93c2VycGx1Z2luLnNiIGluIENvcHkgUGx1Zy1pbiBTYW5kYm94IFByb2Zp
bGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0NDRDRGMjBERUJDMkYw
MDY1QTIxQSAvKiBjb20uZ29vZ2xlLmdvb2dsZXRhbGticm93c2VycGx1Z2luLnNiICovOyB9Owog
CQk0MTQzNzUxQzIwRUFFQTJEMDBGQUQwNkMgLyogY24ubWljcm9kb25lLmNtYi5zYWZhcmkuc2Ig
aW4gQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE0Mzc1MUIyMEVBRUExRTAwRkFEMDZDIC8qIGNuLm1pY3JvZG9uZS5jbWIu
c2FmYXJpLnNiICovOyB9OworCQk0MTQ3REM2OTI1MTlFQzMzMDAyMTRFRTcgLyogV0tVc2VyTWVk
aWFDYXB0dXJlQWNjZXNzQWxlcnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTQ3REM2NzI1MTlFMjlEMDAyMTRFRTcgLyogV0tVc2VyTWVkaWFDYXB0
dXJlQWNjZXNzQWxlcnQubW0gKi87IH07CiAJCTQxNEREMzc5MjBCRjQzRjUwMDY5NTlGQiAvKiBj
b20uY2lzY28ud2ViZXgucGx1Z2luLmdwYzY0LnNiIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTRERDM3ODIwQkY0M0VBMDA2OTU5RkIgLyogY29tLmNp
c2NvLndlYmV4LnBsdWdpbi5ncGM2NC5zYiAqLzsgfTsKIAkJNDE0REQzN0EyMEJGNDlBNTAwNjk1
OUZCIC8qIGNvbS5jaXNjby53ZWJleC5wbHVnaW4uZ3BjNjQuc2IgaW4gQ29weSBQbHVnLWluIFNh
bmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE0REQz
NzgyMEJGNDNFQTAwNjk1OUZCIC8qIGNvbS5jaXNjby53ZWJleC5wbHVnaW4uZ3BjNjQuc2IgKi87
IH07CiAJCTQxNTdFNEIwMjBFMkVDREYwMEE2QzBENyAvKiBjb20uZ29vZ2xlLm8xZGJyb3dzZXJw
bHVnaW4uc2IgaW4gQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDE1N0U0QUYyMEUyRUM5ODAwQTZDMEQ3IC8qIGNvbS5nb29n
bGUubzFkYnJvd3NlcnBsdWdpbi5zYiAqLzsgfTsKQEAgLTM0MTcsNiArMzQxOCw4IEBACiAJCTQx
MzVGQkQwMUY0RkI3RjIwMDc0QzQ3QiAvKiBDYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxM0NDRDRGMjBERUJDMkYwMDY1QTIxQSAv
KiBjb20uZ29vZ2xlLmdvb2dsZXRhbGticm93c2VycGx1Z2luLnNiICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IGNvbS5nb29nbGUuZ29vZ2xldGFsa2Jyb3dzZXJwbHVnaW4uc2I7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxNDM3NTFCMjBFQUVBMUUwMEZBRDA2QyAvKiBjbi5taWNyb2Rv
bmUuY21iLnNhZmFyaS5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBjbi5taWNyb2RvbmUuY21i
LnNhZmFyaS5zYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE0N0RDNjcyNTE5RTI5
RDAwMjE0RUU3IC8qIFdLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxNDdEQzY4MjUxOUUyOUQwMDIxNEVFNyAvKiBXS1VzZXJNZWRp
YUNhcHR1cmVBY2Nlc3NBbGVydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1VzZXJNZWRpYUNhcHR1cmVB
Y2Nlc3NBbGVydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTRERDM3ODIwQkY0
M0VBMDA2OTU5RkIgLyogY29tLmNpc2NvLndlYmV4LnBsdWdpbi5ncGM2NC5zYiAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBjb20uY2lzY28ud2ViZXgucGx1Z2luLmdwYzY0LnNiOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MTUwQTVBMDIzRTA2QzkxMDA1MTI2NEEgLyogR1BVUHJvY2Vz
c1Nlc3Npb25QYXJhbWV0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQ
VVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTUxODUzNTIyMjcwNEY1MDA1NDMwQzYgLyogU2VydmljZVdvcmtlckZldGNoVGFzay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02Mzk4LDYgKzY0MDEsOCBAQAogCQkJCTJE
N0FBRkQyMThDODY0MDYwMEE3QUNENCAvKiBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaCAqLywK
IAkJCQkyREM2RDlDMTE4QzQ0QTYxMDA0M0JBRDQgLyogV0tXZWJWaWV3Q29udGVudFByb3ZpZGVy
UmVnaXN0cnkuaCAqLywKIAkJCQkyREM2RDlDMjE4QzQ0QTYxMDA0M0JBRDQgLyogV0tXZWJWaWV3
Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0gKi8sCisJCQkJNDE0N0RDNjgyNTE5RTI5RDAwMjE0
RUU3IC8qIFdLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0LmggKi8sCisJCQkJNDE0N0RDNjcy
NTE5RTI5RDAwMjE0RUU3IC8qIFdLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lm1tICovLAog
CQkJCUMxNzEwQ0YyMjRBN0JEMDMwMEQ3QzExMiAvKiBYUENFdmVudEhhbmRsZXIuaCAqLywKIAkJ
CSk7CiAJCQlwYXRoID0gQ29jb2E7CkBAIC0xMjk4NCw2ICsxMjk4OSw3IEBACiAJCQkJMkQxMUI3
QkYyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3VyY2U1Ni1tbS5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTJEMTFCN0MxMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlNTctbW0ubW0g
aW4gU291cmNlcyAqLywKIAkJCQkyRDExQjdDMjIxMjZBMjgzMDA2Rjg4NzggLyogVW5pZmllZFNv
dXJjZTU3LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxNDdEQzY5MjUxOUVDMzMwMDIxNEVFNyAv
KiBXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJE
MTFCN0MzMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlNTgtbW0ubW0gaW4gU291cmNl
cyAqLywKIAkJCQkyRDExQjdDNDIxMjZBMjgzMDA2Rjg4NzggLyogVW5pZmllZFNvdXJjZTU4LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCN0M2MjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVk
U291cmNlNTkuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWQyNTAxNzNiOTBkY2Y3NzliOTUzM2I0ZmFhN2ZlM2Vk
OWJkMzY4NS4uMDhiODcxMDM1ODc1ODk2OWZmNjYyNjA0MGI2OWFjZjc0MjMxMDkzOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDIwLTA5LTIyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBJbXBsZW1lbnQgYSBkZWZhdWx0IHByb21wdCBmb3IgZ2V0VXNlck1lZGlhCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY4MjEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgZ2V0VXNlck1l
ZGlhIGRlbGVnYXRlIGltcGxlbWVudGF0aW9ucyB0byB1c2UgV2ViS2l0IGJ1aWx0LWluIHByb21w
dC4KKyAgICAgICAgQWRkIGNhbWVyYSBhbmQgbWljcm9waG9uZSBlbnRpdGxlbWVudHMgdG8gYWxs
b3cgdXNpbmcgcmVhbCBjYW1lcmFzIGFuZCBtaWNyb3Bob25lcy4KKyAgICAgICAgS2VlcCB1c2lu
ZyBtb2NrIGRldmljZXMgYXMgdGhlIGRlZmF1bHQuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9N
aW5pQnJvd3Nlci5lbnRpdGxlbWVudHM6CisgICAgICAgICogTWluaUJyb3dzZXIvbWFjL1dLMkJy
b3dzZXJXaW5kb3dDb250cm9sbGVyLm06CisgICAgICAgICgtW1dLMkJyb3dzZXJXaW5kb3dDb250
cm9sbGVyIF93ZWJWaWV3OnJlcXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uOmRlY2lzaW9u
SGFuZGxlcjpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0syQnJvd3NlcldpbmRvd0NvbnRyb2xs
ZXIgX3dlYlZpZXc6aW5jbHVkZVNlbnNpdGl2ZU1lZGlhRGV2aWNlRGV0YWlsczpdKTogRGVsZXRl
ZC4KKwogMjAyMC0wOS0yMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBNZWRpYSBpbiBHUFUgUHJvY2VzcyBmbGFnIGZyb20gaW50ZXJuYWwgdG8gZXhw
ZXJpbWVudGFsCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci5lbnRp
dGxlbWVudHMgYi9Ub29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci5lbnRpdGxlbWVudHMKaW5k
ZXggOWFlMmEyYmRlMTY3MmI5YjRjNjhhZGIxMmRmODczYWFlNmYyZGYzYS4uMmFkOWY3NDU4MjI5
MGVmZDQyNTVmNzM5NTI3YzFlZWRhOTBkM2I4ZCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dz
ZXIvTWluaUJyb3dzZXIuZW50aXRsZW1lbnRzCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL01pbmlC
cm93c2VyLmVudGl0bGVtZW50cwpAQCAtMjIsNSArMjIsOSBAQAogCTxhcnJheT4KIAkJPHN0cmlu
Zz4oYWxsb3cgbWFjaC1pc3N1ZS1leHRlbnNpb24gKHJlcXVpcmUtYWxsIChleHRlbnNpb24tY2xh
c3MgJnF1b3Q7Y29tLmFwcGxlLndlYmtpdC5leHRlbnNpb24ubWFjaCZxdW90OykpKTwvc3RyaW5n
PgogCTwvYXJyYXk+CisJPGtleT5jb20uYXBwbGUuc2VjdXJpdHkuZGV2aWNlLmNhbWVyYTwva2V5
PgorCTx0cnVlLz4KKwk8a2V5PmNvbS5hcHBsZS5zZWN1cml0eS5kZXZpY2UubWljcm9waG9uZTwv
a2V5PgorCTx0cnVlLz4KIDwvZGljdD4KIDwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Ub29scy9NaW5p
QnJvd3Nlci9tYWMvV0syQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubSBiL1Rvb2xzL01pbmlCcm93
c2VyL21hYy9XSzJCcm93c2VyV2luZG93Q29udHJvbGxlci5tCmluZGV4IDNlODc5YjRhNzY1NDEw
ODAxMjQzNjg3YWUyMTdmYmZiODg5OWI5NTcuLjJkZTAyYzkxZTk2MTQzOWRlMDM1NGNhMDUxYmE0
ZGY1ODQ3MmMyNmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL21hYy9XSzJCcm93c2Vy
V2luZG93Q29udHJvbGxlci5tCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9XSzJCcm93c2Vy
V2luZG93Q29udHJvbGxlci5tCkBAIC04NzMsMTYgKzg3Myw2IEBAIC0gKHZvaWQpZmluZEJhclZp
ZXdEaWRDaGFuZ2VIZWlnaHQKIHsKIH0KIAotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyByZXF1ZXN0TWVkaWFDYXB0dXJlQXV0aG9yaXphdGlvbjogKF9XS0NhcHR1cmVEZXZp
Y2VzKWRldmljZXMgZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShCT09MIGF1dGhvcml6ZWQpKWRl
Y2lzaW9uSGFuZGxlcgotewotICAgIGRlY2lzaW9uSGFuZGxlcih0cnVlKTsKLX0KLQotLSAodm9p
ZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBpbmNsdWRlU2Vuc2l0aXZlTWVkaWFEZXZp
Y2VEZXRhaWxzOih2b2lkICheKShCT09MIGluY2x1ZGVTZW5zaXRpdmVEZXRhaWxzKSlkZWNpc2lv
bkhhbmRsZXIKLXsKLSAgICBkZWNpc2lvbkhhbmRsZXIoZmFsc2UpOwotfQotCiAtIChJQkFjdGlv
bilzYXZlQXNQREY6KGlkKXNlbmRlcgogewogICAgIE5TU2F2ZVBhbmVsICpwYW5lbCA9IFtOU1Nh
dmVQYW5lbCBzYXZlUGFuZWxdOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409365</attachid>
            <date>2020-09-22 08:53:38 -0700</date>
            <delta_ts>2020-09-22 09:32:16 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-216821-20200922175335.patch</filename>
            <type>text/plain</type>
            <size>28821</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3Mzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTczMDZmMDI1OTU2NTYx
OGU2YmJiMDZkYTM2NDRkMDAxNGEwNGQ4Yi4uNGRmODg2MTc0NzA2MzAxODJjYTA1NTU1MWYzN2Yz
ODRiNTAyZWM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA5LTIyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYSBkZWZh
dWx0IHByb21wdCBmb3IgZ2V0VXNlck1lZGlhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENh
cmxzb24uCisKKyAgICAgICAgTWFudWFsbHkgdGVzdGVkIGJ5IHJ1bm5pbmcgTWluaWJyb3dzZXIu
CisKKyAgICAgICAgKiBlbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOgorCiAyMDIwLTA5LTIy
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICB0b1JUQ0ljZVBy
b3RvY29sIHNob3VsZCBoYW5kbGUgc3NsdGNwIGNhbmRpZGF0ZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTQxNjhj
ODdlMjhkYzVhNDFiNGU2ODEyYzQ3MWViYmVjZGIyMGQwOC4uMzYzOGU3YWNhMzU5NTI4YTkyYzAy
OGZjNTVhZTQxNGZhYTBlMWM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAyMC0wOS0y
MiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50
IGEgZGVmYXVsdCBwcm9tcHQgZm9yIGdldFVzZXJNZWRpYQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2ODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBDYXJsc29uLgorCisgICAgICAgIE1vdmUgcHJlZmVyZW5jZXMgdXNlZCBieSBXZWJSVEMg
ZGV2ZWxvcCBtZW51IHRvIGludGVybmFscy4KKyAgICAgICAgVGhpcyBhbGxvd3MgaGF2aW5nIHRo
ZW0gaW4gTWluaUJyb3dzZXIuCisKKyAgICAgICAgRW5hYmxlIHZpZGVvIGNhcHR1cmUgaW4gVUlQ
cm9jZXNzIGJ5IGRlZmF1bHQgZm9yIG5vbiBTYWZhcmkgYXBwbGljYXRpb25zLgorICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgYSBnZXRVc2VyTWVkaWEgcHJvbXB0LCB2ZXJ5IHNpbWlsYXIgdG8gaU9T
IGN1cnJlbnQgcHJvbXB0LgorICAgICAgICBVc2UgdGhlIHByb21wdCBpbiBjYXNlIHRoZSBhcHBs
aWNhdGlvbiBkb2VzIG5vdCBpbXBsZW1lbnQgYW55IG9mIHRoZSB0d28gZGVsZWdhdGVzLgorCisg
ICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgICogU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OmRlZmF1bHRD
YXB0dXJlVmlkZW9JblVJUHJvY2Vzc0VuYWJsZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNF
eHBlcmltZW50YWwueWFtbDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNJbnRlcm5h
bC55YW1sOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVs
ZWdhdGU6OnNldERlbGVnYXRlKToKKyAgICAgICAgKFdlYktpdDo6cmVxdWVzdFVzZXJNZWRpYUF1
dGhvcml6YXRpb25Gb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xp
ZW50OjpkZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lmg6IEFkZGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVy
dC5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OnZpc2libGVEb21haW4pOgorICAgICAgICAo
V2ViS2l0OjphbGVydE1lc3NhZ2VUZXh0KToKKyAgICAgICAgKFdlYktpdDo6cHJlc2VudFVzZXJN
ZWRpYUNhcHR1cmVBY2Nlc3NBbGVydCk6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisKIDIwMjAtMDktMjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIE1vdmUgTWVkaWEgaW4gR1BVIFByb2Nlc3MgZmxhZyBmcm9tIGludGVy
bmFsIHRvIGV4cGVyaW1lbnRhbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ov
TG9jYWxpemFibGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxl
LnN0cmluZ3MKaW5kZXggMGI4MGEyODBhZDZmNTM5ZjFmMzNhYzNlMThmODk1Nzc3YmVjYzJlYS4u
ZmE0ZDMyY2NmNzI3MGEzNjZhMDZhZGZlZGE4OGFlN2RjYzNlNjlmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBAIC0xMjQsNiArMTI0LDIxIEBACiAv
KiBNZXNzYWdlIGZvciByZXF1ZXN0aW5nIGNyb3NzLXNpdGUgY29va2llIGFuZCB3ZWJzaXRlIGRh
dGEgYWNjZXNzLiAqLwogIkFsbG93IOKAnCVA4oCdIHRvIHVzZSBjb29raWVzIGFuZCB3ZWJzaXRl
IGRhdGEgd2hpbGUgYnJvd3Npbmcg4oCcJUDigJ0/IiA9ICJBbGxvdyDigJwlQOKAnSB0byB1c2Ug
Y29va2llcyBhbmQgd2Vic2l0ZSBkYXRhIHdoaWxlIGJyb3dzaW5nIOKAnCVA4oCdPyI7CiAKKy8q
IE1lc3NhZ2UgZm9yIHVzZXIgbWVkaWEgcHJvbXB0ICovCisiQWxsb3cg4oCcJUDigJ0gdG8gdXNl
IHlvdXIgY2FtZXJhIGFuZCBtaWNyb3Bob25lPyIgPSAiQWxsb3cg4oCcJUDigJ0gdG8gdXNlIHlv
dXIgY2FtZXJhIGFuZCBtaWNyb3Bob25lPyI7CisKKy8qIE1lc3NhZ2UgZm9yIHVzZXIgY2FtZXJh
IGFjY2VzcyBwcm9tcHQgKi8KKyJBbGxvdyDigJwlQOKAnSB0byB1c2UgeW91ciBjYW1lcmE/IiA9
ICJBbGxvdyDigJwlQOKAnSB0byB1c2UgeW91ciBjYW1lcmE/IjsKKworLyogTWVzc2FnZSBmb3Ig
dXNlciBtaWNyb3Bob25lIGFjY2VzcyBwcm9tcHQgKi8KKyJBbGxvdyDigJwlQOKAnSB0byB1c2Ug
eW91ciBtaWNyb3Bob25lPyIgPSAiQWxsb3cg4oCcJUDigJ0gdG8gdXNlIHlvdXIgbWljcm9waG9u
ZT8iOworCisvKiBBbGxvdyBidXR0b24gdGl0bGUgaW4gdXNlciBtZWRpYSBwcm9tcHQgKi8KKyJB
bGxvdyAodXNlcm1lZGlhKSIgPSAiQWxsb3ciOworCisvKiBEaXNhbGxvdyBidXR0b24gdGl0bGUg
aW4gdXNlciBtZWRpYSBwcm9tcHQgKi8KKyJEb27igJl0IEFsbG93ICh1c2VybWVkaWEpIiA9ICJE
b27igJl0IEFsbG93IjsKKwogLyogV0tFcnJvclVua25vd24gZGVzY3JpcHRpb24gKi8KICJBbiB1
bmtub3duIGVycm9yIG9jY3VycmVkIiA9ICJBbiB1bmtub3duIGVycm9yIG9jY3VycmVkIjsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggZjAxZTI5M2UyNTAx
OTg1Yjk4OGQ3ZWIwYWY2NmQ4ODBjNWMwMTk1OS4uM2E3OGJmOTAzYjI1MzY3YzljMjBlNmYyMTMw
YWQ1NmQxMDdmNTVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CkBAIC05OTQsMTkgKzk5NCwzIEBAIElzQWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZUVuYWJsZWQ6
CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBhbiBhY2Nlc3NpYmlsaXR5IGhp
ZXJhcmNoeSBmb3IgVm9pY2VPdmVyIHRoYXQgY2FuIGJlIGFjY2Vzc2VkIG9uIGEgc2Vjb25kYXJ5
IHRocmVhZCBmb3IgaW1wcm92ZWQgcGVyZm9ybWFuY2UiCiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSkKLQotIyBEZXByZWNhdGVkCi0KLUlDRUNhbmRpZGF0ZUZpbHRlcmluZ0VuYWJs
ZWQ6Ci0gIHR5cGU6IGJvb2wKLSAgZGVmYXVsdFZhbHVlOiB0cnVlCi0KLU1vY2tDYXB0dXJlRGV2
aWNlc0VuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wKLSAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX01PQ0tf
Q0FQVFVSRV9ERVZJQ0VTX0VOQUJMRUQKLSAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFN
KQotCi1NZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb246Ci0gIHR5cGU6IGJvb2wK
LSAgZGVmYXVsdFZhbHVlOiB0cnVlCi0gIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NUUkVBTSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZh
bHVlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1
ZXMuY3BwCmluZGV4IDg3Njk1YTQzZTViZjk4MDU1NDQ5MmNhN2U5ZWI1YWJhZTcwMmI2MzkuLjQx
M2U2MTRkYjU4N2E0NGFkZGZjYzcwMmRjMjE5ZDViZTZjZmI3MGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcApAQCAtMTY5
LDYgKzE2OSwxNSBAQCBib29sIGRlZmF1bHRDYXB0dXJlVmlkZW9JbkdQVVByb2Nlc3NFbmFibGVk
KCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgZGVmYXVsdENhcHR1cmVWaWRlb0luVUlQ
cm9jZXNzRW5hYmxlZCgpCit7CisjaWYgUExBVEZPUk0oTUFDKQorICAgIHJldHVybiAhTWFjQXBw
bGljYXRpb246OmlzU2FmYXJpKCk7CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKK30KKwog
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpZiBFTkFCTEUoV0VCX1JUQykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVl
cy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgK
aW5kZXggNjU4OTI5ZGFkM2ZjYjFkYWE5ZjlmNDYyNmFhMmE4OTNmZDE5YTJlOC4uZTVmNzJiNzcw
OWYwOWUzMzBlODkyZjRjZDY5MTM2ZGYzNWUwODc1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTM0NCw2ICszNDQsNyBA
QCBib29sIGRlZmF1bHRSZW5kZXJDYW52YXNJbkdQVVByb2Nlc3NFbmFibGVkKCk7CiBib29sIGRl
ZmF1bHRDYXB0dXJlQXVkaW9JbkdQVVByb2Nlc3NFbmFibGVkKCk7CiBib29sIGRlZmF1bHRDYXB0
dXJlQXVkaW9JblVJUHJvY2Vzc0VuYWJsZWQoKTsKIGJvb2wgZGVmYXVsdENhcHR1cmVWaWRlb0lu
R1BVUHJvY2Vzc0VuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdENhcHR1cmVWaWRlb0luVUlQcm9jZXNz
RW5hYmxlZCgpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCmluZGV4IGEx
NjQ5ZDUzNmRkN2JjYzM2NjgzMzIxZDBiZTdlNDY3MmVkY2ZmNTIuLmJjMTk3MTZmMmVjZmQzZTQw
YjFlMmFjYjllODZkZmI1M2ViOTczYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApAQCAtMzkzLDE0ICszOTMsNiBAQCBH
ZW5lcmljQ3VlQVBJRW5hYmxlZDoKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxl
IEdlbmVyaWMgVGV4dCBUcmFjayBDdWUgQVBJIgogICB3ZWJjb3JlTmFtZTogZ2VuZXJpY0N1ZUFQ
SUVuYWJsZWQKIAotQ2FwdHVyZVZpZGVvSW5VSVByb2Nlc3NFbmFibGVkOgotICB0eXBlOiBib29s
Ci0gIGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDYXB0dXJlIHZp
ZGVvIGluIFVJIFByb2Nlc3MiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSB2
aWRlbyBjYXB0dXJlIGluIFVJIFByb2Nlc3MiCi0gIHdlYmNvcmVCaW5kaW5nOiBub25lCi0gIGNv
bmRpdGlvbjogRU5BQkxFKE1FRElBX1NUUkVBTSkKLQogQXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0
aEFuZEhlaWdodEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlh
bWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlhbWwKaW5k
ZXggZmIwN2M5MTIyOWZjOTFkYzY5NmI2NGVjMTNlMThhMDVjYjU5ODk1MS4uYzcyNzY2NjAxMTM3
MzNlZTExYjg4ZmNjZjM1NzM0ZTk2MGQ4Mjg0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbApAQCAtMTA2LDYgKzEwNiwzMCBAQCBCbG9j
a2luZ09mU21hbGxQbHVnaW5zRW5hYmxlZDoKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJCbG9jayBz
bWFsbCBwbHVnaW5zIgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJTdG9wIHBsdWdpbnMg
c21hbGxlciB0aGFuIGEgY2VydGFpbiB0aHJlc2hvbGQgZnJvbSBsb2FkaW5nLiIKIAorQ2FwdHVy
ZUF1ZGlvSW5VSVByb2Nlc3NFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTog
ZGVmYXVsdENhcHR1cmVBdWRpb0luVUlQcm9jZXNzRW5hYmxlZCgpCisgIGh1bWFuUmVhZGFibGVO
YW1lOiAiQ2FwdHVyZSBhdWRpbyBpbiBVSSBQcm9jZXNzIgorICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJFbmFibGUgYXVkaW8gY2FwdHVyZSBpbiBVSSBQcm9jZXNzIgorICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQorICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pCisKK0NhcHR1cmVB
dWRpb0luR1BVUHJvY2Vzc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBk
ZWZhdWx0Q2FwdHVyZUF1ZGlvSW5HUFVQcm9jZXNzRW5hYmxlZCgpCisgIGh1bWFuUmVhZGFibGVO
YW1lOiAiVXNlIEdQVSBQcm9jZXNzIHRvIGNhcHR1cmUgYXVkaW8iCisgIGh1bWFuUmVhZGFibGVE
ZXNjcmlwdGlvbjogIkVuYWJsZSBhdWRpbyBjYXB0dXJlIGluIEdQVSBQcm9jZXNzIgorICB3ZWJj
b3JlQmluZGluZzogbm9uZQorICBjb25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pCisKK0Nh
cHR1cmVWaWRlb0luVUlQcm9jZXNzRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFs
dWU6IGRlZmF1bHRDYXB0dXJlVmlkZW9JblVJUHJvY2Vzc0VuYWJsZWQoKQorICBodW1hblJlYWRh
YmxlTmFtZTogIkNhcHR1cmUgdmlkZW8gaW4gVUkgUHJvY2VzcyIKKyAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIHZpZGVvIGNhcHR1cmUgaW4gVUkgUHJvY2VzcyIKKyAgd2ViY29y
ZUJpbmRpbmc6IG5vbmUKKyAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCiBDYXB0
dXJlVmlkZW9JbkdQVVByb2Nlc3NFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1
ZTogZGVmYXVsdENhcHR1cmVWaWRlb0luR1BVUHJvY2Vzc0VuYWJsZWQoKQpAQCAtMjk5LDIyICsz
MjMsNiBAQCBMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZDoKICAgd2Vi
Y29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKICAgY29uZGl0aW9uOiBFTkFCTEUo
TEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAotQ2FwdHVyZUF1ZGlvSW5VSVByb2Nlc3NFbmFi
bGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogZGVmYXVsdENhcHR1cmVBdWRpb0lu
VUlQcm9jZXNzRW5hYmxlZCgpCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiQ2FwdHVyZSBhdWRpbyBp
biBVSSBQcm9jZXNzIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgYXVkaW8g
Y2FwdHVyZSBpbiBVSSBQcm9jZXNzIgotICB3ZWJjb3JlQmluZGluZzogbm9uZQotICBjb25kaXRp
b246IEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLUNhcHR1cmVBdWRpb0luR1BVUHJvY2Vzc0VuYWJs
ZWQ6Ci0gIHR5cGU6IGJvb2wKLSAgZGVmYXVsdFZhbHVlOiBkZWZhdWx0Q2FwdHVyZUF1ZGlvSW5H
UFVQcm9jZXNzRW5hYmxlZCgpCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiVXNlIEdQVSBQcm9jZXNz
IHRvIGNhcHR1cmUgYXVkaW8iCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBh
dWRpbyBjYXB0dXJlIGluIEdQVSBQcm9jZXNzIgotICB3ZWJjb3JlQmluZGluZzogbm9uZQotICBj
b25kaXRpb246IEVOQUJMRShNRURJQV9TVFJFQU0pCi0KIFJlbmRlckNhbnZhc0luR1BVUHJvY2Vz
c0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBkZWZhdWx0UmVuZGVyQ2Fu
dmFzSW5HUFVQcm9jZXNzRW5hYmxlZCgpCkBAIC00MDcsNCArNDE1LDIzIEBAIExpdmVSYW5nZVNl
bGVjdGlvbkVuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKICAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJMaXZlIFJhbmdlcyBpbiBTZWxlY3Rpb24iCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlv
bjogIkxpdmUgcmFuZ2UgYmVoYXZpb3IgZm9yIHJhbmdlcyBpbiB0aGUgU2VsZWN0aW9uIG9iamVj
dCIKLSAgY2F0ZWdvcnk6IGludGVybmFsCisKK0lDRUNhbmRpZGF0ZUZpbHRlcmluZ0VuYWJsZWQ6
CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiB0cnVlCisgIGh1bWFuUmVhZGFibGVOYW1l
OiAiRW5hYmxlIElDRSBDYW5kaWRhdGUgRmlsdGVyaW5nIgorICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJFbmFibGUgSUNFIENhbmRpZGF0ZSBGaWx0ZXJpbmciCisKK01vY2tDYXB0dXJlRGV2
aWNlc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX01PQ0tf
Q0FQVFVSRV9ERVZJQ0VTX0VOQUJMRUQKKyAgY29uZGl0aW9uOiBFTkFCTEUoTUVESUFfU1RSRUFN
KQorICBodW1hblJlYWRhYmxlTmFtZTogIkVuYWJsZSBNb2NrIENhcHR1cmUgRGV2aWNlcyIKKyAg
aHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIE1vY2sgQ2FwdHVyZSBEZXZpY2VzIgor
CitNZWRpYUNhcHR1cmVSZXF1aXJlc1NlY3VyZUNvbm5lY3Rpb246CisgIHR5cGU6IGJvb2wKKyAg
ZGVmYXVsdFZhbHVlOiB0cnVlCisgIGNvbmRpdGlvbjogRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAg
aHVtYW5SZWFkYWJsZU5hbWU6ICJMaW1pdCBNZWRpYSBDYXB0dXJlIHRvIFNlY3VyZSBTaXRlcyIK
KyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiTGltaXQgTWVkaWEgQ2FwdHVyZSB0byBTZWN1
cmUgU2l0ZXMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURl
bGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKaW5k
ZXggZjJiNWE3YjI2ZWRhNWY2Yzg4NGIxOWJjY2MwNGIwOTA4NTQ5YWM2Ny4uOTExYWI2YWVjMmZl
ZmQyM2ZkODliYWE0YjhmZWJmM2UwOWU0OGIyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1VJRGVsZWdhdGUuaApAQCAtMjE1LDcgKzIxNSw2IEBAIHByaXZhdGU6CiAgICAgICAg
IGJvb2wgd2ViVmlld0Z1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZSA6IDE7CiAgICAgICAgIGJv
b2wgd2ViVmlld0RpZEVudGVyRnVsbHNjcmVlbiA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0Rp
ZEV4aXRGdWxsc2NyZWVuIDogMTsKLSAgICAgICAgYm9vbCB3ZWJWaWV3UmVxdWVzdE1lZGlhQ2Fw
dHVyZUF1dGhvcml6YXRpb25Gb3JGcmFtZURlY2lzaW9uSGFuZGxlciA6IDE7CiAgICAgICAgIGJv
b2wgd2ViVmlld0lzTWVkaWFDYXB0dXJlQXV0aG9yaXplZEZvckZyYW1lRGVjaXNpb25IYW5kbGVy
IDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3TWVkaWFDYXB0dXJlU3RhdGVEaWRDaGFuZ2UgOiAx
OwogICAgICAgICBib29sIHdlYlZpZXdEaWRDaGFuZ2VGb250QXR0cmlidXRlcyA6IDE7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQppbmRleCA2NWE5MmNhYjM3
N2Q3MTFlZjgzNTlmMjFiMDJmNzA1MTEyYWQzMjE5Li41YjI3ZjE4ZTYyYmE1OTY5MDRmNzY4Yjhj
NWZjNjc1NTMwZjY4OWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVs
ZWdhdGUubW0KQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbXBvcnQgIldLU2VjdXJpdHlPcmlnaW5JbnRl
cm5hbC5oIgogI2ltcG9ydCAiV0tTdG9yYWdlQWNjZXNzQWxlcnQuaCIKICNpbXBvcnQgIldLVUlE
ZWxlZ2F0ZVByaXZhdGUuaCIKKyNpbXBvcnQgIldLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0
LmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdDb25maWd1cmF0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQg
IldLV2ViVmlld0ludGVybmFsLmgiCiAjaW1wb3J0ICJXS1dpbmRvd0ZlYXR1cmVzSW50ZXJuYWwu
aCIKQEAgLTE1Myw3ICsxNTQsNiBAQCB2b2lkIFVJRGVsZWdhdGU6OnNldERlbGVnYXRlKGlkIDxX
S1VJRGVsZWdhdGU+IGRlbGVnYXRlKQogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWRO
b3RIYW5kbGVUYXBBc0NsaWNrQXRQb2ludCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6
QHNlbGVjdG9yKF93ZWJWaWV3OmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50OildOwogICAg
IG1fZGVsZWdhdGVNZXRob2RzLnByZXNlbnRpbmdWaWV3Q29udHJvbGxlckZvcldlYlZpZXcgPSBb
ZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfcHJlc2VudGluZ1ZpZXdDb250
cm9sbGVyRm9yV2ViVmlldzopXTsKICNlbmRpZgotICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZp
ZXdSZXF1ZXN0TWVkaWFDYXB0dXJlQXV0aG9yaXphdGlvbkZvckZyYW1lRGVjaXNpb25IYW5kbGVy
ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6cmVxdWVz
dFVzZXJNZWRpYUF1dGhvcml6YXRpb25Gb3JEZXZpY2VzOnVybDptYWluRnJhbWVVUkw6ZGVjaXNp
b25IYW5kbGVyOildIHx8IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93
ZWJWaWV3OnJlcXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uOmRlY2lzaW9uSGFuZGxlcjop
XTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3SXNNZWRpYUNhcHR1cmVBdXRob3JpemVk
Rm9yRnJhbWVEZWNpc2lvbkhhbmRsZXIgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3Rvcihfd2ViVmlldzpjaGVja1VzZXJNZWRpYVBlcm1pc3Npb25Gb3JVUkw6bWFpbkZyYW1l
VVJMOmZyYW1lSWRlbnRpZmllcjpkZWNpc2lvbkhhbmRsZXI6KV0gfHwgW2RlbGVnYXRlIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6aW5jbHVkZVNlbnNpdGl2ZU1lZGlhRGV2
aWNlRGV0YWlsczopXTsKIAogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdNZWRpYUNhcHR1
cmVTdGF0ZURpZENoYW5nZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KF93ZWJWaWV3Om1lZGlhQ2FwdHVyZVN0YXRlRGlkQ2hhbmdlOildOwpAQCAtOTIxLDE3ICs5MjEs
MjMgQEAgc3RhdGljIHZvaWQgcmVxdWVzdFVzZXJNZWRpYUF1dGhvcml6YXRpb25Gb3JGcmFtZShj
b25zdCBXZWJGcmFtZVByb3h5JiBmcmFtZSwgQVAKICAgICAgICAgQVNTRVJUKCEoZGV2aWNlcyAm
IF9XS0NhcHR1cmVEZXZpY2VDYW1lcmEpKTsKICAgICB9CiAKLSAgICBjb25zdCBhdXRvKiBtYWlu
RnJhbWUgPSBmcmFtZS5wYWdlKCktPm1haW5GcmFtZSgpOworICAgIGJvb2wgcmVzcG9uZHNUb1Jl
cXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6cmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb246
ZGVjaXNpb25IYW5kbGVyOildOworICAgIGJvb2wgcmVzcG9uZHNUb1JlcXVlc3RVc2VyTWVkaWFB
dXRob3JpemF0aW9uRm9yRGV2aWNlcyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKF93ZWJWaWV3OnJlcXVlc3RVc2VyTWVkaWFBdXRob3JpemF0aW9uRm9yRGV2aWNlczp1
cmw6bWFpbkZyYW1lVVJMOmRlY2lzaW9uSGFuZGxlcjopXTsKKyAgICBpZiAoIXJlcXVlc3QucmVx
dWlyZXNEaXNwbGF5Q2FwdHVyZSgpICYmICFyZXNwb25kc1RvUmVxdWVzdFVzZXJNZWRpYUF1dGhv
cml6YXRpb25Gb3JEZXZpY2VzICYmICFyZXNwb25kc1RvUmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhv
cml6YXRpb24pIHsKKyAgICAgICAgcHJlc2VudFVzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydCgm
d2ViVmlldywgdG9wTGV2ZWxPcmlnaW4sIGRldmljZXMsIFtkZWNpc2lvbkhhbmRsZXIgPSBXVEZN
b3ZlKGRlY2lzaW9uSGFuZGxlcildKGJvb2wgYXV0aG9yaXplZCkgbXV0YWJsZSB7CisgICAgICAg
ICAgICBkZWNpc2lvbkhhbmRsZXIoYXV0aG9yaXplZCk7CisgICAgICAgIH0pOworICAgICAgICBy
ZXR1cm47CisgICAgfQogCiAgICAgLy8gRklYTUU6IFByb3ZpZGUgYSBzcGVjaWZpYyBkZWxlZ2F0
ZSBmb3IgZGlzcGxheSBjYXB0dXJlLgotICAgIGlmICghcmVxdWVzdC5yZXF1aXJlc0Rpc3BsYXlD
YXB0dXJlKCkgJiYgW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZp
ZXc6cmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb246ZGVjaXNpb25IYW5kbGVyOildKSB7
Ci0KKyAgICBpZiAoIXJlcXVlc3QucmVxdWlyZXNEaXNwbGF5Q2FwdHVyZSgpICYmIHJlc3BvbmRz
VG9SZXF1ZXN0TWVkaWFDYXB0dXJlQXV0aG9yaXphdGlvbikgewogICAgICAgICBbZGVsZWdhdGUg
X3dlYlZpZXc6JndlYlZpZXcgcmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb246ZGV2aWNl
cyBkZWNpc2lvbkhhbmRsZXI6ZGVjaXNpb25IYW5kbGVyLmdldCgpXTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAogICAgIFVSTCByZXF1ZXN0RnJhbWVVUkwgeyBmcmFtZS51cmwoKSB9OwotICAg
IFVSTCBtYWluRnJhbWVVUkwgeyBtYWluRnJhbWUtPnVybCgpIH07CisgICAgVVJMIG1haW5GcmFt
ZVVSTCB7IGZyYW1lLnBhZ2UoKS0+bWFpbkZyYW1lKCktPnVybCgpIH07CiAKICAgICBbZGVsZWdh
dGUgX3dlYlZpZXc6JndlYlZpZXcgcmVxdWVzdFVzZXJNZWRpYUF1dGhvcml6YXRpb25Gb3JEZXZp
Y2VzOmRldmljZXMgdXJsOnJlcXVlc3RGcmFtZVVSTCBtYWluRnJhbWVVUkw6bWFpbkZyYW1lVVJM
IGRlY2lzaW9uSGFuZGxlcjpkZWNpc2lvbkhhbmRsZXIuZ2V0KCldOwogfQpAQCAtOTQxLDcgKzk0
Nyw3IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRlY2lkZVBvbGljeUZvclVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0KFdlYlBhZ2VQcm94CiB7CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKICAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7Ci0g
ICAgaWYgKCFkZWxlZ2F0ZSB8fCAhbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZp
ZXdSZXF1ZXN0TWVkaWFDYXB0dXJlQXV0aG9yaXphdGlvbkZvckZyYW1lRGVjaXNpb25IYW5kbGVy
KSB7CisgICAgaWYgKCFkZWxlZ2F0ZSkgewogICAgICAgICByZXF1ZXN0LmRlbnkoVXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RQcm94eTo6VXNlck1lZGlhQWNjZXNzRGVuaWFsUmVhc29uOjpVc2Vy
TWVkaWFEaXNhYmxlZCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNz
QWxlcnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zYTdkNGZlNmNjYTQ4OTVmNDcwMmE3ODIwYzYzNDY2YTk0MjJi
YTg1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tV
c2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW1wb3J0ICJX
S1dlYlZpZXdQcml2YXRlLmgiCisjaW1wb3J0IDx3dGYvRm9yd2FyZC5oPgorCitAY2xhc3MgV0tX
ZWJWaWV3OworCituYW1lc3BhY2UgQVBJIHsKK2NsYXNzIFNlY3VyaXR5T3JpZ2luOworfQorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBwcmVzZW50VXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0Fs
ZXJ0KFdLV2ViVmlldyAqLCBBUEk6OlNlY3VyaXR5T3JpZ2luJiwgX1dLQ2FwdHVyZURldmljZXMs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworCit9CisKKyNlbmRpZiAvLyBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iNGFiYTJiZTBjNDY0ZDA5M2E2MjdjZmE5NjM5MGM2MTgwYmI5MDI0Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tVc2VyTWVkaWFDYXB0dXJl
QWNjZXNzQWxlcnQubW0KQEAgLTAsMCArMSwxMDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJj
b25maWcuaCIKKyNpbXBvcnQgIldLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0LmgiCisKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgor
I2ltcG9ydCAiV0tXZWJWaWV3UHJpdmF0ZS5oIgorI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCisj
aW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KKyNpbXBvcnQgPHd0Zi9CbG9ja1B0
ci5oPgorI2ltcG9ydCA8d3RmL1VSTEhlbHBlcnMuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RhdGljIE5TU3RyaW5nKiB2aXNpYmxl
RG9tYWluKGNvbnN0IFN0cmluZyYgaG9zdCkKK3sKKyAgICBhdXRvIGRvbWFpbiA9IFdURjo6VVJM
SGVscGVyczo6dXNlclZpc2libGVVUkwoaG9zdC51dGY4KCkpOworICAgIHJldHVybiBzdGFydHNX
aXRoTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRvbWFpbiwgInd3dy4iKSA/IGRvbWFpbi5zdWJz
dHJpbmcoNCkgOiBkb21haW47Cit9CisKK3N0YXRpYyBOU1N0cmluZyAqYWxlcnRNZXNzYWdlVGV4
dChBUEk6OlNlY3VyaXR5T3JpZ2luJiB0b3BMZXZlbE9yaWdpbiwgX1dLQ2FwdHVyZURldmljZXMg
ZGV2aWNlcykKK3sKKyAgICBib29sIHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb0NhbWVyYSA9IGRl
dmljZXMgJiBfV0tDYXB0dXJlRGV2aWNlQ2FtZXJhOworICAgIGJvb2wgc2hvdWxkQXNrVXNlckZv
ckFjY2Vzc1RvTWljcm9waG9uZSA9IGRldmljZXMgJiBfV0tDYXB0dXJlRGV2aWNlTWljcm9waG9u
ZTsKKworICAgIGF1dG8mIG9yaWdpbiA9IHRvcExldmVsT3JpZ2luLnNlY3VyaXR5T3JpZ2luKCk7
CisgICAgaWYgKG9yaWdpbi5wcm90b2NvbCgpICE9ICJodHRwIiAmJiBvcmlnaW4ucHJvdG9jb2wo
KSAhPSAiaHR0cHMiKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgaWYgKHNob3VsZEFza1Vz
ZXJGb3JBY2Nlc3NUb0NhbWVyYSAmJiBzaG91bGRBc2tVc2VyRm9yQWNjZXNzVG9NaWNyb3Bob25l
KQorICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6V0VCX1VJX05TU1RS
SU5HKEAiQWxsb3cg4oCcJUDigJ0gdG8gdXNlIHlvdXIgY2FtZXJhIGFuZCBtaWNyb3Bob25lPyIs
IEAiTWVzc2FnZSBmb3IgdXNlciBtZWRpYSBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4u
aG9zdCgpKV07CisgICAgaWYgKHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb0NhbWVyYSkKKyAgICAg
ICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9OU1NUUklORyhAIkFs
bG93IOKAnCVA4oCdIHRvIHVzZSB5b3VyIGNhbWVyYT8iLCBAIk1lc3NhZ2UgZm9yIHVzZXIgY2Ft
ZXJhIGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4uaG9zdCgpKV07CisgICAg
aWYgKHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb01pY3JvcGhvbmUpCisgICAgICAgIHJldHVybiBb
TlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkcoQCJBbGxvdyDigJwlQOKA
nSB0byB1c2UgeW91ciBtaWNyb3Bob25lPyIsIEAiTWVzc2FnZSBmb3IgdXNlciBtaWNyb3Bob25l
IGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4uaG9zdCgpKV07CisgICAgcmV0
dXJuIG5pbDsKK30KKwordm9pZCBwcmVzZW50VXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0KFdL
V2ViVmlldyAqd2ViVmlldywgQVBJOjpTZWN1cml0eU9yaWdpbiYgdG9wTGV2ZWxPcmlnaW4sIF9X
S0NhcHR1cmVEZXZpY2VzIGRldmljZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byAqYWxlcnRUaXRsZSA9IGFsZXJ0TWVzc2Fn
ZVRleHQodG9wTGV2ZWxPcmlnaW4sIGRldmljZXMpOworICAgIGlmICghYWxlcnRUaXRsZSkgewor
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBhdXRvIGNvbXBsZXRpb25CbG9jayA9IG1ha2VCbG9ja1B0cihbY29tcGxldGlvbkhh
bmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oYm9vbCBzaG91bGRBbGxvdykgbXV0
YWJsZSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHNob3VsZEFsbG93KTsKKyAgICB9KTsK
KworICAgIE5TU3RyaW5nICphbGxvd0J1dHRvblN0cmluZyA9IFdFQl9VSV9TVFJJTkdfS0VZKEAi
QWxsb3ciLCAiQWxsb3cgKHVzZXJtZWRpYSkiLCBAIkFsbG93IGJ1dHRvbiB0aXRsZSBpbiB1c2Vy
IG1lZGlhIHByb21wdCIpOworICAgIE5TU3RyaW5nICpkb05vdEFsbG93QnV0dG9uU3RyaW5nID0g
V0VCX1VJX1NUUklOR19LRVkoQCJEb27igJl0IEFsbG93IiwgIkRvbuKAmXQgQWxsb3cgKHVzZXJt
ZWRpYSkiLCBAIkRpc2FsbG93IGJ1dHRvbiB0aXRsZSBpbiB1c2VyIG1lZGlhIHByb21wdCIpOwor
CisjaWYgUExBVEZPUk0oTUFDKQorICAgIGF1dG8gYWxlcnQgPSBhZG9wdE5TKFtOU0FsZXJ0IG5l
d10pOworICAgIFthbGVydCBzZXRNZXNzYWdlVGV4dDphbGVydFRpdGxlXTsKKyAgICBbYWxlcnQg
YWRkQnV0dG9uV2l0aFRpdGxlOmFsbG93QnV0dG9uU3RyaW5nXTsKKyAgICBbYWxlcnQgYWRkQnV0
dG9uV2l0aFRpdGxlOmRvTm90QWxsb3dCdXR0b25TdHJpbmddOworICAgIFthbGVydCBiZWdpblNo
ZWV0TW9kYWxGb3JXaW5kb3c6d2ViVmlldy53aW5kb3cgY29tcGxldGlvbkhhbmRsZXI6W2NvbXBs
ZXRpb25CbG9ja10oTlNNb2RhbFJlc3BvbnNlIHJldHVybkNvZGUpIHsKKyAgICAgICAgYXV0byBz
aG91bGRBbGxvdyA9IHJldHVybkNvZGUgPT0gTlNBbGVydEZpcnN0QnV0dG9uUmV0dXJuOworICAg
ICAgICBjb21wbGV0aW9uQmxvY2soc2hvdWxkQWxsb3cpOworICAgIH1dOworI2Vsc2UKKyAgICBV
SUFsZXJ0Q29udHJvbGxlciogYWxlcnQgPSBbVUlBbGVydENvbnRyb2xsZXIgYWxlcnRDb250cm9s
bGVyV2l0aFRpdGxlOmFsZXJ0VGl0bGUgbWVzc2FnZTpuaWwgcHJlZmVycmVkU3R5bGU6VUlBbGVy
dENvbnRyb2xsZXJTdHlsZUFsZXJ0XTsKKyAgICBVSUFsZXJ0QWN0aW9uKiBhbGxvd0FjdGlvbiA9
IFtVSUFsZXJ0QWN0aW9uIGFjdGlvbldpdGhUaXRsZTphbGxvd0J1dHRvblN0cmluZyBzdHlsZTpV
SUFsZXJ0QWN0aW9uU3R5bGVDYW5jZWwgaGFuZGxlcjpbY29tcGxldGlvbkJsb2NrXShVSUFsZXJ0
QWN0aW9uICphY3Rpb24pIHsKKyAgICAgICAgY29tcGxldGlvbkJsb2NrKHRydWUpOworICAgIH1d
OworCisgICAgVUlBbGVydEFjdGlvbiogZG9Ob3RBbGxvd0FjdGlvbiA9IFtVSUFsZXJ0QWN0aW9u
IGFjdGlvbldpdGhUaXRsZTpkb05vdEFsbG93QnV0dG9uU3RyaW5nIHN0eWxlOlVJQWxlcnRBY3Rp
b25TdHlsZURlZmF1bHQgaGFuZGxlcjpbY29tcGxldGlvbkJsb2NrXShVSUFsZXJ0QWN0aW9uICph
Y3Rpb24pIHsKKyAgICAgICAgY29tcGxldGlvbkJsb2NrKGZhbHNlKTsKKyAgICB9XTsKKworICAg
IFthbGVydCBhZGRBY3Rpb246ZG9Ob3RBbGxvd0FjdGlvbl07CisgICAgW2FsZXJ0IGFkZEFjdGlv
bjphbGxvd0FjdGlvbl07CisKKyAgICBbW1VJVmlld0NvbnRyb2xsZXIgX3ZpZXdDb250cm9sbGVy
Rm9yRnVsbFNjcmVlblByZXNlbnRhdGlvbkZyb21WaWV3OndlYlZpZXddIHByZXNlbnRWaWV3Q29u
dHJvbGxlcjphbGVydCBhbmltYXRlZDpZRVMgY29tcGxldGlvbjpuaWxdOworI2VuZGlmCit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKERFVklDRV9PUklFTlRB
VElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGRjY2QwYzhjZDg0NzVhMzZjNTZmMjJmOGQ5N2U1OTM2M2M2MWVjMWEuLjNlNTlkNGE4
YjMwMzBlMmFiNjU1NGU0ZGI0MmE5ZmQxOGY0MjZjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTA1LDYgKzkwNSw3IEBACiAJCTQx
MzA3NUI0MURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTgxREU4NUVFNzAwMzlF
QzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi87IH07CiAJCTQxM0NDRDUwMjBERUJDNzQwMDY1
QTIxQSAvKiBjb20uZ29vZ2xlLmdvb2dsZXRhbGticm93c2VycGx1Z2luLnNiIGluIENvcHkgUGx1
Zy1pbiBTYW5kYm94IFByb2ZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxM0NDRDRGMjBERUJDMkYwMDY1QTIxQSAvKiBjb20uZ29vZ2xlLmdvb2dsZXRhbGticm93c2Vy
cGx1Z2luLnNiICovOyB9OwogCQk0MTQzNzUxQzIwRUFFQTJEMDBGQUQwNkMgLyogY24ubWljcm9k
b25lLmNtYi5zYWZhcmkuc2IgaW4gQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE0Mzc1MUIyMEVBRUExRTAwRkFEMDZDIC8q
IGNuLm1pY3JvZG9uZS5jbWIuc2FmYXJpLnNiICovOyB9OworCQk0MTQ3REM2OTI1MTlFQzMzMDAy
MTRFRTcgLyogV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQ3REM2NzI1MTlFMjlEMDAyMTRFRTcg
LyogV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQubW0gKi87IH07CiAJCTQxNEREMzc5MjBC
RjQzRjUwMDY5NTlGQiAvKiBjb20uY2lzY28ud2ViZXgucGx1Z2luLmdwYzY0LnNiIGluIFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTRERDM3ODIwQkY0M0VB
MDA2OTU5RkIgLyogY29tLmNpc2NvLndlYmV4LnBsdWdpbi5ncGM2NC5zYiAqLzsgfTsKIAkJNDE0
REQzN0EyMEJGNDlBNTAwNjk1OUZCIC8qIGNvbS5jaXNjby53ZWJleC5wbHVnaW4uZ3BjNjQuc2Ig
aW4gQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE0REQzNzgyMEJGNDNFQTAwNjk1OUZCIC8qIGNvbS5jaXNjby53ZWJleC5w
bHVnaW4uZ3BjNjQuc2IgKi87IH07CiAJCTQxNTdFNEIwMjBFMkVDREYwMEE2QzBENyAvKiBjb20u
Z29vZ2xlLm8xZGJyb3dzZXJwbHVnaW4uc2IgaW4gQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmls
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE1N0U0QUYyMEUyRUM5ODAw
QTZDMEQ3IC8qIGNvbS5nb29nbGUubzFkYnJvd3NlcnBsdWdpbi5zYiAqLzsgfTsKQEAgLTM0MTcs
NiArMzQxOCw4IEBACiAJCTQxMzVGQkQwMUY0RkI3RjIwMDc0QzQ3QiAvKiBDYWNoZVN0b3JhZ2VF
bmdpbmVDYWNoZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVTdG9y
YWdlRW5naW5lQ2FjaGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxM0NDRDRG
MjBERUJDMkYwMDY1QTIxQSAvKiBjb20uZ29vZ2xlLmdvb2dsZXRhbGticm93c2VycGx1Z2luLnNi
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGNvbS5nb29nbGUuZ29vZ2xldGFsa2Jyb3dzZXJwbHVn
aW4uc2I7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNDM3NTFCMjBFQUVBMUUwMEZB
RDA2QyAvKiBjbi5taWNyb2RvbmUuY21iLnNhZmFyaS5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBjbi5taWNyb2RvbmUuY21iLnNhZmFyaS5zYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDE0N0RDNjcyNTE5RTI5RDAwMjE0RUU3IC8qIFdLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0Fs
ZXJ0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxl
cnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxNDdEQzY4MjUxOUUyOUQwMDIx
NEVFNyAvKiBXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
S1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MTRERDM3ODIwQkY0M0VBMDA2OTU5RkIgLyogY29tLmNpc2NvLndlYmV4LnBsdWdpbi5n
cGM2NC5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBjb20uY2lzY28ud2ViZXgucGx1Z2luLmdw
YzY0LnNiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTUwQTVBMDIzRTA2QzkxMDA1
MTI2NEEgLyogR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MTUxODUzNTIyMjcwNEY1MDA1NDMwQzYgLyogU2VydmljZVdv
cmtlckZldGNoVGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02Mzk4LDYg
KzY0MDEsOCBAQAogCQkJCTJEN0FBRkQyMThDODY0MDYwMEE3QUNENCAvKiBXS1dlYlZpZXdDb250
ZW50UHJvdmlkZXIuaCAqLywKIAkJCQkyREM2RDlDMTE4QzQ0QTYxMDA0M0JBRDQgLyogV0tXZWJW
aWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkuaCAqLywKIAkJCQkyREM2RDlDMjE4QzQ0QTYxMDA0
M0JBRDQgLyogV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0gKi8sCisJCQkJNDE0
N0RDNjgyNTE5RTI5RDAwMjE0RUU3IC8qIFdLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lmgg
Ki8sCisJCQkJNDE0N0RDNjcyNTE5RTI5RDAwMjE0RUU3IC8qIFdLVXNlck1lZGlhQ2FwdHVyZUFj
Y2Vzc0FsZXJ0Lm1tICovLAogCQkJCUMxNzEwQ0YyMjRBN0JEMDMwMEQ3QzExMiAvKiBYUENFdmVu
dEhhbmRsZXIuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gQ29jb2E7CkBAIC0xMjk4NCw2ICsxMjk4
OSw3IEBACiAJCQkJMkQxMUI3QkYyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3VyY2U1Ni1t
bS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCN0MxMjEyNkEyODMwMDZGODg3OCAvKiBVbmlm
aWVkU291cmNlNTctbW0ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDExQjdDMjIxMjZBMjgzMDA2
Rjg4NzggLyogVW5pZmllZFNvdXJjZTU3LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxNDdEQzY5
MjUxOUVDMzMwMDIxNEVFNyAvKiBXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTJEMTFCN0MzMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNl
NTgtbW0ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDExQjdDNDIxMjZBMjgzMDA2Rjg4NzggLyog
VW5pZmllZFNvdXJjZTU4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCN0M2MjEyNkEyODMw
MDZGODg3OCAvKiBVbmlmaWVkU291cmNlNTkuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWQyNTAxNzNiOTBkY2Y3
NzliOTUzM2I0ZmFhN2ZlM2VkOWJkMzY4NS4uZjYyMWVmODQ0MTgxOGQzZGQyNDM1NjZkYmI4ZDA2
MWMyNzJjMjc3MiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA5LTIyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYSBkZWZhdWx0IHByb21wdCBmb3IgZ2V0
VXNlck1lZGlhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTY4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAg
UmVtb3ZlIGdldFVzZXJNZWRpYSBkZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbnMgdG8gdXNlIFdlYktp
dCBidWlsdC1pbiBwcm9tcHQuCisgICAgICAgIEFkZCBjYW1lcmEgYW5kIG1pY3JvcGhvbmUgZW50
aXRsZW1lbnRzIHRvIGFsbG93IHVzaW5nIHJlYWwgY2FtZXJhcyBhbmQgbWljcm9waG9uZXMuCisg
ICAgICAgIEtlZXAgdXNpbmcgbW9jayBkZXZpY2VzIGFzIHRoZSBkZWZhdWx0LgorCisgICAgICAg
ICogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIuZW50aXRsZW1lbnRzOgorICAgICAgICAqIE1pbmlC
cm93c2VyL21hYy9XSzJCcm93c2VyV2luZG93Q29udHJvbGxlci5tOgorICAgICAgICAoLVtXSzJC
cm93c2VyV2luZG93Q29udHJvbGxlciBfd2ViVmlldzpyZXF1ZXN0TWVkaWFDYXB0dXJlQXV0aG9y
aXphdGlvbjpkZWNpc2lvbkhhbmRsZXI6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLMkJyb3dz
ZXJXaW5kb3dDb250cm9sbGVyIF93ZWJWaWV3OmluY2x1ZGVTZW5zaXRpdmVNZWRpYURldmljZURl
dGFpbHM6XSk6IERlbGV0ZWQuCisKIDIwMjAtMDktMjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgTWVkaWEgaW4gR1BVIFByb2Nlc3MgZmxhZyBmcm9t
IGludGVybmFsIHRvIGV4cGVyaW1lbnRhbApkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIv
TWluaUJyb3dzZXIuZW50aXRsZW1lbnRzIGIvVG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIu
ZW50aXRsZW1lbnRzCmluZGV4IDlhZTJhMmJkZTE2NzJiOWI0YzY4YWRiMTJkZjg3M2FhZTZmMmRm
M2EuLjJhZDlmNzQ1ODIyOTBlZmQ0MjU1ZjczOTUyN2MxZWVkYTkwZDNiOGQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLmVudGl0bGVtZW50cworKysgYi9Ub29scy9N
aW5pQnJvd3Nlci9NaW5pQnJvd3Nlci5lbnRpdGxlbWVudHMKQEAgLTIyLDUgKzIyLDkgQEAKIAk8
YXJyYXk+CiAJCTxzdHJpbmc+KGFsbG93IG1hY2gtaXNzdWUtZXh0ZW5zaW9uIChyZXF1aXJlLWFs
bCAoZXh0ZW5zaW9uLWNsYXNzICZxdW90O2NvbS5hcHBsZS53ZWJraXQuZXh0ZW5zaW9uLm1hY2gm
cXVvdDspKSk8L3N0cmluZz4KIAk8L2FycmF5PgorCTxrZXk+Y29tLmFwcGxlLnNlY3VyaXR5LmRl
dmljZS5jYW1lcmE8L2tleT4KKwk8dHJ1ZS8+CisJPGtleT5jb20uYXBwbGUuc2VjdXJpdHkuZGV2
aWNlLm1pY3JvcGhvbmU8L2tleT4KKwk8dHJ1ZS8+CiA8L2RpY3Q+CiA8L3BsaXN0PgpkaWZmIC0t
Z2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvbWFjL1dLMkJyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0g
Yi9Ub29scy9NaW5pQnJvd3Nlci9tYWMvV0syQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQppbmRl
eCAzZTg3OWI0YTc2NTQxMDgwMTI0MzY4N2FlMjE3ZmJmYjg4OTliOTU3Li4yZGUwMmM5MWU5NjE0
MzlkZTAzNTRjYTA1MWJhNGRmNTg0NzJjMjZhIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nl
ci9tYWMvV0syQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQorKysgYi9Ub29scy9NaW5pQnJvd3Nl
ci9tYWMvV0syQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQpAQCAtODczLDE2ICs4NzMsNiBAQCAt
ICh2b2lkKWZpbmRCYXJWaWV3RGlkQ2hhbmdlSGVpZ2h0CiB7CiB9CiAKLS0gKHZvaWQpX3dlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb246
IChfV0tDYXB0dXJlRGV2aWNlcylkZXZpY2VzIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoQk9P
TCBhdXRob3JpemVkKSlkZWNpc2lvbkhhbmRsZXIKLXsKLSAgICBkZWNpc2lvbkhhbmRsZXIodHJ1
ZSk7Ci19Ci0KLS0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgaW5jbHVkZVNl
bnNpdGl2ZU1lZGlhRGV2aWNlRGV0YWlsczoodm9pZCAoXikoQk9PTCBpbmNsdWRlU2Vuc2l0aXZl
RGV0YWlscykpZGVjaXNpb25IYW5kbGVyCi17Ci0gICAgZGVjaXNpb25IYW5kbGVyKGZhbHNlKTsK
LX0KLQogLSAoSUJBY3Rpb24pc2F2ZUFzUERGOihpZClzZW5kZXIKIHsKICAgICBOU1NhdmVQYW5l
bCAqcGFuZWwgPSBbTlNTYXZlUGFuZWwgc2F2ZVBhbmVsXTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>