       0
  
   355ǿ c    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
<p>Additionally, a 404 Not Found
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>
  
   358ǿ f    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access this resource.</p>
<p>Additionally, a 403 Forbidden
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>
  G   lY> ٔn.\bѿ^_ub&=LV[(a4(TmJq@p! F ?     package DateTime;
{
  $DateTime::VERSION = '1.04';
}

use 5.008001;

use strict;
use warnings;

{
    my $loaded = 0;

    unless ( $ENV{PERL_DATETIME_PP} ) {
        local $@;
        eval {
            require XSLoader;
            XSLoader::load(
                __PACKAGE__,
                exists $DateTime::{VERSION} && ${ $DateTime::{VERSION} }
                ? ${ $DateTime::{VERSION} }
                : 42
            );

            $DateTime::IsPurePerl = 0;
        };

        die $@ if $@ && $@ !~ /object version|loadable object/;

        $loaded = 1 unless $@;
    }

    if ($loaded) {
        require DateTimePPExtra
            unless defined &DateTime::_normalize_tai_seconds;
    }
    else {
        require DateTimePP;
    }
}

use Carp;
use DateTime::Duration;
use DateTime::Helpers;
use DateTime::Locale 0.41;
use DateTime::TimeZone 1.09;
use Params::Validate 0.76
    qw( validate validate_pos UNDEF SCALAR BOOLEAN HASHREF OBJECT );
use POSIX qw(floor);
use Try::Tiny;

# for some reason, overloading doesn't work unless fallback is listed
# early.
#
# 3rd parameter ( $_[2] ) means the parameters are 'reversed'.
# see: "Calling conventions for binary operations" in overload docs.
#
use overload (
    'fallback' => 1,
    '<=>'      => '_compare_overload',
    'cmp'      => '_string_compare_overload',
    '""'       => '_stringify',
    '-'        => '_subtract_overload',
    '+'        => '_add_overload',
    'eq'       => '_string_equals_overload',
    'ne'       => '_string_not_equals_overload',
);

# Have to load this after overloading is defined, after BEGIN blocks
# or else weird crashes ensue
require DateTime::Infinite;

use constant MAX_NANOSECONDS => 1_000_000_000;    # 1E9 = almost 32 bits

use constant INFINITY     => ( 9**9**9 );
use constant NEG_INFINITY => -1 * ( 9**9**9 );
use constant NAN          => INFINITY - INFINITY;

use constant SECONDS_PER_DAY => 86400;

use constant duration_class => 'DateTime::Duration';

my ( @MonthLengths, @LeapYearMonthLengths );

BEGIN {
    @MonthLengths = ( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );

    @LeapYearMonthLengths = @MonthLengths;
    $LeapYearMonthLengths[1]++;
}

{

    # I'd rather use Class::Data::Inheritable for this, but there's no
    # way to add the module-loading behavior to an accessor it
    # creates, despite what its docs say!
    my $DefaultLocale;

    sub DefaultLocale {
        my $class = shift;

        if (@_) {
            my $lang = shift;

            $DefaultLocale = DateTime::Locale->load($lang);
        }

        return $DefaultLocale;
    }

    # backwards compat
    *DefaultLanguage = \&DefaultLocale;
}
__PACKAGE__->DefaultLocale('en_US');

my $BasicValidate = {
    year => {
        type      => SCALAR,
        callbacks => {
            'is an integer' => sub { $_[0] =~ /^-?\d+$/ }
        },
    },
    month => {
        type      => SCALAR,
        default   => 1,
        callbacks => {
            'an integer between 1 and 12' =>
                sub { $_[0] =~ /^\d+$/ && $_[0] >= 1 && $_[0] <= 12 }
        },
    },
    day => {
        type      => SCALAR,
        default   => 1,
        callbacks => {
            'an integer which is a possible valid day o