<?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>214807</bug_id>
          
          <creation_ts>2020-07-26 11:43:26 -0700</creation_ts>
          <short_desc>[Cocoa] Make DecoderTest run against .mp4 files; add rate-limiting.</short_desc>
          <delta_ts>2020-07-30 14:29:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jbedard</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1675110</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-07-26 11:43:26 -0700</bug_when>
    <thetext>[Cocoa] Make DecoderTest run against .mp4 files; add rate-limiting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675111</commentid>
    <comment_count>1</comment_count>
      <attachid>405255</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-07-26 11:52:23 -0700</bug_when>
    <thetext>Created attachment 405255
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675114</commentid>
    <comment_count>2</comment_count>
      <attachid>405255</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-26 11:58:37 -0700</bug_when>
    <thetext>Comment on attachment 405255
Patch

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

&gt; Source/WebCore/ChangeLog:16
&gt; +        * platform/graphics/cocoa/VP9UtilitiesCocoa.h:
&gt; +        * platform/graphics/cocoa/VP9UtilitiesCocoa.mm:
&gt; +        (WebCore::registerWebKitVP9Decoder):

I would have left the word &quot;utilities&quot; out of this file’s name.

&gt; Source/WebCore/SourcesCocoa.txt:359
&gt; +platform/graphics/cocoa/VP9UtilitiesCocoa.mm @no-unify

Is this *really* necessary? Why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675161</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-07-26 22:34:06 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #2)
&gt; Comment on attachment 405255 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=405255&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:16
&gt; &gt; +        * platform/graphics/cocoa/VP9UtilitiesCocoa.h:
&gt; &gt; +        * platform/graphics/cocoa/VP9UtilitiesCocoa.mm:
&gt; &gt; +        (WebCore::registerWebKitVP9Decoder):
&gt; 
&gt; I would have left the word &quot;utilities&quot; out of this file’s name.
&gt; 
&gt; &gt; Source/WebCore/SourcesCocoa.txt:359
&gt; &gt; +platform/graphics/cocoa/VP9UtilitiesCocoa.mm @no-unify
&gt; 
&gt; Is this *really* necessary? Why?

Yes. Some header in CoreServices adds `a #define kName ...`, which causes a compilation error when a header inside WebRTC defines variable with that same name. And the CoreServices header just happens to be pulled into the unified build by some sibling source file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676551</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-30 14:28:43 -0700</bug_when>
    <thetext>Committed r265095: &lt;https://trac.webkit.org/changeset/265095&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405255.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676553</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-30 14:29:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/66347767&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405255</attachid>
            <date>2020-07-26 11:52:23 -0700</date>
            <delta_ts>2020-07-30 14:28:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214807-20200726115222.patch</filename>
            <type>text/plain</type>
            <size>21450</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0Nzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTRiYTFkOTU3YTkxMGNh
