<?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>217176</bug_id>
          
          <creation_ts>2020-10-01 04:48:58 -0700</creation_ts>
          <short_desc>[CMake] unused variable warning spam in UIScriptController.h</short_desc>
          <delta_ts>2020-10-02 12:23:24 -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>CMake</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>annulen</cc>
    
    <cc>aperez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1693718</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-10-01 04:48:58 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693719</commentid>
    <comment_count>1</comment_count>
      <attachid>410219</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-10-01 04:50:39 -0700</bug_when>
    <thetext>Created attachment 410219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693762</commentid>
    <comment_count>2</comment_count>
      <attachid>410219</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-10-01 09:08:41 -0700</bug_when>
    <thetext>Comment on attachment 410219
Patch

We don&apos;t want to do this. Just get rid of the used variables from function definitions, not declarations. There are plenty of examples of this elsewhere in WebKit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693767</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-10-01 09:22:46 -0700</bug_when>
    <thetext>I also see &quot;plenty&quot; examples of adding -Wno-unused-parameter. FWIW.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694012</commentid>
    <comment_count>4</comment_count>
      <attachid>410306</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-10-02 03:25:49 -0700</bug_when>
    <thetext>Created attachment 410306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694132</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-02 10:21:55 -0700</bug_when>
    <thetext>Patch 410306 does not build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694173</commentid>
    <comment_count>6</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-10-02 11:52:42 -0700</bug_when>
    <thetext>Huh?

