]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.8 release/0.1.8
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 15 Aug 1997 11:50:30 +0000 (13:50 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 15 Aug 1997 11:50:30 +0000 (13:50 +0200)
426 files changed:
.dstreamrc
BUGS
Documentation/CodingStyle.pod
Documentation/Makefile
Documentation/Rules.make
Documentation/Vocab-British [new file with mode: 0644]
Documentation/Vocab-French [new file with mode: 0644]
Documentation/Vocab-German [new file with mode: 0644]
Documentation/lelie_icon.gif [deleted file]
Documentation/lelie_icon.xpm [new file with mode: 0644]
Documentation/lelie_logo.gif [deleted file]
Documentation/lelie_logo.xpm [new file with mode: 0644]
Documentation/lelieblond.xpm [new file with mode: 0644]
Documentation/links.pod
Documentation/mudela-man.doc
NEWS
TODO
VERSION
bin/make-patch
bin/make-website.in
flower/NEWS
flower/choleski.cc
flower/data-file.cc
flower/diagonal-storage.cc
flower/directed-graph.cc
flower/dstream.cc
flower/flower-debug.cc
flower/flower-version.cc
flower/full-storage.cc
flower/include/acursor.hh
flower/include/assoc-iter.hh
flower/include/assoc.hh
flower/include/choleski.hh
flower/include/compare.hh
flower/include/cursor.hh
flower/include/cursor.icc
flower/include/cursor.tcc
flower/include/data-file.hh
flower/include/diagonal-storage.hh
flower/include/directed-graph.hh
flower/include/dstream.hh
flower/include/flower-debug.hh
flower/include/fproto.hh
flower/include/full-storage.hh
flower/include/full-storage.icc
flower/include/handle.hh
flower/include/interval.hh
flower/include/interval.tcc
flower/include/iterate.hh
flower/include/lgetopt.hh
flower/include/libc-extension.hh
flower/include/link.hh
flower/include/link.icc
flower/include/list.hh
flower/include/list.icc
flower/include/list.tcc
flower/include/matrix-storage.hh
flower/include/matrix.hh
flower/include/parray.hh
flower/include/path.hh
flower/include/pcursor.hh
flower/include/pcursor.tcc
flower/include/plist.hh
flower/include/plist.icc
flower/include/plist.tcc
flower/include/pointer.hh
flower/include/pointer.tcc
flower/include/pqueue.hh
flower/include/priorities.hh
flower/include/rational.hh
flower/include/real.hh
flower/include/scalar.hh
flower/include/string-convert.hh
flower/include/string-data.hh
flower/include/string-data.icc
flower/include/string-handle.hh
flower/include/string-handle.icc
flower/include/string.hh
flower/include/text-db.hh
flower/include/text-stream.hh
flower/include/unionfind.hh
flower/include/varray.hh
flower/include/vector.hh
flower/include/virtual-methods.hh
flower/interval.cc
flower/lgetopt.cc
flower/libc-extension.cc
flower/matrix-debug.cc
flower/matrix-storage.cc
flower/matrix.cc
flower/path.cc
flower/rational.cc
flower/scalar.cc
flower/string-convert.cc
flower/string.cc
flower/stringtest.cc
flower/stringutil.cc
flower/text-db.cc
flower/text-stream.cc
flower/unionfind.cc
flower/vector.cc
input/gallina.ly
input/s.ly [new file with mode: 0644]
input/standchen.tex
input/wohltemperirt.ly
lib/duration.cc
lib/include/duration.hh
lib/include/source.hh
lib/template.cc
lily/VERSION
lily/atom.cc
lily/audio-column.cc
lily/audio-item.cc
lily/audio-score.cc
lily/audio-staff.cc
lily/axis-group-item.cc
lily/axis-group-spanner.cc
lily/axis-group.cc
lily/axis.cc
lily/bar-column-grav.cc
lily/bar-column.cc
lily/bar-grav.cc
lily/bar-number-grav.cc
lily/bar.cc
lily/beam.cc
lily/bow.cc
lily/boxes.cc
lily/break.cc
lily/clef-grav.cc
lily/clef-item.cc
lily/col-info.cc
lily/colhpos.cc
lily/collision-grav.cc
lily/collision.cc
lily/command-request.cc
lily/crescendo.cc
lily/debug.cc
lily/dimen.cc
lily/dynamic-grav.cc
lily/elem-group.cc
lily/engraver-group.cc
lily/engraver.cc
lily/general-script-def.cc
lily/global-gravs.cc
lily/global-performers.cc
lily/global-translator.cc
lily/gourlay-breaking.cc
lily/grouping.cc
lily/head-column.cc
lily/head-grav.cc
lily/horizontal-align-item.cc
lily/idealspacing.cc
lily/identifier.cc
lily/include/audio-column.hh
lily/include/audio-item.hh
lily/include/audio-score.hh
lily/include/audio-staff.hh
lily/include/axes.hh
lily/include/axis-group.hh
lily/include/bar-column-grav.hh
lily/include/bar-column.hh
lily/include/bar-grav.hh
lily/include/bar-number-grav.hh
lily/include/beam.hh
lily/include/boxes.hh
lily/include/break.hh
lily/include/clef-grav.hh
lily/include/clef-item.hh
lily/include/col-info.hh
lily/include/colhpos.hh
lily/include/collision-grav.hh
lily/include/collision.hh
lily/include/command-request.hh
lily/include/debug.hh
lily/include/dimen.hh
lily/include/dynamic-grav.hh
lily/include/elem-group-item.hh
lily/include/elem-group.hh
lily/include/engraver-group.hh
lily/include/engraver.hh
lily/include/general-script-def.hh
lily/include/global-performers.hh
lily/include/global-translator.hh
lily/include/grouping.hh
lily/include/head-column.hh
lily/include/head-grav.hh
lily/include/horizontal-align-item.hh
lily/include/horizontal-group-item.hh
lily/include/identifier.hh
lily/include/ineq-constrained-qp.hh
lily/include/input-translator.hh
lily/include/item.hh
lily/include/key-grav.hh
lily/include/key-item.hh
lily/include/key-performer.hh
lily/include/key.hh
lily/include/keyword.hh
lily/include/leastsquares.hh
lily/include/line-group-grav.hh
lily/include/line-spacer.hh
lily/include/linespace.hh
lily/include/local-key-grav.hh
lily/include/local-key-item.hh
lily/include/lookup.hh
lily/include/lyric-engraver.hh
lily/include/lyric-performer.hh
lily/include/main.hh
lily/include/meter-grav.hh
lily/include/meter-performer.hh
lily/include/meter.hh
lily/include/midi-def.hh
lily/include/midi-item.hh
lily/include/midi-stream.hh
lily/include/midi-walker.hh
lily/include/misc.hh
lily/include/molecule.hh
lily/include/music-iterator.hh
lily/include/music-list.hh
lily/include/music.hh
lily/include/musical-request.hh
lily/include/my-lily-lexer.hh
lily/include/my-lily-parser.hh
lily/include/note-column-grav.hh
lily/include/note-column.hh
lily/include/note-head.hh
lily/include/note-performer.hh
lily/include/notename-table.hh
lily/include/notename.hh
lily/include/offset.hh
lily/include/p-col.hh
lily/include/p-score.hh
lily/include/paper-def.hh
lily/include/parseconstruct.hh
lily/include/performer-group-performer.hh
lily/include/performer.hh
lily/include/qlp.hh
lily/include/qlpsolve.hh
lily/include/request.hh
lily/include/rest-collision-grav.hh
lily/include/rest-collision.hh
lily/include/rest-column.hh
lily/include/score-align-grav.hh
lily/include/score-column.hh
lily/include/score-elem-info.hh
lily/include/score-elem.hh
lily/include/score-grav.hh
lily/include/score-halign-grav.hh
lily/include/score-performer.hh
lily/include/score.hh
lily/include/scoreline.hh
lily/include/script-column.hh
lily/include/script-def.hh
lily/include/script-grav.hh
lily/include/script.hh
lily/include/slur-grav.hh
lily/include/slur.hh
lily/include/span-bar-grav.hh
lily/include/span-bar.hh
lily/include/span-score-bar.hh
lily/include/spanner.hh
lily/include/spring-spacer.hh
lily/include/staff-performer.hh
lily/include/staff-side.hh
lily/include/staff-sym-grav.hh
lily/include/staff-sym.hh
lily/include/stem-beam-grav.hh
lily/include/stem.hh
lily/include/super-elem.hh
lily/include/swallow-grav.hh
lily/include/swallow-perf.hh
lily/include/symbol.hh
lily/include/symtable.hh
lily/include/tex-stream.hh
lily/include/tex.hh
lily/include/text-def.hh
lily/include/text-grav.hh
lily/include/text-item.hh
lily/include/text-spanner.hh
lily/include/tie-grav.hh
lily/include/tie.hh
lily/include/time-description.hh
lily/include/timing-grav.hh
lily/include/translator.hh
lily/include/vertical-align-elem.hh
lily/include/vertical-align-grav.hh
lily/include/vertical-align-spanner.hh
lily/include/vertical-group-spanner.hh
lily/include/voice-group-gravs.hh
lily/ineq-constrained-qp.cc
lily/input-translator.cc
lily/item.cc
lily/key-grav.cc
lily/key-item.cc
lily/key-performer.cc
lily/key.cc
lily/keyword.cc
lily/leastsquares.cc
lily/lexer.l
lily/lily-version.cc
lily/line-group-grav.cc
lily/local-key-grav.cc
lily/local-key-item.cc
lily/lookup.cc
lily/lyric-grav.cc
lily/lyric-performer.cc
lily/main.cc
lily/meter-grav.cc
lily/meter-performer.cc
lily/meter.cc
lily/midi-def.cc
lily/midi-item.cc
lily/midi-stream.cc
lily/midi-walker.cc
lily/misc.cc
lily/molecule.cc
lily/music-iterator.cc
lily/music-list.cc
lily/music.cc
lily/musical-request.cc
lily/my-lily-lexer.cc
lily/my-lily-parser.cc
lily/note-column-grav.cc
lily/note-column.cc
lily/note-performer.cc
lily/note.cc
lily/notehead.cc
lily/notename-table.cc
lily/p-col.cc
lily/p-score.cc
lily/paper-def.cc
lily/parser.y
lily/performer-group-performer.cc
lily/performer.cc
lily/qlp.cc
lily/qlpsolve.cc
lily/request.cc
lily/rest-collision-grav.cc
lily/rest-collision.cc
lily/rest-column.cc
lily/score-align-grav.cc
lily/score-align-gravs.cc
lily/score-column.cc
lily/score-elem-info.cc
lily/score-elem.cc
lily/score-grav.cc
lily/score-halign-grav.cc
lily/score-performer.cc
lily/score.cc
lily/scoreline.cc
lily/scores.cc
lily/script-column.cc
lily/script-def.cc
lily/script-grav.cc
lily/script.cc
lily/slur-grav.cc
lily/slur.cc
lily/span-bar-grav.cc
lily/span-bar.cc
lily/span-score-bar.cc
lily/spanner.cc
lily/spring-spacer.cc
lily/staff-info.cc
lily/staff-performer.cc
lily/staff-side.cc
lily/staff-sym-grav.cc
lily/staff-sym.cc
lily/stem-beam-grav.cc
lily/stem.cc
lily/super-elem.cc
lily/swallow-grav.cc
lily/symbol.cc
lily/symtable.cc
lily/template1.cc
lily/template2.cc
lily/template3.cc
lily/template4.cc
lily/template5.cc
lily/template6.cc
lily/template7.cc
lily/template8.cc
lily/tex-beam.cc
lily/tex-slur.cc
lily/tex-stream.cc
lily/tex.cc
lily/text-def.cc
lily/text-grav.cc
lily/text-item.cc
lily/text-spanner.cc
lily/tie-grav.cc
lily/tie.cc
lily/time-description.cc
lily/timing-grav.cc
lily/translator.cc
lily/vertical-align-elem.cc
lily/vertical-align-grav.cc
lily/voice-group-gravs.cc
lily/warn.cc
lily/word-wrap.cc
make/lilypond.lsm
make/lilypond.spec
mi2mu/TODO
mi2mu/include/lily-stream.hh [deleted file]
mi2mu/include/mi2mu-proto.hh
mi2mu/include/mi2mu.hh [deleted file]
mi2mu/include/midi-event.hh [deleted file]
mi2mu/include/midi-global.hh [deleted file]
mi2mu/include/midi-score.hh [deleted file]
mi2mu/include/midi-track.hh [deleted file]
mi2mu/include/midi-voice.hh [deleted file]
mi2mu/include/my-midi-lexer.hh
mi2mu/include/my-midi-parser.hh
mi2mu/include/track-column.hh [deleted file]
mi2mu/lily-stream.cc [deleted file]
mi2mu/main.cc
mi2mu/mi2mu-version.cc
mi2mu/midi-event.cc [deleted file]
mi2mu/midi-lexer.l
mi2mu/midi-parser.y
mi2mu/midi-score.cc [deleted file]
mi2mu/midi-track.cc [deleted file]
mi2mu/midi-voice.cc [deleted file]
mi2mu/my-midi-lexer.cc
mi2mu/my-midi-parser.cc
mi2mu/template.cc
mi2mu/track-column.cc [deleted file]
mi2mu/version.cc

index ae0b1b114315801ea37b2b3ac1fef0606f7087c2..b4b324820312812e0dcdee5b2485921a6bf32a6c 100644 (file)
@@ -15,25 +15,21 @@ Matrix                      1
 
 
 # flower lib
-File_path              0
+File_path              1
 
 Atom                   0
 Bar                    0
 Beam                   0
 Change_iterator                0
 Chord                  0
-Chord_iterator         0
+Chord_iterator         1
 Clef_item              0
 Col_configuration      0
 Colinfo                        0
 Colinfo                        0
 Collision              0
-
-# E l b e ment? search/replace typo.
-# Yeah. kind of. Looks cute though
-Elbement_group         0
-Engraver               0
-Engraver_group_engraver 0
+Engraver               1
+Engraver_group_engraver 1
 Group_change_req       0
 Head_column            0
 Idealspacing           0
@@ -41,13 +37,13 @@ Ineq_constrained_qp         0
 Input_translator       0
 Item                   0
 Key_item               0
-Lookup                 0
+Lookup                 1
 Line_spacer            0
 Melodic_req            0
 Midi_def               0
 Mixed_qp               0
 Music                  0
-Music_iterator         0
+Music_iterator         1
 My_lily_lexer          1
 Note_head              0
 Note_performer         0
@@ -59,7 +55,7 @@ Paperdef              0
 Performer              0
 Performer_group_performer      0
 Request                        0
-Request_iterator       0
+Request_iterator       1
 Rest_collision         0
 Rest_collision_engraver 0
 Rest_req               0
diff --git a/BUGS b/BUGS
index 1f811c90c9e07fd58a59c481cc364bec7149fd6f..c5f7e685f6bf20307828f7b2887d27f2ac5b053d 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -2,10 +2,46 @@ Document reintroduced deficiencies.
 
 * placement of bar-numbers
 
-*
+**************** 
+vi1=\melodic{
+  \meter 4/4;
+  \octave c'';
 
-hw:~/musix/spacer/Documentation/out$ LILYINCLUDE=../../input lilypond -o wohltemperirt ../../input/wohltemperirt.ly
+  B8 G G G16 A B8 G G G16 A | 
+       
+}
 
-GNU LilyPond 0.1.7 #10/FlowerLib 1.1.26 #1
-Parsing ... [/home/hw/share/lilypond/init//symbol.ly[/home/hw/share/lilypond/init//dynamic.ly][/home/hw/share/lilypond/init//dutch.ly][/home/hw/share/lilypond/init//script.ly][/home/hw/share/lilypond/init//paper16.ly[/home/hw/share/lilypond/init//table16.ly^[[B][/home/hw/share/lilypond/init//engraver.ly]][/home/hw/share/lilypond/init//midi.lySegmentation fault (core dumped)
-hw:~/musix/spacer/Documentation/out$ 
+vi2=\melodic{
+  \meter 4/4;
+  \octave c'';
+
+ r16
+}
+
+%{
+bc=\melodic{
+  \clef "bass";
+  \meter 4/4;
+  \octave c;
+
+  G1 |
+}
+%}
+
+\score{
+  < \multi 3;
+    \vi1
+    \vi2
+
+  >
+
+  \paper{
+    geometric=1.2;
+    unitspace=8.\mm;
+    linewidth=18.\cm;
+    gourlay_maxmeasures=4.;
+    gourlay_energybound = 70000.;
+       basicspace = 2.8\pt;
+  }
+}
+***************************
index 9f87b123bcbe218f6b542b4d98079ba0d73edb7b..db238815e64678c27eb31fc3373fe2f8b5b7f8bd 100644 (file)
@@ -4,7 +4,7 @@ CodingStyle - standards while programming for GNU LilyPond
 
 =head1 DESCRIPTION
 
-Please use these standards while doing programming for GNU LilyPond
+We use these standards while doing programming for GNU LilyPond
 
 Functions and methods do not return errorcodes, but use assert for
 checking status. 
@@ -90,19 +90,23 @@ If you like using font-lock, you can also add this to your F<.emacs>:
        This_is_a_class
        AClass_name     (for Abbreviation_class_name)
 
-=head2 DATA MEMBERS
+=head2 MEMBERS
 
        Class::member()
        Type Class::member_type_
+       Type Class::member_type()
 
 the C<type> is a Hungarian notation postfix for C<Type>. See below
 
 =head2 MACROS
 
+Macros should be written completely in uppercase
+
 The code should not be compilable if proper macro declarations are not
 included. 
 
-Don't laugh. It took us a whole figure out one of these bugs.
+Don't laugh. It took us a whole evening/night to figure out one of
+these bugs.
 
 =head2 BROKEN CODE
 
@@ -213,10 +217,11 @@ Another fun quote from Microsoft Secrets:
        our source code, you also notice very few comments.  Hungarian
        gives us the ability to go in and read code..."
 
-
 Wow! If you use Hungarian you don't have to document your software!
 Just think of the hours I have wasted documenting while this "silver bullet"
-existed. I feel so stupid and ashamed!
+existed. I feel so stupid and ashamed!  [Didn't MMM-Brooks say `There is
+no silver bullet?' --HWN]
+
 
 =head2 Disadvantages
 
@@ -339,7 +344,7 @@ unsigned integer
 =head2 Modifiers
 
 The following types modify the meaning of the prefix. 
-These are precede the prefixes:
+These are preceded by the prefixes:
 
 =over 5
 
@@ -353,7 +358,7 @@ user built array.
 
 =item C<c>
 
-const. Note that the proper order C<Type const> i.s.o. C<const Type>
+const. Note that the proper order is C<Type const> i.s.o. C<const Type>
 
 =item C<C>
 
index 1bc695200ec13e29df01f7d17fd3c01112ce29e2..521caa1bb63c7d26b71c4a76521b92dfb05f2ba6 100644 (file)
@@ -28,13 +28,18 @@ GROFFFILES = $(OUTPODFILES:.pod=.1)
 HTMLFILES = $(OUTPODFILES:.pod=.html)
 DVIFILES = $(addprefix $(outdir)/, $(DOCFILES:.doc=.dvi))
 
+
+default: do-doc
 #
 # list of distribution files:
 #
-EXTRA_DISTFILES = lelie_icon.gif lelie_logo.gif  $(DOCFILES) 
-# $(wildcard Vocab*)
+XPMS=$(wildcard *.xpm)
+giffiles=$(XPMS:.xpm=.gif)
 
-default: do-doc
+gifs: $(addprefix $(outdir)/, $(giffiles))
+
+
+EXTRA_DISTFILES = $(XPMS)  $(DOCFILES)  $(wildcard Vocab*)
 
 # don't do DVI files. They can only be made if lily is installed
 do-doc: $(TEXTFILES)
index bf32a8d067d03adc15fe3ca997ca85061bc39257..5ac09affd2a07ff6754ea53b9351100c6f07da75 100644 (file)
@@ -4,8 +4,9 @@
 .SUFFIXES: .pod .text .1  .html
 
 
-$(outdir)/%.xpm: %.gif
-       giftopnm $< | ppmtoxpm > $@
+$(outdir)/%.gif: %.xpm
+       xpmtoppm $< | ppmtogif > $@
+
 
 $(outdir)/%.ps: $(outdir)/%.dvi
        dvips -o $@ $<
@@ -44,7 +45,6 @@ $(outdir)/%.gz: $(outdir)/%
 name-stem= $(notdir $(basename $<))
 $(outdir)/%.dvi: $(depth)/input/%.ly 
        (cd $(outdir); \
-       rm lelie.midi ; \
        lilypond -o  $(name-stem)  ../$< )
        (cd $(outdir); \
        if [ -f ../$(basename $< ).tex ]; \
diff --git a/Documentation/Vocab-British b/Documentation/Vocab-British
new file mode 100644 (file)
index 0000000..d2b666a
--- /dev/null
@@ -0,0 +1,21 @@
+# Musical vocabulary, correspondance from British.
+# Copyright (C) 1993 Free Software Foundation, Inc.
+# Neil Jerram <nj104@cus.cam.ac.uk>, 1993.
+
+British                                American
+
+breve                          double whole note
+crotchet                       quarter note
+crotchet rest                  quarter rest
+demisemiquaver                 thirty-second note
+demisemiquaver rest            thirty-second rest
+hemidemisemiquaver             sixty-fourth note
+hemidemisemiquaver rest                sixty-fourth rest
+minim                          half note
+minim rest                     half rest
+quaver                         eighth note
+quaver rest                    eighth rest
+semibreve                      whole note
+semibreve rest                 whole rest
+semiquaver                     sixteenth note
+semiquaver rest                        sixteenth rest
diff --git a/Documentation/Vocab-French b/Documentation/Vocab-French
new file mode 100644 (file)
index 0000000..74e4622
--- /dev/null
@@ -0,0 +1,237 @@
+# Musical vocabulary, correspondance from French.
+# Copyright (C) 1993 Free Software Foundation, Inc.
+# Francois Pinard <pinard@iro.umontreal.ca>, 1993.
+
+# Thanks to Neil Jerram <nj104@cus.cam.ac.uk>.
+
+French                         American        
+
+accentuation                   accentuation
+accolade                       brace
+accord                         chord
+accord de neuvième dominante   chord of the dominant ninth
+accord de septième dominante   chord of the dominant seventh
+accord parfait majeur          perfect major chord
+accord parfait mineur          perfect minor chord
+alto                           alto
+altération accidentelle                accident; accidental alteration
+altération essentielle         essential alteration
+appogiature                    appoggiatura
+appogiature brève              short appoggiatura
+appogiature double             double appoggiatura
+appogiature longue             long appoggiatura
+appogiature simple             simple appoggiatura
+armature [de la clé]           key signature
+armure [de la clé]             key signature
+arpège                         arpeggio
+augmenté (intervalle)          augmented (interval)
+bariton                                baritone
+barre de mesure                        bar line
+barre de reprise               repeat
+basse                          bass
+blanche                                half note
+bâton de pause                 (arbitrary number of bars' rest)
+bâton de pause                 four-bar rest
+bâton de pause                 two-bar rest
+bécarre                                natural sign
+bémol                          flat
+cadence                                cadence
+cadence harmonique             harmonic cadence
+cadence mélodique              melodic cadence
+caractère                      character
+chaîne de trilles              chain of trills
+chevron                                chevron
+chiffrage                      time signature
+chiffre inférieur              lower number
+chiffre supérieur              upper number
+chiffres indicateurs           time signature
+clé                            clef
+clé d'octave                   octave line
+clé d'ut                       middle C clef
+clé de fa                      bass clef
+clé de sol                     treble clef
+comma                          comma
+comma enharmonique
+comma pythagoricien
+comma syntonique
+consonance                     consonant interval; consonance
+contralto                      contralto
+contre-temps                   contro-time
+contre-temps irrégulier                irregular contro-time
+contre-temps régulier          regular contro-time
+coulé                          slur
+courbe rythmique               rythmic curve
+cresendo                       opening angular bracket
+croche                         eighth note
+decrescendo                    closing angular bracket
+degré [de la gamme]            degree [of the scale]
+demi-pause                     half rest
+demi-soupir                    eighth rest
+demi-ton                       semitone
+demi-ton chromatique           chromatic semitone
+demi-ton diatonique            diatonic semitone
+diapason                       pitch pipe; tuning fork
+diminué (intervalle)           diminished (interval)
+dissonance                     dissonant interval; dissonance
+dièse                          sharp
+do                             C
+do central                     middle C
+doigté
+doigté de pédale
+dominante                      dominant
+double barre                   double bar line
+double bémol                   double flat
+double croche                  sixteenth note
+double dièse                   double sharp
+double triolet                 double triplet
+duolet                         duplet
+durée                          duration
+échelle d'octave               octave line
+échelle musicale               Musical Ladder
+enharmonie                     enharmony
+espace                         space
+extension d'intervalle         extension of interval
+fa                             F
+figure de note                 kind of note
+figure de silence              kind of rest
+fioriture                      cadenza
+forme du mode mineur ancien    ancient form (diatonic minor scale)
+forme harmonique               harmonic form (diatonic minor scale)
+forme mélodique                        melodic form (diatonic minor scale)
+gamme                          scale
+gamme chromatique              chromatic scale
+gamme diatonique majeure       diatonic major scale
+gamme diatonique mineure       diatonic minor scale
+gammes enharmoniques           enharmonic scales
+gammes relatives               relative scales
+genre chromatique              chromatic type
+genre diatonique               diatonic type
+genre enharmonique             enharmonic type
+groupe irrégulier              irregular group
+grupetto                       turn; gruppetto
+hauteur                                pitch
+huitième de soupir             thirty-second rest
+incise                         motive
+indication de pédale
+indication métronomique                metronomic indication
+intervalle                     interval
+intervalle ascendant           ascending interval
+intervalle composé             compound interval
+intervalle descendant          descending interval
+intervalle harmonique          harmonic interval
+intervalle simple              simple interval
+intervalles enharmoniques      enharmonic intervals
+juste (intervalle)             perfect (interval)
+la                             A
+liaison                                tie
+liaison rythmique              legato curve
+ligne                          line
+ligne supplémentaire           ledger line
+majeur (intervalle)            major (interval)
+membre de phrase               phrase member
+mesure                         bar; measure
+mesure artificielle            artificial measure
+mesure composée                        compound measure
+mesure incomplète              incomplete measure
+mesure irrégulière             irregular measure
+mesure simple                  simple measure
+mezzo-soprano                  mezzo-soprano
+mi                             E
+mineur (intervalle)            minor (interval)
+mode                           mode
+mode ecclésiastique
+mode majeur                    major mode
+mode mineur                    minor mode
+modulation                     modulation
+mordant                                mordent
+mouvement                      tempo; movement
+mouvement conjoint             conjunct movement
+mouvement disjoint             disjunct movement
+mouvement lent                 slow tempo
+mouvement modéré               moderate tempo
+mouvement rapide               fast tempo
+médiante                       mediant
+métronome                      metronome
+noire                          quarter note
+note                           note
+note doublement pointée                double dotted note
+note modale                    modal note
+note pointée                   dotted note
+note tonale                    tonal note
+notes enharmoniques            enharmonic notes
+nuance                         shading
+octave                         octave
+ornement                       embellishment; accessory
+partition                      score
+pause                          whole rest
+phrase                         phrase
+phrasé                         phrasing
+pizzicato                      dash over/below
+point                          dot
+point d'orgue                  pause
+point et liaison combinés      dot and curved line combined
+pointillés
+portamento                     underline over/below
+portée                         staff
+portées                                staves
+quadruple croche               sixty-fourth note
+quart de soupir                        sixteenth rest
+quarte                         fourth
+quartolet                      quadruplet
+quinte                         fifth
+registre                       register
+renversement d'intervalle      inversion of interval
+renvoi                         return sign
+respiration                    artificial rest
+ronde                          whole note
+rythme                         rythm
+ré                             D
+seconde                                second
+seizième de soupir             sixty-fourth rest
+sensible                       leading note
+septième                       seventh
+sextolet                       sextuplet
+si                             B
+signes indicateurs de nuance   shading signs
+silence                                rest
+sixain                         sextuplet
+sixte                          sixth
+sol                            G
+soprano                                soprano
+soupir                         quarter rest
+sous-dominante                 subdominant
+sous-tonique                   subtonic
+staccato                       dot over/below
+sus-dominante                  superdominant
+sus-tonique                    supertonic
+syncope                                syncopation; upbeat
+syncope irrégulière            irregular syncopation
+syncope régulière              regular syncopation
+temps                          beat
+temps binaire                  binary beat
+temps faible                   weak beat
+temps fort                     strong beat
+temps ternaire                 ternary beat
+tempérament mésotonique                meantone tuning
+tempérament Ã©gal               tempered tuning
+tierce                         third
+ton                            tone
+tonalité                       tonality
+tonique                                tonic
+tons relatifs                  relative scales
+tons voisins                   adjacent keys
+transposition                  transposition
+transposition chromatique      chromatic transposition
+transposition enharmonique     enharmonic transposition
+trille                         trill; shake
+trille double                  double trill
+triolet                                triplet
+triple croche                  thirty-second note
+triton                         tritone
+ténor                          tenor
+tétracorde                     tetrachord
+unisson                                unison
+unité de mesure                        unit of measure
+unité de temps                 unit of beat
+ut                             C
+voix                           voice
diff --git a/Documentation/Vocab-German b/Documentation/Vocab-German
new file mode 100644 (file)
index 0000000..488c4f0
--- /dev/null
@@ -0,0 +1,8 @@
+# Musical vocabulary, correspondance from German.
+# Copyright (C) 1993 Free Software Foundation, Inc.
+# Francois Pinard <pinard@iro.umontreal.ca>, 1993.
+
+German                         American
+
+B                              B flat
+H                              B
diff --git a/Documentation/lelie_icon.gif b/Documentation/lelie_icon.gif
deleted file mode 100644 (file)
index 59b6c23..0000000
Binary files a/Documentation/lelie_icon.gif and /dev/null differ
diff --git a/Documentation/lelie_icon.xpm b/Documentation/lelie_icon.xpm
new file mode 100644 (file)
index 0000000..0ad7f75
--- /dev/null
@@ -0,0 +1,141 @@
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"50 71 63 2",
+/* colors */
+"`` c #666664",
+"`a c #F2F2F4",
+"`b c #5E5E5C",
+"`c c #EAEAEC",
+"`d c #565654",
+"`e c #E2E2E4",
+"`f c #4E4E4C",
+"`g c #DADADC",
+"`h c #464644",
+"`i c #D2D2D4",
+"`j c #3E3E3C",
+"`k c #CACACC",
+"`l c #363634",
+"`m c #C2C2C4",
+"`n c #2E2E2C",
+"`o c #BABABC",
+"`p c #262624",
+"`q c #B2B2B4",
+"`r c #1E1E1C",
+"`s c #AAAAAC",
+"`t c #161614",
+"`u c #A2A2A4",
+"`v c #0E0E0C",
+"`w c #9A9A9C",
+"`x c #060604",
+"`y c #929294",
+"`z c #8A8A8C",
+"a` c #828284",
+"aa c #7A7A7C",
+"ab c #727274",
+"ac c #6A6A6C",
+"ad c #626264",
+"ae c #5A5A5C",
+"af c #525254",
+"ag c #4A4A4C",
+"ah c #424244",
+"ai c #3A3A3C",
+"aj c #323234",
+"ak c #2A2A2C",
+"al c #FEFEFC",
+"am c #222224",
+"an c #F6F6F4",
+"ao c #1A1A1C",
+"ap c #EEEEEC",
+"aq c #121214",
+"ar c #E6E6E4",
+"as c #0A0A0C",
+"at c #DEDEDC",
+"au c #D6D6D4",
+"av c #CECECC",
+"aw c #C6C6C4",
+"ax c #BEBEBC",
+"ay c #B6B6B4",
+"az c #AEAEAC",
+"b` c #A6A6A4",
+"ba c #9E9E9C",
+"bb c #969694",
+"bc c #8E8E8C",
+"bd c #868684",
+"be c #7E7E7C",
+"bf c #767674",
+"bg c #6E6E6C",
+"bh c #FAFAFC",
+/* pixels */
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalbhbhalalbhalalbhalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalbhbhalalbhalalalalalalalalalalalalalalalalalal`o`ya``s`wbhalalalalalalalalalalalalalalalalalal",
+"bhalalalalalbhalalalalalalalalalalalalalalalalalal`a`malalalap`obb`malalalalal`cax`galalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalbcalbhalalalalalax`ialalal`gauav`u`ealalalalalalal",
+"alalalalalalalbhalalalalalalalalalalalalalalalalawar`ialalalalalalalaxapalalbaacat`i`oalalalalalalal",
+"alalbhalalalalbhalalalalalalalalalalalalalalalalazal`sbhalalalalalalalayalbh`eba`iapavalalalalalalal",
+"albhalbhalalalalalalalalalalalalalalalalalalalal`oatalb``aalalalalalal`oanazazanbhayalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalanawal`salalbaalalalalalalalazaa`cav`oalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalapawalalaranal`i`qalalalalalalbeayazbcbcalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalal`g`oapalalalalal`yalalalalal`gbbabbhapalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalal`sanalalalalalbdalalalalalbc`obbalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalapaaanalalalalal`qatan`ealax`sbbazalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalal`kab`oalalalalalau`uaw`salbb`ua`bcalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalayalalalalalalan`ea`axax`oba`oazaxaralalalalalalalalalalal",
+"alalalalalalalalalalapbhalalalalalalalalalaybhalalalalan`s`sazav`gaz`qbdalalazalalalalalalalalalalal",
+"alalalalalalalalalalax`u`aalalalalalalalalaraw`o`c`c`aaxaw`g`kav`sayb`ayalal`m`calalalalalalalalalal",
+"alalalalalalalalalalal`c`sbhalalalalalalalalalal`c`jb`albh`yavapazay`w`ialalalay`aalalalalalalalalal",
+"alalalalalalalalalalalalar`qbhalalalalalalalalalal`v`sav`abcaubbaw`u`salalalalalayapalalalalalalalal",
+"alalalalalalalalalalalalal`i`kalalalalalalalalalal`l`way`uau`cazazazbc`q`ialalalal`galalalalalalalal",
+"alalalalalalalalalalalalalalaw`galalalalalalan`i`m`hbe`q`oap`w`m`uax`ialax`salalalalalalalalalalalal",
+"alalalalalalalalalalalalalalal`oatalalalbh`kbaadagad```oav`i`mb`ba`ualalal`i`oalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalanaz`aalanaz`nag`ian`w`k`iar`waw`o`o`ialalalalau`ialalalalalalalalalal",
+"alalalalalalalalalalalalalalalalapba`c`zakac`aalau`calapaz`gbabb`qbhalalalalal`ualalalalalalalalalal",
+"alalalalalalalalalalalalalalalalal`ibdambd`c`aalalalal`a`yax`kb``u`aalalalalal`e`kalalalalalalalalal",
+"alalalalalalalalalalalalalalalalarbcajbf`q`kalalalalal`w`c`sbc`k`e`kalalalalalal`salalalalalalalalal",
+"alalalalalalalalalalalalalalalalawaoaibbaw`kalalalalapbaaw`gb`baalaualalalalalal`salalalalalalalalal",
+"alalalalalalalalalalalalalalal`cbgaq`y`q`o`ialalalal`wbh`sba`g`oalaralalalalalal`ualalalalalalalalal",
+"alalalalalalalbhbhalalalalalalar`v`lbfazap`qapalal`gaz`k`e`y`u`galbhalalalalalalb`alalalalalalalalal",
+"alalalalalalalalalalalalalalalbb`x`l`qayalap`u`aala`al`u`q`ebebhalbhalalalalalalb`alalalalalalalalal",
+"alalalalalalalalalalalalalalal`gao`hayazalalapb``kax`iaubeaybaalalalalalalalalalbaalalalalalalalalal",
+"alalalalalalalalalalalalalalalalbdahba`galalalatbcalbb`maxbeatalalalalalalalalalbaalalalalalalalalal",
+"alalalalalalalalalalalalalalalalau`jb``calbhalal`k`oaw`zapbfalalalalanalalalalal`salalalalalalalalal",
+"alalalalalalalalalalalalalalalal`aad`malalbbalalal`o`kbb`y`ialalalal`walalalalal`qalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalbebaalapbfalalalbhbb`c`dalalalalalagalalalalap`oalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalbb`ialalajalalalalap`w`walalalalaxaaalalalal`qalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalazalalalbf`aalalalalbaayanalalalbg`ealalalbh`qalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalaxalalalbebhalalal`c`s`saxalalal``alalalalaybhalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalal`oalalal`ealalalalbb`eaw`uawalalawalbhalataualalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalanalalalalalalalal`wb`alayb``malalal`sal`oalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalal`galalalal`q`g`wauaraz`yalalaxapalbhalalalalalalalalalalalal",
+"alalalalbhalalalalbhalalalalbhbhalalbhal`salalalal`waw`kay`kapb`al`k`galalalbhbhbhbhbhalalalalalalal",
+"albhbhalbhalalalalbhalalalalalbhalalal`i`malalbhar`sbdal`q`oalalal`walalbhalalalalalbhalalalalalalal",
+"bhalalalalalalalalalalalbhalalal`ialalanavalalalbcalbbat`g`qalbhar`qalalalalalalalalalbhbhbhbhbhbhal",
+"alalalalbhbhbhalalbhbhalalalal`mbealbhalawalalalbd`iat`oaratalal`yalbhalalalalalalalalalalalalalbhal",
+"alalbhalalalalbhalalalalbhbhal`najalal`aarbhal`s`eazalazazalal`cb`alalalbhbhbhbhbhalalalalalalalalal",
+"bhalbhalalalalbhalalalalalalbbas`naralalalalal`yalazarauayalalbaa`albhalalalalalbhalalalalalalalbhal",
+"alalalalalalalalalalbhalal`aaq`r`hbdalalalalaraz`m`aazan`mal`ebd`jalalalalalalalalbhbhbhbhbhbhalalal",
+"alalbhbhbhalalbhbhalalalalaa`vah`d`d`calbhalbaal`qal`o`obhalbhbd`ray`i`gbhalalalalalalalalalbhalbhal",
+"bhalalalalbhalalalalbhalal`v`t`lah```ualalalbaan`q`cavaxalalatbeai`hauaw`waz`kav`ialalalalalalalalal",
+"bhalalalalbhalalalalal`aap`x`tahafbb`ybdalavat`sbh`sal`qalal`c`qafam`faab`axauav`i`s`oaualalbhalbhal",
+"alalalalalalalanaxax`s`q`gasao`pbebabb`ubd`walb`al`oavapalalbhaybeagaq`n`sauaw`i`iapat`kayauapalalal",
+"bhbhbhalalav`kazarauayay`sad`r`facae`mazaubgb``sbh`m`oalalalalavbbaeai`j`oav`g`oatau`c`g`a`eb`azanal",
+"alalalat`o`e`mavayavauarawayaq`lbf`yb``e`zap`yawbd`qayalalalap`ibcad`j`jbb`i`gapal`cal`iatau`gar`o`c",
+"alal`eavalbh`g`g`g`ialanaral`b`vabbd`u`ibd`e`ual`o`ea`bbbdbcb`arb````la``uap`i`cavapalarav`catav`c`q",
+"al`eavar`aanar`gavatayavaranatasae`wbcawax`iaval`calalalalalalaybcaf`hbb`garan`g`c`g`i`eatauatau`oap",
+"al`s`a`carau`capanal`gapanbhal`s`ragbc`e`k`walalalalalalal`cap`oa`bfbgarauauan`g`i`e`c`c`a`g`cauatal",
+"al`e`qay`s`i`eanarau`matau`cauau`s`ta`bd`sawalbhalalbhalapatav`s`f`baxalanat`aananan`eawat`max`aalal",
+"bhalbhawavbh`aavar`e`gawawau`k`i`c`i`h`d`y`ealalbhalalalalapauaxb`avan`carbhan`gau`aan`iax`ebhalalal",
+"alalalalan`uawawal`g`e`e`oatavat`q`ganbb`babbhalalap`ubbb`bb`z`u`gaparbhbhalanaw`iavax`cbhalalalbhal",
+"albhalbhalalbhanax`oaw`m`i`m`m`kbhalalalap`obaavalbhan`aan`aalalalalapaxawaw`oapanbhalalalalalalbhal",
+"alalalalalalalalalalananbhanbhalalalalalalalan`gb``qawavaxau`m`o`o`s`eananalalalalalalalalalalalalal",
+"alalalalalalbhbhbhalalalalalalalalbhalbhalalalalalalbhbhanbhalalalalalalalalalalalalalalalbhalalalal",
+"albhalalalbhalalalalalalalalbhbhbhalalalbhalbhalalalalalalalbhalalalalalalalalalbhalalalbhalalalbhal",
+"alalbhbhalalalalalbhalbhalalalalalalalalbhalalbhalalalalbhalalalbhalalbhbhbhalalbhbhbhalalbhalalbhal",
+"albhalalalalalalbhalbhalbhalalalalbhalalalalbhalalalalalalalalbhalbhalalalalbhalalal`aalalalbhalalal",
+"alalalalbhbhbhalalalalalalalalbhalbhalalalalalbhbhbhbhalalbhalalalbhalalalalalap`qbb`salalalalalbhal",
+"alalalbhalalalalalalalalbhbhbhalalalbhalbhalalalalalalalbhalalalalalalalalalalae`uav`calalalbhalalal",
+"bhbhalalalalalbhalbhalalalalalalalalbhalalbhalalalalbhalalalbhalalbhbhbhalalalalalaralalalalbhalbhal"
+};
diff --git a/Documentation/lelie_logo.gif b/Documentation/lelie_logo.gif
deleted file mode 100644 (file)
index d606099..0000000
Binary files a/Documentation/lelie_logo.gif and /dev/null differ
diff --git a/Documentation/lelie_logo.xpm b/Documentation/lelie_logo.xpm
new file mode 100644 (file)
index 0000000..96be267
--- /dev/null
@@ -0,0 +1,214 @@
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"100 143 64 2",
+/* colors */
+"`` c #666664",
+"`a c #F2F2F4",
+"`b c #5E5E5C",
+"`c c #EAEAEC",
+"`d c #565654",
+"`e c #E2E2E4",
+"`f c #4E4E4C",
+"`g c #DADADC",
+"`h c #464644",
+"`i c #D2D2D4",
+"`j c #3E3E3C",
+"`k c #CACACC",
+"`l c #363634",
+"`m c #C2C2C4",
+"`n c #2E2E2C",
+"`o c #BABABC",
+"`p c #262624",
+"`q c #B2B2B4",
+"`r c #1E1E1C",
+"`s c #AAAAAC",
+"`t c #161614",
+"`u c #A2A2A4",
+"`v c #0E0E0C",
+"`w c #9A9A9C",
+"`x c #060604",
+"`y c #929294",
+"`z c #8A8A8C",
+"a` c #828284",
+"aa c #7A7A7C",
+"ab c #727274",
+"ac c #6A6A6C",
+"ad c #626264",
+"ae c #5A5A5C",
+"af c #525254",
+"ag c #4A4A4C",
+"ah c #424244",
+"ai c #3A3A3C",
+"aj c #323234",
+"ak c #2A2A2C",
+"al c #FEFEFC",
+"am c #222224",
+"an c #F6F6F4",
+"ao c #1A1A1C",
+"ap c #EEEEEC",
+"aq c #121214",
+"ar c #E6E6E4",
+"as c #0A0A0C",
+"at c #DEDEDC",
+"au c #020204",
+"av c #D6D6D4",
+"aw c #CECECC",
+"ax c #C6C6C4",
+"ay c #BEBEBC",
+"az c #B6B6B4",
+"b` c #AEAEAC",
+"ba c #A6A6A4",
+"bb c #9E9E9C",
+"bc c #969694",
+"bd c #8E8E8C",
+"be c #868684",
+"bf c #7E7E7C",
+"bg c #767674",
+"bh c #6E6E6C",
+"bi c #FAFAFC",
+/* pixels */
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalbialalalalalalbialalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalbialalalalalbialalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalbialalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalbialalalalbialalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbaag`xahauauaf`d`tafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaealalalalalalalal`oaeaabealalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`ib`alalalalalalalalalalalaw`xaoalalalalalalalalalalalal`qaaaa`zalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbdalalalalalalalalalalalalalal`eau`ealalalalalalalalalabalalalal`xalalalalalalalalalalalalalalalal",
+"albialalalalbialalalalbialalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbaaualalalapalalalalalalalalalalalalbfalalalalalalalalaaalal`halalabbcalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalbialalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`o`e`qalalalalalalalalalalalalalalalalal`lalalalalalalalabalau`ual`walbfalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaaalal`dalalalalalalalalalalalalalalalal`qaxalalalalalalauau`salatb`al``alalalalalalalalalalalalalalal",
+"alalalbialalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalafalalalbhalalalalalalalalalalalalalalalalal`falalalalalal`oaj`y`ob`alalbfalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`balalalal`nalalalalalalalalalalalalalalalal`o`ialalalalalal`abb`ialal`g`qalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalala`alalalalal`falalalalalalalalalalalalalalalal`falalal`o`haiavalalalalbhalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalbialalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`bal`m`ialalalaiapalalalalalalalalalalalalalalbeanalal`valalalalalal`balalalalalalalalalalalalalalalalal",
+"alalbibialalbialalalalalalalbialalbialalalalalalalalalalalalalalalalalalalalalalalalalalalalal`walalalbealalalal`jalalalalalalalalalalalalalalal``alakalalalalalba`ualalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbb`kalal`ubealalalalal`halalalalalalalalalalalalalalbhalauaxal`eaz`o`ualalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalav`yalalalalalbeatalalalalajapalalalalalalalalalalalalalbfag`dalaxakbfaiaualalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`gbcalalalalalalalalalalalalalaualalalalalalalalalalalalalaxac`yalbbalapbhaoalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalafalalalalalalalalalalalalalalaualalalalalalalalalalalalal`t`q`u`j`aalal`salalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal``b`axalalalalalalalalalalal`ubaalalalalalalalalalalalbb`w`iacbhalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`cacawalalalalalalalalalalalat`ralalalalalalalalalalalau`maradalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaladalalalalalalalalalalalalalar`jalalalalalalalalalalahalaz`yasalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`eaualalalalalalalalalalalalalal`valalalalalalalalalalamazala`aualalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`talalalalalalalalalalalanalba`ualalalal`oalalalakal`sa`bdanaxalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`h`taqa`alalalalalalalalalalala`alafalalbcal`halalal`dbaalaeajalasalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`i`ma``falalalalalalalalalalalalaw`halalbdal`balalaoalac`z`z`kal`palalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`salalalalalalalalalalalalalal`qalaqalal`dalbhalarbgaaalab`halalajalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`jalalalalalalalalalalalalalalalalaualal`yala`al`ral```qapafalalbbaxalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalabalalalalalalalalalalalalalal`zbfazaoalal`war`gayawbgalaebdalalalal`jalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalbialalalalalalalalalalalalalalalalalalalal``alalalalalalalalalalalalal```oaeala`alatawazal`nalacalaxahalalalalbfalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalal`jar`s`ealalalalalalalalalalalalalalalalalalalaaayalalalalalalalalalalbg`u`caz`cabalbcalala`anaaal`nalbealalalalal`halalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalbb`wadapalalalalalalalalalalalalalalalalalalalaybdababawalalalalalbhal`zat`c`abcal`zalalajal`dalae``alalalalalal`y`galalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalala``yalalalalalalalalalalalalalalalalalalalalalalal`g`q`vaxazaaalalal`aaladal`m`aal``an`g`gaeal`falalalalalalal`halalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalbe`yalalalalalalalalalalalalalalalalalalalalalalalalauaeazazalalalal`aaqalaaalalaial`dalahataxalalalalalalalalabalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalal`y`yalalalalalalalalalalalalalalalalalalalalalalal`rasbe`malalalal`dazaraval`jalal`zbaal`dalalalalalalalalalanagalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalal`a`wbaalalalalalalalalalalalalalalalalalalalalalalauau`qazbhbialalaualbdalal`ralajalaialabalalalalalalalalalalanabalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalaxbcaxalalalalalalalalalalalalalalalalalalalalalakak`kbhaaalal`dan`oalal`halalbcavaybfbfalalalalalalalalalalalanakalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalay`uaralalalalalalalalalalalalalalalalalalalalacasbdb``dalal`fal`oal`a`jalaial`nalaj`aadbh`malalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalal`wb`alalalalalalalalalalalalalalalalalalalawbeau```wbbalaual`ualal`nalalacalbealafalalal`dakalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalbdbaalalalalalalalalalalalalalalal`gbc`galbaaubf`bazay`g`ibial`gadalaialaial`ladalalalalalau`aalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`y`walalalalalalalalalalalalatayalayauau`bau`s`qakazal`salal`talal``al`valauapalalalalalalaualalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalapbbb`alalalalalalalalalal`waladauauaubebiauakahaxalbdalal`w`salaialbhalbgahalalalalalalalal`palalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalavbcawalalalalalalal`safabauauaa`yalalalauauawalbealatalamalalabalakalauaealalalalalalalalalafalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalb`bb`calalalalalb`axauau`raa`calalalalaibial`walaparab`ealafal`w`i`gauaealalalalalalalalal`i`ualalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`wbbalalal`e`ibcau```d`s`a`aalal`ua`alalbibial`ual`ralalahalaualau`ualalalalalalalalalalalakalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`zaeal`ial`tau`vah`lalalalalavayalalalalalayal`jalal`hal`eaaalauatalalalalalalalalalalalar`balalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbe`walauau`b`fal`calalalalalalalalalalalalalajalalahalaual`fbbb`alalalalalalalalalalalalaealalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`may`xaubh`s`zalal`ialalalalalalalalalalalaualal`halalaialauaoal`aalalalalalalalalalalalana`alalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbabiau`caqajaaawaladalalalalalalalalalalal`zabalalahal`talarag`yalbhalalalalalalalalalalalalakalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaxalauauasalaj`wayap`ialalalalalalalalalalalaualalaealalaualaq`ya`albealalalalalalalalalalalaladalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`ybdau`f`v`yaw`a`i`y`aalalalalalalalalalalbe`salalafalaebialau`zalalaaalalalalalalalalalalalal`o`qalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`ialau`r`raj`hawbdalbgalalalalalalalalalalalaualalaaalal`valafah`ialbib`alalalalalalalalalalalalal`balalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalb`agauauahbb`jalbc`ualalalalalalalalalalaladaralal`nalbe`salaualalalbhalalalalalalalalalalalalalal`nalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalbialalalalalalalalalalalalalal`ialauauauazbbabalar`u`walalalalalalalalalalaoalalacbialaual`g`l`calalbfalalalalalalalalalalalalalalafalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalax``auaoa`aeazbd`g`sapbdayalalalalalalalal`palalalafalayadal`taxanalarar`malalalalalalalalalalalalalafalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalbibialalalalalalalalalalalalalal`cauauaiao`nb``g`zalal`i`y`calalalalalalav`jalalbdanalaualalauae`aalalal`zalalalalalalalalalalalalal`falalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`g`qauau`laj`uafat``alalalbda`alalalalalalasalalalajalal`lalbcau`salalalalbcalalalalalalalalalalalalalafalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalbibialalalalalalalalalalalalalb``jauao`j`pb`apax`ialalalalbdbfalalalalbaadalalbdaval`lalalauaxalalalalbealalalalalalalalalalalalalal`falalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbd`uauau`fagbgbi```ealalalalalbda`alalalaualalalajalalaualalaoacalalalalbialalalalalalalalalalalalalalafalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalbialalalalalalalalalalalalalal`gauau`h`dbdawbfaxalalalalalal`z`yal`s`zalalb``kal`p`ialai`tbialalalalalalalalalalalalalalalalalalal`jalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalapauaubgaa`a`ualalalalalalal`abcaraualalal`ralalaualal`v`kalalalalalalalalalalalalalalalalalalalal`ralalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`eaoau`z`d`m`qalalalalalalalalb`baa`alal`w`qal`zbealar`vbcalalalalalalalalalalalalalalalalalalalalafalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalatbgau`zabbiaralalalalalalalalal`s`walalasalalaualalah`w`aalalalalalalalalalalalalalalalalalalalal`falalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalavauadaoalazalalalalalalalalalal`zbbat`yal`c`jalalauayalalalalalalalalalalalalalalalalalalalalal`balalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`s`uau`sawalalalalavalalalalalalalbcaialalaualalabab`galalalalalalalalavalalalalalalalalalalalalacalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalayaualbaalalalalaualalalalalalalbibc`malaualal`t`qalalalalalalalalalaualalalalalalalalalalal`o`kalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaraqaealalalalalaualalalalalalalal`e`s`n`oal`oahbialalalalalalalalalau`ealalalalalalalalalalakalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`k`nakalalalalazaualalalalalalalalal`wbcalalaq`dalalalalalalalalalalau`balalalalalalalalalalaealalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaq`falalalalalauawalalalalalalalalalabbaalauaralalalalalalalalalalauaxalalalalalalalalalbhbialalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`p`ualalalalalauaualalalalalalalalalalacabajanalalalalalalalalala`aualalalalalalalalalaladalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalafalalalalalal`qaualalalalalalalalalalalab`yalalalalalalalalalalauasalalalalalalalalal`ca`alalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalagalalalalalalalau`aalalalalalalalalalav`b`o`walalalalalalalal`caualalalalalalalalalalahalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalala`alalalalalalalau`malalalalalalalalalaoalbi`z`salalalalalalalazaualalalalalalalalal`i`oalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalabalalalalalalalaualalalalalalalalalalajal`obf`o`kalalalalalalb`aualalalalalalalalal`jalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`s`galalalalalalalaualalalalalalalalalbhavaladalbbay`aalalalalalalaualalalalalalalalbdaralalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaealalalalalalalalalalalalalalalalalalaualaladalal`t`ualalalalalal`zalalalalalalal`ebaalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`ualalalalalalalalalalalalalalalalal`eadalafanalbbal`uaaalalalalalalalalalaralalalaealalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaialalahalal`bal`gbfbgalalalalalalalat`palal`dalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`ralaladalalacal`balbcaxalalalalalal``alalbi`malalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`ealalalalalalalalalac`kal`lalal`savalafal`ybbalalalalalaealalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`halalalalalalalalal`xalal`ralalbhalalaealbfa`alalalalacalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbcaralalalalalalalal`gbgal`qbealalafalbdalalbbaealalalb``ualalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`palalalalalalalalalaoalalaualal`iaxal``alalalalalalal`ralalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`yalb`alalalalalalalalaoalalaualaladalal``alalalalalal`k`zalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`zalaaalalalalalalaladaralbd`qalaladalaw`kalalalalalal`talalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`eavalalalalalalalaualalaualalavbbalaealalalalalalal`nalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaualalalalalalal`walalalalalalal`g`balalacalalbhalalbhalalalalalalbhalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazaualalalalalalalbealalalalalalal`valalazayalalacalanb`alalalalalal`valalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalauauapalalalalalal`walalalalalalalasalalafalal`a`ualabalalalalalalal`ralalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaeauauabalalalalalavayalalalalalal`f`galalafalal`dalal`dalalalalalalal``alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalauauaoaualalalalalalalalalalalalalaualala`bialal`falal`balalalalala``o`yalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalaqauau``aualalalalalalalalalalalal`g`balalafalalal`walbbapalalalalatajbhbaalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalal`aau`nauajai``alalalalalalalalalalalaoalalal`balal``alal`falalalalalalad`nbbalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalauau`x`t`ladaualalalalalalalalalalalaoalal`zalalalafalalbhalalalarayba`t`tbfalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalb`auauaqbham```zaaalalalalalalalalalab`galal`falalalabalawaxalalalalararabau`nalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalauauaqaubhau`ybhaibialalalalalalalal`ralal`aaaalalbealal``alalalalalal`mbdau`jbcalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalal`sauam`vaoa`aea``tabbbalalalalalalalal`balalaealalalaealalbhalalalalal`cbgamaiau`tat`zaaacav`aalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalauauau`xas`f`jaoae`saa`oalalalalalal`lalalalafalalalaaalalbealalalal`iatbbbf`hamao`halav`qat`nbhac`o`y`salalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalauauauaf`p`dadagbh`l`e`falalalalalal`lalalavbcalalbcanalaaalalalalalal`m`u`b```lau`sazal`ualalazbhalapalab`zac`salalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalauaqau`p`xajbgas`o`ualbe`ralalalalaxb`alalafalalalahalaladalalalalalalalazb`aeaoajauagadbdbaahan`c`q`wapalalalbc`dbe`oalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalal`o`salauaqau`p`yafbg```bawacajbh`nalalal`jalalal`nalalal`dalal``alalalalalal`sav`ob`ai`lau`v`vak`ja`awbeat`e`e`s`u`a`a`garbeab`u`yalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalarbc`s`baeb`a`alauauau`pauau`dbfaa`u`y`m`ibaaualalaealal`q`oalalb`aralaz`ealalalalalalal`o`zb`be`d`fasauauafbcalalayafavbbalb``salalalal`e`wabbh`ealalalalalalalalal",
+"alalalalalalalalalalalalalalal`i`z`nbh`g`k`oavapalalajauau`f`dakacavay`sbaa``dapbg`daqalalal`nalalal`dalal`balalalalalalalalalbbbfagbcas`fau`xbha``z`ualalalavalalalat`eatawawalalal`kaabbalalalalalalal",
+"alalalalalalalalalalalalalbb`y`gal`a`mavaaaxalbeaaay`qauam`jaoaa`jagakaqbb`g`iacalalauaga`al`balalal`balal`balalalalalalalalal`z`sbhbh`j``akauae```aalalalaraz`q`oat`eal`g`aalaralalatalav`tbgalalalalal",
+"alalalalalalalalalalavai`u`i``ayalalalarav`ka``o`yayalau`xasam`zag`mazabap`mbaal`may`ybi`kau`balal`gawal`c`salalalalalalalalat`ibaaz```bakakau`uaxalb`abbb`oazayalarb``sbibiazazal`kaval`gav`eakatalalal",
+"alalalalalalalalaz`fayalbf`ealbebe`salal`oaxbi`eaxaab`bgau`jam`dbc`sae`wad`m`gayal`talalal`jalaiabbfalalbfalalalalalalalalanayar`o`yaa`lahaeauaf`q`t`savax`malalalalalalalalanaxapat`ebbbial`calat`balal",
+"alalalalalalaladatalalalalb`arapalbdae`oalalalatalalanbiauau`l`vahag`y`iaw`zalalawajal`gawadalalalauaua``dalalalalalalalal`q`gaw``aaazajaiakau`ubealalalalal`g`calalar`ealal`cb`an`ual`g`say`aalay`e`wal",
+"alalalalalal``analalalal`c`k`m`m`k`g`malalalalalalalalalazauasau`hbdb`a`bdbdalawbca`baal``alalalarayal`aauaj`bauauamajas`t`waw`cab`ubf`nbhamaualau`e`eatazazarar`m`u`ealalalalal`may`qalalav`u`iawaladal",
+"alalalalbibgalalalalal`a`oalanalalavax`galalal`iawayalalalauauao`zaa`bbhalbhadalasal`gal`palalaladalal`aalalalalalalalalalalalan`marabbgaiauaiarazalalalal`gatalalaxavalalalal`s`ialalan`qalalaz`cal`dal",
+"alalalal`dalanazalaralalanalalayavaval`sa`adbf`ialalalalal`sauam`nbb`gacbfacal`wajalalal``alalal`malalalalalalalalalalalalalbaav`k`wauacasbf`iajalalalalapal`a`zavalal`abc`oaralalal`qavalat`obi`ub`atal",
+"alalalbhalalalar`calal`gatavaxaxax`maralalalalalatazatalalalauau`n``bc`sbc`qa`alal`calajalalalalalalalalalalalalalalalalalalaybfahacagbcaiac``al`mbbbbapalalanalal`ebcavalalalb``w`mal`i`walaw`c`cbbalal",
+"alalal`fal`ialal`mavayaralawatalalalalal`c`ialalalalalalalalalauauahafak`q`q`aal`ualalaqalalalalalalalalalalalalalalalalalalal`obcaxbebh`nbc`qalalalalalal`gb`axalalalalalba`malalalaralal`galar`walalal",
+"alalalaealal`kavalalar`k`aanapalalapalalarazaw`capal`aalalalalalauamaubdaf```qbibgal`ebealalalalalalalalalalalalalalal`u`o`c`oab`b`f`zac`u``alalaz`sbb`qalalalalbc`wbaanalbialalal`a`o`m`ealba`oalalalal",
+"alalalbbaaap`yaeaja``ial`oalaranalalal`m`yawan`m`u`kalapalaw`ualalauao`rbcaxaual`u`k`jalalalalalalalalalalalalalal`oaxalalaz`wae`fafagag`nalalalalalalalal`c`ealalalalalalalalaw`obialb`biaeapalalalalal",
+"alalalalalagalalal`a`o`q`ialalal`abc`zalalba`mal`ealazalbdbiaxaralal`vauahabak`kaz`zalalalalalalalalalalalalalalalalalb`azawalavaj``az`palalalalalal`e`sapapalalalal`ealaw`s`y`walay`o`ubcalalalalalalal",
+"alalalalalalbbbdalalalalalalal`uawalalalalawayaxaxb`alazavaz`g`kavalal`kauag`paz`ya`alalalalalalalalalalalalalalalalalaw`mb`ab`zala``balalalalalalalalalalalal`o`uaz`galalananal`q`w`ualalalalalalalalal",
+"alalalalalalalanaa`ualalalav`zalalat`g`oaz`e`o`eav`k`c`oax`eazaral`ial`m`m`tau`bahap`yapalalalalalalalalalalalalalalalalalalalalaeavalalalavaxav`qawalalal`g`qapalalalalalalava``ualalalalalalalalalalal",
+"alalalalalalalalalbiad`nayalalalalalb`awaz`eat`qalay`i`galaxalal`saybfanalalbdauac`s`q`valalalalalalalal`iat`eay`earbfbg`pau`vaaal`oawal`karalalalalalalalatalalalalalbcbha`axalalalalalalalalalalalalal",
+"alalalalalalalalalalalal`iaabfbcalalalalalalalalacazbiav`u`m`g`ua``kalalalalalal`faubeac`calalalalalal`uaf`baf`hahaca``ialalalbi`ianalalalalalalalalalalalalataibb`u`wanalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalbiaca`aa`yalalalalalalanalalbcbhavalalalalalalalalalap`b`oarb`alalalalalalalalalalalal`calalalalbialalalalalalalalalalb`bga`acavalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalat`wabbhbgb``qaabebfalalalalalalalalalalalalalalapbc`l`pbialalalalalalalalalalalalalalalalalalalalal`s``a`bf`zalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalala`ahadbh`db`bcbiatalalalal`ubcaf`wacbe`fae`uanalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`g`gabbgababav`ialalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaxalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalafaealalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal`oal`z`l`wbhafalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalauagbeaqal`mb`alalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaf`mbialalaaalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbaalalalalalalalalalalalalalalalal",
+"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbialalalalalalalalalalalalalalalal"
+};
diff --git a/Documentation/lelieblond.xpm b/Documentation/lelieblond.xpm
new file mode 100644 (file)
index 0000000..b63f794
--- /dev/null
@@ -0,0 +1,845 @@
+/* XPM */
+static char *noname[] = {
+/* width height ncolors chars_per_pixel */
+"582 836 2 1",
+/* colors */
+"` c #000",
+"a c #FFF",
+/* pixels */
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaa``````````````aaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````````````````````````aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````aaaaa``````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaa```aaaaaaaaaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa````aaaaaaaaaaaaaaa`aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa`````aaaaaaaaaaaaaa``aaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa``````aaaaaaaaaaaaaa`aaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa```````aaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa```````aaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````a```````````aaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````a`a```aaaaaaaaaaaaaaaa`aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````a`a```aaaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````a``a```aaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````a``````aaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````a``aaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a``a````aaaaaaaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a``a`a`aaaa``aaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aa`aaaaa``aaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaa```a`aaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````a``aaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaa``````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa```aaa``aaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa`aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa````aa```aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa```aaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa```aaa``aaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaa```aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa````aa```aaaaaaaaaaaaa``````aaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa```aaa``aaaaaaaaaaaa```aaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa```aaa```aaaaaaaaaaa``aaaaaaaaaaaaa```aa`a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaa```aaa``aaaaaaaaaaa``aaaaaaaaaaaaa```a``a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa```aaa```aaaaaaaaaaa`aaaaaaaaaaaaaa``a`a`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa```aaa```aaaaaaaaaaa`````````````a````a`aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a```aaaa``aaaaaaaaaaa````````````````aa``aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaa```aaaaaaaaaaa`aaaaaaaaaa`````a`aa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaa``aaaaaaaaaaa``aaaaaaaaaaaaa`aaaa`aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaa``aaaaaaaaaaaa`aaaaaaaaaaaaa``aaa`aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``aaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaa```aaa``aaaaaa`aaaaaaaaaaaaaa`aaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``aaaa```aaaa``aaaaaaaaaaaaa```````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaa``aaaa```aaaaa`aaaaaaaaaaaaaaa```aa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``aaaa```aa````aaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``aaaaa``aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``aaaa```aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``aaaaa``aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaa``aaaa```aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``aaaaa```aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaa``aaaaa``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``aaaaa```aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a`aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaa``aaaaa``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa`aaaaa```aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaa``aaaaa``aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa`aaaaa```aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``aaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``aaaa```aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``aaaaa```aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``aaaaa``aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``aaaaa```aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``aaaaa``aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``aaaaa```aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``aaaaaa``aaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaa```aaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaa`aaaaaa``aaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaa```aaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``aaaaaa``aaaa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaa```aaa```a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a`a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaaa```aaa```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaa```aaaa``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaaa```aaa```aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaaa``aaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaaa```aaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaa````aaaaaa``aaaaaa``aaaa```aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaaa```aaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa````aaaaaa``aaaaaa``aaaa```aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaaa```aaaa``aaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa```aaaaaaa``aaaaaa```aaa```aaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaaa```aaaa```aaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a`````aaa``aa`aaaaaaaaaaaaaaaaaaaaa`aaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaa``aaaaaa```aaa```aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````a`````a``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaaaa``aaaa```aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````a``````````aaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaaa```aaaaaaa``aaaaaa```aaa````aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a`````a`aa``a``aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaaa```aaaaaa```aaaaaa``aaaa```aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa````a```a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a``aaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaa```aaaaaaa``aaaaaa```aaaa```aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa````````aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``aaaaaaaaaaaaaaaaa`aaaaaaaaa``aaaaaaaaaaaaaaaa````aaaaaa```aaaaaa``aaaa```aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa`````aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``aaaaaaaaaaaaaaaaa`aaaaaaaaa``aaaaaaaaaaaaaaaa```aaaaaaa``aaaaaa```aaaa```aaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``aaaaaaaaaaaaaaaaa`aaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaa```aaaaaa```aaa````aaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaa`aaaaaaaaa`aaaaaaaaaaaaaaaa```aaaaaaa``aaaaaaa``aaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaa`aaaaaaaaa`aaaaaaaaaaaaaaa```aaaaaaa```aaaaaa```aaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaa`aaaaaaaaaaaaaaa```aaaaaaa``aaaaaaa``aaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaa```aaaaaaa```aaaaaa```aaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaa```aaaaaaa``aaaaaaa``aaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaa```aaaaaaa```aaaaaa```aaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa`a````aaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaa```aaaaaaa```aaaaaa``aaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa````aaaaaaaaaaaaaa`aaaaaaaaa``aaaaaaaaaaaa```aaaaaaa```aaaaaa```aaaaa```aaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa```aaaaaaaaaaaaaa`aaaaaaaaa``aaaaaaaaaaaa```aaaaaaa``aaaaaaa```aaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa```aaaaaaaaaaaaaa`aaaaaaaaa`aaaaaaaaaaaa```aaaaaaa```aaaaaaa``aaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaa````aaaaaaaaaaaaa``aaaaaaaaa`aaaaaaaaaaaa```aaaaaaa``aaaaaaa```aaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaa`````aaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaa```aaaaaaa```aaaaaaa``aaaaa```aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a```aaaaaaaaaaaaa`aaaaaaaaa``aaaaaaaaaaa``aaaaaaaa``aaaaaaa```aaaaa```aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aa```aaaaaaaaaaaaa`aaaaaaaaa``aaaaaaaaaa```aaaaaaa```aaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaa```aaaaaaaaaaaaa`aaaaaaaaa`aaaaaaaaaa```aaaaaaaa``aaaaaaa```aaaaa```aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````aaaaaaa```aaaaaaaaaaaa``aaaaaaaaa`aaaaaaaaaa``aaaaaaaa```aaaaaaa```aaaaa```aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaa```aaaaaaaaaaaa``aaaaaaaa``aaaaaaaaa```aaaaaaaa``aaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa`aaaaaaaa``aaaaaaaaaaaaa`aaaaaaaaa``aaaaaaaaa``aaaaaaaa```aaaaaaa```aaaaa```aaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa```aaaaaaaa``aaaaaaaaaaaaa`aaaaaaaaa``aaaaaaaa```aaaaaaaa``aaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaa```aaaaaaaaaa``aaaaaaaaaaaaa`aaaaaaaaa`aaaaaaaaa``aaaaaaaaa``aaaaaaa```aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa```aaaa```aaaaa``aaaaaaaaaaaa``aaaaaaaaa`aaaaaaaa```aaaaaaaa``aaaaaaaa``aaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa```aaaa```aaaaaaa``aaaaaaaaaaaa``aaaaaaaaa`aaaaaaaa``aaaaaaaaa``aaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaa``aaaa```aaaa```aaaaaaaaa``aaaaaaaaaaaa`aaaaaaaaa``aaaaaaa```aaaaaaaa```aaaaaaa```aaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaa``aaaa```aaaaaaaaaaa`aaaaaaaaaaaaa`aaaaaaaaa`aaaaaaa```aaaaaaaaa``aaaaaaaa``aaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaa``aaaaaaaa```aa``aaaaaaaaaaaa``aaaaaaaaaaaaaaaaa```aaaaaaaa```aaaaaaa```aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaa``aaaaaaaa```aaaa``aaaaaaaaaaaa`aaaaaaaaaaaaaaaaa```aaaaaaaa```aaaaaaaa```aaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa``aaaaaaaa```aaaaaa``aaaaaaaaaaaa`aaaaaaaaaaaaaaaaa``aaaaaaaaa```aaaaaaa```aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``aaaaaaaa```aaaaaaaa``aaaaaaaaaaa`aaaaaaaaaaaaaaaaa```aaaaaaaaa``aaaaaaaa```aaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaa``aaaaaaaaaa`aaaaaaaaaaaa`aaaaaaaaaaaaaaaaa``aaaaaaaaa```aaaaaaa```aaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa```aaaaaaaa``aaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaaaaaaaaa```aaaaaaaaa``aaaaaaaa```aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa`aaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaa`aaaaaaaaaaaaaaaaa``aaaaaaaaa```aaaaaaaa```aaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaa`aaaaaaaaaaaaaaaa```aaaaaaaaa``aaaaaaaa```aaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaa```aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaaaaaa`aaaa``aaaaaaaaaaa`aaaaaaaaaaaaaaaa```aaaaaaaaa```aaaaaaa```aaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa```aaaaaaaaaaaa```aaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaa```aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaa``aaaaaaaaaaaa```aaaaa``aaaaaaaaaaa`aaaaaaaaaaaaaaaa```aaaaaaaaa``aaaaaaaa```aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa``aaaaaaaaaaa`aaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaa```aaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````a`aaaaaaaaaaaaa`aaaa`a``aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaa``aaaaaaaa``aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaa`aaaa````aaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa``aaaaaaaaaaa`aaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaa```aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaa``aaa```a`aaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa```aaaaaaaaaaa`aaaaaaaaaaaaaaa```aaaaaaaaaa``aaaaaaaa```aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaa```aaaaaaa```aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaa`aaaaaaaaaaaaaaa```aaaaaaaaaa``aaaaaaaa```aaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaa```aaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaa``aaaaaaa```aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a````aaaa``aaaa``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa`aaaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaa```aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````a`a`a``aaaaa```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaa``aaaaaaaa``aaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````a`aa``aaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaa``aa```aaaaaaaaaa`aaaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaa```aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````a``a`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa```aaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaa``aaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a`````a```aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa`aaaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaa```aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa`````aa``aaaa``aa``aa`aaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaa``aaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aa``a``a`a``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa`aaaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaa``aaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaa```aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaa``aaaaaaaa```aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a```````aa```aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaa`aaaaaaaaaaaaaa```aaaaaaaaaaa```aaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a```aa```aaa``aaaaaa`aaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaa``aaaaaaaa```aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a````````aaa``aaaaa``aa`aaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaa`aaaaaaaaaaaaaa```aaaaaaaaaaa```aaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````a````a```aaaaaa``aa`aaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaa``aaaaaaaa```aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````a``a`a`aaaa``aa`aaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaa`aaaaaaaaaaaaaa```aaaaaaaaaaa```aaaaaaaa```aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````a`a``a`aaaa``aa`aaa`aaaaaaaaaaaaaaaaaaaa```aaaaaaaaa`aaaaaaaaaaaaaaa```aaaaaaaaaaa``aaaaaaaa```aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a`a`````aaa`a``aaa`aa````aaaaaaaaaaaaaaaaaa```aaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaa```aaaaaaaa``aaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````aaa``aaaaa`a``a`a``aaaaaaaaaaaaaaaa```aaaaaaaaa`aaaaaaaaaaaaaaa```aaaaaaaaaaa``aaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaa`aa```aaa`a`aa`aa`aaaaaaaaaaaaaaaa```aaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaa```aaaaaaaa```aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aa``aa``a```aa`aa`aaaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aa```a`a`aa`a``aaaa``a`aaaaaaaaaaaaaaaa```aaaaaaaaa`aaaaaaaaaaaaaaa```aaaaaaaaaaaa``aaaaaaaa```aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````a`a`aaa`aa``aaaa``a`aaaaaaaaaaaaaaaa```aaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaa``aaaaaaaa```a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a`````aaaa```aaa``aa`aaaaaaaaaaaaaaaa````aaaaaaaaa`aaaaaaaaaaaaaaa```aaaaaaaaaaaa``aaaaaaaa```aaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aa````aaa```aaa``aa``aaaaaaaaaaaaaaaa```aaaaaaaaa`aaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaa```aaaaaaaa``````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaa`a`aa`aa``aaa`aaaa`aaaaaaaaaaa```aaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaa``aaaaaaaa```aaaaaaaa```aa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aa``aa`a``aaaa`a`aa`aaaaaaaaaaaa```aaaaaaaaa`aaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaa```aaaaaaaa``aaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aa```a``a``a`aaa```a``aaaaaaaaaaa```aaaaaaaaa`aaaaaaaaaaaaaaaa```aaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaa``aaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaa``aa`aaa```aa`aaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaa```aaaaaaaa``aa`aaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a```a`aa```a`aaa``aaa`aaaaaaaaaaaa```aaaaaaaaa`aaaaaaaaaaaaaaaa```aaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaa``a`aaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````a``a``aa`aaa``aaa`a``aaaaaaaaa```aaaaaaaaa`aaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaa```aaaaaaaa````aaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaa````aaa`````aaa`a``aaaaaaaaaa```aaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````a``aaaaa``aaaaa```aaaaaaaaaa````aaaaaaaa`aaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaa```aaaaaaaa```aaa`aaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a```````aa``aa`aaa``aaaaaaaaaaa````aaaaaaaa`aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaa``aaa`aaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````a``````aa`aaa``aaaaa`aaaaaa```aaaaaaaa``aaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaaa``aaaaaaaaa``aa``aaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aa```````aaa``aa`aaa``aaaaa``aaaaa```aaaaaaaaa`aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaa```aaaaaaaa```aa`aaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaa`````a```````a`a```aaaa``aaaaaa````aaaaaaaa`aaaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaaa``aaaaaaaaa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaa`a```aa````aa``a```aaa``aaaaaaaa```aaaaaaaa``aaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaa```aaaaaaaa```a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaa`a````````aaaa``aa`aa``aaaaaaaa```aaaaaaaaa`aaaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaaa``aaaaaaaaa``a``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaa`a```````aa```a`a``aaaaaaaaa```aaaaaaaaa`aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaa```aaaaaaaa```a`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaa```````aa`````a``a``aaaaa`aaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaaa```aaaaaaaa````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa`````````a`aaa``aaa``aaaa`a``aaa``aaaaaaaaaa`aaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaa``a`a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaa``````aa```a`````aa`a```aaa```aaaa```aaaaaaaaa`aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaaa```aaaaaaaa```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``````aa``a```aa```aaa``aaaaa```aaaa```aaaaaaaaa``aaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa`````````aaaa```````aa`a```aaaa``aaaa````aaaaaaaaa``aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaaa```aaaaaaaaa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaa````````aa`````aa```````aa``aa`a```aaa`````aaaaaaaaaa`aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaa```a`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaa`````````aa````````a```a``a````aaa``aaaa`````aaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaa````aaaaaaa```a``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaa```````````a```````aa```a`a```aa``a`a`aa``aa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaa`````a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaa`````````````````a`````aa``````aaaa``aa````a```aaaaaaaaaaa`aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaa````aaaaaaa```a`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa`````````````````a```aaa``aa````````a`a`````aa```aaaaaaaaaaa`aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaa```aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaa```````````a``````aa``a```aaa`````aaa```a`a```aa```aaaaaaaaaaa``aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaa``aaaaaaaaa```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaa`````````````````a```aaaaa```aaa```````a``a```aaa``aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaa```aaaaaaaa```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaa``````````````````a``aa``aaaa``aaaa``````a````aa`a``aaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaa```a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaa``````````a``aa```````aaaaa`a`aaaaaa`````a`````aaa```aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaa```a``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaa``````````````aa``````aaa`aaa``aaaaaaaa``````a``a``a```aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaa```aaaaaaaa```a``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaa```````````a``a``````aaaaaaa``aaaaaaaaaa````````a`a````aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaaa`````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaa`````````````a`a``a```aaaaaaa`aaaaaaaaaaaaa``aa`````````aaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaa```a`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaa`````````a````a```aa``aa`aaaaa`aaaaaaaaaaaaaa`````a``````aaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaa````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa```````````a``a``aaa```aaaaaaaaaaaaaaaaaaaaaaaa```````````aaaaaaaaaaaaa``aaaaaaaaaaa`aaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaa````aa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaa`````````aa``````aaaaa``aa`aaaaaaaaaaaaaaaaaaaaaa````a`````aaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaa```aa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``````````````a````aa``aaa``aaaaaaaaaaaaaaaaaaaaaaa``a`a``aaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaaa```a``a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaa`````````aa``````aaaa```aaa`aaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaa``aaaaaaaaaaaa`aaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaa```a``aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``````````a``aa``aaaa``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaa``aaaaaaaaaaaa`aaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaaa```a`a`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa`````a```a`````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaa`````aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``````````````a``aaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa`aaaaaaaaaaaaa`aaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaa````aaaaaaaa```a`a````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa```````````````````aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa`aaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaa```aaaaaaaaa```aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa````````````aa``a``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaa````aaaaaaaa```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa```````a```a``aaa``aa``a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaa```aaaaaaaaa```a``a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa```````````aa```````````aaaaaaa``aaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaa```a``a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaa```aaaaaaa``````a`````a``a````a``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaa````aaaaaaaa`````a`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaa```````a```a``aa``aaaa``aaaaaaa``aaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaa`````a`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaa``aaaaaa```````a````aa`aa``a`a``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaa````aaaaaaaa````aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa```aaaaaaaaaaaaaaaaa``aaaaaa````a``a````````a``a````aaaaaaaa`aaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaaa`````aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``aaaaaaaaaaaaaaaa``aaaaaa```````a````a`a```aa`````a`aaaaa`aaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaa````aaaaaaaa`````aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``aaaaaaaaaaaaa``aaaaaa````a````````a``a````a```aa`aaaaa`aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaaa````aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaa``aaaaaa`````a``a`````aa```a`````aa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaa```aaaaaaaaaa```aaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaa``aaaaaa`````````a````a```aa``a``aa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaaa```aaa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa```aaaaaaa``aaaaaa````a````a```a`a```a`aa`aa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaa```aaaaaaaaa```aa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``aaaaaa``aaaaa``````````aaa`a```aa``a``aaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaaa````a`aa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``aaaa``aaaaaa````````````````````````aaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaa```aaaaaaaaa```a`aa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``aa`aaaaaaa`````````a`a``a```a`aa`aaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaaaa````aa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa```aaaaaaa`````````````a``aa``aa`aaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaa```aaaaaaaaa````aa`aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaa````````````a````aaa`a``aaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaaa````aaaaaaaaa```aa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaa`````````a`a`a````a`a`aaa`aaa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaa```aaaaaaaaa````a`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``aaa`````````a`a````aaa`a`aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaa```a`aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``a```````````aa`a`aaaaa`aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaa```aaaaaaaaaa````aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa`````````````a```````````````a`aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaa````aa```a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`aaaa```````````a`````aaa`aaaaaaa`aaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaa```aaaaaaaaaa```aa`a`a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``aaaa`````````aaaa``aaa`aaa`aaaa`aaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaa````a`a`a``aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``aaaa``````a```a`````````````aaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa```aaaaaaaaaaa```aaaaaaaaaa`````a`a``aa``aaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaa```aaa```a`````````````aa`aaaa``aaaaaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaaa```aa`a``aa``aaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa``a``aaa````a```a`aaa``aa``aaa``aaaaaaaa``a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa```aaaaaaaaaaa````aaaaaaaaaa``aaaa``aa`aaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa````a`aaaa``````a``a``aaa``aaaa`aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaaa```aaa``aa`aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaa````````aaaa``a`a``a`a`a```aaaa`aaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa```aaaaaaaaaaa````aaaaaaaaaa```aa``aa`aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaa``````````aaaa`````````````aaaa`aaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaaa````a``aa``aa`aaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`````````a``aaaa``aaa`aaa``aaaa`aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaaaa```a``aa`aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa```````````a``aaaa`aa`a`````aaa``aaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaaa``````aa`aa``aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa``````a`````a``aaaa`aa````````````aa`aa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaaaa`````aa`aa``aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa`````````````a``aaaa``aaa``aaaa`aaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaa``aaaaaaaaaaaa````aaaaaaaaaa```aaa`aa``aaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaa``````a```````a```aaaa``aa`aaaa`aaaaa`a`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaaa````aa`aa``a``aaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa````````a``````````aaaa`````aaa`aaaa`a`aaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaa``aaaaaaaaaaaa````aaaaaaaaaa```aa`aa`aa``aaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa``````````````a```a``aaaa``aaaa`aaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaaaaa```a`aa`aa``aaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa`````````aa````````aa``aaa``aaa``aaaaa``aaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaa```a`aa`aa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``````a``````aa`````aa```aaaa`aa`aaaaa``aaaaaa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaaaa```aaa`aa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa``````aa``a`````aa`````a`aaaa``a`aaaaa`aaaa`aa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaa````aa`aa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``````````a````a```````aaa`aaaa``aaaaaaaaaaa`a`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaaaa```a``aa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``````````````aaa`a``aa`a`a``aaaa``aaaaaaaaaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaa````a`aa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``````a`a`````````a```````aa``aaaa``aaaaaaaaaa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaaaa```a`aa``aaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`````````a````aa`````aa`aa`a`a``aaaa``aaaaaaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaa```aaa``aa`aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaa`````````````````a``````a``a`aa`aaaaa`aaaaaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaa````aa``aa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``````````````aa````a````a`a``aaa`aaaa``aaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaa```aa``a``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa```````a``a````````a``a````a`aaaa``aaaa``aaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaa````a``aa`aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``````````a```aa`````aa`aa`aa`aaaaa``aaaa``aaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaa```a``aa`aaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`````````````````````````````a``aaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaa```a`aa`aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``````a``a`````a``````aa`aa`a`a`aaaaaa``aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaaaaa````aaa`aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``````````a````````aaaa`aaa`aa`a`aaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaa```aaa`aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``````````````a`a````aaa`aa`aaa``aaaaaaaa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaaaaaaa````aa`aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa````````a`a```````aaa`````a``a```aaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaa```aa`aaaaa``aaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa```````````````````a`aaa`aa`aa`a`a`aaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaa````aaaaaaaaaaa```a`aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``````````````````aa````a`aa`aa`a`aaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``````aa````````a`aaaa````aaaaa``aaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa```````````````````aa`aaa`aaaaaa``aaa`aaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa````````````````a`````aaa`````````aa`aaaaaaaaaaaa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaaa````aaaaaaa``aaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa```````````````````aa``````aaaaa```aa`aaaaaaaa``aa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaa```aaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``````````````a`a````aaaa```aaaa``aaa`aaaaaaaa`aaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaa````aa`aa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``````````````a`aa`aa```aa````aaa``aaa`aaaaaaa``aaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaa```aa`aa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa```````a````````aa`a`a```a`aaaa`aa`aaaaaa`aaaa`aaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaa```aaaa``aaaaaaaaaaaaaaaaa`aaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa`````````````a``````a`a`aaa`aaaaa`````aaa``aaa``aaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa````aaaaaaaaaaa```a`aaa`aaaaaaaaaaaaaaaaaa`aaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``````aa```````a```````a`````aaa`aaa`aaa`aaaa`aaaaaaaaaa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaa````aaa`aaa`aaaaaaaaaaaaaa`aaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``````````a`a````a`a````aa`a`aaa``aaa`aaa`aaaa`aaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa````aaaaaaaaaaaa```aaa`aaa`aaaaaaaaaaaaaaa`aaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``````````````a`a````a`````a`aaa`aaaa`aaa`aaa`aaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaa````aa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``````a````a`````a```aa`aaa``aaaa`aaa``aaa`aaa`aaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaa```aa`aa``a`aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa```````````aa``````a```````````aa`aaa``aaa`aa``aaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaaa```a`aa``a``aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa`````````````````````````aa`a`aaa`aaaa`aaaa`aa`aaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaa```a``a`aa``aaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa```````a`````````a`a````aaa```aaa`aaaa`aaaa`aa`aaaaaaaaaaaaaaaaa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa````aaaaaaaaaaaa`````a`aa`a`aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa```````````a`aa````a`a````a``aaaa`aaaa`aaaa`a``aaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaa````aa`aa`a``aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``````````````a```````````````````````a`aaa``a`aaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaa```aa`aa`a`aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa```````````````````a`aa`aaa```aaa``aaaa`aaa``a`aaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaa```a`a``a`aaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa```````````````a`````a`a`aaaa`aaaa``aaa``aaa``a`aaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaa```a`aa```aaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa```````a```a``````a````a`aaaa`aaaa`aaaa`aaaa`aa`aaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaaaaa```a`````aaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa```````````a``a````a`a```````````````aa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaa``````a`aaa`aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa```````````````a```````````aaa`aaa``a`aa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaaaaa```a``a`aaa``aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa```````````````aa`aa```````aa``aaa`aaaaa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaa```a`a`aaa``aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa```````````````````a`a`````aa`aaa``aaaaa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaa````a`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``````````````a````a`a`aa```a`aaa``aaaaa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaa````a`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa````````````````a`````a`a``aaa```aa`aaaaa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaa```a`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa````````````a``a``````a`a``````aaaa`aaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaaa````aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa```````````````aa``````````aa``aaaa`aaa``aaa`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaa````aaa`aa``aaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa```````````````````````````aa`aaaaaaaaa``aaa`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaa`aa```aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``````````a```````a`aa``a`aaa`aa`a`aaaaa`aaa`a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa```````````````````aa```````````a`aaaaa`aaa`a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa````aaaaaaaaaaaaa```aa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`````a`````````````a`aa`a```aa`a```````aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa```````````a`````aa``a`a`a`aa`aaaaaaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa````aaaaaaaaaaaaa```a`aa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa```````````````a``a``a`a```aaaaaaaaaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaa``````a``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``````````a`````aa``a`a````````````a`aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa````aaaaaaaaaaaaa````aa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa`````````````````a`````a```aaa`aaaaaa`aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa````````````````a``a`a``aaaa`aaaaaa`aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa````aaaaaaaaaaaaa````a``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``````````````aa`a``a``aaaa`a`aaaa`aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa````aaaaaaaaaaaaa```a``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa````````a`````aa`a``a``aaaaaaaaaaa`aaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa````aaaaaaaaaaaaaa``a``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``````````a```a`a``a``aaaaa`aaaaa`aaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa````aaaaaaaaaaaaa`````a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``````a``aa``a``````````````aaaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaa```aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``````a````````a`aaa``aaaa`aaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaa````aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa````aaaaaaaaaaaaaa```a`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa`````````a````a`aaa``aaaa`aaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaa```aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaa```a`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``````````````a``aa``aaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaa```aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa````aaaaaaaaaaaaaa````aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa`a```````````a``a``a`aaaa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaa```aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa`````````````a``a``a`aaaa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aa```aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa`````a``````aa`a``a`aaaa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``a```aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa````aaaaaaaaaaaaaa```aa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa````````a````````````````aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa````aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa``aa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa`a`````````aa`a`a```aa``aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa```aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa````aaaaaaaaaaaaaa```a``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa````a````a`aa```a`a`aaa``aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa``a``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa````````a```aaa`aa`a`aaaa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa````aaaaaaaaaaaaaaa````aa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``````a`a`aaa`aa`a`aaaa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`````````a``aa`aa`a`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa``aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa`````````a`aa`aa`a``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa``aa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa`````````a`a````````aa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```a`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa``a``````````aa`aa`aaaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaa```aaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa``a`aa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``````a`a`a`aa`aa`aaaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa````aa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa````````a``aaa`aa`aaaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaa```aaaaaaaaaaaaaa````aaaaaaaaaaaaaaa```aa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa`````a`````````a`aaaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``````a``aaa`aa``aaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaa``aaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```a``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa````a`aa`aa```a``aaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``a``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa`````a`a``a```a``aaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa`````aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa`a````aa`a```aa`aaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaa``aaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa````aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``a``````````a``aaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa```aa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``a``````aa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``a``aaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa```aa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa`a```aa`aa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa````aaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa``aa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``a``aa`aa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``aaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```a`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa````a``aa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa````aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa````a``````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaa```aaaaaaaaaaaaaaa````aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa``a`````aa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaa````aaaaaaaaaaaaaaa```aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa`a`a```aa`aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaa````aaaaaaaaaaaaaaa``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa```````aa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``aaaaaaaaaa```aaaaaaaaaaaaaaaa``aa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa```````aa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaa````aaaaaaaaaaaaaaa```a`aaa``a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa````a`aaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaa```aaaaaaaaaaaaaaa```a`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``a`a``aa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaa````aaaaaaaaaaaaaaa````aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa``a`a```a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaa````aaaaaaaaaaaaaa````aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa````a``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaa```aaaaaaaaaaaaaaa```aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``````aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``aa````aaaaaaaaaaaaaa````aa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa``a`a``a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aa```aaaaaaaaaaaaaaa```aa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa``a`a``a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`````aaaaaaaaaaaaaaa```a`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa````a``a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa```aaaaaaaaaaaaaaa```a`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaa```aaaaaaaaaaaaaaa````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa`````a``aaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaa```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`````aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``aaaaaaaaaaaaa```aa``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa````aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaa```a``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa````aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaa`````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`````a``aaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaaaaaaa`````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`````aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaa````aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa````aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``aaaaaaa````aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa```aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``aaaaaa```aa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa```aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``aaaaa``a``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa```aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaa`````aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa```aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaa```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa```aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aa```a``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa```aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa`````aa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa````aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``a````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``a``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa`aaaaaaaaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaa```aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaa````aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaaaaaaaa`aaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaa````aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``a``aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaa``aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaaaaaaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaa``aaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa`aaaaaaaaaaaaaaa``aaa`aaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa````aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````a``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````a```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````a`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````a````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````a````a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````a`````a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````a``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````a`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````aa```a````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``a`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````a```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`aa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````a```a`aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a`a`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````a`a`a`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``a``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````a```a``aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`````aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````````a``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`a`````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````a``````aa```````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a`a```a`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````a`````a`a`````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````a```a````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````a````a``a`````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````a`a``````````a`a```a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a````aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````````a````a````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a````aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````aa`````````````aa``aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a``````aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````a```````````a`````````a````aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``````aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````````````aa`aa```aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a``a````aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````a`a`````````a`a```aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a````````aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````a``````a``````````aaa``a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa````a```aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````````a```a````````a````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a`````aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````aa``a`a``aa``aaa``a````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa```a`aa``````a``a``````aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````````````````aa````aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaa``aa`````````````````````aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````````aa```````aa``aaa``a````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a```a````aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````a`````a`````````````a`a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a```````aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````````aa``a``aa``aa`a`aaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa``a`aa```````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````aa``aa``````a`aa``aaa``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`a`a``````aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````a``````````a``aa```a````aaa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa```a`a````aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````````aa``aa````````aa``aaa```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````````````aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````a``````a`````a````aa``a`a```aaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a`````a```aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````````````a`a`a``aa```aaa`aaa```aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a``a```a````aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````a````a``````````````````a`````aaa``aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa````````````a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````````````````````aaa``aaa```````aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaa``a``a```````a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````````````a`aaa``````a``a`a`a`a```aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaa`aa`````````aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````````a```a`aaa``a``````a``aa``aa`aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aa``a```````aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````a````a````````````````a```aa````````aa`aa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aa`aaa`aa``````````````a``a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````a`````a``aaa``aaa`aaaa``````````a`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````a```````a```aa``a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````a`````````a````````a`````````a`a``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`aa``a`a`````````aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````````````````a``a```aaa`a`a`a`a```aa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a````aa``a`a`a```````aa``````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````a`a``a`````a`a`a`aa`a```aaa```aa```aaa```aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa`a```aa```a`````````a````aaa``a````a```````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````````````````````````````aa`a``aa`a`a`aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a```````````a````````````aaaaaaaaaaaa`a`aaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````a````a``a`aa``aa``a````aa`a```a``a`aa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa`````````aaa``````a`aa```a`aa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaa`````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````a`````````````````````````````````````aa``a``aaa``aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaa`aaa`aa````aa``````````aaa```````````````aa`aaaaa``a`aaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````````aa````````aaa`aaa``aa``a``a``aaa``a`aaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a```aaa````aa````````````aa``aaaaaaaaaaaa`a``````aaaaa`a`a`aaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````a```a``````````````````````````aa`````a```aa``aaaaa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa````a`a`aa``a```````aa`````aaaaaaaaaaaaa`aaaaaaaaa````aaaaaa``aaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````a``````a`a`a`aaa```aaa``````a``a```aa`aa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa`aa`````aa`aa````````aa`a```aaaaaaaaaa`aaaaaaaaa``aaaa`````aaaaa``aaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````a````````a```aa`````a`aa`aa```a``aaa``aaa``aa`a``aaaa``a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaa``````````````aaaaa```aaaaaaaaa````aaaaaaaa``aaaaaaaaaa`a`aaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````````a``````````````````a````````aa``a``a``aaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa````a``a``````````````````aaaaa``aaaaaaaaaaaa`a`aaaaaaaaaaaa`a`aaaaaaa``aaaaaaaaaaaa`aaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````````````````````a``a````a````a``aaa```aaaa``aaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````aaaa`aaa````a```````aaa``aaaaaaaaaaaaaaaaaa`a``aaaaaaa``````aaaaaaaaaaaaaaaaaaaa`aaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````a```a``a``a````````````aaa``aa``````````aa`aaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a``a````a``aa``a`````a`````aaa``aa`````````aaaaaaaaaa`aaa``aaaaaaaa`a``aaaaaaaaaaaaaaaa``aaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````a``aa`````a```aaa```aa`aa`a````aa```a`a```aaaaa```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a`aaa`````a``a`a```````aa``aa``aaaaaaaaa``````aaaaaaaaaaaa````a`aaaaaaaaa`a`aaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````````a``a``a``aa`aaa````aa```aa``aaaaa``aaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaa`a`a```````````````a``a````aaaaaaaaaaaaaa`a``aaaaaaaaaaa`````aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````a````````````````````````````````````````aa`aaaaa```aaa``aaaaaa`a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aa````aa`a`a``a```````a````aa`aa``````aaaa`aaaaaaa```a```aa``aaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````aa``a````aa`aa```aaaa``a```````aaaa```aaaa`aaaaaa``aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa`a`````````````a`a`a``````a``aa``````a```aaaa```````aaaaaaaa``aaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a``````a``````a`````````````````````a```aa`````a`a`````aaa``aaaaa``aaa``a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````````````a``````a`````aaaa````aaaa``````aa````aaaaaaaaa`aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````a`````````a````````a```aa``````a`a```aaaa`a``aa``aaaaa``aaa``aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa`aaa``a````````````````````aaaa```````````aaaaa```aaaaaaaaaaaaa````aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````````````a``aaa``aaa`a```aaa``a`aaa``aaaaa`aaaa``a```aa``aaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa`aa```a`a`a``````````a```aaaa``````aaaaaaaaa``aaaa`aaaaaaaaaaaa````aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````a```a````````````````a```a```aa`aa``aaaaa``aaa``a```aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``aaa``a``a``````a`````aa`````aaaaaaaaaa`aaaa```aaaaa`````aaaaaaaaaaaa````aaaa``aaaaaaaaaaaaaaa``aa``aaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````a``aa`a`aa```aa``a``aa```````aa``aaaaa``aaa``a``aaa````a``aaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaa`aa``````a````aa`a``a`````aa``````aaaaaaaa```aaa``aaaa``aaaa`````aaaaaaaaaaaa```aaaaa`aaaaaaaaaaaaaaaaaaaa```````aaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````````a`aa`aa```aa````aaa`aaa``a``aaaaa``aaaa`a``aaa`````a````aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a``````````````````````````````````````a```a``````````````aa````aaa```aaaaaa````aaaaaaaaaaaaa``aaaaaa``aaaaa```aaaaaaaaaaaaaa``a`aaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````a``````````````a`````a``````aaa`aaa`aa``aaaa``aaaa``a``aa````aaa``a```aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaa``a`````aa``aa`````````````````````a````aa``aaaa`aaa`a`aaaaaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaaa````aaaaaaaaaaaa```aaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````````````````a```a``a`a`````````aaa`a``aaa```aaaaa````aa``a``aaa`aaaa```aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`````````````````a```a``a```````````aa``aaaaaaaaa``aa`aaaaaaaaa```aaaaaaaaa`aa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaa``````````a`````````````a```a`````aaa```````````a```aa`a``a`aa``a```aa``aaaa`a```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa```aa``a``````````````````a```````aa```aaaaaaaaaaaaa`aaaaaaaaaaa``aaaaaaaaa`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaa```````````````````````aa`````````aaaaaa`a````aaa```aa`aa``aaa``aa``aaa`aaaa```a````aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa`aaa`a`a```````````````a``````````````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a``aaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaa``````````````````````````a```````````aa`aaaaaaa``aa`a``aaa``aa``aaaa`aaaa``aaaa`````aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa``````````aa`a`a````a``a`a````````````aa``a`aaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaa````aaaaa````````````````a````a````````````aaa`````aaa``aaa`a``aaa`aaa``aaa``aaa``aaa`aaa`````aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````a`````a``a````````````````a`a`````aa``aaaaaa`aaaaaaa`aaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaa``````aaaaaaa````````````````````````````````a`````aaaaa```aaa```aaa``aa``aaaa`aaaa``aaaaaaa```````aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````a``aaaaa``aaaa``````a`a``a`a```````a`a`a`````aa``aaaaaaaaaa`aaaa````aaaaa````aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaa`````````aaaaaaaaaa`````````````````aaa``````aaa`````````````````aa```aa``aa``aaaa``aaa``aaaa``aa`aaaa````aaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa`aaa`aaaa`a`a`a`a````````````````````````aa``aaaaaaaaaaaaaaaaaaa````aaaaaa```aaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaa````````````````````````````````a``aaa`````aaaa``aa`aaaa``aaa```aaa``aaaa``a``aaa``a`````aaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa`aaa```aaa`a`a`a``````````````````````````aa``aa``aaaaaaaaaaaaaaaaaaa````aaaaa````aaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaa``````a`a``a```````````aa``aa`````````````aa``a``aaaa``aaaa``aaa``aaaaa`aa``aaa``aaaa````aaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`aa``a`aa``a``a``````aa```````````````````aa``aaaa```aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaa`aaaaa````````````````````a`aaa```aa`aa`aaaaa`aaa``aa`aaa``aaaa```aaa``aaaa``a``aaaa`aaaaa```````aaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa`aaa`aa````aa`aa```````````````aa```a`a````aa```aaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaa``````aaaaaaaaaaaaaaa```````aaaaaaaaaaa````````````````aaa`````````````````````aa``aaa`aa``aaaa``aaa``aaaaa``a``aaa``aaaaa``a``````aaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````````````aa`a````````a`a``````aa```aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaa``````aaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa````````````````````````a````````aaa`aaaaa`aaaa```aaaaa``aaa``aaaa`````aaaa`aaaaaa`aa``aaa````a```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa``aaaa``aa``a`````````````````````````a``aa```aa```aaaaaaaa``aaaaaaaaaaaaaaaaaaa````a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaa```````aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa```````````````a````a````````aa`````aaaaa`aaaaa``aaaa```aa``aaaaa````aaaa``aaaaa``a``aaaaaa``````aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa``aaaa``aa`a`a``aa`a````a`a```````````````aaa``aaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaa````aaaaaaaaaaaaaaaaaa`aaaa````aaaaaaaaaaaaaaaaaaaaaaaa``````a```````````aa`aa``a``````````````aaaa```aaa``a`a``aaaaa````aaaa``aaaaaa``a``aaaaaaaaa````aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a`aa`````aaa`a`aa`a````a`a```````````````aaa``aaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa````aaaaaaaaaaaaaaaaaaa``aaaaaa`````````````````````````aaa``a``a```````````a`aa``a`a`aaaaaa```aaaa```aaaaa``aa``aaaaaaaaaa``````aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``a`a````a`aa`aa```a`aa`a`````a`````````aaa``aaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a`aaaaaaaaaaaaaaaaaaaaaaaaa```a`aaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaa``````aaaaaaaaaaaa`````````````a`````````````aaaa``aaaa`aa````a`````a```aaa`a```aaaaa``aaaaaa``aa`aaaaaaaaaaa`````````aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````a``aaa`a``````a```````````````a`````````aaa```aaaaaaaaaaaaaa`aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaa`aaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaa`a````aaa``````````````a````a````````````aa```a```a`a```a`a````aa````aaaaa``aaaaaa``aa``aaaaaaaaaaa`````aa`````aaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````````````````````````````````````aaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaa`aaaaaaaaa``a``aaaaaaaaaaa````````````a````a````aa``a``a````````a``aaaa`````a``a```aaaaa``aaaaaaa``aa``aaaaaaaaaaa``a``aaaa``````aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa`aa``aaaaa``a``a`a`````````````````aaa```aa`````aaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa`````````````aa```a`````a``aaa`a`````a``a`aa```aaaa````aaaaa``aaaaaaa``aaa`aaaaaaaaaaaa``a```aaaaaa``````aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa`a`aa`a`aa``a`a`a`aa``a`````````aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a```a```aa`aaaaa```````````````a`aaaaa`````````````````aa`a`a``````a``a`aa```aaaa```aa``a```aaaa``aaaaaaaa`aaa``aaaaaaaaaaaa``aa```aaaaaaaa`````aaaaaa```aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`aaa``````a``a``aa````a``````````aaaa``aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaa```````````a```````aaa```a`a```a`aa`aa`````aaaaaaa``aaa``aaaaaaaa``aaa``aaaaaaaaaaa``aaaa``aaaaaaaaaa``````aaaa``aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa`aa`aaa```a`````````````````````````aaaa``aaaaaaaaaa``````aaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa````aaaaaaaaaaaaaa``````aaa``aa```````````````````````a`aaa``aa````aaaa``a``aaaa```a```aaaaaaa``aaaa``aaaaaaaaaaa``aaaa```aaaaaa``aaaa``````aa``aaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``aaaa``aaaaa`a```a````````````````aaaa``aaaaaaaaaaaaaaaa```````a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaa```aaaaaaa`aaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaa`a`a`aaaaaa````aaa```````````aa````````````aa`aa`a``a`a```aaa``aa``aa``aaaaaaaaa``aaaa`aaaaaaaaaaaa``aaaaa``aaaaaa``aaaaaaa````````aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``aaa```````a````````aa``````````a`aaaa``aaaaaaaaaaaaaaaaaaaaaaa```````a``aaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa```aaa``aaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaa`aa`a```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa``aaaaaaaaaa````aaaaaaaa`````````````a``````````````````aaaa``aaaa``a``aa```aaaaaaa``aaaa``aaaaaaaaaaa``aaaaaa```aaaaa`aaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaa`aaaaaa``aa```a````````a`````a`aa```````a`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaa``````````a`aaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaa``````````````aa```aa````a`a````aa```aaaaa```aaa`a`a`aaaa``aaaaa``aaaaaaaaaa``aaaaaaaa```aaa``aaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````````a`aaa`aa`````````````````a`aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaa``aaaaaaaaaaaaaaaa````aaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa```````````aaaaaaaaaa`aaaaaa``````````````````a`````aaa``a``````aaaaa``aaa`aa`a`aa``aaaaa``aaaaaaaaaaa``aaaaaaaaa``aaa`aaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaa```aa````a``aa```a`a```````````a`aaaa``aaaaa````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa``aaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````a`aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````aaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````a``````aa```a`a`aa`a````a``aa``aaa`aa``aaaa````aaaaaaaaaa``aaaaaaaaaa```a``aaaaaaaaaaaaaaaaa``aaa`````aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa`aaaaaa```aaa`a```aa`aa```````a`````````aaaa``aaa````aaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa``````````a`````a``a```a``a```aaaaaa````a``aaaaa````aaaa```aaaaaaaaaa``aaaaaaaaaaaa````aaaaaaaaaaaaaaaaaa```aaaaa`````aaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaa`aaaa`aa`aa`aaa````````a`aa````````````aaaa``aaa`````````aaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa`aaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````a``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa````aaaa``````````````a``````aa`````a`aaaaa``aaa```aaaa```aa`a``a`aaaaaaaaaa``aaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaa```aaaaaaa``````aaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````aa``aa``aa`a``````````````````a``````````aaaa``aaaaaa``aaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa`aaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaa`````````a```a`aaaaaaaaaaaaa``````aaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````aaa``````````a```a```a```a``a`````aa`aaaa```aaaa```aaa``a``aaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa````aaaaaaaaaa``````aaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````````aaa```a``````````````aaaa``aa``````aaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa```aaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aa``aaaaaaaaaa```````````a`````a``````a`a`aa```aaa``a`aa``aa`aa```aaaaaaaaaa``aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa`aa``aaaaaaaaaaaaa``````aaa`aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``a`aa````````aaa```a`````````aaaa``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa`aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa```aaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaa```aaaaaaaaa````````````````````a````a`a`a``aa```aaa```aaaa`a``a`aaaaaaaa``aaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaa`aa``aaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa``aaaa`a```aa`aa`a`````````a`````````aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaa`aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaa```aaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaa````````````````````````a`a``a``aa`a``a``aaaaa``aaaa`aaaaaa``aaaaaaaaaaaaaaa``a```aaaaaaaaaaaaaaa``aaa``aaaaaaaaaaaaaaaaaa``````````aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````a`aa``a`aa``aa````````````````````````````aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````a`a```a````````aaaa```aaa``aaaaa``aaaaa``aaa``aaaaaaaaaaaaaaaa`aaa``aaaaaaaaaaaaaaa``aaa```aaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````````````aaaa`````````a```aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa``aaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaa`aaaaaa``aaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``````````````a````a```````````a````a``aaa`a`aaaa`a`aa``aaaaaaaaaaaaaaaa`aaa```aaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaaaaaaaaaaa``````````aaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa``aaaa``aaaaa``aaaa````aaa```a`````````aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaa``aaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``````````````````aa````a`aa`a`````aa``a``aa`aaaa`aa``a`aaaaaaaaaaaaaa``aaaa```aaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaa``aaa`````````aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaa`aaaa``aaaaa```aaa`aa`````````````````aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aa`aa``a```````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa```````````a```a```````a```aaa``aaaa`aa`aaa`aaaa`a```a`aaaaaaaaaaaaa``aaaa```aaaaaaaaaaaa``aaaaaa```aaaaaaaaaaaaaaaaaaaaaa``aaaaaa````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa`aaa`a`aaa`aa````````````````````````aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````a`````a``````````aaaa``a`aaa`aaaaa`aa`a`aaaaaaaaaaaa`aaaaaa```aaaaaaaaaaa`aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaa````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaa`aa`aaa`a``a```````aa``a`aa`aa```````aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa``aaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````a```aa```a````a``a`aaa``aaa`aaaa``aaaaaaaaaaa`aaaaaa```aaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaa``aaaa`a`a````````a``a````````````````````aaaa```aaaaaaaaaaaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````a`````a`aa`aa``aaa```a`aaa`aaa```aaaa`aaaaaaaaa``aaaaaaa```aaaaaaaaa`aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa```a````````````````````````````aaaaaa`````````````````a``````````````````````````````aa`````aa``a`````a````````aaaaa```aaaaaaaaa``aaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa``aaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````a``````a````a````aaa````aa`aa`aa`a``a``aaaa``aaaaaaa`aaaaaaaaa```a``aaaa``aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaa````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaa`aaaa`aaaaaa``a``aa`aa`aaaa`````a``````aaaa```aaaaaa`a`aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````a`````````````aa`aaa``aaa``aa`aa```aa``aa`a`a`aaaaa```aaaaaaa```aa`a``a``aaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa`aaaaaa`a````a``a```````````````aaaaa```aaaa``aaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa``aaaaaaaaa``aaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````a`````aaa``aaaa`aa`a``aaaa``aa`a`aa``aaaa`aaaaaaaa```aa`aa``aaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa`aaaa``aaaaa```a``````````aa```a`````aaaaa```a```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaa`````````````````a`a``a``````aaaa`aa``a`a`aa``aa`a`aaa``aa`aaaaaaaaa``aaaaa`aa``aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa`aaaa`aa```````aa`a``aa``````aa````aaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa`a``aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa````````````a`````a`a``aaaa````a`a``aa`a`aaa`aa`a`aaaaa``aaaaaaaaa```aaaa`aaaa``aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``aaaa`aaaa`aa````aaa````aa`````a``aaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a```aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa``````a`````````````aa```aa`aaaa````aa`a`aaa`aa`a`aa`aa```aaaaaaaa```aa``aaaaaaa``aaaaaaa```aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`aaaaa`aa``aaa`````a``aa`````````aaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaa````````````a`````a`aaaa`aa`aaa``aa`aa``aaaa`aa`a`aa```aa``aaaaaa```aa`aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa`aaaa````aaaa```````````````````aaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````a```````aaa`aa```aaa`a`aaaaa`aa```aa``aaaaa`aaaaa`````aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``aaaa```````a``aa```````a`a````aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````a````aa`aa````````````aa`a`aaaaa`aaa``a``aaaaaaa``aaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaa``aa`aaaa``aa``aaa`````````````aa`aaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````a`aa`aaa``aaa``````````aa`aaaa```a`aaaaaaaa`a```aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````````````aaaa``````a``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa`aaaaaaa`aaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a`````a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````a`a`aa`aaaaa`aaa`aa`a`aa`aaa```aa`aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaa`aaa`a``a```a`aa``````````aa```aaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaa``aaaaaa``aaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a`aaaaaaa```````````````a``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````a`a`````````aaaaaa`aaa`aa`a`aa`aaa``aaa`aaaaaaaa````aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa`aa`````a`aaaaa```````a````a``aaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````aa``a````a``````````````a`aa`a``a`aaa`aaaaaaa`a`````aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``a``aa`a`a```aaaa```````aa``aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````a```a``````aaaaaaa`aaaaaa`a`aa```aa``aa`aaaaa``aa``aaa`aaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaa`aaaaaa``aa`a`````a`````````aaaaa``aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaa`aaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````a```a```a``aa`aaa`aaaa`a`a`aa```aa``aa`aaaa``aaa``aaaa`aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaa`aaaaaa````````````aa```a```aaaa``aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa`aaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa`a``a`aa``aaaaaaaaaaaaaaaaaaaaaaaa`a``````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa```````````a````a``aa```aaa`aaaa`a`a`a``a`aa``aa`aaa`aaaaaaaaaaaa`aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````aa`aaaa`````aa``a`aa```aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaa````````a```a``````````aa``aaaa`a`a``a`a`aaa`aa`aa`aaaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaa``aaaaa``aaaaaa`aa``aa``a`a````aaa````aaaa````aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaa``aaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````aa``aa``aa``````aaa`a`a`aa`a`aa``aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaa``aaaaa``aaaaaa```````aaa`aa`````a```aaaa```aaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````a``aaa`aa```````````aaaa`a`aaa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaa``aaaa````aa`aaaaa`````aaa``aaaa```aaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````aa`aaa`a`aaaa````aa`aaaaa`a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````aaa`a`a`aa``````aa`a``aaa````aaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaa`aaaaaaaaaaaa``aaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````a````````aa`aaaaaaa`aa`aa``aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`````a`````````````aa``a`a``aaa```aaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````a````````````a`a`a`aa`a``aa`aa`aaaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa``a`aaaa`aaaaa```aa`aaaaa``a```aaa```aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaa`a`aaaaaaaaaaaaaaaaa`aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````aa`````aaa`aa`a```a`aa`a`aa``aa`aaaaaaaaaaaa`aaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaa`aaaaaa`aa``aaa`aa``a``````aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaa`a`aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````a`a```````aa`a```a`aa`a`aa``aa`aaaaaaaa`aaa`aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````aaaa````aaaaa```````a`a``aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````a```````a``a```````````a`aa`a`aaa`aa`aaa`aaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa```````````````aa```a`````aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a``aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````a```a`````aaa`a```a`aa`a`aaa`aa`aaa`aaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa`aaaaa``aaaaaa`aaa`````aa```aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaa``aaaaaaaaa````aaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````aa`a```a````aa`aa`aaaaa`aa`aaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaa``aaaa``aaaa``aa```````aaaaa````aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa`aaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````aa``````aa`aaaaa`aaaaaaaa`aa`aaaa`aaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaa``aaaaa`aa``````aaaa``aaa``````aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````aa``````a`aa`aa`a`````aa``a`aaaaa`aa`aaaa`aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaa`aa`````aaaa``aaaaa````aaa``aaaa```aaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aa````a```````aa`aa````aa``a``aaaa`aaaaaaa`aaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaa``````a```aaaaa`aaaaa``````````a``aaaa```aaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`aaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````a`aa``aaa`a`````aa`a`aa``aa`aaaa`aaa`aaa`aaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaa`aaa``````````````````````aaaa```aaaa```aaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````a```````aa`a`a``````a`aa``aa`aaaaaaaa`a`a`aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaa`aa`aaaa`aaa`a``````aaaa``aaaa``aaaa````aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa```aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aa`a```````aaa``aaa```aa``aa``aaaaaaa`aa``aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaa``aa``aa```````aaaaa``aaaa`````aaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```aaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```a`aa`aa``aa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa```aaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``````````aa``a``````a`aa`a`aaa``a```aa``aaaaaa``aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaa`aaaa````aaaaa``aaaa``aaa`````aaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaa``aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``aaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaa``````````````a``a`a``aa```aaa``a`a`aa``aaaaaa```aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaa````aaaaa`aaaaaa```aaaaa```aaa````a``aaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`aaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaa``aaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaa```aaaaaaaaaaaaaa````````aaa`````a`a``aa```aaa``a`a`aaa`aaa`aaa`a``aaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa````aa``aaaaaa`a````aaa````aa````aaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa``aaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaa````````````````````aa`a``aa``aa``aaa`aaa`aaa`aaa`aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaa`````````````````````a````a```aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaa```aaa````````````````````````a```aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``````aa``aa````a``aa`aa`aa``aa``aaaaaaa`aaa`aaaa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa`aaaa``````aa`aaa````````````aaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa`aaaa``aaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa```````a```a`a````aa`aa`aa``aa`aaaaaaaa`aaa`aaaa`a`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaa`aa`````````aaaaaa```aaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa`````````````aa``````a`aa``aa`a`aa``aa`aaa`aaaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa````aaa``aaaaaaaa``aaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaa```aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaa``aaaaaaaaaaa``aaaaaaaaaaaaaaaa```````aaa``aa````````````a`a`aaa`aaa`aa``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa`a``````````````aaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaa``````````````aa``a``a```a``aaaa`aaa`aa``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaa`aaaaa`aaaa```aaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa```aaaaaaaaaa```aaaaaaaaa``aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa`aaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaa``aaaaaaa``aaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaa````````aa```aa`a``aa``````aaa`aaa``aa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaa`aaaaa`aa```aaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaa```aaaaaaaaa``aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa`aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaa`aaaaaaaaaaa``aaaaaaaa``aaaaa``aaaaaaaaaaaaaaaaaaa```a````aa````aa``aa``aa```aa`aaa``aa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaa````````````aaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa``aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaa``aaaaaaaaaa``aaaaaaaaa``aaaaa`aaaaaaa``aaaaaaaaaaaaaa```a```````````aaa``aa`aaaa``aa``aa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````aa```aaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaa```aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaa``aaaaaaaaaa``aaaaaaaa``aaaaa``aaaaaaa``aaaaaaaaaaaaaaaa`````````aaa```````aa`a`aa``aa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaa````aa`aaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaa``aaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaa``aaaaaaaaaaa`aaaaaaaaa`aaaaaaa`aaaaaaa`aaaaaaaaaaaaaaaaaaaa````````aaa```a```````aaa`aa``aa``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa``aaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaa``aaaaa```a````a`aa`````a`a`aaa`aaa``a``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaa``aaaaaa`aaaaaaaa`aaaaaaaaaaaaaaa`aaaaaaaa```a```````a````aa`a`aa`aaa``a``aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaa``aaaaaaaaaaa``aaaaaaaa``aaaaaa``aaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaa````a`````aa`````a`aa``aa``aa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````````````aaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaa``aaaaaa``aaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaa````aa````a``aa`a`aaa`aa``aa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaa`aaaaaaa`aaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaaaa```````````a```aa``aaa`aaa`aa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaaa``aaaaaaa`aaaaaaaaa`aaaaaaaaaaaaaaa`aaaaaaaaaaaa```aaa`````a``````````````aa`aa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaaaaa`aaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaa```aaaaaaa```````````a`aaa``aa``a``aaa`aaa`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaa```aaaaaaaaaa``aaaaaaa`aaaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaaa``aaaaaaaaaa``````a``````````aa``a`aaaa``aa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaaaa``aaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaa```aaaa`aaaaaaaa`````aaa```aa```a``a`aaaa``aa`aa`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaaaaa``aaaaaaa`aaaaaaaaaa``aaaaaaaaaaaaaaa`aaaaaaaaaa```aaaaaaaaaaaaaaaa``````aa`aaa`aa``a``aaaa`aa`aa`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaa```aaaaaaaaaaaaaaaaaa`````````aaaaaa``aa`aaaa`aa``a`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa````aaaaaaaaaaaaaa``aaaaaaa``aaaaaaaaaaa`aaaaaaaaaaaaaaa``aaaaaaaaa``aaaaaaaaaaaaaaaaaaaa`aa``````````aaaa`a`aaaa``aa`a`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaa```aaaaaaaaaaaaaaaa``aaaaaaaa`aaaaaaaaaaaa`aaaaaaaaaaaaaa``aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaa`````````````````aaa``aa`a````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````aaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaa`aaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaa`````a```aaa`a`aaaa``aa`aa`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa```````````````````````aaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa``aaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aa```a`a`aaaaa`aa``a`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaaaaaaaaaa``aaaaa`aaaaaaa``aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````aaaa`aa`aaa`a`a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaa``aaaaaaaaaaaaa``aaaaa``aaaaaa``aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````aa``aa`a`a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaa```aaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a``aa``````aa`a`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa``aaaaa`aaaaa``aaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aa`aaa`aaa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaa``aaaaa`aaaa``aaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````a`aaa`aaa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaa``aaaaaaaaaa`aaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a``aa``aa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a````aaa`aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaa`aaa`aaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a`aaa`aaa`aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaa`aaaa`aaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaa`aaaa``aa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaa`aaaa``aa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaaa``aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````aaaaaaaaaaaaaaaaa```````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aa``aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````aaa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````````````````aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa`a```````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a````a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaa`aaa```a``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa`aaaa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaa``aaaa`aaaa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaa``aa``aaa``aaa``aa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaa``aa`aaaa``aaa``aa`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa```aa``aa`aaaa``a```aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`aa``aaaa``aa``aa``aaaa```a`aaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a```a`aaaaaa`aa``aa``aaaaaaa``aaa``aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a```a`aaaaaa`aa``aa``aaaaaaa``aaa`aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a``aa`a``aaa`aa```a``aaaaaaa`aaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a``aa`a``aaa`aa`a``a`aaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aa`a```a``aa`aa```aaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa``aa`aa```a`a``aa`aaa``aaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``````aa`aa```a````aa`aaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aa``aa``aa``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``a``aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```a``aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa`aaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+};
index ab1adf7a3e1d690a221a4c67ad9d4ea8edfe1235..2402e2e533f40ed3aa36267ac02806faab94e5a9 100644 (file)
@@ -44,13 +44,14 @@ The FTP site of RedHat Software.
 
 =back
 
-Beta releases will also be at
+At this moment we have about one development-patchlevel per week. 
+These development releases will also be at
 
 =over 4
 
-=item ftp://pcnov095.win.tue.nl/pub/lilypond
+=item ftp://pcnov095.win.tue.nl/pub/lilypond/development
 
-=item ftp://alpha.gnu.ai.mit.edu/gnu/lilypond/
+=item ftp://alpha.gnu.ai.mit.edu/gnu/lilypond/development
 
 =back
 
index a4cb803430e493cfe63604425691312e113c79de..7c28d71e341eb9be39168b14f3746a5777c9d36f 100644 (file)
@@ -123,9 +123,15 @@ When assigning identifiers you use
 
 \begin{verbatim}
 string = ...
-\oldidentifier = ..
 \end{verbatim}
 
+If you reuse identifiers, then the previous contents will be thrown
+away after the right hand is evaluated, eg
+\begin{verbatim}
+bla = \melodic { \bla }
+\end{verbatim}
+is legal
+
 When using identifiers they have to be escaped:
 
 \begin{verbatim}
diff --git a/NEWS b/NEWS
index ee3412f44c50663bb54c02131f853c18b0822841..db76e9d5272afef9c5376176cdded9d54355beb4 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,11 +1,22 @@
-pl 0.1.7.jcn1
-       - complete redo mid/back-end of mi2mu
-       - bf: do not create/play empty Audio-{text,instrument} events
 
+pl 8
+       - gif -> xpm
+       - bf: Whoops! Open eyes now, when finding shortest note in
+spring-spacer. Fixes spacing problems.
+       - GNU coding: parentheses (here you are, Franc,ois :-)
+       - all macros now UPPERCASE
+       - Identifier blondification: don't use void*
+       - Identifier doesn't store its name. Much cleaner now.  
+       - bf: Rest_collision_engraver now always announces
+       - bf: announce Staff_sym only once
+       - rewrite of mi2mu (JCN)
+
+********
+aug 14
 pl 7
        - Audio_element as base for Audio_item and Audio_staff. fixes
 midi-lyric segfault
-       - added "Gallina a due violini"
+       - added "Gallina a due violini" (MB)
        - make MIDI files on website.
        - Collision now also is an Element_group.
        - bf: announce Collision when created
@@ -46,7 +57,6 @@ pl 0.1.3.jcn1
 
 *********
 aug 11
-
 pl 4
        - correction of GNU Music Manifesto
        - moved lowlevel stuff of Source_file to Mapped_file_storage. 
@@ -62,9 +72,6 @@ Interface via File_storage. (Now using Simple_file_storage)
        - mudela: parse tempo requests, \midi{ \tempo 4= 60;}
 
 ******
-pl 0.1.3.jcn1
-       - mi2mu: simplification +bf lily_stream: indentation and wordwrap
-       - mi2mu: bf: blunt: non-alpha(num) chars from identifiers
 aug 8
 pl 3
        - don't crash if no Clef_engraver.
diff --git a/TODO b/TODO
index 66701d0090398ebf82fa8eb77cdd429aa4055f8e..d53e6e6b69995700d31ffa8036a27d54a3fe942c 100644 (file)
--- a/TODO
+++ b/TODO
@@ -5,14 +5,12 @@ done, or is an idea that I want to think about
 
 Most of the items are marked in the code as well, with full explanation. 
 grep for TODO and ugh/ugr
+
        * Generate TeX titles from MudelaHeader
 
        * integrate midi-elts from mi2mu and lily
 
        * virtualise PCols to make encapsulated spacing problems
-
-       * fix spacing: standchen: distance bar-note, 
-         strange stretching and compressing of 8's
  
        * Doc Mutopia (Music To The People) 
 
@@ -80,6 +78,8 @@ grep for TODO and ugh/ugr
 
 3RD PARTY BUGS:
 
+       * ICE: spring-spacer::calcideal()
+
        * collision.cc: 138, g++ errors
 
        * bugreport to doc++ devel: struct not in class hier; public
diff --git a/VERSION b/VERSION
index d680f6bd6dc70167ebbdc0f5ca3c829839bd060d..e67ec04990696a10801f96fa3fdc18a60798cee4 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 7
+TOPLEVEL_PATCH_LEVEL = 8
 
 # use to send patches, always empty for released version:
-TOPLEVEL_MY_PATCH_LEVEL = .jcn1
+TOPLEVEL_MY_PATCH_LEVEL = 
index e11d7b8533f9f81f7d48ae88330ebff175f66edf..4c98e9f35afa1249d6d49d53ec7edec5643aea84 100755 (executable)
@@ -18,7 +18,7 @@ then
    echo untarring ..
   if [ ! -f $newarc ]
   then
-       echo "can't find $newarc"
+       echo cant find $newarc
        exit
   fi
   tar zfx $newarc
@@ -29,7 +29,7 @@ then
 
   if [ ! -f $oldarc ]
   then
-       echo "can't find $oldarc"
+       echo cant find $oldarc
        exit
   fi
    tar zfx $oldarc
index e6796215f3b25b4f2518a4718b79a9c671d245f3..54bfc14151617a6e2e0a1194b435c002f7563b71 100644 (file)
@@ -74,8 +74,10 @@ sub my_system
 
 
 local $base="lilypond/";
-local @examples=("twinkle", "multi", "wohltemperirt" ,"standchen", "toccata-fuga-E", 
-                "scsii-menuetto", "collisions", "cadenza", "scales", "twinkle-pop");
+
+local @examples=("twinkle-pop", "twinkle", "multi", "wohltemperirt"
+                ,"standchen", "toccata-fuga-E", "scsii-menuetto",
+                "cadenza", "scales", "rhythm", "gallina");
 
 # rhythm, scales, 
 
@@ -218,8 +220,9 @@ sub copy_files
     my_system "cp $depth/TODO ./TODO.txt",
     "cp $depth/ANNOUNCE ./ANNOUNCE.txt",
     "cp $depth/NEWS ./NEWS.txt",
-    "cp $depth/DEDICATION ./DEDICATION.txt",
-    "cp ../lelie*gif .";
+    "cp $depth/DEDICATION ./DEDICATION.txt";
+    my_system "make -C .. gifs";
+    
 }
 
 sub set_images
index f2720c2744a72fb58af91846dbcc6e152913588f..d26a6f344b58837f55e59f7f61f3d4e7ed1d7135 100644 (file)
@@ -1,3 +1,5 @@
+pl 27
+       - naming: macros are MACROS
 
 pl 26
        - Getopt_long : command -- and command - 
index 086759193fb57b4152ddbb3331168bd05d2d5c61..eae3c49cea5a999f756af105a364160419382ff4 100644 (file)
@@ -13,93 +13,93 @@ const Real EPS = 1e-7;              // so sue me. Hard coded
 //#define PARANOID
 
 void
-Choleski_decomposition::full_matrix_solve(Vector &out, Vector const &rhs)const
+Choleski_decomposition::full_matrix_solve (Vector &out, Vector const &rhs)const
 {
     int n= rhs.dim();
-    assert(n == L.dim());
+    assert (n == L.dim());
     Vector y;
-    y.set_dimn);
-    out.set_dim(n);
+    y.set_dim (n);
+    out.set_dim (n);
     
     // forward substitution
     for (int i=0; i < n; i++) {
-       Real sum(0.0);
+       Real sum (0.0);
        for (int j=0; j < i; j++)
-           sum += y(j) * L(i,j);
-       y(i) = (rhs(i) - sum)/L(i,i);
+           sum += y (j) * L(i,j);
+       y (i) = (rhs (i) - sum)/L(i,i);
     }
     
     for (int i=0; i < n; i++)
-       y(i) /= D(i);
+       y (i) /= D(i);
 
     // backward subst
-    Vector &x(out);            // using input as return val.
+    Vector &x (out);           // using input as return val.
     for (int i=n-1; i >= 0; i--) {
-       Real sum(0.0);
+       Real sum (0.0);
        for (int j=i+1; j < n; j++)
-           sum += L(j,i)*x(j);
-       x(i) = (y(i) - sum)/L(i,i);
+           sum += L(j,i)*x (j);
+       x (i) = (y (i) - sum)/L(i,i);
     }
 }
 
 void
-Choleski_decomposition::band_matrix_solve(Vector &out, Vector const &rhs)const
+Choleski_decomposition::band_matrix_solve (Vector &out, Vector const &rhs)const
 {
     int n= rhs.dim();
     int b = L.band_i();
-    assert(n == L.dim());
+    assert (n == L.dim());
 
-      out.set_dim(n);
+      out.set_dim (n);
   
     Vector y;
-    y.set_dim(n);
+    y.set_dim (n);
     
     // forward substitution
     for (int i=0; i < n; i++) {
-       Real sum(0.0);
+       Real sum (0.0);
        for (int j= 0 >? i - b; j < i; j++)
-           sum += y(j) * L(i,j);
-       y(i) = (rhs(i) - sum)/L(i,i);
+           sum += y (j) * L(i,j);
+       y (i) = (rhs (i) - sum)/L(i,i);
     }
     for (int i=0; i < n; i++)
-       y(i) /= D(i);
+       y (i) /= D(i);
 
     // backward subst
-    Vector &x(out);            // using input as return val.
+    Vector &x (out);           // using input as return val.
     for (int i=n-1; i >= 0; i--) {
-       Real sum(0.0);
+       Real sum (0.0);
        for (int j=i+1; j <= i + b&&j < n ; j++)
-           sum += L(j,i)*x(j);
-       x(i) = (y(i) - sum)/L(i,i);
+           sum += L(j,i)*x (j);
+       x (i) = (y (i) - sum)/L(i,i);
     }
 }
 
 void
-Choleski_decomposition::solve(Vector &x, Vector const &rhs)const
+Choleski_decomposition::solve (Vector &x, Vector const &rhs)const
 {
     if (L.band_b()) {
-       band_matrix_solve(x,rhs);
+       band_matrix_solve (x,rhs);
     } else
-       full_matrix_solve(x,rhs);
+       full_matrix_solve (x,rhs);
 }
 
 Vector
-Choleski_decomposition::solve(Vector rhs)const
+Choleski_decomposition::solve (Vector rhs)const
 {
     Vector r;
-    solve(r, rhs);
+    solve (r, rhs);
     return r;
 }
 
 void
-Choleski_decomposition::full_matrix_decompose(Matrix const & P)
+Choleski_decomposition::full_matrix_decompose (Matrix const & P)
 {
  
    int n = P.dim();
     L.unit();
     for (int k= 0; k < n; k++) {
        for (int j = 0; j < k; j++){
-           Real sum(0.0);
+           Real sum (0.0);
            for (int l=0; l < j; l++)
                sum += L(k,l)*L(j,l)*D(l);
            L(k,j) = (P(k,j) - sum)/D(j);
@@ -107,7 +107,7 @@ Choleski_decomposition::full_matrix_decompose(Matrix const & P)
        Real sum=0.0;
        
        for (int l=0; l < k; l++)
-           sum += sqr(L(k,l))*D(l);
+           sum += sqr (L(k,l))*D(l);
        Real d = P(k,k) - sum;
        D(k) = d;
     }
@@ -115,7 +115,7 @@ Choleski_decomposition::full_matrix_decompose(Matrix const & P)
 }
 
 void
-Choleski_decomposition::band_matrix_decompose(Matrix const &P)
+Choleski_decomposition::band_matrix_decompose (Matrix const &P)
 {
     int n = P.dim();
     int b = P.band_i();
@@ -123,7 +123,7 @@ Choleski_decomposition::band_matrix_decompose(Matrix const &P)
     
     for (int i= 0; i < n; i++) {
        for (int j = 0 >? i - b; j < i; j++){
-           Real sum(0.0);
+           Real sum (0.0);
            for (int l=0 >? i - b; l < j; l++)
                sum += L(i,l)*L(j,l)*D(l);
            L(i,j) = (P(i,j) - sum)/D(j);
@@ -131,12 +131,12 @@ Choleski_decomposition::band_matrix_decompose(Matrix const &P)
        Real sum=0.0;
        
        for (int l=0 >? i - b; l < i; l++)
-           sum += sqr(L(i,l))*D(l);
+           sum += sqr (L(i,l))*D(l);
        Real d = P(i,i) - sum;
        D(i) = d;
     }
     L.try_set_band();
-    assert ( L.band_i() == P.band_i());
+    assert ( L.band_i() == P.band_i ());
 }
 
 
@@ -146,20 +146,20 @@ Choleski_decomposition::band_matrix_decompose(Matrix const &P)
   Standard matrix algorithm.
    */
 
-Choleski_decomposition::Choleski_decomposition(Matrix const & P)
-   : L(P.dim()), D(P.dim())
+Choleski_decomposition::Choleski_decomposition (Matrix const & P)
+   : L(P.dim()), D(P.dim ())
 { 
 #ifdef PARANOID
-    assert((P-P.transposed()).norm()/P.norm() < EPS);
+    assert ((P-P.transposed()).norm ()/P.norm () < EPS);
 #endif
     if  (P.band_b()) 
-       band_matrix_decompose(P);
+       band_matrix_decompose (P);
     else
-       full_matrix_decompose(P);
+       full_matrix_decompose (P);
  
 
 #ifdef PARANOID
-    assert((original()-P).norm() / P.norm() < EPS);
+    assert ((original()-P).norm () / P.norm () < EPS);
 #endif
 }
 
@@ -167,7 +167,7 @@ Matrix
 Choleski_decomposition::original() const
 {
     Matrix T(L.dim());
-    T.set_diag(D);
+    T.set_diag (D);
     return L*T*L.transposed();
 }
 
@@ -175,20 +175,20 @@ Matrix
 Choleski_decomposition::inverse() const
 {
     int n=L.dim();
-    Matrix invm(n);
-    Vector e_i(n);
-    Vector inv(n);
+    Matrix invm (n);
+    Vector e_i (n);
+    Vector inv (n);
     for (int i = 0; i < n; i++) {
-       e_i.set_unit(i);
-       solve(inv, e_i);
+       e_i.set_unit (i);
+       solve (inv, e_i);
        for (int j = 0 ; j<n; j++)
-           invm(i,j) = inv(j);
+           invm (i,j) = inv (j);
     }
     
 #ifdef PARANOID
     Matrix I1(n), I2(original());
     I1.unit();
-    assert((I1-I2*invm).norm()/I2.norm() < EPS);
+    assert ((I1-I2*invm).norm()/I2.norm () < EPS);
 #endif
     
     return invm;
index 0dad79c91ff91cd57184b2b227e8589b281bfad5..b324f200397266f6499cd586924c81ef3f2599d6 100644 (file)
@@ -12,7 +12,7 @@ Data_file::gobble_white()
        if (eof()) 
            break;
 
-    data_unget(c);
+    data_unget (c);
 }
 
 String
@@ -24,9 +24,9 @@ Data_file::get_word()
        {
        char    c  = data_get();
        
-       if (isspace(c) || eof()) 
+       if (isspace (c) || eof()) 
            {
-           data_unget(c);
+           data_unget (c);
            break;
            }
        
@@ -37,7 +37,7 @@ Data_file::get_word()
 
            while ((c  = data_get()) != '\"')
                if (eof())
-                   error("EOF in a string");           
+                   error ("EOF in a string");          
                else
                    s += c;
            
@@ -59,7 +59,7 @@ Data_file::data_get() {
     char c =  get(); 
     if (!rawmode && c == '#') // gobble comment
        {       
-       while ((c = get()) != '\n' && !eof()) 
+       while ((c = get()) != '\n' && !eof ()) 
            ;
            return '\n';
        }    
@@ -73,7 +73,7 @@ String Data_file::get_line()
     char c; 
     String s;
 
-    while ((c  = data_get()) != '\n' && !eof())
+    while ((c  = data_get()) != '\n' && !eof ())
        s += c;
     return s;  
 }
@@ -85,8 +85,8 @@ Data_file::gobble_leading_white()
     // eat blank lines.
     while (!eof()) {
        char c = data_get();                
-       if (!isspace(c)) {
-           data_unget(c);
+       if (!isspace (c)) {
+           data_unget (c);
            break;
        }
     }
index fc812423e5649e2f873b31286badba15de29311e..92ed98920712e4bf971e62db8cf0bb2e098d4fe0 100644 (file)
@@ -47,18 +47,18 @@ Diagonal_storage::band_size_i()const
 }
 
 void
-Diagonal_storage::set_band_size(int s)
+Diagonal_storage::set_band_size (int s)
 {
-    asserts>=0);
-    Full_storage f(dim(), 2*s+1);
+    assert (s>=0);
+    Full_storage f (dim(), 2*s+1);
     for (int i=0; i < dim(); i++) {
        int k=-s;
        for ( ;  k < -band_size_i(); k++)
-           f.elem(i,k + s) = 0.0;
+           f.elem (i,k + s) = 0.0;
        for ( ; k <=  band_size_i()&& k<=s ; k++)
-           f.elem(i, k + s) = band_.elem(i,k+ band_size_i());
-       for; k <= s; k++)
-           f.elem(i, k + s) =0.0;
+           f.elem (i, k + s) = band_.elem (i,k+ band_size_i());
+       for (; k <= s; k++)
+           f.elem (i, k + s) =0.0;
     }
 
     band_ = f;
@@ -70,31 +70,31 @@ Diagonal_storage::set_band_size(int s)
   any takers?
   */
 void
-Diagonal_storage::insert_row(int )
+Diagonal_storage::insert_row (int)
 {
-    assert(false);
+    assert (false);
 }
 
 void
-Diagonal_storage::delete_row(int )
+Diagonal_storage::delete_row (int)
 {
-    assert(false);
+    assert (false);
 }
 
 void
-Diagonal_storage::resize(int,int)
+Diagonal_storage::resize (int,int)
 {
 }
 
 void
-Diagonal_storage::resize(int)
+Diagonal_storage::resize (int)
 {
 }
 
 void
-Diagonal_storage::delete_column(int )
+Diagonal_storage::delete_column (int)
 {
-    assert(false);
+    assert (false);
 }
     
 Diagonal_storage::~Diagonal_storage()
@@ -103,26 +103,26 @@ Diagonal_storage::~Diagonal_storage()
 
 
 bool
-Diagonal_storage::band_elt_b(int i,int j)const
+Diagonal_storage::band_elt_b (int i,int j)const
 {
-    return abs(i-j) <= band_size_i();
+    return abs (i-j) <= band_size_i();
 }
 
 void
-Diagonal_storage::assert_valid(int i,int j )const
+Diagonal_storage::assert_valid (int i,int j)const
 {
-    assert( band_elt_b(i,j) );
-    assert( i >=0 && j >=0 && i < dim() && j < dim());
+    assert (band_elt_b (i,j));
+    assert (i >=0 && j >=0 && i < dim() && j < dim ());
 }
 
 
 void
-Diagonal_storage::resize_dim(int d)
+Diagonal_storage::resize_dim (int d)
 {
-    Full_storage f(d, 2*band_size_i()+1);
+    Full_storage f (d, 2*band_size_i()+1);
     for (int i=0; i < d && i < dim(); i++) {
        for ( int k=0;  k < 2*band_size_i(); k++)
-           f.elem(i,k) = elem(i,k);
+           f.elem (i,k) = elem (i,k);
     }
 
     band_ = f;
@@ -131,37 +131,37 @@ Diagonal_storage::resize_dim(int d)
 
 
 bool
-Diagonal_storage::mult_ok(int i,int )const
+Diagonal_storage::mult_ok (int i,int)const
 {
     return i < dim();
 }
 
 void
-Diagonal_storage::mult_next(int &i, int &j)const
+Diagonal_storage::mult_next (int &i, int &j)const
 {
     j++;
-    if ( j < i - band_size_i() 
+    if ( j < i - band_size_i()) 
        j = i- band_size_i();
-    if ( j > i + band_size_i() || j >= dim() ) {
+    if ( j > i + band_size_i() || j >= dim ()) {
        i++;
        j = 0 >? i - band_size_i(); 
     }
 }
 
 bool
-Diagonal_storage::trans_ok(int ,int j)const
+Diagonal_storage::trans_ok (int ,int j)const
 {
     return j < dim();
 }
 
 void
-Diagonal_storage::trans_next(int &i, int& j)const
+Diagonal_storage::trans_next (int &i, int& j)const
 {
     i++;
     if ( i < j - band_size_i())
        i = j-band_size_i();
     
-    if ( i >= dim() || i > j + band_size_i() ) {
+    if ( i >= dim() || i > j + band_size_i ()) {
        j++;
        i = 0 >? j - band_size_i(); 
     }
@@ -170,26 +170,26 @@ Diagonal_storage::trans_next(int &i, int& j)const
 static Real nul_entry=0.0;
 
 Real 
-Diagonal_storage::elem(int i, int j)const
+Diagonal_storage::elem (int i, int j)const
 {
-    if (abs ( i-j ) > band_size_i())
+    if (abs ( i-j) > band_size_i())
        return 0;
     else
-       return band_.elem(i, j - i +band_size_i());
+       return band_.elem (i, j - i +band_size_i());
 }
 
 Real &
-Diagonal_storage::elem(int i, int j)
+Diagonal_storage::elem (int i, int j)
 {
     /*
       if this fails, the previous call fucked up
       */
-    assert(!nul_entry);
+    assert (!nul_entry);
 
-    if (abs ( i-j ) > band_size_i())  
+    if (abs ( i-j) > band_size_i())  
        return nul_entry;
     else
-       return band_.elem(i, j - i + band_size_i());
+       return band_.elem (i, j - i + band_size_i());
 }
 
 /*
@@ -197,10 +197,10 @@ Diagonal_storage::elem(int i, int j)
  */
 
 bool
-Diagonal_storage::try_right_multiply(Matrix_storage*dest,
+Diagonal_storage::try_right_multiply (Matrix_storage*dest,
                                     const Matrix_storage*right)const
 {
-    if ( right->name() != Diagonal_storage::static_name() 
+    if ( right->name() != Diagonal_storage::static_name ()
        return false;
     
     const Diagonal_storage*  right_diag = (Diagonal_storage const*)right;
@@ -216,8 +216,8 @@ Diagonal_storage::try_right_multiply(Matrix_storage*dest,
            int relk =  startk + band_size_i() -i;
            Real sum =0.0;
            for ( int k = startk; k <= stopk; k++)
-               sum += band_.elem(i, relk++) * right_diag->elem(k, j);
-           dest->elem(i, j) = sum;
+               sum += band_.elem (i, relk++) * right_diag->elem (k, j);
+           dest->elem (i, j) = sum;
            
        }
     }
@@ -227,13 +227,13 @@ Diagonal_storage::try_right_multiply(Matrix_storage*dest,
 IMPLEMENT_IS_TYPE_B1(Diagonal_storage, Matrix_storage);
 
 
-Diagonal_storage::Diagonal_storage(Matrix_storage*stor_l, int band_i)
+Diagonal_storage::Diagonal_storage (Matrix_storage*stor_l, int band_i)
 {
-    set_band_size(band_i);
-    resize_dim(stor_l->dim());
+    set_band_size (band_i);
+    resize_dim (stor_l->dim());
 
-    for ( int i=0,j=0; mult_ok(i,j); mult_next(i,j))
-       band_.elem(i, j + band_i -i ) = stor_l->elem(i,j);
+    for ( int i=0,j=0; mult_ok (i,j); mult_next (i,j))
+       band_.elem (i, j + band_i -i) = stor_l->elem (i,j);
 }
 
 void
index a08f4563819bfd67a9be069d44bbedb662ad1a9a..2c55688011c804ea4265abed04789fa0a491b58d 100644 (file)
@@ -30,15 +30,15 @@ Directed_graph_node::get_out_edge_arr()const
 /**
   Should not copy deps automatically
  */
-Directed_graph_node::Directed_graph_node(Directed_graph_node const&)
+Directed_graph_node::Directed_graph_node (Directed_graph_node const&)
 {
 }
 
 void
-Directed_graph_node::copy_edges_out(Directed_graph_node const &s)
+Directed_graph_node::copy_edges_out (Directed_graph_node const &s)
 {
-    for(int i=0; i < s.edge_out_l_arr_.size(); i++)
-       add(s.edge_out_l_arr_[i]);
+    for (int i=0; i < s.edge_out_l_arr_.size(); i++)
+       add (s.edge_out_l_arr_[i]);
 }
 
 void
@@ -46,37 +46,37 @@ Directed_graph_node::OK() const
 { 
 #ifndef NDEBUG
     for (int i=0; i < edge_out_l_arr_.size(); i++) {
-       assert(edge_out_l_arr_[i]->
-              edge_in_l_arr_.find_l(this));
+       assert (edge_out_l_arr_[i]->
+              edge_in_l_arr_.find_l (this));
     }
     for (int i=0; i < edge_in_l_arr_.size(); i++)
-       assert(edge_in_l_arr_[i]->contains_b( this));
+       assert (edge_in_l_arr_[i]->contains_b (this));
 #endif
 }
 
 bool
-Directed_graph_node::contains_b(const Directed_graph_node *d)const
+Directed_graph_node::contains_b (const Directed_graph_node *d)const
 {
-    return edge_out_l_arr_.find_l((Directed_graph_node*)d);
+    return edge_out_l_arr_.find_l ((Directed_graph_node*)d);
 }
     
 void
-Directed_graph_node::remove_edge_out_idx(int i)
+Directed_graph_node::remove_edge_out_idx (int i)
 {
     PARANOID_OK();
-    Directed_graph_node * d_l = edge_out_l_arr_.get(i);
+    Directed_graph_node * d_l = edge_out_l_arr_.get (i);
 
-    int j = d_l->edge_in_l_arr_.find_i(this);
-    assert(j>=0);
-    d_l->edge_in_l_arr_.unordered_del(j);
+    int j = d_l->edge_in_l_arr_.find_i (this);
+    assert (j>=0);
+    d_l->edge_in_l_arr_.unordered_del (j);
     PARANOID_OK();
 }
 
 void
-Directed_graph_node::remove_edge_in(Directed_graph_node *d_l)
+Directed_graph_node::remove_edge_in (Directed_graph_node *d_l)
 {
     PARANOID_OK();
-    d_l->remove_edge_out(this);
+    d_l->remove_edge_out (this);
     PARANOID_OK();
 }
  
@@ -84,9 +84,9 @@ void
 Directed_graph_node::remove_edge_out (Directed_graph_node *d_l)
 {
     PARANOID_OK();
-    for (int i=0; i < edge_out_l_arr_.size(); ) {
+    for (int i=0; i < edge_out_l_arr_.size();) {
        if (edge_out_l_arr_[i]== d_l)
-           remove_edge_out_idx(i);
+           remove_edge_out_idx (i);
        else
            i++;
     }
@@ -95,14 +95,14 @@ Directed_graph_node::remove_edge_out (Directed_graph_node *d_l)
 bool
 Directed_graph_node::linked_b()const
 {
-    return edge_out_l_arr_.size() || edge_in_l_arr_.size();
+    return edge_out_l_arr_.size() || edge_in_l_arr_.size ();
 }
 
 void
 Directed_graph_node::junk_links()
 {
-    edge_in_l_arr_.set_size(0);
-    edge_out_l_arr_.set_size(0);
+    edge_in_l_arr_.set_size (0);
+    edge_out_l_arr_.set_size (0);
 }
 
 
@@ -113,14 +113,14 @@ Directed_graph_node::unlink()
        PARANOID_OK();
 
        Link_array<Directed_graph_node> t = edge_out_l_arr_;
-       t.concat(edge_in_l_arr_);
+       t.concat (edge_in_l_arr_);
 #endif
 
-       while ( edge_out_l_arr_.size() )
-           remove_edge_out_idx(0);
+       while ( edge_out_l_arr_.size())
+           remove_edge_out_idx (0);
        
-       while (edge_in_l_arr_.size() )
-           remove_edge_in(edge_in_l_arr_[0]);
+       while (edge_in_l_arr_.size())
+           remove_edge_in (edge_in_l_arr_[0]);
 
 #ifdef PARANOID
        for (int i =0; i < t.size(); i++)
@@ -130,18 +130,18 @@ Directed_graph_node::unlink()
 
 Directed_graph_node::~Directed_graph_node()
 {
-    assert(!linked_b());
+    assert (!linked_b());
 }
 
     
 void
-Directed_graph_node::add(Directed_graph_node* dep_l)
+Directed_graph_node::add (Directed_graph_node* dep_l)
 {
     PARANOID_OK();
     if (!dep_l)
        return ;
-    dep_l->edge_in_l_arr_.push(this);
-    edge_out_l_arr_.push(dep_l);
+    dep_l->edge_in_l_arr_.push (this);
+    edge_out_l_arr_.push (dep_l);
     PARANOID_OK();
 }
     
index ce0a51d36385413ce6bcf7a0947cd5339e56606d..f6d1d48867faf0090bac8093052c83bd4c356cd0 100644 (file)
@@ -21,40 +21,40 @@ const INDTAB = 2;
   should use Regexp library.
   */
 static String
-strip_pretty(String pretty_str)
+strip_pretty (String pretty_str)
 {
-    int i = pretty_str.index_i('(');
+    int i = pretty_str.index_i ('(');
     if (i>=0)
-       pretty_str = pretty_str.left_str(i);
+       pretty_str = pretty_str.left_str (i);
     
-    int l = pretty_str.index_last_i(' '); // strip until last ' '
+    int l = pretty_str.index_last_i (' '); // strip until last ' '
     if (l>=0)
-       pretty_str = pretty_str.nomid_str(0,l+1);
+       pretty_str = pretty_str.nomid_str (0,l+1);
     return pretty_str;
 }
 
 static String
-strip_member(String pret)
+strip_member (String pret)
 {
-    int l=pret.index_last_i(':')-1;
+    int l=pret.index_last_i (':')-1;
     if (l>=0)
-       pret = pret.left_str(l );
+       pret = pret.left_str (l);
     return pret;
 }
 
 Dstream&
-Dstream::identify_as(String name)
+Dstream::identify_as (String name)
 {
     if (!os_l_)
        return *this;
     
-    String mem(strip_pretty(name));
-    String cl(strip_member(mem));
+    String mem (strip_pretty (name));
+    String cl (strip_member (mem));
     String idx = cl;
     
-    if (silent_assoc_p_->elt_b(mem))
+    if (silent_assoc_p_->elt_b (mem))
        idx  = mem;
-    else if (silent_assoc_p_->elt_b(cl))
+    else if (silent_assoc_p_->elt_b (cl))
        idx = cl;
     else {
        (*silent_assoc_p_)[idx] = false;
@@ -69,9 +69,9 @@ Dstream::identify_as(String name)
 }
 
 bool
-Dstream::silence(String s)
+Dstream::silence (String s)
 {
-    if (!silent_assoc_p_->elt_b(s))
+    if (!silent_assoc_p_->elt_b (s))
        return false;
     return (*silent_assoc_p_)[s];
 }
@@ -79,32 +79,32 @@ Dstream::silence(String s)
 Dstream &
 Dstream::operator<<(String s)
 {
-    output(s);
+    output (s);
     return *this;
 }
 
 Dstream &
 Dstream::operator<<(void const *v_l)
 {
-    output(String_convert::pointer_str(v_l));
+    output (String_convert::pointer_str (v_l));
     return *this;
 }
 
 Dstream &
 Dstream::operator<<(char const *ch_l)
 {
-    output(ch_l);
+    output (ch_l);
     return *this;
 }
 
 void
-Dstream::output(String s)
+Dstream::output (String s)
 {
     if (local_silence_b_|| !os_l_)
        return ;
     
     for (char const *cp = s  ; *cp; cp++)
-       switch(*cp) {
+       switch (*cp) {
            case '{':
            case '[':
            case '(': indent_level_i_ += INDTAB;
@@ -131,7 +131,7 @@ Dstream::output(String s)
 }
 
 
-Dstream::Dstream(ostream *r, char const * cfg_nm )
+Dstream::Dstream (ostream *r, char const * cfg_nm)
 {
     os_l_ = r;
     silent_assoc_p_ = new Assoc<String,bool>;
@@ -141,19 +141,19 @@ Dstream::Dstream(ostream *r, char const * cfg_nm )
     
     char const * fn =cfg_nm ? cfg_nm : ".dstreamrc";
     {
-       ifstream ifs(fn);       // can't open
+       ifstream ifs (fn);      // can't open
        if (!ifs)
            return;
     }
 
-    Text_db cfg(fn);
+    Text_db cfg (fn);
     while (! cfg.eof()){            
-        Text_record  r(  cfg++);
+        Text_record  r (cfg++);
         if (r.size() != 2) {
-            r.message("not enough fields in Dstream init.");
+            r.message ("not enough fields in Dstream init.");
             continue;
         }
-        (*silent_assoc_p_)[r[0]] = (bool)(int)(Scalar(r[1]));
+        (*silent_assoc_p_)[r[0]] = (bool)(int)(Scalar (r[1]));
     }
 
 }
@@ -162,13 +162,13 @@ Dstream::Dstream(ostream *r, char const * cfg_nm )
 Dstream::~Dstream()
 {    
     delete silent_assoc_p_;
-    assert(!indent_level_i_) ;
+    assert (!indent_level_i_) ;
 }
 
 void
 Dstream::clear_silence() 
 {
-    for (Assoc_iter<String, bool> i(*silent_assoc_p_); i.ok(); i++) {
+    for (Assoc_iter<String, bool> i (*silent_assoc_p_); i.ok(); i++) {
        i.val() = 0;
     }
 }
index 7e0e519f574858f143a7ba48d9e633ba6db3cf6e..5ea5e50dc051ec66ee459bc03dddc34eae48c52b 100644 (file)
@@ -4,18 +4,19 @@
 
 bool flower_check_debug=false;
 ofstream null_device ( "/dev/null");
-Dstream default_flower_stream(&null_device ,"/dev/null");
+Dstream default_flower_stream (&null_device ,"/dev/null");
 Dstream *flower_dstream  = &default_flower_stream;
 
 /**
   Set the debugging output. Will not delete/swallow argument.
  */
-void set_flower_debug(Dstream&ds, bool b)
+void set_flower_debug (Dstream&ds, bool b)
 {
 #ifdef NPRINT
     if (b)
        cout << "Debug printout disabled, see the installation guide." << endl;
 #endif
+    
     flower_check_debug = b;
     flower_dstream = &ds;
 }
index fd3784558808b15a6a4db328950db5a6a562d3e1..84cfd803d32aafaf4eda8f6b17394ee33d6ee506 100644 (file)
@@ -11,6 +11,6 @@ char const *
 flower_version_sz()
 {
     static char v[1024];
-    sprintf(v, s, build);
+    sprintf (v, s, build);
     return v;
 }
index fd0d9f550be4a1c9b341e002bd404ef8492087eb..34dcdad1b8ceb1bed7e181dbf5bd2fedc43ecc0d 100644 (file)
@@ -12,7 +12,7 @@
 void
 Full_storage::operator=(Full_storage const &fs)
 {
-    resize(fs.height_i_, fs.width_i_);
+    resize (fs.height_i_, fs.width_i_);
     OK();
     fs.OK();
     for (int i=0; i<height_i_; i++)
@@ -26,9 +26,9 @@ Full_storage::OK() const
 {
 #ifndef NDEBUG
 
-    assert(max_height_i_ >= height_i_ && max_width_i_ >= width_i_);
-    assert(height_i_ >= 0 && width_i_ >= 0);
-    assert(els_p_p_||!max_height_i_);
+    assert (max_height_i_ >= height_i_ && max_width_i_ >= width_i_);
+    assert (height_i_ >= 0 && width_i_ >= 0);
+    assert (els_p_p_||!max_height_i_);
 #endif
 }
 
@@ -44,24 +44,24 @@ Full_storage::~Full_storage()
 
 void
 
-Full_storage::resize(int rows, int cols)
+Full_storage::resize (int rows, int cols)
 {
     OK();
-    resize_cols(rows);
-    resize_rows(cols);
+    resize_cols (rows);
+    resize_rows (cols);
 }
 
 
 
 bool
-Full_storage::mult_ok(int i, int ) const
+Full_storage::mult_ok (int i, int) const
 {
     return i < height_i_;
 }
 
 
 bool
-Full_storage::trans_ok(int , int j) const
+Full_storage::trans_ok (int , int j) const
 {
        return j < width_i_;
 } 
@@ -69,9 +69,9 @@ Full_storage::trans_ok(int , int j) const
 
 
 void
-Full_storage::trans_next(int &i, int &j) const
+Full_storage::trans_next (int &i, int &j) const
 {
-    assert(trans_ok(i,j));
+    assert (trans_ok (i,j));
     i++;
     if (i >= height_i_) {
        i=0;
@@ -81,9 +81,9 @@ Full_storage::trans_next(int &i, int &j) const
 
 
 void
-Full_storage::mult_next(int &i, int &j) const
+Full_storage::mult_next (int &i, int &j) const
 {
-    assert(mult_ok(i,j));
+    assert (mult_ok (i,j));
     j++;
     if (j >= width_i_) {
        j=0;
@@ -93,9 +93,9 @@ Full_storage::mult_next(int &i, int &j) const
 
 
 void
-Full_storage::delete_column(int k)
+Full_storage::delete_column (int k)
 {
-    assert(0 <= k &&k<width_i_);    
+    assert (0 <= k &&k<width_i_);    
     for (int i=0; i< height_i_ ; i++)
        for (int j=k+1; j <width_i_; j++)
            els_p_p_[i][j-1]=els_p_p_[i][j];
@@ -104,9 +104,9 @@ Full_storage::delete_column(int k)
 
 
 void
-Full_storage::delete_row(int k)
+Full_storage::delete_row (int k)
 {
-    assert(0 <= k &&k<height_i_);
+    assert (0 <= k &&k<height_i_);
     for (int i=k+1; i < height_i_ ; i++)
        for (int j=0; j < width_i_; j++)
            els_p_p_[i-1][j]=els_p_p_[i][j];
@@ -116,10 +116,10 @@ Full_storage::delete_row(int k)
 
 
 void
-Full_storage::insert_row(int k)
+Full_storage::insert_row (int k)
 {
-    assert(0 <= k&& k <=height_i_);
-    resize_cols(height_i_+1);
+    assert (0 <= k&& k <=height_i_);
+    resize_cols (height_i_+1);
     for (int i=height_i_-1; i > k ; i--)
        for (int j=0; j <width_i_; j++)
            els_p_p_[i][j]=els_p_p_[i-1][j];
@@ -127,19 +127,19 @@ Full_storage::insert_row(int k)
 }
 
 bool
-Full_storage::try_right_multiply(Matrix_storage * dest, Matrix_storage const * right)const
+Full_storage::try_right_multiply (Matrix_storage * dest, Matrix_storage const * right)const
 {
-    if (dest->name() != Full_storage::static_name() ||
-       right->name() != Full_storage::static_name())
+    if (dest->name() != Full_storage::static_name () ||
+       right->name() != Full_storage::static_name ())
        return false;
 
     Full_storage *d_l = (Full_storage*)dest;
     Full_storage *r_l = (Full_storage*)right;
     
-    d_l->set_size(height_i_, r_l->width_i_);
+    d_l->set_size (height_i_, r_l->width_i_);
     for (int i=0; i < d_l->height_i_; i++)
        for (int j = 0; j < d_l->width_i_; j++) {
-           Real &r(d_l->els_p_p_[i][j]);
+           Real &r (d_l->els_p_p_[i][j]);
            r=0.0;
            for (int k = 0; k < width_i_; k++)
                r += els_p_p_[i][k] * r_l->els_p_p_[k][j];
@@ -151,7 +151,7 @@ Full_storage::try_right_multiply(Matrix_storage * dest, Matrix_storage const * r
 }
 IMPLEMENT_IS_TYPE_B1(Full_storage,Matrix_storage);
 void
-Full_storage::resize_cols(int newh)
+Full_storage::resize_cols (int newh)
 {
     if (newh <= max_height_i_) {
        height_i_=newh;
@@ -172,20 +172,20 @@ Full_storage::resize_cols(int newh)
 
 
 
-Full_storage::Full_storage(Matrix_storage*m)
+Full_storage::Full_storage (Matrix_storage*m)
 {
-    set_size(m->rows(), m->cols());
+    set_size (m->rows(), m->cols ());
     if ( !m->is_type_b ( Full_storage::static_name()))
        for (int i=0; i<height_i_; i++)
            for (int j=0; j<width_i_; j++)
                els_p_p_[i][j]=0.0;
-    for (int i,j=0; m->mult_ok(i,j); m->mult_next(i,j))
-       els_p_p_[i][j] = m->elem(i,j);
+    for (int i,j=0; m->mult_ok (i,j); m->mult_next (i,j))
+       els_p_p_[i][j] = m->elem (i,j);
 }
 
 
 void
-Full_storage::resize_rows(int neww)
+Full_storage::resize_rows (int neww)
 {
     if (neww <= max_width_i_) {
        width_i_=neww;
index 3664b8245f8f3075f8a52a34c90b533e9c3ddd5a..51ae3ea4d25b50d6869eec423bbca0467abba2e3 100644 (file)
@@ -17,12 +17,12 @@ protected:
     int idx_;
     Array<T> &arr_;
 public:
-    ACursor(ACursor const& s) 
+    ACursor (ACursor const& s) 
        :arr_(s.arr_)
     {
        idx_ = s.idx_;
     }
-    ACursor(Array<T> const &arr)
+    ACursor (Array<T> const &arr)
        arr_((Array<T>&)arr)
     {
        idx_ =0;
@@ -36,7 +36,7 @@ public:
        idx_ ++;
        return t;
     }
-    bool ok() { return idx_ >=0 && idx_ < arr_.size(); }
+    bool ok() { return idx_ >=0 && idx_ < arr_.size (); }
 };
 
 
@@ -44,8 +44,8 @@ template<class T>
 class PACursor : public ACursor<T*>
 {
 public:
-    PACursor(Link_array<T> l)
-       : ACursor(l)
+    PACursor (Link_array<T> l)
+       : ACursor (l)
     {
     }
     T* ptr() { return arr_[idx_]; }
index 34b88df22d005f302072a3bb2d470daecb44cd0c..9157ad0ab74e25152e497f73a79e66532a9ede51 100644 (file)
@@ -15,12 +15,12 @@ struct Assoc_iter {
     int i;
     Assoc<K,V> &assoc_;
     /// we don't want to be bothered by const correctness
-    Assoc_iter(const Assoc<K,V> &a) :
+    Assoc_iter (const Assoc<K,V> &a) :
        assoc_((Assoc<K,V> &)a)
     {  
-       i= next(0);
+       i= next (0);
     }
-    int next(int j) {
+    int next (int j) {
        while (j < assoc_.arr.size() && assoc_.arr[j].free)
            j++;
        return j;
@@ -29,9 +29,9 @@ struct Assoc_iter {
        return i < assoc_.arr.size();
     }
     void OK()const {
-       assert(!ok() || !assoc_.arr[i].free);
+       assert (!ok() || !assoc_.arr[i].free);
     }
-    void operator++(int) { i++; i = next(i); }
+    void operator++(int) { i++; i = next (i); }
     K key() { return assoc_.arr[i].key; }
     V &val() { return assoc_.arr[i].val; }    
 };
index 0d9cbc9a4387f45cc74a14bdc1cb4a0fcb46e687..92a7c8ee108602dc83beaf995404b1f899ca0eca 100644 (file)
@@ -26,19 +26,19 @@ struct Assoc {
 
     /* ************** */
     
-    int find(K key) const {
+    int find (K key) const {
        for (int i = 0; i < arr.size(); i++) {
            if (!arr[i].free && key == arr[i].key)
                return i;
        }
        return -1;
     }
-    int find_creat(K key) {
+    int find_creat (K key) {
        int free = -1;
        for (int i = 0; i < arr.size(); i++) {
            if (key == arr[i].key) {            
                return i;
-           } else if (arr[i].free ) {
+           } else if (arr[i].free) {
                free = i;
            }
        }
@@ -51,35 +51,35 @@ struct Assoc {
        Assoc_ent_<K,V> ae;
        ae.free = false;
        ae.key = key;
-       arr.push(ae);
+       arr.push (ae);
        return arr.size() -1;
     }
 public:
-    bool elt_b(K key) const {
-       return find(key) >= 0;
+    bool elt_b (K key) const {
+       return find (key) >= 0;
     }
-    void del(K key) {
-       assert(elt_b(key));
-       int i= find(key);
+    void del (K key) {
+       assert (elt_b (key));
+       int i= find (key);
        arr[i].free = true;
     }
     void
-    add(K key, V val) {
-       int i = find_creat(key);
+    add (K key, V val) {
+       int i = find_creat (key);
        arr[i].val = val;
     }
-    V& elem(K key) {
-       return arr[find_creat(key)].val;
+    V& elem (K key) {
+       return arr[find_creat (key)].val;
        }
     V& operator[](K key) {
-       return elem(key);
+       return elem (key);
     }
     V const & operator[](K key) const {
-       return elem(key);
+       return elem (key);
     }
-    V const & elem(K key) const { 
-       assert(elt_b(key));
-       return arr[find(key)].val;
+    V const & elem (K key) const { 
+       assert (elt_b (key));
+       return arr[find (key)].val;
     }
 };
 
index abd19ee67635a42476b06dca6944d9691a2d55d3..dd21237550c8a2a96f463c43171043bad8e864c2 100644 (file)
@@ -9,7 +9,7 @@
 
     #P# is split  into
 
-    LD transpose(L)
+    LD transpose (L)
     */
 struct Choleski_decomposition {
 
@@ -24,12 +24,12 @@ struct Choleski_decomposition {
     P needs to be symmetric positive definite
     */
     
-    Choleski_decomposition(Matrix const &P);
+    Choleski_decomposition (Matrix const &P);
 
     /**
     solve Px = rhs
     */
-    Vector solve(Vector rhs) const;
+    Vector solve (Vector rhs) const;
     void solve (Vector &dest, Vector const &rhs)const;
     Vector operator * (Vector rhs) const { return solve (rhs); }
   /**
@@ -41,10 +41,10 @@ struct Choleski_decomposition {
     */
     Matrix original() const;
 private:
-    void full_matrix_solve(Vector &,Vector const&)const;
-    void band_matrix_solve(Vector &, Vector const&)const;
-    void full_matrix_decompose(Matrix const & P);
-    void band_matrix_decompose(Matrix const &P);
+    void full_matrix_solve (Vector &,Vector const&)const;
+    void band_matrix_solve (Vector &, Vector const&)const;
+    void full_matrix_decompose (Matrix const & P);
+    void band_matrix_decompose (Matrix const &P);
         
 };
 #endif
index 203ba014e7cb89fbed70b41355d498354c2624a6..ef69ce5162cb29ca8213633636df0cc392c84909 100644 (file)
@@ -6,48 +6,48 @@
 #ifndef COMPARE_HH
 #define COMPARE_HH
 
-#define one_operator(type, function, op) \
+#define ONE_OPERATOR(type, function, op) \
 inline bool \
 operator op (type t1, type t2) {\
-    return function(t1, t2) op 0;\
+    return function (t1, t2) op 0;\
 }\
 
-#define gpp_minmax_operator(type, op, opp) \
+#define GPP_MINMAX_OPERATOR(type, op, opp) \
 inline type \
-operator op(type t1, type t2)\
+operator op (type t1, type t2)\
 {\
      return (t1 opp t2) ? t1 :  t2;\
 }\
 
 
 #if defined (__GNUG__) && ! defined (__STRICT_ANSI__)
-#define gpp_minmax(type, prefix)\
-       prefix gpp_minmax_operator(type, <?, <)\
-       prefix gpp_minmax_operator(type, >?, >)
+#define GPP_MINMAX(type, prefix)\
+       prefix GPP_MINMAX_OPERATOR(type, <?, <)\
+       prefix GPP_MINMAX_OPERATOR(type, >?, >)
 #else
-#define gpp_minmax(type, prefix)
+#define GPP_MINMAX(type, prefix)
 #endif
 
 /**  handy notations for a signed comparison. 
     make the operators{<,<=,==,>=,>} and the MAX and MIN of two.
     Please fill a & in the type argument if necessary.    
     */
-#define template_instantiate_compare(type, function, prefix) \
-prefix one_operator(type, function, >)\
-prefix one_operator(type, function, >=)\
-prefix one_operator(type, function, ==)\
-prefix one_operator(type, function, !=)\
-prefix one_operator(type, function, <)\
-prefix one_operator(type, function, <=)\
-gpp_minmax(type, prefix)\
-prefix inline type max(type t1, type t2) {  return (t1 > t2 )? t1 : t2; }\
-prefix inline type min(type t1, type t2) {  return (t1 < t2 )? t1 : t2; }\
+#define TEMPLATE_INSTANTIATE_COMPARE(type, function, prefix) \
+prefix ONE_OPERATOR(type, function, >)\
+prefix ONE_OPERATOR(type, function, >=)\
+prefix ONE_OPERATOR(type, function, ==)\
+prefix ONE_OPERATOR(type, function, !=)\
+prefix ONE_OPERATOR(type, function, <)\
+prefix ONE_OPERATOR(type, function, <=)\
+GPP_MINMAX(type, prefix)\
+prefix inline type max (type t1, type t2) {  return (t1 > t2)? t1 : t2; }\
+prefix inline type min (type t1, type t2) {  return (t1 < t2)? t1 : t2; }\
   \
 prefix  bool operator<(type t1, type t2) /* stupid fix to allow ; */
 
 
     
-#define instantiate_compare(type, func) template_instantiate_compare(type,func, )
+#define INSTANTIATE_COMPARE(type, func) TEMPLATE_INSTANTIATE_COMPARE(type,func,)
      
 
      
index 05a3e897c4aac5553d787bec045290c590bf8c70..2e205ba33063c85b2a0cfd7b224594a1ce83b764 100644 (file)
@@ -20,19 +20,19 @@ class Cursor
  public:
     /** create cursor, set at top. The const part isn't true, actually, #list#
       surely isn't const, but I get tired of the warning messages.  */
-    Cursor( const List<T>& list, Link<T>* pointer = 0 );
+    Cursor (const List<T>& list, Link<T>* pointer = 0);
     /**
       Create an invalid cursor (pointing to nothing, associated with   no list.)
      */
     Cursor();
-    Cursor( const Cursor<T>& cursor );
+    Cursor (const Cursor<T>& cursor);
 
     T& thing();
 
     /// return current T
     T& operator *() { return thing(); }
     operator T() { return thing(); }
-    Cursor<T> operator =( const Cursor<T>& c );
+    Cursor<T> operator =( const Cursor<T>& c);
 
     /// make cursor with #no# items back
     Cursor<T> operator -( int no) const;
@@ -47,10 +47,10 @@ class Cursor
     /// move one up.
     void previous();
     /// return current and move one down
-    Cursor<T> operator ++( int );
+    Cursor<T> operator ++( int);
     
     /// return current and move one up
-    Cursor<T> operator --( int ); 
+    Cursor<T> operator --( int); 
 
     /// point to link?
     bool ok()const;
@@ -72,7 +72,7 @@ class Cursor
       cursor points to same object, cursor.next() is newly added
       object.
       */
-    void add( T const & thing );
+    void add (T const & thing);
 
     /**  put (copy) before me in List. 
       analogously to editor. ok() interpreted as at begin of
@@ -86,7 +86,7 @@ class Cursor
       is newly inserted object.
       */
     
-    void insert( T const & thing );
+    void insert (T const & thing);
     ///
     void backspace();
 
@@ -96,7 +96,7 @@ class Cursor
     /// access the list this came from
     List<T>& list() const ;
     Link<T>* pointer();
-    static   int compare(Cursor<T> a,Cursor<T>b) { return a-b; }
+    static   int compare (Cursor<T> a,Cursor<T>b) { return a-b; }
 private:
     List<T>& list_;
     Link<T>* pointer_;
@@ -109,7 +109,7 @@ private:
 #include "compare.hh"
 
 
-template_instantiate_compare(Cursor<T>, Cursor<T>::compare, template<class T>);
+TEMPLATE_INSTANTIATE_COMPARE(Cursor<T>, Cursor<T>::compare, template<class T>);
 
 #include "pcursor.hh"
 #include "list.hh"
index 6a2ae6c538c7344c1d0877426763df36a8b5f57d..d0b2439af41d61b23d9d917eee687dd8d10a14e6 100644 (file)
@@ -17,7 +17,7 @@
 // untested
 template<class T>
 inline
-Cursor<T>::Cursor( )
+Cursor<T>::Cursor()
  :   list_(*(List<T> *)0)      // ugh
 {
     pointer_ = 0;
@@ -26,10 +26,10 @@ Cursor<T>::Cursor( )
 
 template<class T>
 inline
-Cursor<T>::Cursor( const List<T>& list, Link<T>* pointer ) : 
-    list_((List<T>&) list )
+Cursor<T>::Cursor (const List<T>& list, Link<T>* pointer) : 
+    list_((List<T>&) list)
 {
-    if ( list.size() )
+    if ( list.size())
         pointer_ = pointer ? pointer : list.top_;
     else
         pointer_ = pointer;
@@ -37,8 +37,8 @@ Cursor<T>::Cursor( const List<T>& list, Link<T>* pointer ) :
 
 template<class T>
 inline
-Cursor<T>::Cursor( const Cursor<T>& cursor ) :
-    list_( cursor.list_ )
+Cursor<T>::Cursor (const Cursor<T>& cursor) :
+    list_( cursor.list_)
 {
     pointer_ = cursor.pointer_;
 }
@@ -47,31 +47,31 @@ template<class T>
 inline T&
 Cursor<T>::thing()
 {
-    assert( pointer_ );
+    assert (pointer_);
     return pointer_->thing();
 }
 
 template<class T>
 Cursor<T>
-Cursor<T>::operator =( const Cursor<T>& c )
+Cursor<T>::operator =( const Cursor<T>& c)
 {   
-    assert( &list_ == &c.list_ );
+    assert (&list_ == &c.list_);
     pointer_ = c.pointer_;
     return *this;
 }
 
 template<class T>
 inline void
-Cursor<T>::add( const T& th )
+Cursor<T>::add (const T& th)
 {
-    list_.add( th, *this );
+    list_.add (th, *this);
 }
 
 template<class T>
 inline void
-Cursor<T>::insert( const T& th )
+Cursor<T>::insert (const T& th)
 {
-    list_.insert( th, *this );
+    list_.insert (th, *this);
 }
 
 template<class T>
@@ -92,33 +92,33 @@ template<class T>
 inline bool
 Cursor<T>::backward()const
 {
-    return ( pointer_ != 0 );
+    return ( pointer_ != 0);
 }
 
 template<class T>
 inline bool
 Cursor<T>::forward()const
 {
-    return ( pointer_ != 0 );
+    return ( pointer_ != 0);
 }
 
 template<class T>
 inline bool
 Cursor<T>::ok()const
 {
-    return ( pointer_ != 0 );
+    return ( pointer_ != 0);
 }
 template<class T>
 inline void
 Cursor<T>::next() 
 {
-    assert( pointer_ );
+    assert (pointer_);
     pointer_ = pointer_->next();
 }
 
 template<class T>
 inline Cursor<T> 
-Cursor<T>::operator ++( int )    
+Cursor<T>::operator ++( int)    
 {
     Cursor<T> r (*this);
     next();
@@ -129,13 +129,13 @@ template<class T>
 inline void
 Cursor<T>::previous() 
 {
-    assert( pointer_ );
+    assert (pointer_);
     pointer_ = pointer_->previous();
 }
 
 template<class T>
 inline Cursor<T>
-Cursor<T>::operator --( int )
+Cursor<T>::operator --( int)
 {
     Cursor<T> r (*this);
     previous();
index 3be73fe5d23383966333c10f80852f5ad069b23e..18f1fbb42aac75a993387d0941b878dfbc4792cf 100644 (file)
@@ -8,27 +8,27 @@ template<class T>
  void
 Cursor<T>::backspace()
 {
-    Cursor<T> c(*this);
-    if ( c.ok() )
+    Cursor<T> c (*this);
+    if ( c.ok())
        c--;        
-    list_.remove( *this );
+    list_.remove (*this);
 }
 
 template<class T>
  void
 Cursor<T>::del()
 {
-    Cursor<T> c(*this);
-    if ( c.ok() )
+    Cursor<T> c (*this);
+    if ( c.ok())
        c++;
-    list_.remove( *this );    
+    list_.remove (*this);    
     *this = c;
 }
 
 
 template<class T>
 Cursor<T> 
-Cursor<T>::operator -=( int j )    
+Cursor<T>::operator -=( int j)    
 {
     while (j--)
        (*this)--;
@@ -36,7 +36,7 @@ Cursor<T>::operator -=( int j )
 }
 template<class T>
 Cursor<T> 
-Cursor<T>::operator +=( int j )    
+Cursor<T>::operator +=( int j)    
 {
     while (j++)
        (*this)++;
@@ -45,7 +45,7 @@ Cursor<T>::operator +=( int j )
 
 template<class T>
 Cursor<T> 
-Cursor<T>::operator +( int i ) const    
+Cursor<T>::operator +( int i) const    
 {
     Cursor<T> r = *this;
 
@@ -60,7 +60,7 @@ Cursor<T>::operator +( int i ) const
 
 template<class T>
 Cursor<T>
-Cursor<T>::operator -( int i ) const
+Cursor<T>::operator -( int i) const
 {
     Cursor<T> r = *this;
     if (i<0)
@@ -79,11 +79,11 @@ template<class T>
 int
 Cursor<T>::operator-(Cursor<T> rhs) const
 {
-    assert(rhs.list == list);
+    assert (rhs.list == list);
     int dif = 0;
 
     // search from *this on further up (positive difference)
-    Cursor<T> c(*this);
+    Cursor<T> c (*this);
     while (c.ok() && c.pointer_ != rhs.pointer_) {
        c--;
        dif++;
@@ -99,10 +99,10 @@ Cursor<T>::operator-(Cursor<T> rhs) const
        dif --;
        c++;
     }
-    assert(c.ok());
+    assert (c.ok());
 
 gotcha:
-    assert((*this - dif).pointer_ == c.pointer_);
+    assert ((*this - dif).pointer_ == c.pointer_);
     return dif;
 }
 
index dae9e5634758763cd9e791faf13f8c2a1b8f96f6..fa75f69922f328b3c997b595ccbc561a6d8adc5c 100644 (file)
@@ -24,8 +24,8 @@ class Data_file : private Text_stream
     Text_stream::get_name;    
 
     char data_get();    
-    void data_unget(char c) {
-       unget(c);
+    void data_unget (char c) {
+       unget (c);
     }
 
     /// read line, eat #\n#
@@ -39,7 +39,7 @@ class Data_file : private Text_stream
 
     /// gobble empty stuff before first field.
     void gobble_leading_white();
-    Data_file(String s) : Text_stream(s) {
+    Data_file (String s) : Text_stream (s) {
        //*mlog << "(" << s << flush;   
        rawmode=  false;        
     }
@@ -48,12 +48,12 @@ class Data_file : private Text_stream
        //      *mlog << ")"<<flush;    
     }    
 
-    warning(String s) {
-       message("warning: " + s);
+    warning (String s) {
+       message ("warning: " + s);
     }
-    error(String s){
-       message(s);
-       exit(1);    
+    error (String s){
+       message (s);
+       exit (1);    
     }
 };
 #endif // DATAFILE_HH
index f4515edfb1fd1317ce50f67fa940a057e294c193..9ac2be679d93e93ceb2e7e253841d329ced02027 100644 (file)
 
   @invariant
   
-  Diagonal_storage(i,j) == band_(i, j-i + band_size_i())
+  Diagonal_storage (i,j) == band_(i, j-i + band_size_i())
   
-  band_.cols() == 2 * band_size_i() + 1
+  band_.cols() == 2 * band_size_i () + 1
   
  */
 class Diagonal_storage : public Matrix_storage {
     Full_storage band_;
 
 public:
-     void set_band_size(int b);
+     void set_band_size (int b);
    int band_size_i()const;
     
-    void assert_valid(int i, int j) const;
-    bool band_elt_b(int,int )const;
-    void resize_dim(int);
+    void assert_valid (int i, int j) const;
+    bool band_elt_b (int,int)const;
+    void resize_dim (int);
     
-    virtual void resize_rows(int d) { resize_dim (d); }
-    virtual void resize_cols(int d) { resize_dim(d); }
+    virtual void resize_rows (int d) { resize_dim (d); }
+    virtual void resize_cols (int d) { resize_dim (d); }
     virtual int dim() const;
 
     virtual int rows() const ;
     virtual int cols() const ;
     
     
-    virtual void resize(int i, int j);
-    virtual void resize(int i);
+    virtual void resize (int i, int j);
+    virtual void resize (int i);
     
-    virtual Real& elem(int i,int j);
-    virtual Real elem(int i, int j) const;
-    Diagonal_storage(Matrix_storage* , int band_i);
+    virtual Real& elem (int i,int j);
+    virtual Real elem (int i, int j) const;
+    Diagonal_storage (Matrix_storage* , int band_i);
     Diagonal_storage();
     void OK() const;
     
-    virtual void insert_row(int k);
-    virtual void delete_row(int k);
-    virtual void delete_column(int k);
+    virtual void insert_row (int k);
+    virtual void delete_row (int k);
+    virtual void delete_column (int k);
     
     ~Diagonal_storage();
-    virtual bool mult_ok(int i, int j)const;
-    virtual void mult_next(int &i, int &j) const ;
-    virtual bool trans_ok(int i, int j) const;
-    virtual void trans_next(int &i, int &j) const;
+    virtual bool mult_ok (int i, int j)const;
+    virtual void mult_next (int &i, int &j) const ;
+    virtual bool trans_ok (int i, int j) const;
+    virtual void trans_next (int &i, int &j) const;
     DECLARE_VIRTUAL_COPY_CONS(Diagonal_storage, Matrix_storage);
     DECLARE_MY_RUNTIME_TYPEINFO;
-    virtual bool try_right_multiply(Matrix_storage * dest, Matrix_storage const *)const;
+    virtual bool try_right_multiply (Matrix_storage * dest, Matrix_storage const *)const;
 };
 #endif // DIAGONAL_STORAGE_HH
index 73f8a926e5da2294fa1092951ed63adc264c80f6..caa065abecea23346e7cd3ccb326b47594eeb5c4 100644 (file)
@@ -24,17 +24,17 @@ public:
     
     /** remove i-th edge_out (and exactly one ref to me in the edge_out)
       */
-    void remove_edge_out_idx(int i);
-    void copy_edges_out(Directed_graph_node const&);
+    void remove_edge_out_idx (int i);
+    void copy_edges_out (Directed_graph_node const&);
     bool linked_b() const;
     void unlink();
     void junk_links();
-    void add(Directed_graph_node*);
-    void remove_edge_in(Directed_graph_node *);
-    void remove_edge_out(Directed_graph_node*);
-    bool contains_b(Directed_graph_node const*) const;
+    void add (Directed_graph_node*);
+    void remove_edge_in (Directed_graph_node *);
+    void remove_edge_out (Directed_graph_node*);
+    bool contains_b (Directed_graph_node const*) const;
 
-    Directed_graph_node(Directed_graph_node const &);
+    Directed_graph_node (Directed_graph_node const &);
     void OK()const;
     Directed_graph_node();
 
index 19fd8acab26592fa55bf62a846582c9481391af1..4d14ae34ec01558a13f9fbb8ef5e16cb050503a5 100644 (file)
@@ -23,7 +23,7 @@ struct Assoc;
    One can turn on and off specific messages using the Assoc silent.
    This can be done automatically:
 
-   #define DEBUG  dstream_.identify_as(__PRETTY_FUNCTION__) 
+   #define DEBUG  dstream_.identify_as (__PRETTY_FUNCTION__) 
 
    DEBUG << "a message\n";
    
@@ -38,18 +38,18 @@ class Dstream
     int indent_level_i_;
     bool local_silence_b_;
     String current_classname_str_;
-    void output(String s);
+    void output (String s);
     Assoc<String, bool> *silent_assoc_p_;
 public:
     void clear_silence();
-    bool silence(String);
+    bool silence (String);
     
     /**
       if rcfile == 0, then do not read any rc file.
       */
-    Dstream(ostream *r, char const * rcfile);
+    Dstream (ostream *r, char const * rcfile);
     virtual ~Dstream();
-    Dstream &identify_as(String s);
+    Dstream &identify_as (String s);
 
 /** Output a string via the Dstream. This is the only output
  interface. It delegates all conversion to String class.  */
index a617c6f3795dd32bf9fc37895f9655f10b1afef2..de19d3063024900d980d9ea76162e370265a001a 100644 (file)
 extern Dstream *flower_dstream;
 extern bool flower_check_debug;
 #ifdef NPRINT
-#define        fdebug if ( 0 ) *flower_dstream
+#define        fdebug if ( 0) *flower_dstream
 #else
 #define fdebug if (flower_check_debug) \
-       flower_dstream->identify_as(__PRETTY_FUNCTION__)
+       flower_dstream->identify_as (__PRETTY_FUNCTION__)
 #endif
-void set_flower_debug(Dstream&ds, bool);
+void set_flower_debug (Dstream&ds, bool);
 
 #endif // FLOWER_DEBUG_HH
index 8b7bb35798adfcaa653102452ff975888912d75b..740c38a7feb6fe3830dea0ae161e7823e7922ad0 100644 (file)
@@ -47,10 +47,13 @@ struct String_convert;
 struct String;
 struct Matrix_storage;
 struct Vector ;
+struct Rational;
 struct Text_stream;
 struct Data_file;
 struct Text_db;
 struct Scalar;
 typedef unsigned char Byte;
+
+
 #endif // FPROTO_HH
 
index 1dfb96e8fa04bf16beabebe31e3773ca986fda1a..0d17df412ff1cfba180b81cd37b35ea551e5b2a8 100644 (file)
@@ -28,41 +28,41 @@ class Full_storage : public Matrix_storage
     void
     init() ;
      
-    bool valid(int i, int j) const ; 
+    bool valid (int i, int j) const ; 
 
-    void resize_rows(int);
-    void resize_cols(int);
+    void resize_rows (int);
+    void resize_cols (int);
 
 public:
     virtual int rows() const;
     virtual int cols() const ;
     
     
-    virtual void resize(int i, int j);
-    virtual void resize(int i);
-    virtual Real& elem(int i,int j);
-    virtual Real elem(int i, int j)const ;
+    virtual void resize (int i, int j);
+    virtual void resize (int i);
+    virtual Real& elem (int i,int j);
+    virtual Real elem (int i, int j)const ;
     int dim()const;
-    Full_storage(Matrix_storage*);
+    Full_storage (Matrix_storage*);
     Full_storage();
-    Full_storage(int i, int j);
-    Full_storage(Full_storage const&);
-    Full_storage(int i);
+    Full_storage (int i, int j);
+    Full_storage (Full_storage const&);
+    Full_storage (int i);
     void OK() const;
     void operator=(Full_storage const &);
     
-    virtual void insert_row(int k);
-    virtual void delete_row(int k);
-    virtual void delete_column(int k);
+    virtual void insert_row (int k);
+    virtual void delete_row (int k);
+    virtual void delete_column (int k);
     
     ~Full_storage();
-    virtual bool mult_ok(int i, int j)const;
-    virtual void mult_next(int &i, int &j) const ;
-    virtual bool trans_ok(int i, int j) const;
-    virtual void trans_next(int &i, int &j) const;
+    virtual bool mult_ok (int i, int j)const;
+    virtual void mult_next (int &i, int &j) const ;
+    virtual bool trans_ok (int i, int j) const;
+    virtual void trans_next (int &i, int &j) const;
     DECLARE_VIRTUAL_COPY_CONS(Full_storage,Matrix_storage);
     DECLARE_MY_RUNTIME_TYPEINFO;
-    virtual bool try_right_multiply(Matrix_storage * dest, Matrix_storage const * )const;
+    virtual bool try_right_multiply (Matrix_storage * dest, Matrix_storage const *)const;
 };
 
 #endif // FULL_STORAGE_HH
index 06bcc9d70c519168df0ec0f5bf57cfa6ecf5096a..d71dbe07e775acfba6b1178f7862ec51ac11d211 100644 (file)
@@ -18,7 +18,7 @@ Full_storage::init()
     height_i_=width_i_=max_height_i_=max_width_i_=0;
 }
 INLINE bool
-Full_storage::valid(int i, int j)const
+Full_storage::valid (int i, int j)const
 {
     return (i>=0 && i < height_i_)
        && (j < width_i_ && j >=0);
@@ -26,22 +26,22 @@ Full_storage::valid(int i, int j)const
 
 
 INLINE
-Full_storage::Full_storage(Full_storage const&s)
+Full_storage::Full_storage (Full_storage const&s)
 {
     init();
     (*this) = s;
 }
 
 INLINE Real& 
-Full_storage::elem(int i,int j)
+Full_storage::elem (int i,int j)
 {
-    assert(valid(i,j));
+    assert (valid (i,j));
     return els_p_p_[i][j];
 }
 
 INLINE Real
-Full_storage::elem(int i, int j) const {
-    assert(valid(i,j));
+Full_storage::elem (int i, int j) const {
+    assert (valid (i,j));
     return els_p_p_[i][j];
 }
 
@@ -64,28 +64,28 @@ Full_storage::cols() const
 INLINE int
 Full_storage::dim()const
 {
-    assert (rows()==cols());
+    assert (rows()==cols ());
     return rows();
 }
 
 INLINE void
-Full_storage::resize(int i)
+Full_storage::resize (int i)
 {
-    resize(i,i);
+    resize (i,i);
 }
 
 INLINE   
-Full_storage::Full_storage(int i,int j)
+Full_storage::Full_storage (int i,int j)
 {
     init();
-    set_size(i,j);
+    set_size (i,j);
 }
 
 INLINE 
-Full_storage::Full_storage(int i)
+Full_storage::Full_storage (int i)
 {
     init();
-    set_size(i);
+    set_size (i);
 }
  
 INLINE
index 26328bd26b27f10b2ef4561826b0c19a159ac1aa..4176325b15d75bfb2869e59687a6f3ec9cdff479 100644 (file)
@@ -17,7 +17,7 @@ class Handle {
        refs = 0;
     }
     /// point to new object. 
-    void up(T *t, int *r) {
+    void up (T *t, int *r) {
        if (!r) {
            refs = new int;
            *refs = 1;
@@ -29,23 +29,23 @@ class Handle {
     }
     /// POST: *refs == 1
     void copy() {
-       if(*refs != 1){
-           T * newobj = new T(*obj );
+       if (*refs != 1){
+           T * newobj = new T(*obj);
            down();
-           up(newobj);
+           up (newobj);
        }
     }
-    Handle(Handle const &src) {
-       up(src.obj, src.refs);
+    Handle (Handle const &src) {
+       up (src.obj, src.refs);
     }
-    Handle(T & o) {
+    Handle (T & o) {
        up (&o);
     }
     void operator=(Handle const& src) {
        if (this == &src)
            return;
        down();
-       up(src.o, src.refs);
+       up (src.o, src.refs);
     }
     operator T const &() {
        return *obj;
index bf4e4cc0e74d56758eaa3653dbb59a3671a86297..19d50611146e3c628888a6a92191d1cc5d3fff47 100644 (file)
@@ -26,24 +26,24 @@ struct Interval_t {
     static T infinity() ;
     
     T center() { return (left + right) / T(2);}
-    void translate(T t) {
+    void translate (T t) {
        left += t;
        right += t;
     }
-    T& idx(int j) {
+    T& idx (int j) {
        if (j==-1)
            return left;
        else if (j==1)
            return right;
        else
-           assert(false);
+           assert (false);
        return left;            
     }
     T& operator[](int j) {
-       return idx(j);
+       return idx (j);
     }
     T operator[](int j) const {
-       return ((Interval_t<T> *)this)->idx(j);
+       return ((Interval_t<T> *)this)->idx (j);
     }
     T &max() { return right;}
     T max()const { return right;}
@@ -53,17 +53,17 @@ struct Interval_t {
       PRE
       *this and h are comparable
       */
-    void unite(Interval_t<T> h);
-    void intersect(Interval_t<T> h);
+    void unite (Interval_t<T> h);
+    void intersect (Interval_t<T> h);
 
     T length() const;
     void set_empty() ;
     bool empty_b() const { return left > right; }
-    bool contains_b(Interval_t<T> const&) const;
+    bool contains_b (Interval_t<T> const&) const;
     Interval_t() {
        set_empty();
     }
-    Interval_t(T m, T M) {
+    Interval_t (T m, T M) {
        left =m;
        right = M;
     }
@@ -83,7 +83,7 @@ struct Interval_t {
        return *this;
     }
     String str() const;    
-    bool elt_b(T r);
+    bool elt_b (T r);
 };
 
 
@@ -91,7 +91,7 @@ struct Interval_t {
   inclusion ordering. Crash if not comparable.
   */
 template<class T>
-int Interval__compare(const Interval_t<T>&,Interval_t<T> const&);
+int Interval__compare (const Interval_t<T>&,Interval_t<T> const&);
 
 /*
   INLINE
@@ -99,21 +99,21 @@ int Interval__compare(const Interval_t<T>&,Interval_t<T> const&);
 
 #include "compare.hh"
 
-template_instantiate_compare(Interval_t<T>&, Interval__compare, template<class T>);
+TEMPLATE_INSTANTIATE_COMPARE(Interval_t<T>&, Interval__compare, template<class T>);
 
 
 template<class T>
 inline Interval_t<T>
-intersection(Interval_t<T> a, Interval_t<T> const&b)
+intersection (Interval_t<T> a, Interval_t<T> const&b)
 {
-    a.intersect(b);
+    a.intersect (b);
     return a;
     
 }
 
 template<class T>
 inline
-Interval_t<T> operator +(T a,Interval_t<T> i )
+Interval_t<T> operator +(T a,Interval_t<T> i)
 {
     i += a;
     return i;
@@ -121,13 +121,13 @@ Interval_t<T> operator +(T a,Interval_t<T> i )
 
 template<class T>
 inline
-Interval_t<T> operator +(Interval_t<T> i,T a ){
+Interval_t<T> operator +(Interval_t<T> i,T a){
     return a+i;
 }
 
 template<class T>
 inline
-Interval_t<T> operator *(T a,Interval_t<T> i )
+Interval_t<T> operator *(T a,Interval_t<T> i)
 {
     i *= a;
     return i;
@@ -135,15 +135,13 @@ Interval_t<T> operator *(T a,Interval_t<T> i )
 
 template<class T>
 inline
-Interval_t<T> operator *(Interval_t<T> i,T a ){
+Interval_t<T> operator *(Interval_t<T> i,T a){
     return a*i;
 }
 
 typedef Interval_t<Real> Interval;
 
 
-#define Interval__instantiate(T) template struct Interval_t<T>;\
-  template  int Interval__compare(const Interval_t<T>&,Interval_t<T> const&)
 
 
 #endif // INTERVAL_HH
index ab2eb95ec3b72f53c0c172c89574b303fca92312..efb7644133f4203dd8a9d5e4fca81868587ffb7d 100644 (file)
@@ -1,3 +1,15 @@
+/*
+  interval.tcc -- implement Interval_t
+
+  source file of the Flower Library
+
+  (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#ifndef INTERVAL_TCC
+#define INTERVAL_TCC
+
 #include <assert.h> 
 #include <math.h>
 #include "interval.hh"
@@ -6,7 +18,7 @@
 
 template<class T>
 int
-_Interval__compare(const Interval_t<T>&a,Interval_t<T> const&b)
+_Interval__compare (const Interval_t<T>&a,Interval_t<T> const&b)
 {
     if (a.left == b.left && a.right == b.right)
        return 0;
@@ -22,9 +34,9 @@ _Interval__compare(const Interval_t<T>&a,Interval_t<T> const&b)
 
 template<class T>
 bool 
-Interval_t<T>::contains_b(Interval_t<T> const& a)const
+Interval_t<T>::contains_b (Interval_t<T> const& a)const
 {
-    int c_i= _Interval__compare*this, a);
+    int c_i= _Interval__compare (*this, a);
     if (c_i == -2)
        return false;
     return c_i >= 0;
@@ -32,11 +44,11 @@ Interval_t<T>::contains_b(Interval_t<T> const& a)const
 
 template<class T>
 int
-Interval__compare(const Interval_t<T>&a,Interval_t<T> const&b)
+Interval__compare (const Interval_t<T>&a,Interval_t<T> const&b)
 {
-    int i = _Interval__compare(a,b);
+    int i = _Interval__compare (a,b);
     if (i < -1)
-       assert(false);
+       assert (false);
     return i;
 }
 
@@ -51,13 +63,13 @@ Interval_t<T>::set_empty()
 template<class T>
 T
 Interval_t<T>::length() const {
-    assert(right >= left);
+    assert (right >= left);
     return right-left;
 }
 
 template<class T>
 void
-Interval_t<T>::unite(Interval_t<T> h)
+Interval_t<T>::unite (Interval_t<T> h)
 {
     if (h.left<left)
        left = h.left;
@@ -71,22 +83,22 @@ Interval_t<T>::unite(Interval_t<T> h)
 
 template<class T>
 void
-Interval_t<T>::intersect(Interval_t<T> h)
+Interval_t<T>::intersect (Interval_t<T> h)
 {
 #if defined (__GNUG__) && ! defined (__STRICT_ANSI__)
     left = h.left >? left;
     right = h.right <?right;
 #else
-    left = max(h.left, left);
-    right = min(h.right, right);
+    left = max (h.left, left);
+    right = min (h.right, right);
 #endif
 }
 
 template<class T>
 Interval_t<T>
-intersect(Interval_t<T> x, Interval_t<T> const &y)
+intersect (Interval_t<T> x, Interval_t<T> const &y)
 {
-    x.intersect(y);
+    x.intersect (y);
     return x;
 }
 
@@ -96,14 +108,20 @@ Interval_t<T>::str() const
 {
     if (empty_b())
        return "[empty]";
-    String s("[");
+    String s ("[");
  
-    return s + String( left ) + String( "," ) + String( right ) + String( "]" );
+    return s + String (left) + String ("," ) + String (right ) + String ("]" );
 }
 
 template<class T>
 bool
-Interval_t<T>::elt_b(T r)
+Interval_t<T>::elt_b (T r)
 {
     return r >= left && r <= right;
 }
+
+
+#define INTERVAL__INSTANTIATE(T) struct Interval_t<T>;\
+  template  int Interval__compare(const Interval_t<T>&,Interval_t<T> const&)
+
+#endif // INTERVAL_TCC
index 74e6ff202c7ed09e4051bc7594a3d941a707ccf6..65b092d1d53d4c0637742da335d8fed8159d8aa8 100644 (file)
       (it does save quite some disk space, though)
  */
 
-#define iterator(set)          typeof((set).top())
-#define iterator_bot(set)              typeof((set).bottom())
+#define iterator(set)          typeof ((set).top())
+#define iterator_bot(set)              typeof ((set).bottom())
 
-#define iter(init, var)                typeof(init) var(init)
+#define iter(init, var)                typeof (init) var (init)
 
 // should use top()
-#define iter_top(set,var)      iterator(set) var(set)
-#define iter_bot(set,var)      iterator(set) var(set.bottom())
+#define iter_top(set,var)      iterator (set) var (set)
+#define iter_bot(set,var)      iterator (set) var (set.bottom())
 
 #endif // ITERATE_HH
index 89b0196bf28e61dd94722694ec35b2c99738ec92..b8a2e19049a1b02f5118b2e2b076000c43c9d26a 100644 (file)
@@ -14,7 +14,7 @@ struct Long_option_init {
     char const * longname;
     char        shortname;
 
-    void printon(ostream &errorout)const ;
+    void printon (ostream &errorout)const ;
 };
 
 
@@ -72,7 +72,7 @@ public:
     bool ok() const;
 
     /// report an error and abort
-    void report(Errorcod c);
+    void report (Errorcod c);
 
 
     /// return an integer (with err. detect)
@@ -85,10 +85,10 @@ public:
        if #os# is null, then do not report nor abort, just set #error#
       */
        
-    void seterror(ostream *os);
+    void seterror (ostream *os);
 
     /// construct: pass arguments and option info.
-    Getopt_long(int c,  char **v, Long_option_init *lo);
+    Getopt_long (int c,  char **v, Long_option_init *lo);
 
     /**  get the next option. 
       @return pointer to next option found.
index 96f3df00e1fbb088bc0d88bbc15e246ae395b3cc..3f94a03a0e40aca04a242ad663b0929e2e59f127 100644 (file)
 #include "fproto.hh"
 #include "config.hh"
 
-char* strnlwrchar* start_l ,int n);
-char* strnuprchar* start_l, int n);
+char* strnlwr (char* start_l ,int n);
+char* strnupr (char* start_l, int n);
 
 #if !HAVE_MEMMEM               // GNU extension.
-char *memmem(Byte const * haystack, int haystack_len,
+char *memmem (Byte const * haystack, int haystack_len,
             Byte const *needle, int needle_len);
 #endif HAVE_MEMMEM
 
 #if !HAVE_SNPRINTF             // GNU extension.
 int snprintf (char *str, size_t n,
-             char const *format, ... );
+             char const *format, ...);
 #endif
 
 
-Byte *memrchr(Byte const * p, int n, char c);
-Byte *strrev( Byte* byte_l, int length_i );
+Byte *memrchr (Byte const * p, int n, char c);
+Byte *strrev (Byte* byte_l, int length_i);
 
 
 #endif // LIBC_EXTENSION_HH
index 218a0f8e55b8a988709a98b279ece6bbc022e53a..5fce0ac91514f47b9acb0be789e3993065d8a5a4 100644 (file)
@@ -12,21 +12,21 @@ class Link
 {
 //    friend class Cursor<T>;
 public:    
-    Link( T const & thing );
+    Link (T const & thing);
     
     Link<T>* previous();
     Link<T>* next();
 
     /// put new Link item after me in list
-    void add( T const & thing );
+    void add (T const & thing);
     /// put new Link item before me in list
-    void insert( T const & thing );    
-    void remove(List<T> &l);
+    void insert (T const & thing);     
+    void remove (List<T> &l);
     
     T& thing();
     void OK() const;
 private:    
-    Link( Link<T>* previous, Link<T>* next, T const & thing );
+    Link (Link<T>* previous, Link<T>* next, T const & thing);
 
     T thing_;
     Link<T>* previous_;
index 3926d6bc2ae3db95737315ee414e283d7fd6c9c9..68b87a73fc23d26d6d041958c4b8ba047205799a 100644 (file)
@@ -9,26 +9,26 @@ Link<T>::OK() const
 {
 #ifndef NDEBUG
     if (previous_) {
-       assert(previous_->next_ == this);
+       assert (previous_->next_ == this);
     }
     if (next_) {
-       assert(next_->previous_ == this);
+       assert (next_->previous_ == this);
     }
 #endif    
 }
 
 template<class T>
 inline
-Link<T>::Link( const T& thing ) : 
-    thing_( thing )
+Link<T>::Link (const T& thing) : 
+    thing_( thing)
 {
     previous_ = next_ = 0;
 }
 
 template<class T>
 inline
-Link<T>::Link( Link<T>* previous, Link<T>* next, const T& thing ) : 
-    thing_( thing )
+Link<T>::Link (Link<T>* previous, Link<T>* next, const T& thing) : 
+    thing_( thing)
 {
     previous_ = previous;
     next_ = next;
@@ -53,23 +53,23 @@ Link<T>::previous()
 template<class T>
 inline
 void
-Link<T>::add( const T& thing )
+Link<T>::add (const T& thing)
 {
     
-    Link<T>* l = new Link<T>( this, next_, thing );
-    if ( next_ )
+    Link<T>* l = new Link<T>( this, next_, thing);
+    if ( next_)
         next_->previous_ = l;
     next_ = l;
 }
 
 template<class T>
 inline void
-Link<T>::insert( const T& thing )
+Link<T>::insert (const T& thing)
 {
-    //    Link<T>* l = new Link<T>( next_, this, thing );
+    //    Link<T>* l = new Link<T>( next_, this, thing);
                                // bugfix hwn 16/9/96
-    Link<T>* l = new Link<T>( previous_, this, thing );
-    if ( previous_ )
+    Link<T>* l = new Link<T>( previous_, this, thing);
+    if ( previous_)
         previous_->next_ = l;
     previous_ = l;
 }
@@ -79,14 +79,14 @@ Link<T>::insert( const T& thing )
     */
 template<class T>
 inline void
-Link<T>::remove(List<T> &l)
+Link<T>::remove (List<T> &l)
 {
-    if ( previous_ 
+    if ( previous_) 
         previous_->next_ = next_;
     else 
        l.top_ = next_;
 
-    if ( next_ )
+    if ( next_)
         next_->previous_ = previous_;
     else
        l.bottom_ = previous_;
index fcc5e70712598d114968135b55f2f87299b4cd5c..f1ddb48e69d38eecc41dfa3f6ad8b60054b10e22 100644 (file)
@@ -19,8 +19,8 @@ template<class T> class Link;
  
    {\bf note:} 
    retrieving "invalid" cursors, i.e. 
-   #top()/bottom()# from empty list, #find()# without success,
-    results in a nonvalid Cursor ( #!ok()# )
+   #top()/bottom ()# from empty list, #find ()# without success,
+    results in a nonvalid Cursor ( #!ok()#)
 
 
     INVARIANTEN!
@@ -30,7 +30,7 @@ template<class T>
 class List
 {
  public:
-    List(List const&src);
+    List (List const&src);
 
     /// construct empty list                
     List();    
@@ -48,7 +48,7 @@ class List
     friend class Cursor<T>;
     friend class Link<T>;
 
-    void concatenate(List<T> const &s);
+    void concatenate (List<T> const &s);
     
     /**  make *this empty. 
 
@@ -60,10 +60,10 @@ class List
       */
      void set_empty();
   
-    void add( T const & thing, Cursor<T> &after_me );
+    void add (T const & thing, Cursor<T> &after_me);
 
     /// put thing before #before_me#
-    void insert( T const & thing, Cursor<T> &before_me );
+    void insert (T const & thing, Cursor<T> &before_me);
 
     /** Remove link pointed to by me. Destructor of contents called
       (nop for pointers)
@@ -74,7 +74,7 @@ class List
 
       WARNING: do not use #me# after calling
       */
-    void remove( Cursor<T> me );
+    void remove (Cursor<T> me);
    
 
     /* ************** */
index df0687b7c8b5b28e71cfd47ad96fbbd64b7caf8e..83ec3aa7961f9e8fdac1dae585be4563bf834b48 100644 (file)
@@ -20,11 +20,11 @@ List<T>::set_empty()
 
 template<class T>
 inline void
-List<T>::remove( Cursor<T> me )
+List<T>::remove (Cursor<T> me)
 {
-    if ( me.ok() ){
+    if ( me.ok()){
        Link<T> *lp = me.pointer();     
-       lp->remove(*this);
+       lp->remove (*this);
        delete lp;
         size_--;
     }
@@ -41,7 +41,7 @@ template<class T>
 inline Cursor<T>
 List<T>::top()const
 {
-    return Cursor<T>( *this, top_ );
+    return Cursor<T>( *this, top_);
 }
 
 
@@ -49,7 +49,7 @@ template<class T>
 inline Cursor<T>
 List<T>::bottom()const
 {
-    return Cursor<T>( *this, bottom_ );
+    return Cursor<T>( *this, bottom_);
 }
 
 
index 4c83034d822ff02050f6ea6754577c7276c86150..fb64cd3ee044d3359fee484679af38cdc17e44b2 100644 (file)
@@ -1,20 +1,27 @@
+/*
+  list.tcc -- implement List<T>
+
+  source file of the Flower Library
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
 #ifndef LIST_CC
 #define LIST_CC
 
 
 // instantiate a template:  explicit instantiation.
-#define L_instantiate(a)  template class List<a>; template class Cursor<a>; \
+#define L_INSTANTIATE(a)   class List<a>; template class Cursor<a>; \
   template class Link<a>
 
 #include "list.hh"
 
 template<class T>
-List<T>::List(List const&src)
+List<T>::List (List const&src)
 {
     set_empty();
     // probably el stupido
-    for (Cursor<T> c(src); c.ok(); c++)
-       bottom().add(c);
+    for (Cursor<T> c (src); c.ok(); c++)
+       bottom().add (c);
 }
 
 template<class T>
@@ -24,26 +31,26 @@ List<T>::OK() const
     int i = size_;
     Link<T> *lp = top_;
     while (i--) {
-       assert(lp);
+       assert (lp);
        lp->OK();
        lp = lp->next();
     }
-    assert(!lp);
+    assert (!lp);
      i = size_;
     lp = bottom_;
     while (i--) {
-       assert(lp);
+       assert (lp);
        lp->OK();
        lp = lp->previous();
     }
-    assert(!lp);
+    assert (!lp);
 }
 
 template<class T>
 void
 List<T>::junk_links()
 {
-    Cursor<T> c(*this);
+    Cursor<T> c (*this);
     while (c.ok())
        c.del();
 }
@@ -68,17 +75,17 @@ List<T>::~List()
 */
 template<class T>
 void
-List<T>::add( T const & thing, Cursor<T> &after_me )
+List<T>::add (T const & thing, Cursor<T> &after_me)
 {
     if (!size_) {              // not much choice if list is empty
-        bottom_ = top_ = new Link<T>( thing );
+        bottom_ = top_ = new Link<T>( thing);
        if (!after_me.ok())
            after_me = bottom();
     } else {                   // add at aprioprate place
        if (!after_me.ok())
            after_me = bottom();
        Link<T> *p =after_me.pointer();
-       p->add(thing);
+       p->add (thing);
        if (p == bottom_)       // adjust bottom_ if necessary.
            bottom_ = p->next();
     }
@@ -88,10 +95,10 @@ List<T>::add( T const & thing, Cursor<T> &after_me )
 
 template<class T>
 void
-List<T>::insert( T const & thing, Cursor<T> &before_me )
+List<T>::insert (T const & thing, Cursor<T> &before_me)
 {
     if (!size_) {
-       bottom_ = top_ = new Link<T>( thing );
+       bottom_ = top_ = new Link<T>( thing);
        if (!before_me.ok())
            before_me = top();
        
@@ -101,7 +108,7 @@ List<T>::insert( T const & thing, Cursor<T> &before_me )
        
        Link<T> *p = before_me.pointer() ;
 
-       p->insert(thing);
+       p->insert (thing);
        if (p == top_)
            top_ = p->previous();
     }
@@ -112,11 +119,11 @@ List<T>::insert( T const & thing, Cursor<T> &before_me )
 
 template<class T>
 void
-List<T>::concatenate(List<T> const&s)
+List<T>::concatenate (List<T> const&s)
 {
-    Cursor<T> b(bottom());
-    for (Cursor<T> c(s); c.ok(); c++) {
-       b.add(c);
+    Cursor<T> b (bottom());
+    for (Cursor<T> c (s); c.ok(); c++) {
+       b.add (c);
        b++;
     }
 }
index a5971b268808ad12478f75ee1c3a7169503754d6..662cdddc895bf1068e5be133cd741e9187f0e560 100644 (file)
@@ -47,14 +47,14 @@ public:
       PRE
       i >=0, j>=0
     */
-    virtual void set_size(int rows, int cols) ;
+    virtual void set_size (int rows, int cols) ;
 
  
     /**set the size to square dimen. contents lost
       PRE
       i>=0
     */
-    virtual void set_size(int i) ;
+    virtual void set_size (int i) ;
      /**set the size to i.
 
       keep contents. If enlarged contents unspecified
@@ -63,7 +63,7 @@ public:
       i>=0, j>=0
     
     */
-    virtual void resize(int rows, int cols ) = 0;
+    virtual void resize (int rows, int cols) = 0;
  
   /**    
     set the size to square dimen. contents kept
@@ -72,7 +72,7 @@ public:
     PRE
     i>=0  
     */
-    virtual void resize(int i) = 0;
+    virtual void resize (int i) = 0;
   
     
     /**
@@ -82,13 +82,13 @@ public:
     in the 0-part of a sparse matrix.
     */
 
-    virtual Real& elem(int i,int j) = 0;
+    virtual Real& elem (int i,int j) = 0;
 
     /// access a element, no modify
-    virtual Real elem(int i, int j) const = 0;
+    virtual Real elem (int i, int j) const = 0;
 
-    virtual Array<Real> row(int i) const ;
-    virtual Array<Real> column(int j) const;
+    virtual Array<Real> row (int i) const ;
+    virtual Array<Real> column (int j) const;
 
     
     /**
@@ -97,7 +97,7 @@ public:
 
       0 <= k <= rows()
     */
-    virtual void insert_row(int k)=0;
+    virtual void insert_row (int k)=0;
 
     
       /**
@@ -106,8 +106,8 @@ public:
       PRE
       0 <= k < rows();
     */
-    virtual void delete_row(int k)=0;
-        virtual void delete_column(int k)=0;
+    virtual void delete_row (int k)=0;
+        virtual void delete_column (int k)=0;
     virtual ~Matrix_storage() { }
     virtual Matrix_storage *clone()const=0;
 
@@ -116,12 +116,12 @@ public:
     /**
       at end of matrix?. when doing loop
 
-      for(i=0; i<h; i++)
-        for(j=0; j<w; j++)
+      for (i=0; i<h; i++)
+        for (j=0; j<w; j++)
           ..
 
     */
-    virtual bool mult_ok(int i, int j) const=0;
+    virtual bool mult_ok (int i, int j) const=0;
 
     /**
       walk through matrix (regular multiply).
@@ -129,30 +129,30 @@ public:
       this will make sparse matrix implementation easy.
     
       PRE
-      mult_ok(i,j)
+      mult_ok (i,j)
      */
-    virtual void mult_next(int &i, int &j) const  = 0;
+    virtual void mult_next (int &i, int &j) const  = 0;
 
     /**
       valid matrix entry. return false if at end of row
     */
-    virtual bool trans_ok(int i, int j) const=0;
+    virtual bool trans_ok (int i, int j) const=0;
 
     /**
       walk through matrix (transposed multiply).
       Get next i (for column j)
     
       PRE
-      ver_ok(i,j)
+      ver_ok (i,j)
      */
 
-    virtual void trans_next(int &i, int &j) const  = 0;
+    virtual void trans_next (int &i, int &j) const  = 0;
     
     /// generate a "Full_storage" matrix    
-    static Matrix_storage *get_full(int n, int m);
-    static void set_band(Matrix_storage*&, int band);
-    static void set_full(Matrix_storage*&);
-    virtual bool try_right_multiply(Matrix_storage *dest, 
+    static Matrix_storage *get_full (int n, int m);
+    static void set_band (Matrix_storage*&, int band);
+    static void set_full (Matrix_storage*&);
+    virtual bool try_right_multiply (Matrix_storage *dest, 
                                    const Matrix_storage *fact)const ;
     /**
       RTTI.
@@ -160,13 +160,13 @@ public:
     DECLARE_MY_RUNTIME_TYPEINFO;
 
     
-    static Matrix_storage* get_product_result(Matrix_storage *left, 
+    static Matrix_storage* get_product_result (Matrix_storage *left, 
                                              Matrix_storage *right);
     
     
-    static void set_addition_result(
+    static void set_addition_result (
        Matrix_storage *&dat, Matrix_storage *right);
-    static void set_product_result(
+    static void set_product_result (
        Matrix_storage*&dest, Matrix_storage*left, Matrix_storage*right);
 };
 
index b6e084efdafb7fe8abe345abdd0003daec4960ef..c2545a072dd6aa99353a0166a4365b72ef3ed967 100644 (file)
@@ -28,12 +28,12 @@ class Matrix {
 
 protected:
     Matrix_storage *dat;
-    void set(Matrix_storage*);
-    Matrix(Matrix_storage*);
+    void set (Matrix_storage*);
+    Matrix (Matrix_storage*);
 public:
     void OK() const { dat->OK(); }
-    int cols() const { return dat->cols(); }
-    int rows() const { return dat->rows(); }
+    int cols() const { return dat->cols (); }
+    int rows() const { return dat->rows (); }
 
     /**  return the size of a matrix. 
       PRE
@@ -54,14 +54,14 @@ public:
     ~Matrix() { delete dat; }
 
     /// set entries to r 
-    void fill(Real r);
+    void fill (Real r);
 
     /// set diagonal to d
-    void set_diag(Real d);
+    void set_diag (Real d);
 
-    void set_diag(Vector d);
+    void set_diag (Vector d);
     /// set unit matrix
-    void unit() { set_diag(1.0); }
+    void unit() { set_diag (1.0); }
 
     void operator+=(Matrix const &m);
     void operator-=(Matrix const &m);    
@@ -72,48 +72,48 @@ public:
       add a row to the matrix before  row k
 
       PRE
-      v.dim() == cols()
+      v.dim() == cols ()
       0 <= k <= rows()
     */
-    void insert_row(Vector v,int k);
+    void insert_row (Vector v,int k);
     /** . 
       delete a row from this matrix.
 
       PRE
       0 <= k < rows();
     */
-    void delete_row(int k) { dat->delete_row(k); }
-    void delete_column(int k) { dat->delete_column(k); }
+    void delete_row (int k) { dat->delete_row (k); }
+    void delete_column (int k) { dat->delete_column (k); }
 
     /**
       square n matrix, initialised to null
     */
-    Matrix(int n);
+    Matrix (int n);
    
     /**
       n x m matrix, init to 0
     */
-    Matrix(int n, int m);
-    Matrix(Matrix const &m);
+    Matrix (int n, int m);
+    Matrix (Matrix const &m);
 
     /// dyadic product: v * w.transpose
-    Matrix(Vector v, Vector w);
+    Matrix (Vector v, Vector w);
     void operator=(Matrix const &m);
 
     /// access an element
-    Real operator()(int i,int j) const { return dat->elem(i,j); }
+    Real operator()(int i,int j) const { return dat->elem (i,j); }
 
     /// access an element
-    Real &operator()(int i, int j) { return dat->elem(i,j); }
+    Real &operator()(int i, int j) { return dat->elem (i,j); }
 
     /// Matrix multiply with vec (from right)
     Vector operator *(Vector const &v) const;
 
     /// set this to m1*m2.
-    void set_product(Matrix const &m1, Matrix const &m2);
+    void set_product (Matrix const &m1, Matrix const &m2);
 
 
-    Vector left_multiply(Vector const &) const;
+    Vector left_multiply (Vector const &) const;
     
     Matrix operator-() const;
     
@@ -128,24 +128,24 @@ public:
       PRE
       0 <= c1,c2 < cols()
     */
-    void swap_columns(int c1, int c2);
+    void swap_columns (int c1, int c2);
 
     /**  swap. 
       PRE
       0 <= c1,c2 < rows()
     */
-    void swap_rows(int c1, int c2);
+    void swap_rows (int c1, int c2);
 
 
-    Vector row(int ) const;
-    Vector col(int) const;
+    Vector row (int) const;
+    Vector col (int) const;
 
     operator String() const;
     void print() const;
 };
 
 inline Vector
-operator *(Vector &v, Matrix const & m) { return m.left_multiply(v); }
+operator *(Vector &v, Matrix const & m) { return m.left_multiply (v); }
 Matrix operator *(Matrix const & m1,Matrix const &m2);
 Matrix operator /(Matrix const &m1,Real a);
 inline Matrix operator -(Matrix m1,const Matrix m2)
index 61c69495c22ac1db08d7993db13bc943c75fc968..054288b809a81d5a6bf70dc33ed509eef5ffda61 100644 (file)
@@ -21,7 +21,7 @@
 template<class T>
 class Link_array : public Array<T*>
 {
-    static default_compare(T *const& p1, T  *const&p2) {
+    static default_compare (T *const& p1, T  *const&p2) {
        /* can't do p1 -p2, since T might be an incomplete type */
        if (p1 < p2)
            return -1 ;
@@ -30,48 +30,48 @@ class Link_array : public Array<T*>
        return 0;
     }
 public:
-    void substitute(T *old, T*new_l)
+    void substitute (T *old, T*new_l)
     {
        int i;
-       while ((i = find_i(old)) >=0) 
+       while ((i = find_i (old)) >=0) 
            if (new_l)
-               elem(i) =new_l;
+               elem (i) =new_l;
            else
-               del(i);
+               del (i);
     }
-    void unordered_substitute(T* old, T * new_l)
+    void unordered_substitute (T* old, T * new_l)
     {
        int i;
-       while ((i = find_i(old)) >=0) 
+       while ((i = find_i (old)) >=0) 
            if (new_l)
-               elem(i) =new_l;
+               elem (i) =new_l;
            else {
-               unordered_del( i );
+               unordered_del (i);
            }
     
     }
     void default_sort() {
-       sort(default_compare);
+       sort (default_compare);
     }
     void uniq() {
        Link_array<T> l_arr;
        for (int i=0; i < size(); i++) 
-           if (!i || elem(i-1) != elem(i))
-               l_arr.push(elem(i)); 
+           if (!i || elem (i-1) != elem (i))
+               l_arr.push (elem (i)); 
        *this = l_arr;
     }
 
     int find_i (T const * t) const {
        for (int i=0; i < size(); i++)
-           if (elem(i) == t)
+           if (elem (i) == t)
                return i;
        return -1;
     }
-    T *find_l(T const *t)const
+    T *find_l (T const *t)const
     {
-       int i = find_i(t);
+       int i = find_i (t);
        if (i >= 0)
-           return elem(i);
+           return elem (i);
        else
            return 0;
     }
index d41dc2ba1cc6bd89f1f2d545529c95f4a878cab9..81a8cb1038902a0d18ec8a495a866fe16d43b181 100644 (file)
@@ -27,11 +27,11 @@ class File_path : private Array<String>
 {
 public:
     /// locate a file in the search path
-    String find(String nm)const;
+    String find (String nm)const;
 
     /// add to end of path.
     Array<String>::push;
-    void add(String str) { push(str); }
+    void add (String str) { push (str); }
 };
 
 /** split a path into its components.
@@ -41,6 +41,6 @@ public:
   @return
   String &drive, String &dirs, String &filebase, String &extension
  */
-void split_path(String path, String &drive, String &dirs, String &filebase, String &extension);
+void split_path (String path, String &drive, String &dirs, String &filebase, String &extension);
 
 #endif
index 6c9ceff0d77207846dd9e28f3300f5953db085bd..5aa63d1d8f89cbf92d2dc383442f3c3d78d9ba60 100644 (file)
@@ -34,38 +34,38 @@ public:
        return p;
     }
     T remove_prev_p() {
-       assert( ok() );
+       assert (ok());
        (*this)--;
        return remove_p();
     }
     
-    Link_list<T> &list() { return (Link_list<T>&)Cursor<void*>::list(); }
+    Link_list<T> &list() { return (Link_list<T>&)Cursor<void*>::list (); }
     PCursor<T> operator++(int) { return Cursor<void*>::operator++(0);}
     PCursor<T> operator--(int) { return Cursor<void*>::operator--(0); }
     PCursor<T> operator+=(int i) { return Cursor<void*>::operator+=(i);}
     PCursor<T> operator-=(int i) { return Cursor<void*>::operator-=(i); }    
     PCursor<T> operator -(int no) const { return Cursor<void*>::operator-(no);}
     int operator -(PCursor<T> op) const { return Cursor<void*>::operator-(op);}
-    PCursor<T> operator +( int no) const {return Cursor<void*>::operator+(no);}    PCursor(const Link_list<T> & l) : Cursor<void*> (l) {}
+    PCursor<T> operator +( int no) const {return Cursor<void*>::operator+(no);}    PCursor (const Link_list<T> & l) : Cursor<void*> (l) {}
     PCursor() : Cursor<void*> () {}
-    PCursor( const Cursor<void*>& cursor ) : Cursor<void*>(cursor) { }
+    PCursor (const Cursor<void*>& cursor) : Cursor<void*>(cursor) { }
     void* vptr() const { return *((Cursor<void*> &) *this); }
 
     // should return T& ?
-    T ptr() const { return (T) vptr(); }
+    T ptr() const { return (T) vptr (); }
     T operator ->() const { return  ptr(); }
     operator T() { return ptr(); }
     T operator *() { return ptr(); }
-    void add(T const & p ) { Cursor<void*>::add((void*) p); }
-    void insert(T const & p ) { Cursor<void*>::insert((void*) p);}    
-    static int compare(PCursor<T> a,PCursor<T>b) {
-       return Cursor<void*>::compare(a,b);
+    void add (T const & p) { Cursor<void*>::add ((void*) p); }
+    void insert (T const & p) { Cursor<void*>::insert ((void*) p);}    
+    static int compare (PCursor<T> a,PCursor<T>b) {
+       return Cursor<void*>::compare (a,b);
     }
 };
 
 
 
 #include "compare.hh"
-template_instantiate_compare(PCursor<T>, PCursor<T>::compare, template<class T>);
+TEMPLATE_INSTANTIATE_COMPARE(PCursor<T>, PCursor<T>::compare, template<class T>);
 
 #endif
index ffb01bcfe8032d87aba37d6476401e055f1c1e70..e8de3d5da163c0616d23c72684f3862abdd25fa8 100644 (file)
@@ -4,12 +4,12 @@ template<class T>
 void
 PCursor<T>::junk()
 {
-#if !defined(NDEBUG) && defined(PARANOID)
+#if !defined (NDEBUG) && defined (PARANOID)
     list().OK();
 #endif
 
     delete ptr();
-#if !defined(NDEBUG)&&defined(PARANOID)
+#if !defined (NDEBUG)&&defined (PARANOID)
     thing() = 0;
     list().OK();
 #endif
index af27832f00cbd4d0e51f2b30bf7b2f9c5dec42e4..f052e47368e67db1a214e5591a2150f172dc020a 100644 (file)
@@ -28,8 +28,8 @@ class Link_list : public List<void *>
     PCursor<T> bottom() const {
        return PCursor<T> (List<void*>::bottom());
     }
-    PCursor<T> find(T) const;
-    void concatenate(Link_list<T> const &s) { List<void*>::concatenate(s); }
+    PCursor<T> find (T) const;
+    void concatenate (Link_list<T> const &s) { List<void*>::concatenate (s); }
 
     Link_list() {}
 };
@@ -55,19 +55,19 @@ class Pointer_list : public Link_list<T> {
     
 public:
     void junk();
-    Pointer_list(Pointer_list const &) { set_empty(); }
+    Pointer_list (Pointer_list const &) { set_empty(); }
     Pointer_list() { }
-    ~Pointer_list() { junk(); }
+    ~Pointer_list() { junk (); }
 };
 
 #define Pointer_list__copy(T, to, from, op)   \
   for (PCursor<T> _pc_(from); _pc_.ok(); _pc_++)\
-      to.bottom().add(_pc_->op)\
+      to.bottom().add (_pc_->op)\
   \
 
 
 template<class T>
-void PL_copy(Pointer_list<T*> &dst,Pointer_list<T*> const&src);
+void PL_copy (Pointer_list<T*> &dst,Pointer_list<T*> const&src);
 
 
 
index 80ce1ba198c58aa7c7d93d88f3ec43153cfbed93..f4a3713761c4325abadc53755a912dab260b07a3 100644 (file)
@@ -9,12 +9,12 @@
 
 template<class T>
 void
-PL_copy(Pointer_list<T*> &to, Pointer_list<T*> const&src)
+PL_copy (Pointer_list<T*> &to, Pointer_list<T*> const&src)
 {
-    for (PCursor<T*> pc(src); pc.ok(); pc++) {
+    for (PCursor<T*> pc (src); pc.ok(); pc++) {
        T *q = pc;
        T *p=new T(*q) ; 
-       to.bottom().add(p);
+       to.bottom().add (p);
     }
 }
 
index ba4a0f20b037af367921882b11bb42b784f28fc3..f7733d508d0e77b8bba75eadd00554cc9c7c3170 100644 (file)
@@ -1,15 +1,15 @@
 #include "plist.hh"
 
-#define PL_instantiate(a)  template class Link_list<a*>; \
+#define PL_INSTANTIATE(a) class Link_list<a*>; \
        template class PCursor<a*>;
-#define IPL_instantiate(a) PL_instantiate(a); \
+#define IPL_INSTANTIATE(a) PL_INSTANTIATE(a); \
        template class Pointer_list<a*>
        
 template<class T>
 void
 Pointer_list<T>::junk()
 {
-    PCursor<T> c( *this );
+    PCursor<T> c (*this);
     while (c.ok()) {
        delete c.remove_p();
     }
@@ -17,9 +17,9 @@ Pointer_list<T>::junk()
 
 template<class T>
 PCursor<T> 
-Link_list<T>::find(T what ) const
+Link_list<T>::find (T what) const
 {
-    PCursor<T> i(*this);
+    PCursor<T> i (*this);
     for (; i.ok(); i++)
        if (i.ptr() == what)
           break;
index 58f8e198b0537e4aae014ed1314972dee3723bbe..cc8097c3600da122acc9d0352741cf13a35e4416 100644 (file)
@@ -23,7 +23,7 @@ class P {
     /**
       Set contents to a copy of #t_l#
      */
-    void copy(T const*t_l);
+    void copy (T const*t_l);
     T* t_p;
 
     /**
@@ -63,7 +63,7 @@ public:
     //P(T *p) { t_p = p; }
     
     T *operator ->() { return t_p; }
-    operator T * () {  return t_p; }
+    operator T *() {  return t_p; }
     const T *operator ->() const { return t_p ; }
     T &operator *() { return *t_p; }
     T const  &operator *() const { return *t_p; }
index 80cadfd23a72efc7c9445a2512b7f1e5f2a733d0..c35f92c4970bcdef9eda19c1af0ab27745ea4a45 100644 (file)
@@ -21,7 +21,7 @@ P<T>::copy_p()const
 template<class T>
 inline
 void
-P<T>::copy(T const *l_C)
+P<T>::copy (T const *l_C)
 {
     t_p = l_C ? new T(*l_C) : 0;
 }
@@ -48,7 +48,7 @@ P<T> &
 P<T>::operator =(P const&s)
 {
     junk();
-    copy(s.t_p);
+    copy (s.t_p);
     return *this;
 }
 
@@ -61,7 +61,7 @@ P<T>::~P() {
 template<class T>
 inline
 void
-P<T>::set_p(T * np) 
+P<T>::set_p (T * np) 
 {
     if (np == t_p)
        return;
@@ -74,13 +74,13 @@ P<T>::set_p(T * np)
 template<class T>
 inline
 void
-P<T>::set_l(T const * l_C) 
+P<T>::set_l (T const * l_C) 
 {
     if (t_p == l_C)
        return;
     
     junk();
-    copy(l_C);
+    copy (l_C);
 }
 
 
index 846b870089b750910dfdabda6a25766594ecb76d..5f4a97fb4792c1d8bd660fbc822cfa310c403272 100644 (file)
@@ -21,7 +21,7 @@ struct PQueue_ent
 
 template<class K, class T>
 int compare (PQueue_ent<K,T> const &e1 , PQueue_ent<K,T> const &e2) {
-    return compare(e1.key , e2.key);
+    return compare (e1.key , e2.key);
 }
 
 /**
@@ -35,10 +35,10 @@ int compare (PQueue_ent<K,T> const &e1 , PQueue_ent<K,T> const &e2) {
 template<class T>
 class PQueue {
     Array<T> heap_arr_;
-    T &elt(int i) {
+    T &elt (int i) {
        return heap_arr_[i-1];
     }
-    T const&elt(int i) const {
+    T const&elt (int i) const {
        return heap_arr_[i-1];
     }
 public:
@@ -52,25 +52,25 @@ public:
     {
 #ifndef NDEBUG
        for (int i =2; i <= size(); i++)
-           assert(compare (elt(i/2), elt(i)) <= 0);
+           assert (compare (elt (i/2), elt (i)) <= 0);
 #endif
     }
-    T front () const { return elt(1); }
-    int size() const { return heap_arr_.size(); }
-    void insert(T v) {
-       heap_arr_.push(v);
+    T front() const { return elt (1); }
+    int size() const { return heap_arr_.size (); }
+    void insert (T v) {
+       heap_arr_.push (v);
        int i = heap_arr_.size();
        int j = i / 2 ;
        while (j) {
-           if (compare(elt(j), v) > 0) {
-               elt(i) = elt(j);        
+           if (compare (elt (j), v) > 0) {
+               elt (i) = elt (j);      
                i = j;
                j = i/2;
            } else {
                break;
            }
        }
-       elt(i) = v;
+       elt (i) = v;
        OK();
     }
     T max() const {
@@ -78,23 +78,23 @@ public:
        T max_t;
        return max_t;
     }
-    void delmin( ) {
-       assert(size());
+    void delmin() {
+       assert (size());
        T last = heap_arr_.top();
        
        int mini=2;
        int lasti=1;
 
-       while ( mini < size() ) {
-           if (compare(elt(mini + 1), elt(mini)) <0)
+       while ( mini < size()) {
+           if (compare (elt (mini + 1), elt (mini)) <0)
                mini++;
-           if (compare(last,elt(mini) ) < 0)
+           if (compare (last,elt (mini)) < 0)
                break;
-           elt(lasti) = elt(mini);
+           elt (lasti) = elt (mini);
            lasti = mini;
            mini *= 2;
        }
-       elt(lasti) = last;
+       elt (lasti) = last;
        heap_arr_.pop();
        OK();
     }
index 8b12766240da2791c3523ef346c8591a88fc4b0e..59949bd860cf483bc3d0adcb3bb933b17cddbb73 100644 (file)
 template<class K>
 struct Priorities :    Array<K>
 {
-    void insert(K k) 
+    void insert (K k) 
     {
        int i=0;
        for (; i < size(); i++) {
-           if(elem(i) == k)
+           if (elem (i) == k)
                return;
-           if (elem(i) > k )
+           if (elem (i) > k)
                break;
        }
-       Array<K>::insert(k, i);
+       Array<K>::insert (k, i);
     }
 };
 #endif // PRIORITIES_HH
index d3b68f726fba9d0c5c584721a55313c19a015b20..51426dd063588be8cb74f33f15813f345928f3b3 100644 (file)
@@ -12,6 +12,6 @@
 #include <Rational.h>
 
 /// print a Rational. To be called from the  debugger
-void print_rat(Rational const&);
+void print_rat (Rational const&);
 
 #endif // RATIONAL_HH
index 457b82f967f13c278c72aca8402b05c2fd715ca4..2e8b160a22d02e71f0cbdc8c07e8515d07ef273d 100644 (file)
@@ -20,9 +20,9 @@ typedef double Real;
 const Real infinity_f = HUGE_VAL;
 
 inline Real
-distance(Real x,Real y)
+distance (Real x,Real y)
 {
-    return abs(x-y);
+    return abs (x-y);
 }
 
 #endif
index 08897ce50c6c3549e539547a35059daf3e2a8be5..d081b56fe68a4d9107a48d53f3bd5bb06d869122 100644 (file)
 /// Perl -like scalar type.
 struct Scalar : public String {
     
-    Scalar(Real r) : String(r) {}
-    Scalar(int i) : String(i) {}
-    Scalar(char c) : String(c) {}
-    Scalar(char const *c) : String(c) {}    
-    Scalar(String s ):String(s) {}
-    Scalar(Rational );
+    Scalar (Real r) : String (r) {}
+    Scalar (int i) : String (i) {}
+    Scalar (char c) : String (c) {}
+    Scalar (char const *c) : String (c) {}    
+    Scalar (String s):String (s) {}
+    Scalar (Rational);
     operator Rational();
     Scalar() {}
     bool isnum();
index f83899a2e1c24c66fd29a3a03105e4133720fc86..13c9f41ca77f35037dc3d00c90aa095be1453336 100644 (file)
@@ -7,41 +7,34 @@
 #ifndef STRING_CONVERT_HH
 #define STRING_CONVERT_HH
 
-#include "string.hh"
+#include "fproto.hh"
 
-/*
-  ///a class which only has functions.
-//#define functor class // cute. docxx fucks up
-*/
 
-/**
-       The functor String_convert handles all conversions to/from String (some 
-       time, anyway).
-       The class is quite empty from data view.
-  */
+/** The functor String_convert handles all conversions to/from String
+       (some time, anyway).  The class is quite empty from data view.  */
 class String_convert {
-    static int hex2bin_i( String hex_str, String& bin_str_r );
-    static int hex2nibble_i( Byte byte );
-    static Byte nibble2hex_byte( Byte byte );
+    static int hex2bin_i (String hex_str, String& bin_str_r);
+    static int hex2nibble_i (Byte byte);
+    static Byte nibble2hex_byte (Byte byte);
 public:
-    static String bin2dec_str( String bin_str );
-    static String bin2hex_str( String bin_str );
-    static String dec2bin_str( String str );
-    static int bin2_i( String str );
-    static String char_str(char c, int n);
-    static int dec2_i( String dec_str );
-    static double dec2_f( String dec_str );
-    static String double_str(double f, char const* fmt=0);
-    static int hex2_i( String str );
-    static unsigned hex2_u( String str );
-    static String hex2bin_str( String str );
-    static String int_str(int i, char const *fmt=0  );
-    static String i2hex_str( int i, int length_i, char ch );
-    static String u2hex_str( unsigned u, int length_i, char ch );
-    static String i2dec_str( int i, int length_i, char ch );
-    static String rational_str(Rational);
-    static String pointer_str(void const *);
-    static String i64_str(I64, char const * fmt = 0);
+    static String bin2dec_str (String bin_str);
+    static String bin2hex_str (String bin_str);
+    static String dec2bin_str (String str);
+    static int bin2_i (String str);
+    static String char_str (char c, int n);
+    static int dec2_i (String dec_str);
+    static double dec2_f (String dec_str);
+    static String double_str (double f, char const* fmt=0);
+    static int hex2_i (String str);
+    static unsigned hex2_u (String str);
+    static String hex2bin_str (String str);
+    static String int_str (int i, char const *fmt=0 );
+    static String i2hex_str (int i, int length_i, char ch);
+    static String u2hex_str (unsigned u, int length_i, char ch);
+    static String i2dec_str (int i, int length_i, char ch);
+    static String rational_str (Rational);
+    static String pointer_str (void const *);
+    static String i64_str (I64, char const * fmt = 0);
 };
 
 #endif // __STRING_CONVERT_HH //
index c79a6621baf1a2926fedcfcdc159eb3e0cf75776..d4440b1c26277249658caaa544cbafd9ccfad168 100644 (file)
@@ -28,7 +28,7 @@ friend class String_handle;
     String_data();
 
     /// init from src. Conservative allocation.
-    String_data(String_data const &src); 
+    String_data (String_data const &src); 
     
     ~String_data();
 
@@ -36,13 +36,13 @@ friend class String_handle;
       @param j, maximum stringlength_i_.    
       contents thrown away.
     */
-    void setmax(int j);
+    void setmax (int j);
     
     /** POST: maxlen >= j.
       @param j, maximum stringlength_i_.
       contents are kept if it grows.
       */
-    void remax(int j);
+    void remax (int j);
 
     /// check if writeable.
     void OKW();
@@ -54,14 +54,14 @@ friend class String_handle;
     void tighten();
 
     // assignment.
-    void set( Byte const* byte_C, int length_i );
+    void set (Byte const* byte_C, int length_i);
 
-    void set( char const* ch_C );
+    void set (char const* ch_C);
     
     /// concatenation.
-    void append( Byte const* byte_C, int length_i );
+    void append (Byte const* byte_C, int length_i);
 
-    void operator += ( char const* ch_C );
+    void operator += ( char const* ch_C);
 
     char const* ch_C() const; 
 
@@ -72,7 +72,7 @@ friend class String_handle;
     // idem, non const
     Byte* byte_l();
 
-    void trunc(int j);
+    void trunc (int j);
 
     /** access element. not really safe. Can alter length_i_ without
       #String_data# knowing it.  */
index 5a3bb390efaee9344db51ea725817217020e4c28..2a285db24f8fff7e762441836eb5a7cf066e8a57 100644 (file)
@@ -26,9 +26,9 @@ String_data::OKW()
 INLINE void 
 String_data::OK() 
 {
-    assert(maxlen >= length_i_);
-    assert(bool(data_byte_p_));
-    assert(references >= 1);
+    assert (maxlen >= length_i_);
+    assert (bool (data_byte_p_));
+    assert (references >= 1);
 }
 
 
@@ -43,23 +43,23 @@ String_data::String_data()
 }
 
 INLINE
-String_data::String_data(String_data const &src) 
+String_data::String_data (String_data const &src) 
 {
     references=0;      
     maxlen = length_i_ = src.length_i_;                
     data_byte_p_ = new Byte[maxlen+1]; // should calc GNU 8byte overhead.      
-    memcpy( data_byte_p_, src.data_byte_p_, length_i_ + 1 );   
+    memcpy (data_byte_p_, src.data_byte_p_, length_i_ + 1);    
 }
 
 INLINE
 String_data::~String_data() 
 {
-    assert(references == 0);
+    assert (references == 0);
     delete[] data_byte_p_;
 }
 
 INLINE void 
-String_data::setmax(int j) 
+String_data::setmax (int j) 
 {      
     OKW();
     if (j > maxlen) {
@@ -82,12 +82,12 @@ String_data::setmax(int j)
        define change authority
 */
 INLINE void 
-String_data::remax(int j) 
+String_data::remax (int j) 
 {
     OKW();
     if (j > maxlen) {
        Byte *p = new Byte[j + 1];      
-       memcpy( p, data_byte_p_, ( maxlen <? length_i_ ) + 1 );     
+       memcpy (p, data_byte_p_, ( maxlen <? length_i_) + 1 );      
        maxlen = j;
        delete[] data_byte_p_;
        data_byte_p_ = p;
@@ -99,51 +99,51 @@ String_data::tighten()
 { // should be dec'd const
     maxlen = length_i_;
     Byte *p = new Byte[maxlen + 1];        
-    memcpy( p, data_byte_p_, length_i_ + 1 );      
+    memcpy (p, data_byte_p_, length_i_ + 1);       
     delete[] data_byte_p_;
     data_byte_p_ = p;          
 }
 // assignment.
 INLINE void 
-String_data::set( Byte const* byte_C, int length_i 
+String_data::set (Byte const* byte_C, int length_i
 {
     OKW();
 
-    assertbyte_C && byte_C != data_byte_p_);
+    assert (byte_C && byte_C != data_byte_p_);
 
     length_i_ = length_i;
-    remax( length_i_ );     // copies too
-    memcpy( data_byte_p_, byte_C, length_i_ );
+    remax (length_i_);     // copies too
+    memcpy (data_byte_p_, byte_C, length_i_);
     data_byte_p_[ length_i_ ] = 0;
 }
 
 INLINE
 void 
-String_data::set( char const* ch_C 
+String_data::set (char const* ch_C
 {
-    set( (Byte const*)ch_C, strlen( ch_C ) );
+    set ((Byte const*)ch_C, strlen (ch_C) );
 }
 
 
 /// concatenation.
 INLINE void 
-String_data::append( Byte const* byte_C, int length_i 
+String_data::append (Byte const* byte_C, int length_i
 {
     OK();
     OKW();
     int old_i = length_i_;
     
     length_i_ += length_i;
-    remax( length_i_ );
-    memcpy( data_byte_p_ + old_i, byte_C, length_i );  
+    remax (length_i_);
+    memcpy (data_byte_p_ + old_i, byte_C, length_i);   
     data_byte_p_[ length_i_ ] = 0;
 }
 
 INLINE
 void 
-String_data::operator += ( char const* ch_C 
+String_data::operator += ( char const* ch_C) 
 {
-    append( (Byte const*)ch_C, strlen( ch_C ) );
+    append ((Byte const*)ch_C, strlen (ch_C) );
 }
 
 
@@ -175,10 +175,10 @@ String_data::byte_l()
 
 INLINE
 void 
-String_data::trunc(int j) 
+String_data::trunc (int j) 
 {
     OKW(); 
-    assert(j >= 0 && j <= length_i_);
+    assert (j >= 0 && j <= length_i_);
     data_byte_p_[j] = 0;
     length_i_ = j;
 }
@@ -186,21 +186,21 @@ String_data::trunc(int j)
 INLINE bool
 String_data::is_binary_bo()const
 {
-//    return !memchr(data_byte_p_, length_i_, 0);
-    return ( (int)strlen( (char const*)data_byte_p_ ) != length_i_ );
+//    return !memchr (data_byte_p_, length_i_, 0);
+    return ( (int)strlen ((char const*)data_byte_p_) != length_i_ );
 }
 
 INLINE Byte&
 String_data::operator [](int j) 
 {
-    assert(j >= 0 && j <= length_i_);
+    assert (j >= 0 && j <= length_i_);
     return data_byte_p_[j] ; 
 }
 
 INLINE Byte 
 String_data::operator [](int j) const 
 {
-    assert(j >= 0 && j <= length_i_);
+    assert (j >= 0 && j <= length_i_);
     return data_byte_p_[j]; 
 }
 
index a18fcc28ed48f94d54f7fe1647dc04df95c8435a..c6e73ada103bb000eacfe76e6f1847daf7c80a70 100644 (file)
@@ -26,7 +26,7 @@ class String_handle {
     void down();
 
     /// increase ref count
-    void up(String_data *d);
+    void up (String_data *d);
     
     /** make sure data has only one reference.      
        POST: data->references == 1
@@ -36,7 +36,7 @@ class String_handle {
 public:
     String_handle();
     ~String_handle();
-    String_handle(String_handle const & src);
+    String_handle (String_handle const & src);
 
     Byte const* byte_C() const;
     char const* ch_C() const;
@@ -51,10 +51,10 @@ public:
        don't use this for loops. Use byte_C()
        */
     Byte &operator[](int j);
-    void append( Byte const* byte_C, int length_i );
-    void set( Byte const* byte_C, int length_i );
+    void append (Byte const* byte_C, int length_i);
+    void set (Byte const* byte_C, int length_i);
     void operator = (char const *p);
-    void trunc(int j);
+    void trunc (int j);
     int length_i() const;
 };
 
index 63b2ab379d20d4caf5b84820384363d7e7b7a7fe..e398e0a4ed575cd4f70f907fad4d162c8d7ebde5 100644 (file)
@@ -24,7 +24,7 @@ String_handle::down()
 
 /// increase ref count
 INLINE void 
-String_handle::up(String_data *d) 
+String_handle::up (String_data *d) 
 { 
     data=d; data->references ++; 
 }
@@ -33,16 +33,16 @@ INLINE void
 String_handle::copy() 
 {
     if (data->references !=1){
-       String_data *newdata = new String_data(*data);
+       String_data *newdata = new String_data (*data);
        down();
-       up(newdata);
+       up (newdata);
     }
 }
 
 INLINE
 String_handle::String_handle() 
 {
-    up(new String_data);
+    up (new String_data);
 }
 
 INLINE
@@ -52,9 +52,9 @@ String_handle::~String_handle()
 }    
 
 INLINE
-String_handle::String_handle(String_handle const & src) 
+String_handle::String_handle (String_handle const & src) 
 {      
-    up(src.data);
+    up (src.data);
 }
 
 INLINE Byte* 
@@ -89,7 +89,7 @@ String_handle::operator =(String_handle const &src)
     if (this == &src)
        return;
     down();
-    up(src.data);
+    up (src.data);
 }
 
 INLINE void 
@@ -116,30 +116,30 @@ String_handle::operator[](int j)
 }
 
 INLINE void 
-String_handle::append( Byte const* byte_C, int length_i 
+String_handle::append (Byte const* byte_C, int length_i
 {
     copy();
-    data->append( byte_C, length_i );
+    data->append (byte_C, length_i);
 }
                           
 INLINE void 
-String_handle::set( Byte const* byte_C, int length_i 
+String_handle::set (Byte const* byte_C, int length_i
 {
     copy();
-    data->set( byte_C, length_i );
+    data->set (byte_C, length_i);
 }
                           
 INLINE void 
 String_handle::operator = (char const *p) 
 {
     copy();
-    data->set( p );
+    data->set (p);
 }
                           
 INLINE void 
-String_handle::trunc(int j) 
+String_handle::trunc (int j) 
 {
-    copy(); data->trunc(j); 
+    copy(); data->trunc (j); 
 }
 
 INLINE int 
index 0e0b9fb4dd05d08baf0f5bb910e273867f8effad..3d8981faf0a99826441444d3f691fa6a2f778357 100644 (file)
@@ -62,19 +62,19 @@ public:
     /** init to empty string. This is needed because other
       constructors are provided.*/
     String() {  }                  
-    String(Rational);
+    String (Rational);
 
     /// String s = "abc";
-    String( char const* source ); 
-    String( Byte const* byte_C, int length_i ); 
+    String (char const* source); 
+    String (Byte const* byte_C, int length_i); 
     
     /// "ccccc"
-    String( char c, int n = 1 );
+    String (char c, int n = 1);
 
-    Stringint i , char const *fmt=0);
+    String (int i , char const *fmt=0);
     String ( double f , char const* fmt =0);
     /// 'true' or 'false'
-    String(bool );
+    String (bool);
 
     ///  return a "new"-ed copy of contents
     Byte* copy_byte_p() const; //  return a "new"-ed copy of contents
@@ -85,24 +85,24 @@ public:
     Byte* byte_l();
 
     /// deprecated; use ch_C()
-    operator char const* () const { return ch_C(); }
+    operator char const*() const { return ch_C(); }
     
-    String &operator =( String const & source );
+    String &operator =( String const & source);
 
     /// concatenate s
     void operator += (char const* s) { strh_ += s; }
     void operator += (String s);
 
-    void append(String);
-    void prepend(String);
+    void append (String);
+    void prepend (String);
 
-    char operator []( int n ) const { return strh_[n]; }
+    char operator []( int n) const { return strh_[n]; }
 
     /// return n leftmost chars
-    String left_str( int n ) const;
+    String left_str (int n) const;
 
     /// return n rightmost chars
-    String right_str( int n ) const;
+    String right_str (int n) const;
 
     /// return uppercase of *this
     String upper_str() const;
@@ -115,28 +115,28 @@ public:
 
 
     /// return a piece starting at index_i (first char = index_i 0), length n
-    String mid_str(int index_i, int n ) const;
+    String mid_str (int index_i, int n) const;
 
     /// cut out a middle piece, return remainder
-    String nomid_str(int index_i, int n ) const;
+    String nomid_str (int index_i, int n) const;
 
     /// signed comparison,  analogous to memcmp;
-    static int compare_i(String const & s1,const  String& s2);
+    static int compare_i (String const & s1,const  String& s2);
        
     /// index of rightmost c 
-    int index_last_ichar c) const;
+    int index_last_i (char c) const;
 
     /// index of rightmost element of string 
-    int index_last_i( char const* string ) const;
+    int index_last_i (char const* string) const;
 
-    int index_i(char c ) const;
-    int index_i(String ) const;
-    int index_any_i(String ) const;
+    int index_i (char c) const;
+    int index_i (String) const;
+    int index_any_i (String) const;
 
     void to_upper();
     void to_lower();
     /// provide Stream output
-    void print_on(ostream& os) const;
+    void print_on (ostream& os) const;
 
     /// the length of the string
     int length_i() const;
@@ -155,21 +155,21 @@ public:
 
 #include "compare.hh"
 
-instantiate_compare(String const &, String::compare_i);
+INSTANTIATE_COMPARE(String const &, String::compare_i);
 
 // because char const* also has an operator ==, this is for safety:
 inline bool operator==(String s1, char const* s2){
-    return s1 == String(s2);
+    return s1 == String (s2);
 }
 inline bool operator==(char const* s1, String s2)
 {
-    return String(s1)==s2;
+    return String (s1)==s2;
 }
-inline bool operator!=(String s1, char const* s2  ) {
-    return s1!=String(s2);
+inline bool operator!=(String s1, char const* s2 ) {
+    return s1!=String (s2);
 }
 inline bool operator!=(char const* s1,String s2) {
-    return String(s2) !=s1;
+    return String (s2) !=s1;
 }
 
 
@@ -181,13 +181,10 @@ operator  + (String s1, String  s2)
 }
 
 inline ostream &
-operator << ( ostream& os, String d )
+operator << ( ostream& os, String d)
 {
-    d.print_on(os);
+    d.print_on (os);
     return os;
 }
 
-
-// String quoteString(String message, String quote);
-
 #endif
index 3535a84f8f42de1f0b1ffefe45e93017702fe232..ab3e9c82b515ef24250ce250a73c2278fb83dd87 100644 (file)
@@ -14,14 +14,14 @@ public:
     Text_record() { } // needed because of other ctor
 
     /// report an error in this line.
-    message(String s) {
+    message (String s) {
        cerr << '\n'<< filename << ": "<< line_no << s << "\n";
     }         
     String operator[](int j) {
        return Array<String>::operator[](j);
     }
 
-    Text_record(Array<String> s, String fn, int j) : Array<String>(s) { 
+    Text_record (Array<String> s, String fn, int j) : Array<String>(s) { 
        filename = fn; line_no = j; 
     }
     Array<String>::size;           
@@ -38,7 +38,7 @@ public:
     /// get a line with records
     Text_record    get_record();
 
-    Text_db(String fn):Data_file(fn) { }
+    Text_db (String fn):Data_file (fn) { }
     Data_file::error;
     bool eof();
 
index 437f8698c7f8262cd00e29cf46c99e4747b8faff..c921ebc2d35b4d603ab00f6d03284c34dc9baf61 100644 (file)
@@ -26,17 +26,17 @@ class Text_stream
     String name;
     
  public:
-    Text_stream(String fn);
+    Text_stream (String fn);
     String get_name() { return name; }
     bool eof() {
-       return feof(f);
+       return feof (f);
     }
     bool eol() {
        return (peek() == '\n');
     }
     char peek() {
        char c = get();
-       unget(c);
+       unget (c);
        return c;
     }
     int line(){
@@ -47,7 +47,7 @@ class Text_stream
        char c;
        
        if (pushback.empty())
-           c = getc(f);        
+           c = getc (f);       
        else 
            c = pushback.pop();
 
@@ -55,20 +55,20 @@ class Text_stream
            line_no++;
        return c;       
     }
-    void unget(char c) {
+    void unget (char c) {
        if (c =='\n')
            line_no--;
-       pushback.push(c);
+       pushback.push (c);
     }
-    ~Text_stream (){
+    ~Text_stream(){
        if (!eof()) 
            cerr <<__FUNCTION__<< ": closing unended file";
     
-       fclose(f);
+       fclose (f);
     }
 
     /// GNU format message.
-    void message(String s); 
+    void message (String s); 
 };
 
 #endif
index fbaa51e7318f57e186962f209d48cc918eacf656..94a3e9f667bc73d22f3b62615adf6d451f7777ec 100644 (file)
@@ -7,16 +7,16 @@
     Union find, a standard algorithm:
 
     Union_find represents an undirected graph of N points. You can
-    connect two points using #connect()#. #find(i)# finds a uniquely
+    connect two points using #connect()#. #find (i)# finds a uniquely
     determined representant of the equivalence class of points
     connected to #i#.
     
     */
 struct Union_find {    
-    void connect(int i, int j);
-    int find(int i);
-    bool equiv(int i, int j) { return find(i) == find(j); }
-    Union_find(int sz);
+    void connect (int i, int j);
+    int find (int i);
+    bool equiv (int i, int j) { return find (i) == find (j); }
+    Union_find (int sz);
 
 private:
     Array<int> classes;
index 6f0e18aedca6dfc2c9c300291e73e5e822b1100b..60b72d299a2c5527666c081d29873a282f5b65f1 100644 (file)
@@ -10,7 +10,7 @@
 
 /// copy a bare (C-)array from #src# to #dest# sized  #count#
 template<class T>
-inline void arrcpy(T*dest, T*src, int count) {
+inline void arrcpy (T*dest, T*src, int count) {
     for (int i=0; i < count ; i++)
        *dest++ = *src++;
 }
@@ -42,10 +42,10 @@ protected:
     T *thearray;
 
     /// stretch or shrink  array.
-    void remax(int newmax) {    
+    void remax (int newmax) {   
        T* newarr = new T[newmax];
        size_ = (newmax < size_) ? newmax : size_;
-       arrcpy(newarr, thearray, size_);
+       arrcpy (newarr, thearray, size_);
        
        delete[] thearray;
        thearray = newarr;
@@ -56,8 +56,8 @@ protected:
 public:
     /// check invariants
     void OK() const {
-       assert(max >= size_ && size_ >=0);
-       if (max) assert(thearray);
+       assert (max >= size_ && size_ >=0);
+       if (max) assert (thearray);
     }
     /** report the size_.
       @see {setsize_}
@@ -73,8 +73,8 @@ public:
     /** set the size_ to #s#.
       POST: size() == s.
     Warning: contents are unspecified */
-    void set_size(int s) {
-       if (s >= max) remax(s);
+    void set_size (int s) {
+       if (s >= max) remax (s);
        size_ = s;    
     }
     
@@ -83,44 +83,44 @@ public:
     /// return a  "new"ed copy of array 
     T* copy_array() const {
        T* Tarray = new T[size_];
-       arrcpy(Tarray, thearray, size_);
+       arrcpy (Tarray, thearray, size_);
        return Tarray;
     }
     // depracated
-    operator T* () const {
+    operator T*() const {
        return copy_array();    
     }
     void operator=(Array const & src) {
        set_size (src.size_);
-       arrcpy(thearray,src.thearray, size_);
+       arrcpy (thearray,src.thearray, size_);
     }
-    Array(Array const & src) {
+    Array (Array const & src) {
        thearray = src.copy_array();
        max = size_ = src.size_;        
     }
 
     /// tighten array size_.
-    void precompute () { remax(size_); }
+    void precompute() { remax (size_); }
     
 
     /// access element
     T &operator[] (int i)  {
-       return elem(i);
+       return elem (i);
     }
     /// access element
     T const & operator[] (int i) const {
-       return elem(i);
+       return elem (i);
     }
     /// access element
-    T &elemint i) const {
-       assert(i >=0&&i<size_);
+    T &elem (int i) const {
+       assert (i >=0&&i<size_);
        return ((T*)thearray)[i];       
     }
 
     /// add to the end of array
-    void push(T x) {
+    void push (T x) {
        if (size_ == max)
-           remax(2*max + 1);
+           remax (2*max + 1);
 
        // T::operator=(T &) is called here. Safe to use with automatic
        // vars
@@ -128,13 +128,13 @@ public:
     }
     /// remove and return last entry 
     T pop() {
-       assert(!empty());
-       T l = top(0);
-       set_size(size()-1);
+       assert (!empty());
+       T l = top (0);
+       set_size (size()-1);
        return l;
     }
     /// access last entry
-    T& top(int j=0) {
+    T& top (int j=0) {
        return (*this)[size_-j-1];
     }
      /// return last entry
@@ -144,14 +144,14 @@ public:
 
 
     void swap (int i,int j) {
-       T t((*this)[i]);
+       T t ((*this)[i]);
        (*this)[i]=(*this)[j];
        (*this)[j]=t;
     }
     bool empty() const { return !size_; }
-    void insert(T k, int j) {
-       assert(j >=0 && j<= size_);
-       set_size(size_+1);
+    void insert (T k, int j) {
+       assert (j >=0 && j<= size_);
+       set_size (size_+1);
        for (int i=size_-1; i > j; i--)
            thearray[i] = thearray[i-1];
        thearray[j] = k;
@@ -159,56 +159,56 @@ public:
     /**
       remove  i-th element, and return it.
      */
-    T get(int i) {
-       T t = elem(i);
+    T get (int i) {
+       T t = elem (i);
        del (i);
        return t;
     }
-    void unordered_del(int i)
+    void unordered_del (int i)
     {
-       elem(i) = top();
-       set_size(size() -1);
+       elem (i) = top();
+       set_size (size() -1);
     }
-    void del(int i) {
-       assert(i >=0&& i < size_);
-       arrcpy(thearray+i, thearray+i+1, size_-i-1);
+    void del (int i) {
+       assert (i >=0&& i < size_);
+       arrcpy (thearray+i, thearray+i+1, size_-i-1);
        size_--;
     }
     // quicksort.
     void sort (int (*compare)( T const&,T const&),
-              int lower = -1, int upper = -1 ) {
+              int lower = -1, int upper = -1) {
        if (lower < 0) {
            lower = 0 ;
            upper = size()-1;
        }
        if (lower >= upper)
            return;
-       swap(lower, (lower+upper)/2);
+       swap (lower, (lower+upper)/2);
        int last = lower;
        for (int i= lower +1; i <= upper; i++)
-           if (compare(thearray[i], thearray[lower]) < 0 )
-               swap++last,i);
-       swap(lower, last);
-       sort(compare, lower, last-1);
-       sort(compare, last+1, upper);
+           if (compare (thearray[i], thearray[lower]) < 0)
+               swap (++last,i);
+       swap (lower, last);
+       sort (compare, lower, last-1);
+       sort (compare, last+1, upper);
     }
-    void concat(Array<T> const &src) {
+    void concat (Array<T> const &src) {
        int s = size_;
-       set_size(size_ + src.size_);
-       arrcpy(thearray+s,src.thearray, src.size_);     
+       set_size (size_ + src.size_);
+       arrcpy (thearray+s,src.thearray, src.size_);    
     }
-    Array<T> slice(int lower, int upper) {
-       assert(lower >= 0 && lower <=upper&& upper <= size_);
+    Array<T> slice (int lower, int upper) {
+       assert (lower >= 0 && lower <=upper&& upper <= size_);
        Array<T> r;
        int s =upper-lower;
-       r.set_size(s);
-       arrcpy(r.thearray, thearray  + lower, s);
+       r.set_size (s);
+       arrcpy (r.thearray, thearray  + lower, s);
        return r;
     }
     void reverse() {
        int h = size_/2;
        for (int i =0,j = size_-1; i < h; i++,j--)
-           swap(i,j);
+           swap (i,j);
     }
 };
 
index 7f7573534498fdd125edccaf5a2dcaa51ece4187..2d2772336b10eb7d25e24e6a45be2cca4ce81800 100644 (file)
@@ -15,31 +15,31 @@ class Vector  {
     Array<Real> dat;
 public:
     void OK() const { dat.OK();}
-    int dim() const { return dat.size(); }
+    int dim() const { return dat.size (); }
     Vector() { }
-    Vector(Array<Real> d );
-    Vector(Vector const &n);
-    Vector(int n) {
-       dat.set_size(n);
-       fill(0);
+    Vector (Array<Real> d);
+    Vector (Vector const &n);
+    Vector (int n) {
+       dat.set_size (n);
+       fill (0);
     }
-    void set_dim(int i)
+    void set_dim (int i)
     {
-       dat.set_size(i);
+       dat.set_size (i);
     }
        
-    void insert(Real v, int i) {
-       dat.insert(v,i);
+    void insert (Real v, int i) {
+       dat.insert (v,i);
     }
-    void del(int i) { dat.del(i); }
+    void del (int i) { dat.del (i); }
     operator String() const;
-    void fill(Real r) {
+    void fill (Real r) {
        for (int i=0; i < dim(); i++)
            dat[i] =r;
     }
 
     void operator +=(Vector v) {
-       assert(v.dim() == dim());
+       assert (v.dim() == dim ());
        for (int i=0; i < dim(); i++)
            dat[i] += v.dat[i];
     }
@@ -54,32 +54,32 @@ public:
     }
 
     void operator -=(Vector v) {
-       assert(v.dim() == dim());
+       assert (v.dim() == dim ());
        for (int i=0; i < dim(); i++)
-           dat[i] -= v(i);     
+           dat[i] -= v (i);    
     }
 
     Real &operator()(int i) { return dat[i]; }
     Real operator()(int i) const { return dat[i]; }
-    Real elem(int i) { return dat[i]; }
+    Real elem (int i) { return dat[i]; }
     Real operator *(Vector v) const {
        Real ip=0;
-       assert(v.dim() == dim());
+       assert (v.dim() == dim ());
        for (int i=0; i < dim(); i++)
-           ip += dat[i] *v(i);
+           ip += dat[i] *v (i);
        return ip;
     }
     Vector operator-() const;
     Real norm() {
-       return sqrt(norm_sq() );
+       return sqrt (norm_sq());
     }
     Real norm_sq() {
        return ((*this) * (*this));
     }
-    operator Array<Real> () { return dat; }
+    operator Array<Real>() { return dat; }
     void print() const;
     /// set to j-th element of unit-base
-    void set_unit(int j) ;
+    void set_unit (int j) ;
 };
 
 inline Vector
index ceb12694e3ca0a8c832c8c6e10e504ab8045fd3f..e56496605d199bf526f0b037d53e9f87a920ac49 100644 (file)
 
 /** a macro to declare the classes name as a static and virtual function.
   The static_name() can *not* be inlined (this might have the effect that 
-  s->name() != S::static_name(). Overlapping strings need not be merged in C++
+  s->name() != S::static_name (). Overlapping strings need not be merged in C++
  */
 #define DECLARE_MY_RUNTIME_TYPEINFO    \
 static char const *static_name();\
-static bool static_is_type_b(const char*s);\
-virtual bool is_type_b(const char *s)const { return static_is_type_b(s); } \
-virtual char const *name() const{ return static_name(); } \
+static bool static_is_type_b (const char*s);\
+virtual bool is_type_b (const char *s)const { return static_is_type_b (s); } \
+virtual char const *name() const{ return static_name (); } \
 int a_stupid_nonexistent_function_to_allow_the_semicolon_come_out()
 
 #define IMPLEMENT_STATIC_NAME(c)\
@@ -38,22 +38,22 @@ int a_stupid_nonexistent_function_to_allow_the_semicolon_come_out()
     
 #define IMPLEMENT_IS_TYPE_B(D)                                                            \
     IMPLEMENT_STATIC_NAME(D)\
-  bool D::static_is_type_b(const char *s)                                         \
+  bool D::static_is_type_b (const char *s)                                        \
 {                                                                                 \
     return s == static_name();                                                    \
 }                                                                                 
                                                                                   
 #define IMPLEMENT_IS_TYPE_B1(D,B)                                                 \
        IMPLEMENT_STATIC_NAME(D)\
-  bool D::static_is_type_b(const char *s)                                                 \
+  bool D::static_is_type_b (const char *s)                                                \
 {                                                                                 \
-    return s == static_name() || B::static_is_type_b(s);                                  \
+    return s == static_name() || B::static_is_type_b (s);                                 \
 }                                                                                 
 #define IMPLEMENT_IS_TYPE_B2(D, BA, BB)                                                   \
        IMPLEMENT_STATIC_NAME(D)\
-  bool D::static_is_type_b(const char *s)                                                 \
+  bool D::static_is_type_b (const char *s)                                                \
 {                                                                                 \
-    return s == static_name() || BA::static_is_type_b(s) || BB::static_is_type_b(s); \
+    return s == static_name() || BA::static_is_type_b (s) || BB::static_is_type_b (s); \
 }
 
 #endif 
index 12152d6227a9042f43071fa1217c775e9f547b6c..a50b10a464f8559d17345942908a9c205e9511a5 100644 (file)
@@ -10,7 +10,7 @@
 #include "real.hh"
 #include "interval.tcc"
 
-Interval__instantiate(Real);
+template INTERVAL__INSTANTIATE(Real);
 
 Real
 Interval_t<Real>::infinity() 
index afffc2f4b2e2eb7a6b0b276f1e889c7a098d36c1..7ab4eb122b67299b09ef66edab0edb631bed641f 100644 (file)
@@ -13,8 +13,8 @@ Getopt_long::argument_to_i()
 {
     long l;
     if (!optional_argument_ch_C_ 
-       || sscanf(optional_argument_ch_C_, "%ld", &l) != 1)
-       report(E_ILLEGALARG);
+       || sscanf (optional_argument_ch_C_, "%ld", &l) != 1)
+       report (E_ILLEGALARG);
     
     return l;
 }
@@ -23,23 +23,23 @@ const Long_option_init *
 Getopt_long::parselong()
 {
     char const *optnm = arg_value_ch_a_a_[array_index_i_] + 2 ;
-    assert(*optnm);
+    assert (*optnm);
     
-    char const *endopt = strchr(optnm, '=');
-    int searchlen  = (endopt) ? endopt - optnm : strlen(optnm);
+    char const *endopt = strchr (optnm, '=');
+    int searchlen  = (endopt) ? endopt - optnm : strlen (optnm);
     
     found_option_l_=0;
     for (int i=0; i< table_len_i_; i++) {
        char const *ln = option_a_[i].longname;
 
-       if (ln && !strncmp(ln, optnm, searchlen)) {
+       if (ln && !strncmp (ln, optnm, searchlen)) {
            found_option_l_ = option_a_+i;
            break;
        }
     }  
 
     if (!found_option_l_) {
-       report(E_UNKNOWNOPTION);
+       report (E_UNKNOWNOPTION);
        return 0;
     }
     array_index_i_++;
@@ -54,12 +54,12 @@ Getopt_long::parselong()
            array_index_i_++;
        }
        if (!optional_argument_ch_C_)
-           report(E_ARGEXPECT);
+           report (E_ARGEXPECT);
 
     } else {
        optional_argument_ch_C_ = 0;
        if (endopt)
-           report(E_NOARGEXPECT);
+           report (E_NOARGEXPECT);
     }
     
     return found_option_l_;
@@ -67,7 +67,7 @@ Getopt_long::parselong()
 
 
 void
-Long_option_init::printon(ostream &errorout)const
+Long_option_init::printon (ostream &errorout)const
 {
     if (shortname)     
        errorout <<"-" << shortname;
@@ -79,7 +79,7 @@ Long_option_init::printon(ostream &errorout)const
 
 // report an error, GNU style.
 void
-Getopt_long::report(Errorcod c)
+Getopt_long::report (Errorcod c)
 {
     error_ = c;
     if (!error_ostream_l_)
@@ -89,7 +89,7 @@ Getopt_long::report(Errorcod c)
     switch (c) {
     case E_ARGEXPECT:
        *error_ostream_l_<< "option ";
-       found_option_l_->printon(*error_ostream_l_);
+       found_option_l_->printon (*error_ostream_l_);
        *error_ostream_l_ << "requires an argument"<<endl;
        break;
     case  E_NOARGEXPECT:
@@ -107,12 +107,12 @@ Getopt_long::report(Errorcod c)
        break;
     case E_ILLEGALARG:
        *error_ostream_l_ << "illegal argument `" << optional_argument_ch_C_ << "\'to option ";
-       found_option_l_->printon(*error_ostream_l_);
+       found_option_l_->printon (*error_ostream_l_);
        *error_ostream_l_ << '\n';
     default:
-       assert(false);
+       assert (false);
     }
-    exit(2); 
+    exit (2); 
 }
     
 const Long_option_init *
@@ -120,7 +120,7 @@ Getopt_long::parseshort()
 {
     char c=arg_value_ch_a_a_[array_index_i_][argument_index_i_];
     found_option_l_=0;
-    assert(c);
+    assert (c);
     
     for (int i=0; i < table_len_i_; i++)
        if (option_a_[i].shortname == c) {
@@ -129,7 +129,7 @@ Getopt_long::parseshort()
        }
 
     if (!found_option_l_){
-       report(E_UNKNOWNOPTION);
+       report (E_UNKNOWNOPTION);
        return 0;
     }
 
@@ -148,7 +148,7 @@ Getopt_long::parseshort()
        array_index_i_ ++;
     }
     if (!optional_argument_ch_C_) {
-       report(E_ARGEXPECT);
+       report (E_ARGEXPECT);
     }
     
     return found_option_l_;
@@ -171,7 +171,7 @@ Getopt_long::operator()()
        return 0;
 
     if (argument_C[1] == '-') {// what to do with "command  --  bla"
-       if ( argument_C[2] )
+       if ( argument_C[2])
            return parselong();
        else
            return 0;
@@ -185,7 +185,7 @@ Getopt_long::operator()()
     }
 }
 
-Getopt_long::Getopt_long(int c, char  **v, Long_option_init *lo)
+Getopt_long::Getopt_long (int c, char  **v, Long_option_init *lo)
 {
     option_a_ = lo;
     error_ostream_l_ = &cerr;
index 6e9a9b77a6eaa2f726a703d7b4294cfbb92cf674..c786a51efe456b41bf4e4406293cdbc11ce8f0bc 100644 (file)
 
 
 char* 
-strnlwrchar* start_l ,int n)
+strnlwr (char* start_l ,int n)
 {
     char * p = start_l + n;
     while ( --p >= start_l) {
-       *p = tolower( *p );    /* a macro on some compilers */
+       *p = tolower (*p);    /* a macro on some compilers */
     }
     return start_l;
 }
 
 char* 
-strnuprchar* start_l, int n)
+strnupr (char* start_l, int n)
 {
     char * p = start_l + n;
     while ( --p >= start_l) {
-       *p = toupper( *p );    /* a macro on some compilers */
+       *p = toupper (*p);    /* a macro on some compilers */
     }
     return start_l;
 }
@@ -39,7 +39,7 @@ strnupr( char* start_l, int n)
   */
 
 char *
-memmem(Byte const * haystack, int haystack_len,
+memmem (Byte const * haystack, int haystack_len,
        Byte const *needle,int needle_len)
 {
     Byte const * end_haystack = haystack + haystack_len - needle_len;
@@ -65,7 +65,7 @@ memmem(Byte const * haystack, int haystack_len,
 #endif
 
 Byte *
-memrchr(Byte const * p, int n, char c)
+memrchr (Byte const * p, int n, char c)
 {
     const    Byte * q = p+n;
     while (q > p) {
@@ -78,7 +78,7 @@ memrchr(Byte const * p, int n, char c)
 
 template<class T>
 inline void
-my_swap(T &t1, T &t2, T &tmp)
+my_swap (T &t1, T &t2, T &tmp)
 {
     tmp = t1;
     t1 = t2;
@@ -86,27 +86,27 @@ my_swap(T &t1, T &t2, T &tmp)
 }
 
 Byte*
-strrev( Byte* byte_l, int length_i )
+strrev (Byte* byte_l, int length_i)
 {
   Byte tmp_byte;
   
   Byte* left_l = byte_l;
   Byte* right_l = byte_l + length_i;
 
-  while ( right_l > left_l ) {
-      my_swap(*right_l-- , *left_l++ , tmp_byte);
+  while ( right_l > left_l) {
+      my_swap (*right_l-- , *left_l++ , tmp_byte);
   }
   return byte_l;
 }
 
 #if ! HAVE_SNPRINTF
 int snprintf ( char *str, size_t,
-              char const *format, ... )
+              char const *format, ...)
 {
     va_list ap;
-    va_start(ap, format);
-    int i = vsprintf(str, format, ap);
-    va_end(ap);
+    va_start (ap, format);
+    int i = vsprintf (str, format, ap);
+    va_end (ap);
     return i;
 }
 #endif
index 099a05beb9351fc2ef915fb903531313a7fc2aff..7126c1378ef9721b5f2cb72dbd6567cb663edf5f 100644 (file)
@@ -17,10 +17,10 @@ Matrix::operator String() const
     String s;
 #ifndef NPRINT
     Matrix_storage const * stor_c_l = dat;
-    s=String("matrix { (")  + dat->name() + ")\n";
+    s=String ("matrix { (")  + dat->name() + ")\n";
     for (int i=0; i< rows(); i++){
        for (int j = 0; j < cols(); j++) {
-           s+= String(stor_c_l->elem(i,j), "%6f ");
+           s+= String (stor_c_l->elem (i,j), "%6f ");
        }
        s+="\n";
     }
@@ -44,7 +44,7 @@ Vector::operator String() const
 #ifndef NPRINT
     s="vector [";
     for (int i=0; i < dim(); i++) {
-       s += String(dat[i], "%6f") + String(' ');
+       s += String (dat[i], "%6f") + String (' ');
     }
     s+="]";
 #endif
index 54deb7d673145f66f8bf7a518ed608e756f00cbc..5ebc0e9072010dbc4187052136c532ae4e84c185 100644 (file)
 #include "diagonal-storage.hh"
 
 void
-Matrix_storage::set_addition_result(Matrix_storage *&dat, Matrix_storage *right)
+Matrix_storage::set_addition_result (Matrix_storage *&dat, Matrix_storage *right)
 {
-    if (dat && dat->name() == Diagonal_storage::static_name() 
-        && right->name() == Diagonal_storage::static_name()) {
+    if (dat && dat->name() == Diagonal_storage::static_name () 
+        && right->name() == Diagonal_storage::static_name ()) {
        Diagonal_storage *L = (Diagonal_storage*)dat;
        Diagonal_storage* R = (Diagonal_storage*) right;
 
-       if ( R->band_size_i() > L->band_size_i()) { 
-           L->set_band_size(R->band_size_i());
+       if ( R->band_size_i() > L->band_size_i ()) { 
+           L->set_band_size (R->band_size_i());
        }
            return ;
     }
-    if  (!dat || !dat->is_type_b(Full_storage::static_name() )) {
+    if  (!dat || !dat->is_type_b (Full_storage::static_name())) {
 
-       Matrix_storage *new_stor = (dat)? new Full_storage(dat) : 
-           new Full_storage( right->rows(), right->cols());
+       Matrix_storage *new_stor = (dat)? new Full_storage (dat) : 
+           new Full_storage (right->rows(), right->cols ());
        delete dat;
        dat = new_stor;
     }
 }
 
 Matrix_storage*
-Matrix_storage::get_product_result(Matrix_storage*left, Matrix_storage*right)
+Matrix_storage::get_product_result (Matrix_storage*left, Matrix_storage*right)
 {
     Matrix_storage* dest =0;
-    set_product_result(dest, left,right);
+    set_product_result (dest, left,right);
     return dest;
 }
     
@@ -44,96 +44,96 @@ Matrix_storage::get_product_result(Matrix_storage*left, Matrix_storage*right)
   hairy
  */
 void
-Matrix_storage::set_product_result(Matrix_storage*&dest, 
+Matrix_storage::set_product_result (Matrix_storage*&dest, 
                           Matrix_storage*left, Matrix_storage*right)
 {
-    if ( left->name() == Diagonal_storage::static_name() 
-        && right->name() == Diagonal_storage::static_name()) {
+    if ( left->name() == Diagonal_storage::static_name () 
+        && right->name() == Diagonal_storage::static_name ()) {
        Diagonal_storage *L = (Diagonal_storage*)left;
        Diagonal_storage* R = (Diagonal_storage*) right;
 
-       if  (L->band_size_i() + R->band_size_i() < L->dim()/2 ) {
-           if (dest ->name() != Diagonal_storage::static_name()){
+       if  (L->band_size_i() + R->band_size_i () < L->dim ()/2) {
+           if (dest ->name() != Diagonal_storage::static_name ()){
                delete dest;
                dest = new Diagonal_storage;
            }
         
-           dest->set_size(L->dim());
+           dest->set_size (L->dim());
            return;
        }
     }
 
-    if ( dest && dest->name() == Full_storage::static_name()) {
-       dest->set_size(left->rows(), right->cols());
+    if ( dest && dest->name() == Full_storage::static_name ()) {
+       dest->set_size (left->rows(), right->cols ());
     } else {
        delete dest;
-       dest = new Full_storage( left->rows(), right->cols());
+       dest = new Full_storage (left->rows(), right->cols ());
     }
 }
 
 IMPLEMENT_IS_TYPE_B(Matrix_storage);
 
 Matrix_storage *
-Matrix_storage::get_full(int n, int m)
+Matrix_storage::get_full (int n, int m)
 {
-    return new Full_storage(n,m);
+    return new Full_storage (n,m);
 }
 
 
 
  bool
-Matrix_storage::try_right_multiply(Matrix_storage *, 
+Matrix_storage::try_right_multiply (Matrix_storage *, 
                                   const Matrix_storage *)const
 {
     return false;
 }
 
 Array<Real>
-Matrix_storage::row(int n) const
+Matrix_storage::row (int n) const
 {
     Array<Real> r;
     for (int j = 0; j < cols(); j++)
-       r.push(elem(n,j));
+       r.push (elem (n,j));
     return r;
 }
 
 Array<Real>
-Matrix_storage::column(int n) const
+Matrix_storage::column (int n) const
 {
     Array<Real> r;
     for (int i = 0; i < rows(); i++)
-       r.push(elem(i,n));
+       r.push (elem (i,n));
     return r;
 }
 
 void
-Matrix_storage::set_size(int rows, int cols)
+Matrix_storage::set_size (int rows, int cols)
 {
         
-    resize(rows,cols);
+    resize (rows,cols);
 }
        
 void
-Matrix_storage::set_size(int rows)
+Matrix_storage::set_size (int rows)
 {
         
-       resize(rows);
+       resize (rows);
 }
        
 
 void
-Matrix_storage::set_band(Matrix_storage *&mat, int b)
+Matrix_storage::set_band (Matrix_storage *&mat, int b)
 {
-    Matrix_storage* ns = new Diagonal_storage(mat, b);
+    Matrix_storage* ns = new Diagonal_storage (mat, b);
     delete mat;
     mat=ns;
 }
        
 
 void
-Matrix_storage::set_full(Matrix_storage *&mat)
+Matrix_storage::set_full (Matrix_storage *&mat)
 {
-    Matrix_storage* ns = new Full_storage(mat);
+    Matrix_storage* ns = new Full_storage (mat);
     delete mat;
     mat=ns;
 }
index 7e1854827b223149729514389bb4d261e13f5833..fdb6085f7cd7d733d44b3072273008cf51067d32 100644 (file)
 bool
 Matrix::band_b()const
 {
-    return dat->is_type_bDiagonal_storage::static_name());
+    return dat->is_type_b (Diagonal_storage::static_name());
 }
 
 void
 Matrix::set_full() const
 {
-    if ( dat->name() != Full_storage::static_name()) {
-       Matrix_storage::set_full( ((Matrix*)this)->dat );
+    if ( dat->name() != Full_storage::static_name ()) {
+       Matrix_storage::set_full (((Matrix*)this)->dat);
     }
 }
 
@@ -35,65 +35,65 @@ Matrix::try_set_band()const
        return;
     // it only looks constant
     Matrix*self  = (Matrix*)this;
-    Matrix_storage::set_band(self->dat,b);
+    Matrix_storage::set_band (self->dat,b);
 }
 
 Real
 Matrix::norm() const
 {
     Real r =0.0;
-    for (int i=0, j=0; dat->mult_ok(i,j); dat->mult_next(i,j))
-       r += sqr(dat->elem(i,j));
-    return sqrt(r);
+    for (int i=0, j=0; dat->mult_ok (i,j); dat->mult_next (i,j))
+       r += sqr (dat->elem (i,j));
+    return sqrt (r);
 }
 
 void
-Matrix::fill(Real r)
+Matrix::fill (Real r)
 {
-    for (int i=0, j=0; dat->mult_ok(i,j); dat->mult_next(i,j))
-       dat->elem(i,j)=r;
+    for (int i=0, j=0; dat->mult_ok (i,j); dat->mult_next (i,j))
+       dat->elem (i,j)=r;
 }
 
 void
-Matrix::set_diag(Real r)
+Matrix::set_diag (Real r)
 {
-    for (int i=0, j=0; dat->mult_ok(i,j); dat->mult_next(i,j))   
-       dat->elem(i,j)=(i==j) ? r: 0.0;
+    for (int i=0, j=0; dat->mult_ok (i,j); dat->mult_next (i,j))         
+       dat->elem (i,j)=(i==j) ? r: 0.0;
 }
 
 void
-Matrix::set_diag(Vector d)
+Matrix::set_diag (Vector d)
 {
-    for (int i=0, j=0; dat->mult_ok(i,j); dat->mult_next(i,j))   
-       dat->elem(i,j)=(i==j) ? d(i): 0.0;
+    for (int i=0, j=0; dat->mult_ok (i,j); dat->mult_next (i,j))         
+       dat->elem (i,j)=(i==j) ? d (i): 0.0;
 }
 
 void
 Matrix::operator+=(Matrix const &m)
 {
-    Matrix_storage::set_addition_result(dat, m.dat);
-    assert(m.cols() == cols());
-    assert(m.rows() == rows());
-    for (int i=0, j=0; dat->mult_ok(i,j); dat->mult_next(i,j))
-       dat->elem(i,j) += m(i,j);
+    Matrix_storage::set_addition_result (dat, m.dat);
+    assert (m.cols() == cols ());
+    assert (m.rows() == rows ());
+    for (int i=0, j=0; dat->mult_ok (i,j); dat->mult_next (i,j))
+       dat->elem (i,j) += m (i,j);
 }
  
 void
 Matrix::operator-=(Matrix const &m)
 {
-    Matrix_storage::set_addition_result(dat, m.dat);
-    assert(m.cols() == cols());
-    assert(m.rows() == rows());
-    for (int i=0, j=0; dat->mult_ok(i,j); dat->mult_next(i,j))
-       dat->elem(i,j) -= m(i,j);
+    Matrix_storage::set_addition_result (dat, m.dat);
+    assert (m.cols() == cols ());
+    assert (m.rows() == rows ());
+    for (int i=0, j=0; dat->mult_ok (i,j); dat->mult_next (i,j))
+       dat->elem (i,j) -= m (i,j);
 }
 
 
 void
 Matrix::operator*=(Real a)
 {
-    for (int i=0, j=0; dat->mult_ok(i,j); dat->mult_next(i,j))
-       dat->elem(i,j) *= a;
+    for (int i=0, j=0; dat->mult_ok (i,j); dat->mult_next (i,j))
+       dat->elem (i,j) *= a;
 }
 
 void
@@ -108,17 +108,17 @@ Matrix::operator=(Matrix const &m)
 int
 Matrix::band_i()const
 {
-    if ( band_b() ) {
+    if ( band_b()) {
        Diagonal_storage const * diag = (Diagonal_storage*) dat;
        return diag->band_size_i();
     }
     int starty = dim();
-    while (starty >= 0 ) {
-       for ( int i = starty, j = 0; i < dim(); i++, j++ )
-           if (dat->elem( i,j ))
+    while (starty >= 0) {
+       for ( int i = starty, j = 0; i < dim(); i++, j++)
+           if (dat->elem (i,j))
                goto gotcha;
        for ( int i=0, j = starty; j < dim(); i++,j++)
-           if (dat->elem(i,j))
+           if (dat->elem (i,j))
                goto gotcha;
        starty --;
     }
@@ -126,7 +126,7 @@ gotcha:
     return  starty;
 }
     
-Matrix::Matrix(Matrix const &m)
+Matrix::Matrix (Matrix const &m)
 {
     m.OK();
     
@@ -134,78 +134,78 @@ Matrix::Matrix(Matrix const &m)
 }
 
 
-Matrix::Matrix(int n, int m)
+Matrix::Matrix (int n, int m)
 {
-    dat = Matrix_storage::get_full(n,m);
-    fill(0);
+    dat = Matrix_storage::get_full (n,m);
+    fill (0);
 }
 
-Matrix::Matrix(Matrix_storage*stor_p)
+Matrix::Matrix (Matrix_storage*stor_p)
 {
     dat = stor_p;
 }
 
-Matrix::Matrix(int n)
+Matrix::Matrix (int n)
 {
-    dat = Matrix_storage::get_full(n,n);
-    fill(0);
+    dat = Matrix_storage::get_full (n,n);
+    fill (0);
 }
 
-Matrix::Matrix(Vector v, Vector w)
+Matrix::Matrix (Vector v, Vector w)
 {   
-    dat = Matrix_storage::get_full(v.dim(), w.dim());
-    for (int i=0, j=0; dat->mult_ok(i,j); dat->mult_next(i,j))
-       dat->elem(i,j)=v(i)*w(j);
+    dat = Matrix_storage::get_full (v.dim(), w.dim ());
+    for (int i=0, j=0; dat->mult_ok (i,j); dat->mult_next (i,j))
+       dat->elem (i,j)=v (i)*w (j);
 }
 
 
 Vector
-Matrix::row(int k) const
+Matrix::row (int k) const
 {
     int n=cols();
 
     
-    Vector v(n);
-    for(int i=0; i < n; i++)
-       v(i)=dat->elem(k,i);
+    Vector v (n);
+    for (int i=0; i < n; i++)
+       v (i)=dat->elem (k,i);
 
     return v;
 }
 
 Vector
-Matrix::col(int k) const
+Matrix::col (int k) const
 {
     int n=rows();
-    Vector v(n);
-    for(int i=0; i < n; i++)
-       v(i)=dat->elem(i,k);
+    Vector v (n);
+    for (int i=0; i < n; i++)
+       v (i)=dat->elem (i,k);
     return v;
 }
 
 Vector
-Matrix::left_multiply(Vector const & v) const
+Matrix::left_multiply (Vector const & v) const
 {
-     Vector dest(v.dim());
-    assert(dat->cols()==v.dim());
-    for (int i=0, j=0; dat->mult_ok(i,j); dat->mult_next(i,j))
-       dest(i)+= dat->elem(j,i)*v(j);
+     Vector dest (v.dim());
+    assert (dat->cols()==v.dim ());
+    for (int i=0, j=0; dat->mult_ok (i,j); dat->mult_next (i,j))
+       dest (i)+= dat->elem (j,i)*v (j);
     return dest;
 }
 
 Vector
 Matrix::operator *(Vector const & v) const
 {
-    Vector dest(rows());
-    assert(dat->cols()==v.dim());
-    for (int i=0, j=0; dat->mult_ok(i,j); dat->mult_next(i,j))
-       dest(i)+= dat->elem(i,j)*v(j);
+    Vector dest (rows());
+    assert (dat->cols()==v.dim ());
+    for (int i=0, j=0; dat->mult_ok (i,j); dat->mult_next (i,j))
+       dest (i)+= dat->elem (i,j)*v (j);
     return dest;
 }
 
 Matrix
 operator /(Matrix const& m1,Real a)
 {
-    Matrix m(m1);
+    Matrix m (m1);
     m /= a;
     return  m;
 }
@@ -217,12 +217,12 @@ void
 Matrix::transpose()            // delegate to storage?
 {
 #if 1
-    for (int i=0, j=0; dat->mult_ok(i,j); dat->mult_next(i,j)) {
+    for (int i=0, j=0; dat->mult_ok (i,j); dat->mult_next (i,j)) {
        if (i >= j)
            continue;
-       Real r=dat->elem(i,j);
-       dat->elem(i,j) = dat->elem(j,i);
-       dat->elem(j,i)=r;
+       Real r=dat->elem (i,j);
+       dat->elem (i,j) = dat->elem (j,i);
+       dat->elem (j,i)=r;
     }
 #endif
 }
@@ -231,7 +231,7 @@ Matrix
 Matrix::operator-() const
 {
     OK();
-    Matrix m(*this);
+    Matrix m (*this);
     m*=-1.0;    
     return m;
 }
@@ -239,7 +239,7 @@ Matrix::operator-() const
 Matrix
 Matrix::transposed() const
 {
-    Matrix m(*this);
+    Matrix m (*this);
     m.transpose();
     return m;
 }
@@ -247,62 +247,62 @@ Matrix::transposed() const
 Matrix
 operator *(Matrix const &m1, Matrix const &m2)
 {
-    Matrix result(Matrix_storage::get_product_result(m1.dat, m2.dat));
+    Matrix result (Matrix_storage::get_product_result (m1.dat, m2.dat));
 
-    result.set_product(m1,m2);
+    result.set_product (m1,m2);
     return result;
 }
 
 void
-Matrix::set_product(Matrix const &m1, Matrix const &m2)
+Matrix::set_product (Matrix const &m1, Matrix const &m2)
 {
-    assert(m1.cols()==m2.rows());
-    assert(cols()==m2.cols() && rows()==m1.rows());
+    assert (m1.cols()==m2.rows ());
+    assert (cols()==m2.cols () && rows ()==m1.rows ());
     
-    if (m1.dat->try_right_multiply(dat, m2.dat))
+    if (m1.dat->try_right_multiply (dat, m2.dat))
        return; 
     
-    for (int i=0, j=0; dat->mult_ok(i,j);
-        dat->mult_next(i,j)) {
+    for (int i=0, j=0; dat->mult_ok (i,j);
+        dat->mult_next (i,j)) {
        Real r=0.0;
        for (int k = 0; k < m1.cols(); k++)
            r += m1(i,k)*m2(k,j);
-       dat->elem(i,j)=r;
+       dat->elem (i,j)=r;
     }
 }
 
 void
-Matrix::insert_row(Vector v, int k)
+Matrix::insert_row (Vector v, int k)
 {
     int c = cols();
-    assert(v.dim()==cols());
-    dat->insert_row(k);
+    assert (v.dim()==cols ());
+    dat->insert_row (k);
     for (int j=0; j < c; j++)
-       dat->elem(k,j)=v(j);
+       dat->elem (k,j)=v (j);
 }
 
 
 void
-Matrix::swap_columns(int c1, int c2)
+Matrix::swap_columns (int c1, int c2)
 {
-    assert(c1>=0&& c1 < cols()&&c2 < cols() && c2 >=0);
+    assert (c1>=0&& c1 < cols()&&c2 < cols () && c2 >=0);
     int r = rows();
     for (int i=0; i< r; i++) {
-       Real r=dat->elem(i,c1);
-       dat->elem(i,c1) = dat->elem(i,c2);
-       dat->elem(i,c2)=r;
+       Real r=dat->elem (i,c1);
+       dat->elem (i,c1) = dat->elem (i,c2);
+       dat->elem (i,c2)=r;
     }
 }
 
 void
-Matrix::swap_rows(int c1, int c2)
+Matrix::swap_rows (int c1, int c2)
 {
-    assert(c1>=0&& c1 < rows()&&c2 < rows() && c2 >=0);
+    assert (c1>=0&& c1 < rows()&&c2 < rows () && c2 >=0);
     int c = cols();
     for (int i=0; i< c; i++) {
-       Real r=dat->elem(c1,i);
-       dat->elem(c1,i) = dat->elem(c2,i);
-       dat->elem(c2,i)=r;
+       Real r=dat->elem (c1,i);
+       dat->elem (c1,i) = dat->elem (c2,i);
+       dat->elem (c2,i)=r;
     }
 }
 
@@ -310,7 +310,7 @@ Matrix::swap_rows(int c1, int c2)
 int
 Matrix::dim() const
 {
-    assert(cols() == rows());
+    assert (cols() == rows ());
     return rows();
 }
 
index 5674ca90a35dc9c728166b52a0d8cdb30394d12f..be5f56a7f06c7b8d0d62cf674023b52350cb7435 100644 (file)
    @return 4 components of the path. They can be empty
 */
 void
-split_path(String path, 
+split_path (String path, 
           String &drive, String &dirs, String &filebase, String &extension)
 {
     // peel off components, one by one.
-    int di = path.index_i(':');
+    int di = path.index_i (':');
     if (di >= 0) 
        {
-       drive = path.left_str(di + 1);
-       path = path.right_str(path.len() - di -1);
+       drive = path.left_str (di + 1);
+       path = path.right_str (path.len() - di -1);
        } 
     else
        drive = "";
     
-    di = path.index_last_i(PATHSEP);
+    di = path.index_last_i (PATHSEP);
     if (di >=0) 
        {
-       dirs = path.left_str(di + 1);
-       path = path.right_str(path.len()-di -1);
+       dirs = path.left_str (di + 1);
+       path = path.right_str (path.len()-di -1);
        }
     else
        dirs = "";
     
-    di = path.index_last_i('.');
+    di = path.index_last_i ('.');
     if (di >= 0) 
        {
-       filebase = path.left_str(di);
-       extension =path.right_str(path.len()-di);       
+       filebase = path.left_str (di);
+       extension =path.right_str (path.len()-di);      
        } 
     else 
        {
@@ -54,22 +54,25 @@ split_path(String path,
   in any other added path, in this order.
   */
 String
-File_path::find(String nm)const
+File_path::find (String nm)const
 
 {
     fdebug << "looking for " << nm << ": ";
-    if ( !nm.length_i() || ( nm == "-" ) )
+    if ( !nm.length_i() || ( nm == "-") )
        return nm;
     for (int i=0; i < size(); i++) {
 
-        String path  = (*this)[i];
-        path+= String(path.length_i()? "/":"")+nm;
+        String path  = elem(i);
+        if ( path.length_i() )
+            path += "/";
+        
+        path += nm;
 
         fdebug << path << "? ";
-        FILE *f = fopen(path.ch_C(), "r"); // ugh!
+        FILE *f = fopen (path.ch_C(), "r"); // ugh!
         if (f) {
             fdebug << "found\n";
-            fclose(f);
+            fclose (f);
             return path;
         }
      }
index b1056c2430ad8f5004ccb24c01c0de72d6c779be..5b36be916cbbb29e617ec28424fccf6b2d60e4c4 100644 (file)
@@ -10,9 +10,9 @@
 #include "string.hh"
 
 void
-print_rat(Rational const &m)
+print_rat (Rational const &m)
 {
-    cout << String(m) << flush;
+    cout << String (m) << flush;
 }
     
 
index da86835063c1c8e67f161fbbf9a7eed67486ace0..1a5e54ec27c3104af75f087dfe656b436653ca3c 100644 (file)
@@ -2,22 +2,22 @@
 #include <stdio.h>
 #include "scalar.hh"
 
-Scalar::Scalar(Rational r)
-    :String(r)
+Scalar::Scalar (Rational r)
+    :String (r)
 {
 
 }
 
 Scalar::operator Rational()
 {
-    int p = index_i('/');
+    int p = index_i ('/');
     if (p == -1)
-       return int(*this);
+       return int (*this);
     
-    String s2 = right_str(len()-p-1);
-    String s1 = left_str(p);
+    String s2 = right_str (len()-p-1);
+    String s1 = left_str (p);
 
-    return Rational(s1.value_i(), s2.value_i());
+    return Rational (s1.value_i(), s2.value_i ());
 }
 
 bool
@@ -26,7 +26,7 @@ Scalar::isnum()
     int conv = false;
     if (len()) {
        long l =0;
-       conv = sscanf(strh_.ch_C(), "%ld", &l);
+       conv = sscanf (strh_.ch_C(), "%ld", &l);
     }
     return len() && conv;
 }
index d1a9fe05750a58d83c453cbc5666c6837fcc6ab3..2f5ab5bfa366fc1026a77b3d2ac4c3ed1a7e477d 100644 (file)
 static const int STRING_BUFFER_LEN=1024;
 
 String
-String_convert::bin2hex_str( String bin_str )
+String_convert::bin2hex_str (String bin_str)
 {
     String str;
     Byte const* byte_C = bin_str.byte_C();
-    for ( int i = 0; i < bin_str.length_i(); i++ ) {
-       str += (char)nibble2hex_byte( *byte_C >> 4 );
-       str += (char)nibble2hex_byte( *byte_C++ );
+    for ( int i = 0; i < bin_str.length_i(); i++) {
+       str += (char)nibble2hex_byte (*byte_C >> 4);
+       str += (char)nibble2hex_byte (*byte_C++);
     }
     return str;
 }
 
 int
-String_convert::bin2_i( String bin_str )
+String_convert::bin2_i (String bin_str)
 {
-    assert( bin_str.length_i() <= 4 );
+    assert (bin_str.length_i() <= 4);
 
     int result_i = 0;
-    for ( int i = 0; i < bin_str.length_i(); i++ ) {
+    for ( int i = 0; i < bin_str.length_i(); i++) {
        result_i <<= 8;
        result_i += (Byte)bin_str[ i ];
     }
@@ -51,76 +51,76 @@ String_convert::bin2_i( String bin_str )
 
 // breendet imp from String
 int
-String_convert::dec2_i( String dec_str )
+String_convert::dec2_i (String dec_str)
 {
-    if ( !dec_str.length_i() )
+    if ( !dec_str.length_i())
        return 0;
 
     long l = 0;
-    int conv = sscanf( dec_str.ch_C(), "%ld", &l );
-    assert( conv );
+    int conv = sscanf (dec_str.ch_C(), "%ld", &l);
+    assert (conv);
 
     return (int)l;
 }
 
 String
-String_convert::i64_strI64 i64, char const* fmt)
+String_convert::i64_str (I64 i64, char const* fmt)
 {
     char buffer[STRING_BUFFER_LEN];
-    snprintf(buffer, STRING_BUFFER_LEN,
-            (fmt ? fmt : "%Ld"), i64 );     // assume radix 10
-    return String(buffer);
+    snprintf (buffer, STRING_BUFFER_LEN,
+            (fmt ? fmt : "%Ld"), i64);     // assume radix 10
+    return String (buffer);
 
 }
 // breendet imp from String
 double
-String_convert::dec2_f( String dec_str )
+String_convert::dec2_f (String dec_str)
 {
-    if ( !dec_str.length_i() )
+    if ( !dec_str.length_i())
        return 0;
     double d = 0;
-    int conv = sscanf( dec_str.ch_C(), "%lf", &d );
-    assert( conv );
+    int conv = sscanf (dec_str.ch_C(), "%lf", &d);
+    assert (conv);
     return d;
 }
 
 int
-String_convert::hex2bin_i( String hex_str, String& bin_str_r )
+String_convert::hex2bin_i (String hex_str, String& bin_str_r)
 {
-    if ( hex_str.length_i() % 2 )
+    if ( hex_str.length_i() % 2)
         hex_str = "0" + hex_str;
 
     bin_str_r = "";
     Byte const* byte_C= hex_str.byte_C();
     int i = 0;
-    while ( i < hex_str.length_i() ) {   
-        int high_i = hex2nibble_i( *byte_C++ );
-        int low_i = hex2nibble_i( *byte_C++ );
-        if ( high_i < 0 || low_i < 0 )
+    while ( i < hex_str.length_i()) {   
+        int high_i = hex2nibble_i (*byte_C++);
+        int low_i = hex2nibble_i (*byte_C++);
+        if ( high_i < 0 || low_i < 0)
             return 1; // illegal char
-        bin_str_r += String( (char)( high_i << 4 | low_i ), 1 );
+        bin_str_r += String ((char)( high_i << 4 | low_i), 1 );
         i += 2;
     }
     return 0;
 }
 
 String 
-String_convert::hex2bin_str( String hex_str )
+String_convert::hex2bin_str (String hex_str)
 {
     String str;
 //  silly, asserts should alway be "on"!
-//    assert( !hex2bin_i( hex_str, str ) );
-    int error_i = hex2bin_i( hex_str, str );
-    assert( !error_i );
+//    assert (!hex2bin_i (hex_str, str) );
+    int error_i = hex2bin_i (hex_str, str);
+    assert (!error_i);
     return str;
 }
 
 int 
-String_convert::hex2nibble_i( Byte byte )
+String_convert::hex2nibble_i (Byte byte)
 {
-    if ( byte >= '0' && byte <= '9' )
+    if ( byte >= '0' && byte <= '9')
         return byte - '0';
-    if ( byte >= 'A' && byte <= 'F' )
+    if ( byte >= 'A' && byte <= 'F')
         return byte - 'A' + 10;
     if ( byte >= 'a' && byte <= 'f')
         return byte - 'a' + 10;
@@ -129,57 +129,57 @@ String_convert::hex2nibble_i( Byte byte )
 
 // stupido.  Should use int_str()
 String 
-String_convert::i2dec_str( int i, int length_i, char ch )
+String_convert::i2dec_str (int i, int length_i, char ch)
 {
     char fill_ch = ch;
     if ( fill_ch)
         fill_ch = '0';
 
     // ugh
-    String dec_str( i );
+    String dec_str (i);
     
     // ugh
-    return String( fill_ch, length_i - dec_str.length_i() ) + dec_str;
+    return String (fill_ch, length_i - dec_str.length_i()) + dec_str;
 }
 
 
 // stupido.  Should use int_str()
 String 
-String_convert::u2hex_str( unsigned u, int length_i, char fill_ch )
+String_convert::u2hex_str (unsigned u, int length_i, char fill_ch)
 {
     String str;
-    if ( !u )
+    if ( !u)
        str = "0";
 
 #if 1 // both go...
-    while ( u ) {
-       str = String( (char)( ( u % 16 )["0123456789abcdef"] ) ) + str;
+    while ( u) {
+       str = String ((char)( ( u % 16)["0123456789abcdef"] ) ) + str;
        u /= 16;
     }
 #else
-    str += int_str( u, "%x" ); // hmm. %lx vs. %x -> portability?
+    str += int_str (u, "%x");  // hmm. %lx vs. %x -> portability?
 #endif
 
-    str = String( fill_ch, length_i - str.length_i() ) + str;
-    while ( ( str.length_i() > length_i ) &&  ( str[ 0 ] == 'f' ) )
-       str = str.mid_str( 2, INT_MAX );
+    str = String (fill_ch, length_i - str.length_i()) + str;
+    while ( ( str.length_i() > length_i) &&  ( str[ 0 ] == 'f' ) )
+       str = str.mid_str (2, INT_MAX);
 
     return str;
 }
 
 String 
-String_convert::i2hex_str( int i, int length_i, char fill_ch )
+String_convert::i2hex_str (int i, int length_i, char fill_ch)
 {
-    return u2hex_str( (unsigned)i, length_i, fill_ch );
+    return u2hex_str ((unsigned)i, length_i, fill_ch);
 }
 
 Byte
-String_convert::nibble2hex_byte( Byte byte )
+String_convert::nibble2hex_byte (Byte byte)
 {
-    if ( ( byte & 0x0f ) <= 9 )
-       return ( byte & 0x0f ) + '0';
+    if ( ( byte & 0x0f) <= 9 )
+       return ( byte & 0x0f) + '0';
     else
-       return ( byte & 0x0f ) - 10 + 'a';
+       return ( byte & 0x0f) - 10 + 'a';
 }
 /**
   Convert an integer to a string
@@ -188,12 +188,12 @@ String_convert::nibble2hex_byte( Byte byte )
   #fmt# is a printf style format, default assumes "%d" as format. 
   */
 String
-String_convert::int_str(int i, char const* fmt)
+String_convert::int_str (int i, char const* fmt)
 {
     char buffer[STRING_BUFFER_LEN];
-    snprintf(buffer, STRING_BUFFER_LEN,
-            (fmt ? fmt : "%d"), i );     // assume radix 10
-    return String(buffer);
+    snprintf (buffer, STRING_BUFFER_LEN,
+            (fmt ? fmt : "%d"), i);     // assume radix 10
+    return String (buffer);
 }
 
 /**
@@ -202,12 +202,12 @@ String_convert::int_str(int i, char const* fmt)
   @param #fmt# is a printf style format, default assumes "%lf" as format
  */
 String
-String_convert::double_str(double f, char const* fmt)
+String_convert::double_str (double f, char const* fmt)
 {
     char buf[STRING_BUFFER_LEN]; 
 
-    snprintf(buf, STRING_BUFFER_LEN, fmt ? fmt : "%f", f);
-    return String(buf);
+    snprintf (buf, STRING_BUFFER_LEN, fmt ? fmt : "%f", f);
+    return String (buf);
 }
 
 /**
@@ -217,25 +217,25 @@ String_convert::double_str(double f, char const* fmt)
     #n# is a repetition count, default value is 1
  */
 String
-String_convert::char_str(char c, int n)
+String_convert::char_str (char c, int n)
 {
     n = n >= 0 ? n : 0;
     char* ch_p = new char[ n ];
-    memset( ch_p, c, n );
-    String s((Byte*)ch_p, n);
+    memset (ch_p, c, n);
+    String s ((Byte*)ch_p, n);
     delete ch_p;
     return s;
 }
 
 String
-String_convert::rational_str(Rational r)
+String_convert::rational_str (Rational r)
 {
-    char * n = Itoa(r.numerator()); // LEAK????
+    char * n = Itoa (r.numerator()); // LEAK????
     
     String s = n;
     if (r.denominator() != 1) {
-       char * d = Itoa(r.denominator());
-       s +=  String( '/' ) + String(d);
+       char * d = Itoa (r.denominator());
+       s +=  String ('/') + String (d);
        //delete d;
     }
 /*    delete n;
@@ -244,9 +244,9 @@ String_convert::rational_str(Rational r)
 }
 
 String
-String_convert::pointer_str(void const *l)
+String_convert::pointer_str (void const *l)
 {
     char buffer[STRING_BUFFER_LEN];
-    snprintf(buffer, STRING_BUFFER_LEN, "%p", l );     // assume radix 10
-    return String(buffer);
+    snprintf (buffer, STRING_BUFFER_LEN, "%p", l);     // assume radix 10
+    return String (buffer);
 }
index d66951c93158e20c9238727308c88f6d7bb504ae..1bd236114ca75b97857a6c0094c50e585d5def0c 100644 (file)
@@ -17,7 +17,7 @@
 #include "string-convert.hh"
 
 #ifdef STRING_DEBUG
-void* mymemmove( void* dest, void const* src, size_t n );
+void* mymemmove (void* dest, void const* src, size_t n);
 #define memmove mymemmove
 #endif
 
@@ -27,16 +27,16 @@ String::copy_byte_p() const
 {
     Byte const* src = strh_.byte_C();
     Byte* dest = new Byte[strh_.length_i() + 1];
-    memcpy( dest, src, strh_.length_i() + 1 );
+    memcpy (dest, src, strh_.length_i() + 1);
     return dest;    
 }
 void
-String::print_on(ostream& os) const
+String::print_on (ostream& os) const
 {
     if (!strh_.is_binary_bo())
         os << ch_C();
     else
-       for ( int i = 0; i < length_i(); i++ )
+       for ( int i = 0; i < length_i(); i++)
            os << (Byte)(*this)[ i ];
 }
 \f
@@ -44,24 +44,24 @@ String::print_on(ostream& os) const
   copying, constructing.
  */
 String&
-String::operator = (String const&source )
+String::operator = (String const&source)
 {
     strh_ = source.strh_;
     return *this;
 }
 
 
-String::String(Rational r)
+String::String (Rational r)
 {
-    *this = String_convert::rational_str(r);
+    *this = String_convert::rational_str (r);
 }
 
 String::String (double f, char const* fmt)
 {
-    *this= String_convert::double_str(f,fmt);
+    *this= String_convert::double_str (f,fmt);
 }
 
-String::String( char c,  int n )
+String::String (char c,  int n)
 {
     *this = String_convert::char_str (c,n);
 }
@@ -70,40 +70,40 @@ String::String( char c,  int n )
   @see
   String_convert::int_str
  */
-String::String(int i, char const * format )
+String::String (int i, char const * format)
 {
-    *this = String_convert::int_str(i,format);
+    *this = String_convert::int_str (i,format);
 }
 
 String::String (bool b)
 {
-    *this = (char const* ) (b ? "true" : "false");
+    *this = (char const*) (b ? "true" : "false");
 }
 
-String::String( char const* source )
+String::String (char const* source)
 {   
-    assert(source);    
+    assert (source);    
     strh_ = source;    
 }
 
-String::String( Byte const* byte_l, int length_i )
+String::String (Byte const* byte_l, int length_i)
 {   
-    strh_.set( byte_l, length_i );    
+    strh_.set (byte_l, length_i);    
 }
 \f
 void
-String::append(String s)
+String::append (String s)
 {
-    strh_.append( s.byte_C(), s.length_i() );
+    strh_.append (s.byte_C(), s.length_i());
 }
 void
 String::operator +=(String s)
 {
-    append(s);
+    append (s);
 }
 
 void
-String::prepend(String s)
+String::prepend (String s)
 {
     s += *this;
     *this = s;
@@ -143,50 +143,50 @@ String::ch_l()
   Do a signed comparison,  analogous to memcmp;
  */
 int
-String::compare_i(String const& s1, String const& s2 
+String::compare_i (String const& s1, String const& s2
 {
     Byte const* p1 = s1.byte_C();
     Byte const* p2 = s2.byte_C();
-    if ( p1 == p2 )
+    if ( p1 == p2)
        return 0;
 
     int i1 = s1.length_i();
     int i2 = s2.length_i();
 
-    int result=  memcmp( p1, p2, i1 <? i2 );
+    int result=  memcmp (p1, p2, i1 <? i2);
     return result ? result : i1-i2;
 }
 
 \f
 int
-String::index_last_i( char const c ) const
+String::index_last_i (char const c) const
 {
-    if ( !length_i() 
+    if ( !length_i()) 
        return -1;
 
     char const* me = strh_.ch_C();
-    char const* p = memrchr(me, length_i(), c );
-    if ( p )
+    char const* p = memrchr (me, length_i(), c);
+    if ( p)
        return p - me;
     return -1;
 }
 
 int
-String::index_last_i( char const* string ) const // UGK!
+String::index_last_i (char const* string) const // UGK!
 {
-    assert(false);             // broken
-    int length = strlen( string ); // ugrh
-    if ( !length_i() || !length 
+    assert (false);            // broken
+    int length = strlen (string); // ugrh
+    if ( !length_i() || !length) 
        return -1;
     
-    int next_i = index_i( string );
-    if ( next_i == -1 )
+    int next_i = index_i (string);
+    if ( next_i == -1)
        return -1;
     
     int index_i = 0;
-    while( next_i >= 0 ) {
+    while (next_i >= 0) {
        index_i += next_i;
-       next_i = right_str( length_i() - index_i - length ).index_i( string );
+       next_i = right_str (length_i() - index_i - length).index_i (string );
     }
     return index_i;
 }
@@ -197,14 +197,14 @@ String::index_last_i( char const* string ) const // UGK!
   the index of the leftmost character #c# (0 <= return < length_i()),
   or   -1 if not found. 
 
-  ? should return length_i()?, as in string.left_str(index_i(delimiter))
+  ? should return length_i()?, as in string.left_str (index_i (delimiter))
 */
 int
-String::index_i(char c ) const
+String::index_i (char c) const
 {
     char const* me = strh_.ch_C();
-    char const* p = (char const *) memchrme,c,  length_i());
-    if ( p )
+    char const* p = (char const *) memchr (me,c,  length_i());
+    if ( p)
        return p - me;
     return -1;
 }
@@ -216,13 +216,13 @@ String::index_i(char c ) const
   index of leftmost occurrence of #searchfor#
  */
 int
-String::index_i( String searchfor ) const
+String::index_i (String searchfor) const
 {
     char const* me = strh_.ch_C();
-    char const* p = (char const *) memmem(
-       me, length_i(), searchfor.ch_C(), searchfor.length_i());
+    char const* p = (char const *) memmem (
+       me, length_i(), searchfor.ch_C(), searchfor.length_i ());
     
-    if ( p )
+    if ( p)
        return p - me;
     else
        return -1;
@@ -234,15 +234,15 @@ String::index_i( String searchfor ) const
   the index of the leftmost occurance of an element of #set#
   */
 int
-String::index_any_i( String set ) const
+String::index_any_i (String set) const
 {
     int n = length_i();
-    if ( !n )
+    if ( !n)
        return -1;
 
     void const * me_l = (void const *) strh_.ch_C();
     for (int i=0; i  < set.length_i(); i++) {
-       char * found=(char*) memchr(me_l, set[i], n  );
+       char * found=(char*) memchr (me_l, set[i], n );
        if (found) {
            return found - me_l;
        }
@@ -251,7 +251,7 @@ String::index_any_i( String set ) const
 }
 \f
 String
-String::left_str( int n ) const
+String::left_str (int n) const
 {
     if (n >= length_i())
        return *this;
@@ -261,12 +261,12 @@ String::left_str( int n ) const
         return retval;
     
     retval = *this;
-    retval.strh_.trunc(n);
+    retval.strh_.trunc (n);
     return retval;
 }
 
 String
-String::right_str( int n ) const
+String::right_str (int n) const
 {
     if (n > length_i())
        return *this;
@@ -274,14 +274,14 @@ String::right_str( int n ) const
     if ( n < 1)
         return "";
     
-    return String( strh_.byte_C() + length_i() - n, n ); 
+    return String (strh_.byte_C() + length_i() - n, n); 
 }
 
 
 String
-String::nomid_str( int index_i, int n ) const
+String::nomid_str (int index_i, int n) const
 {
-    if ( index_i < 0 ) {
+    if ( index_i < 0) {
        n += index_i;
        index_i = 0;
     }
@@ -289,28 +289,28 @@ String::nomid_str( int index_i, int n ) const
        return *this;
     
     return
-       left_str( index_i )   +
-       right_str( length_i() - index_i - n ) ;
+       left_str (index_i)   +
+       right_str (length_i() - index_i - n) ;
 }
 
 /*
   proposal: change to "cut()"
  */
 String
-String::mid_str( int index_i, int n ) const
+String::mid_str (int index_i, int n) const
 {
     if (index_i <0) {
        n += index_i;
        index_i=0;
     }
     
-    if ( !length_i() || ( index_i < 0 ) || ( index_i >= length_i() ) || ( n < 1 ) )
+    if ( !length_i() || ( index_i < 0) || ( index_i >= length_i () ) || ( n < 1 ) )
        return String();
 
-    if ( ( n > length_i() ) ||  ( index_i + n > length_i() ) )
+    if ( ( n > length_i()) ||  ( index_i + n > length_i () ) )
        n = length_i() - index_i;
 
-    return String( byte_C() + index_i, n );
+    return String (byte_C() + index_i, n);
 }
 \f
 String
@@ -324,14 +324,14 @@ void
 String::to_upper()
 {
     char *s = (char*)strh_.byte_l();
-    strnuprs ,length_i());
+    strnupr (s ,length_i());
 }
 
 void
 String::to_lower()
 {
     char* s = strh_.ch_l();
-    strnlwr(s,length_i());    
+    strnlwr (s,length_i());    
 }
 
 
@@ -346,20 +346,20 @@ String
 String::reversed_str() const
 {
     String str = *this;
-    strrev( str.byte_l(), str.length_i() );
+    strrev (str.byte_l(), str.length_i ());
     return str;    
 }
 
 int
 String::value_i() const
 {
-    return String_convert::dec2_i( *this );
+    return String_convert::dec2_i (*this);
 }
 
 double
 String::value_f() const
 {
-    return String_convert::dec2_f( *this );
+    return String_convert::dec2_f (*this);
 }
 
 
index 0bbde77c99a5397bc1d942c6945ad6696c564083..b415de36e2e865c746f53ff9310bbf61f883d570 100644 (file)
@@ -13,11 +13,11 @@ ctors()
 {
     cout << "constructors"<<endl;
 
-    String str( "hai" );
+    String str ("hai");
     String def;
-    String fromi(10);
-    String fromc('c');
-    String fromf(1.32e-2, "%g");
+    String fromi (10);
+    String fromc ('c');
+    String fromf (1.32e-2, "%g");
 
     cout << str << endl;
     cout << def << endl;
@@ -30,11 +30,11 @@ void
 cmp()
 {
     Array<String> a;
-    a.push("abcd");
-    a.push("zxy");
-    a.push("abc");
-    a.push("");
-    a.sort(String::compare_i);
+    a.push ("abcd");
+    a.push ("zxy");
+    a.push ("abc");
+    a.push ("");
+    a.sort (String::compare_i);
     cout << "compares: "<<endl;
     for (int i=0; i < a.size(); i++)
        cout << a[i] << endl;
@@ -50,12 +50,12 @@ searching()
     String cstr =c;
     String set = "bar";
     cout << "hay = \"" << hay << "\" len="<< hay.length_i()<<endl;
-    cout << "index_i('"<< c<<"') " << c << "= " << hay.index_i(c) <<endl;
-    cout << "last_index_i('"<< c<<"') " << c << "= " << hay.index_last_i(c) <<endl;    
-//    cout << "last index of cstr " << c << ": " << hay.index_last_i(cstr) <<endl;    
-//    cout << "index_last_i(\""<<set<<"\"): " << hay.index_last_i(set) <<endl;
-    cout << "index_i(\""<<set<<"\"): " << hay.index_i(set) <<endl;    
-    cout << "index_any(\"" << set << "\"): " << cstr << ": " << hay.index_any_i(cstr) <<endl;
+    cout << "index_i ('"<< c<<"') " << c << "= " << hay.index_i (c) <<endl;
+    cout << "last_index_i ('"<< c<<"') " << c << "= " << hay.index_last_i (c) <<endl;    
+//    cout << "last index of cstr " << c << ": " << hay.index_last_i (cstr) <<endl;    
+//    cout << "index_last_i (\""<<set<<"\"): " << hay.index_last_i (set) <<endl;
+    cout << "index_i (\""<<set<<"\"): " << hay.index_i (set) <<endl;    
+    cout << "index_any (\"" << set << "\"): " << cstr << ": " << hay.index_any_i (cstr) <<endl;
 
     
     
@@ -65,15 +65,15 @@ searching()
 void
 kutenpeer()
 {
-    String str( "hai" );
+    String str ("hai");
     for (int i=-1; i < str.length_i()+2; i++) {
-       cout<<" left_str(" << i<<"): " << str.left_str( i ) << endl;
-       cout<<" right_str( "<<i<<"): " << str.right_str( i ) << endl;
+       cout<<" left_str (" << i<<"): " << str.left_str (i) << endl;
+       cout<<" right_str ("<<i<<"): " << str.right_str (i) << endl;
     }
     str = "blonde haren";
     cout << str<<endl;
-    cout << "mid(2,6)="<<str.mid_str(2,3)<<endl;
-    cout << "nomid(2,6)="<<str.nomid_str(2,3)<<endl;
+    cout << "mid (2,6)="<<str.mid_str (2,3)<<endl;
+    cout << "nomid (2,6)="<<str.nomid_str (2,3)<<endl;
 }
 
 int 
@@ -83,35 +83,35 @@ main()
     cmp();
     searching();
     kutenpeer();
-    String str( "hai" );
+    String str ("hai");
     cout <<  str << endl;
     cout << "left" << endl;
     str += " daar";
     cout << str << endl;
 
-    str = String( "Hallo" ) + " daaR" + '!';
+    str = String ("Hallo") + " daaR" + '!';
     cout << str << endl;
 
-    cout << "up: " << str.upper_str() << " down: " << str.lower_str()<<endl;
+    cout << "up: " << str.upper_str() << " down: " << str.lower_str ()<<endl;
     
-    if ( str == String( "" ) )
+    if ( str == String ("") )
         cout << str << " is empty" << endl;
     else
        cout << str << " is not empty"<<endl;
 
     
     String fn = "";
-    if ( fn == "" )
+    if ( fn == "")
         cout << fn << " is empty" << endl;
     else
-       assert(false);
+       assert (false);
     
     fn = "";
     fn += "";
     delete fn.copy_byte_p();
     delete str.copy_byte_p();
 
-    cout << String_convert::bin2hex_str( String( (char)0xff ) ) << endl;
+    cout << String_convert::bin2hex_str (String ((char)0xff) ) << endl;
 }
 
 #endif STRING_TEST
index d73e4f14d374930e3479c2d30bd43c1030832eff..d1db31b1606df025f6eed01048ebc47ec19d4082 100644 (file)
@@ -10,9 +10,9 @@
 #include <sys/types.h>
 #include <memory.h>
 void* 
-mymemmove( void* dest, void const* src, size_t n )
+mymemmove (void* dest, void const* src, size_t n)
 {
-       return memcpy( dest, src, n ); // wohltempererit: 69006
+       return memcpy (dest, src, n); // wohltempererit: 69006
 }
 #define memmove mymemmove
 #endif
index ebfc992ff2d961a498dfc509a08412c655815b94..3624d46ff72dc9ca85cff093267712cc1d4a1531 100644 (file)
@@ -28,20 +28,20 @@ Text_db::get_record()
    while (1) {
        String s;
        Array<String> fields;
-       assert(!eof());
+       assert (!eof());
        
        while ((s = get_word()) != "")
            {
-           fields.push(s);     
+           fields.push (s);    
            gobble_white();
            }
             
 
        if (get_line() != "")
-           assert(false);
+           assert (false);
       
        assert (fields.size());
-       return Text_record(fields, get_name(), line());
+       return Text_record (fields, get_name(), line ());
    }
 }
 
index a2d3e4b1199acae862debead233556f62ff9f3db..a8eb695ea22840383cbb47c0aed61d5dc6b7e2e2 100644 (file)
@@ -1,6 +1,6 @@
 #include "text-stream.hh"
 
-Text_stream::Text_stream(String fn)
+Text_stream::Text_stream (String fn)
 {
     ios::sync_with_stdio();
     if (fn == "") 
@@ -12,20 +12,20 @@ Text_stream::Text_stream(String fn)
        else 
            {
            name = fn;      
-           f = fopen(fn, "r");
+           f = fopen (fn, "r");
            }
        
        if (!f) {
            cerr <<__FUNCTION__<< ": can't open `" << fn << "'\n";
-           exit(1);
+           exit (1);
        }
 
        line_no = 1;
     }
 
 void
-Text_stream::message(String s)
+Text_stream::message (String s)
 {
-    cerr << "\n"<<get_name() << ": " << line()<<": "<<s<<endl;
+    cerr << "\n"<<get_name() << ": " << line ()<<": "<<s<<endl;
 }
 
index e7b0831dd1f36acef4416340ae192e87793b454e..1108f1459a9be2e7bb00a15aaf076dbdf1e06e2f 100644 (file)
@@ -3,9 +3,9 @@
     see a book on data structures
     */
 
-Union_find::Union_find(int n)
+Union_find::Union_find (int n)
 {
-    classes.set_size(n);
+    classes.set_size (n);
 
     for (int i=0; i < n; i++) {
        classes[i] = i;
@@ -13,7 +13,7 @@ Union_find::Union_find(int n)
 }
 
 int
-Union_find::find(int i)
+Union_find::find (int i)
 {
     int rep = i;
     while (classes[rep] != rep)
@@ -27,9 +27,9 @@ Union_find::find(int i)
 }
 
 void
-Union_find::connect(int i, int j)
+Union_find::connect (int i, int j)
 {
-    i = find(i);
-    j = find(j);
+    i = find (i);
+    j = find (j);
     classes[i] = j;    
 }
index 5cb2666e79254e2eb10f635f583cb4c0757f8872..ebe2a729d632cf5136e9f6436c14d17b86fd1d26 100644 (file)
@@ -1,25 +1,25 @@
 #include "vector.hh"
-Vector::Vector(Array<Real> d)
-       : dat(d)
+Vector::Vector (Array<Real> d)
+       : dat (d)
 {
  
 }
-Vector::Vector(Vector const &n)
-    : dat(n.dat)
+Vector::Vector (Vector const &n)
+    : dat (n.dat)
 {
 }    
 
 Vector
 Vector::operator-() const
 {
-    Vector v(*this);
+    Vector v (*this);
     v*=-1;
     return v;
 }
 
 void
-Vector::set_unit(int j)
+Vector::set_unit (int j)
 {
-    fill(0.0);
+    fill (0.0);
     dat[j] = 1.0;
 }
index 08f9b997b07a8be1d852342259a985feb9335aff..89b429867963177833898b3526e99066c49cae4a 100644 (file)
@@ -217,12 +217,8 @@ bc=\melodic{
     \bc
   >
   \paper{
-    geometric=1.2;
-    unitspace=8.\mm;
     linewidth=18.\cm;
-    gourlay_maxmeasures=4.;
-    gourlay_energybound = 70000.;
-       basicspace = 2.8\pt;
+    gourlay_maxmeasures=5.;
   }
 }
 
diff --git a/input/s.ly b/input/s.ly
new file mode 100644 (file)
index 0000000..f3aba77
--- /dev/null
@@ -0,0 +1,43 @@
+vi1=\melodic{
+  \meter 4/4;
+  \octave c'';
+
+  B8 G G G16 A B8 G G G16 A | 
+       
+}
+
+vi2=\melodic{
+  \meter 4/4;
+  \octave c'';
+
+% r16
+  r1
+}
+
+%{
+bc=\melodic{
+  \clef "bass";
+  \meter 4/4;
+  \octave c;
+
+  G1 |
+}
+%}
+
+\score{
+  < \multi 3;
+    \vi1
+    \vi2
+
+  >
+
+  \paper{
+    geometric=1.2;
+    unitspace=8.\mm;
+    linewidth=18.\cm;
+    gourlay_maxmeasures=4.;
+    gourlay_energybound = 70000.;
+       basicspace = 2.8\pt;
+  }
+}
index 9890a2c8ffd683e49b1d69116ac729d8af7cf7f7..be919a0ac8748f642d423bfcfef16303c9e4468b 100644 (file)
@@ -10,7 +10,6 @@
 \begin{document}
 \input lilyponddefs
 \input titledefs
-\def\interstaffline{\vskip1mm}
 \def\interscoreline{\vskip3mm}
 \title{St\"andchen\normalsize\\[2ex](Serenade)}
 \composer{Franz Schubert (1797-1828)}
index b3c6234a820a8ec66d08ea70929113569bf20276..95ad2fc3ab91f0b0502cc131dfefaa67b91e6bd0 100644 (file)
@@ -9,7 +9,6 @@
  copyright: Public Domain 
 
  Tested Features: stem direction, multivoice, forced accidentals.
-
 %}
 
 \version "0.1.1";
@@ -176,7 +175,10 @@ bassdux =
                  >
              >
 
-    \paper{}
+    \paper{
+       gourlay_maxmeasures =4.;
+       
+    }
     \midi {
         \tempo 4 = 84;
     }
index f81b3c2be92ed9d0e74ee6248259b2ac7a7aa7b9..fab55e756c9a10e786667dc476068517c7b444fa 100644 (file)
@@ -27,13 +27,6 @@ Duration::Duration()
        ticks_i_ = 0;
 }
 
-Duration::Duration( int type_i, int dots_i = 0 )
-{
-       type_i_ = type_i;
-       dots_i_ = dots_i;
-       ticks_i_ = 0;
-}
-
 bool
 Duration::duration_type_b(int t)
 {
index 0c5b313e4b62c0810be30a65335b528180534315..c46fc5a7c0d7320ad4ef9834ec46e421e970e6fa 100644 (file)
@@ -41,7 +41,6 @@ struct Duration {
       Ctor of Duration. type_i should be a power of 2. 
        */
     Duration();
-    Duration( int type_i, int dots_i = 0 );
     /// is the "plet factor" of this note != 1 ?
     bool plet_b();
     String str()const;
index 1d199671ffa1383977a14c42ae3dfc9b8ba3a427..96fb10193ea6cfa02f756bd17c65d5edbed794d5 100644 (file)
@@ -5,10 +5,8 @@
 
 #ifndef SOURCE_HH
 #define SOURCE_HH
-
-#include "proto.hh"
 #include "plist.hh"
-
+#include "proto.hh"
 class Sources 
 {
 public:
index 2e3d527baf25a7bf060bea6596a6c8c5f12f8a09..4fefc0b56373e82f6be40da224544e7d7c131c28 100644 (file)
@@ -1,6 +1,16 @@
+/*
+  template.cc -- instantiate Pointer_list<Source_file*>
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
 #include "source-file.hh"
 #include "plist.tcc"
 #include "pcursor.tcc"
+#include "cursor.tcc"
+#include "list.tcc"
 
-
-IPL_instantiate(Source_file);
+template L_INSTANTIATE(void *);
+template IPL_INSTANTIATE(Source_file);
index c04453cdaa59eb20b92f1fb6684db8da8a604e2f..d87385f58721cfef70a17ef7c2138703479fc7dd 100644 (file)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
-PATCH_LEVEL = 7
+PATCH_LEVEL = 8
 # use to send patches, always empty for released version:
 # include separator: ".postfix", "-pl" makes rpm barf
 
index 0d8eb44f44cc59ad9130ff6625988b2b838a771c..ac3c246a03e8724e950ac918b32564a09cb64224 100644 (file)
@@ -17,19 +17,19 @@ void
 Atom::print() const
 {
 #ifndef NPRINT
-    mtor << "texstring: " <<sym_.tex<<"\n";    
+    DOUT << "texstring: " <<sym_.tex<<"\n";    
 #endif
 }
 
 Box
 Atom::extent() const
 {
-    Box bsym_.dim);
-    b.translate(off_);
+    Box b (sym_.dim);
+    b.translate (off_);
     return b;
 }
 
-Atom::Atom(Symbol s)
+Atom::Atom (Symbol s)
 {
     sym_=s;
 }
@@ -39,14 +39,14 @@ String
 Atom::TeX_string() const
 {
     /* infinity checks. */
-    assert( abs(off_.x()) < 100 CM);
-    assert( abs(off_.y()) < 100 CM);
+    assert (abs (off_.x()) < 100 CM);
+    assert (abs (off_.y()) < 100 CM);
     
     // whugh.. Hard coded...
-    String s("\\placebox{%}{%}{%}");
+    String s ("\\placebox{%}{%}{%}");
     Array<String> a;
-    a.push(print_dimen(off_.y()));
-    a.push(print_dimen(off_.x()));
-    a.push(sym_.tex);
-    return substitute_args(s, a);
+    a.push (print_dimen (off_.y()));
+    a.push (print_dimen (off_.x()));
+    a.push (sym_.tex);
+    return substitute_args (s, a);
 }
index 0bda45c592a0383e447a9b5c6eb58743aec58c3b..e0d87b1a9921cb551da56028018407c2c215fdfd 100644 (file)
 
 #include "debug.hh"
 
-Audio_column::Audio_column( Moment at_mom )
+Audio_column::Audio_column (Moment at_mom)
 {
     at_mom_ = at_mom;
     audio_score_l_ = 0;
 }
 
 void
-Audio_column::add( Audio_item* l )
+Audio_column::add (Audio_item* l)
 {
-    audio_item_l_list_.bottom().add( l );
+    audio_item_l_list_.bottom().add (l);
     l->audio_column_l_ = this; 
 }
 
@@ -35,9 +35,9 @@ void
 Audio_column::print() const
 {
 #ifndef NPRINT
-    mtor << "Audio_column {";
-    mtor << "at: " << at_mom_ << "\n";
-    mtor << "}\n";
+    DOUT << "Audio_column {";
+    DOUT << "at: " << at_mom_ << "\n";
+    DOUT << "}\n";
 #endif 
 }
 
index 4e057350136f89612ded9fe3007849b663e1ed07..125541202e2c917253b21384af99ceae87727a90 100644 (file)
@@ -9,8 +9,8 @@
 #include "audio-item.hh"
 #include "midi-item.hh"
 
-Audio_instrument::Audio_instrument( String instrument_str )
-       : Audio_item( 0 )
+Audio_instrument::Audio_instrument (String instrument_str)
+       : Audio_item (0)
 {
     str_ = instrument_str;
 }
@@ -18,40 +18,40 @@ Audio_instrument::Audio_instrument( String instrument_str )
 Midi_item*
 Audio_instrument::midi_item_p()
 {
-    return str_.length_i() ? new Midi_instrument( 0, str_ ) : 0;
+    return new Midi_instrument (0, str_);
 }
                                       
-Audio_item::Audio_item( Request* req_l )
+Audio_item::Audio_item (Request* req_l)
 {
     audio_column_l_ = 0;
     req_l_ = req_l;
 }
 
-Audio_key::Audio_key( Request* req_l )
-       : Audio_item( req_l )
+Audio_key::Audio_key (Request* req_l)
+       : Audio_item (req_l)
 {
 }
 
 Midi_item*
 Audio_key::midi_item_p()
 {
-    return new Midi_key( this );
+    return new Midi_key (this);
 }
 
 
-Audio_note::Audio_note( Request* req_l )
-       : Audio_item( req_l )
+Audio_note::Audio_note (Request* req_l)
+       : Audio_item (req_l)
 {
 }
 
 Midi_item*
 Audio_note::midi_item_p()
 {
-    return new Midi_note( this );
+    return new Midi_note (this);
 }
 
-Audio_tempo::Audio_tempo( int per_minute_4_i )
-       : Audio_item( 0 )
+Audio_tempo::Audio_tempo (int per_minute_4_i)
+       : Audio_item (0)
 {
     per_minute_4_i_ = per_minute_4_i;
 }
@@ -59,22 +59,22 @@ Audio_tempo::Audio_tempo( int per_minute_4_i )
 Midi_item*
 Audio_tempo::midi_item_p()
 {
-    return new Midi_tempo( this );
+    return new Midi_tempo (this);
 }
 
-Audio_meter::Audio_meter( Request* req_l )
-       : Audio_item( req_l )
+Audio_meter::Audio_meter (Request* req_l)
+       : Audio_item (req_l)
 {
 }
 
 Midi_item*
 Audio_meter::midi_item_p()
 {
-    return new Midi_meter( this );
+    return new Midi_meter (this);
 }
 
-Audio_text::Audio_text( Audio_text::Type type, String text_str )
-       : Audio_item( 0 )
+Audio_text::Audio_text (Audio_text::Type type, String text_str)
+       : Audio_item (0)
 {
        text_str_ = text_str;
        type_ = type;
@@ -83,7 +83,7 @@ Audio_text::Audio_text( Audio_text::Type type, String text_str )
 Midi_item*
 Audio_text::midi_item_p()
 {
-    return text_str_.length_i() ? new Midi_text( this ) : 0;
+    return new Midi_text (this);
 }
 
 
index 27f82a074699a413b34df8070d406ed297b77e97..57f012e2332aeee71c6af769d4837bea08c1a293 100644 (file)
 #include "audio-score.hh"
 #include "score.hh"
 
-Audio_score::Audio_score( Score* l )
+Audio_score::Audio_score (Score* l)
 {
     score_l_ = l;
 }
 
 void
-Audio_score::add( Audio_column* p )
+Audio_score::add (Audio_column* p)
 {
     p->audio_score_l_ = this;
-    audio_column_p_list_.bottom().add(p);
+    audio_column_p_list_.bottom().add (p);
 }
 
 void
-Audio_score::output( Midi_stream& midi_stream_r )
+Audio_score::output (Midi_stream& midi_stream_r)
 {
     int tracks_i = audio_staff_l_list_.size() + 1;
     // ugh
     int clocks_per_4_i = 384;
-    midi_stream_r << Midi_header( 1, tracks_i, clocks_per_4_i );
-    output_header_track( midi_stream_r );
+    midi_stream_r << Midi_header (1, tracks_i, clocks_per_4_i);
+    output_header_track (midi_stream_r);
     int n = 1;
-    for ( PCursor<Audio_staff*> i( audio_staff_l_list_ ); i.ok(); i++ )
-       i->output( midi_stream_r, n++ );
+    for ( PCursor<Audio_staff*> i (audio_staff_l_list_); i.ok(); i++ )
+       i->output (midi_stream_r, n++);
 }
 
 void
-Audio_score::output_header_track( Midi_stream& midi_stream_r )
+Audio_score::output_header_track (Midi_stream& midi_stream_r)
 {
     Midi_track midi_track;
     
-    time_t t = time( 0 );
+    time_t t = time (0);
 
     // perhaps multiple text events?
-    String str = String( "Creator: " ) + get_version_str() + "\n";
+    String str = String ("Creator: ") + get_version_str() + "\n";
 
-    Midi_text creator( Midi_text::TEXT, str );
-    midi_track.add( Moment( 0 ), &creator );
+    Midi_text creator (Midi_text::TEXT, str);
+    midi_track.add (Moment (0), &creator );
 
     str = "Automatically generated at ";
-    str += ctime( &t );
-    str = str.left_str( str.length_i() - 1 );
+    str += ctime (&t);
+    str = str.left_str (str.length_i() - 1);
     str += "\n";
-    Midi_text generate( Midi_text::TEXT, str );
-    midi_track.add( Moment( 0 ), &generate );
+    Midi_text generate (Midi_text::TEXT, str);
+    midi_track.add (Moment (0), &generate );
 
     str = "from musical definition: ";
 
     str += score_l_->location_str();
-    Midi_text from( Midi_text::TEXT, str );
-    midi_track.add( Moment( 0 ), &from );
+    Midi_text from (Midi_text::TEXT, str);
+    midi_track.add (Moment (0), &from );
 
-    Midi_text track_nameMidi_text::TRACK_NAME, "Track " 
-                         + String_convert::i2dec_str( 0, 0, '0' ) );
-    midi_track.add( Moment( 0 ), &track_name );
+    Midi_text track_name (Midi_text::TRACK_NAME, "Track " 
+                         + String_convert::i2dec_str (0, 0, '0') );
+    midi_track.add (Moment (0), &track_name );
 
-    Midi_tempo tempo( score_l_->midi_p_->get_tempo_i( Moment( 1, 4 ) ) );
-    midi_track.add( Moment(0), &tempo);
+    Midi_tempo tempo (score_l_->midi_p_->get_tempo_i (Moment (1, 4) ) );
+    midi_track.add (Moment (0), &tempo);
 
     midi_stream_r  << midi_track;
 }
 
 void
-Audio_score::add_staff( Audio_staff* l )
+Audio_score::add_staff (Audio_staff* l)
 {
-    audio_staff_l_list_.bottom().add( l );
+    audio_staff_l_list_.bottom().add (l);
 }
 
 void
-Audio_score::add(Audio_element *p)
+Audio_score::add (Audio_element *p)
 {
-    audio_elem_p_list_.bottom().addp);
+    audio_elem_p_list_.bottom().add (p);
 }
 
 void
 Audio_score::print() const
 {    
 #ifndef NPRINT
-    mtor << "Audio_score { ";
+    DOUT << "Audio_score { ";
     score_l_->midi_p_->print();
-    mtor << "\ncolumns: ";
-    for ( PCursor<Audio_column*> i( audio_column_p_list_ ); i.ok(); i++ )
+    DOUT << "\ncolumns: ";
+    for ( PCursor<Audio_column*> i (audio_column_p_list_); i.ok(); i++ )
        i->print();
-    mtor << "}\n";
+    DOUT << "}\n";
 #endif 
 }
 
index 8dcae84e66005abf754660c4d5fed2f1fdbe2f72..c23b339b2b32abcdc596cb4cc8da0bfe9c10293c 100644 (file)
 #include "midi-walker.hh"
 
 void
-Audio_staff::add( Audio_item* l )
+Audio_staff::add (Audio_item* l)
 {
-    audio_item_l_list_.bottom().add( l );
+    audio_item_l_list_.bottom().add (l);
 }
 
 void
-Audio_staff::output( Midi_stream& midi_stream_r, int track_i )
+Audio_staff::output (Midi_stream& midi_stream_r, int track_i)
 {
     Midi_track midi_track;
     midi_track.number_i_ =  track_i;
-    for ( Midi_walker i( this, &midi_track ); i.ok(); i++ )
+    for ( Midi_walker i (this, &midi_track); i.ok(); i++ )
        i.process();
     midi_stream_r << midi_track;
 }
index bc1bffd00a7ebd86200bbec218a01e7c4612dbd4..c39a12c67367312cecc3164c49de55214dfbcc0e 100644 (file)
@@ -16,10 +16,10 @@ Axis_group_item::OK() const
     Link_array<Score_elem> elems = axis_admin_.elem_l_arr_; 
     for (int i=0; i < elems.size(); i++) {
        Item * it_l = elems[i]->item();
-       assert(it_l);
+       assert (it_l);
   
        // somebody probably broke it in pieces
-       assert (it_l->pcol_l_ == pcol_l_ );
+       assert (it_l->pcol_l_ == pcol_l_);
     }
 }
 
@@ -36,8 +36,8 @@ Axis_group_item::do_breakable_col_processing()
     for (int i=0; i < elems.size(); i++) {
        Item* it_l = elems[i]->item();
        for ( int j=0; j < 2; j++) {
-           Item *new_l = it_l->find_prebroken_piece(broken_to_a_[j]->pcol_l_);
-           ((Axis_group_item*)broken_to_a_[j])->add_element( new_l );
+           Item *new_l = it_l->find_prebroken_piece (broken_to_a_[j]->pcol_l_);
+           ((Axis_group_item*)broken_to_a_[j])->add_element (new_l);
        }
     }
     Item::do_breakable_col_processing();
index 94aab236b6b44272b16ed1ee014f2ad37d5abaec..a7fd4fa62b7e059bbe0a17c3be5f032abad95f35 100644 (file)
@@ -27,10 +27,10 @@ Axis_group_spanner::do_break_processing_if_unbroken()
                 && item_l->break_status_i() == 0) {
                // last two checks are paranoia
                Item * broken_item_l = 
-                   item_l->find_prebroken_piece( my_line );
-               add_element( broken_item_l );
+                   item_l->find_prebroken_piece (my_line);
+               add_element (broken_item_l);
            }
-           remove_element( elems[i] );  
+           remove_element (elems[i]);  
        }
     }
     
@@ -46,7 +46,7 @@ Axis_group_spanner::do_break_processing()
        return;
     }
 
-    break_into_pieces( true );
+    break_into_pieces (true);
     Link_array<Score_elem> loose_elems = axis_admin_.elem_l_arr_;
     remove_all();
     
@@ -54,7 +54,7 @@ Axis_group_spanner::do_break_processing()
        Score_elem * elt = loose_elems[i];
        Line_of_score *elt_line = elt->line_l();
        
-       if ( ! elt_line ){
+       if ( ! elt_line){
            /* this piece doesn't know where it belongs.
               Find out if it was broken, and use the broken remains
               */
@@ -66,28 +66,28 @@ Axis_group_spanner::do_break_processing()
                         = (Axis_group_spanner*)broken_into_l_arr_[j];
                    
                    Spanner * broken_span_l 
-                       = sp->find_broken_piece(
+                       = sp->find_broken_piece (
                            ((Score_elem*)my_broken_l)->line_l());
                    
                    if (broken_span_l) 
-                       my_broken_l->add_element(broken_span_l );
+                       my_broken_l->add_element (broken_span_l);
                    
                }
            } else if (elt->item() 
                       && elt->item()->breakable_b_ 
-                      && elt->item()->break_status_i() == 0) {
+                      && elt->item()->break_status_i () == 0) {
 
                // broken items
                for (int j =0; j < 2; j++) {
                    Item * my_item = elt->item()->broken_to_a_[j];
                    Line_of_score * item_line_l = my_item->line_l() ;
-                   if ( ! item_line_l 
+                   if ( ! item_line_l) 
                        continue;
                    
                    Axis_group_spanner * v
-                       = (Axis_group_spanner*)find_broken_piece( item_line_l );
+                       = (Axis_group_spanner*)find_broken_piece (item_line_l);
                    if (v)
-                       v->add_element( my_item );
+                       v->add_element (my_item);
                }
                    
            }
@@ -96,8 +96,8 @@ Axis_group_spanner::do_break_processing()
             Put it in appropriate piece of this spanner
             */
            Axis_group_spanner * my_broken_l
-               = (Axis_group_spanner*)find_broken_piece( elt->line_l() );
-           my_broken_l->add_element( elt );
+               = (Axis_group_spanner*)find_broken_piece (elt->line_l());
+           my_broken_l->add_element (elt);
        }
     }
     
index b6b5eec4fc59b8529d47a5707f894ecae36ccea5..4e09739471a23572291ba06fbdf10dc918a135c1 100644 (file)
 
 /** don't copy anything: an element can only be in one
   Axis_group_element at one time.  */
-Axis_group_administration::Axis_group_administration(
+Axis_group_administration::Axis_group_administration (
     Axis_group_administration const&)
 {
 }
 
 bool 
-Axis_group_administration::contains_b(Score_elem const *e)const
+Axis_group_administration::contains_b (Score_elem const *e)const
 {
-    return elem_l_arr_.find_l(e);
+    return elem_l_arr_.find_l (e);
 }
 
 Interval
-Axis_group_administration::extent(Axis axis)const
+Axis_group_administration::extent (Axis axis)const
 {
     Interval r;
     for (int i=0; i < elem_l_arr_.size(); i++) 
-       r.unite(elem_l_arr_[i]->extent(axis));
+       r.unite (elem_l_arr_[i]->extent (axis));
     return r;
 }
 
 void
-Axis_group_administration::add_element(Score_elem*e,
+Axis_group_administration::add_element (Score_elem*e,
                                       Axis_group_element*g, Axis a1, Axis a2)
 {
-    assert( ! e->axis_group_l_a_[a1] && !e->axis_group_l_a_[a2] );
+    assert (! e->axis_group_l_a_[a1] && !e->axis_group_l_a_[a2]);
     e->axis_group_l_a_[a1] = g;
     e->axis_group_l_a_[a2] = g;    
     elem_l_arr_.push ( e);
@@ -45,17 +45,17 @@ Axis_group_administration::add_element(Score_elem*e,
 
 
 void
-Axis_group_administration::remove_element(Score_elem*e, Axis a1, Axis a2)
+Axis_group_administration::remove_element (Score_elem*e, Axis a1, Axis a2)
 {
-    assert( contains_b( e));
-    elem_l_arr_.unordered_substitute(e,0);
+    assert (contains_b (e));
+    elem_l_arr_.unordered_substitute (e,0);
     
     e->axis_group_l_a_[a1] = 0;
     e->axis_group_l_a_[a2] = 0;    
 }
 
 void
-Axis_group_administration::remove_all(Axis a1, Axis a2)
+Axis_group_administration::remove_all (Axis a1, Axis a2)
 {
     for (int i=0; i < elem_l_arr_.size(); i++) { 
        Score_elem*e=elem_l_arr_[i];
@@ -71,6 +71,6 @@ Axis_group_administration::print() const
 {
 #ifndef NPRINT
     for (int i=0; i < elem_l_arr_.size(); i++) 
-       mtor << elem_l_arr_[i]->name() << ' ';
+       DOUT << elem_l_arr_[i]->name() << ' ';
 #endif
 }
index eddfd0c9b597b93348c0106afbf468035db726c4..821748434050c3b566adfdebef02758ec802b565 100644 (file)
@@ -10,7 +10,7 @@
 #include "string.hh"
 
 String
-axis_name_str(Axis a)
+axis_name_str (Axis a)
 {
     return String (a + 'x');
 }
index 1dda5113ca10118c6cdf0d24bcf4ab7991db7807..19b523cf786efbf7ee7214b476fe193fb0cc4dbc 100644 (file)
@@ -21,29 +21,29 @@ Bar_column_engraver::Bar_column_engraver()
 
 
 void
-Bar_column_engraver::acknowledge_element(Score_elem_info info)
+Bar_column_engraver::acknowledge_element (Score_elem_info info)
 {
-    if (info.elem_l_->is_type_b(Script::static_name()) 
+    if (info.elem_l_->is_type_b (Script::static_name()) 
        && info.req_l_->command()
        && info.origin_grav_l_arr_.size() == 1) {
-       script_l_arr_.push(Script*)info.elem_l_->item());
+       script_l_arr_.push ((Script*)info.elem_l_->item());
     } else {
        if  (info.origin_grav_l_arr_.size() == 1 
-            && info.elem_l_->is_type_b(Bar::static_name()))
+            && info.elem_l_->is_type_b (Bar::static_name()))
             bar_l_ = (Bar*)info.elem_l_->item();
     }
        
-    if ( bar_l_ && !barcol_p_ ) {
+    if ( bar_l_ && !barcol_p_) {
        barcol_p_ = new Bar_column;
        barcol_p_->breakable_b_ =true;
-       barcol_p_->set_bar( bar_l_ );
-       announce_element(Score_elem_info(barcol_p_, 0));
+       barcol_p_->set_bar (bar_l_);
+       announce_element (Score_elem_info (barcol_p_, 0));
     }
 
-    if  (barcol_p_ ) {
+    if  (barcol_p_) {
        for (int i=0; i < script_l_arr_.size(); i++) {
            script_l_arr_[i]->breakable_b_ = true;
-           barcol_p_->add(script_l_arr_[i]);
+           barcol_p_->add (script_l_arr_[i]);
        }
        script_l_arr_.clear();
     }
@@ -53,7 +53,7 @@ void
 Bar_column_engraver::do_pre_move_processing()
 {
     if (barcol_p_) {
-       typeset_element( barcol_p_ );
+       typeset_element (barcol_p_);
        barcol_p_ =0;
     }
 }
index 123b512ed4debd771e7b693d7697eb8c83d8deef..5f5dbf894b5d105da87bcc16116afa898209321e 100644 (file)
@@ -16,17 +16,17 @@ Bar_column::Bar_column()
 }
 
 void
-Bar_column::set_bar(Bar*b)
+Bar_column::set_bar (Bar*b)
 {
-    Script_column::add_support( b );
+    Script_column::add_support (b);
     bar_l_ = b;        
 }
 
 void
-Bar_column::do_substitute_dependency(Score_elem*o,Score_elem*n)
+Bar_column::do_substitute_dependency (Score_elem*o,Score_elem*n)
 {
-    Script_column::do_substitute_dependency(o,n);
-    if ( o == bar_l_ ) {
+    Script_column::do_substitute_dependency (o,n);
+    if ( o == bar_l_) {
        bar_l_ = n ? (Bar*)n->item() : 0;
     }
 }
index 3847e9a5ba298e1043b05f8e457cd8debaca4dc1..740f5d5d0413a6f53436a10c3055d0fbb2610680 100644 (file)
@@ -18,13 +18,13 @@ Bar_engraver::Bar_engraver()
 }
 
 bool
-Bar_engraver::do_try_request(Request*r_l)
+Bar_engraver::do_try_request (Request*r_l)
 {
     Command_req* c_l = r_l->command();
     if (!c_l|| !c_l->bar()) 
        return false;
     Bar_req  * b= c_l->bar();
-    if (bar_req_l_ && bar_req_l_->equal_b(b))
+    if (bar_req_l_ && bar_req_l_->equal_b (b))
        return false;
     
     bar_req_l_ = b;
@@ -35,7 +35,7 @@ Bar_engraver::do_try_request(Request*r_l)
 void
 Bar_engraver::do_process_requests()
 {
-    if (bar_req_l_ ) {
+    if (bar_req_l_) {
        bar_p_ = new Bar;
        bar_p_->type_str_=bar_req_l_->type_str_;
     } else if (!get_staff_info().time_C_->whole_in_measure_) {
@@ -43,10 +43,10 @@ Bar_engraver::do_process_requests()
     }
     
     if (bar_p_){
-       announce_element(Score_elem_info(bar_p_, bar_req_l_) );
+       announce_element (Score_elem_info (bar_p_, bar_req_l_));
     } else {
        Disallow_break_req r;
-       daddy_grav_l_->try_request(&r);
+       daddy_grav_l_->try_request (&r);
     }
 }
 
@@ -55,7 +55,7 @@ void
 Bar_engraver::do_pre_move_processing()
 {
       if (bar_p_) {
-         typeset_element(bar_p_);
+         typeset_element (bar_p_);
          bar_p_ =0;
       }
 }
index 4b0535f5a42eb8d1df3b9bc0d2470d03692d05d6..e824462a761c7a16ca0fba9bfe909a01b03ad4db 100644 (file)
@@ -22,10 +22,10 @@ Bar_number_grav::Bar_number_grav()
 static Command_script_req dummy;
 
 void
-Bar_number_grav::acknowledge_element(Score_elem_info i)
+Bar_number_grav::acknowledge_element (Score_elem_info i)
 {
     if (i.origin_grav_l_arr_.size() == 1 &&
-       i.elem_l_->is_type_bBar::static_name()) && !script_p_) {
+       i.elem_l_->is_type_b (Bar::static_name()) && !script_p_) {
 
        script_p_ = new Script;
        Text_def *td_p =new Text_def;
@@ -34,15 +34,15 @@ Bar_number_grav::acknowledge_element(Score_elem_info i)
        script_p_->breakable_b_ = true;
        script_p_->dir_i_ = 1;
 
-       announce_element(Score_elem_info( script_p_, &dummy));
+       announce_element (Score_elem_info (script_p_, &dummy));
     }
 }
 
 void
 Bar_number_grav::do_pre_move_processing()
 {
-    if ( script_p_ ) {
-       typeset_element(script_p_);
+    if ( script_p_) {
+       typeset_element (script_p_);
        script_p_ =0;
     }
 }
index 2342d227b256bbbd223e9a4a93f8c6b103c4d709..2f4b47b3b5faa7ea88d1844bc572913dbdc504e1 100644 (file)
@@ -27,16 +27,16 @@ IMPLEMENT_IS_TYPE_B1(Bar,Item);
 void
 Bar::do_print()const
 {
-    mtor << type_str_;
+    DOUT << type_str_;
 }
 
 Molecule*
 Bar::brew_molecule_p()const
 {    
     Paper_def *p = paper();
-    Symbol s = p->lookup_l()->bartype_str_, 
-                                  p->get_var("bar_size") );
-    Molecule*output = new Molecule(Atom(s));
+    Symbol s = p->lookup_l()->bar (type_str_, 
+                                  p->get_var ("bar_size"));
+    Molecule*output = new Molecule (Atom (s));
     return output;
 }
 
index 4dd852f1882d16e31b81b187227fc6c86093af7c..1f595cddb62b234427921a540ac189de44c2da34 100644 (file)
@@ -38,14 +38,14 @@ struct Stem_info {
     int beams_i_;
 
     Stem_info(){}
-    Stem_info(Stem const *);
+    Stem_info (Stem const *);
 };
 
-Stem_info::Stem_info(Stem const *s)
+Stem_info::Stem_info (Stem const *s)
 {
     x = s->hpos_f();
     dir_i_ = s->dir_i_;
-    beams_i_ = intlog2( s->flag_i_ ) - 2;
+    beams_i_ = intlog2( s->flag_i_) - 2;
 
     /*
      [todo] 
@@ -64,14 +64,14 @@ Stem_info::Stem_info(Stem const *s)
          
      */
 
-    Real notehead_y = s->paper()->interline_f();
+    Real notehead_y = s->paper()->interline_f ();
     // huh? why do i need the / 2
-//    Real interbeam_f = s->paper()->interbeam_f();
-    Real interbeam_f = s->paper()->interbeam_f() / 2;
+//    Real interbeam_f = s->paper()->interbeam_f ();
+    Real interbeam_f = s->paper()->interbeam_f () / 2;
            
     /* well eh, huh?
     idealy_f_  = dir_i_ * s->stem_start_f() + beams_i_ * interbeam_f; 
-    if ( beams_i_ < 3 )
+    if ( beams_i_ < 3)
        idealy_f_ += 2 * interline_f;
     else
        idealy_f_ += 1.5 * interline_f;
@@ -82,7 +82,7 @@ Stem_info::Stem_info(Stem const *s)
     miny_f_ = dir_i_ * s->stem_start_f() + notehead_y + beams_i_ * interbeam_f;
 
     idealy_f_ =  miny_f_ >? idealy_f_;
-//    assert(miny_f_ <= idealy_f_);
+//    assert (miny_f_ <= idealy_f_);
 }
 
 
@@ -92,8 +92,8 @@ Stem_info::Stem_info(Stem const *s)
 Offset
 Beam::center()const
 {
-    Real w=(paper()->note_width() + width().length())/2.0;
-    return Offset(w, (left_pos + w* slope)*paper()->internote_f());
+    Real w=(paper()->note_width () + width ().length ())/2.0;
+    return Offset (w, (left_pos + w* slope)*paper()->internote_f ());
 }
 
 
@@ -104,10 +104,10 @@ Beam::Beam()
 }
 
 void
-Beam::add(Stem*s)
+Beam::add (Stem*s)
 {
-    stems.push(s);
-    s->add_dependency(this);
+    stems.push (s);
+    s->add_dependency (this);
     s->print_flag_b_ = false;
 }
 
@@ -164,10 +164,10 @@ Beam::solve_slope()
        if (i->invisible_b())
            continue;
        
-       Stem_info info(i);
-       sinfo.push(info);
+       Stem_info info (i);
+       sinfo.push (info);
     }
-    if (! sinfo.size() )
+    if (! sinfo.size())
        slope = left_pos = 0;
     else if (sinfo.size() == 1) {
        slope = 0;
@@ -178,10 +178,10 @@ Beam::solve_slope()
        Least_squares l;
        for (int i=0; i < sinfo.size(); i++) {
            sinfo[i].x -= leftx;
-           l.input.push(Offset(sinfo[i].x, sinfo[i].idealy_f_));
+           l.input.push (Offset (sinfo[i].x, sinfo[i].idealy_f_));
        }
 
-       l.minimise(slope, left_pos);
+       l.minimise (slope, left_pos);
     }
     
     Real dy = 0.0;
@@ -198,15 +198,15 @@ Beam::solve_slope()
     slope *= dir_i_;
 
     /*
-      This neat trick is by Werner Lemberg, damped = tanh(slope) corresponds
+      This neat trick is by Werner Lemberg, damped = tanh (slope) corresponds
       with some tables in [Wanske]
      */
-    slope = 0.6 * tanh(slope);  
+    slope = 0.6 * tanh (slope);  
 
                                // ugh
-    Real sl = slope*paper()->internote_f();
-    paper()->lookup_l()->beam(sl, 20 PT);
-    slope = sl /paper()->internote_f();
+    Real sl = slope*paper()->internote_f ();
+    paper()->lookup_l ()->beam (sl, 20 PT);
+    slope = sl /paper()->internote_f ();
 }
 
 void
@@ -217,7 +217,7 @@ Beam::set_stemlens()
        Stem *s = stems[j];
 
        Real x =  s->hpos_f()-x0;
-       s->set_stemend(left_pos + slope * x);   
+       s->set_stemend (left_pos + slope * x);  
     }
 }
 
@@ -226,7 +226,7 @@ void
 Beam::do_post_processing()
 {
     if ( stems.size() < 2) {
-       warning("Beam with less than 2 stems");
+       warning ("Beam with less than 2 stems");
        transparent_b_ = true;
        return ;
     }
@@ -235,13 +235,13 @@ Beam::do_post_processing()
 }
 
 void
-Beam::set_grouping(Rhythmic_grouping def, Rhythmic_grouping cur)
+Beam::set_grouping (Rhythmic_grouping def, Rhythmic_grouping cur)
 {
     def.OK();
     cur.OK();
-    assert(cur.children.size() == stems.size());
+    assert (cur.children.size() == stems.size ());
     
-    cur.split(def);
+    cur.split (def);
 
     Array<int> b;
     {
@@ -249,18 +249,18 @@ Beam::set_grouping(Rhythmic_grouping def, Rhythmic_grouping cur)
        for (int j=0; j <stems.size(); j++) {
            Stem *s = stems[j];
 
-           int f = intlog2(abs(s->flag_i_))-2;
-           assert(f>0);
-           flags.push(f);
+           int f = intlog2(abs (s->flag_i_))-2;
+           assert (f>0);
+           flags.push (f);
        }
        int fi =0;
-       b= cur.generate_beams(flags, fi);
-       b.insert(0,0);
-       b.push(0);
-       assert(stems.size() == b.size()/2);
+       b= cur.generate_beams (flags, fi);
+       b.insert (0,0);
+       b.push (0);
+       assert (stems.size() == b.size ()/2);
     }
 
-    for (int j=0, i=0; i < b.size() && j <stems.size(); i+= 2, j++) {
+    for (int j=0, i=0; i < b.size() && j <stems.size (); i+= 2, j++) {
        Stem *s = stems[j];
        s->beams_left_i_ = b[i];
        s->beams_right_i_ = b[i+1];
@@ -279,23 +279,23 @@ Beam::do_pre_processing()
 Interval
 Beam::do_width() const
 {
-    return Intervalstems[0]->hpos_f(),
-                    stems.top()->hpos_f() );
+    return Interval (stems[0]->hpos_f(),
+                    stems.top()->hpos_f ());
 }
 
 /*
   beams to go with one stem.
   */
 Molecule
-Beam::stem_beams(Stem *here, Stem *next, Stem *prev)const
+Beam::stem_beams (Stem *here, Stem *next, Stem *prev)const
 {
-    assert( !next || next->hpos_f() > here->hpos_f()  );
-    assert( !prev || prev->hpos_f() < here->hpos_f()  );
-//    Real dy=paper()->internote_f()*2;
-    Real dy = paper()->interbeam_f();
-    Real stemdx = paper()->rule_thickness();
-    Real sl = slope*paper()->internote_f();
-    paper()->lookup_l()->beam(sl, 20 PT);
+    assert (!next || next->hpos_f() > here->hpos_f () );
+    assert (!prev || prev->hpos_f() < here->hpos_f () );
+//    Real dy=paper()->internote_f ()*2;
+    Real dy = paper()->interbeam_f ();
+    Real stemdx = paper()->rule_thickness ();
+    Real sl = slope*paper()->internote_f ();
+    paper()->lookup_l ()->beam (sl, 20 PT);
 
     Molecule leftbeams;
     Molecule rightbeams;
@@ -304,16 +304,16 @@ Beam::stem_beams(Stem *here, Stem *next, Stem *prev)const
     if (prev) {
        int lhalfs= lhalfs = here->beams_left_i_ - prev->beams_right_i_ ;
        int lwholebeams= here->beams_left_i_ <? prev->beams_right_i_ ;
-       Real w = (here->hpos_f() - prev->hpos_f())/4;
+       Real w = (here->hpos_f() - prev->hpos_f ())/4;
        Symbol dummy;
-       Atom a(dummy);
+       Atom a (dummy);
        if (lhalfs)             // generates warnings if not
-           a =  paper()->lookup_l()->beam(sl, w);
-       a.translate(Offset (-w, -w * sl));
+           a =  paper()->lookup_l ()->beam (sl, w);
+       a.translate (Offset (-w, -w * sl));
        for (int j = 0; j  < lhalfs; j++) {
-           Atom b(a);
-           b.translate-dir_i_ * dy * (lwholebeams+j), Y_AXIS);
-           leftbeams.add( b );
+           Atom b (a);
+           b.translate (-dir_i_ * dy * (lwholebeams+j), Y_AXIS);
+           leftbeams.add (b);
        }
     }
        
@@ -321,28 +321,28 @@ Beam::stem_beams(Stem *here, Stem *next, Stem *prev)const
        int rhalfs = here->beams_right_i_ - next->beams_left_i_;
        int rwholebeams = here->beams_right_i_ <? next->beams_left_i_; 
 
-       Real w = next->hpos_f() - here->hpos_f();
-       Atom a = paper()->lookup_l()->beam(sl, w + stemdx);
+       Real w = next->hpos_f() - here->hpos_f ();
+       Atom a = paper()->lookup_l ()->beam (sl, w + stemdx);
        
        int j = 0;
        for (; j  < rwholebeams; j++) {
-           Atom b(a);
-           b.translate-dir_i_ * dy * j, Y_AXIS);
-           rightbeams.add( b ); 
+           Atom b (a);
+           b.translate (-dir_i_ * dy * j, Y_AXIS);
+           rightbeams.add (b); 
        }
 
        w /= 4;
        if (rhalfs)
-           a = paper()->lookup_l()->beam(sl, w);
+           a = paper()->lookup_l ()->beam (sl, w);
        
        for (; j  < rwholebeams + rhalfs; j++) {
-           Atom b(a);
-           b.translate-dir_i_ * dy * j, Y_AXIS);
-           rightbeams.add(b ); 
+           Atom b (a);
+           b.translate (-dir_i_ * dy * j, Y_AXIS);
+           rightbeams.add (b); 
        }
        
     }
-    leftbeams.add(rightbeams);
+    leftbeams.add (rightbeams);
     return leftbeams;
 }
 
@@ -353,20 +353,20 @@ Beam::brew_molecule_p() const
  
     Molecule *mol_p = new Molecule;
     // huh? inter-what
-//    Real inter_f = paper()->interbeam_f();
-    Real inter_f = paper()->internote_f();
+//    Real inter_f = paper()->interbeam_f ();
+    Real inter_f = paper()->internote_f ();
     Real x0 = stems[0]->hpos_f();
     for (int j=0; j <stems.size(); j++) {
        Stem *i = stems[j];
        Stem * prev = (j > 0)? stems[j-1] : 0;
        Stem * next = (j < stems.size()-1) ? stems[j+1] :0;
 
-       Molecule sb = stem_beams(i, next, prev);
+       Molecule sb = stem_beams (i, next, prev);
        Real  x = i->hpos_f()-x0;
-       sb.translate(Offset(x, (x * slope  + left_pos)* inter_f));
-       mol_p->add(sb);
+       sb.translate (Offset (x, (x * slope  + left_pos)* inter_f));
+       mol_p->add (sb);
     }
-    mol_p->translate(x0 - left_col_l_->hpos_f_, X_AXIS);
+    mol_p->translate (x0 - left_col_l_->hpos_f_, X_AXIS);
     return mol_p;
 }
 
@@ -377,15 +377,15 @@ void
 Beam::do_print()const
 {
 #ifndef NPRINT
-    mtor << "slope " <<slope << "left ypos " << left_pos;
+    DOUT << "slope " <<slope << "left ypos " << left_pos;
     Spanner::do_print();
 #endif
 }
 
 void
-Beam::do_substitute_dependent(Score_elem*o,Score_elem*n)
+Beam::do_substitute_dependent (Score_elem*o,Score_elem*n)
 {
-    if (o->is_type_b( Stem::static_name() )) {
-       stems.substitute( (Stem*)o->item(),  n?(Stem*) n->item():0);
+    if (o->is_type_b (Stem::static_name())) {
+       stems.substitute ((Stem*)o->item(),  n?(Stem*) n->item ():0);
     }
 }
index 46707624af26701f6b3dce61f1d6d756832fcf12..728f9817a6aedba249c51aa86f15d47b9e02a6d5 100644 (file)
@@ -23,9 +23,9 @@ Bow::center() const
 {
     int dy =  right_pos_i_-left_pos_i_;
 
-    Real w = width().length();
+    Real w = width().length ();
 
-    return Offset(w/2,dy * paper()->internote_f());
+    return Offset (w/2,dy * paper()->internote_f ());
 }
 
 
@@ -33,25 +33,25 @@ Molecule*
 Bow::brew_molecule_p() const
 {
     Molecule*output = new Molecule;
-    Real w = width().length();
+    Real w = width().length ();
     
     int dy = right_pos_i_ - left_pos_i_;
     
-    Real nw_f = paper()->note_width();
-    Real nh_f = paper()->internote_f();
+    Real nw_f = paper()->note_width ();
+    Real nh_f = paper()->internote_f ();
 
     
     w+= (right_dx_f_ - left_dx_f_) * nw_f ;
     Real round_w = w;          // slur lookup rounds the slurwidth .
     
-    Symbol sl = paper()->lookup_l()->slur(dy , round_w, dir_i_);
+    Symbol sl = paper()->lookup_l ()->slur (dy , round_w, dir_i_);
 
     Real error = w-round_w;
     
-    Atom a(sl);
-    a.translate(Offset((left_dx_f_ + 0.5 )*nw_f + error/2,
+    Atom a (sl);
+    a.translate (Offset ((left_dx_f_ + 0.5)*nw_f + error/2,
                       left_pos_i_ * nh_f));
-    output->add(a);
+    output->add (a);
     return output;
 }
 
index d06bfd21654d448ea1c3b494e0693e8efbe0ff61..756ce877571789d15049b313495f1dbad43b9552 100644 (file)
@@ -6,7 +6,7 @@ Box::Box()
 {        
 }
 
-Box::Box(Interval ix, Interval iy)
+Box::Box (Interval ix, Interval iy)
 {
     x() = ix;
     y() = iy;
index 8edb91a8b669785fac6fc04a3396d4e2274a20ae..2fb1935dfef8d6200af9179dc0d65566677ca1e0 100644 (file)
 
 String
 Col_stats::str() const { 
-    String s(count_i_);
+    String s (count_i_);
     s += " lines";
     if  (count_i_)
-       s += String(Real(cols_i_)/count_i_, ", (with an average of %.1f columns)");
+       s += String (Real (cols_i_)/count_i_, ", (with an average of %.1f columns)");
     
     return s;
 }
 
 void
-Col_stats::add(Line_of_cols const& line)
+Col_stats::add (Line_of_cols const& line)
 {
     count_i_++;
     cols_i_ += line.size();
@@ -45,10 +45,10 @@ Line_of_cols
 Break_algorithm::all_cols()const
 {
     Line_of_cols retval;
-    for (PCursor<PCol*> c(pscore_l_->col_p_list_.top()); 
+    for (PCursor<PCol*> c (pscore_l_->col_p_list_.top()); 
         c.ok(); c++) {
        
-       retval.push(c);
+       retval.push (c);
     }
     return retval;
 }
@@ -56,16 +56,16 @@ Break_algorithm::all_cols()const
 Array<int> 
 Break_algorithm::find_break_indices() const
 {
-    Line_of_cols all(all_cols());
+    Line_of_cols all (all_cols());
     Array<int> retval;
     
     for (int i=0; i < all.size(); i++)
        if (all[i]->breakable_b())
-           retval.push(i);
+           retval.push (i);
     
     if ( linelength <=0)
        while ( retval.size() >2)
-           retval.del(1);
+           retval.del (1);
 
     return retval;
 }
@@ -74,17 +74,17 @@ Break_algorithm::find_break_indices() const
 Line_of_cols
 Break_algorithm::find_breaks() const
 {
-    Line_of_cols all(all_cols());
+    Line_of_cols all (all_cols());
     Line_of_cols retval;
     
     for (int i=0; i < all.size(); i++)
        if (all[i]->breakable_b())
-           retval.push(all[i]);
+           retval.push (all[i]);
 
 
     if ( linelength <=0)
        while ( retval.size() >2)
-           retval.del(1);
+           retval.del (1);
 
     return retval;
 }
@@ -94,19 +94,19 @@ Break_algorithm::find_breaks() const
  
 
 Line_spacer*
-Break_algorithm::generate_spacing_problem(Line_of_cols curline)const
+Break_algorithm::generate_spacing_problem (Line_of_cols curline)const
 {
     Line_spacer * sp= (*get_line_spacer)();
 
     sp->paper_l_ = pscore_l_->paper_l_;
-    sp->add_column(curline[0], true, 0.0);
+    sp->add_column (curline[0], true, 0.0);
     for (int i=1; i< curline.size()-1; i++)
-       sp->add_column(curline[i]);
+       sp->add_column (curline[i]);
 
     if ( linelength > 0)
-       sp->add_column(curline.top(), true, linelength);
+       sp->add_column (curline.top(), true, linelength);
     else
-       sp->add_column(curline.top());
+       sp->add_column (curline.top());
 
     sp->prepare();
     return sp;
@@ -120,7 +120,7 @@ Break_algorithm::Break_algorithm()
 }
 
 void
-Break_algorithm::set_pscore(Paper_score*s)
+Break_algorithm::set_pscore (Paper_score*s)
 {
     pscore_l_ = s;
     linelength = s->paper_l_->linewidth_f();
@@ -128,14 +128,14 @@ Break_algorithm::set_pscore(Paper_score*s)
 }
 
 bool
-Break_algorithm::feasible(Line_of_cols curline) const
+Break_algorithm::feasible (Line_of_cols curline) const
 {
     if (linelength <=  0)
        return true;
     
     Real l =0;
     for (int i=0; i < curline.size(); i++)
-       l +=curline[i]->width().length();
+       l +=curline[i]->width().length ();
     return l < linelength;    
 }
 
@@ -143,7 +143,7 @@ void
 Break_algorithm::problem_OK() const
 {
     if (!pscore_l_->col_p_list_.size())
-       error("Score does not have any columns");
+       error ("Score does not have any columns");
     OK();
 }
 
@@ -151,11 +151,11 @@ void
 Break_algorithm::OK()const
 {
 #ifndef NDEBUG
-    iter_top(pscore_l_->col_p_list_,start);
+    iter_top (pscore_l_->col_p_list_,start);
     PCursor<PCol *> end (pscore_l_->col_p_list_.bottom());
     
-    assert(start->breakable_b());    
-    assert(end->breakable_b());
+    assert (start->breakable_b());    
+    assert (end->breakable_b());
 #endif
 }
 
index a4426bcea2e4a5e19ad1a2425bc36d640d7b9508..93abaf29310042b6bfee0d6441f455d7d552fb4c 100644 (file)
@@ -19,11 +19,11 @@ Clef_engraver::Clef_engraver()
     clef_p_ = 0;
     clef_req_l_ =0;
     
-    set_type("violin");
+    set_type ("violin");
 }
 
 bool
-Clef_engraver::set_type(String s)
+Clef_engraver::set_type (String s)
 {
     clef_type_str_  = s;
     if (clef_type_str_ == "violin") {
@@ -41,23 +41,23 @@ Clef_engraver::set_type(String s)
 }
 
 void
-Clef_engraver::fill_staff_info(Staff_info &i)
+Clef_engraver::fill_staff_info (Staff_info &i)
 {
     i.c0_position_i_l_ = &c0_position_i_;
 }
 
 void 
-Clef_engraver::read_req(Clef_change_req*c_l)
+Clef_engraver::read_req (Clef_change_req*c_l)
 {
-    if (!set_type(c_l->clef_str_))
-       c_l->error("unknown clef type ");
+    if (!set_type (c_l->clef_str_))
+       c_l->error ("unknown clef type ");
 }
 void
-Clef_engraver::acknowledge_element(Score_elem_info info)
+Clef_engraver::acknowledge_element (Score_elem_info info)
 {
-    if (info.elem_l_->name() == Bar::static_name() ) {
+    if (info.elem_l_->name() == Bar::static_name ()) {
        create_clef();
-       if ( !clef_req_l_ )
+       if ( !clef_req_l_)
            clef_p_->default_b_ = true;
     }
 }
@@ -70,7 +70,7 @@ Clef_engraver::do_creation_processing()
 }
 
 bool
-Clef_engraver::do_try_request(Request * r_l)
+Clef_engraver::do_try_request (Request * r_l)
 {
     Command_req* creq_l= r_l->command();
     if (!creq_l || !creq_l->clefchange())
@@ -78,7 +78,7 @@ Clef_engraver::do_try_request(Request * r_l)
 
     clef_req_l_ = creq_l->clefchange();
     
-    read_req(clef_req_l_); 
+    read_req (clef_req_l_); 
     return true;
 }
 
@@ -87,9 +87,9 @@ Clef_engraver::create_clef()
 {
     if (!clef_p_) {
        clef_p_ = new Clef_item;
-        announce_element(Score_elem_info(clef_p_,clef_req_l_));
+        announce_element (Score_elem_info (clef_p_,clef_req_l_));
     }
-    clef_p_->read(*this);
+    clef_p_->read (*this);
 }
 
 void
@@ -106,7 +106,7 @@ Clef_engraver::do_pre_move_processing()
 {
     if (!clef_p_)
        return;
-    typeset_element(clef_p_);
+    typeset_element (clef_p_);
     clef_p_ = 0;
 }
     
index 67742488ca421babf2b6f08450578f870ee13fd1..b1a9c4a66555d34bce99fd1f197400c5f59037b8 100644 (file)
@@ -30,11 +30,11 @@ Clef_item::Clef_item()
     breakable_b_ =true;
     default_b_ = false;
     change_b_ = true;
-    read("violin");
+    read ("violin");
 }
 
 void
-Clef_item::read(String t)
+Clef_item::read (String t)
 {
     type_= t;
     if (type_ == "violin")
@@ -47,9 +47,9 @@ Clef_item::read(String t)
        y_off = 6;
 }
 void
-Clef_item::read(Clef_engraver const &k)
+Clef_item::read (Clef_engraver const &k)
 {
-    read(k.clef_type_str_);
+    read (k.clef_type_str_);
 }
 
 Molecule*
@@ -58,9 +58,9 @@ Clef_item::brew_molecule_p()const
     String t = type_;
     if  (change_b_)
        t += "_change";
-    Symbol s = paper()->lookup_l()->clef(t);
-    Molecule*output = new Molecule(Atom(s));
-    output->translate( paper()->internote_f() * y_off, Y_AXIS);
+    Symbol s = paper()->lookup_l ()->clef (t);
+    Molecule*output = new Molecule (Atom (s));
+    output->translate (paper()->internote_f () * y_off, Y_AXIS);
     return output;
 }
 
index e54d421b3a2330093297ff24959ccc9766099943..deb2dee7308191acecace5d4a7cddfbb99fd9c61 100644 (file)
@@ -14,19 +14,19 @@ void
 Colinfo::print() const
 {
 #ifndef NPRINT
-    mtor << "column { ";
+    DOUT << "column { ";
     if (fixed())
-       mtor << "fixed at " << fixed_position()<<", ";
-    assert(pcol_l_);
-    mtor << "[" << minleft() << ", " << minright() << "]";
-    mtor <<"}\n";
+       DOUT << "fixed at " << fixed_position()<<", ";
+    assert (pcol_l_);
+    DOUT << "[" << minleft() << ", " << minright () << "]";
+    DOUT <<"}\n";
 #endif
 }
 
-Colinfo::Colinfo(PCol *col_l, Real const *fixed_C)
+Colinfo::Colinfo (PCol *col_l, Real const *fixed_C)
 {
     if (fixed_C)
-       fixpos_p_.set_l(fixed_C);
+       fixpos_p_.set_l (fixed_C);
     ugh_b_ = false;
     pcol_l_ = col_l;
     width = pcol_l_->width();
index aade26ac49beb35a2888ddaf98bcb650611540dd..23d42e65ff7dd3d24accbd40e4bbad4089abf0d9 100644 (file)
@@ -26,19 +26,19 @@ Col_hpositions::~Col_hpositions()
 }
 
 void
-Col_hpositions::addPCol*c)
+Col_hpositions::add (PCol*c)
 {
-    cols.push(c);
+    cols.push (c);
 }
 
 void
 Col_hpositions::print() const
 {
 #ifndef NPRINT
-    mtor << "energy : " << energy_f_ << '\n';
-    mtor << "line of " << config.size() << " cols\n";
-    Vector v(config);
-    mtor << v;
+    DOUT << "energy : " << energy_f_ << '\n';
+    DOUT << "line of " << config.size() << " cols\n";
+    Vector v (config);
+    DOUT << v;
 #endif
 }
 
@@ -46,7 +46,7 @@ void
 Col_hpositions::OK()const
 {
 #ifndef NDEBUG
-    assert(config.size() == cols.size());
+    assert (config.size() == cols.size ());
 #endif
 }
 
@@ -61,14 +61,14 @@ Col_hpositions::stupid_solution()
 void
 Col_hpositions::solve_line() 
 {
-    spacer_l_->solve(this);
+    spacer_l_->solve (this);
 }
 
 
 void
 Col_hpositions::approximate_solve_line() 
 {
-    spacer_l_->lower_bound_solution(this);
+    spacer_l_->lower_bound_solution (this);
 }
 
 
index 8eaa7cd30f45bde0d633d2a26e540da5ad47fc99..600703bcd2daf5347232ddf5cd85d872d8275150 100644 (file)
 #include "collision.hh"
 
 void
-Collision_engraver::acknowledge_element(Score_elem_info i)
+Collision_engraver::acknowledge_element (Score_elem_info i)
 {
-    if (!(i.elem_l_->name() == Note_column::static_name()))
+    if (!(i.elem_l_->name() == Note_column::static_name ()))
        return;
 
     if (!col_p_) {
        col_p_ = new Collision;
-       announce_element(Score_elem_info(col_p_,0));
+       announce_element (Score_elem_info (col_p_,0));
     }
-    col_p_->add((Note_column*)i.elem_l_->item());
+    col_p_->add ((Note_column*)i.elem_l_->item());
 }
 
 void
 Collision_engraver::do_pre_move_processing()
 {
     if (col_p_) {
-       typeset_element(col_p_);
+       typeset_element (col_p_);
        col_p_ =0;
     }
 }
index 0af68c462e2e3efc6fe9ca1a61cd264d31997416..798c74be456131b13f0ccce229078b192759d6d2 100644 (file)
 
 Collision::Collision()
 {
-    empty_b_ = transparent_b_ =true;
 }
 
 void
-Collision::add(Note_column* ncol_l)
+Collision::add (Note_column* ncol_l)
 {
-    clash_l_arr_.push(ncol_l);
-    add_element( ncol_l );
-    add_dependency(ncol_l);
+    clash_l_arr_.push (ncol_l);
+    add_element (ncol_l);
+    add_dependency (ncol_l);
 }
 /**
   should derive of Array.
  */
 static 
-int idx(int dir, bool h_shift_b)
+int idx (int dir, bool h_shift_b)
 {
-    assert(abs (dir) == 1);
+    assert (abs (dir) == 1);
     int j = dir > 0 ? 0 : 3;
-    if ( h_shift_b 
+    if ( h_shift_b) 
        j += dir;
     return j;
 }
@@ -63,21 +62,21 @@ Collision::do_pre_processing()
        }
        int d = (c_l->dir_i_);
        
-       clash_group_arr_a[idx(d, c_l->h_shift_b_)].push(c_l);
+       clash_group_arr_a[idx (d, c_l->h_shift_b_)].push (c_l);
     }
     
     
     for (int j=0; j < 4; j++) {
        if (clash_group_arr_a[j].size() > 1) {
-           warning("Too many clashing notecolumns. Ignoring them.");
+           warning ("Too many clashing notecolumns. Ignoring them.");
            return;
        }
     }
     int d = 1;
     do {
-       if (!clash_group_arr_a[idx(d, false)].size()){
-           clash_group_arr_a[idx(d,  false)] = clash_group_arr_a[idx(d, true)];
-           clash_group_arr_a[idx(d, true)].clear();
+       if (!clash_group_arr_a[idx (d, false)].size()){
+           clash_group_arr_a[idx (d,  false)] = clash_group_arr_a[idx (d, true)];
+           clash_group_arr_a[idx (d, true)].clear();
        }
     } while ((d *= -1) != 1);
                                  
@@ -103,44 +102,44 @@ Collision::do_pre_processing()
     }
     
     do {
-       x_off[idx(d, true)] = d*0.5;
+       x_off[idx (d, true)] = d*0.5;
     } while ((d *= -1) != 1);
 
   
     // y_extent: smallest y-pos noteball interval containing all balls
     // 4 (0..3) groups: stem up/down; shift on/off; 
-    Interval_t<int> middle( y_extent[idx(-1,0)].max(),
-                           y_extent[idx(1,0)].min() );
-    Interval_t<int> open_middle( y_extent[idx(-1,0)].max()+1, y_extent[idx(1,0)].min()-1);
+    Interval_t<int> middle (y_extent[idx (-1,0)].max(),
+                           y_extent[idx (1,0)].min());
+    Interval_t<int> open_middle (y_extent[idx (-1,0)].max()+1, y_extent[idx (1,0)].min ()-1);
     do{
-       if (!open_middle.contains_b(y_extent[idx(d,true)]))
-           x_off[idx(d, true)] = d *1.0 ;
+       if (!open_middle.contains_b (y_extent[idx (d,true)]))
+           x_off[idx (d, true)] = d *1.0 ;
     } while ((d *= -1) != 1);
    
     if (!middle.empty_b() 
-       && middle.length() < 2 && col_l_a[idx(1,0)] && col_l_a[idx(-1,0)]) {    
+       && middle.length() < 2 && col_l_a[idx (1,0)] && col_l_a[idx (-1,0)]) {  
 // reproduction of bugfix at 3am ?
-       Note_head * nu_l= col_l_a[idx(1,0)]->head_l_arr_[0];
-       Note_head * nd_l = col_l_a[idx(-1,0)]->head_l_arr_.top();
+       Note_head * nu_l= col_l_a[idx (1,0)]->head_l_arr_[0];
+       Note_head * nd_l = col_l_a[idx (-1,0)]->head_l_arr_.top();
        if (! (nu_l->balltype_i_ == nd_l->balltype_i_ 
-              && nu_l->dots_i_ == nd_l->dots_i_  && middle.length() == 0 )) {
-           x_off[idx(1,0)] -= 0.5;
-           x_off[idx(1,1)] -= 0.5;
-           x_off[idx(-1,1)] += 0.5;
-           x_off[idx(-1,0)] += 0.5;
+              && nu_l->dots_i_ == nd_l->dots_i_  && middle.length() == 0)) {
+           x_off[idx (1,0)] -= 0.5;
+           x_off[idx (1,1)] -= 0.5;
+           x_off[idx (-1,1)] += 0.5;
+           x_off[idx (-1,0)] += 0.5;
        }
        
     }    
-    Real inter_f = paper()->internote_f();
-    Real wid_f = paper()->note_width();
+    Real inter_f = paper()->internote_f ();
+    Real wid_f = paper()->note_width ();
     for (int j=0; j < 4; j++) {
        if (col_l_a[j]) {
            /* collision.cc:138: request for method `translate' is ambiguous 
               
               (shaddup)
             */
-           Offset o(x_off[j] * wid_f, y_off[j] * inter_f);
-           ((Score_elem*)col_l_a[j])->translate(o);
+           Offset o (x_off[j] * wid_f, y_off[j] * inter_f);
+           ((Score_elem*)col_l_a[j])->translate (o);
        }
     }
 }
@@ -149,8 +148,8 @@ Collision::do_pre_processing()
 IMPLEMENT_IS_TYPE_B1(Collision, Item);
 
 void
-Collision::do_substitute_dependency(Score_elem*o_l,Score_elem*n_l)
+Collision::do_substitute_dependency (Score_elem*o_l,Score_elem*n_l)
 {
-    clash_l_arr_.substitute((Note_column*)o_l->item(), 
+    clash_l_arr_.substitute ((Note_column*)o_l->item(), 
                            (Note_column*)(n_l?n_l->item():0));
 }
index 9fe1c9118be6cbe28213eedcd3274c402bf9a12c..1c77d60f0f80d16cc04cc213833e0562045c14fd 100644 (file)
@@ -24,19 +24,19 @@ void
 Cadenza_req::do_print()const
 {
 #ifndef NPRINT
-    mtor << on_b_;
+    DOUT << on_b_;
 #endif
 }
 
 bool
-Cadenza_req::do_equal_b(Request*r)const
+Cadenza_req::do_equal_b (Request*r)const
 {
-    Cadenza_req*cad =  r->command()->timing()->cadenza();
+    Cadenza_req*cad =  r->command()->timing ()->cadenza ();
     
     return cad->on_b_ == on_b_;
 }
 
-Cadenza_req::Cadenza_req(bool b)
+Cadenza_req::Cadenza_req (bool b)
 {
     on_b_ =b;
 }
@@ -44,9 +44,9 @@ Cadenza_req::Cadenza_req(bool b)
 
 
 bool
-Bar_req::do_equal_b(Request*r)const
+Bar_req::do_equal_b (Request*r)const
 {
-    Bar_req * b = r->command()->bar();
+    Bar_req * b = r->command()->bar ();
     return type_str_ == b->type_str_;
 }
 
@@ -56,23 +56,23 @@ IMPLEMENT_IS_TYPE_B1(Bar_req,Command_req);
 void
 Bar_req::do_print() const
 {
-    mtor << type_str_;
+    DOUT << type_str_;
 }
 
-Bar_req::Bar_req(String s)
+Bar_req::Bar_req (String s)
 {
     type_str_ = s;
 }
 
-Partial_measure_req::Partial_measure_req(Moment m)
+Partial_measure_req::Partial_measure_req (Moment m)
 {
     duration_ =m;
 }
 
 bool
-Partial_measure_req::do_equal_b(Request* r)const
+Partial_measure_req::do_equal_b (Request* r)const
 {
-    Partial_measure_req *p = r->command()->timing()->partial();
+    Partial_measure_req *p = r->command()->timing ()->partial ();
 
     return p->duration_ == duration_;
 }
@@ -103,7 +103,7 @@ void
 Barcheck_req::do_print() const{}
 
 bool
-Barcheck_req::do_equal_b(Request*)const
+Barcheck_req::do_equal_b (Request*)const
 {
     return true;
 }
@@ -115,11 +115,11 @@ void
 Clef_change_req::do_print() const
 {
 #ifndef NPRINT
-    mtor << clef_str_ ;
+    DOUT << clef_str_ ;
 #endif
 }
 
-Clef_change_req::Clef_change_req(String s)
+Clef_change_req::Clef_change_req (String s)
 {
     clef_str_ = s;
 }
@@ -131,7 +131,7 @@ void
 Group_feature_req::do_print() const
 {
 #ifndef NPRINT
-    mtor << type_str_ << "=" << value_str_;
+    DOUT << type_str_ << "=" << value_str_;
 #endif
 }
 
@@ -143,7 +143,7 @@ IMPLEMENT_IS_TYPE_B1(Partial_measure_req,Timing_req);
 void
 Partial_measure_req::do_print() const
 {
-    mtor << duration_;
+    DOUT << duration_;
 }
 
 
@@ -153,14 +153,14 @@ void
 Meter_change_req::do_print() const
 {
 #ifndef NPRINT
-    mtor << beats_i_ << "/" << one_beat_i_;
+    DOUT << beats_i_ << "/" << one_beat_i_;
 #endif
 }
 
 bool
-Meter_change_req::do_equal_b(Request * r)const
+Meter_change_req::do_equal_b (Request * r)const
 {
-    Meter_change_req * m = r->command()->timing()->meterchange();
+    Meter_change_req * m = r->command()->timing ()->meterchange ();
     
     return m->beats_i_ == beats_i_ 
        && one_beat_i_ == m->one_beat_i_;
@@ -173,7 +173,7 @@ Meter_change_req::Meter_change_req()
 }
 
 void
-Meter_change_req::set(int b,int o)
+Meter_change_req::set (int b,int o)
 {
     beats_i_=b;
     one_beat_i_=o;
@@ -189,16 +189,16 @@ Tempo_req::Tempo_req()
 void
 Tempo_req::do_print()const
 {
-    mtor << dur_.str() << " = " <<metronome_i_ ;
+    DOUT << dur_.str() << " = " <<metronome_i_ ;
 }
 IMPLEMENT_IS_TYPE_B1(Tempo_req, Timing_req);
 
 bool
-Tempo_req::do_equal_b(Request *r)const
+Tempo_req::do_equal_b (Request *r)const
 {
-    Tempo_req *t = r->command()->timing()->tempo();
+    Tempo_req *t = r->command()->timing ()->tempo ();
     
-    return t->dur_.length()== dur_.length() && metronome_i_ == t->metronome_i_;
+    return t->dur_.length()== dur_.length () && metronome_i_ == t->metronome_i_;
 }
 
 /* *************** */
@@ -210,13 +210,13 @@ void
 Measure_grouping_req::do_print() const
 {
     for (int i=0; i < elt_length_arr_.size(); i++) {
-       mtor << beat_i_arr_[i] <<"*" << elt_length_arr_[i]<<" ";
+       DOUT << beat_i_arr_[i] <<"*" << elt_length_arr_[i]<<" ";
     }
 }
 
 
 bool 
-Measure_grouping_req::do_equal_b(Request*)const
+Measure_grouping_req::do_equal_b (Request*)const
 {
     return false;              // todo
 }
@@ -224,11 +224,11 @@ Measure_grouping_req::do_equal_b(Request*)const
 /* *************** */
 
 void
-Key_change_req::transpose(Melodic_req const & d)const
+Key_change_req::transpose (Melodic_req const & d)const
 {
     WARN << "don't know how to transpose a key. \n";
     for (int i=0; i < melodic_p_arr_.size(); i++) {
-       melodic_p_arr_[i]->transpose(d);
+       melodic_p_arr_[i]->transpose (d);
     }
 }
 
@@ -258,10 +258,10 @@ Key_change_req::Key_change_req()
        multi_octave_b_= false;
 }
 
-Key_change_req::Key_change_req(Key_change_req const&c)
+Key_change_req::Key_change_req (Key_change_req const&c)
 {
        for (int i=0; i < c.melodic_p_arr_.size(); i++) 
-               melodic_p_arr_.push( c.melodic_p_arr_[i]->clone()->musical()->melodic() );
+               melodic_p_arr_.push (c.melodic_p_arr_[i]->clone()->musical ()->melodic ());
        minor_b_ = c.minor_b_;
        multi_octave_b_ = c.multi_octave_b_;
 }
@@ -276,10 +276,10 @@ int
 Key_change_req::flats_i()
 {
        int flats_i = 0;
-       for ( int i = 0; i < melodic_p_arr_.size(); i++ ) {
+       for ( int i = 0; i < melodic_p_arr_.size(); i++) {
                Melodic_req* mel_l = melodic_p_arr_[i]->melodic();
-               assert( mel_l );
-               if ( mel_l->accidental_i_ < 0 )
+               assert (mel_l);
+               if ( mel_l->accidental_i_ < 0)
                        flats_i -= mel_l->accidental_i_;
        }
        return flats_i;
@@ -295,10 +295,10 @@ int
 Key_change_req::sharps_i()
 {
        int sharps_i = 0;
-       for ( int i = 0; i < melodic_p_arr_.size(); i++ ) {
+       for ( int i = 0; i < melodic_p_arr_.size(); i++) {
                Melodic_req* mel_l = melodic_p_arr_[i]->melodic();
-               assert( mel_l );
-               if ( mel_l->accidental_i_ > 0 )
+               assert (mel_l);
+               if ( mel_l->accidental_i_ > 0)
                        sharps_i+= mel_l->accidental_i_;
        }
        return sharps_i;
index 8f604dbcba5108b1db0ed06785c4c6bf9a1e3456..574b91c9ffd88849ebaa3e74eaecb897892e56be 100644 (file)
@@ -32,20 +32,20 @@ static Real absdyn_dim = 10 PT;     // ugh
 Symbol
 Crescendo::get_symbol()const
 {    
-    Real w_dim = width().length();
-    if ( left_dyn_b_ ) {
+    Real w_dim = width().length ();
+    if ( left_dyn_b_) {
        w_dim -= absdyn_dim;
     }
-    if ( right_dyn_b_ ) {
+    if ( right_dyn_b_) {
        w_dim -= absdyn_dim;
     }
     
     if (w_dim < 0) {
-       warning("Crescendo too small");
+       warning ("Crescendo too small");
        w_dim = 0;
     }
 
-    return Symbol( paper()->lookup_l()->hairpin( w_dim, grow_dir_i_ < 0) );
+    return Symbol (paper()->lookup_l ()->hairpin (w_dim, grow_dir_i_ < 0));
 }
 
 Molecule*
@@ -57,9 +57,9 @@ Crescendo::brew_molecule_p() const
        x_off_dim += absdyn_dim;
     
     m_p = new Molecule;
-    Symbol s(get_symbol());
-    m_p->add(Atom(s));
-    m_p->translate(Offset(x_off_dim, pos_i_ * paper()->internote_f()));
+    Symbol s (get_symbol());
+    m_p->add (Atom (s));
+    m_p->translate (Offset (x_off_dim, pos_i_ * paper()->internote_f ()));
     return m_p;
 }
 
index 654578dcb13c4838115b9958449a49a078c4043e..964353f34861babed84159cfff7d32ed1c1f7660 100644 (file)
@@ -14,8 +14,8 @@ ostream * nulldev =0;
 // ugh
 struct _Dinit {
     _Dinit() {
-       nulldev = new ofstream("/dev/null");
-       monitor = new Dstream(&cout,".dstreamrc");
+       nulldev = new ofstream ("/dev/null");
+       monitor = new Dstream (&cout,".dstreamrc");
     }
     ~_Dinit() {
        delete nulldev;
@@ -31,14 +31,14 @@ struct _Dinit {
 void
 mynewhandler()
 {
-    assert(false);
+    assert (false);
 }
 
 void
-float_handler(int)
+float_handler (int)
 {
     cerr << "Floating point exception .. \n"<< flush;
-    assert(false);
+    assert (false);
 }
 
 /// just to make sure print_rat is linked in
@@ -49,20 +49,20 @@ debug_init()
 {
     rat_printer = print_rat;   
 #ifndef NDEBUG
-    set_new_handler(&mynewhandler);
+    set_new_handler (&mynewhandler);
 #endif
-    set_flower_debug(*monitor, check_debug);
+    set_flower_debug (*monitor, check_debug);
     
-    signal(SIGFPE, float_handler);
+    signal (SIGFPE, float_handler);
 }   
 
 bool check_debug=false;
 
 void
-set_debug(bool b)
+set_debug (bool b)
 {
     check_debug =b;
-    set_flower_debug(*monitor, check_debug);
+    set_flower_debug (*monitor, check_debug);
 }
 
 
index e609836a46cc4ed12342be371d5f5c664db725d1..4809adb9514c2aff0975ae41d4158de66d83c001 100644 (file)
@@ -4,20 +4,20 @@
 #include "string.hh"
 
 Real
-parse_dimen(String dim)
+parse_dimen (String dim)
 {
     int i=dim.length_i()-1;
     char const *s = dim;
-    while  (i > 0 && (isspace(s[i]) || isalpha(s[i])) ){
+    while  (i > 0 && (isspace (s[i]) || isalpha (s[i]))){
        i--;
     }
-    String unit(s + i+1);
-    return convert_dimen(dim.value_f(), unit); 
+    String unit (s + i+1);
+    return convert_dimen (dim.value_f(), unit); 
 }
 
 
 Real
-convert_dimen(Real quant, String unit)
+convert_dimen (Real quant, String unit)
 {
     if (unit == "cm")
        return quant * CM_TO_PT;
@@ -31,9 +31,9 @@ convert_dimen(Real quant, String unit)
 }
 
 String
-print_dimen(Real r)
+print_dimen (Real r)
 {
-    String s(r, "%.3f");
+    String s (r, "%.3f");
     s += "pt ";
     return s;
 }
index 72d76607df46c68345f1198ba67fb946fce9d6e3..6bfe5585d797d6f219a0575dda8ae1487e36ec13 100644 (file)
@@ -32,12 +32,12 @@ Dynamic_engraver::do_post_move_processing()
 }
 
 bool    
-Dynamic_engraver::do_try_request(Request * r)
+Dynamic_engraver::do_try_request (Request * r)
 {
     Musical_req * m = r->musical();
     if (!m || !m->dynamic())
        return false;
-    dynamic_req_l_arr_.push(m->dynamic());
+    dynamic_req_l_arr_.push (m->dynamic());
     return true;
 }
 void
@@ -49,40 +49,40 @@ Dynamic_engraver::do_process_requests()
        if (dreq_l->absdynamic()) {
            Text_def * td_p = new Text_def;
            td_p->align_i_ = 0;
-           String loud =Dynamic_req::loudness_str(
+           String loud =Dynamic_req::loudness_str (
                dreq_l->absdynamic()->loudness_);
            
-           td_p->text_str_ = paper()->lookup_l()->dynamic(loud).tex;
+           td_p->text_str_ = paper()->lookup_l ()->dynamic (loud).tex;
            td_p->style_str_ = "dynamic";
 
            assert (!dynamic_p_) ; // TODO
                
-           dynamic_p_ = new Text_item(td_p);
-           announce_element(Score_elem_info(dynamic_p_, dreq_l));
+           dynamic_p_ = new Text_item (td_p);
+           announce_element (Score_elem_info (dynamic_p_, dreq_l));
        } else if (dreq_l->span_dynamic()) {
 
            Span_dynamic_req* span_l = dreq_l->span_dynamic();
            if (span_l->spantype == Span_req::STOP) {
                if (!cresc_p_) {
-                   span_l->warning("Can't find cresc to end " );
+                   span_l->warning ("Can't find cresc to end ");
                } else {
-                   assert(!to_end_cresc_p_);
+                   assert (!to_end_cresc_p_);
                    to_end_cresc_p_ =cresc_p_;
                    cresc_p_ = 0;
                }
            } else if (span_l->spantype == Span_req::START) {
                cresc_req_l_ = span_l;
-               assert(!new_cresc_p);
+               assert (!new_cresc_p);
                new_cresc_p  = new Crescendo;
                new_cresc_p->grow_dir_i_ = span_l->dynamic_dir_i_;
-               announce_element(Score_elem_info(new_cresc_p, span_l));
+               announce_element (Score_elem_info (new_cresc_p, span_l));
            }
        }
     }
 
-    if ( new_cresc_p ) {
+    if ( new_cresc_p) {
        cresc_p_ = new_cresc_p;
-       cresc_p_->left_col_l_ = get_staff_info().musical_l();
+       cresc_p_->left_col_l_ = get_staff_info().musical_l ();
        if (dynamic_p_) {
            cresc_p_->left_dyn_b_ = true;
        }
@@ -94,23 +94,23 @@ Dynamic_engraver::do_pre_move_processing()
 {
     Staff_symbol* s_l = get_staff_info().staff_sym_l_;
     if (dynamic_p_) {
-       dynamic_p_->set_staffsym(s_l);
-       typeset_element(dynamic_p_);
+       dynamic_p_->set_staffsym (s_l);
+       typeset_element (dynamic_p_);
        dynamic_p_ = 0;
     }
     if ( to_end_cresc_p_) {
        if (dynamic_p_)
            to_end_cresc_p_->right_dyn_b_=true;
        
-       to_end_cresc_p_->right_col_l_ = get_staff_info().musical_l();
-       to_end_cresc_p_->set_staffsym(s_l);
-       typeset_element(to_end_cresc_p_);
+       to_end_cresc_p_->right_col_l_ = get_staff_info().musical_l ();
+       to_end_cresc_p_->set_staffsym (s_l);
+       typeset_element (to_end_cresc_p_);
        to_end_cresc_p_ = 0;
     }
 }
 
 void
-Dynamic_engraver::set_feature(Feature i)
+Dynamic_engraver::set_feature (Feature i)
 {
     if (i.type_ == "vdir")     
        dir_i_ = i.value_;
@@ -125,18 +125,18 @@ Dynamic_engraver::~Dynamic_engraver()
     delete dynamic_p_;
     delete to_end_cresc_p_;
     if (cresc_p_) {
-       cresc_req_l_->warning("unended crescendo");
+       cresc_req_l_->warning ("unended crescendo");
     }
     delete cresc_p_;
 }
 void
-Dynamic_engraver::acknowledge_element(Score_elem_info i)
+Dynamic_engraver::acknowledge_element (Score_elem_info i)
 {
-    if (i.elem_l_->name() == Note_column::static_name()) {
-       if (dynamic_p_) dynamic_p_->add_support(i.elem_l_);
+    if (i.elem_l_->name() == Note_column::static_name ()) {
+       if (dynamic_p_) dynamic_p_->add_support (i.elem_l_);
        if (to_end_cresc_p_)
-           to_end_cresc_p_->add_support(i.elem_l_);
+           to_end_cresc_p_->add_support (i.elem_l_);
        if (cresc_p_) 
-           cresc_p_->add_support(i.elem_l_);
+           cresc_p_->add_support (i.elem_l_);
     }
 }
index 5115c5c70b77eef2287f224045084daf444a6f8e..e1902867ad9b0fc402475423788236c43f86117f 100644 (file)
@@ -19,9 +19,9 @@ Axis_group_element::do_unlink()
 
 
 bool
-Axis_group_element::contains_b(Score_elem const*e)const
+Axis_group_element::contains_b (Score_elem const*e)const
 {
-    return axis_admin_.contains_b(e);
+    return axis_admin_.contains_b (e);
 }
 
 Link_array<Score_elem>
@@ -40,53 +40,53 @@ Axis_group_element::do_print()const
 
 
 void
-Vertical_group_element::add_element(Score_elem*e)
+Vertical_group_element::add_element (Score_elem*e)
 {
-    axis_admin_.add_element(e, this, Y_AXIS, Y_AXIS);
+    axis_admin_.add_element (e, this, Y_AXIS, Y_AXIS);
 }
 
 void
-Vertical_group_element::remove_element(Score_elem*e)
+Vertical_group_element::remove_element (Score_elem*e)
 {
-    axis_admin_.remove_element(e, Y_AXIS, Y_AXIS);
+    axis_admin_.remove_element (e, Y_AXIS, Y_AXIS);
 }
 
 
 Interval
 Vertical_group_element::do_height() const
 {
-    return axis_admin_.extent(Y_AXIS);
+    return axis_admin_.extent (Y_AXIS);
 }
 void
 Vertical_group_element::remove_all()
 {
-    axis_admin_.remove_all(Y_AXIS,Y_AXIS);
+    axis_admin_.remove_all (Y_AXIS,Y_AXIS);
 }
 // ****************
 
 void
 Horizontal_group_element::remove_all()
 {
-    axis_admin_.remove_all(X_AXIS,X_AXIS);
+    axis_admin_.remove_all (X_AXIS,X_AXIS);
 }
 
 void
-Horizontal_group_element::add_element(Score_elem*e)
+Horizontal_group_element::add_element (Score_elem*e)
 {
-    axis_admin_.add_element(e,this, X_AXIS,X_AXIS);
+    axis_admin_.add_element (e,this, X_AXIS,X_AXIS);
 }
 
 void
-Horizontal_group_element::remove_element(Score_elem*e)
+Horizontal_group_element::remove_element (Score_elem*e)
 {
-    axis_admin_.remove_element(e,X_AXIS,X_AXIS);
+    axis_admin_.remove_element (e,X_AXIS,X_AXIS);
 }
 
 
 Interval
 Horizontal_group_element::do_width()const
 {
-    return axis_admin_.extent(X_AXIS);
+    return axis_admin_.extent (X_AXIS);
 }
 
 
@@ -95,18 +95,18 @@ Horizontal_group_element::do_width()const
 void
 Horizontal_vertical_group_element::remove_all()
 {
-    axis_admin_.remove_all(X_AXIS,Y_AXIS);
+    axis_admin_.remove_all (X_AXIS,Y_AXIS);
 }
 void
-Horizontal_vertical_group_element::add_element(Score_elem *e)
+Horizontal_vertical_group_element::add_element (Score_elem *e)
 {
-    axis_admin_.add_element(e, this, X_AXIS, Y_AXIS);
+    axis_admin_.add_element (e, this, X_AXIS, Y_AXIS);
 }
 
 void
-Horizontal_vertical_group_element::remove_element(Score_elem*e)
+Horizontal_vertical_group_element::remove_element (Score_elem*e)
 {
-    axis_admin_.remove_element(e, X_AXIS, Y_AXIS);
+    axis_admin_.remove_element (e, X_AXIS, Y_AXIS);
 }
 
 
index 69038b5024eae8375109b40a8cd326a346fe5c76..acf0c2587e63d2bd38c0684ce531254b4de63b6b 100644 (file)
@@ -15,7 +15,7 @@
 #include "score-elem.hh"
 #include "input-translator.hh"
 
-Engraver* get_engraver_p(String);
+Engraver* get_engraver_p (String);
 
 void
 Engraver_group_engraver::print()const
@@ -25,16 +25,16 @@ Engraver_group_engraver::print()const
 
 Engraver_group_engraver::~Engraver_group_engraver()
 {
-    assert(removable_b());
+    assert (removable_b());
 }
 
 void
 Engraver_group_engraver::check_removal()
 {
-    for (int i =0; i < group_l_arr_.size(); ) {
+    for (int i =0; i < group_l_arr_.size();) {
        group_l_arr_[i]->check_removal();
        if (group_l_arr_[i]->removable_b())
-           terminate_engraver(group_l_arr_[i]);
+           terminate_engraver (group_l_arr_[i]);
        else 
            i++;
     }
@@ -52,21 +52,21 @@ Engraver_group_engraver::Engraver_group_engraver()
 }
 
 void
-Engraver_group_engraver::set_feature(Feature d)
+Engraver_group_engraver::set_feature (Feature d)
 {
-    PCursor<Engraver*> i(grav_list_.top());
+    PCursor<Engraver*> i (grav_list_.top());
     // why the while construct?
     while (i.ok()) {
        // this construction to ensure clean deletion
        Engraver *grav_l = i++; 
-       grav_l->set_feature(d);
+       grav_l->set_feature (d);
     }
 }
 
 void
 Engraver_group_engraver::sync_features()
 {
-    PCursor<Engraver*> i(grav_list_.top());
+    PCursor<Engraver*> i (grav_list_.top());
     while (i.ok()) {
        Engraver *grav_l = i++; 
        grav_l->sync_features();
@@ -76,7 +76,7 @@ Engraver_group_engraver::sync_features()
 void
 Engraver_group_engraver::do_pre_move_processing()
 {
-    PCursor<Engraver*> i(grav_list_.top());
+    PCursor<Engraver*> i (grav_list_.top());
     while (i.ok()) {
        Engraver *grav_l = i++; 
        grav_l->pre_move_processing();
@@ -86,7 +86,7 @@ Engraver_group_engraver::do_pre_move_processing()
 void
 Engraver_group_engraver::do_process_requests()
 {
-    PCursor<Engraver*> i(grav_list_.top());
+    PCursor<Engraver*> i (grav_list_.top());
     while (i.ok()) {
        Engraver *grav_l = i++; 
        grav_l->process_requests();
@@ -97,7 +97,7 @@ Engraver_group_engraver::do_process_requests()
 void
 Engraver_group_engraver::do_post_move_processing()
 {
-    PCursor<Engraver*> i(grav_list_.top());
+    PCursor<Engraver*> i (grav_list_.top());
     while (i.ok()) {
                // this construction to ensure clean deletion
        Engraver *grav_l = i++; 
@@ -107,14 +107,14 @@ Engraver_group_engraver::do_post_move_processing()
 
 
 bool
-Engraver_group_engraver::contains_b(Engraver* grav_l)const
+Engraver_group_engraver::contains_b (Engraver* grav_l)const
 {
-    bool parent_b = Engraver::contains_b(grav_l);
+    bool parent_b = Engraver::contains_b (grav_l);
     
     if (parent_b)
        return true;
-    for (PCursor<Engraver*> i(grav_list_.top()); i.ok(); i++)
-       if (i->contains_b(grav_l))
+    for (PCursor<Engraver*> i (grav_list_.top()); i.ok (); i++)
+       if (i->contains_b (grav_l))
            return true;
     return false;
 }
@@ -122,52 +122,52 @@ Engraver_group_engraver::contains_b(Engraver* grav_l)const
 
 
 bool
-Engraver_group_engraver::do_try_request(Request*req_l)
+Engraver_group_engraver::do_try_request (Request*req_l)
 {
     bool hebbes_b =false;
     for (int i =0; !hebbes_b && i < nongroup_l_arr_.size() ; i++)
-       hebbes_b =nongroup_l_arr_[i]->try_request(req_l);
+       hebbes_b =nongroup_l_arr_[i]->try_request (req_l);
     if (!hebbes_b && daddy_grav_l_)
-       hebbes_b = daddy_grav_l_->try_request(req_l);
+       hebbes_b = daddy_grav_l_->try_request (req_l);
     return hebbes_b ;
 }
 
 bool
-Engraver_group_engraver::try_request(Request* r)
+Engraver_group_engraver::try_request (Request* r)
 {
-    return Engraver::try_request(r);
+    return Engraver::try_request (r);
 }
 
 void
-Engraver_group_engraver::add(Engraver *grav_p)
+Engraver_group_engraver::add (Engraver *grav_p)
 {
-    grav_list_.bottom().add(grav_p);
+    grav_list_.bottom().add (grav_p);
     grav_p->daddy_grav_l_ = this;
 
-    if (grav_p->is_type_b(Engraver_group_engraver::static_name())) {
-       group_l_arr_.push((Engraver_group_engraver*)grav_p);
+    if (grav_p->is_type_b (Engraver_group_engraver::static_name())) {
+       group_l_arr_.push ((Engraver_group_engraver*)grav_p);
     } else {
-       nongroup_l_arr_ .push(grav_p);
+       nongroup_l_arr_ .push (grav_p);
     }
 }
 
 
 Engraver *
-Engraver_group_engraver::remove_engraver_p(Engraver*grav_l)
+Engraver_group_engraver::remove_engraver_p (Engraver*grav_l)
 {
-    group_l_arr_.substitute((Engraver_group_engraver*)grav_l,0);
-    nongroup_l_arr_.substitute(grav_l,0);
-    PCursor<Engraver*> grav_cur( grav_list_.find(grav_l) );
+    group_l_arr_.substitute ((Engraver_group_engraver*)grav_l,0);
+    nongroup_l_arr_.substitute (grav_l,0);
+    PCursor<Engraver*> grav_cur (grav_list_.find (grav_l));
     
     return grav_cur.remove_p();
 }
 
 void
-Engraver_group_engraver::terminate_engraver(Engraver*r_l)
+Engraver_group_engraver::terminate_engraver (Engraver*r_l)
 {
-    mtor << "Removing " << r_l->name() << " at " << get_staff_info().when() << "\n";
+    DOUT << "Removing " << r_l->name() << " at " << get_staff_info ().when () << "\n";
     r_l->removal_processing();
-    Engraver * grav_p =remove_engraver_p(r_l);
+    Engraver * grav_p =remove_engraver_p (r_l);
     
     delete grav_p;
 }
@@ -182,51 +182,51 @@ Engraver_group_engraver::do_print()const
 #ifndef NPRINT
     if ( !check_debug)
        return ;
-    mtor << "ID: " << id_str_ ;
-    mtor << " iterators: " << iterator_count_<< "\n";
-    for (PCursor<Engraver*> i(grav_list_.top()); i.ok(); i++)
+    DOUT << "ID: " << id_str_ ;
+    DOUT << " iterators: " << iterator_count_<< "\n";
+    for (PCursor<Engraver*> i (grav_list_.top()); i.ok (); i++)
        i->print();
 #endif
 }
 
 
 Engraver_group_engraver*
-Engraver_group_engraver::find_engraver_l(String n, String id)
+Engraver_group_engraver::find_engraver_l (String n, String id)
 {
     if (name() == n && id_str_ == id)
        return this;
     Engraver_group_engraver * r = 0;
     for (int i =0; !r && i<  group_l_arr_.size(); i++) {
-       r = group_l_arr_[i]->find_engraver_l(n,id);
+       r = group_l_arr_[i]->find_engraver_l (n,id);
     }
     
     return r;
 }
 
 Translator*
-Engraver_group_engraver::find_get_translator_l(String n,String id)
+Engraver_group_engraver::find_get_translator_l (String n,String id)
 {
     Translator * ret=0;
-    Input_translator * itrans_l= itrans_l_-> recursive_find ( n );
-    if (itrans_l ) {
-       ret = find_engraver_l(n,id);
+    Input_translator * itrans_l= itrans_l_-> recursive_find ( n);
+    if (itrans_l) {
+       ret = find_engraver_l (n,id);
        if (!ret) {
            Engraver_group_engraver * group = 
                itrans_l-> get_group_engraver_p();
            
-           add(group);
+           add (group);
            ret = group;
            
-           if (group->itrans_l_->is_name_b( n ) )
+           if (group->itrans_l_->is_name_b (n) )
                ret ->id_str_ = id;
            else
-               return ret->find_get_translator_l(n,id);
+               return ret->find_get_translator_l (n,id);
 
        }
     } else if (daddy_grav_l_)
-       ret =daddy_grav_l_->find_get_translator_l(n,id);
+       ret =daddy_grav_l_->find_get_translator_l (n,id);
     else {
-       warning("Can't find or create `" + n + "' called `" + id + "'\n");
+       warning ("Can't find or create `" + n + "' called `" + id + "'\n");
        ret =0;
     }
     return ret;
@@ -239,19 +239,19 @@ Engraver_group_engraver::depth_i()const
 }
 
 Translator*
-Engraver_group_engraver::ancestor_l(int l)
+Engraver_group_engraver::ancestor_l (int l)
 {
     if (!l || !daddy_grav_l_)
        return this;
     
-    return daddy_grav_l_->ancestor_l(l-1);
+    return daddy_grav_l_->ancestor_l (l-1);
 }
 
 void
-Engraver_group_engraver::announce_element(Score_elem_info info)
+Engraver_group_engraver::announce_element (Score_elem_info info)
 {
-    announce_info_arr_.push(info);
-    Engraver::announce_element(info);
+    announce_info_arr_.push (info);
+    Engraver::announce_element (info);
 }
 
 void
@@ -270,7 +270,7 @@ Engraver_group_engraver::do_announces()
            info.req_l_ = &dummy_req;
        for (int i=0; i < nongroup_l_arr_.size(); i++) {        // Is this good enough?6
           if (nongroup_l_arr_[i] != info.origin_grav_l_arr_[0])
-              nongroup_l_arr_[i]->acknowledge_element(info);
+              nongroup_l_arr_[i]->acknowledge_element (info);
        }
     }
     announce_info_arr_.clear();
@@ -280,7 +280,7 @@ Engraver_group_engraver::do_announces()
 void
 Engraver_group_engraver::do_removal_processing()
 {
-    for (PCursor<Engraver*> i(grav_list_.top()); i.ok(); i++)
+    for (PCursor<Engraver*> i (grav_list_.top()); i.ok (); i++)
        i->removal_processing();
 }
 
@@ -290,7 +290,7 @@ Engraver_group_engraver::get_staff_info()const
     Staff_info inf = Engraver::get_staff_info();
 
     for (int i=0; i < nongroup_l_arr_.size(); i++)
-       nongroup_l_arr_[i]->fill_staff_info(inf);
+       nongroup_l_arr_[i]->fill_staff_info (inf);
     
     return inf;
 }
@@ -299,12 +299,12 @@ Translator*
 Engraver_group_engraver::get_default_interpreter()
 {
     // ? 
-    if ( is_bottom_engraver_b() )
+    if ( is_bottom_engraver_b())
        return daddy_grav_l_->get_default_interpreter();
 
     Engraver_group_engraver *grav_p= itrans_l_->
-       get_default_itrans_l()->get_group_engraver_p();
-    add(grav_p );
+       get_default_itrans_l()->get_group_engraver_p ();
+    add (grav_p);
     if (grav_p->is_bottom_engraver_b())
        return grav_p;
     else
@@ -318,14 +318,14 @@ Engraver_group_engraver::is_bottom_engraver_b()const
 }
 
 Engraver*
-Engraver_group_engraver::get_simple_engraver(char const *type)const
+Engraver_group_engraver::get_simple_engraver (char const *type)const
 {
     for (int i=0; i < nongroup_l_arr_.size(); i++) {
-       if (nongroup_l_arr_[i]->name() == type )
+       if (nongroup_l_arr_[i]->name() == type)
            return nongroup_l_arr_[i];
     }
-    if ( daddy_grav_l_ )
-       return daddy_grav_l_->get_simple_engraver(type);
+    if ( daddy_grav_l_)
+       return daddy_grav_l_->get_simple_engraver (type);
     return 0;
 }
 
index 697a4844a20ed14462671b464126fda8d7e5fd05..f3cf488c0ca49e5baf3048a489841e257951cc0f 100644 (file)
@@ -29,19 +29,19 @@ Engraver::post_move_processing()
 void
 Engraver::removal_processing()
 {
-    if ( status < CREATION_INITED )
+    if ( status < CREATION_INITED)
        do_creation_processing();
     
     do_removal_processing();
 }
 
 bool
-Engraver::try_request(Request * r)
+Engraver::try_request (Request * r)
 {
     if (status < MOVE_INITED)
        post_move_processing();
 
-    return do_try_request(r);
+    return do_try_request (r);
 }
 
 void
@@ -64,19 +64,19 @@ Engraver::pre_move_processing()
 }
 
 void
-Engraver::fill_staff_info(Staff_info&)
+Engraver::fill_staff_info (Staff_info&)
 {
     
 }
 
 Scalar
-Engraver::get_feature(String t)
+Engraver::get_feature (String t)
 {
-    return daddy_grav_l_->get_feature(t);
+    return daddy_grav_l_->get_feature (t);
 }
 
 bool
-Engraver::do_try_request(Request*)
+Engraver::do_try_request (Request*)
 {
     return false;
 }
@@ -88,16 +88,16 @@ Engraver::Engraver()
 }
 
 void
-Engraver::announce_element(Score_elem_info i)
+Engraver::announce_element (Score_elem_info i)
 {
-    i.origin_grav_l_arr_.push(this);
-    daddy_grav_l_->announce_element(i);
+    i.origin_grav_l_arr_.push (this);
+    daddy_grav_l_->announce_element (i);
 }
 
 void
-Engraver::typeset_element(Score_elem*p)
+Engraver::typeset_element (Score_elem*p)
 {
-    daddy_grav_l_->typeset_element(p);
+    daddy_grav_l_->typeset_element (p);
 }
 
 Paper_def*
@@ -107,7 +107,7 @@ Engraver::paper()const
 }
 
 bool
-Engraver::contains_b(Engraver *grav_l)const
+Engraver::contains_b (Engraver *grav_l)const
 {
     return this == grav_l;
 }
@@ -122,9 +122,9 @@ void
 Engraver::print() const
 {
 #ifndef NPRINT
-    mtor << "\n" << name() << " {";
+    DOUT << "\n" << name() << " {";
     do_print();
-    mtor << "}";
+    DOUT << "}";
 #endif
 }
 
index e755af94c5446f9e70d462dbc48f3d728a4fb85d..06b678a965078a313484db7b0b05dc45addbdc9a 100644 (file)
@@ -33,16 +33,16 @@ General_script_def::inside_b()const
 }
 
 bool
-General_script_def::equal_b(General_script_def const&g)const
+General_script_def::equal_b (General_script_def const&g)const
 {
-    if (name() != g.name())
+    if (name() != g.name ())
        return false;
 
-    return do_equal_b(&g);
+    return do_equal_b (&g);
 }
 
 bool
-General_script_def::do_equal_b(General_script_def const*)const
+General_script_def::do_equal_b (General_script_def const*)const
 {
     return true;
 }
@@ -51,9 +51,9 @@ General_script_def::do_equal_b(General_script_def const*)const
 void
 General_script_def::print() const
 {
-    mtor << name() << "{";
+    DOUT << name() << "{";
     do_print();
-    mtor << "}";
+    DOUT << "}";
 }
 
 void
@@ -62,10 +62,10 @@ General_script_def::do_print() const
 }
 
 Atom
-General_script_def::get_atom(Paper_def*, int)const
+General_script_def::get_atom (Paper_def*, int)const
 {
     Symbol s;
-    return Atom(s);
+    return Atom (s);
 }
 
 IMPLEMENT_IS_TYPE_B(General_script_def);
index 6ffbc175ad6dc5074bfdbf87e59f2be684108e8b..df0df5322ae943540e27f01bd142853e09460cda 100644 (file)
@@ -15,7 +15,7 @@
 struct Engraver_table_entry {
     String name_str_;
     Grav_ctor ctor_l_;
-    Engraver_table_entry(String s, Grav_ctor f) {
+    Engraver_table_entry (String s, Grav_ctor f) {
        name_str_ =s;
        ctor_l_ = f;
     }
@@ -28,23 +28,23 @@ struct Engraver_table_entry {
 static Array<Engraver_table_entry> *grav_table=0;
 
 void
-add_engraver(String s, Grav_ctor f)
+add_engraver (String s, Grav_ctor f)
 {
     if (!grav_table)
        grav_table = new Array<Engraver_table_entry>;
     
-    grav_table->push(Engraver_table_entry(s, f));
+    grav_table->push (Engraver_table_entry (s, f));
 }
 
 
 Engraver*
-get_engraver_p(String s)
+get_engraver_p (String s)
 {
     for (int i=0; i < grav_table->size(); i++) {
        if ((*grav_table)[i].name_str_ == s)
            return (*(*grav_table)[i].ctor_l_)();
     }
-    error("Unknown engraver `" + s +"\'");
+    error ("Unknown engraver `" + s +"\'");
     return 0;
 }
 
@@ -54,7 +54,7 @@ struct Performer_table_entry
 {
     String name_str_;
     Perf_ctor ctor_l_;
-    Performer_table_entry(String s, Perf_ctor f) {
+    Performer_table_entry (String s, Perf_ctor f) {
        name_str_ =s;
        ctor_l_ = f;
     }
@@ -67,23 +67,23 @@ struct Performer_table_entry
 static Array<Performer_table_entry> *perf_table=0;
 
 void
-add_performer(String s, Perf_ctor f)
+add_performer (String s, Perf_ctor f)
 {
     if (!perf_table)
        perf_table = new Array<Performer_table_entry>;
     
-    perf_table->push(Performer_table_entry(s, f));
+    perf_table->push (Performer_table_entry (s, f));
 }
 
 
 Performer*
-get_performer_p(String s)
+get_performer_p (String s)
 {
     for (int i=0; i < perf_table->size(); i++) {
        if ((*perf_table)[i].name_str_ == s)
            return (*(*perf_table)[i].ctor_l_)();
     }
-    error("Unknown performer `" + s +"\'");
+    error ("Unknown performer `" + s +"\'");
     return 0;
 }
 #endif
index 0a975f6698d5068a512885b5fede3c84bf96617f..126a1093199b3c73a3f2869e6f6c2d3c4401583f 100644 (file)
@@ -16,7 +16,7 @@
 struct Performer_table_entry {
     String name_str_;
     Perf_ctor ctor_l_;
-    Performer_table_entry(String s, Perf_ctor f) {
+    Performer_table_entry (String s, Perf_ctor f) {
        name_str_ =s;
        ctor_l_ = f;
     }
@@ -29,22 +29,22 @@ struct Performer_table_entry {
 static Array<Performer_table_entry> *perf_table=0;
 
 void
-add_Performer(String s, Perf_ctor f)
+add_Performer (String s, Perf_ctor f)
 {
     if (!perf_table)
        perf_table = new Array<Performer_table_entry>;
     
-    perf_table->push(Performer_table_entry(s, f));
+    perf_table->push (Performer_table_entry (s, f));
 }
 
 
 Performer*
-get_performer_p(String s)
+get_performer_p (String s)
 {
     for (int i=0; i < perf_table->size(); i++) {
        if ((*perf_table)[i].name_str_ == s)
            return (*(*perf_table)[i].ctor_l_)();
     }
-    error("Unknown performer `" + s +"\'");
+    error ("Unknown performer `" + s +"\'");
     return 0;
 }
index 78fa0a0ff7a93925df3f02130222150c8b7feea5..39cc56bc3da6c1f7b69089f6cef6ebc0ae5850d4 100644 (file)
@@ -18,13 +18,13 @@ Global_translator::Global_translator()
 }
 
 Translator*
-Global_translator::ancestor_l(int)
+Global_translator::ancestor_l (int)
 {
     return this;
 }
 
 void
-Global_translator::add_moment_to_process(Moment m)
+Global_translator::add_moment_to_process (Moment m)
 {
     if (m  > last_mom_)
        return;
@@ -32,7 +32,7 @@ Global_translator::add_moment_to_process(Moment m)
     for (int i=0; i <  extra_mom_pq_.size(); i++)
        if (extra_mom_pq_[i] == m)
            return;
-    extra_mom_pq_.insert(m);
+    extra_mom_pq_.insert (m);
 }
 
 int
@@ -42,14 +42,14 @@ Global_translator::depth_i()const
 }
 
 void
-Global_translator::set_score(Score *s)
+Global_translator::set_score (Score *s)
 {
     score_l_ = s;
-    last_mom_ = score_l_->music_p_->time_int().max();
+    last_mom_ = score_l_->music_p_->time_int().max ();
 }
 
 void
-Global_translator::modify_next(Moment &w)
+Global_translator::modify_next (Moment &w)
 {
     while (extra_mom_pq_.size() && 
        extra_mom_pq_.front() <= w)
@@ -64,7 +64,7 @@ Global_translator::moments_left_i()const
 }
 
 void
-Global_translator::prepare(Moment)
+Global_translator::prepare (Moment)
 {
 }
 
index 6a0d2376a458eb306ef66a44be190ac5dd3e39b7..85533c517b02ad5b79d122bfa492898fc8d900d5 100644 (file)
@@ -45,7 +45,7 @@ Gourlay_breaking::do_solve()const
     Line_of_cols all = all_cols();
     Array<int> breaks = find_break_indices();
     
-    optimal_paths.set_size(breaks.size());
+    optimal_paths.set_size (breaks.size());
 
     Break_node first_node ;
     first_node.prev_break_i_ = -1;
@@ -64,7 +64,7 @@ Gourlay_breaking::do_solve()const
          start with a short line, add measures. At some point 
          the line becomes infeasible. Then we don't try to add more 
         */
-       for (int start_idx = break_idx; start_idx--; ){
+       for (int start_idx = break_idx; start_idx--;){
            if  (break_idx - start_idx > max_measures_i_) 
                break;
 
@@ -73,31 +73,31 @@ Gourlay_breaking::do_solve()const
                
                continue;
            
-           Line_of_cols line = all.slice(breaks[start_idx], breaks[break_idx]+1);
+           Line_of_cols line = all.slice (breaks[start_idx], breaks[break_idx]+1);
            
            line[0] = line[0]->postbreak_p_;
-           line.top() = line.top()->prebreak_p_;
+           line.top() = line.top ()->prebreak_p_;
            
-           if (!feasible(line))
+           if (!feasible (line))
                break;
            
            Col_hpositions approx;
            approx.cols = line;
            
-           approx.spacer_l_ = generate_spacing_problem( line );
-           spacer_p_list.bottom().add(approx.spacer_l_);
+           approx.spacer_l_ = generate_spacing_problem (line);
+           spacer_p_list.bottom().add (approx.spacer_l_);
 
-           ((Break_algorithm*)this)->approx_stats_.add( approx.cols );
-           approx.approximate_solve_line(  );
+           ((Break_algorithm*)this)->approx_stats_.add (approx.cols);
+           approx.approximate_solve_line();
            
-           if  (approx.energy_f_  > energy_bound_f_ ){ 
+           if  (approx.energy_f_  > energy_bound_f_){ 
                continue;
            }
 
            
            // this is a likely candidate. Store it.
-           candidate_lines.push( approx );
-           candidates.push( start_idx );
+           candidate_lines.push (approx);
+           candidates.push (start_idx);
        }
 
            
@@ -111,15 +111,15 @@ Gourlay_breaking::do_solve()const
                continue;
 
            if ( !candidate_lines[j].satisfies_constraints_b_) {
-                candidate_lines[j].solve_line( );
-                ((Break_algorithm*)this)->exact_stats_.add ( candidate_lines[j].cols );
+                candidate_lines[j].solve_line();
+                ((Break_algorithm*)this)->exact_stats_.add ( candidate_lines[j].cols);
            }
            
            Real this_energy 
                = optimal_paths[start].line_config_.energy_f_ 
                + candidate_lines[j].energy_f_ ;
            
-           if ( this_energy < minimal_energy ) {
+           if ( this_energy < minimal_energy) {
                minimal_j = j;
                minimal_energy = this_energy;
            }
@@ -133,7 +133,7 @@ Gourlay_breaking::do_solve()const
            optimal_paths[break_idx].line_config_ = candidate_lines[minimal_j];
        }
 
-       if ( !(break_idx % HAPPY_DOTS_I) )
+       if ( !(break_idx % HAPPY_DOTS_I))
            *mlog << "[" << break_idx << "]"<<flush;
     }
 
@@ -147,18 +147,18 @@ Gourlay_breaking::do_solve()const
 
     Array<Col_hpositions> lines;
     /* skip 0-th element, since it is a "dummy" elt*/
-    for (int i = optimal_paths.size()-1; i> 0; ) {
-       final_breaks.push ( i );
+    for (int i = optimal_paths.size()-1; i> 0;) {
+       final_breaks.push ( i);
        assert ( i > optimal_paths[i].prev_break_i_);
 
        // there was no "feasible path"
-       if (!optimal_paths[i].line_config_.config.size() )
+       if (!optimal_paths[i].line_config_.config.size())
           return lines; 
        i = optimal_paths[i].prev_break_i_;
     }
 
-    for (int i= final_breaks.size(); i--; 
-       lines.push ( optimal_paths[final_breaks[i]].line_config_ );
+    for (int i= final_breaks.size(); i--;) 
+       lines.push ( optimal_paths[final_breaks[i]].line_config_);
 
     
     return lines;
@@ -175,7 +175,7 @@ Gourlay_breaking::Gourlay_breaking()
 void
 Gourlay_breaking::do_set_pscore()
 {
-    energy_bound_f_ = pscore_l_->paper_l_->get_var(  "gourlay_energybound");
-    max_measures_i_ =int (rint( pscore_l_->paper_l_->get_var(  "gourlay_maxmeasures")));
+    energy_bound_f_ = pscore_l_->paper_l_->get_var ("gourlay_energybound");
+    max_measures_i_ =int (rint (pscore_l_->paper_l_->get_var ("gourlay_maxmeasures")));
 }
 
index f35ae8e354b0b0482c877dbb031d022afb4454a6..ffda40e14fd707bbac65b696e2b38d47695f4743 100644 (file)
@@ -21,12 +21,12 @@ void
 Rhythmic_grouping::OK()const
 {
 #ifndef NDEBUG
-    assert(bool(children.size()) != bool(interval_));
+    assert (bool (children.size()) != bool (interval_));
 
     for (int i= 0; i < children.size(); i++) {
        children[i]->OK();
        if (i>0)
-           assert(children[i-1]->interval().right ==
+           assert (children[i-1]->interval().right ==
                   children[i]->interval().left);
     }
 #endif
@@ -35,7 +35,7 @@ Rhythmic_grouping::OK()const
 Moment
 Rhythmic_grouping::length() const
 {
-    return interval().length();
+    return interval().length ();
 }
 
 MInterval
@@ -45,23 +45,23 @@ Rhythmic_grouping::interval()const
        return *interval_;
     else
        return
-           MInterval(children[0]->interval().left,
-                    children.top()->interval().right);
+           MInterval (children[0]->interval().left,
+                    children.top()->interval ().right);
 }
 
 void
-Rhythmic_grouping::split(Rhythmic_grouping r)
+Rhythmic_grouping::split (Rhythmic_grouping r)
 {
     if (interval_)
        return ;
     
-    r.intersect(interval());
-    split(r.intervals());
+    r.intersect (interval());
+    split (r.intervals());
     
     for (int i= 0; i < children.size(); i++) {
        if (!children[i]->interval_) {
-           Rhythmic_grouping here(r);  
-           children[i]->split(here);
+           Rhythmic_grouping here (r); 
+           children[i]->split (here);
        }
     }
 }
@@ -72,37 +72,37 @@ Rhythmic_grouping::intervals()
 {
     Array<MInterval> r;
     if (interval_ || children.size() == 1) {
-       MInterval i(interval());
+       MInterval i (interval());
        MInterval r1(i), r2(i);
        r1.right = r2.left = i.center();
-       r.push(r1); r.push(r2);
+       r.push (r1); r.push (r2);
     } else {
        for (int i=0; i < children.size(); i++)
-           r.push(children[i]->interval());
+           r.push (children[i]->interval());
     }
     return r;
 }
 
 void
-Rhythmic_grouping::intersect(MInterval t)
+Rhythmic_grouping::intersect (MInterval t)
 {
     if (interval_) {
-       interval_->intersect(t);
+       interval_->intersect (t);
        return;
     }
     
     for (int i=0; i < children.size(); i++) {
-       MInterval inter = intersection(t, children[i]->interval());
-       if (inter.empty_b() || inter.length() <= Rational( 0 )) {
+       MInterval inter = intersection (t, children[i]->interval());
+       if (inter.empty_b() || inter.length () <= Rational (0)) {
            delete children[i];
            children[i] =0;
        } else {
-           children[i]->intersect(t);
+           children[i]->intersect (t);
        }
     }
-    for (int i=0; i < children.size(); ) {
+    for (int i=0; i < children.size();) {
        if (!children[i])
-           children.del(i);
+           children.del (i);
        else
            i++;
     }
@@ -118,31 +118,31 @@ Rhythmic_grouping::intersect(MInterval t)
 
   */
 void
-Rhythmic_grouping::split(Array<MInterval> splitpoints)
+Rhythmic_grouping::split (Array<MInterval> splitpoints)
 {
     //check on splitpoints..
     int j = 0, i = 0, starti = 0, startj = 0;
     
     Array<Rhythmic_grouping*> ch;
     while (1) {
-       if  ( i >= children.size() || j >= splitpoints.size())
+       if  ( i >= children.size() || j >= splitpoints.size ())
            break;
        
-       assert
+       assert (
            children[starti]->interval().left== splitpoints[startj].left);
                if (children[i]->interval().right < splitpoints[j].right) {
            i ++;
-       } else if (children[i]->interval().right > splitpoints[j].right ) {
+       } else if (children[i]->interval().right > splitpoints[j].right) {
            j ++;
        } else {
 
            if (i == starti) {
-               ch.push(children[i]);
+               ch.push (children[i]);
            } else {
-               Rhythmic_grouping *newchild=new Rhythmic_grouping(
-                   children.slice(starti, i+1));
+               Rhythmic_grouping *newchild=new Rhythmic_grouping (
+                   children.slice (starti, i+1));
 
-               ch.push(newchild);
+               ch.push (newchild);
            }
            i ++;
            j++;
@@ -157,22 +157,22 @@ Rhythmic_grouping::split(Array<MInterval> splitpoints)
     }
 
 
-Rhythmic_grouping::Rhythmic_grouping(MInterval t, int n)
+Rhythmic_grouping::Rhythmic_grouping (MInterval t, int n)
 {
     init();
     if (n == 1 || !n) {
-       interval_ = new MInterval(t);
+       interval_ = new MInterval (t);
        return;
     }
-    Moment dt = t.length()/Rational(n);
-    MInterval basic = MInterval(t.left, t.left+dt);
+    Moment dt = t.length()/Rational (n);
+    MInterval basic = MInterval (t.left, t.left+dt);
     for (int i= 0; i < n; i++)
-       children.push(new Rhythmic_grouping( dt*Rational(i) + basic ));
+       children.push (new Rhythmic_grouping (dt*Rational (i) + basic));
 }
 
 
-Rhythmic_grouping::Rhythmic_grouping(Array<Rhythmic_grouping*> r)
-    :children(r)
+Rhythmic_grouping::Rhythmic_grouping (Array<Rhythmic_grouping*> r)
+    :children (r)
 {
     interval_ =0;
 }
@@ -183,24 +183,24 @@ Rhythmic_grouping::~Rhythmic_grouping()
 }
 
 void
-Rhythmic_grouping::copy(Rhythmic_grouping const&s)
+Rhythmic_grouping::copy (Rhythmic_grouping const&s)
 {
-    interval_ =  (s.interval_)? new MInterval(*s.interval_) : 0;
+    interval_ =  (s.interval_)? new MInterval (*s.interval_) : 0;
     for (int i=0; i < s.children.size(); i++)
-       children.push(new Rhythmic_grouping(*s.children[i]));
+       children.push (new Rhythmic_grouping (*s.children[i]));
 }
 
 void
 Rhythmic_grouping::operator=(Rhythmic_grouping const &s)
 {
     junk();
-    copy(s);
+    copy (s);
 }
 
-Rhythmic_grouping::Rhythmic_grouping(Rhythmic_grouping const&s)
+Rhythmic_grouping::Rhythmic_grouping (Rhythmic_grouping const&s)
 {
     init();
-    copy(s);
+    copy (s);
 }
 
 void
@@ -216,32 +216,32 @@ void
 Rhythmic_grouping::print()const    
 {
 #ifndef NPRINT
-    mtor << "{ \n";
+    DOUT << "{ \n";
     if (interval_)
-       mtor<<" Interval "<< interval_->str();
+       DOUT <<" Interval "<< interval_->str();
     for (int i=0; i < children.size(); i++) {
        children[i]->print();
     }
-    mtor << "}\n";
+    DOUT << "}\n";
 #endif
 }
 
 bool
-Rhythmic_grouping::child_fit_b(Moment start)
+Rhythmic_grouping::child_fit_b (Moment start)
 {
     if (children.size())
-       return ( children.top()->interval().right== start);
+       return ( children.top()->interval ().right== start);
 
     return true;
 }  
 
 void
-Rhythmic_grouping::add_child(Moment start, Moment len)
+Rhythmic_grouping::add_child (Moment start, Moment len)
 {
     Moment stop = start+len;
 
-    assert(child_fit_b(start));
-    children.push(new Rhythmic_grouping(MInterval(start, stop)));
+    assert (child_fit_b (start));
+    children.push (new Rhythmic_grouping (MInterval (start, stop)));
 }
 
 Rhythmic_grouping::Rhythmic_grouping()
@@ -250,7 +250,7 @@ Rhythmic_grouping::Rhythmic_grouping()
 }
 
 int
-min_elt(Array<int> v)
+min_elt (Array<int> v)
 {
     int i = 1000;              // ugh
     for (int j = 0 ; j <  v.size(); j++)
@@ -259,7 +259,7 @@ min_elt(Array<int> v)
 }
 
 Array<int>
-Rhythmic_grouping::generate_beams(Array<int> flags, int &flagidx)
+Rhythmic_grouping::generate_beams (Array<int> flags, int &flagidx)
 {
     assert (!interval_) ;
     
@@ -268,12 +268,12 @@ Rhythmic_grouping::generate_beams(Array<int> flags, int &flagidx)
        Array<int> child_beams;
        if (children[i]->interval_) {
            int f = flags[flagidx++];
-           child_beams.push(f);
+           child_beams.push (f);
        } else {
            child_beams = children[i]->
-               generate_beams(flags, flagidx);
+               generate_beams (flags, flagidx);
        }
-       children_beams.push(child_beams);
+       children_beams.push (child_beams);
     }
     Array<int> beams;
     int lastm, m, nextm;
@@ -282,69 +282,69 @@ Rhythmic_grouping::generate_beams(Array<int> flags, int &flagidx)
        bool add_right = (i  < children_beams.size() -1);
 
        if (!i)
-           m =  min_elt(children_beams[i]);
+           m =  min_elt (children_beams[i]);
        if (add_right)
-           nextm = min_elt(children_beams[i+1]);
+           nextm = min_elt (children_beams[i+1]);
        
        if (children_beams[i].size() == 1) {
            if (add_right)
-               beams.push(m);
+               beams.push (m);
            if (add_left)
-               beams.push(m);
+               beams.push (m);
        } else {
            if (add_left) 
-               beams.push(lastm <? m);
-           beams.concat(children_beams[i]);
+               beams.push (lastm <? m);
+           beams.concat (children_beams[i]);
            if (add_right)
-               beams.push(m <? nextm);
+               beams.push (m <? nextm);
        }
        lastm = m;
        m = nextm;      
     }
-    assert(!(beams.size()%2));
+    assert (!(beams.size()%2));
     return beams;
 }
 
 void
-Rhythmic_grouping::translate(Moment m)
+Rhythmic_grouping::translate (Moment m)
 {
     if (interval_)
        *interval_ += m;
     else
        for (int i=0; i < children.size(); i++)
-           children[i]->translate(m);
+           children[i]->translate (m);
 }
 
 void
-Rhythmic_grouping::extend(MInterval m)const
+Rhythmic_grouping::extend (MInterval m)const
 {    
-    assert(m.left >= interval().left);
-    while (m.right  >interval().right ) {
-       Array<Rhythmic_grouping*> a(children);
+    assert (m.left >= interval().left);
+    while (m.right  >interval().right) {
+       Array<Rhythmic_grouping*> a (children);
        for (int i=0; i < a.size(); i++) {
-           a[i] =new Rhythmic_grouping(*children[i]);
-           a[i]->translate(children.top()->interval().right);      
+           a[i] =new Rhythmic_grouping (*children[i]);
+           a[i]->translate (children.top()->interval ().right);            
        }
-       ((Rhythmic_grouping*)this)->children.concat(a);
+       ((Rhythmic_grouping*)this)->children.concat (a);
     }
-    assert(m.right <= interval().right);
+    assert (m.right <= interval().right);
     OK();
 }
 
 Rhythmic_grouping
-parse_grouping(Array<int> beat_i_arr, Array<Moment> elt_length_arr)
+parse_grouping (Array<int> beat_i_arr, Array<Moment> elt_length_arr)
 {
     Moment here =0;
-    assert(beat_i_arr.size() == elt_length_arr.size());
+    assert (beat_i_arr.size() == elt_length_arr.size ());
     
     Array<Rhythmic_grouping*> children;
     for (int i=0; i < beat_i_arr.size(); i++) {
        Moment last = here;
-       here += elt_length_arr[i] * Moment(beat_i_arr[i]);
-       children.push(
-           new Rhythmic_grouping(MInterval(last, here),
-                                 beat_i_arr[i] ));
+       here += elt_length_arr[i] * Moment (beat_i_arr[i]);
+       children.push (
+           new Rhythmic_grouping (MInterval (last, here),
+                                 beat_i_arr[i]));
     }
-    return Rhythmic_grouping(children);
+    return Rhythmic_grouping (children);
 }
 
index 2d978bb60ebbaeb28f1314ec41faa8c007bf8e1f..af7001db90d85283f2e8c72e671042c3d5580ff8 100644 (file)
@@ -19,12 +19,12 @@ Head_column::Head_column()
 }
 
 void
-Head_column::do_substitute_dependency(Score_elem*o,
+Head_column::do_substitute_dependency (Score_elem*o,
                                      Score_elem*n)
 {
-    Script_column::do_substitute_dependency(o,n);
-    if (o->name() == Note_head::static_name()) {
-       head_l_arr_.substitute(Note_head*)o->item(), 
+    Script_column::do_substitute_dependency (o,n);
+    if (o->name() == Note_head::static_name ()) {
+       head_l_arr_.substitute ((Note_head*)o->item(), 
                                (n)? (Note_head*)n->item() : 0);
     }
     if (stem_l_ == o) {
@@ -34,26 +34,26 @@ Head_column::do_substitute_dependency(Score_elem*o,
 
 
 void
-Head_column::set(Stem*stem_l)
+Head_column::set (Stem*stem_l)
 {
     stem_l_ = stem_l;
-    Score_elem::add_dependency(stem_l);
+    Score_elem::add_dependency (stem_l);
     for (int i=0; script_l_arr_.size(); i++)
-       script_l_arr_[i]->set_stem( stem_l );
+       script_l_arr_[i]->set_stem (stem_l);
 }
 
 void
-Head_column::add(Script *script_l)
+Head_column::add (Script *script_l)
 {
-    Script_column::add(script_l) ;
-    if  (stem_l_ )
-       script_l->set_stem( stem_l_ );
+    Script_column::add (script_l) ;
+    if  (stem_l_)
+       script_l->set_stem (stem_l_);
 }
 void
-Head_column::add(Note_head *n_l)
+Head_column::add (Note_head *n_l)
 {
-    add_support(n_l);
-    head_l_arr_.push(n_l);
+    add_support (n_l);
+    head_l_arr_.push (n_l);
 }
 
 
@@ -64,7 +64,7 @@ void
 Head_column::do_print() const
 {
 #ifndef NPRINT
-    mtor << "heads: " << head_l_arr_.size();
+    DOUT << "heads: " << head_l_arr_.size();
 #endif
 }
 
index 2db5d4ac0b75a27188fd578964091a79aa78291a..d1aaaed0af747fd3b456daf62b6a7cff7c3487e6 100644 (file)
@@ -16,13 +16,13 @@ Note_head_engraver::Note_head_engraver()
 }
 
 bool
-Note_head_engraver::do_try_request(Request *req_l) 
+Note_head_engraver::do_try_request (Request *req_l) 
 {
     if (note_req_l_)
        return false;
     
-    if (req_l->musical() && (req_l->musical()->note() || req_l->musical()->rest()))
-       note_req_l_=req_l->musical()->rhythmic();
+    if (req_l->musical() && (req_l->musical ()->note () || req_l->musical ()->rest ()))
+       note_req_l_=req_l->musical()->rhythmic ();
     else
        return false;
 
@@ -35,12 +35,12 @@ Note_head_engraver::do_process_requests()
     if (!note_req_l_)
        return;
     
-    Note_head*n_p = new Note_head(8);  // ugh
+    Note_head*n_p = new Note_head (8); // ugh
     note_p_ = n_p;
-    n_p->set_rhythmic(note_req_l_->rhythmic());
+    n_p->set_rhythmic (note_req_l_->rhythmic());
 
     if (note_req_l_->note()) {
-       n_p->position_i_ = note_req_l_->note()->height();
+       n_p->position_i_ = note_req_l_->note()->height ();
        Staff_info inf = get_staff_info();
        if (inf.c0_position_i_l_)
            n_p->position_i_ += *inf.c0_position_i_l_;
@@ -48,15 +48,15 @@ Note_head_engraver::do_process_requests()
        n_p->rest_b_ = true;
     }
     
-    Score_elem_info itinf(note_p_,note_req_l_);
-    announce_element(itinf);
+    Score_elem_info itinf (note_p_,note_req_l_);
+    announce_element (itinf);
 }
  
 void
 Note_head_engraver::do_pre_move_processing()
 {
     if (note_p_) {
-       typeset_element(note_p_);
+       typeset_element (note_p_);
        note_p_ = 0;
     }
 }
index 8b4427fc0d68d3341847f380fbd36f5dbdba5371..de24eed51d31a2de5c6c07fe3b68ed9eff9b77be 100644 (file)
@@ -14,32 +14,32 @@ void
 Horizontal_align_item::OK() const
 {
    for  (int i =0; i < item_l_arr_.size(); i++) 
-       assert ( pcol_l_ == item_l_arr_[i]->pcol_l_ );
+       assert ( pcol_l_ == item_l_arr_[i]->pcol_l_);
 }
 bool
-Horizontal_align_item::contains_b(Item *i)const
+Horizontal_align_item::contains_b (Item *i)const
 {
-    return item_l_arr_.find_l(i);
+    return item_l_arr_.find_l (i);
 }
 
 void
-Horizontal_align_item::add(Item *i,int p)
+Horizontal_align_item::add (Item *i,int p)
 {
-    assert(! contains_b(i));
-    priority_i_arr_.push(p);
-    item_l_arr_.push(i);
-    add_dependency(i);
+    assert (! contains_b (i));
+    priority_i_arr_.push (p);
+    item_l_arr_.push (i);
+    add_dependency (i);
 }
 
 void
-Horizontal_align_item::do_substitute_dependency(Score_elem*o,Score_elem*n)
+Horizontal_align_item::do_substitute_dependency (Score_elem*o,Score_elem*n)
 {
     int i;
-    while ((i = item_l_arr_.find_i(o->item())) >=0) {
+    while ((i = item_l_arr_.find_i (o->item())) >=0) {
        if (n)
            item_l_arr_[i] = n->item();
        else
-           item_l_arr_.del(i);
+           item_l_arr_.del (i);
     }
 }
 
@@ -50,7 +50,7 @@ struct Horizontal_align_item_content {
                        Horizontal_align_item_content const &h2) {
        return h1.priority_i_ - h2.priority_i_;
     }
-    Horizontal_align_item_content(Item*i, int p) {
+    Horizontal_align_item_content (Item*i, int p) {
        priority_i_ = p;
        item_l_ = i;
     }
@@ -65,15 +65,15 @@ Horizontal_align_item::do_pre_processing()
     {  
        Array<Horizontal_align_item_content> content;
        for  (int i =0; i < item_l_arr_.size(); i++) 
-           content.push(
-               Horizontal_align_item_content(
+           content.push (
+               Horizontal_align_item_content (
                    item_l_arr_[i], priority_i_arr_[i]));
-       content.sort(Horizontal_align_item_content::compare);
+       content.sort (Horizontal_align_item_content::compare);
        item_l_arr_.clear();
        priority_i_arr_.clear();
        for  (int i =0; i < content.size(); i++) {
-           item_l_arr_.push( content[i].item_l_ );
-           priority_i_arr_.pushcontent[i].priority_i_);
+           item_l_arr_.push (content[i].item_l_);
+           priority_i_arr_.push (content[i].priority_i_);
        }
     }
     
@@ -83,9 +83,9 @@ Horizontal_align_item::do_pre_processing()
        
        Interval item_width= item_l_arr_[i]->width();
        if (item_width.empty_b()) {
-           item_width = Interval(0,0);
+           item_width = Interval (0,0);
        }
-       dims.pushitem_width);
+       dims.push (item_width);
        total += item_width.length();
     }
 
@@ -93,21 +93,21 @@ Horizontal_align_item::do_pre_processing()
     Real center_dx_f = 0;
     for ( int i=0 ;  i < item_l_arr_.size(); i++) {
        Real dx = where_f -dims[i][-1];
-       item_l_arr_[i]->translatedx , X_AXIS);
+       item_l_arr_[i]->translate (dx , X_AXIS);
        if (item_l_arr_[i] == center_l_)
            center_dx_f = where_f;
        where_f += dims[i].length();
     }
-    if (center_dx_f && !align_i_ )
+    if (center_dx_f && !align_i_)
        for ( int i=0 ;  i < item_l_arr_.size(); i++) 
-           item_l_arr_[i]->translate- center_dx_f , X_AXIS);
+           item_l_arr_[i]->translate (- center_dx_f , X_AXIS);
     
 }
 
 Interval
 Horizontal_align_item::do_width() const
 {
-    return Interval(0,0);
+    return Interval (0,0);
 }
 
 void
index 9713f255db45a14b6cd1368ba44a2272cd4faf23..1209cc22f5c4db8809a1aa6df7c57c61134d1372 100644 (file)
@@ -15,9 +15,9 @@ void
 Idealspacing::print() const
 {
 #ifndef NPRINT
-    mtor << "idealspacing {" ;
-    mtor << "distance "<<space_f_<< " strength " << hooke_f_ ;
-    mtor << "left " << left_i_ << " right " << right_i_ << "}\n";
+    DOUT << "idealspacing {" ;
+    DOUT << "distance "<<space_f_<< " strength " << hooke_f_ ;
+    DOUT << "left " << left_i_ << " right " << right_i_ << "}\n";
 #endif
 }
 
@@ -32,5 +32,5 @@ Idealspacing::Idealspacing()
 void
 Idealspacing::OK() const
 {
-    assert(hooke_f_ >= 0);
+    assert (hooke_f_ >= 0);
 }
index bbeea7ef787d004b29e0d9f7d9741d78775f17d6..ff75e9331158187935a11bc3247b966dc74b42e0 100644 (file)
@@ -13,7 +13,6 @@
 #include "identifier.hh"
 #include "my-lily-lexer.hh"
 #include "debug.hh"
-
 #include "symtable.hh"
 #include "lookup.hh"
 #include "script-def.hh"
@@ -26,21 +25,19 @@ IMPLEMENT_IS_TYPE_B(Identifier);
 Identifier::~Identifier()
 {
     if (!accessed_b_ && !init_b_)
-       warning("Variable not used");
+       warning ("Variable not used");
 }
 void
-Identifier::error(String expect)
+Identifier::error (String expect)
 {
-    String e("Wrong identifier type: ");
-    e += String(name()) + "(expected " + expect + ")";
-    ::error(e);
+    String e ("Wrong identifier type: ");
+    e += String (name()) + "(expected " + expect + ")";
+    ::error (e);
 }
 
-Identifier::Identifier(String n, int code)
-    :  name_str_(n) 
+Identifier::Identifier ( int code)
 {
     token_code_i_ = code; 
-    data = 0;
     accessed_b_ = 0;
     init_b_ = 0;
 }
@@ -48,7 +45,7 @@ Identifier::Identifier(String n, int code)
 void
 Identifier::print()const
 {
-    mtor << "identifier \'" << name_str_ << "\'=";
+    DOUT << "identifier ";
     do_print();
 }
 
@@ -56,7 +53,7 @@ Identifier::print()const
 #define DEFAULT_PRINT(Class, Content_type, accessor) \
 void \
 Class::do_print() const { \
-    ((Class*)this)->accessor(false)->print(); \
+    ((Class*)this)->accessor()->print(); \
 } \
 class Class
 
@@ -74,67 +71,61 @@ DEFAULT_PRINT(Paper_def_id,Paper_def, paperdef);
 void
 Real_id::do_print() const
 {
-    mtor << *((Real_id*)this)->real(false)<< "\n";
+    DOUT << *data_p_<< "\n";
 }
 
 void
 Int_id::do_print() const
 {
-    mtor << *((Int_id*)this)->intid(false)<< "\n";
+    DOUT << *data_p_<< "\n";
 }
 
 
-#define default_accessor(Idclass, Class, accessor)\
+#define DEFAULT_ACCESSOR(Idclass, Class, accessor)\
 Class*\
-Idclass::accessor(bool copy) {\
-       if (copy){ \
-           accessed_b_ = true;\
-           return new Class(* (Class*) data);\
-        }else\
-           return (Class*) data;\
-    }\
-
-#define virtual_accessor(Idclass, Class, accessor)\
+Idclass::accessor () {\
+    accessed_b_ = true;\
+    return new Class (*data_p_);\
+}
+
+#define VIRTUAL_ACCESSOR(Idclass, Class, accessor)\
 Class*\
-Idclass::accessor(bool copy) {\
-       if (copy){ \
-           accessed_b_ = true;\
-           return (Class*) ((Class*) data)->clone();\
-        }else\
-           return (Class*) data;\
-    }\
-
-
-#define implement_id_class(Idclass, Class, accessor)   \
-IMPLEMENT_IS_TYPE_B1(Idclass,Identifier)\
-Idclass::~Idclass() { delete accessor(false); }\
-Idclass::Idclass(String s, Class*st, int code):Identifier(s,code) { data = st; }\
-
-
-implement_id_class(Input_translator_id, Input_translator, input_translator);
-implement_id_class(Int_id, int, intid);
-implement_id_class(Real_id, Real, real);
-implement_id_class(Script_id, General_script_def, script);
-implement_id_class(Lookup_id, Lookup, lookup);
-implement_id_class(Symtables_id, Symtables, symtables);
-implement_id_class(Music_id, Music, music);
-implement_id_class(Score_id, Score, score);
-implement_id_class(Request_id, Request, request);
-implement_id_class(Midi_def_id, Midi_def, mididef);
-implement_id_class(Paper_def_id, Paper_def, paperdef);
-
-Identifier::Identifier(Identifier const&)
+Idclass::accessor () {\
+  accessed_b_ = true;\
+  return (Class*)data_p_->clone();\
+}
+
+#define IMPLEMENT_ID_CLASS(Idclass, Class, accessor)   \
+       IMPLEMENT_IS_TYPE_B1(Idclass,Identifier)\
+       Idclass::~Idclass() { delete data_p_; }\
+       Idclass::Idclass (Class*st, int code):Identifier (code) { data_p_ = st; }\
+
+
+IMPLEMENT_ID_CLASS(Input_translator_id, Input_translator, input_translator);
+IMPLEMENT_ID_CLASS(Int_id, int, intid);
+IMPLEMENT_ID_CLASS(Real_id, Real, real);
+IMPLEMENT_ID_CLASS(Script_id, General_script_def, script);
+IMPLEMENT_ID_CLASS(Lookup_id, Lookup, lookup);
+IMPLEMENT_ID_CLASS(Symtables_id, Symtables, symtables);
+IMPLEMENT_ID_CLASS(Music_id, Music, music);
+IMPLEMENT_ID_CLASS(Score_id, Score, score);
+IMPLEMENT_ID_CLASS(Request_id, Request, request);
+IMPLEMENT_ID_CLASS(Midi_def_id, Midi_def, mididef);
+IMPLEMENT_ID_CLASS(Paper_def_id, Paper_def, paperdef);
+
+Identifier::Identifier (Identifier const&)
 {
-    assert(false);
+    assert (false);
 }
-default_accessor(Input_translator_id,Input_translator, input_translator);
-default_accessor(Int_id, int, intid);
-default_accessor(Real_id, Real, real);
-virtual_accessor(Script_id, General_script_def, script);
-default_accessor(Lookup_id, Lookup, lookup);
-default_accessor(Symtables_id, Symtables, symtables);
-virtual_accessor(Music_id, Music, music);
-default_accessor(Score_id, Score, score);
-virtual_accessor(Request_id, Request, request);
-default_accessor(Midi_def_id, Midi_def, mididef);
-default_accessor(Paper_def_id, Paper_def, paperdef);
+
+DEFAULT_ACCESSOR(Input_translator_id,Input_translator, input_translator);
+DEFAULT_ACCESSOR(Int_id, int, intid);
+DEFAULT_ACCESSOR(Real_id, Real, real);
+VIRTUAL_ACCESSOR(Script_id, General_script_def, script);
+DEFAULT_ACCESSOR(Lookup_id, Lookup, lookup);
+DEFAULT_ACCESSOR(Symtables_id, Symtables, symtables);
+VIRTUAL_ACCESSOR(Music_id, Music, music);
+DEFAULT_ACCESSOR(Score_id, Score, score);
+VIRTUAL_ACCESSOR(Request_id, Request, request);
+DEFAULT_ACCESSOR(Midi_def_id, Midi_def, mididef);
+DEFAULT_ACCESSOR(Paper_def_id, Paper_def, paperdef);
index c3d353615e86065414f686e90c226c73abdde5b1..b5f09403f87449591729a277ddfad90dbee6b81d 100644 (file)
@@ -19,9 +19,9 @@
 
 class Audio_column { 
 public:
-    Audio_column( Moment at_mom );
+    Audio_column (Moment at_mom);
 
-    void add( Audio_item* i_l );
+    void add (Audio_item* i_l);
     Moment at_mom() const;
     void print() const;
 
@@ -29,7 +29,7 @@ public:
     Audio_score * audio_score_l_;
 
 private:
-    Audio_column( Audio_column const& );
+    Audio_column (Audio_column const&);
 
     Moment at_mom_;
 };
index 1b0a4fccf9bf4947e2302d5f2a3ef3e932a85cf0..61c24d3a49174def679eb9bb8627ead08a9328b2 100644 (file)
@@ -23,7 +23,7 @@
   virtual CSound_item* score_item_p() = 0;
  */
 struct Audio_item : public Audio_element {
-    Audio_item( Request* req_l );
+    Audio_item (Request* req_l);
 
     /// Create a midi-item from myself.
     virtual Midi_item* midi_item_p() = 0;
@@ -34,24 +34,24 @@ struct Audio_item : public Audio_element {
     DECLARE_MY_RUNTIME_TYPEINFO;
     
 private:
-    Audio_item( Audio_item const& );
-    Audio_item& operator=( Audio_item const& );
+    Audio_item (Audio_item const&);
+    Audio_item& operator=( Audio_item const&);
 };
 
 struct Audio_key : public Audio_item {
-    Audio_key( Request* req_l );
+    Audio_key (Request* req_l);
 
     virtual Midi_item* midi_item_p();
 };
 
 struct Audio_instrument : public Audio_item {
-    Audio_instrument( String instrument_str );
+    Audio_instrument (String instrument_str);
     virtual Midi_item* midi_item_p();
     String str_;
 };
                                       
 struct Audio_note : public Audio_item {
-    Audio_note( Request* req_l );
+    Audio_note (Request* req_l);
     virtual Midi_item* midi_item_p();
 };
 
@@ -61,7 +61,7 @@ struct Audio_text : Audio_item {
        MARKER, CUE_POINT
     };
 
-    Audio_text( Audio_text::Type type, String text_str );
+    Audio_text (Audio_text::Type type, String text_str);
     virtual Midi_item* midi_item_p();
 
     Type type_;
@@ -69,14 +69,14 @@ struct Audio_text : Audio_item {
 };
 
 struct Audio_tempo : Audio_item {
-    Audio_tempo( int per_minute_4_i );
+    Audio_tempo (int per_minute_4_i);
     virtual Midi_item* midi_item_p();
 
     int per_minute_4_i_;
 };
 
 struct Audio_meter : Audio_item {
-    Audio_meter( Request* req_l );
+    Audio_meter (Request* req_l);
     virtual Midi_item* midi_item_p();
 };
 
index 407a7b412d3f09a077cef837b043e98592698008..5fad1355f2ea8c600b7b6742f2bd17b91febd8ee 100644 (file)
 
 class Audio_score {
 public:
-    Audio_score( Score* l );
+    Audio_score (Score* l);
 
-    void add( Audio_column* );
-    void add_staff( Audio_staff* l );
-    void add(Audio_element*p);
+    void add (Audio_column*);
+    void add_staff (Audio_staff* l);
+    void add (Audio_element*p);
 
     
-    void output( Midi_stream& midi_stream_r );
-    void output_header_track( Midi_stream& midi_stream_r );
+    void output (Midi_stream& midi_stream_r);
+    void output_header_track (Midi_stream& midi_stream_r);
 
     void print() const;
     void process();
index 7e91d7fd0ba906e4964b0f7f591a650d80324c7b..430c5f2c8acbbe1286b5b901d8bcdc6a007e130a 100644 (file)
@@ -13,8 +13,8 @@
 #include "audio-element.hh"
 
 struct Audio_staff : public Audio_element {
-    void addAudio_item*  l);
-    void output( Midi_stream& midi_stream_r, int track_i );
+    void add (Audio_item*  l);
+    void output (Midi_stream& midi_stream_r, int track_i);
 
     Link_list<Audio_item*> audio_item_l_list_;
     DECLARE_MY_RUNTIME_TYPEINFO;
index 7dfe8fbf7a0a6ea766bfd8cff1374bf867af34a0..a9dbb3c5e16a552cb34eb6aae9e3ba6199fc1d41 100644 (file)
@@ -19,6 +19,6 @@ enum Axis {
 
 class String;
 
-String axis_name_str(Axis);
+String axis_name_str (Axis);
 
 #endif // AXES_HH
index bdf758cb4288de571199773e2019c026c5e8e161..92d0cd88062a2c90f46d0b77ef07ad12045f9601 100644 (file)
@@ -21,15 +21,15 @@ axis-group.hh -- declare Axis_group_administration, Axis_group_element
 struct Axis_group_administration {
     Link_array<Score_elem> elem_l_arr_;
     
-    Interval extent(Axis)const;
+    Interval extent (Axis)const;
     void print() const ;
-    Axis_group_administration(Axis_group_administration const&);
+    Axis_group_administration (Axis_group_administration const&);
     Axis_group_administration(){}
-    void remove_all(Axis a1,Axis a2);
+    void remove_all (Axis a1,Axis a2);
     
-    bool contains_b(Score_elem const *)const;
-    void add_element(Score_elem*, Axis_group_element*, Axis a1, Axis a2);
-    void remove_element(Score_elem*, Axis a1, Axis a2);
+    bool contains_b (Score_elem const *)const;
+    void add_element (Score_elem*, Axis_group_element*, Axis a1, Axis a2);
+    void remove_element (Score_elem*, Axis a1, Axis a2);
 };
 
 /** 
@@ -45,9 +45,9 @@ protected:
 
 public:
     virtual void remove_all()=0;
-    virtual void add_element(Score_elem*)=0;
-    virtual void remove_element(Score_elem*)=0;
-    virtual bool contains_b(Score_elem const *)const;
+    virtual void add_element (Score_elem*)=0;
+    virtual void remove_element (Score_elem*)=0;
+    virtual bool contains_b (Score_elem const *)const;
     DECLARE_MY_RUNTIME_TYPEINFO;
 };
 #endif // Axis_group_administration_HH
index 70b7bcf63ad931082c748d6153a1e7de83522a97..d7d8ba2c43cd4701bb95efe4c3e34b76d2cc7fe1 100644 (file)
@@ -20,7 +20,7 @@ class Bar_column_engraver :public Engraver {
     Bar *bar_l_;
     
 protected:
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void acknowledge_element (Score_elem_info);
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
 public:
index 7c7fb426adb738d759d2357ae77b427e0039d2b6..43fac9672dea776e123878d93e12fb3b8c2a162d 100644 (file)
@@ -20,10 +20,10 @@ class Bar_column : public Script_column {
 
 public:
     Bar_column();
-    void set_barBar*);
+    void set_bar (Bar*);
 protected:
     SCORE_ELEM_CLONE(Bar_column);
-    void do_substitute_dependency(Score_elem*,Score_elem*);
+    void do_substitute_dependency (Score_elem*,Score_elem*);
     DECLARE_MY_RUNTIME_TYPEINFO;
 };
 
index f159d2973ae0771e3f719664374bc192ff8f2e3a..bb7cfb061babf2845a27df488d117a7d28675829 100644 (file)
@@ -23,7 +23,7 @@ public:
 
      
 protected:
-    virtual bool do_try_request(Request *req_l);
+    virtual bool do_try_request (Request *req_l);
     virtual void do_process_requests();
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
index 287706b6ee4f4bd032e5aaa39532067feb656e93..ad1956648a997bf1f0dc8aadd2df9fd9bf69e28f 100644 (file)
@@ -20,7 +20,7 @@ class Bar_number_grav : public Engraver {
     int number_i_;
 protected:
 
-    void acknowledge_element(Score_elem_info);
+    void acknowledge_element (Score_elem_info);
     void do_pre_move_processing();
 public:
     Bar_number_grav();
index 1e6a36fe1513c25531c5421090741424f9c0eb06..48b4f9bb4cbfa62e33897064e7d1c03d64730383 100644 (file)
@@ -26,9 +26,9 @@ public:
     /* *************** */
     DECLARE_MY_RUNTIME_TYPEINFO;
     Beam();
-    void add(Stem*);
+    void add (Stem*);
 
-    void set_grouping(Rhythmic_grouping def, Rhythmic_grouping current);
+    void set_grouping (Rhythmic_grouping def, Rhythmic_grouping current);
     void set_stemlens();
     SCORE_ELEM_CLONE(Beam);
 protected:
@@ -37,12 +37,12 @@ protected:
     virtual void set_default_dir();
     virtual void do_pre_processing();
     virtual void do_post_processing();
-    virtual void do_substitute_dependent(Score_elem*, Score_elem*);
+    virtual void do_substitute_dependent (Score_elem*, Score_elem*);
 
     virtual void do_print() const;
 
 private:
-    Molecule stem_beams(Stem *here, Stem *next, Stem *prev)const;
+    Molecule stem_beams (Stem *here, Stem *next, Stem *prev)const;
     void solve_slope();
     Molecule*brew_molecule_p()const;
 };
index 8161a84518ccd43b342a4ec3f236bd034c579ba7..36db4b88ba2b707e9583cdd6567885a4eb0ad2c4 100644 (file)
@@ -18,22 +18,22 @@ struct Box {
     Interval &y(){ return interval_a_[Y_AXIS]; }
     Interval x()const{ return interval_a_[X_AXIS]; }
     Interval y()const{return interval_a_[Y_AXIS]; }
-    Interval operator[](Axis a ) {
+    Interval operator[](Axis a) {
        return interval_a_[a];
     }
     
-    void translate(Offset o) {
-       x().translate(o.x());
-       y().translate(o.y());
+    void translate (Offset o) {
+       x().translate (o.x ());
+       y().translate (o.y ());
     }
 
     /// smallest box enclosing #b#
-    void unite(Box b) {
-       x().unite(b.x());
-       y().unite(b.y());
+    void unite (Box b) {
+       x().unite (b.x ());
+       y().unite (b.y ());
     }
     Box();
-    Box(Interval ix, Interval iy);
+    Box (Interval ix, Interval iy);
 };
 
 
index 0a9fafe68cf461118b4b6fcc84545a80d2304797..000ef3ec92d1c5aa091d047bfeeb826b325b4df0 100644 (file)
@@ -23,7 +23,7 @@ struct Col_stats
     int cols_i_;
 
     Col_stats(); 
-    void add(Line_of_cols const&l);
+    void add (Line_of_cols const&l);
     String str()const;
 };
 
@@ -47,16 +47,16 @@ protected:
     
 
     /// helper: solve for the columns in #curline#.
-    void solve_line(Col_hpositions*) const;
+    void solve_line (Col_hpositions*) const;
 
     /// helper: approximate the energyv
-    void approximate_solve_line(Col_hpositions*) const;
+    void approximate_solve_line (Col_hpositions*) const;
 
     /// does curline fit on the paper?    
-    bool feasible(Line_of_cols)const;
+    bool feasible (Line_of_cols)const;
     
 
-    Line_spacer* generate_spacing_problem(Line_of_cols)const;
+    Line_spacer* generate_spacing_problem (Line_of_cols)const;
 
     virtual Array<Col_hpositions> do_solve()const=0;
     void print_stats()const;
@@ -69,7 +69,7 @@ public:
     Line_spacer* (*get_line_spacer)();
     
     Break_algorithm();
-    void set_pscore(Paper_score*);
+    void set_pscore (Paper_score*);
 
     /// check if the spacing/breaking problem is well-stated
     void problem_OK()const;
index 2f974eeadb0f6b9569c4519f89cd94b7161fb6b9..624e7bdf2046d8a14800ddd0c1392892a0857d8c 100644 (file)
@@ -16,17 +16,17 @@ class Clef_engraver : public  Engraver {
     Clef_item *clef_p_;
     Clef_change_req * clef_req_l_;
     void create_clef();
-    void read_req(Clef_change_req*);
-    bool set_type(String);
+    void read_req (Clef_change_req*);
+    bool set_type (String);
 protected:
      virtual void do_process_requests();
-    virtual void fill_staff_info(Staff_info&);
+    virtual void fill_staff_info (Staff_info&);
     virtual void do_pre_move_processing();
     virtual void do_removal_processing();
     virtual void do_creation_processing();
     virtual void do_post_move_processing();
-    virtual bool do_try_request(Request*);
-    virtual void acknowledge_element(Score_elem_info);
+    virtual bool do_try_request (Request*);
+    virtual void acknowledge_element (Score_elem_info);
 public:
     int c0_position_i_;
     String clef_type_str_;
index face7e818deb9d5f6d5dd246881288a438d4bccd..ad8a674242d04a252a9313b56b3b449d4f9e8db7 100644 (file)
@@ -30,8 +30,8 @@ public:
     DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Clef_item);
     Clef_item();
-    void read(Clef_engraver const&);
-    void read(String);
+    void read (Clef_engraver const&);
+    void read (String);
 };
 
 #endif // CLEFITEM_HH
index 985df3b69d84e10d00df09ba9b6e4220e41aa71e..36a2f73f721fa3d06a8b8ede55fec088ee228eb8 100644 (file)
@@ -24,7 +24,7 @@ struct Colinfo {
     bool ugh_b_;               
     /* *************** */
     Colinfo();
-    Colinfo(PCol *,Real const *);
+    Colinfo (PCol *,Real const *);
 
     void print() const;
     bool fixed() const { return fixpos_p_.get_C();}
index a8891ea0046c73ccdec794619863bc78fdbdc1e3..3f198f2ca11330e1088bbe5399820d58e8ffdfd6 100644 (file)
@@ -30,7 +30,7 @@ struct Col_hpositions {
       constraints.  should always work */
     void stupid_solution();
     Col_hpositions();
-    void addPCol*c);
+    void add (PCol*c);
     void print() const;
 };
 
index be3880de62eb211583a53557d7b7e3515f2bed9a..b04d9fe7465d31ede17e54b302dc3d3e81109aea 100644 (file)
@@ -16,7 +16,7 @@ class Collision_engraver : public Engraver {
     Collision* col_p_;
 
 protected:
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void acknowledge_element (Score_elem_info);
     virtual void do_pre_move_processing();
 public:
     Collision_engraver();
index 162c5fe38597d1c0c40a6265861e0a84e486f0e0..6ab5db3fad20db9ca5b41ff6b083921b772fa774 100644 (file)
@@ -22,7 +22,7 @@
 */
 class Collision : public Horizontal_vertical_group_item {
 protected:
-    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*,Score_elem*);
     virtual void do_pre_processing();
 public:
     Link_array<Note_column> clash_l_arr_;
index 5d173ca9f9250ad9d9535ae1b03d14f703312cf0..1a78f14d758b8a5917032eea588ab794b2b0b2c3 100644 (file)
@@ -65,16 +65,16 @@ public:
 
     Tempo_req();
     REQUESTMETHODS(Tempo_req, tempo);
-    bool do_equal_b(Request *)const;
+    bool do_equal_b (Request *)const;
 };
 
 class Partial_measure_req  : public Timing_req  {
 public:
     Moment duration_;
 
-    Partial_measure_req(Moment);
+    Partial_measure_req (Moment);
     REQUESTMETHODS(Partial_measure_req, partial);
-    bool do_equal_b(Request*)const;
+    bool do_equal_b (Request*)const;
 };
 
 /**
@@ -85,8 +85,8 @@ public:
     int beats_i_, one_beat_i_;
 
     Meter_change_req();
-    void set(int,int);
-    bool do_equal_b(Request*)const;
+    void set (int,int);
+    bool do_equal_b (Request*)const;
     REQUESTMETHODS(Meter_change_req, meterchange);
 };
 
@@ -95,15 +95,15 @@ class Cadenza_req  : public Timing_req  {
 public:
     /// turn on?
     bool on_b_;
-    bool do_equal_b(Request*)const;
-    Cadenza_req(bool);
+    bool do_equal_b (Request*)const;
+    Cadenza_req (bool);
     REQUESTMETHODS(Cadenza_req,cadenza);
 };
 
 /// check if we're at start of a  measure.
 class Barcheck_req  : public Timing_req  {
 public:
-    bool do_equal_b(Request *)const;
+    bool do_equal_b (Request *)const;
     REQUESTMETHODS(Barcheck_req,barcheck);
 };
 
@@ -111,7 +111,7 @@ class Measure_grouping_req : public Timing_req  {
 public:
     Array<int> beat_i_arr_;
     Array<Moment> elt_length_arr_;
-    bool do_equal_b(Request *)const;
+    bool do_equal_b (Request *)const;
     REQUESTMETHODS(Measure_grouping_req, measuregrouping);
 };
 
@@ -120,8 +120,8 @@ public:
 class Bar_req  : public Command_req  {
 public:
     String type_str_;
-    Bar_req(String);
-    bool do_equal_b(Request*)const;
+    Bar_req (String);
+    bool do_equal_b (Request*)const;
 
     REQUESTMETHODS(Bar_req,bar);
 };
@@ -148,7 +148,7 @@ public:
     /// don't ignore the  octaves in #melodic_p_arr_#?
     bool multi_octave_b_;
     Key_change_req();
-    Key_change_req(Key_change_req const&);
+    Key_change_req (Key_change_req const&);
     ~Key_change_req();
     REQUESTMETHODS(Key_change_req, keychange);
 
@@ -160,7 +160,7 @@ public:
     /// return number of sharps in key
     int sharps_i();
 
-    void transpose(Melodic_req const & d) const;
+    void transpose (Melodic_req const & d) const;
     /// is minor key?
     int minor_b();
 };
@@ -168,7 +168,7 @@ public:
 class Clef_change_req  : public Command_req  {
 public:
     String clef_str_;
-    Clef_change_req(String);
+    Clef_change_req (String);
     REQUESTMETHODS(Clef_change_req, clefchange);
 };
 
index 18055e067f2f247739a59602229fa87f9987079d..aca896309d5fbaaed845067c8ac263f8b81e8934 100644 (file)
@@ -12,8 +12,8 @@
 #include "lily-proto.hh"
 #include "warn.hh"
 
-void error_t(const String& s, Time_description const &  t_tdes);
-void error_t(String const &s, const Moment &when);
+void error_t (const String& s, Time_description const &  t_tdes);
+void error_t (String const &s, const Moment &when);
 
 #define WARN warnout << "warning: "<<__FUNCTION__ << "(): "
 extern ostream &warnout ;
@@ -24,11 +24,13 @@ extern ostream *mlog;
 // debugging
 extern Dstream *monitor; // monitor
 
-
 #ifdef NPRINT
-#define mtor if (0) *monitor   // clever hack 
+/** 
+  Global debug output. Compare with cin, cout, cerr, DOUT is DEBUG OUTPUT
+ */
+#define DOUT if (0) *monitor   // clever hack 
 #else
-#define mtor if (check_debug) monitor->identify_as(__PRETTY_FUNCTION__)
+#define DOUT if (check_debug) monitor->identify_as (__PRETTY_FUNCTION__)
 #endif
 
 extern bool check_debug;
index 71b0036b72b3e99ce030e690829a9adc2e4217ac..ac8267f18711f7ab90fb073cf65e8c83ceda1515 100644 (file)
@@ -14,8 +14,8 @@ const Real PT_TO_PT =1.0;
 #define CM  *CM_TO_PT
 #define INCH *INCH_TO_PT
 
-Real parse_dimen(String);
-String print_dimen(Real);
-Real convert_dimen(Real, String);
+Real parse_dimen (String);
+String print_dimen (Real);
+Real convert_dimen (Real, String);
 #endif
 
index 389a4684663eb7ea33de2d51846b9f42d676ca92..26556edf9dfd356df0993240d0396013509f6703 100644 (file)
@@ -25,12 +25,12 @@ public:
     ~Dynamic_engraver();
     DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
-    virtual void acknowledge_element(Score_elem_info);
-    virtual bool do_try_request(Request *req_l);
+    virtual void acknowledge_element (Score_elem_info);
+    virtual bool do_try_request (Request *req_l);
     virtual void do_process_requests();
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
-    virtual void set_feature(Feature);
+    virtual void set_feature (Feature);
 };
 
 #endif // DYNAMIC_GRAV_HH
index b1248cc99095cd077c59646630387250d03e4e41..8e0fcd515442b399340972e953dfd3bd64adbb8d 100644 (file)
 class Horizontal_vertical_group_item  : public Axis_group_item, public Horizontal_vertical_group_element {
 protected:
     virtual void do_print() const;
-    virtual void remove_all() { Horizontal_vertical_group_element::remove_all(); }
+    virtual void remove_all() { Horizontal_vertical_group_element::remove_all (); }
 public:
-    virtual void add_element(Score_elem*e) { Horizontal_vertical_group_element::add_element(e); }
-    virtual void remove_element(Score_elem*e) { Horizontal_vertical_group_element::remove_element(e); }
+    virtual void add_element (Score_elem*e) { Horizontal_vertical_group_element::add_element (e); }
+    virtual void remove_element (Score_elem*e) { Horizontal_vertical_group_element::remove_element (e); }
 
     DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Horizontal_vertical_group_item);
index baf3010c09b2c41a1a044a44e05f1dc105dcc28f..61ad7519f309e65f4c57d1418f46ee14d10e0b20 100644 (file)
@@ -26,8 +26,8 @@ protected:
 
 public:
     DECLARE_MY_RUNTIME_TYPEINFO;
-    virtual void add_element(Score_elem*);
-    virtual void remove_element(Score_elem*);
+    virtual void add_element (Score_elem*);
+    virtual void remove_element (Score_elem*);
 
 };
 /**
@@ -39,8 +39,8 @@ protected:
     virtual void remove_all();
 
 public:
-    virtual void add_element(Score_elem*);
-    virtual void remove_element(Score_elem*);
+    virtual void add_element (Score_elem*);
+    virtual void remove_element (Score_elem*);
     DECLARE_MY_RUNTIME_TYPEINFO;
 };
 
@@ -54,8 +54,8 @@ class Horizontal_vertical_group_element : public Vertical_group_element,
 protected:
     virtual void remove_all();
 public:
-    virtual void add_element(Score_elem*);
-    virtual void remove_element(Score_elem*);
+    virtual void add_element (Score_elem*);
+    virtual void remove_element (Score_elem*);
     
     DECLARE_MY_RUNTIME_TYPEINFO;    
 };
index 2e3e4941bd164414a9468edb5564493403f5d9f7..03e26c9610ab20ef96f6a57d75a4ede38c94671b 100644 (file)
@@ -33,7 +33,7 @@ protected:
     virtual void do_print()const;
     virtual bool removable_b()const;
 public:
-    Engraver*get_simple_engraver(char const*typeinfo)const;
+    Engraver*get_simple_engraver (char const*typeinfo)const;
     virtual void print() const ;
 
     Input_translator * itrans_l_;
@@ -49,7 +49,7 @@ public:
       Pre:
       #grav_l# is in #grav_list_#
      */
-    virtual void terminate_engraver(Engraver * grav_l);
+    virtual void terminate_engraver (Engraver * grav_l);
     
     
     DECLARE_MY_RUNTIME_TYPEINFO;
@@ -57,31 +57,31 @@ public:
     /**
       Remove #grav_l# from the list, and return it.
      */
-    virtual Engraver * remove_engraver_p(Engraver*grav_l);
-    virtual void set_feature(Feature i);
+    virtual Engraver * remove_engraver_p (Engraver*grav_l);
+    virtual void set_feature (Feature i);
     virtual void sync_features();
 
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
     virtual void do_removal_processing();
-    virtual bool do_try_request(Request*);
-    virtual bool try_request(Request*);
+    virtual bool do_try_request (Request*);
+    virtual bool try_request (Request*);
     virtual void do_process_requests();
 
     virtual Staff_info get_staff_info()const;
     
-    virtual Engraver_group_engraver * find_engraver_l(String name,String id);
+    virtual Engraver_group_engraver * find_engraver_l (String name,String id);
     virtual void do_announces();    
-    virtual void announce_element(Score_elem_info);
-    virtual void add(Engraver* grav_p);
-    virtual bool contains_b(Engraver*)const;
+    virtual void announce_element (Score_elem_info);
+    virtual void add (Engraver* grav_p);
+    virtual bool contains_b (Engraver*)const;
 
-    virtual Translator* find_get_translator_l(String name, String id);
+    virtual Translator* find_get_translator_l (String name, String id);
     virtual Translator * get_default_interpreter();
     /**
       Go up in the tree. default: choose next parent
      */
-    Translator * ancestor_l(int l=1);
+    Translator * ancestor_l (int l=1);
     int depth_i() const;
 };
 
index 60b8b95ca1975a93f7b1dc94286357fa3b8bc91d..a7507044370ec7cdbe5c33521371d00c61806432 100644 (file)
@@ -31,7 +31,7 @@ class Engraver {
     /**
       You cannot copy a Engraver
      */
-    Engraver(const Engraver&){}
+    Engraver (const Engraver&){}
 
     enum { 
        VIRGIN,
@@ -61,13 +61,13 @@ protected:
     virtual void do_post_move_processing(){}
    
 
-    virtual void do_creation_processing () {}
+    virtual void do_creation_processing() {}
     virtual void do_removal_processing() {}
 
     /**
       Invoke walker method to typeset element. Default: pass on to daddy.
       */
-    virtual void typeset_element(Score_elem*elem_p);
+    virtual void typeset_element (Score_elem*elem_p);
     
      /**
       take note of item/spanner
@@ -75,31 +75,31 @@ protected:
 
       Default: ignore the info
       */
-    virtual void acknowledge_element(Score_elem_info) {}
+    virtual void acknowledge_element (Score_elem_info) {}
     /**
       Announce element. Default: pass on to daddy. Utility
       */
-    virtual void announce_element(Score_elem_info);
+    virtual void announce_element (Score_elem_info);
     /**
-      Set Feature of the engraver(s). Default: ignore Feature.
+      Set Feature of the engraver (s). Default: ignore Feature.
      */
-    virtual void set_feature(Feature){}
+    virtual void set_feature (Feature){}
     /**
       ask daddy for a feature
      */
-    virtual Scalar get_feature(String type_str);
+    virtual Scalar get_feature (String type_str);
     /**
       Does this equal or contain a certain engraver?
      */
 
     virtual void sync_features() {}
    
-    virtual bool contains_b(Engraver*grav_l)const;
+    virtual bool contains_b (Engraver*grav_l)const;
     /**
       Get information on the staff. Default: ask daddy.
       */
     virtual Staff_info get_staff_info()const;
-    virtual void fill_staff_info(Staff_info&);
+    virtual void fill_staff_info (Staff_info&);
 
 
     virtual void do_print()const;  
@@ -107,7 +107,7 @@ protected:
          @see{try_request}
          Default: always return false
       */
-    virtual bool do_try_request(Request *req_l);
+    virtual bool do_try_request (Request *req_l);
 public:
     void pre_move_processing();
     void process_requests();
@@ -120,7 +120,7 @@ public:
       true: request swallowed. Don't try to put the request elsewhere.
 
       */
-    bool try_request(Request*);
+    bool try_request (Request*);
     bool is_bottom_engraver() const;
 
     void post_move_processing();
@@ -139,17 +139,17 @@ public:
  */
 #define ADD_THIS_ENGRAVER(c)                           \
 struct c ## init {                                     \
-    static Engraver * globalctor (){           \
+    static Engraver * globalctor(){            \
        return new c;                                   \
     }                                                  \
-    c ## init () {                                     \
-       add_engraver(c::static_name(), globalctor);     \
+    c ## init() {                                      \
+       add_engraver (c::static_name(), globalctor);    \
                                                        \
     }                                                  \
 } _ ## c ## init;
 
 typedef Engraver*(*Grav_ctor)(void);
-void add_engraver(String s, Grav_ctor f);
+void add_engraver (String s, Grav_ctor f);
 
 #endif // ENGRAVER_HH
 
index c384d4fa104be5ab64bfc9157737af2e9f180663..4f927b2dfd73a5a5a1d8f6858ff0426dc01b6ca7 100644 (file)
@@ -25,12 +25,12 @@ public:
     virtual int rel_stem_dir_i()const;
     virtual int priority_i()const;
     virtual bool inside_b()const;
-    virtual Atom get_atom(Paper_def* p, int dir_i_)const;
-    bool equal_b(General_script_def const&)const;
+    virtual Atom get_atom (Paper_def* p, int dir_i_)const;
+    bool equal_b (General_script_def const&)const;
     virtual ~General_script_def() {}
     
 protected:
-    virtual bool do_equal_b(General_script_def const *)const;
+    virtual bool do_equal_b (General_script_def const *)const;
     virtual void do_print()const;
 };
 
index b3e65743d97ca8a1cde4f3d1039e8ec1190a3783..0ed76e4c54bf6aff98041f586545fd49a3c8f57e 100644 (file)
 /**
   A macro to automate administration of performers
  */
-#define ADD_THIS_PERFORMER( c ) \
+#define ADD_THIS_PERFORMER( c) \
 struct c ## init { \
-    static Performer* globalctor () \
+    static Performer* globalctor() \
     { \
        return new c;\
     } \
-    c ## init () \
+    c ## init() \
     { \
-       add_Performer( c::static_name(), globalctor ); \
+       add_Performer (c::static_name(), globalctor); \
     } \
 } _ ## c ## init;
 
 // typedef Performer*(*Perf_ctor)(void); c++ ?
 typedef Performer*(*Perf_ctor)();
-void add_Performer(String s, Perf_ctor f);
+void add_Performer (String s, Perf_ctor f);
 
 #endif // GLOBAL_PERFORMER_HH 
index 112392a670a1380ef3ec4b495d92cae3f03104b7..25f596871445738b2fd693469012cdd2cd19c244 100644 (file)
@@ -21,11 +21,11 @@ public:
     
     Global_translator();
     int moments_left_i()const;
-    void modify_next(Moment&);
-    void add_moment_to_process(Moment);
+    void modify_next (Moment&);
+    void add_moment_to_process (Moment);
 
-    virtual void set_score(Score*);
-    virtual void prepare(Moment);
+    virtual void set_score (Score*);
+    virtual void prepare (Moment);
     virtual void process() {}
     virtual void finish() {}
     virtual void start() {}
@@ -35,7 +35,7 @@ protected:
     
     virtual Global_translator *global_l() { return this; }
     virtual int depth_i() const;
-    virtual Translator *ancestor_l(int);
+    virtual Translator *ancestor_l (int);
 };
 
 
index 583f5d452984f8279ba5c2fb7a45d71c5e9be8dd..13fcbd790a09eefd323940fca2e664ab17d24b15 100644 (file)
@@ -23,39 +23,39 @@ struct Rhythmic_grouping {
     Array<MInterval> intervals();
     MInterval interval()const;
     Moment length() const;
-    void intersect(MInterval);
+    void intersect (MInterval);
     
     void operator=(Rhythmic_grouping const&);
-    Rhythmic_grouping(Rhythmic_grouping const&);
-    Rhythmic_grouping(MInterval, int n=1);
+    Rhythmic_grouping (Rhythmic_grouping const&);
+    Rhythmic_grouping (MInterval, int n=1);
     Rhythmic_grouping();
-    Rhythmic_grouping(Array<Rhythmic_grouping*>);
+    Rhythmic_grouping (Array<Rhythmic_grouping*>);
     ~Rhythmic_grouping();
 
-    void add_child(Moment start, Moment len);
-    bool child_fit_b(Moment start);
-    void split(Rhythmic_grouping r);
-    void split(Array<MInterval>);
-    void split(int n);
+    void add_child (Moment start, Moment len);
+    bool child_fit_b (Moment start);
+    void split (Rhythmic_grouping r);
+    void split (Array<MInterval>);
+    void split (int n);
 
     void print() const;
     void OK() const;
 
-    Array<int> generate_beams(Array<int>, int&);
+    Array<int> generate_beams (Array<int>, int&);
 
     /** multiply self to span #i#.
       In implementation, this isn't really const, but conceptually it is.
       */
-    void extend(MInterval i) const;
-    void translate(Moment);
+    void extend (MInterval i) const;
+    void translate (Moment);
 private:
     void init();
     void junk();
-    void copy(Rhythmic_grouping const&);
+    void copy (Rhythmic_grouping const&);
 };
 
 
-Rhythmic_grouping parse_grouping(Array<int> beat_i_arr, Array<Moment> elt_length_arr);
+Rhythmic_grouping parse_grouping (Array<int> beat_i_arr, Array<Moment> elt_length_arr);
 
 
 #endif
index f95733201b155bb06d60ec5916ef44020792f12f..57c560b18b6eee3f8a7dccb112821785d47fd1f9 100644 (file)
@@ -29,9 +29,9 @@ public:
     int dir_i_;
     Stem* stem_l_;
 
-    void add(Note_head*);
-    virtual void add(Script*s);
-    virtual void set(Stem*);
+    void add (Note_head*);
+    virtual void add (Script*s);
+    virtual void set (Stem*);
     Head_column();
     DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
@@ -39,6 +39,6 @@ protected:
 
     virtual void do_pre_processing();
     virtual void do_print()const;
-    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*,Score_elem*);
 };
 #endif // HEAD_COLUMN_HH
index 57711a27be418f219c2a0ecbd5160c7ac7a8aa92..fdbbe7064c45cf8f95066bf932b67e9243302149 100644 (file)
@@ -20,7 +20,7 @@ public:
     Note_head_engraver();
     DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
-    virtual bool do_try_request(Request *req_l) ;
+    virtual bool do_try_request (Request *req_l) ;
     virtual void do_process_requests();
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
index d66a85a99f616000c821cb8c21036179b2efd8bd..c1d6313657eb56478599daf8c4a129ddecfcfb1a 100644 (file)
@@ -17,7 +17,7 @@
 
   
 
-  TODO: insert(order, elem)
+  TODO: insert (order, elem)
   */
 class Horizontal_align_item :  public Item {
 protected:
@@ -34,16 +34,16 @@ public:
         
     DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Horizontal_align_item);
-    void add(Item*, int p);
+    void add (Item*, int p);
     void OK()const;
     Horizontal_align_item();
 protected:
     
-    virtual void do_substitute_dependency(Score_elem * , Score_elem *);
+    virtual void do_substitute_dependency (Score_elem * , Score_elem *);
     /// do calculations before determining horizontal spacing
     virtual void do_pre_processing();
     virtual void do_print()const;
     virtual Interval do_width()const;
-    bool contains_b(Item*)const;
+    bool contains_b (Item*)const;
 };
 #endif // HORIZONTAL_ALIGN_ITEM_HH
index f1fc8b3c9c6ab11f46ba0dc584c9944b1d69b35f..b9045a4bdb5e520e551e2af3229ad0e79fde65e1 100644 (file)
 
 class Horizontal_group_item : public Axis_group_item, public Horizontal_group_element {
 protected:
-    virtual void remove_all() { Horizontal_group_element::remove_all(); }
+    virtual void remove_all() { Horizontal_group_element::remove_all (); }
     virtual void do_print() const;
 public:
-    virtual void add_element(Score_elem*e) { Horizontal_group_element::add_element(e); }
-    virtual void remove_element(Score_elem*e) { Horizontal_group_element::remove_element(e); }
+    virtual void add_element (Score_elem*e) { Horizontal_group_element::add_element (e); }
+    virtual void remove_element (Score_elem*e) { Horizontal_group_element::remove_element (e); }
     DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Horizontal_group_item);
   
index 2088c841f7d3ddeccfbd9707c0d682ee25044c7b..08e8346e80ccbc974114196b799db2d02a48b663 100644 (file)
 #include "input.hh"
 #include "virtual-methods.hh"
 
-/* boolean argument to accesor is copy_b..*/
 #define IDACCESSOR( Input_staff, staff)\
-    virtual Input_staff * staff(bool) { error(#Input_staff); return 0; }
+    virtual Input_staff * staff () { error (#Input_staff); return 0; }
 
+/**
+   A declarable data structure in mudela. 
 
+
+   */
 struct Identifier : public Input {
-    void *data;
-    String name_str_;
     bool init_b_;
     bool accessed_b_;
     int token_code_i_;
     
-    Identifier(String n, int code) ;
+    Identifier (int code) ;
     virtual ~Identifier() ;
 
     void print()const;
     DECLARE_MY_RUNTIME_TYPEINFO;
-    void error(String);
+    void error (String);
     IDACCESSOR(Input_translator, input_translator)
     IDACCESSOR(Music, music)
     IDACCESSOR(General_script_def, script)
@@ -45,28 +46,29 @@ struct Identifier : public Input {
 protected:
     virtual void do_print()const=0;
 private:
-    Identifier(Identifier const&);
+    Identifier (Identifier const&);
 };
 
-#define declare_id_class(Idclass, Class, accessor)     \
+#define DECLARE_ID_CLASS(Idclass, Class, accessor)     \
 struct Idclass : Identifier {\
+       Class *data_p_;              \
         DECLARE_MY_RUNTIME_TYPEINFO;                       \
-       Idclass(String s, Class*st, int code);\
-       virtual Class* accessor(bool copy);\
+       Idclass (Class*st, int code);\
+       virtual Class* accessor ();\
        ~Idclass();\
        virtual void do_print()const; \
 }\
 
 
-declare_id_class(Input_translator_id, Input_translator, input_translator);
-declare_id_class(Real_id, Real, real);
-declare_id_class(Script_id, General_script_def, script);
-declare_id_class(Lookup_id, Lookup, lookup);
-declare_id_class(Symtables_id, Symtables, symtables);
-declare_id_class(Music_id, Music, music);
-declare_id_class(Int_id, int, intid);
-declare_id_class(Score_id, Score, score);
-declare_id_class(Request_id, Request, request);
-declare_id_class(Paper_def_id,Paper_def, paperdef);
-declare_id_class(Midi_def_id,Midi_def, mididef);
+DECLARE_ID_CLASS(Input_translator_id, Input_translator, input_translator);
+DECLARE_ID_CLASS(Real_id, Real, real);
+DECLARE_ID_CLASS(Script_id, General_script_def, script);
+DECLARE_ID_CLASS(Lookup_id, Lookup, lookup);
+DECLARE_ID_CLASS(Symtables_id, Symtables, symtables);
+DECLARE_ID_CLASS(Music_id, Music, music);
+DECLARE_ID_CLASS(Int_id, int, intid);
+DECLARE_ID_CLASS(Score_id, Score, score);
+DECLARE_ID_CLASS(Request_id, Request, request);
+DECLARE_ID_CLASS(Paper_def_id,Paper_def, paperdef);
+DECLARE_ID_CLASS(Midi_def_id,Midi_def, mididef);
 #endif // IDENTIFIER_
index d3cab9322c2c7b85039a127032b179f9f6f6c324..7e28fd7a82f2d29f70c858df106671b2cbd6c905 100644 (file)
@@ -29,13 +29,13 @@ public:
     /**
       use a KKT method to assert optimality of sol
       */
-    void assert_solution(Vector sol) const;
+    void assert_solution (Vector sol) const;
     /// solve the problem using a projected gradient method
-    Vector constraint_solve(Vector)const;
+    Vector constraint_solve (Vector)const;
     /**
       Solve it. First try it the easy way.
      */
-    Vector solve(Vector start) const;
+    Vector solve (Vector start) const;
     
     /**
       @return the number of variables in the problem
@@ -51,20 +51,20 @@ public:
         c*vars >= r
 
       PRE
-      c.dim() == dim();
+      c.dim() == dim ();
        
       */
-    void add_inequality_cons(Vector c, double r);
+    void add_inequality_cons (Vector c, double r);
     
     /** set up matrices to go with the problem. */
-    Ineq_constrained_qp(int novars);
+    Ineq_constrained_qp (int novars);
     
     /**
     evaluate the quadratic function for input #v#
     */
-    Real eval(Vector v);
+    Real eval (Vector v);
 
-    void eliminate_var(int idx, Real value);
+    void eliminate_var (int idx, Real value);
     void OK()const;
     void print() const;
 
index 49f44bec01b0eb64bc4fd9f2dfc2a2b06f2af40c..14a35e507c29625e9540a383763c9b109f5bf472 100644 (file)
@@ -19,7 +19,7 @@
 
 struct Input_translator_list : public Pointer_list<Input_translator*> 
 {
-    Input_translator_list(Input_translator_list const &);
+    Input_translator_list (Input_translator_list const &);
     Input_translator_list(){}
     ~Input_translator_list(){}
 };
@@ -35,18 +35,18 @@ public:
     String type_str_;
     String default_id_str_;
 
-    void add(Input_translator *);
-    bool is_name_b(String);
+    void add (Input_translator *);
+    bool is_name_b (String);
     bool accept_req_b();
-    bool accepts_b(String);
+    bool accepts_b (String);
     void print() const;
     Engraver_group_engraver * get_group_engraver_p();
     Performer_group_performer * get_group_performer_p();
     Input_translator * get_default_itrans_l();
-    Input_translator * recursive_find(String nm);
-    Input_translator * find_itrans_l(String nm);    
+    Input_translator * recursive_find (String nm);
+    Input_translator * find_itrans_l (String nm);    
 };
-Engraver* get_engraver_p(String);
-Performer* get_performer_p(String);
+Engraver* get_engraver_p (String);
+Performer* get_performer_p (String);
 
 #endif // Input_translator_HH
index 0768c5885ebc2a49e6c64a6d754dd105151c1448..e465931074c1f035117ef801161023e504e3cb07 100644 (file)
@@ -35,8 +35,8 @@ public:
     int break_status_i_;
     /// nobreak = 0, pre = -1, post = 1
     int break_status_i()const;
-    Item * find_prebroken_piece(PCol*)const;
-    Item * find_prebroken_piece(Line_of_score*)const;    
+    Item * find_prebroken_piece (PCol*)const;
+    Item * find_prebroken_piece (Line_of_score*)const;    
 
     virtual Item *item() { return this; }
     Item();
index 51a978e592bf8512bcfbc9f3c8f269e100b897ce..f60243fc8f0ec6ed56f3b1926a6b4c012a59a416 100644 (file)
@@ -18,7 +18,7 @@
  */
 class Key_engraver : public Engraver {
     void create_key();
-    void read_req(Key_change_req * r);
+    void read_req (Key_change_req * r);
 
 public:
     Key key_;
@@ -29,11 +29,11 @@ public:
     bool change_key_b_;
     
 protected:
-    virtual bool do_try_request(Request *req_l);
+    virtual bool do_try_request (Request *req_l);
     virtual void do_process_requests();
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void acknowledge_element (Score_elem_info);
 public:
     Key_engraver();
     DECLARE_MY_RUNTIME_TYPEINFO;
index b980e3ff0fce06473f685434c1c0bc63f36c9608..84d1ac709fe6a2562ccc44bf53fd7c5c6499d3aa 100644 (file)
@@ -22,10 +22,10 @@ struct Key_item : Item {
     DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Key_item);
 
-    Key_item(int cposition);
-    void add(int pitch, int acc);
-    void read(const Key_engraver&);
-    void set_c_position(int);
+    Key_item (int cposition);
+    void add (int pitch, int acc);
+    void read (const Key_engraver&);
+    void set_c_position (int);
 protected:
     virtual void do_pre_processing();
     Molecule* brew_molecule_p()const;
index 6b1cba48f8b2b9c8104ae8ef1c87e96004d34ad6..f459ea9353060d5bf577ab4c7c2853876c3a5d89 100644 (file)
@@ -20,7 +20,7 @@ public:
 
 protected:
     void do_print() const;
-    virtual bool do_try_request( Request* req_l );
+    virtual bool do_try_request (Request* req_l);
     virtual void process_requests();
 
 private:
index d3d34a01ae7fdad3a08411bb270ae65cbc718353..10c5779455d6573dff75f297bd8ca802ad200556 100644 (file)
@@ -17,8 +17,8 @@ public:
     Array<int> accidental_i_arr_;
  
     Octave_key();
-    void set(int i, int acc);
-    int acc(int i)const { return accidental_i_arr_[i]; }
+    void set (int i, int acc);
+    int acc (int i)const { return accidental_i_arr_[i]; }
 };
 
 /// administration of accidentals
@@ -30,9 +30,9 @@ class Key
 public:
     bool multi_octave_b_;
     
-    Octave_key&oct(int);
-    void set(int name, int acc);
-    void set(int oct, int name, int acc);
+    Octave_key&oct (int);
+    void set (int name, int acc);
+    void set (int oct, int name, int acc);
     Key();
 };
 
index a38935b398fdc260f207a35550cf2e4c42d0e317..4b40a979fcfc85a1f0bf986bcca23593721ab05a 100644 (file)
@@ -18,8 +18,8 @@ struct Keyword_table
 {
     Keyword_ent *table;
     int     maxkey;
-    Keyword_table(Keyword_ent *);
-    int     lookup(char const *s) const;
+    Keyword_table (Keyword_ent *);
+    int     lookup (char const *s) const;
 };
 
 
index 2e5c970fe5399626f79cea20862a1a7061ca6fee..c813f36bc465a2a03b89348a954e5e854e25f62c 100644 (file)
@@ -15,7 +15,7 @@
   */
 struct Least_squares {
     Array<Offset> input;
-    void minimise(Real &coef, Real &offset);
+    void minimise (Real &coef, Real &offset);
     void OK() const;
 };
 
index 2c3393806fcb527ad5925bbadf09b671c7484512..65e35726dfc6fb8615fcbbfd51ac612d990705da 100644 (file)
@@ -21,7 +21,7 @@ class Line_group_engraver : public Engraver{
 protected:
     virtual void do_creation_processing();
     virtual void do_removal_processing();
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void acknowledge_element (Score_elem_info);
 
 public:
     DECLARE_MY_RUNTIME_TYPEINFO;
index 96ef38d42f9dc7f059b1100a8efbc3ca8a71d7cb..f6f6cfe5c767bd476b73aa39483b6ac7728ce2a5 100644 (file)
@@ -31,17 +31,17 @@ public:
     
     /** solve the spacing problem
       */
-    virtual void solve(Col_hpositions *) const=0;
+    virtual void solve (Col_hpositions *) const=0;
 
     /**
       Approximate the spacing problem:
       return a lower bound on the energy
      */
-    virtual void lower_bound_solution(Col_hpositions *) const=0;
+    virtual void lower_bound_solution (Col_hpositions *) const=0;
     
     /** add a col to the problem. columns have to be added left to
       right. The column contains info on it's minimum width.  */
-    virtual void add_column(PCol  *, bool fixed=false, Real fixpos=0.0)=0;
+    virtual void add_column (PCol  *, bool fixed=false, Real fixpos=0.0)=0;
 
     /**
       can the posed problem be solved?
@@ -51,7 +51,7 @@ public:
       prepare() was called
       
      */
-    virtual bool check_constraints(Vector v) const=0;
+    virtual bool check_constraints (Vector v) const=0;
 
     /**
       generate a solution which can't fail
index 60e52bed6ceeb87fc0070d0caa2780d945af227c..415a5376bef8297dbc927f6bde82cfc24d5284ba 100644 (file)
@@ -46,9 +46,9 @@ class Spacing_problem {
     Array<Colinfo> loose_col_arr_;
     
     /// mark column #i# as being loose.
-    void loosen_column(int i);
+    void loosen_column (int i);
     /// the index of #c# in #cols#
-    int col_id(PCol const *c) const;
+    int col_id (PCol const *c) const;
 
     /// generate an (nonoptimal) solution
     Vector find_initial_solution() const;
@@ -57,17 +57,17 @@ class Spacing_problem {
     bool check_feasible() const;
 
     /// does #this# contain the column #w#? 
-    bool contains(PCol const *w);
+    bool contains (PCol const *w);
 
     /// make the energy function
-    void make_matrices(Matrix &quad, Vector &lin,Real&) const;
+    void make_matrices (Matrix &quad, Vector &lin,Real&) const;
 
     /// generate the LP constraints
-    void make_constraints(Mixed_qp& lp) const;
+    void make_constraints (Mixed_qp& lp) const;
 
 
     void handle_loose_cols();
-    void position_loose_cols(Vector &) const;
+    void position_loose_cols (Vector &) const;
    /**
        add a idealspacing to the problem.
       
@@ -75,13 +75,13 @@ class Spacing_problem {
     since they can be "summed" if the columns to which #i# refers are
     not in this problem, the spacing is ignored.
     */
-    void add_ideal(Idealspacing const *i);
-    void print_ideal(Idealspacing const *)const; 
+    void add_ideal (Idealspacing const *i);
+    void print_ideal (Idealspacing const *)const; 
     Vector try_initial_solution() const;
     void calcideal();
 
-    Score_column* scol_l(int);
-    void connect(int i,int j, Real,Real);
+    Score_column* scol_l (int);
+    void connect (int i,int j, Real,Real);
 public:
     static Line_spacer *constructor() {
        return new Line_spacer;
@@ -89,13 +89,13 @@ public:
     Array<PCol*> error_pcol_l_arr() const;
 
     virtual   Array<Real> solve() const;
-    virtual  void add_column(PCol  *, bool fixed=false, Real fixpos=0.0);
+    virtual  void add_column (PCol  *, bool fixed=false, Real fixpos=0.0);
  
 
     virtual Vector default_solution() contains { 
        return try_initial_solution() ; 
     }
-    virtual   bool check_constraints(Vector v) const;
+    virtual   bool check_constraints (Vector v) const;
     virtual    void OK() const;
     virtual    void print() const;
     virtual    void prepare();
index 05300996343b449ddbb6e59831bd23d10ac4eb1d..e060dc61883d52abb6e3381d84198bf98fc54345 100644 (file)
@@ -21,7 +21,7 @@ struct Local_key_engraver : Engraver {
     Link_array<Item > tied_l_arr_;
     /* *************** */
     virtual void do_process_requests();
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void acknowledge_element (Score_elem_info);
     virtual void do_pre_move_processing();
     Local_key_engraver();
     DECLARE_MY_RUNTIME_TYPEINFO;
index 7316df60e7ca674efeefdef29575113a32c23c60..467f331201dfb3ea82a62cbb0c0d53436a2f961c 100644 (file)
@@ -13,7 +13,7 @@ struct Local_acc {
     int name_i_;
     int accidental_i_;
     int octave_i_;
-    static int compare(Local_acc&, Local_acc&);
+    static int compare (Local_acc&, Local_acc&);
 };
 
 /**
@@ -36,13 +36,13 @@ public:
 
 
     
-    Local_key_item(int c0position);
-    void add_support(Item*);
-    void add(int oct, int pitch, int acc);
-    void add(Melodic_req*);
+    Local_key_item (int c0position);
+    void add_support (Item*);
+    void add (int oct, int pitch, int acc);
+    void add (Melodic_req*);
 protected:
     virtual void do_pre_processing();    
-    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*,Score_elem*);
     virtual Molecule* brew_molecule_p()const;
 };
 #endif // LOCALKEYITEM_HH
index d5e0d07fd4eeb65e770b451c2376274ea7e8ab85..46155bded379665843b126cbff469388075495a2 100644 (file)
@@ -19,45 +19,45 @@ struct Lookup {
     Symtables *symtables_;
     String texsetting;
     /* *************** */
-    void add(String, Symtable*);
+    void add (String, Symtable*);
     void print()const;
 
-    Symbol linestaff(int n, Real w)const;
-    Symbol fill(Box b)const;
-    Symbol beam_element(int,int,Real=0)const;
+    Symbol linestaff (int n, Real w)const;
+    Symbol fill (Box b)const;
+    Symbol beam_element (int,int,Real=0)const;
 
     /// round slope to closest TeXslope
-    Symbol beam(Real&,Real)const;
+    Symbol beam (Real&,Real)const;
 
     /**
       pos == 3 : 3 lines above staff (extending below note)
 
       pos == -3: below staff
       */
-    Symbol streepjes(int pos)const;
+    Symbol streepjes (int pos)const;
 
-    Symbol vbrace(Real &dy) const;
-    Symbol meter(Array<Scalar>)const;
-    Symbol stem(Real y1_pos, Real y2_pos)const;
-    Symbol rule_symbol(Real height, Real width)const;
-    Symbol accidental(int)const;
-    Symbol ball(int)const;
-    Symbol flag(int)const;
-    Symbol rest(int, bool outside)const;
-    Symbol clef(String)const;
-    Symbol bar(String, Real height)const;
+    Symbol vbrace (Real &dy) const;
+    Symbol meter (Array<Scalar>)const;
+    Symbol stem (Real y1_pos, Real y2_pos)const;
+    Symbol rule_symbol (Real height, Real width)const;
+    Symbol accidental (int)const;
+    Symbol ball (int)const;
+    Symbol flag (int)const;
+    Symbol rest (int, bool outside)const;
+    Symbol clef (String)const;
+    Symbol bar (String, Real height)const;
     
-    Symbol dots(int)const;
-    Symbol slur(int dy, Real &dx, int dir)const;
-    Symbol half_slur(int dy, Real &dx, int dir, int xpart)const;
-    Symbol half_slur_middlepart(Real &dx, int dir)const;
-    Symbol big_slur(int dy, Real &dx, int dir)const;
-    Symbol text(String style, String text, int align = 1)const;
-    Symbol script(String idx)const;
-    Symbol hairpin(Real & width, bool decresc)const;
-    Symbol dynamic(String)const;
+    Symbol dots (int)const;
+    Symbol slur (int dy, Real &dx, int dir)const;
+    Symbol half_slur (int dy, Real &dx, int dir, int xpart)const;
+    Symbol half_slur_middlepart (Real &dx, int dir)const;
+    Symbol big_slur (int dy, Real &dx, int dir)const;
+    Symbol text (String style, String text, int align = 1)const;
+    Symbol script (String idx)const;
+    Symbol hairpin (Real & width, bool decresc)const;
+    Symbol dynamic (String)const;
     Lookup();
-    Lookup(Lookup const &);
+    Lookup (Lookup const &);
     ~Lookup();
 };
 
index 8e18c8ed6a65e64e6097a595933d1b8c4abaaee2..632e9c571e53158c741ee7dbeaaa16cc6b7b7f27 100644 (file)
@@ -19,7 +19,7 @@ class Lyric_engraver : public Engraver {
     Text_item *lyric_item_p_;
 protected:
     virtual void do_pre_move_processing();
-    virtual bool do_try_request(Request*);
+    virtual bool do_try_request (Request*);
     virtual void do_process_requests();
     virtual void do_post_move_processing();
 public:
index c0321c2839e0e51ddb7cee68e0b43e6929755454..f03c4faaf0460ad39ac28d46c57460d258952514 100644 (file)
@@ -22,7 +22,7 @@ public:
 
 protected:
     void do_print() const;
-    virtual bool do_try_request( Request* req_l );
+    virtual bool do_try_request (Request* req_l);
     virtual void process_requests();
 
 private:
index 0c461a36d6c7ac1d8fb6c08da20bf062d7825218..79ac1e878ed5ba56155188ff116c8a895fd8468f 100644 (file)
@@ -3,12 +3,12 @@
 #include "lily-proto.hh"
 
 void debug_init();
-void set_debug(bool);
+void set_debug (bool);
 void do_scores();
-void add_score(Score* s);
-void set_default_output(String s);
+void add_score (Score* s);
+void set_default_output (String s);
 Input_score* current_iscore_l();
-String find_file(String);
+String find_file (String);
 String get_version_str();
 extern Sources* source_l_g;
 extern bool only_midi;
index d1085f63fe2f9a06a975e2baab27715fe4e3031d..9c1d72d820f4d8719979adb795919d1dabcd618b 100644 (file)
@@ -24,8 +24,8 @@ public:
     Meter_change_req * meter_req_l_;
     Meter * meter_p_;
  
-    virtual void fill_staff_info(Staff_info&);
-    virtual bool do_try_request(Request *req_l);
+    virtual void fill_staff_info (Staff_info&);
+    virtual bool do_try_request (Request *req_l);
     virtual void do_process_requests();
     virtual void do_pre_move_processing();
     virtual void do_creation_processing();
index 3d972c10e8ee09c65d5e2e367f432da8de4ae2c0..51edbad020db58ea0e558c7d6bcdf2ed59d2c4ed 100644 (file)
@@ -20,7 +20,7 @@ public:
 
 protected:
     void do_print() const;
-    virtual bool do_try_request( Request* req_l );
+    virtual bool do_try_request (Request* req_l);
     virtual void process_requests();
 
 private:
index eb5f2b128efab3b88940531eb48130b69c2eb542..8347b3fa2d98befc3a1815dd65a955ac27d948bb 100644 (file)
@@ -22,7 +22,7 @@ class Meter: public Item {
 protected:
     Molecule*brew_molecule_p() const;
 public:
-    Meter(Array<Scalar> args) ;
+    Meter (Array<Scalar> args) ;
     DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Meter);
 };
index 89a7543567fa92f5123eb0db11eb067e2e3b24fc..bb96d961e897f50cc4aee9b1f7faaf61eae8ef62 100644 (file)
@@ -32,15 +32,15 @@ struct Midi_def {
     Real whole_seconds_f_;
 
     Midi_def();
-    Midi_def( Midi_def const& midi_c_r );
+    Midi_def (Midi_def const& midi_c_r);
     ~Midi_def();
 
-    Real duration_to_seconds_f(Moment);
+    Real duration_to_seconds_f (Moment);
     Global_translator* get_global_translator_p() const;
-    int get_tempo_i( Moment moment );
+    int get_tempo_i (Moment moment);
     void print() const;
-    void set( Input_translator* itrans_p );
-    void set_tempo( Moment moment, int count_per_minute_i );
+    void set (Input_translator* itrans_p);
+    void set_tempo (Moment moment, int count_per_minute_i);
 };
 
 #endif // MIDI_DEF_HH
index 4906f27ba865678dad30e26c1e803fdbb7571c1c..c422e04db8d655094a37aa95b24405c5407bab1d 100644 (file)
  */
 struct Midi_item {
     DECLARE_MY_RUNTIME_TYPEINFO;
-    Midi_item( Audio_item* audio_item_l ); 
-    static String i2varint_str( int i );
-    void output( Midi_stream* midi_stream_l ) const;
+    Midi_item (Audio_item* audio_item_l); 
+    static String i2varint_str (int i);
+    void output (Midi_stream* midi_stream_l) const;
     virtual String str() const = 0;
 
     Audio_item* audio_item_l_;
     int channel_i_;
 
 private:
-    Midi_item( Midi_item const& );
-    Midi_item& operator =( Midi_item const& );
+    Midi_item (Midi_item const&);
+    Midi_item& operator =( Midi_item const&);
 };
 
 /**
@@ -39,8 +39,8 @@ struct Midi_chunk : Midi_item {
     DECLARE_MY_RUNTIME_TYPEINFO;
     Midi_chunk();
 
-    void add( String str );
-    void set( String header_str, String data_str, String footer_str );
+    void add (String str);
+    void set (String header_str, String data_str, String footer_str);
     virtual String str() const;
 
 private:
@@ -51,7 +51,7 @@ private:
 
 struct Midi_duration : public Midi_item {
     DECLARE_MY_RUNTIME_TYPEINFO;
-    Midi_duration( Real seconds_f );
+    Midi_duration (Real seconds_f);
 
     virtual String str() const;
     Real seconds_f_;
@@ -60,7 +60,7 @@ struct Midi_duration : public Midi_item {
 struct Midi_header : Midi_chunk {
     DECLARE_MY_RUNTIME_TYPEINFO;
 
-    Midi_header( int format_i, int tracks_i, int clocks_per_4_i );
+    Midi_header (int format_i, int tracks_i, int clocks_per_4_i);
 
 };
 
@@ -69,7 +69,7 @@ struct Midi_header : Midi_chunk {
  */
 struct Midi_instrument : public Midi_item {
     DECLARE_MY_RUNTIME_TYPEINFO;
-    Midi_instrument( int channel_i, String instrument_str );
+    Midi_instrument (int channel_i, String instrument_str);
 
     virtual String str() const;
     String instrument_str_;
@@ -78,7 +78,7 @@ struct Midi_instrument : public Midi_item {
 
 struct Midi_key : public Midi_item {
     DECLARE_MY_RUNTIME_TYPEINFO;
-    Midi_key( Audio_item* audio_item_l );
+    Midi_key (Audio_item* audio_item_l);
        
     virtual String str() const;
 };
@@ -86,7 +86,7 @@ struct Midi_key : public Midi_item {
 struct Midi_meter : Midi_item {
 
     DECLARE_MY_RUNTIME_TYPEINFO;
-    Midi_meter( Audio_item* audio_item_l ); 
+    Midi_meter (Audio_item* audio_item_l); 
   
     virtual String str() const;
     int clocks_per_1_i_;
@@ -97,7 +97,7 @@ struct Midi_meter : Midi_item {
  */
 struct Midi_note : public Midi_item {
     DECLARE_MY_RUNTIME_TYPEINFO;
-    Midi_note( Audio_item* audio_item_l ); 
+    Midi_note (Audio_item* audio_item_l); 
 
     Moment duration() const;
     int pitch_i() const;
@@ -112,7 +112,7 @@ struct Midi_note : public Midi_item {
  */
 struct Midi_note_off : public Midi_item {
     DECLARE_MY_RUNTIME_TYPEINFO;
-    Midi_note_off( Midi_note* midi_note_l ); 
+    Midi_note_off (Midi_note* midi_note_l); 
 
     int pitch_i() const;
     virtual String str() const;
@@ -127,8 +127,8 @@ struct Midi_text : Midi_item {
        TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC, 
        MARKER, CUE_POINT
     };
-    Midi_text( Midi_text::Type type, String text_str );
-    Midi_text( Audio_item* audio_item_l );
+    Midi_text (Midi_text::Type type, String text_str);
+    Midi_text (Audio_item* audio_item_l);
     
     virtual String str() const;
 
@@ -138,8 +138,8 @@ struct Midi_text : Midi_item {
 
 struct Midi_tempo : Midi_item {
     DECLARE_MY_RUNTIME_TYPEINFO;
-    Midi_tempo( int per_minute_4_i );
-    Midi_tempo( Audio_item* audio_item_l ); 
+    Midi_tempo (int per_minute_4_i);
+    Midi_tempo (Audio_item* audio_item_l); 
   
     virtual String str() const;
 
@@ -152,8 +152,8 @@ struct Midi_track : Midi_chunk {
     
     Midi_track();
 
-    void add( int delta_time_i, String event );
-    void add( Moment delta_time_moment, Midi_item* mitem_l );
+    void add (int delta_time_i, String event);
+    void add (Moment delta_time_moment, Midi_item* mitem_l);
 };
 
 #endif // MIDI_ITEM_HH
index 9fded298d5e0274ddc234614c3d54721ddb6cb12..87e8ec5d27c4cf6ad78cb08e5bc1629785f6e5fa 100644 (file)
 
 /// Midi outputfile
 struct Midi_stream {
-    Midi_stream( String filename_str );
+    Midi_stream (String filename_str);
     ~Midi_stream();
 
-    Midi_stream& operator <<( String str );
-    Midi_stream& operator <<( Midi_item const& mitem_c_r );
-    Midi_stream& operator <<( int i );
+    Midi_stream& operator <<( String str);
+    Midi_stream& operator <<( Midi_item const& mitem_c_r);
+    Midi_stream& operator <<( int i);
 
     void open();
 
index a9ce619a09d79721e96d1e2fed0a084537ea02d9..313e21af3d5284050b45b73f066577506b187eb3 100644 (file)
@@ -21,7 +21,7 @@ struct Midi_note_event : PQueue_ent<Moment, Midi_note_off*>
     Midi_note_event();
 };
 
-int compare(Midi_note_event const& left, Midi_note_event const& right );
+int compare (Midi_note_event const& left, Midi_note_event const& right);
 
 /**
   walk audio and output midi
@@ -29,15 +29,15 @@ int compare(Midi_note_event const& left, Midi_note_event const& right );
 class Midi_walker : public PCursor<Audio_item*> 
 {
 public:
-    Midi_walker( Audio_staff* audio_staff_l, Midi_track* midi_track_l );
+    Midi_walker (Audio_staff* audio_staff_l, Midi_track* midi_track_l);
     ~Midi_walker();
 
     void process();
 
 private:
-    void do_start_note( Midi_note* note_l );
-    void do_stop_notes( Moment now_mom );
-    void output_event( Moment now_mom, Midi_item* l );
+    void do_start_note (Midi_note* note_l);
+    void do_stop_notes (Moment now_mom);
+    void output_event (Moment now_mom, Midi_item* l);
 
     Midi_track* track_l_;
     PQueue<Midi_note_event> stop_note_queue;
index 8ba5e10b78c53e5291b79a79160198105514228a..0e8c148ef061c34d672c76e763cbe5055dd7e772 100644 (file)
@@ -7,20 +7,20 @@
 #include "scalar.hh"
 #include "grouping.hh"
 
-Moment wholes(int dur, int dots);
+Moment wholes (int dur, int dots);
 double log_2(double x) ;
 int intlog2(int d);
 inline int
-abs(int i){
+abs (int i){
     return (i < 0)?-i:i;
 }
 inline int
-sign(int i) {
+sign (int i) {
     if (i<0) return -1;
     else if (i) return 1;
     else return 0;
 }
 
-Interval itemlist_width(const Array<Item*> &its);
+Interval itemlist_width (const Array<Item*> &its);
 
 #endif
index d1057bebf0d6a317219fbeddb8452148ebfa658b..b031688e21d8b2729b5f800cfa3c628561377481 100644 (file)
@@ -14,22 +14,22 @@ struct Molecule {
     /* *************** */
     
     Molecule() { }
-    Molecule(Atom const &a) { add(a) ;}
+    Molecule (Atom const &a) { add (a) ;}
 
-    void add_right(const Molecule &m);
-    void add_left(const Molecule &m);
-    void add_top(const Molecule &m);
-    void add_bottom(const Molecule &m);
-    void add(Molecule const &m);
-    void translate(Offset);
-    void translate(Real,Axis);
-    void add(Atom const & a) ;
+    void add_right (const Molecule &m);
+    void add_left (const Molecule &m);
+    void add_top (const Molecule &m);
+    void add_bottom (const Molecule &m);
+    void add (Molecule const &m);
+    void translate (Offset);
+    void translate (Real,Axis);
+    void add (Atom const & a) ;
     /// how big is #this#? 
     Box extent() const;
 
     String TeX_string() const;
 
-    Molecule(const Molecule&s);
+    Molecule (const Molecule&s);
     void print() const;
 private:
     void operator=(const Molecule&);
index c38340706e8fa053970c4fb8b89355b035b41046..636fc659c9111a3d87a8eba96d9638b1462320e2 100644 (file)
 
 class Music_iterator {
    Array<Translator *>report_to_l_arr_;
-   void push_translator(Translator*);
+   void push_translator (Translator*);
     void pop_translator();
 protected:
     bool first_b_;
     virtual void do_print()const;
     
     virtual Translator * get_req_translator_l();
-    Music_iterator* get_iterator_p(Music*)const;
-    void set_translator(Translator*);
+    Music_iterator* get_iterator_p (Music*)const;
+    void set_translator (Translator*);
     Music_iterator *daddy_iter_l_;
     
 public:
     Translator *report_to_l()const;
     DECLARE_MY_RUNTIME_TYPEINFO;
  
-    static Music_iterator* static_get_iterator_p(Music*,Translator*);
+    static Music_iterator* static_get_iterator_p (Music*,Translator*);
     Music_iterator();
     
-    virtual void process_and_next(Moment until);
+    virtual void process_and_next (Moment until);
     virtual Moment next_moment()const;
     virtual bool ok()const;
     virtual ~Music_iterator();
@@ -50,12 +50,12 @@ class Chord_iterator : public Music_iterator
     Pointer_list<Music_iterator*> children_p_list_;
 public:
     ~Chord_iterator();
-    Chord_iterator(Chord const*);
+    Chord_iterator (Chord const*);
     DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
     virtual void do_print()const;
     virtual void construct_children();
-    virtual void process_and_next(Moment);
+    virtual void process_and_next (Moment);
     virtual Moment next_moment()const;
     virtual bool ok()const;
 };
@@ -65,11 +65,11 @@ class Request_chord_iterator : public Music_iterator {
     Moment elt_duration_;
     bool last_b_;
 public:
-    Request_chord_iterator(Request_chord*);
+    Request_chord_iterator (Request_chord*);
     DECLARE_MY_RUNTIME_TYPEINFO;
 
 protected:
-    virtual void process_and_next(Moment);
+    virtual void process_and_next (Moment);
     virtual Moment next_moment()const;
     virtual void construct_children();
     virtual bool ok()const;
@@ -87,13 +87,13 @@ class Voice_iterator :  private PCursor<Music*>, public Music_iterator
     void set_voice_translator();
     
 public:
-    Voice_iterator(Voice const*);
+    Voice_iterator (Voice const*);
     DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
     virtual void do_print()const;
     virtual void construct_children();
     ~Voice_iterator();    
-    virtual void process_and_next(Moment);
+    virtual void process_and_next (Moment);
     virtual Moment next_moment()const;
     virtual bool ok()const;
 };
index bcae7cff83d37dc37ccf52258a6ab1b7ea6a5fff..2ce9625999c963c0890d1f6e03ec1aadb5dfcebd 100644 (file)
@@ -22,12 +22,12 @@ class Music_list : public Music {
 public:
     int multi_level_i_;
   
-    Music_list(Music_list const&);    
+    Music_list (Music_list const&);    
     Music_list();
     DECLARE_MY_RUNTIME_TYPEINFO;
     VIRTUAL_COPY_CONS(Music_list,Music);
-    virtual void add(Music*);
-    virtual void transpose(Melodic_req const *);
+    virtual void add (Music*);
+    virtual void transpose (Melodic_req const *);
     
     Pointer_list<Music*> music_p_list_;
 protected:
@@ -44,7 +44,7 @@ public:
     Chord();
     DECLARE_MY_RUNTIME_TYPEINFO;
     VIRTUAL_COPY_CONS(Chord,Music);
-    virtual void translate(Moment dt);
+    virtual void translate (Moment dt);
     virtual MInterval time_int()const;
 };
 
@@ -70,7 +70,7 @@ public:
     Voice();
     DECLARE_MY_RUNTIME_TYPEINFO;
     VIRTUAL_COPY_CONS(Voice, Music);
-    virtual void translate(Moment dt);
+    virtual void translate (Moment dt);
     virtual MInterval time_int()const;
 };
 
index 63ce4b8799d1b4cb8c078086c74ae349daa6f2a7..5aec401462e5f8e8ef7f008d1a3edec941a579eb 100644 (file)
@@ -45,8 +45,8 @@ public:
     virtual MInterval time_int()const;
     virtual ~Music(){}
     void print() const;
-    virtual void transpose(Melodic_req const *);
-    virtual void translate(Moment dt);
+    virtual void transpose (Melodic_req const *);
+    virtual void translate (Moment dt);
     VIRTUAL_COPY_CONS(Music,Music);
     DECLARE_MY_RUNTIME_TYPEINFO;
     Music();
index 6152be77825b0351eff9169d3b418be504c146ab..2346d1625ce86c65acbb35a7849bd663b8ac3ce2 100644 (file)
@@ -50,11 +50,11 @@ public:
     Duration duration_;
     
     /* *************** */
-    void set_duration(Duration);
-    bool do_equal_b(Request*)const;
+    void set_duration (Duration);
+    bool do_equal_b (Request*)const;
     virtual Moment duration() const;
     Rhythmic_req();
-    static int compare(Rhythmic_req const&,Rhythmic_req const&);
+    static int compare (Rhythmic_req const&,Rhythmic_req const&);
     REQUESTMETHODS(Rhythmic_req, rhythmic);
 };
 
@@ -86,9 +86,9 @@ public:
     Text_def *tdef_p_;
 
     /* *************** */
-    Text_req(int d, Text_def*);
+    Text_req (int d, Text_def*);
     ~Text_req();
-    Text_req(Text_req const&);
+    Text_req (Text_req const&);
 
     REQUESTMETHODS(Text_req,text);
 };
@@ -98,7 +98,7 @@ public:
   */
 class Lyric_req  : public  Rhythmic_req, public Text_req  {
 public:
-    Lyric_req(Text_def* t_p);
+    Lyric_req (Text_def* t_p);
     REQUESTMETHODS(Lyric_req, lreq_l);
 };
 
@@ -117,12 +117,12 @@ struct Melodic_req :virtual Musical_req
     int height()const;
 
     /// transpose. #delta# is relative to central c.
-    void transpose(Melodic_req const &delta);
+    void transpose (Melodic_req const &delta);
     /// return pitch from central c (in halfnotes)
     int pitch()const; 
     Melodic_req();
-    bool do_equal_b(Request*)const;
-    static int compare(    Melodic_req const&,Melodic_req const&);
+    bool do_equal_b (Request*)const;
+    static int compare (Melodic_req const&,Melodic_req const&);
     REQUESTMETHODS(Melodic_req,melodic);
 };
 
@@ -133,8 +133,8 @@ public:
     /// force/supress printing of accidental.
     bool forceacc_b_;
     Note_req();
-    bool do_equal_b(Request*)const;
-    Rhythmic_req* rhythmic() { return Rhythmic_req::rhythmic(); }
+    bool do_equal_b (Request*)const;
+    Rhythmic_req* rhythmic() { return Rhythmic_req::rhythmic (); }
     REQUESTMETHODS(Note_req, note);
  };
 
@@ -168,7 +168,7 @@ public:
     enum {
        NOSPAN, START, STOP
     } spantype ;
-    bool do_equal_b(Request*)const;
+    bool do_equal_b (Request*)const;
     REQUESTMETHODS(Span_req,span);
 
     Span_req();
@@ -214,7 +214,7 @@ public:
     enum Loudness {
        FFF, FF, F, MF, MP, P, PP, PPP
     };
-    static String loudness_str(Loudness);
+    static String loudness_str (Loudness);
     REQUESTMETHODS(Dynamic_req, dynamic);
 };
 
index b214366e7e1fbbc996954d4fd8db3ea3cfb5feb9..d472a3ffa674b87dcd18e5f28e870f5fdc8b63eb 100644 (file)
@@ -26,9 +26,9 @@ void set_lexer();
 
 /// lexer for Mudela
 class My_lily_lexer : public Includable_lexer {
-    int lookup_keyword(String);
-    int scan_bare_word(String);
-    int scan_escaped_word(String);
+    int lookup_keyword (String);
+    int scan_bare_word (String);
+    int scan_escaped_word (String);
 
     bool post_quotes_b_;
 public:
@@ -42,18 +42,18 @@ public:
     /* *************** */
 
     void clear_notenames();
-    Identifier*lookup_identifier(String s);
-    Melodic_req* lookup_melodic_req_l(String s);
+    Identifier*lookup_identifier (String s);
+    Melodic_req* lookup_melodic_req_l (String s);
     void push_note_state();
     void push_lyric_state();
     void pop_state();
-    void LexerError(char const *);
+    void LexerError (char const *);
     My_lily_lexer();
-    void add_identifier(Identifier*i);
+    void set_identifier (String,Identifier*i);
     ~My_lily_lexer();
     int yylex();
-    void print_declarations(bool init_b) const;
-    void add_notename(String, Melodic_req*);
+    void print_declarations (bool init_b) const;
+    void add_notename (String, Melodic_req*);
     bool note_state_b() const;
     bool lyric_state_b() const;
 };
index e606a0f4b3dfb58c4f355d6af08582f810c1d64e..8869ccb5143f8e1f8b431189e74cf3f77c9a9cfa 100644 (file)
@@ -25,16 +25,16 @@ class My_lily_parser {
     Array<Input> define_spot_array_;
     String init_str_;
 
-    void add_requestsChord*v);
+    void add_requests (Chord*v);
 
-    Chord * get_note_element(Note_req * ,Duration *);
-    Chord* get_rest_element(String,Duration *);
-    Chord* get_word_element(Text_def*, Duration*);
+    Chord * get_note_element (Note_req * ,Duration *);
+    Chord* get_rest_element (String,Duration *);
+    Chord* get_word_element (Text_def*, Duration*);
 
-    void set_last_duration(Duration const *);
-    void set_default_duration(Duration const *);
-    void set_duration_mode(String s);
-    friend int yyparsevoid*);
+    void set_last_duration (Duration const *);
+    void set_default_duration (Duration const *);
+    void set_duration_mode (String s);
+    friend int yyparse (void*);
 public:
     int default_octave_i_;
     Duration default_duration_;
@@ -51,7 +51,7 @@ public:
     My_lily_lexer * lexer_p_;
  
     Moment plet_mom();
-    void add_notename(String, Melodic_req* req_p);
+    void add_notename (String, Melodic_req* req_p);
     Input here_input()const;
     void remember_spot();
     Input pop_spot();
@@ -59,21 +59,21 @@ public:
     Paper_def*default_paper();
     Midi_def*default_midi();
     void do_yyparse();
-    void parser_error(String);
+    void parser_error (String);
     void clear_notenames();
 
-    Request* get_parens_request(char c);
+    Request* get_parens_request (char c);
     
     void set_debug();
-    void set_yydebug(bool);
+    void set_yydebug (bool);
     void print_declarations();
     bool ignore_version_b_;
 public:
     void do_init_file();
     void parse_file ( String init_str, String file_str);
-    My_lily_parser(Sources * sources_l);
+    My_lily_parser (Sources * sources_l);
     ~My_lily_parser();
-    void set_version_check(bool ignore);
+    void set_version_check (bool ignore);
 };
 
 #endif // MY_LILY_PARSER_HH
index 43ebda4432c4cec3422ca874d0ea3ad48d6742e3..43784776f9cae929c884131bf319c7151258d07a 100644 (file)
@@ -24,10 +24,10 @@ class Note_column_engraver :public Engraver {
     int dir_i_;
     
 
-    bool acceptable_elem_b(Score_elem const*)const;
+    bool acceptable_elem_b (Score_elem const*)const;
 protected:
-    virtual void set_feature(Feature);
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void set_feature (Feature);
+    virtual void acknowledge_element (Score_elem_info);
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
 public:
index 2e297e88a4b8517370ebdebf3f0c344258b0dbaa..3ee218ec125f2261857fcc04f0b95d0662c54762 100644 (file)
@@ -14,7 +14,7 @@
 #include "head-column.hh"
 
 /** a struct for treating a group of noteheads (noteheads, stem
-  (chord) and scripts ) as a single entity.  */
+  (chord) and scripts) as a single entity.  */
 class Note_column : public Head_column {
 protected:
     virtual void do_pre_processing();
@@ -26,7 +26,7 @@ public:
         
     DECLARE_MY_RUNTIME_TYPEINFO;
     Note_column();
-    virtual void set(Stem *);
+    virtual void set (Stem *);
     void sort();
 };
 
index 14cd2491a803b449cdff3c545eaf33d7014748e9..6fab4812b5595d455cf9ef522863a546742a389b 100644 (file)
@@ -37,14 +37,14 @@ public:
     
     /* *************** */
     
-    void set_rhythmic(Rhythmic_req *);
+    void set_rhythmic (Rhythmic_req *);
 
     /**
       position of top line (5 linestaff: 8)
       */
-    Note_head(int staff_size);
+    Note_head (int staff_size);
     void set_dots();
-    static int compare(Note_head * const &a, Note_head *const &b) ;
+    static int compare (Note_head * const &a, Note_head *const &b) ;
 protected:
     virtual    void do_print()const;
     virtual void do_pre_processing();
index 0fb8aecbd43fab4ae98831306d1ca4fe7b1f0b2d..436b78bb2ac8d4350e900419e331106341821404 100644 (file)
@@ -22,7 +22,7 @@ public:
 protected:
     virtual void process_requests();
 
-    virtual bool do_try_request( Request *req_l ) ;
+    virtual bool do_try_request (Request *req_l) ;
     virtual void do_print() const;
 
 private:
index 082dda366b42a0721d14ccfcef81aaa4bca3675c..5e083a6d7c2217128c9254471622c15cc78dde04 100644 (file)
@@ -17,8 +17,8 @@
 
 class Notename_table :   Assoc<String, P<Melodic_req> >{
 public:
-    void add(String, Melodic_req*);
-    Melodic_req*get_l(String);
+    void add (String, Melodic_req*);
+    Melodic_req*get_l (String);
 };
   
 #endif // NOTENAME_TABLE_HH
index e0125e1a0bcea1e5db97ca67a4414a09040ce943..426f7e45649c085d4bb7873f6924a4456cb6a2af 100644 (file)
 struct Notename_tab {
     String notetab[7*5];
     
-    void set(int l, int s, String nm);
-    void lookup(int &large, int &small, String s);
+    void set (int l, int s, String nm);
+    void lookup (int &large, int &small, String s);
 };
 
-void set_notename_tab(Notename_tab*n);
-void lookup_notename(int &large, int &small, String s);
+void set_notename_tab (Notename_tab*n);
+void lookup_notename (int &large, int &small, String s);
 
 
 #endif // NOTENAME_HH
index 00bc73e0e29032e2813403b2c4381f4554d3853f..b4ed5478aca191551e681eacec20046790d8edc9 100644 (file)
@@ -28,11 +28,11 @@ struct Offset {
     }
     
     Offset operator+=(Offset o) {
-       x()+=o.x();
-       y()+=o.y();
+       x()+=o.x ();
+       y()+=o.y ();
        return *this;
     }
-    Offset(Real ix , Real iy) {
+    Offset (Real ix , Real iy) {
        x()=ix;
        y()=iy;
     }
index d66921dc8717c13030f91270db13759eea399a38..797fde9584ee671e33b0b019b3ebb7d11e4e44a6 100644 (file)
@@ -60,7 +60,7 @@ public:
     bool breakpoint_b() const;
     void clean_breakable_items();
     
-    void add(Item *i);
+    void add (Item *i);
 
     /// Can this be broken? true eg. for bars. 
     bool breakable_b()const;
@@ -75,8 +75,8 @@ public:
 
       @return < 0 if c1 < c2.
     */
-    static int compare(const PCol &c1, const PCol &c2);
-    void set_rank(int);
+    static int compare (const PCol &c1, const PCol &c2);
+    void set_rank (int);
 
     void OK() const;
     void set_breakable();
@@ -89,12 +89,12 @@ private:
       -1 is uninitialised.
      */
     int rank_i_;
-    PCol(PCol const&){}
+    PCol (PCol const&){}
 };
 
 
 #include "compare.hh"
-instantiate_compare(PCol &, PCol::compare);
+INSTANTIATE_COMPARE(PCol &, PCol::compare);
      
 
 #endif
index 12ba8c77ad047455297cc3b8c198d18224702cc8..7c497cd919d07e27f5d9b0570159a5e7b40b1fad 100644 (file)
@@ -41,33 +41,33 @@ public:
     /* *************** */
     /* CONSTRUCTION */
     
-    Paper_score(Paper_def*);
+    Paper_score (Paper_def*);
     /// add a line to the broken stuff. Positions given in #config#
-    void set_breaking(Array<Col_hpositions> const &);
+    void set_breaking (Array<Col_hpositions> const &);
 
     /** add an item.
        add the item in specified containers. If breakstatus is set
        properly, add it to the {pre,post}break of the pcol.
        */
-    void typeset_item(Item *item_p,  PCol *pcol_l);
+    void typeset_item (Item *item_p,  PCol *pcol_l);
 
     /// add to bottom of pcols
-    void add(PCol*);
+    void add (PCol*);
 
     /**
       @return argument as a cursor of the list
       */
-    PCursor<PCol *> find_col(PCol const *)const;
+    PCursor<PCol *> find_col (PCol const *)const;
 
-    Link_array<PCol> col_range(PCol *left_l, PCol *right_l) const;
-    Link_array<PCol> breakable_col_range(PCol*,PCol*) const;
-    Link_array<PCol> broken_col_range(PCol*,PCol*) const;
+    Link_array<PCol> col_range (PCol *left_l, PCol *right_l) const;
+    Link_array<PCol> breakable_col_range (PCol*,PCol*) const;
+    Link_array<PCol> broken_col_range (PCol*,PCol*) const;
     
     /* MAIN ROUTINES */
     void process();
 
     /// last deed of this struct
-    void output(Tex_stream &ts);
+    void output (Tex_stream &ts);
 
     /* UTILITY ROUTINES */
 
@@ -76,10 +76,10 @@ public:
     void OK()const;
     void print() const;
     ~Paper_score();
-    void typeset_element(Score_elem*);
-    void typeset_broken_spanner(Spanner*);
+    void typeset_element (Score_elem*);
+    void typeset_broken_spanner (Spanner*);
     /// add a Spanner
-    void typeset_unbroken_spanner(Spanner*);
+    void typeset_unbroken_spanner (Spanner*);
  
     
 private:
index 44fc05e12a2b96545161e5c439a7aadd48c368c6..cb75f8437f683a3a08e7ae1432f0b06bd3cf999a 100644 (file)
@@ -43,15 +43,15 @@ public:
     
     
     /* *************** */
-    void set_var(String, Real);
+    void set_var (String, Real);
     Real get_var (String)const;
     void reinit();
     Paper_def();
-    void set(Lookup*);
-    void set (Input_translator * );
+    void set (Lookup*);
+    void set (Input_translator *);
     Global_translator * get_global_translator_p()const;
     ~Paper_def();
-    Paper_def(Paper_def const&);
+    Paper_def (Paper_def const&);
     /// The distance between beams
     Real interbeam_f()const;
     /**
@@ -77,7 +77,7 @@ public:
     /** convert a duration to an idealspacing
       influence using the geometric_ and  parameters.
       */
-    Real duration_to_dist(Moment);
+    Real duration_to_dist (Moment);
 };
 
 #endif // Paper_def_HH
index 205971988089f0c6ddbc592bcc7694b46d44842c..1bcf0cc4f7419b928bd9386bb8daa8cc79feb60a 100644 (file)
@@ -9,13 +9,13 @@
 
 #include "lily-proto.hh"
 
-String * get_scriptdef(char c);
-Request* get_script_req(char);
-Request*get_script_req(int d , Script_def*def);
-Request*get_text_req(int d , Text_def*def);
-Request* get_stemdir_req(int);
-Request*get_grouping_req(Array<int> i_arr);
-Request* get_hshift_req(int);
+String * get_scriptdef (char c);
+Request* get_script_req (char);
+Request*get_script_req (int d , Script_def*def);
+Request*get_text_req (int d , Text_def*def);
+Request* get_stemdir_req (int);
+Request*get_grouping_req (Array<int> i_arr);
+Request* get_hshift_req (int);
 
 #endif // PARSECONSTRUCT_HH
 
index 4c57fc7af84f08de274b88b8890b89b0e9f268d7..5c640cc6365a5133fee89cce747325a0b1ae0b59 100644 (file)
@@ -23,18 +23,18 @@ public:
     DECLARE_MY_RUNTIME_TYPEINFO;
     Input_translator* itrans_l_;
 
-    virtual void add( Performer* perf_p );
-    virtual bool do_try_request( Request* req_l );
+    virtual void add (Performer* perf_p);
+    virtual bool do_try_request (Request* req_l);
     virtual void print() const;
-    virtual bool try_request(Request* r);
+    virtual bool try_request (Request* r);
     
 
 protected:
     virtual ~Performer_group_performer();
-    virtual Translator* find_get_translator_l( String name, String id );
+    virtual Translator* find_get_translator_l (String name, String id);
     virtual Translator* get_default_interpreter();
 
-    Translator * ancestor_l( int l = 1 );
+    Translator * ancestor_l (int l = 1);
     virtual int depth_i() const;
 
     virtual void process_requests();
@@ -42,7 +42,7 @@ protected:
     virtual void do_creation_processing();
 
     bool is_bottom_performer_b() const;
-    virtual Performer_group_performer* find_performer_l( String name, String id );
+    virtual Performer_group_performer* find_performer_l (String name, String id);
     virtual void do_print()const;
 
 private:
index 0126c7b231d7c3bd4db3d364dd2da06f4b06cc28..8e9553f08f28bd2680bed280562bbfaa2fd06499 100644 (file)
@@ -30,17 +30,17 @@ public:
     void print() const;
     virtual void process_requests();
 
-    virtual bool try_request( Request* req_l );
+    virtual bool try_request (Request* req_l);
 
     virtual void do_removal_processing();
     void creation_processing();
 
 protected:
     virtual void do_creation_processing();
-    virtual bool do_try_request(Request*);
+    virtual bool do_try_request (Request*);
     virtual int get_tempo_i() const;
     virtual void do_print() const;
-    virtual void play( Audio_element * elem_p  );
+    virtual void play (Audio_element * elem_p );
 };
 
 #include "global-performers.hh"
index defcd3ee63fcbcb1ab90774f936ab9ee73c57c1a..e40b34ff0710b1191029ad05eacd6289030d1948 100644 (file)
@@ -23,12 +23,12 @@ class Mixed_qp :public Ineq_constrained_qp {
     Array<int> eq_cons;
     Array<Real> eq_consrhs;
 public:
-    Mixed_qp(int n);
+    Mixed_qp (int n);
     void OK() const;
     void print() const;
 
-    Vector solve(Vector start) const;
-    void add_fixed_var(int i , Real value);
+    Vector solve (Vector start) const;
+    void add_fixed_var (int i , Real value);
     
 
     /**
@@ -37,8 +37,8 @@ public:
         c*vars == r
 
       PRE
-      c.dim()==dim();
+      c.dim()==dim ();
      */
-    void add_equality_cons(Vector c, double r);
+    void add_equality_cons (Vector c, double r);
 };
 #endif
index 56b84e2e16f9ed215cfb1b554f7632bc8db7f222..3ef601188a110a3ab0140288448b6123ada5a0cf 100644 (file)
@@ -37,8 +37,8 @@ class Active_constraints {
 public:
     String status()const;
     
-    Vector vec(int k) const { return opt->cons[k]; }
-    Real rhs(int k) const { return opt->consrhs[k]; }
+    Vector vec (int k) const { return opt->cons[k]; }
+    Real rhs (int k) const { return opt->consrhs[k]; }
     
 
     /** drop constraint. drop constraint k from the active set. k is the index of the
@@ -52,18 +52,18 @@ public:
     add constraint j to the active set j is the index of the
     constraint in #inactive#   
     */
-    void add(int j);
+    void add (int j);
 
     /// exchange in and out.
-    void exchange(int in, int out) { add(in); drop (out); }
+    void exchange (int in, int out) { add (in); drop (out); }
     
 
-    Vector find_active_optimum(Vector g);
+    Vector find_active_optimum (Vector g);
 
     /// get lagrange multipliers.
-    Vector get_lagrange(Vector v);
+    Vector get_lagrange (Vector v);
 
-    Active_constraints(Ineq_constrained_qp const *op);
+    Active_constraints (Ineq_constrained_qp const *op);
     /** construct: no constraints active, n vars. Put the equalities
      into the constraints.  */
 
@@ -79,13 +79,13 @@ class Inactive_iter {
     int j;
     Active_constraints const* ac;
 public:
-    Inactive_iter(Active_constraints const &c) { ac=&c; j=0; }
+    Inactive_iter (Active_constraints const &c) { ac=&c; j=0; }
     int idx() const { return j; }
     void operator ++(int) { j++; }
     int constraint_id() const { return ac->inactive[j]; }
-    Vector vec() const { return ac->vec(constraint_id()); }
-    Real rhs() const { return ac->rhs(constraint_id()); }
-    bool ok() const { return j < ac->inactive.size(); }
+    Vector vec() const { return ac->vec (constraint_id ()); }
+    Real rhs() const { return ac->rhs (constraint_id ()); }
+    bool ok() const { return j < ac->inactive.size (); }
 };
 
 #endif // QLPSOLVE_HH
index 07e480137eb3929efe2671dff3e12305eab48be3..3dc1eb9ba22d06171611b95b7fbd73a715a52fc0 100644 (file)
@@ -33,7 +33,7 @@ public:
     VIRTUAL_COPY_CONS(Request,Music);
     
     virtual MInterval time_int() const;
-    virtual void transpose(Melodic_req const &){}
+    virtual void transpose (Melodic_req const &){}
     virtual Moment duration() const { return 0; }
 
     /*  accessors for children
@@ -46,9 +46,9 @@ public:
     virtual Blank_req * blank() { return 0; }
     virtual Musical_req *musical() { return 0; }
     virtual Command_req * command() { return 0; }
-    bool equal_b(Request*) const;
+    bool equal_b (Request*) const;
 protected:
-    virtual bool do_equal_b(Request*) const;
+    virtual bool do_equal_b (Request*) const;
     virtual void do_print()const;
 };
 
@@ -69,12 +69,12 @@ public:
     General_script_def *scriptdef_p_;
 
     /* *************** */
-    bool do_equal_b(Request*)const;
+    bool do_equal_b (Request*)const;
 
     Script_req();
     REQUESTMETHODS(Script_req,script);
     ~Script_req();
-    Script_req(Script_req const&);
+    Script_req (Script_req const&);
 };
 
     
index 7a9eea404265229d6b1a4a09d431aece96d81376..e5ea98432496e9cbf022832f9f2a2c189beca5a9 100644 (file)
 
 class Rest_collision_engraver : public Engraver {
     Rest_collision* rest_collision_p_;
-    Array< Collision *> collision_l_arr_;
+
+    void make_collision();
 protected:
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void acknowledge_element (Score_elem_info);
     virtual void do_print() const;
     virtual void do_pre_move_processing();
 public:
index 56589fe14fe1fd94749feac969ccebbea0535793..84fe927e5bec6d2c9c92bff11d3265c0e846dc84 100644 (file)
@@ -17,15 +17,14 @@ class Rest_collision : public Item {
     Link_array<Rest_column> rest_l_arr_;
     Link_array<Note_column> ncol_l_arr_;
 public:
-    void add(Note_column*);
-    void add(Rest_column*);
-    void add(Collision*);
+    void add (Note_column*);
+    void add (Rest_column*);
     DECLARE_MY_RUNTIME_TYPEINFO;
     Rest_collision();
 protected:
     virtual void do_post_processing();
     virtual void do_pre_processing();
     virtual void do_print() const;
-    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*,Score_elem*);
 };
 #endif // REST_COLLISION_HH
index 6dfdaf16c9635b9fe4ace311f3a44b66c9b427a2..61fafc5bda48dba23c5b2f297309e7762cf2e669 100644 (file)
@@ -18,7 +18,7 @@
 class Rest_column : public Head_column {
 public:
     DECLARE_MY_RUNTIME_TYPEINFO;
-    void translate_heads(int dy);
+    void translate_heads (int dy);
 };
 
 #endif // REST_COLUMN_HH
index 718137ecfa2cb4b7c9fffdf575a7aa109d3849d4..dc6eae2b65237417b348a2567676702da4d92eeb 100644 (file)
@@ -25,7 +25,7 @@ public:
     Score_align_engraver();
     DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void acknowledge_element (Score_elem_info);
     virtual void do_pre_move_processing();
 };
 #endif // SCORE_ALIGN_GRAV_HH
index e108bc82132c8393cabf4e33146b4f869c0803fa..0e19baa4611fa24048483e12280aa5d4e54e5d99 100644 (file)
@@ -38,8 +38,8 @@ public:
     /* *************** */
 
     Moment when() {  return when_; }
-    Score_column(Moment when);       
-    void add_duration(Moment );
+    Score_column (Moment when);       
+    void add_duration (Moment);
     void preprocess();
     bool musical_b() { return musical_b_; }
     void print() const;
index 4e6b609ff26d43fbb4aa740bb2b0573f332aa0f1..17b8172ee6f42aa2a72d4877fb608984d6d18092 100644 (file)
@@ -23,7 +23,7 @@ struct Score_elem_info {
     Array<Engraver*> origin_grav_l_arr_;
 
     /* *** */
-    Score_elem_info(Score_elem*, Request*);
+    Score_elem_info (Score_elem*, Request*);
     Score_elem_info();
 };
 
index 82a6fbfe3d7a64dff7e54ab8ea70ad5cb22b2c9d..7e7259f6a25320b1fb9549e0c6b4232b56852c9b 100644 (file)
@@ -53,8 +53,8 @@ class Score_elem : private Directed_graph_node {
     
     Status status_;
 
-    Score_elem* dependency(int) const;
-    Score_elem* dependent(int) const;
+    Score_elem* dependency (int) const;
+    Score_elem* dependent (int) const;
     int dependent_size() const;
     int dependency_size() const;
 public:
@@ -70,9 +70,9 @@ public:
     Paper_score *pscore_l_;    
     Axis_group_element * axis_group_l_a_[2];
 
-    Score_elem(Score_elem const&);
-    virtual String TeX_string () const ;
-    String TeX_string_without_offset(Offset)const;
+    Score_elem (Score_elem const&);
+    virtual String TeX_string() const ;
+    String TeX_string_without_offset (Offset)const;
     virtual void print() const;
     
     Paper_def *paper() const;
@@ -81,7 +81,7 @@ public:
     Score_elem();
     DECLARE_MY_RUNTIME_TYPEINFO;    
     
-    Interval extent(Axis)const;
+    Interval extent (Axis)const;
     Interval width() const;
     Interval height() const;
     Status status() const;
@@ -89,16 +89,16 @@ public:
      /**
       translate the symbol. The symbol does not have to be created yet. 
       */
-    void translate(Offset);
+    void translate (Offset);
     /**
       translate in one direction
      */
     
-    void translate(Real, Axis);
-    Real relative_coordinate(Axis_group_element*, Axis)const;
+    void translate (Real, Axis);
+    Real relative_coordinate (Axis_group_element*, Axis)const;
     Offset absolute_offset()const;
-    Real absolute_coordinate(Axis)const;
-    Axis_group_element*common_group(Score_elem const* s, Axis a)const;
+    Real absolute_coordinate (Axis)const;
+    Axis_group_element*common_group (Score_elem const* s, Axis a)const;
 
     void add_processing();
     void OK() const;
@@ -114,13 +114,13 @@ public:
      */
     void unlink();
     void unlink_all();
-    void substitute_dependency(Score_elem*,Score_elem*);
-    void remove_dependency(Score_elem*);
+    void substitute_dependency (Score_elem*,Score_elem*);
+    void remove_dependency (Score_elem*);
     /**
       add a dependency. It may be the 0 pointer, in which case, it is ignored.
      */
-    void add_dependency(Score_elem* );    
-    void copy_dependencies(Score_elem const&);
+    void add_dependency (Score_elem*);    
+    void copy_dependencies (Score_elem const&);
     /**
       junk the dependency array. Don't do derived stuff.
      */
@@ -158,8 +158,8 @@ protected:
     /// do calculations after determining horizontal spacing
     virtual void do_post_processing();
     
-    virtual void do_substitute_dependency(Score_elem * , Score_elem *);
-    virtual void do_substitute_dependent(Score_elem *, Score_elem *);
+    virtual void do_substitute_dependency (Score_elem * , Score_elem *);
+    virtual void do_substitute_dependent (Score_elem *, Score_elem *);
     virtual void do_break_processing();
     virtual void handle_broken_dependencies();
     virtual void handle_prebroken_dependencies();
index 39941cda65ba05c1c88e42f9101eb9e9350812e1..5cb3936bb5118ef03211ac643c2a0db201420cc0 100644 (file)
@@ -31,7 +31,7 @@ class Score_engraver :
     Score_column* musical_column_l_;
     
     friend class Score;
-    void set_columns(Score_column*,Score_column*);
+    void set_columns (Score_column*,Score_column*);
     void typeset_all();
     
 public:
@@ -41,22 +41,22 @@ public:
 
 protected:   
     /* Global_translator interface */
-    virtual void set_score(Score * score_l);
-    virtual void prepare(Moment);
+    virtual void set_score (Score * score_l);
+    virtual void prepare (Moment);
     virtual void finish();
     virtual void process();
-    virtual int depth_i() const { return Global_translator::depth_i();}
-    virtual Translator* ancestor_l(int l) { return Global_translator::ancestor_l(l);}
+    virtual int depth_i() const { return Global_translator::depth_i ();}
+    virtual Translator* ancestor_l (int l) { return Global_translator::ancestor_l (l);}
 
 protected:
     /* Engraver_group_engraver interface */
     virtual Staff_info get_staff_info()const;
-    virtual bool do_try_request(Request*);
+    virtual bool do_try_request (Request*);
     virtual void do_creation_processing();
     virtual void do_removal_processing();
-    virtual void announce_element(Score_elem_info);
+    virtual void announce_element (Score_elem_info);
     virtual void do_announces();
-    virtual void typeset_element(Score_elem*elem_p);
+    virtual void typeset_element (Score_elem*elem_p);
     virtual Paper_def * paper() const;
     virtual void do_pre_move_processing();
 };
index bfbc22f140889fb4e652bd16b6d08c4e0114f898..330cd310e24dca2515103af086ed100d5487deff 100644 (file)
@@ -16,7 +16,7 @@ public:
     DECLARE_MY_RUNTIME_TYPEINFO;
     Score_horizontal_align_engraver();
 protected:
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void acknowledge_element (Score_elem_info);
     virtual void do_pre_move_processing();
 };
 #endif // SCORE_HALIGN_GRAV_HH
index b0b584e72a0bc937c3981502b0ac4f57b49f922a..1a56148425cb3c971313ece2bd041ecfa007628e 100644 (file)
@@ -23,19 +23,19 @@ public:
     ~Score_performer();
 
 protected:
-    virtual Translator* ancestor_l(int l);
+    virtual Translator* ancestor_l (int l);
     virtual int depth_i() const;
 
     virtual void finish();
-    virtual void prepare(Moment mom);
+    virtual void prepare (Moment mom);
     virtual void process();
-    virtual void set_score(Score* score_l);
+    virtual void set_score (Score* score_l);
     virtual void start();
     virtual int get_tempo_i() const;
-    virtual void play(Audio_element* p);
+    virtual void play (Audio_element* p);
 
 private:
-    void header(Midi_stream&);
+    void header (Midi_stream&);
 
     Moment now_mom_;
     Audio_column* audio_column_l_;
index 058fb173b0eb4fce16018a6f1049a7d595f3fbda..e99e448a056b4cb9211855d8244c4db18eff3803 100644 (file)
@@ -35,24 +35,24 @@ public:
 
     /// construction
     Score();
-    Score(Score const&);
+    Score (Score const&);
     ~Score();    
 
     /// do everything except outputting to file
     void process();
     
     /// output to file
-    void output(String fn);
+    void output (String fn);
 
     ///
-    void set(Midi_def* midi_p);
+    void set (Midi_def* midi_p);
     ///
-    void set(Paper_def* midi_p);
+    void set (Paper_def* midi_p);
 
     void print() const;
 
 private:
-    void run_translator(Global_translator*);
+    void run_translator (Global_translator*);
     void midi_output();
     void paper_output();
 
@@ -63,7 +63,7 @@ private:
     void paper();
 
     // utils:
-    PCursor<Score_column*> create_cols(Moment, PCursor<Score_column*> &last);
+    PCursor<Score_column*> create_cols (Moment, PCursor<Score_column*> &last);
 
     /**
       make the pcol_l_ fields of each Score_column point to the correct PCol,
index abde4af7a2a46105df1d99dccfa945d2c5f8df8d..9b9cf7d33f5f275c85c581eb49cd8b4527101f28 100644 (file)
@@ -20,16 +20,16 @@ public:
     DECLARE_MY_RUNTIME_TYPEINFO;
     Line_of_score();
     
-    void add(Score_elem *);
+    void add (Score_elem *);
 
     /// is #c# contained in #*this#?
-    bool contains_b(PCol const *c)const;
+    bool contains_b (PCol const *c)const;
     
     Link_array<Line_of_score> get_lines()const;
-    void set_breaking(Array<Col_hpositions> const&);
+    void set_breaking (Array<Col_hpositions> const&);
 
 protected:
-    virtual void break_into_pieces(bool);
+    virtual void break_into_pieces (bool);
     virtual Interval do_width()const;
     virtual void do_print() const;
     SCORE_ELEM_CLONE(Line_of_score);
index b3d73aac9520c4efdedc7ba93dc876245e330964..e5b83984b78e7ca10c6916c4e74c7639307288a9 100644 (file)
 #include "elem-group-item.hh"
 
 /** a struct for treating a group of noteheads (noteheads, stem
-  (chord) and scripts ) as a single entity.  */
+  (chord) and scripts) as a single entity.  */
 class Script_column : public Horizontal_vertical_group_item {
 
 protected:
     virtual void do_print() const;
-    virtual void do_substitute_dependency(Score_elem*, Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*, Score_elem*);
     virtual void do_pre_processing() ;
 public:
     Link_array<Script> script_l_arr_;
     Link_array<Item> support_l_arr_;
     DECLARE_MY_RUNTIME_TYPEINFO;
    
-    virtual void add(Script *);
-    void add_support(Item*);
+    virtual void add (Script *);
+    void add_support (Item*);
 };
 
 #endif // SCRIPT_COLUMN_HH
index 65898a0549a91f963f668b1163f755c508947391..1dd72b7ec7eeec4df0d00c8443e57eea98e1ee3e 100644 (file)
@@ -34,13 +34,13 @@ public:
     virtual int rel_stem_dir_i()const;
     virtual int priority_i()const;
     virtual bool inside_b()const;
-    virtual Atom get_atom(Paper_def* p, int dir_i_)const;
+    virtual Atom get_atom (Paper_def* p, int dir_i_)const;
     DECLARE_MY_RUNTIME_TYPEINFO;
 
-    virtual bool do_equal_b(General_script_def const *)const;
+    virtual bool do_equal_b (General_script_def const *)const;
     virtual void do_print() const;
     Script_def();
-    void set_from_input(String, bool, int, int ,bool,int );
+    void set_from_input (String, bool, int, int ,bool,int);
 protected:
     VIRTUAL_COPY_CONS(Script_def,General_script_def);
 
index ce72d40deff7b96861431c2ad61af576abe07132..522fe5838ad3f438c81ec03e104c981bd244b80b 100644 (file)
@@ -19,7 +19,7 @@ public:
     DECLARE_MY_RUNTIME_TYPEINFO;
     Script_engraver();
 protected:
-    virtual bool do_try_request(Request*);
+    virtual bool do_try_request (Request*);
     virtual void do_process_requests();
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
index bd7a5cc08636ddec8ee50337adadc039fc7c7b9c..c15eae63302a084a5df6a7274a9b48ce21ca06ab 100644 (file)
@@ -19,7 +19,7 @@ class Script : public Item, public Staff_side {
 
 protected:
     Molecule *brew_molecule_p()const;
-    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*,Score_elem*);
     virtual void do_print() const;
     virtual Interval symbol_height()const;
     virtual void do_pre_processing();
@@ -31,9 +31,9 @@ private:
 public:
     General_script_def *specs_l_;
     
-    static int compare(Script  *const&, Script *const&) ;
+    static int compare (Script  *const&, Script *const&) ;
     Script();
-    void set_stem(Stem*);
+    void set_stem (Stem*);
     DECLARE_MY_RUNTIME_TYPEINFO;
 
 };
index 277a846b7f8a78cf0f2b37123e31b596d0527539..35b2ca0df3c3b46797a4467952e57471d35ce822 100644 (file)
@@ -19,10 +19,10 @@ class Slur_engraver :public Engraver {
     /* *************** */
 protected:
     virtual ~Slur_engraver();
-    virtual bool do_try_request(Request*);
-    virtual void set_feature(Feature);
+    virtual bool do_try_request (Request*);
+    virtual void set_feature (Feature);
     virtual void do_process_requests();
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void acknowledge_element (Score_elem_info);
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
 public:
index af44eb1d73148b3141648d75b44b4a3e33189b1c..083c073e75562f1dfc55f1fa0002486bfcda9c59 100644 (file)
 class Slur : public Bow {
 public:
     Link_array<Note_column> encompass_arr_;
-    void add(Note_column*);
+    void add (Note_column*);
 protected:
     virtual void set_default_dir();
     virtual void do_post_processing();
-    virtual void do_substitute_dependency(Score_elem*, Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*, Score_elem*);
     virtual void do_pre_processing();
     SCORE_ELEM_CLONE(Slur);
     DECLARE_MY_RUNTIME_TYPEINFO;
index 03a63aaece2c4cede931bf504d3d93a8198f3715..eda25e6ffa9b34fac773043c9036ac95f29484c4 100644 (file)
@@ -29,7 +29,7 @@ public:
     Span_bar_engraver();
 protected:
     
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void acknowledge_element (Score_elem_info);
     virtual void do_pre_move_processing();
     virtual Span_bar* get_span_bar_p()const;
 };
index 724caa3b9f52d52572069b28189b5bdc543f3821..644d9de0b4a6fbcaba3cb75e841d993b57959d75 100644 (file)
@@ -20,16 +20,16 @@ public:
     Span_bar();
     DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Span_bar);
-    void add(Bar* );
-    void setVertical_align_element *);
+    void add (Bar*);
+    void set (Vertical_align_element *);
 
 protected:
     virtual Interval do_width()const;
     virtual void do_pre_processing();
     
-    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*,Score_elem*);
     virtual Molecule * brew_molecule_p()const;
-    virtual Symbol get_bar_sym(Real dy) const;
+    virtual Symbol get_bar_sym (Real dy) const;
 };
 
 #endif // SPAN_BAR_HH
index 675a6ec7a550516c403c899685e7a35eb9b25db7..ace2c84dc9848d45883d06e9219fd7d7567e61c0 100644 (file)
@@ -32,7 +32,7 @@ public:
     SCORE_ELEM_CLONE(Piano_brace);
 protected:
     virtual Interval do_width()const;
-    virtual Symbol get_bar_sym(Real) const;
+    virtual Symbol get_bar_sym (Real) const;
 };
 
 #endif // SPAN_SCORE_BAR_HH
index 79e1bd4cfdb90d76d299232d8c9236038242ff61..1152be157b5320dddd94591407f6917342d4c3f3 100644 (file)
@@ -39,7 +39,7 @@ public:
     virtual Spanner* spanner() { return this; }    
     Spanner();
     bool broken_b() const;
-    Spanner* find_broken_piece(Line_of_score*)const;
+    Spanner* find_broken_piece (Line_of_score*)const;
 protected:
     void set_my_columns();
     SCORE_ELEM_CLONE(Spanner);
@@ -47,7 +47,7 @@ protected:
     /**
       this is virtual; for instance, Line_of_score overrides it.
      */
-    virtual void break_into_pieces(bool);
+    virtual void break_into_pieces (bool);
 
     Link_array<Spanner> broken_into_l_arr_;
        
index 0a38a2e25539d34c1a6cff9f87d806685e6f01cf..27985d8e9ec09ebbe21d527efe76aa2105400013 100644 (file)
@@ -48,9 +48,9 @@ class Spring_spacer : public Line_spacer {
     Array<Colinfo> loose_col_arr_;
     
     /// mark column #i# as being loose.
-    void loosen_column(int i);
+    void loosen_column (int i);
     /// the index of #c# in #cols#
-    int col_id(PCol const *c) const;
+    int col_id (PCol const *c) const;
 
     /// generate an (nonoptimal) solution
     Vector find_initial_solution() const;
@@ -59,17 +59,17 @@ class Spring_spacer : public Line_spacer {
     bool check_feasible() const;
 
     /// does #this# contain the column #w#? 
-    bool contains(PCol const *w);
+    bool contains (PCol const *w);
 
     /// make the energy function
-    void make_matrices(Matrix &quad, Vector &lin,Real&) const;
+    void make_matrices (Matrix &quad, Vector &lin,Real&) const;
 
     /// generate the LP constraints
-    void make_constraints(Mixed_qp& lp) const;
+    void make_constraints (Mixed_qp& lp) const;
 
 
     void handle_loose_cols();
-    void position_loose_cols(Vector &) const;
+    void position_loose_cols (Vector &) const;
    /**
        add a idealspacing to the problem.
       
@@ -77,24 +77,24 @@ class Spring_spacer : public Line_spacer {
     since they can be "summed" if the columns to which #i# refers are
     not in this problem, the spacing is ignored.
     */
-    void add_ideal(Idealspacing const *i);
+    void add_ideal (Idealspacing const *i);
     Vector try_initial_solution() const;
     void calc_idealspacing();
-    void set_fixed_cols(Mixed_qp&)const;
+    void set_fixed_cols (Mixed_qp&)const;
 
-    Score_column* scol_l(int);
-    void connect(int i,int j, Real,Real);
+    Score_column* scol_l (int);
+    void connect (int i,int j, Real,Real);
     Line_of_cols error_pcol_l_arr()const;
 public:
     static Line_spacer *constructor();
 
-    virtual void solve(Col_hpositions*) const;
-    virtual void lower_bound_solution(Col_hpositions*) const;
-    virtual void add_column(PCol  *, bool fixed=false, Real fixpos=0.0);
+    virtual void solve (Col_hpositions*) const;
+    virtual void lower_bound_solution (Col_hpositions*) const;
+    virtual void add_column (PCol  *, bool fixed=false, Real fixpos=0.0);
  
 
     virtual Vector default_solution() const;
-    virtual bool check_constraints(Vector v) const;
+    virtual bool check_constraints (Vector v) const;
     virtual void OK() const;
     virtual void print() const;
     virtual void prepare();
index b73e9b9fe517d051519e93dc4ce96a7dcc5de375..53aea0812a80df983b90d03bd53fe83e63e54f1e 100644 (file)
 
 #include "performer-group-performer.hh"
 
+/** Perform a staff. Individual notes should have their instrument
+  (staff-wide) set, so we override play()
+
+  */
 class Staff_performer : public Performer_group_performer 
 {
 public:
@@ -21,7 +25,7 @@ public:
     String instrument_str();
 
 protected:
-    virtual void play( Audio_element* p );
+    virtual void play (Audio_element* p);
     virtual void do_removal_processing();
     virtual void do_creation_processing();
 
index 73f174f1052e5ecf430362d5b6c47b76258f0515..7e7a75ea0254693ed113e245aec94a54957f0e9d 100644 (file)
@@ -37,15 +37,15 @@ public:
 
     int pos_i_;
 
-    void set_staffsym(Staff_symbol *  );
+    void set_staffsym (Staff_symbol * );
   
     Staff_side();
-    void add_support(Score_elem*);
+    void add_support (Score_elem*);
     DECLARE_MY_RUNTIME_TYPEINFO;
     
 protected:
     virtual Interval symbol_height() const;
-    virtual void do_substitute_dependency(Score_elem *, Score_elem*);
+    virtual void do_substitute_dependency (Score_elem *, Score_elem*);
     virtual void do_post_processing();
 };
 #endif // STAFF_SIDE_HH
index f839e545b207f205cdca279757370c4ea72e0241..3d3f1f3f836cfcf5146b8103ff9e64f38d39875b 100644 (file)
@@ -22,8 +22,7 @@ public:
     DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
     virtual ~Staff_sym_engraver();
-    virtual void do_process_requests();
-    virtual void fill_staff_info(Staff_info&);
+    virtual void fill_staff_info (Staff_info&);
     virtual void do_removal_processing();
     virtual void do_creation_processing();
        
index 513e0e2f3588a87e67dea6e71a6a254c1f638722..705d92b0e5d57caf41318b0e02ffb03eb6251426 100644 (file)
@@ -22,9 +22,9 @@ class Staff_symbol : public Spanner
 public:
 
 
-    void set_extent(PCol* p1, PCol* p2);
+    void set_extent (PCol* p1, PCol* p2);
     DECLARE_MY_RUNTIME_TYPEINFO;
-    Staff_symbol(int lines);
+    Staff_symbol (int lines);
     Real inter_note_f()const;
     int steps_i()const;
 protected:
index d4a8749f09abea31d10b415588785189fee10979..c7fe5ff4e80742d8a479345d283107905d7aa62e 100644 (file)
@@ -30,10 +30,10 @@ public:
 
 protected:
     ~Stem_beam_engraver();
-    virtual void set_feature(Feature dir_i_);
-    virtual bool do_try_request(Request*);
+    virtual void set_feature (Feature dir_i_);
+    virtual bool do_try_request (Request*);
     virtual void do_process_requests();
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void acknowledge_element (Score_elem_info);
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
 };
index 46228d089a5ed1717ff01bd982b36af2e0fd09c2..3ea7c356087c38556025cfab24e77424c2cb72a7 100644 (file)
@@ -65,17 +65,17 @@ public:
 
     
     /* *************** */
-    Stem(int staff_size_i);
+    Stem (int staff_size_i);
     
     /// ensure that this Stem also encompasses the Notehead #n#
-    void add(Note_head*n);
+    void add (Note_head*n);
 
     DECLARE_MY_RUNTIME_TYPEINFO;
 
     Real hpos_f()const;
     
     void do_print() const;
-    void set_stemend(Real);
+    void set_stemend (Real);
     int get_default_dir();
     int get_center_distance_from_top();
     int get_center_distance_from_bottom();
@@ -94,7 +94,7 @@ public:
     int max_head_i() const;
     int min_head_i() const;
 protected:
-    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*,Score_elem*);
     virtual void do_pre_processing();
     virtual Interval do_width() const;
     Molecule* brew_molecule_p() const;
index c6b7360e05a5338d673e680f57f136466ef25fa3..eb12e833a19942486327933ec80c2461a17cf426 100644 (file)
@@ -18,11 +18,11 @@ class Super_elem : public Score_elem {
 public:
     Link_array<Line_of_score> lines_arr_;
     Line_of_score * line_of_score_l_;
-    void add_broken_line(Line_of_score*);
+    void add_broken_line (Line_of_score*);
     Super_elem();
     virtual String TeX_string()const;
 protected:
-    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*,Score_elem*);
     virtual void handle_broken_dependencies();
 
     virtual void do_add_processing();
index 9a0601a913dfce3b1b29badfafc520f72abcd89e..159f10707c80a3ad226ae6a3f5fa14c535156726 100644 (file)
@@ -18,8 +18,8 @@
  */
 class Swallow_engraver : public Engraver {
 protected:
-    bool acceptable_request_b(Request*) const;
-    bool do_try_request(Request*) ;
+    bool acceptable_request_b (Request*) const;
+    bool do_try_request (Request*) ;
 public:
     DECLARE_MY_RUNTIME_TYPEINFO;
 };
index a2e4a15a490649992b75fb5435aaa61729290f22..9e7218aa88c3cb720580662c19229882b9e1ab39 100644 (file)
@@ -16,7 +16,7 @@ class Swallow_performer : public Performer {
 public:
     DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
-    virtual bool do_try_request (Request* ) { return true; }
+    virtual bool do_try_request (Request*) { return true; }
 };
 
 #endif // SWALLOW_PERF_HH
index 3e2eafc7d3ab592a262a669f4d1d47fc386e4af9..f099fc657baa3ab2878f228e725b9fe2b14f921a 100644 (file)
@@ -30,15 +30,15 @@ struct Atom {
 
     /* *************** */
     
-    void translate(Offset o) {
+    void translate (Offset o) {
        off_ += o;
     }
-    void translate(Real r,Axis a){
+    void translate (Real r,Axis a){
        off_[a] += r;
     }
     /// how big is #this#?
     Box extent() const;
-    Atom(Symbol s);
+    Atom (Symbol s);
 
     void print() const;
 
index 5f902c4913c89118334527592b2c6c7a4533aa63..43a21aa50126fc214d0d9b125037f9498babca41 100644 (file)
@@ -10,7 +10,7 @@
 struct  Symtable : public Assoc<String, Symbol> {
     String id_str;
     
-    Symbol lookup(String)const;
+    Symbol lookup (String)const;
     void print()const;
 };
 
@@ -20,8 +20,8 @@ struct Symtables : private Assoc<String, Symtable*> {
     Symtable* operator()(String s);
     ~Symtables();
     Symtables();
-    Symtables(Symtables const&);
-    void add(String, Symtable*);
+    Symtables (Symtables const&);
+    void add (String, Symtable*);
     void print()const;
 };
 
index 5f0477a51acde09d6409abf84dd68e9a2b64f086..e8011bb3ee7ade21bc723a8b3049b02140b5facc 100644 (file)
@@ -20,7 +20,7 @@ public:
     int line_len_i_;
     
     /// open a file for writing
-    Tex_stream(String filename);
+    Tex_stream (String filename);
     void header();
     /// delegate conversion to string class.
     Tex_stream &operator<<(String);
@@ -28,6 +28,6 @@ public:
     /// close the file
     ~Tex_stream();
 private:
-    Tex_stream(Tex_stream const&);
+    Tex_stream (Tex_stream const&);
 };
 #endif
index 386c9b29ddc5e2486da5737f4eac276b8c0e40ef..80850cafa98ac824c2d6d4f9d6ae3aa9f3c92a17 100644 (file)
   this function provides a simple macro mechanism:
 
   if source == "tex%bla%", then
-  substitute_args(source, {"X","Y"})  == "texXblaY"
+  substitute_args (source, {"X","Y"})  == "texXblaY"
   */
 String
-substitute_args(String source, Array<String> args);
+substitute_args (String source, Array<String> args);
 
 /// parameter substitution in TeX_strings
 String
-substitute_args(String source, Array<Scalar> args);
+substitute_args (String source, Array<Scalar> args);
 
 /// #h# is in points
-String vstrut(Real h);
+String vstrut (Real h);
 
 
 #endif
index 3f7d4332460d4caff2bf8e07c5797bb99941eeeb..3f13add20511664f9e11c7050220da09411d67ae 100644 (file)
@@ -14,7 +14,7 @@
 
 class Text_def : public General_script_def {
 protected:
-    virtual Atom get_atom(Paper_def* p, int dir_i_)const;
+    virtual Atom get_atom (Paper_def* p, int dir_i_)const;
     DECLARE_MY_RUNTIME_TYPEINFO;
     VIRTUAL_COPY_CONS(Text_def,General_script_def);
 public:
@@ -30,10 +30,10 @@ public:
     
     virtual void do_print() const;
     virtual ~Text_def() {};
-    virtual bool do_equal_b(const General_script_def*)const;
+    virtual bool do_equal_b (const General_script_def*)const;
     Text_def();
     virtual void print() const;
-    Interval width(Paper_def*) const;
+    Interval width (Paper_def*) const;
 };
 
 #endif // TEXT_DEF_HH
index 4f3b3f23a5bc13ad719e3a231fba5e9f52c47a14..80540bae26a2d1f7deb36938767560fa9a8fe055 100644 (file)
@@ -15,12 +15,12 @@ class Text_engraver : public Engraver{
     int dir_i_;
     /* *************** */
 protected:
-    virtual void set_feature(Feature );
-    virtual bool do_try_request(Request*);
+    virtual void set_feature (Feature);
+    virtual bool do_try_request (Request*);
     virtual void do_process_requests();
     virtual void do_pre_move_processing();
     virtual void do_post_move_processing();
-    virtual void acknowledge_element(Score_elem_info);
+    virtual void acknowledge_element (Score_elem_info);
 public:
     Text_engraver();
     DECLARE_MY_RUNTIME_TYPEINFO;
index 0019a5f8e0da5e42c7e395bc05c7726d491e2f53..45436405401352897085df8b73715e42120e5a75 100644 (file)
@@ -15,7 +15,7 @@
   print a fixed width text above or below the staff.
  */
 class Text_item : public Item ,public Staff_side{
-    void init(Text_def* tdef_l); 
+    void init (Text_def* tdef_l); 
  
 public:
 
@@ -24,7 +24,7 @@ public:
     
     /* ***************/
 
-    Text_item(General_script_def*,int dir=0);
+    Text_item (General_script_def*,int dir=0);
     virtual ~Text_item();
     DECLARE_MY_RUNTIME_TYPEINFO;
 
index ff06829345fedc82b1b777ba45a52ce34316135e..3bed16878765acc811c9ce3feda54dc0a66e83fb 100644 (file)
@@ -20,13 +20,13 @@ public:
     Offset text_off_;
     DECLARE_MY_RUNTIME_TYPEINFO;
 
-    void set_support(Directional_spanner*);
+    void set_support (Directional_spanner*);
     Text_spanner();
-    Text_spanner(Text_spanner const&);
+    Text_spanner (Text_spanner const&);
 protected:
     SCORE_ELEM_CLONE(Text_spanner);
     ~Text_spanner();
-    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*,Score_elem*);
     virtual void do_pre_processing();
     virtual void do_post_processing();
     virtual Interval height() const ;
index 8a07a27b7502ba238b5835ec236d03ef1889ad3c..63f472e3d8295ce70c4d648d919ba30c6d0292f6 100644 (file)
@@ -24,14 +24,14 @@ class Tie_engraver : public Engraver {
     
 protected:
     virtual ~Tie_engraver();
-    virtual void acknowledge_element(Score_elem_info);
-    virtual bool do_try_request(Request*);
-    virtual bool acceptable_request_b(Request*);
+    virtual void acknowledge_element (Score_elem_info);
+    virtual bool do_try_request (Request*);
+    virtual bool acceptable_request_b (Request*);
     virtual void sync_features();
     virtual void do_process_requests();
     virtual void do_post_move_processing();
     virtual void do_pre_move_processing();
-    virtual void set_feature(Feature);
+    virtual void set_feature (Feature);
 public:
     Tie_engraver();
     DECLARE_MY_RUNTIME_TYPEINFO;
index 9d8c35496b33af124608319fabaacd3249f11086..fde107fb8120966a88aa3fb873e7c4067ce9bc7a 100644 (file)
@@ -19,13 +19,13 @@ class Tie : public Bow {
     virtual void do_add_processing();
     virtual void do_post_processing();
     virtual void set_default_dir();
-    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*,Score_elem*);
     
 public:
     bool same_pitch_b_;
     Note_head * left_head_l_;
     Note_head * right_head_l_;
-    void set_head(int, Note_head*head_l);
+    void set_head (int, Note_head*head_l);
 
     Tie();
     DECLARE_MY_RUNTIME_TYPEINFO;
index a7ace609f1452b3032813405fcbff6683d70e794..cbc25ded74e413c8b5528b4acb36cd8e503d8244 100644 (file)
@@ -34,29 +34,29 @@ struct Time_description {
     int bars_i_;
 
     /* *************** */
-    void set_cadenza(bool);
+    void set_cadenza (bool);
     void OK() const;
     Time_description();
-    void add(Moment dt);
+    void add (Moment dt);
     bool allow_meter_change_b();
     String str()const;
     void print() const;
-    void setpartial(Moment p);
-    String try_set_partial_str(Moment)const;
+    void setpartial (Moment p);
+    String try_set_partial_str (Moment)const;
     Moment barleft()const;
     Moment next_bar_moment()const;
-    void set_meter(int,int);
+    void set_meter (int,int);
     static int compare (const Time_description&, const Time_description&);
 };
 
 #include "compare.hh"
 
 
-instantiate_compare(Time_description&,Time_description::compare);
+INSTANTIATE_COMPARE(Time_description&,Time_description::compare);
 
 
 void
-process_timing_reqs(Time_description &time_, 
+process_timing_reqs (Time_description &time_, 
                    Rhythmic_grouping *default_grouping,
                    Array<Timing_req*> const& timing_req_l_arr);
 #endif // Time_description_HH
index 96abc5c865367ce086fd4fbb34658a04e0aa13bb..d65a831689318395bf22530cf1af5d1e8877dbd0 100644 (file)
@@ -25,8 +25,8 @@ class Timing_engraver : public Engraver
     
     Link_array<Timing_req> timing_req_l_arr_;
  
-    virtual void fill_staff_info(Staff_info&);
-    virtual bool do_try_request(Request *req_l);
+    virtual void fill_staff_info (Staff_info&);
+    virtual bool do_try_request (Request *req_l);
     virtual void do_process_requests();
     virtual void do_pre_move_processing();
     virtual void do_creation_processing();
index 772b666ff5cef2ca9b2ded392d351fe161d441cc..17088c668fed2625a991bbf5a4772a0b6e0ff9b4 100644 (file)
@@ -26,9 +26,9 @@ public:
     virtual void print()const;
     virtual int depth_i()const=0;
     virtual bool is_bottom_engraver_b() const { return false; }
-    virtual bool try_request(Request*);
-    virtual Translator *find_get_translator_l(String name, String id)=0;
-    virtual Translator *ancestor_l(int l=1)=0;
+    virtual bool try_request (Request*);
+    virtual Translator *find_get_translator_l (String name, String id)=0;
+    virtual Translator *ancestor_l (int l=1)=0;
     virtual ~Translator(){}
     DECLARE_MY_RUNTIME_TYPEINFO;
     Translator();
index 0fc0029b5bdc6ab01ebd12ced7091bd363a28499..3683b304ba94d6c8f57c3ebae49100e9cd7cc47b 100644 (file)
 class Vertical_align_element : virtual public Score_elem {
     Link_array<Score_elem> elem_l_arr_;
 public:
-    void add(Score_elem*);
-    bool contains_b(Score_elem const*)const;
+    void add (Score_elem*);
+    bool contains_b (Score_elem const*)const;
     Vertical_align_element();
     DECLARE_MY_RUNTIME_TYPEINFO;
 protected:
-    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void do_substitute_dependency (Score_elem*,Score_elem*);
     virtual void do_post_processing() ;
 };
 #endif // VERTICAL_ALIGN_ITEM_HH
index 4df768bcdc56cff007acce6c5a4c5dd393989d85..685073e242c7432f4f917146ea9a96ea2b534515 100644 (file)
@@ -19,7 +19,7 @@ public:
     DECLARE_MY_RUNTIME_TYPEINFO;
     Vertical_align_engraver();
 protected:
-   virtual void acknowledge_element(Score_elem_info);
+   virtual void acknowledge_element (Score_elem_info);
    virtual void do_creation_processing();
    virtual void do_removal_processing();
 };
index fefe52a302bdc30475d5c2d93d4f7adcf5f905fd..489586505f4fcee7e407876fdaca91ae6734a954 100644 (file)
@@ -18,7 +18,7 @@ class Vertical_align_spanner : public Vertical_align_element, public Spanner
 public:
     DECLARE_MY_RUNTIME_TYPEINFO;
     SCORE_ELEM_CLONE(Vertical_align_spanner);
-    virtual void do_print() const { Vertical_align_element::do_print() ; }
+    virtual void do_print() const { Vertical_align_element::do_print () ; }
     
 };
 #endif // VERTICAL_ALIGN_SPANNER_HH
index ab90bdb6b657cab7a39543ad0e2038e1ef21dfec..ee08375d6ecbce87b58dab1bea8501c8241d6657 100644 (file)
@@ -19,11 +19,11 @@ class Vertical_group_spanner : public Axis_group_spanner, public Vertical_group_
 {
 protected:
     SCORE_ELEM_CLONE(Vertical_group_spanner);
-    virtual void remove_all() { Vertical_group_element::remove_all(); }
+    virtual void remove_all() { Vertical_group_element::remove_all (); }
 public:
     DECLARE_MY_RUNTIME_TYPEINFO;
-    virtual void add_element(Score_elem*e) { Vertical_group_element::add_element(e); }
-    virtual void remove_element(Score_elem*e) { Vertical_group_element::remove_element(e); }
+    virtual void add_element (Score_elem*e) { Vertical_group_element::add_element (e); }
+    virtual void remove_element (Score_elem*e) { Vertical_group_element::remove_element (e); }
   
 };
 
index 843f2d571e3a36d7961ac374392c77b689a61b3a..38f57d574db6085b927b5292d1a03426541176ce 100644 (file)
@@ -13,7 +13,7 @@
 #include "engraver-group.hh"
 
 /**
-  A group of voices which share certain characteristics (such as beams. ).
+  A group of voices which share certain characteristics (such as beams.).
  */
 class Voice_group_engravers  : public Engraver_group_engraver {
     Moment termination_mom_;
@@ -21,13 +21,13 @@ class Voice_group_engravers  : public Engraver_group_engraver {
 
 protected:
     virtual void do_print() const;
-    virtual Scalar get_feature(String);
-    virtual bool do_try_request(Request*);
+    virtual Scalar get_feature (String);
+    virtual bool do_try_request (Request*);
 public:
     
     
     DECLARE_MY_RUNTIME_TYPEINFO;
-    static bool static_acceptable_request_b(Request*);
+    static bool static_acceptable_request_b (Request*);
     Voice_group_engravers();
 };
 #endif // VOICEGROUPGRAVS_HH
index 204c6a4b516d87517507d70adcb9c3d78b584e05..29905fd3ae0049d60db48a03ad52a906db774e88 100644 (file)
 const int MAXITER=100;         // qlpsolve.hh
 
 /*
-    assume x(idx) == value, and adjust constraints, lin and quad accordingly
+    assume x (idx) == value, and adjust constraints, lin and quad accordingly
 
     TODO: add const_term
     */
 void
-Ineq_constrained_qp::eliminate_var(int idx, Real value)
+Ineq_constrained_qp::eliminate_var (int idx, Real value)
 {
-    Vector row(quad.row(idx));
+    Vector row (quad.row (idx));
     row*= value;
 
-    quad.delete_row(idx);
+    quad.delete_row (idx);
 
-    quad.delete_column(idx);
+    quad.delete_column (idx);
 
-    lin.del(idx);
-    row.del(idx);
+    lin.del (idx);
+    row.del (idx);
     lin +=row ;
 
    for (int i=0; i < cons.size(); i++) {
       consrhs[i] -= cons[i](idx) *value;
-      cons[i].del(idx);
+      cons[i].del (idx);
    }
 }
 
 void
-Ineq_constrained_qp::add_inequality_cons(Vector c, double r)
+Ineq_constrained_qp::add_inequality_cons (Vector c, double r)
 {
-    cons.push(c);
-    consrhs.push(r);
+    cons.push (c);
+    consrhs.push (r);
 }
 
-Ineq_constrained_qp::Ineq_constrained_qp(int novars):
-    quad(novars),
-    lin(novars),
+Ineq_constrained_qp::Ineq_constrained_qp (int novars):
+    quad (novars),
+    lin (novars),
     const_term (0.0)
 {
 }
@@ -58,10 +58,10 @@ Ineq_constrained_qp::Ineq_constrained_qp(int novars):
 void
 Ineq_constrained_qp::OK() const
 {
-#if !defined(NDEBUG) && defined(PARANOID)
-    assert(cons.size() == consrhs.size());
+#if !defined (NDEBUG) && defined (PARANOID)
+    assert (cons.size() == consrhs.size ());
     Matrix Qdif= quad - quad.transposed();
-    assert(Qdif.norm()/quad.norm() < EPS);
+    assert (Qdif.norm()/quad.norm () < EPS);
 #endif    
 }
      
@@ -74,16 +74,16 @@ Ineq_constrained_qp::eval (Vector v)
 
 
 int
-min_elt_index(Vector v)
+min_elt_index (Vector v)
 {
     Real m=infinity_f; 
     int idx=-1;
     for (int i = 0; i < v.dim(); i++){
-       if (v(i) < m) {
+       if (v (i) < m) {
            idx = i;
-           m = v(i);
+           m = v (i);
        }
-       assert(v(i) <= infinity_f);
+       assert (v (i) <= infinity_f);
     }
     return idx;
 }
@@ -98,43 +98,43 @@ min_elt_index(Vector v)
     the next point is found in a direction determined by projecting
     the gradient onto the active constraints.  (well, not really the
     gradient. The optimal solution obeying the active constraints is
-    tried. This is why H = Q^-1 in initialisation) )
+    tried. This is why H = Q^-1 in initialisation))
 
 
     */
 Vector
-Ineq_constrained_qp::constraint_solve(Vector start) const 
+Ineq_constrained_qp::constraint_solve (Vector start) const 
 {    
     if (!dim())
-       return Vector(0);
+       return Vector (0);
     
     // experimental
     if (quad.dim() > 10)
        quad.try_set_band();
     
-    Active_constraints act(this);
+    Active_constraints act (this);
     act.OK();    
 
     
-    Vector x(start);
+    Vector x (start);
     Vector gradient=quad*x+lin;
        //    Real fvalue = x*quad*x/2 + lin*x + const_term;
        // it's no use.
 
-    Vector last_gradient(gradient);
+    Vector last_gradient (gradient);
     int iterations=0;
     
     while (iterations++ < MAXITER) {
-       Vector direction= - act.find_active_optimum(gradient);
+       Vector direction= - act.find_active_optimum (gradient);
                
-       mtor << "gradient "<< gradient<< "\ndirection " << direction<<"\n";
+       DOUT << "gradient "<< gradient<< "\ndirection " << direction<<"\n";
        
        if (direction.norm() > EPS) {
-           mtor << act.status() << '\n';
+           DOUT << act.status() << '\n';
            
            Real minalf = infinity_f;
 
-           Inactive_iter minidx(act);
+           Inactive_iter minidx (act);
 
 
            /*
@@ -142,11 +142,11 @@ Ineq_constrained_qp::constraint_solve(Vector start) const
            bump into the edges of the simplex
            */
     
-           for (Inactive_iter ia(act); ia.ok(); ia++) {
+           for (Inactive_iter ia (act); ia.ok(); ia++) {
 
                if (ia.vec() * direction >= 0)
                    continue;
-               Real alfa= - (ia.vec()*x - ia.rhs())/
+               Real alfa= - (ia.vec()*x - ia.rhs ())/
                    (ia.vec()*direction);
                
                if (minalf > alfa) {
@@ -155,19 +155,19 @@ Ineq_constrained_qp::constraint_solve(Vector start) const
                }
            }
            Real unbounded_alfa = 1.0;
-           Real optimal_step = min(minalf, unbounded_alfa);
+           Real optimal_step = min (minalf, unbounded_alfa);
 
            Vector deltax=direction * optimal_step;
            x += deltax;            
            gradient += optimal_step * (quad * deltax);
            
-           mtor << "step = " << optimal_step<< " (|dx| = " <<
+           DOUT << "step = " << optimal_step<< " (|dx| = " <<
                deltax.norm() << ")\n";     
           
            if (minalf < unbounded_alfa) {
                /* bumped into an edge. try again, in smaller space. */
-               act.add(minidx.idx());
-               mtor << "adding cons "<< minidx.idx()<<'\n';
+               act.add (minidx.idx());
+               DOUT << "adding cons "<< minidx.idx()<<'\n';
                continue;
            }
            /*ASSERT: we are at optimal solution for this "plane"*/
@@ -175,37 +175,37 @@ Ineq_constrained_qp::constraint_solve(Vector start) const
     
        }
        
-       Vector lagrange_mult=act.get_lagrange(gradient);        
-       int m= min_elt_index(lagrange_mult);
+       Vector lagrange_mult=act.get_lagrange (gradient);       
+       int m= min_elt_index (lagrange_mult);
        
-       if (m>=0 && lagrange_mult(m) > 0) {
+       if (m>=0 && lagrange_mult (m) > 0) {
            break;              // optimal sol.
        } else if (m<0) {
-           assert(gradient.norm() < EPS) ;
+           assert (gradient.norm() < EPS) ;
            
            break;
        }
        
-       mtor << "dropping cons " << m<<'\n';
-       act.drop(m);
+       DOUT << "dropping cons " << m<<'\n';
+       act.drop (m);
     }
     if (iterations >= MAXITER)
        WARN<<"didn't converge!\n";
     
-    mtor <<  ": found " << x<<" in " << iterations <<" iterations\n";
-    assert_solution(x);
+    DOUT <<  ": found " << x<<" in " << iterations <<" iterations\n";
+    assert_solution (x);
     return x;
 } 
 
     
 Vector
-Ineq_constrained_qp::solve(Vector start)const
+Ineq_constrained_qp::solve (Vector start)const
 { 
     /* no hassle if no constraints*/
-    if ( ! cons.size() ) {
-       Choleski_decomposition chol( quad );
-       return - chol.solve(lin);
+    if ( ! cons.size()) {
+       Choleski_decomposition chol (quad);
+       return - chol.solve (lin);
     } else {
-       return constraint_solve( start );
+       return constraint_solve (start);
     }
 }
index 47e93160fb3dbc4b012f6cdd78081fb507ff4c74..ddc0163053ca180d22e614e3dbb8bad82b84cdef 100644 (file)
@@ -15,7 +15,7 @@
 #include "performer-group-performer.hh"
 
 bool
-Input_translator::is_name_b(String n)
+Input_translator::is_name_b (String n)
 {
     for (int i=0; i < alias_str_arr_.size(); i++)
        if (alias_str_arr_[i] == n)
@@ -29,31 +29,31 @@ Input_translator::print() const
 #ifndef NPRINT
     if ( ! check_debug)
        return ;
-    mtor << base_str_ <<" " << type_str_<<" {\n";
-    mtor << "Consists of ";
+    DOUT << base_str_ <<" " << type_str_<<" {\n";
+    DOUT << "Consists of ";
     for (int i=0; i< consists_str_arr_.size(); i++)
-       mtor << consists_str_arr_[i] << ',';
+       DOUT << consists_str_arr_[i] << ',';
     if (contains_itrans_p_list_.size())
-       mtor << "\nContains " ;
-    for (PCursor<Input_translator*> i(contains_itrans_p_list_.top()); i.ok(); i++) 
+       DOUT << "\nContains " ;
+    for (PCursor<Input_translator*> i (contains_itrans_p_list_.top()); i.ok (); i++) 
        i->print();
-    mtor << "}\n";
+    DOUT << "}\n";
 #endif 
 }
 
 
 
 Input_translator *
-Input_translator::recursive_find(String nm)
+Input_translator::recursive_find (String nm)
 {
-    if ( is_name_b( nm) )
+    if ( is_name_b (nm))
        return this;
 
     Input_translator * r =0;
     // what bout for() ?
-    PCursor<Input_translator*> i(contains_itrans_p_list_.top());
+    PCursor<Input_translator*> i (contains_itrans_p_list_.top());
     for (; !r &&i.ok(); i++) {
-       if (i->recursive_find(nm))
+       if (i->recursive_find (nm))
            r = i.ptr();
     }
 
@@ -61,10 +61,10 @@ Input_translator::recursive_find(String nm)
 }
 
 Input_translator *
-Input_translator::find_itrans_l(String nm)
+Input_translator::find_itrans_l (String nm)
 {
-    for (PCursor<Input_translator*> i(contains_itrans_p_list_.top()); i.ok(); i++) 
-       if (i->is_name_bnm))
+    for (PCursor<Input_translator*> i (contains_itrans_p_list_.top()); i.ok (); i++) 
+       if (i->is_name_b (nm))
            return i;
 
     return 0;
@@ -76,10 +76,10 @@ Input_translator::get_group_engraver_p()
 {
     assert (base_str_ == "Engraver");
     Engraver_group_engraver * grav_p = (Engraver_group_engraver*)
-       get_engraver_p(type_str_);
+       get_engraver_p (type_str_);
 
     for (int i=0; i < consists_str_arr_.size(); i++) {
-       grav_p->add( get_engraver_p( consists_str_arr_[i]) );
+       grav_p->add (get_engraver_p (consists_str_arr_[i]));
     }
     grav_p->itrans_l_ = this;
     grav_p->id_str_ = default_id_str_;
@@ -91,10 +91,10 @@ Input_translator::get_group_performer_p()
 {    
     assert (base_str_ == "Performer");
     Performer_group_performer * perf_p = (Performer_group_performer*)
-       get_performer_p(type_str_);
+       get_performer_p (type_str_);
 
     for (int i=0; i < consists_str_arr_.size(); i++) {
-       perf_p->add( get_performer_p( consists_str_arr_[i]) );
+       perf_p->add (get_performer_p (consists_str_arr_[i]));
     }
     perf_p->itrans_l_ = this;
     perf_p->id_str_ = default_id_str_;
@@ -108,26 +108,26 @@ Input_translator::accept_req_b()
 }
 
 void
-Input_translator::add(Input_translator *ip)
+Input_translator::add (Input_translator *ip)
 {
-    contains_itrans_p_list_.bottom().add(ip);
+    contains_itrans_p_list_.bottom().add (ip);
 }
 
 Input_translator*
 Input_translator::get_default_itrans_l()
 {
-    if ( contains_itrans_p_list_.size() )
+    if ( contains_itrans_p_list_.size())
        return contains_itrans_p_list_.top();
     else
        return 0;
 }
 
 
-Input_translator_list::Input_translator_list(Input_translator_list const &s)
+Input_translator_list::Input_translator_list (Input_translator_list const &s)
 {
-    for (PCursor<Input_translator*> pc(s); pc.ok(); pc++) {
+    for (PCursor<Input_translator*> pc (s); pc.ok(); pc++) {
        Input_translator *q = pc;
-       Input_translator *p=new Input_translator(*q) ; 
-       bottom().add(p);
+       Input_translator *p=new Input_translator (*q) ; 
+       bottom().add (p);
     }
 }
index 7553b8cf6bbdc1ef2ba9f11865e4286fbc389aad..b47ac190e9fb698e6150051d69a3114a73c1fd2a 100644 (file)
@@ -26,7 +26,7 @@ void
 Item::do_print() const
 {
 #ifndef NPRINT
-    mtor << "(unknown)";
+    DOUT << "(unknown)";
 #endif
 }
 
@@ -34,7 +34,7 @@ Item::do_print() const
 Real 
 Item::hpos_f()const
 {
-    return pcol_l_->hpos_f_ + absolute_coordinate(X_AXIS);
+    return pcol_l_->hpos_f_ + absolute_coordinate (X_AXIS);
 }
 
 Line_of_score *
@@ -52,15 +52,15 @@ Item::break_status_i() const
 void
 Item::copy_breakable_items()
 {
-    if ( broken_to_a_[0] || broken_to_a_[1] )
+    if ( broken_to_a_[0] || broken_to_a_[1])
        return;
     Item *new_copies[2];
     for (int i=0; i < 2; i++) {
-       Item * item_p = clone()->item();
-       item_p->copy_dependencies(*this);
+       Item * item_p = clone()->item ();
+       item_p->copy_dependencies (*this);
        
        item_p->break_status_i_ =  -1+ 2*i;
-       pscore_l_->typeset_item(item_p, pcol_l_);
+       pscore_l_->typeset_item (item_p, pcol_l_);
        item_p->handle_prebroken_dependencies();
        new_copies[i] =item_p;
     }
@@ -79,13 +79,13 @@ Item::do_breakable_col_processing()
     /*
       Otherwise the broken items won't be pre_process()'ed.
      */
-    add_dependency( broken_to_a_[0] );
-    add_dependency( broken_to_a_[1] );    
+    add_dependency (broken_to_a_[0]);
+    add_dependency (broken_to_a_[1]);    
 
 }
 
 Item*
-Item::find_prebroken_piece(Line_of_score*l) const
+Item::find_prebroken_piece (Line_of_score*l) const
 {
     if (line_l() == l) 
        return (Item*)this;
@@ -98,9 +98,9 @@ Item::find_prebroken_piece(Line_of_score*l) const
 }
 
 Item*
-Item::find_prebroken_piece(PCol*c)const
+Item::find_prebroken_piece (PCol*c)const
 {
-    if (c == pcol_l_ )
+    if (c == pcol_l_)
        return (Item *) this;   // ugh
 
     if (c == pcol_l_->prebreak_p_)
@@ -108,12 +108,12 @@ Item::find_prebroken_piece(PCol*c)const
     else if (c==pcol_l_->postbreak_p_)
        return  (Item *)broken_to_a_[1];
 
-    assert(false);
+    assert (false);
 }
 
 void
 Item::handle_prebroken_dependencies()
 {
-    if ( breakable_b_ )
+    if ( breakable_b_)
        Score_elem::handle_prebroken_dependencies();
 }
index 5de204bd2507b9f31981d4a6958add82cadfd7af..a29879bbf4a53adb7f342d6eaebd50d2ac06aa56 100644 (file)
@@ -34,14 +34,14 @@ Key_engraver::create_key()
        if (inf.c0_position_i_l_)
            c0_i = *get_staff_info().c0_position_i_l_;  
        
-       kit_p_ = new Key_item(c0_i);
-       announce_element(Score_elem_info(kit_p_,keyreq_l_));
-       kit_p_->read(*this);
+       kit_p_ = new Key_item (c0_i);
+       announce_element (Score_elem_info (kit_p_,keyreq_l_));
+       kit_p_->read (*this);
     }
 }
 
 bool
-Key_engraver::do_try_request(Request * req_l)
+Key_engraver::do_try_request (Request * req_l)
 {
     Command_req* creq_l= req_l->command();
     if (!creq_l|| !creq_l->keychange())
@@ -50,17 +50,17 @@ Key_engraver::do_try_request(Request * req_l)
     if (keyreq_l_)
        return false;           // TODO
     keyreq_l_ = creq_l->keychange();
-    read_req(keyreq_l_);
+    read_req (keyreq_l_);
     return true;
 }
 
 void
-Key_engraver::acknowledge_element(Score_elem_info info)
+Key_engraver::acknowledge_element (Score_elem_info info)
 {
     Command_req * r_l = info.req_l_->command() ;
     if (r_l && r_l->clefchange()) {
        create_key();
-    } else if (info.elem_l_->name() == Bar::static_name()) {
+    } else if (info.elem_l_->name() == Bar::static_name ()) {
        if ( !keyreq_l_)
            default_key_b_ = true;
        create_key();
@@ -72,7 +72,7 @@ void
 Key_engraver::do_process_requests()
 {
     if (key_.multi_octave_b_) {
-       assert(false); // TODO . 
+       assert (false); // TODO . 
     } else if (keyreq_l_) {
        create_key();
     }
@@ -83,7 +83,7 @@ Key_engraver::do_pre_move_processing()
 { 
     if (kit_p_) {
        kit_p_->default_b_ = default_key_b_;
-       typeset_elementkit_p_);
+       typeset_element (kit_p_);
        kit_p_ = 0;
     }
 }
@@ -91,7 +91,7 @@ Key_engraver::do_pre_move_processing()
 
     
 void
-Key_engraver::read_req(Key_change_req * r)
+Key_engraver::read_req (Key_change_req * r)
 {
     key_.multi_octave_b_ = r->multi_octave_b_;
     accidental_idx_arr_.clear();
@@ -101,10 +101,10 @@ Key_engraver::read_req(Key_change_req * r)
        int a_i = m_l->accidental_i_;
        int o_i = m_l->octave_i_;
        if (r->multi_octave_b_)
-           key_.set(o_i, n_i, a_i);
+           key_.set (o_i, n_i, a_i);
        else
-           key_.set(n_i, a_i);
-       accidental_idx_arr_.push(n_i);
+           key_.set (n_i, a_i);
+       accidental_idx_arr_.push (n_i);
     }
 }
 
index 299695561f2da23f456e81774466d430ace55e9a..c765fd0206cc55331cd314f5d507a8653d7f0b2f 100644 (file)
 const int FLAT_TOP_PITCH=2; /* fes,ges,as and bes typeset in lower octave */
 const int SHARP_TOP_PITCH=4; /*  ais and bis typeset in lower octave */
 
-Key_item::Key_item(int c)
+Key_item::Key_item (int c)
 {
     breakable_b_ =true;
     default_b_ = false;
-    set_c_position(c);
+    set_c_position (c);
 }
 
 void
-Key_item::read(Key_engraver const & key_grav_r)
+Key_item::read (Key_engraver const & key_grav_r)
 {
-    assert(!key_grav_r.key_.multi_octave_b_);
+    assert (!key_grav_r.key_.multi_octave_b_);
     const Array<int> &idx_arr =key_grav_r.accidental_idx_arr_; 
     for (int i = 0 ; i< idx_arr.size(); i++) {
        int note = idx_arr[i];
-       int acc = ((Key &) key_grav_r.key_).oct(0).acc(note);
+       int acc = ((Key &) key_grav_r.key_).oct (0).acc (note);
 
-       add(note, acc);
+       add (note, acc);
     }
 }
 
 void 
-Key_item::set_c_position(int c0)
+Key_item::set_c_position (int c0)
 {
-    int octaves =(abs(c0) / 7) +1 ;
+    int octaves =(abs (c0) / 7) +1 ;
     c_position=(c0 + 7*octaves)%7;
 }
 
 
 void
-Key_item::add(int p, int a)
+Key_item::add (int p, int a)
 {
     if ((a<0 && p>FLAT_TOP_PITCH) ||
         (a>0 && p>SHARP_TOP_PITCH)) {
       p -= 7; /* Typeset below c_position */
     }
-    pitch.push(p);
-    acc.push(a);
+    pitch.push (p);
+    acc.push (a);
 }
 
 
@@ -64,21 +64,21 @@ Molecule*
 Key_item::brew_molecule_p()const
 {
     Molecule*output = new Molecule;
-    Real inter = paper()->internote_f();
+    Real inter = paper()->internote_f ();
     
     for (int i =0; i < pitch.size(); i++) {
-       Symbol s= paper()->lookup_l()->accidental(acc[i]);
-       Atom a(s);
-       a.translate((c_position + pitch[i]) * inter, Y_AXIS);
-       Molecule m(a);
-       output->add_right(m);   
+       Symbol s= paper()->lookup_l ()->accidental (acc[i]);
+       Atom a (s);
+       a.translate ((c_position + pitch[i]) * inter, Y_AXIS);
+       Molecule m (a);
+       output->add_right (m);  
     }
-    if ( pitch.size() ) {
-       Molecule m(paper()->lookup_l()->fill(Box(
-       Interval(0, paper()->note_width()),
-       Interval(0,0))));
+    if ( pitch.size()) {
+       Molecule m (paper()->lookup_l ()->fill (Box (
+       Interval (0, paper()->note_width ()),
+       Interval (0,0))));
 
-       output->add_right(m);
+       output->add_right (m);
     }
     return output;
 }
@@ -88,7 +88,7 @@ IMPLEMENT_IS_TYPE_B1(Key_item,Item);
 void 
 Key_item::do_pre_processing()
 {
-    if (default_b_ ) {
+    if (default_b_) {
        empty_b_ = transparent_b_ = (break_status_i() != 1);
     }
 }
index 5affa0c1f3266415b2839b2a5aa1135958990012..0dfe7092f17bed44076cfae1c4c858473745e700 100644 (file)
@@ -28,7 +28,7 @@ void
 Key_performer::do_print() const
 {
 #ifndef NPRINT
-    if ( key_req_l_ )
+    if ( key_req_l_)
        key_req_l_->print();
 #endif
 }
@@ -36,21 +36,21 @@ Key_performer::do_print() const
 void
 Key_performer::process_requests()
 {
-    if ( key_req_l_ )
-       play( new Audio_key( key_req_l_ ) );
+    if ( key_req_l_)
+       play (new Audio_key (key_req_l_) );
     key_req_l_ = 0;
 }
 
 bool
-Key_performer::do_try_request( Request* req_l )
+Key_performer::do_try_request (Request* req_l)
 {
-    if ( key_req_l_ )
+    if ( key_req_l_)
        return false;
 
-    if ( req_l->command() )
-       key_req_l_ = req_l->command()->keychange();
+    if ( req_l->command())
+       key_req_l_ = req_l->command()->keychange ();
 
-    if ( key_req_l_ )
+    if ( key_req_l_)
        return true;
 
     return false;
index 827b01c2c3afcc044903d4407a88dbdba673a9af..d755b68b3dbde79b224ab41797a34deeab5c552d 100644 (file)
@@ -16,7 +16,7 @@ const int ZEROOCTAVE=7;
 
 Octave_key::Octave_key()
 {
-    accidental_i_arr_.set_size(7);
+    accidental_i_arr_.set_size (7);
     for (int i= 0; i < 7 ; i++)
        accidental_i_arr_[i] = 0;
 }
@@ -24,32 +24,32 @@ Octave_key::Octave_key()
 Key::Key()
 {
     multi_octave_b_ = false;
-    octaves.set_size(OCTAVES);
+    octaves.set_size (OCTAVES);
 }
 
 Octave_key&
-Key::oct(int i)
+Key::oct (int i)
 {
     return octaves[i+ZEROOCTAVE];    
 }
 
 
 void
-Octave_key::set(int i, int a)
+Octave_key::set (int i, int a)
 {
-    assert(a > -3 && a < 3);
+    assert (a > -3 && a < 3);
     accidental_i_arr_[i]=a;
 }
 
 void
-Key::set(int o, int n , int a)
+Key::set (int o, int n , int a)
 {
-    octaves[o + ZEROOCTAVE].set(n,a);
+    octaves[o + ZEROOCTAVE].set (n,a);
 }
 
 void
 Key::set (int n, int a)
 {
     for (int i= 0; i < OCTAVES ; i++)
-       octaves[i].set(n,a);
+       octaves[i].set (n,a);
 }
index 1e4385f14a5d7f8c420f7f821c8f52bff0ad78a5..4eec8b4f72fe843d5002f645ac4de10f4d4ee944 100644 (file)
@@ -17,20 +17,20 @@ struct Keyword_table
 {
     Keyword_ent *table;
     int     maxkey;
-    Keyword_table(Keyword_ent *);
-    int     lookup(char const *s) const;
+    Keyword_table (Keyword_ent *);
+    int     lookup (char const *s) const;
 };
 
 
 /* for qsort */
 int
-        tabcmp(void const * p1, void const * p2)
+        tabcmp (void const * p1, void const * p2)
 {
-    return strcmp(((Keyword_ent const *) p1)->name,
+    return strcmp (((Keyword_ent const *) p1)->name,
                   ((Keyword_ent const *) p2)->name);
 }
 
-Keyword_table::Keyword_table(Keyword_ent *tab)
+Keyword_table::Keyword_table (Keyword_ent *tab)
 {
     table = tab;
 
@@ -38,14 +38,14 @@ Keyword_table::Keyword_table(Keyword_ent *tab)
     for (maxkey = 0; table[maxkey].name; maxkey++);
 
     /* sort them */
-    qsort(table, maxkey, sizeof(Keyword_ent), tabcmp);
+    qsort (table, maxkey, sizeof (Keyword_ent), tabcmp);
 }
 
 /*
   lookup with binsearch, return tokencode.
 */
 int
-Keyword_table::lookup(char const *s)const
+Keyword_table::lookup (char const *s)const
 {
     int     lo,
             hi,
@@ -59,7 +59,7 @@ Keyword_table::lookup(char const *s)const
     {
         cmp = (lo + hi) / 2;
 
-        result = strcmp(s, table[cmp].name);
+        result = strcmp (s, table[cmp].name);
 
         if (result < 0)
             hi = cmp;
@@ -67,7 +67,7 @@ Keyword_table::lookup(char const *s)const
             lo = cmp;
     }
     while (hi - lo > 1);
-    if (!strcmp(s, table[lo].name))
+    if (!strcmp (s, table[lo].name))
     {
         return table[lo].tokcode;
     } else
index 04dd26bdcc2d6cbf873d3b8d259575852c1c6490..7f274bf4d19ca04ed146666050a12f02e304c70a 100644 (file)
@@ -2,15 +2,15 @@
 void
 Least_squares::OK() const
 {
-    assert( input.size() > 1 );
+    assert (input.size() > 1);
     Real dx = 0.0;
     for (int i=1; i < input.size(); i++)
-       dx += abs (input[i-1].x() - input[i].x());
+       dx += abs (input[i-1].x() - input[i].x ());
 
-    assert(dx);
+    assert (dx);
 }
 void
-Least_squares::minimise(Real &coef, Real &offset)
+Least_squares::minimise (Real &coef, Real &offset)
 {
     OK();
     Real sx = 0.0;
@@ -23,13 +23,13 @@ Least_squares::minimise(Real &coef, Real &offset)
        Real y = input[i].y();
        sx += x;
        sy += y;
-       sqx += sqr(x);
+       sqx += sqr (x);
        sxy += x*y;
     }
     int N = input.size();
     
 
-    coef = (N * sxy - sx*sy )/(N*sqx - sqr(sx));
+    coef = (N * sxy - sx*sy)/(N*sqx - sqr (sx));
     offset = (sy - coef * sx)/N;
        
 }
index 0634e76c4a6dea644f29029efe4f237e0450f206..0372e75e98aa83c0008db3738e98198af95adfa3 100644 (file)
@@ -120,7 +120,7 @@ LYRICS              ({AA}|{NATIONAL})[^0-9 \t\n\f]*
 <incl>\"[^"]*\"   { /* got the include file name */
        String s (YYText()+1);
        s = s.left_str(s.length_i()-1);
-       mtor << "#include `" << s << "\'\n";
+       DOUT << "#include `" << s << "\'\n";
        new_input(s,source_l_g);
        yy_pop_state();
 }
@@ -131,7 +131,7 @@ LYRICS              ({AA}|{NATIONAL})[^0-9 \t\n\f]*
 <notes>{RESTNAME}      {
        const char *s = YYText();
        yylval.string = new String (s); 
-       mtor << "rest:"<< yylval.string;
+       DOUT << "rest:"<< yylval.string;
        return RESTNAME;
 }
 <INITIAL,lyrics,notes>\\\${BLACK}*{WHITE}      {
@@ -198,7 +198,7 @@ LYRICS              ({AA}|{NATIONAL})[^0-9 \t\n\f]*
                *yylval.string += YYText();
        }
        \"      {
-               mtor << "quoted string: `" << *yylval.string << "'\n";
+               DOUT << "quoted string: `" << *yylval.string << "'\n";
                yy_pop_state();
                return STRING;
        }
@@ -228,7 +228,7 @@ LYRICS              ({AA}|{NATIONAL})[^0-9 \t\n\f]*
                        s = s.left_str(i+2) + " " + s.right_str(s.length_i()-i-2);
                        }
                yylval.string = new String(s);
-               mtor << "lyric : `" << s << "'\n";
+               DOUT << "lyric : `" << s << "'\n";
                return STRING;
        }
        . {
@@ -237,7 +237,7 @@ LYRICS              ({AA}|{NATIONAL})[^0-9 \t\n\f]*
 }
 
 <<EOF>> {
-       mtor << "<<eof>>";
+       DOUT << "<<eof>>";
 
        if (! close_input()) { 
          yyterminate(); // can't move this, since it actually rets a YY_NULL
@@ -253,7 +253,7 @@ LYRICS              ({AA}|{NATIONAL})[^0-9 \t\n\f]*
        Real r;
        int cnv=sscanf (YYText(), "%lf", &r);
        assert(cnv == 1);
-       mtor  << "REAL" << r<<'\n';
+       DOUT  << "REAL" << r<<'\n';
        yylval.real = r;
        return REAL;
 }
@@ -265,12 +265,12 @@ LYRICS            ({AA}|{NATIONAL})[^0-9 \t\n\f]*
 
 [{}]   {
 
-       mtor << "parens\n";
+       DOUT << "parens\n";
        return YYText()[0];
 }
 [*:=]          {
        char c = YYText()[0];
-       mtor << "misc char" <<c<<"\n";
+       DOUT << "misc char" <<c<<"\n";
        return c;
 }
 
@@ -320,28 +320,28 @@ My_lily_lexer::pop_state()
 int
 My_lily_lexer::scan_escaped_word(String str)
 {      
-       mtor << "\\word: `" << str<<"'\n";
+       DOUT << "\\word: `" << str<<"'\n";
        int l = lookup_keyword(str);
        if (l != -1) {
-               mtor << "(keyword)\n";
+               DOUT << "(keyword)\n";
                return l;
        }
        Identifier * id = lookup_identifier(str);
        if (id) {
-               mtor << "(identifier)\n";
+               DOUT << "(identifier)\n";
                yylval.id = id;
                return id->token_code_i_;
        }
        if ( YYSTATE != notes ) {
                Melodic_req * mel_l = lookup_melodic_req_l(str);
                if (mel_l) {
-                   mtor << "(notename)\n";
+                   DOUT << "(notename)\n";
                    yylval.melreq = mel_l;
                    return NOTENAME_ID;
                }
        }
        LexerError( "Unknown escaped string: `" + str + "'");   
-       mtor << "(string)";
+       DOUT << "(string)";
        String *sp = new String( str);
        yylval.string=sp;
        return STRING;
@@ -350,11 +350,11 @@ My_lily_lexer::scan_escaped_word(String str)
 int
 My_lily_lexer::scan_bare_word(String str)
 {
-       mtor << "word: `" << str<< "'\n";       
+       DOUT << "word: `" << str<< "'\n";       
        if (YYSTATE == notes){
                Melodic_req * mel_l = lookup_melodic_req_l(str);
                if (mel_l) {
-                   mtor << "(notename)\n";
+                   DOUT << "(notename)\n";
                    yylval.melreq = mel_l;
                    return NOTENAME_ID;
                }
index 2890cd3e8aaebb2443aa3f99bd5a6267b2dab69f..65d8c72548b0e22297963bd5ae6ca5b15c146759 100644 (file)
@@ -11,6 +11,6 @@ char const *
 lily_version_sz()
 {
     static char v[1024];       // ugh
-    sprintf(v, s, build);
+    sprintf (v, s, build);
     return v;
 }
index 3fc21f24728f722afc32eb8d591c8befdbcbdbd2..f023df2e1ad0b1cb2b47f8ff4fc3bb538c690afd 100644 (file)
@@ -19,18 +19,18 @@ Line_group_engraver::Line_group_engraver()
 }
 
 void
-Line_group_engraver::acknowledge_element(Score_elem_info  elem)
+Line_group_engraver::acknowledge_element (Score_elem_info  elem)
 {
-    if ( !elem.elem_l_->axis_group_l_a_[Y_AXIS] )
-       staffline_p_->add_element(elem.elem_l_);
+    if ( !elem.elem_l_->axis_group_l_a_[Y_AXIS])
+       staffline_p_->add_element (elem.elem_l_);
 }
 
 
 void
 Line_group_engraver::do_removal_processing()
 {
-    staffline_p_->right_col_l_ = get_staff_info().command_pcol_l();
-    typeset_element(staffline_p_);
+    staffline_p_->right_col_l_ = get_staff_info().command_pcol_l ();
+    typeset_element (staffline_p_);
     staffline_p_ = 0;
 }
 
@@ -38,10 +38,10 @@ void
 Line_group_engraver::do_creation_processing()
 {
     staffline_p_ = new Vertical_group_spanner ;
-    staffline_p_->left_col_l_ = get_staff_info().command_pcol_l();
+    staffline_p_->left_col_l_ = get_staff_info().command_pcol_l ();
 
     // don't broadcast to self.
-    announce_element(Score_elem_info(staffline_p_,0));
+    announce_element (Score_elem_info (staffline_p_,0));
 }
 
 
index bd474f4d2bb021a9d1a159c026f16943cab05e17..b1e6cb6b903d917ab0f8ac71bb6ef77262b35c9f 100644 (file)
@@ -29,12 +29,12 @@ Local_key_engraver::do_pre_move_processing()
            Item * support_l = support_l_arr_[i];
            Note_req * note_l = mel_l_arr_[i];
 
-           if (tied_l_arr_.find_l(support_l) && 
+           if (tied_l_arr_.find_l (support_l) && 
                !note_l->forceacc_b_)
                continue;
            
-           if!note_l->forceacc_b_ &&
-               local_key_.oct(note_l->octave_i_).acc(note_l->notename_i_)
+           if (!note_l->forceacc_b_ &&
+               local_key_.oct (note_l->octave_i_).acc (note_l->notename_i_)
                == note_l->accidental_i_) 
                continue;
                
@@ -47,21 +47,21 @@ Local_key_engraver::do_pre_move_processing()
                if (inf.c0_position_i_l_)
                    c0_i = *get_staff_info().c0_position_i_l_;  
                
-               key_item_p = new Local_key_item(c0_i);
+               key_item_p = new Local_key_item (c0_i);
            }
-           key_item_p->add(note_l);
-           key_item_p->add_support(support_l);
-           local_key_.oct(note_l->octave_i_)
-               .set(note_l->notename_i_, note_l->accidental_i_);
+           key_item_p->add (note_l);
+           key_item_p->add_support (support_l);
+           local_key_.oct (note_l->octave_i_)
+               .set (note_l->notename_i_, note_l->accidental_i_);
        }
        
     }
     if (key_item_p) {
-       for(int i=0; i < support_l_arr_.size(); i++)
-           key_item_p->add_support(support_l_arr_[i]);
+       for (int i=0; i < support_l_arr_.size(); i++)
+           key_item_p->add_support (support_l_arr_[i]);
        
-       announce_element(Score_elem_info(key_item_p, 0)); // ugh ugh ugh
-       typeset_element(key_item_p);
+       announce_element (Score_elem_info (key_item_p, 0)); // ugh ugh ugh
+       typeset_element (key_item_p);
     }
     
     mel_l_arr_.clear();
@@ -73,30 +73,30 @@ Local_key_engraver::do_pre_move_processing()
   whoah .. this looks hairy!
  */
 void
-Local_key_engraver::acknowledge_element(Score_elem_info info)
+Local_key_engraver::acknowledge_element (Score_elem_info info)
 {    
     Score_elem * elem_l = info.elem_l_;
-    if (info.req_l_->musical() && info.req_l_->musical()->note()) {
-       Note_req * note_l = info.req_l_->musical()->note();
+    if (info.req_l_->musical() && info.req_l_->musical ()->note ()) {
+       Note_req * note_l = info.req_l_->musical()->note ();
        Item * item_l = info.elem_l_->item();
 
-       mel_l_arr_.push(note_l );
-       support_l_arr_.push(item_l);
+       mel_l_arr_.push (note_l);
+       support_l_arr_.push (item_l);
        
     } else if (info.req_l_->command()
-              && info.req_l_->command()->keychange()) { 
+              && info.req_l_->command()->keychange ()) { 
        Key_engraver * key_grav_l =
            (Key_engraver*)info.origin_grav_l_arr_[0];
        key_C_ = &key_grav_l->key_;
        local_key_ = *key_C_;
-    } else if (elem_l->name() == Key_item::static_name()) {
+    } else if (elem_l->name() == Key_item::static_name ()) {
        Key_engraver * key_grav_l =
            (Key_engraver*)info.origin_grav_l_arr_[0];
        key_C_ = &key_grav_l->key_;
-    } else if (elem_l->name() == Tie::static_name()) {
+    } else if (elem_l->name() == Tie::static_name ()) {
        Tie * tie_l = (Tie*)elem_l->spanner();
        if (tie_l->same_pitch_b_)
-           tied_l_arr_.push(tie_l-> right_head_l_ );
+           tied_l_arr_.push (tie_l-> right_head_l_);
     }
 }
 
index 6f84c2d40dfd28bd38621443dde879d424d1c961..51464e9eb65ead5149e022b0d7bb6e95e3e497c6 100644 (file)
 
 
 
-Local_key_item::Local_key_item(int i)
+Local_key_item::Local_key_item (int i)
 {
     c0_position  = i;
 }
 
 void
-Local_key_item::add_support(Item*head_l)
+Local_key_item::add_support (Item*head_l)
 {
-    support_items_.push(head_l);
-    add_dependency(head_l);
+    support_items_.push (head_l);
+    add_dependency (head_l);
 }
 
 void
-Local_key_item::add(Melodic_req*m_l)
+Local_key_item::add (Melodic_req*m_l)
 {
-    add(m_l->octave_i_, m_l->notename_i_, m_l->accidental_i_);
+    add (m_l->octave_i_, m_l->notename_i_, m_l->accidental_i_);
 }
 
 void
@@ -43,16 +43,16 @@ Local_key_item::add (int o, int p , int a)
     l.name_i_ = p;
     l.accidental_i_ = a;
     for (int i=0; i< accs.size(); i++)
-       if (!Local_acc::compare(l, accs[i]))
+       if (!Local_acc::compare (l, accs[i]))
            return;
     
-    accs.push(l);
+    accs.push (l);
 }
 
 void
 Local_key_item::do_pre_processing()
 {
-    accs.sort(Local_acc::compare);
+    accs.sort (Local_acc::compare);
 }
 
 Molecule*
@@ -65,37 +65,37 @@ Local_key_item::brew_molecule_p()const
        // do one octave
        if (accs[i].octave_i_ != lastoct) {
            if (octmol){
-               Real dy =lastoct*7*paper()->internote_f();
-               octmol->translatedy, Y_AXIS);
-               output->add(*octmol);
+               Real dy =lastoct*7*paper()->internote_f ();
+               octmol->translate (dy, Y_AXIS);
+               output->add (*octmol);
                delete octmol;
            }
            octmol= new Molecule;
        }
        lastoct = accs[i].octave_i_;
-       Symbol s =paper()->lookup_l()->accidental(accs[i].accidental_i_);   
-       Atom a(s);
-       Real dy = (accs[i].name_i_ + c0_position) * paper()->internote_f();
-       a.translate(dy, Y_AXIS);
+       Symbol s =paper()->lookup_l ()->accidental (accs[i].accidental_i_);   
+       Atom a (s);
+       Real dy = (accs[i].name_i_ + c0_position) * paper()->internote_f ();
+       a.translate (dy, Y_AXIS);
 
-       octmol->add_right(a);
+       octmol->add_right (a);
     }
 
     if (octmol){
-       Real dy =lastoct*7*paper()->internote_f();
-       octmol->translatedy, Y_AXIS);
-       output->add(*octmol);
+       Real dy =lastoct*7*paper()->internote_f ();
+       octmol->translate (dy, Y_AXIS);
+       output->add (*octmol);
        delete octmol;
     }
 
-    Interval head_width=itemlist_width(support_items_);
-    output->translate(-output->extent().x().right + head_width.left , X_AXIS);
+    Interval head_width=itemlist_width (support_items_);
+    output->translate (-output->extent().x ().right + head_width.left , X_AXIS);
     
     return output;
 }
 
 int
-Local_acc::compare(Local_acc&a, Local_acc&b)
+Local_acc::compare (Local_acc&a, Local_acc&b)
 {
     if (a.octave_i_ - b.octave_i_)
        return a.octave_i_ - b.octave_i_;
@@ -108,10 +108,10 @@ Local_acc::compare(Local_acc&a, Local_acc&b)
 IMPLEMENT_IS_TYPE_B1(Local_key_item,Item);
 
 void
-Local_key_item::do_substitute_dependency(Score_elem*o,Score_elem*n)
+Local_key_item::do_substitute_dependency (Score_elem*o,Score_elem*n)
 {
     Item* o_l = o->item();
     Item* n_l = n?n->item():0;
 
-    support_items_.substitute(o_l, n_l);
+    support_items_.substitute (o_l, n_l);
 }
index e51a3e8b89498e103e2406abe7bc8f18f08f39fa..6cdf8356048a416e8105f717123e8bcfec2df9fc 100644 (file)
@@ -27,11 +27,11 @@ Lookup::Lookup()
     symtables_ = new Symtables;
 }
 
-Lookup::Lookup(Lookup const &s)
+Lookup::Lookup (Lookup const &s)
 {
     paper_l_ = s.paper_l_;
     texsetting = s.texsetting;
-    symtables_ = new Symtables(*s.symtables_);
+    symtables_ = new Symtables (*s.symtables_);
 }
 Lookup::~Lookup()
 {
@@ -39,32 +39,32 @@ Lookup::~Lookup()
 }
 
 void
-Lookup::add(String s, Symtable*p)
+Lookup::add (String s, Symtable*p)
 {
-    symtables_->add(s, p);
+    symtables_->add (s, p);
 }
 
 void
 Lookup::print()const
 {
     #ifndef NPRINT
-    mtor << "Lookup: " << texsetting << " {\n";
+    DOUT << "Lookup: " << texsetting << " {\n";
     symtables_->print();
-    mtor << "}\n";
+    DOUT << "}\n";
     #endif
 }
 
 Symbol
-Lookup::text(String style, String text, int dir) const
+Lookup::text (String style, String text, int dir) const
 {
     Array<String> a;
  
-    a.push(text);
-    Symbol tsym =  (*symtables_)("style")->lookup(style);
-    a[0] = substitute_args(tsym.tex,a);
+    a.push (text);
+    Symbol tsym =  (*symtables_)("style")->lookup (style);
+    a[0] = substitute_args (tsym.tex,a);
 
-    Symbol s = (*symtables_)("align")->lookup(dir);
-    s.tex = substitute_args(s.tex,a);
+    Symbol s = (*symtables_)("align")->lookup (dir);
+    s.tex = substitute_args (s.tex,a);
     s.dim = tsym.dim;
     return s;
 }
@@ -72,85 +72,85 @@ Lookup::text(String style, String text, int dir) const
 
 
 Symbol
-Lookup::ball(int j) const
+Lookup::ball (int j) const
 {
     if (j > 4)
        j = 4;
 
     Symtable * st = (*symtables_)("balls");
-    return st->lookup(String(j));
+    return st->lookup (String (j));
 }
 
 Symbol
-Lookup::rest(int j, bool o) const
+Lookup::rest (int j, bool o) const
 {
-    return (*symtables_)("rests")->lookup(String(j) + (o ? "o" : "") );
+    return (*symtables_)("rests")->lookup (String (j) + (o ? "o" : ""));
 }
 
 Symbol
-Lookup::fill(Box b) const
+Lookup::fill (Box b) const
 {
-    Symbol s( (*symtables_)("param")->lookup("fill"));
+    Symbol s ((*symtables_)("param")->lookup ("fill"));
     s.dim = b;
     return s;
 }
 
 Symbol
-Lookup::accidental(int j) const
+Lookup::accidental (int j) const
 {
-    return (*symtables_)("accidentals")->lookup(String(j));
+    return (*symtables_)("accidentals")->lookup (String (j));
 }
 
 
 Symbol
-Lookup::bar(String s, Real h) const
+Lookup::bar (String s, Real h) const
 {
     Array<String> a;
-    a.push(print_dimen( h));
-    Symbol ret=(*symtables_)("bars")->lookup(s);;
-    ret.tex = substitute_args(ret.tex, a);
-    ret.dim.y() = Interval0, h);
+    a.push (print_dimen (h));
+    Symbol ret=(*symtables_)("bars")->lookup (s);;
+    ret.tex = substitute_args (ret.tex, a);
+    ret.dim.y() = Interval (0, h);
     return ret;
 }
 
 Symbol
-Lookup::script(String s) const
+Lookup::script (String s) const
 {
-    return (*symtables_)("scripts")->lookup(s);
+    return (*symtables_)("scripts")->lookup (s);
 }
 
 Symbol
-Lookup::dynamic(String s) const
+Lookup::dynamic (String s) const
 {
-    return (*symtables_)("dynamics")->lookup(s);
+    return (*symtables_)("dynamics")->lookup (s);
 }
 
 Symbol
-Lookup::clef(String s) const
+Lookup::clef (String s) const
 {
-    return (*symtables_)("clefs")->lookup(s);
+    return (*symtables_)("clefs")->lookup (s);
 }
  
 Symbol
-Lookup::dots(int j) const
+Lookup::dots (int j) const
 {
     if (j>3) {
        j = 3;
-       warning("max 3 dots");  // todo
+       warning ("max 3 dots"); // todo
     }
-    return (*symtables_)("dots")->lookup(j);
+    return (*symtables_)("dots")->lookup (j);
 }
 
 Symbol
-Lookup::flag(int j) const
+Lookup::flag (int j) const
 {
-    return (*symtables_)("flags")->lookup(j);
+    return (*symtables_)("flags")->lookup (j);
 }
 
 Symbol
-Lookup::streepjes(int i) const
+Lookup::streepjes (int i) const
 {
-    assert(i);
+    assert (i);
     
     int arg;
     String idx;
@@ -162,64 +162,64 @@ Lookup::streepjes(int i) const
        arg = i;
        idx = "toplines";
     }
-    Symbol ret = (*symtables_)("streepjes")->lookup(idx);
+    Symbol ret = (*symtables_)("streepjes")->lookup (idx);
     
     Array<String> a;
-    a.push(arg);
-    ret.tex = substitute_args(ret.tex, a);
+    a.push (arg);
+    ret.tex = substitute_args (ret.tex, a);
 
     return ret;
 }
 
 Symbol
-Lookup::hairpin(Real &wid, bool decresc) const
+Lookup::hairpin (Real &wid, bool decresc) const
 {
-    int idx = int(rint(wid / 6 PT));
-    if(!idx) idx ++;
+    int idx = int (rint (wid / 6 PT));
+    if (!idx) idx ++;
     wid = idx*6 PT;
     String idxstr = (decresc)? "decrescendosym" : "crescendosym";
-    Symbol ret=(*symtables_)("param")->lookup(idxstr);
+    Symbol ret=(*symtables_)("param")->lookup (idxstr);
        
     Array<String> a;
-    a.push(idx);
-    ret.tex = substitute_args(ret.tex, a);
-    ret.dim.x() = Interval(0,wid);
+    a.push (idx);
+    ret.tex = substitute_args (ret.tex, a);
+    ret.dim.x() = Interval (0,wid);
     return ret;
 }
 
 Symbol
-Lookup::linestaff(int lines, Real wid) const
+Lookup::linestaff (int lines, Real wid) const
 {
     Real internote_f = paper_l_ ->internote_f();
     Symbol s;
     Real dy = (lines >0) ? (lines-1)*internote_f : 0;
-    s.dim = Box(Interval(0,wid), Interval(0,dy));
+    s.dim = Box (Interval (0,wid), Interval (0,dy));
 
     Array<String> a;
-    a.push(lines);
-    a.push(print_dimen(wid));
+    a.push (lines);
+    a.push (print_dimen (wid));
 
-    s.tex = (*symtables_)("param")->lookup("linestaf").tex;
-    s.tex = substitute_args(s.tex, a);
+    s.tex = (*symtables_)("param")->lookup ("linestaf").tex;
+    s.tex = substitute_args (s.tex, a);
 
     return s;
 }
 
 
 Symbol
-Lookup::meter(Array<Scalar> a) const
+Lookup::meter (Array<Scalar> a) const
 {
     Symbol s;
-    s.dim.x() = Interval0 PT, 10 PT);
-    s.dim.y() = Interval(0, 20 PT);    // todo
-    String src = (*symtables_)("param")->lookup("meter").tex;
-    s.tex = substitute_args(src,a);
+    s.dim.x() = Interval (0 PT, 10 PT);
+    s.dim.y() = Interval (0, 20 PT);   // todo
+    String src = (*symtables_)("param")->lookup ("meter").tex;
+    s.tex = substitute_args (src,a);
     return s;    
 }
 
 
 Symbol
-Lookup::stem(Real y1,Real y2) const
+Lookup::stem (Real y1,Real y2) const
 {
     if (y1 > y2) {
        Real t = y1;
@@ -228,15 +228,15 @@ Lookup::stem(Real y1,Real y2) const
     }
     Symbol s;
     
-    s.dim.x() = Interval(0,0);
-    s.dim.y() = Interval(y1,y2);
+    s.dim.x() = Interval (0,0);
+    s.dim.y() = Interval (y1,y2);
     
     Array<String> a;
-    a.push(print_dimen(y1));
-    a.push(print_dimen(y2));
+    a.push (print_dimen (y1));
+    a.push (print_dimen (y2));
        
-    String src = (*symtables_)("param")->lookup("stem").tex;
-    s.tex = substitute_args(src,a);
+    String src = (*symtables_)("param")->lookup ("stem").tex;
+    s.tex = substitute_args (src,a);
     return s;
 }
 
@@ -244,32 +244,32 @@ Lookup::stem(Real y1,Real y2) const
   should be handled via TeX code and Lookup::bar()
  */
 Symbol
-Lookup::vbrace(Real &y) const
+Lookup::vbrace (Real &y) const
 {
     if (y < 2* 20 PT) {
-       warning ( "piano brace too small (" + print_dimen(y)+ ")");
+       warning ( "piano brace too small (" + print_dimen (y)+ ")");
        y = 2*20 PT;
     }
     if (y > 67 * 2 PT) {
-       warning ( "piano brace too big (" + print_dimen(y)+ ")");       
+       warning ( "piano brace too big (" + print_dimen (y)+ ")");      
        y = 67 *2 PT;
     }
     
-    int idx = int(rint((y/2.0 - 20 ) + 148));
+    int idx = int (rint ((y/2.0 - 20) + 148));
     
-    Symbol s = (*symtables_)("param")->lookup("brace");
+    Symbol s = (*symtables_)("param")->lookup ("brace");
     {
        Array<String> a;
-       a.push(idx);
-       s.tex = substitute_args(s.tex,a);
-       s.dim.y() = Interval(0,y);
+       a.push (idx);
+       s.tex = substitute_args (s.tex,a);
+       s.dim.y() = Interval (0,y);
     }
     {
        Array<String> a;
-       a.push(print_dimen( y/2 ));
-       a.push(print_dimen(0));
-       a.push(s.tex);
-       s.tex = substitute_args("\\placebox{%}{%}{%}", a);
+       a.push (print_dimen (y/2));
+       a.push (print_dimen (0));
+       a.push (s.tex);
+       s.tex = substitute_args ("\\placebox{%}{%}{%}", a);
     }
 
        
index 0ab6b7920447fa9c96922c5db4b8cd36718de680..c4a09ac34ccf9dd9736a657c3a83c8b3dbe8e6d3 100644 (file)
@@ -20,7 +20,7 @@ Lyric_engraver::Lyric_engraver()
 }
 
 bool
-Lyric_engraver::do_try_request(Request*r)
+Lyric_engraver::do_try_request (Request*r)
 {
     Musical_req * m =r->musical();
     if (!m || ! m->lreq_l()) 
@@ -33,13 +33,13 @@ Lyric_engraver::do_try_request(Request*r)
 void
 Lyric_engraver::do_process_requests()
 {
-    if ( lreq_l_ ) {  
-       lyric_item_p_ =  new Text_item(lreq_l_->tdef_p_ );
+    if ( lreq_l_) {  
+       lyric_item_p_ =  new Text_item (lreq_l_->tdef_p_);
 
-       lyric_item_p_->translate( paper()->note_width()/2 , X_AXIS);
+       lyric_item_p_->translate (paper()->note_width ()/2 , X_AXIS);
        lyric_item_p_->dir_i_ = -1;
        lyric_item_p_->fat_b_ = true;
-       announce_element( Score_elem_info( lyric_item_p_, lreq_l_));
+       announce_element (Score_elem_info (lyric_item_p_, lreq_l_));
     }
 }
 
@@ -52,8 +52,8 @@ Lyric_engraver::do_post_move_processing()
 void
 Lyric_engraver::do_pre_move_processing()
 {
-    if ( lyric_item_p_ ){
-       typeset_elementlyric_item_p_);
+    if ( lyric_item_p_){
+       typeset_element (lyric_item_p_);
        lyric_item_p_ =0;
     }
 }
index 248f8a83bb692bcb01f6a72c2cda30420fa5efee..b44093939320926ae04323dd74abccffd68407da 100644 (file)
@@ -28,7 +28,7 @@ void
 Lyric_performer::do_print() const
 {
 #ifndef NPRINT
-    if ( lreq_arr_.size() )
+    if ( lreq_arr_.size())
        lreq_arr_[ 0 ]->print();
 #endif
 }
@@ -36,18 +36,18 @@ Lyric_performer::do_print() const
 void
 Lyric_performer::process_requests()
 {
-    if ( lreq_arr_.size() && lreq_arr_[ 0 ]->tdef_p_->text_str_.length_i() )
-       play( new Audio_text( Audio_text::LYRIC, lreq_arr_[ 0 ]->tdef_p_->text_str_ ) );
+    if ( lreq_arr_.size())
+       play (new Audio_text (Audio_text::LYRIC, lreq_arr_[ 0 ]->tdef_p_->text_str_) );
     lreq_arr_.clear();
 }
 
 bool
-Lyric_performer::do_try_request( Request* req_l )
+Lyric_performer::do_try_request (Request* req_l)
 {
     Musical_req* m_l = req_l->musical();
-    if ( !m_l || ! m_l->lreq_l() 
+    if ( !m_l || ! m_l->lreq_l()) 
        return false;
-    lreq_arr_.push( m_l->lreq_l() );
+    lreq_arr_.push (m_l->lreq_l());
 
     return true;
 }
index eff3d6cc811f3244dd57a039a9284ffb18264adc..a32b0a6a866602ec88c60ccb30bb4091400ac348 100644 (file)
@@ -25,7 +25,7 @@ bool only_midi = false;
 bool version_ignore_b_ = false;
 int exit_status_i_;
 
-void destill_innameString &name_str_r);
+void destill_inname (String &name_str_r);
 
 Long_option_init theopts[] = {
     {1, "output", 'o'},
@@ -104,24 +104,24 @@ notice()
 static File_path path;
 
 void
-do_one_file(String init_str, String file_str)
+do_one_file (String init_str, String file_str)
 {
-    if ( init_str != "" && "" == path.find( init_str ) ) {
+    if ( init_str != "" && "" == path.find (init_str) ) {
        error ( "Can not find `" + init_str +"\'");
        return ;
     }
-    if ( file_str!= "" && path.find( file_str ) == "" ) {
+    if ( file_str!= "" && path.find (file_str) == "" ) {
        error ( "Can not find `" + file_str + "'");
        return ;
     }
     
     Sources sources;
     source_l_g = &sources; 
-    source_l_g->set_path(&path);
+    source_l_g->set_path (&path);
     {
-       My_lily_parser parser(source_l_g);
-       parser.set_version_check(version_ignore_b_);
-       parser.parse_file(init_str, file_str);
+       My_lily_parser parser (source_l_g);
+       parser.set_version_check (version_ignore_b_);
+       parser.parse_file (init_str, file_str);
     }
     do_scores();
     source_l_g = 0;
@@ -134,63 +134,63 @@ main (int argc, char **argv)
 
 
     // must override (come before) "/usr/local/share/lilypond"!
-    char const * env_l=getenv("LILYINCLUDE");
+    char const * env_l=getenv ("LILYINCLUDE");
     if (env_l) {
-       path.add(env_l);
+       path.add (env_l);
     }
-    path.add( "" );
-    path.add( String( DIR_DATADIR ) + "/init/" );
+    path.add ("");
+    path.add (String (DIR_DATADIR) + "/init/" );
     
-    path.push(DIR_DATADIR );
+    path.push (DIR_DATADIR);
 
-    Getopt_long oparser(argc, argv,theopts);
+    Getopt_long oparser (argc, argv,theopts);
     cout << get_version_str() << endl;
-    String init_str("symbol.ly");
+    String init_str ("symbol.ly");
     
     while (Long_option_init const * opt = oparser()) {
        switch ( opt->shortname){
        case 'o':
-           set_default_output(oparser.optional_argument_ch_C_);
+           set_default_output (oparser.optional_argument_ch_C_);
            break;
        case 'w':
            notice();
-           exit(0);
+           exit (0);
            break;
        case 'I':
-           path.push(oparser.optional_argument_ch_C_);
+           path.push (oparser.optional_argument_ch_C_);
            break;
        case 'i':
            init_str = oparser.optional_argument_ch_C_;
            break;
        case 'h':
            usage();
-           exit(0);
+           exit (0);
            break;
        case 'V':
            version_ignore_b_ = true;
            break;
        case 'd':
-           set_debug(true);
+           set_debug (true);
            break;
        case 'M':
            only_midi = true;
            break;
        default:
-           assert(false);
+           assert (false);
            break;
        }
     }
 
     int p=0;
     const char *arg ;
-    while ( (arg= oparser.get_next_arg()) ) {
-       String f(arg);
-       destill_inname(f);
-       do_one_file(init_str,f);
+    while ( (arg= oparser.get_next_arg())) {
+       String f (arg);
+       destill_inname (f);
+       do_one_file (init_str,f);
        p++;
     }
     if (!p) {
-       do_one_file(init_str, "");      
+       do_one_file (init_str, "");     
     }
 
     return exit_status_i_;
@@ -198,14 +198,14 @@ main (int argc, char **argv)
 
 /// make input file name: add default extension. "" is stdin.
 void
-destill_innameString &name_str_r)
+destill_inname (String &name_str_r)
 {
-    if ( name_str_r.length_i() )
+    if ( name_str_r.length_i())
         {
-        if( name_str_r[ 0 ] != '-' 
+        if (name_str_r[ 0 ] != '-'
            {
            String a,b,c,d;
-           split_path(name_str_r,a,b,c,d);
+           split_path (name_str_r,a,b,c,d);
 
            // add extension if not present.
            if (d == "") 
index d65e5cfae28770ddee958b64f2d77eaaea3fc75f..eff12b4a6c366c1f90f15b60d8ae1f8b2704c6e0 100644 (file)
@@ -15,57 +15,57 @@ Meter_engraver::Meter_engraver()
 { 
     meter_req_l_ = 0;
     meter_p_ =0;
-    default_grouping_ = Rhythmic_grouping(MInterval(0,4),4); // ugh
+    default_grouping_ = Rhythmic_grouping (MInterval (0,4),4); // ugh
 }
 
 void
-Meter_engraver::fill_staff_info(Staff_info&inf)
+Meter_engraver::fill_staff_info (Staff_info&inf)
 {
     inf.time_C_ = &time_;
     inf.rhythmic_C_ = &default_grouping_;
 }
 
 bool
-Meter_engraver::do_try_request(Request*r)
+Meter_engraver::do_try_request (Request*r)
 {
     bool gotcha = false;
 
-    if (r->command() && r->command()->timing()) {
+    if (r->command() && r->command ()->timing ()) {
        gotcha = true;
-       Timing_req * tr_l = r->command()->timing();
+       Timing_req * tr_l = r->command()->timing ();
        Meter_change_req *m_l = tr_l->meterchange();
        if (m_l) {
            meter_req_l_ = m_l;
 
            int b_i= m_l->beats_i_;
            int o_i = m_l->one_beat_i_;
-           if (! time_.allow_meter_change_b() )
-               tr_l->warning("Meter change not allowed here");
+           if (! time_.allow_meter_change_b())
+               tr_l->warning ("Meter change not allowed here");
            else{
-               time_.set_meter(b_i, o_i);
+               time_.set_meter (b_i, o_i);
                default_grouping_ = 
-                   Rhythmic_grouping(MInterval(0,Moment(b_i, o_i)), b_i);
+                   Rhythmic_grouping (MInterval (0,Moment (b_i, o_i)), b_i);
            }
        } else if (tr_l->partial()) {
            Moment m = tr_l->partial()->duration_;
-           String error = time_.try_set_partial_str(m);
+           String error = time_.try_set_partial_str (m);
            if (error != "") {
-               tr_l->warning(error);
+               tr_l->warning (error);
            } else 
-               time_.setpartial(m);
+               time_.setpartial (m);
        } else if (tr_l->barcheck()) {
            if (time_.whole_in_measure_) {
-               tr_l ->warning"Barcheck failed");
+               tr_l ->warning ("Barcheck failed");
            
                time_.whole_in_measure_ = 0; // resync
                time_.error_b_ = true;
            }
 
        } else if (tr_l->cadenza()) {
-           time_.set_cadenza(tr_l->cadenza()->on_b_);
+           time_.set_cadenza (tr_l->cadenza()->on_b_);
 
        } else if (tr_l->measuregrouping()) {
-           default_grouping_ = parse_grouping(
+           default_grouping_ = parse_grouping (
                    tr_l->measuregrouping()->beat_i_arr_,
                    tr_l->measuregrouping()->elt_length_arr_);
 
@@ -78,29 +78,29 @@ Meter_engraver::do_try_request(Request*r)
 void
 Meter_engraver::do_creation_processing()
 {
-    time_.when_ = get_staff_info().when();
+    time_.when_ = get_staff_info().when ();
 }
 
 void
 Meter_engraver::do_process_requests()
 {
-    if (meter_req_l_ ) {
+    if (meter_req_l_) {
        Array<Scalar> args;
-       args.push(meter_req_l_->beats_i_);
-       args.push(meter_req_l_->one_beat_i_);
+       args.push (meter_req_l_->beats_i_);
+       args.push (meter_req_l_->one_beat_i_);
        
-       meter_p_ = new Meter(args);
+       meter_p_ = new Meter (args);
     }
 
     if (meter_p_)
-       announce_element(Score_elem_info(meter_p_, meter_req_l_) );
+       announce_element (Score_elem_info (meter_p_, meter_req_l_));
 }
 
 void
 Meter_engraver::do_pre_move_processing()
 {
     if (meter_p_) {
-       typeset_element(meter_p_);
+       typeset_element (meter_p_);
        meter_p_ =0;
        meter_req_l_ = 0;
     }
@@ -110,15 +110,15 @@ Meter_engraver::do_pre_move_processing()
        grav_l = grav_l->daddy_grav_l_;
     }
     
-    assert( grav_l->name() == Score_engraver::static_name());
+    assert (grav_l->name() == Score_engraver::static_name ());
     if (!time_.cadenza_b_)
-       ((Score_engraver*)grav_l)->add_moment_to_processtime_.next_bar_moment());
+       ((Score_engraver*)grav_l)->add_moment_to_process (time_.next_bar_moment());
 }
 
 void
 Meter_engraver::do_post_move_processing()
 {
-    time_.add( get_staff_info().when()  - time_.when_ );
+    time_.add (get_staff_info().when ()  - time_.when_);
 }
 
 
index 9a3d75c83c7f9ba383dbacf1178b65edfde03fff..6d6d1ee4a9b5f713cafc80eeb3cd757e51dbdfa1 100644 (file)
@@ -26,7 +26,7 @@ void
 Meter_performer::do_print() const
 {
 #ifndef NPRINT
-    if ( meter_req_l_ )
+    if ( meter_req_l_)
        meter_req_l_->print();
 #endif
 }
@@ -34,21 +34,21 @@ Meter_performer::do_print() const
 void
 Meter_performer::process_requests()
 {
-    if ( meter_req_l_ )
-       play( new Audio_meter( meter_req_l_ ) );
+    if ( meter_req_l_)
+       play (new Audio_meter (meter_req_l_) );
     meter_req_l_ = 0;
 }
 
 bool
-Meter_performer::do_try_request( Request* req_l )
+Meter_performer::do_try_request (Request* req_l)
 {
-    if ( meter_req_l_ )
+    if ( meter_req_l_)
        return false;
 
-    if ( req_l->command() )
-       meter_req_l_ = req_l->command()->meterchange();
+    if ( req_l->command())
+       meter_req_l_ = req_l->command()->meterchange ();
 
-    if ( meter_req_l_ )
+    if ( meter_req_l_)
        return true;
 
     return false;
index 6c74a1edbff82297034b458d27c2c1bc18053668..dc7efa3a5cec8eb1e0f1481feac598bd44c082cc 100644 (file)
@@ -4,8 +4,8 @@
 #include "paper-def.hh"
 #include "lookup.hh"
 
-Meter::Meter(Array<Scalar>a)
-    :args(a)
+Meter::Meter (Array<Scalar>a)
+    :args (a)
 {
     breakable_b_ = true;
 }
@@ -13,8 +13,8 @@ Meter::Meter(Array<Scalar>a)
 Molecule*
 Meter::brew_molecule_p()const
 {
-    Symbol s = paper()->lookup_l()->meter(args);
-    return new Molecule(Atom(s));
+    Symbol s = paper()->lookup_l ()->meter (args);
+    return new Molecule (Atom (s));
 }
 
 
index 800c1e9cd17169d2b813f583c94f56b20f2e0685..95b3e25b0c49a665f35471b63567113cdf85967b 100644 (file)
@@ -32,13 +32,13 @@ Midi_def::Midi_def()
     outfile_str_ = ""; 
     itrans_p_ = 0;
     // ugh
-    set_tempo( Moment( 1, 4 ), 60 );
+    set_tempo (Moment (1, 4), 60 );
 }
 
-Midi_def::Midi_def( Midi_def const& s )
+Midi_def::Midi_def (Midi_def const& s)
 {
     whole_seconds_f_ = s.whole_seconds_f_;
-    itrans_p_ = s.itrans_p_ ? new Input_translator( *s.itrans_p_ ) : 0;
+    itrans_p_ = s.itrans_p_ ? new Input_translator (*s.itrans_p_) : 0;
     outfile_str_ = s.outfile_str_;
 }
 
@@ -48,47 +48,47 @@ Midi_def::~Midi_def()
 }
 
 Real
-Midi_def::duration_to_seconds_f( Moment mom )
+Midi_def::duration_to_seconds_f (Moment mom)
 {
-    if ( !mom )
+    if ( !mom)
        return 0;
     
-    return Moment( whole_seconds_f_ ) * mom;
+    return Moment (whole_seconds_f_) * mom;
 }
 
 Global_translator*
 Midi_def::get_global_translator_p() const
 {
-    return  itrans_p_->get_group_performer_p()->global_l();
+    return  itrans_p_->get_group_performer_p()->global_l ();
 }
 
 int
-Midi_def::get_tempo_i( Moment moment )
+Midi_def::get_tempo_i (Moment moment)
 {
-    return Moment( whole_seconds_f_ ) * Moment( 60 ) * moment;
+    return Moment (whole_seconds_f_) * Moment (60 ) * moment;
 }
 
 void
 Midi_def::print() const
 {
 #ifndef NPRINT
-    mtor << "Midi {";
-    mtor << "4/min: " << Real( 60 ) / ( whole_seconds_f_ * 4 );
-    mtor << "out: " << outfile_str_;
-    mtor << "}\n";
+    DOUT << "Midi {";
+    DOUT << "4/min: " << Real (60) / ( whole_seconds_f_ * 4 );
+    DOUT << "out: " << outfile_str_;
+    DOUT << "}\n";
 #endif
 }
 
 void
-Midi_def::set( Input_translator* itrans_p )
+Midi_def::set (Input_translator* itrans_p)
 {
     delete itrans_p_;
     itrans_p_ = itrans_p;
 }
 
 void
-Midi_def::set_tempo( Moment moment, int count_per_minute_i )
+Midi_def::set_tempo (Moment moment, int count_per_minute_i)
 {
-    whole_seconds_f_ = Moment( count_per_minute_i ) / Moment( 60 ) / moment;
+    whole_seconds_f_ = Moment (count_per_minute_i) / Moment (60 ) / moment;
 }
 
index 53248be2631e13b350f8175c82bbdc08911cdd00..999a45d0c660040b29fef938b006423290cb7deb 100644 (file)
@@ -32,18 +32,18 @@ IMPLEMENT_IS_TYPE_B1(Midi_text, Midi_item);
 IMPLEMENT_IS_TYPE_B1(Midi_track, Midi_chunk);
 
 Midi_chunk::Midi_chunk()
-    : Midi_item( 0 )
+    : Midi_item (0)
 {
 }
 
 void
-Midi_chunk::add( String str )
+Midi_chunk::add (String str)
 {
     data_str_ += str;
 }
 
 void
-Midi_chunk::set( String header_str, String data_str, String footer_str )
+Midi_chunk::set (String header_str, String data_str, String footer_str)
 {
     data_str_ = data_str;
     footer_str_ = footer_str;
@@ -54,16 +54,16 @@ String
 Midi_chunk::str() const
 {
     String str = header_str_;
-    String length_str = String_convert::i2hex_str( data_str_.length_i() + footer_str_.length_i(), 8, '0' );
-    length_str = String_convert::hex2bin_str( length_str );
+    String length_str = String_convert::i2hex_str (data_str_.length_i() + footer_str_.length_i (), 8, '0');
+    length_str = String_convert::hex2bin_str (length_str);
     str += length_str;
     str += data_str_;
     str += footer_str_;
     return str;
 }
 
-Midi_duration::Midi_duration( Real seconds_f )
-    : Midi_item( 0 )
+Midi_duration::Midi_duration (Real seconds_f)
+    : Midi_item (0)
 {
     seconds_f_ = seconds_f;
 }
@@ -71,24 +71,24 @@ Midi_duration::Midi_duration( Real seconds_f )
 String
 Midi_duration::str() const
 {
-    return String( "<duration: " ) + String( seconds_f_ ) + ">";
+    return String ("<duration: ") + String (seconds_f_ ) + ">";
 }
 
-Midi_header::Midi_header( int format_i, int tracks_i, int clocks_per_4_i )
+Midi_header::Midi_header (int format_i, int tracks_i, int clocks_per_4_i)
     : Midi_chunk()
 {
     String str;
        
-    String format_str = String_convert::i2hex_str( format_i, 4, '0' );
-    str += String_convert::hex2bin_str( format_str );
+    String format_str = String_convert::i2hex_str (format_i, 4, '0');
+    str += String_convert::hex2bin_str (format_str);
        
-    String tracks_str = String_convert::i2hex_str( tracks_i, 4, '0' );
-    str += String_convert::hex2bin_str( tracks_str );
+    String tracks_str = String_convert::i2hex_str (tracks_i, 4, '0');
+    str += String_convert::hex2bin_str (tracks_str);
 
-    String tempo_str = String_convert::i2hex_str( clocks_per_4_i, 4, '0' );
-    str += String_convert::hex2bin_str( tempo_str );
+    String tempo_str = String_convert::i2hex_str (clocks_per_4_i, 4, '0');
+    str += String_convert::hex2bin_str (tempo_str);
 
-    set( "MThd", str, "" );
+    set ("MThd", str, "");
 }
 
 char const* const instrument_name_sz_a_[ ] = {
@@ -127,19 +127,19 @@ char const* const instrument_name_sz_a_[ ] = {
  /* 24 */ "tango accordian",
 
  /* (25-32 guitar) */
- /* 25 */ "acoustic guitar(nylon)",
- /* 26 */ "acoustic guitar(steel)",
- /* 27 */ "electric guitar(jazz)",
- /* 28 */ "electric guitar(clean)",
- /* 29 */ "electric guitar(muted)",
+ /* 25 */ "acoustic guitar (nylon)",
+ /* 26 */ "acoustic guitar (steel)",
+ /* 27 */ "electric guitar (jazz)",
+ /* 28 */ "electric guitar (clean)",
+ /* 29 */ "electric guitar (muted)",
  /* 30 */ "overdriven guitar",
  /* 31 */ "distortion guitar",
  /* 32 */ "guitar harmonics",
 
  /* (33-40 bass) */
  /* 33 */ "acoustic bass",
- /* 34 */ "electric bass(finger)",
- /* 35 */ "electric bass(pick)",
+ /* 34 */ "electric bass (finger)",
+ /* 35 */ "electric bass (pick)",
  /* 36 */ "fretless bass",
  /* 37 */ "slap bass 1",
  /* 38 */ "slap bass 2",
@@ -258,8 +258,8 @@ char const* const instrument_name_sz_a_[ ] = {
         0
 }; 
 
-Midi_instrument::Midi_instrument( int channel_i, String instrument_str )
-    : Midi_item( 0 )
+Midi_instrument::Midi_instrument (int channel_i, String instrument_str)
+    : Midi_item (0)
 {
     instrument_str_ = instrument_str;
     instrument_str_.to_lower();
@@ -270,46 +270,46 @@ String
 Midi_instrument::str() const
 {
     Byte program_byte = 0;
-    for ( int i = 0; instrument_name_sz_a_[i]; i++ )
-       if ( instrument_str_ == String(instrument_name_sz_a_[ i ] )) { 
+    for ( int i = 0; instrument_name_sz_a_[i]; i++)
+       if ( instrument_str_ == String (instrument_name_sz_a_[ i ])) { 
            program_byte = (Byte)i;
            break;
        }
 
-    if ( !program_byte )
-       return String( "" );
+    if ( !program_byte)
+       return String ("");
 
-    String str = String( (char)( 0xc0 + channel_i_ ) );
-    str += String( (char)program_byte );
+    String str = String ((char)( 0xc0 + channel_i_) );
+    str += String ((char)program_byte);
     return str;
 }
 
-Midi_item::Midi_item( Audio_item* audio_item_l )
+Midi_item::Midi_item (Audio_item* audio_item_l)
 {
     audio_item_l_ = audio_item_l;
     channel_i_ = 0;
 }
 
 void
-Midi_item::output( Midi_stream* midi_stream_l ) const
+Midi_item::output (Midi_stream* midi_stream_l) const
 {
     *midi_stream_l << str();
 }
 
 String
-Midi_item::i2varint_str( int i )
+Midi_item::i2varint_str (int i)
 {
     int buffer_i = i & 0x7f;
-    while ( (i >>= 7) > 0 ) {
+    while ( (i >>= 7) > 0) {
        buffer_i <<= 8;
        buffer_i |= 0x80;
        buffer_i += (i & 0x7f);
     }
 
     String str;
-    while ( 1 ) {
+    while ( 1) {
        str += (char)buffer_i;
-       if ( buffer_i & 0x80 )
+       if ( buffer_i & 0x80)
            buffer_i >>= 8;
        else
            break;
@@ -317,32 +317,32 @@ Midi_item::i2varint_str( int i )
     return str;
 }
 
-Midi_key::Midi_key( Audio_item* audio_item_l )
-    : Midi_item( audio_item_l )
+Midi_key::Midi_key (Audio_item* audio_item_l)
+    : Midi_item (audio_item_l)
 {
 }
 
 String
 Midi_key::str() const
 {
-    Key_change_req* k = audio_item_l_->req_l_->command()->keychange();
+    Key_change_req* k = audio_item_l_->req_l_->command()->keychange ();
     int sharps_i = k->sharps_i();
     int flats_i = k->flats_i();
 
     // midi cannot handle non-conventional keys
-    if ( flats_i && sharps_i )
+    if ( flats_i && sharps_i)
        return "";
     int accidentals_i = sharps_i - flats_i;
 
     String str = "ff5902";
-    str += String_convert::i2hex_str( accidentals_i, 2, '0' );
+    str += String_convert::i2hex_str (accidentals_i, 2, '0');
     int minor_i = k->minor_b();
-    str += String_convert::i2hex_str( minor_i, 2, '0' );
-    return String_convert::hex2bin_str( str );
+    str += String_convert::i2hex_str (minor_i, 2, '0');
+    return String_convert::hex2bin_str (str);
 }
 
-Midi_meter::Midi_meter( Audio_item* audio_item_l )
-    : Midi_item( audio_item_l )
+Midi_meter::Midi_meter (Audio_item* audio_item_l)
+    : Midi_item (audio_item_l)
 {
     clocks_per_1_i_ = 18;
 }
@@ -350,20 +350,20 @@ Midi_meter::Midi_meter( Audio_item* audio_item_l )
 String
 Midi_meter::str() const
 {
-    Meter_change_req* m = audio_item_l_->req_l_->command()->meterchange();
+    Meter_change_req* m = audio_item_l_->req_l_->command()->meterchange ();
     int num_i = m->beats_i_;
     int den_i = m->one_beat_i_;
 
     String str = "ff5804";
-    str += String_convert::i2hex_str( num_i, 2, '0' );
-    str += String_convert::i2hex_str( intlog2( den_i ) , 2, '0' );
-    str += String_convert::i2hex_str( clocks_per_1_i_, 2, '0' );
-    str += String_convert::i2hex_str( 8, 2, '0' );
-    return String_convert::hex2bin_str( str );
+    str += String_convert::i2hex_str (num_i, 2, '0');
+    str += String_convert::i2hex_str (intlog2( den_i) , 2, '0' );
+    str += String_convert::i2hex_str (clocks_per_1_i_, 2, '0');
+    str += String_convert::i2hex_str (8, 2, '0');
+    return String_convert::hex2bin_str (str);
 }
 
-Midi_note::Midi_note( Audio_item* audio_item_l )
-    : Midi_item( audio_item_l )
+Midi_note::Midi_note (Audio_item* audio_item_l)
+    : Midi_item (audio_item_l)
 {
     dynamic_byte_ = 0x7f;
 }
@@ -371,34 +371,34 @@ Midi_note::Midi_note( Audio_item* audio_item_l )
 Moment
 Midi_note::duration() const
 {
-    return audio_item_l_->req_l_->musical()->rhythmic()->duration();
+    return audio_item_l_->req_l_->musical()->rhythmic ()->duration ();
 }
 
 int
 Midi_note::pitch_i() const
 {
-    return audio_item_l_->req_l_->musical()->melodic()->pitch();
+    return audio_item_l_->req_l_->musical()->melodic ()->pitch ();
 }
 
 String
 Midi_note::str() const
 {
-    if ( pitch_i() == INT_MAX )
-       return String( "" );
+    if ( pitch_i() == INT_MAX)
+       return String ("");
 
-    Byte status_byte = (char)( 0x90 + channel_i_ );
+    Byte status_byte = (char)( 0x90 + channel_i_);
 
-    String str = String( (char)status_byte );
-    str += (char)( pitch_i() + c0_pitch_i_c_ );
+    String str = String ((char)status_byte);
+    str += (char)( pitch_i() + c0_pitch_i_c_);
 
     // poor man's staff dynamics:
-    str += (char)( dynamic_byte_ - 0x10 * channel_i_ );
+    str += (char)( dynamic_byte_ - 0x10 * channel_i_);
 
     return str;
 }
 
-Midi_note_off::Midi_note_off( Midi_note* midi_note_l )
-    : Midi_item( midi_note_l->audio_item_l_ )
+Midi_note_off::Midi_note_off (Midi_note* midi_note_l)
+    : Midi_item (midi_note_l->audio_item_l_)
 {
     // 0x64 is supposed to be neutral, but let's try
     aftertouch_byte_ = 0x64;
@@ -408,31 +408,31 @@ Midi_note_off::Midi_note_off( Midi_note* midi_note_l )
 int
 Midi_note_off::pitch_i() const
 {
-    return audio_item_l_->req_l_->musical()->melodic()->pitch();
+    return audio_item_l_->req_l_->musical()->melodic ()->pitch ();
 }
 
 String
 Midi_note_off::str() const
 {
-    if ( pitch_i() == INT_MAX )
-       return String( "" );
+    if ( pitch_i() == INT_MAX)
+       return String ("");
 
-    Byte status_byte = (char)( 0x80 + channel_i_ );
+    Byte status_byte = (char)( 0x80 + channel_i_);
 
-    String str = String( (char)status_byte );
-    str += (char)( pitch_i() + Midi_note::c0_pitch_i_c_ );
+    String str = String ((char)status_byte);
+    str += (char)( pitch_i() + Midi_note::c0_pitch_i_c_);
     str += (char)aftertouch_byte_;
     return str;
 }
 
-Midi_tempo::Midi_tempo( Audio_item* audio_item_l )
-    : Midi_item( audio_item_l )
+Midi_tempo::Midi_tempo (Audio_item* audio_item_l)
+    : Midi_item (audio_item_l)
 {
-    per_minute_4_i_ = ( (Audio_tempo*)audio_item_l_ )->per_minute_4_i_;
+    per_minute_4_i_ = ( (Audio_tempo*)audio_item_l_)->per_minute_4_i_;
 }
 
-Midi_tempo::Midi_tempo( int per_minute_4_i )
-    : Midi_item( 0 )
+Midi_tempo::Midi_tempo (int per_minute_4_i)
+    : Midi_item (0)
 {
     per_minute_4_i_ = per_minute_4_i;
 }
@@ -442,19 +442,19 @@ Midi_tempo::str() const
 {
     int useconds_per_4_i = 60 * (int)1e6 / per_minute_4_i_;
     String str = "ff5103";
-    str += String_convert::i2hex_str( useconds_per_4_i, 6, '0' );
-    return String_convert::hex2bin_str( str );
+    str += String_convert::i2hex_str (useconds_per_4_i, 6, '0');
+    return String_convert::hex2bin_str (str);
 }
 
-Midi_text::Midi_text( Audio_item* audio_item_l )
-    : Midi_item( audio_item_l )
+Midi_text::Midi_text (Audio_item* audio_item_l)
+    : Midi_item (audio_item_l)
 {
-    text_str_ = ( (Audio_text*)audio_item_l_ )->text_str_;
-    type_ = (Type)( (Audio_text*)audio_item_l_ )->type_;
+    text_str_ = ( (Audio_text*)audio_item_l_)->text_str_;
+    type_ = (Type)( (Audio_text*)audio_item_l_)->type_;
 }
 
-Midi_text::Midi_text( Midi_text::Type type, String text_str )
-    : Midi_item( 0 )
+Midi_text::Midi_text (Midi_text::Type type, String text_str)
+    : Midi_item (0)
 {
     text_str_ = text_str;
     type_ = type;
@@ -463,9 +463,9 @@ Midi_text::Midi_text( Midi_text::Type type, String text_str )
 String
 Midi_text::str() const
 {
-    String str = "ff" + String_convert::i2hex_str( type_, 2, '0' );
-    str = String_convert::hex2bin_str( str );
-    str += i2varint_str( text_str_.length_i() );
+    String str = "ff" + String_convert::i2hex_str (type_, 2, '0');
+    str = String_convert::hex2bin_str (str);
+    str += i2varint_str (text_str_.length_i());
     str += text_str_;
     return str;
 }
@@ -501,33 +501,32 @@ Midi_track::Midi_track()
 
     String data_str;
     // only for format 0 (currently using format 1)?
-    data_str += String_convert::hex2bin_str( data_ch_C );
+    data_str += String_convert::hex2bin_str (data_ch_C);
 
     char const* footer_ch_C = "00" "ff2f" "00";
-    String footer_str = String_convert::hex2bin_str( footer_ch_C );
+    String footer_str = String_convert::hex2bin_str (footer_ch_C);
 
-    set( "MTrk", data_str, footer_str );
+    set ("MTrk", data_str, footer_str);
 }
 
 void 
-Midi_track::add( int delta_time_i, String event_str )
+Midi_track::add (int delta_time_i, String event_str)
 {
-    if ( delta_time_i < 0 ) {
-       cout << String_convert::bin2hex_str( i2varint_str( delta_time_i ) ) << endl;
-       cout << String_convert::bin2hex_str( event_str ) << endl;
+    if ( delta_time_i < 0) {
+       cout << String_convert::bin2hex_str (i2varint_str (delta_time_i) ) << endl;
+       cout << String_convert::bin2hex_str (event_str) << endl;
     }
-    assert(delta_time_i >= 0);
-    assert(event_str.length_i());
-    Midi_chunk::add( i2varint_str( delta_time_i ) + event_str );
+    assert (delta_time_i >= 0);
+    Midi_chunk::add (i2varint_str (delta_time_i) + event_str );
 }
 
 void 
-Midi_track::add( Moment delta_time_moment, Midi_item* mitem_l )
+Midi_track::add (Moment delta_time_moment, Midi_item* mitem_l)
 {
     // use convention of 384 clocks per 4
     // use Duration_convert
-    int delta_time_i = delta_time_moment * Moment( 384 ) / Moment( 1, 4 );
+    int delta_time_i = delta_time_moment * Moment (384) / Moment (1, 4 );
     // ? int ( delta_time_moment * 4 * 384) 
-    add( delta_time_i, mitem_l->str() );
+    add (delta_time_i, mitem_l->str());
 }
 
index 04777b50c881d078d171cddec9be3c49b1d421e5..fadd2f06f5e7ed9561e6b1fa1e4ca65295c46aef 100644 (file)
@@ -15,7 +15,7 @@
 #include "midi-stream.hh"
 #include "debug.hh"
 
-Midi_stream::Midi_stream( String filename_str )
+Midi_stream::Midi_stream (String filename_str)
 {
     filename_str_ = filename_str;
     os_p_ = 0;
@@ -28,41 +28,41 @@ Midi_stream::~Midi_stream()
 }
 
 Midi_stream&
-Midi_stream::operator <<( String str )
+Midi_stream::operator <<( String str)
 {
-    if ( check_debug )
-       str = String_convert::bin2hex_str( str );
+    if ( check_debug)
+       str = String_convert::bin2hex_str (str);
     
     *os_p_ << str;
 
-    if ( check_debug )
+    if ( check_debug)
         *os_p_ << "\n";
 
     return *this;
 }
 
 Midi_stream&
-Midi_stream::operator <<( Midi_item const& mitem_c_r )
+Midi_stream::operator <<( Midi_item const& mitem_c_r)
 {
 //    *this << mitem_c_r.str();
-    mitem_c_r.output( this );
-    if ( check_debug )
+    mitem_c_r.output (this);
+    if ( check_debug)
         *os_p_ << "\n";
     return *this;
 }
 
 Midi_stream&
-Midi_stream::operator <<( int i )
+Midi_stream::operator <<( int i)
 {
     // output binary string ourselves
-    *this << Midi_item::i2varint_str( i );
+    *this << Midi_item::i2varint_str (i);
     return *this;
 }
 
 void
 Midi_stream::open()
 {
-    os_p_ = new ofstream( filename_str_ );
-    if ( !*os_p_ )
-       error ("can't open `" + filename_str_ + "\'" );
+    os_p_ = new ofstream (filename_str_);
+    if ( !*os_p_)
+       error ("can't open `" + filename_str_ + "\'");
 }
index 968aab74cfbe03c33ba3bbebd9799a85826ec42b..1827eb39e20496723714bd9f6c7795a29f44e74f 100644 (file)
@@ -21,13 +21,13 @@ Midi_note_event::Midi_note_event()
 }
 
 int
-compare( Midi_note_event const& left, Midi_note_event const& right )
+compare (Midi_note_event const& left, Midi_note_event const& right)
 {
-    return sign( left.key - right.key );
+    return sign (left.key - right.key);
 }
 
-Midi_walker::Midi_walker( Audio_staff* audio_staff_l, Midi_track* track_l )
-    : PCursor<Audio_item*>( audio_staff_l->audio_item_l_list_ )
+Midi_walker::Midi_walker (Audio_staff* audio_staff_l, Midi_track* track_l)
+    : PCursor<Audio_item*>( audio_staff_l->audio_item_l_list_)
 {
     track_l_ = track_l;
     last_mom_ = 0;
@@ -36,19 +36,19 @@ Midi_walker::Midi_walker( Audio_staff* audio_staff_l, Midi_track* track_l )
 Midi_walker::~Midi_walker()
 { 
     // ugh
-    do_stop_notes( last_mom_ + Moment( 10, 1 ) );
+    do_stop_notes (last_mom_ + Moment (10, 1) );
 }
 
 /**
   Find out if start_note event is needed, and do it if needed.
  */
 void 
-Midi_walker::do_start_note( Midi_note* note_l )
+Midi_walker::do_start_note (Midi_note* note_l)
 {
-    Moment stop_mom = note_l->duration() + ptr()->audio_column_l_->at_mom();
-    for ( int i=0; i < stop_note_queue.size(); i++ ) {
-       if ( stop_note_queue[ i ].val->pitch_i() == note_l->pitch_i() ) {
-           if ( stop_note_queue[ i ].key < stop_mom )
+    Moment stop_mom = note_l->duration() + ptr ()->audio_column_l_->at_mom ();
+    for ( int i=0; i < stop_note_queue.size(); i++) {
+       if ( stop_note_queue[ i ].val->pitch_i() == note_l->pitch_i ()) {
+           if ( stop_note_queue[ i ].key < stop_mom)
                stop_note_queue[ i ].ignore_b_ = true;
            else // skip the stopnote 
                return; 
@@ -56,28 +56,28 @@ Midi_walker::do_start_note( Midi_note* note_l )
     }
 
     Midi_note_event e;
-    e.val = new Midi_note_off( note_l );
+    e.val = new Midi_note_off (note_l);
     e.key = stop_mom;
-    stop_note_queue.insert( e );
+    stop_note_queue.insert (e);
     
-    output_event( ptr()->audio_column_l_->at_mom(), note_l );
+    output_event (ptr()->audio_column_l_->at_mom (), note_l);
 }
 
 /**
   Output note events for all notes which end before #max_mom#
  */
 void
-Midi_walker::do_stop_notes( Moment max_mom )
+Midi_walker::do_stop_notes (Moment max_mom)
 {
-    while ( stop_note_queue.size() && stop_note_queue.front().key <= max_mom ) {
+    while ( stop_note_queue.size() && stop_note_queue.front ().key <= max_mom) {
        Midi_note_event e = stop_note_queue.get();
-       if ( e.ignore_b_ 
+       if ( e.ignore_b_) 
            continue;
        
        Moment stop_mom = e.key;
        Midi_note_off* note_l = e.val;
        
-       output_event( stop_mom, note_l );
+       output_event (stop_mom, note_l);
     }
 }
 
@@ -85,27 +85,25 @@ Midi_walker::do_stop_notes( Moment max_mom )
   Advance the track to #now#, output the item, and adjust current "moment". 
  */
 void
-Midi_walker::output_event( Moment now_mom, Midi_item* l )
+Midi_walker::output_event (Moment now_mom, Midi_item* l)
 {
     Moment delta_t = now_mom - last_mom_ ;
     last_mom_ += delta_t;
-    track_l_->add( delta_t, l );
+    track_l_->add (delta_t, l);
 }
 
 void
 Midi_walker::process()
 {
-    do_stop_notes( ptr()->audio_column_l_->at_mom() );
+    do_stop_notes (ptr()->audio_column_l_->at_mom ());
 
-    Midi_item* p = ptr()->midi_item_p();
-    if ( !p )
-       return;
+    Midi_item* p = ptr()->midi_item_p ();
     p->channel_i_ = track_l_->number_i_;
     
-    if ( p->name() != Midi_note::static_name() )
-       output_event( ptr()->audio_column_l_->at_mom(), p );
+    if ( p->name() != Midi_note::static_name ())
+       output_event (ptr()->audio_column_l_->at_mom (), p);
     else
-       do_start_note( (Midi_note*)p );
+       do_start_note ((Midi_note*)p);
        
     delete p;
 }
index 5ee56d8045d50d573af86298729445659663e40d..946e27e4bb4025d8c88fc79da6c77e080cdb978f 100644 (file)
@@ -19,18 +19,18 @@ intlog2(int d) {
        d/= 2;
        i++;
     }
-    assert(!(d/2));
+    assert (!(d/2));
     return i;
 }
 
 double
 log_2(double x) {
-    return log(x)  /log(2.0);
+    return log (x)  /log (2.0);
 }
 
 #if 1
 Interval
-itemlist_width(const Array<Item*> &its)
+itemlist_width (const Array<Item*> &its)
 {
     Interval iv ;
     iv.set_empty();
index f9cc7bb12a9da38d87b4e51a55c4616fda3d913d..663a554e93a3a7e9c771b290b3dd4ea731e75f26 100644 (file)
@@ -18,7 +18,7 @@ String
 Molecule::TeX_string() const
 {
     String s;
-    for(iter_top(ats,c); c.ok(); c++)
+    for (iter_top (ats,c); c.ok(); c++)
        s+=c->TeX_string();
     return s;
 }
@@ -27,99 +27,99 @@ Box
 Molecule::extent() const
 {
     Box b;
-    for(iter_top(ats,c); c.ok(); c++)
-       b.unite(c->extent());
+    for (iter_top (ats,c); c.ok(); c++)
+       b.unite (c->extent());
     return b;
 }
 
 void
-Molecule::translate(Offset o)
+Molecule::translate (Offset o)
 {
-    for (iter_top(ats,c); c.ok(); c++)
-       c->translate(o);
+    for (iter_top (ats,c); c.ok(); c++)
+       c->translate (o);
 }
 
 void
-Molecule::translate(Real x,Axis a)
+Molecule::translate (Real x,Axis a)
 {
-    for (iter_top(ats,c); c.ok(); c++)
-       c->translate(x,a);
+    for (iter_top (ats,c); c.ok(); c++)
+       c->translate (x,a);
 }
 
 void
-Molecule::add(Molecule const &m)
+Molecule::add (Molecule const &m)
 {
-    for (iter_top(m.ats,c); c.ok(); c++) {
-       add(**c);
+    for (iter_top (m.ats,c); c.ok(); c++) {
+       add (**c);
     }
 }
 
 void
-Molecule::add_right(Molecule const &m)
+Molecule::add_right (Molecule const &m)
 {
      if (!ats.size()) {
-       add(m);
+       add (m);
        return;
     }
-     Real xof=extent().x().right - m.extent().x().left;
+     Real xof=extent().x ().right - m.extent ().x ().left;
  
      
-    Molecule toadd(m);
-    toadd.translate(Offset(xof, 0.0));
-    add(toadd);
+    Molecule toadd (m);
+    toadd.translate (Offset (xof, 0.0));
+    add (toadd);
 }
 
 void
-Molecule::add_left(Molecule const &m)
+Molecule::add_left (Molecule const &m)
 {
     if (!ats.size()) {
-       add(m);
+       add (m);
        return;
     }
-  Real xof=extent().x().left - m.extent().x().right;
+  Real xof=extent().x ().left - m.extent ().x ().right;
    
-    Molecule toadd(m);
-    toadd.translate(Offset(xof, 0.0));
-    add(toadd);
+    Molecule toadd (m);
+    toadd.translate (Offset (xof, 0.0));
+    add (toadd);
 }
 
 
 void
-Molecule::add_top(Molecule const &m)
+Molecule::add_top (Molecule const &m)
 {
       if (!ats.size()) {
-       add(m);
+       add (m);
        return;
     }
-   Real yof=extent().y().right - m.extent().y().left;
+   Real yof=extent().y ().right - m.extent ().y ().left;
 
-    Molecule toadd(m);
-    toadd.translate(yof, Y_AXIS);
-    add(toadd);
+    Molecule toadd (m);
+    toadd.translate (yof, Y_AXIS);
+    add (toadd);
 }
 
 void
-Molecule::add_bottom(Molecule const &m)
+Molecule::add_bottom (Molecule const &m)
 {
     if (!ats.size()) {
-       add(m);
+       add (m);
        return;
     }
-     Real yof=extent().y().left- m.extent().y().right;
-    Molecule toadd(m);
-    toadd.translate(yof, Y_AXIS);
-    add(toadd);
+     Real yof=extent().y ().left- m.extent ().y ().right;
+    Molecule toadd (m);
+    toadd.translate (yof, Y_AXIS);
+    add (toadd);
 }
 
 void
 Molecule::operator = (Molecule const &)
 {
-    assert(false);
+    assert (false);
 }
 
-Molecule::Molecule(Molecule const &s)
+Molecule::Molecule (Molecule const &s)
 {
-    add(s);
+    add (s);
 }
 
 void
@@ -128,13 +128,13 @@ Molecule::print() const
 #ifndef NPRINT
     if (! check_debug)
        return;
-    for (iter_top(ats,c); c.ok(); c++)
+    for (iter_top (ats,c); c.ok(); c++)
        c->print();
 #endif
 }
 
 void
-Molecule::add(Atom const &a)
+Molecule::add (Atom const &a)
 {
-    ats.bottom().add(new Atom(a)); 
+    ats.bottom().add (new Atom (a)); 
 }
index cf3f4f13ea81a3b2d6a5fcc64954d1bab030c572..23143201653c39b790a3d4e3394dd0aca4741e75 100644 (file)
@@ -31,30 +31,30 @@ Music_iterator::print() const
 #ifndef NPRINT
     if ( !check_debug)
        return ;
-    mtor << name() << "{";
-    mtor << "report to " << 
-       report_to_l() << " (" << report_to_l()->name() << ")\n";
-    mtor << "next at " << next_moment() << " ";
+    DOUT << name() << "{";
+    DOUT << "report to " << 
+       report_to_l() << " (" << report_to_l ()->name () << ")\n";
+    DOUT << "next at " << next_moment() << " ";
     do_print();
-    mtor << "}\n";
+    DOUT << "}\n";
 #endif
 }
 
 Translator *
 Music_iterator::get_req_translator_l()
 {
-    assert(report_to_l());
-    if (report_to_l()->is_bottom_engraver_b() )
+    assert (report_to_l());
+    if (report_to_l()->is_bottom_engraver_b ())
        return report_to_l();
 
-    set_translator( report_to_l()->get_default_interpreter() );
+    set_translator (report_to_l()->get_default_interpreter ());
     return report_to_l();
 }
 
 void
-Music_iterator::push_translator(Translator*t)
+Music_iterator::push_translator (Translator*t)
 {
-    report_to_l_arr_.push(t);
+    report_to_l_arr_.push (t);
     t->iterator_count_ ++;
 }
 
@@ -69,21 +69,21 @@ Music_iterator::pop_translator()
 Translator* 
 Music_iterator::report_to_l()const
 {
-    if (! report_to_l_arr_.size() )
+    if (! report_to_l_arr_.size())
        return 0;
     return report_to_l_arr_.top();
 }
 
 
 void
-Music_iterator::set_translator(Translator*trans)
+Music_iterator::set_translator (Translator*trans)
 {   
     if (report_to_l()==trans)
        return;
-    if ( report_to_l() )
+    if ( report_to_l())
        pop_translator();
     if (trans)
-       push_translator(trans);
+       push_translator (trans);
 }
 
 void
@@ -94,7 +94,7 @@ Music_iterator::construct_children()
 
 Music_iterator::~Music_iterator()
 {
-    set_translator(0);
+    set_translator (0);
 }
 
 Moment
@@ -104,7 +104,7 @@ Music_iterator::next_moment()const
 }
 
 void
-Music_iterator::process_and_next(Moment)
+Music_iterator::process_and_next (Moment)
 {
     first_b_ = false;
 }
@@ -116,34 +116,34 @@ Music_iterator::ok()const
 }
 
 Music_iterator*
-Music_iterator::static_get_iterator_p(Music *m,
+Music_iterator::static_get_iterator_p (Music *m,
                                      Translator *report_l)
 {
     Music_iterator * p =0;
-    if (m->is_type_bRequest_chord::static_name()))
-       p = new Request_chord_iterator(Request_chord*) m);
-    else if (m->is_type_bChord::static_name())) 
-       p =  new Chord_iterator(Chord*) m);
-    else if (m->is_type_bVoice::static_name())) 
-       p =  new Voice_iterator(  (Voice*) m);
+    if (m->is_type_b (Request_chord::static_name()))
+       p = new Request_chord_iterator ((Request_chord*) m);
+    else if (m->is_type_b (Chord::static_name())) 
+       p =  new Chord_iterator ((Chord*) m);
+    else if (m->is_type_b (Voice::static_name())) 
+       p =  new Voice_iterator ((Voice*) m);
     
     if (m -> type_str_ != "") {
        Translator * a =report_l->
-           find_get_translator_l(m-> type_str_, m->id_str_);
-           p->set_translatora);
+           find_get_translator_l (m-> type_str_, m->id_str_);
+           p->set_translator (a);
     } 
 
 
-    if (! p->report_to_l() )
-        p ->set_translator(report_l);
+    if (! p->report_to_l())
+        p ->set_translator (report_l);
     
     return p;
 }
 
 Music_iterator*
-Music_iterator::get_iterator_p(Music*m)const
+Music_iterator::get_iterator_p (Music*m)const
 {
-    Music_iterator*p = static_get_iterator_p(m,report_to_l());
+    Music_iterator*p = static_get_iterator_p (m,report_to_l());
     p->daddy_iter_l_ = (Music_iterator*)this;
     p->construct_children();
     return p;
@@ -157,7 +157,7 @@ Music_iterator::Music_iterator()
 
 /* ************** */
 
-Chord_iterator::Chord_iterator(Chord const *chord_C)
+Chord_iterator::Chord_iterator (Chord const *chord_C)
 {
     chord_C_ = chord_C;
 }
@@ -166,13 +166,13 @@ void
 Chord_iterator::construct_children()
 {
     int j = 0;
-    for(PCursor<Music*> i(chord_C_->music_p_list_.top());  //, int j = 0; 
+    for (PCursor<Music*> i (chord_C_->music_p_list_.top());  //, int j = 0; 
        i.ok(); j++, i++) {
-       Music_iterator * mi =  get_iterator_pi.ptr());
-       if ( mi->ok() ) {
-           set_translator(mi->report_to_l()->ancestor_l( 
-               chord_C_->multi_level_i_ ) );
-           children_p_list_.bottom().add( mi );
+       Music_iterator * mi =  get_iterator_p (i.ptr());
+       if ( mi->ok()) {
+           set_translator (mi->report_to_l()->ancestor_l (
+               chord_C_->multi_level_i_) );
+           children_p_list_.bottom().add (mi);
        } else 
            delete mi;
     }
@@ -181,25 +181,25 @@ void
 Chord_iterator::do_print() const
 {
 #ifndef NPRINT
-    for (PCursor<Music_iterator*> i(children_p_list_.top()); i.ok(); i++) {
+    for (PCursor<Music_iterator*> i (children_p_list_.top()); i.ok (); i++) {
        i->print();
     }
 #endif
 }
 
 void
-Chord_iterator::process_and_next(Moment until)
+Chord_iterator::process_and_next (Moment until)
 {
-    for (PCursor<Music_iterator*> i(children_p_list_.top()); i.ok(); ) {
+    for (PCursor<Music_iterator*> i (children_p_list_.top()); i.ok ();) {
        if  (i->next_moment() == until) {
-           i->process_and_next(until);
+           i->process_and_next (until);
        }
        if (!i->ok()) 
            delete i.remove_p();
        else
            i++;
     }
-    Music_iterator::process_and_next(until);
+    Music_iterator::process_and_next (until);
 }
 
 
@@ -209,7 +209,7 @@ Moment
 Chord_iterator::next_moment()const
 {
     Moment next_ = infinity_mom;
-    for (PCursor<Music_iterator*> i(children_p_list_.top()); i.ok(); i++)
+    for (PCursor<Music_iterator*> i (children_p_list_.top()); i.ok (); i++)
        next_ = next_ <? i->next_moment() ;
     return next_;
 }
@@ -231,7 +231,7 @@ Voice_iterator::do_print()const
        iter_p_->print();
 }
 
-Voice_iterator::Voice_iterator(Voice const*v)
+Voice_iterator::Voice_iterator (Voice const*v)
     : PCursor<Music*> ( v->music_p_list_)
 {
     here_mom_ = v->offset_mom_;
@@ -258,7 +258,7 @@ Voice_iterator::leave_element()
 {
     delete iter_p_;
     iter_p_ =0;
-    MInterval elt_time = ptr()->time_int();
+    MInterval elt_time = ptr()->time_int ();
     if (!elt_time.empty_b())
        here_mom_ += elt_time.length();
     PCursor<Music*>::next();
@@ -267,41 +267,41 @@ Voice_iterator::leave_element()
 void
 Voice_iterator::start_next_element()
 {
-    assert!iter_p_);
-    iter_p_ = get_iterator_pptr());
+    assert (!iter_p_);
+    iter_p_ = get_iterator_p (ptr());
 }
 
 void
 Voice_iterator::set_voice_translator()
 {
-    if (iter_p_->report_to_l()->depth_i() > report_to_l()->depth_i())
-       set_translator(iter_p_->report_to_l());
+    if (iter_p_->report_to_l()->depth_i () > report_to_l ()->depth_i ())
+       set_translator (iter_p_->report_to_l());
 }
 
 Voice_iterator::~Voice_iterator()
 {
-    assert(! iter_p_);
+    assert (! iter_p_);
 }
 
 
 IMPLEMENT_IS_TYPE_B1(Voice_iterator,Music_iterator);
 
 void
-Voice_iterator::process_and_next(Moment until)
+Voice_iterator::process_and_next (Moment until)
 {
     while (1) {
        Moment local_until = until - here_mom_;
-       while ( iter_p_->ok() ) {
+       while ( iter_p_->ok()) {
            Moment here = iter_p_->next_moment();
            if (here != local_until)
                goto loopexit;
            
-           iter_p_->process_and_next(local_until);
+           iter_p_->process_and_next (local_until);
        }
 
-       if (!iter_p_->ok() ) {
+       if (!iter_p_->ok()) {
            leave_element();
-           if ( PCursor<Music*>::ok() ) {
+           if ( PCursor<Music*>::ok()) {
                start_next_element();
                set_voice_translator();
            } else {
@@ -312,7 +312,7 @@ Voice_iterator::process_and_next(Moment until)
 
 loopexit:
 
-    Music_iterator::process_and_next(until);
+    Music_iterator::process_and_next (until);
 }
 
 Moment
@@ -336,10 +336,10 @@ Request_chord_iterator::construct_children()
     get_req_translator_l();
 }
 
-Request_chord_iterator::Request_chord_iterator(Request_chord*el_l)
+Request_chord_iterator::Request_chord_iterator (Request_chord*el_l)
 {
     elt_l_ = el_l;
-    elt_duration_ = el_l->time_int().length(); 
+    elt_duration_ = el_l->time_int().length (); 
     last_b_ = false;
 }
 
@@ -355,7 +355,7 @@ Request_chord_iterator::ok()const
 Moment
 Request_chord_iterator::next_moment()const
 {
-    Moment m(0);
+    Moment m (0);
     if  (!first_b_) 
        m = elt_duration_;
     return m;
@@ -365,24 +365,24 @@ void
 Request_chord_iterator::do_print() const
 {
 #ifndef NPRINT
-    mtor << "duration: " << elt_duration_;
+    DOUT << "duration: " << elt_duration_;
 #endif
 }
 void
-Request_chord_iterator::process_and_next(Moment mom)
+Request_chord_iterator::process_and_next (Moment mom)
 {
-    if ( first_b_ ) {
-       for (PCursor<Music*> i(elt_l_->music_p_list_); i.ok(); i++) {
-           assert(i->is_type_b(Request::static_name()));
+    if ( first_b_) {
+       for (PCursor<Music*> i (elt_l_->music_p_list_); i.ok(); i++) {
+           assert (i->is_type_b (Request::static_name()));
            Request * req_l = (Request*)i.ptr();
-           bool gotcha = report_to_l()->try_request(req_l);
+           bool gotcha = report_to_l()->try_request (req_l);
            if (!gotcha)
-               req_l->warning("Junking request: " + String(req_l->name()));
+               req_l->warning ("Junking request: " + String (req_l->name()));
 
        }
        first_b_ = false;
     }
 
-    if ( mom >= elt_duration_ )
+    if ( mom >= elt_duration_)
        last_b_ = true;  
 }
index 97f5a8a9e7b2ce4e3bfab79311c792fb96ae6ec6..8fd903f0d30b991605bec4ee933d05e86eed5079 100644 (file)
 #include "debug.hh"
 #include "music-list.hh"
 
-Music_list::Music_list(Music_list const&s)
-    : Music(s)
+Music_list::Music_list (Music_list const&s)
+    : Music (s)
 {
     multi_level_i_ = s.multi_level_i_;   
-    for (iter(s.music_p_list_.top(), i); i.ok(); i++)
-       add(i->clone());
+    for (iter (s.music_p_list_.top(), i); i.ok (); i++)
+       add (i->clone());
 }
 
 IMPLEMENT_IS_TYPE_B1(Music_list, Music);
@@ -28,17 +28,17 @@ MInterval
 Chord::time_int()const
 {
     MInterval m;
-    for (iter(music_p_list_.top(), i); i.ok(); i++)
-       m.unite(i->time_int());
+    for (iter (music_p_list_.top(), i); i.ok (); i++)
+       m.unite (i->time_int());
 
     return m;
 }
 
 void
-Chord::translate(Moment m)
+Chord::translate (Moment m)
 {
-    for (iter(music_p_list_.top(), i); i.ok(); i++)
-       i->translate(m); 
+    for (iter (music_p_list_.top(), i); i.ok (); i++)
+       i->translate (m); 
 }
 
 Chord::Chord()
@@ -55,20 +55,20 @@ MInterval
 Voice::time_int() const
 {
     Moment last=0;
-    for (iter(music_p_list_.top(), i); i.ok(); i++) {
+    for (iter (music_p_list_.top(), i); i.ok (); i++) {
        MInterval interval = i->time_int();
        
         /*
          c4 <> c4
         */
-       if ( !interval.empty_b() )
+       if ( !interval.empty_b())
            last += interval.length();
     }
-    return  offset_mom_ + MInterval(0,last);
+    return  offset_mom_ + MInterval (0,last);
 }
 
 void
-Voice::translate(Moment dt)
+Voice::translate (Moment dt)
 {
     offset_mom_ += dt;
 }
@@ -80,27 +80,27 @@ Music_list::Music_list()
 }
 
 void
-Music_list::add(Music*m_p)
+Music_list::add (Music*m_p)
 {
     if (!m_p)
        return;
 
     m_p->parent_music_l_ = this;
-    music_p_list_.bottom().add(m_p);
+    music_p_list_.bottom().add (m_p);
 }
 
 void
-Music_list::transpose(Melodic_req const*rq)
+Music_list::transpose (Melodic_req const*rq)
 {
-    for (iter(music_p_list_.top(),i); i.ok(); i++)
-       i->transpose(rq);    
+    for (iter (music_p_list_.top(),i); i.ok (); i++)
+       i->transpose (rq);    
 }
 
 void
 Music_list::do_print()const
 {
 #ifndef NPRINT
-    for (iter(music_p_list_.top(),i); i.ok(); i++)
+    for (iter (music_p_list_.top(),i); i.ok (); i++)
        i->print();
 #endif 
 }
index 7bc52fcd425b15008c30dd680e5bb96bf71f3bab..b9dcde679dfd31b698d4939024957e4f69e06f59 100644 (file)
@@ -14,7 +14,7 @@
 MInterval
 Music::time_int() const
 {
-    return MInterval(0,0);
+    return MInterval (0,0);
 }
 
 void
@@ -23,22 +23,22 @@ Music::print()const
 #ifndef NPRINT
     if ( ! check_debug)
        return ;
-    mtor << name() << "{";
+    DOUT << name() << "{";
     if  (type_str_!="" || id_str_!="")
-       mtor << "`" <<type_str_ << " = " << id_str_<<"\'";
+       DOUT << "`" <<type_str_ << " = " << id_str_<<"\'";
     do_print();
-    mtor << "}\n";
+    DOUT << "}\n";
 #endif
 }
 
 void
-Music::transpose(Melodic_req const*)
+Music::transpose (Melodic_req const*)
 {
     
 }
 
 void
-Music::translate(Moment )
+Music::translate (Moment)
 {
 }
 
index 4bd6598489798b38bca071e5d3d89c4b6b7d75f2..8efe633200da4111dbe50352f0d88b65043876b1 100644 (file)
@@ -21,7 +21,7 @@ Stem_req::do_print() const
 {
 #ifndef NPRINT
     Rhythmic_req::do_print();
-    mtor << "dir : " << dir_i_;
+    DOUT << "dir : " << dir_i_;
 #endif
 }
 
@@ -50,7 +50,7 @@ void
 Span_req::do_print() const    
 {
 #ifndef NPRINT
-    mtor  << spantype ;
+    DOUT << spantype ;
 #endif
 }
 
@@ -67,7 +67,7 @@ void
 Spacing_req::do_print()const
 {
 #ifndef NPRINT
-    mtor << "next " << next << "dist " << distance << "strength\n";
+    DOUT << "next " << next << "dist " << distance << "strength\n";
 #endif
 }
 
@@ -89,13 +89,13 @@ Melodic_req::Melodic_req()
 }
 
 void
-Melodic_req::transpose(Melodic_req const & delta)
+Melodic_req::transpose (Melodic_req const & delta)
 {
     int old_pitch = pitch();
     int delta_pitch = delta.pitch();
     octave_i_ += delta.octave_i_;
     notename_i_ += delta.notename_i_;
-    while  (notename_i_ >= 7 ) {
+    while  (notename_i_ >= 7) {
        notename_i_ -= 7;
        octave_i_ ++;
     }
@@ -104,22 +104,22 @@ Melodic_req::transpose(Melodic_req const & delta)
     int delta_acc = new_pitch - old_pitch - delta_pitch;
     
     accidental_i_ -= delta_acc;
-    if (abs(accidental_i_) > 2) {
-       delta.warning("transposition makes accidental larger than 2");
+    if (abs (accidental_i_) > 2) {
+       delta.warning ("transposition makes accidental larger than 2");
     }
 }
 
 IMPLEMENT_IS_TYPE_B1(Melodic_req,Musical_req);
 
 bool
-Melodic_req::do_equal_b(Request*r)const
+Melodic_req::do_equal_b (Request*r)const
 {
-    Melodic_req* m= r->musical()->melodic();
-    return !compare*m, *this);
+    Melodic_req* m= r->musical()->melodic ();
+    return !compare (*m, *this);
 }
 
 int
-Melodic_req::compare(Melodic_req const &m1 , Melodic_req const&m2)
+Melodic_req::compare (Melodic_req const &m1 , Melodic_req const&m2)
 {
     int o=  m1.octave_i_ - m2.octave_i_;
     int n = m1.notename_i_ - m2.notename_i_;
@@ -138,7 +138,7 @@ void
 Melodic_req::do_print() const
 {
 #ifndef NPRINT
-    mtor << "notename: " << notename_i_ 
+    DOUT << "notename: " << notename_i_ 
         << " acc: " <<accidental_i_<<" oct: "<< octave_i_;
 #endif
 }
@@ -162,21 +162,21 @@ Melodic_req::pitch() const
 
 /* *************** */
 int
-Rhythmic_req::compare(Rhythmic_req const &r1, Rhythmic_req const &r2)
+Rhythmic_req::compare (Rhythmic_req const &r1, Rhythmic_req const &r2)
 {
-    return (r1.duration() - r2.duration());
+    return (r1.duration() - r2.duration ());
 }
 
 bool
-Rhythmic_req::do_equal_b(Request*r)const
+Rhythmic_req::do_equal_b (Request*r)const
 {
-    Rhythmic_req* rh = r->musical()->rhythmic();
+    Rhythmic_req* rh = r->musical()->rhythmic ();
 
-    return !compare(*this, *rh);
+    return !compare (*this, *rh);
 }
 
 void
-Rhythmic_req::set_duration(Duration d)
+Rhythmic_req::set_duration (Duration d)
 {
     duration_ = d;
 }
@@ -192,7 +192,7 @@ void
 Rhythmic_req::do_print() const
 {
 #ifndef NPRINT
-    mtor << "duration { " <<duration_.str() << "}";
+    DOUT << "duration { " <<duration_.str() << "}";
 #endif
 }
 
@@ -203,8 +203,8 @@ Rhythmic_req::duration() const {
 }
 /* *************** */
 
-Lyric_req::Lyric_req(Text_def* def_p)
-    :Text_req(0, def_p)
+Lyric_req::Lyric_req (Text_def* def_p)
+    :Text_req (0, def_p)
 {
     def_p->align_i_ = 0;       // centre
     dir_i_ = -1;               // lyrics below (invisible) staff
@@ -222,9 +222,9 @@ Lyric_req::do_print() const
 
 /* *************** */
 bool
-Note_req::do_equal_b(Request*r)const
+Note_req::do_equal_b (Request*r)const
 {
-    return Rhythmic_req::do_equal_b(r) && Melodic_req::do_equal_b(r);
+    return Rhythmic_req::do_equal_b (r) && Melodic_req::do_equal_b (r);
 }
 
 
@@ -241,7 +241,7 @@ Note_req::do_print() const
 #ifndef NPRINT
     Melodic_req::do_print();
     if (forceacc_b_) {
-       mtor << " force accidental\n";
+       DOUT << " force accidental\n";
     }
     Rhythmic_req::do_print();
 #endif
@@ -274,7 +274,7 @@ Slur_req::do_print()const{}
 
 
 bool
-Span_req:: do_equal_b(Request*r)const
+Span_req:: do_equal_b (Request*r)const
 {
     Span_req * s = r->span();
     return spantype - s->spantype;
@@ -286,7 +286,7 @@ Span_req::Span_req()
 }
 
 /* *************** */
-Script_req::Script_req(Script_req const&s)
+Script_req::Script_req (Script_req const&s)
 {
     dir_i_ = s.dir_i_;
     scriptdef_p_ = s.scriptdef_p_ ? s.scriptdef_p_->clone() : 0;
@@ -295,14 +295,14 @@ Script_req::Script_req(Script_req const&s)
 /*
   don't check dirs?
   
-  (d1.dir_i_ == d2.dir_i_ )
+  (d1.dir_i_ == d2.dir_i_)
  */
 bool
-Script_req::do_equal_b(Request*r)const
+Script_req::do_equal_b (Request*r)const
 {
     Script_req * s = r->script();
     
-    return  scriptdef_p_->equal_b(*s->scriptdef_p_);
+    return  scriptdef_p_->equal_b (*s->scriptdef_p_);
 }
 
 Script_req::Script_req()
@@ -318,7 +318,7 @@ void
 Script_req::do_print() const
 {
 #ifndef NPRINT
-    mtor << " dir " << dir_i_ ;
+    DOUT << " dir " << dir_i_ ;
     scriptdef_p_->print();
 #endif
 }
@@ -346,13 +346,13 @@ Text_req::~Text_req()
     tdef_p_ = 0;
 }
 
-Text_req::Text_req(Text_req const& src)
+Text_req::Text_req (Text_req const& src)
 {
-    tdef_p_ = new Text_def(*src.tdef_p_);
+    tdef_p_ = new Text_def (*src.tdef_p_);
     dir_i_ = src.dir_i_;
 }
 
-Text_req::Text_req(int dir_i, Text_def* tdef_p)        
+Text_req::Text_req (int dir_i, Text_def* tdef_p)       
 {
     dir_i_ = dir_i;
     tdef_p_ = tdef_p;
@@ -365,7 +365,7 @@ void
 Text_req::do_print() const
 {
 #ifndef NPRINT
-    mtor << " dir " << dir_i_ ;
+    DOUT << " dir " << dir_i_ ;
     tdef_p_->print();
 #endif
 }
@@ -380,7 +380,7 @@ Skip_req::do_print() const
 {
 #ifndef NPRINT
 
-    mtor << "duration: " << duration();
+    DOUT << "duration: " << duration();
 #endif
 }
 
@@ -402,12 +402,12 @@ Absolute_dynamic_req::do_print() const
 {
 #ifndef NPRINT
     Dynamic_req::do_print();
-    mtor << " loudness " <<loudness_str(loudness_);
+    DOUT << " loudness " <<loudness_str (loudness_);
 #endif
 }
 
 String
-Dynamic_req::loudness_str(Loudness l) 
+Dynamic_req::loudness_str (Loudness l) 
 {
     switch (l) {
     case FFF: return "fff";
@@ -419,7 +419,7 @@ Dynamic_req::loudness_str(Loudness l)
     case PP: return "pp";
     case PPP: return "ppp";
     }
-    assert(false);
+    assert (false);
     return "";
 }
 
@@ -442,7 +442,7 @@ Span_dynamic_req::do_print()const
 {
 #ifndef NPRINT
     Span_req::do_print();
-    mtor << "louder/louder: " <<dynamic_dir_i_;
+    DOUT << "louder/louder: " <<dynamic_dir_i_;
 #endif
 }
 
index 18155a56e7584574c8faf79fdaec026d8999d632..1160b86af148ea0625f1ca443f478e5f9713f2da 100644 (file)
@@ -71,7 +71,7 @@ static Keyword_ent the_key_tab[]={
 
 My_lily_lexer::My_lily_lexer()
 {
-    keytable_p_ = new Keyword_table(the_key_tab);
+    keytable_p_ = new Keyword_table (the_key_tab);
     identifier_assoc_p_ = new Assoc<String, Identifier*>;
     errorlevel_i_ = 0;
     post_quotes_b_ = false;
@@ -79,15 +79,15 @@ My_lily_lexer::My_lily_lexer()
 }
 
 int
-My_lily_lexer::lookup_keyword(String s)
+My_lily_lexer::lookup_keyword (String s)
 {
-    return keytable_p_->lookup(s);
+    return keytable_p_->lookup (s);
 }
 
 Identifier*
-My_lily_lexer::lookup_identifier(String s)
+My_lily_lexer::lookup_identifier (String s)
 {
-    if (!identifier_assoc_p_->elt_b(s))
+    if (!identifier_assoc_p_->elt_b (s))
        return 0;
     
     return (*identifier_assoc_p_)[s];
@@ -95,10 +95,14 @@ My_lily_lexer::lookup_identifier(String s)
 
 
 void
-My_lily_lexer::add_identifier(Identifier*i)
+My_lily_lexer::set_identifier (String name_str, Identifier*i)
 {
-    delete lookup_identifier(i->name_str_);
-    (*identifier_assoc_p_)[i->name_str_] = i;
+    Identifier *old = lookup_identifier (name_str);
+    if  (old) {
+       old->warning( "redeclaration of \\" + name_str);
+       delete old;
+    }
+    (*identifier_assoc_p_)[name_str] = i;
 }
 
 My_lily_lexer::~My_lily_lexer()
@@ -106,47 +110,49 @@ My_lily_lexer::~My_lily_lexer()
     delete keytable_p_;
 
     for (Assoc_iter<String,Identifier*>
-            ai(*identifier_assoc_p_); ai.ok(); ai++) {
-       mtor << "deleting: " << ai.key()<<'\n';
+            ai (*identifier_assoc_p_); ai.ok(); ai++) {
+       DOUT << "deleting: " << ai.key()<<'\n';
        delete ai.val();
     }
     delete note_tab_p_;
     delete identifier_assoc_p_;
 }
 void
-My_lily_lexer::print_declarations(bool init_b)const
+My_lily_lexer::print_declarations (bool init_b)const
 {
-    for (Assoc_iter<String,Identifier*> ai(*identifier_assoc_p_); ai.ok(); 
+    for (Assoc_iter<String,Identifier*> ai (*identifier_assoc_p_); ai.ok(); 
         ai++) {
-       if (ai.val()->init_b_ == init_b)
-           ai.val()->print();
+       if (ai.val()->init_b_ == init_b) {
+           DOUT << ai.key() << '=';
+           ai.val()->print ();
+       }
     }
 }
 
 void
-My_lily_lexer::LexerError(char const *s)
+My_lily_lexer::LexerError (char const *s)
 {
     if (include_stack_.empty()) {
        *mlog << "error at EOF" << s << '\n';
     } else {
        errorlevel_i_ |= 1;
  
-       Input spot(source_file_l(),here_ch_C());
+       Input spot (source_file_l(),here_ch_C());
 
-       spot.error( s );
+       spot.error (s);
     }
 }
 
 Melodic_req*
-My_lily_lexer::lookup_melodic_req_l(String s)
+My_lily_lexer::lookup_melodic_req_l (String s)
 {
-    return note_tab_p_->get_l(s);
+    return note_tab_p_->get_l (s);
 }
 
 void
-My_lily_lexer::add_notename(String s, Melodic_req *p)
+My_lily_lexer::add_notename (String s, Melodic_req *p)
 {
-    note_tab_p_->add(s,p);
+    note_tab_p_->add (s,p);
 }
 
 void
index 3f12eba6fe04598bb2b12e8c8bd5319d26914ab0..a8db01da1846c710c70f333ac36380008a4060e4 100644 (file)
@@ -21,7 +21,7 @@ My_lily_parser::clear_notenames()
     lexer_p_->clear_notenames();
 }
 void
-My_lily_parser::set_version_check(bool ig)
+My_lily_parser::set_version_check (bool ig)
 {
     ignore_version_b_ = ig;
 }
@@ -32,8 +32,8 @@ My_lily_parser::set_debug()
     String s = "";
     if (init_parse_b_) 
        s = "Init";
-    set_yydebug( !monitor->silence(s+"Parser") && check_debug);
-    lexer_p_->set_debug( !monitor->silence(s+"Lexer") && check_debug);
+    set_yydebug (!monitor->silence (s+"Parser") && check_debug);
+    lexer_p_->set_debug (!monitor->silence (s+"Lexer") && check_debug);
 #endif
 }
 
@@ -45,14 +45,14 @@ My_lily_parser::print_declarations()
     
     if (init_parse_b_) 
        s = "Init";
-    if (!monitor->silence(s+"Declarations") && check_debug) {
-       lexer_p_->print_declarations(init_parse_b_);
+    if (!monitor->silence (s+"Declarations") && check_debug) {
+       lexer_p_->print_declarations (init_parse_b_);
     }
 #endif   
 }
 
 void
-My_lily_parser::parse_file(String init, String s)
+My_lily_parser::parse_file (String init, String s)
 {
     lexer_p_ = new My_lily_lexer;
     init_str_ = init;
@@ -60,18 +60,18 @@ My_lily_parser::parse_file(String init, String s)
     *mlog << "Parsing ... ";
     
     init_parse_b_ = true;
-    lexer_p_->new_inputinit, source_l_);
+    lexer_p_->new_input (init, source_l_);
     do_yyparse();
     print_declarations();
 
     init_parse_b_ = false;
-    lexer_p_->new_inputs , source_l_);
+    lexer_p_->new_input (s , source_l_);
     do_yyparse();
     print_declarations();
 
     
-    if(!define_spot_array_.empty())
-       warning("Braces don't match.");
+    if (!define_spot_array_.empty())
+       warning ("Braces don't match.");
 }
 
 My_lily_parser::~My_lily_parser()
@@ -82,7 +82,7 @@ My_lily_parser::~My_lily_parser()
 void
 My_lily_parser::remember_spot()
 {
-    define_spot_array_.push(here_input());
+    define_spot_array_.push (here_input());
 }
 
 char const * 
@@ -92,23 +92,23 @@ My_lily_parser::here_ch_C()const
 }
 
 void
-My_lily_parser::parser_error(String s)
+My_lily_parser::parser_error (String s)
 {
-    here_input().error(s);
-    if ( fatal_error_i_ )
-       exit( fatal_error_i_ );
+    here_input().error (s);
+    if ( fatal_error_i_)
+       exit (fatal_error_i_);
     error_level_i_ = 1;
 }
 
 void
-My_lily_parser::set_duration_mode(String s)
+My_lily_parser::set_duration_mode (String s)
 {
     s = s.upper_str();
     last_duration_mode_b_ = (s== "LAST");
 }
 
 void
-My_lily_parser::set_default_duration(Duration const *d)
+My_lily_parser::set_default_duration (Duration const *d)
 {
     last_duration_mode_b_ = false;
     default_duration_ = *d;
@@ -116,7 +116,7 @@ My_lily_parser::set_default_duration(Duration const *d)
 
 
 void
-My_lily_parser::set_last_duration(Duration const *d)
+My_lily_parser::set_last_duration (Duration const *d)
 {
     if (last_duration_mode_b_)
        default_duration_ = *d;
@@ -124,74 +124,74 @@ My_lily_parser::set_last_duration(Duration const *d)
 
 
 Chord*
-My_lily_parser::get_word_element(Text_def* tdef_p, Duration * duration_p)
+My_lily_parser::get_word_element (Text_def* tdef_p, Duration * duration_p)
 {
     Chord* velt_p = new Request_chord;
     
-    Lyric_req* lreq_p = new Lyric_req(tdef_p);
+    Lyric_req* lreq_p = new Lyric_req (tdef_p);
 
     lreq_p->duration_ = *duration_p;
-    lreq_p->set_spothere_input());
+    lreq_p->set_spot (here_input());
 
-    velt_p->add(lreq_p);
+    velt_p->add (lreq_p);
 
     delete  duration_p;
     return velt_p;
 }
 
 Chord *
-My_lily_parser::get_rest_element(String s,  Duration * duration_p )
+My_lily_parser::get_rest_element (String s,  Duration * duration_p)
 {    
     Chord* velt_p = new Request_chord;
-    velt_p->set_spothere_input());
+    velt_p->set_spot (here_input());
 
     if (s=="s") { /* Space */
        Skip_req * skip_p = new Skip_req;
        skip_p->duration_ = *duration_p;
 
-       skip_p->set_spothere_input());
-       velt_p->add(skip_p);
+       skip_p->set_spot (here_input());
+       velt_p->add (skip_p);
     }
     else {
        Rest_req * rest_req_p = new Rest_req;
        rest_req_p->duration_ = *duration_p;
-       rest_req_p->set_spothere_input());
+       rest_req_p->set_spot (here_input());
        
-       velt_p->add(rest_req_p);
+       velt_p->add (rest_req_p);
     }
     Stem_req * stem_p = new Stem_req;
     stem_p->duration_ = *duration_p;
-    stem_p->set_spot ( here_input ());
-    velt_p->add(stem_p);
+    stem_p->set_spot ( here_input());
+    velt_p->add (stem_p);
 
     delete duration_p;
     return velt_p;
 }
 
 Chord *
-My_lily_parser::get_note_element(Note_req *rq, Duration * duration_p )
+My_lily_parser::get_note_element (Note_req *rq, Duration * duration_p)
 {
     Chord*v = new Request_chord;
-    v->set_spothere_input());
+    v->set_spot (here_input());
 
-    v->add(rq);
+    v->add (rq);
     
     if (duration_p->type_i_ >= 2) {
        Stem_req * stem_req_p = new Stem_req();
        stem_req_p->duration_ = *duration_p;
        
-       stem_req_p->set_spothere_input());
-       v->add(stem_req_p);
+       stem_req_p->set_spot (here_input());
+       v->add (stem_req_p);
     }
 
-    rq->set_duration(*duration_p);
-    rq->set_spothere_input());
+    rq->set_duration (*duration_p);
+    rq->set_spot (here_input());
     delete duration_p ;
     return v;
 }
 
 Request*
-My_lily_parser::get_parens_request(char c)
+My_lily_parser::get_parens_request (char c)
 {
     Request* req_p=0;
     switch (c) {
@@ -221,7 +221,7 @@ My_lily_parser::get_parens_request(char c)
        req_p = new Slur_req;
        break;
     default:
-       assert(false);
+       assert (false);
        break;
     }
     
@@ -242,16 +242,16 @@ My_lily_parser::get_parens_request(char c)
        break;
     }
 
-   if (req_p->musical()->span_dynamic()) {
-       Span_dynamic_req* s_l= (req_p->musical()->span_dynamic()) ;
+   if (req_p->musical()->span_dynamic ()) {
+       Span_dynamic_req* s_l= (req_p->musical()->span_dynamic ()) ;
        s_l->dynamic_dir_i_ = (c == '<') ? 1:-1;
     }
 
-    req_p->set_spothere_input());
+    req_p->set_spot (here_input());
     return req_p;
 }
 
-My_lily_parser::My_lily_parser(Sources * source_l)
+My_lily_parser::My_lily_parser (Sources * source_l)
 {
     first_b_ = true;
     source_l_ = source_l;
@@ -265,14 +265,14 @@ My_lily_parser::My_lily_parser(Sources * source_l)
 }
 
 void
-My_lily_parser::add_requests(Chord*v)
+My_lily_parser::add_requests (Chord*v)
 {
     for (int i = 0; i < pre_reqs.size(); i++) {
-       v->add(pre_reqs[i]);
+       v->add (pre_reqs[i]);
     }
     pre_reqs.clear();
     for (int i = 0; i <post_reqs.size(); i++) {
-       v->add(post_reqs[i]);
+       v->add (post_reqs[i]);
     }
     post_reqs.clear();
 }
@@ -287,11 +287,11 @@ Input
 My_lily_parser::here_input()const
 {
     Source_file * f_l= lexer_p_->source_file_l();
-    return Input(f_l, here_ch_C());
+    return Input (f_l, here_ch_C());
 }
 
 void
-My_lily_parser::add_notename(String s, Melodic_req * m_p)
+My_lily_parser::add_notename (String s, Melodic_req * m_p)
 {
-    lexer_p_->add_notename(s, m_p);
+    lexer_p_->add_notename (s, m_p);
 }
index 7ce98ae77cac26a79d38f46143f83045b3ffea94..d9811ef3704c64370c63b61ddeeb2e48a1eb9b5c 100644 (file)
 #include "rest-column.hh"
 
 bool
-Note_column_engraver::acceptable_elem_b(Score_elem const*elem_C)const
+Note_column_engraver::acceptable_elem_b (Score_elem const*elem_C)const
 {
     char const*nC = elem_C->name();
-    return (nC == Script::static_name() || nC == Note_head::static_name() 
+    return (nC == Script::static_name() || nC == Note_head::static_name () 
            || nC == Stem::static_name());
 }
 Note_column*
@@ -25,7 +25,7 @@ Note_column_engraver::note_col_l()
 {
     if (!ncol_p_){
        ncol_p_ = new Note_column;
-       announce_element(Score_elem_info(ncol_p_, 0));
+       announce_element (Score_elem_info (ncol_p_, 0));
     }
     return ncol_p_;
 }
@@ -35,47 +35,47 @@ Note_column_engraver::rest_col_l()
 {
     if (!restcol_p_) {
        restcol_p_  = new Rest_column;
-       announce_element(Score_elem_info(restcol_p_,0));
+       announce_element (Score_elem_info (restcol_p_,0));
     }
     return restcol_p_;
 }
 
 void
-Note_column_engraver::acknowledge_element(Score_elem_info i)
+Note_column_engraver::acknowledge_element (Score_elem_info i)
 {
-    if (!acceptable_elem_b(i.elem_l_))
+    if (!acceptable_elem_b (i.elem_l_))
        return;
 
 
     char const*nC = i.elem_l_->name();
 
-    if (nC == Script::static_name() && i.req_l_ && i.req_l_->musical()) {
-       script_l_arr_.push((Script*)i.elem_l_->item());
+    if (nC == Script::static_name() && i.req_l_ && i.req_l_->musical ()) {
+       script_l_arr_.push ((Script*)i.elem_l_->item());
     } else if (nC == Note_head::static_name()) {
        Note_head * h_l = (Note_head*)i.elem_l_->item();
        if (h_l->rest_b_)
-           rest_col_l()->add(h_l);
+           rest_col_l()->add (h_l);
        else
-           note_col_l()->add(h_l);
+           note_col_l()->add (h_l);
 
     } else if (nC == Stem::static_name()){ 
        stem_l_ = (Stem*)i.elem_l_->item();
     }
 
-    if ( ncol_p_ || restcol_p_ ) {
-       if ( stem_l_ ) {
+    if ( ncol_p_ || restcol_p_) {
+       if ( stem_l_) {
            if (restcol_p_&& !restcol_p_->stem_l_)
-               restcol_p_->set (stem_l_ );
+               restcol_p_->set (stem_l_);
            if (ncol_p_ && !ncol_p_->stem_l_)
-               ncol_p_->set(stem_l_);
+               ncol_p_->set (stem_l_);
        }
     
     
        for (int i=0; i < script_l_arr_.size(); i++) {
            if (restcol_p_)
-               restcol_p_->add(script_l_arr_[i]);
-           if ( ncol_p_ )
-               ncol_p_->add(script_l_arr_[i]);
+               restcol_p_->add (script_l_arr_[i]);
+           if ( ncol_p_)
+               ncol_p_->add (script_l_arr_[i]);
        }
     
        script_l_arr_.clear();
@@ -89,17 +89,17 @@ Note_column_engraver::do_pre_move_processing()
     if (ncol_p_) {
        if (! ncol_p_->h_shift_b_)
            ncol_p_->h_shift_b_ = h_shift_b_;
-       if (! ncol_p_->dir_i_ )
+       if (! ncol_p_->dir_i_)
            ncol_p_->dir_i_ = dir_i_;
 
-       typeset_element(ncol_p_);
+       typeset_element (ncol_p_);
        ncol_p_ =0;
     }
     if (restcol_p_) {
-       if (! restcol_p_->dir_i_ )
+       if (! restcol_p_->dir_i_)
            restcol_p_->dir_i_ = dir_i_;
 
-       typeset_element(restcol_p_);
+       typeset_element (restcol_p_);
        restcol_p_ =0;
     }
 }
@@ -112,7 +112,7 @@ Note_column_engraver::do_post_move_processing()
 }
 
 void
-Note_column_engraver::set_feature(Feature i)
+Note_column_engraver::set_feature (Feature i)
 {
      if (i.type_ == "vdir")    
        dir_i_ = i.value_;
index e3bb6b1f524d6afe2b90ffca1908e6e4b32bcf56..343414c03591feb53d185828943708156b09f79e 100644 (file)
 IMPLEMENT_IS_TYPE_B1(Note_column,Head_column);
 
 void
-Note_column::set(Stem*s)
+Note_column::set (Stem*s)
 {
     stem_l_ = s;
-    add_support(s);
+    add_support (s);
 }
 
 Note_column::Note_column()
@@ -29,7 +29,7 @@ Note_column::Note_column()
 void
 Note_column::sort()
 {
-    head_l_arr_.sortNote_head::compare);
+    head_l_arr_.sort (Note_head::compare);
 }
     
 Interval_t<int>
@@ -46,7 +46,7 @@ void
 Note_column::do_pre_processing()
 {
     if (!dir_i_&& !stem_l_){
-       dir_i_ = (head_positions_interval().center() >=  5) ? -1 : 1;
+       dir_i_ = (head_positions_interval().center () >=  5) ? -1 : 1;
     }
     Head_column::do_pre_processing();
 }
index 5471110e900fc0585a5ee7ced49ca30785a26eda..e9e5dd5ca77f1d53e22aa879a6e540b634f46147 100644 (file)
@@ -26,7 +26,7 @@ void
 Note_performer::do_print() const
 {
 #ifndef NPRINT
-    if ( note_req_l_ ) {
+    if ( note_req_l_) {
        note_req_l_->print();
     }
 #endif
@@ -36,22 +36,22 @@ void
 Note_performer::process_requests() 
 {
     // this is _really_ braindead, but it generates some output
-    if ( !note_req_l_ || !note_req_l_->melodic()  || !note_req_l_->rhythmic() )
+    if ( !note_req_l_ || !note_req_l_->melodic()  || !note_req_l_->rhythmic ())
        return;
 
-    play( new Audio_note( note_req_l_ ) );
+    play (new Audio_note (note_req_l_) );
     note_req_l_ = 0;
 }
 
 bool 
-Note_performer::do_try_request( Request* req_l )
+Note_performer::do_try_request (Request* req_l)
 {
-    if ( note_req_l_ )
+    if ( note_req_l_)
        return false;
     
-    if ( !req_l->musical() || !req_l->musical()->note() )
+    if ( !req_l->musical() || !req_l->musical ()->note ())
        return false;
 
-    note_req_l_ = req_l->musical()->melodic();
+    note_req_l_ = req_l->musical()->melodic ();
     return true;
 }
index a783ca7a09140f28abcdc22ec3063094cdd3e0b6..2b1a8c447b3b69faedc4b86086054a4cd38c8277 100644 (file)
@@ -18,7 +18,7 @@
 
 
 String *
-get_scriptdef(char c)
+get_scriptdef (char c)
 {
     String s;
     switch (c) {
@@ -39,13 +39,13 @@ get_scriptdef(char c)
     case  '.' : s = "staccato";
        break;
     default:
-       assert(false);
+       assert (false);
     }
-    return new String(s);
+    return new String (s);
 }
 
 Request*
-get_script_req(int d , General_script_def*def)
+get_script_req (int d , General_script_def*def)
 {
     Musical_script_req* script_req_p = new Musical_script_req;
     script_req_p->dir_i_ =d;
@@ -56,30 +56,30 @@ get_script_req(int d , General_script_def*def)
 
 
 Request*
-get_stemdir_req(int d)
+get_stemdir_req (int d)
 {
-    d = sign(long(d));
+    d = sign (long (d));
     Group_feature_req * gfreq_p = new Group_feature_req;
     gfreq_p->type_str_ = "vdir";
-    gfreq_p->value_str_ = String(d);
+    gfreq_p->value_str_ = String (d);
     return gfreq_p;
 }
 Request*
-get_hshift_req(int i)
+get_hshift_req (int i)
 {
    Group_feature_req * gfreq_p = new Group_feature_req;
     gfreq_p->type_str_ = "hshift";
-    gfreq_p->value_str_ = String(i);
+    gfreq_p->value_str_ = String (i);
     return gfreq_p;
 }
     
 Request*
-get_grouping_req(Array<int> i_arr)
+get_grouping_req (Array<int> i_arr)
 {
     Measure_grouping_req * mr_p = new Measure_grouping_req;
-    for (int i=0; i <i_arr.size(); ) {
-       mr_p->elt_length_arr_.push(Moment(1, i_arr[i++]));
-       mr_p->beat_i_arr_.push(i_arr[i++]);
+    for (int i=0; i <i_arr.size();) {
+       mr_p->elt_length_arr_.push (Moment (1, i_arr[i++]));
+       mr_p->beat_i_arr_.push (i_arr[i++]);
     }
     return mr_p;
 }
index 1e37bb328b9a9ca5ff0799d5521803b7a4847754..860fee7258dbfb0f66232ae9ec5fb8b43f9c959b 100644 (file)
@@ -29,7 +29,7 @@
  */
 
 
-Note_head::Note_head(int ss)
+Note_head::Note_head (int ss)
 {
     x_dir_i_ = 0;
     staff_size_i_=ss;
@@ -57,7 +57,7 @@ Note_head::do_pre_processing()
 }
 
 void
-Note_head::set_rhythmic(Rhythmic_req*r_req_l)
+Note_head::set_rhythmic (Rhythmic_req*r_req_l)
 {
     balltype_i_ = r_req_l->duration_.type_i_;
     dots_i_ = r_req_l->duration_.dots_i_;
@@ -71,15 +71,15 @@ Note_head::do_print()const
 {
 #ifndef NPRINT
     if (rest_b_)
-       mtor << "REST! ";
-    mtor << "balltype_i_ "<< balltype_i_ << ", position_i_ = "<< position_i_
+       DOUT << "REST! ";
+    DOUT << "balltype_i_ "<< balltype_i_ << ", position_i_ = "<< position_i_
         << "dots_i_ " << dots_i_;
 #endif
 }
 
 
 int
-Note_head::compare(Note_head *const  &a, Note_head * const &b)
+Note_head::compare (Note_head *const  &a, Note_head * const &b)
 {
     return a->position_i_ - b->position_i_;
 }
@@ -109,18 +109,18 @@ Note_head::brew_molecule_p() const
     bool streepjes_b = (position_i_<-1) || (position_i_ > staff_size_i_+1);
     
     if (!rest_b_)
-       s = p->lookup_l()->ball(balltype_i_);
+       s = p->lookup_l()->ball (balltype_i_);
     else {
-       s = p->lookup_l()->rest(balltype_i_, streepjes_b);
+       s = p->lookup_l()->rest (balltype_i_, streepjes_b);
     }
-    out = new Molecule(Atom(s));
-    out->translate( x_dir_i_ * s.dim.x().length() , X_AXIS);
+    out = new Molecule (Atom (s));
+    out->translate (x_dir_i_ * s.dim.x().length () , X_AXIS);
     if (dots_i_) {
-       Symbol d = p->lookup_l()->dots(dots_i_ );
+       Symbol d = p->lookup_l()->dots (dots_i_);
        Molecule dm;
-       dm.add(Atom(d));
-       dm.translateinter_f * dot_delta_y_i_ , Y_AXIS);
-       out->add_right(dm);
+       dm.add (Atom (d));
+       dm.translate (inter_f * dot_delta_y_i_ , Y_AXIS);
+       out->add_right (dm);
     }
 
     
@@ -129,18 +129,18 @@ Note_head::brew_molecule_p() const
     }
     
     if (streepjes_b) {
-       int dir = sign(position_i_);
+       int dir = sign (position_i_);
        int s =(position_i_<-1) ? -((-position_i_)/2): (position_i_-staff_size_i_)/2;
        
-       Symbol str = p->lookup_l()->streepjes(s);
+       Symbol str = p->lookup_l()->streepjes (s);
        Molecule sm;
-       sm.add(Atom(str));
+       sm.add (Atom (str));
        if (position_i_ % 2)
-           sm.translate(-inter_f* dir, Y_AXIS);
-       out->add(sm);       
+           sm.translate (-inter_f* dir, Y_AXIS);
+       out->add (sm);      
     }
     
-    out->translate(inter_f*position_i_, Y_AXIS);
+    out->translate (inter_f*position_i_, Y_AXIS);
     return out;
 }
 
index 46838b96f8b9a6d391d9579cc17a6cb3801b15a7..325d91e5f8d00fe19bd434b2a64beb98b6cab20c 100644 (file)
 template class P<Melodic_req>;
 
 void
-Notename_table::add(String s, Melodic_req *m_p)
+Notename_table::add (String s, Melodic_req *m_p)
 {
-    elem(s).set_p(m_p);
+    elem (s).set_p (m_p);
 }
 
 Melodic_req*
-Notename_table::get_l(String s)
+Notename_table::get_l (String s)
 {
-    if (! elt_b(s))
+    if (! elt_b (s))
        return 0;
-    return elem(s);
+    return elem (s);
 }
     
index b433f1b41e61678e4e96c726a64f11b84fa7ce4a..69813e8a7e5557acd011f73674a3e1248af85b7d 100644 (file)
@@ -16,10 +16,10 @@ PCol::width() const
 {
     Interval w;
 
-    for (iter_top(its,i); i.ok(); i++)
-       w.unite(i->width());
+    for (iter_top (its,i); i.ok(); i++)
+       w.unite (i->width());
     if (w.empty_b())
-       w.unite(Interval(0,0));
+       w.unite (Interval (0,0));
     return w;
 }
 
@@ -42,7 +42,7 @@ PCol::rank_i() const
 }
 
 void
-PCol::set_rank(int i)
+PCol::set_rank (int i)
 {
     rank_i_ = i;
     if (prebreak_p_)
@@ -55,39 +55,39 @@ void
 PCol::print() const
 {
 #ifndef NPRINT
-    mtor << "PCol {";
+    DOUT << "PCol {";
 
-    mtor << "rank: " << rank_i_ << '\n';
+    DOUT << "rank: " << rank_i_ << '\n';
 
-    mtor << "# symbols: " << its.size() ;
+    DOUT << "# symbols: " << its.size() ;
     if (breakable_b()){
-       mtor << "\npre,post: ";
+       DOUT << "\npre,post: ";
        prebreak_p_->print();
        postbreak_p_->print();
     } else if (daddy_l_) {
-       mtor<<'\n' << ((this == daddy_l_->prebreak_p_) ?
+       DOUT <<'\n' << ((this == daddy_l_->prebreak_p_) ?
                       "prebreak" : "postbreak");
-       mtor << '\n';
+       DOUT << '\n';
     }
-    mtor << "extent: " << width().str() << "\n";
-    mtor << "}\n";
+    DOUT << "extent: " << width().str () << "\n";
+    DOUT << "}\n";
 #endif 
 }
 
 int
-PCol::compare(PCol const &c1, PCol const &c2)
+PCol::compare (PCol const &c1, PCol const &c2)
 {
-    return c1.rank_i() - c2.rank_i();
+    return c1.rank_i() - c2.rank_i ();
 }
 
 void
 PCol::OK() const
 {
 #ifndef NDEBUG
-    if (prebreak_p_ || postbreak_p_ ) {
-       assert(prebreak_p_&&postbreak_p_);
-       assert(prebreak_p_->daddy_l_ == this);
-       assert(postbreak_p_->daddy_l_ == this);
+    if (prebreak_p_ || postbreak_p_) {
+       assert (prebreak_p_&&postbreak_p_);
+       assert (prebreak_p_->daddy_l_ == this);
+       assert (postbreak_p_->daddy_l_ == this);
     }
 #endif
 }
@@ -144,14 +144,14 @@ PCol::~PCol()
 }
 
 void
-PCol::addItem *i)
+PCol::add (Item *i)
 {
-    its.bottom().add(i);
+    its.bottom().add (i);
     i->pcol_l_ = this; 
 }
 
 bool
 PCol::used_b()const
 {
-    return daddy_l_ || breakable_b() || its.size()|| used_b_;
+    return daddy_l_ || breakable_b() || its.size ()|| used_b_;
 }
index 3e1af5259a2895764a78d4d231064c00d441b9bf..73ab917422975fa1500bb3c35bc7399c186ffd6e 100644 (file)
 #include "word-wrap.hh"
 #include "gourlay-breaking.hh"
 
-Paper_score::Paper_score(Paper_def*p)
+Paper_score::Paper_score (Paper_def*p)
 {
     paper_l_ = p;
     super_elem_l_   = new Super_elem;
-    typeset_element(super_elem_l_);
+    typeset_element (super_elem_l_);
 }
 
 Paper_score::~Paper_score()
@@ -32,18 +32,18 @@ Paper_score::~Paper_score()
 }
 
 void
-Paper_score::typeset_element(Score_elem * elem_p)
+Paper_score::typeset_element (Score_elem * elem_p)
 {
-    elem_p_list_.bottom().add(elem_p);
+    elem_p_list_.bottom().add (elem_p);
     elem_p->pscore_l_ = this;
 
     elem_p->add_processing();
 }
 
 void
-Paper_score::typeset_item(Item *i, PCol *c)
+Paper_score::typeset_item (Item *i, PCol *c)
 {
-    assert(c && i);
+    assert (c && i);
     int breakstat = i->break_status_i_;
 
     if (breakstat == -1) {
@@ -52,24 +52,24 @@ Paper_score::typeset_item(Item *i, PCol *c)
        c = c->postbreak_p_;
     }
 
-    c->add(i);
-    typeset_element(i);
+    c->add (i);
+    typeset_element (i);
 }
 
 void
-Paper_score::typeset_broken_spanner(Spanner*span_p)
+Paper_score::typeset_broken_spanner (Spanner*span_p)
 {
     span_p->left_col_l_->starters.bottom().add (span_p);
-    assert(span_p->left_col_l_->line_l_ == span_p->right_col_l_->line_l_);
+    assert (span_p->left_col_l_->line_l_ == span_p->right_col_l_->line_l_);
 
-    typeset_element(span_p);
+    typeset_element (span_p);
 }
 
 
 void
-Paper_score::typeset_unbroken_spanner(Spanner*span_p)
+Paper_score::typeset_unbroken_spanner (Spanner*span_p)
 {
-    span_p_list_.bottom().add(span_p);
+    span_p_list_.bottom().add (span_p);
     span_p->pscore_l_=this;
 
     if (span_p->left_col_l_) 
@@ -86,28 +86,28 @@ void
 Paper_score::clean_cols()
 {
     int rank_i = 0;
-    for (iter_top(col_p_list_,c); c.ok(); )
+    for (iter_top (col_p_list_,c); c.ok();)
        if (!c->used_b()) {
            delete c.remove_p();
        } else {
-           c->set_rank(rank_i++);
+           c->set_rank (rank_i++);
            c++;
        }
 }
 
 void
-Paper_score::add(PCol *p)
+Paper_score::add (PCol *p)
 {
     p->pscore_l_ = this;
     if (p->breakable_b()){
        p->prebreak_p_->pscore_l_ = this;
        p->postbreak_p_->pscore_l_ = this;
     }
-    col_p_list_.bottom().add(p);
+    col_p_list_.bottom().add (p);
 }
 
 void
-Paper_score::output(Tex_stream &ts)
+Paper_score::output (Tex_stream &ts)
 {
     ts << "\n "<<  paper_l_->lookup_l()->texsetting << "%(Tex id)\n";
     ts<< super_elem_l_->TeX_string();
@@ -119,9 +119,9 @@ void
 Paper_score::OK()const
 {
 #ifndef NDEBUG
-    for (iter_top(col_p_list_,cc); cc.ok(); cc++)
+    for (iter_top (col_p_list_,cc); cc.ok(); cc++)
        cc->OK();
-    for (PCursor<Score_elem*> i( elem_p_list_.top()); i.ok(); i++) 
+    for (PCursor<Score_elem*> i (elem_p_list_.top()); i.ok (); i++) 
        i->OK();
 #endif
 }
@@ -132,19 +132,19 @@ Paper_score::print() const
 #ifndef NPRINT
     if ( !check_debug)
        return ;
-    mtor << "Paper_score { ";
+    DOUT << "Paper_score { ";
     paper_l_->print();
-    mtor << "\n elements: ";
-    for (iter_top(elem_p_list_,cc); cc.ok(); cc++)     
+    DOUT << "\n elements: ";
+    for (iter_top (elem_p_list_,cc); cc.ok(); cc++)    
        cc->print();
-    mtor << "\n unbroken spanners: ";
-    for (iter(span_p_list_.top(), i); i.ok(); i++)
+    DOUT << "\n unbroken spanners: ";
+    for (iter (span_p_list_.top(), i); i.ok (); i++)
        i->print();
-    mtor << "\ncolumns: ";
-     for (iter_top(col_p_list_,cc); cc.ok(); cc++)
+    DOUT << "\ncolumns: ";
+     for (iter_top (col_p_list_,cc); cc.ok(); cc++)
        cc->print();
     
-    mtor << "}\n";
+    DOUT << "}\n";
 #endif 
 }
 
@@ -163,33 +163,33 @@ Paper_score::postprocess()
 }
 
 PCursor<PCol *>
-Paper_score::find_col(PCol const *c)const
+Paper_score::find_col (PCol const *c)const
 {
     PCol const *what = c;
-    if (what->daddy_l_ )
+    if (what->daddy_l_)
        what = what->daddy_l_;
     
-    return col_p_list_.find((PCol*)what);
+    return col_p_list_.find ((PCol*)what);
 }
 
 
 void
-Paper_score::set_breaking(Array<Col_hpositions> const &breaking)
+Paper_score::set_breaking (Array<Col_hpositions> const &breaking)
 {
-    super_elem_l_->line_of_score_l_->set_breakingbreaking);
+    super_elem_l_->line_of_score_l_->set_breaking (breaking);
     super_elem_l_->break_processing();
 
 
-    for (iter(span_p_list_.top(),i); i.ok(); ) {
+    for (iter (span_p_list_.top(),i); i.ok ();) {
        Spanner *span_p = i.remove_p();
        if (span_p->broken_b()) {
            span_p->unlink();
            delete span_p;
        }else{
-           typeset_broken_spanner(span_p);
+           typeset_broken_spanner (span_p);
        }
     }
-    for (iter(elem_p_list_.top(),i ); i.ok() ;) {
+    for (iter (elem_p_list_.top(),i); i.ok () ;) {
        Item *i_l =i->item();
        if ( i_l && !i_l->pcol_l_->line_l_) {
            i_l->unlink();
@@ -198,7 +198,7 @@ Paper_score::set_breaking(Array<Col_hpositions> const &breaking)
            i++;
     }
 
-    for (iter_top(col_p_list_, i); i.ok(); i++)
+    for (iter_top (col_p_list_, i); i.ok(); i++)
        i->clean_breakable_items();
 }
 
@@ -207,25 +207,25 @@ Paper_score::calc_breaking()
 {
     Break_algorithm *algorithm_p;
     Array<Col_hpositions> sol;
-    bool try_wrap = ! paper_l_->get_var"castingalgorithm");
+    bool try_wrap = ! paper_l_->get_var ("castingalgorithm");
 
     if (!try_wrap) {
        algorithm_p = new Gourlay_breaking ;
-       algorithm_p->set_pscore(this);
+       algorithm_p->set_pscore (this);
        sol = algorithm_p->solve();
        delete algorithm_p;
        if ( ! sol.size()) { 
-            warning"Can not solve this casting problem exactly; revert to Word_wrap");
+            warning ("Can not solve this casting problem exactly; revert to Word_wrap");
            try_wrap = true;
        } 
     }
     if  (try_wrap) {
        algorithm_p = new Word_wrap;    
-       algorithm_p->set_pscore(this);
+       algorithm_p->set_pscore (this);
        sol = algorithm_p->solve();
        delete algorithm_p;
     }
-    set_breaking(sol);
+    set_breaking (sol);
 }
 
 void
@@ -241,63 +241,63 @@ Paper_score::process()
     postprocess();
     
 #ifndef NDEBUGA
-    for(PCursor<Score_elem*> i(elem_p_list_.top()); i.ok(); i++) 
+    for (PCursor<Score_elem*> i (elem_p_list_.top()); i.ok (); i++) 
        assert (i->status() >= 9);
 #endif
 }
 
 /** Get all breakable columns between l and r, (not counting l and r).  */
 Link_array<PCol>
-Paper_score::breakable_col_range(PCol*l,PCol*r)const
+Paper_score::breakable_col_range (PCol*l,PCol*r)const
 {
     Link_array<PCol> ret;
 
-    PCursor<PCol*> start(l ? find_col(l)+1 : col_p_list_.top() );
-    PCursor<PCol*> stop(r ? find_col(r) : col_p_list_.bottom());
+    PCursor<PCol*> start (l ? find_col (l)+1 : col_p_list_.top());
+    PCursor<PCol*> stop (r ? find_col (r) : col_p_list_.bottom());
 
     /*
       ugh! windows-suck-suck-suck.
      */
-    while ( PCursor<PCol*>::compare(start,stop) < 0 ) {
+    while ( PCursor<PCol*>::compare (start,stop) < 0) {
        if (start->breakable_b())
-           ret.push(start);
+           ret.push (start);
        start++;
     }
 
     return ret;
 }
 Link_array<PCol>
-Paper_score::col_range(PCol*l,PCol*r)const
+Paper_score::col_range (PCol*l,PCol*r)const
 {
     Link_array<PCol> ret;
     
-    PCursor<PCol*> start(l ? find_col(l)+1 : col_p_list_.top() );
-    PCursor<PCol*> stop(r ? find_col(r) : col_p_list_.bottom());
-    ret.push(l);
+    PCursor<PCol*> start (l ? find_col (l)+1 : col_p_list_.top());
+    PCursor<PCol*> stop (r ? find_col (r) : col_p_list_.bottom());
+    ret.push (l);
     
     /*
       ugh! windows-suck-suck-suck.
      */
-    while ( PCursor<PCol*>::compare(start,stop) < 0 )
-       ret.push(start++);
-    ret.push(r);
+    while ( PCursor<PCol*>::compare (start,stop) < 0)
+       ret.push (start++);
+    ret.push (r);
     return ret;
 }
 
 Link_array<PCol>
-Paper_score::broken_col_range(PCol*l,PCol*r)const
+Paper_score::broken_col_range (PCol*l,PCol*r)const
 {
     Link_array<PCol> ret;
 
-    PCursor<PCol*> start(l ? find_col(l)+1 : col_p_list_.top() );
-    PCursor<PCol*> stop(r ? find_col(r) : col_p_list_.bottom());
+    PCursor<PCol*> start (l ? find_col (l)+1 : col_p_list_.top());
+    PCursor<PCol*> stop (r ? find_col (r) : col_p_list_.bottom());
   
     /*
       ugh! windows-suck-suck-suck.
       */
-    while ( PCursor<PCol*>::compare(start,stop) < 0 ) {
-       if (start->breakable_b() && !start->line_l_ )
-           ret.push(start);
+    while ( PCursor<PCol*>::compare (start,stop) < 0) {
+       if (start->breakable_b() && !start->line_l_)
+           ret.push (start);
        start++;
     }
 
index baace2c030f282b80db685a7ac1d45062d156907..78f053d20ed072c0639b28a86373d4392a515ac3 100644 (file)
 #include "assoc-iter.hh"
 
 void
-Paper_def::set_var(String s, Real r)
+Paper_def::set_var (String s, Real r)
 {
-   real_vars_p_->elem(s) = r;
+   real_vars_p_->elem (s) = r;
 }
 
 Real
-Paper_def::get_var(String s)const
+Paper_def::get_var (String s)const
 {
-    if(! real_vars_p_->elt_b(s))
+    if (! real_vars_p_->elt_b (s))
        error ( "unknown paper variable `"  + s+"'");
-    return real_vars_p_->elem(s);
+    return real_vars_p_->elem (s);
 }
 
 Real
 Paper_def::linewidth_f() const
 {
-    return get_var("linewidth");
+    return get_var ("linewidth");
 }
 
 Real
-Paper_def::duration_to_dist(Moment d)
+Paper_def::duration_to_dist (Moment d)
 {
-    Real dur_f = (d) ?pow(get_var("geometric"), log_2(d)) : 0;
-    return get_var("basicspace") + get_var("unitspace")  * dur_f;
+    Real dur_f = (d) ?pow (get_var ("geometric"), log_2(d)) : 0;
+    return get_var ("basicspace") + get_var ("unitspace")  * dur_f;
 }
 
 
@@ -60,26 +60,26 @@ Paper_def::~Paper_def()
     delete lookup_p_;
 }
 
-Paper_def::Paper_def(Paper_def const&s)
+Paper_def::Paper_def (Paper_def const&s)
 {
-    itrans_p_ = s.itrans_p_ ? new Input_translator*s.itrans_p_):0;
-    lookup_p_ = s.lookup_p_? new Lookup(*s.lookup_p_) : 0;
+    itrans_p_ = s.itrans_p_ ? new Input_translator (*s.itrans_p_):0;
+    lookup_p_ = s.lookup_p_? new Lookup (*s.lookup_p_) : 0;
     lookup_p_->paper_l_ = this;
     real_vars_p_ = new Assoc<String,Real> (*s.real_vars_p_);
     outfile_str_ = s.outfile_str_;
 }
 
 void
-Paper_def::set(Input_translator * itrans_p)
+Paper_def::set (Input_translator * itrans_p)
 {
     delete itrans_p_;
     itrans_p_  = itrans_p;
 }
 
 void
-Paper_def::set(Lookup*l)
+Paper_def::set (Lookup*l)
 {
-    assert(l != lookup_p_);
+    assert (l != lookup_p_);
     delete lookup_p_;
     lookup_p_ = l;
     lookup_p_->paper_l_ = this;
@@ -88,20 +88,20 @@ Paper_def::set(Lookup*l)
 Real
 Paper_def::interline_f() const
 {
-    return get_var("interline");
+    return get_var ("interline");
 }
 
 
 Real
 Paper_def::rule_thickness()const
 {
-    return get_var("rule_thickness");
+    return get_var ("rule_thickness");
 }
 
 Real
 Paper_def::interbeam_f() const
 {
-    return get_var("interbeam");
+    return get_var ("interbeam");
 }
 Real
 Paper_def::internote_f() const
@@ -112,33 +112,33 @@ Paper_def::internote_f() const
 Real
 Paper_def::note_width()const
 {
-    return get_var("notewidth");
+    return get_var ("notewidth");
 }
 
 void
 Paper_def::print() const
 {
 #ifndef NPRINT
-    mtor << "Paper {";
-    mtor << "out: " <<outfile_str_;
+    DOUT << "Paper {";
+    DOUT << "out: " <<outfile_str_;
     lookup_p_->print();
     itrans_p_->print();
-    for (Assoc_iter<String,Real> i(*real_vars_p_); i.ok(); i++) {
-       mtor << i.key() << "= " << i.val() << "\n";
+    for (Assoc_iter<String,Real> i (*real_vars_p_); i.ok(); i++) {
+       DOUT << i.key() << "= " << i.val () << "\n";
     }
-    mtor << "}\n";
+    DOUT << "}\n";
 #endif
 }
 
 Lookup const *
 Paper_def::lookup_l()
 {
-    assert( lookup_p_ );
+    assert (lookup_p_);
     return lookup_p_;
 }
 
 Global_translator*
 Paper_def::get_global_translator_p() const
 {
-    return  itrans_p_->get_group_engraver_p()->global_l();
+    return  itrans_p_->get_group_engraver_p()->global_l ();
 }
index b06ca442cd48495f9089543185a824688b65cd53..8722ffb133c0bed1d6b8e1e3aea7fdbba97b18dd 100644 (file)
@@ -184,7 +184,7 @@ yylex(YYSTYPE *s,  void * v_l)
 %type <music>  simple_element music_elt full_element lyrics_elt command_elt
 %type <i>      int
 %type <i>      script_dir
-%type <id>     declaration
+%type <id>     identifier_init
 %type <duration>       explicit_duration notemode_duration entered_notemode_duration
 %type <interval>       dinterval
 %type <intvec> intastint_list
@@ -206,9 +206,7 @@ yylex(YYSTYPE *s,  void * v_l)
 %type <score>  score_block score_body
 %type <script> script_definition script_body mudela_script gen_script_def
 %type <textdef> text_def
-%type <string> declarable_identifier
 %type <string> script_abbreviation
-%type <id>     old_identifier
 %type <symbol> symboldef
 %type <symtable>       symtable symtable_body
 %type <itrans> input_translator_spec input_translator_spec_body
@@ -258,81 +256,60 @@ notenames_body:
 /*
        DECLARATIONS
 */
-add_declaration: declaration   {
-               THIS->lexer_p_->add_identifier($1);
-               $1->init_b_ = THIS->init_parse_b_;
-               $1->set_spot(THIS->pop_spot());
-       }
-       ;
 
-declarable_identifier:
+add_declaration:
        STRING {
                THIS->remember_spot();
-           $$ = $1;
        }
-       | old_identifier { 
-               THIS->remember_spot();
-               $$ = new String($1->name_str_); 
-               THIS->here_input().warning("redeclaration of `" + *$$ + "'");
+       /* cont */ '=' identifier_init {
+           THIS->lexer_p_->set_identifier(*$1, $4);
+           $4->init_b_ = THIS->init_parse_b_;
+           $4->set_spot(THIS->pop_spot());
        }
        ;
-
-
-old_identifier:
-       IDENTIFIER
-       |       INPUT_TRANS_IDENTIFIER
-       |       MELODIC_REQUEST_IDENTIFIER 
-       |       POST_REQUEST_IDENTIFIER
-       |       SCRIPT_IDENTIFIER
-       |       REAL_IDENTIFIER
-       |       SCORE_IDENTIFIER
-       |       REQUEST_IDENTIFIER
-       ;
-
-declaration:
-       declarable_identifier '=' score_block {
-               $$ = new Score_id(*$1, $3, SCORE_IDENTIFIER);
-               delete $1;
+identifier_init:
+       score_block {
+               $$ = new Score_id($1, SCORE_IDENTIFIER);
+               
        }
-       | declarable_identifier '=' paper_block {
-               $$ = new Paper_def_id(*$1, $3, PAPER_IDENTIFIER);
-               delete $1;
+       | paper_block {
+               $$ = new Paper_def_id($1, PAPER_IDENTIFIER);
+               
        }
-       | declarable_identifier '=' midi_block {
-               $$ = new Midi_def_id(*$1, $3, MIDI_IDENTIFIER);
-               delete $1;
+       | midi_block {
+               $$ = new Midi_def_id($1, MIDI_IDENTIFIER);
+               
        }
-       | declarable_identifier '=' script_definition {
-               $$ = new Script_id(*$1, $3, SCRIPT_IDENTIFIER);
-               delete $1;
+       | script_definition {
+               $$ = new Script_id($1, SCRIPT_IDENTIFIER);
+               
        }
-       | declarable_identifier '=' Music  {
-               $$ = new Music_id(*$1, $3, MUSIC_IDENTIFIER);
-               delete $1;
+       | Music  {
+               $$ = new Music_id($1, MUSIC_IDENTIFIER);
+               
        }
-       | declarable_identifier '=' symtables {
-               $$ = new Lookup_id(*$1, $3, IDENTIFIER);
-               delete $1;
+       | symtables {
+               $$ = new Lookup_id($1, IDENTIFIER);
+               
        }
-       | declarable_identifier '=' real        {
-               $$ = new Real_id(*$1, new Real($3), REAL_IDENTIFIER);
-               delete $1;
+       | real  {
+               $$ = new Real_id(new Real($1), REAL_IDENTIFIER);
+               
        }
-       | declarable_identifier '=' int {
-               $$ = new Int_id(*$1, new int($3), INT_IDENTIFIER);
-               delete $1;
+       | int   {
+               $$ = new Int_id(new int($1), INT_IDENTIFIER);
+               
        }
-       | declarable_identifier '=' post_request {
-               $$ = new Request_id(*$1, $3, POST_REQUEST_IDENTIFIER);
-               delete $1;
+       | post_request {
+               $$ = new Request_id($1, POST_REQUEST_IDENTIFIER);
+               
        }
-       | declarable_identifier '=' melodic_request {
-               $$ = new Request_id(*$1, $3, MELODIC_REQUEST_IDENTIFIER);
-               delete $1;
+       | melodic_request {
+               $$ = new Request_id($1, MELODIC_REQUEST_IDENTIFIER);
+               
        }
-       | declarable_identifier '=' input_translator_spec {
-               $$ = new Input_translator_id ( *$1, $3, INPUT_TRANS_IDENTIFIER);
-               delete $1;
+       | input_translator_spec {
+               $$ = new Input_translator_id ( $1, INPUT_TRANS_IDENTIFIER);
        }
        ;
 
@@ -345,7 +322,7 @@ input_translator_spec:
 
 input_translator_spec_body:
        INPUT_TRANS_IDENTIFIER  {
-               $$ = $1->input_translator(true);
+               $$ = $1->input_translator();
                $$-> set_spot( THIS->here_input() );
        }
        | STRING STRING { 
@@ -394,7 +371,7 @@ score_body:         {
                $$ = new Score; 
        }
        | SCORE_IDENTIFIER {
-               $$ = $1->score(true);
+               $$ = $1->score();
        }
        | score_body Music      {
                $$->music_p_ = $2;
@@ -516,7 +493,7 @@ Music:
        | Voice         { $$ = $1; }
        | Chord                 { $$ = $1; }
        | transposed_music      { $$ = $1; }
-       | MUSIC_IDENTIFIER      { $$ = $1->music(true); }
+       | MUSIC_IDENTIFIER      { $$ = $1->music(); }
        | MELODIC 
                { THIS->lexer_p_->push_note_state(); } 
        Music
@@ -597,7 +574,7 @@ abbrev_command_req:
                $$ = new Barcheck_req;
        }
        | COMMAND_IDENTIFIER    {
-               $$ = $1->request(true);
+               $$ = $1->request();
        }
        ;
 
@@ -669,7 +646,7 @@ post_requests:
 
 post_request:
        POST_REQUEST_IDENTIFIER {
-               $$ = (Request*)$1->request(true);
+               $$ = (Request*)$1->request();
        }
        |close_request_parens   { 
                $$ = THIS->get_parens_request($1); 
@@ -839,10 +816,10 @@ script_abbreviation:
        ;
        
 mudela_script:
-       SCRIPT_IDENTIFIER               { $$ = $1->script(true); }
+       SCRIPT_IDENTIFIER               { $$ = $1->script(); }
        | script_definition             { $$ = $1; }
        | script_abbreviation           { 
-               $$ = THIS->lexer_p_->lookup_identifier(*$1)->script(true);
+               $$ = THIS->lexer_p_->lookup_identifier(*$1)->script();
                delete $1;
        }
        ;
@@ -993,7 +970,9 @@ int:
                $$ = $1;
        }
        | INT_IDENTIFIER        {
-               $$ = * $1->intid(0);
+               int *i_p = $1->intid();
+               $$ = *i_p;
+               delete i_p;
        }
        ;
 
@@ -1003,7 +982,9 @@ real:
                $$ = $1;
        }
        | REAL_IDENTIFIER               {
-               $$ = * $1->real(0);             
+               Real *r_p = $1->real();
+               $$ = * r_p;
+               delete r_p;
        }
        ;
        
@@ -1032,7 +1013,7 @@ symtables_body:
                $$ = new Lookup;
        }
        | IDENTIFIER            {
-               $$ = $1->lookup(true);
+               $$ = $1->lookup();
        }
        | symtables_body TEXID STRING           {
                $$->texsetting = *$3;
@@ -1102,13 +1083,13 @@ Paper_def*
 My_lily_parser::default_paper()
 {
        Identifier *id = lexer_p_->lookup_identifier( "default_paper" );
-       return id ? id->paperdef(true) : new Paper_def ;
+       return id ? id->paperdef() : new Paper_def ;
 }
 
 Midi_def*
 My_lily_parser::default_midi()
 {
        Identifier *id = lexer_p_->lookup_identifier( "default_midi" );
-       return id ? id->mididef(true) : new Midi_def ;
+       return id ? id->mididef() : new Midi_def ;
 }
 
index b697dca1a66dd65d2f0f9d56a710c3a11a6490bf..266912313336a07ae012412d1883a10335a62fa4 100644 (file)
@@ -20,25 +20,25 @@ Performer_group_performer::~Performer_group_performer()
 }
 
 void
-Performer_group_performer::add( Performer *perf_p )
+Performer_group_performer::add (Performer *perf_p)
 {
-    perf_p_list_.bottom().add(perf_p);
+    perf_p_list_.bottom().add (perf_p);
     perf_p->daddy_perf_l_ = this;
 
-    if (perf_p->is_type_b(Performer_group_performer::static_name())) {
-       group_l_arr_.push((Performer_group_performer*)perf_p);
+    if (perf_p->is_type_b (Performer_group_performer::static_name())) {
+       group_l_arr_.push ((Performer_group_performer*)perf_p);
     } else {
-       nongroup_l_arr_ .push(perf_p);
+       nongroup_l_arr_ .push (perf_p);
     }
 }
 
 Translator*
-Performer_group_performer::ancestor_l( int l )
+Performer_group_performer::ancestor_l (int l)
 {
     if (!l || !daddy_perf_l_)
        return this;
     
-    return daddy_perf_l_->ancestor_l( l - 1 );
+    return daddy_perf_l_->ancestor_l (l - 1);
 }
 
 int
@@ -50,7 +50,7 @@ Performer_group_performer::depth_i() const
 void
 Performer_group_performer::do_creation_processing()
 {
-    for ( PCursor<Performer*> i( perf_p_list_.top() ); i.ok(); i++ )
+    for ( PCursor<Performer*> i (perf_p_list_.top()); i.ok (); i++ )
        i->creation_processing();
 }
 
@@ -60,7 +60,7 @@ Performer_group_performer::do_print()const
 #ifndef NPRINT
     if ( !check_debug)
        return ;
-    for ( PCursor<Performer*> i( perf_p_list_.top() ); i.ok(); i++ )
+    for ( PCursor<Performer*> i (perf_p_list_.top()); i.ok (); i++ )
        i->print();
 #endif
 }
@@ -68,58 +68,58 @@ Performer_group_performer::do_print()const
 void
 Performer_group_performer::do_removal_processing()
 {
-    for ( PCursor<Performer*> i( perf_p_list_.top() ); i.ok(); i++ )
+    for ( PCursor<Performer*> i (perf_p_list_.top()); i.ok (); i++ )
        i->do_removal_processing();
 }
 
 bool
-Performer_group_performer::do_try_request( Request* req_l )
+Performer_group_performer::do_try_request (Request* req_l)
 {
     bool hebbes_b =false;
     for (int i =0; !hebbes_b && i < nongroup_l_arr_.size() ; i++)
-       hebbes_b =nongroup_l_arr_[i]->try_request(req_l);
-    if ( !hebbes_b && daddy_perf_l_ )
-       hebbes_b = daddy_perf_l_->try_request(req_l);
+       hebbes_b =nongroup_l_arr_[i]->try_request (req_l);
+    if ( !hebbes_b && daddy_perf_l_)
+       hebbes_b = daddy_perf_l_->try_request (req_l);
     return hebbes_b ;
 }
 
 Translator*
-Performer_group_performer::find_get_translator_l( String n,String id )
+Performer_group_performer::find_get_translator_l (String n,String id)
 {
     Translator * ret=0;
-    Input_translator* itrans_l= itrans_l_-> recursive_find ( n );
-    if (itrans_l ) {
-       ret = find_performer_l(n,id);
+    Input_translator* itrans_l= itrans_l_-> recursive_find ( n);
+    if (itrans_l) {
+       ret = find_performer_l (n,id);
        if (!ret) {
            Performer_group_performer * group = 
                itrans_l-> get_group_performer_p();
            
-           add(group);
+           add (group);
            ret = group;
            
-           if (group->itrans_l_->is_name_b( n ) )
+           if (group->itrans_l_->is_name_b (n) )
                ret ->id_str_ = id;
            else
-               return ret->find_get_translator_l(n,id);
+               return ret->find_get_translator_l (n,id);
 
        }
     } else if (daddy_perf_l_)
-       ret =daddy_perf_l_->find_get_translator_l(n,id);
+       ret =daddy_perf_l_->find_get_translator_l (n,id);
     else {
-       warning("Can't find or create `" + n + "' called `" + id + "'\n");
+       warning ("Can't find or create `" + n + "' called `" + id + "'\n");
        ret =0;
     }
     return ret;
 }
 
 Performer_group_performer*
-Performer_group_performer::find_performer_l( String n, String id )
+Performer_group_performer::find_performer_l (String n, String id)
 {
     if (name() == n && id_str_ == id)
        return this;
     Performer_group_performer * r = 0;
     for (int i =0; !r && i<  group_l_arr_.size(); i++) {
-       r = group_l_arr_[i]->find_performer_l(n,id);
+       r = group_l_arr_[i]->find_performer_l (n,id);
     }
     
     return r;
@@ -129,12 +129,12 @@ Translator*
 Performer_group_performer::get_default_interpreter()
 {
     // ? 
-    if ( is_bottom_performer_b() )
+    if ( is_bottom_performer_b())
        return daddy_perf_l_->get_default_interpreter();
 
     Performer_group_performer *perf_p= itrans_l_->
-       get_default_itrans_l()->get_group_performer_p();
-    add(perf_p );
+       get_default_itrans_l()->get_group_performer_p ();
+    add (perf_p);
     if (perf_p->is_bottom_performer_b())
        return perf_p;
     else
@@ -156,12 +156,12 @@ Performer_group_performer::print() const
 void
 Performer_group_performer::process_requests()
 {
-    for ( PCursor<Performer*> i( perf_p_list_.top() ); i.ok(); i++ )
+    for ( PCursor<Performer*> i (perf_p_list_.top()); i.ok (); i++ )
        i->process_requests();
 }
 
 bool 
-Performer_group_performer::try_request( Request* r )
+Performer_group_performer::try_request (Request* r)
 {
-    return Performer::try_request( r ); 
+    return Performer::try_request (r); 
 }
index c1d84ca83b380be89a93bda7be1604105e855b02..5e6fc2d9533d35a696c05285db748ba8ff202bce 100644 (file)
@@ -30,9 +30,9 @@ Performer::do_print() const
 }
 
 void 
-Performer::play( Audio_element* p 
+Performer::play (Audio_element* p
 { 
-    daddy_perf_l_->play( p ); 
+    daddy_perf_l_->play (p); 
 }
 
 int
@@ -45,9 +45,9 @@ void
 Performer::print() const
 {
 #ifndef NPRINT
-    mtor << "\n" << name() << " {";
+    DOUT << "\n" << name() << " {";
     do_print();
-    mtor << "}";
+    DOUT << "}";
 #endif
 }
 
@@ -57,18 +57,18 @@ Performer::process_requests()
 }
 
 bool 
-Performer::do_try_request( Request* req_l )
+Performer::do_try_request (Request* req_l)
 {
     return false;
 }
 
 bool
-Performer::try_request(Request*r)
+Performer::try_request (Request*r)
 {
     if (!init_b_) { 
        creation_processing();
     }
-    return do_try_request(r);
+    return do_try_request (r);
 }
 
 void
index fd235d6df2d0fc409e124107ff12905f72e12678..6625b68babdf7140258b8f8f851c524e5016aa89 100644 (file)
 #include "qlp.hh"
 
 void
-Mixed_qp::add_equality_cons(Vector , double )
+Mixed_qp::add_equality_cons (Vector , double)
 {
-    assert(false);
+    assert (false);
 }
 
 void
-Mixed_qp::add_fixed_var(int i, Real r)
+Mixed_qp::add_fixed_var (int i, Real r)
 {
-    eq_cons.push(i);
-    eq_consrhs.push(r);
+    eq_cons.push (i);
+    eq_consrhs.push (r);
 }
 
 
@@ -31,35 +31,35 @@ Mixed_qp::add_fixed_var(int i, Real r)
     cons should be ascending
     */
 Vector
-Mixed_qp::solve(Vector start) const 
+Mixed_qp::solve (Vector start) const 
 {
     if (!dim())
-       return Vector(0);
+       return Vector (0);
     
     print();
-    Ineq_constrained_qp pure(*this);
+    Ineq_constrained_qp pure (*this);
     
     for  (int i= eq_cons.size()-1; i>=0; i--) {
-       pure.eliminate_var(eq_cons[i], eq_consrhs[i]);
-       start.del(eq_cons[i]);
+       pure.eliminate_var (eq_cons[i], eq_consrhs[i]);
+       start.del (eq_cons[i]);
     }
-    Vector sol = pure.solve(start);
+    Vector sol = pure.solve (start);
     for (int i= 0; i < eq_cons.size(); i++) {
-       sol.inserteq_consrhs[i],eq_cons[i]);
+       sol.insert (eq_consrhs[i],eq_cons[i]);
     }
     return sol;
 }
 
 
 void
-Ineq_constrained_qp::assert_solution(Vector sol) const
+Ineq_constrained_qp::assert_solution (Vector sol) const
 {
     Array<int> binding;
     for (int i=0; i < cons.size(); i++) {
        Real R=cons[i] * sol- consrhs[i];
-       assert(R> -EPS);
+       assert (R> -EPS);
        if (R < EPS)
-           binding.push(i);
+           binding.push (i);
     }
     // KKT check...
     // todo
@@ -69,18 +69,18 @@ void
 Ineq_constrained_qp::print() const
 {
 #ifndef NPRINT
-    mtor << "Quad " << quad;
-    mtor << "lin " << lin <<"\n"
+    DOUT << "Quad " << quad;
+    DOUT << "lin " << lin <<"\n"
        << "const " << const_term<<"\n";
     for (int i=0; i < cons.size(); i++) {
-       mtor << "constraint["<<i<<"]: " << cons[i] << " >= " << consrhs[i];
-       mtor << "\n";
+       DOUT << "constraint["<<i<<"]: " << cons[i] << " >= " << consrhs[i];
+       DOUT << "\n";
     }
 #endif
 }
 
-Mixed_qp::Mixed_qp(int n)
-    : Ineq_constrained_qp(n)
+Mixed_qp::Mixed_qp (int n)
+    : Ineq_constrained_qp (n)
 {
 }
 
@@ -89,7 +89,7 @@ Mixed_qp::OK() const
 {
 #ifndef NDEBUG
     Ineq_constrained_qp::OK();
-    assert(eq_consrhs.size() == eq_cons.size());
+    assert (eq_consrhs.size() == eq_cons.size ());
 #endif    
 }
 
@@ -99,7 +99,7 @@ Mixed_qp::print() const
 #ifndef NPRINT
     Ineq_constrained_qp::print();
     for (int i=0; i < eq_cons.size(); i++) {
-       mtor << "eq cons "<<i<<": x["<<eq_cons[i]<<"] == " << eq_consrhs[i]<<"\n";
+       DOUT << "eq cons "<<i<<": x["<<eq_cons[i]<<"] == " << eq_consrhs[i]<<"\n";
     }
 #endif
 }
index 46f0ce64f45d8a46ff02d527f94092d92c04f09f..a7f438b77044e905bad83ea694e0baf28c2cabe4 100644 (file)
@@ -19,14 +19,14 @@ const Real TOL=1e-1;                // roughly 1/30 mm
 String
 Active_constraints::status() const
 {
-    String s("Active|Inactive [");
+    String s ("Active|Inactive [");
     for (int i=0; i< active.size(); i++) {
-       s += String(active[i]) + " ";
+       s += String (active[i]) + " ";
     }
 
     s+="| ";
     for (int i=0; i< inactive.size(); i++) {
-       s += String(inactive[i]) + " ";
+       s += String (inactive[i]) + " ";
     }
     s+="]";
 
@@ -39,13 +39,13 @@ Active_constraints::OK()
 #ifndef NDEBUG
     H.OK();
     A.OK();
-    assert(active.size() +inactive.size() == opt->cons.size());
-    assert(H.dim() == opt->dim());
-    assert(active.size() == A.rows());
+    assert (active.size() +inactive.size () == opt->cons.size ());
+    assert (H.dim() == opt->dim ());
+    assert (active.size() == A.rows ());
     Array<int> allcons;
 
     for (int i=0; i < opt->cons.size(); i++)
-       allcons.push(0);
+       allcons.push (0);
     for (int i=0; i < active.size(); i++) {
        int j = active[i];
        allcons[j]++;
@@ -55,39 +55,39 @@ Active_constraints::OK()
        allcons[j]++;
     }
     for (int i=0; i < allcons.size(); i++)
-       assert(allcons[i] == 1);
+       assert (allcons[i] == 1);
 #endif
 }
 
 Vector
-Active_constraints::get_lagrange(Vector gradient)
+Active_constraints::get_lagrange (Vector gradient)
 {
     return (A*gradient);
 }
 
 void
-Active_constraints::add(int k)
+Active_constraints::add (int k)
 {
     // add indices
     int cidx=inactive[k];
-    active.push(cidx);
+    active.push (cidx);
 
-    inactive.swap(k,inactive.size()-1);
+    inactive.swap (k,inactive.size()-1);
     inactive.pop();
 
-    Vector a( opt->cons[cidx] );
+    Vector a (opt->cons[cidx]);
     // update of matrices
     Vector Ha = H*a;
     Real aHa = a*Ha;
-    Vector addrow(Ha.dim());
-    if (abs(aHa) > EPS) {
+    Vector addrow (Ha.dim());
+    if (abs (aHa) > EPS) {
        /*
          a != 0, so if Ha = O(EPS), then
          Ha * aH / aHa = O(EPS^2/EPS)
 
          if H*a == 0, the constraints are dependent.
          */
-       H -= Matrix(Ha/aHa , Ha);
+       H -= Matrix (Ha/aHa , Ha);
     
 
        /*
@@ -95,51 +95,51 @@ Active_constraints::add(int k)
          */
        addrow=Ha;
         addrow/= aHa;
-       A -= Matrix(A*a, addrow);
-       A.insert_row(addrow,A.rows());
+       A -= Matrix (A*a, addrow);
+       A.insert_row (addrow,A.rows());
     }else
        WARN << "degenerate constraints";
 }
 
 void
-Active_constraints::drop(int k)
+Active_constraints::drop (int k)
 {
     int q=active.size()-1;
 
         // drop indices
-    inactive.push(active[k]);
-    active.swap(k,q);
-    A.swap_rows(k,q);
+    inactive.push (active[k]);
+    active.swap (k,q);
+    A.swap_rows (k,q);
     active.pop();
 
-    Vector a(A.row(q));
+    Vector a (A.row (q));
     if (a.norm() > EPS) {
        /*
         
         */
         Real q = a*opt->quad*a;
-       Matrix aaq(a,a/q);
+       Matrix aaq (a,a/q);
        H += aaq;
        A -= A*opt->quad*aaq;
     }else
        WARN << "degenerate constraints";
 #ifndef NDEBUG
-    Vector rem_row(A.row(q));
-    assert(rem_row.norm() < EPS);
+    Vector rem_row (A.row (q));
+    assert (rem_row.norm() < EPS);
 #endif
      
-    A.delete_row(q);
+    A.delete_row (q);
 }
 
 
-Active_constraints::Active_constraints(Ineq_constrained_qp const *op)
+Active_constraints::Active_constraints (Ineq_constrained_qp const *op)
     :       A(0,op->dim()),
            H(op->dim()),
-           opt(op)
+           opt (op)
 {
     for (int i=0; i < op->cons.size(); i++)
-       inactive.push(i);
-    Choleski_decomposition chol(op->quad);
+       inactive.push (i);
+    Choleski_decomposition chol (op->quad);
 
     /*
       ugh.
@@ -152,7 +152,7 @@ Active_constraints::Active_constraints(Ineq_constrained_qp const *op)
     constraints.        
     */
 Vector
-Active_constraints::find_active_optimum(Vector g)
+Active_constraints::find_active_optimum (Vector g)
 {
     return H*g;
 }
index 36589b64554f4a81c9c06def26310233f05f986f..0b177e39ac7697381ab17633f082dcf56ea712a9 100644 (file)
@@ -20,23 +20,23 @@ Request::do_print() const
 MInterval
 Request::time_int() const
 {
-    return MInterval(0, duration());
+    return MInterval (0, duration());
 }
 
 
 bool
-Request::equal_b(Request *r)const
+Request::equal_b (Request *r)const
 {
-    if ( is_type_b ( r->name() ) )
-       return r->do_equal_b( (Request*)this );
-    if ( r->is_type_b( name ()))
-       return do_equal_b( r );
+    if ( is_type_b ( r->name()) )
+       return r->do_equal_b ((Request*)this);
+    if ( r->is_type_b (name()))
+       return do_equal_b (r);
         
     return false;
 }
 
 bool
-Request::do_equal_b(Request*)const
+Request::do_equal_b (Request*)const
 {
     return false;
 }
index bf18c12e1ad3a2c5f344c1060b4aad33e711cc4e..7f3dc025072fb0034f2872a15e3611b92cf3b6c8 100644 (file)
@@ -23,24 +23,24 @@ Rest_collision_engraver::Rest_collision_engraver()
 }
 
 void
-Rest_collision_engraver::acknowledge_element(Score_elem_info i)
+Rest_collision_engraver::make_collision()
 {
-    char const * nC = i.elem_l_->name();
-    if (nC == Collision::static_name()) {
-       collision_l_arr_.push((Collision*)i.elem_l_->item());
-    } 
-    else if (nC == Note_column::static_name()) {
-       // what should i do, what should _engraver do?
-       if (!rest_collision_p_) {
+    if (!rest_collision_p_) {
            rest_collision_p_ = new Rest_collision;
-           announce_element(Score_elem_info(rest_collision_p_, 0));
-       }
-       rest_collision_p_->add((Note_column*)i.elem_l_->item());
+           announce_element (Score_elem_info (rest_collision_p_, 0));
     }
-    else if (nC == Rest_column::static_name()) {
-       if (!rest_collision_p_)
-           rest_collision_p_ = new Rest_collision;
-       rest_collision_p_->add((Rest_column*)i.elem_l_->item());
+}
+void
+Rest_collision_engraver::acknowledge_element (Score_elem_info i)
+{
+    char const * nC = i.elem_l_->name();
+    if (nC == Note_column::static_name()) {
+       // what should i do, what should _engraver do?
+       make_collision();
+       rest_collision_p_->add ((Note_column*)i.elem_l_->item());
+    } else if (nC == Rest_column::static_name()) {
+       make_collision();
+       rest_collision_p_->add ((Rest_column*)i.elem_l_->item());
     }
 }
 
@@ -48,7 +48,7 @@ void
 Rest_collision_engraver::do_pre_move_processing()
 {
     if (rest_collision_p_) {
-       typeset_element(rest_collision_p_);
+       typeset_element (rest_collision_p_);
        rest_collision_p_ = 0;
     }
 }
@@ -57,7 +57,7 @@ void
 Rest_collision_engraver::do_print() const
 {
 #ifndef NPRINT
-    if ( rest_collision_p_ )
+    if ( rest_collision_p_)
        rest_collision_p_->print();
 #endif
 }
index 7b3da49d41f6ed2eb4c85a42a5a48c9ff7875ef8..10fb35ec70d05a4fdf020eaeeac0ee6d87360369 100644 (file)
 IMPLEMENT_IS_TYPE_B1(Rest_collision,Item);
 
 void
-Rest_collision::add(Note_column *nc_l)
+Rest_collision::add (Note_column *nc_l)
 {
-    add_dependency(nc_l);
-    ncol_l_arr_.push(nc_l);
+    add_dependency (nc_l);
+    ncol_l_arr_.push (nc_l);
 }
 
 void
-Rest_collision::add(Rest_column *rc_l)
+Rest_collision::add (Rest_column *rc_l)
 {
-    add_dependency(rc_l);
-    rest_l_arr_.push(rc_l);
-}
-
-void
-Rest_collision::add(Collision * c_l)
-{
-    add_dependency(c_l);
-    for (int i=0; i < c_l->clash_l_arr_.size(); i ++)
-       ncol_l_arr_.push(c_l->clash_l_arr_[i]);
+    add_dependency (rc_l);
+    rest_l_arr_.push (rc_l);
 }
 
 void
@@ -74,7 +66,7 @@ Rest_collision::do_post_processing()
 #else // nogo: stem_start not set for rests?
     int pos = (stem_l->stem_start_f() - midpos) + dir_i * 2;
 #endif
-    rest_l_arr_[0]->translate_heads(pos);      
+    rest_l_arr_[0]->translate_heads (pos);     
 }
 
 void
@@ -92,23 +84,23 @@ Rest_collision::do_pre_processing()
        return;
 
     // no partners to collide with
-    if (rest_l_arr_.size() + ncol_l_arr_.size() < 2 )
+    if (rest_l_arr_.size() + ncol_l_arr_.size () < 2)
        return;
 
     // meisjes met meisjes
     if (!ncol_l_arr_.size()) {
        int dy = rest_l_arr_.size() > 2 ? 6 : 4;
        
-       rest_l_arr_[0]->translate_heads(rest_l_arr_[0]->dir_i_ *dy);    
+       rest_l_arr_[0]->translate_heads (rest_l_arr_[0]->dir_i_ *dy);   
        // top is last element...
-       rest_l_arr_.top()->translate_heads(rest_l_arr_.top()->dir_i_* dy);      
+       rest_l_arr_.top()->translate_heads (rest_l_arr_.top ()->dir_i_* dy);    
     }
     // meisjes met jongetjes
     else {
 #if 0 // breendet: rests go always under
        // geen gemug, trug op je rug
        int dir_i = -1;
-       rest_l_arr_[0]->translate_heads(dir_i * 3 );    
+       rest_l_arr_[0]->translate_heads (dir_i * 3);    
 #else
        // int dir_i = - ncol_l_arr_[0]->dir_i_;
        int dir_i = rest_l_arr_[0]->dir_i_;
@@ -126,11 +118,11 @@ Rest_collision::do_pre_processing()
        for (int i = 0; i < ncol_l_arr_.size(); i++) {
            // how to know whether to sort?
            ncol_l_arr_[i]->sort();
-           for ( int j = 0; j < ncol_l_arr_[i]->head_l_arr_.size(); j++ )
+           for ( int j = 0; j < ncol_l_arr_[i]->head_l_arr_.size(); j++)
                minpos = minpos >? dir_i * 
-                   (ncol_l_arr_[i]->head_l_arr_[j]->position_i_ -midpos ) + sep_i;
+                   (ncol_l_arr_[i]->head_l_arr_[j]->position_i_ -midpos) + sep_i;
        }
-       rest_l_arr_[0]->translate_heads(dir_i * minpos );       
+       rest_l_arr_[0]->translate_heads (dir_i * minpos);       
 #endif
     }
 }
@@ -139,19 +131,19 @@ void
 Rest_collision::do_print() const
 {
 #ifndef NPRINT
-    mtor << "rests: " << rest_l_arr_.size() << ", ";
-    mtor << "cols: " << ncol_l_arr_.size();
+    DOUT << "rests: " << rest_l_arr_.size() << ", ";
+    DOUT << "cols: " << ncol_l_arr_.size();
 #endif
 }
 
 void
-Rest_collision::do_substitute_dependency(Score_elem*o,Score_elem*n)
+Rest_collision::do_substitute_dependency (Score_elem*o,Score_elem*n)
 {
     Item*o_l = o->item();
     Item*n_l = n?n->item():0;
     
-    rest_l_arr_.substitute((Rest_column*)o_l,(Rest_column*)n_l);
-    ncol_l_arr_.substitute((Note_column*)o_l,(Note_column*)n_l);
+    rest_l_arr_.substitute ((Rest_column*)o_l,(Rest_column*)n_l);
+    ncol_l_arr_.substitute ((Note_column*)o_l,(Note_column*)n_l);
 }
 
 Rest_collision::Rest_collision()
index 5a0d141777e6164e597010b3fe8e3075443179e0..3b17ca9ac7cd8dc8e04576b0d74699245cc82703 100644 (file)
@@ -20,7 +20,7 @@ IMPLEMENT_IS_TYPE_B1(Rest_column,Head_column);
   translate the rest symbols
  */
 void
-Rest_column::translate_heads(int dy_i)
+Rest_column::translate_heads (int dy_i)
 {
     for (int i=0; i < head_l_arr_.size(); i++)
        head_l_arr_[i]->position_i_ += dy_i;
index 9660c144eddddb751dfde22c3465504a7145dbee..c66cdebd48a5ab16242a3c05975532a57c57e233 100644 (file)
@@ -22,25 +22,25 @@ void
 Score_align_engraver::do_pre_move_processing()
 {
     if (align_p_) {
-       typeset_elementalign_p_);
+       typeset_element (align_p_);
        align_p_ =0;
     }
 }
 
 void
-Score_align_engraver::acknowledge_element(Score_elem_info inf)
+Score_align_engraver::acknowledge_element (Score_elem_info inf)
 {
-    if (inf.elem_l_->is_type_b(type_ch_C_ )) {
+    if (inf.elem_l_->is_type_b (type_ch_C_)) {
     
-       if (!align_p_ ) {
+       if (!align_p_) {
            align_p_ = new Horizontal_group_item;
            align_p_->breakable_b_ = true;
-           announce_element(Score_elem_info(align_p_,0));
+           announce_element (Score_elem_info (align_p_,0));
        }
        Score_elem * unbound_elem = inf.elem_l_;
-       while ( unbound_elem->axis_group_l_a_[X_AXIS] )
+       while ( unbound_elem->axis_group_l_a_[X_AXIS])
            unbound_elem = unbound_elem->axis_group_l_a_[X_AXIS];
-       align_p_->add_element(unbound_elem );
+       align_p_->add_element (unbound_elem);
     }
     
 }
index 8020cf7f1fca59922bb64ca6717297d29c2b4fb2..995c6fbdd697b0c1ec53350bffc042d6ba3b5e5c 100644 (file)
@@ -17,7 +17,7 @@ class C ## _align_engraver : public Score_align_engraver              \
 {                                                                      \
 public:                                                                        \
     DECLARE_MY_RUNTIME_TYPEINFO;                                       \
-    C ## _align_engraver() : Score_align_engraver() \
+    C ## _align_engraver() : Score_align_engraver () \
     { type_ch_C_ = T::static_name();\
     priority_i_ = p;}  \
 };                                                                     \
index 2fd3def678c7f5b1edff171d74d28ca8a5a7c724..9accf652a91627ca76c088eb38f510092d909102 100644 (file)
@@ -10,7 +10,7 @@
 #include "p-col.hh"
 #include "score-column.hh"
 
-Score_column::Score_column(Moment w)
+Score_column::Score_column (Moment w)
 {
     when_ = w;
     musical_b_ = false;
@@ -20,44 +20,44 @@ void
 Score_column::print() const
 {
 #ifndef NPRINT
-    mtor << "Score_column { mus "<< musical_b_ <<" at " <<  when_<<'\n';
-    mtor << "durations: [";
+    DOUT << "Score_column { mus "<< musical_b_ <<" at " <<  when_<<'\n';
+    DOUT << "durations: [";
     for (int i=0; i < durations.size(); i++)
-       mtor << durations[i] << " ";
-    mtor << "]\n";
+       DOUT << durations[i] << " ";
+    DOUT << "]\n";
     PCol::print();
-    mtor << "}\n";
+    DOUT << "}\n";
 #endif
 }
 
 int
-Moment_compare(Moment const &m1, Moment const &m2)
+Moment_compare (Moment const &m1, Moment const &m2)
 {
-    return sign(m1-m2);
+    return sign (m1-m2);
 }
 
 void
 Score_column::preprocess()
 {
-    durations.sort(Moment_compare);
+    durations.sort (Moment_compare);
 }
 
 void
-Score_column::add_duration(Moment d)
+Score_column::add_duration (Moment d)
 {
-    assert(d);
+    assert (d);
     for (int i = 0; i< durations.size(); i++) {
        if (d == durations[i])
            return ;
     }
-    durations.push(d);
+    durations.push (d);
 }
 
 void
 Score_column::do_set_breakable()
 {
-    Score_column *c1 = new Score_column(when_);
-    Score_column *c2 = new Score_column(when_);
+    Score_column *c1 = new Score_column (when_);
+    Score_column *c2 = new Score_column (when_);
     prebreak_p_ =c1;
     postbreak_p_ = c2;
     c1->durations = durations;
index 99e6673a7d1e555801b96a4a10d0ec84e0b87ca2..07e7a100b64850dae2881c2fc03d9c3305673ba6 100644 (file)
@@ -9,7 +9,7 @@
 #include "score-elem-info.hh"
 #include "request.hh"
 
-Score_elem_info::Score_elem_info(Score_elem*s_l, Request*r_l)
+Score_elem_info::Score_elem_info (Score_elem*s_l, Request*r_l)
 {
     elem_l_ = s_l;
     req_l_ = r_l;
index c80314ef4a90bd26b0e346e782b1c0ae31bfa940..a471ddf5bb0be9b85fa514b9bdaf5770255cf452 100644 (file)
@@ -22,7 +22,7 @@
 #include "p-col.hh"
 
 Score_elem*
-Score_elem::dependency(int i)const
+Score_elem::dependency (int i)const
 {
     return (Score_elem*) get_out_edge_arr()[i];
 }
@@ -30,11 +30,11 @@ Score_elem::dependency(int i)const
 int
 Score_elem::dependency_size() const
 {
-    return get_out_edge_arr().size();
+    return get_out_edge_arr().size ();
 }
 
 Score_elem*
-Score_elem::dependent(int i) const
+Score_elem::dependent (int i) const
 {
     return (Score_elem*) get_in_edge_arr()[i];
 }
@@ -42,65 +42,65 @@ Score_elem::dependent(int i) const
 int
 Score_elem::dependent_size() const
 {
-    return get_in_edge_arr().size();
+    return get_in_edge_arr().size ();
 }
 
 
 
 String
-Score_elem::TeX_string_without_offset(Offset o)const
+Score_elem::TeX_string_without_offset (Offset o)const
 {
-    if (transparent_b_ )
+    if (transparent_b_)
        return "";
-    String s"\\placebox{%}{%}{%}");
+    String s ("\\placebox{%}{%}{%}");
     Array<String> a;
-    a.push( print_dimen(o.y() ));
-    a.push( print_dimen(o.x() ));
+    a.push (print_dimen (o.y()));
+    a.push (print_dimen (o.x()));
     String t = output->TeX_string();
     if (t == "")
        return t;
 
-    a.pusht);
+    a.push (t);
     String r;
     if (check_debug)
-       r = String("\n%start: ") + name() + "\n";
-    r += substitute_args(s, a);;
+       r = String ("\n%start: ") + name() + "\n";
+    r += substitute_args (s, a);;
     return r;
 }
 
 String
 Score_elem::TeX_string() const
 {
-    assertstatus_ > POSTCALCED);
-    return TeX_string_without_offset(offset_);
+    assert (status_ > POSTCALCED);
+    return TeX_string_without_offset (offset_);
 }
 
 void
-Score_elem::copy_dependencies(Score_elem const &s)
+Score_elem::copy_dependencies (Score_elem const &s)
 {
     /* called from derived ctor, so most info points to the same deps
       as (Directed_graph_node&)s. Nobody points to us, so don't copy
       dependents.      
      */
-    copy_edges_out(s);
+    copy_edges_out (s);
 }
 
-Score_elem::Score_elem(Score_elem const&s)
+Score_elem::Score_elem (Score_elem const&s)
 {
     transparent_b_ = s.transparent_b_;
     empty_b_ = s.empty_b_;
     axis_group_l_a_[0] = axis_group_l_a_[1] =0;
     status_ = s.status_;
-    assert(!s.output);
+    assert (!s.output);
     output = 0;
     pscore_l_ = s.pscore_l_;
-    offset_ = Offset(0,0);
+    offset_ = Offset (0,0);
 }
 
 Score_elem::~Score_elem()
 {
     // some paranoia to prevent weird segv's
-    assert(status_ < DELETED);
+    assert (status_ < DELETED);
     delete output;
     status_ = DELETED;
     output = 0;
@@ -111,7 +111,7 @@ Score_elem::~Score_elem()
   GEOMETRY
  */
 Real
-Score_elem::absolute_coordinate(Axis a)const
+Score_elem::absolute_coordinate (Axis a)const
 {
     Real r = offset_[a];
     for ( Axis_group_element * axis_group_l = axis_group_l_a_[a];
@@ -125,17 +125,17 @@ Score_elem::absolute_coordinate(Axis a)const
 Offset
 Score_elem::absolute_offset() const
 {
-    return Offset(absolute_coordinate(X_AXIS), absolute_coordinate(Y_AXIS));
+    return Offset (absolute_coordinate (X_AXIS), absolute_coordinate (Y_AXIS));
 }
 
  void
-Score_elem::translate(Real y, Axis a)
+Score_elem::translate (Real y, Axis a)
 {
     offset_[a] += y;
 }
 
 Real
-Score_elem::relative_coordinate(Axis_group_element*e, Axis a)const
+Score_elem::relative_coordinate (Axis_group_element*e, Axis a)const
 {
     Real r =0.0;
     for ( Axis_group_element * axis_group_l = axis_group_l_a_[a];
@@ -147,19 +147,19 @@ Score_elem::relative_coordinate(Axis_group_element*e, Axis a)const
 }
 
 Axis_group_element* 
-Score_elem::common_group(Score_elem const* s, Axis a)const
+Score_elem::common_group (Score_elem const* s, Axis a)const
 {
     Link_array<Axis_group_element> my_groups;
     for ( Axis_group_element * axis_group_l = axis_group_l_a_[a];
          axis_group_l;
          axis_group_l = axis_group_l->axis_group_l_a_[a])
-       my_groups.push( axis_group_l );
+       my_groups.push (axis_group_l);
 
     Axis_group_element* common_l=0;
     for ( Axis_group_element * axis_group_l = s->axis_group_l_a_[a];
          !common_l && axis_group_l;
          axis_group_l = axis_group_l->axis_group_l_a_[a])
-       common_l = my_groups.find_l( axis_group_l );
+       common_l = my_groups.find_l (axis_group_l);
 
     return common_l;
 }
@@ -167,7 +167,7 @@ Score_elem::common_group(Score_elem const* s, Axis a)const
 
 
 void
-Score_elem::translate(Offset O)
+Score_elem::translate (Offset O)
 {
     offset_ += O;
 }
@@ -179,26 +179,26 @@ Score_elem::do_width() const
 
     if (!output){
        Molecule*m = brew_molecule_p();
-       r = m->extent().x();
+       r = m->extent().x ();
        delete m;
     } else
-       r = output->extent().x();
+       r = output->extent().x ();
     return r;
 }
 
 Interval
 Score_elem::width() const
 {
-    return extentX_AXIS);
+    return extent (X_AXIS);
 }
 
 Interval
-Score_elem::extent(Axis a)const
+Score_elem::extent (Axis a)const
 {
     Interval r;
-    if ( !empty_b_ ) {
+    if ( !empty_b_) {
        
-       r = (a == X_AXIS)? do_width(): do_height();
+       r = (a == X_AXIS)? do_width(): do_height ();
     }
     
     if (!r.empty_b()) // float exception on DEC Alpha
@@ -213,17 +213,17 @@ Score_elem::do_height() const
     Interval r;
     if (!output){
        Molecule*m = brew_molecule_p();
-       r = m->extent().y();
+       r = m->extent().y ();
        delete m;
     } else
-       r = output->extent().y();
+       r = output->extent().y ();
     return r;
 }
 
 Interval
 Score_elem::height() const
 {
-    return extent(Y_AXIS);
+    return extent (Y_AXIS);
 }
 
 /*
@@ -233,18 +233,18 @@ void
 Score_elem::print()const
 {
 #ifndef NPRINT
-    mtor << name() << "{\n";
-    mtor << "dets: " << dependent_size() << "dependencies: " << 
+    DOUT << name() << "{\n";
+    DOUT << "dets: " << dependent_size() << "dependencies: " << 
        dependency_size();
-    if (offset_.x() || offset_.y())
-       mtor << "offset (" << offset_.x() << ", " << offset_.y() <<")";
-    mtor << "\n";
+    if (offset_.x() || offset_.y ())
+       DOUT << "offset (" << offset_.x() << ", " << offset_.y () <<")";
+    DOUT << "\n";
 
     do_print();
     if (output)
        output->print();
     
-    mtor <<  "}\n";
+    DOUT <<  "}\n";
 #endif
 }
 
@@ -253,7 +253,7 @@ Score_elem::Score_elem()
     transparent_b_ = empty_b_ = false;
     axis_group_l_a_[0] = axis_group_l_a_[1] =0;
     pscore_l_=0;
-    offset_ = Offset(0,0);
+    offset_ = Offset (0,0);
     output = 0;
     status_ = ORPHAN;
 }
@@ -262,7 +262,7 @@ Score_elem::Score_elem()
 Paper_def*
 Score_elem::paper()  const
 {
-    assert(pscore_l_);
+    assert (pscore_l_);
     return pscore_l_->paper_l_;
 }
 
@@ -278,16 +278,16 @@ Score_elem::add_processing()
 void
 Score_elem::pre_processing()
 {
-    if (status_ >= PRECALCED )
+    if (status_ >= PRECALCED)
        return;
 
-    assert(status_ != PRECALCING); // cyclic dependency
+    assert (status_ != PRECALCING); // cyclic dependency
     status_ = PRECALCING;
 
     for (int i=0; i < dependency_size(); i++)
-       dependency(i)->pre_processing();
+       dependency (i)->pre_processing();
 
-    Link_array<Score_elem> extra(get_extra_dependencies());
+    Link_array<Score_elem> extra (get_extra_dependencies());
     for (int i=0; i < extra.size(); i++)
        extra[i]->pre_processing();
     
@@ -298,19 +298,19 @@ Score_elem::pre_processing()
 void
 Score_elem::breakable_col_processing()
 {
-    if (status_ >= PREBROKEN )
+    if (status_ >= PREBROKEN)
        return;
 
-    if(status_== PREBREAKING) {
+    if (status_== PREBREAKING) {
        status_ = PREBROKEN;
        return ;
     }
     status_ = PREBREAKING;
 
     for (int i=0; i < dependency_size(); i++)
-       dependency(i)->breakable_col_processing();
+       dependency (i)->breakable_col_processing();
 
-      Link_array<Score_elem> extra(get_extra_dependencies());
+      Link_array<Score_elem> extra (get_extra_dependencies());
     for (int i=0; i < extra.size(); i++)
        extra[i]->breakable_col_processing();
     
@@ -322,7 +322,7 @@ Score_elem::breakable_col_processing()
 void
 Score_elem::break_processing()
 {
-    if (status_ >= BROKEN )
+    if (status_ >= BROKEN)
        return;
 
     if (status_ == BREAKING) {
@@ -332,9 +332,9 @@ Score_elem::break_processing()
     status_ = BREAKING;
 
     for (int i=0; i < dependency_size(); i++)
-       dependency(i)->break_processing();
+       dependency (i)->break_processing();
 
-    Link_array<Score_elem> extra(get_extra_dependencies());
+    Link_array<Score_elem> extra (get_extra_dependencies());
     for (int i=0; i < extra.size(); i++)
        extra[i]->break_processing();
     
@@ -357,14 +357,14 @@ Score_elem::post_processing()
 {
     if (status_ >= POSTCALCED)
        return;
-    assert(status_ != POSTCALCING);// cyclic dependency
+    assert (status_ != POSTCALCING);// cyclic dependency
     status_=POSTCALCING;       
 
   
     for (int i=0; i < dependency_size(); i++)
-       dependency(i)->post_processing();
+       dependency (i)->post_processing();
 
-    Link_array<Score_elem> extra(get_extra_dependencies());
+    Link_array<Score_elem> extra (get_extra_dependencies());
     for (int i=0; i < extra.size(); i++)
        extra[i]->post_processing();
     
@@ -387,9 +387,9 @@ Score_elem::molecule_processing()
     status_ = OUTPUT;          // do it only once.
   
     for (int i=0; i < dependency_size(); i++)
-       dependency(i)->molecule_processing();
+       dependency (i)->molecule_processing();
 
-    Link_array<Score_elem> extra(get_extra_dependencies());
+    Link_array<Score_elem> extra (get_extra_dependencies());
     for (int i=0; i < extra.size(); i++)
        extra[i]->molecule_processing();
     
@@ -426,11 +426,11 @@ Score_elem::do_add_processing()
 }
 
 void
-Score_elem::do_substitute_dependency(Score_elem*,Score_elem*)
+Score_elem::do_substitute_dependency (Score_elem*,Score_elem*)
 {
 }
 void
-Score_elem::do_substitute_dependent(Score_elem*,Score_elem*)
+Score_elem::do_substitute_dependent (Score_elem*,Score_elem*)
 {
 }
 
@@ -443,7 +443,7 @@ IMPLEMENT_IS_TYPE_B(Score_elem);
 Molecule*
 Score_elem::brew_molecule_p()const
 {
-    Atom a(paper()->lookup_l()->fill(Box(Interval(0,0), Interval(0,0))));
+    Atom a (paper()->lookup_l ()->fill (Box (Interval (0,0), Interval (0,0))));
     return new Molecule (a);
 }
 
@@ -461,29 +461,29 @@ Score_elem::line_l()const
   */
 
 void
-Score_elem::remove_dependency(Score_elem*e)
+Score_elem::remove_dependency (Score_elem*e)
 {
-    remove_edge_out(e);
-    substitute_dependency(e, 0);
+    remove_edge_out (e);
+    substitute_dependency (e, 0);
 }
 
 void
-Score_elem::add_dependency(Score_elem*e)
+Score_elem::add_dependency (Score_elem*e)
 {
-    Directed_graph_node::add(e);
+    Directed_graph_node::add (e);
 }
 void
-Score_elem::substitute_dependency(Score_elem* old, Score_elem* new_l)
+Score_elem::substitute_dependency (Score_elem* old, Score_elem* new_l)
 {
-    do_substitute_dependency(old,new_l);
-    old->do_substitute_dependent(this, 0);
+    do_substitute_dependency (old,new_l);
+    old->do_substitute_dependent (this, 0);
 }
 
 void
 Score_elem::junk_dependencies()
 {
-    while ( dependency_size() ) {
-       remove_edge_out( dependency( 0 ));
+    while ( dependency_size()) {
+       remove_edge_out (dependency (0));
     }
 }
 
@@ -496,29 +496,29 @@ Score_elem::handle_broken_dependencies()
 
     Link_array<Score_elem> remove_us_arr;
     for (int i=0; i < dependency_size(); i++) {
-       Score_elem * elt = dependency(i);
+       Score_elem * elt = dependency (i);
        if (elt->line_l() != line){ 
            if (elt->spanner()) {
                Spanner * sp = elt->spanner();
-               Spanner * broken = sp->find_broken_piece(line);
-               substitute_dependency(sp, broken);
-
-               add_dependency(broken);
-           } else if (elt->item() && elt->item()->pcol_l_->breakpoint_b()
-                      && elt->item()->break_status_i() == 0) {
-               Item * my_item = elt->item()->find_prebroken_piece(line);
-               substitute_dependencyelt, my_item);
+               Spanner * broken = sp->find_broken_piece (line);
+               substitute_dependency (sp, broken);
+
+               add_dependency (broken);
+           } else if (elt->item() && elt->item ()->pcol_l_->breakpoint_b ()
+                      && elt->item()->break_status_i () == 0) {
+               Item * my_item = elt->item()->find_prebroken_piece (line);
+               substitute_dependency (elt, my_item);
                if (my_item)
-                   add_dependencymy_item);
+                   add_dependency (my_item);
            }
-           remove_us_arr.push(elt);
+           remove_us_arr.push (elt);
        } 
     }
 
     remove_us_arr.default_sort();
     remove_us_arr.uniq();
     for (int i=0;  i <remove_us_arr.size(); i++)
-       remove_dependency(remove_us_arr[i]);
+       remove_dependency (remove_us_arr[i]);
 
     status_ = BROKEN;
 }
@@ -542,26 +542,26 @@ Score_elem::handle_prebroken_dependencies()
     Link_array<Score_elem> old_arr, new_arr;
     
     for (int i=0; i < dependency_size(); i++) {
-       Score_elem * elt = dependency(i);
+       Score_elem * elt = dependency (i);
        Item *it_l = elt->item();
        if (it_l && it_l->breakable_b_)
            if (item()) {
-               Score_elem *new_l = it_l->find_prebroken_piece(item()->pcol_l_);
-               if (new_l != elt ) {
+               Score_elem *new_l = it_l->find_prebroken_piece (item()->pcol_l_);
+               if (new_l != elt) {
                    new_arr.push (new_l);
-                   old_arr.push(elt);
+                   old_arr.push (elt);
                } 
            }else {
-               new_arr.push(it_l->broken_to_a_[0]);
-               old_arr.push(0);
-               old_arr.push(0);                
-               new_arr.push(it_l->broken_to_a_[1]);            
+               new_arr.push (it_l->broken_to_a_[0]);
+               old_arr.push (0);
+               old_arr.push (0);               
+               new_arr.push (it_l->broken_to_a_[1]);           
            }
     }
     
     for (int i=0;  i < old_arr.size(); i++)
        if (old_arr[i])
-           substitute_dependency( old_arr[i], new_arr[i] );
+           substitute_dependency (old_arr[i], new_arr[i]);
        
        
     status_ = PREBROKEN;
@@ -573,8 +573,8 @@ void
 Score_elem::unlink_all()
 {
     for (int i=0; i < dependency_size(); i++) 
-       dependency(i)->unlink_all();
-    Link_array<Score_elem> extra(get_extra_dependencies());
+       dependency (i)->unlink_all();
+    Link_array<Score_elem> extra (get_extra_dependencies());
     for (int i=0; i < extra.size(); i++)
        extra[i]->unlink_all();
     
@@ -587,15 +587,15 @@ Score_elem::unlink()
 {
     do_unlink();
     while ( dependency_size()) {
-       do_substitute_dependency(dependency(0),0);
-       remove_edge_out_idx(0);
+       do_substitute_dependency (dependency (0),0);
+       remove_edge_out_idx (0);
     }
-    while  ( dependent_size() ) {
-       dependent(0)->remove_dependency(this);
+    while  ( dependent_size()) {
+       dependent (0)->remove_dependency (this);
     }
     for (int j=0; j < 2; j++)
        if ( axis_group_l_a_[j])
-           axis_group_l_a_[j]->remove_element(this);
+           axis_group_l_a_[j]->remove_element (this);
 
 }
 
@@ -604,7 +604,7 @@ Score_elem::OK()const
 {
 #ifndef NDEBUG
     for (int i=0; i < dependency_size(); i++) {
-       dependency(i)->OK();
+       dependency (i)->OK();
     }
 #endif
 }
index 0b40a875dfe61ffcac1a8c6d8ce67f557b3129f8..acfa137c1dc42c76937117e5aa716a3a21820cbb 100644 (file)
@@ -21,9 +21,9 @@
 
 
 void
-Score_engraver::set_score(Score *s)
+Score_engraver::set_score (Score *s)
 {
-    Global_translator::set_score(s);
+    Global_translator::set_score (s);
     scoreline_l_ = s->pscore_p_->super_elem_l_->line_of_score_l_;
 }
 
@@ -38,9 +38,9 @@ Score_engraver::Score_engraver()
 
  
 void
-Score_engraver::prepare(Moment w)
+Score_engraver::prepare (Moment w)
 {
-    set_columns(new Score_column(w),  new Score_column(w));
+    set_columns (new Score_column (w),  new Score_column (w));
     
     
     disallow_break_b_ = false;
@@ -60,7 +60,7 @@ Score_engraver::finish()
 void
 Score_engraver::do_creation_processing()
 {
-    scoreline_l_->left_col_l_ = get_staff_info().command_pcol_l();
+    scoreline_l_->left_col_l_ = get_staff_info().command_pcol_l ();
     scoreline_l_->left_col_l_ ->set_breakable();
     Engraver_group_engraver::do_creation_processing();
 }
@@ -69,10 +69,10 @@ void
 Score_engraver::do_removal_processing()
 {
     Engraver_group_engraver::do_removal_processing();
-    scoreline_l_->right_col_l_ = get_staff_info().command_pcol_l();
+    scoreline_l_->right_col_l_ = get_staff_info().command_pcol_l ();
     scoreline_l_->right_col_l_ ->set_breakable();
     typeset_all();
-    set_columns(0,0);
+    set_columns (0,0);
 }
 
 void
@@ -85,10 +85,10 @@ Score_engraver::process()
 }
 
 void
-Score_engraver::announce_element(Score_elem_info info)
+Score_engraver::announce_element (Score_elem_info info)
 {
-    announce_info_arr_.push(info);
-    info.origin_grav_l_arr_.push(this);
+    announce_info_arr_.push (info);
+    info.origin_grav_l_arr_.push (this);
         
 }
 void
@@ -110,7 +110,7 @@ Score_engraver::do_announces()
            if (announce_info_arr_[i].req_l_) {
                Musical_req *m = announce_info_arr_[i].req_l_->musical();
                if (m && m->rhythmic()) {
-                   musical_column_l_->add_durationm->duration());
+                   musical_column_l_->add_duration (m->duration());
                }
            }
        Engraver_group_engraver::do_announces();
@@ -119,39 +119,39 @@ Score_engraver::do_announces()
 
 
 void
-Score_engraver::typeset_element(Score_elem *elem_p)
+Score_engraver::typeset_element (Score_elem *elem_p)
 {
-    if  ( elem_p->item() && elem_p->item()->breakable_b_ ) {
-       nobreak_item_p_arr_.push(elem_p->item());
+    if  ( elem_p->item() && elem_p->item ()->breakable_b_) {
+       nobreak_item_p_arr_.push (elem_p->item());
     } else
-       musical_item_p_arr_.push(elem_p);
+       musical_item_p_arr_.push (elem_p);
 }
 
 void
 Score_engraver::typeset_all()
 {
-    PCol * c= get_staff_info().command_pcol_l();
+    PCol * c= get_staff_info().command_pcol_l ();
     Paper_score *ps_l = score_l_->pscore_p_;
 
     for  (int i =0; i < nobreak_item_p_arr_.size(); i++) {
-       ps_l->typeset_item(nobreak_item_p_arr_[i], c);
+       ps_l->typeset_item (nobreak_item_p_arr_[i], c);
 
        // should get rid of this.. .
-       scoreline_l_->add_dependency(nobreak_item_p_arr_[i]);
+       scoreline_l_->add_dependency (nobreak_item_p_arr_[i]);
     }
     nobreak_item_p_arr_.clear();
     
     for (int i=0; i < musical_item_p_arr_.size(); i++) {
-       PCol* m = get_staff_info().musical_pcol_l();
+       PCol* m = get_staff_info().musical_pcol_l ();
        Score_elem *elem_p = musical_item_p_arr_[i];
 
-       scoreline_l_->add(elem_p);
+       scoreline_l_->add (elem_p);
        if (elem_p->spanner()) {
-           ps_l->typeset_unbroken_spanner(elem_p->spanner());
+           ps_l->typeset_unbroken_spanner (elem_p->spanner());
        } else if (elem_p->item()) {
-           ps_l->typeset_item(elem_p->item(), m);
+           ps_l->typeset_item (elem_p->item(), m);
        } else
-           assert(false);
+           assert (false);
     }
     musical_item_p_arr_.clear();
 }
@@ -160,8 +160,8 @@ Score_engraver::typeset_all()
 void
 Score_engraver::do_pre_move_processing()
 {
-    if ( !disallow_break_b_ ){ 
-       get_staff_info().command_pcol_l()->set_breakable();
+    if ( !disallow_break_b_){ 
+       get_staff_info().command_pcol_l ()->set_breakable ();
        breaks_i_ ++;
        if ( ! (breaks_i_%8))
            *mlog << "[" << breaks_i_ << "]" << flush;
@@ -173,11 +173,11 @@ Score_engraver::do_pre_move_processing()
 }
 
 void
-Score_engraver::set_columns(Score_column *new_command_l, 
+Score_engraver::set_columns (Score_column *new_command_l, 
                            Score_column *new_musical_l)
 {
-    if ( command_column_l_ && command_column_l_->used_b() )
-       score_l_->pscore_p_->add(command_column_l_);
+    if ( command_column_l_ && command_column_l_->used_b())
+       score_l_->pscore_p_->add (command_column_l_);
     else {
        delete command_column_l_ ;
        command_column_l_ =0;
@@ -219,10 +219,10 @@ Score_engraver::paper()const
 
 
 bool
-Score_engraver::do_try_request(Request*r)
+Score_engraver::do_try_request (Request*r)
 {
-    bool gotcha = Engraver_group_engraver::do_try_request(r);  
-    if ( !gotcha && r->command() && r->command()->disallowbreak())
+    bool gotcha = Engraver_group_engraver::do_try_request (r);  
+    if ( !gotcha && r->command() && r->command ()->disallowbreak ())
            disallow_break_b_ = true;
     return gotcha;
 }
index 3d5293ee267f8a598f655da640ffeaf535064c6b..08f194171c17656442e93fac63405f40ca7467fe 100644 (file)
@@ -20,30 +20,30 @@ void
 Score_horizontal_align_engraver::do_pre_move_processing()
 {
     if (halign_p_) {
-       typeset_element(halign_p_);
+       typeset_element (halign_p_);
        halign_p_ =0;
     }
        
 }
 
 void
-Score_horizontal_align_engraver::acknowledge_element(Score_elem_info i)
+Score_horizontal_align_engraver::acknowledge_element (Score_elem_info i)
 {
     Engraver* reg = i.origin_grav_l_arr_[0];
-    if (reg->is_type_b
-       Score_align_engraver::static_name()) )
+    if (reg->is_type_b (
+       Score_align_engraver::static_name()))
     {
        Score_align_engraver * align_grav_l = (Score_align_engraver*) reg;
        if (!halign_p_) {
            halign_p_ = new Break_align_item;
            halign_p_->breakable_b_ = true;
-           announce_element(Score_elem_info(halign_p_,0));
+           announce_element (Score_elem_info (halign_p_,0));
        }
        Item * it = i.elem_l_->item();
        if (align_grav_l->type_ch_C_ == Bar::static_name())
            halign_p_->center_l_ = it;
        
-       halign_p_->add(it, align_grav_l->priority_i_);
+       halign_p_->add (it, align_grav_l->priority_i_);
     }
 }
 
index ea27d507b84c9482364ca1f25d7878a1a41cfa24..53c2a283f7ed38f0a8b053c0db6338d90713989d 100644 (file)
@@ -36,9 +36,9 @@ Score_performer::~Score_performer()
 
 
 Translator* 
-Score_performer::ancestor_l(int l) 
+Score_performer::ancestor_l (int l) 
 { 
-    return Global_translator::ancestor_l(l);
+    return Global_translator::ancestor_l (l);
 }
 
 
@@ -57,23 +57,23 @@ Score_performer::finish()
 
 
 void
-Score_performer::play(Audio_element * p)
+Score_performer::play (Audio_element * p)
 {
-    if  (p->is_type_b(Audio_item::static_name())) {
-       audio_column_l_->add(Audio_item*)p);
-    } else if (p->is_type_b(Audio_staff::static_name())) {
-       score_l_->audio_score_p_->add_staff( (Audio_staff*)p );
+    if  (p->is_type_b (Audio_item::static_name())) {
+       audio_column_l_->add ((Audio_item*)p);
+    } else if (p->is_type_b (Audio_staff::static_name())) {
+       score_l_->audio_score_p_->add_staff ((Audio_staff*)p);
     }
-    score_l_->audio_score_p_->add(p);
+    score_l_->audio_score_p_->add (p);
 }
 
 
 void 
-Score_performer::prepare(Moment m)
+Score_performer::prepare (Moment m)
 {
     now_mom_ = m;
-    audio_column_l_ = new Audio_column(m);
-    score_l_->audio_score_p_->add(audio_column_l_);
+    audio_column_l_ = new Audio_column (m);
+    score_l_->audio_score_p_->add (audio_column_l_);
 }
 
 
@@ -85,9 +85,9 @@ Score_performer::process()
 
 
 void
-Score_performer::set_score(Score* score_l)
+Score_performer::set_score (Score* score_l)
 {
-    Global_translator::set_score(score_l);
+    Global_translator::set_score (score_l);
 }
 
 
@@ -100,5 +100,5 @@ Score_performer::start()
 int
 Score_performer::get_tempo_i()const
 {
-    return score_l_->midi_p_->get_tempo_i(Moment(1, 4));
+    return score_l_->midi_p_->get_tempo_i (Moment (1, 4));
 }
index 53208cebc7aa80921f07a5c1277475032b13e65f..8a8a473a818a51f4ac62a214ab1350b384bc5d22 100644 (file)
@@ -34,12 +34,12 @@ Score::Score()
     errorlevel_i_ = 0;
 }
 
-Score::Score(Score const &s)
+Score::Score (Score const &s)
 {
-    assert(!pscore_p_);
+    assert (!pscore_p_);
     music_p_ = s.music_p_->clone();
-    midi_p_ = new Midi_def(*s.midi_p_);
-    paper_p_ = new Paper_def(*s.paper_p_);
+    midi_p_ = new Midi_def (*s.midi_p_);
+    paper_p_ = new Paper_def (*s.paper_p_);
 }
 
 Score::~Score()
@@ -52,14 +52,14 @@ Score::~Score()
 }
 
 void
-Score::run_translator(Global_translator * trans_l)
+Score::run_translator (Global_translator * trans_l)
 {
     trans_l->set_score (this);
-    Music_iterator * iter = Music_iterator::static_get_iterator_p(music_p_, 
+    Music_iterator * iter = Music_iterator::static_get_iterator_p (music_p_, 
                                                                  trans_l);
     iter->construct_children();
 
-    if ( ! iter->ok() ) {
+    if ( ! iter->ok()) {
        delete iter;
        warning ("Need music in a score");
        errorlevel_i_ =1;
@@ -68,18 +68,18 @@ Score::run_translator(Global_translator * trans_l)
     
     trans_l->start();
     
-    while ( iter->ok() || trans_l->moments_left_i() ) {
+    while ( iter->ok() || trans_l->moments_left_i ()) {
        Moment w = infinity_mom;
-       if (iter->ok() ) {
+       if (iter->ok()) {
            w = iter->next_moment();
-           mtor << w;
+           DOUT << w;
            iter->print();
        }
-       trans_l->modify_next( w );
-       trans_l->prepare(w);
+       trans_l->modify_next (w);
+       trans_l->prepare (w);
        trans_l->print();
 
-       iter->process_and_next( w );
+       iter->process_and_next (w);
        trans_l->process();
     }
     delete iter;
@@ -97,19 +97,19 @@ Score::process()
 void
 Score::midi()
 {
-    if ( !midi_p_ )
+    if ( !midi_p_)
        return;
     
     *mlog << "\nCreating MIDI elements ..." << flush;
-    audio_score_p_ = new Audio_score( this );
+    audio_score_p_ = new Audio_score (this);
     
     Global_translator* score_trans=  midi_p_->get_global_translator_p();
-    run_translator( score_trans );
+    run_translator (score_trans);
     delete score_trans;
     
-    iferrorlevel_i_){
+    if (errorlevel_i_){
        // should we? hampers debugging. 
-       warning( "Errors found, /*not processing score*/" );
+       warning ("Errors found, /*not processing score*/");
 //     return;
     }
     *mlog << endl;
@@ -124,15 +124,15 @@ Score::paper()
        return;
     
     *mlog << "\nCreating elements ..." << flush;
-    pscore_p_ = new Paper_score(paper_p_);
+    pscore_p_ = new Paper_score (paper_p_);
     
     Global_translator * score_trans=  paper_p_->get_global_translator_p();
-    run_translator( score_trans );
+    run_translator (score_trans);
     delete score_trans;
     
-    iferrorlevel_i_) {
+    if (errorlevel_i_) {
        // should we? hampers debugging. 
-       warning("Errors found, /*not processing score*/");
+       warning ("Errors found, /*not processing score*/");
 //     return;
     }
     
@@ -146,13 +146,13 @@ Score::paper()
 void
 Score::midi_output()
 {
-    if ( midi_p_->outfile_str_ == "" )
+    if ( midi_p_->outfile_str_ == "")
        midi_p_->outfile_str_ = default_out_fn + ".midi";
 
-    Midi_stream midi_stream( midi_p_->outfile_str_ );    
+    Midi_stream midi_stream (midi_p_->outfile_str_);    
     *mlog << "MIDI output to " << midi_p_->outfile_str_ << " ..." << endl;    
 
-    audio_score_p_->output( midi_stream );
+    audio_score_p_->output (midi_stream);
     *mlog << endl;
 }
 
@@ -162,7 +162,7 @@ Score::paper_output()
     if (paper_p_->outfile_str_=="")
        paper_p_->outfile_str_ = default_out_fn + ".tex";
 
-    if ( errorlevel_i_ ) { 
+    if ( errorlevel_i_) { 
        *mlog << "lilypond: warning: no output to: " << paper_p_->outfile_str_ 
        << " (errorlevel=" << errorlevel_i_ << ")" << endl;
         return;
@@ -170,35 +170,35 @@ Score::paper_output()
 
     *mlog << "TeX output to " << paper_p_->outfile_str_ << " ...\n";
     
-    Tex_stream the_output(paper_p_->outfile_str_);
+    Tex_stream the_output (paper_p_->outfile_str_);
     
     the_output << "% outputting Score, defined at: " <<
        location_str() << "\n";
-    pscore_p_->output(the_output);
+    pscore_p_->output (the_output);
 }
 
 void
 Score::print() const
 {
 #ifndef NPRINT
-    mtor << "score {\n"; 
+    DOUT << "score {\n"; 
     music_p_->print();
     if (midi_p_)
        midi_p_->print();
     
-    mtor << "}\n";
+    DOUT << "}\n";
 #endif
 }
 
 void
-Score::set(Paper_def *pap_p)
+Score::set (Paper_def *pap_p)
 {
     delete paper_p_;
     paper_p_ = pap_p;
 }
 
 void
-Score::set(Midi_def* midi_p)
+Score::set (Midi_def* midi_p)
 {    
     delete midi_p_;
     midi_p_ = midi_p;
index 2cf31bcbed0b64984df0aeb67918e118a30570b9..fc64123533a0956f99690c16ead9cdec6ccbf370 100644 (file)
@@ -22,7 +22,7 @@
 String
 Line_of_score::TeX_string() const
 {
-     String s("\\hbox{%<- line of score\n");
+     String s ("\\hbox{%<- line of score\n");
      if (error_mark_b_)
         s+= "\\scorelineerrormark";
      
@@ -37,24 +37,24 @@ Line_of_score::TeX_string() const
         Link_array<Score_elem> elems;
            
         if (col_l->error_mark_b_) {
-            chunk_str += String("\\columnerrormark");
+            chunk_str += String ("\\columnerrormark");
         }
         
         // now output the items.
-        for (iter_top(col_l->its,j); j.ok(); j++) {
-            elems.push(j);
+        for (iter_top (col_l->its,j); j.ok(); j++) {
+            elems.push (j);
         }
 
         // spanners.
-        for (iter_top(col_l->starters,j); j.ok(); j++) {
-            if (j->name() != name())
-               elems.push(j);
+        for (iter_top (col_l->starters,j); j.ok(); j++) {
+            if (j->name() != name ())
+               elems.push (j);
         }
         
         for (int j =0; j< elems.size(); j++) {
             Offset o = elems[j]->absolute_offset();
             o[X_AXIS] += cols[i]->hpos_f_;
-            s += elems[j]->TeX_string_without_offset(o);
+            s += elems[j]->TeX_string_without_offset (o);
         }
      }
      s += "}";
@@ -74,26 +74,26 @@ Line_of_score::Line_of_score()
 IMPLEMENT_IS_TYPE_B1(Line_of_score,Spanner);
 
 void
-Line_of_score::add(Score_elem*e)
+Line_of_score::add (Score_elem*e)
 {
     // avoid excess dependencies.
-    if(!( e->axis_group_l_a_[0] || e->axis_group_l_a_[1]))
-       add_dependency(e);
+    if (!( e->axis_group_l_a_[0] || e->axis_group_l_a_[1]))
+       add_dependency (e);
 }
 
 bool
-Line_of_score::contains_b(PCol const* c)const
+Line_of_score::contains_b (PCol const* c)const
 {
-    return cols.find_l((PCol*)c);
+    return cols.find_l ((PCol*)c);
 }
 
 void
-Line_of_score::set_breaking(Array<Col_hpositions> const &breaking)
+Line_of_score::set_breaking (Array<Col_hpositions> const &breaking)
 {
     for (int j=0; j < breaking.size(); j++) {
-       const Array<PCol*> &curline(breaking[j].cols);
-       const Array<PCol*> &errors(breaking[j].error_col_l_arr_);
-       const Array<Real> &config(breaking[j].config);
+       const Array<PCol*> &curline (breaking[j].cols);
+       const Array<PCol*> &errors (breaking[j].error_col_l_arr_);
+       const Array<Real> &config (breaking[j].config);
        
        for (int i=0; i < errors.size(); i++)
            errors[i]->error_mark_b_ = true;
@@ -102,8 +102,8 @@ Line_of_score::set_breaking(Array<Col_hpositions> const &breaking)
        Line_of_score *line_p =0;
        
        if (breaking.size() >1) {
-           line_p = (Line_of_score*)clone()->spanner();
-           line_p->copy_dependencies( *this );
+           line_p = (Line_of_score*)clone()->spanner ();
+           line_p->copy_dependencies (*this);
            line_l = line_p;
        } else 
            line_l =  this;
@@ -113,8 +113,8 @@ Line_of_score::set_breaking(Array<Col_hpositions> const &breaking)
        line_l->right_col_l_= curline.top();
        
        if (line_p) {  
-           pscore_l_->typeset_broken_spanner(line_p);
-           broken_into_l_arr_.push(line_p);
+           pscore_l_->typeset_broken_spanner (line_p);
+           broken_into_l_arr_.push (line_p);
        }
        
        for (int i=0; i < curline.size(); i++){
@@ -125,7 +125,7 @@ Line_of_score::set_breaking(Array<Col_hpositions> const &breaking)
 }
 
 void
-Line_of_score::break_into_pieces(bool)
+Line_of_score::break_into_pieces (bool)
 {
 }
 
@@ -136,10 +136,10 @@ Line_of_score::get_lines()const
 
     if (broken_into_l_arr_.size())
        for (int i=0; i < broken_into_l_arr_.size(); i++) {
-           ret.push((Line_of_score*)broken_into_l_arr_[i]);
+           ret.push ((Line_of_score*)broken_into_l_arr_[i]);
        }
     else 
-       ret.push((Line_of_score*)this); // ugh
+       ret.push ((Line_of_score*)this);        // ugh
     
     return ret;
 }
index 3cfc56969cb4ce3d91cca71a1a1a51a00ea9bf85..fbd646b7a21c42f9828b88e613993d98d78645ef 100644 (file)
@@ -27,10 +27,10 @@ do_scores()
        }
        
        if (is_p->errorlevel_i_) {
-           is_p->warning("Score contains errors. Will not process it. ");
+           is_p->warning ("Score contains errors. Will not process it. ");
            exit_status_i_ |= 1;
        } else { 
-           is_p->print ();
+           is_p->print();
            is_p->process();
        }
        delete is_p;
@@ -41,13 +41,13 @@ do_scores()
 }
 
 void
-add_score(Score * s)
+add_score (Score * s)
 {
-    score_array_global.push(s);
+    score_array_global.push (s);
 }
 
 void
-set_default_output(String s)
+set_default_output (String s)
 {
     default_out_fn = s;
 }
index 1c1df618ba7b061f54a4d7252b10ea71fe9067fb..9d9231e549d107b193e3fa5097f90fce897a51f4 100644 (file)
@@ -17,11 +17,11 @@ IMPLEMENT_IS_TYPE_B1(Script_column,Horizontal_vertical_group_item);
 
 
 void
-Script_column::add(Script*s_l)
+Script_column::add (Script*s_l)
 {
-    script_l_arr_.push(s_l);
-    add_dependency(s_l);
-    add_element(s_l);
+    script_l_arr_.push (s_l);
+    add_dependency (s_l);
+    add_element (s_l);
 }
 
 
@@ -29,15 +29,15 @@ void
 Script_column::do_print()const
 {
 #ifndef NPRINT
-    mtor << "scripts: " << script_l_arr_.size() << '\n'; 
+    DOUT << "scripts: " << script_l_arr_.size() << '\n'; 
 #endif
 }
 
 static int
-idx(bool inside, int dir)
+idx (bool inside, int dir)
 {
     int j = (dir+1);
-    if ( !inside )
+    if ( !inside)
        j ++;
     return j;
 }
@@ -52,34 +52,34 @@ Script_column::do_pre_processing()
     Array<Script*> placed_l_arr_a[4];
     for (int i=0; i < script_l_arr_.size(); i++) {
        Script*s_l = script_l_arr_[i];
-       placed_l_arr_a[idx( s_l->inside_staff_b_ , s_l->dir_i_) ].push(s_l);
+       placed_l_arr_a[idx (s_l->inside_staff_b_ , s_l->dir_i_) ].push (s_l);
     }
     
     for (int j =0; j <4; j++) {
-       placed_l_arr_a[j].sortScript::compare);
+       placed_l_arr_a[j].sort (Script::compare);
     }
 
 
     for (int j =0; j < 4; j++) {
        if (placed_l_arr_a[j].size())
            for (int i=0; i  < support_l_arr_.size(); i++)
-               placed_l_arr_a[j][0]->add_supportsupport_l_arr_[i]);
+               placed_l_arr_a[j][0]->add_support (support_l_arr_[i]);
     }
     
     Item * support_l=0;
     int j = 0;
-    for (; j < 2; j++ ) {
+    for (; j < 2; j++) {
        for (int i=0; i < placed_l_arr_a[j].size(); i++) {
            if (support_l)
-               placed_l_arr_a[j][i]->add_support(support_l);
+               placed_l_arr_a[j][i]->add_support (support_l);
            support_l = placed_l_arr_a[j][i];
        }
     }
     support_l = 0;
-    for (; j < 4; j++ ) {
+    for (; j < 4; j++) {
        for (int i=0; i < placed_l_arr_a[j].size(); i++) {
            if (support_l)
-               placed_l_arr_a[j][i]->add_support(support_l);
+               placed_l_arr_a[j][i]->add_support (support_l);
            support_l = placed_l_arr_a[j][i];
        }
     }
@@ -87,18 +87,18 @@ Script_column::do_pre_processing()
 
 
 void
-Script_column::add_support(Item*i_l)
+Script_column::add_support (Item*i_l)
 {
-    support_l_arr_.push(i_l);
-    add_dependencyi_l);
-    add_element(i_l);
+    support_l_arr_.push (i_l);
+    add_dependency (i_l);
+    add_element (i_l);
 }
 
 void
-Script_column::do_substitute_dependency(Score_elem*o,Score_elem*n)
+Script_column::do_substitute_dependency (Score_elem*o,Score_elem*n)
 {
     if (o->item()) {
-       script_l_arr_.substitute((Script*)o->item(),(Script*) (n?n->item():0));
-       support_l_arr_.substitute(o->item(), (n?n->item():0));
+       script_l_arr_.substitute ((Script*)o->item(),(Script*) (n?n->item ():0));
+       support_l_arr_.substitute (o->item(), (n?n->item ():0));
     }
 }
index 856879eed77ad451b58b4a09db8600b4c5f9f4e1..a1970dc8d22641fe2ba4753ea185c239e01892cd 100644 (file)
@@ -23,7 +23,7 @@ Script_def::Script_def()
 }
 
 void
-Script_def::set_from_input(String idx,  bool follow, int stem, int staff ,bool invert, int priority_i)
+Script_def::set_from_input (String idx,  bool follow, int stem, int staff ,bool invert, int priority_i)
 {
     inside_staff_b_ = follow;
     symidx_str_ = idx ;
@@ -38,13 +38,13 @@ void
 Script_def::do_print() const
 {
 #ifndef NPRINT
-    mtor << "Script_def{ idx: " << symidx_str_ 
+    DOUT << "Script_def{ idx: " << symidx_str_ 
         << " direction, stem: " << rel_stem_dir_i_ << " staff : " << staff_dir_i_ << "}\n";
 #endif
 }
 
 bool
-Script_def::do_equal_b(General_script_def const *g)const 
+Script_def::do_equal_b (General_script_def const *g)const 
 {
     Script_def const * c = (Script_def const*) g;
     return (symidx_str_ == c->symidx_str_ &&
@@ -72,13 +72,13 @@ Script_def::inside_b() const
 }
 
 Atom
-Script_def::get_atom(Paper_def *p , int d)const
+Script_def::get_atom (Paper_def *p , int d)const
 {
     String preidx_str ="";
     if (invertsym_b_&& d < 0) 
        preidx_str = "-";
 
-    return p->lookup_l()->script(preidx_str + symidx_str_);
+    return p->lookup_l()->script (preidx_str + symidx_str_);
 }
 
 
index cd58609143543ad8d6051db89678890e9d14a3d9..6c01af322a7c3c4a83ff56a403173ca2e74a1b86 100644 (file)
@@ -16,17 +16,17 @@ Script_engraver::Script_engraver()
 }
 
 bool
-Script_engraver::do_try_request(Request *r_l)
+Script_engraver::do_try_request (Request *r_l)
 {
-    if (!r_l->musical() || ! r_l->musical()->musicalscript())
+    if (!r_l->musical() || ! r_l->musical ()->musicalscript ())
        return false ;
     
     for (int i=0; i < script_req_l_arr_.size(); i++) {
-       if ( r_l->equal_b(script_req_l_arr_[i]))
+       if ( r_l->equal_b (script_req_l_arr_[i]))
            return true;
        
     }
-    script_req_l_arr_.pushr_l->script());
+    script_req_l_arr_.push (r_l->script());
     
     return true;
 }
@@ -39,8 +39,8 @@ Script_engraver::do_process_requests()
        Script *p =new Script;
        p->dir_i_ = l->dir_i_;
        p->specs_l_ = l->scriptdef_p_;
-       script_p_arr_.push(p);
-       announce_element(Score_elem_info(p, l));
+       script_p_arr_.push (p);
+       announce_element (Score_elem_info (p, l));
     }
 }
 
@@ -50,8 +50,8 @@ Script_engraver::do_pre_move_processing()
     Staff_symbol* s_l = get_staff_info().staff_sym_l_;
     for (int i=0; i < script_p_arr_.size(); i++) {
        Script*script_p = script_p_arr_[i];
-       script_p->set_staffsyms_l);
-       typeset_element(script_p);
+       script_p->set_staffsym (s_l);
+       typeset_element (script_p);
     }
     script_p_arr_.clear();
 }
index eb88b8756f4a8bb13e1ee8c489eba34bc8d41591..dbbda19724442812cedb9b79779f8759d509d8d8 100644 (file)
@@ -22,19 +22,19 @@ Script::do_print() const
 }
 
 void
-Script::do_substitute_dependency(Score_elem*o,Score_elem*n)
+Script::do_substitute_dependency (Score_elem*o,Score_elem*n)
 {
-    Staff_side::do_substitute_dependency(o,n);
+    Staff_side::do_substitute_dependency (o,n);
     if (o == stem_l_) {
        stem_l_ = n ? (Stem*)n->item() : 0;
     }
 }
 
 void
-Script::set_stem(Stem*st_l)
+Script::set_stem (Stem*st_l)
 {
     stem_l_ = st_l;
-    add_support(st_l);
+    add_support (st_l);
 }
 
 
@@ -51,23 +51,23 @@ Script::set_default_dir()
 {
     int s_i=specs_l_->rel_stem_dir_i();
     if (s_i) { 
-       if(stem_l_)
+       if (stem_l_)
            dir_i_ = stem_l_->dir_i_ * s_i;
        else{ 
-           specs_l_->warning("Script needs stem direction");
+           specs_l_->warning ("Script needs stem direction");
            dir_i_ = -1;
        }
     } else {
        dir_i_ =specs_l_->staff_dir_i();
     }
-    assert(dir_i_);
+    assert (dir_i_);
 }
 
 
 Interval
 Script::do_width() const
 {
-    return specs_l_->get_atom(paper(), dir_i_).extent().x();
+    return specs_l_->get_atom (paper(), dir_i_).extent ().x ();
 }
 
 void
@@ -85,16 +85,16 @@ Script::do_pre_processing()
 Interval
 Script::symbol_height()const
 {
-    return specs_l_->get_atom(paper(), dir_i_).extent().y();
+    return specs_l_->get_atom (paper(), dir_i_).extent ().y ();
 }
 
 Molecule*
 Script::brew_molecule_p() const
 {
-    Real dy = paper()->internote_f();
+    Real dy = paper()->internote_f ();
     
-    Molecule*out = new Molecule(specs_l_->get_atom(paper(), dir_i_));
-    out->translate(dy * pos_i_, Y_AXIS);
+    Molecule*out = new Molecule (specs_l_->get_atom (paper(), dir_i_));
+    out->translate (dy * pos_i_, Y_AXIS);
     return out;
 }
 
@@ -102,8 +102,8 @@ Script::brew_molecule_p() const
 IMPLEMENT_IS_TYPE_B2(Script,Item,Staff_side);
 
 int 
-Script::compare(Script  *const&l1, Script *const&l2) 
+Script::compare (Script  *const&l1, Script *const&l2) 
 {
-    return l1->specs_l_->priority_i() - l2->specs_l_->priority_i();
+    return l1->specs_l_->priority_i() - l2->specs_l_->priority_i ();
 }
     
index 1c5c51df4e67046d3c75d6de1ddc4e16e4994827..3c4b1814e700d79651bb19f1ca1db5dc85d7dcff 100644 (file)
 #include "note-column.hh"
 
 bool
-Slur_engraver::do_try_request(Request *req_l)
+Slur_engraver::do_try_request (Request *req_l)
 {
     Musical_req *mus_l = req_l->musical();
-    if(!mus_l || !mus_l->slur())
+    if (!mus_l || !mus_l->slur())
        return false;
 
-    new_slur_req_l_arr_.push(mus_l->slur());
+    new_slur_req_l_arr_.push (mus_l->slur());
     return true;
 }
 
 void
-Slur_engraver::acknowledge_element(Score_elem_info info)
+Slur_engraver::acknowledge_element (Score_elem_info info)
 {
-    if (info.elem_l_->name() == Note_column::static_name()) { 
+    if (info.elem_l_->name() == Note_column::static_name ()) { 
        Note_column *col_l =(Note_column*) info.elem_l_->item() ;// ugh
        for (int i = 0; i < slur_l_stack_.size(); i++)
-           slur_l_stack_[i]->add(col_l );
+           slur_l_stack_[i]->add (col_l);
        for (int i = 0; i < end_slur_l_arr_.size(); i++)
-           end_slur_l_arr_[i]->add(col_l);
+           end_slur_l_arr_[i]->add (col_l);
     }
 }
 
 void
-Slur_engraver::set_feature(Feature f)
+Slur_engraver::set_feature (Feature f)
 {
     if (f.type_ == "vdir")
        dir_i_ = f.value_ ;
@@ -59,22 +59,22 @@ Slur_engraver::do_process_requests()
        if (slur_req_l->spantype == Span_req::STOP) {
            if (slur_l_stack_.empty())
                
-                     slur_req_l->warning("can't find slur to end");
+                     slur_req_l->warning ("can't find slur to end");
            else {
-               end_slur_l_arr_.push(slur_l_stack_.pop());
+               end_slur_l_arr_.push (slur_l_stack_.pop());
                requests_arr_.pop();
            }
        } else  if (slur_req_l->spantype == Span_req::START) {
            // push a new slur onto stack.
            //(use temp. array to wait for all slur STOPs)
            Slur * s_p =new Slur;
-           requests_arr_.push(slur_req_l);
-           start_slur_l_arr_.push(s_p);
-           announce_element(Score_elem_info(s_p, slur_req_l));
+           requests_arr_.push (slur_req_l);
+           start_slur_l_arr_.push (s_p);
+           announce_element (Score_elem_info (s_p, slur_req_l));
        }
     }
     for (int i=0; i < start_slur_l_arr_.size(); i++)
-       slur_l_stack_.push(start_slur_l_arr_[i]);
+       slur_l_stack_.push (start_slur_l_arr_[i]);
 }
 
 void
@@ -83,7 +83,7 @@ Slur_engraver::do_pre_move_processing()
     for (int i = 0; i < end_slur_l_arr_.size(); i++) {
        if (dir_i_)
            end_slur_l_arr_[i]->dir_i_ = dir_i_;
-       typeset_element(end_slur_l_arr_[i]);
+       typeset_element (end_slur_l_arr_[i]);
     }
     end_slur_l_arr_.clear();
 }
@@ -96,7 +96,7 @@ Slur_engraver::do_post_move_processing()
 Slur_engraver::~Slur_engraver()
 {
     for (int i=0; i < requests_arr_.size(); i++) {
-       requests_arr_[i]->warning("unterminated slur");
+       requests_arr_[i]->warning ("unterminated slur");
     }
 }
 
index 89bdd2444c9d5fcbff43bf0766fc1a6629ad8175..bb494731295303923921155bd2bc74d3887952c6 100644 (file)
 
 
 void
-Slur::add(Note_column*n)
+Slur::add (Note_column*n)
 {
-    encompass_arr_.push(n);
-    add_dependency(n);
+    encompass_arr_.push (n);
+    add_dependency (n);
 }
 
 void
@@ -55,41 +55,41 @@ Slur::do_pre_processing()
 
 
 void
-Slur::do_substitute_dependency(Score_elem*o, Score_elem*n)
+Slur::do_substitute_dependency (Score_elem*o, Score_elem*n)
 {
     int i;
-    while((i = encompass_arr_.find_i((Note_column*)o->item())) >=0) {
+    while ((i = encompass_arr_.find_i ((Note_column*)o->item())) >=0) {
        if (n)
            encompass_arr_[i] = (Note_column*)n->item();
        else
-           encompass_arr_.del(i);
+           encompass_arr_.del (i);
     }
 }
 
 
 static int 
-Note_column_compare(Note_column *const&n1 , Note_column* const&n2)
+Note_column_compare (Note_column *const&n1 , Note_column* const&n2)
 {
-    return n1->pcol_l_->rank_i() - n2->pcol_l_->rank_i();
+    return n1->pcol_l_->rank_i() - n2->pcol_l_->rank_i ();
 }
 
 void
 Slur::do_post_processing()
 {
-    encompass_arr_.sort(Note_column_compare);
+    encompass_arr_.sort (Note_column_compare);
     if (!dir_i_)
        set_default_dir();
-    Real inter_f = paper()->internote_f();
+    Real inter_f = paper()->internote_f ();
     
     if (encompass_arr_[0]->stem_l_) 
-        left_pos_i_ = rint(encompass_arr_[0]->stem_l_->height()[dir_i_]/inter_f);
+        left_pos_i_ = rint (encompass_arr_[0]->stem_l_->height()[dir_i_]/inter_f);
     else 
         left_pos_i_ = rint ( encompass_arr_[0]->head_positions_interval()[dir_i_]);
     
     if (encompass_arr_.top()->stem_l_)
-        right_pos_i_ = rint(encompass_arr_.top()->stem_l_->height()[dir_i_]/inter_f);
+        right_pos_i_ = rint (encompass_arr_.top()->stem_l_->height ()[dir_i_]/inter_f);
     else 
-        right_pos_i_ = rint (encompass_arr_.top()->head_positions_interval()[dir_i_]);
+        right_pos_i_ = rint (encompass_arr_.top()->head_positions_interval ()[dir_i_]);
 
     left_pos_i_ += dir_i_;
     right_pos_i_ += dir_i_;
index 8e2663a2655770581b308c323208cf4684650b42..737a4b92b9ecd8623feb6d5795ff74110bf8b0f4 100644 (file)
@@ -23,19 +23,19 @@ Span_bar_engraver::get_span_bar_p()const
 }
 
 void
-Span_bar_engraver::acknowledge_element(Score_elem_info i)
+Span_bar_engraver::acknowledge_element (Score_elem_info i)
 {
     int depth = i.origin_grav_l_arr_.size();
     if ( depth > 1
-        && i.elem_l_->is_type_b( Bar::static_name() ) ) 
+        && i.elem_l_->is_type_b (Bar::static_name()) ) 
     {
-       bar_l_arr_.push( (Bar*)i.elem_l_->item() );
+       bar_l_arr_.push ((Bar*)i.elem_l_->item());
        
        if (bar_l_arr_.size() >= 2 && !spanbar_p_) {
            spanbar_p_ = get_span_bar_p();
-           announce_element( Score_elem_info(spanbar_p_,0) );
+           announce_element (Score_elem_info (spanbar_p_,0));
        }
-    } else if  (i.elem_l_->is_type_b( Vertical_align_spanner::static_name() 
+    } else if  (i.elem_l_->is_type_b (Vertical_align_spanner::static_name()
                && i.origin_grav_l_arr_.size() <= 2) {
        valign_l_ = (Vertical_align_spanner*)i.elem_l_->spanner();
     }
@@ -46,12 +46,12 @@ Span_bar_engraver::do_pre_move_processing()
 {
     if (spanbar_p_) {
        for (int i=0; i < bar_l_arr_.size() ; i++)
-           spanbar_p_->add(bar_l_arr_[i]);
-       spanbar_p_->set( valign_l_ );
-       typeset_element(spanbar_p_);
+           spanbar_p_->add (bar_l_arr_[i]);
+       spanbar_p_->set (valign_l_);
+       typeset_element (spanbar_p_);
        spanbar_p_ =0;
     }
-    bar_l_arr_.set_size0);
+    bar_l_arr_.set_size (0);
        
 }
 
index 1c9a8ba15962356d32c56b5979a206656c058ed3..08340ce390b2a212b214497c0010bf73d7736ef9 100644 (file)
 #include "vertical-align-elem.hh"
 
 void
-Span_bar::add(Bar*b)
+Span_bar::add (Bar*b)
 {
     b->spanned_i_ ++;
-    spanning_l_arr_.push(b);
-    add_dependency( b );
+    spanning_l_arr_.push (b);
+    add_dependency (b);
 }
 
 
 
 void
-Span_bar::do_substitute_dependency(Score_elem*o, Score_elem*n)
+Span_bar::do_substitute_dependency (Score_elem*o, Score_elem*n)
 {
     Bar * bold = 0;
-    if  (o->is_type_b(Bar::static_name() )) 
+    if  (o->is_type_b (Bar::static_name())) 
        bold = (Bar*)o->item();
     else
        return;
 
     bold->spanned_i_ --;
     Bar * b =0;
-    if (n && n->is_type_b(Bar::static_name() )) {
+    if (n && n->is_type_b (Bar::static_name())) {
        b = (Bar*)n->item();
        b->spanned_i_ ++;
     }
     
-    spanning_l_arr_.substitutebold , b);
+    spanning_l_arr_.substitute (bold , b);
 }
 
 
 void
-Span_bar::set(Vertical_align_element *a)
+Span_bar::set (Vertical_align_element *a)
 {
-    add_dependency( a );
+    add_dependency (a);
 }
     
 
 Interval
 Span_bar::do_width() const
 {
-    return paper()->lookup_l()->bar(type_str_, 40 PT).dim.x(); // ugh
+    return paper()->lookup_l ()->bar (type_str_, 40 PT).dim.x (); // ugh
 }
 void
 Span_bar::do_pre_processing()
 {
-    if ( spanning_l_arr_.size () < 1) {
+    if ( spanning_l_arr_.size() < 1) {
        transparent_b_ = true;
        empty_b_ =true;
     } else {
@@ -77,9 +77,9 @@ Span_bar::do_pre_processing()
 }
 
 Symbol
-Span_bar::get_bar_sym(Real dy) const
+Span_bar::get_bar_sym (Real dy) const
 {
-    return paper()->lookup_l()->bar(type_str_, dy);
+    return paper()->lookup_l ()->bar (type_str_, dy);
 }
 
 
@@ -89,17 +89,17 @@ Span_bar::brew_molecule_p()const
     Interval y_int;
     for (int i=0; i < spanning_l_arr_.size(); i++) {
        Axis_group_element *common = 
-           common_group(spanning_l_arr_[i], Y_AXIS);
+           common_group (spanning_l_arr_[i], Y_AXIS);
        
-       Real y = spanning_l_arr_[i]->relative_coordinate(common, Y_AXIS)  
-           -relative_coordinate(common,Y_AXIS);
+       Real y = spanning_l_arr_[i]->relative_coordinate (common, Y_AXIS)  
+           -relative_coordinate (common,Y_AXIS);
 
-       y_int.unite( y + spanning_l_arr_[i]->height() );
+       y_int.unite (y + spanning_l_arr_[i]->height());
     }
 
-    Symbol s = get_bar_sym(y_int.length());
-    Molecule*output = new Molecule(Atom(s));
-    output->translate (  y_int[-1], Y_AXIS );
+    Symbol s = get_bar_sym (y_int.length());
+    Molecule*output = new Molecule (Atom (s));
+    output->translate (  y_int[-1], Y_AXIS);
     return output;
 }
 
index d6a7a2fa71b81b396ace127f0155714c2bb3abe9..35e34fe601fdf4f602f02bd9cfba1709c8e2fc21 100644 (file)
@@ -28,14 +28,14 @@ Span_score_bar::do_pre_processing()
 
 
 Symbol
-Piano_brace::get_bar_sym(Real dy)const
+Piano_brace::get_bar_sym (Real dy)const
 {
-    return paper()->lookup_l()->vbrace(dy);
+    return paper()->lookup_l ()->vbrace (dy);
 }
 Interval
 Piano_brace::do_width()const
 {
-    return Interval(0,0);
+    return Interval (0,0);
 }
 
 
index 01a02cf8d44e7bd408037b11f35fa45ed931fe35..09ab9d73c0771fcbeb922cb6da73ae4342e6343a 100644 (file)
@@ -18,43 +18,43 @@ void
 Spanner::do_print()const
 {
 #ifndef NPRINT
-    mtor << "Between col ";
-    if ( left_col_l_ )
-       mtor << left_col_l_->rank_i();
+    DOUT << "Between col ";
+    if ( left_col_l_)
+       DOUT << left_col_l_->rank_i();
     else 
-       mtor << "nop";
-    mtor << ", ";
-    if ( right_col_l_ )
-       mtor << right_col_l_->rank_i();
+       DOUT << "nop";
+    DOUT << ", ";
+    if ( right_col_l_)
+       DOUT << right_col_l_->rank_i();
     else 
-       mtor << "nop";
+       DOUT << "nop";
     if (broken_into_l_arr_.size())
-       mtor << "with broken pieces\n";
+       DOUT << "with broken pieces\n";
 #endif
 }
 
 void
-Spanner::break_into_pieces(bool copy_deps_b)
+Spanner::break_into_pieces (bool copy_deps_b)
 {
-    if (  broken_into_l_arr_.size() )
+    if (  broken_into_l_arr_.size())
        return; 
         
     PCol * left = left_col_l_;
     PCol * right = right_col_l_;
-    if(left->daddy_l_) left = left->daddy_l_;
-    if(right->daddy_l_) right = right->daddy_l_;
+    if (left->daddy_l_) left = left->daddy_l_;
+    if (right->daddy_l_) right = right->daddy_l_;
     
     
-    Link_array<PCol> break_cols = pscore_l_->broken_col_range(left,right);
+    Link_array<PCol> break_cols = pscore_l_->broken_col_range (left,right);
     Link_array<Spanner> broken_into_l_arr;
 
-    break_cols.insert(left,0);
-    break_cols.push(right);
+    break_cols.insert (left,0);
+    break_cols.push (right);
 
     for (int i=1; i < break_cols.size(); i++) {
-       Spanner* span_p = clone()->spanner();
+       Spanner* span_p = clone()->spanner ();
        if (copy_deps_b)
-           span_p->copy_dependencies( *this );
+           span_p->copy_dependencies (*this);
        left = break_cols[i-1];
        right = break_cols[i];
        if (!right->line_l_)
@@ -62,13 +62,13 @@ Spanner::break_into_pieces(bool copy_deps_b)
        if (!left->line_l_)
            left = left->postbreak_p_;
 
-       assert(left&&right && left->line_l_ == right->line_l_);
+       assert (left&&right && left->line_l_ == right->line_l_);
 
        span_p->left_col_l_  = left;
        span_p->right_col_l_ = right;
        
-       pscore_l_->typeset_broken_spanner(span_p);
-       broken_into_l_arr.push( span_p );
+       pscore_l_->typeset_broken_spanner (span_p);
+       broken_into_l_arr.push (span_p);
     }
      
     broken_into_l_arr_ = broken_into_l_arr;
@@ -89,7 +89,7 @@ Spanner::do_break_processing()
     set_my_columns();
     
     if (!line_l()) {
-       break_into_pieces(true);
+       break_into_pieces (true);
        for (int i=0; i < broken_into_l_arr_.size(); i++)
            broken_into_l_arr_[i]->handle_broken_dependencies();
     } else { 
@@ -109,10 +109,10 @@ Spanner::do_width()const
 {
     Real r = right_col_l_->hpos_f_;
     Real l = left_col_l_->hpos_f_;
-    assert(*left_col_l_ < *right_col_l_);
-    assert(r>=l);
+    assert (*left_col_l_ < *right_col_l_);
+    assert (r>=l);
        
-    return Interval(0, r-l);
+    return Interval (0, r-l);
 }
 
 Line_of_score *
@@ -125,10 +125,10 @@ Spanner::line_l()const
 
 
 Spanner*
-Spanner::find_broken_piece(Line_of_score*l)const
+Spanner::find_broken_piece (Line_of_score*l)const
 {
     for (int i=0; i < broken_into_l_arr_.size(); i++)
-       if(broken_into_l_arr_[i]->line_l() == l)
+       if (broken_into_l_arr_[i]->line_l() == l)
            return broken_into_l_arr_[i];
     return 0;                             
          
index 81196d6b246c1038ba0cbdb43522e3699a73175b..d060529d6335b9b7390f90993c5c50f5862db85b 100644 (file)
@@ -29,7 +29,7 @@ Spring_spacer::default_solution()const
 }
 
 Score_column*
-Spring_spacer::scol_l(int i) 
+Spring_spacer::scol_l (int i) 
 {
     return (Score_column*)cols[i].pcol_l_;
 }
@@ -38,7 +38,7 @@ const Real COLFUDGE=1e-3;
 template class P<Real>;                // ugh.
 
 bool
-Spring_spacer::contains(PCol const *w)
+Spring_spacer::contains (PCol const *w)
 {
     for (int i=0; i< cols.size(); i++)
        if (cols[i].pcol_l_ == w)
@@ -52,9 +52,9 @@ Spring_spacer::OK() const
 {
 #ifndef NDEBUG
     for (int i = 1; i < cols.size(); i++)
-       assert(cols[i].rank_i_ > cols[i-1].rank_i_);
+       assert (cols[i].rank_i_ > cols[i-1].rank_i_);
     for (int i = 1; i < loose_col_arr_.size(); i++)
-       assert(loose_col_arr_[i].rank_i_ > loose_col_arr_[i-1].rank_i_);
+       assert (loose_col_arr_[i].rank_i_ > loose_col_arr_[i-1].rank_i_);
 #endif 
 }
 
@@ -64,21 +64,21 @@ Spring_spacer::OK() const
 void
 Spring_spacer::handle_loose_cols() 
 {
-    Union_find connected(cols.size());
+    Union_find connected (cols.size());
     Array<int> fixed;
-    for (PCursor<Idealspacing*> i(ideal_p_list_.top()); i.ok(); i++){
-       connected.connect(i->left_i_,i->right_i_);              
+    for (PCursor<Idealspacing*> i (ideal_p_list_.top()); i.ok (); i++){
+       connected.connect (i->left_i_,i->right_i_);             
     }
     for (int i = 0; i < cols.size(); i++)
        if (cols[i].fixed())
-           fixed.push(i);
+           fixed.push (i);
     for (int i=1; i < fixed.size(); i++)
-       connected.connect(fixed[i-1], fixed[i]);
+       connected.connect (fixed[i-1], fixed[i]);
 
-    for (int i = cols.size(); i--; ) {
-       if (! connected.equiv(fixed[0], i)) {
-           warning("unconnected column: " + String(i));
-           loosen_column(i);
+    for (int i = cols.size(); i--;) {
+       if (! connected.equiv (fixed[0], i)) {
+           warning ("unconnected column: " + String (i));
+           loosen_column (i);
        }
     }
     OK();
@@ -90,13 +90,13 @@ Spring_spacer::handle_loose_cols()
   regular distances from enclosing calced columns 
   */
 void
-Spring_spacer::position_loose_cols(Vector &sol_vec)const
+Spring_spacer::position_loose_cols (Vector &sol_vec)const
 {
     if (!loose_col_arr_.size())
        return ; 
-    assert(sol_vec.dim());
+    assert (sol_vec.dim());
     Array<bool> fix_b_arr;
-    fix_b_arr.set_size(cols.size() + loose_col_arr_.size());
+    fix_b_arr.set_size (cols.size() + loose_col_arr_.size ());
     Real utter_right_f=-infinity_f;
     Real utter_left_f =infinity_f;
     for (int i=0; i < loose_col_arr_.size(); i++) {
@@ -105,30 +105,30 @@ Spring_spacer::position_loose_cols(Vector &sol_vec)const
     for (int i=0; i < cols.size(); i++) {
        int r= cols[i].rank_i_;
        fix_b_arr[r] = true;
-       utter_right_f = utter_right_f >? sol_vec(i);
-       utter_left_f = utter_left_f <? sol_vec(i);
+       utter_right_f = utter_right_f >? sol_vec (i);
+       utter_left_f = utter_left_f <? sol_vec (i);
     }
-    Vector v(fix_b_arr.size());
+    Vector v (fix_b_arr.size());
     int j =0;
     int k =0;
     for (int i=0; i < v.dim(); i++) {
        if (fix_b_arr[i]) {
-           assert(cols[j].rank_i_ == i);
-           v(i) = sol_vec(j++);
+           assert (cols[j].rank_i_ == i);
+           v (i) = sol_vec (j++);
        } else {
            Real left_pos_f = 
-               (j>0) ?sol_vec(j-1) : utter_left_f;
+               (j>0) ?sol_vec (j-1) : utter_left_f;
            Real right_pos_f = 
-               (j < sol_vec.dim()) ? sol_vec(j) : utter_right_f;
+               (j < sol_vec.dim()) ? sol_vec (j) : utter_right_f;
            int left_rank = (j>0) ? cols[j-1].rank_i_ : 0;
-           int right_rank = (j<sol_vec.dim()) ? cols[j].rank_i_ : sol_vec.dim();
+           int right_rank = (j<sol_vec.dim()) ? cols[j].rank_i_ : sol_vec.dim ();
 
            int d_r = right_rank - left_rank;
            Colinfo loose=loose_col_arr_[k++];
            int r = loose.rank_i_ ;
-           assert(r > left_rank && r < right_rank);
+           assert (r > left_rank && r < right_rank);
 
-           v(i) =  (r - left_rank)*left_pos_f/ d_r + 
+           v (i) =  (r - left_rank)*left_pos_f/ d_r + 
                (right_rank - r) *right_pos_f /d_r;
        }
     }
@@ -136,15 +136,15 @@ Spring_spacer::position_loose_cols(Vector &sol_vec)const
 }
  
 bool
-Spring_spacer::check_constraints(Vector v) const 
+Spring_spacer::check_constraints (Vector v) const 
 {
     int dim=v.dim();
-    assert(dim == cols.size());
+    assert (dim == cols.size());
     
     for (int i=0; i < dim; i++) {
 
        if (cols[i].fixed()&&
-           abs(cols[i].fixed_position() - v(i)) > COLFUDGE) 
+           abs (cols[i].fixed_position() - v (i)) > COLFUDGE) 
            return false;
        
        if (!i) 
@@ -154,7 +154,7 @@ Spring_spacer::check_constraints(Vector v) const
            +cols[i].minleft();
 
        // ugh... compares
-       Real dif =v(i) - v(i-1)- mindist;
+       Real dif =v (i) - v (i-1)- mindist;
        bool b = (dif > - COLFUDGE);
        
 
@@ -168,8 +168,8 @@ Spring_spacer::check_constraints(Vector v) const
 bool
 Spring_spacer::check_feasible() const
 {
-    Vector sol(try_initial_solution());
-    return check_constraints(sol);     
+    Vector sol (try_initial_solution());
+    return check_constraints (sol);     
 }
 
 /// generate a solution which obeys the min distances and fixed positions
@@ -177,16 +177,16 @@ Vector
 Spring_spacer::try_initial_solution() const
 {
     int dim=cols.size();
-    Vector initsol(dim);
+    Vector initsol (dim);
     for (int i=0; i < dim; i++) {
        if (cols[i].fixed()) {
-           initsol(i)=cols[i].fixed_position();        
+           initsol (i)=cols[i].fixed_position();       
 
            if (i > 0) {
-               Real r =initsol(i-1)  + cols[i-1].minright();
-               if (initsol(i) < r ) {
-                   warning("overriding fixed position");
-                   initsol(i) =r;
+               Real r =initsol (i-1)  + cols[i-1].minright();
+               if (initsol (i) < r) {
+                   warning ("overriding fixed position");
+                   initsol (i) =r;
                } 
            }
                
@@ -194,8 +194,8 @@ Spring_spacer::try_initial_solution() const
            Real mindist=cols[i-1].minright()
                +cols[i].minleft();
            if (mindist < 0.0)
-               warning("Excentric column");
-           initsol(i)=initsol(i-1)+mindist;
+               warning ("Excentric column");
+           initsol (i)=initsol (i-1)+mindist;
        }       
     }
 
@@ -207,48 +207,48 @@ Spring_spacer::try_initial_solution() const
 Vector
 Spring_spacer::find_initial_solution() const
 {
-    Vector v(try_initial_solution());     
-    assert(check_constraints(v));
+    Vector v (try_initial_solution());     
+    assert (check_constraints (v));
     return v;
 }
 
 // generate the matrices
 void
-Spring_spacer::make_matrices(Matrix &quad, Vector &lin, Real &c) const
+Spring_spacer::make_matrices (Matrix &quad, Vector &lin, Real &c) const
 {
-    quad.fill(0);
-    lin.fill(0);
+    quad.fill (0);
+    lin.fill (0);
     c = 0;
     
-    for (PCursor<Idealspacing*> i(ideal_p_list_.top()); i.ok(); i++) {
+    for (PCursor<Idealspacing*> i (ideal_p_list_.top()); i.ok (); i++) {
        int l = i->left_i_;
        int r = i->right_i_;
 
-       quad(r,r) += i->hooke_f_;
-       quad(r,l) -= i->hooke_f_;
-       quad(l,r) -= i->hooke_f_;
-       quad(l,l) += i->hooke_f_;
+       quad (r,r) += i->hooke_f_;
+       quad (r,l) -= i->hooke_f_;
+       quad (l,r) -= i->hooke_f_;
+       quad (l,l) += i->hooke_f_;
 
-       lin(r) -= i->space_f_*i->hooke_f_;
-       lin(l) += i->space_f_*i->hooke_f_;
+       lin (r) -= i->space_f_*i->hooke_f_;
+       lin (l) += i->space_f_*i->hooke_f_;
 
-       c += sqr(i->space_f_);
+       c += sqr (i->space_f_);
     }
 }
 
 void
-Spring_spacer::set_fixed_cols(Mixed_qp &qp)const
+Spring_spacer::set_fixed_cols (Mixed_qp &qp)const
 {
     for (int j=0; j < cols.size(); j++) 
        if (cols[j].fixed()) 
-           qp.add_fixed_var(j,cols[j].fixed_position());           
+           qp.add_fixed_var (j,cols[j].fixed_position());          
        
     
 }
 
 // put the constraints into the LP problem
 void
-Spring_spacer::make_constraints(Mixed_qp& lp) const
+Spring_spacer::make_constraints (Mixed_qp& lp) const
 {    
     int dim=cols.size();
     for (int j=0; j < dim; j++) {
@@ -258,47 +258,47 @@ Spring_spacer::make_constraints(Mixed_qp& lp) const
            
            c1(j)=1.0 ;
            c1(j-1)=-1.0 ;
-           lp.add_inequality_cons(c1, cols[j-1].minright() +
+           lp.add_inequality_cons (c1, cols[j-1].minright() +
                                   cols[j].minleft());
        }
     }
 }
 
 void
-Spring_spacer::lower_bound_solution(Col_hpositions*positions)const
+Spring_spacer::lower_bound_solution (Col_hpositions*positions)const
 {
-    Mixed_qp lp(cols.size());
-    make_matrices(lp.quad,lp.lin, lp.const_term);
-    set_fixed_cols(lp);
+    Mixed_qp lp (cols.size());
+    make_matrices (lp.quad,lp.lin, lp.const_term);
+    set_fixed_cols (lp);
 
-    Vector start(cols.size());
-    start.fill(0.0);
-    Vector solution_vec(lp.solve(start));
+    Vector start (cols.size());
+    start.fill (0.0);
+    Vector solution_vec (lp.solve (start));
 
-    positions->energy_f_ = lp.eval(solution_vec);
+    positions->energy_f_ = lp.eval (solution_vec);
     positions->config = solution_vec;
-    positions->satisfies_constraints_b_ = check_constraints(solution_vec);
+    positions->satisfies_constraints_b_ = check_constraints (solution_vec);
 }
 
 void
-Spring_spacer::solve(Col_hpositions*positions) const
+Spring_spacer::solve (Col_hpositions*positions) const
 {
-    assert(check_feasible());
+    assert (check_feasible());
 
-    Mixed_qp lp(cols.size());
-    make_matrices(lp.quad,lp.lin, lp.const_term);
-    make_constraints(lp);    
-    set_fixed_cols(lp);
+    Mixed_qp lp (cols.size());
+    make_matrices (lp.quad,lp.lin, lp.const_term);
+    make_constraints (lp);    
+    set_fixed_cols (lp);
     Vector start=find_initial_solution();    
-    Vector solution_vec(lp.solve(start));
+    Vector solution_vec (lp.solve (start));
 
 
-    positions->satisfies_constraints_b_ = check_constraints(solution_vec);
+    positions->satisfies_constraints_b_ = check_constraints (solution_vec);
     if (!positions->satisfies_constraints_b_) {
        WARN << "solution doesn't satisfy constraints.\n" ;
     }
-    position_loose_cols(solution_vec); 
-    positions->energy_f_ = lp.eval(solution_vec);
+    position_loose_cols (solution_vec); 
+    positions->energy_f_ = lp.eval (solution_vec);
     positions->config = solution_vec;
     positions->error_col_l_arr_ = error_pcol_l_arr();
     
@@ -308,14 +308,14 @@ Spring_spacer::solve(Col_hpositions*positions) const
     add one column to the problem.
 */    
 void
-Spring_spacer::add_column(PCol  *col, bool fixed, Real fixpos)
+Spring_spacer::add_column (PCol  *col, bool fixed, Real fixpos)
 {
-    Colinfo c(col,(fixed)? &fixpos :  0);
+    Colinfo c (col,(fixed)? &fixpos :  0);
     if (cols.size())
        c.rank_i_ = cols.top().rank_i_+1;
     else
        c.rank_i_ = 0;
-    cols.push(c);
+    cols.push (c);
 }
 
 Line_of_cols
@@ -324,18 +324,18 @@ Spring_spacer::error_pcol_l_arr()const
     Array<PCol*> retval;
     for (int i=0; i< cols.size(); i++)
        if (cols[i].ugh_b_)
-           retval.push(cols[i].pcol_l_);
+           retval.push (cols[i].pcol_l_);
     for (int i=0;  i < loose_col_arr_.size(); i++) {
-       retval.push(loose_col_arr_[i].pcol_l_);
+       retval.push (loose_col_arr_[i].pcol_l_);
     }
     return retval;
 }
 
 void
-Spring_spacer::loosen_column(int i)
+Spring_spacer::loosen_column (int i)
 {
-    Colinfo c=cols.get(i);
-    for (PCursor<Idealspacing*> j(ideal_p_list_.top()); j.ok(); j++){
+    Colinfo c=cols.get (i);
+    for (PCursor<Idealspacing*> j (ideal_p_list_.top()); j.ok (); j++){
        if (j->left_i_ == i|| j->right_i_ == i)
            j.del();
        else
@@ -348,7 +348,7 @@ Spring_spacer::loosen_column(int i)
        if (loose_col_arr_[j].rank_i_ > c.rank_i_)
            break;
     }
-    loose_col_arr_.insert(c,j);
+    loose_col_arr_.insert (c,j);
 }
 
 
@@ -357,19 +357,18 @@ Spring_spacer::print() const
 {
 #ifndef NPRINT
     for (int i=0; i < cols.size(); i++) {
-       mtor << "col " << i<<' ';
+       DOUT << "col " << i<<' ';
        cols[i].print();
     }
-    for (PCursor<Idealspacing*> i(ideal_p_list_.top()); i.ok(); i++){
+    for (PCursor<Idealspacing*> i (ideal_p_list_.top()); i.ok (); i++){
        i->print();
     }
 #endif
-    
 }
 
 
 void
-Spring_spacer::connect(int i, int j, Real d, Real h)
+Spring_spacer::connect (int i, int j, Real d, Real h)
 {
     Idealspacing * s = new Idealspacing;
     s->left_i_ = i;
@@ -377,65 +376,9 @@ Spring_spacer::connect(int i, int j, Real d, Real h)
     s->space_f_ = d;
     s->hooke_f_ = h;
     
-    ideal_p_list_.bottom().add(s);
+    ideal_p_list_.bottom().add (s);
 }
 
-/**
-  walk through all durations in all Score_columns
- */
-struct Durations_iter
-{
-    Spring_spacer * sp_l_;
-    int col_i_;
-    int d_i_;
-    
-    Durations_iter(Spring_spacer*);
-
-    Moment duration()const;
-    Moment when()const;
-    
-    bool ok()const;
-    void next();
-};
-
-Durations_iter::Durations_iter(Spring_spacer * s)
-{
-    col_i_ =0;
-    d_i_ =0;           // ugh
-    
-    sp_l_ = s;
-    if (! sp_l_->scol_l(col_i_)->durations.size() )
-       next();
-}
-
-Moment
-Durations_iter::duration() const 
-{
-    return sp_l_->scol_l(col_i_)->durations[d_i_];
-}
-
-bool
-Durations_iter::ok()const{
-    return col_i_ < sp_l_->cols.size();
-}
-
-Moment
-Durations_iter::when()const{
-    return sp_l_->scol_l(col_i_)->when();
-}
-
-void
-Durations_iter::next()
-{
-    d_i_ ++;
-    while ( col_i_ < sp_l_->cols.size() 
-           && d_i_ >= sp_l_->scol_l(col_i_)->durations.size()){
-       col_i_ ++;
-       d_i_ =0;
-    }
-}
-
-       
 /**
   generate springs between columns.
 
@@ -456,55 +399,55 @@ Spring_spacer::calc_idealspacing()
 {
  
     for (int i=0; i < cols.size(); i++) 
-       scol_l(i)->preprocess();
+       scol_l (i)->preprocess();
     
     /* get the shortest running note at a time. */
-    Array<Moment> shortest_arr_;
-    {
-       Durations_iter d_iter(this);
-       for (int i=0; i < cols.size(); i++) {
-           Moment now = scol_l(i)->when();
-           while (  d_iter.ok() && now >= d_iter.when() ) {
-               if ( now < d_iter.when() + d_iter.duration())
-                   break;
-               d_iter.next();
+    Array<Moment> shortest_arr;
+    for (int i=0; i < cols.size(); i++) {
+       Moment now = scol_l (i)->when();
+       Moment shortest = infinity_mom;
+       // ji was j, but triggered ICE
+       for (int ji=i+1; ji --; ) {
+           if (scol_l(ji)->durations.size() &&
+                now - scol_l(ji)->when() >= shortest)
+               break;
+                   
+           for (int k =  scol_l (ji)->durations.size(); 
+                k-- && scol_l(ji)->durations[k] + scol_l(ji)->when() > now;  
+               ) 
+           {
+               shortest = shortest <? scol_l(ji)->durations[k];
            }
-           if ( d_iter.ok() && now >= d_iter.when()) {
-               Durations_iter d2 = d_iter;
-               Moment shortest = infinity_mom;
-               while (d2.ok() && d2.when() <= now) {
-                   shortest = shortest <? d2.duration();
-                   d2.next();
-               }
-               shortest_arr_.push( shortest );
-           } else
-               shortest_arr_.push(0);
        }
-       
+       shortest_arr.push(shortest);
     }
+    
 #ifndef NPRINT
-    mtor << "shortest:[ ";
-    for (int i=0; i < shortest_arr_.size(); i++)
-       mtor << shortest_arr_[i] << " ";
-    mtor << "]\n";
+    DOUT << "shortest:[ ";
+    for (int i=0; i < shortest_arr.size(); i++)
+       DOUT << shortest_arr[i] << " ";
+    DOUT << "]\n";
 #endif
   
     Array<Real> ideal_arr_;
     Array<Real> hooke_arr_;    
     for (int i=0; i < cols.size(); i++){
-       ideal_arr_.push(  -1.0);
-       hooke_arr_.push(1.0);
+       ideal_arr_.push (-1.0);
+       hooke_arr_.push (1.0);
     }
     
     for (int i=0; i < cols.size(); i++) {
-       if ( !scol_l(i)->musical_b()) {
+       if ( !scol_l (i)->musical_b()) {
            Real symbol_distance =cols[i].minright() + 2 PT;
            Real durational_distance = 0;
 
            if (i+1 < cols.size()) {
-               Moment delta_t =  scol_l(i+1)->when() - scol_l(i)->when() ;
+               Moment delta_t =  scol_l (i+1)->when() - scol_l (i)->when () ;
+               /*
+                 ugh should use shortest distance
+                */
                if (delta_t)
-                   durational_distance =  paper_l()->duration_to_dist(delta_t) ;
+                   durational_distance =  paper_l()->duration_to_dist (delta_t) ;
                symbol_distance += cols[i+1].minleft();
            }
            
@@ -513,19 +456,19 @@ Spring_spacer::calc_idealspacing()
        }
     }
     for (int i=0; i < cols.size(); i++) {
-       if (scol_l(i)->musical_b()) {
-           Moment shortest_len = shortest_arr_[i];
-           if ( ! shortest_len ) {
-               warning"Can't find a ruling note at " 
-                        +String( scol_l(i)->when()));
+       if (scol_l (i)->musical_b()) {
+           Moment shortest_len = shortest_arr[i];
+           if ( ! shortest_len) {
+               warning ("Can't find a ruling note at " 
+                        +String (scol_l (i)->when()));
                shortest_len = 1;
            }
-           Moment delta_t = scol_l(i+1)->when() - scol_l(i)->when();
-           Real dist = paper_l()->duration_to_dist(shortest_len);
+           Moment delta_t = scol_l (i+1)->when() - scol_l (i)->when ();
+           Real dist = paper_l()->duration_to_dist (shortest_len);
            dist *= delta_t / shortest_len;
-           if (!scol_l(i+1)->musical_b() ) {
+           if (!scol_l (i+1)->musical_b()) {
 
-               Real minimum_dist =   cols[i+1].minleft() + 2 PT + cols[i].minright() ;
+               Real minimum_dist =   cols[i+1].minleft() + 2 PT + cols[i].minright () ;
                if (ideal_arr_[i+1] + minimum_dist < dist) {
                    ideal_arr_[i] = dist - ideal_arr_[i+1];
                    // hooke_arr_[i+1] =1.0;
@@ -540,7 +483,7 @@ Spring_spacer::calc_idealspacing()
 
     for (int i=0; i < ideal_arr_.size()-1; i++) {
        assert (ideal_arr_[i] >=0 && hooke_arr_[i] >=0);
-       connect(i, i+1, ideal_arr_[i], hooke_arr_[i]);
+       connect (i, i+1, ideal_arr_[i], hooke_arr_[i]);
     }
 }
 
index 5f7fed022db0e9291ecb8d71604c82486850a349..f1c4a9ab7f5fc3622b5ed0ec7c82527830100fbd 100644 (file)
@@ -53,6 +53,6 @@ Staff_info::musical_pcol_l()
 Moment
 Staff_info::when()
 {
-    return command_l()->when();
+    return command_l()->when ();
 }
 
index edffec11c0a612fd82f37afd830ed5ee695f2464..3bfb05286bf7c27a4ac757ed0068a3ca382892c3 100644 (file)
@@ -32,25 +32,23 @@ Staff_performer::do_creation_processing()
 {
     audio_staff_p_ = new Audio_staff;
 
-    if (instrument_str().length_i()) {
-       // staff name
-       play (new Audio_text ( Audio_text::TRACK_NAME, instrument_str ()));
-       // instrument description
-       play (new Audio_text (Audio_text::INSTRUMENT_NAME, instrument_str ()));
-    }
+    // staff name
+    play (new Audio_text (Audio_text::TRACK_NAME, instrument_str()));
+
+    // instrument description
+    play (new Audio_text (Audio_text::INSTRUMENT_NAME, instrument_str()));
 
     // tempo
-    play(new Audio_tempo(get_tempo_i()));
+    play (new Audio_tempo (get_tempo_i()));
 
-    if (instrument_str ().length_i ())
-       // instrument
-       play (new Audio_instrument (instrument_str ()));
+    // instrument
+    play (new Audio_instrument (instrument_str()));
 }
 
 void
 Staff_performer::do_removal_processing()
 {
-    Performer::play( audio_staff_p_ );
+    Performer::play (audio_staff_p_);
     audio_staff_p_ = 0;
 }
 
@@ -61,11 +59,11 @@ Staff_performer::instrument_str()
 }
 
 void 
-Staff_performer::play( Audio_element* p )
+Staff_performer::play (Audio_element* p)
 {
-    if (p->is_type_b(Audio_item::static_name())) {
-       audio_staff_p_->add((Audio_item*)p);
+    if (p->is_type_b (Audio_item::static_name())) {
+       audio_staff_p_->add ((Audio_item*)p);
     }
-    Performer::play(p);
+    Performer::play (p);
 }
 
index 6cade842a53a5f892e73be8aaf4508d472dd0e73..704dc21ede07d9d59670f6123c0ae86c03412a81 100644 (file)
 #include "debug.hh"
 
 void
-Staff_side::set_staffsym(Staff_symbol* s_l)
+Staff_side::set_staffsym (Staff_symbol* s_l)
 {
     staff_sym_l_ = s_l;
-    add_dependency( s_l );
+    add_dependency (s_l);
 }
 
 Staff_side::Staff_side()
 {
     pos_i_ =0;
-    sym_int_ = Interval(0,0);
+    sym_int_ = Interval (0,0);
     staff_size_i_ = 0;
     staff_sym_l_=0;
     dir_i_ =0;
@@ -45,32 +45,32 @@ Staff_side::support_height() const
     Interval r;
     
     for (int i=0; i < support_l_arr_.size(); i++)
-       r.unite(support_l_arr_[i]->height());
+       r.unite (support_l_arr_[i]->height());
     if (r.empty_b()) {
-       r = Interval(0,0);
+       r = Interval (0,0);
     }
     return r;
 }
 
 void
-Staff_side::add_support(Score_elem*i)
+Staff_side::add_support (Score_elem*i)
 {
-    support_l_arr_.push(i);
-    add_dependency(i);
+    support_l_arr_.push (i);
+    add_dependency (i);
 }
 
 int
 Staff_side::get_position_i()const
 {
     if (!dir_i_) {
-       warning("Staff_side::get_position_i(): " 
+       warning ("Staff_side::get_position_i(): " 
                "somebody forgot to set my vertical direction, returning -20");
        return -20;
     }
     
 
     Real y=0;
-    Real inter_f = paper()-> internote_f();
+    Real inter_f = paper()-> internote_f ();
     if (!inside_staff_b_) {
        y  = (dir_i_ > 0 && staff_sym_l_) ? staff_sym_l_->steps_i() + 2: -2; 
        y *=inter_f;
@@ -85,28 +85,28 @@ Staff_side::get_position_i()const
        Interval v= support_height();
        y = v[dir_i_]  + 2*dir_i_*inter_f;      // ugh
     }
-    return int(rint(Real(y)/inter_f)); // should ret a float?
+    return int (rint (Real (y)/inter_f)); // should ret a float?
 }
 
 Interval
 Staff_side::symbol_height() const
 {
-    return Interval(0,0);
+    return Interval (0,0);
 }
 
 void
 Staff_side::do_post_processing()
 {
     sym_int_ = symbol_height();
-    pos_i_ = get_position_i( );
+    pos_i_ = get_position_i();
     if (dir_i_)
-       pos_i_ += int(rint(- sym_int_[-dir_i_] / paper()->internote_f()));
+       pos_i_ += int (rint (- sym_int_[-dir_i_] / paper()->internote_f ()));
 }
 
 void
-Staff_side::do_substitute_dependency(Score_elem*o, Score_elem*n)
+Staff_side::do_substitute_dependency (Score_elem*o, Score_elem*n)
 { 
-    support_l_arr_.unordered_substitute(o,n);
+    support_l_arr_.unordered_substitute (o,n);
     if (staff_sym_l_ == o)
        staff_sym_l_ = n ? (Staff_symbol*) n->spanner():0;
 }
index 03de4a59d9a97e68b82f8e35682a7903309a611c..5aff3e35361da0db1b190a882a4b403fb5800eb6 100644 (file)
 
 const NO_LINES = 5;
 void
-Staff_sym_engraver::fill_staff_info(Staff_info&i)
+Staff_sym_engraver::fill_staff_info (Staff_info&i)
 {
     i.staff_sym_l_ = span_p_;
 }
 
 Staff_sym_engraver::~Staff_sym_engraver()
 {
-    assert!span_p_);
+    assert (!span_p_);
 }
 
 Staff_sym_engraver::Staff_sym_engraver()
@@ -31,24 +31,19 @@ Staff_sym_engraver::Staff_sym_engraver()
 void
 Staff_sym_engraver::do_creation_processing()
 {
-    span_p_ = new Staff_symbol(NO_LINES);
-    span_p_->left_col_l_ = get_staff_info().command_pcol_l(); // ugh
+    span_p_ = new Staff_symbol (NO_LINES);
+    span_p_->left_col_l_ = get_staff_info().command_pcol_l (); // ugh
+    announce_element (Score_elem_info (span_p_, 0));
 }
 
 void
 Staff_sym_engraver::do_removal_processing()
 {
-    span_p_->right_col_l_ = get_staff_info().command_pcol_l();
-    typeset_element(span_p_);
+    span_p_->right_col_l_ = get_staff_info().command_pcol_l ();
+    typeset_element (span_p_);
     span_p_ =0;
 }
 
-void
-Staff_sym_engraver::do_process_requests()
-{
-    announce_element(Score_elem_info(span_p_, 0));
-}
-
 
 
 IMPLEMENT_IS_TYPE_B1(Staff_sym_engraver,Engraver);
index c228be587060fcdb7459813589995a0c5b7ad6d4..4e1a81d955dc6d36690dc68623bb952e98f648b1 100644 (file)
@@ -13,7 +13,7 @@
 
 
 
-Staff_symbol::Staff_symbol(int l)
+Staff_symbol::Staff_symbol (int l)
 {
     no_lines_i_ = l;
 }
@@ -26,21 +26,21 @@ Staff_symbol::do_print()const
 {
 #ifndef NPRINT
     Spanner::do_print();
-    mtor << "lines: " << no_lines_i_;
+    DOUT << "lines: " << no_lines_i_;
 #endif
 }
 
 Molecule*
 Staff_symbol::brew_molecule_p() const
 {
-    Atom a  = paper()->lookup_l()->linestaff(no_lines_i_, width().length());
-    return new Molecule(a);
+    Atom a  = paper()->lookup_l ()->linestaff (no_lines_i_, width ().length ());
+    return new Molecule (a);
 }
 
 void
-Staff_symbol::set_extent(PCol*p1, PCol*p2)
+Staff_symbol::set_extent (PCol*p1, PCol*p2)
 {
-    assert(p1&&p2);
+    assert (p1&&p2);
     left_col_l_ = p1;
     right_col_l_ = p2;
 }
@@ -48,7 +48,7 @@ Staff_symbol::set_extent(PCol*p1, PCol*p2)
 Real
 Staff_symbol::inter_note_f()const
 {
-    return paper()->internote_f();
+    return paper()->internote_f ();
 }
 
 int
index 70fca43bf7005a2a3a14b96b0642074533fc7831..1872d89868d174c3e9758bcbb1689bb763b15b5c 100644 (file)
@@ -26,12 +26,12 @@ Stem_beam_engraver::Stem_beam_engraver()
 }
 
 bool
-Stem_beam_engraver::do_try_request(Request*req_l)
+Stem_beam_engraver::do_try_request (Request*req_l)
 {
     
     Musical_req* mus_l = req_l->musical();
     /* Debiele puntkomma's. Laat je er eentje per ongeluk achter een
-      if(..) staan, lijkt het net op een luis in gcc.
+      if (..) staan, lijkt het net op een luis in gcc.
 
       (ofwel Python rules)
       */
@@ -39,23 +39,23 @@ Stem_beam_engraver::do_try_request(Request*req_l)
        return false;
 
 
-    if ( mus_l->beam() ) {
-       if (bool(beam_p_ ) == bool(mus_l->beam()->spantype == Span_req::START))
+    if ( mus_l->beam()) {
+       if (bool (beam_p_) == bool (mus_l->beam()->spantype == Span_req::START))
            return false;
        
-       if (beam_req_l_ && beam_req_l_ ->equal_b(mus_l))
+       if (beam_req_l_ && beam_req_l_ ->equal_b (mus_l))
            return false;
        
        beam_req_l_ = mus_l->beam();
        return true;
     }
     
-    if ( mus_l->stem() ) {
-       if (current_grouping && !current_grouping->child_fit_b(
+    if ( mus_l->stem()) {
+       if (current_grouping && !current_grouping->child_fit_b (
            get_staff_info().time_C_->whole_in_measure_))
            return false;
 
-       if (stem_req_l_ && !stem_req_l_->equal_b( mus_l ) )
+       if (stem_req_l_ && !stem_req_l_->equal_b (mus_l) )
            return false;
 
        stem_req_l_ = mus_l->stem();
@@ -74,28 +74,28 @@ Stem_beam_engraver::do_process_requests()
        } else {
            beam_p_ = new Beam;
            start_req_l_ = beam_req_l_;
-           beam_p_->left_col_l_ = get_staff_info().musical_pcol_l();
+           beam_p_->left_col_l_ = get_staff_info().musical_pcol_l ();
            current_grouping = new Rhythmic_grouping;
            if (beam_req_l_->nplet) {
                Text_spanner* t = new Text_spanner();
                Text_def *defp = new Text_def;
-               t->set_support(beam_p_);
+               t->set_support (beam_p_);
                defp->align_i_ = 0;
                defp->text_str_ = beam_req_l_->nplet;
                defp->style_str_="italic";
                t->spec_p_  = defp;
-               announce_element(Score_elem_info(t,0));
-               typeset_element(t);
+               announce_element (Score_elem_info (t,0));
+               typeset_element (t);
            }
-           announce_element ( Score_elem_info(beam_p_, 0));
+           announce_element ( Score_elem_info (beam_p_, 0));
             
        }
     }
 
     if (stem_req_l_) {
-       stem_p_ = new Stem(8);
+       stem_p_ = new Stem (8);
        if (current_grouping)
-           current_grouping->add_child(
+           current_grouping->add_child (
                get_staff_info().time_C_->whole_in_measure_,
                stem_req_l_->duration());
 
@@ -103,29 +103,29 @@ Stem_beam_engraver::do_process_requests()
 
        if (beam_p_) {
            if (stem_req_l_->duration_.type_i_<= 4)
-               stem_req_l_->warning"stem doesn't fit in Beam");
+               stem_req_l_->warning ("stem doesn't fit in Beam");
            else
-               beam_p_->add(stem_p_);
+               beam_p_->add (stem_p_);
            stem_p_->print_flag_b_ = false;
        } else {
            stem_p_->print_flag_b_ = true;
        }
        
-       announce_element(Score_elem_info(stem_p_, stem_req_l_));
+       announce_element (Score_elem_info (stem_p_, stem_req_l_));
     }
 }
 
 void
-Stem_beam_engraver::acknowledge_element(Score_elem_info info)
+Stem_beam_engraver::acknowledge_element (Score_elem_info info)
 {
     if (!stem_p_)
        return;
 
-    if (info.elem_l_->name() == Note_head::static_name() &&
+    if (info.elem_l_->name() == Note_head::static_name () &&
        stem_req_l_->duration() 
-       == info.req_l_->musical()->rhythmic()->duration()){
+       == info.req_l_->musical()->rhythmic ()->duration ()){
        Note_head * n_l= (Note_head*)info.elem_l_->item();
-       stem_p_->add(n_l);
+       stem_p_->add (n_l);
     }
 }
 void
@@ -135,15 +135,15 @@ Stem_beam_engraver::do_pre_move_processing()
        if (default_dir_i_)
            stem_p_->dir_i_ = default_dir_i_;
        
-       typeset_element(stem_p_);
+       typeset_element (stem_p_);
        stem_p_ = 0;
     }
     if (beam_p_ && end_beam_b_) {
        Rhythmic_grouping const * rg_C = get_staff_info().rhythmic_C_;
-       rg_C->extend(current_grouping->interval());
-       beam_p_->set_grouping(*rg_C, *current_grouping);
-       beam_p_->right_col_l_ = get_staff_info().musical_pcol_l();
-       typeset_element(beam_p_);
+       rg_C->extend (current_grouping->interval());
+       beam_p_->set_grouping (*rg_C, *current_grouping);
+       beam_p_->right_col_l_ = get_staff_info().musical_pcol_l ();
+       typeset_element (beam_p_);
        delete current_grouping;
        current_grouping = 0;
        beam_p_ = 0;
@@ -162,11 +162,11 @@ Stem_beam_engraver::do_post_move_processing()
 Stem_beam_engraver::~Stem_beam_engraver()
 {
     if (beam_p_)
-       start_req_l_->warning("unterminated beam");
+       start_req_l_->warning ("unterminated beam");
 }
 
 void
-Stem_beam_engraver::set_feature(Feature i)
+Stem_beam_engraver::set_feature (Feature i)
 {
     if (i.type_ == "vdir")     
        default_dir_i_ = i.value_;
index d0f9f8105c72cd8a949f74406b105273cbdfb28f..5a6fec0c778281b554057e00dc7ed148787ea357 100644 (file)
@@ -37,7 +37,7 @@ Stem::max_head_i() const
     
 }
 
-Stem::Stem(int c) 
+Stem::Stem (int c) 
 {
     beams_left_i_ = 0;
     beams_right_i_ = 0;
@@ -58,7 +58,7 @@ void
 Stem::do_print() const
 {
 #ifndef NPRINT
-    mtor << "flag "<< flag_i_ << " print_flag_b_ " << print_flag_b_;
+    DOUT << "flag "<< flag_i_ << " print_flag_b_ " << print_flag_b_;
 #endif
 }
 
@@ -82,28 +82,28 @@ Stem::stem_end_f() const
 
 
 void
-Stem::set_stemend(Real se)
+Stem::set_stemend (Real se)
 {
     // todo: margins
     if (!  ((dir_i_ > 0 && se >= max_head_i()) || 
-           (se <= min_head_i() && dir_i_ <0))  )       
-       warning("Weird stem size; check for narrow beams");
+           (se <= min_head_i() && dir_i_ <0))        
+       warning ("Weird stem size; check for narrow beams");
 
     stem_top_f_  = (dir_i_ < 0) ? max_head_i()           : se;
     stem_bottom_f_  = (dir_i_ < 0) ? se  : min_head_i();
 }
 
 void
-Stem::add(Note_head *n)
+Stem::add (Note_head *n)
 {
-    n->add_dependency(this);
+    n->add_dependency (this);
     if (n->rest_b_) {
-       rest_l_arr_.push(n);
+       rest_l_arr_.push (n);
     } else if (n->balltype_i_ == 1) {
-       whole_l_arr_.push(n);
+       whole_l_arr_.push (n);
        return;
     } else{
-       head_l_arr_.push(n);
+       head_l_arr_.push (n);
     }
 }
 
@@ -162,11 +162,11 @@ Stem::set_default_stemlen()
 
     
     // ugh... how about non 5-line staffs?
-    if ((max_head_i() < -2 && dir_i_ == 1 )
-       ||(min_head_i() > staff_size_i_ && dir_i_ == -1) ){
-       set_stemend(    staff_size_i_ /2 -1 );
+    if ((max_head_i() < -2 && dir_i_ == 1)
+       ||(min_head_i() > staff_size_i_ && dir_i_ == -1)){
+       set_stemend (staff_size_i_ /2 -1);
     } else {
-       set_stemend(dir_i_ > 0) ? max_head_i() + STEMLEN : 
+       set_stemend ((dir_i_ > 0) ? max_head_i() + STEMLEN : 
                                     min_head_i() - STEMLEN);
 
     }
@@ -179,10 +179,10 @@ Stem::set_default_extents()
     if (!stem_length_f())
        set_default_stemlen();
 
-    set_stemend((dir_i_< 0) ? 
-               max_head_i()-stem_length_f(): min_head_i() +stem_length_f());
+    set_stemend ((dir_i_< 0) ? 
+               max_head_i()-stem_length_f (): min_head_i () +stem_length_f ());
     if (dir_i_ > 0){   
-       stem_xoffset_f_ = paper()->note_width()-paper()->rule_thickness();
+       stem_xoffset_f_ = paper()->note_width ()-paper ()->rule_thickness ();
     } else
        stem_xoffset_f_ = 0;
 }
@@ -196,9 +196,9 @@ Stem::set_default_extents()
 void
 Stem::set_noteheads()
 {
-    if(!head_l_arr_.size())
+    if (!head_l_arr_.size())
        return;
-    head_l_arr_.sort(Note_head::compare);
+    head_l_arr_.sort (Note_head::compare);
     if (dir_i_ < 0) 
        head_l_arr_.reverse();
     
@@ -207,7 +207,7 @@ Stem::set_noteheads()
     int parity=1;
     int lastpos = head_l_arr_[0]->position_i_;
     for (int i=1; i < head_l_arr_.size(); i ++) {
-       int dy =abs(lastpos- head_l_arr_[i]->position_i_);
+       int dy =abs (lastpos- head_l_arr_[i]->position_i_);
        
        if (dy <= 1) {
            if (parity)
@@ -225,7 +225,7 @@ Stem::do_pre_processing()
     if (stem_bottom_f_== stem_top_f_)
        set_default_extents();
     set_noteheads();
-    flag_i_ = dir_i_*abs(flag_i_);
+    flag_i_ = dir_i_*abs (flag_i_);
     transparent_b_ = invisible_b();
     empty_b_ = invisible_b();
 }
@@ -234,10 +234,10 @@ Stem::do_pre_processing()
 Interval
 Stem::do_width()const
 {
-    if (!print_flag_b_ || abs(flag_i_) <= 4)
-       return Interval(0,0);   // TODO!
+    if (!print_flag_b_ || abs (flag_i_) <= 4)
+       return Interval (0,0);  // TODO!
     Paper_def*p= paper();
-    Interval r(p->lookup_l()->flag(flag_i_).dim.x());
+    Interval r (p->lookup_l()->flag (flag_i_).dim.x ());
     r+= stem_xoffset_f_;
     return r;
 }
@@ -250,27 +250,27 @@ Stem::brew_molecule_p()const
     Real bot  = stem_bottom_f_;
     Real top = stem_top_f_;
     
-    assert(bot!=top);
+    assert (bot!=top);
  
     Paper_def *p =paper();
 
     Real dy = p->internote_f();
-    Symbol ss =p->lookup_l()->stem(bot*dy,top*dy);
+    Symbol ss =p->lookup_l()->stem (bot*dy,top*dy);
 
-    out = new Molecule(Atom(ss));
+    out = new Molecule (Atom (ss));
 
-    if (print_flag_b_&&abs(flag_i_) > 4){
-       Symbol fl = p->lookup_l()->flag(flag_i_);
-       Molecule m(fl);
+    if (print_flag_b_&&abs (flag_i_) > 4){
+       Symbol fl = p->lookup_l()->flag (flag_i_);
+       Molecule m (fl);
        if (flag_i_ < -4){              
-           out->add_bottom(m);
+           out->add_bottom (m);
        } else if (flag_i_ > 4) {
-           out->add_top(m);
+           out->add_top (m);
        } else
-           assert(false); 
+           assert (false); 
     }
 
-    out->translate(stem_xoffset_f_, X_AXIS);
+    out->translate (stem_xoffset_f_, X_AXIS);
     return out;
 }
 
@@ -282,11 +282,11 @@ Stem::hpos_f()const
 
 
 void
-Stem::do_substitute_dependency(Score_elem*o,Score_elem*n)
+Stem::do_substitute_dependency (Score_elem*o,Score_elem*n)
 {
     Item * o_l = o->item();
     Item * n_l = n? n->item():0;
-    whole_l_arr_.substitute((Note_head*)o_l, (Note_head*)n_l);
-    head_l_arr_.substitute((Note_head*)o_l, (Note_head*)n_l);
-    rest_l_arr_.substitute((Note_head*)o_l, (Note_head*)n_l);
+    whole_l_arr_.substitute ((Note_head*)o_l, (Note_head*)n_l);
+    head_l_arr_.substitute ((Note_head*)o_l, (Note_head*)n_l);
+    rest_l_arr_.substitute ((Note_head*)o_l, (Note_head*)n_l);
 }
index cf7884fd7aba2fec0a409cc83d0c8fa1ac96dc85..5ca4a6c9c3af2484e8e5794a33380ba4b75299ba 100644 (file)
@@ -17,7 +17,7 @@ Super_elem::TeX_string()const
     String s;
     for (int i=0; i < lines_arr_.size(); i++){
        s += lines_arr_[i]->TeX_string();
-       if (i + 1<lines_arr_.size() )
+       if (i + 1<lines_arr_.size())
            s += "\\interscoreline"; // TODO
     }
     return s;
@@ -28,12 +28,12 @@ Super_elem::handle_broken_dependencies()
 {
     lines_arr_ = line_of_score_l_->get_lines();
     for (int i =0; i < lines_arr_.size(); i++) 
-       add_dependency(lines_arr_[i]);
+       add_dependency (lines_arr_[i]);
 }
     
 
 void
-Super_elem::do_substitute_dependency(Score_elem*o,Score_elem* n)
+Super_elem::do_substitute_dependency (Score_elem*o,Score_elem* n)
 {
     if (line_of_score_l_ == o->spanner())
        line_of_score_l_ = n?(Line_of_score*)n->spanner():0;
@@ -47,8 +47,8 @@ Super_elem::Super_elem()
 void
 Super_elem::do_add_processing()
 {
-    pscore_l_->typeset_unbroken_spanner( line_of_score_l_ );
-    add_dependency(line_of_score_l_);
+    pscore_l_->typeset_unbroken_spanner (line_of_score_l_);
+    add_dependency (line_of_score_l_);
 }
 
 
index b445c9c4b5964a9d467e707cf667d5a0ad269482..385cd55c449a246d3f50b84abdadbe8930a4fcce 100644 (file)
@@ -13,7 +13,7 @@ ADD_THIS_ENGRAVER(Swallow_engraver);
 
 
 bool
-Swallow_engraver::do_try_request(Request*) 
+Swallow_engraver::do_try_request (Request*) 
 {
     return true;
 }
index 8a830276104a917548efb524867af6ad78227a41..a4c95b304ee500a2673a23944652e1a33c8c1908 100644 (file)
@@ -3,12 +3,12 @@
 
 
 Symbol::Symbol()
-    :    dim(Interval(0,0),Interval(0,0))
+    :    dim (Interval (0,0),Interval (0,0))
 {
     tex = "\\unknown";
 }
-Symbol::Symbol(String s, Box b)
-    :  dim(b)
+Symbol::Symbol (String s, Box b)
+    :  dim (b)
 {
     tex = s;
 }
@@ -17,5 +17,5 @@ Symbol::Symbol(String s, Box b)
 String
 Symbol::str()const 
 {
-    return  "symbol(\'"+tex+"\', (" + dim.x().str() + ", " + dim.y().str() + "))";
+    return  "symbol (\'"+tex+"\', (" + dim.x().str () + ", " + dim.y ().str () + "))";
 }
index 3ba4394cc261ad7a2be4df4275c569ab47143b42..35f4c4166e7d950fa486c595a84ff26f6a374064 100644 (file)
@@ -19,27 +19,27 @@ Symtables::Symtables()
 {
 }
 
-Symtables::Symtables(Symtables const &s)
+Symtables::Symtables (Symtables const &s)
 {
-    for (Assoc_iter<String, Symtable*>  i(s); i.ok(); i++) {
-       add(i.key(), new Symtable(*i.val()));
+    for (Assoc_iter<String, Symtable*>  i (s); i.ok(); i++) {
+       add (i.key(), new Symtable (*i.val ()));
     }
 }
 
 Symtables::~Symtables()
 {
-    for (Assoc_iter<String, Symtable*>  i(*this); i.ok(); i++) {
+    for (Assoc_iter<String, Symtable*>  i (*this); i.ok(); i++) {
        delete i.val();
     }
 }
 
 Symbol 
-Symtable::lookup(String s) const
+Symtable::lookup (String s) const
 {
-    if (elt_b(s))
+    if (elt_b (s))
        return (*this)[s];
     else {
-       warning"Symtable `" + id_str+ "\': unknown symbol `" +s+"'\n");
+       warning ("Symtable `" + id_str+ "\': unknown symbol `" +s+"'\n");
        Symbol sy;      
        return sy;
     }
@@ -53,23 +53,23 @@ Symtables::operator()(String s)
 void
 Symtables::print() const
 {
-    for (Assoc_iter<String, Symtable*>  i(*this); i.ok(); i++) {
-       mtor << "table \'" << i.key() << "\' {\n";
-       i.val()->print();
-       mtor << "}\n";
+    for (Assoc_iter<String, Symtable*>  i (*this); i.ok(); i++) {
+       DOUT << "table \'" << i.key() << "\' {\n";
+       i.val()->print ();
+       DOUT << "}\n";
     }
 }
 void
 Symtable::print() const
 {
-    for (Assoc_iter<String, Symbol>  i(*this); i.ok(); i++) {
-       mtor << "\'" << i.key() << "\'->" << i.val().str() << "\n";
+    for (Assoc_iter<String, Symbol>  i (*this); i.ok(); i++) {
+       DOUT << "\'" << i.key() << "\'->" << i.val ().str () << "\n";
     }
 }
        
 void
-Symtables::add(String s, Symtable*p)
+Symtables::add (String s, Symtable*p)
 {
     p-> id_str = s;
-    Assoc<String, Symtable*>::add(s,p);
+    Assoc<String, Symtable*>::add (s,p);
 }
index 0a765f3110feb85073ca8b8896321a801e50a4ac..8fbefa72a7c94a6141642044f9b9123da1d0c0ff 100644 (file)
 #include "plist.tcc"
 
 
-#define IPLC_instantiate(a) IPL_instantiate(a); PL_instantiate(const a)
+#define IPLC_INSTANTIATE(a) IPL_INSTANTIATE(a); template PL_INSTANTIATE(const a)
 
 
-IPLC_instantiate(Score_elem);
-IPLC_instantiate(Spanner);
-IPLC_instantiate(Idealspacing);
-IPLC_instantiate(PCol);
+template IPLC_INSTANTIATE(Score_elem);
+template IPLC_INSTANTIATE(Spanner);
+template IPLC_INSTANTIATE(Idealspacing);
+template IPLC_INSTANTIATE(PCol);
 
index b09b378aee598c06cd2a510b8a91325dd3f49841..67c24f5a58a719bd6f02de65e7afd2e680aa9da4 100644 (file)
@@ -10,4 +10,4 @@
 #include "plist.tcc"
 #include "pcursor.tcc"
 
-IPL_instantiate(Line_spacer);
+ template IPL_INSTANTIATE(Line_spacer);
index 82d84d1965e0f83a62d235765bd2af8eb8e869cf..2e368d5219ecb2dc453b450e5a393bf183843803 100644 (file)
@@ -13,5 +13,5 @@
 #include "plist.tcc"
 #include "pcursor.tcc"
 
-IPL_instantiate(Atom);
-IPL_instantiate(Input_translator);
+template IPL_INSTANTIATE(Atom);
+template IPL_INSTANTIATE(Input_translator);
index 484729579becf4cc01a027a9c388b855893b6fb8..a1ef773cd2d4c406537cc06331f366d90719f671 100644 (file)
@@ -6,8 +6,9 @@
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 
+#if 0
 #include "proto.hh"
 #include "list.tcc"
 #include "cursor.tcc"
 
-L_instantiate(void *);
+#endif
index e57925bf5b38a7057f9fa4a22cb67b21c468c4b7..bf7523d7d85b690aeed66ffd7c3fe0a8f6e8730e 100644 (file)
 
 #include "interval.tcc"
 
-Interval__instantiate(Rational);
-Interval__instantiate(int);
+template INTERVAL__INSTANTIATE(Rational);
+template INTERVAL__INSTANTIATE(int);
 
 Rational
 Interval_t<Rational>::infinity()
 {
-    return Rational(INT_MAX);
+    return Rational (INT_MAX);
 }
 
 int
index 38344df6000db2fb012485e3df97d87ddd6402ef..e8f04f81224345d6b1b6acfd38e7211477553057 100644 (file)
@@ -3,5 +3,5 @@
 #include "engraver.hh"
 #include "performer.hh"
 
-IPL_instantiate(Engraver);
-IPL_instantiate(Performer);
+template IPL_INSTANTIATE(Engraver);
+template IPL_INSTANTIATE(Performer);
index 6a5bb7d83f7f7c1dee7d232b35771fd6682bfb90..b36c23275373da1581f1ae217a5355cb8ecd72ca 100644 (file)
@@ -14,5 +14,5 @@
 #include "music-list.hh"
 #include "music-iterator.hh"
 
-IPL_instantiate(Music);
-IPL_instantiate(Music_iterator);
+template IPL_INSTANTIATE(Music);
+template IPL_INSTANTIATE(Music_iterator);
index de06b70477f10154c6b1d063135242f67a210bc2..de2fa8af8e13f4c371e70f927bedadc4c024d89d 100644 (file)
@@ -15,7 +15,7 @@
 #include "plist.tcc"
 
 
-IPL_instantiate(Audio_element);
-IPL_instantiate(Audio_column);
+template IPL_INSTANTIATE(Audio_element);
+template IPL_INSTANTIATE(Audio_column);
 
 
index c337baf38a1084f4693bdff4e2679a7a6dfca61a..6f835e204a56db5fdd5c13afb929820469094290 100644 (file)
 #include "lookup.hh"
 
 Symbol
-Lookup::beam_element(int sidx, int widx, Real slope) const
+Lookup::beam_element (int sidx, int widx, Real slope) const
 {
-    Symbol bs=(*symtables_)("beamslopes")->lookup("slope");
+    Symbol bs=(*symtables_)("beamslopes")->lookup ("slope");
     
     Array<String> args;
-    args.push(sidx);
-    args.push(widx);
-    bs.tex = substitute_args(bs.tex,args);
+    args.push (sidx);
+    args.push (widx);
+    bs.tex = substitute_args (bs.tex,args);
     int w = 2 << widx;
     Real width = w PT;
-    bs.dim.x() = Interval(0,width);
-    bs.dim.y() = Interval(0,width*slope);
+    bs.dim.x() = Interval (0,width);
+    bs.dim.y() = Interval (0,width*slope);
     return bs;
 }
 
 // ugh.. hard wired tex-code.
 static int
-slope_index(Real &s)
+slope_index (Real &s)
 {
-    if (abs(s) > 0.5) {
+    if (abs (s) > 0.5) {
        WARN << "beam steeper than 0.5 (" << s << ")\n";
-       s = sign(s) * 0.5;
+       s = sign (s) * 0.5;
     }
 
-    int i = int(rint(s *  20.0));
+    int i = int (rint (s *  20.0));
 
     s = i/20.0;
     if (s>0)
@@ -48,26 +48,26 @@ slope_index(Real &s)
 }
 
 Symbol
-Lookup::rule_symbol(Real height, Real width) const
+Lookup::rule_symbol (Real height, Real width) const
 {
-    Symbol bs=(*symtables_)("beamslopes")->lookup("horizontal");    
+    Symbol bs=(*symtables_)("beamslopes")->lookup ("horizontal");    
     Array<String> args;
-    args.push(print_dimen(height));
-    args.push(print_dimen(width));
-    bs.tex = substitute_args(bs.tex,args);
-    bs.dim.x() = Interval(0,width);
-    bs.dim.y() = Interval(0,height);
+    args.push (print_dimen (height));
+    args.push (print_dimen (width));
+    bs.tex = substitute_args (bs.tex,args);
+    bs.dim.x() = Interval (0,width);
+    bs.dim.y() = Interval (0,height);
     return bs;
 }
 
 Symbol
-Lookup::beam(Real &slope, Real width) const
+Lookup::beam (Real &slope, Real width) const
 {        
-    int sidx = slope_index(slope);
+    int sidx = slope_index (slope);
     if (!slope)
-       return rule_symbol(2 PT, width);
+       return rule_symbol (2 PT, width);
     if (width < 2 PT) {
-       WARN<<"Beam too narrow. (" << print_dimen(width) <<")\n";
+       WARN<<"Beam too narrow. (" << print_dimen (width) <<")\n";
        width = 2 PT;
     }
     Real elemwidth = 64 PT;
@@ -82,23 +82,23 @@ Lookup::beam(Real &slope, Real width) const
     Real overlap = elemwidth/4;
     Real last_x = width - elemwidth;
     Real x = overlap;
-    Atom elem(beam_element(sidx, widx, slope));
-    Atom a(elem);
-    m.add(a);
+    Atom elem (beam_element (sidx, widx, slope));
+    Atom a (elem);
+    m.add (a);
     while (x < last_x) {
        a=elem;
-       a.translate(Offset(x-overlap, (x-overlap)*slope));
-       m.add(a);
+       a.translate (Offset (x-overlap, (x-overlap)*slope));
+       m.add (a);
        x += elemwidth - overlap;
     }
     a=elem;
-    a.translate(Offset(last_x, (last_x) * slope));
-    m.add(a);
+    a.translate (Offset (last_x, (last_x) * slope));
+    m.add (a);
     
     Symbol ret;
     ret.tex = m.TeX_string();
-    ret.dim.y() = Interval(0,width*slope);
-    ret.dim.x() = Interval(0,width);
+    ret.dim.y() = Interval (0,width*slope);
+    ret.dim.x() = Interval (0,width);
     
     return ret;
 }
index b7c0660a43843b5c98bbd2e78894d879d2f96df4..a8d30583c7b2b73a2824fcac4e7a8e39acdd4af1 100644 (file)
 
 
 static
-char direction_char(int y_sign)
+char direction_char (int y_sign)
 {
     char c='#';
-    switch(y_sign){
+    switch (y_sign){
     case -1:
        c = 'd';
        break;
@@ -31,19 +31,19 @@ char direction_char(int y_sign)
        c = 'u';
        break;
     default:
-       assert(false);
+       assert (false);
     }
     return c;
 }
 
 Symbol
-Lookup::half_slur_middlepart(Real &dx, int dir) const
+Lookup::half_slur_middlepart (Real &dx, int dir) const
 {
     if (dx >= 400 PT) {// todo
-       WARN<<"halfslur too large" <<print_dimen(dx)<< "shrinking (ugh)\n";
+       WARN<<"halfslur too large" <<print_dimen (dx)<< "shrinking (ugh)\n";
        dx = 400 PT;
     }
-    int widx = int(floor(dx / 4.0));
+    int widx = int (floor (dx / 4.0));
     dx = widx * 4.0;
     if (widx) widx --;
     else {
@@ -52,11 +52,11 @@ Lookup::half_slur_middlepart(Real &dx, int dir) const
 
     Symbol s;
     
-    s.dim.y() = Interval(min(0,0), max(0,0)); // todo
-    s.dim.x() = Interval(0,dx);
+    s.dim.y() = Interval (min (0,0), max (0,0)); // todo
+    s.dim.x() = Interval (0,dx);
 
-    String f =  String("\\hslurchar");
-    f += direction_char(0);
+    String f =  String ("\\hslurchar");
+    f += direction_char (0);
 
     int idx = widx;
     if (dir < 0)
@@ -64,44 +64,44 @@ Lookup::half_slur_middlepart(Real &dx, int dir) const
 
     assert (idx < 256);
 
-    f+=String( "{" ) + String( idx ) + "}";
+    f+=String ("{") + String (idx ) + "}";
     s.tex = f;
-    Atom a(s);
-    a.translate(dx/2, X_AXIS);
+    Atom a (s);
+    a.translate (dx/2, X_AXIS);
     s.tex = a.TeX_string();
 
     return s;
 }
 Symbol
-Lookup::half_slur(int dy, Real &dx, int dir, int xpart) const
+Lookup::half_slur (int dy, Real &dx, int dir, int xpart) const
 {
     Real orig_dx = dx;
     if (!xpart)
-       return half_slur_middlepart(dx, dir);
+       return half_slur_middlepart (dx, dir);
 
     int widx;
                
     if (dx >= 96 PT) {
-       WARN << "Slur half too wide." << print_dimen(orig_dx) << " shrinking (ugh)\n";
+       WARN << "Slur half too wide." << print_dimen (orig_dx) << " shrinking (ugh)\n";
        dx =  96 PT;
     }
 
-    widx = int(rint(dx/12.0));
+    widx = int (rint (dx/12.0));
     dx = widx*12.0;
     if (widx)
        widx --;
     else {
-       WARN <<  "slur too narrow " << print_dimen(orig_dx)<<"\n";
+       WARN <<  "slur too narrow " << print_dimen (orig_dx)<<"\n";
     }
        
     Symbol s;
-    s.dim.x() = Interval(0,dx);
-    s.dim.y() = Interval(min(0,dy), max(0,dy));
+    s.dim.x() = Interval (0,dx);
+    s.dim.y() = Interval (min (0,dy), max (0,dy));
 
 
-    String f = String("\\hslurchar");
+    String f = String ("\\hslurchar");
 
-    f+= direction_char(dir);
+    f+= direction_char (dir);
 
     int hidx = dy;
     if (hidx <0)
@@ -114,7 +114,7 @@ Lookup::half_slur(int dy, Real &dx, int dir, int xpart) const
        idx += 128;
     
     assert (idx < 256);
-    f+=String( "{" ) + String( idx ) + "}";
+    f+=String ("{") + String (idx ) + "}";
 
     
     s.tex = f;
@@ -125,10 +125,10 @@ Lookup::half_slur(int dy, Real &dx, int dir, int xpart) const
 Symbol
 Lookup::slur (int dy , Real &dx, int dir) const
 {
-    assert(dx >=0 && abs(dir) <= 1);
-    int y_sign = sign(dy);
+    assert (dx >=0 && abs (dir) <= 1);
+    int y_sign = sign (dy);
 
-    bool large = abs(dy) > 8;
+    bool large = abs (dy) > 8;
 
     if (y_sign) {
        large |= dx>= 4*16 PT;
@@ -136,15 +136,15 @@ Lookup::slur (int dy , Real &dx, int dir) const
        large |= dx>= 4*54 PT;
     
     if (large) {
-       return big_slur(dy, dx, dir);
+       return big_slur (dy, dx, dir);
     }
     Real orig_dx = dx;
-    int widx = int(floor(dx/4.0)); // slurs better too small..
+    int widx = int (floor (dx/4.0)); // slurs better too small..
     dx = 4.0 * widx;
     if (widx)
        widx --;
     else {
-       WARN <<  "slur too narrow: " << print_dimen(orig_dx) << "\n";
+       WARN <<  "slur too narrow: " << print_dimen (orig_dx) << "\n";
     }
 
     int hidx = dy;
@@ -156,10 +156,10 @@ Lookup::slur (int dy , Real &dx, int dir) const
     }
     
     Symbol s;
-    s.dim.x() = Interval(0,dx);
-    s.dim.y() = Interval(min(0,dy), max(0,dy));
+    s.dim.x() = Interval (0,dx);
+    s.dim.y() = Interval (min (0,dy), max (0,dy));
 
-    String f = String("\\slurchar") + String( direction_char(y_sign) );
+    String f = String ("\\slurchar") + String (direction_char (y_sign));
 
     int idx=-1;
     if (y_sign) {      
@@ -168,7 +168,7 @@ Lookup::slur (int dy , Real &dx, int dir) const
            idx += 128;
     } else {
        if (dx >= 4*54 PT) {
-           WARN << "slur too wide: " << print_dimen(dx) <<
+           WARN << "slur too wide: " << print_dimen (dx) <<
                " shrinking (ugh)\n";
            dx = 4*54 PT;
        }
@@ -178,41 +178,41 @@ Lookup::slur (int dy , Real &dx, int dir) const
     }
     
     assert (idx < 256);
-    f+=String( "{" ) + String( idx ) + "}";
+    f+=String ("{") + String (idx ) + "}";
     s.tex = f;
 
-    Atom a(s);
-    a.translate(dx/2, X_AXIS);
+    Atom a (s);
+    a.translate (dx/2, X_AXIS);
     s.dim = a.extent();
     s.tex = a.TeX_string();
     return s;    
 }
 
 Symbol
-Lookup::big_slur(int dy , Real &dx, int dir) const
+Lookup::big_slur (int dy , Real &dx, int dir) const
 {
-    assert(dx >= 24 PT);
-    Real slur_extra =abs(dy)  /2.0 + 2; 
-    int l_dy = int(Real (dy)/2 + slur_extra*dir);
+    assert (dx >= 24 PT);
+    Real slur_extra =abs (dy)  /2.0 + 2; 
+    int l_dy = int (Real (dy)/2 + slur_extra*dir);
     int r_dy =  dy - l_dy;
 
     Real internote_f = paper_l_->internote_f();
     Real left_wid = dx/4.0;
     Real right_wid = left_wid;
 
-    Atom l = half_slur(l_dy, left_wid, dir, -1);
-    Atom r = half_slur(r_dy, right_wid, dir, 1);
+    Atom l = half_slur (l_dy, left_wid, dir, -1);
+    Atom r = half_slur (r_dy, right_wid, dir, 1);
     Real mid_wid = dx - left_wid - right_wid;
 
-    Atom m = half_slur(0, mid_wid, dir, 0);
+    Atom m = half_slur (0, mid_wid, dir, 0);
 
     Molecule mol;
-    mol.add(l);
-    Atom a(m);
-    a.translate(slur_extra * internote_f, Y_AXIS);
-    mol.add_right(m);
-    mol.add_right(r);
-    mol.translatel_dy * internote_f, Y_AXIS);
+    mol.add (l);
+    Atom a (m);
+    a.translate (slur_extra * internote_f, Y_AXIS);
+    mol.add_right (m);
+    mol.add_right (r);
+    mol.translate (l_dy * internote_f, Y_AXIS);
     Symbol s;
     s.tex = mol.TeX_string();
     s.dim = mol.extent();
index 2c92ae7438e0d95a92dc5a06e4334e236f1282d6..ee08205c10c5d3252c6f03831f5846b66c0a6f60 100644 (file)
@@ -9,7 +9,7 @@
 
   make an abstract interface to output, operations: 
 
-  move(x,y), put(symbol).
+  move (x,y), put (symbol).
 */
 
 #include <fstream.h>
 
 const int MAXLINELEN = 200;
 
-Tex_stream::Tex_stream(String filename) 
+Tex_stream::Tex_stream (String filename) 
 {
-    os = new ofstream(filename);
+    os = new ofstream (filename);
     if (!*os)
-       error("can't open `" + filename+"\'");
+       error ("can't open `" + filename+"\'");
     nest_level = 0;
     line_len_i_ = 0;
     outputting_comment=false;
@@ -37,13 +37,13 @@ Tex_stream::header()
 {
     *os << "% Creator: " << get_version_str() << "\n";
     *os << "% Automatically generated, at ";
-    time_t t(time(0));
-    *os << ctime(&t)<<"\n";
+    time_t t (time (0));
+    *os << ctime (&t)<<"\n";
 }
 Tex_stream::~Tex_stream()
 {
     delete os;
-    assert(nest_level == 0);
+    assert (nest_level == 0);
 }
 
 // print string. don't forget indent.
@@ -61,7 +61,7 @@ Tex_stream::operator<<(String s)
            continue;
        }
        line_len_i_ ++;
-       switch(*cp) 
+       switch (*cp) 
            {
            case '%':
                outputting_comment = true;
@@ -77,7 +77,7 @@ Tex_stream::operator<<(String s)
                
                if (nest_level < 0) {
                    delete os;  // we want to see the remains.
-                   assert(nest_level>=0);
+                   assert (nest_level>=0);
                }
                /* FALLTHROUGH */
                
@@ -102,7 +102,7 @@ void
 Tex_stream::break_line()
 {
     *os << "%\n";
-    *os << String(' ', nest_level);
+    *os << String (' ', nest_level);
     line_len_i_ = 0;
 }
 
index 470dd49ea69077a038e235d4777b7be758f1502f..6e5e987f5daa5f9d3a98c42472ba6337c2a66bc4 100644 (file)
 #include "varray.hh"
 
 String
-vstrut(Real h)
+vstrut (Real h)
 {
-    return String("\\vrule height ") + print_dimen(h) + "depth 0pt width 0pt";
+    return String ("\\vrule height ") + print_dimen (h) + "depth 0pt width 0pt";
 }
 
 
 static void
-substitute_arg(String& r, String arg)
+substitute_arg (String& r, String arg)
 {
-    int p = r.index_i('%');
+    int p = r.index_i ('%');
     if (p < 0)
        return ;
 
-    r = r.left_str(p) + arg + r.right_str(r.length_i() - p -1);
+    r = r.left_str (p) + arg + r.right_str (r.length_i() - p -1);
 }
 
 
 String
-substitute_args(String source, Array<String> args)    
+substitute_args (String source, Array<String> args)    
 {
     String retval (source);
     for (int i = 0 ; i < args.size(); i++)
-        substitute_arg(retval, args[i]);
+        substitute_arg (retval, args[i]);
     /*
-    while (retval.index_i('%') >= 0)
-        substitute_arg(retval, "");
+    while (retval.index_i ('%') >= 0)
+        substitute_arg (retval, "");
        */
     return retval;
 }
 
 String
-substitute_args(String source, Array<Scalar> args)    
+substitute_args (String source, Array<Scalar> args)    
 {
     Array<String> sv;
     for (int i = 0 ; i < args.size(); i++)
-       sv.push(args[i]);
+       sv.push (args[i]);
     
-    return substitute_args(source, sv);
+    return substitute_args (source, sv);
 }
index 39318c909454f389f56b4a125b12a820feb38b60..e0de0eb79bb25ca334eb3c4a3d6b6dcd8bfcc97f 100644 (file)
 #include "dimen.hh"
 
 Interval
-Text_def::width(Paper_def * p) const
+Text_def::width (Paper_def * p) const
 {
-    Atom a = get_atom(p,0);
+    Atom a = get_atom (p,0);
 
-    Real guess_width_f = text_str_.length_i() * a.sym_.dim.x().length(); // ugh
-    Interval i(0, guess_width_f);
+    Real guess_width_f = text_str_.length_i() * a.sym_.dim.x ().length (); // ugh
+    Interval i (0, guess_width_f);
     i += - (align_i_ + 1)* i.center();
     return i;
 }
@@ -28,7 +28,7 @@ void
 Text_def::do_print() const
 {
 #ifndef NPRINT
-    mtor << "align " <<align_i_ << " `" << text_str_ << "'";
+    DOUT << "align " <<align_i_ << " `" << text_str_ << "'";
 #endif
 }
 
@@ -39,7 +39,7 @@ Text_def::Text_def()
 }
 
 bool
-Text_def::do_equal_b(General_script_def const *gdef) const
+Text_def::do_equal_b (General_script_def const *gdef) const
 {
     Text_def const *def= (Text_def*)gdef;
     return align_i_ == def->align_i_ && text_str_ == def->text_str_
@@ -47,15 +47,15 @@ Text_def::do_equal_b(General_script_def const *gdef) const
 }
 
 Atom
-Text_def::get_atom(Paper_def *p, int ) const
+Text_def::get_atom (Paper_def *p, int) const
 {
-    return p->lookup_l()->text(style_str_, text_str_, -align_i_);
+    return p->lookup_l()->text (style_str_, text_str_, -align_i_);
 }
 
 void
 Text_def::print() const
 {
-    mtor << "Text `" << text_str_ << "\', style " <<
+    DOUT << "Text `" << text_str_ << "\', style " <<
        style_str_ << "align " << align_i_ << '\n';
 }
 
index be857aaf808ae1a4861c199aa7eb13d3c4ac0bf2..3165fc87a9f59f227fe88adf8ce5274e24ad73ef 100644 (file)
@@ -18,30 +18,30 @@ Text_engraver::Text_engraver()
 }
 
 bool
-Text_engraver::do_try_request(Request*req_l)
+Text_engraver::do_try_request (Request*req_l)
 {
     Musical_req *m = req_l->musical();
     if (!m || ! m->text())
        return false;
-    if (text_req_l_ && text_req_l_->equal_b(m))
+    if (text_req_l_ && text_req_l_->equal_b (m))
        return false;
 
     text_req_l_ = m->text();
     return true;
 }
 void
-Text_engraver::acknowledge_element(Score_elem_info i)
+Text_engraver::acknowledge_element (Score_elem_info i)
 {
-    if (text_p_ && i.elem_l_->name() == Note_column::static_name()) {
-       text_p_->add_support(i.elem_l_);
+    if (text_p_ && i.elem_l_->name() == Note_column::static_name ()) {
+       text_p_->add_support (i.elem_l_);
     }
 }
 void
 Text_engraver::do_process_requests()
 {
     if (text_req_l_) {
-       text_p_ = new Text_item(text_req_l_->tdef_p_, text_req_l_->dir_i_); // ugh
-       announce_element(Score_elem_info(text_p_, text_req_l_));
+       text_p_ = new Text_item (text_req_l_->tdef_p_, text_req_l_->dir_i_); // ugh
+       announce_element (Score_elem_info (text_p_, text_req_l_));
     }
 }
 void
@@ -51,14 +51,14 @@ Text_engraver::do_pre_move_processing()
        if (dir_i_ && !text_p_->dir_i_)
            text_p_->dir_i_ = dir_i_;
        Staff_symbol* s_l = get_staff_info().staff_sym_l_;
-       text_p_->set_staffsym(s_l);
-       typeset_element(text_p_);
+       text_p_->set_staffsym (s_l);
+       typeset_element (text_p_);
            
        text_p_ = 0;
     }
 }
 void
-Text_engraver::set_feature(Feature i)
+Text_engraver::set_feature (Feature i)
 {
     if (i.type_ == "vdir")     
        dir_i_ = i.value_;
index ad5745f6a5fe9f3fb260d52480592afec66f3314..951976a16af7b8282823b301e014066a7bc5ec94 100644 (file)
@@ -14,7 +14,7 @@
 #include "molecule.hh"
 #include "lookup.hh"
 
-Text_item::Text_item(General_script_def*tdef_l, int d)
+Text_item::Text_item (General_script_def*tdef_l, int d)
 {
     dir_i_ = d;
     fat_b_ = false;
@@ -36,23 +36,23 @@ Text_item::do_pre_processing()
 Interval
 Text_item::symbol_height()const
 {
-    return tdef_p_->get_atom(paper(), dir_i_).sym_.dim.y();
+    return tdef_p_->get_atom (paper(), dir_i_).sym_.dim.y ();
 }
     
 Molecule*
 Text_item::brew_molecule_p() const
 {
-    Atom a(tdef_p_->get_atom(paper(), dir_i_));
+    Atom a (tdef_p_->get_atom (paper(), dir_i_));
 
 /*
   if ( fat_b_)
-       a.sym.dim.x = tdef_p_->width(paper());
+       a.sym.dim.x = tdef_p_->width (paper());
        */
-    Molecule* mol_p = new Molecule(a);
+    Molecule* mol_p = new Molecule (a);
 
-    if(dir_i_<0 )              // should do something better anyway.
-       mol_p->translate( -mol_p->extent().y().left , Y_AXIS);
-    mol_p->translate( pos_i_ * paper()->internote_f(), Y_AXIS);
+    if (dir_i_<0)              // should do something better anyway.
+       mol_p->translate (-mol_p->extent().y ().left , Y_AXIS);
+    mol_p->translate (pos_i_ * paper()->internote_f (), Y_AXIS);
     
     return mol_p;
 }
index a9e6f4f25722c0499166e9bb6314bbeb54735094..0e6226bf1f318ca37406b45d43a6ba7ec5e51ac2 100644 (file)
 
 
 void
-Text_spanner::set_support(Directional_spanner*d)
+Text_spanner::set_support (Directional_spanner*d)
 {
     if (support_span_l_)
-       remove_dependency(support_span_l_);
+       remove_dependency (support_span_l_);
     
     support_span_l_ =d;
-    add_dependency(d);
+    add_dependency (d);
 }
 
 Text_spanner::Text_spanner()
@@ -44,17 +44,17 @@ void
 Text_spanner::do_post_processing()
 {
     text_off_ = support_span_l_->center() +
-       Offset(0,support_span_l_->dir_i_ * paper()->internote_f() * 4); // todo
+       Offset (0,support_span_l_->dir_i_ * paper()->internote_f () * 4); // todo
 }
 
 Molecule*
 Text_spanner::brew_molecule_p() const
 {
-    Atom tsym (spec_p_->get_atom(paper(),0));
-    tsym.translate(text_off_);
+    Atom tsym (spec_p_->get_atom (paper(),0));
+    tsym.translate (text_off_);
 
     Molecule*output = new Molecule;
-    output->add( tsym );
+    output->add (tsym);
     return output;
 }
 
@@ -63,17 +63,17 @@ Text_spanner::do_pre_processing()
 {
     right_col_l_ = support_span_l_->right_col_l_;
     left_col_l_ = support_span_l_->left_col_l_;
-    assert(left_col_l_ && right_col_l_);
+    assert (left_col_l_ && right_col_l_);
 }
 
 Interval
 Text_spanner::height()const
 {
-    return brew_molecule_p()->extent().y();
+    return brew_molecule_p()->extent ().y ();
 }
 
 void
-Text_spanner::do_substitute_dependency(Score_elem* o, Score_elem*n)
+Text_spanner::do_substitute_dependency (Score_elem* o, Score_elem*n)
 {
     if (support_span_l_ == o) 
        support_span_l_ = (Directional_spanner*) (n?n->spanner():0);
@@ -85,8 +85,8 @@ Text_spanner::~Text_spanner()
     delete spec_p_;
 }
 
-Text_spanner::Text_spanner(Text_spanner const&s)
-    : Spanners)
+Text_spanner::Text_spanner (Text_spanner const&s)
+    : Spanner (s)
 {
     support_span_l_ = s.support_span_l_;
     spec_p_ = s.spec_p_? s.spec_p_->clone() : 0;
index e49cd5b7e5aa2f82454614b2dedd97360335531a..cbe5f35f7be216a155702364845f0cd4f54fae6b 100644 (file)
@@ -27,14 +27,14 @@ Tie_engraver::Tie_engraver()
 void
 Tie_engraver::sync_features()
 {
-    dir_i_ = get_feature("vdir");
+    dir_i_ = get_feature ("vdir");
 }
     
 
 void
 Tie_engraver::do_post_move_processing()
 {
-    if (tie_p_ && get_staff_info().when() == end_mom_) {
+    if (tie_p_ && get_staff_info().when () == end_mom_) {
        end_tie_p_ = tie_p_;
        end_req_l_ = req_l_;
        end_melodic_req_l_ = melodic_req_l_;
@@ -45,22 +45,22 @@ Tie_engraver::do_post_move_processing()
 }
 
 bool
-Tie_engraver::acceptable_request_b(Request*r)
+Tie_engraver::acceptable_request_b (Request*r)
 {
-    return r->musical() && r->musical()->tie();
+    return r->musical() && r->musical ()->tie ();
 }
 
 bool
-Tie_engraver::do_try_request(Request*r)
+Tie_engraver::do_try_request (Request*r)
 {
-    if(!acceptable_request_b(r))
+    if (!acceptable_request_b (r))
        return false;
-    if (req_l_ ) {
+    if (req_l_) {
        return false;
     }
-    req_l_ = r->musical()->tie();
-    end_mom_ = r->parent_music_l_->time_int().length()
-       + get_staff_info().when();
+    req_l_ = r->musical()->tie ();
+    end_mom_ = r->parent_music_l_->time_int().length ()
+       + get_staff_info().when ();
     return true;
 }
 
@@ -73,19 +73,19 @@ Tie_engraver::do_process_requests()
 }
 
 void
-Tie_engraver::acknowledge_element(Score_elem_info i)
+Tie_engraver::acknowledge_element (Score_elem_info i)
 {
-    if (i.elem_l_->name() == Note_head::static_name()) {
+    if (i.elem_l_->name() == Note_head::static_name ()) {
        if (tie_p_) {
-           tie_p_->set_head(-1, (Note_head*)i.elem_l_->item());
-           melodic_req_l_ = i.req_l_->musical()->melodic();
+           tie_p_->set_head (-1, (Note_head*)i.elem_l_->item());
+           melodic_req_l_ = i.req_l_->musical()->melodic ();
        }
 
        if (end_tie_p_) {
-           end_tie_p_->set_head(1, (Note_head*)i.elem_l_->item());
+           end_tie_p_->set_head (1, (Note_head*)i.elem_l_->item());
            if (!Melodic_req::compare ( *end_melodic_req_l_, *melodic_req_l_))
                end_tie_p_->same_pitch_b_ = true;
-           announce_element(Score_elem_info(end_tie_p_,end_req_l_));
+           announce_element (Score_elem_info (end_tie_p_,end_req_l_));
        }
     }
 }
@@ -97,7 +97,7 @@ Tie_engraver::do_pre_move_processing()
        if (dir_i_)
            end_tie_p_->dir_i_ =  dir_i_;
        
-       typeset_element(end_tie_p_);
+       typeset_element (end_tie_p_);
        end_tie_p_ =0;
        end_req_l_ =0;
     }
@@ -107,13 +107,13 @@ Tie_engraver::do_pre_move_processing()
 Tie_engraver::~Tie_engraver()
 {
     if (tie_p_) {
-       req_l_->warning("unended Tie");
+       req_l_->warning ("unended Tie");
        delete tie_p_;
     }
 }
 
 void
-Tie_engraver::set_feature(Feature f)
+Tie_engraver::set_feature (Feature f)
 {
     if (f.type_ == "vdir")
        dir_i_ = f.value_;
index d67aacccfcbfdc864695699e767a8f7f4cf58ad3..5daf0614d7d70fb477c344a3b71d9152d541325b 100644 (file)
 
 
 void
-Tie::set_head(int x_pos, Note_head * head_l)
+Tie::set_head (int x_pos, Note_head * head_l)
 {
     if (x_pos >0) {
-       assert(!right_head_l_);
+       assert (!right_head_l_);
        right_head_l_ = head_l;
     } else {
-       assert(!left_head_l_);
+       assert (!left_head_l_);
        left_head_l_ = head_l;
     }
-    add_dependency(head_l);
+    add_dependency (head_l);
 }
 
 Tie::Tie()
@@ -43,7 +43,7 @@ Tie::set_default_dir()
 void
 Tie::do_add_processing()
 {
-    assert(left_head_l_ && right_head_l_);
+    assert (left_head_l_ && right_head_l_);
     left_col_l_ = left_head_l_ -> pcol_l_;
     right_col_l_ = right_head_l_ -> pcol_l_;
 }
@@ -54,7 +54,7 @@ Tie::do_add_processing()
 void
 Tie::do_post_processing()
 {
-    assert(left_head_l_ || right_head_l_);
+    assert (left_head_l_ || right_head_l_);
     left_pos_i_ =  (left_head_l_)? 
        left_head_l_->position_i_ : right_head_l_->position_i_;
     right_pos_i_ = (right_head_l_) ? 
@@ -81,7 +81,7 @@ Tie::do_post_processing()
 
 
 void
-Tie::do_substitute_dependency(Score_elem*o, Score_elem*n)
+Tie::do_substitute_dependency (Score_elem*o, Score_elem*n)
 {
     Note_head *new_l =n?(Note_head*)n->item():0;
     if (o->item() == left_head_l_)
index cd10942a382c0c5c06a23f24624090afbfbaa946..dd8c5616d9c795d88ead91a2dd0300d46b87f734 100644 (file)
 String
 Time_description::str()const
 {
-    String s"Time_description { ");
+    String s ("Time_description { ");
     if (cadenza_b_)
-       s+=String" (cadenza) ");
+       s+=String (" (cadenza) ");
     s+= "at ";
     s+=when_;
-    s+="\nmeter " + String(whole_per_measure_/one_beat_) +":" +
-       String(Rational(Rational(1)/one_beat_));
-    s+= "\nposition "+Stringbars_i_) + ":"+ whole_in_measure_ +"\n}\n";
+    s+="\nmeter " + String (whole_per_measure_/one_beat_) +":" +
+       String (Rational (Rational (1)/one_beat_));
+    s+= "\nposition "+String (bars_i_) + ":"+ whole_in_measure_ +"\n}\n";
     return s;
 }
 
@@ -27,7 +27,7 @@ void
 Time_description::print() const
 {
 #ifndef NPRINT
-    mtor << str();
+    DOUT << str();
 #endif
 }
 void
@@ -35,14 +35,14 @@ Time_description::OK() const
 {
 #ifndef NDEBUG
     if (!cadenza_b_)
-       assert(whole_in_measure_ < whole_per_measure_);
-    assert(Moment(0) <= whole_in_measure_);
-    assert(one_beat_);
+       assert (whole_in_measure_ < whole_per_measure_);
+    assert (Moment (0) <= whole_in_measure_);
+    assert (one_beat_);
 #endif
 }
 
 void
-Time_description::set_cadenza(bool b)
+Time_description::set_cadenza (bool b)
 {
     if (cadenza_b_ && !b) {
        if (whole_in_measure_) {
@@ -58,31 +58,31 @@ Time_description::Time_description()
     error_b_ =  false;
     whole_per_measure_ = 1;
     whole_in_measure_ =0;
-    one_beat_ = Moment(1,4);
+    one_beat_ = Moment (1,4);
     when_ = 0;
     bars_i_ = 0;
     cadenza_b_ = false;
 }
 
 void
-Time_description::add(Moment dt)
+Time_description::add (Moment dt)
 {
-    assert(dt >= Rational(0));
+    assert (dt >= Rational (0));
     when_ +=  dt;
     whole_in_measure_ += dt;
        
-    while ( !cadenza_b_ && whole_in_measure_ >= whole_per_measure_ ) {
+    while ( !cadenza_b_ && whole_in_measure_ >= whole_per_measure_) {
        whole_in_measure_ -= whole_per_measure_;
        bars_i_ ++;
     }
 }
 
 void
-Time_description::set_meter(int l, int o)
+Time_description::set_meter (int l, int o)
 {
-    assert(o);
-    one_beat_ = Rational(1)/Moment(o);
-    whole_per_measure_ = Moment(l) * one_beat_;
+    assert (o);
+    one_beat_ = Rational (1)/Moment (o);
+    whole_per_measure_ = Moment (l) * one_beat_;
 }
 
 bool
@@ -97,9 +97,9 @@ Time_description::allow_meter_change_b()
   error messages if not possible, "" if possible
   */
 String
-Time_description::try_set_partial_str(Moment p)const
+Time_description::try_set_partial_str (Moment p)const
 {
-    if (p<Rational(0))
+    if (p<Rational (0))
        return ("Partial must be non-negative");
     if (p > whole_per_measure_)
        return ("Partial measure too large");
@@ -107,7 +107,7 @@ Time_description::try_set_partial_str(Moment p)const
 }
 
 void
-Time_description::setpartial(Moment p)
+Time_description::setpartial (Moment p)
 {
     whole_in_measure_ = whole_per_measure_ - p;
 }
@@ -115,20 +115,20 @@ Time_description::setpartial(Moment p)
 Moment
 Time_description::barleft()const
 {
-    assert(!cadenza_b_);
+    assert (!cadenza_b_);
     return whole_per_measure_-whole_in_measure_;
 }
 
 int
-Time_description::compare(Time_description const &t1,  Time_description const&t2)
+Time_description::compare (Time_description const &t1,  Time_description const&t2)
 {
-    int i = sign(t1.when_-t2.when_);
+    int i = sign (t1.when_-t2.when_);
 
     if (!i) {
-       assert(t1.bars_i_==t2.bars_i_);
-       assert(t1.one_beat_ == t2.one_beat_);
-       assert(t1.whole_in_measure_ == t2.whole_in_measure_);
-       assert(t1.whole_per_measure_ == t2.whole_per_measure_);
+       assert (t1.bars_i_==t2.bars_i_);
+       assert (t1.one_beat_ == t2.one_beat_);
+       assert (t1.whole_in_measure_ == t2.whole_in_measure_);
+       assert (t1.whole_per_measure_ == t2.whole_per_measure_);
     }
 
     return i;
index 97d7c92ee029da7541ba6a03ee6de4993cf003be..d86cf2c9bbb85c9b5128f9345ed52fefe9da6743 100644 (file)
 
 Timing_engraver::Timing_engraver()
 {
-    default_grouping_ = Rhythmic_grouping(MInterval(0,4),4); // ugh
+    default_grouping_ = Rhythmic_grouping (MInterval (0,4),4); // ugh
 }
 
 void
-Timing_engraver::fill_staff_info(Staff_info &inf)
+Timing_engraver::fill_staff_info (Staff_info &inf)
 {
     inf.time_C_ = &time_;
     inf.rhythmic_C_ = &default_grouping_;
index 0d86219b267f82f31cc4d5e5df0720714d24746f..eda6e50e0c0aa4e530fac718fc730d99ca84ba69 100644 (file)
@@ -17,7 +17,7 @@ Translator::Translator()
 IMPLEMENT_IS_TYPE_B(Translator);
 
 bool
-Translator::try_request(Request*)
+Translator::try_request (Request*)
 {
     return false;
 }
index 7ebf647c34094df89c7a08f354e6b335880ff01f..33d191f901109b14a81a4dd647885254768e0eef 100644 (file)
 #include "interval.hh"
 
 void
-Vertical_align_element::add(Score_elem*el_l)
+Vertical_align_element::add (Score_elem*el_l)
 {
-    assert( ! contains_b(el_l));
-    elem_l_arr_.push(el_l);
-    add_dependency(el_l);
+    assert (! contains_b (el_l));
+    elem_l_arr_.push (el_l);
+    add_dependency (el_l);
 }
 
 void
-Vertical_align_element::do_substitute_dependency(Score_elem*o,Score_elem*n)
+Vertical_align_element::do_substitute_dependency (Score_elem*o,Score_elem*n)
 {
     int i;
-    while((i = elem_l_arr_.find_i(o))>=0) 
+    while ((i = elem_l_arr_.find_i (o))>=0) 
        if (n) 
            elem_l_arr_[i] = n;
        else
-           elem_l_arr_.del(i);
+           elem_l_arr_.del (i);
 }
 
 /**
@@ -38,25 +38,25 @@ void
 Vertical_align_element::do_post_processing()
 {
     Array<Interval> dims;
-    for (int i=0; i < elem_l_arr_.size(); i++ ) {
+    for (int i=0; i < elem_l_arr_.size(); i++) {
        Interval y = elem_l_arr_[i]->height() ;
        if (y.empty_b())
-           y = Interval(0,0);
+           y = Interval (0,0);
        
-       dims.push(y);
+       dims.push (y);
     }
 
     Real where_f=0;
     for ( int i=0 ;  i < elem_l_arr_.size(); i++) {
-       elem_l_arr_[i]->translate- dims[i][1] - where_f, Y_AXIS);
+       elem_l_arr_[i]->translate (- dims[i][1] - where_f, Y_AXIS);
        where_f += dims[i].length();
     }
 }
 
 bool
-Vertical_align_element::contains_b(Score_elem const *e)const
+Vertical_align_element::contains_b (Score_elem const *e)const
 {
-    return elem_l_arr_.find_l(e);
+    return elem_l_arr_.find_l (e);
 }
 
 Vertical_align_element::Vertical_align_element()
index 1ab374c1d8de0892c72183d5a66830589eddb11e..b2f3218ee09a45d727403101faf42df9fcd2437d 100644 (file)
@@ -19,27 +19,27 @@ void
 Vertical_align_engraver::do_creation_processing()
 {
     valign_p_ =new Vertical_align_spanner;
-    valign_p_->left_col_l_ = get_staff_info().command_pcol_l() ;
-    announce_element( Score_elem_info( valign_p_ , 0 ));
+    valign_p_->left_col_l_ = get_staff_info().command_pcol_l () ;
+    announce_element (Score_elem_info (valign_p_ , 0));
 }
 
 void
 Vertical_align_engraver::do_removal_processing()
 {
-    valign_p_->right_col_l_ = get_staff_info().command_pcol_l();
-    typeset_elementvalign_p_);
+    valign_p_->right_col_l_ = get_staff_info().command_pcol_l ();
+    typeset_element (valign_p_);
     valign_p_ =0;
 }
 
 void
-Vertical_align_engraver::acknowledge_element(Score_elem_info i)
+Vertical_align_engraver::acknowledge_element (Score_elem_info i)
 {
     if ( i.origin_grav_l_arr_.size() == 2 && 
-        i.elem_l_->is_type_b(Vertical_group_element::static_name()) &&
-        !i.elem_l_->axis_group_l_a_[Y_AXIS]   ) {
-       assert( !valign_p_->contains_b(  i.elem_l_) );
+        i.elem_l_->is_type_b (Vertical_group_element::static_name()) &&
+        !i.elem_l_->axis_group_l_a_[Y_AXIS]  ) {
+       assert (!valign_p_->contains_b (i.elem_l_));
 
-       valign_p_->add ( i.elem_l_ );
+       valign_p_->add ( i.elem_l_);
     }
 }
 
index f5e5df0c5fb7bbbffe9aa6b5bd0bd95026b95184..24e448582de727260cce24e296e959e0d938a9bd 100644 (file)
@@ -20,17 +20,17 @@ Voice_group_engravers::Voice_group_engravers()
 }
 
 bool
-Voice_group_engravers::do_try_request(Request*r_l)
+Voice_group_engravers::do_try_request (Request*r_l)
 {
     Command_req* c_l = r_l->command();
     if (c_l&& c_l->groupfeature()) {
        Feature f;
        f.type_ = c_l->groupfeature()->type_str_;
        f.value_ = c_l->groupfeature()->value_str_;
-       set_feature(f);
+       set_feature (f);
        return true;
     }
-    return Engraver_group_engraver::do_try_request(r_l);
+    return Engraver_group_engraver::do_try_request (r_l);
 }
 
 
@@ -48,11 +48,11 @@ Voice_group_engravers::do_print() const
 
 
 Scalar
-Voice_group_engravers::get_feature(String f)
+Voice_group_engravers::get_feature (String f)
 {
     if (f == "vdir")
        return dir_i_;
-    Engraver_group_engraver::get_feature(f);
+    Engraver_group_engraver::get_feature (f);
 }
 
 ADD_THIS_ENGRAVER(Voice_group_engravers);
index c35e6e60158720cf1284f02447023a99f8c0ba69..02707c67c7ad64c49f94e53173c8fc70f5f967e7 100644 (file)
 #include "input.hh"
 
 ostream &warnout (cerr);
-ostream *mlog(&cerr);
+ostream *mlog (&cerr);
 
 
 
 void
-error_t(String const & s, Moment const & r)
+error_t (String const & s, Moment const & r)
 {
-    String t_mom = String(trunc(r)) + String(r - Moment(trunc(r)));
+    String t_mom = String (trunc (r)) + String (r - Moment (trunc (r)));
     String e=s+ " (t = " +  t_mom + ")";
-    error(e);
+    error (e);
 }
 
 void
-error_t(String const & s, Time_description const &t_tdes)
+error_t (String const & s, Time_description const &t_tdes)
 {
-    String e=s+ " (at t=" + String(t_tdes.bars_i_) + ": " + String(t_tdes.whole_in_measure_) + ")\n";
-    error(e);
+    String e=s+ " (at t=" + String (t_tdes.bars_i_) + ": " + String (t_tdes.whole_in_measure_) + ")\n";
+    error (e);
 }
index a2ac4e9ff81e50300ff84b1e3adda82c1af2c54f..4a0f9ffff7147a9407c94fde790c6e10aa7b51c3 100644 (file)
@@ -25,10 +25,10 @@ Word_wrap::do_solve()const
 {
     problem_OK();
     
-    PCursor<PCol*> curcol(pscore_l_->col_p_list_.top());
+    PCursor<PCol*> curcol (pscore_l_->col_p_list_.top());
     Array<Col_hpositions> breaking;
-    Line_of_cols breakpoints(find_breaks());
-    assert(breakpoints.size()>=2);
+    Line_of_cols breakpoints (find_breaks());
+    assert (breakpoints.size()>=2);
 
     int break_idx_i=0;                 
     while ( break_idx_i < breakpoints.size() -1) {
@@ -37,7 +37,7 @@ Word_wrap::do_solve()const
 
         // do  another line
        PCol *post = breakpoints[break_idx_i]->postbreak_p_;
-       current.addpost);
+       current.add (post);
        curcol++;               // skip the breakable.
        break_idx_i++;
 
@@ -45,18 +45,18 @@ Word_wrap::do_solve()const
        
            // add another measure.
            while (breakpoints[break_idx_i] != curcol.ptr()){
-               current.add(curcol);
+               current.add (curcol);
                curcol++;
            }
-           current.add(breakpoints[break_idx_i]->prebreak_p_ );
+           current.add (breakpoints[break_idx_i]->prebreak_p_);
 
-           current.spacer_l_ = generate_spacing_problem( current.cols );
+           current.spacer_l_ = generate_spacing_problem (current.cols);
 
            // try to solve
-           if (!feasible(current.cols)) {
+           if (!feasible (current.cols)) {
                if (!minimum.cols.size()) {
-                   warning("Ugh, this measure is too long, breakpoint: "
-                         + String(break_idx_i) +
+                   warning ("Ugh, this measure is too long, breakpoint: "
+                         + String (break_idx_i) +
                        " (generating stupido solution)");
                    current.stupid_solution();
                    current.energy_f_ = - 1; // make sure we break out.
@@ -89,7 +89,7 @@ Word_wrap::do_solve()const
        }
 
        *mlog << "[" <<break_idx_i<<"]"<<flush;
-       breaking.push(minimum);
+       breaking.push (minimum);
     }
     print_stats();
     return breaking;
index 72d3c71938502fe02e8ce6b6d1b4dc01452693de..aa1d9c0ee0d7bcb39c88ee7df21ebc8762372752 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 0.1.7
-Entered-date: 14AUG97
+Version: 0.1.8
+Entered-date: 15AUG97
 Description:   GNU LilyPond is a program which converts music
                definition files into visual or auditive output: it can
                typeset formatted sheet music to a TeX file and and
@@ -14,8 +14,8 @@ Author: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps
-       340k lilypond-0.1.7.tar.gz 
+       340k lilypond-0.1.8.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/
-       340k lilypond-0.1.7.tar.gz 
+       340k lilypond-0.1.8.tar.gz 
 Copying-policy: GPL
 End
index 93d06809d7fadc4e9c646ecb5ddbedacd9bf31ca..d4b78128146c6741cbef57e8de92cdd7f66fcac2 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.1.7
+Version: 0.1.8
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.7.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.8.tar.gz
 Summary: A preprocessor to make TeX typeset music.
 URL: http://www.stack.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@stack.nl>
@@ -28,7 +28,7 @@ strip lily/out/lilypond mi2mu/out/mi2mu
 make prefix="$RPM_BUILD_ROOT/usr" install
 %files
 %doc Documentation/out/AUTHORS.text Documentation/out/CodingStyle.text Documentation/out/INSTALL.text Documentation/out/MANIFESTO.text Documentation/out/convert-mudela.text Documentation/out/faq.text Documentation/out/gnu-music.text Documentation/out/index.text Documentation/out/internals.text Documentation/out/language.text Documentation/out/lilypond.text Documentation/out/links.text Documentation/out/literature.text Documentation/out/mi2mu.text Documentation/out/mudela-book.text Documentation/out/mutopia.text Documentation/out/other-packages.text BUGS TODO NEWS DEDICATION ANNOUNCE README 
-%doc input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/gallina.ly input/header.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/scales.ly input/scripts.ly input/scsii-menuetto.ly input/scsii-menuetto.tex input/slurs.ly input/standchen.ly input/standchen.tex input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly input/wohltemperirt.ly Documentation/mudela-course.doc Documentation/mudela-man.doc 
+%doc input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/gallina.ly input/header.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/s.ly input/scales.ly input/scripts.ly input/scsii-menuetto.ly input/scsii-menuetto.tex input/slurs.ly input/standchen.ly input/standchen.tex input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly input/wohltemperirt.ly Documentation/mudela-course.doc Documentation/mudela-man.doc 
 %doc Documentation/lelie_logo.gif
 /usr/bin/convert-mudela
 /usr/bin/mudela-book
index df3a7ce45afdeed3b9596b81fe5b608b0fa04ef9..e9cb89c1431a2cd7624fd1826d8d29ae18312e08 100644 (file)
@@ -6,91 +6,25 @@ grep for TODO and ugh/ugr
 
 IMPORTANT
 
-       * remove silly #warning using midi_voice list
+       * fix parser: either 
+          - parse into midi-items (merge with lily/midi-*) and pass
+            these nealy up, same for track and score.  look at all
+            tracks a time (vertically through score), creating columns 
+            and mudela items in time-order (no searching for columns).
+         or
+          - junk lex/yacc altogether, parse on byte level, straight
+            from memore, vertically through score.  there might be no
+            need for midi-items, here.
 
-       * add mi2mu example output (.midi.ly and .gif) to website
+       * get rid of (last few?) midi-specifics in mudela-*
 
-       * important? lily is important, go work on lily!
+       * find / remove trend (tempo) of mudela columns
 
-       * faq about mi2mu midi t1. ?
-
-PROJECTS
+       * get rid of Duration_* statics
 
        * junk one in list vs. array
 
-       * write something interesting in mi2mu manual page
-
-       * check/use type 0 / 1 / 2 of midi file
-
-       * create Indentable_stream (see Tex_stream) as base for Lily_stream
-
-       * use dynamic info
-
-       * use aftertouch info (to guess slurs/ties, scripts (staccato?))
-
-       * lyric events
-
-       * parse all midi events
-
-       * handle time based midi files
-
-       * use dstream feature from lily
-
-       * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
-
-       * read unsigned words as U16 (not as I16)
-
-       * check use of integral and unsigned in lexer
-       
-       * get rid of ugly statics in Duration_convert
-
-       * change option double-dots to max-dots
-
-       * set Key, Meter, ... command line options
-
-BUGS
-
-       * mi2mu nonexist.midi ?
-
-       * output of 0 duration c'0
-
-       * no output on certain midis
-
-       * silly progress indicator upon mudela output
-
-       * check for illegal track names, e.g. "Piano________ = \melodic"
-
-       * array memleaks(?): use Link_array / create Pointer_array? 
-
-       * fix "#undef MEVENT_LIST" source tree: Array<Midi_event*> 
-
-       * split notes that cross bar limit
-
-FUTURE
-
-       * guess plets (i.e.: only use plet-duration *2/3 if there's a 
-         whole plet)
-
-       * merge midi-events with lily's midi-items?
-
-       * guess beams
-
-       * guess / follow tempo changes
-
-       * check out NIFF / analogies?
-
-       * steal good ideas of other gpl midi parsers
-
-       * lily: add mudela info into midi as specials
-         mi2mu: use special info
-
-# mi2mu/TODO
-
-Most of the items are marked in the code as well, with full explanation. 
-grep for TODO and ugh/ugr
-
-
-IMPORTANT
+       * add mi2mu example output (.midi.ly and .gif) to website
 
        * important? lily is important, go work on lily!
 
diff --git a/mi2mu/include/lily-stream.hh b/mi2mu/include/lily-stream.hh
deleted file mode 100644 (file)
index 755d19f..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-//  lily-stream.hh -- part of LilyPond
-//
-//  copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-// should i be named Mudela_stream?
-
-#ifndef LILY_STREAM_HH
-#define LILY_STREAM_HH
-
-/// Lily output
-class Lily_stream {
-public:    
-    Lily_stream( String filename_str );
-    ~Lily_stream();
-
-    Lily_stream& operator <<( String str );
-    Lily_stream& operator <<( Midi_event& midi_event_r );
-
-private:
-    void header();
-    void open();
-    void output( String str );
-    void output_wrapped( String str );
-
-    ostream* os_p_;
-    String filename_str_;
-    int indent_i_;
-    int column_i_;
-    int wrap_column_i_;
-    bool comment_mode_b_;
-};
-
-#endif // LILY_STREAM_HH
-
index af0d543033481088022b592640fa30752f7e2b3b..5aa6579ae3a12f6b9ae374ef9581b21058882a72 100644 (file)
 #define MI2MU_PROTO_HH
 
 
-struct Lily_stream ;
-class Midi_event ;
-class Midi_key ;
-class Midi_note ;
-class Midi_tempo ;
-class Midi_text ;
-class Midi_time ;
-class Midi_score ;
-class Midi_track ;
-class Midi_voice ;
-class My_midi_lexer ;
-class My_midi_parser ;
-class Track_column ;
+class Mudela_stream;
+class Mudela_item;
+class Mudela_key;
+class Mudela_meter;
+class Mudela_note;
+class Mudela_tempo;
+class Mudela_text;
+class Mudela_score;
+class Mudela_staff;
+class Mudela_voice;
+class My_midi_lexer;
+class My_midi_parser;
+class Mudela_column;
 
 #endif // MI2MU_PROTO_HH
diff --git a/mi2mu/include/mi2mu.hh b/mi2mu/include/mi2mu.hh
deleted file mode 100644 (file)
index 7885afd..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// mi2mu.hh -- generic mi2mu include file
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#ifndef M2M_HH
-#define M2M_HH
-
-// yes, i know this hurts the dependency calc, however, 
-// having includes in headers sucks, and long trial and error
-// include lists also suck.
-// if you want less dependecies, break lib/exe down in smaller
-// modules.
-
-#include <assert.h>
-#include <iostream.h>
-#include <fstream.h>
-#include <limits.h>
-#include <ctype.h>
-#include <time.h>
-
-#include "mi2mu-proto.hh"
-#include "proto.hh"
-#include "plist.hh"
-#include "warn.hh"
-#ifdef mtor
-#undef mtor
-#endif
-
-// arrays are 20% faster, but we have no Pointer_array yet
-#define MEVENT_LIST  // does this work?
-#define MVOICE_LIST
-#define TCOL_LIST
-
-#include "string.hh"
-#include "string-convert.hh"
-
-#include "lgetopt.hh"
-
-#include "moment.hh"
-#include "duration-convert.hh"
-#include "duration.hh"
-#include "source-file.hh"
-#include "source.hh"
-
-// mustn-t do, these get touched!
-// #include "fversion.hh"
-// #include "version.hh"
-
-#include "midi-global.hh"
-
-#include "lily-stream.hh"
-#include "midi-event.hh"
-#include "midi-score.hh"
-#include "midi-track.hh"
-#include "midi-voice.hh"
-#include "my-midi-lexer.hh"
-#include "my-midi-parser.hh"
-#include "track-column.hh"
-
-#endif // M2M_HH
-
diff --git a/mi2mu/include/midi-event.hh b/mi2mu/include/midi-event.hh
deleted file mode 100644 (file)
index 928851e..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-//
-// midi-event.hh -- declare midi_event
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#ifndef MIDI_EVENT_HH
-#define MIDI_EVENT_HH
-
-
-// should these:
-// * be Midi_items
-// * be Voice_elements/requests
-// * get a name-change
-// ?
-
-/// (midi_event)
-class Midi_event {
-public:
-       Midi_event();
-       
-       virtual String mudela_str( bool command_mode_bo ) = 0;
-       void output_mudela( Lily_stream& lily_stream_r, bool command_mode_bo );
-       virtual Moment mom();
-};
-
-class Midi_key : public Midi_event {
-public:
-       Midi_key( int accidentals_i, int minor_i );
-
-       String notename_str( int pitch_i );
-       virtual String mudela_str( bool command_mode_bo );
-
-private:
-       int accidentals_i_;
-       int minor_i_;
-       int key_i_;
-};
-
-class Midi_note : public Midi_event {
-public:
-//     int const c0_pitch_i_c_ = 60; // huh?
-       int const c0_pitch_i_c_ = 48;
-
-       Midi_note( String name_str, Duration dur );
-       virtual Moment mom();
-       virtual String mudela_str( bool command_mode_bo );
-       
-private:
-       static bool const simple_plet_b_s = false;
-       Duration dur_;
-       String name_str_;
-};
-
-class Midi_tempo : public Midi_event {
-public:
-       Midi_tempo( int useconds_per_4_i );
-
-       int get_tempo_i( Moment moment );
-       virtual String mudela_str( bool command_mode_bo );
-       int useconds_per_4_i();
-
-private:
-       int useconds_per_4_i_;
-       Real seconds_per_1_f_;
-};
-
-class Midi_text : public Midi_event {
-public:
-       enum Type { 
-               TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC, 
-               MARKER, CUE_POINT
-       };
-       Midi_text( Midi_text::Type type,  String str );
-       virtual String mudela_str( bool command_mode_bo );
-private:
-       Type type_;
-       String text_str_;
-};
-
-class Midi_time : public Midi_event {
-public:
-       Midi_time( int num_i, int den_i, int division_4_i, int count_32_i );
-
-       Duration i2_dur( int time_i, int division_1_i );
-       int clocks_1_i();
-       int den_i();
-       int num_i();
-       virtual String mudela_str( bool command_mode_bo );
-       Moment bar_mom();
-
-private:
-       Real sync_f_;
-       Duration sync_dur_;
-       int clocks_1_i_;
-       int num_i_;
-       int den_i_;
-};
-
-#endif // MIDI_EVENT_HH
-
diff --git a/mi2mu/include/midi-global.hh b/mi2mu/include/midi-global.hh
deleted file mode 100644 (file)
index 0941232..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-//
-// midi-global.hh -- declare global (sic) stuff for mi2mu
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#ifndef MIDI_GLOBAL_HH
-#define MIDI_GLOBAL_HH
-
-#include "string.hh"
-
-#define monitor_p_g &cout
-enum Verbose { QUIET_ver, BRIEF_ver, NORMAL_ver, VERBOSE_ver, DEBUG_ver };
-extern Verbose level_ver;
-#if 0 // NPRINT
-       // not what i want, all output goes through tors.
-       // set verbosity level.
-       #define tor( threshold ) if ( 0 ) *monitor_p_g
-#else
-       #define tor( threshold ) if ( level_ver >= threshold ) *monitor_p_g
-#endif
-
-extern Sources* source_l_g;
-void message( String message_str, char const* context_ch_C );
-void warning( String message_str, char const* context_ch_C );
-void error( String message_str, char const* context_ch_C );
-
-String mi2mu_version_str();
-
-#endif // MIDI_GLOBAL_HH
-
diff --git a/mi2mu/include/midi-score.hh b/mi2mu/include/midi-score.hh
deleted file mode 100644 (file)
index 990d403..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-//
-// midi-score.hh -- declare midi_score
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#ifndef MIDI_SCORE_HH
-#define MIDI_SCORE_HH
-
-/// (midi_score)
-class Midi_score {
-public:
-       Midi_score( int format_i, int tracks_i, int tempo_i );
-       ~Midi_score();
-
-       void add_track( Midi_track* midi_track_p );
-
-       int output_mudela( String filename_str );
-       void process();
-
-private:
-       Pointer_list<Midi_track*> midi_track_p_list_;
-       int format_i_;
-       int tracks_i_;
-       int tempo_i_;
-};
-
-#endif // MIDI_SCORE_HH
-
diff --git a/mi2mu/include/midi-track.hh b/mi2mu/include/midi-track.hh
deleted file mode 100644 (file)
index 3d654ae..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// midi-track.hh -- declare midi_track
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#ifndef MIDI_TRACK_HH
-#define MIDI_TRACK_HH
-
-/// (midi_track)
-class Midi_track {
-public:
-       Midi_track( int number_i, String copyright_str, String track_name_str, String instrument_str );
-       ~Midi_track();
-
-       void add_event( Moment mom, Midi_event* midi_event_p );
-       Moment end_mom();
-       String id_str();
-       String name_str();
-       void output_mudela( Lily_stream& lily_stream_r );
-       Moment next_begin_mom( Moment now_mom );
-       Moment next_end_mom( Moment now_mom );
-       void process();
-       void set_tempo( int useconds_i );
-       void set_time( int num_i, int den_i, int clocks_i, int count_32_i );
-       Track_column* tcol_l( Moment mom );
-
-       String copyright_str_;
-       String instrument_str_;
-       String name_str_;
-       Midi_tempo* midi_tempo_p_;
-       Midi_time* midi_time_p_;
-       int number_i_;
-
-private:
-#ifdef MVOICE_LIST
-       void add_begin_at( Link_list<Midi_voice*>& open_voices_r, Moment mom );
-#else
-       void add_begin_at( Array<Midi_voice*>& open_voices_r, Moment mom );
-#endif
-       int check_begin_bar_i( Moment now_mom, int open_bar_i );
-       int check_end_bar_i( Moment now_mom, int open_bar_i );
-       Midi_voice* get_free_midi_voice_l( Moment mom );
-#ifdef MVOICE_LIST
-       void remove_end_at( Link_list<Midi_voice*>& open_voices_r, Moment mom );
-#else
-       void remove_end_at( Array<Midi_voice*>& open_voices_r, Moment mom );
-#endif
-       void output_mudela_begin_bar( Lily_stream& lily_stream_r, Moment now_mom, int bar_i );
-       void output_mudela_rest( Lily_stream& lily_stream_r, Moment begin_mom, Moment end_mom );
-       void output_mudela_rest_remain( Lily_stream& lily_stream_r, Moment mom );
-
-#ifdef TCOL_LIST
-       Pointer_list<Track_column*> tcol_p_list_;
-#else
-       Array<Track_column*> tcol_p_array_;
-#endif
-#ifdef MVOICE_LIST
-       Pointer_list<Midi_voice*> midi_voice_p_list_;
-#else
-       Array<Midi_voice*> midi_voice_p_array_;
-#endif
-};
-
-#endif // MIDI_TRACK_HH
-
diff --git a/mi2mu/include/midi-voice.hh b/mi2mu/include/midi-voice.hh
deleted file mode 100644 (file)
index cc3e023..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// midi-voice.hh -- declare midi_voice
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#ifndef MIDI_VOICE_HH
-#define MIDI_VOICE_HH
-
-/// (midi_voice)
-class Midi_voice {
-public:
-       Midi_voice( Moment begin_mom );
-
-       void add_event( Midi_event* midi_event_p );
-       Moment begin_mom();
-       Moment end_mom();
-
-       String mudela_str( Moment from_mom, Moment to_mom, bool multiple_bo );
-
-private:
-       int events_i_;
-       Moment end_mom_;
-       Moment begin_mom_;
-#ifdef MEVENT_LIST
-       Pointer_list<Midi_event*> midi_event_p_list_;
-#else
-       Array<Midi_event*> midi_event_p_array_;
-#endif
-};
-
-#endif // MIDI_VOICE_HH
-
index fb6bf62926e425b65635af4e45a7f294b4dd4cfe..7b8b809aa7c46b0628d7369c69ea7260ff4b3203 100644 (file)
@@ -8,7 +8,6 @@
 
 #include <FlexLexer.h>
 #include "proto.hh"
-// #include "fproto.hh"
 #include "varray.hh"
 #include "string.hh"
 
@@ -18,22 +17,22 @@ void yyerror(const char *s);
 /// (midi_lexer)
 class My_midi_lexer : yyFlexLexer {
 public:
-       My_midi_lexer( String& filename_str, Sources* );
-       ~My_midi_lexer();
+    My_midi_lexer (String& filename_str, Sources*);
+    ~My_midi_lexer();
 
-       int close_i();
-       void error( char const* sz_l );
-       char const* here_ch_C();
-       static int varint2_i( String str );
-       int yylex();
-       Source_file* source_file_l_ ;
+    int close_i();
+    void error (char const* sz_l);
+    char const* here_ch_C();
+    static int varint2_i (String str);
+    int yylex();
+    Source_file* source_file_l_ ;
 
 private:
-       int char_count_;
-       int running_status_i_;
+    int char_count_;
+    int running_status_i_;
 
 public: // ugh
-       int errorlevel_i_;
+    int errorlevel_i_;
 };
 
 extern My_midi_lexer* midi_lexer_l_g;
index 95367f3fa099c2d6b49cd9cfee2dc7aaf56e457a..bcebb14ff6e78c699c7645974b8d3f27cd6d1692 100644 (file)
@@ -6,6 +6,14 @@
 #ifndef MY_MIDI_PARSER_HH
 #define MY_MIDI_PARSER_HH
 
+#include "mi2mu-proto.hh"
+#include "proto.hh"
+#include "plist.hh"
+#include "string.hh"
+#include "moment.hh"
+
+#include "string.hh"
+#include "moment.hh"
 
 int yyparse();
 
@@ -15,42 +23,45 @@ int yyparse();
  */
 class My_midi_parser {
 public:
-    My_midi_parser( String filename_str,Sources * );
+    My_midi_parser (String filename_str,Sources *);
     ~My_midi_parser();
 
-    void add_score( Midi_score* midi_score_p );
-    void error( char const* sz_l );
+    void add_score (Mudela_score* mudela_score_p);
+    void error (char const* sz_l);
     int parse();
-    void forward( int i );
-    Moment mom();
-    void note_begin( int channel_i, int pitch_i, int dyn_i );
-    Midi_event* note_end_midi_event_p( int channel_i, int pitch_i, int dyn_i );
-    int output_mudela( String filename_str );
+    void forward (int i);
+    Moment at_mom();
+    void note_begin (int channel_i, int pitch_i, int dyn_i);
+    void note_end (int channel_i, int pitch_i, int aftertouch_i);
+    void note_end_all();
+
     void reset();
-    void set_division_4( int division_4_i );
-    void set_key( int accidentals_i, int minor_i );
-    void set_tempo( int useconds_per_4_i );
-    void set_time( int num_i, int den_i, int clocks_i, int count_32_i );
+    void set_division_4 (int division_4_i);
+    void set_key (int accidentals_i, int minor_i);
+    void set_meter (int num_i, int den_i, int clocks_i, int count_32_i);
+    void set_tempo (int useconds_per_4_i);
 
     int bar_i_;
+
+    // ugh
     int track_i_;
     String filename_str_;
     String copyright_str_;
     String instrument_str_;
     String track_name_str_;
 
-    Midi_key* midi_key_p_;
-    Midi_tempo* midi_tempo_p_;
-    Midi_time* midi_time_p_;
+    // ugh
+    Mudela_key* mudela_key_p_;
+    Mudela_meter* mudela_meter_p_;
+    Mudela_tempo* mudela_tempo_p_;
 
-private:
-    I64 now_i64_;      // 31 bits yields tipically about 1000 bars
+    Mudela_staff* mudela_staff_l_;
+    Mudela_score* mudela_score_p_;
+    Mudela_column* mudela_column_l_;
 
-    static int const CHANNELS_i = 16;
-    static int const PITCHES_i = 128;
-    I64 running_i64_i64_a_[ CHANNELS_i ][ PITCHES_i ];
+private:
+    Link_list<Mudela_note*> open_mudela_note_l_list_;
 
-    Midi_score* midi_score_p_;
     int division_1_i_;
 
     char const* defined_ch_C_;
diff --git a/mi2mu/include/track-column.hh b/mi2mu/include/track-column.hh
deleted file mode 100644 (file)
index 4d5f647..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-// track-column.hh -- declare Track_column
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#ifndef TRACK_COLUMN_HH
-#define TRACK_COLUMN_HH
-
-/// (tcol)
-class Track_column {
-public:
-       Track_column( Moment mom );
-
-       void add_event( Midi_event* midi_event_p );
-       Moment mom();
-
-//private:
-#ifdef MEVENT_LIST
-       Pointer_list<Midi_event*> midi_event_p_list_;
-#else
-       Array<Midi_event*> midi_event_p_array_;
-#endif
-       Moment mom_;
-};
-
-#endif // TRACK_COLUMN_HH
-
diff --git a/mi2mu/lily-stream.cc b/mi2mu/lily-stream.cc
deleted file mode 100644 (file)
index 91824e2..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-//
-// lily-stream.cc
-//
-// source file of the LilyPond music typesetter
-//
-// (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-// should i be named Mudela_stream?
-
-#include "mi2mu.hh"
-
-Lily_stream::Lily_stream( String filename_str )
-{
-    filename_str_ = filename_str;
-    os_p_ = 0;
-    indent_i_ = 0;
-    comment_mode_b_ = false;
-    column_i_ = 0;
-    wrap_column_i_ = 60;
-    open();
-    header();
-}
-
-Lily_stream::~Lily_stream()
-{
-    delete os_p_;
-    if ( indent_i_ )
-       warning( "lily indent level: " + String( indent_i_ ));
-}
-
-Lily_stream&
-Lily_stream::operator <<( String str )
-{
-    static String word_sep_str = "{} \t\n";
-    while ( str.length_i() ) {
-       int i = str.index_any_i( word_sep_str ) + 1;
-       if ( !i )
-           i = str.length_i();
-       String word = str.left_str( i );
-       str = str.mid_str( i, str.length_i() );
-       output_wrapped( word );
-    }
-    return *this;
-}
-
-Lily_stream&
-Lily_stream::operator <<( Midi_event& midi_event_r )
-{
-    midi_event_r.output_mudela( *this, false );
-    *os_p_ << flush;
-    return *this;
-}
-
-void
-Lily_stream::header()
-{
-    *os_p_ << "% Creator: " << mi2mu_version_str() << "\n";
-    *os_p_ << "% Automatically generated, at ";
-    time_t t( time( 0 ) );
-    *os_p_ << ctime( &t );
-    *os_p_ << "% from input file: ";
-    *os_p_ << midi_parser_l_g->filename_str_;
-    *os_p_ << "\n\n";    
-    // ugh
-    *os_p_ << "\\version \"0.1.0\";\n";
-}
-
-void
-Lily_stream::open()
-{
-    os_p_ = new ofstream( filename_str_ );
-    if ( !*os_p_ )
-       error ( "can't open `" + filename_str_ + "\'");
-}
-
-void
-Lily_stream::output( String str )
-{
-    for ( int i = 0; i < str.length_i(); i++ ) {
-       char c = str[ i ];
-       switch ( c ) {
-           case '{' :
-           case '<' :
-               indent_i_++;
-               column_i_++;
-               *os_p_ << c;
-               break;
-           case '}' :
-           case '>' :
-               assert( indent_i_ );
-               indent_i_--;
-               column_i_++;
-               *os_p_ << c;
-               break;
-           case '%' :
-               comment_mode_b_ = true;
-               *os_p_ << c;
-               column_i_++;
-               break;
-           case '\t' :
-               column_i_ += 8;
-               *os_p_ << c;
-               break;
-           case '\n' :
-               *os_p_ << endl;
-               *os_p_ << String( '\t', indent_i_ );
-               column_i_ = indent_i_ * 8;
-               comment_mode_b_ = false;
-               break;
-           default :
-               column_i_++;
-               *os_p_ << c;
-               break;
-       }       
-    }
-}
-
-void
-Lily_stream::output_wrapped( String str )
-{
-    // enough room left -> doit
-    if ( column_i_ + str.length_i() <= wrap_column_i_ ) {
-       output( str );
-       return;
-    }
-
-    // we're at BOL already; this will never fit -> doit
-    if ( column_i_ == indent_i_ * 8 ) {
-       output( str );
-       return;
-    }
-    
-    // ok, let's wrap
-    // preserve comment mode
-    if ( comment_mode_b_ )
-       output( String( "\n%" ) );
-    else 
-       output( String( "\n" ) );
-    
-    output( str );
-}
-
-
index a50cf55ff658060af1fcccd45a2293d7231cde8b..26d92bcafb1d1cd4ef0348fae4ea6e73b734a3d8 100644 (file)
 //
 // copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
 
-#include "mi2mu.hh"
+#include "string-convert.hh"
+#include "lgetopt.hh"
 #include "path.hh"
+#include "duration-convert.hh"
+#include "source.hh"
+
+#include "mi2mu-global.hh"
+#include "my-midi-parser.hh"
+#include "mudela-score.hh"
+#include "version.hh"
 
 Sources source;
 Sources* source_l_g = &source;
 
+static File_path path;
+
 Verbose level_ver = NORMAL_ver;
 
-// ugh, another global
-String
-find_file( String str )
-{
-    return str;
-}
+/// just to make sure print_rat is linked in
+static void (*rat_printer)(Moment const&);
 
 void
 usage()
 {
-    tor( NORMAL_ver ) <<
-       "Usage: mi2mu [options] midi-file\n"
-       "Translate midi-file to mudela\n"
-       "\n"
-       "Options:\n"
-       "  -b, --no-quantify      write exact durations, e.g.: a4*385/384\n"
-       "  -d, --debug            print lots of debugging stuff\n"
-       "  -h, --help             this help\n"
-        "  -I, --include=DIR      add DIR to search path\n"
-        "  -n, --no-silly         assume no plets or double dots, smallest is 32\n"
-       "  -o, --output=FILE      set FILE as default output\n"
-       "  -p, --no-plets         assume no plets\n"
-       "  -q, --quiet            be quiet\n"
-       "  -s, --smallest=N       assume no shorter (reciprocal) durations than N\n"
-       "  -v, --verbose          be verbose\n"
-       "  -w, --warranty         show warranty and copyright\n"
-       "  -x, --no-double-dots   assume no double dotted notes\n"
-       ;
+    LOGOUT(NORMAL_ver) <<
+       "Usage: mi2mu [options] midi-file\n"
+    "Translate midi-file to mudela\n"
+    "\n"
+    "Options:\n"
+    "  -b, --no-quantify      write exact durations, e.g.: a4*385/384\n"
+    "  -d, --debug            print lots of debugging stuff\n"
+    "  -h, --help             this help\n"
+    "  -I, --include=DIR      add DIR to search path\n"
+    "  -n, --no-silly         assume no plets or double dots, smallest is 32\n"
+    "  -o, --output=FILE      set FILE as default output\n"
+    "  -p, --no-plets         assume no plets\n"
+    "  -q, --quiet            be quiet\n"
+    "  -s, --smallest=N       assume no shorter (reciprocal) durations than N\n"
+    "  -v, --verbose          be verbose\n"
+    "  -w, --warranty         show warranty and copyright\n"
+    "  -x, --no-double-dots   assume no double dotted notes\n"
+    ;
 }
 
 void
 identify()
 {
-       tor( NORMAL_ver ) << mi2mu_version_str() << endl;
+    LOGOUT(NORMAL_ver) << mi2mu_version_str() << endl;
 }
     
 void 
 notice()
 {
-    tor( NORMAL_ver ) <<
-       "\n"
-       "Mi2mu, translate midi to mudela.\n"
-       "Copyright (C) 1997 by\n"
-       "  Jan Nieuwenhuizen <jan@digicash.com>\n"
-       "  Han-Wen Nienhuys <hanwen@stack.nl>\n"
-       "\n"
-       "    This program is free software; you can redistribute it and/or\n"
-       "modify it under the terms of the GNU General Public License version 2\n"
-       "as published by the Free Software Foundation.\n"
-       "\n"
-       "    This program is distributed in the hope that it will be useful,\n"
-       "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-       "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n"
-       "General Public License for more details.\n"
-       "\n"
-       "    You should have received a copy (refer to the file COPYING) of the\n"
-       "GNU General Public License along with this program; if not, write to\n"
-       "the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
-       "USA.\n";
+    LOGOUT(NORMAL_ver) <<
+    "\n"
+    "Mi2mu, translate midi to mudela.\n"
+    "Copyright (C) 1997 by\n"
+    "  Jan Nieuwenhuizen <jan@digicash.com>\n"
+    "  Han-Wen Nienhuys <hanwen@stack.nl>\n"
+    "\n"
+    "    This program is free software; you can redistribute it and/or\n"
+    "modify it under the terms of the GNU General Public License version 2\n"
+    "as published by the Free Software Foundation.\n"
+    "\n"
+    "    This program is distributed in the hope that it will be useful,\n"
+    "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+    "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n"
+    "General Public License for more details.\n"
+    "\n"
+    "    You should have received a copy (refer to the file COPYING) of the\n"
+    "GNU General Public License along with this program; if not, write to\n"
+    "the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+    "USA.\n";
 }
 
 int
-main( int argc_i, char* argv_sz_a[] )
+main (int argc_i, char* argv_sz_a[])
 {
-       Long_option_init long_option_init_a[] = {
-               {0, "no-quantify", 'b'},
-               {0, "debug", 'd'},
-               {0, "help", 'h'},
-               {0, "no-silly", 'n'},
-               {1, "output", 'o'},
-               {0, "no-plets", 'p'},
-               {0, "quiet", 'q'},
-               {1, "smallest", 's'},
-               {0, "verbose", 'v'},
-               {0, "warranty", 'w'},
-               {0, "no-double-dots", 'x'},
-               {0,0,0}
-       };
-       Getopt_long getopt_long( argc_i, argv_sz_a, long_option_init_a );
-
-       String output_str;
-       while ( Long_option_init const* long_option_init_p = getopt_long() )
-               switch ( long_option_init_p->shortname ) {
-               case 'b':
-                       Duration_convert::no_quantify_b_s = true;
-                       break;
-               case 'd':
-                       level_ver = DEBUG_ver;
-                       break;
-               case 'h':
-                       identify();
-                       usage();
-                       exit( 0 );
-                       break;
-//             case 'I':
-//                     path->push( getopt_long.optarg );
-//                     break;
-               case 'n':
-                       Duration_convert::no_double_dots_b_s = true;
-                       Duration_convert::no_triplets_b_s = true;
-                       Duration_convert::no_smaller_than_i_s = 32;
-                       break;
-               case 'o':
-                       output_str = getopt_long.optional_argument_ch_C_;
-                       break;
-               case 'p':
-                       Duration_convert::no_triplets_b_s = true;
-                       break;
-               case 'q':
-                       level_ver = QUIET_ver;
-                       break;
-               case 's': {
-                               int i = String_convert::dec2_i( getopt_long.optional_argument_ch_C_ );
-                               if ( !i ) {
-                                       identify();
-                                       usage();
-                                       exit( 2 ); //usage
-                               }
-                               Duration_convert::no_smaller_than_i_s = i;
-                       }
-                       break;
-               case 'v':
-                       level_ver = VERBOSE_ver;
-                       break;
-               case 'w':
-                       identify();
-                       notice();
-                       exit( 0 );
-                       break;
-               case 'x':
-                       Duration_convert::no_double_dots_b_s = true;
-                       break;
-               default:
-                       assert( 0 );
-                       break;
-               }
-  
-       // flag -q must be checked first
-       identify();
-
-       char const* arg_sz = 0;
-       while ( ( arg_sz = getopt_long.get_next_arg() ) ) {
-               My_midi_parser midi_parser( arg_sz, & source );
-               midi_parser_l_g = &midi_parser;
-
-               int error_i = midi_parser.parse();
-               if ( error_i )
-                       return error_i;
-               if ( !output_str.length_i() ) {
-                   String d, dir, base, ext;
-
-                   split_path(arg_sz, d, dir, base, ext);
-                   
-                   output_str = base + ext + ".ly";
+    rat_printer = print_rat;   
+
+    Long_option_init long_option_init_a[] = {
+       {0, "no-quantify", 'b'},
+       {0, "debug", 'd'},
+       {0, "help", 'h'},
+       {0, "no-silly", 'n'},
+       {1, "output", 'o'},
+       {0, "no-plets", 'p'},
+       {0, "quiet", 'q'},
+       {1, "smallest", 's'},
+       {0, "verbose", 'v'},
+       {0, "warranty", 'w'},
+       {0, "no-double-dots", 'x'},
+       {0,0,0}
+    };
+    Getopt_long getopt_long (argc_i, argv_sz_a, long_option_init_a);
+
+    String output_str;
+    while  (Long_option_init const* long_option_init_p = getopt_long())
+       switch  (long_option_init_p->shortname) {
+       case 'b':
+           Duration_convert::no_quantify_b_s = true;
+           break;
+       case 'd':
+           level_ver = DEBUG_ver;
+           break;
+       case 'h':
+           identify();
+           usage();
+           exit (0);
+           break;
+//     case 'I':
+//         path->push (getopt_long.optional_argument_ch_C_);
+//         break;
+       case 'n':
+           Duration_convert::no_double_dots_b_s = true;
+           Duration_convert::no_triplets_b_s = true;
+           Duration_convert::no_smaller_than_i_s = 32;
+           break;
+       case 'o':
+           output_str = getopt_long.optional_argument_ch_C_;
+           break;
+       case 'p':
+           Duration_convert::no_triplets_b_s = true;
+           break;
+       case 'q':
+           level_ver = QUIET_ver;
+           break;
+       case 's': {
+               int i = String_convert::dec2_i (getopt_long.optional_argument_ch_C_);
+               if  (!i) {
+                   identify();
+                   usage();
+                   exit (2); //usage
                }
-               error_i = midi_parser.output_mudela( output_str );
-               if ( error_i )
-                       return error_i;
-               midi_parser_l_g = 0;
+               Duration_convert::no_smaller_than_i_s = i;
+           }
+           break;
+       case 'v':
+           level_ver = VERBOSE_ver;
+           break;
+       case 'w':
+           identify();
+           notice();
+           exit (0);
+           break;
+       case 'x':
+           Duration_convert::no_double_dots_b_s = true;
+           break;
+       default:
+           assert (0);
+           break;
+         }
+  
+    // flag -q must be checked first
+    identify();
+
+    path.add ("");
+    source_l_g->set_path (&path);
+
+    char const* arg_sz = 0;
+    while  ( (arg_sz = getopt_long.get_next_arg())) {
+       My_midi_parser midi_parser (arg_sz, & source);
+       midi_parser_l_g = &midi_parser;
+
+       int error_i = midi_parser.parse();
+       if  (error_i)
+           return error_i;
+
+       if  (!output_str.length_i()) {
+           String d, dir, base, ext;
+
+           split_path (arg_sz, d, dir, base, ext);
+           
+           output_str = base + ext + ".ly";
        }
-       return 0;
+
+       assert (midi_parser.mudela_score_p_);
+       midi_parser.mudela_score_p_->process();
+       midi_parser.mudela_score_p_->output (output_str);
+
+       midi_parser_l_g = 0;
+    }
+    return 0;
 }
index 78773e72084d8b62907c9b63705f208c3ce84d26..a2bdd3f6cff4c6f9665af8fa655931e5c3c99241 100644 (file)
@@ -2,6 +2,7 @@
 // version.cc -- implement inexpensive versioning
 //
 // copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
+
 #include <stdio.h>
 #include "version.hh"
 
diff --git a/mi2mu/midi-event.cc b/mi2mu/midi-event.cc
deleted file mode 100644 (file)
index 712a5ae..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-//
-// midi-event.cc -- implement Midi_event
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#include "mi2mu.hh"
-
-Midi_event::Midi_event()
-{
-}
-
-Moment
-Midi_event::mom()
-{
-       return Moment( 0 );
-}
-
-void
-Midi_event::output_mudela( Lily_stream& lily_stream_r, bool command_mode_bo )
-{
-       lily_stream_r << mudela_str( command_mode_bo ) << String( " " );
-}
-
-Midi_key::Midi_key( int accidentals_i, int minor_i )
-{
-       accidentals_i_ = accidentals_i;
-       minor_i_ = minor_i;
-       if ( accidentals_i >= 0 )
-               key_i_ = ( ( accidentals_i % 7 )[ "cgdaebf" ] - 'a' - 2 ) % 7;
-       else
-               key_i_ = ( ( -accidentals_i % 7 )[ "cfbeadg" ] - 'a' - 2 ) % 7;
-}
-
-String
-Midi_key::mudela_str( bool command_mode_bo )
-{
-       String str = "\\key";
-       if ( !minor_i_ ) 
-               str += String( (char)( ( key_i_ + 2 ) % 7 + 'A'  ) );
-       else // heu, -2: should be - 1 1/2: A -> fis
-               str += String( (char)( ( key_i_ + 2 - 2 ) % 7 + 'a'  ) );
-       str = String( "% \"" ) + str
-           + String('"') + "; % not supported yet\n"; 
-       return str;
-}
-
-String
-Midi_key::notename_str( int pitch_i )
-{
-       // this may seem very smart,
-       // but it-s only an excuse not to read a notename table
-
-       // major scale: do-do
-       // minor scale: la-la ( = + 5 )
-       static int notename_i_a[ 12 ] = { 0, 0, 1, 1, 2, 3, 3, 4, 4, 5, 5, 6 };
-       int notename_i = notename_i_a[ ( minor_i_ * 5 + pitch_i ) % 12 ];
-       
-       static int accidentals_i_a[ 12 ] = { 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0 };
-       int accidental_i = accidentals_i_a[ minor_i_ * 5 + pitch_i % 12 ];
-       if ( accidental_i && ( accidentals_i_ < 0 ) ) {
-               accidental_i = - accidental_i;
-               notename_i = ( notename_i + 1 ) % 7;
-       }
-
-       String notename_str = (char)( ( ( notename_i + 2 ) % 7 ) + 'a' );
-       while ( accidental_i-- > 0 )
-               notename_str += "is";
-       accidental_i++;
-       while ( accidental_i++ < 0 )
-               if ( ( notename_str == "a" ) || ( notename_str == "e" ) )
-                       notename_str += "s";
-               else
-                       notename_str += "es";
-       accidental_i--;
-
-       String de_octavate_str = String( '\'', ( Midi_note::c0_pitch_i_c_ + 11 - pitch_i ) / 12 );
-       String octavate_str = String( '\'', ( pitch_i - Midi_note::c0_pitch_i_c_ ) / 12 );
-       return de_octavate_str + notename_str + octavate_str;
-}
-
-// statics Midi_note
-/*
- this switch can be used to write simple plets like 
-     c4*2/3 
- as  
-     \plet 2/3; c4 \plet 1/1;
- */
-bool const Midi_note::simple_plet_b_s = true;
-
-Midi_note::Midi_note( String name_str, Duration dur )
-{
-       // do i want pitch too?
-       dur_ = dur;
-       name_str_ = name_str;
-}
-
-String
-Midi_note::mudela_str( bool command_mode_bo )
-{
-//     assert( !command_mode_bo );
-       if ( !dur_.type_i_ )
-               return "";
-
-       if ( simple_plet_b_s )
-               return name_str_ + Duration_convert::dur2_str( dur_ );
-
-       //ugh
-       String str;
-       if ( dur_.plet_b() )
-               str += String( "\\plet " )
-                       + String_convert::i2dec_str( dur_.plet_.iso_i_, 0, 0 )
-                       + "/"
-                       + String_convert::i2dec_str( dur_.plet_.type_i_, 0, 0 )
-                       + "; ";
-
-       str += name_str_;
-
-       Duration dur = dur_;
-       dur.set_plet( 1,1 );
-       str += Duration_convert::dur2_str( dur );
-
-       if ( dur_.plet_b() )
-               str += String( " \\plet 1/1;" );
-               
-       return str;
-}
-
-Moment
-Midi_note::mom()
-{
-       return Duration_convert::dur2_mom( dur_ );
-}
-
-Midi_tempo::Midi_tempo( int useconds_per_4_i )
-{
-       useconds_per_4_i_ = useconds_per_4_i;
-       seconds_per_1_f_ = (Real)useconds_per_4_i_ * 4 / 1e6;
-}
-
-String
-Midi_tempo::mudela_str( bool command_mode_bo )
-{
-//     assert( command_mode_bo );
-       if ( !command_mode_bo )
-               return "";
-       String str = "\\tempo 4:";
-       str += String( get_tempo_i( Moment( 1, 4 ) ) );
-       str += ";";
-       return str;
-}
-
-int 
-Midi_tempo::useconds_per_4_i()
-{
-       return useconds_per_4_i_;
-}
-
-int
-Midi_tempo::get_tempo_i( Moment moment )
-{
-       return Moment( 60 ) / moment / Moment( seconds_per_1_f_ );
-}
-
-Midi_text::Midi_text( Midi_text::Type type, String text_str )
-{
-       type_ = type;
-       text_str_ = text_str;
-}
-
-String
-Midi_text::mudela_str( bool command_mode_bo )
-{
-       (void)command_mode_bo;
-       if ( !text_str_.length_i() 
-               || ( text_str_.length_i() != (int)strlen( text_str_.ch_C() ) ) )
-               return "";
-
-       return "% " + text_str_ + "\n";
-}
-
-Midi_time::Midi_time( int num_i, int den_i, int clocks_4_i, int count_32_i )
-{
-       sync_dur_.type_i_ = 8;
-       
-       sync_f_ = 1.0;
-       if ( count_32_i != 8 )
-               warning( String( "#32 in quarter: " ) + String( count_32_i ));
-       num_i_ = num_i;
-       den_i_ = den_i;
-       clocks_1_i_ = clocks_4_i * 4; 
-}
-
-Moment
-Midi_time::bar_mom()
-{
-    Duration d;
-    d.type_i_ =  1 << den_i_ ;
-       return Moment( num_i_ ) * Duration_convert::dur2_mom( d );
-}
-
-int
-Midi_time::clocks_1_i()
-{
-       return clocks_1_i_;
-}
-
-int
-Midi_time::den_i()
-{
-       return den_i_;
-}
-
-int
-Midi_time::num_i()
-{
-       return num_i_;
-}
-
-String
-Midi_time::mudela_str( bool command_mode_bo )
-{
-       String str = "\\meter "
-               + String( num_i_ ) + "/" + String( 1 << den_i_ ) 
-               + ";";
-       return str;
-}
-
index 825f74453b397ed348ab455fcce2c88d9436742d..485312b974627fc70728435fce449ce207d9bc18 100644 (file)
   (don-t forget to rm lex.yy.cc :-)
  */
 
-#include "mi2mu.hh"
+#include "string-convert.hh"
+#include "mi2mu-global.hh"
+#include "mi2mu-proto.hh"
+#include "my-midi-lexer.hh"
 #include "midi-parser.hh"
 
 #define YY_USER_ACTION char_count_ += YYLeng(); // ugh
@@ -101,87 +104,87 @@ SSME              [\0x7f][\x03]
 %%
 
 {HEADER} {
-       tor( DEBUG_ver ) << "lex: header" << endl;
-       yy_push_state( int16 ); 
-       yy_push_state( int16 ); 
-       yy_push_state( int16 ); 
-       yy_push_state( int32 ); 
+       LOGOUT(DEBUG_ver) << "lex: header" << endl;
+       yy_push_state(int16); 
+       yy_push_state(int16); 
+       yy_push_state(int16); 
+       yy_push_state(int32); 
        return HEADER;
 }
 
 {TRACK} {
-       tor( DEBUG_ver ) << "lex: track" << endl;
-       yy_push_state( track ); 
-       yy_push_state( int32 ); 
+       LOGOUT(DEBUG_ver) << "lex: track" << endl;
+       yy_push_state(track); 
+       yy_push_state(int32); 
        return TRACK;
 }
 {U8}   {
-       error( String( "top level: header expected: " )
-               + String_convert::bin2hex_str( String( *YYText() ) ) );
-       exit( 1 );
+       error(String("top level: header expected: ")
+               + String_convert::bin2hex_str(String(*YYText())));
+       exit(1);
 }
 {BACKUP_TOP_0} {
-       error( String( "top level: header expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("top level: header expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 {BACKUP_TOP_1} {
-       error( String( "top level: header expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("top level: header expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 {BACKUP_TOP_2} {
-       error( String( "top level: header expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("top level: header expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 <int32>{INT32} { // really signed? 
-       tor( DEBUG_ver ) << "lex: int32" << endl;
-       assert( YYLeng() == 4 );
-       String str( (Byte const*)YYText(), YYLeng() );
-       yylval.i = String_convert::bin2_i( str );
+       LOGOUT(DEBUG_ver) << "lex: int32" << endl;
+       assert(YYLeng() == 4);
+       String str((Byte const*)YYText(), YYLeng());
+       yylval.i = String_convert::bin2_i(str);
        yy_pop_state();
        return INT32;
 }
 <int32>{BACKUP_INT32_0} {
-       error( String( "int32: int32 expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("int32: int32 expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 <int32>{BACKUP_INT32_1} {
-       error( String( "int32: int32 expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("int32: int32 expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 <int32>{BACKUP_INT32_2} {
-       error( String( "int32: int32 expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("int32: int32 expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 <int16>{INT16} { // really signed?
-       tor( DEBUG_ver ) << "lex: int16" << endl;
-       assert( YYLeng() == 2 );
-       String str( (Byte const*)YYText(), YYLeng() );
-       yylval.i = (short)String_convert::bin2_i( str );
+       LOGOUT(DEBUG_ver) << "lex: int16" << endl;
+       assert(YYLeng() == 2);
+       String str((Byte const*)YYText(), YYLeng());
+       yylval.i = (short)String_convert::bin2_i(str);
        yy_pop_state();
        return INT16;
 }
 <int16>{BACKUP_INT16_0} {
-       error( String( "int16: int16 expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("int16: int16 expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 <i8>{I8}       {
-       tor( DEBUG_ver ) << "lex: i8" << endl;
-       assert( YYLeng() == 1 );
+       LOGOUT(DEBUG_ver) << "lex: i8" << endl;
+       assert(YYLeng() == 1);
 //     yylval.byte = *(signed char*)YYText();
        yylval.i = *(signed char*)YYText();
        yy_pop_state(); 
        return I8;
 }
 <u8>{U8}       {
-       tor( DEBUG_ver ) << "lex: u8" << endl;
-       assert( YYLeng() == 1 );
+       LOGOUT(DEBUG_ver) << "lex: u8" << endl;
+       assert(YYLeng() == 1);
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        yy_pop_state(); 
@@ -189,328 +192,329 @@ SSME            [\0x7f][\x03]
 }
 
 <track>{VARINT} {
-       String str( (Byte const*)YYText(), YYLeng() );
-       yylval.i = My_midi_lexer::varint2_i( str );
-       tor( DEBUG_ver ) << String( "lex: track: varint(" 
-               + String( yylval.i ) + "): "
-               + String_convert::bin2hex_str( str ) << endl;
-       yy_push_state( event ); 
+       String str((Byte const*)YYText(), YYLeng());
+       yylval.i = My_midi_lexer::varint2_i(str);
+       LOGOUT(DEBUG_ver) << String("lex: track: varint("
+               + String(yylval.i) + "): "
+               + String_convert::bin2hex_str(str) << endl;
+       yy_push_state(event); 
        return VARINT;
 }
 <track>{U8}    {
-       error( String( "track: illegal byte: " 
-               + String_convert::bin2hex_str( String( *YYText() ) ) );
-       exit( 1 );
+       error(String("track: illegal byte: "
+               + String_convert::bin2hex_str(String(*YYText())));
+       exit(1);
 }
 <track>{BACKUP_VARINT_0}{U8} {
-       error( String( "track: varint expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("track: varint expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 <track>{BACKUP_VARINT_1}{U8} {
-       error( String( "track: varint expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("track: varint expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 <track>{BACKUP_VARINT_2}{U8} {
-       error( String( "track: varint expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("track: varint expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 <event>{RUNNING_STATUS}        {
 //     yylval.byte = *(Byte*)YYText();
 //     yylval.i = *(Byte*)YYText();
        yylval.i = running_status_i_;
-       tor( DEBUG_ver ) << String ( "lex: running status: " ) + String( yylval.i ) << endl;
+       LOGOUT(DEBUG_ver) << String ("lex: running status: ") + String(yylval.i) << endl;
        /*
         'running status' rather means 'missing status'.
         we'll put the running status data back, prepend (unput) 
         the running status, and try again.
         */
-       yyless( 0 );
-       unput( running_status_i_ );
+       yyless(0);
+       unput(running_status_i_);
        return RUNNING_STATUS;
 }
 <event>{DATA_ENTRY}    {
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
-       tor( DEBUG_ver ) << String ( "lex: undefined data entry: " ) + String( yylval.i ) << endl;
+       LOGOUT(DEBUG_ver) << String ("lex: undefined data entry: ") + String(yylval.i) << endl;
        yy_pop_state(); 
-       yy_push_state( u8 );
+       yy_push_state(u8);
        return DATA_ENTRY;
 }
 <event>{ALL_NOTES_OFF} {
-       tor( DEBUG_ver ) << "lex: all note off" << endl;
+       LOGOUT(DEBUG_ver) << "lex: all note off" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
-       tor( DEBUG_ver ) << String ( "lex: all notes off: " ) + String( yylval.i ) << endl;
+       LOGOUT(DEBUG_ver) << String ("lex: all notes off: ") + String(yylval.i) << endl;
        yy_pop_state(); 
-       yy_push_state( u8 );
-       yy_push_state( u8 );
+       yy_push_state(u8);
+       yy_push_state(u8);
        return ALL_NOTES_OFF;
 }
 <event>{NOTE_OFF}      {
-       tor( DEBUG_ver ) << "lex: note off" << endl;
+       LOGOUT(DEBUG_ver) << "lex: note off" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        running_status_i_ = yylval.i;
        yy_pop_state(); 
-       yy_push_state( u8 );
-       yy_push_state( u8 );
+       yy_push_state(u8);
+       yy_push_state(u8);
        return NOTE_OFF;
 }
 <event>{NOTE_ON}       {
-       tor( DEBUG_ver ) << "lex: note on" << endl;
+       LOGOUT(DEBUG_ver) << "lex: note on" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        running_status_i_ = yylval.i;
        yy_pop_state(); 
-       yy_push_state( u8 );
-       yy_push_state( u8 );
+       yy_push_state(u8);
+       yy_push_state(u8);
        return NOTE_ON;
 }
 <event>{POLYPHONIC_AFTERTOUCH} {
-       tor( DEBUG_ver ) << "lex: polyphonic aftertouch" << endl;
+       LOGOUT(DEBUG_ver) << "lex: polyphonic aftertouch" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        running_status_i_ = yylval.i;
        yy_pop_state(); 
-       yy_push_state( u8 );
-       yy_push_state( u8 );
+       yy_push_state(u8);
+       yy_push_state(u8);
        return POLYPHONIC_AFTERTOUCH;
 }
 <event>{CONTROLMODE_CHANGE}    {
-       tor( DEBUG_ver ) << "lex: controlmode change" << endl;
+       LOGOUT(DEBUG_ver) << "lex: controlmode change" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        running_status_i_ = yylval.i;
        yy_pop_state(); 
-       yy_push_state( u8 );
-       yy_push_state( u8 );
+       yy_push_state(u8);
+       yy_push_state(u8);
        return CONTROLMODE_CHANGE;
 }
 <event>{PROGRAM_CHANGE}        {
-       tor( DEBUG_ver ) << "lex: program change" << endl;
+       LOGOUT(DEBUG_ver) << "lex: program change" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        running_status_i_ = yylval.i;
        yy_pop_state(); 
-       yy_push_state( u8 );
+       yy_push_state(u8);
        return PROGRAM_CHANGE;
 }
 <event>{CHANNEL_AFTERTOUCH}    {
-       tor( DEBUG_ver ) << "lex: channel aftertouch" << endl;
+       LOGOUT(DEBUG_ver) << "lex: channel aftertouch" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        running_status_i_ = yylval.i;
        yy_pop_state(); 
-       yy_push_state( u8 );
-       yy_push_state( u8 );
+       yy_push_state(u8);
+       yy_push_state(u8);
        return CHANNEL_AFTERTOUCH;
 }
 <event>{PITCHWHEEL_RANGE} {
-       tor( DEBUG_ver ) << "lex: pitchwheel range" << endl;
+       LOGOUT(DEBUG_ver) << "lex: pitchwheel range" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        running_status_i_ = yylval.i;
        yy_pop_state(); 
-       yy_push_state( u8 );
-       yy_push_state( u8 );
+       yy_push_state(u8);
+       yy_push_state(u8);
        return PITCHWHEEL_RANGE;
 }
 <event>{SYSEX_EVENT1} {        // len data
-       tor( DEBUG_ver ) << "lex: sysex1" << endl;
+       LOGOUT(DEBUG_ver) << "lex: sysex1" << endl;
        yy_pop_state(); 
-       yy_push_state( data );
+       yy_push_state(data);
        return SYSEX_EVENT1;
 }
 <event>{SYSEX_EVENT2} {        // len data
-       tor( DEBUG_ver ) << "lex: sysex2" << endl;
+       LOGOUT(DEBUG_ver) << "lex: sysex2" << endl;
        yy_pop_state(); 
-//     yy_push_state( u8 ); //?
-       yy_push_state( data );
+//     yy_push_state(u8); //?
+       yy_push_state(data);
        return SYSEX_EVENT2;
 }
 <event>{META_EVENT}    {
-       tor( DEBUG_ver ) << "lex: meta" << endl;
-       yy_push_state( meta_event );
+       LOGOUT(DEBUG_ver) << "lex: meta" << endl;
+       yy_push_state(meta_event);
        return META_EVENT;
 }
 <event>{U8}    {
-       error( String( "event: illegal byte: " 
-               + String_convert::bin2hex_str( String( *YYText() ) ) );
-       exit( 1 );
+       error(String("event: illegal byte: "
+               + String_convert::bin2hex_str(String(*YYText())));
+       exit(1);
 }
 <meta_event>{SEQUENCE} {       // ssss sequence number
-       tor( DEBUG_ver ) << "lex: sequence" << endl;
+       LOGOUT(DEBUG_ver) << "lex: sequence" << endl;
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( int16 );
+       yy_push_state(int16);
        return SEQUENCE;
 }
 <meta_event>{YYTEXT}   {               // len data
-       tor( DEBUG_ver ) << "lex: text" << endl;
+       LOGOUT(DEBUG_ver) << "lex: text" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( data );
+       yy_push_state(data);
        return YYTEXT;
 }
 <meta_event>{YYCOPYRIGHT}      {
-       tor( DEBUG_ver ) << "lex: copyright" << endl;
+       LOGOUT(DEBUG_ver) << "lex: copyright" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( data );
+       yy_push_state(data);
        return YYCOPYRIGHT;
 }
 <meta_event>{YYTRACK_NAME}     {
-       tor( DEBUG_ver ) << "lex: track name" << endl;
+       LOGOUT(DEBUG_ver) << "lex: track name" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( data );
+       yy_push_state(data);
        return YYTRACK_NAME;
 }
 <meta_event>{YYINSTRUMENT_NAME}        {
-       tor( DEBUG_ver ) << "lex: instrument name" << endl;
+       LOGOUT(DEBUG_ver) << "lex: instrument name" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( data );
+       yy_push_state(data);
        return YYINSTRUMENT_NAME;
 }
 <meta_event>{YYLYRIC}  {
-       tor( DEBUG_ver ) << "lex: lyric" << endl;
+       LOGOUT(DEBUG_ver) << "lex: lyric" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( data );
+       yy_push_state(data);
        return YYLYRIC;
 }
 <meta_event>{YYMARKER} {
-       tor( DEBUG_ver ) << "lex: marker" << endl;
+       LOGOUT(DEBUG_ver) << "lex: marker" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( data );
+       yy_push_state(data);
        return YYMARKER;
 }
 <meta_event>{YYCUE_POINT}      {
-       tor( DEBUG_ver ) << "lex: cue point" << endl;
+       LOGOUT(DEBUG_ver) << "lex: cue point" << endl;
 //     yylval.byte = *(Byte*)YYText();
        yylval.i = *(Byte*)YYText();
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( data );
+       yy_push_state(data);
        return YYCUE_POINT;
 }
 <meta_event>{TEMPO}    {       // tttttt usec
-       tor( DEBUG_ver ) << "lex: tempo" << endl;
+       LOGOUT(DEBUG_ver) << "lex: tempo" << endl;
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( u8 );
-       yy_push_state( u8 );
-       yy_push_state( u8 );
+       yy_push_state(u8);
+       yy_push_state(u8);
+       yy_push_state(u8);
        return TEMPO;
 }
 <meta_event>{SMPTE_OFFSET}     {               // hr mn se fr ff
-       tor( DEBUG_ver ) << "lex: smpte offset" << endl;
+       LOGOUT(DEBUG_ver) << "lex: smpte offset" << endl;
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( u8 );
-       yy_push_state( u8 );
-       yy_push_state( u8 );
-       yy_push_state( u8 );
-       yy_push_state( u8 );
+       yy_push_state(u8);
+       yy_push_state(u8);
+       yy_push_state(u8);
+       yy_push_state(u8);
+       yy_push_state(u8);
        return SMPTE_OFFSET;
 }
 <meta_event>{TIME}     {               // nn dd cc bb
-       tor( DEBUG_ver ) << "lex: time" << endl;
+       LOGOUT(DEBUG_ver) << "lex: time" << endl;
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( u8 );
-       yy_push_state( u8 );
-       yy_push_state( u8 );
-       yy_push_state( u8 );
+       yy_push_state(u8);
+       yy_push_state(u8);
+       yy_push_state(u8);
+       yy_push_state(u8);
        return TIME;
 }
 <meta_event>{KEY}      {       // sf mi
-       tor( DEBUG_ver ) << "lex: key" << endl;
+       LOGOUT(DEBUG_ver) << "lex: key" << endl;
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( i8 );
-       yy_push_state( i8 );
+       yy_push_state(i8);
+       yy_push_state(i8);
        return KEY;
 }
 <meta_event>{SSME}     {       // len data
-       tor( DEBUG_ver ) << "lex: smme" << endl;
+       LOGOUT(DEBUG_ver) << "lex: smme" << endl;
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( data );
+       yy_push_state(data);
        return SSME;
 }
 <meta_event>{END_OF_TRACK} {
-       tor( DEBUG_ver ) << "lex: end of track" << endl;
+       LOGOUT(DEBUG_ver) << "lex: end of track" << endl;
        yy_pop_state();
        yy_pop_state();
        yy_pop_state();
        return END_OF_TRACK;
 }
 <meta_event>{U8} {
-       warning( String( "meta_event: unimplemented event: " )
-               + String_convert::bin2hex_str( String( *YYText() ) )
-//,            this->here_ch_C() 
+       warning(String("meta_event: unimplemented event: ")
+               + String_convert::bin2hex_str(String(*YYText()))
+// huh?
+//             ,this->here_ch_C() 
        );
        yy_pop_state();
        yy_pop_state();
-       yy_push_state( u8 ); 
-       yy_push_state( u8 );
+       yy_push_state(u8); 
+       yy_push_state(u8);
        return U8;
 }
 
 <data>{VARINT} {
-       tor( DEBUG_ver ) << "lex: data" << endl;
-       String str( (Byte const*)YYText(), YYLeng() );
-       int i = My_midi_lexer::varint2_i( str );
+       LOGOUT(DEBUG_ver) << "lex: data" << endl;
+       String str((Byte const*)YYText(), YYLeng());
+       int i = My_midi_lexer::varint2_i(str);
        String* str_p = new String;
-       while ( i-- )
+       while (i--)
                *str_p += (char)yyinput();
        yylval.str_p = str_p;
        yy_pop_state();
        return DATA;
 }
 <data>{U8}     {
-       error( String( "data: illegal byte: " )
-               + String_convert::bin2hex_str( String( *YYText() ) ) );
-       exit( 1 );
+       error(String("data: illegal byte: ")
+               + String_convert::bin2hex_str(String(*YYText())));
+       exit(1);
 }
 <data>{BACKUP_VARINT_0}{U8} {
-       error( String( "data: varint expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("data: varint expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 <data>{BACKUP_VARINT_1}{U8} {
-       error( String( "data: varint expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("data: varint expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 <data>{BACKUP_VARINT_2}{U8} {
-       error( String( "data: varint expected: " )
-               + String_convert::bin2hex_str( String( *( YYText() ) ) ) );
-       exit( 1 );
+       error(String("data: varint expected: ")
+               + String_convert::bin2hex_str(String(*(YYText()))));
+       exit(1);
 }
 
 <<EOF>> {
-//     tor( NORMAL_ver ) << "<<EOF>>";
+//     LOGOUT(NORMAL_ver) << "<<EOF>>";
 
-       if ( !close_i() )
+       if (!close_i())
          yyterminate(); // can't move this, since it actually rets a YY_NULL
 }
 
index d28e90734010ce1fa8f763c9a8a31dcb292d51b5..c1ec3edfedf2c5b777feb1aeb72cd6c3d61c7865 100644 (file)
@@ -1,6 +1,18 @@
 %{
 
-#include "mi2mu.hh"
+#include "mi2mu-proto.hh"
+#include "proto.hh"
+#include "plist.hh"
+#include "warn.hh"
+#include "mi2mu-global.hh"
+//#include "midi-parser.hh"
+#include "my-midi-parser.hh"
+#include "my-midi-lexer.hh"
+#include "duration-convert.hh"
+#include "string-convert.hh"
+#include "mudela-item.hh"
+#include "mudela-score.hh"
+#include "mudela-staff.hh"
 
 #ifndef NDEBUG
 #define YYDEBUG 1
@@ -13,9 +25,9 @@
     char c;
     int i;
     String* str_p;
-    Midi_event* midi_event_p;  // Voice_element* ?
-    Midi_score* midi_score_p;  // Input_score* ?
-    Midi_track* midi_track_p;  // Input_music* ?
+    Mudela_item* mudela_item_p;        // Voice_element* ? jup, just about :-)
+    Mudela_score* mudela_score_p; // Input_score* ?
+    Mudela_staff* mudela_staff_p; // Input_music* ?
 }
 
 %token HEADER TRACK
 %token<str_p> DATA
 
 %type <i> varint
-%type <midi_score_p> header midi_score
-%type <midi_track_p> track
-%type <midi_event_p> event
-%type <midi_event_p> the_event meta_event the_meta_event text_event midi_event sysex_event
-%type <midi_event_p> running_status data_entry all_notes_off
-%type <midi_event_p> note_off note_on
-%type <midi_event_p> polyphonic_aftertouch controlmode_change program_change
-%type <midi_event_p> channel_aftertouch pitchwheel_range
+%type <mudela_score_p> header mudela_score
+%type <mudela_staff_p> track
+%type <mudela_item_p> item
+%type <mudela_item_p> the_item meta_item the_meta_item text_item mudela_item sysex_item
+%type <mudela_item_p> running_status data_entry all_notes_off
+%type <mudela_item_p> note_off note_on
+%type <mudela_item_p> polyphonic_aftertouch controlmode_change program_change
+%type <mudela_item_p> channel_aftertouch pitchwheel_range
 
 %%
 
 midi:  /* empty */
-       | midi midi_score {
-               midi_parser_l_g->add_score( $2 );               
+       | midi mudela_score {
+               midi_parser_l_g->add_score ($2);                
        }
        ;
 
-midi_score:
+mudela_score:
        header {
        }
-       | midi_score track {
-               $$->add_track( $2 );
+       | mudela_score track {
+               $$->add_staff ($2);
                // ugh
-               $2->set_tempo( midi_parser_l_g->midi_tempo_p_->useconds_per_4_i() );
-               $2->set_time( midi_parser_l_g->midi_time_p_->num_i(), 
-                       midi_parser_l_g->midi_time_p_->den_i(), 
-                       midi_parser_l_g->midi_time_p_->clocks_1_i(), 
-                       8 );
-               if ( midi_parser_l_g->copyright_str_.length_i() )
+               $2->set_tempo (midi_parser_l_g->mudela_tempo_p_->useconds_per_4_i());
+               $2->set_meter (midi_parser_l_g->mudela_meter_p_->num_i(), 
+                       midi_parser_l_g->mudela_meter_p_->den_i(), 
+                       midi_parser_l_g->mudela_meter_p_->clocks_1_i(), 
+                       8);
+               if  (midi_parser_l_g->copyright_str_.length_i())
                        $2->copyright_str_ = midi_parser_l_g->copyright_str_;
-               if ( midi_parser_l_g->track_name_str_.length_i() )
+               if  (midi_parser_l_g->track_name_str_.length_i())
                        $2->name_str_ = midi_parser_l_g->track_name_str_;
-               if ( midi_parser_l_g->instrument_str_.length_i() )
+               if  (midi_parser_l_g->instrument_str_.length_i())
                        $2->instrument_str_ = midi_parser_l_g->instrument_str_;
                midi_parser_l_g->reset();
        }
@@ -73,60 +85,64 @@ midi_score:
 
 header:        
        HEADER INT32 INT16 INT16 INT16 {
-               $$ = new Midi_score( $3, $4, $5 );
-               midi_parser_l_g->set_division_4( $5 );
+               // ugh, already constructed; 
+               // need to have score in My_midi_parser...
+//             $$ = new Mudela_score ($3, $4, $5);
+               $$ = midi_parser_l_g->mudela_score_p_;
+               $$->format_i_ = $3;
+               $$->tracks_i_ = $4;
+               $$->tempo_i_ =  $5;
+               midi_parser_l_g->set_division_4 ($5);
        }
        ;
 
 track: 
        TRACK INT32 {
-               tor( NORMAL_ver ) << "\ntrack " << midi_parser_l_g->track_i_ << ": " << flush;
-               $$ = new Midi_track( midi_parser_l_g->track_i_++,
+               LOGOUT (NORMAL_ver) << "\ntrack " << midi_parser_l_g->track_i_ << ": " << flush;
+               $$ = new Mudela_staff (midi_parser_l_g->track_i_++,
                        // silly, cause not set yet!
                        midi_parser_l_g->copyright_str_,
                        midi_parser_l_g->track_name_str_,
-                       midi_parser_l_g->instrument_str_ );
-       }
-       | track event {
-               $$->add_event( midi_parser_l_g->mom(), $2 );
+                       midi_parser_l_g->instrument_str_);
+               //ugh, need to know now!
+               midi_parser_l_g->mudela_staff_l_ = $$;
+       }
+       | track item {
+               if  ($2) {
+                       $2->mudela_column_l_ = midi_parser_l_g->mudela_column_l_;
+                       $$->add_item ($2);
+               }
        }
        ;
 
-event: 
-       varint the_event {
+item:  
+       varint the_item {
                $$ = $2;
-               if ( $2 ) {
-                       String str = $2->mudela_str( false );
-                       if ( str.length_i() )
-                               tor( DEBUG_ver ) << str << " " << flush;
+               if  ($2) {
+                       String str = $2->str();
+                       if  (str.length_i())
+                               LOGOUT (DEBUG_ver) << str << " " << flush;
                }
        }
        ;
        
 varint:
        VARINT {
-               midi_parser_l_g->forward( $1 );
-               if ( $1 ) {
-                       int bars_i = (int)( midi_parser_l_g->mom() / midi_parser_l_g->midi_time_p_->bar_mom() );
-                       if ( bars_i > midi_parser_l_g->bar_i_ ) {
-                               tor( NORMAL_ver ) << '[' << midi_parser_l_g->bar_i_ << ']' << flush; 
-                       midi_parser_l_g->bar_i_ = bars_i;       
-                       }
-               }
+               midi_parser_l_g->forward ($1);
        }
        ;
 
-the_event
-       meta_event { 
+the_item
+       meta_item { 
        }
-       | midi_event {
+       | mudela_item {
        }
-       | sysex_event {
+       | sysex_item {
        }
        ;
 
-meta_event:
-       META_EVENT the_meta_event {
+meta_item:
+       META_EVENT the_meta_item {
                $$ = $2;
        }
        |
@@ -135,81 +151,81 @@ meta_event:
        }
        ;
 
-the_meta_event:
+the_meta_item:
        SEQUENCE INT16 {
        }
-       | text_event DATA {
-               Midi_text::Type type = (Midi_text::Type)$1;
+       | text_item DATA {
+               Mudela_text::Type type = (Mudela_text::Type)$1;
                $$ = 0;
-               switch ( type )
+               switch  (type)
                        {
-                       case Midi_text::COPYRIGHT:
+                       case Mudela_text::COPYRIGHT:
                                midi_parser_l_g->copyright_str_ = *$2;
                                break;
-                       case Midi_text::TRACK_NAME:
+                       case Mudela_text::TRACK_NAME:
                                midi_parser_l_g->track_name_str_ = *$2;
                                break;
-                       case Midi_text::INSTRUMENT_NAME:
+                       case Mudela_text::INSTRUMENT_NAME:
                                midi_parser_l_g->instrument_str_ = *$2;
                                break;
                        default:
-                               $$ = new Midi_text( type, *$2 );
+                               $$ = new Mudela_text (type, *$2);
                                break;
                        }
-               tor( DEBUG_ver ) << *$2 << endl;
+               LOGOUT (DEBUG_ver) << *$2 << endl;
                delete $2;
        }
        | END_OF_TRACK {
                $$ = 0;
        }
        | TEMPO U8 U8 U8 { 
-               $$ = new Midi_tempo( ( $2 << 16 ) + ( $3 << 8 ) + $4 );
-               tor( DEBUG_ver ) << $$->mudela_str( false ) << endl;
-               midi_parser_l_g->set_tempo( ( $2 << 16 ) + ( $3 << 8 ) + $4 );
+               $$ = new Mudela_tempo ( ($2 << 16) +  ($3 << 8) + $4);
+               LOGOUT (DEBUG_ver) << $$->str() << endl;
+               midi_parser_l_g->set_tempo ( ($2 << 16) +  ($3 << 8) + $4);
        }
        | SMPTE_OFFSET U8 U8 U8 U8 U8 { 
                $$ = 0;
        }
        | TIME U8 U8 U8 U8 { 
-               $$ = new Midi_time( $2, $3, $4, $5 );
-               tor( DEBUG_ver ) << $$->mudela_str( true ) << endl;
-               midi_parser_l_g->set_time( $2, $3, $4, $5 );
+               $$ = new Mudela_meter ($2, $3, $4, $5);
+               LOGOUT (DEBUG_ver) << $$->str() << endl;
+               midi_parser_l_g->set_meter ($2, $3, $4, $5);
        }
        | KEY I8 I8 { 
-               $$ = new Midi_key( $2, $3 );
-               midi_parser_l_g->set_key( $2, $3  );
+               $$ = new Mudela_key ($2, $3);
+               midi_parser_l_g->set_key ($2, $3 );
        }
        | SSME DATA {
-               $$ = new Midi_text( (Midi_text::Type)0, *$2 );
+               $$ = new Mudela_text ((Mudela_text::Type)0, *$2);
                delete $2;
        }
        ;
 
-text_event
+text_item
        YYTEXT {
-               tor( DEBUG_ver ) << "\n% Text: ";
+               LOGOUT (DEBUG_ver) << "\n% Text: ";
        }
        | YYCOPYRIGHT {
-               tor( DEBUG_ver ) << "\n% Copyright: ";
+               LOGOUT (DEBUG_ver) << "\n% Copyright: ";
        }
        | YYTRACK_NAME {
-               tor( DEBUG_ver ) << "\n% Track  name: ";
+               LOGOUT (DEBUG_ver) << "\n% Track  name: ";
        }
        | YYINSTRUMENT_NAME {
-               tor( DEBUG_ver ) << "\n% Instrument  name: ";
+               LOGOUT (DEBUG_ver) << "\n% Instrument  name: ";
        }
        | YYLYRIC {
-               tor( DEBUG_ver ) << "\n% Lyric: ";
+               LOGOUT (DEBUG_ver) << "\n% Lyric: ";
        }
        | YYMARKER {
-               tor( DEBUG_ver ) << "\n% Marker: ";
+               LOGOUT (DEBUG_ver) << "\n% Marker: ";
        }
        | YYCUE_POINT {
-               tor( DEBUG_ver ) << "\n% Cue point: ";
+               LOGOUT (DEBUG_ver) << "\n% Cue point: ";
        }
        ;
 
-midi_event
+mudela_item
        running_status {
        }
        | data_entry {
@@ -233,7 +249,7 @@ midi_event:
        ;
 
 running_status:
-       RUNNING_STATUS midi_event {
+       RUNNING_STATUS mudela_item {
                $$ = $2;
        }
        ;
@@ -246,6 +262,7 @@ data_entry:
 
 all_notes_off:
        ALL_NOTES_OFF U8 U8 {
+               midi_parser_l_g->note_end_all();
                $$ = 0;
        }
        ;
@@ -254,7 +271,8 @@ note_off:
        NOTE_OFF U8 U8 {
                int i = $1;
                i = i & ~0x80;
-               $$ = midi_parser_l_g->note_end_midi_event_p( $1 & ~0x80, $2, $3 );
+               midi_parser_l_g->note_end ($1 & ~0x80, $2, $3);
+               $$ = 0;
        }
        ;
 
@@ -263,14 +281,14 @@ note_on:
                int i = $1;
                i = i & ~0x90;
                $$ = 0;
-                if ( $3 )
-                       midi_parser_l_g->note_begin( $1 & ~0x90, $2, $3 );
+                if  ($3)
+                       midi_parser_l_g->note_begin ($1 & ~0x90, $2, $3);
                /*
                  sss: some broken devices encode NOTE_OFF as 
                       NOTE_ON with zero volume
                 */
                else 
-                       $$ = midi_parser_l_g->note_end_midi_event_p( $1 & ~0x90, $2, $3 );
+                       midi_parser_l_g->note_end ($1 & ~0x90, $2, $3);
        }
        ;
 
@@ -304,7 +322,7 @@ pitchwheel_range:
        }
        ;
 
-sysex_event:
+sysex_item:
        SYSEX_EVENT1 DATA {
                $$ = 0;
        }
diff --git a/mi2mu/midi-score.cc b/mi2mu/midi-score.cc
deleted file mode 100644 (file)
index 7b32620..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// midi-score.cc -- implement Midi_score
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#include "mi2mu.hh"
-
-Midi_score::Midi_score( int format_i, int tracks_i, int tempo_i )
-{
-       format_i_ = format_i;
-       tracks_i_ = tracks_i;
-       tempo_i_ = tempo_i;
-}
-
-Midi_score::~Midi_score()
-{
-}
-
-void
-Midi_score::add_track( Midi_track* midi_track_p )
-{
-       midi_track_p_list_.bottom().add( midi_track_p );
-}
-
-int
-Midi_score::output_mudela( String filename_str )
-{
-       tor( NORMAL_ver ) << "Lily output to " << filename_str << " ..." << endl;
-       
-       // ugh, ugly midi type 1 fix
-       if ( ( midi_track_p_list_.size() == 1 ) && !midi_track_p_list_.top()->number_i_ )
-               midi_track_p_list_.top()->number_i_ = 1;
-
-       int track_i = 0;
-       Lily_stream lily_stream( filename_str );
-       for ( PCursor<Midi_track*> i( midi_track_p_list_.top() ); i.ok(); i++ ) {
-               tor( NORMAL_ver ) << "track " << track_i++ << ": " << flush;
-               i->output_mudela( lily_stream );
-               lily_stream << "\n";
-               tor( NORMAL_ver ) << endl;
-       }
-
-       lily_stream << "\\score{\n";
-       lily_stream << " < \\multi 3;\n";
-       for ( PCursor<Midi_track*> i( midi_track_p_list_.top() ); i.ok(); i++ ) {
-               if ( ( midi_track_p_list_.size() != 1 ) 
-                       && ( i == midi_track_p_list_.top() ) )
-                       continue;
-               lily_stream << "\\melodic{ ";
-               lily_stream << "\\$" << i->id_str();
-               lily_stream << " }\n";
-       }
-       lily_stream << ">\n";
-
-       lily_stream << "\\paper{";
-       lily_stream << "unitspace = 20.0\\mm;";
-       lily_stream << "}\n";
-
-       lily_stream << "\\midi{";
-               // not use silly 0 track
-               midi_track_p_list_.bottom()->midi_tempo_p_->output_mudela( lily_stream, true );
-       lily_stream << "}\n";
-
-       lily_stream << "}\n";
-
-       return 0;
-}
-
-void
-Midi_score::process()
-{
-       int track_i = 0;
-       for ( PCursor<Midi_track*> i( midi_track_p_list_.top() ); i.ok(); i++ )  {
-               tor( NORMAL_ver ) << "track " << track_i++ << ": " << flush;
-               i->process();
-               tor( NORMAL_ver ) << endl;
-       }
-}
-
diff --git a/mi2mu/midi-track.cc b/mi2mu/midi-track.cc
deleted file mode 100644 (file)
index 0efb703..0000000
+++ /dev/null
@@ -1,536 +0,0 @@
-//
-// midi-track.cc -- implement Midi_track
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#include "mi2mu.hh"
-
-Midi_track::Midi_track( int number_i, String copyright_str, String track_name_str, String instrument_str )
-{
-       number_i_ = number_i;
-       copyright_str_ = copyright_str;
-       instrument_str_ = instrument_str;
-       name_str_ = track_name_str;
-       midi_time_p_ = new Midi_time( 4, 2, 24, 8 );
-       midi_tempo_p_ = new Midi_tempo( 1000000 );
-#ifdef TCOL_LIST
-       tcol_p_list_.bottom().add( new Track_column( Moment( 0 ) ) );
-#else
-       tcol_p_array_.push( new Track_column( Moment( 0 ) ) );
-#endif
-}
-
-Midi_track::~Midi_track()
-{
-       delete midi_time_p_;
-       delete midi_tempo_p_;
-}
-
-#ifdef MVOICE_LIST
-void
-Midi_track::add_begin_at( Link_list<Midi_voice*>& open_voices_r, Moment mom )
-{
-       for ( PCursor<Midi_voice*> i( midi_voice_p_list_.top() ); i.ok(); i++ )
-               if ( i->begin_mom() == mom ) {
-                       tor( DEBUG_ver ) << "open_voices (" << open_voices_r.size() << "): +1\n";
-                       open_voices_r.bottom().add( *i );
-               }
-}
-#else
-void
-Midi_track::add_begin_at( Array<Midi_voice*>& open_voices_r, Moment mom )
-{
-       for ( int i = 0; i < midi_voice_p_array_.size(); i++ )
-               if ( midi_voice_p_array_[ i ]->begin_mom() == mom ) {
-                       tor( DEBUG_ver ) << "open_voices (" << open_voices_r.size() << "): +1\n";
-                       open_voices_r.push( midi_voice_p_array_[ i ] );
-               }
-}
-#endif
-
-void
-Midi_track::add_event( Moment mom, Midi_event* midi_event_p )
-{
-       if ( ! midi_event_p )
-               return;
-       tcol_l( mom - midi_event_p->mom() )->add_event( midi_event_p );
-}
-
-int
-Midi_track::check_begin_bar_i( Moment now_mom, int open_bar_i )
-{
-       Moment bar_mom = midi_time_p_->bar_mom();
-       int bar_i = (int)( now_mom / bar_mom ) + 1;
-       if ( bar_i > open_bar_i ) { 
-               tor( NORMAL_ver ) << '[' << flush; 
-               return bar_i;
-       }
-       return 0;
-}
-
-int
-Midi_track::check_end_bar_i( Moment now_mom, int open_bar_i )
-{
-       Moment bar_mom = midi_time_p_->bar_mom();
-       int bar_i = (int)( now_mom / bar_mom ) + 1;
-       if ( bar_i > open_bar_i ) {
-               tor( NORMAL_ver ) << ']' << flush; 
-               return bar_i;
-       }
-       return open_bar_i;
-}
-
-Moment
-Midi_track::end_mom()
-{
-       // heu..
-       Moment mom = 0.0;
-#ifdef MVOICE_LIST
-       for ( PCursor<Midi_voice*> i( midi_voice_p_list_.top() ); i.ok(); i++ ) 
-               mom = i->end_mom() >? mom;
-#else
-       for ( int i = 0; i < midi_voice_p_array_.size(); i++ ) 
-               mom = midi_voice_p_array_[ i ]->end_mom() >? mom;
-#endif
-       return mom;
-}
-
-Midi_voice*
-Midi_track::get_free_midi_voice_l( Moment mom )
-{
-#ifdef MVOICE_LIST
-       Real f = mom;
-       for ( PCursor<Midi_voice*> i( midi_voice_p_list_.top() ); i.ok(); i++ ) {
-               Real e = i->end_mom();
-               if ( i->end_mom() == mom )
-                       return *i;
-       }
-
-       Midi_voice* midi_voice_p = new Midi_voice( mom );
-       Midi_voice* midi_voice_l = midi_voice_p;
-       midi_voice_p_list_.bottom().add( midi_voice_p );
-       return midi_voice_l; 
-#else
-       Real f = mom;
-       for ( int i = 0; i < midi_voice_p_array_.size(); i++ ) {
-               Real e = i->end_mom();
-               if ( midi_voice_p_array_[ i ]->end_mom() == mom )
-                       return midi_voice_p_array_[ i ];
-       }
-
-       Midi_voice* midi_voice_p = new Midi_voice( mom );
-       Midi_voice* midi_voice_l = midi_voice_p;
-       midi_voice_p_array_.push( midi_voice_p );
-       return midi_voice_l; 
-#endif
-}
-
-String
-Midi_track::id_str()
-{
-       String str = name_str();
-       for ( int i = 0; i < str.length_i(); i++ )
-               if ( ( !i && !isalpha( str[ i ] ) )
-                       || !isalnum( str[ i ] ) )
-                       *( str.ch_l() + i ) = '_';
-       return str;
-}
-
-String
-Midi_track::name_str()
-{
-       if ( name_str_.length_i() )
-               return name_str_;
-       return String( "track" ) + String( number_i_ );
-}
-
-Moment
-Midi_track::next_begin_mom( Moment now_mom )
-{
-//     Moment begin_mom = Midi_track::end_mom() + 1;
-       Moment begin_mom = Midi_track::end_mom();
-#ifdef MVOICE_LIST
-       for ( PCursor<Midi_voice*> i( midi_voice_p_list_.top() ); i.ok(); i++ )
-               if ( i->begin_mom() > now_mom )
-                       begin_mom = begin_mom <? i->begin_mom();
-#else
-       for ( int i = 0; i < midi_voice_p_array_.size(); i++ )
-               if ( midi_voice_p_array_[ i ]->begin_mom() > now_mom )
-                       begin_mom = begin_mom <? midi_voice_p_array_[ i ]->begin_mom();
-#endif
-       return begin_mom;
-}
-
-Moment
-Midi_track::next_end_mom( Moment now_mom )
-{
-       Moment end_mom = Midi_track::end_mom();
-#ifdef MVOICE_LIST
-       for ( PCursor<Midi_voice*> i( midi_voice_p_list_.top() ); i.ok(); i++ ) 
-               if ( i->end_mom() > now_mom )
-                       end_mom = end_mom <? i->end_mom();
-#else
-       for ( int i = 0; i < midi_voice_p_array_.size(); i++ ) 
-               if ( midi_voice_p_array_[ i ]->end_mom() > now_mom )
-                       end_mom = end_mom <? midi_voice_p_array_[ i ]->end_mom();
-#endif
-       return end_mom;
-}
-
-void
-Midi_track::process()
-{
-       /* 
-          columns to voices
-       */
-//     int bar_i = 1;
-       int bar_i = 0;
-#ifdef TCOL_LIST
-       for ( PCursor<Track_column*> i( tcol_p_list_.top() ); i.ok(); i++ ) {
-               int begin_bar_i = check_begin_bar_i( i->mom(), bar_i );
-               if ( begin_bar_i )
-                       tor( NORMAL_ver ) << begin_bar_i << flush; 
-               while ( i->midi_event_p_list_.size() ) 
-                       get_free_midi_voice_l( i->mom() )->add_event( i->midi_event_p_list_.top().remove_p() );
-               bar_i = check_end_bar_i( i->mom(), bar_i );
-       }
-#else
-       for ( int i = 0; i < tcol_p_array_.size(); i++ ) {
-               Track_column* tcol_l = tcol_p_array_[ i ];
-               int begin_bar_i = check_begin_bar_i( tcol_l->mom(), bar_i );
-               if ( begin_bar_i )
-                       tor( NORMAL_ver ) << begin_bar_i << flush; 
-#ifdef MEVENT_LIST
-               while ( tcol_l->midi_event_p_list_.size() ) 
-                       get_free_midi_voice_l( tcol_l->mom() )->add_event( tcol_l->midi_event_p_list_.top().remove_p() );
-#else
-               // what's efficient here?
-#if 0          // heu, what's different here?
-               while ( tcol_l->midi_event_p_array_.size() ) {
-                       get_free_midi_voice_l( tcol_l->mom() )->add_event( tcol_l->midi_event_p_array_[ 0 ] );
-                       tcol_l->midi_event_p_array_.del( 0 );
-               }
-#else
-               for ( int j = 0; j < tcol_l->midi_event_p_array_.size(); j++ ) {
-                       get_free_midi_voice_l( tcol_l->mom() )->add_event( tcol_l->midi_event_p_array_[ j ] );
-                       tcol_l->midi_event_p_array_[ j ] = 0;
-               }
-               tcol_l->midi_event_p_array_.clear();
-#endif 
-#endif
-               bar_i = check_end_bar_i( tcol_l->mom(), bar_i );
-       }
-#endif
-
-       tor( DEBUG_ver ) << "ends: " << endl;
-       int n = 0;
-#ifdef MVOICE_LIST
-       for ( PCursor<Midi_voice*> i( midi_voice_p_list_.top() ); i.ok(); i++ ) 
-               tor( VERBOSE_ver ) << "voice " << n++ << ": " << i->end_mom() << endl;
-#else
-       for ( int i = 0; i < midi_voice_p_array_.size(); i++ ) 
-               tor( VERBOSE_ver ) << "voice " << n++ << ": " << midi_voice_p_array_[ i ]->end_mom() << endl;
-#endif
-       tor( DEBUG_ver ) << ":sdne" << endl;
-}
-
-void
-Midi_track::output_mudela( Lily_stream& lily_stream_r )
-{
-       lily_stream_r << "$" << id_str() << " = \\melodic{\n";
-       lily_stream_r << "% midi copyright:" << copyright_str_ << "\n";
-       lily_stream_r << "% instrument:" << instrument_str_ << "\n";
-//     int bar_i = 1;
-       int bar_i = 0;
-
-#ifdef MVOICE_LIST
-       Link_list<Midi_voice*> open_voices;
-#else
-       Array<Midi_voice*> open_voices;
-#endif
-       Moment now_mom = 0.0;
-       Real now_f = now_mom;
-       Real begin_f = 0;
-       Real end_f = end_mom();
-       Real then_f;
-
-       /* 
-          now we step through time while writing all voices
-
-          we can only output time slices that have a constant
-          number of open voices; each begin or end of a voice
-          starts or ends a chord or multivoice
-
-          [todo]
-          voice defragmentation/concatenation could make this
-          lost blonder
-       */
-
-       bool start_of_track_bo = true;
-
-       /// ugh, avoid status track 0 full of rests...
-       while ( number_i_ && ( now_mom < end_mom() ) ) {
-               int begin_bar_i = check_begin_bar_i( now_mom, bar_i );
-               if ( begin_bar_i )
-                       output_mudela_begin_bar( lily_stream_r, now_mom, begin_bar_i );
-               add_begin_at( open_voices, now_mom );
-
-               Moment begin_mom = next_begin_mom( now_mom ); 
-
-               if ( begin_bar_i )
-                       tor( NORMAL_ver ) << begin_bar_i << flush; 
-
-               Moment end_mom = next_end_mom( now_mom ); 
-               Moment then_mom = 0.0;
-               if ( ( begin_mom > now_mom ) && ( begin_mom < end_mom ) )
-                       then_mom = begin_mom;
-               else 
-                       then_mom = end_mom;
-
-               tor( DEBUG_ver ) << "begin: " << begin_mom << " end: " << end_mom << endl;
-               tor( DEBUG_ver ) << "slice: " << now_mom << ", " << then_mom << endl;
-
-               now_f = now_mom;
-               begin_f = begin_mom;
-               end_f = end_mom;
-               then_f = then_mom;
-               
-// ugh, rests
-// checking for no open voice does not work for initial rests.
-// for some reason the voice is open, but does not procuce notes?
-               if ( open_voices.size() > 1 )
-                       lily_stream_r << "< ";
-               if ( start_of_track_bo ) {
-                       start_of_track_bo = false;
-                       String str;
-#ifdef MVOICE_LIST
-                       for ( PCursor<Midi_voice*> i( open_voices.top() ); i.ok(); i++ )
-                               lily_stream_r << i->mudela_str( now_mom, then_mom, open_voices.size() - 1 );
-#else
-                       for ( int i = 0; i < open_voices.size(); i++ )
-                               lily_stream_r << open_voices[ i ]->mudela_str( now_mom, then_mom, open_voices.size() - 1 );
-#endif
-                       if ( str.length_i() )
-                               lily_stream_r << str;
-                       else
-                               output_mudela_rest( lily_stream_r, now_mom, then_mom );
-               }
-               else {
-#ifdef MVOICE_LIST
-                       for ( PCursor<Midi_voice*> i( open_voices.top() ); i.ok(); i++ )
-                               lily_stream_r << i->mudela_str( now_mom, then_mom, open_voices.size() - 1 );
-#else
-                       for ( int i = 0; i < open_voices.size(); i++ )
-                               lily_stream_r << open_voices[ i ]->mudela_str( now_mom, then_mom, open_voices.size() - 1 );
-#endif
-                       if ( !open_voices.size() )
-                               output_mudela_rest( lily_stream_r, now_mom, then_mom );
-               }
-//             *lily_stream_r.os_p_ << flush;
-                       
-               if ( open_voices.size() > 1 )
-                       lily_stream_r << "> ";
-               remove_end_at( open_voices, then_mom );
-
-               bar_i = check_end_bar_i( now_mom, bar_i );
-
-               now_mom = then_mom;
-       }
-//     bar_i++;
-//     tor( NORMAL_ver ) << '[' << bar_i << ']' << flush; 
-
-       lily_stream_r << "} % " << name_str() << "\n";
-}
-
-
-void
-Midi_track::output_mudela_begin_bar( Lily_stream& lily_stream_r, Moment now_mom, int bar_i )
-{
-       Moment bar_mom = midi_time_p_->bar_mom();
-       Moment into_bar_mom = now_mom - Moment( bar_i - 1 ) * bar_mom;
-       if ( bar_i > 1 ) {
-               if ( !into_bar_mom )
-                       lily_stream_r << "|\n";
-       }
-       lily_stream_r << "% " << String_convert::i2dec_str( bar_i, 0, ' ' );
-       if ( into_bar_mom )
-               lily_stream_r << ":" << Duration_convert::dur2_str( Duration_convert::mom2_dur( into_bar_mom ) );
-       lily_stream_r << "\n";
-}
-
-
-void 
-Midi_track::output_mudela_rest( Lily_stream& lily_stream_r, Moment begin_mom, Moment end_mom )
-{
-       Moment bar_mom = midi_time_p_->bar_mom();
-       Moment now_mom = begin_mom;
-
-       int begin_bar_i = (int)( now_mom / bar_mom ) + 1; 
-       int end_bar_i = (int)( end_mom / bar_mom ) + 1;
-
-       if ( end_bar_i == begin_bar_i ) {
-               output_mudela_rest_remain( lily_stream_r, end_mom - begin_mom );
-               return;
-       }
-
-       // multiple bars involved
-       int bar_i = (int)( now_mom / bar_mom ) + 1;
-
-       //fill current bar
-       Moment begin_bar_mom = Moment( begin_bar_i - 1 ) * bar_mom;
-       if ( now_mom > begin_bar_mom ) {
-               int next_bar_i = (int)( now_mom / bar_mom ) + 2; 
-               Moment next_bar_mom = Moment( next_bar_i - 1 ) * bar_mom;
-               assert( next_bar_mom <= end_mom );
-
-               Moment remain_mom = next_bar_mom - now_mom;
-               if ( remain_mom > Moment( 0 ) ) {
-                       output_mudela_rest_remain( lily_stream_r, remain_mom );
-                       now_mom += remain_mom;
-               }
-
-               bar_i = check_end_bar_i( now_mom, bar_i );
-       }
-
-       // fill whole bars
-       int count_i = end_bar_i - bar_i;
-       for ( int i = 0; i < count_i; i++ ) {
-               int begin_bar_i = check_begin_bar_i( now_mom, bar_i );
-               if ( begin_bar_i )
-                       output_mudela_begin_bar( lily_stream_r, now_mom, begin_bar_i );
-               lily_stream_r << "r1 ";
-//             *lily_stream_r.os_p_ << flush;
-               if ( begin_bar_i )
-                       tor( NORMAL_ver ) << begin_bar_i << flush; 
-               bar_i = check_end_bar_i( now_mom, bar_i );
-               now_mom += bar_mom;
-       }
-
-       // use "int i" here, and gcc 2.7.2 hits internal compiler error
-       int ii = check_begin_bar_i( now_mom, bar_i );
-       if ( ii )
-               output_mudela_begin_bar( lily_stream_r, now_mom, ii );
-
-//     bar_i = check_end_bar_i( now_mom, bar_i );
-
-       Moment remain_mom = end_mom - Moment( end_bar_i - 1 ) * bar_mom;
-        if ( remain_mom > Moment( 0 ) ) {
-               output_mudela_rest_remain( lily_stream_r, remain_mom );
-               now_mom += remain_mom;
-       }
-       assert( now_mom == end_mom );
-}
-
-void
-Midi_track::output_mudela_rest_remain( Lily_stream& lily_stream_r, Moment mom )
-{
-       if ( Duration_convert::no_quantify_b_s ) {
-               Duration dur = Duration_convert::mom2_dur( mom );
-               lily_stream_r << "r" << dur.str() << " ";
-//             assert( mom == dur.mom() );
-               assert( mom == dur.length() );
-               return;
-       }
-               
-       Duration dur = Duration_convert::mom2standardised_dur( mom );
-       if ( dur.type_i_ )
-               lily_stream_r << "r" << dur.str() << " ";
-}
-
-
-#ifdef MVOICE_LIST
-void
-Midi_track::remove_end_at( Link_list<Midi_voice*>& open_voices_r, Moment mom )
-{
-       for ( PCursor<Midi_voice*> i( open_voices_r.top() ); i.ok(); i++ )
-               if ( i->end_mom() <= mom ) {
-                       tor( DEBUG_ver ) << "open_voices (" << open_voices_r.size() << "): -1\n";
-                       i.remove_p();
-                       if ( !i.ok() )
-                               break;
-               }
-}
-#else
-void
-Midi_track::remove_end_at( Array<Midi_voice*>& open_voices_r, Moment mom )
-{
-       for ( int i = 0; i < open_voices_r.size(); i++ )
-               if ( midi_voice_p_array_[ i ]->end_mom() <= mom ) {
-                       tor( DEBUG_ver ) << "open_voices (" << open_voices_r.size() << "): -1\n";
-                       open_voices_r[ i ] = 0;
-//                     open_voices_r.del( i-- );
-                       open_voices_r.del( i );
-               }
-}
-#endif
-
-void
-Midi_track::set_tempo( int useconds_per_4_i )
-{
-       delete midi_tempo_p_;
-       midi_tempo_p_ = new Midi_tempo( useconds_per_4_i );
-}
-
-void
-Midi_track::set_time( int num_i, int den_i, int clocks_i, int count_32_i )
-{
-       delete midi_time_p_;
-       midi_time_p_ = new Midi_time( num_i, den_i, clocks_i, count_32_i );
-}
-
-Track_column*
-Midi_track::tcol_l( Moment mom )
-{
-#ifdef TCOL_LIST
-       for ( PCursor<Track_column*> i( tcol_p_list_.top() ); i.ok(); i++ ) {
-               if ( i->mom() > mom ) { //not used, let's use array!
-//                     assert( 0 );
-// 97-07-21; it's used now! cannot use array
-                       Track_column* tcol_p = new Track_column( mom );
-                       i.insert( tcol_p );
-                       return tcol_p;
-               }
-               if ( i->mom() == mom )
-                       return *i;
-       }
-
-       Track_column* tcol_p = new Track_column( mom );
-       tcol_p_list_.bottom().add( tcol_p );
-       return tcol_p;
-#elif 0
-       for ( int i = 0; i < tcol_p_array_.size(); i++ )
-               if ( tcol_p_array_[ i ]->mom() == mom )
-                       return tcol_p_array_[ i ];
-
-       Track_column* tcol_p = new Track_column( mom );
-       tcol_p_array_.push( tcol_p );
-       return tcol_p;
-#else
-       /*
-        as "insert" is never called, the right column will
-        always be found, unless mom > tcol_p_array[ i ]->mom().
-        */
-       int upper_i = max( 0, tcol_p_array_.size() - 1 );
-       int lower_i = 0;
-       int i = upper_i;
-       while ( 1 ) {
-               Moment i_mom = tcol_p_array_[ i ]->mom();
-               if ( i_mom == mom )
-                       return tcol_p_array_[ i ];
-               if ( mom < i_mom )
-                       upper_i = i;
-               else
-                       lower_i = i;
-               if ( ( upper_i == lower_i ) || ( i == tcol_p_array_.size() - 1 ) ) {
-// huh?                        assert ( upper_i == tcol_p_array_.size() );
-                       Track_column* tcol_p = new Track_column( mom );
-                       tcol_p_array_.push( tcol_p );
-                       return tcol_p;
-               }
-               i = ( upper_i + lower_i + 1 ) / 2;
-       }
-       assert( 0 );
-       return 0;
-#endif
-}
-
diff --git a/mi2mu/midi-voice.cc b/mi2mu/midi-voice.cc
deleted file mode 100644 (file)
index 77a6526..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-//
-// midi-voice.cc -- implement midi_voice
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#include "mi2mu.hh"
-
-Midi_voice::Midi_voice( Moment begin_mom )
-{
-       begin_mom_ = begin_mom;
-       end_mom_ = begin_mom;
-       events_i_ = 0;
-}
-
-void
-Midi_voice::add_event( Midi_event* midi_event_p )
-{
-#ifdef MEVENT_LIST
-       midi_event_p_list_.bottom().add( midi_event_p );
-#else
-       midi_event_p_array_.push( midi_event_p );
-#endif
-}
-
-Moment 
-Midi_voice::begin_mom()
-{
-       return begin_mom_;
-}
-
-Moment 
-Midi_voice::end_mom()
-{
-#ifdef MEVENT_LIST
-//     if ( events_i_ == midi_event_p_list_.length_i() )
-       if ( events_i_ == midi_event_p_list_.size() )
-               return end_mom_;
-       Moment now_mom = begin_mom_;
-       tor( DEBUG_ver ) << now_mom << ", ";
-       for ( PCursor<Midi_event*> i( midi_event_p_list_.top() ); i.ok(); i++ ) {
-               tor( DEBUG_ver ) << now_mom << ", ";
-               now_mom += i->mom();
-       }
-       tor( DEBUG_ver ) << endl;
-       end_mom_ = now_mom;
-//     events_i_ = midi_event_p_list_.length_i();
-       events_i_ = midi_event_p_list_.size();
-       return end_mom_;
-#else
-       if ( events_i_ == midi_event_p_array_.size() )
-               return end_mom_;
-       Moment now_mom = begin_mom_;
-       tor( DEBUG_ver ) << now_mom << ", ";
-       for ( int i = 0; i < midi_event_p_array_.size(); i++ ) {
-               tor( DEBUG_ver ) << now_mom << ", ";
-               now_mom += midi_event_p_array_[ i ]->mom();
-       }
-       tor( DEBUG_ver ) << endl;
-       end_mom_ = now_mom;
-       events_i_ = midi_event_p_array_.size();
-       return end_mom_;
-#endif
-}
-
-String 
-Midi_voice::mudela_str( Moment from_mom, Moment to_mom, bool multiple_bo )
-{
-       String str;
-
-//     if ( begin_mom() >= to_mom )
-       if ( begin_mom() > to_mom )
-               return "";
-//     if ( end_mom() <= from_mom )
-       if ( end_mom() < from_mom )
-               return "";
-       
-       Moment now_mom = begin_mom();
-#ifdef MEVENT_LIST
-       PCursor<Midi_event*> i( midi_event_p_list_.top() );
-       for ( ; i.ok() && now_mom < from_mom ; i++ )
-               now_mom += i->mom();
-       
-       for ( ; i.ok() && now_mom < to_mom ; i++ ) {
-               now_mom += i->mom();
-               str += i->mudela_str( false ) + " ";
-       }
-#else
-       int i = 0;
-       for ( ; i < midi_event_p_array_.size() && now_mom < from_mom ; i++ )
-               now_mom += midi_event_p_array_[ i ]->mom();
-       
-       for ( ; i < midi_event_p_array_.size() && now_mom < to_mom ; i++ ) {
-               now_mom += midi_event_p_array_[ i ]->mom();
-               str += midi_event_p_array_[ i ]->mudela_str( false ) + " ";
-       }
-#endif
-       
-       if ( str.length_i() && multiple_bo )
-               str = "{ " + str + "} ";
-       return str;
-}
-
index c1ec9627a466d2782d4b15bb9078875aab3ba3d4..63dfb06d8f42b2991ecf9808006005021f9103ba 100644 (file)
@@ -3,7 +3,11 @@
 //
 // copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
 
-#include "mi2mu.hh"
+#include "string-convert.hh"
+#include "mi2mu-global.hh"
+#include "my-midi-lexer.hh"
+#include "source.hh"
+#include "source-file.hh"
 
 int
 yylex() 
@@ -13,10 +17,12 @@ yylex()
 
 My_midi_lexer* midi_lexer_l_g = 0;
 
-My_midi_lexer::My_midi_lexer( String &filename_str, Sources * sources )
+My_midi_lexer::My_midi_lexer (String &filename_str, Sources * sources)
 {
-    source_file_l_ =sources->get_file_l(filename_str);
-    switch_streams( source_file_l_->istream_l() ,0 );
+    source_file_l_ = sources->get_file_l(filename_str);
+    if  (!source_file_l_)
+       ::error  ("can't find: `" + filename_str + "'");
+    switch_streams (source_file_l_->istream_l(), 0);
     errorlevel_i_ = 0;
     char_count_ = 0;
     running_status_i_ = 0;
@@ -28,23 +34,23 @@ My_midi_lexer::~My_midi_lexer()
 }
 
 void
-My_midi_lexer::error( char const* sz_l )
+My_midi_lexer::error (char const* sz_l)
 {
-    if (1|| !source_file_l_ ) {
-       cerr << "error at EOF" << sz_l << '\n';
+    if (1|| !source_file_l_) {
+       cerr << "error at EOF: `" << sz_l << "'\n";
     } else {
        
        // FIXME
        #if 0
        char const* ch_C = here_ch_C();
-       if ( ch_C ) {
+       if  (ch_C) {
            ch_C--;
-           while ( ( *ch_C == ' ' ) || ( *ch_C == '\t' ) || ( *ch_C == '\n' ) )
+           while  ( (*ch_C == ' ') ||  (*ch_C == '\t') ||  (*ch_C == '\n'))
                ch_C--;
            ch_C++;
        }
        errorlevel_i_ |= 1;
-       errorsz_l);
+       error (sz_l);
        #endif
     }
 }
@@ -56,19 +62,19 @@ My_midi_lexer::here_ch_C()
 }
 
 int
-My_midi_lexer::varint2_i( String str )
+My_midi_lexer::varint2_i (String str)
 {
     int var_i = 0;
 
-    for ( int i = 0; i < str.length_i(); i++ ) {
+    for  (int i = 0; i < str.length_i(); i++) {
        Byte byte = str[ i ];
        var_i <<= 7;
        var_i += byte & 0x7f;
-       if ( ! ( byte & 0x80 ) )
+       if  (!  (byte & 0x80))
            return var_i;
     }
-    cout << "\nvarint2_i:" << String_convert::bin2hex_str( str ) << endl;
-    assert( 0 ); // illegal varint
+    cout << "\nvarint2_i:" << String_convert::bin2hex_str (str) << endl;
+    assert (0); // illegal varint
     return 0;
 }
 
index 7c86998486b5706902820bb5afb359db24519ee8..d0ecf943ace9b5b110ac617d89becb6c9afed307 100644 (file)
 //
 // copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
 
-#include "mi2mu.hh"
+#include "string-convert.hh"
+#include "duration-convert.hh"
+#include "mi2mu-global.hh"
+#include "my-midi-lexer.hh"
+#include "my-midi-parser.hh"
+#include "mudela-column.hh"
+#include "mudela-item.hh"
+#include "mudela-score.hh"
+#include "mudela-staff.hh"
 
 void
-yyerror(char const* sz_l )
+yyerror(char const* sz_l)
 {
-       midi_parser_l_g->error( sz_l );
+    midi_parser_l_g->error (sz_l);
 }
 
 
 My_midi_parser* midi_parser_l_g = 0;
 
-My_midi_parser::My_midi_parser( String filename_str, Sources *sources_l )
+My_midi_parser::My_midi_parser (String filename_str, Sources *sources_l)
 {
-       filename_str_ = filename_str;
-       midi_lexer_p_ = new My_midi_lexer( filename_str_,sources_l );
-       midi_lexer_l_g = midi_lexer_p_; // ugh
+    filename_str_ = filename_str;
+    midi_lexer_p_ = new My_midi_lexer (filename_str_,sources_l);
+    midi_lexer_l_g = midi_lexer_p_;    // ugh
 
-       defined_ch_C_ = 0;
-       fatal_error_i_ = 0;
-       midi_key_p_ = 0;
-       midi_score_p_ = 0;
-       midi_tempo_p_ = 0;
-       midi_time_p_ = 0;
-       track_i_ = 0;
-       bar_i_ = 1;
-       reset();
+    bar_i_ = 1;
+
+    defined_ch_C_ = 0;
+    fatal_error_i_ = 0;
+    
+    mudela_column_l_ = 0;
+    mudela_score_p_ = new Mudela_score (1, 1, 1);
+
+
+    // ugh, belong to Mudela_{score,staff}
+    track_i_ = 0;
+    mudela_staff_l_ = 0;
+    mudela_key_p_ = 0;
+    mudela_tempo_p_ = 0;
+    mudela_meter_p_ = 0;
+
+    reset();
 }
 
 My_midi_parser::~My_midi_parser()
 {
-    midi_lexer_l_g = 0;        // ugh
+    midi_lexer_l_g = 0;    // ugh
 
-       delete midi_lexer_p_;
-       delete midi_key_p_;
-       delete midi_tempo_p_;
-       delete midi_time_p_;
-       delete midi_score_p_;
+    delete midi_lexer_p_;
+    delete mudela_key_p_;
+    delete mudela_tempo_p_;
+    delete mudela_meter_p_;
+    delete mudela_score_p_;
 }
 
 void
 My_midi_parser::reset()
 {
-       delete midi_key_p_;
-       midi_key_p_ = new Midi_key( 0, 0 );
-       // useconds per 4: 250000 === 60 4 per minute
-       delete midi_tempo_p_;
-       midi_tempo_p_ = new Midi_tempo( 1000000 );
-       delete midi_time_p_;
-       midi_time_p_ = new Midi_time( 4, 2, 24, 8 );
-       now_i64_ = 0;
-       bar_i_ = 1;
+//    open_mudela_note_l_list_.clear();
+    open_mudela_note_l_list_.junk_links();
+
+    // ugh
+    delete mudela_key_p_;
+    mudela_key_p_ = new Mudela_key (0, 0);
+    // useconds per 4: 250000 === 60 4 per minute
+    delete mudela_tempo_p_;
+    mudela_tempo_p_ = new Mudela_tempo (1000000);
+    delete mudela_meter_p_;
+    mudela_meter_p_ = new Mudela_meter (4, 2, 24, 8);
 
-       copyright_str_ = "";
-       track_name_str_ = "";
-       instrument_str_ = "";
+    bar_i_ = 1;
+    mudela_column_l_ = mudela_score_p_->mudela_column_l (0);
 
-       for ( int i = 0; i < CHANNELS_i; i++ )
-               for ( int j = 0; j < PITCHES_i; j++ )
-//                     running_i64_i64_a_[ i ][ j ] = -1;
-                       running_i64_i64_a_[ i ][ j ] = 0;
+    // ugh
+    copyright_str_ = "";
+    track_name_str_ = "";
+    instrument_str_ = "";
 }
 
 void
-My_midi_parser::add_score( Midi_score* midi_score_p )
+My_midi_parser::add_score (Mudela_score* mudela_score_p)
 {
-       assert( !midi_score_p_ );
-       midi_score_p_ = midi_score_p;
-       track_i_ = 0;
-       bar_i_ = 1;
+    assert (mudela_score_p_);
+
+#if 0 // ugh, already constructed
+    mudela_score_p_ = mudela_score_p;
+    if  (!mudela_column_l_)
+       mudela_column_l_ = mudela_score_p_->mudela_column_l (0);
+#endif
+       
+    mudela_score_p_->mudela_key_l_ = mudela_key_p_;
+    mudela_score_p_->mudela_meter_l_ = mudela_meter_p_;
+    mudela_score_p_->mudela_tempo_l_ = mudela_tempo_p_;
+    bar_i_ = 1;
 }
 
 void
-My_midi_parser::error( char const* sz_l )
+My_midi_parser::error (char const* sz_l)
 {
-       midi_lexer_l_g->error( sz_l );
+    midi_lexer_l_g->error (sz_l);
 
-       if ( fatal_error_i_ )
-               exit( fatal_error_i_ );
+    if  (fatal_error_i_)
+       exit (fatal_error_i_);
 }
 
 void
-My_midi_parser::forward( int i )
+My_midi_parser::forward (int i)
 {
-       if ( Duration_convert::no_quantify_b_s ) {
-               now_i64_ += i;
-               return;
-       }
-       while ( i > Duration::division_1_i_s ) {
-               now_i64_ += Duration::division_1_i_s;
-               i -= Duration::division_1_i_s;
-       }
-       Duration dur = Duration_convert::ticks2standardised_dur( i );
-       now_i64_ += Duration_convert::dur2ticks_i( dur );
+    if  (!i)
+       return;
+
+    Duration dur;
+    dur.type_i_ = (0);
+    dur.set_ticks (i);
+    Moment mom = at_mom() + Duration_convert::dur2_mom (dur);
+
+    mudela_column_l_ = mudela_score_p_->mudela_column_l (mom);
+
+    if  (i) {
+       int bars_i = (int) (mom / mudela_meter_p_->bar_mom());
+       if  (bars_i > bar_i_)
+           LOGOUT(NORMAL_ver) << '[' << bar_i_ << ']' << flush; 
+       bar_i_ = bars_i;
+    }
 }
 
 Moment
-My_midi_parser::mom()
+My_midi_parser::at_mom()
 {
-       return Moment( now_i64_, Duration::division_1_i_s );
+    assert (mudela_column_l_);
+//    return mudela_column_l_ ? mudela_column_l_->at_mom() : 0;
+    return mudela_column_l_->at_mom();
 }
 
 void
-My_midi_parser::note_begin( int channel_i, int pitch_i, int dyn_i )
-{
-       // one pitch a channel at time!
-       // heu, what about { < c2 >  < c4 d4 > }
-//     assert( running_i64_i64_a_[ channel_i ][ pitch_i ]  == -1 );
-       running_i64_i64_a_[ channel_i ][ pitch_i ] = now_i64_;
-}
-
-Midi_event*
-My_midi_parser::note_end_midi_event_p( int channel_i, int pitch_i, int dyn_i )
-{
-       I64 start_i64 = running_i64_i64_a_[ channel_i ][ pitch_i ];
-
-//     running_i64_i64_a_[ channel_i ][ pitch_i ] = -1;
-//     assert( start_i64 != -1 ); // did we start?
-
-       Duration dur;
-       dur.type_i_ = 0;
-       if ( Duration_convert::no_quantify_b_s )
-               dur = Duration_convert::ticks2_dur( (I64)now_i64_ - start_i64 );
-       else {
-               dur = Duration_convert::ticks2standardised_dur( (I64)now_i64_ - start_i64 );
-               // checking myself iso using tor saves some time
-               if ( level_ver >= VERBOSE_ver ) { 
-                       Moment mom( (I64)now_i64_ - start_i64, Duration::division_1_i_s );
-                       if ( dur.length() != mom )
-                               warning( String( "duration not exact: " ) + String( (Real)mom ) );
-               }
+My_midi_parser::note_begin (int channel_i, int pitch_i, int dyn_i)
+{
+    // junk dynamics
+    (void)dyn_i;
+
+    Mudela_note* p = new Mudela_note (mudela_column_l_, channel_i, pitch_i, dyn_i);
+//  ugh, score doesn't know about last staff yet...
+//    mudela_score_p_->add_item (p);
+    mudela_staff_l_->add_item (p);
+    open_mudela_note_l_list_.bottom().add (p);
+}
+
+void
+My_midi_parser::note_end (int channel_i, int pitch_i, int aftertouch_i)
+{
+    // junk dynamics
+    (void)aftertouch_i;
+
+    // find 
+    for  (PCursor<Mudela_note*> i (open_mudela_note_l_list_); i.ok(); i++) {
+       if  ( (i->pitch_i_ == pitch_i) &&  (i->channel_i_ == channel_i)) {
+           i->end_column_l_ = mudela_column_l_;
+           LOGOUT(DEBUG_ver) << "Note: " << pitch_i;
+           LOGOUT(DEBUG_ver) << "; " << i->mudela_column_l_->at_mom_;
+           LOGOUT(DEBUG_ver) << ", " << i->end_column_l_->at_mom_ << "\n";
+           i.remove_p();
+           return;
        }
-       return new Midi_note( midi_key_p_->notename_str( pitch_i ), dur );
+    }
+    warning (String ("junking note-end event: ")
+       + " channel = " + String_convert::i2dec_str (channel_i, 0, ' ')
+       + ", pitch = " + String_convert::i2dec_str (pitch_i, 0, ' '));
 }
 
-int
-My_midi_parser::output_mudela( String filename_str )
+void
+My_midi_parser::note_end_all()
 {
-       assert( midi_score_p_ );
-       tor( NORMAL_ver ) << "\nProcessing..." << endl;
-       midi_score_p_->process();
-       return midi_score_p_->output_mudela( filename_str );
+    // find 
+    for  (PCursor<Mudela_note*> i (open_mudela_note_l_list_); i.ok(); i++) {
+       i->end_column_l_ = mudela_column_l_;
+       i.remove_p();
+       // ugh
+       if  (!i.ok())
+           break;
+    }
 }
 
 int
 My_midi_parser::parse()
 {
-       tor( NORMAL_ver ) << "\nParsing..." << flush;
-       return ::yyparse();
+    LOGOUT(NORMAL_ver) << "\nParsing..." << flush;
+    int i = ::yyparse();
+    if  (!i)
+       note_end_all();
+    return i;
 }
 
 void
-My_midi_parser::set_division_4( int division_4_i )
+My_midi_parser::set_division_4 (int division_4_i)
 {
-       division_1_i_ = division_4_i * 4;
-       Duration::division_1_i_s = division_1_i_;
-       if ( division_4_i < 0 )
-               warning( "seconds iso metrical time" );
+    division_1_i_ = division_4_i * 4;
+    // ugh
+    Duration::division_1_i_s = division_1_i_;
+    if  (division_4_i < 0)
+       warning ("seconds iso metrical time");
 }
 
 void
-My_midi_parser::set_key( int accidentals_i, int minor_i )
+My_midi_parser::set_key (int accidentals_i, int minor_i)
 {
-       delete midi_key_p_;
-       midi_key_p_ = new Midi_key( accidentals_i, minor_i );
+    delete mudela_key_p_;
+    mudela_key_p_ = new Mudela_key (accidentals_i, minor_i);
 }
 
 void
-My_midi_parser::set_tempo( int useconds_per_4_i )
+My_midi_parser::set_meter (int num_i, int den_i, int clocks_i, int count_32_i)
 {
-       delete midi_tempo_p_;
-       midi_tempo_p_ = new Midi_tempo( useconds_per_4_i );
+    delete mudela_meter_p_;
+    mudela_meter_p_ = new Mudela_meter (num_i, den_i, clocks_i, count_32_i);
 }
 
 void
-My_midi_parser::set_time( int num_i, int den_i, int clocks_i, int count_32_i )
+My_midi_parser::set_tempo (int useconds_per_4_i)
 {
-       delete midi_time_p_;
-       midi_time_p_ = new Midi_time( num_i, den_i, clocks_i, count_32_i );
+    delete mudela_tempo_p_;
+    mudela_tempo_p_ = new Mudela_tempo (useconds_per_4_i);
 }
 
index e0b9a925135684da2e701a9f357f1773898a0357..7de70076c35e764b4d5874332df6a89cc67e921b 100644 (file)
@@ -8,28 +8,19 @@
 #include "list.tcc"
 #include "cursor.tcc"
 
-L_instantiate(void *);
-
 class istream;
 class ostream;
 
-#include "mi2mu.hh"
+#include "mudela-item.hh"
+#include "mudela-column.hh"
+#include "mudela-staff.hh"
+#include "mudela-voice.hh"
 #include "plist.hh"
 #include "plist.tcc"
 
-#ifdef MEVENT_LIST
-IPL_instantiate(Midi_event);
-#endif
-
-IPL_instantiate(Midi_track);
-
-#ifdef MVOICE_LIST
-PL_instantiate(Midi_voice);
-#endif
-
-IPL_instantiate(Midi_voice);
-
-#ifdef TCOL_LIST
-IPL_instantiate(Track_column);
-#endif
+template IPL_INSTANTIATE(Mudela_item);
+template IPL_INSTANTIATE(Mudela_staff);
+template PL_INSTANTIATE(Mudela_voice);
+template IPL_INSTANTIATE(Mudela_voice);
+template IPL_INSTANTIATE(Mudela_column);
 
diff --git a/mi2mu/track-column.cc b/mi2mu/track-column.cc
deleted file mode 100644 (file)
index a7faedf..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-// track-column.cc -- implement Track_column
-//
-// copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
-
-#include "mi2mu.hh"
-
-Track_column::Track_column( Moment mom )
-{
-       mom_ = mom;
-}
-
-void 
-Track_column::add_event( Midi_event* midi_event_p )
-{
-#ifdef MEVENT_LIST
-       midi_event_p_list_.bottom().add( midi_event_p );
-#else
-       midi_event_p_array_.push( midi_event_p );
-#endif
-}
-
-Moment
-Track_column::mom()
-{
-       return mom_;
-}
index 03b78e14eb1f87ad91ac3d5ab79b3143e44fe8a4..1c630664d85b8d7c2ba772c3110bbc48ed86d69e 100644 (file)
@@ -1,4 +1,5 @@
-#include "mi2mu.hh"
+#include "proto.hh"
+#include "string.hh"
 
 const char * mi2mu_version_sz();
 
@@ -6,8 +7,8 @@ const char * mi2mu_version_sz();
 String
 mi2mu_version_str()
 {
-       return  String( mi2mu_version_sz())
-           + "/" + flower_version_sz()
-               + " of " +  __DATE__ + " " + __TIME__;
+    return  String (mi2mu_version_sz())
+       + "/" + flower_version_sz()
+       + " of " +  __DATE__ + " " + __TIME__;
 }