<?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>223920</bug_id>
          
          <creation_ts>2021-03-30 04:34:02 -0700</creation_ts>
          <short_desc>Crash in webgl/1.0.x/conformance/textures/misc/texture-with-flip-y-and-premultiply-alpha.html</short_desc>
          <delta_ts>2021-08-03 01:35:15 -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>WebGL</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>222812</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>kpiddington</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1745078</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-30 04:34:02 -0700</bug_when>
    <thetext>Crash in webgl/1.0.x/conformance/textures/misc/texture-with-flip-y-and-premultiply-alpha.html ANGLE+METAL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745079</commentid>
    <comment_count>1</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-30 04:36:21 -0700</bug_when>
    <thetext>
With skip changed from 2.0.y -&gt; 2.0.0, 1.0.x -&gt; 1.0.3

../Internal/Tools/Scripts/run-webkit-tests --debug --no-build --order=random   fast/canvas webgl --timeout=300000


Process:               com.apple.WebKit.WebContent.Development [15487]
Path:                  /Users/USER/*/com.apple.WebKit.WebContent.Development
Identifier:            com.apple.WebKit.WebContent
Version:               612+ (612.1.9+)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           WebKitTestRunner [15484]
User ID:               501

PlugIn Path:             /Users/USER/*/libANGLE-shared.dylib
PlugIn Identifier:       libANGLE-shared.dylib
PlugIn Version:          ??? (0)

Date/Time:             2021-03-30 14:30:12.603 +0300
OS Version:            macOS 11.3 (20E201)
Report Version:        12
Bridge OS Version:     5.3 (18P4544)
Anonymous UUID:        ADEB2724-109F-6379-8A4B-657A6A37BBA8

Sleep/Wake UUID:       D48EB9D4-6C73-426F-AF12-26DC79BB8DC1

Time Awake Since Boot: 110000 seconds
Time Since Wake:       5900 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes:       0x0000000000000001, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Illegal instruction: 4
Termination Reason:    Namespace SIGNAL, Code 0x4
Terminating Process:   exc handler [15487]

