<?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>128346</bug_id>
          
          <creation_ts>2014-02-06 17:13:58 -0800</creation_ts>
          <short_desc>Errors while compiling WebInspectorUI with ASAN</short_desc>
          <delta_ts>2015-01-20 11:13:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WORKSFORME</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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>977635</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-02-06 17:13:58 -0800</bug_when>
    <thetext>=== BUILD TARGET WebInspectorUI OF PROJECT WebInspectorUI WITH CONFIGURATION Release ===

Check dependencies

PhaseScriptExecution Copy\ User\ Interface\ Resources /Volumes/Data/home/mmaxfield/Build/WebInspectorUI.build/Release/WebInspectorUI.build/Script-1C60FF1214E6D9AF006CD77D.sh
    cd /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Source/WebInspectorUI
    /bin/sh -c /Volumes/Data/home/mmaxfield/Build/WebInspectorUI.build/Release/WebInspectorUI.build/Script-1C60FF1214E6D9AF006CD77D.sh

AnalyzeShallow WebInspectorUI.c
    cd /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Source/WebInspectorUI
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -std=gnu99 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wmissing-prototypes -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-empty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wshorten-64-to-32 -Wpointer-sign -Wnewline-eof -DNDEBUG -DENGINEERING_BUILD=1 -DWEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST -DFRAMEWORK_NAME=WebInspectorUI -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -mmacosx-version-min=10.9 -g -Wno-sign-conversion -D__clang_analyzer__ -Xclang -analyzer-output=plist-multi-file -Xclang -analyzer-config -Xclang path-diagnostics-alternate=true -Xclang -analyzer-config -Xclang report-in-main-source-file=true -Xclang -analyzer-config -Xclang mode=shallow -Xclang -analyzer-checker -Xclang security.insecureAPI.UncheckedReturn -Xclang -analyzer-checker -Xclang security.insecureAPI.getpw -Xclang -analyzer-checker -Xclang security.insecureAPI.gets -Xclang -analyzer-checker -Xclang security.insecureAPI.mkstemp -Xclang -analyzer-checker -Xclang security.insecureAPI.mktemp -Xclang -analyzer-disable-checker -Xclang security.insecureAPI.rand -Xclang -analyzer-disable-checker -Xclang security.insecureAPI.strcpy -Xclang -analyzer-checker -Xclang security.insecureAPI.vfork -I/Volumes/Data/home/mmaxfield/Build/WebInspectorUI.build/Release/WebInspectorUI.build/WebInspectorUI.hmap -I/Volumes/Data/home/mmaxfield/Build/Release/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/ASAN.xctoolchain/usr/include -I/Volumes/Data/home/mmaxfield/Build/WebInspectorUI.build/Release/WebInspectorUI.build/DerivedSources/x86_64 -I/Volumes/Data/home/mmaxfield/Build/WebInspectorUI.build/Release/WebInspectorUI.build/DerivedSources -Wall -W -Wchar-subscripts -Wformat-security -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings -Wno-format-y2k -Wno-unused-parameter -Wexit-time-destructors -F/Volumes/Data/home/mmaxfield/Build/Release -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/System/Library/PrivateFrameworks -fsanitize=address -O1 -mllvm -asan-blacklist=/Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Tools/asan/webkit-asan-ignore.txt -Wno-error -fno-omit-frame-pointer -g -DUSE_SYSTEM_MALLOC=1 --analyze /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Source/WebInspectorUI/WebInspectorUI.c -o /Volumes/Data/home/mmaxfield/Build/WebInspectorUI.build/Release/WebInspectorUI.build/StaticAnalyzer/WebInspectorUI/WebInspectorUI/normal/x86_64/WebInspectorUI.plist
clang: error: &apos;-fsanitize-undefined-trap-on-error&apos; required with &apos;-fsanitize=address&apos; option
clang: error: unsupported argument &apos;address&apos; to option &apos;fsanitize=&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978515</commentid>
    <comment_count>1</comment_count>
      <attachid>223605</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2014-02-08 20:59:57 -0800</bug_when>
    <thetext>Created attachment 223605
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978516</commentid>
    <comment_count>2</comment_count>
      <attachid>223605</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2014-02-08 21:00:45 -0800</bug_when>
    <thetext>Comment on attachment 223605
patch

wrong bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983395</commentid>
    <comment_count>3</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-02-21 15:27:38 -0800</bug_when>
    <thetext>Still having problems building?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983408</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-02-21 15:41:39 -0800</bug_when>
    <thetext>Reopened so I can verify</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062817</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-01-20 11:13:28 -0800</bug_when>
    <thetext>The whole WebKit stack builds with ASan successfully now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223605</attachid>
            <date>2014-02-08 20:59:57 -0800</date>
            <delta_ts>2014-02-08 21:00:45 -0800</delta_ts>
            <desc>patch</desc>
            <filename>bug-128346-20140208205958.patch</filename>
            <type>text/plain</type>
            <size>22407</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA3