ruby WebCore/Scripts/GenerateSettings.rb --input WebCore/page/Settings.yaml
perl WebCore/bindings/scripts/preprocess-idls.pl --defines &quot;ENABLE_3D_TRANSFORMS ENABLE_ACCESSIBILITY ENABLE_APNG ENABLE_APPLE_PAY ENABLE_APPLICATION_MANIFEST ENABLE_ASSEMBLER ENABLE_ASYNC_SCROLLING ENABLE_ATTACHMENT_ELEMENT ENABLE_AUTOCORRECT ENABLE_AVF_CAPTIONS ENABLE_B3_JIT ENABLE_BINDING_INTEGRITY ENABLE_CACHE_PARTITIONING ENABLE_CFPREFS_DIRECT_MODE ENABLE_CHANNEL_MESSAGING ENABLE_COMPUTED_GOTO_OPCODES ENABLE_CONCURRENT_JS ENABLE_CONTENT_EXTENSIONS ENABLE_CONTENT_FILTERING ENABLE_CONTEXT_MENUS ENABLE_CONTEXT_MENU_EVENT ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER ENABLE_CSS_BOX_DECORATION_BREAK ENABLE_CSS_COMPOSITING ENABLE_CSS_CONIC_GRADIENTS ENABLE_CSS_PAINTING_API ENABLE_CSS_SCROLL_SNAP ENABLE_CSS_SELECTORS_LEVEL4 ENABLE_CSS_SELECTOR_JIT ENABLE_CSS_TRAILING_WORD ENABLE_CSS_TYPED_OM ENABLE_CURSOR_VISIBILITY ENABLE_CUSTOM_CURSOR_SUPPORT ENABLE_DARK_MODE_CSS ENABLE_DATACUE_VALUE ENABLE_DATALIST_ELEMENT ENABLE_DATA_DETECTION ENABLE_DATE_AND_TIME_INPUT_TYPES ENABLE_DFG_JIT ENABLE_DFG_REGISTER_ALLOCATION_VALIDATION ENABLE_DISASSEMBLER ENABLE_DOWNLOAD_ATTRIBUTE ENABLE_DRAG_SUPPORT ENABLE_ENCRYPTED_MEDIA ENABLE_FILE_REPLACEMENT ENABLE_FILE_SHARE ENABLE_FILTERS_LEVEL_2 ENABLE_FTL_JIT ENABLE_FTPDIR ENABLE_FULLSCREEN_API ENABLE_FULL_KEYBOARD_ACCESS ENABLE_GAMEPAD ENABLE_GC_VALIDATION ENABLE_GEOLOCATION ENABLE_GPU_PROCESS ENABLE_INDEXED_DATABASE ENABLE_INDEXED_DATABASE_IN_WORKERS ENABLE_INLINE_PATH_DATA ENABLE_INPUT_TYPE_COLOR ENABLE_INPUT_TYPE_DATE ENABLE_INPUT_TYPE_DATETIMELOCAL ENABLE_INPUT_TYPE_MONTH ENABLE_INPUT_TYPE_TIME ENABLE_INPUT_TYPE_WEEK ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS ENABLE_INSPECTOR_TELEMETRY ENABLE_INTERSECTION_OBSERVER ENABLE_JIT ENABLE_KINETIC_SCROLLING ENABLE_LAYOUT_FORMATTING_CONTEXT ENABLE_LEGACY_CSS_VENDOR_PREFIXES ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER ENABLE_LEGACY_ENCRYPTED_MEDIA ENABLE_LLINT_EMBEDDED_OPCODE_ID ENABLE_MASM_PROBE ENABLE_MATHML ENABLE_MEDIA_CONTROLS_SCRIPT ENABLE_MEDIA_SOURCE ENABLE_MEDIA_STREAM ENABLE_MEMORY_SAMPLER ENABLE_MONOSPACE_FONT_EXCEPTION ENABLE_MOUSE_CURSOR_SCALE ENABLE_MOUSE_FORCE_EVENTS ENABLE_NETSCAPE_PLUGIN_API ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION ENABLE_NETWORK_CACHE_STALE_WHILE_REVALIDATE ENABLE_NOTIFICATIONS ENABLE_OPENTYPE_MATH ENABLE_PAYMENT_REQUEST ENABLE_PDFKIT_PLUGIN ENABLE_PERIODIC_MEMORY_MONITOR ENABLE_PICTURE_IN_PICTURE_API ENABLE_POINTER_LOCK ENABLE_PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC ENABLE_PUBLIC_SUFFIX_LIST ENABLE_REMOTE_INSPECTOR ENABLE_RESIZE_OBSERVER ENABLE_RESOURCE_LOAD_STATISTICS ENABLE_RESOURCE_USAGE ENABLE_RUBBER_BANDING ENABLE_SAMPLING_PROFILER ENABLE_SANDBOX_EXTENSIONS ENABLE_SCROLLING_THREAD ENABLE_SECURITY_ASSERTIONS ENABLE_SEC_ITEM_SHIM ENABLE_SERVER_PRECONNECT ENABLE_SERVICE_CONTROLS ENABLE_SERVICE_WORKER ENABLE_SHAREABLE_RESOURCE ENABLE_SIGNAL_BASED_VM_TRAPS ENABLE_SMOOTH_SCROLLING ENABLE_SPEECH_SYNTHESIS ENABLE_TELEPHONE_NUMBER_DETECTION ENABLE_TEXT_AUTOSIZING ENABLE_TEXT_CARET ENABLE_TEXT_SELECTION ENABLE_THREADING_LIBDISPATCH ENABLE_TREE_DEBUGGING ENABLE_UDIS86 ENABLE_UI_SIDE_COMPOSITING ENABLE_UNIFIED_AND_FREEZABLE_CONFIG_RECORD ENABLE_USERSELECT_ALL ENABLE_USER_MESSAGE_HANDLERS ENABLE_VARIATION_FONTS ENABLE_VIDEO ENABLE_VIDEO_PRESENTATION_MODE ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN ENABLE_WEBASSEMBLY ENABLE_WEBASSEMBLY_FAST_MEMORY ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS ENABLE_WEBDRIVER_MOUSE_INTERACTIONS ENABLE_WEBGL ENABLE_WEBGL2 ENABLE_WEBGPU ENABLE_WEBPROCESS_NSRUNLOOP ENABLE_WEBPROCESS_WINDOWSERVER_BLOCKING ENABLE_WEB_API_STATISTICS ENABLE_WEB_ARCHIVE ENABLE_WEB_AUDIO ENABLE_WEB_AUTHN ENABLE_WEB_CRYPTO ENABLE_WEB_PLAYBACK_CONTROLS_MANAGER ENABLE_WEB_RTC ENABLE_WHEEL_EVENT_LATCHING ENABLE_WHLSL_COMPILER ENABLE_WIRELESS_PLAYBACK_TARGET ENABLE_XSLT ENABLE_YARR_JIT ENABLE_YARR_JIT_ALL_PARENS_EXPRESSIONS ENABLE_YARR_JIT_BACKREFERENCES HAVE_ACCESSIBILITY HAVE_APPLE_GRAPHICS_CONTROL HAVE_AUDIO_OUTPUT_DEVICE_UNIQUE_ID HAVE_AUDIT_TOKEN HAVE_AVASSETREADER HAVE_AVCONTENTKEYSESSION HAVE_AVKIT HAVE_AVSTREAMSESSION HAVE_BACKTRACE HAVE_CFNETWORK_OVERRIDE_SESSION_COOKIE_ACCEPT_POLICY HAVE_CG_FONT_RENDERING_GET_FONT_SMOOTHING_DISABLED HAVE_CG_PATH_UNEVEN_CORNERS_ROUNDEDRECT HAVE_COMPUTED_GOTO HAVE_CORETEXT_AUTO_OPTICAL_SIZING HAVE_DISPATCH_H HAVE_DLADDR HAVE_ERRNO_H HAVE_FOUNDATION_WITH_SAME_SITE_COOKIE_SUPPORT HAVE_FUNC_USLEEP HAVE_GCEXTENDEDGAMEPAD_BUTTONS_THUMBSTICK HAVE_HISERVICES HAVE_HOSTED_CORE_ANIMATION HAVE_INT128_T HAVE_IOSURFACE HAVE_LANGINFO_H HAVE_LOCALTIME_R HAVE_MACHINE_CONTEXT HAVE_MACH_EXCEPTIONS HAVE_MADV_DONTNEED HAVE_MADV_FREE HAVE_MADV_FREE_REUSE HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK HAVE_MEMMEM HAVE_MMAP HAVE_NSCURSOR HAVE_NSFONT_WITH_OPTICAL_SIZING_BUG HAVE_NS_ACTIVITY HAVE_OS_DARK_MODE_SUPPORT HAVE_OS_SIGNPOST HAVE_OUT_OF_PROCESS_LAYER_HOSTING HAVE_PARENTAL_CONTROLS HAVE_PTHREAD_MAIN_NP HAVE_PTHREAD_SETNAME_NP HAVE_PTHREAD_SETSCHEDPARAM HAVE_QOS_CLASSES HAVE_READLINE HAVE_REGEX_H HAVE_REMAP_JIT HAVE_RESOURCE_H HAVE_RSA_PSS HAVE_SAFE_BROWSING HAVE_SEC_ACCESS_CONTROL HAVE_SEC_KEYCHAIN HAVE_SEC_KEY_PROXY HAVE_SEC_TRUST_SERIALIZATION HAVE_SIGNAL_H HAVE_STACK_BOUNDS_FOR_NEW_THREAD HAVE_STAT_BIRTHTIME HAVE_STRNSTR HAVE_SUBVIEWS_IVAR_DECLARED_BY_SDK HAVE_SYS_PARAM_H HAVE_SYS_TIMEB_H HAVE_SYS_TIME_H HAVE_TIMEGM HAVE_TM_GMTOFF HAVE_TM_ZONE HAVE_TOUCH_BAR HAVE_URL_FORMATTING USE_ACCELERATE USE_ACCESSIBILITY_CONTEXT_MENUS USE_ANGLE USE_APPKIT USE_AUDIO_SESSION USE_AUTOCORRECTION_PANEL USE_AUTOMATIC_TEXT_REPLACEMENT USE_AVFOUNDATION USE_AV_SAMPLE_BUFFER_DISPLAY_LAYER USE_BUILTIN_FRAME_ADDRESS USE_CA USE_CF USE_CFNETWORK_CONTENT_ENCODING_SNIFFING_OVERRIDE USE_CG USE_COCOA_EVENT_LOOP USE_CORE_IMAGE USE_CORE_TEXT USE_CTFONTGETADVANCES_WORKAROUND USE_DICTATION_ALTERNATIVES USE_FILE_LOCK USE_FOUNDATION USE_IMLANG_FONT_LINK2 USE_INSERTION_UNDO_GROUPING USE_IOSURFACE_CANVAS_BACKING_STORE USE_JSVALUE64 USE_LIBWEBRTC USE_MARKER_REMOVAL_UPON_EDITING USE_MEDIATOOLBOX USE_METAL USE_NEW_THEME USE_OS_LOG USE_PASSKIT USE_PLUGIN_HOST_PROCESS USE_PROTECTION_SPACE_AUTH_CALLBACK USE_PTHREADS USE_REALPATH_FOR_DLOPEN_PREFLIGHT USE_UNIFIED_TEXT_CHECKING USE_VISIBILITY_ATTRIBUTE WTF_PLATFORM_COCOA WTF_PLATFORM_MAC LANGUAGE_JAVASCRIPT&quot; --idlFileNamesList idl_files.tmp --idlAttributesFile WebCore/bindings/scripts/IDLAttributes.json --supplementalDependencyFile SupplementalDependencies.txt --isoSubspacesHeaderFile DOMIsoSubspaces.h --windowConstructorsFile DOMWindowConstructors.idl --workerGlobalScopeConstructorsFile WorkerGlobalScopeConstructors.idl --dedicatedWorkerGlobalScopeConstructorsFile DedicatedWorkerGlobalScopeConstructors.idl --serviceWorkerGlobalScopeConstructorsFile ServiceWorkerGlobalScopeConstructors.idl --workletGlobalScopeConstructorsFile WorkletGlobalScopeConstructors.idl --paintWorkletGlobalScopeConstructorsFile PaintWorkletGlobalScopeConstructors.idl --audioWorkletGlobalScopeConstructorsFile AudioWorkletGlobalScopeConstructors.idl --supplementalMakefileDeps SupplementalDependencies.dep
Use of uninitialized value $fullPath in hash element at WebCore/bindings/scripts/preprocess-idls.pl line 167.
Use of uninitialized value $fullPath in hash element at WebCore/bindings/scripts/preprocess-idls.pl line 167.
Use of uninitialized value $fullPath in hash element at WebCore/bindings/scripts/preprocess-idls.pl line 167.
Use of uninitialized value $filePath in open at WebCore/bindings/scripts/preprocess-idls.pl line 441.
Use of uninitialized value $filePath in concatenation (.) or string at WebCore/bindings/scripts/preprocess-idls.pl line 441.
Could not open  for reading: No such file or directory at WebCore/bindings/scripts/preprocess-idls.pl line 441.
make: *** No rule to make target `SupplementalDependencies.dep&apos;, needed by `JSWebKitPlaybackTargetAvailabilityEvent.h&apos;.  Stop.
Command /bin/sh failed with exit code 2
** BUILD FAILED **</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694189</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-02 12:23:22 -0700</bug_when>
    <thetext>Committed r267892: &lt;https://trac.webkit.org/changeset/267892&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410306.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410219</attachid>
            <date>2020-10-01 04:50:39 -0700</date>
            <delta_ts>2020-10-02 03:25:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217176-20201001045038.patch</filename>
            <type>text/plain</type>
            <size>1202</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3ODI4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2QyZjNlYmY4NTM0NmI5ZGY4ZDA4ZTFmOWZlNzU4MGMz
