From 4df573d7305b3c7c6aa25194ef3fe3288de672ee Mon Sep 17 00:00:00 2001 From: Jocelyn Fiat Date: Wed, 19 Jun 2024 15:01:51 +0200 Subject: [PATCH] added jj_temporal source code --- jj_temporal | 1 - jj_temporal/README.md | 7 + jj_temporal/classes/abstract_duration.e | 229 ++++++ jj_temporal/classes/abstract_interval.e | 387 ++++++++++ jj_temporal/classes/abstract_time.e | 273 +++++++ jj_temporal/classes/c_date.e | 255 +++++++ jj_temporal/classes/hms_constants.e | 34 + jj_temporal/classes/hms_duration.e | 281 ++++++++ jj_temporal/classes/hms_interval.e | 68 ++ jj_temporal/classes/hms_time.e | 551 ++++++++++++++ jj_temporal/classes/hms_timer.e | 74 ++ jj_temporal/classes/time_stampable.e | 60 ++ jj_temporal/classes/timer.e | 122 ++++ jj_temporal/classes/ymd_constants.e | 48 ++ jj_temporal/classes/ymd_duration.e | 325 +++++++++ jj_temporal/classes/ymd_interval.e | 67 ++ jj_temporal/classes/ymd_time.e | 671 ++++++++++++++++++ jj_temporal/classes/ymd_timer.e | 73 ++ jj_temporal/classes/ymdhms_duration.e | 268 +++++++ .../classes/ymdhms_duration_constants.e | 66 ++ jj_temporal/classes/ymdhms_interval.e | 60 ++ jj_temporal/classes/ymdhms_time.e | 391 ++++++++++ jj_temporal/classes/ymdhms_timer.e | 77 ++ jj_temporal/demo/jj_temporal_demo.e | 88 +++ jj_temporal/demo/jj_temporal_demo.ecf | 23 + jj_temporal/docs/Forum.txt | 18 + jj_temporal/docs/main_classes.png | Bin 0 -> 118416 bytes .../formatters/hms_duration_formatter.e | 192 +++++ jj_temporal/formatters/hms_time_formatter.e | 245 +++++++ .../formatters/ymd_duration_formatter.e | 192 +++++ .../formatters/ymd_time_format_constants.e | 133 ++++ jj_temporal/formatters/ymd_time_formatter.e | 397 +++++++++++ .../formatters/ymdhms_duration_formatter.e | 68 ++ .../formatters/ymdhms_time_formatter.e | 126 ++++ jj_temporal/jj_t/README.md | 7 + jj_temporal/jj_t/classes/abstract_duration.e | 229 ++++++ jj_temporal/jj_t/classes/abstract_interval.e | 387 ++++++++++ jj_temporal/jj_t/classes/abstract_time.e | 273 +++++++ jj_temporal/jj_t/classes/c_date.e | 255 +++++++ jj_temporal/jj_t/classes/hms_constants.e | 34 + jj_temporal/jj_t/classes/hms_duration.e | 281 ++++++++ jj_temporal/jj_t/classes/hms_interval.e | 68 ++ jj_temporal/jj_t/classes/hms_time.e | 551 ++++++++++++++ jj_temporal/jj_t/classes/hms_timer.e | 74 ++ jj_temporal/jj_t/classes/time_stampable.e | 60 ++ jj_temporal/jj_t/classes/timer.e | 122 ++++ jj_temporal/jj_t/classes/ymd_constants.e | 48 ++ jj_temporal/jj_t/classes/ymd_duration.e | 325 +++++++++ jj_temporal/jj_t/classes/ymd_interval.e | 67 ++ jj_temporal/jj_t/classes/ymd_time.e | 671 ++++++++++++++++++ jj_temporal/jj_t/classes/ymd_timer.e | 73 ++ jj_temporal/jj_t/classes/ymdhms_duration.e | 268 +++++++ .../jj_t/classes/ymdhms_duration_constants.e | 66 ++ jj_temporal/jj_t/classes/ymdhms_interval.e | 60 ++ jj_temporal/jj_t/classes/ymdhms_time.e | 391 ++++++++++ jj_temporal/jj_t/classes/ymdhms_timer.e | 77 ++ jj_temporal/jj_t/demo/jj_temporal_demo.e | 88 +++ jj_temporal/jj_t/demo/jj_temporal_demo.ecf | 23 + jj_temporal/jj_t/docs/Forum.txt | 18 + jj_temporal/jj_t/docs/main_classes.png | Bin 0 -> 118416 bytes .../jj_t/formatters/hms_duration_formatter.e | 192 +++++ .../jj_t/formatters/hms_time_formatter.e | 245 +++++++ .../jj_t/formatters/ymd_duration_formatter.e | 192 +++++ .../formatters/ymd_time_format_constants.e | 133 ++++ .../jj_t/formatters/ymd_time_formatter.e | 397 +++++++++++ .../formatters/ymdhms_duration_formatter.e | 68 ++ .../jj_t/formatters/ymdhms_time_formatter.e | 126 ++++ jj_temporal/jj_t/jj_temporal.ecf | 25 + .../jj_t/parsers/classes/ymd_time_parser.e | 10 + .../classes/ymd_time_parser_routines.e | 130 ++++ .../classes/ymd_time_scanner_routines.e | 69 ++ .../jj_t/parsers/classes/ymd_time_tokens.e | 49 ++ jj_temporal/jj_t/parsers/gobo_files/gelex.exe | Bin 0 -> 253952 bytes .../jj_t/parsers/gobo_files/geyacc.exe | Bin 0 -> 339968 bytes .../jj_t/parsers/gobo_files/old_gelex.exe | Bin 0 -> 233472 bytes .../jj_t/parsers/gobo_files/old_geyacc.exe | Bin 0 -> 270336 bytes jj_temporal/jj_t/parsers/gobo_files/y.bat | 7 + .../jj_t/parsers/gobo_files/ymd_time_parser.y | 191 +++++ .../parsers/gobo_files/ymd_time_scanner.l | 149 ++++ jj_temporal/jj_temporal.ecf | 25 + jj_temporal/parsers/classes/ymd_time_parser.e | 10 + .../classes/ymd_time_parser_routines.e | 130 ++++ .../classes/ymd_time_scanner_routines.e | 69 ++ jj_temporal/parsers/classes/ymd_time_tokens.e | 49 ++ jj_temporal/parsers/gobo_files/gelex.exe | Bin 0 -> 253952 bytes jj_temporal/parsers/gobo_files/geyacc.exe | Bin 0 -> 339968 bytes jj_temporal/parsers/gobo_files/old_gelex.exe | Bin 0 -> 233472 bytes jj_temporal/parsers/gobo_files/old_geyacc.exe | Bin 0 -> 270336 bytes jj_temporal/parsers/gobo_files/y.bat | 7 + .../parsers/gobo_files/ymd_time_parser.y | 191 +++++ .../parsers/gobo_files/ymd_time_scanner.l | 149 ++++ setup.bat | 1 + setup.rc | 1 + 93 files changed, 13000 insertions(+), 1 deletion(-) delete mode 160000 jj_temporal create mode 100644 jj_temporal/README.md create mode 100644 jj_temporal/classes/abstract_duration.e create mode 100644 jj_temporal/classes/abstract_interval.e create mode 100644 jj_temporal/classes/abstract_time.e create mode 100644 jj_temporal/classes/c_date.e create mode 100644 jj_temporal/classes/hms_constants.e create mode 100644 jj_temporal/classes/hms_duration.e create mode 100644 jj_temporal/classes/hms_interval.e create mode 100644 jj_temporal/classes/hms_time.e create mode 100644 jj_temporal/classes/hms_timer.e create mode 100644 jj_temporal/classes/time_stampable.e create mode 100644 jj_temporal/classes/timer.e create mode 100644 jj_temporal/classes/ymd_constants.e create mode 100644 jj_temporal/classes/ymd_duration.e create mode 100644 jj_temporal/classes/ymd_interval.e create mode 100644 jj_temporal/classes/ymd_time.e create mode 100644 jj_temporal/classes/ymd_timer.e create mode 100644 jj_temporal/classes/ymdhms_duration.e create mode 100644 jj_temporal/classes/ymdhms_duration_constants.e create mode 100644 jj_temporal/classes/ymdhms_interval.e create mode 100644 jj_temporal/classes/ymdhms_time.e create mode 100644 jj_temporal/classes/ymdhms_timer.e create mode 100644 jj_temporal/demo/jj_temporal_demo.e create mode 100644 jj_temporal/demo/jj_temporal_demo.ecf create mode 100644 jj_temporal/docs/Forum.txt create mode 100644 jj_temporal/docs/main_classes.png create mode 100644 jj_temporal/formatters/hms_duration_formatter.e create mode 100644 jj_temporal/formatters/hms_time_formatter.e create mode 100644 jj_temporal/formatters/ymd_duration_formatter.e create mode 100644 jj_temporal/formatters/ymd_time_format_constants.e create mode 100644 jj_temporal/formatters/ymd_time_formatter.e create mode 100644 jj_temporal/formatters/ymdhms_duration_formatter.e create mode 100644 jj_temporal/formatters/ymdhms_time_formatter.e create mode 100644 jj_temporal/jj_t/README.md create mode 100644 jj_temporal/jj_t/classes/abstract_duration.e create mode 100644 jj_temporal/jj_t/classes/abstract_interval.e create mode 100644 jj_temporal/jj_t/classes/abstract_time.e create mode 100644 jj_temporal/jj_t/classes/c_date.e create mode 100644 jj_temporal/jj_t/classes/hms_constants.e create mode 100644 jj_temporal/jj_t/classes/hms_duration.e create mode 100644 jj_temporal/jj_t/classes/hms_interval.e create mode 100644 jj_temporal/jj_t/classes/hms_time.e create mode 100644 jj_temporal/jj_t/classes/hms_timer.e create mode 100644 jj_temporal/jj_t/classes/time_stampable.e create mode 100644 jj_temporal/jj_t/classes/timer.e create mode 100644 jj_temporal/jj_t/classes/ymd_constants.e create mode 100644 jj_temporal/jj_t/classes/ymd_duration.e create mode 100644 jj_temporal/jj_t/classes/ymd_interval.e create mode 100644 jj_temporal/jj_t/classes/ymd_time.e create mode 100644 jj_temporal/jj_t/classes/ymd_timer.e create mode 100644 jj_temporal/jj_t/classes/ymdhms_duration.e create mode 100644 jj_temporal/jj_t/classes/ymdhms_duration_constants.e create mode 100644 jj_temporal/jj_t/classes/ymdhms_interval.e create mode 100644 jj_temporal/jj_t/classes/ymdhms_time.e create mode 100644 jj_temporal/jj_t/classes/ymdhms_timer.e create mode 100644 jj_temporal/jj_t/demo/jj_temporal_demo.e create mode 100644 jj_temporal/jj_t/demo/jj_temporal_demo.ecf create mode 100644 jj_temporal/jj_t/docs/Forum.txt create mode 100644 jj_temporal/jj_t/docs/main_classes.png create mode 100644 jj_temporal/jj_t/formatters/hms_duration_formatter.e create mode 100644 jj_temporal/jj_t/formatters/hms_time_formatter.e create mode 100644 jj_temporal/jj_t/formatters/ymd_duration_formatter.e create mode 100644 jj_temporal/jj_t/formatters/ymd_time_format_constants.e create mode 100644 jj_temporal/jj_t/formatters/ymd_time_formatter.e create mode 100644 jj_temporal/jj_t/formatters/ymdhms_duration_formatter.e create mode 100644 jj_temporal/jj_t/formatters/ymdhms_time_formatter.e create mode 100644 jj_temporal/jj_t/jj_temporal.ecf create mode 100644 jj_temporal/jj_t/parsers/classes/ymd_time_parser.e create mode 100644 jj_temporal/jj_t/parsers/classes/ymd_time_parser_routines.e create mode 100644 jj_temporal/jj_t/parsers/classes/ymd_time_scanner_routines.e create mode 100644 jj_temporal/jj_t/parsers/classes/ymd_time_tokens.e create mode 100644 jj_temporal/jj_t/parsers/gobo_files/gelex.exe create mode 100644 jj_temporal/jj_t/parsers/gobo_files/geyacc.exe create mode 100644 jj_temporal/jj_t/parsers/gobo_files/old_gelex.exe create mode 100644 jj_temporal/jj_t/parsers/gobo_files/old_geyacc.exe create mode 100644 jj_temporal/jj_t/parsers/gobo_files/y.bat create mode 100644 jj_temporal/jj_t/parsers/gobo_files/ymd_time_parser.y create mode 100644 jj_temporal/jj_t/parsers/gobo_files/ymd_time_scanner.l create mode 100644 jj_temporal/jj_temporal.ecf create mode 100644 jj_temporal/parsers/classes/ymd_time_parser.e create mode 100644 jj_temporal/parsers/classes/ymd_time_parser_routines.e create mode 100644 jj_temporal/parsers/classes/ymd_time_scanner_routines.e create mode 100644 jj_temporal/parsers/classes/ymd_time_tokens.e create mode 100644 jj_temporal/parsers/gobo_files/gelex.exe create mode 100644 jj_temporal/parsers/gobo_files/geyacc.exe create mode 100644 jj_temporal/parsers/gobo_files/old_gelex.exe create mode 100644 jj_temporal/parsers/gobo_files/old_geyacc.exe create mode 100644 jj_temporal/parsers/gobo_files/y.bat create mode 100644 jj_temporal/parsers/gobo_files/ymd_time_parser.y create mode 100644 jj_temporal/parsers/gobo_files/ymd_time_scanner.l create mode 100644 setup.bat create mode 100644 setup.rc diff --git a/jj_temporal b/jj_temporal deleted file mode 160000 index 8b8f6b7..0000000 --- a/jj_temporal +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8b8f6b7b3b39f254293920f4e5f0fb1ab5c1926b diff --git a/jj_temporal/README.md b/jj_temporal/README.md new file mode 100644 index 0000000..d69b0e4 --- /dev/null +++ b/jj_temporal/README.md @@ -0,0 +1,7 @@ +# jj_temporal +Eiffel date and time classes + +Main classes: ![](docs/main_classes.png?raw=true) + + + diff --git a/jj_temporal/classes/abstract_duration.e b/jj_temporal/classes/abstract_duration.e new file mode 100644 index 0000000..df14a88 --- /dev/null +++ b/jj_temporal/classes/abstract_duration.e @@ -0,0 +1,229 @@ +note + description: "[ + Notion of a duration of time such as 2 hours, or 3 years, etc. + ]" + names: "abstract_duration, duration" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +deferred class + ABSTRACT_DURATION + +inherit + COMPARABLE + +feature -- Access + +feature -- Access + + as_string: STRING + -- The time represented as a string, ideally with not extra characters. + deferred + end + + negative: like Current + -- The negative value of this duration + do + Result := twin + Result.negate + ensure + negative_result: Current > zero implies Result < zero + positive_result: Current < zero implies Result > zero + end + + one: like Current + -- Neutral element for "*" and "/" + deferred + ensure + result_exists: Result /= Void + valid_result: Result.is_one + end + + zero: like Current + -- Neutral element for "+" and "-" + deferred + ensure + result_exists: Result /= Void + good_result: Result.is_zero + end + +feature -- Status Report + + is_zero: BOOLEAN + -- Is this duration of 0 length? + do + Result := equal (Current, zero) + ensure + valid_result: Result implies equal (Current, zero) + end + + is_one: BOOLEAN + -- Is this duration neutral for '*' and '/'? + do + Result := equal (Current, one) + ensure + valid_result: Result implies equal (Current, one) + end + + is_negative: BOOLEAN + -- Is current less than the 'zero' duration? + do + Result := Current < zero + ensure + valid_result: Result implies Current < zero + end + +feature -- Element Change + + set_zero + -- Make the duration have zero length. + deferred + ensure + is_zero: is_zero + end + + + negate + -- Reverses the sign. + deferred + ensure + positive_implication: not is_negative implies old is_negative + negative_implication: is_negative implies not old is_negative + end + + add (other: like Current) + -- Add other other to Current. + require + other_exists: other /= Void + deferred + end + + sub (other: like Current) + -- Subtract other from Current + require + other_exists: other /= Void + deferred + end + + multiply (r: DOUBLE) + -- Multiply by a factor of 'r'. + deferred + end + + divide (r: DOUBLE) + -- Divide by 'r'. + require + not_zero_devisor: r /= 0 + deferred + end + + div (i: INTEGER) + -- Integer division. + require + not_zero_devisor: i /= 0 + deferred + end + + mod (i: INTEGER) + -- Modulo. + require + not_zero_devisor: i /= 0 + deferred + end + + percent_of (other: like Current): DOUBLE + -- What percent of other in length is this one? + -- For example: is current duration at least twice as long as other? + require + other_exists: other /= Void + other_not_zero: not other.is_zero + deferred + end + +feature -- Basic operations + + identity alias "+": like Current + -- Just a clone of Current. Included for symetry. + do + Result := twin + ensure + no_side_effect: equal (Current, old Current) + end + + oposite alias "-": like Current + -- Invert the sign of other. + do + Result := twin + Result.negate + ensure + no_side_effect: equal (Current, old Current) + end + + plus alias "+" (other: like Current): like Current + -- Sum of current and other. + do + Result := twin + Result.add (other) + ensure + no_side_effect: equal (Current, old Current) + end + + minus alias "-" (other: like Current): like Current + -- Difference of Current and other. + do + Result := twin + Result.sub (other) + ensure + no_side_effect: equal (Current, old Current) + end + + product alias "*" (r: DOUBLE): like Current + -- Product of Current and 'r'. + -- Multiply by a factor of 'r'. + do + Result := twin + Result.multiply (r) + ensure + no_side_effect: equal (Current, old Current) + end + + quotient alias "/" (r: DOUBLE): like Current + -- Quotent of Current by 'r'. + require + not_zero_devisor: r /= 0 + do + Result := twin + Result.divide (r) + ensure + no_side_effect: equal (Current, old Current) + end + + integer_quotient alias "//" (i: INTEGER): like Current + -- Integer division of Current by 'i'. + require + not_zero_devisor: i /= 0 + do + Result := twin + Result.div (i) + ensure + no_side_effect: equal (Current, old Current) + end + + integer_remainder alias "\\" (i: INTEGER): like Current + -- Modulo of Current by 'i'. + require + not_zero_devisor: i /= 0 + do + Result := twin + Result.mod (i) + ensure + no_side_effect: equal (Current, old Current) + end + +end + diff --git a/jj_temporal/classes/abstract_interval.e b/jj_temporal/classes/abstract_interval.e new file mode 100644 index 0000000..82c074c --- /dev/null +++ b/jj_temporal/classes/abstract_interval.e @@ -0,0 +1,387 @@ +note + description: "[ + Notion of a span of time consisting of a start-time, a + finish-time and a duration. Positive durations only. + ]" + names: "abstract_interval, time_span, time_interval, span" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +deferred class + ABSTRACT_INTERVAL + +inherit + + COMPARABLE + undefine + default_create + end + +feature -- Access + + start: like time_anchor + -- Beginning moment of the time span and anchor for class. + do + Result := start_imp.twin + ensure + result_exists: Result /= Void + end + + finish: like time_anchor + -- Ending moment of the time span. + do + Result := finish_imp.twin + ensure + result_exists: Result /= Void + end + + duration: like duration_anchor + -- Length of time span. + do + Result := finish.time_between (start) + ensure + result_exists: Result /= Void + end + +feature -- Element Change + + set_start_finish (a_start_time, a_finish_time: like time_anchor) + -- Set the `start' and `finish' times. + require + times_exists: a_start_time /= Void and a_finish_time /= Void + valid_times: a_start_time <= a_finish_time + do + start_imp := a_start_time.twin + finish_imp := a_finish_time.twin + ensure + start_was_set: equal (start, a_start_time) + finish_was_set: equal (finish, a_finish_time) + end + + set_start_duration (a_start_time: like time_anchor; a_duration: like duration_anchor) + -- Set the `start' time and the `duration'. + require + start_time_exists: a_start_time /= Void + duration_exists: a_duration /= Void + positive_duration: not a_duration.is_negative + do + start_imp := a_start_time.twin + finish_imp := a_start_time + a_duration + ensure + start_was_set: equal (start, a_start_time) + duration_was_set: equal (duration, a_duration) + end + + set_duration_finish (a_duration: like duration_anchor; a_finish_time: like time_anchor) + -- Set the `duration' and `finish' time. + require + duration_exists: a_duration /= Void + positive_duration: not a_duration.is_negative + finish_time_exists: a_finish_time /= Void + do + start_imp := a_finish_time - a_duration + finish_imp := a_finish_time.twin + ensure + finish_was_set: equal (finish, a_finish_time) + duration_was_set: equal (duration, a_duration) + end + + move (a_duration: like duration_anchor) + -- Change the `start' and `finish' times by moving the + -- interval by the amount represented by `a_duration'. + require + duration_exists: a_duration /= Void + do + start_imp.add_duration (a_duration) + finish_imp.add_duration (a_duration) + ensure + duration_unchanged: equal (duration, old duration) + end + +feature -- Status Report + + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Does current interval start before other or if they start at the + -- same time, does Current end before the other? + do + if (start < other.start) or else + (start.is_equal (other.start) and then finish < other.finish) then + Result := true + end + ensure then + less_than_definition: Result implies (start < other.start or else + (start.is_equal (other.start) and then finish < other.finish)) + end + + meets (other: like Current): BOOLEAN + -- x.meets(y) |-----x----->| + -- y.is_met_by(x) |-----y----->| + require + other_exists: other /= Void + do + Result := equal (finish, other.start) + ensure + Result implies equal (finish, other.start) + Result implies Current < other + end + + is_met_by (other: like Current): BOOLEAN + -- x.meets(y) |-----x----->| + -- y.is_met_by(x) |-----y----->| + require + other_exists: other /= Void + do + Result := equal (start, other.finish) + ensure + Result implies equal (start, other.finish) + Result implies other < Current + end + + is_before (other: like Current): BOOLEAN + -- x.is_before(y) |-----x----->| + -- y.is_after(x) |-----y----->| + require + other_exists: other /= Void + do + Result := finish < other.start + ensure + Result implies finish.is_before (other) + Result implies Current < other + end + + is_after (other: like Current): BOOLEAN + -- x.is_before(y) |-----x----->| + -- y.is_after(x) |-----y----->| + require + other_exists: other /= Void + do + Result := start > other.finish + ensure + Result implies start.is_after (other) + Result implies other < Current + end + + includes (other: like Current): BOOLEAN + -- x.includes(y) |-----x----->| + -- y.is_included_by(x) |--y-->| + require + other_exists: other /= Void + do + Result := other.start.belongs (Current) and + other.finish.belongs (Current) + ensure + Result implies other.start.belongs (Current); + Result implies other.finish.belongs (Current) + end + + is_included_by (other: like Current): BOOLEAN + -- x.includes(y) |-----x----->| + -- y.is_included_by(x) |--y-->| + require + other_exists: other /= Void + do + Result := start.belongs (other) and finish.belongs (other) + ensure + Result implies start.belongs (other); + Result implies finish.belongs (other); + end + + overlaps (other: like Current): BOOLEAN + -- x.overlaps(y) |-----x----->| + -- y.is_overlapped_by(x) |--y-->| + require + other_exists: other /= Void + do + Result := finish.belongs (other) + ensure + Result implies finish.belongs (other) + end + + is_overlapped_by (other: like Current): BOOLEAN + -- x.overlaps(y) |-----x----->| + -- y.is_overlapped_by(x) |--y-->| + require + other_exists: other /= Void + do + Result := other.finish.belongs (Current) + ensure + Result implies other.finish.belongs (Current) + end + + intersects (other: like Current): BOOLEAN + -- Do the two intervals have a least one time point in common? + require + other_exists: other /= Void + do + Result := meets (other) or is_met_by (other) or else + includes (other) or is_included_by (other) or else + overlaps (other) or is_overlapped_by (other) + ensure + Result implies meets (other) or is_met_by (other) or else + includes (other) or is_included_by (other) or else + overlaps (other) or is_overlapped_by (other) + end + +feature -- Transformation + + unite (other: like Current) + -- Transform into the union between this interval and the other. + -- |-------------x------------->| + -- |-------------y------------->| + -- |------------x.union(y)----------->| + -- Only valid if at least one time point common to both. + require + other_exists: other /= Void + intersecting_intervals: intersects (other) + local + temp_start: like time_anchor + temp_finish: like finish + do + temp_start := start.min (other.start) + temp_finish := finish.max (other.finish) + set_start_finish (temp_start, temp_finish); + ensure + valid_result: equal (start, old start.min(other.start)) and + equal (finish, old finish.max(other.finish)) + end + + intersect (other: like Current) + -- Transform into the intersection of this interval and the other. + -- |-------------x------------->| + -- |-------------y------------->| + -- |--x.intersection(y)-->| + -- Only valid if at least one time point common to both. + require + other_exists: other /= Void + intersecting_intervals: intersects (other) + local + temp_start: like time_anchor + temp_finish: like finish + do + temp_start := start.max (other.start) + temp_finish := finish.min (other.finish) + set_start_finish (temp_start, temp_finish); + ensure + valid_result: equal (start, old start.max(other.start)) and + equal (finish, old finish.min(other.finish)) + end + + split (a_time: like time_anchor): like Current + -- Transform by splitting the interval at 'a_time'. + -- Result is the interval after 'a_time'. + -- | + -- time + -- | + -- V + -- |-----Current----------------->| + -- |---Current--->|----Result---->| + -- Only valid if time is within the interval. + require + time_exists: a_time /= Void + time_in_interval: a_time.belongs (Current) + do + Result := twin + set_start_finish (start, a_time) + Result.set_start_finish (a_time, Result.finish) + ensure + closure: equal (old Current, Result.union (Current)) + meets_result: Current.meets (Result) + end + +feature -- Basic operations + + union (other: like Current): like Current + -- The union between this interval and the other. + -- |-------------x------------->| + -- |-------------y------------->| + -- |------------x.union(y)----------->| + -- Only valid if at least one time point common to both. + require + other_exists: other /= Void + intersecting_intervals: intersects (other) + do + Result := twin + Result.unite (other) + ensure + no_side_effect: equal (Current, old Current) + valid_result: equal (Result.start, start.min(other.start)) and + equal (Result.finish, finish.max(other.finish)) + end + + intersection (other: like Current): like Current + -- The intersection of this interval and the other. + -- |-------------x------------->| + -- |-------------y------------->| + -- |--x.intersection(y)-->| + -- Only valid if at least one time point common to both. + require + other_exists: other /= Void + intersecting_intervals: intersects (other) + do + Result := twin + Result.intersect (other) + ensure + no_side_effect: equal (Current, old Current) + valid_result: equal (Result.start, start.max (other.start)) and + equal (Result.finish, finish.min(other.finish)) + end + + time_at_percent (a_ratio: DOUBLE): like time_anchor + -- Time based on some percentage of this interval. + -- Example 1: if 'a_ratio' is 0.0 then result = 'start'; if + -- 'a_ratio' is 0.5 then resulting time is 1/2 the distance + -- from start to finish; if 'a_ratio' is 2.0 then resulting time + -- is at twice the duration from start to finish. + do + Result := start + (duration * a_ratio) + end + +feature {NONE} -- Implementation + + start_imp: like time_anchor + -- Used internally to prevent changes to `start' which could otherwise + -- be induced by calls to a _TIME. + + finish_imp: like time_anchor + -- Used internally to prevent changes to `finish' which could otherwise + -- be induced by calls to a _TIME. + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: ABSTRACT_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: ABSTRACT_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +invariant + + is_initialized: start_imp /= Void and finish_imp /= Void + start_before_finish: start <= finish + positive_duration: not duration.is_negative + +end diff --git a/jj_temporal/classes/abstract_time.e b/jj_temporal/classes/abstract_time.e new file mode 100644 index 0000000..11899dd --- /dev/null +++ b/jj_temporal/classes/abstract_time.e @@ -0,0 +1,273 @@ +note + description: "[ + Notion of a time, such as <1 Jan 98> or <10:30 P.M.> or , etc. + ]" + names: "abstract_time, time, date" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +deferred class + ABSTRACT_TIME + +inherit + COMPARABLE + +feature -- Access + + as_string: STRING + -- The time represented as a string, ideally with not extra characters. + deferred + end + + as_integer: INTEGER + -- The time as represented by an INTEGER. + require + is_representable: is_representable_as_integer + deferred + end + +feature -- Initialization + + set_now + -- Set current time according to timezone. + deferred + end + + set_now_utc + -- Set the current object to today's date in utc format. + deferred + end + + set_now_utc_fine + -- Set the current object to today's date in utc format. + deferred + end + +feature -- Element change + + from_string (a_string: STRING) + -- Change Current to the time represented by `a_string'. + -- It must be in the format as provided by `as_string'. + require + valid_string_representation: is_valid_string_representation (a_string) + deferred + end + + from_integer (a_integer: INTEGER) + -- Change Current to the time represented by `a_integer'. + require + valid_integer_representation: is_valid_integer_representation (a_integer) + deferred + end + + add_duration (a_duration: like duration_anchor) + -- adds a duration to Current time + require + duration_exists: a_duration /= Void + deferred + end + +feature -- Basic operations + + plus alias "+" (a_duration: like duration_anchor): like Current + -- same as add_duration except returns a new time + require + duration_exists: a_duration /= Void + do + Result := twin + Result.add_duration (a_duration) + ensure + no_side_effect: equal (Current, old Current) + end + + minus alias "-" (a_duration: like duration_anchor): like Current + -- same as adding a negative duration except returns a new time + require + duration_exists: a_duration /= Void + do + Result := twin + Result.add_duration (a_duration.negative) + ensure + no_side_effect: equal (Current, old Current) + end + +feature -- Status report + + is_representable_as_integer: BOOLEAN + -- Can Current be represented as an integer? + deferred + end + +feature -- Querry + + is_before (a_interval: like interval_anchor): BOOLEAN + -- Is this time before the interval? + require + interval_exists: a_interval /= Void + do + Result := Current < a_interval.start + ensure + valid_result: Result implies Current < a_interval.start + end + + is_after (a_interval: like interval_anchor): BOOLEAN + -- Is this time after the interval? + require + interval_exists: a_interval /= Void + do + Result := Current > a_interval.finish + ensure + valid_result: Result implies Current > a_interval.finish + end + + belongs (a_interval: like interval_anchor): BOOLEAN + -- Does this time fall somewhere during the interval? + require + interval_exists: a_interval /= Void + do + Result := Current >= a_interval.start and Current <= a_interval.finish + ensure + valid_result: Result implies Current >= a_interval.start and Current <= a_interval.finish + end + + is_between (time_1, time_2: like Current): BOOLEAN + -- Is current between the two times? + require + others_exist: time_1 /= Void and time_2 /= Void + do + if time_1 < Current and Current < time_2 then + Result := True + elseif time_2 < Current and Current < time_1 then + Result := True + end + ensure + valid_result: Result implies ((time_1 < Current and Current < time_2) or else + (time_2 < Current and Current < time_1)) + end + + is_between_inclusive (time_1, time_2: like Current): BOOLEAN + -- Is current between the two times or equal to one of the two times? + require + others_exist: time_1 /= Void and time_2 /= Void + do + if time_1 <= Current and Current <= time_2 then + Result := True + elseif time_2 <= Current and Current <= time_1 then + Result := True + end + ensure + valid_result: Result implies ((time_1 <= Current and Current <= time_2) or else + (time_2 <= Current and Current <= time_1)) + end + + percent_of (a_interval: like interval_anchor): DOUBLE + -- Where does this time fall in relation to the interval? + -- If current time is before the interval then result should be negative. + -- If current time is after the interval then result should be > 1 (i.e. > 100%). + -- If current time belongs to the interval then result should be between 0 and 1. + require + interval_exists: a_interval /= Void + local + int: like Interval_anchor + do +-- int := twin (a_interval) + int := a_interval.deep_twin + if is_before (a_interval) then + int.set_start_finish (Current, a_interval.start) + if not a_interval.duration.is_zero then + Result := -(int.duration.percent_of (a_interval.duration)) + end + else + int.set_start_finish (a_interval.start, Current) + if not a_interval.duration.is_zero then + Result := int.duration.percent_of (a_interval.duration) + end + end + ensure + negative_if_before: Result < 0 implies Current.is_before (a_interval) + zero_to_one_if_belongs: (Result >= 0 and Result <= 1) implies Current.belongs (a_interval) + over_one_if_after: Result > 1 implies Current.is_after (a_interval) + end + + time_between (other: like Current): like duration_anchor + -- The duration of time between Current and other + require + other_exists: other /= Void + deferred + end + + is_valid_string_representation (a_string: STRING): BOOLEAN + -- Is `a_string' in a format that can be used to initialize Current? + deferred + end + + is_valid_integer_representation (a_integer: INTEGER): BOOLEAN + -- Is `a_integer' in the range reconizable by Current? + deferred + end + +feature {NONE} -- Implementation + + C_date: C_DATE + -- Used to set the date and time based on system clock. + once + create Result + end + + is_valid: BOOLEAN + -- Test used by invariant. + do + Result := True + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + duration_anchor: ABSTRACT_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + require + not_callable: False + do + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + interval_anchor: ABSTRACT_INTERVAL + -- Anchor for features using intervals. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + require + not_callable: False + do + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +invariant + + always_valid: is_valid + +note + copyright: "Copyright (c) 1984-2015, Eiffel Software and others" + license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" + source: "[ + Eiffel Software + 5949 Hollister Ave., Goleta, CA 93117 USA + Telephone 805-685-1006, Fax 805-685-6869 + Website http://www.eiffel.com + Customer support http://support.eiffel.com + ]" +end + + + diff --git a/jj_temporal/classes/c_date.e b/jj_temporal/classes/c_date.e new file mode 100644 index 0000000..e05ce51 --- /dev/null +++ b/jj_temporal/classes/c_date.e @@ -0,0 +1,255 @@ +note + description: "Representation of a date at C level" + legal: "See notice at end of class." + status: "See notice at end of class." + date: "$Date: 2014-03-11 23:16:07 -0400 (Tue, 11 Mar 2014) $" + revision: "$Revision: 35 $" + +class + C_DATE + + -- This is a copy of C_DATE from ISE's time cluster. I copied + -- it to my support cluster so I can use it in my temporal and + -- other projects without the overhead of using all of ISE's + -- time cluster. + +inherit + ANY + redefine + default_create + end + +create + default_create, + make_utc + +feature {NONE} -- Initialization + + default_create + -- Create an instance of C_DATA using current local time. + do + is_utc := False + update + end + + make_utc + -- Create an instance of C_DATE holding UTC values. + do + is_utc := True + update + ensure + is_utc: is_utc + end + +feature -- Access + + is_utc: BOOLEAN + -- Is Current holding value in UTC format? + +feature -- Update + + update + -- Pointer to `struct tm' area. + local + l_timeb, l_tm, l_time: POINTER + l_milli: INTEGER + do + l_timeb := l_timeb.memory_alloc (timeb_structure_size) + l_time := l_time.memory_alloc (time_t_structure_size) + ftime (l_timeb) + get_time (l_timeb, l_time) + if is_utc then + l_tm := gmtime (l_time) + else + l_tm := localtime (l_time) + end + create internal_item.make_from_pointer (l_tm, tm_structure_size) + + l_milli := get_millitm (l_timeb) + if l_milli < 0 or l_milli > 999 then + millisecond_now := 0 + else + millisecond_now := l_milli + end + + l_timeb.memory_free + l_time.memory_free + end + +feature -- Status + + year_now: INTEGER + -- Current year at creation time or after last call to `update'. + do + Result := 1900 + get_tm_year (internal_item.item) + ensure + year_valid: Result >= 1900 + end + + month_now: INTEGER + -- Current month at creation time or after last call to `update'. + do + Result := get_tm_mon (internal_item.item) + 1 + ensure + month_valid: Result >= 1 and Result <= 12 + end + + day_now: INTEGER + -- Current day at creation time or after last call to `update'. + do + Result := get_tm_mday (internal_item.item) + ensure + day_valid: Result >= 1 and Result <= 31 + end + + hour_now: INTEGER + -- Current hour at creation time or after last call to `update'. + do + Result := get_tm_hour (internal_item.item) + ensure + hour_valid: Result >= 0 and Result <= 23 + end + + minute_now: INTEGER + -- Current minute at creation time or after last call to `update'. + do + Result := get_tm_min (internal_item.item) + ensure + minute_valid: Result >= 0 and Result <= 59 + end + + second_now: INTEGER + -- Current second at creation time or after last call to `update'. + do + Result := get_tm_sec (internal_item.item) + if Result > 59 then + -- Some platform returns up to 61 for leap seconds. + Result := 59 + end + ensure + second_valid: Result >= 0 and Result <= 59 + end + + millisecond_now: INTEGER + -- Current millisecond at creation time or after last call to `update'. + +feature {NONE} -- Externals + + ftime (p: POINTER) + -- Set current date and time in `p', pointer to a `struct timeb' area. + external + "C macro signature (struct timeb*) use " + end + +feature {NONE} -- `struct timeb' encapsulation + + timeb_structure_size: INTEGER + -- Size of `struct timeb'. + external + "C macro use " + alias + "sizeof(struct timeb)" + end + + time_t_structure_size: INTEGER + -- Size of `struct timeb'. + external + "C macro use " + alias + "sizeof(time_t)" + end + + tm_structure_size: INTEGER + -- Size of `struct tm'. + external + "C macro use " + alias + "sizeof(struct tm)" + end + + get_millitm (p: POINTER): INTEGER + -- Get `p->millitm'. + external + "C struct struct timeb access millitm use " + end + + get_time (p, t: POINTER) + -- Get `p->time'. + external + "C inline use , " + alias + "*(time_t *) $t = (((struct timeb *)$p)->time);" + end + +feature {NONE} -- `struct tm' encapsulation + + internal_item: MANAGED_POINTER + -- Pointer to `struct tm' area. + + localtime (t: POINTER): POINTER + -- Pointer to `struct tm' area. + external + "C inline use " + alias + "localtime ((time_t *) $t)" + end + + gmtime (t: POINTER): POINTER + -- Pointer to `struct tm' area in UTC. + external + "C inline use " + alias + "gmtime ((time_t *) $t)" + end + + get_tm_year (p: POINTER): INTEGER + -- Get `p->tm_year', number of years since 1900. + external + "C struct struct tm access tm_year use " + end + + get_tm_mon (p: POINTER): INTEGER + -- Get `p->tm_mon'. + external + "C struct struct tm access tm_mon use " + end + + get_tm_mday (p: POINTER): INTEGER + -- Get `p->tm_mday'. + external + "C struct struct tm access tm_mday use " + end + + get_tm_hour (p: POINTER): INTEGER + -- Get `p->tm_hour'. + external + "C struct struct tm access tm_hour use " + end + + get_tm_min (p: POINTER): INTEGER + -- Get `p->tm_min'. + external + "C struct struct tm access tm_min use " + end + + get_tm_sec (p: POINTER): INTEGER + -- Get `p->tm_sec'. + external + "C struct struct tm access tm_sec use " + end + +note + copyright: "Copyright (c) 1984-2006, Eiffel Software and others" + license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" + source: "[ + Eiffel Software + 356 Storke Road, Goleta, CA 93117 USA + Telephone 805-685-1006, Fax 805-685-6869 + Website http://www.eiffel.com + Customer support http://support.eiffel.com + ]" + + + + +end -- class C_DATE diff --git a/jj_temporal/classes/hms_constants.e b/jj_temporal/classes/hms_constants.e new file mode 100644 index 0000000..1f46265 --- /dev/null +++ b/jj_temporal/classes/hms_constants.e @@ -0,0 +1,34 @@ +note + description: "[ + Constants for use with HMS_TIME, HMS_DURATION, and HMS_INTERVAL. + ]" + date: "24 Aug 04" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + + +class + HMS_CONSTANTS + +feature -- Access + + One_second: HMS_DURATION + once + create Result.set (0, 0, 1) + end + + One_minute: HMS_DURATION + once + create Result.set (0, 1, 0) + end + + One_hour: HMS_DURATION + once + create Result.set (1, 0, 0) + end + +end -- class HMS_CONSTANTS diff --git a/jj_temporal/classes/hms_duration.e b/jj_temporal/classes/hms_duration.e new file mode 100644 index 0000000..bdf0658 --- /dev/null +++ b/jj_temporal/classes/hms_duration.e @@ -0,0 +1,281 @@ +note + description: "[ + A duration of time represented by hours, minutes, and seconds. + ]" + names: "duration, time_duration" + date: "1999/01/01"; updated: "14 Aug 04" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + HMS_DURATION + +inherit + + ABSTRACT_DURATION + +create + default_create, + set, + set_fine + +feature -- Access + + as_string: STRING_8 + -- The time represented as a string. + do + Result := hours.out + ":" + minutes.out + ":" + seconds.out + "." + milliseconds.out + end + + hours: INTEGER + -- The number of hours in this DURATION + + minutes: INTEGER + -- The number of minutes in this DURATION + + seconds: INTEGER + -- The number of seconds in this DURATION + + milliseconds: INTEGER + -- The number of milli-seconds in this DURATION + + as_hours: DOUBLE + -- Length of this duration in hours. + do + Result := hours + minutes / 60 + seconds / 3600 + milliseconds / 3600000 + end + + as_minutes: DOUBLE + -- Length of this duration in minutes. + do + Result := hours * 60 + minutes + seconds / 60 + milliseconds / 60000 + end + + as_seconds: DOUBLE + -- Length of this duration in seconds. + do + Result := hours * 3600 + minutes * 60 + seconds + milliseconds / 1000 + end + + as_milliseconds: DOUBLE + -- Length of this duration in milliseconds + do + Result := hours * 3600000 + minutes * 60000 + seconds * 1000 + milliseconds + end + + one: like Current + -- Neutral element for '*' and '/'. + do + create Result.set_fine (1, 1, 1, 1) + ensure then + result_hours_is_one: Result.hours = 1 + result_minutes_is_one: Result.minutes = 1 + result_seconds_is_one: Result.seconds = 1 + result_millisecons_is_one: Result.milliseconds = 1 + end + + zero: like Current + -- Neutral element for '+' and '-'. + do + create Result + ensure then + result_hours_is_zero: Result.hours = 0 + result_minutes_is_zero: Result.minutes = 0 + result_seconds_is_zero: Result.seconds = 0 + result_milliseconds_is_zero: Result.milliseconds = 0 + end + + percent_of (other: like Current): DOUBLE + -- What percent of other in length is this one? + do + -- Used minutes because it seemed reasonable accuracy. + Result := as_minutes / other.as_minutes + end + +feature -- Element change + + set_zero + -- Make current have zero length. + do + set_fine (0, 0, 0, 0) + end + + set (a_hours, a_minutes, a_seconds: INTEGER) + -- Change the hours, minutes, and seconds to these values + -- and set milliseconds to zero. + do + set_fine (a_hours, a_minutes, a_seconds, 0) + ensure + hours_set: hours = a_hours + minutes_set: minutes = a_minutes + seconds_set: seconds = a_seconds + milliseconds_zero: milliseconds = 0 + end + + set_fine (a_hours, a_minutes, a_seconds, a_milliseconds: INTEGER) + -- Change `hours', `minutes', `seconds', and `milliseconds' + do + hours := a_hours + minutes := a_minutes + seconds := a_seconds + milliseconds := a_milliseconds + ensure + hours_set: hours = a_hours + minutes_set: minutes = a_minutes + seconds_set: seconds = a_seconds + milliseconds_set: milliseconds = a_milliseconds + end + + set_hours (a_hours: INTEGER) + -- Change hours + do + hours := a_hours + ensure + hours_set: hours = a_hours + end + + set_minutes (a_minutes: INTEGER) + -- change minutes + do + minutes := a_minutes + ensure + minutes_set: minutes = a_minutes + end + + set_seconds (a_seconds: INTEGER) + -- Change seconds + do + seconds := a_seconds + ensure + seconds_set: seconds = a_seconds + end + + negate + -- Reverses the sign for hours, minutes, and seconds. + do + hours := -hours + minutes := -minutes + seconds := -seconds + milliseconds := -milliseconds + ensure then + hours_negated: -hours = old hours + minutes_negated: -minutes = old minutes + seconds_negated: -seconds = old seconds + milliseconds_negated: milliseconds = -milliseconds + end + + normalize + -- Convert to standard format: "61 minutes" becomes "1 hour, 1 minute". + do +-- Fix me !!! for negatives... + seconds := seconds + milliseconds // 999 + milliseconds := milliseconds \\ 999 + minutes := minutes + seconds // 60 + seconds := seconds \\ 60 + hours := hours + minutes // 60 + minutes := minutes \\ 60 + end + + add (other: like Current) + -- Add 'other'. Does not 'normalize'. + do + hours := hours + other.hours + minutes := minutes + other.minutes + seconds := seconds + other.seconds + milliseconds := milliseconds + other.milliseconds + ensure then + hours_added: hours = old hours + other.hours + minutes_added: minutes = old minutes + other.minutes + seconds_added: seconds = old seconds + other.seconds + milliseconds_added: milliseconds = old milliseconds + other.milliseconds + end + + sub (other: like Current) + -- Subtract 'other'. Does not 'normalize'. + do + hours := hours - other.hours + minutes := minutes - other.minutes + seconds := seconds - other.seconds + milliseconds := milliseconds - other.milliseconds + ensure then + hours_subbed: hours = old hours - other.hours + minutes_subbed: minutes = old minutes - other.minutes + seconds_subbed: seconds = old seconds - other.seconds + milliseconds_subbed: milliseconds = old milliseconds - other.milliseconds + end + + multiply (r: DOUBLE) + -- Multiply by a factor of 'r'. + -- Result is normalized. + local + v: DOUBLE + fract: DOUBLE + do + -- Multiply `hours' + v := hours * r + hours := v.floor + fract := v - hours + -- Multiply `minutes' and add fractional of hour + v := minutes * r + 60 * fract + minutes := v.floor + fract := v - minutes + -- Mulitply `seconds' and add fractional minute + v := seconds * r + 60 * fract + seconds := v.floor + fract := v - seconds + -- Multiply `milliseconds' and add fractional second + v := milliseconds * r + 1000 * fract + milliseconds := v.rounded + -- Normalize + normalize + end + + divide (r: DOUBLE) + -- Divide by 'r'. + -- Result is normalized. + do + set_fine (0, 0, 0, (as_milliseconds / r).rounded) + normalize + end + + div (i: INTEGER) + -- Integer division. + -- Result is normalized. + do + set (0, 0, as_seconds.truncated_to_integer // i) + normalize + end + + mod (i: INTEGER) + -- Modulo. + -- Result is normalized. + do + set (0, 0, as_seconds.truncated_to_integer \\ i) + normalize + end + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Is 'Current' less than 'other'? + local + temp, temp_other: like Current + do + temp := twin + temp_other := other.twin + temp.normalize + temp_other.normalize + Result := (temp.hours < temp_other.hours) or + (temp.hours = temp_other.hours and temp.minutes < temp_other.minutes) or + (temp.hours = temp_other.hours and temp.minutes = temp_other.minutes and temp.seconds < temp_other.seconds) + end + +end + + + diff --git a/jj_temporal/classes/hms_interval.e b/jj_temporal/classes/hms_interval.e new file mode 100644 index 0000000..c7ca4e4 --- /dev/null +++ b/jj_temporal/classes/hms_interval.e @@ -0,0 +1,68 @@ +note + description: "[ + A span of time consisting of a start-time, finish-time + and duration described in terms of hours, minutes, and + seconds. Positive durations only. + ]" + names: "hms_interval, interval, time_span, time_interval, span" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + HMS_INTERVAL + +inherit + + ABSTRACT_INTERVAL + redefine + time_anchor, + duration_anchor + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Create an instance starting and ending at the default creation + -- value for the type of `start' time, having zero length duration. + do + -- Can't define `default_create' in ABSTRACT_INTERVAL because there + -- `start_imp' is deffered and cannot call create on a deferred type. + create start_imp + finish_imp := start_imp.twin + ensure then + same_start_and_finish: equal (start, finish) + zero_duration: duration.is_zero + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: HMS_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: HMS_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +end diff --git a/jj_temporal/classes/hms_time.e b/jj_temporal/classes/hms_time.e new file mode 100644 index 0000000..7cde6fe --- /dev/null +++ b/jj_temporal/classes/hms_time.e @@ -0,0 +1,551 @@ +note + description: "[ + An exact point of time as on a clock. An + Hour, Minute, Second time (ie. a time). + ]" + names: "time" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + HMS_TIME + +inherit + + ABSTRACT_TIME + rename + as_integer as as_seconds + redefine + default_create, + is_valid, + duration_anchor, + interval_anchor + end + +create + default_create, + set_now, + set_now_utc, + set_now_fine, + set_now_utc_fine, + set, + set_fine, + from_seconds, + from_string + +feature {NONE} -- Initialization + + default_create + -- Create an instance with time 00:00:00 (i.e. midnight). + do + end + +feature -- Access + + hour: INTEGER + -- Hour part of time. + + minute: INTEGER + -- Minute part of time. + + second: INTEGER + -- Second part of time. + + millisecond: INTEGER + -- Millisecond part of the time. + + overflow: INTEGER + -- Number of days after a normalize (49 hours gives 2 days overflow). + + as_string: STRING + -- The time represented as a string with no seperator characters, such + -- as ":", "-", or "/". The time 23:59:59.999 becomes "235959.999" + do + create Result.make (10) + if not (hour >= 10) then + Result.append ("0") + end + Result.append (hour.out) + if not (minute >= 10) then + Result.append ("0") + end + Result.append (minute.out) + if not (second >= 10) then + Result.append ("0") + end + Result.append (second.out) + Result.append (".") + if not (millisecond >= 100) then + Result.append ("0") + end + if not (millisecond >= 10) then + Result.append ("0") + end + Result.append (millisecond.out) + end + + as_seconds: INTEGER + -- The number of seconds from midnight to the current time. + -- `Millisecond' is rounded. + do + Result := hour * 60 * 60 + minute * 60 + second + (millisecond / 1000).rounded + end + +feature -- Element Change + + from_string (a_string: STRING) + -- Change Current to the time represented by `a_string'. + -- It must be in the format as provided by `as_string'. + local + h, m, s, mil: INTEGER + do + h := a_string.substring (1, 2).to_integer + m := a_string.substring (3, 4).to_integer + s := a_string.substring (5, 6).to_integer + mil := a_string.substring (8, 10).to_integer + set_fine (h, m, s, mil) + end + + from_seconds (a_seconds: INTEGER) + -- Initialize as `a_seconds' from midnight. + do + set (0, 0, 0) + add_seconds (a_seconds) + end + + set_now + -- Set current time according to timezone, setting `millisecond' to zero. + -- This was copied from ISE's TIME class with minor changes. + do + C_date.update + set_fine (C_date.hour_now, C_date.minute_now, C_date.second_now, 0) + end + + set_now_fine + -- Set current time according to timezone, including milli-seconds. + do + C_date.update + set_fine (C_date.hour_now, C_date.minute_now, C_date.second_now, C_date.millisecond_now) + end + + set_now_utc + -- Set the current object to today's date in utc format. + -- The `millisecond' is set to zero. + -- This was copied from ISE's TIME class with minor changes. + do + C_date.update + set (C_date.hour_now, C_date.minute_now, C_date.second_now) + end + + set_now_utc_fine + -- Set the current object to today's date in utc format, including `millisecond'. + -- This was copied from ISE's TIME class with minor changes. + do + C_date.update + set_fine (C_date.hour_now, C_date.minute_now, C_date.second_now, C_date.millisecond_now) + end + + set (h, m, s: INTEGER) + -- Change the hour, minute, and second. + -- Set `millisecond' to 0. + require + hour_valid: 0 <= h and h <= 23; + minute_valid: 0 <= m and m <= 59; + second_valid: 0 <= s and s <= 59 + do + set_fine (h, m, s, 0) + ensure + hour_assigned: hour = h + minute_assigned: minute = m + second_assigned: second = s + millisecond_assigned: millisecond = 0 + end + + set_fine (h, m, s, mil: INTEGER) + -- Change the hour, minute, and second + require + hour_valid: 0 <= h and h <= 23 + minute_valid: 0 <= m and m <= 59 + second_valid: 0 <= s and s <= 59 + millisecond_valid: 0 <= mil and mil <= 999999 + do + hour := h; + minute := m; + second := s; + millisecond := mil + ensure + hour_assigned: hour = h + minute_assigned: minute = m + second_assigned: second = s + millisecond_assigned: millisecond = mil + end + + set_hour (a_hour: INTEGER) + -- Change the `hour'. + require + hour_valid: 0 <= a_hour and a_hour <= 23; + do + hour := a_hour + ensure + hour_assigned: hour = a_hour + end + + set_minute (a_minute: INTEGER) + -- Change the `minute'. + require + minute_valid: 0 <= a_minute and a_minute <= 59; + do + minute := a_minute + ensure + minute_assigned: minute = a_minute + end + + set_second (a_second: INTEGER) + -- Change the second. + require + second_valid: 0 <= a_second and a_second <= 59 + do + second := a_second + ensure + second_assigned: second = a_second + end + + set_millisecond (a_millisecond: INTEGER) + -- Change the `millisecond' + require + valid_millisecond: 0 <= a_millisecond and a_millisecond <= 999 + do + millisecond := a_millisecond + ensure + millisecond_assigned: millisecond = a_millisecond + end + + from_integer (a_integer: INTEGER) + -- Change Current to the time represented by `a_integer'. + -- `A_compact_time' must represent a date that is not BC. + do +-- Fix me !!! + end + + clear_overflow + -- Remove the `overflow' condition by seting overflow to 0. + -- (Overflows occur when `add_duration' causes the time to be past 23:59:59.999) + do + overflow := 0 + end + + truncate_to_hours + -- Reset "to the hour" (set minutes and seconds to 0). + do + set_fine (hour, 0, 0, 0) + ensure + hour_unchanged: hour = old hour + minute_zero: minute = 0 + second_zero: second = 0 + millisecond_zero: millisecond = 0 + end + + truncate_to_minutes + -- Reset "to the minute" (i.e. set seconds to 0.) + do + set_fine (hour, minute, 0, 0) + ensure + hour_unchanged: hour = old hour + minute_unchanged: minute = old minute + second_zero: second = 0 + millisecond_zero: millisecond = 0 + end + + truncate_to_seconds + -- Set the `millisecond' to zero. + -- Use when `millisecond' portion is to be ignored. + do + set_millisecond (0) + ensure + hour_unchanged: hour = old hour + minute_unchanged: minute = old minute + second_unchaged: second = old second + millisecond_zero: millisecond = 0 + end + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Does this time come before 'other'? + require else + other_time_not_void: other /= Void + do + Result := hour < other.hour or else + (hour = other.hour) and (minute < other.minute) or else + (hour = other.hour) and (minute = other.minute) and (second < other.second) or else + (hour = other.hour) and (minute = other.minute) and (second = other.second) and (millisecond < other.millisecond) + ensure then +-- definition: Result = (hour < other.hour) or else +-- (hour = other.hour) and (minute < other.minute) or else +-- (hour = other.hour) and (minute = other.minute) and (second < other.second) or else +-- (hour = other.hour) and (minute = other.minute) and (second = other.second) and (millisecond < other.millisecond) + end + + +feature -- Basic operations + + add_duration (a_duration: like Duration_anchor) + -- Add a length of time (in hours, minutes, and seconds) to the time. + do +-- hour := hour + a_duration.hours +-- minute := minute + a_duration.minutes +-- second := second + a_duration.seconds +-- millisecond := millisecond + a_duration.milliseconds + add_milliseconds (a_duration.milliseconds) + add_seconds (a_duration.seconds) + add_minutes (a_duration.minutes) + add_hours (a_duration.hours) + end + + add_hours (a_number: INTEGER) + -- Add `a_number' of hours to the current time + local + h: INTEGER + do + h := a_number \\ 24 + hour := hour + h + check + number_now_even: (a_number - h) \\ 24 = 0 + end + overflow := (a_number - h) // 24 + if hour < 0 then + check + positive_overflow: overflow >= 1 + end + hour := hour + 24 + overflow := overflow - 1 + end + if hour >= 24 then + hour := hour - 24 + overflow := overflow + 1 + end + end + + add_minutes (a_number: INTEGER) + -- Add `a_number' of minutes to the current time. + local + m: INTEGER + do + minute := minute + a_number + m := minute + minute := minute \\ 60 + if minute < 0 then + minute := minute + 60 + add_hours (-1) + end + add_hours (m // 60) + end + + add_seconds (a_number: INTEGER) + -- Add `a_number' of seconds to the current time. + local + s: INTEGER + do + second := second + a_number + s := second + second := second \\ 60 + if second < 0 then + second := second + 60 + add_minutes (-1) + end + add_minutes (s // 60) + end + + add_milliseconds (a_number: INTEGER) + -- Add `a_number' of milliseconds to the current time. + local + ms: INTEGER + do + millisecond := millisecond + a_number + ms := millisecond + millisecond := millisecond \\ 1000 + if millisecond < 0 then + millisecond := millisecond + 1000 + add_seconds (-1) + end + add_seconds (ms // 1000) + end + +feature -- Status report + + is_representable_as_integer: BOOLEAN + -- Can Current be represented as an integer? + -- Caveat: the `milliseconds' will be lost due to rounding in `as_seconds'. + do + Result := True + end + +feature -- Querry + + time_between (other: like Current): like Duration_anchor + -- A length of time in hours, minutes, and seconds + -- between this time and other. + local + larger, smaller: like Current + h, m, s, ms: INTEGER + do + larger := max (other) + smaller := min (other) + ms := larger.millisecond - smaller.millisecond + h := larger.hour - smaller.hour + m := larger.minute - smaller.minute + s := larger.second - smaller.second + if ms < 0 then + ms := ms + 999 + s := s - 1 + end + if s < 0 then + s := s + 60 + m := m - 1 + end + if m < 0 then + m := m + 60 + h := h - 1 + end + create Result.set_fine (h, m, s, ms) + if Current < other then + Result.negate + end + end + + seconds_between (a_other: like Current): INTEGER + -- The number of seconds between Current and `other' + require + other_exists: a_other /= Void + local + larger, smaller: like Current + h, m, s, ms: INTEGER + do + larger := max (a_other) + smaller := min (a_other) + ms := larger.millisecond - smaller.millisecond + h := larger.hour - smaller.hour + m := larger.minute - smaller.minute + s := larger.second - smaller.second + if ms < 0 then + ms := ms + 999 + s := s - 1 + end + if s < 0 then + s := s + 60 + m := m - 1 + end + if m < 0 then + m := m + 60 + h := h - 1 + end + Result := h * 60 * 60 + m * 60 + s + end + + is_valid_string_representation (a_string: STRING): BOOLEAN + -- Is `a_string' in a format that can be used to initialize Current? + local + hs, ms, ss, mils: STRING + h, m, s, mil: INTEGER + do + if a_string /= Void and then a_string.count = 10 and then equal (a_string.substring (7, 7), ".") then + hs := a_string.substring (1, 2) + ms := a_string.substring (3, 4) + ss := a_string.substring (5, 6) + mils := a_string.substring (8, 10) + if hs.is_integer and then ms.is_integer and then ss.is_integer and then mils.is_integer then + h := hs.to_integer + m := ms.to_integer + s := ms.to_integer + mil := mils.to_integer + if (h >= 0 and h <= 23) and then + (m >= 0 and m <= 59) and then + (s >= 0 and s <= 59) and then + (mil >= 0 and mil <= 999) then + Result := True + end + end + end + end + + is_valid_integer_representation (a_integer: INTEGER): BOOLEAN + -- Is `a_integer' in range to be converted to a time? + do + Result := a_integer >= 0 + end + +feature {NONE} -- Implementation + +-- normalize is +-- -- convert to a normal time (1 minute, 60 seconds becomes 2 minutes 0 seconds) +-- do +-- second := second + millisecond // 999 +-- millisecond := millisecond \\ 999 +-- if millisecond < 0 then +-- millisecond := millisecond + 999 +-- second := second - 1 +-- end +-- minute := minute + second // 60 +-- second := second \\ 60 +-- if second < 0 then +-- second := second + 60 +-- minute := minute - 1 +-- end +-- hour := hour + minute // 60 +-- minute := minute \\ 60 +-- if minute < 0 then +-- minute := minute + 60 +-- hour := hour - 1 +-- end +-- overflow := hour // 24 +-- hour := hour \\ 24 +-- if hour < 0 then +-- hour := hour + 24 +-- overflow := overflow - 1 +-- end +-- end + + is_valid: BOOLEAN + -- Is time in correct format? + do + Result := (0 <= millisecond and millisecond <= 999) and + (0 <= second and second <= 59) and + (0 <= minute and minute <= 59) and + (0 <= hour and hour <= 23) + ensure then + valid_result: Result implies + (0 <= millisecond and millisecond <= 999) and + (0 <= second and second <= 59) and + (0 <= minute and minute <= 59) and + (0 <= hour and hour <= 23) + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + duration_anchor: HMS_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + interval_anchor: HMS_INTERVAL + -- Anchor for features using intervals. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +end diff --git a/jj_temporal/classes/hms_timer.e b/jj_temporal/classes/hms_timer.e new file mode 100644 index 0000000..8312b26 --- /dev/null +++ b/jj_temporal/classes/hms_timer.e @@ -0,0 +1,74 @@ +note + description: "[ + Timer for hours, minutes, seconds, and miliseconds. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + HMS_TIMER + +inherit + + HMS_INTERVAL + undefine + duration, + out + redefine + default_create, + time_anchor, + duration_anchor + end + + TIMER + undefine + time_anchor, + duration_anchor + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Set up the timer + do + Precursor {HMS_INTERVAL} + Precursor {TIMER} + create cumulative + end + + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: HMS_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: HMS_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + +end diff --git a/jj_temporal/classes/time_stampable.e b/jj_temporal/classes/time_stampable.e new file mode 100644 index 0000000..859df28 --- /dev/null +++ b/jj_temporal/classes/time_stampable.e @@ -0,0 +1,60 @@ +note + description: "[ + Objects which record their creation time. + ]" + date: "1 Sep 04" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + TIME_STAMPABLE + +inherit + + ANY + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Initialize `Current'. + do + create timestamp.set_now_utc_fine + end + +feature -- Access + + id: STRING + -- Unique (hopefully) object id based on the creation time of the object. + -- Concatination of Current's `generating_type' and `time_stamp'. + do + Result := generating_type.name.to_string_8 + " " + timestamp.as_string + end + + timestamp: YMDHMS_TIME + -- Time this object was created + +--feature -- Comparison + +-- infix "<" (a_other: like Current): BOOLEAN is +-- -- Is Current less than `a_other'? +-- do +-- Result := id < a_other.id +---- Result := timestamp < a_other.timestamp +-- end + +invariant + + time_stamp_exists: timestamp /= Void + +end diff --git a/jj_temporal/classes/timer.e b/jj_temporal/classes/timer.e new file mode 100644 index 0000000..04f61b9 --- /dev/null +++ b/jj_temporal/classes/timer.e @@ -0,0 +1,122 @@ +note + description: "[ + Stop-watch type object. + Create the object and call `reset' to use. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +deferred class + TIMER + +inherit + + ABSTRACT_INTERVAL + redefine + duration + end + +feature {NONE} -- Initialization + + default_create + -- Initialize Current + do + create lap_times.make (10) + end + +feature -- Access + + duration: like duration_anchor + -- The time between the `start' and the `finish'; + -- or the time between the `start' and the current time if + -- the timer is running. + local + t: like time_anchor + do + if is_running then + t := finish + t.set_now_utc_fine + Result := t.time_between (start) + else + Result := Precursor + end + end + + cumulative: like duration_anchor + -- Cumulative total of all the times elapsed on the timer. + -- Recalculated at every `stop'. + + i_th_lap (a_index: INTEGER): like duration_anchor + -- The `a_index'th duration. + require + is_valid_lap_index: is_valid_lap_index (a_index) + do + Result := lap_times.i_th (a_index) + end + +feature -- Status report + + is_running: BOOLEAN + -- Is the timer running? + -- (Use `start' to begin timing and `stop' to end.) + +feature -- Basic operations + + reset + -- Reset `elapsed' to zero. + do + start_imp.set_now_utc_fine + finish_imp.copy (start) + cumulative.set_zero + lap_times.wipe_out + end + + run + -- Start the timer + require + not_running: not is_running + do + is_running := True + start_imp.set_now_utc_fine + ensure + is_running: is_running + end + + stop + -- Stop the timer + require + is_running: is_running + do + is_running := False + finish_imp.set_now_utc_fine + cumulative := cumulative + duration +-- start_imp.copy (finish) +-- mark_lap + ensure + is_stopped: not is_running + end + + mark_lap + -- Record the current `lap' time in `lap_times' but keep the timer running. + do + lap_times.extend (duration) + end + +feature -- Querry + + is_valid_lap_index (a_index: INTEGER): BOOLEAN + -- Is `a_index' a valid value into the list of `lap_times'? + do + Result := lap_times.valid_index (a_index) + end + +feature {NONE} -- Implementation + + lap_times: ARRAYED_LIST [like duration_anchor] + -- List of durations for each time `mark_lap' was called. + +end diff --git a/jj_temporal/classes/ymd_constants.e b/jj_temporal/classes/ymd_constants.e new file mode 100644 index 0000000..1acf83d --- /dev/null +++ b/jj_temporal/classes/ymd_constants.e @@ -0,0 +1,48 @@ +note + description: "[ + Constants for use with YMD_TIME, YMD_DURATION, and YMD_INTERVAL. + ]" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_CONSTANTS + +feature -- Access + + One_day: YMD_DURATION + once + create Result + Result.set (0, 0, 1) + end + + One_week: YMD_DURATION + once + create Result + Result.set (0, 0, 7) + end + + One_month: YMD_DURATION + once + create Result + Result.set (0, 1, 0) + end + + One_quarter: YMD_DURATION + once + create Result + Result.set (0, 3, 0) + end + + One_year: YMD_DURATION + once + create Result + Result.set (1, 0, 0) + end + +end -- class YMD_CONSTANTS diff --git a/jj_temporal/classes/ymd_duration.e b/jj_temporal/classes/ymd_duration.e new file mode 100644 index 0000000..3ddc736 --- /dev/null +++ b/jj_temporal/classes/ymd_duration.e @@ -0,0 +1,325 @@ +note + description: "[ + Duration of time described in years, months, and days. + ]" + names: "ymd_duration" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_DURATION + +inherit + + ABSTRACT_DURATION + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Create an instance with zero length. + do + days_per_month := default_days_per_month + set (0, 0, 0) + end + +feature -- Access + + as_string: STRING_8 + -- The time represented as a string. + do + Result := years.out + ":" + months.out + ":" + days.out + end + + years: INTEGER + -- Number of years part. + -- Does not consider the months or days. + + months: INTEGER + -- Number of months part. + -- Does not consider the years or days. + + days: INTEGER + -- Number of days part. + -- Does not consider the months or years. + + default_days_per_month: DOUBLE = 30.4375 + -- Default value for 'days_per_month'. + -- 365.25 days per year divided by 12 months per year. + + days_per_month: DOUBLE + -- Number of days in a month. (28?, 29?, 30?, 31?) + -- Value assumed by class to do calculations involving conversion + -- from days to months to years. + -- Default = 30.4375 days / month. + + days_per_year: DOUBLE + -- Number of days in the year. Calculated based on 'days_per_month'. + -- Value assumed by class to do calculations involving conversion + -- from days to months to years. + -- Default = 365.25 days / year. + do + Result := days_per_month * 12 + end + + as_years: DOUBLE + -- Length of duration in years. + do + Result := years + months / 12 + days / days_per_year + end + + as_months: DOUBLE + -- Length of duration in months. + do + Result := years * 12 + months + days / days_per_month + end + + as_days: DOUBLE + -- Length of duration in days. + do + Result := years * days_per_year + months * days_per_month + days + end + + one: like Current + -- Neutral element for "*" and "/" + do + create Result + Result.set (1,1,1) + ensure then + result_years_is_one: Result.years = 1 + result_months_is_one: Result.months = 1 + result_days_is_one: Result.days = 1 + end + + zero: like Current + -- Neutral element for "+" and "-" + do + create Result + ensure then + result_years_is_zero: Result.years = 0 + result_months_is_zero: Result.months = 0 + result_days_is_zero: Result.days = 0 + end + + percent_of (other: like Current): DOUBLE + -- What percent of other in length is this one? + -- For example: is current duration at least twice as long as other? + do +-- Result := as_months / other.as_months -- Used months because it seemed reasonable accuracy. + Result := as_days / other.as_days -- Must use days because of accuracy problems with month length. + end + + normalized: like Current + -- A copy of Current in a normalized form. + do + Result := twin + Result.normalize + end + +feature -- Element change + + set_zero + -- Make Current have zero length. + do + set (0, 0, 0) + end + + set (ys, ms, ds: INTEGER) + -- Change the length of years, months, and days. + do + years := ys + months := ms + days := ds + ensure + years_set: years = ys + months_set: months = ms + days_set: days = ds + end + + set_years (ys: INTEGER) + -- Change years + do + years := ys + ensure + years_set: years = ys + end + + set_months (ms: INTEGER) + -- Change months + do + months := ms; + ensure + months_set: months = ms + end + + set_days (ds: INTEGER) + -- Change days + do + days := ds + ensure + days_set: days = ds + end + + set_days_per_month (i: DOUBLE) + -- Change 'days_per_month' (value used in calculations + -- involving month lenghts). + require + in_range: i >= 28 and i <= 31 + do + days_per_month := i + ensure + days_per_month_set: days_per_month = i + end + +feature -- Basic operations + + negate + -- Reverse the sign on years, months, and days. + do + years := -years; + months := -months; + days := -days + ensure then + years_negated: -years = old years + months_negated: -months = old months + days_negated: -days = old days + end + + normalize + -- Convert to standard format: "13 months" becomes "1 year, 1 month". + -- Month and year length is based on 'days_per_month'. + -- This feature is hard to define. For example, is 28 days equal to + -- one month? What about 30 days? + -- This needs to be fixed. + require + days_per_month > 0 + local + m, d: DOUBLE + dpm: DOUBLE + do + -- The check on `days_per_month' was necessary because `<' which calls + -- this feature must be getting called before the object is fully + -- initialized, so at that point `days_per_month' is zero; this check + -- prevents that "floating point exception". + if days_per_month = 0 then + dpm := Default_days_per_month + else + dpm := days_per_month + end + d := days + m := d / dpm + months := months + m.truncated_to_integer + m := m - m.truncated_to_integer + d := m * dpm + days := d.truncated_to_integer +-- if (d - days) > 0.5 then +-- days := days + 1 +-- if days > dpm then +-- months := months + 1 +-- end +-- end + years := years + months // 12 + months := months \\ 12 + end + + add (other: like Current) + -- Add other to current. + do + years := years + other.years; + months := months + other.months; + days := days + other.days + ensure then + years_added: years = old years + other.years + months_added: months = old months + other.months + days_add: days = old days + other.days + end + + sub (other: like Current) + -- Subtract other from current. + do + years := years - other.years; + months := months - other.months; + days := days - other.days + ensure then + years_subbed: years = old years - other.years + months_subbed: months = old months - other.months + days_subbed: days = old days - other.days + end + + multiply (r: DOUBLE) + -- Multiply by a factor of 'r'. + -- Result is normalized. + local + v: DOUBLE + fract: DOUBLE + do + v := years * r + years := v.floor + fract := v - years + + v := months * r + 12 * fract + months := v.floor + fract := v - months + + v := days * r + days_per_month * fract + days := v.rounded + normalize + end + + divide (r: DOUBLE) + -- Divide by 'r'. + -- Result is normalized. + do + set (0, 0, (as_days / r).rounded) + normalize + end + + + div (i: INTEGER) + -- Integer division. + -- Result is normalized. + do + set (0, 0, (as_days / i).truncated_to_integer) + normalize + end + + mod (i: INTEGER) + -- Modulo of duration with 'i'. + -- Result is normalized. + do + set (0, 0, as_days.truncated_to_integer \\ i) + normalize + end + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Is current shorter than other? + local + temp, temp_other: like Current + do + temp := twin + temp_other := other.twin + temp.normalize + temp_other.normalize + Result := (temp.years < temp_other.years) or else + (temp.years = temp_other.years and temp.months < temp_other.months) or else + (temp.years = temp_other.years and temp.months = temp_other.months and temp.days < temp_other.days) + end + +invariant + + days_per_month_in_range: days_per_month >= 28 and days_per_month <= 31 + + +end -- class YMD_DURATION + diff --git a/jj_temporal/classes/ymd_interval.e b/jj_temporal/classes/ymd_interval.e new file mode 100644 index 0000000..3667805 --- /dev/null +++ b/jj_temporal/classes/ymd_interval.e @@ -0,0 +1,67 @@ +note + description: "[ + A span of time consisting of a start-time, finish-time and duration + described in terms of years, months, and days. Positive durations only. + ]" + names: "ymd_interval, interval, time_span, time_interval, span" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_INTERVAL + +inherit + + ABSTRACT_INTERVAL + redefine + time_anchor, + duration_anchor + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Create an instance starting and ending at the default creation + -- value for the type of `start' time, having zero length duration. + do + -- Can't define `default_create' in ABSTRACT_INTERVAL because there + -- `start_imp' is deffered and cannot call create on a deferred type. + create start_imp + finish_imp := start_imp.twin + ensure then + same_start_and_finish: equal (start, finish) + zero_duration: duration.is_zero + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: YMD_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: YMD_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +end diff --git a/jj_temporal/classes/ymd_time.e b/jj_temporal/classes/ymd_time.e new file mode 100644 index 0000000..fa1c479 --- /dev/null +++ b/jj_temporal/classes/ymd_time.e @@ -0,0 +1,671 @@ +note + description: "[ + An exact point of time as on a gregorian callendar. + Has a `Year', `Month', and `Day' (i.e. a date). + ]" + names: "date, time" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_TIME + +inherit + + ABSTRACT_TIME + rename + as_integer as as_days, + from_integer as from_days + redefine + default_create, + is_valid, + duration_anchor, + interval_anchor + end + +create + default_create, + set_now, + set_now_utc, + set, + from_days, + from_string + +feature {NONE} -- Initialization + + default_create + -- Create an instance based on todays date. + do + set_now + end + +feature -- Access + + year: INTEGER + -- Year part of the date. + + month: INTEGER + -- Month part of the date. + + day: INTEGER + -- Day part of the date. + do + Result := internal_day + if Result > last_day_of_month then + Result := last_day_of_month + end + end + + week_number: INTEGER + -- Week of the year containing this date. + local + d: YMD_TIME + first_d: INTEGER -- Jan 1st is on what day? + do + create d + d.set (year, 1, 1) + first_d := d.weekday + Result := (((julian + first_d - 1 - 1) // 7) + 1) + ensure + result_large_enough: Result >= 1 + result_small_enough: Result <= 54 -- 53 ? 54 if leapyear falls just right. + end + + last_day_of_month: INTEGER + -- Date of last day for current month + do + inspect + month + when 2 then + if is_leapyear then + Result := 29 + else + Result := 28 + end + when 4, 6, 9, 11 then + Result := 30 + else + Result := 31 + end + ensure + day_in_range: Result >= 28 and Result <= 31 + good_not_leap: Result = 28 implies (month = 2 and not is_leapyear) + good_in_leap: Result = 29 implies (month = 2 and is_leapyear) + good_30s: Result = 30 implies (month = 4 or month = 6 or month = 9 or month = 11) + good_31s: Result = 31 implies (month=1 or month=3 or month=5 or month=7 or month=8 or month=10 or month=12) + end + + days_remaining_this_month: INTEGER + -- Number of days from current until end of month. + -- Used in some calculations. + do + Result := last_day_of_month - day + ensure + valid_result: Result >= 0 and Result < last_day_of_month + end + + julian: INTEGER + -- Day of the year between 1 and 366 + local + n,i : INTEGER + do + from + i := 1 + until + i >= month + loop + inspect i + when 2 then + if is_leapyear then + n := n + 29 + else + n := n + 28 + end + when 4,6,9,11 then + n := n + 30 + else + n := n + 31 + end + i := i + 1 + end + result := n + day + ensure + valid_leapyear_result: is_leapyear implies (1 <= Result and Result <= 366) + valid_result: not is_leapyear implies (1 <= Result and Result <= 365) + end + + + weekday: INTEGER + -- 1 for Sunday, 2 for Monday, etc + -- Only works as far back as ~2 Mar 0001. ??? + local + x : INTEGER + do + x := internal\\7 + 1 + 1 + if x > 7 then -- it can only be 8 + x := 1 + end + result := x + ensure + valid_weekday: 1 <= Result and Result <= 7 + end + + as_string: STRING + -- The date represented as a string with no spaces. + -- 18 Jan 2005 would be "20050118". + do + create Result.make (10) + if is_bc then + Result.append ("BC") + end + if not (year.abs >= 1000) then + Result.append ("0") + end + if not (year.abs >= 100) then + Result.append ("0") + end + if not (year.abs >= 10) then + Result.append ("0") + end + Result.append (year.abs.out) + if not (month >= 10) then + Result.append ("0") + end + Result.append (month.out) + if not (day >= 10) then + Result.append ("0") + end + Result.append (day.out) + end + + as_days: INTEGER + -- The number of days from midnight (00:00:00) + -- on 1 Jan 1970 to the beginning Current's `day'. + local + t: YMD_TIME + do + create t + t.set (1970, 1, 1) + Result := days_between (t) + end + +feature -- Element Change + + from_days (a_days: INTEGER) + -- Change Current to the time represented by `a_days'. + -- `A_days' is assumed to be the number of days since 1 Jan 1970. + -- `A_days' must represent a date that is not BC + do + set (1970, 1, 1) + add_days (a_days) + end + + from_string (a_string: STRING) + -- Change Current to the time represented by `a_string'. + -- It must be in the format as provided by `as_string'. + local + d, m, y: INTEGER + do + y := a_string.substring (1, 4).to_integer + m := a_string.substring (5, 6).to_integer + d := a_string.substring (7, 8).to_integer + set (y, m, d) + end + + set_now + -- Set the current object to today's date. + -- This was copied from ISE's DATE class with the one minor change. + do + C_date.update + set (C_date.year_now, C_date.month_now, C_date.day_now) + end + + set_now_utc + -- Set the current object to today's date in utc format. + -- This was copied from ISE's DATE class with the one minor change. + do + C_date.update + set (C_date.year_now, C_date.month_now, C_date.day_now) + end + + set_now_utc_fine + -- Set the current object to today's date in utc format. + -- This was copied from ISE's TIME class with minor changes. + do + C_date.update + set (C_date.year_now, C_date.month_now, C_date.day_now) + end + + set (a_year, a_month, a_day: INTEGER) + -- Give date new year, month, and day. + -- If day > num days in month then day will return last day in the month. + require + realistic_year: a_year /= 0 + realistic_month: a_month >= 1 and a_month <= 12 + realistic_day: a_day >= 1 and a_day <= 31 + do + year := a_year + month := a_month + internal_day := a_day + ensure + year_assigned: year = a_year + month_assigned: month = a_month + day_assigned: day = a_day + end + + set_year (a_year: INTEGER) + -- Change the year. + require + realistic_year: a_year /= 0 + do + year := a_year + ensure + year_assigned: year = a_year + end + + set_month (a_month: INTEGER) + -- Change the month. + require + realistic_month: a_month >= 1 and a_month <= 12 + do + month := a_month + ensure + month_assigned: month = a_month + end + + set_day (a_day: INTEGER) + -- Change the day. + -- If a_day > number of days in the month then + -- 'day' will be the last day of month. + require + realistic_day: a_day >= 1 and a_day <= 31 + do + internal_day := a_day + ensure + day_assigned: day = a_day + end + + truncate_to_years + -- Set the day to first day of month 1. + -- Use when all but the `year' is to be ignored. + do + set_day (1) + set_month (1) + ensure + year_unchanged: year = old year + month_one: month = 1 + day_one: day = 1 + end + + truncate_to_months + -- Set day to first day of current month. + -- Use when the `day' portion of date is to be ignored. + do + set_day (1) + ensure + year_unchanged: year = old year + month_unchanged: month = old month + day_one: day = 1 + end + +feature -- Status report + + is_leapyear: BOOLEAN + -- Is this a leapyear? + do + if is_bc then + Result := (year + 1) \\ 4 = 0 and not ((year + 1) \\ 400 = 0) + else + Result := year \\ 4 = 0 and (not (year \\ 100 = 0) or else year \\ 400 = 0) + end + end + + is_bc: BOOLEAN + -- Does the date represent a date B.C. (ie year < 1) + do + Result := year <= -1 + ensure + definition: Result implies year <= -1 + end + + is_representable_as_integer: BOOLEAN + -- Can Current be represented as an integer? + do + Result := not is_bc and then + (Current >= Minimum_representable_date and Current <= Maximum_representable_date) + end + +feature -- Querry + + days_between (other: like Current): INTEGER + -- Days between this date and 'other'. + -- Only works back to ~2 Mar 0001. + require + other_exists : other /= Void + do + Result := (other.internal - internal).abs + ensure + definition: Result = (other.internal - internal).abs + end + + time_between (other: like Current): like Duration_anchor + -- The difference between two dates as a duration + local + larger, smaller: like Current + y, m, d: INTEGER + do + larger := max (other) + smaller := min (other) + y := larger.year - smaller.year + m := larger.month - smaller.month + d := larger.day - smaller.day + if d < 0 then + d := d + smaller.last_day_of_month + m := m - 1 + end + if m < 0 then + m := m + 12 + y := y - 1 + end + create Result + Result.set (y, m, d) + if Current < other then + Result.negate + end + end + + is_valid_integer_representation (a_integer: INTEGER): BOOLEAN + -- Is `a_integer' in range to be converted to a time? + -- Dependent on the `internal' representation of dates. + do + -- These values were found by trial and error. This will give a + -- date from 1 Jan 0001 to 18 Oct 1,469,902, which, I believe, is + -- far enough into the future. + Result := a_integer >= 1721426 and a_integer <= 538592032 + ensure then + definition: Result implies (a_integer >= 1721426) and then + (a_integer <= 538592032) -- dependent on `internal' + end + + is_valid_string_representation (a_string: STRING): BOOLEAN + -- Is `a_string' in a format that can be used to initialize Current? + local + bcs: detachable STRING + ys, ms, ds: STRING + y, m, d: INTEGER + pad: INTEGER -- add 2 if is "BC" + do + if a_string /= Void and then (a_string.count = 8 or a_string.count = 10) then + if a_string.count = 10 then + pad := 2 + bcs := a_string.substring (1, 2) + end + ys := a_string.substring (1 + pad, 4 + pad) + ms := a_string.substring (5 + pad, 6 + pad) + ds := a_string.substring (7 + pad, 8 + pad) + if ys.is_integer and then ms.is_integer and then ds.is_integer then + y := ys.to_integer + m := ms.to_integer + d := ds.to_integer + if (y /= 0) and then (m >= 0 and m < 12)and then (d >= 0 and d <= 31) then + Result := True + if bcs /= Void and then not equal (bcs, "BC") then + Result := False + end + end + end + end + end + +feature -- Basic operations + + add_years (a_num: INTEGER) + -- Add 'a_num' number of years to the date. Works for negative numbers also. + local + y: INTEGER + do + y := year + year := year + a_num + if year = 0 then -- Must preserve invarient: year can not be 0. + if y < 0 then -- year was less than 0 and increased to 0. + year := 1 + else -- year was greater than 0 and decreased to 0. + year := -1 + end + end + ensure + valid_date: is_valid + end + + add_months (a_num: INTEGER) + -- Add 'a_num' number of months to the date. Works for negative numbers also. + local + m: INTEGER -- store month prior making month valid to call 'add_years'. + do + month := month + a_num + m := month + month := month \\ 12 -- preserve invarient + if month < 1 then + month := month + 12 -- preserve invarient + add_years (-1) + end + add_years (m // 12) -- add a year for every multiple of 12. + ensure + valid_date: is_valid + end + + add_days (a_num: INTEGER) + -- Add 'a_num' number of days to the date. Works for negative numbers also. + local + i: INTEGER + do + if a_num > 0 then + from i := a_num + until i <= days_remaining_this_month + loop + i := i - (days_remaining_this_month + 1) + set_day (1) + add_months (1) + end + set_day (day + i) + elseif a_num < 0 then + from + i := a_num.abs + until + i < day + loop + i := (day - i).abs + add_months (-1) + set_day (last_day_of_month) + end + set_day (day - i) + else + -- do nothing if a_num = 0 + end + ensure + valid_date: is_valid + end + + add_duration (a_duration: like Duration_anchor) + -- Add a length of time (in years, months, and days) to the date. + do + add_days (a_duration.days) + add_months (a_duration.months) + add_years (a_duration.years) + end + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Does this date come before 'other'? + require else + other_not_void: other /= Void + do + Result := year < other.year or else + (year = other.year) and (month < other.month) or else + (year = other.year) and (month = other.month) and (day < other.day) + ensure then +-- definition: year < other.year or else +-- (year = other.year) and (month < other.month) or else +-- (year = other.year) and (month = other.month) and (day < other.day) + end + +feature {YMD_TIME} -- Implementation + + frozen internal: INTEGER + -- Internal representation of YMD_TIME + -- Used internally by some features. + -- Does not work for BC dates; only works back to 1 January 0001, + -- at which time the result is 1,721,426. + -- Will work up to a date of 18 Oct 1,469,902 (found by trial). + require + not_bc: not is_bc + local + c, ya : INTEGER; + d,m,y : INTEGER; + do + d := day; + m := month; + y := year; + if m > 2 then + m := m - 3; + else + m := m + 9; + y := y - 1; + end + c := y // 100; + ya := y - 100 * c; + result := (146097 * c) // 4 + (1461 * ya) // 4 + (153 * m + 2) // 5 + d + 1721119; + ensure + result_large_enough: Result >= 1721426 + result_small_enough: Result <= 538592032 + end + + frozen from_internal (num: INTEGER) + -- Create a YMD_TIME from an internal representation. + local + y,m,d,j : INTEGER + do + j := num; + j := j - 1721119 + y := (4 * j - 1) // 146097; j := 4 * j - 1 - 146097 * y; + d := j // 4; + j := (4 * d + 3) // 1461; d := 4 * d + 3 - 1461 * j; + d := (d + 4) // 4; + m := (5 * d - 3) // 153; d := 5 * d - 3 - 153 * m; + d := (d + 5) // 5; + y := 100 * y + j; + if m < 10 then + m := m + 3; + else + m := m - 9; + y := y + 1; + end; + internal_day := d; + month := m; + year := y; + end + +feature {NONE} -- Implementation + + internal_day: INTEGER + -- Used to save last day of month if day is greater than 28, 30, or 31. + -- Actual day is calculated from this value. + + is_valid: BOOLEAN + -- Is the date logical? + do + Result := is_valid_year and is_valid_month and is_valid_day + end + + is_valid_year: BOOLEAN + -- Is the year logical? + -- Only invalid year is year "0". + do + Result := year /= 0 + ensure + definition: year /= 0 + end + + is_valid_month: BOOLEAN + -- Is the month logical? + do + Result := 1 <= month and month <= 12 + ensure + definition: 1 <= month and month <= 12 + end + + is_valid_day: BOOLEAN + -- Is the day logical based on month and year? + do + Result := day >= 1 and then + ( (day <= 28) or else + ((month=4 or month=6 or month=9 or month=11) and then day <= 30) or else + ((month=1 or month=3 or month=5 or month=7 or month=8 or month=10 or month=12) and then day <= 31) or else + (month=2 and is_leapyear and day <= 29) ) + end + +feature {NONE} -- Implementation + + Minimum_representable_date: like Current + -- The earliest date that can be represented as an integer. + -- This value is dependent on the implementation of `internal' and + -- was found by trial and error to be 1 Jan 0001. + do + create Result + Result.set_year (1) + Result.set_month (1) + Result.set_day (1) + end + + Maximum_representable_date: like Current + -- The latest date that can be represented as an integer. + -- This value is dependent on the implementation of `internal' and + -- was found by trial and error to be 18 Oct 1,469,902. + do + create Result + Result.set_year (1_469_902) + Result.set_month (10) + Result.set_day (18) + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + duration_anchor: YMD_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + require else + not_callable: False + do + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + interval_anchor: YMD_INTERVAL + -- Anchor for features using intervals. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + require else + not_callable: False + do + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +invariant + + is_valid: is_valid + +end -- class YMD_TIME + + diff --git a/jj_temporal/classes/ymd_timer.e b/jj_temporal/classes/ymd_timer.e new file mode 100644 index 0000000..45b49aa --- /dev/null +++ b/jj_temporal/classes/ymd_timer.e @@ -0,0 +1,73 @@ +note + description: "[ + Timer for hours, minutes, seconds, and miliseconds. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: $" + revision: "$Revision: $" + +class + YMD_TIMER + +inherit + + YMD_INTERVAL + undefine + duration + redefine + default_create, + time_anchor, + duration_anchor + end + + TIMER + undefine + time_anchor, + duration_anchor + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Set up the timer + do + Precursor {YMD_INTERVAL} + Precursor {TIMER} + create cumulative + end + + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: YMD_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: YMD_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + +end diff --git a/jj_temporal/classes/ymdhms_duration.e b/jj_temporal/classes/ymdhms_duration.e new file mode 100644 index 0000000..1805d6e --- /dev/null +++ b/jj_temporal/classes/ymdhms_duration.e @@ -0,0 +1,268 @@ +note + description: "[ + Duration of time described in years, months, days, + hours, minutes, and seconds. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMDHMS_DURATION + +inherit + + YMD_DURATION + rename + set as ymd_set, + as_string as as_ymd_string + redefine + default_create, + zero, one, + set_zero, + as_years, as_months, as_days, + add, sub, multiply, divide, div, mod, negate, percent_of, + is_less, + normalize + end + + HMS_DURATION + rename + set as hms_set, + as_string as as_hms_string + redefine + default_create, + zero, one, + set_zero, + as_hours, as_minutes, as_seconds, + add, sub, multiply, divide, div, mod, negate, percent_of, + is_less, + normalize + select + as_hms_string + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + do + Precursor {YMD_DURATION} + Precursor {HMS_DURATION} + end + +feature -- Access + + as_string: STRING_8 + -- The time represented as a string. + do + Result := as_ymd_string + ":" + as_hms_string + end + + zero: like Current + -- Neutral element for "+" and "-" + do + create Result + end + + one: like Current + -- Neutral element for "*" and "/" + do + create Result + Result.set (1,1,1,1,1,1) + end + + as_years: DOUBLE + -- Length of duration in years. + do + Result := years + months / 12 + days / days_per_year + + hours / (24 * days_per_year) + minutes / (60 * 24 * days_per_year) + + seconds / (60 * 60 * 24 * days_per_year) + end + + as_months: DOUBLE + -- Length of duration in months. + do + Result := years * 12 + months + days / days_per_month + + hours / hours_per_month + minutes / (60 * hours_per_month) + + seconds / (60 * 60 * hours_per_month) + end + + as_days: DOUBLE + -- Length of duration in days. + do + Result := years * days_per_year + months * days_per_month + days + + hours / 24 + minutes / (24 * 60) + seconds / (24 * 60 * 60) + end + + as_hours: DOUBLE + -- Length of this duration in hours. + do + Result := (years * days_per_year + months * days_per_month + days) -- number of days + * 24 + hours + minutes / 60 + seconds / 3600 + end + + as_minutes: DOUBLE + -- Length of this duration in minutes. + do + Result := ((years * days_per_year + months * days_per_month + days) -- number of days + * 24 + hours) -- number of hours + * 60 + minutes + seconds / 60 + end + + as_seconds: DOUBLE + -- Length of this duration in seconds. + do + Result := (((years * days_per_year + months * days_per_month + days) -- number of days + * 24 + hours) -- number of hours + * 60 + minutes) -- number of minutes + * 60 + seconds + end + +feature -- Element change + + set (a_year, a_month, a_day, a_hour, a_minute, a_second: INTEGER) + -- Change years, months, days, hours, minutes, seconds. + do + ymd_set (a_year, a_month, a_day) + hms_set (a_hour, a_minute, a_second) + ensure + years_set: years = a_year + months_set: months = a_month + days_set: days = a_day + hours_set: hours = a_hour + minutes_set: minutes = a_minute + seconds_set: seconds = a_second + end + + set_zero + -- Make the duration be zero length. + do + ymd_set (0, 0, 0) + set_fine (0, 0, 0, 0) + end + + + negate + -- Reverse the sign for years, ..., seconds. + do + Precursor {YMD_DURATION} + Precursor {HMS_DURATION} + end + + normalize + -- Convert to standard format: "13 months" becomes "1 year, 1 month". + -- Month and year length is based on 'days_per_month'. + do + Precursor {HMS_DURATION} + set_days (days + hours // 24) + set_hours (hours \\ 24) + Precursor {YMD_DURATION} + end + + add (other: like Current) + -- Add other to current. + do + Precursor {YMD_DURATION} (other) + Precursor {HMS_DURATION} (other) + end + + sub (other: like Current) + -- Subtract other from current. + do + Precursor {YMD_DURATION} (other) + Precursor {HMS_DURATION} (other) + end + + multiply (r: DOUBLE) + -- Multiply by a factor of 'r'. + -- Result is normalized. + local + v: DOUBLE + fract: DOUBLE + do + v := years * r + years := v.floor + fract := v - years + + v := months * r + 12 * fract + months := v.floor + fract := v - months + + v := days * r + days_per_month * fract + days := v.floor + fract := v - days + + v := hours * r + 24 * fract + hours := v.floor + fract := v - hours + + v := minutes * r + 60 * fract + minutes := v.floor + fract := v - minutes + + v := seconds * r + 60 * fract + seconds := v.rounded + normalize + end + + divide (r: DOUBLE) + -- Divide by 'r'. + -- Result is normalized. + do + Precursor {HMS_DURATION} (r) -- calculates based on seconds. + end + + div (i: INTEGER) + -- Integer division. + -- Result is normalized. + do + Precursor {HMS_DURATION} (i) -- calculates based on seconds. + end + + mod (i: INTEGER) + -- Modulo. + -- Result is normalized. + do + Precursor {HMS_DURATION} (i) -- calculates based on seconds. + end + + percent_of (other: like Current): DOUBLE + -- What percent of other in length is this one? + do + Result := as_days / other.as_days -- Days seemed reasonable accuracy. + end + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Is this duration shorter than other? + do + Result := Precursor {YMD_DURATION} (other) or else + (years = other.years and then months = other.months and then days = other.days and then + Precursor {HMS_DURATION} (other)) + end + +feature {NONE} -- Implementation + + hours_per_year: DOUBLE + -- Number of hours in a year. + do + Result := days_per_year * 24 + end + + hours_per_month: DOUBLE + -- Number of hours in a month. + do + Result := days_per_month * 24 + end + + + +end -- class YMDHMS_DURATION + diff --git a/jj_temporal/classes/ymdhms_duration_constants.e b/jj_temporal/classes/ymdhms_duration_constants.e new file mode 100644 index 0000000..7773566 --- /dev/null +++ b/jj_temporal/classes/ymdhms_duration_constants.e @@ -0,0 +1,66 @@ +note + description: "[ + Constants for use with {YMDHMS_TIME}, {YMDHMS_DURATION}, + and {YMDHMS_INTERVAL}. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMDHMS_DURATION_CONSTANTS + +feature -- Access + + One_second: YMDHMS_DURATION + once + create Result + Result.set (0, 0, 0, 0, 0, 1) + end + + One_minute: YMDHMS_DURATION + once + create Result + Result.set (0, 0, 0, 0, 1, 0) + end + + One_hour: YMDHMS_DURATION + once + create Result + Result.set (0, 0, 0, 1, 0, 0) + end + + One_day: YMDHMS_DURATION + once + create Result + Result.set (0, 0, 1, 0, 0, 0) + end + + One_week: YMDHMS_DURATION + once + create Result + Result.set (0, 0, 7, 0, 0, 0) + end + + One_month: YMDHMS_DURATION + once + create Result + Result.set (0, 1, 0, 0, 0, 0) + end + + One_quarter: YMDHMS_DURATION + once + create Result + Result.set (0, 3, 0, 0, 0, 0) + end + + One_year: YMDHMS_DURATION + once + create Result + Result.set (1, 0, 0, 0, 0, 0) + end + +end -- class YMDHMS_DURATION_CONSTANTS diff --git a/jj_temporal/classes/ymdhms_interval.e b/jj_temporal/classes/ymdhms_interval.e new file mode 100644 index 0000000..bb617b9 --- /dev/null +++ b/jj_temporal/classes/ymdhms_interval.e @@ -0,0 +1,60 @@ +note + description: "[ + A span of time consisting of a start-time, finish-time + and duration described in terms of years, months, + days, hours, minutes, and seconds. Positive durations only. + ]" + names: "ymdhms_interval, interval, time_span, time_interval, span" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMDHMS_INTERVAL + +inherit + + HMS_INTERVAL + undefine + default_create, + time_anchor, + duration_anchor + end + + YMD_INTERVAL + redefine + time_anchor, + duration_anchor + end + +create + default_create + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: YMDHMS_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + do + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: YMDHMS_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + do + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +end diff --git a/jj_temporal/classes/ymdhms_time.e b/jj_temporal/classes/ymdhms_time.e new file mode 100644 index 0000000..6e12d31 --- /dev/null +++ b/jj_temporal/classes/ymdhms_time.e @@ -0,0 +1,391 @@ +note + description: "[ + An exact point of time of a particular day. A Year, Month, Day, + Hour, Minute, Second - time (ie. a date and time). + ]" + names: "date, time, date_and_time" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMDHMS_TIME + +inherit + + YMD_TIME + rename + set as set_ymd_time, + as_days as as_seconds, + from_days as from_seconds + redefine + default_create, + set_now, + set_now_utc, + set_now_utc_fine, + is_less, + is_valid, + add_duration, + time_between, +-- normalize, + truncate_to_years, + truncate_to_months, + as_string, + as_seconds, + from_seconds, + from_string, + is_valid_string_representation, + is_valid_integer_representation, + is_representable_as_integer, + duration_anchor, + interval_anchor + end + + HMS_TIME + rename + set as set_hms_time + redefine + default_create, + set_now, + set_now_utc, + set_now_fine, + set_now_utc_fine, + is_less, + is_valid, + add_duration, + time_between, + seconds_between, + add_hours, +-- normalize, + truncate_to_hours, + truncate_to_minutes, + as_string, + as_seconds, + from_seconds, + from_string, + is_valid_string_representation, + is_valid_integer_representation, + is_representable_as_integer, + Duration_anchor, + Interval_anchor + select + from_seconds + end + +create + default_create, + set_now, + set_now_utc, + set_now_fine, + set_now_utc_fine, + from_seconds, + from_string + +feature {NONE} -- Initialization + + default_create + -- Create an instance with todays date at midnight. + do + Precursor {HMS_TIME} + Precursor {YMD_TIME} + end + +feature -- Access + + as_string: STRING + -- String representation of Current in a compact form. + do + Result := Precursor {YMD_TIME} + Result.append ("T") + Result.append (Precursor {HMS_TIME}) + end + + as_seconds: INTEGER + -- The number of seconds from midnight (00:00:00) + -- on 1 Jan 1970 to the Current time. + local + days: INTEGER + do + days := Precursor {YMD_TIME} + Result := days * 24 * 60 * 60 + Precursor {HMS_TIME} + end + +feature -- Element Change + + from_string (a_string: STRING) + -- Change Current to the time represented by `a_string'. + -- It must be in the format as provided by `as_string'. + local + pos: INTEGER + do + pos := a_string.index_of ('T', 1) + Precursor {YMD_TIME} (a_string.substring (1, pos - 1)) + Precursor {HMS_TIME} (a_string.substring (pos + 1, a_string.count)) + end + + from_seconds (a_seconds: INTEGER) + -- Change Current to the time represented by `a_seconds'. + -- `A_seconds' is assumed to be the number of seconds since 1 Jan 1970. + -- It must represent a date that is not BC. + do + set (1970, 1, 1, 0, 0, 0) + add_seconds (a_seconds) + end + + set_now + -- Initialize the instance from the system clock unsing the + -- current time zone. + do + Precursor {HMS_TIME} + Precursor {YMD_TIME} + end + + set_now_utc + -- Initialize the instance from the system clock unsing GMT. + do + Precursor {HMS_TIME} + Precursor {YMD_TIME} + end + + set_now_fine + -- Initialize the instance from the system clock using the current + -- time zone and including milliseconds. + do + set_now + Precursor {HMS_TIME} + end + + set_now_utc_fine + -- Initialize the instance from the system clock using the GMT and + -- including milliseconds. + do + set_now_utc + Precursor {HMS_TIME} + end + + set (a_year, a_month, a_day, a_hour, a_minute, a_second: INTEGER) + -- Change the 'year', ..., 'second'. + require + year_valid: a_year /= 0; + month_valid: 1 <= a_month and a_month <= 12; + day_valid: 1 <= a_day and a_day <= 31; + hour_valid: 0 <= a_hour and a_hour <= 23; + minute_valid: 0 <= a_minute and a_minute <= 59; + second_valid: 0 <= a_second and a_second <= 59 + do + set_ymd_time (a_year, a_month, a_day); + set_hms_time (a_hour, a_minute, a_second); + end + + truncate_to_years + -- Set to midnight on the first day of month 1. + -- Use when all but the `year' is to be ignored. + do + Precursor {YMD_TIME} + set_hms_time (0, 0, 0) + ensure then + year_unchanged: year = old year + month_one: month = 1 + day_one: day = 1 + hour_zero: hour = 0 + minute_zero: minute = 0 + second_zero: second = 0 + end + + truncate_to_months + -- Set to midnight on the first day of the current month. + -- Use when all but the `year' and `month' is to be ignored. + do + Precursor {YMD_TIME} + set_hms_time (0, 0, 0) + ensure then + year_unchanged: year = old year + month_unchaged: month = old month + day_one: day = 1 + hour_zero: hour = 0 + minute_zero: minute = 0 + second_zero: second = 0 + end + + truncate_to_days + -- Set to midnight on the current day. + -- Use when the time portion of the date is to be ignored. + do + set_hms_time (0, 0, 0) + ensure then + year_unchanged: year = old year + month_unchaged: month = old month + day_unchaged: day = old day + hour_zero: hour = 0 + minute_zero: minute = 0 + second_zero: second = 0 + end + + truncate_to_hours + -- Set the `hour', `second', and `millisecond' to zero. + -- Used when these portions of the time are to be ignored. + do + set (year, month, day, hour, 0, 0) + end + + truncate_to_minutes + do + set (year, month, day, hour, minute, 0) + end + +feature -- Basic operations + + add_duration (a_duration: like duration_anchor) + -- Add a length of time (in years, months, days, + -- hours, minutes, and seconds) to the time. + do + Precursor {HMS_TIME} (a_duration) + add_days (overflow) + clear_overflow + Precursor {YMD_TIME} (a_duration) + ensure then + no_overflowing_days: overflow = 0 + end + + add_hours (a_number: INTEGER) + -- Add `a_number' of hours to the current time + do + Precursor {HMS_TIME} (a_number) + add_days (overflow) + clear_overflow + end + +feature -- Status report + + is_representable_as_integer: BOOLEAN + -- Can Current be represented as an integer? + do + Result := Precursor {HMS_TIME} and then Precursor {YMD_TIME} + end + +feature -- Querry + + time_between (other: like Current): like duration_anchor + -- The difference between two dates as a time span or duration. + local + larger, smaller: like Current + y, mon, d, h, m, s: INTEGER + do + larger := max (other) + smaller := min (other) + y := larger.year - smaller.year + mon := larger.month - smaller.month + d := larger.day - smaller.day + h := larger.hour - smaller.hour + m := larger.minute - smaller.minute + s := larger.second - smaller.second + if s < 0 then + s := s + 60 + m := m - 1 + end + if m < 0 then + m := m + 60 + h := h - 1 + end + if h < 0 then + h := h + 24 + d := d - 1 + end + if d < 0 then + d := d + smaller.last_day_of_month + mon := mon - 1 + end + if mon < 0 then + mon := mon + 12 + y := y - 1 + end + create Result + Result.set (y, mon, d, h, m, s) + if Current < other then + Result.negate + end + end + + seconds_between (a_other: like Current): INTEGER + -- The number of seconds between Current and `a_other'. + do + Result := days_between (a_other) * 24 * 60 * 60 + Precursor {HMS_TIME} (a_other) + end + + is_valid_string_representation (a_string: STRING): BOOLEAN + -- Is `a_string' in a format that can be used to initialize Current? + local + i: INTEGER + ds, ts: STRING + do + if a_string /= Void then + i := a_string.index_of ('T', 1) + ds := a_string.substring (1, i - 1) + ts := a_string.substring (i + 1, a_string.count) + Result := Precursor {YMD_TIME} (ds) and then Precursor {HMS_TIME} (ts) + end + end + + is_valid_integer_representation (a_integer: INTEGER): BOOLEAN + -- Is `a_integer' in range to be converted to a time? + do + Result := Precursor {HMS_TIME} (a_integer) and then + Precursor {YMD_TIME} (a_integer) + end + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Does this date_and_time come before 'other' + do + Result := year < other.year or else + ((year = other.year) and (month < other.month)) or else + ((year = other.year) and (month = other.month) and (day < other.day)) or else + ((year = other.year) and (month = other.month) and (day = other.day) and + (hour < other.hour)) or else + ((year = other.year) and (month = other.month) and (day = other.day) and + (hour = other.hour) and (minute < other.minute)) or else + ((year = other.year) and (month = other.month) and (day = other.day) and + (hour = other.hour) and (minute = other.minute) and (second < other.second)) or else + ((year = other.year) and (month = other.month) and (day = other.day) and + (hour = other.hour) and (minute = other.minute) and (second = other.second) and + (millisecond < other.millisecond)) + + end + +feature {NONE} -- Implementation + + is_valid: BOOLEAN + -- Is the date and time logical? + do + Result := Precursor {YMD_TIME} and Precursor {HMS_TIME} + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + duration_anchor: YMDHMS_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + interval_anchor: YMDHMS_INTERVAL + -- Anchor for features using intervals. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +end diff --git a/jj_temporal/classes/ymdhms_timer.e b/jj_temporal/classes/ymdhms_timer.e new file mode 100644 index 0000000..0198e06 --- /dev/null +++ b/jj_temporal/classes/ymdhms_timer.e @@ -0,0 +1,77 @@ +note + description: "Summary description for {YMDHMS_TIMER}." + author: "" + date: "$Date$" + revision: "$Revision$" + +class + YMDHMS_TIMER + +inherit + + YMDHMS_INTERVAL + undefine + duration + redefine + default_create, + time_anchor, + duration_anchor + end + + HMS_TIMER + undefine + duration + redefine + default_create, + time_anchor, + duration_anchor + end + + YMD_TIMER + undefine + time_anchor, + duration_anchor + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Set up the timer + do + Precursor {YMDHMS_INTERVAL} + Precursor {YMD_TIMER} + create cumulative + end + + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: YMDHMS_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: YMDHMS_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + +end diff --git a/jj_temporal/demo/jj_temporal_demo.e b/jj_temporal/demo/jj_temporal_demo.e new file mode 100644 index 0000000..657efc8 --- /dev/null +++ b/jj_temporal/demo/jj_temporal_demo.e @@ -0,0 +1,88 @@ +note + description: "[ + Test objects for temporal cluster. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL: $" + date: "$Date: $" + revision: "$Revision: $" + +class + JJ_TEMPORAL_DEMO + +create + make + +feature {NONE} -- Initialization + + make + -- Initialize `Current'. + local + i: INTEGER + do + create date + create time + create date_time + io.put_string (date.out) + io.new_line + io.new_line + io.put_string (time.out) + io.new_line + io.new_line + io.put_string (date_time.out) + + create ymd_formatter + create timer_1 + create timer_2 + timer_1.reset + timer_2.reset + + from i := 1 + until i > 10 + loop + io.put_string ("i = " + i.out + "%N") + timer_1.run + ee.sleep (100) + timer_1.stop + timer_2.run + ee.sleep (1_000_000_000) + timer_2.stop + io.put_string ("timer_1.cumulative = " + timer_1.cumulative.as_seconds.out) + io.new_line + io.put_string ("timer_2.cumulative = " + timer_2.cumulative.as_seconds.out) + io.new_line + i := i + 1 + end + io.put_string ("timer_1.cumulative = " + timer_1.cumulative.as_seconds.out) + io.put_string (" %T") + io.put_string ("timer_2.cumulative = " + timer_2.cumulative.as_seconds.out) + io.new_line + +-- io.put_string ("The formatted date = ") +-- io.put_string (ymd_formatter.to_string (date) + "%N") + end + +feature -- Access + + date: YMD_TIME + -- To test a date + + time: HMS_TIME + -- To test a time + + date_time: YMDHMS_TIME + -- To test a date and time + + ymd_formatter: YMD_TIME_FORMATTER + -- To test the gobo parsers + + timer_1, timer_2: HMS_TIMER + + ee: EXECUTION_ENVIRONMENT + once + create Result + end + +end diff --git a/jj_temporal/demo/jj_temporal_demo.ecf b/jj_temporal/demo/jj_temporal_demo.ecf new file mode 100644 index 0000000..6cf836d --- /dev/null +++ b/jj_temporal/demo/jj_temporal_demo.ecf @@ -0,0 +1,23 @@ + + + + + + + + + + + + /.git$ + /.svn$ + /CVS$ + /EIFGENs$ + + + + diff --git a/jj_temporal/docs/Forum.txt b/jj_temporal/docs/Forum.txt new file mode 100644 index 0000000..0bf6d0b --- /dev/null +++ b/jj_temporal/docs/Forum.txt @@ -0,0 +1,18 @@ +Eiffel Forum License, version 2 + +1. Permission is hereby granted to use, copy, modify and/or + distribute this package, provided that: + * copyright notices are retained unchanged, + * any distribution of this package, whether modified or not, + includes this license text. +2. Permission is hereby also granted to distribute binary programs + which depend on this package. If the binary program depends on a + modified version of this package, you are encouraged to publicly + release the modified version of this package. + +THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT WARRANTY. ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE TO ANY PARTY FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THIS PACKAGE. diff --git a/jj_temporal/docs/main_classes.png b/jj_temporal/docs/main_classes.png new file mode 100644 index 0000000000000000000000000000000000000000..dd2531c3672a3633132752c3433f9705e3f9403a GIT binary patch literal 118416 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 iqW>Q|;(tbX*1^4B+eF|lzTYneKCaGGrwT{^_= 1 + local + s, ds: STRING + i: INTEGER + do + s := to_string (a_date) + ds := hour_string (a_date) + i := s.substring_index (ds, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ds.count-1 + end + end + + is_index_in_minute_string (a_date: HMS_DURATION; a_index: INTEGER): BOOLEAN + local + s, ms: STRING + i: INTEGER + do + s := to_string (a_date) + ms := minute_string (a_date) + i := s.substring_index (ms, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ms.count-1 + end + end + + is_index_in_second_string (a_date: HMS_DURATION; a_index: INTEGER): BOOLEAN + local + s, ys: STRING + i: INTEGER + do + s := to_string (a_date) + ys := second_string (a_date) + i := s.substring_index (ys, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ys.count-1 + end + end + +feature {NONE} -- Implementation + + format: INTEGER + + hms, smh, -- hours-minutes-seconds, etc + hm, mh : INTEGER = unique -- hours-minutes only + + hms_parse (a_string: STRING) + do + end + + +end -- class HMS_DURATION_FORMATTER + + diff --git a/jj_temporal/formatters/hms_time_formatter.e b/jj_temporal/formatters/hms_time_formatter.e new file mode 100644 index 0000000..104d4f8 --- /dev/null +++ b/jj_temporal/formatters/hms_time_formatter.e @@ -0,0 +1,245 @@ +note + description: "[ + Utility class for converting {HMS_TIME}'s to and from + strings based on a selected `format'. While the string given + by feature `to_string' is set based on the format, the parsing + of a string to a duration in feature `to_hms_time' is more + relaxed. + ]" + date: "18 Feb 03" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + HMS_TIME_FORMATTER + +inherit + + ANY + redefine + default_create + end + +create + default_create + +feature -- Initialization + + default_create + do + set_separator (":") + hide_seconds + set_12_hour + end + +feature -- Element change + + set_separator (a_string: STRING) + require + separator_exists: a_string /= Void + do + separator := a_string + end + + set_12_hour + do + is_12_hour := True + end + + set_24_hour + do + is_12_hour := False + end + + show_seconds + do + is_seconds_shown := True + end + + hide_seconds + do + is_seconds_shown := False + end + +feature -- Access + + separator: STRING + + hour_string (a_time: like time_anchor): STRING + require + time_exists: a_time /= Void + local + h: INTEGER + do + h := a_time.hour + if is_12_hour and then h >= 12 then + h := h - 12 + end + if is_12_hour and then h = 0 then + h := 12 + end + create Result.make(2) + if h < 10 then + Result.append ("0") + end + Result.append_integer (h) + end + + minute_string (a_time: like time_anchor): STRING + require + time_exists: a_time /= Void + do + create Result.make(2) + if a_time.minute < 10 then + Result.append ("0") + end + Result.append_integer (a_time.minute) + end + + second_string (a_time: like time_anchor): STRING + require + time_exists: a_time /= Void + do + create Result.make(2) + if a_time.second < 10 then + Result.append ("0") + end + Result.append_integer (a_time.second) + end + + am_pm_string (a_time: like time_anchor): STRING + require + time_exists: a_time /= Void + do + create Result.make (3) + if a_time.hour >= 12 then + Result.append (" PM") + else + Result.append (" AM") + end + end + + to_string (a_time: like time_anchor): STRING + -- the whole {HMS_TIME} as a string + require + time_exists: a_time /= Void + do + create Result.make (20) + Result.append (hour_string (a_time)) + Result.append (separator) + Result.append (minute_string (a_time)) + if is_seconds_shown then + Result.append (separator) + Result.append (second_string (a_time)) + end + if is_12_hour then + Result.append (am_pm_string (a_time)) + end + end + +feature -- Status report + + is_12_hour: BOOLEAN + + is_seconds_shown: BOOLEAN + +feature -- Query + + is_valid_time_string (a_time: STRING): BOOLEAN + require + string_exists: a_time /= Void + do + -- parse the string + end + + is_index_in_hour_string (a_time: like time_anchor; a_index: INTEGER): BOOLEAN + require + time_exists: a_time /= Void +-- index_large_enough: a_index >= 1 + local + s, hs: STRING + i: INTEGER + do + s := to_string (a_time) + hs := hour_string (a_time) + i := s.substring_index (hs, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + hs.count-1 + end + end + + is_index_in_minute_string (a_time: like time_anchor; a_index: INTEGER): BOOLEAN + require + time_exists: a_time /= Void +-- index_large_enough: a_index >= 1 + local + s, ms: STRING + i: INTEGER + do + s := to_string (a_time) + ms := minute_string (a_time) + i := s.substring_index (ms, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ms.count-1 + end + end + + is_index_in_second_string (a_time: like time_anchor; a_index: INTEGER): BOOLEAN + require + time_exists: a_time /= Void +-- index_large_enough: a_index >= 1 + local + s, ss: STRING + i: INTEGER + do + s := to_string (a_time) + ss := hour_string (a_time) + i := s.substring_index (ss, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ss.count-1 + end + end + + is_index_in_am_pm_string (a_time: like time_anchor; a_index: INTEGER): BOOLEAN + require + time_exists: a_time /= Void +-- index_large_enough: a_index >= 1 + local + s, ss: STRING + i: INTEGER + do + s := to_string (a_time) + ss := am_pm_string (a_time) + i := s.substring_index (ss, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ss.count-1 + end + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: HMS_TIME + -- Not to be called; just used to anchor types. + require + not_callable: False + do + check + do_not_call: False then + -- Because gives no info; simply used as anchor. + end + end + +feature {NONE} -- Implementation + + hms_parse (a_string: STRING) + do + end + + +end + + diff --git a/jj_temporal/formatters/ymd_duration_formatter.e b/jj_temporal/formatters/ymd_duration_formatter.e new file mode 100644 index 0000000..3986a09 --- /dev/null +++ b/jj_temporal/formatters/ymd_duration_formatter.e @@ -0,0 +1,192 @@ +note + description: "[ + Utility class for converting {YMD_DURATION}'s to and from + strings based on a selected `format'. While the string given + by feature `as_string' is set based on the format, the parsing + of a string to a duration in feature `to_ymd_duration' is more + relaxed. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_DURATION_FORMATTER + +inherit + + ANY + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + do + set_separator (", ") + set_year_month_day + end + +feature -- Access + + separator: STRING + +feature -- Element change + + set_separator (a_string: STRING) + require + string_exists: a_string /= Void + do + separator := a_string + end + + set_day_month_year + -- Set format to day-month-year. + do + format := dmy + end + + set_year_month_day + do + format := ymd + end + + set_day_month + do + format := dm + end + + set_month_year + do + format := my + end + +feature -- Access + + year_string (a_duration: YMD_DURATION): STRING + do + create Result.make(8) + Result.append_integer (a_duration.years) + Result.append (" year") + if a_duration.years /= 1 and a_duration.years /= -1 then + Result.append ("s") + end + end + + month_string (a_duration: YMD_DURATION): STRING + do + create Result.make (8) + Result.append_integer (a_duration.months) + Result.append (" month") + if a_duration.months /= 1 and a_duration.months /= -1 then + Result.append ("s") + end + end + + day_string (a_duration: YMD_DURATION): STRING + do + create Result.make (8) + Result.append_integer (a_duration.days) + Result.append (" day") + if a_duration.days /= 1 and a_duration.days /= -1 then + Result.append ("s") + end + end + + to_string (a_duration: YMD_DURATION): STRING + -- the whole duration as a string + do + create Result.make (20) + Result.append (day_string(a_duration)) + Result.append (separator) + Result.append (month_string(a_duration)) + Result.append (separator) + Result.append (year_string(a_duration)) + end + + string_to_duration (a_string: STRING): YMD_DURATION + -- Parse the string based on the current formatting. + require + valid_date_string: is_valid_date_string (a_string) + do + check + fix_me: False then + end + end + +feature -- Query + + is_valid_date_string (a_string: STRING): BOOLEAN + require + string_exists: a_string /= Void + do + -- parse the string + Result := True +-- !!! temporary + end + + is_index_in_day_string (a_date: YMD_DURATION; a_index: INTEGER): BOOLEAN + require + date_exists: a_date /= Void +-- index_large_enough: a_index >= 1 + local + s, ds: STRING + i: INTEGER + do + s := to_string (a_date) + ds := day_string (a_date) + i := s.substring_index (ds, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ds.count-1 + end + end + + is_index_in_month_string (a_date: YMD_DURATION; a_index: INTEGER): BOOLEAN + local + s, ms: STRING + i: INTEGER + do + s := to_string (a_date) + ms := month_string (a_date) + i := s.substring_index (ms, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ms.count-1 + end + end + + is_index_in_year_string (a_date: YMD_DURATION; a_index: INTEGER): BOOLEAN + local + s, ys: STRING + i: INTEGER + do + s := to_string (a_date) + ys := year_string (a_date) + i := s.substring_index (ys, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ys.count-1 + end + end + + +feature {NONE} -- Implementation + + format: INTEGER + + dmy, ymd, -- day-month-year, etc + dm, my : INTEGER = unique -- day-month or month-year only + + dmy_parse (a_string: STRING) + do + end + + +end -- class YMD_DURATION_FORMATTER + + diff --git a/jj_temporal/formatters/ymd_time_format_constants.e b/jj_temporal/formatters/ymd_time_format_constants.e new file mode 100644 index 0000000..7a30d69 --- /dev/null +++ b/jj_temporal/formatters/ymd_time_format_constants.e @@ -0,0 +1,133 @@ +note + description: "[ + Constants describing how {YMD_TIME}'s (dates) should appear. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_TIME_FORMAT_CONSTANTS + +feature -- Assess + + Day_month_year: INTEGER = 0 + -- (e.g. "31 January 2004" or "31/01/04") + + Year_month_day: INTEGER = 1 + -- (e.g. "2004 January 31" or "04/01/31") + + Month_day_year: INTEGER = 2 + -- (e.g. "January 31, 2004" or "01/31/04") + + Day_month: INTEGER = 3 + -- (e.g. "31 January" or "31/01") + + Month_year: INTEGER = 4 + -- (e.g. "January 2004" or "01/04") + + days_text: LINKED_LIST [STRING] + once + create Result.make + Result.extend ("SUN") + Result.extend ("MON") + Result.extend ("TUE") + Result.extend ("WED") + Result.extend ("THU") + Result.extend ("FRI") + Result.extend ("SAT") + Result.compare_objects + end + + months_text: LINKED_LIST [STRING] + once + create Result.make + Result.extend ("JAN") + Result.extend ("FEB") + Result.extend ("MAR") + Result.extend ("APR") + Result.extend ("MAY") + Result.extend ("JUN") + Result.extend ("JUL") + Result.extend ("AUG") + Result.extend ("SEP") + Result.extend ("OCT") + Result.extend ("NOV") + Result.extend ("DEC") + Result.compare_objects + end + + long_days_text: LINKED_LIST [STRING] + once + create Result.make + Result.extend ("SUNDAY") + Result.extend ("MONDAY") + Result.extend ("TUESDAY") + Result.extend ("WEDNESDAY") + Result.extend ("THURSDAY") + Result.extend ("FRIDAY") + Result.extend ("SATURDAY") + Result.compare_objects + end + + long_months_text: LINKED_LIST [STRING] + -- + once + create Result.make + Result.extend ("JANUARY") + Result.extend ("FEBRUARY") + Result.extend ("MARCH") + Result.extend ("APRIL") + Result.extend ("MAY") + Result.extend ("JUNE") + Result.extend ("JULY") + Result.extend ("AUGUST") + Result.extend ("SEPTEMBER") + Result.extend ("OCTOBER") + Result.extend ("NOVEMBER") + Result.extend ("DECEMBER") + Result.compare_objects + end + +feature -- Querry + + is_valid_format (a_integer: INTEGER): BOOLEAN + -- Does `a_integer' represent a valid date format? + do + Result := a_integer = Day_month_year or else + a_integer = Year_month_day or else + a_integer = Month_day_year or else + a_integer = Day_month or else + a_integer = Month_year + end + + is_month (a_string: STRING): BOOLEAN + -- Does a_string represent a month? + do + Result := months_text.has (a_string.as_upper) or else + long_months_text.has (a_string.as_upper) + end + + is_weekday (a_string: STRING): BOOLEAN + -- Does `a_string' represent a weekday? + do + Result := days_text.has (a_string.as_upper) or else + long_days_text.has (a_string.as_upper) + end + + get_month (a_month: STRING): INTEGER + -- Number of the `a_month' + require + is_month: is_month (a_month) + do + if months_text.has (a_month.as_upper) then + Result := months_text.index_of (a_month.as_upper, 1) + else + Result := long_months_text.index_of (a_month.as_upper, 1) + end + end + +end diff --git a/jj_temporal/formatters/ymd_time_formatter.e b/jj_temporal/formatters/ymd_time_formatter.e new file mode 100644 index 0000000..3807521 --- /dev/null +++ b/jj_temporal/formatters/ymd_time_formatter.e @@ -0,0 +1,397 @@ +note + description: "[ + Utility class for converting {YMD_TIME}'s (i.e. dates) to and from + strings based on a selected `format'. While the string given + by feature `as_string' is set based on the format, the parsing + of a string to a date in feature `to_ymd_time' is more relaxed. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_TIME_FORMATTER + +inherit + + YMD_TIME_FORMAT_CONSTANTS + redefine + default_create + end + +create + default_create + +feature -- Initialization + + default_create + -- Create an instance to parse dates in "dd mmm yy" format. + do + set_separator (" ") + end + +feature -- Access + + separator: STRING + -- The character (or string) placed between the day, month, year, etc. + + to_ymd_time (a_string: STRING): like time_anchor + -- Parse `a_string' + require + string_exists: a_string /= Void + is_string_valid: is_valid (a_string) + do + Result := parsed (a_string) + ensure + result_exists: Result /= Void + end + + to_string (a_ymd_time: like time_anchor): STRING + -- The complete string representation of `a_ymd_time'. + require + ymd_time_exists: a_ymd_time /= Void + do + create Result.make (20) + inspect format + when Day_month_year then + if is_weekday_included then + Result.append (weekday_string (a_ymd_time)) + Result.append (", ") + end + Result.append (day_string (a_ymd_time)) + Result.append (separator) + Result.append (month_string (a_ymd_time)) + Result.append (separator) + Result.append (year_string (a_ymd_time)) + when Year_month_day then + when Month_day_year then + when Month_year then + when Day_month then + else + check + should_not_happen: False + -- because format must be one of these + end + end + end + + year_string (a_ymd_time: like time_anchor): STRING + -- The string representation of `year' feature of `a_ymd_time'. + -- Will be shortened to two characters if `is_short_format'. + do + create Result.make(4) + Result.append_integer (a_ymd_time.year) + if is_short_format then + if a_ymd_time.year < 10 then + Result.keep_tail (1) + if is_zero_padded then + Result.prepend ("0") + end + else + Result.keep_tail (2) + end + else + if is_zero_padded then + if a_ymd_time.year < 10 then + Result.prepend ("000") + elseif a_ymd_time.year < 100 then + Result.prepend ("00") + elseif a_ymd_time.year < 1000 then + Result.prepend ("0") + end + end + end + ensure + valid_length_if_short: is_short_format implies Result.count <= 2 + end + + month_string (a_ymd_time: like time_anchor): STRING + -- The string representation of `month' feature of `a_ymd_time'. + require + ymd_time_exists: a_ymd_time /= Void + do + create Result.make (10) + if is_month_numeric then + if is_zero_padded and a_ymd_time.month < 10 then + Result.append ("0") + end + Result.append_integer (a_ymd_time.month) + else + if is_short_format then + Result.append (months_text.i_th (a_ymd_time.month)) + else + Result.append (long_months_text.i_th (a_ymd_time.month)) + end + end + end + + day_string (a_ymd_time: like time_anchor): STRING + -- The string representation of `day' feature of `a_ymd_time'. + require + ymd_time_exists: a_ymd_time /= Void + do + create Result.make (2) + if is_zero_padded and a_ymd_time.day < 10 then + Result.append ("0") + end + Result.append_integer (a_ymd_time.day) + end + + weekday_string (a_ymd_time: like time_anchor): STRING + -- The string repesentation of the `weekday' of `a_ymd_time'. + -- (i.e. "Sunday", "Monday, etc. or "Sun", "Mon", etc. + require + ymd_time_exists: a_ymd_time /= Void + do + create Result.make (15) + inspect a_ymd_time.weekday + when 1 then Result.append ("Sunday") + when 2 then Result.append ("Monday") + when 3 then Result.append ("Tuesday") + when 4 then Result.append ("Wednesday") + when 5 then Result.append ("Thursday") + when 6 then Result.append ("Friday") + when 7 then Result.append ("Saturday") + else + check + should_not_happen: False + -- because `weekday' ranges from 1 to 7. + end + end + if is_short_format then + Result.keep_head (3) + end + end + +feature -- Element change + + set_separator (a_string: STRING) + -- Set `separator' to `a_string'. + require + separator_exists: a_string /= Void + do + separator := a_string + ensure + seperator_set: separator = a_string + end + + set_format (a_format: INTEGER) + -- Change `format'. + -- The values are in YMD_TIME_FORMAT_CONSTANTS + require + valid_format: is_valid_format (a_format) + do + format := a_format + end + + set_show_weekday + -- Include the day of the week in the output string. + do + is_weekday_included := True + end + + set_hide_weekday + -- Do not include the day of the week in the output string. + do + is_weekday_included := False + end + + set_format_short + -- Abriviate the `month_string' (if shown as text) to three + -- characters and shorten the year to two digits. + do + is_short_format := True + end + + set_format_long + -- Show the `month_string' (if shown as text) to the complete + -- (unabriviated) word and show the year as four digits. + do + is_short_format := False + end + + set_month_numeric + -- Make the month appear as digits, not text. + do + is_month_numeric := True + ensure + showing_month_as_digits: is_month_numeric + end + + set_month_text + -- Make the month appear as text. + -- It may be full text or abbriviated depending on `is_format_short'. + do + is_month_numeric := False + ensure + showing_month_as_text: not is_month_numeric + end + + set_pad_zeros + -- Make sure the `day_string', `year_string', and `month_string' (when + -- `is_month_numeric') are padded with leading zeros when necessary. + -- For example, in numeric form "9 Jan 2004" may be shown as "09/01/04". + do + is_zero_padded := True + ensure + zero_padding_set: is_zero_padded + end + + set_hide_zeros + -- Do not pad numeric values with leading zeros. + do + is_zero_padded := False + ensure + not_padded: not is_zero_padded + end + +feature -- Basic operations + + save_format + -- Save the `format' for restoration later. + do + saved := format + ensure + format_saved: saved = format + end + + restore_format + -- Reset `format' to the value `saved' by a call to `save_format'. + do + format := saved + ensure + format_restored: format = saved + end + +feature -- Query + + is_valid (a_string: STRING): BOOLEAN + -- Is `a_string' convertable to a date? + require + string_exists: a_string /= Void + do + Result := parsed (a_string) /= Void + ensure + definition: Result implies parsed (a_string) /= Void + end + + is_weekday_included: BOOLEAN + -- Is the day of week (ie "Monday") in ymd_time string. + + is_short_format: BOOLEAN + -- Is the year two digits instead of four and + -- is the month abriviated? + + is_month_numeric: BOOLEAN + -- Is the `month_string' shown as digits? (As opposed to a + -- textual representation such as "January".) + + is_zero_padded: BOOLEAN + -- Are digital values to be padded with leading zero's if + -- shorter than normal? + + is_index_in_day_string (a_ymd_time: like time_anchor; a_index: INTEGER): BOOLEAN + require + ymd_time_exists: a_ymd_time /= Void +-- index_large_enough: a_index >= 1 + local + s, ds: STRING + i: INTEGER + do + s := to_string (a_ymd_time) + ds := day_string (a_ymd_time) + i := s.substring_index (ds, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ds.count-1 + end + end + + is_index_in_month_string (a_ymd_time: like time_anchor; a_index: INTEGER): BOOLEAN + require + ymd_time_exists: a_ymd_time /= Void + local + s, ms: STRING + i: INTEGER + do + s := to_string (a_ymd_time) + ms := month_string (a_ymd_time) + i := s.substring_index (ms, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ms.count-1 + end + end + + is_index_in_year_string (a_ymd_time: like time_anchor; a_index: INTEGER): BOOLEAN + local + s, ys: STRING + i: INTEGER + do + s := to_string (a_ymd_time) + ys := year_string (a_ymd_time) + i := s.substring_index (ys, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ys.count-1 + end + end + + is_index_in_weekday_string (a_ymd_time: like time_anchor; a_index: INTEGER): BOOLEAN + local + s, wds: STRING + i: INTEGER + do + s := to_string (a_ymd_time) + wds := weekday_string (a_ymd_time) + i := s.substring_index (wds, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + wds.count-1 + end + end + +feature {NONE} -- Implementation + + parsed (a_string: STRING): like time_anchor + -- Attemp to convert `a_string' to a {YMD_TIME}, returning + -- Void if unable. + require + string_exists: a_string /= Void + string_has_length: a_string.count >= 1 + local + p: YMD_TIME_PARSER + do + create p +-- p.set_format (format) +-- p.parse_string (a_string) +-- Result := p.last_value + check + fix_me: False then + end + end + + format: INTEGER + + saved: INTEGER + -- used to save the format. + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: YMD_TIME + -- Not to be called; just used to anchor types. + require + not_callable: False + do + check + do_not_call: False then + -- Because gives no info; simply used as anchor. + end + end + +invariant + + valid_ymd_time_format: is_valid_format (format) + +end + + diff --git a/jj_temporal/formatters/ymdhms_duration_formatter.e b/jj_temporal/formatters/ymdhms_duration_formatter.e new file mode 100644 index 0000000..3a6dcb2 --- /dev/null +++ b/jj_temporal/formatters/ymdhms_duration_formatter.e @@ -0,0 +1,68 @@ +note + description: "[ + Utility class for converting {YMDHMS_DURATION}'s to and from + strings based on a selected `format'. While the string given + by feature `as_string' is set based on the format, the parsing + of a string to a date in feature `to_ymdhms_duration' is more + relaxed. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMDHMS_DURATION_FORMATTER + +inherit + + HMS_DURATION_FORMATTER + rename + to_string as time_string, + set_separator as set_time_separator, + separator as time_separator, + string_to_duration as hms_string_to_duration, + format as hms_format + redefine + default_create + end + + YMD_DURATION_FORMATTER + rename + to_string as date_string, + set_separator as set_date_separator, + separator as date_separator, + string_to_duration as ymd_string_to_duration, + format as ymd_format + redefine + default_create + end + +create + default_create + +feature -- Initialization + + default_create + -- + do + Precursor {HMS_DURATION_FORMATTER} + Precursor {YMD_DURATION_FORMATTER} + end + +feature -- Access + + to_string (a_duration: YMDHMS_DURATION): STRING + -- the whole duration as a string + require + duration_exists: a_duration /= Void + do + create Result.make (30) + Result.append (date_string (a_duration)) + Result.append (" ") + Result.append (time_string (a_duration)) + end + +end -- class YMDHMS_DURATION_FORMATTER diff --git a/jj_temporal/formatters/ymdhms_time_formatter.e b/jj_temporal/formatters/ymdhms_time_formatter.e new file mode 100644 index 0000000..1fd19aa --- /dev/null +++ b/jj_temporal/formatters/ymdhms_time_formatter.e @@ -0,0 +1,126 @@ +note + description: "[ + Utility class for converting {YMDHMS_TIME}'s (i.e. date/times) to and from + strings based on a selected `format'. While the string given + by feature `as_string' is set based on the format, the parsing + of a string to a date in feature `to_ymd_time' is more relaxed. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMDHMS_TIME_FORMATTER + +inherit + + HMS_TIME_FORMATTER + rename + set_separator as set_time_separator, + separator as time_separator + redefine + default_create, + to_string, + time_anchor + end + + YMD_TIME_FORMATTER + rename + set_separator as set_date_separator, + separator as date_separator + redefine + default_create, + to_string, + time_anchor + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + do + Precursor {HMS_TIME_FORMATTER} + Precursor {YMD_TIME_FORMATTER} + end + +feature -- Access + + to_string (a_time: like time_anchor): STRING + -- the whole date as a string + do + create Result.make (30) + if not is_date_hidden then + Result.append (Precursor {YMD_TIME_FORMATTER} (a_time)) + Result.append (" ") + end + if not is_time_hidden then + Result.append (Precursor {HMS_TIME_FORMATTER} (a_time)) + end + end + +feature -- Status report + + is_time_hidden: BOOLEAN + -- Will `to_string' not include the time? + + is_date_hidden: BOOLEAN + -- Will `to_string' not include the date? + +feature -- Status setting + + hide_time + -- Make `to_string' produce a string showing the date only; + -- the time portion will not show. + do + is_time_hidden := True + is_date_hidden := False + ensure + time_is_hidden: is_time_hidden + date_is_shown: not is_date_hidden + end + + hide_date + -- Make `a_string' produce a string showing the time only; + -- the date portionn will not show. + do + is_date_hidden := True + is_time_hidden := False + ensure + date_is_hidden: is_date_hidden + time_is_shown: not is_time_hidden + end + + show_date_and_time + -- Make `to_string' produce a string showing both the date + -- portion and the time portion. This is the default. + do + is_date_hidden := False + is_time_hidden := False + ensure + date_is_shown: not is_date_hidden + time_is_shown: not is_time_hidden + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: YMDHMS_TIME + -- Not to be called; just used to anchor types. + require else + not_callable: False + do + check + do_not_call: False then + -- Because gives no info; simply used as anchor. + end + end + +invariant + + not_both_date_and_time_hidden: not (is_date_hidden and is_time_hidden) + +end diff --git a/jj_temporal/jj_t/README.md b/jj_temporal/jj_t/README.md new file mode 100644 index 0000000..d69b0e4 --- /dev/null +++ b/jj_temporal/jj_t/README.md @@ -0,0 +1,7 @@ +# jj_temporal +Eiffel date and time classes + +Main classes: ![](docs/main_classes.png?raw=true) + + + diff --git a/jj_temporal/jj_t/classes/abstract_duration.e b/jj_temporal/jj_t/classes/abstract_duration.e new file mode 100644 index 0000000..df14a88 --- /dev/null +++ b/jj_temporal/jj_t/classes/abstract_duration.e @@ -0,0 +1,229 @@ +note + description: "[ + Notion of a duration of time such as 2 hours, or 3 years, etc. + ]" + names: "abstract_duration, duration" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +deferred class + ABSTRACT_DURATION + +inherit + COMPARABLE + +feature -- Access + +feature -- Access + + as_string: STRING + -- The time represented as a string, ideally with not extra characters. + deferred + end + + negative: like Current + -- The negative value of this duration + do + Result := twin + Result.negate + ensure + negative_result: Current > zero implies Result < zero + positive_result: Current < zero implies Result > zero + end + + one: like Current + -- Neutral element for "*" and "/" + deferred + ensure + result_exists: Result /= Void + valid_result: Result.is_one + end + + zero: like Current + -- Neutral element for "+" and "-" + deferred + ensure + result_exists: Result /= Void + good_result: Result.is_zero + end + +feature -- Status Report + + is_zero: BOOLEAN + -- Is this duration of 0 length? + do + Result := equal (Current, zero) + ensure + valid_result: Result implies equal (Current, zero) + end + + is_one: BOOLEAN + -- Is this duration neutral for '*' and '/'? + do + Result := equal (Current, one) + ensure + valid_result: Result implies equal (Current, one) + end + + is_negative: BOOLEAN + -- Is current less than the 'zero' duration? + do + Result := Current < zero + ensure + valid_result: Result implies Current < zero + end + +feature -- Element Change + + set_zero + -- Make the duration have zero length. + deferred + ensure + is_zero: is_zero + end + + + negate + -- Reverses the sign. + deferred + ensure + positive_implication: not is_negative implies old is_negative + negative_implication: is_negative implies not old is_negative + end + + add (other: like Current) + -- Add other other to Current. + require + other_exists: other /= Void + deferred + end + + sub (other: like Current) + -- Subtract other from Current + require + other_exists: other /= Void + deferred + end + + multiply (r: DOUBLE) + -- Multiply by a factor of 'r'. + deferred + end + + divide (r: DOUBLE) + -- Divide by 'r'. + require + not_zero_devisor: r /= 0 + deferred + end + + div (i: INTEGER) + -- Integer division. + require + not_zero_devisor: i /= 0 + deferred + end + + mod (i: INTEGER) + -- Modulo. + require + not_zero_devisor: i /= 0 + deferred + end + + percent_of (other: like Current): DOUBLE + -- What percent of other in length is this one? + -- For example: is current duration at least twice as long as other? + require + other_exists: other /= Void + other_not_zero: not other.is_zero + deferred + end + +feature -- Basic operations + + identity alias "+": like Current + -- Just a clone of Current. Included for symetry. + do + Result := twin + ensure + no_side_effect: equal (Current, old Current) + end + + oposite alias "-": like Current + -- Invert the sign of other. + do + Result := twin + Result.negate + ensure + no_side_effect: equal (Current, old Current) + end + + plus alias "+" (other: like Current): like Current + -- Sum of current and other. + do + Result := twin + Result.add (other) + ensure + no_side_effect: equal (Current, old Current) + end + + minus alias "-" (other: like Current): like Current + -- Difference of Current and other. + do + Result := twin + Result.sub (other) + ensure + no_side_effect: equal (Current, old Current) + end + + product alias "*" (r: DOUBLE): like Current + -- Product of Current and 'r'. + -- Multiply by a factor of 'r'. + do + Result := twin + Result.multiply (r) + ensure + no_side_effect: equal (Current, old Current) + end + + quotient alias "/" (r: DOUBLE): like Current + -- Quotent of Current by 'r'. + require + not_zero_devisor: r /= 0 + do + Result := twin + Result.divide (r) + ensure + no_side_effect: equal (Current, old Current) + end + + integer_quotient alias "//" (i: INTEGER): like Current + -- Integer division of Current by 'i'. + require + not_zero_devisor: i /= 0 + do + Result := twin + Result.div (i) + ensure + no_side_effect: equal (Current, old Current) + end + + integer_remainder alias "\\" (i: INTEGER): like Current + -- Modulo of Current by 'i'. + require + not_zero_devisor: i /= 0 + do + Result := twin + Result.mod (i) + ensure + no_side_effect: equal (Current, old Current) + end + +end + diff --git a/jj_temporal/jj_t/classes/abstract_interval.e b/jj_temporal/jj_t/classes/abstract_interval.e new file mode 100644 index 0000000..82c074c --- /dev/null +++ b/jj_temporal/jj_t/classes/abstract_interval.e @@ -0,0 +1,387 @@ +note + description: "[ + Notion of a span of time consisting of a start-time, a + finish-time and a duration. Positive durations only. + ]" + names: "abstract_interval, time_span, time_interval, span" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +deferred class + ABSTRACT_INTERVAL + +inherit + + COMPARABLE + undefine + default_create + end + +feature -- Access + + start: like time_anchor + -- Beginning moment of the time span and anchor for class. + do + Result := start_imp.twin + ensure + result_exists: Result /= Void + end + + finish: like time_anchor + -- Ending moment of the time span. + do + Result := finish_imp.twin + ensure + result_exists: Result /= Void + end + + duration: like duration_anchor + -- Length of time span. + do + Result := finish.time_between (start) + ensure + result_exists: Result /= Void + end + +feature -- Element Change + + set_start_finish (a_start_time, a_finish_time: like time_anchor) + -- Set the `start' and `finish' times. + require + times_exists: a_start_time /= Void and a_finish_time /= Void + valid_times: a_start_time <= a_finish_time + do + start_imp := a_start_time.twin + finish_imp := a_finish_time.twin + ensure + start_was_set: equal (start, a_start_time) + finish_was_set: equal (finish, a_finish_time) + end + + set_start_duration (a_start_time: like time_anchor; a_duration: like duration_anchor) + -- Set the `start' time and the `duration'. + require + start_time_exists: a_start_time /= Void + duration_exists: a_duration /= Void + positive_duration: not a_duration.is_negative + do + start_imp := a_start_time.twin + finish_imp := a_start_time + a_duration + ensure + start_was_set: equal (start, a_start_time) + duration_was_set: equal (duration, a_duration) + end + + set_duration_finish (a_duration: like duration_anchor; a_finish_time: like time_anchor) + -- Set the `duration' and `finish' time. + require + duration_exists: a_duration /= Void + positive_duration: not a_duration.is_negative + finish_time_exists: a_finish_time /= Void + do + start_imp := a_finish_time - a_duration + finish_imp := a_finish_time.twin + ensure + finish_was_set: equal (finish, a_finish_time) + duration_was_set: equal (duration, a_duration) + end + + move (a_duration: like duration_anchor) + -- Change the `start' and `finish' times by moving the + -- interval by the amount represented by `a_duration'. + require + duration_exists: a_duration /= Void + do + start_imp.add_duration (a_duration) + finish_imp.add_duration (a_duration) + ensure + duration_unchanged: equal (duration, old duration) + end + +feature -- Status Report + + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Does current interval start before other or if they start at the + -- same time, does Current end before the other? + do + if (start < other.start) or else + (start.is_equal (other.start) and then finish < other.finish) then + Result := true + end + ensure then + less_than_definition: Result implies (start < other.start or else + (start.is_equal (other.start) and then finish < other.finish)) + end + + meets (other: like Current): BOOLEAN + -- x.meets(y) |-----x----->| + -- y.is_met_by(x) |-----y----->| + require + other_exists: other /= Void + do + Result := equal (finish, other.start) + ensure + Result implies equal (finish, other.start) + Result implies Current < other + end + + is_met_by (other: like Current): BOOLEAN + -- x.meets(y) |-----x----->| + -- y.is_met_by(x) |-----y----->| + require + other_exists: other /= Void + do + Result := equal (start, other.finish) + ensure + Result implies equal (start, other.finish) + Result implies other < Current + end + + is_before (other: like Current): BOOLEAN + -- x.is_before(y) |-----x----->| + -- y.is_after(x) |-----y----->| + require + other_exists: other /= Void + do + Result := finish < other.start + ensure + Result implies finish.is_before (other) + Result implies Current < other + end + + is_after (other: like Current): BOOLEAN + -- x.is_before(y) |-----x----->| + -- y.is_after(x) |-----y----->| + require + other_exists: other /= Void + do + Result := start > other.finish + ensure + Result implies start.is_after (other) + Result implies other < Current + end + + includes (other: like Current): BOOLEAN + -- x.includes(y) |-----x----->| + -- y.is_included_by(x) |--y-->| + require + other_exists: other /= Void + do + Result := other.start.belongs (Current) and + other.finish.belongs (Current) + ensure + Result implies other.start.belongs (Current); + Result implies other.finish.belongs (Current) + end + + is_included_by (other: like Current): BOOLEAN + -- x.includes(y) |-----x----->| + -- y.is_included_by(x) |--y-->| + require + other_exists: other /= Void + do + Result := start.belongs (other) and finish.belongs (other) + ensure + Result implies start.belongs (other); + Result implies finish.belongs (other); + end + + overlaps (other: like Current): BOOLEAN + -- x.overlaps(y) |-----x----->| + -- y.is_overlapped_by(x) |--y-->| + require + other_exists: other /= Void + do + Result := finish.belongs (other) + ensure + Result implies finish.belongs (other) + end + + is_overlapped_by (other: like Current): BOOLEAN + -- x.overlaps(y) |-----x----->| + -- y.is_overlapped_by(x) |--y-->| + require + other_exists: other /= Void + do + Result := other.finish.belongs (Current) + ensure + Result implies other.finish.belongs (Current) + end + + intersects (other: like Current): BOOLEAN + -- Do the two intervals have a least one time point in common? + require + other_exists: other /= Void + do + Result := meets (other) or is_met_by (other) or else + includes (other) or is_included_by (other) or else + overlaps (other) or is_overlapped_by (other) + ensure + Result implies meets (other) or is_met_by (other) or else + includes (other) or is_included_by (other) or else + overlaps (other) or is_overlapped_by (other) + end + +feature -- Transformation + + unite (other: like Current) + -- Transform into the union between this interval and the other. + -- |-------------x------------->| + -- |-------------y------------->| + -- |------------x.union(y)----------->| + -- Only valid if at least one time point common to both. + require + other_exists: other /= Void + intersecting_intervals: intersects (other) + local + temp_start: like time_anchor + temp_finish: like finish + do + temp_start := start.min (other.start) + temp_finish := finish.max (other.finish) + set_start_finish (temp_start, temp_finish); + ensure + valid_result: equal (start, old start.min(other.start)) and + equal (finish, old finish.max(other.finish)) + end + + intersect (other: like Current) + -- Transform into the intersection of this interval and the other. + -- |-------------x------------->| + -- |-------------y------------->| + -- |--x.intersection(y)-->| + -- Only valid if at least one time point common to both. + require + other_exists: other /= Void + intersecting_intervals: intersects (other) + local + temp_start: like time_anchor + temp_finish: like finish + do + temp_start := start.max (other.start) + temp_finish := finish.min (other.finish) + set_start_finish (temp_start, temp_finish); + ensure + valid_result: equal (start, old start.max(other.start)) and + equal (finish, old finish.min(other.finish)) + end + + split (a_time: like time_anchor): like Current + -- Transform by splitting the interval at 'a_time'. + -- Result is the interval after 'a_time'. + -- | + -- time + -- | + -- V + -- |-----Current----------------->| + -- |---Current--->|----Result---->| + -- Only valid if time is within the interval. + require + time_exists: a_time /= Void + time_in_interval: a_time.belongs (Current) + do + Result := twin + set_start_finish (start, a_time) + Result.set_start_finish (a_time, Result.finish) + ensure + closure: equal (old Current, Result.union (Current)) + meets_result: Current.meets (Result) + end + +feature -- Basic operations + + union (other: like Current): like Current + -- The union between this interval and the other. + -- |-------------x------------->| + -- |-------------y------------->| + -- |------------x.union(y)----------->| + -- Only valid if at least one time point common to both. + require + other_exists: other /= Void + intersecting_intervals: intersects (other) + do + Result := twin + Result.unite (other) + ensure + no_side_effect: equal (Current, old Current) + valid_result: equal (Result.start, start.min(other.start)) and + equal (Result.finish, finish.max(other.finish)) + end + + intersection (other: like Current): like Current + -- The intersection of this interval and the other. + -- |-------------x------------->| + -- |-------------y------------->| + -- |--x.intersection(y)-->| + -- Only valid if at least one time point common to both. + require + other_exists: other /= Void + intersecting_intervals: intersects (other) + do + Result := twin + Result.intersect (other) + ensure + no_side_effect: equal (Current, old Current) + valid_result: equal (Result.start, start.max (other.start)) and + equal (Result.finish, finish.min(other.finish)) + end + + time_at_percent (a_ratio: DOUBLE): like time_anchor + -- Time based on some percentage of this interval. + -- Example 1: if 'a_ratio' is 0.0 then result = 'start'; if + -- 'a_ratio' is 0.5 then resulting time is 1/2 the distance + -- from start to finish; if 'a_ratio' is 2.0 then resulting time + -- is at twice the duration from start to finish. + do + Result := start + (duration * a_ratio) + end + +feature {NONE} -- Implementation + + start_imp: like time_anchor + -- Used internally to prevent changes to `start' which could otherwise + -- be induced by calls to a _TIME. + + finish_imp: like time_anchor + -- Used internally to prevent changes to `finish' which could otherwise + -- be induced by calls to a _TIME. + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: ABSTRACT_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: ABSTRACT_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +invariant + + is_initialized: start_imp /= Void and finish_imp /= Void + start_before_finish: start <= finish + positive_duration: not duration.is_negative + +end diff --git a/jj_temporal/jj_t/classes/abstract_time.e b/jj_temporal/jj_t/classes/abstract_time.e new file mode 100644 index 0000000..11899dd --- /dev/null +++ b/jj_temporal/jj_t/classes/abstract_time.e @@ -0,0 +1,273 @@ +note + description: "[ + Notion of a time, such as <1 Jan 98> or <10:30 P.M.> or , etc. + ]" + names: "abstract_time, time, date" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +deferred class + ABSTRACT_TIME + +inherit + COMPARABLE + +feature -- Access + + as_string: STRING + -- The time represented as a string, ideally with not extra characters. + deferred + end + + as_integer: INTEGER + -- The time as represented by an INTEGER. + require + is_representable: is_representable_as_integer + deferred + end + +feature -- Initialization + + set_now + -- Set current time according to timezone. + deferred + end + + set_now_utc + -- Set the current object to today's date in utc format. + deferred + end + + set_now_utc_fine + -- Set the current object to today's date in utc format. + deferred + end + +feature -- Element change + + from_string (a_string: STRING) + -- Change Current to the time represented by `a_string'. + -- It must be in the format as provided by `as_string'. + require + valid_string_representation: is_valid_string_representation (a_string) + deferred + end + + from_integer (a_integer: INTEGER) + -- Change Current to the time represented by `a_integer'. + require + valid_integer_representation: is_valid_integer_representation (a_integer) + deferred + end + + add_duration (a_duration: like duration_anchor) + -- adds a duration to Current time + require + duration_exists: a_duration /= Void + deferred + end + +feature -- Basic operations + + plus alias "+" (a_duration: like duration_anchor): like Current + -- same as add_duration except returns a new time + require + duration_exists: a_duration /= Void + do + Result := twin + Result.add_duration (a_duration) + ensure + no_side_effect: equal (Current, old Current) + end + + minus alias "-" (a_duration: like duration_anchor): like Current + -- same as adding a negative duration except returns a new time + require + duration_exists: a_duration /= Void + do + Result := twin + Result.add_duration (a_duration.negative) + ensure + no_side_effect: equal (Current, old Current) + end + +feature -- Status report + + is_representable_as_integer: BOOLEAN + -- Can Current be represented as an integer? + deferred + end + +feature -- Querry + + is_before (a_interval: like interval_anchor): BOOLEAN + -- Is this time before the interval? + require + interval_exists: a_interval /= Void + do + Result := Current < a_interval.start + ensure + valid_result: Result implies Current < a_interval.start + end + + is_after (a_interval: like interval_anchor): BOOLEAN + -- Is this time after the interval? + require + interval_exists: a_interval /= Void + do + Result := Current > a_interval.finish + ensure + valid_result: Result implies Current > a_interval.finish + end + + belongs (a_interval: like interval_anchor): BOOLEAN + -- Does this time fall somewhere during the interval? + require + interval_exists: a_interval /= Void + do + Result := Current >= a_interval.start and Current <= a_interval.finish + ensure + valid_result: Result implies Current >= a_interval.start and Current <= a_interval.finish + end + + is_between (time_1, time_2: like Current): BOOLEAN + -- Is current between the two times? + require + others_exist: time_1 /= Void and time_2 /= Void + do + if time_1 < Current and Current < time_2 then + Result := True + elseif time_2 < Current and Current < time_1 then + Result := True + end + ensure + valid_result: Result implies ((time_1 < Current and Current < time_2) or else + (time_2 < Current and Current < time_1)) + end + + is_between_inclusive (time_1, time_2: like Current): BOOLEAN + -- Is current between the two times or equal to one of the two times? + require + others_exist: time_1 /= Void and time_2 /= Void + do + if time_1 <= Current and Current <= time_2 then + Result := True + elseif time_2 <= Current and Current <= time_1 then + Result := True + end + ensure + valid_result: Result implies ((time_1 <= Current and Current <= time_2) or else + (time_2 <= Current and Current <= time_1)) + end + + percent_of (a_interval: like interval_anchor): DOUBLE + -- Where does this time fall in relation to the interval? + -- If current time is before the interval then result should be negative. + -- If current time is after the interval then result should be > 1 (i.e. > 100%). + -- If current time belongs to the interval then result should be between 0 and 1. + require + interval_exists: a_interval /= Void + local + int: like Interval_anchor + do +-- int := twin (a_interval) + int := a_interval.deep_twin + if is_before (a_interval) then + int.set_start_finish (Current, a_interval.start) + if not a_interval.duration.is_zero then + Result := -(int.duration.percent_of (a_interval.duration)) + end + else + int.set_start_finish (a_interval.start, Current) + if not a_interval.duration.is_zero then + Result := int.duration.percent_of (a_interval.duration) + end + end + ensure + negative_if_before: Result < 0 implies Current.is_before (a_interval) + zero_to_one_if_belongs: (Result >= 0 and Result <= 1) implies Current.belongs (a_interval) + over_one_if_after: Result > 1 implies Current.is_after (a_interval) + end + + time_between (other: like Current): like duration_anchor + -- The duration of time between Current and other + require + other_exists: other /= Void + deferred + end + + is_valid_string_representation (a_string: STRING): BOOLEAN + -- Is `a_string' in a format that can be used to initialize Current? + deferred + end + + is_valid_integer_representation (a_integer: INTEGER): BOOLEAN + -- Is `a_integer' in the range reconizable by Current? + deferred + end + +feature {NONE} -- Implementation + + C_date: C_DATE + -- Used to set the date and time based on system clock. + once + create Result + end + + is_valid: BOOLEAN + -- Test used by invariant. + do + Result := True + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + duration_anchor: ABSTRACT_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + require + not_callable: False + do + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + interval_anchor: ABSTRACT_INTERVAL + -- Anchor for features using intervals. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + require + not_callable: False + do + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +invariant + + always_valid: is_valid + +note + copyright: "Copyright (c) 1984-2015, Eiffel Software and others" + license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" + source: "[ + Eiffel Software + 5949 Hollister Ave., Goleta, CA 93117 USA + Telephone 805-685-1006, Fax 805-685-6869 + Website http://www.eiffel.com + Customer support http://support.eiffel.com + ]" +end + + + diff --git a/jj_temporal/jj_t/classes/c_date.e b/jj_temporal/jj_t/classes/c_date.e new file mode 100644 index 0000000..e05ce51 --- /dev/null +++ b/jj_temporal/jj_t/classes/c_date.e @@ -0,0 +1,255 @@ +note + description: "Representation of a date at C level" + legal: "See notice at end of class." + status: "See notice at end of class." + date: "$Date: 2014-03-11 23:16:07 -0400 (Tue, 11 Mar 2014) $" + revision: "$Revision: 35 $" + +class + C_DATE + + -- This is a copy of C_DATE from ISE's time cluster. I copied + -- it to my support cluster so I can use it in my temporal and + -- other projects without the overhead of using all of ISE's + -- time cluster. + +inherit + ANY + redefine + default_create + end + +create + default_create, + make_utc + +feature {NONE} -- Initialization + + default_create + -- Create an instance of C_DATA using current local time. + do + is_utc := False + update + end + + make_utc + -- Create an instance of C_DATE holding UTC values. + do + is_utc := True + update + ensure + is_utc: is_utc + end + +feature -- Access + + is_utc: BOOLEAN + -- Is Current holding value in UTC format? + +feature -- Update + + update + -- Pointer to `struct tm' area. + local + l_timeb, l_tm, l_time: POINTER + l_milli: INTEGER + do + l_timeb := l_timeb.memory_alloc (timeb_structure_size) + l_time := l_time.memory_alloc (time_t_structure_size) + ftime (l_timeb) + get_time (l_timeb, l_time) + if is_utc then + l_tm := gmtime (l_time) + else + l_tm := localtime (l_time) + end + create internal_item.make_from_pointer (l_tm, tm_structure_size) + + l_milli := get_millitm (l_timeb) + if l_milli < 0 or l_milli > 999 then + millisecond_now := 0 + else + millisecond_now := l_milli + end + + l_timeb.memory_free + l_time.memory_free + end + +feature -- Status + + year_now: INTEGER + -- Current year at creation time or after last call to `update'. + do + Result := 1900 + get_tm_year (internal_item.item) + ensure + year_valid: Result >= 1900 + end + + month_now: INTEGER + -- Current month at creation time or after last call to `update'. + do + Result := get_tm_mon (internal_item.item) + 1 + ensure + month_valid: Result >= 1 and Result <= 12 + end + + day_now: INTEGER + -- Current day at creation time or after last call to `update'. + do + Result := get_tm_mday (internal_item.item) + ensure + day_valid: Result >= 1 and Result <= 31 + end + + hour_now: INTEGER + -- Current hour at creation time or after last call to `update'. + do + Result := get_tm_hour (internal_item.item) + ensure + hour_valid: Result >= 0 and Result <= 23 + end + + minute_now: INTEGER + -- Current minute at creation time or after last call to `update'. + do + Result := get_tm_min (internal_item.item) + ensure + minute_valid: Result >= 0 and Result <= 59 + end + + second_now: INTEGER + -- Current second at creation time or after last call to `update'. + do + Result := get_tm_sec (internal_item.item) + if Result > 59 then + -- Some platform returns up to 61 for leap seconds. + Result := 59 + end + ensure + second_valid: Result >= 0 and Result <= 59 + end + + millisecond_now: INTEGER + -- Current millisecond at creation time or after last call to `update'. + +feature {NONE} -- Externals + + ftime (p: POINTER) + -- Set current date and time in `p', pointer to a `struct timeb' area. + external + "C macro signature (struct timeb*) use " + end + +feature {NONE} -- `struct timeb' encapsulation + + timeb_structure_size: INTEGER + -- Size of `struct timeb'. + external + "C macro use " + alias + "sizeof(struct timeb)" + end + + time_t_structure_size: INTEGER + -- Size of `struct timeb'. + external + "C macro use " + alias + "sizeof(time_t)" + end + + tm_structure_size: INTEGER + -- Size of `struct tm'. + external + "C macro use " + alias + "sizeof(struct tm)" + end + + get_millitm (p: POINTER): INTEGER + -- Get `p->millitm'. + external + "C struct struct timeb access millitm use " + end + + get_time (p, t: POINTER) + -- Get `p->time'. + external + "C inline use , " + alias + "*(time_t *) $t = (((struct timeb *)$p)->time);" + end + +feature {NONE} -- `struct tm' encapsulation + + internal_item: MANAGED_POINTER + -- Pointer to `struct tm' area. + + localtime (t: POINTER): POINTER + -- Pointer to `struct tm' area. + external + "C inline use " + alias + "localtime ((time_t *) $t)" + end + + gmtime (t: POINTER): POINTER + -- Pointer to `struct tm' area in UTC. + external + "C inline use " + alias + "gmtime ((time_t *) $t)" + end + + get_tm_year (p: POINTER): INTEGER + -- Get `p->tm_year', number of years since 1900. + external + "C struct struct tm access tm_year use " + end + + get_tm_mon (p: POINTER): INTEGER + -- Get `p->tm_mon'. + external + "C struct struct tm access tm_mon use " + end + + get_tm_mday (p: POINTER): INTEGER + -- Get `p->tm_mday'. + external + "C struct struct tm access tm_mday use " + end + + get_tm_hour (p: POINTER): INTEGER + -- Get `p->tm_hour'. + external + "C struct struct tm access tm_hour use " + end + + get_tm_min (p: POINTER): INTEGER + -- Get `p->tm_min'. + external + "C struct struct tm access tm_min use " + end + + get_tm_sec (p: POINTER): INTEGER + -- Get `p->tm_sec'. + external + "C struct struct tm access tm_sec use " + end + +note + copyright: "Copyright (c) 1984-2006, Eiffel Software and others" + license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" + source: "[ + Eiffel Software + 356 Storke Road, Goleta, CA 93117 USA + Telephone 805-685-1006, Fax 805-685-6869 + Website http://www.eiffel.com + Customer support http://support.eiffel.com + ]" + + + + +end -- class C_DATE diff --git a/jj_temporal/jj_t/classes/hms_constants.e b/jj_temporal/jj_t/classes/hms_constants.e new file mode 100644 index 0000000..1f46265 --- /dev/null +++ b/jj_temporal/jj_t/classes/hms_constants.e @@ -0,0 +1,34 @@ +note + description: "[ + Constants for use with HMS_TIME, HMS_DURATION, and HMS_INTERVAL. + ]" + date: "24 Aug 04" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + + +class + HMS_CONSTANTS + +feature -- Access + + One_second: HMS_DURATION + once + create Result.set (0, 0, 1) + end + + One_minute: HMS_DURATION + once + create Result.set (0, 1, 0) + end + + One_hour: HMS_DURATION + once + create Result.set (1, 0, 0) + end + +end -- class HMS_CONSTANTS diff --git a/jj_temporal/jj_t/classes/hms_duration.e b/jj_temporal/jj_t/classes/hms_duration.e new file mode 100644 index 0000000..bdf0658 --- /dev/null +++ b/jj_temporal/jj_t/classes/hms_duration.e @@ -0,0 +1,281 @@ +note + description: "[ + A duration of time represented by hours, minutes, and seconds. + ]" + names: "duration, time_duration" + date: "1999/01/01"; updated: "14 Aug 04" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + HMS_DURATION + +inherit + + ABSTRACT_DURATION + +create + default_create, + set, + set_fine + +feature -- Access + + as_string: STRING_8 + -- The time represented as a string. + do + Result := hours.out + ":" + minutes.out + ":" + seconds.out + "." + milliseconds.out + end + + hours: INTEGER + -- The number of hours in this DURATION + + minutes: INTEGER + -- The number of minutes in this DURATION + + seconds: INTEGER + -- The number of seconds in this DURATION + + milliseconds: INTEGER + -- The number of milli-seconds in this DURATION + + as_hours: DOUBLE + -- Length of this duration in hours. + do + Result := hours + minutes / 60 + seconds / 3600 + milliseconds / 3600000 + end + + as_minutes: DOUBLE + -- Length of this duration in minutes. + do + Result := hours * 60 + minutes + seconds / 60 + milliseconds / 60000 + end + + as_seconds: DOUBLE + -- Length of this duration in seconds. + do + Result := hours * 3600 + minutes * 60 + seconds + milliseconds / 1000 + end + + as_milliseconds: DOUBLE + -- Length of this duration in milliseconds + do + Result := hours * 3600000 + minutes * 60000 + seconds * 1000 + milliseconds + end + + one: like Current + -- Neutral element for '*' and '/'. + do + create Result.set_fine (1, 1, 1, 1) + ensure then + result_hours_is_one: Result.hours = 1 + result_minutes_is_one: Result.minutes = 1 + result_seconds_is_one: Result.seconds = 1 + result_millisecons_is_one: Result.milliseconds = 1 + end + + zero: like Current + -- Neutral element for '+' and '-'. + do + create Result + ensure then + result_hours_is_zero: Result.hours = 0 + result_minutes_is_zero: Result.minutes = 0 + result_seconds_is_zero: Result.seconds = 0 + result_milliseconds_is_zero: Result.milliseconds = 0 + end + + percent_of (other: like Current): DOUBLE + -- What percent of other in length is this one? + do + -- Used minutes because it seemed reasonable accuracy. + Result := as_minutes / other.as_minutes + end + +feature -- Element change + + set_zero + -- Make current have zero length. + do + set_fine (0, 0, 0, 0) + end + + set (a_hours, a_minutes, a_seconds: INTEGER) + -- Change the hours, minutes, and seconds to these values + -- and set milliseconds to zero. + do + set_fine (a_hours, a_minutes, a_seconds, 0) + ensure + hours_set: hours = a_hours + minutes_set: minutes = a_minutes + seconds_set: seconds = a_seconds + milliseconds_zero: milliseconds = 0 + end + + set_fine (a_hours, a_minutes, a_seconds, a_milliseconds: INTEGER) + -- Change `hours', `minutes', `seconds', and `milliseconds' + do + hours := a_hours + minutes := a_minutes + seconds := a_seconds + milliseconds := a_milliseconds + ensure + hours_set: hours = a_hours + minutes_set: minutes = a_minutes + seconds_set: seconds = a_seconds + milliseconds_set: milliseconds = a_milliseconds + end + + set_hours (a_hours: INTEGER) + -- Change hours + do + hours := a_hours + ensure + hours_set: hours = a_hours + end + + set_minutes (a_minutes: INTEGER) + -- change minutes + do + minutes := a_minutes + ensure + minutes_set: minutes = a_minutes + end + + set_seconds (a_seconds: INTEGER) + -- Change seconds + do + seconds := a_seconds + ensure + seconds_set: seconds = a_seconds + end + + negate + -- Reverses the sign for hours, minutes, and seconds. + do + hours := -hours + minutes := -minutes + seconds := -seconds + milliseconds := -milliseconds + ensure then + hours_negated: -hours = old hours + minutes_negated: -minutes = old minutes + seconds_negated: -seconds = old seconds + milliseconds_negated: milliseconds = -milliseconds + end + + normalize + -- Convert to standard format: "61 minutes" becomes "1 hour, 1 minute". + do +-- Fix me !!! for negatives... + seconds := seconds + milliseconds // 999 + milliseconds := milliseconds \\ 999 + minutes := minutes + seconds // 60 + seconds := seconds \\ 60 + hours := hours + minutes // 60 + minutes := minutes \\ 60 + end + + add (other: like Current) + -- Add 'other'. Does not 'normalize'. + do + hours := hours + other.hours + minutes := minutes + other.minutes + seconds := seconds + other.seconds + milliseconds := milliseconds + other.milliseconds + ensure then + hours_added: hours = old hours + other.hours + minutes_added: minutes = old minutes + other.minutes + seconds_added: seconds = old seconds + other.seconds + milliseconds_added: milliseconds = old milliseconds + other.milliseconds + end + + sub (other: like Current) + -- Subtract 'other'. Does not 'normalize'. + do + hours := hours - other.hours + minutes := minutes - other.minutes + seconds := seconds - other.seconds + milliseconds := milliseconds - other.milliseconds + ensure then + hours_subbed: hours = old hours - other.hours + minutes_subbed: minutes = old minutes - other.minutes + seconds_subbed: seconds = old seconds - other.seconds + milliseconds_subbed: milliseconds = old milliseconds - other.milliseconds + end + + multiply (r: DOUBLE) + -- Multiply by a factor of 'r'. + -- Result is normalized. + local + v: DOUBLE + fract: DOUBLE + do + -- Multiply `hours' + v := hours * r + hours := v.floor + fract := v - hours + -- Multiply `minutes' and add fractional of hour + v := minutes * r + 60 * fract + minutes := v.floor + fract := v - minutes + -- Mulitply `seconds' and add fractional minute + v := seconds * r + 60 * fract + seconds := v.floor + fract := v - seconds + -- Multiply `milliseconds' and add fractional second + v := milliseconds * r + 1000 * fract + milliseconds := v.rounded + -- Normalize + normalize + end + + divide (r: DOUBLE) + -- Divide by 'r'. + -- Result is normalized. + do + set_fine (0, 0, 0, (as_milliseconds / r).rounded) + normalize + end + + div (i: INTEGER) + -- Integer division. + -- Result is normalized. + do + set (0, 0, as_seconds.truncated_to_integer // i) + normalize + end + + mod (i: INTEGER) + -- Modulo. + -- Result is normalized. + do + set (0, 0, as_seconds.truncated_to_integer \\ i) + normalize + end + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Is 'Current' less than 'other'? + local + temp, temp_other: like Current + do + temp := twin + temp_other := other.twin + temp.normalize + temp_other.normalize + Result := (temp.hours < temp_other.hours) or + (temp.hours = temp_other.hours and temp.minutes < temp_other.minutes) or + (temp.hours = temp_other.hours and temp.minutes = temp_other.minutes and temp.seconds < temp_other.seconds) + end + +end + + + diff --git a/jj_temporal/jj_t/classes/hms_interval.e b/jj_temporal/jj_t/classes/hms_interval.e new file mode 100644 index 0000000..c7ca4e4 --- /dev/null +++ b/jj_temporal/jj_t/classes/hms_interval.e @@ -0,0 +1,68 @@ +note + description: "[ + A span of time consisting of a start-time, finish-time + and duration described in terms of hours, minutes, and + seconds. Positive durations only. + ]" + names: "hms_interval, interval, time_span, time_interval, span" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + HMS_INTERVAL + +inherit + + ABSTRACT_INTERVAL + redefine + time_anchor, + duration_anchor + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Create an instance starting and ending at the default creation + -- value for the type of `start' time, having zero length duration. + do + -- Can't define `default_create' in ABSTRACT_INTERVAL because there + -- `start_imp' is deffered and cannot call create on a deferred type. + create start_imp + finish_imp := start_imp.twin + ensure then + same_start_and_finish: equal (start, finish) + zero_duration: duration.is_zero + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: HMS_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: HMS_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +end diff --git a/jj_temporal/jj_t/classes/hms_time.e b/jj_temporal/jj_t/classes/hms_time.e new file mode 100644 index 0000000..7cde6fe --- /dev/null +++ b/jj_temporal/jj_t/classes/hms_time.e @@ -0,0 +1,551 @@ +note + description: "[ + An exact point of time as on a clock. An + Hour, Minute, Second time (ie. a time). + ]" + names: "time" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + HMS_TIME + +inherit + + ABSTRACT_TIME + rename + as_integer as as_seconds + redefine + default_create, + is_valid, + duration_anchor, + interval_anchor + end + +create + default_create, + set_now, + set_now_utc, + set_now_fine, + set_now_utc_fine, + set, + set_fine, + from_seconds, + from_string + +feature {NONE} -- Initialization + + default_create + -- Create an instance with time 00:00:00 (i.e. midnight). + do + end + +feature -- Access + + hour: INTEGER + -- Hour part of time. + + minute: INTEGER + -- Minute part of time. + + second: INTEGER + -- Second part of time. + + millisecond: INTEGER + -- Millisecond part of the time. + + overflow: INTEGER + -- Number of days after a normalize (49 hours gives 2 days overflow). + + as_string: STRING + -- The time represented as a string with no seperator characters, such + -- as ":", "-", or "/". The time 23:59:59.999 becomes "235959.999" + do + create Result.make (10) + if not (hour >= 10) then + Result.append ("0") + end + Result.append (hour.out) + if not (minute >= 10) then + Result.append ("0") + end + Result.append (minute.out) + if not (second >= 10) then + Result.append ("0") + end + Result.append (second.out) + Result.append (".") + if not (millisecond >= 100) then + Result.append ("0") + end + if not (millisecond >= 10) then + Result.append ("0") + end + Result.append (millisecond.out) + end + + as_seconds: INTEGER + -- The number of seconds from midnight to the current time. + -- `Millisecond' is rounded. + do + Result := hour * 60 * 60 + minute * 60 + second + (millisecond / 1000).rounded + end + +feature -- Element Change + + from_string (a_string: STRING) + -- Change Current to the time represented by `a_string'. + -- It must be in the format as provided by `as_string'. + local + h, m, s, mil: INTEGER + do + h := a_string.substring (1, 2).to_integer + m := a_string.substring (3, 4).to_integer + s := a_string.substring (5, 6).to_integer + mil := a_string.substring (8, 10).to_integer + set_fine (h, m, s, mil) + end + + from_seconds (a_seconds: INTEGER) + -- Initialize as `a_seconds' from midnight. + do + set (0, 0, 0) + add_seconds (a_seconds) + end + + set_now + -- Set current time according to timezone, setting `millisecond' to zero. + -- This was copied from ISE's TIME class with minor changes. + do + C_date.update + set_fine (C_date.hour_now, C_date.minute_now, C_date.second_now, 0) + end + + set_now_fine + -- Set current time according to timezone, including milli-seconds. + do + C_date.update + set_fine (C_date.hour_now, C_date.minute_now, C_date.second_now, C_date.millisecond_now) + end + + set_now_utc + -- Set the current object to today's date in utc format. + -- The `millisecond' is set to zero. + -- This was copied from ISE's TIME class with minor changes. + do + C_date.update + set (C_date.hour_now, C_date.minute_now, C_date.second_now) + end + + set_now_utc_fine + -- Set the current object to today's date in utc format, including `millisecond'. + -- This was copied from ISE's TIME class with minor changes. + do + C_date.update + set_fine (C_date.hour_now, C_date.minute_now, C_date.second_now, C_date.millisecond_now) + end + + set (h, m, s: INTEGER) + -- Change the hour, minute, and second. + -- Set `millisecond' to 0. + require + hour_valid: 0 <= h and h <= 23; + minute_valid: 0 <= m and m <= 59; + second_valid: 0 <= s and s <= 59 + do + set_fine (h, m, s, 0) + ensure + hour_assigned: hour = h + minute_assigned: minute = m + second_assigned: second = s + millisecond_assigned: millisecond = 0 + end + + set_fine (h, m, s, mil: INTEGER) + -- Change the hour, minute, and second + require + hour_valid: 0 <= h and h <= 23 + minute_valid: 0 <= m and m <= 59 + second_valid: 0 <= s and s <= 59 + millisecond_valid: 0 <= mil and mil <= 999999 + do + hour := h; + minute := m; + second := s; + millisecond := mil + ensure + hour_assigned: hour = h + minute_assigned: minute = m + second_assigned: second = s + millisecond_assigned: millisecond = mil + end + + set_hour (a_hour: INTEGER) + -- Change the `hour'. + require + hour_valid: 0 <= a_hour and a_hour <= 23; + do + hour := a_hour + ensure + hour_assigned: hour = a_hour + end + + set_minute (a_minute: INTEGER) + -- Change the `minute'. + require + minute_valid: 0 <= a_minute and a_minute <= 59; + do + minute := a_minute + ensure + minute_assigned: minute = a_minute + end + + set_second (a_second: INTEGER) + -- Change the second. + require + second_valid: 0 <= a_second and a_second <= 59 + do + second := a_second + ensure + second_assigned: second = a_second + end + + set_millisecond (a_millisecond: INTEGER) + -- Change the `millisecond' + require + valid_millisecond: 0 <= a_millisecond and a_millisecond <= 999 + do + millisecond := a_millisecond + ensure + millisecond_assigned: millisecond = a_millisecond + end + + from_integer (a_integer: INTEGER) + -- Change Current to the time represented by `a_integer'. + -- `A_compact_time' must represent a date that is not BC. + do +-- Fix me !!! + end + + clear_overflow + -- Remove the `overflow' condition by seting overflow to 0. + -- (Overflows occur when `add_duration' causes the time to be past 23:59:59.999) + do + overflow := 0 + end + + truncate_to_hours + -- Reset "to the hour" (set minutes and seconds to 0). + do + set_fine (hour, 0, 0, 0) + ensure + hour_unchanged: hour = old hour + minute_zero: minute = 0 + second_zero: second = 0 + millisecond_zero: millisecond = 0 + end + + truncate_to_minutes + -- Reset "to the minute" (i.e. set seconds to 0.) + do + set_fine (hour, minute, 0, 0) + ensure + hour_unchanged: hour = old hour + minute_unchanged: minute = old minute + second_zero: second = 0 + millisecond_zero: millisecond = 0 + end + + truncate_to_seconds + -- Set the `millisecond' to zero. + -- Use when `millisecond' portion is to be ignored. + do + set_millisecond (0) + ensure + hour_unchanged: hour = old hour + minute_unchanged: minute = old minute + second_unchaged: second = old second + millisecond_zero: millisecond = 0 + end + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Does this time come before 'other'? + require else + other_time_not_void: other /= Void + do + Result := hour < other.hour or else + (hour = other.hour) and (minute < other.minute) or else + (hour = other.hour) and (minute = other.minute) and (second < other.second) or else + (hour = other.hour) and (minute = other.minute) and (second = other.second) and (millisecond < other.millisecond) + ensure then +-- definition: Result = (hour < other.hour) or else +-- (hour = other.hour) and (minute < other.minute) or else +-- (hour = other.hour) and (minute = other.minute) and (second < other.second) or else +-- (hour = other.hour) and (minute = other.minute) and (second = other.second) and (millisecond < other.millisecond) + end + + +feature -- Basic operations + + add_duration (a_duration: like Duration_anchor) + -- Add a length of time (in hours, minutes, and seconds) to the time. + do +-- hour := hour + a_duration.hours +-- minute := minute + a_duration.minutes +-- second := second + a_duration.seconds +-- millisecond := millisecond + a_duration.milliseconds + add_milliseconds (a_duration.milliseconds) + add_seconds (a_duration.seconds) + add_minutes (a_duration.minutes) + add_hours (a_duration.hours) + end + + add_hours (a_number: INTEGER) + -- Add `a_number' of hours to the current time + local + h: INTEGER + do + h := a_number \\ 24 + hour := hour + h + check + number_now_even: (a_number - h) \\ 24 = 0 + end + overflow := (a_number - h) // 24 + if hour < 0 then + check + positive_overflow: overflow >= 1 + end + hour := hour + 24 + overflow := overflow - 1 + end + if hour >= 24 then + hour := hour - 24 + overflow := overflow + 1 + end + end + + add_minutes (a_number: INTEGER) + -- Add `a_number' of minutes to the current time. + local + m: INTEGER + do + minute := minute + a_number + m := minute + minute := minute \\ 60 + if minute < 0 then + minute := minute + 60 + add_hours (-1) + end + add_hours (m // 60) + end + + add_seconds (a_number: INTEGER) + -- Add `a_number' of seconds to the current time. + local + s: INTEGER + do + second := second + a_number + s := second + second := second \\ 60 + if second < 0 then + second := second + 60 + add_minutes (-1) + end + add_minutes (s // 60) + end + + add_milliseconds (a_number: INTEGER) + -- Add `a_number' of milliseconds to the current time. + local + ms: INTEGER + do + millisecond := millisecond + a_number + ms := millisecond + millisecond := millisecond \\ 1000 + if millisecond < 0 then + millisecond := millisecond + 1000 + add_seconds (-1) + end + add_seconds (ms // 1000) + end + +feature -- Status report + + is_representable_as_integer: BOOLEAN + -- Can Current be represented as an integer? + -- Caveat: the `milliseconds' will be lost due to rounding in `as_seconds'. + do + Result := True + end + +feature -- Querry + + time_between (other: like Current): like Duration_anchor + -- A length of time in hours, minutes, and seconds + -- between this time and other. + local + larger, smaller: like Current + h, m, s, ms: INTEGER + do + larger := max (other) + smaller := min (other) + ms := larger.millisecond - smaller.millisecond + h := larger.hour - smaller.hour + m := larger.minute - smaller.minute + s := larger.second - smaller.second + if ms < 0 then + ms := ms + 999 + s := s - 1 + end + if s < 0 then + s := s + 60 + m := m - 1 + end + if m < 0 then + m := m + 60 + h := h - 1 + end + create Result.set_fine (h, m, s, ms) + if Current < other then + Result.negate + end + end + + seconds_between (a_other: like Current): INTEGER + -- The number of seconds between Current and `other' + require + other_exists: a_other /= Void + local + larger, smaller: like Current + h, m, s, ms: INTEGER + do + larger := max (a_other) + smaller := min (a_other) + ms := larger.millisecond - smaller.millisecond + h := larger.hour - smaller.hour + m := larger.minute - smaller.minute + s := larger.second - smaller.second + if ms < 0 then + ms := ms + 999 + s := s - 1 + end + if s < 0 then + s := s + 60 + m := m - 1 + end + if m < 0 then + m := m + 60 + h := h - 1 + end + Result := h * 60 * 60 + m * 60 + s + end + + is_valid_string_representation (a_string: STRING): BOOLEAN + -- Is `a_string' in a format that can be used to initialize Current? + local + hs, ms, ss, mils: STRING + h, m, s, mil: INTEGER + do + if a_string /= Void and then a_string.count = 10 and then equal (a_string.substring (7, 7), ".") then + hs := a_string.substring (1, 2) + ms := a_string.substring (3, 4) + ss := a_string.substring (5, 6) + mils := a_string.substring (8, 10) + if hs.is_integer and then ms.is_integer and then ss.is_integer and then mils.is_integer then + h := hs.to_integer + m := ms.to_integer + s := ms.to_integer + mil := mils.to_integer + if (h >= 0 and h <= 23) and then + (m >= 0 and m <= 59) and then + (s >= 0 and s <= 59) and then + (mil >= 0 and mil <= 999) then + Result := True + end + end + end + end + + is_valid_integer_representation (a_integer: INTEGER): BOOLEAN + -- Is `a_integer' in range to be converted to a time? + do + Result := a_integer >= 0 + end + +feature {NONE} -- Implementation + +-- normalize is +-- -- convert to a normal time (1 minute, 60 seconds becomes 2 minutes 0 seconds) +-- do +-- second := second + millisecond // 999 +-- millisecond := millisecond \\ 999 +-- if millisecond < 0 then +-- millisecond := millisecond + 999 +-- second := second - 1 +-- end +-- minute := minute + second // 60 +-- second := second \\ 60 +-- if second < 0 then +-- second := second + 60 +-- minute := minute - 1 +-- end +-- hour := hour + minute // 60 +-- minute := minute \\ 60 +-- if minute < 0 then +-- minute := minute + 60 +-- hour := hour - 1 +-- end +-- overflow := hour // 24 +-- hour := hour \\ 24 +-- if hour < 0 then +-- hour := hour + 24 +-- overflow := overflow - 1 +-- end +-- end + + is_valid: BOOLEAN + -- Is time in correct format? + do + Result := (0 <= millisecond and millisecond <= 999) and + (0 <= second and second <= 59) and + (0 <= minute and minute <= 59) and + (0 <= hour and hour <= 23) + ensure then + valid_result: Result implies + (0 <= millisecond and millisecond <= 999) and + (0 <= second and second <= 59) and + (0 <= minute and minute <= 59) and + (0 <= hour and hour <= 23) + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + duration_anchor: HMS_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + interval_anchor: HMS_INTERVAL + -- Anchor for features using intervals. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +end diff --git a/jj_temporal/jj_t/classes/hms_timer.e b/jj_temporal/jj_t/classes/hms_timer.e new file mode 100644 index 0000000..8312b26 --- /dev/null +++ b/jj_temporal/jj_t/classes/hms_timer.e @@ -0,0 +1,74 @@ +note + description: "[ + Timer for hours, minutes, seconds, and miliseconds. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + HMS_TIMER + +inherit + + HMS_INTERVAL + undefine + duration, + out + redefine + default_create, + time_anchor, + duration_anchor + end + + TIMER + undefine + time_anchor, + duration_anchor + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Set up the timer + do + Precursor {HMS_INTERVAL} + Precursor {TIMER} + create cumulative + end + + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: HMS_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: HMS_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + +end diff --git a/jj_temporal/jj_t/classes/time_stampable.e b/jj_temporal/jj_t/classes/time_stampable.e new file mode 100644 index 0000000..859df28 --- /dev/null +++ b/jj_temporal/jj_t/classes/time_stampable.e @@ -0,0 +1,60 @@ +note + description: "[ + Objects which record their creation time. + ]" + date: "1 Sep 04" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + TIME_STAMPABLE + +inherit + + ANY + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Initialize `Current'. + do + create timestamp.set_now_utc_fine + end + +feature -- Access + + id: STRING + -- Unique (hopefully) object id based on the creation time of the object. + -- Concatination of Current's `generating_type' and `time_stamp'. + do + Result := generating_type.name.to_string_8 + " " + timestamp.as_string + end + + timestamp: YMDHMS_TIME + -- Time this object was created + +--feature -- Comparison + +-- infix "<" (a_other: like Current): BOOLEAN is +-- -- Is Current less than `a_other'? +-- do +-- Result := id < a_other.id +---- Result := timestamp < a_other.timestamp +-- end + +invariant + + time_stamp_exists: timestamp /= Void + +end diff --git a/jj_temporal/jj_t/classes/timer.e b/jj_temporal/jj_t/classes/timer.e new file mode 100644 index 0000000..04f61b9 --- /dev/null +++ b/jj_temporal/jj_t/classes/timer.e @@ -0,0 +1,122 @@ +note + description: "[ + Stop-watch type object. + Create the object and call `reset' to use. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +deferred class + TIMER + +inherit + + ABSTRACT_INTERVAL + redefine + duration + end + +feature {NONE} -- Initialization + + default_create + -- Initialize Current + do + create lap_times.make (10) + end + +feature -- Access + + duration: like duration_anchor + -- The time between the `start' and the `finish'; + -- or the time between the `start' and the current time if + -- the timer is running. + local + t: like time_anchor + do + if is_running then + t := finish + t.set_now_utc_fine + Result := t.time_between (start) + else + Result := Precursor + end + end + + cumulative: like duration_anchor + -- Cumulative total of all the times elapsed on the timer. + -- Recalculated at every `stop'. + + i_th_lap (a_index: INTEGER): like duration_anchor + -- The `a_index'th duration. + require + is_valid_lap_index: is_valid_lap_index (a_index) + do + Result := lap_times.i_th (a_index) + end + +feature -- Status report + + is_running: BOOLEAN + -- Is the timer running? + -- (Use `start' to begin timing and `stop' to end.) + +feature -- Basic operations + + reset + -- Reset `elapsed' to zero. + do + start_imp.set_now_utc_fine + finish_imp.copy (start) + cumulative.set_zero + lap_times.wipe_out + end + + run + -- Start the timer + require + not_running: not is_running + do + is_running := True + start_imp.set_now_utc_fine + ensure + is_running: is_running + end + + stop + -- Stop the timer + require + is_running: is_running + do + is_running := False + finish_imp.set_now_utc_fine + cumulative := cumulative + duration +-- start_imp.copy (finish) +-- mark_lap + ensure + is_stopped: not is_running + end + + mark_lap + -- Record the current `lap' time in `lap_times' but keep the timer running. + do + lap_times.extend (duration) + end + +feature -- Querry + + is_valid_lap_index (a_index: INTEGER): BOOLEAN + -- Is `a_index' a valid value into the list of `lap_times'? + do + Result := lap_times.valid_index (a_index) + end + +feature {NONE} -- Implementation + + lap_times: ARRAYED_LIST [like duration_anchor] + -- List of durations for each time `mark_lap' was called. + +end diff --git a/jj_temporal/jj_t/classes/ymd_constants.e b/jj_temporal/jj_t/classes/ymd_constants.e new file mode 100644 index 0000000..1acf83d --- /dev/null +++ b/jj_temporal/jj_t/classes/ymd_constants.e @@ -0,0 +1,48 @@ +note + description: "[ + Constants for use with YMD_TIME, YMD_DURATION, and YMD_INTERVAL. + ]" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_CONSTANTS + +feature -- Access + + One_day: YMD_DURATION + once + create Result + Result.set (0, 0, 1) + end + + One_week: YMD_DURATION + once + create Result + Result.set (0, 0, 7) + end + + One_month: YMD_DURATION + once + create Result + Result.set (0, 1, 0) + end + + One_quarter: YMD_DURATION + once + create Result + Result.set (0, 3, 0) + end + + One_year: YMD_DURATION + once + create Result + Result.set (1, 0, 0) + end + +end -- class YMD_CONSTANTS diff --git a/jj_temporal/jj_t/classes/ymd_duration.e b/jj_temporal/jj_t/classes/ymd_duration.e new file mode 100644 index 0000000..3ddc736 --- /dev/null +++ b/jj_temporal/jj_t/classes/ymd_duration.e @@ -0,0 +1,325 @@ +note + description: "[ + Duration of time described in years, months, and days. + ]" + names: "ymd_duration" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_DURATION + +inherit + + ABSTRACT_DURATION + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Create an instance with zero length. + do + days_per_month := default_days_per_month + set (0, 0, 0) + end + +feature -- Access + + as_string: STRING_8 + -- The time represented as a string. + do + Result := years.out + ":" + months.out + ":" + days.out + end + + years: INTEGER + -- Number of years part. + -- Does not consider the months or days. + + months: INTEGER + -- Number of months part. + -- Does not consider the years or days. + + days: INTEGER + -- Number of days part. + -- Does not consider the months or years. + + default_days_per_month: DOUBLE = 30.4375 + -- Default value for 'days_per_month'. + -- 365.25 days per year divided by 12 months per year. + + days_per_month: DOUBLE + -- Number of days in a month. (28?, 29?, 30?, 31?) + -- Value assumed by class to do calculations involving conversion + -- from days to months to years. + -- Default = 30.4375 days / month. + + days_per_year: DOUBLE + -- Number of days in the year. Calculated based on 'days_per_month'. + -- Value assumed by class to do calculations involving conversion + -- from days to months to years. + -- Default = 365.25 days / year. + do + Result := days_per_month * 12 + end + + as_years: DOUBLE + -- Length of duration in years. + do + Result := years + months / 12 + days / days_per_year + end + + as_months: DOUBLE + -- Length of duration in months. + do + Result := years * 12 + months + days / days_per_month + end + + as_days: DOUBLE + -- Length of duration in days. + do + Result := years * days_per_year + months * days_per_month + days + end + + one: like Current + -- Neutral element for "*" and "/" + do + create Result + Result.set (1,1,1) + ensure then + result_years_is_one: Result.years = 1 + result_months_is_one: Result.months = 1 + result_days_is_one: Result.days = 1 + end + + zero: like Current + -- Neutral element for "+" and "-" + do + create Result + ensure then + result_years_is_zero: Result.years = 0 + result_months_is_zero: Result.months = 0 + result_days_is_zero: Result.days = 0 + end + + percent_of (other: like Current): DOUBLE + -- What percent of other in length is this one? + -- For example: is current duration at least twice as long as other? + do +-- Result := as_months / other.as_months -- Used months because it seemed reasonable accuracy. + Result := as_days / other.as_days -- Must use days because of accuracy problems with month length. + end + + normalized: like Current + -- A copy of Current in a normalized form. + do + Result := twin + Result.normalize + end + +feature -- Element change + + set_zero + -- Make Current have zero length. + do + set (0, 0, 0) + end + + set (ys, ms, ds: INTEGER) + -- Change the length of years, months, and days. + do + years := ys + months := ms + days := ds + ensure + years_set: years = ys + months_set: months = ms + days_set: days = ds + end + + set_years (ys: INTEGER) + -- Change years + do + years := ys + ensure + years_set: years = ys + end + + set_months (ms: INTEGER) + -- Change months + do + months := ms; + ensure + months_set: months = ms + end + + set_days (ds: INTEGER) + -- Change days + do + days := ds + ensure + days_set: days = ds + end + + set_days_per_month (i: DOUBLE) + -- Change 'days_per_month' (value used in calculations + -- involving month lenghts). + require + in_range: i >= 28 and i <= 31 + do + days_per_month := i + ensure + days_per_month_set: days_per_month = i + end + +feature -- Basic operations + + negate + -- Reverse the sign on years, months, and days. + do + years := -years; + months := -months; + days := -days + ensure then + years_negated: -years = old years + months_negated: -months = old months + days_negated: -days = old days + end + + normalize + -- Convert to standard format: "13 months" becomes "1 year, 1 month". + -- Month and year length is based on 'days_per_month'. + -- This feature is hard to define. For example, is 28 days equal to + -- one month? What about 30 days? + -- This needs to be fixed. + require + days_per_month > 0 + local + m, d: DOUBLE + dpm: DOUBLE + do + -- The check on `days_per_month' was necessary because `<' which calls + -- this feature must be getting called before the object is fully + -- initialized, so at that point `days_per_month' is zero; this check + -- prevents that "floating point exception". + if days_per_month = 0 then + dpm := Default_days_per_month + else + dpm := days_per_month + end + d := days + m := d / dpm + months := months + m.truncated_to_integer + m := m - m.truncated_to_integer + d := m * dpm + days := d.truncated_to_integer +-- if (d - days) > 0.5 then +-- days := days + 1 +-- if days > dpm then +-- months := months + 1 +-- end +-- end + years := years + months // 12 + months := months \\ 12 + end + + add (other: like Current) + -- Add other to current. + do + years := years + other.years; + months := months + other.months; + days := days + other.days + ensure then + years_added: years = old years + other.years + months_added: months = old months + other.months + days_add: days = old days + other.days + end + + sub (other: like Current) + -- Subtract other from current. + do + years := years - other.years; + months := months - other.months; + days := days - other.days + ensure then + years_subbed: years = old years - other.years + months_subbed: months = old months - other.months + days_subbed: days = old days - other.days + end + + multiply (r: DOUBLE) + -- Multiply by a factor of 'r'. + -- Result is normalized. + local + v: DOUBLE + fract: DOUBLE + do + v := years * r + years := v.floor + fract := v - years + + v := months * r + 12 * fract + months := v.floor + fract := v - months + + v := days * r + days_per_month * fract + days := v.rounded + normalize + end + + divide (r: DOUBLE) + -- Divide by 'r'. + -- Result is normalized. + do + set (0, 0, (as_days / r).rounded) + normalize + end + + + div (i: INTEGER) + -- Integer division. + -- Result is normalized. + do + set (0, 0, (as_days / i).truncated_to_integer) + normalize + end + + mod (i: INTEGER) + -- Modulo of duration with 'i'. + -- Result is normalized. + do + set (0, 0, as_days.truncated_to_integer \\ i) + normalize + end + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Is current shorter than other? + local + temp, temp_other: like Current + do + temp := twin + temp_other := other.twin + temp.normalize + temp_other.normalize + Result := (temp.years < temp_other.years) or else + (temp.years = temp_other.years and temp.months < temp_other.months) or else + (temp.years = temp_other.years and temp.months = temp_other.months and temp.days < temp_other.days) + end + +invariant + + days_per_month_in_range: days_per_month >= 28 and days_per_month <= 31 + + +end -- class YMD_DURATION + diff --git a/jj_temporal/jj_t/classes/ymd_interval.e b/jj_temporal/jj_t/classes/ymd_interval.e new file mode 100644 index 0000000..3667805 --- /dev/null +++ b/jj_temporal/jj_t/classes/ymd_interval.e @@ -0,0 +1,67 @@ +note + description: "[ + A span of time consisting of a start-time, finish-time and duration + described in terms of years, months, and days. Positive durations only. + ]" + names: "ymd_interval, interval, time_span, time_interval, span" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_INTERVAL + +inherit + + ABSTRACT_INTERVAL + redefine + time_anchor, + duration_anchor + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Create an instance starting and ending at the default creation + -- value for the type of `start' time, having zero length duration. + do + -- Can't define `default_create' in ABSTRACT_INTERVAL because there + -- `start_imp' is deffered and cannot call create on a deferred type. + create start_imp + finish_imp := start_imp.twin + ensure then + same_start_and_finish: equal (start, finish) + zero_duration: duration.is_zero + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: YMD_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: YMD_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +end diff --git a/jj_temporal/jj_t/classes/ymd_time.e b/jj_temporal/jj_t/classes/ymd_time.e new file mode 100644 index 0000000..fa1c479 --- /dev/null +++ b/jj_temporal/jj_t/classes/ymd_time.e @@ -0,0 +1,671 @@ +note + description: "[ + An exact point of time as on a gregorian callendar. + Has a `Year', `Month', and `Day' (i.e. a date). + ]" + names: "date, time" + date: "1 Jan 99" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_TIME + +inherit + + ABSTRACT_TIME + rename + as_integer as as_days, + from_integer as from_days + redefine + default_create, + is_valid, + duration_anchor, + interval_anchor + end + +create + default_create, + set_now, + set_now_utc, + set, + from_days, + from_string + +feature {NONE} -- Initialization + + default_create + -- Create an instance based on todays date. + do + set_now + end + +feature -- Access + + year: INTEGER + -- Year part of the date. + + month: INTEGER + -- Month part of the date. + + day: INTEGER + -- Day part of the date. + do + Result := internal_day + if Result > last_day_of_month then + Result := last_day_of_month + end + end + + week_number: INTEGER + -- Week of the year containing this date. + local + d: YMD_TIME + first_d: INTEGER -- Jan 1st is on what day? + do + create d + d.set (year, 1, 1) + first_d := d.weekday + Result := (((julian + first_d - 1 - 1) // 7) + 1) + ensure + result_large_enough: Result >= 1 + result_small_enough: Result <= 54 -- 53 ? 54 if leapyear falls just right. + end + + last_day_of_month: INTEGER + -- Date of last day for current month + do + inspect + month + when 2 then + if is_leapyear then + Result := 29 + else + Result := 28 + end + when 4, 6, 9, 11 then + Result := 30 + else + Result := 31 + end + ensure + day_in_range: Result >= 28 and Result <= 31 + good_not_leap: Result = 28 implies (month = 2 and not is_leapyear) + good_in_leap: Result = 29 implies (month = 2 and is_leapyear) + good_30s: Result = 30 implies (month = 4 or month = 6 or month = 9 or month = 11) + good_31s: Result = 31 implies (month=1 or month=3 or month=5 or month=7 or month=8 or month=10 or month=12) + end + + days_remaining_this_month: INTEGER + -- Number of days from current until end of month. + -- Used in some calculations. + do + Result := last_day_of_month - day + ensure + valid_result: Result >= 0 and Result < last_day_of_month + end + + julian: INTEGER + -- Day of the year between 1 and 366 + local + n,i : INTEGER + do + from + i := 1 + until + i >= month + loop + inspect i + when 2 then + if is_leapyear then + n := n + 29 + else + n := n + 28 + end + when 4,6,9,11 then + n := n + 30 + else + n := n + 31 + end + i := i + 1 + end + result := n + day + ensure + valid_leapyear_result: is_leapyear implies (1 <= Result and Result <= 366) + valid_result: not is_leapyear implies (1 <= Result and Result <= 365) + end + + + weekday: INTEGER + -- 1 for Sunday, 2 for Monday, etc + -- Only works as far back as ~2 Mar 0001. ??? + local + x : INTEGER + do + x := internal\\7 + 1 + 1 + if x > 7 then -- it can only be 8 + x := 1 + end + result := x + ensure + valid_weekday: 1 <= Result and Result <= 7 + end + + as_string: STRING + -- The date represented as a string with no spaces. + -- 18 Jan 2005 would be "20050118". + do + create Result.make (10) + if is_bc then + Result.append ("BC") + end + if not (year.abs >= 1000) then + Result.append ("0") + end + if not (year.abs >= 100) then + Result.append ("0") + end + if not (year.abs >= 10) then + Result.append ("0") + end + Result.append (year.abs.out) + if not (month >= 10) then + Result.append ("0") + end + Result.append (month.out) + if not (day >= 10) then + Result.append ("0") + end + Result.append (day.out) + end + + as_days: INTEGER + -- The number of days from midnight (00:00:00) + -- on 1 Jan 1970 to the beginning Current's `day'. + local + t: YMD_TIME + do + create t + t.set (1970, 1, 1) + Result := days_between (t) + end + +feature -- Element Change + + from_days (a_days: INTEGER) + -- Change Current to the time represented by `a_days'. + -- `A_days' is assumed to be the number of days since 1 Jan 1970. + -- `A_days' must represent a date that is not BC + do + set (1970, 1, 1) + add_days (a_days) + end + + from_string (a_string: STRING) + -- Change Current to the time represented by `a_string'. + -- It must be in the format as provided by `as_string'. + local + d, m, y: INTEGER + do + y := a_string.substring (1, 4).to_integer + m := a_string.substring (5, 6).to_integer + d := a_string.substring (7, 8).to_integer + set (y, m, d) + end + + set_now + -- Set the current object to today's date. + -- This was copied from ISE's DATE class with the one minor change. + do + C_date.update + set (C_date.year_now, C_date.month_now, C_date.day_now) + end + + set_now_utc + -- Set the current object to today's date in utc format. + -- This was copied from ISE's DATE class with the one minor change. + do + C_date.update + set (C_date.year_now, C_date.month_now, C_date.day_now) + end + + set_now_utc_fine + -- Set the current object to today's date in utc format. + -- This was copied from ISE's TIME class with minor changes. + do + C_date.update + set (C_date.year_now, C_date.month_now, C_date.day_now) + end + + set (a_year, a_month, a_day: INTEGER) + -- Give date new year, month, and day. + -- If day > num days in month then day will return last day in the month. + require + realistic_year: a_year /= 0 + realistic_month: a_month >= 1 and a_month <= 12 + realistic_day: a_day >= 1 and a_day <= 31 + do + year := a_year + month := a_month + internal_day := a_day + ensure + year_assigned: year = a_year + month_assigned: month = a_month + day_assigned: day = a_day + end + + set_year (a_year: INTEGER) + -- Change the year. + require + realistic_year: a_year /= 0 + do + year := a_year + ensure + year_assigned: year = a_year + end + + set_month (a_month: INTEGER) + -- Change the month. + require + realistic_month: a_month >= 1 and a_month <= 12 + do + month := a_month + ensure + month_assigned: month = a_month + end + + set_day (a_day: INTEGER) + -- Change the day. + -- If a_day > number of days in the month then + -- 'day' will be the last day of month. + require + realistic_day: a_day >= 1 and a_day <= 31 + do + internal_day := a_day + ensure + day_assigned: day = a_day + end + + truncate_to_years + -- Set the day to first day of month 1. + -- Use when all but the `year' is to be ignored. + do + set_day (1) + set_month (1) + ensure + year_unchanged: year = old year + month_one: month = 1 + day_one: day = 1 + end + + truncate_to_months + -- Set day to first day of current month. + -- Use when the `day' portion of date is to be ignored. + do + set_day (1) + ensure + year_unchanged: year = old year + month_unchanged: month = old month + day_one: day = 1 + end + +feature -- Status report + + is_leapyear: BOOLEAN + -- Is this a leapyear? + do + if is_bc then + Result := (year + 1) \\ 4 = 0 and not ((year + 1) \\ 400 = 0) + else + Result := year \\ 4 = 0 and (not (year \\ 100 = 0) or else year \\ 400 = 0) + end + end + + is_bc: BOOLEAN + -- Does the date represent a date B.C. (ie year < 1) + do + Result := year <= -1 + ensure + definition: Result implies year <= -1 + end + + is_representable_as_integer: BOOLEAN + -- Can Current be represented as an integer? + do + Result := not is_bc and then + (Current >= Minimum_representable_date and Current <= Maximum_representable_date) + end + +feature -- Querry + + days_between (other: like Current): INTEGER + -- Days between this date and 'other'. + -- Only works back to ~2 Mar 0001. + require + other_exists : other /= Void + do + Result := (other.internal - internal).abs + ensure + definition: Result = (other.internal - internal).abs + end + + time_between (other: like Current): like Duration_anchor + -- The difference between two dates as a duration + local + larger, smaller: like Current + y, m, d: INTEGER + do + larger := max (other) + smaller := min (other) + y := larger.year - smaller.year + m := larger.month - smaller.month + d := larger.day - smaller.day + if d < 0 then + d := d + smaller.last_day_of_month + m := m - 1 + end + if m < 0 then + m := m + 12 + y := y - 1 + end + create Result + Result.set (y, m, d) + if Current < other then + Result.negate + end + end + + is_valid_integer_representation (a_integer: INTEGER): BOOLEAN + -- Is `a_integer' in range to be converted to a time? + -- Dependent on the `internal' representation of dates. + do + -- These values were found by trial and error. This will give a + -- date from 1 Jan 0001 to 18 Oct 1,469,902, which, I believe, is + -- far enough into the future. + Result := a_integer >= 1721426 and a_integer <= 538592032 + ensure then + definition: Result implies (a_integer >= 1721426) and then + (a_integer <= 538592032) -- dependent on `internal' + end + + is_valid_string_representation (a_string: STRING): BOOLEAN + -- Is `a_string' in a format that can be used to initialize Current? + local + bcs: detachable STRING + ys, ms, ds: STRING + y, m, d: INTEGER + pad: INTEGER -- add 2 if is "BC" + do + if a_string /= Void and then (a_string.count = 8 or a_string.count = 10) then + if a_string.count = 10 then + pad := 2 + bcs := a_string.substring (1, 2) + end + ys := a_string.substring (1 + pad, 4 + pad) + ms := a_string.substring (5 + pad, 6 + pad) + ds := a_string.substring (7 + pad, 8 + pad) + if ys.is_integer and then ms.is_integer and then ds.is_integer then + y := ys.to_integer + m := ms.to_integer + d := ds.to_integer + if (y /= 0) and then (m >= 0 and m < 12)and then (d >= 0 and d <= 31) then + Result := True + if bcs /= Void and then not equal (bcs, "BC") then + Result := False + end + end + end + end + end + +feature -- Basic operations + + add_years (a_num: INTEGER) + -- Add 'a_num' number of years to the date. Works for negative numbers also. + local + y: INTEGER + do + y := year + year := year + a_num + if year = 0 then -- Must preserve invarient: year can not be 0. + if y < 0 then -- year was less than 0 and increased to 0. + year := 1 + else -- year was greater than 0 and decreased to 0. + year := -1 + end + end + ensure + valid_date: is_valid + end + + add_months (a_num: INTEGER) + -- Add 'a_num' number of months to the date. Works for negative numbers also. + local + m: INTEGER -- store month prior making month valid to call 'add_years'. + do + month := month + a_num + m := month + month := month \\ 12 -- preserve invarient + if month < 1 then + month := month + 12 -- preserve invarient + add_years (-1) + end + add_years (m // 12) -- add a year for every multiple of 12. + ensure + valid_date: is_valid + end + + add_days (a_num: INTEGER) + -- Add 'a_num' number of days to the date. Works for negative numbers also. + local + i: INTEGER + do + if a_num > 0 then + from i := a_num + until i <= days_remaining_this_month + loop + i := i - (days_remaining_this_month + 1) + set_day (1) + add_months (1) + end + set_day (day + i) + elseif a_num < 0 then + from + i := a_num.abs + until + i < day + loop + i := (day - i).abs + add_months (-1) + set_day (last_day_of_month) + end + set_day (day - i) + else + -- do nothing if a_num = 0 + end + ensure + valid_date: is_valid + end + + add_duration (a_duration: like Duration_anchor) + -- Add a length of time (in years, months, and days) to the date. + do + add_days (a_duration.days) + add_months (a_duration.months) + add_years (a_duration.years) + end + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Does this date come before 'other'? + require else + other_not_void: other /= Void + do + Result := year < other.year or else + (year = other.year) and (month < other.month) or else + (year = other.year) and (month = other.month) and (day < other.day) + ensure then +-- definition: year < other.year or else +-- (year = other.year) and (month < other.month) or else +-- (year = other.year) and (month = other.month) and (day < other.day) + end + +feature {YMD_TIME} -- Implementation + + frozen internal: INTEGER + -- Internal representation of YMD_TIME + -- Used internally by some features. + -- Does not work for BC dates; only works back to 1 January 0001, + -- at which time the result is 1,721,426. + -- Will work up to a date of 18 Oct 1,469,902 (found by trial). + require + not_bc: not is_bc + local + c, ya : INTEGER; + d,m,y : INTEGER; + do + d := day; + m := month; + y := year; + if m > 2 then + m := m - 3; + else + m := m + 9; + y := y - 1; + end + c := y // 100; + ya := y - 100 * c; + result := (146097 * c) // 4 + (1461 * ya) // 4 + (153 * m + 2) // 5 + d + 1721119; + ensure + result_large_enough: Result >= 1721426 + result_small_enough: Result <= 538592032 + end + + frozen from_internal (num: INTEGER) + -- Create a YMD_TIME from an internal representation. + local + y,m,d,j : INTEGER + do + j := num; + j := j - 1721119 + y := (4 * j - 1) // 146097; j := 4 * j - 1 - 146097 * y; + d := j // 4; + j := (4 * d + 3) // 1461; d := 4 * d + 3 - 1461 * j; + d := (d + 4) // 4; + m := (5 * d - 3) // 153; d := 5 * d - 3 - 153 * m; + d := (d + 5) // 5; + y := 100 * y + j; + if m < 10 then + m := m + 3; + else + m := m - 9; + y := y + 1; + end; + internal_day := d; + month := m; + year := y; + end + +feature {NONE} -- Implementation + + internal_day: INTEGER + -- Used to save last day of month if day is greater than 28, 30, or 31. + -- Actual day is calculated from this value. + + is_valid: BOOLEAN + -- Is the date logical? + do + Result := is_valid_year and is_valid_month and is_valid_day + end + + is_valid_year: BOOLEAN + -- Is the year logical? + -- Only invalid year is year "0". + do + Result := year /= 0 + ensure + definition: year /= 0 + end + + is_valid_month: BOOLEAN + -- Is the month logical? + do + Result := 1 <= month and month <= 12 + ensure + definition: 1 <= month and month <= 12 + end + + is_valid_day: BOOLEAN + -- Is the day logical based on month and year? + do + Result := day >= 1 and then + ( (day <= 28) or else + ((month=4 or month=6 or month=9 or month=11) and then day <= 30) or else + ((month=1 or month=3 or month=5 or month=7 or month=8 or month=10 or month=12) and then day <= 31) or else + (month=2 and is_leapyear and day <= 29) ) + end + +feature {NONE} -- Implementation + + Minimum_representable_date: like Current + -- The earliest date that can be represented as an integer. + -- This value is dependent on the implementation of `internal' and + -- was found by trial and error to be 1 Jan 0001. + do + create Result + Result.set_year (1) + Result.set_month (1) + Result.set_day (1) + end + + Maximum_representable_date: like Current + -- The latest date that can be represented as an integer. + -- This value is dependent on the implementation of `internal' and + -- was found by trial and error to be 18 Oct 1,469,902. + do + create Result + Result.set_year (1_469_902) + Result.set_month (10) + Result.set_day (18) + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + duration_anchor: YMD_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + require else + not_callable: False + do + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + interval_anchor: YMD_INTERVAL + -- Anchor for features using intervals. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + require else + not_callable: False + do + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +invariant + + is_valid: is_valid + +end -- class YMD_TIME + + diff --git a/jj_temporal/jj_t/classes/ymd_timer.e b/jj_temporal/jj_t/classes/ymd_timer.e new file mode 100644 index 0000000..45b49aa --- /dev/null +++ b/jj_temporal/jj_t/classes/ymd_timer.e @@ -0,0 +1,73 @@ +note + description: "[ + Timer for hours, minutes, seconds, and miliseconds. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: $" + revision: "$Revision: $" + +class + YMD_TIMER + +inherit + + YMD_INTERVAL + undefine + duration + redefine + default_create, + time_anchor, + duration_anchor + end + + TIMER + undefine + time_anchor, + duration_anchor + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Set up the timer + do + Precursor {YMD_INTERVAL} + Precursor {TIMER} + create cumulative + end + + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: YMD_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: YMD_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + +end diff --git a/jj_temporal/jj_t/classes/ymdhms_duration.e b/jj_temporal/jj_t/classes/ymdhms_duration.e new file mode 100644 index 0000000..1805d6e --- /dev/null +++ b/jj_temporal/jj_t/classes/ymdhms_duration.e @@ -0,0 +1,268 @@ +note + description: "[ + Duration of time described in years, months, days, + hours, minutes, and seconds. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMDHMS_DURATION + +inherit + + YMD_DURATION + rename + set as ymd_set, + as_string as as_ymd_string + redefine + default_create, + zero, one, + set_zero, + as_years, as_months, as_days, + add, sub, multiply, divide, div, mod, negate, percent_of, + is_less, + normalize + end + + HMS_DURATION + rename + set as hms_set, + as_string as as_hms_string + redefine + default_create, + zero, one, + set_zero, + as_hours, as_minutes, as_seconds, + add, sub, multiply, divide, div, mod, negate, percent_of, + is_less, + normalize + select + as_hms_string + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + do + Precursor {YMD_DURATION} + Precursor {HMS_DURATION} + end + +feature -- Access + + as_string: STRING_8 + -- The time represented as a string. + do + Result := as_ymd_string + ":" + as_hms_string + end + + zero: like Current + -- Neutral element for "+" and "-" + do + create Result + end + + one: like Current + -- Neutral element for "*" and "/" + do + create Result + Result.set (1,1,1,1,1,1) + end + + as_years: DOUBLE + -- Length of duration in years. + do + Result := years + months / 12 + days / days_per_year + + hours / (24 * days_per_year) + minutes / (60 * 24 * days_per_year) + + seconds / (60 * 60 * 24 * days_per_year) + end + + as_months: DOUBLE + -- Length of duration in months. + do + Result := years * 12 + months + days / days_per_month + + hours / hours_per_month + minutes / (60 * hours_per_month) + + seconds / (60 * 60 * hours_per_month) + end + + as_days: DOUBLE + -- Length of duration in days. + do + Result := years * days_per_year + months * days_per_month + days + + hours / 24 + minutes / (24 * 60) + seconds / (24 * 60 * 60) + end + + as_hours: DOUBLE + -- Length of this duration in hours. + do + Result := (years * days_per_year + months * days_per_month + days) -- number of days + * 24 + hours + minutes / 60 + seconds / 3600 + end + + as_minutes: DOUBLE + -- Length of this duration in minutes. + do + Result := ((years * days_per_year + months * days_per_month + days) -- number of days + * 24 + hours) -- number of hours + * 60 + minutes + seconds / 60 + end + + as_seconds: DOUBLE + -- Length of this duration in seconds. + do + Result := (((years * days_per_year + months * days_per_month + days) -- number of days + * 24 + hours) -- number of hours + * 60 + minutes) -- number of minutes + * 60 + seconds + end + +feature -- Element change + + set (a_year, a_month, a_day, a_hour, a_minute, a_second: INTEGER) + -- Change years, months, days, hours, minutes, seconds. + do + ymd_set (a_year, a_month, a_day) + hms_set (a_hour, a_minute, a_second) + ensure + years_set: years = a_year + months_set: months = a_month + days_set: days = a_day + hours_set: hours = a_hour + minutes_set: minutes = a_minute + seconds_set: seconds = a_second + end + + set_zero + -- Make the duration be zero length. + do + ymd_set (0, 0, 0) + set_fine (0, 0, 0, 0) + end + + + negate + -- Reverse the sign for years, ..., seconds. + do + Precursor {YMD_DURATION} + Precursor {HMS_DURATION} + end + + normalize + -- Convert to standard format: "13 months" becomes "1 year, 1 month". + -- Month and year length is based on 'days_per_month'. + do + Precursor {HMS_DURATION} + set_days (days + hours // 24) + set_hours (hours \\ 24) + Precursor {YMD_DURATION} + end + + add (other: like Current) + -- Add other to current. + do + Precursor {YMD_DURATION} (other) + Precursor {HMS_DURATION} (other) + end + + sub (other: like Current) + -- Subtract other from current. + do + Precursor {YMD_DURATION} (other) + Precursor {HMS_DURATION} (other) + end + + multiply (r: DOUBLE) + -- Multiply by a factor of 'r'. + -- Result is normalized. + local + v: DOUBLE + fract: DOUBLE + do + v := years * r + years := v.floor + fract := v - years + + v := months * r + 12 * fract + months := v.floor + fract := v - months + + v := days * r + days_per_month * fract + days := v.floor + fract := v - days + + v := hours * r + 24 * fract + hours := v.floor + fract := v - hours + + v := minutes * r + 60 * fract + minutes := v.floor + fract := v - minutes + + v := seconds * r + 60 * fract + seconds := v.rounded + normalize + end + + divide (r: DOUBLE) + -- Divide by 'r'. + -- Result is normalized. + do + Precursor {HMS_DURATION} (r) -- calculates based on seconds. + end + + div (i: INTEGER) + -- Integer division. + -- Result is normalized. + do + Precursor {HMS_DURATION} (i) -- calculates based on seconds. + end + + mod (i: INTEGER) + -- Modulo. + -- Result is normalized. + do + Precursor {HMS_DURATION} (i) -- calculates based on seconds. + end + + percent_of (other: like Current): DOUBLE + -- What percent of other in length is this one? + do + Result := as_days / other.as_days -- Days seemed reasonable accuracy. + end + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Is this duration shorter than other? + do + Result := Precursor {YMD_DURATION} (other) or else + (years = other.years and then months = other.months and then days = other.days and then + Precursor {HMS_DURATION} (other)) + end + +feature {NONE} -- Implementation + + hours_per_year: DOUBLE + -- Number of hours in a year. + do + Result := days_per_year * 24 + end + + hours_per_month: DOUBLE + -- Number of hours in a month. + do + Result := days_per_month * 24 + end + + + +end -- class YMDHMS_DURATION + diff --git a/jj_temporal/jj_t/classes/ymdhms_duration_constants.e b/jj_temporal/jj_t/classes/ymdhms_duration_constants.e new file mode 100644 index 0000000..7773566 --- /dev/null +++ b/jj_temporal/jj_t/classes/ymdhms_duration_constants.e @@ -0,0 +1,66 @@ +note + description: "[ + Constants for use with {YMDHMS_TIME}, {YMDHMS_DURATION}, + and {YMDHMS_INTERVAL}. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMDHMS_DURATION_CONSTANTS + +feature -- Access + + One_second: YMDHMS_DURATION + once + create Result + Result.set (0, 0, 0, 0, 0, 1) + end + + One_minute: YMDHMS_DURATION + once + create Result + Result.set (0, 0, 0, 0, 1, 0) + end + + One_hour: YMDHMS_DURATION + once + create Result + Result.set (0, 0, 0, 1, 0, 0) + end + + One_day: YMDHMS_DURATION + once + create Result + Result.set (0, 0, 1, 0, 0, 0) + end + + One_week: YMDHMS_DURATION + once + create Result + Result.set (0, 0, 7, 0, 0, 0) + end + + One_month: YMDHMS_DURATION + once + create Result + Result.set (0, 1, 0, 0, 0, 0) + end + + One_quarter: YMDHMS_DURATION + once + create Result + Result.set (0, 3, 0, 0, 0, 0) + end + + One_year: YMDHMS_DURATION + once + create Result + Result.set (1, 0, 0, 0, 0, 0) + end + +end -- class YMDHMS_DURATION_CONSTANTS diff --git a/jj_temporal/jj_t/classes/ymdhms_interval.e b/jj_temporal/jj_t/classes/ymdhms_interval.e new file mode 100644 index 0000000..bb617b9 --- /dev/null +++ b/jj_temporal/jj_t/classes/ymdhms_interval.e @@ -0,0 +1,60 @@ +note + description: "[ + A span of time consisting of a start-time, finish-time + and duration described in terms of years, months, + days, hours, minutes, and seconds. Positive durations only. + ]" + names: "ymdhms_interval, interval, time_span, time_interval, span" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMDHMS_INTERVAL + +inherit + + HMS_INTERVAL + undefine + default_create, + time_anchor, + duration_anchor + end + + YMD_INTERVAL + redefine + time_anchor, + duration_anchor + end + +create + default_create + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: YMDHMS_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + do + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: YMDHMS_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + do + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +end diff --git a/jj_temporal/jj_t/classes/ymdhms_time.e b/jj_temporal/jj_t/classes/ymdhms_time.e new file mode 100644 index 0000000..6e12d31 --- /dev/null +++ b/jj_temporal/jj_t/classes/ymdhms_time.e @@ -0,0 +1,391 @@ +note + description: "[ + An exact point of time of a particular day. A Year, Month, Day, + Hour, Minute, Second - time (ie. a date and time). + ]" + names: "date, time, date_and_time" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMDHMS_TIME + +inherit + + YMD_TIME + rename + set as set_ymd_time, + as_days as as_seconds, + from_days as from_seconds + redefine + default_create, + set_now, + set_now_utc, + set_now_utc_fine, + is_less, + is_valid, + add_duration, + time_between, +-- normalize, + truncate_to_years, + truncate_to_months, + as_string, + as_seconds, + from_seconds, + from_string, + is_valid_string_representation, + is_valid_integer_representation, + is_representable_as_integer, + duration_anchor, + interval_anchor + end + + HMS_TIME + rename + set as set_hms_time + redefine + default_create, + set_now, + set_now_utc, + set_now_fine, + set_now_utc_fine, + is_less, + is_valid, + add_duration, + time_between, + seconds_between, + add_hours, +-- normalize, + truncate_to_hours, + truncate_to_minutes, + as_string, + as_seconds, + from_seconds, + from_string, + is_valid_string_representation, + is_valid_integer_representation, + is_representable_as_integer, + Duration_anchor, + Interval_anchor + select + from_seconds + end + +create + default_create, + set_now, + set_now_utc, + set_now_fine, + set_now_utc_fine, + from_seconds, + from_string + +feature {NONE} -- Initialization + + default_create + -- Create an instance with todays date at midnight. + do + Precursor {HMS_TIME} + Precursor {YMD_TIME} + end + +feature -- Access + + as_string: STRING + -- String representation of Current in a compact form. + do + Result := Precursor {YMD_TIME} + Result.append ("T") + Result.append (Precursor {HMS_TIME}) + end + + as_seconds: INTEGER + -- The number of seconds from midnight (00:00:00) + -- on 1 Jan 1970 to the Current time. + local + days: INTEGER + do + days := Precursor {YMD_TIME} + Result := days * 24 * 60 * 60 + Precursor {HMS_TIME} + end + +feature -- Element Change + + from_string (a_string: STRING) + -- Change Current to the time represented by `a_string'. + -- It must be in the format as provided by `as_string'. + local + pos: INTEGER + do + pos := a_string.index_of ('T', 1) + Precursor {YMD_TIME} (a_string.substring (1, pos - 1)) + Precursor {HMS_TIME} (a_string.substring (pos + 1, a_string.count)) + end + + from_seconds (a_seconds: INTEGER) + -- Change Current to the time represented by `a_seconds'. + -- `A_seconds' is assumed to be the number of seconds since 1 Jan 1970. + -- It must represent a date that is not BC. + do + set (1970, 1, 1, 0, 0, 0) + add_seconds (a_seconds) + end + + set_now + -- Initialize the instance from the system clock unsing the + -- current time zone. + do + Precursor {HMS_TIME} + Precursor {YMD_TIME} + end + + set_now_utc + -- Initialize the instance from the system clock unsing GMT. + do + Precursor {HMS_TIME} + Precursor {YMD_TIME} + end + + set_now_fine + -- Initialize the instance from the system clock using the current + -- time zone and including milliseconds. + do + set_now + Precursor {HMS_TIME} + end + + set_now_utc_fine + -- Initialize the instance from the system clock using the GMT and + -- including milliseconds. + do + set_now_utc + Precursor {HMS_TIME} + end + + set (a_year, a_month, a_day, a_hour, a_minute, a_second: INTEGER) + -- Change the 'year', ..., 'second'. + require + year_valid: a_year /= 0; + month_valid: 1 <= a_month and a_month <= 12; + day_valid: 1 <= a_day and a_day <= 31; + hour_valid: 0 <= a_hour and a_hour <= 23; + minute_valid: 0 <= a_minute and a_minute <= 59; + second_valid: 0 <= a_second and a_second <= 59 + do + set_ymd_time (a_year, a_month, a_day); + set_hms_time (a_hour, a_minute, a_second); + end + + truncate_to_years + -- Set to midnight on the first day of month 1. + -- Use when all but the `year' is to be ignored. + do + Precursor {YMD_TIME} + set_hms_time (0, 0, 0) + ensure then + year_unchanged: year = old year + month_one: month = 1 + day_one: day = 1 + hour_zero: hour = 0 + minute_zero: minute = 0 + second_zero: second = 0 + end + + truncate_to_months + -- Set to midnight on the first day of the current month. + -- Use when all but the `year' and `month' is to be ignored. + do + Precursor {YMD_TIME} + set_hms_time (0, 0, 0) + ensure then + year_unchanged: year = old year + month_unchaged: month = old month + day_one: day = 1 + hour_zero: hour = 0 + minute_zero: minute = 0 + second_zero: second = 0 + end + + truncate_to_days + -- Set to midnight on the current day. + -- Use when the time portion of the date is to be ignored. + do + set_hms_time (0, 0, 0) + ensure then + year_unchanged: year = old year + month_unchaged: month = old month + day_unchaged: day = old day + hour_zero: hour = 0 + minute_zero: minute = 0 + second_zero: second = 0 + end + + truncate_to_hours + -- Set the `hour', `second', and `millisecond' to zero. + -- Used when these portions of the time are to be ignored. + do + set (year, month, day, hour, 0, 0) + end + + truncate_to_minutes + do + set (year, month, day, hour, minute, 0) + end + +feature -- Basic operations + + add_duration (a_duration: like duration_anchor) + -- Add a length of time (in years, months, days, + -- hours, minutes, and seconds) to the time. + do + Precursor {HMS_TIME} (a_duration) + add_days (overflow) + clear_overflow + Precursor {YMD_TIME} (a_duration) + ensure then + no_overflowing_days: overflow = 0 + end + + add_hours (a_number: INTEGER) + -- Add `a_number' of hours to the current time + do + Precursor {HMS_TIME} (a_number) + add_days (overflow) + clear_overflow + end + +feature -- Status report + + is_representable_as_integer: BOOLEAN + -- Can Current be represented as an integer? + do + Result := Precursor {HMS_TIME} and then Precursor {YMD_TIME} + end + +feature -- Querry + + time_between (other: like Current): like duration_anchor + -- The difference between two dates as a time span or duration. + local + larger, smaller: like Current + y, mon, d, h, m, s: INTEGER + do + larger := max (other) + smaller := min (other) + y := larger.year - smaller.year + mon := larger.month - smaller.month + d := larger.day - smaller.day + h := larger.hour - smaller.hour + m := larger.minute - smaller.minute + s := larger.second - smaller.second + if s < 0 then + s := s + 60 + m := m - 1 + end + if m < 0 then + m := m + 60 + h := h - 1 + end + if h < 0 then + h := h + 24 + d := d - 1 + end + if d < 0 then + d := d + smaller.last_day_of_month + mon := mon - 1 + end + if mon < 0 then + mon := mon + 12 + y := y - 1 + end + create Result + Result.set (y, mon, d, h, m, s) + if Current < other then + Result.negate + end + end + + seconds_between (a_other: like Current): INTEGER + -- The number of seconds between Current and `a_other'. + do + Result := days_between (a_other) * 24 * 60 * 60 + Precursor {HMS_TIME} (a_other) + end + + is_valid_string_representation (a_string: STRING): BOOLEAN + -- Is `a_string' in a format that can be used to initialize Current? + local + i: INTEGER + ds, ts: STRING + do + if a_string /= Void then + i := a_string.index_of ('T', 1) + ds := a_string.substring (1, i - 1) + ts := a_string.substring (i + 1, a_string.count) + Result := Precursor {YMD_TIME} (ds) and then Precursor {HMS_TIME} (ts) + end + end + + is_valid_integer_representation (a_integer: INTEGER): BOOLEAN + -- Is `a_integer' in range to be converted to a time? + do + Result := Precursor {HMS_TIME} (a_integer) and then + Precursor {YMD_TIME} (a_integer) + end + +feature -- Comparison + + is_less alias "<" (other: like Current): BOOLEAN + -- Does this date_and_time come before 'other' + do + Result := year < other.year or else + ((year = other.year) and (month < other.month)) or else + ((year = other.year) and (month = other.month) and (day < other.day)) or else + ((year = other.year) and (month = other.month) and (day = other.day) and + (hour < other.hour)) or else + ((year = other.year) and (month = other.month) and (day = other.day) and + (hour = other.hour) and (minute < other.minute)) or else + ((year = other.year) and (month = other.month) and (day = other.day) and + (hour = other.hour) and (minute = other.minute) and (second < other.second)) or else + ((year = other.year) and (month = other.month) and (day = other.day) and + (hour = other.hour) and (minute = other.minute) and (second = other.second) and + (millisecond < other.millisecond)) + + end + +feature {NONE} -- Implementation + + is_valid: BOOLEAN + -- Is the date and time logical? + do + Result := Precursor {YMD_TIME} and Precursor {HMS_TIME} + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + duration_anchor: YMDHMS_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + interval_anchor: YMDHMS_INTERVAL + -- Anchor for features using intervals. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + +end diff --git a/jj_temporal/jj_t/classes/ymdhms_timer.e b/jj_temporal/jj_t/classes/ymdhms_timer.e new file mode 100644 index 0000000..0198e06 --- /dev/null +++ b/jj_temporal/jj_t/classes/ymdhms_timer.e @@ -0,0 +1,77 @@ +note + description: "Summary description for {YMDHMS_TIMER}." + author: "" + date: "$Date$" + revision: "$Revision$" + +class + YMDHMS_TIMER + +inherit + + YMDHMS_INTERVAL + undefine + duration + redefine + default_create, + time_anchor, + duration_anchor + end + + HMS_TIMER + undefine + duration + redefine + default_create, + time_anchor, + duration_anchor + end + + YMD_TIMER + undefine + time_anchor, + duration_anchor + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + -- Set up the timer + do + Precursor {YMDHMS_INTERVAL} + Precursor {YMD_TIMER} + create cumulative + end + + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: YMDHMS_TIME + -- Anchor for features using times. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + duration_anchor: YMDHMS_DURATION + -- Anchor for features using durations. + -- Not to be called; just used to anchor types. + -- Declared as a feature to avoid adding an attribute. + once + check + do_not_call: False then + -- Because give no info; simply used as anchor. + end + end + + +end diff --git a/jj_temporal/jj_t/demo/jj_temporal_demo.e b/jj_temporal/jj_t/demo/jj_temporal_demo.e new file mode 100644 index 0000000..657efc8 --- /dev/null +++ b/jj_temporal/jj_t/demo/jj_temporal_demo.e @@ -0,0 +1,88 @@ +note + description: "[ + Test objects for temporal cluster. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL: $" + date: "$Date: $" + revision: "$Revision: $" + +class + JJ_TEMPORAL_DEMO + +create + make + +feature {NONE} -- Initialization + + make + -- Initialize `Current'. + local + i: INTEGER + do + create date + create time + create date_time + io.put_string (date.out) + io.new_line + io.new_line + io.put_string (time.out) + io.new_line + io.new_line + io.put_string (date_time.out) + + create ymd_formatter + create timer_1 + create timer_2 + timer_1.reset + timer_2.reset + + from i := 1 + until i > 10 + loop + io.put_string ("i = " + i.out + "%N") + timer_1.run + ee.sleep (100) + timer_1.stop + timer_2.run + ee.sleep (1_000_000_000) + timer_2.stop + io.put_string ("timer_1.cumulative = " + timer_1.cumulative.as_seconds.out) + io.new_line + io.put_string ("timer_2.cumulative = " + timer_2.cumulative.as_seconds.out) + io.new_line + i := i + 1 + end + io.put_string ("timer_1.cumulative = " + timer_1.cumulative.as_seconds.out) + io.put_string (" %T") + io.put_string ("timer_2.cumulative = " + timer_2.cumulative.as_seconds.out) + io.new_line + +-- io.put_string ("The formatted date = ") +-- io.put_string (ymd_formatter.to_string (date) + "%N") + end + +feature -- Access + + date: YMD_TIME + -- To test a date + + time: HMS_TIME + -- To test a time + + date_time: YMDHMS_TIME + -- To test a date and time + + ymd_formatter: YMD_TIME_FORMATTER + -- To test the gobo parsers + + timer_1, timer_2: HMS_TIMER + + ee: EXECUTION_ENVIRONMENT + once + create Result + end + +end diff --git a/jj_temporal/jj_t/demo/jj_temporal_demo.ecf b/jj_temporal/jj_t/demo/jj_temporal_demo.ecf new file mode 100644 index 0000000..6cf836d --- /dev/null +++ b/jj_temporal/jj_t/demo/jj_temporal_demo.ecf @@ -0,0 +1,23 @@ + + + + + + + + + + + + /.git$ + /.svn$ + /CVS$ + /EIFGENs$ + + + + diff --git a/jj_temporal/jj_t/docs/Forum.txt b/jj_temporal/jj_t/docs/Forum.txt new file mode 100644 index 0000000..0bf6d0b --- /dev/null +++ b/jj_temporal/jj_t/docs/Forum.txt @@ -0,0 +1,18 @@ +Eiffel Forum License, version 2 + +1. Permission is hereby granted to use, copy, modify and/or + distribute this package, provided that: + * copyright notices are retained unchanged, + * any distribution of this package, whether modified or not, + includes this license text. +2. Permission is hereby also granted to distribute binary programs + which depend on this package. If the binary program depends on a + modified version of this package, you are encouraged to publicly + release the modified version of this package. + +THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT WARRANTY. ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE TO ANY PARTY FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THIS PACKAGE. diff --git a/jj_temporal/jj_t/docs/main_classes.png b/jj_temporal/jj_t/docs/main_classes.png new file mode 100644 index 0000000000000000000000000000000000000000..dd2531c3672a3633132752c3433f9705e3f9403a GIT binary patch literal 118416 zcmaI7WmufcvNntb*B}$zf&_PW4Fq>5xVtkrA-Dy1cXzi0_dsxWhoFP=P4+o!?X~y& zapuQdGmlhvbyrv2b$4~Bf}A7@A|4_H1O$rIM=>P`2v{x%2xvigSnw6=)g^Zb2*ex< zQBegcQBe{FM>|ssYZC~FkD&=ka0+n?I0I*(0!}RwtPeSy2lRgNlcHy`Dk4x))XXpe zVY(RDI!I(>pGDP#uyl|}tc1mCs^K-N?PA2mbpc4ZxfcT47^}cb*VT4bC(15v?zNZ9 zv)$DcUkDO?lW?(=YA6WJ?>Y|oT>yRo(%7gtDEMs1HwylgX>sI+UxVQSyCS3AVr}2s zYRXtVd9V4Rh}&AC!a-0IY+%`1~0?ZvLq2D^+P8#z|UECjl$gY#HV; z?d27wT-b6cDes)m`5gq&9k*c3j0Q19{4pbQV1ty$nC<(lNTpCnHUIZh0s(x@;0Q0c zT~ibK%uQ(cwEV|#)U!1nB>v9upeO^*RqsUH zFh<266z$$h3|%Q}_SE9Ch?=BR{x%x37ZBvJ{dx&glf#-Ghk?zuv_)SQP7zz1GTrM_ z>oz)^k`ehMGlMjVn2?EAyWJYrwlun`oFO9iI^40tI5l_FUenjIu&X>X4nP6q0C0b1 zO&>=^&YD3;IzdDCL+^%7U;b5~yocz{h(nKw9`gV{n+;+z;`#GPboWwQm}{VOBw zS!!+CXPF|z)w?lq1=Y_9Luq?#cK#kB-2)clddph&h0u|p5!${oi5z23cCIjrryGJS z25wl0&>Y(PGZdX4y**52H|A}C5IStGFq8&7mmgZK-#a=;+HNfc_^=+=Y9tlEr*-sV z=z(s8NvQFF@O8vyNY5U^-{>EEnB3n;^hh#63ZtXu3aNY~obpE|bsEGm6grJz#6lJq zK~P}n4g3-VqXk(J9G3I87>WmeMzl-FEIWLXy%?<(4Ml`}l6M~|B4DVRrTh(kj~WxS z>33m!wswf!o&|dW9SFOikqygR>Sbj8FLvE-pFcbz5{W`$A&83}shzF+6LS9@8(c=DUeIblrO;eX+Ru!A z?S0`Z>U-X=0Y7__jdYmkWca=YYX*GijW<9wk~3m3I{o~WnYc!S4#g_M<_t|((xIP2l{t55gmZ`k`4g-r)Gm?Dn5j&z^1;34a{?q zM;E!a|czw$o)*P$E5=HvA*l$&D)k}m9Vx}kxNNK`K z<*y4Ji;qg!e~tVyFe$ICVfn==Df9QG}&L%MueDM32HiAD)8%v8+iCyT|B zIhDDag}zFIN=j)-X__j&>VxXQ%xSI!JXwVJ&Ah_gMqF!k`c% zr$)>utKTGY&MAJcd3Cy#k~ee=VG2y9;ghZ3?v@L0~%*a{y06kv;62o%R|_GX=k*Wtf?gGUP-xW6s9~Zw5*M`lK+0&rhbd+VB z)0WA{ScLhUX^5kQqs1nS-6YvG`IP;HJ#dU*^wu=Nlyl6$Nz%#xPVcg_CAnqXDafg8 z4^<ps3MkCIEvU6huCmYNmRR;iVP z)1gziRStH5vxLzHl!)&nJ+{e%XG6kkEAWIKiqDcqq<@I=J(=VyIz=rSP73 z);M&iwn+Y>P@=A1`4HKWvA;Hc@n=$-AFm$R=-*h_=#uzM{+*nLJX3s8tTN;{ELVa) zjOXn&^CGRM_SKJfaqpyLB+I?5m8`vw-P7fDq|(_|X?#o`BVi(8ghi~#7??TE?KkJW z*6!MN(WtoJV^gl^es2GK5MYJGj$_Ke*Ywc`1Nd{uSjJK3B6hp#n8}qLNEei#l)y54 zzI(jezUk@ssfE16wuGW&VtRQ>dP?v2vOBK_xfhxb?n^_rwgRbp8c|HApf?{mT^@%K z3oAq22c)cobQg)@_oL{p46}Oe&JJ0FIx5uPOxujlhKaD@LechwxRD&SoDwjcrs}$+22XuA*6LyFV|&m{?>A_PGhb* zTpBfVUxuWHR&}ng+?3eNVRT}5R6dtb{!lGo>#gmt){`2LgYt}zhq!~-7X*#3%Xzx? zW%d31uet@>%gnL0@MiJ3@QUz}urAvT>z3!ZG5H-qSzFnq#kw(vrOuQ2lkX>PZtlm$ zw2E{?jJS)qwRJ7=dRi*?26MT(bHm3YH)oWmiN}eFa7j(4%=2~L6LW|@eHqeK!-X_s zrDLjFz!u;G$m7&%xvHVd{Ur%H02+jPPi$SuQOdykg+JbHUsKjvc5Wgf>j=$?fI;A~ zLQR9VBE0;l+^w`qFxSIa8+w_<;vILYb3G_|qGnbiygyL3zHoDEy?Og~ME{#_3y^GI zY(T1is9*VOQK_7=Jb+zvY$R1u`<8xc_RDN1tG^k~qRx`si{+iwiRMaO!k)^w4X-?( zzP-+DdX8 z2=*InKByU_w>;7QawEJN7#eIvWI%+?uja0EBX%iueOB1TDMeVY2kQ;nmLCfAr z8%>*FU*FiS?yLXM^DH``aXTLutw~JPA1+YhTlz41yL?S?I&v9Gq3@tS(v{+4^+0s> z^wW5DJ3oZp^rae#`u#>d8^r1il#rBAyC@@sSc`@HBYCz3@k?O$+IhX*Ge(G0$u$g# zDGEeSh~z?WKIwPkZKvV4;y|eRak<2oh;%mIB@23%O*-Z*N~$$0NIxs+^)z=!N5ix2 z?It|q`3H!4GkM^7NjKSxLX=Tqu{IFt7Ao$#Qz&~wFoDE3aZLDpbc-;BP{`CY8`1ha7jASJLdc@g^pG-qm zfkf2K(S(GZfsKKQOaPIDgoMx0*px>}OyYlE2mj+IGk12j=V4@Yb8};GV`Z>&G-G7u z=H_N(Vqs)qp$9)f@8n_YY~W6B>qP!PLjIB?X5wVzXkqVcVP{M7N3MaPor^O+8QGtP z{{H+=KTX^%{@s$T)BmakR*><}9Y$sbCdR*IgJ0$QbCpNI!rjDLL(Ia)#MTMih5$1= zHw)jtUig1*{kzG3ysG){SGic3|M})W?)>kYe2jlI_=iUSGhF|=3LY;3L_Ws9$6f%D z3ZZ%n0zwEvN=#VA9rAbuZXRo@-I4^Zy}*q`SxLwHE#~O-3c;NA4IL0Y(0LcOf8A1)yJ1<&Tc&+>lTNvAo7u?_N>m zPebtbzj0sHRS3d=5CMHXWSKOt`~PT2$S-i>)jzRklaSaeIxO@%Kny$Oq)I8QUj5kulK;}u}!qmsZFY0xbn_GEQBae6C`P!fkS-&4ot9Ai%I+tB62Ajy-567#HeLH3kEA%)^ zD=u?ewbl!W-0R&@nUGN$D&M4En<;oKaS|5Ds9f{>q3vPXiP!{M^-oDpAU5rmwW0-f zialOw20pI?}mJ3;5cW-H-F(}l7ZBaCUrBZ>5sgdkuY(+^*AVq8Y2 zT_1}^&$B0P$B7R45ph7K>8gC%b0y!?FRZ)WG?QA;YTHmr5fS~vNs}a5AHHp~{*{Gc zV0k8;vcAtJJ&!xWgK9H;?lVp*>668!kq!_)J@M%CGF{u|1*B4$n(RWmNBA{$#e)o< z@8g!{#c;iw$>tZ_sd@{eyAwP4MAs9o_fvBz69Nw+&zD&>7v}>=`EnU2CTmZNBgBmS z%6M$WY4dW#V+|gcrnr2~Su!d2iS1k-g?zW`Om#k2n2f_mRULNMQyL#KKxZUyZflZJ zT!t^boujW#1&IQ+|6oKgYbqEcL1{XBGc9T!y?}gT#wBGjd$94xTvUi46w-+O_ zH{~AJo)I%dC-ThE#h&{)8;;|Cn7vN|AN;ZGcuu^(dfguYLL2b7G+H*Xf7X1c?6@Jq z?54`KYl;lg;P*k>hU4++eHA(TVJ+)ly^I;I9uL z>7&`P(FZ*CwxL4Vv>j_Jf=Ee8SvLQ87c2dwPYf+HFxKB(8&{Fro}1KScA)Cq_e=-C zzJmYZcx`8n>e}9p=KdXvr@e}y!K=&1FIY%5+9XFOo~C(&;dtVRI9{J)ROWH%>XNJs zZh&l|ws=#2hUR2DrjmcG%l2e3?3wrM_-3lg%==)jYBP&>ePf(_4usjiM(^#Tic!sV z#_7Gi;zpD(A^4*8744-7!4{eLnYZqkb5>|q@Tp!H7WFY4L5b^9yUn$O?|xr@Ct^C9 zIh@_R#`yq^#qw8Vs0pKN3WdH;OK(eB!i2ioS;UcSb&k&yPp#>g{KY`ei&5i3^@dr? z@9$}{_M*_Fj2+I=e80P0rfN-;HJg8H-%V$o%1M7(Gq>Nm)q@)$W;md=s__5u@-WF& zH}(WVO9(>B1W!TF4|08`kvp_kV~)QFV(%t~Y7h(pONCm6Yoh1%VKN;aM>*9Z?9a-mPQZ70zz-FWjlRNi7U;(!%0yRN4a1m|`Eqec(5#L6~M zW?6yJfUb+0T7?$5x{gB;-_z(wtgTrYP1fzxwkkF|b`2JbO~C@K2Fuzx zJ)5z-%Fd@oLlrla&fARrjt%v&lUIWQ8Rq)r0HENouSR#-_>o-kH41vGU&WaoX9NJF zB0~IBlO;QS)|v`_wUCa_FXM#An%u{eWs`-3RB;}H-J)Mq5yHM~-UY=+$2aEImT|$_rP!c~a{fLP_ zYK*OXc;^BR+k!zbtRbANTBVK+5vOXCtxa8tQ=3HO;Zj?g`pQHmTk+4TH3dxgpOR|V z+~@Y19iAEKu8XQl1=85Sx`-;Cal{TT7M7aVR~iL+3NzOfA^l!5u1_F-s@}E4(WoFw z*#2YfSlVcpvj?{2%I=u9jM52jJxA4Icy1f}y4#CSN4b9=8as6AL>8#w`eRwxXVJ#H zR%j%7epL*JDah|xUYp`^=>n9Wh}B($lA?AyV1@f5GHiDn;0B#0It_Qz*q4|O9Mny7 zwz>|gI?V#`foC0Q%Pw=+j-x-}hCVTNS~SkLx|A7xGJQSHQ%4BVdD>%r&E+bYk52Tw zX-O)uoS|`?mIaKAalXv)Q6Ao|`Z7farLtVp-))BX)t+^>g-5l-j%=gaFMBS1^telK z8*L`KZ~l<+75Tu-Q)53FpU1o<>cC-~du}A~1($YB!^nIzt837j(|Z2RF8hpcFi~xm zCcE3Iy5rKCi{F61=`@bzsP*1IcG@@m&izpV~iOWv!KrebSfO zQ&&&%hkGD@}atURXd{i|f&}ceTd&tG_pp6%= z++^+ZOvms{Auf@8fR2W|RVjgJtCHi#z;biDNWqu8tc&Gj3&*n#^)%TA^}({L&a(#m zkylL{eNZ#o+S7jDsMuMn)h7zU^3nFlv*oNPYpmAgQZPR1QgWooEX!gQ__XKq>)S)e zoPgd4+q>T@Q-GadVjnh0$dy9xhgp`Bga>grte3+wim6Inq@M#K+(q*U}{R324bn%JwX<;jIy>co8EAHTkxQn6ODx1O6kRNz`ONZjf zRg}f4#^*WQBC|&fJf_sFF>Ih~fW@C9BIQ|t#Judkw>$VYbW^@ZyJhEITaEtObajjV zflElR8FUAp4%Q2;-Fco%I15HjY^4iAjg=3I660D76`-nlvpcjCB;P@ z_ss=W6$1&2i18Q zKZWWdoLAcKi)|wYlD(2G?Yu`%gOH4YJK0Tp`P@IuwYwi^+;&o`6&OI(g~oE`H8oo+ z01lb5Z!5G;(&d$o!(U4R{Dg{Oz__uPxh<29za!J%M#Vdn%04cGwzSpSg3w~2-9#xG zWrC0Z$(MJ3F3OGU6eL9}dL=;|G;>z2M@oYsF8nH(&t`&(MX=Au_ci*?+^}7*nne{# zx1@9au{1yE<;C>prg#EQSDO!D!EFO%diOn0XQH^Yo*n6R3m3|c|Cc~f%ZFJ*4^Qd7 z>=mcODw(DdO;BIb(nzHZM@Z*kJ{XLctQ>~1MJ+Ho;h9Q4(-uQ)*79owK7#m^An6u1$#Kv%kjGdh^yz6O<|0ogw_A>*r5707>TjA?R1kHl$O?*wbDt zD;4i`@aZR%1I}5oq`x`8(!oEnv(5i#{(C<+*PC(>{*~6i$?fDHYs}eVW$M#je}>Bp zcY9Mp_?qns^}v85I<-cm)awGlc{`(mNg2C%0ghe=*RiB}%Un(SX0b$1&uNQ8Pj*}% zgPn>%Ts-D$J<4W-%0aeo4#bwjYlB?wKpCNpx9|4v0$_9!cq=A(>2y=sPck@tQthTMu|!jHmMb)EU9H zS=>GPRk1?#F!dE{wr7kkL*a{odA|}Ud|&S@`k;O{s$=}cPgQ?duKIw2a-HYk5Ul^h z9!MgfW&&uidLpxpr2zkbo%Kib7x2CpiVf~=cG$X@Pt(N^>c*i~K`pQKj5+BCMaaj3r7XOa)s&Mz9pinjq(#h2Ve^8v3)r= zBngS*qq>BDJXa9=ufde}Ct1W}%OhFB=c83x4>GWxrnblCk3-5`5o66g>5WSZf_F!R z;eZV`v!xTu?uNS4(-3=t%I!{1_%<>-FcHeX!n_5ecYt2~U*0S`1nS^av+jdLBWQXd zpK#WO^?H7=UZDJ1TD{Ubx-QEVbBu9%FXkrBSu)6Fhf<*$0k9A+IjCEGlN z?n>fIQ@YH;kt#%xND2?E!$bMAZPCVz1xXY#-f&U3WT_u?zMJG}WrY3CLZUwTd?2@c z+Rkmz_TQ_aSKp80>lBgEBAfKl*=Pm_RuSxF0S-yG;vu=v^Be5nPBn_C{t+t0I>`Co zq&k)-q}tMNs(pkE=RdQJm`ZXcU$SGLy!(NI-C1f$?ng0JZ84`b83 zM-2Sm!K=XvxxY4HfD5wf()kszHX#2HkeHjk^e#XUafo}eF!mUu-_2)Hp?-O1IqGfy zmP85*()LPV-aEzQ(V5TT)riKe`|E~AOR-yqpVP!Eol@jxcU-?!s+J`#+y6juoKaQ3 zBkMTt$2WPpzXl^&&bvi{{Yck&1GtvQi;0C53U^^kzXNgmslCwv z7Yg1O=l8v~V^e`S&1u(2b5oIVqER>#!Z!ALHb^2F)#PA!^ZA=oV((G-R7<7@OaPX> z@AER1#hw{w6xE()o#~Js@Py)IsflwmTHxM%(?J!JQYNOsYHnCjl8{2T&6QnOq3ikH zYN6U7kni#L564+eGpR^C_E8_f=i9vY-`|lg?)I`qIv-AH`GGg_;Ov_{H#eLqjsZAp-c*y)82SOAS%xw z-$jXHo`lrH_64PG>j84Q$5H9FZE^3}^7%~r5d!V$TD zp1No3ycOw>BBa&#xhpuX86cYK^7S<`w%c~a=d#Z>ufnGM%j1wBLwR~1cM4p!cJhHk zmNA$HOWMowU43kpsH(Y6-7QGc`^LHIE(*@DDT*>&wWh9(3XeW@UCXCCyo_OfvL4wxO+UUhU?L4MM8Udv(wzo2@VjRA- z6Dwldd0HmPb>ErnE{{Kn@9PYBSwe!yOPxn#_&N5+Qx;jL@v1QEPce%y>mD$m?w_~g z<_&^VYEL^rs}~DqS-6rNC1CT|lJ#c)?Xa6-mWuC*!qfq#A5HJ_ zrQ-6Hi{vtGEte{FdF!HH{)&_SN=V4>n6js?4Zy@^9Fc$NocI6{u)O_tGkkYZp^A__ z+u=I`)nEt)`6&CIB(b-#k8$3d3eR0j=an)@X3jemcFxD={imi#@23-0s735{mG2!9 z9Fg|KSt5xHs=%;aj3SN%k<{2kcf3$Dc$PKifc|{+O*=zx-;D!eZ!T)4{SWhaRjfa zk!<0>h@8Sa&Vxl!319AF$Y=)L)b{7CvYr$dIQ%^plSJBmEaG*98;6&jD=2%S z=lqrB%zCh1)j|B}{giwIt1id_Pv_w-mhP0J{sY!rTYQU0gTrs~F(snd^@}L0G--Ro zofO9y$f$NAMb*sUJU*)v7Yq@Fyy~nspin(V*yR<@l_ji3n4PrL%erGe=B2EMVmO|3 zNi}G6yyZzLXv9UPmsQ{yH>cF76&l(TXplTQdHrkUq=dW8_RA0A=g&lI#)3-H&=g5J zj-d-pK+x$fz)N26$(gJ>C)#MLI|P=~+4FY~oNVfiQC8>6Gq6OvsS+VR8O8B&LLTf- z>Vx~H3OVAT=ykGmv-Ez zHZ(qb^ZnYNdjrGU)v-QXj6+6|N6v zvCe#52q-ik$MO5f2&q0P_~vlZrc`z0F5Z~RDgY&AO4cmfiaf7@{6h`;wd*y}bL>cZd{#CWVGyh09sC1G_k7taIIS^P3mO|YEBXpoo7nns zpSTja8&`dLo%dCpkA-x%UO6sVb;4SWwha70P|OV>Es=8hl8Le&?}|#5lVBR-S?8Vq z756olqG$$X*YB{$YOkQHL#KGQ)f&aAN-MRh1cwQkL{Xq~f`?Pr?-P#8hNhkHJAJBx z9k1znO-%0AIRn#J{VlY$7cqfM{(-vm)X4x3{lW6NHC7WB;v|^?QIxA@BA^JGav}Aj zSyPF*=7}rzo||yGj}TtamLh}6Xcv2lPX2Ip<~SosMd#(GQY?a$&fAve-@eT8r?)0f zv70U!hQz_%H)qrtHx;)ONvvJhf;KUGneXgy2z{rRr-~h*hjz(+q^QMQ-t4UikXq^8 zb7EW#aqZ(rSqH%1jP0|}=@=0`Y~R?fwtE=Ht}ONFWlvalKHne7eikLxFW_wBY0l?A z*h;&iR3F&hUv8;$KA!)H>~32%aXs^AnX%dDx%{jVo07%r{>W*;qb0bP9~gO*A6-~W z)s)teuKss4rh(F%6ECTBsBP&SRq+Kck3VjF^_%dT+m{Od9&OU6Dc`j_{W6F9Pi2ta zImm50!_xTC-j=y^4Nz~#%0CCmrIiCi3c{0y`cd!;Bqv0-Q@c=^K{#c;I^=+tUHMw; z1C|A&iIoD?v|W}pL^&A(Uhyct8-gPm{X4U2^VR<+^25WeyGauEuEVXxYv0Gt{FM@ zGQ&|p5o~1v6~SDSQ_9O7!0~BJ{ryR4VXJqz+89NeW4q}an?ku%+nEZokZVu845#U^M1%8wpCC|p2&N~QqDyPx2ye>xuvx3H6B^Gi4jo$3^c zO-NuaNiI!92V~)?^AI`@A`LqHX|Tq)Ffh`YRl6p+qw4EY)f0&dJR!9kb620O z)HK6;T-jLzcA+|M5sJp)L=!M;5qYeC;Jz-`PkAEtSeK&x{k!84RN^ajiL(UtHu?#K z>twf_x0mDidjoEG5})ytv|0BMK-#K|>MO4|Fz=APG>z>9bYBW01+6_*^YMDNBj9lP zI`0>OH#whGo}ZI^Q@ck@=5(l+w0lr8*vuW9u&>^6Z%QrHDFeB)mwYsn=HAEe__CMt zblzOZcpOE7wzC64pk-d|CPLRmVItu3TBbz{;GTJQm4}zpj;2b^J5R|^bY<23nsCHQ zfBI%aW^Ll!-j;aB;{nXFK$bl5EAG1{P~$7!Jc602?L9zS#|a~DMe@@dtgq7dPn&z2 zhD$$(otf)xMz&k58BxE1D&6O@4ZQExJLFAf!c?cK9e(7?7Is{<{<2e;I81D#wD8~n z;7al097H~W*7-;Qo5t2_3Roq07IhZ$)j3|b8^N{aKgn2`@&&Yn0^hwn?gbFq;55p7aniIl z+%TtS)xTCvd>KE_6`mrJztrYt_Y?nY$+k@vm1`a1GF*`GqcZWp4zgN4ZDL^#bi$g~ zd-cKCH(TFX(!bbO0}Ok8;$7`ZuPVlqMQfm}PxQ(Wc@-2L#W7x7i^FxQP?j7J(@59ZpcRqsseqIcl5X)ZN z9VPWTvhBVP6^LJ$GBSW%(f{fgVbHopUA|g8|0w+P;m@Abxf-aux`q9#Pgm}X{ zqKw~Cm*!;Rg`rUZI-Zs7Cj59-i}ASNrKN$pKH90vGn6`Ww4LQkOp3HOgT# zrPt37B({yZ`)1e08jVng>Ap9%Q2ShTJ-gLG^TIVbab7(gI%1`8LgR3rL)3z#!iUTX zdRkzWfHLTO=iqa01*5~r@F;f^+UqlJ*cy)Ht!IJ`0BEUoG~3Jh9B#KaSNn43Sj+8wAaf`Ea$cP)q2RH__(Q{`;`e}YF0E053-L+H&q7&z*5sBB zQ82DI*`LgD1g*HG^)#_(XD==LJe*MaoNv{od39hR_ z&8O4#%{O)8O&z5FBnjP;kALQ5)SGvN%cO9vxV>5R zeIUOyFRlz$i4d>bl8fBlLK9%!GUdYj3EYjHSS2sIIoi@m2R#0 z8BU2D)Yx?!T?d=!sHb!Lbp2(nuP@@jE+rgk&rk2BPdw-7Sm4~^-sjL*U+0Q{Z@V4< z2x71!otoCaA@;fzW?4b(On3II68pBuUKiF-SvJ$)JawszIg-bb=S$vlvrTQP@M8u4 z`;*>EgWFer3$)0-aKK0yHf=sQc{i=$n3PZB7(<4620P}V)3!5Pyr&cID^+6Q9d(%4i7uV$X|kFvzjc|!HA^>uf@+m7b?%s|OEQrLo%z1Bby#f9SY#tL zL=k&m#qKBL^0{B;oNKN5UW=-`nc%-H1{^12;BMk!e`SzH`&vZF%3pxDUv(~EFBXsyJdZ* zqaoo8`0?-FJsb<04IaA*CR)L+QOmlnO5LpZGO{*`a~{Qx@gA!*_qOgXzB|PgY^|PDc=0Tjl{?U|%pIhOhmYNil@HJdSu8f_T3zlJQ4!->MMgU` zvxj)5wTCsij%l?#G(PZ8b8Q{RjcygbrS-;ZGM^beET{{ffxY;e?r}O~>h^H1!b21; za5&6;$4xYTvc+ZRt8cy(<`awsc6|=cxpL27uYc za=r~!fdwdpj&Zo#GHo}9Y~I61xc~=t%h_U;$#Mo3niJi}Hw&=b$M|11li1n_8bJQf zWaIo`GDz-9pR{PP!75FXi+kD`4)fRr%nUV{@$0*++Y(NT7FkbS%N)M|EUUhGQ9g-h z3(Tb;fO+jfRT7%LD4nALAMhge!?JcU{V>sJB=ejxQTv4o)3Flg+p)y&`tkDyUs#=6}l3 z&uDEJWxN>>;1|BB%e0ry%PL<2 zJ)lGizOd3w!d`uvsN$2zzVUqLI3_LyTJbr&3Qx$CyRMLw3%0?tf5zRFB63@C?0VdK zPP?F4HN_0McqU(I-q_2puVWV2y(J&btM9z?3}wIdV7s$LX!E*j0Sz`2IUe% zaaL$_GxH{ydvpoeLtW4@cBfPb2pT7mEJS*-4p-m5svQ%wUgCV0-YJ$=K9gL)X-NMU zV~_sEKk!+L7O^isg2BJKk*YZ?<-8(_yaZb7?3XiK%T28f%EA3s!3QG9DA%^8#ImnX zq#sriXno>I0munv5?v%b3Qcm?hjR&-@<%4m2M^p?UJP3UGR*QE#cSD>$Stjgyt;dC zQ+kkj`tM@rb{FO_DGt2WSGmoWvK66QPJHctH+1P6$;tpNmmi|x#y)R7 zjq}cUW*A(fO)-&NKb>2j=H}3L*vqw<<0-NP>H(U47R@iu>r`P^g%s3w?J|D8n z<+sBV=Nz8jW1yR$RGMCCf@-M>1|i@F_W@T1ScNgR`iYw1R{6b-Ub~F?WxSBP+d%mW z$Vnh?9Q);c{#ROt)>ThuckR287nM_PC5vDv#`!fwO9F7_cQ?Twt#$X((p>_i+MCk= z%^KxwRqi_oR=k9&;ScgU4yRCs6mFzH5~1x0jFO`R{Ihvvwh7k%RII*L$=P(AES7wR z3cCHX>|eHGtPmx&x;{5s9%J3v4mqaWOdZXNZ~9BE7(2-({Xf;C)b-uQN9QUJt_#`> zt;dh~`RWxq^xnWMJAN%o&whyDDDFHX18{1NZ}F=+=lWymf?9M8VH^~J>m~~ROr58g z3LoCEUgDWma0d+$eY@#3Pn-&e%T$egmbX{>Xj+?stKAw$3H7vIDyblyK56h{r~cH1 zVdvcnv9FQm{Ic8LkG|1HB|TdsU|?SK8L98xrOie93{a9-erDR!IsrJm>)s67;fI2E zM*=JSTP~^q9!o77UH?%>2kR!;IBpRPr!)c1D5E51XI)P@I&PN<3&-P)f1!lGn0+kq z^-FG~?eI7HLkUlD#M}iboYpG(H@w+#9wI$wa9LFMy-*oyUR~09K##(dxfd|SAfcDV z@d;=2;X7ZZCb2_)2WckIu$^r+rv^7#IFRrYfH5v~LOvF4^+AlG`HD0235i*`%(c&G zb+%lOc479QeJz8+uJfi*=lS8tWU|j}L||5EXAyFv0{3hr5ES*c4IoZBobm~8@zbW8 zFQ2?Ep^rL4TbegV`P%1xp>yeM*NjESK@2#L3TdrfHrL91&%x(Hz~~@`e6r9yLj?`d zgNa?-$@%1yb2pH%u8+ULdS&?v%8_x8AIbm+zVrtSWE2zeH4CFQ!=Iu0awM9!;(pDn zD$jr4{%g6jkYLiLEB*~#ueii;ujYSkx1uL^|K6aI`ZcgIc`kU}dChc0G;4L}FiJX0 zvO%2Mlh;PL*k_%~Px$P3{qml}?la2dNtbF|qkHZ&uTcBuxaKU(mrK7xRm zr=|i{cD!l!fII_Mg|vsFt?yWc)4U?k}b ze;2qzxH^~~c#qx~9_#xw0nK8uJaX}?7p_3<hb!59Lj>2^(V$orR zbR=S8UNG~AE%0!7WW#+q+)9|WP@kO!W>7txb|tkm4}!D)WPw#FxYAVSrwXyf@o*%5 ze^1$i;iCrcQj>!zTqE4)vy+$D;LPWw{UAR%PXeuaTgtho6U58sA0R>IE-=A+n0i;V zk(6q}W4<&=$~oj6y=sdhH`||H-r*DbnWOP}x}H6nN$zII-Kb0by9VFzm%rA=zp5Qz zXcR7M$Yt*htd!yFr?}sDx{mQ^Ud=SkGG5FLM#8>E;h(*UzzxSm#wh*fEtIRDC?J0N4FUiV8V$k9 zjW|zbxRL=O85MH;ukBO?6@S2lmiDj5LF7MM<0Lvz0|I)SWl(qgcJWqiB5KJd&F2(* z1;ohhK7p+lO}tg~qPV5U*783a2N`rr1C(IF74O6ABuTYlIuY?oUG5%E4vJh>dqeXR zj3@!EvD7+|AOB#JziZt$8P-9ay>_2}9Ei6CCne#I%`Dv(Z@KUMP-vQ zxc0cycR~Qj`#7lv%n`SpSWqv%lBK4`XO z1_^J{Z9cTlPDG2-7JYvULxY6AUTm#2`zakjt`ib}E$Kg8gl?Z1bIFYh=WP_5drSAv zg9-jDI3Hbzzkxd_duXja=~Bhxt;J`BrxJ_+MR5MuzO72j zAa=27w3mzs<08T^iy|R|hBWifntgvd@CG87$Fb%L-?Rk_gyBgS0ml$KNH^ZF*~E2; z_Gpj7MU3^q_r3Q4NX?8A&FCMvm=Pp|y1hkE4~=z3@gw1@mH%T0A6}@t^9-J)dPCLP z?IFNc6hANtYXm){(XS0f+zL~LSGvAnxb7+k$v%G1fVxWyd`8=6ARSK~KK?LYrxYJG ziuW%N^RI**z1~k9KX6y7n%vxDN|J;Nvg!tNEV5g|epgX81wv9KT1RFWys7a0%|{tj zhMA9VfAcUqDany-qWp)Hm?l4U-oOm%6O=}nD)=w*-DNAi3=}6+;D3EspOK>sEeA-d zQ~)G8UcKwkRseyg|P4-w%;ySkfCQ`m7Yt1K-rBM1F zs}eBKj+YjIy(?^m*!WHk3)h5P8gmFU7TSW0DxmuB&D%ePJ&5_1R`xi_u5jR8ba1>P zQ3Zyw0v6@c@kSr8;aA8@188FO(HoJXg<8YW75xB? zOoygoIt%@N|DUBIFw`+6Cq3h-9Pru!>M&C;`_l)a+M&vUcOr;i7`hb)hhx>e-mvI8 z+t*;M8R>_mVoXv8@p$}aT|xn1@YnM?9jOh59Lnw%WlV`pucm$gF8EI%xLg3Ep6LLN zVSUdqFg&6gO|+clx6{<>{28{#d3i%kDQCie)t?okbKRV`e)wQ1;A%YVQld7=5G(z4 z$KdVnX`)RA#vbG*__HmtZt~Ji$M@tKXo8SvZCW~?=ilz!rH+MaL*u1TLJ_5W(fH50 zo-gtwx=iG0Q@d|(tEY>+zbCG?!0u6Nya9s~KqPB>VC{_9c(;qZR#!KHETP5>sjFucGOc;=Da9iTj zyusykB7Tx8=Tbr>NdAs(<{>|%I^zM0JI=xxeOVZ3|1?gaFK?thq7%X*fmJFjbdq4i zzsU$b$M!ssj7R3@_bFQiu&v|Vh6-c%7q#%Ofb$Egpw&$}_`A0%PsUV*wo*YD+fplg zH55#S&*wK(2H^Mr4|5$-Y8gt9EDYh_4HF=MVRg^*#)BE-ogBhjSABHAQSM4cbQ=Lh zHp!>|(5oB1`Aq$L_ji8fcTpm{Eb}&RQ<_HYka&p~1umS7?O--3!M(GUjKBXP-7Rp3 zQ>KtgOm%y?oTwkLjbE!14VF02)L2R{w7o!XB$JMQ^glJ zTBTGlVlDi^4!s$dx(*G0=I}H&YU1jrQ@p(g~apWT~L^;R!>Qppkiv?R_8k7tZe8XnbLW}mH$jQ)+M{W`OnOzQ z^NE8v(2ELn^`Hpluy-*+vLGO%ZV8nwRbU_=-fMm-NBs5%TtmmSn-KC)n61Id050|! z`KI1CkNeL!;Q01;tJ=he9H`UY4iQLZDH=8?SA10es7Zpihyg;vZybpN^Rf#_m|@7? zf6jVWNADOzrPO7DSc|;iS?ygb^uf-yIaEpjr~U6eZ1BRGgequXl~)CvLMshbFMlFI zK0);vSy%M|;+~NG38Ps0B*owpitE(RHSY&P5VwJ3C>QTjWfubIB*oBd%)@m{(@1Qc zMIK_aKmS{Q40P%l7cUyT$}?rK&?+Gg8`M)6<5T1oh_H&63>)yj~Q=jcAGw|F+g%(QK8u{gSI@S9!3{ z)p_%Mb~omeNBwDi;PySjXF-_njNR`DHUuT&t9!w7#WWXZ9vXg@(lOgtnY0H>hg{(I zU|OKTseJ0SyaP{x6Z8+9l%IP*#pPvelpy(eNs3AZ3?Mka7izQf4D&GB9Usw6beB@b|Jz6SH-pJiqaO;4 z4_fzM@oi%i>m-K4qrHgSYi!%kB{aKyI+mTMWhtvReguc_67N9_*fgzBg3G(ex;M@b z!bE|=k_{T*#DE!lkh_~1eDIZ-B1a4U7IRV`s`vk6>@5SL+`jNp7zYHDPRT)91(c8! z2I=k+0R!olkRCuu>29P$Dd|=~I;25jKtdWx>AMH?{Qmde5BGjNp5cA>-m9Ly*0a_- zm!%xuGW$DpUh5zv;`4f2t@rEYpPFPQHSs7<`*+tcQ}jb#^MRuyS@=nq5Jm^bnopO5=X6a+P&Le zjXta&PB05}_*^c9l~I%x_}_&^r4h2Z)_-5ds20@ZPnmr3omUTQq?{~)TpLNHgP$7{u}TKsS`T#_9}b-64??@d?~H)H{Vl`+-X7NE<7m%eQ80;MfB@O1yZ zt=ZXymp0pgKg8_nt`L7;Y_v%Kt~8Bfw8O^a$V}^@MeUCHZO`3AKAY6{x45N1KN4Gm z>wcs-o`6IpD0pSryPqE|bJ@*H=vG;$*okg8Un5@Q9ubIfzU__GSN#JAhj5#f%(pIt zxdSd=x+)=p)hdh9O3jbN%cD=zeJDv7JGN8UNeajFzh zeNo_Z%Z>x|_5axI&q-NFcrEXQJuR|o52NEWNw)LD7UZ!US1ErEiZT@+45^Tg1t1=t z{-nDI|KfX{r3_SbhZKJ{U~)PPK9ibl^iWKHvAfi})5((70ospDVtFk_d!T$XF3U8a zb>y7_C?PC7c-D;e{j|z*;)M@O6pL~!=yyz%*3fqx(PY-g1!J3*5(W!2?-K95+3n@) z-I0xAmd#a4>2d$`q+$VZ-^iv7eHlRWTqPiHa_&sM?w3sy@#uNzdG5BFpF0?Vpr^%AfzqGGDc)`ztZeafzXauhz-=Luun<&{~P!_Z~$`h{-)SqJVd!GK5t^xa51lx@Pq{#$Y z62KqhZJ;eb^f~xAaQcru#$!etKOn6!;Z1}K`$a)biTneoXGVZT7DfBWwIfe8Q$c_S zm*#D~R0!pZ>p~86XSv={9tRWBjmN8Z1&)7ZDiSRIZl~ir`g5f0=5BPyCa1of&o5SY zXb>%UvN!e7k3H*}i}RCL1LDO| zAqISwZMFFhz=y;>GgmD5pIT;<*&5!6trbr6QW?uU9?xCuj!SBnHM14Z{TV9MxA!Yv z;B}5mTCW$SM)g9ZJW(C!CHBoB_dPSs*=o8lSRMUjLAgXsm7VZ?hDtv6UIaKvP_J@O zpT0?ATKWtUtQ4$;hKdrEZ+vMov_QNc$rEvP-*;vK+25j?m!@kG{T$|>Xj>kmkG08XxcFvdu)udRM`SXxE1P^ zqAyypT!0ZuwgXu%rzv{&Sq=8CA%0T6`EDna93?U;oBQqtc_I?g2f9-^jw9oF2r?dN zlqHl`6ggS@J(PPv#`8=Vt8U>LxIzJ*XhJ(^sXkA#DmrKm?|Md z6Ssh(OvP6ARyXK8L-=b1L!Ow}ytuq#mn67w@(vxlr}!v|&hC_YonlP!d9~GwIif)9 z>0&lYBM={+Qkbi(uE}_~M~23I_^HXyf=g|b*m$%=HI($VCM9P%dGEU#sM|)~ zEv{D+bl$v2BjogvM8VE_i?{gaYg5WT+3QqevUEd6%9MGX&R1e{u^Mw&EOqO7WA(GD z&)TNATt|x%-G@5cjzt?9#2$W;kUP%AEDDvohdgb292orgKo_STxRj-u!Z>{=-B`D! zrlU_)Gv=wPKLC~el=y}j4siS2`YY3X0d2K`m)nq;U?ux+8+z!6`??f&D8E^>K02II zFK6)!)wcsKi8($;DaHI-bqTqtO#l$sgw3m;-$GDvh1*!-#Rm(i_Vzz}L&~qdzQs01 zTIzqoJ*+i6IoQzGb8Ffd_~47(tdJ(6uO$4twN+}eF3a=mcu7?w@SRH^Nk;t>D2=+f zVnq*%ZpaoB+WocP^*SX7XUjA;ssA2hck?C?kfK6 z4MNsWDDXK*mNZ4k+JNA;RXHA1@hQQsKiRAUG5(`O>E5j(a)UR|=RE}a$NA#=#$LEo z+tdfga31{^I_-#T4b@`=-G_^`6o8ySNnhVOG3A$IU(8IHLFw(z<4uO-puw(A~}5FZ_~LFB^Mr zQcyJKQlta991HTh)JKSD&eI$^8YtE_l&#t$n0r?`epKMvHB}3IySOpkxcj%%$)NKfrQjcUM=P%3Qw`G0 z+h0!x_3Ip6bt+io9oxR+tNz>>!IEUBwbA05)JJYz3}M1AI7}T0L{n%z z|2!A?mF_E1_x4AW)AP}y85DtAm&bL_^t+)Pujv3>DwLY-+I2jh{`e8YbA<%1HiwN- z9*5=za9Rl--$JNZCSSe;c7|%&=+reyVdAXc_NfVXa=JEVC=)^>q_wB5fdW=FVgv5$ zE8nH*NKYcPCbQjvnk`9XSd0}NFgF?w#b^`%P8zFs*+ucu%Ip{ARz?crsO>xGGx+cY z0b50WPh0=kA~%qjB{2!x5rwLHUC%hxQ>?ab7;N4PHvGX@x0lB}vc@bb&L5$J#_cNJ z^S{)1iDLTjmtZTV{P^JA{lw5O58Mtc^R5)kvHF3boaDEg3m*W<6m*`k>JhB9UY;%U5vLx9*XVMFFHNEHj7HL+gYAMOFPw^y#i#=@~S+m?5Qnd4;y>KbM<+|0--Rzn1$*b9FfXWtSW1BM21y6*6R!=3(4b z*pw^?+6X*GCc5?N*5X#b3HI>~c!~&F{>#QKGN=@+eRBBvG&p-GaHdv4ba>DW{p>lp zIzPCq->9TGN3;tY46wfmOa+*_NJ7809k$XDuQNxz+*2B^CqgRU{`o1GfZR> zs!Hp1Y8Mrjc5xcbr*1G=q1XM<%nTvf{jrH-Xomf8)~o3zB~M4R=Fs<2rT;hBN}{Z) z(x#Djyw;~!IrjY-=mfg-MiPqPMy$4yT-_&^+ad^+yNk3`9*C5vQKVOLWZTH~nIh~k zfaRe{SF8trrNxSlgHtPeKFMV@3^zK4uD(o*}uC1GZ9Gm?}{nMj&wXzTjjDl(?E5mVJ&bF>{mkBn?9$o zY;G{r(3u@bq;EsSaGfJi@FYNfZbgRB`zyA@k;JA*Ah{BgJKG9FUV&zz@wY(fzZ%&8Z74ATY6@`jX_ceXWUha`~m63wm6$h;YrFWGc z?GH=rgInGIH!kW$It$uX0!UkYvhr-sGY5}GFdnT3lxP=QiIo-BGaBSq$BJ!eC1Z5r zmlf!{3MB^~@D6KqyLYkW#;dIWF7YzBlzYL}0nk+@LD!IV?YS55e`NsFFq`LGGg_k{IxfKd z1EL$TRkkAzx%*uekm#ZTW>6txe`2)boHGH~uiVIk zUcOn&t})O-NBrJpK9B|F$7RJRmOX2FPS|a7$}4&(v#J3^Q%I<&^2bXox)vzp%LDpW z!G>eLG)#HCH2COu4YlR!?#_Sw7gkR6!-~iG7X1}+`C({B;7Y3kSsauiil$q+O+e;d zP(#KDz`Q*>{t3N`3<@hMHL0;?sp||CsAl@1*qA#l_@XiZv1B=IOd9vRUn_1Bc>u4B zJsZ`ti2>LC4q28IM!{#5m>iflDZ(qCC?-9O`5^A!HSIiWMf)l{m{P~f!i&SZ&0p$X1t@4cBsSJ-qQ3D=XB+}r@0{%n_lk}(#roOq>>?_} z(bKH5U z8mAB^kl9L6(aJqAyLRp01Pcjm;M)mSTB{pnP`;f&1>NL_cVpPg6B&UK^|h|IaB2)x zBAu62hB_i&y&T##2i^Sm@+qfE#(sYHr*gpAQ>@Fx(-L|9^={Qki?j) zQ}r2WRu$Onw0=iq%ST31DAt1V74Hh@R{la`xGVahfWX;kn{KzGm|b!w1}MTXrEiEj zg^L@S;RlWV&VD#YaK%rtr8bl!Btkzi%4rMS?R-z{EF)q|!r%ni#C-RH*R^`rE{?%z zK;vrMfj1FWb$=BT>tnUpLGx?ASGPQT3?Z2gtfq?!ojj7oG?y<4lN_uHcw{Nx)vlvS6pVKOY`t5G{JU& zp1q{F(<&f%Q`(yghJe@LRQpmduEHA#10vylzVD^;Bcn;Z6(D_v%z)ZPgtQ&4d%Bvu z^10a+D#xx;;73NOF6Xh(Nr$>$!A!l?QeF;?1n=4i(g0#RoDHL^rlDEa`4MJ$T=Y(q z%nWD)MkP&$(_xnohs2=SW#>*Vv3AX9-F6yGO#;Rbg#B#*Ni_9<=@m-Y-bj#8KUdJ^ z?)$XjpaaGXJ}0uRBsHz+%1>z(!J`-_s=rO(>75K3SI-MnA45-p%X_l;X0S45_(SrV zjnH-wd>lFzLf>XyVu!lak0-O@qYw!E2&cMV_jx$7{+3@R{1zxG5I`0umD2Z}D#=N| zM)DA_I-|&H1W49HWvzsTJ!WXwU1IX#qLwD0vTD~U9unoq7h?9 zdBdbgcb&`l4&Ja0Ic4Q}^U@v;(+2*yrmNI&9on_8ja@1fu7TyvMZ9gU!KU>y3?+}~ ziMjOJ%czAxVw+}y6YroTYnR#`7?OfIfexH%FA}+MhBE(1pZ2G)R*0iI78V2X9;B#agfJPKh0L{X?l8va`6&aGJBH>ZHcK*1L0MZPH! z>-z`m1ssA5Io2wnCY1m5=(FZc;6d{2MFpM{w&3$?K8A&W=S7&_lY6bA^A2cjbRayx zPi*ClfN1v6b1?2BItgv#+Ke@bD=V-7nqF|Eroc% zFZWZahzT4extaz0$~eep3_w zOpaurt^=w!fiqwbc|2et6gcEx88xi+Q4AJy)nb%IWa6TWH4tuS7eCFiTE_oJg9sg} zhVzCOi?ndA>k{vfC6iu0SCY`yOPic&=w^a#V+UHRIZDUn(I@5a_7)pSykbp6a8DYPD|Dg^KfoJNHQ}`%;}!(of)}8R5@>Z8$-)&CxO=?$-Tm9R*8*3wo=0 z#O2;0p8cI~q!S7R17$#3lBf4FR+J9OR(-uwL25x@i*r@_RC=}ak{v0GZnyJWWSGLG zu7m{m0dm$?47YG!Owe&20NvUlW?eiik9#;fZE)uvs>TNB{BCfkQ6&@729*11lup^j7n{$cbEV z6NtHq0xsTz*aNiT4Udc`l1i^b#IWvTN)r@h-7-g~+*GHdtteFSSc!Gq+=O$_;)X=HfR|1Tx+xmY**!kJ8QNNTVOrK`t zGhPmp;KlHvt`R6BhaBM$AUm|f&&1i0BCJ#>X|d4t17izNGJFf~dudB@`}H7jkLV@{ z->7mgtEp4HQYP?Q<@9J=cb)~(E&eEC$RdYI*H*2@f&2BG$masUOA+9sPonJzg(`_E z1|H;|3Qq_%Lc|_r1ffa0i*mm*PHV-ziju0`)Aa|Qu>Rc7r{ML2 z-5tH_jdxGwO8<^8`hv6V`~8`REDgFI0?i+Ar|w~3S(7Z4*sF28X8`kX;VT$ZxL$4M z$$Q{>7poxXL^-h;$EH6Dn9bmn8S{<-_kv?_=>$g3dvIB-FTt1+C8&toO{_zFCil;I z>?Q|BwFh3EHW;+Jz=vNc4yG<8C*P3X5Md+dc%_D_?0#iHj_~Vzlu~dOF?jVma_|gH zS*s8QOtnnJ$rjtJAemr;dw1r^uCpPQ zO<@91uA#~3cuIXocYh`{(X)X~>|uNzAILA@agw_DEQyQ55WZr=Gc+rgb9O_$YhA5V zV`*LOCD2>cgX=M>mk*uTTGettXTy8FqL z)Te2+Ma@x34?A)!^_Q$6>2??8s!a|M&kM2?FBZ>3**F{eF@bKa4hLD39)dTBLi*f1 zHxJJOUR8w*X&<)o3yD@rH5Y>!%}r{SNstM_%knUBsdm2m7B<)gP+JsvWv4pZi}7w8u`Zc z&uTwBD*4-;A%?@h^_!P&Qq5<$NQP<`8PZ9A`q$t5346q(z^-jW>KFkF)yG(VhG9h957 zLfZt-(Kmm~zuvax3=yjNW(ZqGlLoxzKT+x}j{$tUnaB*rK6Se0{@nXE`6D1374<|Q zM?4Fo?&}@yWlHN*aR|wb$08;?&2yWj5i1_?uC{+Z8h?3sR|C$dj>eeQ6li%@{yu}= zgUU;c8&HOJc$h8Vs^rX$Zgn?X0B?a(6!2{VW*@M3Q`)JqcDE>HqkKjgVFw>Vwa7cT z>cl}K2Bp<8YzCmyF?xjNNp=~2dWKDeb@2qNt&Pw0dQ2KZ0lD1w??VHs8X$1 zVtYHhnq9`8;+sJ)l{i4Out8rg9(9T{`_OJSX+vng3ynr!NyHi5#8>cew?>G}T-k(5{=*<64YW%YrGWx3 zRF?;F_?26;*|BRb$+gj+5p~|fR&yf*t22IwbHp7y0dI2l=L!j#c8>KNu0NXc>W2#d znfiAK`OrV~X88-9RXPwc$9OP;>LY`Uhzm9f&ke#jm7Ff`2_4|}fVDa`T}U{B8gm3< zG4ScU`pv%2q~C;6FL%K1FrIXtQml2D)}Bc{YV1k+eBUhU zj$rH%hhp}I^{4ESBKFA92^+4F&Y8`^cfkuIakJ4FX`IpfS`&Kzjl6KK;)}5CN*ZTt z>nV>j?wGfUW&Sjszk*lRo@xb#Da2+tzE&!3;F6DJ*XPJh-M_p1g1c${BnH(lF?hCp z&1lT&)9cE?)YV8+X{bQQU#wtu0e5A}#xqhKeb6ttWBB;?)#))ZzfGzB=t;7LD8eY2}wGR<)+eNw!0;CarefO2ixuvNA&Zmrz=liEwzjAs>VJ+4>Z;)d7P`5 z#MeF8)@}6DFJv%tnclwF&_CYK#j3jT51&^V#*B1Jk9I;{}?gBD{wzNUny}s_-AgXe$~0&>S*Ch2ycbC6=#&;|82m8@MkugjBqw% zgT(uaGj40wi2r<7d}uZK0z#ozX&K>*FRF6x-a-djS)K$o7`puCJu*Eo0fX)ryS>6M zW)9=m$BnKNBRfXqxaF4@tIlyLNBI^7=Hq=qZx^?roAkNUwCKl|8Y4K=8-O6jci%fa zSNahr@wa-$vGWc4&kEfSK(o!_=P=Q@qcku2v03+b9C8ZBM}xV&ADZ z?J6gqTxbMdlnd`PtLOaIKlEDgX8F|Ia=0^_d(PCWXL&P%i#qzQWPoTwk2 z7@nI!IOFtRf3UQ{;By#E@0`{ec)1Y3@~U5HV-aC}B3rqrNW$3m{s4Sc!fj9(9KIu} z)pv2S+dB5g)=6-~owYH`PdvT~2A*r8OP$y;T_-bobY0tp))9TzHyONWJ@a`ir|y^b z7OIOo?XJc|wHKAq3N1_;|2 z_M9}NT(eZf_fpc><>-h2Al8jL}Z zUBTR!+7;f^mhNhvJ&XclaavdBem@ucEN7B^>*#k^1ss1?baJ&#gm~ zy6%Z<{o$PCp6taKuXODN4 zF~6vdmhFO-^4ZuR`55Ib5(LCxxRQqKXCx#UaYO0J090Uw>~h*{Iu^tZ+mdwzHI9F= zv$$Keorc-X!IXvl$<}RkW~IYVf6jl};oVH~!{h%dA#-aKN=Q z;kGdB>5&|~n|d)!$tRJkWmOr{GM5Wx)}1rfZk4i7v+-6H>*iDMQw>M4u$)R4RUgdD zt@%8)J(ZPCl77>h_*?1A=ig<63a4)tpHO(bPgrvM+W9COObbZuOrEN$a&Z{>VbhqV zQyfNBXZdUE)seGkN5}P4nR{W~@3qqzI2v*%`G?Pt{ozl>rw$Y8tlfPnOj%H*JvnT-`$oTFY^YmR)y|4(F_Ea_vGMm8pFKV=DH5N& zd!7UO9kn?9F=H_4`wJ{}b&v=kOMlOUc^F#`+j|;OB5LxY7V;NfdTv5AJZE4S zPG?lu`47nTD$&g_pL(12;UPr8>41xk1OqI_Q3F=x?ssHo!ZrKl7t8B#|TE>oHFY$O^ znk)S4M%VvX`I>v>*>}g)QLd&gx|2QVL~*yl;D7Dt;_Xob-sQ8YN2$NkCyxWNHb>DW zwe>HqTcB+Om2%u+N;UQlRkd3=($=1Q?6o4gkQkgL)k_)Z_+Ll5SZT{cvn|5?UdOI) za=Y6iwrEBMgX5fainmJfQEnO5ibA5&F|7V(~jL|J7Fg__Qj!XZYL)a?aQzZ z!eDVZCREB(2Yb7v)s$ArIh-M}B7GQ(L>dLr?1H2@7Fm(PM?_NreJlt=5{YFURW&H! zE8|(W=ARd8edO}xNA;0gJX^C0X{UT2KTn7>t#Y%dF(0Rk#L_DIqw4qczDDY;GoN4Z zX~7YIT9kx8#U15tExYg3yr<)qWPT*7xyqM!SG=fbTxskmWl#J3vXR{V^N6p}?<)CM z<1tlTpiQwWo{d2xRm1l474IaU1yXL5bjfOOmq%z}G2WDeQuEA%HJ3ipgoVC_; z9lDbiS~MJ3mRzhLk!~A9V#g`YiKaI11uhJ=nj8o1EnrJvG|B$G7Etp|e?i&o9k1nr`6T5bJZMtY^ot6w*MCsfM9&(nyhldq&bwz{CLpC3h zPxjpQgtK`*gX|%(-p9V(1xezF-Ocn49N3xoF74{W-8y=1O zrui#c;wPK3Yg0CrPx?O&mfi;g9zsBO{eUauh~-57O6Z{3?4#)o@ns+kwv87X6CmdYuB-L!o-fh(@VK# zrv$zfl7+%Eg?ud!50$iF%L(n@bj5taK9;JvGLk;8B<0UDXh`IRyW1Z{Jv_ePv%agJ z91^FUm=L?tJl~)sEXN$0awj)=r2VGR)|9lb`jh2vLJuPiMt{rjo^6ITJ!lBotlOQ_ zNGkc?7YdLU<3hwGY(W;!=~N!D3f;*FU@Z!`;gg;ha6-nDhu+3ckv7Yi_;mPJh!8Vn z)tYA1)Phuft4D|r>~;{Q2FY!r`x(eks5Y3nJar);>6*7<6Pud4nNYM@m9~76lUrB2 zntZ6?teM8GxyX>-_y9sB!s_lAi@=Kycu8^{9nYjt;uyN@y^*81@lDH0=2@4b&~08Q z3`y%fw$#98(^LcR6DqasVjIcQKY3WDmzK)qxWjYQ88BD2S-VDo5yxS`+%LTEZlFt} zxxF5JYiDWAru$u!fS!ZkhcDt`;SUZK!|`Z@I>h|(?|%seP3|(xp-J~%8~4Us90t=Z z7KgpaUBqNpd`L;1r z%m=x-T;_*rRPVJfjq>WYe5uPB&yADPUD0AMe&K>Ckh5mm6aP@YPv9q!zy=G8On>qz zjs2GrJ_9$FD#RZhhW0k?RP~b3AW=h_n%CdFZpK+i%`AwvIb*@mAOr|B=!@IWPITXB zhhf{Nd~VxPGeMFpLqUy6DW1*k@!+;`|B~rVbkuK02nXI}kM)1rC;>5!ticv3=C(|R z?Imlhl*aD1IrJmzdjwunBeH2{<;N1)ugzFJoztL;MwMag;vZ(BLb8dAWF3vmqfKDc z^eFf~t5_7>avzP`*Tda0>C&M_akr@6g{j9&)3wf@OmI;cd%Z8MhYL#biZcg8!*ntb~Anre`ON5!+J zVeY$I`}{muTzk=9xP+0c#7Qxsu~_QYPhFu$Gj>1mc9w;TpWqo3k%oosDgo9_{i3P^WdS*nIvxpZ0c#*a!kn?`>RThTV8q zxRnoUI1R1oPM+v4t9+}c>L4R0797R_Ik^3^C&nLrpW?3Mm?_B0r-dp$ zgQpL1Sw71*->@Z^>aeDPzecHm?CobwnT1d5b6GkC=U$a=1Sz(>Ug!cu9U5f7-T6q4 zdQ;-JX!y&p=*TooA?8^r87y?HkMu|kfjug3JaY^vOyw>*XUT`7U)`=ZzYr8#P)YH(hcw!Nv>E4E)N)OWaR zA?N-M8Sf;knW4j;1}z0?>4KqKs871v2{gqXHbc&od!X-t288{3!tYRJeo@q2?Wr`#a{?B?s0g-QxVhSt6~sp7apap zXWF^F{@Vl{!swg>&wZb1_$&H)U>QXrMDsq7)T5a_3`_@(4(yaM1#xB_+QhUnio=;^ zWzvhG=Wo&(vrkVjmN*0DUwtVm_nWYU?yE4u!$&f6}0l`odATRhJGe!~N zU#!UBaZ>4FrZZ$>$m0W##Ui2lKDVM=(!%hC1v&`&(^SNH8A~E)g)*_hGQG=*OJ+MY zwP(7AtnE6B{ev2YY%F;0p*~4y$3Yzuh=yyW@QgT`{h?C$0|E>PLBM;oFQFYOk%Ukp zNkqC-MvwRXOFbb#M?XnPMoK~9G#y_nYl4EOY3@Ifl6-H`3=Mv7QvR4p%!;;Jw&d|1 zSDyY^h{axZI8YEY?_;78uZ9hLr$01V?>F;`typm(BLv&C#pf0qZqr_&TUR;=EC?0| zJ@us6??k?q&&UpE<3N2!@V0!TA{KJb+UM=H%ikek=uOwk)tbdM8Gp^Ce;}N2fyDUS zDoDTZbTTj_xs);LNm0;Ku~3D_@Rc4StVfcX#(^K+n1U$~zB2Zv@0FgK{&<4%ZAK{` zm!2NYI{@p?HQMYlreCT-H{0n|9(lvQ-0Y1(NbOtJKrS8h6#cWN;9c6y(CLiG;mW2Z zS(<>Ldq)zIup+hs@R`e3^gC?w2!Bgm;e27UAIVa@G0akIz#ZT~ppOa=l4@8QF!=pU z2uukG9!S?1dz&^@cW9ZkY7If#N*5*Fq7;Pv7SFbo)K2!nT2H~Z7T%xh?p;}0mu74+cMh;7~nrBXm3avzhV6I_R@6k5hEW7caItt3hh5*zj06|2Bi9M zeM*JhrQ{)rR|`(nM$uz}1=DyoRtgA#Z2-JN3}2bohmICoME|ym6+z2T$TL4_ALXlP z)cgce?_2yTV*kZ+n_aLegYIv!)chzt}R%g7g=jV7am1C{t1DL?9{igEAs z31Ra#@tn}5`NCl$kb1ZF_R+=Ud~yywPLHy7UP)5)(7llu2~#6cxF(GHN8o*V@wX*w zko|Oe=5!U*IeBBZl47wjp`k~r85Ic8Y9lhDNuV5Z5p(=k4^4jneY0hK)0teZV$H8B z*zg-hA^pn==;Q1B^Fh@bg=i~Lvdx}|oo$7jkX0s9#}5WsY}Zk$afUrC1XJ_E{j7Q$ zJ=k*m7W-w~gEfGsDHU5~4)he!CDM7;vgSofM`D#=N=JT-Aksa>?~BfRM@f%u+Ojf& zeU?R!iyhg0>6*gfpF-^*jNd6Lw1gxWFlxZc|D7RY1Y#pjHp9Imng(Kr3-a3$DT2cU zigw0)P$AHedilF#7(vy`)aF{^5j0>XR{=QB8*%9Sm9h*u_?|F5Ect=234D6#)&L>t znoP5`4z~3$p)mNo&(&+fS<=r4>y#r!34bavbiG%lDf7FE4)A6%$e-ubJWo<24#q-U z4`bG{nA?n^;lI$@^Sft>^z2iAiu@g<7Y#_>VE&2E^*r%F>R|RnumY6ZvtNQx|Gu0BJHG~ zoJ|IcleJ~|SGz*M53t5P2#)C{K6_Dw|EN;24)Rzm{eD!04Pn%J=;-KV#yoYWj^wd)HY4pT|oDcHqkGKc2^G4+t_WTYAjKB9X+LGPV2LQt}X>zG4npY;wb zC|nWZR7dCsZw;z>Hz5lTq^Pk>212N$rlW&f*2S%#JMVgWt75Kq_5mMW+*QpnP(<=fBn!0Puy1lp(Lu#pLNw}@`Xp#j^qWR*Pe3I`6B?`8sS?Kz) zgnq`8%h$nqq3aK`rX2Up4Sl+P##I>X9Ca`Lb*gBPO`?($nmwkeikFd0RcrBGvXA7; zD#8^}Hbpp=0gG?Lg$Pegm8eH%m#>94{Z=TO>cG6T#So@&zlY*K;B_>X_f+LBE$y$3 zg3z?5K34Xu9~Wg!)_MNXs)RDW-1K+I7Owp>LA2RRW?OKEP8G{k@m zSrDShbHb5R!|y2+r0T$jp$V;@lr7Q6lF2hGp0)c8OAsQ{$1K41YOA{kp5GP|}dL~5jCNF!q16M0p zaP-+V6=9UNUdO7Q(W>TXx~2&w{Oi^eVDPlt#Kua=kxmWjbKCgLeG&=etb16Y)npi* z^^!!;<_k3WaMOUu+YqM~nH2em=c)iDBH$9x!O@3VifI8o3J?EnO9S@okbeE}7fzfV zC4`rFdyKD+V>DR+5aS@IO%g^clHn0amgO@Pt z$}qG1(HfKX#<_4436L_rqzt3p{u-_D&Z67s$y%g@5tr7#gq8J4^hK4U*%15d7~*$- z*W}0ypZ(C+%vQvTUME_Jofjwhz^(*P#4f$yIGP<>*$ng)zt}ZS+2!BPjlvKYuL93y z4pz}9|E)nK8SN}%{we`C)@>bQDG>)7%>e@QHSou}ly_*aD!ngAR*~LZW5Eh5# z$Z62HfQRxYOc1A}@SMhgPjQnBinTQwP2qp76iJC*hc9;Vg?BAm-C)&7aAUPV>w~my zYXxgSA#8}1FT|MgQ{vNC@AyRB$u;+d}i)=Bn*TQ8AZ?pm`z< z^KQnqE4O<`!ChT&i_xZBkv z{}z)7;!Q*%H^a66i2}$xeG|G)r!dr1EOb8l92)}-4UQ%&A*RtoP9fMF;bPB*)_jcx zLrMbU>W>gDU`K=}Z5_`mAYjVh>M{ZAHKKoz02NMPAE3WxnTPM=lHDyr2SY z3mJYsc5kV&{;#3@;E&>LxIm9`4~!uAClemRbWXLgh%KkmOm{YV6GoMw03C%*kr ztCJdLk6$3!5Omu{9U^R*$TcTpkB!`uEwT!~ytAu7&P@b72t6Zim2ZM?++95aWy$)G z^FuUeUa_4gSgpLz0KJu6%WnM%EpzCtn|8PSfSn`yM6AjP?jZ0`EQqlQq8mEvPqs5zg`}8BQ6VO1^d&Z%s{bm=z?^9yW2BD|a^0^B)|GmG6xa5b&u~Ly9 z@liM7_LxoGW?Wt9YXVlubReKl!?K}u^39(7f9R+;&EGBPvcMbqTyf!EKqpBd!o?P! zNlwjwwvYVPRC4Tr^Ey*rBcMNyjbyG*Er_um`7jhoidoK;)r*=Aqz|m_BCtY2Z~QyP zya>cJe*S~I9RDXqLxXa`5zYZODFmcQ#lw&TXxE1{cqC=)o6=@^g?M{RiK~0Q5{Y}Yq)}4pFOU-< zS$%nWLck|RT3*@Tv^Ot3-J3Vr#lCQ86H&8BWss&#=`S8vdhn=5HaKFQ;-6r$vHo~@ zXx^b|FJwu#v~$wv54roF%Ai3r7*u+^DD*ey?1O&#&x!r{`IS% z0$9a|ARaO6N!O_W%>ZgJ#le-VPW7y(%zn2GGxhynakDWZ7)0JlNitoXCn#Dlz-<{G zmK!~Nis&0P!$y_KAwyR1|LSxSFo&l4iMd@Gx%QMm7ee=}z5$=x;?|La3 zV@&O6ulzWY7Jbt7&@xscu=_~V$|VYUqhc}NY4(D_wqd3zwp6sA@sH{mm*#FmGX7{^ zJBF9#)8B7_U$aEW{@`>}uk$2k3H+Rv?eTfyRKL0=vXxZ#?_P?CnvZCk7KhOx%YXha z#@;fjs;+(Gl@Ju91Vw2iC6#8=QqnEbNOwthNGQ@J4bt7+BHb;$LAu#=pSgW}p8tEs z`Eow!U^oQ!T5GO3@3`*k$E}3;&qGVoM&5ynHT7l^oq_ADv70&fa9SO$w;#kbIbS_Z z9V7kH(EOw#V>j^RnEoAe`Es0$ig(60@?aIjp#yg@@zynqMS~QXaywyB@#v&{a_{z> zzd0s027-2X#?t$j_!uUw^^d6r|Hi0uG}s+s&x-5T2%f*v_1*#AMSDmObK4B#w5Y*= zbS^NI5`aG0qdIaoU!|xl@j2Gt+v zHOn?UQoT;8?pN4pfJ}Jd)vG3oziuf^7N>BplvXg*fG%EjSUFBv+1&BkbRd%4vWd!5 z!orQwuL58elR=5J5#iWqf1fiK0@2M8j9A)E{0 zK;E{}Qt|sK!jSPhX|tiOcRQMsp%*#H);+pynEU!YnN3+L3xaxEdp1E$SR<(O>w z&FL(m5J1SuZjR-Ix$nCzMgg8iJT&l9AL6(}E602I366Cftuj}IJHBN)Y)`tZ!Z}GU z0Hg#ruZq%gnpeT(KZp7rU3_}t2(aK3@w_hO{iy;vm#4et*%4;IcI%cdW++j18#rRb zz^RQ0s6=GIT&*u>Bza25OAF4$gfk(D0QIySm^}1BwhNWQ#SD`HhZF8FCbqzL`YQu^ z4d+aP+2c~U`9t}<<7^M`RG|eFUmE*rKh=29L7Y@8E2PROxf2or9m6SJ+Wde!pf_Q;#L^&9V?(Ji4u|OmcCvnOA zO2FQWEPQ)0b)|!?AaR`k)#BP|axFM`PSM zxVsdCR=qMDQmTC*v`Ps0LJ?X>tZ;7<_mc@#7Nh=e*Cl-u#+hx2GMw|u_4b=D=yJ9S z+LACh=j7SKJkI8UE*IR=zJiiwGuW{A;8Gx|)z696E?~B0Z9fGa0^{rhhrlXD+VynD z^pt%g17=pb0dTZ96AgfGC^S(7NnUKpd!9MarN$nOjc?EvMt~?a5qIuUl^{fPI|I&M z+522Oi2_BO9&aG0~$Q*ru0gm1@A!O$@jtAE*!Tw(Q7fO)7 z$C4zXLgh9A(eTTB`{++rTRSyV(BXXod0l6~?b(bB z{6g0b#N$*bAFJ_V!lD}KZT(BTMrxOY*K>sDU6 zSfR3>{uTRfrRj<745YJ4&YMELyt-s^kejZ>QWGH*tjlT1N&Q972bmY0a@c7}FL^T?Hc-6iT{mim<-5g-t6^?YcZgcto!_aD9#=V;`IJSR#&wD$+0 zW=#UxEYkir{m|EK7&qTTJ?Ga35@|?1&(oia+5+G)AXt)2e7XlUBWpOKk zdlucd_7m=2urgzVll%!g;6|CKdD;_c$YMJeRX*j-U#@b-IB+4}B^zs)>Q2|Nvmorc zSFays{tf^m^!E~VLrFc4g+`m(6S%J{zuJ0vNNXpaWxJnlqD|XZ$QUf%oJI4UZcR{z zDWWP*0@Y{kxamjtE0Wo_`<@NG*Q$%*_&GxnLR}p!}0uUVP9XRRAG%KK%L zIU|s;W@}b1%w(N8CK5X<9Ef~Eh4<9je;?w$Q>Gv>B_>Nl2yu19Bo_1yf z$I_uhwiD0uWlDu7e%1by8Iy%`A==igYgm+tY8w-mr6q=19aMwImpEV2aywHPldi*5 zxAOSnq{M5N>U9R0JskrvF%Da6x)4$_$~L&!ah!|pO3l|WDK)40Y^%4#GJ4ho?(eJ2 zVz@J>HnWxFrV~+Uc4Uw!PO~%KHS*dooq(5wnRM=O)WxM4d`V6Fy{kz#EROn%+|bnO z>gq*XkSi|9Um(FFEri;sI<99nVUrrq_4I^Hj zzV0op--hR5@yvY%cl||j6;904Mh!(x?H6)}X@(?rE3MaMu6xc76X^EN4&0b6mPM}Y z9_8Z+`qEQw@)_Npqvt*4_C3a;NJPQF&bQ@yf4+Q#n)nDIG?4Tgt##93=<(K=Qt?e{ zUt-X!o9Xy90=^OJ)CKC+!|5F0_X>;$-H+SE%jZL9C8w+sdkE_Y^_SbD4DW&_4_ zyH<+3MSi7O6E$r(^YtQ6!|@i5nsCAL&DS9M%^xdd~K8LI9SfKMa95%prq&2%XC2Q12&ctCE87y0I_R? zV0(AJ0}R*@VC3f()>Dhs6@3eJbR7^kJmffe!kAFL)*vghYME8*yk2l|oYc0!u5iiT z#4F_if3n11z?1#zqN(k1!S3=Kz(Gd~Jk`?jFEuBeX0x`96hjs(3B1-n%H3&Ee|34o zv8XrZKE3F9mCSH!BEj_jEaqCb8wWO4A&1*!to*d7OIVg4k~%r-0v!xA?8P1Wd`q^_ za&ytyvVusqzv9bg-D9Ylx-O7Re|H#w!o};;SigN?*;G#q=yy}zpFydycC8-<-ONGl zM>0(r6>Qi+n5h=(`$a8JmVj)8*Z$Dn`s%pK+F(9*U?peFt!KqD zBYC&|$kGUjSu_8&DQN54`=;Ru&Z|c-WYwq?$quyReFBP((pfw!*Tb}I2JwWALPI;5w$d;snSdDRg>Vy67OVUH5TeIlcKq3YM z4lh0M;1C_32@iv8ynb_Bh2ZD;&At~i7XNwLLuxq2&joAXjMrrJev1d zE$hWiZVC5V_e%(=fI#fKkNxD+BJERO*ZP!gIIAR$V#AfRzOyS>wJ>(j zt%O1YL%V|db6l5>c70A=k3Lg_7|T&%0tyKSDrz{LueBO|*(QGtjs0nHaRi*`Cq z5z!3$F?03L>m7C{JKRZZHayopZmq2M=bY_t(&Y366mgia_zi&^ghEcn^&KXcz0R~% z;NGZV-+&?PXWoLLtozK#Z1GvhV}2kVu|?bQDf=L*wGdcW_4@XxFhZtWt4wd;jo2+N z!NaL4Rwl@mB=BVe@ znWj8eb8V>}g^L9-TK;Nf?*7+%Gl{{y>?@fW0|y1)X(+gI9jBIL)v@R>9P}#1kXw}^ z{UHmDIzKjOLTjU+J!J=V)&QJ?lspVvZ(k&wv;p)_pGE#=A%Sy~sKhXB zGy$A)VjtWm&G*q|2XiXP*a(OcR_{QJ$d(~!A7Ot7A?tvhkEPxk7=P&Xx>$`f1T^My zfF!T8xLqpOE-<=pin7osblb3Q?t1+Rs-)`DEImLe>t&?fjmBeo=w>zHAqBjTZ=86O zG_afnt$g;ap0F`{)zf(y?`e-X2sX-yQw+FWV7M6cQ*M?WopS3~V|~n*ni{NAbFc2Z z2uh9mEk|q->N2K;!Ru^2l2^PVGi7&cKW$tWL2QmlaYZ_(vv=Ln(u=z95q(r+rAH%k z+`QhRLhg5N^IMr3u8|WJT2`JMbeo@hGY{EM@X{#hFuoPO*l#-h)zKfw!Om&1@e8-v zdQIHTwv(vtfYW$=%$aAtX4go}?0Wam*l==jeMQW!Kaz$d`2~T;0)5SC=SAG@oV3eo zR@hYq!L&-OwcW^1FUI%E%7x7Dywr}JiBOxwsPY>#2AS#Vx@iayYt*K7&CyZ*G`I38 zZDvb{(2KcF_U7D6>(Z|*9+HPw1X^a)&NP~7Z{fZ{dHwgWiKj@Tz_b4;GOhs}*+uWJ zH2@p_IuNZHa2@JT1FQ%wN_{}imIG}R5LB=!@5d)bQ0&XT<ZyM(Umjai!Nb1b4^}mPA!j$Ih&)Hto|n(&g{3c7>d`+T{2THBN0@_I_DL> zqz$C@=bqn{OmDX5&prmHIt|LnISel$C3K&hQ+P#LR?n)}Th31;5jqd^+jTKwbw`Eq zG18m$tSO*BQ%K!);>}NVI_)LLDiedk zmEv}JU(Kn>Vc-oXM7_PG%4$q96tef~C}(|bz(a=mYcfMvh#N}{tqVQ(m2c`L^XFZ+ zs`47k#dq+SPCqK}-%=#Dji2{Jt6Fk8MKS4Cx4bYejq<;36N6aq8>IWHUV@{JA}&WB z$vnx`{328ylW{i~(Uf234ho~FTXI6Z&pW(QJ{T>#*ze$unujIxu@~GHb}r_vE?jlz zx<4l%as&0fVnwhl5u;_*Hk zL^wND`y>~=J3Z%zfx$9V6YN|&mVwFDQ6HHv<2MfSxtRy6HSyWKi7ApfXZSsi9!LuffCdU}mQ^hw9tC*Hh{`VOC)jbT)rGr`wKUuzzzo6Zq@jQZ|_(@&l_{LwO9@ z53Ds70hNC?b9l=YOTwh0!q6?Q5@VUiB6?9tTq5a^w0$)pg417&z`vyeKH6~6CqS?H zsd;gsA(%8TGoU6N>_}wlv99k^te+Mj#)Q~aUHx!ZTH}zKP zvn#x2_4)=xjM4Nogn=qFC?V}AKg7!>@_2~x>B0;Ae%k8f(~77}HKu2FLq%Q#Dm!jR z5|ux0xtwID4orSN6>*G_vK}>OzVlGP;avRAiV*tUfa@DF;*7#EB$Uf7QWwVnWVxE; zP(B{52z>4iWVTX5AY1z9xB}%LGD$=s_rMUC+g4aN%|Bv(T*+11>*QUYN=`$$!TThb zg!Y2km?t<`T%|42&yH$|+<&%S+ggj`<4=+H?I&I>xtCe$TE(WRd3p6P$TzR^H_1eb zqAxOUrQY1W4#b9*l5t!y)u=7vmhqSjlTnCAK3#u^ZqxxAGFL9$Enj`7 zW!NtE$e+E%ryn@{=QlmjmvSTDLgcgE3=RapP`Z@=%wZzZ3#6 ziRnO1ClPpAbF%2R-g5!=u&ckr1Y$w$a5(b<{93~(84kE*y&T*-8H@M8yDt0V`rs(A zON{@Y!X$7-7Uy3CPP?j1jR$Xz__|vpFJkqfRpc|ZDK<372{&^y=owBY> z?rQE4OX6jIf!0z7Dtlpj0?eZiFSJ>{ch%aP4NZsr~9jtmal zFwhv?ICPH0ZVu#Civ4rJiGHP;5lj8in z5!4;aC*EnqyVoqZn!|YuhRF_-5%79?tcKM~nq>P(fJ#ZId(FORhD1bXUFWWHXZMH= zyJCQ2_Sps7!59Pnc>&^H}d~hF-KQk+du{3 z0l73uekzKmdZkGOQ03QESJJ}IR~TkCNCU*6hz$tr{+jdW~cN@ zMv)wZY%_fH1SX}AiRTZeT5j3BZb90{?t=r$j~u|=`=XunR@ayC(&KQs;}5)pc4YrU z4H;O0X%q~gb%BKY9*`BR;J(OnfOSJ{ved&45I4AU!}|~xQ6zc@qA=(Gl`ds$gv0Wz z;Kj=gT5OCU=fr^lo=zI%NZD4;>33?jp)~V)-T!km$ulDgdB_mFD!X}KJyxS#u84`e zCDU5GE_8Da(R~rhI1(&GOBCWw_e#w6=Z9N^)y?^5X4~l6<`h{kwpJ0JFVrbcQA_D( z=HVkaK(j_nYrrzVCsXda0$ne(P#2xGp;T)}=6_3o#2g?nq@#Bjud!}1N@pNW*0tX1 zZ@JtmkXg|2yvQHZh&A_GZluN^O(v~Uts{7sTKwF!bW8;tu2Jhp>Q7QNsj%y1>R>2&tA?| zSwF(Cik|Idf2Hl+e#H=1t@%9ZW2*P=j;&7OGJ!I#h{=NcfH$8Ol5ma(%sSDsTJ1KR zbEb{Q20$eGvf{MO5D6h3F|q^pbGBVBIifk%mjHw_kU#{d)xg;zpy3oQK#wO$7izaI}Kk zHEcBT=O#_d*hsAvtS}yI1mS3f^XxnoZLZG_DCT2v*iz`UAdGKvRt?HX+V)G1cNklzIZ)qXWz6)Mm~(V_sqA*Y(@f#?Qr4IQmp$^&O4G5GG(XHp(cq^& z9r!vHlZyx0F0j#eN6$r@#ffY`nRqYHn3u%xdt81qt$??CS&8F_3u$TM*3!{qbl{wx zu)$=WMF08yhJAj}`~CEMKylA?P^k4jVxvieZdNag(T5d1L$v?YIjt&)9oOu|Ti@;6 z%pFEkJ2TdPlFKOp7)vLh~%E_T}V3CjpUeO zN1jZcSahp+()f0iQ*1Jya3E$3Xz7W76Ut0X%YI{62=q=dxetHh4je0P7gmJ6{t@PR zOi{NKKuAX*l9M^=-_-yt-k-9bF>L_1eNFojQFx&Q4ooo4{&cy@>}A@#y$2C}ei;3Xe+py;Jk97IT__NVs*@J{+ITws+9)FChU_>4%tJ`p!d50(TMVix zn9W-hZvpDVU~@F25hyqw)V^)?q|U!qb7QJEsW3CFw*2Z* zkR|T=&-Dma0-Z5a!&<}V$%G}liW_lHo$NRYewi@j)DUXu*}N-koW-oYPgvmh7aA@? zs61^4$s=C8XzB85Jx=i~!uAQVF{|20Lw^gYsA}1)?a7^~5*@WC_Dfb;V}3xAACz)$ zsC^@zno-;$i7l86>(2&Z5buq?TV8M*M>$dOs+r6^L86?j{L|rlK)RTB#v^tTG(#xc zfwCrNU_prWH*E4R;w_TQS})E)f-}o@^JL#I6Y69F!EdYUHtG6?`X=^Wuo1>zz_#| z5QKWpa3To(fPGK9n=;EP(siCJ=BHy7EA$PL=4TJZ!P(?Kbx5ql2r4)Hnv{jTjdj^8 z=j4K$=4;3a;2V&)_Z4z)RafyPZKOd=<&~7=1qUA?^!M@G1GO)LFLjFI_+RpC$fci;ubo7*P~CP*5&5{-79rWIc1Sv|VYMY2K0)HaW>= zdOPz|M&U`EU^UM292V?VH_VT$J0!9)k#g`-Z(YlrrfaYu<;tEx#O8FoqEq215P~8j z@}5QN`geBg&T3PUb&ovbk*E8!9w`F_`4(5lh~`>r!jmADQjdQQpZ zH93|lmHmZ*rjkK-YNpnuM|A|qMW;e(qEv?;1%b--I2{TQkir`Y~3FIEfdSkaeA1(6cSqrnmvdDGhAw4jbx<42evmvz5$(e;4d z#cO7&{LHI{LCr#WAF8Tp>tCo|C0X1ElT>=w7t6Q`P;qg9GSp%)U7RXU{8zH{X*>TX zlh-)^5F4t9*~9mEtdz~uddj|}8l29fKca0#HPNIb7HTA)Fl_}2;UQ}hSL6BbF|8=% zXGE^Z>T*v@ZvOUV495X4m>|J}^W+)R;fKUOaE856PRNOPivQ^KeMXUco3LV==@N}4 z?{n^)t@Y_NXzsag76Tiyk`ByGaQH?8mf3or%kL1*Okj|IvA<)GCRu;8*tI>}HH>%`ziR&%tLXx$6o0t}0* zoj|B$Xb`g*A(w z8gOI~ICh;3KyDBP619=&-&D0ATs%@zhqw32^*YetJcUdEThoqgOFYswhVc_O%$#}18 zG<|MRAUXMg!9z|37NHOA!`e%$XHc#WPK#KI}Im=IEVt{#~+4`m`-T=9r zKq%3un8P{*yqo~vmoc8_?W6?ja8lx!Zs%~iuuR%AkoZK@eO&K_3q8um9_Dr2{Em8pL9k_fb7(GBXj!B5t z&Im%{V5heH_M+I)s@;*6-sg0WQKsug<@3`&+slJrLmV;j>xuNS!8)=HR`Sft>oO1F zC8=dH=oXI_5rbI|Yq68GT(+HMaj{3)YOF>tV06BOHx&y(5>EZr=6FQB@2Q5x2Vdd@ zx#4?V|C_^));pN9`s#s{i6eu={@6FPa2O^F*`%xkwT`br1mA$9sZsEA6G~Ta480*p zX(Ikr4Xq6G+T*~0YA6VQXW0B$4vD5=r#zV9eW@TO?|~q$2+-QN@!~xZaQG=s!8Lw`Y2b?+1e<^5oVTR7RVhd6bzK%OE9pmA zPYl|5Mj~Bslo}Y`ROSLPFl;J>gm31n-a)pJdZTk$rP)L;*V@tN-kpt&5P%la3BV$? zLcE`#Tq3XNHp^y_9&YJJ=rV0K;v~ zZ~^QPD**Gso*~cc0^n>$AobUB82(3tv=Nd9xpHxHIeN~FaOWo5m=)1b03X%TRQV-Z z=Yr!fVz$?J5PPvja^ReT>3=pHFy%pQE|!75tIbB#^JlJ&3UPHo ziB7BUf*sknaj33WGAB*lY2IPL^+`2m{h(;py};tBrA2!K|E9d(o`7&>cXxA^=)ezG zq3FgJG+d0ob3WcpovmL2O+y_cl($pL+?`AAjYjsr>Gnr2m6(mzL zyF-ZJ?*ef5UBr$hn)=(3r^BT^@l?2wRCGozhcUg&lgl2X*>rtgukGJt3QZe5E%CbP z`RE=(x)z3KJ764A z7U#g}dXt{Zu(=-1JZw2_zJT5p4V+Pr#ai#Q!(SaHVbjnf1gn2lD3q%P8qP1FKZmR6 zL&0X|ehLatnQFg(@T6ss1COgUj~M3W^EdFbW%6q`>GAHy<+GAT*cV=KLKrPs@D+u+ zHCX{A=vfxitpi*kg76KfJ$e=AKe}O&?msN*jBX($K;=Ulz`xAo$jXsrp zAv3AD&&&QKr_}S1d?CNR`G!8QK{LY9Xk)yaZ+-#1VPsMD3>|apUcZN4@ViXj&a<;;#$}iPn2?sMt}b;X#8YoZ8GSI z^mS(w{0_r_M-&1azjTq*>g=+TY&)OZ^-#s(Wfq-C$%At#!}AMVNj^eYKPU#6%OQ8- z#wYUCG1abHni5Y3(ap0IAHKmgiT#Misg*}-@2L5n-iK@u%`?3&7WU~OuJrE$A=Dcx zU&z|TNO7pAL+f_-5#@qSJH{G5>Ozdb^%7Rdk+vUxz3D4qLRSps4S+&eAB<6}FpAf| zEVz$h)t|(z1ORSko^5G{CaA)FQy)?Zc;nejBTXoZTAp%&0Rfq2f_q#*g)OrVEK?wl zlxqG{I0HA@mwu>N98=~<*FVsizj1SSeSJ>hhl0Uk>U#|rU-$MFxFEljLgFMSoCb7q zps`^3uH>2LNzgdrU;B@u+Gg0lQQPB0g`&if4pZRT2KP8O^W*DHgLqP}v9iooq^qv>yQCU#Ntbo=K*g#z6?~JEKk9S>fTD|WF6fw$J^Tj z>q*jqNBZ3s((ltMW9S7XdNT+C#AP zOK7D?IX1LYKAxQ!qcpdF=5Ta`5n_J|*JqcT@e`a6dw)fVVuOwVP8o=QG!Qon5ikYz z$sn$#-`$1200W1f_d8Mek$TEpV1(lnx$fEXjg>(1Z}aB4JkwQt3BqJ%hzh4Y8L^q`=IQ@T&O|2|J{!9y~l=k)NO*^QoRZeP<9PJYhH zZ>FjIx99q-$i zpJqdvV97|w4_WS2JZ=CrlhM@${kGR?e~^Xse~^U`-^_$Rr{`z{71#lRUHV>~OT5#p zB`52h@l>(a(efig4hDfaC5K^5@K${6|0e=kXT>U2+7bnRB5GMH^jUKE@F>B-!16XN z0pI)4vd}6TawXR01o>t36J0Qz{~T~EOA=l`VlR+dY&QC20OdkRzVX2TR6XaL(X>qo zR3ANf5cS2d^Yw%AC~sMzEcCa;HmwNvJGLPBF#t+uWHc7>1W4?z6f(qmZq62&>j%5Q z_HNo+F%~^Lb-#=K;QO}YuSCoz6T5)p`l>C8WuIYCkB18hmCJT4hv?-O5X( z$xw|(G2D^ydj;YP)x5@ujh%JNb$rK`xjvCRd=9rVTjBwn4mOpEUL8q}ft)1SiCAG! z8*KFev&8p251`F5Bk-z|U=pwuX8p~;DdRFmDi_86d!%DgAUFrl&R_8Ifz5vAP<9O4 z7vN`v5GuK{ZQneTs6J*qpO+3|9p29nugw38b&zp(>=RN!IHsuMbyKDG6%5&Ej{@a9 zbsHX!N12CKs_;=MXEMGbCvohiB|&bU13GBUl`Ct9nRB}|;;?p%B2P>YHN4kWAfZ3e zi#(2NR)ocj(nuPufDR>PqTu8eLQi!l&*(^web>9UXb4pD`PL7Tp~xHJsK%nbTMvf? z3R0e{8bk?Jc@A4BzS&MgHap8lVf<_#f!lqFp2y@~MDf~w_ltfQAIH!cNZ8oSHJwrI z)pHH|VqJ7r0emq0;%GgQodSmH!Bfv4z|^00^k(bFbba1$?UJ#MAAS}*JEd^Sb23CF z6tb0jO$DhJ!9RnA`F7JhD8uz{R4**fOP5wz(+}nDeEWUdE_V>5Y}uMNZTAhc3UUSw z@8>ONHUlA&g{4iO=aK{r-QeZ4#YI7@pdxrC2#AfyT)LFvBFgLNCp|d&TVE77UwtKLdZnMctQ1GcL!^O0V86eh1?Y)p@ZqJ6 zajAOj)9<3e1_edcy~g?I28*DXXOwQ?0M!Ar9p7cI>=Lz0GVp+7GBql(eR$8&axgOo zy8f(^cokqH!Uc$GwKnN57YC322~^;{1hM~5r1ERZe;SLvB5l%{k9Jj%gh`pea|zsl=TjiuI-!E@(>o94T}ld> z{?R{Re-f;_eILFp(au&h{--TtN(J>Qktj&nP|<-KVVpdP8kNK;O)kqC%{*}iao9?F zAW0_}2?y!Npj6*Sxq+ER+}amK#K(1C`34^PiLi zqLFglHeYvwJ6V9ZT=^c%6baaf+Qkif5LU}EX0HpWBQ1d;o_*er?qJ3U)=d!>#PrXp zZ}I=<)JM+`BjgG5gb!q6>WPWNu&a!SF#@t02{ zXp`Y;q&X5TmdA;bO?p+BJ+o=?s8H# zh6+k8e4v^FJqeR$^b8ZtVBb#>9Vg~yO>GqmL0bew6~;rclSLYddC^~rc0q%!5kxme z>bW3hM=53@2nR46`;py0rzL1Vz)wqA)~v+X7W+-b5i;R2nZ6WG>y(Gy$2-$X5c>^z z1~tkq-)_Q6GA+PIehcqH4okr{xAHzV4-+_DpM4lViz#64Yz&%wUsg+mh=Uz;b%Ey- zWUvHmL99gQ_qe|xm$8bpPBg1UN{a}*mY5Wb6~jqmw8V4ibx8L1*jFw zy>#VI^z9ZWsCg*g0=G87e{54Gppq-Z(mc{76+j&RgBa0KLsDRXxPjcX{K2m?1?-;M zDPMU>ql8)%=~tpEEW06q2!RXgF=C#n$@Y(FPhP~Y;Gfu)gY77JQkee1c-TGSi_5Y> zNeT6we2?^gG{R$P6d${r5QDeh++S|QQ2`Ih4JH8Sa3IQdTDOs->SJP(5cbY! zn}k^{E9(8?bjqsCfd_N%w?bF%L~a(r6z}3M8s)e3WHFd{#qTR zXr?ss`C;LXO&Q~1x609MKwmI|V{+V}Z=Vp3iySE=xc_n?F!BRBekSnki$U+r5)!*I z%5IbP6CEMnMAmFs*K{B{C{H=&LAn4fch9G$)5i!~mOeYt;#z&7MZZVKCz{1Id4H@( z3D7=bFZL1q{qUD1tw&YoEYia{YWYpieES8<-3kg1O(kU<=v!yvWfa+3A8cj^FklCT-P<*Gx9H(^ zL#|CNH$I|e$NXc#`8dnYv^$uP7vr4>Y8-eVNxjMbI?J^i-L1CJQ7!+%iO1c`A9K~k zGQ(oMwbsjr_e7Ne0i}=7!YO#J7GD;$2iaw$yAx`JREbI@hA>M zkgR{ENed-z_#o5Riu2(8mOo$5VECVBiKuLV;PdO@d8zq>?YuvS& zLNT#)^Knmj`0X2(9dEq9;;bv;AWxI}ZQ(!3W@f`e8Zo@aI1FmX=QPu0ijviKm!ATD z`eO%0+)KWCwiL+@GUznr*_ct+b(A@lP7QYc?n`@O33TPV=zp{Y3HK zkGqHH54Yr0_=d5#{6d$9=bXw|Gr9*KQRbn|KD(jfHV!^9pTx&P=SNZ0sznZd+gUy1 z&XpJAU&OG}cIoBj-B9A>I;JI&P1@;jmVx0>xIJQJoJ0*atWL!Hs)x#ag30{PqtBh^ zC|hd{A)(i12^5q-oO7cZ5%K(?5~x5y#Kut|7EM}rsNZihoF?>oEhVY2D~vRi=tKBV z7eqCStDW`yBNU5p#7c1tM7c5$ceFn+C~LBKW`QQlhp?A3o>)nr*)i0hZvpDP+WC%u1+MiG?O?seYL!Tuu;y^v^`gL)F2!YSp)8}EWTm}e#PP!8+`Cf%6dz$y~4FESfKhC=70-2Fnx?bJy z*$LYFPa{PUQ_6i*Zv``xiXM2fjn14fYv@3JzsKryGn&xJIFA0dvhLwZ`^UQUA4P*V z(4_zaJY6aS;CV^#Mlcz&z>KzR2V)Z{!^2k}T#7OXRObdq&kASOnv#s`-HC!b^Ewf8 zj8~QHrQ(H6Ba07NVc&fr$?3ROal_N%%+lHBG?qBGfcpb}_M->uoE+f7{`P0VA`V7= zBd4(Xy_~6chg((Ul*?0S{ROT;fFR#P8?4DFNBv&O0{vnVpHRiYJ-ygR%kP;TwMIiX zqm^$51Vm%*-1%|}VR6JKXLfB^UTVcCe2vC$`1Z&JDl*+`W}B7v7hb*8GszeE6A6eWKGa2G@Id4XIT_eHR$HT|FT?4Y+DBh?0pTzd=r?(Bu1hEI-(k_~aG z&JD%~tH=;SDv?3tC+>l^aK&m@Z|X##?#kIg6_o061uoEt5XPves51I==^L{sl)bu0{%Ut`Lm$zJRi7pWQ(no{b2F9HwQ zBG3Zw;;%ePL>$Nt?HPI=g4^~I!HrTyQbnW)f=#=gR*-|F+^2rGcN1*3<0ObL6Mg7+ zd%r!H5wa&2Wotk+aW=)t1O0%y@Ey}}+_h!G)kA{pIYeR4f;8C6 zWSQnm@^xvB;;8*~T7ZAwGL>#vz>D|Kn70{L7vK&{RQ_7yF^P+!1>_%Rz~Pm?B_^E2 zfli~5s!mkYfk;?Q!9AToqXQvsTT1=@1&3&4W&qRCnOl`7KO@$yo1WD?RlD_v)t$*z z`8)Js{68O!7qK!BIL(sF6C&(o&79jh*urC9xLu=WzXj>)+EDe)2tPM+Eq;`KaG}KG zPHrjP4F0N5FY~wB)ubNcZanz7KQ5PX8MktuG5_VX)zvY?muO;`;vc7~OyKVMbQCkY z?fb^?Tf{lJkj&JDa$z}z7;Vabjmm7|yah_zOhTM3d%#~8Gj+2L)98-Q<_^FwIl><* z_RZUWfUUb3Vz+}oLN*otf4)6nnR+5Rrbg@pMKh( z4IH=~?MUs`|D8%Vy#IGpw}7l@ZQ2D;QcgHDB&Uk%@sf_3ul3jZU|Ry~Qj1M)Jsh)^ zyTlx+z31&`0(4w!cjX>omYGg1T86g;*4@El>)mPkSTU29>Z?&V=4~(HUt7lZyRDuO zwXBw(RL@IuBVp|^gEo*XfAXHR>xy;x%I_?@Uuj60?P9y=gN%0;{$GLme22AEM?wpY zDd-?rwPjZ@5P!vnuT&u{P4rVX8T~)6)_+?C29=<9M*8_nB47pd`Cf~jLy!7&_{7Ig zX1e;r^L{W%x5340AIPpWfq+^p(?y|)xBlUB7A)?rNrPi1Q=h-}@Bj%HPAQ7e_Hga3 zy8GyY`!Yv>XG}AL=5lvz7MW|D+-oiDmKERRoEAUm7YFzwz0iFhhnk;P?Nq>kv<^B& zk$_B{U~s*UB*zO8HM;Q#eHgxx4&+Uf$gi4jPBk_Kbg?cbR`19eIZfhQuC2oaDDIMO z%tr2Yb&)cgeqa25P1KV7ov8inezB?w^CK7UmK)-iN#JCDlz9z?XS)+iS}00}yrh^K zE*r0_>RE55@eTH*j*hz6&P)GJBl`-tE(1>o7KBjMyNiSf(-yzWbtIx80ahhXw;qf- zmc(F`H*6-ELg6h7?6M@pSD!SmXFneKP!5>?_|~;L5vLOcxC9zZO*m#T9Qo8{b$DpPFFiRNevY2k>Cx$?tc2$ zUDPNTZwCGkU^jUz*t*YPd7K-f9#LsICAQY@Dhfbt)Vq*M`fe*QBP^L%T{J+8wEq)6 z&5MrB5Zl6gfI3~+H`CfS@8vSgHH%8p81_)sd6V8_YXfVbZL$nLeqUv z#qQ?rc82H4*2ku&+fPG!{h@)#<{KyGSO?)S7X&`$;q}nSmlJVRg)yIn^)@_F_9~Z-k-K=!5 z=Z2B}0!d7>JzW<$SC!j35SnvY?}qpHnR9LozBL|))z#sUFyF7uucw4yjDuH}6Mw*K zb-*{6W;MHRRDnrA;Le`4R~QLP0d!T}t*t1<&FfZbS{NQ!ncN~_&PmBaEQ1=4CL3To zi)fZ*V7BKwLfoPbr)2Z{8&TzDk(4m}jp48C-3sPpKN{ArQzOu2LG1tEI}87kMUV`5 zs)4P(p7z0iR=XkO;Q`Qq$g#Z0ORNogB^o*Udlz$KtXXP%ngWYKKK~80dZ7Q`Kx?&Q zKGT(Z)m0#=M_T-rS!ZSZgf;=~4SgLuhyC`9l;}cu**Dd=p~L?VTW=i}<<`D` zGdL0(BrQN-Xp~aA8|m%_Dd`4j5ET%lLmC0;ZfT^uJC&h^Qo4E9xc7dZ=ldSNzdYO< zhkNdO-D_RzTIcyWeasq2>tz#|xDt8^bJ6-rRWgyGAysnvzOPIVqtgs0gHuvTlJbBFn-! zJI2@l2*IV81E|rt1P6*g{Z6;|WP@to`B7ayd<&w#FFHL`x4FYGICr1dQ=~ROCOuBT zdE2f^tL6Rq-ZkI<%R0IPT-&s^-Jkg0^jiIK5jkZ&nd8)c*N6yfxg07o{-K|{Z8Gq` zzR7cN#^khZJrJvy;6sZ}UY^cV<7YPtG6nZbGutpzWeVeWn;YqL$ z-$?qaH~=p$$6GP@c(*Vn5di`nUOM8fI8^Y$*r716_|APhCVqXLT{$mhZQ5XSIgOB} zD7Uj~+YTow#Z;MLEuQ|#c4^(#T!Q&!TTX6JzT0I7bD3*fp^@7pT<7HDYlr)%?wF!I5{qUD(iMmp?y4wU310jq(9@pH?dJTh>ULLM=s$N->#v9M)n`p z{y)_#sGN|DQo$PdKWLU700JR#jXh+!^dM|9Ouvl>c`${&jsh7XQ9dWj<8rEBA>kWo zz9Lil_WG3>)!|dW>;YdSIxC!S;A-oehqGY}CMXO{R?`NUWR_%xnpbjfWD9Oe6mDq9 zS>o>C%yRkdo;KGudnfC{8fQ*+xt5dKnRH7G9dslm7JzB-s@&dbT&byc^Uk-OMr)@m zjgrXn7<(=e9DP&$N57ZqRJ#{`u3HD96W1j^5%JF&Hzy$>61;J6G>Cu2$BSywoi=}; zkEWoX<>nBZO>|?lToL||Vfou@-UJ-aHXKyawjy)%vp{_ju=)IZrvImm|4o2#UD?6? zA*Q47*|&e+6ri)eByX%u?ArnrMEp}leg?1I2FbQfv^d?=L&ViI@HompY85=qOb=1W zV&CZe_D40$Yl`%2U6NU+Ufa%9#}5nY+vSWMSX}M#g${h-1g60ht9X*NuT&z9EhnV& ziBGFP+!Io0?)$X&`Lu7F_8K@+sg`|CZ58$f#{kUYyructtGDGLWAyp0f@Y-01H*co z@cT=BOP6t*uYvoAjJj&?5+qvKn{}R_P<7xs98{FDLTo2UJ1>CJwq7|ap!F2N~LGk~ZD8Jod&@73!Nb_8x9<|JWxRLXf*y|R0Zn~BG&6TzUPv2%? z{sM$*yHxe;mo`Yan07HYdBVq-VsdE(sAA{@nc6>)C+ps3eNAZG$xToQd`j%_=5p|^ z(^80h?upfO^QWDu+}y-w**oOCshTtL(<396-~Ufm6K@r=CZel-^G{aOxG6lWg`f13 z)Bhu@>EEyHFRYK;hE1r;Ak`(XNC#BLnk2AKPa}k)t>@$u->y(^rRy>_N-%#`w&B~g zpp&lDdk#<2y?s_2QO}hweg`5nlseAAUoacbd?W7b)8@CvGRw~;5R0aXBlt>a*6s59 z=wqfSdkW1(m-4Iix7+X*-$S8;!ItUO5m?WNDq8=qbnN~ORm)tTpcC3&I0y{_$xR$0 zsXoq-v{&=33$Guh3RG*+2M0u=vGN8V$R(N#&`;R=Dzmg&j%pH&*JR zQF^RB=6etKU6t#d68g*YG3H1qf&8Sc&9lKz!cpWMXQ&i12X0@EYQe=6iK^CCE35pK%=;PQ&v@xg=bHG15iTPbRg>4B4Y`w|$fVckCoYY+we5VxRw0 zma@JSCap1u6eInnjqLJY))asMqBUCRXwyX?_|O^_q%nE<~Jnk8Pq2n1%zhSu}8uw6r+Sykdc(@KY={|OUVKvGCi7bIuPT{)7v zINk=LNOEYrR?;E+>rY=1L(1Qa9Y!DBDGDM28MS&RL;xiiVb4C-a>14>{^yE-V`;I* zQX2YebxnS6i^gbKc0qEh+F6Ai>+e9Q`_HAL1A|2Ww5(st_QP09Z@>i_ooFcMf7?A;Ae+hsaxqf|^K~aj$04-$KSCR{lOfBY9@=@OQIh@er6% zz6%NV*KBFp!La!^_vXKk1emFz+!bc_Re#XO0kMR?o;2ME2La+1)moS0H_w}l4+Yzk zr?G{5VV=Z08=9U&pRq*#Tu&=#OOF!oCgS24BL7bPS$LC!o1jP)A)XZ_pDL|P{~o$? zsWzDSxh zaYk#?y}pgMe3bpSlpBFDlBV7rI)O+35`5U>2jQLaNYXJ#fm-;h;j<7f`lI3x1KQNB zO-T}k4f$+sI9$8&Zuyv2b+*QH!nM0WN61RNLZQ{JJN7OWcZC7fh!7*>(%`4yU$Rl# z1<0MX&Z~P;!|h)nBTorXDKH&cK0v$8?olZ{oB4wJqCU&myjQ&KD=KjTKNZJ9A!?Q1 z-Yj;=pBo4GtaIhnj5C44T44Md_nK|gg9E3sp1M1(QdDV6VxmGJ{=7!);>fCL1p_i4 zwS!E58iDdZd0{2mc{EMe^4U%QD1Eg-7rI$mZ^n}SFG?I)VEFeVd%ZRSrvF&z#id&J zjc8Z!DHgEJ)t_d3fmALvC0j(w@v7JOMaC%H8~q30`A>6EiZTH7Flm$%+56$2R+LDI z+M>*5vvi3u99nYPK5i<7`3tQmGv3SM|EMf|TQ1XvO|ycV@ikrMggyJZKW%XIF}MUE zuOIRK3VwRzHTZs?YWzvo{^SDTaP6e0XUcTawEhSl#bc|4zMf&Tz8H8)M!oVwgyPqa zD2GcnDOme>r2hv=O5OCTfY}PJKl@|gHJmG9*TN?ymIse=^kI+NIkFEXp;uuWJ~nrl zL65|aOA$l%rf-Lr5?hyFq<*^XAd}@}dVt@6CxR(zgWte;oLQ|gc~CQFW$kf3ZH>iJ z-B?vqtHv&&EIUacx+8)?IYs$OakqnjvIg##PPnnYa6Z`NZobF3G2p#%cz(Ut#AY$% zk+$z_KIA;aW)W`vP$Z2Xvjfxf@iz?L#{_oXU6`*PhhUmNCh#6ZQ$hbT1+;RZR_Qlu zV|(aRx4ObJ)eEQyAvlUQgP*<=ic!!)n<-j3WYztJsRF12aQV>R!Z<&{mt&wTJ7XB8 zGwf$%FI(+y;oNKy?eyiie|iLZ6v7Q_A88`nEl^Kf-|cTy(o`l06k-xGvZgid(*J`F zQ1U=6M(fIg3jM?x(4>J8B*?~ooaxh09-@=4#+1sP+JkE(qs{#(IQhvJn zq()>QGUZU~7cyl+^zRN`F8^xo9r*(oPf^PZ)=@UE!&6|)GrgK%xU-7tm+wWTq?@6?JQH6@1GwY z2}7|pVq@L;dzfotjA(p&g$e(ah%y~DJjD>P6GDC-BOx;L_goBOA4VhG(DK3GmN6X` zFYQF&ilHdeqB_*Q$mpp5ZoV-Hq@Ju`n0Nf0k@T9n^=RNF+0|R&2bj;xbR`P2D)BPz zWt079ISX(iEW6}A^IfZP)tNKnFb05norjeF*s8#%;)%ApU5VjT{tuWRW`TNU!E+~< z8+ikX2taleh2EcNCnLhvkQz%6X}3m;*SHke(qAkvCz8PcDG4Z%oB2D+#13zz*O}{| zbI54qr9S5H)EQ&tL5>e$GmI5R&8`Xhznk6=)T#go?CQTeFB%FXp~knvngm&%MK6D% z1aD{e-X2%$>Fbe{&%2tXiuJ_QvT;lg29miL)Di541Qmam2%|UGZjW; z6J`KoMv?7#T?~;q>j!@}sE+;|~q z%>-rh!iKKG|93=#Orpj02~I8vv1edN;)&9Y(zd%})QPlqwsrtPz=D6^eY`w8NJCS2 zCa10EeVOd1cOaK@8A}PEosPV^Rz+~Y={t8Xe-XUp@Ng#YSaAd8xK7bkC^vupy#-xrY{F$oZ1#R4mH^;-Eh2-PA*Usy3)9Ik7l8g+`E6t{^W3`hZ}+l%94}%AHt#J z*he+~?O#;z%Sv$(KKXx#6G&iEZ*iH06a)u#MQ@6wGhlKIIlf1^NnwZ=#z}4kOqOQk zw30_0kf-303kjpFtBK)ZL?P(9gWia-t(+496e~jES59PsO^(4)HQ3O+Q?oKkUhv$^ zXz`|4HpQ3Sd}0(1(%kK)gSrl$YUY2=~pFI%C4+>>jJ{ zPzcVl73u+~d`R(wf6A?|LEW>Z{-O)oB3l29p7_Hi7bTq$h6igkvPZ!Xl9d+b{qELX z7b}x_A6Y^UV?cebxqk*7)BQ{_%&BtJdUyQoEo0K``(~}k`z^>-nqI;`PzU@On#iDH8=-T#z1<~4l8HtC{BI1FJ{%4|1D14AR#*6U+QDRFk;BtC!^d^|1PHiXHXk* z!M<7J>$mh9Q8@wu^frM$&tt6F_{Lb+-XYTm3#4GbiJz#yQ_mhc8Ml+W!!Sk=yNeZI z9-iJq-uY!fXLu!vWVcV&L_XZjOq^$FU^L#@u^f9qK{!u40*{bToE0nd3@>Pn2Cm-3SlW5p+~?`vF_8}S?szZE}Q z#DrYcDr`EIP()5LfF#Dp-^2Z!s2mrBgEyeyA{s*#8cHGI8DEllX1K>iRAf@!<}9s1 z*I1LpzR__ykZcFZkjUVidkxx7n@YLa0zf%D2{y_!Fa*Cik+wZNv z6luIfM#{3F4qgbi9q8{6-ZcxmY+&>$sPhc^YCpw-mGd?IA@%qDJm|0G%xFq|ke%6* z`3#I@d^~zWRJ>ow!k<+QU!pHbFwCad=FZJP(LK{90beB_kh|aYK*EvSV!+L{KmY-E zT7q=IvUqqqu2ADIVNtv`K=mjAG~(S9y_X7XZ)Ag7@qQ4ZeuBd1o=;1!;`@TVkO%&+ zYl<-H6g>}N%8(tW@ZZ(RsrHwfgJWeadeHAScBjK(HExSvO3m|rVL~v@6kv}2?e3jX zpk|Bl2_WKh)=YeWPkKNd&>SP7mT-VckZkzrVtKF09MwCvzI=ugBsxGR(3S^$_)j5JONL|C9pz7L$JM0wmIOb>-shakYFR zxAQ&3gizoWJ#rJ04@cjA;KTXl`@@&5C-a-9@9Pl6k1uv z;d)q^JQTC}l4Iw(yp0`T?d@vI-|q^OB&*L_`T|4z1aQ9OqhUYJumx(sgh>l$B!9sN zX!EVke*LflZh23E7~mO|A57wq)dx~`D?or&!(yt66x`2>5L5wB!x&FMBcB9x@~oO! zbCT)~0@;b}wm40Ld|);bm;??t*R8J!1prKtXBMyhau+}mkJ%4^>expmS21y0d)N-rIOd8!a_wl$e*W?u1r zfr&yI^Gk!U>x1x^;h04Ysb;i z!1M-$A+iEsBIa#ncl;^dbPJxkI&cMyEe9^V+XVpxPqe4$F)jPElqlunFdXF7dgnF~ ze?crYzwRak(Ra{AacYpIUtA=||L(Wn+oHa)4NOGb$v*38{+RiLc*C+~ z^D(vRTl1q0RgQs1Gci?sta!3VuZcA}K_IzIx|QOfrcd+8zEc?WMPX6J$9P3lA=Xtm zpwCaUsUdMuuE27EIHbYF^zK;+!~Q7MYVvEP4FODFN??~V;Q{3Ba{9jKYrMFliVwXL zv|rH9;KR*_KaQfPoJsPfp^8_~KY)~ks3a1a@l%uy3tqZ-1iu0=>fX;R8(`~2)XdwB z<0|#sd3X@ndfI#{z+p8(zqkZ+ysDnG1ywB-5*`>-e`UJiN=lK9?QwZYbsQ0SdkKH< zv1NOv>(@QSRJgCcscP2A{Mo*2pSHVj$`6Y*A7Ou0U7#aK(p34E!$88PIykaSg$bb6 zw6lc!YNz@nRvX`pWo;-Zh|JHrxk~nV(?p@XgK~k;=(pGdLWcuvUqpMbanCOY?R~QX zNus6Dewanx0*UTesXZ&5Oa?%m<4$!0T9kj2rUp~<*-u_26``kX3H0YRuV8G9NROd_Gk8lXd`=sd)j?oIIgZZbsFOKs7J(Vc z7BlmYPz_VG4>kvC;9YIb2R3RU(uGK$%y~uM145cgVQSbb&gA4-Ahdx+;zAk@QxrpD zQ3I?9&gPeIa(qw{zx)PQ$EiwJ}fb4vtQg%%Q+hcMSz+EPQ7(Hi*XX6PC zo48pE|2v9Ox2vhz=C6LChLojE(I+PfEmvlYBNi!+AJWvHl_Fw;NKDOh2B@R7Nls`5 zzXNYp@m|xZ!SRCgaQ*`gEfJv^m?az%l778oVFlc_8V5ar;cXg&PL0F8fhin&+oQ@V*&vguiE;V6HS<9lE*i$Gu62?qlA- z*enJXaO30WMa}CpxND$pTZ28fI;xVpuMM*-(U#DQ?rR5ee!@JMGdOjIA*J9Z0&*iFUi-q1aSc@y>pq#b&e;FIbfvarh-0W#WC9-r@1?;((bk2&>~!?^eamVt5g2(xVF&4pYq zKB^^tWDq)>Be9}aPH7gIctBGrV9I8jgM9&3r}+yCY)qUUY}MHTvBxbp$EC+&kGmvC z(RHt4z)XZ&Ii*n<#QdEsGSWZHrWpK@NNecYwv7CtQ>j>P}Z}ubCA;-sP%2G_!c_+9!*MLMKxt!PeI-<~5?>IJw}P z2qO2+o-(k{Ag&r(z)4HJsZ6Y#aMfHaa^Ec*pDJ)qPeY{5)8%p9T*s%%`FL&7Oj=nN zWnYw*>0M(Ue1OXPE_iJFAa=Pn1oX+`ZCYE^Csru7^PUbjXON|yy(2E)cC!j03*F9^ zhWq_$mYnEkX?&;=yHtC`Dw|(ivs|?GI}bffzEhgBX6U=f(#gKF_Cn1Dow7tfhkgp| zJCGivx;(Wu>LL8lRt#*3$NJ_qfwL5)S=^usa0xOrFr+Cpk3Ka|mN!^F0)ERa4xTA} zcYO{(Uu#O+ILTMPO;T%Ky%I$o_=r_zRXHdE|57($VF!j&=8k>CMLh??kkg z%@^d|3s09*OKQkp=pCPH?4zl%3Eqf*`sS80=Q0DdsD1rWmr9Nof)V^@pOY>YWbdtg z+^-v`kS&bU&^9#lgy0q7a&-}yU6hONfN<1Oo0NxQbPoN8>`?9;p6E)q`W=-R0bUtAP+ z6=)jz%BQ~R+9yWE6Yx6DyDOfiOs;UNbc`4;OfzU+aK5}QkQ}Co<(@d9ZTr+>;B4TN zz}@J+?AF4&afCJbA}BR;sBxv^qFlo;TyU%GL;K~<6;`$PZf{1+je|@3jfPNkPYb*@ zK}~bvY(rx<$8!M6)3KMz+nE!XRN#NtY^qR`<$B55W4fCEE4`w;4BjeOxYUtlCz4%R z50>4@ecw~Q>qTs4c0x^qZR&0J0k8upoi!fo<$b~$OtC)~@2(CQS=$H@;4->x|9P4} zvC2_!yvH5*dDI9pxUY}K;~E+Cct2JsH8h6z<7iYx%N|6&?^6V(!PIWne#WfjPM=A2 z&3rK&9`RvwOIP2d?l+{0pz~752(4r8dnJ98#~PqO_Py-e*WX}3Bpg9Pk`3ylfa1-kTvBM7riu5!|?vW7?qUq-=f+vBXEdNw5;>`{T~3g37jiRk$zrkcP0io0Nme zF^8rquHqXtAJ*0JIWddSS?QEZJ47Yv=4O@9MoRR9hdpUc%Es7vdzb;|(S3=NnK0?K zAN*iAJb~`u2tOqD@k`j9Xst%eI~=ap@)6v2*6%nv6;w(HtCvCN=UlQ0{P1d;sL`Bh zr92pfS9E;1W)n)yrjVbZp%LI$DlT4@X$O8BKOS;>1`;csiP=OK+IO=8i3Q*U!cO=p%vfQ zjdzAicRa8Pb?AGwZXV-q2^ch^p5;o~cf@&*qSpu5h9@AgRNDgvA{W1))p&Fa>-Y^isKSS-2!BAEo2bX_?h2-iN2lzTBebPy4s2*C6*i zn#@yzn0L^rP0J5JEh$C{^0%VMBk|G?8i~B7$s;2V&0gj+S~25F_1vLauhxHgVxC@O zZ;ck1{B_XDPy0f68=EZq4$47m(pJA&FOZ}BEDfJ=MNf6d5;I$EWZ=?RIy=2}k)m_`%G*r?*apU)! zC|*C*kULM#LuEohl@*6Eqo9)HIm~6q<+|xdo}JUerLXV!yP9_!Yq%+U>Ng_C_u3HM z?Wqi}sTkL?(x(;^(e@V}2RXXCGm*54I2_bB>)jy9;w$M=5Ut!_d?~%n>}$i~t@hx- z+NYzEjJ*&7Mz`(9YqbNgGOonb-vDg8t?yc;YDjQaMSZGrJ z6yq{;qBh^$+I)C`X*Jm27UZUR76{@|mBwFyO_Lf64Pyin12v>f(D(MIqR@5KO^k$? zL;@CbU52p(Wr(jU#TfvtxQMszu^(0$Nz(HWp+;f66A;JW>UbE!>w(d3n%vcnAFWA@ zE9H`Gm~Vf(v5m-|CYxfjjNykF;~vo-yWUGy5b7U8ClJ8lyMP_<&F>e=veXx-GUlh= z%GoYr&t8;1cP9=1F>m|DFQR1?a&39D=(Pc@p7|L%b&>E1cM@#jrx7KNr-k50ax`>( z%qH#6%_d1}!?r-9*t>D?`I#aH2 z8nS5SSve8trkdQ(shdT_m*@jayE zUL@QOMxeyU>jIYAJf!je+W&2n(l;Nw!hNvD4v@tix4|LrL2i#0-7*kT9x=+DSng5*0a_X_*p=W{dyiF!tUGs$2n$P#> zM|X81sq-BwT{|{4{gVX0yxOHVxy?0MsY{dlIYM*?5?kZn3ecUNcHW_zKwZY5#&I~y zp+|P8@yal--rSOJoo1$a9Hbw4skGD{a-RJ7u)l3rR^xlSbvDQTL;v)u*_RxVg)8vo z=F$(xR_f7OP|+-i)b@?N%FGU7xSg)13%8|%`_e0d(z|tXtI@@7Ir-V_4wvbg9)btB#9> zelaDfInF`YKhjtA!rM2fKD`mziC$VGh4SdtD6r1%B-ZpgtuSH?P(@C@!vx2Wj}O5y zBsgC2uriPEaaXsv8umcY3C)YO@D?OqU@<;#F-R9PP^E!{gEC8;scZ$+)3~9V+^2rl zQvYN)O+d2gcF%>wd){N4+(kOJExhjFbZ1c&Sq+=QFtx$+xHKsLTyI*c$boSlyKIB! zkO-nSxVPu<$iBsGvwE8b3Ws3CZv6;$JI#GR89(P#GO$oqs0^m}%x-%twqLi)ZB&yp z+xD8^>BSeD7wv9t$2kHSdhi>Zsf1#L3g7+esr_(=ZtWK6ce1Sk1XQPga=`aVwe&r~%jm_7)$F9=Pr=agz$jZ8BNo6v#>XUJklX3e+x_n!Y&TF3pYRrxUt* zmv;TaXyuu)glRp?y>qq)kpq9E2Vf}vIqeJ>z>NKhTV=qMSH64tA;0BnivkR<(A`!T!=5!Q^OcYD5QuA3kv%Bm^3Xp> z;i6S$bV<$O|KlBO=y**7j2v5(jD5v4S@?<3>6xin~+Qx!^xRH(%_A}@uS zrfg_Mq`=+w8r!157bFf;Vz)aB8HkShRN41Ne@=a;lxm>;(tMOf_z3rP3ATJ^AZgr^_RGP+*Qc!^5fpXHi; z)jndf^WTG7gDH?_1`9?GM4z48pQ`45;^%vD#C{LHZ zC%gRzmP+Z94^GkvZsy zh-=v@ul~G#-pZ%V`1pD~l#!Vkci2|LE0WoUM8nIv6&{p6ffZ|CwPlnFKen|0a5CB4 z(q9AR{tl~Pc?dC3e1P>Rgp_i`R>4-55*HFqUD&~e@-GWuf|swmdGxt_5nFu9E^Pol z)yvmydU}z=@~_rntl&MVRVwNGuI}ftVpJGf(4Fc1nbNiL=wA;|<7irsm9@vSxS=v4 zMn4!9^i3P@`zwFPLd`McG9P%%0+;Cd27T&t%!FJ* zQ+w$Zg2q$YL9Z3eB4;A7Gx0CvDpY{-sPqt3`dV&07ayl3RpcP5a+ZYP?3pCv}!e19ieh`}whkl+)#YlFin+bPQ&L71X&E(=>i5ewGzmV?)&LH-@Rbkg8Z|!5qy8@>g?6>f z@-e}U_qqJgKG;RoPGKbp-NbWwH#{3-OQ&US_vF|+BHYw=3c^7;W!}yAEH;K>gaR^m zj017<+`@GD6uZc#mL29c>PuUA?bw1njH=l$Ox9U99&&KFs3;T(H^&1uYO3}dYUu0f7^T&eX9O!c`I(cWM5vRL!nZj(CnqBF z^gcY~N5Wkv&|j5vY?SXWp<03MJ|vSg@EldiwnrGR!G|ssVWe`mH{azCyNlrsWMEx1 z!t-PakGBe?{I|0|YDijOsKp3t-M*B1UYM11OkrQ#e&I+d_KTvraV@iP2V+JsKK46y z_>NYLa}7}Nnf7x{F6@%va;2(`Mkj7Szw@HHpdN5peHKf}VcRkJ71%0yb39T@U^(wo z`S{?WNNck~w)fQvWsz{=pE-B#yavm#+-#h3Ynxr7J>W6)`-T1b5&NYht)k!}mC>cv zndaVXZWsa2>BoX1=(DWfV`CvCia-yQTLk@%N}9<)>c7LdH1Kq2oWgFJXF%a{$cgrB zl&Ga5MSkAkp=_q)6tqsGg7(kc77yh;*3`YrCvJDar>#@U@4>a*Ky>eLr#%sr?eQo# z>g893TAmuepdfBX(FU8;I@JAQnP;e6-29e zb8e@$@80d>eGcPTek}L#i&`%ii z@Tc%2QOXqhqlxGwZ=iSz?GtT%K>p(6@}sZACOax?%@M{c;})?uNu#+t*PK~&>Ae^$ znl!6j+IGm&!*1?tzS@F+Qsxg}7{m`oTqTVDjzBzFeLP&OQ{rN^s&Pc0x>Dy6EvS!L zwYzmdU3&mt`3IxXFi8*FPv&^^N&d3FhC0o96TT6~hFv!iqk}=ic|IIjSU#L$Z-?oj zzw$GcC_gEJ;df?QoK$ooAFPmS(Iuv5kI~_JBk|%9ABtn@t1R?=<4>CE`UsTnDE{Ih zrxaFc5(WPnffOt+3cQ#8+caT+U4pq@0izDy|KLYD&DQ1PCFYZWFdJq++O1q7pLaah z9AbgP+0b9P(b21o3Ygq~h9Kg;+U)QKt(qHFR(c_n*YQe!G9=f#qBcyHbUknG;b?jI zGhOZR(VB$Gip{vYkdg$(yl6UTfmkce@_=hP!|sjZY#>D{l<9kk@P(DJ+DyVj$W?xo zRJ5WV^4Rxt8~!xG-CXebWe|EYRC$c-MaXLvxuQk>MM5mik`R4_UbphXarm1j`g$_5 z^Lx=8k)7zMdTfGPm_!sx{E&pJ;))9;@HIY`dhF6Xm{vVH7)3I!Xi-$tPMm4Q z0Rxo?2($Q9p@ESfpy?j?4*9EOk`}z@qpxRAiS}4VKSveRgE1yS?=YxV%belCfmsJ9 z{IQ`{iId3z^`-@veWoO+OE7DT+L+mw^P|n(PMi#=t7X9~GWGrbcYKVj@6DMQbrYiz zeg2SumntU$L6@>rB)%fBFqCPz#}7_KGQ6RB2adn=`!rj^UgpTRp|gpfF)~0@r$6~l zc!<4KT*hQvX+Z74MOGB^V(G3$Eun!(&yV!M$T|T?mk4rUXn_)xw*4sW^Odz*j{K~!Udt3EXoz}J zJucm==bk#Us+W#g$Igu(l%;rw=)~uvm;4ikm>RHnTfcnlu&7o|n^7wZZtNrP1BhOQ z@dGo=8amE9a}SfzmVIcArkxSh!|_MDCq)Lz68`O#o^AJf*#ap_oWVb*4{_i|mCk$M zH>B^r_?67>%Fz|zHP@I2K>TP9=d!nR_3ti{4FflWyCsd=qE@}t8=6fT$wH-+e9YaQ zBDj|~9ZfkVgfSu#7~nEGM)J0(A#aHklJ0&Xz$=@NE*t;d|2?m4m z`DZ&9EXx;A=$k^KGHH!+kqd@T_|NqqDm-uiw57=X1L_JAFbhHMilB1eJkmOaLW~M8nr3K6{N>B@uOgGo`wEx6FPt|=Egfs>Iha3E7F!D696 zC@TCEL&}8AW+jXM10mjf0!uQVBV`Vgt}xzUWD?l%=4jSUgN&ihJ>fcbC4wqxwppDm z!hyhL@DFdG*|xdGL+N}p@e#t6ZeC1xHz=5@(KEH=~% zS`2)CfvBD~P^~l{R8i>y4DNg~&rOPIK>9BL=VKH7p5WF`0!Da-fydf|>N%^z{HD_- z-2@W?J#fT*tf}+q|EKh#m4**%9LUfr_b2hX7Sw~Yl}U7R?~IydU$1HqSD$yjVed^7 zHxP+LMou7gSKsV`?#h)Xkk_#Cbo(AJ$&yfmwf=FJk72%95L3oOy+++@??=s5#J`MD zy6$38h&{j@Nz)ufY^Kl#XxQo|t%>)B*0BFYGj?CPm7lsB#W6}F!v?uk(8v7sv7kgQ zWyyqC4L|zjq@^lF3LO~X1*tuH&bt`j9IudiDP%Ae4(}0SQnt6X5xc5ixWz+4y>?Eu z*$>EQNDT6ivdFKcaF=9%iE?6^BlEp@m3{-NS)t$cwjol1;kk@F1Pc5=vM6Q~ph{3y zx!IYmbp2(zQ0Hg`Br$exB;ueb0N0K?3G&BCk3MrdW-{;pN9VK_r--DlM<3E~Be`&S zAV5w9yn(J(KyAz`AL}=*=PWPlK@&l5CcX0VEywctkh>blJDUKQ-`wMvl|djI$~i0gBv@8+n&#`7gWady&|Pe3z5h)SFhSd`Je5&D@%2zf3IQ=&35 zT>yg(@5ZdHs9 zz@@vCiDicoubcrP;{?F>e??e&ELnKu9Dwsr2;`Fu|Jd+ z{y?2p=~Zdl3+HvY>b_@%dB*J@wm3w@aeBobQW(De@;(;Rt%v7;E+7UBXx%0NvbO@b z!ZDH9mfP$7D3SiK2)Bb823d2H;DP7_sFt|7cA36;t=^j-?-3wUZlXd)kl+mHFQ75h zD=*&sGI9l{5E5hBs82+elpnZSw$c_145GR1coCeY{atuWsxE`f0qLXRTnvh;1wg1S5U;Wh57FeXAH%RPZiG zkKJ()lu&3$N7Ht17RaUe1hQ7!(8=xXy;QNFS8l<6eNdtxWPb0cqMzY3XE`rbXeJd&;)OT{g=pTJ&+6bDufO+^rx{ z&ZRf2)VW@cL*Qhu)JN0f?z7}eXtt2F(5Md|1;~3}!3h9n4>L+RFrYN>6XdF>RgteR z1l92^Nr3A4)^mu*-APm|#*FF0vd&mn=DEAvrcL21v}_DJ@@RXKpNPLADU~$a-riuU ztmo&GFWj$Kse>B4P1W!yj)kVtO8?D<-#mv!$|zqjXSbDzcEMF zJ1n}0&hd>FsD!3s)fkahmsg!RpbrR=buiy?9IW>ymzng+{v2q;?AeYnZNk~~W+XP#_ZAM6Z(+<9PKR0_d0=lo67Q9B1D>&GQvj#VjL z{8zAy& zK@>nCh|UnU1xhn3KrvQcKhAymFfop?l=DHlY#nliU5~WNb!J;S#y%T+0l5ewrJ}xr z9CY~vpIIgsdXNMw|90ryU9PZA?xGLx{L%^7wLI41CIM)=;L&<~B7xt!aY*%I-qX_0t)@FzK6-n>`>#K!)Wh_XZ8(^66TmH zJq(1V86t2&5V(Gn@s2dxGF~x_mn(*%_?mTv@FYRwCVIG8lTl-MFS<#v*iZ370&O7a znr1NO5VrCR(r}GqeW)Kt@~uD;w$rS4|GmcU90-3Xn!dva(&8pT)<_i+>MNWRz4z%mG5_Rn2rEic1?z&vbQ?OliDOAAa~L839wPtf0&>0 z!sG*(xl>)bwG2wDfa0Pmy8>|T3xQByC)Ig~=R#eBb(6&`#bZ4Y0g^5zON*ni|5a{m z->uu#rgW0)!#_7|De|IVlZHPP-71p}5*h@{&u(8V-Cs0#)QWh0*fF5|Q@|D11LERi ziB8?MsNA7qc+Y{>%u3{rvkw-DQH+nxpA)7?vVbx#ThDLZ{ZEUUtl|Ut8_NN{38({s zlA4(MHSDGpr1Bo!As!sEuDJzB`H7opNV@29G3Q~q8D*a41tt=cqI2LaQ*_s+BB%cavQ!vi4u6%zo81W%?)fJ8473DdQ2 zQt!P(1K!6{1*)6*2by}LkvWT?oJcy9;?{dzTa&_ zuPB=@khUMa@W^&D4}-EPv-47hSXq6Tzvptr~sliT2io*=(d4r1GpQU8}yOZreqw zA_B0tg8MS(u~-_*6e_@OU~+mtQuAI9V-O%X7Xs%5`@mjghf^9hffSuyUnJcTb!yWr zo9KYAhZF1GLy0ANv*LP00Rp`6Dr3FzFqP$I9};oQ{#BsYD9sJYbbh?=iI(PT`2g;~ z6FDMRqjB-Zin4>52V!|^*)MBn+C5?IcFQO_ps+v7sw(;x|8l>j#aCF&Wd>xw#-8yX zSPj-CLuLMyG?vJchK>85l4e)7cVLD-dBF4y@C3Qybrt=f!42=(nG?emP`mVyWvY%H zvI10*Nj7D8(3uZF11Bc&dpO0uLRe<@%@;6Y`Zj_akNDM&TPpO1icQH>!}0d!dfN<4 zuLj3KQsO}rVjuE=Dp+)QDY(En(p|v0xq}jB8@!m1tsn9}q60a|>hb=2Xyr1RLW=xv zDzvRelK&rF?;TI||Na4UIye&9vg+8IvR540WUp*OvbXH)l|8d%WrfTn9I5P)Ju(W( zijv~<+^Xf&=_NzX^pW0?8Akh#VJmV5pPJrG_zIT47sAv+Ktj+E#FCEP z6})NCGjTu9?B+>0Vgec*qM@HIe>ToEyq^19D3$YPM=kaTRGed-IrFz$lwu1)Q|qbc zJPW#9sXcp;r==Q&Det0{CXPS|$m8yfA7yZofYtSJA!$-*I!j!eZWeSS6Q`m2 z9>Au8L=K9i>0w1`sHEIqqZ_^B>@PGJzh$ek#FR?p9!Q*PyO|9|aJ%8-S-u_>9M;zj zn)#pWQtV{$3|Q8!T+i)9JI*%3$DZ*V_s-t^tl;JN2HeKPM%=WI(qjG`^M<(sVaI$w zCtjV?RE@dPgi^AAu%${gSkdH(Tk^bqKmshIeD%8~zRzB3dfEJXonn5;C^~i}_Qs#o z-BnmDnI_j+g>OGPdflFgNNJ<56Q;`e)#neXECtL9ey6o@hJL;R8X0LZ zgQ<)8*se!i5SvFC%aZJ7-D{DZxBs39)6{4L?%zDxhLC4TI&(3_=@ zc+dl~Yw79+x(%64u(QKseEZ#R)zi01b8t#;8u3V<4Y#Mx z{~xbzI>1&9mdREC;4Tl;B*}!DF-Q%@J~jw2E`wG(t5Y7zdZ&h-BVJ{5Fm2$|;n4FN zG)ZdIo`s*TmzuQttYLk4sggCZBA_Mq^G%_FRjSSy%B!y!KFYBAQ!uAz?2#(EoFGjV zeEXGUlq)AN|GUH)ObV!o*e=7Wu?v?aJAV@IbqN2!ZjaXLBVI6LO6Z)2aOV8rAC*W5 z$su{pV?(abbu~%*<{%2(#S8|e{^O~({QNg+<`J$g2;ns&-(RiGhwrWD{X2Q-11ce@l^slWK0W{WyRT1xrz->DSSc7v zRO|_!CVn$zo#$^*km}JJC-L{O2biV!p{L)I-=5+Eg3of0Bk8s`D)CN%w0pek*3(Lg z#YXF>?mKMq%gLw2eu){3oe|gdz^1$=QIP2~DcTxpd(V=wZY0iuXh{@8Q}G zL1u;#?VcOx9~)U?#4?z54HG1jgpmDK&Y|N6xgoK1wk-22Gs#0yWM4mM<$Q}8H{AG*4$>+UChzw!uc+lo7%L{w*(cZL`Ti84jils%oB;aw)E?Ao@5?3% z*-F*wMnV(+?r%}=rTDxR_o$-irBDg<42xd8g1KIHUH9IndR)-TWC;#>XRfB*k#y8W zP2(4XYM&ruyEqQkXhNPiO2Tgd5SRW`-wfp|;o({>YLnRH_|lWhwq2hmm$*&j+iLG? zIl9q8f8X~p=I`Tq{`6*h@_IsqeF~AP8JINuiqkgD@hr8^fX<$f5aQWF-){WtvkbW) z42HSRx|d%L>a<>uy^q6XL)Kql5{Zxi1Oz%Pu-_{<<36BgHtf({&CSO7PMml2jmUa^ zGK~Nl3E2|bI}c?NKd$QTgNbcdj=t33O*=TNR*GH0_)*76?HR4?e5DoqDNx9#kj8kq zJie!ADN~skdvyZ0;>gudBj=pFChr^)LEZO9Lf~AavaWC@7|%y_e>g*2Z{f|)UZp6H z!gz&!WJCp~uoh6>75e+faub_m^{!}Q!>C&YaZO|&8#l$m75b7v`4v(j|1rPhqKfw( znW1>Ai2QZv2fe~={XK&~&?0aF(u`#ZycjVFi~!@C8M9muX!Qh6jb+$geYiNNFMs5f zB`9&*cM0ioUi=&ls9!t;)*6 z8qYhhk@d`4Oc@pHyyTBh@~XQyy%N9)`mh4>WrR8v)2iMyF0@Oow~FVl6p}gNkW9yu z*>5O4(0}ydZ6VYBl<(x2#|8i$|K^w4>mwlj$N?)}Ty);HH}iH=cKK-F$QZ7X3&ab% z7N-jKB7G`qcdtIEPomp=4iye?=|A0*Ud^j7>*Ygg@CbiPe}kE5)+h^=G#Ee1_me&G zJbKF!jAI3QMLvTw(9CQNCP^+TI!!VuWL5fD4?QO$Ljz{H7tIc#(fA>j7M_)6fi0DN z4>mO!1VdagiKJvD1y%WkK>xg@n=ex~t`rZH2j2~(lEo48uM@AE$zx3TYP&;!m0`DsGei%=U_3*2K_e4Iu$2F9zKi{qhwHqLBXGBPm>b861^shXiiD)RDHR{}YDc zk8R4Sqasq5c^e?wW$xj=qFZFb+38gh`z5#y3=Jkn?jyh17^Rw#`z06xA|}0D;p7qy9ip0y?g)1)2HV zQ0yG~RksY3mH9WmRn_7MjX@b1cLXx`V~71L0m2n@R|H!y(OP}#A>2s;EbA)$JSwh3 z`5JVWEdZxu|H$$1k<>B@8)xx)(4&xYS!{{>(^At0SOURU#?BsKC>k>oR;qObcD>iL z*QaP1HIuK&o#gwDclq92xVLpjh_B-)--rLAUt)Un?Vatu8IKUp>Ofc^Epg38i=}MN zHX-Xv;IK`AJ_LRF_eCHF7qLwD;%}@R=5`Ajxz5>9N5i3NC_V^655wi zj@d1D@}LS0z_$nD`Z40WPla^K8T!JfHVS}Nc?PC0#VziH!J z;!%^>=h^$SG*pJ_2mZT%teQSjqUx=9cNb}48}eeKTnDGJ=#$CQh`&1_@nbU^_}U>8 z`i07WhaL@TP8xgE&9`@|8dl8v`;_}S=H<^H9vI@=w1Wz#ZG(WW=BeHTRga2Sd?eP- zvcM>XWYN6$hH=A2?!vZaKWbp3DXv-B0ig5ReoRfD?7HQ>b4OsWIh|@GI;M}arQX0M zbw%eN*|7i(pXAM~KlMKQWo)*cDib;tm5oW$uOzqM?MdwIXKnLu;+@^N?Mx=%)h%k< zTgOu>&m!?cZu4!9K|$BIJ!WItI%3;xg%X~f0!^jqCSJ0yTF&4efB)qSCzu4>fA=)$?*^9M zk5g$u+R7_5P4TVrDglSMdpT{&Yp16E0){v=k3gal{(lDDs^VpjD1_QuoLbcG?j6>> zz>EX)^rn5suZq(uafENaIWYJ5?a@?Wm7YbhlX2HK&SyL4U>wW{|8J0MK*-d>?E8@Q zsZOi#9vPF=izT(Y1yZR|2a*M6d&?<*C2%GB+mR>bdfT~s{s5_5c4T-WCqw}RrZNq&LsY3F(1AE&iZAA5uhXz1gmLyzh1 zs+@pcAA0VL$BHFDNk+lqNMVPYp&&@V$_&r3aLX&IGpe~G$~g}exG(rfT`z#*j$LOr zT^?`E)Bn#LnWW#Tj>UKdPkV`~_|g-6%*fnUpD_siP${aP*=KJ}M~%nyXY*;mc;PCs zPk4|&BAEJV>-Tqmxp7Iq_|KlMXOHq|chPu8i~bHK+2|_pQxt1A%fREVHw$^^Y6Ov> z$aRbQyP7J*fh#e^_W(6UN#F>kj&0Y!;>MS&J@P9jH+}fpr%^u7{lRIA-?a6rY3Yg` zpOos~&d>PAodNd)4iyDO@853yE#>h^akY%$setC`(XJ#v)R??{ z&3VE2dU?dH=arys+2p}Q*cRX3Jb^pmGHX8#DS)SSS3vGhi}pv4(hVmCu2I+D{~!g^ zjzs#AjgaX8H-m!N2blc@A<&OO${N@9V%X{BrPQS{2{OE>QGe<+JhCI*G}a zm2s8-Mz5|UYd@{x^BOQfS`Z1G4MyP~TL*}0sbn6$p?do<9Q6s^i^rY|3z}O`hfS1B zl9@sdbL?$aDVU$V!?yiUCH6yFE7$uqUC)~tyDG*9e>NDdkJX7Y?j%fj_Jrw8JaXlH z5qEm}Q~)Z(_-~+T=E14gzqv6Ep4O5p+MXGx5hcb&`VI~Yz2i4{3o7~2manfo)Lwsv+D70MqWRed<2oz|2B}^-+JtlfU>=ydfF8lZgKsKn4(7oEj6)4BN8=y zG`Z;Y_6S9UQ(-{1U{fIj9cPX$ZWnW6Jut#Wg-@|{pc{k$7n*Z-mT2>~o$5KP7))3h zdGk#Jj=M3DS6J%bin;xx>mCDELZyaI@3eXfrf|+|^SJS}pS`Q~{FFB9Se_g3O}~{p z?6dg^?LkGX?S>;~{m#8ddb2~a6o&PJ952w*Ik{7eQnp9qCPXZD51vbASh?;kII5?g zuGrq4waS^H-*}YlAusWF$D&~%&hUq^;RN|9xgc@&4|m_Cy(SOx+8e%gDkd+PsyBT$ zvH&EtzOa9jzo+J;iA%DH*hh))BTtSqLDSde=YmKf5rj!>vc31F37x~xku7NPhG2_; z@7)Apl4UUU^lN78b6=kvcsF4qGgNZ^pS}0Vz0%cpU}BP@pAL6uEz8uxO8|rBt+W+?db;v{h+As>(wzkd&f0k51Gp-+ zLzpdV7~Rt^O{Vx&eng3EyC2PTQ(}DtK?)O`aPv3~!KCdRiDAJ;KzT*uDpP{V^#XMP zR;c&m(GIgltIf8ZQ6^-RAn|KxaERS&e)&s3H^IPTmvv`h>e-<*MbHJ{zAw%(YV zYvK9g{NRC+@9f9D_KL1E*&Km&%U1GFpCfXM+73_fa!kk#(q-RC9xW%&JX~Yhko0a% zubgy|zls@Gd>mky{u|7h33OAO{Mt9%E^RwaBltPdE}On^(w?`WXB^vlwm-~&J`oT! z2mn6~SDO>BpxTvo|4+p;rOWa$s7OO`p*SnfC&8hYja1Gdh=ZTc9!mvZIWr$|XdYnx zO9p^;j;h|S?jNUe$~g|%!^BwLIPG?-v1XuWL^`CS0wPu>3nz)!!5lOHJJmkRvl))+ zjq1BTd$(KuST{M&rSwDZJZ(+iEVgdgY*@HHp58D`J9L*%=Vh{<_do_;OUd!ya?^ip zd+qoURTZciCEH%1H7eftUxf><{vI{UuN4O<%+s-Eto;R*Ul{SdMp7T4KPO%dE`@0*)Yj-x>Zmy-jrsb`RY#TZ%UehU21LLxitHD z6`yjv!!Em^5G*@BH88PP%-!|g6S$Wz@b@wClH(Cw|34EUTN7IrVutoc(ebjHIPb#$P`Erf#=`B=BJU>hPyA;O4rcWb2NX~-d!b@FKHvx~I z|4fQZTN?J?Ua?yVDE&$GB=7A~n(w&D@mBd;o|(IvznF8NT8xW3yU(i28TQXS(%mlR zMc_=;J4wh0D0z}&ZTKf?66T7|fPl)GfBARE^D|Gt0&Gnl@qbDVUw>~j&~#<{J(!*5 zjto?m7ciL;ly`gHxR9g& z41r{UblO&zQT=b+#O^NtY)Sh;km#>czV(RoSFMAJ5PC2_8)o2vsGla;OSUupw#-sJ zAiAyT>92#;3duY-#m;+Q`>Ll*bNoN|_$2;j z&2VV#{N9j1c-KejkabP*9FOrAt^$H#>Q-DHo;AXZ8*`ml024BR>z<`Gn|bSdKn;oE>&K}GwYZecM7;Cx)X)Q+J7^dLTZH%QK$ms z6<9)PhA&LF1T^P%$?`i#B=Yu}a|L#%txd;*sW`^S@0z~rq?r@(2ZJi>@4+talCvBh zlvnm+4E*=KaQsWkbd_?Ha)_184i7B`wP5kCD;oS*3+R$=Cd+AXq%K=3@j%STiKZr*=b; zq+7V^@u1~V)&pG}By%aNVk@v4RN)fk&?J{eRu$4?hB$wm3ep7Sxm}PRSAQ`)ZRC+6 zKn)43k-*<1N@%$Pef|OmuN+S6m-fC&x&Y@CBkxtzras|wo@e)a0Pb5UHzw8m`pnIN zbITx#c|0z*k97P)qks!+VNErFTx5+8N0~wGjKI4$Xg7KEGVtEAFqlogv=nhBhek8N zNtkP=9$1Rwl~b;=3Gt1x_Ob{y#RMh$TS7`qGD%9aKm+Z0+!IsQW` z*l9w3Yt$q3r=-XUp=AqV z%z6(aoMOFp7Yo!&;)s#)ZezFOqOB$=h=>*zG^FWtzd|2azH=slV?a+B5z-qk=Mn%s z1t9qeomsAP(-qqNz&mxKC$Fti85=fAUp18t?Ms~FP4Z%{Y4MpEuTT-HJy};0H!1Q= zM(C0-0~BN%r=sBho96(QB@xx&gyVXq^uJ-!h{%^yycR_TNcTj%H&aV0tZh@P-;uk;?NEltHU!HhU7|y<06%!Fw~7c$2U-V@^YEqoq)*E-+l- z@ubERMmb^>rvW5qI)LQlRv@GCb&+BQyALYRox$bzbQ1g8KHotakyTJszck*Kp;|Zj zB`5^}NpL2B%f55)&2}Ove`3EsZt>2M3X%ad(-#mwCL2x=huO+7DT<K+~@c=#Z9fe@>x-)xgOlJSf$?YNJGBYT8qCo?xF^|sm-M~_~l2hmD*&( z>y51LUbD;%a%lM6u6)PgxHl?!%x$JFHpc`a_JQ764m~H{y_gq1nodZ9FVY6pEMmu2Jb5Go z_5$WFLzhhkTAP>U1`(|_n42~E5u|grX4#AK*q_$meY%adX$}vJAE%|AqP0H(AM>Qy z{!J1GU_L%ze!01IeJH{nc;$x-OHdTin~4$v<)-{ag)mu5Q=pmn?m~Eeuu#@3>rknY zGH#6rP3&bE{)Rc7cTj&!*d2#)X5?w_KS+6N!Fq$vR|Ca;jTB^x7$~ZDE|sa+%FX~a zx7sbqr6l%4S3|+vK=t>VTj46@tg;o0@|rhwa3kHRYG6ysgeWOMN#7e~FRlAq`k zhtzaS&zyXTW!W6pUHbFJ_+_h(l)kUw>AdQ-6(ltqY14{@whAb~N(7P?9L;1N*Nb^d zB~?LdVZrWP#V5Wnlaz%|j{$P7b~1*9vB1{+eYtadiu3E4cv zD#eTX?DFs%2B{EB`kwG~ag zNL5<;Rf8I3J#le|OHzkROF@EesRVWmmU#8hKz@?I+;TUi_znaR=iu`|>&ul8C(m!2 zmXwPRqb@|7p<7?nT8h~O&hDd-VQirQJWwt+S64vy2VT$!5zG$ZQmJJ9h!l-C56W6e zi08Molw>vjgMd{cGBYaC{4O_53S%^}6c4NIDYyavi{q$Gao`+&<;D@$u-B95I?$tx zlE56h{`?v+b&XAo#ca}7OsEPI&>ijgkn#XfS-$0aAy#r<%vN&U(tQ|XZU^17;2Mw& z1rXOzs}^DoCSTkLC4W`Ku;1oJsbtM4sX@tOAc7QfC0rQ zr5a4lZFp@O^_To$lX83K&+UPsWf=5?9u68|f2I#4kfX^V%7AE@q?9xTO9y??aLN1^ z+BXnccMC#Bhgi}lk}hPv2-XnBDwZK)X8=9A_=H%L9(;&7|TEgjJ$(lB8BE1{ASvt_gk zzlM@&pBm!npXfhEDIJb3GoO*vZ2$VQaN1-&E>N@KW<);r@687V)Eo<%s*Mr#E>#BQ zZq4?F7OR8aNzwwifD?%TduN>gih(p-4B~0QRy=I>s4FuY#X3?IxYrPm!Oh+X1Px?t zLAYK44}B{uW<+~y|3uD9>b4F0j$(2ym82Ev64rG-=VrM(fp z1jj~5K|jcMsIkE$KBDbyAVA=!&Jn;522vCU#w5Q!mnw+15OVJb+AQ@>sCoxxD&AM| ztc+6)T#C_7M&KdGA*X~P;WSz>0nH5@55bp>#YrR?%V7D! zmp7E(;}&`#TcUIjO`dFil6&AegbH9g_`lWpJW&%~&gX%~?S@hJ=A2|BEY3|22WWpU zdi8re+IZztm2pN54n*;iONwLwAxRs6oeN*Zqsc3ug#7{8S-A|dZ53xWgxv+9cP@FT z7~m1)(0iqZ+mkbb_A}TN4&t4krGbn--{g?vdmnv2g&aK7>m>HGe zN^<-j;y+i9r)hNoU0(Z|qWK`l1?w3a<`NE_Zb5N|I2oukTD5cUXuwz7(t}E!UqG4f{QLnQwXFEq%n`=`x4;~=W*BWbF6h65||y% zD0j%oE}hx2&{2v48zHMCs<#mIYNzHAP~AhCLptP$BD%~i=+1Yk0J(k*gPvyVvXK0E zd`UueIf%E4&>IWF@=q+Go7k~g4|&7ea;;`f+>vK(2E@%M zX(&=gI^KFrJz}No2u6RoSNpO?&~k&k4ylh1m?}$6nW`b9jgx{?27TZYt~DTK%%IA~ z3R)+up_cxfiCMWmbyMX+s&wFle>}?b`9v?`f^Wq6tue}#hkvFjy{O?*A}BdaA;B?_ zLOOuqvV_I(+5LOy&Jke8A0!j^aEHJ0kV=N30L)RBCGcU2o?W8!UvkS!0krT$$Vo4+qn6U#%_;=5_9(&5 zw}l3usgD1VH~r7n?q9*E&(Vl%PQ*5BHpeMqWx3=*G7P-*9l(QO&qp*QWGsFAHW86w5tT9$rdecZ%tdI<4Aoy{o z9B{VeGA(;Jlp&t2sjj6h`XkIv=$F~a!PqK!N?z{}p0|{DnlR-6iLyquazxI)Ng#k6 zfuROTwp8rflKUy=6>K2i0ni=qT?-Y(bNUfLVy+)rb>&wtrT+oO>i|XiH`P?c_mHN5 z^w(EEni_)X|BKJ~jJx<-##&bCoDP9>gf!B(kB{8rG1}sM1*Hm3P(5D381eyvMT{^R zdP4X6k5A~$8NiA6xqY}v4EuZcW_e)uISqpD!EWoS!#uBoIFg1D5!eZ+q3MAO6+05< z9DjxP_yXsvlnV1Cw_KmbA1yp^6-dXgQ2yV{)yvQtWmnH^T#&JyJ8trZYbYy41kCGQ z(IcY#L@1isZ^4LLyxHss(;YFmIvlelU}mook;rJlxcEsW5xv0a~h)Nb>|(MXED%ADe_W<|M=%sMeyxX zvN3`hp*OZ|o<%~*;OA&NWToPzKbV8eR&zfMs)*5{L<;SrriqaMdg8c5&{rZnU{hN* z&Xq4jNr!=D`tL}eLJ9uEd1_GMMX-i2`oferM9lzOPB7~-8D@*bw|`z%qM?`jY2etH zv#U`qREogKK`)q+mM^Rdd_{09O^)w66n%>#mB2K4H=t1h6 zjWbA_aTeYw{7o^&LK`J^Rs%WOE$nAm#ka^C9hiwNgd{h^Q&0r(V>D|LsTYzksPW^~ zV(9~U&3UNS1RI`sYjNHFYaCZX(Fv4z2));0mqEU>90XHB=14Ow9Xp861<61k`VSnP zcntJb6L8mEFxa2P6{gO-`b@}Rnh(_p6SnZ1P&+|6| z9U&dBqiXm!`@%8W)C7%s$RJW^1}v%u97`h|OW(M>wGf)+rYCE3=@L``MHxiC64)mZ z*;uNS_C#8*ApKMac4ZK`@accO~|3NVvoytZ4pRB8?YCWZRKw9+6~qUp_;ETZI@albYL8kNDQXe<3g-y=8bvy6E!xmvf-AB5 zW&O{1QE&PVNRe!ZXRmS?;S3&ROn|39G~t{g=VHl<1=?GRZ!;)?U~ek12`42wEq3=Z zJPJf;KzE{|>D8Jqh$si?aC!Er@MJv&!%vK<`-o5hwNAid?1xQ{^2&W!N+hC&sF1;w zeyIQz{Gp%l8U}WLNoa7oqsnin--^Jzy|717B5$ZK<9)_pge}@blgHIw9%WQgsC zLmbXr1LZ0)uS=rufy9J(8p?{T1WGA!1{+VxsH_`C#m3sAUuh8^b7s}=zLnc2oZbkL zVg!;v@w9^GT$>^Ye z1G%vZ#?xVkV>m4^gOq?FIlq=RqlsXiiyS2q>lfMwu1$m9K-fe@gj_I?1$MhJF_+RT zfEs{oF3}(tDRue7RVFjZ7=+k-Gn;+5;Ow9qGY()10V>20 z4g=X5*l0t|QFtXb?J^@gyoYpbc|Rj)`Uj!<1P0wmH17J6NUV4vUKbyyckY}cILPG) zR$)-FpY-sYC#(ITh|7;By^ry))a;77_=ObE1=YC3hw8ha;>aLS+*?Ey_ge15D-&P- z{#pAm0kugA&98T`&?80fR27lSJGsjRzK$I{%&2pC3M&B^ErhJ$D6#?FCk+7wL?Ia?mZbZiW!1;hdG)9}D_44iZ@1D{!ICXBm zGvX?a&H@*$Y?yh#Fw!_=4W)7FdbZq*VjL@exFxlA@peVfO~IUfaS7SOk6^|RAeLRY ztw2im~E{7rT;nVlf<=oyet4 zV29`qRH*PtHT7cv6BJB+4m@@qpem`s`%T$fM_4a%JAjop^Yty`DRp6q^t+{V30YGx zVzthf$DgYh4(@Q`lVR42R)PG;9y7J^}G&nC>7W^bX}~O zk;&r|lO6n`wGIw)Zr`CP1-nl*wgVA`gsj1rQ4kc`TX_?+MT&UK23etpGmPFQ2PVho zbw01Jt=&IWjKA1j3FK<=7N##JZhN=nF`bJyIw7FI%}fQU9XzUvU&*RT_%A9`M7?@K zC}P-JDG6s49YmlmrNEqd+P)c9Pq-6xkuq!JB{Wz-I>Iv-<+>DlE-u6fA|^&!v%k>L zz&*dya43cag9@?+q<+)}z5GzLrDqze;ANktRi`R+uA7Zv#L9jz^7`Uwzz2rJk&q&?E zh5EDH@<2SgG(bs2X8nxWSzEU{ShIC_ofwue5f#2zL?XC{P5%9UfiDu8MfMt_pJ z4&+c3-T!(1!+UVMkR9z!R9HwDd(HrvB{g=il!@9rm^zn|(B;y70wHYsKSHQ}1Jf_? z{je6;E}W2nff*ONC=A92ph907@RKgNy~rGt|8Kb@Md3oDfCTI^nH?)YpYB?z*`Vqb z=k8Xc5BLgK1~VaXP1aa7#~&AQmN>mx6F4LpWe^|~V1Rg@c9+6xFXLBWsvCI%tAEtI zAOyy37!^b<;$TjK*EVjE@>J1XzH|$qRzwK~2)smo;yJnbUB9PWgDSe$quU?; z`#MU9lw>bu2RfJptiixsg)IsRTN6V;)Z9jg2n;D-K(z6Gm8iibhGkdsfIl= z25l*8Yj*13a|)LMSP=Fto3i_}nv?*?hj6y(!^aE9iCDp%YLnJE31?q7I*KO1aJsAt z%_qt17=agyA$^bU;G!%Q4*P*Ffr6v;sr&c z0D+;HanU-ArsMdYpKOf$8yHPOB9@9Q`Wx-)BdH6jo1GG8vuHp>Je%GpIIxU`j%3+9StWr%eip2F5J5-S%t6k^rbzhtx?W7}yhj#Qx7=d}+y~u&RAH?(0lfVSy zphEP83;^B$Z8R+)|MFV-f?8~6{{0i8O8K6Etysp-YNN^aq7+6M%}dt4Vba-puPU^6 zpxD`Et|PUbgO`#2aS>~(Qi#%L#-z~ovXox!f2YPjCH6&z=2t~VC9Lz@<~R1rTMuUJ z4yz7kRz>Wphx9k7kM3r>2ayu8LSiZ)B(yNDNDD?d)wTh=>YC5W~wBp%y9% zk+S#ck39EoO`wBXgeURhv7p#77kLFkm+tFjI{eG8CX9?gRK*BoZ<+bg43QuVV3xUv z_mHkqYa#1-AI@${$RH1~1F0#q$Y=xqc_9RZaTtVV_GE#oNc52xkpDPBGowTXT17s1 z0s}Ofw)S3JJ(E+`S5lnXU&^0s+C3i%HqtrWlAt;-#fV5DkBs{doK@Y+hF>;+j<1KD zI{-p$$l&Ynnde&;3f8{0tz1(6k81EB0YnO3SP`bGQYW^oE7-|_zwu}a=5FI%f|FSJ!4v=vA*-^TgHV6 zM8M~u*%pcJlPdmzC1=E}p50fEW>3C6ZvKtO*v(U?DwgV(;4l!&5~6!?kB8vCx!=V^ zJsqVK*ES^^q9m><4VhiI1NZ^1a2MUQAa>8AS+{>Z1!07dv55B^!Y8g*iL<7QdIf=G zTx+;H+qP31E3|+4SqbgX8`djM3!|MqY(~bO596M1S0yOH|##fM2B7qMo|=E`H)d% zToWij!b>Qj@NWIm=;zID9{vxp?&>cI&fgknd@6>;E59x8nTw#fTRg~~Izo80vUXs< z|3Hu&0e=7`CKr~w+amISt0NOZPAC~o%hbx-00e~V>rZ!b!c z|IynyhT&bf(<3>!;U|{qht_R(CF?05QG^#dLTm%|4wgn9VZG43BSM_r)`4y_0OBAH zrEecy>QOfMhdV5J##e%U`Jt}Kfo?P(-|0B+-+9%`gJR54Sk%O)d#HP?9VJDEQQ2Hj zvx5%#$2~Uqd8!f96_O2aT-I8gA;-lPp;w$x8JCL&_<&POE37JB#=U4 zS_+U~|BHSo8IU)aEPj;TfOsqBPtkEKTlKkBepY=!XKcziDC&^CRz6!5|KD^{8PnoP zz^d=v2K!{L*fzy9_|auxqdrmI!3sp&~$ai~XJjerW zaqzn{#VCBCC$;H;zmLCc9ZUEcrp={|QcTZ1eQe4eInDbhd;9 za6LyX!d$Cyh6S5=7)@%gOlkZ_e8eE3GxgJz`%8~umo7m>Iq;|;d&__dI|xApF4TU) z=+wVGC@Fb#Ph82_xA}Wt?-laTmm-Ql;y_|r{Q{K|FMlZt3!HtYX~5pd?lLjp#cn)S zh67on3rzmS@B9-iS);P;xliWQcJ$~Gdx`GlH~29i@$#J>FL6I_i=?Kcykr~fMi4y4 zI@nAa`4-C!p5O_2D?1Kc)5~`z&^Tx!woW~OIxDzF>ti1LYFCK*VPv}>8|}H=Bq%}N zK}(VzJ+u-zMkp^%hDW(D{^#m5fax5yv=t|TQuEH@jS&QWL3xL->EDP+$I3`=YrA)k zCn(*)!erFTBc3^rxTh5Y(~M4vEyNFHXpTVX$Xe^dlPDZ!|+K>b(de(OLlf&2lV~ z$YJ-()~{&mZ}VJ|E@8N&ANeyezD+!hyctGG@?Vi?pCpo0h_@kCdOx`c>yq@)#K1U@ z8w=3a)-|}0X+<~-7C}>wbM;R)+mShrTffR!7RM<}-bWZpGWZm=nX;k~0MI(tPqerq z>9$!$dHKT_(eNFW<#=IDy|+&k2Sq9MyxqPLKx;D)?XLI8 z`Y!akH6EdOHox#iD*8bcdBj`V>_r!oW6aC;HTT-x-Ae}n#4+Q>s_=%TIQ8<&E3>;n zfu@GqR>eq-l>DIQiPvx80^`c$1NVC4#&F(H0AG{~q_`)t3m zEXlmRa+wMy*g)23wuLty8l|q~z6^jJ%EN~xgx|^FL-GIJj5Oj9+0}QsdUJ4AAceC) zX!=f!Cr;|6t6wC+q+ODU^Ytr_eh3aZ0*Q9)I%F211gk}Lb=T=x%5x5cBM_C)>>&-p zk8v-gBYJDhJ0Fq@hhM+NeSEN;j&sust_y7|(Gqh6kU&UWTn72L6s1<U+#5v5@y@ z%LKQ>g*#e0Oq!pcw*Yx{Ay$7K@>(r>SOL&5ln54z3@Rm>U@-zN5j+K-T2SF=cg2Fa z#(hn58mwgPUsL?ABVY%%!|`cx510IsWQ(_g+$+C1$5j)mpKK^Ag@Y3WMo#A#A5XWD z{T5v6LB-V~j(iN*2L*_tp3307Gzdu0?N9 zbc54ov?R7v#nkUt7>%$qLN5L$m!6SJSPG~9$ntEfZ`1u;as7!`hAd#mY%;g;TZLxV zm3#as&_WTgZnF4Z*wtNtWTL#%n_6tpU^~+4d!SBrH$%`Nle8{C<#U6b9?8G0riI@A z3_h!^nTCR`^N`TecgzONCte%^oR^*F2T z-{hN{$DyC^aY+!ll;pvGrlGf=tar1K&>A&8-EOcuo}OupDtJ*6x-(4 zS@!_@DXc!lP|6)Xc<1%{P=yD-C2~fnW}lASXd#c`^tcc!pJ$u ze!5oHJ?ZJ*`uL+HlToldYbd26c^6PZ@O?MH8+>>Y(4Qrw2IQ7m{-$@4Vj(^9P8SWs z6&wQ6IZ-W`>eZ{3`!9V zGOxJ1`wzq`1_#3pZRbSTUgTDkui?wIlcOM&}X^86kOt7h^mzV!gz>DphH0O(aZ z;0k4s&DZx~%mIJ@tc?^YlDOUMQJDrTZR!?GLMM`fB#VbU8k*wedCU2dU>65Ka;vl54#MD53L_fd;( zQFwa#b&q1ls*DXyeAbw}zlKpP$M6j%q;VPc24ms%Pv}N)S{uJDUo0(*OH#=a>;VvE z3~#q|rfaQMK2bYe<2wKwp~*dLs|v#Zo~oPPe5>?(rH7rCtt7E}mpJAZ!FB5`(T;SB&2rAx}-zkz6F z`o6ta2v!z{zhItfa>_$t7`e`SulDq&a;yMk8@@`N#b$u5DQ)#5Dw+D5+zl#jvk7Tn92F&@JZU`h)8VGSct}7~?xxop;yhS;9w|Y%5Qk8!8RjCZ&UqiEKB74BKPV zWT^N>H4N%)nC&E|;mQueh=mN%q_qX&c585ZKD1v z)6}WN{6Q1QJ$ry3Kw*2d66yG|7`0M35umyaR(`5+*Z>=@^sx#j*^Pb(nsVq?-fr^P z`vj!A*t9+1#ZX1`Jv~$ZhHE!&Bi!-01`0cR24r?FsvmGHsMnDyrcCrDCxOK-W$o}{ zwQITFNk>S6X?#2JY7<3bYO(BM4NGW)t8cCF2w{6w#iX$A&(>2q{nz%XFb?AdH$h( ztEL; z!K&iu_t+73=P8fbp(?E(3K88Jg>v|_P`9zDC&v0;$;X7k!vPA5-p}@bXX?bpFY*ob z*JN6`oZUC4?zo$(x%2*e5pk2(>K}m3DtI4MrCSrCx)V<&&}$#N2UI$`gv~_!NRsY# z3b6b$1yW79uGkLoe5Jz6*WP-h4ru5#r?6_gKO}W2dEE!hqJ_d@1Uq5S|Vz&F^^5n(mX*hyVvoNqIS(?|9My*Y|PvgIkF(b4~AIuZWNTeBKwG=&EiS~4L%Rb!~XES|~-N61(?ZLaM zgv0GOPeZ>2ocv<(K6vH5dyuHscem*-YrMqXtfd>PMhwfZncwgEs(bgHny7uVD|Ai% zZg0p1{uoQ#?eNjLE+^EVXrShtLNB1xS`Gms^eE*DEh8L|2Tiko|`K3^UiYS+Y&Ya=7c z>uDVF_Qf0?|U}(;Oo}lV&@CaOCQ}H9K97)=NYO>R>N@bViwWJ8rjuFTS#BArR9u-^V{`8TW1((Z$&fulzWJGaTKmQMA; z$|0R=_HS4HwVlnciWvbTiYyr?Zy!oGY1W4Pop^rRJQ#(j=c)aou*!LutIR#CoL0>9 z`KxmKh^2LBLw|$EB8^&(WKj2y3LreXno4FT!`|!g<<0BT?L-l`@7-Xvv36s^M%!ma7`f;gJ(WUo#FarZjk|B%%1&SeD-_j zI!~i~{LY3~b@mFAp)QTbON)qj;eN1RU^f~R{p2-LvY%pXz4DLlU79@YB;a7a^7E|q z0smQ=SQU@hK=@#zCWAg-HRhy2aN8RV*`q*@3>XiG00dC|9Koqkn1+iQ1LD!PcMj{0kFdUvQL+L0%1#Xn-y9w{#9l zST$Qzxz;?!WqBR@Wy*A0%Nq(Ts!rC1gcMc^*{2on$)8%i{ab!Rd=b;G;w9~)ERI$Y z>+j+s1G_C6wc0)EGX<)>H2R-rzL(#lV_9B!aCYa+@AvS%>4TqKn}&2IzE$tq(m74v zD*bHpcthj1`FUh>?9<4bHN{W+?DBft+As5ne$6<});<|BscTL5-xA+{yL+#1K~cwA z`_o`Dkw_Ae;3oFL&pAV8wcP)Qw6~6`I_$bd1wlcPMg{3^C8Rr~q`L*_?rv$MyIUHh z8Uw9; z>vsDWd({F5^sn5J83)!7x*RA`!{DH*#D%@F9RKCg-{D!-=C)b5LwMt-4l_;j$cJWs zafFvGZt%B-3BW~?;Xw+LHfS;f_eUk$?(q%GTds~rp6>DRw}(!4`z9X_6~t-C#)MR+ zagidi&I{+`d8sM?-tK5C19c2bNVa!bVmCeo3*79mz!{@bf)+=Hq|}+EwgFq+tv_n>@&J; zwxL%N;Y2T07g3m|6@=C|5!lzC1(!5kh=OeUYfbuoUBqXQb7%BbGn-BlgCst3DTKYR zPdkLtx5me6r8~fEclo6+0;aY%!c4wsvUx0}d^fSIG!IUy@gC*a^wC*Ku9du00D{C5 zC&{U^0U^AAi{Dan1QMD=PIJLaz#`kc5#!n9H&DlPCA>HO$ezGxh^lQwCYt4HrxEfH zYZc7*5dNXd$W)#Vq)neG7!0g!O2?CE3?sDOgtDOaFnGd6&`65AO=6n<6rdMy!C;A? z`yJXqLf!m2R?|9w;~>_(bELU``s&$C0WJpqFhQ-EY&LYqn_P7GRe)13jwODj!erGbj8GO)C5Xewfrj%)@(D6z*K^7SOoOZ|P#!$;xp(K(5 zO)sISvRjdy>hY87bSWG+!8YUiN$GSMSj_W&Ew}inaH}O0rbRj_MZ9%U|4ylDGxY)Y zJcPQkbdVQn34REKKj~#MogB|87P6f#;^Jg%lPxyZx(ynRChLO1fEvkp3iWW-jG)68 zpA<05h{qj3jvGwukN+zB=dt3odyf1}Kn7S`VLV3LPO_$8S^7~)$k>t|ZEK)=MdJdl zZOE_GpI{(`qAm33nCg9YERO~}c3_pwhNdEI6z%m^Nq^=7SGkyTt@Yx^bGZQzo318Bvpxfip-|Z;RJNR{-22S1*A=0(T zEwVF`j?ihyu6s#*I@?>&!#D>{sGmOKfVlztXmOIzeiy=pa(SrGe#bBZi54Lz)Ex}_ zI7QfhR}ejwQUVMJg)8(?_KECMB3(>GTA(4#8LwgZUKPf0(U{w>T}%3%enE=ejYx=J zdm2E#82u{6apY{zU_47h&2a{`Lt9eNc%>CwpOy7|As={bJ4XzvXfSB}tgGqc6y3|I zAw2|)c5!@RZL#TJmvICr3mrn%4?J6F(H}4Upp9_#?tloMKzM5PIyrD}&?s$NeP75l zxt#xbPgX0252kpj7JQEXZr3A(4buQ8;QVb7gBzK%fgBBw5rT2^8vEm&7kD zIiq08mTLOR3#_;&p_mN6Os<{VP=q>xG49v1bhM?q;9W2en`XE9wrMzDUW~T!NJg4F zz;68i4w`t+R1aa;UY$&t>#qKeFSFZGF`TKZRMt%|pxI74nJ5sqQC$FdK{v4MCkdZI zF41h(0DjN-?Dl`rkC7&tT%DILhiHXDjkYQbhrX5wRaS#&(l-V4#;ILx0cgS8?H9*e zV!&7y0>`8?mNXm$COK{9k^TkFK(RO1mv1D}VK6xYgns)oZ6y69m9kAi*>gf{^hT=I z#~vW+$4x+I9xH)G1H0qK3M)caofWjDV=8;Ry2X%{ypmL(MS|<#E`u?PH>_Op`jz2s?}8*JqO;Lh};LA5Yi8fAwjR4mb0 zT2mK`acDn{0=TqApFrq3uZ4^t+6b)oM*e2z@|8yN=iqygu+`pzBlZUBhX!Xlv}fQm zl^aa`Bovin6e`m-|uVMn>CV42^vj zqlwI1xkuvV%!;F=c~ps%!p+4Qr}WVBrT7}2U0bk=JC*@xC?F$2DO}bJJuBPGj66K? zZp4i*wBO|~QF3q$C%}cQup8<+KrK+1D~lOG0%O*p!6=Vj>VCn>ly5K(W z+J0@xzht{biGd0xdb}(bjIs`*XxzoHY4?3bOlf8?-sD;zMWZ_E57);*Nt#=e&I^l- zK?aVtUa_rD`=tsn2Dsz^Hk2z75S&usv0`}{bbPLsgKth;(C9cEAwrC&$Bp+ z^mq&HhxN5{LBBft+qV1FY5FjFR8BU_tv`|3@&-RoIRp>SisSj?lR6M`@~vkSKZpwv z+egBbF89w1!iRkFr6CA4A6xr{fvHwO&5VA*U@=u26)V9LF= ze4<{d9h)99CKg4Gf@;5QV;2uDJY$CcuPN=&WYTD%H31Wy+Hkbm@Y7nr-Olt8DI5?Hl~ z2HH%3-f{R$ETMzl|D{)+ksyL^WpTIOD741nNKl~eSy8` zo!BpKpLk@@{91nE87aZm#VDX?vTi4CCq*`kM*1;~p`T+YB+yB&`6ZtFRjC2j)IfD0 z0w@+SY!7gZ|Cr_sCvO4k+pk0By{Et%KaqaeyfcmWi&{`Z!vZG7xb>guA*MW@4BgyA z8+K}??>ybHZ_TUP%a&v;Z6pfWdV-R^+RiQk&{a6aUf;asTyH$RrB1x0 zahpLJ2@zX1Xf`>ZPl4k+$O`nh#{QPyphn@>uUmXXyt5bSA+dZ}$@WvSen^?gWl$us zt^sZ@Ss@N#DYfOJzX*-zY@>6}a#v(<>khz9va&2}-_2H=Yu1A41^kFD|Eg1MT1}id zBwP+9$P_Qfvjx9iCRzJwOTXIDOf%K&eL+}TDX#l6^x7o%2c!}7pE5KvZe{6e{dS6w zDs|jIAnmRYmAWfLOTse_UfIs2IF}8G{i;j}FHSt0*0=4+TGfPF1 zo>wNfVTTs02yQYL5>*=Ey|VgiMi%$pwHSNcou_YWqCMmpj{Vc&6jhkbsYw)Sc7!kq>82egTWjQeKf~8x;f_3MNW8ACTnqbRz|2G< zgr5S7wm%%j48x$)^X4pp%rVM?u zMqjP~Q($-V0k(jfUN=}`yqxc6B9}?SgvC>6Ucw*t3C`y4ZY0rW?!?%x=(E{IGs;SmR`FIeG``{(P(@pv|?A65yJ0_ zK*#56CZCPiC>BkrTLu{>HXL5#D}2c)p%}{YW%Tx;*e2TucjKAvHWD zz)@Cdy4_5>syI#ieKv&H+S63h;Q&jx<`TJzw5cY0jMdTISj|mL6;l*}B8ez1%g5cv6s_zeEuUTktL!s7mo-WYlR1q~-Q1gTlpp4W+fqPNCOonDx?H!lI;K;mA5}TO z=ZP3X9Fyg@B*(rD`t=*t=K-_?OKK8eACpTrzV_{W{XwUDrFzhnZ(F7{qi;3$#ol}6 zPhGTRugXYp=l2J=pFH>(k>4wBHA;ni!Z9=K$Nr5o zUT4(4xmfU$8(I+}E(h^c^9%v^%~_<{a6$c*7LPm8vwY6Yt#4!UuY5NvB!30R8^Fu$ z1_jE8FK~z6j-m2!y~6nE%fa|=yNbT^rDv;Q%{6P~+QN2!DW0`OpA&084z%Gb7WCw6 zk4dD$UlT~B*HXsVP|)%CpSXki>UQ);F=IEaFMYgT70X3ta{vSy17^EfI**(xwtL>( zj`mp3$}|9-S*bA`TN1*x-5~p6ucEcu_0@g&XH{{Wux+ktb@6(0=bvxliJiIMjcq53 znwS~ajo@cgx-ki1pRF|-tW_G1h1k`1I=2`0qI8d5+4_0+=nvCxpsnC?bugB8)-lBM z_;_uZZBt2dafq%q)=NoLE6|N=wT$PLZIr)Vz7hKS3=N-Bj@lfa5U;1$OI@baN|3#l zwa?8t1tfocDj20?)EbJySN7A~e3oooH-A+Rmv@O$W1P*LrEpz0Z~inoNCM>5M_;3o z^y0so11=BEfq1Dh9r*amKIrrLYu&-RnY)E;Ihq zDagbXQ(|I?H`c}|O1Zf-a9oO}$ng5O^o>lpMONO?eDu->25~3zbWW9!M$%Z%n^Ir5 zu8hAuI1+0t7HRcubfa@qwRbF0vPjv*bP8J4+R70_a>#j2p|9`0F9d(4O!68>GCYg@ zW8R&8{b@)Mc`wo9x`UxC1@EH4IK$?9>N-AE+3$?vA$dt@JBxc{FpxAX)V;j=gyJRi z(x@A0r*~03pClX^BpE78b?SaJxm0gFg=x&$$4XK}p}HE; z*L0)`OP1POOWF?}ojJjRr zP3RShorWB=Ff8e8#hCwosZfV$;wRUVZ^xj?tx(j;4 zO?p8dHyuIQDI-H$Wy-o!d6M||31IGk1>UjZ$~yT{urh^oShDt0VNSN|OW7dc z3%alxR|vk)PfD5kQrLN>^i)0kyyihgxJ>Bja-}hCv}3!CV204}3#HE`>4C>m=E+mn zG^CxEGc49D4y_;b9XP9K`C&vt+23m1Sd8Et3|g0nHP4-f=cHnrnrg~@G^<^5Vpm?z zZIYO@HKDQA>qA0gIU2iZFLX97#CR?UpdhUoS`O8l&qd@)jP3wh5^6ZXwzVON=U#g( z&5a?E`X;*vo1njW|Ls&oR!H~Xs-N99X&kq|mCl(=dmc}}N$ znPc8=RTX5)?4~cfVj@G&F<;f5){U_Ya=tHxto}i)N23$b)S7oO=mPAw@2x++rAND2 zJKkQL$m>;o|DNmBs*)<2x>fu6ucu$k{<{HSgW=17UX5*9&>YYym9cCeF1^Zz>%2Ky zV5(r0i-c_J*5vS$URr3q&QODCu>y=T^s}z#XLST(kq~wNy!K3qR&C| z`*U^HQa2oF>5u$5eL0C3_;tO?b2qUsMN`F4sycsChHUSG2_GL}ROT)05@W~H4GGCg z%ddNSC(Qbmh>*{z1y=32gjQ$GGn{l}G>d06lpJeMVc+{aQ1V>JkSWZT>&KVa_c-!A zO0^b3?B4Ldk`P3IaGAD=)0&5yuM)(T!<(=8i*IIDWT>^b#Pkc~Jf!@V>%^mC2i1gXHr8-$K1WKq ze0-u?R%#oZ9f2)3-Gf{yR1Be}$%9G+OcuT;NUv$p^tkX)S#7d^HRCyt!l}7lsB2f{ z$aL(Hr5Yg3h_4aQ|98I-yFy+CWzPs^Md%sFo^n(3CZ%3Rh13d zszuBMkjQ>cv)FH~b;byCQH7r#!_p7E{itz#X!T}7RqY`FdWk)o z=hP@vlS2x4i*WRwgW2xtwNiC90}`eE6{PLENi4EW6LsQx&76|Mn2sD%vJ_9%c}wm4 zPX|HDE%G^_J;ij+B$n*MRR^jSEfZqZj;N%On*N)Oa|V0OXIdK9)~r9iNC-xl%h zuI6V*dLSwiUy7aq9bFt^=_@KvDVpjQi$(Xjw__{Y@bK4a)i>jzCZCCKn}bcSl)Oez zYtIf2p9QGZ*-oVMKP_r9!>ro;pg2z*S1&NCqRV6;*RM>nhTKU7fyW^Lthd`Tv0c`D zx~`MBFOdr|A4j8O!$n_jV5k018gU)9<>#_e8tBv8{uS@bX#TASei$xvcmeaEEL9~0 z***(?wELvF^n3sGZ2Gn{HbEE_OhTmrVKntE=H}2sYdh7-?9->eMk+v$pt6d|Nq*Q* zsFk!!GVrcL0NVyS1VtEdkPboB!vE?JOzit|s~anDaU7qmM@7dQ@RGeRHZJ>n{`c}b zVc*|Tk-yExSzq0C%hpfi)C)}u2wM@1o%8i*Bx2r}*VAr~7AMb%?EW27R(0*=orfc8 z6>NeiE#TH#R9jz4Hm-+AibkH9#*wIbU*#@$Fs7*9j{qq(!iB)|0QV}y)QR76Zp@}l8Elj~ER zzwFO{yUxTI)mPGtcq`^~_Ib_3mT!t`-a|KLPczLCd-XUcND;Px){Ln{nlgu)nbegCZxkKRrI}PP**h3 z7$YtzUHnp3u==l)+prRm%rHRA9aTq*&gHl+Z6Xo2RUNjz2S#`IP|zgC(e${v8*@iW z;)EBNM|N6F?~n8v#dkUs6NE`X$m3vv_IfD%HKk@qTN?$CD${ej>|nyqob$=Q4T#!o zH5+VP*Q_xqA$Ic&^dd4lU(fT!--A)^FgAR18b8xIToUK2r&8QGC4=tCsc+z6R%ZU} zG``2`&)ELEFB57oVSSNuVdijnj5*k6)u#?7YBccuJV~~?O%vj)wmndT4F^e2nA3|* z@5M+?a9M7cH7MGtEmv38G|EX2HR0v+B9F$DPlt2-@py6U`jePchcTTqcm)H(TT^U$ zHI{0O=-{!VDHZ9@^;H)6$8hz1x(9Ez9PHTR>2GKXG}(L>chGEUi}@6uiVa&mPiCvG zuEJI|#E#m!rb(=>n{)z16MTyrC}LVNICOR$9|4sJQ;?mQekFBlQ&pf1BIxpe8IJu0 zUt3@@YTdTsakapf2(hO0mo|ZJ;(H>-G9Hi&xpTo|_t_bjtjSIt?o#Bm-!GFWbZHY= z$6=pQ|IG41gBax{KAdjeZfI{}Rp(!I=R(sm%C3E~;Rw{2OdDv>%^J53yr4Fro2GcdpL1+THyOhvlg=D`Gnf8%|`vxoIXjVI`!}#JyQRSD|hG_tgx6!}&Aa zm6Fi8rTEl0wSqrba{_C^Rb3OiN56X!MKf}C2MQtVlM{X)I44#)8-dsG`l5NI< z^n=30Kw=edY3bGQuv^hQL@|ou|`s&5CS3hyo!NCu+R-iEu3KFT8_IHfu9X1?R~VP$=-j4q*tN zdh;4trwjpC5UA%v;q2z_!{n7SJx5zbHZ zVO_XsjvNYlgK!?5sX_ush{F4CoKQ7>0x3bnwXh)+%ph=vC;nDFI&OSuy@yqgkp(fQ zegwr0x7?G}T%O#G;@KLS6F~nUCdni6_!G_+15B2h;qgt*#92;zgyuW1xxV>0isE;+ zJk1bF;fi7evhq$==)QnkwUnd&Si9Bf$D&{EKie+6z%!g@-tst(w@Q!jAHfg`zIY#i z@dj%Bb*eaoVs4qb^9`g=`1~-_0^Vu0&Zsf7H<(CN zn-1TLD9?rPWu`k<MI~BeUOiN@~q>O_nQ~d91q5)KVS2v(iVbyPKGRu3ALvG zTbVoq(hBWD6?O>9*P$YXv@=|w(|>+?BrbRc_bKNSDxiYc!z4lT&`R8_Ib9z7^~`<% zzO7**T=i`Oal$Q-IS2zRUU+7}JHTTlph;&MxYee#l+ffOvshhsrMn^v(|PJV4WnQp zD`XJ}eTS_E*>PbY7{q`|+K~yXC7;h)flB`;oI-^eJioyd-~L02??5~duG6awJpl8< zlriH&pPg$OR?NL@gq#hc#%%kDpZvH#F8D%|&pXs1ApEY|vJI2O$3q+NsCKe=+&Si- zI`tMF=9sgLyp+ES-{I`mMT&n94xPjxx7{D>=T@~^HJm5Wm~-3-Fa8%8FE*vhaD0~s z?T~O15A8FkJ|>EIHB>XyT|=vfByN!m`N+P-fX1rnEn9MwP|ufjlwicuvS1!+ZQm+* zUZN={ChL<6pp_$Air7`#{F8Z;*(#}NlS8V$( z#{c`f2&9JuR44=%XA{Oz$<;7`ijAY(=KT zzC7)L&@(nEfk43E8nl*kc5U_Zp-q>*AaRjb&pH{$!Smua5IK3F@x zKSGo*FwjEZoT8kp1ApYCx>1(v^+xdfA&SJ(sz0kV1yjf&AUzN}XsyqJ7S6ICo?950 zQ{2(kc+gE{1qRxR`aHu}exMitgjRkTupy#>|9$slrLj0B=x{~?WlTKB#mWij&31x8 zqyk$tU?8T>K!)HTp!XX7N#o5e27{14l1e0zLneO?muPB&F^9&RrD(u3owOo*WH?V& z7c@|;MwRtN5}8c5iRth%CklMpRK@_~K^M%=EVEvd*qE#=s4$Y#~%?eD$$eU#sch;*Q={@L2oIJ15B{gQl(V4 zo6yxe&}e`Df>ICg52oNSARK@~jYbtnCwK9Vju1>D79-5d>-jr{b86TUO!E#Hbq8n! zQOfT)I{tixBCIOG=x2{W>%125PkQ`upTDAIJQfGjBmu`vyU(^KCxz2Fa8=P#XMeH% z0L*3T0`pQyQh5J>iQE~J1<~y?v2H&Ll&k@@5JK_P{X1Rz%@vRv9GAnteMQ7!dyNPL zC1nss!>?J9NKz3nXX5L+v|Qqh!&s53qSuwz&md1nwR0p;bm4oNXh4PcRz2O5{y}_~ z1Nh@3FP{d%$)YtabCPJ;D2LOfuzD66gh_rNlskio(Y6ls(4=Ak3{|T@+F(x}FPP!e zcF@j!o0Dvp&;S$|G8qE!M5t;G3qDrUmK~U-{6Qgr4-cp{5XFI2@B1-`5b5``K)`;E zlSis^;#E{Ia8=ZB%;o?bf?q}$q&7j6s^pdz^AMRw5?~z+=E;&Rp$Y8#p&y2K?1~_1 zf62}mdLz4#1@up4hC`&RK!6bJe*h#i9Up}hUC?#SrENEi5Gs{>WIP2;75sMU>Q(@z z9s`-xKAyjlyO-|uHBf}op~7H*F9lGH<0cECg^0~de4m_Wd&k0;Xb^#ikT5e;j#QX< z0e;!YUz^jn$9JLKgWVIqnW{z=+nstBd!K>mUMPo7Iv@Mv=Sz7XWwghhaq#O^l2cWt z3{xU`HR%gL+V-A`?IpDmvNfw69|ndQ&~RSLq`00amk0iwO)$JX*^#L-QD&gS6GdMU zP&7B0sgnm6MBf`)JpUX}9gQ&Geeytg62iLrTGlI&5|9X_Py}HgtMj5t`j5;S*lu)3 zK<0NrG;LwMIZ0N59AHYf9!8)k7)|O5IFe(NPcZIC0}AGCldHnBb`#-3B~Y%&8hQ;T zdu6O;rgvp%r#=Wr=hK%J5Fsd!2~5MUsnV6c5V;0+9U*Ql5=gpeLiTQRqPK~WK+CiB zZF_sHf($u~3t^h76vkVP>9Yb0g>*OCKvb4tO(C5>(HMPcXs4MUf+K*ELw>lw1I$-7 z*tGr@U{{RTA@3mFjMJAk#b!8OW0{Ha^r!(4-<{xKG5BnJL^%i)oHIwVcZNSr8H|-= zd}YXmTY^XoCf`UV5;?N>1g%W(2;!5!<$+{j*kY=8(<1Q4K!zHuX8dO7PVMYD4(|}0 z`1vit8HM9hI5#}4d(R1C2}r|rpRx^thlyf)0P-$%g{5oyyt| zu4<%9^?4ft5r;MV4kvf5#9I#nfZTj@z*4hFdDk@};u^Dl& z(vw(}%NH(^lGUQ|p4ZigT(W$kRkLJ$#_m2O1f&O<|9O`6rsa#o=|BkYQ-t zwkT)KP*#JaS-@zcaJIACtknP#TZ+NSDk~0PK(96K<(*)=T>}zrhhHn;iOozkh37C2 zH8lC4+$4^L4GAX_63rHkezv0)mj3sf%3W|0W&jB^!ivZb9CTwp>0s2FypGkMtx}Wpct*`Y~ZXgC# zHy~~6g1z>sir)ksf6JQd`7cOVmv?bIuJm(9cTx2$7HNw>IZ2Fj>7=ThvQc>;I-9Wk zx4KFGr^}nd(-eaa(UE;j&J)PS4P!x~QW}HP+u&}EGDU)s4v^x=bKkEuAu*tjewm&OMHDO|YOLIJlK(Op3WsEt4pe}|h}VKDA=i$jB_ zN)&|lOF8nz8J_Syc(GGmZZBkHn5`u{&N$RQMW0c(@5L^Dy@_ zKgQFSna^=Sdiu*iANWEnaa*wPRv6kN5Ab>RV-xi4aMc0Y*<|ak?Qi8Q>0pVaO64GtjnP|SyD|+sU*69Z8GuF> zXr^9xLj(dbl}aeik@~2{emeUzAh8`YiJtx@{)S!TcZb1=5kcu_rQ5YrJdmYqPuI%U z+3ipQz1u5Sdz&Z6;jAEUIsDuL5!n_f6!BFD8I`}z*`x-}oqm;!)!|NB6Pu0Hx5$%hvDlDW0!ra^1^G>zdbvCq(m4=7b-ht9 zV_8((K{}D!IsdZa?|b7>|7ZAsg%}Rrp`JucM2-67mr6Kdjl4iU*t9}rzKy|&RjF)D z7Wjkb1Q|k4aN+X3d3@nn6op`h~a=i>b`__kT-jTeLc)~gg@(fIt1_OSXuSM!)r(klyZHD9#eKdn7h=PB<#|%+yG#X&B{6_3 z9?zm4U$XcM$bx=5r?NM!jV+t7gm`qhXA4RK7JT#a<; zD)=zbfOU7r4!x9XU_Iz062}BI?05AT>&}M|CGGYIUZ3sOXsqxBj>r z@^U~;;>B|&?IB7jEifY~?h;S?po~2N3 zT8QrToG!U3b|g=>qtNNk$n&}~zO8zYg|7sVrMwfD*W#o1#Y`B~*$m1|1z8}}3sZo;=y}a|g1qMh|Gc{= zClN=3Ngv6U8dNJ@5VabiOjNhiW%jD5KikQuP!h|Fe704FO8_&CgiW70nPQJmSM}ru{$_wxZvbyjO;NO^We9&|b>8oh>|7uD2`N$3zMI$|8OH8p2iFcg+ncf4|<= zxGJl^Q0figHp0ELUi}^ZoVEr(N>DL2>aFIii6BPc#{*)FlYID1S^oI^UNBd-v{dxk z${^7kaJMlT4W#76h9*{XeJ$=C!Ci;cGQb}K*in?wg-DKMH;$`ef%plL&N!~8`(=Sxn4$VMk7yghCxjX`hq!?pg{zGU`9`rXgC^k`BpI22BqPAef{|&<2+1~~IHWC^Fj$dw z!=ya+McW-z{G$ZsO66TR1ap%`X1iCxmj!u@i5W_1{F;FzD)pV80p1Ku@zyq9v;}7v zSOS(vCpuJhspvP8{mfYxEc<9`Wtmxrr5Cm989`ZgJCh&6q@b37oHdf}^Dpnckk@p4 zfZ5McyVvr(w@MD8ZB?@!kq4#OH>rfqNRUW%11Z1?;Cw{`Bx2lT$_9kWIAhMuDtWBA zdVBMD4#zUfAC15w_SH*|YpwwoU+1+FI%iqV~eWY`>- zCjgx)`F8&Nnt0HO8y-eb&SElsM{s_xe2fBs#Qq=f*OyWasyeJf_hq$2H@|!a1|KrT zYOLka5sBtck4H*D5>QSfw=tOg{M8~#rk6LMxk*$*Xl^nfh$(&`A29vKXmAY+3!6ds zMfFeJSfMfzr3a(opa3A!ZO2fPSeA~zF&5mU5)jM+4C0Oik|^3_Q$+c0cyPNR9wU2V zlHj_x{)WB#S;vbfO!Laou)htBH+cdCVp<(hB{;7a6SJY?!2GD~1AgaH+_(xdC&uUW zb(e#EGk~>ZFsUX-OD40uH^MTzgF1O`z`M>v;Nhz+XqEfp?S^9EY>C*d;~9%%#&p^4 zX9YY}&LDNvnNBQ|$R7s08Dh#Aa3vvLMc!&1C_ViY?@Q!Y| z|C~Jd;xJwuT|Z!W6L6vP;W?mkeuM>JV8<78@8NiRg0};vM4>b-2;zHQ`yyWRoey5a z9z3G(XO&)$J&Ces1hnouJMh39G47K#0h%PNtzHBVDXcH>3KCfz2CiZbXmA%SKc^1H z|Gw+<4@S$o+h<6XA%53^rJ$`1h*!7=VMzhr$@itp|04&=a6Bz^JSt|=v5_i6sS~mK zSKzG#`m8)*&Aaa9^!p6I5CY1H$nKUKe6?E1M|jw^a~&1PkX4vP-Ah1*YZ35=1hX|$ zvcbJV;D<^d!{Om2ytgqmFn727-WN6CWWfrZBjF$m|LnHPON~v1ARf% zPlI?$sf2#IZ;R=8dyFmfBa^D%)$l}*^3b6%i2)(uyA#ouWZn^E3!pvWT#aC)$~@!h z`&WBG7T3xf;zeYYbDbcsP?fDKc7NN4E!|zNsw%N?h!~x5Oxgi zN@E=LrzXWn5@EOdZ3nNxUmSZW4~Na6e)kTKJke3$4q%WX87MY&0t4cC>I9zZa~dVh zX^Z}TBn;=^J+LN+A#8u4V4ej>-L8WJRnk16JQha& z1mr_bodMI0x~07~O+zNbg{Xcch9ek|`@Qd03he3PfGZ za6)JJardpVYFI(lzPWwyiwBFxyQN8nY}|CvKYyo3o;JV**ISW|v>*v#P+F7i;{DjB zMRA#MHrxWWVtjVlw%XR?Ni-MezGmH@)l78H&)+1!X12P!8ej__d8!f4-|b@UQPiK8 zcU#-(49%NDE_MtPtEwuiE;P$6B?4{n3?&bp;EIyDYc&D~RPWO_3bmxa7lm(5^eor3 z*#2D^{r8Nl!2q?b`ADB$`NgW{GJ}DHb#P0n1-8| zy5ogW3jK2?^ z8Fwo`)`YGbWAN{va?B5XU$`}fU0JrW|2`I zX1iZIzxyyV$>clTgxz8FyZ><%k>SAnt&p@61iOcorWg2ON=QwP=CMDSzA-ZyNl*c= zm}nVJsMS+W_L=@GiqP~W>ui64GeuX&llG8h)kSqa+N93!w@^Wykgc-XUo zRv>OcZY`K&MGz*A=Es}(=%XGVXUdxK`k#P(;{K@$em{-4n5wleuTgh)z3@_74UV(3 zWrw5!@TLbpG08uy#@$=v3;eii@A3Jw{__X~bY3rxiMV2s7P+8T{^)rQ^w(5GBa6aJ zLHL5MH)!VwFXg|vb0#)Lpe;mjZRI`~cSDXRi(Vu?FrZBi z?zR8RE)MaDL}m4($jqU$I?YKOWA?NGUOZ_Ma->j$IEA={J~h|{jrjfIYXT2WFCu_PYW^5{=)6CI@e;&O2^djoNAUjo>6mUb zD~6}AMTj~>h$FRmxQeiL5cyrilF-BB7jg=KX|ovcuKlkQh))J5koYNB@DI=L&VUY& z55yw)F9(QZ_WVyK#0HbH%85P^2Zurb_t6TAhIwecN2Aj{%;f<^28xA5*-H`we7&q9 z)m-wYpwH@b^=ED7Yb7ca(VhR}{W-kbXirjLQ^;eF^y^=AK^DP>_{pJ&1R2A%N#GwG zqER@oa69L{WJi9dy-OzZuoL$y@#f)bzDa#z@{c`>>50qfR8z%b#W(sM1z05V@WBvr zYfAhiQZ9YWOO#GafcBrrbN3MA1*-rJ7yIus!F+j?@!{PC6czp_G>d1rdFbrh2dw}7 zN5Mw=$3g10}0sCt;^Qte!V zt$O`>!(!ENFyGX=5l7L#+SPhaop{czQJl7R@rv&lLcboGb0HgUYJbiZb!^P!n=Pv` zVk8&MMuz*gQX&`AuHSKgAwvG3OUO9e_Hxxq`R&$KD97l13|j&|(2B z|7PH1OCSa|6U9HNGF*qf6qD z>TA!XoxF10iKkRw{nMC1v6~h@&+V|6R`LJMv55`SeW=pC%H(VmRe4jHP|SAXQvlo$ zX+xVn(ROe2e8> zSQ^e2WJ+axq^1F$paXN~{j|-RX3suP8jJlGZaykg*B61Ei{aMS_E82uYVe%a z7H}JKDMT(xwl?Q#oO0#5JY>~xiqxGcIfGaCYFDJ;q+#!O0T{V8Grpu&c`)d%$sD

^6ectcnr?`hL6-DE>-ZHUJ&u(dhqoKQ=j3feFO;(E2-4UFh%qCXy;9}k& z)gFFJKS+Ib`w~?{RK+yzztkQYf=_8@&nGI|5xqlx*rGl87xM0&S~+moF|tMJ_a>I$ zH#!)eCaBCN-`6xz|rG%$h36@sWG zS{F|rtd@5A3~*lV+NGn-uBEttJGynn8!#=i8RQs1{@=ZoeveA35>*X}wiU}&^%uF# zK<9Um%=|8@#B*06??Nz6q{1jMt37loALRG(lk*vnY}PJXB_}(*ISzSe$=|c-$%nWmauKUyy z>hWXYseJc6MGJJ`g`p)Z`N{Z+$OM9@@%iCxoHHTHhG&I4sTxjyZ9lgUNro^rH#M(> zY&}=boLZ zT6MrcQ@k3}bfr=$xe#J4Gr=5ds7sDN>00z@-XGE5uKL*=YdW_bww8*ymGJfrArbf3 zMZ9A8<8-1oPDpS5$G67015Mcz{G$IoIbec$vc97*UTT--*d?nB0vjNm>9_!yA}4ui zp<(xn!xuhDe8$R~?EJ3s2)KJ5`>^R$u#CUsStTXPugs#Ta-`CF03CuB-gtTA0nNSq|DZ?75=>bJBens<3}r{$7rD&MA9jc9h^ zmApZ}u)o~hjg-E1&}f>tC{i;v-N&FHZ~UhY7!ZZ119}L=h~wX1H#+3oir1gkH2qB;2Z1X0)yE;P4*z{iNC*v!g;Dw$9y=qE z`LHbU1fOo5*k6&d9mk&j50@VkoE1TNSU6kZ;wd?ZgyP`FIVjs9VDXn{1(3vE~O(vo6PcXK7Sww#%eWXfBj;X*h|Z(o~?WsVF$l@hMVnl=${Bj$(+c zw=5|uHX7>7jZ|)k0O9nceH%*la@q>&(L$WAs|YzdJk+>r4-s8wo!hkS|c`o5F)zkxs>7pz+K!zZK)R3`mkIa;xa7+DY7z zF5h~Vjm!HpjNKtB(F9tXp#RMAf6BKQM9h!d2_5k|LXn$qL;*?$p7N~FB?IZG}v90Au0G5 z-x&PK-P5T_CLR3@Y-QRSB(4gO5cQ>=j#nc!N!z^1#t>6vHz%?EJKA)B(bHvLe;T*b zNcjAA@sNfz-=%#{As?Me;Ww&!x6h4yzRW=3_l==lne#4{nbOsz<8*Bs}yL3sC?U1Kil?aD2#9nZ_sQuQ%r|3o3LC_G;c?6-F&^BDRdjnadERZpFq zpR?S8j2e%iIBG00P(cK4;qr)mv+00@Ss3NQB!Zo6PB)FW??GYA{MH9G)!IGO3avX2 zn12>f{qGd7Vr?lV?`h?fSBSd^g}JPvb&w17kDzlHZKeinSBn?PRa)3cGvP&dX^Y{Lo!hbeUdoG&X{B%t^Ge zTTrR+uyv)-!R4P;7B(Cg22BFkG1*0)pmu&#>5Jft(bd6)FM0zOu>94*pJDkY`?`6~ zXAc>w2UL=8x{LzjE*)dzZ0ucXa<(q=M)hIqcKkqrRqzF14f-6PZV7#ErC;#AihiVQ zIF)UPIo=#51GdNNrt!>Tf|_^d5+>|`P89(mX9U}-FPP@ibuOM4R7lTe#mOC<@T%M% zLnzs&biL#Z5@T$pr`GdR5?v|k$*O6$`M>sPyPM1a0s$jnIME5HLjUoaSF9&R6)(F~ z)^D0EElgkc(Wz*E7C=pXZZr|8;Pp&v8@f#s$$+*hD7;vouHjvGp(=w`8L_i4!WYoHHI}PAZkQ)idM=rc*4tqc ztW|r#Ix==Vj=$ibUa&E)zyTV}UL!-7F*K&+Tqk~HsOm6V+1hV5dmlU8P*?QG1MGql zj6I)ra_4pYX~?W$&%|w&lRRC7PiLywKQ$6&8wuHLS;t}3T#n^xP3vzyt@HrYMOkQA zbq(j2>qm8UeTkB=D56nLfFU#py(Kttz|bs!Vz9n;zVNCdtWA-DR5uQ(K5*#UYtGqX z<~^Y~2yPB0Q=7?cOo09on-O@xbrG+ksXB%YP6HomyZs&{| zNtM{6LnAzg>pb8l*?%Aap0RPS2p_-LJ+7!Xp_?uh!!z~xq(#vOY*^pIS6jlmc+(Z< z;^h@nod58cLgCE&Txn2PLE)HSX#jj-4W|`A@jo29}P7)=1cT zCA@MESWCXL-oO_}hXVbfr}_`CIavtjz7l8-;M_-q< zxhE1ki|LM4fu;E7XrW2@xcDOl$gVq&jp6db(FNUOq7Dnw&r;~X?t_u59h(>ZWm&SY z(lrkCd?x;xvw`jAhdR#DBMrXVezVQ-7SKQtRR!FS#iTzyjv_Q_XXLv?KFIloTQ)xK z>kvg!$hqvo?}j_yk=t=5{b;$(xV&58v0V?Dr!3lRhtxnQZEhZ-97%eb7%HG6Omj}n zIKtov6c!**q+xKYwJEFcJ5_GS%>PUloj{=a9EtczAN5h{>6uUO`OVcj3n>?}uuS39 z+5}Q-rSm}*2XO{*QIaxqWXtcZqzZEREw6ez3o|$Dm~vjMP?Ab?z}*MC%*)_+?RY&< zv-SR3rT;7nN=;c&f!GxC)wb36kd{%;BazWi`=JDj70i(a-ZBG~*AK5#ERg+jGGYbS ztas-03XR&|wi7@n{C6SXj0dbPQQhnAKIs-JV#VNcvLc2MyVo$}i;&iHA5UbW)2H=#cVZcS>4BUA&DEJ-wImRN70$@KWD@+LpSOgK zg-TOnf{#-h^X&f`eD^}SMb{C=5A1mK)apwqTQF#7y{*jLNW9rTr-xbib+&LF>nfU%k&iy>p*PmZqu5h>_9IhejyIprVUET-RGk73~=aTm477GHTq@>GTog8SA iqW>Q|;(tbX*1^4B+eF|lzTYneKCaGGrwT{^_= 1 + local + s, ds: STRING + i: INTEGER + do + s := to_string (a_date) + ds := hour_string (a_date) + i := s.substring_index (ds, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ds.count-1 + end + end + + is_index_in_minute_string (a_date: HMS_DURATION; a_index: INTEGER): BOOLEAN + local + s, ms: STRING + i: INTEGER + do + s := to_string (a_date) + ms := minute_string (a_date) + i := s.substring_index (ms, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ms.count-1 + end + end + + is_index_in_second_string (a_date: HMS_DURATION; a_index: INTEGER): BOOLEAN + local + s, ys: STRING + i: INTEGER + do + s := to_string (a_date) + ys := second_string (a_date) + i := s.substring_index (ys, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ys.count-1 + end + end + +feature {NONE} -- Implementation + + format: INTEGER + + hms, smh, -- hours-minutes-seconds, etc + hm, mh : INTEGER = unique -- hours-minutes only + + hms_parse (a_string: STRING) + do + end + + +end -- class HMS_DURATION_FORMATTER + + diff --git a/jj_temporal/jj_t/formatters/hms_time_formatter.e b/jj_temporal/jj_t/formatters/hms_time_formatter.e new file mode 100644 index 0000000..104d4f8 --- /dev/null +++ b/jj_temporal/jj_t/formatters/hms_time_formatter.e @@ -0,0 +1,245 @@ +note + description: "[ + Utility class for converting {HMS_TIME}'s to and from + strings based on a selected `format'. While the string given + by feature `to_string' is set based on the format, the parsing + of a string to a duration in feature `to_hms_time' is more + relaxed. + ]" + date: "18 Feb 03" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + HMS_TIME_FORMATTER + +inherit + + ANY + redefine + default_create + end + +create + default_create + +feature -- Initialization + + default_create + do + set_separator (":") + hide_seconds + set_12_hour + end + +feature -- Element change + + set_separator (a_string: STRING) + require + separator_exists: a_string /= Void + do + separator := a_string + end + + set_12_hour + do + is_12_hour := True + end + + set_24_hour + do + is_12_hour := False + end + + show_seconds + do + is_seconds_shown := True + end + + hide_seconds + do + is_seconds_shown := False + end + +feature -- Access + + separator: STRING + + hour_string (a_time: like time_anchor): STRING + require + time_exists: a_time /= Void + local + h: INTEGER + do + h := a_time.hour + if is_12_hour and then h >= 12 then + h := h - 12 + end + if is_12_hour and then h = 0 then + h := 12 + end + create Result.make(2) + if h < 10 then + Result.append ("0") + end + Result.append_integer (h) + end + + minute_string (a_time: like time_anchor): STRING + require + time_exists: a_time /= Void + do + create Result.make(2) + if a_time.minute < 10 then + Result.append ("0") + end + Result.append_integer (a_time.minute) + end + + second_string (a_time: like time_anchor): STRING + require + time_exists: a_time /= Void + do + create Result.make(2) + if a_time.second < 10 then + Result.append ("0") + end + Result.append_integer (a_time.second) + end + + am_pm_string (a_time: like time_anchor): STRING + require + time_exists: a_time /= Void + do + create Result.make (3) + if a_time.hour >= 12 then + Result.append (" PM") + else + Result.append (" AM") + end + end + + to_string (a_time: like time_anchor): STRING + -- the whole {HMS_TIME} as a string + require + time_exists: a_time /= Void + do + create Result.make (20) + Result.append (hour_string (a_time)) + Result.append (separator) + Result.append (minute_string (a_time)) + if is_seconds_shown then + Result.append (separator) + Result.append (second_string (a_time)) + end + if is_12_hour then + Result.append (am_pm_string (a_time)) + end + end + +feature -- Status report + + is_12_hour: BOOLEAN + + is_seconds_shown: BOOLEAN + +feature -- Query + + is_valid_time_string (a_time: STRING): BOOLEAN + require + string_exists: a_time /= Void + do + -- parse the string + end + + is_index_in_hour_string (a_time: like time_anchor; a_index: INTEGER): BOOLEAN + require + time_exists: a_time /= Void +-- index_large_enough: a_index >= 1 + local + s, hs: STRING + i: INTEGER + do + s := to_string (a_time) + hs := hour_string (a_time) + i := s.substring_index (hs, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + hs.count-1 + end + end + + is_index_in_minute_string (a_time: like time_anchor; a_index: INTEGER): BOOLEAN + require + time_exists: a_time /= Void +-- index_large_enough: a_index >= 1 + local + s, ms: STRING + i: INTEGER + do + s := to_string (a_time) + ms := minute_string (a_time) + i := s.substring_index (ms, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ms.count-1 + end + end + + is_index_in_second_string (a_time: like time_anchor; a_index: INTEGER): BOOLEAN + require + time_exists: a_time /= Void +-- index_large_enough: a_index >= 1 + local + s, ss: STRING + i: INTEGER + do + s := to_string (a_time) + ss := hour_string (a_time) + i := s.substring_index (ss, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ss.count-1 + end + end + + is_index_in_am_pm_string (a_time: like time_anchor; a_index: INTEGER): BOOLEAN + require + time_exists: a_time /= Void +-- index_large_enough: a_index >= 1 + local + s, ss: STRING + i: INTEGER + do + s := to_string (a_time) + ss := am_pm_string (a_time) + i := s.substring_index (ss, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ss.count-1 + end + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: HMS_TIME + -- Not to be called; just used to anchor types. + require + not_callable: False + do + check + do_not_call: False then + -- Because gives no info; simply used as anchor. + end + end + +feature {NONE} -- Implementation + + hms_parse (a_string: STRING) + do + end + + +end + + diff --git a/jj_temporal/jj_t/formatters/ymd_duration_formatter.e b/jj_temporal/jj_t/formatters/ymd_duration_formatter.e new file mode 100644 index 0000000..3986a09 --- /dev/null +++ b/jj_temporal/jj_t/formatters/ymd_duration_formatter.e @@ -0,0 +1,192 @@ +note + description: "[ + Utility class for converting {YMD_DURATION}'s to and from + strings based on a selected `format'. While the string given + by feature `as_string' is set based on the format, the parsing + of a string to a duration in feature `to_ymd_duration' is more + relaxed. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_DURATION_FORMATTER + +inherit + + ANY + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + do + set_separator (", ") + set_year_month_day + end + +feature -- Access + + separator: STRING + +feature -- Element change + + set_separator (a_string: STRING) + require + string_exists: a_string /= Void + do + separator := a_string + end + + set_day_month_year + -- Set format to day-month-year. + do + format := dmy + end + + set_year_month_day + do + format := ymd + end + + set_day_month + do + format := dm + end + + set_month_year + do + format := my + end + +feature -- Access + + year_string (a_duration: YMD_DURATION): STRING + do + create Result.make(8) + Result.append_integer (a_duration.years) + Result.append (" year") + if a_duration.years /= 1 and a_duration.years /= -1 then + Result.append ("s") + end + end + + month_string (a_duration: YMD_DURATION): STRING + do + create Result.make (8) + Result.append_integer (a_duration.months) + Result.append (" month") + if a_duration.months /= 1 and a_duration.months /= -1 then + Result.append ("s") + end + end + + day_string (a_duration: YMD_DURATION): STRING + do + create Result.make (8) + Result.append_integer (a_duration.days) + Result.append (" day") + if a_duration.days /= 1 and a_duration.days /= -1 then + Result.append ("s") + end + end + + to_string (a_duration: YMD_DURATION): STRING + -- the whole duration as a string + do + create Result.make (20) + Result.append (day_string(a_duration)) + Result.append (separator) + Result.append (month_string(a_duration)) + Result.append (separator) + Result.append (year_string(a_duration)) + end + + string_to_duration (a_string: STRING): YMD_DURATION + -- Parse the string based on the current formatting. + require + valid_date_string: is_valid_date_string (a_string) + do + check + fix_me: False then + end + end + +feature -- Query + + is_valid_date_string (a_string: STRING): BOOLEAN + require + string_exists: a_string /= Void + do + -- parse the string + Result := True +-- !!! temporary + end + + is_index_in_day_string (a_date: YMD_DURATION; a_index: INTEGER): BOOLEAN + require + date_exists: a_date /= Void +-- index_large_enough: a_index >= 1 + local + s, ds: STRING + i: INTEGER + do + s := to_string (a_date) + ds := day_string (a_date) + i := s.substring_index (ds, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ds.count-1 + end + end + + is_index_in_month_string (a_date: YMD_DURATION; a_index: INTEGER): BOOLEAN + local + s, ms: STRING + i: INTEGER + do + s := to_string (a_date) + ms := month_string (a_date) + i := s.substring_index (ms, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ms.count-1 + end + end + + is_index_in_year_string (a_date: YMD_DURATION; a_index: INTEGER): BOOLEAN + local + s, ys: STRING + i: INTEGER + do + s := to_string (a_date) + ys := year_string (a_date) + i := s.substring_index (ys, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ys.count-1 + end + end + + +feature {NONE} -- Implementation + + format: INTEGER + + dmy, ymd, -- day-month-year, etc + dm, my : INTEGER = unique -- day-month or month-year only + + dmy_parse (a_string: STRING) + do + end + + +end -- class YMD_DURATION_FORMATTER + + diff --git a/jj_temporal/jj_t/formatters/ymd_time_format_constants.e b/jj_temporal/jj_t/formatters/ymd_time_format_constants.e new file mode 100644 index 0000000..7a30d69 --- /dev/null +++ b/jj_temporal/jj_t/formatters/ymd_time_format_constants.e @@ -0,0 +1,133 @@ +note + description: "[ + Constants describing how {YMD_TIME}'s (dates) should appear. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_TIME_FORMAT_CONSTANTS + +feature -- Assess + + Day_month_year: INTEGER = 0 + -- (e.g. "31 January 2004" or "31/01/04") + + Year_month_day: INTEGER = 1 + -- (e.g. "2004 January 31" or "04/01/31") + + Month_day_year: INTEGER = 2 + -- (e.g. "January 31, 2004" or "01/31/04") + + Day_month: INTEGER = 3 + -- (e.g. "31 January" or "31/01") + + Month_year: INTEGER = 4 + -- (e.g. "January 2004" or "01/04") + + days_text: LINKED_LIST [STRING] + once + create Result.make + Result.extend ("SUN") + Result.extend ("MON") + Result.extend ("TUE") + Result.extend ("WED") + Result.extend ("THU") + Result.extend ("FRI") + Result.extend ("SAT") + Result.compare_objects + end + + months_text: LINKED_LIST [STRING] + once + create Result.make + Result.extend ("JAN") + Result.extend ("FEB") + Result.extend ("MAR") + Result.extend ("APR") + Result.extend ("MAY") + Result.extend ("JUN") + Result.extend ("JUL") + Result.extend ("AUG") + Result.extend ("SEP") + Result.extend ("OCT") + Result.extend ("NOV") + Result.extend ("DEC") + Result.compare_objects + end + + long_days_text: LINKED_LIST [STRING] + once + create Result.make + Result.extend ("SUNDAY") + Result.extend ("MONDAY") + Result.extend ("TUESDAY") + Result.extend ("WEDNESDAY") + Result.extend ("THURSDAY") + Result.extend ("FRIDAY") + Result.extend ("SATURDAY") + Result.compare_objects + end + + long_months_text: LINKED_LIST [STRING] + -- + once + create Result.make + Result.extend ("JANUARY") + Result.extend ("FEBRUARY") + Result.extend ("MARCH") + Result.extend ("APRIL") + Result.extend ("MAY") + Result.extend ("JUNE") + Result.extend ("JULY") + Result.extend ("AUGUST") + Result.extend ("SEPTEMBER") + Result.extend ("OCTOBER") + Result.extend ("NOVEMBER") + Result.extend ("DECEMBER") + Result.compare_objects + end + +feature -- Querry + + is_valid_format (a_integer: INTEGER): BOOLEAN + -- Does `a_integer' represent a valid date format? + do + Result := a_integer = Day_month_year or else + a_integer = Year_month_day or else + a_integer = Month_day_year or else + a_integer = Day_month or else + a_integer = Month_year + end + + is_month (a_string: STRING): BOOLEAN + -- Does a_string represent a month? + do + Result := months_text.has (a_string.as_upper) or else + long_months_text.has (a_string.as_upper) + end + + is_weekday (a_string: STRING): BOOLEAN + -- Does `a_string' represent a weekday? + do + Result := days_text.has (a_string.as_upper) or else + long_days_text.has (a_string.as_upper) + end + + get_month (a_month: STRING): INTEGER + -- Number of the `a_month' + require + is_month: is_month (a_month) + do + if months_text.has (a_month.as_upper) then + Result := months_text.index_of (a_month.as_upper, 1) + else + Result := long_months_text.index_of (a_month.as_upper, 1) + end + end + +end diff --git a/jj_temporal/jj_t/formatters/ymd_time_formatter.e b/jj_temporal/jj_t/formatters/ymd_time_formatter.e new file mode 100644 index 0000000..3807521 --- /dev/null +++ b/jj_temporal/jj_t/formatters/ymd_time_formatter.e @@ -0,0 +1,397 @@ +note + description: "[ + Utility class for converting {YMD_TIME}'s (i.e. dates) to and from + strings based on a selected `format'. While the string given + by feature `as_string' is set based on the format, the parsing + of a string to a date in feature `to_ymd_time' is more relaxed. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_TIME_FORMATTER + +inherit + + YMD_TIME_FORMAT_CONSTANTS + redefine + default_create + end + +create + default_create + +feature -- Initialization + + default_create + -- Create an instance to parse dates in "dd mmm yy" format. + do + set_separator (" ") + end + +feature -- Access + + separator: STRING + -- The character (or string) placed between the day, month, year, etc. + + to_ymd_time (a_string: STRING): like time_anchor + -- Parse `a_string' + require + string_exists: a_string /= Void + is_string_valid: is_valid (a_string) + do + Result := parsed (a_string) + ensure + result_exists: Result /= Void + end + + to_string (a_ymd_time: like time_anchor): STRING + -- The complete string representation of `a_ymd_time'. + require + ymd_time_exists: a_ymd_time /= Void + do + create Result.make (20) + inspect format + when Day_month_year then + if is_weekday_included then + Result.append (weekday_string (a_ymd_time)) + Result.append (", ") + end + Result.append (day_string (a_ymd_time)) + Result.append (separator) + Result.append (month_string (a_ymd_time)) + Result.append (separator) + Result.append (year_string (a_ymd_time)) + when Year_month_day then + when Month_day_year then + when Month_year then + when Day_month then + else + check + should_not_happen: False + -- because format must be one of these + end + end + end + + year_string (a_ymd_time: like time_anchor): STRING + -- The string representation of `year' feature of `a_ymd_time'. + -- Will be shortened to two characters if `is_short_format'. + do + create Result.make(4) + Result.append_integer (a_ymd_time.year) + if is_short_format then + if a_ymd_time.year < 10 then + Result.keep_tail (1) + if is_zero_padded then + Result.prepend ("0") + end + else + Result.keep_tail (2) + end + else + if is_zero_padded then + if a_ymd_time.year < 10 then + Result.prepend ("000") + elseif a_ymd_time.year < 100 then + Result.prepend ("00") + elseif a_ymd_time.year < 1000 then + Result.prepend ("0") + end + end + end + ensure + valid_length_if_short: is_short_format implies Result.count <= 2 + end + + month_string (a_ymd_time: like time_anchor): STRING + -- The string representation of `month' feature of `a_ymd_time'. + require + ymd_time_exists: a_ymd_time /= Void + do + create Result.make (10) + if is_month_numeric then + if is_zero_padded and a_ymd_time.month < 10 then + Result.append ("0") + end + Result.append_integer (a_ymd_time.month) + else + if is_short_format then + Result.append (months_text.i_th (a_ymd_time.month)) + else + Result.append (long_months_text.i_th (a_ymd_time.month)) + end + end + end + + day_string (a_ymd_time: like time_anchor): STRING + -- The string representation of `day' feature of `a_ymd_time'. + require + ymd_time_exists: a_ymd_time /= Void + do + create Result.make (2) + if is_zero_padded and a_ymd_time.day < 10 then + Result.append ("0") + end + Result.append_integer (a_ymd_time.day) + end + + weekday_string (a_ymd_time: like time_anchor): STRING + -- The string repesentation of the `weekday' of `a_ymd_time'. + -- (i.e. "Sunday", "Monday, etc. or "Sun", "Mon", etc. + require + ymd_time_exists: a_ymd_time /= Void + do + create Result.make (15) + inspect a_ymd_time.weekday + when 1 then Result.append ("Sunday") + when 2 then Result.append ("Monday") + when 3 then Result.append ("Tuesday") + when 4 then Result.append ("Wednesday") + when 5 then Result.append ("Thursday") + when 6 then Result.append ("Friday") + when 7 then Result.append ("Saturday") + else + check + should_not_happen: False + -- because `weekday' ranges from 1 to 7. + end + end + if is_short_format then + Result.keep_head (3) + end + end + +feature -- Element change + + set_separator (a_string: STRING) + -- Set `separator' to `a_string'. + require + separator_exists: a_string /= Void + do + separator := a_string + ensure + seperator_set: separator = a_string + end + + set_format (a_format: INTEGER) + -- Change `format'. + -- The values are in YMD_TIME_FORMAT_CONSTANTS + require + valid_format: is_valid_format (a_format) + do + format := a_format + end + + set_show_weekday + -- Include the day of the week in the output string. + do + is_weekday_included := True + end + + set_hide_weekday + -- Do not include the day of the week in the output string. + do + is_weekday_included := False + end + + set_format_short + -- Abriviate the `month_string' (if shown as text) to three + -- characters and shorten the year to two digits. + do + is_short_format := True + end + + set_format_long + -- Show the `month_string' (if shown as text) to the complete + -- (unabriviated) word and show the year as four digits. + do + is_short_format := False + end + + set_month_numeric + -- Make the month appear as digits, not text. + do + is_month_numeric := True + ensure + showing_month_as_digits: is_month_numeric + end + + set_month_text + -- Make the month appear as text. + -- It may be full text or abbriviated depending on `is_format_short'. + do + is_month_numeric := False + ensure + showing_month_as_text: not is_month_numeric + end + + set_pad_zeros + -- Make sure the `day_string', `year_string', and `month_string' (when + -- `is_month_numeric') are padded with leading zeros when necessary. + -- For example, in numeric form "9 Jan 2004" may be shown as "09/01/04". + do + is_zero_padded := True + ensure + zero_padding_set: is_zero_padded + end + + set_hide_zeros + -- Do not pad numeric values with leading zeros. + do + is_zero_padded := False + ensure + not_padded: not is_zero_padded + end + +feature -- Basic operations + + save_format + -- Save the `format' for restoration later. + do + saved := format + ensure + format_saved: saved = format + end + + restore_format + -- Reset `format' to the value `saved' by a call to `save_format'. + do + format := saved + ensure + format_restored: format = saved + end + +feature -- Query + + is_valid (a_string: STRING): BOOLEAN + -- Is `a_string' convertable to a date? + require + string_exists: a_string /= Void + do + Result := parsed (a_string) /= Void + ensure + definition: Result implies parsed (a_string) /= Void + end + + is_weekday_included: BOOLEAN + -- Is the day of week (ie "Monday") in ymd_time string. + + is_short_format: BOOLEAN + -- Is the year two digits instead of four and + -- is the month abriviated? + + is_month_numeric: BOOLEAN + -- Is the `month_string' shown as digits? (As opposed to a + -- textual representation such as "January".) + + is_zero_padded: BOOLEAN + -- Are digital values to be padded with leading zero's if + -- shorter than normal? + + is_index_in_day_string (a_ymd_time: like time_anchor; a_index: INTEGER): BOOLEAN + require + ymd_time_exists: a_ymd_time /= Void +-- index_large_enough: a_index >= 1 + local + s, ds: STRING + i: INTEGER + do + s := to_string (a_ymd_time) + ds := day_string (a_ymd_time) + i := s.substring_index (ds, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ds.count-1 + end + end + + is_index_in_month_string (a_ymd_time: like time_anchor; a_index: INTEGER): BOOLEAN + require + ymd_time_exists: a_ymd_time /= Void + local + s, ms: STRING + i: INTEGER + do + s := to_string (a_ymd_time) + ms := month_string (a_ymd_time) + i := s.substring_index (ms, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ms.count-1 + end + end + + is_index_in_year_string (a_ymd_time: like time_anchor; a_index: INTEGER): BOOLEAN + local + s, ys: STRING + i: INTEGER + do + s := to_string (a_ymd_time) + ys := year_string (a_ymd_time) + i := s.substring_index (ys, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + ys.count-1 + end + end + + is_index_in_weekday_string (a_ymd_time: like time_anchor; a_index: INTEGER): BOOLEAN + local + s, wds: STRING + i: INTEGER + do + s := to_string (a_ymd_time) + wds := weekday_string (a_ymd_time) + i := s.substring_index (wds, 1) + if i > 0 then + Result := a_index >= i and a_index <= i + wds.count-1 + end + end + +feature {NONE} -- Implementation + + parsed (a_string: STRING): like time_anchor + -- Attemp to convert `a_string' to a {YMD_TIME}, returning + -- Void if unable. + require + string_exists: a_string /= Void + string_has_length: a_string.count >= 1 + local + p: YMD_TIME_PARSER + do + create p +-- p.set_format (format) +-- p.parse_string (a_string) +-- Result := p.last_value + check + fix_me: False then + end + end + + format: INTEGER + + saved: INTEGER + -- used to save the format. + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: YMD_TIME + -- Not to be called; just used to anchor types. + require + not_callable: False + do + check + do_not_call: False then + -- Because gives no info; simply used as anchor. + end + end + +invariant + + valid_ymd_time_format: is_valid_format (format) + +end + + diff --git a/jj_temporal/jj_t/formatters/ymdhms_duration_formatter.e b/jj_temporal/jj_t/formatters/ymdhms_duration_formatter.e new file mode 100644 index 0000000..3a6dcb2 --- /dev/null +++ b/jj_temporal/jj_t/formatters/ymdhms_duration_formatter.e @@ -0,0 +1,68 @@ +note + description: "[ + Utility class for converting {YMDHMS_DURATION}'s to and from + strings based on a selected `format'. While the string given + by feature `as_string' is set based on the format, the parsing + of a string to a date in feature `to_ymdhms_duration' is more + relaxed. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMDHMS_DURATION_FORMATTER + +inherit + + HMS_DURATION_FORMATTER + rename + to_string as time_string, + set_separator as set_time_separator, + separator as time_separator, + string_to_duration as hms_string_to_duration, + format as hms_format + redefine + default_create + end + + YMD_DURATION_FORMATTER + rename + to_string as date_string, + set_separator as set_date_separator, + separator as date_separator, + string_to_duration as ymd_string_to_duration, + format as ymd_format + redefine + default_create + end + +create + default_create + +feature -- Initialization + + default_create + -- + do + Precursor {HMS_DURATION_FORMATTER} + Precursor {YMD_DURATION_FORMATTER} + end + +feature -- Access + + to_string (a_duration: YMDHMS_DURATION): STRING + -- the whole duration as a string + require + duration_exists: a_duration /= Void + do + create Result.make (30) + Result.append (date_string (a_duration)) + Result.append (" ") + Result.append (time_string (a_duration)) + end + +end -- class YMDHMS_DURATION_FORMATTER diff --git a/jj_temporal/jj_t/formatters/ymdhms_time_formatter.e b/jj_temporal/jj_t/formatters/ymdhms_time_formatter.e new file mode 100644 index 0000000..1fd19aa --- /dev/null +++ b/jj_temporal/jj_t/formatters/ymdhms_time_formatter.e @@ -0,0 +1,126 @@ +note + description: "[ + Utility class for converting {YMDHMS_TIME}'s (i.e. date/times) to and from + strings based on a selected `format'. While the string given + by feature `as_string' is set based on the format, the parsing + of a string to a date in feature `to_ymd_time' is more relaxed. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMDHMS_TIME_FORMATTER + +inherit + + HMS_TIME_FORMATTER + rename + set_separator as set_time_separator, + separator as time_separator + redefine + default_create, + to_string, + time_anchor + end + + YMD_TIME_FORMATTER + rename + set_separator as set_date_separator, + separator as date_separator + redefine + default_create, + to_string, + time_anchor + end + +create + default_create + +feature {NONE} -- Initialization + + default_create + do + Precursor {HMS_TIME_FORMATTER} + Precursor {YMD_TIME_FORMATTER} + end + +feature -- Access + + to_string (a_time: like time_anchor): STRING + -- the whole date as a string + do + create Result.make (30) + if not is_date_hidden then + Result.append (Precursor {YMD_TIME_FORMATTER} (a_time)) + Result.append (" ") + end + if not is_time_hidden then + Result.append (Precursor {HMS_TIME_FORMATTER} (a_time)) + end + end + +feature -- Status report + + is_time_hidden: BOOLEAN + -- Will `to_string' not include the time? + + is_date_hidden: BOOLEAN + -- Will `to_string' not include the date? + +feature -- Status setting + + hide_time + -- Make `to_string' produce a string showing the date only; + -- the time portion will not show. + do + is_time_hidden := True + is_date_hidden := False + ensure + time_is_hidden: is_time_hidden + date_is_shown: not is_date_hidden + end + + hide_date + -- Make `a_string' produce a string showing the time only; + -- the date portionn will not show. + do + is_date_hidden := True + is_time_hidden := False + ensure + date_is_hidden: is_date_hidden + time_is_shown: not is_time_hidden + end + + show_date_and_time + -- Make `to_string' produce a string showing both the date + -- portion and the time portion. This is the default. + do + is_date_hidden := False + is_time_hidden := False + ensure + date_is_shown: not is_date_hidden + time_is_shown: not is_time_hidden + end + +feature {NONE} -- Anchors (for covariant redefinitions) + + time_anchor: YMDHMS_TIME + -- Not to be called; just used to anchor types. + require else + not_callable: False + do + check + do_not_call: False then + -- Because gives no info; simply used as anchor. + end + end + +invariant + + not_both_date_and_time_hidden: not (is_date_hidden and is_time_hidden) + +end diff --git a/jj_temporal/jj_t/jj_temporal.ecf b/jj_temporal/jj_t/jj_temporal.ecf new file mode 100644 index 0000000..5ab13c6 --- /dev/null +++ b/jj_temporal/jj_t/jj_temporal.ecf @@ -0,0 +1,25 @@ + + + + + + + + + /demo$ + /.svn$ + /.git$ + /docs$ + + + ^/parsers/gobo_files$ + + + + diff --git a/jj_temporal/jj_t/parsers/classes/ymd_time_parser.e b/jj_temporal/jj_t/parsers/classes/ymd_time_parser.e new file mode 100644 index 0000000..75c958c --- /dev/null +++ b/jj_temporal/jj_t/parsers/classes/ymd_time_parser.e @@ -0,0 +1,10 @@ +note + description: "Summary description for {YMD_TIME_PARSER}." + author: "" + date: "$Date$" + revision: "$Revision$" + +class + YMD_TIME_PARSER + +end diff --git a/jj_temporal/jj_t/parsers/classes/ymd_time_parser_routines.e b/jj_temporal/jj_t/parsers/classes/ymd_time_parser_routines.e new file mode 100644 index 0000000..27cde0e --- /dev/null +++ b/jj_temporal/jj_t/parsers/classes/ymd_time_parser_routines.e @@ -0,0 +1,130 @@ +note + description: "[ + Routines used by the {YMD_TIME_PARSER}. These were put here to + ease the editting. The text of class {YMD_TIME_PARSER} is produced + by "geyacc" from a discription file, so every time a change is + made "geyacc" must be run (from a dos prompt), the files moved, etc. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class YMD_TIME_PARSER_ROUTINES + +inherit + + YMD_TIME_FORMAT_CONSTANTS + undefine + default_create + end + + YMD_TIME_SCANNER_ROUTINES + +feature -- Access + + format: INTEGER + -- How the date should appear (i.e. "dd mmm yyyy", "mm/dd/yy", etc + +feature -- Element change + + set_format (a_format: INTEGER) + -- Change `format' + require + valid_format: is_valid_format (a_format) + do + format := a_format + ensure + format_was_set: format = a_format + end + +feature {NONE} -- Implementation + + process_ambiguous_day (a_possible_day, a_month, a_year: INTEGER): detachable YMD_TIME + -- Return a date if `a_possible_day' is valid for the know values of + -- `a_month' and `a_year'; void otherwise. + require + valid_month: a_month >= 1 and a_month <= 12 + valid_year: a_year /= 0 + local + d: YMD_TIME + do + create d.set (a_year, a_month, 1) + if a_possible_day >= 1 and a_possible_day <= d.last_day_of_month then + create Result.set (a_year, a_month, a_possible_day) + end + end + + process_ambiguous_day_month (a_possible_day, a_possible_month, a_year: INTEGER): YMD_TIME + -- Only the year is known; determine which of the other two values is + -- the month and which is the day. + require + valid_year: a_year /= 0 + unknown_day_from_scanner: a_possible_day <= 12 + unknown_month_from_scanner: a_possible_month <= 12 + do + create Result.set (a_year, a_possible_month, a_possible_day) + end + + process_ambiguous_day_year (a_possible_day, a_month, a_possible_year: INTEGER): YMD_TIME + -- Only the month is know for sure. + require + valid_month: a_month >= 1 and a_month <= 12 + unknown_day_from_scanner: a_possible_day <= 12 + unknown_year_from_scanner: a_possible_year <= 12 + do + create Result.set (a_possible_day, a_month, a_possible_year) + end + + process_unspecified (a_day, a_month, a_year: INTEGER): YMD_TIME + -- One of `a_day' or `a_year' was not specified in the scanned string. + -- The unspecified one will be 0. + require + one_zero: a_day = 0 or a_year = 0 + valid_month: a_month >= 1 and a_month <= 12 + local + d: YMD_TIME + do + if a_day = 0 then + create Result.set (a_year, a_month, 1) + else + create d.set_now + create Result.set_now + Result.set_day (a_day) + Result.set_month (a_month) + if Result < d then + Result.set_year (Result.year + 1) + end + end + end + + process_three_numbers (int_1, int_2, int_3: INTEGER): YMD_TIME + -- Scanner encountered a three-integer date and was unable to determine + -- from the context what any of them mean. + require + int_1_is_number: int_1 >= 1 and int_1 <= 31 + int_2_is_number: int_2 >= 1 and int_2 <= 31 + int_3_is_number: int_3 >= 1 and int_3 <= 31 + do + + create Result.set (int_1, int_2, int_3) + end + + process_two_numbers (int_1, int_2: INTEGER): YMD_TIME + -- Scanner only found 2 numbers and unknow what they represent. + require + int_1_is_number: int_1 >= 1 and int_1 <= 31 + int_2_is_number: int_2 >= 1 and int_2 <= 31 + do + create Result.set_now + Result.set_day (int_1) + Result.set_month (int_2) + end + +invariant + + valid_ymd_time_format: is_valid_format (format) + +end -- Class YMD_TIME_PARSER_ROUTINES diff --git a/jj_temporal/jj_t/parsers/classes/ymd_time_scanner_routines.e b/jj_temporal/jj_t/parsers/classes/ymd_time_scanner_routines.e new file mode 100644 index 0000000..e117b12 --- /dev/null +++ b/jj_temporal/jj_t/parsers/classes/ymd_time_scanner_routines.e @@ -0,0 +1,69 @@ +note + description: "[ + Routines used by the {YMD_TIME_SCANNER}. These were put here to + ease the editting. The text of class {YMD_TIME_SCANNER} is produced + by "gelex" from a discription file, so every time a change is + made "geyacc" must be run (from a dos prompt), the files moved, etc. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_TIME_SCANNER_ROUTINES + +inherit + + YMD_TIME_FORMAT_CONSTANTS + undefine + default_create + end + +feature {NONE} -- Inititalization + + default_create + + -- Create an instance + do + end + +feature -- Access + + last_string: detachable STRING + -- Last string value read to pass to parser + + last_integer: INTEGER + -- Last integer value read to pass to parser. + + last_value: detachable ANY + -- Last value read by the scanner + +feature {NONE} -- Implementation + + comas_removed (a_number_string: STRING): STRING + -- Return the string without comas. + -- Used to remove comas from reals or strings. + local + s: STRING + i, n: INTEGER + c: CHARACTER + do + create Result.make (200) + s := a_number_string + n := a_number_string.count + from i := 1 until i > n + loop + c := s.item (i) + if c /= ',' then + Result.append_character (c) + end + i := i + 1 + end + end + +invariant + +end -- class YMD_TIME_SCANNER_ROUTINES diff --git a/jj_temporal/jj_t/parsers/classes/ymd_time_tokens.e b/jj_temporal/jj_t/parsers/classes/ymd_time_tokens.e new file mode 100644 index 0000000..26294eb --- /dev/null +++ b/jj_temporal/jj_t/parsers/classes/ymd_time_tokens.e @@ -0,0 +1,49 @@ +note + + description: "Parser token codes" + generator: "geyacc version 3.4" + +class YMD_TIME_TOKENS + + +feature -- Last values + + last_any_value: detachable ANY + +feature -- Access + + token_name (a_token: INTEGER): STRING + -- Name of token `a_token' + do + inspect a_token + when 0 then + Result := "EOF token" + when -1 then + Result := "Error token" + when SCAN_ERROR_TOKEN then + Result := "SCAN_ERROR_TOKEN" + when WEEKDAY_TOKEN then + Result := "WEEKDAY_TOKEN" + when YEAR_TOKEN then + Result := "YEAR_TOKEN" + when MONTH_TOKEN then + Result := "MONTH_TOKEN" + when YEAR_OR_DAY_TOKEN then + Result := "YEAR_OR_DAY_TOKEN" + when NUMBER_TOKEN then + Result := "NUMBER_TOKEN" + else + Result := "Unknown token" + end + end + +feature -- Token codes + + SCAN_ERROR_TOKEN: INTEGER = 258 + WEEKDAY_TOKEN: INTEGER = 259 + YEAR_TOKEN: INTEGER = 260 + MONTH_TOKEN: INTEGER = 261 + YEAR_OR_DAY_TOKEN: INTEGER = 262 + NUMBER_TOKEN: INTEGER = 263 + +end diff --git a/jj_temporal/jj_t/parsers/gobo_files/gelex.exe b/jj_temporal/jj_t/parsers/gobo_files/gelex.exe new file mode 100644 index 0000000000000000000000000000000000000000..73ef35709d8252d8ebc9aa84d651fa9511533ee5 GIT binary patch literal 253952 zcmeFae|(h1wLiX_JS0olunTNp(V(%$if+Wn4^7;l8wg224EaHJQ6Ql$wK10}(p>>f zHsB_@PliR>Qh(g4m4f%$*50DEUi_U9Oah_;Dq_JOZMA)HQDaewsO=ItFQfD199Uut(;{t%{8Z*#ya-Qh`)Q=WHXO2r)QX!prsr1x8qarY{&C*w%(&Z z112B%7yp(|%!fbblo=(Af5v;`OQvpnBGoieKK)uj9$v8RmBu%|;(s16WRjlERB{>Kb|7Dl@r|$e zp9d-N=Wo8h;lMW>_=W@DaNrvbe8YinIPeVzzTv<(9QcL<-*DjnZ4PYO`rb^Fcgm-2 z9l^6}#G+iQPc-E^Hs$P{Y4X*?99w02XoscL-Pd%ueqmkL?!kXD9mr?tG{#HJMpL6@ z2=3qN8jjpH)6~%0Gt;C+{*q#9*pUE(07EZ?DI_;_z`+v&g3>uWv-dF{fV>u`6sxW)WjYie)A+AfN2 zQ42kxPQ~3FJX&AZg-i})vb(#R#tzO@9y*Ln&CE2=W|ogKtnSVhJF+XTUSFi>mf|TL zM}Je#Y-5JOP0dBB02*fi8;zPGwR{)ZL&vZo5TvMxL7T^)#L6A9#wBr z25O@BYCGyv)Uq;7;&c_oZp^Sf)-l}#PB*7*OCh_bn@nZ`@WDtRhXA{DL(dV3LGObyCZF#8oZO`iOhB|V()_nFMUfcM( z8n632tFH)k*zx)pUZ?Z58?XC4tEYxKEO`AnUZe0et8?-C3(x8ap$-MFzr<@abj|8a zyguPsofhgy>6+3pSUh%<-_zHiny56{g690&Z6n7(&kl8SA^YAMDM?2!G@XS(XBWM- zVp*=$^^!Mrmk22Bj7|5m0y&gAHYuWL)~=?1$($ax49Dc0+W;??1ov_0xAAdmX)y+UedN z92N!Wx=8|nkvei z7?QO$wc>ikEB@~Ki2AO5?!^CF{VD=a)h%8aFH?@+S`H{{q1WjPj*y+CmO9i@CkN89 zTxX;>7P%>w`T~cUy~!>rz*}=_Z@IfC>^QHvuYPa?_3@=}e6^Qk#30%hNiwywtLQB} zlaqY@5YOZ!pO4|0oW%1ZpI^G?^p0Z(LLFeG9Pf}HSv{XvrL@n#Bo>AuXOC5BqrQyA zLOYZ-#}mDE(VF9l-a2Q^@kDQpUvoUsTbWaKKK%KmyNv#d%)KZU@tWOxTP|?zDvtQa z#l&9QV2gZ;u-T!V9mUtQ?QBjBb$UAAPP09`GqtmHPT){t7*n1&4|v52r<^)P zuj?iEN5K)Y8`U`ub&gZ4fJTNQ99tt|P!HnucB|R-R@j>AfiC=Dp_pNJ_0+2~>{QuO zuBYsC9}i@cbYZ1Kt+dCfl{?gOr&?*L?~*Km3Uv23PjZ*q1H;syJvu56MLZ5J+7u5TGByq0iJ*$R|E|ILuNbIK;o$7W zRoZ>XyNPlIc9w6J0@e`ks{FyZMbF)j%dY>dtwa3XKfF@=j$V-HZtKAK@5l)CLl~Zx z!q8R@VKC%xT)Z!b5R41%_ui6Hh;e5ijFkmbc90fw+RFhn>5~Is>5eJK2PKGK0Xsp z^O)x1(}d4M__$B^n3myl4?Zv8a{`}9*&b6pJ{$1qz=sMCQy1-VsNEYBSdLQ;x?cPSq!yL)tp`gY|2S#Kz`Q7| zv;dWPa?Xx~J`oDP}uRV7*%1yD+7MD_Oo;i6R0~)oWF~iaHh(l0Khv z$z!Y!u<{vLA6Vn-1FJg2+EZ+W>KwX0C_#HY76HN_;o2qaLTN|CMWuojqx(hwX!m~q zX=;_C&au#lUT&%D!W)aaf*_t>^rxve=HsO#!k z!*5J9@00Y*6be7G$aoUjPtvY4B2ROcTQ!&hH_pD)I{8MFR=$=qS zI0qEmvX%afo;8F}bWCg@NAy;?_xdNZCXlWcW%ABw%ERW+@e_WfZC}vdy3>yuF)wQz z1qD9q6v$e)2QYB+ZB?F^W$+w<0$QSA#Tf?SFN`X-^ znKKDBCaJ_r)Z0s9pU5ui76xR0Hq0f|+=f`p*y=Qw&SnQxfx?qH3vH z+@MzFi-*@S`C@T*nBPUWiqi{Ao>ZPN15)9#^3N7`%N(bRhc__CW#Zwxn6@a_Y2cjR z_Nh>A^Jh+f4MqHRj94NP2G+bE4NJFkNj9c zE)1j?o&&C>#4U628dKT?0ex;7T7>_cNd&6WP3;Q68=Pk3{xpw+6i@9s-6iPBtA;k+BlEwxvaW{=s-GI~mL!DysH&*rvc z)f{$MVx_r*w6igvG@8BI)BB}`gq2+2+=g(%3H#?4QcT{4h6KD1aA=3)@cj2+S#Nl4 zCc3F-Skqr-nns|ko?#w5@lT!BcW|c3e~nM{3y-J4^lgvHyP4Uw+EbTvlPsq^QBI># z&XL0?hdyewe1xwtMY{qounrWNEVRm}o&IWyNxKm*;U{i-Dd8uM>mT~GEwD5~pJ({| z4s`;t)M>1yUd3p}CcfItH)1+#=sw}URF>%O7V|u6Cf^0mil#+=&W4FB=^AfLi8&rg z_Kp9o#;0v~1yzY^vML|Fs8>Y}>tf8W7s-{q@LAk@0_TX?N@PZi^EZThwD7^DV!zY@ zv#mV(0ahEs>g%?eyXxyEcgTgl1*>N$m25fRmnvMSwwsHJSELnPy)s3~nG-e#w0O7H zc%_vhRw|PZ>Yk)-+hg|7@tl>TZIAtA!9*yP+@DqAtJo9$YkSGaSaFfdpH_51ApQ4d z35pg=UcT)a_+Z>GwVbn|eg4SUn&bH^9BYmjuC%RrFF&HJu|2bI@7u2J(G>AgvHPVU zoFT0TF@ldB=n}Ed&h?nS#K&Yd{^-3-0P&Y*bCN&b3eQ_pu5ZPk# ziU9a;4;_&%H>dkETVx;mu+!D!S(Pp|aWvh~$ZZ|9LbI)Z80nN5r&sUqh;kvUvL?~z z`oz^+40ULStJ>i{)^wF24`V{d=SPYrwWN!gc42{eeg)mn%ENr^cpB88Q8VDC8LbvQ z9CFW>$*Pj!`UF}1xw#dnc&@vz`F~MSxep=wOJ~Q63EYXd6WiWz8ZMsGYdbtL%dF2J zSfy&V+ZSV2s$00Y9wS1ZQh0j~B z@A=z5;h%?pwx%}Gp+XB*unWA=H1u({h`GOPE<)E9+hMp*-3BI!`P&rt{^l{NW1BF; z4IAp8FH%(hHgs;8`^%=649A> zrN^2qJ+H(I(52_OLDD1XD>Y&P2Jmu4R9M>%+BSBz?X+#&-ntJQ-O~S*(e`OjN!=e!aqSnyMQT+xSf*^4vJV=!*h#^%wXTSKOeNgmvTKQldsFYOxcg4e|)f z{?JulnZ@Jo3yc=?>}nY{q$n2ks`Zw-E=)f@?d-q8pe=KTc0fYGopJ@cVoI@E&ebCt z@`3Q#MT&v5HLmUS`O9w5R}A`AwM;pQ{*=FyzT+Rzw|*6Ute5q*U&K++J_A1OFoZ6? zLof+$?f3=(yxPY8fD=w_V|ze%IQJS3=h^;-*?z0ftDUXSW6=vJ!IfGGns0k71IEB9 zea~<_!~LAvDS9`(BPZQ}qi5LLc#5IVdxr5HhqODB?`*&5IMI7{r?e!hVDQP&D8Tc2 z`;__T@0Q=U?bCi7S*m zPq?Ho#+q~y${7UN2SJtul&2tX0ur%O(6Zul8a@;8xfq|gJpu`ai>2IuZMh#)SgzIf z80>yLSPqZI$d?cnpqZjGQPpTBc2g5jISphEDu++pgzD<850_jLTb;~-8RS5H*qSDH zm=#f_ki+dLCk*Q$iOD2I`PS{rGht<&-tZtCrj_ueG@2{5dwb;4-0+PcBWPIZ&9|li z@T~bPLoHPT5)V30N9B_K`-AWX#w+_%RLU*%wtelRYTB(=w7{;aaVS#_qUmYQ`oHEUPv&cH~rqOw}M>U}AW1M^>~&CY-i|ficA@>WR7BKiqf- z9Gl^OEx2#-!g{qr_X&lL(6MG0Rr)p?eQJAPJ}B5!x2oW^Z5@|e`iz_#<-S~wm~Dq6 z%o?IbK$(|_y{=cqM7d&Xw6wi1=QjTZ7;bh{a+Yh?+7rJ532Kd&;i#cCEX>h#-H&Ht z*{UMIC~m1c;jcoWj^JJBnjA_TW^3%=*M)XiyVM)>@Ayd2zk#K+S52syjQD}peg2Gv zvfr*jzoE-4a7c}2bzuuWLcI$At{UPI3YEFuDiCnp@rb>JEdATNH2NW!h z1sb|%#mpj$3xde3ZE`t-*J^Elz$pS2Q8BejbM7F9qSoc9byl@*qP~#m61DxR#0#Dw zi+1Y8HkyY-$!K*8#k-5U8Z)$#qp=vpo<61H(%!(N!g{#P>(%?{#Zhmi3kI^nB>$LDZ>(N_rQXV9Bp@TRBw)!e zX+Qhd792tfoYZR7lAhusJe%ULvQ;=vswT!kSUh?0XNOwl!NBm?)#6G+$6|cSCOAc@ zUs&2bIjtR{wA^p@h`I&BJ5f|DP5q<$b-Ge)k%K4&rgOy-EDvpuIYzYY3#3agOw=aU zZ$u(EIt+^o$B)G`(xY>E#M;KHg^CJI@Hv$>sCD_`8R@IJT;$orebS+Gx^%#(SYr9T z;#TRwF^OlS2Zyuwtunuf<5t`%5u9x?^d=nj7Qa>Z=nNA!mWmnJC{g5{r@M7t;nGc5 zZxgpt&tTz{gYXOKJ~U+;WXv3N^~i-i7zz2{!C}&GJLvVR{G?Qc>8%8;;Pa9|Zu8uNYH9{Cz}B#gJN_--zz4fOJHe+EJ$Ds&p6 zCwWVki>O#`TQ6AJnD5ov2Z%RbJf;irnTyZ0_}q%mW_(7X_7m{Q!^e%! z9DJ_Arvaap_}q#Q1y;@{YcIPWZEiVpljFcl6Repk?OoZSN*#n)VPwMLF__3;;L#q0 zwHLSRssW%NEqRO`pg zEHeE&AY1(~T(ef;Nv%}ivgHHzezVr#A+!T~lW>&;#}=-%vIbtwX4IfeQCC{qKJ6)! z#(D5tA{`>&2=%99sd+_>x)Qdya%F9Gqp4C`_X-u9gDsVgA;Vs>x=SrB@RkR%8qJM4 z+GD5@_|#Ks&4J)Y$0BCeMTWVwu&??I7Hwp*{3#J7NdLEZR$;5XKHDBtEEqs59My8xit8-c`hUy) zLQ9G`?Cx($5j`$#7FIm#e+#L=Bz`t&YPQJl0Y=JW?!zL@cKd$;aJ>*Ida(HLPw^yXx4%nrcn#g|L?@p&fR&*4$ivjkKjomDD%f2bw37R86H$|0Gf z%vKH*CxtdHPqHiA{lRe*jsHF#i$N+dBIY3?Q1$^7{h3(6N6KOdTu#yB_bg3T$;!2_ose{(xAyQ+m_CXP8Z({H_Lfu&)C0a4ipi0zyD1tlTGo=6sj#Wd9Jfcwg{aj@Qs-roe@b7VUSRk}=u) z&@N1xIrv7+>|l#(!R*P2y42E>#zk>m7iT1(G!Z3BqS#?-5oLZZ!iE*qj?8q7rvcR? z$2`lE_LV)pYxol6hHG9r-Bp|#saG29+If;>9!d3y7u8Xl@>!u`2-Z|SR9Q9^;Jd~P zx14sb979%hC8iuHW!^@srhUR@Onj9D*pNItv2QW+iOhTe)m{$98>9_t72U}?2E*H~ z{kJ5b*MJ0M1t=V{0yHRC1NIuXUP^MEm9EYz5A6N_;gEpGxY3LnX-hyRw8M$rhxqKm zcrxmbQWjw754%<%i(B^!NG9ZQ10X4n8}X2k$NQkM67py!TGkq($??}p6pp_z9==K* zQM^U#`52h}n{p}h>EIN;8_f;e@mJ?5+Gk9Kp{J(zlqr1Kh)@B$_7fe+(}D6{Q&U7{ z37*tB%BFID<^v{O*i1|G@u`p;@K%_^7FKtLn1Td!N`Cz-xdYQ{w^JLENvrs>}A+o@$@A9D6)qj(k&R)SdE|t#xyA>HzXPDj&xQ9Md!N z(IevXnxhYBLbp$`7t_T7HNbxuhp>O@uqo+&zIhs=+Qv1SYqZ^<#15eMk==k%2whiG zRjF-th1-?f_>BOm{=YjH5>khPiSflJ}d)yk89pC3%yU$!5J(- zBm(5$U1kpqr^uI#k3~lzzN7<#sM4ohi>U~fBV;Nv^|92y&%83QukF*t%_+zB*F$$E z&F$3hQeJ8?j^2P{2w`F6egp2T zS9PoVtI$^rpo0@$1?U%G{1=B_in%_=ens5t_2Hl+81sf6!RWdBSs8~PbH9os7_Z4A z7+Jd4Yt39ZH(r3(%d6$e$pT(4uT}`>1&5War=A-3Pr+ex`pK#K`3g%T{5M~|a}w?@ zIp8dfaOb>ra_U1yD!eJwFuCLn56|(KUc%>nd`4X1F`b7`89v{~ zCxp)?e5RtzXOaE}KA+<=9`7!}rxu?d;qzmBDC_)-yR=}1je-ji^CtHF?4lHY6~(=$ zyEI#Fp`^*_2n$0TXS3*ADE9VJYuGz142}#~$GUxltw8QXc^Q;&19noNFD%vCPb3GB z8%b_hjqc@2U<%5!gf26C0~y*+b3wN_HqwBg#c`K>pySMLn2OYh zNv5I|*j2>Nl-PR^JD(}BaXc+kV$YFkkyfKsU8OK$W3b_hgj3$MCrsHlOqX#ce)m@6iV|3(-u{YZ)DbjN;ZSYjKryr zpuarWQJgIg1`J<&Tw?Qd0CqSs5Q~R!Gn^=RL!2LKx)%ZUDY0~h!3z16=pWkeA0kLnWZuKhfQ@=T`|0cK_os-GB~f6%OO$_Tzcai8 z7IK>`=^d5;a~D#WEe^0ujb+nPKEelD%6;+;=F=Wmx7SlyqqTFGETgXiVQuPSON$5H zXZbZX2DhFUimZ=GR+_Z^M5cg!As?`w#7xTb6~o1T*UP2ASAHDqsMWkLg60pcm~TZb zHeE={wSCnH%!lyrSakmmW|g>a_-wiJGC{_3Bztn9(n{Ua82#DwH#mp$_a|+<7)+11 zAJH@-vy!$qwxH0QY<;OQpEfw#zkm;H|03r3-1Q}@R0h{nrB%I-rcyAM-l@^_j;MNM zj&z(wGu>}+&-D)-oF^18*Fnp)(&BzOm?B<=TtYvli07~@oQPxZIPX2r!sVfU#>9HJ zxGw%Y$>ZLx&b`+Ze1o&J^i{G6M*W{dNR7z+xB71vN7~T-D}ONFf1ZD*|L)i=n=7Z( zcqbX#V|oCr;c6e!LASqhQU`^OIG`1>We8oPy}KmW#<+2Z_6lMNMOH35Ltj)*WCw9k zna2k#D)Z$FdhT*LR&LwnWz3br8 zo&(2;hs1jKf57*|dUq7jvJ|38rvrLP1;1}$a)1; zX6zhy}KS<4{Y%J!%b^L}8 z%V=$_$y=@c@>S%Jt&KO;V;6R{s6DB*yLX@5-&d3JDcZXNQ>fnF0$KLI*WX|K`Co3Y z?C%{CZ#mkj_qShmGlznFIAwp|4|V%>{VnYg{k&jWcj-Bda4Ss?CR)_1Pi#YiiCR1K zaH4SOIe}sA+ry<7878QtCvJTT>JrB<3)Wsv>&e%WuATilj+PD6vhjt9vPRsu8ws!^ zqJKgqv%=I8`oLL7HNktzxQy>7SoEjHv&u38tOl>(0}d*+RZqklp!2z zebw4XP{;BCvflc*o)7WjCjx&Q@aK79cCBKObT0O7`hsIIO=OzjWt`H1MQHmieW(`{ z$x(fSXt1{t{te(4oEjh4G~cFl7&Nf-;`wqc#gm9&FIVe-8|5P>G^`bB?T$kz5f-TQ zdw@6Yy-hj3#CeiuWNM35TrP@khu;G(+TeTj;#R({)FNmmPzLOO`itz^9V{Vp3AKv! zs4itQsZ|>IK&`TjX}DWRcZlZ1C(e5*+D({I7v)Y=SK7so^vh~EjrKL2QH%4yadnDt z>+@W&gh%6&3f21S;9s#>3EzU@fBKQaYS;#lU!dm-;4LqO>Z4 zZ=r;~P0|kBPoL;~@&i6mY5vhCx(F{K|6vAC+up~SYU~JufJrw1uagE~tri9qST-;K zuT!F#Z3k%pKKhvK2sHXMmeH@5A^onWEF)0>ysa#to)+fyMgiv<1*EIj8wL2Z8odC? z8~1^xN@IQpzno%DgKlGEiZj+J*yzJn<{M&?I{#jin7vF-zdkA5F4He$L?*HX{}+67 zs;idOtIHc;eI^zyp(9QsLOf5D6^I2&`)v&5YVANI2wcsmIV_UE$oAW~=z^2AmG?P- z3ywFzg)GTvO}v0j0m%gpYsqTNhvYQ21R^t2BFiPeKZPeZw`Z2lk6D)BIfVi42V$kpoy%x-6id;97VE| zb;S68RMwHam99H?mw29nXj}I=*d^`BSyu6~YY)`4YTY1w1!4wbi-qGq`Hf{YoSM&a z|E3TRFh_G>9cDLuKRTQ?v%a42Fu(Fdd*xXOj~$Jxt8g>P2+Z&JQXVl!Qzq|2`}5X3 zDFXrh8OW3-Oveu3aF&T?>0X$nXB4Z-PeIXM1_$Q@$nJnt<mZ)Ix^5+KESG|HKE?Ea*2~k}`yKEk&pb2c-SuDO(wgk;ecVjSGBU;JAvIqIQHv z0Nf?U_9*S>C7j3a3O+4EGJ2G?e1UDHp0ee9iZ>})S>c)SpK{AFTa-=|cifMhqOQTi zRe&fhfJdo#hFY=8r+S+p4thQN#bHsg4ALNV8kZ+c)l`vtu!eC*9Cxn0G-VAo8hN0~ zu3jpzz+p;Zr07mDZtZcIrl=Q2M?pd|(Lp(`Kh9LojQ2WLp}|Mc{dV!C3p8;c>Pb>~ zl@xlEJJ}KuED(24ucrENqGo%`C@PnJ*XLq9m#}$H20z5vRpHGS>+hGjmx#KhuI-T$ zOA0QuV#9(HFoMU!VE1X$sU{$7h}Egl^5rmh>Uervd$A77X__KxbUu#>6}6lEHsRC3 zaRd>y83)z8cFbuxycOXEF;B*sP(LDe#HKpdQo<92^sEkKZ8>WYe!QfC48gbRRoN6N zltUs^<$ME!`9Zdob1#&bLmNvwMAv@0QFBV|7g;RD^&qrhTw((gafl`f%(iVBvYR9UXeajT zepX?sD!+}Ii5oExEKm>=jGASkHeSsguhwL}TGSJX*>^Yh-(f7ntywD?3a~C-HF3(P zWo@4ZR=S&&mbp};7BTg4Sj7Dd$Up=fLoU_Dq{@+}>c9atJ1pj4X2oXxVimD|*kK&xoPz#Ju3z5&-}P(J zr_|*7u1oipkC2^VRxc$`A$usq^c_0&ppC)t!$7kg+w_H)S z$OC;-HedU1F7&>(O=ydlmxr+io#3(ku55n!R~s`AfMSyBk(1@#-^lifc@st1d~toA zJbF-ESgS-9#Gt0LF}vq-RQk$ zr5vM&e$otjR55yTIWg~$gPBv?^?5VgwLAi4x2<0YYeZdHsZY=LE-y6ef|tS0uW~yf zUQ}PVG{JsFP%0NLKcHg;78&mC!FIbCi|3rqKc!&Rql;W9NWhNmeQ4k zIa*($H2{)Jv}JsNUE{M?Gv@Vk>20>FD+}ZzR$t#eMglS(0JgKYCzUY)>P*DZS+$=t z=|yPLY!%@Z{h|{)_D3HOz35GD*>8yl3K({XZhT;c>WfsGp}LI>?S9eH8``CJ`&B9W^S z$lPxR52qc{3!d;X3!bdwPDtQp>$nq$o2BDQpP}eK`T$~OzXQ9C4dByCb^Gz!||!qvA7H zKeP!qO7!sJfn5^P8_T0ic>#q?x;ngnO&iV~HBZsVtFi(E~MYW6x^DXdp41a1r!m!3B!mzqQkewr= zV8ET4o>C4FlNXM<_YO%%-CyuUN1Fvi>KE2}TQaphc!d|-p6b%Nl7J+JGoH^WtNXTe z>CtWf4n2C1TN%%%0np?5)=DWI8qWv(123?-M-upb$@m{9@Qc3+|1OE&pTPej8Q+B9 zPrZEeSK%*^_zD9@<&x9Fz|na9tqJ^2s53Yslbn0tgKWRVw4= zp9KBO4Ei!YdlS&&^b_&fj0?kE%9u{AU=i+5E{c?R(%L#|yiLP#QHto>dm=jAV?0$L z01zRFxM^<&4wPqL^Lsi9Aiq~y>(qMtLK2#1_b}Rl_fuGLJw^TC4K!{YA?!I|!8~88 zjbuyokZbH0>f2z0!md^9fzjlK62+xr;x*pShJa)Jezuz|roeE7gs?}WXSD9bBYi;# zd7tBySBc=LJ7$4uC$|1VtCX0n^+6;@ivGZ%9Jjv^IKjL6a8Cv7pvAwpmIfi zs0Y3c+s4irZm%VHDbDC(-k&3Gbh^9!Ga)txzPlH;b{86iQDbXcO@ZX%0-*piEcL0qb?TLt#kkHIK^_1*>(p5Q z4T00;VgJr#dFUmSDaUg{9^zveA7t%0+oU3^}s>1Q(P zBy9i>6SkW7Bv7y_I${+>4U-AbGd zskdVMDe&uH{OR|%oMQaRyMFAV9`_@N^x*t>IB(Nz4$SN;H-s)vN1UgABT4jIkU{r6 zMp5F1t&+)zqC~XsO}~^;lxNEp*wG;lEHG1F4J(sjJO!T}djAh5ZQL+UGis%AHT&VH zy;>`|pA1lhreCrJ#|DDQB1IFi#3@V@Zjkhyl;bP^qft7sZFN$Y5o+-pKyX-B9(XXPl{V;lPY^184- ze3eC?I~D2$I_myyvf#2JS74N3hvmQyYcDB?MJM8Nv2&ns+!glU<6aIJ|LrB0>IHuY zCSvg1WnlB(F%6|0d&Aw|GFw0Ytyk6{#mYXZ<1E#2it<-v6&0==6`B8AQ(pewKii(^ z74NwY+CF>jP7@Sk@#?g-oxGc;?Nh|Bci+AC&%CjR z_t99Qb_|5%7v%^hz}*szKO60OPT+?+cx|o;{^w<3CG;iqe<29DKd`l4gzvQ{)__uT zy4-k(y4RkNKdg}cB=%=a(L8`C6{)ENClJIBN2EWg5F9z>AYbsOBf3Ie!`6Pe20(MV zY+rQx+AnoVIKzv)lK@Ie&q_*X5+tQ(B_;cmoqUn_5sJ^;pZjlac0x~ZWMyOPjKr7z!XIZkVe6`hD$NvItQEnboR1Ss(v>*lY z-@T`(A0a^w?vvQoXPm&TYm4i#g<;&f7PqF7niGu*g?nTAs zDG(%Qdx;tKw)`uVO8Sii_z1uV`Fj=elBQ_+n$Kb@)1Q$&SA-t{(SL2jc;T9^_vACW zOaNj>J|jEQHf0}R_T%=@_F>}h?xX%W&Ad|DF1lRZm8q{I{@kwf7*|%6;V1??mLIsH zsn5X~pMj|K8ht&87CLHE|A^ebL?h87Je0^iB73D5+VD%c%PEiO>paur2}&)6rPg2x z+yLCKEVUT=$qY3C{m^@lR1-JI%{JbA{B7tM>?n9O##>{UqnL7FLF3>uF}yCru^ccp zM&o#pcZTOnIGR~1f`X|EeONI<7tS9qe_0}$RpZqb=;fL9@_5;oo)vPGZR9RwZbvi= z3h8`3_shSRDiFEZT1O4)-S?#wTc;0^0`K4%J6*juk*Zhw zr9pM30=JS1$Is2^mSoqC>>#qs$s@OGAX6gKinD)WI9$;3Jcbx26nPv_KPwpbMAv$4 zZRbKmq388b)V;3#Gu$r+u6BQ9yL}qzAo>8)wZrx1;Q9L7ydD!rL=qEt7Ut_+|0(C| zA3Y+Ona_b-tE9dh#(Z9iAKG|^1F_5f5$H`6Z`y9>A%y`Wz!@821e^wuf^Y_OqGy08 z2+AAXaxrdzYl@Z?B@ZFv$9Vp!AvEascs{~V$fYRMdaEln1;PY?)ldBZTcx)3KFkiX z?&JhxWaCFJ<7^BRuRVSNYUEFuLhYB04xNZ0^u*nGJth{z zR+thi<^I?aNm?gB)&%NNdNzdVW}u6{NXZ$JKp%8auI={wK}4T#!EhD45qqk&;=3fr zb7}Y3B0Ni6L=!bSF1fp4qCT@fvF$i)OVIt z&Zlj(*%iYFB$iLnmX*kwsw$e?O5m^QL7D$*S5ax)8^s0o5%&H%T--; zy$se5@-&GHQhr#J3jEzgZ4E`Q?*j&L^pw=>p!o`IhT5ZjHb-;%Eg zX&j7&M$f{b`t{$Xyf3UztOO1H?-SE=;6H{JtP|F&=xa>xNt5p5QcD_Ig^g1}+7={2 z0b--qat&nb8mv6q=Wz=hc0;&4O+PHT(yr~+P2hoZjsu}#vOsLDOs|wKVy#LqFD+5t zFugn$t4$qTo?Z}3HA>3SzME8%lP4;>%g#X*K-}=wn`h{EYz&GtLnhy{t@}AjFxKC? zzfh#D^1u&=?lmmkZ|Mf}U~{?SXL26A_P6?=kw1GAHXFZsQ>^0~*7dja8OxYQ4Lg60 zj(?txkMm=OH?s34>5VLNe{Ng9484@>B_hB2bbg)n#6RdC1&OEVA54-MX6T@L<3|kS z^7=KbG(@I?m^?WTOXs%*5S?(DR=x%vT_2DgYChGcU=JJq1Rg;N^-pdpK+KLekflwM zHU>`4Xz$1Yh4V;V+TECtA)@d_z@Y+8Cm**#&L;SS zD4ms(LFuSaRz9Pecz0iqs|!a}yxNGTQ5uw}uclI6Zq=5_1vBnIH5~AqKdo3JP=GM+ zybmj>eP%X}&BK5KXJE`UVA7*O+-Q;ZcR6NiOb7_Zp_G_J4ZS;#C*Z$pp1}QaY>YAR z>pZ;ZR$S($59IWL8kf0G1owK}&$SdVpyML?00DI?lg+^oxcjAF`in3>r$O@;(kgVl zieNj&tp_!k%aGgnm()L2aXl^u6zMqbIk{so_AvAtK|lDtxv6AeuFW4h*BT4%;XjoM z=MnheIoIZ|P>Kp~OrLx(@hfRh)wOrU6$4l)FNbW$=AE<+eb`fk8+&BfYuA23gFe&F zZjv(Nkez|QzIT^8xipYp%NRACRGx7#Q z-r7d-25gtHMv!Fu=9dCL8R}h$yKQSkcG%nK(4K&atVdh_vys;AWlEz3cmHWEM9myh z1+@XGYMS=lQzkCpH3GO_ht0td<&$0=H7_h|Sh)QhVbPd`Z9coU`6~$Hz`R};lyH-xHU0Y~6rZvL z1nJGfX+7M;^5es3+DKoO7RCciA30oP{DB>gPTJv^nX|RywDb&HTt7_!TO3NPsz$Rt zg(NISafG7YqU~kIzD?50D1%j{hY`}qD-nQ^ub=qHtHK7>C(l5Jo$5-5_H$xo+UX}) zlv|*yDF+~_JDq$$hh$~TH#k&~Bj4C@)CLc@qoLBF4S!arW!2^l(2^S={~Dc6)JZNd zLOZ4+_HU&f&3D??od!ciTuF(ax|Y9A-A+s>|b4e?Y3v0jdTXsq(Es^jim7)kRZzKh5CK1cJCj*PF6fdkJx#88dTF;2rzv94A2>Kg6OIQ0U@ z!jLubKWC5gqNsn?9)C~B>G7wVCHHBM=j!(OWZcO#NqFL-gF~p?)*9y0oQu{OOT?U| zlvx4Qx4?>ibcj`qn0wy!5^nTq>%jX!>dfeS7zgZRgbB!GWt)*SJ9-4a&GjFjF2#Fh zDEp6?&3(*v`)HQ%2&3%WN1Ns17{Se}tfivc)x)2qi72=Dha-}qG*n;;978O_yKD=C zm?KS-&F)o}rgPTz$gsZ&KF0jL38xEkU6&@UbfxNXjZo1xU5~MXq(B_ zDsTN@dk`!&T%2$rt~K>|sOWK%zaCt1idsu4-$saHuGw3 z)Z%LSEU|w^J?=u9Z4tv!RprOBp1Anqf>+tE^4bGga~@8uY5*4|@{G72zUI*km0o*7 zhG7p=r#=x)?@^urb$Lnyk%GhPUE9^EYoQ=X0P$il2(02ZS%Lh}30{hFy98i2rU>g+ zczm|KA`7iRYV)6mtT6TXa$loUyX7J9K{pJVP^*7wLWfx(Cld?AiC0Se6}F;&- zZ0mO7HLf71*wf&J#n?Uz?p#~z9n62Tyw5ungS+Nd!aRtCi5Y7j%*?u3a2Cu07d%Ha z3$hrAXUy%FCTs&yZIRYBHdTu)e#Ewzo1dQ-{k4w3i^L<=TMEzfTN4QLq7f9?G)~N9 zq^=7ZBXG?=I6n2~>|?tg9tEby-3Z)x^@k&VefW6$iL_uo6K&&r7#2ej>vkb!g8F z0JvPr4?-q!CvTcY@60RksJCt5^9@RBU*Qdw<}VN6@{LtJqq}sN8E1RoD4D@QsQ=JP z2jUl6cfz%gR8zP@F@9-fh81_I!HB_)msb8NzzS=7slpqee#z=$Bfz4!qN-Y3gynf< z14koVU$K6Ob;U5c5uCFo??Yq*mODH}lg2oj*_7RlUAV9fSKqL_I>kR3R^Tk2^6&Fs zCVDYxAbP?EVMAT*>W(5;7GEMjvA(WnhV+Ll+{8D!gkgUZ0}@sn@7Smj;~{QX$8gsQnw^2U+W9O= zt4XTIm$f(^JyWlTRaP@8kyaFj2Nt^i-2BuRvFaI*oW?rA3HQV0(7X;F(dQ35;olrC zq~|D@c}25*hKjGtRqLIIX)D8~gm?`%jET$T8N@q-&w;XC*d#G{etC2xk6|Xsl;ByJ zqm&|80dvQX>YKTZ9nBA$)_=TJUGv@~f(AE79z!+PQy6CjE4d5sGdH zlcrK1R4`l~9I8~bQ6!}ebb zVzgG_L@=<8sK>L@^MN1uXf6=-R&fObCW;Xd#DJxB(DKNSn{(@N%bo?}v6kZz{&T1p zF^l67>jOMP#FOPL?$7!9{=W3T*sPQKy9U!N_?OMpp{v`${Z0Sk|1;cqw@HmnE zy-0YMB>MZ3K4e0#4IDif=x-iB(EIx=k~(F7FT$PuvcEt0Fiz;C{??B%oYdctD|vS+ zJT#j=#;C;7aB`!iXBeO59P*njAes3E{aR3$JjdL~wSML1KIG6Y&=vS50^9-3Jc0*o zCt&`PyNI~Hhrc&C;FaF=1u`H!4&&U`_PG!TQ;#&VNtVx6}U@2O9B5E?kD;1 z_JJQ09CF(~ZX@3+DPeH&HgeuK(}C>qaTEXEq`WRWX$3jRjv_3%mVyPG&^CpkjN$6S zodtZjQW4Wi^r-R+OvtGn!m<}?eNiH+d?ES(;p~g>r9I2U{u;FV@o|8uX6L>{9y{35 zO(YPv3*z;mKW>`G2*7WV#GgJ7xQ*uj-$AM#EU(AAUxSGE0wd!66-K;! zB)V}F0FkDQlIL-Ni9-+(Wp6j|b`Z}(y#B_qiMW3T{NtL*u`D$TbL4B{{;$DL{bFkc zk^f6{veTzBc>iGU2%E6VyN-mfw6uH#*b+BrH#`?#=uApbjT z{0NzUaPDLGOZx4$FsSFt-7R$*x6ZXUkOBwB$i$vgCfihM9mzIz=xAabuDn2W2tqo2 z7Toc1jod2mT%*Fyp59X>e;P1Ctmzmaci98jFkCU}<)Xr3nK5z}rRwP(lPDYKEh0AawqxA?f=SU#G zKKX^g;c?fXG1Ipg9PVYUUq>3u!8*&6j6;cY4oDqwBz8-?FC|==BBoE(MPk}kqTVM_ zYZG0HyPLFj9g91I>a?Y(nV43oZzwKj?gNdkL<2bt&_EZyv>KvG0g8_Xi1ik^)1^+> zzy@BVqvs^h&(zU#i0(+BGq4`=H|=d>NZ8rWpWMfyb3}tCx%x=~R>0?%%Rw>(_E9;@% zM#KZ)vpgs@gxifolpU>e8*PUW$hOaAsdIGXa}vnZFOZURSp5qU$hw+AKN;F$!Vxkq zlgNGW<;M4{fy7G78KDmwk!U-W2D(_CRv_!_(d+y&cPYP0I3FYCP~lu^Fg?s#Z`9EZ zEsrKs>7&+C)34OgAE#vVbP_fFQnXo}a2F~KpNUt;&QG-YLLECFUs_?JaCRhB>r+O_ ztt|O8;`TL;NHm$Hpve>t?Mp0U2X!};mj#*&9i9=c%n;Lab=FVYM((|Y+#q$b>UwN| zOuJ7B<4Wpj4+23y!<&q;*}w)|r6XUIKxV6f zd=Zh063BYvf!tvrFDG)gj(lMPd6JGy25K>cv*;!3Bjp->XiwX13~dut!yl0ebw9P* zeL6uwmp7{2Y4;oKzlS{gxsHD7+6NQpiP~EXWQAqd>By%Z=fw%+_&A@Y8OR4%@>x1^ zd7|lMdeh6tRwE=xDa*P8uS!w8(9IZk?8%6wuE)Uxfa$5HKBGT(GhJvQI~NX?X(kg!I`#*g7X(fQ^hqpWB8!WU&1@1 z^6IqtveHZRO8V3m@Om;UJ<~dcmA;E;uo2nE`tXL3EHI>WH`#roj{fZgI+YpF zIm2sL>F8J$#br!P3mcuak=O+~c2NS`tz&aW(N0fb>r)BL2?IBu&HUm{R{Uv>#{ol< z76lE-w~&}TGR3szMn`X9xg8R>@zm0}If0vy&MiihzaVl*M|LMFeW_k))?K?sM}C}L zpWxUssS%4%YiPt09sShC=DG2*(Xj^8#5BKA^@mvcFdhBWr&P5&;?34=1@zVtgJ+Kt zxfki;z{%{|iudpdva92o9P0pef(E38hi^fww6TANLoHm6G%UFmKL*9+oSMmHnD+W& z{2+M-s@Aalw*dRP@U#F=n~VMm@J|Hi5-cIOk6;NwMFZGHa4Ny_cL6?1&`B`oZvY=4 z_{Bp2A0qA@1V1JiX6kJOUm^G?WnvY<4uVUVdM&|i1f2x0CioD+jqd=wg5XAiU$ERF zf?bHB9X!*!LTN4-$NY;30xrNNO{{&8>K9cm?mYjZE!eY9GsOBX|$N`-yua!3`2* zC4WG$iQpmfX92-w1lJIEHo^G>8wg%Xu!LYANx1;B$rJfz2{Vjm1_!|hNj!s~iQpkN z>hn&3M}7@3kLX7T?jhJp@C|}b5iBR}iv%AfIG3r<65K-2L2xU|kau!E%B{taBN`0)p!Z764?EbNR-@H{WIk zJHb^XJ`UjK186`)->(2#n7Ri~n=6_5vkrjU2rgh7-y?WG!6JeO32r2KfTVU4Y$e#w z)TarqBACb2{~@?kf~5Qlf(r=V#YSx)SVC|vGp{9>Pw-=sT0ziB&`bmNWH1rfMwrI|Mfpbh1{}0NLaEm|ZxLKX z&`N4!2$mD9BsGO#0l@`KW&BKoli*XV*k1|u{};esQhtr#A%c~E1K3M&H^JouA1ByB za2aubO>hgrsZ9Mj!F2>Z1lJKvfsN@mC> zxP|P!jG&X?7tDVlK?^}EGv^Te_yK_PnL3K#+XTZ*O(FOc!FQN?^l9|PR#dU!QM}XM z0od>mQ@669R|(!j@GfTVCb*8^mUjXEFTphgSCIn`5?oF&pQ(2fTtsjKQ`-ra6SNb& znP3sYRiwNOAe%gqZ>;3l)y$Af(83H?5VR9Kz={y)VI)WQnt6KrG$$q}s##Z>5VLm|z z%lbaSa)Rra>LoalU^c0h5zHZY4>K1Kv=V&fF96RY_{An>W-Cr3*hg?FaYqo;2s#LU z@dUsF1m7m^`vf}(&S&bI1h)~?SdEteZr%!_4G-d-*1^Ey?T4pFAIG-6-5X>X!XX^I|S_xLN74r$22<~C#Sp+}6A7Bpoc`?Da z35JP#F2NlHa|t>LZY8*txWfr|nH8iJf(jUiEnX(=Hr7bk0}p?9YeN= zMV?DGnXH4sXOfL0>!fQw*=Vx6S)Z9?ZDbS44kLT`L9h{w`69CW$R@D%`jXv3b_YE> z$*v{4fibryyOQh{hW+Llu*-#IHa;P{h-@wEXD``#WcM+u?PLqc&SKc-z_Q4bXmgYv z*1)D_3x~-V*qQgye-d3Q=)aO|4B2^P?;z_WYclB>WE&m;dzh|M$?hY&l-V9fb|=|d zmhn=u8^~&8Pf^l7lu$*v{)5!o?hk1*Xm zWE03PVgc*GvdB@ivC_le>A^yFC4>Ko?7o#?i|GFzvfIdN^jtx9J=uHddK=l*WREjr zI@zUUm$Fck$<8CYmobkaJA>>zMm3b|B(l-;d_LJ^va{&%Oe=a7vdJDcnbvNOnPWG9ieG3@1JlgUOfp;2UG$gXBKTx6YO=g>8d?D6}- z7BL&W$sQ)Vfv#Q1?jt*e2{l5#S=&K2l2IKYyN+xFUEc@GBCn>+LFVLDdMG2ioUzrC zokeycU7sX7g=`$zhsaJOn@-PnkxeF>$;ivV)=Y?*Pry8Zw;M6HZ$3}gN` zSQdE}Z8p%uK6;o$b{*M&l1(OSW1(Ion<%b~{0Xv7vQ~OtMb<_(g|5rU9=#XrEQVb` z_5j%pO!^kG+sHcTI-TrVvPERG$u1|mo-wDAokMmJT`wj(h3p#EKn&STvXNwal1(Q2 z7-zE(vWa9@F{IbD*x^-k!rD9p8_h}&iOlxfWRKnh)<*xYkUdOx3M1b@b|=~O zjQnx3YsuEq^+B@tlAXpfE+M;!Y&^3)k8A;V%Xo2%_O^xY!=ycvODNG zg=_-ZRZMpv*%-2i>3R;?2(nQOdm33Q*&}3aVA;wC?uN}Q7U~BWq)9&yk%@b`04^$xacLVONq(CcBQVRb&&$TIgC#HiqnOy52}O zg6uZtY8u#@18~r+urtTg^~egiCNdkt$?hYY!pa;#b_>~fMiotV1K9&iC>$({yp}e0 z1`no(GO`5>esnF^0eBj4+Q-M3@6`4=tc^7GVZKqvgP9#Ly|k@JYn}W5hm1?32Yl zi8wS->=S@B@nVc2hDH&?BgGs6R7G+3w~3i;?Cx(KqPGU#LRaFcmFM7=F{5Uf4!KaB+fN3yZf&ao8#g-UCb)xX=0X`hpwi1DBu0u z{ildM-;+@{Vz2yXioK*bbe7nwT#XTXi9g&ar9KQBclb)d<${X@%LI#vLuUYup-0hn z?*8dC_m@0}J82G&gME#Ik@dC%Ypetd`GLn7eBe=H=n-P?TCrIxHunlH6|4}PCpd>V zR3i?YB<6{NDa8IsVooIXP7rgvV4T>*2u2G=5eG&RLnDac4&qQd&`}6Jku4&7glrkvDP#|mEd*(`**VG zWT%k*6WJKDlgQo!wq_zsniY0t1z23-iT{R zCYwQaIoU+A$&4p_5ju?#x)xXy58LXcFuB9+$TsxE(bfTDHJ38((0JO0t`Z-S;$sSZ ztjFl6UL!uD#7C0&*avHT9YG&4j3Y&SY@lsuy7;ISA7kia3**QXAKSzS*TfjO;$sqh z?4*xr;$ye?m@Yo{iVuxG4$#L8@o`Xm%z{}fK!M%iCM;?W127)~%@GtG4}T0EjL`KA z9K*t|V}KM15Qi++Bmmr@i9oZP1SpdLT-MY?Ge8AQ?rBU!yR3Fah*M=0~mLA)&ahP;-#!?SM&3rt=s~@9xlKPV(0RUC7r^LvQjtDX)T??3)q9_Gm^(>`4}U)8EnlOn5t9gdnFyVu-Y%DzeQwM)88nv zGsvzY>moae>`Jn6WE08WOSU)JXtK-6b^&XIa-UDL({d>+-J$8M@~wke8kWk&X?+%Ncxxr6B@xCx>q{FzWs36 z3($_Zk=C6^OWO@o%^c=x4wDY$YcW;=Ky3q^3M6kk5eTyg&>YWDOX;LB)Nrsh)0xRQ zhM7T!$LQ}|iH;i!&}PYn#T0tt+pIfu4Lo3pO>_7xn!~5TT$6-cR_}ygEO%Je&>1v` z9}pkhNT|t#vHF0-aTwKQgqjk^ahk*Vwo)^VacmJEn#8dh)$9&Wr#ZZqK2qo-5hg7Y znMDO6usb{%wl(V!y*W!nxz`|=5ze>Cnla2cUs|<92@oRz5`i^w0P|7_z=Jj;d^&TP z0^4d+%8>*kw1Y`G4$>UHk3KY(!!AA=VCxQ_0*jhOFq*qwhXj9+dBv?HHEZ64)i`B7 zPV;bOUQP2LWwz{v`8;JlLi;n6*-HCvG)LB~f_+_k2W%|KkhC~nh_?2~+sE(XcPW`Q zPI~V?UxqD2E#9J+@PaMKvr?WRR~=JzP!a4PUS2(qbeP>e@LoiY532uxm?;~MTXOLM zbguacVkpH2(sI4=fX^VtIMZe>IQ3{(dZM*JayB5^rGe4n&ICl-pOJ>zHz7ZezITvP z_TKpxO7uSV*-@V%@Phg@S;!LwVm?Uomo!^zw$c1C%(!?WVK>5eGS42jyM0h=>#zw1b#?>HVB`+R?XEu|A4*Tf$zrX(_HK1LA+ak5g36lu9gd9RP zVIm=mFo7_hkV(iOj3bOCj3JCBj3Qh{NGGHbQVAmoDTEP(;e=s;U*8urejb7DcXM@P z2&3i7*S$ z7M0#woZ3fNA?nvFCv7`Emubz{FSYY_rYG+A&Q;o1XQG622}Ok42y+0fC!u{r_d5u; z6W%8r0O*i6IcXQtX4BiPgk6N45}>sdw9RxcBoq*CA>0gT&9mO9Jw^AM2(t)J64nBm zd)FSJ%by4j6IK&y2oDje39A4t!reocy9p}@%L#W8eot6NSPEzn?oPTaB$N}%2&IGt zg!zPdfac+Tir21X$ZH5!6Q&ccBK(eUC1Dz%c|2OKSZdjdWGOPf6`v}kHWE%+3Sk6c zIAIte8PFp3i|I0mFp!Wy7(lp)a3LWc&>~zvx|~Ben-ERtOE`gPFE+P zJE0q)E5QM19zyF#mkxyX1S=t!(2fv9umDajBzQu|hsuNC=9 zkuMbaT#?TdsaNEXBA+Poks==|^1dSPDY9RYcNBR`kvA22Ly^}N*`>&7eid?Bkz9Lfa-xj>Qrio_~%t|I*uIa`swiu6(BOhtMt(o2z^ikzlM zxFX#Z>8ePWBB6?OR-}_69TjP>NU$P7Al~Oy<6Yk8RcjsQKVet1_oPp||3r3vd79e7 z_NeD_LK&fyuz)b1Fpp3|C??D$6cO$q+)lWSFo!Uka4VsZP(Zkaa5Ld1!Ysm#gqegJ z2r~%R6Li9L1dVVl;Tpo#gz1E<2)`p-3HasZKGl%kE?Bgz^(TOK%<9dC_O%$buN3)0 zk0kv}W)h$0UwQlm(< zB7aom0Y(0x$bE|3qsR(H?owo#B1;sh64F}pY4eqj5=G`Ja)%A|Z<~fiRwsN${+=?2Auj%GW-ZHze&dMd}qfq{t_Ve5A;SioCDL zdy4D_so5aIM0-c9e!G@y9+UP863|{I@V!pkMyMlfCA>t~Lf8zz5Zp*}E#V)87YQ#A zHV~dCJV$tzu%7S?;c3F(3F`Fog^FCDNPk6Q6**Uteu|u}NM9k$mUgDH z>8(gFMS3c7nj+zfbXTOSB4LVzD$-ezPKtC?q`e}+iUfgpdsw)e(_YOM^c<}*NXqbo zBHt@=3`FAv``QX+@wFmf(TX5>|6EyqrbxXahZOllk&hJlP?7f)c~1xmzfbXRE3#LS zJ&NpB+V54BJT2DRI$9a5o=RoE zmKMC;7g0Vgeqbn7{2IDZyAP}$7B{U%k!rdWDwmrU}NHFY1|G+JJ#JmB^&?4c<0 z@98+17MBzDOLT~S5$$tnm7_dX&|;!8my0j0lvY_{B?%QP>mo&Nr)wkk`Wm&_%BoP2 zTNJrTksB4cL6PefxlWO56}eiGs}#9Xk$gp_Dl%D-%N5C0BwLXzMaC)>#Kvgxl#tRm+sLZwUaa<(FU73rhM znTqsQq?aN+6**0ja7DT+(p8Z#MM4$ntVkzCIx5m$kzhrFK)l1Uxcui#{7w6Kb51*f zX4ifo94CBF_>ORl&;UT$zoGeS!coFkgf9tS5RMQ&C;Xf68R0OYp71H*5WysTLim{Q z5#b==L&67y_X!68HQWAgJ+5xoZ`0@Kv-Ml`LcKu0MZa0UNuQ8;XH5Zv*cpxJBo z!Oe`Az)CKI5yCS{7Nr7Az6hf%f(e(DjI!0(Ay48}L+`z=Q11IzR~F-@Rccy)=Q?Ok z-*d0`rbXO`X`P?Q$sD(~;%3ZQ(9T|RMrp%D+~-`5>wq`mLf+U+=!zU~E*nNEAZT-M z>KdwCgOfe3zNE##_^AmPS_YJwc<3Xjm}qOHiU#YUOYrv8%s=$Omk#b&(g%862Go|n zR(u-n3C;<7`ob#fyx^_FMim|{ug#m=?%SQ4aUHGo&{XWWHHpBRUMGn^?-GdgFrlj} zJ^nPFg$ zwHO26XWe+=IDpT86q(;l7qPS01Q~{PZ7G8w1I#IXzCDi#;mlAE`#adF_ zYtUnw+f9I7c_Z(y#D%QIPH3s8R_g15j5=I}?>O`T!op7PPo4GWz%Q=0K9e1f>K<*$ zh}L1$-S<2%#`*SpqYEzlHcMP<44HrnM^a(kwGN13Kt37+d-FqRGY& zRn8!29k?#2(tcV+$f&V}-$LnKL&+EhD(nu86-URZ8celEA+Gv(Z#?^8?~A8r0esd*KjLoK8g^~sj4YkSC`C-jvzRPSPo|2Ca zsw^SA$6;{dIFgnb0fS-3dQ9D>*oGB4g-%!1Y}n^}q&AwyZ5gp1DHGo9|45$>7M z=Kj&l%Q^^#;)1l$^`Mx+anotOdzQ7%f{qA@#~Ab~Uk!79v_mhDQj?Hj3*I<5%|17& zDkV7>w;1QNs>D3s(NxL!B#vD4xY>3n8Fx&^Meu{>i4BwyGF}_BUgcU(NqxDkY0M|k z(6>LKB3$)zhoCpVJ&IKzQ@q@+EK@vhSN2H1 z8sQXwMfaP^TjkYAg3?&10r(;Id)<*{-p2@jayTG@@OmZxa8dtwqzy7Yt{5<3;J^e)puOdvC`RDCNLcno2%GXlIfd^AVtV{Ag3CIQ1uDk zxhNC%KQ$LcVJ?E=D%?wLbrO*>52ss{|MK9$=hNL-9jlwU^So$@43uZ z15}M5sxDf8QkK@WYo#I{L3m$9K;uJIT4Q-F#%58crRiH!aEa}04d@oUU!6~-R2v>> zP$bdGQ(^V4bX>JvKM-~$XB(-QL+er=GeQxm;QG$#n3VdSBWW5E zXUQdql`4;+#lo75*s7ogdLC4#IJTlfJ5z`80E`smk(C5hcudi_)#{#Yb)N3*dUWq_>goEZ<(2tP0oxw=}ymBfNe)UxrD2)Y*XrOYsy83M`ux ztTzfqeaxy17vLT{(bPOvb){x5Ip#-rab&qJKpE-RH{Vt_;F*F;($lD?psqbR=F}`p zlK=s0AKZIda}>_`b;+txl2xOqa(YUXS4}Ve=y!PZsi66zjC>m;%cnr4TR%j8Y9sC) zHRAGQ#ATV6NUmhWT|me6dCl$c+v`PX!@T^H{;;hn))eZI~N1Ns}rumfrzGzZo? zsO<=IeF`e{CqIzjy!IKslE4H%Q@UHW`6>dU2{^&ev_H@Kchv{Z@}hV)7tf|BC^e`| zIlU1JWd~P$E$8?$6;+E)HUsuQ)yX1MC!^j@PG2&|JDPQ{)kTt3HOHfdnszXM4JrNT zR11@8&yCHCgzD^~{^&Fz)%@hdoocV|P-VAJ4-E9~L1|Cd(%N>eP0&a`-u&V_)q<&! z)b0X3EDf>8g1>Xs6+~8LwVUAST#xledB(Ue*e4_g7ho7FP~CyCO9P3ylG_6~lw5pmu__ zVt6}D?CaT5`B2j!${J8@j*8T%iqt;tanW8ivc3wT{tl|;3V_Xi9oli^)?a|m z4xMwoaP7Rdrf!4Tsnxx28r~iaO<(e>;=a zO-odFr4#F*R7Yhhv`1Cs;BC>$7suqvmn)#54)s#G2`|;?ea@0@=!&q3u1GnLn$8>} zkqy{qqXE}q2*N2Id?e~{WPLb2(i0wuF~B4AVo7|MU*>R0e1rykf^<|Y>_&KlSU8N{ zW46jgvAr1d2sA%tGaHp;yE8oveX7 zl-H^iaKo;~`cBDMr5iA1aJXdIuxuah+Ema5T4QoB;i2xRag$dMqf=gjx4|^`B~Vue zz3tFDhqvy81;xwI`I{%p>#>2js6ZlS(tE7_)4@Fq=n+y+fZJV21l``R^Jwo&drTO#-rFb3{ zvKn_{?Tg2&1CLwGlNh*GBg7py9}2;dPe<6|JdCcXdHI3k$~z&oR{tmOzrVC&+|5b% z7xiCH{X;n{&&e#VT~JyRW zWBNXim~BTYML0?Y*Z}BAa~rtVXl`k&K<=S zoCh!_16BlB);i5+k`PCzOiyeTdB2eviq9FDp{P1drYLNBgmQ}FIE1omCWObsgiLIF zJz3V+n3HQ>flvKPw?ukg5M;kE#~ip2ZsrBD%C`Bn1K~bt?7HIhH6_}Ly1_g8Wmf6~ zgDR3w%|6UkbJb7TcBo3dn9YMKbVnFdl@@bM*RJ=9a-km(8hE=J3D4mR#$vnqBu-w<3a2YiDvO`*z6+f!x%Kc%B zc<6(Koly7&|Lu&VHO9r|--MMtNc#>$m!io_t{7^Nq(M1#KDN3%SG^+_n3(IQdbJ1j z8So7seM^n-C_Kk8eM2G8-vSi^eGG*_PxRxSiWz}u5Wc<(%Q^gxYc5yO6iKp`v?C_;8K?3E0cX2p^` zY_UxqcX)<0%RcHmF#qUUsjh)*KOJEaeMU#l@vA?IlJcIuwAx?Xmimw2-#gB|luD1x z)3BkY^o--_;ot_4SKT>sj%>57&~sRZE?9FY-u|pR2<7O2y}o|`W(7jE?&cjze>Qui z0}l;qAvZ=^NTFH0t1$vyCD*v!ifPDMcn<us7v^RNZs9H;rr35An!O7BQlceO9ZU zq46ApM5P6d;hyBWGKMRxhaN@@7=Z&N=r2-K{#{~gS%e03o4cdAzl9@uc@%o0YFu=o z;SOlHy3LcpOz0mqk{yP9nPD04j$CSV8E=NjEmftPU!tg#rCS1V3&n?1Tp zWf6pB9J{aeej^@3d%AJS{6?98ddzR+3{*UUFGI+?Yh&2*+WPasRi;Nm2W1b8_eeCu z7w0o~wr}>HUVEYzZ{qNZ?Ui?wEi{pL!!{`PPmF9wvKyulXpu!`9C#xNTYNhv1e^dB z4?+eJn|GR~W=PR%J>1FjE;L!D9a`_Q%#rh%7S)R3ROs@6=a0N^VJHrG2e0Y5B?FL4 z?o;&)*v?6eC~#IpaLXpuTHh-x$E-k4LB>5copQ{6^2o7j^B%`bgxT57I2y zg)%=KD0c2NXI)wpZ7T8;-T4vjd_3aNe^DbjGPh;OmT_fT$R@d1=O!joea+vX=i&hh|BYnF*~r? z>lp=xy~4PgVg!6nEffQE3NNO?xO)R}csyEi*9Kc{OmPuD?!~jQFrMu22(RY^@f=yXn30rjK@F@8D(G!2W+dg? z=XN(1GdxV4jK$1f#jv3&qZPxGjD-hagU3$!_T0j7W1-|fJ#M`D`=e6tn6xv^)UUi| z)F1T}BP&4&gHzebJy9g=ejD?d8s>HGPvRWqEMvYTT01ua^M{+2lM5Z;oWU%Hbv-s6 z^Re&rz%hwfj!xu}!xb8KhaSdz6FN0tvV6+g2Q=npnMv3<&}~~sL1PI2A6JXI z#12L%)g=yi4ayKJR~$jm3Fxf#IC%34Isc zLO}nugxET)k442+H(a(Hz3vX>PQ8r7B0T90k2K0Xb&Fd2J1WW+d` z=m~iVuiI-bg5zGjb=4*Y9FyMNW}zH;IOILk7#PJ^e#cl&rUz#vW5Hwb z>UuVw9l^?4;yjv@9nXkO8qOX+HO3^pyGI_EjYtiD5IfvF2ZX9De;Zi4teq;CT$N~t$Xypq{kSU(_Jsmg;2w^Q4rlQ7b>rt zk%8+^DFa9y!_>2{AMiL}c|7Nvsa$1Sm!+3B1c%-E4#sw4ba|A0n8jE)5lk{x@?tO+ zW`cEXD;i-e9s?7Uz(?Wshl3YjoQAj;PJ&gPc;U&t`Pr42=N+ZB*spVot@-E&Qo-(p z3~VTL7>k*Pv5+!z(87xvS~wj>Nt6a-;WVI1bP7zKL~ryYs==yGyhx(!0~2LHbC5St z1~wK81{rrt)Qc&$=e93pq6IKYqBIx_X8~2BGhp&0`W>DxEa@Cr)rl8LbaP;$3}|kA z-&0ZsHtrTg7nG>)UI{z5b3PL-gHaNt!B{vCs1hxL$&+ZgCs7Ji)`=HMv`b*33}}w= zCd$CZLP1ooikjkzQoVJl(bu4P@-{CW9x}}G4F2Le53^L`PsY1y<6PrKwo01uDs(Z6 zvFK*wMK&9RLDJCXNBW~C>@C{-Em%WQEzY>r4(bt@u%0tQkHVmb$m#J&%;gxU^}WzF zRL8)kBzLnyGIPxeakRN5El(Fw9mJ7eXRSoWk#o=rm1MGndP%(W;fnYUaGpWHmz(7c8>V;tKj2X)!R(w)>YTX(%Dw-Dy#E zX)#=)cu(iB-joMgq`5l|mCz8V-kYkYBO$KyDN2W>+*9;01KXSvu{Gg&>-H_@M#dRq zpvNtM(I z9+lKs$d9FJYdkUBSyum&(3{`rlje7b%5U(G=68xQ78;U~-yOU)D%yM_mc?&9zlX3l z;m@y2@=M*!E%K{WDmTrqdLHQ!TT{b>wx;$7;?XR6WL<~#P#d;2wJ+|!V$z`w9!4qI z1(>A!MbLmHa(JZJU}GgpY#c^-Gz=nZirrkNxeY5&J;GfaZ+7{Gap^Gsj5jF|vVqDz9Ct%)5es|uHnG5);0_q{822b=uKA|P{u=Ktj`Md^&-fAfh|)_tmLyRU=M2f_ zPl>1Hig?=ZQ8##8VJVltIoDh*Gpse=J1)IXOm5BFDF0T{Iok}|#~@aSv++<zf7G z)l#1AHq=^{dDV3K#R>;6FoEa8lsQ80@jlCNmn$r=)XsXVne5Smz1-cvaOBoj-EiDHQCT46;*-z0pHr{M=U6-;Q_OE-nDc50D)KoJ6wSeq zN>XGA0Y24vh4nd?SuhY{U%lA#GPCi*IngOEoW0e{ zCEg5s7^#U^@VsXvJ&VWLwtRP96c26O#Sva3au{OdBp4yCxcLR?$irH6F(XIv5Mo&8 zBM$?%TYwk-;zZ+8W1C^U)3v$qvwZhB6*W|~kBgEeyLWW7)<5sZ zuAJ(hOJOoXt>{v!f7)P@Ny83( z64;PlQ7dZ(x~ns1C1RF~r4ai~>&I+K#%Lb1DZ#%i^K(p(hz&=e<+bj-q@r#{V>&v7 z5mJ}JZ)`1=+m5)49T4a!ZG->?57CwyIf*#*Nm}1ne7)-J_UFpC7o4A^xK{FoyMF0zD6cYW1Qo@Z;zF~HaDz%JA@T?)pv~DRUeF9bR#th zeHb0tf-OY1eZBDRq-7b%z}zw;FCNpL6XzFc!(HDMgy40$zbXNw4UN16>?0<-8pJ-_ zYoB1`C8E&7T*t)z2TXY^G4_2iEE3&0kP4%!Ym4{bI$(ddD&+>q?ES0?eb5uVw?exv zZC;v#SP;e;l=6d)dY>+&5 z0)EFq^x0FOV@SPa!$*o(T2^5vNJZc{&tBin7?)^t$~NNWm%h>%yWgGXoQl~Jo6Fc) zM#g)&?WMxwc*V$x#}+=1Ae{51OS+R5AQO|5A)x@-aR1aKrs~6Zykf`LBacN6%Pr_z z=p#L|nLL&W=bwohxifK0XlRGuvr&EN!@|B$xu%p$Ff= zw9u*a*j0wLJPJ3S!Wt58_9~iP8?(a7ry*;`OZ+@)-fbc2rQ1#<-xdsck@8w&e?f57 zRP6VKE$IPQu6H^?Qlm2EqQ?5OuqEzFbD%CWU~yq%eODZ+4Lp9L5pN>zqUA8_B$dqW z(3leKs2`owIJ@I|k8jA2#4M@D^*> z1Di@WwKp~eAu?vdhQo|XYlr%1$d$S>9ECP!%G#sei33L@|HSu_i%Gv(F1CAev9WYx zdt;;IVrx6p%HmJa?OglAs`%{`M7|b6?lsd)K6ZjzeU#0ZoFBX`&)5jr0rOMNsur}0 z5oS20?p5=sHgWANoG||wzg{b7H=wcfL{MQD*Nrw*Zkl5<9(@$>H1~doc=w{((YIY@ zp&f3qo8g)a=h%Ob%+5mn!wZrXYuHkvR6XBWYaytmu&3E}csG-_3qjk##?yFn5E!*r zjoL%wWtx*v4lFx^_olkOE`AZ~Ny!MG1k4bqCu{8R>O46j7Ke_>ZfkT{Sq*ALgoM~p zA>*5qTi6F{*P~~k7Q812@-4;>*?75oLFQ44e8r&VqBF;5o2RqB8jKMRh;>vYU=qPw zncZ~+=hV*Pken>@JG@w-A~3mNP&$m!&fraW-@e6B+*wYv-J_lE(GiG@Z;H`w_(Ik) zb7hzRQduTNa7lp}WK`iYTZ{%7C43X*vKJfK&X(h4SK%ZMsx%vx7I!K{n6Q+w)z9HHG9KY4m|M_+P}#D&8Or7l zD-QvhaeE}?)uQRtt!sqt&4F^_c+Kl z+H!MDc^^&XYr1Q5lZ;_b#?`(KF6K}Y^etniBls<@5RD9Hu<6<+)mq%ao#Aw6M7SX< zo9Y;x>V$>Fj+dKMoB1$SCzxX;cCUYNM(soV%{DlV0lYEfd(uPaWQEcXDkal=0!{C& z6tp0ujJ*{;-n=WoEnv>|Y#*$MMEagx0rjO1RIXEyp(8r7KN|Ce@8E9+b`Y{5MiBg^ zv=3Ub{2TWOr+Y+1arod{>~kGhyDvwCC=GU!-M82W)aGWPC%H#B%pJ%E&Wm31)MlH7d5kcA?_p9F?iUx@ui5>J7MpkAMbu&T zqwmmJcwttu7zKQX=G*xkzC#CNbQB4Om+cMwNEMTj{hXG12=Zgkmrpk3@X2s+3I zFmQyUW;e(QPI~yD2;1xr_{2J#FkdxY)GNcg~ zgj=^-JK`uCjbD|1g7Y8W0kDxZDbhVD!ad39p5&;&yJor_@ighZc)#M(!fxbY#bnRL zS5UFvr@0zVRl;-$vV=inq((wIs~`m#s>*0rz8zDyqd2Y#UlqDGl|(DazF5=q{z;*h z%kT}@xs~>y3VU!egjMUO)}=RieC6f;%j-!nqII+t5xe~FK;iE8K z@8BwkjtE=AiyY8hqbP-FGn`Kvx|MIuVN0GzE-*Ouzljaey-2qFov^ZH$eNOr=Y~n^ z-(>JZtwLM*H|PY#LplH8&|i*BQfDRjj<7UT4$LLv;P)F$8fgBie(ty zHn>#TXml?;$CzwQM}%Qq>)9Pc>=6Y=aDE!LHVE>v-LcGc9vX*-=|#0Z_ENA|6J3dB zg&nt9uq1=nB)#^9n^#E4BlFWlM5wul(~fq2|7XfMde0vd5qbdL)$+n4*6xvKXMg1r zAyPhV&BeleM3#9YmYsNBLPR6l_}(*~ z5HmkwiqB^aAY(0a`Eq@*Z zI_>HHPFtnqjZdNP9vauA@5To7-CnKtUF+JQ`YspM)`y^%J})nZ*vJbjPe$M5Y@O`w z9@1ma`5D>!}rcU-m> zst>tG{tM^j2y|$l+1TiN_~H>)EzxlqD{uOce{1y}=n5_?c6LMg)!8uLWPd~%24`2u z4g`M8_aOqaP32?0eDAkKTk|%nx2wW1j0XF7bDtd8A6> zyh@})?9lshm*>GPrGPk7^!!Vt_!O0OB5I1@+i{|U@2kI*K}nGf8S>8Z&vFY!&Yx=$ z|4ERwz$a7)5yj_ysx5Xi9*p>|U<7Bt2E6U*Ur8^B%gn-y*E0(>yv7qn#OQk|MJ@a+Vi3)U}0&~qje<7L7msiaQ zdCcPju_+J`U-B}FEe8~l%zh}cQ8^}}5#NPHpx8M!R}PB}%ajNfJI8#m9>vZv(}KOl zj^NYf8ps~IX4~*J`8S@g$^Ya~#ZL2nO@1R*B!jZd#jwXC7yU|}x?l6F^ds_BdJpwg zI>edLC=QB>;Kc|JC}f3S_N1{&AWDVeyqxZ>l4w*3$^ilLA*dFt_)$c>Kg(tg-u%PL z;xM4l>JT=3DGZ$eEp3=eb_dUY5#Gtlc8|51*S^ju?WHH$ai+lBZV6lbArQ}dgq`v# zCd4BgBA8C!g*8rUxIphwP4S;BydGH1vk?QlUI?#z{ek@PL3#`glq=+VvkOITA$LpR zV9GLj1dk2pG90Q6GUi(N%9yIYLgv~_M8mPGskVpr?)u&%8V=KFW3~frR5e0G!$Z(4 zJ3Z4d>=9H|Wh6$xnh`Prz1+K{LOCMf>J#}rg}JT~8y()M z(fjZZ^$Ywy+5F-ED*St2Bs`Sek$VsLKF#L&fZ_8ZolO{__FJ)V5z%XGE(hU6ty@!j2f@p}VXE@H?;+K3 zc&#h1%_$tD2i3JFgS=YIk)iA##t}0K2An3~@(eCumy>2%YhvJ!lkF@k3T~?=o0Dl~ zJ}+@2CBM7@PA-u-XJuM%994D7H5Z``(KR_}j8c*JN=`&Zd#XE7aw+Th7S?Sj_G_{p zx1pD=w=)my!+06$VuXtnTdf=4(Unq)Efd8$TlS+J6iRGbKbT#t#yloenQkxJp5u{) z$2(5xiQ98$=Y>7Jxc2;Eklm?T3&O0T13rRBZt2!2m>!^M3$~YW5KPCaoC6rrcfuBq z^8y_qw}(!QUagC*P2?jz@%58w7ti>@r!h@PyJWCk@P(0eYg+Fh#Fc_CrBI_PAv~$d zw<9`7VOPilBF-KvPEMovkiq8XmL?+CC;AVw^a34+KTGhh{1+~%{ zRRe6zuSrBKd7GbEXdYL23OV)JE3EL{tK zF?xc2b_?4<`f2)EVmqc4H*d_nJZ_OfJD{zjoA@3O!1dGn1aK;b9_Ty#f~94yyeSOQ z&ukLvbm6?AR9NCgO?>%72b#{&qkO(p$Yg|MT(j_J(bEM-2@b|pVORQm2gcIee1^|g zI6{U>XvP+dm~ZlMH-gUexuogi^ozk=BUh3Q)(7iDa8=n2dX7FGKc;)7ez`sgqp~Z0 zL-izI3eD3dAC8{`V^)>O4%!*lp|NBm^-J*U2vd8E$4>ZhoCbNWO1l}?rOnhY(=+wa z_#2DAR6PSZ%hVHbp<1F`oOUfPP`egar%jg&)Q0FTPhNSs8uOd2=jvJdM12DCovY{R z`T8{AWaRz|eJV;Y1!Ztze(4JQsd5ZNIR;_&@%~tfk@^UIxIRozf$36|Wh6?|3G)wU zmJnS1HZ!1BRr!A$lTerR!P%{ePi-&82IK(eK&V0{r}yx@ZaF#4z!$X5CZ|0R|L4;I zlT$i|7$zqY&JxuVJ@Z3uC*S;_J=z{$Cf`GlYuK;G?x?yfeKPIR2m=V|SUPHF($tyo zEv6XlL&B?s=Lx)sTf2n*c$v0bjji!!Yjq>@NSfph=iW4RCY)euhY7qKS$mZrcM$VZ zVC_CaIpJbPdJ9e05^@P62p14~5jqmSqQCbDuMnOg)DV^s?jT%C;2oJ-VF%Q(g+oFv zhE%sh!bamIlUf$xF2cKndH|eAG+wi+ISC;Ixq}rtKxpO#u384OGLRAlykPBa{%96CMO05xF{<*F?+x&{_jc0$o^VafH4A_~cFD+Es)y!Xm0r0+)=C=sn5iD%Ta|!1I*#ES_f5ezxwRf(DX0> z@rctSw0M&6IN^DMc;7QDL9|y1`v{T< zO^D__TJ&ImLq4Z^af0J(v^qfeH{lJ!CxpE|6T`!26l1{WjTj#U@h)k-PoKiF zijV1Vgm9d2g2BF_=_|r#07QF?X7TiS-9YE$N@2$x4R?ngqlyh<1`$8CMb_ly;{9q?N^+q<%W> zCBWxQ=g)*b;!Qh;PG8XCA%gUWRW!xWL0Ddbtnn6N#ZqKjvMPz3L2tfvwZ3Gl=p%wA zaqUIZLfS>r)RPcKU>39}!r27LN zTJG_rmG~k|r4K3O1vCvLoa+NVxKxSbX*YntZ0R>>;+^G0GSAUlu{Ta+p-3A`m+30g zv*E&gX?M`eWqyAeKaqg_4YW!l@P=S5g^)mC`QT1@d=-@xcob~4Ou`U2NX+NaM}Jyf zMi6fjjhF-m`Xb5pdGWi(NK65VoJ))G0Tvm)Q1Rjy`SJyqJP0S*^4TjN_pfb1`GrygZ;EoP36oiOcze@WiQ4(( zu0^$QPhWEbu+mFICgp1Dd|CXBWmaJIFM659C~pG5;sJV3#nO-NGqCvL@>D&?vDoSi zaS>T;-3$?>mW!LxpDe9 zRceDxvYfDja1Vi34rqTQtRg%_SWS4C@F&6}1ny*O+zr$ILU@$$7=ibIX=@38BdjBE zA4l5+sB6!5K(*uPPTOb;54KI|S~3YVQ#~AbdzTNcf1r?IU#)w%my=w`0pa z*^;DOoBb`lNE!_^F-?u9Oq!LztG+cGp%Z~3JX&W0U-Gq3LKi|9!9n0P;#xOCcLI<9 zv~WTMp(o*VLT|zu1m0Ax@sLi7qKV>q+8(kz3)471X)^7_(iBJF#=49twFth5>;QsH zrZNG_A>mfSZG_ti@<5UYmpl>Y(QZCr0YM(cWi*u&WXW(RO%((;LFP1rrbUD* z!eYV_!cqc70kq!}?jkHFtRUP?kcGp&G~GwIpYR95O2Pw#2MK>9tRhqsWN}nOlXS;6 zfz`g~rQf$P$arfLc$nponD?_kw+Z}-X-Ld61+@u0!Zaji&V(`@{^qcTX-M=k<+cg@ znQ2JO>sXF9fxj>fiCG>+Z32%n4T*U<%h4wA7}JoL-^m`0nxvrI!`evxUk2|UL%B<2^G#`9#wbgCdL z&^Cb$%!|ZKp+)TlvSK<_c#^@|7;2ct&w>XS;#b3qtc_-|{KID_uK;ZVwM;`|zK`Yj zHL#IUZ6a(YY#}s@?_Q?S#_)Tl@e&gk)2TuggKcH7I)bo24%_Ij*+`KPWsItALBIVJ zf3u;|=v00@!8?^7PsvW@heOCy`gaXZE>Gom1x^7^1}i&M%|`L%XR+M3-! z{nUPOIDtQv-#Pjz{nW;cX#euV9(K%svJ?I|+)Xb(4pSM`cEa!<1xfN{dU>U(zwemF zF~SZy%q9Gj@GpW+C?ZG%BWSvgFv(}Fv5j|orIx;&zVL%O&xt8v;4p5@EKtj9VFeuWa|li zY3GmL-;AHq^$@`%d_wq`u>Ta{A^Q8Dg=SgvCoT@cHuG{)R;tP8s+VY`EKUd3mcadF z7ZBzX+R-7B;BQiY8=ggnwR%r?HEkPe=&DHp0fHCVnEK%_E5E zX_$~#5@~3?1Y94+|2{;Ufu`B? zyn?1T3CjpF*rgH$UZWQ=E%kZX<1=x8UL8?VXC7Rg20ShUQMDsc#3@8tE z>ESP6j@iu=w=j~s2+uV&Eh77dFH;g_CGGsCJIQWu3Jb}KLlDE3la*Eyhn-|)Ak#rF zP)$&v8tz#-N)w7na<-A)Zjm;H9>Bb2zpEj>a_Yb70il)7K!1D`aLI>zMzdcQ#9&VS z7Z`d%vzRg=N|OmYimC+ulJzkV>QTSZ`X~tQq~jPS)n}Is;g}SUxJkCD zrUP;oWFCODyBw9Jz2DkV*<+`-I4ZkDNpSP1Y?3-EBk@ZwLOyA_=e#VY_y6DLWvZ?_ z<8bn9{ap0Vct}K2CeMYTGYs-)BSiiz6~iqZ!)`PN;#f$$U8Ubp*Pc~~zG~5LQ*-Tn zm^J_0#!(S)wDt(uHH1GC{z7<+AR~aIA>e3DUYezIZ=%Ci!pj7i7v=dNj~W>p@6zEt z!U4kjgbxV^2_F$YCdlH$r0EdhQ-Z8s4$~wH99jOz>D!mI`-*Us@HL@6j| zY+dLYMsN_i5xNtcgm6L+f;_wK*Gg@M8aUg5Q2*!D?M2PUP?BZz*$F4OldTw6D}i+B8(=CA!HCT39_=yqA8n@ zL&zn_TKICBt{_Yy7PT=z#|+k{Z2|YN91^pY(YFcQ%QPhBV5ZR~a39lhk)}3*2YoT0ps7vZkG`0Hps7t@l`rPwG_?s-`(pl{re6&;t;Dk0XZIaV zZ2}MbVm?OG&xb!T*dxBMYkVeuRNvCBP2kVIn7^T^P2exSn7^jU4{~JdXMY>hQKr$x z@DJM-`d44fU((bj@PsesFKB8LSnG@V2u)8C#B{3gIYYDw{LL5hziE1kAf{7= z&lsYO;V{$qSy0aqzZ%xH63f#*yH9Cq6L`iK^C6mk4XkGb&k~*^Jl{%uChgi7K4uyl z2x2-__=q81B>aOQ?2kh&{Xz9%AV`RVbZBGvkZH6re84o?7~W?ZZ43vPMjOL>OrwqA zU8d2-u%BtPG3;X+Z4B=)jW&k2nMNDKTTG*kVK38YV|bHkv@uL&8uEpgA4brw;iusf zdiimXs5a7{oRFOqV(4WPVM|lba;7Hm5*;+cRze+Ng3nIMA+d;E5*;M*;WP<|-5|1k ze9(?2e;TcsB*ZZK6YzVHlT@C%$=Bk-%922fiIpUt%S` zzM$72R-u3#>k1sB!w!O+3+|wo&&Wy$G3_HOz|$i+LQ>MD5<<@V<(zOMUHzu#!6HW_ z>U8TYb!bGxkSe{0QPAotW{YQCS~bCMq7NmcauoJlbYayo@1i{%%MBwvTE9xX?;;N-+storI_NG_1%9dhuE zQ}IF^`(2M*Tn|fLP|&u&P+Ysvwm)8;(6&D-&Xv{Q=>dn6J@rT&U-IvC`Srx5B0Y7d z`h;sY8#O|YP@il)$mZ#W5B2^;L#Eui&Mq`MiC+L^2Qkcdf`S1-civN)P}$|q|yo0%7 zu;FbmZT$c=xA zTNwXiskN3D$$@{@{Xdl#e?>?R1pK*@wX?AQsr*UR`LiY_|M_iex%YeamqYCQ<&c9@ z+0+t;)|#h{?c`Y1pVO0?q=0fhDo0r2PY#;=COOEFm%nD^Z5HV_9H!0ev;&9yOSy(?v14!NbYg~>H{Qb)Bxi!-_t;8%5$kCKPgd8u4gWpb?rx`1) z<+t;4y1GF>~J@5OcTkCmFYYSP@FVR;$J#Uukc_jXxr!L^FF7ot0?uvQ)pHpx2{A{Sz z^I&d|apaIU!j35C87Qw!Xb9fjy5Y~^sd1LPy~oUU=!P2Wia1znBVe{6o^aTxmJ0IF zE@&HUeW1O%BaKM8aE7&MM;fGEfL-;@b?up1>3>#n2|`XLpmJt^SVgp%J)T^MT^w< z1=y=dgw!sjw^MNAYy!49LQv);$m^a1sojC-XS{>eiq`LjzG3&!42Z%HgBbmJ7~|hy zZU_hVKyM32TBKtkEZ(FY@w8+0N>6?t_UBi#%xi3H4Jbz4%w9jUxy1))ps)2Lzcrcx1ziHr z{?@XxOSepGmV1{!_xGyYllXdJ^=eQ47a?*_eM{2lNJEq%#Ge&q@tqCf|u^ML1K zUg7PrL6~hUm_fpTyen-`U3+F$>IQn@F;{h#5owVs>HD6iN-Cc?#VVPPk?N_EHL6NT zd_C9myj|z1pI7|j52fd?AAT{O-?_+j;P)tjX0Cm>`nd?@sfUJxeYDK)d6QdKEv92XZa`NuWQfDO8ft$-!{)}7xdZCUz|#JjE!~}Grz1H z5g2prFfvXSx(CMJ8F&JphOxs{w({o$J^iF%P8L^7dv&=RW}&t3c)HMhbA3yZza<`JmnAs91Z=#A`$nV4PTFzN!|A=pdhA;!Qm zLc+aSD|)nL)>=NqZpDD|8_C(btWv~S4U&G(=>$DNuOm;&@aD1Gb*SDM(- zNQWku;?9|-^B&%)ZLM!#y&hU}bv&;em^7ft@(+KJs&J=9)uqPJGB7sG7ftjTL5*SS z`i$&Q)c~a>wnO_GPBbbFL^*}s%rmZ*RF%_4IGK-?1lT+Q8&xenEIk|{DlXGskam6i z&uGrQ&vrvSzPJs#3yklnMfD!o>eI98f?;iOkBBqxo`O0}iB5vrF=(%F{nK~}O7WtR zp~$dB<%kIScH)fjc4&67&o_qI3`gmALGTd;A5LiNi=bK=rWdw|2g&szh|B5GFP3S8 z3Tf&)N~kb;7{eXVfj8c2+-`@m?5O*Zxe-c#ctKBCgoy=IM@JacI))zR+FEdac21Vr zejzeA2s(t;Ga0C$acwIKr#^Tp>F#DY7r1r%NGN_O{v1g=kY0pW3(VqKP$>b6C}SA( z?@`w^^9&FEJo99^z60}YG(w{aa!5t73Co~*DIIDzjNw*e4)Z(fzGnH&r^V=aBP+rP zGVDv4-+!t6W|#ls{1!03sCnc$S`{KPZ1ElF$x2ULMBwNb{q~|T#YjWr+1NJM*^P`u zD&D!t8v9am>>k(7xlXWEW$jF~H}v+tWl@*I&rZrQKQmB*adw7-uFS6J;jvri*wVMA zpgC`AFfx*$gDwI}b_d>vOywpSv*V47IBGJSD!N<0U}c6a;kms>|Cs^hg#U_t*>KED z>S`&tiP=JpdMyomC9+cfT4DE`Y;)s{P=cIm4%x{8FOO4^^ zXR+vXK~OMGYZQzw=av?&fF7}Sjls0(BzDLo^?R}fGvZQRUxY1YEsC;S-^fq~__4D) zdi1JG-MQ1^-6+*ms~%w%{RtIvq&ktxWA;F2QD_oXA&s(DCzB#ep($cvuTB>WhY>mk zhAL|>)E#Rhc_^#dJ<2(^{d%eJ95WrOj%@erL^B^#*Nff`{BF@X)VG*z$M~?X9iMAH z`Gd?Psjjbz51|J--MKMR0v5}irp!A$N{5|BnikOB7@UFaeV*|JhKiAAhidw&$AXxR zs*xTwO3;UdDIQ(boo9E?v>CIt9P<-*E4?68^b`5I0@6b*LnqjImA2H`PXmT2d12~547I?)7&hFwEyZhXn#EJ z(f)B}J|0UaZ~y93Y=0{HVZV(q(xS_u4miHhRy_ww_+T6XaycM66Z zBdkVe=m%R-3;j(A^N;bH;%wcL1wBp6u%}$#-mC<{gOil)82f{}*g4h6N#cX5(kM$5dACa6Bq$hPH{Zfu7@<0nuH*=GI! zarfr&Q5DM{XaWNq!h{JS(TG6;MvW#c$|4%TKuCzJlZ2U|tSTZ7sHlme0s)g~CWip` zs#m>w)d+fV-xpjEWCgww5 zs_L$4eueCIykH2#v+EakF(;;*-D=J}u6kld_9oAr8>=Vwjs@TQ@EW2~J*{1=Il+bZ z?PgA&Q9Z3&yQ!PdGRC{D@?t9N6t=wh&DjLqCFR9fWQj#(jxXOrgAbW4E#*_=F!HIZ zVLr^RHoPS^JXb>@vV_})=V~|uUs}M!`-Nb|1T!ZII~n#%q+I3#!<^zS3AphhV7mDA z4)AMo2A&=?w*|YI$yrGG@$R>oJb<1fq({!vf`x|YLqcqtc$JEabq2%Dkd3qB!9&>Go@nK z4J2g5+WXe%^mM-uGgegpgEvrqHZM;;&o;q&o-Gg0v-!k50Ej&nFw^q0_b*w+eJ;g( z^NSv2=gdz)E*^I4Bj2&}dCL<-H=KOnEA9FCvq{8COQHTP35i$54Dk-0nZpKvC+X#D zj~(S>k9e4DqDx$T4j!8mH^SKM7b{@ag(#7ZH|RFi@*8xE&Le(EheboS2gKa^P08&2 zW!(u;Jk56#N&^XgFj2lRc^<)(kLuC!y$;G2dI8#ctTO>GtLDB*1RahsK@SIDjlRqsIP z&3kq={pAc0Jm_mGI~kKMJDzmp(joOZ85q5otvScVs87d&!0*jw)@nR55GU@y%ZO${ zR@L^>&R+4i8+c<=xSA81g7MV)5>2q%s4?sD?bzm|$DIg&Im7${yO)n7qXfL#iiZ>N zsJtmW%U7csZyQOFx9L6C&Y1l*(=wVH)4?d&ljsdtyu>>CB)kEOf&OP1-hjn;*Ag}f zHG9nb*=VSIggLP^I1(Fu>9V18yPMYhJN>-o--18*&b!L81C$9pIyiAwef}_{W1vsw zq!tA8XPf!6kYV~~SEqJEs}m{?#s>2dGEz*wS!k}#v_Ax-*`W%mm<)v zJ};&d+NsYoXqT_gbHnr)BX&_Pq`+XFYmV7<4jwCfhAyW2{9@asgb(B$yzE`t%liBn zefAGP4)l1}GK?zi_r+L4ucxN=1Y#Yl=x@ca6ZCowOKe=RxcP5HizJMGZ#-p+Mm;7T zWRI&Dwk!@0Qs(x=yJyAXaTG?Im;*^$b5mo@f4l%}%u$ZlI*W;BnUAp)m=23PmA;N~ zF7}FC*kmxHT1p{>B+$7XPk-{Jq28&Dza9L6>6lbMlGcAP2Yo0h@``)#h_1=mh2q^Y zNIyYv%qA?6i_+7?y)X(eg&?(+o**+JJglV8Hif*!qVF@z1$bxitW7>pYWgiaBu+{l zB#X*Vuj2dU^o$~(_-73o84Y_0o{COV0x)&_6dXN3{LO?>3fU>9Nf?0yUSFZehy4mK z)xN|#K+<#uhjsAVn^Be@jSTYo9LDFNtj*0Xf-zNa2RD1My2Ul^ir!&d{~WL(kFJ~4~?OXP~~We5X5NNdkk9x zM80Oc-dj{GdcWZ21a|cRnnoIvI6F8oL;p+(PR!Ejq~OFHTCEe% zuo95|*ZuQ_DJ}NTArbaZ+B|!k6Uc;@-GTSd#vUNdrFcIWyDSuExnIVv zqIux@-}XyL;TXdZdqR$7Psm|=!ep{1OksP%bhalG<+(_9Gf(7L$P@j?LKb&Binci{=uqD>Pt!H0(ZW-Y2MGCc^hVDZ-sd|2~uI& z;$sRSqoV$>x$SUTU05Vu{IA|mDmG_eM@bP~{*E3ev%Qhk9kw@;w!;QTNVdsraD*K+ znJtcZEIgSkj;sh}1PhZy19oqy=r3cFHbt@2(NkFyqMd2#7Ua6c8p@5IMMnVB(x+fM zLBq50i_bmh(&x$PL&NUwy$u~4guV>$tR%NJ`Cd6~T{$l3RWQ*HtEpEwP3fp1vCs`qvTRb6vCLtAKbw**Veq) zShIpEvT%ucpGbDIZazRy7k6Pnzybgi(#_{(>%@}c*_9TA{pRbfL7->e0pT53Kw#8I zTUE`T8%L*ihvs$T#!8482J&O7yO#B=!B=ek$*{{|)ViA6VE=`s%N%P2ad1H54vs6p z{PVV-lD!dF3;>}Ac~(-0-C|J!y%670Lc21URO>vKdAi@{1s7$Bw5mUvi^WN#M0&uE z8D3172f@CmI@*lE|3kr*Jo4!AyzR4Vla{{uY4$6g6&GQUmyU?>RGCPiz%W=?%#=d$ zF==bvy+AJwGT}LB3Yl4Eli3M#J$vKgRMY43`-(7Cv&8C335y- zJ_%4{T>^ogh;4X|Qq$6hHFlKx6N4oIobggLI3WGzjo ze8225f05XIDRWxmJ(cg5)=3io69XN@$xM+Eyv*IWoZ;Z$hT*_)G}P}aWTG`z5Yc{u zrNumwdYXlvUbz{+3?dswVQ9lv7)!|}HZnW{#{vPLLf}Xs&|M+`ORtRpfv<#S+{}GH z0d}jZU7j0ZwE_I}R_@;U~F=@^6o^EM32 z-iAa{;iBmn>(OQfod5&(_xAw^|Df}Y$yi|rn5Rj`DJuEpBQ$)x=Q5wTr7HW z&9sIqs3usDSO+>=5u-TDRfxua#ZkElBObPDo^<9>5KWWs1WqO54*Wrt(Y3Cn8$W4R zu{kY!{~}tel2AVd+}w}QKyMj`(Le|4;I%Y!p%?c7DkR4HEYjvl(&mA*c`-!W2`=ag z_g})iLP`SdAuaTMy`K+!Kafz*=jXHl2Jg6w|6hau#jSMa7r&eqpeEV|R?%|fb(!%u zQUXLzz6FUuLeT3L7g1TcSn=+}YZdKIYOOMpd9f;V2N$}w=ETMZ#~6X6;CkwkIGN!* zYQcF@!+BQ2d4a#U&G-#Sa44)2n61S&>{T^6>6?P<=|({5>Da|SssTDpb+c)A zdxuWv<|0L>bMxsh4w)uqL4PZRx$ASbFDC@oSEFtqNvxro@wWqx?DSm>8l7H43F`D( z{sLqkvtXAKa!t%gi581k=OXo!GJyf=h;pZ-PXAFSdIuT5n(_pG=32 zv{y`_1onz){J{;2#*1&lNI={67TB%o#~3^Db8%w8zG22%>0!Gxl7Tc*@lka;N9w}^mtpdE`=3Q*Hb?va_F5nM9= zC7Ms!^}!{B7M(!nxA{YPM>eybgXQJoPoSatMLpCVl*VixlijrBgU~W#Q3hf_cS1OM zkY(l`iWFP9hj9W7nZpS;W_{48&vBCk8Jyw@PBF|CG$H7;-aQHy@-q#yGo5}@$6Nqd zerhPdcRvO;d05V|^cmT&mbGur9|R=(5Ryc7`b>Ck_lwuD{Q1S&_vrs?acb!g&KMTF zgJyH^4uToHgLpc42h9x88^_vy@xZ_7|DV-XL)fjehVy1Oniq;=3q zKLTx;@Z6!#%=|1lIIicQmTsg>ED*ZG>Gj8MCY2$4QRAdg7G&{JGp8^D*lGQ&5Ic1#5C>_jh3NcbT!n={9nC_ll-du_3$4 zJ2ZUpesgm}!k2(HI^FP!E08*iYeLR4s7~buGq!Y?tarSw*R}307*?^b8x3pFfSJrc zC*$XqFQ8!4FE8XLQe|A5TGWNPekmOiQ|Sv(xsHEPQ$f_ls)o!$u@7m9h}u_xp9|u= zv218xFn;Mk;D#GfrOC@qqu*umgbekmVKsyxT$n14$1f5+Tn*>IDrEh5^0Q_(O;dmQ z?uFZ5609N{mDrBsSr~y5_X7?FRb(9Z6*B?o!S!EP=lTVxiEyhtGlY9haA` zg1G^e{y%AOIxd+#s9JORh#J#{%Jl2zI0y%I7>a* zTj&=0VCD@Y0b6C3k!6hkTFH@E3JQy2Tijt=OD{1H3VAaXMFIs_Zde#h%4vp^8M8K$l|F758BE3(hpK zA<;%j6c_ENUc3ZIVhO{eg@NJG!k_>`EZKc6FlA^vkWyDE_fRbcMzu7s0z(W90Y>U4 z&X-ZGsg9xX*fBJ07YvNH3k7VfTU=-Xn@P3y$Ps^w#1H3)Q_nEmuVQ_(dqx&}kwMjx zqa)?-%XH7aM+$rbn&I?b(-BmbtYVY$>=1wyQAj*PRih-OX#rfuwIskuq}+F%vv(N; zY%Eoal9b0-z>=ue9`h|GW&~0$1+a?E10*$r>$3pukPQZBmo4qxeoy5;P!tAlTAVO} z$=>aQz55(|g}r<3^K9>)fUpHO>uB9;~GuuyulEPMCFDQxdPlEnPd^g-BE zvht}^%FO9xey@;cjN>DEwuBF+bt_HWS{@#~lL@A^k+mm z4>Y%Bz7h*Vbbf|DiI-3yFAd(dMV&u<|!h|5+@ z>+sA*%n$d>xn~VfOEo)!dc5@)m-m3&;4hC83*X`qYfKb(Fp5T_AzU9ZvTWs_lmyW` zbEG?`LO{zOgIQAGsifUBkl`2OAmy23l5kbRu-h)Q+D^6F9%Z$?RuTeNCAUJR2y_z{ z+>bW80jzHsi`6hM146?V?%kcAc#q4hujg~hKabFuo3j=pAI`MFr?#CrB zlz`6?tj-LPK+u`nC5Zg&pO$PsWbp>elUy~p03D?R@8+w~Qvt^%>%e<3`dFXm9ztFH zFXh6j9)!)XXwsEC-2waaQTn8gp;@MH*xh5Q< zAHAUwbykvfyv_y27sz10IlM=9oUSU^^t?t@wCMRBf55;mmuQ|1M8KpG=sC6hqCaPnQICuq#UMXWj4#A+sWtS;ziL-UuXf&Gii?T&~Of%Vy+#=-ey$iS5Na*&8OLZ<= zG6K{5;*vEiGgUP&jt}(pi&^sLFCW9S4g896#a}##`k;3e1W`|AC3;}iABRy}dR1IO z#kQuLtJ+s=fYwdduIfh-n?S~*A9S8^ECeUcDH8rZ(3^x8|I-P_{)!Quiv4td4oVlL-! zxC?^}yHbf)?7N$hp1Enr){!y)z`v>Z_ay!mIXWf^^y$>=%l>|};?n9#~u&gDC z*Ky7U6B$jT^?c+{*ZM&qc+8!554G&B_#?J{bb1=t5YBn0;SVFtZg_OIMoL_cn|$41 za9wDa&DrmipUa9T+*AIF*lGbX*`_{C7GaAbk{HzO8jH zBY(WpPA+v9R5ajdJ$CUAqZ%JYdx;84CP2VW`!^HO60*(94Rf69lwB3glg+K=!(dWO zrM50L$KfI`+B)sT((|l#8qcOYpCfOKoi{?)9qhH;99){<-j1p1+I$h$;G&NnoM7c8avj}U$2;O3?|9o$ykn23j4@G9PVL7 z?q#pY#{deX%3cKQW8?-|`lS)qI$xG8@=FnzbiT?h%+Xl8?pKnSAre^1b(!-Fv%NgV z_|~&L4wp&8%xMtKQ$>bArFVH&K8hbCgG@B@(}$Cz>!MStHZ1AKM{a3_Uby9mM`5Bt zt~oK~R?PGE+sypb?k@)?rof9w`Qn)QX>g0!>N4V*^V1u6J;`^;)_S3}qj9i2cP+M5 zZtfg3hjwsd1fbC{j`v(t6^FQ^%$KV+1pTfhqeE)+52?|3LUX*lYgWfs&0^G5vqq1; zYu2eh-_El7SgravE^;4tWJcY`&gf&~ES!i(>flne6{drz=W5JQxWfa2k#E;o-jmbF zcNSy&G4f!n@;Eb>9BW{v%IF3>{-8kr3 z@$*6OqFfn0E3Z+M=pKmki)W^AdD>c0ja;UjJ(_3@S)q9Nq|hFbhs#!1yO1IC<1T_8 z8ptvjD{Y>Q8XEKU57H%_mh&jb@TYQwi)hVlrT%jUcdJfm})6Rs{Cm7Mf!$G#}!W zE%^2&Fp&h`1cDN+;QPc&OcWMx#qRBnAE!x}Qt&NggUUk85i+Ped?EKT!eFeT+-bPW z$XkkJq_6{Ws)UWrWV!^5m17g9=<->LS&*Vs5@`z}6HNLXz1TbljaV)=-Z8w`n1gph zhyr$WzYb#%VLE<4SC2t!rk>l^YhHO-%5Xp}L!mYvs7Zb?&rG#Z3!bl0>t&(#RK7y( zbBS6RfCIJD?S1$(EQr{LPsbloVxiU*KOa_6@=XB zS(yyK^nv@-5P4QEMHflH7-Qxt0i$2`mL(^d{N`O&n<1#H8X1l%rBxJe4P+lv;P7Zr$60Sfli`%l5#+F6i-fjGZ!BHC?4W|N5yxdxX9k*fF=ILzi`4p zkV!I==VwyNEFVGBy(hZwhHk#=S#&&p8}6{+ip3WEzyyW=$mDc4F7|u@iK}it8SDMx zU6#HmZ+yDDP@E1BxFg3#`hF6)<48^2+b}zp419lJbBOJKxoqxi24yrtHlr^9zEFvG zkj>~zk$8tc&_b4)4b>0|brLCma4uYVIo2@5yTK(>c^_#^MROeP`|8HbmKx^DT%;ITcNDtgTVASU8iQ^Mq~oZ-+Gdh?3sW5!q~4*(_R0 zYSD%w#ss?!MT~iN8T|=jpZLM zac-O~(ya*m*#-&~m>oTp*CHW@W;}63LI6HRx#M~2H>9GhrEnaby=lpjav6s@7>MHZsp0!S3+tqq~KT!E3r(VAYgAhTl56(!pbowmPcc+C8R)~7O3hmIg zi^0;$JnDqmcC$it-7GPq7u7WKfc=Vba+ymCQ< zD|u;>yuwySxyQ@1s2Q7Ji7bB;ACfO(Qc>|x{ju%?5E~1P3l`c1%jklw5mKUVJVsIF zd&A_jIKBX@If>)FX7F+zK^%{zTuc9KMI2xIgk-8j@w$?_3^9m>O`4Suv=*r?+?IK7 zI$JYErtB%iJ^ z3$fccCC`VnFuu@6?Dw-YVth`oYbxeHR1vq-{t z>EoJa|9nBF3=yMHBQvf-t!63Ou(6wAVfP~xSBYKC>56Q3!OV<79V@Xbvau^f8z5T| z{)j9KyCnRKgx&7PGqXpkRZ|2X3#arXv*`*4N`u1_lT@9?yZ*O)>W_WZB^F z+3C~lu;1hq4@gZl^}2F;x8O9l#ihu5MjyTk3JgbGqxVZ z7FxCY;xZC;-X5H7WW~OuE=!76&XLP zI}=IWL69j@b|xmk<;3(S1-)1VKvu_YO1jT5g-D_}SD|2tZJZ)TNH+_nRBZ>2S*029 zD##q=&RN*u)?W@Zx^wV9B1g6_XpGH)1jkVaJyl&um>K*ZxvX^~q(vaZ=7$pq>pVBH zrTC#lb17Z?4Zq&r`H-YiqS&J3HbZ1u$l=;LMO{O9BKU{>NHau8Uc7~y4kTODqNNGc zN+!71AoDQPs_`dPOKPPkYS9h#VuY~iDiI=v#6G`C^pj{=zgO^YRtG5G9Q>#xMMuI& z1oCZCb@Y#L%8 zr+95=KYR889w1MN2JRz&35jTn`%_1#rfmE6Al0O0-@ZY$tm>=TPP4gKymP;v?Q-`2 z@}&G7&$C}l390IoSR)#Wj!%qA_n&z)Y*!R?9FZU9!ho1w^)a6$bYP$V)=Q7rhooE^`1cbIr~gY^RO7ALy#6DA(A z^oSc!PMLT%s8F*~|EV)nf=VB$n8R9ce5q}NP+4>si&dC zFjEe|DSm=ydB5M#W5jzhhukG8E#)DP{j0Y_jqCLt{DO}t6 z8Kn-HlDv4@qwwax^(g$Jq%K2DXKY=1ceYGq_gH0LwaT6xQr5Gw8aU9NI?l4E$^%=6 zJ+--O#A#BWn~wUhwkn${PnB7gnM|J6I&G>?pe;-lEemM7YLwGuF;BGc(`CTeF^1@@(3WKb zu@+M;kR}(X6dh+uisSxnU$qvg?XbVXoO#~^oFeRuoovi|NX+M$N6rZ*)J$quU4Tup z1@FJTM&tRL61WU;4r5H@P2p?mT{7!)oM+l3p2_oT11J|mdzSrc$O=Vy5iz-*t}kMO z9=cGjBQ5;rn+Quv>LLzkB8JA|iEwCr0;e)F%=;DXsLt;e{j5mh|8m!OZT@H9)(IO<#vD}Gx` z1M-(x(N{Xk!#oWzN9p)^YN)|qR*o!9%@}v_cIcdeXMyb#ECud71j~H<<~< zr<6%1a5%jjs>d#KGtBz%;qki0%JhfE+2r}aJVl2+_9})-W*aRiZ0*QS$4UnTgr}! z=oMtgZno@5!wlJxHbC)Xfs`F>zm{>_VmFjiNVDE0AfqU<}`B*uJ)InLy%5qNR@IB zCrC&U2C;v5NC4y*#8QS+s^F-TEqlUdLm3Lgy&*#~)YaBO>=;rbib4F4+1)UEmdZh# zj0+Du+eMZ zb_883F&8GmA$vX|KweG&lhffUuH26^kYwNEEK0!tdjNlM*XA{Q12H+?Vh*D;jAnH{ zI5P?Svfw$=sItFaGLX)D)OBK4H6)bNM!L(7${uNyC&BN~?2JgFF=iJ8jn5qCM&#{L z*>5j;&AbABmTtTmGRc)GOxOKXD#9 zEa|I2q*3{!xxBeEb2r^{?o#!$dAXZvyk4CYo0Gj|(Oar;Pb!>ZUWNEtW|z!w%|Z8r zeh|=s)hpGp=HMJT@@K;+3R`26Wj*787$XN_IAzYql`7a9kHFwh_=Rk z1Vk#silB^VcAJ@#U!-G^g+t-3eKyPu-x2kA-ZRmu^nbH)!(c2F-+&U|wo{p49mA(##2Tizcl( zkFKxggf=q3&7g)xw*(^tJLrU|n>FN;{fx4jP5ht@=k zWIY0HAar{7%wqKL^q8{!wO2M%>?q!{RY$djy01_4gzg6mbqJ1XX~<&>b7Ic^iq zi2D+bEw2an4YlF)6{4L)(JzhziiBQUNPRb+i2JKZ?MGXGp44fwAH+on^x|3mJlk*v z$(5yMBv^J&pob-Nkv|xOE^=oS7a>!68O!rX_*>enD?N;fb&t4Nv+l4unKH!PoRX}I zs}~4?zhV$^E2(o7mwoB5(-5&ODTINS0w#%SV?Z}~cT1i{`w-R4%uAyqhw*eTzBD0N*CyCN20j4O+hD z-Cx1GCud%Y&W(sEmAt#8Tysr%F7+)g0KPpx6MTDCD0)CbvTh)@P@I3zLJ#|hkK|A0 zS^HYJ5;qQE+JOo`zgWO`UL8yu1$p=V{@0NA9<=kP$Xm*sPIsatukIjT9llpu-aZ-u zUfmzT+_n*!Ep2Qzvq~2-A6&>TypdT{o|-Mc!|~%={=vr+`jDRv$K3P)M^a5*ZwdwY zDp(ZZAF&oMUx{R$8zPq%0mdqD3Tt-38qv~3@#_tGZlpf^~~9`@ZuC&8N%le;jG zF7^iC_*5*)a1dhpl3(JG-M3=yC2rRL2ebsNw=hotE6##NCNaRG(^By?G6|Mt4#VA612Q)ZV(5Ge+v8al zv~mmD7o6hFtEQl^a(n5?)?9TLmiOej8ZXX(K?ChIR1nNvXG+RmCFZ7JalgbIe!E<> zPL!A?SeUX^BVSrI+zL}Tzd8?Uq**r{whye-w9)dSAx>4;4qq!FJ_9>f#AWiI$ZWYx zhM`KX1?NH~mm1;?PBB%?f*eH=`$|fJRb_}(<#ts?8X~pi)(8HH=^)bd7Uv1$96R87 zKl2V^ohP_(%@(_0pU~qswF~wM72W!Xz6YqbHh{|GN;r7a4NNS8b5=+qrpY^{#iHsK z`2h~zbW^fWe9j-hZt38Bu-j}*A&@luAdW$12)lvXh}kB&{l!rDM5nj0`VKCTE%l(5 zL|}xi$qgsY&2x_+F8UoTMVegGI^q(2W+u&8_G!euwVDZbD9OtZrzniERav~6V-L>d zR+U?=D$SfiC-H~_b+R15(aA0rr_yA?oT6zg&Lzyk&8eD6an%KJ;dr%qxkmFi3#KVy z*5nmp=@?9+lg4(eV`hCZ&@rfbe(1UVjO=pM^&OCA?MC&$yzZmxcMBG~>zzmQS?kO>LNebirJy4glC*jiAf@2J^ zdl%{;Y`BT1Cwa|E<27sM40}9Ro0_)UZ_?QISJ$5ihOG!5tqu9INpsR(lg|K9yHy=@hBNLT9m*4I!d^#wi!<${BdAiQcBnq0qK4 zjRbK*EG82=$wMhRn+%UP3`sVRcgeTZeP>Q^+-^K%q?p0OW$z8@%37caKy_9^p&`=# zPFT9|%n&>lQb2ix0BD3PhLt4^x7Dz+;G&|5$gv9$g;DsvQ=B$W8FbK;p#KY9_H{3Jk4Q4OcJl|2WZWv4+7ypM{7swfL>tDBx{6NjdF@FpF%0M z*i#G4oP8CH3L_lT*5^*+s6gRC;D#Dbgj1pKx^q+=q3+ z>`EzDO@5OpqAWbJ=$8gSi-7ATZr%Wm4;ELzRzd8!{fOR0W&a;4Fw^1KGUGv zcunO~WJ`_bh5e$(^F#DW*UPcwU@@$xZ7151ry7DF}E~!_KTxbPsFUtxJy_?5S@sY z6DfC?ooy+l=SftA?q@uKHC)c1GrP!Yh*MIN-@!a0bQ0m9z@9|({zQkE>WMCU5`8Zx z(bmvOv=x&G_H|66{1%glo)}RN8MyJ1LQOtRqRQvtLt+kJD@BW`dmR%f3wmUPKt%&l zPEDX8C`FUdvF6ZvqvIB}&@g{lrdOSwO2#xq1*afcDt&f$qXUVKghY7N_FVxuA2DFkq{O$y`L*jrinki%GL#ax<_!9&-;Tc5H|HLL`4iY1-( z;ha`>JPzG#cM-~J5Ox%RaSXoBL6+Js)~U&x5vLm9=zg<@?-1r&a++4$-OKZJ^qEn(HgTq*7y5 z?p`j(MLRXZ{~;*9Sl)-L_ydMX>C~SI$1n|qb9n?_c^>5y%a1^*!}H2Ow$B_P%9p@v zRN;3y(&&0)rnnWtoASIY7RyjRcgFR9HZr@+X>t7 z8vS|94SehEUP9KXEaOHY3}ywm)E-yug>v6w79MAzG0sBcF-|e&(q@*;BD~rZ&V+WK zrtD^&VEX|h$pz(~(0u6!FDQLGv|Lcuf9dEL3S{KKp%#WRlu-oQgA#h<(B#l_W*pGa zbLI?%Ql>Z`XjpS*iiOj9`mE;6 zSZ2D9DrFOvnQpkMPlt+7B;}RG6wivIegI-5BoDq_THV%wqd6zgUM1#*6j`C69 zli(;G6+Rz(?EXfB&m)fVQQ))GQ9LSqCOIlZgHJC<`6%$&57kezLsa;@^Rc^4 z^m)`#JSu$39TlR%XOg3Q6!b|$abYUCZLT>y3#WMEnqF8a_eTgKGXt3+VuBqxhL%j+ z>hr6GzdV8W`n$w$rE#^YDKixDgRCD0LwP& zUaJ5ninT2Ik@2RhLP5u+U4f?2+3;~`FD1BAy@E7^xU_VuzGJmFBrdJ?d`yziq^D!j zCNW6Dw0_^nzm?}>lD=I)_H}ya!EKJrFbjv8MXsFemxHc!3LolONtgO%{F2lXn3u4> z!9INEP=4;xM3hP&JyZl!TNU4{=@}!n+1d{w3pCMA-|VS86-`8l9DhE_DS4m(rHI1z zjnI}sB?e!v_wK1m@mP{F<2%ckrXAb{S;`s&a zBIX{#;C=WDY}gm{zzvMU307{Vc%4Vzx@OPy|)1l z1wyweaS#4q3V+-w_v1Ft-|wdfFG|GMyCFJQSH~^WZ)9Fe( zurY+j2tfi1Dc6eEVL*1k@wwC!eJ9HA%BH7Du`)U8QQ zpuv@L0=70$m%5>>}n zsJc@AR`C_Su7b|-6$<`ze1*rr zs$ho*@fB{MT%I4WoJW`+XIRLce}zO7?|X5ICNBH!tN02xJwbe^;wud0rX$2xI2xIU zp;qMh3J=d?G^A94_zJI=h5qg*k<m6s zFIv*(u};*q&C*7#vYSS&hlSds-z(Hqe1!#o9xlGZl<2UEwXizD!m5^2ZH}+-^o6p6 zc6^2ZD1pq1uP{)xEbT7Z|5V0TxKdT8cmot&5?^5;%26qV(EJ>0Mi@mXLVSf^F3|khQ^}z?|KSu(omS#2d;>1Uyp0fFVJC9s zyv1=Ymax!ytK%zNt$?>VzC!FD2c@|Kkrg0r9X`Io&VvUL|M61US3}fsN-hpg?vu*CI}nmS;DI zjjvFQwn!^bvOpW-EA(Vq>2=Uv9%#BOgdM;+T?}aB^jl4rTlXpPPQ_QqdIO!(has)S zS7?udN^?7Ge1-qa)`RmaBrt+*h*>P25(6R5QUQ*cTZ^yI{Xy)&I=({ib;&`8i?47F z$|(&0TzrL|7TUQM+V^ov^OPgLLINLrlM;GwPf1}z4BH#J9lk*vqj|rT_zM4KZeZSz zCcZ-1d78YpDajA|ufmgT=ZkRi8!o=W^f-xVqWFQm4QN<`jiD%~I#CWEU*W(Gi_X!+ zSExT%W4ljDV1_7Wyfsxd1Izdd&)^tZGVo}QuP{d88jt-B@fG%btq@l673KjOi^i?Q zSID)ojyAqRyoLEd3-en!MQluG6n|xWg_+O@wLv->eY?M-d=&b2jH7r|`t}=81lxko zosRNR;IqI{JSu$7a8!tfJ|0K;DDe3NFJ|cOMupEKjtbG>Q|>4q1wLLBZ(;6`_6!|g z;ZDpGsBsC_rAQCt1_XXfz#nlfW#S@bc;!ULSIG1Fy(K;wUm*`}zT|*@F1dvtOSf5v zD+lx;)Ycw2plgF3`=94Z|MR1e8ODmI!;jZYV*hg={LhPh;)VUR6r|}Wxwc>Uu|FO> ztY3KAR=H)WKn_tj_kXj+StAO+@GaY@f?*C;EEu?dhAaSN%o)+TG9=NsxceU;BNY8sztyf*Z!l z5Y|?I?Tes#wd${Z(aRw?YS-N8{I!QF6#b%X6_1Vfymboe+Ozl&*ZA)@{&l3j7j6A{ zQZK;OP+C;94{V6P_IofIM)cQy5t+2YG_Aw+6R8r~F0i)0_MEdc>n>MaYFOOBQ-<^w+LnjyHUM zu|c|M*-X0>V~Ata*4*KT18#)%p-trdX}yKNo^u?>p=FGOL)_svGpF0U8se|rFBZHS z$zQu0GFuw=Y-Y9nwb%KXS)~#FgISIrXPiSn{+z$|TYZ6AIDhT25*)O&1rioip52_% z%14O5b~cP2n5*PQn|88PL#B$Y(f~ytyQq)(qVOYDL+Inr17yiV{k4YyEvV#MaMU6F zwQoaFs}Ph2WX#aWwC6fE&kf~%Z3J`A^2;%RYQaD*Y?-GPL}bY zOvUCy{k1QU+52%yf+n{2mp%Fpe=UFQ(Xz;EC<1ivMV1+_{k1cYC;hb_MmC7;^w;hp zE8ZyEzKGh?{@VL9nFLpHr9=F+cgftT65=3&c!dmrxKgA1fGTFefI|+MXIWLQv#RXnlx9hXzxESff=I3TYd`TU?;w_avTgp_i=U_3mVHvc z8?NrgKJArVvMz$YeYX5yT?8GZ@YZ+BpTrabYlk1in~_O_XtA4hL0I~0m)wliSKs{( zP)ia0wZ~IahxOO~d6H&=RE4-9uH}@ATpZQNm=gxr2UMG^Dh+4p@tmZp=!@QOfS=LH z@VC1kM`lPT^_+_AuRY0vS!Tg}pHuL68`+w__F$MEFnn@mZG)OitMpZ3#ycT1tCz$# z{GhZ`_=dmS6NcmKCTgPAPtg?WE3vgMZa)MQR>afARmgPCEa|U(_DvXk?XP_i*AH`> zda|r*de~q4c&gL7zxEFkG`2@s*p_q3nrtonwKvKdPJiu>O1Kf*UwgQ0A+o>rgD`1< zdn5R3ub|v0{I!Qz$WN0PKqh*bQ=~7zU;B(h{Iv&C(~-rva*^8bhYwf8>eAXh8?+M7{MP2<1ZU%M=a z>C+JEul>k_^wkB0!Kd<_{@Uk!M@wjQ{@QQzRT}B9-C4CI{k7k}Ps8}`42eT){@TM4 zW`pF4P=D=C7M?v-zSCcO9c+xz;@Q`M=bI|#4DQClUwfd1=Q{PhjsDu_KG4En`^QHx z?)u#PPx)*2N6$bF$eV5P*S>JAq_}vLiA9eONA%aeh>xS`h`N2VoJ)qd^);SBSkV7J z;;;R{!;T5miobRR%Bcy|Hh=9gqxGtDk&-bD@fN3SefD@K60P`a|M8H8MD+gJTXQu6 zdzIvc`|}C`_SYt1Jfgq$T0ZYq?v=_uCEY7ue^novX@BjRK+jscTk+RE)$T^y{I!1@ zrMuGG>dN(;vi0Bh9&{kliof>bD5nNA8h`Dj7U+AGz-S1!0$b1NWgb;jhNEyz_Hdf9;uQi;fXm-1&*pU;9KRSEx?iP5XA9H&Tv^?XSIT zocv<>Yk$HYFigr{d*B0(VQR%+y9>&xVQQPd_8U32@98F_(RKK1H$Zr^d`~}MNsjzs zM*%zSdpbm-Zt3j7`+=!mYFqQyo`r%6)hPV6`!i0oI{KtQ2{q_>PO%yk&c^cl8Jhk3 zSXHW36|Kg{$=?ZUTXXB1yU z^Q9jv>Br*wmJ3Q(XJ=aR*Zy*?MftY*Yu`UYQ*@^i4h=DcI|WWv{@Ot_Zc(%qf9-Q@ zB%<-x?hnwGzjhzSgZ#A%fQJqwIE-;3{=6G0?XUe0iK%5)X!y4SzX<-?TTn)^W^4Z1 zw+*-F%u1x?oOx=DW6rF_5Bi)Wx)M&xU%Q>cX*31>&?}rXcFRa^jkx^+Zh-E7y~ZhB zx~0FiN7b;*bp2FC%S>0R>dU)Ot@vyI2$qB0B7(p6ZsbA=`d|IEd%b1rcTwE0*}uy! z9@TxHmmC$e{@9v6xYAKR3VdccibsV{e@BIA@M(V2?r;?N>~s{53ZFY26{5lC5=Z$c z@X2u$j|v};qe3+Jd<@-EUjT~&pGO_Vqr#`$Q6U<9COOJSflr#FcvSd&`-a`$Xz+Q- zQ9cTMRym4Ch0jb!g=p~U?usaYosRNR;Ijb5#rsNb)Bf78{uc{n zB!BIPkx6F&Eo|y^)ec*DSbyztr)v4&zYIwkcymJhwfzJ%(w(Z)2K2*O|PuifjFwyjs+Znw)vv0iO(6pw2CT!{)TE-+W@O@T{x z2?l+DInyvZ6_>n-AOJCl6PhM=ZfE0Q_J`(v&vMw7WAHw4#TlK-=t{MS-Yxd+V{Vm;7S&e28s`S!| z5uM7%;{BoQe4~6&)rPXgFUfhunh&w~%y8FCOV7ah z5G_M~1F!#7r*>=3HyXR*+$h!S7v#@~am+>(Vb2PjzBkV_xAI%rDVyjSC2xseyvm(Q zF!wjUOU0HH6DDI6CIc)?(nB#x0xU+RQ1k#Mgu)EQ0^t<>c$BAII-zlWAid#AKqVq| zMo5dAX(u)}rsMECyMzb?s*TQ&1iI;ICeR4%I3Q5X9?+&N9hd~t{pDT7I}F0eYZ!>e z#8I+Sc@4+mSD-_Q7`lynx%9Vd=xAaqJlycm3ph9i$?mZr1x4`nti)@@F*V4fpr&{~ zkB5%28V#)agu|-&DaL9o8zd8kEylp5m31Njv5jjhH=yOD(u|6soe=yO&$1MHML&sX zqY0a5T9H>=+?_FNSO`pgz7ntam!x*X1^7VNA)+f$z5Hs#Y`wxFQ$&O=mIxgw5du2t zo~JidG!0lZq@wAx@{`HkqvEtqh`~KMJ-rAI!is;%Vasd06?y4oi7hM=d!(CeUSlP~ z$S%csY*Mk<+?z0!u_{5iitJ9s<(JKo_bYXKrvFx4YN7L(7N6>3p z-4OH{y!PqU(Dn8=)E;cc!%=0);*|BM6oZWIGNTk3YD7DU4!{cyPXs0ylB2<+FfblT z+1L01_e)$eLUwd9^eonajJ$8OtxcvXv`7z=0f3)*I`87=c79fs0c!T>NF2B^y zzbjn+Xghytxcu8~__M<0&$a94gv-CtuAdez{}wwxCR~1j-To&B!t{TDoxdSmzOdWB zD_s66yZ+K}`A^#QXNAkZ(XO8pE`PIKKP_DTEq48waQT&X{wGag`oG3*e?z$ZYPn{zLKg+H^D_p+Io?kiP@`u^=)57H^*!5$=O42sGq;2atj%Z9kE_1-sj~*k6$k zyPJ>YVI6C!m>#4`#e1;wx)@b@61qGUO%!84lPN=d@))Hc!Dq=RTX(_S1hYYtFj+-(S$hMSL}WW|mE)0E8(XPk5|u8_(4@Wb6iwP+ zIps2Ys>_&HONi|)CpiSiA}6`_M5XBx;vBQfoS;!t+>QdLTU4>(bhO}PS#bWY;P7S4 z9HoWX1Nhbn8npu_Yt&|H)HWaxI^q$14EvPX^r8Vwd=`40@GE$UTfB_SP-28Z>>>-w z4Hgs$kA^Fi1QxHqP;|TjvO~`l8P4ZIhI%N#LItpU#pWb_=X5%~Rx3w(YDsx2JQw`s zUBs`)b9ZLW*d%&Mn3SyKB=qZ$-Fe3j;%uWPZyE*Zo(9TezU=__QZ%Ojf?>c4ZmZ`M z^#B9orh(av%$D;Fb1W4hY{L!E`4TBi7juB7_II4ZO-Fi}<`l?gDOy#gmucvgPGX^P zEbAGK6UBc&mOMLJT=_6~_VhYpS#Q8279IqmT`?P-Pr*^$Zy_PeNt$dyy+%SUw)pQ? zC?)7-c>enknds)>`0qLk(1ZPT_Yx%_-6tKXn(!*IiZ8Z`f5s^+9(&~CaUP+yCvb$d zcq9|`bKOS}_45g>)&sM_=9C13Q<6Oz_9F65x~9v)ej45L6nx@J3?YYynp#*sh=<`w zu^A`XASHR8-Y0J=z;v@oOkf`i{`_~x=iLwTN=T)zu|I>`6EMu~!XlqYT19}}(_643 z`CGbpxlQnw_`G7mqnH?jm&%FZg?0pz^sz|NTau&?kz^n;r6(3m*B|aF_RYCR{1G51 zwm0XF9gh7ZmYR!XRQnuk*OI@9xBdJC_{4-(_LHlQ)zrPSucmGXrn8={VfK^RFbzmn z{Z*v!6T;;{h<1 z`$?Wc`YQ4M{UQ6w?eI^ExSy0GGjs_(%zko=h3#ky+xt0X?P&33{rz)%}_gPgu8a1__ti&XWxSw2x%ur&4*-v^}P;xCO5?;uD zGUpY?esUB;J#;^bRR9mOpWL6u6rfGyjgze8AO;_CKN%lpKlvM2JmP**ip-Ytt(E;G zSt5n~BwONy=~Bljb#p%Ae)8K^IngGHzr8C{qs0kpL-vylx=I~xKe@A)W{WLK3^PQg zglg|6_hVi}+)rweiEbW_|AttAU@_u#0r$T-rI!%PcY*ekPFC^0R`DBDalM~(C$u8% zCqHikT7P~&x&9bUmxq)fW{B#Tw7yW>f?k8kiMm2Tg!Y(`CoN zrq7`gX$kSmA-)s_juq>0+d72ZMpPU))xV^#m?ecr%sexB7?3G~th2mj;cis8{4LSG zCyxP5(_6TnoSU?tnh=b>MGrhHhr#T(>;Qu1BaLGNr2mfp%f~J|Kz7*jjAaL|r@u#5 z92j5T8OB6c!}7V!&73$-CrzqVx^&oOQEAPht%MScVrGVV`^cTo|M}L9b ze)=nE(^J{rzo-qqBN?bIc|(uwtZsXxElMP9=P?#Jic z7@mA*4Dm!YW7w=3{ll*DzHV!muG$&nx$FR*FxPO0>H+?iNkDJoQ8!(7i7Ry7eO#iW zo%6dU{SANvvth+vH-~(^MJXAJFhj6fhJR*oCS}gYt3Q!WH(R)_*xt-iHKeD~8;{a! zQ#U2`8sbV$(T*GU&)XK_JdW{ zOJOZuu5y`M8&l-7RsOP0V(JpaIPD;QyoK%AUXjVpVf3zIk_KpYm0}Bl-20MVp{|9h zO>31QQtEhxs>$!2OJ@Zs(8O{6lK^{tIvpUS!}5=xo~mZ(i`mnNXg?tZ$sVuVDWbia z`MQ}}U6YF^yvq`6#^Sx}vMx1akHa6=Dcc*{Jr>LOT;a;T+~ujd6Sd*bRCP18qF-4X za;<~L*)GsHyt`&slv6aOI2)jG$eTiWF}x;Q#Ph724(0^G6=7R@X3ZzoC&=@QwWwo1 zv(~go($**LQ2Eu=rg~=W{*7STD6j1wvxz88*YJ){Z z;TMlx15V8&bWVr0;qnd9lkF>@&SazK(SBVhF%Tp1mJK+;;&MDJcnSvESAK-(_#zs| zIT-jm2g_qZ!(cixq5Cf(UwhHl9(VB9Bs3+M# zqp&c%f1@H-B9E60JdLSa=qnQ6Vxb2?*yC=GXT?uA4={&+B9-sA)`Kkj1D&mxAxX`~ z!E9&z5l_ly424z4ze`Qi+u9ur$BODRL=Es~JU)!C!6; zpDztYrx1@v^1x0;X2<}^ha}Xq=Z;}wyBlo`PbBJn^W9XLGQ=4Q`rri;m^eNc~%hFi|z)n2{J9Xx7X411@-=rd(MW#0r((ak?)UBNqoBf*KQ&kK`Gm{sw zAng{p4Zyt=TUIzl@9A#3^B)|oJ3mSyq7;AI_I&@dv>1_$p96(j?x4GGrIf3V9z660 zI*Q!_z`_BVU;(<^0`xAYTy!pN=DJOUay2r4HIvpAAyCJJuW|eMMz(u)5KC37NiFT3 zza(h%ds?kls8(~`nRr{-Fq7`1_6|1CRcgl4B?h29*p|(%sy)xj2{dI%zlayBWt%gI zqGD?g2EaeeEt&NTJKdW3@|#VKopShZff?U~HVXsswW&kJyI-|J>G2k-m&rE4Knka?^>0$|~nD{9b3L=(%o4mbM zOAxN^0S9|AHHZ{(;ufo=^-5qfM7nIrms^ZxO3(~ED3}B;@h&b;!wA{1<`3*HzjF;2 zQ;ts2Sr|@5JbixuU>$JZ6PRGlr}1(=O`!QyM49u`)8w4$&U0#wV}-S&O*M7ZJw3+4 zuTsJ#rmD%Ej)lYRD;AghC<`VNpJBPC;Oh8%%kT6#p(b~tTwqes5$w=!g3%)`Fi#@0 zZ3|41h2_E&iH0FQ;*_f<7xtsldFJ2&a-At5$a?}kExM#iy7VNvoKBEA1Q(sm(323( zWrmIsXgT{lUehGbg0?_HiR(7TjYWKICs__y^Xbd%9R*~1tOAEw$#lxjkA>Eviaw|rx z{Wdc%wfoD#2`Rz6)cU-1&?Cn5AvbNSt6N-io-|~bd9L9xIEq}v?^VuS3+6*}1~oSm z&7qxo6|qi7riwFtu2JU8RU3jn*OI)D8ht}*L=nKzbtQo?nBz#j+Rg8-7lQ4&eM(ev z=YtR{e!*O!EnrhieQ`W4N=4Kc`%~uss4qU>MKj8OmC$8~F-Oq1Kd&za$}kR5=!>IJ zP6>x+Mx!r!6s|>Lu)?+NVqxY277I7mD6#N2wy#Ch7hiZxufaviwq*$McV2`4Z}r8F zG!rz9ThSLky4<4iU#~B&kZ$k|q59&sizRJ+;$oHW)EBRQ0!$mFzWB|PL}{rn_EBv~ zeeuV68b+M@-kQGXM|2KM!iG?NG0nnrh|2#23y9VicRe0Gp7{aljm+8M3}Oi!^4Z7RmbJ*DLvJ z8}-GKOC9XmioVz%<%q;x%E)x2B+tbCi!lUrcork49hId)uMt zw}#FOC@)S>0;(ZuIi>VP3Pxw^i|roa0SX@+>I+POkO4ZZzF6VX`{sR0urq{5LD%}? zN}5)Y^u@~vB+GHF>WfE9IF^2xEumSzZ{y!>))z;AM(DSqFLuY>*NFP!b?tTMA5=o0 zArd7bhvA!-vh94N=#1+P_6~&K2C+#7cYWLW$BAv z)#@SoVtqS}{yw)%A^yK=HB?{hN$qKUF$V2L)E6(8ZAyLdAF|o#^u_z$ZH3aQ7OJBx zRM&FqP<=50wi8L|d!N^o9#+GYw)Mqqf)1F>``KtAx20@;q}Gu_Q;kF(HG}h zEv>Lx`jJzvaQfnXXvfkQcgS+#^~EzD0K`c8Vjs$kN?+U-qkH;IoF4wk60X!2$VfDo)n`zslS^8dQ zO_Ll6Eks{@0X!B_U%V5U(d&yNEsz&jAYbE@RERy5|GU1pWDdlRzfNE5kLKE@FCIMK zStAO4@jr8^LO6Z#@5r<;{m<0{ z3;vRTA%6Kc29cul?5|t;a&AnpqZwa`zeWDwM3=bwKgfjCXAbp?hp9ae%!~JMdnst| z+4EvzX4(zB%zsX`z|T#pKl@&x}%8~#ECe~|_MSGq;4;P=z;kF($p zZ2_O!JAvBUU$;QDRZ4&H7(?=8+_f(9i?xmxKlm6JPBPG?UAaV}lt7I5;#|8+q<=HR zw>NXrt2V$j4Cg0lWku%Tq0%b!Jg#OyA@^9fM7u)H$1PEM>O$Os%rJ+yb8wB0oMCGw z(!yI^&^5RShS=^kqmHC&Lnp!r5|}T}rG~}2qtVX#rcH3NI7p9b;-Kt8Yym#e9mg3y z5zogV2X$X8Rg%O69K7vF4fVE_8oQK^pvfvjJ@pZiB#7NGYJ)4QE-IU7sUGu)wRp1-o?-kd?E!WXg+ZYEQB-$M`25+V_!tE!q@Rl7(wE`9M?;r z1?eK$^+Z9>^6ODx6}qq-GfEMxw770RfyZ1Tg8hgz5euinFgUNHzc^X<7Wzd8m>bM_ z=-9Lm0oCWi3@I8Z35U*&$!=P5FZQmKhGPLkpY}u{U9Vr&HfebU%G+xJrGTKzjIHsy zFkDyp%(+I@K2IeAiN(OK8yFy7TMa_*@vWmf(CbsEtG^ZhaE};r;E(2FkppoTb}cN3 zc%)@GMl;FGF_sOjq1s-YLN0iphR!G!&)msE$jlj2afLSSZS}Rz@fBn}mq5iQ5RCoA z6-h|>m@9-lw@fn^f`CVV0HCxaCFaQa8!L{Ri2)g@AeSea$tmw*-h0J~|6$mUTe#FsLwtERU@zhY(YsMH|NleUyTC_LU4P)S*-f%ZHq3$v1Pl@+QZ!(L zK?`os&0|A&By0%T5HZ0AP>fa)b`aYnW8Oi{VP_qK`kZ(6Hv>` z7m5#j{OqiY7%L5n#O(ij?#ymB7_`6tKcCFb%zd15?z!ild+xpG-dRd_)a9@DYf`YJ zT#M(hVVb8LVOn;OdJv zP$5!>7a~GrwDLUH4t#y>g*u)^xWiQhoyTt}BGA6}4bN)$_U<4IXyYTt-EzUpjH za?LEUhQE|63oPmrkD4htZ&yOS zsJ@ybiu&$5dVL+8J3@WY%7~dg@FKXy^{cel1^MWC6!;Q%c7|m02|PhxX0+d4GT16QN0y`>Z(wACSSZfQ-|R9>G02d7k*|K{)Pznub@BT`nzk+Mfuf(SuCA?Rfm7- zyYP>E9%9wl2>8_@__vM(AHAl<)9I?Wai86Cb^5p1PPU=#+9c^C29C3@L0)eq#vSko=z1%kU}g7dF6za3R_o zhU)uqbez1tADR81=$Gx7l>_-lbUbh1uJsSK6!CxQA2y>UT+ly^Ct9d~uyR^P>L11u z8cp7g>omMa_u=xE<_p!=>WHE~|GF*@Pyghi^6=b$h2eMV@b`Zgekb=YFrjK{1JN?;G>d*Rr1Nswpfn;ulCy~9i8*d~G=+?H9vEVEzR|nw|fH0I`8{8~I+W6sP zsDN^^VYghzr6HnI)8uVC!PofTq4Vd(@ABu-F!av|x^7Qh59qu-&g8&ThIRkCJ#`(y z$AC}QTW;Jn`I<-({}=h1j+SwOeC;`^%h#@JsdU5Ti~Q@&tXZ=U#$ix18)FRI;F$MO zKP5MXA~7O!C%9Dq01vI|ZY`XvrGpxvbXqIb__g}sFu&I5Wx9**!{v1?cdVe=c&>Jc zU-2N9^UJ`=y?|e&U$|<)5aSZOn4PKu{CI+MplJokkC{Eli<4_<>Lm9JI0-#t5SwV7 zjRoc4&&3DG(OZ1(f&9mEgWQ16!{mUz)7ry%E|7qB3F7iZC;3amzBlOncm2$FY`|Uz~Gke z6p<&&))FDbL=8Ehr(zH%ZutksZ~Vv=aP~{@%5=f=g+yC(lGrAWd!rSZc80-*aS!91 ze+mec!-{rgfqrfu|CGR!kZAVt zG9AUuxPu?01;WF(yTUl4;E5d4$T7gd?c;AV2}kOM_HoP*{Tp@QHQ%M*8iws6*t$Oc z^J_Z&?Hu+6{KwHrbK5kprS@MD&oA<|rzS)WpZ})vF2+Y#vCC9-ag}HV*)oP-PPa1x z?1JwDJL7x7VuG1hGEAg=oLHhR2AYZp;|Sd(MbLzw1v7o6PPK9z7P`RBp3Lg!{E4qC zmzJn^B@x0k8p0JC!t^18Q#6F>gfJ(JkbICwM)<`)LkKSkBfMWn=*GD}=#Rz%Vfc8w z`p^e&OVw*?ao9~GAhWzke<@aK)*PU!4NKG?FV<$WFE}qco|WqUQl+N4{9!r1Eso6b z!zYowS;D8kLFh3WGL1y2QWH88csQX8!-STo&BM^5L?8;MR1G84!6I`k9hM_vqCWWm z9L9R0;)Buj;1}1>tvX)K2va(HIn`m3R)_!H#)amJp*p0>gV0<-by$m7hz!1;sny|Q zBT3D)&q9@0+!vCX-TaAMvXUUCQyqk{h6u5$S85n14Pm@Y!#IgBCWJ9+?t-h~FgSvw z?*88p&Ue2I;k4^GF^3FE{Uy{FyY{#?3;ry+Pc)5-Nb0XCmN$)yOKM&i;T>UwhxwEK z0fBs&6j>}GkBAvCUShQDvPeb;LUFT%B3!w4_VwZt&OtT4jg@F(uUhGugo zc1(}hY?j>r!|i+V!pPRj^30fn?=hK&HJjn>d*ZMhKit0m4c}gLvLN*Gk1s;#pEmw* z`~Jg%;e`Hh`*sh@@gKDBg<(p~4^bWJ?fZqzTxc%RzJH6@A8g-+ABUvo?o%PDd4oTN z+V>we5k|dz&(|8AQy~ zKYcWv1vrKu2q<9nCP})o+O&g`spnfkdtdvsw`pdDtgCCy6x@Wd6&7tqD`VCB>CtXR zwiHGu$&JSTKa6EX&lT7LWWz=baqFdcYUfxxrJvyIZPD~hxYc_gX5rPe{%E`;a#W*q zJgEfS%A%AQb+m?Z)*iTHoQuUMgdMMs#c7JIQU1$p1y%_`rdGi}rrO|ASFOUygf4Xy z`e;}g^7*J5Q}zsZJeAboTSf!A882cL4ZXqX`M?=K!8}3i_XYtMIq9Vb=_nNzAfH4k zzDd7Gpi_s+=+q%P6>=tL9Ub0AXCmGeSWpx+7DUpZfEdLK9BKbd>|-Z5rN;5MK9Kk|zw4 z((OIDQw&_BsxZ02W-Qf2YO;oE?eON>%jc^3dU7lV|3pMxV(^dc$w@Kztvxy84gUC^oCyZMsVC=B!#vx0am!NZoFKL8 z6EqijKB_Jc3@NQPy6PvYEmRRWK2*t>2HvGX6lh~|Hf!Kg)j`;Nh&`Z12*#{LP*E)oIOV^~lG^e!gwUuobs5_p-wo7t?VJ^fM_(f_Ci2lpLjd5Ds9(R1 z3rXHy9tr)q`5e_Ah*F|BM-HC*Kds?^v-Z1d_}{m|^OX_Of1ii!e?_GK4_pfFj7a{U zIPBVx9)(X^qTc)7P`UNvm|3tr?I^k>p*lL4w2M17pkWo*`fC1J9jgivsQ#n#n-AX; z!sR&uX@P7x)${M-De(xDc1d-VTDgm-z!}Npgd~PjmC;k;8+xjr3`^xB2prZ^NQD+w z_zYUEdTbUKR5-O*u<)3#gQ9wN_U2AQ!xhwe$_WpT5>=un&V@Vi1fyXLj0Sgly4%!K zkZi#FCFl_GJk~%4gfu}l{S-1MegJAA(j6<5;&gsav!z>uas{BY<)Hcg6xS8Fa(3qm z^Kg~nT8`^BTx)S{z_k$ZwYbZ;6kJYgU>cfy7sJyVT1{@cD0-`p1uGp2gD3!-+FPD^T(&Isz?) zj@?UP9zF+JIE&?)ln%dx# zNCW2}EMLUukZzz}7j1PlGO@%*X*v9rweuumlJEM2JC!|y7m9g> zV#dN~ZFeHVsU~RltM9J}uTJmD8*NaR+d*OIYf+~V&IkW{PrZfZ7jp7SP>O{1Gi1Yd zN^`5tz0vfHWP&;wId$XW69lkiz94AT76hvW*cZ+nePq7Aj0G>qJWHlGrOe!ZitY}R zd;r6dB*kG>94Xi%*FFouAuROFvAl3&7|WA{C6QwRFj{s57ALS|BC)zc!_rPKkZ!=G z9uS?Bx6oiaT07gDZ;ye27>7-5KS=F+liI_pFf z)DJPdfXfcFBQMI zKchNTT|&gDrTiOAdzYeFvv14bdUh!+%`!E*1CcLNrJ-U7x|5(jg>flN*p4c+Q@$w{ zV5@5>#-rgo^enQ~z2jO&zH;knYW2RB(2YvSW z_{I4FX3)WtP-`@h^KOjt1i_16a9)(FZvze>!V6pZ1u?C9T5ld_1)aJ6c^xM@i%27T zlvn|Sk5prtKNglH^kf={PUG?>2Myxp$3VQ+r%3$x{y4Hb^RK5j+%V*Q)#u+VDpq~ z!-Ho~9pLS2?|@qgQ1)c|m)0k%HjJnJm!MECD$ERei&n4WtI=kJuBfWMk|Io6DT{Wa zlvuE0Eujj)%;L`D+(fHfj?#CdO;v-MpWzY&j5NNx^dv-zFwNb=S^5_G#8~MxSGhME z#hPdE-e>R@9+A%#iVyq`;E2yD*_~8UZwhW5#CzWZ_~{_OMqe#G(P-1Zp@YVr{(CxT zXy;$kkw~{&*}|0>uVi(~=b~!L=8MmbEtv1k-*-g%w|^dwLAZM^MH_3b^WGQby?;=A zZj`s=NY_b|{LO;z%VR(iVw+yd6@G_n1FogGs&K8rRg3E$T>pzJ^k@EoKSL-! z%7`bE{uYgUj5!vU0d;Z|@ZQGtegs@Wxahjy@QCl$VJL*wU&#NZ#>@@#uDXyP%zo@o zLQh{rqnz(s$9s*B)wFdybZl9kgZ0U@MDJ2J0fI~2tW8H~PBJB=n5s_wEp;?cF^dcTh{vBAkfG()& z2G9ZS6krY;L@2MRoOP&x=Lx!}y4WtN`f8JUJ7zsuVgpS}nc-aFaw=AJ(ignuBit)+ zegc%9MYp7u>HZ<5sY4YsQset-O4a^bK{u8aT^3}@ zp#{b&FWJNJ_+WX*z^DnP!2YeA?B;WqZ}|wW3>0)fY6Wq6eD-VDaD1pxjZgby40oqrGR%4O7n4KLf-L|cOr+gmd+y zh+AnMNe;w|TaEl7&Lt(OtKZ=@gtSN{_&z|4`q$xMukh64#H}A7g&ep<+`5%NjIO^~ z4&X4bKO>$Mtjs8wCU*`xNwC@-gTd-}r$(9D{Rh94JG@K^Fm>Cd!pWsyvTw1?S4vep#A_r2Ccsq$? zPp(Dqy-bO@vrCWNV(>l36Hh=A-UetI!S{PgqUT5we81vJCK9OBA-pMq@8^_G&z55F z-5HTB+2FgGXPcoNl_UqIid+91G{}L=iLf++Hfac2vf!hyGKZjzGx#R*?30IRA1C8(f6R3mf1%;w3o=6_UvBVyfUpqBmkYkb zJV_RTx@L&(@q+I;N~hC3-r)NqPd7{SoC5)nIa+V@{gMaHsb7zSNb2+Cz;)7im)f7p z$B9otJVUbiQ-a0YPoa~h%Wg*!t*n?fLL$_j;LGK}W{aL|O3g95LWA!y@ClBP^$9$w zt$u?XxZWjQuF8axaV>!slMJ^I7(al^TiO?x!PPX8x-i`AdCcpGkpnl0Tg%V}<-kI5 z>nN`3^2M!;v)N9Cx`B==n=5)A55oyT{uR%Eqm-a4J{j-51tHBuv!1@SJV`E{Je4EG zA+idg{v~+$1x1(e=sd}S0J2Pcb`3-}o`HpqMfc6%X$r-y^i?W3P*8uP9B@cKVye?C_8P)m>Ww+z zp?Yo}YGymxYtALQa&s*rRb)kXbGgQ1wuQ%+sGG@V!T4GqH#c!OXYD+&0iKV(dpNcQ zp$=odbctSYP&k@Um+&n6k%eu4EfVQR3kfNl)Z8c~sZ_Rw$Cm&=JStDM0=En^yO}E4 z7Y8`3U>e)fKuNg{w&x(}a=a?r^N~a;Sg8~{f%j4b`QAa_27fd1ZFJqjiXnq*%}9i~ z3h}ulGxYCQr$PQMq>=-r;?_SRj~rNBUnU2N>T$T&B3@y10I6>)(y#(1rI{G!dlvEPl?Xx=Z-UQ}ubpS8sBe=4%fzPbcyl2q9qXe;Q8M+B%k(-S zqt++!97twY_!G#9g!DC9Gu3Y{W&%(*ykb+hnPo;ws&L;C-r#Sk&yfQw zI3;>x;gmdsNSC@Dk~{*U$b_vN%B@lcF@)f%C0~<4$}k#3rOAOr(L+;LD8@u8;!Sww z4UoSg4`~HoK8Lbe+}eOQIk2++203thsHO50mm>uUn=33Ig^&-^Xw;DX6qk<>h5(3= z1FMKp+YgUOe!`gnGPSn5E1 z<9HT#NS4;s$MqB}HSj}Uu~ zEa()~t-s+T_v5b))s|HkYyS+aPXG$4c@Lufmx432B*PNhu=-X~JxX0dnbr5WBDSD} zwt{JOV@dQEm|B+_f^37k;hT7ITW3o_T6lEA{oybnREW;oRW3g85HuA$ey4qw%jf%C zYT|6DWp3QC!r3T+hkHIhfH@hw!2TrdS%5hiSgmVB&#lPLic?whQmUD*0lD*Ar8rgL zufDrUKVuTnrK+=y^H;EaY&+4Q zXyD?jDtk?hfQDf^$F-f~YUa4&SyH1mg2Zt0p5eGI9|70CZ-EZD=Ig+DVOMCFtAKbk zaBYgf)qFEA*UC`2ATQ^zAWX&K?A!}`g590Ue#gtRm#5=AD#~N8E(T}sPE~lE!sEov zbUN}7i@$>Q0gL}|$A~O`3iHLj4@f~_QBU4T)mIFB!NOGEWWt-+1VJys4(vZ*k(-9C zpl&&*&g%OmIxfuZBw-F+?xO;!IY5F>#D?W&VsM^QQl=Ks3EFw6EemQ( z`3p63(erK+l03r;D3iz(utO*q52(pwOcNIg=gX-dtl{O5xv228TvYyv?H+!s+!^mI zQFy5O_@!F6CR1kiEB-5U44AZ$wZpPs@p!0H%hB;h}1ZPK+kQ!z5YBZsqF>##;E*_$*xsA$&0OV>t4Vb^qh6vbxE^i3Xx z7rhZ{ZHwIxZrn&13R2mVJPQ}JLWhC?UNZKNh2Ra3(}eH>4*mG2n%G^yp#U`Ba1Qm4 z*R2pv)3ElZWH%0RNUNrZHnW5)1Bhi4x3w(39@@^q1%bB`^^p){E&{wY>bk+e1%akT zLhYWb6tYme!D;( zO^;sFgAoPao(8OJ3okzBO;7Vzh&CwOvngUUTeNAwYud!DC6EFqxDCzaBXy@WSe|=( z3X*o^E%v2sdtmpjwmk#!ZCH&%XR5&bl1r!mSiQ_3_?Nv2?9p_WgIDhB(rX| zYlhW!H^77x>**c>e;0*}W&zz8;$O#JS)doj%B7vA_PL$I>ycY~x}8IktJ^sgr&)sH z<_a=@^;RHyuE85D!W*kbYzgKznAtQ5#MO+}=(TPI0E=RwEYxYf;L;h5?}4J~PSb36sBhCMMBev} z-1RL?R^OW>l_dM2D$^`s^uG~Ia{_^-1r|zsFQIl5{is@A$$EeK#}H1ea{=eiBXP?6 z&I6l&^?#1%+)Ee3b2wiwn}%o1a6ALxv{u4Gbd3rxi`J7z8XWL+3EAenBR=27Ck=N0 z9JLAm+|;~ba{3g_vy(kewWkdVFD9o{vEt@Z%tQ~#>2$n7PJg|8L^-|13ppK68F(Gk z5Q^p|`qe9Y5{P2kdH5C{PL<8;;-Ru(WSWPQNog-eCdFOQp#*Lkk-RSKq!`|zyp$N( zp$zLyhYcH=Imz2O$-0PaDgC6;6%@_sP`Z0?l2KCIMm^dL5DYbsKevp z6Yj1edsnWDbpw)XZ*D*;ywlRUtBmi%Gt{w?3~90gO~Tom-NLrqOyabCCH>MsLt8>9 zDPN-IJ%8ec!?o=I^}XLduJaC>fu_T2i=jH3`n%)H5&Dz#@i@ zd<>;8QIwac-OmogUoaB>f%y>wYmyyq@>1D!y39)UgJC`DQV&BV>&h`6Yh7Gb@$uw# zER{fMQE|2Y=WXgSNy-SAHvOPCm<9^a#@QTEcqW4I>lRoq=B&vAYe7(NGv(kGn3J4+ zLQ+Pd>Xvw2%DCWb%|fdi>+qQf9*>y_P7d_1rjWU^b@GaX{yn+?g`iOje2t)Glc)$( zV^mB&HoyySbD^m)4wU!VrU!?0H5zB)UEb_Q^}inn&&D~~ya77U?)|;cy&9u59s49% z>*)G5$|9yEpw#U&(mf!*jJXd^H|N9%GZYb=^P;C1fpcRqVLF_1OXDIrrzs9ip$xUp zp`Od2_e-3&UK7NemwgNd3=li}Kna!2KxHHTSvmjS0NePa0vD6e*iY^q;4_yzkVDZ& zgL<2~V5l|M{cSMon9ebpbzFS~PZLk*-=IZKK ztM9#J5dzRXgC`zoA7;xh`FCfV|9ub5hcz1m-CfjCp#trhK)CF zrZjP^Z6)249@PAP6qlWJo@8TAxWrKu7i?#$!e3Y$huN}}@YxoE_${d!4?o)@8S9u*WRP>BR`faJca8uTz9;lEA-;J=8aro zHLfmP8{W(nHsN|6R{+=Aw{nGjxGsA;SMcEK!S&$rT%q)xT%i+J*}J*I_!GH8Gp-r$ zv0{%Rq}qWum{(|4|0V!aXtEBu5jncT;XY4<3Gw39>O*5<6Pk=uIoR^6%sy$ z4?C{J|JCRx+Pm=_^7+Gf3g7oEV|PrWg9=rYpH5K8RMSgQt;ZwJDg63z6o@Q;} zmFa+cXB`}&{-Q5v=9&F*EV%=2-byLH1+s>|5TafUD5XkXT5sMo{$8~gVnin#THqTx z!U>1J>!w*DoN)MNF<${8PvLHLCk#3s`cgzFoY@+dfW{F|IE;aNDoUoEa5#sd-O^!a znS3WP9lDxFGZ&$=6(deKyiCI%al+wr4R`p2L-|yycBaeptj_YRV_9Eh1+xw+OVjDY zj&w3;3a(UgHO2Z7_U8p@oln4|7gCT%URLKq`MgPd;B^EC(|_CP&lOsWm*N~7k#XM* zrC=G>(*%DCE1u3=@T^|O3Y<#uM#WX5G&cYgD{wP&t33_dA?{wu>I%tC*ln2i0@SSF zdxey3^ENz!y`yPSaXu}!UrBo++CT(fL&swGm2CSX1Z#}f^mp6^Iom3@W0blz%H5f0 ztvrgQMxj{K*mi0mY>e@pIobc^Udpz&@mEBJQ{p*2l&lSowV5nCmNh?&bf6-!G59vh zS`$q)w2(_WOMO8{%VA3Y0B@$Tr03B^5NN@8lx4R$8iQ{ko9LMV9x_l>x8?=(SAy@K z2xVJ1^)Pau2d9%>K-Vw$4j}@5m8^NUhImvcl`a2yQ_XbN`~*SYvJ<~W&_(=hG^0s- z4h&}I9%Vb_^}ooPAEmTbwuRnl@k*-HJjxpo0TY`(q+OtQuXF$z3ut1{4Io8$SA$2;+%$oijAjc@k96#J z13UmB@j*w8ojoRF7uaak@;*QWAPSBiNb_dKk&L76$u9MZi)Erp@t0A42t1wze<4hb zvGCYzZGH@|XtzK+3yqPsilw3iX-s2a0qTVKYwzI+aX6D*ftMx^djTe^AlI!O6r1*8 zfq+yp{QAh3`Il<0@DZ;4KKST~krVpDLAVxl$RZyDY2U)?Js<#`jZ|mR_)%%I7V56pqwSVch@)fEZ7JzH|24c?Y2u z&gRMqXI5;v9=uF$dmGO5lG*EcbO(PdPN8igWha%YyLt*18I-CtZP>2xMGAdj$xR+@ zexD}1OU$`S*{R-w^ff4XuOk3q!a>^sEF7EmP_OhnhBbotz~8}dEFcSCVF4LEYtbou zR>{_dP8NoM;}ok)!4WXg2ar_3o8wfDtqZ$D%GCnsVH89`d~pgZJ42>xoPw27*DQ<( zi_Wm57Nu;Uv35Xc2nOLI;0SPiQV(pis}{K}F4c6N&)2t9En)?0!MPvLB^ROkv8?!J zKH5|qeXOX@STvv%4ft)nj=n4^Kse+|DH;_3e|o}w*Alx+DY#3$We?ZuC^VI@*MXXb zEIS5R?Etyz{7)A)Mn2MceYa%3{#AVUwbLK9%YZjD!r7SKDCG^cU^Z?!*~8!jQ&8o#B4Wdmp5Me$K;l4hTRFk3h00#9>4-sReXCFDAh zzKT-(6d`k}*4AMI+9CsU^uajXk2OP9kOn5(y4@zMVWctQ#TlQCFpQ1hGRQc4{L)Uj z)1){8zEp}X8bF&l_8|&SBMfaO=ugByS3YGNK=n|)6{Lbn&TVWFQXDG9M9IEMO3|kb z{}`^7sm8Yzu-I{i)t(_9{*HL~Tky~g9=d5?dDJ!Z7UH3bq@0K0m ztGf$iIOn;Py1Uecf768`jaSCMi4DcGFouDYnpzapsAJ$Iszh6_WLC-ozIQ1_(LfF= znHb_2kk4`1=^jaT#%QvGMA?mo2+84)c-IE00j>cJmo7CEfGZlf{P!Z}>^s1u%ZmRN z(9dJaxrD&`kV}Za(53Dpi6|QYr=VhWHu^K?RHY(AaXR)QqsT7x)HTo`XpPVr`^|jm zi{@?=2eDUEf>`Bm`WITCOFfdM?`L8~Cjk@6Es^w1T{_ogmqqNKDy=pIlm0qve<(~T z_P>?gubj#iq|>>=HeBnz%oTRyiqxNE{Y_V=(ptvxJ(w{T_CAJ#t=RdmA8)tPE;V#} z&Jx&X(I}i7y1dwp@sRBu_YBxCN=_>EHpO=4n$GH+jkBpYQwoz5XNt1X>QbuQsu$B^ zARX(e-*A2Mo%0n-U|p53c@&bNwikj3bq^`Ty@l90$M^QZse!hzjdH>{!McAis64Au z{f}ig(ZI}eLfh6@ovq%E+XJ%TpSCeI zNy))BeG}^n+p$g@?swM{yr5_=(-DcDV2rCweH(qQOMTEzWwH33Fh&185485RzXnuv zzUUF$OZn;lH5lNb(@Tf1f=hi0V(VnFPW2D`*cq}!_dv>F!_sluWokX(LJV3x9iSTr z0mdQ$?U<+jPd{gi*u&-?ho1-bQ`K{<7x{SjZHTz12PFU4^}~2@>ClHWLk|+N5NtJ1IJuZ{4usz#PE2 z1WOOMy%5A1>F;6xV5$0t|Dj(y8~{tz*54D;rtx8$=5GZdrIYTDK1EDK`GXM(vb!t_D&;8dRPFY#OkEon+^i( zPP^#oqI;A(K|YX%O}0K-+>{R(R{zOjz^jB~Q9s1ztt$M{w4*U5xFIFD!5rLRRZpal zuwqz^Chx`}bU}ADb|dxg+a&!2hjz;6g5~J*&vgZ(S@z#an&gird9x4uqhFei+HPHJ zYWQeV!?{f>q`1acgfwVvm!+{Tg~S})bFrnr%j~xFzig6Xdka!%B+o{nufo{UkfV&M z>gM*$Nz7bY;|eVDY7;09VmmuJ2<&IJl*@;MJMHdh1p2SvDZ6LkL;zT`v|5r2PjRCD z0hEbTUmK0Ye)Q6*sG|g@dL2cqP8BLxue{oViXfpWDS3bCnb1^At_1OZ8#oz`3*r+|=kA->32`{!Zencym?kmxc0LkUH9`n z5WG%(HB}IEV@c##1x!MbWUT$b)~Rp!G>CMh!e&SsR#>gMFZ=u=0)$KqNCufD`TIt zl;S6f7a(hyS#P) zDTB#LP$c{qOw-BxE+>_y{uwx_4#&>PPdB@*JnYdcHE17Xb#@1@eGJVU!DjVkB(13E zR!tccEhY3ury&YWP3U$a0p;bF`U~WT{n1@*N05as6|0?G1$1}VuY@kjM?33{F2t{S zDm^X2)6e*m6HmLYps=NQDn;0iWq9aTF&Pz9ul_M0*QA?-9d4j@N2{-1EeIz*rgl&Y zIfo~*W#=YVg_(e_K^AEcKiv)PanulZBK!p2vF%wtIjD?+4nYRqL|0h^`Q(@KfvAvf zxx8_3CwdaMxp9z=WR$Rfd^M00t72X18dPruNsQT0?!Fb;huwfv3UEY3aY{yDJ{n=M zsV=b`+iQOVhhoKH@n_2CgE(WTJE8}Bm9&oOfIqr}v`)X>l;%#Xj;a<))q7DW2oJ!v z7MWYj{-mtnymBwb+}N%Qc!&bXIklD*s9_QdD;m=kK@`j%rzuL(IG8JZ4MvHHWw7-r zD{a>zTA+iZ4{+cnc~Ed?dh>9`$>S(i0{TLhmo_)^nmiY{n3s-#F{QyH{zR5XezR}# zOy+7F-Q!bkM3vkVds{L@n*1pXw;T zrM-sU=%+f_(|MCyL@sx%JXu&0JW`R>Y2Rmp@z)1lbgadXYmU?89_^ilRV#~k*0U63 z>sj}?*D~L0@$$E>s`b&7C<mruvIXB10I zu@e`;%3S*O&krW2Ao-4Tyl5>7vPFFc8Coon*rm*+U;iYyH1jw5^^azW#8_o6{gMW= zz*v73tpLppQq2xDd}Pcz(QqzGx_v&xmur0(Gz_F@I%uq*Ls~GM97Lnw9a>d)e?g+% zEfVY~2uTHXg|O~$VI-B+pLHTDIEPz-bw%9LW2Rl`bY|l?mi{i;oe8P28YI!F{))5( zDana>{s|N+NSE|?MY%^g)s1?T6qOJtuyJ5D&+v?_+Z{#b>GEz26gDGS1s!)|Qm#^N zGATbdE9)%EZSXuzS8|hjbJIxDdvnuK3}IzE{VKU|9SdU1Ty84z2K_b|&gO)J?s&+z zMafN{4?Eb7hgA5mV623P`R;Kz5&&Z`@6V^n=VCTQ@1bd_uODAgmC=a;Q$>hRK_`0p z%h?A|%UMBr@Z^1SbR8~Ts%dB2M6SdWOVt^ZA%m!%3T*4CHb<Y9LG=aMQG+}QFs zI7L%MPxwcbRtx3o*Vslw8iN;~pIYEKQC5ykDOlB0=U{YM;mb#7N;IXQ0xhNL=P>On zeA5xA)1#?MPNVq1J`|)>{X29!Q$1f)h)pybpm#TguF^8~_t;hhgs43eJMW)~?Nezw z@z_6?H&BSC8pV2?IPjtcLRPA-^hr_WGoHBJO&!2>o z&nHIa2NyyNOG9ho44V*Q*l3sfkIOm3u$7tWb~fwvUxz~#P#xnr6xRj$(Y=ig4r2*p@K{RcD` z)E)Zx>XbD*F)~t5%)~iz+YrNg)gNOLQ(2|5Gs+FFVDdELaa*GaQ+-;P;`$_kci!?D$kvx{z$Cb7b7|481`1d>K=_*YivoIL?N`bWw4yGL#KnBHjy zM0^M)e__ z6~W|m(#~mMyZUG7v>ls4v^t3X5Jyv*G1-ABkzj@TJizjRIQ73N04k`904t97Y`tzw za(F1TeGxM6aN@@qyfz=V;I(!Fx3rI2NBA_EbbL{kwb(n)i78TQ|IQ%dOI2c9O{}VlH|2&Hw zI=YX&(%dqE3wWwkeKB6vs}*@r2^ouQ(p_kpml`$!eP0CaXsG3|Te1ClwaD$KXx$_|Q$s zMcCSVQhPA@-qs!rzC(CuDB9oPdsz#K^1VnQ=dY4}Bzryu(K!2zZtw!}pujst?;~15 z)7i?MzBW8F1nzy+YijW3=Nv%_-!CY^s!qYTPKT5}5~NPiyM#mP4EpACFev^Im`>j; zo_oIg>W1@c+-VKx?{bf6IDen$Nu}_jm(9LQcy^qb7Oy>|`3!hyjm^GJ8rM*7m?e## zHxCILH0Jw0#n?4Fi$`6Kj%<*Ec<1vsd_%20MuY>$x zgof@k2#j5>?L<)yDAJ3fm!Hbu=md)e-z=nwL_PvO_bTxv`+(EyIN(&DM!!QHAsS5W z@?OUygu%Z=R&R1IlhrtPS0P-IjVLHE_B!~{Nvv}JUg|tNABas^Ad7jq5E@vCN$xT$ z{LM#mnXUGL7RLePBA7si68Szu_;*DPbM$oLj(cjq<7Kn>lAsj5=pKy&<&FkI<^K!i zLuLAYkB9bjjXzG`(||0EYB>K>3Dk9R+JC~QK<79*>x_z{^Q9d~F{ie(4s#Qo(UnNy zRG))_C*|pQ)E!G)?(-X!+D^SH%t2|J+=<^#CDgbSM-yZL>}tRwa8W}rnFh?PcE7wo zsqvp+gn+RNDnl}(Cw5YoP4rk`R8as8t1B9Am?4=V35Ehx7tV`Ce^=o<4q{{#BK;^- zn5;%?L#0CPOF4z^DpC(kIJ+oVh_D8p2KwT09A_Au$?sx2OKqaAP5yYlRz|-n@*i_Qv z*p=Dhc)Hi|1Q;&(;QtiV6H+#@sUL))L{UC`X)mbPC=#TFCE6W_gOPXRlxa)|7VTEd zx@`IWmx`^aul{a5xqD21x7{5}Qu!OdRs5TMz<(AYP;AndS;r_Y*>kLZbPZ<3)+d}j zE*}%lzDw-%Nc-7w_Kg$;OBpp#8y6CS(ekSOXNL&_>rUvEO!BHH1n;xGAOYeKEb8=h z*2hqcJDoW?euIx@mZ}a^j@*?gpPQppZYJn;Mq|;#Eu)J4uX#O`Goz;fVj4v~jP#;A zg&k^`lPS@(cVe*UMOO4;k0H~JNV)bA%p#oyv(R9u2vhreF$)B~&hRJocWaLs{d{oYlD+pEC7&4gjfB z{WE5X@+$JsEb3-xz#;Fuy}yR+SW|URsKPT=}c zOrEd?*S)x&!qtX2`BeTIn(kIV$HqMnjcJ7gL7x{PJ7@~IH`;{XG;q_~Ldh_0H3xAf zlF(z1j%SH{mbug1*hO)+u5}+{KZurF7`!ngq<-b=NSpKhmv(_f(H%rfs9 zQwJYO^m$XSu8CrObFL*!wM$+~$4w)tTqDUnTh^#hVs#?MMiL=H$%F~`Ozt&lkZNA= z$1n~vE9mL3E5MP7n6bRBwMgjiGPtkCY`2sEGG~EI4EHW$y%BR*hqXB@95RZjDgozf z&vVG#SV*XOzB21XI~CeH>o`m(smODpr@+)GMOXJPgYQ*$p|W0ovO^%yC8T7{C+cL^1t8HN{W zWZhkDS(EuB%=MSkNg;mv#PfMVV=cd}zg%90DR9T9eC;Ix6K9xxx097l7P;*B)Z~9t zJ&0@s!%i?7H5j`!7XJrPHv$;S>c%u2M>S$P~Qi770{!X6YyN+-L ze#R%?e}ZSH+CP;#plNu9iwF}9jx+uFGffR*6OB6|SJnnwyp+JYy!n}?2D1sv&awP4 z?L2c>;O<~NKn5^o^v{TL548+OpjF780BZ~{*@^Ci7GquzE+m`rI)6@4V0{u&*c)cY zOEEGWc>L&l1OB^_LMunL!Rw&a=g5-8YbAkNEs$&b1h<{V_JbOj&8?1LcD#FRk1>&n zE%`H}{nKof7Ac{jHW)8O_ZZ{-SiG)=uaH@Nj!#cmCJ8=Gk^q<2GXp?hde7Yp?6M0vi& z+?&G}q5Pxqg0Cph$~}Up3&m%v2*F;IL0H$K}^F_IO9b!FSFk=Pe&xE<_ zGWBUle}z98gV&3&i{@r9$fSiftgTJlX?BmtlA!u6Oo`Qvt1V~GXTb=Ip`mL5CQ)cG zw-SC}Itw62 z1{e1hCsq%(;WLh0+6y_e-IJK3#o*X%>#dp09BmmKcUI8mAr$Kr|0u07C>|mu3#)HP zDS8+umV(?B)zQo5@L0*tC$Igr<=&!}lHjuhA^0rO9E5Vv(TxH+tz57L{JSEd`+pyN zmO!eFu9mk3!CcUYx_{U~Annsoc=B0|mT(Ej#GIjBf z;O$^Hc{-HyWuhW0t2MJOcGTEo8{A;V#}zl#pqkG1A{`cayL?gd$42>_dEJ#?KaNiw zWRHbH?R}miWuIxCMLuaX9>6HvnT#o%bnhZWx8Z&SuWh&BXEUx{xTYL!jcJK(Eikmq zGqe^&0c^{>D7nWd_j2H`g@MDDGn|&EGRQqqa&Huo@P}}!HZ6_ZV;};14HVlFjs=V? z5R!%~1(y|<8JB=709yKRvHUHcD*0PK#a+c+#r+iSr*QAXy$|;@xSzp2fO`P<0o<{L z(u<-C#y(>p#El>odMU13aJg||4XSFz!R|IHapbdBdOZX*4&w;e5lZWI&m8d9%o)(@ zAbqF~5^;?A0Pr3k2Q0y}?|{=Scm%9aot)F^B!lYYJMh(t|xHq#`Pku!??ifRPZ_#ceu@O#iuH^B;lTfyA^j#jcu{uj^(y3IK6qR z8Fv%zrr~v?@kj-{K3qado{)qq#ADD64n))ie@AH}>Oo7Rg$=7ac`i-$MoEeCT$<~R zUWZ9Udv~>Q85Vf3cxU9RcH5AY8SWx^KFL!)hb=KCV+;dqN5bZ zj21)l_KT1O^V0-$jUA0~s4t>bYftA66~H6|eN@&YUvUyIf_%lNblcH~UrfLy(n<;r zxW_LIE$!Xy6z#P%v{P10rNfs3D?%AgOXD{JlB|o9JCk6Hf37Vc!lr^B0L!tGiYRA; z8TVV{o`J3}MRxd(gC=yS-pz)55T+FMu~GA39K-cd^t_FTQg7-^b_w~Ky5Qm%fL|{x zE(IonyXza%0{NR8HyEpLyb0c0wuNRXSN=S|f&Dw1VkmFyb;qvchKV0 zT1)UP9u!<_9cme5rEwu=$y~%u4RqGP0iH19fOpa8QzhQQB+QZLUIx}W;L>RcCQ_rY zMN^qJnBY&zySR%Ela+n8Q(kySj;sh3~U=YgkQ1hi_ zH>@N>DXi$0wKm9GtVUiUrFE^@pM!R-FKyBs@vKJ8C&kvQ;9z-LmB_0$tr60&I71B- z?Vwm7f5HSv8KrtS=T>By6pEYY;p!MoUkZ*Rbi_b$MLS;;ZUD}R>{BW#}X;_pas zS_|@84-9r;*OSBCQk;inkBufSYiOIFpFK7i2WoV~_Bp5x6ft@trAEU=E4fIpw=+th z*v55zF0xlHP;6(|;sJOJ&9{9;T`_|*y%oDf#4TkY3lm79$AJgqJGQUItu{PC19hD< z&6m&Js1yY@#8lr{fje7avaK*ndGa}3%}t<28SpMLa6Q*XdTuIdjq(0Tau@X6P~;wZZ(36zE(yCOLm4zl!EDO!}wN;p<^43MMP$ri^nFOIsVomE)8)`2hWpX$| zO^o;Ex8<|L{xlwE^)9|Zhct1b5gcmnR?^2s1K#{=1{8c>!7ulhE3QWl`uBX40on>j@~lkgUk&Pe0fgH2!-;(`vG#bIJ|K+W53AL)tjw%SE)`B}j! zhoqnBSb(8AZH2!|{smSxsRW>o95=tD5==!2;&{vu<$bo}(kNAgrwBXlIf2yflv4F? zS``D!v&yrBq9+}O93=PWklCXj&GQ_DGR01mrRPj6J_A*Y`HqW_w+1dKY&r zv*T>%`g`5C$!dmso~(|?OtU%)OUk0>LBwNYkmzZ_gYL2`A58Q8S__xl;V`RDMp%EB zUAjd+X!qX_hc3w_e>5n6HXt92YCP0{SpV%E)E{~dNZAPo{4N>aX)GvoXUJ*-tzE}R zQ~O_rH%H?^vb+30nNt~%lJw0)a5s4gGi*~321Xq7PY8t{;%O5oql%2cGOsoE`fky4 z8Dx14Ep=i}vxMgEmSaeQ6Bw|A=ha#=MX=2=Nt=9A)>^P%MoCeYndwlHLhQgt?}{mW zHkbA^z^|;l@xXwa5FIFO|q5>`%d^sAYHRs4DX|3q3)|l4BbR=yVRnR)BC8o8jbyPtU zR`IkC*q63Wq)2}>w#LQUTg{01cdOZs-Pl+86B^E~a$6eCIYKdCvLl5Jvoqb_%ubOE zg{|@S+@^yqW~rYaNoIOqcyFTf$vol1ll}X#uZ%`?A+aP!XYkv7sn-#3s+rs>wNzA~ zO<-dSB>4L&z`~h@SO{G&WNsgpZXN4-aiZ0Q*f;*n5h=0Q5S4w zeJ*dF!3npD8)jfAtLHX4EXD&R>N(JZ)mKDeK3X#M2s7-S6Lq7#8x5^ui&uoV- z9h{v=l&o0>28i3bj0cRb;(Qizm#a-ey|4prV~@ds3CbK|;MH)QD!f1X?C~DMj2s-n zT@(MC>XlVz2L%J$hxd4TkJsOY9Bi+|mwMpY8!9avd@Y!wbx&*G1)Mhe_R+Oeaw!i@ zno7a(v#uT?vj<~p|8y)aC257On1n+20lhIlJ>3;9wXxf&CJvR=FU9m2XL#>4AR!D; zEMAUcFRS-pHm=7ZWIFs&Miom}sX|>If|nuqQ7&N)cz~H4p8neDXFt$sm15?=RkFr} zZ*HbyN;wtjaZ+Fq$19YnvuL%BK0;JUZl-@&zT4&+^a2EPtU> zO~TNH&+_M?|49K9)GENwtkI^VMHk*97U z-*m2_PRlwYG>1lug_9wloFwke?=s0J?R-8L#Fo*nqBX~_LOG$uvu_lHN&un#oitT+ zHpdi$o}~kdUci)cJ{AXXRDcrIfu2v`Iy^t!>Z~4Ia}oen2DzX7O63Yf(n@R^TV`f! zE%IQ{eYK4~xjD@{YXh@9!#^)sXpw84fuH-BHTzqq zRjkB!74g@2zljiG8Lh;^mRRPLn5Ae=TX$*63pc+4j>YQ_uxrV_#%JB`v{WpIb3B#~ zA4Tn{^x+n5xzWrpj=;+Qr~dKeB#84OvJTD#+DA%%rEoqP zAK$yxOf>wz?R^V;RMpk*NoI&c5}1gfQBg-81q;Dod=Nq;lgY_L^B6LD5HW<1Oh{r# z(wTF3SOSTYScY+`ZEZjM-9ALb+Ui$ruOeDLNB{#^R327AsiLAz9K@(J34+Z1uf5Ni zIWq~?-uvBqf4_T~{8r96`|Ri1Yp=c5-fQjCHJWPjNe4J9;mSR zj8oTN>75VddM2F2f8Bw!ooy3PJnZ{d;Tfj0Fa+$4ze67MjP5uCBd2c9EvNAU&gP@& zN&mps=MKXCR0K!$@-W7j~TanI^1@!sd3Ifjk(DcOQj)uj9;vny~vR zY+T0~*!XwLvAo<32n(>9VDaK`g`3^NN*-;u1`cB$sbI~7KH(otV}C*|NT2w0h>)G> zS}OJ&aD8yyK-NJFrm0rno;VB*jGlU=!bBZDbjE2s1C(vSU8;{VC^?>Jyz7uul+ull z_QAscjO%N?WA@-t*ZVpte#XJ|m(WH*Uz9w6@?mw`Lze_xUcn9rmaV0jubx8kSRU_F ziid2fSj}N8Oe?lJe6fQz)yjNNf6BHW$&c(DOtoPD@7H7G!!JZ#1!|&(vyC+gJf-7g zJjjA=rg^+%Moe33>v2svR1SeD{$&9Mb1){t7qA>(c>2L$(tb=q#;ysJjtrIIMuB5J zkR)vsM8JAKY}FXzKK`U08S|PIq^QQMUSd^ zj`-^E;LXxatZ;SfDqP25Gfb(E)vrMso9_s0j$zaDJ}&jESjd~W<%w;+S135a6eZMK z*}JW9N_Fj?>7QQg?IHwOy{r^Wdjc{AQQX>inwv;~K4>e=yO|K{fqe(o&}rKitgho_ z+V#d-oq{lF45;Y)3bN$u>j_W3dQ3(ew*jN1D!@CGTR#^gv|<+y2T8pq`4sp;xjf1@ zo+N`?9zawq_?xN`s==iD&f9v&!{P=8+sU=rh<4oywa#3-&7WfZfWS90DD^iFTnVeL#d^Pa`)w) zGkbKDN*WDb>JkllcWV2bN%B~5vqRvJ8J>fGn&eLk#K75L)CR+PW6lPHam&$+0awqb zFtV58l{bm&ugifPjEtq5x(>HabwuK89U!ZX&Vf|2r(J{ zFLM3wvsa|}lJu*oOaKl#7U(L`8JX>K?v~C_<-UiV1Nk~y-jd?sQr4b2NhUA+Xy_RG zQnBCga1R#f4}OXvJBF2h$=x}Dm^Ajx-C=t~72rIB*|t zRSeph5r|>!^&5>__6>CK7dnInVlw*bL0>#;0a>HfedNCjCWm=k=Q0Ta9l2o=uAyXN zO*l23CUY4!hIx zP|7~fE?*j`5sO<`2<`beTGwm!t)){^hair@w2@KOREqD7znzjG0Zs%&&CcakY$7{) z&>tDqlRGtPxM0D?y(pib5zvXDLuy*uuEyv}IVtd#ryq(IrWJ}pG~&OO3oNdoRq|-h z%bO@1{^)cePp&o$1cQ=lbzSPUo?dCJ?&Z4FMEMNAeCbJVM;SJoZAP!{;1Dzvn+<0w z+>A87G{1CHsqfFdoa!NNNRw^0Qu3Lcf>?pKFj~jrA;DMrE=HsKZk&z}%V8(IuEP4U%9#)_iDm*9vmgeA){k5AY z`Y!C#)Vi5OQ$g5Xu&c~+Q}RMfaxxQGvFKiog(|EliiW`qCV&~co+pvpYPEUeS9q|uiRX&4Qtv$pMEy8lY#=2NI8eD5`Qpv| zRk||DfA~jnfAW+I*0hin;kg{{vg8N&d;G ztSeVWH+akwtsZlt)%Tnd2||`SIpdm6iy6+b zgGY3`al%cP@UTa)?pokQ(vCiQmBbc1qIk5EGxmCRcSU*LhqFh9-b#}^lV5vCP?e@^ zh;sEr;q<7&K^7o?&csXa<5Q^a%Ec4)QsDggwYmeY{y@r3tQ!6vU%2g%d>->Tq`ax~ zgfs=_QUO7_jI5>tQnde7ubDnFuboG zojk4%tM7FkX9B{?o1p!6XZYuM3k(b3-$bhtZrOmZS9-;GD+1OaeqaKPlC)lFRH_X7 zC2rF3eN+Yv99|iXhWhRoz}Ra@A;Ov{9U7jP2m21bbMVuH zN8`T+X`Yfs|U2S%qNpgHaV$U`BY~;#Bjt3e}yFB_= zpF^BYCUCM{>Dv(GxHSD0TzDJ^^1=#;rSzH{MVW~fTs1K^4!uZv+74o8o+vQubnlaN z?;it0qbO;N=LYO<={`?;+3`7S#SDQNQ9VOC-A=Bq6@gf?T{}%3XNXU)+2Oyv+!wWz zOM5AbRjD`rc`Cpi<$Z|dJ5Fm{dMRc8R@zR-r#&B!^1Q34^3-;&R6?gL<`QtEPU)IA zHXz@sNGs&KI9|TiDsTdsVr2OZm_2qD{8x-rG1n`wnuhfh zJ5TO^%6@818qGSx?WZ1^%WQQXz-zLfN}%hb2-^?n2Lx@RzRiA$GKYOlFs@>Y6Jb9^ zu`X;srR3p6q$Plb04pFDkO7zjNCv>><^*hR{uk}17&Zdb=!XH10-mG1|F_#uC8nbk zZa=km9>ba1CtCZdiFk#+pvVu+#Jv@;3ZU9Njc7kbvC#)=oNuw8V)<&~{d4;%CGY*H z!yABOfD?d|fYX3;03)^Rzr=ou3iAY}<9{+B15iRCYTx{?*iSLR2&WXrL)+@yR|W%e ztcVFXf^qd|Y-ja~fdqft9`Pgzqj(Uu3hitoRsP*q);(%{gpuJJ&=~+Cv zcg8L$F;|Mum6LJ6AQE-^6ZlOAo$o>+?GUx_IcW)>bu_`dekfU* zNQt?(?>&_3mWTWkux}ELH-0)kkm>?YrOF{s&r1TF3McP;QGm*q)>F=AnRPcxSWT6t zz{B;5bUGeK%1y`mr6At`!*P~LE^bIi^uyTbw0~|o%pC-2W;*G%(!{i#()FQS~A1RX0$U3<2-BS;ztKWS8Y@ZjWv@tylt>2PQg4%E4#z2M6zxEKq9UNuzH zW209;uscDDjvIslu7SNZ_+y_;kYd<rLNEco9!PsnP7LFHWS-{P(?{01jY3&K zKJ67x!1^6dru}Sj^8qe|58?iEX6>i zXS}^%p5DPMVqK`Mya>kUf^0-&19VN!;0-3lB7}so^Hy80cwX>5&%Qbp5AEaf_O|m^ z(UDXAHeVcVs=$7`LK;Wwsy5$;eQHVaW}F*v5N+x!h2BLPAO;4M)Q&SG53Gz=cAQ?& zoBfMu>M~#tl3XH5`^+kfYF{iF8>82Y->fevSM*O;I?12{o&19jN-|dfSNg)&5QJkr&aN}w zPrHyQ1B_U+)82DVN@Y^%+Bl#;9TO&`%D9cZhWdq*doeYx@Jyg*I;aI}0ec6s?tm93 ztM$3{mEZ7Mk6vGi`hNp=3q`2)Vz*t#>k9)Vs*>*=ENZxRn~>ua2+T3YE$}{=Xxvh8 z2FrBzp|~Envz#@rF}Tj&g)>;zMk~DoammnVs`%yLna1lXX1s!l_wWZKe-9q&8sC94 zhTy$FuS1Xrv2vwba~i@nEz_atJPmeL;&FVN{sk*bja}Ts9~5JID-N^_QYlA!HJ>P_Ns-h|%3oW2QKQM56U8gDc*d8=4m;r=K$^x%!1za` z>%B!$Ff7Xh8nL2OA&+H8$TcynLcc>SRG(5b>ME`u|A-~+XxnJ-yhmpIHKqHjr=V0a z9i6IA4Q$liHDhm?CmG*0f}(VX{15UQrx&cfv8=uQ)Lx)~@lhz2@u+5_Y4I;TuMM6d zGs4#cFldC$-zN}uQo3&_jURlA>T$En^V;Os;WvU;r@(#VV9tUt`SjtBDO9h~M<5EH5o2oaX$Wmr`P!6sd{=SQ8N2=yRO)Rz z{nS%Wp(4z|)GPX|K03@8-V0tFjp?h#y$eS=c4Hw9TXCpup&{)|TWm@BGoD67uoHO}W+giYB8(++*`GgU5N6Wov?QTvyudffeycwBpm(_Yi)x^uigi=Ur^>ND z7|%WLiF;V_!{o5l!N@P~u;( z#QXP?FO0$8tZLg#b1vulxOADSpr@+}x+n1M`uJq%<5zKgd~8S`Uk%$N@9Oh@gLm~e zIK*@{Dd6!+8P{yMlokOFNpo`8-hm~dq1?MRsy8Ot zvuEvfuog;rXTzl^B*wV?klC+mOuh@AC^*?nhPe`sA?<}f%DDE_Th@&6>#!3I%Yjr0 zTiorp&z468GWGs(<-Tz+kIb-^m-&8)V=O`FAPcs=x&W4Q6_4VJT7i;9L%UiL(d0sU9XWXW&#c-F?euv=h1^7 z^!TrfJFMH+fu%_ZXm7%r(`}I6C(iPE9n3XDi~>dom`X6{;pz#K21b!LfT$`e>JPjP zk2#_7QrF3NuiWoBw|R5jX5V9Ee^PL6(`mdkZXb0BmrW<>e#a<^zo{SpT)QE?4dLbu zz*c(eJA==Al70p!E7MEJ9XyhJeRYiq3*nrLCEL9Qxa!hXKd>u-uF>#A0*}I~ zgFz@YzHqqA^U8JsGU?>kAl^ZY`%fm)U60uvBAhfHS1dkYA@VhOOxzy-=(v~tNQ;So z@>^0|+TY}OWCRlf$}d_N*h62bV43R$RwEqDpAo8uTCZrTM*^!ajxHPAMRj3S^!)WD zs>9@0%C@s=Oy)v{ba~oqDD4&bvN2RuKMF;qs8H0=^H*XzI;@-{GU_77#P#~4<91TE zdSNlu28(V?&$j)yqp%yTJm-6z*c;}w_`w5{X=;OT5qHFQC%Oqlb#!?=3=(kWAjSv? zYcN1-wgw;0UPUKzPL#m*PR^ktuy?Y&K6xvNe-Dvxhz${ACw3sQm!ijW{S>?^54_pc zy@_H=YwE}IfO>(hn*@jrfj1S|b(0=X@RT@##W0>G9s$yr`u#j$lL3z#=^ti%0;}(0|&_R zPa3s^M<;E_np6#-t5yq~SG<7JoPI?^Z zfa2xT;}AmM7$|I#4pPikJqUK!)^Y5=9yGjb>!oyG-k5=Tc1JgMpuT$Q4=LT7cKb2( zx8iZrbNIL803IPIFbnsNlZjB0f?S4X{=h91KQQ4}pg8PXY^U*w&zj?ZO85HCQ9e+6 z2F~U>y+J(H+1=Yk&nD?so454ya^sd*9IBJnv+|l5d(8}+-fb+wRug`Z*>GT??yEm! zZivo=-ORzNMYQWnb@F!kU?|Eih4b!{T6{ zArz;c2EG!{gLtmpchgkxfJnuWZ~Eo!>uKvMVZ#HXDEIa2kE102L^>%hfxj}*D`e{b zu(zFFVl}7NvCW@_jvF#Nu5=CEwQ{_g$=>!Jlaj@CuAyqjWv-!nSB_Ql+1uV{@*mga zvK_2?v2P8OBSoy3$U1^qE~UKVI)5IFzubLI0!EWOZqF#Xq8HFLkDzP(GhFAt2@igl zg2%hgpOeRLq?Phe5;COdPh)5_cGe&hnBRBO`SREi=}vvN9#WFD%+;NonNCW-<1?ZI zXrc-Uz|avKBeliKEUvmD*mP(K*&{{%_f+fHE*b1Uw=1)tM|ZtSEz8{-ypz_{g5 zAFL$8^6|zO_q?yiXC(gM{pBiDVuQ}}mH&nfWh9_{52R$=@^#vtmE%37CpP?a3EmqX zqTYf%SVG0)TWbj+cn*^FJY5Kz~#DlrZTsQej6>s+g11Sm%1 z;pvfRyq|cE#~hz_#9_quJYeecwlikHJgr?`*%(#71oa6_c$Amk6`(nI3{|{qpXcD( z%iz*D5f7dH%H1^$-8jXw6{<<#Ob2Q~p*E?(Qxt^a>vpmU}X@}i&Jm=S* za-B(NyTt5fIl&?$RuUIvno12APALB4tBN zvzMe7ew^_axv-23VgnPlqFUGiPr*Xdgy(Rd(jS=cta5#tT}g}#On8#wiKkQWX_0>S zEo=`An?iJ@>>v%+Cj$TV$6o}Gy&MymGD)1+*okUmBdSM&Z_hbCwd3^F3bGRGGaw0D zRIvN}r!X9IrOS70Lk@eoj-dVq+--jYB;p^x!v~RthvwpL`-=!&UvQjT;dC8CWb1;U z3C?BA{>ICLeJ|paI#}WSnj(2%YkK8}cy@Ki!4_x5R0=R4z;lF0cll=Pjx_3+HIB{q z<3Xkx*nA(MK@~V1A|3`fWPkH>JY%cca~k?X1@hlPb~m`M#C`odR1l}l;nr5>yAv0@ z$igM?JTjvTDS8!+R~^Au#?GS%q}7)hI0AER z3-dzrc9HWKEM>;Ljj9UmSn%@c$^LTpcuWnZ9Yr>6w0TIIjc|tn@3Hx|jAc8l8Ev;?zNXVbKmQwjOyI_k7{Wnr+lbuy2j9JV zVDMeIB?aUOp-lK{C)?pf>gTC#Hs2qS0b1+nt@10IyqLggp_yjQMLrS8gvK(lz8^&8 zliwp&m3qqqpiTJ}T4<#MkLyq39o+8rqHGKlgFBtx`zM6#G|&2bc2OfZVm=! z*!cmK2jj6WCbP-M-16~MIT0tF(d6nD6U(ruOR_DdP}zh7Bfa{U(T%X@gRSm_-PGP8 zciWLJ^b={Ev@GVGINyU$^f8i~bX*}hxBLd&Gs}EGIKnZGaYP4HU}etk^N|l=$^bi* z5m^n$SCm6Z`{4I90zCa)1JbfR;&CdpT&WAz<jzuJAhAb@7UrP(R-U9M= zh{t!3y6_(QB&*5av3ABxltbcvH^TvHi2}Dl<-w`*Ui)63?%hCOSL2*|;U)CkU;d7s zgYDQuC{Uhbvtcd1jP)Bkmk1Ng0k!jPp(qiZM?utisg>i`UhOHsi7g3va}p&(M%rKH z0oOj_m@|5!#PJ&`BI{f_f+}s7v6GH$Vx4;)Hz@&k+Z*o6z3$5Wsg7yGQXGDB& zkOD~?5Ch^Ey_A$%IgtxzX>AjY4?ctNfIJcO5}CB`VZ1_X2(w=Oe5Ex%Ku;;HIUe4c z9FPIEh6SswIW8w6E&NP2veq2OHc!SLaX+;L>%7M!%LKJvZ?mC>vfgI%$MA|#M05e# zN;V&!q14L#63kRW`&-IYhso0Yp$D-GyJqG@oruucVr zeC}8fHcr~ZHU&Fjh3t~kL=)$zHk-F#JSaQ?BiZEJh^U}(w|E3Cc!N;{!a1JzQ>{P( z$A|?4y$@JswB z>B{E&8j^v{SBz&!LHJAsJ2uNc1Y+#x5so4PzQG5H9EWAeTVQZ%Gsri>q706q9pcG; z%sH?+@g?A+f;!kWpGxR?KOyc5Yzn|z+^Ki#q_^BZG;F7-90z#&`j8t^(K16tm(w79 zR!7$SqbgrBb$tee&t=YG_y*IczT5Cv+;e2hP?M*paJ)#4sG7`v7sif3ovbUdTP)CpvThT~Y* zj)nYm2g#Z#hbl7t>Q*J3~M=yt|;AV?9ghvU_o4Y$J797k#p@(cr(w zUHZ6Rr?g-Qsf-V#pg6+tgWt!EA6+qf4Gug_T{pUM^unUPSFzMWt=;8m>t_4ot~L`6 zdExncivlQ88jk}+yM7Ova1}fkXuM=$-y=vw*N5mDyRZnZZN@Ga9{Ol?P&slHqLSjv zhz?`EjE}%@bp&5VX(Bruc#BsuALux5#a`>WQG~nh?F(@4mYCgHDfi*ZQaXhvPPFj7tv3%w!g)8(akNl-a9H9BGY-NbPw}8F4IPuvk_YY#+714EWb1aVItiwmjm=N9#wPW9|EAO@l z4S?qW?*eYC#MwlEV}S21hQa_?54abQ4Pg6k$toLy$OcwBvCOk~JKODKd!dti>$>)p z_lhU>_lh3@J_dXO@B#V&p91`VlYq|vr_T0@pU>YTl2j*n4&cO6OLUT7kN>8+u0v3U zWZ1gPqf^`9&ixgl)TO;CucBqD_OzioGV#Y5e`Hy293*K8r|Z?vgK+B4MlGZXI1i0H zdB#u-c~Udt#U!~ZHt6KTwAvCLTq=k4Ry^&Hp1oCe>BAzM|?0S_Fbvl4JbpOnMq+o|oq z1w2u4e4}SH4#?5BU%$?OSqB~Po&n>T%ay>#<@0Nwrt}8p~X7Fdc~dFT}Dv^%gAK!{_;&Fa0pngXh%eg3x@+ z4}=zKNU7Nm=@UNaoBt=jRN13l1!>dTyaLUfNQUOs=*AQSw#9bx69T zAW%GlU_iyB&(yZv(pB^kB0UyqA$}(KeoK}-p8jmNObkulix~1%<>ipr6G%mYBEqy_ z2*`WW2Bn2KKO>|YO-5SMCXTr)x02Qaho{zkOiE<7m1P4IV^3XFW-ldmm< z3jE%`6I=Hj!85IdK8IL)M4H^Oi3GVfyauEsx$r8rEm1O+Lo{Yej}13)v?I*|ZH2%D z8GpZjF*V}ya{M5*2P0thd{DBKVN0Tp6^xkBhHpY7cxi;9;q)R{BJcOT{xoU_?E4dN z!gBy0fGHU7jsl7*x2CpjlPhbuj5RV@>54s_rS+x^X5JW4x;agKtefKjVz2zmQ~o*T-MDdM`CT z^M&rKG|b^cjtpqK(%n!{*!LKCrUCg}Fk2JOo{bXEbyfPL4+g}~;3$3sv?!4uFjW5` zCoKWYOY3!#y-TAWNQUZ!)C*AuRslMX{2V)!cPhC|c?(W2$N(krSVs`cYkxAddO4ku zI~fC@5J;f=>O6PGl2rioUdYJ!U@L5J>O9%8klA0Nd13M^DMOQYVo|ys{3<=L&O1H| z>)b{cO;+SQu+HfE4|e|!dW_%hn7@*$J-4o_`z3I+byym~=g_*l$_#QsYPMdE zOO25)>1#n`Yzw9Bm9NF?F391Rr&{##rKvi33_s}89n*IYBH=vv%r$c(xsSHL>9V zWP_I^^0Su}>po!Db*b9WHhlZTFnGlH!jY&-!+_Y2U487Bunay#26tA-pVB8lB$yQT zM`1qc7ur`Eac~*-s-uK-p&c{hEv~jN1M*Cl{Y!YC4Fu$CT=oH=98*s~jswE#_JBvV z`^VM=#IOB0OLTywUWgk8>L%ya@b37s4&ODyIdg^h`0|juFeYwKojW_$e|6p9dsheO z>rm)cOvN30@EziHaNxy*4+ylfEpD(f{x99H zV}XYP6R>=RvfT!}momr+DZZyI9!qYQxOSCb)%ttnn|!mYuH$y0-4W09x6OfqFEM*z zNy6Y;3~>(TNbr=4mv`f+?}BrSd`DlUTCihb{ZZM*EjT?R2Nj0Vn*4=v%h+tVVt5YX zpxQGtWPHPMY&P}=&m^yj#cAy8M!EWuu@8imDD1|>d-d&Jy_ur;|L*!aX|W7(ju{g` z$|46CIA$z{NN^4ZrNJueeBD!|0vcRw*GX6}#;z}jt0LbSEPTS)k?owqv5M`&SsSCh zVk~W%`j}nkMDVmXK@jH!`E{K8WRUh@Akz*MsWVZKjSUNYYaqT=RKV*~F<{Jf9mhEt z!M%C9p$%~C(I>?1rJZ{CwPCg#d>=k3w!!xmw-~s%=(vN-`?|x6@G3BM35NT{-$e{u z#K1)iT*Sct%NW@G7oBhjZ~`y{h~K6YOn{kyd4LkYQh)^L1pET<1mHP9FW?a1UBF4e z5FqA1b;5YSB*0C8EPxfz1ZW350C)_r4e$ow6hOaSCtM4d1(*lO2b2Mp0-6DxfQJEp z1Z)Sq0r(W4-+{6K-vi786ap3lngQ*Ap90k1>eW@t?NW7>WMAIeR4v)n@YvC#M<*qj zvRdp;Q;qC!*qbGjv!=Sa+3qkct**JpB)862;!JOtWuIlLrI-zpslIxJ-PGLDoK#&? zV{erjnwOcJ5;At)5Q_~5A-2w5Ey)hM>4$|yg<_itWmsC85u;ghQiRc~R~Ig=a>z|~ z=Uh`>VTqU{7MmKJCaTw@DYGZdG&MCe+f7q$nu}`GnriB+9o03G-7(iRC1r#-a&xV{ zrm5OtuccZzBvVaGb8Umv(9%3|e9E%{*;TVBE2^7hyHk)HGQ&$m`4RC<%VnozT5317 zwm4D33XVzzM|n=u5{JFfUL#F2)l@e%*=y&=#-god)sBYhrA_uK$x+?VRE63}_Epkc zQ)W?7zGyDwEl0d6dvmR6Zn_C~yd5*>c6p1#Ue#o8HqBu8K?p~>5|cj!yOz)|G`A4` zhT$@ZN7J+^Dbq|XvSezhGdZf8mmzLlb(51?GbMR0D&O4PBAFa^AZpr_+0!V`R@4HW z0Hnr7_EAG~O$!LiE`cVhm)lLX_PT~f28j}a2*Gv<9l@$FT_6KL1Pe~77D!?AS!G{kuaPCS&8F!L@8~pzTyH?H zDa{gjOq0{T90cA_W8!F?p~AP2Au!M3_ts$OM6pSCyh|UuJJ<~BQ-@*;OY`$X z`7pj*%y{((d?s7rh3Z@gMzfqo3i=-{q;W%Z?5v><_*Q(d+L}=M@&>1qIFgf6^sm;J=FFCr5mTlGtk+?8f>)X(nq-K;S5~ifsuTDu)G;*f*sxQ}Eo8ix%>l@k z@Vo@gYF;HxW9Z35B~j-pxiy>%GkQWSg;U@z*b6`ic*z~r%Nb7!GD~%CSJ;~{*JQJb zmOOL5X_3NCD~X*(;xcT!Pn$Z;RNDXspv<}#8uPU@ojF=$r-{wB4C#Er9kH(>c_T4h zqIre?h9=oCZj5%CK!+_g4d8vXjC*imR;IJLY%Xb_c`C0kuLLb+yk)7}&{SKcbW?Et z$fVGq+{NF9CJ$njPRuD7r?_yw89{TA4Q1@aB&}?y!PqZs(Qp#53^cg8w%P#+sJWHq zIzEn+c4|iy+KB#Q^;RZI%nY-MMTlgTBzQk z2PRXIpq0eNFq^B`ttw}sg@~=CYCbO@37;By;$e8u2(9y`q}*;IKG9IuK;x44gdj`{ zGClA_l9x@B1+4%;d0x2QtX}pSwH6_!%=$!4tIl7cNs7rX&YB?RMi5;{aJqo_0)C6} z-Et3R71n%_m^crJt*e%*(L0Q-PoEUdEhpU&QvE&C zl-Wip3Q`Azdv%;sw=zD)i{!1PSpm#Pg0P}h`NDXKW(=vkf)o)Ay9krFh_Jxu9ro51 zhXgq*qA$bd56X|)HY|=Rud%CEYotDIYJnn0ZB(W7xh8XQvAH5Nap9#(2sIEaF{ah1 zvzRzF9c4mwV~i81Ln*=8lJUM3igGw?y5cgas*3>yMA@d54N|=+sgCN#`Ce$8$5I%R zRdLlQJQT|H3fyVr7jR5)4x(;V5LH-9@bSCwO343^Xc!M5zKQlJxoBI;c`E5C%F8g7 zh4HVHSvLzai6v*r%a^ad{q~uJ_2K;m3W`whL3N7qALO&i$;nig2-TS3Z1lJBGn6y!e}U7vshQof^5Lm z&FPc4eoGu%34t_aum7f~OR9#2V4G|nQ%Ht8nw zA_(Sobq$GBe)N`-#ZvpShGxXo7x&^0^oTRoB zDF)dl)VyU$fl~6sD5-~N5Se6n|TOyONM=VQ;JiJ5@kD@|CB2r&}+ae$6f!1La z9vHSH%jm5V|Ft|&J5E)`!p9Zq7Y^V-5SH1S?5oiBq!vK+FdAWNJ#4uT#09zzN~2(r zME?Th8@5c9lq3jK3#oiTxB>Mb`OP#5fM*2*1rW{0+{?m zs}`UslMSM&q-2GZNK)Yk8x#?Q;o=kW{8C3$6H z6_bP(S#r(AW=n}!Tq$JPc$k<~m7ixTS(Lx9s<<>?tRx)ZzNFY(XoEIfR9IDF&de9- zeO9))%2r}7VUdvDYR)TOlx3~56crSh3$tb-C_k_8&d3~DStGp=?#!cQsMA*;b;oR1Knhlm(2c;-b=$yh70y)>h?ZSXcyZ zsw}0&wxZ%t6pqYb5dwb>VURxut2?Z|BjA!H(O|Ani))^rvIPO$MAVNehWHH6xn^5# zsK*dGGgOU{(%FFRe6ggckUBoR12xV5c4}ZW13a^8hOite82M)AX(&LGv$eRWq(~_{ z3|IE@%P-_*si>N8oB}50HQ!D77-Yd5y+Ft#Z_A4VJ67P8au491V zXjuI;jl5v}G;uWLV;oxU46ewb?^HV0L?4m%weQt5K$ESaAhQT4$~W6=YJZM2ZidBE z^H4{_NaIa?r^YoGR$Q zvWpx~YK}n^BfTwG%m)YJeMb0Wh2;YpiF-(PenD_6K1P#*v)0J;i+cP^^Mcx*e>EM*=t6k^m$C|@MKn)4 zc!$xd!k{D5@Ls+^Kl5=EWSx;|L&%O87gU$X!5%qw&{9q3s3VE09Zsv95`+9LvJP4b z348Z1VN&JmeDrH86PD-j*F^U@MVUoaWn!@nQn$8WZID`QBBxC_-Be{`d$h`CF&7q! z#Z|UDu^<8YjoPbJmGa6fu+p59RfX;fiewZA@3QkqLaKng4acBTODJw>N%kCVWS}fG zHjs9BcW~J{I}Zhwl;>H*DzUh@sF;s`Gen3-H zUa&q?ca4k_*04MC7*42trG>?!r6{K`?=CbcD-RD$ed5{JO0v)ZE3$R?>hQftV{&JrPj6{F+`s#hWre}@K#_tt!K z389epiKbnG4KgiFMN}VDl%ZCOZL;!G-q|V&OUw`{SeK#hCE`N0WgH*qo`SqWGpLC* z8lzY=qe!A5lIB@4*`!dCnwTSk91&OPY%L9jnyji|3|FCGj!v|i7obcl*pDS#tD%g( z^9r-Xg=+hNv%EqQ8!2Nh=J6V(L^$2;VcCE6^- zc~;hvB8;1RH^O#Uc$@5wy<46{cXI2Uzv)VzslI4w4_KB6{>Yq z2qYWVqT&kPE{!&bzR-+&)K}qm5dKQc(APt4M_qYd$b%CGF@g{)(e@Q5{9soRpNk{` zHa@{7=pE-ZrB<*P&TB@f2gMJ^H&d5XOtO3!3*`l|ItIy1Q_Zk>2~8173-c^RS>VZR z@q^K0Q0P+LgF+cI0s^bh0pKZMl4$R+F{`03WmEW!z#zS)y%`us!+1WIT3d91|@hbC= zU==LC@M+!_J})Ww3H2tYF{oC8xgamcJQ8wvz4+1%zgMRj8V{lIln4z>Yp%*unHR)|2Q%|TwI=yyV9UJeE|Gm%x@dca?AE%nxALF6aX2uj#fRT(Vl|}jTxgl&Cr*Ldys4Wah5TW?Q&Y0rG`kVTf zX|TwX?ln3swI`=o%qc3)Gh=Qu=Zl3|Wasmu*!EAt_;!qlXc6{i29c!3QP*1_e)c_pGi9a&`K#A>O? zLGdFK5aL4E;PQ;P&?2(w0fnGWBwh&CBI@m8Y9FHobXSnxz&|5qHHL>_IuO+l`7z$i zR$7t2T5c6)u}I#aZ8LbextQ}|YC7dZYAId$5Mvqgx`KYx;TV>GB=4nlCCUrsXuD9L ziYvpL=7wNbQQTq?!(1%15YaI-m%v&YHR7^Ss&bv9TyImZw<_0LlK)?85figIZg0JrwLPqT>RcGv zp$OLwW5_Ff?9aZHoa2X&uTb9&6JrVA5o_TrkKlw%^Q+1WLh~@AXK?25xfpqc+Noih zz!{DEVX8w=&WmUu;)fWAqJMxu@sC3bOxC<@2((E zqIp(b-&gady(CRtGR?L;i-vU}Pfc4Htua1|(OFnlKodUce_eK~!mf|8CbXCanC3#S? z@q?}(#@p2i7W5F5=Q5$tL55^?=ai+T^AO8NI~8s~QCYvBPMAFL1Ku?H5=$S(2NfE@ zya0VLN1y7P7V30ybBKUB8j26=enG5N$td*VZvlEA)f*gOx#o z%j0r9(gtOQk#dLL6uD$X^FO8&m3H_fq0$U3fq)ldwut1OoC?s^ppIH*hD1qQbr*=s zXiH`KC_p>-Rk}xh5i|!3Dl05nR*k{RDiB&72+c7dUm>)|&H7F$iVKD)gXWOPa#XTr z{D807upy^Thr}~g(GFu6$+@V^=F(y_Eh=!%M!KoGYfpGYA8C0<yL5&>T6#1*Py`Z!R ziyI1N5FWPHR>ap{f_MwcBz%ZPNG7}=RJ^EEiaG>w1p^TWi}4AK zJ_sDBNM=*yG8!XH2iHzG#FMm=BGTJL%n+D@pz(xOFpyS3mo_!d z;A1Pa)R)SdC3qR1`oej(W*i2^#NgQBZDaUU1##dkC@2tr93_R{6FQ6V5`caU5pSDouC&*aTNV-NfxXW!8Co2b>Srj;kM-D za_c2z#73us35F&0OYnm;YwIff42Xfx`WXzk81P4r!gQfokcB4v!2ph)o8f`NZ&^L= zHd=%w0QynA9>x9R$}K6 zDRoS2lBuK~R+-hUtxd3SV@}XDipMXE;kXGM8M~3`GQ99qS6aATP-sCzjibfcQYV>a z6^bRMVr~T&YlY<|%)80C8R=L|O##!KCa2s=X8N!-h4~$MWBZB*ha|(ouTE}eKGDqIJ6QjlFPMK-OS2u6ej|(~ap6u9 z!FtVReG_VTODpUwfly})Omu7QE8x!+imTvAwd!V=3H3DAPi{?~&F~|mMDFSf-(46C zOZCjJ8=ejKM8>}`UX(<&aQHzL#>5UIpn4chI^d^ecalRK(TPGBIP1TXc9IzmN2CdRGkUG1nGEjH2H+=|;c&#b)sAH{MRYQRQ{0=VPwSdm zKuWOjY;A!r03$tw)Y@x#zl4THSp#dGWyXvk9`YOD_UT}L(qycxqKDaPULP9^jzET~ z%-(a>tXaZ5)l!vN@G92Ww-Z;m_%jKSf78LY`CsIlk)Crgb9~!hr!f34Jbs4|`im02 z+n+Xv`-IS6G!B9PE`Mrz(?tRp*8e7<{{J)uM0EuJqQ2u#?LoTU7Zv)8j{0tYYWk6A z`dx2m(G!sVwq zV}s6R%%x(M2|^lyRjUn zGXm)T8(gCnT7=n?7ZjRdJ2ZQ8UST#8(G^SQxY}5_nomWoMW_VOFPHuQpZiDOFnScH z;nI25$G?v=sBYE`%joz^p|Hp3oTt{%vo`Yo59eDwBWP8}N1_xyV6Lqt=Q8M*6jIPq z3-{k#=2C-!U!*Hhj|0Lm<~rwGif7@6V5xyI(Yeq!%uSG$g$8<0+=2;gg7AK{4e_~f zZjl^KJadPTz|s`kc`5_TwPiU@2C60ZbhGdtg_QAQj70F1D|E<*C$_+e6e{4KD27d{ z<$;2*n4YuYV_CAg)h;~4-@*+^ZY6eR7JeUH45vAYAPDiS^lT{4f-p<4&}kz|HV^B{ z>39VeEtbW~f~@XnSuGgYlZ81i;|xz-8P{!CCQkKPI*D4_VmUkIlzkfL1pk**wv(^znrSV>C(X+oK+;o@I3az5pP@O^5l zrXLCfjw7m`S;&pfhvcsa^{DATXf`ohu>9bm9E-#Px<5yu7Atj>a9wmBp^OwSJK+bI z!ogcVR583jwv%@7Z_(_=YIiWj7-tMHvH+_8M){UB)ZC-c$?f#4P;3cP>hf?#O`0ZD zp<@JhQ>bkFCN8nQdC5s=JBVRcMoaqJ<9$4%Jr<0=A3fX zE8%p;F8w~{7y8C8`+crFM=Q^tD9=9S+NWGURjza_IsH!Z3q~3Lol>s-%JmE7`lWLH zO1Yj^u5?s3{YEL*80C6~2McsyKmESp7lA&&NWVBG-rxD-xBfr&t#89$ZVrEBPrn-> zY^0zkl|ZLbx8=%pq`2cF-ql7tYt#H*^U$r__bAt$%5{fwtx>KcT}nm@)P(&=xnHXZ z`&Vz-!Y~ru_Ae%U=wFQge=GV=m4Y|?AFO~|DQmrQ#cFieZ|9FJLO0-7fJXoi0UiLX z0Za!>0hj<20f~U|fCNB1Ko1ZA=kCV`(E$el`vJQF+W^l2o(4P&cnHu6IM8Jgase5D zd4M^9n*qsyL_mM1MR*qQDBvMLJ75mL1P}n{T*w2^4R{)01tb9C0eZmDeRvPp4R{pr z5TFTgH=w@*-&Fw|0Xz0(b<_ z4rm2f0n-5nz!3@g0GpJV0*(N-0iFfa1Lgo`0>%U40mmJP19%Sb z03a7I9uN=k{Q&p^JPcR`SO^dRKAg6mfzJrjkFH#^SB6M}a@AZ&FZvdC%k(CSbMbc( z1K$+`@*_A;1Mt+>nSw)s#RHj)&ZhhkGz_3Mfp*$t)BK1$U(KSyzfx}g}9>*1Gj&K0idvWc?mE_!QxRQMPG_LAz>wm|d@ADS+ zO=k+DaZev1qIwfhyXZ=Iq`CmV?7P0$A7*W#Hpc^~eRQSv(Usaq@2D@-ca-lK09}m$ z%9q+tVbp$VI{}4X51{Z{lxMT@Of{$XRsf|b22ebka)lDa@~^;^%5GA^m*Z*zv;qic z4gl4a+ClYc2T+|mlFryb)Kb&*K0p?{@%-_X2?G_ZooS zzXhQ8i9ibBNBu?NW)^_1gyblE8J^lqaWen`bU-_<9T*#gf5N2+uns`KsAxR}36CS* zlKWQQcRfAe_r!brx=|6>JAQkdNI=L~+s>{}B7V=Nw>O!1v|;}{6h$IKxjz3LPJ`oxadm1E8_>hc9kbuVC(TU zncM#U<9E;e`mBHL9~M|Pe!Swt{a@a2V`s{rCg9rw#C_T?5V%slbCpQWbVvh~lO*$RI5QDyqe zm1&;e{PeCs<>R5`fA#a$M#nKy}dbq-+%iz z(}w8cCA+7}Xs__<{#TXny_}u@gY?+9Hnq~fq4{^!roC6>{kP_Eu7Awmb$F)z$`2M^ z@xs9`<{vOl?##J5=joS!cWQpd6I&XZo*DI@x83ibpOU^U^WKmC_VA83KbgPtn{QsL z?!0v6{-;jNzcGK&`vtqVKm7BL_s#$5Zd;n1_3HTT|NhMUcbC2NaH{wp*Z%4Chv!e3 z-21_{m(pfed+wcIU0Ttz_D{Ao-Tm~u>)i+E+?VrjTZM1l zN;|fGq2cO3`98e=30+!mrv@iX}_24rx54T-nzB7cp=V0~axH a5d#-7a1jF+F>nzB7cp=V1OHE8;C}%0(ajeC literal 0 HcmV?d00001 diff --git a/jj_temporal/jj_t/parsers/gobo_files/geyacc.exe b/jj_temporal/jj_t/parsers/gobo_files/geyacc.exe new file mode 100644 index 0000000000000000000000000000000000000000..316a799773a7bb96a8d745b05f3b338cac2db1ca GIT binary patch literal 339968 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 39&1P3(>5~X(Wvil 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

@6=)V>v`tv*|g$IqyI{9T+L_d7k}b=v5&L$vpM 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 z zF)q-9p}gWF?fR5NtNQc+Mbr$a$}fO{!7S23A`2w_%GmAuCF&dD{j1_HyYYwb2T*?^ zE$GW4IC`T;cd)y-%uI?p(2_9Pvl^~;p2&=Z4n<~EHI`cJ2t*O21M0^e)NKifCkslg zK|#1ia%2o{HqUvurp4%uCKCfSm~-&oWYz=w=ShvK|B=TOSVWfy;s>ioHE`8J$qj ziH3R~U-kCjJsd#4TB&WH6PPLJmmGCG!jODC&Z{&anT#N<4NkX^!O$q7JLfSBH*TgG zoztT6;4r=cH4arPD6v5Fb%iaIU%(kOO0SZ(jv`A$De@B(s|Vb=Nu`OT)2fRL7x zwW$h!W^cjQ3Y8R^`#fZ}g3#O&{8^F?niob6Q;#+Wn?-yFpo^FTZ3wq69CM)F*$OKZ z2OS_Q6bBu64R)x~!m6o(O<-;f4eD>Np*Wbc1RY@W*%%#jAa#z@SDWi_5l#K{s>c@E z9+HO70(cAMw7KpOlp?CSiBhXi=Q|gYTSbnCiXn?_94(t}u8L?`*Y#zohuBWy#afUg z>QG?!hiu-gIfm-OpQ#_B!IJ?A1jF4bigzTnA%zD?z#)pf84CKvIpBLG zfHRBILUjSmKb#$mV;sPp2SZ4@JV{ZTlX!T?0@@N%W>4n27$i z*i$|MeR7(octZN*P*iYA`Xh1mRe=Ud{hd_aU4E|(nEn(7D%J*uRs7a4`)4Pw4`Ku* zS67@w+;}X)?9GN{1>;%!5UQ%n^^ZI8V+rxZ!boRz;Ew~eR4Z$U>?wFT7A6?F&xe=O z=w+9s*vpF|$E)|{Qu>kSOvhs+$@5ca$O%)-r!7cK#8v!7m zQwUSbEP2-o?;veCeKjxIhGpR^$gaT0IFoz*c7nn3f*T%sOU14rbEJ7%WSvQnYa&Nm zj?@d(07oLmq$UyM7>?8j9OWW_M*1lcO;08Wz6>dyK*TVlUR2#gZrQ(;yB7Zz{O9S(IpFSpw^8GF3p-m)wN<36%g#7}d!8hISWMNqabn(vojpzfJZ$G`#=t6SBpX7c z(lJUVxER12K%?$612G(Jlr|!91a04~v2DbmGTHbM+}AG#z*c9qR~Y5c%6h{I)T9)eQp+2tM{ zaw}aJi67zjMwHV$WKrye5q)h>_I5Y&$pm|fya}7BFboQPQmkeS<8zAIZ-Ji)PtsLA z_l_J{6suDGeG|T`>P(u~0aVM;ub1Jq3ED9w2K1Jr1@wFm=u{Q9pr4ZOhnQO1#8v2x8Z>)K0NShVW+UU^u$>L=mZ{^_oVPZbMz8?*)vS1VRrlQ zz%O31!!!=1^jb3Vvu3}ch4JH`tT&?+!`9QJOU-nbiq*?QAyUP}KVb{HiGNb8ZbuPx zC0_iKEoPXf=`uS0$zf)k$Lsge@lUvcI6}uYfCqw~Z>zs?lyybWH>dMskb4v*2)Q`% zPb_j3y3Afoq$1VQLcdhM|DVM_d5h6sdZ?Z+`+L!mFu4tY?QIM+bwc{Tx|BVbP{65j zhQVP5a1gnT=B$>I-fzpA?OXVRU8fgpfEi$|aw>q+j(feKP7Z=$+SfR+5A!{ClW+MR zZSo{cVT-LHvv9qSC*LZn?Wc0Mp-!MLU~_wyp!O2|?s|f%5bDGRlgPo)LK7N>Kk5Pk z%dA7xRob|xarIQGo-5URxz&%7>a_i&n{oj!YI5+yr!QrB39^B+H1R*IF=W#TXE41_opb zQQyOC>Di;Sm|p)5tpy$3Bxs|XBqEWvf6kR)6Oc$hU*;A!;F}VVpNUhxsS8Q7QJ%vX z*#9ba(P;8*44IdKe<;A-EI@ zRIZ(l!~7qs>7p1XqXn@x;6ob4Uo0fw4)}FkifqMymSDL2A;`I5l?E{zAco|G<_>_! zU|S2#B`$i>l+2W}%S+YsRap4NlwCMTPd#*6%FDow$u}vb^4HK@3IuLUIj~>T7-Ohu zLaUJ|2XraUAZgt+>M&))X^rEiRgY>FE+xy(fh~VD)ZT##(VcB6oh?;E77!KzU~wy6 zm8$eg{LX~}t*)5o!K&t2!781wg6p0iR?ARMW3>~d{IHq~tf~;20rr4C)x)78f)ABp z3@!sDXrrX_5Xf7@;Ax7-&`ndJFV>F4e?|$@>WPueDE9O|8BP204Fh6X3_b!pS+KkVB-0<-@FrY z%wNg3eda%Tm;CWXy-V7B+ZhN{gsmVd-!|gW(oRe|UwRE06625Y^(d!z%SvrX z6tDAeDVFeMR z$AfIq{Nba!WFzizvz&m{JnreyCH_5HhH|<`SH$VjWoQlNLvWjoXu#6z8V#L$bg4h| zA{TmDRF6O}m?KjNdLHqvBas8%(ktByeF{O3Pp_XJv$)TQf)3c0UQfM-HpX!{;WSJJ z#6V&0^+ws*PLDL%9G(IkJNjq)w>Q^qZ?bQDL(m@91ezj;RDHDz95Iu6NWp-I$A~fA zu^cf1v7ziN|7(h$^?dX%@v}XTxWz5}ro_E9o(hTZ*M*+)3Gml*JjD~jr=O=nBKR~s z>~=T-eBSjGPY9pIo(hTJGu2Z*0eo^i#S_9OgbFbN3npT)P;H~tJ32Gybi`D{W*UTS z9jLu|{T~fs^+Z1?-1P18%tG}v6$}RvBmvaq+VK*lr+(R4VS`_dm`DT_be&s z3@74NPW#dH7jdDx%!Sro6jqx*!DnIuS7nCPSp;!RuyCw8lp&@8;st;>NkE3xG2Zt3 zQt5-x{Lky8`DW@wZ}Vc$MNG5QaOv?4CAg`SihpV94(L54YAc;I zX7(1}s^sUZ$EMGHe|pQR<3`rCL)85}P|L7Z^HC*hT5$Hi37T_y;G{DHGcN)6qImoF zRu=|P)KFTQK_k#lM41AvTC3Kn8+`7)i zW7Q~9dx?E*4Ca9HDQF<;%)so$cn3wMJP23wn|jlxlcK&@!DMBBZB9Kf4o9GrdVsyP zk=&p?xocOQmh6m7UUMB77zQ(I)2xn>X7G1LT{Hn9qH1wT>YDe>W1sDPh!Icgp1(9;RC`-5DEuO=JX6bRB|QLRi@OOa}= zRi?DFKc{2PfM!|-K^TpBx&#xw8#lmND%@FXZKtBcKdO?F<9t(a)PlNu~#{+yhh%}$T zj|l+(B7u*bie_)5zk>fk(fHr48@M~Rf!Vf!xzqrSLT`irkFUhTpY=}~rzHWJ5M#lU;BF0i#4*1x!FBLBRwGBpbpdVMEM@ zhy-f|F|}%OS5b52Nia`_1Z*w!_EQmSQK{963SKZFnt)fdYO#31OLf*oMWtaWmwmry z=6UuKHi&)yehm9O&&-@TbLPyMGiT160X&Qcoqya~8&=|%#zl}nkBe}J)Ci*v`tfxd z|EvfH9UKK3|4aD#c)M1E3$ovU$7tj2&R|W?>*Sh&ngqE_qNbCLx1OgX#&=Grz9|FL zXAjo*+IWp<@2u78yX$!(+R5s3QGHUDT#gEepRT~KV5is8vHS1hU;G1Eh+%I9Siws( z1lWE9PSR_T#9!}^OEs7a@f*<}*8#Rj5PT`Fkphf9Y>&pfT|`Scq$o^BK|7l{?8>K&HRp>^2T zTd6%!#}ipi&1@DTsJcfJEo`|xZi<>}b~)i53$nc+nr~HaPODzhjWJpJkEoU(w+2><|AfTxO*4 zf2Pj=I{cX@fj=k`{!y)i4gKL?7ldCpMuUI44*&Bl1LOY)EY({7zNg{7hknEQ_p~7B z565btJ7K*S{d>Cr9kqXz{S&i0v2LM&&9rjNz~q(#Kj;|gW zOCuNnX|pB^m!F~76qXM;X;co!^c31pBL|Hf>=dM-bOvl$Fab`34vij8r=^{buDi|A z;w{5zE(Y=}gXOi7a~hmGuuWuX-j8B9R{J|s?jVAQ^R%zyOUt*GW{PjlW}DfF?7rM? z#HzG6nAvQ);V!3%-ryucxRe;P_vV@!OfXI|1NMt@f3h@RMG*SjV_WvR?d2{$lSX!n~-ghl6XW_RdjW35&RnUf1ieLpS)jSS0(V<%_9>k$r8$ICA zZJPLCW~u4ogLOj&ersaX88)5)IAAc^C7MD|u;)@^R*S3-K8R}2&nC|mHRREabmUN( zPgm5DLuDa7;3B+P##~-Mw8mJ$KN5}gtTqmd@peZbcV}%Z>%zTwvrM(a zn8lZ%*wujK&i?iK!OY_Y@d4uSbf2gtWbtBqiZ7n*5*4Cm|=9o8#PJsnFS?iTKHr@tU zTEnl94X0iyu+HK)P%XOU*iAKvP7$kj(JQDybP8%HGUAHCku}Cje$(ATqo7{C0cF%d zYQ52CN9SaKEbX&Gol|70O=c-yZZxZNP5k>m1W~(`K&7b#!T>L${P)&g zjvc5Rgvr2&v~2~~x9nn*U~_fj!orx^3u}`3-rs}E@q8XDv9iQ=bJNrd+=Gi1FAcT2 zpF{+9JDY*t1%F{wC8}`31!K^4iJNFVfab`FJ_#Gl@idqbLgQtVM^8Xv}L!tG+LrfXyM zV#*t^w45!+>WjY*>$CZZc=_MPsvB@Lu9!+tLSywZszD#C^F$3lGgiSC6@1B`f^0Dh zh2)qW2evrp#4$S*V>S-^-Qm2^f4u(Vjv#_#B!bb$D?5(SnuE~_(VEWQf%IVWFFC zBK(ljkI5OH-)IyMXu%Y^R<^(6_A7F7fYVydb^#GiYwMcn35PFVk#?f;b-hf@^8a~aN&GdZy&{Qslc&HKK4vZ;4+3wIX@jQFj;vahzxu? zP3+}9 zQFwsR96$Y8I#KOCq5+r$07MP3p{L1+98CCQF$yu^-w&A${tde1wc;zCcAd)#BBCM9 z&0^&lWw`cr0p9?345T7%{oQC++)h@Ie%cOoE<_&gPLkf;1sQCv9T6B40|j>96}UN3 z238t{L3BEtHnt3h4j!cE{OVQ$ju;T;XJYo!m z0U_7XJfX&!ymKI8F^^_Q_fb!pi?4WC5+3)>9z7ID^G0Zhrx*%^V;cdcf8nb7 z#xR0v^8O3$aPj*$=yhz-zV8t2Lwm^8@PBAedO$Fw_g27(Y|ld*^}76U5+@v7RF@Xo zWDCaMskSFAtUa4GSV^KiZ#}5jai{kENAwSyObo9DYJme{s9E3rd^aVq9`C~dg2tSt zbltMSkxC~_|NSGiAWjQSnI6;Bo6ThQ zckyEz1Zg0v)tk-g&Ex{jDva!UV|!_!WmoNxcH_9r_uGFL(`JrsH5He74zXTeqKkj< zfNVE!7v!fCD&)|ZBekosmX4(`hy<`*O6on3rHykNj2vSyi9>mwZDbR(-_3ms>N8?g zK(lB?`V_S+9ocOnJ1PG2?0FJimZjtCpD-C*Zl9|sxkHgfOd^i7Mja4MT@No~Jq({HaD%C3Vy*`Da*QSzT`kM_2({HL(zH!m#v zsi2b{CI89L+20y!?kS-2Qdss=L8m=R{*$4zI4u7upfe#X`>CLF{Ps|5_53G8=dG~( zr-04_VcB)?C*z&#qvSssI@81Qp8`78uQ;K_iHF3y z5ppdJt~ft0n@O0RxR05IvXJ%B_c33F@&;$LA-zEtW-Fu(oY7!xM}ddwW^ONfMeMmprGj)cx2aTu?KDf3-_s;Tw)ys&B;{vB8Rs zR3{SN6bZo%!g>khYoRonun}_xVVJCK=OHYBwx3sNdUKzZ^Ox?x)*G zB-HlvCJLjhvOi6;w;1h0y$G6G=tPSNvleuxJD|KIQ1?BtPysK`|u#F2oKT&>=X}+ z4`%huo}%~|_77HV!eTG?Q_G#*xxJP}Y;h zufSz=XEpEj%)kmX_XqdI01q>_CASx)c49*E{gB(^v4fkyQ?OO|Br?cE$m|AIgv{&^ zGR-&9wc1#;w9Pz+><8^o0@;r){=MN?z{UK$mo|7|G{CYbE$-8}17tv8XUOFX2%AL) z4(@3tVnRgl(lP91MPh9vtQ!dH!NHSYupf}S zGHgq@0t)#wtlL6Z!}D0U$$t2eHYQ zON4xPf!2EvLqhjW7*1Fe$QTlDA(4C&QV{gRB`(e?HPO|PE)n*#l)`?(ZB+*SM0G)O$Wq;vC)rwcNAyXmD*ycoSWEo88CY{tKOD?%}DKEG3^W-F}!lA2H4 zB&j($O*&RgI2rOo{wL)1P%;HpodLX>FN29smuSNa;zpQPGVpsnJA=F-AapnW33MDN zINfR__G3IWSf^Ns>)x`+O4GPot2BkbCZ3GAoE}w@D@7_IG-D-?&^GgBCb9OkbaX@| z1d@zbdo(h(O6TXV!MOT8xQO#i9>(xEE|5OPuOU$$$|Nu2pZ-iiO?Ax6 z8*J3qmbJg5ljBwmdlMffan?JvVHR>VB-Ko);G63q_Ah6S@P(mV6~Zcp%P)CeJu!YT zq(7AD5>tUFy$imX2W*86LjmEqh@gDBNE1p>uod&xNV2w?0Gnw-x$ICB-XyD*QM!#VhLst#r*hs85_sUs)Sg z;1u+gE5fn|;h#)@IzOy{u5XO1}#0q2ZGF!C*ZZ}>gN0QTdxR=x}WTtVL&(D|ng-2F7zvEA2@gd1phGJiI%3?u}tl!Hzj^Hi> zlm^wvBg-1;k@bXDDCqsQSgR|Acgu1@j98^d7D*8&O!X^KiV%_>SxEv7k_=@?yIiCN z6|Q87#7z=d&?D;+7_kTR$WoDr1@ZtMSubo7q_aziP~k2kSkXMPet@!9$=P)niSz9F z(j%+nZel8EaElh>2O6BRKTGIu#@0f6EOZ4r?KCm8Uq%OyY-|N*y{4Oru#1~XF1mA#_}&-#E_iDk*d+sOk`8YA zgD|EOZ>8XE@^6LIfvasKUnPJ~CbC{=Rvyr}7_8~H)1GTZhwOB{i(ozDB zf>v*XIKsc+t)ZwW5f-luVp{|DB*(BgLLPXYXzI#|G)cfc~SD8Y|1x>(GJCJs)y@7EF__%TRVe4*nL#+5tIuHxf_XGyTU0MIS7}%?i|!$HH}>VOvp6xDNCxG9wps zpiG%x=s*>`y(3%)`jp(9Q7otfb;vpn`J@i?Z8RO|F|ANg2ddKQO5rcda?x}kH%bvg zQU@9&(9m_Dg(5A;Y>5(y6%trb2YN^avIBXgw;*v~9q73S1nDv)M6j=mU`5k`z6Ix0 z^4pgR9VkocK(p5g?xmaStGdZ7Wg|yKa|QTKfsv(ZT%=EzskRP2+o|>T*R%D3IloLR0?hopS_<&8?ho-piSv*sSD&H%*zonIzFfc4AW+Uelk$+Njq>@16TA1 z)g?Xu)J+l;o4i@tk-lmXEO<_k1?`dr&mk7vg+$4MF#Dch0MQxn zG_BU5e49zqz{D-Gnl=~?n)hN%+A3V`1pa892xPM3q`mZtG--#?<4O%|a8N!aJ{X(# z3aB@}DT2t=#(*@F(_u%)D8=A1pR8ryL&y91mQB@A8OlFR&|5ZH)-Bt_|2Y-wgQ9%Y z2r*NF4(g$kxS?U%PvCI)IC$Y}gJ5v9YmIP+s{z;x<2cOWwDr4yzb|Ss`fkRBJkq{a z09+v@GJ{=o9BcvtCVk( zxpbC!LlM=U8LajUS?!rr?cb0n=|=$vsM@ebhXQc>g-Zt2djBAufCt5sh}=+7#?QS4 z^qQP5TUsTnjDBfb9wquw={CuXqC%@?c-5PEd$7Xs!3q_vLNZ>@M3h}4n*pcwC5zk> z5sb0vFyc@coDJ#9VOVYl^CAhLdT}@R#S4__F<*kfqc}<;{@Ji*Jo8!z6+|pTVfqlHqY`xe##eJZqv(ETr zj4x$Ur!NU79X?zyR0}qKjp*ODJ^cCKgyAxna7hZDWutDzSvKNh{(I!paIr~TMATqb zV#ING#FfM@fK$X+iH=dJvCU?>*mfdDvm{0|k9}*#QTDx-mVe_H7)n}=49D+%r05rc zhy!=(5|e(|?uVKnf?pt;AXW*8WooO4ZFSPAy8(zbAZnZcs1a+cKm}Hu;hdqCVApL% zJ$l!LVRCf{ljr~6U@}_AgbPg2ZE@jvD1=8su-nKs4yuU2BYUq2Ql&%UBI2D=AW-2o zS3+KM1JhUAS|37&;?RPn0fv7(r`#ZCX9F=WJh8`YoA=TQB+Bjj&Tf9}WIh*P)k z!9fUi?597wtJsYQpj3bHRFCG^WQXYOzyHWeG44 zL^>aIF6aMPL>jKqJBPZb2u)73bo`p0$8VO?V#_kT=mPwMBs46#&|Hjs8XJ9zTwv&a zLbE1O6Pq&1dK+2_+d)A+R-TBa zbc6=vQS^l>sA-9Y?jfwj;cEzNgD5O6RNkfW){ zw1EnT2spT$Pp=X@;~NKhoK47{NV_*+zpLPVZwuOi9&WH;DY0M?Snwn4tUGz)JIAm& z3zIFlMz{z5lRT$WiBJoi{B+s3-Y1cljqjAw_1RklWul)zzZ;1WViYZd=D^NWj>tpk zX;+E%bV<`9ROVk}Cr4P4VG9yE&{`K(ySff^euO;ArK*JpVh7Y=Kv|PR*zSEq@GcBPa}dIKqTe>`M3@bVD*ow44bwq{=^Y|ADlpwDz!0X_>zF3M z{~F2QmMpa>jU^Y0?aMg+e}KSTX*g-Gh(hUodq#F1?{sc>0~wq(MqW!9O4D$D_DYGI zmVuu(N7PL+{Tblo;_u?J7oDD%o7UhXOFbwkk;o_Om?jdYU%#%=G$n}X6*{I#h|hv# ztcr}7*9e8f4~ahfT=)zjnu$9}_F;OA?-G`300|d>7XOgBUKF`NLQAugB$A+ay1^&Z znW^v+wzSNo?=&PPouKAifF!X-^WKX~)bwqGQ@uZJVs&V%;gtLZ0*gZh^v#BoZ63TG zmj4ts4;~E5eoFXUj{-!Q1^k(0@RO^=N(TLA93O@tuJu-FKmBU{!?jxSoTwE ze^`N2>5u8iPaNjt70-p}1qT*7DyN+fJ=x|_V9_sZe^~xgX@6MuQ)@p8$o`KHYtO0o z|1YgCaM>?xe^~xgX@6MuQ)@p8XzhO%Dvs#cBV@;3<1KxDy&W>{tbkF=jzIe*6U_ z&BNJKw>`hi#V;p>UGhN1twyMN?6){$Y|OmIl-Y|dJ{-8c78>BSI4ywbnyDw7 zAY-vi+jl)c4HUt%8;PXv4#SmFrDT7>dJLMbyde}9gyMQ4R%%m=$u$(StFXw0oEiV~ zwNSTV0=yS{f=GvJ=nvwF+)1r)rVtUcaA2DJhS$(Z=m(0;Rxre3V8m-CIQ=- zYzHia6~_7*5xK3w+`h4zYv2&vbc5dPiA{?14NT&Pt7I!c;DX#emX3#L9R-~3`K_4f zL1^+5nn7F8)Cu53D+mp5@6U)w$gKm1>aF6e8FXuSc^ie7x82f0DjOgxFJf>2Os0t%5H8-Ec;`bx4`g?6OxtxHj*!_G?dBYh4! z(pQ3oI|78;Q68xotVAB^bI_4KoxkLfzKUSqE#RvF3;fmVfRaJwOsqs6>4WFy3Egu7 zlU=q@?;blHYSMY1wzTXov3%m`SWn z7ykuFcuWiUzpj-BBX{heVz?D(#A}p0cu^+K2qGuZsk9%RDzX+h(R}hseWd(n=~MwK zX24T5Dd4bs#a>1PsUn7ACBTJ|N*|6It3ybE)g2Kf&WR`yM$cry?lC8@dy?QQIwEO> zc(h6P7^|gY63*>QX00Dg?0;{K&i)zX)cPD29&GYFX#jW|X%L7*f(8I_++&tJ?(ugd zl0b~=8{SrGZN*>-7ljQVaYe)R{F~2Z_uZ_kpON~+$@Ig&m51ijQlh&^$b{~eYPMx?=!QZnMvP)}dgRsfCM($YwYI!|ie%x72dPs$+A7PE+sj*w8- zl|^*4F4N8?xf>c2S|6SrDYDMyMHO;P=oOzsTxz8WV?hPq0n-UhBxew=xGwq1CizY) zKx-LSW<_wh?t+bpVq7$&!w2#b`Ka}4g-5t;~ zUyCQ)KE7F+SMFH=YU?&vTIRr7tlw)2Sxbi`ASw-f1@dXKvkJN3q}A_Aav=;u?)BFP z>rM^U{Tr=roIsXQD-j0)QvqDn?3OiTQGmCIaHJzIAmiQmXJxQe2!LX1e-L&e%UZf8 z4ZWisTD7cwLCBPAfBwAc5Y~&%`}e;@=Xu`&n5M%*bfs1DQOl*ss^G6`=}%EL+7a9f zuEyy6S+}-IVM_kvH3XlI6vG~?!CDGfm3;0}y^ddL-%CVOP8s!o?U1Msi$MLVt97u? zYw3MN5e@a5mYq84|5_eG{W=ZSV}Mo3*IlL8;nKb%?nBtQ;h!hI5yx>CYVal3Nm*bM!Uy$=1AsqvSu?oVIsf2>vOcvl-b#yYFwjLAN1XI$UU+XQ7Qa zfn*MfO0v^KRAMj9z>P=*@x#1P$q@i?_7~th7rzjzCNK)tY4Dsi-RO3Pfqm`DlYspz z5(ftR=@uO<`U0BQe0cqa-3>?WK!Qo(aV|^q6F{@rJyhYbFk<3sZ@$nY5iF2RJ1FlW zoi0&{e#!M{i3(-_T27|9unW!af0|Z`NM~ zz4@eZgIFe-SE{?2)0Vv}_Z=K>t55087Y7D<^XU+e0n`fS+VG%eg}n&d7pT*U;B8q{ zW05VhC=DSqT&S1E1}|Dk5+Pkyjq(IZMkpkIJrf~ptz<8e7ckb&%L`#2oRx;j9Z>~G zvA>GX6}*f-JK(O7M#lX%B!iv1%Uus~~)y+Np& zXuWTRXTzv}P_tl&t#rB5_^-s$-iI?S0H1-`W(fiqW95HMM6TC`Vc=ED1zUs2<)mDH zfL4!k6f;PclUz=mAg(SjBb@E^Sn99?tcWtTboLh6Nf~gDpam)Jhan=s?OXtGrL!J% zBi3n+Rq)lyT1E5dGLfn5dXu;V2k!7*?7pNuPaD556Ig4{hCVpUiaiEn zD_e*_Ssvp|)tN?NcY5k$*?}3kZ`OZ`iDJ_d&^a}43@E&Zy-xAK@F?Sf;lWiS4)Ye{ zu?RN`&M@`^Q+wclk_zb2HV&tAvW|Zd&-iIoZfdw6|!Ty*QnmD!% zgf_7o(s7e4g;m;4UsuxU=PPI9N!OdU(&yynAwVUCrMBW1cPP7zyltnLl)$U|;C#() zLlDD@azVO_a8j3UpcXolW$hBz3>P?6_RAcp%XKSE`Wloih!fSo=G1xVTK=?Kg=YQZI!GJCz9Rg zE7KEPv|amm&;?tbi(onx&~a|qA!|;<;40iGre@zV66NLW0Wrsv^KYjCp#p8{nH~K6 z0ezl3k(H<6WRZCt;N`vvR}{U}bCg_SV&xN2whTezaByj+2}%SnL2F=kUF1?d8BCmV zfw$wP=ZKfg!TH22?8nGGUF<~?C5jMPf#+jFVP|OFRdCr!y6apdQg;m&y;b}T!B1P{ zqiX?PkcKibZHPI8x*2nZ%Y-1>^_v8-Y0l8+3DDZML@gEb2k48g2+cp=d#Ss^<{u4~ zn13b_te>5KsH=kQoiBDYgY9(^1iiiGRVQihg-8swcOlRUw)b^u9SgM=GCJ7a4&qZ- zI8M@D+(dyxYZ#d5!G=-DY;1E*ZGN}R=}zQt13?t+=8s??(SuN2a^I>ao!bPjk`DPD zGp`6DXlzA1XfPOJ3YyE?mP}<0g_R3jW$=YgbGpw^j(8f(e6BDD*`Qr?^XZ{ynOHAY z12S<%=sCpxLLY(Z1SUpbFZn;Zl5HFgo6wi^N5BpvvtnCpIdTBgb zsTpZh#O9*${WU@P0*5~6lf9Djd4Ph1eJ=nEewU+_fO^M0p){;5_cczA06@Pp~k>Zb|W9hLC!$D+I_AWXe`p2&7rmk3IgBJtI4bpv$cm*A` zJVwgXZf=j)Gil!w8ip$VK?nv?-M%Jqkd~Ybr|)=;HbUdSp{ zXT@)|w7f&+GSt*N(@4kR3BU-;+J6F;;!kb3Qt_YG09)2jOY>6FAlw*Y(3FQFCr`&A zR?H4kQ>Jn@k?a|c45v|sBiBV_z~@x@{AJ{4#Xnq>Ysgmo!$e_Pee&&*xlovNd;XWm z&x$`y6d6uwEHVv6XdS@ak)IX+8J4x1MEg#c70*%pBLx(?laMOn2bnEbl$Xqw zD4rF+UB}8KzeMsGcuOENhIr^)OUqSYJe`LuM2kJJ_($;2SWhB>KqYcSfi1^sK*l#z zEB?%eixmHPs8kNUaUx9zDLSeJAf5dC3q(h$Me}4&Q7f}NLiouBz)72kA;*Y(QT*pO z&~aE(&&;tglE6Lr^rZNwTGl>}0*ZffLyh9khWEXHl82l>Og%I7ynw4`&moLFnR0ch zbRG|1VE+3W!pz)nf$8FJ{)X715dJUaVy+QAf05+S5sLpp_Xz$NWhpI$2h7A!mMQLh zeg_hqSSLIA@KC}u%UWq4%oRZNO{R+x{-@Li24qF~nXkolsYUs`ELitHUl-Ux!oPHp zQ2rpZJfmHFI+TzNS=u7{NAh+Rcx)2cZ6H>W6Dwdd`1buGc?zMMrBZ%!9@~NZ61|lo zKSKU1{ybLd^!yr;@|ySpR0V{@Fc<`)m3hu#rSmd(%tkQFSj3aYy4K0hm`Iq>!aeRV zjWz(m;sp_$lVq-Tk?YX;dajTCTCSE|mgbQZ^u%{z|7x%&Ox5@jLXhHIyg)$utAuoD z4{E$aho$(ZH(aCmFA@Da92Bp)&B-?+Co3w3T*z08iisA**k8;9g~}j3gf(LwsUxs% z$X@5aatci^Xr3TIbxwX+5KyrIr1E+)_wi;p-*XP5v~tm^aa=BqaXOi`q1=lswk)r7n2eNn3Y8M40H+> zX#uf~j{xeVKp{tV=UnB8(Q^A2s5M~!KlgzGLtE+C=3Q=!9L8!iSmtclCYvm#w~w{x!AbXEb-R>ugy0lYzn=GfTMjd;OS3HGiDdoydt% zGlYB}W*gDBH)3E$i#|mL7{% zj%Dk&h}XCer{>+`u3+n56t75{sOQA9UC)N~Xf0Cm64>fjkP&DkHw9k9Q*AsU(F$eD z&eC7d>J>meZ-Q21neBPD`bmOqhCF@g%pMkf&LJ9 zxRUYY1zNFr{{sqB{Dsw<@P>+0^jx`x&l_vA*y=s_&N|-1za_=0d>g{@R%-xyqxX*I&>jx@CUE{ln%EKkNc;%40 zGk3h>2gYZ9L*mlpTa+)p6ywui?Nc$Fb>2RRbAzjQqp%$HIS@=~7&a8RJcCI(7p2QC z&F>Kzai>Ct>awe%n_nPRK&dw#w>0CByJkH|?;iSXf#C-HUHV;t;XC}@fIof7K%%d_ zqFC`??y9uhe*b71mMxc_R!ABI&h}0Lbu2D^?%m|2wA&}JSGG5!n&p<3dgNxMwQM!n zbd|0nO6O5kJbQn@sXzkY;`dFXiOLu(GlyyrnOFxEW2?#do4eDp=7n^;bmxuoSz zyw$|;#dD8hOG8~vs$Q?iNA6`+-ti{5N+IQH|dF zslg_G?Hur7@;n$v5n?XYNxx1b+b+FsN%_Mr|+WE#=zhWpz3OBNU-bHQu=m50?`w* z*xR^YTYRvrSqmSYQ130r8+z}7*-?A1xDCBmK?Mlmb%liJP}Vw6Al#;|6SeA{ID%@u zp_Z+qij|&YbJQDZXD?C3t18Ph64NkK_2ORR9YELs0}&BbvodklG31=qto5RCvX&%VjS^~Blzz#eZHRuOsfOeb za19$xxQ8nch}-Evco%^GtmPg<(kC@+~{M)Lrr|8T4v?%;+zu3d&1D`);4Pv8;LD(}g zb`-+KYw{Gk~GaLO|aqVgfYoPfw3kNsYJL;6lnsHFquf1ENiYOe1Z)q z#v2-7ir#<=r~#8B8z7~g&=Z~TcSiIb2=7f_QVY@vZ{TmEUo4mIpcd3o<04v6MJgZ( zM1iHCdAL9%@&yGVWzk9hj5!>0IyVo@OY@_W{^mwtej61KT1FU8^uzqSF9xK20WNpc zrYfm2VL7?Vi6%Wpt<{=j7oD=2)Y#~qa!gKC%B#m!*=5nYW&3I2jr$Yc(74}CkJ`9< zVAt|CQvso{gf&j!8D#jsQ``D6{70!M_DdLkIxM>(eo4a{5ZiM}RK#Kkv3M#V5F-sg z>PQ^--HC`5{8Gdo!59l6)_^x4Ha$9G%VDMRUP}c8I|#(0jl^}|0H@*AOr#7d(h zcJpmO>^3TJ@{zcf2-r_VY(sRNUxZkC1Y-Ze`2ZmH%*9bD_Q|b4>~lIo5MtzLBe8EE z5Q{z%A8$oc#EgHde2xPi7&gP7lnH<13~=$QZd7GQog6$p_&D(1I-Iw0-Oza2@@M&kO9Lrsz+aRm*F z=$&$kBk{3_315WMf&FVr)NWagsJY%7^a+39k@(g>foDI4-$^>%FByrMuqTJ8Zp0g? z{t9-JXo=QO3H^*0Lwfq*Se=OiJ&u z(mCqNT2*{g#W!!QuB8p!^rt^MvFUG8v0u{kiNe$q)PJR^XBT$3qBQ--o6z(=n2W<0 zF4|ZhNr*)s>n}Hl*hTb{z__Fzp?%iDS@ZX@U)7T z%q~n9w7(LC(G!7C(1t|o7yk8W+A5w3v(@6?4jQ~H!VD8!?m7r9k_R-*$pXCu3tm;c zX$xH|Sv=aL#UnyOBt;fIhIQb{3k!}Ai-u@}aoW2l674Uf?-9|25DH%<(^iGHN~Scq zR3oAp@ut~(9-kzM)^FW^>5XATBRKr;Lp7pNVYXiUD>p_W3~w%exL)oMT>m|Or9n~v z_}#z&gu$pO3i)0qJ}M3w7w{OxvJftk@1_#reI@(J+o!8rrA{n~<43@_q-iN+d+9B5 zQtiE~_tOvlv$Qw~5RDo^R?%Li>!{Ls4Bmyca^Hw0QMc=Oi=MLy;s{wI*4Qro{6;}H zY)p+malB$b?Kaw~^7IJzp6}*RUiiE_eWlvkOst5plsC5m?FpSCTQ9O94+2`TnKZ1p}gY=JY>NWT4|kR45$pe`daT^F%+B)7au3fSxO zVFiucM6#?Y655$$C`-#IshzndMrEqN4G;}xT|4Wr6Rl#{`Yigjt%K`_T9y_xVeO`T zAxtP!Oj#Y?n?#u93+G$yqTi&AG) zv&D)xL_eUet>Pvkaim<&07T%WqW@9T6WyWlBU?2x zye_t$Y6!29DkAxD;_jc2Jn(x!%%-h3Q%j7#;o8(>V(Z1^WV=IMPx2|)u)mVJR}XtI zRl~##2K94}T37PZfV(2%9EOsaBleI; zj{Qe%r1<6M_00<-|RPE^o;yUjBf zvk4oDU9}-%SM6u>pHBHhyKrzK>uqWVX3Ox0niqAidlX(|-{5cl4+VxL_*;d)Pqn`v z@vHyE{8(VP9DfhsFZrhe!!rE&@z-{+z>xl*$mfsozNN3g@Vi3=hUf7&!(U*SbhyCq z82%FfTVNOxUuc+v-!Jg@@R0&T_0a-D?y&;HbIFA`Tv{m7-^2TFj~C!twgLmk->Zhg zi1g~1Lc<~aZH+B7tcWW#%tyKK@^etf7x;U4P@$nZq0o?PlIec@W+xUJZouF8B$UP9 z!}xm>f9DM@G`P%o$KOlZFUK#z{Rw}gQwj|o`19lMDodf^U-3Leze1c(D$m}Fcs+~vtBVh+i;t>{54hCDU#g3FrMlQ(euW9A|H%-p~A;WZ@@^XnikO zF+@}MA>=G>j%s&2xKTWou2gmg)QWw$8+7#=Fh-1ee+mB5=g$4b@EPAmtoA(A9fRfe?=VHcLn>z^JfyI5ShAl& z@pNGm5jPk)_OtqxI71x26IoTfIrh)U?Q$n!gS8?{OmQmGOINargCzJ8RU8X)U4e<9 zW&&30|Ad2^+P%uyicRHDfd%@$P26S12K=aiVp}61%ghRMt_O##O5004q5VS8`M>IqJ*nbzop1CHUn$PdvKDcQzq0XhFV99mLbR#Y``oPi^hR z{yRA{IgYZrqtm{{7s~@(xksR^UEJ+4UHrPoh)~|KPsZR4n$5M?{i-;C%u{Vmp%izp z5#N!ZFI`U1hTu|qpfz>zQM}cSnHFpxD6330m0G`V2b|*kjp*KdPIq0oKA?8{b zMti>bNZcx=tLDFL<(VI?Hj?99p!IY7L zk_RG>g z!C7NWq$bp&+re4zBCpj39uXZYkDx-?{K64hj4nrZA?;YnK0t<$OeUdKkMITIpG_|#&Zl>4DO8_w41jC9Qpwlss`czC_NX$mqq`Bh*K{?u7O0#|!5zO9OI*azPe3Z~5p z>`sbKm(IVp;r^YusjVebMc8M$Q$R(|nmq2IvV0qi=!We_MLau{I}K5NUR-w!@ruvA z1C4ONE7yv-VI^IS&`Dum`6my~nm>Kw{3{-Pqfa{kT63I0m*Ptz9l`;VSdXE#TJ`|fORENFCk!t91q{r|JaC)$UX?&`)s zM@Qgx3rq7wBsx+lvg`t^P6`m`gF-Q2DQ;5!o8T&{X3&hhY<6n>%aF?s2?r zlxPkjSV-)O@g%UDCms-7DFc}JGWoA4WAYTrxLZwP$$6AM2gv4&2TVE{s?*eyZ>0Ei z8O&h>X$VIWUNsZ>Xez#Eo0(W@IRQCB5#)@{a=zzJ#{%X2AzG6ZSS3%<{f_C-K&ByR zLOFj9JcR~Rga_c=4X%3sOhWn!0)r^i8?GV@=r}a36Rw$#v-wlqH`F0u@17H3PXsM%KI zv{5zeC%c2in0W&{FBcP;5rym-$_M8g_NbFwu)))4d_1!hvHat{Pjl zCt<4rKzxI8d+HKc&qhkALD&cbW~!FXs;Z4Phr{4Gv&QIBCsP{#8aDn=LVV50h1K2J z?`~U(IF`Qn4U}6o$0}VJ$_``GVgDHpL+v+6ZbdTN(dCb4#uh^%o_|!n8pVtU6o0^t zKJvsVi2)Rv*>spAXYG60oj8BzgI3=-?IX0=;Ewlx12??x=yr~8u0Cn4TdwRrS1foQst`LX2vxVFQ?<5?9SY`*$+1kNA=TL z3Xb8$2HsJ6jJbzae2Y(6%g5wlwO9!ewcUW+tmkDDesX)OZnUsL02v$DEpz{n-HB7$ z)C<{tMN=n#34AL(R?t0=Y6T8J&x{|X&TMFNSk=k`lyUSsa@6+djvqU4DKB`bAS%#og< zK(05Q5XCHk6UCTC7I)VeY7C%~nNPyh4fdiBG2+8n`iB_G!-s}m@qx!_uXHXQHw~FL zDVFA40J|w47thgetb4Gs6Q{+@-oN8j*%`C!QF9DlJ&7*<1w2`+eDOGlqYet(loq(j z6u8OCKZRqVnA0G}5jGt>Qo~&4z8$MP7qL=U{{xj!!Vh-^;#uBH#7)X)quTS{_Qk)P zj^1vYZ*2T*Rpa4ROFW59uNg9+HMz`9^=ZWBSP_+)`?_$&ZQrX#PeN}|nt{9>QlKW{ ztXa$qHKn>+tTOh&4cnSnWLB0LfpMT(1P`FrRVr@>Hs!nH@zHnjCdHkDgP{;NF5E#- z1h-?to}o0)W8DwZV;$fIAf2+d{*|?WP zt@E=_Jqg*J-q%4e7xUPb9YSQR7&j0=u+yWy1grrC;-%)M&uF{JJq{~QR5Chu4?D6V zmib8@1TN%z;qX1K-WY>x3(T3H#?+a7GjkUoT`?0Z2h%Iv28yBVxfc311im{l`(4(3 z$a6IFzoIyra=&Z}^}vD{hbePUZtsfOtj_Nn2c#|A4UlW|(R!p;Rk_azAc|^H+FYFU zavW_S9ErOSQMTn$un4BF>LrVIb+g_~$csZBv+saXYKCUu_kD-4Q&v{a79&=ZP6oJ6 z*ZI{FlOO}F=%SDTi&#MhToPSk(nxfkB*fXdJK14Lhzra4d+3>Qbtat>ai3BX<|0_y ziV33WUDR|moONaHaF$aaE*8cPn&mE}#?Kh%FvachrMdVp1b(6Bx<|Lhp|J&l65J$n zRH-u=EG;*MH4|;KqNxs(Y^#sj>ibTawy(fph!aD_b6W1?H}G~ddLnj=?1{5m`aCg3 zGFOaykkVsOzB+)IOo7QCA!i`f20?<8!?kwfzMDsrNaK&8PU^#9Q!!V#t>W90<0Q0C zvOBv2lhe;fNeoSnNgv(R&25>K>>1n}e-|VGhMJ+* zZ`imWRlDQ)-U$Z7-p>&i48p@qXFhi}eioO#xAAbS=i+6Lnqu5J5Dk^=l1xADjvrI$ zq`pa%(gEv8oJ&O@pIa=-zGILlz62t&@_Jwi%Fw`72UQ~ym>jwwEW}L~8e4_I%$X#c z7{}G!eMQOnZVSQg0X|hE0WhiI4-2^LzU;l(fvIBht1l4~95X%%#+ZU5$$edldmvqS|th}fjnkgJR z5pxd10R+KKMi8c}STzn!{sg>9p8DuF#yy-`w+Y|(;vE6Slzqq56i@&Kguq&AHYoeP zS9Zqgl6G{{@w+gux=l^TDFUwt*U`L;mJ;LOGKy;WyH?ToF~wB6e+A;POWKQLus$nI z%kQ1T=F8`(|vL`_5Dm3pSPT zX}2vPBy4{a)$Xt;6p3`|4Mz9JUfL*7rWqhI44&aNG0R7sN9tBO=`XnK+P;xeN=x14 z%6G}`eC4}A?(wCbOIflXL{O*EzrNXl)HGz@cpqM*gh40M97>8O*8U|-tkc%ySmFyFU=InrSeBaGeH977%T}tTOGlU>d zF6UFv0^K32syvyl8dJE~rmvpS$}|$k2s?nSM<7lEaI-I^yaoYc1KKzdvOq-MYS~*+ z>9Iim+W2IccdERFm{3LdA4oHEIsXRgeU+E?rZjw{fDkxZZr_21l=EE>mW;Q2TV-ip zhY#A6Q|u~7e0v;e!@vZ87}*iu1ukBjp&{=c%LaNoI`~IC=`59 z2;eldCr{2-(WWVCuRA>w&OCxs!LJbIZ7tt=&Im6LD(D2u00#+zjnoM?1Xojz76h}j zoKAf^1<`OX%`?Be&z(w;XU*KzrDw<|E2)M`$1LKRCU?HY?X z`o!MJ+>O;s?vFQ?ZZnubvmb7ZWpBm3g^*E8p(&%!syxG$9;*()seg<`;0pmLQ|R>@ z30T+R*miTPD&b>_R%4WSstW-u(6L7DL0f3PIkcy$xO;gcx`@yAi%LXskFh3gVYiZD z5SWQI0HlL5%?vJz#r*jpm`1>d#jms-{2hcV=!H*I{9esNPo>K1yq$=vi+paBIYZ^El`IM!`$ddmP5 z<%h0)rnns&HzO%KP$`#W%bKQ?T;>_Yiu2-jHcfSs5E*KDZbsTPimT)vHEnP#e&W@- zFMVT_ZOuR_<)$CAJEv~*2rGLc(?o!YUGy)qe+t!`tqz$qrXI3af#Y8 z=rN+n{Hq^Gv*8(L;8u5(r-~(NovG$@{x15aDv)X?iDUrT`LobKHX1=ao`fe{eoCPz zH&ZU&1F+&lBEOeDU_O3{0IQCVa(mqgPToRaH@t!tZ`_H0oPo(N;wLb9EB@uq142WB z&BwE6YTcKfK{%ZABUGMV{Nu}{?I#m9l}h$uE&qRG(WI(whK}&;Q|i9NZ6$~nNtqwT zKML9EdfJ!1!Iw{jY9@3=QcY5%j_6(?=W>rRyVEyVo6oB;-2~$A1Rhci_LP)Yw&%52 z(N1N$;RRYNcrwcQ_x}-`r6zbzYcI0Z#Nu8#bV z=GY-ivO5>$OI1jyZ7%m&q^Ln(vbx8*xT7x+Xk3>3ow6*=pqz`fjmd!N8?v@99~nR~ zJ2F7u>YHKC$LxNK$>6pJW*b)yW|MCIw0R9I%rGSTXJj0!fki+ir3OBh&6^od|ah4V@rYWW56_a_lcBrScl zK}*_2Nmp5#yXf~COY=7Rz24IN6#aTE&5zRWN=x$w`dw&gz8k;F(sg8)13M^7A2wK? z?d~g_5z~n1i|rqQYVDpaZQXnlmVa%dX31K@6GkAxTMj7HY1q+QyAZsk_?KGRS3{U7 z{)GrqOH!@5i@x&$X){HCUV*>M6>he)#2Dc>amew?M3cuz$sDi8@n^WF!@SdCz`TT^}J|l zKa9`4j!ux+Ac78rS01H4_fpHt`A41Yj-5{a66PJ62r*#l7WF#rqZ)h*6n>d|p~4g0 zUB#9bvcgi0y^gJr#|F0emF+Znw0vS|&IVenop=%ZgJnjg%cP1oFWEEO@{hJUcA^x) zL}h4^_bYrqk>%iHT5N;St0v3K2DRixw~XeZxBqb}htBjqgoh0_Ngt<(v+GG| zJaV-M*mVlrFA`?ZsgBP2IMvbl@wGJ1DF-K?oV&ri0zeB*I$q)|i1fuc*Uz}Rk zsda@Z;JH)j#J`=YKDbmzGk5{yYIHf(lEy$PEt*-~D=;26eGNhwps%AdJSNP<`7~t{ zK4vIY^nsSvRgIU7_n5#5F-7Pu7vGNguFAUy$S52v{UAh`!sF%gpxDw(Q+%f%^5V}Z)$6!x4D$FKvzIAT5JM?HA70TvWjbDb$M0Q*biqR!jle^`gxQVA z7EihUgIwNf0izQd5h#6EpW~HAbP{G3F!d9Fsb0rs5ZvI!ZS?^y zBNekW_W?1qDAxNe9<&}shKwLbyAzkOk}U{_4x?bn7S*KjmiOP(Y$?9_y0z@?p?%%? z?gZk>yM0#6bNNSohwuf0&GUWsyOfsN@@~VBT3E(z9DHbx@~+{~zlfYIo>#En@n26Y zG-dQaU82qeLzJbj9ExBB);+k_V^o%IHncy}3lzW(fs#%H?jJ-cZtUc2y&K`5%Xt|( zN9mfV9G+6<}nZCrnZkSc^H3OsubSw)uWqLMe zdbaj;n?1I`GeTrJwzz6C_*2j)q2~uYo7qd+=k}5(`F4En>o!%n0oLfTRJv*=wmY_P z%)yjfse9Pqo}<)lHPjcPk!s zrM;a}`C@`px5iNA>GfFxo~>vkRZxV_Rp@i0I}*(#z2XNA?&N^yK|WZ>I3y!lr+;0dI$l-?Qew&Tl2G9&lKe+esF2B_KIO4(q>Y8Skb=RxK*qq4z#CFs6{Y# z>=K}+x&<#AQLRL&T%zQjqDU;%1PzH{;Ye5@WP%8MrSuvlq}msJgP4Gs9l*`lMcBcI z)$+o&5<_2CjC%qs-k!lgGY4p5xpyY(4YS<5EiE@}unGf>p|#jJ%b|2*GokkR#o2o| zP@~&(_CSU5l(g*aDKa*B;%oXAB0yVrvGm9J4**Z3m4sgj1P~QESdCd&aS%OLy~H!9 zvDBFFgM}o{lY~c;&xn5;3zQ>qwf6-C;(^pG09gV}c9HT*VK+P{;;Msox56;H+xdO@ zX2qTCt4OP0i?M1S(b=R1e`)O75j-3SJ zm)9OIG&I$TpBqOjOJN3gd@1%{2E$kc3w%Cl>7jxUYA_xbxMMlei20!F)p;g&Gy z=agXFK`>z8QTAKO%xB6K?XR>b6hfc%plhJI6Wv(?Hp#laii_)Ma~k`0#8{f|MGj@@ zL2M>jAs@`_b@!EhJ7PVH`*sw&M>npFPr`~jp{;OYe4xY%`*cG4+?Za+K@`G%=*0M> z8qB8$usLXD31xwtiGkES!4Muik2?IZ;lR{et( zrH4j_!{27e8wqU;FL}xC!L4xx0XTQ9!Rzd)CH@<6J)u9paY~YBkOH4OALd@a?>gj= z?Wl=qcOa-{LU>D(WJ@4ciTVSOVY=6e#_-Dq1%Z02G! zoGRga6T83l@;aQAwKsMTPbA`x$K0Mo-)JEQSI$}0!g5*CkSr`iMsSID_?N>0>K!c zj`7w3likP!uJiBDpp3Ws5pVYahX0*Newul-YihQrOVKH;k0>BaIJ!}aSUxYK^gT@_ z#Y5hICrB(mBF{Z+#uOi=`^3lXKC0TiT&X$~5Dy)^KBwpFL@d>b2Zn{Y*#$~nPro(0 zpf@0(GyBde6DX0w(7nGLKJ&-R6$8WeLN?g=+=|#ABR*n3zHhN29!ge~e!z!#*Z}_y{o38n#eUVpY0L%Aj(_Fl?XRZL)({_hHJ$kE0A0 zeFsNkJs%r9lP1^7ubv7l`|GJq5Ld^4NiRJkMwi)h!C*K6i`1 zWW%3gT%EXYy!ToPV2l_M42PcAC#{|G?aP?b=3rT94(1~4a0=}{k%v|SMcQ!^h}p)b}i|0bFlW-TK_*8!!T4 zbHRS2w_)>uz9A1!i=~XK{M@3v*>chd;p%%NCJ%sl zOGcG>MNpIxi)`t87cU&Xg=>`?C>*>R0ml=F#)tOhg}NXOer>$Z^YzBvhSrVWQ#Kpz zn@#d2&(}86^LyMkE3cjP`-)?Y<7XG&e>878L0$>~7T@e&=)3Pi@Xe2p9z$-tjHj2i zM$+RPCS@A}7N-m)SFqBhRGDctvclwbm?#+gOhl`76Q17zm@AgP$52m-JfYN03|=+1 zZuH9L&D-rC?2c7FFqBO2QucRH0aD(v|3=zQYii#&+P`m-?VhW)ml(`9DX*WsJpRsN z3GfyhjPhavYOVhk-{uP}{pTE7dd1-VKEOmRCY;ucWno?;4gmI+nlQ+4kJgzy-B;k$ zu>S_$2eg2_4LU3c)e=M~2bma{=VOE<^ntq-IK~t%K#(i18GFg zAOvyZd){o5H`@qn`9AqdE7ms|BOCnGV(2nA)6{C9kk5;J0Dq6^^Zl*R3FYx?Y!%s) ztGt%-=HQ6gS76QY6ix&@{g*7zg?xvmaPwMm$A16g*;AwRv)p*RN5upEh$B{2B)^WW z3NT*cCIFDH%uJ^N=a_u=;lYHnAU%!$0NxlV@V@vDgg6KDa}S=F9>ihkqN%?$7fT>} zjSSa7o1cxpwHRNR9)ccpk{gY%q=>1J>4K9B6RTSmc@9=q;Jp9pAdK7I&rI zXsXl&D}yoIpHggVSMfo@wq#QYuxO=-7^S27kc^QL)5)6R##?1ZC>!aGNbaa z$=d}Vw>9NdObG(0rUc8QPa!upHG!)P28?B%z(!y3+9~3-^-A3p-@>cjIxF}jm9MjU zYfawGMq(_RP55iCHOVyxi|2ru+yG`005h3mbT91bzJZv@n_+C?W?$Z+JmpQljlHw_ z%A$D40R}XZb#k{7KQ5W_<=r*qHF=9;roiT^%)a~>?Z+CGN(I7?p-by=R$Ub7b%9D5nbmFb{d zIR)t<#p~leFC9)0R%K;LurbK=n%Y*N;WMb)b(wlOUXDAslkls3z>r>qEDUjbF z_9Q$DY$}wP10Qe-(&|XM2PROrCr3&C?c?fa9nR z?BLSk%|=a)m_R!wWh?j#Hx!${@S+0PT~N(gtS6881ykxGFqb3=HW@I%tbd@piPOD`~e>Fni%?}EQk z{H!<8TYMey0#WYh^0KAxFYq2a^(=k;c+f(4JtuAK1C&UYrC^$M#DgqjgW2)}o|D=BE<`%Y z)t-;0J)cZ@PR910>cLz8&Z8s``%cK2Nhkc(9(9M5Unr$`)Fk?LZoGWQ*sF-_=sih# zm;bvNbrW*3wzUtTCojX>wiIa?h`0Q==;^0e-Xtohq99r+I5=nhkfrZ7;Bxbm=rR18 zTgZ>M4JL_l0*)H{>)jMAaf>1*b4Q%F)9l@9^e*sjHF>u#^cLbo5J*?J^OY>xDUFx*u^tw4nh9;M&h(v1t?h&U3QiZMp2%{c+g4Iw$*}32**z(3Fj@xqQc;)HCUn%srE${^oP#bYaiBH0kSg3*?x>gNfOj z4xH>a$zwQ#1eV}$h4YIRz~TMjg|TDU=t&lxj+PYojPaIk^@$VZY8ul@&9$|l32c1= zeis@~4pFS9S`m6>@|sQ#^#u^PA>kVo>O5F><<*AqYIPUR0L65%y%arJ%RmqU=0v&^ z(*CdwztT@4nEW3H)8F!}OI1cKkH4Z!8X%fqQSp`Dfd6i2Pk~NjAWbc`Vd9}Gj8^+{ zW6BX?u^|QOW>s!Eqblr*8$UN3lbYk1Xxx|h zcdd=v$ESrD0DH!t^BbPS@U!PUG`NMgu;9ULEYUVW?c48|tfHjvqFp`W}iwMkt_I z$egFVs&>FLH!KQiqCeK4Vi{|pus;{cTao+|hGC$A-A1u*tb5h?2O6w$dcoR{ z3a}q^vcF*3f$dMjaWrc&)#_mY1z7wy1>|Hck=|FU*u94rAbp-HU>ayqrrYY2?!sSD zT7|z&@(n1bZKtZ{Rn-jzRXGF4qS1gpnDrcaEZ_G5k!^hHfvTJYPr zbwH=z)=m62E{#2m{#G14FHf8=nK-{|^tW~DZ$=eWMJ`?i~i%gu&u6fFXtV z(sSW<%S(BKM$d(8xQrPF)>P5%rRLEZj31=K#SMZ`hgxV8H@Tq3bBytjSVtj11h}nf z=N-ORYXw8D4y zZpHj>`0|no9~SrQ`!^$WfM%vV<^7vU%|@|6<-eKyLyeDtSTu6khAD2uLNosLb{VN5 zEY)o>D;4I9EhagR!8YXB@~dJ*hv4hJ`~mth>Fv2j??dL=ZLb)y6|}h-SfO6Vf)HQQ zG%2u85M6K)C(|Gh5#Oy!KbeJQ2S9YnAT4oH92!2qOy|a-28!)0PpE28K>|;UXC)`G4i3N{6X*sYMW2n@cz^o6@hb%o;<7Bg^!9*~O z(6`_`SFw~yAr6PrK%-vl8WPP%=uv@bjL(7gy-x4WpEyaKJGZatc`97n3sHUFL3gU(@fFBsD^?ndKT1iKzWG#+f|jw3z;fV26tTZTo@XoGBHDzgJGiieiW%u7v4&QX01`(cprG~3L00=sZIFd%QGyj^$ZwlJr@u^ zOr_5^XQK@Eqa*$p@jV~m*8G#>l=2Q9d0}jBp=7HqMrdBZavx=D$E*A+Dtvu3K;=Hx z3dEj(O2KLGZN0+7CBO!0SFljD&{vBqBMcnEy^RIE09_{gu{L^7FnUWR@caJYBFgC_fX6;9DZNP*Zb2lvk)@@ zeG4q07Jh}8gYh^l<}-Zg&PX7uCr$#Q3H#MrZx#hR%WSjbR$fJw|2x%8zALKOvmvWi zy17by0{QJjwca_>cd;SxzbB*CT7;$;{;=*g`K5naAmCj@KzMII9%lq>m|<{) zTH?XjrA7^@H?vIiNF;I*Y>0LRn$zFPs4~@fZ&W6a8>p0&0G{U&O-64<&$=b@JaC=2 zz{#?eGyijmKQ$1KjR$cDP5qXFgC@&!?`4m94(A}?UNUQM7WCg<06iELOLz6XCBN7+ zX_Ml5CKKfUg@VT6f&k;1h<&phcn7T=GzBxnXZyb>^nb)&k>N|)Zx}EE>|D!*trDBP zsb}5&(j)u-@?aARP2(J_E_lWv$P-zaS8Q zpZpam>{20>L%<9G%mRSYy1w_N)yQ_U<+(Fsf5v+ikA7wc;#q(F7Rz%d$9nk-15yL= z*(1%sFJ85Ps?qBa+RqDS1PO2O*o1(Awq?>-!^nhBI3tTN2Y7QH%e0ITUs{K0tF9T2 z%Y*@{(c)o>riYvNp0_bu(i{wla!$s|gHN2oO0_(Zeo`4y?Z8Gjx8MjJ{3O;eT&}ib zA0gs|u;~PGtu)8WDZkIWfr_9&A{7v)3Tuy0Og-?A0_MI5QSE-|t}6AXIJ|+d9%_NK)ZwV2 zJ(SCkEATF;bsm0L)uInTjW|ZZ3cViNMdt5AjZkRH?XOC7<`EgCd4c(RDV4wm zX+R7dqk{5qRKcStn#Qx4qQuWxLLJ!Hiyg4A|Gc?VircLG(1gu}WX>KlV%OadNhRv` znRhE#+r;nM>MGwuR>FRKpL8re5I9}89rfbP#=V8CY#H_ppe%A#JJbX0hY95oc!E_@ zbq+QPD8|RUxmY-T%oJV^3R5$8KjwerD0K;^Xkme*&}d?6lYc(7+lm7m*77RrShB7G zRzd8Vl$A=(!g3{NLAh$yGQDC99_9o2oJGzI_q_3QhGU)qW1sN2B9sqp@u6t%2)#;W z&W;$K?NZ7Kg@)0(EWE;yVa)IfYgQQSO%MQkP24isUWa&6dkUs}Ah8%iwS=dd9 z`DI{wdcWbcXEc!h3cQB@B*et@N~)4Gg_3t2xF{_{=u|+EZlDONfE4ThwJ#??t)vVN z`EsU%Pu~QernDzg@kA3&EU*u=b(#tU5`s45>zm+xZ|a>42z%~=^*fO5U*{_^ZNXkA z@=ADR6F%hZ6LIoJ;GQeUADB;6Vjq^`GGxRu@$ioC02mNAc4)MkntQH772Qb&5qzR_ zq=32>QWy@6@aVc$Lx7*xV4q9dF|aB;G6)Q<1`;PH4ah41G}~8#&D3A8qe@J;k7BcW zBhpVO!*n;C@fYBksEyPpXgy~}&b)u-voq(CPRdutzfwk#D;YUJ7~`K9&ba2;k#CR5 zWr3Y-+MQ6Ef)}?|;xoAK|4^Z0KNHT)Yvc@5h`-=lW6zk;|s7*@Lb0T zjgl-}3wxMB8*jZp_S(zD&XgE1>nz{X^z5IDpraURuCfxVTZYf=uev@*+?Xkl5;Hhq zFucO;sxlx;zULKN?S-#Dq3X-)@G8M`=u|(5lhR1Tl3&)@ZqGpfIOjD&M>IKcHx*{wmJ|4X7hs}uv-6; zkl75rTs7stX*R$-uOWh(MN)wY{J)By%4{a7Gc$gw{6QA0Q;gRXKXn>E4?TcCkKlS1 zS1=~(+v2CFa>UmJ^J=j;QSnoh>)P>CS{>=gWW%)pmlc-@mw;;mu#DnD%*{o_-27k0 zPqEPmP^T+#J%CHXg^BJ7{HpT|#Wbw7e89>?`#TuA6t?Rrxd9hV~&X2E|c$SV;<&MGOy0}2R! z1RGuPug^lbgCMQSBHLD4Xn#do91>(9P#kC$y>3U`EPXP4z znWZJk2Ttxa;1DGouya#S$(J$MZY&5!Jy6YvgF{>1tG>%|g6MJj&Cq8YJ;@PuR zeHpt$AOPPC*gupPMDRWePg9PMP^50FP#uu3_{58dgvW-{QRanwgyhhueO$U8S~cG% zA>W8c3Tx(!7V+=2bH)Dxb~MQGn7C}Lx?(>A&7ldZ>IJ+-kU5qFUWd2U9HV>{5PM&l_|6+emboum(xnBgy*AtB&c}E?HV*`^9hi zOQr|_YzpZYv6w$Bej{Y#=qRR8`brYHrnm(=gQlQ7s_(E>o`nE2_T-S|c`(XI}#@)(%`b|fbz!z|0EbqRU9uDV*C}!2b=lUT8|K53B744le?f z2qg7=I5j-SY^ZS=6y|u#bJ&Tn(DGc#B;0h)iKIbnZMmAW&*ZuKJ)A+ZKUSL^s7t0+ zTkYSCPqyA(oAMe2@7a$@{~mvBO#wzaFk1Mdel>}S{s+8_s=*xT_5Y4Z_V1HM=auZMXd~U=-&8OPwQlxd0@z-rG zYqj|bVmL6{Q@%uXSPB0a+B7@?$xld&ePuBSEGxn=LP@NZ=dmN@+SsVVzC$j6PbFFn zwTqLV$hE)Mo#4xSBIWh;fvK~p z{*F?AF$9c{!mu<0%vRg>zf(?)Pf{4+n*jtgBIfT?C_Cu`E33@o?-Cq$dz4d4-^3mg zyt)kTn}l!{q{&y#enQoH<*9w|x5jQ&PNX14$*kDLiG6dF>%7SxztOYIBNTc@j0hT2 z8Mv(J1?ZaP`NBjkplY)BBjVIJdP*sbr)COcEzb+^vG#sShavQS9@vP#ffyXH%go*@ zP}<7n+tS}xZ{b5{>HBwJsjvIW&wlnZ0Kzt#`b4!{{SZWkoeVylQmZ!L*~1P@jVZuV z9H1>V*(bXb(+7A#f2Mun;mnldbU@iCj{d6rdcLvUQ5 zeM4ZkdEa8a!k&`x9#)Ny3T#g{+=e4+YO`_L-1g)i=lH|)&hQ~y39Q8%!njhivfFz0 zcks21zjy0N3=1Ss(tAmDS3J|%@>~qPQZ<2CEbn#xM8sLh*sp2!-pt0ec_C~?ctH5s zQGdgLG7mN19iGazrs6~?HV4Uk7d~;1a{PmD+$UZ_mqyFg{|&hY4$YpQ!~kMd*>h}} zdKM=$XaRBGQuv9m!rh_5f5QsD@doXSG5Omyqg!E?a}Br0r5khuJxe#x@%~%w@ujfG zZ{ha%ypTQKh1eut*R-xrT@O6;^Zr0jZbnrTI0=y+P_1^@yzShuZ{y3Z@d)&xu ze_hnM!g>4k=gWt+Q0jXAv(~4Ew64t zngh>o-d-wQ$} zl!z5C6D9f=(~D zPU<^Fv6xmIQevVn3cYvc<3a!JNoNfwd*Padg7yxgIlU(7BjPM?HX&Ry#3-yfl49E@ zLK+xGt^`um);1SHMnJk==ecC|$)n2DQ%^NLrT&!SPfDhawBe=YrMUZWJJLwcFUL{- zBhC1OBRP-9b>g8I*HL<_PU4HSWS?QfRq`)UJ9s4R`!%#$w_>9%T(&1n*tSb|?uI_c6=Q176|{X0|X7DKv2g_DwThw}lB$W!v% zq~rdCq*whY3&FqiT`9@_zhyHjLWlv?7b}b%r?2L)%8dep$STEThv3lRiX}L#3|<`G zH9kbJFc6j3e@QSbeXaT>2F6mZWJovKPocHf0#{kbcG6NPl zK55t=oAe4*YZSHBnIBmbk`&M@C!R7o(z^bKxO7OKf)7^^x)@V`U82M zN#S48A~O10&AyV+Ev+%I{HXwvY2IOK8VPYY{!BTCSREeB;DGNKFBo>y(j)svtf_`paOps>Y6pB?ID2Y*81p88 zQ(EOD*y5JHKK%6Gc@U=)#^|e&67*SV4bLh6hw>is$qk<08Nfw@*^uMA9)FDddyKwy z8)CZo&LHVVy%NiTCs4DtU+6PliNs%`*x0u1oV79Dh!s%jA31}J*BRuEIF6M&NY8_J ztpbC*O=FN|&LHJu-kbajdOs#Y$J0DKp+P($z>L+3RdCb`2Ia*ntC6j;q7#|6^br)-7Hl`n2@T#ozRS z{sVC;uss{+bX_?pUOq4|+(*A{(!CB})#o*q=Mr(ij(u>?qLdRkY&3l@vI0kK_y?U0 zNA?-M`sYmtV>cmg=1l!ITJ=~bEcx| zza>QE!8$`IPcsp|mQO)G&$0VS6g(nQbF@$W#-4s!y0RX8B#vtD?;k)*{)KdeqLsh0 z(JNHy|J`s8y%ebPFZ%N^aT7VNn>`cX+mozUa-wI@rd4sfXQIJ%gJdA&q<(L4*U#1EYIZx zEYH0)f@p?_dVJ=J!HmN> zj0T?a-_K{om~DS$_m!NSo~{6poOrf!oWC(;XA!9)s9;#d=cEIyoHvUq_Q!h{(LH@Y zrzQW~3^q;DJas?vsz1daFh~d{QXawa)W7+ZW*JUm_{K4tt>3VP$J*m@lt7T`W{HhW zzp@c9F7Fd2nJV(hf+t0Zy_#zKNa(?5EAIrJ3N8ZyK(|iu_1m^#Qx84^Z89bK&?>niS z*?$AJG(L_W8S5m|ec+ooljRE5-BVjF+w8AD9IL#S{#M`n`>yvH|C+j`q;0aF^{!K< z_h0r*TD#}ucv($|+zK@^^7m)~Q~Geq+d3d;F$8@-K(aPc(rPw}zD}Ht zvCpa}8cMsaz)&WST6cW*5ds%E{IL?w{6ap!<74nxbL^)8&)54e>oA-hS%k`gPSLs{ z#O$1`(oeE~C6`uHKx|7#-9&uaH)*qzkK!2G8vpLiu*98Dkf z-ow_wXi*5R3#tyb*frjN11{VIo0YNY$Z1nAHi64BoLrbz@sK;jcS@cip<-DbM3gK}?tS#L}-QB4oO z=f~NW+WDg$#KCPCX;x>J=AM!>LQUEkvkn!{L!W|TI4nRq3Oy68}MV2arhi7ajePWs!(q3bK5-414a#;gzT zVNWthehc3j3sDZK`vYtY03{lH7A6l)q4zmYsD=*$fuYuQ%>y)Zzxpj^4zXhY~I)zMG!Ej^~t-3vP4ZDCDG(%)FtEdyd^lj#ags(fn>_Izb=n?P7=pV8H^E= z4^u`qxpW+reaLcvj&EXs+CCMZ@m_6;H=?7&RgNJJmZs2ut3IvsK`!aoB*l`I?za{BbVl7pc_GS{ ztH1gwh6+UpOcJZdMLOJymJlv-aA=Y>07&$Hf|m{le@!3Z;A2L}_cj@jv;Z+C&NWJ@ z8FdS}a%S&dXnE{kksgp20$-wwjy#T6=najm&$vd4x)b#4qFPD6u+*{*m3!;XVK(cIWz?B4kA&0Ua1oP=5mLR0Kx~}4hh++O z+6u)F+eI7as1Ap(BpDcP1tr_m!^jF8_loDxgSQz*Af1o%8w3?l;5?zgPth}YfV9!d zJ>7H4ZfXtG5|-`+-ZGvag5p0l`G<@KyU&d1*jCuMYl%Is&s_T8p13RmV#m z7mv}nAq^t}goIHY0)P&S9YRFSnEwtwYCiFNIr7`IwKPK@-$coQJ+zhPAEVMu zNH-z<&v`l)8DJNq`7|7mJXWLZH4cv4?oIREy)o$vXvoUDgP+}g=A)$7>b;#t_|kZ8 z1^bx`jaZYIRK7ejGWf~uN#v7LOoN}^er6=;%`>0joAKBq#I^x>E^+TJgfzaC1L+LU zj{TMD8Z4}qW@CnL@H&h*C1H1&SF|c$`MO7+ddl&XN+FNnm-tKCl|%g+nt?;Dz;9?l z_-q9`Ld!V;WE|xg-a`h@v4zmcad4LW90E=qCV34a%CIrCSG+U|nS-bk)v8P=2E;XA zwhn$|P5J_h0@y9?HhK-xyWSs~ULsMB!@SiI)P_>zW~l9Ro21`2QPe$|9!=id#BJ(L z?+1;{`wz3@XT>RpPdr_XvtQE(5KFCeTQ_;dXT4Q8iuMhhHOWqfeUcpxi{mhl;@HW9 z777Z*p9Bfvp@|f~I#)In_&;qmZpZngo{1#OpErYJ-~g3lkL2Oh)wTP~Jy$axp3`a= zF(G|D+Z=|kr^T^PDO%{H*%WrZtc4vQ=>>w9jl6)ISi(3iKFhlH-#pG|>9_yyQJ=T! z#eH$8a{vF}by*Jl3(E9dO_7%OTuqg5yla}2-*Yv0|IwbS;{L>*t2_7qOV3s3!~fJ8 zKSK0V)|xc(BJKoQ0_w3m+JO1d>uSU^YTzG6R9+cbf!}B`V?ITp;b_+V^PoT7N4jSE zTeX|~`cfq}$FXI<+dSQG-0Ze0;<14EMvp%&ARg;q;D^O^0)yj!LF>I!86F{jAuAcOBY7i@Z71(!YQj`xS=7a$p|oPpaiW93Dpg z1C8>!(Wc&;eb=nMNg4LnV4Qqq)83K+KI(bel>Gq5$F|ax^(A63TTT9lyj4&74O$N- zP|EU1I+~*qe(XDV@M9|0?!)1y84oA4CTuMm`88ZE)Y~DYdw{Kvd%A5n(oi4{(>%(z0b^|YM!LwI>Cc2*T+3T?!C zbiW9b%IsZdIq)|C2Ir_}h;Qtk-_!kR+&;s!h-F2ZtwP`g_^^14kihaI^6wG~yn$q_ zYX}nJ1TI0syaDnoS0B1c9OM~nSUYCUDEWDJEFwY06B#8>$_9hDAfx1I*^nYG%wio_ zo%O6g5ZH%v6O*x2aH(892KSj#g{{z+75Pg=977%cH8?>PUP44Gr@w!c7B$#vNcvky z2I&cY3m(`=!ZSo4BEec*lK5=B_xthQ+Sn#^|<13vGun!oee={1FKzFt(cjUd~rs}azG*O5@&ikXtddoOzOE_t-c?!y@KOay?^KmvB z?YNmsIpo#NSLlt!J|Qn<35%L9A;Fi6eY3Y;#HPkvL!8I?Ho{Fu+5k-RMg3(ge;M!p z$nyLv%4o}gwFGc@oTGw*V?P!QUPdf&=|d+=d_Rvd|Ng~G5F1|c%fV@@<>le=bMVKL z*l6-reeLZYV~6lzGMjq4zYc74S;^j^*ZJyCFtxQf>U2Sj(w*GoO_#1maRZre3B$R@ zw2`mT6Hj11w${(Dw>&R@-Fta@BZJ~=P>>bq!j5ZH{|f?3AeL(7FW|1YY5W6hjmE3} zbEy&aXLwm!D}RO6du%z!CNS~zegqI&u?*$wKKIm9l<6t82Dw=FQuc6;0jT~C1~^My zhtz}ORi)&#F%4E|Ks-(7N5%|`R|WYwMLb=2&{Wtnd5>?iao+}i0+#z^6RrE%2i;%c zGG;dg4Aa7QhE^H+a}C&BKAg9}2-167^R}&k+H`UVyJO`zDl&%aEKa*^@+^gSf{+5U z6f>L~CuIA7P1=MOFX?W==Isl&4_+`JoCe=W;hPr~Y>dvc;)VFwy9(nst`h!Rwk$I1E(XbvopzA*1FE zXrI`Ft}O7@4S2hc0jcbwnV&i6D>=QTT)BsQya6mJNj6XS=@|JI;yR>VQW7v8NeG}~ z+Gj@hG3gfi437~`TBx5^^&cscM;Xoc%EZv*6UZUoQd0ws-AX133=w7pLqR@)FsH3J zKOMdJ!U#-%y910dyFBzZIuF2kp61Ab5|=q zty6a%ry9eja-PhOlB0*8gfqt16&Qba>2%7ZGFnQyzUPxKJj2&n{`CvPS9Zwo30F3( zUFm)pDD2w|ywZR?6|B~#h!>D@m%MS%jbML4Y9w-Fbp#c zvfqb&u_YH^EGps!rR2Qj`2>XWSpIbo$BcLer?!*_)~YYTUC520cqr*j*!v}(kM-=j z5F02tC!g?$mtq5=iqB85k52r!S2V>A5Q~QJ*}r^DyxIf1n%M9ds=-TA`Ps|bhd*Zb zhcm)cyYU?m)A%{d^XFpfOk?6GR`s!B!YcS3D%e~re@34Jkq}Zi8UuMUD)j8J;NUW> zRmTWfLJuV4J)Z6_1M(`5^GobL8w<#bJkBu;IYduDPQrjS9S4u<@y}}th+q40uILzP zy-+tyG)?YXvAg5TCVbfo=ggJj`{)zi()gs~P2T)O|E*2qAKn_E&xc`JA&PsC3qAPk zz#RfU3ZgOcdeDRxbHigH9KR}GLhfge|A7ny{{TVjx|7E1%)feeDI7eMXodR87&qx~9f#8Y4YK+-u?C}|MD2xBMp0884%TVW7FafkI+5m%%8QY-}OyQt3 zL}g7k{ftaNlZUN33H@SXe@Rk3?VW++6TyybzbDUR`vv~4li;$on0`I^Q*GMwFpSApe?AooB0`_l;gX$1Z>0)HBTKaIej zM&M5)@TU=&Z3GSkjKW{ydJ@-BTyNmIfa?;jDO|}yoUjDf-MI2_RpV;HCE@xJuD`_f z54fJebrjbyuD5Z0jO$BW@iB420$j^*W#cNwwFB2aT#w`W7hK11eSqsSt|?sR*f`-v zTuX4R#+8Sw5?4E}{kR^-_0PDD;d&d_C%C3?%`?Oax8YiiD;rk@F8yCZS66*wM}5Oi zsimX6UJ&kR=;G^)AqyCvQn|zmYQlS z+SS?S+~sVS8mNjytjcAsX>Zu&+#qDSI~&?-swb}E$t85TymS!M)1`%xZ07h%C=gx>Z5;dsd2T_{!>*~srckSxhuwhjq3er2=GNq1(oYWWF z`Yaoz*;cR=_KbS-Y24P^ib^ZR0Z4*4y?pw@6OA5IGEN=vFMLaJpN5;6zV$v%Yn8NnM>z_u6_1lhf89 zVF(548z!}?v(xFa?dXu(8*Lp;wg-^4VMm+uPFn*K@M~wYbLT^MCMKebB@KJ)84S_g z6jD=Z_|XO?5mmE)sGi20nn?gSn0y*JOu)|O1{bi<>Ee~u6AIZ@H1J<5DZjJ55jXmq zsAC}@t)vOC?d)iDx(WBFUXIcX34(}SH48egM}gE-2D>}8sin=CB?#>u3|$0UmaV#@ z1*p~RY$w2@=7klaX^F964PrAh`!I{wrvv zcCMuM!+KoY;FfF*RWXa&e3i<(cAx;7;27i9(pTuT%O)<2mRDk|Y%6xJx8;=9u3T^1 zR903j=9B`xl@*i zkUJY(ZUDtPn@TfeYjSn$ve8J}r~*us+uh0MpB_?epto?I(FRm@HMDUYSOO|TnTGYd zTii%*wEd9%X6V|{4l?MZ?(ghyxt#9Kj`l`^fQ^!k5%g-x&Bi*K_}r3<@~&7S65F8Z z;ef9P?~`-_vk|GRw=JQ`SO%(aHi4@&t_Hp}fkCFarLH!-ZjmtCJHb8$bY?BJ*V4qv zEl8g`z+#BMrttSV{sHy$xh(0x{I)wE1V7#F)L923wNhzEgB#66vJ(MJmW?sB$Iu_$ z=A(*-dX2}T%_!X5)#7ISc3C zLy#OpLc!tO)zB`r>c~l(}YigR6!3*#^chqVPD3`iOn36eviZ-~f?!$P$flqjQH$7*inD z=H%uQQmnPPn_HTsHJT*b+0otvOpt_SxAmfOm%v{nX9UuKZfA}*>MRY@OIF$Tv`EcNFK|NuI-#F{Z+F=mAjKM7Bo=_T z`<5~Wg=ZVsg{$SkW@)`3aBeRMTo&S;&9*{UK<@ay+#z9n5+QR?Oh`;@X-DNP5@w~g zw!S>4!XZ}FSC(xSOC8jP>~44v)Csg>=q3P?b{o>sw}gfr9WI~_zC_!yTUUudJ&dW@ zY^fUv!xFa5t_LyIi3vpH(O{w3L3Poz0aoXdG#Q|44Vs34zA;H#1Wl&}e1VXop7a4> zy=`-Gy`x;rEy^jbuPCdkEGiWpwrxU!#=JUh8%RV$6mfC58q-dC1QSnyf%=!pRlaC= zqG)wF<5Me^rLQE4rE#V{IJ$s#do`hmbfR}#gQP2bRDV}j=Yt(m2k!xU3{zSdR75~w z8pRR@7YCYko1jlYFZAv+p}_kOnbO<=PC;0mP+Dfo$*n9Z<5LQ}aCbU)(s;Q*`{4P& z=O}*E=4_Huo1qw`x?3RQB2_kh@JSoBt-u`cDURk7sFiT>A*T37z!{n*!A(LKV74~w z+T{dBqQjsWhUs`?+u;NOx3xK;L^axWbkPgjgAJ}7KuY}uv|_Xq1^@C+mvg6$b+f4@ zq)ns#)r=A_DuTe_2QUq7d_G)j`DC~v)JMGI2%1=_8x8+CakBXZPYBJh_9JYLqhJmV zazhj3hK=_DI&zrE7MOAm*jfEdW91;T$FRDYOxw}nCjDUXm<8UZnl;`ib2B zPvu$=Vt~%4Yq0vZ%U`$BpXy3_H@^Fp3sb#OTvA)6OYUr}9 z$jk(Tn+3LTSxHdTw=}K<%}B0>b~jlRVWZ6CObh7^z*K3E6TDGlw5S(&yh(0pYt(f{ zW^K5EtPeW7V6YK?-tAru6=4_WI-N`@MqSsk5gQxYp+R@Z?l9H+8fpUd3+=C9GK4zh zg3X5EUlCEHSkR z@`(#YH*gRJvjkIIAW8yknQNFX09~bFJ?S=33V+C94v93a4;phL<{YL7&^TtUY1m*x zoiv9oXD5VFy|bgK-np015A&=mkO@0FU|~}IG~%3I>Z4g;ga9DRm|H199Tz+fViR+Q zJ^|uzBtY|;*?AYQoUq1yS9q3idt(ozErfYT$mXB{(R4*LA?UK&0rvwjPt+drXArIs zT?LgVh#hcR1_Rlpgs#DNl+JZ|4BvX&+O?e|`;j-A9>Z{+10TdovSHV*WT?3|s04)> zU4WP1>+I;PXLHQw2tWc6q>x_Ep~U&G6=FX4Nn;1eHrci@%eI@ILPWYkhMCHE4p4>h z6J6!t?a1zCKCztksq-kG$@Gaez^BzNroU&ddC&!s(%=Hm3+ieSh^nd4Tu;l?wLmh+ zQd1!of%&@q3=e@OxTD|)Gn}OdNM)mkez7hHOA-^A!w6FeoqBd*iC3B~1Fno`-L@xO zaFbDwe?eT_(FSjhJ(wS?1pKj~oijGBlY{!HE2QIcBZM2AOvza-cRe zQtl>U9zv$-2rV$7_rmOkDh_~o1%%cb z&PFp|Rxh+L$R4sdao6}(Q^T&7wyyQIYNrd*uVGbzvjf&1-P@hJ8&koo2%r%=k zNZ@)3Mq_4|F$d9Ff5;~mVpT!61IKtSS^;xo2ZueH=>Bt79&WFJ5SYCN`oq|j!{HS4 zIq>0P?kynv&WFefZD#|@OXe1S8-RpI6Uma`~-F?8v4N!)uu{vtQS6ESzQyWrZ z!L)V7QJXqF>*`$%FlAuwpdJlLAY#a`q{-)SzH|*Kjd6NV8z+*PB+DX&CX=>7@vRBX zsIlY&0Upo{4~4X+!`9f+)CB)Py95OfJmPN7Bklp5O!n(El-nV@T3}a{I`^#7p6xbt z2Qq?J`9sz>^d_k4YP@7}4y1Poav*Av(sr$RQvkQOI$=~%L*ja}*1vDnJ zyY8SX&Ek&HycC>H$YI9ZeD2kxbdY|P8B(R78)0>Vd8LE&6~H8}!0E82@Cx zrIj}3XKHCD_TnbjLk~uY`5XM1-&{=y0#YW3#iZ6Zhu5)f?&O3Mh^H(2JGYB3oTz0#db!+}7SvM>s?o z8#{Jptss}-K48R3q)6NcNlrUf=pnW$!+vf{-5vg;BlIKqgs~vFBiCx0-9Z&{2{=mD z5?bSk%mYRg%ENr`82T`hfZU1V-@1U-mY?9_YM0wc_tE4N`D@7rX=ADs@EWg}jM+in z1javUMUfO}=r?5hHLS;=Jj8VS0&ev%gCQ}Ivt(92qckJxwgeyjuv8!z4l!-JVG@g;m z-RPvZQh!3WC|O9964IS80XbL@cSBW5V3I9z;Wfxoutw;ptSBli;J}eQE2R}$A`i9# z`+&AoduI@I-A2(~AU%O;MQOA8YsIpBUK7-PEo181*>f^mi?zCh*?KG&`o!h{=)@-g z4@lE_MW`bT4WjW(7gul*U2B~^%8sY`)_n+?=qFFc+8}W=d}6);=&q0#A+)h!@I(rS z0DSvwk!u1pL!@Lz(E%T0=rKCu32J)KX(E@-!nK-N?fFWg2AjU-uj|NA6VNoXgM+SH z3MSYI(+TS-vQRBb@4%o^wk9pzR zen^Xrh*JrQ@zlNW)9l6t3oaFw5J_>q&UX#z4uvcAA^7~kD^iob2 z2qV7PqApn3a6h}SybA4A;;O(^%HHezC`7k_Yk5BY;2*&>D=(da&ANG}Syvo4SChAA zl@0Z6!uW1u^=W=iZJmVqX(HE3NQqj_5vhTM+VVB%H^zZh5ARrt-w2Xez8n`8vz9F* zy$tWs4qHb;8m$?^9AFw~$ks$2LmAB@lBq=k{cAE2K4%3GKuL9S+@&gs2lJWPmZa|JK*$J}g(BIvZMIHV2Wg(RovsFW3*eG<$ymW?+2tght7I$Wdsy@s zJZ}iofXw7W2dbrILkA2eNvjGawSt@!5dKF|d1RcCM-4@nH!^cThI0QCX2w>L}uG_5KsM5y=E+Sh?_S&B(W@Y7=I!9^Izd z3U8eEDYvWyp&&HF_1a@4AE6+Sv*3k3BeTq1g_u{xA`q^DPvvEy?omJ3oK;f$+h(ba zW9F*x@#J%cj%ZkW&9TrhEb={#0Dmz{dN}9=8v;oxwYjO!FV3l~6ifLSR%%FrJPaIU z0yMds!-;8T{dy^e6W6R;CybfpL!_9Wr}bFq~P_u#P||L39)yt+P#kr(;-ANp=?p@%*OqKnWJznC?Br@ zOYnVE8)0w+vj`D-f=*mBd45<~E;}R2g)!)Bw;3c;!mZiHCs<1uUIfL^HToKSe~mgZ z=D{pFPBUpk*c2`;Bl;8d@)~sqM=K282>Evnm?QFBqi#SDku4mTBV;Jrh}OwipLHs` z1`H8(TpNZ^w%O{5Di;!eKv;cDzAX>lh3H(zuxl0w@xbW0(zzCj63^1-H=L#;(!&M4 zRz{ceAr&!f_`^U#Q;_pW2ovDcZ;ssPcN7dkq`zi6T8=-W4b~sx1yOAT`2=3+?`HNV zEEmep9CzwOq{={b&6-cIDx?{(c4y7Yx)+u)V(v7-ACVRu%n%MCX@;Dh4IgLA7dEa@ zyg0JT2pFOYu?Z$a1A`xtPaCsY<|HI6zim#!az)pxk1^F9{Z2>hZ=tbZaVkICSk2PK zh%!;{zlAy@ip_vkmo(9R2yx|E`WHr^Gt23mEvj4;z~Rj38vVZ(314fxqVfmHaYmmb zG3!5vGkgTY<}|9kAd3m-txHbFd8w^~@5aJSA1dl||)bxmM;>RMzK-xy3M3S!g@w z1wd;mPdYNSQB*<*1+E8{5;V~%58mY$Q9ZRV=5RP#Rcy^}IF7ej-;<6gC zA~(k&GPughMe0&%fesw%W~f8;p>2Yj>ZmHs6Z5gH0ahmSj07_|D)RtLIf`N518!6f z`L$ep%uq^4uVA^#DvYdcZCY46ItWz0w2Z04j$nSGA9#>ZRXNOH>Na>Y`~)OusSW_Z zWh+#I`qCV z^bNw7PtGkMSA79l=%`1VtZ=*ty1>FF9I%9v`49r%c;nipLLmwyf}^sgjIv?k99-_} zfZ(03FcEGRVcxdtW5f$Uo|fhn6UGD^=KT!fua-~W$wKW_m2NIAt0~n;Aqof3#|n{% zOQbzLur;_t2eZR)h>dl0A5f+Sz?IbyjD$W6(-=K%D#D11Ik5JauMBl?9e{NMeIgl3 zxEWS2FN|7pb4p9gDgjPT9;Z1SnS*%B`Ni)gwYP#(s%-dWMvM33c-Z7 zv|$R7VE9~fWDE`=(O>lNhiI~@9AwC85^aXD$&k;7@OTz@Xl{r%lcq#fkgONpMKS&P}Z}k2zy?>Z@z{iOid8lChrmFmW!q*b91Z@kT2eunLn$#lsss?{(1{f{p zip9l3PDxQg&TO6GW2~cHxNHd1+h*l&5zGMn#PDt9z-vq&%!N2P+wrFN2lJU%1Yui> zZE#xugY>GoONC8E1t1XKU!DJ>To56toIVHPgoLppGOQ3C4r1Cw7r~xCuy@1@`S=$BqKKJbW24CpGz*rl!5!f{ zLK6Z*Vuo!s6-AYzKoe8u;E0%8TL4gJM;PRV03}X`^_Q)=VmZ?f09P5!T1AitV-kXR z1>P0K>Dl-&+XbUWWoFnhRKMO_cy(}!sVuf-h!tXKE+HKo@=ENU z2XtH~$k6WVwEK6p`@P!z9_@a&c2C#tcWL*vLP-_V;p)R^hp*$HJ&v=?J}0mrc==jP!644f3(I_tN3EI(G=sDB9VS<0#5y zMloOy&Fc)cjowB1U|5|R;ghbE7ZeJpH!r6Y=V_ExfdfI{LDrUPZ$mPa(E)lEDM!&x zXw1TxYfyiR>NMH{69Vm$Up~KRhJb=@%`r4Yo-{{X3Fq_0L@5d~xgXS_E9*7&C|rs$ z{0=vLI8LA*z!9dy&YU&0NxYAtEWymz$3n8^-n(^;j⪻cr@lgok_=+upyx~qsdIe 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 literal 0 HcmV?d00001 diff --git a/jj_temporal/jj_t/parsers/gobo_files/old_gelex.exe b/jj_temporal/jj_t/parsers/gobo_files/old_gelex.exe new file mode 100644 index 0000000000000000000000000000000000000000..bf7ed515509671892875a1bbb70de93a4c7c8166 GIT binary patch literal 233472 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⁢0EO$#zcO^z`G&@N1}*EDBkpQ_0Id$yH*6fVW& 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 literal 0 HcmV?d00001 diff --git a/jj_temporal/jj_t/parsers/gobo_files/old_geyacc.exe b/jj_temporal/jj_t/parsers/gobo_files/old_geyacc.exe new file mode 100644 index 0000000000000000000000000000000000000000..f0c70b908c988d30f235e6e3f736c76c78e58060 GIT binary patch literal 270336 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�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 AxBvhE literal 0 HcmV?d00001 diff --git a/jj_temporal/jj_t/parsers/gobo_files/y.bat b/jj_temporal/jj_t/parsers/gobo_files/y.bat new file mode 100644 index 0000000..9e26023 --- /dev/null +++ b/jj_temporal/jj_t/parsers/gobo_files/y.bat @@ -0,0 +1,7 @@ +cd d: +cd e_source +cd parser_tests +cd date_parser +cd discription_files +geyacc -t ymd_time_tokens -o ymd_time_parser.e ymd_time_parser.y +gelex -o ymd_time_scanner.e ymd_time_scanner.l diff --git a/jj_temporal/jj_t/parsers/gobo_files/ymd_time_parser.y b/jj_temporal/jj_t/parsers/gobo_files/ymd_time_parser.y new file mode 100644 index 0000000..2b06bf9 --- /dev/null +++ b/jj_temporal/jj_t/parsers/gobo_files/ymd_time_parser.y @@ -0,0 +1,191 @@ +%{ +indexing + description: "[ + Parser for reading in a string and converting it to a date. + This file was produced by 'geyacc' (from the gobo tools cluster) + using file 'ymd_time_parser.y'. + ]" + date: "17 Aug 04" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class YMD_TIME_PARSER + +inherit + + YY_PARSER_SKELETON + rename + make as make_parser_skeleton + redefine + default_create + end + + YMD_TIME_PARSER_ROUTINES + rename + last_value as last_scanner_value + redefine + default_create + end + + YMD_TIME_SCANNER + rename + last_value as last_scanner_value + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create is + -- Create a new Eiffel parser. + do + Precursor {YMD_TIME_SCANNER} + make_parser_skeleton + end + +feature -- Access + + last_value: YMD_TIME + -- The result of parsing + +feature -- Basic operations + + parse_string (a_string: STRING) is + -- Parse `a_string'. + local + b: KL_CHARACTER_BUFFER + yy_buf: YY_BUFFER + f: FILE + s: STRING + do + reset + -- The `b' must end in "%U%U". I don't know why. + -- so append it onto the end of a copy of `a_string'. + s := deep_clone (a_string) + s.append ("%U%U") + create b.make_from_string (s) + create yy_buf.make_from_buffer (b) + set_input_buffer (yy_buf) + parse + end + +------------------------------------------------------------------------------------- +-------------------- Following created by GeYacc ---------------------------------- + + +%} + +%token SCAN_ERROR_TOKEN + +%token WEEKDAY_TOKEN +%token YEAR_TOKEN +%token MONTH_TOKEN +%token YEAR_OR_DAY_TOKEN +%token NUMBER_TOKEN + +%type Date +%type Ambiguous_day +%type Ambiguous_day_month +%type Unspecified +%type Weekday_included +%type Three_numbers +%type Two_numbers + +%type Month +%type Year +%type Year_or_day +%type Number + +-------------------------------------------------------------------------------- +%% + +Date: -- Empty { parsed_result := "No date entered" } + | Ambiguous_day { $$ := $1 last_value := $$ } + | Ambiguous_day_month { $$ := $1 last_value := $$ } + | Unspecified { $$ := $1 last_value := $$ } + | Three_numbers { $$ := $1 last_value := $$ } + | Two_numbers { $$ := $1 last_value := $$ } + | Weekday_included { $$ := $1 last_value := $$ } +-- | SCAN_ERROR_TOKEN { $$ := last_scanner_value last_value := $$ } + ; + +-- The Month and Year are known. +Ambiguous_day: Number Month Year { $$ := process_ambiguous_day ($1, $2, $3) } + | Year_or_day Month Year { $$ := process_ambiguous_day ($1, $2, $3) } + | Month Year_or_day Year { $$ := process_ambiguous_day ($2, $1, $3) } + | Month Number Year { $$ := process_ambiguous_day ($2, $1, $3) } + ; + +-- Only the Year is certain. +Ambiguous_day_month: Year_or_day Number Year { $$ := process_ambiguous_day ($1, $2, $3) } + | Number Year_or_day Year { $$ := process_ambiguous_day ($2, $1, $3) } + | Year Year_or_day Number { $$ := process_ambiguous_day ($2, $3, $1) } + | Year Number Year_or_day { $$ := process_ambiguous_day ($3, $2, $1) } + | Number Number Year { $$ := process_ambiguous_day_month ($1, $2, $3) } + | Year Number Number { $$ := process_ambiguous_day_month ($2, $3, $1) } + ; + +-- Two values input and at least one can be identified; assumptions are made about the unknowns. +Unspecified: Month Year { $$ := process_unspecified (0, $1, $2) } + | Year Month { $$ := process_unspecified (0, $2, $1) } + | Year_or_day Month { $$ := process_unspecified ($1, $2, 0) } + | Month Year_or_day { $$ := process_unspecified ($2, $1, 0) } + | Number Year { $$ := process_unspecified (0, $1, $2) } + | Year Number { $$ := process_unspecified (0, $2, $1) } + | Number Month { $$ := process_unspecified ($1, $2, 0) } + | Month Number { $$ := process_unspecified ($2, $1, 0) } + ; + +-- A date with the weekday included; the weekday is ignored. +Weekday_included: Weekday Ambiguous_day { $$ := $2 } + | Weekday Ambiguous_day_month { $$ := $2 } + | Weekday Unspecified { $$ := $2 } + | Weekday Three_numbers { $$ := $2 } + | Weekday Two_numbers { $$ := $2 } + ; + +-- The date is entered as three numbers and scanner is unable to deduce from +-- the values which one is day, year, and so on. +Three_numbers: Number Number Number { $$ := process_three_numbers ($1, $2, $3) } + | Year_or_day Number Number { $$ := process_three_numbers ($1, $2, $3) } + | Number Year_or_day Number { $$ := process_three_numbers ($1, $2, $3) } + | Number Number Year_or_day { $$ := process_three_numbers ($1, $2, $3) } + ; + +-- The date was enterred as only two numbers and the scanner was unable +-- to deduce thier meanings. +Two_numbers: Number Number { $$ := process_two_numbers ($1, $2) } + | Year_or_day Number { $$ := process_two_numbers ($1, $2) } + | Number Year_or_day { $$ := process_two_numbers ($1, $2) } + ; + + +-------------------------------------------------------------------------------- + +Weekday: WEEKDAY_TOKEN { -- do nothing as result is not needed + } + ; + +Month: MONTH_TOKEN { $$ := last_integer } + ; + +Year: YEAR_TOKEN { $$ := last_integer } + ; + +Year_or_day: YEAR_OR_DAY_TOKEN { $$ := last_integer } + ; + +Number: NUMBER_TOKEN { $$ := last_integer } + ; + + +%% + +end -- class YMD_TIME_PARSER diff --git a/jj_temporal/jj_t/parsers/gobo_files/ymd_time_scanner.l b/jj_temporal/jj_t/parsers/gobo_files/ymd_time_scanner.l new file mode 100644 index 0000000..293ebc2 --- /dev/null +++ b/jj_temporal/jj_t/parsers/gobo_files/ymd_time_scanner.l @@ -0,0 +1,149 @@ +%{ +indexing + description: "[ + Scanner for reading in a string and converting it to a date. + This file was produced by 'gelex' (from the gobo tools cluster) + using file "ymd_time_scanner.l". + ]" + date: "17 Aug 04" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class YMD_TIME_SCANNER + +inherit + + YY_COMPRESSED_SCANNER_SKELETON + export + {NONE} all + {ANY} scanning_error + redefine + default_create + end + + UT_CHARACTER_CODES + export + {NONE} all + redefine + default_create + end + + YMD_TIME_TOKENS + export + {NONE} all + redefine + default_create + end + + YMD_TIME_SCANNER_ROUTINES + export + {NONE} all + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create is + -- Create a scanner object + do + make + Precursor {YMD_TIME_SCANNER_ROUTINES} + end + +feature -- Basic operations + + scan_string (a_string: STRING) is + -- Scan `a_string' + local + b: KL_CHARACTER_BUFFER + yy_buf: YY_BUFFER + f: FILE + s: STRING + do + -- The `b' must end in "%U%U". I don't know why. + -- so append it onto the end of a copy of `a_string'. + s := deep_clone (a_string) + s.append ("%U%U") + create b.make_from_string (s) + create yy_buf.make_from_buffer (b) + set_input_buffer (yy_buf) + scan + end + + print_values is + do + io.put_string ("token = ") + io.put_string (token_name (last_token)) + io.put_string (" value = ") + if last_value /= Void then + io.put_string (last_value.out) + else + io.put_string ("Void") + end + io.new_line + end + +--------------------------------------------------------------------------------- +----------------------- Following code produce by Gelex ---------------------- + +%} + +--%x IN_STR -- line 50 +%option outfile="ymd_time_scanner.e" + + +IDENTIFIER [a-zA-Z][a-zA-Z]* + +DIGIT [0-9] +INTEGER {DIGIT}+|{DIGIT}{1,3}(,{DIGIT}{3})+ + +SEPARATORS [:./\\,\- \t\n\r]+ + +%% + +{INTEGER} { + last_integer := comas_removed (text).to_integer + last_value := last_integer + if last_integer > 31 then + last_token := YEAR_TOKEN + elseif last_integer > 12 then + last_token := YEAR_OR_DAY_TOKEN + else + last_token := NUMBER_TOKEN + end + print_values + } + +{IDENTIFIER} { if is_month (text) then + last_token := MONTH_TOKEN + last_integer := get_month (text) + last_value := last_integer + elseif is_weekday (text) then + last_token := WEEKDAY_TOKEN + last_string := text + last_value := text + else + last_token := SCAN_ERROR_TOKEN + last_value := last_string + print_values + end + print_values + } + +{SEPARATORS} { last_value := text + print_values + } + + +%% + + +end -- class YMD_TIME_SCANNER \ No newline at end of file diff --git a/jj_temporal/jj_temporal.ecf b/jj_temporal/jj_temporal.ecf new file mode 100644 index 0000000..5ab13c6 --- /dev/null +++ b/jj_temporal/jj_temporal.ecf @@ -0,0 +1,25 @@ + + + + + + + + + /demo$ + /.svn$ + /.git$ + /docs$ + + + ^/parsers/gobo_files$ + + + + diff --git a/jj_temporal/parsers/classes/ymd_time_parser.e b/jj_temporal/parsers/classes/ymd_time_parser.e new file mode 100644 index 0000000..75c958c --- /dev/null +++ b/jj_temporal/parsers/classes/ymd_time_parser.e @@ -0,0 +1,10 @@ +note + description: "Summary description for {YMD_TIME_PARSER}." + author: "" + date: "$Date$" + revision: "$Revision$" + +class + YMD_TIME_PARSER + +end diff --git a/jj_temporal/parsers/classes/ymd_time_parser_routines.e b/jj_temporal/parsers/classes/ymd_time_parser_routines.e new file mode 100644 index 0000000..27cde0e --- /dev/null +++ b/jj_temporal/parsers/classes/ymd_time_parser_routines.e @@ -0,0 +1,130 @@ +note + description: "[ + Routines used by the {YMD_TIME_PARSER}. These were put here to + ease the editting. The text of class {YMD_TIME_PARSER} is produced + by "geyacc" from a discription file, so every time a change is + made "geyacc" must be run (from a dos prompt), the files moved, etc. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class YMD_TIME_PARSER_ROUTINES + +inherit + + YMD_TIME_FORMAT_CONSTANTS + undefine + default_create + end + + YMD_TIME_SCANNER_ROUTINES + +feature -- Access + + format: INTEGER + -- How the date should appear (i.e. "dd mmm yyyy", "mm/dd/yy", etc + +feature -- Element change + + set_format (a_format: INTEGER) + -- Change `format' + require + valid_format: is_valid_format (a_format) + do + format := a_format + ensure + format_was_set: format = a_format + end + +feature {NONE} -- Implementation + + process_ambiguous_day (a_possible_day, a_month, a_year: INTEGER): detachable YMD_TIME + -- Return a date if `a_possible_day' is valid for the know values of + -- `a_month' and `a_year'; void otherwise. + require + valid_month: a_month >= 1 and a_month <= 12 + valid_year: a_year /= 0 + local + d: YMD_TIME + do + create d.set (a_year, a_month, 1) + if a_possible_day >= 1 and a_possible_day <= d.last_day_of_month then + create Result.set (a_year, a_month, a_possible_day) + end + end + + process_ambiguous_day_month (a_possible_day, a_possible_month, a_year: INTEGER): YMD_TIME + -- Only the year is known; determine which of the other two values is + -- the month and which is the day. + require + valid_year: a_year /= 0 + unknown_day_from_scanner: a_possible_day <= 12 + unknown_month_from_scanner: a_possible_month <= 12 + do + create Result.set (a_year, a_possible_month, a_possible_day) + end + + process_ambiguous_day_year (a_possible_day, a_month, a_possible_year: INTEGER): YMD_TIME + -- Only the month is know for sure. + require + valid_month: a_month >= 1 and a_month <= 12 + unknown_day_from_scanner: a_possible_day <= 12 + unknown_year_from_scanner: a_possible_year <= 12 + do + create Result.set (a_possible_day, a_month, a_possible_year) + end + + process_unspecified (a_day, a_month, a_year: INTEGER): YMD_TIME + -- One of `a_day' or `a_year' was not specified in the scanned string. + -- The unspecified one will be 0. + require + one_zero: a_day = 0 or a_year = 0 + valid_month: a_month >= 1 and a_month <= 12 + local + d: YMD_TIME + do + if a_day = 0 then + create Result.set (a_year, a_month, 1) + else + create d.set_now + create Result.set_now + Result.set_day (a_day) + Result.set_month (a_month) + if Result < d then + Result.set_year (Result.year + 1) + end + end + end + + process_three_numbers (int_1, int_2, int_3: INTEGER): YMD_TIME + -- Scanner encountered a three-integer date and was unable to determine + -- from the context what any of them mean. + require + int_1_is_number: int_1 >= 1 and int_1 <= 31 + int_2_is_number: int_2 >= 1 and int_2 <= 31 + int_3_is_number: int_3 >= 1 and int_3 <= 31 + do + + create Result.set (int_1, int_2, int_3) + end + + process_two_numbers (int_1, int_2: INTEGER): YMD_TIME + -- Scanner only found 2 numbers and unknow what they represent. + require + int_1_is_number: int_1 >= 1 and int_1 <= 31 + int_2_is_number: int_2 >= 1 and int_2 <= 31 + do + create Result.set_now + Result.set_day (int_1) + Result.set_month (int_2) + end + +invariant + + valid_ymd_time_format: is_valid_format (format) + +end -- Class YMD_TIME_PARSER_ROUTINES diff --git a/jj_temporal/parsers/classes/ymd_time_scanner_routines.e b/jj_temporal/parsers/classes/ymd_time_scanner_routines.e new file mode 100644 index 0000000..e117b12 --- /dev/null +++ b/jj_temporal/parsers/classes/ymd_time_scanner_routines.e @@ -0,0 +1,69 @@ +note + description: "[ + Routines used by the {YMD_TIME_SCANNER}. These were put here to + ease the editting. The text of class {YMD_TIME_SCANNER} is produced + by "gelex" from a discription file, so every time a change is + made "geyacc" must be run (from a dos prompt), the files moved, etc. + ]" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class + YMD_TIME_SCANNER_ROUTINES + +inherit + + YMD_TIME_FORMAT_CONSTANTS + undefine + default_create + end + +feature {NONE} -- Inititalization + + default_create + + -- Create an instance + do + end + +feature -- Access + + last_string: detachable STRING + -- Last string value read to pass to parser + + last_integer: INTEGER + -- Last integer value read to pass to parser. + + last_value: detachable ANY + -- Last value read by the scanner + +feature {NONE} -- Implementation + + comas_removed (a_number_string: STRING): STRING + -- Return the string without comas. + -- Used to remove comas from reals or strings. + local + s: STRING + i, n: INTEGER + c: CHARACTER + do + create Result.make (200) + s := a_number_string + n := a_number_string.count + from i := 1 until i > n + loop + c := s.item (i) + if c /= ',' then + Result.append_character (c) + end + i := i + 1 + end + end + +invariant + +end -- class YMD_TIME_SCANNER_ROUTINES diff --git a/jj_temporal/parsers/classes/ymd_time_tokens.e b/jj_temporal/parsers/classes/ymd_time_tokens.e new file mode 100644 index 0000000..26294eb --- /dev/null +++ b/jj_temporal/parsers/classes/ymd_time_tokens.e @@ -0,0 +1,49 @@ +note + + description: "Parser token codes" + generator: "geyacc version 3.4" + +class YMD_TIME_TOKENS + + +feature -- Last values + + last_any_value: detachable ANY + +feature -- Access + + token_name (a_token: INTEGER): STRING + -- Name of token `a_token' + do + inspect a_token + when 0 then + Result := "EOF token" + when -1 then + Result := "Error token" + when SCAN_ERROR_TOKEN then + Result := "SCAN_ERROR_TOKEN" + when WEEKDAY_TOKEN then + Result := "WEEKDAY_TOKEN" + when YEAR_TOKEN then + Result := "YEAR_TOKEN" + when MONTH_TOKEN then + Result := "MONTH_TOKEN" + when YEAR_OR_DAY_TOKEN then + Result := "YEAR_OR_DAY_TOKEN" + when NUMBER_TOKEN then + Result := "NUMBER_TOKEN" + else + Result := "Unknown token" + end + end + +feature -- Token codes + + SCAN_ERROR_TOKEN: INTEGER = 258 + WEEKDAY_TOKEN: INTEGER = 259 + YEAR_TOKEN: INTEGER = 260 + MONTH_TOKEN: INTEGER = 261 + YEAR_OR_DAY_TOKEN: INTEGER = 262 + NUMBER_TOKEN: INTEGER = 263 + +end diff --git a/jj_temporal/parsers/gobo_files/gelex.exe b/jj_temporal/parsers/gobo_files/gelex.exe new file mode 100644 index 0000000000000000000000000000000000000000..73ef35709d8252d8ebc9aa84d651fa9511533ee5 GIT binary patch literal 253952 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 a5d#-7a1jF+F>nzB7cp=V1OHE8;C}%0(ajeC literal 0 HcmV?d00001 diff --git a/jj_temporal/parsers/gobo_files/geyacc.exe b/jj_temporal/parsers/gobo_files/geyacc.exe new file mode 100644 index 0000000000000000000000000000000000000000..316a799773a7bb96a8d745b05f3b338cac2db1ca GIT binary patch literal 339968 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 39&1P3(>5~X(Wvil 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

@6=)V>v`tv*|g$IqyI{9T+L_d7k}b=v5&L$vpM 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 z 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⪻cr@lgok_=+upyx~qsdIe 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 literal 0 HcmV?d00001 diff --git a/jj_temporal/parsers/gobo_files/old_gelex.exe b/jj_temporal/parsers/gobo_files/old_gelex.exe new file mode 100644 index 0000000000000000000000000000000000000000..bf7ed515509671892875a1bbb70de93a4c7c8166 GIT binary patch literal 233472 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⁢0EO$#zcO^z`G&@N1}*EDBkpQ_0Id$yH*6fVW& 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 literal 0 HcmV?d00001 diff --git a/jj_temporal/parsers/gobo_files/old_geyacc.exe b/jj_temporal/parsers/gobo_files/old_geyacc.exe new file mode 100644 index 0000000000000000000000000000000000000000..f0c70b908c988d30f235e6e3f736c76c78e58060 GIT binary patch literal 270336 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�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 AxBvhE literal 0 HcmV?d00001 diff --git a/jj_temporal/parsers/gobo_files/y.bat b/jj_temporal/parsers/gobo_files/y.bat new file mode 100644 index 0000000..9e26023 --- /dev/null +++ b/jj_temporal/parsers/gobo_files/y.bat @@ -0,0 +1,7 @@ +cd d: +cd e_source +cd parser_tests +cd date_parser +cd discription_files +geyacc -t ymd_time_tokens -o ymd_time_parser.e ymd_time_parser.y +gelex -o ymd_time_scanner.e ymd_time_scanner.l diff --git a/jj_temporal/parsers/gobo_files/ymd_time_parser.y b/jj_temporal/parsers/gobo_files/ymd_time_parser.y new file mode 100644 index 0000000..2b06bf9 --- /dev/null +++ b/jj_temporal/parsers/gobo_files/ymd_time_parser.y @@ -0,0 +1,191 @@ +%{ +indexing + description: "[ + Parser for reading in a string and converting it to a date. + This file was produced by 'geyacc' (from the gobo tools cluster) + using file 'ymd_time_parser.y'. + ]" + date: "17 Aug 04" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class YMD_TIME_PARSER + +inherit + + YY_PARSER_SKELETON + rename + make as make_parser_skeleton + redefine + default_create + end + + YMD_TIME_PARSER_ROUTINES + rename + last_value as last_scanner_value + redefine + default_create + end + + YMD_TIME_SCANNER + rename + last_value as last_scanner_value + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create is + -- Create a new Eiffel parser. + do + Precursor {YMD_TIME_SCANNER} + make_parser_skeleton + end + +feature -- Access + + last_value: YMD_TIME + -- The result of parsing + +feature -- Basic operations + + parse_string (a_string: STRING) is + -- Parse `a_string'. + local + b: KL_CHARACTER_BUFFER + yy_buf: YY_BUFFER + f: FILE + s: STRING + do + reset + -- The `b' must end in "%U%U". I don't know why. + -- so append it onto the end of a copy of `a_string'. + s := deep_clone (a_string) + s.append ("%U%U") + create b.make_from_string (s) + create yy_buf.make_from_buffer (b) + set_input_buffer (yy_buf) + parse + end + +------------------------------------------------------------------------------------- +-------------------- Following created by GeYacc ---------------------------------- + + +%} + +%token SCAN_ERROR_TOKEN + +%token WEEKDAY_TOKEN +%token YEAR_TOKEN +%token MONTH_TOKEN +%token YEAR_OR_DAY_TOKEN +%token NUMBER_TOKEN + +%type Date +%type Ambiguous_day +%type Ambiguous_day_month +%type Unspecified +%type Weekday_included +%type Three_numbers +%type Two_numbers + +%type Month +%type Year +%type Year_or_day +%type Number + +-------------------------------------------------------------------------------- +%% + +Date: -- Empty { parsed_result := "No date entered" } + | Ambiguous_day { $$ := $1 last_value := $$ } + | Ambiguous_day_month { $$ := $1 last_value := $$ } + | Unspecified { $$ := $1 last_value := $$ } + | Three_numbers { $$ := $1 last_value := $$ } + | Two_numbers { $$ := $1 last_value := $$ } + | Weekday_included { $$ := $1 last_value := $$ } +-- | SCAN_ERROR_TOKEN { $$ := last_scanner_value last_value := $$ } + ; + +-- The Month and Year are known. +Ambiguous_day: Number Month Year { $$ := process_ambiguous_day ($1, $2, $3) } + | Year_or_day Month Year { $$ := process_ambiguous_day ($1, $2, $3) } + | Month Year_or_day Year { $$ := process_ambiguous_day ($2, $1, $3) } + | Month Number Year { $$ := process_ambiguous_day ($2, $1, $3) } + ; + +-- Only the Year is certain. +Ambiguous_day_month: Year_or_day Number Year { $$ := process_ambiguous_day ($1, $2, $3) } + | Number Year_or_day Year { $$ := process_ambiguous_day ($2, $1, $3) } + | Year Year_or_day Number { $$ := process_ambiguous_day ($2, $3, $1) } + | Year Number Year_or_day { $$ := process_ambiguous_day ($3, $2, $1) } + | Number Number Year { $$ := process_ambiguous_day_month ($1, $2, $3) } + | Year Number Number { $$ := process_ambiguous_day_month ($2, $3, $1) } + ; + +-- Two values input and at least one can be identified; assumptions are made about the unknowns. +Unspecified: Month Year { $$ := process_unspecified (0, $1, $2) } + | Year Month { $$ := process_unspecified (0, $2, $1) } + | Year_or_day Month { $$ := process_unspecified ($1, $2, 0) } + | Month Year_or_day { $$ := process_unspecified ($2, $1, 0) } + | Number Year { $$ := process_unspecified (0, $1, $2) } + | Year Number { $$ := process_unspecified (0, $2, $1) } + | Number Month { $$ := process_unspecified ($1, $2, 0) } + | Month Number { $$ := process_unspecified ($2, $1, 0) } + ; + +-- A date with the weekday included; the weekday is ignored. +Weekday_included: Weekday Ambiguous_day { $$ := $2 } + | Weekday Ambiguous_day_month { $$ := $2 } + | Weekday Unspecified { $$ := $2 } + | Weekday Three_numbers { $$ := $2 } + | Weekday Two_numbers { $$ := $2 } + ; + +-- The date is entered as three numbers and scanner is unable to deduce from +-- the values which one is day, year, and so on. +Three_numbers: Number Number Number { $$ := process_three_numbers ($1, $2, $3) } + | Year_or_day Number Number { $$ := process_three_numbers ($1, $2, $3) } + | Number Year_or_day Number { $$ := process_three_numbers ($1, $2, $3) } + | Number Number Year_or_day { $$ := process_three_numbers ($1, $2, $3) } + ; + +-- The date was enterred as only two numbers and the scanner was unable +-- to deduce thier meanings. +Two_numbers: Number Number { $$ := process_two_numbers ($1, $2) } + | Year_or_day Number { $$ := process_two_numbers ($1, $2) } + | Number Year_or_day { $$ := process_two_numbers ($1, $2) } + ; + + +-------------------------------------------------------------------------------- + +Weekday: WEEKDAY_TOKEN { -- do nothing as result is not needed + } + ; + +Month: MONTH_TOKEN { $$ := last_integer } + ; + +Year: YEAR_TOKEN { $$ := last_integer } + ; + +Year_or_day: YEAR_OR_DAY_TOKEN { $$ := last_integer } + ; + +Number: NUMBER_TOKEN { $$ := last_integer } + ; + + +%% + +end -- class YMD_TIME_PARSER diff --git a/jj_temporal/parsers/gobo_files/ymd_time_scanner.l b/jj_temporal/parsers/gobo_files/ymd_time_scanner.l new file mode 100644 index 0000000..293ebc2 --- /dev/null +++ b/jj_temporal/parsers/gobo_files/ymd_time_scanner.l @@ -0,0 +1,149 @@ +%{ +indexing + description: "[ + Scanner for reading in a string and converting it to a date. + This file was produced by 'gelex' (from the gobo tools cluster) + using file "ymd_time_scanner.l". + ]" + date: "17 Aug 04" + author: "Jimmy J. Johnson" + copyright: "Copyright 2009, Jimmy J. Johnson" + license: "Eiffel Forum License v2 (see forum.txt)" + URL: "$URL:$" + date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" + revision: "$Revision: 7 $" + +class YMD_TIME_SCANNER + +inherit + + YY_COMPRESSED_SCANNER_SKELETON + export + {NONE} all + {ANY} scanning_error + redefine + default_create + end + + UT_CHARACTER_CODES + export + {NONE} all + redefine + default_create + end + + YMD_TIME_TOKENS + export + {NONE} all + redefine + default_create + end + + YMD_TIME_SCANNER_ROUTINES + export + {NONE} all + redefine + default_create + end + +create + default_create + +feature {NONE} -- Initialization + + default_create is + -- Create a scanner object + do + make + Precursor {YMD_TIME_SCANNER_ROUTINES} + end + +feature -- Basic operations + + scan_string (a_string: STRING) is + -- Scan `a_string' + local + b: KL_CHARACTER_BUFFER + yy_buf: YY_BUFFER + f: FILE + s: STRING + do + -- The `b' must end in "%U%U". I don't know why. + -- so append it onto the end of a copy of `a_string'. + s := deep_clone (a_string) + s.append ("%U%U") + create b.make_from_string (s) + create yy_buf.make_from_buffer (b) + set_input_buffer (yy_buf) + scan + end + + print_values is + do + io.put_string ("token = ") + io.put_string (token_name (last_token)) + io.put_string (" value = ") + if last_value /= Void then + io.put_string (last_value.out) + else + io.put_string ("Void") + end + io.new_line + end + +--------------------------------------------------------------------------------- +----------------------- Following code produce by Gelex ---------------------- + +%} + +--%x IN_STR -- line 50 +%option outfile="ymd_time_scanner.e" + + +IDENTIFIER [a-zA-Z][a-zA-Z]* + +DIGIT [0-9] +INTEGER {DIGIT}+|{DIGIT}{1,3}(,{DIGIT}{3})+ + +SEPARATORS [:./\\,\- \t\n\r]+ + +%% + +{INTEGER} { + last_integer := comas_removed (text).to_integer + last_value := last_integer + if last_integer > 31 then + last_token := YEAR_TOKEN + elseif last_integer > 12 then + last_token := YEAR_OR_DAY_TOKEN + else + last_token := NUMBER_TOKEN + end + print_values + } + +{IDENTIFIER} { if is_month (text) then + last_token := MONTH_TOKEN + last_integer := get_month (text) + last_value := last_integer + elseif is_weekday (text) then + last_token := WEEKDAY_TOKEN + last_string := text + last_value := text + else + last_token := SCAN_ERROR_TOKEN + last_value := last_string + print_values + end + print_values + } + +{SEPARATORS} { last_value := text + print_values + } + + +%% + + +end -- class YMD_TIME_SCANNER \ No newline at end of file diff --git a/setup.bat b/setup.bat new file mode 100644 index 0000000..0b8d78a --- /dev/null +++ b/setup.bat @@ -0,0 +1 @@ +set JJ_GITHUB=%~dp0 diff --git a/setup.rc b/setup.rc new file mode 100644 index 0000000..c43ad0b --- /dev/null +++ b/setup.rc @@ -0,0 +1 @@ +export JJ_GITHUB=`pwd`