<?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>160718</bug_id>
          
          <creation_ts>2016-08-09 16:38:18 -0700</creation_ts>
          <short_desc>Support MediaTrackConstraintSet and MediaTrackConstraints IDL definition</short_desc>
          <delta_ts>2017-08-30 11:46:57 -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>Media</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</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>160798</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="George Ruan">gruan</reporter>
          <assigned_to name="George Ruan">gruan</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jonlee</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1218896</commentid>
    <comment_count>0</comment_count>
    <who name="George Ruan">gruan</who>
    <bug_when>2016-08-09 16:38:18 -0700</bug_when>
    <thetext>https://w3c.github.io/mediacapture-main/#media-track-constraints</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218897</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-08-09 16:39:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/27776658&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218920</commentid>
    <comment_count>2</comment_count>
      <attachid>285697</attachid>
    <who name="George Ruan">gruan</who>
    <bug_when>2016-08-09 17:26:30 -0700</bug_when>
    <thetext>Created attachment 285697
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218950</commentid>
    <comment_count>3</comment_count>
      <attachid>285697</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-09 19:29:39 -0700</bug_when>
    <thetext>Comment on attachment 285697
Patch

Given how complex these dictionaries are and the way they are used, I feel it may be simpler for now to not bother with dictionaries at all in the IDL. We could just mark getConstaints() and applyConstraints() as [Custom] in the IDL (not declare any dictionaries in the IDL) and convert and do the JSValue &lt;-&gt; Internal Class conversion in the custom bindings. This way, you can declare your internal MediaTrackContraints class whatever way you like and make it convenient to use on native side. I think it is going to be a while until we can support such complex dictionaries in the bindings generator and the current struct it is able to generate is not very useful to us on native side and is very inconvenient to use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219024</commentid>
    <comment_count>4</comment_count>
    <who name="George Ruan">gruan</who>
    <bug_when>2016-08-10 09:08:26 -0700</bug_when>
    <thetext>OK, it does seem like the dictionary MediaTrackConstraintSet and MediaTrackConstraints will not help us all that much in parsing the data.

Doing it in Custom works.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285697</attachid>
            <date>2016-08-09 17:26:30 -0700</date>
            <delta_ts>2016-08-11 17:27:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160718-20160809172455.patch</filename>
            <type>text/plain</type>
            <size>40094</size>
            <attacher name="George Ruan">gruan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzJlOTIzZGQ0YmI1MjMw