NzBmMTMwYi4uMjg5NTFhMzNjYWFjNjViYmQxMTNjYWQ5YjZkZGM0MzY2Yzk0MGViYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDIwLTEwLTAxICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4K
KworICAgICAgICBbQ01ha2VdIHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIHNwYW0gaW4gVUlTY3Jp
cHRDb250cm9sbGVyLmgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNzE3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9DTWFrZUxpc3RzLnR4dDogRGlzYWJsZSB1bnVzZWQt
cGFyYW1ldGVyIHdhcm5pbmdzLCBzaW1pbGFyaWx5IHRvIHRoZQorICAgICAgICBXZWJLaXQgQ01h
a2UgdGFyZ2V0cy4KKwogMjAyMC0xMC0wMSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0ZsYXRwYWtdIE5pZ2h0bHkgcnVubmVyIHJlcXVpcmVzIHVz
ZXIgaW50ZXJhY3Rpb24KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvQ01ha2VM
aXN0cy50eHQgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL0NNYWtlTGlzdHMudHh0CmluZGV4IDE3
YmUwN2YxODM5MGRiNWI4ZmVmZWY4ZTM3YzFjOWIyNjVmYzY3OWQuLjVlNmY1ZmEyNGJjZTQ2NDI4
ZWRiYTFkNjBhNWE2ZjM5Y2MzYWI1MjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFy
ZWQvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9DTWFrZUxpc3Rz
LnR4dApAQCAtNTUsMyArNTUsNSBAQCBzZXQoVGVzdFJ1bm5lclNoYXJlZF9ERVBFTkRFTkNJRVMg
VGVzdFJ1bm5lclNoYXJlZEJpbmRpbmdzKQogCiBXRUJLSVRfSU5DTFVERV9DT05GSUdfRklMRVNf
SUZfRVhJU1RTKCkKIFdFQktJVF9GUkFNRVdPUksoVGVzdFJ1bm5lclNoYXJlZCkKKworV0VCS0lU
X0FERF9UQVJHRVRfQ1hYX0ZMQUdTKFRlc3RSdW5uZXJTaGFyZWQgLVduby11bnVzZWQtcGFyYW1l
dGVyKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410306</attachid>
            <date>2020-10-02 03:25:49 -0700</date>
            <delta_ts>2020-10-02 12:23:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217176-20201002032547.patch</filename>
            <type>text/plain</type>
            <size>17499</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3ODY5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzMwYjU0MjI2MDEzZGRjNGVlOTYwMzgwMDZjNWExMzVk