Application Specific Information:
CRASHING TEST: webgl/1.0.x/conformance/ogles/GL/build/build_009_to_016.html

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libANGLE-shared.dylib         	0x00000007f5b411de gl::LogMessage::~LogMessage() + 238 (debug.cpp:199)
1   libANGLE-shared.dylib         	0x00000007f5b40ab5 gl::LogMessage::~LogMessage() + 21 (debug.cpp:175)
2   libANGLE-shared.dylib         	0x00000007f611ce4c (anonymous namespace)::Separator::visitDeclarationPost(sh::TIntermDeclaration&amp;) + 668 (SeparateCompoundExpressions.cpp:334)
3   libANGLE-shared.dylib         	0x00000007f5e1cb2b sh::TIntermRebuild::traversePost(sh::NodeType, sh::TIntermNode const&amp;, sh::TIntermNode&amp;, sh::TIntermRebuild::VisitBits) + 1755 (IntermRebuild.cpp:511)
4   libANGLE-shared.dylib         	0x00000007f5e1b1b9 sh::TIntermRebuild::traverseAny(sh::TIntermNode&amp;) + 585 (IntermRebuild.cpp:328)
5   libANGLE-shared.dylib         	0x00000007f5e1b4d9 sh::TIntermRebuild::traverseAggregateBaseChildren(sh::TIntermAggregateBase&amp;) + 761 (IntermRebuild.cpp:266)
6   libANGLE-shared.dylib         	0x00000007f5e1e5c6 sh::TIntermRebuild::traverseBlockChildren(sh::TIntermBlock&amp;) + 38 (IntermRebuild.cpp:532)
7   libANGLE-shared.dylib         	0x00000007f5e1c305 sh::TIntermRebuild::traverseChildren(sh::NodeType, sh::TIntermNode const&amp;, sh::TIntermNode&amp;, sh::TIntermRebuild::VisitBits) + 1093 (IntermRebuild.cpp:438)
8   libANGLE-shared.dylib         	0x00000007f5e1b15e sh::TIntermRebuild::traverseAny(sh::TIntermNode&amp;) + 494 (IntermRebuild.cpp:322)
9   libANGLE-shared.dylib         	0x00000007f5e1f151 sh::TIntermBlock* sh::TIntermRebuild::traverseAnyAs&lt;sh::TIntermBlock&gt;(sh::TIntermNode&amp;) + 33 (IntermRebuild.cpp:233)
10  libANGLE-shared.dylib         	0x00000007f5e1e47c sh::TIntermRebuild::traverseFunctionDefinitionChildren(sh::TIntermFunctionDefinition&amp;) + 796 (IntermRebuild.cpp:736)
11  libANGLE-shared.dylib         	0x00000007f5e1c2a7 sh::TIntermRebuild::traverseChildren(sh::NodeType, sh::TIntermNode const&amp;, sh::TIntermNode&amp;, sh::TIntermRebuild::VisitBits) + 999 (IntermRebuild.cpp:434)
12  libANGLE-shared.dylib         	0x00000007f5e1b15e sh::TIntermRebuild::traverseAny(sh::TIntermNode&amp;) + 494 (IntermRebuild.cpp:322)
13  libANGLE-shared.dylib         	0x00000007f5e1b4d9 sh::TIntermRebuild::traverseAggregateBaseChildren(sh::TIntermAggregateBase&amp;) + 761 (IntermRebuild.cpp:266)
14  libANGLE-shared.dylib         	0x00000007f5e1e5c6 sh::TIntermRebuild::traverseBlockChildren(sh::TIntermBlock&amp;) + 38 (IntermRebuild.cpp:532)
15  libANGLE-shared.dylib         	0x00000007f5e1c305 sh::TIntermRebuild::traverseChildren(sh::NodeType, sh::TIntermNode const&amp;, sh::TIntermNode&amp;, sh::TIntermRebuild::VisitBits) + 1093 (IntermRebuild.cpp:438)
16  libANGLE-shared.dylib         	0x00000007f5e1b15e sh::TIntermRebuild::traverseAny(sh::TIntermNode&amp;) + 494 (IntermRebuild.cpp:322)
17  libANGLE-shared.dylib         	0x00000007f5e1f151 sh::TIntermBlock* sh::TIntermRebuild::traverseAnyAs&lt;sh::TIntermBlock&gt;(sh::TIntermNode&amp;) + 33 (IntermRebuild.cpp:233)
18  libANGLE-shared.dylib         	0x00000007f5e1ae00 bool sh::TIntermRebuild::rebuildInPlaceImpl&lt;sh::TIntermBlock&gt;(sh::TIntermBlock&amp;) + 32 (IntermRebuild.cpp:209)
19  libANGLE-shared.dylib         	0x00000007f5e1ad0d sh::TIntermRebuild::rebuildInPlace(sh::TIntermBlock&amp;) + 29 (IntermRebuild.cpp:198)
20  libANGLE-shared.dylib         	0x00000007f5e1acb4 sh::TIntermRebuild::rebuildRoot(sh::TIntermBlock&amp;) + 36 (IntermRebuild.cpp:184)
21  libANGLE-shared.dylib         	0x00000007f6118df4 sh::SeparateCompoundExpressions(sh::TCompiler&amp;, sh::SymbolEnv&amp;, sh::IdGen&amp;, sh::TIntermBlock&amp;) + 260 (SeparateCompoundExpressions.cpp:649)
22  libANGLE-shared.dylib         	0x00000007f622fe85 sh::TranslatorMetalDirect::translateImpl(sh::TIntermBlock&amp;, unsigned long long) + 6149 (TranslatorMetalDirect.cpp:1475)
23  libANGLE-shared.dylib         	0x00000007f6232c0c sh::TranslatorMetalDirect::translate(sh::TIntermBlock*, unsigned long long, sh::PerformanceDiagnostics*) + 316 (TranslatorMetalDirect.cpp:1552)
24  libANGLE-shared.dylib         	0x00000007f5a70efe sh::TCompiler::compile(char const* const*, unsigned long, unsigned long long) + 286 (Compiler.cpp:981)
25  libANGLE-shared.dylib         	0x00000007f61492a4 sh::Compile(void*, char const* const*, unsigned long, unsigned long long) + 340 (ShaderLang.cpp:336)
26  libANGLE-shared.dylib         	0x00000007f614716a rx::TranslateTask::operator()() + 266 (ShaderImpl.cpp:52)
27  libANGLE-shared.dylib         	0x00000007f62f4f3f angle::SingleThreadedWorkerPool::postWorkerTask(std::__1::shared_ptr&lt;angle::Closure&gt;) + 47 (WorkerThread.cpp:68)
28  libANGLE-shared.dylib         	0x00000007f62f62a4 angle::WorkerThreadPool::PostWorkerTask(std::__1::shared_ptr&lt;angle::WorkerThreadPool&gt;, std::__1::shared_ptr&lt;angle::Closure&gt;) + 84 (WorkerThread.cpp:348)
29  libANGLE-shared.dylib         	0x00000007f614c5c7 rx::ShaderMtl::compileImplMtl(gl::Context const*, gl::ShCompilerInstance*, std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt; const&amp;, unsigned long long) + 263 (ShaderMtl.mm:97)
30  libANGLE-shared.dylib         	0x00000007f614ca70 rx::ShaderMtl::compile(gl::Context const*, gl::ShCompilerInstance*, unsigned long long) + 464 (ShaderMtl.mm:140)
31  libANGLE-shared.dylib         	0x00000007f612ea3f gl::Shader::compile(gl::Context const*) + 1663 (Shader.cpp:367)
32  libANGLE-shared.dylib         	0x00000007f5aaec19 gl::Context::compileShader(gl::ShaderProgramID) + 73 (Context.cpp:6183)
33  libANGLE-shared.dylib         	0x00000007f5c03a96 gl::CompileShader(unsigned int) + 134 (entry_points_gles_2_0_autogen.cpp:541)
34  com.apple.WebCore             	0x00000007d0d64794 WebCore::GraphicsContextGLOpenGL::compileShader(unsigned int) + 148 (GraphicsContextGLANGLE.cpp:917)
35  com.apple.WebCore             	0x00000007d40682de WebCore::WebGLRenderingContextBase::compileShader(WebCore::WebGLShader&amp;) + 126 (WebGLRenderingContextBase.cpp:1752)
36  com.apple.WebCore             	0x00000007d22555c2 WebCore::jsWebGLRenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGLRenderingContext*)::&apos;lambda&apos;()::operator()() const + 34 (JSWebGLRenderingContext.cpp:5015)
37  com.apple.WebCore             	0x00000007d225542d JSC::JSValue WebCore::toJS&lt;WebCore::IDLUndefined, WebCore::jsWebGLRenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGLRenderingContext*)::&apos;lambda&apos;()&gt;(JSC::JSGlobalObject&amp;, JSC::ThrowScope&amp;, WebCore::jsWebGLRenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGLRenderingContext*)::&apos;lambda&apos;()&amp;&amp;) + 29 (JSDOMConvertBase.h:165)
38  com.apple.WebCore             	0x00000007d225534c WebCore::jsWebGLRenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGLRenderingContext*) + 812 (JSWebGLRenderingContext.cpp:5015)
39  com.apple.WebCore             	0x00000007d2254fec long long WebCore::IDLOperation&lt;WebCore::JSWebGLRenderingContext&gt;::call&lt;&amp;(WebCore::jsWebGLRenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGLRenderingContext*)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::JSGlobalObject&amp;, JSC::CallFrame&amp;, char const*) + 700 (JSDOMOperation.h:55)
40  com.apple.WebCore             	0x00000007d22478c4 WebCore::jsWebGLRenderingContextPrototypeFunction_compileShader(JSC::JSGlobalObject*, JSC::CallFrame*) + 36 (JSWebGLRenderingContext.cpp:5020)
41  ???                           	0x0000438e90a011d8 0 + 74279590826456
42  com.apple.JavaScriptCore      	0x00000007ee777a45 llint_entry + 138563 (LowLevelInterpreter.asm:1093)
43  com.apple.JavaScriptCore      	0x00000007ee777a45 llint_entry + 138563 (LowLevelInterpreter.asm:1093)
44  com.apple.JavaScriptCore      	0x00000007ee777a45 llint_entry + 138563 (LowLevelInterpreter.asm:1093)
45  com.apple.JavaScriptCore      	0x00000007ee755a10 vmEntryToJavaScript + 289 (LowLevelInterpreter64.asm:316)
46  com.apple.JavaScriptCore      	0x00000007ef618e3b JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 235 (JITCodeInlines.h:42)
47  com.apple.JavaScriptCore      	0x00000007ef6195f7 JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 1815 (Interpreter.cpp:907)
48  com.apple.JavaScriptCore      	0x00000007ef9878ad JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 221 (CallData.cpp:57)
49  com.apple.JavaScriptCore      	0x00000007ef98798f JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 207 (CallData.cpp:64)
50  com.apple.JavaScriptCore      	0x00000007ef987c72 JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 130 (CallData.cpp:85)
51  com.apple.WebCore             	0x00000007d3335cae WebCore::JSExecState::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 110 (JSExecState.h:73)
52  com.apple.WebCore             	0x00000007d3353c2b WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&amp;, WebCore::Event&amp;) + 2171 (JSEventListener.cpp:186)
53  com.apple.WebCore             	0x00000007d3a79147 WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&amp;, WTF::Vector&lt;WTF::RefPtr&lt;WebCore::RegisteredEventListener, WTF::RawPtrTraits&lt;WebCore::RegisteredEventListener&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::RegisteredEventListener&gt; &gt;, 1ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;, WebCore::EventTarget::EventInvokePhase) + 1063 (EventTarget.cpp:344)
54  com.apple.WebCore             	0x00000007d3a78ba4 WebCore::EventTarget::fireEventListeners(WebCore::Event&amp;, WebCore::EventTarget::EventInvokePhase) + 356 (EventTarget.cpp:276)
55  com.apple.WebCore             	0x00000007d3a78a25 WebCore::EventTarget::dispatchEvent(WebCore::Event&amp;) + 357 (EventTarget.cpp:234)
56  com.apple.WebCore             	0x00000007d59d896b WebCore::XMLHttpRequest::dispatchEvent(WebCore::Event&amp;) + 347 (XMLHttpRequest.cpp:1079)
57  com.apple.WebCore             	0x00000007d59d9312 WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventWhenPossible(WebCore::Event&amp;) + 114 (XMLHttpRequestProgressEventThrottle.cpp:86)
58  com.apple.WebCore             	0x00000007d59d2c1b WebCore::XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent(WebCore::Event&amp;, WebCore::ProgressEventAction) + 59 (XMLHttpRequestProgressEventThrottle.cpp:78)
59  com.apple.WebCore             	0x00000007d59d2b5c WebCore::XMLHttpRequest::callReadyStateChangeListener() + 284 (XMLHttpRequest.cpp:313)
60  com.apple.WebCore             	0x00000007d59d2906 WebCore::XMLHttpRequest::changeState(WebCore::XMLHttpRequest::State) + 246 (XMLHttpRequest.cpp:300)
61  com.apple.WebCore             	0x00000007d59d79cf WebCore::XMLHttpRequest::didFinishLoading(unsigned long) + 287 (XMLHttpRequest.cpp:928)
62  com.apple.WebCore             	0x00000007d44ff463 WebCore::DocumentThreadableLoader::didFinishLoading(unsigned long) + 1043 (DocumentThreadableLoader.cpp:496)
63  com.apple.WebCore             	0x00000007d44fee5f WebCore::DocumentThreadableLoader::notifyFinished(WebCore::CachedResource&amp;, WebCore::NetworkLoadMetrics const&amp;) + 383 (DocumentThreadableLoader.cpp:468)
64  com.apple.WebCore             	0x00000007d46377ba WebCore::CachedResource::checkNotify(WebCore::NetworkLoadMetrics const&amp;) + 138 (CachedResource.cpp:379)
65  com.apple.WebCore             	0x00000007d46332ac WebCore::CachedResource::finishLoading(WebCore::SharedBuffer*, WebCore::NetworkLoadMetrics const&amp;) + 60 (CachedResource.cpp:395)
66  com.apple.WebCore             	0x00000007d463482c WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*, WebCore::NetworkLoadMetrics const&amp;) + 332 (CachedRawResource.cpp:123)
67  com.apple.WebCore             	0x00000007d45badb4 WebCore::SubresourceLoader::didFinishLoading(WebCore::NetworkLoadMetrics const&amp;) + 1684 (SubresourceLoader.cpp:736)
68  com.apple.WebKit              	0x00000007c1d7d64a WebKit::WebResourceLoader::didFinishResourceLoad(WebCore::NetworkLoadMetrics const&amp;) + 778 (WebResourceLoader.cpp:227)
69  com.apple.WebKit              	0x00000007c2378e30 void IPC::callMemberFunctionImpl&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;), std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;, 0ul&gt;(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;), std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt;) + 160 (HandleMessage.h:43)
70  com.apple.WebKit              	0x00000007c2378d80 void IPC::callMemberFunction&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;), std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt; &gt;(std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;&amp;&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;)) + 112 (HandleMessage.h:49)
71  com.apple.WebKit              	0x00000007c2376b2e void IPC::handleMessage&lt;Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;)) + 190 (HandleMessage.h:121)
72  com.apple.WebKit              	0x00000007c237649e WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 494 (WebResourceLoaderMessageReceiver.cpp:56)
73  com.apple.WebKit              	0x00000007c1d3e930 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 144 (NetworkProcessConnection.cpp:94)
74  com.apple.WebKit              	0x00000007c0084024 IPC::Connection::dispatchMessage(IPC::Decoder&amp;) + 516 (Connection.cpp:1020)
75  com.apple.WebKit              	0x00000007c00847ec IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) + 636 (Connection.cpp:1065)
76  com.apple.WebKit              	0x00000007c0084e10 IPC::Connection::dispatchOneIncomingMessage() + 208 (Connection.cpp:1134)
77  com.apple.WebKit              	0x00000007c00a3368 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_9::operator()() + 88 (Connection.cpp:989)
78  com.apple.WebKit              	0x00000007c00a325e WTF::Detail::CallableWrapper&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_9, void&gt;::call() + 30 (Function.h:52)
79  com.apple.JavaScriptCore      	0x00000007ee1aec62 WTF::Function&lt;void ()&gt;::operator()() const + 130 (Function.h:83)
80  com.apple.JavaScriptCore      	0x00000007ee226de5 WTF::RunLoop::performWork() + 341 (RunLoop.cpp:133)
81  com.apple.JavaScriptCore      	0x00000007ee22a761 WTF::RunLoop::performWork(void*) + 33 (RunLoopCF.cpp:46)
82  com.apple.CoreFoundation      	0x00007fff2045be2c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
83  com.apple.CoreFoundation      	0x00007fff2045bd94 __CFRunLoopDoSource0 + 180
84  com.apple.CoreFoundation      	0x00007fff2045bb14 __CFRunLoopDoSources0 + 242
85  com.apple.CoreFoundation      	0x00007fff2045a53c __CFRunLoopRun + 893
86  com.apple.CoreFoundation      	0x00007fff20459afc CFRunLoopRunSpecific + 563
87  com.apple.Foundation          	0x00007fff211e3bb7 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
88  com.apple.Foundation          	0x00007fff21271a81 -[NSRunLoop(NSRunLoop) run] + 76
89  libxpc.dylib                  	0x00007fff200b138d _xpc_objc_main + 825
90  libxpc.dylib                  	0x00007fff200b0cd3 xpc_main + 116
91  com.apple.WebKit              	0x00000007c0d628e1 WebKit::XPCServiceMain(int, char const**) + 1025 (XPCServiceMain.mm:209)
92  com.apple.WebKit              	0x00000007c2404c6b WKXPCServiceMain + 27 (WKMain.mm:33)
93  com.apple.WebKit.WebContent   	0x0000000104b6aea2 main + 34 (AuxiliaryProcessMain.cpp:30)
94  libdyld.dylib                 	0x00007fff2037df3d start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745083</commentid>
    <comment_count>2</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-30 04:48:15 -0700</bug_when>
    <thetext>Skip the previous comment, it was of wrong crash.

