<?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>9631</bug_id>
          
          <creation_ts>2006-06-28 06:01:02 -0700</creation_ts>
          <short_desc>[Drosera] Add &quot;Step Over&quot; and &quot;Step Out&quot;</short_desc>
          <delta_ts>2008-05-17 09:55:52 -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>New Bugs</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Hurshman">jhurshman</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>47444</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Hurshman">jhurshman</who>
    <bug_when>2006-06-28 06:01:02 -0700</bug_when>
    <thetext>Currently, the only stepping functionality Drosera offers is &quot;Step Into&quot;. Please add &quot;Step Over&quot; and &quot;Step Out&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48065</commentid>
    <comment_count>1</comment_count>
      <attachid>9163</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-02 23:10:50 -0700</bug_when>
    <thetext>Created attachment 9163
Implements step over and step out</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48070</commentid>
    <comment_count>2</comment_count>
      <attachid>9163</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-07-03 01:08:46 -0700</bug_when>
    <thetext>Comment on attachment 9163
Implements step over and step out

I think it would be cleaner to have a line ending array, or regex.  Since you seem to be using the same copy/paste list all over the place.  I guess the list of line endings isn&apos;t ever going to change though, so it&apos;s not a huge deal.

Looks good.  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48071</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-03 01:15:48 -0700</bug_when>
    <thetext>Landed in r15144</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48072</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-03 01:31:15 -0700</bug_when>
    <thetext>Landed the NIB file change in r15145.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80737</commentid>
    <comment_count>5</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-05-17 09:55:52 -0700</bug_when>
    <thetext>Closing since Drosera has been replaced by the new Web Inspector debugger. Moving to the New Bugs component so the Drosera component can be closed and removed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9163</attachid>
            <date>2006-07-02 23:10:50 -0700</date>
            <delta_ts>2006-07-03 01:08:46 -0700</delta_ts>
            <desc>Implements step over and step out</desc>
            <filename>9631.patch</filename>
            <type>text/plain</type>
            <size>27877</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTQw
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMDYtMDct
MDIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyA5NjMxOiBbRHJvc2VyYV0gQWRk
ICJTdGVwIE92ZXIiIGFuZCAiU3RlcCBPdXQiCisgICAgICAgIGh0dHA6Ly9idWd6aWxsYS5vcGVu
ZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYzMQorICAgICAgICAKKyAgICAgICAgQWRkcyBz
dGVwIG92ZXIgYW5kIHN0ZXAgb3V0LiBBbG9uZyB3aXRoIGEgbGl0dGxlIGNvZGUgY2xlYW51cAor
ICAgICAgICB0aGF0IHdhcyBtaW5vciBlbm91Z2ggdG8gcGlnZ3liYWNrIG9uIHRoaXMgZml4Lgor
CisgICAgICAgICogRHJvc2VyYS9EZWJ1Z2dlckRvY3VtZW50Lmg6CisgICAgICAgICogRHJvc2Vy
YS9EZWJ1Z2dlckRvY3VtZW50Lm06CisgICAgICAgICgtW0RlYnVnZ2VyRG9jdW1lbnQgc3RlcE92
ZXI6XSk6CisgICAgICAgICgtW0RlYnVnZ2VyRG9jdW1lbnQgc3RlcE91dDpdKToKKyAgICAgICAg
KC1bRGVidWdnZXJEb2N1bWVudCB3aW5kb3dEaWRMb2FkXSk6CisgICAgICAgICgtW0RlYnVnZ2Vy
RG9jdW1lbnQgd2luZG93V2lsbENsb3NlOl0pOgorICAgICAgICAoLVtEZWJ1Z2dlckRvY3VtZW50
IHRvb2xiYXI6aXRlbUZvckl0ZW1JZGVudGlmaWVyOndpbGxCZUluc2VydGVkSW50b1Rvb2xiYXI6
XSk6CisgICAgICAgICgtW0RlYnVnZ2VyRG9jdW1lbnQgdG9vbGJhckRlZmF1bHRJdGVtSWRlbnRp
ZmllcnM6XSk6CisgICAgICAgICgtW0RlYnVnZ2VyRG9jdW1lbnQgdG9vbGJhckFsbG93ZWRJdGVt
SWRlbnRpZmllcnM6XSk6CisgICAgICAgICgtW0RlYnVnZ2VyRG9jdW1lbnQgdmFsaWRhdGVVc2Vy
SW50ZXJmYWNlSXRlbTpdKToKKyAgICAgICAgKiBEcm9zZXJhL0Ryb3NlcmEueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBEcm9zZXJhL2RlYnVnZ2VyLmh0bWw6CisgICAgICAg
ICogRHJvc2VyYS9kZWJ1Z2dlci5qczoKKyAgICAgICAgKiBEcm9zZXJhL3ZpZXdlci5jc3M6CisK
IDIwMDYtMDctMDIgIE1hcmsgUm93ZSAgPG9wZW5kYXJ3aW4ub3JnQGJkYXNoLm5ldC5uej4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBBbGV4eSBQcm9za3VyeWFrb3YuCkluZGV4OiBEcm9zZXJhL0Rl
YnVnZ2VyRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBEcm9zZXJhL0RlYnVnZ2VyRG9jdW1lbnQu
aAkocmV2aXNpb24gMTUxNDApCisrKyBEcm9zZXJhL0RlYnVnZ2VyRG9jdW1lbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDEsNCArNDEsNiBAQAogLSAoSUJBY3Rpb24pcGF1c2U6KGlkKXNlbmRlcjsK
IC0gKElCQWN0aW9uKXJlc3VtZTooaWQpc2VuZGVyOwogLSAoSUJBY3Rpb24pc3RlcEludG86KGlk
KXNlbmRlcjsKKy0gKElCQWN0aW9uKXN0ZXBPdmVyOihpZClzZW5kZXI7CistIChJQkFjdGlvbilz
dGVwT3V0OihpZClzZW5kZXI7CiBAZW5kCkluZGV4OiBEcm9zZXJhL0RlYnVnZ2VyRG9jdW1lbnQu
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBEcm9zZXJhL0RlYnVnZ2VyRG9jdW1lbnQubQkocmV2aXNpb24gMTUx
NDApCisrKyBEcm9zZXJhL0RlYnVnZ2VyRG9jdW1lbnQubQkod29ya2luZyBjb3B5KQpAQCAtMjcs
MTAgKzI3LDEzIEBACiAgKi8KIAogI2ltcG9ydCAiRGVidWdnZXJEb2N1bWVudC5oIgorI2ltcG9y
dCAiRGVidWdnZXJBcHBsaWNhdGlvbi5oIgogCiBzdGF0aWMgTlNTdHJpbmcgKkRlYnVnZ2VyQ29u
dGludWVUb29sYmFySXRlbSA9IEAiRGVidWdnZXJDb250aW51ZVRvb2xiYXJJdGVtIjsKIHN0YXRp
YyBOU1N0cmluZyAqRGVidWdnZXJQYXVzZVRvb2xiYXJJdGVtID0gQCJEZWJ1Z2dlclBhdXNlVG9v
bGJhckl0ZW0iOwogc3RhdGljIE5TU3RyaW5nICpEZWJ1Z2dlclN0ZXBJbnRvVG9vbGJhckl0ZW0g
PSBAIkRlYnVnZ2VyU3RlcEludG9Ub29sYmFySXRlbSI7CitzdGF0aWMgTlNTdHJpbmcgKkRlYnVn
Z2VyU3RlcE92ZXJUb29sYmFySXRlbSA9IEAiRGVidWdnZXJTdGVwT3ZlclRvb2xiYXJJdGVtIjsK
K3N0YXRpYyBOU1N0cmluZyAqRGVidWdnZXJTdGVwT3V0VG9vbGJhckl0ZW0gPSBAIkRlYnVnZ2Vy
U3RlcE91dFRvb2xiYXJJdGVtIjsKIAogQGltcGxlbWVudGF0aW9uIERlYnVnZ2VyRG9jdW1lbnQK
ICsgKEJPT0wpaXNTZWxlY3RvckV4Y2x1ZGVkRnJvbVdlYlNjcmlwdDooU0VMKWFTZWxlY3RvcgpA
QCAtMTM2LDYgKzEzOSwxNiBAQCBzdGF0aWMgTlNTdHJpbmcgKkRlYnVnZ2VyU3RlcEludG9Ub29s
YmFyCiAgICAgW1t3ZWJWaWV3IHdpbmRvd1NjcmlwdE9iamVjdF0gY2FsbFdlYlNjcmlwdE1ldGhv
ZDpAInN0ZXBJbnRvIiB3aXRoQXJndW1lbnRzOm5pbF07CiB9CiAKKy0gKElCQWN0aW9uKXN0ZXBP
dmVyOihpZClzZW5kZXIKK3sKKyAgICBbW3dlYlZpZXcgd2luZG93U2NyaXB0T2JqZWN0XSBjYWxs
V2ViU2NyaXB0TWV0aG9kOkAic3RlcE92ZXIiIHdpdGhBcmd1bWVudHM6bmlsXTsKK30KKworLSAo
SUJBY3Rpb24pc3RlcE91dDooaWQpc2VuZGVyCit7CisgICAgW1t3ZWJWaWV3IHdpbmRvd1Njcmlw
dE9iamVjdF0gY2FsbFdlYlNjcmlwdE1ldGhvZDpAInN0ZXBPdXQiIHdpdGhBcmd1bWVudHM6bmls
XTsKK30KKwogI3ByYWdtYSBtYXJrIC0KICNwcmFnbWEgbWFyayBXaW5kb3cgQ29udHJvbGxlciBP
dmVycmlkZXMKIApAQCAtMTUwLDcgKzE2Myw3IEBAIHN0YXRpYyBOU1N0cmluZyAqRGVidWdnZXJT
dGVwSW50b1Rvb2xiYXIKIAogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoYXBwbGljYXRpb25UZXJtaW5h
dGluZzopIG5hbWU6TlNBcHBsaWNhdGlvbldpbGxUZXJtaW5hdGVOb3RpZmljYXRpb24gb2JqZWN0
Om5pbF07CiAKLSAgICBOU1N0cmluZyAqcGF0aCA9IFtbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6
W3NlbGYgY2xhc3NdXSBwYXRoRm9yUmVzb3VyY2U6QCJkZWJ1Z2dlciIgb2ZUeXBlOkAiaHRtbCIg
aW5EaXJlY3Rvcnk6bmlsXTsKKyAgICBOU1N0cmluZyAqcGF0aCA9IFtbTlNCdW5kbGUgbWFpbkJ1
bmRsZV0gcGF0aEZvclJlc291cmNlOkAiZGVidWdnZXIiIG9mVHlwZTpAImh0bWwiIGluRGlyZWN0
b3J5Om5pbF07CiAgICAgW1t3ZWJWaWV3IG1haW5GcmFtZV0gbG9hZFJlcXVlc3Q6W1tbTlNVUkxS
ZXF1ZXN0IGFsbG9jXSBpbml0V2l0aFVSTDpbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnBhdGhdXSBh
dXRvcmVsZWFzZV1dOwogCiAgICAgTlNUb29sYmFyICp0b29sYmFyID0gW1tOU1Rvb2xiYXIgYWxs
b2NdIGluaXRXaXRoSWRlbnRpZmllcjpAImRlYnVnZ2VyIl07CkBAIC0xNjYsOCArMTc5LDYgQEAg
c3RhdGljIE5TU3RyaW5nICpEZWJ1Z2dlclN0ZXBJbnRvVG9vbGJhcgogICAgIFtbd2ViVmlldyB3
aW5kb3dTY3JpcHRPYmplY3RdIHJlbW92ZVdlYlNjcmlwdEtleTpAIkRlYnVnZ2VyRG9jdW1lbnQi
XTsKIAogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2Jz
ZXJ2ZXI6c2VsZiBuYW1lOk5TQXBwbGljYXRpb25XaWxsVGVybWluYXRlTm90aWZpY2F0aW9uIG9i
amVjdDpuaWxdOwotICAgIFtbTlNEaXN0cmlidXRlZE5vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0
Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6V2ViU2NyaXB0RGVidWdTZXJ2ZXJRdWVy
eVJlcGx5Tm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAgIFtbTlNEaXN0cmlidXRlZE5vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6V2Vi
U2NyaXB0RGVidWdTZXJ2ZXJXaWxsVW5sb2FkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwogCiAg
ICAgW3NlbGYgc3dpdGNoVG9TZXJ2ZXJOYW1lZDpuaWxdOwogCkBAIC0yNjksNiArMjgwLDMyIEBA
IHN0YXRpYyBOU1N0cmluZyAqRGVidWdnZXJTdGVwSW50b1Rvb2xiYXIKICAgICAgICAgW2l0ZW0g
c2V0QWN0aW9uOkBzZWxlY3RvcihzdGVwSW50bzopXTsKIAogICAgICAgICByZXR1cm4gW2l0ZW0g
YXV0b3JlbGVhc2VdOworICAgIH0gZWxzZSBpZiAoW2l0ZW1JZGVudGlmaWVyIGlzRXF1YWxUb1N0
cmluZzpEZWJ1Z2dlclN0ZXBPdmVyVG9vbGJhckl0ZW1dKSB7CisgICAgICAgIE5TVG9vbGJhckl0
ZW0gKml0ZW0gPSBbW05TVG9vbGJhckl0ZW0gYWxsb2NdIGluaXRXaXRoSXRlbUlkZW50aWZpZXI6
aXRlbUlkZW50aWZpZXJdOworCisgICAgICAgIFtpdGVtIHNldExhYmVsOkAiU3RlcCBPdmVyIl07
CisgICAgICAgIFtpdGVtIHNldFBhbGV0dGVMYWJlbDpAIlN0ZXAgT3ZlciJdOworCisgICAgICAg
IFtpdGVtIHNldFRvb2xUaXA6QCJTdGVwIG92ZXIgZnVuY3Rpb24gY2FsbCJdOworICAgICAgICBb
aXRlbSBzZXRJbWFnZTpbTlNJbWFnZSBpbWFnZU5hbWVkOkAic3RlcE92ZXIiXV07CisKKyAgICAg
ICAgW2l0ZW0gc2V0VGFyZ2V0OnNlbGZdOworICAgICAgICBbaXRlbSBzZXRBY3Rpb246QHNlbGVj
dG9yKHN0ZXBPdmVyOildOworCisgICAgICAgIHJldHVybiBbaXRlbSBhdXRvcmVsZWFzZV07Cisg
ICAgfSBlbHNlIGlmIChbaXRlbUlkZW50aWZpZXIgaXNFcXVhbFRvU3RyaW5nOkRlYnVnZ2VyU3Rl
cE91dFRvb2xiYXJJdGVtXSkgeworICAgICAgICBOU1Rvb2xiYXJJdGVtICppdGVtID0gW1tOU1Rv
b2xiYXJJdGVtIGFsbG9jXSBpbml0V2l0aEl0ZW1JZGVudGlmaWVyOml0ZW1JZGVudGlmaWVyXTsK
KworICAgICAgICBbaXRlbSBzZXRMYWJlbDpAIlN0ZXAgT3V0Il07CisgICAgICAgIFtpdGVtIHNl
dFBhbGV0dGVMYWJlbDpAIlN0ZXAgT3ZlciJdOworCisgICAgICAgIFtpdGVtIHNldFRvb2xUaXA6
QCJTdGVwIG91dCBvZiBjdXJyZW50IGZ1bmN0aW9uIl07CisgICAgICAgIFtpdGVtIHNldEltYWdl
OltOU0ltYWdlIGltYWdlTmFtZWQ6QCJzdGVwT3V0Il1dOworCisgICAgICAgIFtpdGVtIHNldFRh
cmdldDpzZWxmXTsKKyAgICAgICAgW2l0ZW0gc2V0QWN0aW9uOkBzZWxlY3RvcihzdGVwT3V0Oild
OworCisgICAgICAgIHJldHVybiBbaXRlbSBhdXRvcmVsZWFzZV07CiAgICAgfQogCiAgICAgcmV0
dXJuIG5pbDsKQEAgLTI3NywyMyArMzE0LDI2IEBAIHN0YXRpYyBOU1N0cmluZyAqRGVidWdnZXJT
dGVwSW50b1Rvb2xiYXIKIC0gKE5TQXJyYXkgKil0b29sYmFyRGVmYXVsdEl0ZW1JZGVudGlmaWVy
czooTlNUb29sYmFyKil0b29sYmFyCiB7CiAgICAgcmV0dXJuIFtOU0FycmF5IGFycmF5V2l0aE9i
amVjdHM6RGVidWdnZXJDb250aW51ZVRvb2xiYXJJdGVtLCBEZWJ1Z2dlclBhdXNlVG9vbGJhckl0
ZW0sCi0gICAgICAgIE5TVG9vbGJhclNlcGFyYXRvckl0ZW1JZGVudGlmaWVyLCBEZWJ1Z2dlclN0
ZXBJbnRvVG9vbGJhckl0ZW0sIG5pbF07CisgICAgICAgIE5TVG9vbGJhclNlcGFyYXRvckl0ZW1J
ZGVudGlmaWVyLCBEZWJ1Z2dlclN0ZXBJbnRvVG9vbGJhckl0ZW0sIERlYnVnZ2VyU3RlcE91dFRv
b2xiYXJJdGVtLAorICAgICAgICBEZWJ1Z2dlclN0ZXBPdmVyVG9vbGJhckl0ZW0sIG5pbF07CiB9
CiAKIC0gKE5TQXJyYXkgKil0b29sYmFyQWxsb3dlZEl0ZW1JZGVudGlmaWVyczooTlNUb29sYmFy
Kil0b29sYmFyCiB7Ci0gICAgcmV0dXJuIFtOU0FycmF5IGFycmF5V2l0aE9iamVjdHM6RGVidWdn
ZXJDb250aW51ZVRvb2xiYXJJdGVtLCBEZWJ1Z2dlclBhdXNlVG9vbGJhckl0ZW0sIERlYnVnZ2Vy
U3RlcEludG9Ub29sYmFySXRlbSwKLSAgICAgICAgTlNUb29sYmFyQ3VzdG9taXplVG9vbGJhckl0
ZW1JZGVudGlmaWVyLCBOU1Rvb2xiYXJGbGV4aWJsZVNwYWNlSXRlbUlkZW50aWZpZXIsCi0gICAg
ICAgIE5TVG9vbGJhclNwYWNlSXRlbUlkZW50aWZpZXIsIE5TVG9vbGJhclNlcGFyYXRvckl0ZW1J
ZGVudGlmaWVyLCBuaWxdOworICAgIHJldHVybiBbTlNBcnJheSBhcnJheVdpdGhPYmplY3RzOkRl
YnVnZ2VyQ29udGludWVUb29sYmFySXRlbSwgRGVidWdnZXJQYXVzZVRvb2xiYXJJdGVtLAorICAg
ICAgICBEZWJ1Z2dlclN0ZXBJbnRvVG9vbGJhckl0ZW0sIERlYnVnZ2VyU3RlcE91dFRvb2xiYXJJ
dGVtLCBEZWJ1Z2dlclN0ZXBPdmVyVG9vbGJhckl0ZW0sIE5TVG9vbGJhckN1c3RvbWl6ZVRvb2xi
YXJJdGVtSWRlbnRpZmllciwKKyAgICAgICAgTlNUb29sYmFyRmxleGlibGVTcGFjZUl0ZW1JZGVu
dGlmaWVyLCBOU1Rvb2xiYXJTcGFjZUl0ZW1JZGVudGlmaWVyLCBOU1Rvb2xiYXJTZXBhcmF0b3JJ
dGVtSWRlbnRpZmllciwgbmlsXTsKIH0KIAogLSAoQk9PTCl2YWxpZGF0ZVVzZXJJbnRlcmZhY2VJ
dGVtOihpZCA8TlNWYWxpZGF0ZWRVc2VySW50ZXJmYWNlSXRlbT4paW50ZXJmYWNlSXRlbQogewot
ICAgIGlmIChbaW50ZXJmYWNlSXRlbSBhY3Rpb25dID09IEBzZWxlY3RvcihwYXVzZTopKQorICAg
IFNFTCBhY3Rpb24gPSBbaW50ZXJmYWNlSXRlbSBhY3Rpb25dOworICAgIGlmIChhY3Rpb24gPT0g
QHNlbGVjdG9yKHBhdXNlOikpCiAgICAgICAgIHJldHVybiAhW3NlbGYgaXNQYXVzZWRdOwotICAg
IGlmIChbaW50ZXJmYWNlSXRlbSBhY3Rpb25dID09IEBzZWxlY3RvcihyZXN1bWU6KSkKLSAgICAg
ICAgcmV0dXJuIFtzZWxmIGlzUGF1c2VkXTsKLSAgICBpZiAoW2ludGVyZmFjZUl0ZW0gYWN0aW9u
XSA9PSBAc2VsZWN0b3Ioc3RlcEludG86KSkKKyAgICBpZiAoYWN0aW9uID09IEBzZWxlY3Rvcihy
ZXN1bWU6KSB8fAorICAgICAgICBhY3Rpb24gPT0gQHNlbGVjdG9yKHN0ZXBPdmVyOikgfHwKKyAg
ICAgICAgYWN0aW9uID09IEBzZWxlY3RvcihzdGVwT3V0OikgfHwKKyAgICAgICAgYWN0aW9uID09
IEBzZWxlY3RvcihzdGVwSW50bzopKQogICAgICAgICByZXR1cm4gW3NlbGYgaXNQYXVzZWRdOwog
ICAgIHJldHVybiBZRVM7CiB9CkluZGV4OiBEcm9zZXJhL2RlYnVnZ2VyLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gRHJvc2VyYS9kZWJ1Z2dlci5odG1sCShyZXZpc2lvbiAxNTE0MCkKKysrIERyb3NlcmEv
ZGVidWdnZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQCBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPCiA8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5nPSJlbiI+CiA8aGVhZD4KICAgICA8
bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNl
dD11dGYtOCIgLz4KLSAgICA8dGl0bGU+SmF2YVNjcmlwdCBEZWJ1Z2dlcjwvdGl0bGU+CisgICAg
PHRpdGxlPkRlYnVnZ2VyPC90aXRsZT4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJkZWJ1Z2dlci5qcyI+PC9zY3JpcHQ+IAogICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+CiAgICAgICAgIEBpbXBvcnQgImRlYnVnZ2VyLmNzcyI7CkluZGV4OiBEcm9zZXJhL2RlYnVn
Z2VyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIERyb3NlcmEvZGVidWdnZXIuanMJKHJldmlzaW9uIDE1MTQw
KQorKysgRHJvc2VyYS9kZWJ1Z2dlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsMTAg
QEAgdmFyIHByZXZpb3VzRmlsZXMgPSBuZXcgQXJyYXkoKTsKIHZhciBuZXh0RmlsZXMgPSBuZXcg
QXJyYXkoKTsKIHZhciBpc1Jlc2l6aW5nQ29sdW1uID0gZmFsc2U7CiB2YXIgZHJhZ2dpbmdCcmVh
a3BvaW50ID0gbnVsbDsKK3ZhciBzdGVwcGluZ091dCA9IGZhbHNlOwordmFyIHN0ZXBwaW5nT3Zl
ciA9IGZhbHNlOwordmFyIHN0ZXBwaW5nU3RhY2sgPSAwOwordmFyIHBhdXNlT25OZXh0U3RhdGVt
ZW50ID0gZmFsc2U7CiAKIGZ1bmN0aW9uIHNsZWVwKG51bWJlck1pbGxpcykgewogICAgIHZhciBu
b3cgPSBuZXcgRGF0ZSgpOwpAQCAtMjAyLDE0ICsyMDYsNDAgQEAgZnVuY3Rpb24gcmVzdW1lKCkK
ICAgICAgICAgY3VycmVudFN0YWNrID0gbnVsbDsKICAgICB9CiAKKyAgICBwYXVzZU9uTmV4dFN0
YXRlbWVudCA9IGZhbHNlOworICAgIHN0ZXBwaW5nT3V0ID0gZmFsc2U7CisgICAgc3RlcHBpbmdP
dmVyID0gZmFsc2U7CisgICAgc3RlcHBpbmdTdGFjayA9IDA7CisKICAgICBEZWJ1Z2dlckRvY3Vt
ZW50LnJlc3VtZSgpOwogfQogCiBmdW5jdGlvbiBzdGVwSW50bygpCiB7CisgICAgcGF1c2VPbk5l
eHRTdGF0ZW1lbnQgPSBmYWxzZTsKKyAgICBzdGVwcGluZ091dCA9IGZhbHNlOworICAgIHN0ZXBw
aW5nT3ZlciA9IGZhbHNlOworICAgIHN0ZXBwaW5nU3RhY2sgPSAwOwogICAgIERlYnVnZ2VyRG9j
dW1lbnQuc3RlcEludG8oKTsKIH0KIAorZnVuY3Rpb24gc3RlcE92ZXIoKQoreworICAgIHBhdXNl
T25OZXh0U3RhdGVtZW50ID0gZmFsc2U7CisgICAgc3RlcHBpbmdPdmVyID0gdHJ1ZTsKKyAgICBz
dGVwcGluZ1N0YWNrID0gMDsKKyAgICBEZWJ1Z2dlckRvY3VtZW50LnJlc3VtZSgpOworfQorCitm
dW5jdGlvbiBzdGVwT3V0KCkKK3sKKyAgICBwYXVzZU9uTmV4dFN0YXRlbWVudCA9IGZhbHNlOwor
ICAgIHN0ZXBwaW5nT3ZlciA9IGZhbHNlOworICAgIHN0ZXBwaW5nU3RhY2sgPSAwOworICAgIHN0
ZXBwaW5nT3V0ID0gdHJ1ZTsKKyAgICBEZWJ1Z2dlckRvY3VtZW50LnJlc3VtZSgpOworfQorCiBm
dW5jdGlvbiBoYXNTdHlsZUNsYXNzKGVsZW1lbnQsIGNsYXNzTmFtZSkKIHsKICAgICByZXR1cm4g
KCBlbGVtZW50LmNsYXNzTmFtZS5pbmRleE9mKGNsYXNzTmFtZSkgIT0gLTEgKTsKQEAgLTI1Niwx
NCArMjg2LDE3IEBAIGZ1bmN0aW9uIG1vdmVCcmVha1BvaW50KGV2ZW50KQogICAgICAgICB2YXIg
c291cmNlc0RvY3VtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNvdXJjZXMiKS5jb250
ZW50RG9jdW1lbnQ7CiAgICAgICAgIHNvdXJjZXNEb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJt
b3VzZW1vdmUiLCBicmVha3BvaW50RHJhZywgdHJ1ZSk7CiAgICAgICAgIHNvdXJjZXNEb2N1bWVu
dC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwgYnJlYWtwb2ludERyYWdFbmQsIHRydWUpOwor
ICAgICAgICBzb3VyY2VzRG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3IgPSAiZGVmYXVsdCI7CiAg
ICAgfQogfQogCiBmdW5jdGlvbiBicmVha3BvaW50RHJhZyhldmVudCkKIHsKKyAgICB2YXIgc291
cmNlc0RvY3VtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNvdXJjZXMiKS5jb250ZW50
RG9jdW1lbnQ7CiAgICAgaWYgKCFkcmFnZ2luZ0JyZWFrcG9pbnQpIHsKICAgICAgICAgc291cmNl
c0RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIGJyZWFrcG9pbnREcmFn
LCB0cnVlKTsKICAgICAgICAgc291cmNlc0RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1v
dXNldXAiLCBicmVha3BvaW50RHJhZ0VuZCwgdHJ1ZSk7CisgICAgICAgIHNvdXJjZXNEb2N1bWVu
dC5ib2R5LnN0eWxlLmN1cnNvciA9IG51bGw7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAg
LTI3OCw3ICszMTEsNiBAQCBmdW5jdGlvbiBicmVha3BvaW50RHJhZyhldmVudCkKICAgICAgICAg
ICAgIHJlbW92ZVN0eWxlQ2xhc3MoZHJhZ2dpbmdCcmVha3BvaW50LnBhcmVudE5vZGUsICJkaXNh
YmxlZCIpOwogICAgICAgICAgICAgZHJhZ2dpbmdCcmVha3BvaW50LnN0YXJ0ZWQgPSB0cnVlOwog
Ci0gICAgICAgICAgICB2YXIgc291cmNlc0RvY3VtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInNvdXJjZXMiKS5jb250ZW50RG9jdW1lbnQ7CiAgICAgICAgICAgICB2YXIgZHJhZ0ltYWdl
ID0gc291cmNlc0RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOwogICAgICAgICAgICAgaWYg
KGRyYWdnaW5nQnJlYWtwb2ludC5pc0Rpc2FibGVkKQogICAgICAgICAgICAgICAgIGRyYWdJbWFn
ZS5zcmMgPSAiYnJlYWtQb2ludERpc2FibGVkLnRpZiI7CkBAIC0yODksMjAgKzMyMSwyMCBAQCBm
dW5jdGlvbiBicmVha3BvaW50RHJhZyhldmVudCkKICAgICAgICAgICAgIGRyYWdJbWFnZS5zdHls
ZS5sZWZ0ID0geCAtIDEyICsgInB4IjsKICAgICAgICAgICAgIHNvdXJjZXNEb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGRyYWdJbWFnZSk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB2
YXIgc291cmNlc0RvY3VtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNvdXJjZXMiKS5j
b250ZW50RG9jdW1lbnQ7CiAgICAgICAgICAgICB2YXIgZHJhZ0ltYWdlID0gc291cmNlc0RvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJicmVha3BvaW50RHJhZyIpOwogICAgICAgICAgICAgaWYgKCFk
cmFnSW1hZ2UpIHsKICAgICAgICAgICAgICAgICBzb3VyY2VzRG9jdW1lbnQucmVtb3ZlRXZlbnRM
aXN0ZW5lcigibW91c2Vtb3ZlIiwgYnJlYWtwb2ludERyYWcsIHRydWUpOwogICAgICAgICAgICAg
ICAgIHNvdXJjZXNEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwgYnJlYWtw
b2ludERyYWdFbmQsIHRydWUpOworICAgICAgICAgICAgICAgIHNvdXJjZXNEb2N1bWVudC5ib2R5
LnN0eWxlLmN1cnNvciA9IG51bGw7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBkcmFnSW1hZ2Uuc3R5bGUudG9wID0geSAtIDggKyAicHgiOwog
ICAgICAgICAgICAgZHJhZ0ltYWdlLnN0eWxlLmxlZnQgPSB4IC0gMTIgKyAicHgiOwogICAgICAg
ICAgICAgaWYgKHggPiA0MCkKLSAgICAgICAgICAgICAgICBkcmFnSW1hZ2Uuc3R5bGUub3BhY2l0
eSA9ICIwIjsKKyAgICAgICAgICAgICAgICBkcmFnSW1hZ2Uuc3R5bGUudmlzaWJpbGl0eSA9ICJo
aWRkZW4iOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGRyYWdJbWFnZS5zdHls
ZS5vcGFjaXR5ID0gbnVsbDsKKyAgICAgICAgICAgICAgICBkcmFnSW1hZ2Uuc3R5bGUudmlzaWJp
bGl0eSA9IG51bGw7CiAgICAgICAgIH0KIAogICAgICAgICBkcmFnZ2luZ0JyZWFrcG9pbnQuZHJh
Z0xhc3RYID0geDsKQEAgLTMxMiwyNSArMzQ0LDI1IEBAIGZ1bmN0aW9uIGJyZWFrcG9pbnREcmFn
KGV2ZW50KQogCiBmdW5jdGlvbiBicmVha3BvaW50RHJhZ0VuZChldmVudCkKIHsKLSAgICB2YXIg
eSA9IGV2ZW50LmNsaWVudFkgKyB3aW5kb3cuc2Nyb2xsWTsKLSAgICB2YXIgeCA9IGV2ZW50LmNs
aWVudFggKyB3aW5kb3cuc2Nyb2xsWDsKICAgICB2YXIgc291cmNlc0RvY3VtZW50ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInNvdXJjZXMiKS5jb250ZW50RG9jdW1lbnQ7CiAgICAgc291cmNl
c0RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIGJyZWFrcG9pbnREcmFn
LCB0cnVlKTsKICAgICBzb3VyY2VzRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1
cCIsIGJyZWFrcG9pbnREcmFnRW5kLCB0cnVlKTsKKyAgICBzb3VyY2VzRG9jdW1lbnQuYm9keS5z
dHlsZS5jdXJzb3IgPSBudWxsOwogCi0gICAgdmFyIHNvdXJjZXNEb2N1bWVudCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzb3VyY2VzIikuY29udGVudERvY3VtZW50OwogICAgIHZhciBkcmFn
SW1hZ2UgPSBzb3VyY2VzRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJyZWFrcG9pbnREcmFnIik7
CiAgICAgaWYgKCFkcmFnSW1hZ2UpCiAgICAgICAgIHJldHVybjsKIAogICAgIGRyYWdJbWFnZS5w
YXJlbnROb2RlLnJlbW92ZUNoaWxkKGRyYWdJbWFnZSk7CiAKKyAgICB2YXIgeCA9IGV2ZW50LmNs
aWVudFggKyB3aW5kb3cuc2Nyb2xsWDsKICAgICBpZiAoeCA+IDQwIHx8ICFkcmFnZ2luZ0JyZWFr
cG9pbnQpCiAgICAgICAgIHJldHVybjsKIAorICAgIHZhciB5ID0gZXZlbnQuY2xpZW50WSArIHdp
bmRvdy5zY3JvbGxZOwogICAgIHZhciByb3dIZWlnaHQgPSBkcmFnZ2luZ0JyZWFrcG9pbnQucGFy
ZW50Tm9kZS5vZmZzZXRIZWlnaHQ7CiAgICAgdmFyIHJvdyA9IE1hdGguY2VpbCh5IC8gcm93SGVp
Z2h0KTsKLSAgICBpZiAoIXJvdykKKyAgICBpZiAocm93IDw9IDApCiAgICAgICAgIHJvdyA9IDE7
CiAKICAgICB2YXIgZmlsZSA9IGZpbGVzW2N1cnJlbnRGaWxlXTsKQEAgLTMzOSw2ICszNzEsOCBA
QCBmdW5jdGlvbiBicmVha3BvaW50RHJhZ0VuZChldmVudCkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgdmFyIHRyID0gdGFibGUuY2hpbGROb2Rlcy5pdGVtKHJvdyAtIDEpOworICAgIGlmICghdHIp
CisgICAgICAgIHJldHVybjsKIAogICAgIGlmIChkcmFnZ2luZ0JyZWFrcG9pbnQuaXNEaXNhYmxl
ZCkKICAgICAgICAgYWRkU3R5bGVDbGFzcyh0ciwgImRpc2FibGVkIik7CkBAIC0zNTEsMTMgKzM4
NSwxMSBAQCBmdW5jdGlvbiBicmVha3BvaW50RHJhZ0VuZChldmVudCkKIGZ1bmN0aW9uIHRvdGFs
T2Zmc2V0VG9wKGVsZW1lbnQsIHN0b3ApCiB7CiAgICAgdmFyIGN1cnJlbnRUb3AgPSAwOwotICAg
IGlmIChlbGVtZW50Lm9mZnNldFBhcmVudCkgewotICAgICAgICB3aGlsZSAoZWxlbWVudC5vZmZz
ZXRQYXJlbnQpIHsKLSAgICAgICAgICAgIGN1cnJlbnRUb3AgKz0gZWxlbWVudC5vZmZzZXRUb3AK
LSAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudDsKLSAgICAgICAgICAg
IGlmIChlbGVtZW50ID09IHN0b3ApCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
KyAgICB3aGlsZSAoZWxlbWVudC5vZmZzZXRQYXJlbnQpIHsKKyAgICAgICAgY3VycmVudFRvcCAr
PSBlbGVtZW50Lm9mZnNldFRvcAorICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5vZmZzZXRQYXJl
bnQ7CisgICAgICAgIGlmIChlbGVtZW50ID09IHN0b3ApCisgICAgICAgICAgICBicmVhazsKICAg
ICB9CiAgICAgcmV0dXJuIGN1cnJlbnRUb3A7CiB9CkBAIC00MjEsMTAgKzQ1MywxMCBAQCBmdW5j
dGlvbiBzeW50YXhIaWdobGlnaHQoY29kZSkKICAgICAgICAgICAgIGVjaG9DaGFyKGNOZXh0KTsK
ICAgICAgICAgICAgIGZvciAoaSArPSAyOyBpIDwgY29kZS5sZW5ndGg7IGkrKykgewogICAgICAg
ICAgICAgICAgIGMgPSBjb2RlLmNoYXJBdChpKTsKLSAgICAgICAgICAgICAgICBpZiAoYyA9PSAi
XG4iIHx8IGMgPT0gIlxyIikKKyAgICAgICAgICAgICAgICBpZiAoYyA9PSAiXG4iKQogICAgICAg
ICAgICAgICAgICAgICByZXN1bHQgKz0gIjwvc3Bhbj4iOwogICAgICAgICAgICAgICAgIGVjaG9D
aGFyKGMpOwotICAgICAgICAgICAgICAgIGlmIChjID09ICJcbiIgfHwgYyA9PSAiXHIiKQorICAg
ICAgICAgICAgICAgIGlmIChjID09ICJcbiIpCiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCAr
PSAiPHNwYW4gY2xhc3M9XCJjb21tZW50XCI+IjsKICAgICAgICAgICAgICAgICBpZiAoY1ByZXYg
PT0gIioiICYmIGMgPT0gIi8iKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTQzOCw3
ICs0NzAsNyBAQCBmdW5jdGlvbiBzeW50YXhIaWdobGlnaHQoY29kZSkKICAgICAgICAgICAgIGVj
aG9DaGFyKGNOZXh0KTsKICAgICAgICAgICAgIGZvciAoaSArPSAyOyBpIDwgY29kZS5sZW5ndGg7
IGkrKykgewogICAgICAgICAgICAgICAgIGMgPSBjb2RlLmNoYXJBdChpKTsKLSAgICAgICAgICAg
ICAgICBpZiAoYyA9PSAiXG4iIHx8IGMgPT0gIlxyIikKKyAgICAgICAgICAgICAgICBpZiAoYyA9
PSAiXG4iKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBlY2hv
Q2hhcihjKTsKICAgICAgICAgICAgIH0KQEAgLTU3MSw3ICs2MDMsNyBAQCBmdW5jdGlvbiBsb2Fk
RmlsZShmaWxlSW5kZXgsIG1hbmFnZU5hdkxpCiAgICAgICAgIGZpbGVzW2N1cnJlbnRGaWxlXS5l
bGVtZW50LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAKICAgICBpZiAoIWZpbGUubG9hZGVkKSB7
Ci0gICAgICAgIGZpbGUubGluZXMgPSBmaWxlLnNvdXJjZS5zcGxpdCgvW1xuXHJdLyk7CisgICAg
ICAgIGZpbGUuc291cmNlID0gZmlsZS5zb3VyY2UucmVwbGFjZSgvXHJcbnxcci8sICJcbiIpOyAv
LyBub3JtYWxpemUgbGluZSBlbmRpbmdzCiAKICAgICAgICAgdmFyIHNvdXJjZXNEb2N1bWVudCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzb3VyY2VzIikuY29udGVudERvY3VtZW50OwogICAg
ICAgICB2YXIgc291cmNlc0RpdiA9IHNvdXJjZXNEb2N1bWVudC5ib2R5OwpAQCAtNTgzLDcgKzYx
NSw3IEBAIGZ1bmN0aW9uIGxvYWRGaWxlKGZpbGVJbmRleCwgbWFuYWdlTmF2TGkKICAgICAgICAg
dmFyIHRhYmxlID0gc291cmNlc0RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIik7CiAgICAg
ICAgIHNvdXJjZURpdi5hcHBlbmRDaGlsZCh0YWJsZSk7CiAKLSAgICAgICAgdmFyIGxpbmVzID0g
c3ludGF4SGlnaGxpZ2h0KGZpbGUuc291cmNlKS5zcGxpdCgvW1xuXHJdLyk7CisgICAgICAgIHZh
ciBsaW5lcyA9IHN5bnRheEhpZ2hsaWdodChmaWxlLnNvdXJjZSkuc3BsaXQoIlxuIik7CiAgICAg
ICAgIGZvciggdmFyIGkgPSAwOyBpIDwgbGluZXMubGVuZ3RoOyBpKysgKSB7CiAgICAgICAgICAg
ICB2YXIgdHIgPSBzb3VyY2VzRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKTsKICAgICAgICAg
ICAgIHZhciB0ZCA9IHNvdXJjZXNEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpOwpAQCAtNTk1
LDcgKzYyNyw3IEBAIGZ1bmN0aW9uIGxvYWRGaWxlKGZpbGVJbmRleCwgbWFuYWdlTmF2TGkKIAog
ICAgICAgICAgICAgdGQgPSBzb3VyY2VzRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTsKICAg
ICAgICAgICAgIHRkLmNsYXNzTmFtZSA9ICJzb3VyY2UiOwotICAgICAgICAgICAgdGQuaW5uZXJI
VE1MID0gbGluZXNbaV07CisgICAgICAgICAgICB0ZC5pbm5lckhUTUwgPSAobGluZXNbaV0ubGVu
Z3RoID8gbGluZXNbaV0gOiAiJm5ic3A7Iik7CiAgICAgICAgICAgICB0ci5hcHBlbmRDaGlsZCh0
ZCk7CiAgICAgICAgICAgICB0YWJsZS5hcHBlbmRDaGlsZCh0cik7CiAgICAgICAgIH0KQEAgLTYz
Nyw3ICs2NjksNiBAQCBmdW5jdGlvbiB1cGRhdGVGaWxlU291cmNlKHNvdXJjZSwgdXJsLCBmCiAg
ICAgaWYgKGZvcmNlIHx8IGZpbGUuc291cmNlLmxlbmd0aCAhPSBzb3VyY2UubGVuZ3RoIHx8IGZp
bGUuc291cmNlICE9IHNvdXJjZSkgewogICAgICAgICBmaWxlLnNvdXJjZSA9IHNvdXJjZTsKICAg
ICAgICAgZmlsZS5sb2FkZWQgPSBmYWxzZTsKLSAgICAgICAgZmlsZS5saW5lcyA9IG51bGw7CiAK
ICAgICAgICAgaWYgKGZpbGUuZWxlbWVudCkgewogICAgICAgICAgICAgZmlsZS5lbGVtZW50LnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQoZmlsZS5lbGVtZW50KTsKQEAgLTY3OCw3ICs3MDksNiBAQCBm
dW5jdGlvbiBkaWRQYXJzZVNjcmlwdChzb3VyY2UsIGZpbGVTb3VyCiAgICAgfQogCiAgICAgdmFy
IHNvdXJjZU9iaiA9IG5ldyBPYmplY3QoKTsKLSAgICBzb3VyY2VPYmouc291cmNlID0gc291cmNl
OwogICAgIHNvdXJjZU9iai5maWxlID0gZmlsZUluZGV4OwogICAgIHNvdXJjZU9iai5iYXNlTGlu
ZU51bWJlciA9IGJhc2VMaW5lTnVtYmVyOwogICAgIGZpbGUuc2NyaXB0cy5wdXNoKHNvdXJjZUlk
KTsKQEAgLTcwMSw4ICs3MzEsMTAgQEAgZnVuY3Rpb24gd2lsbEV4ZWN1dGVTdGF0ZW1lbnQoc291
cmNlSWQsIAogICAgIGlmICghZmlsZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGZpbGUu
YnJlYWtwb2ludHNbbGluZV0gPT0gMSkKKyAgICBpZiAocGF1c2VPbk5leHRTdGF0ZW1lbnQgfHwg
ZmlsZS5icmVha3BvaW50c1tsaW5lXSA9PSAxIHx8IChzdGVwcGluZ092ZXIgJiYgIXN0ZXBwaW5n
U3RhY2spKSB7CiAgICAgICAgIHBhdXNlKCk7CisgICAgICAgIHBhdXNlT25OZXh0U3RhdGVtZW50
ID0gZmFsc2U7CisgICAgfQogCiAgICAgaWYgKGlzUGF1c2VkKCkpIHsKICAgICAgICAgaWYgKGN1
cnJlbnRGaWxlICE9IHNjcmlwdC5maWxlKQpAQCAtNzExLDEyICs3NDMsMTUgQEAgZnVuY3Rpb24g
d2lsbEV4ZWN1dGVTdGF0ZW1lbnQoc291cmNlSWQsIAogICAgICAgICAgICAgcmVtb3ZlU3R5bGVD
bGFzcyhjdXJyZW50Um93LCAiY3VycmVudCIpOwogICAgICAgICBpZiAoIWZpbGUuZWxlbWVudCkK
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKGZpbGUuZWxlbWVudC5maXJzdENoaWxk
LmNoaWxkTm9kZXMubGVuZ3RoIDwgbGluZSkKKyAgICAgICAgaWYgKGxpbmUgPiBmaWxlLmVsZW1l
bnQuZmlyc3RDaGlsZC5jaGlsZE5vZGVzLmxlbmd0aCkKICAgICAgICAgICAgIHJldHVybjsKIAog
ICAgICAgICB1cGRhdGVGdW5jdGlvblN0YWNrKCk7CiAKICAgICAgICAgY3VycmVudFJvdyA9IGZp
bGUuZWxlbWVudC5maXJzdENoaWxkLmNoaWxkTm9kZXMuaXRlbShsaW5lIC0gMSk7CisgICAgICAg
IGlmICghY3VycmVudFJvdykKKyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICBhZGRTdHls
ZUNsYXNzKGN1cnJlbnRSb3csICJjdXJyZW50Iik7CiAKICAgICAgICAgdmFyIHNvdXJjZXNEaXYg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic291cmNlcyIpOwpAQCAtNzMwLDEwICs3NjUsMjIg
QEAgZnVuY3Rpb24gd2lsbEV4ZWN1dGVTdGF0ZW1lbnQoc291cmNlSWQsIAogCiBmdW5jdGlvbiBk
aWRFbnRlckNhbGxGcmFtZShzb3VyY2VJZCwgbGluZSkKIHsKKyAgICBpZiAoc3RlcHBpbmdPdmVy
IHx8IHN0ZXBwaW5nT3V0KQorICAgICAgICBzdGVwcGluZ1N0YWNrKys7CiAgICAgd2lsbEV4ZWN1
dGVTdGF0ZW1lbnQoc291cmNlSWQsIGxpbmUpOwogfQogCiBmdW5jdGlvbiB3aWxsTGVhdmVDYWxs
RnJhbWUoc291cmNlSWQsIGxpbmUpCiB7CisgICAgaWYgKGxpbmUgPD0gMCkKKyAgICAgICAgcmVz
dW1lKCk7CiAgICAgd2lsbEV4ZWN1dGVTdGF0ZW1lbnQoc291cmNlSWQsIGxpbmUpOworICAgIGlm
ICghc3RlcHBpbmdTdGFjaykKKyAgICAgICAgc3RlcHBpbmdPdmVyID0gZmFsc2U7CisgICAgaWYg
KHN0ZXBwaW5nT3V0ICYmICFzdGVwcGluZ1N0YWNrKSB7CisgICAgICAgIHN0ZXBwaW5nT3V0ID0g
ZmFsc2U7CisgICAgICAgIHBhdXNlT25OZXh0U3RhdGVtZW50ID0gdHJ1ZTsKKyAgICB9CisgICAg
aWYgKChzdGVwcGluZ092ZXIgfHwgc3RlcHBpbmdPdXQpICYmIHN0ZXBwaW5nU3RhY2sgPj0gMSkK
KyAgICAgICAgc3RlcHBpbmdTdGFjay0tOwogfQpJbmRleDogRHJvc2VyYS92aWV3ZXIuY3NzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIERyb3NlcmEvdmlld2VyLmNzcwkocmV2aXNpb24gMTUxNDApCisrKyBEcm9z
ZXJhL3ZpZXdlci5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTI5LDkgKzI5LDkgQEAKIGJvZHkgeyBi
YWNrZ3JvdW5kLWltYWdlOiB1cmwoZ3V0dGVyLnBuZyk7IGJhY2tncm91bmQtcmVwZWF0OiByZXBl
YXQteTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9CiBpbWcgeyBwYWRkaW5nOiAwOyBtYXJnaW46
IDA7IH0KIAotdGFibGUgeyBib3JkZXItc3BhY2luZzogMDsgcGFkZGluZzogMDsgbWFyZ2luOiAw
OyB9Ci0uZ3V0dGVyIHsgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgd2lkdGg6IDMycHg7IG1p
bi13aWR0aDogMzJweDsgbWF4LXdpZHRoOiAzMnB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBm
b250LXNpemU6IDlweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6ICM4ODg7IHRleHQt
YWxpZ246IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiA0cHg7IH0KLS5zb3VyY2UgeyBmb250LWZhbWls
eTogTW9uYWNvLCBtb25vc3BhY2U7IHdoaXRlLXNwYWNlOiBwcmU7IHBhZGRpbmctbGVmdDogNHB4
OyBwYWRkaW5nLXJpZ2h0OiA0cHg7IGZvbnQtc2l6ZTogMTFweCB9Cit0YWJsZSB7IGJvcmRlci1z
cGFjaW5nOiAwOyBwYWRkaW5nOiAwOyBtYXJnaW46IDA7IHdpZHRoOiAxMDAlOyB9CisuZ3V0dGVy
IHsgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgY3Vyc29yOiBkZWZhdWx0OyB3aWR0aDogMzJw
eDsgbWluLXdpZHRoOiAzMnB4OyBtYXgtd2lkdGg6IDMycHg7IGJveC1zaXppbmc6IGJvcmRlci1i
b3g7IGZvbnQtc2l6ZTogOXB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogIzg4ODsg
dGV4dC1hbGlnbjogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IDRweDsgfQorLnNvdXJjZSB7IGZvbnQt
ZmFtaWx5OiBNb25hY28sIG1vbm9zcGFjZTsgd2hpdGUtc3BhY2U6IHByZTsgcGFkZGluZy1sZWZ0
OiA0cHg7IHBhZGRpbmctcmlnaHQ6IDRweDsgZm9udC1zaXplOiAxMXB4OyBsaW5lLWhlaWdodDog
MTRweDsgfQogCiAua2V5d29yZCB7IGNvbG9yOiAjOGIwMDUzIH0KIC5zdHJpbmcgeyBjb2xvcjog
I2EwMDAwMCB9CkluZGV4OiBEcm9zZXJhL0Ryb3NlcmEueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBEcm9zZXJhL0Ryb3NlcmEueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkocmV2aXNpb24gMTUxNDApCisrKyBEcm9zZXJhL0Ryb3NlcmEueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjEsNiArMjEsNyBAQAogCQkxQzRGRjk0RTBBNDVG
NTA2MDAwMEQwNUQgLyogcG9wVXBBcnJvd3MucG5nIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzRGRjk0RDBBNDVGNTA2MDAwMEQwNUQgLyogcG9wVXBB
cnJvd3MucG5nICovOyB9OwogCQkxQzRGRkU1RTBBNDY2RjVEMDAwMEQwNUQgLyogcHJvZ3JhbUNv
dW50ZXJCcmVha1BvaW50LnRpZiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUM0RkZFNUMwQTQ2NkY1RDAwMDBEMDVEIC8qIHByb2dyYW1Db3VudGVyQnJl
YWtQb2ludC50aWYgKi87IH07CiAJCTFDNEZGRTVGMEE0NjZGNUQwMDAwRDA1RCAvKiBwcm9ncmFt
Q291bnRlckJyZWFrUG9pbnREaXNhYmxlZC50aWYgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNEZGRTVEMEE0NjZGNUQwMDAwRDA1RCAvKiBwcm9ncmFt
Q291bnRlckJyZWFrUG9pbnREaXNhYmxlZC50aWYgKi87IH07CisJCTFDNkY4M0ZGMEE1OEU5N0Qw
MDRGQ0Q4OSAvKiBzdGVwT3V0LnRpZiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUM2RjgzRkUwQTU4RTk3RDAwNEZDRDg5IC8qIHN0ZXBPdXQudGlmICov
OyB9OwogCQkxQzc0RjAzNTBBNDdCRjgzMDBGRUM2MzIgLyogdmlld2VyLmh0bWwgaW4gUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNzRGMDM0MEE0N0JGODMw
MEZFQzYzMiAvKiB2aWV3ZXIuaHRtbCAqLzsgfTsKIAkJMUM3NEYwNEIwQTQ3QkZFODAwRkVDNjMy
IC8qIHZpZXdlci5jc3MgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFDNzRGMDNBMEE0N0JGRDYwMEZFQzYzMiAvKiB2aWV3ZXIuY3NzICovOyB9OwogCQkx
Qzc0RjE4NTBBNDdERUU2MDBGRUM2MzIgLyogRGVidWdnZXJBcHBsaWNhdGlvbi5tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM3NEYxODQwQTQ3REVFNjAw
RkVDNjMyIC8qIERlYnVnZ2VyQXBwbGljYXRpb24ubSAqLzsgfTsKQEAgLTM3LDEyICszOCwxMCBA
QAogCQkxQ0MwNTkxNzBBNDRBMjEwMDA2RkU1MzMgLyogc3BsaXR0ZXJCYXIudGlmIGluIFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0MwNThFMTBBNDRBMjEw
MDA2RkU1MzMgLyogc3BsaXR0ZXJCYXIudGlmICovOyB9OwogCQkxQ0MwNTkxODBBNDRBMjEwMDA2
RkU1MzMgLyogc3BsaXR0ZXJEaW1wbGUudGlmIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0MwNThFMjBBNDRBMjEwMDA2RkU1MzMgLyogc3BsaXR0ZXJE
aW1wbGUudGlmICovOyB9OwogCQkxQ0MwNTkxQTBBNDRBMjEwMDA2RkU1MzMgLyogY29udGludWUu
dGlmIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0Mw
NThFNDBBNDRBMjEwMDA2RkU1MzMgLyogY29udGludWUudGlmICovOyB9OwotCQkxQ0MwNTkxQzBB
NDRBMjEwMDA2RkU1MzMgLyogZmluaXNoRnVuY3Rpb24udGlmIGluIFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0MwNThFNjBBNDRBMjEwMDA2RkU1MzMgLyog
ZmluaXNoRnVuY3Rpb24udGlmICovOyB9OwogCQkxQ0MwNTkxRDBBNDRBMjEwMDA2RkU1MzMgLyog
cGF1c2UudGlmIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQ0MwNThFNzBBNDRBMjEwMDA2RkU1MzMgLyogcGF1c2UudGlmICovOyB9OwogCQkxQ0MwNTkx
RTBBNDRBMjEwMDA2RkU1MzMgLyogcnVuLnRpZiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDMDU4RTgwQTQ0QTIxMDAwNkZFNTMzIC8qIHJ1bi50aWYg
Ki87IH07CiAJCTFDQzA1OTFGMEE0NEEyMTAwMDZGRTUzMyAvKiBzdGVwLnRpZiBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDMDU4RTkwQTQ0QTIxMDAw
NkZFNTMzIC8qIHN0ZXAudGlmICovOyB9OwogCQkxQ0MwNTkyMDBBNDRBMjEwMDA2RkU1MzMgLyog
c3RlcE92ZXIudGlmIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQ0MwNThFQTBBNDRBMjEwMDA2RkU1MzMgLyogc3RlcE92ZXIudGlmICovOyB9OwotCQkx
Q0MwNTkyMTBBNDRBMjEwMDA2RkU1MzMgLyogc3RvcC50aWYgaW4gUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzA1OEVCMEE0NEEyMTAwMDZGRTUzMyAvKiBz
dG9wLnRpZiAqLzsgfTsKIAkJMUNDMDU5NzAwQTQ0QTQ4NTAwNkZFNTMzIC8qIHRvb2xiYXJCYWNr
Z3JvdW5kLnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUNDMDU5NkYwQTQ0QTQ4NTAwNkZFNTMzIC8qIHRvb2xiYXJCYWNrZ3JvdW5kLnBuZyAqLzsg
fTsKIAkJMUNENDM0QjIwQTRCODZGODAwQTAwN0FCIC8qIGdsb3NzeUhlYWRlclByZXNzZWQucG5n
IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0Q0MzRC
MTBBNEI4NkY4MDBBMDA3QUIgLyogZ2xvc3N5SGVhZGVyUHJlc3NlZC5wbmcgKi87IH07CiAJCTFD
RDhENTY5MEE0OTA0MUMwMEU1Njc3QiAvKiBsYXVuY2hlci5tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNEOEQ1NjgwQTQ5MDQxQzAwRTU2NzdCIC8qIGxh
dW5jaGVyLm0gKi87IH07CkBAIC04Miw2ICs4MSw3IEBACiAJCTFDNEZGOTREMEE0NUY1MDYwMDAw
RDA1RCAvKiBwb3BVcEFycm93cy5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSBwb3BVcEFycm93cy5wbmc7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNEZGRTVDMEE0NjZGNUQwMDAwRDA1RCAvKiBwcm9n
cmFtQ291bnRlckJyZWFrUG9pbnQudGlmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gaW1hZ2UudGlmZjsgcGF0aCA9IHByb2dyYW1Db3VudGVyQnJlYWtQ
b2ludC50aWY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNEZGRTVEMEE0NjZGNUQw
MDAwRDA1RCAvKiBwcm9ncmFtQ291bnRlckJyZWFrUG9pbnREaXNhYmxlZC50aWYgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS50aWZmOyBwYXRo
ID0gcHJvZ3JhbUNvdW50ZXJCcmVha1BvaW50RGlzYWJsZWQudGlmOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxQzZGODNGRTBBNThFOTdEMDA0RkNEODkgLyogc3RlcE91dC50aWYgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS50aWZm
OyBwYXRoID0gc3RlcE91dC50aWY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNzRG
MDM0MEE0N0JGODMwMEZFQzYzMiAvKiB2aWV3ZXIuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsg
cGF0aCA9IHZpZXdlci5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7
IHVzZXNUYWJzID0gMDsgfTsKIAkJMUM3NEYwM0EwQTQ3QkZENjAwRkVDNjMyIC8qIHZpZXdlci5j
c3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gdmlld2VyLmNzczsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTFDNzRGMTgzMEE0N0RFRTYw
MEZFQzYzMiAvKiBEZWJ1Z2dlckFwcGxpY2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERlYnVnZ2VyQXBwbGljYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
dGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CkBAIC0xOTcsNiArMTk3LDcgQEAKIAkJCQkx
Q0MwNThFNzBBNDRBMjEwMDA2RkU1MzMgLyogcGF1c2UudGlmICovLAogCQkJCTFDQzA1OEU4MEE0
NEEyMTAwMDZGRTUzMyAvKiBydW4udGlmICovLAogCQkJCTFDQzA1OEU5MEE0NEEyMTAwMDZGRTUz
MyAvKiBzdGVwLnRpZiAqLywKKwkJCQkxQzZGODNGRTBBNThFOTdEMDA0RkNEODkgLyogc3RlcE91
dC50aWYgKi8sCiAJCQkJMUNDMDU4RUEwQTQ0QTIxMDAwNkZFNTMzIC8qIHN0ZXBPdmVyLnRpZiAq
LywKIAkJCQkxQ0MwNThFQjBBNDRBMjEwMDA2RkU1MzMgLyogc3RvcC50aWYgKi8sCiAJCQkJMUND
MDU5NkYwQTQ0QTQ4NTAwNkZFNTMzIC8qIHRvb2xiYXJCYWNrZ3JvdW5kLnBuZyAqLywKQEAgLTM2
NywxMiArMzY4LDEwIEBACiAJCQkJMUNDMDU5MTcwQTQ0QTIxMDAwNkZFNTMzIC8qIHNwbGl0dGVy
QmFyLnRpZiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUNDMDU5MTgwQTQ0QTIxMDAwNkZFNTMzIC8q
IHNwbGl0dGVyRGltcGxlLnRpZiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUNDMDU5MUEwQTQ0QTIx
MDAwNkZFNTMzIC8qIGNvbnRpbnVlLnRpZiBpbiBSZXNvdXJjZXMgKi8sCi0JCQkJMUNDMDU5MUMw
QTQ0QTIxMDAwNkZFNTMzIC8qIGZpbmlzaEZ1bmN0aW9uLnRpZiBpbiBSZXNvdXJjZXMgKi8sCiAJ
CQkJMUNDMDU5MUQwQTQ0QTIxMDAwNkZFNTMzIC8qIHBhdXNlLnRpZiBpbiBSZXNvdXJjZXMgKi8s
CiAJCQkJMUNDMDU5MUUwQTQ0QTIxMDAwNkZFNTMzIC8qIHJ1bi50aWYgaW4gUmVzb3VyY2VzICov
LAogCQkJCTFDQzA1OTFGMEE0NEEyMTAwMDZGRTUzMyAvKiBzdGVwLnRpZiBpbiBSZXNvdXJjZXMg
Ki8sCiAJCQkJMUNDMDU5MjAwQTQ0QTIxMDAwNkZFNTMzIC8qIHN0ZXBPdmVyLnRpZiBpbiBSZXNv
dXJjZXMgKi8sCi0JCQkJMUNDMDU5MjEwQTQ0QTIxMDAwNkZFNTMzIC8qIHN0b3AudGlmIGluIFJl
c291cmNlcyAqLywKIAkJCQkxQ0MwNTk3MDBBNDRBNDg1MDA2RkU1MzMgLyogdG9vbGJhckJhY2tn
cm91bmQucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkxQzRGRjc0NDBBNDRGNTJDMDAwMEQwNUQg
LyogZGVidWdnZXIuY3NzIGluIFJlc291cmNlcyAqLywKIAkJCQkxQzRGRjc1NDBBNDRGNjMyMDAw
MEQwNUQgLyogZ3V0dGVyLnBuZyBpbiBSZXNvdXJjZXMgKi8sCkBAIC0zODgsNiArMzg3LDcgQEAK
IAkJCQkxQzI2MzJEODBBNEFGMEI4MDBFQTdDRDggLyogU291cmNlQXJyb3dCbGFuay5wbmcgaW4g
UmVzb3VyY2VzICovLAogCQkJCTFDMjYzMkRBMEE0QUYwRDIwMEVBN0NEOCAvKiBiYWNrZ3JvdW5k
X3N0cmlwZS5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTFDRDQzNEIyMEE0Qjg2RjgwMEEwMDdB
QiAvKiBnbG9zc3lIZWFkZXJQcmVzc2VkLnBuZyBpbiBSZXNvdXJjZXMgKi8sCisJCQkJMUM2Rjgz
RkYwQTU4RTk3RDAwNEZDRDg5IC8qIHN0ZXBPdXQudGlmIGluIFJlc291cmNlcyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6
IERyb3NlcmEvSW1hZ2VzL3N0ZXBPdXQudGlmCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZp
bGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9v
Y3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IERyb3NlcmEvSW1hZ2VzL3N0ZXBPdXQu
dGlmCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0
LXN0cmVhbQoKVFUwQUtnQUFDRVNBQUNCUU9DUVdEUWVFUW1GUXVHUTJIUStJUkdKUk9LUldMUmVN
Um1OUnVPUk1BeDhQQ1VYRVFhajhuSUFpazh3cgpNbWxnMU5zb2xzM3ZhWXpPV3krVXl1U3llUXlN
QVI4QXgyaFJHUkRnckVNbkY5V25ZL3BGL3AxU3JWL3I1aXROL3R0d3V4L3V4NVB5CnQxMS90ZHZP
cC9ybGdzOS9wWlBxOS9uQTlJNS9rTW0wcWlsYWgzY0FBOEpoZ1JEa2lsUkhIcEJKWjhMVmRzdC90
NXlQTi9zdHB1Ui8KclpnTmQvcVJZTWwvcGxTc04vcGRTc0YvcUZYc2gvcTFkTkYvcnBpTmwvc05t
T0ducWRkMjA5STk4RGtpRk5IWHErWGlKaFVOaUVZRQpZb21OVnAxU0xaL3ROdHV0L3NCbHQ5L3A5
VzZST0toaVA5T0tyc3B0VTV4THFOZnY5S3FKZlA5TUtaZ1dsU2FCS0tMMSsvenFKWDVoClRyUEVI
OUZxSi9rWW9PTTREaE44aFRlQkU0ampGVVdUT0djYTUwbitVNWFtYzdSVkdLNlpXbU5DenJGVkRC
S0ZHWGgvbG9Yc0pGbVgKa0pFWVRaY24rU1pRdlhGYjFrZ1Q3emtjVDVlbi9HRHpreVU3c2orUmhU
djYvNVZ3TEFhQ3R3d0JPRklYQi93WkJ4T0ZYQ3BPbFhERApxTkpLY0p3d1NSUHRtVjVjTXdlNTdu
eWY1N1MrZjVWbG9ZNS9rUVN6bEVhVGtheG5HcEdrNjJaR0U0WFIvenBPeElsQzg0N2tLVHAvCmh5
SWJBU0d1bzlFSVRCOEdnYkt5RktXY0pTYktUcXFmQzcwT3hPNU55U1ZoYXpQTVI4SC9UOVFWQWVw
NzA4VkJaUXFRUktGaWY1RkUKM094RnpxZjlZVmZXSkdUbEcwYUgrTW80a1NmQVNCY295T3FBSVFu
akFWcFlGMHhCZEdLYmpNbFJDc210SVRVTnJUSFIva2FUelpsWQpXeGxURFVsUTNCY05QMDZmNVV6
TWY1Q2tzcVJFazQyZFlObmRsNFhiYThZbitQcEdsUWY0aExtVnFmbytqQ2VpSU9ZK2ttZjVvRzJy
ClJOU2lmOXB3eGhyTzJzU2IybitXUmV0UlVoOVhGaldObi9qQi9sWVhCbUgrUVpLRm5rZVNuK1FS
SmxsbE9WNWFXQi9rU1RNa2kyTTQKL24rRG9TaGFJaU1KMlFCSWs2dGhkR01iMXF3cVRKVVF3VE5x
RW9VcnNrY1VMUUVRVFU3RDhTR1dEWVB4UUgrVFpUTm5qUk1GRXFReApqbVNwL2ptUXBTSCtQUkZs
VmV4SEZidCs0ajd1RzVidGttV0RPT3k0QmtIZ2xrQWpBaGllTVJabE9XVU1GRVdVSkVucDJqSC9w
c0trCmdVVE9FWGVwRGszRDVDa3pPdzZFUHQydTYvY1JORkxKSTJqK1R4L2p5UlpVN1gxZTFrWnR3
OWRoMTVWOWYySkdkcnVtNGppUVJPSCsKSHdraTJXYU1DV0xBMW0yVjVmS3NTbHFFZ1VqT0VqeHZu
TTRSbW81amVwQmt6RkszN2lOWS85OTBjazQxOEovKzkzdzdrWGZQMGZWOQpKLy9YOTMyL2Y5NDg5
bU81RTdVSVFuREViZmlDd05nOWhXaTlHc3JJVDU2M3FtZ0VhNU5PNzFoRXdGWHNKRmxnZEJFaWxi
T0lpQ2daCncrQ1pNNktNNVRHanduS2d4Qm9PY0ZvS3dVaEhDYUVrSjJ6aUpSOEhPRmtLMGZCNUVh
MjVmWVh4N0VZQ0lGRU1nOWhRaXpHZzljMEQKMVhxQ2hNNUEwOVllaEd0eERtSVp0UWNZbUQvaWMy
b01vZVJMbWRGRUxSallsNHJxNmlwRkNKNGNSQ244aWpGNkNrWTRsd21FTkdpQwpnZDBlai9Cd0VR
SzBOeUxnNENLRmNid2pVV1JBVFJBNFF3blR6d1NYeUc0UVFueC95Q2tKSWFRc2d4L2hrRHVKWXpJ
cEJic2JFekpDClJjalpFeUhrVklnTndneFFsdGpESjV0UWNHMHhlYlZJSlA0TFFjaEtHOFJnRm9P
QWtpN0Q2SkV0Z2lCUG1jRUtKdzg4VG9LQnJFQkkKU1hrdnBldmxtREwrUlllUk1EL0MrSFFTZy93
dEJ1TGhNMHVFeVpsaGttTk1LWUV2cEZCdEVGSjJiVW5aTm44bStXMko0WkE3Rk9CTQpEQUh3dXlN
QWpsUUk2YlNmeEZ4RWJPMjBmNGFBK2lhbnFIMTMwOXA5ejZuelBpZTArQXpCN21PR0FPZ2twbUJ2
RWJRbWhkQnFFVURtClBRR2ZMdmcxQi9UK0d1UlZHSkNUZGZMSXFVUi9BcWhsWnVDQUZBTkJIRVlB
c1NFS1lQd25obFpHSjFHb1pROVFhaENQK0RFK0tiMDIKZ3lycW5kTW9OQmREa1U0UndteTJEVkcw
YkNveHNLaHN3cUFJK25WTkErVUFvc1AraXNoQTFUQnF2SVFOQWY2TnlLQmVEb0pvL3dMQQpkQkdG
TWpKUUFTZ3hCK0xnTGdjUkZ6MWUvSXVtZGNvTkJrcm5YYXV0ZDY1aFhEV0lvZjlTV04yQUN1R3dS
bFBKOEJscWpUYXFZYUtzClRicmhWcVlJVmcxQ0ZIK0I0RklOaGNMK0tDUnNESUlnVkJuQktETUlv
K2F0ejRydEZXdkZkSkYwN3RUYW13ZGhhakRpc0NOcTJRVncKM1dGc1E3NW15ZjdHV1F0OHJxZnda
WjdqL3REYU1DOUpBenBEQXlDTUZ3bmdiQkdDeXJvUDgrQXdoNWtjR0tMb1lxNzJKREpZa0xnYwpx
RUpzWlpVWWNkZjdhRC9FY0oxa3dYUTdObXVFbjltMGhMNDJLa0pkMnc5aVFaaERDd1A4RFFKQVlD
ZVNHUVFCb0VRS2dyczZDNFhJCk53a2hldFhCcTZzanJxeFZERGR0M3dZZzlpYkgrRjBPalpncmh2
S2NGY09CVHIyUlZ2ZmZTNEVoTVM0VGcxZHFEVnp3dUQvdVdEQVgKT0E4QzRCSU9CRUN3SEFkZ1dB
K0N3WFFKZ2JoS0grRjRPekJjSHpJRHZoTENsd0UvM0N4UlZ5NldLQStwL3U2bi9GZy84cjVFbk1E
WQpKSS93TGdpeDlqakhXTmlIWTBCV0JVRHdLaFFnU0E4QzBmT0NzR1hhaXJsZTdVK002NVlEMW5i
UE5xOEs1N3hVUC9DSS93YkJIeGVCCkVEZ0xCODVvelZtYk1oQkxOZ0FBS1FNQnhBd0tFREFycGFs
SUpnNkFOQXFDRVlZQXdJZ2VzcUMwSUkvd2RCTURDUDhKNFpBKzVEbkwKcTRTQS93bWhpRDRvQUpR
WDlSZy9IK0FNQ0dvdE9hZTB5SElnWUU5aGtEQWlRTUJaQXdDRUQwZVJUUjRBaUJnSklHQmNnWUlD
QmdsSQpHQ2NnWUtWL0FxQWtCa0VJYndKZ2NCT0tVQmdFZ1BqTkFLQVlCNDZRQWdDQUVQcmQrOGQx
N3QzUHVuY2U1ZHY3aDI3dHNnWUppQmdqCklHQnpZcEFnRGtEMmdRTFpwSGlCZ0RJR0EvYVpBd05F
REE2UU1EeEF3UThZNDBRTGpQSE9OZ0E0N3lEai9JZVE3V0lGeGNnWEJDQmMKVElFQmJTWERkbUZE
MmZ6QWdXeXlCYVI1dVFQbkdrRUI4NzU5c3JtZ0FPSEVDNFNUL01taitrY3g0VjBybzNTK25kTjZo
MG5wL1V1bwo5TTZwd3NoNUFRQU9BUUFBQXdBQUFBRUFJQUFBQVFFQUF3QUFBQUVBSUFBQUFRSUFB
d0FBQUFRQUFBanlBUU1BQXdBQUFBRUFCUUFBCkFRWUFBd0FBQUFFQUFnQUFBUkVBQkFBQUFBRUFB
QUFJQVJVQUF3QUFBQUVBQkFBQUFSWUFCQUFBQUFFQUFBRUFBUmNBQkFBQUFBRUEKQUFnOEFSb0FC
UUFBQUFFQUFBajZBUnNBQlFBQUFBRUFBQWtDQVJ3QUF3QUFBQUVBQVFBQUFTZ0FBd0FBQUFFQUFn
QUFBVklBQXdBQQpBQUVBQVFBQUFBQUFBQUFJQUFnQUNBQUlBQXI4Z0FBQUp4QUFDdnlBQUFBbkVB
PT0KCg==
</data>
<flag name="review"
          id="2745"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>