<?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>230870</bug_id>
          
          <creation_ts>2021-09-27 17:33:07 -0700</creation_ts>
          <short_desc>Python 3 fails to run run-builtins-generator-tests : ModuleNotFoundError: No module named &apos;builtins_model&apos;</short_desc>
          <delta_ts>2021-09-30 13:14:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>bburg</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1797716</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-09-27 17:33:07 -0700</bug_when>
    <thetext>Windows Python 3 fails to run run-builtins-generator-tests : ModuleNotFoundError: No module named &apos;builtins_model&apos;

r282424 (Bug 229879) switched to python3 for running run-builtins-generator-tests,
after this change dipatched to Buildbot, WinCairo testing Buidbots are failing.

https://build.webkit.org/#/builders/60/builds/2751/steps/20/logs/stdio

&gt; Traceback (most recent call last):
&gt;   File &quot;C:\BW\wincairo-wkl-release-tests\build\Source\JavaScriptCore\Scripts\generate-js-builtins.py&quot;, line 41, in &lt;module&gt;
&gt;     from wkbuiltins import *
&gt;   File &quot;C:\BW\wincairo-wkl-release-tests\build\Source\JavaScriptCore\Scripts\wkbuiltins\__init__.py&quot;, line 3, in &lt;module&gt;
&gt;     from .wkbuiltins import *
&gt;   File &quot;C:\BW\wincairo-wkl-release-tests\build\Source\JavaScriptCore\Scripts\wkbuiltins\wkbuiltins.py&quot;, line 4, in &lt;module&gt;
&gt;     from builtins_model import *
&gt; ModuleNotFoundError: No module named &apos;builtins_model&apos;
&gt; Traceback (most recent call last):
&gt;   File &quot;C:\BW\wincairo-wkl-release-tests\build\Source\JavaScriptCore\Scripts\generate-js-builtins.py&quot;, line 41, in &lt;module&gt;
&gt;     from wkbuiltins import *
&gt;   File &quot;C:\BW\wincairo-wkl-release-tests\build\Source\JavaScriptCore\Scripts\wkbuiltins\__init__.py&quot;, line 3, in &lt;module&gt;
&gt;     from .wkbuiltins import *
&gt;   File &quot;C:\BW\wincairo-wkl-release-tests\build\Source\JavaScriptCore\Scripts\wkbuiltins\wkbuiltins.py&quot;, line 4, in &lt;module&gt;
&gt;     from builtins_model import *
&gt; ModuleNotFoundError: No module named &apos;builtins_model&apos;
&gt; (...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798152</commentid>
    <comment_count>1</comment_count>
      <attachid>439560</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-09-28 20:03:33 -0700</bug_when>
    <thetext>Created attachment 439560
WIP patch

This isn&apos;t a Windows Python3 specific issue.
webkitpy/codegen/main.py explicitly invoke &apos;python&apos;. It expects this is Python 2.
https://github.com/WebKit/WebKit/blob/b8f82ead5a81881d83127c9b5592c1b30e0797c9/Tools/Scripts/webkitpy/codegen/main.py#L41

I confirmed the same error happens if I replace it with sys.executable on Linux.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798167</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-09-28 20:41:11 -0700</bug_when>
    <thetext>With this WIP patch and Python3, one test reports ParseException.

PASS: WebCore-ArbitraryConditionalGuard-Separate.js-result
Traceback (most recent call last):
  File &quot;JavaScriptCore/Scripts/generate-js-builtins.py&quot;, line 178, in &lt;module&gt;
    generate_bindings_for_builtins_files(builtins_files=input_filepaths, **options)
  File &quot;JavaScriptCore/Scripts/generate-js-builtins.py&quot;, line 78, in generate_bindings_for_builtins_files
    model.parse_builtins_file(file_name, file_text)
  File &quot;/mnt/c/home/webkit/gc/Source/JavaScriptCore/Scripts/wkbuiltins/builtins_model.py&quot;, line 192, in parse_builtins_file
    object_annotations = self._parse_annotations(text)
  File &quot;/mnt/c/home/webkit/gc/Source/JavaScriptCore/Scripts/wkbuiltins/builtins_model.py&quot;, line 290, in _parse_annotations
    raise ParseException(&quot;Duplicate annotation found: %s&quot; % key)
wkbuiltins.builtins_model.ParseException: Duplicate annotation found: internal

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File &quot;JavaScriptCore/Scripts/generate-js-builtins.py&quot;, line 181, in &lt;module&gt;
    log.error(e.message)
AttributeError: &apos;ParseException&apos; object has no attribute &apos;message&apos;

Traceback (most recent call last):
  File &quot;JavaScriptCore/Scripts/generate-js-builtins.py&quot;, line 178, in &lt;module&gt;
    generate_bindings_for_builtins_files(builtins_files=input_filepaths, **options)
  File &quot;JavaScriptCore/Scripts/generate-js-builtins.py&quot;, line 78, in generate_bindings_for_builtins_files
    model.parse_builtins_file(file_name, file_text)
  File &quot;/mnt/c/home/webkit/gc/Source/JavaScriptCore/Scripts/wkbuiltins/builtins_model.py&quot;, line 192, in parse_builtins_file
    object_annotations = self._parse_annotations(text)
  File &quot;/mnt/c/home/webkit/gc/Source/JavaScriptCore/Scripts/wkbuiltins/builtins_model.py&quot;, line 282, in _parse_annotations
    raise ParseException(&quot;Duplicate annotation found: %s&quot; % key)
wkbuiltins.builtins_model.ParseException: Duplicate annotation found: conditional

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File &quot;JavaScriptCore/Scripts/generate-js-builtins.py&quot;, line 181, in &lt;module&gt;
    log.error(e.message)
AttributeError: &apos;ParseException&apos; object has no attribute &apos;message&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798168</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-09-28 20:43:42 -0700</bug_when>
    <thetext>With this WIP patch, generate-js-builtins.py fails with an ImportError.

FAILED: JavaScriptCore/DerivedSources/JSCBuiltins.cpp JavaScriptCore/DerivedSources/JSCBuiltins.h C:/home/webkit/gc/WebKitBuild/Debug/JavaScriptCore/DerivedSources/JSCBuiltins.cpp C:/home/webkit/gc/WebKitBuild/Debug/JavaScriptCore/DerivedSources/JSCBuiltins.h
cmd.exe /C &quot;cd /D C:\home\webkit\gc\WebKitBuild\Debug\Source\JavaScriptCore &amp;&amp; C:\Python39\python3.exe C:/home/webkit/gc/WebKitBuild/Debug/JavaScriptCore/Scripts/generate-js-builtins.py --framework JavaScriptCore --output-directory C:/home/webkit/gc/WebKitBuild/Debug/JavaScriptCore/DerivedSources --combined C:/home/webkit/gc/Source/JavaScriptCore/builtins/AsyncFromSyncIteratorPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/ArrayConstructor.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/ArrayIteratorPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/ArrayPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/AsyncFunctionPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/AsyncIteratorPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/AsyncGeneratorPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/DatePrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/FunctionPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/GeneratorPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/GlobalObject.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/GlobalOperations.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/InternalPromiseConstructor.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/IteratorHelpers.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/IteratorPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/MapIteratorPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/MapPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/ModuleLoader.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/NumberConstructor.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/ObjectConstructor.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/PromiseConstructor.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/PromiseOperations.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/PromisePrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/ReflectObject.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/RegExpPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/RegExpStringIteratorPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/SetIteratorPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/SetPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/StringConstructor.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/StringIteratorPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/StringPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/TypedArrayConstructor.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/TypedArrayPrototype.js C:/home/webkit/gc/Source/JavaScriptCore/builtins/WebAssembly.js&quot;
Traceback (most recent call last):

  File &quot;C:\home\webkit\gc\WebKitBuild\Debug\JavaScriptCore\Scripts\generate-js-builtins.py&quot;, line 41, in &lt;module&gt;

    from wkbuiltins import *

  File &quot;C:\home\webkit\gc\WebKitBuild\Debug\JavaScriptCore\Scripts\wkbuiltins.py&quot;, line 4, in &lt;module&gt;

    from .builtins_model import *

ImportError: attempted relative import with no known parent package</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798170</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-09-28 20:48:00 -0700</bug_when>
    <thetext>So, there are four problems here

1. ModuleNotFoundError (comment#0)
   Use relative imports
2. &apos;python&apos; expects Python 2 (comment#1)
   Use sys.executable
3. ParseException (comment#2)
4. copied generate-js-builtins.py raises ImportError (comment#3)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798194</commentid>
    <comment_count>5</comment_count>
      <attachid>439571</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-09-28 23:26:59 -0700</bug_when>
    <thetext>Created attachment 439571
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798195</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-09-28 23:28:16 -0700</bug_when>
    <thetext>This patch modifies the JS builtins code generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-builtins-generator-tests --reset-results`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798331</commentid>
    <comment_count>7</comment_count>
      <attachid>439571</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-09-29 08:03:07 -0700</bug_when>
    <thetext>Comment on attachment 439571
Patch

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

&gt; Source/JavaScriptCore/Scripts/generate-js-builtins.py:36
&gt; +sys.path.append(os.path.join(os.path.dirname(__file__), &apos;wkbuiltins&apos;))

Are we sure the relative/absolute import problem is our only problem in this script? How have we verified this with Python 3?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798575</commentid>
    <comment_count>8</comment_count>
      <attachid>439571</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-09-29 14:44:17 -0700</bug_when>
    <thetext>Comment on attachment 439571
Patch

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

&gt;&gt; Source/JavaScriptCore/Scripts/generate-js-builtins.py:36
&gt;&gt; +sys.path.append(os.path.join(os.path.dirname(__file__), &apos;wkbuiltins&apos;))
&gt; 
&gt; Are we sure the relative/absolute import problem is our only problem in this script? How have we verified this with Python 3?

By grepping &quot;&apos;python&apos;&quot;, InspectorGeneratorTests is also explicitly invoking &apos;python&apos;. It is Python 2.
I haven&apos;t tested the code yet. But, it can have the Python 3 issues.

I replaced &quot;&apos;python&apos;&quot; with &apos;sys.executable&apos; in the patch.
If run-builtins-generator-tests is invoked with Python 3, it runs generate-js-builtins.py with the same python, namely Python 3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799003</commentid>
    <comment_count>9</comment_count>
      <attachid>439571</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-09-30 13:13:34 -0700</bug_when>
    <thetext>Comment on attachment 439571
Patch

Clearing flags on attachment: 439571

Committed r283329 (242351@main): &lt;https://commits.webkit.org/242351@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799005</commentid>
    <comment_count>10</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-09-30 13:13:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799006</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-30 13:14:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/83734306&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439560</attachid>
            <date>2021-09-28 20:03:33 -0700</date>
            <delta_ts>2021-09-28 23:26:48 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>10191</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL3drYnVpbHRpbnMvYnVp
bHRpbnNfZ2VuZXJhdGVfY29tYmluZWRfaGVhZGVyLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L1NjcmlwdHMvd2tidWlsdGlucy9idWlsdGluc19nZW5lcmF0ZV9jb21iaW5lZF9oZWFkZXIucHkK
aW5kZXggMDQyYjMyMmJiOGJkLi5lOTU1MDIwN2UyZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9TY3JpcHRzL3drYnVpbHRpbnMvYnVpbHRpbnNfZ2VuZXJhdGVfY29tYmluZWRf
aGVhZGVyLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL3drYnVpbHRpbnMv
YnVpbHRpbnNfZ2VuZXJhdGVfY29tYmluZWRfaGVhZGVyLnB5CkBAIC0zMCw4ICszMCw4IEBAIGlt
cG9ydCByZQogaW1wb3J0IHN0cmluZwogZnJvbSBzdHJpbmcgaW1wb3J0IFRlbXBsYXRlCiAKLWZy
b20gYnVpbHRpbnNfZ2VuZXJhdG9yIGltcG9ydCBCdWlsdGluc0dlbmVyYXRvcgotZnJvbSBidWls
dGluc190ZW1wbGF0ZXMgaW1wb3J0IEJ1aWx0aW5zR2VuZXJhdG9yVGVtcGxhdGVzIGFzIFRlbXBs
YXRlcworZnJvbSAuYnVpbHRpbnNfZ2VuZXJhdG9yIGltcG9ydCBCdWlsdGluc0dlbmVyYXRvcgor
ZnJvbSAuYnVpbHRpbnNfdGVtcGxhdGVzIGltcG9ydCBCdWlsdGluc0dlbmVyYXRvclRlbXBsYXRl
cyBhcyBUZW1wbGF0ZXMKIAogCiBkZWYgZ2V0X3Zhcl9uYW1lKGZ1bmN0aW9uKToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL3drYnVpbHRpbnMvYnVpbHRpbnNfZ2Vu
ZXJhdGVfY29tYmluZWRfaW1wbGVtZW50YXRpb24ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
U2NyaXB0cy93a2J1aWx0aW5zL2J1aWx0aW5zX2dlbmVyYXRlX2NvbWJpbmVkX2ltcGxlbWVudGF0
aW9uLnB5CmluZGV4IDIxYzVlNDY2OGQyNy4uOWY5OWYzNDVmMjQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy93a2J1aWx0aW5zL2J1aWx0aW5zX2dlbmVyYXRlX2Nv
bWJpbmVkX2ltcGxlbWVudGF0aW9uLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3Jp
cHRzL3drYnVpbHRpbnMvYnVpbHRpbnNfZ2VuZXJhdGVfY29tYmluZWRfaW1wbGVtZW50YXRpb24u
cHkKQEAgLTMwLDkgKzMwLDkgQEAgaW1wb3J0IHJlCiBpbXBvcnQgc3RyaW5nCiBmcm9tIHN0cmlu
ZyBpbXBvcnQgVGVtcGxhdGUKIAotZnJvbSBidWlsdGluc19nZW5lcmF0b3IgaW1wb3J0IEJ1aWx0
aW5zR2VuZXJhdG9yCi1mcm9tIGJ1aWx0aW5zX21vZGVsIGltcG9ydCBGcmFtZXdvcmssIEZyYW1l
d29ya3MKLWZyb20gYnVpbHRpbnNfdGVtcGxhdGVzIGltcG9ydCBCdWlsdGluc0dlbmVyYXRvclRl
bXBsYXRlcyBhcyBUZW1wbGF0ZXMKK2Zyb20gLmJ1aWx0aW5zX2dlbmVyYXRvciBpbXBvcnQgQnVp
bHRpbnNHZW5lcmF0b3IKK2Zyb20gLmJ1aWx0aW5zX21vZGVsIGltcG9ydCBGcmFtZXdvcmssIEZy
YW1ld29ya3MKK2Zyb20gLmJ1aWx0aW5zX3RlbXBsYXRlcyBpbXBvcnQgQnVpbHRpbnNHZW5lcmF0
b3JUZW1wbGF0ZXMgYXMgVGVtcGxhdGVzCiAKIGxvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdnbG9i
YWwnKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy93a2J1aWx0
aW5zL2J1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2hlYWRlci5weSBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL3drYnVpbHRpbnMvYnVpbHRpbnNfZ2VuZXJhdGVfaW50
ZXJuYWxzX3dyYXBwZXJfaGVhZGVyLnB5CmluZGV4IDE2M2FhOTA2YWRmNC4uODRhYmEyZDRjZjEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy93a2J1aWx0aW5zL2J1
aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2hlYWRlci5weQorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvU2NyaXB0cy93a2J1aWx0aW5zL2J1aWx0aW5zX2dlbmVyYXRlX2ludGVy
bmFsc193cmFwcGVyX2hlYWRlci5weQpAQCAtMjcsOCArMjcsOCBAQAogaW1wb3J0IGxvZ2dpbmcK
IGZyb20gc3RyaW5nIGltcG9ydCBUZW1wbGF0ZQogCi1mcm9tIGJ1aWx0aW5zX2dlbmVyYXRvciBp
bXBvcnQgQnVpbHRpbnNHZW5lcmF0b3IsIFdLX2xjZmlyc3QsIFdLX3VjZmlyc3QKLWZyb20gYnVp
bHRpbnNfdGVtcGxhdGVzIGltcG9ydCBCdWlsdGluc0dlbmVyYXRvclRlbXBsYXRlcyBhcyBUZW1w
bGF0ZXMKK2Zyb20gLmJ1aWx0aW5zX2dlbmVyYXRvciBpbXBvcnQgQnVpbHRpbnNHZW5lcmF0b3Is
IFdLX2xjZmlyc3QsIFdLX3VjZmlyc3QKK2Zyb20gLmJ1aWx0aW5zX3RlbXBsYXRlcyBpbXBvcnQg
QnVpbHRpbnNHZW5lcmF0b3JUZW1wbGF0ZXMgYXMgVGVtcGxhdGVzCiAKIGxvZyA9IGxvZ2dpbmcu
Z2V0TG9nZ2VyKCdnbG9iYWwnKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
U2NyaXB0cy93a2J1aWx0aW5zL2J1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2lt
cGxlbWVudGF0aW9uLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvd2tidWlsdGlu
cy9idWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9pbXBsZW1lbnRhdGlvbi5weQpp
bmRleCAxYTJmNGE0ZGE0ZjguLmJiMTg3NzAxNzE0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL1NjcmlwdHMvd2tidWlsdGlucy9idWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNf
d3JhcHBlcl9pbXBsZW1lbnRhdGlvbi5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2Ny
aXB0cy93a2J1aWx0aW5zL2J1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2ltcGxl
bWVudGF0aW9uLnB5CkBAIC0yNyw4ICsyNyw4IEBACiBpbXBvcnQgbG9nZ2luZwogZnJvbSBzdHJp
bmcgaW1wb3J0IFRlbXBsYXRlCiAKLWZyb20gYnVpbHRpbnNfZ2VuZXJhdG9yIGltcG9ydCBCdWls
dGluc0dlbmVyYXRvciwgV0tfbGNmaXJzdCwgV0tfdWNmaXJzdAotZnJvbSBidWlsdGluc190ZW1w
bGF0ZXMgaW1wb3J0IEJ1aWx0aW5zR2VuZXJhdG9yVGVtcGxhdGVzIGFzIFRlbXBsYXRlcworZnJv
bSAuYnVpbHRpbnNfZ2VuZXJhdG9yIGltcG9ydCBCdWlsdGluc0dlbmVyYXRvciwgV0tfbGNmaXJz
dCwgV0tfdWNmaXJzdAorZnJvbSAuYnVpbHRpbnNfdGVtcGxhdGVzIGltcG9ydCBCdWlsdGluc0dl
bmVyYXRvclRlbXBsYXRlcyBhcyBUZW1wbGF0ZXMKIAogbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIo
J2dsb2JhbCcpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL3dr
YnVpbHRpbnMvYnVpbHRpbnNfZ2VuZXJhdGVfc2VwYXJhdGVfaGVhZGVyLnB5IGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL1NjcmlwdHMvd2tidWlsdGlucy9idWlsdGluc19nZW5lcmF0ZV9zZXBhcmF0
ZV9oZWFkZXIucHkKaW5kZXggN2U4MDk1ZTU1MWQyLi5hYWZiZDE0MmJjYzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL3drYnVpbHRpbnMvYnVpbHRpbnNfZ2VuZXJh
dGVfc2VwYXJhdGVfaGVhZGVyLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRz
L3drYnVpbHRpbnMvYnVpbHRpbnNfZ2VuZXJhdGVfc2VwYXJhdGVfaGVhZGVyLnB5CkBAIC0zMCw5
ICszMCw5IEBAIGltcG9ydCByZQogaW1wb3J0IHN0cmluZwogZnJvbSBzdHJpbmcgaW1wb3J0IFRl
bXBsYXRlCiAKLWZyb20gYnVpbHRpbnNfZ2VuZXJhdG9yIGltcG9ydCBCdWlsdGluc0dlbmVyYXRv
cgotZnJvbSBidWlsdGluc19tb2RlbCBpbXBvcnQgRnJhbWV3b3JrcwotZnJvbSBidWlsdGluc190
ZW1wbGF0ZXMgaW1wb3J0IEJ1aWx0aW5zR2VuZXJhdG9yVGVtcGxhdGVzIGFzIFRlbXBsYXRlcwor
ZnJvbSAuYnVpbHRpbnNfZ2VuZXJhdG9yIGltcG9ydCBCdWlsdGluc0dlbmVyYXRvcgorZnJvbSAu
YnVpbHRpbnNfbW9kZWwgaW1wb3J0IEZyYW1ld29ya3MKK2Zyb20gLmJ1aWx0aW5zX3RlbXBsYXRl
cyBpbXBvcnQgQnVpbHRpbnNHZW5lcmF0b3JUZW1wbGF0ZXMgYXMgVGVtcGxhdGVzCiAKIGxvZyA9
IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdnbG9iYWwnKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvU2NyaXB0cy93a2J1aWx0aW5zL2J1aWx0aW5zX2dlbmVyYXRlX3NlcGFyYXRlX2lt
cGxlbWVudGF0aW9uLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvd2tidWlsdGlu
cy9idWlsdGluc19nZW5lcmF0ZV9zZXBhcmF0ZV9pbXBsZW1lbnRhdGlvbi5weQppbmRleCA5ZmYx
MmYxN2IzNDMuLmU0ZTA2YzMxNmEzZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L1NjcmlwdHMvd2tidWlsdGlucy9idWlsdGluc19nZW5lcmF0ZV9zZXBhcmF0ZV9pbXBsZW1lbnRh
dGlvbi5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy93a2J1aWx0aW5zL2J1
aWx0aW5zX2dlbmVyYXRlX3NlcGFyYXRlX2ltcGxlbWVudGF0aW9uLnB5CkBAIC0zMCw5ICszMCw5
IEBAIGltcG9ydCByZQogaW1wb3J0IHN0cmluZwogZnJvbSBzdHJpbmcgaW1wb3J0IFRlbXBsYXRl
CiAKLWZyb20gYnVpbHRpbnNfZ2VuZXJhdG9yIGltcG9ydCBCdWlsdGluc0dlbmVyYXRvciwgV0tf
bGNmaXJzdAotZnJvbSBidWlsdGluc19tb2RlbCBpbXBvcnQgRnJhbWV3b3JrLCBGcmFtZXdvcmtz
Ci1mcm9tIGJ1aWx0aW5zX3RlbXBsYXRlcyBpbXBvcnQgQnVpbHRpbnNHZW5lcmF0b3JUZW1wbGF0
ZXMgYXMgVGVtcGxhdGVzCitmcm9tIC5idWlsdGluc19nZW5lcmF0b3IgaW1wb3J0IEJ1aWx0aW5z
R2VuZXJhdG9yLCBXS19sY2ZpcnN0Citmcm9tIC5idWlsdGluc19tb2RlbCBpbXBvcnQgRnJhbWV3
b3JrLCBGcmFtZXdvcmtzCitmcm9tIC5idWlsdGluc190ZW1wbGF0ZXMgaW1wb3J0IEJ1aWx0aW5z
R2VuZXJhdG9yVGVtcGxhdGVzIGFzIFRlbXBsYXRlcwogCiBsb2cgPSBsb2dnaW5nLmdldExvZ2dl
cignZ2xvYmFsJykKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMv
d2tidWlsdGlucy9idWlsdGluc19nZW5lcmF0ZV93cmFwcGVyX2hlYWRlci5weSBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9TY3JpcHRzL3drYnVpbHRpbnMvYnVpbHRpbnNfZ2VuZXJhdGVfd3JhcHBl
cl9oZWFkZXIucHkKaW5kZXggOWI2MmE2NmUyNGY2Li4xNTg0YTJkNGYzYTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL3drYnVpbHRpbnMvYnVpbHRpbnNfZ2VuZXJh
dGVfd3JhcHBlcl9oZWFkZXIucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMv
d2tidWlsdGlucy9idWlsdGluc19nZW5lcmF0ZV93cmFwcGVyX2hlYWRlci5weQpAQCAtMjcsOCAr
MjcsOCBAQAogaW1wb3J0IGxvZ2dpbmcKIGZyb20gc3RyaW5nIGltcG9ydCBUZW1wbGF0ZQogCi1m
cm9tIGJ1aWx0aW5zX2dlbmVyYXRvciBpbXBvcnQgQnVpbHRpbnNHZW5lcmF0b3IsIFdLX2xjZmly
c3QsIFdLX3VjZmlyc3QKLWZyb20gYnVpbHRpbnNfdGVtcGxhdGVzIGltcG9ydCBCdWlsdGluc0dl
bmVyYXRvclRlbXBsYXRlcyBhcyBUZW1wbGF0ZXMKK2Zyb20gLmJ1aWx0aW5zX2dlbmVyYXRvciBp
bXBvcnQgQnVpbHRpbnNHZW5lcmF0b3IsIFdLX2xjZmlyc3QsIFdLX3VjZmlyc3QKK2Zyb20gLmJ1
aWx0aW5zX3RlbXBsYXRlcyBpbXBvcnQgQnVpbHRpbnNHZW5lcmF0b3JUZW1wbGF0ZXMgYXMgVGVt
cGxhdGVzCiAKIGxvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdnbG9iYWwnKQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy93a2J1aWx0aW5zL2J1aWx0aW5zX2dlbmVy
YXRlX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2Ny
aXB0cy93a2J1aWx0aW5zL2J1aWx0aW5zX2dlbmVyYXRlX3dyYXBwZXJfaW1wbGVtZW50YXRpb24u
cHkKaW5kZXggMDA1NTkxN2ZkYzgyLi5iN2IyZGU1YTgyN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9TY3JpcHRzL3drYnVpbHRpbnMvYnVpbHRpbnNfZ2VuZXJhdGVfd3JhcHBl
cl9pbXBsZW1lbnRhdGlvbi5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy93
a2J1aWx0aW5zL2J1aWx0aW5zX2dlbmVyYXRlX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkKQEAg
LTI3LDggKzI3LDggQEAKIGltcG9ydCBsb2dnaW5nCiBmcm9tIHN0cmluZyBpbXBvcnQgVGVtcGxh
dGUKIAotZnJvbSBidWlsdGluc19nZW5lcmF0b3IgaW1wb3J0IEJ1aWx0aW5zR2VuZXJhdG9yCi1m
cm9tIGJ1aWx0aW5zX3RlbXBsYXRlcyBpbXBvcnQgQnVpbHRpbnNHZW5lcmF0b3JUZW1wbGF0ZXMg
YXMgVGVtcGxhdGVzCitmcm9tIC5idWlsdGluc19nZW5lcmF0b3IgaW1wb3J0IEJ1aWx0aW5zR2Vu
ZXJhdG9yCitmcm9tIC5idWlsdGluc190ZW1wbGF0ZXMgaW1wb3J0IEJ1aWx0aW5zR2VuZXJhdG9y
VGVtcGxhdGVzIGFzIFRlbXBsYXRlcwogCiBsb2cgPSBsb2dnaW5nLmdldExvZ2dlcignZ2xvYmFs
JykKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvd2tidWlsdGlu
cy9idWlsdGluc19nZW5lcmF0b3IucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy93
a2J1aWx0aW5zL2J1aWx0aW5zX2dlbmVyYXRvci5weQppbmRleCBlYjU5NWQ3ZWM2YzYuLjljZmY3
ZjkzNzMwNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvd2tidWls
dGlucy9idWlsdGluc19nZW5lcmF0b3IucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1Nj
cmlwdHMvd2tidWlsdGlucy9idWlsdGluc19nZW5lcmF0b3IucHkKQEAgLTMwLDggKzMwLDggQEAg
aW1wb3J0IHJlCiBmcm9tIHN0cmluZyBpbXBvcnQgVGVtcGxhdGUKIGltcG9ydCBqc29uCiAKLWZy
b20gYnVpbHRpbnNfbW9kZWwgaW1wb3J0IEJ1aWx0aW5GdW5jdGlvbiwgQnVpbHRpbk9iamVjdAot
ZnJvbSBidWlsdGluc190ZW1wbGF0ZXMgaW1wb3J0IEJ1aWx0aW5zR2VuZXJhdG9yVGVtcGxhdGVz
IGFzIFRlbXBsYXRlcworZnJvbSAuYnVpbHRpbnNfbW9kZWwgaW1wb3J0IEJ1aWx0aW5GdW5jdGlv
biwgQnVpbHRpbk9iamVjdAorZnJvbSAuYnVpbHRpbnNfdGVtcGxhdGVzIGltcG9ydCBCdWlsdGlu
c0dlbmVyYXRvclRlbXBsYXRlcyBhcyBUZW1wbGF0ZXMKIAogbG9nID0gbG9nZ2luZy5nZXRMb2dn
ZXIoJ2dsb2JhbCcpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRz
L3drYnVpbHRpbnMvYnVpbHRpbnNfbW9kZWwucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2Ny
aXB0cy93a2J1aWx0aW5zL2J1aWx0aW5zX21vZGVsLnB5CmluZGV4IGFlZTFiZWIyZmNhOC4uYjJi
YmE0NDhmMzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy93a2J1
aWx0aW5zL2J1aWx0aW5zX21vZGVsLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3Jp
cHRzL3drYnVpbHRpbnMvYnVpbHRpbnNfbW9kZWwucHkKQEAgLTI3LDcgKzI3LDcgQEAgaW1wb3J0
IGxvZ2dpbmcKIGltcG9ydCByZQogaW1wb3J0IG9zCiAKLWZyb20gYnVpbHRpbnNfdGVtcGxhdGVz
IGltcG9ydCBCdWlsdGluc0dlbmVyYXRvclRlbXBsYXRlcyBhcyBUZW1wbGF0ZXMKK2Zyb20gLmJ1
aWx0aW5zX3RlbXBsYXRlcyBpbXBvcnQgQnVpbHRpbnNHZW5lcmF0b3JUZW1wbGF0ZXMgYXMgVGVt
cGxhdGVzCiAKIGxvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdnbG9iYWwnKQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy93a2J1aWx0aW5zL3drYnVpbHRpbnMucHkg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy93a2J1aWx0aW5zL3drYnVpbHRpbnMucHkK
aW5kZXggMTU3MGFmZjE1ZDY0Li5iYTYxYmU2ZjgzNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9TY3JpcHRzL3drYnVpbHRpbnMvd2tidWlsdGlucy5weQorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvU2NyaXB0cy93a2J1aWx0aW5zL3drYnVpbHRpbnMucHkKQEAgLTEsMTUg
KzEsMTUgQEAKICMgVGhpcyBmaWxlIGlzIHVzZWQgdG8gc2ltdWxhdGUgdGhlIHdrYnVpbHRpbnMv
IGRpcmVjdG9yeSB3aGVuIGdlbmVyYXRlLWpzLWJ1aWx0aW5zLnB5CiAjIGlzIHJ1biBmcm9tIEph
dmFTY3JpcHRDb3JlIGZyYW1ld29yaydzIHByaXZhdGUgaGVhZGVycyBkaXJlY3RvcnksIHdoaWNo
IGlzIGZsYXR0ZW5lZC4KIAotZnJvbSBidWlsdGluc19tb2RlbCBpbXBvcnQgKgotZnJvbSBidWls
dGluc190ZW1wbGF0ZXMgaW1wb3J0ICoKK2Zyb20gLmJ1aWx0aW5zX21vZGVsIGltcG9ydCAqCitm
cm9tIC5idWlsdGluc190ZW1wbGF0ZXMgaW1wb3J0ICoKIAotZnJvbSBidWlsdGluc19nZW5lcmF0
b3IgaW1wb3J0ICoKLWZyb20gYnVpbHRpbnNfZ2VuZXJhdGVfY29tYmluZWRfaGVhZGVyIGltcG9y
dCAqCi1mcm9tIGJ1aWx0aW5zX2dlbmVyYXRlX2NvbWJpbmVkX2ltcGxlbWVudGF0aW9uIGltcG9y
dCAqCi1mcm9tIGJ1aWx0aW5zX2dlbmVyYXRlX3NlcGFyYXRlX2hlYWRlciBpbXBvcnQgKgotZnJv
bSBidWlsdGluc19nZW5lcmF0ZV9zZXBhcmF0ZV9pbXBsZW1lbnRhdGlvbiBpbXBvcnQgKgotZnJv
bSBidWlsdGluc19nZW5lcmF0ZV93cmFwcGVyX2hlYWRlciBpbXBvcnQgKgotZnJvbSBidWlsdGlu
c19nZW5lcmF0ZV93cmFwcGVyX2ltcGxlbWVudGF0aW9uIGltcG9ydCAqCi1mcm9tIGJ1aWx0aW5z
X2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2hlYWRlciBpbXBvcnQgKgotZnJvbSBidWlsdGlu
c19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9pbXBsZW1lbnRhdGlvbiBpbXBvcnQgKgorZnJv
bSAuYnVpbHRpbnNfZ2VuZXJhdG9yIGltcG9ydCAqCitmcm9tIC5idWlsdGluc19nZW5lcmF0ZV9j
b21iaW5lZF9oZWFkZXIgaW1wb3J0ICoKK2Zyb20gLmJ1aWx0aW5zX2dlbmVyYXRlX2NvbWJpbmVk
X2ltcGxlbWVudGF0aW9uIGltcG9ydCAqCitmcm9tIC5idWlsdGluc19nZW5lcmF0ZV9zZXBhcmF0
ZV9oZWFkZXIgaW1wb3J0ICoKK2Zyb20gLmJ1aWx0aW5zX2dlbmVyYXRlX3NlcGFyYXRlX2ltcGxl
bWVudGF0aW9uIGltcG9ydCAqCitmcm9tIC5idWlsdGluc19nZW5lcmF0ZV93cmFwcGVyX2hlYWRl
ciBpbXBvcnQgKgorZnJvbSAuYnVpbHRpbnNfZ2VuZXJhdGVfd3JhcHBlcl9pbXBsZW1lbnRhdGlv
biBpbXBvcnQgKgorZnJvbSAuYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaGVh
ZGVyIGltcG9ydCAqCitmcm9tIC5idWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9p
bXBsZW1lbnRhdGlvbiBpbXBvcnQgKgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb2RlZ2VuL21haW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvZGVnZW4vbWFpbi5w
eQppbmRleCBkNmU3YjZiNmNjMWMuLmJhN2ZiNGY2MGNhMSAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb2RlZ2VuL21haW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb2RlZ2VuL21haW4ucHkKQEAgLTI2LDYgKzI2LDcgQEAKIGltcG9ydCBvcwogaW1wb3J0IG9z
LnBhdGgKIGltcG9ydCBzaHV0aWwKK2ltcG9ydCBzeXMKIGltcG9ydCB0ZW1wZmlsZQogZnJvbSB3
ZWJraXRweS5jb21tb24uY2hlY2tvdXQuc2NtLmRldGVjdGlvbiBpbXBvcnQgZGV0ZWN0X3NjbV9z
eXN0ZW0KIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlw
dEVycm9yCkBAIC0zOCw3ICszOSw3IEBAIGNsYXNzIEJ1aWx0aW5zR2VuZXJhdG9yVGVzdHM6CiAg
ICAgICAgIHNlbGYuZXhlY3V0aXZlID0gZXhlY3V0aXZlCiAKICAgICBkZWYgZ2VuZXJhdGVfZnJv
bV9qc19idWlsdGlucyhzZWxmLCBidWlsdGluc19maWxlcywgb3V0cHV0X2RpcmVjdG9yeSwgZnJh
bWV3b3JrX25hbWU9IiIsIGNvbWJpbmVkX291dHB1dHM9RmFsc2UsIGdlbmVyYXRlX3dyYXBwZXJz
PUZhbHNlKToKLSAgICAgICAgY21kID0gWydweXRob24nLAorICAgICAgICBjbWQgPSBbc3lzLmV4
ZWN1dGFibGUsCiAgICAgICAgICAgICAgICAnSmF2YVNjcmlwdENvcmUvU2NyaXB0cy9nZW5lcmF0
ZS1qcy1idWlsdGlucy5weScsCiAgICAgICAgICAgICAgICAnLS1vdXRwdXQtZGlyZWN0b3J5Jywg
b3V0cHV0X2RpcmVjdG9yeSwKICAgICAgICAgICAgICAgICctLWZvcmNlJywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439571</attachid>
            <date>2021-09-28 23:26:59 -0700</date>
            <delta_ts>2021-09-30 13:13:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230870-20210929152657.patch</filename>
            <type>text/plain</type>
            <size>4153</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NTBjNDlhMTU2Y2NmNTkyZDFlYjA4NmE3YmRjMmM2YWY0ZGZkMjhhLi4yMzBhNGM4YmUyZDM0YTVl
YzdjNTVlMTFkNGFiMzE2MWU2ODM1YzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAyMS0wOS0yOCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBQeXRob24gMyBmYWlscyB0byBydW4gcnVuLWJ1aWx0aW5zLWdl
bmVyYXRvci10ZXN0cyA6IE1vZHVsZU5vdEZvdW5kRXJyb3I6IE5vIG1vZHVsZSBuYW1lZCAnYnVp
bHRpbnNfbW9kZWwnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzA4NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBCYXNlRXhjZXB0aW9uLm1lc3NhZ2UgaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiBQeXRo
b24gMi42LiBVc2UKKyAgICAgICAgc3RyKGUpIGluc3RlYWQuCisKKyAgICAgICAgSW1wbGljaXQg
cmVsYXRpdmUgaW1wb3J0cyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBpbiBQeXRob24gMy4KKyAgICAg
ICAgQmFzaWNhbGx5LCByZWxhdGl2ZSBpbXBvcnRzIHNob3VsZCBiZSB1c2VkLiBIb3dldmVyLCB0
aGUgc2NyaXB0cworICAgICAgICBpbiB3a2J1aWx0aW5zIGRpcmVjdG9yeSBhcmUgZmxhdHRlbmVk
IHdoZW4gdGhleSBhcmUgY29waWVkIHRvCisgICAgICAgIFdlYktpdEJ1aWxkIGRpcmVjdG9yeS4g
U28sIHJlbGF0aXZlIGltcG9ydHMgY2FuJ3QgYmUgdXNlZC4KKworICAgICAgICBTbywgYXBwZW5k
IHdrYnVpbHRpbnMgZGlyZWN0b3J5IHRvIHN5cy5wYXRoIGFzIGEgd29ya2Fyb3VuZC4KKworICAg
ICAgICAqIFNjcmlwdHMvZ2VuZXJhdGUtanMtYnVpbHRpbnMucHk6CisKIDIwMjEtMDktMjggIFNh
YW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgRG9lc0dDQ2hlY2sgZG9l
cyBub3QgdXNlIGVub3VnaCBiaXRzIGZvciBub2RlSW5kZXgKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9TY3JpcHRzL2dlbmVyYXRlLWpzLWJ1aWx0aW5zLnB5IGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL1NjcmlwdHMvZ2VuZXJhdGUtanMtYnVpbHRpbnMucHkKaW5kZXggNTFjNmJl
YWQzYjA3MmQwZGVjNGE3NzRhZTI4YTg4YjZkZWJiZWIyMy4uYmM2NzcxMmYzOGQyZTZlNDIwODMw
ZjE2NjliOTQwOGRhNzFjMDdlOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1Nj
cmlwdHMvZ2VuZXJhdGUtanMtYnVpbHRpbnMucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L1NjcmlwdHMvZ2VuZXJhdGUtanMtYnVpbHRpbnMucHkKQEAgLTMzLDYgKzMzLDggQEAgaW1wb3J0
IG9wdHBhcnNlCiBpbXBvcnQgb3MKIGltcG9ydCBzeXMKIAorc3lzLnBhdGguYXBwZW5kKG9zLnBh
dGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnd2tidWlsdGlucycpKQorCiBsb2dn
aW5nLmJhc2ljQ29uZmlnKGZvcm1hdD0nJShsZXZlbG5hbWUpczogJShtZXNzYWdlKXMnLCBsZXZl
bD1sb2dnaW5nLkVSUk9SKQogbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2dsb2JhbCcpCiAKQEAg
LTE3OCw2ICsxODAsNiBAQCBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgICAgICBnZW5l
cmF0ZV9iaW5kaW5nc19mb3JfYnVpbHRpbnNfZmlsZXMoYnVpbHRpbnNfZmlsZXM9aW5wdXRfZmls
ZXBhdGhzLCAqKm9wdGlvbnMpCiAgICAgZXhjZXB0IFBhcnNlRXhjZXB0aW9uIGFzIGU6CiAgICAg
ICAgIGlmIGFyZ19vcHRpb25zLnRlc3Q6Ci0gICAgICAgICAgICBsb2cuZXJyb3IoZS5tZXNzYWdl
KQorICAgICAgICAgICAgbG9nLmVycm9yKHN0cihlKSkKICAgICAgICAgZWxzZToKICAgICAgICAg
ICAgIHJhaXNlICAjIEZvcmNlIHRoZSBidWlsZCB0byBmYWlsLgpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGIzNDQxOTNmYTAwYTI0MDI4ODU1NWMx
MWQ0NDBiZWE3MDZlYWRhYjcuLmI3NWQyNjgxNzM1NzczY2Y4ZGU4Yjg0YzU1MTU1NGI3MjQ0OGIy
MTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMyBAQAorMjAyMS0wOS0yOCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWpp
aUBzb255LmNvbT4KKworICAgICAgICBQeXRob24gMyBmYWlscyB0byBydW4gcnVuLWJ1aWx0aW5z
LWdlbmVyYXRvci10ZXN0cyA6IE1vZHVsZU5vdEZvdW5kRXJyb3I6IE5vIG1vZHVsZSBuYW1lZCAn
YnVpbHRpbnNfbW9kZWwnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzA4NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZnRlciByMjgyNDI0IChCdWcgMjI5ODc5KSBzd2l0Y2hlZCB0byBweXRob24zIGZv
ciBydW5uaW5nCisgICAgICAgIHJ1bi1idWlsdGlucy1nZW5lcmF0b3ItdGVzdHMgb24gQnVpbGRi
b3QsIG9ubHkgV2luQ2Fpcm8gYnVpbGRib3QKKyAgICAgICAgd2FzIGZhaWxpbmcgcnVuLWJ1aWx0
aW5zLWdlbmVyYXRvci10ZXN0cy4KKworICAgICAgICBydW4tYnVpbHRpbnMtZ2VuZXJhdG9yLXRl
c3RzIHdhcyBpbnZva2luZyBnZW5lcmF0ZS1qcy1idWlsdGlucy5weQorICAgICAgICBleHBsaWN0
bHkgd2l0aCAncHl0aG9uJy4gVGhpcyBpcyBQeXRob24gMiBvbiBvdGhlciBib3RzLgorCisgICAg
ICAgIFVzZSBzeXMuZXhlY3V0YWJsZSBpbnN0ZWFkIG9mICdweXRob24nIHRvIGludm9rZQorICAg
ICAgICBnZW5lcmF0ZS1qcy1idWlsdGlucy5weS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvY29kZWdlbi9tYWluLnB5OgorICAgICAgICAoQnVpbHRpbnNHZW5lcmF0b3JUZXN0cy5nZW5l
cmF0ZV9mcm9tX2pzX2J1aWx0aW5zKToKKwogMjAyMS0wOS0yOCAgQkogQnVyZyAgPGJidXJnQGFw
cGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIEFkZCBTUEkgdG8gc2VsZWN0IGEgdGFiIGNyZWF0
ZWQgYnkgX1dLSW5zcGVjdG9yRXh0ZW5zaW9uCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvZGVnZW4vbWFpbi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29kZWdlbi9t
YWluLnB5CmluZGV4IGQ2ZTdiNmI2Y2MxYzE2ZTM0ZDExYjU5MzYxNGUwOTc2NzhhNmJmZTAuLmJh
N2ZiNGY2MGNhMWFjYWVhMWYxNWI5MWExOWVkNzI2NmZmMWI3MDQgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29kZWdlbi9tYWluLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29kZWdlbi9tYWluLnB5CkBAIC0yNiw2ICsyNiw3IEBACiBpbXBvcnQgb3MKIGltcG9y
dCBvcy5wYXRoCiBpbXBvcnQgc2h1dGlsCitpbXBvcnQgc3lzCiBpbXBvcnQgdGVtcGZpbGUKIGZy
b20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LnNjbS5kZXRlY3Rpb24gaW1wb3J0IGRldGVjdF9z
Y21fc3lzdGVtCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBT
Y3JpcHRFcnJvcgpAQCAtMzgsNyArMzksNyBAQCBjbGFzcyBCdWlsdGluc0dlbmVyYXRvclRlc3Rz
OgogICAgICAgICBzZWxmLmV4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZQogCiAgICAgZGVmIGdlbmVyYXRl
X2Zyb21fanNfYnVpbHRpbnMoc2VsZiwgYnVpbHRpbnNfZmlsZXMsIG91dHB1dF9kaXJlY3Rvcnks
IGZyYW1ld29ya19uYW1lPSIiLCBjb21iaW5lZF9vdXRwdXRzPUZhbHNlLCBnZW5lcmF0ZV93cmFw
cGVycz1GYWxzZSk6Ci0gICAgICAgIGNtZCA9IFsncHl0aG9uJywKKyAgICAgICAgY21kID0gW3N5
cy5leGVjdXRhYmxlLAogICAgICAgICAgICAgICAgJ0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvZ2Vu
ZXJhdGUtanMtYnVpbHRpbnMucHknLAogICAgICAgICAgICAgICAgJy0tb3V0cHV0LWRpcmVjdG9y
eScsIG91dHB1dF9kaXJlY3RvcnksCiAgICAgICAgICAgICAgICAnLS1mb3JjZScsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>