This one is:


Process:               com.apple.WebKit.WebContent.Development [86645]
Path:                  /Users/USER/*/com.apple.WebKit.WebContent.Development
Identifier:            com.apple.WebKit.WebContent
Version:               612+ (612.1.9+)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
User ID:               501

Date/Time:             2021-03-30 14:21:48.603 +0300
OS Version:            macOS 11.3 (20E201)
Report Version:        12
Bridge OS Version:     5.3 (18P4544)
Anonymous UUID:        ADEB2724-109F-6379-8A4B-657A6A37BBA8

Sleep/Wake UUID:       D48EB9D4-6C73-426F-AF12-26DC79BB8DC1

Time Awake Since Boot: 110000 seconds
Time Since Wake:       5400 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x00000000bbadbeef
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [86645]

VM Regions Near 0xbbadbeef:
--&gt; 
    __TEXT                      108c0e000-108c12000    [   16K] r-x/r-x SM=COW  /Users/*/*.Development

Application Specific Information:
CRASHING TEST: webgl/1.0.x/conformance/textures/misc/texture-with-flip-y-and-premultiply-alpha.html

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x00000001420346ae WTFCrash + 14 (Assertions.cpp:295)
1   com.apple.WebCore             	0x0000000125013e4b WTFCrashWithInfo(int, char const*, char const*, int) + 27 (Assertions.h:671)
2   com.apple.WebCore             	0x000000012900f464 WebCore::getDataFormat(unsigned int, unsigned int) + 1364 (GraphicsContextGL.cpp:136)
3   com.apple.WebCore             	0x000000012900ecbd WebCore::GraphicsContextGL::extractTextureData(unsigned int, unsigned int, unsigned int, unsigned int, WebCore::GraphicsContextGL::PixelStoreParams const&amp;, bool, bool, void const*, WTF::Vector&lt;unsigned char, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;) + 77 (GraphicsContextGL.cpp:791)
4   com.apple.WebCore             	0x000000012857f5d9 WebCore::WebGLRenderingContextBase::texImageArrayBufferViewHelper(WebCore::WebGLRenderingContextBase::TexImageFunctionID, unsigned int, int, int, int, int, int, int, unsigned int, unsigned int, int, int, int, WTF::RefPtr&lt;JSC::ArrayBufferView, WTF::RawPtrTraits&lt;JSC::ArrayBufferView&gt;, WTF::DefaultRefDerefTraits&lt;JSC::ArrayBufferView&gt; &gt;&amp;&amp;, WebCore::WebGLRenderingContextBase::NullDisposition, unsigned int) + 1529 (WebGLRenderingContextBase.cpp:4981)
5   com.apple.WebCore             	0x00000001285816fc WebCore::WebGLRenderingContextBase::texImage2D(unsigned int, int, unsigned int, int, int, int, unsigned int, unsigned int, WTF::RefPtr&lt;JSC::ArrayBufferView, WTF::RawPtrTraits&lt;JSC::ArrayBufferView&gt;, WTF::DefaultRefDerefTraits&lt;JSC::ArrayBufferView&gt; &gt;&amp;&amp;) + 268 (WebGLRenderingContextBase.cpp:5226)
6   com.apple.WebCore             	0x00000001267614e1 WebCore::jsWebGLRenderingContextPrototypeFunction_texImage2D1Body(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGLRenderingContext*)::&apos;lambda&apos;()::operator()() const + 241 (JSWebGLRenderingContext.cpp:5062)
7   com.apple.WebCore             	0x000000012676110d JSC::JSValue WebCore::toJS&lt;WebCore::IDLUndefined, WebCore::jsWebGLRenderingContextPrototypeFunction_texImage2D1Body(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGLRenderingContext*)::&apos;lambda&apos;()&gt;(JSC::JSGlobalObject&amp;, JSC::ThrowScope&amp;, WebCore::jsWebGLRenderingContextPrototypeFunction_texImage2D1Body(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGLRenderingContext*)::&apos;lambda&apos;()&amp;&amp;) + 29 (JSDOMConvertBase.h:165)
8   com.apple.WebCore             	0x0000000126760dcd WebCore::jsWebGLRenderingContextPrototypeFunction_texImage2D1Body(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGLRenderingContext*) + 2733 (JSWebGLRenderingContext.cpp:5062)
9   com.apple.WebCore             	0x000000012675f9eb WebCore::jsWebGLRenderingContextPrototypeFunction_texImage2DOverloadDispatcher(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGLRenderingContext*) + 299 (JSWebGLRenderingContext.cpp:5116)
10  com.apple.WebCore             	0x000000012675f88c long long WebCore::IDLOperation&lt;WebCore::JSWebGLRenderingContext&gt;::call&lt;&amp;(WebCore::jsWebGLRenderingContextPrototypeFunction_texImage2DOverloadDispatcher(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGLRenderingContext*)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::JSGlobalObject&amp;, JSC::CallFrame&amp;, char const*) + 700 (JSDOMOperation.h:55)
11  com.apple.WebCore             	0x00000001267518f4 WebCore::jsWebGLRenderingContextPrototypeFunction_texImage2D(JSC::JSGlobalObject*, JSC::CallFrame*) + 36 (JSWebGLRenderingContext.cpp:5124)
12  ???                           	0x000054c3eb0011d8 0 + 93200438006232
13  com.apple.JavaScriptCore      	0x000000014262599d llint_entry + 138395 (LowLevelInterpreter.asm:1093)
14  com.apple.JavaScriptCore      	0x0000000142625a45 llint_entry + 138563 (LowLevelInterpreter.asm:1093)
15  com.apple.JavaScriptCore      	0x0000000142603a10 vmEntryToJavaScript + 289 (LowLevelInterpreter64.asm:316)
16  com.apple.JavaScriptCore      	0x00000001434c6e3b JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 235 (JITCodeInlines.h:42)
17  com.apple.JavaScriptCore      	0x00000001434c6398 JSC::Interpreter::executeProgram(JSC::SourceCode const&amp;, JSC::JSGlobalObject*, JSC::JSObject*) + 6600 (Interpreter.cpp:839)
18  com.apple.JavaScriptCore      	0x00000001438a4b17 JSC::evaluate(JSC::JSGlobalObject*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 567 (Completion.cpp:137)
19  com.apple.JavaScriptCore      	0x00000001438a4c6a JSC::profiledEvaluate(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 74 (Completion.cpp:152)
20  com.apple.WebCore             	0x00000001278efebc WebCore::JSExecState::profiledEvaluate(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 76 (JSExecState.h:79)
21  com.apple.WebCore             	0x00000001278efa9e WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;) + 398 (ScriptController.cpp:148)
22  com.apple.WebCore             	0x00000001278ef8c9 WebCore::ScriptController::evaluateInWorldIgnoringException(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;) + 41 (ScriptController.cpp:121)
23  com.apple.WebCore             	0x00000001278f01c5 WebCore::ScriptController::evaluateIgnoringException(WebCore::ScriptSourceCode const&amp;) + 53 (ScriptController.cpp:167)
24  com.apple.WebCore             	0x000000012804cb76 WebCore::ScriptElement::executeClassicScript(WebCore::ScriptSourceCode const&amp;) + 1478 (ScriptElement.cpp:405)
25  com.apple.WebCore             	0x000000012804ab8b WebCore::ScriptElement::prepareScript(WTF::TextPosition const&amp;, WebCore::ScriptElement::LegacyTypeSupport) + 2699 (ScriptElement.cpp:271)
26  com.apple.WebCore             	0x00000001285dfc76 WebCore::HTMLScriptRunner::runScript(WebCore::ScriptElement&amp;, WTF::TextPosition const&amp;) + 390 (HTMLScriptRunner.cpp:250)
27  com.apple.WebCore             	0x00000001285dfa77 WebCore::HTMLScriptRunner::execute(WTF::Ref&lt;WebCore::ScriptElement, WTF::RawPtrTraits&lt;WebCore::ScriptElement&gt; &gt;&amp;&amp;, WTF::TextPosition const&amp;) + 71 (HTMLScriptRunner.cpp:140)
28  com.apple.WebCore             	0x00000001285be181 WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() + 897 (HTMLDocumentParser.cpp:244)
29  com.apple.WebCore             	0x00000001285be605 WebCore::HTMLDocumentParser::pumpTokenizerLoop(WebCore::HTMLDocumentParser::SynchronousMode, bool, WebCore::PumpSession&amp;) + 133 (HTMLDocumentParser.cpp:263)
30  com.apple.WebCore             	0x00000001285bd97f WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) + 495 (HTMLDocumentParser.cpp:322)
31  com.apple.WebCore             	0x00000001285bd116 WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode) + 198 (HTMLDocumentParser.cpp:196)
32  com.apple.WebCore             	0x00000001285bf3b4 WebCore::HTMLDocumentParser::append(WTF::RefPtr&lt;WTF::StringImpl, WTF::RawPtrTraits&lt;WTF::StringImpl&gt;, WTF::DefaultRefDerefTraits&lt;WTF::StringImpl&gt; &gt;&amp;&amp;) + 548 (HTMLDocumentParser.cpp:437)
33  com.apple.WebCore             	0x0000000127e4e9e6 WebCore::DecodedDataDocumentParser::appendBytes(WebCore::DocumentWriter&amp;, char const*, unsigned long) + 150 (DecodedDataDocumentParser.cpp:50)
34  com.apple.WebCore             	0x0000000128a0b14d WebCore::DocumentWriter::addData(char const*, unsigned long) + 365 (DocumentWriter.cpp:263)
35  com.apple.WebCore             	0x00000001289bd7ae WebCore::DocumentLoader::commitData(char const*, unsigned long) + 2414 (DocumentLoader.cpp:1235)
36  com.apple.WebKit              	0x000000011750a0c2 WebKit::WebFrameLoaderClient::committedLoad(WebCore::DocumentLoader*, char const*, int) + 82 (WebFrameLoaderClient.cpp:1147)
37  com.apple.WebCore             	0x00000001289c3ca1 WebCore::DocumentLoader::commitLoad(char const*, int) + 209 (DocumentLoader.cpp:1117)
38  com.apple.WebCore             	0x00000001289c3bc8 WebCore::DocumentLoader::dataReceived(char const*, int) + 568 (DocumentLoader.cpp:1268)
39  com.apple.WebCore             	0x00000001289c4578 WebCore::DocumentLoader::dataReceived(WebCore::CachedResource&amp;, char const*, int) + 152 (DocumentLoader.cpp:1241)
40  com.apple.WebCore             	0x0000000128b3e59e WebCore::CachedRawResource::notifyClientsDataWasReceived(char const*, unsigned int) + 142 (CachedRawResource.cpp:139)
41  com.apple.WebCore             	0x0000000128b3e3a5 WebCore::CachedRawResource::updateBuffer(WebCore::SharedBuffer&amp;) + 357 (CachedRawResource.cpp:76)
42  com.apple.WebCore             	0x0000000128ac86ff WebCore::SubresourceLoader::didReceiveDataOrBuffer(char const*, int, WTF::RefPtr&lt;WebCore::SharedBuffer, WTF::RawPtrTraits&lt;WebCore::SharedBuffer&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::SharedBuffer&gt; &gt;&amp;&amp;, long long, WebCore::DataPayloadType) + 671 (SubresourceLoader.cpp:537)
43  com.apple.WebCore             	0x0000000128ac8451 WebCore::SubresourceLoader::didReceiveData(char const*, unsigned int, long long, WebCore::DataPayloadType) + 97 (SubresourceLoader.cpp:505)
44  com.apple.WebKit              	0x000000011740f2ba WebKit::WebResourceLoader::didReceiveData(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long) + 1018 (WebResourceLoader.cpp:210)
45  com.apple.WebKit              	0x0000000117a0ad09 void IPC::callMemberFunctionImpl&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long), std::__1::tuple&lt;IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt;, long long&gt;, 0ul, 1ul&gt;(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long), std::__1::tuple&lt;IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt;, long long&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul&gt;) + 185 (HandleMessage.h:43)
46  com.apple.WebKit              	0x0000000117a0ac40 void IPC::callMemberFunction&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long), std::__1::tuple&lt;IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt;, long long&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul&gt; &gt;(std::__1::tuple&lt;IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt;, long long&gt;&amp;&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long)) + 112 (HandleMessage.h:49)
47  com.apple.WebKit              	0x0000000117a08a66 void IPC::handleMessage&lt;Messages::WebResourceLoader::DidReceiveData, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long)&gt;(IPC::Decoder&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long)) + 150 (HandleMessage.h:121)
48  com.apple.WebKit              	0x0000000117a08442 WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 402 (WebResourceLoaderMessageReceiver.cpp:54)
49  com.apple.WebKit              	0x00000001173d0930 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 144 (NetworkProcessConnection.cpp:94)
50  com.apple.WebKit              	0x0000000115716024 IPC::Connection::dispatchMessage(IPC::Decoder&amp;) + 516 (Connection.cpp:1020)
51  com.apple.WebKit              	0x00000001157167ec IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) + 636 (Connection.cpp:1065)
52  com.apple.WebKit              	0x0000000115716e10 IPC::Connection::dispatchOneIncomingMessage() + 208 (Connection.cpp:1134)
53  com.apple.WebKit              	0x0000000115735368 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_9::operator()() + 88 (Connection.cpp:989)
54  com.apple.WebKit              	0x000000011573525e WTF::Detail::CallableWrapper&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_9, void&gt;::call() + 30 (Function.h:52)
55  com.apple.JavaScriptCore      	0x000000014205cc62 WTF::Function&lt;void ()&gt;::operator()() const + 130 (Function.h:83)
56  com.apple.JavaScriptCore      	0x00000001420d4de5 WTF::RunLoop::performWork() + 341 (RunLoop.cpp:133)
57  com.apple.JavaScriptCore      	0x00000001420d8761 WTF::RunLoop::performWork(void*) + 33 (RunLoopCF.cpp:46)
58  com.apple.CoreFoundation      	0x00007fff2045be2c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
59  com.apple.CoreFoundation      	0x00007fff2045bd94 __CFRunLoopDoSource0 + 180
60  com.apple.CoreFoundation      	0x00007fff2045bb14 __CFRunLoopDoSources0 + 242
61  com.apple.CoreFoundation      	0x00007fff2045a53c __CFRunLoopRun + 893
62  com.apple.CoreFoundation      	0x00007fff20459afc CFRunLoopRunSpecific + 563
63  com.apple.Foundation          	0x00007fff211e3bb7 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
64  com.apple.Foundation          	0x00007fff21271a81 -[NSRunLoop(NSRunLoop) run] + 76
65  libxpc.dylib                  	0x00007fff200b138d _xpc_objc_main + 825
66  libxpc.dylib                  	0x00007fff200b0cd3 xpc_main + 116
67  com.apple.WebKit              	0x00000001163f48e1 WebKit::XPCServiceMain(int, char const**) + 1025 (XPCServiceMain.mm:209)
68  com.apple.WebKit              	0x0000000117a96c6b WKXPCServiceMain + 27 (WKMain.mm:33)
69  com.apple.WebKit.WebContent   	0x0000000108c11ea2 main + 34 (AuxiliaryProcessMain.cpp:30)
70  libdyld.dylib                 	0x00007fff2037df3d start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745088</commentid>
    <comment_count>3</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-30 05:21:01 -0700</bug_when>
    <thetext>The switch is asserting with at least RGBA 0x1908 case.
