<?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>44230</bug_id>
          
          <creation_ts>2010-08-18 22:33:22 -0700</creation_ts>
          <short_desc>REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector</short_desc>
          <delta_ts>2011-04-28 22:08:01 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>44856</dependson>
    
    <dependson>45256</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Petersen">c.petersen87</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>bweinstein</cc>
    
    <cc>cedric</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>dev+webkit</cc>
    
    <cc>eric</cc>
    
    <cc>harrison</cc>
    
    <cc>jberlin</cc>
    
    <cc>joepeck</cc>
    
    <cc>kevin</cc>
    
    <cc>knavia</cc>
    
    <cc>loislo</cc>
    
    <cc>m.malecki</cc>
    
    <cc>ossy</cc>
    
    <cc>pfeldman</cc>
    
    <cc>rniwa</cc>
    
    <cc>rowan</cc>
    
    <cc>skepticus</cc>
    
    <cc>s+webkit</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>266548</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Petersen">c.petersen87</who>
    <bug_when>2010-08-18 22:33:22 -0700</bug_when>
    <thetext>Steps to reproduce:

1) Launch a webkit nightly build ( r65398) under 10.6.4 
2) Enable the Develop menu
3) Select Show Web Inspector
4) After web inspector appears in window, close this browser window

Process:         Safari [3320]
Path:            /Applications/Safari.app/Contents/MacOS/Safari
Identifier:      org.webkit.nightly.WebKit
Version:         r65398 (65398)
Code Type:       X86-64 (Native)
Parent Process:  launchd [81]

Date/Time:       2010-08-18 22:16:49.809 -0700
OS Version:      Mac OS X 10.6.4 (10F569)
Report Version:  6

Interval Since Last Report:          163610 sec
Crashes Since Last Report:           6
Per-App Interval Since Last Report:  6353 sec
Per-App Crashes Since Last Report:   5
Anonymous UUID:                      B0A7A7C4-B6FC-43DE-8EBE-1ACD3F221BD4

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000014
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Application Specific Information:
objc_msgSend() selector name: _isClosed


Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib               	0x00007fff835bb11c objc_msgSend + 40
1   com.apple.WebKit              	0x0000000100a3b624 -[WebInspectorWindowController close] + 84
2   com.apple.WebKit              	0x0000000100a3bb5f -[WebInspectorWindowController destroyInspectorView] + 159
3   com.apple.WebCore             	0x000000010106d11b WebCore::InspectorFrontendHost::closeWindow() + 27
4   com.apple.WebCore             	0x0000000101225236 WebCore::jsInspectorFrontendHostPrototypeFunctionCloseWindow(JSC::ExecState*) + 118
5   ???                           	0x000029f72b8001aa 0 + 46141563470250
6   com.apple.JavaScriptCore      	0x00000001007d9134 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, JSC::JSValue*) + 900

Thread 1:  Dispatch queue: com.apple.libdispatch-manager
0   libSystem.B.dylib             	0x00007fff85d2608a kevent + 10
1   libSystem.B.dylib             	0x00007fff85d27f5d _dispatch_mgr_invoke + 154
2   libSystem.B.dylib             	0x00007fff85d27c34 _dispatch_queue_invoke + 185
3   libSystem.B.dylib             	0x00007fff85d2775e _dispatch_worker_thread2 + 252
4   libSystem.B.dylib             	0x00007fff85d27088 _pthread_wqthread + 353
5   libSystem.B.dylib             	0x00007fff85d26f25 start_wqthread + 13

Thread 2:  WebCore: IconDatabase
0   libSystem.B.dylib             	0x00007fff85d47eb6 __semwait_signal + 10
1   libSystem.B.dylib             	0x00007fff85d4bcd1 _pthread_cond_wait + 1286
2   com.apple.WebCore             	0x0000000100feba99 WebCore::IconDatabase::syncThreadMainLoop() + 249
3   com.apple.WebCore             	0x0000000100febbcc WebCore::IconDatabase::iconDatabaseSyncThread() + 172
4   libSystem.B.dylib             	0x00007fff85d46456 _pthread_start + 331
5   libSystem.B.dylib             	0x00007fff85d46309 thread_start + 13

Thread 3:  Safari: SafeBrowsingManager
0   libSystem.B.dylib             	0x00007fff85d0d2fa mach_msg_trap + 10
1   libSystem.B.dylib             	0x00007fff85d0d96d mach_msg + 59
2   com.apple.CoreFoundation      	0x00007fff81b683c2 __CFRunLoopRun + 1698
3   com.apple.CoreFoundation      	0x00007fff81b6784f CFRunLoopRunSpecific + 575
4   com.apple.Safari              	0x000000010002ed99 0x100000000 + 191897
5   com.apple.Safari              	0x000000010002ed29 0x100000000 + 191785
6   libSystem.B.dylib             	0x00007fff85d46456 _pthread_start + 331
7   libSystem.B.dylib             	0x00007fff85d46309 thread_start + 13

Thread 4:
0   libSystem.B.dylib             	0x00007fff85d0d2fa mach_msg_trap + 10
1   libSystem.B.dylib             	0x00007fff85d0d96d mach_msg + 59
2   com.apple.CoreFoundation      	0x00007fff81b683c2 __CFRunLoopRun + 1698
3   com.apple.CoreFoundation      	0x00007fff81b6784f CFRunLoopRunSpecific + 575
4   com.apple.Foundation          	0x00007fff86bbf4c3 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 297
5   com.apple.Foundation          	0x00007fff86b3fe8d __NSThread__main__ + 1429
6   libSystem.B.dylib             	0x00007fff85d46456 _pthread_start + 331
7   libSystem.B.dylib             	0x00007fff85d46309 thread_start + 13

Thread 5:
0   libSystem.B.dylib             	0x00007fff85d26eaa __workq_kernreturn + 10
1   libSystem.B.dylib             	0x00007fff85d272bc _pthread_wqthread + 917
2   libSystem.B.dylib             	0x00007fff85d26f25 start_wqthread + 13

Thread 6:  Safari: SnapshotStore
0   libSystem.B.dylib             	0x00007fff85d47eb6 __semwait_signal + 10
1   libSystem.B.dylib             	0x00007fff85d4bcd1 _pthread_cond_wait + 1286
2   com.apple.JavaScriptCore      	0x00000001008f61f0 WTF::ThreadCondition::timedWait(WTF::Mutex&amp;, double) + 64
3   com.apple.Safari              	0x00000001001bd941 0x100000000 + 1825089
4   com.apple.Safari              	0x0000000100046783 0x100000000 + 288643
5   com.apple.Safari              	0x0000000100046601 0x100000000 + 288257
6   libSystem.B.dylib             	0x00007fff85d46456 _pthread_start + 331
7   libSystem.B.dylib             	0x00007fff85d46309 thread_start + 13

Thread 7:
0   libSystem.B.dylib             	0x00007fff85d50dce select$DARWIN_EXTSN + 10
1   com.apple.CoreFoundation      	0x00007fff81b89e92 __CFSocketManager + 818
2   libSystem.B.dylib             	0x00007fff85d46456 _pthread_start + 331
3   libSystem.B.dylib             	0x00007fff85d46309 thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000050  rbx: 0x0000000117530380  rcx: 0x0000000116efe120  rdx: 0x0000000101b2a360
  rdi: 0x0000000102495890  rsi: 0x00007fff859caaa6  rbp: 0x00007fff5fbfe240  rsp: 0x00007fff5fbfe1a8
   r8: 0x0000000117f4f2d8   r9: 0x000000011a6faf70  r10: 0x000000000000001f  r11: 0x0000000000000004
  r12: 0x00007fff80788770  r13: 0x0000000116efe0e0  r14: 0x0000000117530380  r15: 0xffff000000000002
  rip: 0x00007fff835bb11c  rfl: 0x0000000000010206  cr2: 0x0000000000000014

Binary Images:
       0x100000000 -        0x1006adfe7  com.apple.Safari 5.0.1 (6533.17.8) &lt;638C4B83-D91D-E257-40DD-4A16DA94F27F&gt; /Applications/Safari.app/Contents/MacOS/Safari
       0x100759000 -        0x10075cfff +WebKitNightlyEnabler.dylib ??? (???) &lt;87832B44-836A-DB69-81CE-922270855B51&gt; /Users/cp/Desktop/WebKit.app/Contents/Resources/WebKitNightlyEnabler.dylib
       0x100761000 -        0x100951fef  com.apple.JavaScriptCore 534+ (534.6+) &lt;3953A3B7-81B5-DDEE-30C5-68435F030850&gt; /Users/cp/Desktop/WebKit.app/Contents/Frameworks/10.6/JavaScriptCore.framework/Versions/A/JavaScriptCore
       0x1009c3000 -        0x100b4cfe7  com.apple.WebKit r65398 (534.6+) &lt;52B3E2D2-B2FF-3A1B-2BF7-99CE8E2961F9&gt; /Users/cp/Desktop/WebKit.app/Contents/Frameworks/10.6/WebKit.framework/Versions/A/WebKit
       0x100c1f000 -        0x101aa5ff7  com.apple.WebCore 534+ (534.6+) &lt;AADB2481-FD49-C0DB-31AC-E31215F6B371&gt; /Users/cp/Desktop/WebKit.app/Contents/Frameworks/10.6/WebCore.framework/Versions/A/WebCore
       0x102183000 -        0x1021acff7 +org.andymatuschak.Sparkle 1.5 Beta (git) (830f633) &lt;945EA036-7EC3-D020-C889-29ECB588B891&gt; /Users/cp/Desktop/WebKit.app/Contents/Frameworks/10.6/Sparkle.framework/Versions/A/Sparkle
       0x1021c7000 -        0x1022adfe7  libcrypto.0.9.7.dylib 0.9.7 (compatibility 0.9.7) &lt;64B3566E-5F3A-A466-ED3F-B91F4B3E5F56&gt; /usr/lib/libcrypto.0.9.7.dylib
       0x114b36000 -        0x114b5aff7  libPDFRIP.A.dylib 543.50.0 (compatibility 64.0.0) &lt;6A248153-8A28-FFCA-01F1-C85D659876FC&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libPDFRIP.A.dylib
    0x7fff5fc00000 -     0x7fff5fc3bdef  dyld 132.1 (???) &lt;B536F2F1-9DF1-3B6C-1C2C-9075EA219A06&gt; /usr/lib/dyld
    0x7fff80041000 -     0x7fff80a37fff  com.apple.AppKit 6.6.6 (1038.29) &lt;7BDD335D-5425-0354-5AD6-41C4F1B4A2F4&gt; /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7fff80a38000 -     0x7fff80c7afef  com.apple.AddressBook.framework 5.0.2 (870) &lt;A1278575-53F2-CC00-7306-E49713FEC7C6&gt; /System/Library/Frameworks/AddressBook.framework/Versions/A/AddressBook
    0x7fff80cc1000 -     0x7fff80d46fff  com.apple.print.framework.PrintCore 6.2 (312.5) &lt;2BA9CEF6-CCF4-6719-9642-E9667F815C66&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
    0x7fff80d47000 -     0x7fff80e12fe7  ColorSyncDeprecated.dylib 4.6.0 (compatibility 1.0.0) &lt;3C223A94-EF14-28C5-844B-C25DFC87FB42&gt; /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ColorSync.framework/Versions/A/Resources/ColorSyncDeprecated.dylib
    0x7fff80e13000 -     0x7fff80e19ff7  IOSurface ??? (???) &lt;EB2019F6-7C5C-3D59-E11F-6119466C12A9&gt; /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x7fff80e4d000 -     0x7fff80e4dff7  com.apple.Accelerate.vecLib 3.6 (vecLib 3.6) &lt;4CCE5D69-F1B3-8FD3-1483-E0271DB2CCF3&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff80e4e000 -     0x7fff80e52ff7  libmathCommon.A.dylib 315.0.0 (compatibility 1.0.0) &lt;95718673-FEEE-B6ED-B127-BCDBDB60D4E5&gt; /usr/lib/system/libmathCommon.A.dylib
    0x7fff80e53000 -     0x7fff80f7bff7  com.apple.MediaToolbox 0.484.11 (484.11) &lt;F50B5552-8527-C75D-873F-66A61D04E32A&gt; /System/Library/PrivateFrameworks/MediaToolbox.framework/Versions/A/MediaToolbox
    0x7fff810dd000 -     0x7fff8111efff  com.apple.SystemConfiguration 1.10.2 (1.10.2) &lt;BC27BDD4-9CC8-9AF0-B4C2-DD50FD751CBF&gt; /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff8111f000 -     0x7fff811efff7  com.apple.CFNetwork 454.9.7 (454.9.7) &lt;AA6EB690-6CCF-603D-AAC2-35B9E05D1593&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x7fff811f0000 -     0x7fff811f1fff  liblangid.dylib ??? (???) &lt;D0666597-B331-C43C-67BB-F2E754079A7A&gt; /usr/lib/liblangid.dylib
    0x7fff811f2000 -     0x7fff816f6fe7  com.apple.VideoToolbox 0.484.11 (484.11) &lt;4577FF14-E6A7-AAD8-E6E6-ECA9CFCC6989&gt; /System/Library/PrivateFrameworks/VideoToolbox.framework/Versions/A/VideoToolbox
    0x7fff816f7000 -     0x7fff816fdff7  com.apple.DiskArbitration 2.3 (2.3) &lt;AAB5CC56-334A-3C60-3C27-54E8F34D754E&gt; /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff816fe000 -     0x7fff816feff7  com.apple.quartzframework 1.5 (1.5) &lt;FA660AAC-70CD-7EA2-5DF1-A8724D8F4B1B&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Quartz
    0x7fff816ff000 -     0x7fff817aefff  edu.mit.Kerberos 6.5.10 (6.5.10) &lt;F3F76EDF-5660-78F0-FE6E-33B6174F55A4&gt; /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff817af000 -     0x7fff817feff7  com.apple.DirectoryService.PasswordServerFramework 6.0 (6.0) &lt;F5B744D7-AEAF-6B66-43CF-6E31CDA18EAB&gt; /System/Library/PrivateFrameworks/PasswordServer.framework/Versions/A/PasswordServer
    0x7fff817ff000 -     0x7fff8180afff  com.apple.corelocation 12 (12) &lt;844D4E9D-2BAC-C20E-478B-10E7DC911DC0&gt; /System/Library/Frameworks/CoreLocation.framework/Versions/A/CoreLocation
    0x7fff81827000 -     0x7fff81895fff  com.apple.AppleVAFramework 4.9.20 (4.9.20) &lt;78727165-8D44-0354-6F6C-68FD798E04A1&gt; /System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
    0x7fff819f2000 -     0x7fff819f7ff7  com.apple.CommonPanels 1.2.4 (91) &lt;8B088D78-E508-6622-E477-E34C22CF2F67&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
    0x7fff819f8000 -     0x7fff819f8ff7  com.apple.ApplicationServices 38 (38) &lt;0E2FC75E-2BE2-D04D-CA78-76E38A89DD30&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    0x7fff819f9000 -     0x7fff81ad3fff  com.apple.vImage 4.0 (4.0) &lt;B5A8B93B-D302-BC30-5A18-922645DB2F56&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff81ad4000 -     0x7fff81aeafef  libbsm.0.dylib ??? (???) &lt;0321D32C-9FE1-3919-E03E-2530A0C1191B&gt; /usr/lib/libbsm.0.dylib
    0x7fff81aeb000 -     0x7fff81aebff7  com.apple.vecLib 3.6 (vecLib 3.6) &lt;96FB6BAD-5568-C4E0-6FA7-02791A58B584&gt; /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff81b1c000 -     0x7fff81c91ff7  com.apple.CoreFoundation 6.6.3 (550.29) &lt;48810602-63C3-994D-E563-DD02B16E76E1&gt; /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff81c92000 -     0x7fff8249cfe7  libBLAS.dylib 219.0.0 (compatibility 1.0.0) &lt;2F26CDC7-DAE9-9ABE-6806-93BBBDA20DA0&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff8249d000 -     0x7fff82518fff  com.apple.ISSupport 1.9.3 (51) &lt;FED5B421-7B80-AAB5-F552-26AEC9F45800&gt; /System/Library/PrivateFrameworks/ISSupport.framework/Versions/A/ISSupport
    0x7fff82525000 -     0x7fff82548fff  com.apple.opencl 12.1 (12.1) &lt;403E8F37-4348-B9BC-08E6-7693A995B7EC&gt; /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x7fff82549000 -     0x7fff8255dfff  libGL.dylib ??? (???) &lt;5AD69545-D1A3-C017-C7AF-B4AFD6F08FA2&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
    0x7fff8255e000 -     0x7fff825dbfef  com.apple.backup.framework 1.2.2 (1.2.2) &lt;BB72F0C7-20E2-76DC-6764-5B93A7AC0EB5&gt; /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
    0x7fff825dc000 -     0x7fff82646fe7  libvMisc.dylib 268.0.1 (compatibility 1.0.0) &lt;7BD7F19B-ACD4-186C-B42D-4DEBA6795628&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff826fd000 -     0x7fff82700fff  com.apple.help 1.3.1 (41) &lt;AEDDF93F-BAC0-0308-68FD-039A99F3A158&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
    0x7fff82706000 -     0x7fff8271ffff  com.apple.CFOpenDirectory 10.6 (10.6) &lt;E98F7642-7F87-C3B4-18FB-3D3947E53CD0&gt; /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff82720000 -     0x7fff82989ff7  com.apple.QuartzComposer 4.1 (156.16) &lt;0BAE3C90-CF60-C0C7-C29E-BF9922074095&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/QuartzComposer
    0x7fff8298a000 -     0x7fff829f6ff7  com.apple.CorePDF 1.3 (1.3) &lt;6770FFB0-DEA0-61E0-3520-4B95CCF5D1CF&gt; /System/Library/PrivateFrameworks/CorePDF.framework/Versions/A/CorePDF
    0x7fff829f7000 -     0x7fff82a04fe7  libCSync.A.dylib 543.50.0 (compatibility 64.0.0) &lt;7B891D4C-1F19-4DB0-FD12-7A7D5E8F47AE&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCSync.A.dylib
    0x7fff82a05000 -     0x7fff82a42fff  com.apple.LDAPFramework 2.0 (120.1) &lt;F3B7B267-D580-F287-6DE7-8AC91C92AB35&gt; /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
    0x7fff82a7e000 -     0x7fff82ae6fff  com.apple.MeshKitRuntime 1.1 (49.2) &lt;A490FE03-313D-1317-A9B8-25EF75CB1A81&gt; /System/Library/PrivateFrameworks/MeshKit.framework/Versions/A/Frameworks/MeshKitRuntime.framework/Versions/A/MeshKitRuntime
    0x7fff82aed000 -     0x7fff82b03fff  com.apple.ImageCapture 6.0 (6.0) &lt;01E09982-7DD2-0868-0180-42E7D298B35A&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
    0x7fff82bfd000 -     0x7fff82ce3fe7  com.apple.DesktopServices 1.5.7 (1.5.7) &lt;8A697128-B6CA-E4A8-C200-6520D5A35FBE&gt; /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
    0x7fff82ce4000 -     0x7fff82d1ffff  com.apple.AE 496.4 (496.4) &lt;CB905496-4D6B-F26A-399D-840D26DBEE5B&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x7fff82f11000 -     0x7fff82f49fef  libcups.2.dylib 2.8.0 (compatibility 2.0.0) &lt;31A78904-A500-0DA9-0609-F1EB81383326&gt; /usr/lib/libcups.2.dylib
    0x7fff82fbd000 -     0x7fff82fe8ff7  libxslt.1.dylib 3.24.0 (compatibility 3.0.0) &lt;6589F0FC-41DB-8494-CA8B-487F4E328EB9&gt; /usr/lib/libxslt.1.dylib
    0x7fff83222000 -     0x7fff832dfff7  com.apple.CoreServices.OSServices 357 (357) &lt;718F0719-DC9F-E392-7C64-9D7DFE3D02E2&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x7fff832e0000 -     0x7fff832ebff7  com.apple.speech.recognition.framework 3.11.1 (3.11.1) &lt;C359B93B-CC9B-FC0B-959E-FB10674103A7&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
    0x7fff832ec000 -     0x7fff832fbff7  com.apple.opengl 1.6.8 (1.6.8) &lt;0CDC4F98-7981-A114-1778-AF171075138E&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
    0x7fff832fc000 -     0x7fff83312fe7  com.apple.MultitouchSupport.framework 205.34 (205.34) &lt;01AAE66D-C2DF-4EF5-FC7B-E89E08C02A01&gt; /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
    0x7fff83313000 -     0x7fff83392fef  com.apple.audio.CoreAudio 3.2.2 (3.2.2) &lt;243E456E-7A74-BE76-FF18-E589BDCAA785&gt; /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
    0x7fff83393000 -     0x7fff83422fff  com.apple.PDFKit 2.5.1 (2.5.1) &lt;C0E3AE4B-E71A-16D8-0D51-FB7D3E3AD793&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/PDFKit.framework/Versions/A/PDFKit
    0x7fff83423000 -     0x7fff83423ff7  com.apple.Accelerate 1.6 (Accelerate 1.6) &lt;15DF8B4A-96B2-CB4E-368D-DEC7DF6B62BB&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff8342b000 -     0x7fff83430fff  libGFXShared.dylib ??? (???) &lt;1265FAEF-1C97-B339-28A4-4510589B067B&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
    0x7fff83431000 -     0x7fff835a0fe7  com.apple.QTKit 7.6.6 (1742) &lt;7E254184-757D-E87C-5B2A-7612A2C85243&gt; /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit
    0x7fff835a1000 -     0x7fff835b5ff7  com.apple.speech.synthesis.framework 3.10.35 (3.10.35) &lt;574C1BE0-5E5E-CCAF-06F8-92A69CB2892D&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
    0x7fff835b6000 -     0x7fff8366cfff  libobjc.A.dylib 227.0.0 (compatibility 1.0.0) &lt;1960E662-D35C-5D98-EB16-D43166AE6A22&gt; /usr/lib/libobjc.A.dylib
    0x7fff8366d000 -     0x7fff83682ff7  com.apple.LangAnalysis 1.6.6 (1.6.6) &lt;DC999B32-BF41-94C8-0583-27D9AB463E8B&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
    0x7fff83683000 -     0x7fff8369eff7  com.apple.openscripting 1.3.1 (???) &lt;DC329CD4-1159-A40A-A769-70CAA70F601A&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
    0x7fff8369f000 -     0x7fff836a3ff7  libCGXType.A.dylib 543.50.0 (compatibility 64.0.0) &lt;E666EBC7-2D87-A3C6-9461-A596B4E53593&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXType.A.dylib
    0x7fff836a4000 -     0x7fff8373efff  com.apple.ApplicationServices.ATS 4.3 (???) &lt;A7CD9E1F-C563-E940-130D-AA7E08C5A29F&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
    0x7fff83801000 -     0x7fff83827fe7  libJPEG.dylib ??? (???) &lt;4060F3E2-BAD3-244F-D777-51BA16569DA4&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
    0x7fff83828000 -     0x7fff83829ff7  com.apple.audio.units.AudioUnit 1.6.3 (1.6.3) &lt;65C333FF-3F7A-AD36-DC36-D3F2F46727C5&gt; /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
    0x7fff8382a000 -     0x7fff83ab0ff7  com.apple.security 6.1.1 (37594) &lt;5EDDC08C-C95B-2D24-E1D2-D30D233AB065&gt; /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff83ab1000 -     0x7fff83ab7fff  libCGXCoreImage.A.dylib 543.50.0 (compatibility 64.0.0) &lt;2D72D55A-C8FE-78DD-602E-E934057EDF95&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXCoreImage.A.dylib
    0x7fff83b21000 -     0x7fff83c30fe7  libcrypto.0.9.8.dylib 0.9.8 (compatibility 0.9.8) &lt;36DA89A6-3AF5-86F2-BDD5-B94C7C0844D4&gt; /usr/lib/libcrypto.0.9.8.dylib
    0x7fff83c31000 -     0x7fff83c42ff7  libz.1.dylib 1.2.3 (compatibility 1.0.0) &lt;FB5EE53A-0534-0FFA-B2ED-486609433717&gt; /usr/lib/libz.1.dylib
    0x7fff83c73000 -     0x7fff840b6fef  libLAPACK.dylib 219.0.0 (compatibility 1.0.0) &lt;57D38705-6F21-2A82-F3F6-03CFFF214775&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff840b7000 -     0x7fff8426dfef  com.apple.ImageIO.framework 3.0.3 (3.0.3) &lt;A32D0B5A-7149-7739-22D3-84D38B07E9E5&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
    0x7fff84270000 -     0x7fff84270ff7  com.apple.Cocoa 6.6 (???) &lt;C69E895A-1C66-3DA9-5F63-8BE85DB9C4E1&gt; /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    0x7fff84271000 -     0x7fff84331fff  libFontParser.dylib ??? (???) &lt;A4F8189D-1D5B-2F8D-E78E-6D934A8E8407&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
    0x7fff84673000 -     0x7fff84713fff  com.apple.LaunchServices 362.1 (362.1) &lt;B4083624-2C88-0C4F-B047-40D3CC5B3325&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x7fff84714000 -     0x7fff8471cfff  com.apple.DisplayServicesFW 2.2.2 (251) &lt;A8AA237B-26DA-455D-4133-69B1D1E45DF4&gt; /System/Library/PrivateFrameworks/DisplayServices.framework/Versions/A/DisplayServices
    0x7fff85391000 -     0x7fff85396fff  libGIF.dylib ??? (???) &lt;21FC6B02-6AC3-C4DB-0B50-98144802274C&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
    0x7fff853b2000 -     0x7fff853c3fff  SyndicationUI ??? (???) &lt;AB222D54-3800-754D-C234-9FD5F1ACA7EB&gt; /System/Library/PrivateFrameworks/SyndicationUI.framework/Versions/A/SyndicationUI
    0x7fff853c4000 -     0x7fff85419fef  com.apple.framework.familycontrols 2.0.1 (2010) &lt;239940AC-2427-44C6-9E29-998D0ABECDF3&gt; /System/Library/PrivateFrameworks/FamilyControls.framework/Versions/A/FamilyControls
    0x7fff8541a000 -     0x7fff8545dfef  libtidy.A.dylib ??? (???) &lt;D0239CC6-4480-E54F-67BE-1954C80AEB94&gt; /usr/lib/libtidy.A.dylib
    0x7fff8545e000 -     0x7fff8545ffff  com.apple.MonitorPanelFramework 1.3.0 (1.3.0) &lt;EC039008-5367-090D-51FD-EA4D2623671A&gt; /System/Library/PrivateFrameworks/MonitorPanel.framework/Versions/A/MonitorPanel
    0x7fff85460000 -     0x7fff854a1ff7  com.apple.CoreMedia 0.484.11 (484.11) &lt;AEE7E9C9-9604-B0A7-053B-28954659CFE3&gt; /System/Library/PrivateFrameworks/CoreMedia.framework/Versions/A/CoreMedia
    0x7fff854a2000 -     0x7fff857a0fe7  com.apple.HIToolbox 1.6.3 (???) &lt;CF0C8524-FA82-3908-ACD0-A9176C704AED&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
    0x7fff857a1000 -     0x7fff858bafef  libGLProgrammability.dylib ??? (???) &lt;B057FC52-6A97-F450-48D8-325A70423A53&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
    0x7fff85ae0000 -     0x7fff85bf7fef  libxml2.2.dylib 10.3.0 (compatibility 10.0.0) &lt;AFE91118-DBF3-6313-37B8-8A2002C6A46B&gt; /usr/lib/libxml2.2.dylib
    0x7fff85bf8000 -     0x7fff85c3ffef  com.apple.QuickLookFramework 2.2 (327.4) &lt;E31F6272-25B1-E477-8E85-B06919705BAC&gt; /System/Library/Frameworks/QuickLook.framework/Versions/A/QuickLook
    0x7fff85c40000 -     0x7fff85c91fe7  com.apple.HIServices 1.8.0 (???) &lt;2D0D9100-B712-ED4B-7622-BBA92053F446&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
    0x7fff85c92000 -     0x7fff85c92ff7  com.apple.CoreServices 44 (44) &lt;616722B1-5E79-DCCF-BF5E-0DD5802CCBD9&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x7fff85c93000 -     0x7fff85cd7fe7  com.apple.ImageCaptureCore 1.0.2 (1.0.2) &lt;075198A5-4C6B-D945-D3EF-D13960C9F738&gt; /System/Library/Frameworks/ImageCaptureCore.framework/Versions/A/ImageCaptureCore
    0x7fff85cfc000 -     0x7fff85d0bfff  com.apple.NetFS 3.2.1 (3.2.1) &lt;DE59FB56-8536-9999-352A-2016ADCF4FCF&gt; /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
    0x7fff85d0c000 -     0x7fff85eccfef  libSystem.B.dylib 125.2.0 (compatibility 1.0.0) &lt;95E02DD0-ADEA-745B-E7FA-ABA064E4658C&gt; /usr/lib/libSystem.B.dylib
    0x7fff85ecd000 -     0x7fff85f59fef  SecurityFoundation ??? (???) &lt;6860DE26-0D42-D1E8-CD7C-5B42D78C1E1D&gt; /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x7fff85f5a000 -     0x7fff85f5cfff  libRadiance.dylib ??? (???) &lt;D67C08B6-4D4A-916D-E936-528E145A56E2&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
    0x7fff85f5d000 -     0x7fff85f5eff7  com.apple.TrustEvaluationAgent 1.1 (1) &lt;A91CE5B9-3C63-5F8C-5052-95CCAB866F72&gt; /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
    0x7fff85f5f000 -     0x7fff85fabfff  libauto.dylib ??? (???) &lt;9B1DB6E8-4D79-B79C-D9EC-85592478F632&gt; /usr/lib/libauto.dylib
    0x7fff86004000 -     0x7fff86033fff  com.apple.quartzfilters 1.6.0 (1.6.0) &lt;52D41730-D485-A7AE-4937-FE37FC732F65&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzFilters.framework/Versions/A/QuartzFilters
    0x7fff86034000 -     0x7fff86367fe7  com.apple.CoreServices.CarbonCore 861.13 (861.13) &lt;BC2F9B4E-D305-D717-D97E-EC78C7DE9EE9&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x7fff86368000 -     0x7fff8636ffff  com.apple.OpenDirectory 10.6 (10.6) &lt;D72FD8AB-B328-B27B-DA16-3BBB7BC0C08C&gt; /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x7fff86370000 -     0x7fff863a1fef  libTrueTypeScaler.dylib ??? (???) &lt;0A30CA68-46AF-3E74-AE9E-693DB5A680CC&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libTrueTypeScaler.dylib
    0x7fff863a2000 -     0x7fff864e0fff  com.apple.CoreData 102.1 (251) &lt;96C5E9A6-C28C-E9CC-A0DB-27801A22A49F&gt; /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
    0x7fff864e1000 -     0x7fff86502fff  libresolv.9.dylib 41.0.0 (compatibility 1.0.0) &lt;6993F348-428F-C97E-7A84-7BD2EDC46A62&gt; /usr/lib/libresolv.9.dylib
    0x7fff86503000 -     0x7fff86607fff  com.apple.PubSub 1.0.5 (65.20) &lt;4B7C7949-653D-D1D2-FEDF-97863ADD4BE0&gt; /System/Library/Frameworks/PubSub.framework/Versions/A/PubSub
    0x7fff86608000 -     0x7fff86698fff  com.apple.SearchKit 1.3.0 (1.3.0) &lt;45BA1053-9196-3C2F-2421-AFF5E09627CC&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x7fff86699000 -     0x7fff866e2ff7  com.apple.securityinterface 4.0.1 (37214) &lt;08DB37D6-A716-DC37-536C-7889999EF395&gt; /System/Library/Frameworks/SecurityInterface.framework/Versions/A/SecurityInterface
    0x7fff866e3000 -     0x7fff86726ff7  libRIP.A.dylib 543.50.0 (compatibility 64.0.0) &lt;DF457CB3-CE61-0FD4-1403-BB68BC2CC998&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
    0x7fff86727000 -     0x7fff8676eff7  com.apple.coreui 2 (114) &lt;31118426-355F-206A-65AB-CCA2D2D3EBD7&gt; /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
    0x7fff867ac000 -     0x7fff867aefff  com.apple.print.framework.Print 6.1 (237.1) &lt;87A5BEEC-2D37-5CB7-8B13-7B605397573F&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
    0x7fff867ba000 -     0x7fff86809fef  libTIFF.dylib ??? (???) &lt;A66CBA9C-A38D-5EDB-BFB5-CB398F033D6F&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
    0x7fff8680a000 -     0x7fff868c3fff  libsqlite3.dylib 9.6.0 (compatibility 9.0.0) &lt;00E15F05-E8C2-B1D1-DAEA-497FD72A0481&gt; /usr/lib/libsqlite3.dylib
    0x7fff868c4000 -     0x7fff868c7ff7  com.apple.securityhi 4.0 (36638) &lt;38935851-09E4-DDAB-DB1D-30ADC39F7ED0&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
    0x7fff868c8000 -     0x7fff86946fff  com.apple.CoreText 3.1.0 (???) &lt;E83F0CB9-B937-FE97-A6B3-9466BA560C8B&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText
    0x7fff86ac2000 -     0x7fff86afbff7  com.apple.MeshKit 1.1 (49.2) &lt;B85DDDC7-4053-4DB8-E1B5-AA0CBD4CDD1C&gt; /System/Library/PrivateFrameworks/MeshKit.framework/Versions/A/MeshKit
    0x7fff86afc000 -     0x7fff86b0bfff  libxar.1.dylib ??? (???) &lt;2C4E4D13-263B-6EFF-C6FD-FB8BA6DB3EF0&gt; /usr/lib/libxar.1.dylib
    0x7fff86b2f000 -     0x7fff86db0fef  com.apple.Foundation 6.6.3 (751.29) &lt;DAEDB589-9F59-9556-CF8D-07556317937B&gt; /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff86db1000 -     0x7fff86df2fef  com.apple.QD 3.35 (???) &lt;6B7D6A89-2578-5C40-C0DE-A5BCB0AA6FD8&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
    0x7fff86df3000 -     0x7fff86e11fff  libPng.dylib ??? (???) &lt;F6932C8D-E6B1-0871-B698-15180AA948F7&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
    0x7fff86e5d000 -     0x7fff871fefe7  com.apple.RawCamera.bundle 3.3.0 (533) &lt;84ACD5A6-A184-0D4A-24C6-41D14291E8EC&gt; /System/Library/CoreServices/RawCamera.bundle/Contents/MacOS/RawCamera
    0x7fff872d8000 -     0x7fff873fdfef  com.apple.audio.toolbox.AudioToolbox 1.6.3 (1.6.3) &lt;72149B5E-BEC7-B6E9-3B34-0E0620827542&gt; /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
    0x7fff873fe000 -     0x7fff875bcfff  libicucore.A.dylib 40.0.0 (compatibility 1.0.0) &lt;0E53A4A6-AC06-1B61-2285-248F534EE356&gt; /usr/lib/libicucore.A.dylib
    0x7fff875bd000 -     0x7fff8761bff7  com.apple.framework.IOKit 2.0 (???) &lt;010C3398-7363-8F4B-719C-263867F15F63&gt; /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff8761c000 -     0x7fff87644fff  com.apple.DictionaryServices 1.1.1 (1.1.1) &lt;FBE782D5-F5F5-DA3B-EE10-8D6B24BD6C03&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x7fff87645000 -     0x7fff879deff7  com.apple.QuartzCore 1.6.2 (227.22) &lt;76EE0A32-B20B-F316-ADDD-4230329253D5&gt; /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
    0x7fff87a14000 -     0x7fff87a5dfef  libGLU.dylib ??? (???) &lt;34D118CD-F9EE-D023-FEBF-74581DEF31CD&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
    0x7fff87a60000 -     0x7fff87a9dff7  libFontRegistry.dylib ??? (???) &lt;B63FCC3A-F49E-B42E-6D57-5F59E3A8D8B9&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
    0x7fff87ad9000 -     0x7fff87b56fef  libstdc++.6.dylib 7.9.0 (compatibility 7.0.0) &lt;C82DB84D-6391-2E56-35D4-C4B373334153&gt; /usr/lib/libstdc++.6.dylib
    0x7fff87b57000 -     0x7fff87c0cfe7  com.apple.ink.framework 1.3.3 (107) &lt;A68339AA-909D-E46C-35C0-72808EE3D043&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
    0x7fff87c0d000 -     0x7fff8830a067  com.apple.CoreGraphics 1.543.50 (???) &lt;46A7D60C-0500-B96C-ECAD-1D658487D213&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
    0x7fff8830b000 -     0x7fff88316ff7  com.apple.HelpData 2.0.4 (34) &lt;AB4C41BA-E7A9-DE25-CAE2-21D0A5F909D1&gt; /System/Library/PrivateFrameworks/HelpData.framework/Versions/A/HelpData
    0x7fff884fb000 -     0x7fff884fbff7  com.apple.Carbon 150 (152) &lt;19B37B7B-1594-AD0A-7F14-FA2F85AD7241&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
    0x7fff885c1000 -     0x7fff88643fff  com.apple.QuickLookUIFramework 2.2 (327.4) &lt;FC41D181-984D-3D2B-4A1F-BAD6D4DD4410&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuickLookUI.framework/Versions/A/QuickLookUI
    0x7fff88644000 -     0x7fff886f9fe7  com.apple.ColorSync 4.6.3 (4.6.3) &lt;AA93AD96-6974-9104-BF55-AF7A813C8A1B&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
    0x7fff886fa000 -     0x7fff8872bfff  libGLImage.dylib ??? (???) &lt;2F18DB77-CF77-1311-9E20-FE460090C166&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
    0x7fff8872c000 -     0x7fff88776ff7  com.apple.Metadata 10.6.3 (507.10) &lt;641395B7-FF2C-B94C-965A-CE6A0830645F&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x7fff88777000 -     0x7fff887bfff7  libvDSP.dylib 268.0.1 (compatibility 1.0.0) &lt;98FC4457-F405-0262-00F7-56119CA107B6&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff887d9000 -     0x7fff887e5fff  libbz2.1.0.dylib 1.0.5 (compatibility 1.0.0) &lt;ECA200F9-9C46-579A-6447-16B8BFB93D96&gt; /usr/lib/libbz2.1.0.dylib
    0x7fff887e6000 -     0x7fff8881eff7  libssl.0.9.8.dylib 0.9.8 (compatibility 0.9.8) &lt;94776929-EF76-D979-5412-940C845BAC5D&gt; /usr/lib/libssl.0.9.8.dylib
    0x7fff8881f000 -     0x7fff8882afff  com.apple.CrashReporterSupport 10.6.3 (250) &lt;F74D84F2-26D0-BE89-00A8-238857AA83C5&gt; /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
    0x7fff8882b000 -     0x7fff88a66fef  com.apple.imageKit 2.0.3 (1.0) &lt;8DA80BC9-C671-BD89-EA2E-3C632D6ECE30&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/ImageKit
    0x7fff88a97000 -     0x7fff88a9aff7  libCoreVMClient.dylib ??? (???) &lt;DBB2C09F-4BF4-326C-B775-B7A128C501E3&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
    0x7fff88a9b000 -     0x7fff88aacfff  com.apple.DSObjCWrappers.Framework 10.6 (134) &lt;CF1D9C05-8D77-0FFE-38E8-63D8A23E92E1&gt; /System/Library/PrivateFrameworks/DSObjCWrappers.framework/Versions/A/DSObjCWrappers
    0x7fff88aad000 -     0x7fff88af2fff  com.apple.CoreMediaIOServices 130.0 (1035) &lt;567D7949-3115-4E78-8F27-B28968CC25F7&gt; /System/Library/PrivateFrameworks/CoreMediaIOServices.framework/Versions/A/CoreMediaIOServices
    0x7fff88ba9000 -     0x7fff88bdefef  com.apple.framework.Apple80211 6.2.3 (623.1) &lt;E58C0A3A-BA14-9703-F6A3-3951A862570C&gt; /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
    0x7fff88c79000 -     0x7fff88c87ff7  libkxld.dylib ??? (???) &lt;EE840168-1F67-6219-8BA3-C46039BCC8B3&gt; /usr/lib/system/libkxld.dylib
    0x7fff88c88000 -     0x7fff88cadff7  com.apple.CoreVideo 1.6.1 (45.5) &lt;97AF669D-5482-7AD5-849B-A64E7D98AC94&gt; /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
    0x7fff88cae000 -     0x7fff88cceff7  com.apple.DirectoryService.Framework 3.6 (621.3) &lt;8FBCBA30-5BB6-E447-8146-08486933AEB8&gt; /System/Library/Frameworks/DirectoryService.framework/Versions/A/DirectoryService
    0x7fff88ccf000 -     0x7fff88d31fe7  com.apple.datadetectorscore 2.0 (80.7) &lt;C3A68083-AFB0-CFC6-8AA5-517C9D1489B6&gt; /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
    0x7fff88d32000 -     0x7fff88d62fef  com.apple.shortcut 1.1 (1.1) &lt;0A20F092-6161-4EA7-D8E6-859B5C350DE7&gt; /System/Library/PrivateFrameworks/Shortcut.framework/Versions/A/Shortcut
    0x7fff88d63000 -     0x7fff88d75fe7  libsasl2.2.dylib 3.15.0 (compatibility 3.0.0) &lt;30FE378B-99FE-8C7C-06D0-A3AA0A0A70D4&gt; /usr/lib/libsasl2.2.dylib
    0x7fff88fbd000 -     0x7fff890c7ff7  com.apple.MeshKitIO 1.1 (49.2) &lt;D7227401-9DC9-C2CB-C83B-C2B10C61D4E4&gt; /System/Library/PrivateFrameworks/MeshKit.framework/Versions/A/Frameworks/MeshKitIO.framework/Versions/A/MeshKitIO
    0x7fffffe00000 -     0x7fffffe01fff  libSystem.B.dylib ??? (???) &lt;95E02DD0-ADEA-745B-E7FA-ABA064E4658C&gt; /usr/lib/libSystem.B.dylib

