<?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>9665</bug_id>
          
          <creation_ts>2006-06-30 04:42:37 -0700</creation_ts>
          <short_desc>[Drosera] Conditional breakpoints</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>P3</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Hurshman">jhurshman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>47815</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Hurshman">jhurshman</who>
    <bug_when>2006-06-30 04:42:37 -0700</bug_when>
    <thetext>In Venkman, one can create conditional breakpoints, specifying arbitrary JS code which is evaluated in the scope of the breakpoint, and whose return value determines whether the breakpoint stops execution or not. This would be useful to have in Drosera as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54493</commentid>
    <comment_count>1</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-10-05 10:04:54 -0700</bug_when>
    <thetext>Related to bug 11175.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53835</commentid>
    <comment_count>2</comment_count>
      <attachid>10957</attachid>
    <who name="David Smith">catfish.man</who>
    <bug_when>2006-10-06 18:03:01 -0700</bug_when>
    <thetext>Created attachment 10957
Adds conditional breakpoint support

The breakpoint editor window would likely be a temporary measure until 11175 is implemented, but it&apos;d be easy to switch over once it is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53842</commentid>
    <comment_count>3</comment_count>
      <attachid>10957</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-10-06 19:18:36 -0700</bug_when>
    <thetext>Comment on attachment 10957
Adds conditional breakpoint support

Looking good! A few comments were made on IRC, he is submitting a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53843</commentid>
    <comment_count>4</comment_count>
      <attachid>10960</attachid>
    <who name="David Smith">catfish.man</who>
    <bug_when>2006-10-06 19:22:36 -0700</bug_when>
    <thetext>Created attachment 10960