So perhaps the validation is missing this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747365</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-06 04:34:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/76261913&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773370</commentid>
    <comment_count>5</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-29 03:29:13 -0700</bug_when>
    <thetext>*** Bug 223329 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773371</commentid>
    <comment_count>6</comment_count>
      <attachid>432467</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-29 03:35:40 -0700</bug_when>
    <thetext>Created attachment 432467
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773372</commentid>
    <comment_count>7</comment_count>
      <attachid>432468</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-29 03:37:51 -0700</bug_when>
    <thetext>Created attachment 432468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773819</commentid>
    <comment_count>8</comment_count>
      <attachid>432468</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-06-30 11:07:58 -0700</bug_when>
    <thetext>Comment on attachment 432468
Patch

Looks good! r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781567</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-03 01:35:12 -0700</bug_when>
    <thetext>Committed r280587 (240209@main): &lt;https://commits.webkit.org/240209@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432468.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432467</attachid>
            <date>2021-06-29 03:35:40 -0700</date>
            <delta_ts>2021-06-29 03:37:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223920-20210629133538.patch</filename>
            <type>text/plain</type>
            <size>17306</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjY1NDE5ODUzMGQyMGI3
M2RjODk2NmJkYzQzNzEyNDU1YjFlZDVkOC4uNjUxNDg0ODY0ZjMzOTA2ZDNkMjhlZGQyODE3OTI0
YWU2YzY4MzBlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA2LTI5ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggaW4gd2Vi
Z2wvMS4wLngvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0dXJlLXdpdGgtZmxpcC15LWFu
ZC1wcmVtdWx0aXBseS1hbHBoYS5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjM5MjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc2MjYxOTEz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFmdGVy
IGVuYWJsaW5nIFdFQkdMX2RlcHRoX3RleHR1cmUsIHRoZSBnZXREYXRhRm9ybWF0IHdvdWxkIGFz
c2VydCBmb3IgY2FzZSBvZgorICAgICAgICBSR0JBIC8gREVQVEhfQ09NUE9ORU5ULgorICAgICAg
ICBJbnN0ZWFkLCByZXR1cm4gZXJyb3IgaWYgdGhlIGRhdGEgY29udmVyc2lvbiBjYW5ub3QgYmUg
ZG9uZS4gVGhpcyBpcyBiZXR0ZXIgaW4gYWxsCisgICAgICAgIGNhc2VzIHRoYW4gZG9pbmcgbm9u
LWV4cGVjdGVkIGRhdGEgY29udmVyc2lvbiBpbiByZWxlYXNlIGJ1aWxkIGFuZCBhc3NlcnRpb24g
aW4KKyAgICAgICAgZGVidWcgYnVpbGRzLgorCisgICAgICAgIFRlc3RlZCBieSB3ZWJnbC8xLjAu
eC9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3RleHR1cmUtd2l0aC1mbGlwLXktYW5kLXByZW11
bHRpcGx5LWFscGhhLmh0bWwKKyAgICAgICAgKGRpc2FibGVkIGZvciBub3cpLgorCisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp0ZXhJbWFnZUFycmF5QnVmZmVyVmll
d0hlbHBlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0RGF0YUZvcm1hdCk6CisgICAgICAgIChXZWJDb3Jl
OjpwYWNrUGl4ZWxzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMOjpleHRy
YWN0VGV4dHVyZURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dEdMLmg6CisKIDIwMjEtMDYtMjggIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxl
LmNvbT4KIAogICAgICAgICBPRVNfdGV4dHVyZV9mbG9hdCBzaG91bGQgaW1wbGljaXRseSBlbmFi
bGUgRVhUX2Zsb2F0X2JsZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IDg3YjE0YzQ3ZDM2ZGJiN2Y3
MjQ5ZTY4NDVhNTQ1MjYxZmUxMzBmMjYuLjViZGM4M2ZhZWI5ZjFlZTRlYWM3YjQ4NzIwMTI0MjNm
ODlhOGQyZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCkBAIC00OTg5LDggKzQ5ODksMTAgQEAgdm9pZCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp0ZXhJbWFnZUFycmF5QnVmZmVyVmlld0hlbHBlcihU
ZXhJbWFnZUZ1bmN0aW9uSUQKICAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgZnVuY3Rpb25OYW1lLCAiSW52YWxpZCB1bnBh
Y2sgcGFyYW1zIGNvbWJpbmF0aW9uLiIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
Ci0gICAgICAgIGlmICghbV9jb250ZXh0LT5leHRyYWN0VGV4dHVyZURhdGEod2lkdGgsIGhlaWdo
dCwgZm9ybWF0LCB0eXBlLCB1bnBhY2tQYXJhbXMsIG1fdW5wYWNrRmxpcFksIG1fdW5wYWNrUHJl
bXVsdGlwbHlBbHBoYSwgZGF0YSwgdGVtcERhdGEpKQorICAgICAgICBpZiAoIW1fY29udGV4dC0+
ZXh0cmFjdFRleHR1cmVEYXRhKHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgdHlwZSwgdW5wYWNrUGFy
YW1zLCBtX3VucGFja0ZsaXBZLCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGEsIGRhdGEsIHRlbXBE
YXRhKSkgeworICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6
OklOVkFMSURfT1BFUkFUSU9OLCBmdW5jdGlvbk5hbWUsICJJbnZhbGlkIGZvcm1hdC90eXBlIGNv
bWJpbmF0aW9uLiIpOwogICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgICAgIGRh
dGEgPSB0ZW1wRGF0YS5kYXRhKCk7CiAgICAgICAgIGJ5dGVMZW5ndGggPSB0ZW1wRGF0YS5zaXpl
KCk7CiAgICAgICAgIGNoYW5nZVVucGFja1BhcmFtcyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5jcHAKaW5kZXgg
YTdhOTM4MGRmMjcxZTVhNmRlOTE0ODQ1MWQzYjgzMmZkZDM5NTU2NC4uY2U5NzE5YTIzZGQzMjQz
YzZhODdkNjViNWU0ZjkwMmMyNzBhMDQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmNwcApAQCAtNDIsMjMwICs0Miwx
NzAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgR3JhcGhpY3NDb250ZXh0R0w6OkRh
dGFGb3JtYXQgZ2V0RGF0YUZvcm1hdChHQ0dMZW51bSBkZXN0aW5hdGlvbkZvcm1hdCwgR0NHTGVu
dW0gZGVzdGluYXRpb25UeXBlKQogewotICAgIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0
IGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0JBODsKICAgICBz
d2l0Y2ggKGRlc3RpbmF0aW9uVHlwZSkgewogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkJZ
VEU6CiAgICAgICAgIHN3aXRjaCAoZGVzdGluYXRpb25Gb3JtYXQpIHsKICAgICAgICAgY2FzZSBH
cmFwaGljc0NvbnRleHRHTDo6UkVEOgogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpS
RURfSU5URUdFUjoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpE
YXRhRm9ybWF0OjpSOF9TOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4g
R3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlI4X1M7CiAgICAgICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0R0w6OlJHOgogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR19JTlRF
R0VSOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3Jt
YXQ6OlJHOF9TOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhp
Y3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHOF9TOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpSR0I6CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHQl9JTlRFR0VS
OgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6
OlJHQjhfUzsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNz
Q29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0I4X1M7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OlJHQkE6CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHQkFfSU5URUdF
UjoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0
OjpSR0JBOF9TOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhp
Y3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQkE4X1M7CiAgICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGlj
c0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6SW52YWxpZDsKICAgICAgICAgfQotICAgICAgICBicmVh
azsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9CWVRFOgogICAgICAgICBz
d2l0Y2ggKGRlc3RpbmF0aW9uRm9ybWF0KSB7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
R0w6OlJHQjoKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCX0lOVEVHRVI6CiAg
ICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlNSR0I6Ci0gICAgICAgICAgICBkc3RGb3Jt
YXQgPSBHcmFwaGljc0NvbnRleHRHTDo6R3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJH
Qjg7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRl
eHRHTDo6R3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQjg7CiAgICAgICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0R0w6OlJHQkE6CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6
OlJHQkFfSU5URUdFUjoKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6U1JHQl9BTFBI
QToKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0
OjpSR0JBODsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNz
Q29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0JBODsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHRHTDo6QUxQSEE6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6
RGF0YUZvcm1hdDo6QTg7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBH
cmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6QTg7CiAgICAgICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OkxVTUlOQU5DRToKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkVE
OgogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSRURfSU5URUdFUjoKLSAgICAgICAg
ICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSODsKLSAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRh
Rm9ybWF0OjpSODsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6Ukc6CiAgICAgICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHX0lOVEVHRVI6Ci0gICAgICAgICAgICBkc3RGb3Jt
YXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6Ukc4OwotICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJH
ODsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6TFVNSU5BTkNFX0FMUEhBOgotICAg
ICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJBODsK
LSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdM
OjpEYXRhRm9ybWF0OjpSQTg7CiAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0
YUZvcm1hdDo6SW52YWxpZDsKICAgICAgICAgfQotICAgICAgICBicmVhazsKICAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dEdMOjpTSE9SVDoKICAgICAgICAgc3dpdGNoIChkZXN0aW5hdGlvbkZvcm1h
dCkgewogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSRURfSU5URUdFUjoKLSAgICAg
ICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSMTZfUzsK
LSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdM
OjpEYXRhRm9ybWF0OjpSMTZfUzsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6Ukdf
SU5URUdFUjoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRh
Rm9ybWF0OjpSRzE2X1M7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBH
cmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkcxNl9TOwogICAgICAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dEdMOjpSR0JfSU5URUdFUjoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBo
aWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0IxNl9TOwotICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQjE2X1M7
CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHQkFfSU5URUdFUjoKLSAgICAgICAg
ICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0JBMTZfUzsK
LSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdM
OjpEYXRhRm9ybWF0OjpSR0JBMTZfUzsKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdM
OjpEYXRhRm9ybWF0OjpJbnZhbGlkOwogICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwogICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVEX1NIT1JUOgogICAgICAgICBzd2l0Y2ggKGRl
c3RpbmF0aW9uRm9ybWF0KSB7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJFRF9J
TlRFR0VSOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFG
b3JtYXQ6OlIxNjsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBo
aWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSMTY7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OkRFUFRIX0NPTVBPTkVOVDoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNz
Q29udGV4dEdMOjpEYXRhRm9ybWF0OjpEMTY7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6RDE2OwogICAgICAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR19JTlRFR0VSOgotICAgICAgICAgICAgZHN0Rm9ybWF0
ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHMTY7Ci0gICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6Ukcx
NjsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCX0lOVEVHRVI6Ci0gICAgICAg
ICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCMTY7Ci0g
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6
RGF0YUZvcm1hdDo6UkdCMTY7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHQkFf
SU5URUdFUjoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRh
Rm9ybWF0OjpSR0JBMTY7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBH
cmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTE2OwogICAgICAgICBkZWZhdWx0Ogot
ICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICByZXR1cm4gR3Jh
cGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkludmFsaWQ7CiAgICAgICAgIH0KLSAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6SU5UOgogICAgICAgICBzd2l0Y2gg
KGRlc3RpbmF0aW9uRm9ybWF0KSB7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJF
RF9JTlRFR0VSOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRh
dGFGb3JtYXQ6OlIzMl9TOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4g
R3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlIzMl9TOwogICAgICAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dEdMOjpSR19JTlRFR0VSOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhp
Y3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHMzJfUzsKLSAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSRzMyX1M7CiAg
ICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHQl9JTlRFR0VSOgotICAgICAgICAgICAg
ZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQjMyX1M7Ci0gICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0
YUZvcm1hdDo6UkdCMzJfUzsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCQV9J
TlRFR0VSOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFG
b3JtYXQ6OlJHQkEzMl9TOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4g
R3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQkEzMl9TOwogICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICByZXR1cm4g
R3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkludmFsaWQ7CiAgICAgICAgIH0KLSAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6VU5TSUdORURfSU5UOgogICAg
ICAgICBzd2l0Y2ggKGRlc3RpbmF0aW9uRm9ybWF0KSB7CiAgICAgICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OlJFRF9JTlRFR0VSOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3ND
b250ZXh0R0w6OkRhdGFGb3JtYXQ6OlIzMjsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSMzI7CiAgICAgICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIX0NPTVBPTkVOVDoKLSAgICAgICAgICAgIGRzdEZv
cm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpEMzI7Ci0gICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6
RDMyOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR19JTlRFR0VSOgotICAgICAg
ICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHMzI7Ci0g
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6
RGF0YUZvcm1hdDo6UkczMjsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCX0lO
VEVHRVI6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZv
cm1hdDo6UkdCMzI7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFw
aGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCMzI7CiAgICAgICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OlJHQkFfSU5URUdFUjoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNz
Q29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0JBMzI7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTMyOwogICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
ICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkludmFsaWQ7CiAgICAg
ICAgIH0KLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6SEFMRl9G
TE9BVF9PRVM6IC8vIE9FU190ZXh0dXJlX2hhbGZfZmxvYXQKICAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpIQUxGX0ZMT0FUOgogICAgICAgICBzd2l0Y2ggKGRlc3RpbmF0aW9uRm9ybWF0KSB7
CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHQkE6Ci0gICAgICAgICAgICBkc3RG
b3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTE2RjsKLSAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9y
bWF0OjpSR0JBMTZGOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR0I6Ci0gICAg
ICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCMTZG
OwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0
R0w6OkRhdGFGb3JtYXQ6OlJHQjE2RjsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6
Ukc6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1h
dDo6UkcxNkY7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGlj
c0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkcxNkY7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OkFMUEhBOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6
OkRhdGFGb3JtYXQ6OkExNkY7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVy
biBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6QTE2RjsKICAgICAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6TFVNSU5BTkNFOgogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdM
OjpSRUQ6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZv
cm1hdDo6UjE2RjsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBo
aWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSMTZGOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpMVU1JTkFOQ0VfQUxQSEE6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGlj
c0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkExNkY7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkExNkY7CiAgICAg
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlNSR0I6Ci0gICAgICAgICAgICBkc3RGb3JtYXQg
PSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCMTZGOwotICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJH
QjE2RjsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6U1JHQl9BTFBIQToKLSAgICAg
ICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0JBMTZG
OwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0
R0w6OkRhdGFGb3JtYXQ6OlJHQkExNkY7CiAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRH
TDo6RGF0YUZvcm1hdDo6SW52YWxpZDsKICAgICAgICAgfQotICAgICAgICBicmVhazsKICAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dEdMOjpGTE9BVDogLy8gT0VTX3RleHR1cmVfZmxvYXQKICAgICAg
ICAgc3dpdGNoIChkZXN0aW5hdGlvbkZvcm1hdCkgewogICAgICAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpSR0JBOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6
OkRhdGFGb3JtYXQ6OlJHQkEzMkY7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJl
dHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTMyRjsKICAgICAgICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhp
Y3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQjMyRjsKLSAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0IzMkY7CiAg
ICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHOgotICAgICAgICAgICAgZHN0Rm9ybWF0
ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHMzJGOwotICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJH
MzJGOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpBTFBIQToKLSAgICAgICAgICAg
IGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpBMzJGOwotICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFG
b3JtYXQ6OkEzMkY7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkxVTUlOQU5DRToK
ICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkVEOgotICAgICAgICAgICAgZHN0Rm9y
bWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlIzMkY7Ci0gICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6
UjMyRjsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhfQ09NUE9ORU5UOgot
ICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkQz
MkY7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRl
eHRHTDo6RGF0YUZvcm1hdDo6RDMyRjsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6
TFVNSU5BTkNFX0FMUEhBOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0
R0w6OkRhdGFGb3JtYXQ6OlJBMzJGOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBy
ZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJBMzJGOwogICAgICAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dEdMOjpTUkdCOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhp
Y3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQjMyRjsKLSAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0IzMkY7CiAg
ICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlNSR0JfQUxQSEE6Ci0gICAgICAgICAgICBk
c3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTMyRjsKLSAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRh
Rm9ybWF0OjpSR0JBMzJGOwogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFG
b3JtYXQ6OkludmFsaWQ7CiAgICAgICAgIH0KLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6VU5TSUdORURfU0hPUlRfNF80XzRfNDoKLSAgICAgICAgZHN0Rm9ybWF0
ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQkE0NDQ0OwotICAgICAgICBicmVh
azsKKyAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0JBNDQ0
NDsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9TSE9SVF81XzVfNV8xOgot
ICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTU1
NTE7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRh
dGFGb3JtYXQ6OlJHQkE1NTUxOwogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVE
X1NIT1JUXzVfNl81OgotICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0
YUZvcm1hdDo6UkdCNTY1OwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIEdyYXBoaWNz
Q29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0I1NjU7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRH
TDo6VU5TSUdORURfSU5UXzVfOV85XzlfUkVWOgotICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGlj
c0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCNTk5OTsKLSAgICAgICAgYnJlYWs7CisgICAgICAg
IHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCNTk5OTsKICAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9JTlRfMjRfODoKLSAgICAgICAgZHN0Rm9ybWF0
ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkRTMjRfODsKLSAgICAgICAgYnJlYWs7
CisgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6RFMyNF84Owog
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVEX0lOVF8xMEZfMTFGXzExRl9SRVY6
Ci0gICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0Ix
MEYxMUYxMUY7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0
R0w6OkRhdGFGb3JtYXQ6OlJHQjEwRjExRjExRjsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdM
OjpVTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVY6Ci0gICAgICAgIGRzdEZvcm1hdCA9IEdyYXBo
aWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0JBMl8xMF8xMF8xMDsKLSAgICAgICAgYnJlYWs7
CisgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTJfMTBf
MTBfMTA7CiAgICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6SW52YWxpZDsKICAgICB9
Ci0gICAgcmV0dXJuIGRzdEZvcm1hdDsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBy
ZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkludmFsaWQ7CiB9CiAKIEFMV0FZ
U19JTkxJTkUgc3RhdGljIHVuc2lnbmVkIHRleGVsQnl0ZXNGb3JGb3JtYXQoR3JhcGhpY3NDb250
ZXh0R0w6OkRhdGFGb3JtYXQgZm9ybWF0KQpAQCAtMzU1LDYgKzI5NSw4IEBAIHN0YXRpYyBib29s
IHBhY2tQaXhlbHMoY29uc3QgdWludDhfdCogc291cmNlRGF0YSwgR3JhcGhpY3NDb250ZXh0R0w6
OkRhdGFGb3JtYXQKICAgICBpbnQgc3JjUm93T2Zmc2V0ID0gc291cmNlRGF0YVN1YlJlY3Rhbmds
ZS54KCkgKiB0ZXhlbEJ5dGVzRm9yRm9ybWF0KHNvdXJjZURhdGFGb3JtYXQpOwogCiAgICAgR3Jh
cGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQgZHN0RGF0YUZvcm1hdCA9IGdldERhdGFGb3JtYXQo
ZGVzdGluYXRpb25Gb3JtYXQsIGRlc3RpbmF0aW9uVHlwZSk7CisgICAgaWYgKGRzdERhdGFGb3Jt
YXQgPT0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkludmFsaWQpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICBpbnQgZHN0U3RyaWRlID0gc291cmNlRGF0YVN1YlJlY3RhbmdsZS53
aWR0aCgpICogdGV4ZWxCeXRlc0ZvckZvcm1hdChkc3REYXRhRm9ybWF0KTsKICAgICBpZiAoZmxp
cFkpIHsKICAgICAgICAgZGVzdGluYXRpb25EYXRhID0gc3RhdGljX2Nhc3Q8dWludDhfdCo+KGRl
c3RpbmF0aW9uRGF0YSkgKyBkc3RTdHJpZGUgKiAoKGRlcHRoICogc291cmNlRGF0YVN1YlJlY3Rh
bmdsZS5oZWlnaHQoKSkgLSAxKTsKQEAgLTc4Nyw3ICs3MjksOCBAQCBib29sIEdyYXBoaWNzQ29u
dGV4dEdMOjpleHRyYWN0VGV4dHVyZURhdGEodW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdo
dCwgR0NHTAogewogICAgIC8vIEFzc3VtZXMgZm9ybWF0LCB0eXBlLCBldGMuIGhhdmUgYWxyZWFk
eSBiZWVuIHZhbGlkYXRlZC4KICAgICBEYXRhRm9ybWF0IHNvdXJjZURhdGFGb3JtYXQgPSBnZXRE
YXRhRm9ybWF0KGZvcm1hdCwgdHlwZSk7Ci0KKyAgICBpZiAoc291cmNlRGF0YUZvcm1hdCA9PSBH
cmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6SW52YWxpZCkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIC8vIFJlc2l6ZSB0aGUgb3V0cHV0IGJ1ZmZlci4KICAgICB1bnNpZ25lZCBjb21w
b25lbnRzUGVyUGl4ZWwsIGJ5dGVzUGVyQ29tcG9uZW50OwogICAgIGlmICghY29tcHV0ZUZvcm1h
dEFuZFR5cGVQYXJhbWV0ZXJzKGZvcm1hdCwgdHlwZSwgJmNvbXBvbmVudHNQZXJQaXhlbCwgJmJ5
dGVzUGVyQ29tcG9uZW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHRHTC5oCmluZGV4IGZjMzI5Mjk3NjRmODU1MDlkNzEwY2NlZjQy
ZGI1MWRiNDNlY2YwMzUuLmViNzIyMjYwMjI2MTM1ODE0YTc3NTZjYjYyZTUxNWQwMmRlOGVlYjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dEdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0R0wuaApAQCAtNzQ4LDcgKzc0OCw4IEBAIHB1YmxpYzoKICAgICAgICAgRDMyLAogICAg
ICAgICBEMzJGLAogICAgICAgICBEUzI0XzgsCi0gICAgICAgIE51bUZvcm1hdHMKKyAgICAgICAg
TnVtRm9ybWF0cywKKyAgICAgICAgSW52YWxpZCA9IE51bUZvcm1hdHMKICAgICB9OwogCiAgICAg
ZW51bSBjbGFzcyBDaGFubmVsQml0cyA6IHVpbnQ4X3Qgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432468</attachid>
            <date>2021-06-29 03:37:51 -0700</date>
            <delta_ts>2021-08-03 01:35:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223920-20210629133749.patch</filename>
            <type>text/plain</type>
            <size>17391</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjY1NDE5ODUzMGQyMGI3