Model: MacBook7,1, BootROM MB71.0039.B09, 2 processors, Intel Core 2 Duo, 2.4 GHz, 2 GB, SMC 1.60f5
Graphics: NVIDIA GeForce 320M, NVIDIA GeForce 320M, PCI, 256 MB
Memory Module: global_name
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x93), Broadcom BCM43xx 1.0 (5.10.131.16.1)
Bluetooth: Version 2.3.7f1, 2 service, 19 devices, 1 incoming serial ports
Network Service: AirPort, AirPort, en1
Serial ATA Device: Hitachi HTS545025B9SA02, 232.89 GB
Serial ATA Device: MATSHITADVD-R   UJ-898
USB Device: Built-in iSight, 0x05ac  (Apple Inc.), 0x8507, 0x24600000
USB Device: Apple Internal Keyboard / Trackpad, 0x05ac  (Apple Inc.), 0x0236, 0x06300000
USB Device: BRCM2070 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0x06600000
USB Device: Bluetooth USB Host Controller, 0x05ac  (Apple Inc.), 0x8218, 0x06630000</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268182</commentid>
    <comment_count>1</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-08-23 16:45:22 -0700</bug_when>
    <thetext>*** Bug 43986 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268584</commentid>
    <comment_count>2</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-08-24 09:06:29 -0700</bug_when>
    <thetext>I am experiencing a similar crash on Windows in WebInspectorFrontendClient::closeWindow. It appears that the associated Page and/or WebView are destroyed before the Web Inspector is closed on both Mac and Windows.

The closest I could get with bisecting was that this was caused by some change in between r64889 and r65052. I will continue to investigate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268904</commentid>
    <comment_count>3</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-08-24 16:58:58 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I am experiencing a similar crash on Windows in WebInspectorFrontendClient::closeWindow. It appears that the associated Page and/or WebView are destroyed before the Web Inspector is closed on both Mac and Windows.
&gt; 
&gt; The closest I could get with bisecting was that this was caused by some change in between r64889 and r65052. I will continue to investigate.