YTYyNWNlYzI3ZDI4NDljOTk3YTVkMGY2ZjBjMTdkNzlmMTBkNWI3Li5jMjAxNDQxMDQxZDU2ZGE3
ZjQyNTRmZWIwOWRmYmRmOGVhZGY4ODM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAxNC0wMi0wOCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBEYXRhR3JpZCBoZWFkZXIgc2hvdWxkIGJlICdwb3NpdGlv
bjogc3RpY2t5JyBpbnN0ZWFkIG9mIGEgc2VwYXJhdGUgdGFibGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODQzNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisJVGhlIGRhdGEgZ3JpZCBwcmV2aW91c2x5IGhhZCB0d28g
dGFibGVzOiBvbmUgdGhhdCBjb250YWluZWQKKwlyZXNpemFibGUgYW5kIGNsaWNrYWJsZSBoZWFk
ZXJzIHRoYXQgZGlkbid0IHNjcm9sbCwgYW5kIG9uZQorCXdyYXBwZWQgaW4gYSBzY3JvbGwgY29u
dGFpbmVyIHRoYXQgY291bGQgYmUgc2Nyb2xsZWQuIFRoaXMgY2FuIG5vdworCWJlIGltcGxlbWVu
dGVkIG1vcmUgc2ltcGx5IGJ5IHB1dHRpbmcgdGhlIGhlYWRlciBjZWxscyBpbnRvIGEKKwkncG9z
aXRpb246IC13ZWJraXQtc3RpY2t5JyB0aGVhZCBlbGVtZW50IGFuZCB1c2luZyBhIHNpbmdsZSB0
YWJsZS4KKwkKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0RhdGFHcmlkLmNzczogTWFrZSB0aGUg
dG9wLWxldmVsIGRpdiB0aGUgc2Nyb2xsCisJY29udGFpbmVyLiAgQ29uc29saWRhdGUgc3R5bGVz
IHRoYXQgdXNlZCB0byBiZWxvbmcgb24gdGhlIGRpc2NyZXRlCisJc2Nyb2xsIGNvbnRhaW5lciBk
aXYsIGFuZCBzdHlsZXMgZHVwbGljYXRlZCBiZXR3ZWVuIHR3byB0YWJsZXMuCisKKyAgICAgICAg
KC5kYXRhLWdyaWQpOgorICAgICAgICAoLmRhdGEtZ3JpZCB0YWJsZSk6CisgICAgICAgICguZGF0
YS1ncmlkIHRhYmxlIHRoZWFkKToKKyAgICAgICAgKC5kYXRhLWdyaWQgdGFibGUuZGF0YSB0Ym9k
eSA+IHRyKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRGF0YUdyaWQuanM6IFJlbW92ZWQg
dGhlIGR1cGxpY2F0ZSB0YWJsZSwgYW5kCisJcmVuYW1lIGVsZW1lbnQgcHJvcGVydGllcyBhbmQg
dmFyaWFibGVzIG5vdyB0aGF0IHRoZXkgZG9uJ3QgbmVlZAorCXRvIGRpc3RpZ3Vpc2ggYmV0d2Vl
biB0aGUgJ2hlYWRlcicgYW5kICdkYXRhJyB0YWJsZXMsIHdoaWNoIGFyZQorCW5vdyBvbmUgaW4g
dGhlIHNhbWUuCisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlLnVwZGF0ZUxheW91dCk6IFJld3JpdGUgdGhl
IGlubmVyCisJbG9vcCB0byB1c2UgZm9yLi5vZiBhbmQgYmUgZWFzaWVyIHRvIGZvbGxvdy4KKwor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZS5nZXQgc2Nyb2xsQ29udGFp
bmVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUuaXNTY3JvbGxl
ZFRvTGFzdFJvdyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlLnNj
cm9sbFRvTGFzdFJvdyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBl
Ll9wb3NpdGlvblJlc2l6ZXJFbGVtZW50cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YUdy
aWQucHJvdG90eXBlLnNvcnROb2Rlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YUdyaWQu
cHJvdG90eXBlLmRhdGFHcmlkTm9kZUZyb21Qb2ludCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RGF0YUdyaWQucHJvdG90eXBlLmlzQ29sdW1uU29ydENvbHVtbik6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlLmhlYWRlclRhYmxlSGVhZGVyKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUuX3Jlc2l6ZXJEcmFnZ2luZyk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLnByb3RvdHlwZS5fYXR0YWNoKToKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL0xheWVyVHJlZURhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkxheWVyVHJlZURhdGFHcmlkLnByb3RvdHlwZS5fdXBkYXRlQ2hpbGRyZW4pOgorCiAyMDE0
LTAyLTA3ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IHNob3cgcHJvYmUgc2V0cyBmb3Igc2NyaXB0IGNvbnRlbnQgdmlld3MgaW4gdGhlIGRl
dGFpbHMgc2lkZWJhcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvRGF0YUdyaWQuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
RGF0YUdyaWQuY3NzCmluZGV4IDBhMmUyMTkwODg4M2Y4ZGU3NzA4NzU5MjE0N2VjNmUxYjUwZWM0
YzAuLmQ3ZmI4ZmZkNDA2NGYyOGUwMjY0ZjMxZjdiN2Y2Yjg1ZTNhMjY1MGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RhdGFHcmlkLmNzcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9EYXRhR3JpZC5jc3MKQEAgLTI3LDYg
KzI3LDggQEAKICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgYm9yZGVyOiAxcHggc29saWQg
I2FhYTsKICAgICBvdXRsaW5lOiBub25lOworICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKKyAgICBv
dmVyZmxvdy15OiBvdmVybGF5OwogfQogCiAuZGF0YS1ncmlkIC5oaWdobGlnaHQgewpAQCAtMzgs
MjcgKzQwLDMyIEBACiB9CiAKIC5kYXRhLWdyaWQgdGFibGUgeworICAgIHBvc2l0aW9uOiBhYnNv
bHV0ZTsKKyAgICB3aWR0aDogMTAwJTsKKyAgICBoZWlnaHQ6IDEwMCU7CiAgICAgdGFibGUtbGF5
b3V0OiBmaXhlZDsKKworICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRp
ZW50KHRvcCwgd2hpdGUsIHdoaXRlIDUwJSwgcmdiKDI0MywgMjQ2LCAyNTApIDUwJSwgcmdiKDI0
MywgMjQ2LCAyNTApKTsKKyAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMzJweDsKKworICAgIGJv
cmRlci10b3A6IDAgbm9uZSB0cmFuc3BhcmVudDsKICAgICBib3JkZXItc3BhY2luZzogMDsKICAg
ICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwotICAgIHdpZHRoOiAxMDAlOworCiAgICAgZm9u
dC1zaXplOiAxMHB4OwogICAgIGZvbnQtZmFtaWx5OiBMdWNpZGEgR3JhbmRlLCBzYW5zLXNlcmlm
OwogfQogCi0uZGF0YS1ncmlkIC5kYXRhLWNvbnRhaW5lciB7Ci0gICAgcG9zaXRpb246IGFic29s
dXRlOwotICAgIHRvcDogMTZweDsKLSAgICBib3R0b206IDA7Ci0gICAgbGVmdDogMDsKLSAgICBy
aWdodDogMDsKLSAgICBvdmVyZmxvdy14OiBoaWRkZW47Ci0gICAgb3ZlcmZsb3cteTogb3Zlcmxh
eTsKKy5kYXRhLWdyaWQgdGFibGUgdGhlYWQgeworICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNr
eTsKKyAgICB0b3A6IDBweDsKIH0KIAotLmRhdGEtZ3JpZC5pbmxpbmUgLmRhdGEtY29udGFpbmVy
IHsKLSAgICBwb3NpdGlvbjogc3RhdGljOwotfQorLyoKKy5kYXRhLWdyaWQgdGhlYWQgeworICAg
IHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTsKKyAgICB0b3A6IDA7Cit9Ki8KIAogLmRhdGEtZ3Jp
ZC5pbmxpbmUgewogICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxODEsIDE4MSwgMTgxKTsKQEAg
LTY4LDEwICs3NSw2IEBACiAgICAgZGlzcGxheTogbm9uZTsKIH0KIAotLmRhdGEtZ3JpZC5uby1o
ZWFkZXIgLmRhdGEtY29udGFpbmVyIHsKLSAgICB0b3A6IDA7Ci19Ci0KIC5kYXRhLWdyaWQgdGgg
ewogICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKQEAg
LTExOCwyNCArMTIxLDExIEBACiAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogfQogCi0uZGF0
YS1ncmlkIHRhYmxlLmRhdGEgewotICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAgICBsZWZ0OiAw
OwotICAgIHRvcDogMDsKLSAgICByaWdodDogMDsKLSAgICBib3R0b206IDA7Ci0gICAgaGVpZ2h0
OiAxMDAlOwotICAgIGJvcmRlci10b3A6IDAgbm9uZSB0cmFuc3BhcmVudDsKLSAgICBiYWNrZ3Jv
dW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHdoaXRlLCB3aGl0ZSA1MCUs
IHJnYigyNDMsIDI0NiwgMjUwKSA1MCUsIHJnYigyNDMsIDI0NiwgMjUwKSk7Ci0gICAgYmFja2dy
b3VuZC1zaXplOiAxMDAlIDMycHg7Ci0gICAgdGFibGUtbGF5b3V0OiBmaXhlZDsKLX0KLQogLmRh
dGEtZ3JpZC5pbmxpbmUgdGFibGUuZGF0YSB7CiAgICAgcG9zaXRpb246IHN0YXRpYzsKIH0KIAot
LmRhdGEtZ3JpZCB0YWJsZS5kYXRhIHRyIHsKKy5kYXRhLWdyaWQgdGFibGUuZGF0YSB0Ym9keSA+
IHRyIHsKICAgICBkaXNwbGF5OiBub25lOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9EYXRhR3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0RhdGFHcmlkLmpzCmluZGV4IDFmZWNiYjUyZTY3NTk2MWFlM2U0ZTJl
MDYzOWE5NDNkODExNTQ5YTIuLjgwOWZlYjk3MmE2NGRjYTA1ZTczMTk4OTIxNjUwNWI0NDE5Y2Ey
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RhdGFH
cmlkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RhdGFHcmlk
LmpzCkBAIC00Nyw0MyArNDcsMzIgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkID0gZnVuY3Rpb24o
Y29sdW1uc0RhdGEsIGVkaXRDYWxsYmFjaywgZGVsZXRlQ2FsbGJhY2spCiAgICAgdGhpcy5lbGVt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9rZXlEb3duLmJpbmQodGhpcyks
IGZhbHNlKTsKICAgICB0aGlzLmVsZW1lbnQuY29weUhhbmRsZXIgPSB0aGlzOwogCi0gICAgdGhp
cy5faGVhZGVyVGFibGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKTsK
LSAgICB0aGlzLl9oZWFkZXJUYWJsZUVsZW1lbnQuY2xhc3NOYW1lID0gImhlYWRlciI7Ci0gICAg
dGhpcy5faGVhZGVyVGFibGVDb2x1bW5Hcm91cEVsZW1lbnQgPSB0aGlzLl9oZWFkZXJUYWJsZUVs
ZW1lbnQuY3JlYXRlQ2hpbGQoImNvbGdyb3VwIik7Ci0gICAgdGhpcy5faGVhZGVyVGFibGVCb2R5
RWxlbWVudCA9IHRoaXMuX2hlYWRlclRhYmxlRWxlbWVudC5jcmVhdGVDaGlsZCgidGJvZHkiKTsK
LSAgICB0aGlzLl9oZWFkZXJUYWJsZVJvd0VsZW1lbnQgPSB0aGlzLl9oZWFkZXJUYWJsZUJvZHlF
bGVtZW50LmNyZWF0ZUNoaWxkKCJ0ciIpOwotICAgIHRoaXMuX2hlYWRlclRhYmxlQ2VsbEVsZW1l
bnRzID0gbmV3IE1hcDsKKyAgICB0aGlzLl90YWJsZUVsZW1lbnQgPSB0aGlzLmVsZW1lbnQuY3Jl
YXRlQ2hpbGQoInRhYmxlIik7CisgICAgdGhpcy5fdGFibGVFbGVtZW50LmNsYXNzTmFtZSA9ICJk
YXRhIjsKIAotICAgIHRoaXMuX3Njcm9sbENvbnRhaW5lckVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKLSAgICB0aGlzLl9zY3JvbGxDb250YWluZXJFbGVtZW50LmNsYXNz
TmFtZSA9ICJkYXRhLWNvbnRhaW5lciI7CisgICAgdGhpcy5fdGFibGVDb2x1bW5Hcm91cEVsZW1l
bnQgPSB0aGlzLl90YWJsZUVsZW1lbnQuY3JlYXRlQ2hpbGQoImNvbGdyb3VwIik7CisgICAgdGhp
cy5fdGFibGVIZWFkZXJFbGVtZW50ID0gdGhpcy5fdGFibGVFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0
aGVhZCIpOworICAgIHRoaXMuX3RhYmxlSGVhZGVyUm93RWxlbWVudCA9IHRoaXMuX3RhYmxlSGVh
ZGVyRWxlbWVudC5jcmVhdGVDaGlsZCgidHIiKTsKKyAgICB0aGlzLl90YWJsZUhlYWRlckNlbGxF
bGVtZW50cyA9IG5ldyBNYXA7CiAKLSAgICB0aGlzLl9kYXRhVGFibGVFbGVtZW50ID0gdGhpcy5f
c2Nyb2xsQ29udGFpbmVyRWxlbWVudC5jcmVhdGVDaGlsZCgidGFibGUiKTsKLSAgICB0aGlzLl9k
YXRhVGFibGVFbGVtZW50LmNsYXNzTmFtZSA9ICJkYXRhIjsKLQotICAgIHRoaXMuX2RhdGFUYWJs
ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fbW91c2VEb3duSW5E
YXRhVGFibGUuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fZGF0YVRhYmxlRWxlbWVudC5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2NsaWNrSW5EYXRhVGFibGUuYmluZCh0aGlzKSk7Ci0g
ICAgdGhpcy5fZGF0YVRhYmxlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIs
IHRoaXMuX2NvbnRleHRNZW51SW5EYXRhVGFibGUuYmluZCh0aGlzKSwgdHJ1ZSk7CisgICAgdGhp
cy5fdGFibGVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX21vdXNl
RG93bkluRGF0YVRhYmxlLmJpbmQodGhpcykpOworICAgIHRoaXMuX3RhYmxlRWxlbWVudC5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2NsaWNrSW5EYXRhVGFibGUuYmluZCh0aGlzKSk7
CisgICAgdGhpcy5fdGFibGVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51Iiwg
dGhpcy5fY29udGV4dE1lbnVJbkRhdGFUYWJsZS5iaW5kKHRoaXMpLCB0cnVlKTsKIAogICAgIC8v
IEZJWE1FOiBBZGQgYSBjcmVhdGVDYWxsYmFjayB3aGljaCBpcyBkaWZmZXJlbnQgZnJvbSBlZGl0
Q2FsbGJhY2sgYW5kIGhhcyBkaWZmZXJlbnQKICAgICAvLyBiZWhhdmlvciB3aGVuIGNyZWF0aW5n
IGEgbmV3IG5vZGUuCiAgICAgaWYgKGVkaXRDYWxsYmFjaykgewotICAgICAgICB0aGlzLl9kYXRh
VGFibGVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNrIiwgdGhpcy5fb25kYmxjbGlj
ay5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX3RhYmxlRWxlbWVudC5hZGRFdmVu
dExpc3RlbmVyKCJkYmxjbGljayIsIHRoaXMuX29uZGJsY2xpY2suYmluZCh0aGlzKSwgZmFsc2Up
OwogICAgICAgICB0aGlzLl9lZGl0Q2FsbGJhY2sgPSBlZGl0Q2FsbGJhY2s7CiAgICAgfQogICAg
IGlmIChkZWxldGVDYWxsYmFjaykKICAgICAgICAgdGhpcy5fZGVsZXRlQ2FsbGJhY2sgPSBkZWxl
dGVDYWxsYmFjazsKIAotICAgIHRoaXMuX2RhdGFUYWJsZUNvbHVtbkdyb3VwRWxlbWVudCA9IHRo
aXMuX2hlYWRlclRhYmxlQ29sdW1uR3JvdXBFbGVtZW50LmNsb25lTm9kZSh0cnVlKTsKLSAgICB0
aGlzLl9kYXRhVGFibGVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2RhdGFUYWJsZUNvbHVtbkdy
b3VwRWxlbWVudCk7Ci0KICAgICAvLyBUaGlzIGVsZW1lbnQgaXMgdXNlZCBieSBEYXRhR3JpZE5v
ZGVzIHRvIG1hbmlwdWxhdGUgdGFibGUgcm93cyBhbmQgY2VsbHMuCi0gICAgdGhpcy5kYXRhVGFi
bGVCb2R5RWxlbWVudCA9IHRoaXMuX2RhdGFUYWJsZUVsZW1lbnQuY3JlYXRlQ2hpbGQoInRib2R5
Iik7Ci0gICAgdGhpcy5fZmlsbGVyUm93RWxlbWVudCA9IHRoaXMuZGF0YVRhYmxlQm9keUVsZW1l
bnQuY3JlYXRlQ2hpbGQoInRyIik7CisgICAgdGhpcy50YWJsZUJvZHlFbGVtZW50ID0gdGhpcy5f
dGFibGVFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0Ym9keSIpOworICAgIHRoaXMuX2ZpbGxlclJvd0Vs
ZW1lbnQgPSB0aGlzLnRhYmxlQm9keUVsZW1lbnQuY3JlYXRlQ2hpbGQoInRyIik7CiAgICAgdGhp
cy5fZmlsbGVyUm93RWxlbWVudC5jbGFzc05hbWUgPSAiZmlsbGVyIjsKIAotICAgIHRoaXMuZWxl
bWVudC5hcHBlbmRDaGlsZCh0aGlzLl9oZWFkZXJUYWJsZUVsZW1lbnQpOwotICAgIHRoaXMuZWxl
bWVudC5hcHBlbmRDaGlsZCh0aGlzLl9zY3JvbGxDb250YWluZXJFbGVtZW50KTsKLQogICAgIGZv
ciAodmFyIGNvbHVtbklkZW50aWZpZXIgaW4gY29sdW1uc0RhdGEpCiAgICAgICAgIHRoaXMuaW5z
ZXJ0Q29sdW1uKGNvbHVtbklkZW50aWZpZXIsIGNvbHVtbnNEYXRhW2NvbHVtbklkZW50aWZpZXJd
KTsKIApAQCAtNDA5LDIxICszOTgsMjEgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgaWYgKGNvbHVtbi5oYXMoImRpc2Nsb3N1cmUiKSkKICAgICAgICAgICAg
IHRoaXMuZGlzY2xvc3VyZUNvbHVtbklkZW50aWZpZXIgPSBjb2x1bW5JZGVudGlmaWVyOwogCi0g
ICAgICAgIHZhciBoZWFkZXJDb2x1bW5FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
Y29sIik7CisgICAgICAgIHZhciBjb2x1bW5FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiY29sIik7CiAgICAgICAgIGlmIChjb2x1bW4uaGFzKCJ3aWR0aCIpKQotICAgICAgICAgICAg
aGVhZGVyQ29sdW1uRWxlbWVudC5zdHlsZS53aWR0aCA9IGNvbHVtbi5nZXQoIndpZHRoIik7Ci0g
ICAgICAgIGNvbHVtbi5zZXQoImVsZW1lbnQiLCBoZWFkZXJDb2x1bW5FbGVtZW50KTsKLSAgICAg
ICAgdmFyIHJlZmVyZW5jZUVsZW1lbnQgPSB0aGlzLl9oZWFkZXJUYWJsZUNvbHVtbkdyb3VwRWxl
bWVudC5jaGlsZHJlbltpbnNlcnRpb25JbmRleF07Ci0gICAgICAgIHRoaXMuX2hlYWRlclRhYmxl
Q29sdW1uR3JvdXBFbGVtZW50Lmluc2VydEJlZm9yZShoZWFkZXJDb2x1bW5FbGVtZW50LCByZWZl
cmVuY2VFbGVtZW50KTsKKyAgICAgICAgICAgIGNvbHVtbkVsZW1lbnQuc3R5bGUud2lkdGggPSBj
b2x1bW4uZ2V0KCJ3aWR0aCIpOworICAgICAgICBjb2x1bW4uc2V0KCJlbGVtZW50IiwgY29sdW1u
RWxlbWVudCk7CisgICAgICAgIHZhciByZWZlcmVuY2VFbGVtZW50ID0gdGhpcy5fdGFibGVDb2x1
bW5Hcm91cEVsZW1lbnQuY2hpbGRyZW5baW5zZXJ0aW9uSW5kZXhdOworICAgICAgICB0aGlzLl90
YWJsZUNvbHVtbkdyb3VwRWxlbWVudC5pbnNlcnRCZWZvcmUoY29sdW1uRWxlbWVudCwgcmVmZXJl
bmNlRWxlbWVudCk7CiAKICAgICAgICAgdmFyIGhlYWRlckNlbGxFbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgidGgiKTsKICAgICAgICAgaGVhZGVyQ2VsbEVsZW1lbnQuY2xhc3NOYW1l
ID0gY29sdW1uSWRlbnRpZmllciArICItY29sdW1uIjsKICAgICAgICAgaGVhZGVyQ2VsbEVsZW1l
bnQuY29sdW1uSWRlbnRpZmllciA9IGNvbHVtbklkZW50aWZpZXI7CiAgICAgICAgIGlmIChjb2x1
bW4uaGFzKCJhbGlnbmVkIikpCiAgICAgICAgICAgICBoZWFkZXJDZWxsRWxlbWVudC5jbGFzc0xp
c3QuYWRkKGNvbHVtbi5nZXQoImFsaWduZWQiKSk7Ci0gICAgICAgIHRoaXMuX2hlYWRlclRhYmxl
Q2VsbEVsZW1lbnRzLnNldChjb2x1bW5JZGVudGlmaWVyLCBoZWFkZXJDZWxsRWxlbWVudCk7Ci0g
ICAgICAgIHZhciByZWZlcmVuY2VFbGVtZW50ID0gdGhpcy5faGVhZGVyVGFibGVSb3dFbGVtZW50
LmNoaWxkcmVuW2luc2VydGlvbkluZGV4XTsKLSAgICAgICAgdGhpcy5faGVhZGVyVGFibGVSb3dF
bGVtZW50Lmluc2VydEJlZm9yZShoZWFkZXJDZWxsRWxlbWVudCwgcmVmZXJlbmNlRWxlbWVudCk7
CisgICAgICAgIHRoaXMuX3RhYmxlSGVhZGVyQ2VsbEVsZW1lbnRzLnNldChjb2x1bW5JZGVudGlm
aWVyLCBoZWFkZXJDZWxsRWxlbWVudCk7CisgICAgICAgIHZhciByZWZlcmVuY2VFbGVtZW50ID0g
dGhpcy5fdGFibGVIZWFkZXJSb3dFbGVtZW50LmNoaWxkcmVuW2luc2VydGlvbkluZGV4XTsKKyAg
ICAgICAgdGhpcy5fdGFibGVIZWFkZXJSb3dFbGVtZW50Lmluc2VydEJlZm9yZShoZWFkZXJDZWxs
RWxlbWVudCwgcmVmZXJlbmNlRWxlbWVudCk7CiAKICAgICAgICAgdmFyIGRpdiA9IGhlYWRlckNl
bGxFbGVtZW50LmNyZWF0ZUNoaWxkKCJkaXYiKTsKICAgICAgICAgaWYgKGNvbHVtbi5oYXMoInRp
dGxlRE9NRnJhZ21lbnQiKSkKQEAgLTQ2MSwxMiArNDUwLDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFH
cmlkLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGhlYWRlckNlbGxFbGVtZW50LmNsYXNzTGlz
dC5hZGQoImNvbGxhcHNlciIpOwogICAgICAgICB9CiAKLSAgICAgICAgdGhpcy5faGVhZGVyVGFi
bGVDb2x1bW5Hcm91cEVsZW1lbnQuc3BhbiA9IHRoaXMub3JkZXJlZENvbHVtbnMubGVuZ3RoOwot
Ci0gICAgICAgIHZhciBkYXRhQ29sdW1uRWxlbWVudCA9IGhlYWRlckNvbHVtbkVsZW1lbnQuY2xv
bmVOb2RlKCk7Ci0gICAgICAgIHZhciByZWZlcmVuY2VFbGVtZW50ID0gdGhpcy5fZGF0YVRhYmxl
Q29sdW1uR3JvdXBFbGVtZW50LmNoaWxkcmVuW2luc2VydGlvbkluZGV4XTsKLSAgICAgICAgdGhp
cy5fZGF0YVRhYmxlQ29sdW1uR3JvdXBFbGVtZW50Lmluc2VydEJlZm9yZShkYXRhQ29sdW1uRWxl
bWVudCwgcmVmZXJlbmNlRWxlbWVudCk7Ci0gICAgICAgIGNvbHVtbi5zZXQoImJvZHlFbGVtZW50
IiwgZGF0YUNvbHVtbkVsZW1lbnQpOworICAgICAgICB0aGlzLl90YWJsZUNvbHVtbkdyb3VwRWxl
bWVudC5zcGFuID0gdGhpcy5vcmRlcmVkQ29sdW1ucy5sZW5ndGg7CiAKICAgICAgICAgdmFyIGZp
bGxlckNlbGxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTsKICAgICAgICAg
ZmlsbGVyQ2VsbEVsZW1lbnQuY2xhc3NOYW1lID0gY29sdW1uSWRlbnRpZmllciArICItY29sdW1u
IjsKQEAgLTUwNCwxMyArNDg4LDEyIEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUg
PSB7CiAgICAgICAgIGlmIChyZW1vdmVkQ29sdW1uLmhhcygic29ydCIpKQogICAgICAgICAgICAg
ZGVsZXRlIHRoaXMuX3NvcnRDb2x1bW5DZWxsOwogCi0gICAgICAgIHRoaXMuX2hlYWRlclRhYmxl
Q2VsbEVsZW1lbnRzLmRlbGV0ZShjb2x1bW5JZGVudGlmaWVyKTsKLSAgICAgICAgdGhpcy5faGVh
ZGVyVGFibGVSb3dFbGVtZW50LmNoaWxkcmVuW3JlbW92ZWRPcmRpbmFsXS5yZW1vdmUoKTsKLSAg
ICAgICAgdGhpcy5faGVhZGVyVGFibGVDb2x1bW5Hcm91cEVsZW1lbnQuY2hpbGRyZW5bcmVtb3Zl
ZE9yZGluYWxdLnJlbW92ZSgpOwotICAgICAgICB0aGlzLl9kYXRhVGFibGVDb2x1bW5Hcm91cEVs
ZW1lbnQuY2hpbGRyZW5bcmVtb3ZlZE9yZGluYWxdLnJlbW92ZSgpOworICAgICAgICB0aGlzLl90
YWJsZUhlYWRlckNlbGxFbGVtZW50cy5kZWxldGUoY29sdW1uSWRlbnRpZmllcik7CisgICAgICAg
IHRoaXMuX3RhYmxlSGVhZGVyUm93RWxlbWVudC5jaGlsZHJlbltyZW1vdmVkT3JkaW5hbF0ucmVt
b3ZlKCk7CisgICAgICAgIHRoaXMuX3RhYmxlQ29sdW1uR3JvdXBFbGVtZW50LmNoaWxkcmVuW3Jl
bW92ZWRPcmRpbmFsXS5yZW1vdmUoKTsKICAgICAgICAgdGhpcy5fZmlsbGVyUm93RWxlbWVudC5j
aGlsZHJlbltyZW1vdmVkT3JkaW5hbF0ucmVtb3ZlKCk7CiAKLSAgICAgICAgdGhpcy5faGVhZGVy
VGFibGVDb2x1bW5Hcm91cEVsZW1lbnQuc3BhbiA9IHRoaXMub3JkZXJlZENvbHVtbnMubGVuZ3Ro
OworICAgICAgICB0aGlzLl90YWJsZUNvbHVtbkdyb3VwRWxlbWVudC5zcGFuID0gdGhpcy5vcmRl
cmVkQ29sdW1ucy5sZW5ndGg7CiAKICAgICAgICAgZm9yICh2YXIgY2hpbGQgb2YgdGhpcy5jaGls
ZHJlbikKICAgICAgICAgICAgIGNoaWxkLnJlZnJlc2goKTsKQEAgLTUzOSwyNiArNTIyLDI0IEBA
IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgLy8gcGFyZW50IGVsZW1l
bnQsIHRoZW4gdGhlIERhdGFHcmlkJ3MgY29sdW1ucyB3aWxsIG5vdCBiZSByZXNpemFibGUuCiAg
ICAgdXBkYXRlTGF5b3V0OiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICAvLyBEbyBub3QgYXR0
ZW1wdCB0byB1c2Ugb2Zmc2V0ZXMgaWYgd2UncmUgbm90IGF0dGFjaGVkIHRvIHRoZSBkb2N1bWVu
dCB0cmVlIHlldC4KKyAgICAgICAgLy8gRG8gbm90IGF0dGVtcHQgdG8gdXNlIG9mZnNldHMgaWYg
d2UncmUgbm90IGF0dGFjaGVkIHRvIHRoZSBkb2N1bWVudCB0cmVlIHlldC4KICAgICAgICAgaWYg
KCF0aGlzLl9jb2x1bW5XaWR0aHNJbml0aWFsaXplZCAmJiB0aGlzLmVsZW1lbnQub2Zmc2V0V2lk
dGgpIHsKICAgICAgICAgICAgIC8vIEdpdmUgYWxsIHRoZSBjb2x1bW5zIGluaXRpYWwgd2lkdGhz
IG5vdyBzbyB0aGF0IGR1cmluZyBhIHJlc2l6ZSwKICAgICAgICAgICAgIC8vIHdoZW4gdGhlIHR3
byBjb2x1bW5zIHRoYXQgZ2V0IHJlc2l6ZWQgZ2V0IGEgcGVyY2VudCB2YWx1ZSBmb3IKICAgICAg
ICAgICAgIC8vIHRoZWlyIHdpZHRocywgYWxsIHRoZSBvdGhlciBjb2x1bW5zIGFscmVhZHkgaGF2
ZSBwZXJjZW50IHZhbHVlcwogICAgICAgICAgICAgLy8gZm9yIHRoZWlyIHdpZHRocy4KLSAgICAg
ICAgICAgIHZhciBoZWFkZXJUYWJsZUNvbHVtbkVsZW1lbnRzID0gdGhpcy5faGVhZGVyVGFibGVD
b2x1bW5Hcm91cEVsZW1lbnQuY2hpbGRyZW47Ci0gICAgICAgICAgICB2YXIgdGFibGVXaWR0aCA9
IHRoaXMuX2RhdGFUYWJsZUVsZW1lbnQub2Zmc2V0V2lkdGg7Ci0gICAgICAgICAgICB2YXIgbnVt
Q29sdW1ucyA9IGhlYWRlclRhYmxlQ29sdW1uRWxlbWVudHMubGVuZ3RoOwotICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBudW1Db2x1bW5zOyBpKyspIHsKLSAgICAgICAgICAgICAgICB2
YXIgaGVhZGVyQ2VsbEVsZW1lbnQgPSB0aGlzLl9oZWFkZXJUYWJsZUJvZHlFbGVtZW50LnJvd3Nb
MF0uY2VsbHNbaV0KLSAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNDb2x1bW5WaXNpYmxlKGhl
YWRlckNlbGxFbGVtZW50LmNvbHVtbklkZW50aWZpZXIpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHZhciBjb2x1bW5XaWR0aCA9IGhlYWRlckNlbGxFbGVtZW50Lm9mZnNldFdpZHRoOwotICAgICAg
ICAgICAgICAgICAgICB2YXIgcGVyY2VudFdpZHRoID0gKChjb2x1bW5XaWR0aCAvIHRhYmxlV2lk
dGgpICogMTAwKSArICIlIjsKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5faGVhZGVyVGFibGVD
b2x1bW5Hcm91cEVsZW1lbnQuY2hpbGRyZW5baV0uc3R5bGUud2lkdGggPSBwZXJjZW50V2lkdGg7
Ci0gICAgICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFUYWJsZUNvbHVtbkdyb3VwRWxlbWVudC5j
aGlsZHJlbltpXS5zdHlsZS53aWR0aCA9IHBlcmNlbnRXaWR0aDsKLSAgICAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICB0aGlzLl9oZWFkZXJUYWJsZUNvbHVtbkdyb3Vw
RWxlbWVudC5jaGlsZHJlbltpXS5zdHlsZS53aWR0aCA9IDA7Ci0gICAgICAgICAgICAgICAgICAg
IHRoaXMuX2RhdGFUYWJsZUNvbHVtbkdyb3VwRWxlbWVudC5jaGlsZHJlbltpXS5zdHlsZS53aWR0
aCA9IDA7CisgICAgICAgICAgICB2YXIgdGFibGVVc2VkV2lkdGggPSB0aGlzLl90YWJsZUVsZW1l
bnQub2Zmc2V0V2lkdGg7CisgICAgICAgICAgICBmb3IgKHZhciBbaWRlbnRpZmllciwgY29sdW1u
XSBvZiB0aGlzLmNvbHVtbnMpIHsKKyAgICAgICAgICAgICAgICB2YXIgaGVhZGVyQ2VsbEVsZW1l
bnQgPSB0aGlzLl90YWJsZUhlYWRlckNlbGxFbGVtZW50cy5nZXQoaWRlbnRpZmllcik7CisgICAg
ICAgICAgICAgICAgdmFyIGNvbHVtbkVsZW1lbnQgPSB0aGlzLl90YWJsZUNvbHVtbkdyb3VwRWxl
bWVudC5jaGlsZHJlbltjb2x1bW4uZ2V0KCJvcmRpbmFsIildOworICAgICAgICAgICAgICAgIHZh
ciBjb2x1bW5XaWR0aCA9IDA7CisKKyAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNDb2x1bW5W
aXNpYmxlKGlkZW50aWZpZXIpKSB7CisgICAgICAgICAgICAgICAgICAgIHZhciBjb2x1bW5IZWFk
ZXJVc2VkV2lkdGggPSBoZWFkZXJDZWxsRWxlbWVudC5vZmZzZXRXaWR0aDsKKyAgICAgICAgICAg
ICAgICAgICAgY29sdW1uV2lkdGggPSAoKGNvbHVtbkhlYWRlclVzZWRXaWR0aCAvIHRhYmxlVXNl
ZFdpZHRoKSAqIDEwMCkgKyAiJSI7CiAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgY29sdW1uRWxlbWVudC5zdHlsZS53aWR0aCA9IGNvbHVtbldpZHRoOwogICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICB0aGlzLl9jb2x1bW5XaWR0aHNJbml0aWFsaXplZCA9IHRydWU7CkBA
IC01NzIsNyArNTUzLDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAg
ICB7CiAgICAgICAgIHZhciByZXN1bHQgPSB7fTsKICAgICAgICAgZm9yICh2YXIgW2lkZW50aWZp
ZXIsIGNvbHVtbl0gb2YgdGhpcy5jb2x1bW5zKSB7Ci0gICAgICAgICAgICB2YXIgd2lkdGggPSB0
aGlzLl9oZWFkZXJUYWJsZUNvbHVtbkdyb3VwRWxlbWVudC5jaGlsZHJlbltjb2x1bW4uZ2V0KCJv
cmRpbmFsIildLnN0eWxlLndpZHRoOworICAgICAgICAgICAgdmFyIHdpZHRoID0gdGhpcy5fdGFi
bGVDb2x1bW5Hcm91cEVsZW1lbnQuY2hpbGRyZW5bY29sdW1uLmdldCgib3JkaW5hbCIpXS5zdHls
ZS53aWR0aDsKICAgICAgICAgICAgIHJlc3VsdFtjb2x1bW5JZGVudGlmaWVyXSA9IHBhcnNlRmxv
YXQod2lkdGgpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiByZXN1bHQ7CkBAIC01ODMsOCAr
NTY0LDggQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAgICAgICAgZm9y
ICh2YXIgW2lkZW50aWZpZXIsIGNvbHVtbl0gb2YgdGhpcy5jb2x1bW5zKSB7CiAgICAgICAgICAg
ICB2YXIgd2lkdGggPSAoY29sdW1uV2lkdGhzTWFwW2lkZW50aWZpZXJdIHx8IDApICsgIiUiOwog
ICAgICAgICAgICAgdmFyIG9yZGluYWwgPSBjb2x1bW4uZ2V0KCJvcmRpbmFsIik7Ci0gICAgICAg
ICAgICB0aGlzLl9oZWFkZXJUYWJsZUNvbHVtbkdyb3VwRWxlbWVudC5jaGlsZHJlbltvcmRpbmFs
XS5zdHlsZS53aWR0aCA9IHdpZHRoOwotICAgICAgICAgICAgdGhpcy5fZGF0YVRhYmxlQ29sdW1u
R3JvdXBFbGVtZW50LmNoaWxkcmVuW29yZGluYWxdLnN0eWxlLndpZHRoID0gd2lkdGg7CisgICAg
ICAgICAgICB0aGlzLl90YWJsZUNvbHVtbkdyb3VwRWxlbWVudC5jaGlsZHJlbltvcmRpbmFsXS5z
dHlsZS53aWR0aCA9IHdpZHRoOworICAgICAgICAgICAgdGhpcy5fdGFibGVDb2x1bW5Hcm91cEVs
ZW1lbnQuY2hpbGRyZW5bb3JkaW5hbF0uc3R5bGUud2lkdGggPSB3aWR0aDsKICAgICAgICAgfQog
CiAgICAgICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7CkBAIC02MTMsMTcgKzU5NCwxNyBAQCBXZWJJ
bnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlID0gewogCiAgICAgZ2V0IHNjcm9sbENvbnRhaW5l
cigpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsQ29udGFpbmVyRWxlbWVudDsK
KyAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudDsKICAgICB9LAogCiAgICAgaXNTY3JvbGxlZFRv
TGFzdFJvdzogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3Njcm9sbENv
bnRhaW5lckVsZW1lbnQuaXNTY3JvbGxlZFRvQm90dG9tKCk7CisgICAgICAgIHJldHVybiB0aGlz
LmVsZW1lbnQuaXNTY3JvbGxlZFRvQm90dG9tKCk7CiAgICAgfSwKIAogICAgIHNjcm9sbFRvTGFz
dFJvdzogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgdGhpcy5fc2Nyb2xsQ29udGFpbmVyRWxl
bWVudC5zY3JvbGxUb3AgPSB0aGlzLl9zY3JvbGxDb250YWluZXJFbGVtZW50LnNjcm9sbEhlaWdo
dCAtIHRoaXMuX3Njcm9sbENvbnRhaW5lckVsZW1lbnQub2Zmc2V0SGVpZ2h0OworICAgICAgICB0
aGlzLmVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy5lbGVtZW50LnNjcm9sbEhlaWdodCAtIHRoaXMu
ZWxlbWVudC5vZmZzZXRIZWlnaHQ7CiAgICAgfSwKIAogICAgIF9wb3NpdGlvblJlc2l6ZXJFbGVt
ZW50czogZnVuY3Rpb24oKQpAQCAtNjQ5LDcgKzYzMCw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3Jp
ZC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAvLyBHZXQgdGhlIHdpZHRoIG9mIHRoZSBjZWxs
IGluIHRoZSBmaXJzdCAoYW5kIG9ubHkpIHJvdyBvZiB0aGUKICAgICAgICAgICAgIC8vIGhlYWRl
ciB0YWJsZSBpbiBvcmRlciB0byBkZXRlcm1pbmUgdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4sIHNp
bmNlCiAgICAgICAgICAgICAvLyBpdCBpcyBub3QgcG9zc2libGUgdG8gcXVlcnkgYSBjb2x1bW4g
Zm9yIGl0cyB3aWR0aC4KLSAgICAgICAgICAgIGxlZnQgKz0gdGhpcy5faGVhZGVyVGFibGVCb2R5
RWxlbWVudC5yb3dzWzBdLmNlbGxzW2ldLm9mZnNldFdpZHRoOworICAgICAgICAgICAgbGVmdCAr
PSB0aGlzLl90YWJsZUhlYWRlckVsZW1lbnQucm93c1swXS5jZWxsc1tpXS5vZmZzZXRXaWR0aDsK
IAogICAgICAgICAgICAgaWYgKHRoaXMuX2lzQ29sdW1uVmlzaWJsZSh0aGlzLm9yZGVyZWRDb2x1
bW5zW2ldKSkgewogICAgICAgICAgICAgICAgIHJlc2l6ZXJFbGVtZW50LnN0eWxlLnJlbW92ZVBy
b3BlcnR5KCJkaXNwbGF5Iik7CkBAIC04MDcsNyArNzg4LDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFH
cmlkLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybiByZXZlcnNlTW9kZSA/IGNvbXBh
cmF0b3IoYkRhdGFHcmlkTm9kZSwgYURhdGFHcmlkTm9kZSkgOiBjb21wYXJhdG9yKGFEYXRhR3Jp
ZE5vZGUsIGJEYXRhR3JpZE5vZGUpOwogICAgICAgICB9CiAKLSAgICAgICAgdmFyIHRib2R5ID0g
dGhpcy5kYXRhVGFibGVCb2R5RWxlbWVudDsKKyAgICAgICAgdmFyIHRib2R5ID0gdGhpcy50YWJs
ZUJvZHlFbGVtZW50OwogICAgICAgICB2YXIgdGJvZHlQYXJlbnQgPSB0Ym9keS5wYXJlbnRFbGVt
ZW50OwogICAgICAgICB0Ym9keVBhcmVudC5yZW1vdmVDaGlsZCh0Ym9keSk7CiAKQEAgLTkzNSw3
ICs5MTYsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlID0gewogCiAgICAgZGF0
YUdyaWROb2RlRnJvbVBvaW50OiBmdW5jdGlvbih4LCB5KQogICAgIHsKLSAgICAgICAgdmFyIG5v
ZGUgPSB0aGlzLl9kYXRhVGFibGVFbGVtZW50Lm93bmVyRG9jdW1lbnQuZWxlbWVudEZyb21Qb2lu
dCh4LCB5KTsKKyAgICAgICAgdmFyIG5vZGUgPSB0aGlzLl90YWJsZUVsZW1lbnQub3duZXJEb2N1
bWVudC5lbGVtZW50RnJvbVBvaW50KHgsIHkpOwogICAgICAgICB2YXIgcm93RWxlbWVudCA9IG5v
ZGUuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhOb2RlTmFtZSgidHIiKTsKICAgICAgICAgcmV0dXJu
IHJvd0VsZW1lbnQgJiYgcm93RWxlbWVudC5fZGF0YUdyaWROb2RlOwogICAgIH0sCkBAIC0xMDA5
LDcgKzk5MCw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgICAg
IGlmICghY29sbGFwc2VyQ29sdW1uSWRlbnRpZmllcikKICAgICAgICAgICAgIHJldHVybjsKIAot
ICAgICAgICB2YXIgY2VsbCA9IHRoaXMuX2hlYWRlclRhYmxlQ2VsbEVsZW1lbnRzLmdldChjb2xs
YXBzZXJDb2x1bW5JZGVudGlmaWVyKTsKKyAgICAgICAgdmFyIGNlbGwgPSB0aGlzLl90YWJsZUhl
YWRlckNlbGxFbGVtZW50cy5nZXQoY29sbGFwc2VyQ29sdW1uSWRlbnRpZmllcik7CiAgICAgICAg
IHRoaXMuX2NvbGxhcHNlQ29sdW1uR3JvdXBXaXRoQ2VsbChjZWxsKTsKICAgICB9LAogCkBAIC0x
MDU0LDIwICsxMDM1LDIwIEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAK
ICAgICBpc0NvbHVtblNvcnRDb2x1bW46IGZ1bmN0aW9uKGNvbHVtbklkZW50aWZpZXIpCiAgICAg
ewotICAgICAgICByZXR1cm4gdGhpcy5fc29ydENvbHVtbkNlbGwgPT09IHRoaXMuX2hlYWRlclRh
YmxlQ2VsbEVsZW1lbnRzLmdldChjb2x1bW5JZGVudGlmaWVyKTsKKyAgICAgICAgcmV0dXJuIHRo
aXMuX3NvcnRDb2x1bW5DZWxsID09PSB0aGlzLl90YWJsZUhlYWRlckNlbGxFbGVtZW50cy5nZXQo
Y29sdW1uSWRlbnRpZmllcik7CiAgICAgfSwKIAogICAgIG1hcmtDb2x1bW5Bc1NvcnRlZEJ5OiBm
dW5jdGlvbihjb2x1bW5JZGVudGlmaWVyLCBzb3J0T3JkZXIpCiAgICAgewogICAgICAgICBpZiAo
dGhpcy5fc29ydENvbHVtbkNlbGwpCiAgICAgICAgICAgICB0aGlzLl9zb3J0Q29sdW1uQ2VsbC5y
ZW1vdmVNYXRjaGluZ1N0eWxlQ2xhc3Nlcygic29ydC1cXHcrIik7Ci0gICAgICAgIHRoaXMuX3Nv
cnRDb2x1bW5DZWxsID0gdGhpcy5faGVhZGVyVGFibGVDZWxsRWxlbWVudHMuZ2V0KGNvbHVtbklk
ZW50aWZpZXIpOworICAgICAgICB0aGlzLl9zb3J0Q29sdW1uQ2VsbCA9IHRoaXMuX3RhYmxlSGVh
ZGVyQ2VsbEVsZW1lbnRzLmdldChjb2x1bW5JZGVudGlmaWVyKTsKICAgICAgICAgdGhpcy5fc29y
dENvbHVtbkNlbGwuY2xhc3NMaXN0LmFkZCgic29ydC0iICsgc29ydE9yZGVyKTsKICAgICB9LAog
CiAgICAgaGVhZGVyVGFibGVIZWFkZXI6IGZ1bmN0aW9uKGNvbHVtbklkZW50aWZpZXIpCiAgICAg
ewotICAgICAgICByZXR1cm4gdGhpcy5faGVhZGVyVGFibGVDZWxsRWxlbWVudHMuZ2V0KGNvbHVt
bklkZW50aWZpZXIpOworICAgICAgICByZXR1cm4gdGhpcy5fdGFibGVIZWFkZXJDZWxsRWxlbWVu
dHMuZ2V0KGNvbHVtbklkZW50aWZpZXIpOwogICAgIH0sCiAKICAgICBfZ2VuZXJhdGVTb3J0SW5k
aWNhdG9ySW1hZ2VzSWZOZWVkZWQ6IGZ1bmN0aW9uKCkKQEAgLTEyMzYsNyArMTIxNyw3IEBAIFdl
Ykluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIGNvbHVtbiBkaXJl
Y3RseSB0byB0aGUgbGVmdCBhbmQgdGhlIGNvbHVtbiBkaXJlY3RseSB0byB0aGUgcmlnaHQuCiAg
ICAgICAgIHZhciBsZWZ0Q2VsbEluZGV4ID0gcmVzaXplci5sZWZ0TmVpZ2hib3JpbmdDb2x1bW5J
RDsKICAgICAgICAgdmFyIHJpZ2h0Q2VsbEluZGV4ID0gcmVzaXplci5yaWdodE5laWdoYm9yaW5n
Q29sdW1uSUQ7Ci0gICAgICAgIHZhciBmaXJzdFJvd0NlbGxzID0gdGhpcy5faGVhZGVyVGFibGVC
b2R5RWxlbWVudC5yb3dzWzBdLmNlbGxzOworICAgICAgICB2YXIgZmlyc3RSb3dDZWxscyA9IHRo
aXMuX3RhYmxlSGVhZGVyRWxlbWVudC5yb3dzWzBdLmNlbGxzOwogICAgICAgICB2YXIgbGVmdEVk
Z2VPZlByZXZpb3VzQ29sdW1uID0gMDsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZWZ0
Q2VsbEluZGV4OyBpKyspCiAgICAgICAgICAgICBsZWZ0RWRnZU9mUHJldmlvdXNDb2x1bW4gKz0g
Zmlyc3RSb3dDZWxsc1tpXS5vZmZzZXRXaWR0aDsKQEAgLTEyNTksMTMgKzEyNDAsMTMgQEAgV2Vi
SW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZSA9IHsKIAogICAgICAgICByZXNpemVyLnN0eWxl
LmxlZnQgPSAoZHJhZ1BvaW50IC0gdGhpcy5DZW50ZXJSZXNpemVyT3ZlckJvcmRlckFkanVzdG1l
bnQpICsgInB4IjsKIAotICAgICAgICB2YXIgcGVyY2VudExlZnRDb2x1bW4gPSAoKChkcmFnUG9p
bnQgLSBsZWZ0RWRnZU9mUHJldmlvdXNDb2x1bW4pIC8gdGhpcy5fZGF0YVRhYmxlRWxlbWVudC5v
ZmZzZXRXaWR0aCkgKiAxMDApICsgIiUiOwotICAgICAgICB0aGlzLl9oZWFkZXJUYWJsZUNvbHVt
bkdyb3VwRWxlbWVudC5jaGlsZHJlbltsZWZ0Q2VsbEluZGV4XS5zdHlsZS53aWR0aCA9IHBlcmNl
bnRMZWZ0Q29sdW1uOwotICAgICAgICB0aGlzLl9kYXRhVGFibGVDb2x1bW5Hcm91cEVsZW1lbnQu
Y2hpbGRyZW5bbGVmdENlbGxJbmRleF0uc3R5bGUud2lkdGggPSBwZXJjZW50TGVmdENvbHVtbjsK
KyAgICAgICAgdmFyIHBlcmNlbnRMZWZ0Q29sdW1uID0gKCgoZHJhZ1BvaW50IC0gbGVmdEVkZ2VP
ZlByZXZpb3VzQ29sdW1uKSAvIHRoaXMuX3RhYmxlRWxlbWVudC5vZmZzZXRXaWR0aCkgKiAxMDAp
ICsgIiUiOworICAgICAgICB0aGlzLl90YWJsZUNvbHVtbkdyb3VwRWxlbWVudC5jaGlsZHJlblts
ZWZ0Q2VsbEluZGV4XS5zdHlsZS53aWR0aCA9IHBlcmNlbnRMZWZ0Q29sdW1uOworICAgICAgICB0
aGlzLl90YWJsZUNvbHVtbkdyb3VwRWxlbWVudC5jaGlsZHJlbltsZWZ0Q2VsbEluZGV4XS5zdHls
ZS53aWR0aCA9IHBlcmNlbnRMZWZ0Q29sdW1uOwogCi0gICAgICAgIHZhciBwZXJjZW50UmlnaHRD
b2x1bW4gPSAoKChyaWdodEVkZ2VPZk5leHRDb2x1bW4gLSBkcmFnUG9pbnQpIC8gdGhpcy5fZGF0
YVRhYmxlRWxlbWVudC5vZmZzZXRXaWR0aCkgKiAxMDApICsgIiUiOwotICAgICAgICB0aGlzLl9o
ZWFkZXJUYWJsZUNvbHVtbkdyb3VwRWxlbWVudC5jaGlsZHJlbltyaWdodENlbGxJbmRleF0uc3R5
bGUud2lkdGggPSAgcGVyY2VudFJpZ2h0Q29sdW1uOwotICAgICAgICB0aGlzLl9kYXRhVGFibGVD
b2x1bW5Hcm91cEVsZW1lbnQuY2hpbGRyZW5bcmlnaHRDZWxsSW5kZXhdLnN0eWxlLndpZHRoID0g
cGVyY2VudFJpZ2h0Q29sdW1uOworICAgICAgICB2YXIgcGVyY2VudFJpZ2h0Q29sdW1uID0gKCgo
cmlnaHRFZGdlT2ZOZXh0Q29sdW1uIC0gZHJhZ1BvaW50KSAvIHRoaXMuX3RhYmxlRWxlbWVudC5v
ZmZzZXRXaWR0aCkgKiAxMDApICsgIiUiOworICAgICAgICB0aGlzLl90YWJsZUNvbHVtbkdyb3Vw
RWxlbWVudC5jaGlsZHJlbltyaWdodENlbGxJbmRleF0uc3R5bGUud2lkdGggPSAgcGVyY2VudFJp
Z2h0Q29sdW1uOworICAgICAgICB0aGlzLl90YWJsZUNvbHVtbkdyb3VwRWxlbWVudC5jaGlsZHJl
bltyaWdodENlbGxJbmRleF0uc3R5bGUud2lkdGggPSBwZXJjZW50UmlnaHRDb2x1bW47CiAKICAg
ICAgICAgdGhpcy5fcG9zaXRpb25SZXNpemVyRWxlbWVudHMoKTsKICAgICAgICAgZXZlbnQucHJl
dmVudERlZmF1bHQoKTsKQEAgLTE4MTQsMTQgKzE3OTUsMTQgQEAgV2ViSW5zcGVjdG9yLkRhdGFH
cmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmIChwcmV2aW91c0dyaWROb2RlICYmIHBy
ZXZpb3VzR3JpZE5vZGUuZWxlbWVudC5wYXJlbnROb2RlKQogICAgICAgICAgICAgbmV4dEVsZW1l
bnQgPSBwcmV2aW91c0dyaWROb2RlLmVsZW1lbnQubmV4dFNpYmxpbmc7CiAgICAgICAgIGVsc2Ug
aWYgKCFwcmV2aW91c0dyaWROb2RlKQotICAgICAgICAgICAgbmV4dEVsZW1lbnQgPSB0aGlzLmRh
dGFHcmlkLmRhdGFUYWJsZUJvZHlFbGVtZW50LmZpcnN0Q2hpbGQ7CisgICAgICAgICAgICBuZXh0
RWxlbWVudCA9IHRoaXMuZGF0YUdyaWQudGFibGVCb2R5RWxlbWVudC5maXJzdENoaWxkOwogCiAg
ICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIG5leHQgZ3JpZCBub2RlLCB0aGVuIGFwcGVuZCBiZWZv
cmUgdGhlIGxhc3QgY2hpbGQgc2luY2UgdGhlIGxhc3QgY2hpbGQgaXMgdGhlIGZpbGxlciByb3cu
Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuZGF0YUdyaWQuZGF0YVRhYmxlQm9keUVsZW1l
bnQubGFzdENoaWxkLmNsYXNzTGlzdC5jb250YWlucygiZmlsbGVyIikpOworICAgICAgICBjb25z
b2xlLmFzc2VydCh0aGlzLmRhdGFHcmlkLnRhYmxlQm9keUVsZW1lbnQubGFzdENoaWxkLmNsYXNz
TGlzdC5jb250YWlucygiZmlsbGVyIikpOwogICAgICAgICBpZiAoIW5leHRFbGVtZW50KQotICAg
ICAgICAgICAgbmV4dEVsZW1lbnQgPSB0aGlzLmRhdGFHcmlkLmRhdGFUYWJsZUJvZHlFbGVtZW50
Lmxhc3RDaGlsZDsKKyAgICAgICAgICAgIG5leHRFbGVtZW50ID0gdGhpcy5kYXRhR3JpZC50YWJs
ZUJvZHlFbGVtZW50Lmxhc3RDaGlsZDsKIAotICAgICAgICB0aGlzLmRhdGFHcmlkLmRhdGFUYWJs
ZUJvZHlFbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLmVsZW1lbnQsIG5leHRFbGVtZW50KTsKKyAg
ICAgICAgdGhpcy5kYXRhR3JpZC50YWJsZUJvZHlFbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLmVs
ZW1lbnQsIG5leHRFbGVtZW50KTsKIAogICAgICAgICBpZiAodGhpcy5leHBhbmRlZCkKICAgICAg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5jaGlsZHJlbi5sZW5ndGg7ICsraSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0xheWVyVHJlZURh
dGFHcmlkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTGF5ZXJUcmVl
RGF0YUdyaWQuanMKaW5kZXggYzJhYmIyNGIwNGFlNmM4YjU5MDg2YmEyNzExNzIwZjcxYjI5MDk5
Ni4uMDRjNTkzZGYxMDg0OWM1NjM1YzAxZTcxZjBhOTcxMjcxMjVkOTQxZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTGF5ZXJUcmVlRGF0YUdyaWQuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTGF5ZXJUcmVlRGF0YUdy
aWQuanMKQEAgLTc3LDcgKzc3LDcgQEAgV2ViSW5zcGVjdG9yLkxheWVyVHJlZURhdGFHcmlkLnBy
b3RvdHlwZSA9IHsKIAogICAgICAgICAvLyBJdGVyYXRlIHRocm91Z2ggbm9kZXMgYnkgRE9NIG9y
ZGVyIGZpcnN0IHNvIHdlIGNhbiBlc3RhYmxpc2gKICAgICAgICAgLy8gdGhlIERPTSBpbmRleC4K
LSAgICAgICAgdmFyIGVsZW1lbnRzID0gdGhpcy5kYXRhVGFibGVCb2R5RWxlbWVudC5yb3dzOwor
ICAgICAgICB2YXIgZWxlbWVudHMgPSB0aGlzLnRhYmxlQm9keUVsZW1lbnQucm93czsKICAgICAg
ICAgZm9yICh2YXIgaSA9IDAsIGNvdW50ID0gZWxlbWVudHMubGVuZ3RoIC0gMTsgaSA8IGNvdW50
OyArK2kpCiAgICAgICAgICAgICBlbGVtZW50c1tpXS5fZGF0YUdyaWROb2RlLl9kb21JbmRleCA9
IGk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>