M2RjODk2NmJkYzQzNzEyNDU1YjFlZDVkOC4uZTViYzY5MTc4ZDM0OTllZGRkYmI5Y2UyYzI0Njcy
MGYyYWY1M2VmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA2LTI5ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggaW4gd2Vi
Z2wvMS4wLngvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0dXJlLXdpdGgtZmxpcC15LWFu
ZC1wcmVtdWx0aXBseS1hbHBoYS5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjM5MjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc2MjYxOTEz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFmdGVy
IGVuYWJsaW5nIFdFQkdMX2RlcHRoX3RleHR1cmUsIHRoZSBnZXREYXRhRm9ybWF0IHdvdWxkIGFz
c2VydCBmb3IgY2FzZSBvZgorICAgICAgICBmb3JtYXQgPT0gUkdCQSwgdHlwZSA9PSBVTlNJR05F
RF9TSE9SVC4gVU5TSUdORURfU0hPUlQgaXMgaW50ZW5kZWQgZm9yCisgICAgICAgIGZvcm1hdCA9
PSBERVBUSF9DT01QT05FTlQuCisKKyAgICAgICAgSW5zdGVhZCwgcmV0dXJuIGVycm9yIGlmIHRo
ZSBkYXRhIGNvbnZlcnNpb24gY2Fubm90IGJlIGRvbmUuIFRoaXMgaXMgYmV0dGVyIGluIGFsbAor
ICAgICAgICBjYXNlcyB0aGFuIGRvaW5nIG5vbi1leHBlY3RlZCBkYXRhIGNvbnZlcnNpb24gaW4g
cmVsZWFzZSBidWlsZCBhbmQgYXNzZXJ0aW9uIGluCisgICAgICAgIGRlYnVnIGJ1aWxkcy4KKwor
ICAgICAgICBUZXN0ZWQgYnkgd2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90
ZXh0dXJlLXdpdGgtZmxpcC15LWFuZC1wcmVtdWx0aXBseS1hbHBoYS5odG1sCisgICAgICAgIChk
aXNhYmxlZCBmb3Igbm93KS4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZTo6dGV4SW1hZ2VBcnJheUJ1ZmZlclZpZXdIZWxwZXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldERh
dGFGb3JtYXQpOgorICAgICAgICAoV2ViQ29yZTo6cGFja1BpeGVscyk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHRHTDo6ZXh0cmFjdFRleHR1cmVEYXRhKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5oOgorCiAyMDIxLTA2LTI4ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgT0VTX3RleHR1cmVf
ZmxvYXQgc2hvdWxkIGltcGxpY2l0bHkgZW5hYmxlIEVYVF9mbG9hdF9ibGVuZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmNwcAppbmRleCA4N2IxNGM0N2QzNmRiYjdmNzI0OWU2ODQ1YTU0NTI2MWZlMTMwZjI2Li41YmRj
ODNmYWViOWYxZWU0ZWFjN2I0ODcyMDEyNDIzZjg5YThkMmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApA
QCAtNDk4OSw4ICs0OTg5LDEwIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dGV4
SW1hZ2VBcnJheUJ1ZmZlclZpZXdIZWxwZXIoVGV4SW1hZ2VGdW5jdGlvbklECiAgICAgICAgICAg
ICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9PUEVSQVRJT04s
IGZ1bmN0aW9uTmFtZSwgIkludmFsaWQgdW5wYWNrIHBhcmFtcyBjb21iaW5hdGlvbi4iKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICBpZiAoIW1fY29udGV4dC0+ZXh0
cmFjdFRleHR1cmVEYXRhKHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgdHlwZSwgdW5wYWNrUGFyYW1z
LCBtX3VucGFja0ZsaXBZLCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGEsIGRhdGEsIHRlbXBEYXRh
KSkKKyAgICAgICAgaWYgKCFtX2NvbnRleHQtPmV4dHJhY3RUZXh0dXJlRGF0YSh3aWR0aCwgaGVp
Z2h0LCBmb3JtYXQsIHR5cGUsIHVucGFja1BhcmFtcywgbV91bnBhY2tGbGlwWSwgbV91bnBhY2tQ
cmVtdWx0aXBseUFscGhhLCBkYXRhLCB0ZW1wRGF0YSkpIHsKKyAgICAgICAgICAgIHN5bnRoZXNp
emVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgZnVuY3Rpb25O
YW1lLCAiSW52YWxpZCBmb3JtYXQvdHlwZSBjb21iaW5hdGlvbi4iKTsKICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQogICAgICAgICBkYXRhID0gdGVtcERhdGEuZGF0YSgpOwogICAgICAg
ICBieXRlTGVuZ3RoID0gdGVtcERhdGEuc2l6ZSgpOwogICAgICAgICBjaGFuZ2VVbnBhY2tQYXJh
bXMgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0R0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0R0wuY3BwCmluZGV4IGE3YTkzODBkZjI3MWU1YTZkZTkxNDg0NTFkM2I4
MzJmZGQzOTU1NjQuLmNlOTcxOWEyM2RkMzI0M2M2YTg3ZDY1YjVlNGY5MDJjMjcwYTA0ODYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dEdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHRHTC5jcHAKQEAgLTQyLDIzMCArNDIsMTcwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RhdGljIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0IGdldERhdGFGb3JtYXQoR0NHTGVu
dW0gZGVzdGluYXRpb25Gb3JtYXQsIEdDR0xlbnVtIGRlc3RpbmF0aW9uVHlwZSkKIHsKLSAgICBH
cmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdCBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRH
TDo6RGF0YUZvcm1hdDo6UkdCQTg7CiAgICAgc3dpdGNoIChkZXN0aW5hdGlvblR5cGUpIHsKICAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpCWVRFOgogICAgICAgICBzd2l0Y2ggKGRlc3RpbmF0
aW9uRm9ybWF0KSB7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJFRDoKICAgICAg
ICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkVEX0lOVEVHRVI6Ci0gICAgICAgICAgICBkc3RG
b3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UjhfUzsKLSAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0
OjpSOF9TOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSRzoKICAgICAgICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHRHTDo6UkdfSU5URUdFUjoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9
IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSRzhfUzsKLSAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSRzhf
UzsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCOgogICAgICAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dEdMOjpSR0JfSU5URUdFUjoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdy
YXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0I4X1M7Ci0gICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCOF9T
OwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR0JBOgogICAgICAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dEdMOjpSR0JBX0lOVEVHRVI6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBH
cmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQThfUzsKLSAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0JB
OF9TOwogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkludmFs
aWQ7CiAgICAgICAgIH0KLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRH
TDo6VU5TSUdORURfQllURToKICAgICAgICAgc3dpdGNoIChkZXN0aW5hdGlvbkZvcm1hdCkgewog
ICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR0I6CiAgICAgICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0R0w6OlJHQl9JTlRFR0VSOgogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdM
OjpTUkdCOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkdyYXBo
aWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0I4OwotICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkdyYXBoaWNzQ29udGV4dEdMOjpEYXRh
Rm9ybWF0OjpSR0I4OwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR0JBOgogICAg
ICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR0JBX0lOVEVHRVI6CiAgICAgICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0R0w6OlNSR0JfQUxQSEE6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBH
cmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTg7Ci0gICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTg7
CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkFMUEhBOgotICAgICAgICAgICAgZHN0
Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkE4OwotICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6
OkE4OwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpMVU1JTkFOQ0U6CiAgICAgICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJFRDoKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHRHTDo6UkVEX0lOVEVHRVI6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRl
eHRHTDo6RGF0YUZvcm1hdDo6Ujg7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJl
dHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6Ujg7CiAgICAgICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0R0w6OlJHOgogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR19J
TlRFR0VSOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFG
b3JtYXQ6OlJHODsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBo
aWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSRzg7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OkxVTUlOQU5DRV9BTFBIQToKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNz
Q29udGV4dEdMOjpEYXRhRm9ybWF0OjpSQTg7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkE4OwogICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBy
ZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkludmFsaWQ7CiAgICAgICAgIH0K
LSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6U0hPUlQ6CiAgICAg
ICAgIHN3aXRjaCAoZGVzdGluYXRpb25Gb3JtYXQpIHsKICAgICAgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHRHTDo6UkVEX0lOVEVHRVI6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0Nv
bnRleHRHTDo6RGF0YUZvcm1hdDo6UjE2X1M7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UjE2X1M7CiAgICAgICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHX0lOVEVHRVI6Ci0gICAgICAgICAgICBkc3RGb3Jt
YXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkcxNl9TOwotICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6
OlJHMTZfUzsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCX0lOVEVHRVI6Ci0g
ICAgICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdC
MTZfUzsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29u
dGV4dEdMOjpEYXRhRm9ybWF0OjpSR0IxNl9TOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dEdMOjpSR0JBX0lOVEVHRVI6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRl
eHRHTDo6RGF0YUZvcm1hdDo6UkdCQTE2X1M7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTE2X1M7CiAgICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAg
ICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6SW52YWxpZDsKICAgICAg
ICAgfQotICAgICAgICBicmVhazsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05F
RF9TSE9SVDoKICAgICAgICAgc3dpdGNoIChkZXN0aW5hdGlvbkZvcm1hdCkgewogICAgICAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSRURfSU5URUdFUjoKLSAgICAgICAgICAgIGRzdEZvcm1h
dCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSMTY7Ci0gICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UjE2
OwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9DT01QT05FTlQ6Ci0gICAg
ICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6RDE2Owot
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6
OkRhdGFGb3JtYXQ6OkQxNjsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdfSU5U
RUdFUjoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9y
bWF0OjpSRzE2OwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhp
Y3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHMTY7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OlJHQl9JTlRFR0VSOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250
ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQjE2OwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQjE2OwogICAgICAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR0JBX0lOVEVHRVI6Ci0gICAgICAgICAgICBkc3RGb3Jt
YXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTE2OwotICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6
OlJHQkExNjsKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpJ
bnZhbGlkOwogICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OklOVDoKICAgICAgICAgc3dpdGNoIChkZXN0aW5hdGlvbkZvcm1hdCkgewogICAgICAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSRURfSU5URUdFUjoKLSAgICAgICAgICAgIGRzdEZv
cm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSMzJfUzsKLSAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0
OjpSMzJfUzsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdfSU5URUdFUjoKLSAg
ICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSRzMy
X1M7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRl
eHRHTDo6RGF0YUZvcm1hdDo6UkczMl9TOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdM
OjpSR0JfSU5URUdFUjoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdM
OjpEYXRhRm9ybWF0OjpSR0IzMl9TOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBy
ZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQjMyX1M7CiAgICAgICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHQkFfSU5URUdFUjoKLSAgICAgICAgICAgIGRzdEZvcm1h
dCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0JBMzJfUzsKLSAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0
OjpSR0JBMzJfUzsKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0
OjpJbnZhbGlkOwogICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OlVOU0lHTkVEX0lOVDoKICAgICAgICAgc3dpdGNoIChkZXN0aW5hdGlvbkZvcm1h
dCkgewogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSRURfSU5URUdFUjoKLSAgICAg
ICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSMzI7Ci0g
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6
RGF0YUZvcm1hdDo6UjMyOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9D
T01QT05FTlQ6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0
YUZvcm1hdDo6RDMyOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3Jh
cGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkQzMjsKICAgICAgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHRHTDo6UkdfSU5URUdFUjoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29u
dGV4dEdMOjpEYXRhRm9ybWF0OjpSRzMyOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHMzI7CiAgICAgICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHQl9JTlRFR0VSOgotICAgICAgICAgICAgZHN0Rm9ybWF0
ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQjMyOwotICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJH
QjMyOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR0JBX0lOVEVHRVI6Ci0gICAg
ICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTMy
OwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0
R0w6OkRhdGFGb3JtYXQ6OlJHQkEzMjsKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdM
OjpEYXRhRm9ybWF0OjpJbnZhbGlkOwogICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwogICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0R0w6OkhBTEZfRkxPQVRfT0VTOiAvLyBPRVNfdGV4dHVyZV9oYWxm
X2Zsb2F0CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6SEFMRl9GTE9BVDoKICAgICAgICAg
c3dpdGNoIChkZXN0aW5hdGlvbkZvcm1hdCkgewogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dEdMOjpSR0JBOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRh
dGFGb3JtYXQ6OlJHQkExNkY7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVy
biBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTE2RjsKICAgICAgICAgY2FzZSBH
cmFwaGljc0NvbnRleHRHTDo6UkdCOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3ND
b250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQjE2RjsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0IxNkY7CiAgICAg
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0g
R3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHMTZGOwotICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHMTZG
OwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpBTFBIQToKLSAgICAgICAgICAgIGRz
dEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpBMTZGOwotICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3Jt
YXQ6OkExNkY7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkxVTUlOQU5DRToKICAg
ICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkVEOgotICAgICAgICAgICAgZHN0Rm9ybWF0
ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlIxNkY7Ci0gICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UjE2
RjsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6TFVNSU5BTkNFX0FMUEhBOgotICAg
ICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJBMTZG
OwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0
R0w6OkRhdGFGb3JtYXQ6OlJBMTZGOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpT
UkdCOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3Jt
YXQ6OlJHQjE2RjsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBo
aWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0IxNkY7CiAgICAgICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OlNSR0JfQUxQSEE6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0Nv
bnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTE2RjsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0JBMTZGOwogICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
ICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkludmFsaWQ7CiAgICAg
ICAgIH0KLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6RkxPQVQ6
IC8vIE9FU190ZXh0dXJlX2Zsb2F0CiAgICAgICAgIHN3aXRjaCAoZGVzdGluYXRpb25Gb3JtYXQp
IHsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCQToKLSAgICAgICAgICAgIGRz
dEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0JBMzJGOwotICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFG
b3JtYXQ6OlJHQkEzMkY7CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHQjoKLSAg
ICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0Iz
MkY7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRl
eHRHTDo6RGF0YUZvcm1hdDo6UkdCMzJGOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdM
OjpSRzoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9y
bWF0OjpSRzMyRjsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBo
aWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSRzMyRjsKICAgICAgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHRHTDo6QUxQSEE6Ci0gICAgICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRH
TDo6RGF0YUZvcm1hdDo6QTMyRjsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0
dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpBMzJGOwogICAgICAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dEdMOjpMVU1JTkFOQ0U6CiAgICAgICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
R0w6OlJFRDoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRh
Rm9ybWF0OjpSMzJGOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gR3Jh
cGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlIzMkY7CiAgICAgICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OkRFUFRIX0NPTVBPTkVOVDoKLSAgICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBo
aWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpEMzJGOwotICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OkQzMkY7CiAgICAg
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkxVTUlOQU5DRV9BTFBIQToKLSAgICAgICAgICAg
IGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSQTMyRjsKLSAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRh
Rm9ybWF0OjpSQTMyRjsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6U1JHQjoKLSAg
ICAgICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0Iz
MkY7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRl
eHRHTDo6RGF0YUZvcm1hdDo6UkdCMzJGOwogICAgICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdM
OjpTUkdCX0FMUEhBOgotICAgICAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6
OkRhdGFGb3JtYXQ6OlJHQkEzMkY7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJl
dHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTMyRjsKICAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgcmV0
dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpJbnZhbGlkOwogICAgICAgICB9Ci0g
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVEX1NIT1JU
XzRfNF80XzQ6Ci0gICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9y
bWF0OjpSR0JBNDQ0NDsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBHcmFwaGljc0Nv
bnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCQTQ0NDQ7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRH
TDo6VU5TSUdORURfU0hPUlRfNV81XzVfMToKLSAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3ND
b250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQkE1NTUxOwotICAgICAgICBicmVhazsKKyAgICAgICAg
cmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0JBNTU1MTsKICAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9TSE9SVF81XzZfNToKLSAgICAgICAgZHN0Rm9y
bWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQjU2NTsKLSAgICAgICAgYnJl
YWs7CisgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCNTY1
OwogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVEX0lOVF81XzlfOV85X1JFVjoK
LSAgICAgICAgZHN0Rm9ybWF0ID0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQjU5
OTk7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6OkRh
dGFGb3JtYXQ6OlJHQjU5OTk7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6VU5TSUdORURf
SU5UXzI0Xzg6Ci0gICAgICAgIGRzdEZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9y
bWF0OjpEUzI0Xzg7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250
ZXh0R0w6OkRhdGFGb3JtYXQ6OkRTMjRfODsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpV
TlNJR05FRF9JTlRfMTBGXzExRl8xMUZfUkVWOgotICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGlj
c0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdCMTBGMTFGMTFGOwotICAgICAgICBicmVhazsKKyAg
ICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0OjpSR0IxMEYxMUYxMUY7
CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6VU5TSUdORURfSU5UXzJfMTBfMTBfMTBfUkVW
OgotICAgICAgICBkc3RGb3JtYXQgPSBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdDo6UkdC
QTJfMTBfMTBfMTA7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250
ZXh0R0w6OkRhdGFGb3JtYXQ6OlJHQkEyXzEwXzEwXzEwOwogICAgIGRlZmF1bHQ6Ci0gICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0w6
OkRhdGFGb3JtYXQ6OkludmFsaWQ7CiAgICAgfQotICAgIHJldHVybiBkc3RGb3JtYXQ7CisgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRh
Rm9ybWF0OjpJbnZhbGlkOwogfQogCiBBTFdBWVNfSU5MSU5FIHN0YXRpYyB1bnNpZ25lZCB0ZXhl
bEJ5dGVzRm9yRm9ybWF0KEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0IGZvcm1hdCkKQEAg
LTM1NSw2ICsyOTUsOCBAQCBzdGF0aWMgYm9vbCBwYWNrUGl4ZWxzKGNvbnN0IHVpbnQ4X3QqIHNv
dXJjZURhdGEsIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0CiAgICAgaW50IHNyY1Jvd09m
ZnNldCA9IHNvdXJjZURhdGFTdWJSZWN0YW5nbGUueCgpICogdGV4ZWxCeXRlc0ZvckZvcm1hdChz
b3VyY2VEYXRhRm9ybWF0KTsKIAogICAgIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0IGRz
dERhdGFGb3JtYXQgPSBnZXREYXRhRm9ybWF0KGRlc3RpbmF0aW9uRm9ybWF0LCBkZXN0aW5hdGlv
blR5cGUpOworICAgIGlmIChkc3REYXRhRm9ybWF0ID09IEdyYXBoaWNzQ29udGV4dEdMOjpEYXRh
Rm9ybWF0OjpJbnZhbGlkKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaW50IGRzdFN0cmlk
ZSA9IHNvdXJjZURhdGFTdWJSZWN0YW5nbGUud2lkdGgoKSAqIHRleGVsQnl0ZXNGb3JGb3JtYXQo
ZHN0RGF0YUZvcm1hdCk7CiAgICAgaWYgKGZsaXBZKSB7CiAgICAgICAgIGRlc3RpbmF0aW9uRGF0
YSA9IHN0YXRpY19jYXN0PHVpbnQ4X3QqPihkZXN0aW5hdGlvbkRhdGEpICsgZHN0U3RyaWRlICog
KChkZXB0aCAqIHNvdXJjZURhdGFTdWJSZWN0YW5nbGUuaGVpZ2h0KCkpIC0gMSk7CkBAIC03ODcs
NyArNzI5LDggQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTDo6ZXh0cmFjdFRleHR1cmVEYXRhKHVu
c2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQsIEdDR0wKIHsKICAgICAvLyBBc3N1bWVzIGZv
cm1hdCwgdHlwZSwgZXRjLiBoYXZlIGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQuCiAgICAgRGF0YUZv
cm1hdCBzb3VyY2VEYXRhRm9ybWF0ID0gZ2V0RGF0YUZvcm1hdChmb3JtYXQsIHR5cGUpOwotCisg
ICAgaWYgKHNvdXJjZURhdGFGb3JtYXQgPT0gR3JhcGhpY3NDb250ZXh0R0w6OkRhdGFGb3JtYXQ6
OkludmFsaWQpCisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAvLyBSZXNpemUgdGhlIG91dHB1
dCBidWZmZXIuCiAgICAgdW5zaWduZWQgY29tcG9uZW50c1BlclBpeGVsLCBieXRlc1BlckNvbXBv
bmVudDsKICAgICBpZiAoIWNvbXB1dGVGb3JtYXRBbmRUeXBlUGFyYW1ldGVycyhmb3JtYXQsIHR5
cGUsICZjb21wb25lbnRzUGVyUGl4ZWwsICZieXRlc1BlckNvbXBvbmVudCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuaAppbmRl
eCBmYzMyOTI5NzY0Zjg1NTA5ZDcxMGNjZWY0MmRiNTFkYjQzZWNmMDM1Li5lYjcyMjI2MDIyNjEz
NTgxNGE3NzU2Y2I2MmU1MTVkMDJkZThlZWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmgKQEAgLTc0OCw3ICs3NDgsOCBA
QCBwdWJsaWM6CiAgICAgICAgIEQzMiwKICAgICAgICAgRDMyRiwKICAgICAgICAgRFMyNF84LAot
ICAgICAgICBOdW1Gb3JtYXRzCisgICAgICAgIE51bUZvcm1hdHMsCisgICAgICAgIEludmFsaWQg
PSBOdW1Gb3JtYXRzCiAgICAgfTsKIAogICAgIGVudW0gY2xhc3MgQ2hhbm5lbEJpdHMgOiB1aW50
OF90IHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>