This regression first shows up after r64951 (http://trac.webkit.org/changeset/64951), which switched from InspectorFrontend to RemoteInspectorFrontend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269492</commentid>
    <comment_count>4</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-08-25 14:10:02 -0700</bug_when>
    <thetext>This should really not be fixed by just adding another null check for the webView in destroyInspectorView (both on Windows and on Mac). Page will always be null here, since it is being called as a result of a asynchronous callback from something called by Page&apos;s destructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269495</commentid>
    <comment_count>5</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-08-25 14:15:22 -0700</bug_when>
    <thetext>This is happening because _inspectedWebView in WebInspectorClient.mm is not retained. And closing the window deallocs that WebView, which kicks off an asynchronous close process. By the time the asynchronous close finishes the _inspectedWebView is pointing at a dealloced object.

And _inspectedWebView in WebInspectorClient.mm can&apos;t be retained because it would cause a reference cycle/leak.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269499</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-08-25 14:18:59 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This is happening because _inspectedWebView in WebInspectorClient.mm is not retained. And closing the window deallocs that WebView, which kicks off an asynchronous close process. By the time the asynchronous close finishes the _inspectedWebView is pointing at a dealloced object.
&gt; 
&gt; And _inspectedWebView in WebInspectorClient.mm can&apos;t be retained because it would cause a reference cycle/leak.

Given that, the solution has to be a back-pointer from the web view to the inspector client.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269523</commentid>
    <comment_count>7</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-08-25 14:49:53 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; This is happening because _inspectedWebView in WebInspectorClient.mm is not retained. And closing the window deallocs that WebView, which kicks off an asynchronous close process. By the time the asynchronous close finishes the _inspectedWebView is pointing at a dealloced object.
&gt; &gt; 
&gt; &gt; And _inspectedWebView in WebInspectorClient.mm can&apos;t be retained because it would cause a reference cycle/leak.
&gt; 
&gt; Given that, the solution has to be a back-pointer from the web view to the inspector client.

That is esentially what we use to do, but it got changed into an async call along the way without considering the lifetime of these objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269529</commentid>
    <comment_count>8</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-08-25 15:02:34 -0700</bug_when>
    <thetext>Re-assigning to Ilya Tikhonovsky, since Pavel Feldman indicated that he and Yury Semikhatsky were looking at it and were close to a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269870</commentid>
    <comment_count>9</comment_count>
      <attachid>65560</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-26 07:24:08 -0700</bug_when>
    <thetext>Created attachment 65560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269875</commentid>
    <comment_count>10</comment_count>
      <attachid>65560</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-26 07:35:57 -0700</bug_when>
    <thetext>Comment on attachment 65560
Patch

r+ with nits.

WebCore/inspector/InspectorFrontendHost.cpp:173
 +          disconnectClient(); // Disconnect from client.
Why does disconnecting from backend cut the link to the client? I think it should be cut by the client itself.

WebCore/inspector/front-end/inspector.js:719
 +          return;
Can this happen?

WebKit/chromium/src/InspectorFrontendClientImpl.cpp:110
 +      m_client-&gt;closeWindow();
We might want to clear the link to client from here instead.

WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp:277
 +  void InspectorFrontendClient::destroyInspectorWindow(bool notifyInspectorController)
That is fine for now, but we should remove the link from inspector frontend client to the inspected page. It should go through a inspector / inspectable mapping class as we have it in chromium. Maybe we can implement a common one in WebCore.

WebKit/qt/WebCoreSupport/InspectorClientQt.cpp:1
 +  /* {
Remove this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269899</commentid>
    <comment_count>11</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-26 08:38:21 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 65560 [details])
&gt; r+ with nits.
&gt; 
&gt; WebCore/inspector/InspectorFrontendHost.cpp:173
&gt;  +          disconnectClient(); // Disconnect from client.
&gt; Why does disconnecting from backend cut the link to the client? I think it should be cut by the client itself.
&gt; 
Let&apos;s do this in a separate change.

&gt; WebCore/inspector/front-end/inspector.js:719
&gt;  +          return;
&gt; Can this happen?
&gt; 
Hardly. Removed the code.

&gt; WebKit/qt/WebCoreSupport/InspectorClientQt.cpp:1
&gt;  +  /* {
&gt; Remove this change.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269900</commentid>
    <comment_count>12</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-26 08:38:32 -0700</bug_when>
    <thetext>Committed r66103</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269913</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-26 08:56:10 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/66103 might have broken Chromium Win Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270084</commentid>
    <comment_count>14</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-08-26 13:35:27 -0700</bug_when>
    <thetext>r66103 was rolled out in r66106.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270388</commentid>
    <comment_count>15</comment_count>
      <attachid>65692</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-27 02:07:14 -0700</bug_when>
    <thetext>Created attachment 65692
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270400</commentid>
    <comment_count>16</comment_count>
      <attachid>65692</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-27 03:05:26 -0700</bug_when>
    <thetext>Comment on attachment 65692
Patch

Clearing flags on attachment: 65692

Committed r66198: &lt;http://trac.webkit.org/changeset/66198&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270401</commentid>
    <comment_count>17</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-27 03:05:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270406</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-27 03:38:52 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/66198 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271370</commentid>
    <comment_count>19</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-30 03:11:36 -0700</bug_when>
    <thetext>Reopen, because it was rolled out by http://trac.webkit.org/changeset/66376 
See https://bugs.webkit.org/show_bug.cgi?id=44856 for details</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271371</commentid>
    <comment_count>20</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-30 03:12:53 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271372</commentid>
    <comment_count>21</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-08-30 03:14:52 -0700</bug_when>
    <thetext>crashes:

http://build.webkit.org/results/Qt%20Linux%20Release/r66198%20%2818537%29/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273414</commentid>
    <comment_count>22</comment_count>
      <attachid>66377</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-02 09:14:12 -0700</bug_when>
    <thetext>Created attachment 66377
patch that I&apos;m going to land(doesn&apos;t crash Qt)

The only difference with the previous one is in InspectorFrontendClientQt::destroyInspectorView which now checks if the inspected page still exists before accessing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273932</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-03 07:25:16 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/66720 might have broken Leopard Intel Debug (Tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273944</commentid>
    <comment_count>24</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-03 08:05:15 -0700</bug_when>
    <thetext>Committed r66720.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276511</commentid>
    <comment_count>25</comment_count>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2010-09-09 09:34:59 -0700</bug_when>
    <thetext>I&apos;m still getting crashes every time for this.  My reproducible test case for this is:
 - Open Webkit
 - Go to http://webkit.org
 - Open the Inspector
 - Switch to Resources tab, enable Resources
 - Close the window when the page has reloaded.

On r67077 this still gives the following crash; I&apos;ll attach a full crash log as well:

Application Specific Information:
objc_msgSend() selector name: _isClosed

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib               	0x00007fff87bf511c objc_msgSend + 40
1   com.apple.WebKit              	0x0000000100a405e4 -[WebInspectorWindowController close] + 84
2   com.apple.WebKit              	0x0000000100a40b1f -[WebInspectorWindowController destroyInspectorView:] + 127
3   com.apple.WebCore             	0x000000010107384b WebCore::InspectorFrontendHost::disconnectFromBackend() + 27
4   com.apple.WebCore             	0x000000010122bd26 WebCore::jsInspectorFrontendHostPrototypeFunctionDisconnectFromBackend(JSC::ExecState*) + 118
5   ???                           	0x00003be32b8001aa 0 + 65846873424298
6   com.apple.JavaScriptCore      	0x00000001007dcba8 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, JSC::JSValue*) + 888</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276512</commentid>
    <comment_count>26</comment_count>
      <attachid>67045</attachid>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2010-09-09 09:36:47 -0700</bug_when>
    <thetext>Created attachment 67045
r67077 crash log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276762</commentid>
    <comment_count>27</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-09-09 14:23:23 -0700</bug_when>
    <thetext>#c25 and #c26 indicate that this bug has not been fully fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278789</commentid>
    <comment_count>28</comment_count>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2010-09-14 03:14:12 -0700</bug_when>
    <thetext>I&apos;m still getting crashes several times daily on r67358 - just have to keep minimising windows instead of closing them if I&apos;ve used the inspector, but I still tend to forget.

Using the following steps:
1) Open website
2) Open web inspector
3) Enable resources
4) Close window
…does appear to crash 100% on some sites, but not others.  For example, performing these steps on http://nightly.webkit.org/start/trunk/67358 doesn&apos;t cause a crash; performing those steps on http://webkit.org (and seemingly every site I work on) does cause a crash every time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278844</commentid>
    <comment_count>29</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-09-14 06:07:50 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; I&apos;m still getting crashes several times daily on r67358 - just have to keep minimising windows instead of closing them if I&apos;ve used the inspector, but I still tend to forget.
&gt; 
&gt; Using the following steps:
&gt; 1) Open website
&gt; 2) Open web inspector
&gt; 3) Enable resources
&gt; 4) Close window
&gt; …does appear to crash 100% on some sites, but not others.  For example, performing these steps on http://nightly.webkit.org/start/trunk/67358 doesn&apos;t cause a crash; performing those steps on http://webkit.org (and seemingly every site I work on) does cause a crash every time.

I cannot reproduce this on Mac in Safari 5.0.2 with WebKit r67358 by following the steps you are describing on http://webkit.org.

Is there a certain way you are opening the web inspector and a certain way you are enabling resources (through the button on the bottom bar)? How soon after you enable resources are you closing the window behind the web inspector? How many other browser windows do you have open when it crashes? Does it happen when you enable scripts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278850</commentid>
    <comment_count>30</comment_count>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2010-09-14 06:22:30 -0700</bug_when>
    <thetext>Hi Jessie,

Thanks for looking into this - how curious that you can&apos;t replicate it?

I&apos;m on 10.6.4, using r67358 (Safari 5.0.2 installed as the &quot;base&quot; application) from the nightly downloads.

I open the web inspector either via the menu or via the keyboard, and enable the resources pane either via the button within the pane or in the bottom bar - both produce the same crashes.

I don&apos;t have to have any other windows open - a freshly launched WebKit will show the problems; I normally have all panels disabled unless I enable them for a particular site.

Here&apos;s a screen recording of a quick couple of examples - ~7MB silent .mov: http://beent.je/webkitcrashes.mov</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278857</commentid>
    <comment_count>31</comment_count>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2010-09-14 06:30:27 -0700</bug_when>
    <thetext>Jessie: you&apos;re quite correct.  Enabling the script debugger tab before enabling the Resources tab prevents the crash!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278874</commentid>
    <comment_count>32</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-09-14 07:13:20 -0700</bug_when>
    <thetext>&gt; Hi Jessie,
&gt; 
&gt; Thanks for looking into this - how curious that you can&apos;t replicate it?
&gt; 
&gt; I&apos;m on 10.6.4, using r67358 (Safari 5.0.2 installed as the &quot;base&quot; application) from the nightly downloads.
&gt; 
&gt; I open the web inspector either via the menu or via the keyboard, and enable the resources pane either via the button within the pane or in the bottom bar - both produce the same crashes.
&gt; 
&gt; I don&apos;t have to have any other windows open - a freshly launched WebKit will show the problems; I normally have all panels disabled unless I enable them for a particular site.
&gt; 
&gt; Here&apos;s a screen recording of a quick couple of examples - ~7MB silent .mov: http://beent.je/webkitcrashes.mov

Even if I follow those exact steps (docking my web inspector which I usually keep as its own separate window, disabling the scripts panel and all other panels, enabling resources by using the button on the main page instead of at the bottom of the screen) I can&apos;t reproduce the crash in r67358. This is mildly maddening because you clearly have video evidence of the crash and it is clearly on r67358.

Can anyone else reproduce this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278969</commentid>
    <comment_count>33</comment_count>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2010-09-14 09:28:50 -0700</bug_when>
    <thetext>A little further information after testing, prompted by IRC:

1) Enabling the script debugger tab before closing the window does not prevent the crash; this is a red herring.  But:

2) Hiding the resources view before closing the window *does* prevent the crash.  That is: either switching to another inspector view (active or disabled), or closing the inspector pane when still showing resources, prevents the crash on window close.  This doesn&apos;t appear to be related to input focus, as ensuring focus is out of the inspector doesn&apos;t affect the behaviour observed above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282245</commentid>
    <comment_count>34</comment_count>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2010-09-21 05:58:46 -0700</bug_when>
    <thetext>Still happening as of r67838 I&apos;m afraid…

One more data point: crashes only occur if the Web Inspector is docked to a window.  When in its own window, no crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282261</commentid>
    <comment_count>35</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-09-21 06:33:28 -0700</bug_when>
    <thetext>(In reply to comment #34)
&gt; Still happening as of r67838 I&apos;m afraid…
&gt; 
&gt; One more data point: crashes only occur if the Web Inspector is docked to a window.  When in its own window, no crashes.

I still cannot reproduce this crash, but looking at the code the issue is probably that in WebInspectorClient.mm&apos;s WebInspectorWindowController::close, the it is dereferencing _inspectedWebView to ask if it _isClosed.

This is probably caused by the same issue that was causing this crash before: the Inspected WebView has gone away before this method is called and therefore dereferencing it here to find out if it is closed causes a crash.

The reason we now do not see that crash more often is we have guarded that dereference of the _inspectedWebView in WebInspectorWindowController::destroyInspectorView with a check. We do not access the _inspectedWebView if we aren&apos;t told we need to notify the inspector controller to disconnect the front end.

It might be enough to fix it to make the if ([_inspectedWebView _isClosed]) in WebInspectorWindowController::close a if (_inspectedWebView &amp;&amp; [_inspectedWebView _isClosed]).

Alternatively, if we know that not needing to notify the inspector controller to disconnect the frontend means that the inspector controller has or will take care of closing the window itself (even if attached), we should not call [self close] in WebInspectorWindowController if we are told that we don&apos;t need to notify the inspector controller. I am just not sure at this point that we can definitively say that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282262</commentid>
    <comment_count>36</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-09-21 06:34:13 -0700</bug_when>
    <thetext>(In reply to comment #35)
&gt; (In reply to comment #34)
&gt; &gt; Still happening as of r67838 I&apos;m afraid…
&gt; &gt; 
&gt; &gt; One more data point: crashes only occur if the Web Inspector is docked to a window.  When in its own window, no crashes.
&gt; 
&gt; I still cannot reproduce this crash, but looking at the code the issue is probably that in WebInspectorClient.mm&apos;s WebInspectorWindowController::close, the it is dereferencing _inspectedWebView to ask if it _isClosed.
&gt; 
&gt; This is probably caused by the same issue that was causing this crash before: the Inspected WebView has gone away before this method is called and therefore dereferencing it here to find out if it is closed causes a crash.
&gt; 
&gt; The reason we now do not see that crash more often is we have guarded that dereference of the _inspectedWebView in WebInspectorWindowController::destroyInspectorView with a check. We do not access the _inspectedWebView if we aren&apos;t told we need to notify the inspector controller to disconnect the front end.
&gt; 
&gt; It might be enough to fix it to make the if ([_inspectedWebView _isClosed]) in WebInspectorWindowController::close a if (_inspectedWebView &amp;&amp; [_inspectedWebView _isClosed]).
&gt; 
&gt; Alternatively, if we know that not needing to notify the inspector controller to disconnect the frontend means that the inspector controller has or will take care of closing the window itself (even if attached), we should not call [self close] in WebInspectorWindowController if we are told that we don&apos;t need to notify the inspector controller. I am just not sure at this point that we can definitively say that.

I am also a little hesitant to put up a patch with either of these approaches since I cannot reproduce the issue and any fix would be speculative.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282275</commentid>
    <comment_count>37</comment_count>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2010-09-21 06:53:34 -0700</bug_when>
    <thetext>I&apos;m happy to apply any patches posted here to a local copy and see if it works, although the next couple of days look rather busy!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282293</commentid>
    <comment_count>38</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-09-21 07:22:22 -0700</bug_when>
    <thetext>(In reply to comment #36)
&gt; (In reply to comment #35)
&gt; &gt; (In reply to comment #34)
&gt; &gt; &gt; Still happening as of r67838 I&apos;m afraid…
&gt; &gt; &gt; 
&gt; &gt; &gt; One more data point: crashes only occur if the Web Inspector is docked to a window.  When in its own window, no crashes.
&gt; &gt; 
&gt; &gt; I still cannot reproduce this crash, but looking at the code the issue is probably that in WebInspectorClient.mm&apos;s WebInspectorWindowController::close, the it is dereferencing _inspectedWebView to ask if it _isClosed.
&gt; &gt; 
&gt; &gt; This is probably caused by the same issue that was causing this crash before: the Inspected WebView has gone away before this method is called and therefore dereferencing it here to find out if it is closed causes a crash.
&gt; &gt; 
&gt; &gt; The reason we now do not see that crash more often is we have guarded that dereference of the _inspectedWebView in WebInspectorWindowController::destroyInspectorView with a check. We do not access the _inspectedWebView if we aren&apos;t told we need to notify the inspector controller to disconnect the front end.
&gt; &gt; 
&gt; &gt; It might be enough to fix it to make the if ([_inspectedWebView _isClosed]) in WebInspectorWindowController::close a if (_inspectedWebView &amp;&amp; [_inspectedWebView _isClosed]).

Scratch this approach, I forgot that it will still be dependent on the race condition as described earlier.

&gt; &gt; 
&gt; &gt; Alternatively, if we know that not needing to notify the inspector controller to disconnect the frontend means that the inspector controller has or will take care of closing the window itself (even if attached), we should not call [self close] in WebInspectorWindowController if we are told that we don&apos;t need to notify the inspector controller. I am just not sure at this point that we can definitively say that.
&gt; 
&gt; I am also a little hesitant to put up a patch with either of these approaches since I cannot reproduce the issue and any fix would be speculative.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282993</commentid>
    <comment_count>39</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-09-22 09:53:13 -0700</bug_when>
    <thetext>*** Bug 46240 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289550</commentid>
    <comment_count>40</comment_count>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2010-10-05 06:07:22 -0700</bug_when>
    <thetext>I&apos;m still running into this crash several times a day on r69082 - as a web dev I&apos;m always opening and closing the resources pane, and inevitably I close the window before remember to detach the inspector beforehand…

Is there anything I can do to help resolve this?

I can see in the source that the problem could only possibly occur in attached inspectors; in WebInspectorClient.mm, windowShouldClose: calls destroyInspectorView:, which if it&apos;s attached to a window calls [self close].  There, if _attachedToInspectedWebView, it checks whether the _inspectedWebView _isClosed - which is where the crash occurs, as _inspectedWebView is no longer retained by WebInspectorWindowController.

But not having experience with the source, I have no idea where to go from here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289633</commentid>
    <comment_count>41</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-10-05 08:44:52 -0700</bug_when>
    <thetext>(In reply to comment #40)
&gt; I&apos;m still running into this crash several times a day on r69082 - as a web dev I&apos;m always opening and closing the resources pane, and inevitably I close the window before remember to detach the inspector beforehand…
&gt; 
&gt; Is there anything I can do to help resolve this?
&gt; 
&gt; I can see in the source that the problem could only possibly occur in attached inspectors; in WebInspectorClient.mm, windowShouldClose: calls destroyInspectorView:, which if it&apos;s attached to a window calls [self close].  There, if _attachedToInspectedWebView, it checks whether the _inspectedWebView _isClosed - which is where the crash occurs, as _inspectedWebView is no longer retained by WebInspectorWindowController.
&gt; 
&gt; But not having experience with the source, I have no idea where to go from here.

I have been looking at this, and I have actually been able to reproduce it on a different machine than the one I was trying on before. However, neither of the fixes I proposed above solve the problem.

If you need an immediate fix because you find it impossible to live on it as it is, you can make the if clause in destroyInspectorView be if (_attachedToInspectedWebView &amp;&amp; notifyInspectorController) and then move the last call to [_webView close] into the if (notifyInspectorController) statement. That will cause it not crash, but it also will cause the web view to be leaked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307280</commentid>
    <comment_count>42</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-11-10 03:16:31 -0800</bug_when>
    <thetext>*** Bug 47351 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320582</commentid>
    <comment_count>43</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-12-10 21:48:34 -0800</bug_when>
    <thetext>*** Bug 50837 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320583</commentid>
    <comment_count>44</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-12-10 21:50:14 -0800</bug_when>
    <thetext>Is anyone still working on this bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322680</commentid>
    <comment_count>45</comment_count>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2010-12-15 10:37:05 -0800</bug_when>
    <thetext>Doesn&apos;t look like it ;)

I&apos;m still able to reproduce this issue on demand if required for testing, and am willing to make changes to a local copy of the source to verify patches if you&apos;d like me to try debugging anything.  Just let me know!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322819</commentid>
    <comment_count>46</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-12-15 14:47:05 -0800</bug_when>
    <thetext>*** Bug 51080 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325114</commentid>
    <comment_count>47</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-12-21 11:45:32 -0800</bug_when>
    <thetext>*** Bug 51400 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335146</commentid>
    <comment_count>48</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-16 22:27:10 -0800</bug_when>
    <thetext>*** Bug 52533 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335147</commentid>
    <comment_count>49</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-16 22:27:53 -0800</bug_when>
    <thetext>&lt;rdar://problem/8872093&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370080</commentid>
    <comment_count>50</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-03-18 19:32:29 -0700</bug_when>
    <thetext>*** Bug 55865 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378045</commentid>
    <comment_count>51</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-04-01 13:47:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/8415399&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378057</commentid>
    <comment_count>52</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-04-01 14:00:49 -0700</bug_when>
    <thetext>I can&apos;t reproduce this on TOT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378065</commentid>
    <comment_count>53</comment_count>
    <who name="Kevin M. Dean">kevin</who>
    <bug_when>2011-04-01 14:08:24 -0700</bug_when>
    <thetext>(In reply to comment #52)
&gt; I can&apos;t reproduce this on TOT.

After a couple of tries I can still trigger a crash although now with a different log than before. I was still getting the objc_msgSend_rtp crash as recent as yesterday.


Process:         Safari [3341]
Path:            /Applications/WebKit.app/Contents/MacOS/WebKit
Identifier:      org.webkit.nightly.WebKit
Version:         r82674 (82674)
Code Type:       PPC (Native)
Parent Process:  launchd [126]

Date/Time:       2011-04-01 17:05:07.072 -0400
OS Version:      Mac OS X 10.5.8 (9L30)
Report Version:  6
Anonymous UUID:  F41C1802-6457-4B49-A738-107FEBA3B7F7

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000030
Crashed Thread:  0

Thread 0 Crashed:
0   com.apple.WebCore             	0x01bef7d8 WebCore::InspectorBackendDispatcher::DOM_hideDOMNodeHighlight(long, WebCore::InspectorObject*) + 56
1   com.apple.WebCore             	0x01edd9ec WebCore::jsInspectorFrontendHostPrototypeFunctionSendMessageToBackend(JSC::ExecState*) + 460
2   com.apple.JavaScriptCore      	0x007cabd0 JSC::Interpreter::privateExecute(JSC::Interpreter::ExecutionFlag, JSC::RegisterFile*, JSC::ExecState*) + 57824
3   com.apple.JavaScriptCore      	0x007d2ed8 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 1720
4   com.apple.JavaScriptCore      	0x00778fd4 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 84
5   com.apple.WebCore             	0x01dba5dc WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) + 2076
6   com.apple.WebCore             	0x01a3d1f8 WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector&lt;WebCore::RegisteredEventListener, 1ul&gt;&amp;) + 376
7   com.apple.WebCore             	0x01a3dc94 WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 116
8   com.apple.WebCore             	0x01a25c28 WebCore::EventContext::handleLocalEvents(WebCore::Event*) const + 136
9   com.apple.WebCore             	0x01a2667c WebCore::EventDispatcher::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;) + 972
10  com.apple.WebCore             	0x01a27a10 WebCore::EventDispatcher::dispatchMouseEvent(WebCore::Node*, WebCore::PlatformMouseEvent const&amp;, WTF::AtomicString const&amp;, int, WebCore::Node*) + 480
11  com.apple.WebCore             	0x01a322a4 WebCore::EventHandler::updateMouseEventTargetNode(WebCore::Node*, WebCore::PlatformMouseEvent const&amp;, bool) + 1636
12  com.apple.WebCore             	0x01a3256c WebCore::EventHandler::dispatchMouseEvent(WTF::AtomicString const&amp;, WebCore::Node*, bool, int, WebCore::PlatformMouseEvent const&amp;, bool) + 92
13  com.apple.WebCore             	0x01a34208 WebCore::EventHandler::handleMouseMoveEvent(WebCore::PlatformMouseEvent const&amp;, WebCore::HitTestResult*) + 1512
14  com.apple.WebCore             	0x01a34370 WebCore::EventHandler::mouseMoved(WebCore::PlatformMouseEvent const&amp;) + 64
15  com.apple.WebCore             	0x01a38540 WebCore::EventHandler::mouseMoved(NSEvent*) + 320
16  com.apple.WebKit              	0x009e6f90 -[WebHTMLView(WebPrivate) _updateMouseoverWithEvent:] + 704
17  com.apple.CoreFoundation      	0x91f9e818 CFRunLoopRunSpecific + 2968
18  com.apple.HIToolbox           	0x9034db14 RunCurrentEventLoopInMode + 264
19  com.apple.HIToolbox           	0x9034d8a0 ReceiveNextEventCommon + 260
20  com.apple.HIToolbox           	0x9034d778 BlockUntilNextEventMatchingListInMode + 84
21  com.apple.AppKit              	0x90977244 _DPSNextEvent + 596
22  com.apple.AppKit              	0x90976bfc -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 112
23  com.apple.Safari              	0x00019a10 0x1000 + 100880
24  com.apple.AppKit              	0x9097089c -[NSApplication run] + 744
25  com.apple.AppKit              	0x90941298 NSApplicationMain + 440
26  com.apple.Safari              	0x0000c058 0x1000 + 45144</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378074</commentid>
    <comment_count>54</comment_count>
    <who name="Rowan Beentje">rowan</who>
    <bug_when>2011-04-01 14:23:37 -0700</bug_when>
    <thetext>The mixed news is, I can no longer reproduce this bug 100% of the time.  The bad news is that I do still get this exact crash in r82674; to do so I still have to use the attached inspector view:


Process:         Safari [94158]
Path:            /Applications/Safari.app/Contents/MacOS/Safari
Identifier:      org.webkit.nightly.WebKit
Version:         r82674 (82674)
Code Type:       X86-64 (Native)
Parent Process:  launchd [188]

Date/Time:       2011-04-01 22:18:41.820 +0100
OS Version:      Mac OS X 10.6.6 (10J567)
Report Version:  6

Interval Since Last Report:          307747 sec
Crashes Since Last Report:           4
Per-App Interval Since Last Report:  419 sec
Per-App Crashes Since Last Report:   1
Anonymous UUID:                      C9B91413-F1DD-4E5C-970C-BE28C7C58029

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000000000000001e
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Application Specific Information:
objc_msgSend() selector name: _isClosed


Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib               	0x00007fff8082011c objc_msgSend + 40
1   com.apple.WebKit              	0x0000000100a7dd04 -[WebInspectorWindowController close] + 84
2   com.apple.WebKit              	0x0000000100a7e2ff -[WebInspectorWindowController destroyInspectorView:] + 127
3   com.apple.WebCore             	0x00000001011a3ecb WebCore::InspectorFrontendHost::disconnectFromBackend() + 27
4   com.apple.WebCore             	0x000000010138fd4d WebCore::jsInspectorFrontendHostPrototypeFunctionDisconnectFromBackend(JSC::ExecState*) + 93
5   ???                           	0x000049314e4001e8 0 + 80476115042792
6   com.apple.JavaScriptCore      	0x00000001007d9bcf JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 847
7   ???                           	0x000000011c6eaa00 0 + 4771981824
8   ???                           	0x000000012345af20 0 + 4886736672
9   com.apple.JavaScriptCore      	0x000000010083b9a0 JSC::JSFunction::~JSFunction() + 0
10  ???                           	0x001522c0058d48fd 0 + 5949182633134333</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378093</commentid>
    <comment_count>55</comment_count>
    <who name="Kevin M. Dean">kevin</who>
    <bug_when>2011-04-01 14:39:31 -0700</bug_when>
    <thetext>(In reply to comment #53)
&gt; (In reply to comment #52)
&gt; &gt; I can&apos;t reproduce this on TOT.
&gt; 
&gt; After a couple of tries I can still trigger a crash although now with a different log than before. I was still getting the objc_msgSend_rtp crash as recent as yesterday.

Subsequent crashes since my last comment are back to the usual objc_msgSend_rtp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378100</commentid>
    <comment_count>56</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-04-01 14:50:44 -0700</bug_when>
    <thetext>Thanks, being attached is the key to reproducing it.

Kevin, please file a new bug about the WebCore::InspectorBackendDispatcher::DOM_hideDOMNodeHighlight crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378135</commentid>
    <comment_count>57</comment_count>
    <who name="Chris Petersen">c.petersen87</who>
    <bug_when>2011-04-01 15:33:53 -0700</bug_when>
    <thetext>I can confirm this crash is still occurring with Webkit NB r82674 on 10.6.7. I can reproduce on my first attempt:

1) Launch r82674 
2) Enable Develop menu
3) Select Show Web Inspector ( Inspector is attached to window )
4) Close browser window which contains the web inspector
5) Crash occurs in a few seconds after closing window

Process:         Safari [208]
Path:            /Applications/Safari.app/Contents/MacOS/Safari
Identifier:      org.webkit.nightly.WebKit
Version:         r82674 (82674)
Code Type:       X86-64 (Native)
Parent Process:  launchd [110]

Date/Time:       2011-04-01 15:22:02.726 -0700
OS Version:      Mac OS X 10.6.7 (10J869)
Report Version:  6

Interval Since Last Report:          98812 sec
Crashes Since Last Report:           3
Per-App Interval Since Last Report:  132 sec
Per-App Crashes Since Last Report:   1
Anonymous UUID:                      B0A7A7C4-B6FC-43DE-8EBE-1ACD3F221BD4

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000013
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Application Specific Information:
objc_msgSend() selector name: _isClosed


Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib               	0x00007fff85f1a11c objc_msgSend + 40
1   com.apple.WebKit              	0x0000000100a7dd04 -[WebInspectorWindowController close] + 84
2   com.apple.WebKit              	0x0000000100a7e2ff -[WebInspectorWindowController destroyInspectorView:] + 127
3   com.apple.WebCore             	0x00000001011a3ecb WebCore::InspectorFrontendHost::disconnectFromBackend() + 27
4   com.apple.WebCore             	0x000000010138fd4d WebCore::jsInspectorFrontendHostPrototypeFunctionDisconnectFromBackend(JSC::ExecState*) + 93
5   ???                           	0x00004e899d2001e8 0 + 86352953606632
6   com.apple.JavaScriptCore      	0x00000001007d9bcf JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 847
7   ???                           	0x0000000117fd7c00 0 + 4697455616
8   ???                           	0x0000000117de8ec8 0 + 4695428808
9   com.apple.JavaScriptCore      	0x000000010083b9a0 JSC::JSFunction::~JSFunction() + 0
10  ???                           	0x001522c0058d48fd 0 + 5949182633134333

Thread 1:  Dispatch queue: com.apple.libdispatch-manager
0   libSystem.B.dylib             	0x00007fff856b912a kevent + 10
1   libSystem.B.dylib             	0x00007fff856baffd _dispatch_mgr_invoke + 154
2   libSystem.B.dylib             	0x00007fff856bacd4 _dispatch_queue_invoke + 185
3   libSystem.B.dylib             	0x00007fff856ba7fe _dispatch_worker_thread2 + 252
4   libSystem.B.dylib             	0x00007fff856ba128 _pthread_wqthread + 353
5   libSystem.B.dylib             	0x00007fff856b9fc5 start_wqthread + 13

Thread 2:  WebCore: IconDatabase
0   libSystem.B.dylib             	0x00007fff856daf8a __semwait_signal + 10
1   libSystem.B.dylib             	0x00007fff856deda1 _pthread_cond_wait + 1286
2   com.apple.WebCore             	0x0000000101104d99 WebCore::IconDatabase::syncThreadMainLoop() + 265
3   com.apple.WebCore             	0x0000000101104ed1 WebCore::IconDatabase::iconDatabaseSyncThread() + 177
4   libSystem.B.dylib             	0x00007fff856d94f6 _pthread_start + 331
5   libSystem.B.dylib             	0x00007fff856d93a9 thread_start + 13

Thread 3:  Safari: CertRevocationChecker
0   libSystem.B.dylib             	0x00007fff856a029a mach_msg_trap + 10
1   libSystem.B.dylib             	0x00007fff856a090d mach_msg + 59
2   com.apple.CoreFoundation      	0x00007fff82640932 __CFRunLoopRun + 1698
3   com.apple.CoreFoundation      	0x00007fff8263fdbf CFRunLoopRunSpecific + 575
4   com.apple.Safari              	0x000000010002f629 0x100000000 + 194089
5   com.apple.Safari              	0x000000010002f5b9 0x100000000 + 193977
6   libSystem.B.dylib             	0x00007fff856d94f6 _pthread_start + 331
7   libSystem.B.dylib             	0x00007fff856d93a9 thread_start + 13

Thread 4:  WebCore: LocalStorage
0   libSystem.B.dylib             	0x00007fff856daf8a __semwait_signal + 10
1   libSystem.B.dylib             	0x00007fff856deda1 _pthread_cond_wait + 1286
2   com.apple.JavaScriptCore      	0x00000001008eba00 WTF::ThreadCondition::timedWait(WTF::Mutex&amp;, double) + 64
3   com.apple.WebCore             	0x00000001015bc481 WebCore::LocalStorageThread::threadEntryPoint() + 177
4   libSystem.B.dylib             	0x00007fff856d94f6 _pthread_start + 331
5   libSystem.B.dylib             	0x00007fff856d93a9 thread_start + 13</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392563</commentid>
    <comment_count>58</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-04-26 10:53:59 -0700</bug_when>
    <thetext>Is there any update on this? It is still a reproducible crash in closing the docked inspector, which is pretty bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393545</commentid>
    <comment_count>59</comment_count>
      <attachid>91282</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-27 07:59:26 -0700</bug_when>
    <thetext>Created attachment 91282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393548</commentid>
    <comment_count>60</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-27 08:10:48 -0700</bug_when>
    <thetext>Committed r85051: &lt;http://trac.webkit.org/changeset/85051&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393589</commentid>
    <comment_count>61</comment_count>
    <who name="Chris Petersen">c.petersen87</who>
    <bug_when>2011-04-27 09:05:50 -0700</bug_when>
    <thetext>Great. Pulled TOT webkit r85053 and building it now to verify fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393658</commentid>
    <comment_count>62</comment_count>
    <who name="Chris Petersen">c.petersen87</who>
    <bug_when>2011-04-27 11:01:58 -0700</bug_when>
    <thetext>With r85053, I no longer encounter this crash based on my steps in comment #57. Verified fixed in r85053.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393757</commentid>
    <comment_count>63</comment_count>
    <who name="Chris Petersen">c.petersen87</who>
    <bug_when>2011-04-27 13:34:17 -0700</bug_when>
    <thetext>I&apos;m closing since the issue has been verified and fixed in r85053</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394334</commentid>
    <comment_count>64</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-28 03:29:17 -0700</bug_when>
    <thetext>(In reply to comment #63)
&gt; I&apos;m closing since the issue has been verified and fixed in r85053

Thanks for verifying this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394555</commentid>
    <comment_count>65</comment_count>
      <attachid>91282</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-04-28 10:56:00 -0700</bug_when>
    <thetext>Comment on attachment 91282
Patch

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

&gt; Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm:-524
&gt; -

This code is absolutely used. It keeps the Develop menu items in Safari working when the Inspector window is front. Please add this code back and don&apos;t delete something when you don&apos;t know what it does.

Please add it back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394804</commentid>
    <comment_count>66</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-04-28 15:18:18 -0700</bug_when>
    <thetext>(In reply to comment #65)
&gt; (From update of attachment 91282 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=91282&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm:-524
&gt; &gt; -
&gt; 
&gt; This code is absolutely used. It keeps the Develop menu items in Safari working when the Inspector window is front. Please add this code back and don&apos;t delete something when you don&apos;t know what it does.
&gt; 
&gt; Please add it back.

Filed https://bugs.webkit.org/show_bug.cgi?id=59747 about the removed code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395103</commentid>
    <comment_count>67</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-04-28 22:08:01 -0700</bug_when>
    <thetext>(In reply to comment #65)
&gt; (From update of attachment 91282 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=91282&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm:-524
&gt; &gt; -
&gt; 
&gt; This code is absolutely used. It keeps the Develop menu items in Safari working when the Inspector window is front. Please add this code back and don&apos;t delete something when you don&apos;t know what it does.
&gt; 
&gt; Please add it back.

Yeah, sorry about that. Maybe it is the case when a little comment in the WebKit code might come handy.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65560</attachid>
            <date>2010-08-26 07:24:08 -0700</date>
            <delta_ts>2010-08-27 02:07:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44230-20100826182405.patch</filename>
            <type>text/plain</type>
            <size>23287</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
M2MwNGZiNzMzODMyYWUyYzA0OWQ0MTAyOTcwMDc2YTY5YTk1ODRiNS4uYzAyZTZkNGFkZTE4YjRm
ZTE1Yzg1ZTZmN2QwZjc4MmRhYzhhN2YxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wOC0yNiAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OOiBDcmFzaCBvY2N1cnMgYXQg
b2JqY19tc2dTZW5kIHdoZW4gY2xvc2luZyBhIHdpbmRvdyB0aGF0IGlzIGRpc3BsYXlpbmcgdGhl
IHdlYiBpbnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ0MjMwCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmlkbDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDb250cm9sbGVyOjppbnNwZWN0ZWRQYWdlRGVzdHJveWVkKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmNsb3NlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5k
SG9zdDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKTogZG9uJ3QgdHJ5IHRvIG5vdGlmeSBJbnNwZWN0
b3JDb250cm9sbGVyCisgICAgICAgIHRoYXQgZnJvbnRlbmQgY2xvc2VzIGlmIEluc3BlY3RvckNv
bnRyb2xsZXIgdHJpZ2dlcmVkIHRoZSBhY3Rpb24uCisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kSG9zdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZEhvc3QuaWRsOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0U3R1Yi5qczoKKyAgICAgICAgKC5XZWJJbnNwZWN0b3IuSW5zcGVjdG9yRnJvbnRlbmRI
b3N0U3R1Yi5wcm90b3R5cGUuZGlzY29ubmVjdEZyb21CYWNrZW5kKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kaXNj
b25uZWN0RnJvbUJhY2tlbmQpOgorCiAyMDEwLTA4LTI1ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdh
bGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmlkbAppbmRleCA3ZjM5ZjhkNWQwZTZiMTI4NDMxNTM5OWMxMGEwMmY1ODM1MDRl
MzRlLi5lOWI2OWY4NzNhMGJjMjE0YjI5NjEzMDU5MmMyYmY3ZGY3ZmRlNTVjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5pZGwKQEAgLTQwLDEwICs0MCw5IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAg
W25vdGlmeV0gdm9pZCBjaGlsZE5vZGVDb3VudFVwZGF0ZWQob3V0IGxvbmcgaWQsIG91dCBpbnQg
bmV3VmFsdWUpOwogICAgICAgICBbbm90aWZ5XSB2b2lkIGNoaWxkTm9kZUluc2VydGVkKG91dCBs
b25nIHBhcmVudElkLCBvdXQgbG9uZyBwcmV2SWQsIG91dCBPYmplY3Qgbm9kZSk7CiAgICAgICAg
IFtub3RpZnldIHZvaWQgY2hpbGROb2RlUmVtb3ZlZChvdXQgbG9uZyBwYXJlbnRJZCwgb3V0IGxv
bmcgaWQpOwotICAgICAgICBbbm90aWZ5XSB2b2lkIGNsb3NlKCk7CiAgICAgICAgIFtub3RpZnld
IHZvaWQgZGlkQ29tbWl0TG9hZCgpOwogICAgICAgICBbbm90aWZ5XSB2b2lkIGV2YWx1YXRlRm9y
VGVzdEluRnJvbnRlbmQob3V0IGxvbmcgdGVzdENhbGxJZCwgb3V0IFN0cmluZyBzY3JpcHQpOwot
ICAgICAgICBbbm90aWZ5XSB2b2lkIGluc3BlY3RlZFBhZ2VEZXN0cm95ZWQoKTsKKyAgICAgICAg
W25vdGlmeV0gdm9pZCBkaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKICAgICAgICAgW25vdGlmeV0g
dm9pZCBpbnNwZWN0ZWRVUkxDaGFuZ2VkKG91dCBTdHJpbmcgdXJsKTsKICAgICAgICAgW25vdGlm
eV0gdm9pZCBtb25pdG9yaW5nWEhSV2FzRW5hYmxlZCgpOwogICAgICAgICBbbm90aWZ5XSB2b2lk
IG1vbml0b3JpbmdYSFJXYXNEaXNhYmxlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcAppbmRleCBmNDdiMzIxNzQ5NjdjZTZmYWZmNGYwMDhhMmRmNjEzZjliOTI1
MjcyLi5jOGVhZWRhYmE4MzJhODZjZjJmMjYyNDUxOWU0YzdkYzgwMjU2ZDQ2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMTk4LDcgKzE5OCw3IEBAIElu
c3BlY3RvckNvbnRyb2xsZXI6On5JbnNwZWN0b3JDb250cm9sbGVyKCkKIHZvaWQgSW5zcGVjdG9y
Q29udHJvbGxlcjo6aW5zcGVjdGVkUGFnZURlc3Ryb3llZCgpCiB7CiAgICAgaWYgKG1fZnJvbnRl
bmQpCi0gICAgICAgIG1fZnJvbnRlbmQtPmluc3BlY3RlZFBhZ2VEZXN0cm95ZWQoKTsKKyAgICAg
ICAgbV9mcm9udGVuZC0+ZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CiAKICAgICBoaWRlSGlnaGxp
Z2h0KCk7CiAKQEAgLTU1NSw3ICs1NTUsOCBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNs
b3NlKCkKIHsKICAgICBpZiAoIW1fZnJvbnRlbmQpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Zy
b250ZW5kLT5jbG9zZSgpOworICAgIG1fZnJvbnRlbmQtPmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgp
OworICAgIGRpc2Nvbm5lY3RGcm9udGVuZCgpOwogfQogCiB2b2lkIEluc3BlY3RvckNvbnRyb2xs
ZXI6OmRpc2Nvbm5lY3RGcm9udGVuZCgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZENsaWVudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQuaAppbmRleCBjYmJiYzUzYzUzN2VjNWVmZjRmYTIwMzUwMjY5NWY5MjlkZjQz
OGE2Li4zMWY1MmI3NzQ0Zjc2MDk2MmQ5ZGI5OGJkYWFhNTRmOTM0MTM4N2IyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKQEAgLTUzLDYgKzUzLDcgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9udCgpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgY2xvc2VXaW5kb3coKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RG
cm9tQmFja2VuZCgpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0QXR0YWNoV2luZG93
KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0RGV0YWNoV2luZG93KCkgPSAwOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBiL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXggOGRjMDBhZTBh
MDdiNjk0M2I1MjE0ZThlNTJhOTQ0ZjgzNTBjYmIxNC4uYmM1MjllYWJlZjhhMzA0M2M2OTVjODM1
YTdjNmIxZmY0MDhhYmJiNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZEhvc3QuY3BwCkBAIC0xNjYsNiArMTY2LDE0IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0
OjpjbG9zZVdpbmRvdygpCiAgICAgfQogfQogCit2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6
ZGlzY29ubmVjdEZyb21CYWNrZW5kKCkKK3sKKyAgICBpZiAobV9jbGllbnQpIHsKKyAgICAgICAg
bV9jbGllbnQtPmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOworICAgICAgICBkaXNjb25uZWN0Q2xp
ZW50KCk7IC8vIERpc2Nvbm5lY3QgZnJvbSBjbGllbnQuCisgICAgfQorfQorCiB2b2lkIEluc3Bl
Y3RvckZyb250ZW5kSG9zdDo6YnJpbmdUb0Zyb250KCkKIHsKICAgICBpZiAobV9jbGllbnQpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaCBiL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCmluZGV4IDRiMzQzZmRhYThh
OGU4YzZlYThiOGI2NTM1MTlhYjVhYTFhODM2ZGIuLmQzMzM4OTM1MjJkZjY0M2ZmNzA1YTFmZjE1
ZGUxYjQxYWQ1ZTBkZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kSG9zdC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5oCkBAIC02Miw2ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcXVlc3RBdHRhY2hXaW5k
b3coKTsKICAgICB2b2lkIHJlcXVlc3REZXRhY2hXaW5kb3coKTsKICAgICB2b2lkIGNsb3NlV2lu
ZG93KCk7CisgICAgdm9pZCBkaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKICAgICB2b2lkIGJyaW5n
VG9Gcm9udCgpOwogICAgIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmlk
bCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwKaW5kZXggMGM3
Y2Y4YmJhOWU2MThlNzRiZjBiZmJkZjU2MDg1Njk1OWI1YjAyZC4uNjg1M2M3ZDRmYTAxZWQzNDlm
MmM1OWU3MjI2NDhiZTYyMjFkNWE5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmlkbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZEhvc3QuaWRsCkBAIC0zNCw2ICszNCw3IEBAIG1vZHVsZSBjb3JlIHsKICAgICBpbnRl
cmZhY2UgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0gSW5zcGVjdG9yRnJvbnRlbmRIb3N0IHsKICAg
ICAgICAgdm9pZCBsb2FkZWQoKTsKICAgICAgICAgdm9pZCBjbG9zZVdpbmRvdygpOworICAgICAg
ICB2b2lkIGRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOwogICAgICAgICB2b2lkIGJyaW5nVG9Gcm9u
dCgpOwogICAgICAgICB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoaW4gRE9NU3RyaW5nIG5ld1VS
TCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JG
cm9udGVuZEhvc3RTdHViLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3Rv
ckZyb250ZW5kSG9zdFN0dWIuanMKaW5kZXggYzRlNmJmNGQwZmM2ODI4YzE4M2Y2YjU1ZDdjOGNj
YjkyODJlZTc3MC4uMDdmMzkyZGI3NGU1MDY0NzBhNjNjMmNjYzg5Mjk2NzBlMGQ1OTgyYSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9z
dFN0dWIuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250
ZW5kSG9zdFN0dWIuanMKQEAgLTY0LDYgKzY0LDExIEBAIFdlYkluc3BlY3Rvci5JbnNwZWN0b3JG
cm9udGVuZEhvc3RTdHViLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fd2luZG93VmlzaWJs
ZSA9IGZhbHNlOwogICAgIH0sCiAKKyAgICBkaXNjb25uZWN0RnJvbUJhY2tlbmQ6IGZ1bmN0aW9u
KCkKKyAgICB7CisgICAgICAgIHRoaXMuX3dpbmRvd1Zpc2libGUgPSBmYWxzZTsKKyAgICB9LAor
CiAgICAgYXR0YWNoOiBmdW5jdGlvbigpCiAgICAgewogICAgIH0sCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCAyZTJjNTRmZWUwMzNlMDk4NjM3MWU4MmQxOTIy
ZGVhY2Y3NTA0ZmJlLi45OTlhNDZjODA3YWFiNGI2MDJkMzUxYzhiMDdhNDY0NGVhN2ZhYWNmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTcxMyw5ICs3MTMs
MTIgQEAgV2ViSW5zcGVjdG9yLmNsb3NlID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmNsb3NlV2luZG93KCk7CiB9CiAKLVdlYkluc3BlY3Rvci5pbnNwZWN0ZWRQ
YWdlRGVzdHJveWVkID0gZnVuY3Rpb24oKQorV2ViSW5zcGVjdG9yLmRpc2Nvbm5lY3RGcm9tQmFj
a2VuZCA9IGZ1bmN0aW9uKCkKIHsKLSAgICBXZWJJbnNwZWN0b3IuY2xvc2UoKTsKKyAgICBpZiAo
dGhpcy5faXNDbG9zaW5nKQorICAgICAgICByZXR1cm47CisgICAgdGhpcy5faXNDbG9zaW5nID0g
dHJ1ZTsKKyAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QuZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7
CiB9CiAKIFdlYkluc3BlY3Rvci5kb2N1bWVudE1vdXNlT3ZlciA9IGZ1bmN0aW9uKGV2ZW50KQpk
aWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKaW5kZXggMzhhOWYzNDEyZWZkNjJlYTlkZThiYmE3N2VkMzE0MzViNjNhYzEzZS4u
OTJiYzAzZmE1NDgwM2Y3NTJiMDY1YjAzNTdmODU0Y2E1NDAyMzgyZSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTAtMDgtMjYgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUkVHUkVTU0lPTjogQ3Jhc2ggb2NjdXJzIGF0IG9iamNfbXNnU2VuZCB3aGVuIGNsb3Npbmcg
YSB3aW5kb3cgdGhhdCBpcyBkaXNwbGF5aW5nIHRoZSB3ZWIgaW5zcGVjdG9yCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDIzMAorCisgICAgICAgICog
c3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oklu
c3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKToKKyAgICAg
ICAgKiBzcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmg6CisKIDIwMTAtMDgtMjUgIEls
eWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50SW1wbC5jcHAKaW5kZXggNDZmMmNiNjg3YTJmOTk5ZjQ1NmI5NjZmMzhl
ZTRiZGRjMDFhMmEwNS4uNTE4NjRmMWM3NzE2OTQzNjA3NzQ0Zjg3OTI2M2EzMTYyMDY5OGUzZSAx
MDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJ
bXBsLmNwcApAQCAtMTA1LDYgKzEwNSwxMSBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbDo6Y2xvc2VXaW5kb3coKQogICAgIG1fY2xpZW50LT5jbG9zZVdpbmRvdygpOwogfQogCit2
b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKCkK
K3sKKyAgICBtX2NsaWVudC0+Y2xvc2VXaW5kb3coKTsKK30KKwogdm9pZCBJbnNwZWN0b3JGcm9u
dGVuZENsaWVudEltcGw6OnJlcXVlc3RBdHRhY2hXaW5kb3coKQogewogICAgIG1fY2xpZW50LT5y
ZXF1ZXN0RG9ja1dpbmRvdygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRJbXBsLmgKaW5kZXggMTUwN2JmMmU2ZDc3YzU4YzVmOGRhNzM3YjNhNjM5
NjA2MmUxNjhhNy4uZmMyMWYzZWRhZTEzZWQwYmRiMjhhMjRiMTMyYjI1NGUxMmQ1NTcwNiAxMDA2
NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwu
aAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5o
CkBAIC02MSw2ICs2MSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBicmluZ1RvRnJv
bnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdEF0dGFj
aFdpbmRvdygpOwogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0RGV0YWNoV2luZG93KCk7CmRpZmYg
LS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4
IDQwNzM4NDBkNjczMDQ0YWQ1MGY4YWQwZjQxZTIzMDZiNjQ2YTc1YjQuLjA0MTA2NTg2ZTQxZTdj
ZDNlYTgzNzk1MWFmODlhODg3YzMzMjZkMzMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDgt
MjYgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTjogQ3Jhc2ggb2Nj
dXJzIGF0IG9iamNfbXNnU2VuZCB3aGVuIGNsb3NpbmcgYSB3aW5kb3cgdGhhdCBpcyBkaXNwbGF5
aW5nIHRoZSB3ZWIgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00NDIzMAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9y
Q2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bm90aWZ5V2ViVmlld0Rlc3Ryb3llZCk6
CisgICAgICAgIChXZWJLaXQ6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpkZXN0cm95SW5zcGVj
dG9yV2luZG93KToKKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmNs
b3NlV2luZG93KToKKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRp
c2Nvbm5lY3RGcm9tQmFja2VuZCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9y
Q2xpZW50R3RrLmg6CisKIDIwMTAtMDgtMjUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4K
ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3Rr
LmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmNwcApp
bmRleCBhZWRmMjFmZTQ5MjBjNjM0ODViM2UyYmE0YzMyMTM2OTI0NzVmNjZkLi5jOGI0MmQ3ODU0
NGFkMWI3ZmM5ODZhYjYwNTMxMjQxMzViMzZmMTI5IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuY3BwCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBzdGF0aWMgdm9pZCBub3RpZnlXZWJWaWV3RGVzdHJveWVkKFdlYktp
dFdlYlZpZXcqIHdlYlZpZXcsIEluc3BlY3RvckZyb250ZW5kQ2xpZW50KiBpbnNwZWN0b3JGcm9u
dGVuZENsaWVudCkKIHsKLSAgICBpbnNwZWN0b3JGcm9udGVuZENsaWVudC0+ZGVzdHJveUluc3Bl
Y3RvcldpbmRvdygpOworICAgIGluc3BlY3RvckZyb250ZW5kQ2xpZW50LT5kZXN0cm95SW5zcGVj
dG9yV2luZG93KHRydWUpOwogfQogCiBJbnNwZWN0b3JDbGllbnQ6Okluc3BlY3RvckNsaWVudChX
ZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQpAQCAtMjc0LDcgKzI3NCw3IEBAIEluc3BlY3RvckZyb250
ZW5kQ2xpZW50Ojp+SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQoKQogICAgIEFTU0VSVCghbV93ZWJJ
bnNwZWN0b3IpOwogfQogCi12b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpkZXN0cm95SW5z
cGVjdG9yV2luZG93KCkKK3ZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRlc3Ryb3lJbnNw
ZWN0b3JXaW5kb3coYm9vbCBub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyKQogewogICAgIGlmICgh
bV93ZWJJbnNwZWN0b3IpCiAgICAgICAgIHJldHVybjsKQEAgLTI4NCw3ICsyODQsOCBAQCB2b2lk
IEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpkZXN0cm95SW5zcGVjdG9yV2luZG93KCkKICAgICBn
X3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2Z1bmMobV9pbnNwZWN0b3JXZWJWaWV3LCAo
Z3BvaW50ZXIpbm90aWZ5V2ViVmlld0Rlc3Ryb3llZCwgKGdwb2ludGVyKXRoaXMpOwogICAgIG1f
aW5zcGVjdG9yV2ViVmlldyA9IDA7CiAKLSAgICBjb3JlKG1faW5zcGVjdGVkV2ViVmlldyktPmlu
c3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlzY29ubmVjdEZyb250ZW5kKCk7CisgICAgaWYgKG5vdGlm
eUluc3BlY3RvckNvbnRyb2xsZXIpCisgICAgICAgIGNvcmUobV9pbnNwZWN0ZWRXZWJWaWV3KS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaXNjb25uZWN0RnJvbnRlbmQoKTsKIAogICAgIGlmICht
X2luc3BlY3RvckNsaWVudCkKICAgICAgICAgbV9pbnNwZWN0b3JDbGllbnQtPnJlbGVhc2VGcm9u
dGVuZFBhZ2UoKTsKQEAgLTMyNiw3ICszMjcsMTIgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENs
aWVudDo6YnJpbmdUb0Zyb250KCkKIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6Y2xv
c2VXaW5kb3coKQogewotICAgIGRlc3Ryb3lJbnNwZWN0b3JXaW5kb3coKTsKKyAgICBkZXN0cm95
SW5zcGVjdG9yV2luZG93KHRydWUpOworfQorCit2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
OjpkaXNjb25uZWN0RnJvbUJhY2tlbmQoKQoreworICAgIGRlc3Ryb3lJbnNwZWN0b3JXaW5kb3co
ZmFsc2UpOwogfQogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjphdHRhY2hXaW5kb3co
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRH
dGsuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmgKaW5k
ZXggOGI2ODQwNWRkYzc4NmUxNmFlMjUwMTg5NmZiZDUwOWY0MDI3ZTJlMy4uMDgwMzhmNjRjM2Jj
YzNmZWQ1ZDg4ODllYWQ0Y2I0NTZkNWMwMzc2MiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuaAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5oCkBAIC04MCw3ICs4MCw3IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiAgICAgICAgIHZvaWQgZGlzY29ubmVjdEluc3BlY3RvckNsaWVudCgpIHsgbV9p
bnNwZWN0b3JDbGllbnQgPSAwOyB9CiAKLSAgICAgICAgdm9pZCBkZXN0cm95SW5zcGVjdG9yV2lu
ZG93KCk7CisgICAgICAgIHZvaWQgZGVzdHJveUluc3BlY3RvcldpbmRvdyhib29sIG5vdGlmeUlu
c3BlY3RvckNvbnRyb2xsZXIpOwogCiAgICAgICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgbG9jYWxp
emVkU3RyaW5nc1VSTCgpOwogCkBAIC04OCw2ICs4OCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICAgICAgdmlydHVhbCB2
b2lkIGNsb3NlV2luZG93KCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0RnJvbUJh
Y2tlbmQoKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoV2luZG93KCk7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBkZXRhY2hXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hh
bmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNTY1YjFiMDM4NTZhMzAwMmU1ODdm
NzllZDBmMWY4ZTZkM2I0OTlkYy4uZTVhNTY1ZTkxMTM1YTYyN2ExNDg4ZDQ5M2U4NjJmNDk4Mzc3
YmY5ZSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wOC0yNiAgWXVyeSBTZW1pa2hhdHNreSAg
PHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSRUdSRVNTSU9OOiBDcmFzaCBvY2N1cnMgYXQgb2JqY19tc2dTZW5kIHdo
ZW4gY2xvc2luZyBhIHdpbmRvdyB0aGF0IGlzIGRpc3BsYXlpbmcgdGhlIHdlYiBpbnNwZWN0b3IK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0MjMwCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW06CisgICAgICAgIChXZWJJbnNw
ZWN0b3JGcm9udGVuZENsaWVudDo6Y2xvc2VXaW5kb3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQ6OmRpc2Nvbm5lY3RGcm9tQmFja2VuZCk6CisgICAgICAgICgtW1dlYklu
c3BlY3RvcldpbmRvd0NvbnRyb2xsZXIgd2luZG93U2hvdWxkQ2xvc2U6XSk6CisgICAgICAgICgt
W1dlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xsZXIgZGVzdHJveUluc3BlY3RvclZpZXc6XSk6CisK
IDIwMTAtMDgtMjQgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5oIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQuaAppbmRleCBkMzNlM2I5ZjQ3Yzg2N2QxYWRjZjVmNTQwODc0MTk2MTNm
OTY0OGYyLi43NWEzY2M2YzQ5OTkxM2ExNjE2MzBiMjQwMTk4OGM1ODdhMzNjY2QyIDEwMDY0NAot
LS0gYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCisrKyBi
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTg0LDYg
Kzg0LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAg
IHZpcnR1YWwgdm9pZCBjbG9zZVdpbmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0
RnJvbUJhY2tlbmQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hXaW5kb3coKTsKICAgICB2
aXJ0dWFsIHZvaWQgZGV0YWNoV2luZG93KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbSBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCmluZGV4IDdjYWU4ZmM1ZDJiMmNlZWE3MDQ2ZWI4ZGRk
OThiNDFmNzBhZWI0NDUuLmQ0ZDAyMTM2MjQ2NWFlMmJmN2U2NWUxYWVmZDYzM2QzOWJjZmFkZjIg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50
Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1t
CkBAIC02Niw3ICs2Niw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogLSAodm9pZClzZXRG
cm9udGVuZENsaWVudDooV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQqKWZyb250ZW5kQ2xpZW50
OwogLSAodm9pZClzZXRJbnNwZWN0b3JDbGllbnQ6KFdlYkluc3BlY3RvckNsaWVudCopaW5zcGVj
dG9yQ2xpZW50OwogLSAodm9pZClzZXRBdHRhY2hlZFdpbmRvd0hlaWdodDoodW5zaWduZWQpaGVp
Z2h0OwotLSAodm9pZClkZXN0cm95SW5zcGVjdG9yVmlldzsKKy0gKHZvaWQpZGVzdHJveUluc3Bl
Y3RvclZpZXc6KGJvb2wpbm90aWZ5SW5zcGVjdG9yQ29udHJvbGxlcjsKIEBlbmQKIAogI3ByYWdt
YSBtYXJrIC0KQEAgLTE2OSw3ICsxNjksMTIgQEAgdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENs
aWVudDo6YnJpbmdUb0Zyb250KCkKIAogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
Y2xvc2VXaW5kb3coKQogewotICAgIFttX3dpbmRvd0NvbnRyb2xsZXIuZ2V0KCkgZGVzdHJveUlu
c3BlY3RvclZpZXddOworICAgIFttX3dpbmRvd0NvbnRyb2xsZXIuZ2V0KCkgZGVzdHJveUluc3Bl
Y3RvclZpZXc6dHJ1ZV07Cit9CisKK3ZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRp
c2Nvbm5lY3RGcm9tQmFja2VuZCgpCit7CisgICAgW21fd2luZG93Q29udHJvbGxlci5nZXQoKSBk
ZXN0cm95SW5zcGVjdG9yVmlldzpmYWxzZV07CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQ6OmF0dGFjaFdpbmRvdygpCkBAIC0zMDgsNyArMzEzLDcgQEAgdm9pZCBXZWJJbnNw
ZWN0b3JGcm9udGVuZENsaWVudDo6dXBkYXRlV2luZG93VGl0bGUoKSBjb25zdAogCiAtIChCT09M
KXdpbmRvd1Nob3VsZENsb3NlOihpZClzZW5kZXIKIHsKLSAgICBbc2VsZiBkZXN0cm95SW5zcGVj
dG9yVmlld107CisgICAgW3NlbGYgZGVzdHJveUluc3BlY3RvclZpZXc6dHJ1ZV07CiAKICAgICBy
ZXR1cm4gWUVTOwogfQpAQCAtNDM5LDcgKzQ0NCw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQ6OnVwZGF0ZVdpbmRvd1RpdGxlKCkgY29uc3QKICAgICBbZnJhbWVWaWV3IHNldEZy
YW1lOmZyYW1lVmlld1JlY3RdOwogfQogCi0tICh2b2lkKWRlc3Ryb3lJbnNwZWN0b3JWaWV3Cist
ICh2b2lkKWRlc3Ryb3lJbnNwZWN0b3JWaWV3Oihib29sKW5vdGlmeUluc3BlY3RvckNvbnRyb2xs
ZXIKIHsKICAgICBpZiAoX2Rlc3Ryb3lpbmdJbnNwZWN0b3JWaWV3KQogICAgICAgICByZXR1cm47
CkBAIC00NTAsMTAgKzQ1NSwxMiBAQCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50Ojp1
cGRhdGVXaW5kb3dUaXRsZSgpIGNvbnN0CiAKICAgICBfdmlzaWJsZSA9IE5POwogCi0gICAgaWYg
KFBhZ2UqIGluc3BlY3RlZFBhZ2UgPSBbX2luc3BlY3RlZFdlYlZpZXcgcGFnZV0pCi0gICAgICAg
IGluc3BlY3RlZFBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlzY29ubmVjdEZyb250ZW5k
KCk7CisgICAgaWYgKG5vdGlmeUluc3BlY3RvckNvbnRyb2xsZXIpIHsKKyAgICAgICAgaWYgKFBh
Z2UqIGluc3BlY3RlZFBhZ2UgPSBbX2luc3BlY3RlZFdlYlZpZXcgcGFnZV0pCisgICAgICAgICAg
ICBpbnNwZWN0ZWRQYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpc2Nvbm5lY3RGcm9udGVu
ZCgpOwogCi0gICAgX2luc3BlY3RvckNsaWVudC0+cmVsZWFzZUZyb250ZW5kUGFnZSgpOworICAg
ICAgICBfaW5zcGVjdG9yQ2xpZW50LT5yZWxlYXNlRnJvbnRlbmRQYWdlKCk7CisgICAgfQogCiAg
ICAgW193ZWJWaWV3IGNsb3NlXTsKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cg
Yi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDk5NjllYmQ5OGM1YjRhMDM3ZDNhOTY1MGQxOTFk
MjdjMDQzNjU4YjcuLjZkMjQxMzIzN2UxOWJjYzNhZDlmMDU3YTA4YmRiNDFmNmJhMDNiZmIgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDEwLTA4LTI2ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJFR1JFU1NJT046IENyYXNoIG9jY3VycyBhdCBvYmpjX21zZ1NlbmQgd2hlbiBjbG9zaW5n
IGEgd2luZG93IHRoYXQgaXMgZGlzcGxheWluZyB0aGUgd2ViIGluc3BlY3RvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQyMzAKKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckZyb250ZW5kQ2xpZW50UXQ6OmNsb3NlV2luZG93KToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50UXQ6OmRpc2Nvbm5lY3RGcm9tQmFja2VuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjpkZXN0cm95SW5zcGVj
dG9yVmlldyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaDoK
KwogMjAxMC0wOC0yNSAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20uY24+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcAppbmRleCBlMTNmNmMzNzE4NjFkMmI3ODEx
YjNlY2E1NTIzYmNmMWNhZWZhMWYwLi44NzZjMGIwZDNkZWM2ZjQ5NDYyZjJiNzc3ODY2YjVlODYw
MWZkZjI2IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xp
ZW50UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRR
dC5jcHAKQEAgLTEsNCArMSw0IEBACi0vKgorLyogewogICogQ29weXJpZ2h0IChDKSAyMDA3IEFw
cGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTm9r
aWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDggSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIKQEAgLTI3NSwxOSArMjc1LDEyIEBA
IHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdDo6YnJpbmdUb0Zyb250KCkKIAogdm9pZCBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjpjbG9zZVdpbmRvdygpCiB7Ci0gICAgaWYgKG1fZGVz
dHJveWluZ0luc3BlY3RvclZpZXcpCi0gICAgICAgIHJldHVybjsKLSAgICBtX2Rlc3Ryb3lpbmdJ
bnNwZWN0b3JWaWV3ID0gdHJ1ZTsKLQotICAgIC8vIENsZWFyIHJlZmVyZW5jZSBmcm9tIFFXZWJJ
bnNwZWN0b3IgdG8gdGhlIGZyb250ZW5kIHZpZXcuCi0gICAgbV9pbnNwZWN0ZWRXZWJQYWdlLT5k
LT5nZXRPckNyZWF0ZUluc3BlY3RvcigpLT5kLT5zZXRGcm9udGVuZCgwKTsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+aW5zcGVjdG9yQ29udHJvbGxl
cigpLT5kaXNjb25uZWN0RnJvbnRlbmQoKTsKLSNlbmRpZgotICAgIG1faW5zcGVjdG9yQ2xpZW50
LT5yZWxlYXNlRnJvbnRlbmRQYWdlKCk7CisgICAgZGVzdHJveUluc3BlY3RvclZpZXcodHJ1ZSk7
Cit9CiAKLSAgICAvLyBDbGVhciBwb2ludGVyIGJlZm9yZSBkZWxldGluZyBXZWJWaWV3IHRvIGF2
b2lkIHJlY3Vyc2l2ZSBjYWxscyB0byBpdHMgZGVzdHJ1Y3Rvci4KLSAgICBPd25QdHI8UVdlYlZp
ZXc+IGluc3BlY3RvclZpZXcgPSBtX2luc3BlY3RvclZpZXcucmVsZWFzZSgpOwordm9pZCBJbnNw
ZWN0b3JGcm9udGVuZENsaWVudFF0OjpkaXNjb25uZWN0RnJvbUJhY2tlbmQoKQoreworICAgIGRl
c3Ryb3lJbnNwZWN0b3JWaWV3KGZhbHNlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENs
aWVudFF0OjphdHRhY2hXaW5kb3coKQpAQCAtMzE5LDYgKzMxMiwyNCBAQCB2b2lkIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50UXQ6OnVwZGF0ZVdpbmRvd1RpdGxlKCkKICAgICB9CiB9CiAKK3ZvaWQg
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdDo6ZGVzdHJveUluc3BlY3RvclZpZXcoYm9vbCBub3Rp
ZnlJbnNwZWN0b3JDb250cm9sbGVyKQoreworICAgIGlmIChtX2Rlc3Ryb3lpbmdJbnNwZWN0b3JW
aWV3KQorICAgICAgICByZXR1cm47CisgICAgbV9kZXN0cm95aW5nSW5zcGVjdG9yVmlldyA9IHRy
dWU7CisKKyAgICBpZiAobm90aWZ5SW5zcGVjdG9yQ29udHJvbGxlcikgeworICAgICAgICAvLyBD
bGVhciByZWZlcmVuY2UgZnJvbSBRV2ViSW5zcGVjdG9yIHRvIHRoZSBmcm9udGVuZCB2aWV3Lgor
ICAgICAgICBtX2luc3BlY3RlZFdlYlBhZ2UtPmQtPmdldE9yQ3JlYXRlSW5zcGVjdG9yKCktPmQt
PnNldEZyb250ZW5kKDApOworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgICAgIG1faW5zcGVj
dGVkV2ViUGFnZS0+ZC0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaXNjb25uZWN0RnJvbnRlbmQo
KTsKKyNlbmRpZgorICAgICAgICBtX2luc3BlY3RvckNsaWVudC0+cmVsZWFzZUZyb250ZW5kUGFn
ZSgpOworICAgIH0KKworICAgIC8vIENsZWFyIHBvaW50ZXIgYmVmb3JlIGRlbGV0aW5nIFdlYlZp
ZXcgdG8gYXZvaWQgcmVjdXJzaXZlIGNhbGxzIHRvIGl0cyBkZXN0cnVjdG9yLgorICAgIE93blB0
cjxRV2ViVmlldz4gaW5zcGVjdG9yVmlldyA9IG1faW5zcGVjdG9yVmlldy5yZWxlYXNlKCk7Cit9
CiB9CiAKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnRRdC5tb2MiCmRpZmYgLS1naXQgYS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaCBiL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCmluZGV4IDk1MjZjODgwYzJlYzNiYzE1YTBm
MjJhZmQ5ZTM5YWUzZmFkN2NiYzAuLjQ4ZDhiMDg0YmNlYzhmNDkwMmRlMGRiNGI0MGYzNWFjOWUx
MzVmMmQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGll
bnRRdC5oCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5o
CkBAIC03OSw2ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBicmluZ1RvRnJv
bnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoV2luZG93
KCk7CiAgICAgdmlydHVhbCB2b2lkIGRldGFjaFdpbmRvdygpOwpAQCAtODksNiArOTAsNyBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVXaW5kb3dUaXRsZSgpOworICAgIHZv
aWQgZGVzdHJveUluc3BlY3RvclZpZXcoYm9vbCBub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyKTsK
ICAgICBRV2ViUGFnZSogbV9pbnNwZWN0ZWRXZWJQYWdlOwogICAgIE93blB0cjxRV2ViVmlldz4g
bV9pbnNwZWN0b3JWaWV3OwogICAgIFFTdHJpbmcgbV9pbnNwZWN0ZWRVUkw7CmRpZmYgLS1naXQg
YS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDlhMjBl
NTFiOTg1YzM1MWZhMDViMmU0YWIzNGFjMjJiNTRiNjZhM2EuLmVlOTBmMDlhYTcxMTc4MjA3ODg0
OGViMjdhZDllMTA0ZGNlZTQwOGIgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDgtMjYgIFl1
cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTjogQ3Jhc2ggb2NjdXJzIGF0
IG9iamNfbXNnU2VuZCB3aGVuIGNsb3NpbmcgYSB3aW5kb3cgdGhhdCBpcyBkaXNwbGF5aW5nIHRo
ZSB3ZWIgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00NDIzMAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50Ojp+V2ViSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6
OmNsb3NlV2luZG93KToKKyAgICAgICAgKFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpkaXNj
b25uZWN0RnJvbUJhY2tlbmQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6
OmNsb3NlV2luZG93V2l0aG91dE5vdGlmaWNhdGlvbnMpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQ6OmRlc3Ryb3lJbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaDoKKwogMjAxMC0wOC0yNCAgQWRhIENoYW4gIDxh
ZGFjaGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTdGV2ZSBGYWxrZW5idXJn
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuY3BwIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3Bw
CmluZGV4IDM0ZmI4MjczYWRkMzBhNGU4NDczMzcwNmM3YmEzYjM1ZjFhMzVjNDIuLjFiNzlkZGU0
N2ZhMWY4NzJlOTA4MzFiMmI3NWUwMzFiYzhkYzc2NGYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAorKysgYi9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKQEAgLTIyOCw3ICsyMjgsNyBAQCBX
ZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6V2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQoV2Vi
VmlldyogaW5zcGVjdGVkV2ViVmlldwogCiBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6fldl
Ykluc3BlY3RvckZyb250ZW5kQ2xpZW50KCkKIHsKLSAgICBkZXN0cm95SW5zcGVjdG9yVmlldygp
OworICAgIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KHRydWUpOwogfQogCiB2b2lkIFdlYkluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50Ojpmcm9udGVuZExvYWRlZCgpCkBAIC0yNjAsNyArMjYwLDEyIEBAIHZv
aWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmJyaW5nVG9Gcm9udCgpCiAKIHZvaWQgV2Vi
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmNsb3NlV2luZG93KCkKIHsKLSAgICBkZXN0cm95SW5z
cGVjdG9yVmlldygpOworICAgIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KHRydWUpOworfQorCit2b2lk
IFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpkaXNjb25uZWN0RnJvbUJhY2tlbmQoKQorewor
ICAgIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KGZhbHNlKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JG
cm9udGVuZENsaWVudDo6YXR0YWNoV2luZG93KCkKQEAgLTM0NCw4ICszNDksNiBAQCB2b2lkIFdl
Ykluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpjbG9zZVdpbmRvd1dpdGhvdXROb3RpZmljYXRpb25z
KCkKICAgICBIV05EIGhvc3RXaW5kb3c7CiAgICAgaWYgKFNVQ0NFRURFRChtX2luc3BlY3RlZFdl
YlZpZXctPmhvc3RXaW5kb3coKE9MRV9IQU5ETEUqKSZob3N0V2luZG93KSkpCiAgICAgICAgIFNl
bmRNZXNzYWdlKGhvc3RXaW5kb3csIFdNX1NJWkUsIDAsIDApOwotCi0gICAgbV9pbnNwZWN0b3JD
bGllbnQtPnVwZGF0ZUhpZ2hsaWdodCgpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5k
Q2xpZW50OjpzaG93V2luZG93V2l0aG91dE5vdGlmaWNhdGlvbnMoKQpAQCAtMzk3LDE2ICs0MDAs
MjAgQEAgdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6c2hvd1dpbmRvd1dpdGhvdXRO
b3RpZmljYXRpb25zKCkKICAgICBtX2luc3BlY3RvckNsaWVudC0+dXBkYXRlSGlnaGxpZ2h0KCk7
CiB9CiAKLXZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRlc3Ryb3lJbnNwZWN0b3JW
aWV3KCkKK3ZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRlc3Ryb3lJbnNwZWN0b3JW
aWV3KGJvb2wgbm90aWZ5SW5zcGVjdG9yQ29udHJvbGxlcikKIHsKICAgICBpZiAobV9kZXN0cm95
aW5nSW5zcGVjdG9yVmlldykKICAgICAgICAgcmV0dXJuOwogICAgIG1fZGVzdHJveWluZ0luc3Bl
Y3RvclZpZXcgPSB0cnVlOwogCi0gICAgbV9pbnNwZWN0ZWRXZWJWaWV3LT5wYWdlKCktPmluc3Bl
Y3RvckNvbnRyb2xsZXIoKS0+ZGlzY29ubmVjdEZyb250ZW5kKCk7CiAKICAgICBjbG9zZVdpbmRv
d1dpdGhvdXROb3RpZmljYXRpb25zKCk7Ci0gICAgbV9pbnNwZWN0b3JDbGllbnQtPmZyb250ZW5k
Q2xvc2luZygpOworCisgICAgaWYgKG5vdGlmeUluc3BlY3RvckNvbnRyb2xsZXIpIHsKKyAgICAg
ICAgbV9pbnNwZWN0ZWRXZWJWaWV3LT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlz
Y29ubmVjdEZyb250ZW5kKCk7CisgICAgICAgIG1faW5zcGVjdG9yQ2xpZW50LT51cGRhdGVIaWdo
bGlnaHQoKTsKKyAgICAgICAgbV9pbnNwZWN0b3JDbGllbnQtPmZyb250ZW5kQ2xvc2luZygpOwor
ICAgIH0KICAgICA6OkRlc3Ryb3lXaW5kb3cobV9mcm9udGVuZEh3bmQpOwogfQogCmRpZmYgLS1n
aXQgYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oIGIvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAppbmRleCA0ZGEzOTg0
NjdiYThmOTdjMDA0MWIyYWRiYTkzOTU4NjMxM2Q5MmQyLi4wYzM4MjQ3ZWE1OWJlMDk5NmFkZjcy
YzFjODc3NmZiMDdlMTQ4ODU5IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0
L1dlYkluc3BlY3RvckNsaWVudC5oCisrKyBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
SW5zcGVjdG9yQ2xpZW50LmgKQEAgLTkzLDYgKzkzLDcgQEAgcHVibGljOgogICAgIAogICAgIHZp
cnR1YWwgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3co
KTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CiAgICAgCiAgICAg
dmlydHVhbCB2b2lkIGF0dGFjaFdpbmRvdygpOwogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hXaW5k
b3coKTsKQEAgLTEwNiw3ICsxMDcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xvc2VXaW5kb3dX
aXRob3V0Tm90aWZpY2F0aW9ucygpOwogICAgIHZvaWQgc2hvd1dpbmRvd1dpdGhvdXROb3RpZmlj
YXRpb25zKCk7CiAKLSAgICB2b2lkIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KCk7CisgICAgdm9pZCBk
ZXN0cm95SW5zcGVjdG9yVmlldyhib29sIG5vdGlmeUluc3BlY3RvckNvbnRyb2xsZXIpOwogCiAg
ICAgdm9pZCB1cGRhdGVXaW5kb3dUaXRsZSgpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65692</attachid>
            <date>2010-08-27 02:07:14 -0700</date>
            <delta_ts>2010-09-02 09:14:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44230-20100827130711.patch</filename>
            <type>text/plain</type>
            <size>24955</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODhhZGM3NGY4YzYyNDY1OWI0M2FlNzVlYzQ0ZmIzZGZiZmZkNTlhZi4uMDc5YjA0MzVjMzc0NTM2
MDdiZjM4ZjM1NmI0OTM5ZDk2MDI3ZjI2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wOC0yNyAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OOiBDcmFzaCBvY2N1cnMgYXQg
b2JqY19tc2dTZW5kIHdoZW4gY2xvc2luZyBhIHdpbmRvdyB0aGF0IGlzIGRpc3BsYXlpbmcgdGhl
IHdlYiBpbnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ0MjMwCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmlkbDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDb250cm9sbGVyOjppbnNwZWN0ZWRQYWdlRGVzdHJveWVkKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmNsb3NlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5k
SG9zdDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKTogZG9uJ3QgdHJ5IHRvIG5vdGlmeSBJbnNwZWN0
b3JDb250cm9sbGVyCisgICAgICAgIHRoYXQgZnJvbnRlbmQgY2xvc2VzIGlmIEluc3BlY3RvckNv
bnRyb2xsZXIgdHJpZ2dlcmVkIHRoZSBhY3Rpb24uCisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kSG9zdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZEhvc3QuaWRsOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0U3R1Yi5qczoKKyAgICAgICAgKC5XZWJJbnNwZWN0b3IuSW5zcGVjdG9yRnJvbnRlbmRI
b3N0U3R1Yi5wcm90b3R5cGUuZGlzY29ubmVjdEZyb21CYWNrZW5kKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kaXNj
b25uZWN0RnJvbUJhY2tlbmQpOgorCiAyMDEwLTA4LTI3ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxu
emltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpcmsgU2NodWx6ZS4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5pZGwgYi9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuaWRsCmluZGV4IGZmMWMyYWY2NWIwODFkYzM2YWFlMjhmMDQ4MzFl
YWRlNTNjNDc3MTkuLjFmMDM0YjIxYzNmZjMxNGFhY2JhZWQzMDkzMGE0YzY0NDc4ZDRkYjcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5pZGwKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yLmlkbApAQCAtNDAsMTAgKzQwLDkgQEAgbW9kdWxlIGNvcmUgewog
ICAgICAgICBbbm90aWZ5XSB2b2lkIGNoaWxkTm9kZUNvdW50VXBkYXRlZChvdXQgbG9uZyBpZCwg
b3V0IGludCBuZXdWYWx1ZSk7CiAgICAgICAgIFtub3RpZnldIHZvaWQgY2hpbGROb2RlSW5zZXJ0
ZWQob3V0IGxvbmcgcGFyZW50SWQsIG91dCBsb25nIHByZXZJZCwgb3V0IE9iamVjdCBub2RlKTsK
ICAgICAgICAgW25vdGlmeV0gdm9pZCBjaGlsZE5vZGVSZW1vdmVkKG91dCBsb25nIHBhcmVudElk
LCBvdXQgbG9uZyBpZCk7Ci0gICAgICAgIFtub3RpZnldIHZvaWQgY2xvc2UoKTsKICAgICAgICAg
W25vdGlmeV0gdm9pZCBkaWRDb21taXRMb2FkKCk7CiAgICAgICAgIFtub3RpZnldIHZvaWQgZXZh
bHVhdGVGb3JUZXN0SW5Gcm9udGVuZChvdXQgbG9uZyB0ZXN0Q2FsbElkLCBvdXQgU3RyaW5nIHNj
cmlwdCk7Ci0gICAgICAgIFtub3RpZnldIHZvaWQgaW5zcGVjdGVkUGFnZURlc3Ryb3llZCgpOwor
ICAgICAgICBbbm90aWZ5XSB2b2lkIGRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOwogICAgICAgICBb
bm90aWZ5XSB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQob3V0IFN0cmluZyB1cmwpOwogICAgICAg
ICBbbm90aWZ5XSB2b2lkIG1vbml0b3JpbmdYSFJXYXNFbmFibGVkKCk7CiAgICAgICAgIFtub3Rp
ZnldIHZvaWQgbW9uaXRvcmluZ1hIUldhc0Rpc2FibGVkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDdmYjA1MmNjODI3OTk5ZTJiYmIwNGRkM2E0YTM1
YmI5Y2RjNDJlMGYuLmI5YzExYzc2YWUwMjUxMzQyNmJlNGIxOGZlY2JkZTU4ZjYzODhjNjQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xOTgsNyArMTk4
LDcgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6fkluc3BlY3RvckNvbnRyb2xsZXIoKQogdm9pZCBJ
bnNwZWN0b3JDb250cm9sbGVyOjppbnNwZWN0ZWRQYWdlRGVzdHJveWVkKCkKIHsKICAgICBpZiAo
bV9mcm9udGVuZCkKLSAgICAgICAgbV9mcm9udGVuZC0+aW5zcGVjdGVkUGFnZURlc3Ryb3llZCgp
OworICAgICAgICBtX2Zyb250ZW5kLT5kaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKIAogICAgIGhp
ZGVIaWdobGlnaHQoKTsKIApAQCAtNTM3LDcgKzUzNyw4IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJv
bGxlcjo6Y2xvc2UoKQogewogICAgIGlmICghbV9mcm9udGVuZCkKICAgICAgICAgcmV0dXJuOwot
ICAgIG1fZnJvbnRlbmQtPmNsb3NlKCk7CisgICAgbV9mcm9udGVuZC0+ZGlzY29ubmVjdEZyb21C
YWNrZW5kKCk7CisgICAgZGlzY29ubmVjdEZyb250ZW5kKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
Q29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudC5oCmluZGV4IGNiYmJjNTNjNTM3ZWM1ZWZmNGZhMjAzNTAyNjk1
ZjkyOWRmNDM4YTYuLjMxZjUyYjc3NDRmNzYwOTYyZDlkYjk4YmRhYWE1NGY5MzQxMzg3YjIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaApAQCAtNTMsNiAr
NTMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdUb0Zyb250KCkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBjbG9zZVdpbmRvdygpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlz
Y29ubmVjdEZyb21CYWNrZW5kKCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdHRh
Y2hXaW5kb3coKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3REZXRhY2hXaW5kb3coKSA9
IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
Y3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAppbmRleCA4
ZGMwMGFlMGEwN2I2OTQzYjUyMTRlOGU1MmE5NDRmODM1MGNiYjE0Li5iYzUyOWVhYmVmOGEzMDQz
YzY5NWM4MzVhN2M2YjFmZjQwOGFiYmI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5jcHAKQEAgLTE2Niw2ICsxNjYsMTQgQEAgdm9pZCBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q6OmNsb3NlV2luZG93KCkKICAgICB9CiB9CiAKK3ZvaWQgSW5zcGVjdG9yRnJvbnRl
bmRIb3N0OjpkaXNjb25uZWN0RnJvbUJhY2tlbmQoKQoreworICAgIGlmIChtX2NsaWVudCkgewor
ICAgICAgICBtX2NsaWVudC0+ZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CisgICAgICAgIGRpc2Nv
bm5lY3RDbGllbnQoKTsgLy8gRGlzY29ubmVjdCBmcm9tIGNsaWVudC4KKyAgICB9Cit9CisKIHZv
aWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpicmluZ1RvRnJvbnQoKQogewogICAgIGlmIChtX2Ns
aWVudCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKaW5kZXggNGIz
NDNmZGFhOGE4ZThjNmVhOGI4YjY1MzUxOWFiNWFhMWE4MzZkYi4uZDMzMzg5MzUyMmRmNjQzZmY3
MDVhMWZmMTVkZTFiNDFhZDVlMGRlMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmgKQEAgLTYyLDYgKzYyLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVxdWVzdEF0
dGFjaFdpbmRvdygpOwogICAgIHZvaWQgcmVxdWVzdERldGFjaFdpbmRvdygpOwogICAgIHZvaWQg
Y2xvc2VXaW5kb3coKTsKKyAgICB2b2lkIGRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOwogICAgIHZv
aWQgYnJpbmdUb0Zyb250KCk7CiAgICAgdm9pZCBpbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0
cmluZyYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZEhvc3QuaWRsIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbApp
bmRleCAwYzdjZjhiYmE5ZTYxOGU3NGJmMGJmYmRmNTYwODU2OTU5YjViMDJkLi42ODUzYzdkNGZh
MDFlZDM0OWYyYzU5ZTcyMjY0OGJlNjIyMWQ1YTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5pZGwKQEAgLTM0LDYgKzM0LDcgQEAgbW9kdWxlIGNvcmUgewog
ICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSBJbnNwZWN0b3JGcm9udGVuZEhv
c3QgewogICAgICAgICB2b2lkIGxvYWRlZCgpOwogICAgICAgICB2b2lkIGNsb3NlV2luZG93KCk7
CisgICAgICAgIHZvaWQgZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CiAgICAgICAgIHZvaWQgYnJp
bmdUb0Zyb250KCk7CiAgICAgICAgIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdlZChpbiBET01TdHJp
bmcgbmV3VVJMKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0lu
c3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwppbmRleCBjNGU2YmY0ZDBmYzY4MjhjMTgzZjZi
NTVkN2M4Y2NiOTI4MmVlNzcwLi4wN2YzOTJkYjc0ZTUwNjQ3MGE2M2MyY2NjODkyOTY3MGUwZDU5
ODJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0U3R1Yi5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwpAQCAtNjQsNiArNjQsMTEgQEAgV2ViSW5zcGVjdG9yLklu
c3BlY3RvckZyb250ZW5kSG9zdFN0dWIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl93aW5k
b3dWaXNpYmxlID0gZmFsc2U7CiAgICAgfSwKIAorICAgIGRpc2Nvbm5lY3RGcm9tQmFja2VuZDog
ZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fd2luZG93VmlzaWJsZSA9IGZhbHNlOwor
ICAgIH0sCisKICAgICBhdHRhY2g6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgfSwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IGNmNDdkYzZhYzgyNWU0MTkxNGQ3
ZDE5OGE4NDI4YzM2NWFkZGQzNGEuLjAxMmU2N2MyNTc0NTllMDhkZmRlZmM4NjAwNThkZjlhYzQ5
N2ZkZGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
anMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtNzE1
LDkgKzcxNSw5IEBAIFdlYkluc3BlY3Rvci5jbG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQogICAgIElu
c3BlY3RvckZyb250ZW5kSG9zdC5jbG9zZVdpbmRvdygpOwogfQogCi1XZWJJbnNwZWN0b3IuaW5z
cGVjdGVkUGFnZURlc3Ryb3llZCA9IGZ1bmN0aW9uKCkKK1dlYkluc3BlY3Rvci5kaXNjb25uZWN0
RnJvbUJhY2tlbmQgPSBmdW5jdGlvbigpCiB7Ci0gICAgV2ViSW5zcGVjdG9yLmNsb3NlKCk7Cisg
ICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOwogfQogCiBX
ZWJJbnNwZWN0b3IuZG9jdW1lbnRNb3VzZU92ZXIgPSBmdW5jdGlvbihldmVudCkKZGlmZiAtLWdp
dCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDNiYzkzZGQzMjg5NGM3MGQ2NDVjYTExNGQ4MWVjZTdhZGUwMDUyMGEuLjM4ZjA4MDk1
NjhiMTJkYjkzMDcyNzdiMmNjMTI5MGE4ZGU5N2ZmZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDEwLTA4LTI3ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT046IENyYXNoIG9jY3VycyBhdCBvYmpjX21zZ1NlbmQgd2hlbiBjbG9zaW5nIGEgd2luZG93
IHRoYXQgaXMgZGlzcGxheWluZyB0aGUgd2ViIGluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQyMzAKKworICAgICAgICAqIHNyYy9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbnNwZWN0b3JG
cm9udGVuZENsaWVudEltcGw6OmRpc2Nvbm5lY3RGcm9tQmFja2VuZCk6CisgICAgICAgICogc3Jj
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oOgorCiAyMDEwLTA4LTI2ICBEdW1pdHJ1IERh
bmlsaXVjICA8ZHVtaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgQ2hyb21p
dW0gYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JG
cm9udGVuZENsaWVudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9u
dGVuZENsaWVudEltcGwuY3BwCmluZGV4IDQ2ZjJjYjY4N2EyZjk5OWY0NTZiOTY2ZjM4ZWU0YmRk
YzAxYTJhMDUuLjUxODY0ZjFjNzcxNjk0MzYwNzc0NGY4NzkyNjNhMzE2MjA2OThlM2UgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNw
cAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5j
cHAKQEAgLTEwNSw2ICsxMDUsMTEgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGw6
OmNsb3NlV2luZG93KCkKICAgICBtX2NsaWVudC0+Y2xvc2VXaW5kb3coKTsKIH0KIAordm9pZCBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudEltcGw6OmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpCit7Cisg
ICAgbV9jbGllbnQtPmNsb3NlV2luZG93KCk7Cit9CisKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRJbXBsOjpyZXF1ZXN0QXR0YWNoV2luZG93KCkKIHsKICAgICBtX2NsaWVudC0+cmVxdWVz
dERvY2tXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250
ZW5kQ2xpZW50SW1wbC5oCmluZGV4IDE1MDdiZjJlNmQ3N2M1OGM1ZjhkYTczN2IzYTYzOTYwNjJl
MTY4YTcuLmZjMjFmM2VkYWUxM2VkMGJkYjI4YTI0YjEzMmIyNTRlMTJkNTU3MDYgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKKysr
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaApAQCAt
NjEsNiArNjEsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdUb0Zyb250KCk7
CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlV2luZG93KCk7CisgICAgdmlydHVhbCB2b2lkIGRpc2Nv
bm5lY3RGcm9tQmFja2VuZCgpOwogCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdHRhY2hXaW5k
b3coKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdERldGFjaFdpbmRvdygpOwpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCAxODQw
NWZlZGQ3M2I3MzI1ZDdiZDc5OGQ5ODY2ZDA0ZGQxNzY1NTg3Li4xOTUyMDUwOTM0NDRlNmVjZDhm
MWEzZjdjOWNmMDljM2IzZjRlMzRiIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwor
KysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTA4LTI3ICBZ
dXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IENyYXNoIG9jY3VycyBh
dCBvYmpjX21zZ1NlbmQgd2hlbiBjbG9zaW5nIGEgd2luZG93IHRoYXQgaXMgZGlzcGxheWluZyB0
aGUgd2ViIGluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDQyMzAKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVu
dEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6Om5vdGlmeVdlYlZpZXdEZXN0cm95ZWQpOgorICAg
ICAgICAoV2ViS2l0OjpJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6ZGVzdHJveUluc3BlY3Rvcldp
bmRvdyk6CisgICAgICAgIChXZWJLaXQ6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpjbG9zZVdp
bmRvdyk6CisgICAgICAgIChXZWJLaXQ6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpkaXNjb25u
ZWN0RnJvbUJhY2tlbmQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVu
dEd0ay5oOgorCiAyMDEwLTA4LTI2ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFJldmVydCByNjYxMDMgc2luY2UgUXQgdGVzdHMg
YXJlIGZhaWxpbmcuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0luc3Bl
Y3RvckNsaWVudEd0ay5jcHAgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNs
aWVudEd0ay5jcHAKaW5kZXggYWVkZjIxZmU0OTIwYzYzNDg1YjNlMmJhNGMzMjEzNjkyNDc1ZjY2
ZC4uYzhiNDJkNzg1NDRhZDFiN2ZjOTg2YWI2MDUzMTI0MTM1YjM2ZjEyOSAxMDA2NDQKLS0tIGEv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuY3BwCisrKyBiL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmNwcApAQCAtMzYsNyAr
MzYsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RhdGljIHZvaWQgbm90aWZ5V2ViVmlld0Rl
c3Ryb3llZChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBJbnNwZWN0b3JGcm9udGVuZENsaWVudCog
aW5zcGVjdG9yRnJvbnRlbmRDbGllbnQpCiB7Ci0gICAgaW5zcGVjdG9yRnJvbnRlbmRDbGllbnQt
PmRlc3Ryb3lJbnNwZWN0b3JXaW5kb3coKTsKKyAgICBpbnNwZWN0b3JGcm9udGVuZENsaWVudC0+
ZGVzdHJveUluc3BlY3RvcldpbmRvdyh0cnVlKTsKIH0KIAogSW5zcGVjdG9yQ2xpZW50OjpJbnNw
ZWN0b3JDbGllbnQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKQEAgLTI3NCw3ICsyNzQsNyBAQCBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudDo6fkluc3BlY3RvckZyb250ZW5kQ2xpZW50KCkKICAgICBB
U1NFUlQoIW1fd2ViSW5zcGVjdG9yKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dDo6ZGVzdHJveUluc3BlY3RvcldpbmRvdygpCit2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
OjpkZXN0cm95SW5zcGVjdG9yV2luZG93KGJvb2wgbm90aWZ5SW5zcGVjdG9yQ29udHJvbGxlcikK
IHsKICAgICBpZiAoIW1fd2ViSW5zcGVjdG9yKQogICAgICAgICByZXR1cm47CkBAIC0yODQsNyAr
Mjg0LDggQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6ZGVzdHJveUluc3BlY3Rvcldp
bmRvdygpCiAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKG1faW5zcGVj
dG9yV2ViVmlldywgKGdwb2ludGVyKW5vdGlmeVdlYlZpZXdEZXN0cm95ZWQsIChncG9pbnRlcil0
aGlzKTsKICAgICBtX2luc3BlY3RvcldlYlZpZXcgPSAwOwogCi0gICAgY29yZShtX2luc3BlY3Rl
ZFdlYlZpZXcpLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpc2Nvbm5lY3RGcm9udGVuZCgpOwor
ICAgIGlmIChub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyKQorICAgICAgICBjb3JlKG1faW5zcGVj
dGVkV2ViVmlldyktPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlzY29ubmVjdEZyb250ZW5kKCk7
CiAKICAgICBpZiAobV9pbnNwZWN0b3JDbGllbnQpCiAgICAgICAgIG1faW5zcGVjdG9yQ2xpZW50
LT5yZWxlYXNlRnJvbnRlbmRQYWdlKCk7CkBAIC0zMjYsNyArMzI3LDEyIEBAIHZvaWQgSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQ6OmJyaW5nVG9Gcm9udCgpCiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQ6OmNsb3NlV2luZG93KCkKIHsKLSAgICBkZXN0cm95SW5zcGVjdG9yV2luZG93KCk7
CisgICAgZGVzdHJveUluc3BlY3RvcldpbmRvdyh0cnVlKTsKK30KKwordm9pZCBJbnNwZWN0b3JG
cm9udGVuZENsaWVudDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKCkKK3sKKyAgICBkZXN0cm95SW5z
cGVjdG9yV2luZG93KGZhbHNlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
YXR0YWNoV2luZG93KCkKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5z
cGVjdG9yQ2xpZW50R3RrLmggYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNs
aWVudEd0ay5oCmluZGV4IDhiNjg0MDVkZGM3ODZlMTZhZTI1MDE4OTZmYmQ1MDlmNDAyN2UyZTMu
LjA4MDM4ZjY0YzNiY2MzZmVkNWQ4ODg5ZWFkNGNiNDU2ZDVjMDM3NjIgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmgKKysrIGIvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuaApAQCAtODAsNyArODAsNyBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogICAgICAgICB2b2lkIGRpc2Nvbm5lY3RJbnNwZWN0b3JD
bGllbnQoKSB7IG1faW5zcGVjdG9yQ2xpZW50ID0gMDsgfQogCi0gICAgICAgIHZvaWQgZGVzdHJv
eUluc3BlY3RvcldpbmRvdygpOworICAgICAgICB2b2lkIGRlc3Ryb3lJbnNwZWN0b3JXaW5kb3co
Ym9vbCBub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyKTsKIAogICAgICAgICB2aXJ0dWFsIFdURjo6
U3RyaW5nIGxvY2FsaXplZFN0cmluZ3NVUkwoKTsKIApAQCAtODgsNiArODgsNyBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdUb0Zyb250KCk7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBjbG9zZVdpbmRvdygpOworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlz
Y29ubmVjdEZyb21CYWNrZW5kKCk7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGF0dGFjaFdpbmRv
dygpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoV2luZG93KCk7CmRpZmYgLS1naXQgYS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDE3OWJhMTA1
ZGZkYzEwZTdhZDFiMjg4NzFjZDk3NDc2NWFmNmY2Y2EuLjRlMWI5ODhiYjYyMDNlOWU2MGY2ZWY2
MjEzNDRjZTlmYThiMmUxZGUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDgtMjcgIFl1cnkg
U2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTjogQ3Jhc2ggb2NjdXJzIGF0IG9i
amNfbXNnU2VuZCB3aGVuIGNsb3NpbmcgYSB3aW5kb3cgdGhhdCBpcyBkaXNwbGF5aW5nIHRoZSB3
ZWIgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00NDIzMAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50
Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmNsb3NlV2luZG93KToKKyAgICAgICAg
KFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpkaXNjb25uZWN0RnJvbUJhY2tlbmQpOgorICAg
ICAgICAoLVtXZWJJbnNwZWN0b3JXaW5kb3dDb250cm9sbGVyIHdpbmRvd1Nob3VsZENsb3NlOl0p
OgorICAgICAgICAoLVtXZWJJbnNwZWN0b3JXaW5kb3dDb250cm9sbGVyIGRlc3Ryb3lJbnNwZWN0
b3JWaWV3Ol0pOgorCiAyMDEwLTA4LTI2ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFJldmVydCByNjYxMDMgc2luY2UgUXQgdGVz
dHMgYXJlIGZhaWxpbmcuCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5oIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0
b3JDbGllbnQuaAppbmRleCBkMzNlM2I5ZjQ3Yzg2N2QxYWRjZjVmNTQwODc0MTk2MTNmOTY0OGYy
Li43NWEzY2M2YzQ5OTkxM2ExNjE2MzBiMjQwMTk4OGM1ODdhMzNjY2QyIDEwMDY0NAotLS0gYS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCisrKyBiL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTg0LDYgKzg0LDcg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZpcnR1
YWwgdm9pZCBjbG9zZVdpbmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0RnJvbUJh
Y2tlbmQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hXaW5kb3coKTsKICAgICB2aXJ0dWFs
IHZvaWQgZGV0YWNoV2luZG93KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5tbSBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
SW5zcGVjdG9yQ2xpZW50Lm1tCmluZGV4IDdjYWU4ZmM1ZDJiMmNlZWE3MDQ2ZWI4ZGRkOThiNDFm
NzBhZWI0NDUuLmQ0ZDAyMTM2MjQ2NWFlMmJmN2U2NWUxYWVmZDYzM2QzOWJjZmFkZjIgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCisr
KyBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCkBAIC02
Niw3ICs2Niw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogLSAodm9pZClzZXRGcm9udGVu
ZENsaWVudDooV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQqKWZyb250ZW5kQ2xpZW50OwogLSAo
dm9pZClzZXRJbnNwZWN0b3JDbGllbnQ6KFdlYkluc3BlY3RvckNsaWVudCopaW5zcGVjdG9yQ2xp
ZW50OwogLSAodm9pZClzZXRBdHRhY2hlZFdpbmRvd0hlaWdodDoodW5zaWduZWQpaGVpZ2h0Owot
LSAodm9pZClkZXN0cm95SW5zcGVjdG9yVmlldzsKKy0gKHZvaWQpZGVzdHJveUluc3BlY3RvclZp
ZXc6KGJvb2wpbm90aWZ5SW5zcGVjdG9yQ29udHJvbGxlcjsKIEBlbmQKIAogI3ByYWdtYSBtYXJr
IC0KQEAgLTE2OSw3ICsxNjksMTIgQEAgdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
YnJpbmdUb0Zyb250KCkKIAogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6Y2xvc2VX
aW5kb3coKQogewotICAgIFttX3dpbmRvd0NvbnRyb2xsZXIuZ2V0KCkgZGVzdHJveUluc3BlY3Rv
clZpZXddOworICAgIFttX3dpbmRvd0NvbnRyb2xsZXIuZ2V0KCkgZGVzdHJveUluc3BlY3RvclZp
ZXc6dHJ1ZV07Cit9CisKK3ZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRpc2Nvbm5l
Y3RGcm9tQmFja2VuZCgpCit7CisgICAgW21fd2luZG93Q29udHJvbGxlci5nZXQoKSBkZXN0cm95
SW5zcGVjdG9yVmlldzpmYWxzZV07CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQ6OmF0dGFjaFdpbmRvdygpCkBAIC0zMDgsNyArMzEzLDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JG
cm9udGVuZENsaWVudDo6dXBkYXRlV2luZG93VGl0bGUoKSBjb25zdAogCiAtIChCT09MKXdpbmRv
d1Nob3VsZENsb3NlOihpZClzZW5kZXIKIHsKLSAgICBbc2VsZiBkZXN0cm95SW5zcGVjdG9yVmll
d107CisgICAgW3NlbGYgZGVzdHJveUluc3BlY3RvclZpZXc6dHJ1ZV07CiAKICAgICByZXR1cm4g
WUVTOwogfQpAQCAtNDM5LDcgKzQ0NCw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQ6OnVwZGF0ZVdpbmRvd1RpdGxlKCkgY29uc3QKICAgICBbZnJhbWVWaWV3IHNldEZyYW1lOmZy
YW1lVmlld1JlY3RdOwogfQogCi0tICh2b2lkKWRlc3Ryb3lJbnNwZWN0b3JWaWV3CistICh2b2lk
KWRlc3Ryb3lJbnNwZWN0b3JWaWV3Oihib29sKW5vdGlmeUluc3BlY3RvckNvbnRyb2xsZXIKIHsK
ICAgICBpZiAoX2Rlc3Ryb3lpbmdJbnNwZWN0b3JWaWV3KQogICAgICAgICByZXR1cm47CkBAIC00
NTAsMTAgKzQ1NSwxMiBAQCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50Ojp1cGRhdGVX
aW5kb3dUaXRsZSgpIGNvbnN0CiAKICAgICBfdmlzaWJsZSA9IE5POwogCi0gICAgaWYgKFBhZ2Uq
IGluc3BlY3RlZFBhZ2UgPSBbX2luc3BlY3RlZFdlYlZpZXcgcGFnZV0pCi0gICAgICAgIGluc3Bl
Y3RlZFBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlzY29ubmVjdEZyb250ZW5kKCk7Cisg
ICAgaWYgKG5vdGlmeUluc3BlY3RvckNvbnRyb2xsZXIpIHsKKyAgICAgICAgaWYgKFBhZ2UqIGlu
c3BlY3RlZFBhZ2UgPSBbX2luc3BlY3RlZFdlYlZpZXcgcGFnZV0pCisgICAgICAgICAgICBpbnNw
ZWN0ZWRQYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpc2Nvbm5lY3RGcm9udGVuZCgpOwog
Ci0gICAgX2luc3BlY3RvckNsaWVudC0+cmVsZWFzZUZyb250ZW5kUGFnZSgpOworICAgICAgICBf
aW5zcGVjdG9yQ2xpZW50LT5yZWxlYXNlRnJvbnRlbmRQYWdlKCk7CisgICAgfQogCiAgICAgW193
ZWJWaWV3IGNsb3NlXTsKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJL
aXQvcXQvQ2hhbmdlTG9nCmluZGV4IGJiMzRhMzk1NDQzYjdlZmRiMzEzZDBmMGQ4M2I4MTQwMzZi
ZjRiNTQuLmE5NjFlMDA0NjM2MjcwN2I4NzhhZDEwMGY1NDIwZmI0ZTEyODljNzkgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDEwLTA4LTI3ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJF
R1JFU1NJT046IENyYXNoIG9jY3VycyBhdCBvYmpjX21zZ1NlbmQgd2hlbiBjbG9zaW5nIGEgd2lu
ZG93IHRoYXQgaXMgZGlzcGxheWluZyB0aGUgd2ViIGluc3BlY3RvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQyMzAKKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckNsaWVudFF0OjppbnNwZWN0b3JEZXN0cm95ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQ2xpZW50UXQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDbGllbnRRdDo6cmVsZWFzZUZyb250ZW5kUGFnZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjpjbG9zZVdpbmRvdyk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjpkaXNjb25uZWN0RnJvbUJhY2tlbmQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdDo6ZGVzdHJveUlu
c3BlY3RvclZpZXcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRR
dDo6aW5zcGVjdG9yQ2xpZW50RGVzdHJveWVkKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9J
bnNwZWN0b3JDbGllbnRRdC5oOgorCiAyMDEwLTA4LTI2ICBHaXJpc2ggUmFtYWtyaXNobmFuICA8
Z2lyaXNoQGZvcndhcmRiaWFzLmluPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29t
ZXMuCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50
UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcApp
bmRleCBlMTNmNmMzNzE4NjFkMmI3ODExYjNlY2E1NTIzYmNmMWNhZWZhMWYwLi44YzMzYWMwOTM5
MDk0ODRmNTQ0MzA3NTk4MjcyMjc5Y2YxNjhhODUzIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKQEAgLTEwMCw2ICsxMDAsOCBAQCBJbnNwZWN0
b3JDbGllbnRRdDo6SW5zcGVjdG9yQ2xpZW50UXQoUVdlYlBhZ2UqIHBhZ2UpCiAKIHZvaWQgSW5z
cGVjdG9yQ2xpZW50UXQ6Omluc3BlY3RvckRlc3Ryb3llZCgpCiB7CisgICAgaWYgKG1fZnJvbnRl
bmRDbGllbnQpCisgICAgICAgIG1fZnJvbnRlbmRDbGllbnQtPmluc3BlY3RvckNsaWVudERlc3Ry
b3llZCgpOwogICAgIGRlbGV0ZSB0aGlzOwogfQogCkBAIC0xMzEsMTMgKzEzMywxNSBAQCB2b2lk
IEluc3BlY3RvckNsaWVudFF0OjpvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5zcGVj
dG9yQ29udHJvbGxlciopCiAgICAgbV9pbnNwZWN0ZWRXZWJQYWdlLT5kLT5pbnNwZWN0b3JGcm9u
dGVuZCA9IGluc3BlY3RvclZpZXc7CiAgICAgaW5zcGVjdG9yLT5kLT5zZXRGcm9udGVuZChpbnNw
ZWN0b3JWaWV3KTsKIAotICAgIGluc3BlY3RvclZpZXctPnBhZ2UoKS0+ZC0+cGFnZS0+aW5zcGVj
dG9yQ29udHJvbGxlcigpLT5zZXRJbnNwZWN0b3JGcm9udGVuZENsaWVudChuZXcgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRRdChtX2luc3BlY3RlZFdlYlBhZ2UsIGluc3BlY3RvclZpZXcsIHRoaXMp
KTsKKyAgICBtX2Zyb250ZW5kQ2xpZW50ID0gbmV3IEluc3BlY3RvckZyb250ZW5kQ2xpZW50UXQo
bV9pbnNwZWN0ZWRXZWJQYWdlLCBpbnNwZWN0b3JWaWV3LCB0aGlzKTsKKyAgICBpbnNwZWN0b3JW
aWV3LT5wYWdlKCktPmQtPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2V0SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQobV9mcm9udGVuZENsaWVudCk7CiAgICAgbV9mcm9udGVuZFdlYlBhZ2Ug
PSBpbnNwZWN0b3JQYWdlOwogfQogCiB2b2lkIEluc3BlY3RvckNsaWVudFF0OjpyZWxlYXNlRnJv
bnRlbmRQYWdlKCkKIHsKICAgICBtX2Zyb250ZW5kV2ViUGFnZSA9IDA7CisgICAgbV9mcm9udGVu
ZENsaWVudCA9IDA7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ2xpZW50UXQ6OmhpZ2hsaWdodChOb2Rl
KikKQEAgLTI3NSwxOSArMjc5LDEyIEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdDo6
YnJpbmdUb0Zyb250KCkKIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjpjbG9zZVdp
bmRvdygpCiB7Ci0gICAgaWYgKG1fZGVzdHJveWluZ0luc3BlY3RvclZpZXcpCi0gICAgICAgIHJl
dHVybjsKLSAgICBtX2Rlc3Ryb3lpbmdJbnNwZWN0b3JWaWV3ID0gdHJ1ZTsKLQotICAgIC8vIENs
ZWFyIHJlZmVyZW5jZSBmcm9tIFFXZWJJbnNwZWN0b3IgdG8gdGhlIGZyb250ZW5kIHZpZXcuCi0g
ICAgbV9pbnNwZWN0ZWRXZWJQYWdlLT5kLT5nZXRPckNyZWF0ZUluc3BlY3RvcigpLT5kLT5zZXRG
cm9udGVuZCgwKTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgIG1faW5zcGVjdGVkV2ViUGFn
ZS0+ZC0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaXNjb25uZWN0RnJvbnRlbmQoKTsKLSNlbmRp
ZgotICAgIG1faW5zcGVjdG9yQ2xpZW50LT5yZWxlYXNlRnJvbnRlbmRQYWdlKCk7CisgICAgZGVz
dHJveUluc3BlY3RvclZpZXcodHJ1ZSk7Cit9CiAKLSAgICAvLyBDbGVhciBwb2ludGVyIGJlZm9y
ZSBkZWxldGluZyBXZWJWaWV3IHRvIGF2b2lkIHJlY3Vyc2l2ZSBjYWxscyB0byBpdHMgZGVzdHJ1
Y3Rvci4KLSAgICBPd25QdHI8UVdlYlZpZXc+IGluc3BlY3RvclZpZXcgPSBtX2luc3BlY3RvclZp
ZXcucmVsZWFzZSgpOwordm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjpkaXNjb25uZWN0
RnJvbUJhY2tlbmQoKQoreworICAgIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KGZhbHNlKTsKIH0KIAog
dm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjphdHRhY2hXaW5kb3coKQpAQCAtMzE5LDYg
KzMxNiwzMSBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50UXQ6OnVwZGF0ZVdpbmRvd1Rp
dGxlKCkKICAgICB9CiB9CiAKK3ZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdDo6ZGVzdHJv
eUluc3BlY3RvclZpZXcoYm9vbCBub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyKQoreworICAgIGlm
IChtX2Rlc3Ryb3lpbmdJbnNwZWN0b3JWaWV3KQorICAgICAgICByZXR1cm47CisgICAgbV9kZXN0
cm95aW5nSW5zcGVjdG9yVmlldyA9IHRydWU7CisKKyAgICAvLyBDbGVhciByZWZlcmVuY2UgZnJv
bSBRV2ViSW5zcGVjdG9yIHRvIHRoZSBmcm9udGVuZCB2aWV3LgorICAgIG1faW5zcGVjdGVkV2Vi
UGFnZS0+ZC0+Z2V0T3JDcmVhdGVJbnNwZWN0b3IoKS0+ZC0+c2V0RnJvbnRlbmQoMCk7CisKKyNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyKQor
ICAgICAgICBtX2luc3BlY3RlZFdlYlBhZ2UtPmQtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlz
Y29ubmVjdEZyb250ZW5kKCk7CisjZW5kaWYKKyAgICBpZiAobV9pbnNwZWN0b3JDbGllbnQpCisg
ICAgICAgIG1faW5zcGVjdG9yQ2xpZW50LT5yZWxlYXNlRnJvbnRlbmRQYWdlKCk7CisKKyAgICAv
LyBDbGVhciBwb2ludGVyIGJlZm9yZSBkZWxldGluZyBXZWJWaWV3IHRvIGF2b2lkIHJlY3Vyc2l2
ZSBjYWxscyB0byBpdHMgZGVzdHJ1Y3Rvci4KKyAgICBPd25QdHI8UVdlYlZpZXc+IGluc3BlY3Rv
clZpZXcgPSBtX2luc3BlY3RvclZpZXcucmVsZWFzZSgpOworfQorCit2b2lkIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50UXQ6Omluc3BlY3RvckNsaWVudERlc3Ryb3llZCgpCit7CisgICAgbV9pbnNw
ZWN0b3JDbGllbnQgPSAwOworfQorCiB9CiAKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnRRdC5t
b2MiCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50
UXQuaCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCmluZGV4
IDk1MjZjODgwYzJlYzNiYzE1YTBmMjJhZmQ5ZTM5YWUzZmFkN2NiYzAuLmUwZWU4MTA4OTBhZjJm
M2Y1YjJmNWVjYWU2ZDU1NzczNDhiZDQ2MWIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9JbnNwZWN0b3JDbGllbnRRdC5oCkBAIC00MSw2ICs0MSw3IEBAIGNsYXNzIFFXZWJQYWdlOwog
Y2xhc3MgUVdlYlZpZXc7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50UXQ7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIApAQCAtNjUsNiArNjYs
NyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFFXZWJQYWdlKiBtX2luc3BlY3RlZFdlYlBhZ2U7
CiAgICAgUVdlYlBhZ2UqIG1fZnJvbnRlbmRXZWJQYWdlOworICAgIEluc3BlY3RvckZyb250ZW5k
Q2xpZW50UXQqIG1fZnJvbnRlbmRDbGllbnQ7CiB9OwogCiBjbGFzcyBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudFF0IDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgewpAQCAtNzks
NiArODEsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdUb0Zyb250KCk7CiAg
ICAgdmlydHVhbCB2b2lkIGNsb3NlV2luZG93KCk7CisgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5l
Y3RGcm9tQmFja2VuZCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaFdpbmRvdygpOwogICAg
IHZpcnR1YWwgdm9pZCBkZXRhY2hXaW5kb3coKTsKQEAgLTg3LDggKzkwLDExIEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYgbmV3
VVJMKTsKIAorICAgIHZvaWQgaW5zcGVjdG9yQ2xpZW50RGVzdHJveWVkKCk7CisKIHByaXZhdGU6
CiAgICAgdm9pZCB1cGRhdGVXaW5kb3dUaXRsZSgpOworICAgIHZvaWQgZGVzdHJveUluc3BlY3Rv
clZpZXcoYm9vbCBub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyKTsKICAgICBRV2ViUGFnZSogbV9p
bnNwZWN0ZWRXZWJQYWdlOwogICAgIE93blB0cjxRV2ViVmlldz4gbV9pbnNwZWN0b3JWaWV3Owog
ICAgIFFTdHJpbmcgbV9pbnNwZWN0ZWRVUkw7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NoYW5n
ZUxvZyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDU5NDBkZmVlOWFmMjQ3ZTM1NDkxYTM3
MDA3Y2JmYTZjMGM0Y2FkOTkuLjA3OTdkODM3ZDUwZDBmMmU3ZmE4NDY3YjE2YzkzZDUwYjQxZmRi
YTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93aW4vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDgtMjcgIFl1cnkgU2VtaWtoYXRza3kgIDx5
dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUkVHUkVTU0lPTjogQ3Jhc2ggb2NjdXJzIGF0IG9iamNfbXNnU2VuZCB3aGVu
IGNsb3NpbmcgYSB3aW5kb3cgdGhhdCBpcyBkaXNwbGF5aW5nIHRoZSB3ZWIgaW5zcGVjdG9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDIzMAorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcDoKKyAgICAgICAg
KFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50Ojp+V2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmNsb3NlV2luZG93KToKKyAg
ICAgICAgKFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpkaXNjb25uZWN0RnJvbUJhY2tlbmQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmNsb3NlV2luZG93V2l0aG91
dE5vdGlmaWNhdGlvbnMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRl
c3Ryb3lJbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0
b3JDbGllbnQuaDoKKwogMjAxMC0wOC0yNiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBSZXZlcnQgcjY2MTAzIHNpbmNlIFF0IHRl
c3RzIGFyZSBmYWlsaW5nLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQuY3BwIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNw
ZWN0b3JDbGllbnQuY3BwCmluZGV4IDM0ZmI4MjczYWRkMzBhNGU4NDczMzcwNmM3YmEzYjM1ZjFh
MzVjNDIuLjFiNzlkZGU0N2ZhMWY4NzJlOTA4MzFiMmI3NWUwMzFiYzhkYzc2NGYgMTAwNjQ0Ci0t
LSBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAorKysg
Yi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKQEAgLTIy
OCw3ICsyMjgsNyBAQCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6V2ViSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQoV2ViVmlldyogaW5zcGVjdGVkV2ViVmlldwogCiBXZWJJbnNwZWN0b3JGcm9u
dGVuZENsaWVudDo6fldlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50KCkKIHsKLSAgICBkZXN0cm95
SW5zcGVjdG9yVmlldygpOworICAgIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KHRydWUpOwogfQogCiB2
b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50Ojpmcm9udGVuZExvYWRlZCgpCkBAIC0yNjAs
NyArMjYwLDEyIEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmJyaW5nVG9Gcm9u
dCgpCiAKIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmNsb3NlV2luZG93KCkKIHsK
LSAgICBkZXN0cm95SW5zcGVjdG9yVmlldygpOworICAgIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KHRy
dWUpOworfQorCit2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpkaXNjb25uZWN0RnJv
bUJhY2tlbmQoKQoreworICAgIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KGZhbHNlKTsKIH0KIAogdm9p
ZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6YXR0YWNoV2luZG93KCkKQEAgLTM0NCw4ICsz
NDksNiBAQCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpjbG9zZVdpbmRvd1dpdGhv
dXROb3RpZmljYXRpb25zKCkKICAgICBIV05EIGhvc3RXaW5kb3c7CiAgICAgaWYgKFNVQ0NFRURF
RChtX2luc3BlY3RlZFdlYlZpZXctPmhvc3RXaW5kb3coKE9MRV9IQU5ETEUqKSZob3N0V2luZG93
KSkpCiAgICAgICAgIFNlbmRNZXNzYWdlKGhvc3RXaW5kb3csIFdNX1NJWkUsIDAsIDApOwotCi0g
ICAgbV9pbnNwZWN0b3JDbGllbnQtPnVwZGF0ZUhpZ2hsaWdodCgpOwogfQogCiB2b2lkIFdlYklu
c3BlY3RvckZyb250ZW5kQ2xpZW50OjpzaG93V2luZG93V2l0aG91dE5vdGlmaWNhdGlvbnMoKQpA
QCAtMzk3LDE2ICs0MDAsMjAgQEAgdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6c2hv
d1dpbmRvd1dpdGhvdXROb3RpZmljYXRpb25zKCkKICAgICBtX2luc3BlY3RvckNsaWVudC0+dXBk
YXRlSGlnaGxpZ2h0KCk7CiB9CiAKLXZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRl
c3Ryb3lJbnNwZWN0b3JWaWV3KCkKK3ZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRl
c3Ryb3lJbnNwZWN0b3JWaWV3KGJvb2wgbm90aWZ5SW5zcGVjdG9yQ29udHJvbGxlcikKIHsKICAg
ICBpZiAobV9kZXN0cm95aW5nSW5zcGVjdG9yVmlldykKICAgICAgICAgcmV0dXJuOwogICAgIG1f
ZGVzdHJveWluZ0luc3BlY3RvclZpZXcgPSB0cnVlOwogCi0gICAgbV9pbnNwZWN0ZWRXZWJWaWV3
LT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlzY29ubmVjdEZyb250ZW5kKCk7CiAK
ICAgICBjbG9zZVdpbmRvd1dpdGhvdXROb3RpZmljYXRpb25zKCk7Ci0gICAgbV9pbnNwZWN0b3JD
bGllbnQtPmZyb250ZW5kQ2xvc2luZygpOworCisgICAgaWYgKG5vdGlmeUluc3BlY3RvckNvbnRy
b2xsZXIpIHsKKyAgICAgICAgbV9pbnNwZWN0ZWRXZWJWaWV3LT5wYWdlKCktPmluc3BlY3RvckNv
bnRyb2xsZXIoKS0+ZGlzY29ubmVjdEZyb250ZW5kKCk7CisgICAgICAgIG1faW5zcGVjdG9yQ2xp
ZW50LT51cGRhdGVIaWdobGlnaHQoKTsKKyAgICAgICAgbV9pbnNwZWN0b3JDbGllbnQtPmZyb250
ZW5kQ2xvc2luZygpOworICAgIH0KICAgICA6OkRlc3Ryb3lXaW5kb3cobV9mcm9udGVuZEh3bmQp
OwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5oIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQu
aAppbmRleCA0ZGEzOTg0NjdiYThmOTdjMDA0MWIyYWRiYTkzOTU4NjMxM2Q5MmQyLi4wYzM4MjQ3
ZWE1OWJlMDk5NmFkZjcyYzFjODc3NmZiMDdlMTQ4ODU5IDEwMDY0NAotLS0gYS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCisrKyBiL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTkzLDYgKzkzLDcgQEAgcHVibGlj
OgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICB2aXJ0dWFsIHZv
aWQgY2xvc2VXaW5kb3coKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZyb21CYWNrZW5k
KCk7CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaFdpbmRvdygpOwogICAgIHZpcnR1YWwg
dm9pZCBkZXRhY2hXaW5kb3coKTsKQEAgLTEwNiw3ICsxMDcsNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgY2xvc2VXaW5kb3dXaXRob3V0Tm90aWZpY2F0aW9ucygpOwogICAgIHZvaWQgc2hvd1dpbmRv
d1dpdGhvdXROb3RpZmljYXRpb25zKCk7CiAKLSAgICB2b2lkIGRlc3Ryb3lJbnNwZWN0b3JWaWV3
KCk7CisgICAgdm9pZCBkZXN0cm95SW5zcGVjdG9yVmlldyhib29sIG5vdGlmeUluc3BlY3RvckNv
bnRyb2xsZXIpOwogCiAgICAgdm9pZCB1cGRhdGVXaW5kb3dUaXRsZSgpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66377</attachid>
            <date>2010-09-02 09:14:12 -0700</date>
            <delta_ts>2011-04-27 07:59:15 -0700</delta_ts>
            <desc>patch that I&apos;m going to land(doesn&apos;t crash Qt)</desc>
            <filename>close-regression.patch</filename>
            <type>text/plain</type>
            <size>23388</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDRiMTVmNC4uNDRhYmYyMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wOS0wMiAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OOiBDcmFzaCBvY2N1cnMgYXQgb2JqY19tc2dT
ZW5kIHdoZW4gY2xvc2luZyBhIHdpbmRvdyB0aGF0IGlzIGRpc3BsYXlpbmcgdGhlIHdlYiBpbnNw
ZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0
MjMwCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmlkbDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JDb250cm9sbGVyOjppbnNwZWN0ZWRQYWdlRGVzdHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckNvbnRyb2xsZXI6OmNsb3NlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6ZGlz
Y29ubmVjdEZyb21CYWNrZW5kKTogZG9uJ3QgdHJ5IHRvIG5vdGlmeSBJbnNwZWN0b3JDb250cm9s
bGVyCisgICAgICAgIHRoYXQgZnJvbnRlbmQgY2xvc2VzIGlmIEluc3BlY3RvckNvbnRyb2xsZXIg
dHJpZ2dlcmVkIHRoZSBhY3Rpb24uCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRs
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1
Yi5qczoKKyAgICAgICAgKC5XZWJJbnNwZWN0b3IuSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5w
cm90b3R5cGUuZGlzY29ubmVjdEZyb21CYWNrZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kaXNjb25uZWN0RnJv
bUJhY2tlbmQpOgorCiAyMDEwLTA5LTAyICBBbmRyZWFzIEtsaW5nICA8YW5kcmVhcy5rbGluZ0Bu
b2tpYS5jb20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgU2ltb24gSGF1c21hbm4uCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmlkbAppbmRleCBmZjFjMmFmLi4xZjAzNGIyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvci5pZGwKQEAgLTQwLDEwICs0MCw5IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgW25v
dGlmeV0gdm9pZCBjaGlsZE5vZGVDb3VudFVwZGF0ZWQob3V0IGxvbmcgaWQsIG91dCBpbnQgbmV3
VmFsdWUpOwogICAgICAgICBbbm90aWZ5XSB2b2lkIGNoaWxkTm9kZUluc2VydGVkKG91dCBsb25n
IHBhcmVudElkLCBvdXQgbG9uZyBwcmV2SWQsIG91dCBPYmplY3Qgbm9kZSk7CiAgICAgICAgIFtu
b3RpZnldIHZvaWQgY2hpbGROb2RlUmVtb3ZlZChvdXQgbG9uZyBwYXJlbnRJZCwgb3V0IGxvbmcg
aWQpOwotICAgICAgICBbbm90aWZ5XSB2b2lkIGNsb3NlKCk7CiAgICAgICAgIFtub3RpZnldIHZv
aWQgZGlkQ29tbWl0TG9hZCgpOwogICAgICAgICBbbm90aWZ5XSB2b2lkIGV2YWx1YXRlRm9yVGVz
dEluRnJvbnRlbmQob3V0IGxvbmcgdGVzdENhbGxJZCwgb3V0IFN0cmluZyBzY3JpcHQpOwotICAg
ICAgICBbbm90aWZ5XSB2b2lkIGluc3BlY3RlZFBhZ2VEZXN0cm95ZWQoKTsKKyAgICAgICAgW25v
dGlmeV0gdm9pZCBkaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKICAgICAgICAgW25vdGlmeV0gdm9p
ZCBpbnNwZWN0ZWRVUkxDaGFuZ2VkKG91dCBTdHJpbmcgdXJsKTsKICAgICAgICAgW25vdGlmeV0g
dm9pZCBtb25pdG9yaW5nWEhSV2FzRW5hYmxlZCgpOwogICAgICAgICBbbm90aWZ5XSB2b2lkIG1v
bml0b3JpbmdYSFJXYXNEaXNhYmxlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcAppbmRleCA3ZmIwNTJjLi5iOWMxMWM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMTk4LDcgKzE5OCw3IEBAIEluc3BlY3RvckNvbnRy
b2xsZXI6On5JbnNwZWN0b3JDb250cm9sbGVyKCkKIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
aW5zcGVjdGVkUGFnZURlc3Ryb3llZCgpCiB7CiAgICAgaWYgKG1fZnJvbnRlbmQpCi0gICAgICAg
IG1fZnJvbnRlbmQtPmluc3BlY3RlZFBhZ2VEZXN0cm95ZWQoKTsKKyAgICAgICAgbV9mcm9udGVu
ZC0+ZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CiAKICAgICBoaWRlSGlnaGxpZ2h0KCk7CiAKQEAg
LTUzNyw3ICs1MzcsOCBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNsb3NlKCkKIHsKICAg
ICBpZiAoIW1fZnJvbnRlbmQpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Zyb250ZW5kLT5jbG9z
ZSgpOworICAgIG1fZnJvbnRlbmQtPmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOworICAgIGRpc2Nv
bm5lY3RGcm9udGVuZCgpOwogfQogCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5l
Y3RGcm9udGVuZCgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZENsaWVudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQu
aAppbmRleCBjYmJiYzUzLi4zMWY1MmI3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZENsaWVudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50LmgKQEAgLTUzLDYgKzUzLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCB2b2lkIGJyaW5nVG9Gcm9udCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3co
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpID0gMDsKIAog
ICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0QXR0YWNoV2luZG93KCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0RGV0YWNoV2luZG93KCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXggOGRjMDBhZS4uYmM1MjllYSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCkBAIC0xNjYsNiArMTY2LDE0IEBA
IHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpjbG9zZVdpbmRvdygpCiAgICAgfQogfQogCit2
b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKCkKK3sKKyAg
ICBpZiAobV9jbGllbnQpIHsKKyAgICAgICAgbV9jbGllbnQtPmRpc2Nvbm5lY3RGcm9tQmFja2Vu
ZCgpOworICAgICAgICBkaXNjb25uZWN0Q2xpZW50KCk7IC8vIERpc2Nvbm5lY3QgZnJvbSBjbGll
bnQuCisgICAgfQorfQorCiB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6YnJpbmdUb0Zyb250
KCkKIHsKICAgICBpZiAobV9jbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZEhvc3QuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5oCmluZGV4IDRiMzQzZmQuLmQzMzM4OTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5oCkBAIC02Miw2ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHJlcXVlc3RBdHRhY2hXaW5kb3coKTsKICAgICB2b2lkIHJlcXVlc3REZXRhY2hXaW5kb3coKTsK
ICAgICB2b2lkIGNsb3NlV2luZG93KCk7CisgICAgdm9pZCBkaXNjb25uZWN0RnJvbUJhY2tlbmQo
KTsKICAgICB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdl
ZChjb25zdCBTdHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmlkbCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
SG9zdC5pZGwKaW5kZXggMGM3Y2Y4Yi4uNjg1M2M3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCkBAIC0zNCw2ICszNCw3IEBAIG1vZHVsZSBjb3JlIHsK
ICAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0gSW5zcGVjdG9yRnJvbnRlbmRI
b3N0IHsKICAgICAgICAgdm9pZCBsb2FkZWQoKTsKICAgICAgICAgdm9pZCBjbG9zZVdpbmRvdygp
OworICAgICAgICB2b2lkIGRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOwogICAgICAgICB2b2lkIGJy
aW5nVG9Gcm9udCgpOwogICAgICAgICB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoaW4gRE9NU3Ry
aW5nIG5ld1VSTCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9J
bnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKaW5kZXggYzRlNmJmNC4uMDdmMzkyZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9z
dFN0dWIuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250
ZW5kSG9zdFN0dWIuanMKQEAgLTY0LDYgKzY0LDExIEBAIFdlYkluc3BlY3Rvci5JbnNwZWN0b3JG
cm9udGVuZEhvc3RTdHViLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fd2luZG93VmlzaWJs
ZSA9IGZhbHNlOwogICAgIH0sCiAKKyAgICBkaXNjb25uZWN0RnJvbUJhY2tlbmQ6IGZ1bmN0aW9u
KCkKKyAgICB7CisgICAgICAgIHRoaXMuX3dpbmRvd1Zpc2libGUgPSBmYWxzZTsKKyAgICB9LAor
CiAgICAgYXR0YWNoOiBmdW5jdGlvbigpCiAgICAgewogICAgIH0sCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCAwYmZmMzM1Li44MjkyZjdmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTcxNSw5ICs3MTUsOSBAQCBXZWJJ
bnNwZWN0b3IuY2xvc2UgPSBmdW5jdGlvbihldmVudCkKICAgICBJbnNwZWN0b3JGcm9udGVuZEhv
c3QuY2xvc2VXaW5kb3coKTsKIH0KIAotV2ViSW5zcGVjdG9yLmluc3BlY3RlZFBhZ2VEZXN0cm95
ZWQgPSBmdW5jdGlvbigpCitXZWJJbnNwZWN0b3IuZGlzY29ubmVjdEZyb21CYWNrZW5kID0gZnVu
Y3Rpb24oKQogewotICAgIFdlYkluc3BlY3Rvci5jbG9zZSgpOworICAgIEluc3BlY3RvckZyb250
ZW5kSG9zdC5kaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKIH0KIAogV2ViSW5zcGVjdG9yLmRvY3Vt
ZW50TW91c2VPdmVyID0gZnVuY3Rpb24oZXZlbnQpCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA1MjdlOGVmLi5i
OGM5ZmI4IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wOS0wMiAgWXVyeSBT
ZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OOiBDcmFzaCBvY2N1cnMgYXQgb2Jq
Y19tc2dTZW5kIHdoZW4gY2xvc2luZyBhIHdpbmRvdyB0aGF0IGlzIGRpc3BsYXlpbmcgdGhlIHdl
YiBpbnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ0MjMwCisKKyAgICAgICAgKiBzcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpkaXNjb25u
ZWN0RnJvbUJhY2tlbmQpOgorICAgICAgICAqIHNyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGwuaDoKKwogMjAxMC0wOS0wMiAgSWx5YSBTaGVybWFuICA8aXNoZXJtYW5AZ29vZ2xlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYktpdC9j
aHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcCBiL1dlYktpdC9jaHJv
bWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcAppbmRleCA0NmYyY2I2Li41
MTg2NGYxIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVu
ZENsaWVudEltcGwuY3BwCkBAIC0xMDUsNiArMTA1LDExIEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRJbXBsOjpjbG9zZVdpbmRvdygpCiAgICAgbV9jbGllbnQtPmNsb3NlV2luZG93KCk7
CiB9CiAKK3ZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpkaXNjb25uZWN0RnJvbUJh
Y2tlbmQoKQoreworICAgIG1fY2xpZW50LT5jbG9zZVdpbmRvdygpOworfQorCiB2b2lkIEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50SW1wbDo6cmVxdWVzdEF0dGFjaFdpbmRvdygpCiB7CiAgICAgbV9j
bGllbnQtPnJlcXVlc3REb2NrV2luZG93KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
c3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9J
bnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRleCAxNTA3YmYyLi5mYzIxZjNlIDEwMDY0
NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5o
CisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgK
QEAgLTYxLDYgKzYxLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9u
dCgpOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZVdpbmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBk
aXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0QXR0YWNo
V2luZG93KCk7CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3REZXRhY2hXaW5kb3coKTsKZGlmZiAt
LWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXgg
ODA5OGI3Zi4uMThjYTNlZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wOS0wMiAgWXVyeSBT
ZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OOiBDcmFzaCBvY2N1cnMgYXQgb2Jq
Y19tc2dTZW5kIHdoZW4gY2xvc2luZyBhIHdpbmRvdyB0aGF0IGlzIGRpc3BsYXlpbmcgdGhlIHdl
YiBpbnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ0MjMwCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsu
Y3BwOgorICAgICAgICAoV2ViS2l0Ojpub3RpZnlXZWJWaWV3RGVzdHJveWVkKToKKyAgICAgICAg
KFdlYktpdDo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRlc3Ryb3lJbnNwZWN0b3JXaW5kb3cp
OgorICAgICAgICAoV2ViS2l0OjpJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6Y2xvc2VXaW5kb3cp
OgorICAgICAgICAoV2ViS2l0OjpJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6ZGlzY29ubmVjdEZy
b21CYWNrZW5kKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsu
aDoKKwogMjAxMC0wOC0zMSAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9JbnNwZWN0b3JDbGllbnRHdGsuY3BwCmluZGV4IGFlZGYyMWYuLmM4YjQyZDcgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmNwcAorKysg
Yi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5jcHAKQEAgLTM2
LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyB2b2lkIG5vdGlmeVdlYlZp
ZXdEZXN0cm95ZWQoV2ViS2l0V2ViVmlldyogd2ViVmlldywgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQqIGluc3BlY3RvckZyb250ZW5kQ2xpZW50KQogewotICAgIGluc3BlY3RvckZyb250ZW5kQ2xp
ZW50LT5kZXN0cm95SW5zcGVjdG9yV2luZG93KCk7CisgICAgaW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQtPmRlc3Ryb3lJbnNwZWN0b3JXaW5kb3codHJ1ZSk7CiB9CiAKIEluc3BlY3RvckNsaWVudDo6
SW5zcGVjdG9yQ2xpZW50KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCkBAIC0yNzQsNyArMjc0LDcg
QEAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6On5JbnNwZWN0b3JGcm9udGVuZENsaWVudCgpCiAg
ICAgQVNTRVJUKCFtX3dlYkluc3BlY3Rvcik7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQ6OmRlc3Ryb3lJbnNwZWN0b3JXaW5kb3coKQordm9pZCBJbnNwZWN0b3JGcm9udGVuZENs
aWVudDo6ZGVzdHJveUluc3BlY3RvcldpbmRvdyhib29sIG5vdGlmeUluc3BlY3RvckNvbnRyb2xs
ZXIpCiB7CiAgICAgaWYgKCFtX3dlYkluc3BlY3RvcikKICAgICAgICAgcmV0dXJuOwpAQCAtMjg0
LDcgKzI4NCw4IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRlc3Ryb3lJbnNwZWN0
b3JXaW5kb3coKQogICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhtX2lu
c3BlY3RvcldlYlZpZXcsIChncG9pbnRlcilub3RpZnlXZWJWaWV3RGVzdHJveWVkLCAoZ3BvaW50
ZXIpdGhpcyk7CiAgICAgbV9pbnNwZWN0b3JXZWJWaWV3ID0gMDsKIAotICAgIGNvcmUobV9pbnNw
ZWN0ZWRXZWJWaWV3KS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaXNjb25uZWN0RnJvbnRlbmQo
KTsKKyAgICBpZiAobm90aWZ5SW5zcGVjdG9yQ29udHJvbGxlcikKKyAgICAgICAgY29yZShtX2lu
c3BlY3RlZFdlYlZpZXcpLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpc2Nvbm5lY3RGcm9udGVu
ZCgpOwogCiAgICAgaWYgKG1faW5zcGVjdG9yQ2xpZW50KQogICAgICAgICBtX2luc3BlY3RvckNs
aWVudC0+cmVsZWFzZUZyb250ZW5kUGFnZSgpOwpAQCAtMzI2LDcgKzMyNywxMiBAQCB2b2lkIElu
c3BlY3RvckZyb250ZW5kQ2xpZW50OjpicmluZ1RvRnJvbnQoKQogCiB2b2lkIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50OjpjbG9zZVdpbmRvdygpCiB7Ci0gICAgZGVzdHJveUluc3BlY3RvcldpbmRv
dygpOworICAgIGRlc3Ryb3lJbnNwZWN0b3JXaW5kb3codHJ1ZSk7Cit9CisKK3ZvaWQgSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQ6OmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpCit7CisgICAgZGVzdHJv
eUluc3BlY3RvcldpbmRvdyhmYWxzZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQ6OmF0dGFjaFdpbmRvdygpCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0luc3BlY3RvckNsaWVudEd0ay5oIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0
b3JDbGllbnRHdGsuaAppbmRleCA4YjY4NDA1Li4wODAzOGY2IDEwMDY0NAotLS0gYS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5oCisrKyBiL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmgKQEAgLTgwLDcgKzgwLDcgQEAgbmFt
ZXNwYWNlIFdlYktpdCB7CiAKICAgICAgICAgdm9pZCBkaXNjb25uZWN0SW5zcGVjdG9yQ2xpZW50
KCkgeyBtX2luc3BlY3RvckNsaWVudCA9IDA7IH0KIAotICAgICAgICB2b2lkIGRlc3Ryb3lJbnNw
ZWN0b3JXaW5kb3coKTsKKyAgICAgICAgdm9pZCBkZXN0cm95SW5zcGVjdG9yV2luZG93KGJvb2wg
bm90aWZ5SW5zcGVjdG9yQ29udHJvbGxlcik7CiAKICAgICAgICAgdmlydHVhbCBXVEY6OlN0cmlu
ZyBsb2NhbGl6ZWRTdHJpbmdzVVJMKCk7CiAKQEAgLTg4LDYgKzg4LDcgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgICAgICB2
aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5l
Y3RGcm9tQmFja2VuZCgpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hXaW5kb3coKTsK
ICAgICAgICAgdmlydHVhbCB2b2lkIGRldGFjaFdpbmRvdygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA4OGEyZmJmLi45OGNi
NjM3IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTA5LTAyICBZdXJ5IFNlbWlraGF0c2t5ICA8
eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJFR1JFU1NJT046IENyYXNoIG9jY3VycyBhdCBvYmpjX21zZ1NlbmQgd2hl
biBjbG9zaW5nIGEgd2luZG93IHRoYXQgaXMgZGlzcGxheWluZyB0aGUgd2ViIGluc3BlY3Rvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQyMzAKKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbToKKyAgICAgICAgKFdlYkluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50OjpjbG9zZVdpbmRvdyk6CisgICAgICAgIChXZWJJbnNwZWN0b3JG
cm9udGVuZENsaWVudDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKToKKyAgICAgICAgKC1bV2ViSW5z
cGVjdG9yV2luZG93Q29udHJvbGxlciB3aW5kb3dTaG91bGRDbG9zZTpdKToKKyAgICAgICAgKC1b
V2ViSW5zcGVjdG9yV2luZG93Q29udHJvbGxlciBkZXN0cm95SW5zcGVjdG9yVmlldzpdKToKKwog
MjAxMC0wOS0wMSAgSmlhIFB1ICA8anB1QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQuaCBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50LmgKaW5kZXggZDMzZTNiOS4uNzVhM2NjNiAxMDA2NDQKLS0tIGEvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysgYi9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCkBAIC04NCw2ICs4NCw3IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICB2aXJ0dWFsIHZvaWQg
Y2xvc2VXaW5kb3coKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7
CiAKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoV2luZG93KCk7CiAgICAgdmlydHVhbCB2b2lkIGRl
dGFjaFdpbmRvdygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQubW0gYi9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5tbQppbmRleCA3Y2FlOGZjLi5kNGQwMjEzIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQpAQCAtNjYsNyArNjYsNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIC0gKHZvaWQpc2V0RnJvbnRlbmRDbGllbnQ6KFdlYkluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50Kilmcm9udGVuZENsaWVudDsKIC0gKHZvaWQpc2V0SW5zcGVjdG9y
Q2xpZW50OihXZWJJbnNwZWN0b3JDbGllbnQqKWluc3BlY3RvckNsaWVudDsKIC0gKHZvaWQpc2V0
QXR0YWNoZWRXaW5kb3dIZWlnaHQ6KHVuc2lnbmVkKWhlaWdodDsKLS0gKHZvaWQpZGVzdHJveUlu
c3BlY3RvclZpZXc7CistICh2b2lkKWRlc3Ryb3lJbnNwZWN0b3JWaWV3Oihib29sKW5vdGlmeUlu
c3BlY3RvckNvbnRyb2xsZXI7CiBAZW5kCiAKICNwcmFnbWEgbWFyayAtCkBAIC0xNjksNyArMTY5
LDEyIEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmJyaW5nVG9Gcm9udCgpCiAK
IHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmNsb3NlV2luZG93KCkKIHsKLSAgICBb
bV93aW5kb3dDb250cm9sbGVyLmdldCgpIGRlc3Ryb3lJbnNwZWN0b3JWaWV3XTsKKyAgICBbbV93
aW5kb3dDb250cm9sbGVyLmdldCgpIGRlc3Ryb3lJbnNwZWN0b3JWaWV3OnRydWVdOworfQorCit2
b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpkaXNjb25uZWN0RnJvbUJhY2tlbmQoKQor
eworICAgIFttX3dpbmRvd0NvbnRyb2xsZXIuZ2V0KCkgZGVzdHJveUluc3BlY3RvclZpZXc6ZmFs
c2VdOwogfQogCiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjphdHRhY2hXaW5kb3co
KQpAQCAtMzA4LDcgKzMxMyw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnVw
ZGF0ZVdpbmRvd1RpdGxlKCkgY29uc3QKIAogLSAoQk9PTCl3aW5kb3dTaG91bGRDbG9zZTooaWQp
c2VuZGVyCiB7Ci0gICAgW3NlbGYgZGVzdHJveUluc3BlY3RvclZpZXddOworICAgIFtzZWxmIGRl
c3Ryb3lJbnNwZWN0b3JWaWV3OnRydWVdOwogCiAgICAgcmV0dXJuIFlFUzsKIH0KQEAgLTQzOSw3
ICs0NDQsNyBAQCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50Ojp1cGRhdGVXaW5kb3dU
aXRsZSgpIGNvbnN0CiAgICAgW2ZyYW1lVmlldyBzZXRGcmFtZTpmcmFtZVZpZXdSZWN0XTsKIH0K
IAotLSAodm9pZClkZXN0cm95SW5zcGVjdG9yVmlldworLSAodm9pZClkZXN0cm95SW5zcGVjdG9y
VmlldzooYm9vbClub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyCiB7CiAgICAgaWYgKF9kZXN0cm95
aW5nSW5zcGVjdG9yVmlldykKICAgICAgICAgcmV0dXJuOwpAQCAtNDUwLDEwICs0NTUsMTIgQEAg
dm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6dXBkYXRlV2luZG93VGl0bGUoKSBjb25z
dAogCiAgICAgX3Zpc2libGUgPSBOTzsKIAotICAgIGlmIChQYWdlKiBpbnNwZWN0ZWRQYWdlID0g
W19pbnNwZWN0ZWRXZWJWaWV3IHBhZ2VdKQotICAgICAgICBpbnNwZWN0ZWRQYWdlLT5pbnNwZWN0
b3JDb250cm9sbGVyKCktPmRpc2Nvbm5lY3RGcm9udGVuZCgpOworICAgIGlmIChub3RpZnlJbnNw
ZWN0b3JDb250cm9sbGVyKSB7CisgICAgICAgIGlmIChQYWdlKiBpbnNwZWN0ZWRQYWdlID0gW19p
bnNwZWN0ZWRXZWJWaWV3IHBhZ2VdKQorICAgICAgICAgICAgaW5zcGVjdGVkUGFnZS0+aW5zcGVj
dG9yQ29udHJvbGxlcigpLT5kaXNjb25uZWN0RnJvbnRlbmQoKTsKIAotICAgIF9pbnNwZWN0b3JD
bGllbnQtPnJlbGVhc2VGcm9udGVuZFBhZ2UoKTsKKyAgICAgICAgX2luc3BlY3RvckNsaWVudC0+
cmVsZWFzZUZyb250ZW5kUGFnZSgpOworICAgIH0KIAogICAgIFtfd2ViVmlldyBjbG9zZV07CiB9
CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpp
bmRleCBhMjM1NGQ2Li5iYWZhYTZhIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wOS0wMiAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OOiBDcmFzaCBvY2N1cnMgYXQg
b2JqY19tc2dTZW5kIHdoZW4gY2xvc2luZyBhIHdpbmRvdyB0aGF0IGlzIGRpc3BsYXlpbmcgdGhl
IHdlYiBpbnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ0MjMwCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnRRdDo6aW5zcGVjdG9yRGVz
dHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0OjpvcGVuSW5zcGVj
dG9yRnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50UXQ6OnJlbGVh
c2VGcm9udGVuZFBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRRdDo6Y2xvc2VXaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRRdDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50UXQ6OmRlc3Ryb3lJbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50UXQ6Omluc3BlY3RvckNsaWVudERlc3Ryb3ll
ZCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaDoKKwogMjAx
MC0wOS0wMiAgQW5kcmVhcyBLbGluZyAgPGFuZHJlYXMua2xpbmdAbm9raWEuY29tPgogCiAgICAg
ICAgIFJ1YmJlci1zdGFtcGVkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKaW5kZXggZTEzZjZjMy4uMWE5MDQ4MCAx
MDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNw
cAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwCkBA
IC0xMDAsNiArMTAwLDggQEAgSW5zcGVjdG9yQ2xpZW50UXQ6Okluc3BlY3RvckNsaWVudFF0KFFX
ZWJQYWdlKiBwYWdlKQogCiB2b2lkIEluc3BlY3RvckNsaWVudFF0OjppbnNwZWN0b3JEZXN0cm95
ZWQoKQogeworICAgIGlmIChtX2Zyb250ZW5kQ2xpZW50KQorICAgICAgICBtX2Zyb250ZW5kQ2xp
ZW50LT5pbnNwZWN0b3JDbGllbnREZXN0cm95ZWQoKTsKICAgICBkZWxldGUgdGhpczsKIH0KIApA
QCAtMTMxLDEzICsxMzMsMTUgQEAgdm9pZCBJbnNwZWN0b3JDbGllbnRRdDo6b3Blbkluc3BlY3Rv
ckZyb250ZW5kKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXIqKQogICAgIG1faW5zcGVjdGVk
V2ViUGFnZS0+ZC0+aW5zcGVjdG9yRnJvbnRlbmQgPSBpbnNwZWN0b3JWaWV3OwogICAgIGluc3Bl
Y3Rvci0+ZC0+c2V0RnJvbnRlbmQoaW5zcGVjdG9yVmlldyk7CiAKLSAgICBpbnNwZWN0b3JWaWV3
LT5wYWdlKCktPmQtPnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2V0SW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQobmV3IEluc3BlY3RvckZyb250ZW5kQ2xpZW50UXQobV9pbnNwZWN0ZWRXZWJQ
YWdlLCBpbnNwZWN0b3JWaWV3LCB0aGlzKSk7CisgICAgbV9mcm9udGVuZENsaWVudCA9IG5ldyBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudFF0KG1faW5zcGVjdGVkV2ViUGFnZSwgaW5zcGVjdG9yVmll
dywgdGhpcyk7CisgICAgaW5zcGVjdG9yVmlldy0+cGFnZSgpLT5kLT5wYWdlLT5pbnNwZWN0b3JD
b250cm9sbGVyKCktPnNldEluc3BlY3RvckZyb250ZW5kQ2xpZW50KG1fZnJvbnRlbmRDbGllbnQp
OwogICAgIG1fZnJvbnRlbmRXZWJQYWdlID0gaW5zcGVjdG9yUGFnZTsKIH0KIAogdm9pZCBJbnNw
ZWN0b3JDbGllbnRRdDo6cmVsZWFzZUZyb250ZW5kUGFnZSgpCiB7CiAgICAgbV9mcm9udGVuZFdl
YlBhZ2UgPSAwOworICAgIG1fZnJvbnRlbmRDbGllbnQgPSAwOwogfQogCiB2b2lkIEluc3BlY3Rv
ckNsaWVudFF0OjpoaWdobGlnaHQoTm9kZSopCkBAIC0yNzUsMTkgKzI3OSwxMiBAQCB2b2lkIElu
c3BlY3RvckZyb250ZW5kQ2xpZW50UXQ6OmJyaW5nVG9Gcm9udCgpCiAKIHZvaWQgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRRdDo6Y2xvc2VXaW5kb3coKQogewotICAgIGlmIChtX2Rlc3Ryb3lpbmdJ
bnNwZWN0b3JWaWV3KQotICAgICAgICByZXR1cm47Ci0gICAgbV9kZXN0cm95aW5nSW5zcGVjdG9y
VmlldyA9IHRydWU7Ci0KLSAgICAvLyBDbGVhciByZWZlcmVuY2UgZnJvbSBRV2ViSW5zcGVjdG9y
IHRvIHRoZSBmcm9udGVuZCB2aWV3LgotICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+Z2V0T3JD
cmVhdGVJbnNwZWN0b3IoKS0+ZC0+c2V0RnJvbnRlbmQoMCk7Ci0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKLSAgICBtX2luc3BlY3RlZFdlYlBhZ2UtPmQtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlz
Y29ubmVjdEZyb250ZW5kKCk7Ci0jZW5kaWYKLSAgICBtX2luc3BlY3RvckNsaWVudC0+cmVsZWFz
ZUZyb250ZW5kUGFnZSgpOworICAgIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KHRydWUpOworfQogCi0g
ICAgLy8gQ2xlYXIgcG9pbnRlciBiZWZvcmUgZGVsZXRpbmcgV2ViVmlldyB0byBhdm9pZCByZWN1
cnNpdmUgY2FsbHMgdG8gaXRzIGRlc3RydWN0b3IuCi0gICAgT3duUHRyPFFXZWJWaWV3PiBpbnNw
ZWN0b3JWaWV3ID0gbV9pbnNwZWN0b3JWaWV3LnJlbGVhc2UoKTsKK3ZvaWQgSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRRdDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKCkKK3sKKyAgICBkZXN0cm95SW5z
cGVjdG9yVmlldyhmYWxzZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdDo6
YXR0YWNoV2luZG93KCkKQEAgLTMxOSw2ICszMTYsMzUgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudFF0Ojp1cGRhdGVXaW5kb3dUaXRsZSgpCiAgICAgfQogfQogCit2b2lkIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50UXQ6OmRlc3Ryb3lJbnNwZWN0b3JWaWV3KGJvb2wgbm90aWZ5SW5zcGVj
dG9yQ29udHJvbGxlcikKK3sKKyAgICBpZiAobV9kZXN0cm95aW5nSW5zcGVjdG9yVmlldykKKyAg
ICAgICAgcmV0dXJuOworICAgIG1fZGVzdHJveWluZ0luc3BlY3RvclZpZXcgPSB0cnVlOworCisg
ICAgLy8gSW5zcGVjdGVkIHBhZ2UgbWF5IGhhdmUgYWxyZWFkeSBiZWVuIGRlc3Ryb3llZC4KKyAg
ICBpZiAobV9pbnNwZWN0ZWRXZWJQYWdlKSB7CisgICAgICAgIC8vIENsZWFyIHJlZmVyZW5jZSBm
cm9tIFFXZWJJbnNwZWN0b3IgdG8gdGhlIGZyb250ZW5kIHZpZXcuCisgICAgICAgIG1faW5zcGVj
dGVkV2ViUGFnZS0+ZC0+Z2V0T3JDcmVhdGVJbnNwZWN0b3IoKS0+ZC0+c2V0RnJvbnRlbmQoMCk7
CisgICAgfQorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAobm90aWZ5SW5zcGVjdG9y
Q29udHJvbGxlcikKKyAgICAgICAgbV9pbnNwZWN0ZWRXZWJQYWdlLT5kLT5pbnNwZWN0b3JDb250
cm9sbGVyKCktPmRpc2Nvbm5lY3RGcm9udGVuZCgpOworI2VuZGlmCisgICAgaWYgKG1faW5zcGVj
dG9yQ2xpZW50KQorICAgICAgICBtX2luc3BlY3RvckNsaWVudC0+cmVsZWFzZUZyb250ZW5kUGFn
ZSgpOworCisgICAgLy8gQ2xlYXIgcG9pbnRlciBiZWZvcmUgZGVsZXRpbmcgV2ViVmlldyB0byBh
dm9pZCByZWN1cnNpdmUgY2FsbHMgdG8gaXRzIGRlc3RydWN0b3IuCisgICAgT3duUHRyPFFXZWJW
aWV3PiBpbnNwZWN0b3JWaWV3ID0gbV9pbnNwZWN0b3JWaWV3LnJlbGVhc2UoKTsKK30KKwordm9p
ZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjppbnNwZWN0b3JDbGllbnREZXN0cm95ZWQoKQor
eworICAgIG1faW5zcGVjdG9yQ2xpZW50ID0gMDsKKyAgICBtX2luc3BlY3RlZFdlYlBhZ2UgPSAw
OworfQorCiB9CiAKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnRRdC5tb2MiCmRpZmYgLS1naXQg
YS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaCBiL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCmluZGV4IDk1MjZjODguLmUwZWU4
MTAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRR
dC5oCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCkBA
IC00MSw2ICs0MSw3IEBAIGNsYXNzIFFXZWJQYWdlOwogY2xhc3MgUVdlYlZpZXc7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKK2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50UXQ7CiBjbGFzcyBO
b2RlOwogY2xhc3MgUGFnZTsKIApAQCAtNjUsNiArNjYsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIFFXZWJQYWdlKiBtX2luc3BlY3RlZFdlYlBhZ2U7CiAgICAgUVdlYlBhZ2UqIG1fZnJvbnRl
bmRXZWJQYWdlOworICAgIEluc3BlY3RvckZyb250ZW5kQ2xpZW50UXQqIG1fZnJvbnRlbmRDbGll
bnQ7CiB9OwogCiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0IDogcHVibGljIEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwgewpAQCAtNzksNiArODEsNyBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgYnJpbmdUb0Zyb250KCk7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlV2lu
ZG93KCk7CisgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOwogCiAgICAg
dmlydHVhbCB2b2lkIGF0dGFjaFdpbmRvdygpOwogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hXaW5k
b3coKTsKQEAgLTg3LDggKzkwLDExIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBpbnNw
ZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYgbmV3VVJMKTsKIAorICAgIHZvaWQgaW5zcGVj
dG9yQ2xpZW50RGVzdHJveWVkKCk7CisKIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVXaW5kb3dU
aXRsZSgpOworICAgIHZvaWQgZGVzdHJveUluc3BlY3RvclZpZXcoYm9vbCBub3RpZnlJbnNwZWN0
b3JDb250cm9sbGVyKTsKICAgICBRV2ViUGFnZSogbV9pbnNwZWN0ZWRXZWJQYWdlOwogICAgIE93
blB0cjxRV2ViVmlldz4gbV9pbnNwZWN0b3JWaWV3OwogICAgIFFTdHJpbmcgbV9pbnNwZWN0ZWRV
Ukw7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1dlYktpdC93aW4vQ2hhbmdl
TG9nCmluZGV4IGIzODc3ZGMuLjAwNTgxYWMgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDkt
MDIgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTjogQ3Jhc2ggb2Nj
dXJzIGF0IG9iamNfbXNnU2VuZCB3aGVuIGNsb3NpbmcgYSB3aW5kb3cgdGhhdCBpcyBkaXNwbGF5
aW5nIHRoZSB3ZWIgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00NDIzMAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50Ojp+V2Vi
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQ6OmNsb3NlV2luZG93KToKKyAgICAgICAgKFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50
OjpkaXNjb25uZWN0RnJvbUJhY2tlbmQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQ6OmNsb3NlV2luZG93V2l0aG91dE5vdGlmaWNhdGlvbnMpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRlc3Ryb3lJbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaDoKKwogMjAxMC0wOS0wMSAgSmVzc2ll
IEJlcmxpbiAgPGpiZXJsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0g
Um9iZW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5jcHAgYi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVu
dC5jcHAKaW5kZXggMzRmYjgyNy4uMWI3OWRkZSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcApAQCAtMjI4LDcgKzIyOCw3IEBAIFdlYklu
c3BlY3RvckZyb250ZW5kQ2xpZW50OjpXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudChXZWJWaWV3
KiBpbnNwZWN0ZWRXZWJWaWV3CiAKIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50Ojp+V2ViSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQoKQogewotICAgIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KCk7Cisg
ICAgZGVzdHJveUluc3BlY3RvclZpZXcodHJ1ZSk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQ6OmZyb250ZW5kTG9hZGVkKCkKQEAgLTI2MCw3ICsyNjAsMTIgQEAgdm9pZCBX
ZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6YnJpbmdUb0Zyb250KCkKIAogdm9pZCBXZWJJbnNw
ZWN0b3JGcm9udGVuZENsaWVudDo6Y2xvc2VXaW5kb3coKQogewotICAgIGRlc3Ryb3lJbnNwZWN0
b3JWaWV3KCk7CisgICAgZGVzdHJveUluc3BlY3RvclZpZXcodHJ1ZSk7Cit9CisKK3ZvaWQgV2Vi
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpCit7CisgICAg
ZGVzdHJveUluc3BlY3RvclZpZXcoZmFsc2UpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvckZyb250
ZW5kQ2xpZW50OjphdHRhY2hXaW5kb3coKQpAQCAtMzQ0LDggKzM0OSw2IEBAIHZvaWQgV2ViSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQ6OmNsb3NlV2luZG93V2l0aG91dE5vdGlmaWNhdGlvbnMoKQog
ICAgIEhXTkQgaG9zdFdpbmRvdzsKICAgICBpZiAoU1VDQ0VFREVEKG1faW5zcGVjdGVkV2ViVmll
dy0+aG9zdFdpbmRvdygoT0xFX0hBTkRMRSopJmhvc3RXaW5kb3cpKSkKICAgICAgICAgU2VuZE1l
c3NhZ2UoaG9zdFdpbmRvdywgV01fU0laRSwgMCwgMCk7Ci0KLSAgICBtX2luc3BlY3RvckNsaWVu
dC0+dXBkYXRlSGlnaGxpZ2h0KCk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQ6OnNob3dXaW5kb3dXaXRob3V0Tm90aWZpY2F0aW9ucygpCkBAIC0zOTcsMTYgKzQwMCwyMCBA
QCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpzaG93V2luZG93V2l0aG91dE5vdGlm
aWNhdGlvbnMoKQogICAgIG1faW5zcGVjdG9yQ2xpZW50LT51cGRhdGVIaWdobGlnaHQoKTsKIH0K
IAotdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6ZGVzdHJveUluc3BlY3RvclZpZXco
KQordm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6ZGVzdHJveUluc3BlY3RvclZpZXco
Ym9vbCBub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyKQogewogICAgIGlmIChtX2Rlc3Ryb3lpbmdJ
bnNwZWN0b3JWaWV3KQogICAgICAgICByZXR1cm47CiAgICAgbV9kZXN0cm95aW5nSW5zcGVjdG9y
VmlldyA9IHRydWU7CiAKLSAgICBtX2luc3BlY3RlZFdlYlZpZXctPnBhZ2UoKS0+aW5zcGVjdG9y
Q29udHJvbGxlcigpLT5kaXNjb25uZWN0RnJvbnRlbmQoKTsKIAogICAgIGNsb3NlV2luZG93V2l0
aG91dE5vdGlmaWNhdGlvbnMoKTsKLSAgICBtX2luc3BlY3RvckNsaWVudC0+ZnJvbnRlbmRDbG9z
aW5nKCk7CisKKyAgICBpZiAobm90aWZ5SW5zcGVjdG9yQ29udHJvbGxlcikgeworICAgICAgICBt
X2luc3BlY3RlZFdlYlZpZXctPnBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaXNjb25u
ZWN0RnJvbnRlbmQoKTsKKyAgICAgICAgbV9pbnNwZWN0b3JDbGllbnQtPnVwZGF0ZUhpZ2hsaWdo
dCgpOworICAgICAgICBtX2luc3BlY3RvckNsaWVudC0+ZnJvbnRlbmRDbG9zaW5nKCk7CisgICAg
fQogICAgIDo6RGVzdHJveVdpbmRvdyhtX2Zyb250ZW5kSHduZCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmggYi9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCmluZGV4IDRkYTM5ODQuLjBj
MzgyNDcgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9y
Q2xpZW50LmgKKysrIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuaApAQCAtOTMsNiArOTMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIGJy
aW5nVG9Gcm9udCgpOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZVdpbmRvdygpOworICAgIHZpcnR1
YWwgdm9pZCBkaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQg
YXR0YWNoV2luZG93KCk7CiAgICAgdmlydHVhbCB2b2lkIGRldGFjaFdpbmRvdygpOwpAQCAtMTA2
LDcgKzEwNyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjbG9zZVdpbmRvd1dpdGhvdXROb3RpZmlj
YXRpb25zKCk7CiAgICAgdm9pZCBzaG93V2luZG93V2l0aG91dE5vdGlmaWNhdGlvbnMoKTsKIAot
ICAgIHZvaWQgZGVzdHJveUluc3BlY3RvclZpZXcoKTsKKyAgICB2b2lkIGRlc3Ryb3lJbnNwZWN0
b3JWaWV3KGJvb2wgbm90aWZ5SW5zcGVjdG9yQ29udHJvbGxlcik7CiAKICAgICB2b2lkIHVwZGF0
ZVdpbmRvd1RpdGxlKCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>67045</attachid>
            <date>2010-09-09 09:36:47 -0700</date>
            <delta_ts>2010-09-09 09:36:47 -0700</delta_ts>
            <desc>r67077 crash log</desc>
            <filename>Safari_2010-09-09-171352_Nautilus.crash</filename>
            <type>text/plain</type>
            <size>36731</size>
            <attacher name="Rowan Beentje">rowan</attacher>
            
              <data encoding="base64">UHJvY2VzczogICAgICAgICBTYWZhcmkgWzcxOTBdClBhdGg6ICAgICAgICAgICAgL0FwcGxpY2F0
aW9ucy9TYWZhcmkuYXBwL0NvbnRlbnRzL01hY09TL1NhZmFyaQpJZGVudGlmaWVyOiAgICAgIG9y
Zy53ZWJraXQubmlnaHRseS5XZWJLaXQKVmVyc2lvbjogICAgICAgICByNjcwNzcgKDY3MDc3KQpD
b2RlIFR5cGU6ICAgICAgIFg4Ni02NCAoTmF0aXZlKQpQYXJlbnQgUHJvY2VzczogIGxhdW5jaGQg
Wzk5XQoKRGF0ZS9UaW1lOiAgICAgICAyMDEwLTA5LTA5IDE3OjEzOjUxLjM3NCArMDEwMApPUyBW
ZXJzaW9uOiAgICAgIE1hYyBPUyBYIDEwLjYuNCAoMTBGNTY5KQpSZXBvcnQgVmVyc2lvbjogIDYK
CkV4Y2VwdGlvbiBUeXBlOiAgRVhDX0JBRF9BQ0NFU1MgKFNJR1NFR1YpCkV4Y2VwdGlvbiBDb2Rl
czogS0VSTl9JTlZBTElEX0FERFJFU1MgYXQgMHgwMDAwMDAwMDAwMDAwMDFkCkNyYXNoZWQgVGhy
ZWFkOiAgMCAgRGlzcGF0Y2ggcXVldWU6IGNvbS5hcHBsZS5tYWluLXRocmVhZAoKQXBwbGljYXRp
b24gU3BlY2lmaWMgSW5mb3JtYXRpb246Cm9iamNfbXNnU2VuZCgpIHNlbGVjdG9yIG5hbWU6IF9p
c0Nsb3NlZAoKClRocmVhZCAwIENyYXNoZWQ6ICBEaXNwYXRjaCBxdWV1ZTogY29tLmFwcGxlLm1h
aW4tdGhyZWFkCjAgICBsaWJvYmpjLkEuZHlsaWIgICAgICAgICAgICAgICAJMHgwMDAwN2ZmZjg3
YmY1MTFjIG9iamNfbXNnU2VuZCArIDQwCjEgICBjb20uYXBwbGUuV2ViS2l0ICAgICAgICAgICAg
ICAJMHgwMDAwMDAwMTAwYTQwNWU0IC1bV2ViSW5zcGVjdG9yV2luZG93Q29udHJvbGxlciBjbG9z
ZV0gKyA4NAoyICAgY29tLmFwcGxlLldlYktpdCAgICAgICAgICAgICAgCTB4MDAwMDAwMDEwMGE0
MGIxZiAtW1dlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xsZXIgZGVzdHJveUluc3BlY3RvclZpZXc6
XSArIDEyNwozICAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDAwMDAwMDEwMTA3
Mzg0YiBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmRpc2Nvbm5lY3RGcm9tQmFja2Vu
ZCgpICsgMjcKNCAgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAgIAkweDAwMDAwMDAxMDEy
MmJkMjYgV2ViQ29yZTo6anNJbnNwZWN0b3JGcm9udGVuZEhvc3RQcm90b3R5cGVGdW5jdGlvbkRp
c2Nvbm5lY3RGcm9tQmFja2VuZChKU0M6OkV4ZWNTdGF0ZSopICsgMTE4CjUgICA/Pz8gICAgICAg
ICAgICAgICAgICAgICAgICAgICAJMHgwMDAwM2JlMzJiODAwMWFhIDAgKyA2NTg0Njg3MzQyNDI5
OAo2ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAwMDAwMDEwMDdkY2JhOCBK
U0M6OkludGVycHJldGVyOjpleGVjdXRlQ2FsbChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmpl
Y3QqLCBKU0M6OkNhbGxUeXBlLCBKU0M6OkNhbGxEYXRhIGNvbnN0JiwgSlNDOjpKU1ZhbHVlLCBK
U0M6OkFyZ0xpc3QgY29uc3QmLCBKU0M6OkpTVmFsdWUqKSArIDg4OAoKVGhyZWFkIDE6ICBEaXNw
YXRjaCBxdWV1ZTogY29tLmFwcGxlLmxpYmRpc3BhdGNoLW1hbmFnZXIKMCAgIGxpYlN5c3RlbS5C
LmR5bGliICAgICAgICAgICAgIAkweDAwMDA3ZmZmODU3OTAwOGEga2V2ZW50ICsgMTAKMSAgIGxp
YlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDAwMDA3ZmZmODU3OTFmNWQgX2Rpc3BhdGNo
X21ncl9pbnZva2UgKyAxNTQKMiAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDAw
MDA3ZmZmODU3OTFjMzQgX2Rpc3BhdGNoX3F1ZXVlX2ludm9rZSArIDE4NQozICAgbGliU3lzdGVt
LkIuZHlsaWIgICAgICAgICAgICAgCTB4MDAwMDdmZmY4NTc5MTc1ZSBfZGlzcGF0Y2hfd29ya2Vy
X3RocmVhZDIgKyAyNTIKNCAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDAwMDA3
ZmZmODU3OTEwODggX3B0aHJlYWRfd3F0aHJlYWQgKyAzNTMKNSAgIGxpYlN5c3RlbS5CLmR5bGli
ICAgICAgICAgICAgIAkweDAwMDA3ZmZmODU3OTBmMjUgc3RhcnRfd3F0aHJlYWQgKyAxMwoKVGhy
ZWFkIDI6CjAgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHgwMDAwN2ZmZjg1Nzkw
ZWFhIF9fd29ya3Ffa2VybnJldHVybiArIDEwCjEgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAg
ICAgICAJMHgwMDAwN2ZmZjg1NzkxMmJjIF9wdGhyZWFkX3dxdGhyZWFkICsgOTE3CjIgICBsaWJT
eXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHgwMDAwN2ZmZjg1NzkwZjI1IHN0YXJ0X3dxdGhy
ZWFkICsgMTMKClRocmVhZCAzOiAgV2ViQ29yZTogSWNvbkRhdGFiYXNlCjAgICBsaWJTeXN0ZW0u
Qi5keWxpYiAgICAgICAgICAgICAJMHgwMDAwN2ZmZjg1N2IxZWI2IF9fc2Vtd2FpdF9zaWduYWwg
KyAxMAoxICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4MDAwMDdmZmY4NTdiNWNk
MSBfcHRocmVhZF9jb25kX3dhaXQgKyAxMjg2CjIgICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAg
ICAgICAJMHgwMDAwMDAwMTAwZmM2ZjRkIFdlYkNvcmU6Okljb25EYXRhYmFzZTo6c3luY1RocmVh
ZE1haW5Mb29wKCkgKyAyNjkKMyAgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAgIAkweDAw
MDAwMDAxMDBmYzcwOGMgV2ViQ29yZTo6SWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5jVGhy
ZWFkKCkgKyAxNzIKNCAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDAwMDA3ZmZm
ODU3YjA0NTYgX3B0aHJlYWRfc3RhcnQgKyAzMzEKNSAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAg
ICAgICAgIAkweDAwMDA3ZmZmODU3YjAzMDkgdGhyZWFkX3N0YXJ0ICsgMTMKClRocmVhZCA0OiAg
U2FmYXJpOiBTYWZlQnJvd3NpbmdNYW5hZ2VyCjAgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAg
ICAgICAJMHgwMDAwN2ZmZjg1Nzc3MmZhIG1hY2hfbXNnX3RyYXAgKyAxMAoxICAgbGliU3lzdGVt
LkIuZHlsaWIgICAgICAgICAgICAgCTB4MDAwMDdmZmY4NTc3Nzk2ZCBtYWNoX21zZyArIDU5CjIg
ICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gICAgICAJMHgwMDAwN2ZmZjg3YTIzM2MyIF9fQ0ZS
dW5Mb29wUnVuICsgMTY5OAozICAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4MDAw
MDdmZmY4N2EyMjg0ZiBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDU3NQo0ICAgY29tLmFwcGxlLlNh
ZmFyaSAgICAgICAgICAgICAgCTB4MDAwMDAwMDEwMDAyZWQ5OSAweDEwMDAwMDAwMCArIDE5MTg5
Nwo1ICAgY29tLmFwcGxlLlNhZmFyaSAgICAgICAgICAgICAgCTB4MDAwMDAwMDEwMDAyZWQyOSAw
eDEwMDAwMDAwMCArIDE5MTc4NQo2ICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4
MDAwMDdmZmY4NTdiMDQ1NiBfcHRocmVhZF9zdGFydCArIDMzMQo3ICAgbGliU3lzdGVtLkIuZHls
aWIgICAgICAgICAgICAgCTB4MDAwMDdmZmY4NTdiMDMwOSB0aHJlYWRfc3RhcnQgKyAxMwoKVGhy
ZWFkIDU6CjAgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHgwMDAwN2ZmZjg1Nzc3
MmZhIG1hY2hfbXNnX3RyYXAgKyAxMAoxICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAg
CTB4MDAwMDdmZmY4NTc3Nzk2ZCBtYWNoX21zZyArIDU5CjIgICBjb20uYXBwbGUuQ29yZUZvdW5k
YXRpb24gICAgICAJMHgwMDAwN2ZmZjg3YTIzM2MyIF9fQ0ZSdW5Mb29wUnVuICsgMTY5OAozICAg
Y29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4MDAwMDdmZmY4N2EyMjg0ZiBDRlJ1bkxv
b3BSdW5TcGVjaWZpYyArIDU3NQo0ICAgY29tLmFwcGxlLkZvdW5kYXRpb24gICAgICAgICAgCTB4
MDAwMDdmZmY4MGMyZjRjMyArW05TVVJMQ29ubmVjdGlvbihOU1VSTENvbm5lY3Rpb25SZWFsbHlJ
bnRlcm5hbCkgX3Jlc291cmNlTG9hZExvb3A6XSArIDI5Nwo1ICAgY29tLmFwcGxlLkZvdW5kYXRp
b24gICAgICAgICAgCTB4MDAwMDdmZmY4MGJhZmU4ZCBfX05TVGhyZWFkX19tYWluX18gKyAxNDI5
CjYgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHgwMDAwN2ZmZjg1N2IwNDU2IF9w
dGhyZWFkX3N0YXJ0ICsgMzMxCjcgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHgw
MDAwN2ZmZjg1N2IwMzA5IHRocmVhZF9zdGFydCArIDEzCgpUaHJlYWQgNjoKMCAgIGxpYlN5c3Rl
bS5CLmR5bGliICAgICAgICAgICAgIAkweDAwMDA3ZmZmODU3YmFkY2Ugc2VsZWN0JERBUldJTl9F
WFRTTiArIDEwCjEgICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gICAgICAJMHgwMDAwN2ZmZjg3
YTQ0ZTkyIF9fQ0ZTb2NrZXRNYW5hZ2VyICsgODE4CjIgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAg
ICAgICAgICAJMHgwMDAwN2ZmZjg1N2IwNDU2IF9wdGhyZWFkX3N0YXJ0ICsgMzMxCjMgICBsaWJT
eXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHgwMDAwN2ZmZjg1N2IwMzA5IHRocmVhZF9zdGFy
dCArIDEzCgpUaHJlYWQgNzogIFNhZmFyaTogU25hcHNob3RTdG9yZQowICAgbGliU3lzdGVtLkIu
ZHlsaWIgICAgICAgICAgICAgCTB4MDAwMDdmZmY4NTdiMWViNiBfX3NlbXdhaXRfc2lnbmFsICsg
MTAKMSAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDAwMDA3ZmZmODU3YjVjZDEg
X3B0aHJlYWRfY29uZF93YWl0ICsgMTI4NgoyICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAg
ICAgCTB4MDAwMDAwMDEwMDhmODE0MCBXVEY6OlRocmVhZENvbmRpdGlvbjo6dGltZWRXYWl0KFdU
Rjo6TXV0ZXgmLCBkb3VibGUpICsgNjQKMyAgIGNvbS5hcHBsZS5TYWZhcmkgICAgICAgICAgICAg
IAkweDAwMDAwMDAxMDAxYmQ5NDEgMHgxMDAwMDAwMDAgKyAxODI1MDg5CjQgICBjb20uYXBwbGUu
U2FmYXJpICAgICAgICAgICAgICAJMHgwMDAwMDAwMTAwMDQ2NzgzIDB4MTAwMDAwMDAwICsgMjg4
NjQzCjUgICBjb20uYXBwbGUuU2FmYXJpICAgICAgICAgICAgICAJMHgwMDAwMDAwMTAwMDQ2NjAx
IDB4MTAwMDAwMDAwICsgMjg4MjU3CjYgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJ
MHgwMDAwN2ZmZjg1N2IwNDU2IF9wdGhyZWFkX3N0YXJ0ICsgMzMxCjcgICBsaWJTeXN0ZW0uQi5k
eWxpYiAgICAgICAgICAgICAJMHgwMDAwN2ZmZjg1N2IwMzA5IHRocmVhZF9zdGFydCArIDEzCgpU
aHJlYWQgODoKMCAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDAwMDA3ZmZmODU3
OTBlYWEgX193b3JrcV9rZXJucmV0dXJuICsgMTAKMSAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAg
ICAgICAgIAkweDAwMDA3ZmZmODU3OTEyYmMgX3B0aHJlYWRfd3F0aHJlYWQgKyA5MTcKMiAgIGxp
YlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDAwMDA3ZmZmODU3OTBmMjUgc3RhcnRfd3F0
aHJlYWQgKyAxMwoKVGhyZWFkIDk6CjAgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJ
MHgwMDAwN2ZmZjg1NzkwZWFhIF9fd29ya3Ffa2VybnJldHVybiArIDEwCjEgICBsaWJTeXN0ZW0u
Qi5keWxpYiAgICAgICAgICAgICAJMHgwMDAwN2ZmZjg1NzkxMmJjIF9wdGhyZWFkX3dxdGhyZWFk
ICsgOTE3CjIgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHgwMDAwN2ZmZjg1Nzkw
ZjI1IHN0YXJ0X3dxdGhyZWFkICsgMTMKClRocmVhZCAwIGNyYXNoZWQgd2l0aCBYODYgVGhyZWFk
IFN0YXRlICg2NC1iaXQpOgogIHJheDogMHgwMDAwMDAwMDAwMDAwMDUwICByYng6IDB4MDAwMDAw
MDExOGQwNDNjMCAgcmN4OiAweDAwMDAwMDAxMWQ4YmMxNDAgIHJkeDogMHgwMDAwMDAwMDAwMDAw
MDAwCiAgcmRpOiAweDAwMDAwMDAxMDI2MzYwYTAgIHJzaTogMHgwMDAwN2ZmZjgxNTcyYWE2ICBy
YnA6IDB4MDAwMDdmZmY1ZmJmZTE2MCAgcnNwOiAweDAwMDA3ZmZmNWZiZmUwYzgKICAgcjg6IDB4
MDAwMDAwMDExZjRlZmM0MCAgIHI5OiAweDAwMDAwMDAxMWZjMGM0MTAgIHIxMDogMHgwMDAwMDAw
MDAwMDAwMDFmICByMTE6IDB4MDAwMDAwMDAwMDAwMDAwZAogIHIxMjogMHgwMDAwN2ZmZjg4ZTM3
NzcwICByMTM6IDB4MDAwMDAwMDAwMDAwMDAwMCAgcjE0OiAweDAwMDAwMDAxMThkMDQzYzAgIHIx
NTogMHhmZmZmMDAwMDAwMDAwMDAyCiAgcmlwOiAweDAwMDA3ZmZmODdiZjUxMWMgIHJmbDogMHgw
MDAwMDAwMDAwMDEwMjA2ICBjcjI6IDB4MDAwMDAwMDAwMDAwMDAxZAoKQmluYXJ5IEltYWdlczoK
ICAgICAgIDB4MTAwMDAwMDAwIC0gICAgICAgIDB4MTAwNmFkZmU3ICBjb20uYXBwbGUuU2FmYXJp
IDUuMC4xICg2NTMzLjE3LjgpIDw2MzhDNEI4My1EOTFELUUyNTctNDBERC00QTE2REE5NEYyN0Y+
IC9BcHBsaWNhdGlvbnMvU2FmYXJpLmFwcC9Db250ZW50cy9NYWNPUy9TYWZhcmkKICAgICAgIDB4
MTAwNzU5MDAwIC0gICAgICAgIDB4MTAwNzVjZmZmICtXZWJLaXROaWdodGx5RW5hYmxlci5keWxp
YiA/Pz8gKD8/PykgPEZBNkI0NjgzLTk3RkQtNzhBOS00QTQzLTdENTZCNjcxRDVBMz4gL0FwcGxp
Y2F0aW9ucy9XZWJLaXQuYXBwL0NvbnRlbnRzL1Jlc291cmNlcy9XZWJLaXROaWdodGx5RW5hYmxl
ci5keWxpYgogICAgICAgMHgxMDA3NjEwMDAgLSAgICAgICAgMHgxMDA5NTVmZTcgIGNvbS5hcHBs
ZS5KYXZhU2NyaXB0Q29yZSA1MzQrICg1MzQuOCspIDw1RkM5Mjk1MC01RDYxLUQzNzktOUE0QS1B
N0FBMzk1NThDRjc+IC9BcHBsaWNhdGlvbnMvV2ViS2l0LmFwcC9Db250ZW50cy9GcmFtZXdvcmtz
LzEwLjYvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUK
ICAgICAgIDB4MTAwOWM3MDAwIC0gICAgICAgIDB4MTAwYjUyZmVmICBjb20uYXBwbGUuV2ViS2l0
IHI2NzA3NyAoNTM0LjgrKSA8NTM1NUQ3RUEtMkJFRC1DMDBDLTZFNzAtM0FENzg0ODc3ODZGPiAv
QXBwbGljYXRpb25zL1dlYktpdC5hcHAvQ29udGVudHMvRnJhbWV3b3Jrcy8xMC42L1dlYktpdC5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJLaXQKICAgICAgIDB4MTAwYzI3MDAwIC0gICAgICAgIDB4
MTAxYjI0ZmU3ICBjb20uYXBwbGUuV2ViQ29yZSA1MzQrICg1MzQuOCspIDwyOENFRDQwOC04QzA0
LUIzNUQtOEQ0Ni05NDhDOTc5NUI5RTc+IC9BcHBsaWNhdGlvbnMvV2ViS2l0LmFwcC9Db250ZW50
cy9GcmFtZXdvcmtzLzEwLjYvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3JlCiAg
ICAgICAweDEwMjIwZTAwMCAtICAgICAgICAweDEwMjIzN2ZmNyArb3JnLmFuZHltYXR1c2NoYWsu
U3BhcmtsZSAxLjUgQmV0YSAoZ2l0KSAoODMwZjYzMykgPDk0NUVBMDM2LTdFQzMtRDAyMC1DODg5
LTI5RUNCNTg4Qjg5MT4gL0FwcGxpY2F0aW9ucy9XZWJLaXQuYXBwL0NvbnRlbnRzL0ZyYW1ld29y
a3MvMTAuNi9TcGFya2xlLmZyYW1ld29yay9WZXJzaW9ucy9BL1NwYXJrbGUKICAgICAgIDB4MTAy
MjUyMDAwIC0gICAgICAgIDB4MTAyMzM4ZmU3ICBsaWJjcnlwdG8uMC45LjcuZHlsaWIgMC45Ljcg
KGNvbXBhdGliaWxpdHkgMC45LjcpIDxCQTVFNTI3Ni04Njk2LTkwNkQtMEEzNy0wRkZFRjAyMkI0
ODI+IC91c3IvbGliL2xpYmNyeXB0by4wLjkuNy5keWxpYgogICAgICAgMHgxMWE4ZmMwMDAgLSAg
ICAgICAgMHgxMWE4ZmNmZmYgIGNvbS5hcHBsZS5KYXZhUGx1Z2luQ29jb2EgMTMuMi4wICgxMy4y
LjApIDwxOEQ5QTdBOC1FQ0ZGLTEyM0MtMDEzRC0xRTM2RDI3OUQxNTA+IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0phdmFWTS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvSmF2YVBs
dWdpbkNvY29hLmJ1bmRsZS9Db250ZW50cy9NYWNPUy9KYXZhUGx1Z2luQ29jb2EKICAgICAgIDB4
MTFkZmQwMDAwIC0gICAgICAgIDB4MTFkZmQ4ZmY3ICBjb20uYXBwbGUuSmF2YVZNIDEzLjIuMCAo
MTMuMi4wKSA8REQwRTg0NkEtMzMxMy0wOURFLUQxN0EtQUU2QTNENDdEQzg2PiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9KYXZhVk0uZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVZNCiAgICAg
ICAweDExZmY0MDAwMCAtICAgICAgICAweDExZmY2NGZmNyAgbGliUERGUklQLkEuZHlsaWIgNTQz
LjUwLjAgKGNvbXBhdGliaWxpdHkgNjQuMC4wKSA8NkEyNDgxNTMtOEEyOC1GRkNBLTAxRjEtQzg1
RDY1OTg3NkZDPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2Vz
LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQ29yZUdyYXBoaWNzLmZyYW1ld29yay9W
ZXJzaW9ucy9BL1Jlc291cmNlcy9saWJQREZSSVAuQS5keWxpYgogICAgMHg3ZmZmNWZjMDAwMDAg
LSAgICAgMHg3ZmZmNWZjM2JkZWYgIGR5bGQgMTMyLjEgKD8/PykgPEI1MzZGMkYxLTlERjEtM0I2
Qy0xQzJDLTkwNzVFQTIxOUEwNj4gL3Vzci9saWIvZHlsZAogICAgMHg3ZmZmODAwMDMwMDAgLSAg
ICAgMHg3ZmZmODAwOTNmZmYgIGNvbS5hcHBsZS5TZWFyY2hLaXQgMS4zLjAgKDEuMy4wKSA8MzQw
M0U2NTgtQTU0RS1BNzlBLTEyRUItRTA5MEU4NzQzOTg0PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9TZWFyY2hL
aXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvU2VhcmNoS2l0CiAgICAweDdmZmY4MDA5NDAwMCAtICAg
ICAweDdmZmY4MDBkNWZmNyAgY29tLmFwcGxlLkNvcmVNZWRpYSAwLjQ4NC4xMSAoNDg0LjExKSA8
QUVFN0U5QzktOTYwNC1CMEE3LTA1M0ItMjg5NTQ2NTlDRkUzPiAvU3lzdGVtL0xpYnJhcnkvUHJp
dmF0ZUZyYW1ld29ya3MvQ29yZU1lZGlhLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVNZWRpYQog
ICAgMHg3ZmZmODAwZDYwMDAgLSAgICAgMHg3ZmZmODAyOGNmZWYgIGNvbS5hcHBsZS5JbWFnZUlP
LmZyYW1ld29yayAzLjAuMyAoMy4wLjMpIDxBMzJEMEI1QS03MTQ5LTc3MzktMjJEMy04NEQzOEIw
N0U5RTU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJh
bWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9JbWFnZUlPLmZyYW1ld29yay9WZXJzaW9ucy9B
L0ltYWdlSU8KICAgIDB4N2ZmZjgwMmJlMDAwIC0gICAgIDB4N2ZmZjgwNWYxZmU3ICBjb20uYXBw
bGUuQ29yZVNlcnZpY2VzLkNhcmJvbkNvcmUgODYxLjEzICg4NjEuMTMpIDxCQzJGOUI0RS1EMzA1
LUQ3MTctRDk3RS1FQzc4QzdERTlFRTk+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVT
ZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0NhcmJvbkNvcmUuZnJhbWV3
b3JrL1ZlcnNpb25zL0EvQ2FyYm9uQ29yZQogICAgMHg3ZmZmODA2M2MwMDAgLSAgICAgMHg3ZmZm
ODA2NGRmZmYgIFN5bmRpY2F0aW9uVUkgPz8/ICg/Pz8pIDxBQjIyMkQ1NC0zODAwLTc1NEQtQzIz
NC05RkQ1RjFBQ0E3RUI+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9TeW5kaWNh
dGlvblVJLmZyYW1ld29yay9WZXJzaW9ucy9BL1N5bmRpY2F0aW9uVUkKICAgIDB4N2ZmZjgwNjRl
MDAwIC0gICAgIDB4N2ZmZjgwNmJhZmY3ICBjb20uYXBwbGUuQ29yZVBERiAxLjMgKDEuMykgPDY3
NzBGRkIwLURFQTAtNjFFMC0zNTIwLTRCOTVDQ0Y1RDFDRj4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZh
dGVGcmFtZXdvcmtzL0NvcmVQREYuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZVBERgogICAgMHg3
ZmZmODA2YmIwMDAgLSAgICAgMHg3ZmZmODA2YzFmZmYgIGxpYkNHWENvcmVJbWFnZS5BLmR5bGli
IDU0My41MC4wIChjb21wYXRpYmlsaXR5IDY0LjAuMCkgPDJENzJENTVBLUM4RkUtNzhERC02MDJF
LUU5MzQwNTdFREY5NT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2
aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0NvcmVHcmFwaGljcy5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliQ0dYQ29yZUltYWdlLkEuZHlsaWIKICAgIDB4N2Zm
ZjgwNzExMDAwIC0gICAgIDB4N2ZmZjgwN2MwZmZmICBlZHUubWl0LktlcmJlcm9zIDYuNS4xMCAo
Ni41LjEwKSA8RjNGNzZFREYtNTY2MC03OEYwLUZFNkUtMzNCNjE3NEY1NUE0PiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9LZXJiZXJvcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9LZXJiZXJvcwog
ICAgMHg3ZmZmODA4NzcwMDAgLSAgICAgMHg3ZmZmODBhYjJmZWYgIGNvbS5hcHBsZS5pbWFnZUtp
dCAyLjAuMyAoMS4wKSA8OERBODBCQzktQzY3MS1CRDg5LUVBMkUtM0M2MzJENkVDRTMwPiAvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9RdWFydHouZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3
b3Jrcy9JbWFnZUtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JbWFnZUtpdAogICAgMHg3ZmZmODBh
YjMwMDAgLSAgICAgMHg3ZmZmODBhYjdmZjcgIGxpYkNHWFR5cGUuQS5keWxpYiA1NDMuNTAuMCAo
Y29tcGF0aWJpbGl0eSA2NC4wLjApIDxFNjY2RUJDNy0yRDg3LUEzQzYtOTQ2MS1BNTk2QjRFNTM1
OTM+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3
b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9Db3JlR3JhcGhpY3MuZnJhbWV3b3JrL1ZlcnNpb25z
L0EvUmVzb3VyY2VzL2xpYkNHWFR5cGUuQS5keWxpYgogICAgMHg3ZmZmODBhYjgwMDAgLSAgICAg
MHg3ZmZmODBiMGRmZWYgIGNvbS5hcHBsZS5mcmFtZXdvcmsuZmFtaWx5Y29udHJvbHMgMi4wLjEg
KDIwMTApIDwyMzk5NDBBQy0yNDI3LTQ0QzYtOUUyOS05OThEMEFCRUNERjM+IC9TeXN0ZW0vTGli
cmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9GYW1pbHlDb250cm9scy5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9GYW1pbHlDb250cm9scwogICAgMHg3ZmZmODBiMGUwMDAgLSAgICAgMHg3ZmZmODBiMTlmZmYg
IGNvbS5hcHBsZS5jb3JlbG9jYXRpb24gMTIgKDEyKSA8OUZFNzFDMDktNTlGNy1COTQzLTM5Rjgt
QUQzRkNFNzI3RDI5PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlTG9jYXRpb24uZnJh
bWV3b3JrL1ZlcnNpb25zL0EvQ29yZUxvY2F0aW9uCiAgICAweDdmZmY4MGI1NTAwMCAtICAgICAw
eDdmZmY4MGI5ZWZmNyAgY29tLmFwcGxlLnNlY3VyaXR5aW50ZXJmYWNlIDQuMC4xICgzNzIxNCkg
PEMyMkVFRkM4LTkyRTgtRUMxMS1COTY3LUZENzkwRDM5RjlBQj4gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvU2VjdXJpdHlJbnRlcmZhY2UuZnJhbWV3b3JrL1ZlcnNpb25zL0EvU2VjdXJpdHlJ
bnRlcmZhY2UKICAgIDB4N2ZmZjgwYjlmMDAwIC0gICAgIDB4N2ZmZjgwZTIwZmVmICBjb20uYXBw
bGUuRm91bmRhdGlvbiA2LjYuMyAoNzUxLjI5KSA8REFFREI1ODktOUY1OS05NTU2LUNGOEQtMDc1
NTYzMTc5MzdCPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29y
ay9WZXJzaW9ucy9DL0ZvdW5kYXRpb24KICAgIDB4N2ZmZjgwZTIxMDAwIC0gICAgIDB4N2ZmZjgw
ZTY1ZmU3ICBjb20uYXBwbGUuSW1hZ2VDYXB0dXJlQ29yZSAxLjAuMiAoMS4wLjIpIDwwNzUxOThB
NS00QzZCLUQ5NDUtRDNFRi1EMTM5NjBDOUY3Mzg+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0ltYWdlQ2FwdHVyZUNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSW1hZ2VDYXB0dXJlQ29yZQog
ICAgMHg3ZmZmODBlNjYwMDAgLSAgICAgMHg3ZmZmODBlODZmZjcgIGNvbS5hcHBsZS5EaXJlY3Rv
cnlTZXJ2aWNlLkZyYW1ld29yayAzLjYgKDYyMS4zKSA8MzRCMTcwMjQtODY2Ri03MEFGLTIwOTgt
NEI1RkNGNTdBRTUyPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9EaXJlY3RvcnlTZXJ2aWNl
LmZyYW1ld29yay9WZXJzaW9ucy9BL0RpcmVjdG9yeVNlcnZpY2UKICAgIDB4N2ZmZjgwZTg3MDAw
IC0gICAgIDB4N2ZmZjgwZTg5ZmZmICBsaWJSYWRpYW5jZS5keWxpYiA/Pz8gKD8/PykgPEQ2N0Mw
OEI2LTRENEEtOTE2RC1FOTM2LTUyOEUxNDVBNTZFMj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0lt
YWdlSU8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL2xpYlJhZGlhbmNlLmR5bGliCiAg
ICAweDdmZmY4MGU4YTAwMCAtICAgICAweDdmZmY4MGU4ZmZmZiAgbGliR0lGLmR5bGliID8/PyAo
Pz8/KSA8MjFGQzZCMDItNkFDMy1DNERCLTBCNTAtOTgxNDQ4MDIyNzRDPiAvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0Zy
YW1ld29ya3MvSW1hZ2VJTy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliR0lGLmR5
bGliCiAgICAweDdmZmY4MGU5MDAwMCAtICAgICAweDdmZmY4MGU5NGZmNyAgbGlibWF0aENvbW1v
bi5BLmR5bGliIDMxNS4wLjAgKGNvbXBhdGliaWxpdHkgMS4wLjApIDw5NTcxODY3My1GRUVFLUI2
RUQtQjEyNy1CQ0RCREI2MEQ0RTU+IC91c3IvbGliL3N5c3RlbS9saWJtYXRoQ29tbW9uLkEuZHls
aWIKICAgIDB4N2ZmZjgwZTk1MDAwIC0gICAgIDB4N2ZmZjgwZWNkZmVmICBsaWJjdXBzLjIuZHls
aWIgMi44LjAgKGNvbXBhdGliaWxpdHkgMi4wLjApIDwzMUE3ODkwNC1BNTAwLTBEQTktMDYwOS1G
MUVCODEzODMzMjY+IC91c3IvbGliL2xpYmN1cHMuMi5keWxpYgogICAgMHg3ZmZmODBlY2UwMDAg
LSAgICAgMHg3ZmZmODBlZTRmZmYgIGNvbS5hcHBsZS5JbWFnZUNhcHR1cmUgNi4wICg2LjApIDxC
RjcwMkY2NS04RTMwLUUzMTgtMUI1OC1BRTZDMEQ1RTU3MTU+IC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0ltYWdlQ2FwdHVy
ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JbWFnZUNhcHR1cmUKICAgIDB4N2ZmZjgwZWU1MDAwIC0g
ICAgIDB4N2ZmZjgwZWY5ZmY3ICBjb20uYXBwbGUuc3BlZWNoLnN5bnRoZXNpcy5mcmFtZXdvcmsg
My4xMC4zNSAoMy4xMC4zNSkgPDYzQzg3Q0Y3LTU2QjMtNDAzOC04MTM2LThDMjZFOTZBRDQyRj4g
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9GcmFtZXdvcmtzL1NwZWVjaFN5bnRoZXNpcy5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9TcGVlY2hTeW50aGVzaXMKICAgIDB4N2ZmZjgwZWZhMDAwIC0gICAgIDB4N2ZmZjgwZWZhZmY3
ICBjb20uYXBwbGUuQ29yZVNlcnZpY2VzIDQ0ICg0NCkgPDIxMEE0QzU2LUJFQ0ItRTNFNC1CNkVF
LTdFQzUzRTAyMjY1RD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZy
YW1ld29yay9WZXJzaW9ucy9BL0NvcmVTZXJ2aWNlcwogICAgMHg3ZmZmODBlZmIwMDAgLSAgICAg
MHg3ZmZmODBmNDJmZjcgIGNvbS5hcHBsZS5jb3JldWkgMiAoMTE0KSA8QkIwOUU2ODUtMUY1RC0w
Njc2LTFBMEUtMjk1NjEwQjM4N0E4PiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3Mv
Q29yZVVJLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVVSQogICAgMHg3ZmZmODBmNDMwMDAgLSAg
ICAgMHg3ZmZmODEwNDdmZmYgIGNvbS5hcHBsZS5QdWJTdWIgMS4wLjUgKDY1LjIwKSA8NEI3Qzc5
NDktNjUzRC1EMUQyLUZFREYtOTc4NjNBREQ0QkUwPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9QdWJTdWIuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUHViU3ViCiAgICAweDdmZmY4MTA0ODAwMCAt
ICAgICAweDdmZmY4MTA0YmZmNyAgbGliQ29yZVZNQ2xpZW50LmR5bGliID8/PyAoPz8/KSA8Q0Ux
OUE3OEYtQjc2RC0yNDRBLTFDMDQtMDU0NEI5MTRGNzI4PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9PcGVuR0wuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTGlicmFyaWVzL2xpYkNvcmVWTUNsaWVu
dC5keWxpYgogICAgMHg3ZmZmODEwNGMwMDAgLSAgICAgMHg3ZmZmODEwNTNmZmYgIGNvbS5hcHBs
ZS5PcGVuRGlyZWN0b3J5IDEwLjYgKDEwLjYpIDw3MkE2NUQ3Ni03ODMxLUQzMUUtRjFCMy05RTQ4
QkYyNkE5OEI+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL09wZW5EaXJlY3RvcnkuZnJhbWV3
b3JrL1ZlcnNpb25zL0EvT3BlbkRpcmVjdG9yeQogICAgMHg3ZmZmODEwNTQwMDAgLSAgICAgMHg3
ZmZmODEwYTNmZjcgIGNvbS5hcHBsZS5EaXJlY3RvcnlTZXJ2aWNlLlBhc3N3b3JkU2VydmVyRnJh
bWV3b3JrIDYuMCAoNi4wKSA8MTdFRkQ2NDYtNkY1My0zNkU5LTU2QkYtNUEzMzlFODNFRkZDPiAv
U3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvUGFzc3dvcmRTZXJ2ZXIuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvUGFzc3dvcmRTZXJ2ZXIKICAgIDB4N2ZmZjgxMGE0MDAwIC0gICAgIDB4N2Zm
ZjgxMzBkZmY3ICBjb20uYXBwbGUuUXVhcnR6Q29tcG9zZXIgNC4xICgxNTYuMTYpIDwwQkFFM0M5
MC1DRjYwLUMwQzctQzI5RS1CRjk5MjIwNzQwOTU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L1F1YXJ0ei5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1F1YXJ0ekNvbXBvc2VyLmZy
YW1ld29yay9WZXJzaW9ucy9BL1F1YXJ0ekNvbXBvc2VyCiAgICAweDdmZmY4MTMwZTAwMCAtICAg
ICAweDdmZmY4MTNkOWZlNyAgQ29sb3JTeW5jRGVwcmVjYXRlZC5keWxpYiA0LjYuMCAoY29tcGF0
aWJpbGl0eSAxLjAuMCkgPDNDMjIzQTk0LUVGMTQtMjhDNS04NDRCLUMyNURGQzg3RkI0Mj4gL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJh
bWV3b3Jrcy9Db2xvclN5bmMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL0NvbG9yU3lu
Y0RlcHJlY2F0ZWQuZHlsaWIKICAgIDB4N2ZmZjgxNDYxMDAwIC0gICAgIDB4N2ZmZjgxNDYyZmY3
ICBjb20uYXBwbGUuYXVkaW8udW5pdHMuQXVkaW9Vbml0IDEuNi4zICgxLjYuMykgPDUyNjRBNjgw
LTAxMEQtNERENi05MTFFLTA0QUQwREEzRDBCND4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXVkaW9Vbml0LmZyYW1ld29yay9WZXJzaW9ucy9BL0F1ZGlvVW5pdAogICAgMHg3ZmZmODE1ZTEw
MDAgLSAgICAgMHg3ZmZmODE2ZmFmZWYgIGxpYkdMUHJvZ3JhbW1hYmlsaXR5LmR5bGliID8/PyAo
Pz8/KSA8MEU1NUE1OEItNUI0Mi02NjlGLTI2NTUtOTA4OTM1NTRDQTIxPiAvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9PcGVuR0wuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTGlicmFyaWVzL2xpYkdM
UHJvZ3JhbW1hYmlsaXR5LmR5bGliCiAgICAweDdmZmY4MTZmYjAwMCAtICAgICAweDdmZmY4MTcx
NmZmNyAgY29tLmFwcGxlLm9wZW5zY3JpcHRpbmcgMS4zLjEgKD8/PykgPDVBNkVDQzMyLTA0RDAt
OUE2Mi02MzVELTFERDAzRUM2RTE5MD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9u
LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvT3BlblNjcmlwdGluZy5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9PcGVuU2NyaXB0aW5nCiAgICAweDdmZmY4MTczZjAwMCAtICAgICAweDdmZmY4
MTc1NWZlZiAgbGliYnNtLjAuZHlsaWIgPz8/ICg/Pz8pIDw4MzY3NkQyRS0yM0NELTQ1Q0QtQkU1
Qy0zNUZDRkZCQkJEQkI+IC91c3IvbGliL2xpYmJzbS4wLmR5bGliCiAgICAweDdmZmY4MTc1NjAw
MCAtICAgICAweDdmZmY4MTc1NmZmNyAgY29tLmFwcGxlLkNvY29hIDYuNiAoPz8/KSA8NjhCMEJF
NDYtNkUyNC1DOTZGLUIzNDEtMDU0Q0Y5RThGM0I2PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9Db2NvYS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db2NvYQogICAgMHg3ZmZmODE3OWEwMDAgLSAg
ICAgMHg3ZmZmODE4MTdmZWYgIGNvbS5hcHBsZS5iYWNrdXAuZnJhbWV3b3JrIDEuMi4yICgxLjIu
MikgPDZBN0JDRTg3LUEyRUYtMUJBMC1DMTkwLTIxNERFOEZFNjc3MT4gL1N5c3RlbS9MaWJyYXJ5
L1ByaXZhdGVGcmFtZXdvcmtzL0JhY2t1cC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9CYWNrdXAKICAg
IDB4N2ZmZjgxODU1MDAwIC0gICAgIDB4N2ZmZjgxODY2ZmZmICBjb20uYXBwbGUuRFNPYmpDV3Jh
cHBlcnMuRnJhbWV3b3JrIDEwLjYgKDEzNCkgPDNDMDgyMjVELTUxN0UtMjgyMi02MTUyLUY2RUIx
M0E0QURGOT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0RTT2JqQ1dyYXBwZXJz
LmZyYW1ld29yay9WZXJzaW9ucy9BL0RTT2JqQ1dyYXBwZXJzCiAgICAweDdmZmY4MTg2NzAwMCAt
ICAgICAweDdmZmY4MTg3OGZmNyAgbGliei4xLmR5bGliIDEuMi4zIChjb21wYXRpYmlsaXR5IDEu
MC4wKSA8RkI1RUU1M0EtMDUzNC0wRkZBLUIyRUQtNDg2NjA5NDMzNzE3PiAvdXNyL2xpYi9saWJ6
LjEuZHlsaWIKICAgIDB4N2ZmZjgxODc5MDAwIC0gICAgIDB4N2ZmZjgxOGY4ZmVmICBjb20uYXBw
bGUuYXVkaW8uQ29yZUF1ZGlvIDMuMi4yICgzLjIuMikgPDI0M0U0NTZFLTdBNzQtQkU3Ni1GRjE4
LUU1ODlCRENBQTc4NT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUF1ZGlvLmZyYW1l
d29yay9WZXJzaW9ucy9BL0NvcmVBdWRpbwogICAgMHg3ZmZmODE4ZjkwMDAgLSAgICAgMHg3ZmZm
ODE5MTdmZmYgIGxpYlBuZy5keWxpYiA/Pz8gKD8/PykgPEY2OTMyQzhELUU2QjEtMDg3MS1CNjk4
LTE1MTgwQUE5NDhGNz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2
aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0ltYWdlSU8uZnJhbWV3b3JrL1Zl
cnNpb25zL0EvUmVzb3VyY2VzL2xpYlBuZy5keWxpYgogICAgMHg3ZmZmODE5MTgwMDAgLSAgICAg
MHg3ZmZmODFhNTZmZmYgIGNvbS5hcHBsZS5Db3JlRGF0YSAxMDIuMSAoMjUxKSA8NzgyRjI5Q0Et
QUNDNy00QTc3LTU3NzItNTJGQkUyQ0VGQjVFPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9D
b3JlRGF0YS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlRGF0YQogICAgMHg3ZmZmODFhNTcwMDAg
LSAgICAgMHg3ZmZmODFhNTdmZjcgIGNvbS5hcHBsZS52ZWNMaWIgMy42ICh2ZWNMaWIgMy42KSA8
MDhEM0Q0NUQtOTA4Qi1CODZBLTAwQkEtMEY5NzhEMjcwMkE3PiAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy92ZWNMaWIuZnJhbWV3b3JrL1ZlcnNpb25zL0EvdmVjTGliCiAgICAweDdmZmY4MWE1
ODAwMCAtICAgICAweDdmZmY4MWE1YmZmNyAgY29tLmFwcGxlLnNlY3VyaXR5aGkgNC4wICgzNjYz
OCkgPDM4OTM1ODUxLTA5RTQtRERBQi1EQjFELTMwQURDMzlGN0VEMD4gL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvU2VjdXJp
dHlISS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TZWN1cml0eUhJCiAgICAweDdmZmY4MWE1YzAwMCAt
ICAgICAweDdmZmY4MWE2N2ZmZiAgY29tLmFwcGxlLkNyYXNoUmVwb3J0ZXJTdXBwb3J0IDEwLjYu
MyAoMjUwKSA8Rjc0RDg0RjItMjZEMC1CRTg5LTAwQTgtMjM4ODU3QUE4M0M1PiAvU3lzdGVtL0xp
YnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ3Jhc2hSZXBvcnRlclN1cHBvcnQuZnJhbWV3b3JrL1Zl
cnNpb25zL0EvQ3Jhc2hSZXBvcnRlclN1cHBvcnQKICAgIDB4N2ZmZjgxYWE3MDAwIC0gICAgIDB4
N2ZmZjgxZTQwZmY3ICBjb20uYXBwbGUuUXVhcnR6Q29yZSAxLjYuMiAoMjI3LjIyKSA8NzZFRTBB
MzItQjIwQi1GMzE2LUFEREQtNDIzMDMyOTI1M0Q1PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9RdWFydHpDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1F1YXJ0ekNvcmUKICAgIDB4N2ZmZjgx
ZTQxMDAwIC0gICAgIDB4N2ZmZjgxZTdlZmZmICBjb20uYXBwbGUuTERBUEZyYW1ld29yayAyLjAg
KDEyMC4xKSA8MTY4MzMzMEMtMjkwOC05QTQ1LUFGRjEtMjI4Mjc5MkMyNTcwPiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9MREFQLmZyYW1ld29yay9WZXJzaW9ucy9BL0xEQVAKICAgIDB4N2Zm
ZjgxZTdmMDAwIC0gICAgIDB4N2ZmZjgxZTg0ZmZmICBsaWJHRlhTaGFyZWQuZHlsaWIgPz8/ICg/
Pz8pIDwxQjUwRDgwNC05NjZCLTMwRDItRDBGRC1CMDkwQjZGRUFDN0U+IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL09wZW5HTC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9MaWJyYXJpZXMvbGliR0ZY
U2hhcmVkLmR5bGliCiAgICAweDdmZmY4MWU4YzAwMCAtICAgICAweDdmZmY4MWU4Y2ZmNyAgY29t
LmFwcGxlLkFjY2VsZXJhdGUudmVjTGliIDMuNiAodmVjTGliIDMuNikgPERBOUJGRjAxLTQwREYt
RUJENS1BQkI3LTc4N0RBRjJENzdDRj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQWNjZWxl
cmF0ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL3ZlY0xpYi5mcmFtZXdvcmsvVmVy
c2lvbnMvQS92ZWNMaWIKICAgIDB4N2ZmZjgyNGZjMDAwIC0gICAgIDB4N2ZmZjgyNTljZmZmICBj
b20uYXBwbGUuTGF1bmNoU2VydmljZXMgMzYyLjEgKDM2Mi4xKSA8NDUyOUVGOUMtNDVDNy1FMkUz
LTY3MjYtNEE1QUQzODI1NjZEPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2Vydmlj
ZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9MYXVuY2hTZXJ2aWNlcy5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9MYXVuY2hTZXJ2aWNlcwogICAgMHg3ZmZmODI1OWQwMDAgLSAgICAgMHg3
ZmZmODI2YWNmZTcgIGxpYmNyeXB0by4wLjkuOC5keWxpYiAwLjkuOCAoY29tcGF0aWJpbGl0eSAw
LjkuOCkgPDM2REE4OUE2LTNBRjUtODZGMi1CREQ1LUI5NEM3QzA4NDREND4gL3Vzci9saWIvbGli
Y3J5cHRvLjAuOS44LmR5bGliCiAgICAweDdmZmY4Mjc3NTAwMCAtICAgICAweDdmZmY4MjdjNGZl
ZiAgbGliVElGRi5keWxpYiA/Pz8gKD8/PykgPEE2NkNCQTlDLUEzOEQtNUVEQi1CRkI1LUNCMzk4
RjAzM0Q2Rj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0ltYWdlSU8uZnJhbWV3b3JrL1ZlcnNpb25z
L0EvUmVzb3VyY2VzL2xpYlRJRkYuZHlsaWIKICAgIDB4N2ZmZjgyN2NkMDAwIC0gICAgIDB4N2Zm
ZjgyN2U2ZmZmICBjb20uYXBwbGUuQ0ZPcGVuRGlyZWN0b3J5IDEwLjYgKDEwLjYpIDwwRjQ2RTEw
Mi04QjhFLTA5OTUtQkE4NS0zRDk2MDhGMEEzMEM+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L09wZW5EaXJlY3RvcnkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9DRk9wZW5EaXJl
Y3RvcnkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZPcGVuRGlyZWN0b3J5CiAgICAweDdmZmY4Mjdl
NzAwMCAtICAgICAweDdmZmY4MjdmNWZmNyAgbGlia3hsZC5keWxpYiA/Pz8gKD8/PykgPEVFODQw
MTY4LTFGNjctNjIxOS04QkEzLUM0NjAzOUJDQzhCMz4gL3Vzci9saWIvc3lzdGVtL2xpYmt4bGQu
ZHlsaWIKICAgIDB4N2ZmZjgyN2Y2MDAwIC0gICAgIDB4N2ZmZjgyODU4ZmU3ICBjb20uYXBwbGUu
ZGF0YWRldGVjdG9yc2NvcmUgMi4wICg4MC43KSA8NUYwRjg2NUMtQTgwRi1GRTdGLTdERjgtODk0
QTRBOTlFQUNBPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvRGF0YURldGVjdG9y
c0NvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRGF0YURldGVjdG9yc0NvcmUKICAgIDB4N2ZmZjgy
OGJhMDAwIC0gICAgIDB4N2ZmZjgyZmI3MDY3ICBjb20uYXBwbGUuQ29yZUdyYXBoaWNzIDEuNTQz
LjUwICg/Pz8pIDw0NkE3RDYwQy0wNTAwLUI5NkMtRUNBRC0xRDY1ODQ4N0QyMTM+IC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25z
L0EvRnJhbWV3b3Jrcy9Db3JlR3JhcGhpY3MuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUdyYXBo
aWNzCiAgICAweDdmZmY4MmZlZDAwMCAtICAgICAweDdmZmY4MzAyOGZmZiAgY29tLmFwcGxlLkFF
IDQ5Ni40ICg0OTYuNCkgPDY0QzI3RUM4LUZDN0YtRUE2Qi05NDM1LTlBMzQ1MjQyNTkxNT4gL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9B
L0ZyYW1ld29ya3MvQUUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQUUKICAgIDB4N2ZmZjgzMDI5MDAw
IC0gICAgIDB4N2ZmZjgzMDJhZmZmICBjb20uYXBwbGUuTW9uaXRvclBhbmVsRnJhbWV3b3JrIDEu
My4wICgxLjMuMCkgPDUwNjJEQUNFLUZDRTctOEU0MS1GNUY2LTU4ODIxNzc4NjI5Qz4gL1N5c3Rl
bS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL01vbml0b3JQYW5lbC5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9Nb25pdG9yUGFuZWwKICAgIDB4N2ZmZjgzMDJiMDAwIC0gICAgIDB4N2ZmZjgzMDJiZmY3
ICBjb20uYXBwbGUuQXBwbGljYXRpb25TZXJ2aWNlcyAzOCAoMzgpIDwxMEEwQjlFOS00OTg4LTAz
RDQtRkM1Ni1EREUyMzFBMDJDNjM+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0
aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQXBwbGljYXRpb25TZXJ2aWNlcwogICAg
MHg3ZmZmODMxOWIwMDAgLSAgICAgMHg3ZmZmODMxZTdmZmYgIGxpYmF1dG8uZHlsaWIgPz8/ICg/
Pz8pIDwyMDVDRTgyQi0zREUwLTRBOUQtQ0VCOS1GNkEzRERBMjJFRDQ+IC91c3IvbGliL2xpYmF1
dG8uZHlsaWIKICAgIDB4N2ZmZjgzMmM4MDAwIC0gICAgIDB4N2ZmZjgzMmM4ZmY3ICBjb20uYXBw
bGUuQ2FyYm9uIDE1MCAoMTUyKSA8MTlCMzdCN0ItMTU5NC1BRDBBLTdGMTQtRkEyRjg1QUQ3MjQx
PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
Q2FyYm9uCiAgICAweDdmZmY4MzJjOTAwMCAtICAgICAweDdmZmY4MzM1OGZmZiAgY29tLmFwcGxl
LlBERktpdCAyLjUuMSAoMi41LjEpIDw5MjdCOUY5MC0zRUJFLTc2OEUtOEIxOC1CRTQzQjRCNTgx
OTA+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1F1YXJ0ei5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9GcmFtZXdvcmtzL1BERktpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9QREZLaXQKICAgIDB4N2Zm
ZjgzMzU5MDAwIC0gICAgIDB4N2ZmZjgzODVkZmU3ICBjb20uYXBwbGUuVmlkZW9Ub29sYm94IDAu
NDg0LjExICg0ODQuMTEpIDw0NTc3RkYxNC1FNkE3LUFBRDgtRTZFNi1FQ0E5Q0ZDQzY5ODk+IC9T
eXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9WaWRlb1Rvb2xib3guZnJhbWV3b3JrL1Zl
cnNpb25zL0EvVmlkZW9Ub29sYm94CiAgICAweDdmZmY4Mzg1ZTAwMCAtICAgICAweDdmZmY4Mzhh
M2ZmZiAgY29tLmFwcGxlLkNvcmVNZWRpYUlPU2VydmljZXMgMTMwLjAgKDEwMzUpIDw1NjdENzk0
OS0zMTE1LTRFNzgtOEYyNy1CMjg5NjhDQzI1Rjc+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJh
bWV3b3Jrcy9Db3JlTWVkaWFJT1NlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVNZWRp
YUlPU2VydmljZXMKICAgIDB4N2ZmZjgzOGE0MDAwIC0gICAgIDB4N2ZmZjgzOGE3ZmZmICBjb20u
YXBwbGUuaGVscCAxLjMuMSAoNDEpIDxFMzExQTgxRS05ODcwLUE0MzAtMUUxNi1BRkY2QzkyQ0U2
RTU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9GcmFtZXdvcmtzL0hlbHAuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSGVscAogICAgMHg3ZmZmODM4
YjkwMDAgLSAgICAgMHg3ZmZmODM5M2VmZmYgIGNvbS5hcHBsZS5wcmludC5mcmFtZXdvcmsuUHJp
bnRDb3JlIDYuMiAoMzEyLjUpIDwyOEM0NDI3NS02REY4LTIzQ0ItNEU3QS05N0UxMjhGNUEzOTA+
IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9QcmludENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUHJp
bnRDb3JlCiAgICAweDdmZmY4Mzk4MDAwMCAtICAgICAweDdmZmY4M2FhOGZmNyAgY29tLmFwcGxl
Lk1lZGlhVG9vbGJveCAwLjQ4NC4xMSAoNDg0LjExKSA8RjUwQjU1NTItODUyNy1DNzVELTg3M0Yt
NjZBNjFEMDRFMzJBPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvTWVkaWFUb29s
Ym94LmZyYW1ld29yay9WZXJzaW9ucy9BL01lZGlhVG9vbGJveAogICAgMHg3ZmZmODNhYTkwMDAg
LSAgICAgMHg3ZmZmODNhYWZmZjcgIElPU3VyZmFjZSA/Pz8gKD8/PykgPEVCMjAxOUY2LTdDNUMt
M0Q1OS1FMTFGLTYxMTk0NjZDMTJBOT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSU9TdXJm
YWNlLmZyYW1ld29yay9WZXJzaW9ucy9BL0lPU3VyZmFjZQogICAgMHg3ZmZmODNhYjAwMDAgLSAg
ICAgMHg3ZmZmODNhZGZmZjcgIGNvbS5hcHBsZS5xdWFydHpmaWx0ZXJzIDEuNi4wICgxLjYuMCkg
PDlDRUNCNEZDLTFDQ0YtQjhBMi1COTM1LTU4ODhCMjFDQkVFRj4gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvUXVhcnR6LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvUXVhcnR6Rmls
dGVycy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9RdWFydHpGaWx0ZXJzCiAgICAweDdmZmY4M2FlMDAw
MCAtICAgICAweDdmZmY4M2FlMmZmZiAgY29tLmFwcGxlLnByaW50LmZyYW1ld29yay5QcmludCA2
LjEgKDIzNy4xKSA8RTQyMjA2NjUtNjY1Mi04RjU5LTI0MUQtNTlBMjE0MzZEQjIxPiAvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jr
cy9QcmludC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9QcmludAogICAgMHg3ZmZmODNhZTMwMDAgLSAg
ICAgMHg3ZmZmODNiNjVmZmYgIGNvbS5hcHBsZS5RdWlja0xvb2tVSUZyYW1ld29yayAyLjIgKDMy
Ny40KSA8MThBNUMyODQtOEVENS03MDYxLTVEOEMtRjkxRDc0MTMwQUY4PiAvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9RdWFydHouZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9RdWlj
a0xvb2tVSS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9RdWlja0xvb2tVSQogICAgMHg3ZmZmODNiNjYw
MDAgLSAgICAgMHg3ZmZmODNiNzVmZmYgIGxpYnhhci4xLmR5bGliID8/PyAoPz8/KSA8MkM0RTRE
MTMtMjYzQi02RUZGLUM2RkQtRkI4QkE2REIzRUYwPiAvdXNyL2xpYi9saWJ4YXIuMS5keWxpYgog
ICAgMHg3ZmZmODNiNzYwMDAgLSAgICAgMHg3ZmZmODNiYjlmZmYgIGxpYnRpZHkuQS5keWxpYiA/
Pz8gKD8/PykgPDhBRjREQjNBLTdCREItN0FGNy0wRTlDLTQxM0JCQkQwRTM4MD4gL3Vzci9saWIv
bGlidGlkeS5BLmR5bGliCiAgICAweDdmZmY4M2JiYTAwMCAtICAgICAweDdmZmY4M2M0NmZlZiAg
U2VjdXJpdHlGb3VuZGF0aW9uID8/PyAoPz8/KSA8Njg2MERFMjYtMEQ0Mi1EMUU4LUNEN0MtNUI0
MkQ3OEMxRTFEPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eUZvdW5kYXRpb24u
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvU2VjdXJpdHlGb3VuZGF0aW9uCiAgICAweDdmZmY4M2M0NzAw
MCAtICAgICAweDdmZmY4M2M2ZmZmZiAgY29tLmFwcGxlLkRpY3Rpb25hcnlTZXJ2aWNlcyAxLjEu
MSAoMS4xLjEpIDw0MDNFOUJGMi1FQzQ3LTFEMzItRTRCMS0zRDYyNEFBQTVCQkQ+IC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFt
ZXdvcmtzL0RpY3Rpb25hcnlTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9EaWN0aW9uYXJ5
U2VydmljZXMKICAgIDB4N2ZmZjgzY2EwMDAwIC0gICAgIDB4N2ZmZjgzY2YxZmU3ICBjb20uYXBw
bGUuSElTZXJ2aWNlcyAxLjguMCAoPz8/KSA8QTE2MzIyRDMtOEVFQy05OTI4LTQ3MzAtODkxNkMy
MUQ4MTg3PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZy
YW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvSElTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9ISVNlcnZpY2VzCiAgICAweDdmZmY4M2NmMjAwMCAtICAgICAweDdmZmY4M2NmYWZmZiAg
Y29tLmFwcGxlLkRpc3BsYXlTZXJ2aWNlc0ZXIDIuMi4yICgyNTEpIDxBOEFBMjM3Qi0yNkRBLTQ1
NUQtNDEzMy02OUIxRDFFNDVERjQ+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9E
aXNwbGF5U2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRGlzcGxheVNlcnZpY2VzCiAgICAw
eDdmZmY4M2Q1OTAwMCAtICAgICAweDdmZmY4M2Q3ZWZmNyAgY29tLmFwcGxlLkNvcmVWaWRlbyAx
LjYuMSAoNDUuNSkgPEJCMDk4Qjc1LUJBNjEtNTBFNi1GRThFLUZGRTI4NUJERUNFOD4gL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVZpZGVvLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVW
aWRlbwogICAgMHg3ZmZmODNkN2YwMDAgLSAgICAgMHg3ZmZmODNkOGFmZjcgIGNvbS5hcHBsZS5z
cGVlY2gucmVjb2duaXRpb24uZnJhbWV3b3JrIDMuMTEuMSAoMy4xMS4xKSA8NjA0ODREODQtQkE2
My0xM0RELTUwRTktQUJEQTQwMkMzQzQ1PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJi
b24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9TcGVlY2hSZWNvZ25pdGlvbi5mcmFt
ZXdvcmsvVmVyc2lvbnMvQS9TcGVlY2hSZWNvZ25pdGlvbgogICAgMHg3ZmZmODNkY2IwMDAgLSAg
ICAgMHg3ZmZmODNlODBmZTcgIGNvbS5hcHBsZS5pbmsuZnJhbWV3b3JrIDEuMy4zICgxMDcpIDxE
NzZDNzU5MS1CMDYwLUUyREUtNjYzNC05NjhGREFCRDg3RUY+IC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0luay5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9JbmsKICAgIDB4N2ZmZjgzZTgxMDAwIC0gICAgIDB4N2ZmZjgzZmYwZmU3
ICBjb20uYXBwbGUuUVRLaXQgNy42LjYgKDE3NDIpIDw3RTI1NDE4NC03NTdELUU4N0MtNUIyQS03
NjEyQTJDODUyNDM+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1FUS2l0LmZyYW1ld29yay9W
ZXJzaW9ucy9BL1FUS2l0CiAgICAweDdmZmY4M2ZmMTAwMCAtICAgICAweDdmZmY4NDA2ZWZlZiAg
bGlic3RkYysrLjYuZHlsaWIgNy45LjAgKGNvbXBhdGliaWxpdHkgNy4wLjApIDwzNUVDQTQxMS0y
QzA4LUZEN0QtMTFCMS0xQjdBMDQ5MjFBNUM+IC91c3IvbGliL2xpYnN0ZGMrKy42LmR5bGliCiAg
ICAweDdmZmY4NDA2ZjAwMCAtICAgICAweDdmZmY4NDBiMGZmZiAgY29tLmFwcGxlLlN5c3RlbUNv
bmZpZ3VyYXRpb24gMS4xMC4yICgxLjEwLjIpIDxCQzI3QkRENC05Q0M4LTlBRjAtQjRDMi1ERDUw
RkQ3NTFDQkY+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1N5c3RlbUNvbmZpZ3VyYXRpb24u
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvU3lzdGVtQ29uZmlndXJhdGlvbgogICAgMHg3ZmZmODQwYjEw
MDAgLSAgICAgMHg3ZmZmODQxYzhmZWYgIGxpYnhtbDIuMi5keWxpYiAxMC4zLjAgKGNvbXBhdGli
aWxpdHkgMTAuMC4wKSA8N0RDNTIzOUYtQ0Q2QS04MjBDLTdDNjYtQzUyOEQ3RTI3NjQ5PiAvdXNy
L2xpYi9saWJ4bWwyLjIuZHlsaWIKICAgIDB4N2ZmZjg0MWM5MDAwIC0gICAgIDB4N2ZmZjg0MWZh
ZmVmICBsaWJUcnVlVHlwZVNjYWxlci5keWxpYiA/Pz8gKD8/PykgPDBBMzBDQTY4LTQ2QUYtM0U3
NC1BRTlFLTY5M0RCNUE2ODBDQz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRp
b25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0FUUy5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliVHJ1ZVR5cGVTY2FsZXIuZHlsaWIKICAgIDB4N2ZmZjg0
MjAzMDAwIC0gICAgIDB4N2ZmZjg0MjI2ZmZmICBjb20uYXBwbGUub3BlbmNsIDEyLjEgKDEyLjEp
IDw0MDNFOEYzNy00MzQ4LUI5QkMtMDhFNi03NjkzQTk5NUI3RUM+IC9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL09wZW5DTC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9PcGVuQ0wKICAgIDB4N2ZmZjg0
MjI3MDAwIC0gICAgIDB4N2ZmZjg0YTMxZmU3ICBsaWJCTEFTLmR5bGliIDIxOS4wLjAgKGNvbXBh
dGliaWxpdHkgMS4wLjApIDxFRUU1Q0U2Mi05MTU1LTY1NTktMkFFQS0wNUNFRDBGNUIwRjE+IC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2VsZXJhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
RnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3b3JrL1ZlcnNpb25zL0EvbGliQkxBUy5keWxpYgogICAg
MHg3ZmZmODRhMzIwMDAgLSAgICAgMHg3ZmZmODRhNTNmZmYgIGxpYnJlc29sdi45LmR5bGliIDQx
LjAuMCAoY29tcGF0aWJpbGl0eSAxLjAuMCkgPDY5OTNGMzQ4LTQyOEYtQzk3RS03QTg0LTdCRDJF
REM0NkE2Mj4gL3Vzci9saWIvbGlicmVzb2x2LjkuZHlsaWIKICAgIDB4N2ZmZjg0ZGFkMDAwIC0g
ICAgIDB4N2ZmZjg0ZGJjZmY3ICBjb20uYXBwbGUub3BlbmdsIDEuNi45ICgxLjYuOSkgPEJCOEFF
RjgxLTBFQzEtRUQ0Qy0zNjBCLTE4NkM2MEFFNzQ1Qz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvT3BlbkdMLmZyYW1ld29yay9WZXJzaW9ucy9BL09wZW5HTAogICAgMHg3ZmZmODRlYmUwMDAg
LSAgICAgMHg3ZmZmODRmMDZmZjcgIGxpYnZEU1AuZHlsaWIgMjY4LjAuMSAoY29tcGF0aWJpbGl0
eSAxLjAuMCkgPDE3MERFMDRGLTg5QUItRTI5NS0wODgwLUQ2OUNBRkJENzk3OT4gL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQWNjZWxlcmF0ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdv
cmtzL3ZlY0xpYi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9saWJ2RFNQLmR5bGliCiAgICAweDdmZmY4
NGYzMTAwMCAtICAgICAweDdmZmY4NGY5OWZmZiAgY29tLmFwcGxlLk1lc2hLaXRSdW50aW1lIDEu
MSAoNDkuMikgPEM1N0ZEQ0VFLUNFRDAtMDZBOC0yODkwLUEzRjZCQjg1MTk5OD4gL1N5c3RlbS9M
aWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL01lc2hLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJh
bWV3b3Jrcy9NZXNoS2l0UnVudGltZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9NZXNoS2l0UnVudGlt
ZQogICAgMHg3ZmZmODRmYmIwMDAgLSAgICAgMHg3ZmZmODRmZWNmZmYgIGxpYkdMSW1hZ2UuZHls
aWIgPz8/ICg/Pz8pIDw3RUY1MDc2OC01NEYxLTU4ODMtQzQwRi1EQUY4MzgxMEMzRkE+IC9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL09wZW5HTC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9MaWJyYXJp
ZXMvbGliR0xJbWFnZS5keWxpYgogICAgMHg3ZmZmODUxZDEwMDAgLSAgICAgMHg3ZmZmODUyM2Jm
ZTcgIGxpYnZNaXNjLmR5bGliIDI2OC4wLjEgKGNvbXBhdGliaWxpdHkgMS4wLjApIDw3RDhCNkQ2
OC03RTcwLTJBRjItQkY5Ri0yQ0Q1NjE0NTkwOUM+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0FjY2VsZXJhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3
b3JrL1ZlcnNpb25zL0EvbGlidk1pc2MuZHlsaWIKICAgIDB4N2ZmZjg1MjNjMDAwIC0gICAgIDB4
N2ZmZjg1MmZjZmZmICBsaWJGb250UGFyc2VyLmR5bGliID8/PyAoPz8/KSA8QTRGODE4OUQtMUQ1
Qi0yRjhELUU3OEUtNkQ5MzRBOEU4NDA3PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBs
aWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQVRTLmZyYW1l
d29yay9WZXJzaW9ucy9BL1Jlc291cmNlcy9saWJGb250UGFyc2VyLmR5bGliCiAgICAweDdmZmY4
NTM0ODAwMCAtICAgICAweDdmZmY4NTU4YWZlZiAgY29tLmFwcGxlLkFkZHJlc3NCb29rLmZyYW1l
d29yayA1LjAuMiAoODcwKSA8QTEyNzg1NzUtNTNGMi1DQzAwLTczMDYtRTQ5NzEzRkVDN0M2PiAv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BZGRyZXNzQm9vay5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9BZGRyZXNzQm9vawogICAgMHg3ZmZmODU1OGIwMDAgLSAgICAgMHg3ZmZmODU1OWZmZmYgIGxp
YkdMLmR5bGliID8/PyAoPz8/KSA8NUFENjk1NDUtRDFBMy1DMDE3LUM3QUYtQjRBRkQ2RjA4RkEy
PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9PcGVuR0wuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
TGlicmFyaWVzL2xpYkdMLmR5bGliCiAgICAweDdmZmY4NTVhMDAwMCAtICAgICAweDdmZmY4NTVh
ZGZlNyAgbGliQ1N5bmMuQS5keWxpYiA1NDMuNTAuMCAoY29tcGF0aWJpbGl0eSA2NC4wLjApIDw3
Qjg5MUQ0Qy0xRjE5LTREQjAtRkQxMi03QTdENUU4RjQ3QUU+IC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jr
cy9Db3JlR3JhcGhpY3MuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL2xpYkNTeW5jLkEu
ZHlsaWIKICAgIDB4N2ZmZjg1NWFlMDAwIC0gICAgIDB4N2ZmZjg1NWQ0ZmU3ICBsaWJKUEVHLmR5
bGliID8/PyAoPz8/KSA8NDA2MEYzRTItQkFEMy0yNDRGLUQ3NzctNTFCQTE2NTY5REE0PiAvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJz
aW9ucy9BL0ZyYW1ld29ya3MvSW1hZ2VJTy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMv
bGliSlBFRy5keWxpYgogICAgMHg3ZmZmODU1ZjEwMDAgLSAgICAgMHg3ZmZmODU1ZjFmZjcgIGNv
bS5hcHBsZS5BY2NlbGVyYXRlIDEuNiAoQWNjZWxlcmF0ZSAxLjYpIDwyQkI3RDY2OS00QjQwLTZB
NTItQURCRC1EQTREQjNCQzBCMUI+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2VsZXJh
dGUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQWNjZWxlcmF0ZQogICAgMHg3ZmZmODU1ZjIwMDAgLSAg
ICAgMHg3ZmZmODU2MmZmZjcgIGxpYkZvbnRSZWdpc3RyeS5keWxpYiA/Pz8gKD8/PykgPEI2M0ZD
QzNBLUY0OUUtQjQyRS02RDU3LTVGNTlFM0E4RDhCOT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0FU
Uy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliRm9udFJlZ2lzdHJ5LmR5bGliCiAg
ICAweDdmZmY4NTYzMDAwMCAtICAgICAweDdmZmY4NTcwMGZmNyAgY29tLmFwcGxlLkNGTmV0d29y
ayA0NTQuOS43ICg0NTQuOS43KSA8QUE2RUI2OTAtNkNDRi02MDNELUFBQzItMzVCOUUwNUQxNTkz
PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNp
b25zL0EvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ0ZOZXR3b3Jr
CiAgICAweDdmZmY4NTcwMTAwMCAtICAgICAweDdmZmY4NTc1ZmZmNyAgY29tLmFwcGxlLmZyYW1l
d29yay5JT0tpdCAyLjAgKD8/PykgPDAxMEMzMzk4LTczNjMtOEY0Qi03MTlDLTI2Mzg2N0YxNUY2
Mz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSU9LaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
SU9LaXQKICAgIDB4N2ZmZjg1Nzc2MDAwIC0gICAgIDB4N2ZmZjg1OTM2ZmVmICBsaWJTeXN0ZW0u
Qi5keWxpYiAxMjUuMi4wIChjb21wYXRpYmlsaXR5IDEuMC4wKSA8OTVFMDJERDAtQURFQS03NDVC
LUU3RkEtQUJBMDY0RTQ2NThDPiAvdXNyL2xpYi9saWJTeXN0ZW0uQi5keWxpYgogICAgMHg3ZmZm
ODU5MzcwMDAgLSAgICAgMHg3ZmZmODU5NDlmZTcgIGxpYnNhc2wyLjIuZHlsaWIgMy4xNS4wIChj
b21wYXRpYmlsaXR5IDMuMC4wKSA8NzZCODNDOEQtOEVGRS00NDY3LTBGNzUtMjc1NjQ4QUZFRDk3
PiAvdXNyL2xpYi9saWJzYXNsMi4yLmR5bGliCiAgICAweDdmZmY4NTk0YTAwMCAtICAgICAweDdm
ZmY4NWE1NGZmNyAgY29tLmFwcGxlLk1lc2hLaXRJTyAxLjEgKDQ5LjIpIDxCOUUyRUI2Qy02NkY2
LUNGQUQtNDUzMC1EREE0MzU1RDdGQkE+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jr
cy9NZXNoS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvTWVzaEtpdElPLmZyYW1l
d29yay9WZXJzaW9ucy9BL01lc2hLaXRJTwogICAgMHg3ZmZmODVhNTUwMDAgLSAgICAgMHg3ZmZm
ODViMGFmZTcgIGNvbS5hcHBsZS5Db2xvclN5bmMgNC42LjMgKDQuNi4zKSA8QUE5M0FEOTYtNjk3
NC05MTA0LUJGNTUtQUY3QTgxM0M4QTFCPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBs
aWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQ29sb3JTeW5j
LmZyYW1ld29yay9WZXJzaW9ucy9BL0NvbG9yU3luYwogICAgMHg3ZmZmODViMGIwMDAgLSAgICAg
MHg3ZmZmODVjMzBmZWYgIGNvbS5hcHBsZS5hdWRpby50b29sYm94LkF1ZGlvVG9vbGJveCAxLjYu
MyAoMS42LjMpIDw0OTMxRENGNi0wNzJGLUE0RkEtMDk4OS00QzRCODNCREY5OEE+IC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9BdWRp
b1Rvb2xib3gKICAgIDB4N2ZmZjg1YzMxMDAwIC0gICAgIDB4N2ZmZjg1YzlmZmZmICBjb20uYXBw
bGUuQXBwbGVWQUZyYW1ld29yayA0LjkuMjAgKDQuOS4yMCkgPDc4NzI3MTY1LThENDQtMDM1NC02
RjZDLTY4RkQ3OThFMDRBMT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0FwcGxl
VkEuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQXBwbGVWQQogICAgMHg3ZmZmODVjYTAwMDAgLSAgICAg
MHg3ZmZmODVjYjVmZjcgIGNvbS5hcHBsZS5MYW5nQW5hbHlzaXMgMS42LjYgKDEuNi42KSA8REM5
OTlCMzItQkY0MS05NEM4LTA1ODMtMjdEOUFCNDYzRThCPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3Mv
TGFuZ0FuYWx5c2lzLmZyYW1ld29yay9WZXJzaW9ucy9BL0xhbmdBbmFseXNpcwogICAgMHg3ZmZm
ODVjYzQwMDAgLSAgICAgMHg3ZmZmODVkMGRmZWYgIGxpYkdMVS5keWxpYiA/Pz8gKD8/PykgPDg4
RjBFNDU3LUVFNTMtQjVGRi02QTFCLUQwMzI2RDBDNjQzRD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvT3BlbkdMLmZyYW1ld29yay9WZXJzaW9ucy9BL0xpYnJhcmllcy9saWJHTFUuZHlsaWIK
ICAgIDB4N2ZmZjg1ZDMzMDAwIC0gICAgIDB4N2ZmZjg1ZGVjZmZmICBsaWJzcWxpdGUzLmR5bGli
IDkuNi4wIChjb21wYXRpYmlsaXR5IDkuMC4wKSA8NUExNUUxMkEtQUU4Ri0xQTM2LUJCQzctNTY0
RTdEN0FEMEZCPiAvdXNyL2xpYi9saWJzcWxpdGUzLmR5bGliCiAgICAweDdmZmY4NmE2MTAwMCAt
ICAgICAweDdmZmY4NmE3N2ZlNyAgY29tLmFwcGxlLk11bHRpdG91Y2hTdXBwb3J0LmZyYW1ld29y
ayAyMDUuMzQgKDIwNS4zNCkgPDAxQUFFNjZELUMyREYtNEVGNS1GQzdCLUU4OUUwOEMwMkEwMT4g
L1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL011bHRpdG91Y2hTdXBwb3J0LmZyYW1l
d29yay9WZXJzaW9ucy9BL011bHRpdG91Y2hTdXBwb3J0CiAgICAweDdmZmY4NmE4YzAwMCAtICAg
ICAweDdmZmY4NmIyNmZmZiAgY29tLmFwcGxlLkFwcGxpY2F0aW9uU2VydmljZXMuQVRTIDQuMyAo
Pz8/KSA8QTdDRDlFMUYtQzU2My1FOTQwLTEzMEQtQUE3RTA4QzVBMjlGPiAvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0Zy
YW1ld29ya3MvQVRTLmZyYW1ld29yay9WZXJzaW9ucy9BL0FUUwogICAgMHg3ZmZmODZiMjcwMDAg
LSAgICAgMHg3ZmZmODZlYzhmZTcgIGNvbS5hcHBsZS5SYXdDYW1lcmEuYnVuZGxlIDMuMy4wICg1
MzMpIDw4NEFDRDVBNi1BMTg0LTBENEEtMjRDNi00MUQxNDI5MUU4RUM+IC9TeXN0ZW0vTGlicmFy
eS9Db3JlU2VydmljZXMvUmF3Q2FtZXJhLmJ1bmRsZS9Db250ZW50cy9NYWNPUy9SYXdDYW1lcmEK
ICAgIDB4N2ZmZjg2ZjA2MDAwIC0gICAgIDB4N2ZmZjg2ZjQ3ZmVmICBjb20uYXBwbGUuUUQgMy4z
NSAoPz8/KSA8MDIyRURCQ0EtREUzQS02NDEwLUYyNjMtMkZDN0RBOEZBQzg4PiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9B
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUUQKICAgIDB4N2ZmZjg2ZjQ4MDAw
IC0gICAgIDB4N2ZmZjg3MDIyZmY3ICBjb20uYXBwbGUudkltYWdlIDQuMCAoNC4wKSA8MzU0RjM0
QkYtQjIyMS1BM0M5LTJDQTctOUJFNUUxNEFENUFEPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9BY2NlbGVyYXRlLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvdkltYWdlLmZyYW1l
d29yay9WZXJzaW9ucy9BL3ZJbWFnZQogICAgMHg3ZmZmODcwMjMwMDAgLSAgICAgMHg3ZmZmODcw
MjNmZjcgIGNvbS5hcHBsZS5xdWFydHpmcmFtZXdvcmsgMS41ICgxLjUpIDxCMTgyQjU3OS1CQ0NF
LTgxQkYtOERBMi05RTBCN0JERjg1MTY+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1F1YXJ0
ei5mcmFtZXdvcmsvVmVyc2lvbnMvQS9RdWFydHoKICAgIDB4N2ZmZjg3MTg2MDAwIC0gICAgIDB4
N2ZmZjg3MWNkZmVmICBjb20uYXBwbGUuUXVpY2tMb29rRnJhbWV3b3JrIDIuMiAoMzI3LjQpIDxD
RkVCMkZDMi1CQjgwLUM1ODktODVCMS1EMDEyMjBBOUYwRDc+IC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL1F1aWNrTG9vay5mcmFtZXdvcmsvVmVyc2lvbnMvQS9RdWlja0xvb2sKICAgIDB4N2Zm
Zjg3MWNlMDAwIC0gICAgIDB4N2ZmZjg3NGNjZmU3ICBjb20uYXBwbGUuSElUb29sYm94IDEuNi4z
ICg/Pz8pIDxDRjBDODUyNC1GQTgyLTM5MDgtQUNEMC1BOTE3NkM3MDRBRUQ+IC9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0hJ
VG9vbGJveC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9ISVRvb2xib3gKICAgIDB4N2ZmZjg3NGNkMDAw
IC0gICAgIDB4N2ZmZjg3NGQzZmY3ICBjb20uYXBwbGUuRGlza0FyYml0cmF0aW9uIDIuMyAoMi4z
KSA8ODU3RjZFNDMtMUVGNC03RDUzLTM1MUItMTBERTBBOEY5OTJBPiAvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9EaXNrQXJiaXRyYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRGlza0FyYml0
cmF0aW9uCiAgICAweDdmZmY4NzRkNDAwMCAtICAgICAweDdmZmY4NzU5MWZmNyAgY29tLmFwcGxl
LkNvcmVTZXJ2aWNlcy5PU1NlcnZpY2VzIDM1NyAoMzU3KSA8NzE4RjA3MTktREM5Ri1FMzkyLTdD
NjQtOUQ3REZFM0QwMkUyPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMu
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9PU1NlcnZpY2VzLmZyYW1ld29yay9WZXJz
aW9ucy9BL09TU2VydmljZXMKICAgIDB4N2ZmZjg3NTkyMDAwIC0gICAgIDB4N2ZmZjg3OWQ2ZmVm
ICBsaWJMQVBBQ0suZHlsaWIgMjE5LjAuMCAoY29tcGF0aWJpbGl0eSAxLjAuMCkgPEUxNEVDNEM2
LUIwNTUtQTRBQy1COTcxLTQyQUI2NDRFNEE3Qz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QWNjZWxlcmF0ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL3ZlY0xpYi5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9saWJMQVBBQ0suZHlsaWIKICAgIDB4N2ZmZjg3OWQ3MDAwIC0gICAgIDB4
N2ZmZjg3YjRjZmY3ICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gNi42LjMgKDU1MC4yOSkgPDQ4
ODEwNjAyLTYzQzMtOTk0RC1FNTYzLUREMDJCMTZFNzZFMT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24K
ICAgIDB4N2ZmZjg3YjRkMDAwIC0gICAgIDB4N2ZmZjg3YjU5ZmZmICBsaWJiejIuMS4wLmR5bGli
IDEuMC41IChjb21wYXRpYmlsaXR5IDEuMC4wKSA8NUMxRjJBMkMtM0FBNC01MzYyLUZBN0YtRDZC
Q0FBQzlCMDJDPiAvdXNyL2xpYi9saWJiejIuMS4wLmR5bGliCiAgICAweDdmZmY4N2I1YTAwMCAt
ICAgICAweDdmZmY4N2JhNGZmNyAgY29tLmFwcGxlLk1ldGFkYXRhIDEwLjYuMyAoNTA3LjEwKSA8
NjQxMzk1QjctRkYyQy1COTRDLTk2NUEtQ0U2QTA4MzA2NDVGPiAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9NZXRh
ZGF0YS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9NZXRhZGF0YQogICAgMHg3ZmZmODdiZjAwMDAgLSAg
ICAgMHg3ZmZmODdjYTZmZmYgIGxpYm9iamMuQS5keWxpYiAyMjcuMC4wIChjb21wYXRpYmlsaXR5
IDEuMC4wKSA8QjFGNUNEQzAtOTZCRC1DN0MwLUJFQUEtMUUyMjU5RERFMDY3PiAvdXNyL2xpYi9s
aWJvYmpjLkEuZHlsaWIKICAgIDB4N2ZmZjg3Y2E3MDAwIC0gICAgIDB4N2ZmZjg3ZDhkZmU3ICBj
b20uYXBwbGUuRGVza3RvcFNlcnZpY2VzIDEuNS43ICgxLjUuNykgPDhBNjk3MTI4LUI2Q0EtRTRB
OC1DMjAwLTY1MjBENUEzNUZCRT4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0Rl
c2t0b3BTZXJ2aWNlc1ByaXYuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRGVza3RvcFNlcnZpY2VzUHJp
dgogICAgMHg3ZmZmODdlMTQwMDAgLSAgICAgMHg3ZmZmODgwOWFmZjcgIGNvbS5hcHBsZS5zZWN1
cml0eSA2LjEuMSAoMzc1OTQpIDw1RUREQzA4Qy1DOTVCLTJEMjQtRTFEMi1EMzBEMjMzQUIwNjU+
IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yay9WZXJzaW9ucy9B
L1NlY3VyaXR5CiAgICAweDdmZmY4ODA5YjAwMCAtICAgICAweDdmZmY4ODBhYWZmZiAgY29tLmFw
cGxlLk5ldEZTIDMuMi4xICgzLjIuMSkgPDNGQzMwMkM5LUE1QzYtQTlDQS0wOENFLTQzNUFEMDU0
OTlGMT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvTmV0RlMuZnJhbWV3b3JrL1ZlcnNpb25z
L0EvTmV0RlMKICAgIDB4N2ZmZjg4MGFiMDAwIC0gICAgIDB4N2ZmZjg4MGUwZmVmICBjb20uYXBw
bGUuZnJhbWV3b3JrLkFwcGxlODAyMTEgNi4yLjMgKDYyMy4xKSA8RTU4QzBBM0EtQkExNC05NzAz
LUY2QTMtMzk1MUE4NjI1NzBDPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQXBw
bGU4MDIxMS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9BcHBsZTgwMjExCiAgICAweDdmZmY4ODBlMTAw
MCAtICAgICAweDdmZmY4ODEwY2ZmNyAgbGlieHNsdC4xLmR5bGliIDMuMjQuMCAoY29tcGF0aWJp
bGl0eSAzLjAuMCkgPDg3QTBCMjI4LUIyNEEtQzQyNi1DM0ZCLUI0MEQ3MjU4REQ0OT4gL3Vzci9s
aWIvbGlieHNsdC4xLmR5bGliCiAgICAweDdmZmY4ODEwZDAwMCAtICAgICAweDdmZmY4ODExMmZm
NyAgY29tLmFwcGxlLkNvbW1vblBhbmVscyAxLjIuNCAoOTEpIDw0RDg0ODAzQi1CRDA2LUQ4MEUt
MTVBRS1FRkJFNDNGOTM2MDU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFt
ZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0NvbW1vblBhbmVscy5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9Db21tb25QYW5lbHMKICAgIDB4N2ZmZjg4MTEzMDAwIC0gICAgIDB4N2ZmZjg4MTRjZmY3
ICBjb20uYXBwbGUuTWVzaEtpdCAxLjEgKDQ5LjIpIDwyODYwRTkyRi01QjY4LUU4REQtMEU4Ri1C
RjNERDZBQ0YzMzA+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9NZXNoS2l0LmZy
YW1ld29yay9WZXJzaW9ucy9BL01lc2hLaXQKICAgIDB4N2ZmZjg4MTRkMDAwIC0gICAgIDB4N2Zm
Zjg4MTkwZmY3ICBsaWJSSVAuQS5keWxpYiA1NDMuNTAuMCAoY29tcGF0aWJpbGl0eSA2NC4wLjAp
IDxERjQ1N0NCMy1DRTYxLTBGRDQtMTQwMy1CQjY4QkMyQ0M5OTg+IC9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3
b3Jrcy9Db3JlR3JhcGhpY3MuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL2xpYlJJUC5B
LmR5bGliCiAgICAweDdmZmY4ODE5MTAwMCAtICAgICAweDdmZmY4ODIwY2ZmZiAgY29tLmFwcGxl
LklTU3VwcG9ydCAxLjkuMyAoNTEpIDxCRTRCNTQ4Qy1GOUM0LTI0NjQtMTJBNi1GOTRBMjFENTY5
QzY+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9JU1N1cHBvcnQuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvSVNTdXBwb3J0CiAgICAweDdmZmY4ODIwZDAwMCAtICAgICAweDdmZmY4ODI0
NWZmNyAgbGlic3NsLjAuOS44LmR5bGliIDAuOS44IChjb21wYXRpYmlsaXR5IDAuOS44KSA8OTQ3
NzY5MjktRUY3Ni1EOTc5LTU0MTItOTQwQzg0NUJBQzVEPiAvdXNyL2xpYi9saWJzc2wuMC45Ljgu
ZHlsaWIKICAgIDB4N2ZmZjg4MjQ2MDAwIC0gICAgIDB4N2ZmZjg4MmM0ZmZmICBjb20uYXBwbGUu
Q29yZVRleHQgMy4xLjAgKD8/PykgPDJEMkRFQ0FBLTA1QzQtQzREMC0xMjMzLUZCNjgyNTY5RkZC
OD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0NvcmVUZXh0LmZyYW1ld29yay9WZXJzaW9ucy9BL0Nv
cmVUZXh0CiAgICAweDdmZmY4ODMxMDAwMCAtICAgICAweDdmZmY4ODRjZWZmZiAgbGliaWN1Y29y
ZS5BLmR5bGliIDQwLjAuMCAoY29tcGF0aWJpbGl0eSAxLjAuMCkgPDBFNTNBNEE2LUFDMDYtMUI2
MS0yMjg1LTI0OEY1MzRFRTM1Nj4gL3Vzci9saWIvbGliaWN1Y29yZS5BLmR5bGliCiAgICAweDdm
ZmY4ODU3NjAwMCAtICAgICAweDdmZmY4ODU3N2ZmNyAgY29tLmFwcGxlLlRydXN0RXZhbHVhdGlv
bkFnZW50IDEuMSAoMSkgPDMwNkZEOUVFLUEzMDEtNDFENS1FQkRFLTJGQzUyRjI4MjI5Qz4gL1N5
c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL1RydXN0RXZhbHVhdGlvbkFnZW50LmZyYW1l
d29yay9WZXJzaW9ucy9BL1RydXN0RXZhbHVhdGlvbkFnZW50CiAgICAweDdmZmY4ODU4NDAwMCAt
ICAgICAweDdmZmY4ODU4NWZmZiAgbGlibGFuZ2lkLmR5bGliID8/PyAoPz8/KSA8RUE0RDE2MDct
MkJENS0yRUUyLTJBM0ItNjMyRUVFNUE0NDREPiAvdXNyL2xpYi9saWJsYW5naWQuZHlsaWIKICAg
IDB4N2ZmZjg4NmYwMDAwIC0gICAgIDB4N2ZmZjg5MGU2ZmZmICBjb20uYXBwbGUuQXBwS2l0IDYu
Ni42ICgxMDM4LjI5KSA8N0JERDMzNUQtNTQyNS0wMzU0LTVBRDYtNDFDNEYxQjRBMkY0PiAvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL1ZlcnNpb25zL0MvQXBwS2l0
CiAgICAweDdmZmZmZmUwMDAwMCAtICAgICAweDdmZmZmZmUwMWZmZiAgbGliU3lzdGVtLkIuZHls
aWIgPz8/ICg/Pz8pIDw5NUUwMkREMC1BREVBLTc0NUItRTdGQS1BQkEwNjRFNDY1OEM+IC91c3Iv
bGliL2xpYlN5c3RlbS5CLmR5bGliCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91282</attachid>
            <date>2011-04-27 07:59:26 -0700</date>
            <delta_ts>2011-04-28 10:56:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44230-20110427185924.patch</filename>
            <type>text/plain</type>
            <size>7004</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUwMzIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA3YjM1ZTI4YWE3
NGNmNmY5ZjFmZDUxNWFmZDhlY2NhMDAyM2RjYWUzLi5lY2M1NGQyZGMwNDIxNzA4MTdlN2Q1NGM3
YTU4YmEwY2YxMmEyNGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEt
MDQtMjcgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTjogQ3Jhc2gg
b2NjdXJzIGF0IG9iamNfbXNnU2VuZCB3aGVuIGNsb3NpbmcgYSB3aW5kb3cgdGhhdCBpcyBkaXNw
bGF5aW5nIHRoZSB3ZWIgaW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00NDIzMAorCisgICAgICAgIFVzZSBSZXRhaW5QdHIgYWNjZXNzIGlu
c3BlY3RlZCB2aWV3IGZyb20gdGhlIGluc3BlY3RvciBvbmUgdG8gYXZvaWQgaW5zcGVjdGVkIHZp
ZXcgYmVpbmcgZGVsZXRlZCBiZWZvcmUKKyAgICAgICAgaW5zcGVjdG9yIGlzIGNsb3NlZC4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbTogc3RvcmUgcmVm
ZXJlbmNlIHRvIGluc3BlY3RlZCB2aWV3IGluIFJldGFpblB0ci4gRGVzcGl0ZSB0aGUgcmVtb3Zl
ZAorICAgICAgICBjb21tZW50IHRoaXMgZG9lc24ndCBpbnRyb2R1Y2UgY3ljbGljIHJlZmVyZW5j
ZSBzaW5jZSB0aGVyZSBpcyBubyByZXRhaW5pbmcgcG9pbnRlcnMgdG8gdGhlIFdlYkluc3BlY3Rv
cldpbmRvd0NvbnRyb2xsZXIKKyAgICAgICAgZnJvbSB0aGUgaW5zcGVjdGVkIHBhZ2Ugb3IgZnJv
bSB0aGUgV2ViSW5zcGVjdG9yQ2xpZW50LiBUaGVyZSBpcyBvbmx5IG9uZSByZWZlcmVuY2UgdG8g
aXQgZnJvbSBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudAorICAgICAgICB3aGljaCBpcyBoZWxk
IGJ5IHRoZSBpbnNwZWN0b3IgZnJvbnQtZW5kIHBhZ2UuCisKKyAgICAgICAgRHJpdmUtYnkgZml4
OiByZW1vdmVkIHNldmVyYWwgdW51c2VkIG1ldGhvZHMgd2hpY2ggYXJlIGN1cnJlbnRseSBpbXBs
ZW1lbnRlZCBpbiBtYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3Rvci5tbQorICAgICAgICAoLVtX
ZWJJbnNwZWN0b3JXaW5kb3dDb250cm9sbGVyIGluaXRXaXRoSW5zcGVjdGVkV2ViVmlldzpdKToK
KyAgICAgICAgKC1bV2ViSW5zcGVjdG9yV2luZG93Q29udHJvbGxlciBjbG9zZV0pOgorICAgICAg
ICAoLVtXZWJJbnNwZWN0b3JXaW5kb3dDb250cm9sbGVyIHNob3dXaW5kb3c6XSk6CisgICAgICAg
ICgtW1dlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xsZXIgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQ6
XSk6CisgICAgICAgICgtW1dlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xsZXIgZGVzdHJveUluc3Bl
Y3RvclZpZXc6XSk6CisKIDIwMTEtMDQtMjYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQppbmRleCBlNzAx
NDk1MmUyNzU2NTgzNjJmYTRiMzFmN2Y5ZmZhMjg4NTI2YWRjLi40OGE1MmRmNjQwMzY1NjBhNzIw
MmVjYWM4NTA4ZjM4ZGI3MmI5NzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCkBAIC00OSw3ICs0OSw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBAaW50ZXJmYWNlIFdlYkluc3BlY3RvcldpbmRvd0Nv
bnRyb2xsZXIgOiBOU1dpbmRvd0NvbnRyb2xsZXIgPE5TV2luZG93RGVsZWdhdGU+IHsKIEBwcml2
YXRlCi0gICAgV2ViVmlldyAqX2luc3BlY3RlZFdlYlZpZXc7CisgICAgUmV0YWluUHRyPFdlYlZp
ZXc+IF9pbnNwZWN0ZWRXZWJWaWV3OwogICAgIFdlYlZpZXcgKl93ZWJWaWV3OwogICAgIFdlYklu
c3BlY3RvckZyb250ZW5kQ2xpZW50KiBfZnJvbnRlbmRDbGllbnQ7CiAgICAgV2ViSW5zcGVjdG9y
Q2xpZW50KiBfaW5zcGVjdG9yQ2xpZW50OwpAQCAtMjYzLDcgKzI2Myw2IEBAIHZvaWQgV2ViSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQ6OnVwZGF0ZVdpbmRvd1RpdGxlKCkgY29uc3QKICAgICBpZiAo
IShzZWxmID0gW3NlbGYgaW5pdF0pKQogICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgLy8gRG9u
J3QgcmV0YWluIHRvIGF2b2lkIGEgY2lyY3VsYXIgcmVmZXJlbmNlLgogICAgIF9pbnNwZWN0ZWRX
ZWJWaWV3ID0gd2ViVmlldzsKICAgICByZXR1cm4gc2VsZjsKIH0KQEAgLTMyNywxMiArMzI2LDEy
IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnVwZGF0ZVdpbmRvd1RpdGxlKCkg
Y29uc3QKICAgICBfdmlzaWJsZSA9IE5POwogCiAgICAgaWYgKF9hdHRhY2hlZFRvSW5zcGVjdGVk
V2ViVmlldykgewotICAgICAgICBpZiAoW19pbnNwZWN0ZWRXZWJWaWV3IF9pc0Nsb3NlZF0pCisg
ICAgICAgIGlmIChbX2luc3BlY3RlZFdlYlZpZXcuZ2V0KCkgX2lzQ2xvc2VkXSkKICAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICBbX3dlYlZpZXcgcmVtb3ZlRnJvbVN1cGVydmlld107CiAK
LSAgICAgICAgV2ViRnJhbWVWaWV3ICpmcmFtZVZpZXcgPSBbW19pbnNwZWN0ZWRXZWJWaWV3IG1h
aW5GcmFtZV0gZnJhbWVWaWV3XTsKKyAgICAgICAgV2ViRnJhbWVWaWV3ICpmcmFtZVZpZXcgPSBb
W19pbnNwZWN0ZWRXZWJWaWV3LmdldCgpIG1haW5GcmFtZV0gZnJhbWVWaWV3XTsKICAgICAgICAg
TlNSZWN0IGZyYW1lVmlld1JlY3QgPSBbZnJhbWVWaWV3IGZyYW1lXTsKIAogICAgICAgICAvLyBT
ZXR0aW5nIHRoZSBoZWlnaHQgYmFzZWQgb24gdGhlIHByZXZpb3VzIGhlaWdodCBpcyBkb25lIHRv
IHdvcmsgd2l0aApAQCAtMzQzLDcgKzM0Miw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQ6OnVwZGF0ZVdpbmRvd1RpdGxlKCkgY29uc3QKICAgICAgICAgW2ZyYW1lVmlldyBzZXRB
dXRvcmVzaXppbmdNYXNrOihOU1ZpZXdXaWR0aFNpemFibGUgfCBOU1ZpZXdIZWlnaHRTaXphYmxl
KV07CiAgICAgICAgIFtmcmFtZVZpZXcgc2V0RnJhbWU6ZnJhbWVWaWV3UmVjdF07CiAKLSAgICAg
ICAgW19pbnNwZWN0ZWRXZWJWaWV3IGRpc3BsYXlJZk5lZWRlZF07CisgICAgICAgIFtfaW5zcGVj
dGVkV2ViVmlldy5nZXQoKSBkaXNwbGF5SWZOZWVkZWRdOwogICAgIH0gZWxzZQogICAgICAgICBb
c3VwZXIgY2xvc2VdOwogfQpAQCAtMzY0LDEwICszNjMsMTAgQEAgdm9pZCBXZWJJbnNwZWN0b3JG
cm9udGVuZENsaWVudDo6dXBkYXRlV2luZG93VGl0bGUoKSBjb25zdAogICAgICAgICBfc2hvdWxk
QXR0YWNoID0gTk87CiAKICAgICBpZiAoX3Nob3VsZEF0dGFjaCkgewotICAgICAgICBXZWJGcmFt
ZVZpZXcgKmZyYW1lVmlldyA9IFtbX2luc3BlY3RlZFdlYlZpZXcgbWFpbkZyYW1lXSBmcmFtZVZp
ZXddOworICAgICAgICBXZWJGcmFtZVZpZXcgKmZyYW1lVmlldyA9IFtbX2luc3BlY3RlZFdlYlZp
ZXcuZ2V0KCkgbWFpbkZyYW1lXSBmcmFtZVZpZXddOwogCiAgICAgICAgIFtfd2ViVmlldyByZW1v
dmVGcm9tU3VwZXJ2aWV3XTsKLSAgICAgICAgW19pbnNwZWN0ZWRXZWJWaWV3IGFkZFN1YnZpZXc6
X3dlYlZpZXcgcG9zaXRpb25lZDpOU1dpbmRvd0JlbG93IHJlbGF0aXZlVG86KE5TVmlldyAqKWZy
YW1lVmlld107CisgICAgICAgIFtfaW5zcGVjdGVkV2ViVmlldy5nZXQoKSBhZGRTdWJ2aWV3Ol93
ZWJWaWV3IHBvc2l0aW9uZWQ6TlNXaW5kb3dCZWxvdyByZWxhdGl2ZVRvOihOU1ZpZXcgKilmcmFt
ZVZpZXddOwogCiAgICAgICAgIFtfd2ViVmlldyBzZXRBdXRvcmVzaXppbmdNYXNrOihOU1ZpZXdX
aWR0aFNpemFibGUgfCBOU1ZpZXdIZWlnaHRTaXphYmxlIHwgTlNWaWV3TWF4WU1hcmdpbildOwog
ICAgICAgICBbZnJhbWVWaWV3IHNldEF1dG9yZXNpemluZ01hc2s6KE5TVmlld1dpZHRoU2l6YWJs
ZSB8IE5TVmlld0hlaWdodFNpemFibGUgfCBOU1ZpZXdNaW5ZTWFyZ2luKV07CkBAIC00MzUsNyAr
NDM0LDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6dXBkYXRlV2luZG93VGl0
bGUoKSBjb25zdAogICAgIGlmICghX2F0dGFjaGVkVG9JbnNwZWN0ZWRXZWJWaWV3KQogICAgICAg
ICByZXR1cm47CiAKLSAgICBXZWJGcmFtZVZpZXcgKmZyYW1lVmlldyA9IFtbX2luc3BlY3RlZFdl
YlZpZXcgbWFpbkZyYW1lXSBmcmFtZVZpZXddOworICAgIFdlYkZyYW1lVmlldyAqZnJhbWVWaWV3
ID0gW1tfaW5zcGVjdGVkV2ViVmlldy5nZXQoKSBtYWluRnJhbWVdIGZyYW1lVmlld107CiAgICAg
TlNSZWN0IGZyYW1lVmlld1JlY3QgPSBbZnJhbWVWaWV3IGZyYW1lXTsKIAogICAgIC8vIFNldHRp
bmcgdGhlIGhlaWdodCBiYXNlZCBvbiB0aGUgZGlmZmVyZW5jZSBpcyBkb25lIHRvIHdvcmsgd2l0
aApAQCAtNDYwLDcgKzQ1OSw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnVw
ZGF0ZVdpbmRvd1RpdGxlKCkgY29uc3QKICAgICBfdmlzaWJsZSA9IE5POwogCiAgICAgaWYgKG5v
dGlmeUluc3BlY3RvckNvbnRyb2xsZXIpIHsKLSAgICAgICAgaWYgKFBhZ2UqIGluc3BlY3RlZFBh
Z2UgPSBbX2luc3BlY3RlZFdlYlZpZXcgcGFnZV0pCisgICAgICAgIGlmIChQYWdlKiBpbnNwZWN0
ZWRQYWdlID0gW19pbnNwZWN0ZWRXZWJWaWV3LmdldCgpIHBhZ2VdKQogICAgICAgICAgICAgaW5z
cGVjdGVkUGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaXNjb25uZWN0RnJvbnRlbmQoKTsK
IAogICAgICAgICBfaW5zcGVjdG9yQ2xpZW50LT5yZWxlYXNlRnJvbnRlbmRQYWdlKCk7CkBAIC00
NzcsNDkgKzQ3Niw0IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnVwZGF0ZVdp
bmRvd1RpdGxlKCkgY29uc3QKICAgICByZXR1cm4gV2ViRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTm9u
ZTsKIH0KIAotLy8gTUFSSzogLQotCi0vLyBUaGVzZSBtZXRob2RzIGNhbiBiZSB1c2VkIGJ5IFVJ
IGVsZW1lbnRzIHN1Y2ggYXMgbWVudSBpdGVtcyBhbmQgdG9vbGJhciBidXR0b25zIHdoZW4gdGhl
IGluc3BlY3RvciBpcyB0aGUga2V5IHdpbmRvdy4KLQotLy8gVGhpcyBtZXRob2QgaXMgcmVhbGx5
IG9ubHkgaW1wbGVtZW50ZWQgdG8ga2VlcCBhbnkgVUkgZWxlbWVudHMgZW5hYmxlZC4KLS0gKHZv
aWQpc2hvd1dlYkluc3BlY3RvcjooaWQpc2VuZGVyCi17Ci0gICAgW1tfaW5zcGVjdGVkV2ViVmll
dyBpbnNwZWN0b3JdIHNob3c6c2VuZGVyXTsKLX0KLQotLSAodm9pZClzaG93RXJyb3JDb25zb2xl
OihpZClzZW5kZXIKLXsKLSAgICBbW19pbnNwZWN0ZWRXZWJWaWV3IGluc3BlY3Rvcl0gc2hvd0Nv
bnNvbGU6c2VuZGVyXTsKLX0KLQotLSAodm9pZCl0b2dnbGVEZWJ1Z2dpbmdKYXZhU2NyaXB0Oihp
ZClzZW5kZXIKLXsKLSAgICBbW19pbnNwZWN0ZWRXZWJWaWV3IGluc3BlY3Rvcl0gdG9nZ2xlRGVi
dWdnaW5nSmF2YVNjcmlwdDpzZW5kZXJdOwotfQotCi0tICh2b2lkKXRvZ2dsZVByb2ZpbGluZ0ph
dmFTY3JpcHQ6KGlkKXNlbmRlcgotewotICAgIFtbX2luc3BlY3RlZFdlYlZpZXcgaW5zcGVjdG9y
XSB0b2dnbGVQcm9maWxpbmdKYXZhU2NyaXB0OnNlbmRlcl07Ci19Ci0KLS0gKEJPT0wpdmFsaWRh
dGVVc2VySW50ZXJmYWNlSXRlbTooaWQgPE5TVmFsaWRhdGVkVXNlckludGVyZmFjZUl0ZW0+KWl0
ZW0KLXsKLSAgICBCT09MIGlzTWVudUl0ZW0gPSBbKGlkKWl0ZW0gaXNLaW5kT2ZDbGFzczpbTlNN
ZW51SXRlbSBjbGFzc11dOwotICAgIGlmIChbaXRlbSBhY3Rpb25dID09IEBzZWxlY3Rvcih0b2dn
bGVEZWJ1Z2dpbmdKYXZhU2NyaXB0OikgJiYgaXNNZW51SXRlbSkgewotICAgICAgICBOU01lbnVJ
dGVtICptZW51SXRlbSA9IChOU01lbnVJdGVtICopaXRlbTsKLSAgICAgICAgaWYgKFtbX2luc3Bl
Y3RlZFdlYlZpZXcgaW5zcGVjdG9yXSBpc0RlYnVnZ2luZ0phdmFTY3JpcHRdKQotICAgICAgICAg
ICAgW21lbnVJdGVtIHNldFRpdGxlOlVJX1NUUklOR19JTlRFUk5BTCgiU3RvcCBEZWJ1Z2dpbmcg
SmF2YVNjcmlwdCIsICJ0aXRsZSBmb3IgU3RvcCBEZWJ1Z2dpbmcgSmF2YVNjcmlwdCBtZW51IGl0
ZW0iKV07Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIFttZW51SXRlbSBzZXRUaXRsZTpVSV9T
VFJJTkdfSU5URVJOQUwoIlN0YXJ0IERlYnVnZ2luZyBKYXZhU2NyaXB0IiwgInRpdGxlIGZvciBT
dGFydCBEZWJ1Z2dpbmcgSmF2YVNjcmlwdCBtZW51IGl0ZW0iKV07Ci0gICAgfSBlbHNlIGlmIChb
aXRlbSBhY3Rpb25dID09IEBzZWxlY3Rvcih0b2dnbGVQcm9maWxpbmdKYXZhU2NyaXB0OikgJiYg
aXNNZW51SXRlbSkgewotICAgICAgICBOU01lbnVJdGVtICptZW51SXRlbSA9IChOU01lbnVJdGVt
ICopaXRlbTsKLSAgICAgICAgaWYgKFtbX2luc3BlY3RlZFdlYlZpZXcgaW5zcGVjdG9yXSBpc1By
b2ZpbGluZ0phdmFTY3JpcHRdKQotICAgICAgICAgICAgW21lbnVJdGVtIHNldFRpdGxlOlVJX1NU
UklOR19JTlRFUk5BTCgiU3RvcCBQcm9maWxpbmcgSmF2YVNjcmlwdCIsICJ0aXRsZSBmb3IgU3Rv
cCBQcm9maWxpbmcgSmF2YVNjcmlwdCBtZW51IGl0ZW0iKV07Ci0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIFttZW51SXRlbSBzZXRUaXRsZTpVSV9TVFJJTkdfSU5URVJOQUwoIlN0YXJ0IFByb2Zp
bGluZyBKYXZhU2NyaXB0IiwgInRpdGxlIGZvciBTdGFydCBQcm9maWxpbmcgSmF2YVNjcmlwdCBt
ZW51IGl0ZW0iKV07Ci0gICAgfQotCi0gICAgcmV0dXJuIFlFUzsKLX0KLQogQGVuZAo=
</data>
<flag name="review"
          id="84099"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>