OGZiYWI5NzgzYTllNWIzMDIwZWMyN2Q2ZC4uOGM0YmY2YTRkYjM4NTM5Y2IxMmUwM2UwYmQxNjI2
YTQ2YzdlZmRiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE2LTA4LTA5ICBHZW9y
Z2UgUnVhbiAgPGdydWFuQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IE1lZGlhVHJhY2tD
b25zdHJhaW50U2V0IGFuZCBNZWRpYVRyYWNrQ29uc3RyYWludHMgSURMIGRlZmluaXRpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDcxOAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjc3NzY2NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQgYW5kIE1lZGlh
VHJhY2tDb25zdHJhaW50cywgdGhhdCB3ZXJlIHByZXZpb3VzbHkKKyAgICAgICAgc3BlY2lmaWVk
IGluIHczYyBNZWRpYSBDYXB0dXJlIGFuZCBTdHJlYW1pbmcgc3BlYyBhcyBpbnRlcmZhY2VzIAor
ICAgICAgICBhcmUgbm93IGRpY3Rpb25hcmllcy4KKworICAgICAgICBObyBuZXcgdGVzdHMuIEN1
cnJlbnQgY2hhbmdlcyBhcmUgdW50ZXN0YWJsZS4gVGVzdHMgd2lsbCBjb21lIGluCisgICAgICAg
IGZ1dHVyZSBwYXRjaC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBSZW1vdmUgTWVkaWFU
cmFja0NvbnN0cmFpbnRTZXQgYW5kCisgICAgICAgIE1lZGlhVHJhY2tDb25zdHJhaW50cyBjbGFz
c2VzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDogRGl0dG8uCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZTogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYURldmljZXMuaDogQWRkIHN0cnVjdHMgZm9yCisgICAgICAgIE1lZGlhVHJhY2tDb25zdHJh
aW50U2V0IGFuZCBNZWRpYVRyYWNrQ29uc3RyYWludHMgZGljdGlvbmFyaWVzLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpUcmFja0NvbnN0cmFpbnRTZXQ6OlRyYWNrQ29uc3RyYWlu
dFNldCk6CisgICAgICAgIENvbnN0cnVjdG9yIGZvciBkaWN0aW9uYXJ5IGJpbmRpbmdzLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpUcmFja0NvbnN0cmFpbnRzOjpUcmFja0NvbnN0
cmFpbnRzKToKKyAgICAgICAgQ29uc3RydWN0b3IgZm9yIGRpY3Rpb25hcnkgYmluZGluZ3MuCisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsOiBBZGQgTWVkaWFU
cmFja0NvbnN0cmFpbnRTZXQKKyAgICAgICAgYW5kIE1lZGlhVHJhY2tDb25zdHJhaW50cyBhcyBk
aWN0aW9uYXJpZXMgaW5zdGVhZCBvZiBpbnRlcmZhY2VzLgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6IFJlbW92ZSBkZWxldGVkIGhlYWRlci4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmdldENvbnN0cmFpbnRzKTogQ2hhbmdl
IHJldHVybiB0eXBlIHRvCisgICAgICAgIGJldHRlciBtYXRjaCB3M2Mgc3BlYyBJREwgaW50ZXJm
YWNlIGFuZCB1cGRhdGUgRklYTUUgYnVnLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFjay5oOiBVcGRhdGUgTWVkaWFUcmFja0NvbnN0cmFpbnQKKyAgICAgICAg
cmVmZXJlbmNlcyBpbiBhY2NvcmRhbmNlIHdpdGggY2hhbmdpbmcgaXQgZnJvbSBpbnRlcmZhY2Ug
dG8gZGljdGlvbmFyeQorICAgICAgICBpbiBJREwuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmlkbDogQ2hhbmdlIGdldENvbnN0cmFpbnRzIHRvCisgICAg
ICAgIEN1c3RvbSB0byBwcmV2ZW50IGJ1aWxkIGZhaWx1cmUsIHdoZXJlIGJpbmRpbmdzIGdlbmVy
YXRpb24gd2lsbAorICAgICAgICBhdHRlbXB0IHRvIGluY2x1ZGUgTWVkaWFUcmFja0NvbnN0cmFp
bnRzLmgsIHdoZW4gaXQgaXMgYSBzdHJ1Y3QgaW4KKyAgICAgICAgTWVkaWFEZXZpY2VzLgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuY3BwOiBS
ZW1vdmVkLiBUaGUgdzNjCisgICAgICAgIHNwZWMgaGFzIGNoYW5nZWQgTWVkaWFUcmFja0NvbnN0
cmFpbnRTZXQgZnJvbSBhbiBpbnRlcmZhY2UgdG8gYQorICAgICAgICBkaWN0aW9uYXJ5LgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFUcmFja0NvbnN0cmFpbnRTZXQ6OmNyZWF0ZSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVRyYWNrQ29uc3RyYWludFNldDo6TWVkaWFUcmFja0Nv
bnN0cmFpbnRTZXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFUcmFja0NvbnN0
cmFpbnRTZXQ6On5NZWRpYVRyYWNrQ29uc3RyYWludFNldCk6IERlbGV0ZWQuCisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludFNldC5oOiBSZW1vdmVkLiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhVHJhY2tDb25zdHJhaW50U2V0Ojpjb25zdHJh
aW50cyk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNr
Q29uc3RyYWludFNldC5pZGw6IFJlbW92ZWQuIERpdHRvLgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRzLmNwcDogUmVtb3ZlZC4gVGhlIHczYyBzcGVj
CisgICAgICAgIGhhcyBjaGFuZ2VkIE1lZGlhVHJhY2tDb25zdHJhaW50cyBmcm9tIGFuIGludGVy
ZmFjZSB0byBhIGRpY3Rpb25hcnkuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVRyYWNrQ29uc3Ry
YWludHM6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVRyYWNrQ29u
c3RyYWludHM6Ok1lZGlhVHJhY2tDb25zdHJhaW50cyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVRyYWNrQ29uc3RyYWludHM6Om9wdGlvbmFsKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhVHJhY2tDb25zdHJhaW50czo6bWFuZGF0b3J5KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50cy5oOiBSZW1v
dmVkLiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhVHJhY2tDb25zdHJhaW50czo6fk1l
ZGlhVHJhY2tDb25zdHJhaW50cyk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU01l
ZGlhU3RyZWFtVHJhY2tDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNNZWRpYVN0cmVh
bVRyYWNrOjpnZXRDb25zdHJhaW50cyk6IFBsYWNlaG9sZGVyIGZ1bmN0aW9uLgorICAgICAgICAo
V2ViQ29yZTo6SlNNZWRpYVN0cmVhbVRyYWNrOjpnZXRDYXBhYmlsaXRpZXMpOiBGaXggdHlwby4K
KwogMjAxNi0wOC0wOCAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBQb3B1cHMgb3BlbmVkIGZyb20gYSBzYW5kYm94ZWQgaWZyYW1lIHNob3VsZCB0aGVtc2Vs
dmVzIGJlIHNhbmRib3hlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjYThhOGM5ODRmNTljMmRm
ZTc3N2MyMDkwODA2MWIyNGQzYjdiZGVkLi5kOTNlZTZhNzA5MGI3MWM0OTM1ZmM2ZDYzN2I1ZjM3
Yzk4OTdkNjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjIzLDggKzIyMyw2IEBAIHNldChX
ZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbVRyYWNrRXZlbnQuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRy
YWNrU291cmNlc0NhbGxiYWNrLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFj
a0NvbnN0cmFpbnQuaWRsCi0gICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3Ry
YWludFNldC5pZGwKLSAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50
cy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJh
aW50cy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5p
ZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYS5pZGwKQEAgLTky
Niw4ICs5MjQsNiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrLmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFja0V2ZW50LmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0
cmFpbnQuY3BwCi0gICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludFNl
dC5jcHAKLSAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50cy5jcHAK
ICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvck1lZGlhRGV2aWNlcy5jcHAKICAgICBN
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0NvbmZpZ3VyYXRpb24uY3BwCiAgICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4
IDNjZTMyYWQ4NGRjYzQ1YTFjMjg2OWQ2ZTM5NTQzZjExMTJjNDhjYjIuLjFjNjY4ZDlkY2Q3YzRh
ODc2YjIzODU1NTNiN2IxMmRhM2QwY2EzZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
QEAgLTM0Miw4ICszNDIsNiBAQAogI2luY2x1ZGUgIkpTTWVkaWFTdHJlYW1UcmFjay5jcHAiCiAj
aW5jbHVkZSAiSlNNZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxiYWNrLmNwcCIKICNpbmNsdWRl
ICJKU01lZGlhVHJhY2tDb25zdHJhaW50LmNwcCIKLSNpbmNsdWRlICJKU01lZGlhVHJhY2tDb25z
dHJhaW50U2V0LmNwcCIKLSNpbmNsdWRlICJKU01lZGlhVHJhY2tDb25zdHJhaW50cy5jcHAiCiAj
aW5jbHVkZSAiSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuY3BwIgogI2luY2x1ZGUg
IkpTTWVzc2FnZUNoYW5uZWwuY3BwIgogI2luY2x1ZGUgIkpTTWVzc2FnZUV2ZW50LmNwcCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGEyNTBiMTQ3ZjZjMzZkZGIxY2RkNDVmYjM4
MmU0YjhhODM2ZWMzYzguLjMxNDcyMjA0ZGZkZGQ0M2VlY2ZlMjYxMWI2ZTIyZDZiODhjYjkwNjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTQxLDggKzE0MSw2IEBAIEpTX0JJ
TkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1UcmFja0V2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJhY2suaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnQuaWRsIFwKLSAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuaWRsIFwKLSAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRzLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50cy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9O
YXZpZ2F0b3JNZWRpYURldmljZXMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFz
dHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaAppbmRleCBkM2NiYTZjMDY3N2YxMjBmMTk5
MjI2OGRkZGU4ZDY2Y2ZhMzIwZDljLi4wNTJkNGI2ZjM0MDg4ZjQyYTc5N2RmMjFiYWMwYTJhZDUw
ZDY0OWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhRGV2aWNlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFEZXZpY2VzLmgKQEAgLTUyLDYgKzUyLDUzIEBAIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7
CiAKIGNsYXNzIE1lZGlhRGV2aWNlcyA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBS
ZWZDb3VudGVkPE1lZGlhRGV2aWNlcz4sIHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZl
ciB7CiBwdWJsaWM6CisgICAgc3RydWN0IFRyYWNrQ29uc3RyYWludFNldCB7CisgICAgICAgIFRy
YWNrQ29uc3RyYWludFNldCgpID0gZGVmYXVsdDsKKworICAgICAgICBUcmFja0NvbnN0cmFpbnRT
ZXQoSlNDOjpKU1ZhbHVlIHdpZHRoLCBKU0M6OkpTVmFsdWUgaGVpZ2h0LCBKU0M6OkpTVmFsdWUg
YXNwZWN0UmF0aW8sIEpTQzo6SlNWYWx1ZSBmcmFtZVJhdGUsIEpTQzo6SlNWYWx1ZSBmYWNpbmdN
b2RlLCBKU0M6OkpTVmFsdWUgdm9sdW1lLCBKU0M6OkpTVmFsdWUgc2FtcGxlUmF0ZSwgSlNDOjpK
U1ZhbHVlIHNhbXBsZVNpemUsIEpTQzo6SlNWYWx1ZSBlY2hvQ2FuY2VsbGF0aW9uLCBKU0M6OkpT
VmFsdWUgbGF0ZW5jeSwgSlNDOjpKU1ZhbHVlIGNoYW5uZWxDb3VudCwgSlNDOjpKU1ZhbHVlIGRl
dmljZUlkLCBKU0M6OkpTVmFsdWUgZ3JvdXBJZCkKKyAgICAgICAgICAgIDogd2lkdGgod2lkdGgp
CisgICAgICAgICAgICAsIGhlaWdodChoZWlnaHQpCisgICAgICAgICAgICAsIGFzcGVjdFJhdGlv
KGFzcGVjdFJhdGlvKQorICAgICAgICAgICAgLCBmcmFtZVJhdGUoZnJhbWVSYXRlKQorICAgICAg
ICAgICAgLCBmYWNpbmdNb2RlKGZhY2luZ01vZGUpCisgICAgICAgICAgICAsIHZvbHVtZSh2b2x1
bWUpCisgICAgICAgICAgICAsIHNhbXBsZVJhdGUoc2FtcGxlUmF0ZSkKKyAgICAgICAgICAgICwg
c2FtcGxlU2l6ZShzYW1wbGVTaXplKQorICAgICAgICAgICAgLCBlY2hvQ2FuY2VsbGF0aW9uKGVj
aG9DYW5jZWxsYXRpb24pCisgICAgICAgICAgICAsIGxhdGVuY3kobGF0ZW5jeSkKKyAgICAgICAg
ICAgICwgY2hhbm5lbENvdW50KGNoYW5uZWxDb3VudCkKKyAgICAgICAgICAgICwgZGV2aWNlSWQo
ZGV2aWNlSWQpCisgICAgICAgICAgICAsIGdyb3VwSWQoZ3JvdXBJZCkKKyAgICAgICAgeworICAg
ICAgICB9CisKKyAgICAgICAgSlNDOjpKU1ZhbHVlIHdpZHRoOworICAgICAgICBKU0M6OkpTVmFs
dWUgaGVpZ2h0OworICAgICAgICBKU0M6OkpTVmFsdWUgYXNwZWN0UmF0aW87CisgICAgICAgIEpT
Qzo6SlNWYWx1ZSBmcmFtZVJhdGU7CisgICAgICAgIEpTQzo6SlNWYWx1ZSBmYWNpbmdNb2RlOwor
ICAgICAgICBKU0M6OkpTVmFsdWUgdm9sdW1lOworICAgICAgICBKU0M6OkpTVmFsdWUgc2FtcGxl
UmF0ZTsKKyAgICAgICAgSlNDOjpKU1ZhbHVlIHNhbXBsZVNpemU7CisgICAgICAgIEpTQzo6SlNW
YWx1ZSBlY2hvQ2FuY2VsbGF0aW9uOworICAgICAgICBKU0M6OkpTVmFsdWUgbGF0ZW5jeTsKKyAg
ICAgICAgSlNDOjpKU1ZhbHVlIGNoYW5uZWxDb3VudDsKKyAgICAgICAgSlNDOjpKU1ZhbHVlIGRl
dmljZUlkOworICAgICAgICBKU0M6OkpTVmFsdWUgZ3JvdXBJZDsKKyAgICB9OworCisgICAgc3Ry
dWN0IFRyYWNrQ29uc3RyYWludHMgOiBwdWJsaWMgVHJhY2tDb25zdHJhaW50U2V0IHsKKyAgICAg
ICAgVHJhY2tDb25zdHJhaW50cygpID0gZGVmYXVsdDsKKworICAgICAgICBUcmFja0NvbnN0cmFp
bnRzKEpTQzo6SlNWYWx1ZSB3aWR0aCwgSlNDOjpKU1ZhbHVlIGhlaWdodCwgSlNDOjpKU1ZhbHVl
IGFzcGVjdFJhdGlvLCBKU0M6OkpTVmFsdWUgZnJhbWVSYXRlLCBKU0M6OkpTVmFsdWUgZmFjaW5n
TW9kZSwgSlNDOjpKU1ZhbHVlIHZvbHVtZSwgSlNDOjpKU1ZhbHVlIHNhbXBsZVJhdGUsIEpTQzo6
SlNWYWx1ZSBzYW1wbGVTaXplLCBKU0M6OkpTVmFsdWUgZWNob0NhbmNlbGxhdGlvbiwgSlNDOjpK
U1ZhbHVlIGxhdGVuY3ksIEpTQzo6SlNWYWx1ZSBjaGFubmVsQ291bnQsIEpTQzo6SlNWYWx1ZSBk
ZXZpY2VJZCwgSlNDOjpKU1ZhbHVlIGdyb3VwSWQsIEpTQzo6SlNWYWx1ZSBhZHZhbmNlZCkKKyAg
ICAgICAgICAgIDogVHJhY2tDb25zdHJhaW50U2V0KHdpZHRoLCBoZWlnaHQsIGFzcGVjdFJhdGlv
LCBmcmFtZVJhdGUsIGZhY2luZ01vZGUsIHZvbHVtZSwgc2FtcGxlUmF0ZSwgc2FtcGxlU2l6ZSwg
ZWNob0NhbmNlbGxhdGlvbiwgbGF0ZW5jeSwgY2hhbm5lbENvdW50LCBkZXZpY2VJZCwgZ3JvdXBJ
ZCkKKyAgICAgICAgICAgICwgYWR2YW5jZWQoYWR2YW5jZWQpCisgICAgICAgIHsKKyAgICAgICAg
fQorCisgICAgICAgIEpTQzo6SlNWYWx1ZSBhZHZhbmNlZDsKKyAgICB9OworCiAgICAgc3RhdGlj
IFJlZjxNZWRpYURldmljZXM+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAg
dmlydHVhbCB+TWVkaWFEZXZpY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmlkbAppbmRleCA4YWQyMzI0NzQ2N2M0YTUzNGNk
YTM3OTFhZjY2MjIxOTA0ZGY2MjkyLi4zN2NkOTFkNTZlMTNhYTg0YjRhYjlmMzE3NzBhNGMzZTE2
MGRlMWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhRGV2aWNlcy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYURldmljZXMuaWRsCkBAIC0yOCw2ICsyOCw0NSBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwog
CisvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDUy
NAordHlwZWRlZiBhbnkgQ29uc3RyYWluQm9vbGVhbjsKK3R5cGVkZWYgYW55IENvbnN0cmFpbkRP
TVN0cmluZzsKK3R5cGVkZWYgYW55IENvbnN0cmFpbkRvdWJsZTsKK3R5cGVkZWYgYW55IENvbnN0
cmFpbkxvbmc7CisKK2RpY3Rpb25hcnkgTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQgeworICAgIENv
bnN0cmFpbkxvbmcgd2lkdGg7CisgICAgQ29uc3RyYWluTG9uZyBoZWlnaHQ7CisgICAgQ29uc3Ry
YWluRG91YmxlIGFzcGVjdFJhdGlvOworICAgIENvbnN0cmFpbkRvdWJsZSBmcmFtZVJhdGU7Cisg
ICAgQ29uc3RyYWluRE9NU3RyaW5nIGZhY2luZ01vZGU7CisgICAgQ29uc3RyYWluRG91YmxlIHZv
bHVtZTsKKyAgICBDb25zdHJhaW5Mb25nIHNhbXBsZVJhdGU7CisgICAgQ29uc3RyYWluTG9uZyBz
YW1wbGVTaXplOworICAgIENvbnN0cmFpbkJvb2xlYW4gZWNob0NhbmNlbGxhdGlvbjsKKyAgICBD
b25zdHJhaW5Eb3VibGUgbGF0ZW5jeTsKKyAgICBDb25zdHJhaW5Mb25nIGNoYW5uZWxDb3VudDsK
KyAgICBDb25zdHJhaW5ET01TdHJpbmcgZGV2aWNlSWQ7CisgICAgQ29uc3RyYWluRE9NU3RyaW5n
IGdyb3VwSWQ7Cit9OworCitkaWN0aW9uYXJ5IE1lZGlhVHJhY2tDb25zdHJhaW50cyB7CisgICAg
Q29uc3RyYWluTG9uZyB3aWR0aDsKKyAgICBDb25zdHJhaW5Mb25nIGhlaWdodDsKKyAgICBDb25z
dHJhaW5Eb3VibGUgYXNwZWN0UmF0aW87CisgICAgQ29uc3RyYWluRG91YmxlIGZyYW1lUmF0ZTsK
KyAgICBDb25zdHJhaW5ET01TdHJpbmcgZmFjaW5nTW9kZTsKKyAgICBDb25zdHJhaW5Eb3VibGUg
dm9sdW1lOworICAgIENvbnN0cmFpbkxvbmcgc2FtcGxlUmF0ZTsKKyAgICBDb25zdHJhaW5Mb25n
IHNhbXBsZVNpemU7CisgICAgQ29uc3RyYWluQm9vbGVhbiBlY2hvQ2FuY2VsbGF0aW9uOworICAg
IENvbnN0cmFpbkRvdWJsZSBsYXRlbmN5OworICAgIENvbnN0cmFpbkxvbmcgY2hhbm5lbENvdW50
OworICAgIENvbnN0cmFpbkRPTVN0cmluZyBkZXZpY2VJZDsKKyAgICBDb25zdHJhaW5ET01TdHJp
bmcgZ3JvdXBJZDsKKyAgICBhbnkgYWR2YW5jZWQ7ICAgLy8gRklYTUU6IENoYW5nZSB0byBzZXF1
ZW5jZTxNZWRpYVRyYWNrQ29uc3RyYWludFNldD4gd2hlbiBJREwgc3VwcG9ydCBmb3Igc2VxdWVu
Y2Ugb2YgZGljdGlvbmFyaWVzIGFuZCBkaWN0aW9uYXJpZXMgd2l0aGluIGRpY3Rpb25hcmllcyBp
cyBhdmFpbGFibGUuCit9OworCiBbCiAgICAgTm9JbnRlcmZhY2VPYmplY3QsCiAgICAgQ29uZGl0
aW9uYWw9TUVESUFfU1RSRUFNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCAwOTU4ZDJlY2NmYzQ3ZmZkNTQ1
MGFmNDhhZGU5YmUyM2JjMTZiYjAzLi42Mzc1MmM1ZTA5MjEyN2Y3ZjgwY2ViYTNjN2VkYjBlNDhj
M2MxODRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJNZWRp
YVNvdXJjZVNldHRpbmdzLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKICNpbmNsdWRlICJN
ZWRpYVN0cmVhbVByaXZhdGUuaCIKLSNpbmNsdWRlICJNZWRpYVRyYWNrQ29uc3RyYWludHMuaCIK
ICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KQEAgLTE1MCwxMSArMTQ5
LDExIEBAIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6c3RvcFByb2R1Y2luZ0RhdGEoKQogICAgIG1f
cHJpdmF0ZS0+ZW5kVHJhY2soKTsKIH0KIAotUmVmUHRyPE1lZGlhVHJhY2tDb25zdHJhaW50cz4g
TWVkaWFTdHJlYW1UcmFjazo6Z2V0Q29uc3RyYWludHMoKSBjb25zdAorTWVkaWFEZXZpY2VzOjpU
cmFja0NvbnN0cmFpbnRzIE1lZGlhU3RyZWFtVHJhY2s6OmdldENvbnN0cmFpbnRzKCkgY29uc3QK
IHsKLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyMjQyOAorICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTYwNzE3CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gTWVkaWFEZXZpY2VzOjpUcmFja0NvbnN0cmFpbnRzKCk7CiB9CiAKIFJlZlB0cjxNZWRp
YVNvdXJjZVNldHRpbmdzPiBNZWRpYVN0cmVhbVRyYWNrOjpnZXRTZXR0aW5ncygpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFjay5oCmluZGV4IGM5OWY0Y2UzNDI0YzM1ZDM4OGY5MzZkYmM3OGE4MTQyMzVlYzZmMDcuLjhj
MDkxMzk0NjFiMmZiMDM4Njk1M2I3NWMwMzhiODVhYjdiMDJhNmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCkBAIC0z
MSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJF
dmVudFRhcmdldC5oIgorI2luY2x1ZGUgIk1lZGlhRGV2aWNlcy5oIgogI2luY2x1ZGUgIk1lZGlh
U3RyZWFtVHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgog
I2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgpAQCAtNDQsNyArNDUsNyBAQCBjbGFzcyBBdWRp
b1NvdXJjZVByb3ZpZGVyOwogY2xhc3MgRGljdGlvbmFyeTsKIGNsYXNzIE1lZGlhQ29uc3RyYWlu
dHNJbXBsOwogY2xhc3MgTWVkaWFTb3VyY2VTZXR0aW5nczsKLWNsYXNzIE1lZGlhVHJhY2tDb25z
dHJhaW50czsKK3N0cnVjdCBNZWRpYVRyYWNrQ29uc3RyYWludHM7CiAKIGNsYXNzIE1lZGlhU3Ry
ZWFtVHJhY2sgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVN0cmVhbVRyYWNrPiwgcHVi
bGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHBy
aXZhdGUgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6Ok9ic2VydmVyIHsKIHB1YmxpYzoKQEAgLTc2
LDcgKzc3LDcgQEAgcHVibGljOgogICAgIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiBjbG9uZSgp
OwogICAgIHZvaWQgc3RvcFByb2R1Y2luZ0RhdGEoKTsKIAotICAgIFJlZlB0cjxNZWRpYVRyYWNr
Q29uc3RyYWludHM+IGdldENvbnN0cmFpbnRzKCkgY29uc3Q7CisgICAgTWVkaWFEZXZpY2VzOjpU
cmFja0NvbnN0cmFpbnRzIGdldENvbnN0cmFpbnRzKCkgY29uc3Q7CiAgICAgUmVmUHRyPE1lZGlh
U291cmNlU2V0dGluZ3M+IGdldFNldHRpbmdzKCkgY29uc3Q7CiAgICAgUmVmUHRyPFJlYWx0aW1l
TWVkaWFTb3VyY2VDYXBhYmlsaXRpZXM+IGdldENhcGFiaWxpdGllcygpIGNvbnN0OwogICAgIHZv
aWQgYXBwbHlDb25zdHJhaW50cyhjb25zdCBEaWN0aW9uYXJ5Jik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmlkbAppbmRl
eCAxMTYzZWFjM2IxOGYyMDhmNzkyZmQ4NzRjMDlmNTkzZWZlOGFmNTc5Li43MWUzOTlkYWUwOGMz
MjRhODBjOTgxYjIzNjhjY2Q5Yjc1MDcyMWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5pZGwKQEAgLTQ3LDcgKzQ3
LDcgQEAgZW51bSBNZWRpYVN0cmVhbVRyYWNrU3RhdGUgeyAibmV3IiwgImxpdmUiLCAiZW5kZWQi
IH07CiAgICAgTWVkaWFTdHJlYW1UcmFjayBjbG9uZSgpOwogICAgIFtJbXBsZW1lbnRlZEFzPXN0
b3BQcm9kdWNpbmdEYXRhXSB2b2lkIHN0b3AoKTsKIAotICAgIE1lZGlhVHJhY2tDb25zdHJhaW50
cyBnZXRDb25zdHJhaW50cygpOworICAgIFtDdXN0b21dIE1lZGlhVHJhY2tDb25zdHJhaW50cyBn
ZXRDb25zdHJhaW50cygpOwogICAgIFtDdXN0b21dIE1lZGlhU291cmNlU2V0dGluZ3MgZ2V0U2V0
dGluZ3MoKTsKICAgICBbQ3VzdG9tXSBNZWRpYVRyYWNrQ2FwYWJpbGl0aWVzIGdldENhcGFiaWxp
dGllcygpOwogICAgIHZvaWQgYXBwbHlDb25zdHJhaW50cyhEaWN0aW9uYXJ5IGNvbnN0cmFpbnRz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFU
cmFja0NvbnN0cmFpbnRTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVRyYWNrQ29uc3RyYWludFNldC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDBiMDE5NTEzOTlmMmJlNjJlYWZlMWMxNTMyZTk2MjBkMmE4ZDliNWIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludFNldC5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSw1MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKLQotI2luY2x1ZGUgIk1lZGlhVHJhY2tDb25zdHJhaW50U2V0LmgiCi0KLXVzaW5nIG5hbWVz
cGFjZSBKU0M7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUmVmPE1lZGlhVHJhY2tDb25zdHJh
aW50U2V0PiBNZWRpYVRyYWNrQ29uc3RyYWludFNldDo6Y3JlYXRlKGNvbnN0IERpY3Rpb25hcnkm
IGNvbnN0cmFpbnRzKQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhVHJhY2tDb25z
dHJhaW50U2V0KGNvbnN0cmFpbnRzKSk7Ci19Ci0KLU1lZGlhVHJhY2tDb25zdHJhaW50U2V0OjpN
ZWRpYVRyYWNrQ29uc3RyYWludFNldChjb25zdCBEaWN0aW9uYXJ5JiBjb25zdHJhaW50cykKLSAg
ICA6IG1fY29uc3RyYWludHMoY29uc3RyYWludHMpCi17Ci19Ci0KLU1lZGlhVHJhY2tDb25zdHJh
aW50U2V0Ojp+TWVkaWFUcmFja0NvbnN0cmFpbnRTZXQoKQotewotfQotCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludFNldC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludFNldC5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwOWM1M2MyOGJjZWU1OTZlODJjNzgyM2QwYmJkYmZhYWEyZmE4NDVk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuaAorKysg
L2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAotICoKLSAqLwotCi0jaWZuZGVmIE1lZGlhVHJhY2tDb25zdHJhaW50U2V0X2gK
LSNkZWZpbmUgTWVkaWFUcmFja0NvbnN0cmFpbnRTZXRfaAotCi0jaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKLQotI2luY2x1ZGUgIkRpY3Rpb25hcnkuaCIKLSNpbmNsdWRlICJTY3JpcHRXcmFwcGFi
bGUuaCIKLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIE1lZGlhVHJhY2tDb25zdHJhaW50U2V0IDogcHVibGljIFJlZkNvdW50ZWQ8TWVk
aWFUcmFja0NvbnN0cmFpbnRTZXQ+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKLXB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmPE1lZGlhVHJhY2tDb25zdHJhaW50U2V0PiBjcmVhdGUoY29uc3QgRGlj
dGlvbmFyeSYpOwotCi0gICAgdmlydHVhbCB+TWVkaWFUcmFja0NvbnN0cmFpbnRTZXQoKTsKLQot
ICAgIGNvbnN0IERpY3Rpb25hcnkmIGNvbnN0cmFpbnRzKCkgY29uc3QgeyByZXR1cm4gbV9jb25z
dHJhaW50czsgfQotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IE1lZGlhVHJhY2tDb25zdHJhaW50
U2V0KGNvbnN0IERpY3Rpb25hcnkmKTsKLSAgICAKLSAgICBjb25zdCBEaWN0aW9uYXJ5JiBtX2Nv
bnN0cmFpbnRzOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gTWVk
aWFUcmFja0NvbnN0cmFpbnRTZXRfaAotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludFNldC5p
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyNzU0YzhjNjI3N2VhZTJmNzhhZjA5
YmUxZDhlZTEwODlkY2ExZDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29u
c3RyYWludFNldC5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgR09PR0xFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9
TUVESUFfU1RSRUFNLAotICAgIE5vSW50ZXJmYWNlT2JqZWN0LAotXSBpbnRlcmZhY2UgTWVkaWFU
cmFja0NvbnN0cmFpbnRTZXQgewotICAgIC8vIEZJWE1FOiBOb3QgaW1wbGVtZW50ZWQuCi0gICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTk1NAotfTsKLQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNr
Q29uc3RyYWludHMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVRyYWNrQ29uc3RyYWludHMuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YWVi
OGZiNDMxODUxMWExM2UzYTQyMGJlM2JmODFiMmVhMjcwZjFjLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRzLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDY3ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICoKLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jaW5j
bHVkZSAiTWVkaWFUcmFja0NvbnN0cmFpbnRzLmgiCi0KLSNpbmNsdWRlICJNZWRpYVRyYWNrQ29u
c3RyYWludC5oIgotI2luY2x1ZGUgIk1lZGlhVHJhY2tDb25zdHJhaW50U2V0LmgiCi0jaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1SZWY8TWVkaWFUcmFja0NvbnN0cmFpbnRzPiBNZWRpYVRyYWNrQ29uc3Ry
YWludHM6OmNyZWF0ZShNZWRpYUNvbnN0cmFpbnRzSW1wbCYgY29uc3RyYWludHMpCi17Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFUcmFja0NvbnN0cmFpbnRzKGNvbnN0cmFpbnRzKSk7
Ci19Ci0KLU1lZGlhVHJhY2tDb25zdHJhaW50czo6TWVkaWFUcmFja0NvbnN0cmFpbnRzKE1lZGlh
Q29uc3RyYWludHNJbXBsJiBjb25zdHJhaW50cykKLSAgICA6IG1fY29uc3RyYWludHMoY29uc3Ry
YWludHMpCi17Ci19Ci0KLVZlY3RvcjxSZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnQ+PiBNZWRp
YVRyYWNrQ29uc3RyYWludHM6Om9wdGlvbmFsKCkgY29uc3QKLXsKLSAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxOTU0Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKLSAgICByZXR1cm4geyB9OwotfQotCi1NZWRpYVRyYWNrQ29uc3RyYWludFNldCogTWVkaWFU
cmFja0NvbnN0cmFpbnRzOjptYW5kYXRvcnkoKSBjb25zdAotewotICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE5NTQKLSAgICBub3RJbXBsZW1lbnRlZCgp
OwotICAgIHJldHVybiBudWxscHRyOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVRyYWNrQ29uc3RyYWludHMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFUcmFja0NvbnN0cmFpbnRzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5
NmZkYTg1OThlNTM4NWI5ZDc4YTBlMDViMDgzMzQ4Zjg2ZmRiMDEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMuaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICoKLSAqLwot
Ci0jaWZuZGVmIE1lZGlhVHJhY2tDb25zdHJhaW50c19oCi0jZGVmaW5lIE1lZGlhVHJhY2tDb25z
dHJhaW50c19oCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jaW5jbHVkZSAiTWVkaWFD
b25zdHJhaW50c0ltcGwuaCIKLSNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKLSNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIE1lZGlh
VHJhY2tDb25zdHJhaW50OwotY2xhc3MgTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQ7Ci0KLWNsYXNz
IE1lZGlhVHJhY2tDb25zdHJhaW50cyA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhVHJhY2tDb25z
dHJhaW50cz4sIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgewotcHVibGljOgotICAgIHZpcnR1YWwg
fk1lZGlhVHJhY2tDb25zdHJhaW50cygpIHsgfQotCi0gICAgc3RhdGljIFJlZjxNZWRpYVRyYWNr
Q29uc3RyYWludHM+IGNyZWF0ZShNZWRpYUNvbnN0cmFpbnRzSW1wbCYpOwotCi0gICAgVmVjdG9y
PFJlZlB0cjxNZWRpYVRyYWNrQ29uc3RyYWludD4+IG9wdGlvbmFsKCkgY29uc3Q7Ci0gICAgTWVk
aWFUcmFja0NvbnN0cmFpbnRTZXQqIG1hbmRhdG9yeSgpIGNvbnN0OwotCi1wcml2YXRlOgotICAg
IGV4cGxpY2l0IE1lZGlhVHJhY2tDb25zdHJhaW50cyhNZWRpYUNvbnN0cmFpbnRzSW1wbCYpOwot
ICAgIAotICAgIFJlZjxNZWRpYUNvbnN0cmFpbnRzSW1wbD4gbV9jb25zdHJhaW50czsKLX07Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIE1lZGlhVHJhY2tDb25zdHJhaW50
c19oCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA2MGM5Y2RiYmU0NTIyZDgxM2M3NmY2YzlhOGNlYTdhMmRiOThlMjM2Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRzLmlkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDMzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCi0gKi8KLQotWwotICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKLSAgICBOb0ludGVy
ZmFjZU9iamVjdCwKLV0gaW50ZXJmYWNlIE1lZGlhVHJhY2tDb25zdHJhaW50cyB7Ci0gICAgcmVh
ZG9ubHkgYXR0cmlidXRlIE1lZGlhVHJhY2tDb25zdHJhaW50U2V0PyBtYW5kYXRvcnk7Ci0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhVHJhY2tDb25zdHJhaW50W10/IG9wdGlvbmFsOwotfTsK
LQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDM0YTI4Nzc1OGM4MTMzYzA3YmQyNWMxZmI0NzZiZmQ0OWIwMGUxMDkuLjdiYTMzNmJl
ZDMzZDI0YWMwZWIzZjUzYmFlN2RjNTJhZWI1Zjg2MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc5LDE2ICs3OSw4IEBACiAJ
CTA3MDM2M0U2MTgxQTFDREMwMEMwNzRBNSAvKiBBVlZpZGVvQ2FwdHVyZVNvdXJjZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzYzREUxODFBMUNE
QzAwQzA3NEE1IC8qIEFWVmlkZW9DYXB0dXJlU291cmNlLmggKi87IH07CiAJCTA3MDM2M0U3MTgx
QTFDREMwMEMwNzRBNSAvKiBBVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDM2M0RGMTgxQTFDREMwMEMwNzRBNSAv
KiBBVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbSAqLzsgfTsKIAkJMDcwNTg1MjExN0ZEQzE0MDAwNUYy
QkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwNzA1ODUxRDE3RkRDMTQwMDA1RjJCQ0IgLyogTWVkaWFUcmFj
a0NvbnN0cmFpbnQuaCAqLzsgfTsKLQkJMDcwNTg1MjMxN0ZEQzE0MDAwNUYyQkNCIC8qIE1lZGlh
VHJhY2tDb25zdHJhaW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzA1ODUxRjE3RkRDMTQwMDA1RjJCQ0IgLyogTWVkaWFUcmFja0NvbnN0cmFp
bnRzLmNwcCAqLzsgfTsKLQkJMDcwNTg1MjQxN0ZEQzE0MDAwNUYyQkNCIC8qIE1lZGlhVHJhY2tD
b25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDcwNTg1MjAxN0ZEQzE0MDAwNUYyQkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50cy5oICov
OyB9OwotCQkwNzA1ODUyOTE3RkRFMDJDMDA1RjJCQ0IgLyogTWVkaWFUcmFja0NvbnN0cmFpbnRT
ZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDU4
NTI2MTdGREUwMkIwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludFNldC5oICovOyB9Owog
CQkwNzA1ODUzMTE3RkRFNkQ5MDA1RjJCQ0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzA1ODUyQjE3
RkRFNkQ5MDA1RjJCQ0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludC5jcHAgKi87IH07CiAJCTA3
MDU4NTMyMTdGREU2RDkwMDVGMkJDQiAvKiBKU01lZGlhVHJhY2tDb25zdHJhaW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzA1ODUyQzE3RkRFNkQ5
MDA1RjJCQ0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludC5oICovOyB9OwotCQkwNzA1ODUzMzE3
RkRFNkQ5MDA1RjJCQ0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludHMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwNTg1MkQxN0ZERTZEOTAwNUYy
QkNCIC8qIEpTTWVkaWFUcmFja0NvbnN0cmFpbnRzLmNwcCAqLzsgfTsKLQkJMDcwNTg1MzQxN0ZE
RTZEOTAwNUYyQkNCIC8qIEpTTWVkaWFUcmFja0NvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzA1ODUyRTE3RkRFNkQ5MDA1RjJCQ0Ig
LyogSlNNZWRpYVRyYWNrQ29uc3RyYWludHMuaCAqLzsgfTsKLQkJMDcwNTg1MzUxN0ZERTZEOTAw
NUYyQkNCIC8qIEpTTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwNTg1MkYxN0ZERTZEOTAwNUYyQkNCIC8q
IEpTTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuY3BwICovOyB9OwotCQkwNzA1ODUzNjE3RkRFNkQ5
MDA1RjJCQ0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludFNldC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwNTg1MzAxN0ZERTZEOTAwNUYyQkNCIC8q
IEpTTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuaCAqLzsgfTsKLQkJMDcwNTg1MzgxN0ZFMDQ0RjAw
NUYyQkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50U2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDU4NTM3MTdGRTA0NEYwMDVGMkJDQiAvKiBN
ZWRpYVRyYWNrQ29uc3RyYWludFNldC5jcHAgKi87IH07CiAJCTA3MDU4NTNBMTdGRTA3NzAwMDVG
MkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzA1ODUzOTE3RkUwNzcwMDA1RjJCQ0IgLyogTWVkaWFU
cmFja0NvbnN0cmFpbnQuY3BwICovOyB9OwogCQkwNzA3NTY4QjE0MjI2MkQ2MDA0MTQxNjEgLyog
SFRNTFRyYWNrRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzA3NTY4ODE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRyYWNrRWxlbWVudC5j
cHAgKi87IH07CiAJCTA3MDc1NjhDMTQyMjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tFbGVtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzA3NTY4
OTE0MjI2MkQ2MDA0MTQxNjEgLyogSFRNTFRyYWNrRWxlbWVudC5oICovOyB9OwpAQCAtNzIyNiwy
MCArNzIxOCwxMCBAQAogCQkwNzAzNjNERDE4MUExQ0RDMDBDMDc0QTUgLyogQVZNZWRpYUNhcHR1
cmVTb3VyY2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBVk1l
ZGlhQ2FwdHVyZVNvdXJjZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcwMzYz
REUxODFBMUNEQzAwQzA3NEE1IC8qIEFWVmlkZW9DYXB0dXJlU291cmNlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFWVmlkZW9DYXB0dXJlU291cmNlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA3MDM2M0RGMTgxQTFDREMwMEMwNzRBNSAvKiBBVlZpZGVvQ2Fw
dHVyZVNvdXJjZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFW
VmlkZW9DYXB0dXJlU291cmNlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwNzA1
ODUxQzE3RkRCMjNDMDA1RjJCQ0IgLyogTWVkaWFUcmFja0NvbnN0cmFpbnRzLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBN
ZWRpYVRyYWNrQ29uc3RyYWludHMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
NzA1ODUxRDE3RkRDMTQwMDA1RjJCQ0IgLyogTWVkaWFUcmFja0NvbnN0cmFpbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFUcmFja0NvbnN0cmFpbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcwNTg1MUUxN0ZEQzE0MDAwNUYyQkNCIC8qIE1lZGlh
VHJhY2tDb25zdHJhaW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYVRyYWNrQ29u
c3RyYWludC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA3MDU4NTFGMTdGREMx
NDAwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludHMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFUcmFja0NvbnN0cmFpbnRzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDcwNTg1MjAxN0ZEQzE0MDAwNUYyQkNCIC8qIE1lZGlhVHJh
Y2tDb25zdHJhaW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVRy
YWNrQ29uc3RyYWludHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDcwNTg1MjYx
N0ZERTAyQjAwNUYyQkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50U2V0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhVHJhY2tDb25zdHJhaW50U2V0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA3MDU4NTI3MTdGREUwMkIwMDVGMkJDQiAvKiBNZWRpYVRy
YWNrQ29uc3RyYWludFNldC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFUcmFja0Nv
bnN0cmFpbnRTZXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzA1ODUyQjE3
RkRFNkQ5MDA1RjJCQ0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhVHJhY2tDb25zdHJhaW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcwNTg1MkMxN0ZERTZEOTAwNUYyQkNCIC8qIEpT
TWVkaWFUcmFja0NvbnN0cmFpbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNNZWRpYVRyYWNrQ29uc3RyYWludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkw
NzA1ODUyRDE3RkRFNkQ5MDA1RjJCQ0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludHMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYVRyYWNrQ29uc3RyYWlu
dHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwNzA1ODUyRTE3RkRFNkQ5MDA1
RjJCQ0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNNZWRpYVRyYWNrQ29uc3RyYWludHMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJMDcwNTg1MkYxN0ZERTZEOTAwNUYyQkNCIC8qIEpTTWVkaWFUcmFja0NvbnN0
cmFpbnRTZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRp
YVRyYWNrQ29uc3RyYWludFNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA3
MDU4NTMwMTdGREU2RDkwMDVGMkJDQiAvKiBKU01lZGlhVHJhY2tDb25zdHJhaW50U2V0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDcwNTg1MzcxN0ZFMDQ0RjAwNUYyQkNC
IC8qIE1lZGlhVHJhY2tDb25zdHJhaW50U2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1lZGlhVHJhY2tDb25zdHJhaW50U2V0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMDcwNTg1MzkxN0ZFMDc3MDAwNUYyQkNCIC8qIE1lZGlhVHJhY2tDb25z
dHJhaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhVHJh
Y2tDb25zdHJhaW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcwNzU2ODgx
NDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFRyYWNrRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTA3MDc1Njg5MTQyMjYyRDYwMDQxNDE2MSAvKiBIVE1MVHJhY2tFbGVt
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxUcmFja0VsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MTQ5LDEyICsxNTEzMSw2IEBACiAJ
CQkJMDcwNTg1MzkxN0ZFMDc3MDAwNUYyQkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50LmNwcCAq
LywKIAkJCQkwNzA1ODUxRDE3RkRDMTQwMDA1RjJCQ0IgLyogTWVkaWFUcmFja0NvbnN0cmFpbnQu
aCAqLywKIAkJCQkwNzA1ODUxRTE3RkRDMTQwMDA1RjJCQ0IgLyogTWVkaWFUcmFja0NvbnN0cmFp
bnQuaWRsICovLAotCQkJCTA3MDU4NTFGMTdGREMxNDAwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29u
c3RyYWludHMuY3BwICovLAotCQkJCTA3MDU4NTIwMTdGREMxNDAwMDVGMkJDQiAvKiBNZWRpYVRy
YWNrQ29uc3RyYWludHMuaCAqLywKLQkJCQkwNzA1ODUxQzE3RkRCMjNDMDA1RjJCQ0IgLyogTWVk
aWFUcmFja0NvbnN0cmFpbnRzLmlkbCAqLywKLQkJCQkwNzA1ODUzNzE3RkUwNDRGMDA1RjJCQ0Ig
LyogTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuY3BwICovLAotCQkJCTA3MDU4NTI2MTdGREUwMkIw
MDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludFNldC5oICovLAotCQkJCTA3MDU4NTI3MTdG
REUwMkIwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludFNldC5pZGwgKi8sCiAJCQkJMDdD
MUMwRTAxQkZCNjAwMTAwQkQyMjU2IC8qIE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5o
ICovLAogCQkJCTA3QzFDMEUxMUJGQjYwMDEwMEJEMjI1NiAvKiBNZWRpYVRyYWNrU3VwcG9ydGVk
Q29uc3RyYWludHMuaWRsICovLAogCQkJCTVFQTcyNUNBMUFDQUJDQjUwMEVBRDE3QiAvKiBOYXZp
Z2F0b3JNZWRpYURldmljZXMuY3BwICovLApAQCAtMTUzNzMsMTAgKzE1MzQ5LDYgQEAKIAkJCQkw
NzYzMDZEQjE3RTE1RkIwMDA1QTdDNEUgLyogSlNNZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxi
YWNrLmggKi8sCiAJCQkJMDcwNTg1MkIxN0ZERTZEOTAwNUYyQkNCIC8qIEpTTWVkaWFUcmFja0Nv
bnN0cmFpbnQuY3BwICovLAogCQkJCTA3MDU4NTJDMTdGREU2RDkwMDVGMkJDQiAvKiBKU01lZGlh
VHJhY2tDb25zdHJhaW50LmggKi8sCi0JCQkJMDcwNTg1MkQxN0ZERTZEOTAwNUYyQkNCIC8qIEpT
TWVkaWFUcmFja0NvbnN0cmFpbnRzLmNwcCAqLywKLQkJCQkwNzA1ODUyRTE3RkRFNkQ5MDA1RjJC
Q0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludHMuaCAqLywKLQkJCQkwNzA1ODUyRjE3RkRFNkQ5
MDA1RjJCQ0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludFNldC5jcHAgKi8sCi0JCQkJMDcwNTg1
MzAxN0ZERTZEOTAwNUYyQkNCIC8qIEpTTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQuaCAqLywKIAkJ
CQkwNzg3QzQ2NzFCRkJERjZGMDA2RENEN0YgLyogSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3Ry
YWludHMuY3BwICovLAogCQkJCTA3ODdDNDY4MUJGQkRGNkYwMDZEQ0Q3RiAvKiBKU01lZGlhVHJh
Y2tTdXBwb3J0ZWRDb25zdHJhaW50cy5oICovLAogCQkJCTA3M0JFMzNFMTdEMTdFMDEwMDJCRDQz
MSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYS5jcHAgKi8sCkBAIC0yNjI4OCw4ICsyNjI2MCw2IEBA
CiAJCQkJMDcyNzdFNTUxN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1UcmFja0V2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzYzMDZERDE3RTE1RkIwMDA1QTdDNEUgLyogSlNNZWRp
YVN0cmVhbVRyYWNrU291cmNlc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzA1ODUz
MjE3RkRFNkQ5MDA1RjJCQ0IgLyogSlNNZWRpYVRyYWNrQ29uc3RyYWludC5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJMDcwNTg1MzQxN0ZERTZEOTAwNUYyQkNCIC8qIEpTTWVkaWFUcmFja0NvbnN0cmFp
bnRzLmggaW4gSGVhZGVycyAqLywKLQkJCQkwNzA1ODUzNjE3RkRFNkQ5MDA1RjJCQ0IgLyogSlNN
ZWRpYVRyYWNrQ29uc3RyYWludFNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4N0M0NkExQkZC
REY2RjAwNkRDRDdGIC8qIEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMTA3NDAwRTBFNzdCREMwMDAzM0FGMjQgLyogSlNNZXNzYWdlQ2hhbm5l
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzU3OTNFQzkwRDBDRTcyRDAwN0ZDMEFDIC8qIEpTTWVz
c2FnZUV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2ODA3LDggKzI2Nzc3LDYgQEAKIAkJCQlD
RDY0MUVDMDE4MTlCMzYwMDBFRTRDNDEgLyogTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDRDYwQzBDNzE5M0U4N0M3MDAzQzY1NkIgLyogTWVkaWFUaW1lUVRLaXQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDU4NTIxMTdGREMxNDAwMDVGMkJDQiAvKiBNZWRpYVRy
YWNrQ29uc3RyYWludC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDcwNTg1MjQxN0ZEQzE0MDAwNUYy
QkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDcwNTg1
MjkxN0ZERTAyQzAwNUYyQkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50U2V0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwN0MxQzBFMjFCRkI2MDAxMDBCRDIyNTYgLyogTWVkaWFUcmFja1N1cHBvcnRl
ZENvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OUM3Q0NCMzE4QzY2M0U0MDAzMkU0
MTMgLyogTWVtb2l6ZWRET01SZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRTFCQUMzMUJE
ODA2NEUwMDU1RDgxRiAvKiBNZW1vcnlCYWNraW5nU3RvcmVUcmFuc2FjdGlvbi5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMDA4Niw4ICszMDA1NCw2IEBACiAJCQkJMDcyNzdFNTQxN0QwMThDQzAwMTU1
MzREIC8qIEpTTWVkaWFTdHJlYW1UcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3
NjMwNkRDMTdFMTVGQjAwMDVBN0M0RSAvKiBKU01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJh
Y2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcwNTg1MzExN0ZERTZEOTAwNUYyQkNCIC8qIEpT
TWVkaWFUcmFja0NvbnN0cmFpbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDcwNTg1MzMxN0ZE
RTZEOTAwNUYyQkNCIC8qIEpTTWVkaWFUcmFja0NvbnN0cmFpbnRzLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCTA3MDU4NTM1MTdGREU2RDkwMDVGMkJDQiAvKiBKU01lZGlhVHJhY2tDb25zdHJhaW50
U2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3ODdDNDY5MUJGQkRGNkYwMDZEQ0Q3RiAvKiBK
U01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkw
NzI1NjBGQjFCRkMyNDgyMDA0RjkzNTkgLyogSlNNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWlu
dHNDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTEwNzQwMEQwRTc3QkRDMDAwMzNBRjI0
IC8qIEpTTWVzc2FnZUNoYW5uZWwuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDYxNyw4ICszMDU4
Myw2IEBACiAJCQkJQ0Q2NDFFQkYxODE5QjM2MDAwRUU0QzQxIC8qIE1lZGlhVGltZUFWRm91bmRh
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDYwQzBDNjE5M0U4N0M3MDAzQzY1NkIgLyog
TWVkaWFUaW1lUVRLaXQubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzA1ODUzQTE3RkUwNzcwMDA1
RjJCQ0IgLyogTWVkaWFUcmFja0NvbnN0cmFpbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMDcw
NTg1MjMxN0ZEQzE0MDAwNUYyQkNCIC8qIE1lZGlhVHJhY2tDb25zdHJhaW50cy5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQkwNzA1ODUzODE3RkUwNDRGMDA1RjJCQ0IgLyogTWVkaWFUcmFja0NvbnN0
cmFpbnRTZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTlDN0NDQjUxOEM2Qjg5OTAwMzJFNDEz
IC8qIE1lbW9pemVkRE9NUmVzdWx0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRTFCQUMyMUJE
ODA2NEUwMDU1RDgxRiAvKiBNZW1vcnlCYWNraW5nU3RvcmVUcmFuc2FjdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQ0IxNkMxNzA5NzlDM0JEMDA0Njc3NDEgLyogTWVtb3J5Q2FjaGUuY3Bw
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U01lZGlhU3RyZWFtVHJhY2tDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNNZWRpYVN0cmVhbVRyYWNrQ3VzdG9tLmNwcAppbmRleCA1NTE1NGI4NmE4ODBlMjgxYjI3M2Ri
MjRlYWU1YmQ1YTIwMTg4MWVlLi42YmI0OGI5ZmM1MjUyMzAyN2IwYWY4MDIzZjM3ZDVmNTc1NGVi
NGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhU3RyZWFt
VHJhY2tDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFT
dHJlYW1UcmFja0N1c3RvbS5jcHAKQEAgLTM5LDYgKzM5LDIwIEBAIHVzaW5nIG5hbWVzcGFjZSBK
U0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorSlNDOjpKU1ZhbHVlIEpTTWVkaWFTdHJlYW1U
cmFjazo6Z2V0Q29uc3RyYWludHMoRXhlY1N0YXRlJiBzdGF0ZSkKK3sKKyAgICBKU1ZhbHVlIHRo
aXNWYWx1ZSA9IHN0YXRlLnRoaXNWYWx1ZSgpOworICAgIEpTTWVkaWFTdHJlYW1UcmFjayogY2Fz
dGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNNZWRpYVN0cmVhbVRyYWNrKj4odGhpc1ZhbHVlKTsK
KyAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZGVjb2RlKHRocm93VGhpc1R5cGVFcnJvcihzdGF0ZSwgIk1lZGlhU3RyZWFtVHJhY2siLCAiZ2V0
Q29uc3RyYWludHMiKSk7CisgICAgCisgICAgSlNPYmplY3QqIG9iamVjdCA9IGNvbnN0cnVjdEVt
cHR5T2JqZWN0KCZzdGF0ZSk7CisKKyAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2MDcxNworICAgIAorICAgIHJldHVybiBvYmplY3Q7Cit9CisK
IEpTQzo6SlNWYWx1ZSBKU01lZGlhU3RyZWFtVHJhY2s6OmdldFNldHRpbmdzKEV4ZWNTdGF0ZSYg
c3RhdGUpCiB7CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBzdGF0ZS50aGlzVmFsdWUoKTsKQEAg
LTEwNSw3ICsxMTksNyBAQCBKU0M6OkpTVmFsdWUgSlNNZWRpYVN0cmVhbVRyYWNrOjpnZXRDYXBh
YmlsaXRpZXMoRXhlY1N0YXRlJiBzdGF0ZSkKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IHN0YXRl
LnRoaXNWYWx1ZSgpOwogICAgIEpTTWVkaWFTdHJlYW1UcmFjayogY2FzdGVkVGhpcyA9IGpzRHlu
YW1pY0Nhc3Q8SlNNZWRpYVN0cmVhbVRyYWNrKj4odGhpc1ZhbHVlKTsKICAgICBpZiAoVU5MSUtF
TFkoIWNhc3RlZFRoaXMpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKHRocm93VGhp
c1R5cGVFcnJvcihzdGF0ZSwgIk1lZGlhU3RyZWFtVHJhY2siLCAiZ2V0U2V0dGluZ3MiKSk7Cisg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjpkZWNvZGUodGhyb3dUaGlzVHlwZUVycm9yKHN0YXRlLCAi
TWVkaWFTdHJlYW1UcmFjayIsICJnZXRDYXBhYmlsaXRpZXMiKSk7CiAKICAgICBKU09iamVjdCog
b2JqZWN0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoJnN0YXRlKTsKICAgICBhdXRvJiBpbXBsID0g
Y2FzdGVkVGhpcy0+d3JhcHBlZCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>