Updated patch based on irc comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53845</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-10-06 20:35:15 -0700</bug_when>
    <thetext>Landed in r16871.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80739</commentid>
    <comment_count>6</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="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10957</attachid>
            <date>2006-10-06 18:03:01 -0700</date>
            <delta_ts>2006-10-06 19:22:36 -0700</delta_ts>
            <desc>Adds conditional breakpoint support</desc>
            <filename>drosera-conditional-breakpoints.txt</filename>
            <type>text/plain</type>
            <size>19453</size>
            <attacher name="David Smith">catfish.man</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODcw
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDYtMTAt
MDYgIERhdmlkIFNtaXRoICA8Y2F0ZmlzaC5tYW5AZ21haWwuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyA5NjY1OiBbRHJvc2VyYV0gQ29u
ZGl0aW9uYWwgYnJlYWtwb2ludHMuIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTk2NjUKKworICAgICAgICAqIERyb3NlcmEvRHJvc2VyYS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBBZGRlZCBuZXcgZmlsZXMKKyAgICAgICAgKiBEcm9zZXJhL2JyZWFrcG9pbnRFZGl0
b3IuY3NzOiBBZGRlZC4KKyAgICAgICAgKiBEcm9zZXJhL2JyZWFrcG9pbnRFZGl0b3IuaHRtbDog
QWRkZWQuCisgICAgICAgICogRHJvc2VyYS9icmVha3BvaW50RWRpdG9yLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBEcm9zZXJhL2RlYnVnZ2VyLmpzOiBBZGRlZCBjb25kaXRpb25hbCBicmVha3BvaW50
IHN1cHBvcnQsIGFuZCB0aGUgYWJpbGl0eSB0byBvcGVuIHRoZSBicmVha3BvaW50IGVkaXRvciB3
aW5kb3cgb24gb3B0aW9uLWNsaWNraW5nIGEgYnJlYWtwb2ludC4KKwogMjAwNi0xMC0wNiAgTmlr
b2xhcyBaaW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFRpbSBILgpJbmRleDogRHJvc2VyYS9icmVha3BvaW50RWRpdG9yLmNzcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBEcm9zZXJhL2JyZWFrcG9pbnRFZGl0b3IuY3NzCShyZXZpc2lvbiAwKQorKysgRHJvc2Vy
YS9icmVha3BvaW50RWRpdG9yLmNzcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBEYXZpZCBTbWl0aCAoY2F0ZmlzaC5tYW5A
Z21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBv
ZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAg
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK2JvZHkgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDVweDsgb3ZlcmZsb3c6IGhp
ZGRlbjsgfQorCisjbWFpbiB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsK
KyAgICBib3R0b206IDA7CisgICAgbGVmdDogMDsKKyAgICByaWdodDogMDsKK30KKworI3NhdmUg
eworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBib3R0b206IDVweDsKKyAgICByaWdodDog
NXB4OworfQorCisjaW5wdXQgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDIw
cHg7CisgICAgbGVmdDogMDsKKyAgICByaWdodDogMDsKKyAgICBib3R0b206IDA7CisgICAgLXdl
YmtpdC11c2VyLW1vZGlmeTogcmVhZC13cml0ZTsKKyAgICAtd2Via2l0LW5ic3AtbW9kZTogc3Bh
Y2U7CisgICAgLXdlYmtpdC1saW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsKKyAgICB3b3Jk
LXdyYXA6IGJyZWFrLXdvcmQ7CisgICAgb3V0bGluZTogbm9uZTsKKyAgICBmb250LWZhbWlseTog
bW9ub3NwYWNlOworICAgIGZvbnQtc2l6ZTogMTFweDsKKyAgICBsaW5lLWhlaWdodDogMTRweDsK
KyAgICBwYWRkaW5nOiA4cHg7Cit9CkluZGV4OiBEcm9zZXJhL2JyZWFrcG9pbnRFZGl0b3IuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBEcm9zZXJhL2JyZWFrcG9pbnRFZGl0b3IuaHRtbAkocmV2aXNpb24g
MCkKKysrIERyb3NlcmEvYnJlYWtwb2ludEVkaXRvci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDQzIEBACis8IS0tCitDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCitDb3B5cmlnaHQgKEMpIDIwMDYgRGF2aWQgU21pdGggKGNh
dGZpc2gubWFuQGdtYWlsLmNvbSkKKworCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworYXJlIG1ldDoK
KworMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKzIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAKKzMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJ
bmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4g
CisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCitFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCitESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECitPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCitUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorLS0+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBT
dHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0
LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxh
bmc9ImVuIiBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50
LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KKyAgICA8dGl0bGU+
QnJlYWtwb2ludCBFZGl0b3I8L3RpdGxlPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9ImJyZWFrcG9pbnRFZGl0b3IuanMiPjwvc2NyaXB0PiAKKyAgICA8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgorICAgICAgICBAaW1wb3J0ICJicmVha3BvaW50RWRpdG9yLmNzcyI7Cisg
ICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ibG9hZGVkKCkiIG9udW5sb2FkPSJz
YXZlQnJlYWtwb2ludCgpIj4KKzxkaXYgaWQ9ImlucHV0Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IERyb3NlcmEvYnJlYWtwb2ludEVkaXRvci5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBEcm9z
ZXJhL2JyZWFrcG9pbnRFZGl0b3IuanMJKHJldmlzaW9uIDApCisrKyBEcm9zZXJhL2JyZWFrcG9p
bnRFZGl0b3IuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgRGF2aWQgU21pdGggKGNhdGZpc2gubWFuQGdtYWlsLmNvbSkK
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uIAorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29t
cHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
CisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLiAKKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
Cit2YXIgbWFpbldpbmRvdyA9IHdpbmRvdy5vcGVuZXI7Cit2YXIgaW5wdXRFbGVtZW50ID0gbnVs
bDsKK3ZhciBsaW5lTnVtYmVyID0gMDsKK3ZhciBmaWxlID0gMDsKKworZnVuY3Rpb24gbG9hZGVk
KCkKK3sKKyAgICBmaWxlID0gcGFyc2VJbnQobWFpbldpbmRvdy5jdXJyZW50RmlsZSk7CisgICAg
bGluZU51bWJlciA9IG1haW5XaW5kb3cuZmlsZXNbZmlsZV0uYnJlYWtwb2ludEVkaXRvcldpbmRv
d3MuaW5kZXhPZih3aW5kb3cpOworICAgIAorICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJ0aXRsZSIpWzBdLmZpcnN0Q2hpbGQubm9kZVZhbHVlID0gIkVkaXQgQnJlYWtwb2ludCBv
biBMaW5lICIgKyBsaW5lTnVtYmVyOworICAgIAorICAgIHZhciBmdW5jdGlvbkJvZHkgPSBtYWlu
V2luZG93LmZpbGVzW2ZpbGVdLmJyZWFrcG9pbnRzW2xpbmVOdW1iZXJdOworICAgIGlmKGZ1bmN0
aW9uQm9keSA9PSAiYnJlYWsiKQorICAgICAgICBmdW5jdGlvbkJvZHkgPSAicmV0dXJuIDE7IjsK
KyAgICBlbHNlIHsKKyAgICAgICAgdmFyIHN0YXJ0SW5kZXggPSBmdW5jdGlvbkJvZHkuaW5kZXhP
ZigieyIpICsgMTsKKyAgICAgICAgdmFyIGVuZEluZGV4ID0gZnVuY3Rpb25Cb2R5Lmxhc3RJbmRl
eE9mKCJ9Iik7CisgICAgICAgIGZ1bmN0aW9uQm9keSA9IGZ1bmN0aW9uQm9keS5zdWJzdHJpbmco
c3RhcnRJbmRleCwgZW5kSW5kZXgpOworICAgIH0KKyAgICAgICAgCisgICAgaW5wdXRFbGVtZW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0Iik7CisgICAgaW5wdXRFbGVtZW50Lmlu
bmVyVGV4dCA9IGZ1bmN0aW9uQm9keTsKKyAgICBpbnB1dEVsZW1lbnQuZm9jdXMoKTsKK30KKwor
ZnVuY3Rpb24gc2F2ZUJyZWFrcG9pbnQoKQoreworICAgIG1haW5XaW5kb3cuZmluaXNoRWRpdGlu
Z0JyZWFrcG9pbnQobGluZU51bWJlciwgZmlsZSwgIl9fZHJvc2VyYV9icmVha3BvaW50X2NvbmRp
dGlvbmFsX2Z1biA9IGZ1bmN0aW9uKCkgeyAiICsgaW5wdXRFbGVtZW50LmlubmVyVGV4dCArICIg
fTsgX19kcm9zZXJhX2JyZWFrcG9pbnRfY29uZGl0aW9uYWxfZnVuKCk7Iik7Cit9ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogRHJvc2VyYS9kZWJ1Z2dlci5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBEcm9zZXJhL2RlYnVnZ2VyLmpzCShyZXZpc2lvbiAxNjg3MCkKKysrIERyb3NlcmEvZGVi
dWdnZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0
IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA2IERhdmlkIFNtaXRoIChjYXRmaXNoLm1hbkBnbWFpbC5jb20pCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ1LDYgKzQ2LDcgQEAgdmFyIHN0ZXBw
aW5nU3RhY2sgPSAwOwogdmFyIHBhdXNlT25OZXh0U3RhdGVtZW50ID0gZmFsc2U7CiB2YXIgcGF1
c2VkV2hpbGVMZWF2aW5nRnJhbWUgPSBmYWxzZTsKIHZhciBjb25zb2xlV2luZG93ID0gbnVsbDsK
K3ZhciBlbmFibGVkQnJlYWtwb2ludCA9ICJicmVhayI7CiAKIFNjcmlwdENhbGxGcmFtZSA9IGZ1
bmN0aW9uIChmdW5jdGlvbk5hbWUsIGluZGV4LCByb3cpCiB7CkBAIC0zMDYsMjUgKzMwOCw2MCBA
QCBmdW5jdGlvbiByZW1vdmVTdHlsZUNsYXNzKGVsZW1lbnQsIGNsYXNzCiBmdW5jdGlvbiBhZGRC
cmVha1BvaW50KGV2ZW50KQogewogICAgIHZhciByb3cgPSBldmVudC50YXJnZXQucGFyZW50Tm9k
ZTsKKyAgICB2YXIgZmlsZSA9IGZpbGVzW2N1cnJlbnRGaWxlXTsKKyAgICB2YXIgbGluZU51bSA9
IHBhcnNlSW50KGV2ZW50LnRhcmdldC50aXRsZSk7CisgICAgCiAgICAgaWYgKGhhc1N0eWxlQ2xh
c3Mocm93LCAiYnJlYWtwb2ludCIpKSB7Ci0gICAgICAgIGlmIChoYXNTdHlsZUNsYXNzKHJvdywg
ImRpc2FibGVkIikpIHsKLSAgICAgICAgICAgIHJlbW92ZVN0eWxlQ2xhc3Mocm93LCAiZGlzYWJs
ZWQiKTsKLSAgICAgICAgICAgIGZpbGVzW2N1cnJlbnRGaWxlXS5icmVha3BvaW50c1twYXJzZUlu
dChldmVudC50YXJnZXQudGl0bGUpXSA9IDE7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICBhZGRTdHlsZUNsYXNzKHJvdywgImRpc2FibGVkIik7Ci0gICAgICAgICAgICBmaWxlc1tjdXJy
ZW50RmlsZV0uYnJlYWtwb2ludHNbcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnRpdGxlKV0gPSAtMTsK
LSAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIGFkZFN0eWxlQ2xhc3Mocm93LCAiYnJl
YWtwb2ludCIpOwotICAgICAgICByZW1vdmVTdHlsZUNsYXNzKHJvdywgImRpc2FibGVkIik7Ci0g
ICAgICAgIGZpbGVzW2N1cnJlbnRGaWxlXS5icmVha3BvaW50c1twYXJzZUludChldmVudC50YXJn
ZXQudGl0bGUpXSA9IDE7Ci0gICAgfQorICAgICAgICBpZihldmVudC5hbHRLZXkgJiYgZmlsZS5i
cmVha3BvaW50c1tsaW5lTnVtXSAhPSBudWxsKQorICAgICAgICAgICAgc2hvd0JyZWFrcG9pbnRF
ZGl0b3IoZmlsZSwgbGluZU51bSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRvZ2dsZUJy
ZWFrcG9pbnQocm93LCBmaWxlLCBsaW5lTnVtKTsgICAgCisgICAgfSAKKyAgICBlbHNlCisgICAg
ICAgIGNyZWF0ZUJyZWFrcG9pbnQocm93LCBmaWxlLCBsaW5lTnVtKTsKK30KKworZnVuY3Rpb24g
Y3JlYXRlQnJlYWtwb2ludChyb3csIGZpbGUsIGxpbmVOdW0pCit7CisgICAgYWRkU3R5bGVDbGFz
cyhyb3csICJicmVha3BvaW50Iik7CisgICAgcmVtb3ZlU3R5bGVDbGFzcyhyb3csICJkaXNhYmxl
ZCIpOworICAgIGZpbGUuYnJlYWtwb2ludHNbbGluZU51bV0gPSBlbmFibGVkQnJlYWtwb2ludDsK
KyAgICBmaWxlLmRpc2FibGVkQnJlYWtwb2ludHNbbGluZU51bV0gPSBudWxsOworfQorCitmdW5j
dGlvbiBzaG93QnJlYWtwb2ludEVkaXRvcihmaWxlLCBsaW5lTnVtKQoreworICAgIHZhciBlZGl0
b3JzID0gZmlsZS5icmVha3BvaW50RWRpdG9yV2luZG93czsKKworICAgIGlmIChlZGl0b3JzW2xp
bmVOdW1dID09IG51bGwpCisgICAgICAgIGVkaXRvcnNbbGluZU51bV0gPSB3aW5kb3cub3Blbigi
YnJlYWtwb2ludEVkaXRvci5odG1sIiwgKCJFZGl0IEJyZWFrcG9pbnQgT24gTGluZSAiICsgbGlu
ZU51bSksICJ0b3A9MjAwLCBsZWZ0PTIwMCwgd2lkdGg9NDAwLCBoZWlnaHQ9MjAwLCB0b29sYmFy
PW5vLCByZXNpemFibGU9eWVzIik7CisgICAgZWxzZQorICAgICAgICBlZGl0b3JzW2xpbmVOdW1d
LmZvY3VzKCk7CisgICAgICAgIAorICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Cit9CisKK2Z1
bmN0aW9uIHRvZ2dsZUJyZWFrcG9pbnQocm93LCBmaWxlLCBsaW5lTnVtKQoreworICAgIGlmICho
YXNTdHlsZUNsYXNzKHJvdywgImRpc2FibGVkIikpCisgICAgICAgIHJlbW92ZVN0eWxlQ2xhc3Mo
cm93LCAiZGlzYWJsZWQiKTsgICAgCisgICAgZWxzZQorICAgICAgICBhZGRTdHlsZUNsYXNzKHJv
dywgImRpc2FibGVkIik7CisgICAgCisgICAgdmFyIHRlbXAgPSBmaWxlLmJyZWFrcG9pbnRzW2xp
bmVOdW1dOworICAgIGZpbGUuYnJlYWtwb2ludHNbbGluZU51bV0gPSBmaWxlLmRpc2FibGVkQnJl
YWtwb2ludHNbbGluZU51bV07CisgICAgZmlsZS5kaXNhYmxlZEJyZWFrcG9pbnRzW2xpbmVOdW1d
ID0gdGVtcDsKK30KKworZnVuY3Rpb24gZmluaXNoRWRpdGluZ0JyZWFrcG9pbnQobGluZSwgZmls
ZSwgbmV3RnVuY3Rpb24pCit7CisgICAgZmlsZXNbZmlsZV0uYnJlYWtwb2ludHNbbGluZV0gPSBu
ZXdGdW5jdGlvbjsKKyAgICBmaWxlc1tmaWxlXS5icmVha3BvaW50RWRpdG9yV2luZG93c1tsaW5l
XSA9IG51bGw7CiB9CiAKIGZ1bmN0aW9uIG1vdmVCcmVha1BvaW50KGV2ZW50KQogewogICAgIGlm
IChoYXNTdHlsZUNsYXNzKGV2ZW50LnRhcmdldC5wYXJlbnROb2RlLCAiYnJlYWtwb2ludCIpKSB7
Ci0gICAgICAgIGZpbGVzW2N1cnJlbnRGaWxlXS5icmVha3BvaW50c1twYXJzZUludChldmVudC50
YXJnZXQudGl0bGUpXSA9IDA7CiAgICAgICAgIGRyYWdnaW5nQnJlYWtwb2ludCA9IGV2ZW50LnRh
cmdldDsKICAgICAgICAgZHJhZ2dpbmdCcmVha3BvaW50LnN0YXJ0ZWQgPSBmYWxzZTsKICAgICAg
ICAgZHJhZ2dpbmdCcmVha3BvaW50LmRyYWdMYXN0WSA9IGV2ZW50LmNsaWVudFkgKyB3aW5kb3cu
c2Nyb2xsWTsKQEAgLTM1MSwxMSArMzg4LDIxIEBAIGZ1bmN0aW9uIGJyZWFrcG9pbnREcmFnKGV2
ZW50KQogICAgIHZhciBkZWx0YVggPSBkcmFnZ2luZ0JyZWFrcG9pbnQuZHJhZ0xhc3RYIC0geDsK
ICAgICB2YXIgZGVsdGFZID0gZHJhZ2dpbmdCcmVha3BvaW50LmRyYWdMYXN0WSAtIHk7CiAgICAg
aWYgKGRyYWdnaW5nQnJlYWtwb2ludC5zdGFydGVkIHx8IGRlbHRhWCA+IDQgfHwgZGVsdGFZID4g
NCB8fCBkZWx0YVggPCAtNCB8fCBkZWx0YVkgPCAtNCkgeworICAgIAogICAgICAgICBpZiAoIWRy
YWdnaW5nQnJlYWtwb2ludC5zdGFydGVkKSB7CiAgICAgICAgICAgICBkcmFnZ2luZ0JyZWFrcG9p
bnQuaXNEaXNhYmxlZCA9IGhhc1N0eWxlQ2xhc3MoZHJhZ2dpbmdCcmVha3BvaW50LnBhcmVudE5v
ZGUsICJkaXNhYmxlZCIpOwogICAgICAgICAgICAgcmVtb3ZlU3R5bGVDbGFzcyhkcmFnZ2luZ0Jy
ZWFrcG9pbnQucGFyZW50Tm9kZSwgImJyZWFrcG9pbnQiKTsKICAgICAgICAgICAgIHJlbW92ZVN0
eWxlQ2xhc3MoZHJhZ2dpbmdCcmVha3BvaW50LnBhcmVudE5vZGUsICJkaXNhYmxlZCIpOwogICAg
ICAgICAgICAgZHJhZ2dpbmdCcmVha3BvaW50LnN0YXJ0ZWQgPSB0cnVlOworICAgICAgICAgICAg
CisgICAgICAgICAgICB2YXIgbGluZU51bSA9IHBhcnNlSW50KGRyYWdnaW5nQnJlYWtwb2ludC50
aXRsZSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmKGRyYWdnaW5nQnJlYWtwb2ludC5p
c0Rpc2FibGVkKQorICAgICAgICAgICAgICAgIGRyYWdnaW5nQnJlYWtwb2ludC5icmVha0Z1bmN0
aW9uID0gZmlsZXNbY3VycmVudEZpbGVdLmRpc2FibGVkQnJlYWtwb2ludHNbbGluZU51bV07Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZHJhZ2dpbmdCcmVha3BvaW50LmJyZWFr
RnVuY3Rpb24gPSBmaWxlc1tjdXJyZW50RmlsZV0uYnJlYWtwb2ludHNbbGluZU51bV07CisgICAg
ICAgICAgICBmaWxlc1tjdXJyZW50RmlsZV0uYnJlYWtwb2ludHNbbGluZU51bV0gPSBudWxsOwor
ICAgICAgICAgICAgZmlsZXNbY3VycmVudEZpbGVdLmRpc2FibGVkQnJlYWtwb2ludHNbbGluZU51
bV0gPSBudWxsOwogCiAgICAgICAgICAgICB2YXIgZHJhZ0ltYWdlID0gc291cmNlc0RvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImltZyIpOwogICAgICAgICAgICAgaWYgKGRyYWdnaW5nQnJlYWtwb2lu
dC5pc0Rpc2FibGVkKQpAQCAtMzk4LDcgKzQ0NSw3IEBAIGZ1bmN0aW9uIGJyZWFrcG9pbnREcmFn
RW5kKGV2ZW50KQogICAgIHZhciBkcmFnSW1hZ2UgPSBzb3VyY2VzRG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImJyZWFrcG9pbnREcmFnIik7CiAgICAgaWYgKCFkcmFnSW1hZ2UpCiAgICAgICAgIHJl
dHVybjsKLQorICAgICAgICAKICAgICBkcmFnSW1hZ2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChk
cmFnSW1hZ2UpOwogCiAgICAgdmFyIHggPSBldmVudC5jbGllbnRYICsgd2luZG93LnNjcm9sbFg7
CkBAIC00MTksMTIgKzQ2NiwxOCBAQCBmdW5jdGlvbiBicmVha3BvaW50RHJhZ0VuZChldmVudCkK
ICAgICB2YXIgdHIgPSB0YWJsZS5jaGlsZE5vZGVzLml0ZW0ocm93IC0gMSk7CiAgICAgaWYgKCF0
cikKICAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGRyYWdnaW5nQnJlYWtwb2ludC5pc0Rpc2Fi
bGVkKQorICAgICAgICAKKyAgICBpZihkcmFnZ2luZ0JyZWFrcG9pbnQuaXNEaXNhYmxlZCkgewog
ICAgICAgICBhZGRTdHlsZUNsYXNzKHRyLCAiZGlzYWJsZWQiKTsKLSAgICBhZGRTdHlsZUNsYXNz
KHRyLCAiYnJlYWtwb2ludCIpOwotICAgIGZpbGUuYnJlYWtwb2ludHNbcm93XSA9IChkcmFnZ2lu
Z0JyZWFrcG9pbnQuaXNEaXNhYmxlZCA/IC0xIDogMSk7CisgICAgICAgIGZpbGUuZGlzYWJsZWRC
cmVha3BvaW50c1tyb3ddID0gZHJhZ2dpbmdCcmVha3BvaW50LmJyZWFrRnVuY3Rpb247CisgICAg
ICAgIGZpbGUuYnJlYWtwb2ludHNbcm93XSA9IG51bGw7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
ZmlsZS5kaXNhYmxlZEJyZWFrcG9pbnRzW3Jvd10gPSBudWxsOworICAgICAgICBmaWxlLmJyZWFr
cG9pbnRzW3Jvd10gPSBkcmFnZ2luZ0JyZWFrcG9pbnQuYnJlYWtGdW5jdGlvbjsKKyAgICB9CiAK
KyAgICBhZGRTdHlsZUNsYXNzKHRyLCAiYnJlYWtwb2ludCIpOworICAgIAogICAgIGRyYWdnaW5n
QnJlYWtwb2ludCA9IG51bGw7CiB9CiAKQEAgLTc2NCw2ICs4MTcsOCBAQCBmdW5jdGlvbiBkaWRQ
YXJzZVNjcmlwdChzb3VyY2UsIGZpbGVTb3VyCiAgICAgICAgIGZpbGUgPSBuZXcgT2JqZWN0KCk7
CiAgICAgICAgIGZpbGUuc2NyaXB0cyA9IG5ldyBBcnJheSgpOwogICAgICAgICBmaWxlLmJyZWFr
cG9pbnRzID0gbmV3IEFycmF5KCk7CisgICAgICAgIGZpbGUuZGlzYWJsZWRCcmVha3BvaW50cyA9
IG5ldyBBcnJheSgpOworICAgICAgICBmaWxlLmJyZWFrcG9pbnRFZGl0b3JXaW5kb3dzID0gbmV3
IEFycmF5KCk7CiAgICAgICAgIGZpbGUuc291cmNlID0gKGZpbGVTb3VyY2UubGVuZ3RoID8gZmls
ZVNvdXJjZSA6IHNvdXJjZSk7CiAgICAgICAgIGZpbGUudXJsID0gKHVybC5sZW5ndGggPyB1cmwg
OiBudWxsKTsKICAgICAgICAgZmlsZS5sb2FkZWQgPSBmYWxzZTsKQEAgLTgzNiw4ICs4OTEsMTEg
QEAgZnVuY3Rpb24gd2lsbEV4ZWN1dGVTdGF0ZW1lbnQoc291cmNlSWQsIAogICAgICAgICByZXR1
cm47CiAKICAgICBsYXN0U3RhdGVtZW50ID0gW3NvdXJjZUlkLCBsaW5lXTsKLQotICAgIGlmIChw
YXVzZU9uTmV4dFN0YXRlbWVudCB8fCBmaWxlLmJyZWFrcG9pbnRzW2xpbmVdID09IDEgfHwgKHN0
ZXBwaW5nT3ZlciAmJiAhc3RlcHBpbmdTdGFjaykpIHsKKyAgICAKKyAgICB2YXIgYnJlYWtwb2lu
dCA9IGZpbGUuYnJlYWtwb2ludHNbbGluZV07CisgICAgdmFyIHNob3VsZEJyZWFrID0gYnJlYWtw
b2ludCAmJiAoYnJlYWtwb2ludCA9PSAiYnJlYWsiIHx8IERlYnVnZ2VyRG9jdW1lbnQuZXZhbHVh
dGVTY3JpcHRfaW5DYWxsRnJhbWVfKGJyZWFrcG9pbnQsIDApID09IDEpOworICAgIAorICAgIGlm
IChwYXVzZU9uTmV4dFN0YXRlbWVudCB8fCBzaG91bGRCcmVhayB8fCAoc3RlcHBpbmdPdmVyICYm
ICFzdGVwcGluZ1N0YWNrKSkgewogICAgICAgICBwYXVzZSgpOwogICAgICAgICBwYXVzZU9uTmV4
dFN0YXRlbWVudCA9IGZhbHNlOwogICAgICAgICBwYXVzZWRXaGlsZUxlYXZpbmdGcmFtZSA9IGZy
b21MZWF2aW5nRnJhbWUgfHwgZmFsc2U7CkluZGV4OiBEcm9zZXJhL0Ryb3NlcmEueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBEcm9zZXJhL0Ryb3NlcmEueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTY4NzApCisrKyBEcm9zZXJhL0Ryb3NlcmEueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMsOSBAQAog
CQkxQ0Q4RDU2QzBBNDkwNDNFMDBFNTY3N0IgLyogQ29jb2EuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTA1OEM3QTdGRUE1NEY1MzEx
Q0EyQ0JCIC8qIENvY29hLmZyYW1ld29yayAqLzsgfTsKIAkJMUNEOEQ1QTYwQTQ5MTAyOTAwRTU2
NzdCIC8qIERyb3NlcmEuYXBwIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4RDE1QUMzNzA0ODZEMDE0MDA2RkY2QTQgLyogRHJvc2VyYS5hcHAgKi87IH07
CiAJCTVEMkM4MjdGMEE4MTZCQTcwMEMxOTNGRCAvKiBEcm9zZXJhLmljbnMgaW4gUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMzQ4Nzk3MEE4MTIwODQwMDEw
MUM1QyAvKiBEcm9zZXJhLmljbnMgKi87IH07CisJCTYzQTlFMjNGMEFENDg2OTMwMEMwNzlFRSAv
KiBicmVha3BvaW50RWRpdG9yLmNzcyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNjNBOUUyM0MwQUQ0ODY5MzAwQzA3OUVFIC8qIGJyZWFrcG9pbnRFZGl0
b3IuY3NzICovOyB9OworCQk2M0E5RTI0MDBBRDQ4Njk0MDBDMDc5RUUgLyogYnJlYWtwb2ludEVk
aXRvci5odG1sIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2M0E5RTIzRDBBRDQ4NjkzMDBDMDc5RUUgLyogYnJlYWtwb2ludEVkaXRvci5odG1sICovOyB9
OworCQk2M0E5RTI0MTBBRDQ4Njk0MDBDMDc5RUUgLyogYnJlYWtwb2ludEVkaXRvci5qcyBpbiBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjNBOUUyM0UwQUQ0
ODY5MzAwQzA3OUVFIC8qIGJyZWFrcG9pbnRFZGl0b3IuanMgKi87IH07CiAJCThEMTVBQzJEMDQ4
NkQwMTQwMDZGRjZBNCAvKiBNYWluTWVudS5uaWIgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBMzdGNEI2RkRDRkE3MzAxMUNBMkNFQSAvKiBNYWluTWVu
dS5uaWIgKi87IH07CiAJCThEMTVBQzJFMDQ4NkQwMTQwMDZGRjZBNCAvKiBEZWJ1Z2dlci5uaWIg
aW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBMzdGNEI0
RkRDRkE3MzAxMUNBMkNFQSAvKiBEZWJ1Z2dlci5uaWIgKi87IH07CiAJCThEMTVBQzMxMDQ4NkQw
MTQwMDZGRjZBNCAvKiBEZWJ1Z2dlckRvY3VtZW50Lm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQTM3RjRBQ0ZEQ0ZBNzMwMTFDQTJDRUEgLyogRGVidWdn
ZXJEb2N1bWVudC5tICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CkBAIC0x
MjksOCArMTMyLDExIEBACiAJCTJBMzdGNEM0RkRDRkE3MzAxMUNBMkNFQSAvKiBBcHBLaXQuZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBBcHBLaXQuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJz
b2x1dGU+IjsgfTsKIAkJMkEzN0Y0QzVGRENGQTczMDExQ0EyQ0VBIC8qIEZvdW5kYXRpb24uZnJh
bWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBGb3VuZGF0aW9uLmZyYW1ld29yazsgcGF0aCA9IC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrOyBzb3VyY2VUcmVl
ID0gIjxhYnNvbHV0ZT4iOyB9OwogCQkzMkRCQ0Y3NTAzNzBCRDIzMDBDOTE3ODMgLyogRHJvc2Vy
YS5wY2ggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERyb3NlcmEucGNoOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKKwkJNjNB
OUUyM0MwQUQ0ODY5MzAwQzA3OUVFIC8qIGJyZWFrcG9pbnRFZGl0b3IuY3NzICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBicmVha3BvaW50RWRpdG9yLmNzczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNjNBOUUyM0QwQUQ0ODY5MzAwQzA3OUVFIC8qIGJyZWFrcG9pbnRFZGl0b3IuaHRt
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBicmVha3BvaW50RWRpdG9yLmh0bWw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTYzQTlFMjNFMEFENDg2OTMwMEMwNzlFRSAvKiBi
cmVha3BvaW50RWRpdG9yLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0
aCA9IGJyZWFrcG9pbnRFZGl0b3IuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThE
MTVBQzM2MDQ4NkQwMTQwMDZGRjZBNCAvKiBJbmZvLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlz
dDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCThEMTVB
QzM3MDQ4NkQwMTQwMDZGRjZBNCAvKiBEcm9zZXJhLmFwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBpbmNsdWRlSW5JbmRleCA9IDA7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5h
cHBsaWNhdGlvbjsgcGF0aCA9IERyb3NlcmEuYXBwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVD
VFNfRElSOyB9OworCQk4RDE1QUMzNzA0ODZEMDE0MDA2RkY2QTQgLyogRHJvc2VyYS5hcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuYXBw
bGljYXRpb247IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IERyb3NlcmEuYXBwOyBzb3VyY2VU
cmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2Vj
dGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCkBA
IC0yNTksNiArMjY1LDkgQEAKIAkJCQkxQzZGODYxRjBBNTk5RjY1MDA0RkNEODkgLyogY29uc29s
ZS5qcyAqLywKIAkJCQkxQzZGODQ1NDBBNThFRTA2MDA0RkNEODkgLyogY29uc29sZS5odG1sICov
LAogCQkJCTFDNkY4NDUzMEE1OEVFMDYwMDRGQ0Q4OSAvKiBjb25zb2xlLmNzcyAqLywKKwkJCQk2
M0E5RTIzQzBBRDQ4NjkzMDBDMDc5RUUgLyogYnJlYWtwb2ludEVkaXRvci5jc3MgKi8sCisJCQkJ
NjNBOUUyM0QwQUQ0ODY5MzAwQzA3OUVFIC8qIGJyZWFrcG9pbnRFZGl0b3IuaHRtbCAqLywKKwkJ
CQk2M0E5RTIzRTBBRDQ4NjkzMDBDMDc5RUUgLyogYnJlYWtwb2ludEVkaXRvci5qcyAqLywKIAkJ
CSk7CiAJCQluYW1lID0gQ2xhc3NlczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC00
MTAsNiArNDE5LDkgQEAKIAkJCQkxQzZGODQ1NjBBNThFRTA2MDA0RkNEODkgLyogY29uc29sZS5o
dG1sIGluIFJlc291cmNlcyAqLywKIAkJCQkxQzZGODY3MzBBNTlBMThCMDA0RkNEODkgLyogY29u
c29sZS5qcyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUMzNDg3OTgwQTgxMjA4NDAwMTAxQzVDIC8q
IERyb3NlcmEuaWNucyBpbiBSZXNvdXJjZXMgKi8sCisJCQkJNjNBOUUyM0YwQUQ0ODY5MzAwQzA3
OUVFIC8qIGJyZWFrcG9pbnRFZGl0b3IuY3NzIGluIFJlc291cmNlcyAqLywKKwkJCQk2M0E5RTI0
MDBBRDQ4Njk0MDBDMDc5RUUgLyogYnJlYWtwb2ludEVkaXRvci5odG1sIGluIFJlc291cmNlcyAq
LywKKwkJCQk2M0E5RTI0MTBBRDQ4Njk0MDBDMDc5RUUgLyogYnJlYWtwb2ludEVkaXRvci5qcyBp
biBSZXNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07Cg==
</data>
<flag name="review"
          id="3674"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10960</attachid>
            <date>2006-10-06 19:22:36 -0700</date>
            <delta_ts>2006-10-06 19:28:37 -0700</delta_ts>
            <desc>Updated patch based on irc comments</desc>
            <filename>drosera-conditional-breakpoints.txt</filename>
            <type>text/plain</type>
            <size>19431</size>
            <attacher name="David Smith">catfish.man</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODcw
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDYtMTAt
MDYgIERhdmlkIFNtaXRoICA8Y2F0ZmlzaC5tYW5AZ21haWwuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyA5NjY1OiBbRHJvc2VyYV0gQ29u
ZGl0aW9uYWwgYnJlYWtwb2ludHMuIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTk2NjUKKworICAgICAgICAqIERyb3NlcmEvRHJvc2VyYS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBBZGRlZCBuZXcgZmlsZXMKKyAgICAgICAgKiBEcm9zZXJhL2JyZWFrcG9pbnRFZGl0
b3IuY3NzOiBBZGRlZC4KKyAgICAgICAgKiBEcm9zZXJhL2JyZWFrcG9pbnRFZGl0b3IuaHRtbDog
QWRkZWQuCisgICAgICAgICogRHJvc2VyYS9icmVha3BvaW50RWRpdG9yLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBEcm9zZXJhL2RlYnVnZ2VyLmpzOiBBZGRlZCBjb25kaXRpb25hbCBicmVha3BvaW50
IHN1cHBvcnQsIGFuZCB0aGUgYWJpbGl0eSB0byBvcGVuIHRoZSBicmVha3BvaW50IGVkaXRvciB3
aW5kb3cgb24gb3B0aW9uLWNsaWNraW5nIGEgYnJlYWtwb2ludC4KKwogMjAwNi0xMC0wNiAgTmlr
b2xhcyBaaW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFRpbSBILgpJbmRleDogRHJvc2VyYS9icmVha3BvaW50RWRpdG9yLmNzcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBEcm9zZXJhL2JyZWFrcG9pbnRFZGl0b3IuY3NzCShyZXZpc2lvbiAwKQorKysgRHJvc2Vy
YS9icmVha3BvaW50RWRpdG9yLmNzcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBEYXZpZCBTbWl0aCAoY2F0ZmlzaC5tYW5A
Z21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBv
ZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAg
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK2JvZHkgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDVweDsgb3ZlcmZsb3c6IGhp
ZGRlbjsgfQorCisjbWFpbiB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsK
KyAgICBib3R0b206IDA7CisgICAgbGVmdDogMDsKKyAgICByaWdodDogMDsKK30KKworI3NhdmUg
eworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBib3R0b206IDVweDsKKyAgICByaWdodDog
NXB4OworfQorCisjaW5wdXQgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDIw
cHg7CisgICAgbGVmdDogMDsKKyAgICByaWdodDogMDsKKyAgICBib3R0b206IDA7CisgICAgLXdl
YmtpdC11c2VyLW1vZGlmeTogcmVhZC13cml0ZTsKKyAgICAtd2Via2l0LW5ic3AtbW9kZTogc3Bh
Y2U7CisgICAgLXdlYmtpdC1saW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsKKyAgICB3b3Jk
LXdyYXA6IGJyZWFrLXdvcmQ7CisgICAgb3V0bGluZTogbm9uZTsKKyAgICBmb250LWZhbWlseTog
bW9ub3NwYWNlOworICAgIGZvbnQtc2l6ZTogMTFweDsKKyAgICBsaW5lLWhlaWdodDogMTRweDsK
KyAgICBwYWRkaW5nOiA4cHg7Cit9CkluZGV4OiBEcm9zZXJhL2JyZWFrcG9pbnRFZGl0b3IuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBEcm9zZXJhL2JyZWFrcG9pbnRFZGl0b3IuaHRtbAkocmV2aXNpb24g
MCkKKysrIERyb3NlcmEvYnJlYWtwb2ludEVkaXRvci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDQzIEBACis8IS0tCitDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCitDb3B5cmlnaHQgKEMpIDIwMDYgRGF2aWQgU21pdGggKGNh
dGZpc2gubWFuQGdtYWlsLmNvbSkKKworCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworYXJlIG1ldDoK
KworMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKzIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAKKzMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJ
bmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4g
CisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCitFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCitESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECitPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCitUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorLS0+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBT
dHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0
LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxh
bmc9ImVuIiBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50
LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KKyAgICA8dGl0bGU+
QnJlYWtwb2ludCBFZGl0b3I8L3RpdGxlPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9ImJyZWFrcG9pbnRFZGl0b3IuanMiPjwvc2NyaXB0PiAKKyAgICA8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgorICAgICAgICBAaW1wb3J0ICJicmVha3BvaW50RWRpdG9yLmNzcyI7Cisg
ICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ibG9hZGVkKCkiIG9udW5sb2FkPSJz
YXZlQnJlYWtwb2ludCgpIj4KKzxkaXYgaWQ9ImlucHV0Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IERyb3NlcmEvYnJlYWtwb2ludEVkaXRvci5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBEcm9z
ZXJhL2JyZWFrcG9pbnRFZGl0b3IuanMJKHJldmlzaW9uIDApCisrKyBEcm9zZXJhL2JyZWFrcG9p
bnRFZGl0b3IuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgRGF2aWQgU21pdGggKGNhdGZpc2gubWFuQGdtYWlsLmNvbSkK
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uIAorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29t
cHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
CisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLiAKKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
Cit2YXIgbWFpbldpbmRvdyA9IHdpbmRvdy5vcGVuZXI7Cit2YXIgaW5wdXRFbGVtZW50ID0gbnVs
bDsKK3ZhciBsaW5lTnVtYmVyID0gMDsKK3ZhciBmaWxlID0gMDsKKworZnVuY3Rpb24gbG9hZGVk
KCkKK3sKKyAgICBmaWxlID0gbWFpbldpbmRvdy5jdXJyZW50RmlsZTsKKyAgICBsaW5lTnVtYmVy
ID0gbWFpbldpbmRvdy5maWxlc1tmaWxlXS5icmVha3BvaW50RWRpdG9yV2luZG93cy5pbmRleE9m
KHdpbmRvdyk7CisgICAgCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRpdGxl
IilbMF0udGV4dENvbnRlbnRzID0gIkVkaXQgQnJlYWtwb2ludCBvbiBMaW5lICIgKyBsaW5lTnVt
YmVyOworICAgIAorICAgIHZhciBmdW5jdGlvbkJvZHkgPSBtYWluV2luZG93LmZpbGVzW2ZpbGVd
LmJyZWFrcG9pbnRzW2xpbmVOdW1iZXJdOworICAgIGlmKGZ1bmN0aW9uQm9keSA9PSAiYnJlYWsi
KQorICAgICAgICBmdW5jdGlvbkJvZHkgPSAicmV0dXJuIDE7IjsKKyAgICBlbHNlIHsKKyAgICAg
ICAgdmFyIHN0YXJ0SW5kZXggPSBmdW5jdGlvbkJvZHkuaW5kZXhPZigieyIpICsgMTsKKyAgICAg
ICAgdmFyIGVuZEluZGV4ID0gZnVuY3Rpb25Cb2R5Lmxhc3RJbmRleE9mKCJ9Iik7CisgICAgICAg
IGZ1bmN0aW9uQm9keSA9IGZ1bmN0aW9uQm9keS5zdWJzdHJpbmcoc3RhcnRJbmRleCwgZW5kSW5k
ZXgpOworICAgIH0KKyAgICAgICAgCisgICAgaW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImlucHV0Iik7CisgICAgaW5wdXRFbGVtZW50LmlubmVyVGV4dCA9IGZ1bmN0aW9u
Qm9keTsKKyAgICBpbnB1dEVsZW1lbnQuZm9jdXMoKTsKK30KKworZnVuY3Rpb24gc2F2ZUJyZWFr
cG9pbnQoKQoreworICAgIG1haW5XaW5kb3cuZmluaXNoRWRpdGluZ0JyZWFrcG9pbnQobGluZU51
bWJlciwgZmlsZSwgIl9fZHJvc2VyYV9icmVha3BvaW50X2NvbmRpdGlvbmFsX2Z1bmMgPSBmdW5j
dGlvbigpIHsgIiArIGlucHV0RWxlbWVudC5pbm5lclRleHQgKyAiIH07IF9fZHJvc2VyYV9icmVh
a3BvaW50X2NvbmRpdGlvbmFsX2Z1bmMoKTsiKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBEcm9zZXJhL2RlYnVnZ2VyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIERyb3NlcmEvZGVi
dWdnZXIuanMJKHJldmlzaW9uIDE2ODcwKQorKysgRHJvc2VyYS9kZWJ1Z2dlci5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUg
Q29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYgRGF2aWQgU21pdGggKGNhdGZpc2gubWFuQGdtYWlsLmNvbSkKICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtNDUsNiArNDYsNyBAQCB2YXIgc3RlcHBpbmdTdGFjayA9IDA7CiB2
YXIgcGF1c2VPbk5leHRTdGF0ZW1lbnQgPSBmYWxzZTsKIHZhciBwYXVzZWRXaGlsZUxlYXZpbmdG
cmFtZSA9IGZhbHNlOwogdmFyIGNvbnNvbGVXaW5kb3cgPSBudWxsOwordmFyIGVuYWJsZWRCcmVh
a3BvaW50ID0gImJyZWFrIjsKIAogU2NyaXB0Q2FsbEZyYW1lID0gZnVuY3Rpb24gKGZ1bmN0aW9u
TmFtZSwgaW5kZXgsIHJvdykKIHsKQEAgLTMwNiwyNSArMzA4LDU5IEBAIGZ1bmN0aW9uIHJlbW92
ZVN0eWxlQ2xhc3MoZWxlbWVudCwgY2xhc3MKIGZ1bmN0aW9uIGFkZEJyZWFrUG9pbnQoZXZlbnQp
CiB7CiAgICAgdmFyIHJvdyA9IGV2ZW50LnRhcmdldC5wYXJlbnROb2RlOworICAgIHZhciBmaWxl
ID0gZmlsZXNbY3VycmVudEZpbGVdOworICAgIHZhciBsaW5lTnVtID0gcGFyc2VJbnQoZXZlbnQu
dGFyZ2V0LnRpdGxlKTsKKyAgICAKICAgICBpZiAoaGFzU3R5bGVDbGFzcyhyb3csICJicmVha3Bv
aW50IikpIHsKLSAgICAgICAgaWYgKGhhc1N0eWxlQ2xhc3Mocm93LCAiZGlzYWJsZWQiKSkgewot
ICAgICAgICAgICAgcmVtb3ZlU3R5bGVDbGFzcyhyb3csICJkaXNhYmxlZCIpOwotICAgICAgICAg
ICAgZmlsZXNbY3VycmVudEZpbGVdLmJyZWFrcG9pbnRzW3BhcnNlSW50KGV2ZW50LnRhcmdldC50
aXRsZSldID0gMTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGFkZFN0eWxlQ2xhc3Mo
cm93LCAiZGlzYWJsZWQiKTsKLSAgICAgICAgICAgIGZpbGVzW2N1cnJlbnRGaWxlXS5icmVha3Bv
aW50c1twYXJzZUludChldmVudC50YXJnZXQudGl0bGUpXSA9IC0xOwotICAgICAgICB9Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgYWRkU3R5bGVDbGFzcyhyb3csICJicmVha3BvaW50Iik7Ci0gICAg
ICAgIHJlbW92ZVN0eWxlQ2xhc3Mocm93LCAiZGlzYWJsZWQiKTsKLSAgICAgICAgZmlsZXNbY3Vy
cmVudEZpbGVdLmJyZWFrcG9pbnRzW3BhcnNlSW50KGV2ZW50LnRhcmdldC50aXRsZSldID0gMTsK
LSAgICB9CisgICAgICAgIGlmKGV2ZW50LmFsdEtleSAmJiBmaWxlLmJyZWFrcG9pbnRzW2xpbmVO
dW1dICE9IG51bGwpCisgICAgICAgICAgICBzaG93QnJlYWtwb2ludEVkaXRvcihmaWxlLCBsaW5l
TnVtKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdG9nZ2xlQnJlYWtwb2ludChyb3csIGZp
bGUsIGxpbmVOdW0pOyAgICAKKyAgICB9IGVsc2UKKyAgICAgICAgY3JlYXRlQnJlYWtwb2ludChy
b3csIGZpbGUsIGxpbmVOdW0pOworfQorCitmdW5jdGlvbiBjcmVhdGVCcmVha3BvaW50KHJvdywg
ZmlsZSwgbGluZU51bSkKK3sKKyAgICBhZGRTdHlsZUNsYXNzKHJvdywgImJyZWFrcG9pbnQiKTsK
KyAgICByZW1vdmVTdHlsZUNsYXNzKHJvdywgImRpc2FibGVkIik7CisgICAgZmlsZS5icmVha3Bv
aW50c1tsaW5lTnVtXSA9IGVuYWJsZWRCcmVha3BvaW50OworICAgIGZpbGUuZGlzYWJsZWRCcmVh
a3BvaW50c1tsaW5lTnVtXSA9IG51bGw7Cit9CisKK2Z1bmN0aW9uIHNob3dCcmVha3BvaW50RWRp
dG9yKGZpbGUsIGxpbmVOdW0pCit7CisgICAgdmFyIGVkaXRvcnMgPSBmaWxlLmJyZWFrcG9pbnRF
ZGl0b3JXaW5kb3dzOworCisgICAgaWYgKGVkaXRvcnNbbGluZU51bV0gPT0gbnVsbCkKKyAgICAg
ICAgZWRpdG9yc1tsaW5lTnVtXSA9IHdpbmRvdy5vcGVuKCJicmVha3BvaW50RWRpdG9yLmh0bWwi
LCAoIkVkaXQgQnJlYWtwb2ludCBPbiBMaW5lICIgKyBsaW5lTnVtKSwgInRvcD0yMDAsIGxlZnQ9
MjAwLCB3aWR0aD00MDAsIGhlaWdodD0yMDAsIHRvb2xiYXI9bm8sIHJlc2l6YWJsZT15ZXMiKTsK
KyAgICBlbHNlCisgICAgICAgIGVkaXRvcnNbbGluZU51bV0uZm9jdXMoKTsKKyAgICAgICAgCisg
ICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKK30KKworZnVuY3Rpb24gdG9nZ2xlQnJlYWtwb2lu
dChyb3csIGZpbGUsIGxpbmVOdW0pCit7CisgICAgaWYgKGhhc1N0eWxlQ2xhc3Mocm93LCAiZGlz
YWJsZWQiKSkKKyAgICAgICAgcmVtb3ZlU3R5bGVDbGFzcyhyb3csICJkaXNhYmxlZCIpOyAgICAK
KyAgICBlbHNlCisgICAgICAgIGFkZFN0eWxlQ2xhc3Mocm93LCAiZGlzYWJsZWQiKTsKKyAgICAK
KyAgICB2YXIgdGVtcCA9IGZpbGUuYnJlYWtwb2ludHNbbGluZU51bV07CisgICAgZmlsZS5icmVh
a3BvaW50c1tsaW5lTnVtXSA9IGZpbGUuZGlzYWJsZWRCcmVha3BvaW50c1tsaW5lTnVtXTsKKyAg
ICBmaWxlLmRpc2FibGVkQnJlYWtwb2ludHNbbGluZU51bV0gPSB0ZW1wOworfQorCitmdW5jdGlv
biBmaW5pc2hFZGl0aW5nQnJlYWtwb2ludChsaW5lLCBmaWxlLCBuZXdGdW5jdGlvbikKK3sKKyAg
ICBmaWxlc1tmaWxlXS5icmVha3BvaW50c1tsaW5lXSA9IG5ld0Z1bmN0aW9uOworICAgIGZpbGVz
W2ZpbGVdLmJyZWFrcG9pbnRFZGl0b3JXaW5kb3dzW2xpbmVdID0gbnVsbDsKIH0KIAogZnVuY3Rp
b24gbW92ZUJyZWFrUG9pbnQoZXZlbnQpCiB7CiAgICAgaWYgKGhhc1N0eWxlQ2xhc3MoZXZlbnQu
dGFyZ2V0LnBhcmVudE5vZGUsICJicmVha3BvaW50IikpIHsKLSAgICAgICAgZmlsZXNbY3VycmVu
dEZpbGVdLmJyZWFrcG9pbnRzW3BhcnNlSW50KGV2ZW50LnRhcmdldC50aXRsZSldID0gMDsKICAg
ICAgICAgZHJhZ2dpbmdCcmVha3BvaW50ID0gZXZlbnQudGFyZ2V0OwogICAgICAgICBkcmFnZ2lu
Z0JyZWFrcG9pbnQuc3RhcnRlZCA9IGZhbHNlOwogICAgICAgICBkcmFnZ2luZ0JyZWFrcG9pbnQu
ZHJhZ0xhc3RZID0gZXZlbnQuY2xpZW50WSArIHdpbmRvdy5zY3JvbGxZOwpAQCAtMzUxLDExICsz
ODcsMjEgQEAgZnVuY3Rpb24gYnJlYWtwb2ludERyYWcoZXZlbnQpCiAgICAgdmFyIGRlbHRhWCA9
IGRyYWdnaW5nQnJlYWtwb2ludC5kcmFnTGFzdFggLSB4OwogICAgIHZhciBkZWx0YVkgPSBkcmFn
Z2luZ0JyZWFrcG9pbnQuZHJhZ0xhc3RZIC0geTsKICAgICBpZiAoZHJhZ2dpbmdCcmVha3BvaW50
LnN0YXJ0ZWQgfHwgZGVsdGFYID4gNCB8fCBkZWx0YVkgPiA0IHx8IGRlbHRhWCA8IC00IHx8IGRl
bHRhWSA8IC00KSB7CisgICAgCiAgICAgICAgIGlmICghZHJhZ2dpbmdCcmVha3BvaW50LnN0YXJ0
ZWQpIHsKICAgICAgICAgICAgIGRyYWdnaW5nQnJlYWtwb2ludC5pc0Rpc2FibGVkID0gaGFzU3R5
bGVDbGFzcyhkcmFnZ2luZ0JyZWFrcG9pbnQucGFyZW50Tm9kZSwgImRpc2FibGVkIik7CiAgICAg
ICAgICAgICByZW1vdmVTdHlsZUNsYXNzKGRyYWdnaW5nQnJlYWtwb2ludC5wYXJlbnROb2RlLCAi
YnJlYWtwb2ludCIpOwogICAgICAgICAgICAgcmVtb3ZlU3R5bGVDbGFzcyhkcmFnZ2luZ0JyZWFr
cG9pbnQucGFyZW50Tm9kZSwgImRpc2FibGVkIik7CiAgICAgICAgICAgICBkcmFnZ2luZ0JyZWFr
cG9pbnQuc3RhcnRlZCA9IHRydWU7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHZhciBsaW5l
TnVtID0gcGFyc2VJbnQoZHJhZ2dpbmdCcmVha3BvaW50LnRpdGxlKTsKKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgaWYoZHJhZ2dpbmdCcmVha3BvaW50LmlzRGlzYWJsZWQpCisgICAgICAgICAg
ICAgICAgZHJhZ2dpbmdCcmVha3BvaW50LmJyZWFrRnVuY3Rpb24gPSBmaWxlc1tjdXJyZW50Rmls
ZV0uZGlzYWJsZWRCcmVha3BvaW50c1tsaW5lTnVtXTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICBkcmFnZ2luZ0JyZWFrcG9pbnQuYnJlYWtGdW5jdGlvbiA9IGZpbGVzW2N1cnJl
bnRGaWxlXS5icmVha3BvaW50c1tsaW5lTnVtXTsKKyAgICAgICAgICAgIGZpbGVzW2N1cnJlbnRG
aWxlXS5icmVha3BvaW50c1tsaW5lTnVtXSA9IG51bGw7CisgICAgICAgICAgICBmaWxlc1tjdXJy
ZW50RmlsZV0uZGlzYWJsZWRCcmVha3BvaW50c1tsaW5lTnVtXSA9IG51bGw7CiAKICAgICAgICAg
ICAgIHZhciBkcmFnSW1hZ2UgPSBzb3VyY2VzRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7
CiAgICAgICAgICAgICBpZiAoZHJhZ2dpbmdCcmVha3BvaW50LmlzRGlzYWJsZWQpCkBAIC0zOTgs
NyArNDQ0LDcgQEAgZnVuY3Rpb24gYnJlYWtwb2ludERyYWdFbmQoZXZlbnQpCiAgICAgdmFyIGRy
YWdJbWFnZSA9IHNvdXJjZXNEb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnJlYWtwb2ludERyYWci
KTsKICAgICBpZiAoIWRyYWdJbWFnZSkKICAgICAgICAgcmV0dXJuOwotCisgICAgICAgIAogICAg
IGRyYWdJbWFnZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGRyYWdJbWFnZSk7CiAKICAgICB2YXIg
eCA9IGV2ZW50LmNsaWVudFggKyB3aW5kb3cuc2Nyb2xsWDsKQEAgLTQxOSwxMiArNDY1LDE4IEBA
IGZ1bmN0aW9uIGJyZWFrcG9pbnREcmFnRW5kKGV2ZW50KQogICAgIHZhciB0ciA9IHRhYmxlLmNo
aWxkTm9kZXMuaXRlbShyb3cgLSAxKTsKICAgICBpZiAoIXRyKQogICAgICAgICByZXR1cm47Ci0K
LSAgICBpZiAoZHJhZ2dpbmdCcmVha3BvaW50LmlzRGlzYWJsZWQpCisgICAgICAgIAorICAgIGlm
KGRyYWdnaW5nQnJlYWtwb2ludC5pc0Rpc2FibGVkKSB7CiAgICAgICAgIGFkZFN0eWxlQ2xhc3Mo
dHIsICJkaXNhYmxlZCIpOwotICAgIGFkZFN0eWxlQ2xhc3ModHIsICJicmVha3BvaW50Iik7Ci0g
ICAgZmlsZS5icmVha3BvaW50c1tyb3ddID0gKGRyYWdnaW5nQnJlYWtwb2ludC5pc0Rpc2FibGVk
ID8gLTEgOiAxKTsKKyAgICAgICAgZmlsZS5kaXNhYmxlZEJyZWFrcG9pbnRzW3Jvd10gPSBkcmFn
Z2luZ0JyZWFrcG9pbnQuYnJlYWtGdW5jdGlvbjsKKyAgICAgICAgZmlsZS5icmVha3BvaW50c1ty
b3ddID0gbnVsbDsKKyAgICB9IGVsc2UgeworICAgICAgICBmaWxlLmRpc2FibGVkQnJlYWtwb2lu
dHNbcm93XSA9IG51bGw7CisgICAgICAgIGZpbGUuYnJlYWtwb2ludHNbcm93XSA9IGRyYWdnaW5n
QnJlYWtwb2ludC5icmVha0Z1bmN0aW9uOworICAgIH0KIAorICAgIGFkZFN0eWxlQ2xhc3ModHIs
ICJicmVha3BvaW50Iik7CisgICAgCiAgICAgZHJhZ2dpbmdCcmVha3BvaW50ID0gbnVsbDsKIH0K
IApAQCAtNzY0LDYgKzgxNiw4IEBAIGZ1bmN0aW9uIGRpZFBhcnNlU2NyaXB0KHNvdXJjZSwgZmls
ZVNvdXIKICAgICAgICAgZmlsZSA9IG5ldyBPYmplY3QoKTsKICAgICAgICAgZmlsZS5zY3JpcHRz
ID0gbmV3IEFycmF5KCk7CiAgICAgICAgIGZpbGUuYnJlYWtwb2ludHMgPSBuZXcgQXJyYXkoKTsK
KyAgICAgICAgZmlsZS5kaXNhYmxlZEJyZWFrcG9pbnRzID0gbmV3IEFycmF5KCk7CisgICAgICAg
IGZpbGUuYnJlYWtwb2ludEVkaXRvcldpbmRvd3MgPSBuZXcgQXJyYXkoKTsKICAgICAgICAgZmls
ZS5zb3VyY2UgPSAoZmlsZVNvdXJjZS5sZW5ndGggPyBmaWxlU291cmNlIDogc291cmNlKTsKICAg
ICAgICAgZmlsZS51cmwgPSAodXJsLmxlbmd0aCA/IHVybCA6IG51bGwpOwogICAgICAgICBmaWxl
LmxvYWRlZCA9IGZhbHNlOwpAQCAtODM2LDggKzg5MCwxMSBAQCBmdW5jdGlvbiB3aWxsRXhlY3V0
ZVN0YXRlbWVudChzb3VyY2VJZCwgCiAgICAgICAgIHJldHVybjsKIAogICAgIGxhc3RTdGF0ZW1l
bnQgPSBbc291cmNlSWQsIGxpbmVdOwotCi0gICAgaWYgKHBhdXNlT25OZXh0U3RhdGVtZW50IHx8
IGZpbGUuYnJlYWtwb2ludHNbbGluZV0gPT0gMSB8fCAoc3RlcHBpbmdPdmVyICYmICFzdGVwcGlu
Z1N0YWNrKSkgeworICAgIAorICAgIHZhciBicmVha3BvaW50ID0gZmlsZS5icmVha3BvaW50c1ts
aW5lXTsKKyAgICB2YXIgc2hvdWxkQnJlYWsgPSBicmVha3BvaW50ICYmIChicmVha3BvaW50ID09
ICJicmVhayIgfHwgRGVidWdnZXJEb2N1bWVudC5ldmFsdWF0ZVNjcmlwdF9pbkNhbGxGcmFtZV8o
YnJlYWtwb2ludCwgMCkgPT0gMSk7CisgICAgCisgICAgaWYgKHBhdXNlT25OZXh0U3RhdGVtZW50
IHx8IHNob3VsZEJyZWFrIHx8IChzdGVwcGluZ092ZXIgJiYgIXN0ZXBwaW5nU3RhY2spKSB7CiAg
ICAgICAgIHBhdXNlKCk7CiAgICAgICAgIHBhdXNlT25OZXh0U3RhdGVtZW50ID0gZmFsc2U7CiAg
ICAgICAgIHBhdXNlZFdoaWxlTGVhdmluZ0ZyYW1lID0gZnJvbUxlYXZpbmdGcmFtZSB8fCBmYWxz
ZTsKSW5kZXg6IERyb3NlcmEvRHJvc2VyYS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIERyb3NlcmEvRHJvc2VyYS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiAxNjg3MCkKKysrIERyb3NlcmEvRHJvc2VyYS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw5IEBACiAJCTFDRDhENTZDMEE0OTA0M0UwMEU1
Njc3QiAvKiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxMDU4QzdBN0ZFQTU0RjUzMTFDQTJDQkIgLyogQ29jb2EuZnJhbWV3
b3JrICovOyB9OwogCQkxQ0Q4RDVBNjBBNDkxMDI5MDBFNTY3N0IgLyogRHJvc2VyYS5hcHAgaW4g
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhEMTVBQzM3MDQ4
NkQwMTQwMDZGRjZBNCAvKiBEcm9zZXJhLmFwcCAqLzsgfTsKIAkJNUQyQzgyN0YwQTgxNkJBNzAw
QzE5M0ZEIC8qIERyb3NlcmEuaWNucyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUMzNDg3OTcwQTgxMjA4NDAwMTAxQzVDIC8qIERyb3NlcmEuaWNucyAq
LzsgfTsKKwkJNjNBOUUyM0YwQUQ0ODY5MzAwQzA3OUVFIC8qIGJyZWFrcG9pbnRFZGl0b3IuY3Nz
IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2M0E5RTIz
QzBBRDQ4NjkzMDBDMDc5RUUgLyogYnJlYWtwb2ludEVkaXRvci5jc3MgKi87IH07CisJCTYzQTlF
MjQwMEFENDg2OTQwMEMwNzlFRSAvKiBicmVha3BvaW50RWRpdG9yLmh0bWwgaW4gUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzQTlFMjNEMEFENDg2OTMwMEMw
NzlFRSAvKiBicmVha3BvaW50RWRpdG9yLmh0bWwgKi87IH07CisJCTYzQTlFMjQxMEFENDg2OTQw
MEMwNzlFRSAvKiBicmVha3BvaW50RWRpdG9yLmpzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2M0E5RTIzRTBBRDQ4NjkzMDBDMDc5RUUgLyogYnJlYWtw
b2ludEVkaXRvci5qcyAqLzsgfTsKIAkJOEQxNUFDMkQwNDg2RDAxNDAwNkZGNkE0IC8qIE1haW5N
ZW51Lm5pYiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkEzN0Y0QjZGRENGQTczMDExQ0EyQ0VBIC8qIE1haW5NZW51Lm5pYiAqLzsgfTsKIAkJOEQxNUFD
MkUwNDg2RDAxNDAwNkZGNkE0IC8qIERlYnVnZ2VyLm5pYiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkEzN0Y0QjRGRENGQTczMDExQ0EyQ0VBIC8qIERl
YnVnZ2VyLm5pYiAqLzsgfTsKIAkJOEQxNUFDMzEwNDg2RDAxNDAwNkZGNkE0IC8qIERlYnVnZ2Vy
RG9jdW1lbnQubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJBMzdGNEFDRkRDRkE3MzAxMUNBMkNFQSAvKiBEZWJ1Z2dlckRvY3VtZW50Lm0gKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKQEAgLTEyOSw4ICsxMzIsMTEgQEAKIAkJMkEz
N0Y0QzRGRENGQTczMDExQ0EyQ0VBIC8qIEFwcEtpdC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFt
ZSA9IEFwcEtpdC5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9B
cHBLaXQuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQkyQTM3RjRD
NUZEQ0ZBNzMwMTFDQTJDRUEgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFt
ZSA9IEZvdW5kYXRpb24uZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvRm91bmRhdGlvbi5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJ
CTMyREJDRjc1MDM3MEJEMjMwMEM5MTc4MyAvKiBEcm9zZXJhLnBjaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRHJvc2VyYS5wY2g7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRh
YldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OworCQk2M0E5RTIzQzBBRDQ4NjkzMDBDMDc5RUUg
LyogYnJlYWtwb2ludEVkaXRvci5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGJyZWFrcG9p
bnRFZGl0b3IuY3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2M0E5RTIzRDBBRDQ4
NjkzMDBDMDc5RUUgLyogYnJlYWtwb2ludEVkaXRvci5odG1sICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRt
bDsgcGF0aCA9IGJyZWFrcG9pbnRFZGl0b3IuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNjNBOUUyM0UwQUQ0ODY5MzAwQzA3OUVFIC8qIGJyZWFrcG9pbnRFZGl0b3IuanMgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gYnJlYWtwb2ludEVkaXRvci5q
czsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEQxNUFDMzYwNDg2RDAxNDAwNkZGNkE0
IC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0OyBwYXRoID0gSW5mby5wbGlzdDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOEQxNUFDMzcwNDg2RDAxNDAwNkZGNkE0IC8q
IERyb3NlcmEuYXBwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGluY2x1ZGVJbkluZGV4
ID0gMDsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmFwcGxpY2F0aW9uOyBwYXRoID0gRHJv
c2VyYS5hcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCThEMTVBQzM3
MDQ4NkQwMTQwMDZGRjZBNCAvKiBEcm9zZXJhLmFwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5hcHBsaWNhdGlvbjsgaW5jbHVkZUluSW5k
ZXggPSAwOyBwYXRoID0gRHJvc2VyYS5hcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19E
SVI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBC
WEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTI1OSw2ICsyNjUsOSBAQAogCQkJ
CTFDNkY4NjFGMEE1OTlGNjUwMDRGQ0Q4OSAvKiBjb25zb2xlLmpzICovLAogCQkJCTFDNkY4NDU0
MEE1OEVFMDYwMDRGQ0Q4OSAvKiBjb25zb2xlLmh0bWwgKi8sCiAJCQkJMUM2Rjg0NTMwQTU4RUUw
NjAwNEZDRDg5IC8qIGNvbnNvbGUuY3NzICovLAorCQkJCTYzQTlFMjNDMEFENDg2OTMwMEMwNzlF
RSAvKiBicmVha3BvaW50RWRpdG9yLmNzcyAqLywKKwkJCQk2M0E5RTIzRDBBRDQ4NjkzMDBDMDc5
RUUgLyogYnJlYWtwb2ludEVkaXRvci5odG1sICovLAorCQkJCTYzQTlFMjNFMEFENDg2OTMwMEMw
NzlFRSAvKiBicmVha3BvaW50RWRpdG9yLmpzICovLAogCQkJKTsKIAkJCW5hbWUgPSBDbGFzc2Vz
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTQxMCw2ICs0MTksOSBAQAogCQkJCTFD
NkY4NDU2MEE1OEVFMDYwMDRGQ0Q4OSAvKiBjb25zb2xlLmh0bWwgaW4gUmVzb3VyY2VzICovLAog
CQkJCTFDNkY4NjczMEE1OUExOEIwMDRGQ0Q4OSAvKiBjb25zb2xlLmpzIGluIFJlc291cmNlcyAq
LywKIAkJCQkxQzM0ODc5ODBBODEyMDg0MDAxMDFDNUMgLyogRHJvc2VyYS5pY25zIGluIFJlc291
cmNlcyAqLywKKwkJCQk2M0E5RTIzRjBBRDQ4NjkzMDBDMDc5RUUgLyogYnJlYWtwb2ludEVkaXRv
ci5jc3MgaW4gUmVzb3VyY2VzICovLAorCQkJCTYzQTlFMjQwMEFENDg2OTQwMEMwNzlFRSAvKiBi
cmVha3BvaW50RWRpdG9yLmh0bWwgaW4gUmVzb3VyY2VzICovLAorCQkJCTYzQTlFMjQxMEFENDg2
OTQwMEMwNzlFRSAvKiBicmVha3BvaW50RWRpdG9yLmpzIGluIFJlc291cmNlcyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
</data>
<flag name="review"
          id="3677"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>