YTQ2MmQzMDk4MjM4ZTE0NjUwNmE5MWU3Yy4uNTJiOGE3MWM1MDM3NDU5NDBkMTUzMTIzMjJlYmRi
NjViNzVjYzViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA3LTI2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTWFrZSBEZWNv
ZGVyVGVzdCBydW4gYWdhaW5zdCAubXA0IGZpbGVzOyBhZGQgcmF0ZS1saW1pdGluZy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDgwNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9ydCByZWdpc3Rl
cldlYktpdFZQOURlY29kZXIoKSBmcm9tIFZQOVV0aWxpdGllc0NvY29hIGluc3RlYWQgb2YgTGli
V2ViUlRDUHJvdmlkZXIgdG8gbWFrZSBpdCBlYXNpZXIKKyAgICAgICAgZm9yIERlY29kZVRlc3Qg
dG8gaW1wb3J0LCBhcyBMaWJXZWJSVENQcm92aWRlciBhbHNvIHB1bGxzIGluIGEgYnVuY2ggb2Yg
bGlid2VicnRjIGhlYWRlcnMuIEFsc28sIGV4cG9ydAorICAgICAgICBTb3VyY2VCdWZmZXJQYXJz
ZXIuaCBzbyBEZWNvZGVyVGVzdCBjYW4gY3JlYXRlIHBhcnNlcnMgZm9yIGZNUDQgZmlsZXMuCisK
KyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9WUDlV
dGlsaXRpZXNDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1ZQOVV0
aWxpdGllc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJXZWJLaXRWUDlEZWNv
ZGVyKToKKwogMjAyMC0wNy0yNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbQ29jb2FdIEFkZCBQZXJmb3JtYW5jZVRlc3QgdG9vbCBmb3IgbWVhc3VyaW5nIHJh
dyBzcGVlZCBvZiBhIHZpZGVvIGRlY29kZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMThmMjQwZDliNGJkNjRhYzlk
OWNhM2VjZGJjMzkyOTA3OTQ0M2ExZS4uZWI0OGE2NThmNDg1NjUwOTc4MDE2YjQ1NTExOGI2NWY4
MjZlMmNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNy0yNiAgSmVyIE5vYmxl
ICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE1ha2UgRGVjb2RlclRl
c3QgcnVuIGFnYWluc3QgLm1wNCBmaWxlczsgYWRkIHJhdGUtbGltaXRpbmcuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ4MDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmVuYWJsZVZQOURlY29kZXIp
OgorCiAyMDIwLTA3LTIzICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwZS5jb20+CiAKICAgICAg
ICAgQWxsb3cgSW5kZXhlZERCIGluIHRoaXJkLXBhcnR5IGZyYW1lcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2Nv
YS50eHQKaW5kZXggZjczNzE2ODVkM2FmN2I5MjNlYzFmZmFhZjE4ODZhZWZmNTc2Y2QyNC4uOWYw
MzhiYTBhZDQxNmMyODIxNGJkOTAyYzVkNDc3OThjNzRiYjg2OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29j
b2EudHh0CkBAIC0zNTYsNyArMzU2LDcgQEAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNl
QnVmZmVyUGFyc2VyLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFy
c2VyV2ViTS5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5c3RlbUZvbnREYXRhYmFzZUNv
cmVUZXh0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvVGV4dFRyYWNrUmVwcmVzZW50YXRp
b25Db2NvYS5tbQotcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvVlA5VXRpbGl0aWVzQ29jb2EubW0K
K3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1ZQOVV0aWxpdGllc0NvY29hLm1tIEBuby11bmlmeQog
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQWN0aW9uRGlzYWJsaW5nQ0FMYXllckRlbGVnYXRl
Lm1tCiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlQ0FMYXllckV4dHJhcy5tbQogcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
NmMzZGI3ZTg3OTYyNjdlOGM3YzU0N2IyYjRhMzFiZDY2YzYwMWMyMS4uMWMzNjhlMzZmNjJkMzk0
ODVjNjQ5ZjY0NDIxOWNiZmJhOWEyYjQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDI0Miw2ICs0MjQyLDcgQEAKIAkJQ0RF
QTdDODQxMjc2MjMwNDAwQjg0NkREIC8qIFJlbmRlckZ1bGxTY3JlZW4uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERUE3QzgyMTI3NjIzMDQwMEI4NDZE
RCAvKiBSZW5kZXJGdWxsU2NyZWVuLmggKi87IH07CiAJCUNERUNBODlBMUVERjQ0N0QwMERDQjA4
QiAvKiBBVkFzc2V0VHJhY2tVdGlsaXRpZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDREVDQTg5ODFFREY0NDdEMDBEQ0IwOEIgLyogQVZBc3NldFRy
YWNrVXRpbGl0aWVzLm1tICovOyB9OwogCQlDREVDQTg5QjFFREY0NDdEMDBEQ0IwOEIgLyogQVZB
c3NldFRyYWNrVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDREVDQTg5OTFFREY0NDdEMDBEQ0IwOEIgLyogQVZBc3NldFRyYWNrVXRpbGl0
aWVzLmggKi87IH07CisJCUNERUQxQzNDMjRDRDMwNTcwMDkzNEUxMiAvKiBWUDlVdGlsaXRpZXND
b2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
NkZFNUI4MjRCQ0U2NDUwMDlGQ0RBNCAvKiBWUDlVdGlsaXRpZXNDb2NvYS5tbSAqLzsgfTsKIAkJ
Q0RFRjRGRDcxN0U4NUM4RjAwQUVFMjRCIC8qIEdyaWRMZW5ndGguaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERUY0RkQ2MTdFODVDOEYwMEFFRTI0QiAv
KiBHcmlkTGVuZ3RoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQ0RFRkEyMjgxRTc2NjlFODAwMEFFOTlDIC8qIFBsYXRmb3JtQXVkaW9EYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU2NjdBMTFF
NEJCQTREMDBFODE1NEEgLyogUGxhdGZvcm1BdWRpb0RhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDREYxMzUwODI0QzlGQTQ0MDA0MzJFMUUg
LyogU291cmNlQnVmZmVyUGFyc2VyV2ViTS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0Q4RjY2NzIyNEMwRjIwODAwMEM0MjFDIC8qIFNvdXJjZUJ1ZmZl
clBhcnNlcldlYk0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtMzQ5NzQsNiArMzQ5NzUsNyBAQAogCQkJCURFQ0E4MDM5MUY5RkVENkEwMEUzQjY2
MSAvKiBVbmlmaWVkU291cmNlMjQ4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURFQ0E4MDNBMUY5
RkVENkEwMEUzQjY2MSAvKiBVbmlmaWVkU291cmNlMjQ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CURFQ0E4MDNCMUY5RkVENkEwMEUzQjY2MSAvKiBVbmlmaWVkU291cmNlMjUwLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUNERUQxQzNDMjRDRDMwNTcwMDkzNEUxMiAvKiBWUDlVdGlsaXRpZXNDb2Nv
YS5tbSBpbiBTb3VyY2VzICovLAogCQkJCURFQ0E4MDNDMUY5RkVENkEwMEUzQjY2MSAvKiBVbmlm
aWVkU291cmNlMjUxLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURFQ0E4MDNEMUY5RkVENkEwMEUz
QjY2MSAvKiBVbmlmaWVkU291cmNlMjUyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURFQ0E4MDNF
MUY5RkVENkEwMEUzQjY2MSAvKiBVbmlmaWVkU291cmNlMjUzLmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNl
QnVmZmVyUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9T
b3VyY2VCdWZmZXJQYXJzZXIuaAppbmRleCBiNjBjYjZhNWMyYmQ0ZDNjZjYxYTBkYzY2NDEzYmEw
Nzg3MDdlMGU2Li4yOWM5MGYxZWVhMjUxNWM0ODI2MTA1NjRmY2M5MzExNjBiOTMzZTRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Tb3VyY2VCdWZm
ZXJQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9T
b3VyY2VCdWZmZXJQYXJzZXIuaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBDb250ZW50VHlwZTsKIGNsYXNzIE1lZGlhU2FtcGxlOwogCi1jbGFzcyBTb3VyY2VC
dWZmZXJQYXJzZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8U291cmNlQnVmZmVyUGFy
c2VyPiB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBTb3VyY2VCdWZmZXJQYXJzZXIgOiBwdWJsaWMg
VGhyZWFkU2FmZVJlZkNvdW50ZWQ8U291cmNlQnVmZmVyUGFyc2VyPiB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIE1lZGlhUGxheWVyRW51bXM6OlN1cHBvcnRzVHlwZSBpc0NvbnRlbnRUeXBlU3VwcG9y
dGVkKGNvbnN0IENvbnRlbnRUeXBlJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1ZQOVV0aWxpdGllc0NvY29hLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9WUDlVdGlsaXRpZXNDb2NvYS5oCmluZGV4IGUzZTM1
YmVmZTRhZTA0OGQxYmM1OWY4MzA0MzNlMWFiYjRhMWEzNDAuLjQ3OTcxMGI4ZDUxNjVhNTRjNjc1
Nzg2ZjljMDVmNjc1YTNiMzBmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1ZQOVV0aWxpdGllc0NvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvVlA5VXRpbGl0aWVzQ29jb2EuaApAQCAtMzgsNiArMzgs
NyBAQCBXRUJDT1JFX0VYUE9SVCBleHRlcm4gdm9pZCBzZXRPdmVycmlkZVZQOUhhcmR3YXJlRGVj
b2RlckRpc2FibGVkRm9yVGVzdGluZyhib29sKQogV0VCQ09SRV9FWFBPUlQgZXh0ZXJuIHZvaWQg
c2V0T3ZlcnJpZGVWUDlTY3JlZW5TaXplQW5kU2NhbGVGb3JUZXN0aW5nKGZsb2F0IHdpZHRoLCBm
bG9hdCBoZWlnaHQsIGZsb2F0IHNjYWxlKTsKIFdFQkNPUkVfRVhQT1JUIGV4dGVybiB2b2lkIHJl
c2V0T3ZlcnJpZGVWUDlTY3JlZW5TaXplQW5kU2NhbGVGb3JUZXN0aW5nKCk7CiAKK1dFQkNPUkVf
RVhQT1JUIGV4dGVybiB2b2lkIHJlZ2lzdGVyV2ViS2l0VlA5RGVjb2RlcigpOwogV0VCQ09SRV9F
WFBPUlQgZXh0ZXJuIHZvaWQgcmVnaXN0ZXJTdXBwbGVtZW50YWxWUDlEZWNvZGVyKCk7CiBleHRl
cm4gYm9vbCBpc1ZQOURlY29kZXJBdmFpbGFibGUoKTsKIGV4dGVybiBib29sIHZhbGlkYXRlVlBQ
YXJhbWV0ZXJzKFZQQ29kZWNDb25maWd1cmF0aW9uUmVjb3JkJiwgTWVkaWFDYXBhYmlsaXRpZXNJ
bmZvJiwgY29uc3QgVmlkZW9Db25maWd1cmF0aW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9WUDlVdGlsaXRpZXNDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1ZQOVV0aWxpdGllc0NvY29hLm1tCmlu
ZGV4IGM1Y2RkNmVjZDY3OGNlNzk5YjVjNDE2M2QwODA4N2NkOTQ5ZDE3MTQuLmRiODM5NzA0NDkx
ZjBjM2NjMjc4OTliM2M0Nzg4NGY5YmUyYThmODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1ZQOVV0aWxpdGllc0NvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1ZQOVV0aWxpdGllc0NvY29hLm1tCkBA
IC0yOSw2ICsyOSw3IEBACiAjaWYgUExBVEZPUk0oQ09DT0EpCiAKICNpbXBvcnQgIkZvdXJDQy5o
IgorI2ltcG9ydCAiTGliV2ViUlRDUHJvdmlkZXIuaCIKICNpbXBvcnQgIk1lZGlhQ2FwYWJpbGl0
aWVzSW5mby5oIgogI2ltcG9ydCAiUGxhdGZvcm1TY3JlZW4uaCIKICNpbXBvcnQgIlNjcmVlblBy
b3BlcnRpZXMuaCIKQEAgLTk2LDYgKzk3LDExIEBAIHN0YXRpYyBSZXNvbHV0aW9uQ2F0ZWdvcnkg
cmVzb2x1dGlvbkNhdGVnb3J5KGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSkKICAgICByZXR1cm4gUmVz
b2x1dGlvbkNhdGVnb3J5OjpSXzQ4MHA7CiB9CiAKK3ZvaWQgcmVnaXN0ZXJXZWJLaXRWUDlEZWNv
ZGVyKCkKK3sKKyAgICBMaWJXZWJSVENQcm92aWRlcjo6cmVnaXN0ZXJXZWJLaXRWUDlEZWNvZGVy
KCk7Cit9CisKIHZvaWQgcmVnaXN0ZXJTdXBwbGVtZW50YWxWUDlEZWNvZGVyKCkKIHsKICAgICBp
ZiAoIVZpZGVvVG9vbGJveExpYnJhcnkodHJ1ZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKaW5kZXggZmUyOTUwZTE0ZTc4Y2UzMGY2YjgzZTk2MWYyY2Y0ZTYyMmJkNzBk
Ny4uMzAyMzhkMmY3YTQ0ZjQ5ZGEwYmRmNTI5YmU2YWFkNmExMTdkOWE2MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTk2MCw5ICsxOTYwLDkgQEAgdm9pZCBX
ZWJQcm9jZXNzOjplbmFibGVWUDlEZWNvZGVyKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV92
cDlEZWNvZGVyRW5hYmxlZCA9IHRydWU7Ci0gICAgTGliV2ViUlRDUHJvdmlkZXI6OnJlZ2lzdGVy
V2ViS2l0VlA5RGVjb2RlcigpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2ViQ29yZTo6
cmVnaXN0ZXJXZWJLaXRWUDlEZWNvZGVyKCk7CiAgICAgV2ViQ29yZTo6cmVnaXN0ZXJTdXBwbGVt
ZW50YWxWUDlEZWNvZGVyKCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVz
dHMvQ2hhbmdlTG9nIGIvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDljN2RlNWRl
NTBmZDQ1NDhjZWM0NGUwNTdlMjA4Mjg5ZGFhN2FiMi4uMWNhMDVmMDRkZTM3OWI0NDY1ODUzYWJl
OTNlNTgwMTc2ZGFhNTJmNiAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0w
Ny0yNiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2Fd
IE1ha2UgRGVjb2RlclRlc3QgcnVuIGFnYWluc3QgLm1wNCBmaWxlczsgYWRkIHJhdGUtbGltaXRp
bmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ4
MDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMb29r
IHVwIHRoZSBVVEkgdHlwZSBvZiB0aGUgc3BlY2lmaWVkIGZpbGUsIGFuZCBjcmVhdGUgdGhlIGFw
cHJvcHJpYXRlIFNvdXJjZUJ1ZmZlclBhcnNlcgorICAgICAgICBieSBwYXNzaW5nIGluIHRoZSBD
b250ZW50VHlwZSAoY29udmVydGVkIGZyb20gVVRJKS4gQWxzbywgYWRkIGEgLS1yYXRlLWxpbWl0
IGZsYWcgd2hpY2gKKyAgICAgICAgY2F1c2VzIHRoZSBkZWNvbXByZXNzaW9uIHNlc3Npb24gdG8g
cnVuIGF0IHRoZSBzYW1lIEZQUyBhcyB0aGUgdW5kZXJseWluZyBtZWRpYS4KKworICAgICAgICAq
IERlY29kZXJUZXN0L0RlY29kZXJUZXN0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogRGVjb2RlclRlc3QvRGVjb2RlclRlc3QvbWFpbi5tbToKKyAgICAgICAgKG1haW4pOgor
CiAyMDIwLTA3LTI0ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAg
IFtDb2NvYV0gQWRkIFBlcmZvcm1hbmNlVGVzdCB0b29sIGZvciBtZWFzdXJpbmcgcmF3IHNwZWVk
IG9mIGEgdmlkZW8gZGVjb2RlcgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9EZWNvZGVy
VGVzdC9EZWNvZGVyVGVzdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvUGVyZm9ybWFuY2VU
ZXN0cy9EZWNvZGVyVGVzdC9EZWNvZGVyVGVzdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDk3OWFjMWNhMjJkOWFmNDY4Zjc5OTFiY2JlZTk1NjU1MmUwMWViNjQuLmU5MWMxYzhmZWRl
Y2NiZjM0NjRlODczYTkwYjJhZDk3Yzg2OWU4YjIgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVz
dHMvRGVjb2RlclRlc3QvRGVjb2RlclRlc3QueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9QZXJmb3JtYW5jZVRlc3RzL0RlY29kZXJUZXN0L0RlY29kZXJUZXN0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTcsMTAgKzcsMTEgQEAKIAlvYmplY3RzID0gewogCiAvKiBCZWdpbiBQ
QlhCdWlsZEZpbGUgc2VjdGlvbiAqLwotCQlDRDg5NzI0QzI0Q0E0ODUxMDBBRjY2MjEgLyogbGli
d2VicnRjLmR5bGliIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0Q4OTcyNEIyNENBNDg1MTAwQUY2NjIxIC8qIGxpYndlYnJ0Yy5keWxpYiAqLzsgfTsK
LQkJQ0RFMEM5QkYyNENBMjQ3QTAwNTkzQTgzIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBp
biBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTBDOUJF
MjRDQTI0N0EwMDU5M0E4MyAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87IH07CiAJCUNE
RTBDOUMxMjRDQTI0OUEwMDU5M0E4MyAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFMEM5QzAyNENBMjQ5QTAwNTkz
QTgzIC8qIFdlYktpdC5mcmFtZXdvcmsgKi87IH07CiAJCUNERTBDOUM0MjRDQTM2Q0QwMDU5M0E4
MyAvKiBDb3JlTWVkaWEuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RFMEM5QzMyNENBMzZDRDAwNTkzQTgzIC8qIENvcmVNZWRpYS5m
cmFtZXdvcmsgKi87IH07CisJCUNERUI3QjI5MjRDQjU1OEMwMDE1MjQ5RSAvKiBDb3JlU2Vydmlj
ZXMuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0RFQjdCMjgyNENCNTU4QzAwMTUyNDlFIC8qIENvcmVTZXJ2aWNlcy5mcmFtZXdvcmsg
Ki87IH07CisJCUNERUI3QjJCMjRDQjY4RTkwMDE1MjQ5RSAvKiBWaWRlb1Rvb2xib3guZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RF
QjdCMkEyNENCNjhFOTAwMTUyNDlFIC8qIFZpZGVvVG9vbGJveC5mcmFtZXdvcmsgKi87IH07CisJ
CUNERUQxQzNFMjRDRDM1MDYwMDkzNEUxMiAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4g
RnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREUwQzlCRTI0
Q0EyNDdBMDA1OTNBODMgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovOyB9OwogCQlDREYx
MzUwMTI0QzlGOTk5MDA0MzJFMUUgLyogbWFpbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERjEzNTAwMjRDOUY5OTkwMDQzMkUxRSAvKiBtYWluLm1t
ICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKQEAgLTI3LDExICsyOCwx
MiBAQAogLyogRW5kIFBCWENvcHlGaWxlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdp
biBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KLQkJQ0Q4OTcyNEIyNENBNDg1MTAwQUY2NjIx
IC8qIGxpYndlYnJ0Yy5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlid2VicnRjLmR5
bGliOyBwYXRoID0gLi4vLi4vV2ViS2l0QnVpbGQvUmVsZWFzZS9saWJ3ZWJydGMuZHlsaWI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTBDOUJFMjRDQTI0N0EwMDU5M0E4MyAvKiBK
YXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IEphdmFTY3JpcHRDb3Jl
LmZyYW1ld29yazsgcGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSmF2YVNjcmlwdENv
cmUuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKIAkJQ0RFMEM5QzAyNENBMjQ5
QTAwNTkzQTgzIC8qIFdlYktpdC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFdlYktpdC5m
cmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1dlYktpdC5mcmFtZXdv
cms7IHNvdXJjZVRyZWUgPSBTREtST09UOyB9OwogCQlDREUwQzlDMzI0Q0EzNkNEMDA1OTNBODMg
LyogQ29yZU1lZGlhLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29yZU1lZGlhLmZyYW1l
d29yazsgcGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZU1lZGlhLmZyYW1ld29y
azsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CiAJCUNERUI3QjI2MjRDQUM3NDIwMDE1MjQ5RSAv
KiBjb25maWcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gY29uZmlnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNERUI3QjI4MjRDQjU1OEMwMDE1MjQ5RSAvKiBDb3JlU2VydmljZXMuZnJhbWV3
b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3Jh
cHBlci5mcmFtZXdvcms7IG5hbWUgPSBDb3JlU2VydmljZXMuZnJhbWV3b3JrOyBwYXRoID0gU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrOyBzb3VyY2VUcmVl
ID0gU0RLUk9PVDsgfTsKKwkJQ0RFQjdCMkEyNENCNjhFOTAwMTUyNDlFIC8qIFZpZGVvVG9vbGJv
eC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFZpZGVvVG9vbGJveC5mcmFtZXdvcms7IHBh
dGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1ZpZGVvVG9vbGJveC5mcmFtZXdvcms7IHNv
dXJjZVRyZWUgPSBTREtST09UOyB9OwogCQlDREYxMzRGRDI0QzlGOTk5MDA0MzJFMUUgLyogRGVj
b2RlclRlc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9
ICJjb21waWxlZC5tYWNoLW8uZXhlY3V0YWJsZSI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9
IERlY29kZXJUZXN0OyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlDREYx
MzUwMDI0QzlGOTk5MDA0MzJFMUUgLyogbWFpbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IG1h
aW4ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERjEzNTBCMjRDQTAyRjMwMDQz
MkUxRSAvKiBCYXNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IEJh
c2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NSw4ICs0Nyw5IEBA
CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkJQ0RF
MEM5QzQyNENBMzZDRDAwNTkzQTgzIC8qIENvcmVNZWRpYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3Jr
cyAqLywKLQkJCQlDREUwQzlCRjI0Q0EyNDdBMDA1OTNBODMgLyogSmF2YVNjcmlwdENvcmUuZnJh
bWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCi0JCQkJQ0Q4OTcyNEMyNENBNDg1MTAwQUY2NjIxIC8q
IGxpYndlYnJ0Yy5keWxpYiBpbiBGcmFtZXdvcmtzICovLAorCQkJCUNERUI3QjI5MjRDQjU1OEMw
MDE1MjQ5RSAvKiBDb3JlU2VydmljZXMuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJ
Q0RFRDFDM0UyNENEMzUwNjAwOTM0RTEyIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovLAorCQkJCUNERUI3QjJCMjRDQjY4RTkwMDE1MjQ5RSAvKiBWaWRlb1Rvb2xi
b3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJQ0RFMEM5QzEyNENBMjQ5QTAwNTkz
QTgzIC8qIFdlYktpdC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKQEAgLTU4LDggKzYxLDkgQEAKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJQ0RFMEM5QzMyNENBMzZDRDAw
NTkzQTgzIC8qIENvcmVNZWRpYS5mcmFtZXdvcmsgKi8sCisJCQkJQ0RFQjdCMjgyNENCNTU4QzAw
MTUyNDlFIC8qIENvcmVTZXJ2aWNlcy5mcmFtZXdvcmsgKi8sCiAJCQkJQ0RFMEM5QkUyNENBMjQ3
QTAwNTkzQTgzIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLywKLQkJCQlDRDg5NzI0QjI0
Q0E0ODUxMDBBRjY2MjEgLyogbGlid2VicnRjLmR5bGliICovLAorCQkJCUNERUI3QjJBMjRDQjY4
RTkwMDE1MjQ5RSAvKiBWaWRlb1Rvb2xib3guZnJhbWV3b3JrICovLAogCQkJCUNERTBDOUMwMjRD
QTI0OUEwMDU5M0E4MyAvKiBXZWJLaXQuZnJhbWV3b3JrICovLAogCQkJKTsKIAkJCW5hbWUgPSBG
cmFtZXdvcmtzOwpAQCAtODYsOCArOTAsOCBAQAogCQlDREYxMzRGRjI0QzlGOTk5MDA0MzJFMUUg
LyogRGVjb2RlclRlc3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAotCQkJCUNERjEzNTAwMjRDOUY5OTkwMDQzMkUxRSAvKiBtYWluLm1tICovLAogCQkJCUNERUI3
QjI2MjRDQUM3NDIwMDE1MjQ5RSAvKiBjb25maWcuaCAqLywKKwkJCQlDREYxMzUwMDI0QzlGOTk5
MDA0MzJFMUUgLyogbWFpbi5tbSAqLywKIAkJCSk7CiAJCQlwYXRoID0gRGVjb2RlclRlc3Q7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9E
ZWNvZGVyVGVzdC9EZWNvZGVyVGVzdC9tYWluLm1tIGIvUGVyZm9ybWFuY2VUZXN0cy9EZWNvZGVy
VGVzdC9EZWNvZGVyVGVzdC9tYWluLm1tCmluZGV4IGE5ZTIwMTk5ZWE5MGY2OGUyZWU0ODNmMTYz
NzY1YjMwY2JlOTQ0MjAuLmUyMzdkNWRjMTBmODJhMmE0NDA2YTU0MzU0YTY5OGFlMzVmMDFhMmMg
MTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvRGVjb2RlclRlc3QvRGVjb2RlclRlc3QvbWFp
bi5tbQorKysgYi9QZXJmb3JtYW5jZVRlc3RzL0RlY29kZXJUZXN0L0RlY29kZXJUZXN0L21haW4u
bW0KQEAgLTI4LDE4ICsyOCwyMiBAQAogI2ltcG9ydCA8Q29yZU1lZGlhL0NNQnVmZmVyUXVldWUu
aD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERlc2NyaXB0aW9uLmg+CiAjaW1wb3J0IDxD
b3JlTWVkaWEvQ01TYW1wbGVCdWZmZXIuaD4KKyNpbXBvcnQgPENvcmVTZXJ2aWNlcy9Db3JlU2Vy
dmljZXMuaD4KICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8V2Vi
Q29yZS9Db250ZW50VHlwZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9NZWRpYVNhbXBsZS5oPgogI2lt
cG9ydCA8V2ViQ29yZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1NoYXJlZEJ1ZmZlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQYXJzZXJXZWJN
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9W
UDlVdGlsaXRpZXNDb2NvYS5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb24uaD4KICNpbXBvcnQgPGdldG9wdC5oPgotI2ltcG9ydCA8d2VicnRjL3Nkay9XZWJL
aXQvV2ViS2l0VlA5RGVjb2Rlci5oPgorI2ltcG9ydCA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRp
bWVBVkZvdW5kYXRpb24uaD4KICNpbXBvcnQgPHd0Zi9DUFVUaW1lLmg+CiAjaW1wb3J0IDx3dGYv
TW9ub3RvbmljVGltZS5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisjaW1wb3J0
IDx3dGYvVVJMLmg+CiAjaW1wb3J0IDx3dGYvV1RGU2VtYXBob3JlLmg+CiAjaW1wb3J0IDx3dGYv
Y2YvVHlwZUNhc3RzQ0YuaD4KIApAQCAtNTQsOSArNTgsMTEgQEAgc3RhdGljIEZ1bmN0aW9uPHZv
aWQoKT4mIHVwZGF0ZU91dHB1dEZ1bmN0aW9uKCkKIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBh
cmd2W10pCiB7CiAgICAgaW50IGVuYWJsZUhhcmR3YXJlRGVjb2RlciA9IHRydWU7CisgICAgaW50
IHJhdGVMaW1pdCA9IGZhbHNlOwogICAgIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10g
PSB7CiAgICAgICAgIHsgImhhcmR3YXJlIiwgICAgbm9fYXJndW1lbnQsICZlbmFibGVIYXJkd2Fy
ZURlY29kZXIsIDEgfSwKICAgICAgICAgeyAibm8taGFyZHdhcmUiLCBub19hcmd1bWVudCwgJmVu
YWJsZUhhcmR3YXJlRGVjb2RlciwgMCB9LAorICAgICAgICB7ICJyYXRlLWxpbWl0IiwgIG5vX2Fy
Z3VtZW50LCAmcmF0ZUxpbWl0LCAxIH0sCiAgICAgICAgIHsgTlVMTCwgICAgICAgICAgMCwgICAg
ICAgICAgIE5VTEwsIDAgfQogICAgIH07CiAKQEAgLTY0LDYgKzcwLDcgQEAgaW50IG1haW4oaW50
IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgZnByaW50ZihzdGRlcnIsICJVc2FnZTogJXMg
W29wdGlvbnNdIDxmaWxlPlxuIiwgYXJndlswXSk7CiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAi
XHRPcHRpb25zOlxuIgogICAgICAgICAgICAgIlx0XHQtLVtuby1daGFyZHdhcmUgICAgICMgRW5h
YmxlIG9yIGRpc2FibGUgdGhlIGhhcmR3YXJlIGRlY29kZXJcbiIKKyAgICAgICAgICAgICJcdFx0
LS1yYXRlLWxpbWl0ICAgICAgICAjIFJhdGUgbGltaXQgdGhlIGRlY29kZXIgdG8gZGVjb2RlIHNh
bXBsZXMgYXQgdGhlIG5hdHVyYWwgZnJhbWUgcmF0ZVxuIgogICAgICAgICApOwogICAgIH07CiAK
QEAgLTg4LDEwICs5NSwyNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogCiAg
ICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQo
KTsKLSAgICAgICAgd2VicnRjOjpyZWdpc3RlcldlYktpdFZQOURlY29kZXIoKTsKKyAgICAgICAg
cmVnaXN0ZXJXZWJLaXRWUDlEZWNvZGVyKCk7CiAgICAgICAgIHJlZ2lzdGVyU3VwcGxlbWVudGFs
VlA5RGVjb2RlcigpOwogICAgICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldFdlYk1QYXJzZXJFbmFibGVkKHRydWUpOwogCisgICAgICAgIGF1dG8gbWRJdGVt
ID0gYWRvcHRDRihNREl0ZW1DcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgZmlsZW5hbWUuY3Jl
YXRlQ0ZTdHJpbmcoKS5nZXQoKSkpOworICAgICAgICBhdXRvIG1kQ29udGVudFR5cGUgPSBhZG9w
dENGKGNoZWNrZWRfY2ZfY2FzdDxDRlN0cmluZ1JlZj4oTURJdGVtQ29weUF0dHJpYnV0ZShtZEl0
ZW0uZ2V0KCksIGtNREl0ZW1Db250ZW50VHlwZSkpKTsKKyAgICAgICAgaWYgKCFtZENvbnRlbnRU
eXBlKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNvdWxkIG5vdCBkaXNjb3ZlciBm
aWxlIHR5cGUgb2YgZmlsZSBcIiVzXCJcbiIsIGZpbGVuYW1lLnV0ZjgoKS5kYXRhKCkpOworICAg
ICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisKKyAgICAgICAgYXV0byBtaW1lVHlwZSA9
IE1JTUVUeXBlRnJvbVVUSShtZENvbnRlbnRUeXBlLmdldCgpKTsKKyAgICAgICAgaWYgKG1pbWVU
eXBlLmlzRW1wdHkoKSAmJiBmaWxlbmFtZS5lbmRzV2l0aCgiLndlYm0iKSkKKyAgICAgICAgICAg
IG1pbWVUeXBlID0gInZpZGVvL3dlYm0iOworCisgICAgICAgIGlmIChtaW1lVHlwZS5pc0VtcHR5
KCkpIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ291bGQgbm90IGRpc2NvdmVyIGZp
bGUgdHlwZSBvZiBmaWxlIFwiJXNcIlxuIiwgZmlsZW5hbWUudXRmOCgpLmRhdGEoKSk7CisgICAg
ICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKwogICAgICAgICBhdXRvIGJ1ZmZlciA9IFNo
YXJlZEJ1ZmZlcjo6Y3JlYXRlV2l0aENvbnRlbnRzT2ZGaWxlKGZpbGVuYW1lLnV0ZjgoKS5kYXRh
KCkpOwogICAgICAgICBpZiAoIWJ1ZmZlcikgewogICAgICAgICAgICAgZnByaW50ZihzdGRlcnIs
ICJDb3VsZCBub3QgcmVhZCBmaWxlIGF0IFwiJXNcIlxuIiwgZmlsZW5hbWUudXRmOCgpLmRhdGEo
KSk7CkBAIC0xMDAsOCArMTIzLDEzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10p
CiAKICAgICAgICAgZnByaW50ZihzdGRvdXQsICJQYXJzaW5nIFwiJXNcIi4uLlxuIiwgZmlsZW5h
bWUudXRmOCgpLmRhdGEoKSk7CiAKLSAgICAgICAgU291cmNlQnVmZmVyUGFyc2VyV2ViTSBwYXJz
ZXI7Ci0gICAgICAgIHBhcnNlci5zZXREaWRFbmNvdW50ZXJFcnJvckR1cmluZ1BhcnNpbmdDYWxs
YmFjayhbJl0gKHVpbnQ2NF90IGVycm9yQ29kZSkgeworICAgICAgICBhdXRvIHBhcnNlciA9IFNv
dXJjZUJ1ZmZlclBhcnNlcjo6Y3JlYXRlKENvbnRlbnRUeXBlKG1pbWVUeXBlKSk7CisgICAgICAg
IGlmICghYnVmZmVyKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNvdWxkIG5vdCBj
cmVhdGUgcGFyc2VyIGZvciBmaWxlIG9mIHR5cGUgXCIlc1wiXG4iLCBtaW1lVHlwZS51dGY4KCku
ZGF0YSgpKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorCisgICAgICAgIHBh
cnNlci0+c2V0RGlkRW5jb3VudGVyRXJyb3JEdXJpbmdQYXJzaW5nQ2FsbGJhY2soWyZdICh1aW50
NjRfdCBlcnJvckNvZGUpIHsKICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiUGFyc2VyIGVu
Y291bnRlcmVkIGVycm9yICVsbHUsIGV4aXRpbmciLCBlcnJvckNvZGUpOwogICAgICAgICAgICAg
ZXhpdCgtMSk7CiAgICAgICAgIH0pOwpAQCAtMTI0LDIwICsxNTIsMjUgQEAgaW50IG1haW4oaW50
IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgICAgIGZsb2F0IGZwcyA9IGRlY29kZWRTYW1w
bGVzIC8gZHVyYXRpb24udmFsdWUoKTsKIAogICAgICAgICAgICAgZnByaW50ZihzdGRvdXQsICJE
ZWNvZGVkICVsbHUgc2FtcGxlcyBpbiAlZyBzZWNvbmRzICglZyBmcHMpXG4iLCBkZWNvZGVkU2Ft
cGxlcywgZHVyYXRpb24udmFsdWUoKSwgZnBzKTsKLSAgICAgICAgICAgIGlmIChzdGFydENQVVRp
bWUgJiYgZW5kQ1BVVGltZSkKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZG91dCwgIkNQVSBV
c2FnZTogJWcgJSVcbiIsIGVuZENQVVRpbWUtPnBlcmNlbnRhZ2VDUFVVc2FnZVNpbmNlKCpzdGFy
dENQVVRpbWUpKTsKKyAgICAgICAgICAgIGlmIChzdGFydENQVVRpbWUgJiYgZW5kQ1BVVGltZSkg
eworICAgICAgICAgICAgICAgIGF1dG8gcGVyY2VudGFnZSA9IGVuZENQVVRpbWUtPnBlcmNlbnRh
Z2VDUFVVc2FnZVNpbmNlKCpzdGFydENQVVRpbWUpOworICAgICAgICAgICAgICAgIGZwcmludGYo
c3Rkb3V0LCAiQ1BVIFVzYWdlOiAlZyAlJSwgKCVnICUlIHBlciBmcmFtZSlcbiIsIHBlcmNlbnRh
Z2UsIHBlcmNlbnRhZ2UgLyBkZWNvZGVkU2FtcGxlcyk7CisgICAgICAgICAgICB9CiAgICAgICAg
IH07CiAKICAgICAgICAgc3RydWN0IHNpZ2FjdGlvbiBhY3Rpb24geyB9OwogICAgICAgICBhY3Rp
b24uc2FfZmxhZ3MgPSBTQV9TSUdJTkZPOwotICAgICAgICBhY3Rpb24uc2Ffc2lnYWN0aW9uID0g
W10gKGludCwgc2lnaW5mb190Kiwgdm9pZCopIHsKKyAgICAgICAgYWN0aW9uLnNhX3NpZ2FjdGlv
biA9IFtdIChpbnQgc2lnbmFsLCBzaWdpbmZvX3QqLCB2b2lkKikgewogICAgICAgICAgICAgaWYg
KHVwZGF0ZU91dHB1dEZ1bmN0aW9uKCkpCiAgICAgICAgICAgICAgICAgdXBkYXRlT3V0cHV0RnVu
Y3Rpb24oKSgpOworICAgICAgICAgICAgaWYgKHNpZ25hbCA9PSBTSUdJTlQpCisgICAgICAgICAg
ICAgICAgZXhpdCgtMSk7CiAgICAgICAgIH07CiAgICAgICAgIHNpZ2FjdGlvbihTSUdJTkZPLCAm
YWN0aW9uLCBudWxscHRyKTsKKyAgICAgICAgc2lnYWN0aW9uKFNJR0lOVCwgJmFjdGlvbiwgbnVs
bHB0cik7CiAKICAgICAgICAgV1RGOjpTZW1hcGhvcmUgc2FtcGxlU2VtYXBob3JlIHsgMCB9Owot
ICAgICAgICBwYXJzZXIuc2V0RGlkUHJvdmlkZU1lZGlhRGF0YUNhbGxiYWNrKFsmXSAoUmVmPE1l
ZGlhU2FtcGxlPiYmIHNhbXBsZSwgdWludDY0X3QsIGNvbnN0IFN0cmluZyYpIHsKKyAgICAgICAg
cGFyc2VyLT5zZXREaWRQcm92aWRlTWVkaWFEYXRhQ2FsbGJhY2soWyZdIChSZWY8TWVkaWFTYW1w
bGU+JiYgc2FtcGxlLCB1aW50NjRfdCwgY29uc3QgU3RyaW5nJikgewogICAgICAgICAgICAgYXV0
byBwbGF0Zm9ybVNhbXBsZSA9IHNhbXBsZS0+cGxhdGZvcm1TYW1wbGUoKTsKICAgICAgICAgICAg
IGlmIChwbGF0Zm9ybVNhbXBsZS50eXBlICE9IFBsYXRmb3JtU2FtcGxlOjpDTVNhbXBsZUJ1ZmZl
clR5cGUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTUyLDYgKzE4NSw3IEBAIGludCBt
YWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgICAgICAgICAgYXV0byBzaXplID0g
c2FtcGxlLT5wcmVzZW50YXRpb25TaXplKCk7CiAgICAgICAgICAgICAgICAgc3RhcnRUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgICAgICAgICAgc3RhcnRDUFVUaW1lID0gQ1BV
VGltZTo6Z2V0KCk7CisKICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZG91dCwgIlNpemU6ICVn
IHggJWdcbiIsIHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSk7CiAgICAgICAgICAgICAgICAg
Zmlyc3RTYW1wbGUgPSBmYWxzZTsKICAgICAgICAgICAgIH0KQEAgLTE2NywxNiArMjAxLDE2IEBA
IGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgICAgICBWZWN0b3I8dW5z
aWduZWQgY2hhcj4gYnl0ZXM7CiAgICAgICAgICAgICBieXRlcy5yZXNpemUoYnVmZmVyLT5zaXpl
KCkpOwogICAgICAgICAgICAgbWVtY3B5KGJ5dGVzLmRhdGEoKSwgYnVmZmVyLT5kYXRhKCksIGJ1
ZmZlci0+c2l6ZSgpKTsKLSAgICAgICAgICAgIHBhcnNlci5hcHBlbmREYXRhKFdURk1vdmUoYnl0
ZXMpKTsKKyAgICAgICAgICAgIHBhcnNlci0+YXBwZW5kRGF0YShXVEZNb3ZlKGJ5dGVzKSk7CiAg
ICAgICAgICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbJl0g
ewogICAgICAgICAgICAgICAgIGZpbmlzaGVkUGFyc2luZ1NlbWFwaG9yZS5zaWduYWwoKTsKICAg
ICAgICAgICAgIH0pOwogICAgICAgICB9KTsKIAorICAgICAgICBhdXRvIGRlY29tcHJlc3Npb25T
ZXNzaW9uID0gV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpjcmVhdGVPcGVuR0woKTsKICAg
ICAgICAgU2VtYXBob3JlIGZpbmlzaGVkRGVjb2RpbmdTZW1hcGhvcmUgeyAwIH07CiAgICAgICAg
IGF1dG8gZGVjb2RlclF1ZXVlID0gZGlzcGF0Y2hfcXVldWVfY3JlYXRlKCJkZWNvZGVyIHF1ZXVl
IiwgRElTUEFUQ0hfUVVFVUVfQ09OQ1VSUkVOVCk7CiAgICAgICAgIGRpc3BhdGNoX2FzeW5jKGRl
Y29kZXJRdWV1ZSwgWyZdIHsKLSAgICAgICAgICAgIGF1dG8gZGVjb21wcmVzc2lvblNlc3Npb24g
PSBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmNyZWF0ZU9wZW5HTCgpOwogICAgICAgICAg
ICAgZGVjb21wcmVzc2lvblNlc3Npb24tPnNldEhhcmR3YXJlRGVjb2RlckVuYWJsZWQoZW5hYmxl
SGFyZHdhcmVEZWNvZGVyKTsKIAogICAgICAgICAgICAgZG8gewpAQCAtMTg3LDcgKzIyMSwxNCBA
QCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgICAgIGF1dG8gc2FtcGxlID0gYWRvcHRDRigoQ01TYW1wbGVCdWZmZXJSZWYp
KGNvbnN0X2Nhc3Q8dm9pZCo+KENNQnVmZmVyUXVldWVEZXF1ZXVlQW5kUmV0YWluKGJ1ZmZlclF1
ZXVlKSkpKTsKKyAgICAgICAgICAgICAgICBhdXRvIGRlY29kZVN0YXJ0VGltZSA9IE1vbm90b25p
Y1RpbWU6Om5vdygpOworICAgICAgICAgICAgICAgIGF1dG8gZHVyYXRpb24gPSBQQUw6OnRvTWVk
aWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0T3V0cHV0RHVyYXRpb24oc2FtcGxlLmdldCgpKSk7CiAg
ICAgICAgICAgICAgICAgZGVjb21wcmVzc2lvblNlc3Npb24tPmRlY29kZVNhbXBsZVN5bmMoc2Ft
cGxlLmdldCgpKTsKKyAgICAgICAgICAgICAgICBhdXRvIGRlY29kZUVuZFRpbWUgPSBNb25vdG9u
aWNUaW1lOjpub3coKTsKKyAgICAgICAgICAgICAgICBhdXRvIHJlbWFpbmluZ1RpbWUgPSBTZWNv
bmRzKGR1cmF0aW9uLnRvRG91YmxlKCkpIC0gKGRlY29kZUVuZFRpbWUgLSBkZWNvZGVTdGFydFRp
bWUpOworCisgICAgICAgICAgICAgICAgaWYgKHJhdGVMaW1pdCAmJiByZW1haW5pbmdUaW1lID4g
U2Vjb25kcygwKSkKKyAgICAgICAgICAgICAgICAgICAgc2xlZXAocmVtYWluaW5nVGltZSk7CiAg
ICAgICAgICAgICAgICAgKytkZWNvZGVkU2FtcGxlczsKICAgICAgICAgICAgIH0gd2hpbGUgKHRy
dWUpOwogICAgICAgICB9KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>