YWI4ZWE1Mi4uOGUwMWY3MWNiNzY0MjY3YTQ5NDU3ZWVjZTBkYjk3Mjc3OWQ2MmViMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1
IEBACisyMDIwLTEwLTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4K
KworICAgICAgICBbQ01ha2VdIHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIHNwYW0gaW4gVUlTY3Jp
cHRDb250cm9sbGVyLmgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNzE3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvQmluZGluZ3MvQ29kZUdlbmVyYXRvckR1bXBSZW5kZXJU
cmVlLnBtOgorICAgICAgICAoX2dlbmVyYXRlSW1wbGVtZW50YXRpb25GaWxlKTogR2VuZXJhdGUg
bWFjcm9zIGZvciB1bnVzZWQgdmFyaWFibGVzLgorICAgICAgICAqIFRlc3RSdW5uZXJTaGFyZWQv
VUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oOiBSZW1vdmUgdW51c2VkIHZhcmlh
YmxlIG5hbWVzIGRlY2xhcmF0aW9ucy4KKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVy
Ojpkb0FzeW5jVGFzayk6CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlcjo6ZW5zdXJl
UG9zaXRpb25JbmZvcm1hdGlvbklzVXBUb0RhdGVBdCk6CisgICAgICAgIChXVFI6OlVJU2NyaXB0
Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRD
b250cm9sbGVyOjp6b29tVG9TY2FsZSk6CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxl
cjo6aW1tZWRpYXRlWm9vbVRvU2NhbGUpOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xs
ZXI6OnNldFNhZmVBcmVhSW5zZXRzKToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVy
Ojpwcm9wZXJ0aWVzT2ZMYXllcldpdGhJRCBjb25zdCk6CisgICAgICAgIChXVFI6OlVJU2NyaXB0
Q29udHJvbGxlcjo6c2Nyb2xsVG9PZmZzZXQpOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRy
b2xsZXI6OmltbWVkaWF0ZVNjcm9sbFRvT2Zmc2V0KToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRD
b250cm9sbGVyOjppbW1lZGlhdGVTY3JvbGxFbGVtZW50QXRDb250ZW50UG9pbnRUb09mZnNldCk6
CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlcjo6dG91Y2hEb3duQXRQb2ludCk6Cisg
ICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlcjo6bGlmdFVwQXRQb2ludCk6CisgICAgICAg
IChXVFI6OlVJU2NyaXB0Q29udHJvbGxlcjo6c2luZ2xlVGFwQXRQb2ludCk6CisgICAgICAgIChX
VFI6OlVJU2NyaXB0Q29udHJvbGxlcjo6c2luZ2xlVGFwQXRQb2ludFdpdGhNb2RpZmllcnMpOgor
ICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OnR3b0ZpbmdlclNpbmdsZVRhcEF0UG9p
bnQpOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OmRvdWJsZVRhcEF0UG9pbnQp
OgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OmRyYWdGcm9tUG9pbnRUb1BvaW50
KToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVyOjpsb25nUHJlc3NBdFBvaW50KToK
KyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVyOjphY3RpdmF0ZUF0UG9pbnQpOgorICAg
ICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OnR5cGVDaGFyYWN0ZXJVc2luZ0hhcmR3YXJl
S2V5Ym9hcmQpOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OmtleURvd24pOgor
ICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OnRvZ2dsZUNhcHNMb2NrKToKKyAgICAg
ICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVyOjphcHBseUF1dG9jb3JyZWN0aW9uKToKKyAgICAg
ICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVyOjpyZXBsYWNlVGV4dEF0UmFuZ2UpOgorICAgICAg
ICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OnN0eWx1c0Rvd25BdFBvaW50KToKKyAgICAgICAg
KFdUUjo6VUlTY3JpcHRDb250cm9sbGVyOjpzdHlsdXNNb3ZlVG9Qb2ludCk6CisgICAgICAgIChX
VFI6OlVJU2NyaXB0Q29udHJvbGxlcjo6c3R5bHVzVXBBdFBvaW50KToKKyAgICAgICAgKFdUUjo6
VUlTY3JpcHRDb250cm9sbGVyOjpzdHlsdXNUYXBBdFBvaW50KToKKyAgICAgICAgKFdUUjo6VUlT
Y3JpcHRDb250cm9sbGVyOjpzdHlsdXNUYXBBdFBvaW50V2l0aE1vZGlmaWVycyk6CisgICAgICAg
IChXVFI6OlVJU2NyaXB0Q29udHJvbGxlcjo6c2VuZEV2ZW50U3RyZWFtKToKKyAgICAgICAgKFdU
Ujo6VUlTY3JpcHRDb250cm9sbGVyOjpwbGF5QmFja0V2ZW50U3RyZWFtKToKKyAgICAgICAgKFdU
Ujo6VUlTY3JpcHRDb250cm9sbGVyOjpkaXNtaXNzRmlsZVBpY2tlcik6CisgICAgICAgIChXVFI6
OlVJU2NyaXB0Q29udHJvbGxlcjo6c2V0VGltZVBpY2tlclZhbHVlKToKKyAgICAgICAgKFdUUjo6
VUlTY3JpcHRDb250cm9sbGVyOjpzZXREZWZhdWx0Q2FsZW5kYXJUeXBlKToKKyAgICAgICAgKFdU
Ujo6VUlTY3JpcHRDb250cm9sbGVyOjpmaW5kU3RyaW5nKToKKyAgICAgICAgKFdUUjo6VUlTY3Jp
cHRDb250cm9sbGVyOjpzaW11bGF0ZUFjY2Vzc2liaWxpdHlTZXR0aW5nc0NoYW5nZU5vdGlmaWNh
dGlvbik6CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlcjo6YmVnaW5CYWNrU3dpcGUp
OgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OmNvbXBsZXRlQmFja1N3aXBlKToK
KyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVyOjpyZWN0Rm9yTWVudUFjdGlvbiBjb25z
dCk6CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlcjo6YXR0YWNobWVudEluZm8pOgor
ICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6Omluc2VydEF0dGFjaG1lbnRGb3JGaWxl
UGF0aCk6CisKIDIwMjAtMTAtMDIgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNv
bT4KIAogICAgICAgICBbaU9TIFdLMV0gQ3Jhc2hlcyB3aGVuIHVzaW5nIEFOR0xFIFdlYkdMIGZy
b20gYW5vdGhlciB0aHJlYWQKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0JpbmRp
bmdzL0NvZGVHZW5lcmF0b3JEdW1wUmVuZGVyVHJlZS5wbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L0JpbmRpbmdzL0NvZGVHZW5lcmF0b3JEdW1wUmVuZGVyVHJlZS5wbQppbmRleCAxNGM2MjcwZjgy
MzFkYzBmMjZhMDVlNjk1ZGE4NDdiZGY4ZTQ4YzhlLi5jNWI4Mjc2NzFlNTc4YjU1ODgyYjQwZTBh
OWYyNDc5NzYxMDJiM2RlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9CaW5kaW5n
cy9Db2RlR2VuZXJhdG9yRHVtcFJlbmRlclRyZWUucG0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvQmluZGluZ3MvQ29kZUdlbmVyYXRvckR1bXBSZW5kZXJUcmVlLnBtCkBAIC0yOTAsNiArMjkw
LDEyIEBAIEVPRgogICAgICAgICAgICAgICAgICAgICBwdXNoKEBhcmd1bWVudHMsICJjb250ZXh0
Iik7CiAgICAgICAgICAgICAgICAgfQogCisgICAgICAgICAgICAgICAgaWYgKCFAc3BlY2lmaWVk
QXJndW1lbnRzKSB7CisgICAgICAgICAgICAgICAgICAgIHB1c2goQGNvbnRlbnRzLCAiICAgIFVO
VVNFRF9WQVJJQUJMRShhcmd1bWVudENvdW50KTtcbiIpOworICAgICAgICAgICAgICAgICAgICBw
dXNoKEBjb250ZW50cywgIiAgICBVTlVTRURfVkFSSUFCTEUoYXJndW1lbnRzKTtcbiIpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBwdXNoKEBjb250ZW50cywgIiAgICBVTlVT
RURfVkFSSUFCTEUoZXhjZXB0aW9uKTtcbiIpOworCiAgICAgICAgICAgICAgICAgZm9yZWFjaCBt
eSAkaSAoMC4uJCNzcGVjaWZpZWRBcmd1bWVudHMpIHsKICAgICAgICAgICAgICAgICAgICAgbXkg
JGFyZ3VtZW50ID0gJHNwZWNpZmllZEFyZ3VtZW50c1skaV07CiAKQEAgLTMyMCw2ICszMjYsNyBA
QCBFT0YKIAogSlNWYWx1ZVJlZiAke2NsYXNzTmFtZX06OiR7Z2V0dGVyTmFtZX0oSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNTdHJpbmdSZWYsIEpTVmFsdWVSZWYq
IGV4Y2VwdGlvbikKIHsKKyAgICBVTlVTRURfVkFSSUFCTEUoZXhjZXB0aW9uKTsKICAgICAke2lt
cGxlbWVudGF0aW9uQ2xhc3NOYW1lfSogaW1wbCA9IHRvJHtpbXBsZW1lbnRhdGlvbkNsYXNzTmFt
ZX0oY29udGV4dCwgb2JqZWN0KTsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiBKU1Zh
bHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKQEAgLTMzMyw2ICszNDAsNyBAQCBFT0YKIAogYm9v
bCAke2NsYXNzTmFtZX06OkB7WyRzZWxmLT5fc2V0dGVyTmFtZSgkYXR0cmlidXRlKV19KEpTQ29u
dGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBvYmplY3QsIEpTU3RyaW5nUmVmLCBKU1ZhbHVl
UmVmIHZhbHVlLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CisgICAgVU5VU0VEX1ZBUklBQkxF
KGV4Y2VwdGlvbik7CiAgICAgJHtpbXBsZW1lbnRhdGlvbkNsYXNzTmFtZX0qIGltcGwgPSB0byR7
aW1wbGVtZW50YXRpb25DbGFzc05hbWV9KGNvbnRleHQsIG9iamVjdCk7CiAgICAgaWYgKCFpbXBs
KQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hh
cmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuaCBiL1Rvb2xzL1Rlc3RSdW5u
ZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IDM1MjRi
NjBiZDgxY2Q5Y2FiMzEwYWExYjU2OGYyM2ZkNTE2OGRjZWYuLmJlMTM2YmQwNjBiM2IzMjIxM2M1
MTRiNWI1ZDU2YTgxZmI0ZTNmYzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQv
VUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1Rlc3RSdW5u
ZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oCkBAIC02NywyMiAr
NjcsMjIgQEAgcHVibGljOgogCiAgICAgLy8gVHJhbnNhY3Rpb24gaGVscGVycwogICAgIAotICAg
IHZpcnR1YWwgdm9pZCBkb0FzeW5jVGFzayhKU1ZhbHVlUmVmIGNhbGxiYWNrKSB7IG5vdEltcGxl
bWVudGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZG9Bc3luY1Rhc2soSlNWYWx1ZVJlZikgeyBu
b3RJbXBsZW1lbnRlZCgpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRvQWZ0ZXJQcmVzZW50YXRpb25V
cGRhdGUoSlNWYWx1ZVJlZiBjYWxsYmFjaykgeyBkb0FzeW5jVGFzayhjYWxsYmFjayk7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgZG9BZnRlck5leHRTdGFibGVQcmVzZW50YXRpb25VcGRhdGUoSlNWYWx1
ZVJlZiBjYWxsYmFjaykgeyBkb0FzeW5jVGFzayhjYWxsYmFjayk7IH0KLSAgICB2aXJ0dWFsIHZv
aWQgZW5zdXJlUG9zaXRpb25JbmZvcm1hdGlvbklzVXBUb0RhdGVBdChsb25nIHgsIGxvbmcgeSwg
SlNWYWx1ZVJlZiBjYWxsYmFjaykgeyBkb0FzeW5jVGFzayhjYWxsYmFjayk7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgZW5zdXJlUG9zaXRpb25JbmZvcm1hdGlvbklzVXBUb0RhdGVBdChsb25nLCBsb25n
LCBKU1ZhbHVlUmVmIGNhbGxiYWNrKSB7IGRvQXN5bmNUYXNrKGNhbGxiYWNrKTsgfQogICAgIHZp
cnR1YWwgdm9pZCBkb0FmdGVyVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlKEpTVmFsdWVSZWYgY2Fs
bGJhY2spIHsgZG9Bc3luY1Rhc2soY2FsbGJhY2spOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgZG9B
ZnRlckRvdWJsZVRhcERlbGF5KEpTVmFsdWVSZWYgY2FsbGJhY2spIHsgZG9Bc3luY1Rhc2soY2Fs
bGJhY2spOyB9CiAKICAgICAvLyBQcmVmZXJlbmNlcwogCi0gICAgdmlydHVhbCB2b2lkIG92ZXJy
aWRlUHJlZmVyZW5jZShKU1N0cmluZ1JlZiBwcmVmZXJlbmNlLCBKU1N0cmluZ1JlZiB2YWx1ZSkg
eyBub3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCB2b2lkIG92ZXJyaWRlUHJlZmVyZW5j
ZShKU1N0cmluZ1JlZiwgSlNTdHJpbmdSZWYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogCiAgICAg
Ly8gWm9vbWluZwogCi0gICAgdmlydHVhbCB2b2lkIHpvb21Ub1NjYWxlKGRvdWJsZSBzY2FsZSwg
SlNWYWx1ZVJlZiBjYWxsYmFjaykgeyBub3RJbXBsZW1lbnRlZCgpOyB9Ci0gICAgdmlydHVhbCB2
b2lkIGltbWVkaWF0ZVpvb21Ub1NjYWxlKGRvdWJsZSBzY2FsZSkgeyBub3RJbXBsZW1lbnRlZCgp
OyB9CisgICAgdmlydHVhbCB2b2lkIHpvb21Ub1NjYWxlKGRvdWJsZSwgSlNWYWx1ZVJlZikgeyBu
b3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCB2b2lkIGltbWVkaWF0ZVpvb21Ub1NjYWxl
KGRvdWJsZSkgeyBub3RJbXBsZW1lbnRlZCgpOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFZpZXdT
Y2FsZShkb3VibGUpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogICAgIHZpcnR1YWwgZG91YmxlIHpv
b21TY2FsZSgpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIDE7IH0KICAgICB2aXJ0
dWFsIGRvdWJsZSBtaW5pbXVtWm9vbVNjYWxlKCkgY29uc3QgeyBub3RJbXBsZW1lbnRlZCgpOyBy
ZXR1cm4gMTsgfQpAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIEpTT2Jq
ZWN0UmVmIGNvbnRlbnRWaXNpYmxlUmVjdCgpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0
dXJuIG51bGxwdHI7IH0KICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0U2FmZUFyZWFJbnNldHMo
ZG91YmxlIHRvcCwgZG91YmxlIHJpZ2h0LCBkb3VibGUgYm90dG9tLCBkb3VibGUgbGVmdCkgeyBu
b3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCB2b2lkIHNldFNhZmVBcmVhSW5zZXRzKGRv
dWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSkgeyBub3RJbXBsZW1lbnRlZCgpOyB9CiAKICAg
ICAvLyBWaWV3IFBhcmVudGluZyBhbmQgVmlzaWJpbGl0eQogCkBAIC0xMjYsMTcgKzEyNiwxNyBA
QCBwdWJsaWM6CiAKICAgICAvLyBDb21wb3NpdGluZwogCi0gICAgdmlydHVhbCBKU09iamVjdFJl
ZiBwcm9wZXJ0aWVzT2ZMYXllcldpdGhJRCh1aW50NjRfdCBsYXllcklEKSBjb25zdCB7IG5vdElt
cGxlbWVudGVkKCk7IHJldHVybiBudWxscHRyOyB9CisgICAgdmlydHVhbCBKU09iamVjdFJlZiBw
cm9wZXJ0aWVzT2ZMYXllcldpdGhJRCh1aW50NjRfdCkgY29uc3QgeyBub3RJbXBsZW1lbnRlZCgp
OyByZXR1cm4gbnVsbHB0cjsgfQogCiAgICAgLy8gU2Nyb2xsaW5nCiAKICAgICB2aXJ0dWFsIGJv
b2wgc2Nyb2xsVXBkYXRlc0Rpc2FibGVkKCkgY29uc3QgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsVXBkYXRlc0Rpc2FibGVkKGJv
b2wpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogCi0gICAgdmlydHVhbCB2b2lkIHNjcm9sbFRvT2Zm
c2V0KGxvbmcgeCwgbG9uZyB5KSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgc2Nyb2xsVG9PZmZzZXQobG9uZywgbG9uZykgeyBub3RJbXBsZW1lbnRlZCgpOyB9CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgaW1tZWRpYXRlU2Nyb2xsVG9PZmZzZXQobG9uZyB4LCBsb25nIHkpIHsg
bm90SW1wbGVtZW50ZWQoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBpbW1lZGlhdGVTY3JvbGxFbGVt
ZW50QXRDb250ZW50UG9pbnRUb09mZnNldChsb25nIHgsIGxvbmcgeSwgbG9uZyB4U2Nyb2xsT2Zm
c2V0LCBsb25nIHlTY3JvbGxPZmZzZXQpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1
YWwgdm9pZCBpbW1lZGlhdGVTY3JvbGxUb09mZnNldChsb25nLCBsb25nKSB7IG5vdEltcGxlbWVu
dGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgaW1tZWRpYXRlU2Nyb2xsRWxlbWVudEF0Q29udGVu
dFBvaW50VG9PZmZzZXQobG9uZywgbG9uZywgbG9uZywgbG9uZykgeyBub3RJbXBsZW1lbnRlZCgp
OyB9CiAKICAgICB2aXJ0dWFsIGRvdWJsZSBjb250ZW50T2Zmc2V0WCgpIGNvbnN0IHsgbm90SW1w
bGVtZW50ZWQoKTsgcmV0dXJuIDA7IH0KICAgICB2aXJ0dWFsIGRvdWJsZSBjb250ZW50T2Zmc2V0
WSgpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIDA7IH0KQEAgLTE0NSwyNCArMTQ1
LDI0IEBAIHB1YmxpYzoKIAogICAgIC8vIFRvdWNoZXMKIAotICAgIHZpcnR1YWwgdm9pZCB0b3Vj
aERvd25BdFBvaW50KGxvbmcgeCwgbG9uZyB5LCBsb25nIHRvdWNoQ291bnQsIEpTVmFsdWVSZWYg
Y2FsbGJhY2spIHsgbm90SW1wbGVtZW50ZWQoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBsaWZ0VXBB
dFBvaW50KGxvbmcgeCwgbG9uZyB5LCBsb25nIHRvdWNoQ291bnQsIEpTVmFsdWVSZWYgY2FsbGJh
Y2spIHsgbm90SW1wbGVtZW50ZWQoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBzaW5nbGVUYXBBdFBv
aW50KGxvbmcgeCwgbG9uZyB5LCBKU1ZhbHVlUmVmIGNhbGxiYWNrKSB7IG5vdEltcGxlbWVudGVk
KCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2luZ2xlVGFwQXRQb2ludFdpdGhNb2RpZmllcnMobG9u
ZyB4LCBsb25nIHksIEpTVmFsdWVSZWYgbW9kaWZpZXJBcnJheSwgSlNWYWx1ZVJlZiBjYWxsYmFj
aykgeyBub3RJbXBsZW1lbnRlZCgpOyB9Ci0gICAgdmlydHVhbCB2b2lkIHR3b0ZpbmdlclNpbmds
ZVRhcEF0UG9pbnQobG9uZyB4LCBsb25nIHksIEpTVmFsdWVSZWYgY2FsbGJhY2spIHsgbm90SW1w
bGVtZW50ZWQoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBkb3VibGVUYXBBdFBvaW50KGxvbmcgeCwg
bG9uZyB5LCBmbG9hdCBkZWxheSwgSlNWYWx1ZVJlZiBjYWxsYmFjaykgeyBub3RJbXBsZW1lbnRl
ZCgpOyB9Ci0gICAgdmlydHVhbCB2b2lkIGRyYWdGcm9tUG9pbnRUb1BvaW50KGxvbmcgc3RhcnRY
LCBsb25nIHN0YXJ0WSwgbG9uZyBlbmRYLCBsb25nIGVuZFksIGRvdWJsZSBkdXJhdGlvblNlY29u
ZHMsIEpTVmFsdWVSZWYgY2FsbGJhY2spIHsgbm90SW1wbGVtZW50ZWQoKTsgfQotICAgIHZpcnR1
YWwgdm9pZCBsb25nUHJlc3NBdFBvaW50KGxvbmcgeCwgbG9uZyB5LCBKU1ZhbHVlUmVmIGNhbGxi
YWNrKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdG91Y2hEb3duQXRQ
b2ludChsb25nLCBsb25nLCBsb25nLCBKU1ZhbHVlUmVmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgbGlmdFVwQXRQb2ludChsb25nLCBsb25nLCBsb25nLCBKU1ZhbHVl
UmVmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2luZ2xlVGFwQXRQ
b2ludChsb25nLCBsb25nLCBKU1ZhbHVlUmVmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc2luZ2xlVGFwQXRQb2ludFdpdGhNb2RpZmllcnMobG9uZywgbG9uZywgSlNW
YWx1ZVJlZiwgSlNWYWx1ZVJlZikgeyBub3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCB2
b2lkIHR3b0ZpbmdlclNpbmdsZVRhcEF0UG9pbnQobG9uZywgbG9uZywgSlNWYWx1ZVJlZikgeyBu
b3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCB2b2lkIGRvdWJsZVRhcEF0UG9pbnQobG9u
ZywgbG9uZywgZmxvYXQsIEpTVmFsdWVSZWYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZp
cnR1YWwgdm9pZCBkcmFnRnJvbVBvaW50VG9Qb2ludChsb25nLCBsb25nLCBsb25nLCBsb25nLCBk
b3VibGUsIEpTVmFsdWVSZWYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9p
ZCBsb25nUHJlc3NBdFBvaW50KGxvbmcsIGxvbmcsIEpTVmFsdWVSZWYpIHsgbm90SW1wbGVtZW50
ZWQoKTsgfQogCi0gICAgdmlydHVhbCB2b2lkIGFjdGl2YXRlQXRQb2ludChsb25nIHgsIGxvbmcg
eSwgSlNWYWx1ZVJlZiBjYWxsYmFjaykgeyBub3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVh
bCB2b2lkIGFjdGl2YXRlQXRQb2ludChsb25nLCBsb25nLCBKU1ZhbHVlUmVmKSB7IG5vdEltcGxl
bWVudGVkKCk7IH0KIAogICAgIC8vIEtleWJvYXJkCiAKICAgICB2aXJ0dWFsIHZvaWQgZW50ZXJU
ZXh0KEpTU3RyaW5nUmVmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQg
dHlwZUNoYXJhY3RlclVzaW5nSGFyZHdhcmVLZXlib2FyZChKU1N0cmluZ1JlZiBjaGFyYWN0ZXIs
IEpTVmFsdWVSZWYgY2FsbGJhY2spIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwg
dm9pZCB0eXBlQ2hhcmFjdGVyVXNpbmdIYXJkd2FyZUtleWJvYXJkKEpTU3RyaW5nUmVmLCBKU1Zh
bHVlUmVmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBrZXlEb3du
KEpTU3RyaW5nUmVmIGNoYXJhY3RlciwgSlNWYWx1ZVJlZiBtb2RpZmllckFycmF5KSB7IG5vdElt
cGxlbWVudGVkKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgdG9nZ2xlQ2Fwc0xvY2soSlNWYWx1ZVJl
ZiBjYWxsYmFjaykgeyBub3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCB2b2lkIGtleURv
d24oSlNTdHJpbmdSZWYsIEpTVmFsdWVSZWYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZp
cnR1YWwgdm9pZCB0b2dnbGVDYXBzTG9jayhKU1ZhbHVlUmVmKSB7IG5vdEltcGxlbWVudGVkKCk7
IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJv
b2wpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRTcGVsbENoZWNr
ZXJSZXN1bHRzKEpTVmFsdWVSZWYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBrZXlib2FyZElzQXV0b21hdGljYWxseVNoaWZ0ZWQoKSBjb25zdApAQCAtMTc3LDcgKzE3
Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQga2V5Ym9hcmRBY2Nlc3NvcnlCYXJOZXh0
KCkgeyBub3RJbXBsZW1lbnRlZCgpOyB9CiAgICAgdmlydHVhbCB2b2lkIGtleWJvYXJkQWNjZXNz
b3J5QmFyUHJldmlvdXMoKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KIAotICAgIHZpcnR1YWwgdm9p
ZCBhcHBseUF1dG9jb3JyZWN0aW9uKEpTU3RyaW5nUmVmIG5ld1N0cmluZywgSlNTdHJpbmdSZWYg
b2xkU3RyaW5nLCBKU1ZhbHVlUmVmIGNhbGxiYWNrKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgYXBwbHlBdXRvY29ycmVjdGlvbihKU1N0cmluZ1JlZiwgSlNTdHJpbmdS
ZWYsIEpTVmFsdWVSZWYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogCiAgICAgdmlydHVhbCBib29s
IGlzU2hvd2luZ0tleWJvYXJkKCkgY29uc3QgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzSW5wdXRTZXNzaW9uKCkgY29uc3QgeyBub3RJbXBs
ZW1lbnRlZCgpOyByZXR1cm4gZmFsc2U7IH0KQEAgLTE4Niw1OSArMTg2LDU5IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCBzZXRLZXlib2FyZElucHV0TW9kZUlkZW50aWZpZXIoSlNTdHJp
bmdSZWYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogCi0gICAgdmlydHVhbCB2b2lkIHJlcGxhY2VU
ZXh0QXRSYW5nZShKU1N0cmluZ1JlZiwgaW50IGxvY2F0aW9uLCBpbnQgbGVuZ3RoKSB7IG5vdElt
cGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVwbGFjZVRleHRBdFJhbmdlKEpTU3Ry
aW5nUmVmLCBpbnQsIGludCkgeyBub3RJbXBsZW1lbnRlZCgpOyB9CiAKICAgICB2aXJ0dWFsIGJv
b2wgd2luZG93SXNLZXkoKSBjb25zdCB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiBmYWxzZTsg
fQogICAgIHZpcnR1YWwgdm9pZCBzZXRXaW5kb3dJc0tleShib29sKSB7IG5vdEltcGxlbWVudGVk
KCk7IH0KIAogICAgIC8vIFN0eWx1cwogCi0gICAgdmlydHVhbCB2b2lkIHN0eWx1c0Rvd25BdFBv
aW50KGxvbmcgeCwgbG9uZyB5LCBmbG9hdCBhemltdXRoQW5nbGUsIGZsb2F0IGFsdGl0dWRlQW5n
bGUsIGZsb2F0IHByZXNzdXJlLCBKU1ZhbHVlUmVmIGNhbGxiYWNrKSB7IG5vdEltcGxlbWVudGVk
KCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc3R5bHVzTW92ZVRvUG9pbnQobG9uZyB4LCBsb25nIHks
IGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0aXR1ZGVBbmdsZSwgZmxvYXQgcHJlc3N1cmUs
IEpTVmFsdWVSZWYgY2FsbGJhY2spIHsgbm90SW1wbGVtZW50ZWQoKTsgfQotICAgIHZpcnR1YWwg
dm9pZCBzdHlsdXNVcEF0UG9pbnQobG9uZyB4LCBsb25nIHksIEpTVmFsdWVSZWYgY2FsbGJhY2sp
IHsgbm90SW1wbGVtZW50ZWQoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBzdHlsdXNUYXBBdFBvaW50
KGxvbmcgeCwgbG9uZyB5LCBmbG9hdCBhemltdXRoQW5nbGUsIGZsb2F0IGFsdGl0dWRlQW5nbGUs
IGZsb2F0IHByZXNzdXJlLCBKU1ZhbHVlUmVmIGNhbGxiYWNrKSB7IG5vdEltcGxlbWVudGVkKCk7
IH0KLSAgICB2aXJ0dWFsIHZvaWQgc3R5bHVzVGFwQXRQb2ludFdpdGhNb2RpZmllcnMobG9uZyB4
LCBsb25nIHksIGZsb2F0IGF6aW11dGhBbmdsZSwgZmxvYXQgYWx0aXR1ZGVBbmdsZSwgZmxvYXQg
cHJlc3N1cmUsIEpTVmFsdWVSZWYgbW9kaWZpZXJBcnJheSwgSlNWYWx1ZVJlZiBjYWxsYmFjaykg
eyBub3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCB2b2lkIHN0eWx1c0Rvd25BdFBvaW50
KGxvbmcsIGxvbmcsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIEpTVmFsdWVSZWYpIHsgbm90SW1wbGVt
ZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBzdHlsdXNNb3ZlVG9Qb2ludChsb25nLCBsb25n
LCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBKU1ZhbHVlUmVmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgc3R5bHVzVXBBdFBvaW50KGxvbmcsIGxvbmcsIEpTVmFsdWVSZWYp
IHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBzdHlsdXNUYXBBdFBvaW50
KGxvbmcsIGxvbmcsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIEpTVmFsdWVSZWYpIHsgbm90SW1wbGVt
ZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBzdHlsdXNUYXBBdFBvaW50V2l0aE1vZGlmaWVy
cyhsb25nLCBsb25nLCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBKU1ZhbHVlUmVmLCBKU1ZhbHVlUmVm
KSB7IG5vdEltcGxlbWVudGVkKCk7IH0KIAogICAgIC8vIEV2ZW50IFN0cmVhbQogCi0gICAgdmly
dHVhbCB2b2lkIHNlbmRFdmVudFN0cmVhbShKU1N0cmluZ1JlZiBldmVudHNKU09OLCBKU1ZhbHVl
UmVmIGNhbGxiYWNrKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcGxh
eUJhY2tFdmVudFN0cmVhbShKU1N0cmluZ1JlZiBzdHJlYW0sIEpTVmFsdWVSZWYgY2FsbGJhY2sp
IHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZW5kRXZlbnRTdHJlYW0o
SlNTdHJpbmdSZWYsIEpTVmFsdWVSZWYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1
YWwgdm9pZCBwbGF5QmFja0V2ZW50U3RyZWFtKEpTU3RyaW5nUmVmLCBKU1ZhbHVlUmVmKSB7IG5v
dEltcGxlbWVudGVkKCk7IH0KIAogICAgIC8vIEZvcm0gQ29udHJvbHMKICAgICAKLSAgICB2aXJ0
dWFsIHZvaWQgZGlzbWlzc0ZpbGVQaWNrZXIoSlNWYWx1ZVJlZiBjYWxsYmFjaykgeyBub3RJbXBs
ZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCB2b2lkIGRpc21pc3NGaWxlUGlja2VyKEpTVmFsdWVS
ZWYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNzRm9ybUFj
Y2Vzc29yeVZpZXcoKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2Vs
ZWN0Rm9ybUFjY2Vzc29yeVBpY2tlclJvdyhsb25nKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgc2VsZWN0Rm9ybUFjY2Vzc29yeUhhc0NoZWNrZWRJdGVtQXRSb3cobG9u
ZykgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIEpTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiB0ZXh0Q29udGVudFR5cGUoKSBjb25zdCB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVy
biBudWxscHRyOyB9CiAgICAgdmlydHVhbCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gc2VsZWN0
Rm9ybVBvcG92ZXJUaXRsZSgpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIG51bGxw
dHI7IH0KICAgICB2aXJ0dWFsIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBmb3JtSW5wdXRMYWJl
bCgpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIG51bGxwdHI7IH0KLSAgICB2aXJ0
dWFsIHZvaWQgc2V0VGltZVBpY2tlclZhbHVlKGxvbmcgaG91ciwgbG9uZyBtaW51dGUpIHsgbm90
SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRUaW1lUGlja2VyVmFsdWUobG9u
ZywgbG9uZykgeyBub3RJbXBsZW1lbnRlZCgpOyB9CiAgICAgdmlydHVhbCBkb3VibGUgdGltZVBp
Y2tlclZhbHVlSG91cigpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIC0xOyB9CiAg
ICAgdmlydHVhbCBkb3VibGUgdGltZVBpY2tlclZhbHVlTWludXRlKCkgY29uc3QgeyBub3RJbXBs
ZW1lbnRlZCgpOyByZXR1cm4gLTE7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93aW5nRGF0ZVRp
bWVQaWNrZXIoKSBjb25zdCB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgZG91YmxlIGRhdGVUaW1lUGlja2VyVmFsdWUoKSBjb25zdCB7IG5vdEltcGxlbWVu
dGVkKCk7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBib29sIGlzU2hvd2luZ0RhdGFMaXN0U3Vn
Z2VzdGlvbnMoKSBjb25zdCB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgSlNPYmplY3RSZWYgY2FsZW5kYXJUeXBlKCkgY29uc3QgeyBub3RJbXBsZW1lbnRl
ZCgpOyByZXR1cm4gbnVsbHB0cjsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXREZWZhdWx0Q2FsZW5k
YXJUeXBlKEpTU3RyaW5nUmVmIGNhbGVuZGFySWRlbnRpZmllciwgSlNTdHJpbmdSZWYgbG9jYWxl
SWRlbnRpZmllcikgeyBub3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCB2b2lkIHNldERl
ZmF1bHRDYWxlbmRhclR5cGUoSlNTdHJpbmdSZWYsIEpTU3RyaW5nUmVmKSB7IG5vdEltcGxlbWVu
dGVkKCk7IH0KICAgICB2aXJ0dWFsIEpTT2JqZWN0UmVmIGlucHV0Vmlld0JvdW5kcygpIGNvbnN0
IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2aXJ0dWFsIHZvaWQg
YWN0aXZhdGVEYXRhTGlzdFN1Z2dlc3Rpb24odW5zaWduZWQsIEpTVmFsdWVSZWYpIHsgbm90SW1w
bGVtZW50ZWQoKTsgfQogCiAgICAgLy8gRmluZCBpbiBQYWdlCiAKLSAgICB2aXJ0dWFsIHZvaWQg
ZmluZFN0cmluZyhKU1N0cmluZ1JlZiwgdW5zaWduZWQgbG9uZyBvcHRpb25zLCB1bnNpZ25lZCBs
b25nIG1heENvdW50KSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZmlu
ZFN0cmluZyhKU1N0cmluZ1JlZiwgdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZykgeyBub3RJ
bXBsZW1lbnRlZCgpOyB9CiAKICAgICAvLyBBY2Nlc3NpYmlsaXR5CiAKLSAgICB2aXJ0dWFsIHZv
aWQgc2ltdWxhdGVBY2Nlc3NpYmlsaXR5U2V0dGluZ3NDaGFuZ2VOb3RpZmljYXRpb24oSlNWYWx1
ZVJlZiBjYWxsYmFjaykgeyBub3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCB2b2lkIHNp
bXVsYXRlQWNjZXNzaWJpbGl0eVNldHRpbmdzQ2hhbmdlTm90aWZpY2F0aW9uKEpTVmFsdWVSZWYp
IHsgbm90SW1wbGVtZW50ZWQoKTsgfQogICAgIHZpcnR1YWwgdm9pZCByZXRyaWV2ZVNwZWFrU2Vs
ZWN0aW9uQ29udGVudChKU1ZhbHVlUmVmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KICAgICB2aXJ0
dWFsIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBhY2Nlc3NpYmlsaXR5U3BlYWtTZWxlY3Rpb25D
b250ZW50KCkgY29uc3QgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gbnVsbHB0cjsgfQogICAg
IHZpcnR1YWwgSlNPYmplY3RSZWYgY29udGVudHNPZlVzZXJJbnRlcmZhY2VJdGVtKEpTU3RyaW5n
UmVmKSBjb25zdCB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiBudWxscHRyOyB9CiAKICAgICAv
LyBTd2lwZQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luQmFja1N3aXBlKEpTVmFsdWVSZWYgY2Fs
bGJhY2spIHsgbm90SW1wbGVtZW50ZWQoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBjb21wbGV0ZUJh
Y2tTd2lwZShKU1ZhbHVlUmVmIGNhbGxiYWNrKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgYmVnaW5CYWNrU3dpcGUoSlNWYWx1ZVJlZikgeyBub3RJbXBsZW1lbnRlZCgp
OyB9CisgICAgdmlydHVhbCB2b2lkIGNvbXBsZXRlQmFja1N3aXBlKEpTVmFsdWVSZWYpIHsgbm90
SW1wbGVtZW50ZWQoKTsgfQogCiAgICAgLy8gQ2hpbGQgVmlldyBDb250cm9sbGVycwogCkBAIC0y
NDksNyArMjQ5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzRGlzbWlzc2luZ01l
bnUoKSBjb25zdCB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgYm9vbCBpc1Nob3dpbmdNZW51KCkgY29uc3QgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4g
ZmFsc2U7IH0KLSAgICB2aXJ0dWFsIEpTT2JqZWN0UmVmIHJlY3RGb3JNZW51QWN0aW9uKEpTU3Ry
aW5nUmVmIGFjdGlvbikgY29uc3QgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gbnVsbHB0cjsg
fQorICAgIHZpcnR1YWwgSlNPYmplY3RSZWYgcmVjdEZvck1lbnVBY3Rpb24oSlNTdHJpbmdSZWYp
IGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2aXJ0dWFs
IEpTT2JqZWN0UmVmIG1lbnVSZWN0KCkgY29uc3QgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4g
bnVsbHB0cjsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1Nob3dpbmdDb250ZXh0TWVudSgpIGNvbnN0
IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIGZhbHNlOyB9CiAKQEAgLTI3NCw4ICsyNzQsOCBA
QCBwdWJsaWM6CiAKICAgICAvLyBBdHRhY2htZW50IEVsZW1lbnRzCiAKLSAgICB2aXJ0dWFsIEpT
T2JqZWN0UmVmIGF0dGFjaG1lbnRJbmZvKEpTU3RyaW5nUmVmIGF0dGFjaG1lbnRJZGVudGlmaWVy
KSB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiBudWxscHRyOyB9Ci0gICAgdmlydHVhbCB2b2lk
IGluc2VydEF0dGFjaG1lbnRGb3JGaWxlUGF0aChKU1N0cmluZ1JlZiBmaWxlUGF0aCwgSlNTdHJp
bmdSZWYgY29udGVudFR5cGUsIEpTVmFsdWVSZWYgY2FsbGJhY2spIHsgbm90SW1wbGVtZW50ZWQo
KTsgfQorICAgIHZpcnR1YWwgSlNPYmplY3RSZWYgYXR0YWNobWVudEluZm8oSlNTdHJpbmdSZWYp
IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
aW5zZXJ0QXR0YWNobWVudEZvckZpbGVQYXRoKEpTU3RyaW5nUmVmLCBKU1N0cmluZ1JlZiwgSlNW
YWx1ZVJlZikgeyBub3RJbXBsZW1lbnRlZCgpOyB9CiAKICAgICAvLyBDYWxsYmFja3MKICAgICAK
</data>

          </attachment>
      

    </bug>

</bugzilla>